【技术实现步骤摘要】
本专利技术涉及软件开发领域,特别是指一种大型软件自愈合框架及愈合方法。
技术介绍
随着软件的复杂性的不断提高,尤其是应用在通信、金融等重要领域的大型软件,软件的高可靠性越来越受到关注。如何开发一个具有高可靠性的软件系统成为软件技术发展必须要解决的问题。自愈合系统是提高软件可靠性的一种途径。它结合了容错与除错的方法,在运行时对程序进行调整,完成对错误的修正。目前,实现自愈合软件有两种手段,一种是程序本身内建的提供自愈合的特性,通过软件自身实现监控、分析、修改代码完成自愈特性。一种是实现一个可动态配置的框架和具有相同功能的冗余组件。程序通过在重加载软件完成对错误的消除。上述方法存在以下的弊端:1、软件本身需要采集和分析监控数据,数据量大,对系统性能损耗大。2、对软件的愈合不彻底,如果软件由于内部因素导致崩溃,那么通过上述方法自愈以后,错误还可能会再次出现。3、适用性不强,由于需要对受监视的程序进行修改,因此大型软件复杂的特点往往导致其无法实施。
技术实现思路
本专利技术解决的技术问题之一在于提供一种大型软件自愈合框架,有效提高大型软件的可靠性。本专利技术解决的技术问题之二于提供一种大型软件自愈合框架的愈合方法,实现大型软件的自愈合,提高大型软件的可靠性。本专利技术解决上述技术问题之一的技术方案是:所述的框架包括如下模块:模块1、运行环境;模块2、监视模块;< ...
【技术保护点】
一种大型软件自愈合框架,其特征在于:所述的框架包括如下模块:模块1、运行环境;模块2、监视模块;模块3、程序分析模块;模块4、代码愈合策略生成模块;模块5、字节码修改模块;模块6、事件转发模块;所述的运行环境是实际执行程序的软件环境;监视模块获得程序运行的状态并生成监视数据;程序分析模块接收来自监视模块的监视数据,通过对监视数据的解析,借助判断规则分析得到系统是否正常运行的结果;如果程序出错,程序分析模块给出错误定位信息,并以事件的形式发送给事件转发模块;代码愈合策略生成模块由生成规则和代码愈合策略生成器组成,代码愈合策略生成模块将程序分析模块诊断出的错误定位信息作为输入,与事件转发模块交互,一方面从事件转发模块发送过来的信息获取目前正在处理的字节码信息,另一方面又将根据生成规则生成的愈合策略以愈合指令的形式发送给事件转发模块,由事件转发模块转换为字节码修改模块识别的事件流信息;字节码修改模块用来实际操作对字节码文件的修改;事件转发模块负责在程序分析模块、代码愈合策略生成模块、字节码修改模块之间转发事件流。
【技术特征摘要】
1.一种大型软件自愈合框架,其特征在于:所述的框架包括如下模块:
模块1、运行环境;
模块2、监视模块;
模块3、程序分析模块;
模块4、代码愈合策略生成模块;
模块5、字节码修改模块;
模块6、事件转发模块;
所述的运行环境是实际执行程序的软件环境;
监视模块获得程序运行的状态并生成监视数据;
程序分析模块接收来自监视模块的监视数据,通过对监视数据的解析,借
助判断规则分析得到系统是否正常运行的结果;如果程序出错,程序分析模块
给出错误定位信息,并以事件的形式发送给事件转发模块;
代码愈合策略生成模块由生成规则和代码愈合策略生成器组成,代码愈合
策略生成模块将程序分析模块诊断出的错误定位信息作为输入,与事件转发模
块交互,一方面从事件转发模块发送过来的信息获取目前正在处理的字节码信
息,另一方面又将根据生成规则生成的愈合策略以愈合指令的形式发送给事件
转发模块,由事件转发模块转换为字节码修改模块识别的事件流信息;
字节码修改模块用来实际操作对字节码文件的修改;事件转发模块负责在
程序分析模块、代码愈合策略生成模块、字节码修改模块之间转发事件流。
2.根据权利要求1所述的大型软件自愈合框架,其特征在于:所述运行环
\t境其有动态加载的特性,通过类加载器动态加载类文件,完成链接,初始化后,
程序得以正常运行。
3.根据权利要求1所述的大型软件自愈合框架,其特征在于:所述监视模
块通过运行环境外的程序对其进行观察,获得在运行环境中运行的大型软件程
序运行的状态。
4.根据权利要求2所述的大型软件自愈合框架,其特征在于:所述监视模
块通过运行环境外的程序对其进行观察,获得在运行环境中运行的大型软件程
序运行的状态。
5.一种权利要求1至4任一项所述的大型软件自愈合框架的愈合方法,其
特征在于:所述的方法按照以下工作流程进行:
步骤1:监控模块注册要监控的方法和属性,实现对运行程序有选择的监控;
监控模块把产生的监控...
【专利技术属性】
技术研发人员:莫展鹏,杨松,季统凯,
申请(专利权)人:国云科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。