计算机论文优秀计算机论文范文精选十篇.docx
- 文档编号:8136784
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:43
- 大小:63.47KB
计算机论文优秀计算机论文范文精选十篇.docx
《计算机论文优秀计算机论文范文精选十篇.docx》由会员分享,可在线阅读,更多相关《计算机论文优秀计算机论文范文精选十篇.docx(43页珍藏版)》请在冰豆网上搜索。
计算机论文优秀计算机论文范文精选十篇
计算机论文:
优秀计算机论文范文精选十篇
本文是一篇计算机论文,计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。
它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步。
(以上内容来自XX百科)今天为大家推荐一篇计算机论文,供大家参考。
优秀计算机论文范文精选篇一
第一章绪论
1.1研究背景与意义
近几年互联网技术高速发展,基于云平台的软件服务变得越来越流行。
传统平台下单机的软件服务在部署至云平台上的过程中不得不面对异构平台之间存在的兼容性问题。
与此同时,传统软件服务在部署到云平台的时候也需要满足模块化,动态性的需求,解决服务的模块化开发以及云环境中的远程模块交互的需求[1]。
近年来,Web应用正在变得越来越复杂和大规模,并且被大范围应用在生产中[2]。
先前的面向对象的应用已经无法满足现在不断发展的要求,这些应用依赖于责任划分和高度协作来完成任务。
面向对象的优势是更少的代码,合理的系统架构和高度的可用性。
但是当对象的数量不断增加时,对象之间的重联系会使得系统变得越来越复杂,而且需要更大的代价去维护系统。
再考虑到类之间的相互依赖,这些应用经常被合并在一个项目中,这样任何对于代码的修改都需要重新部署整个项目才能使代码的修改生效[3]。
例如,一个Web应该经常是通过WAR包来部署,如果要添加一个功能就意味着要重新部署整个WAR包[4]。
现如今,软件架构中更倾向于利用若干相互独立的功能模块来构建一个企业Web应用[5]。
一个模块就是一个业务单元,这些单元隐藏了业务的内部实现然后暴露出接口提供给其他模块调用。
高度内聚提高了模块的可复用程度,同时使得Web应用的测试变得更容易并且节省了软件后期的维护成本。
相互之间依赖的降低使得开发者并行的进行软件开发成为可能,并且专注于自己模块的实现无需关心其他模块的实现和边界问题[6]。
Web应用变得更容易优化和扩展。
模块化的最终目的是满足人们各种各样的需求,适应猛烈的市场竞争以及在各种各样的小规模产品中获得更好的质量和效率。
在Java中,代码的可访问性控制是低级别的,类路径并不关注代码版本——它只返回它找到的第一个版本。
这导致Java应用实际上只是在逻辑上模块化。
OSGI[7]给Java带来的标准的模块化规范,它是一个实现Java模块化Web应用的很好的途径。
.......
1.2国内外研究现状
近年来,随着OSGI的不断发展,针对OSGI的分布式扩展也日渐得到人们的重视。
R-OSGI(RemotingOSGI)[11]。
R-OSGI是一个遵循OSGI规范并且利用服务代理来解决分布式环境中远程模块服务访问的问题。
也就是说客户端和服务器端应用都是通过服务代理来进行服务的调用和查询。
R-OSGI是基于SLP(ServiceLocationProtocol)协议来实现的。
DOSGI(DistributedOSGI)[12]。
这是ApacheCXF的一个子项目。
它使用WSDL来实现服务的注册和发布,并且使用SOAP协议来解决服务远程调用的问题。
Newton[13]。
Newton由OSGI和Jini技术组成。
它使用SCA来进行模型的描述并且通过在OSGI模型中加入Jini来完成远程服务的调用WSBDOM[14]。
WSBDOM通过WebService来扩展OSGI使得OSGI可以访问远程服务,并且提供命名服务来实现服务注册、发布和查询的功能。
综上所述,传统的OSGI分布式扩展方法都是通过WebService[15]或者Jini来实现。
这些方法,并不能很好满足分布式异构环境下的需求,并且在服务调用上都比较复杂。
另一个问题是WebService的服务访问是通过SOAP完成的,SOAP是一个复杂的协议[16],在服务访问的性能问题上存在明显缺陷,而且SOAP在添加了XML信封的描述信息,序列化过程效率低下。
而REST通过简单的URI的方式来提供访问服务的接口,省去了服务调用过程中查询UDDI的多余步骤,这在效率上也是对WebService一个很好的改进,并且现在移动互联网的环境下,越来越多的Web应用提供了REST的支持,主要原因就是通过REST开发的Web服务对于跨终端的访问有较大的优势,它简单易用。
......
第二章相关技术
2.1OSGI及相关技术
OSGI(OpenSourceGatewayInitiative,开放网关协议)实际上是一个由OSGI联盟(OSGIAlliance)发起的以Java为技术平台的动态模块规范[18]。
OSGI联盟是由SunMicrosystems、IBM、Ericsson等公司于1999年3月成立的一个世界性的开放标准化组织,最初的名称为ConnectedAlliance,成立该组织原来主要是为了借助住宅网关使服务提供商给各种家庭智能终端提供服务。
OSGI规范刚开始也只是关注于嵌入式方面的工作,OSGI规范的前三个版本主要覆盖了诸如电视机顶盒、服务网关系统、手机等应用环境的模块化需求。
但是从第四个版本开始,OSGI的关注点逐渐转向了JavaSE和JavaEE领域,并且取得了很大的发展,很快就被作为了Java平台模块化实现的标准。
OSGI技术的快速发展使得OSGI联盟的成员数量不断增加,已经由最开始的几个增长到目前超过一百个,吸引了很多世界著名的IT企业加入到OSGI的阵营中,如Adobe、IBM、Oracle、SAP、RedHat和Siemens等。
它们推出的许多产品都提供了对OSGI技术的支持,更有甚者,它们的产品本身就是基于OSGI技术构建的,例如Oracle的GlassFish和Weblogic,RedHat的JBoss,Eclipse基金会的EclipseIDE、Equinox及之下的众多子项目,Apache基金会的Karaf、Aries、Geronimo、Felix及以下的众多子项目等。
这些IT巨头的踊跃参与,也从侧面证明了OSGI技术有着非常广阔的市场前景。
2012年7月,OSGI联盟发布了最新版的OSGI5.0规范,这次发布的规范包括OSGI核心规范R5.0和OSGI企业级规范R5.0。
在JavaSE领域,Eclipse和NetBean两款集成开发工具的成功已经完全证明了OSGI在桌面领域是能担当重任的。
最近两三年来,OSGI的发展方向主要集中在JavaEE领域,在OSGI企业专家组(EEG)的努力下,OSGI的企业级规范R5.0版相比两年前发布的R4.2版又增加了许多新的内容,OSGI技术在服务端和企业级领域正迅速走向成熟。
.......
2.2RESTful
REST(RepresentationalStateTransfer,表现层状态转移)[20]是一个网络应用架构模型,由RoyFielding在2000年7月在他的博士论文中提出的。
REST可以被看成是基于HTTP和URI协议的设计风格规范。
利用REST架构来设计Web服务可以充分利用HTTP和URI的优点。
基于REST架构的Web服务能够充分利用Web的特点来解决传统Web服务无法解决的问题[21]。
REST从资源的角度来看待整个网络,分布在各地的资源用URI(UniformResourceIdentifier)来标记。
REST是一个架构风格而不是一个协议,它是基于一些普遍的协议比如HTTP,URI,XML和HTML。
REST有五个关键的原则:
1)所有资源都使用URI来标记。
REST把分布在系统中的资源都抽象成一个唯一的全局ID,这样每个资源就能够被标识。
这个原则被应用在Web应用和主机与主机之间的通信。
唯一资源标示符是REST的基本前提。
2)所有资源都被链接在一起。
REST实际上是为分布式超媒体系统而设计的,这里核心概念是超媒体,也就是说链接。
一方面,应用可以通过超链接把所有资源相互链接起来。
另一方面,服务器为客户端提供一系列的链接,这样客户端可以把应用从一个状态转换为另一个状态,这就是状态转移。
因而,在任何环境下,链接都应该用来标记资源。
3)利用标准方法来操作资源。
REST系统中对资源的操作有获取,添加,修改和删除。
这些操作和HTTP协议中的GET,POST,PUT和DELETE相关联。
......
第三章Web应用容器的分析.......15
3.1R-Equinox.....15
3.2R-Container..........17
3.3小结........17
第四章Web应用容器的设计.......19
4.1Restful中间件.....19
4.2R-Equinox.....24
4.3基于R-Equinox的Web应用容器......30
4.4小结........33
第五章Web应用容器的实现与验证.........35
5.1R-Equinox的实现......35
5.2R-Container的实现....36
5.3实验验证方式.....36
5.4基于Web容器的人力资源系统的设计......37
5.5实验环境参数......39
5.6实验内容......39
5.7小结.......48
第五章Web应用容器的实现与验证
本文前面的工作完成了对Equinox的改进,使其可以满足分布式云环境中远程服务调用和服务动态性的需求。
本章中,将利用R-Equinox来对现有的人力资源管理系统进行改造,使其具有模块化和动态性的需求,并且把模块拆分到不同的虚拟主机中来模拟分布式环境下的情况。
5.1R-Equinox的实现
对于获取后服务对象的调用,使用的是Java反射技术,根据HttpRequest请求的方法,来调用相应的方法(Get,Post,Delete,Put)。
Java中,反射是一种强大的工具。
它能够在代码运行期间动态的创建代码,并且立即执行。
利用反射代码可以获取JVM中的信息,灵活的执行动态代码。
总的来说,Java反射机制提供了以下几个能力:
1)在运行中分析类的能力。
2)在代码运行时获取对象的信息。
3)实现数组的操作代码。
4)可以使用Method对象,灵活的调用类的方法。
R-Container的实现主要包括静态资源处理模块和模板引擎。
而模板引擎主要使用FreeMaker来实现,所以主要实现工作集中在静态资源处理模块中。
会根据客户端的请求路径,读取相应文件,并且提取出文件类型,然后根据文件类型设置不同的Content-Type头部,最后返回给客户端,如果找不到对应的静态资源则返回404响应。
在处理请求路径时,需要注意一些安全性的问题,需要过滤掉一些非法路径,比如’../’路径,如果不进行过滤的话,服务器将把服务器中不在’/files’路径下的文件返回给客户端,这对于服务器来说是很危险的。
.......
总结
随着互联网技术的发展,云服务变得越来越普及。
传统软件服务在迁移至云环境过程中遇到了异构平台之间兼容性的问题。
同时,云环境对软件服务提出了模块化,动态性的需求,解决服务的模块化开发以及云环境中的远程模块交互的需求。
现如今多终端设备的出现,也给Web服务提出了跨平台的需求,需要一种跨终端跨平台的API风格来解决这个问题,提供一种易用的服务访问方式。
针对上述问题,本文深入研究了Restful、OSGI(OpenServiceGatewayInitiative,开放网关协议)和模块化开发,对比研究了Restful服务和传统Web服务的优缺点,提出了一个基于Restful和OSGI的Web应用容器,通过改进OSGI框架Equinox内部实现来提供对于远程模块的调用,并且改进了Equinox的服务注册机制。
最后改进了人力资源管理系统进行验证,本文主要工作如下:
1.深入研究Restful和OSGI,对Java模块化开发以及Web应用API的设计有了充分的了解。
分析了OSGI框架Equinox源码理解其内部模块调用以及依赖分析的原理。
2.提出了基于Restful和OSGI框架Equinox的改进的OSGI框架R-Equinox,通过服务代理技术扩展了Equinox服务调用机制实现R-Equinox框架对远程模块调用的支持,通过改进Equinox内部服务注册机制实现了R-Equinox对于服务动态注册和注销的支持,并利用R-Equinox设计了一个Web应用容器R-Container。
为Web容器提供了模块化和Restful的支持,具有灵活,跨平台等特点。
在R-Container中加入了模板引擎FreeMaker和缓存中间件,缓存中间件中利用HTTP缓存头部信息以及LRU算法进行缓存更新,使得R-Container更适合用于如今比较流行的WebApp开发。
3.利用Java反射机制实现了一个Restful中间件,利用配置文件,路由分析和Java反射技术完成了Restful中间件,中间件还负责启动HTTP服务。
通过该中间件可以复用已有的OSGI模块使其可以分布在云环境中被远程调用。
中间件是以OSGI模块的方式编写的,这样有利于其集成在OSGI系统中。
同时Restful中间件可以很好的满足异构环境下软件服务的封装,只需要通过简单的配置就可以完成异构软件服务的Restful化封装。
............
参考文献(略)
优秀计算机论文范文精选篇二
第一章绪论
1.1研究背景与意义
近几年互联网技术的发展越来越快速,传统的生产和生活方式因为这些技术的发展产生了巨大的变化。
新兴的技术使得一些之前必须在同地点同时进行的高交互活动现在可以通过联网的方式在不同地方在线实时完成。
数据复制技术[1]是实时在线协同普遍使用的一种用来降低网络延迟、提高响应度和改善交互体验的技术。
在数据复制技术的支持下,用户可以在各自客户端的数据副本上进行各种操作而不受限于网络延迟,因此这种优势就使得数据一致性维护的问题在数据复制技术使用中是不可避免的。
同时网络技术的发展、Web应用的广泛使用以及多种终端在不同网络环境中进行协同工作,也促使了现如今Web2.0[2]和移动计算为代表的协同应用的流行。
这些应用给实时协同中一致性维护的研究带来了新的技术挑战。
目前解决数据复制技术下的数据一致性维护问题的普遍技术是操作转换技术[3],操作转换技术作为一个一致性维护方法已经在许多组编辑应用中使用。
通过操作转换技术,用户可以在任何时候编辑共享文档的任何部分并且进行任意的文档操作,最重要的是数据复制技术使得用户编辑具有很高的响应速度而不会受到网络延迟的影响,而操作转换算法可以在数据复制技术的情况下维护文档的一致性。
同时,软件开发是一项需要高交互的协同工作,特别大型软件的开发往往需要许多人共同参与相互协作来完成。
如今多人进行软件开发情况下使用的协作工具通常是一些代码版本控制工具,比如SVN和GIT。
SVN[4]全称是Subversion,是Apache组织下的一款开源的版本控制系统[5],与RCS和CVS相比它使用了分支管理系统,致力于取代CVS。
而GIT[6]也是一个免费开源的分布式版本控制系统,可以高效快速的处理各种大大小小的项目,它原来是Linux内核开发者林纳斯托瓦兹为了更好地管理Linux内核开发而设计的[7]。
虽然目前看来GIT和SVN可以帮助开发者完成软件开发过程中协作开发的问题,但是它们还是存在一些问题,当两个版本之前存在冲突时需要开发者手动的去修改然后再合并版本,对于经常会发生冲突的软件开发工作,这种方式是十分低效的。
.......
1.2国内外研究现状
现如今,市面上出现了数不胜数的编程工具和平台,比如VisualStudio,Eclipse,NetBeans和IntelliJIDEA等。
它们具有完善的编程功能,能够很好的提高软件开发的效率并且提供了很好的开发体验,但是这些传统的编程工具都有一个很重要的缺点,就是无法跨平台使用,可能有些编程工具针对不同的系统和不同的平台分别开发了各自的编程工具,但是在跨平台的使用上仍然不够方便,因为传统的客户端需要经过下载和安装才能正常使用,有些工具可能还需要经过繁琐的配置工作,这些过程为跨平台编程工作带来了很多不必要的麻烦。
在跨平台这方面,B/S架构的应用有着先天的优势,无论什么系统都会安装有浏览器,这就解决了传统编程工具使用之前要安装和配置的问题。
不过长久以来传统C/S架构的应用对于B/S架构的应用的优势就是它没有网络的限制可以提供很快的响应速度,而B/S架构的应用受限于网络延迟往往无法提供很好的响应速度,但是随着现在网络设施在迅速的发展,B/S架构的应用与传统应用之间的差距也在不断缩小,人们开始慢慢体会到B/S架构应用带来的方便以及它所具有的的优势,如今众多WebApp的出现就很好的说明了它的优势。
虽然B/S架构的应用不断的发展壮大,但是现在市面上所出现了在线编程平台还是少之又少,开发者还是更多的使用传统的开发工具在进行开发,但是这并不能阻止在线编程平台的发展,现如今比较出色的两款在线编程平台是Cloud9[9]和Codio[10]。
本节将分别对这两款在线编程平台进行分析,借鉴它们的优点,为本文提出的在线协同编程平台奠定基础。
Cloud9IDE是由ajax.org发起的开源项目,它是一个用来测试运行Node.js和JavaScript平台,但也支持Python,Ruby和Apache+PHP的应用程序,例如Wordpress。
Cloud9支持的程序语言有Node.js、HTML5、PHP、Python/Django、RubyonRails、C/C++、StrongLoop。
Cloud9提供了一个比较完善的编程功能,从开发到部署再到测试都可以在上面完成。
更重要的是,Cloud9支持多人实时协同开发,可以在开发过程中邀请其他开发者进行协作,并且内置了简单的聊天功能进行来方便多人之间的交流与合作。
.......
第二章相关理论介绍
2.1操作转换
操作转换是一种用来支持协同计算功能和应用技术,操作转换具有很多协同特性并且已经广泛用户各自应用。
第一个操作转换系统在1989年问世,被用来支持实时协同文档编辑的数据一致性维护工作。
在之后几年中,第一个操作转换系统中的一些错误被检测出来,之后人们提出许多方法来改正这些错误。
在1998年,一个协同编辑专家兴趣小组(SIGCE)成立致力于推动协同编辑和操作转换算法的交流和发展。
操作转换技术能够满足许多协同计算的要求,比如:
1.一致性维护或者并发控制:
在组文档编辑系统中,操作转换技术能够用来维护共享文档的一致性。
组文档编辑系统中,多个用户可以自由地并发地对文档进行操作,系统会迅速地对用户的本地操作做出响应并且以不同的顺序执行远程操作[11]。
2.冲突处理:
操作转换技术能够处理作用于共享文档的多个并发操作之间的冲突,在处理冲突的同时还能保证一致性的维护和操作效果的维护。
3.操作压缩:
操作转换技术能够支持非实时或者移动环境下协同编辑系统中积累的大量操作的压缩工作。
.....
2.2NodeJS
Node.js是构建在Chrome'sJavaScriptruntime上的平台[19],实际上它是对GoogleV8引擎(应用于GoogleChrome浏览器)进行了封装,通过Node.js可以快速构建网络服务。
Node.js有如下优点:
1.Node.js使用事件驱动、异步编程的编程机制,很适合用来进行网络服务开发。
2.Node.js中的IO模式采用非阻塞的方式,非常适合用作依赖其它IO资源的中间层服务。
3.Node.js轻量高效,非常适合用于数据密集型应用和分布式实时应用。
......
第三章协同编程平台的分析.......15
3.1用户管理模块...........15
3.2编程模块..........16
3.3聊天模块..........17
3.4移动设备..........18
3.3小结........18
第四章协同编程平台的设计.......19
4.1ABTS操作转换算法.........19
4.2操作转换控制算法............30
4.3一致性维护架构.......31
4.5用户登录流程...........33
4.6编程模块..........35
4.7数据库.....37
4.8小结.........39
第五章协同编程平台的实现.......41
5.1OTDomJS.........41
5.1.1OTDomJS前端部分.........41
5.1.2OTDomJS后端部分.........43
5.2代码着色..........44
5.3多线程的支持...........44
5.4UserAgent........46
5.5离线存储..........46
5.6服务器推送......48
5.7平台效果.........49
5.9小结.........50
第六章实验验证
本章将对前面实现的基于操作转换的在线实时协同编程平台CoCodePlatform进行实验验证其数据一致性维护的正确性以及对移动设备的兼容性。
根据实验目的,本章实验分为两个部分,第一部分通过几个并发操作实验来验证CoCodePlatform中数据一致性维护的正确性,第二部分通过加入移动设备进行协同编辑来验证CoCodePlatform对移动设备的兼容性。
6.1实验环境参数
硬件参数为:
IntelCore2DuoCPUP7450,主频2.13GHz,内存4GDDR3,Nexus10平板,ipadmini2平板。
软件参数为:
操作系统Windows764位,Android4.2操作系统,IOS8操作系统,数据库MongoDB,NodeJS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机论文 优秀 范文 精选