论文部分内容阅读
长时间运行的Web应用系统存在软件老化现象。软件老化会造成严重的经济损失、对系统可靠性影响大,如何解决Web应用系统软件老化问题已成为当前研究的热点。为了降低软件老化的影响,研究人员提出了软件再生技术。软件再生技术主要通过中止软件的运行、清理软件的内部状态并重启软件,在严重故障发生前使得软件恢复到初始状态。传统软件再生策略的研究重点都集中于再生实施时刻的选择,仅包括1-2个再生等级,再生对象通常是操作系统或应用程序。然而,对于Web服务器这种多层次、松耦合的架构,传统的软件再生策略存在再生粒度粗、再生代价高且对业务影响大等问题。针对上述问题,本文提出一种面向软件老化的Web应用系统分级再生策略。文中首先将Web应用系统划分为操作系统级、中间件级、应用级和组件级四个再生等级,并分析了实施各级再生的优劣。接着提出了软件分级再生系统框架,并详细阐述了系统各功能模块的工作流程。然后给出了软件老化的评估方法,依据应用系统中多种资源的损耗情况来度量系统的老化状态,并确定系统是否发生软件老化、需要实施软件再生。之后提出了基于多属性决策的再生等级选择算法,在确定服务器老化、需要实施再生后,依据系统状态和负载量等因素选择合适的再生级别和再生对象并对其实施再生。最后,本文提出一种组件再生次序生成方法,当实施组件级再生时,根据组件的耦合关系确定老化组件的再生关联组件,该组件的所有再生关联组件构成以一个组件集合,集合内的组件再生次序相同,然后采用BP网络确定各组件集合的再生优先权,按优先权排序得到各组件集合的再生次序,最终得到各组件的再生次序。文中通过实验证明面向软件老化的Web应用系统分级再生策略能在保证软件再生有效性的前提下,进一步降低软件再生带来的经济损失,同时提高系统的可靠性。