论文部分内容阅读
随着现代社会对计算机技术需求的迅猛增长,软件系统变得越复杂,规模也迅速膨胀。系统复杂度的提高和第三方中间件的大量采用直接导致了大型软件系统运行过程中性能的不稳定,关键资源的不断损耗、数据的破坏等各种各样的原因会导致系统的性能逐渐降低,这种现象称之为“软件衰老”(Software Aging)。它已经成为影响系统可用性和运行性能的重要原因。软件抗衰技术是在适当的时机暂停/停止软件系统的运行,清除其内部状态然后让其继续运行,进而保证系统能长时间保持在良好的状态。
组件式的开发已经成为软件开发中的主流技术。本文针对于此类系统,尝试将软件抗衰中监视和措施的对象从整个系统转转变为大型系统中的组件,也即子系统,同时借鉴斯坦福大学的微重启的研究成果提出了基于微重启的软件抗衰技术框架。
本文综合了基于时间和基于资源消耗度量的两种分析策略,提出基于平均响应时间和资源消耗预计的分析策略。为了得到更精确的资源消耗情况,与以往在整个软件运行期间使用同一个数学模型相比,以当前时间段内的样本为依据从备选模型集合中选取数学模型的新方法。为了解决子系统在微重启过程中的请求丢失问题,将请求调用数据持久化和设计请求调用协议来实现了请求保持技术。本文的主要内容包括:
1,在软件抗衰技术框架中分析策略同时考虑平均响应时间和资源消耗预计,并设计了根据当前时间段的样本选取的不同的数学预测模型来预计资源消耗情况的算法。
2,设计和实现了通用的请求调用子系统,使得子系统之间保持松耦合结构。
3,设计和实现了请求保持技术,使得客户端的请求在系统进行微重启过程中能够得到完整的处理。