毕业设计-计算机专业论文_第1页
毕业设计-计算机专业论文_第2页
毕业设计-计算机专业论文_第3页
毕业设计-计算机专业论文_第4页
毕业设计-计算机专业论文_第5页
已阅读5页,还剩57页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术学院 毕业设计 (论文 ) 论文题目 基于 小型框架 设计与实现 指导教师 x 职 称 x 学生姓名 x 学 号 x 专 业 x 班 级 x 系 主 任 x 院 长 x 起止时间 2012 年 11 月 25 日至 2013 年 6 月 6 日 2013 年 6 月 6 日 目录 第一章 绪论 . .1 绍 . 1 1.2 台的优势领域 . 1 1.3 台的非擅长领域 . 4 发框架的原因 . 6 发框架存在的问题 . 6 章小结 . 7 第二章 开发工具及技术综述 . 8 用工具简介 . 8 文本编辑器 . 8 . 10 级语言特性 . 13 用平台简介 . 17 . 17 介 . 17 源协议介绍 . 18 . 18 . 18 . 18 . 19 2. . 19 发环境搭建 . 19 章小结 . 21 第三章 框架的设计与实 现 . 22 架概述 . 22 发环境 . 22 件环境 . 22 件环境 . 22 架基础示意图 . 23 务端监听示意图 . 24 . 24 . 26 . 28 . 29 章小结 . 31 第四章 核心功能使用 . 32 载 . 32 件目录介绍 . 32 明及使用说明 . 33 . 33 . 35 . 35 . 36 . 36 务处理对象 . 38 求横向切面拦截器 . 39 态方法调用 . 39 性注入 . 40 章小结 . 42 第五章 实例介绍 . 43 取框架 . 43 写业务逻辑 . 43 置服务 器监听端口 . 43 现 . 44 户登录功能 . 46 章小结 . 50 第六 章 不足与发展 . 51 架的不足 . 51 架的发展 . 53 章小结 . 54 参考文献 . 55 谢 辞 . 56 i 基于 小型框架设计与实现 摘要: 一种新的软件开发平台,它不仅是一门独立的语言,也与是语言也是平台。 得 作系统、网络通信等功能。 行在 擎上,采用 异步 I/O 与事件驱动的架构设计和单线程模型,并且内置了 要用于构建高性能,高并发,高扩展的服务器。 于底层的封装比较低,如一般的请求数据等都需要分析 有提供如 既是优点也是缺点,优点在于为开发者提供了非常大的自由性,可以利用底层接口完成各种各样的功能,缺点在于直接使用底层接口做系统应用开发,效率非常低下,因为需要分析和处理各种数据。 内还比较缺少使用 应用开发的框架,如果直接使用 层 行应用开发有较大的困难,基于此点,本论文开发设计一个简单小型的 化 目前 用中,普遍使用了 型,视图,控制器)。如基于 E 的 式等 。借鉴这些其他平台上现有的框架结构和功能,设计开发 架。对请求数据等提供统一简洁的方式,从而较大幅度的提升开发效率。基于对不同平台现有框架分析提取出本框架的功能点。这些功能点包括 路由转发与映射,属性注入, 现等。 关键词: is a a to a as is 8 / O a of is a an a is it a of so to a of is of of of a of is in in is A of to on an be In to of a of a VC to to at a of VC as VC E . of to a to a of of 第 1 页 共 62 页 第一章 绪论 1.1 绍 随着网络技术的发展和网络平台的推广,越来越多的应用是基于网页形式来提供。其中 网页应用技术中不可缺少的一部分。 随网络技术的发展得到了也得到了大幅的提升。越来越多的人使用 于浏览器端具有极高的执行效率,并且兼容多种流浪器,这促使其中一部分人思考是否可以把 够像其他 言一样提供业务逻辑处理。于是不久 的软件开发平台,它的特殊性决定了它不仅可以作为一门开发编程语言,也可以像 语言一样作为一个开发者平台。 浏览器移植到了普通服务器上 ,它运行在 8高速引擎上,实现了操作系统访问、网络通信、文件读写等功能。 目前 用普遍采用 务器, SS 前端展示,以 浏览器 服务器 后台 容器 模式来进行请求应答。该模式下请求通过了一层 或多层转发,使得通信效率较低。而在 ,后台容器 用 C+语言设计把服务器和容器本身融合在一起,采用 浏览器 后台容器 模式进行请求应答,大大提高了通信的效率。不同于其他的语言的线性执行, 分利用了 大程度上降低了 空闲率,同时它异步 I/O 与事件驱动的架构设计和单线程模型对于构建高性能,高并发,高扩展的服务器具有相当大的优势。因此,的开 发平台,需要新的发展。 1.2 台的优势领域 身融合入 务器,这对于组合网站和服务器是非常简单方便的。这是它和其他 言如 不同所在。比如,在使用 行业务系统开发,首先必须搭建一个 务器如 类。然后通过 该 第 2 页 共 62 页 务器的模块加载或 用,将脚本的执行结果反馈显示在用户端。使用 台好处之一在于不用额外搭建 务器, 身融合的 作为开发阶段的调试环境也可以直接作为产品提供给客户使用。除此之外,自带的服务器性能足以满足生产环境的要求。 可以在网络环境下运行也可以非网络的环境下运行,如即时编译终端。 然使用 是它同样可以调用 + 的函数库,完成对性能要求非常高的功能的实现。 事件驱动与异步式 I/ 大的特点就是采用异步式 I/O 与事件驱动的架构设计。传统架构对于高并发的解决方案是采用多线程模型,也就是一个系统线程处理一个业务逻辑,通过系统线 程切方式弥补同步式 I/O 的时间开销。 用的是单线程模型通过异步式的请求方式处理 I/少了切换上下文次数所造成的开销。 断地循环执行事件然后等待下一个事件的触发。异步式 I/O 请求完成后将被推送到事件队列,等待主进程进行处理。基于事件的异步处理机制的 于所有的网络通信、磁盘读写、数据库操作等都以异步请求的方式实现,最后将执行得到的结果交给事件循环进行处理。 下图 图 1.1 程在进行事件处理时具有时间的唯一性,它不会同时处理多个事件请求,在处理完一个事件后就进程就进入下一个事件循环,检查并继续处理后面的 第 3 页 共 62 页 事件。这样做优点在于能够集中 内存资源快速处理某个事件,并且尽量让耗费资源的 I/O 操作并行执行。在应对恶意访问方面, 增加事件堆栈中的请求请求树立,而不会马上给出请求应答,这样有效的减少了线程资源的开销,很大程度上提高了 用的健壮性和安全性。 由于 用事件驱动与异步式 I/O 代替多线程,较大幅度的提升性能。此外 了使用 8 作为 还使用了高效的 I/O。 构的示意图如下 图 1计 开发者从 中进一步封装出来出 , 用了 入输出完成端口)机制,实现高性能,而对于 S X 等操作系统,通过使用 封装来利用 以上简单介绍了 么为网络而生的 (1)大规模的社交网络 用,如微博, (2)具有复杂逻辑的网站;如一般的 统。 (3)务器;如游戏引擎。 (6)接字应用程序,即时通信 系统; 第 4 页 共 62 页 (7)客户端 译器。 由于 有以上优点,所以对于 用来说 优秀的开发平台。 1.3 台的非擅长领域 一个优秀的平台能够吸引大量开发者的关注。 至于开发者愿意用 做应用开发。但是 其他任何平台一样,都存在优点和缺点,如果非要使用它的缺点来完成业务需求,那么同样会遇到困难和僵局。尽管它是高性能的,新颖的,但也不得不写出难以理解的逻辑代码。与大多数新语言平台本质 一样, 是旧瓶装新酒。只不过概念比较新潮 ,它不能完成所有的业务逻辑,或者说它不是万能的。前一节提到 平台优点,本节则简要介绍下 ( 1)多任务的单用户应用 前面介绍的都是服务器端编程,设计时的情况是用户数量很多。但如果面对的是单用户,譬如本地的命令行工具或者图形界面,那么就不存在所谓的大量并发请求。于是另一个问题出现了,尽管是单用户,却不一定是执行单任务。例如在给用户提供界面的时候后台需要进行某个计算,为了使用户界面不出现阻塞状态,不得不开启多线程或多 进程。而到目前为止 线程或进程之间的通信还不方便,因为它根本没有资源锁,所以号称不会 死锁。多进程的 往是在执行同一任务,通过多进程利用多处理器的资源,但遇到多进程相互协作时, 短板就出现了。 ( 2)编码与国际化 支持完整的 符编码,很多字符无法用 示。实际上来说这不是 身造成的,问题而是出在 准上。目前持的是双字节的 两个字节来表示一个 符,这样能表示出来的字符数是 65536。明显,汉字就不止这个数目。因此无法表示某些生僻汉字,以及一些较为罕见语言的文字。这是设计的问题,源于当时设计者的主观判断。最初的 计者认为 65536 个字符足以表示全世界所有的文字,因 第 5 页 共 62 页 此那个时候兼容 系统或平台,如 后来都遇到这个问题。随后 识到用 2 个字节表示所有字符是远远不够的,随后推出了 码,即用 4 个字节来表示一个 符。原有的定长编码的统为了变长的 码进行了升级处理,所以只有它向下兼容 码采用定长的双字节编码处理 内的字符,对于以外的部分则使用多字节的变长编码。这样在通常情况下它的编码是定长的,有利于提高运算效率并且且兼容了 点是它本质还是变长编码,在应用程序中处理起来还是存在不便之处。 码 而不是 此对于处理使用 的字符无能为力。这个缺陷存在于现有的所有 擎。包括 8 引擎在内。因此你无法处理罕见的字符的时候,想用 现一个多语言的字典工具是不可能做到的,除非放弃使用 有的 据类型,将所有的字符当作二进制的 据来处理。 ( 3)复杂逻辑的事务 控制流是非线性的,它由一个个事件响应组成,但人的思维却是线性的,当试图转换思维来适应语言或编译器时,就得付出性能或者编码方面的代价。举个例子,如要实现以下逻辑:从银行取钱,用钱去购买一个虚拟商品,买完以后加入库存数据库,这中间的任何一步都 会涉及数十次甚至更多的的 I/O 操作,而且任何一次操作失败以后都需要进行回滚操作。这个过程是复杂的线性的,假如拆分为非线性的逻辑,那么其复杂程度将提升几个数量级。 善于处理那些逻辑简单但访问频繁的任务,而不适合完成逻辑十分复杂的工作。 ( 4)需要大量计算的程序 在 支持多线程。 实际上多线程通过较大的开销也能达到同样的吞吐量,而且不必为多核环境进行特殊的配置。对 比而言, 单线程性的特性,如果需要充分利用多核资源则需要使用多进程的方法才能达到 想情况下的单线程执行过程会将 100%利用 心资源,所有请求须等待当前请求处理完毕后才进入事件循环才能响应。如果应用是需要进行大量的 第 6 页 共 62 页 计算除非人为地分开计算,否则将会有相当大的请求响应延迟。不过在实际使用中的 务器中,很少需要大量计算的部分很少,即使存在,那么不应该被实现为即时的响应。一般的处理办法是后台处理完成后给前台客户端异同处理完成的通知。 发框架的原因 内还缺少使用 提供底层的 口。缺少丰富的上层应用接口。直接使用底层接口做开发需要分析大量的 于开发效率有着严重的制约。基于此点,本论文开发设计一个简单小型的 架,简化 使用难度的同时提高开发效率。 目前 用中,普遍使用了 型,视图,控制器)。如基于 E 的 式等 。借鉴 这些其他平台上现有的框架结构和功能,设计开发 架。请求数据等提供统一简洁的方式,从而较大幅度的提升开发效率。基于对不同平台现有框架分析提取出本框架的功能点。这些功能点包括 路由转发与映射,属性注入, 现等。 发框架存在的问题 小型的 架意味着该框架应具有易用性和高效性,能够很大程度上满足大多数业务的逻辑。在现有的已存在的 经能够满足大多数业务逻辑 ,但是因为是 国外开发,其文档资料大多数是英文编写,需要高昂的学习成本,而且大多数功能对于一般的应用是冗余的,加之配置复杂,遇到问题无法得到有效快速的解决途径,贸然采用存在大的风险。而自己开发,虽然时间周期长但因为其可重用性,还是具有较高的价值。由于平台的新颖性,多数 处在变化之中,因此设计开发该框架主要存在以下一些问题。 (1)处于高速发展阶段, 稳定,处在不断更新变化中,如果采用某个固定版本,则可能存在 者无法使用新特性。如果跟随版本变化则框架的稳定性无法保证。 第 7 页 共 62 页 (2)要表现在两个方面 ,一是新平台国内研究使用的人暂时不多,遇到问题无法立马得到咨询有效的解决 ;二是缺乏中文资料,有关资料只能去 题的交流只能在 国外论坛但是是英文环境,交流存在一定的困难。 (3)些常用工具无法安装。缺乏良好的桌面开发环境,对于类 统的使用,如 发行版 生疏性,无法得心应手。 (4)缺乏有效的开发工具。如今不管哪个系统平台下, 发 者难以使用,缺乏有效的调试工具,编码效率得不到提高。 ( 5)由于 于事件驱动和异步 I/O,对于业务逻辑的处理往往不同于一般线性编程,难以打破线性编程的思维僵局。 ( 6) 装性非常低,对于一些常用操作,如 都需要根据 度较大。 ( 7)目前没有任何一个官方文档规定 了保持框架代码的可读性和可维护性,需要定制某一标准,方便今后的维护。 以上七点主要是分析了 台存在 的不足和一些设计实现的困难之处。章小结 该章简单的介绍了 台架构,使用 局限性和其优点以及框架进行设计与开发存在的难点。 第 8 页 共 62 页 第二章 开发工具及技术综述 本章主要是介绍框架设计与实现过程中主要使用到的设计工具、开发工具、开发平台以及 具有 台主要是 此以外,还将介绍在 如何搭建 用工具简介 文本编辑器 介 展出来的一个文本编辑器。具有代码补全、终端编译及错误跳转等提供编程效率的功能。 程序员中被广泛使用,与 列成为类 统用户最受欢迎的编辑器。 设计理念 括命令组合和模式间的组合。命令组合 : 如普通模式命令 除当前行, 表删除下一行 ,因为是第一个 d含义是删除 ,j键代表移动到下一行 ,组合后 除当前行和下一行。类似的命令 组合非常丰富,只要拥有足够的创造力就可以灵活的组合各种命令进行使用,这样就能更加高效的进行文本编辑。 对程序语言代码编写者。写代码的时候手需要时刻保持在键盘上 ,随机定位代码、随机删除代码、移动代码、插入代码的操作大大多于阅读、翻页操作,中间卡顿一下效率就大大降低了 ;但对普通用户而言 ,顺序写、设置字体格式、翻页读多于随机写删除操作 , 且每个动作之间本身就有很多的停顿 ,用其他 辑器(等 )效率反而比 使用 主要功能: 第 9 页 共 62 页 兼容 成多个编辑视图 6. 文本编辑历史记忆功能 三种编辑模式 别是常规模式,插入模式,命令模式,如下图 图 常规模式进入命令模式: 在常规模式下输入“ :” . 常规模式进入插入模式: a 光标后插入文本 A 当前行插入文本 i 光标前插入文本 I 当前行 前插入文本 o 当前行的下边插入新行 第 10 页 共 62 页 s 删除光标所在处字符,并进入插入模式 S 删除光标所在的行,并进入插入模式 插入模式进入常规模式:按下 即可。其中插入模式和命令模式之间无法直接转换。 优点总结 相对于传统的 动快

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论