分布式虚拟试验系统中的节点同步方法技术方案

技术编号:7758945 阅读:178 留言:0更新日期:2012-09-14 00:39
一种分布式虚拟试验系统中的节点同步方法,包括以下步骤:(1)配置节点:在虚拟试验系统中设置通过网络互联的一控制节点和一个以上的运算节点;启动虚拟试验系统并初始化;(2)分级同步:第一级同步:在各节点内,数据发送线程通过在共享内存区读取工作线程提供的数据实现逻辑时间同步;第二级同步:在节点间,控制线程通过网络统一控制并协调各运算节点内的工作线程,实现节点间的逻辑时间和步长推进的同步;第三级同步:在各节点内,数据接收线程通过共享内存区将数据交给工作线程实现逻辑时间的同步。本发明专利技术具有原理简单、操作简便、能保证节点时间同步、简化系统设计、提高整个系统运行效率等优点。

【技术实现步骤摘要】

本专利技术主要涉及到虚拟试验系统领域,特指一种适用于分布式虚拟试验系统中的 节点同步方法。
技术介绍
虚拟试验系统由于其耗费小、可重复且无破坏的特点,逐渐成为一种重要的评价 手段和试验手段,在国民经济的各领域得到快速发展。在分布式虚拟试验系统中,多个分布 在不同位置的节点共同完成试验任务,各节点一般是通过局域网相连,通过计算机网络完 成相互间的通信和数据交互。由于各节点分布在不同的地理位置,相互间需要实时交互数 据,如何保证各个节点的数据以及与时间有关的事件在时间逻辑上的一致性是虚拟试验系 统需要解决的一个关键问题。目前常用的方法有两种一是采用时间同步算法实现各节点时钟的精确同 步,在时间触发机制下实现数据同步;二是是采用高层体系结构(HLA, High Level Architecture),在HLA的时间管理机制下实现各节点的同步推进。方法一要实现较好同步效果的前提是能实现较精确的时钟同步,但是,一方面时 间同步算法的执行会增加系统的开销,降低系统运行效率,另一方面,网络传输延时的不确 定性使得时钟同步的精度很难得到保证。方法二中,在基于HLA的时间同步方式下,需要运行支撑环境(RTI)的支持,在系 统运行全过程,需要维持一个联邦执行的存在,每个参与运算的节点作为一个联邦成员加 入联邦。联邦时间推进采用步长推进的方式,在每个执行步长内,联邦成员完成模型计算、 结果输出和数据发送等任务。当所有联邦成员均完成当前步长内的计算任务时,联邦向下 一步推进;如果有一个成员未完成当前步长的任务,联邦将继续等待直到满足推进条件。在 HLA的时间管理机制下,由于各节点步长推进时存在互相控制和约束的关系,系统各节点的 数据能保持严格的同步。但是这种以成员间的相互控制和约束实现的严格同步也带来了由 于某个节点的延迟导致整个系统延迟的危险。另一方面,由于HLA本身的机制复杂,对虚拟 试验系统而言存在较多的冗余,会在一定程度上降低系统的效率和实时性。在虚拟试验系统中,可将时间划分为墙上时间和逻辑时间两大类。墙上时间就是 真实世界的时间,逻辑时间是虚拟试验系统中从虚拟试验起始点开始计算的各节点约定步 长推进的时间值。因此,虚拟试验系统中的节点同步又可分为基于真实时间的同步和基于 逻辑时间的同步。
技术实现思路
本专利技术所要解决的技术问题就在于针对现有技术存在的技术问题,本专利技术提供 一种原理简单、操作简便、能保证节点时间同步、简化系统设计、提高整个系统运行效率的 。为解决上述技术问题,本专利技术采用以下技术方案一种,步骤为(1)配置节点并启动虚拟试验系统进行初始化在虚拟试验系统中设置通过网络互联 的一控制节点和一个以上的运算节点,所述控制节点和运算节点中均设置有用于完成节点 数据处理和模型计算任务的工作线程、数据发送线程、数据接收线程以及共享内存区;所述 控制节点的工作线程为控制线程;(2)分级同步(2. 1)第一级同步在所述控制节点和运算节点中,所述数据发送线程通过在所述共享 内存区读取所述工作线程提供的数据实现逻辑时间同步;(2. 2)第二级同步在上述节点之间,所述控制线程通过网络统一控制并协调各运算节 点内的工作线程,实现节点间的逻辑时间和步长推进的同步;(2. 3)第三级同步在所述控制节点和运算节点中,所述数据接收线程通过所述共享内 存区将数据交给工作线程实现逻辑时间的同步。作为本专利技术的进一步改进所述共享内存区包括数据发送区和数据接收区,所述数据发送区和数据接收区中分别 设有用于标示当前数据是否更新的数据更新标志。所述步骤(2. 1)的具体步骤为在各节点内,均维持着一个本地逻辑时钟,其逻辑 时间以虚拟试验开始为起算节点并在控制线程协调下逐步递增;新的步长开始后,所述工 作线程保持检测数据接收区的数据更新标志;若数据已更新,则读取数据、进行计算并将需 要发送的计算结果保存在数据发送区中,更新数据发送区的数据更新标志;数据发送线程 检测到数据发送区的数据更新标志为有效后,将数据读取、封装并加上逻辑时戳,通过网络 发送给其他节点,向控制节点请求推进到下一步长。所述工作线程检测所述数据接收区的数据更新标志时,工作线程在经过%次查询 等待仍未收到新数据时,则放弃等待,向所述控制节点请求推进至下一步长,其中%为根据 虚拟试验对步长的要求而设置的阀值。所述步骤(2. 2)的具体步骤为在所述各节点之间,所述控制线程在收到所有节 点发送的步长推进请求后,综合判断系统当前状况,向各节点发送步长推进命令,各节点在 控制线程的统一协调下实现同步向前推进;所述控制线程还负责维护虚拟试验系统的逻辑 时间,并定期向所有节点广播更新的逻辑时间。所述步骤(2.3)在虚拟试验系统运行期间,所述数据接收线程保持对端口的侦听, 收到数据后进行以下三种情况的处理a.所述数据接收线程接收到所述节点之间的交互数据后,根据本地逻辑时间和所述 交互数据所附带的逻辑时戳的大小对比判断数据的有效性,若数据有效则存入共享内存区 中的数据接收区、更新数据接收区的更新标志并通知工作线程;若数据无效则丢弃数据,继 续侦听;b.所述数据接收线程接收到来自控制节点的逻辑时间广播后,校正本地逻辑时间值;c.所述数据接收线程接收到来自控制节点的控制命令后,解读控制命令,并采取相应 动作。所述虚拟试验系统中分设控制网和运行网,所述控制命令、逻辑时间广播和所述步长推进请求通过所述控制网传送;所述节点之间的交互数据通过运行网传送。与现有技术相比,本专利技术的优点在于1、本专利技术的,通过分级同步实现节点间的同 步过程,优先保证了各个节点的工作线程的运行效率,可避免两个同步节点由于相互制约、 限制引起的死锁、冲突等现象,进而提高了整个系统运行效率。本专利技术的方法实施简单,运 行可靠,实现了高效、简洁、实用,系统资源占用率低,以较小的代价实现了分布式系统的同步。2、本专利技术的,无需运行支撑环境的支持、 不需要维护一个联邦执行的存在,在一定程度上节约了系统资源;在实现时间同步时,不需 要增加额外的时钟源,简化了系统。3、本专利技术的,运行网和控制网分离,可避 免由于数据交互繁忙造成控制命令传达不及时的问题,保证了控制端所发出的命令和逻辑 时间广播值能及时准确的传送至系统各节点,且保证了系统运行期间节点间的数据交互不 会影响控制命令的快速有效传输。附图说明图1是本专利技术的节点同步方法的总流程示意图。图2是本专利技术具体实施例中的同步系统结构示意图。图3是本专利技术具体实施例中的节点内工作线程与数据发送线程同步流程示意图。图4是本专利技术具体实施例中的节点内数据发送线程与控制线程同步流程示意图。图5是本专利技术具体实施例中的数据接收线程工作流程示意图。具体实施例方式以下将结合说明书附图和具体实施例对本专利技术作进一步详细说明。如图1所示,本专利技术的,包括以下步骤1、配置节点参见图2所示,在虚拟试验系统中设置通过网络互联的一控制节点和 二个以上的运算节点,在各节点内设置用于完成节点的数据处理和模型计算任务的工作线 程、用于输出数据的数据发送线程、用于输入数据的数据接收线程以及供前述三者共享的 共享内存区(视实际交互数据大小而定)。控制节点的工作线程为控制线程。控制线程的 一个重要功能是维护系统的逻辑时间,并定期向系统内的所有节点发布更新的逻本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:胡君朋黄芝平刘纯武蔡郭汕张羿猛苏绍璟郭晓俊
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1