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

文档序号:29796154发布日期:2022-04-23 18:53阅读:77来源:国知局
网络拥塞控制方法、装置、电子设备及存储介质与流程

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


背景技术:

2.随着互联网的发展,基于互联网的网络应用越来越普及,网络应用产生的大量网络数据经常导致网络拥塞现象的发生。为缓解网络拥塞现象,可以使用拥塞控制算法对网络数据进行拥塞控制。
3.相关技术中,通常是先获取数据流传输过程中的相关信息如网络环境信息,再根据获取到的相关信息选出一种拥塞控制算法,以基于选出的拥塞控制算法对网络数据进行传输控制。相关技术中虽然可以选出适合网络环境的拥塞控制算法,但无法提供进一步的推荐以用于该拥塞控制算法的实施,导致网络拥塞现象的缓解效果不佳。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本公开提供一种网络拥塞控制方法、网络拥塞控制装置、电子设备、计算机可读存储介质及计算机程序产品,以至少解决相关技术中无法根据多变的网络状况确定出合适的拥塞控制算法的问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种网络拥塞控制方法,该方法包括:获取当前数据流的第一当前网络传输统计信息;其中,当前数据流是从发送端发往接收端的,第一当前网络传输统计信息用于表征当前数据流在当前统计时间段内的传输状况;通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值;其中,预测传输效果值用于表征预测的在下一统计时间段内数据流的传输效果量化值;根据多个预测传输效果值从多个拥塞算法参数选择模型中确定第一目标拥塞算法参数选择模型;确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数;其中,多个拥塞算法参数选择模型是采用多种拥塞控制算法及各拥塞控制算法所采用的拥塞控制参数构建的;多个拥塞算法参数选择模型中存在至少两个拥塞算法参数选择模型是采用同一拥塞控制算法且采用不同拥塞控制参数构建的。
7.在本公开的一些示例性实施例中,获取当前数据流的第一当前网络传输统计信息步骤包括:获取发送端统计的链路统计信息;确定当前数据流处于的传输阶段,获取与传输阶段对应的目标端统计的传输应用统计信息;根据链路统计信息和传输应用统计信息确定第一当前网络传输统计信息。
8.在本公开的一些示例性实施例中,当传输阶段为传输启动阶段时,与传输阶段对应的目标端包括发送端;获取与传输阶段对应的目标端统计的传输应用统计信息步骤包
括:获取发送端统计的应用属性和发送状况指标值;根据应用属性和发送状况指标值确定传输应用统计信息。
9.在本公开的一些示例性实施例中,当传输阶段为平稳传输阶段,与传输阶段对应的目标端包括发送端和接收端;获取与传输阶段对应的目标端统计的传输应用统计信息步骤包括:获取发送端统计的应用属性和发送状况指标值;获取接收端统计的接收状况指标值;根据应用属性、发送状况指标值和接收状况指标值确定传输应用统计信息。
10.在本公开的一些示例性实施例中,通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值的步骤,包括:将第一当前网络传输统计信息分别输入多个拥塞算法参数选择模型中的每个拥塞算法参数选择模型,获得每个拥塞算法参数选择模型输出的对下一统计时间段内接收端的接收状况指标值的预测值;获取各个预测值对应的权重值;根据预测值和相应权重值计算每一拥塞算法参数选择模型的预测传输效果值,以作为多个预测传输效果值。
11.在本公开的一些示例性实施例中,拥塞算法参数选择模型是按照如下方式获得的:确定拥塞算法参数选择模型对应的待训练拥塞控制算法及其拥塞控制参数,并构建初始拥塞算法参数选择模型;获取待训练拥塞控制算法及其拥塞控制参数对应的历史网络传输统计信息;根据历史网络传输统计信息确定用于初始拥塞算法参数选择模型的训练样本和样本标签;其中,训练样本包括m个连续时间步长对应的m个历史网络传输统计特征,样本标签包括m个连续时间步长之后的n个连续时间步长对应的n个历史接收状况特征;将训练样本输入至初始拥塞算法参数选择模型中,输出训练样本的预测标签;预测标签包括n个接收状况预测特征;根据样本标签和预测标签训练初始拥塞算法参数选择模型,获得拥塞算法参数选择模型。
12.在本公开的一些示例性实施例中,在确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数步骤之后,网络拥塞控制方法还包括:确定用户态接口框架中的接口函数;调用接口函数,根据目标拥塞控制算法和目标拥塞控制参数修改内核态中的传输控制协议tcp流中的拥塞控制参数;利用修改后的tcp流中的拥塞控制参数实现当前数据流的传输。
13.在本公开的一些示例性实施例中,当存在与第一目标拥塞算法参数选择模型采用相同拥塞控制算法的至少两个待选择拥塞算法参数选择模型时,网络拥塞控制方法还包括:每间隔第一预定时长,获取当前数据流的第二当前网络传输统计信息;通过至少两个待选择拥塞算法参数选择模型分别处理第二当前网络传输统计信息,以从至少两个待选择拥塞算法参数选择模型中确定第二目标拥塞算法参数选择模型。
14.在本公开的一些示例性实施例中,网络拥塞控制方法还包括:每间隔第二预定时长、当当前数据流的发送端发生变化时或者当当前数据流的接收端发生变化时,获取当前数据流的第三当前网络传输统计信息;通过多个拥塞算法参数选择模型分别处理第三当前网络传输统计信息,以从多个拥塞算法参数选择模型中确定第三目标拥塞算法参数选择模型;其中,第二预定时长大于第一预定时长。
15.根据本公开实施例的第二方面,提供一种网络拥塞控制装置,包括:获取模块,被配置为执行获取当前数据流的第一当前网络传输统计信息;其中,当前数据流是从发送端发往接收端的,第一当前网络传输统计信息用于表征当前数据流在当前统计时间段内的传
输状况;处理模块,被配置为执行通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值;其中,预测传输效果值用于表征预测的在下一统计时间段内数据流的传输效果量化值;确定模块,被配置为执行根据多个预测传输效果值从多个拥塞算法参数选择模型中确定第一目标拥塞算法参数选择模型;确定模块还被配置为执行确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数;其中,多个拥塞算法参数选择模型是采用多种拥塞控制算法及各拥塞控制算法所采用的拥塞控制参数构建的;多个拥塞算法参数选择模型中存在至少两个拥塞算法参数选择模型是采用同一拥塞控制算法且采用不同拥塞控制参数构建的。
16.在本公开的一些示例性实施例中,获取模块执行获取当前数据流的第一当前网络传输统计信息步骤包括:获取发送端统计的链路统计信息;确定当前数据流处于的传输阶段,获取与传输阶段对应的目标端统计的传输应用统计信息;根据链路统计信息和传输应用统计信息确定第一当前网络传输统计信息。
17.在本公开的一些示例性实施例中,当传输阶段为传输启动阶段时,与传输阶段对应的目标端包括发送端;获取模块执行获取与传输阶段对应的目标端统计的传输应用统计信息步骤包括:获取发送端统计的应用属性和发送状况指标值;根据应用属性和发送状况指标值确定传输应用统计信息。
18.在本公开的一些示例性实施例中,当传输阶段为平稳传输阶段,与传输阶段对应的目标端包括发送端和接收端;获取模块执行获取与传输阶段对应的目标端统计的传输应用统计信息步骤包括:获取发送端统计的应用属性和发送状况指标值;获取接收端统计的接收状况指标值;根据应用属性、发送状况指标值和接收状况指标值确定传输应用统计信息。
19.在本公开的一些示例性实施例中,处理模块执行通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值的步骤,包括:将第一当前网络传输统计信息分别输入多个拥塞算法参数选择模型中的每个拥塞算法参数选择模型,获得每个拥塞算法参数选择模型输出的对下一统计时间段内接收端的接收状况指标值的预测值;获取各个预测值对应的权重值;根据预测值和相应权重值计算每一拥塞算法参数选择模型的预测传输效果值,以作为多个预测传输效果值。
20.在本公开的一些示例性实施例中,网络拥塞控制装置还包括训练模块,拥塞算法参数选择模型是训练模块被配置为执行如下步骤获得的:确定拥塞算法参数选择模型对应的待训练拥塞控制算法及其拥塞控制参数,并构建初始拥塞算法参数选择模型;获取待训练拥塞控制算法及其拥塞控制参数对应的历史网络传输统计信息;根据历史网络传输统计信息确定用于初始拥塞算法参数选择模型的训练样本和样本标签;其中,训练样本包括m个连续时间步长对应的m个历史网络传输统计特征,样本标签包括m个连续时间步长之后的n个连续时间步长对应的n个历史接收状况特征;将训练样本输入至初始拥塞算法参数选择模型中,输出训练样本的预测标签;预测标签包括n个接收状况预测特征;根据样本标签和预测标签训练初始拥塞算法参数选择模型,获得拥塞算法参数选择模型。
21.在本公开的一些示例性实施例中,网络拥塞控制装置还包括修改模块;在确定模块执行确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参
数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数步骤之后,修改模块被配置为执行:确定用户态接口框架中的接口函数;调用接口函数,根据目标拥塞控制算法和目标拥塞控制参数修改内核态中的传输控制协议tcp流中的拥塞控制参数;利用修改后的tcp流中的拥塞控制参数实现当前数据流的传输。
22.在本公开的一些示例性实施例中,当存在与第一目标拥塞算法参数选择模型采用相同拥塞控制算法的至少两个待选择拥塞算法参数选择模型时,获取模块还被配置为执行:每间隔第一预定时长,获取当前数据流的第二当前网络传输统计信息;确定模块还被配置为执行:通过至少两个待选择拥塞算法参数选择模型分别处理第二当前网络传输统计信息,以从至少两个待选择拥塞算法参数选择模型中确定第二目标拥塞算法参数选择模型。
23.在本公开的一些示例性实施例中,获取模块还被配置为执行:每间隔第二预定时长、当当前数据流的发送端发生变化时或者当当前数据流的接收端发生变化时,获取当前数据流的第三当前网络传输统计信息;确定模块还被配置为执行:通过多个拥塞算法参数选择模型分别处理第三当前网络传输统计信息,以从多个拥塞算法参数选择模型中确定第三目标拥塞算法参数选择模型;其中,第二预定时长大于第一预定时长。
24.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行可执行指令,以实现如上述任一项的网络拥塞控制方法。
25.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一项的网络拥塞控制方法。
26.根据本公开实施例的第五方面,提供一种计算机程序产品,计算机程序/指令,其特征在于,计算机程序/指令被处理器执行时实现上述任一项的网络拥塞控制方法。
27.本公开的实施例提供的技术方案至少带来以下有益效果:
28.本公开实施例提供的网络拥塞控制方法,可以获取当前数据流所在网络传输环境的第一当前网络传输统计信息,再通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,得到多个拥塞算法参数选择模型分别输出的预测传输效果值,再根据多个预测传输效果值选出第一目标拥塞算法参数选择模型,从而基于选出的第一目标拥塞算法参数选择模型实现拥塞控制;由于在本公开提供的方法中,多种拥塞算法参数选择模型是基于多种拥塞控制算法以及相应的拥塞控制参数进行构建的,且对于同一拥塞控制算法也可以采用多套不同的拥塞控制参数构建出不同的拥塞算法参数选择模型,因此在本公开提供的方法中,可以基于拥塞控制算法和拥塞控制参数这两方面实现拥塞控制,即可以将第一目标拥塞算法参数选择模型所对应的目标拥塞控制算法和目标拥塞控制参数用于对当前数据流的传输。可见,本公开提供的网络拥塞控制方法可以为当前数据流确定出适合当前网络传输环境的目标拥塞控制算法以及相应的目标拥塞控制参数,即本公开提供的网络拥塞控制方法能实现拥塞控制算法和拥塞控制参数的双重选择,不仅能确定出适合当前网络传输环境的目标拥塞控制算法,还可以将确定出的目标拥塞控制参数进一步用于该目标拥塞控制算法的实施,使目标拥塞控制算法和目标拥塞控制参数共同更好地作用于数据流的传输,从而更好地缓解网络拥塞现象。
29.进一步,本公开实施例提供的网络拥塞控制方法,针对当前数据流获取到的第一
当前网络传输统计信息可以包括发送端统计的链路统计信息,还可以包括与传输阶段对应的目标端统计的传输应用统计信息,其中传输应用统计信息可以是发送端的发送状况信息和/或接收端的接收状况信息,从而使本方案能够将链路统计信息和传输应用统计信息作为丰富的参考因素以用于拥塞算法参数选择模型的处理。可见,本公开提供的网络拥塞控制方法可以多样化地考虑当前数据流的网络传输环境,使得本方法中所选出的第一目标拥塞算法参数选择模型能够在链路信息、发送状况、接收状况等多方面因素下适应当前数据流的传输。
30.进一步,本公开实施例提供的网络拥塞控制方法,还提供了拥塞算法参数选择模型的训练方式,训练过程中能够根据具有时间序列关系的历史网络传输统计特征预测后续的接收状况预测特征,然后根据历史接收状况特征和接收状况预测特征构建损失函数以用于拥塞算法参数选择模型的训练,从而能够根据接收端的实际接收状况反馈优化训练模型,使得通过该方式训练得到的拥塞算法参数选择模型可以用于预测接收端的接收状况,选出能够使接收端体验良好的目标拥塞控制算法和目标拥塞控制参数,达到优化用户体验的效果。
31.进一步,本公开实施例提供的网络拥塞控制方法,还可以在选出第一目标拥塞算法参数选择模型后,在一些预设条件(包括每间隔第一预定时长、每间隔第二预定时长、当所述当前数据流的发送端发生变化时或者当所述当前数据流的接收端发生变化时)下重新选出新的目标拥塞算法参数选择模型(包括第二目标拥塞算法参数选择模型或第三目标拥塞算法参数选择模型)来调整拥塞控制的方式,从而能够及时适应数据流所处网络环境的变化,更好地缓解网络拥塞现象。
32.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
33.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
34.图1是根据一示例性实施例示出的网络拥塞控制方法的示例性系统架构的示意图。
35.图2是根据一示例性实施例示出的一种网络拥塞控制方法的流程图。
36.图3是根据一示例性实施例示出的一种网络拥塞控制方法中得到第一预测传输效果指标的流程图。
37.图4是根据一示例性实施例示出的一种网络拥塞控制方法中训练第一拥塞算法参数选择模型的流程图。
38.图5是根据一示例性实施例示出的一种用于实现网络拥塞控制方法的网络架构图。
39.图6是根据一示例性实施例示出的一种网络拥塞控制装置的框图。
40.图7是根据一示例性实施例示出的适于用来实现本公开示例性实施例的电子设备的结构示意图。
具体实施方式
41.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
42.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
43.本公开实施例提供的网络拥塞控制方法可应用于无线通信系统的数据传输,其中,数据接收端与数据发送端可以通过无线接入网(radio access network,ran)以及核心网进行数据交互,所述数据接收端和所述数据发送端之间还可建立传输控制协议(transmission control protocol,tcp)连接,采用tcp协议进行数据传输。
44.图1示出了可以应用本公开实施例的网络拥塞控制方法的示例性系统架构的示意图。
45.如图1所示,该系统架构可以包括服务器101、网络102和客户端103。网络102用以在客户端103和服务器101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。在一些实际应用中,客户端103和服务器101之间可以建立tcp连接并进行数据传输。
46.在一些可选的实施例中,服务器101可以是提供各种服务的服务器,服务器101可以与客户端103进行数据传输;以及在服务器101与客户端103进行数据传输的过程中,服务器101可以用于获取当前数据流的第一当前网络传输统计信息,并通过训练好的多个拥塞算法参数选择模型处理该第一当前网络传输统计信息,为当前数据流确定出第一目标拥塞算法参数选择模型,进而将与第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数用于当前数据流的传输,从而实现一种网络拥塞控制方法。
47.具体地,在一些可选的实施例中,服务器101用于实现网络拥塞控制方法的过程可以是:服务器101获取当前数据流的第一当前网络传输统计信息;其中,当前数据流是从发送端发往接收端的,第一当前网络传输统计信息用于表征当前数据流在当前统计时间段内的传输状况;服务器101分别通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值;其中,预测传输效果值用于表征预测的在下一统计时间段内数据流的传输效果量化值;服务器101根据多个预测传输效果值从多个拥塞算法参数选择模型中确定第一目标拥塞算法参数选择模型;服务器101确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数;
48.其中,多个拥塞算法参数选择模型是采用多种拥塞控制算法及各拥塞控制算法所采用的拥塞控制参数构建的;多个拥塞算法参数选择模型中存在至少两个拥塞算法参数选择模型是采用同一拥塞控制算法且采用不同拥塞控制参数构建的。
49.进一步地,在一些可选的实施例中,当存在与第一目标拥塞算法参数选择模型采用相同拥塞控制算法的至少两个待选择拥塞算法参数选择模型时;网络拥塞控制方法还包
括:服务器101每间隔第一预定时长,获取当前数据流的第二当前网络传输统计信息;服务器101通过至少两个待选择拥塞算法参数选择模型分别处理第二当前网络传输统计信息,以从至少两个待选择拥塞算法参数选择模型中确定第二目标拥塞算法参数选择模型。从而实现在每间隔第一预定时长,不改变目标拥塞控制算法,只重新确定应用于算法的参数组合。
50.进一步地,在一些可选的实施例中,网络拥塞控制方法还包括:每间隔第二预定时长、当当前数据流的发送端发生变化时或者当当前数据流的接收端发生变化时,服务器101获取当前数据流的第三当前网络传输统计信息;服务器101通过多个拥塞算法参数选择模型分别处理第三当前网络传输统计信息,以从多个拥塞算法参数选择模型中确定第三目标拥塞算法参数选择模型;其中,第二预定时长大于第一预定时长。从而实现在每间隔第二预定时长,或者当当前数据流的发送端发生变化时,或者当当前数据流的接收端发生变化时,为当前数据流重新确定拥塞控制算法以及应用于算法的参数组合。
51.具体地,服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
52.在一些可选的实施例中,与服务端101进行数据传输的客户端103可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、ar(augmented reality,增强现实)设备、vr(virtual reality,虚拟现实)设备、智能可穿戴设备等类型的电子设备,或者,客户端103也可以是个人计算机,比如膝上型便携计算机和台式计算机等等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows等。
53.此外,需要说明的是,图1所示的仅仅是本公开提供的模型训练方法的一种应用环境。图1中的客户端、网络和服务器的数目仅仅是示意性的,根据实际需要,可以具有任意数目的客户端、网络和服务器。
54.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图及实施例对本公开示例实施例中的模型训练方法的各个步骤进行更详细的说明。
55.图2是根据一示例性实施例示出的一种网络拥塞控制方法的流程图,图2实施例提供的方法的执行主体可以是任意的电子设备,例如图1实施例中的服务器101,但本公开并不限定于此。
56.如图2所示,本公开实施例提供的网络拥塞控制方法可以包括以下步骤:
57.步骤s201,获取当前数据流的第一当前网络传输统计信息。
58.其中,当前数据流可以是从发送端发往接收端的。具体而言,当前数据流可以是网络通信中服务端与用户端建立tcp连接后进行数据交互过程中产生的数据。例如,发送端可以是服务端,接收端可以是用户端;服务端可以向用户端发送视频数据、图像数据或音频数据等,在此过程中可以不断获取视频数据、图像数据或音频数据的第一当前网络传输统计信息。第一当前网络传输统计信息可以用于表征当前数据流在当前统计时间段内的传输状况,例如可以包括统计得到的链路信息、应用属性等。
59.步骤s203,通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信
息,获得多个预测传输效果值。
60.本公开实施例中,多个拥塞算法参数选择模型可以是采用多种拥塞控制算法及各拥塞控制算法所采用的拥塞控制参数构建的;多个拥塞算法参数选择模型中可以存在至少两个拥塞算法参数选择模型是采用同一拥塞控制算法且采用不同拥塞控制参数构建的。
61.其中,拥塞控制算法可以是在数据流的传输中用于缓解拥塞现象的算法,例如:基于丢包的拥塞控制算法(如reno、cubic等)、基于时延的拥塞控制算法(如vegas、fasttcp等)、基于链路容量的拥塞控制算法(如bbr等)、基于学习的拥塞控制算法(如remy等)等,本公开实施例不做限定。在一些实际应用中,拥塞控制参数可以是根据拥塞控制算法的结构确定的。以拥塞控制算法reno的结构为例,可调整的拥塞控制参数可以包含传输启动阶段的慢启动倍率与慢启动窗口阈值《a,ssthresh》(其中a可以取值例如为2),以及aimd拥塞避免阶段的窗口增长系数及下降系数《α,β》(其中α可以取值例如为1/cwnd,β可以取值例如为2)。通过设置不同的拥塞控制参数《a,ssthresh,α,β》,可以对拥塞控制算法reno的传输性能进行调整。不同的拥塞控制算法结合不同的拥塞控制参数,可以适用于不同的应用场景(如短连接、长连接或高并发连接等),故而在已知应用场景的情况下,可以基于拥塞控制算法以及相应的拥塞控制参数两方面都进行选择,使得确定出适合当前应用场景的拥塞控制算法以及相应的拥塞控制参数以用于数据流的传输。其中,应用场景可以认为是与第一当前网络传输统计信息相关的场景。
62.在本公开实施例中,可以基于拥塞控制算法以及相应的拥塞控制参数两方面进行拥塞算法参数选择模型的建立,进而可以基于这两方面为当前数据流确定出适合的传输方式。
63.此外,上述预测传输效果值可以用于表征预测的在下一统计时间段内数据流的传输效果量化值,各个传输效果量化值可以看作是在不同拥塞控制算法和不同拥塞控制参数作用下的传输效果的具体量化数值。
64.步骤s205,根据多个预测传输效果值从多个拥塞算法参数选择模型中确定第一目标拥塞算法参数选择模型。
65.当得到各个拥塞算法参数选择模型输出的预测传输效果值之后,可以根据该量化数值确定出第一目标拥塞算法参数选择模型;在一些实际应用中,可以将各个预测传输效果值中的最大值对应的拥塞算法参数选择模型,确定为第一目标拥塞算法参数选择模型。
66.步骤s207,确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数。
67.在确定第一目标拥塞算法参数选择模型后,可以将第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数应用于当前数据流的传输。
68.本公开的一种实施例提供的网络拥塞控制方法中,可以获取当前数据流所在网络传输环境的第一当前网络传输统计信息,再通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,得到多个拥塞算法参数选择模型分别输出的预测传输效果值,再根据多个预测传输效果值选出第一目标拥塞算法参数选择模型,从而基于选出的第一目标拥塞算法参数选择模型实现拥塞控制;由于在本公开提供的方法中,多种拥塞算法参数选择模型是基于多种拥塞控制算法以及相应的拥塞控制参数进行构建的,且对于同一拥塞控制算法也可以采用多套不同的拥塞控制参数构建出不同的拥塞算法参数选择模型,因此在
本公开提供的方法中,可以基于拥塞控制算法和拥塞控制参数这两方面实现拥塞控制,即可以将第一目标拥塞算法参数选择模型所对应的目标拥塞控制算法和目标拥塞控制参数用于对当前数据流的传输。
69.可见,本公开提供的网络拥塞控制方法可以为当前数据流确定出适合当前网络传输环境的目标拥塞控制算法以及相应的目标拥塞控制参数,即本公开提供的网络拥塞控制方法能实现拥塞控制算法和拥塞控制参数的双重选择,不仅能确定出适合当前网络传输环境的目标拥塞控制算法,还可以将确定出的目标拥塞控制参数进一步用于该目标拥塞控制算法的实施,使目标拥塞控制算法和目标拥塞控制参数共同更好地作用于数据流的传输,从而更好地缓解网络拥塞现象。
70.在一些实施例中,获取当前数据流的第一当前网络传输统计信息步骤可以包括:获取发送端统计的链路统计信息;确定当前数据流处于的传输阶段,获取与传输阶段对应的目标端统计的传输应用统计信息;根据链路统计信息和传输应用统计信息确定第一当前网络传输统计信息。
71.其中,链路统计信息可以是描述网络链路状况的信息,如链路带宽、往返延迟、丢包程度等数据包信息;在一些实际应用中,可以由发送端的内核数据统计获得上述链路统计信息,例如可以获取到瓶颈链路带宽c、稳定往返延迟r、最大延迟rmax、丢包系数ploss、网络乱序系数pdisorder等数据。传输应用统计信息可以是由目标端采集应用层数据获得的,当数据流处于不同传输阶段时,可以对应于不同的目标端。
72.在一些实际应用中,可以直接以链路统计信息和传输应用统计信息作为第一当前网络传输统计信息;也可以对链路统计信息和传输应用统计信息进行一些数据处理之后再作为第一当前网络传输统计信息,例如可以基于预设的过滤方法进行数据过滤,再确定出第一当前网络传输统计信息。
73.可见,在本公开实施例中,可以获取当前数据流的链路统计信息和传输应用统计信息作为丰富的参考因素以用于拥塞算法参数选择模型的处理,为拥塞算法参数选择模型的选择提供了丰富的数据基础,使得最终确定出的传输方式适合当前数据流的网络传输环境。
74.进一步地,在一些实施例中,当传输阶段为传输启动阶段时,与传输阶段对应的目标端可以包括发送端;获取与传输阶段对应的目标端统计的传输应用统计信息步骤可以包括:获取发送端统计的应用属性和发送状况指标值;根据应用属性和发送状况指标值确定传输应用统计信息。
75.传输启动阶段可以看作是数据流刚开始传输的阶段。如:服务端响应于客户端对于一段视频数据的请求而向客户端发送该视频数据的前k个数据包的阶段,可以看作是传输启动阶段。在一些实际应用中,可以采集发送端的应用层数据得到上述应用属性和发送状况指标值,应用属性例如可以是应用类型(如视频类应用、音频类应用等)、应用时长(如视频时长)、总传输数据量(如视频占用空间)等信息,发送状况指标值例如可以是视频流分块大小、分块视频时长、发送速率等信息。
76.可见,在本公开实施例中,可以根据发送端统计的应用属性和发送状况指标值确定出数据流处于传输启动阶段时的传输应用统计信息,使得当数据流处于传输启动阶段时,可以以发送端统计的链路统计信息、应用属性和发送状况指标值作为丰富的参考因素
以用于拥塞算法参数选择模型的处理,从而确定出当数据流处于传输启动阶段时可以使用的目标拥塞控制算法和目标拥塞控制参数,实现符合数据传输阶段的拥塞控制。
77.进一步地,在一些实施例中,当传输阶段为平稳传输阶段,与传输阶段对应的目标端可以包括发送端和接收端;获取与传输阶段对应的目标端统计的传输应用统计信息步骤可以包括:获取发送端统计的应用属性和发送状况指标值;获取接收端统计的接收状况指标值;根据应用属性、发送状况指标值和接收状况指标值确定传输应用统计信息。
78.平稳传输阶段可以看作是传输启动阶段之后的阶段。如:服务端响应于客户端对于一段视频数据的请求,已向客户端发送该视频数据的前k个数据包之后的阶段,可以看作是传输启动阶段。在一些实际应用中,可以采集接收端的应用层数据得到上述接收状况指标值,例如当应用类型为视频时,接收状况指标值可以是:首屏延迟时长、播放失败率、播放卡顿率、接收速率等信息,接收状况指标值可以表征接收端(如用户端)的应用体验。
79.可见,在本公开实施例中,可以根据发送端统计的应用属性和发送状况指标值以及接收端统计的接收状况指标值确定出数据流处于平稳传输阶段时的传输应用统计信息,使得当数据流处于平稳传输阶段时,可以以发送端统计的链路统计信息、应用属性和发送状况指标值以及接收端统计的接收状况指标值作为丰富的参考因素以用于拥塞算法参数选择模型的处理,从而确定出当数据流处于平稳传输阶段时可以使用的目标拥塞控制算法和目标拥塞控制参数,实现符合数据传输阶段的拥塞控制。
80.由上述步骤可知,本公开实施例提供的网络拥塞控制方法,针对当前数据流获取到的第一当前网络传输统计信息可以包括发送端统计的链路统计信息,还可以包括与传输阶段对应的目标端统计的传输应用统计信息,其中传输应用统计信息可以是发送端的发送状况信息和/或接收端的接收状况信息,从而使本方案能够将链路统计信息和传输应用统计信息作为丰富的参考因素以用于拥塞算法参数选择模型的处理。可见,本公开提供的网络拥塞控制方法可以多样化地考虑当前数据流的网络传输环境,使得本方法中所选出的第一目标拥塞算法参数选择模型能够在链路信息、发送状况、接收状况等多方面因素下适应当前数据流的传输。
81.在一些实施例中,通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值的步骤,包括:将第一当前网络传输统计信息分别输入多个拥塞算法参数选择模型中的每个拥塞算法参数选择模型,获得每个拥塞算法参数选择模型输出的对下一统计时间段内接收端的接收状况指标值的预测值;获取各个预测值对应的权重值;根据预测值和相应权重值计算每一拥塞算法参数选择模型的预测传输效果值,以作为多个预测传输效果值。
82.本公开实施例中,可以通过训练好的拥塞算法参数选择模型处理第一当前网络传输统计信息,获得对下一统计时间段内接收端的一个或多个接收状况指标值的预测值,再结合预设置的权重值计算得到用以表征传输效果的预测传输效果值。以服务端向客户端传输视频数据为例进行说明:可以通过训练好的拥塞算法参数选择模型处理第一当前网络传输统计信息,得到预测接收传输速率、预测播放延迟和预测播放失败率,再获取预测接收传输速率的第一权重值、预测播放延迟的第二权重值和预测播放失败率的第三权重值,进而计算出加权和以作为预测传输效果值。其中,权重值(包括第一权重值、第二权重值以及第三权重值)可以根据实际情况进行调整设置,例如:对于更看重接收传输速率的场景,可以
调整第一权重值,使第一权重值大于第二权重值且大于第三权重值;对于更看重接收端的播放延迟的场景,可以调整第二权重值,使第二权重值大于第一权重值且大于第三权重值。在一些实际应用中,可以按如下计算公式得到预测传输效果值:
83.c=p1*预测接收传输速率+p2*预测播放延迟-p3*预测播放失败率;
84.其中,c可以表示预测传输效果指标,p1可以表示第一权重值,p2可以表示第二权重值,(-p3)可以表示第三权重值。
85.图3是根据一示例性实施例示出的一种网络拥塞控制方法中得到第一预测传输效果指标的流程图,如图3所示,图2实施例中的步骤s203可以进一步包括以下步骤:
86.步骤s301,将第一当前网络传输统计信息分别输入多个拥塞算法参数选择模型中的每个拥塞算法参数选择模型,获得每个拥塞算法参数选择模型输出的对下一统计时间段内接收端的接收状况指标值的预测值。在一些实际应用中,接收状况指标值的预测值例如可以是预测接收传输速率、预测播放延迟和预测播放失败率这三项参考指标。
87.步骤s303,获取各个预测值对应的权重值。
88.步骤s305,根据预测值和相应权重值计算每一拥塞算法参数选择模型的预测传输效果值,以作为多个预测传输效果值。
89.可见,实施图3所示的方法,可以根据第一当前网络传输统计信息经过多个拥塞算法参数选择模型的处理,得到每个拥塞算法参数选择模型输出的对一个或多个接收状况指标值的预测值,再获取相应权重值,进而可以以一个或多个方面的参考指标计算得到预测传输效果指标,并且还可以根据不同场景需求调整相应权重值,得到更适合当前场景需求的结果。
90.在一些实施例中,拥塞算法参数选择模型可以是基于时间递归神经网络模型构建的。
91.时间递归神经网络模型可以是长短期记忆网络(the long short-term memory,lstm)模型、门控循环单元(gate recurrent unit,gru)模型等,本公开实施例不做限定。使用时间递归神经网络模型,可以体现出特征之间的时间关联性,使得拥塞算法参数选择模型能够体现出当前对未来的影响,从而使得拥塞算法参数选择模型输出的预测传输效果值的表征效果更好。
92.进一步地,在一些实施例中,拥塞算法参数选择模型是按照如下方式获得的:确定拥塞算法参数选择模型对应的待训练拥塞控制算法及其拥塞控制参数,并基于时间递归神经网络模型构建初始拥塞算法参数选择模型;获取待训练拥塞控制算法及其拥塞控制参数对应的历史网络传输统计信息;根据历史网络传输统计信息确定用于初始拥塞算法参数选择模型的训练样本和样本标签;其中,训练样本包括m个连续时间步长对应的m个历史网络传输统计特征,样本标签包括m个连续时间步长之后的n个连续时间步长对应的n个历史接收状况特征;将训练样本输入至初始拥塞算法参数选择模型中,输出训练样本的预测标签;预测标签包括n个接收状况预测特征;根据样本标签和预测标签训练初始拥塞算法参数选择模型,获得拥塞算法参数选择模型。
93.其中,历史网络传输统计特征可以作为输入特征,即拥塞算法参数选择模型的训练样本,历史网络传输统计特征可以是根据历史网络传输统计信息中的各个信息构建的;历史接收状况特征可以作为输入特征的样本标签,可以是根据历史网络传输统计信息中的
接收状况指标值构建的,进而可以将训练样本输入拥塞算法参数选择模型得到输出特征,即拥塞算法参数选择模型的预测标签;m和n的值可以根据实际情况进行调整设置,例如可以设置m=3且n=1,该情况下拥塞算法参数选择模型可以根据3个步长的输入特征预测1个步长的输出特征。通过预测标签和样本标签构建损失函数,使用损失函数训练拥塞算法参数选择模型,可以使得得到的输出特征(预测标签)能够具有接收状况预测特征的意义,可以表征所预测的接收状况。此外,时间步长可以是预定义的一段时间,例如可以是数据传输中一个rtt(round-trip time,往返延迟)所对应的时间段,也可以设定为1秒、5秒等。前文实施例中的统计时间段对应的时长可以是时间步长的整数倍,例如若时间步长为10秒,统计时间段可以是30秒、90秒或10分钟。
94.例如,模型训练中每一步的输入可以是根据历史网络传输统计信息得到的一个时间步长(如:单个rtt(round-trip time,往返延迟))内的发送窗口cwnd、接收数据包数目ack、往返延迟rtt所组成的《cwnd,ack,rtt》三维特征,进而可以根据连续多个时间步长对应的《cwnd,ack,rtt》三维特征确定出训练样本和相应的样本标签,例如:可以将第1~3个《cwnd,ack,rtt》三维特征作为第一个训练样本,将第4个《cwnd,ack,rtt》三维特征作为第一个训练样本的样本标签;将第2~4个《cwnd,ack,rtt》三维特征作为第二个训练样本,将第5个《cwnd,ack,rtt》三维特征作为第二个训练样本的样本标签,以此类推,得到拥塞算法参数选择模型的所有训练样本和相应的样本标签。通过对连续的《cwnd,ack,rtt》三维特征形成的时间序列特征进行迭代,最终可以获得待训练拥塞控制算法及其拥塞控制参数对应的网络评价模型,即得到训练好的拥塞算法参数选择模型,并且,该拥塞算法参数选择模型可以适用于不同网络状况的网络评价,不同网络状况可以由各个时间步长对应的历史网络传输统计信息反映。
95.图4是根据一示例性实施例示出的一种网络拥塞控制方法中训练拥塞算法参数选择模型的流程图,如图4所示,可以包括以下步骤:
96.步骤s401,确定拥塞算法参数选择模型对应的待训练拥塞控制算法及其拥塞控制参数,并基于时间递归神经网络模型构建初始拥塞算法参数选择模型。
97.步骤s403,获取待训练拥塞控制算法及其拥塞控制参数对应的历史网络传输统计信息。
98.步骤s405,根据历史网络传输统计信息确定用于初始拥塞算法参数选择模型的训练样本和样本标签;其中,训练样本包括m个连续时间步长对应的m个历史网络传输统计特征,样本标签包括m个连续时间步长之后的n个连续时间步长对应的n个历史接收状况特征。
99.步骤s407,将训练样本输入至初始拥塞算法参数选择模型中,输出训练样本的预测标签;其中,预测标签可以包括n个接收状况预测特征。
100.步骤s409,根据样本标签和预测标签训练初始拥塞算法参数选择模型,获得拥塞算法参数选择模型。
101.可见,如实施图4所示的方法,可以提供一种拥塞算法参数选择模型的训练方式,训练过程中能够根据具有时间序列关系的历史网络传输统计特征预测后续的接收状况预测特征,然后根据历史接收状况特征和接收状况预测特征构建损失函数以用于拥塞算法参数选择模型的训练,从而能够根据接收端的实际接收状况反馈优化训练模型,使得通过该方式训练得到的拥塞算法参数选择模型可以用于预测接收端的接收状况,选出能够使接收
端体验良好的目标拥塞控制算法和目标拥塞控制参数,达到优化用户体验的效果。
102.在一些实施例中,在确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数步骤之后,网络拥塞控制方法还包括:确定用户态接口框架中的接口函数;调用接口函数,根据目标拥塞控制算法和目标拥塞控制参数修改内核态中的传输控制协议tcp流中的拥塞控制参数;利用修改后的tcp流中的拥塞控制参数实现当前数据流的传输。
103.在一些实际应用中,当确定出目标拥塞控制算法和目标拥塞控制参数后,算法选择和参数调节的方式可以是:使用linux引入的ebpf框架或dpdk的框架进行补充;例如可以调用ebpf框架支持使用tcp_bpf类中的bpf_setsockopt函数,根据用户态的输入修改内核态中的tcp流相关参数,具体地,可以根据目标拥塞控制算法和目标拥塞控制参数对tcp流相关参数进行修改,使得数据流按照目标拥塞控制算法和目标拥塞控制参数进行传输。其中,ebpf和dpdk框架均为用户态的接口框架,可以用于支持切换拥塞控制算法;通过使用ebpf中的接口函数,可以在不修改覆盖内核的前提下更换拥塞控制算法和拥塞控制参数。可见,本公开实施例可以提供一种具体可行的调整目标拥塞控制算法和目标拥塞控制参数的实施方式。
104.在数据流的传输过程中,可以设定第一触发条件,以在满足第一触发条件的情况下进行“拥塞控制算法不变、拥塞控制参数重选”的传输方式调整。
105.在一些实施例中,当存在与第一目标拥塞算法参数选择模型采用相同拥塞控制算法的至少两个待选择拥塞算法参数选择模型时,网络拥塞控制方法还包括:每间隔第一预定时长,获取当前数据流的第二当前网络传输统计信息;通过至少两个待选择拥塞算法参数选择模型分别处理第二当前网络传输统计信息,以从至少两个待选择拥塞算法参数选择模型中确定第二目标拥塞算法参数选择模型。
106.其中,“每间隔第一预定时长”可以看作是一种第一触发条件。第一预定时长可以例如1分钟、3分钟或5分钟等,第二预定时长可以例如10分钟或20分钟等,本公开实施例不做限定。进行“拥塞控制算法不变、拥塞控制参数重选”的传输方式调整时,可以无需通过所有训练好的拥塞算法参数选择模型处理第二当前网络应用信息和第二当前链路统计信息,进而可以达到节省计算资源的效果。
107.进一步地,在数据流的传输过程中,还可以设定第二触发条件,以在满足第二触发条件的情况下进行“拥塞控制算法、拥塞控制参数均重选”的传输方式调整。
108.在一些实施例中,网络拥塞控制方法还包括:每间隔第二预定时长、当当前数据流的发送端发生变化时或者当当前数据流的接收端发生变化时,获取当前数据流的第三当前网络传输统计信息;通过多个拥塞算法参数选择模型分别处理第三当前网络传输统计信息,以从多个拥塞算法参数选择模型中确定第三目标拥塞算法参数选择模型;其中,第二预定时长大于第一预定时长。
109.其中,“每间隔第二预定时长、当当前数据流的发送端发生变化时或者当当前数据流的接收端发生变化时”可以看作是一种第二触发条件。当前数据流的发送端发生变化的情况可以是一段视频从第一服务器传输完成、下一段视频从第二服务器进行传输的情况;当前数据流的接收端发生变化的情况可以是视频的接收ip发生了改变的情况。及时进行传输方式的调整,可以看作是及时根据当前的网络环境为当前数据流确定出合适的传输方
式,进而保持数据高质量的传输,以及保持用户的良好体验。
110.可见,本公开实施例提供的网络拥塞控制方法,还可以在选出第一目标拥塞算法参数选择模型后,在一些预设条件(包括每间隔第一预定时长、每间隔第二预定时长、当所述当前数据流的发送端发生变化时或者当所述当前数据流的接收端发生变化时)下重新选出新的目标拥塞算法参数选择模型(包括第二目标拥塞算法参数选择模型或第三目标拥塞算法参数选择模型)来调整拥塞控制的方式,从而能够及时适应数据流所处网络环境的变化,更好地缓解网络拥塞现象。
111.图5是根据一示例性实施例示出的一种用于实现网络拥塞控制方法的网络架构图,如图5所示,网络拥塞控制方法可以分为离线训练阶段501和在线应用阶段502。
112.在离线训练阶段501中,可以先基于lstm模型构建第一拥塞算法参数选择模型503、第二拥塞算法参数选择模型504、第三拥塞算法参数选择模型505;其中,第一拥塞算法参数选择模型503和第二拥塞算法参数选择模型504可以是采用同一拥塞控制算法(本实施例中可以是第一拥塞控制算法)和不同拥塞控制参数(本实施例中分别为第一拥塞控制参数和第二拥塞控制参数)构建的,第三拥塞算法参数选择模型505可以是采用与前两个拥塞算法参数选择模型不同的拥塞控制算法(本实施例中可以是第二拥塞控制算法)及其拥塞控制参数(本实施例中为第三拥塞控制参数)构建的;
113.再获取第一拥塞控制算法及其第一拥塞控制参数对应的历史网络传输统计信息,以用于第一拥塞算法参数选择模型503的训练;获取第一拥塞控制算法及其第二拥塞控制参数对应的历史网络传输统计信息,以用于第二拥塞算法参数选择模型504的训练;获取第二拥塞控制算法及其第三拥塞控制参数对应的历史网络传输统计信息,以用于第三拥塞算法参数选择模型505的训练;
114.经过对第一拥塞算法参数选择模型503、第二拥塞算法参数选择模型504、第三拥塞算法参数选择模型505的训练调参,得到训练好的第一拥塞算法参数选择模型506、训练好的第二拥塞算法参数选择模型507和训练好的第三拥塞算法参数选择模型508,以在在线应用阶段502中使用;在一些实际应用中,可以根据训练好的第一拥塞算法参数选择模型506、训练好的第二拥塞算法参数选择模型507和训练好的第三拥塞算法参数选择模型508组成训练好的传输选择模型509;
115.在在线应用阶段502,可以获取当前数据流的第一当前网络传输统计信息,作为训练好的传输选择模型509的输入数据,输出目标拥塞控制算法和目标拥塞控制参数,以用于当前数据流的传输。在一些实际应用中,还可以在满足触发条件的情况下重新进行拥塞控制算法和拥塞控制参数的选择,以及时根据当前的网络环境为当前数据流确定出合适的传输方式,进而保持数据高质量的传输,以及保持用户的良好体验。
116.图6是根据一示例性实施例示出的一种网络拥塞控制装置的框图。参照图6,本公开实施例提供的网络拥塞控制装置600可以包括:
117.获取模块610,被配置为执行获取当前数据流的第一当前网络传输统计信息;其中,当前数据流是从发送端发往接收端的,第一当前网络传输统计信息用于表征当前数据流在当前统计时间段内的传输状况;处理模块620,被配置为执行通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值;其中,预测传输效果值用于表征预测的在下一统计时间段内数据流的传输效果量化值;确定模块630,被配置
为执行根据多个预测传输效果值从多个拥塞算法参数选择模型中确定第一目标拥塞算法参数选择模型;确定模块630还被配置为执行确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数,作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数;其中,多个拥塞算法参数选择模型是采用多种拥塞控制算法及各拥塞控制算法所采用的拥塞控制参数构建的;多个拥塞算法参数选择模型中存在至少两个拥塞算法参数选择模型是采用同一拥塞控制算法且采用不同拥塞控制参数构建的。
118.在一些实施例中,获取模块610执行获取当前数据流的第一当前网络传输统计信息步骤包括:获取发送端统计的链路统计信息;确定当前数据流处于的传输阶段,获取与传输阶段对应的目标端统计的传输应用统计信息;根据链路统计信息和传输应用统计信息确定第一当前网络传输统计信息。
119.在一些实施例中,当传输阶段为传输启动阶段时,与传输阶段对应的目标端包括发送端;获取模块610执行获取与传输阶段对应的目标端统计的传输应用统计信息步骤包括:获取发送端统计的应用属性和发送状况指标值;根据应用属性和发送状况指标值确定传输应用统计信息。
120.在一些实施例中,当传输阶段为平稳传输阶段,与传输阶段对应的目标端包括发送端和接收端;获取模块610执行获取与传输阶段对应的目标端统计的传输应用统计信息步骤包括:获取发送端统计的应用属性和发送状况指标值;获取接收端统计的接收状况指标值;根据应用属性、发送状况指标值和接收状况指标值确定传输应用统计信息。
121.在一些实施例中,处理模块620执行通过多个拥塞算法参数选择模型分别处理第一当前网络传输统计信息,获得多个预测传输效果值的步骤,包括:将第一当前网络传输统计信息分别输入多个拥塞算法参数选择模型中的每个拥塞算法参数选择模型,获得每个拥塞算法参数选择模型输出的对下一统计时间段内接收端的接收状况指标值的预测值;获取各个预测值对应的权重值;根据预测值和相应权重值计算每一拥塞算法参数选择模型的预测传输效果值,以作为多个预测传输效果值。
122.在一些实施例中,网络拥塞控制装置还包括训练模块640,拥塞算法参数选择模型是训练模块被配置为执行如下步骤获得的:确定拥塞算法参数选择模型对应的待训练拥塞控制算法及其拥塞控制参数,并构建初始拥塞算法参数选择模型;获取待训练拥塞控制算法及其拥塞控制参数对应的历史网络传输统计信息;根据历史网络传输统计信息确定用于初始拥塞算法参数选择模型的训练样本和样本标签;其中,训练样本包括m个连续时间步长对应的m个历史网络传输统计特征,样本标签包括m个连续时间步长之后的n个连续时间步长对应的n个历史接收状况特征;将训练样本输入至初始拥塞算法参数选择模型中,输出训练样本的预测标签;预测标签包括n个接收状况预测特征;根据样本标签和预测标签训练初始拥塞算法参数选择模型,获得拥塞算法参数选择模型。
123.在一些实施例中,网络拥塞控制装置还包括修改模块650;在确定模块630执行确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数步骤之后,修改模块650被配置为执行:确定用户态接口框架中的接口函数;调用接口函数,根据目标拥塞控制算法和目标拥塞控制参数修改内核态中的传输控制协议tcp流中的拥塞控制参数;利用修改后的tcp流中的拥塞控制参数实现当前数据流的传输。
124.在一些实施例中,当存在与第一目标拥塞算法参数选择模型采用相同拥塞控制算法的至少两个待选择拥塞算法参数选择模型时,获取模块610还被配置为执行:每间隔第一预定时长,获取当前数据流的第二当前网络传输统计信息;确定模块630还被配置为执行:通过至少两个待选择拥塞算法参数选择模型分别处理第二当前网络传输统计信息,以从至少两个待选择拥塞算法参数选择模型中确定第二目标拥塞算法参数选择模型。
125.在一些实施例中,获取模块610还被配置为执行:每间隔第二预定时长、当当前数据流的发送端发生变化时或者当当前数据流的接收端发生变化时,获取当前数据流的第三当前网络传输统计信息;确定模块630还被配置为执行:通过多个拥塞算法参数选择模型分别处理第三当前网络传输统计信息,以从多个拥塞算法参数选择模型中确定第三目标拥塞算法参数选择模型;其中,第二预定时长大于第一预定时长。
126.可见,实施图6所示的装置,可以为当前数据流确定出适合当前网络传输环境的目标拥塞控制算法以及相应的目标拥塞控制参数,即本公开提供的网络拥塞控制方法能实现拥塞控制算法和拥塞控制参数的双重选择,不仅能确定出适合当前网络传输环境的目标拥塞控制算法,还可以将确定出的目标拥塞控制参数进一步用于该目标拥塞控制算法的实施,使目标拥塞控制算法和目标拥塞控制参数共同更好地作用于数据流的传输,从而更好地缓解网络拥塞现象。
127.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
128.下面参照图7来描述根据本公开的这种实施例的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
129.如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。
130.其中,存储单元存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,处理单元710可以执行如图2中所示的步骤s201,获取当前数据流的第一当前网络应用信息和第一当前链路统计信息;步骤s203,分别通过第一拥塞算法参数选择模型、第二拥塞算法参数选择模型以及第三拥塞算法参数选择模型处理第一当前网络应用信息和第一当前链路统计信息,获得第一预测传输效果指标、第二预测传输效果指标和第三预测传输效果指标;步骤s205,根据第一预测传输效果指标、第二预测传输效果指标和第三预测传输效果指标从第一拥塞算法参数选择模型、第二拥塞算法参数选择模型以及第三拥塞算法参数选择模型中确定第一目标拥塞算法参数选择模型;步骤s207,确定第一目标拥塞算法参数选择模型对应的目标拥塞控制算法和目标拥塞控制参数作为当前数据流的拥塞控制算法及其所采用的拥塞控制参数;其中,第一拥塞算法参数选择模型是利用第一拥塞控制算法及其第一拥塞控制参数对应的历史网络应用信息和历史链路统计信息训练获得,第二拥塞算法参数选择模型是利用第一拥塞控制算法及其第二拥塞控制参数对应的历史网络应用信息和历史链路统计信息训练获得,第三拥塞算法参数选择模型是利用第二拥塞控制算法及其第三拥塞控制参数对应的历史网络应用信息和历史链路统计信息训练获得。
131.又如,电子设备可以实现如图2所示的各个步骤。
132.存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(rom)723。
133.存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
134.总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
135.电子设备700也可以与一个或多个外部设备770(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
136.通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
137.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
138.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述实施例中的模型训练方法。
139.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
140.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1