本技术涉及通信,特别是涉及一种基于聚类分组与延迟校正的联合仿真时钟同步方法及设备。
背景技术:
1、在基于分布式网络的联合仿真中,由于仿真节点的分散独立,以及消息传输延迟、计算延迟、时钟不同步等因素的存在,会导致联合仿真系统存在数据到达时序混乱、逻辑事件因果关系错乱等问题,最终导致仿真过程与真实世界严重偏离,仿真结果不可信,甚至整个仿真系统的崩溃。
2、联合仿真时钟同步问题的根源包含两个方面:1)多个独立时钟并存。系统中包含多个相互独立的仿真节点,每个仿真节点拥有自己的本地时钟,时钟运行环境和频率也存在差异。因此,ncs中的多个仿真节点的机器时间难以保持完全一致,难于实现统一的全局物理时钟,且节点之间的传输存在抖动,因此为了保证各仿真节点的事件一致性、按因果顺序接收消息,需要进行机器时间(或墙钟时间)同步。2)信息传输延迟。网络延迟的存在,可能使得对事件传输没有按照时间顺序进行,从全局来看就是虚拟时空中的时间不一致,从而出现时间先后关系扭曲的现象。消息传输延迟的动态性使因果事件的自然先后关系在各个进程失去了必然性,延迟不一致很有可能导致消息接收顺序异常。现今的常规做法是在传递仿真事件的同时附加事件产生时的机器时间或仿真时间,其前提是使用ntp协议使得整个联合仿真系统中的机器时钟保持同步。经典时间同步协议(network time protocol,ntp)是一种常用的分布式网络时间同步算法,它可以计算两台计算机之间的时间偏差,并进行时间同步。ntp是一种应用层协议,通过在网络中的时间服务器和客户端之间进行时间同步,确保计算机系统中的时间准确性。时间同步精度受到时间同步算法本身、网络波动等因素影响。
3、随着联合仿真系统规模的不断扩展,传统的基于ntp的时钟同步方法出现了适用性问题。1)网络延迟的不确定性影响时间偏差估计。在ntp通讯传输过程中,网络路由不确定性对时间偏差估计有很大影响。在网络负载高、任务繁忙时,通讯耗时具有很大的不确定性。2)系统规模扩展增加了算法通信成本。ntp方法不能很好的应用于大规模的分布式网络,因为该算法需要所有仿真节点都与ntp服务端通信,导致服务端通信负载过大,成为性能瓶颈。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高时间同步精度的基于聚类分组与延迟校正的联合仿真时钟同步方法及设备。
2、一种基于聚类分组与延迟校正的联合仿真时钟同步方法,所述方法应用于包括多个网络节点的分布式网络联合仿真系统,所述方法包括:
3、根据k-medoids聚类方法以聚类总代价最小为目标确定聚类中心点后对网络节点按照一定的量度分配类簇;
4、在每一个类簇内选择与授时服务器通信耗时最短的节点作为代理服务器,代理服务器与对类簇内客户端之间根据统计-不等式法优化的ntp方法进行时间同步,包括:记录通信过程中四个时间戳并建立四个时间戳与代理服务器和客户端之间的时钟偏差以及单向延迟的关系式;根据通信过程中的单向延迟中的最小值度对关系式进行变换,得到变换后的关系式;
5、根据变换后的关系式取平均值,得到优化后的时间偏差;利用优化后的时间偏差和往返时延实现授时服务器与代理服务器之间的时间同步;网络节点包括授时服务器、代理服务器和客户端;授时服务器与代理服务器之间根据统计-不等式法优化的ntp方法进行时间同步。
6、在其中一个实施例中,聚类总代价的计算过程,包括:
7、聚类总代价的计算表达式为
8、;
9、;
10、其中,表示类簇总数,表示类簇中心,表示网络节点,表示分布式网络,表示节点与类簇中心之间的量度。
11、在其中一个实施例中,四个时间戳包括代理服务器仿真节点首先读取自己的时钟得到时间戳、服务器接收到数据包后,立即读取自己的时钟得到时间戳、服务器在准备好传输数据时再次读取自身时钟得到的时间戳和客户端仿真阶段收到数据包时,立即读取自身时钟得到的时间戳。
12、在其中一个实施例中,建立四个时间戳与授时服务器和代理服务器之间的时钟偏差以及单向延迟的关系式为
13、;
14、其中,是客户端首先读取自己的时钟得到时间戳,是代理服务器接收到数据包后,立即读取自己的时钟得到时间戳,是代理服务器在准备好传输数据时再次读取自身时钟得到的时间戳,是客户端收到数据包时,立即读取自身时钟得到的时间戳,表示时钟偏差,表示客户端首次向代理服务器发送数据包的单向延迟,表示代理服务器接收到数据包后再发送给客户端的单向延迟。
15、在其中一个实施例中,根据通信过程中的单向延迟中的最小值度对关系式进行变换,得到变换后的关系式,包括:
16、根据通信过程中的单向延迟中的最小值度对关系式进行变换,得到变换后的关系式为
17、;
18、;
19、其中,是客户端首先读取自己的时钟得到时间戳,是代理服务器接收到数据包后,立即读取自己的时钟得到时间戳,是代理服务器在准备好传输数据时再次读取自身时钟得到的时间戳,是客户端收到数据包时,立即读取自身时钟得到的时间戳,表示时钟偏差,表示客户端首次向代理服务器发送数据包的单向延迟,表示代理服务器接收到数据包后再发送给客户端的单向延迟,是中的最小值,是中的最小值,表示的最小值,表示的最小值,表示的最小值,表示的最小值。
20、在其中一个实施例中,根据变换后的关系式取平均值,得到优化后的时间偏差,包括:
21、根据变换后的关系式取平均值,得到优化后的时间偏差为
22、;
23、其中,表示的最小值,表示的最小值,表示的最小值,表示的最小值。
24、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
25、根据k-medoids聚类方法以聚类总代价最小为目标确定聚类中心点后对网络节点按照一定的量度分配类簇;
26、在每一个类簇内选择与授时服务器通信耗时最短的节点作为代理服务器,代理服务器与对类簇内客户端之间根据统计-不等式法优化的ntp方法进行时间同步,包括:记录通信过程中四个时间戳并建立四个时间戳与代理服务器和客户端之间的时钟偏差以及单向延迟的关系式;根据通信过程中的单向延迟中的最小值度对关系式进行变换,得到变换后的关系式;
27、根据变换后的关系式取平均值,得到优化后的时间偏差;利用优化后的时间偏差和往返时延实现授时服务器与代理服务器之间的时间同步;网络节点包括授时服务器、代理服务器和客户端;授时服务器与代理服务器之间根据统计-不等式法优化的ntp方法进行时间同步。
28、上述基于聚类分组与延迟校正的联合仿真时钟同步方法,本技术针对大规模联合仿真,采用聚类算法将其分为多个子类,将大规模化为小规模,便于统计-不等式法优化的ntp方法的应用,同时减小了授时服务器的通信开销。针对传统ntp方法受网络通路由不确定性影响大,使用基于统计-不等式法优化的ntp方法,通过多次通讯后取均值的方法,降低了通信耗时不对称的影响,提高时间偏差的计算精度。针对子类内部的时间同步,采用组播的方式进行,只需要代理服务器将授时服务器同步后的时间组播即能实现时间同步,减小了通信开销,提高授时精度。将统计-不等式法与代理服务器组播方法结合到一个程序中,各计算机自行选择工作模式,输入服务器ip、组播地址、同步频率、同步次数等数据后即可运行,结构简单、操作便捷、性能好。
1.一种基于聚类分组与延迟校正的联合仿真时钟同步方法,其特征在于,所述方法应用于包括多个网络节点的分布式网络联合仿真系统,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述聚类总代价的计算过程,包括:
3.根据权利要求1所述的方法,其特征在于,所述四个时间戳包括代理服务器仿真节点首先读取自己的时钟得到时间戳、服务器接收到数据包后,立即读取自己的时钟得到时间戳、服务器在准备好传输数据时再次读取自身时钟得到的时间戳和客户端仿真阶段收到数据包时,立即读取自身时钟得到的时间戳。
4.根据权利要求3所述的方法,其特征在于,建立所述四个时间戳与授时服务器和代理服务器之间的时钟偏差以及单向延迟的关系式为
5.根据权利要求1所述的方法,其特征在于,根据通信过程中的单向延迟中的最小值度对所述关系式进行变换,得到变换后的关系式,包括:
6.根据权利要求1所述的方法,其特征在于,根据所述变换后的关系式取平均值,得到优化后的时间偏差,包括:
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。