[发明专利]一种大型软件自愈合框架及愈合方法在审
申请号: | 201510745681.9 | 申请日: | 2015-11-03 |
公开(公告)号: | CN105260193A | 公开(公告)日: | 2016-01-20 |
发明(设计)人: | 莫展鹏;杨松;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 广东莞信律师事务所 44332 | 代理人: | 余伦 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大型软件 愈合 框架 方法 | ||
1.一种大型软件自愈合框架,其特征在于:所述的框架包括如下模块:
模块1、运行环境;
模块2、监视模块;
模块3、程序分析模块;
模块4、代码愈合策略生成模块;
模块5、字节码修改模块;
模块6、事件转发模块;
所述的运行环境是实际执行程序的软件环境;
监视模块获得程序运行的状态并生成监视数据;
程序分析模块接收来自监视模块的监视数据,通过对监视数据的解析,借助判断规则分析得到系统是否正常运行的结果;如果程序出错,程序分析模块给出错误定位信息,并以事件的形式发送给事件转发模块;
代码愈合策略生成模块由生成规则和代码愈合策略生成器组成,代码愈合策略生成模块将程序分析模块诊断出的错误定位信息作为输入,与事件转发模块交互,一方面从事件转发模块发送过来的信息获取目前正在处理的字节码信息,另一方面又将根据生成规则生成的愈合策略以愈合指令的形式发送给事件转发模块,由事件转发模块转换为字节码修改模块识别的事件流信息;
字节码修改模块用来实际操作对字节码文件的修改;事件转发模块负责在程序分析模块、代码愈合策略生成模块、字节码修改模块之间转发事件流。
2.根据权利要求1所述的大型软件自愈合框架,其特征在于:所述运行环境其有动态加载的特性,通过类加载器动态加载类文件,完成链接,初始化后,程序得以正常运行。
3.根据权利要求1所述的大型软件自愈合框架,其特征在于:所述监视模块通过运行环境外的程序对其进行观察,获得在运行环境中运行的大型软件程序运行的状态。
4.根据权利要求2所述的大型软件自愈合框架,其特征在于:所述监视模块通过运行环境外的程序对其进行观察,获得在运行环境中运行的大型软件程序运行的状态。
5.一种权利要求1至4任一项所述的大型软件自愈合框架的愈合方法,其特征在于:所述的方法按照以下工作流程进行:
步骤1:监控模块注册要监控的方法和属性,实现对运行程序有选择的监控;监控模块把产生的监控数据发送到程序分析模块;
步骤2:程序分析模块接收来自监控模块的监控数据,通过对监控数据的解释,借助于判断规则分析我们可以得到系统是否正常运行的结果;如果程序出错,程序分析模块给出错误定位信息,并以事件的形式发送给代码愈合策略生成模块,同时在事件转发模块上注册;
步骤3:代码愈合策略生成模块根据生成规则生成相关的愈合指令,并发送给事件转发模块,由事件转发模块转换成事件流再转发到字节码修改模块;
步骤4:字节码修改模块对字节码文件进行修改;
步骤5:将修改后的字节码文件重新进行装载运行。
6.根据权利要求5所述的大型软件自愈合框架的愈合方法,其特征在于:所述字节码修改模块包括解码器与字节码构建器两个部分,其对字节码文件的修改步骤如下:
步骤1:字节码修改模块扫描字节码文件形成字节码流,并通过解码器将扫描到的信息以事件流形式发送到外部;
步骤2:字节码构架器接收发送过来的事件流,转换为字节码流并保存到类文件中。
字节码修改模块通过这个双向的过程可以完成对字节码文件的修改。
7.根据权利要求5或6所述的大型软件自愈合框架的愈合方法,其特征在于:由所述程序分析模块判断程序目前运行是否健康,是否需要愈合;程序分析模块将接收到的监控数据的数值与设定的判断规则进行比较,并区分为以下三种情况分别进行相应的处理:
1)健康状况:监视模块报送过来的一切数据都在系统约束范围内,这时表示系统正常运行,不需要对程序进行任何改变;
2)潜在错误:监视模块报送过来的数据信息违反了系统某些约束,但是程序仍然正常运行;这表示对约束的违反并没有引发程序错误,然而基于对约束的违反会在将来导致程序出错,所以系统需要进入自愈合程序;
3)错误状况:监视模块报送过来的信息已经指示了系统出错,这时程序已经处在错误状态,不需要经过对程序约束的判断就可判定程序错误,可以立即进入自愈合程序;
所述判断规则是指数值的正常约束范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510745681.9/1.html,转载请声明来源钻瓜专利网。