资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
CHENGDU UNIVERSITY关于梦境的APP技术实现方案WEB端指导教师:张修军队名:微积分Calculus团队队员:魏裔龙 刘海文 孙天松 刘刚 纪阳 徐凯平时间:2021-03-26目录1 .WEB端技术31.1 WEB端技术路线31.1.1 MVC 模式3架构41.2 WEB端实现方案7通信协议7数据处理8数据调用根本过程92. 数据库 1.0数据库技术10数据库技术路线102.2 数据库实现方案 1.12.2.1 数据库的连接112.2.2 解决数据量大的问题122.2.3 备份与恢复133. 采用技术 14 PHP的特性14优势14数据库151 .WEB端技术1.1 WEB端技术路线1.1.1 MVC 模式WEB端主体框架采用MVC的设计模式,通过视图、控制器、模型的别离 减少了代码的耦合度,由于MVC模式的三个模块相互独立,改变其中一个不 会影响其他两个,所以依据这种设计思想能构造良好的少互扰性的构件。图3-1 MVC模型控制謝輕用于控制应用程序的淹程,控制器起不同层面间的组织彳乍用 它处理事件m乍出响应m通过DAO惟式r将底层数据库封装r对夕槌供接口 r室现业务 逻辑与数据库的分离r减少代码同揺台r提高可曩用率口视囹模型:该部分模空主要通过I曲恭匸9第合血2佢烷成页面采用最新的 Html5和Cs田特性设计以筒洁为首要目标、以提育用户体验为最 终目的r通过Ai己煜术卖时展示眼务器运行状况图3-2 MVC模式Web 和手 TO義示层Struts-M VCSession 管理业务服务类n持久层Struts Action, ActionForm.JSP Struts*Config Kml 等Hibernate 数据 源/连接池Queryi言支持 和其他Hibernate 服务图3-3 效劳端系统架构图WEB 应用系统大多采用 J2EEJava 2 Platform Enterprise Edition的多 层框架构造模型,WEB应用框架技术是一种针对某一特定应用领域的面向对象 软件复用技术由特定应用领域的软件体系构造所决定的软件构架。我们将使用 J2EE三个比拟受欢送的开源框架SSH来实现web功能。SSH为struts+spring + hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。1) Struts 框架Struts框架是基于MVCModel-View-Controller,模型视图控制器模 式的框架。采用Java语言编写,它继承了 MVC设计模式的特性,对应用系统 的用户界面显示和数据的后端业务逻辑代码进展了抽象,并且整合了 Servlet 与JSP在WEB应用系统开发上的优势。在Struts框架中,模型由实现业务逻 辑的JavaBean组件构成,控制器由Action以及Struts-config.xml配置文件 来实现,视图由一组JSP文件构成。2) Spring 框架Spring框架由一个容器、一个配置和组织组件的框架,一组内置的为事务、持久化和WEB用户接口提供的效劳组成,是一个轻量的控制反转Inversion of Control,IoC和面向方面Aspect-orientedProgramming,AOP的容器框架:轻量:完整的Spring框架可在一个大小1 MB多的JAR文件里发布,并且Spring所需的处理开销也很小。控制反转:Spring通过一种称作控制反转IoC的技术促进了松耦合。控制反转就是指由容器通过配置文件来管理业务对象之间的依赖关系,而非传 统方式中由代码方式来直接操控。控制反转的实质,是控制管理权由程序代码 转到了外部容器,控制权的转变即是所谓的反转。面向方面:Spring包含对面向方面编程的丰富支持,允许通过别离应用的 业务逻辑与系统效劳进展内聚性的开发。应用对象只做它们应该做的,完成业 务逻辑,并不负责其它的系统关注点。容器:Spring包含管理应用对象的配置和生命周期,可以配置每个bean 如何被创立。框架:Spring中,应用对象被声明式地组合,典型地是在一个XML文件 里,Spring提供了很多根底功能事务管理、持久性框架集成等等,并留有 应用逻辑开发。3) Hibernate 框架Hibernate是一种Java语言环境下的对象/关系映射Object-Relational ,OR解决方案。它为面向对象的实体模型到关系型数据库之间 的映射,提供了一个极为方便的开源框架。Hibernate使用数据库和配置文件来为应用程序提供持久化持久化是指 和数据库相关的各种操作效劳。Hibernate配置文件有两种格式:一种是 XML格式的文件Hibernate.cfg.xml,一种是Java属性文件,采用键二值的 形式。在应用系统的开发中,Hibernate配置文件中包含了 JDBC连接数据库的 驱动信息。在应用程序访问数据库时,首先读取Hibernate配置文件,再通过 配置文件找到持久化类的XML映射文件,根据该映射文件得到相应的持久化 类,从而可以对类进展操作。也就是将持久化对象中的属性与数据库表中的字 段对应起来。通过持久化对象完成对数据库表中的数据的增加、修改、查询和 删除操作。三大框架的配合使用让团队的开发效率快且稳定,由于它的集成性好,让 整个工程构造清晰,性能优良。1.2 WEB端实现方案我们用 协议实现客户端与效劳端的连接。 协议是一种详细规定了 浏览器和万维网效劳器之间互相通信的规那么,通过因特网传送万维网文档的 数据传送协议,由于其简捷、快速的方式,适用于分布式超媒体信息系 统。图3-4 协议图3-5 XMPP协议XMPP是一种基于XML的协议,它继承了在XML环境中灵活的开展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以 通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布 系统和基于地址的效劳等应用程序。而且XMPP包含了针对效劳器端的软件协 议,使之能与另一个进展通话,这使得开发者更容易建立客户用应用程序或给 一个配好系统添加功能。由于 协议时需要客户端发送请求,效劳端才会发送数据,但我们系统 中有如聊天系统等需要实施的功能使用 协议就不是很适宜,因此我们还使 用了 XMPP协议配合HTML协议完成聊天功能以及系统活动、运动咨询和定 点广告的推送功能。11. 字符数据处理图3-6 Json的数据构造JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习 惯包括C, C+, C#, Java, JavaScript, Perl, Python等。这些特性使JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。1Jquery.FormffiAjaxW求猖到数据 L炬激活回调函数 动态展现咖Servlets用封装的 业务逻辑得到请求 的数据f返回给 渕览黑业务逻辛昔通过调用 50实现对埶据 库的操作将结果 返回给蘇D血to图 3-7 数据调用根本过程2. 数据库2.1数据库技术据库技术路线图4-1 JDBC架构JDBCJava Data Base Connectivity , java 数据库连接是一种用于执行 SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java 语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的 API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序。据库实现方案.1 数据库的连接URL 的字符串。 DriverManager 类即所谓的 JDBC 管理层将尝试找到 可与那个 URL 所代表的数据库进展连接的驱动程序。 DriverManager 类 存有已注册的 Driver 类的清单。当调用方法 getConnection 时,它将检 查清单中的每个驱动程序,直到找到可与 URL 中指定的数据库进展连接的 驱动程序为止。Driver的方法connect使用这个URL来建立实际的连 接。 用户可绕过 JDBC 管理层直接调用 Driver 方法。这在以下特殊情况 下将很有用:当两个驱动器可同时连接到数据库中,而用户需要明确地选 用其中特定的驱动器。但一般情况下,让 DriverManager 类处理翻开连 接这种事将更为简单。2.2.2 解决数据量大的问题图 4-3 数据库数据量与性能的关系图(euu】2UU匚黑匚益罷随着用户的增加,每个人上传的图片等的数据量将会在效劳器越积越 多,导致性能下降。 但是每个人的资料信息以及上传的图片又不能删除, 这 给效劳器带来了很大的压力。为了处理多用户量的问题我们在后期决定使 用分布式多效劳器分工合作原理,解决大数据量带来的压力。图 4-4 效劳器分布式实现2.2.3 备份与恢复数掘FT数吃斥数耙阡数帕斥创逢1缶扫23IIIIIt3I逹解工乍丢先凤险图4-5 数据库备份图备份策略一:直接拷贝数据库文件直接拷贝数据文件最为直接、快速、方便,但缺点是根本上不能实现增量备份。为了保证数据的一致性,需要在备份文件前,执行以下sql语句:flush tables with read lock;也就是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过 程中不会有新的数据写入。这种方法备份出来的数据恢复也很简单,直接拷贝 回原来的数据库目录下即可。备份策略二:使用mysqlhotcopy备份数据库mysqlhotcopy是一个perl程序,最初由tim bunce编写。它使用 lock tables, flush tables和cp或scp来快速备份数据库。它是备份数据 库或单个表的最快的途径,但它只能运行在数据库文件包括数据表定义文 件、数据文件、索引文件所在的机器上,并且mysqlhotcopy只能用于备份myisam 表。本备份策略适合于小型数据库的备份,数据量不大,可以采用mysqlhotcopy程序每天进展一次完全备份。3. 采用技术PHP的特性1. PHP独特的语法混合了 C、Java、Perl以及PHP自创新的语法。2. PHP可以比CGI或者Perl更快速的执行动态网页动态页面方面, 与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标 记的CGI要高许多;PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。3. PHP支持几乎所有流行的数据库以及操作系统4. 最重要的是PHP可以用C、C+进展程序的扩展!优势1开放源代码所有的PHP源代码事实上都可以得到。2免费性和其它技术相比,PHP本身免费且是开源代码。3快捷性程序开发快,运行快,技术本身学习快。嵌入于巴ML:因为php可以被嵌入于HTML语言,它相对于其他语言。编辑简
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号