网络拥塞控制方法、装置、电子设备及存储介质与流程

未命名 08-07 阅读:114 评论:0


1.本公开涉及数据传输技术领域,尤其涉及一种网络拥塞控制方法、装置、电子设备及存储介质。


背景技术:

2.随着线上交互的广泛应用,数据一般需要经过网络传输以实现该线上交互,而数据在网络中传输的过程中会遇到各式各样的问题,例如网络带宽波动等。这在一些实时性要求较高的数据传输场景,比如在视频会议这类实时音视频应用中,网络带宽突发性的下降会导致音视频数据无法按时抵达,造成卡顿,影响用户体验。
3.相关技术中,一般选择通过滑动平均去观测时延变化来进行拥塞控制,但滑动平均本身的收敛速度不够快,仍然会造成卡顿;并且可能会出现带宽下降的误判。因此,拥塞控制算法对带宽突变的敏感性和精准性,以及及时有效的应对措施对降低音视频卡顿率尤为关键。


技术实现要素:

4.本公开提供一种网络拥塞控制方法、装置、电子设备及存储介质,以至少解决相关技术中如何高效且精准进行拥塞控制以避免实时数据传输场景下卡顿的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种网络拥塞控制方法,包括:
6.获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值;
7.在所述目标时延信息大于预设时延阈值、且所述数据包累计数量大于所述目标数量阈值的情况下,确定预设时段内所述目标数据包的接收终端对应的数据接收速率;所述预设时段的终止时间为所述目标数据包的接收时间;
8.基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,以使所述发送终端按照所述数据发送速率发送数据包。
9.在一种可能的实现方式中,所述时延持续增长的数据包累计数量的获取步骤包括:
10.获取所述目标数据包的上一个数据包的历史时延信息以及时延持续增长的数据包的当前累计数量;
11.在所述目标时延信息小于或等于所述历史时延信息的情况下,根据预设方式降低当前累计数量,得到所述数据包累计数量。
12.在一种可能的实现方式中,所述方法还包括:
13.在所述目标时延信息大于所述历史时延信息的情况下,根据当前累计数量和预设增加数量,得到所述数据包累计数量。
14.在一种可能的实现方式中,所述目标数量阈值的获取步骤包括:
15.获取初始数量阈值以及所述目标数据包的上一个数据包的历史时延信息;
16.在所述目标时延信息大于所述历史时延信息的时延差值未达到时延差阈值的情况下,将所述初始数量阈值作为所述目标数量阈值。
17.在一种可能的实现方式中,所述方法还包括:
18.在所述目标时延信息大于所述历史时延信息的时延差值达到所述时延差阈值的情况下,根据所述时延差值和所述初始数量阈值,得到所述目标数量阈值;
19.其中,所述目标数量阈值与所述时延差值和所述初始数量阈值均正相关。
20.在一种可能的实现方式中,所述基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,包括:
21.获取用于调节网络拥塞的目标时长信息;
22.根据所述目标时延信息和所述数据接收速率,确定拥塞数据量;
23.基于所述拥塞数据量和所述目标时长信息,得到所述拥塞数据量被传输至所述接收终端的预测速率;
24.将所述数据接收速率与所述预测速率的差值,作为所述数据发送速率。
25.在一种可能的实现方式中,所述获取用于调节网络拥塞的目标时长信息,包括:
26.获取所述目标数据包所属业务的业务类型;所述业务类型用于表征所述目标数据包所属业务对于实时数据的需求等级;
27.根据所述业务类型,确定对应的所述目标时长信息;所述目标时长信息与所述需求等级负相关。
28.在一种可能的实现方式中,所述获取目标数据包的目标时延信息,包括:
29.从所述目标数据包中提取发送时间;
30.根据所述接收时间和所述发送时间,得到所述目标数据包的目标时延信息。
31.根据本公开实施例的第二方面,提供一种网络拥塞控制装置,包括:
32.信息获取模块,被配置为执行获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值;
33.拥塞检测模块,被配置为执行在所述目标时延信息大于预设时延阈值、且所述数据包累计数量大于所述目标数量阈值的情况下,确定预设时段内所述目标数据包的接收终端对应的数据接收速率;所述预设时段的终止时间为所述目标数据包的接收时间;
34.拥塞控制模块,被配置为执行基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,以使所述发送终端按照所述数据发送速率发送数据包。
35.在一种可能的实现方式中,所述信息获取模块包括:
36.历史时延和累计数量获取单元,被配置为执行获取所述目标数据包的上一个数据包的历史时延信息以及时延持续增长的数据包的当前累计数量;
37.第一累计数量获取单元,被配置为执行在所述目标时延信息小于或等于所述历史时延信息的情况下,根据预设方式降低当前累计数量,得到所述数据包累计数量。
38.在一种可能的实现方式中,所述信息获取模块还包括:
39.第二累计数量获取单元,被配置为执行在所述目标时延信息大于所述历史时延信息的情况下,根据当前累计数量和预设增加数量,得到所述数据包累计数量。
40.在一种可能的实现方式中,所述信息获取模块还包括:
41.初始数量阈值和历史时延获取单元,被配置为执行获取初始数量阈值以及所述目标数据包的上一个数据包的历史时延信息;
42.第一目标数量阈值单元,被配置为执行在所述目标时延信息大于所述历史时延信息的时延差值未达到时延差阈值的情况下,将所述初始数量阈值作为所述目标数量阈值。
43.在一种可能的实现方式中,所述信息获取模块还包括:
44.第二目标数量阈值单元,被配置为执行在所述目标时延信息大于所述历史时延信息的时延差值达到所述时延差阈值的情况下,根据所述时延差值和所述初始数量阈值,得到所述目标数量阈值;
45.其中,所述目标数量阈值与所述时延差值和所述初始数量阈值均正相关。
46.在一种可能的实现方式中,所述拥塞控制模块包括:
47.预设时长获取单元,被配置为执行获取用于调节网络拥塞的目标时长信息;
48.拥塞数据量确定单元,被配置为执行根据所述目标时延信息和所述数据接收速率,确定拥塞数据量;
49.预测速率获取单元,被配置为执行基于所述拥塞数据量和所述目标时长信息,得到所述拥塞数据量被传输至所述接收终端的预测速率;
50.拥塞控制单元,被配置为执行将所述数据接收速率与所述预测速率的差值,作为所述数据发送速率。
51.在一种可能的实现方式中,所述预设时长获取单元包括:
52.业务类型获取子单元,被配置为执行获取所述目标数据包所属业务的业务类型;所述业务类型用于表征所述目标数据包所属业务对于实时数据的需求等级;
53.预设时长获取子单元,被配置为执行根据所述业务类型,确定对应的所述目标时长信息;所述目标时长信息与所述需求等级负相关。
54.在一种可能的实现方式中,所述信息获取模块还包括:
55.发送时间获取单元,被配置为执行从所述目标数据包中提取发送时间;
56.目标时延信息获取单元,被配置为执行根据所述接收时间和所述发送时间,得到所述目标数据包的目标时延信息。
57.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一项所述的方法。
58.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的第一方面中任一所述的方法。
59.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时,使得计算机执行本公开实施例的第一方面中任一项所述的方法。
60.本公开的实施例提供的技术方案至少带来以下有益效果:
61.通过目标时延信息结合时延持续增长的数据包累计数量来判断网络拥塞的发生,可以敏感快速的检测到是否发生网络拥塞,从而能够更加迅速地进行拥塞控制,即快速进行发送端的数据发送速率控制,能够满足实时性要求较高的数据传输场景的要求,及时有
效缓解数据卡顿现象;并且,通过设置时延持续增长的数据包累计数量大于目标数量阈值的拥塞条件,可以避免将网络抖动误判为网络拥塞,使得网络拥塞的确定更加精准,从而可以实现高效且精准的拥塞控制。
62.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
63.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
64.图1是根据一示例性实施例示出的一种应用环境的示意图。
65.图2是根据一示例性实施例示出的一种网络拥塞控制方法的流程图。
66.图3是根据一示例性实施例示出的一种网络传输中的队列模型示意图。
67.图4是根据一示例性实施例示出的一种网络拥塞控制的流程示意图。
68.图5是根据一示例性实施例示出的一种基于数据接收速率,确定目标数据包的发送终端对应的数据发送速率的方法流程图。
69.图6是根据一示例性实施例示出的一种网络拥塞控制装置框图。
70.图7是根据一示例性实施例示出的一种用于网络拥塞控制的电子设备的框图。
71.图8是根据一示例性实施例示出的另一种用于网络拥塞控制的电子设备的框图。
具体实施方式
72.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
73.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
74.请参阅图1,图1是根据一示例性实施例示出的一种应用环境的示意图,如图1所示,该应用环境可以包括网络01、发送终端02以及接收终端03。
75.在一个可选的实施例中,网络01可以用于将发送终端02发送的数据包传输至接收终端03,这里网络01可以是局域网或公网,可以看作是发送终端02和接收终端03之间端到端的传输网络,本公开对于网络01的组成实体不作限定。作为一个示例,网络01可以包括至少一个服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
76.在一个可选的实施例中,发送终端02和接收终端03可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,
ar)/虚拟现实(virtual reality,vr)设备、智能可穿戴设备等类型的电子设备。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows等。
77.其中,接收终端03在接收到目标数据包(任一数据包)时均可以执行本公开实施例的网络拥塞控制方法,得到数据发送速率,从而可以将数据发送速率传输至发送终端02,以使发送终端02按照该数据发送速率发送后续要传输至接收终端03的数据包。
78.此外,需要说明的是,图1所示的仅仅是本公开提供的网络拥塞控制方法的一种应用环境。可选地,也可以是接收终端03在接收到目标数据包时,将该目标数据包的接收时间或计算出的目标时延信息返回给发送终端02,这样发送终端02可以获取到目标时延信息,由发送终端02执行本公开实施例的网络拥塞控制方法。或者,可以由网络01中的任一网络实体,比如与发送终端02或接收终端03直接通信的服务器进行时延监测以执行网络拥塞控制。
79.本说明书实施例中,上述网络01可以是有线或无线通信方式的网络,本公开在此不做限制。
80.需要说明的是,以下图中示出的是一种可能的步骤顺序,实际上并不限定必须严格按照此顺序。有些步骤可以在互不依赖的情况下并行执行。本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、用户行为信息等)和数据(包括但不限于用于展示的数据、训练的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
81.图2是根据一示例性实施例示出的一种网络拥塞控制方法的流程图。如图2所示,该网络拥塞控制方法可以包括以下步骤。
82.在步骤s201中,获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值。
83.本说明书实施例中,目标时延信息可以是指目标数据包从发送至被接收所消耗的时长。目标数据包可以是接收终端最近一段时间接收的任一数据包。可选地,在实时性要求较高的应用场景,例如实时音视频传输场景(比如视频会议),目标数据包可以是指接收终端在当前时刻接收到的数据包,即实时接收到的最新数据包,以实现对网络传输情况的实时检测和响应。具体地,可以在检测到接收终端接收到目标数据包时,获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值。
84.在一个示例中,可以从目标数据包中提取发送时间,比如发送终端发送目标数据包时可以携带时间戳,该时间戳可以是发送对应的时间,即发送时间。基于此,可以获取目标数据包括在接收终端的接收时间,进而可以根据接收时间和发送时间,得到目标数据包的目标时延信息。例如,可以将接收时间与发送时间的时间差,作为目标数据包的目标时延信息。通过这种接收时间与发送时间来计算数据包的时延信息,可以提升时延信息的获取效率,提升对网络时延的敏感度,为及时处理提供保障。
85.在一种可能的实现方式中,时延持续增长的数据包累计数量的获取可以通过以下步骤实现,例如可以包括:获取目标数据包的上一个数据包的历史时延信息以及时延持续增长的数据包的当前累计数量。其中,历史时延信息可以参照上述目标时延信息的获取方式,可以利用上一个数据包的接收时间和发送时间,获取历史时延信息。该上一个数据包可以是指接收终端接收目标数据包之前接收的数据包,即接收终端接收上一个数据包之后、就接收到目标数据包,对接收终端来说,上一个数据包和目标数据包是相邻的数据包。
86.本说明书实施例中,时延持续增长的数据包可以是指时延比前面接收的预设数量的数据包的时延呈增长趋势的数据包,该预设数量可以是1或大于1的数值,本公开对此不作限定。在预设数量为1的情况下,相应地,时延持续增长的数据包的当前累计数量可以用于表征与前一个数据包相比在时延上具有增长趋势的数据包的数量。该数量可以是对时延比前一个数据包的时延大的数据包的个数统计。或者可以是对接收的全部数据包的个数基于各自时延的量化统计,比如接收到的数据包的时延大于前一个数据包的时延,则可以增加该量化统计;若接收到的数据包的时延小于或等于前一个数据包的时延,则可以减少量化统计或不改变量化统计。这样通过这种基于时延对全部数据包的个数进行量化统计的累积,可以得到时延持续增长的数据包的当前累计数量。
87.在一个示例中,时延持续增长的数据包的当前累计数量可以通过计数器来执行,例如在目标时延信息大于历史时延信息的情况下,可以根据当前累计数量和预设增加数量,得到数据包累计数量。比如预设增加数量为1,则可以在接收的数据包的时延大于上一个接收的数据包的时延的情况下,执行计数器加1,得到目标数据包对应的数据包累计数量。通过对时延呈增长趋势的数据包进行累计计数,可以使得数据包累计数量较精准。
88.或者,可以在目标时延信息小于或等于历史时延信息的情况下,根据预设方式降低当前累计数量,得到数据包累计数量。预设方式可以是降低当前累计数量的方式,本公开对此不作限定。作为一个示例,预设方式可以是取当前累计数量的预设比例的方式,例如,该预设方式可以是取当前累计数量的二分之一,作为数据包累计数量。这种在时延连续增长的数据包后出现了一个时延变小的数据包,一般不能够准确判断网络到底是抖动还是网络拥塞,选择这种降低当前累计数量的方式,能够有效均衡网络抖动和网络拥塞的不确定性,使得数据包累计数量更加精准。
89.可选地,在接收的数据包的时延小于或等于上一个接收的数据包的时延的情况下,计数器的当前累计数量可以保持不变,即可以将当前累计数量直接作为数据包累计数量。
90.需要说明的是,数据包累计数量获取的同时,会同步更新计数器,即同步将计数器的当前累计数量更新为数据包累计数量,使得计数器的计数可以是最新的。
91.在一种可能的实现方式中,目标数量阈值可以预先设置的,基于此,可以获取预先设置的目标数量阈值。本公开对目标数量阈值的设置方式不作限定。
92.在一种可选地实现方式中,目标数量阈值的获取可以包括以下步骤:
93.获取初始数量阈值以及目标数据包的上一个数据包的历史时延信息;
94.在目标时延信息大于历史时延信息的时延差值未达到时延差阈值的情况下,可以将初始数量阈值作为目标数量阈值,其中,时延差值可以在目标时延信息大于历史时延信息的情况下,由目标时延信息减去历史时延信息得到的。时延差阈值可以是预先设置的,例如可以根据实际实时性需求设置,时延差阈值可以用于表征网络传输时延出现陡增现象(突然大幅增加,即非线性增长),也就是说目标数量阈值可以基于传输时延是否出现大幅增长来差异化进行动态确定,本公开对时延差阈值不作限定。在这种情况下,目标数量阈值可以通过下面公式(1)得到。
95.pkt_cnt_threshold=base_threshold
ꢀꢀ
(1)
96.其中,pkt_cnt_threshold表示目标数量阈值,base_hreshold表示初始数量阈值。
97.或者,在目标时延信息大于历史时延信息的时延差值达到时延差阈值的情况下,可以根据时延差值和初始数量阈值,得到目标数量阈值;其中,目标数量阈值可以与时延差值和初始数量阈值均正相关。作为一个示例,在这种情况下,目标数量阈值可以通过下面公式(2)得到。
[0098][0099]
其中,pkt_cnt_threshold表示目标数量阈值;base_threshold表示初始数量阈值;q_delay表示目标时延信息,last_q_delay表示历史时延信息,(q_delay-last_q_delay)表示时延差值,q_delay大于last_q_delay。m可以是正数,例如m=10,该m的取值可以根据实际应用中的统计或需求设置,能够均衡大于时延差阈值的这种时延陡增情况即可。这种在目标时延信息大于历史时延信息的时延差值达到时延差阈值的情况下,根据时延差值和初始数量阈值得到目标数量阈值,即在时延陡增的情况下,可以通过时延差值来调整基础的初始数量阈值,使得目标数量阈值可以动态确定来及时有效地适应网络抖动,目标数量阈值可以更加精准,从而可以使基于数据包累计数量大于目标数量阈值的方式,能够更加精准地确定网络传输拥塞的发生。
[0100]
在步骤s203中,在目标时延信息大于预设时延阈值、且数据包累计数量大于目标数量阈值的情况下,确定预设时段内目标数据包的接收终端对应的数据接收速率;该预设时段的终止时间可以为目标数据包的接收时间。
[0101]
其中,预设时延阈值可以是预先设置的时延阈值,可以根据对网络传输时延的监测统计进行设置,或者可以根据不同业务类型对时延的要求进行设置,本公开对此不作限定。
[0102]
本说明书实施例中,发送终端和接收终端之间的传输网络可以简化为队列模型,如图3所示,数据包可以从发送终端发送入该队列模型,传输网络可以对该队列模型中的数据包进行传输至接收终端,这样在网络拥塞(带宽下降)时,数据包在队列中的排队时延会不断增加。例如图3,a可以为队列模型的到达速度,s为队列模型的服务速度,假设两者均是均匀的速度且恒定不变,当服务速度s大于到达速度a时,队列不会累积,也就不会有排队时延。而当s小于a时,在时刻t,队列中累积的数据量为(-s),那么将该时刻t所积累的队列全部发送至接收终端所需的时间为因此,进入队列的数据的排队时延queue_delay(t)应满足(假设数据是连续的):其中,t的起始时刻可以是指定的任一时刻,或者可以是周期性自动确定的,或者可以是检测到数据包的排队时延大于时延阈值的时刻。
[0103]
基于上述的介绍,在网络拥塞的场景下,每个数据包的排队时延是线性增加的;而如果网络中存在抖动,那么排队时延的变化会呈现更加无规律的跳变状态。因此,排队时延的变化实际上会受到网络抖动的干扰,因此需要用合理的方式区分网络带宽下降与网络抖动带来的排队时延的变化。基于此,本公开通过设置数据包累计数量,这种累积方式来确定是否发生线性增长的时延情况,可以平衡网络抖动导致时延的现象。本公开还进一步结合目标数量阈值的不同确定方式以及目标数量阈值的动态确定方式,以提升网络拥塞的判断准确性,具体内容在下面介绍。
[0104]
本说明书实施例中,在目标时延信息大于预设时延阈值、且数据包累计数量大于目标数量阈值的情况下,确定预设时段内目标数据包的接收终端对应的数据接收速率,以用于调整发送终端的数据发送速率。其中,预设时段的终止时间可以为目标数据包的接收时间,预设时段的时长,本公开不作限定。
[0105]
在一个示例中,参照图4所示,接收到目标数据包,可以判断时延差值是否达到时延差阈值,若是,可以提升初始数量阈值,即可以通过上面公式(2)提升初始数量阈值以得到目标数量阈值;并且可以在当前累计数量上加1以更新当前累计数量,以及得到数据包累计数量。若否,则可以直接将初始数量阈值作为目标数量阈值,如上面公式(1);进一步地,可以判断目标时延信息是否大于历史时延信息,若大于,则可以在当前累计数量上加1以更新当前累计数量,以及得到数据包累计数量;若不大于,则可以将当前累计数量减半,并将减半后的当前累计数量作为数据包累计数量。
[0106]
接着,则可以判断在目标时延信息是否大于预设时延阈值、且数据包累计数量是否大于目标数量阈值,若否,可以继续对下一个接收的数据包进行该拥塞流程的判断过程;若是,则可以确定发生网络拥塞,则可以进行网络拥塞控制,即可以确定预设时段内目标数据包的接收终端对应的数据接收速率,以用于调整发送终端的数据发送速率,例如执行步骤s205。
[0107]
在步骤s205中,基于数据接收速率,确定目标数据包的发送终端对应的数据发送速率,以使发送终端按照该数据发送速率发送数据包。
[0108]
本说明书实施例中,可以确定数据接收速率的变化趋势,若变化趋势为下降,则可以降低发送终端的当前发送速率,得到数据发送速率;若变化趋势为上升或平稳,则可以保持发送终端的当前发送速率不变,即可以将发送终端的当前发送速率直接作为数据发送速率。
[0109]
通过目标时延信息结合时延持续增长的数据包累计数量来判断网络拥塞的发生,可以敏感快速的检测到是否发生网络拥塞,从而能够更加迅速地进行拥塞控制,即快速进行发送端的数据发送速率控制,能够满足实时性要求较高的数据传输场景的要求,及时有效缓解数据卡顿现象;并且,通过设置时延持续增长的数据包累计数量大于目标数量阈值的拥塞条件,可以避免将网络抖动误判为网络拥塞,使得网络拥塞的确定更加精准,从而可以实现高效且精准的拥塞控制。具体地,在实验中,在带宽波动的场景下,能使得实时音视频交互应用的卡顿率大幅度下降,实验结果如下:
[0110]
带宽波形网络缓存卡顿率变化0.5mbps-1.5mbps方波16kb15%

5%0.5mbps-1.5mbps正弦波16kb17%

5%
[0111]
其中,卡顿率可以降低10%以上,能够更好的适应实时性要求较高的应用场景。
[0112]
在一种可能的实现方式中,如图5所示,步骤s205可以包括:
[0113]
在步骤s501中,获取用于调节网络拥塞的目标时长信息。
[0114]
在一种可能的实现方式中,目标时长信息可以是预先设置的。在一个示例中,可以预先设置多个时长信息,这里则可以从多个时长信息中选择一个时长信息作为目标时长信息,该选择的方式可以是随机选择或根据时延差值来选择等方式,本公开对此不作限定。对于根据时延差值来选择的方式,目标时长信息可以与时延差值正相关,这样可以避免传输
卡顿的加重。
[0115]
在一种可选地实时方式中,可以获取目标数据包所属业务的业务类型;该业务类型用于表征目标数据包所属业务对于实时数据的需求等级;从而可以根据业务类型,确定对应的目标时长信息;该目标时长信息可以与需求等级负相关,例如需求等级越高,目标时长信息越小。通过针对不同业务类型对实时性要求的不同,灵活确定目标时长信息,使得目标时长信息能够有效适应拥塞处理的需求。
[0116]
在步骤s503中,根据目标时延信息和数据接收速率,确定拥塞数据量。
[0117]
本说明书实施例中,拥塞数据量可以是指网络中堆积的数据量,基于此,可以利用当前的目标时延信息和数据接收速率来确定拥塞数据量,例如可以将当前的目标时延信息和数据接收速率相乘,得到拥塞数据量。
[0118]
可选地,可以将当前的目标时延信息和数据接收速率相乘,得到乘积,进而还可以在该乘积上乘以预设权重,以得到拥塞数据量,其中,预设权重可以是预先设置的,本公开对此不作限定。
[0119]
在步骤s505中,基于拥塞数据量和目标时长信息,得到拥塞数据量被传输至接收终端的预测速率。
[0120]
本说明书实施例中,可以基于拥塞数据量和目标时长信息,得到拥塞数据量被传输至接收终端的预测速率,也就是可以预测拥塞数据量全部到达接收终端所需要的速率。
[0121]
在一个示例中,可以通过以下公式(3)得到预测速率。
[0122][0123]
其中,deplete_rate表示预测速率;δt表示目标时长信息;recv_rate*q_delay表示拥塞数据量,recv_表示数据接收速率,q_delay表示目标时延信息。
[0124]
在步骤s507中,将数据接收速率与预测速率的差值,作为数据发送速率。
[0125]
本说明书实施例中,可以通过以下公式(4)得到数据发送速率。
[0126]
send_rate=recv_rate-deplete_rate
ꢀꢀ
(4)
[0127]
其中,send_表示数据发送速率;recv_表示数据接收速率;deplete_rate表示预测速率。
[0128]
通过设置用于调节网络拥塞结合目标时延信息和数据接收速率,确定出用于发送终端的数据发送速率,可以实现端到端传输时延在数据发送源头的拥塞控制。
[0129]
图6是根据一示例性实施例示出的一种网络拥塞控制装置框图。参照图6,该网络拥塞控制装置可以包括:
[0130]
信息获取模块601,被配置为执行获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值;
[0131]
拥塞检测模块603,被配置为执行在所述目标时延信息大于预设时延阈值、且所述数据包累计数量大于所述目标数量阈值的情况下,确定预设时段内所述目标数据包的接收终端对应的数据接收速率;所述预设时段的终止时间为所述目标数据包的接收时间;
[0132]
拥塞控制模块605,被配置为执行基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,以使所述发送终端按照所述数据发送速率发送数据包。
[0133]
通过目标时延信息结合时延持续增长的数据包累计数量来判断网络拥塞的发生,
可以敏感快速的检测到是否发生网络拥塞,从而能够更加迅速地进行拥塞控制,即快速进行发送端的数据发送速率控制,能够满足实时性要求较高的数据传输场景的要求,及时有效缓解数据卡顿现象;并且,通过设置时延持续增长的数据包累计数量大于目标数量阈值的拥塞条件,可以避免将网络抖动误判为网络拥塞,使得网络拥塞的确定更加精准,从而可以实现高效且精准的拥塞控制。
[0134]
在一种可能的实现方式中,上述信息获取模块601可以包括:
[0135]
历史时延和累计数量获取单元,被配置为执行获取所述目标数据包的上一个数据包的历史时延信息以及时延持续增长的数据包的当前累计数量;
[0136]
第一累计数量获取单元,被配置为执行在所述目标时延信息小于或等于所述历史时延信息的情况下,根据预设方式降低当前累计数量,得到所述数据包累计数量。
[0137]
在一种可能的实现方式中,上述信息获取模块601还可以包括:
[0138]
第二累计数量获取单元,被配置为执行在所述目标时延信息大于所述历史时延信息的情况下,根据当前累计数量和预设增加数量,得到所述数据包累计数量。
[0139]
在一种可能的实现方式中,上述信息获取模块601还可以包括:
[0140]
初始数量阈值和历史时延获取单元,被配置为执行获取初始数量阈值以及所述目标数据包的上一个数据包的历史时延信息;
[0141]
第一目标数量阈值单元,被配置为执行在所述目标时延信息大于所述历史时延信息的时延差值未达到时延差阈值的情况下,将所述初始数量阈值作为所述目标数量阈值。
[0142]
在一种可能的实现方式中,上述信息获取模块601还可以包括:
[0143]
第二目标数量阈值单元,被配置为执行在所述目标时延信息大于所述历史时延信息的时延差值达到所述时延差阈值的情况下,根据所述时延差值和所述初始数量阈值,得到所述目标数量阈值;
[0144]
其中,所述目标数量阈值与所述时延差值和所述初始数量阈值均正相关。
[0145]
在一种可能的实现方式中,上述拥塞控制模块605可以包括:
[0146]
预设时长获取单元,被配置为执行获取用于调节网络拥塞的目标时长信息;
[0147]
拥塞数据量确定单元,被配置为执行根据所述目标时延信息和所述数据接收速率,确定拥塞数据量;
[0148]
预测速率获取单元,被配置为执行基于所述拥塞数据量和所述目标时长信息,得到所述拥塞数据量被传输至所述接收终端的预测速率;
[0149]
拥塞控制单元,被配置为执行将所述数据接收速率与所述预测速率的差值,作为所述数据发送速率。
[0150]
在一种可能的实现方式中,上述预设时长获取单元可以包括:
[0151]
业务类型获取子单元,被配置为执行获取所述目标数据包所属业务的业务类型;所述业务类型用于表征所述目标数据包所属业务对于实时数据的需求等级;
[0152]
预设时长获取子单元,被配置为执行根据所述业务类型,确定对应的所述目标时长信息;所述目标时长信息与所述需求等级负相关。
[0153]
在一种可能的实现方式中,上述信息获取模块601还可以包括:
[0154]
发送时间获取单元,被配置为执行从所述目标数据包中提取发送时间;
[0155]
目标时延信息获取单元,被配置为执行根据所述接收时间和所述发送时间,得到
所述目标数据包的目标时延信息。
[0156]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0157]
图7是根据一示例性实施例示出的一种用于网络拥塞控制的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图7所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络拥塞控制的方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0158]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0159]
图8是根据一示例性实施例示出的另一种用于网络拥塞控制的电子设备的框图,该电子设备可以是服务器,其内部结构图可以如图8所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络拥塞控制的方法。
[0160]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0161]
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的网络拥塞控制方法。
[0162]
在示例性实施例中,还提供了一种计算机可读存储介质,当该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的网络拥塞控制方法。计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0163]
在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的网络拥塞控制的方法。
[0164]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom
(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0165]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0166]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:
1.一种网络拥塞控制方法,其特征在于,包括:获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值;在所述目标时延信息大于预设时延阈值、且所述数据包累计数量大于所述目标数量阈值的情况下,确定预设时段内所述目标数据包的接收终端对应的数据接收速率;所述预设时段的终止时间为所述目标数据包的接收时间;基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,以使所述发送终端按照所述数据发送速率发送数据包。2.根据权利要求1所述的方法,其特征在于,所述时延持续增长的数据包累计数量的获取步骤包括:获取所述目标数据包的上一个数据包的历史时延信息以及时延持续增长的数据包的当前累计数量;在所述目标时延信息小于或等于所述历史时延信息的情况下,根据预设方式降低当前累计数量,得到所述数据包累计数量。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述目标时延信息大于所述历史时延信息的情况下,根据当前累计数量和预设增加数量,得到所述数据包累计数量。4.根据权利要求1所述的方法,其特征在于,所述目标数量阈值的获取步骤包括:获取初始数量阈值以及所述目标数据包的上一个数据包的历史时延信息;在所述目标时延信息大于所述历史时延信息的时延差值未达到时延差阈值的情况下,将所述初始数量阈值作为所述目标数量阈值。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述目标时延信息大于所述历史时延信息的时延差值达到所述时延差阈值的情况下,根据所述时延差值和所述初始数量阈值,得到所述目标数量阈值;其中,所述目标数量阈值与所述时延差值和所述初始数量阈值均正相关。6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,包括:获取用于调节网络拥塞的目标时长信息;根据所述目标时延信息和所述数据接收速率,确定拥塞数据量;基于所述拥塞数据量和所述目标时长信息,得到所述拥塞数据量被传输至所述接收终端的预测速率;将所述数据接收速率与所述预测速率的差值,作为所述数据发送速率。7.根据权利要求6所述的方法,其特征在于,所述获取用于调节网络拥塞的目标时长信息,包括:获取所述目标数据包所属业务的业务类型;所述业务类型用于表征所述目标数据包所属业务对于实时数据的需求等级;根据所述业务类型,确定对应的所述目标时长信息;所述目标时长信息与所述需求等级负相关。8.根据权利要求1所述的方法,其特征在于,所述获取目标数据包的目标时延信息,包
括:从所述目标数据包中提取发送时间;根据所述接收时间和所述发送时间,得到所述目标数据包的目标时延信息。9.一种网络拥塞控制装置,其特征在于,包括:信息获取模块,被配置为执行获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值;拥塞检测模块,被配置为执行在所述目标时延信息大于预设时延阈值、且所述数据包累计数量大于所述目标数量阈值的情况下,确定预设时段内所述目标数据包的接收终端对应的数据接收速率;所述预设时段的终止时间为所述目标数据包的接收时间;拥塞控制模块,被配置为执行基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,以使所述发送终端按照所述数据发送速率发送数据包。10.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的网络拥塞控制方法。11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至8中任一项所述的网络拥塞控制方法。

技术总结
本公开关于一种网络拥塞控制方法、装置、电子设备及存储介质。该方法包括:获取目标数据包的目标时延信息、时延持续增长的数据包累计数量以及目标数量阈值;在所述目标时延信息大于预设时延阈值、且所述数据包累计数量大于所述目标数量阈值的情况下,确定预设时段内所述目标数据包的接收终端对应的数据接收速率;所述预设时段的终止时间为所述目标数据包的接收时间;基于所述数据接收速率,确定所述目标数据包的发送终端对应的数据发送速率,以使所述发送终端按照所述数据发送速率发送数据包。根据本公开提供的技术方案,可以高效且精准地进行拥塞控制。准地进行拥塞控制。准地进行拥塞控制。


技术研发人员:朱克伟 周超
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2023.05.09
技术公布日:2023/8/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐