论文部分内容阅读
随着网络技术的不断发展,Web应用系统发挥着越来越重要的作用,它需要为用户提供持续性的服务,长时间的运行过程中会出现软件老化现象。软件老化会严重影响Web应用系统的性能,中断对用户的服务,造成巨大的经济损失,因此Web应用系统的软件老化现象已成为了亟需解决的问题。解决软件老化的有效方法是软件再生,它是一种预反应式的恢复技术,当软件性能衰退到一定程度时重启整个系统,从而释放系统资源使软件性能得到恢复。软件再生的研究重点主要有两个,一个是再生执行时刻的确定,另一个是再生执行对象的确定。传统的软件再生方法通常采用基于阂值的方法来确定再生执行时刻,即周期性地监控系统性能,当系统性能衰退到一定程度时执行再生,这种方法缺乏对阈值的准确判断会延误再生时机。在传统的软件再生方法中,再生等级通常只包括两个,即系统级或应用程序级,这种方法不适用于结构复杂性高和运行环境复杂性高的Web应用系统,会对Web应用系统的服务质量和可靠性产生很大的影响。针对以上问题,本文根据Web应用系统的复杂性提出了一种基于预测的软件多级再生方法。文中首先分析了Web应用系统的结构复杂性和运行环境复杂性,将Web应用系统划分为四个再生等级,包括操作系统级,中间件级,应用级和组件级,并且详细介绍了基于预测的软件多级再生过程以及再生过程中的关键问题,包括系统再生等级的划分、系统性能指标数据的收集、系统性能衰退趋势的预测以及组件级再生执行策略的制定。然后针对系统性能衰退趋势预测这一关键问题,提出了一种基于决策树的软件老化趋势预测方法,并详细介绍了预测过程,主要包括系统性能指标值的离散化处理、系统性能指标集的简化以及预测模型的建立。最后针对组件级再生执行策略制定这一关键问题,提出了一种基于RBF神经网络的组件级再生执行策略,该策略的关键是根据组件间的耦合关系确定再生相关性,根据再生相关性建立组件再生群,使用RBF神经网络按照优先级评价指标求出组件再生群的再生优先级从而建立组件再生链。为了验证基于预测的软件多级再生方法的有效性,本文在最后进行了仿真实验与实例分析。实验向Web应用系统中注入错误来模拟软件老化以及Web应用系统的运行环境,然后通过性能监控工具收集性能指标数据,接着利用决策树算法建立软件老化趋势预测模型,预测系统性能衰退趋势,最后利用RBF神经网络算法建立组件再生链,执行再生。实验结果表明,本文提出的软件老化趋势预测方法的预测准确率高,可以为再生执行效果的有效性提供保证;本文提出的组件级再生执行策略有效,可以降低再生代价,提高系统的可用性及可靠性。