CN105959347B - 一种基于p2p网络的全数字协同仿真系统通信方法 - Google Patents
一种基于p2p网络的全数字协同仿真系统通信方法 Download PDFInfo
- Publication number
- CN105959347B CN105959347B CN201610246227.3A CN201610246227A CN105959347B CN 105959347 B CN105959347 B CN 105959347B CN 201610246227 A CN201610246227 A CN 201610246227A CN 105959347 B CN105959347 B CN 105959347B
- Authority
- CN
- China
- Prior art keywords
- simulation
- node
- theme
- module
- emulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Abstract
本发明提供了一种基于P2P网络的全数字协同仿真系统通信方法,所述的方法包括:基于P2P的全数字协同仿真模型,P2P构建及主题订阅与发布,基于数据交互的仿真时序推进,仿真节点的心跳检测;所述基于P2P的全数字协同仿真模型,包括:集成仿真控制台模块、软总线模块、虚拟目标机模块、辅助测试模块;所述集成仿真控制台模块负责系统仿真过程中仿真规则的执行,构造各仿真目标机之间的协同仿真逻辑关系;所述软总线模块是全数字协同仿真与验证系统的通信枢纽,为不同仿真节点间数据交互提供可靠、实时的底层保障;所述虚拟目标机模块是一个独立的仿真节点,它完全模拟硬件设备的功能实现,将整个硬件系统虚拟化到数字平台。
Description
技术领域
本发明涉及计算机领域,具体涉及一种基于P2P网络的全数字协同仿真系统通信方法。
背景技术
近年来,随着计算机技术的发展,全数字协同仿真技术也获得了飞速的发展,且得到广泛的应用。它不仅可以作为软件研制最后阶段的测试与验证手段,还可以应用在前期的方案论证、设计等阶段。从美国武器装备体系的发展来看,全数字协同仿真在装备研制、试验鉴定乃至作战训练中都扮演了十分重要的角色,并由此形成了“仿真预测-试验-比较”的试验思想
协同通信是全数字协同仿真系统的关键模块之一,负责仿真过程中模块间数据的通信任务,保证数据通信的有序进行。由于全数字协同仿真具有高实时性、高可靠性、大数据量等特点,因而在构建全数字协同仿真模型时,网络架构成为制约仿真能力的一个重要因素。目前,常见的全数字协同仿真系统通信方法主要是基于高层体系结构(High LevelArchitecture, HLA)和基于数据分发服务(Data Distribution Service, DDS)。HLA提供了构造和描述仿真应用的通用架构,但它的实时性较差。DDS通过提供多种服务质量(QoS)约束,能满足对高性能、可预见性有较高要求的关键任务数据传输,但其实现和网络布局难度大,管理策略复杂,因而可靠性较差。
协同通信的网络架构直接影响着系统的仿真结果和性能,而现有的全数字协同仿真系统通信方法依然存在各种不足。因此,需要发明一种新的全数字协同仿真系统通信方法,用于负责全数字协同仿真系统仿真过程中模块间数据的通信,保证数据通信的有序进行,提高仿真系统的性能。
发明内容
本发明要解决的技术问题是提供一种基于P2P网络的全数字协同仿真系统通信方法,以便提高全数字协同仿真系统的实时性、可靠性和数据传输能力。
本发明的基于P2P网络的全数字协同仿真系统通信方法,包括:基于P2P的全数字协同仿真模型,P2P构建及主题订阅与发布,基于数据交互的仿真时序推进,仿真节点的心跳检测。
所述基于P2P的全数字协同仿真模型,包括:集成仿真控制台模块、软总线模块、虚拟目标机模块、辅助测试模块。
所述集成仿真控制台模块负责系统仿真过程中仿真规则的执行,构造各仿真目标机之间的协同仿真逻辑关系;所述软总线模块是全数字协同仿真与验证系统的通信枢纽,为不同仿真节点间数据交互提供可靠、实时的底层保障;所述虚拟目标机模块是一个独立的仿真节点,它完全模拟硬件设备的功能实现,将整个硬件系统虚拟化到数字平台;所述辅助测试模块包括测试管理、故障模拟、自动化测试、软件的调试和覆盖率分析等子模块。
所述P2P构建及主题订阅与发布,包括:构建集中目录式P2P网络;主题的订阅与发布。
所述构建集中目录式P2P网络,是将所述集成控制台作为为中心服务器,将所述虚拟目标机和辅助测试模块作为仿真节点,所述各个仿真节点和所述中心服务器通过TCP/IP网络连接。
所述中心服务器负责管理仿真节点的属性信息,包括IP地址、端口号、功能描述符,周期性的更新全局的仿真节点信息,仿真时序推进管理,仿真过程界面显示。所述仿真节点在所述中心服务器中查询到目标节点后,直接与所述目标节点建立连接,不再主动与所述中心服务器通信,而只是被动的响应所述中心服务器的数据请求。
所述主题的订阅与发布,包括:所述中心服务器处理所述仿真节点的主题发布请求和主题订阅请求,并维护一种所述仿真节点发布主题的哈希索引表;所述仿真节点以IP地址和关键字的哈希值形成映射,所述关键字为所述发布主题的m位二进制字符串(Key)。
所述方法的进一步方面,所述仿真节点需要发布主题时,向所述中心服务器注册主题,将(Key,IP)发送给所述中心服务器;所述仿真节点要订阅主题时,向所述中心服务器发起索引命令,所述中心服务器在哈希表中查询主题的发布节点,如果找到则将所述主题的IP信息返回给.所述仿真节点,否则等到发布所述主题的节点的到来。所述仿真节点在发送主题索引命令后处于挂起状态,直到接收到所述中心服务器的主题信息才唤醒。所述仿真节点在获取的所述主题的发布端的IP地址后,建立与所述主题发布端的直接连接。
所述基于数据交互的仿真时序推进,包括:所述集成控制台端定义一个时间推进量(Tpushahead),即仿真步长,当且仅当与当前步长有关的所有仿真活动全部结束,才将时间推进到下一个步长段;
所述集成控制台在确定Tpushahead时,需考虑所述仿真节点的数据交互时序(Texchange),确定一个基于全局的Tpushahead时间序列,所述基于全局的Tpushahead时间序列为所有仿真节点的数据交互时序的最大值;在所述仿真时序推进过程中,要根据网络传输的延时Tnetdelay和仿真节点自身的延时Ttargetdelay事实更新Tpushahead数组
所述仿真节点的心跳检测采用推模型与拉模型结合的递进式推拉模型来实现所述仿真节点“活性”的检测功能;所述仿真节点以时间周期T向所述中心服务器发送心跳包,中心服务器收到心跳包后更新已注册仿真节点的“活性”状态;
当所述服务器在时间T内未收到心跳包,则以周期T/4、T/2、3T/4、T向所述仿真节点发送确认包,期间如果收到所述仿真节点的返回数据,则认为所述仿真节点处于连接正常状态,否则认为所述仿真节点已经断开连接。
与现有技术相比,本发明具有以下优点:本发明采用的全数字协同仿真系统通信方法性能高、可预见性好、实现和网络布局简单等,容错能力强,同时可以解决优于网络的席位延时导致的长周期等待的问题。
附图说明
图1是本发明中的全数字协同仿真系统结构示意图;
图2是本发明中的集中目录式P2P网络模型示意图;
图3 是本发明中的全数字协同仿真模型示意图;
图4 是本发明中的中心服务器端主题订阅与发布流程框图;
图5 是本发明中的仿真节点端主题订阅与发布流程框图;
图6是本发明中的基于数据交互的仿真时序推进流程框图;
图7是本发明中的仿真节点心跳检测模型示意图。
具体实施方式
下面结合附图,对本发明作进一步描述。
图1是本发明的基于P2P网络的全数字协同仿真系统通信方法的全数字协同仿真系统结构示意图:全数字协同仿真系统由集成仿真控制台模块、软总线模块、虚拟目标机模块、辅助测试模块组成。其中虚拟目标机模块是一个独立的仿真节点,它完全模拟硬件设备的功能实现,将整个硬件系统虚拟化到数字平台。辅助测试模块包括测试管理、故障模拟、自动化测试、软件的调试和覆盖率分析等子模块。集成仿真控制台模块负责系统仿真过程中仿真规则的执行,构造各仿真目标机之间的协同仿真逻辑关系。软总线模块是全数字协同仿真与验证系统的通信枢纽,为不同仿真节点间数据交互提供可靠、实时的底层保障,软总线有多种不同的构建方式,而不同的网络架构直接影响着仿真系统的仿真结果和性能。
图2是本发明的基于P2P网络的全数字协同仿真系统通信方法的集中目录式P2P网络模型示意图:在集中目录式网络模型中,存在中心服务器,但与C/S模式不同的是,P2P网络的中心服务器只提供必要的网络服务(如提供索引或路由、保存网络节点信息、提供安全检验等),通过集中认证,建立索引机制。
图3是本发明的基于P2P网络的全数字协同仿真系统通信方法的全数字协同仿真模型示意图:全数字协同仿真模型采用集中目录式P2P网络,将集成控制台作为中心服务器,它负责管理仿真节点的属性信息,如IP地址、端口号、功能描述符等,周期性的更新全局的仿真节点信息,仿真时序推进管理,仿真过程界面显示等。其余的模块,包括辅助测试工具、虚拟目标机等作为仿真节点,仿真节点在中心服务器中查询到目标节点后,直接与目标节点建立连接,不再主动与中心服务器通信,而只是被动的响应中心服务器的数据请求。
图4至图5是本发明的P2P网络的全数字协同仿真系统通信方法的主题订阅与发布流程框图:每个仿真节点以IP地址和关键字的哈希值形成映射,关键字为发布主题的m位二进制字符串(key),仿真节点需要发布主题时,向中心服务器注册主题,将(key,ip)发送给中心服务器,中心服务器维护一张仿真节点发布主题的哈希索引表。若仿真节点P需要订阅主题A时,向中心服务器发起索引命令,服务器在哈希表中查询主题A的发布节点,如果找到则将其IP信息返回给仿真节点P,否则等待发布主题A的节点的到来。仿真节点P在发送主题索引命令后处于挂起状态,直到接收到服务器的主题信息才唤醒。仿真节点P获取到主题发布端H的IP地址后,建立点对点的直接连接,建立连接后主题的发布与订阅不再经过中心服务器。具体算法描述如下:
/*
SendData(topic, IP, act, data)用于服务端与客户端间消息发送函数,topic是发布或订阅主题的标识码,act为请求(REQUEST)、应答(RESPONSES)、发布(ISSUE)或订阅(SUBSCRIBE)的动作,data为附加数据。
PutHashValue(topic,IP)将值对(topic,IP)放到哈希表中。
GetHashValue(topic)根据topic查找对应的映射值。
*/
中心服务器端:
if (act == ISSUE)//发布请求
PutHashValue(toipc, IP);//发布主题注册
if (act == SUBSCRIBE)//订阅请求
IP = GetHashValue(topic);
if (IP != null)//查到topic主题
SendData(null, IP, RESPONSES, null);//将目的节点的IP地址发送给查询端
else//未查到topic主题
wait();//等待topic主题的发布,周期查询哈希表
仿真节点端:
if(有主题发布)
SendData(topic, IP, ISSUE, null);//发起主题发布
if(有主题订阅)
SendData(null, null, SUBSCRIBE, null);//发起主题索引
等待服务器端的应答,并进行超时判读;
if(超时)
超时处理;
else
SendData(null, IP-A, REQUEST, data);//向主题A节点发送数据
图6是本发明的P2P网络的全数字协同仿真系统通信方法的基于数据交互的仿真时序推进流程框图:集成控制台通过控制一个全局的逻辑时间,按照该时间给出仿真节点时间推进的命令。每个仿真节点不能自主地推进其逻辑时间,必须明确地向集成控制台提出时间推进请求,得到集成控制台授权后才能实现本地逻辑时间的推进。集成控制台端定义一个时间推进量(Tpushahead),即仿真步长,集成控制台在确定Tpushahead时,需考虑仿真节点的数据交互时序(Texchange),确定一个基于全局的Tpushahead时间序列。例如:系统中有3个仿真节点S1,S2,S3。每个节点有一个独立的T iexchange, i=1,2,3。对Tiiexchange, i=1,2,3按大小进行排序得到一个全局的Texchange,将该时间序列作为控制台的时间推进序列Tpushahead。在仿真时序推进过程中,还需考虑对等网络传输的延时Tnetdelay和仿真节点自身的延时Ttargetdelay对Tpushahead的影响。由于初始化的Tpushahead是一序列固定的时刻值,随着仿真的推进,需根据Ttargetdelay和Tnetdelay实时更新Tpushahead数组。
具体的算法描述如下:
/*
CreatePushTime()初始化时间推进量T pushahead 。
UpdateTime(delay)通过delay时间来更新T pushahead 数据。
SendScheduleTime(Time)给仿真节点发送仿真时序推进的组播命令,Time为时序推进量。
*/
中心服务器:
InitSys();//初始化集成控制台和向仿真节点发送初始化命令
CreatePushTime();
while (true) {
SendScheduleTime(Time);
currTime = 记录下发送仿真推荐的时间点;
while(仿真节点全部仿真完成){
wait(1ms);
}
endTime = 记录下本周期仿真结束时间点;
UpdateTime(endTime - currTime);
if(仿真结束)
break;
}
图7是本发明的P2P网络的全数字协同仿真系统通信方法的仿真节点心跳检测模型示意图:仿真节点以时间周期T向中心服务器发送心跳包,中心服务器收到心跳包后更新已注册仿真节点的“活性”状态。如果服务器在时间T内未收到心跳包,则以周期T/4、T/2、3T/4、T向仿真节点发送确认包,期间如果收到仿真节点的返回数据,则认为该节点处于连接正常
虽然结合附图描述了本发明的实施方式,但是本领域普通技术人员在所附权利要求的范围内不需要创造性的劳动就能做出的各种变形或修改仍属本专利的保护范围。
Claims (3)
1.一种基于P2P网络的全数字协同仿真系统通信方法,其特征在于,所述的方法包括:建立基于P2P的全数字协同仿真模型,P2P构建及主题订阅与发布,基于数据交互的仿真时序推进,仿真节点的心跳检测;所述基于P2P的全数字协同仿真模型,包括:集成仿真控制台模块、软总线模块、虚拟目标机模块、辅助测试模块;所述集成仿真控制台模块负责系统仿真过程中仿真规则的执行,构造各仿真目标机之间的协同仿真逻辑关系;所述软总线模块是全数字协同仿真与验证系统的通信枢纽,为不同仿真节点间数据交互提供可靠、实时的底层保障;所述虚拟目标机模块是一个独立的仿真节点,它完全模拟硬件设备的功能实现,将整个硬件系统虚拟化到数字平台;所述辅助测试模块包括测试管理、故障模拟、自动化测试、软件的调试和覆盖率分析子模块;
所述P2P构建及主题订阅与发布,包括:构建集中目录式P2P网络;主题的订阅与发布;所述构建集中目录式P2P网络,是将所述集成控制台作为中心服务器,将所述虚拟目标机和辅助测试模块作为仿真节点,所述各个仿真节点和所述中心服务器通过TCP/IP网络连接;所述中心服务器负责管理仿真节点的属性信息,包括IP地址、端口号、功能描述符,周期性的更新全局的仿真节点信息,仿真时序推进管理,仿真过程界面显示;所述仿真节点在所述中心服务器中查询到目标节点后,直接与所述目标节点建立连接,不再主动与所述中心服务器通信,而只是被动的响应所述中心服务器的数据请求;
所述基于数据交互的仿真时序推进,包括:所述集成控制台端定义一个时间推进量,即仿真步长,当且仅当与当前步长有关的所有仿真活动全部结束,才将时间推进到下一个步长段;所述集成控制台在确定时间推进量时,需考虑所述仿真节点的数据交互时序,确定一个基于全局的时间推进量时间序列,所述基于全局的时间推进量时间序列为所有仿真节点的数据交互时序的最大值;在所述仿真时序推进过程中,要根据网络传输的延时和仿真节点自身的延时事实更新时间推进量数组;
所述仿真节点的心跳检测采用推模型与拉模型结合的递进式推拉模型来实现所述仿真节点“活性”的检测功能;所述仿真节点以时间周期T向所述中心服务器发送心跳包,中心服务器收到心跳包后更新已注册仿真节点的“活性”状态;当所述服务器在时间T内未收到心跳包,则以周期T/4、T/2、3T/4、T向所述仿真节点发送确认包,期间如果收到所述仿真节点的返回数据,则认为所述仿真节点处于连接正常状态,否则认为所述仿真节点已经断开连接。
2.根据权利要求1所述的基于P2P网络的全数字协同仿真系统通信方法,其特征在于,所述主题的订阅与发布,包括:所述中心服务器处理所述仿真节点的主题发布请求和主题订阅请求,并维护一种所述仿真节点发布主题的哈希索引表;所述仿真节点以IP地址和关键字的哈希值形成映射,所述关键字为所述发布主题的m位二进制字符串Key。
3.根据权利要求2所述的基于P2P网络的全数字协同仿真系统通信方法,其特征在于,所述仿真节点需要发布主题时,向所述中心服务器注册主题,将Key,IP发送给所述中心服务器;所述仿真节点要订阅主题时,向所述中心服务器发起索引命令,所述中心服务器在哈希表中查询主题的发布节点,如果找到则将所述主题的IP信息返回给所述仿真节点,否则等到发布所述主题的节点的到来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610246227.3A CN105959347B (zh) | 2016-04-20 | 2016-04-20 | 一种基于p2p网络的全数字协同仿真系统通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610246227.3A CN105959347B (zh) | 2016-04-20 | 2016-04-20 | 一种基于p2p网络的全数字协同仿真系统通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105959347A CN105959347A (zh) | 2016-09-21 |
CN105959347B true CN105959347B (zh) | 2019-04-12 |
Family
ID=56917809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610246227.3A Active CN105959347B (zh) | 2016-04-20 | 2016-04-20 | 一种基于p2p网络的全数字协同仿真系统通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105959347B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981717A (zh) * | 2017-12-28 | 2019-07-05 | 中国移动通信集团公司 | 一种连接优化方法、装置及计算机存储介质 |
CN110569615B (zh) * | 2019-09-12 | 2023-05-05 | 中国工程物理研究院计算机应用研究所 | 一种多源异构嵌入式软件协同仿真测试方法 |
CN111147284B (zh) * | 2019-12-06 | 2021-09-21 | 江西洪都航空工业集团有限责任公司 | 一种以数据为中心的分布式实时仿真系统数据交互策略 |
CN113221318B (zh) * | 2021-03-30 | 2022-09-30 | 北京计算机技术及应用研究所 | 一种基于dds的系统级仿真测试环境构建方法 |
CN113630280B (zh) * | 2021-10-11 | 2022-01-28 | 中国人民解放军火箭军工程大学 | 一种分布式协同仿真运行平台 |
CN116264702A (zh) * | 2021-12-14 | 2023-06-16 | 中兴通讯股份有限公司 | 网络功能状态的检测方法、设备和存储介质 |
CN115801869B (zh) * | 2023-01-30 | 2023-05-19 | 南京天创电子技术有限公司 | 基于分布式架构的巡检机器人仿真模拟系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179191A (zh) * | 2013-02-07 | 2013-06-26 | 北京邮电大学 | P2p网络管控装置及p2p网络管控架构 |
CN105282203A (zh) * | 2014-07-21 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 一种集中目录式p2p网络的建立方法和设备 |
-
2016
- 2016-04-20 CN CN201610246227.3A patent/CN105959347B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179191A (zh) * | 2013-02-07 | 2013-06-26 | 北京邮电大学 | P2p网络管控装置及p2p网络管控架构 |
CN105282203A (zh) * | 2014-07-21 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 一种集中目录式p2p网络的建立方法和设备 |
Non-Patent Citations (1)
Title |
---|
基于P2P构架的分布式协同设计系统研究;汪大勇;《西南交通大学博士学位论文》;20081231;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105959347A (zh) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105959347B (zh) | 一种基于p2p网络的全数字协同仿真系统通信方法 | |
Lee et al. | Adaptive server selection for large scale interactive online games | |
KR20040052131A (ko) | 거리기반 분산형 온라인 게임 서버 시스템 | |
CN104253865A (zh) | 一种混合型桌面云服务平台的两级管理方法 | |
JP2019537158A (ja) | リソース共有方法、装置およびシステム | |
Ranjan et al. | Peer-to-peer service provisioning in cloud computing environments | |
CN111617487B (zh) | 游戏应用中的帐号接入方法和装置、存储介质及电子设备 | |
Lazidis et al. | Publish–Subscribe approaches for the IoT and the cloud: Functional and performance evaluation of open-source systems | |
CN107332719A (zh) | 一种cdn系统内日志实时分析的方法 | |
CN101072133A (zh) | 一种基于对等网络的高性能计算系统 | |
CN108564164A (zh) | 一种基于spark平台的并行化深度学习方法 | |
CN106656846A (zh) | 一种sdn体系架构中协调层的构建方法 | |
US20130067540A1 (en) | Techniques for achieving storage and network isolation in a cloud storage environment | |
CN108989399A (zh) | 一种集群公共数据查询方法、系统、装置及可读存储介质 | |
CN109729115A (zh) | 实现分布式计算的方法、装置、代理服务器、终端设备 | |
CN107145673A (zh) | 一种联合仿真系统和方法 | |
CN108449334A (zh) | 一种基于云计算的实训云系统及方法 | |
Kocak et al. | Design and analysis of a distributed grid resource discovery protocol | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
CN112351106B (zh) | 一种含事件网格的服务网格平台及其通信方法 | |
CN104468722A (zh) | 一种航管训练系统中训练数据分类存储的方法 | |
CN109828826A (zh) | 一种任务进度的轮询方法、装置及系统 | |
CN101741867A (zh) | 一种捕获BitTorrent网络中节点信息的方法 | |
CN106453223A (zh) | 一种无缝世界游戏服务器系统 | |
KR102020112B1 (ko) | 데이터 분산 서비스 기반 iec61850 요청-응답 통신 방법 및 플랫폼 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |