当前位置: 首页 > 专利查询>之江实验室专利>正文

一种分布式系统应用间网络包延迟检测方法和装置制造方法及图纸

技术编号:39414285 阅读:8 留言:0更新日期:2023-11-19 16:05
一种分布式系统应用间网络包延迟检测方法和装置,对于任意两个系统应用A和B,每个系统应用包含一个心跳包收发模块,一个网络包收发模块和一个网络延迟计算模块,其方法包括:应用节点通过心跳发送模块按固定时间间隔向系统内其余节点发送心跳包;应用节点通过心跳接收模块接收系统内其他应用节点的心跳包,并向发来心跳包的应用节点发送心跳确认包;应用节点通过网络延迟计算模块通过心跳包中所含数据计算任意两个应用节点间上行平均主机时间差;应用节点根据心跳包计算的上行平均主机时间差作为偏移值计算业务消息的上行网络延迟。本发明专利技术减小了分布式系统内各应用所在主机的时间差对网络延迟计算的影响,使网络延迟的计算更加快速与精准。计算更加快速与精准。计算更加快速与精准。

【技术实现步骤摘要】
一种分布式系统应用间网络包延迟检测方法和装置


[0001]本专利技术涉及网络通信
,具体为一种实现分布式系统应用间网络包延迟检测方法和装置


技术介绍

[0002]网络是用物理链路将各个孤立的工作站或主机相连在一起,组成的数据链路
,
从而达到资源共享和通信的目的

通信是人与人之间通过某种媒体进行的信息交流与传递

网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信

由于分布式统具有高度的透明性和内聚性,因此被广泛的应用于计算机网络通信中

现有技术缺少一种可以检测分布式系统应用间网络包延迟的方法,导致无法确定发送和接收网络包的延迟以及同一网络包的处理转发速度


技术实现思路

[0003]本专利技术的目的在于针对现有方法的不足, 提供一种实现分布式系统应用间网络延迟检测方法和装置

针对分布式系统不同应用所在主机时间戳不一致的情况,本专利技术通过根据应用间的心跳包计算不同主机自身的系统时间差,从而确定发送与接收网络包的延迟以及同一网络包的处理转发速度

同时可以快速确定当前网络通信质量,定位网络通信问题的应用或节点

[0004]一种分布式系统应用间网络包延迟检测方法,在所述分布式系统每个应用节点包含一个心跳发送模块

心跳接收模块

网络延迟计算模块;包括如下步骤:
[0005]所述应用节点通过心跳发送模块按固定时间间隔向系统内其余节点发送心跳包;
[0006]所述应用节点通过心跳接收模块接收系统内其他应用节点的心跳包,并向发来心跳包的应用节点发送心跳确认包;
[0007]所述应用节点通过网络延迟计算模块通过心跳包中所含数据计算任意两个应用节点间上行平均主机时间差;
[0008]所述应用节点根据心跳包计算的上行平均主机时间差作为偏移值计算业务消息的上行网络延迟

[0009]进一步,所述的分布式系统应用建立网络通信的方法包括
UDP、TCP
和组播通信

[0010]进一步,所述的心跳包中包含心跳编号与心跳包发送时间戳;
[0011]所述的心跳确认包中包含心跳编号

心跳包发送时间戳

接收心跳包时的时间戳

发送心跳确认包时的时间戳

[0012]进一步,所述的分布式系统中任意应用节点,心跳包中的心跳编号随心跳包每次发送增加,保证心跳编号唯一性

[0013]进一步,所述的分布式系统中任意两个应用节点,其心跳确认包中的心跳编号

心跳包发送时间戳与收到对应心跳包中的心跳编号

心跳包发送时间戳保持一致

[0014]进一步,任意应用节点收到其他应用节点发送的心跳确认包时,将心跳确认包接
收时间戳记录到心跳确认包中,根据心跳确认包中所含数据计算得出当前节点与对应心跳确认节点的上行主机时间差,上行主机时间差计算公式为:
[0015][0016]其中,
A
表示发送节点,
B
表示接收节点,
i
表示心跳编号,表示
A
节点相对
B
节点
i
心跳包的上行主机时间差,表示
B
接收心跳包
i
的时间戳,表示
A
接收心跳确认包
i
的时间戳,表示
A
发送心跳包
i
的时间戳,表示
B
发送心跳确认包
i
的时间戳

[0017]进一步,上行平均主机时间差由多个时间点的上行主机时间差计算得出,并且所述方法进一步包括:预设时间窗口,对处于时间窗口内的上行主机时间差通过聚类方法计算得出上行平均主机时间差;删除处于时间窗口外的上行主机时间差数据;
[0018]所述的聚类方法将数据分为
N
类,
N
通过预设值确定;根据聚类结果,仅保留每一类别中数据量超过预设数据量阈值的数据,其余数据视为脉冲数据,不纳入计算范围;
[0019]根据聚类结果,对每一类中的上行主机时间差求均值;根据类别中数据量与有效数据总量的比值作为加权系数,计算得出当前应用节点与任意其他应用节点间的上行平均主机时间差;上行平均主机时间差的计算公式为:
[0020][0021]其中,
A
表示当前待计算节点,
N
为聚类后的类别总数,
j
表示当前类别,表示当前类的数据量,表示有效数据总量,表示当前类的上行主机时间差均值

[0022]进一步,上行网络延迟通过业务包内的接收时间戳

发送时间戳

收发节点间的上行平均主机时间差计算得出;
[0023]任意节点对其他节点的上行网络延迟计算公式为:
[0024][0025]其中,
A
表示发送节点,
B
表示接收节点,
i
表示当前业务包编号,表示
A
节点向
B
节点发送的第
i
个业务包的网络延迟,表示
B
节点接收到
i
包时的时间戳,表示
A
节点发送
i
包时的时间戳,表示
A

B
的上行平均主机时间差

[0026]本专利技术的一种分布式系统应用间网络包延迟检测方法,对于任意两个系统应用
A

B
,每个系统应用包含一个心跳包收发模块,一个网络包收发模块和一个网络延迟计算模块,包含以下步骤:
[0027]两个应用间发送心跳包;
[0028]更新心跳包缓存队列,计算两个应用的主机时间差;
[0029]对于两个应用间通讯的网络包,综合主机时间差,计算出网络延迟

[0030]进一步,所述的两个应用间发送心跳包包括:
[0031]S1 设置间隔时间,在时刻,应用
A
向应用
B
发送一次心跳包,所述心跳包包含心跳编号和发送时应用
A
所在的主机时间

在应用
B
向应用
A
发送一次心跳包,所述心跳包包含心跳编号和发送时应用
B
所在的主机时间

[0032]应用
B
将收到的转发回应用
A
,并向中写入接收时应用
B
所在的主机时间

转发时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种分布式系统应用间网络包延迟检测方法,其特征在于:在所述分布式系统每个应用节点包含一个心跳发送模块

心跳接收模块

网络延迟计算模块;包括如下步骤:所述应用节点通过心跳发送模块按固定时间间隔向系统内其余节点发送心跳包;所述应用节点通过心跳接收模块接收系统内其他应用节点的心跳包,并向发来心跳包的应用节点发送心跳确认包;所述应用节点通过网络延迟计算模块通过心跳包中所含数据计算任意两个应用节点间上行平均主机时间差;所述应用节点根据心跳包计算的上行平均主机时间差作为偏移值计算业务消息的上行网络延迟
。2.
如权利要求1所述的方法,其特征在于:所述的分布式系统应用建立网络通信的方法包括
UDP、TCP
和组播通信
。3.
如权利要求1所述的方法,其特征在于:所述的心跳包中包含心跳编号与心跳包发送时间戳;所述的心跳确认包中包含心跳编号

心跳包发送时间戳

接收心跳包时的时间戳

发送心跳确认包时的时间戳
。4.
如权利要求3所述的方法,其特征在于:所述的分布式系统中任意应用节点,心跳包中的心跳编号随心跳包每次发送增加,保证心跳编号唯一性
。5.
如权利要求4所述的方法,其特征在于:所述的分布式系统中任意两个应用节点,其心跳确认包中的心跳编号

心跳包发送时间戳与收到对应心跳包中的心跳编号

心跳包发送时间戳保持一致
。6.
如权利要求1所述的方法,其特征在于:任意应用节点收到其他应用节点发送的心跳确认包时,将心跳确认包接收时间戳记录到心跳确认包中,根据心跳确认包中所含数据计算得出当前节点与对应心跳确认节点的上行主机时间差,上行主机时间差计算公式为:
ꢀꢀꢀ
(1)其中,
A
表示发送节点,
B
表示接收节点,
i
表示心跳编号,表示
A
节点相对
B
节点
i
心跳包的上行主机时间差,表示
B
接收心跳包
i
的时间戳,表示
A
接收心跳确认包
i
的时间戳,表示
A
发送心跳包
i
的时间戳,表示
B
发送心跳确认包
i
的时间戳
。7.
如权...

【专利技术属性】
技术研发人员:华炜杨松杨钊
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1