一种基于内存数据库的仿真网格节点快速迁移方法

文档序号:6330857阅读:227来源:国知局
专利名称:一种基于内存数据库的仿真网格节点快速迁移方法
技术领域
本发明涉及一种基于内存数据库的仿真网格节点快速迁移方法,尤其涉及一种基 于内存数据库实现仿真网格中故障节点快速向其他节点动态迁移的方法,属于分布交互仿 真技术领域。
背景技术
基于HLA(High Level Architecture,高层体系结构)的分布式仿真已经广泛应 用于军事、科学研究、工程、商业等方面,并发挥着越来越大的作用。在面对当前分布式仿真 向大规模发展和需要使用在地理位置上处于分布式的计算资源和数据资源时,传统的基于 HLA的分布式仿真存在一定的局限,仿真网格这门新兴的技术则应运而生,其利用网格计算 技术的各项优势将传统的分布式仿真移植到网格环境中,实现仿真任务的自动分配、负载 均衡、运行监测和结果回收等功能,提升了仿真系统的运行效率和可用性。但是,无论HLA 规范还是当前主要的RTI产品都没有提供相应的容错机制和节点迁移方法,随着仿真规模 的扩大、仿真时间的增长,系统的故障率也随之大幅升高,如果某个关键仿真进程或节点崩 溃,将导致整个分布式仿真系统停止运行,仅重启崩溃的仿真进程或节点又会导致系统状 态的不一致,此时只能重新启动整个仿真系统,从而造成人力、物力和时间的极大浪费。目 前,国内外已在分布式仿真系统容错和仿真节点迁移方面开展了一些研究,但都侧重功能 和整体框架的实现,如《系统仿真学报》第19卷第13期发表的“基于HLA的分布式仿真负 载平衡研究”一文,主要对基于HLA的分布式仿真负载平衡框架和仿真迁移过程的管理方法 进行研究,解决的是基于HLA的分布式仿真中负载平衡的问题,没有涉及实现迁移的具体 技术途径,缺乏对仿真节点迁移的效率和可靠性进行深入分析和研究,与本发明的权利要 求没有冲突。

发明内容
本发明解决的技术问题是克服现有技术的不足,提供一种基于内存数据库的仿 真网格节点快速迁移方法,解决了仿真网格中仿真节点状态信息收集不完整、失效仿真节 点迁移速度慢和适用性差等问题,实现了仿真节点状态镜像的完整和快速的构建以及失效 仿真节点的快速迁移和重构,从而大大提高了整个仿真网格的适用性和可靠性。本发明的技术解决方案是一种基于内存数据库的仿真网格节点快速迁移方法, 包括以下步骤(1)各仿真节点通过HLA/RTI进行仿真交互,管理节点与各仿真节点通过FTP和 TCP/IP协议进行资源传递、指令和状态交互,在管理节点中安装仿真迁移服务器,在各仿真 节点中安装仿真迁移客户端;(2)运行仿真迁移服务器和仿真迁移客户端,仿真迁移服务器创建仿真资源库和 基于内存数据库中心仿真状态镜像库,并通知仿真迁移客户端;仿真迁移客户端接到通知 后创建基于内存数据库本地状态镜像库,根据仿真迁移服务器指令下载仿真资源并开展仿真运行,同时定时向仿真迁移服务器汇报仿真节点运行状态;(3)在仿真运行过程中,各仿真节点的仿真迁移客户端负责实时构建各仿真节点 的完整状态镜像,加入状态标签后存入基于内存数据库本地状态镜像库进行状态缓存,并 构建本地状态镜像集合,同时通过网络实时将所有本地存储的状态镜像汇集到基于内存数 据库中心仿真状态镜像库中;(4)当仿真迁移服务器根据各仿真节点的运行状态检测出有仿真节点发生故障 或运行负载过重,仿真迁移服务器向所有仿真迁移客户端发出暂停仿真运行指令,对基于 内存数据库中心仿真状态镜像库所有的状态标签进行比对,从所有仿真节点均具有一致的 状态标签的集合中选择最晚时间状态标签作为仿真重新运行的状态标签起点,进而确定需 要迁移或状态回退的节点列表,以及迁移的目的节点,目的迁移节点为异地节点或本地节占.
^ \\\ (5)在进行仿真节点异地迁移时,仿真迁移服务器向所有目的迁移节点发送仿真 迁移信息,通知仿真迁移客户端进行仿真资源请求和重新运行的状态标签起点,仿真迁移 客户端从基于内存数据库中心仿真状态镜像库中快速下载所需的状态镜像,状态镜像更新 完毕后,该仿真节点加载新状态镜像,并将新状态镜像作为仿真继续运行起点,并报告仿真 迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;(6)在进行本地迁移时,仿真迁移客户端根据重新运行的状态标签起点,直接从基 于内存数据库本地状态镜像库加载重新运行的状态镜像作为仿真继续运行起点,并报告仿 真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;(7)仿真迁移服务器收集所有参加仿真的仿真迁移客户端的状态报告信息,当所 有迁移节点准备就绪,则迁移节点重新开始仿真运行,其余未迁移节点继续运行。本发明与现有技术相比具有的有益效果是本发明将内存数据库技术应用于分布 交互仿真领域,利用内存数据库实时建立各仿真节点完整的状态镜像集,并进行状态镜像 的分布式收集与管理,实现了仿真节点完整状态镜像的在内存上的快速构建、存取、分布式 同步与备份,大大提高系统的快速性和运行效率;通过设计仿真网格中的仿真运行管理、状 态监测和节点迁移与恢复等机制,完成故障仿真节点探测、仿真过程暂停运行控制、故障节 点或进程迁移、故障节点状态镜像注入和仿真过程继续运行控制,从而实现仿真网格中故 障节点的快速迁移,实现了分布仿真系统的快速容错和自动负载均衡能力,增强了系统的 稳定性和健壮性;本发明所涉及的仿真运行监测与控制、通讯和数据库等功能,都是基于 HLA/RTI所提供的功能和其他标准协议和数据库,并不对HLA/RTI作任何修改,不会影响 HLA仿真系统功能,具有良好的通用性。


图1为本发明的系统结构框图;图2为本发明的仿真迁移服务器处理过程图;图3为本发明的仿真迁移客户端处理过程图;图4为本发明的仿真镜像库的多层次存储结构具体实施例方式下面结合附图和具体实施例对本发明作进一步详细的说明由本发明所实现的仿真迁移系统(包括服务器组件和客户端组件),与分布式仿 真平台和仿真模型协同使用,为分布式仿真平台提供快速的仿真节点迁移能力和系统容错 能力。如图1所示,各仿真节点通过HLA/RTI进行仿真交互,管理节点与各仿真节点通过FTP 和TCP/IP协议进行资源传递、指令和状态交互。管理节点中包含的软件主要有仿真迁移服 务器、中心仿真状态镜像库和仿真资源库,仿真节点中包含的软件主要有仿真迁移客户端、 分布式仿真平台、本地仿真模型和本地仿真状态镜像库。在仿真节点中,分布式仿真平台负 责提供仿真模型的运行环境和通讯支撑,并向仿真迁移系统提供仿真运行控制接口,可以 实现仿真运行初始化、仿真模型调度、加入/退出联邦、仿真状态查询、仿真运行控制(如开 始运行、暂停运行、继续运行和停止运行)等功能。仿真模型提供两个接口,其一是仿真状态镜像自动输出接口,用于运行过程中的 对外输出带有状态标签的完整仿真状态镜像;其二仿真状态镜像更新接口,用于更新模型 当前的所有状态,使得仿真模型能够以一个新的状态起点进行运行。本发明主要由仿真迁移服务器和仿真迁移客户端组成。仿真迁移服务器主要负责仿真网格中的仿真资源的分发、仿真过程的运行控制 (包括开始、暂停、继续和停止等)、仿真节点运行情况的实时监测与自动异常处理、仿真 节点迁移和恢复的管理和调度、基于实时内存数据库的中心仿真状态镜像库的创建、分布 式同步和管理等功能,仿真迁移服务器的处理过程如图2所示,具体处理步骤如下(1)启动服务器端软件;(2)创建仿真资源库;(3)创建中心仿真状态镜像库,并初始化;(4)通知客户端创建仿真运行;(5)等待接收客户端信息和数据;(5. 1)如果接收到客户端状态镜像,则将客户端状态镜像汇集到中心仿真状态进 行数据库;(5. 2)如果接收到客户端仿真资源请求信息,则通知客户端下载仿真资源;(5. 3)如果接收到客户端状态镜像请求信息,则通知客户端下载状态镜像数据;(5. 3)如果接收到客户端运行信息,则对客户端运行信息进行分类处理;(6)客户端运行信息进行分类处理;(6. 1)如果接收到客户端节点运行信息,则判断是否有节点发生故障,如果没有仿 真节点发生故障就继续等待接收信息和数据;如果有仿真节点发生故障则通知所有客户端 暂停仿真运行,制定迁移策略并确定迁移节点,通知需要进行迁移的目的客户端下载仿真 资源;(6. 2)如果接收到客户端节点负载信息,则判断是否有节点负载过重,如果没有节 点负载过重就继续等待接收信息和数据;如果有仿真节点负载过重,则通知所有客户端暂停 仿真运行,制定迁移策略并确定迁移节点,通知需要进行迁移的目的客户端下载仿真资源;(6. 3)如果接收到节点准备信息,则判断是否所有迁移节点准备就绪,如果,如果 不是所有节点都准备就绪就继续等待接收信息和数据;如果所有迁移节点准备就绪则通知新启动客户端开始仿真运行,其他客户端继续仿真运行。仿真迁移客户端主要负责向仿真迁移服务器实时汇报仿真节点运行情况、根据仿 真迁移服务器控制指令信息完成仿真运行控制和节点迁移与恢复、从仿真资源库下载仿真 资源、创建基于内存数据库的本地状态镜像库,实时接受本地仿真模型的状态更新,以及完 成与中心仿真状态镜像库的实时同步,仿真迁移客户端的处理过程如图3所示,具体处理 步骤如下(1)启动客户端软件;(2)创建本地状态镜像库并初始化;(3)向服务器端报告客户端运行信息;(4)接收服务器段信息和数据;(5)如果接收到是仿真资源数据,则根据状态标签加载本地状态镜像,加入仿真运 行,并通知服务器端该节点准备就绪;(6)如果接收到本地状态镜像数据,则将状态镜像数据写入本地状态镜像数据 库;(7)如果接收的是服务器段的控制信息,则根据信息类型分别处理;(7. 1)如果是仿真迁移信息,则更新本地状态镜像数据,并向服务器端请求仿真资 源;(7. 2)如果是开始运行信息,则向服务器端请求仿真资源;(7. 3)如果是继续运行信息,则继续仿真运行;(7. 4)如果是暂停运行信息,则暂停仿真运行;存储于内存数据库中的仿真状态镜像库(包括仿真管理节点中的中心仿真状态 镜像库和仿真节点中的本地仿真状态镜像库)的存储结构如图4所示。两类仿真状态镜 像库具体存储内容如下(其中T为仿真步长,m, n,k为正整数,可以根据具体应用进行调 整)中心仿真状态镜像库存储了所有参与仿真的仿真模型的状态镜像,存储两类时间 间隔的状态镜像,即从仿真开始到现在的时间间隔为n*k*T的m个时刻的全局仿真状态镜 像,以及从共保存从(m-l)*n*k*T开始到现在的时间间隔为k*T的η个时刻的所有全局仿 真状态镜像。本地仿真状态镜像存储了本地仿真模型的状态镜像,是全局仿真状态镜像的子 集,存储两类时间间隔的状态镜像,即从(m-l)*n*k*T开始到现在的时间间隔为k*T的η个 时刻的本地仿真状态镜像,以及从(m*n-l)*k*T开始到现在的时间间隔为TWk个时刻的 本地仿真状态镜像。所述的仿真状态镜像指的是仿真实体状态发生变化时,除外部输入信息和自身不 变的属性参数以外的仿真实体自身的所有状态信息,包括的内部中间信息、内部状态信息 和对外发布的状态信息。所述的状态镜像标签指的是基于仿真步长的仿真运行推进的逻辑时间信息。所述的本地仿真状态镜像库指的是仿真节点本地内存数据库中存储的本地仿真 模型的仿真状态镜像。所述的中心仿真状态镜像库指的是管理节点内存数据库中存储的所有参与仿真的仿真模型的仿真状态镜像。所述的仿真资源指的是仿真运行所需要的静态仿真模型和相关文件等。具体实施步骤如下(1)各仿真节点通过HLA/RTI进行仿真交互,管理节点与各仿真节点通过FTP和 TCP/IP协议进行资源传递、指令和状态交互,在管理节点中安装仿真迁移服务器,在各仿真 节点中安装仿真迁移客户端;(2)运行仿真迁移服务器和仿真迁移客户端,仿真迁移服务器创建仿真资源库和 基于内存数据库中心仿真状态镜像库,并通知仿真迁移客户端;仿真迁移客户端接到通知 后创建基于内存数据库本地状态镜像库,根据仿真迁移服务器指令下载仿真资源并开展仿 真运行,同时定时向仿真迁移服务器汇报仿真节点运行状态;本地仿真状态镜像是全局仿 真状态镜像的子集,存储了本地仿真模型的小时间间隔的状态镜像,存储结构如图4所示。(3)在仿真运行过程中,各仿真节点的仿真迁移客户端负责实时构建各仿真节点 的完整状态镜像,加入状态标签后存入基于内存数据库本地状态镜像库进行状态缓存,并 构建本地状态镜像集合,同时通过网络实时将所有本地存储的状态镜像汇集到基于内存数 据库中心仿真状态镜像库中;(4)当仿真迁移服务器根据各仿真节点的运行状态检测出有仿真节点发生故障 或运行负载过重,仿真迁移服务器向所有仿真迁移客户端发出暂停仿真运行指令,对基于 内存数据库中心仿真状态镜像库所有的状态标签进行比对,从所有仿真节点均具有一致的 状态标签的集合中选择最晚时间状态标签作为仿真重新运行的状态标签起点,进而确定需 要迁移或状态回退的节点列表,以及迁移的目的节点,目的迁移节点为异地节点或本地节占.
^ \\\ (5)在进行仿真节点异地迁移时,仿真迁移服务器向所有目的迁移节点发送仿真 迁移信息,通知仿真迁移客户端进行仿真资源请求和重新运行的状态标签起点,仿真迁移 客户端从基于内存数据库中心仿真状态镜像库中快速下载所需的状态镜像,状态镜像更新 完毕后,该仿真节点加载新状态镜像,并将新状态镜像作为仿真继续运行起点,并报告仿真 迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;(6)在进行本地迁移时,仿真迁移客户端根据重新运行的状态标签起点,直接从基 于内存数据库本地状态镜像库加载重新运行的状态镜像作为仿真继续运行起点,并报告仿 真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;(7)仿真迁移服务器收集所有参加仿真的仿真迁移客户端的状态报告信息,当所 有迁移节点准备就绪,则迁移节点重新开始仿真运行,其余未迁移节点继续运行。发明未详细说明部分属本领域技术人员公知常识。
权利要求
一种基于内存数据库的仿真网格节点快速迁移方法,其特征在于包括以下步骤(1)各仿真节点通过HLA/RTI进行仿真交互,管理节点与各仿真节点通过FTP和TCP/IP协议进行资源传递、指令和状态交互,在管理节点中安装仿真迁移服务器,在各仿真节点中安装仿真迁移客户端;(2)运行仿真迁移服务器和仿真迁移客户端,仿真迁移服务器创建仿真资源库和基于内存数据库中心仿真状态镜像库,并通知仿真迁移客户端;仿真迁移客户端接到通知后创建基于内存数据库本地状态镜像库,根据仿真迁移服务器指令下载仿真资源并开展仿真运行,同时定时向仿真迁移服务器汇报仿真节点运行状态;(3)在仿真运行过程中,各仿真节点的仿真迁移客户端负责实时构建各仿真节点的完整状态镜像,加入状态标签后存入基于内存数据库本地状态镜像库进行状态缓存,并构建本地状态镜像集合,同时通过网络实时将所有本地存储的状态镜像汇集到基于内存数据库中心仿真状态镜像库中;(4)当仿真迁移服务器根据各仿真节点的运行状态检测出有仿真节点发生故障或运行负载过重,仿真迁移服务器向所有仿真迁移客户端发出暂停仿真运行指令,对基于内存数据库中心仿真状态镜像库所有的状态标签进行比对,从所有仿真节点均具有一致的状态标签的集合中选择最晚时间状态标签作为仿真重新运行的状态标签起点,进而确定需要迁移或状态回退的节点列表,以及迁移的目的节点,目的迁移节点为异地节点或本地节点;(5)在进行仿真节点异地迁移时,仿真迁移服务器向所有目的迁移节点发送仿真迁移信息,通知仿真迁移客户端进行仿真资源请求和重新运行的状态标签起点,仿真迁移客户端从基于内存数据库中心仿真状态镜像库中快速下载所需的状态镜像,状态镜像更新完毕后,该仿真节点加载新状态镜像,并将新状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;(6)在进行本地迁移时,仿真迁移客户端根据重新运行的状态标签起点,直接从基于内存数据库本地状态镜像库加载重新运行的状态镜像作为仿真继续运行起点,并报告仿真迁移服务器,等待仿真迁移服务器指令,待所有仿真节点准备就绪再一起进行仿真;(7)仿真迁移服务器收集所有参加仿真的仿真迁移客户端的状态报告信息,当所有迁移节点准备就绪,则迁移节点重新开始仿真运行,其余未迁移节点继续运行。
全文摘要
本发明公开了一种基于内存数据库的仿真网格节点快速迁移方法,利用内存数据库实时建立各仿真节点完整的状态镜像集,并进行状态镜像的分布式收集与管理,通过设计仿真网格中的仿真运行管理、状态监测和节点迁移与恢复等机制,完成故障仿真节点探测、仿真过程暂停运行控制、故障节点或进程迁移、故障节点状态镜像注入和仿真过程继续运行控制,从而实现仿真网格中故障节点的快速迁移。
文档编号G06F17/30GK101930463SQ20101026222
公开日2010年12月29日 申请日期2010年8月25日 优先权日2010年8月25日
发明者冷传航, 廖馨, 张灏龙, 施国强, 李烁, 赵雯, 郑宏涛 申请人:中国运载火箭技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1