发明名称 一种普适计算环境下的构件容错方法
摘要 本发明公开了一种普适计算环境下的构件容错方法,要解决的技术问题是为普适计算环境提供高可靠和高可用支持的容错方法。技术方案是先在构件容器中增加上下文列表、上下文-事件表、策略执行部件,策略执行部件由策略解析部件、策略执行者、策略执行者指针数组、对象适配器、上下文事件监视部件组成;然后开发容错策略以描述如何进行容错处理;接着容器检测构件失效,抛出异常消息,上下文-事件监视部件创建上下文事件;策略解析部件读取容错策略文件,生成策略执行者;最后运行容错策略,进行构件容错。本发明通过将策略引入到普适计算容错处理过程,使得容环境错处理过程具备高度可重用性,容错处理具有可灵活的动态管理和配置的特点。
申请公布号 CN100590605C 申请公布日期 2010.02.17
申请号 CN200810143798.X 申请日期 2008.12.03
申请人 中国人民解放军国防科学技术大学 发明人 史殿;欧阳建权;李骁;丁博;王怀民
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 国防科技大学专利服务中心 代理人 郭 敏
主权项 1.一种普适计算环境下的构件容错方法,其特征在于包括以下步骤:第一步,对符合CCM规范的构件容器进行扩展以支持构件容错处理,在构件容器中增加上下文列表、上下文-事件表、策略执行部件:上下文列表为存储在存储器中的二维表格,表格中每一项记录一个上下文,包括构件名、上下文名称和上下文值三个字段;上下文-事件表为存储在存储器中的二维表格,用来描述物理空间和信息空间中的上下文的变化,表格中每一项记录一个上下文事件,包括上下文名称、事件ID和异常消息名称三个字段;上下文-事件表的上下文名称与上下文列表中的上下文名称相一致;策略执行部件负责解释执行策略,监视上下文列表中的值并据之调用构件,策略执行部件由策略解析部件、策略执行者、策略执行者指针数组、对象适配器、上下文事件监视部件组成,其中:●策略解析部件是一个CORBA对象,它使用符合万维网协会标准的XML解释器解析待载入策略,并动态生成相应策略执行者;●策略执行者由一组CORBA对象和一组驱动接口组成,CORBA对象采用结构的数据结构来存放策略所有信息,每一项对应一条策略,包括策略条件、动作类型、构件名、构件方法数据项;驱动接口对外提供驱动方法,驱动方法首先通过条件检查语句确定策略的条件部份是否满足,在满足时通过对象适配器定位和调用该策略对应的构件;●策略执行者指针数组是二维指针数组,第一维是策略条件部分所涉及的上下文名称,第二维是该策略所对应的策略执行者的指针,所有策略执行者的指针均存储在该数组中;●对象适配器采用基于CORBA的可移植对象适配器POA,POA提供通过构件实例名字访问构件实例对象的能力,并将策略中需要行为构件执行的动作请求发送给真正执行的构件实例对象;●上下文-事件监视部件是一个CORBA对象,它定期读取上下文列表以监视上下文值的变化,当上下文值变化时,记录该上下文名称,并判断在上下文-事件表中根据该上下文名称查找是否有对应的上下文事件,若无,将该项上下文事件写入上下文-事件表,然后依据对应的上下文名称在策略执行者指针数组的第一维中进行查找,若匹配上则调用该项策略执行者指针数组第二维对应的策略执行者的驱动方法;第二步,开发容错策略以描述如何进行容错处理:策略为基于XML的一组“条件-动作”规则,说明当上下文发生变化时应调用的构件及构件方法,以XML格式的文件存储在嵌入式设备的存储器中;策略结构为“事件-条件-动作”形式,事件部份说明策略的事件名称,条件部分以“上下文名称,上下文值的变化描述”形式指定何时触发该事件,动作部份说明此时应当调用哪个构件的方法;容错策略就是一组用XML描述的当上下文发生变化时如何进行错误恢复的规则;第三步,容器基于超时机制检测构件失效,即当在给定的时间内,某构件调用的方法没有返回值时,表明该构件发生暂时性故障,根据CCM规范,容器抛出异常消息;第四步,上下文-事件监视部件创建上下文事件,方法是:上下文-事件监视部件定期读取上下文列表以获取上下文值的变化,当上下文值变化时,记录该上下文名称,并判断在上下文-事件表中根据该上下文名称查找是否有对应的上下文事件,若无,将该项上下文事件写入上下文-事件表,包括创建异常消息上下文名称、事件ID和异常消息ID;第五步,策略解析部件从嵌入式设备的存储器中读取XML格式的容错策略文件,动态生成相应的策略执行者;第六步,运行容错策略,进行构件容错:上下文-事件监视部件依据上下文名称在策略执行者指针数组的第一维中进行查找,若匹配上则调用该项策略执行者指针数组第二维对应的驱动方法,驱动策略执行者执行其CORBA对象中所存储的容错策略,通过对象适配器调用该策略对应的调用构件的启动方法,进行构件恢复,完成构件容错动作。
地址 410073湖南省长沙市砚瓦池正街47号