论文部分内容阅读
随着计算系统复杂性程度的提高,许多已知和未知的软件缺陷无法避免,由其引发的软件老化现象成为软件运行中必须面对的重要问题,由此,软件抗衰技术应运而生;为了最大程度地提高软件抗衰的效率,缩减抗衰成本,降低系统性能衰退以及意外失效所导致的损失,智能化细粒度软件抗衰技术的提出迫在眉睫。本文针对上述应用需求展开的主要研究工作及取得的创新性成果概述如下:(1)针对现有组件重启相关度判定规则及系统重启树构建步骤相对粗糙、不够完善的问题,提出了以软件工程为依据的新型高准确度重启相关度判定规则和系统重启树的构建方法。通过分析软件体系结构和各组件间的数据访问关系,给出了组件间依赖程度的数据化表示,通过搜索两组件间的可达路径,求得任意两个组件间的重启相关度,并据此判定组件重启群,构建系统重启树,从而完成抗衰重启的前期准备。(2)建立了多级嵌套软件抗衰策略的形式化模型,给出了模型的求解方法。为了更清晰地描述复杂系统细粒度多级嵌套软件抗衰策略,论文综合采用Petri网和有限状态自动机建立k级嵌套软件抗衰模型,用Petri网表示各次重启的动态行为细节,用自动机控制策略的重启组件、组件重启次序和执行周期,最终得到简单且易于理解的策略模型,同时避免了直接将模型同构为马尔可夫过程可能遇到的状态空间爆炸问题。(3)分析了软件抗衰智能化的可实现性,初步提出了智能化抗衰的实现原理及模型,构建并制定了基于软件抗衰的神经网络模型、遗传算法及DNA计算。首先分析神经网络、遗传算法及DNA计算的工作原理,确定其在抗衰技术中的可用性;由此依据抗衰原理,构建出五层神经网络结构模型,给出基于抗衰的遗传算法及DNA计算,最终智能化地判定组件重启相关度及组件可达集,提高了抗衰效率,节约了抗衰成本,为实现智能化软件抗衰提供支持。(4)制定了分布式系统智能化细粒度软件抗衰策略,给出了基于该策略的agent系统体系结构。根据分布式系统各重启层组件的运行特点,提出了系统四层嵌套的抗衰策略,将抗衰粒度细化至线程级。通过分析系统各级组件间控制、调用及数据访问的关系,确定了适应各层的直接依赖组件判定方法;同时通过监控系统资源的使用情况,确定系统重启组件,明确各级重启组件间的嵌套重启关系,建立了系统重启链,给出了抗衰体系结构:为实现了分布式系统的智能化细粒度软件抗衰奠定了基础。(5)定义了基于软件抗衰的数据流系统模型,提高了抗衰技术的准确度,增强了抗衰实时性。在数据流的基础上,结合软件抗衰重启理论,制定了较为全面的系统性能参数,给出基于软件抗衰的数据流系统模型,并通过异常模式提取和趋势分析的方法有效地对异常组件进行预测,由此判定组件间重启相关度、确定重启组件及重启次序,最终构建系统的重启链,实现了高效准确的软件抗衰技术,全面改善了重启效果。