本发明专利技术提供了一种构件化分布式系统中进行构件迁移的方法,属于软件构件化技术领域。包括了以下步骤:1)将分布式系统中的节点划分为域和非域两种角色,域节点统管全局策略,非域节点负责策略在本节点的具体执行;2)制定了一种域和非域节点间的交互管理协议,用于构件的迁移管理;3)建立了构件多点冗余、失效主动发现和实时迁移算法。本发明专利技术设计的构件迁移方法具有:1)实时性,通过全局信息的精简优化和基于优先级的构件激活队列,消除了迁移过程中构件装载和环境绑定时间,提高了迁移过程的实时响应程度;2)准确性,通过备份域构件“潜伏”状态的功能实现,确保信息的完整性,保证系统运行状态的正确。
【技术实现步骤摘要】
本专利技术涉及软件构件化
,具体的说是一种基于域模型的构件 实时主动迁移方法。技术背景构件是在软件生命周期各阶段可以被复用的软件实体,可独立配置与 部署,具有良好的封装独立性和定义清晰的接口,与运行上下文环境和其 他构件严格分离。通过构件化技术开放的软件系统不仅可以有效提高开发 者的效率,降低开发者的成本,还使得构造出的系统具有良好的可扩展性 和可维护性。目前,基于构件技术的软件开发技术已受到业界的普遍关注, 并已成为软件开发的主流方法。釆用构件化技术开发的分布式系统是由分布在网络中的多个构件组 成的,系统功能通过一系列构件间的交互协作完成。由于网络的不稳定性和脆弱性,以及软件bug的存在,系统中某个构件的失效可能导致系统功 能的部分或严重受损,特别是在对可靠性和实时性具有较高要求的系统, 可能会造成严重经济和人员损失。因此当构件失效后系统能主动实时的进 行构件迁移,恢复系统功能就显得十分重要。构件迁移的难度在于迁移过程的时效性、构件状态的一致性以及关联 构件依赖关系的调整等。当前业界存在三大成熟的通用构件化技术一 C0RBA、 C0M和EJB,其中C(H和EJB完全没有构件容错规范,只有C0RBA 提出了一个容错CORBA规范。容错CORBA体系中进行复制以实现冗余的实 体是对象, 一个对象拥有多个r印lica,它们组成对象组,作为一个整体 展示给外界,其对象引用称为IOGR(Interoperable ObjectGro叩 Reference),客户方使用IOGR向复制的对象发起请求,无需知道对象组的存在以及对象组成员的失效。该方案存在两个缺陷 一是该规范设计复 杂、难以实现,当前还缺乏相应的有效实现体;二是容错实体针对单个构 件,没有从全系统容错的角度出发,难以应用于实际系统开发。现有的其 他迁移容错方案大多都是基于集群系统的进程迁移,侧重于从处理器的角 度将进程资源进行节点间的迁移,例如基于Linux内核的集群系统 openMosix等。这些方法是基于整个进程迁移,粒度过大,无法应用于构 件化的系统。综上所述,虽然目前业界已有大量的迁移容错方案,但都是基于非构 件化系统的,还没有一种基于构件化系统的成熟迁移容错方案。
技术实现思路
本专利技术的目的在于针对现有技术的不足,基于CORBAORB内核,通过 对C0RBA构件模型的扩展,提供。本专利技术,包括(l)域模型的描述、 (2)主域和备份域间的全局信息同步、(3)失效构件的主动发现、(4)构件迁移 过程、(5)关联构件间依赖关系的更新。(1) 域模型的描述将分布式应用系统网络中所有节点划分为两种 角色主域节点和备份域节点。主域节点是全域主控和仲裁节点,维护全 局信息,协调和控制迁移过程的进行。备份域节点是主域节点的信息备份, 并充当主域节点的后备节点。系统包括唯一一个主域节点和若干备份域节 点,节点的角色由选举算法决定。当系统启动时根据权重对所有节点进行 编号,编号最大者为主域节点,其他为备份域节点,当主域节点失效时, 余下编号最大的备份域节点被选举为主域节点。(2) 主域和备份域间的全局信息同步主域节点维护全局状态信息, 包括了应用系统构件组成部分,构件间的依赖关系,构件在节点的部署情 况以及当前构报本节点的构件状态信息,主域节点通过汇总各个备份域节点的上报信息 形成系统的全局状态,并向所有备份域进行下发全局状态,备份域接受全 局状态进行缓存。所有节点均以向外广播心跳报文的方式向其他节点表明 本节点的有效性。(3) 失效构件的主动发现构件装载在节点的容器进程中,容器通 过定时调用构件的Ping方法来探测构件的心跳,若在一定的周期内探测 不到构件的心跳,则认为该构件已失效,该节点服务立即向主域节点上报 本节点构件失效情况。(4) 构件迁移过程各备份域节点上的构件通过构件潜伏状态, 记录最近的输入信息,但是不做任何处理, 一旦主域节点出现故障,被选 中的备份域构件立即由潜伏状态转为激活状态,同时将补偿性处 理最近故障时期内主域节点错过的信息,保持不丢失任何系统信息,同时 避免信息重发,提高实时性和准确性。主域节点根据各备份域节点上报的 构件活动状态信息形成构件激活优先级队列。若主域节点通过步骤(3) 发现了失效构件,则查找该失效构件的激活构件列表,选择优先级最高的 待激活构件作为当前有效的全局激活构件,并指示该激活构件所在的备份 域节点进行该构件的全局激活。(5) 关联构件间依赖关系的更新当构件迁移完成后,主域节点根 据记录的迁移构件间的依赖关系,对被依赖构件的对象引用进行更新,主 域节点向依赖构件所在的备份域节点下达更新对象引用的命令,最终由备 份域节点完成依赖构件对象引用的更新。本专利技术有如下优点 1)实时性迁移过程由主域节点统一调度,通过全局信息的精简优 化和基于优先级的构件激活队列,消除了迁移过程中构件装载和 环境绑定时间,提高了迁移过程的实时响应程度。2) 自适应/主动性构件迁移与计算、通信环境自适应,迁移过程 根据预定义的迁移策略自发进行,无需人为干预。3) 准确性通过备份域构件潜伏状态的功能实现,确保信息的 完整性,保证系统运行状态的正确。4) 花费小迁移方案只需要软件编程即可实现,无需额外硬件冗余。 附图说明图l域模型示意图;图2构件状态转换图;图3主域节点启动流程图;图4备份域节点启动流程图;图5主域节点和备份域节点交互图。具体实施方式下面结合附图,对本专利技术的具体实施方案做进一步的说明(1) 域模型的描述。如附图1所示,系统所有节点划分为主域节点和备份域节点,主域节点由ORB核心和域管理服务组成,备份域节点由0RB 核心、构件容器和节点管理服务组成。ORB核心实现了 C0RBA规范的ORB 交互协议,是构件方法调用通信的基本机制;构件容器建立了构件运行的 上下文环境,构件被容器装载并经ORB绑定后运行在容器的进程中,容器 控制着构件的生命周期;节点管理服务运行于备份域节点,它通过容器对 构件的生命周期进行管理,向主域上报本节点的构件运行状态,并接受和 执行来自主域节点下发构件管理和迁移指令;域管理服务运行于主域节 点,收集来自备份域上报的构件状态信息,并根据全局的状态下达各类构 件管理指令。(2) 构件状态管理。如附图2所示,根据不同的运行时机,构件将 处于构件代码、未激活、潜伏和激活四个状态;同时定义了六种操作一装载、激活、激活备选、去活、升级和卸载,迸行构件间状态的切换。a) 状态定义Z构件代码一是构件最初的存在形式,只是磁盘上的代码文件;^未激活一指构件代码已被装载到容器的内存空间,构件对象已被创建,但构件对象尚未与ORB绑定; Z潜伏一将构件对象同ORB进行绑定,并通过节点管理服务将对象引用上报给主域节点,开始缓存时间片内的构件交互信息,但无法为其他构件提出服务; Z激活一将构件对象同ORB进行绑定,并通过节点管理服务将对象引用上报给主域节点,可以为其他构件提供服务。b) 操作定义Z装载一将构件代码文件加载进容器的进程空间,并创建构件对象; Z激活一将构件对象绑定到容器ORB上,并将构件对象引用发布到域;Z激活备选一将将构件对象绑定到容器ORB上,不发布到全域; Z去活一将构件对象同ORB解绑定,并向主域报告本文档来自技高网...
【技术保护点】
一种基于域模型的构件实时主动迁移方法,其特征在于:包括:(1)域模型的描述、(2)主域和备份域间的全局信息同步、(3)失效构件的主动发现、(4)构件迁移过程、(5)关联构件间依赖关系的更新。
【技术特征摘要】
1. 一种基于域模型的构件实时主动迁移方法,其特征在于包括(1)域模型的描述、(2)主域和备份域间的全局信息同步、(3)失效构件的主动发现、(4)构件迁移过程、(5)关联构件间依赖关系的更新。2、 根据权利要求1所述的域模型的基于域模型的构件实时主动迁移方法,其特征在于(l)域模型的描述为将分布式应用系统网络 中所有节点划分为两种角色主域节点和备份域节点;主域节点是全 域主控和仲裁节点,维护全局信息,协调和控制迁移过程的进行;备 份域节点是主域节点的信息备份,并充当主域节点的后备节点;系统 包括唯一一个主域节点和若干备份域节点,节点的角色由选举算法决 定;当系统启动时根据权重对所有节点进行编号,编号最大者为主域 节点,其他为备份域节点,当主域节点失效时,余下编号最大的备份 域节点被选举为主域节点。3、 根据权利要求1所述的域模型的基于域模型的构件实时主动 迁移方法,其特征在于(2)主域和备份域间的全局信息同步为主域 节点维护全局状态信息,包括了应用系统构件组成部分,构件间的依 赖关系,构件在节点的部署情况以及当前构件的活动状态;备份域节 点按设定的频率依次向主域节点上报本节点的构件状态信息,主域节 点通过汇总各个备份域节点的上报信息形成系统的全局状态,并向所 有备份域进行下发全局状态,备份域接受全局状态进行缓存;所有节 点均以向外广播心跳报文的方式向其他节点表明本节点的有效性。4、 根据权...
【专利技术属性】
技术研发人员:陈靖,赵恒,黄志刚,曹万华,谌菲,薛峰,陆炜,
申请(专利权)人:中国船舶重工集团公司第七〇九研究所,
类型:发明
国别省市:83[中国|武汉]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。