论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

基于网络的虚拟实验平台--动态升级模块(论文+程序)

    应用层包括SMTP, FTP, HTTP, NFS, NIS, LPD, Telnet f II RemoteLogin应用层包括一些服务,这些服务在OSI中由独立的三层实现。这些服务是和端户相关的认证、数据处理以及压缩。包括电子邮件、浏览器、Telnet以及其他的Internet应用。

copyright paper51.com

 2.传输层:

内容来自www.paper51.com

    传输层包括TCP ( Transport Control Protocol,传输控制协议)和UDP (User Datagram Protocol,用户数据报协议)。UDP几乎不进行检查,而TCP提供传输保证。与OSI中传输层不一样,TCP不保证报文的准确传输。TCP为两台主机提供高可靠性的数据通信。而另一方面,UDP则为应用层提供一种非常简单的服务,它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。

http://www.paper51.com

 3.网络层: http://www.paper51.com

    TCP/IP协议族中,网络层由以下协议组成:ICMP (Internet r联网托制报文协议)、IP(网际协议)、IGMP (Internet组管理协议)、RIP, OSPF和月j -t几路由的EGPo网络层处理报文的路由管理。

paper51.com

 4.链路层:

内容来自www.paper51.com

链路层包括ARP和RARP,负责报文传输;链路层管理网络的连接并提供网络上的报文输入/输出。

paper51.com

3.3    C/S结构工作过程

内容来自www.paper51.com

C/S结构,全称Client/Server(客户端/服务器)结构,通过将任务合理分配到Client 端和Server 端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势,在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(client/server),即客户向服务器提出请求,服务器接收到请求后,提供相应的服务。客户机/服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。其次,网之间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。 内容来自论文无忧网 www.paper51.com

客户机/服务器模式在操作过程中采取的是主动请求的方式。首先服务器方要先启动,并根据请求提供相应的服务:打开一个通信通道并告知本地主机,它愿意在某一地址和端口上接收客户请求。等待客户请求到达该端口。接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一个新的进程(或线程)来处理这个客户请求。新进程(或线程) 处理此客户请求,并不需要对其它请求做出应答。服务完成后,关闭此新进程与客户的通信链路,并终止。返回第二步,等待另一客户请求。关闭服务器:客户方:打开一个通信通道,并连接到服务器所在主机的特定端口。向服务器发服务请求报文,等待并接收应答;继续提出请求。请求结束后关闭通信通道并终止。 内容来自www.paper51.com

3.4    C/S结软件自动更新的背景

内容来自论文无忧网 www.paper51.com

自动升级软件是一个独立的应用程序(单独的可执行文件例如MyUpdate.exe),供软件开发者编写代码,以外部程序的方式运行,例如调用ShellExecute这个API函数,或者在各种编程语言的中采用不同的方法来运行,如C语言可以用system函数、Visual Basic语言则可以用Shell函数,其他语言也有类似的方法。 内容来自www.paper51.com

自动升级软件的基本功能是对软件进行升级,首先需要能检测到软件最新版本的信息。软件开发者将软件最新版本的信息保存为一定格式的文件,放置到网络上固定的地址,自动升级软件访问该地址下载文件到本地,解析文件内容以进行升级。文件格式可以是任意的,但考虑到通用性,宜采用容易阅读、容易解析的文件格式。下载文件时采用的通信协议也可以是任意的,但最好也是采用通用的成熟的协议,例如HTTP、FTP协议等,充分利用已有的技术,减少开发新协议的工作量。比如HTTP协议,用WinInet系列API函数来实现文件的下载。自动升级软件每运行一次,便到指定的网址下载软件最新版本的信息文件,并以此信息文件内容来获取软件最新版本的信息。 paper51.com

下载到软件最新版本的信息文件(以下称之为配置文件)后,自动升级软件将解析该文件,根据文件内容来完成软件升级。配置文件必须满足一定的格式,我是通过读取[UPDATE]区段的AppName的值来判断该文件格式是否正确的,如果读到的是空内容则认为文件的格式不正确并停止升级。配置文件中包含软件最新的版本号(Version),用以和本地软件版本号相比较。本地软件版本号以命令行参数方式传入,例如:MyUpdate.exe /CurrentVersion=1.1。在配置文件中,可以定义一系列的操作命令,包括下载、复制、移动、删除文件、运行外部程序等,最终完成软件的升级。一次升级需要更新的文件往往不止一个,配置文件中指定了要下载的文件总数(FileCount),以及各个文件的文件名(Name)、下载地址(URL)、文件大小(Size)和要更新到的路径(DestPath)。

http://www.paper51.com

在升级替换文件时,如果可执行文件或动态链接库等已驻留内存,由于操作系统的保护,文件替换是不能成功的,此时需要结束程序的运行再替换文件,也就是自动升级程序要通知正在运行的主程序:升级已经就绪、需要暂时结束程序来完成升级。通过在应用进程间发送消息的方法来实现升级完毕消息的传递,接收消息的目标窗口句柄、窗口标题、消息内容以命令行参数传入。

内容来自www.paper51.com

自动升级软件可以以带进度显示的窗口方式运行,显示当前下载的文件、下载速度、完成比例和总升级进度等,让用户对升级过程有一个明确的了解。为了保持软件的友好性,软件开发者在调度自动升级程序时,也就是设计主程序时,应当允许用户对软件更新行为进行控制,可设置是否检测更新以及检测更新的时间周期。除非必须,应保留用户不对软件进行升级的选择权,升级只是一种建议,最好是能提示新版本软件优于以往版本的特性,让用户自己决定是否进行升级。 copyright paper51.com

不同的软件,其自动升级程序应当可以分别独立地运行,互不干扰,但是同一软件的自动升级程序应当只能运行一个实例,否则可能会发生文件读写冲突等问题。启动自动升级软件时,以命令行参数方式传入要升级的软件名,例如MyUpdate.exe /AppName=MyProgram /CurrentVersion=1.1,自动升级软件以此软件名创建互斥量,避免同时运行同一软件的多个自动升级程序实例。 http://www.paper51.com

4               虚拟实验平台动态升级模块的设计与实现 http://www.paper51.com

------分隔线----------------------------
联系方式