论文部分内容阅读
随着Web技术的发展完善和用户需求的增加,基于Web技术开发的软件数量日趋增多,结构也日趋复杂,在给用户带来便利的同时也使软件在运行过程中的维护难度变得越来越大,未知的遗留在软件中的缺陷会随着它的长期持续运行造成数据更新不及时、内存泄露、文件锁未释放、存储空间碎片和舍入误差累积等情况的出现,使软件性能降低,严重时会使软件失效。这些软件老化带来的问题降低了系统的可靠性。因此,为了尽可能的减少软件老化带来的损失,需要对基于Web技术开发的软件的老化趋势进行研究,及时采取措施改善软件性能。本文通过对已有软件老化预测方法的分析并结合软件的运行特点,对软件老化的预测方法进行了选取,确定使用时间序列分析作为基本的预测方法。时间序列分析方法将软件运行时采集的性能参数的时间序列作为研究对象,使用数理方法客观的分析未来的变化趋势。本文重点研究了时间序列分析方法并对存在的问题进行了分析和改进。针对整个预测过程中定阶方法选定后不再改变的问题,在定阶阶段采用自适应的方法对定阶方法进行选取。针对时间序列单步预测比较准确而多步预测准确度低的问题,采用马尔科夫模型对时间序列预测结果进行修正,也就是通过马尔科夫模型对时间序列分析预测结果的残差序列建模,确定预测时刻所处的状态区间,对时间序列预测结果进行修正。为了证明改进后的预测模型能够有效地对软件老化趋势进行预测,设计实验进行验证。本文根据Web技术开发的软件特点对系统性能参数进行了选取,确定使用“已用内存”、“平均负载”和“响应时间”三个参数用于软件老化趋势预测,在基于Web技术开发的瀚博综合查询系统的运行过程中对性能参数进行了数据采集。使用matlab、eclipse和SQL Server2005作为开发工具实现了时间序列模型的预测和马尔科夫模型对预测结果的修正。