论文部分内容阅读
随着软件开发的发展,系统结构的日益庞大,漏洞修复和新功能的扩充将贯穿于整个软件生命周期,软件升级作为软件维护的重要支撑起到了不可或缺的作用。现在越来越多的软件具备了自动升级功能,在一定程度上增加了软件的易用性和友好度。然而,随着软件规模增大,软件开发趋于模块化,软件工程师希望专注于软件开发的核心功能,节省开发系统升级模块时间和人力资源,减少经济开支,并方便用户使用新版本,这一切对软件升级提出了更高的要求,希望拥有这样一套可复用的独立升级系统,能够满足多种不同的升级需求。这种升级要求催生了软件智能升级系统。云计算是随着互联网技术发展而新兴的一种计算模式,是目前国内网络研究的技术热点。云计算通过网络将离散的计算资源、存储资源以及其上的软件整合起来进行统一管理和分配,并以服务的方式提供给用户使用。云计算将任务处理的重心由分散的客户端转移到了网络,极大地简化了客户端软件的实施,方便对软件进行集中管理和维护。云计算具有强大的资源管理功能,能够按需为应用动态分配资源,极大地提高了资源的利用率。
本文通过对现阶段软件升级系统的模式和主要实现方法的研究,对云计算理论、服务模式、技术实现进行深入探讨,并结合了ACE自适应通信环境中的事件处理机制、跨平台运行特性以及相关组件的设计模式,设计了一款基于云平台的客户端软件智能升级系统。主要工作包括:⑴目前客户端软件升级系统主要以C/S模式为主,本文对这一模式进行修改,将升级系统的服务器端由原来的单个服务器或服务器集群移植到云计算平台上,使服务器端具有更高的资源利用率和更强的任务处理能力,能够更加高效、无间断并跨平台地运行。⑵现阶段客户端软件升级系统的全部升级任务由客户端升级程序完成。由于本文设计的升级系统其升级后台构建在云平台上,具有强大的计算能力和存储能力,因此本文对此进行了改进,将升级查询和触发方面的分析性工作转移到服务器端,降低了客户端升级程序的部署复杂度和负担,方便系统维护。⑶某些大型软件需要系统能够随时保持在最新状态,这要求升级系统能够动态升级,因此,本文中升级系统的框架构建在ACE之上,充分利用ACE事件多路分离机制和反应器模式,实时地对更新进行监控,从而实现动态升级。本文对升级系统实现中所使用的关键技术进行了分析,实现了整个智能升级系统,并通过实验验证了它的可行性。