发明名称 面向云平台的软件故障容忍方法
摘要 本发明公开了一种面向云平台的软件故障容忍方法,包括:对需要保护的软件进行压力测试,以获取软件的营救点,周期性地在虚拟机中对软件构建检查点,检测软件是否出现故障,若出现故障,则获取软件故障相关信息,根据软件故障相关信息判断故障是否是栈溢出故障,若故障是栈溢出故障,则判断漏洞营救表中是否存在与故障匹配的函数调用栈信息,若漏洞营救表中存在与故障匹配的函数调用栈信息,则提取函数调用栈信息,将软件回滚到距离故障最近的检查点,根据函数调用栈信息获取候选营救点,并按候选营救点的权值大小对候选营救点进行测试,以得到能够容忍故障的最佳营救点,本发明有效地提高软件容错能力,同时降低了容错机制所带来的数据冗余度。
申请公布号 CN102521128B 申请公布日期 2014.03.26
申请号 CN201110405522.6 申请日期 2011.12.08
申请人 华中科技大学 发明人 金海;邹德清;陈刚;羌卫中;胡刚;代炜琦
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 朱仁玲
主权项 一种面向云平台的软件故障容忍方法,包括以下步骤:对需要保护的软件进行压力测试,以获取所述软件的营救点,并根据所述营救点构建漏洞营救表、营救点数据库、营救点节点级缓存和营救点虚拟机级缓存;周期性地在虚拟机中对所述软件构建检查点;判断所述虚拟机是否需要迁移,若所述虚拟机需要迁移,则将所述营救点节点级缓存和所述营救点虚拟机级缓存中的软件故障容忍信息随同所述虚拟机进行迁移,否则检测所述软件是否出现故障;若所述软件没有出现故障,则返回所述周期性地在虚拟机中对所述软件构建检查点的步骤;若所述软件出现故障,则获取软件故障相关信息;根据所述软件故障相关信息判断所述故障是否是栈溢出故障;若所述故障不是栈溢出故障,则分析所述软件故障相关信息,以获取函数调用栈信息;将所述软件回滚到距离所述故障最近的检查点,根据所述函数调用栈信息获取候选营救点,并按所述候选营救点的权值大小对所述候选营救点进行测试,以得到能够容忍所述故障的最佳营救点;增加所述最佳营救点的权值;更新所述最佳营救点在所述营救点虚拟机级缓存、所述营救点节点级缓存和所述营救点数据库中的权值信息,所述虚拟机将更新后的最佳营救点和所述软件故障相关信息发送给所述虚拟机所在节点的管理域;所述节点的管理域将更新后的最佳营救点和所述软件故障相关信息发送给云平台的管理节点;若所述故障是栈溢出故障,则判断所述漏洞营救表中是否存在与所述 故障匹配的函数调用栈信息;若所述漏洞营救表中不存在与所述故障匹配的函数调用栈信息,则进入所述分析所述软件故障相关信息,以获取所述函数调用栈信息的步骤;若所述漏洞营救表中存在与所述故障匹配的函数调用栈信息,则提取所述函数调用栈信息,然后进入所述将所述软件回滚到距离所述故障最近的检查点,根据所述函数调用栈信息获取候选营救点,并按所述候选营救点的权值大小对所述候选营救点进行测试,以得到能够容忍所述故障的最佳营救点的步骤。
地址 430074 湖北省武汉市洪山区珞喻路1037号