判断网络状况的方法、装置、设备及存储介质与流程

文档序号:27553373发布日期:2021-11-24 23:23阅读:77来源:国知局
判断网络状况的方法、装置、设备及存储介质与流程

1.本发明涉及网络数据传输的技术领域,更具体地,涉及一种判断网络状况的方法、装置、设备及存储介质。


背景技术:

2.随着互联网技术的发展,实时或低时延的需求不断增加,为了保证这些需求所要求的传输质量,需要对转发链路的网络拥塞情况进行实时检测,以便能够及时发现转发链路的网络拥塞情况,及时进行相应处理以减少因传输质量不好而造成的业务影响。
3.目前,对于链路的单向时延抖动,一般是通过发送专门的探测包,通过探测包的单向时延值来判断,但在不同的网络中,基于传输的材质和距离等物理原因,单向时延的值是不一样的,比如光纤传输就比同轴电缆快,星地传输的单向时延可能会到300ms等,单纯依靠单向时延值无法准确反应网络的抖动状况;另外,使用专门的探测包要额外耗费资源和等待时间,不利于网络传输。


技术实现要素:

4.本发明为克服上述现有技术所述的至少一种缺陷,提供一种判断网络状况的方法、装置、设备及存储介质。本发明采用的技术方案如下。
5.第一方面,本发明提供一种判断网络状况的方法,包括步骤:
6.获取本端到对端在发送方向上的当前单向时延、最小单向时延;
7.计算当前单向时延与最小单向时延之差;
8.根据所述当前单向时延与最小单向时延之差,得到本端到对端发送方向上的网络状况。
9.在一种实施方式中,得到所述当前单向时延包括步骤:
10.向对端发送数据包,所述数据包包含本端发送时间戳t1;
11.接收对端发出的应答包;
12.其中,所述应答包包括:发送方向上的当前单向时延;
13.所述当前单向时延根据本端发送时间戳t1和对端接收到所述数据包的时间戳t2的差值得出。
14.在一种实施方式中,所述判断网络状况的方法用于判断音/视频传输网络状况;
15.所述数据包为音/视频数据包;
16.所述应答包为对端周期性或当连续收到多个音/视频数据包时回复本端的应答包。
17.在一种实施方式中,所述当前单向时延根据接收到的最新的音/视频数据包得出。
18.在一种实施方式中,得到所述最小单向时延包括步骤:
19.获取当前单向时延和当前的最小单向时延;
20.比较当前单向时延和当前的最小单向时延,得出最小单向时延;
21.其中,当当前单向时延小于当前的最小单向时延时,用当前单向时延取代当前的最小单向时延作为最小单向时延。
22.在一种实施方式中,所述判断网络状况的方法用于判断音/视频传输网络状况;
23.所述数据包为视频数据包;
24.所述最小单向时延为上一个gop周期中最小的当前单向时延。
25.在一种实施方式中,在发送码率达到设定的最低发送值的时长超过预设时长,且所述当前单向时延与最小单向时延之差超过预设阈值时,用当前单向时延取代当前的最小单向时延作为最小单向时延。
26.第二方面,本发明提供一种判断音/视频传输网络状况的方法,包括步骤:
27.发送端发送音/视频数据包,所述音/视频数据包包含发送端发送时间戳t1;
28.接收端接收所述音/视频数据包,取出所述时间戳t1,获取接收端接收时间戳t2,根据时间戳t2和时间戳t1的差值得出发送方向上的当前单向时延;
29.接收端周期性或当连续收到多个音/视频数据包时回复发送端应答包,所述应答包包含所述当前单向时延;
30.发送端接收接收端发来的所述应答包,取出所述当前单向时延,根据所述当前单向时延判断发送方向上的网络状况。
31.第三方面,本发明提供一种判断网络状况的装置,包括:
32.获取模块,用于获取本端到对端在发送方向上的当前单向时延、最小单向时延;
33.计算模块,用于计算当前单向时延与最小单向时延之差;
34.判断模块,用于根据所述当前单向时延与最小单向时延之差,判断本端到对端发送方向上的网络状况。
35.第四方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施方式的方法。
36.第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一实施方式的方法。
37.本发明根据在一定有限时间内,通信双方数据所经过的物理链路不会发生太大变化,引起网络抖动时延的主要原因是网络带宽的拥挤程度所产生的变化的原理,以当前的单向时延的相对变化量作为网络单向时延抖动,借此判断网络状况,得出的结果非常灵敏,可以迅速反映网络状况,非常具有参考价值。
附图说明
38.图1是实施例一的方法的整体流程示意图。
39.图2是实施例一的一种实施方式的流程示意图。
40.图3是实施例一的另一种实施方式的流程示意图。
41.图4是实施例二的方法的流程示意图。
42.图5是实施例三的装置的结构示意图。
具体实施方式
43.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
44.需要说明的是,本发明实施例所涉及的术语“第一\第二\
……”
仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\
……”
在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\
……”
区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
45.实施例一
46.请参见图1,图1为本发明实施例一提供的一种判断网络状况的方法的流程示意图,该方法包括步骤s110、步骤s120和步骤s130。需要注意的是,步骤s110、步骤s120和步骤s130仅为附图标记,用于清晰解释实施例与附图1的对应关系,不代表对本实施例中判断网络状况的方法的各方法步骤的顺序限定。
47.步骤s110,获取本端到对端在发送方向上的当前单向时延、最小单向时延。
48.一般来说,本端周期性向对端发送包括自身发送时间和包序号的回显请求报文的数据包;接收对端回复的包括所述回显请求报文内容的回显应答报文的应答包,根据所述回显应答报文的内容、接收到所述回显应答报文的时间。计算本采用周期接收到回显应答报文的时间与该回显应答报文内容中的发送该回显应答报文的时间之差,得到发送时隙差值senttimeslot。根据该发送时隙差值senttimeslot,可以得出当前单向时延。例如,以该发送时隙差值作为当前单向时延,或按预设的模型加以修正,得到最终的发送方向上的当前单向时延。
49.自链路搭建以来,每个采样周期(包括本采用周期)都有各自采样周期得到的当前单向时延,所有的这些当前单向时延的最小值就是最小单向时延。当然,也可以采用某段时间或某段采用周期中最小的当前单向时延的最小值就作为最小单向时延。
50.由于在不同的网络中,基于传输的材质和距离等物理原因,单向时延的值是不一样的,而最小单向时延可以认为是当前链路上,只受物理原因影响而造成的时延。
51.步骤s120,计算当前单向时延与最小单向时延之差。
52.通过计算,得出当前单向时延与最小单向时延之差,该差值可以认为是当前单向时延中撇除物理原因而造成的时延,该差值作为计算本端到对端发送方向上的链路的单向时延抖动的基础值。
53.步骤s130,根据所述当前单向时延与最小单向时延之差,得到本端到对端发送方向上的网络状况。
54.在步骤s120得出的基础值的基础上,通过试验或经验值,对该基础值进行修正,例如在该基础值前乘以修正系数,然后就到得到本端到对端发送方向上的链路的单向时延抖动。当然,也可以不作修正,直接用该基础值作为本端到对端发送方向上的链路的单向时延抖动。例如,用senttimeslot_jitter表示本端到对端发送方向上的链路的单向时延抖动值,senttimeslot_jitter=senttimeslot

senttimeslot_good,即当前单向时延与最小单
向时延之差作为当前的抖动值。得到该抖动值后,可以根据该senttimeslot_jitter判断本发送方向的网络状况。
55.我们知道,在一定有限时间内,通信双方数据所经过的物理链路是不会发生太大变化的,所以传播时延是一定的。在这种情况下,引起网络抖动的主要原因是网络带宽的拥挤程度所产生的变化。因此,可以以链路中通畅没有拥堵时的单向时延作为基准,认为当前的单向时延比该基准单向时延多花的时间是由网络抖动所造成的。所以,用当前的单向时延与该基准单向时延作比较,二者间的差值作为单向时延抖动的基础值。但实际上,基准单向时延只是一个理想状态值,很难得出,所以本发明以所有采样周期中的最小单向时延作为基准单向时延,近似得出基准单向时延,然后用当前的单向时延与该最小单向时延进行比较,再进行修正,得出单向时延抖动,继而判断网络状况。
56.这里必须说明的是,本发明所说的本端一般指发送方,对端一般指接收方,在这种情况下,本发明的方法用在发送方上。但在全双工通信链路中,接收方往发送方也会发送数据,所以在这种情况下,本发明的方法既可以用在发送方上,也可以用在接收方上,用在发送方时,本端就是发送方,用在接收方时,本端就是接收方。
57.本实施例方法根据在一定有限时间内,通信双方数据所经过的物理链路不会发生太大变化,引起网络抖动的主要原因是网络带宽的拥挤程度所产生的变化的原理,以当前的单向时延的相对变化量作为网络单向时延抖动,借此判断网络状况,得出的结果非常灵敏,可以迅速反映网络状况,非常具有参考价值。
58.在一种实施方式中,如图2所示,得到所述当前单向时延包括:步骤s210和步骤s220。
59.步骤s210,向对端发送数据包,所述数据包包含本端发送时间戳t1。
60.本端向对端发送数据包,每发出一个数据包,包内都携有本端发送时间戳t1。携有本端发送时间戳t1的数据包可以标识其唯一性,以避免应答方在网络拥塞的情况下对连续晚到的数据包出现误判。
61.步骤s220,接收对端发出的应答包;
62.其中,所述应答包包括:发送方向上的当前单向时延;
63.所述当前单向时延根据本端发送时间戳t1和对端接收到所述数据包的时间戳t2的差值得出。
64.对端收到数据包后,将数据包中的时间戳t1取出来,获取接收端接收到数据包的时间戳t2,根据时间戳t2和时间戳t1的差值得出发送方向上的发送时隙差值senttimeslot,即senttimeslot=t2

t1。根据该发送时隙差值senttimeslot,得出当前单向时延。例如,以该发送时隙差值作为当前单向时延,或按预设的模型加以修正,得到最终的发送方向上的当前单向时延。
65.这里需要说明的是,由于本端和对端不是使用相同的时间戳系统,有可能出现时间戳t2比时间戳t1还早的情形,导致发送时隙差值为负值,但在发送时隙差值的大小上,仍然是耗时更短时发送时隙差值更小。
66.在一种实施方式中,所述判断网络状况的方法用于判断音/视频传输网络状况;
67.所述数据包为音/视频数据包;
68.所述应答包为对端周期性或当连续收到多个音/视频数据包时回复本端的应答
包。
69.在音/视频传输网络中,网络拥塞和丢包往往出现在单位时间内发送音/视频数据包量较大的时机,单位时间内发送的音/视频数据包量越多,对网络拥塞情况的探测就越频繁,就越能较实时地探测到网络的拥塞情况。另外,由于音/视频数据传输本身具有应答机制,可以充分利用该应答机制,不需要专门的探测包,不需要额外耗费资源和等待时间。
70.此时,接收端可以设定两种发送应答包的时机的类型,一种是按照设定时间周期timeperiod发送应答包,另外一种是连续收到n个音/视频数据包后发送应答包,本领域技术人员可以根据实际情况,选择其中一种发送应答包的方式。另外,接收端可以根据实际情况设置周期时长timeperiod或n值来调整发送应答包的时机。
71.这里必须说明的是,不论采用上述哪种发送应答包的方式,由于接收到的音/视频数据包不止一个,所以实际上一个应答周期内产生了多个发送时隙差值senttimeslot。在这种情况下,可以根据实际情况,选取其中合适的发送时隙差值senttimeslot进行处理得出当前单向时延,例如,可以选取最新接收到的音/视频数据包得到的senttimeslot,或者是一个应答周期内的senttimeslot的平均值,又或者是取一个应答周期内的最高/最低的senttimeslot值。
72.在一种实施方式中,所述当前单向时延根据接收到的最新的音/视频数据包得出。
73.如前所述,一个应答周期内产生了多个发送时隙差值senttimeslot,由于最新接收到的音/视频数据包得到的senttimeslot值实时性最强,比较能反映当前的最小单向时延,所以根据该senttimeslot来得出当本应答周期的前单向时延。
74.在一种实施方式中,如图3所示,得到最小单向时延包括步骤:步骤s310和步骤s320。
75.步骤s310,获取当前单向时延和当前的最小单向时延。
76.获取当前单向时延,该当前单向时延可以通过上一种实施方式所阐述的方法得到,也可以通过其他方法得到。获取当前的最小单向时延,该当前的最小单向时延是指本采样周期之前的最小单向时延。
77.步骤s320,比较当前单向时延和当前的最小单向时延,得出最小单向时延;其中,当当前单向时延小于当前的最小单向时延时,用当前单向时延取代当前的最小单向时延作为最小单向时延。
78.由于该当前的最小单向时延(senttimeslot_good)是指本采样周期之前的最小单向时延,所以可能会出现本采样周期的当前单向时延小于当前的最小单向时延,因此需要对二者进行比较,用二者中的较小值作为最终的最小单向时延,即senttimeslot_good=senttimeslot_good>senttimeslot?senttimeslot:senttimeslot_good,得到包括本采用周期的所有单向时延的最小值。本采样周期中得到的最小单向时延可以供下一个采样周期使用,下一个采样周期可以继续采用本实施方式的方法得到该采样周期的最小单向时延。
79.在一种实施方式中,所述判断网络状况的方法用于判断音/视频传输网络状况;
80.所述数据包为视频数据包;
81.所述最小单向时延为上一个gop周期中最小的当前单向时延。
82.如前所述,在音/视频传输网络中,使用音/视频数据包更加简单有优势,效果更好。本实施例中优选使用视频数据包,当使用视频数据包时,可以利用上一个gop周期中接
收到的若干个当前单向时延中最小的一个作为本gop周期中最小单向时延。由于在同一物理链路,各段时间的链路状态可能会发生一些改变,依靠历史最小值并不能反映当前的链路状态,因此有必要根据近期的最小单向时延进行更新,这里采用gop为更新单位,本gop的最小单向时延以上一个gop的所有当前单向时延中的最小值更新。
83.当然,对于这个最小单向时延的使用,可以在整个本gop周期中都作为最小单向时延使用,也可以如前一实施方式中,用当期单向时延和最小单向时延中的较小值作为最小单向时延。
84.在一种实施方式中,在发送码率达到设定的最低发送值的时长超过预设时长,且所述当前单向时延与最小单向时延之差超过预设阈值时,用当前单向时延取代当前的最小单向时延作为最小单向时延。
85.假如当发送码率达到设定的最低发送阈值一段时间后的最小单向时延仍然比较大,有可能链路发生了切换,那么更新最小单向时延为当前单向时延,以避免低发送码率导致的数据量长期堆积。
86.实施例二
87.实施例二的方法与实施例一的方法相对应,具体还包括了发送端和接收端。请参见图4,图4为本发明实施例二提供的一种判断音/视频传输网络状况的方法的流程示意图,该方法包括步骤s410、步骤s420、步骤s430和步骤s440。需要注意的是,步骤s410、步骤s420、步骤s430和步骤s440仅为附图标记,用于清晰解释实施例与附图4的对应关系,不代表对本实施例中判断音/视频传输网络状况的方法的各方法步骤的顺序限定。
88.步骤s410,发送端发送音/视频数据包,所述音/视频数据包包含发送端发送时间戳t1;
89.步骤s420,接收端接收所述音/视频数据包,取出所述时间戳t1,获取接收端接收时间戳t2,根据时间戳t2和时间戳t1的差值得出发送方向上的单向时延;
90.步骤s430,接收端周期性或当连续收到多个音/视频数据包时回复发送端应答包,所述应答包包含所述单向时延;
91.步骤s440,发送端接收接收端发来的所述应答包,取出所述单向时延,根据所述单向时延判断发送方向上的网络状况。
92.本实施例方法根据在一定有限时间内,通信双方数据所经过的物理链路不会发生太大变化,引起网络抖动时延的主要原因是网络带宽的拥挤程度所产生的变化的原理,以当前的单向时延的相对变化量作为网络单向时延抖动,借此判断网络状况,得出的结果非常灵敏,可以迅速反映网络状况,非常具有参考价值。另外,由于音/视频数据传输本身具有应答机制,可以充分利用该应答机制,不需要专门的探测包,不需要额外耗费资源和等待时间。
93.实施例三
94.与实施例一的方法相对应,如图5所示,本发明还提供一种判断网络状况的装置5,包括:获取模块510、计算模块520和判断模块530。
95.获取模块510,用于获取本端到对端在发送方向上的当前单向时延、最小单向时延;
96.计算模块520,用于计算当前单向时延与最小单向时延之差;
97.判断模块530,用于根据所述当前单向时延与最小单向时延之差,判断本端到对端发送方向上的网络状况。
98.本装置根据在一定有限时间内,通信双方数据所经过的物理链路不会发生太大变化,引起网络抖动时延的主要原因是网络带宽的拥挤程度所产生的变化的原理,以当前的单向时延的相对变化量作为网络单向时延抖动,借此判断网络状况,得出的结果非常灵敏,可以迅速反映网络状况,非常具有参考价值。
99.在一种实施方式中,所述判断网络状况的装置还包括:发送模块和接收模块。
100.发送模块,用于向对端发送数据包,所述数据包包含本端发送时间戳t1;
101.接收模块,用于接收对端发出的应答包;
102.其中,所述应答包包括:发送方向上的当前单向时延;
103.所述当前单向时延根据本端发送时间戳t1和对端接收到所述数据包的时间戳t2的差值得出。
104.在一种实施方式中,所述判断网络状况的装置用于判断音/视频传输网络状况;
105.所述数据包为音/视频数据包;
106.所述应答包为对端周期性或当连续收到多个音/视频数据包时回复本端的应答包。
107.在一种实施方式中,所述当前单向时延根据接收到的最新的音/视频数据包得出。
108.在一种实施方式中,所述判断网络状况的装置还包括:最小时延计算模块。
109.最小时延计算模块,用于得到所述最小单向时延,其中得到所述最小单向时延的过程包括步骤:
110.获取当前单向时延和当前的最小单向时延;
111.比较当前单向时延和当前的最小单向时延,得出最小单向时延;
112.其中,当当前单向时延小于当前的最小单向时延时,用当前单向时延取代当前的最小单向时延作为最小单向时延。
113.在一种实施方式中,所述判断网络状况的装置用于判断音/视频传输网络状况;
114.所述数据包为视频数据包;
115.所述最小单向时延为上一个gop周期中获取到的所有当前单向时延中的最小值。
116.在一种实施方式中,在发送码率达到设定的最低发送值的时长超过预设时长,且所述当前单向时延与最小单向时延之差超过预设阈值时,用当前单向时延取代当前的最小单向时延作为最小单向时延。
117.实施例四
118.本发明实施例还提供了一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述任一实施例的判断网络状况的方法或判断音/视频传输网络状况的方法。
119.本领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(ram,random access memory)、只读存储器(rom,read

only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
120.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品
销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、终端、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、ram、rom、磁碟或者光盘等各种可以存储程序代码的介质。
121.与上述的计算机存储介质对应的是,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现如上述各实施例中的任意一种判断网络状况的方法或判断音/视频传输网络状况的方法。
122.上述计算机设备,通过处理器上运行的计算机程序,根据在一定有限时间内,通信双方数据所经过的物理链路不会发生太大变化,引起网络抖动时延的主要原因是网络带宽的拥挤程度所产生的变化的原理,以当前的单向时延的相对变化量作为网络单向时延抖动,借此判断网络状况,得出的结果非常灵敏,可以迅速反映网络状况,非常具有参考价值。
123.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
124.显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1