CN113873571A - 一种拥塞控制方法及相应设备 - Google Patents
一种拥塞控制方法及相应设备 Download PDFInfo
- Publication number
- CN113873571A CN113873571A CN202010630381.7A CN202010630381A CN113873571A CN 113873571 A CN113873571 A CN 113873571A CN 202010630381 A CN202010630381 A CN 202010630381A CN 113873571 A CN113873571 A CN 113873571A
- Authority
- CN
- China
- Prior art keywords
- congestion
- application
- parameter
- evaluation value
- application type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 169
- 238000011156 evaluation Methods 0.000 claims description 455
- 230000005540 biological transmission Effects 0.000 claims description 313
- 230000006870 function Effects 0.000 claims description 139
- 238000013507 mapping Methods 0.000 claims description 139
- 238000012545 processing Methods 0.000 claims description 86
- 230000015654 memory Effects 0.000 claims description 43
- 238000012549 training Methods 0.000 claims description 43
- 230000002787 reinforcement Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 32
- 230000003247 decreasing effect Effects 0.000 claims description 27
- 230000009467 reduction Effects 0.000 claims description 8
- 238000013461 design Methods 0.000 description 93
- 230000008569 process Effects 0.000 description 70
- 238000010586 diagram Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种拥塞控制方法及相应设备,用于有效的对不同应用的流量数据进行拥塞控制,可以在不影响用户使用应用的体验基础上,提高网络带宽资源的利用率。其中,该方法可以包括:获取第一应用的第一应用类型;进一步的,根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
Description
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种拥塞控制方法及相应设备。
背景技术
传输控制协议(transmission control protocol,TCP)作为网络中使用最广泛的传输协议,它可以提供面向连接、可靠的数据传输服务,而TCP拥塞控制机制又是TCP的核心。
目前广泛使用的TCP拥塞控制算法仍然使用相对固定的窗口调节策略。然而,由于不同业务对传输性能指标的要求不同,例如有些应用对传输性能指标的要求较高,而有些应用对传输性能指标的要求较低,当TCP拥塞控制算法使用相对固定的窗口调节策略时,无法根据动态变化的网络业务自适应地调整拥塞参数,难以满足不同应用各自对传输性能指标的要求,无法有效的对不同应用的流量数据进行拥塞控制,导致在影响用户体验的同时造成不可避免的网络资源浪费。
发明内容
本申请实施例提供一种拥塞控制方法及相应设备,用于有效的对不同应用的流量数据进行拥塞控制,可以在不影响用户使用应用的体验基础上,提高网络带宽资源的利用率。
第一方面,本申请实施例提供一种拥塞控制方法,所述方法包括:获取第一应用的第一应用类型;进一步的,根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
采用上述设计,由于第一拥塞参数是基于第一应用的第一应用类型来确定的,从而可以保障基于第一拥塞参数获取到的第一拥塞控制算法,是适合用于对第一应用的流量数据进行拥塞控制的,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数之后,还包括:基于所述第一拥塞参数获取所述第一拥塞控制算法;基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制之后,还包括:获取基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;根据所述第一传输性能指标,调整所述第一拥塞参数。
采用上述设计,通过基于第一应用的流量数据对应的第一传输性能指标,调整第一应用类型对应的第一拥塞参数,可以在不同的网络环境下有效的对第一应用进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,根据所述第一传输性能指标,调整所述第一拥塞参数,包括:根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
采用上述设计,由于第一应用类型对应的第一拥塞参数,是基于第一应用对传输性能指标的要求进行调整的,使得基于调整后的第一拥塞参数获取到的调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制时,可以满足第一应用对传输性能指标的要求,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数,包括:将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;基于所述第一评估值,调整所述第一拥塞参数。
采用上述设计,由于目标函数可以用于评估第一应用对传输性能指标的要求,当基于目标函数和第一传输性能指标,调整第一应用类型对应的第一拥塞参数时,可以使得基于调整后的第一拥塞参数获取到的调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制时,可以满足第一应用对传输性能指标的要求,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,所述第一传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,可以采用以下方式调整所述第一拥塞参数:按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
采用上述设计,由于第一应用的第一应用类型对应的第一拥塞参数,是采用强化学习方式,基于第一应用对传输性能指标的要求和第一应用的流量数据进行训练得到的,可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制,可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,所述传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标均为低要求时,可以采用以下方式调整所述第一拥塞参数包括:按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
采用上述设计,由于第一应用的第一应用类型对应的第一拥塞参数,是采用强化学习方式,基于第一应用对传输性能指标的要求和第一应用的流量数据进行训练得到的,可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制,可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,所述第一拥塞参数可以至少包括第一子参数和第二子参数;所述多个调整方向可以包括以下四个调整方向,所述第一调整方向可以为以下四个调整方向中的任意一种:增大所述第一子参数和所述第二子参数;增大所述第一子参数,减小所述第二子参数;减小所述第一子参数,增大所述第二子参数;减小所述第一子参数和所述第二子参数。
在一种可能的设计中,所述第一拥塞控制算法包括升窗算法和降窗算法,所述第一子参数为所述升窗算法对应的参数,所述第二子参数为所述降窗算法对应的参数。具体的,所述升窗算法表征为:
所述降窗算法表征为:
cwnd=cwnd(1-β)
其中,cwnd用于表示拥塞窗口值,α为所述第一子参数,β为所述第二子参数。
在一种可能的设计中,根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,包括:获取应用类型与拥塞参数之间的映射关系;基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。其中,所述映射关系可以但不限于存储于网络设备的本地存储器、与网络设备连接的外部存储器、云端。
在一种可能的设计中,所述映射关系可以包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,可以采用以下方式确定所述应用类型对应的拥塞参数:获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
在一种可能的设计中,基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,包括:若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
采用上述设计,通过映射关系可以获取第一应用的第二应用类型对应的第二拥塞参数,从而可以根据第一应的第二应用类型对应的第二拥塞参数,获取第一应用的第一应用类型,从而可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制。
在一种可能的设计中,根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数,包括:根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;获取基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
采用上述设计,由于第一应用的第一应用类型对应的第一拥塞参数,是采用强化学习方式,基于第一应用的第二应用类型对应的第二拥塞参数和第一应用的流量数据进行训练得到的,可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制。
在一种可能的设计中,根据所述第一传输性能指标,调整所述第一拥塞参数之后,还包括:基于调整后的第一拥塞参数,更新所述映射关系。
第二方面,本申请实施例提供一种拥塞控制方法,所述方法包括:获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;进一步的,根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数,调整后的第一拥塞参数用于得到调整后的第一拥塞控制算法,调整后的第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
采用上述设计,由于第一应用类型对应的第一拥塞参数,是基于第一应用的流量数据对应的第一传输性能指标进行调整的,可以在不同的网络环境下有效的对第一应用进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数,包括:根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
采用上述设计,由于第一应用类型对应的第一拥塞参数,是基于第一应用对传输性能指标的要求进行调整的,使得基于调整后的第一拥塞参数获取到的调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制时,可以满足第一应用对传输性能指标的要求,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数,包括:将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;基于所述第一评估值,调整所述第一拥塞参数。
采用上述设计,由于目标函数可以用于评估第一应用对传输性能指标的要求,当基于目标函数和第一传输性能指标,调整第一应用类型对应的第一拥塞参数时,可以使得基于调整后的第一拥塞参数获取到的调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制时,可以满足第一应用对传输性能指标的要求,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,所述第一拥塞控制算法可以包括升窗算法和降窗算法,所述第一子参数可以为所述升窗算法对应的参数,所述第二子参数可以为所述降窗算法对应的参数。具体的,所述升窗算法表征为:
所述降窗算法表征为:
cwnd=cwnd(1-β)
其中,cwnd用于表示拥塞窗口值,α为所述第一子参数,β为所述第二子参数。
在一种可能的设计中,所述第一传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,可以采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
采用上述设计,由于第一应用的第一应用类型对应的第一拥塞参数,是采用强化学习方式,基于第一应用对传输性能指标的要求和第一应用的流量数据进行训练得到的,可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制,可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种可能的设计中,所述传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标均为低要求时,可以采用以下方式调整所述第一拥塞参数包括:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
采用上述设计,由于第一应用的第一应用类型对应的第一拥塞参数,是采用强化学习方式,基于第一应用对传输性能指标的要求和第一应用的流量数据进行训练得到的,可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制,可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一种的可能设计中,所述第一拥塞参数可以至少包括第一子参数和第二子参数;所述多个调整方向可以包括以下四个调整方向,所述第一调整方向可以为以下四个调整方向中的任意一种:增大所述第一子参数和所述第二子参数;增大所述第一子参数,减小所述第二子参数;减小所述第一子参数,增大所述第二子参数;减小所述第一子参数和所述第二子参数。
在一种可能的设计中,根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数之前,还可以包括:获取应用类型与拥塞参数之间的映射关系;基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。其中,所述映射关系可以但不限于存储于调整设备的本地存储器、与调整设备连接的外部存储器、与调整设备连接的其他设备(如网络设备)、云端。
在一种可能的设计中,所述映射关系可以包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,可以采用以下方式确定所述应用类型对应的拥塞参数:获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
在一种可能的设计中,基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,包括:若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
采用上述设计,通过映射关系可以获取第一应用的第二应用类型对应的第二拥塞参数,从而可以根据第一应的第二应用类型对应的第二拥塞参数,获取第一应用的第一应用类型,从而可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制。
在一种可能的设计中,根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数,包括:根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
采用上述设计,由于第一应用的第一应用类型对应的第一拥塞参数,是采用强化学习方式,基于第一应用的第二应用类型对应的第二拥塞参数和第一应用的流量数据进行训练得到的,可以保障基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制。
第三方面,本申请实施例提供一种网络设备,包括:
所述获取单元,用于获取第一应用的第一应用类型;
所述处理单元,用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,所述处理单元用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数之后,还可以用于:基于所述第一拥塞参数获取所述第一拥塞控制算法;基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,所述处理单元用于基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制之后,还可以用于:获取基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;根据所述第一传输性能指标,调整所述第一拥塞参数。
在一种可能设计中,所述处理单元用于根据所述第一传输性能指标,调整所述第一应用的第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
在一种可能的设计中,所述处理单元用于根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数是,可以具体用于:将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;基于所述第一评估值,调整所述第一拥塞参数。
在一种可能的设计中,所述第一传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,所述处理单元可以采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种可能的设计中,所述传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标均为低要求时,所述处理单元可以采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种可能的设计中,所述第一拥塞参数可以至少包括第一子参数和第二子参数;所述多个调整方向可以包括以下四个调整方向,所述第一调整方向可以为以下四个调整方向中的任意一种:增大所述第一子参数和所述第二子参数;增大所述第一子参数,减小所述第二子参数;减小所述第一子参数,增大所述第二子参数;减小所述第一子参数和所述第二子参数。
在一种可能的设计中,所述第一拥塞控制算法可以包括升窗算法和降窗算法,所述第一子参数可以为所述升窗算法对应的参数,所述第二子参数可以为所述降窗算法对应的参数。具体的,所述升窗算法表征为:
所述降窗算法表征为:
cwnd=cwnd(1-β)
其中,cwnd用于表示拥塞窗口值,α为所述第一子参数,β为所述第二子参数。
在一种可能的设计中,所述处理单元用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数时,可以用于:获取应用类型与拥塞参数之间的映射关系;基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。其中,所述映射关系可以但不限于存储于网络设备的本地存储器、与网络设备连接的外部存储器、云端。
在一种可能的设计中,所述映射关系可以包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,所述处理单元可以采用以下方式确定所述应用类型对应的拥塞参数:获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
在一种可能的设计中,所述处理单元用于基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
在一种可能的设计中,所述处理单元用于根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
在一种可能的设计中,所述处理单元用于根据所述第一传输性能指标,调整所述第一拥塞参数之后,还可以用于:基于调整后的第一拥塞参数,更新所述映射关系。
上述第三方面及其可能的设计中的有益效果可以参考上述对第一方面及其任意一种可能的设计中所述方法的有益效果的描述。
第四方面,本申请实施例提供一种网络设备,包括:
所述获取单元,用于获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;
所述处理单元,用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数,调整后的第一拥塞参数用于得到调整后的第一拥塞控制算法,调整后的第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,所述处理单元用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
在一种可能的设计中,所述处理单元用于根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数时,可以具体用于:将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;基于所述第一评估值,调整所述第一拥塞参数。
在一种可能的设计中,所述第一拥塞控制算法可以包括升窗算法和降窗算法,所述第一子参数可以为所述升窗算法对应的参数,所述第二子参数可以为所述降窗算法对应的参数。具体的,所述升窗算法表征为:
所述降窗算法表征为:
cwnd=cwnd(1-β)
其中,cwnd用于表示拥塞窗口值,α为所述第一子参数,β为所述第二子参数。
在一种可能的设计中,所述第一传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,所述处理单元可以采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种可能的设计中,所述传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标均为低要求时,所述处理单元可以采用以下方式调整所述第一拥塞参数包括:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种的可能设计中,所述第一拥塞参数至少包括第一子参数和第二子参数;所述多个调整方向包括以下四个调整方向,所述第一调整方向为以下四个调整方向中的任意一种:增大所述第一子参数和所述第二子参数;增大所述第一子参数,减小所述第二子参数;减小所述第一子参数,增大所述第二子参数;减小所述第一子参数和所述第二子参数。
在一种可能的设计中,所述处理单元用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数之前,还可以用于:获取应用类型与拥塞参数之间的映射关系;基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。其中,所述映射关系可以但不限于存储于调整设备的本地存储器、与调整设备连接的外部存储器、与调整设备连接的其他设备(如网络设备)、云端。
在一种可能的设计中,所述映射关系可以包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,所述处理单元可以采用以下方式确定所述应用类型对应的拥塞参数:获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
在一种可能的设计中,所述处理单元用于基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
在一种可能的设计中,所述处理单元用于根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
上述第四方面及其可能的设计中的有益效果可以参考上述对第二方面及其任意一种可能的设计中所述方法的有益效果的描述。
第五方面,本申请实施例提供一种网络设备,包括:至少一个处理器和存储器;所述存储器存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述网络设备执行上述第一方面中的任意一方面所涉及的方法。
第六方面,本申请实施例提供一种调整设备,包括:至少一个处理器和存储器;所述存储器存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述网络设备执行上述第二方面中的任意一方面所涉及的方法。
第七方面,本申请实施例提供一种计算机存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述第一方面或者第二方面中的任意一方面所涉及的方法。
第八方面,本申请实施例提供一种网络系统,包括:调整设备和网络设备;
所述调整设备,用于获取第一应用的流量数据对应的第一传输性能指标;根据所述第一传输性能指标调整所述第一应用的应用类型对应的第一拥塞参数;将调整后的第一拥塞参数发送给所述网络设备;
所述网络设备,用于根据调整后的第一拥塞参数获取调整后的第一拥塞控制算法,基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,所述调整设备用于获取第一应用的流量数据对应的第一传输性能指标之前,所述网络设备还用于:获取所述第一应用的第一应用类型;根据所述第一应用类型,获取所述第一拥塞参数;基于所述第一拥塞参数获取第一拥塞控制算法;
所述调整设备用于获取第一应用的流量数据对应的第一传输性能指标时,具体用于:获取所述网络设备基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。
在一种可能的设计中,所述网络设备用于基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制之后,调整设备还用于:获取所述网络设备根据调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标。
第九方面,本申请实施例提供一种网络系统,其特征在于,包括:识别设备和网络设备;
所述识别设备,用于识别第一应用的第一应用类型;将所述第一应用类型发送给所述网络设备;
所述网络设备,用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,所述网络设备用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数之后,还用于:基于所述第一拥塞参数获取所述第一拥塞控制算法;基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
在一种可能设计中,所述网络系统还包括调整设备,所述调整设备用于:
获取所述网络设备基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;根据所述第一传输性能指标调整所述第一应用类型对应的第一拥塞参数;将调整后的第一拥塞参数发送给所述网络设备;
所述网络设备用于:根据调整后的第一拥塞参数获取调整后的第一拥塞控制算法,基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
附图说明
图1为本申请实施例提供的一种网络系统的架构示意图;
图2为本申请实施例提供的一种网络系统的架构示意图;
图3为本申请实施例提供的一种网络系统的架构示意图;
图4为本申请实施例提供的一种网络系统的架构示意图;
图5为本申请实施例提供的一种拥塞控制方法的流程示意图;
图6为本申请实施例提供的一种网络设备获取应用类型a对应的拥塞参数的过程示意图;
图7为本申请实施例提供的一种网络设备获取应用类型a对应的拥塞参数的过程示意图;
图8为本申请实施例提供的一种网络设备获取应用类型a对应的拥塞参数的过程示意图;
图9为本申请实施例提供的一种网络设备调整第一应用的第一应用类型对应的第一拥塞参数的过程示意图;
图10为本申请实施例提供的一种网络设备基于第一评估值调整第一应用的第一应用类型对应的第一拥塞参数的过程示意图;
图11为本申请实施例提供的一种网络设备基于第一评估值调整第一应用的第一应用类型对应的第一拥塞参数的过程示意图;
图12为本申请实施例提供的一种拥塞控制方法的流程示意图;
图13为本申请实施例提供的一种网络设备的结构示意图;
图14为本申请实施例提供的一种调整设备的结构示意图;
图15为本申请实施例提供的一种网络设备的结构示意图;
图16为本申请实施例提供的一种调整设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详尽描述。
请参考图1所示,为本申请实施例提供的一种网络系统的架构示意图。其中,该网络系统可以包括至少一个终端101和网络设备102。
应理解,本申请实施例提供的网络系统,即可适用于低频场景(sub 6G),也适用于高频场景(above6G)。本申请实施例提供的网络系统的应用场景包括但不限于全球移动通讯(global system of mobile communication,GSM)系统、码分多址(code divisionmultiple access,CDMA)系统、宽带码分多址(wideband code division multipleaccess,WCDMA)系统、通用分组无线业务(general packet radio service,GPRS)、长期演进(long term evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动网络系统(universal mobiletelecommunication system,UMTS)、全球互联微波接入(worldwide interoperabilityfor microwave access,WiMAX)网络系统、未来的第五代(5th generation,5G)系统或新无线(new radio,NR)网络系统等。
应理解,本申请实施例中,终端101可以是具有无线收发功能的装置,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。终端101能够与一个或多个网络系统中的一个或多个网络设备102进行通信,并接收网络设备102提供的网络服务。举例来说,本申请实施例中的终端101可以是移动电话(或称为“蜂窝”电话)、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personaldigital assistant,PDA)、具有移动终端的计算机等。终端101还可以是用户设备(userequipment,UE)、终端(terminal)、移动台(mobile station,MS)、手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。终端101也可以是具有通信模块的通信芯片。
应理解,本申请实施例中,网络设备102包括但不限于:接入网(access network,AN)设备、无线网络控制器(radio network controller,RNC)、节点B(node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved nodeB,或home node B,HNB)、基带单元(baseBand unit,BBU)、传输点(transmitting and receiving point,TRP)、发射点(transmitting point,TP)、移动交换中心等。网络设备102可用于将收到的空中帧与网际协议(IP)分组进行相互转换,作为终端101与接入网的其余部分之间的路由器,其中接入网的其余部分可包括IP网络。网络设备102还可协调对空口的属性管理。例如,网络设备102可以包括长期演进(longterm evolution,LTE)系统或演进的LTE系统(LTE-Advanced,LTE-A)中的演进型基站(NodeB或eNB或e-NodeB,evolutional Node B),或者也可以包括5G NR系统中的下一代节点B(next generation node B,gNB),或者也可以包括云接入网(cloud radio accessnetwork,CloudRAN)系统中的集中式单元(centralized unit,CU)和分布式单元(distributed unit,DU)等等。
网络设备102还可以是接入点(access point,AP)例如无线AP,或者交换机,或者防火墙等等,本申请实施例并不限定网络设备102的具体形态。
应理解,本申请实施例中,终端101和网络设备102之间可以直接通信,也可以通过其他设备的转发进行通信,本申请实施例对此不做具体限定。其中:
终端101,用于运行第一应用。
网络设备102,用于获取第一应用的第一应用类型;进一步的,根据第一应用的第一应用类型,获取第一应用的第一应用类型对应的第一拥塞参数。其中,第一拥塞参数用于得到第一拥塞控制算法,第一拥塞控制算法用于对第一应用的流量数据进行拥塞控制。
本申请实施例中,网络设备通过获取第一应用的第一应用类型对应的第一拥塞参数,可以得到适合用于对第一应用的流量数据进行拥塞控制的第一拥塞控制算法,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,提高网络带宽资源的利用率。
如图2所示,为本申请实施提供的一种网络系统的架构示意图。其中,该网络系统除了可以包括图1所示的至少一个终端101和网络设备102之外,还可以包括用于调整拥塞参数的设备103,为了简便,本文以用于调整拥塞参数的设备的名称是调整设备为例。其中,调整设备103可以用于:
获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;进一步的,根据第一传输性能指标调整第一应用的第一应用类型对应的第一拥塞参数。
此外,调整设备103除了具备上述功能之外,还可以将调整后的第一拥塞参数发送给网络设备102,以使网络设备102可以基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,基于调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制。
需要说明的是,上述网络设备102和调整设备103可以集成在同一设备上,也可以是两个独立的设备,本申请实施例对此不进行限定。其中,当网络设备102和调整设备103为两个独立设备时,调整设备103可以包括但不限于:交换机、防火墙等任何具备调整拥塞参数的功能的设备。或者,当调整设备103与网络设备102集成在同一个设备上时,例如调整设备103集成在网络设备102上时,调整设备103可以是安装在网络设备102上的一个可以用于调整拥塞参数的软件程序,或者设置在网络设备102上可以用于调整拥塞参数的硬件电路等,此时,网络设备102可以具备调整拥塞参数的功能。本申请实施例并不限定调整设备103的具体形态。
本申请实施例中,通过调整设备根据基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标,调整第一应用对应的第一拥塞参数,以使网络设备可以在不同的网络环境下有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,提高网络带宽资源的利用率。
如图3所示,为本申请实施提供的一种网络系统的架构示意图。其中,该网络系统除了可以包括图1所示的至少一个终端101和网络设备102之外,还可以包括用于识别应用的应用类型的设备104,为了简便,本文以用于识别应用的应用类型的设备的名称是识别设备为例。其中,识别设备104可以用于识别第一应用的第一应用类型。
此外,识别设备104除了具备上述功能之外,还可以将第一应用类型发送给网络设备102。
需要说明的是,上述网络设备102和识别设备104可以集成在同一个设备上,也可以是两个独立的设备,本申请实施例对此不进行限定。其中,当网络设备102和识别设备104为两个独立设备时,识别设备104可以包括但不限于:交换机、防火墙等任何具备识别应用的应用类型的功能的设备。当识别设备104与网络设备102集成在同一个设备上时,例如识别设备104集成在网络设备102上时,识别设备104可以是安装在网络设备102上的一个可以用于识别应用的应用类型的软件程序,或者设置在网络设备102上可以用于识别应用的应用类型的硬件电路等,此时,网络设备102可以具备识别应用的应用类型的功能。本申请实施例并不限定识别设备104的具体形态。
本申请实施例中,网络设备通过识别设备识别到的第一应用的第一应用类型,获取第一应用类型对应的第一拥塞参数,进一步的,可以得到适合用于对第一应用的流量数据进行拥塞控制的第一拥塞控制算法,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,提高网络带宽资源的利用率。
以图1-图3适用于图4所示的网络系统为例,图4所示的网络系统可以包括图1-图3所示的至少一个终端101、网络设备102,图3所示的调整设备103和图4所示的识别设备104。其中:
终端101,用于运行第一应用。
识别设备104,用于识别第一应用的第一应用类型;进一步的,将第一应用的第一应用类型发送给网络设备102。
网络设备102,用于根据获取第一应用的第一应用类型;进一步的,根据第一应用的第一应用类型,获取第一应用类型对应的第一拥塞参数。其中,第一拥塞参数用于得到第一拥塞控制算法,第一拥塞控制算法用于对第一应用的流量数据进行拥塞控制。
调整设备103,用于获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;进一步的,根据第一传输性能指标调整第一应用的第一应用类型对应的第一拥塞参数;将调整后的第一拥塞参数发送给网络设备102。
网络设备102,还用于根据调整后的第一拥塞参数获取调整后的第一拥塞控制算法,基于调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制。
需要说明的是,图4所示的网络设备102、调整设备103、识别设备104中的至少两个设备可以集成在同一个设备上,例如识别设备104和/或调整设备103可以集成在网络设备102上,此时,网络设备102可以具备识别应用的应用类型和/或调整拥塞参数的功能,或者,识别设备104和调整设备103可以集成在同一个设备上,此时,该设备具备识别应用的应用类型和调整拥塞参数的功能。当然,图4所示的网络设备102、调整设备103、识别设备104也可以分别是独立的设备,本申请实施例对此不进行限定。
本申请实施例中,网络设备通过识别设备识别第一应用的第一应用类型,可以获取第一应类型对应的第一拥塞参数,进一步的,网络设备还通过调整设备根据基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标,调整第一应用对应的第一拥塞参数,从而可以得到适合用于对第一应用的流量数据进行拥塞控制的第一拥塞控制算法,用于在不同的网络环境下有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,提高网络带宽资源的利用率。
下面将结合附图详细介绍本申请实施例提供的各种技术方案。
在介绍本申请实施例之前,首先对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)本申请实施例中所涉及的第一应用,可以为终端中安装的可以通过连接网络实现某项或多项特定功能的任意软件程序(application,简称APP)。其中,第一应用可以为:游戏类应用,例如王者荣耀、和平英雄等,或者,还可以为通讯类应用,例如微信(WeChat)、腾讯聊天软件(QQ)、钉钉等,或者,还可以为短视频类应用,例如抖音短视频、快手短视频等,或者,还可以为在线视频类应用,例如优酷、爱奇艺、腾讯视频等,还可以为网页类应用,例如百度、搜狐等,还可以是虚拟现实(virtual reality,VR)类应用类型,等等,本申请实施例对此不作具体限定。
2)本申请实施例中的术语“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一应用和第二应用,只是为了区分不同的应用,而并不是表示这两个应用的优先级或者重要程度等的不同。
另外,需要理解的是,在本申请实施例中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
下面将结合图1-4对本申请实施例提供的拥塞控制方法进行具体阐述。
在一些实施例中,以图1-3所示的网络系统应用于如图4所示的网络系统为例,如图5所示,为本申请实施例提供的一种拥塞控制方法的流程示意图。其中,该方法流程包括如下步骤:
S201、获取第一应用的第一应用类型。
在一些实施例中,当终端通过网络设备连接到网络时,终端可以通过使用网络进行各项的学习或者娱乐活动。比如,若第一应用为在线视频类应用,终端运行第一应用时通过使用网络可以播放视频,或者,若第一应用为游戏类应用,终端运行第一应用时通过使用网络可以显示游戏操作画面,等等。在此过程中,识别设备可以获取第一应用的流量数据,并基于第一应用的流量数据,通过采用相应的识别方法识别第一应用的第一应用类型。作为一种示例,识别设备可以基于第一应用的流量数据,通过采用端口号的分类识别方法识别第一应用的第一应用类型。或者,识别设备可以基于第一应用的流量数据,通过采用深度报文检测(deep packet inspection,DPI)的识别方法识别第一应用的第一应用类型。或者,识别设备可以基于第一应用的流量数据,通过采用深度流检测(deep flowinspection,DFI)的识别方法识别第一应用的第一应用类型。或者,识别设备可以基于第一应用的流量数据,通过采用机器学习的识别方法识别第一应用的第一应用类型,等等。在具体的实现过程中,识别设备还可以基于第一应用的流量数据,通过结合上述各个识别方法识别第一应用的第一应用类型,本申请实施例对此不作具体限定。
其中,第一应用类型本申请又可以称为小类应用类型,例如,若第一应用为王者荣耀,第一应用的第一应用类型可以是王者荣耀应用类型。
在一些实施例中,识别设备可以将识别到的第一应用的第一应用类型发送给网络设备,此外,识别设备还可以将第一应用的流量数据转发给网络设备。相应的,网络设备可以获取识别设备发送的第一应用的第一应用类型,以及获取识别设备转发的第一应用的流量数据。
本申请实施例中,网络设备可以通过识别设备基于不同应用各自的流量数据,识别不同应用各自的第一应用类型,从而可以在后续网络设备对不同应用各自的流量数据进行拥塞控制时,可以基于不同应用各自的第一应用类型为不同应用选择合适的拥塞控制算法,用于对不同应用各自的流量数据进行拥塞控制,从而可以有效的对不同应用各自的流量数据进行拥塞控制,进一步的,可以在不影响用户使用这些应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
S202、根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
在一些实施例中,网络设备获取到第一应用类型对应的第一拥塞参数后,可以基于第一拥塞参数获取第一拥塞控制算法,并可以基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制。
在本申请实施例中,由于第一拥塞参数是基于第一应用的第一应用类型来确定的,从而可以保障网络设备基于第一拥塞参数获取到的第一拥塞控制算法,是适合用于对第一应用的流量数据进行拥塞控制的,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一些实施例中,网络设备可以获取预存的应用类型与拥塞参数之间的映射关系。可选的,该映射关系可以包括多个应用类型和多个应用类型各自对应的拥塞参数。其中,该映射关系可以是网络设备存储于本地存储器、与网络设备连接的外部存储器、云端等中的一个或者任意组合,本申请实施例对此不作具体限定。在具体的实现过程中,该映射关系包括的多个应用类型,可以包括多个第二应用类型(本申请又可以称为大类应用类型),还可以包括多个第二应用类型中的至少一个第二应用类型各自所包含的至少一个第一应用类型,即第一应用类型属于第二应用类型。具体的,多个第二应用类型可以包括但不限于:游戏类应用类型、在线视频类应用类型、短视频类应用类型、在线音乐类应用类型、VR类应用类型以及网页类应用类型等,本申请实施例对此不作具体限定。作为一种示例,以多个第二应用类型中的某个第二应用类型为游戏类应用类型为例,该第二应用类型可以包含王者荣耀应用类型或者和平英雄应用类型等第一应用类型。
在一些实施例中,上述第一拥塞参数,可以是网络设备基于第一应用的第一应用类型和该映射关系获取到的。
在具体的实现过程中,对于应用类型与拥塞参数之间的映射关系中的至少一个应用类型中的任一应用类型,为了简便,以该应用类型称为应用类型a为例。其中,应用类型a通常指第二应用类型。其中,应用类型a对应的拥塞参数,可以是调整设备采用强化学习的方式基于对应用类型a对应的至少一个应用的流量数据进行训练得到的。具体的,当调整设备集成在网络设备上时,应用类型a对应的拥塞参数,可以是网络设备采用强化学习的方式基于对应用类型a对应的至少一个应用的流量数据进行训练得到的。当调整设备与网络设备为独立设备时,网络设备可以获取调整设备基于强化学习训练得到的应用类型a对应的拥塞参数。
下面以调整设备集成在网络设备上为例,即网络设备具备调整拥塞参数的功能为例,结合图5-6具体介绍网络设备获取应用类型a对应的拥塞参数的过程。
请参考图6所示,为本申请实施例提供的一种网络设备获取应用类型a对应的拥塞参数的过程示意图。其中,图6以执行主体为网络设备为例。如图6所示,该过程可以包括如下步骤:
S301、获取应用类型a对应的初始拥塞参数,基于该初始拥塞参数获取初始拥塞控制算法。
在一些实施例中,拥塞控制算法可以包括但不限于以下两种机制:拥塞降窗机制和窗口恢复机制。其中,在拥塞窗口机制和窗口恢复机制中,升窗算法可以表征为:
降窗算法可以表征为:
cwnd=cwnd(1-β)
其中,在上述升窗算法和降窗算法中,cwnd用于表示拥塞窗口值,α、β为系数即拥塞参数。其中,α和β的不同取值可以对应不同的拥塞控制算法,而不同的拥塞控制算法对应用的传输性能指标也有着不同的影响。
在一些实施例中,网络设备在对应用类型a对应的至少一个应用的流量数据进行训练之前,可以将应用类型a对应的拥塞参数进行初始化取值,得到应用类型a对应的初始拥塞参数。具体的,该初始拥塞参数可以包括第一子参数和第二子参数。作为一种示例,第一子参数可以为升窗算法对应的参数,例如第一子参数可以为α,第二子参数可以为降窗算法对应的参数,例如第二子参数可以为β。网络设备可以将应用类型a对应的拥塞参数中的第一子参数α初始化为1、第二子参数β初始化为0.5,即获得应用类型a对应的初始拥塞参数中的第一子参数为1,第二子参数为0.5。
在一些实施例中,网络设备可以基于应用类型a对应的初始拥塞参数,获得应用类型a对应的初始拥塞控制算法。比如,当应用类型a对应的初始拥塞参数中的第一子参数α为1、第二子参数β为0.5时,应用类型a对应的初始拥塞控制算法可以为早期的reno算法。
S302、基于应用类型a对应的初始拥塞控制算法,对应用类型a对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标。
在一些实施例中,网络设备可以基于获取到的应用类型a对应的初始拥塞控制算法,对应用类型a对应的至少一个应用(下文称为所述至少一个应用)的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标。例如,当应用类型a对应的初始拥塞控制算法为早期的reno算法时,网络设备可以基于该reno算法对所述至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标。具体的,网络设备可以采用上述升窗算法和上述降窗算法对所述至少一个应用的流量数据进行拥塞控制。在此过程中,网络设备可以记录基于应用类型a对应的初始拥塞控制算法对所述至少一个应用的流量数据进行拥塞控制时对应的初始传输性能指标,换言之,网络设备可以获取基于应用类型a对应的初始拥塞控制算法对所述至少一个应用的流量数据进行拥塞控制时对应的初始传输性能指标。
S303、将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求。
在一些实施例中,网络设备可以获取目标函数,该目标函数可以用于评估所述至少一个应用各自对传输性能指标的要求,可以理解为,目标函数可以用于衡量应用类型a对应的初始拥塞控制算法,对所述至少一个应用的流量数据进行拥塞控制的效果,即衡量应用类型a对应的初始拥塞控制算法,是否可以较好的满足所述至少一个应用各自对传输性能指标的要求。
本申请实施例中,由于网络带宽资源有限,且不同应用类型的应用对传输性能指标有着不同的要求,网络设备通过获取目标函数,可以衡量应用类型a对应的初始拥塞控制算法是否可以较好的满足所述至少一个应用各自对传输性能指标的要求,从而可以满足所述至少一个应用各自对传输性能指标的要求。
在一些实施例中,传输性能指标可以包括至少两个性能指标,不同应用类型的应用对传输性能指标有着不同的要求,可以理解为,不同应用类型的应用可以对至少两个性能指标有着不同的要求。例如,一些应用类型的应用对至少两个性能指标中的至少一个性能指标为高要求,另一些应用对至少两个性能指标为低要求等。
作为一种示例,至少两个性能指标可以包括时延和吞吐率。不同应用类型的应用可以对吞吐率和时延有着不同的要求。比如,若应用类型a为游戏类应用类型,由于时延对游戏类应用影响较大,吞吐率对游戏类应用影响较小,网络设备则可以基于应用类型a判断所述至少一个应用对时延为高要求、对吞吐率为低要求。或者,若应用类型a为VR类应用类型,由于时延和吞吐率对VR类应用影响都较大,网络设备则可以应用类型a判断所述至少一个应用对吞吐率和时延为高要求。或者,若应用类型a为在线视频类应用类型,由于时延对在线视频类应用影响较小,吞吐率对在线视频类应用影响较大,网络设备则可以基于应用类型a判断所述至少一个应用对吞吐率为高要求,对时延为低要求。或者,若应用类型a为网页类应用类型,由于时延和吞吐率对网页类应用影响都较小,网络设备则可以基于应用类型a判断所述至少一个应用对吞吐率和时延为低要求,等等。其中,所述至少一个应用对吞吐率和/或时延为高要求,可以理解为所述至少一个应用的流量数据要求低时延和/或高吞吐率,所述至少一个应用对吞吐率和时延为低要求,可以理解为所述至少一个第二应用的流量数据要求高时延和低吞吐率。
作为一种示例,当至少两个传输性能指标包括吞吐率和时延时,目标函数可以表征为:
R(x,y)=η*U(x)+(1-η)*U(y)
其中,x表示基于初始拥塞控制算法对所述至少一个应用各自的流量数据进行拥塞控制时对应的时延的倒数,y表示基于初始拥塞控制算法对所述至少一个应用各自的流量数据进行拥塞控制时对应的吞吐率,η表示基于初始拥塞控制算法对所述至少一个应用各自的流量数据进行拥塞控制时对应的吞吐率和时延的平衡参数,U(x)用于表示x进行归一化取值,U(y)用于表示y进行归一化取值。
在具体的实现过程中,当网络设备获取到所述至少一个应用各自对应的初始传输性能指标后,可以将所述至少一个应用各自对应的初始传输性能指标输入目标函数,获得至少一个初始评估值。
S304、采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型a对应的拥塞参数。
在一些实施例中,网络设备获得至少一个初始评估值后,可以采用强化学习方式基于至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到应用类型a对应的拥塞参数。
比如,网络设备获得至少一个初始评估值后,可以调整应用类型a对应的初始拥塞参数,得到调整后的初始拥塞控制算法。网络设备可以基于调整后的初始拥塞控制算法对所述至少一个应用的流量数据进行拥塞控制,获取基于调整后的初始拥塞控制算法对所述至少一个应用的流量数据进行拥塞控制时对应的第四传输性能指标,并可以基于所述第四传输性能指标,获得目标函数的至少一个第四评估值。网络设备通过判断至少一个第四评估值和至少一个初始评估值之间的大小关系,以及所述至少一个应用各自对传输性能指标的要求,可以按照相应的调整方式调整应用类型a对应的初始拥塞参数,获得目标函数的最大评估值或者最小评估值,得到应用类型a对应的拥塞参数。
示例性的,以所述至少一个应用中的第二应用为例,网络设备可以应用类型a对应的初始拥塞参数,得到调整后的初始拥塞控制算法,并可以获取基于调整后的初始拥塞控制算法对第二应用的流量数据进行拥塞控制时对应的第四传输性能指标。网络设备将第四传输性能指标输入目标函数,可以获得目标函数的一个第四评估值。之后,网络设备通过判断该第四评估值与应用类型a对应的初始评估值之间的大小关系以及第二应用对传输性能指标的要求,可以按照相应的调整方式调整应用类型a对应的初始拥塞参数,获得目标函数的最大评估值或者最小评估值,得到应用类型a对应的拥塞参数。
下面结合图5-8对网络设备采用强化学习方式应用类型a对应的初始评估值和第二应用的流量数据进行训练,获得训练应用类型a对应的拥塞参数的过程进行详细介绍。
在一些实施例中,网络设备可以基于第二应用的第四传输性能指标,获取第二应用对传输性能指标的要求。比如,网络设备可以通过分析第四传输性能指标,获取第二应用对传输性能指标的要求。或者,网络设备可以基于应用类型a确定第二应用对传输性能指标的要求,本申请实施例对此不作限定。网络设备确定第二应用对传输性能指标的要求后,可以采用相应的强化学习方式,基于应用类型a对应的初始评估值和第二应用的流量数据进行训练,获得训练应用类型a对应的拥塞参数。
示例性的,如图7所示,为本申请实施例提供的一种网络设备获取应用类型a对应的拥塞参数的过程示意图。其中,图7以执行主体为网络设备,以第二应用对传输性能指标包括的至少两个性能指标中的至少一个性能指标为高要求为例。如图7所示,该过程可以包括如下步骤:
S401、获取应用类型a对应的初始拥塞参数,基于应用类型a对应的初始拥塞参数,获得应用类型a对应的初始评估值。
在具体的实现过程中,步骤S401中网络设备应用类型a对应的初始评估值,与图6所示的网络设备得到至少一个初始评估值类似,具体过程可以参考上述S301至S303的相关描述,在此不再赘述。
S402、按照多个调整方向中的第一调整方向调整应用类型a对应的初始拥塞参数,得到调整后的初始拥塞参数。
具体的,多个调整方向可以包括四个调整方向,例如包括增大应用类型a对应的初始拥塞参数中的第一子参数和第二子参数,增大应用类型a对应的初始拥塞参数中的第一子参数,减小应用类型a对应的初始拥塞参数中的第二子参数,或者,减小应用类型a对应的初始拥塞参数中的第一子参数,增大应用类型a对应的初始拥塞参数中的第二子参数,或者,减小应用类型a对应的初始拥塞参数中的第一子参数和第二子参数。
S403、基于调整后的初始拥塞参数获取调整后的初始拥塞控制算法。
在具体的实现过程中,网络设备获取到调整后的初始拥塞参数后,可以基于上述S301中的升窗算法和降窗算法获取调整后的初始拥塞控制算法,在此不再赘述。
S404,基于调整后的初始拥塞控制算法对第二应用的流量数据进行拥塞控制,并获取基于调整后的初始拥塞控制算法对第二应用的流量数据进行拥塞控制时对应的第四传输性能指标。
S405、将第四传输性能指标输入目标函数,获得第四评估值。
S406、判断第四评估值是否大于应用类型a对应的初始评估值。若是,执行S407,否则,执行S408。
S407、将初始拥塞参数替换为调整后的初始拥塞参数,将应用类型a对应的初始评估值替换为第四评估值,返回S402。
S408、将初始拥塞参数替换为调整后的初始拥塞参数,按照多个调整方向中的其他调整方向分别调整初始拥塞参数,得到多个调整后的初始拥塞参数,其他调整方向为多个调整方向中除去第一调整方向之外的调整方向;基于多个调整后的初始拥塞参数,分别返回执行S403-S405,获得多个第四评估值,然后执行S409。
S409、判断多个第四评估值中是否存在至少一个第四评估值大于应用类型a对应的初始评估值。若存在,执行S410,否则,执行S411。
S410、将第一调整方向替换为至少一个第四评估值中最大的第四评估值对应的调整方向,将应用类型a对应的评估值替换为最大的第四评估值,返回执行S402。
S411、确定应用类型a对应的初始评估值为目标函数的最大评估值,将应用类型a对应的初始评估值当前对应的初始拥塞参数作为应用类型a最终对应的拥塞参数。
示例性的,如图8所示,为本申请实施例提供的一种网络设备获取应用类型a对应的拥塞参数的过程示意图。其中,图8以执行主体为网络设备,以第二应用对传输性能指标包括的至少两个性能指标均为低要求为例。如图8所示,该过程可以包括如下步骤:
S501、获取应用类型a对应的初始拥塞参数,基于应用类型a对应的初始拥塞参数,获得应用类型a对应的初始评估值。
S502、按照多个调整方向中的第一调整方向调整应用类型a对应的初始拥塞参数,得到调整后的初始拥塞参数。
S503、基于调整后的初始拥塞参数获取调整后的初始拥塞控制算法。
S504、基于调整后的初始拥塞控制算法对第二应用的流量数据进行拥塞控制,并获取基于调整后的初始拥塞控制算法对第二应用的流量数据进行拥塞控制时对应的第四传输性能指标。
S505、将第四传输性能指标输入目标函数,获得第四评估值。
在具体的实现过程中,步骤S501-S505与上述图7所示的步骤S401-S405类似,具体可以参考上述S401-S405的相关描述,在此不再赘述。
S506、判断第四评估值是否小于应用类型a对应的初始评估值。若是,执行S507,否则,执行S508。
S507、将初始拥塞参数替换为调整后的初始拥塞参数,将应用类型a对应的初始评估值替换为第四评估值,返回S502。
S508、将初始拥塞参数替换为调整后的初始拥塞参数,按照多个调整方向中的其他调整方向分别调整初始拥塞参数,得到多个调整后的初始拥塞参数;基于多个调整后的初始拥塞参数,分别返回执行S503-S505,获得多个第四评估值,然后执行S509。
S509、判断多个第四评估值中是否存在至少一个第四评估值小于应用类型a对应的初始评估值。若存在,执行S510,否则,执行S511。
S510、将第一调整方向替换为至少一个第四评估值中最小的第四评估值对应的调整方向,将应用类型a对应的初始评估值替换为最小的第四评估值,返回执行S502。
S511、确定应用类型a对应的初始评估值为目标函数的最小评估值,将应用类型a对应的初始评估值当前对应的初始拥塞参数作为应用类型a最终对应的拥塞参数。
其中,由于应用类型a可以对应至少一个应用,当所述至少一个应用包括多个应用时,网络设备可以选取多个应用中的某个应用,采用与图7或图8所示的方式获得应用类型a对应的拥塞参数。或者,由于不同应用对传输性能指标可能存在较小的差异,网络设备可以基于多个应用,采用与图7或图8所示的方式获得应用类型a对应的多个拥塞参数,通过采用相应的方式得到应用类型a最终对应的拥塞参数,例如,可以取应用类型a对应的多个拥塞参数的平均值作为应用类型a最终对应的拥塞参数。
需要说明的是,上述映射关系中的应用类型a对应的拥塞参数,可以是网络设备线下通过测试网络采用如图7或图8所示的方式训练得到的。
需要说明的是,上述是以应用类型与拥塞参数之间的映射关系中包括第一应用的第一应用类型为例。在具体的实现过程中,当应用类型与拥塞参数之间的映射关系中不包括第一应用的第一应用类型时,网络设备可以根据第一应用类型所属的第二应用类型和映射关系,确定第一应用类型对应的第一拥塞参数。之后,网络设备可以根据第一应用的第一应用类型对应的第一拥塞参数,更新该映射关系。例如,以第一应用为王者荣耀为例,当该映射关系中只包括游戏类应用类型,即不包括王者荣耀应用类型时,网络设备可以根据游戏类应用类型和映射关系,确定王者荣耀应用类型对应的第一拥塞参数。
下面具体介绍网络设备根据第一应用的第二应用类型和应用类型与拥塞参数之间的映射关系,获取第一应用的第一应用类型对应的第一拥塞参数的过程。
在一些实施例中,网络设备获取到第一应用的第一应用类型后,可以根据第一应用的第一应用类型,确定第一应用的第二应用类型。之后,网络设备可以根据第一应用的第二应用类型以及该映射关系,获取第一应用的第二应用类型对应的第二拥塞参数。此时,网络设备获取到的第一应用的第二应用类型对应的第二拥塞参数,可以理解为,对第一应用的第一应用类型对应的第一拥塞参数进行初始化取值,即该映射关系中包括的第一应用的第二应用类型对应的第二拥塞参数的数值,为第一应用的第一应用类型对应的第一拥塞参数的初始值。之后,网络设备可以采用强化学习的方式,基于第一应用的第二应用类型对应的第二拥塞参数和第一应用的流量数据进行训练,得到第一应用的第一应用类型对应的第一拥塞参数。比如,网络设备可以基于第一应用的第二应用类型对应的第二拥塞参数获取第二拥塞控制算法,并可以获取基于第二拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第三传输性能指标,可以将第三传输性能指标输入目标函数,得到第三评估值。之后,网络设备可以采用强化学习方式基于第三评估值和第一应用的流量数据进行训练,得到第一应用的第一应用类型对应的第一拥塞参数。其中,具体训练过程可以参照上述图7所示的步骤S401-S411或者图8所示的步骤S501-S511的相关描述,在此不再赘述。
需要说明的是,当应用类型和拥塞参数之间的映射关系不包括第一应用的第一应用类型和第二应用类型时,网络设备可以采用如图7或图8所示的方式,获得第一应用的第一应用类型对应的第一拥塞参数和/或第二应用类型对应的第二拥塞参数,具体可以参照上述图7所示的步骤S401-S411或者图8所示的步骤S501-S511的相关描述,在此不再赘述。
需要说明的是,当应用类型与拥塞参数之间的映射关系不包括第一应用的第一应用类型对应的第一拥塞参数时,第一应用的第一应用类型对应的第一拥塞参数,可以是网络设备线上采用如图7或图8所示的方式训练得到的,即网络设备在第一应用被使用的过程中采用如图7或图8所示的方式训练得到的。
在本申请实施例中,由于第一应用的第一应用类型对应的第一拥塞参数,是网络设备采用强化学习方式,基于第一应用对传输性能指标的要求和第一应用的流量数据进行训练得到的,可以保障网络设备基于第一拥塞参数获取到的第一拥塞控制算法,适用于对第一应用的流量数据进行拥塞控制,可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
本申请实施例中,由于网络环境可以发生变化,在终端运行第一应用的过程中,网络设备可以通过调整第一应用的第一应用类型对应的第一拥塞参数,以适用不同的网络环境,从而可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
下面将结合图5-9对网络设备调整第一应用的第一应用类型对应的第一拥塞参数的具体过程进行介绍。
请参考图9所示,为本申请实施例提供的一种网络设备调整第一应用的第一应用类型对应的第一拥塞参数的过程示意图。其中,图9以执行主体为网络设备为例。如图9所示,该过程可以包括如下步骤:
S601、获取基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。
在一些实施例中,网络设备在基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制过程中,网络设备可以获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。具体过程可以参照上述图6所示的步骤S301-S302的相关描述,在此不再赘述。
S602、根据所述第一传输性能指标,调整所述第一拥塞参数。
在一些实施例中,网络设备可以根据第一传输性能指标,获取第一应用对传输性能指标的要求。比如,网络设备可以通过分析第一传输性能指标,获取第一应用对传输性能指标的要求。或者,网络设备可以基于第一应用的第一应用类型确定第一应用对传输性能指标的要求,本申请实施例对此不作限定。之后,网络设备可以基于第一应用对传输性能指标的要求,调整第一应用的第一应用类型对应的第一拥塞参数。比如,网络设备可以通过获取目标函数,评估第一应用对传输性能指标的要求。换言之,目标函数可以用于衡量第一拥塞控制算法对第一应用的流量数据进行拥塞控制的效果,即衡量第一拥塞控制算法是否可以满足第一应用对传输性能指标的要求。之后,网络设备可以将第一传输性能指标输入目标函数,得到第一评估值。之后,网络设备可以基于第一评估值调整第一拥塞参数。
下面结合图5-10具体介绍网络设备基于第一评估值调整第一应用的第一应用类型对应的第一拥塞参数的过程。
示例性的,如图10所示,为本申请实施例提供的一种网络设备基于第一评估值调整第一应用的第一应用类型对应的第一拥塞参数的过程示意图。其中,图10以执行主体为网络设备,以第一应用对传输性能指标包括的至少两个性能指标中的至少一个性能指标为高要求为例。如图10所示,该过程可以包括如下步骤:
S701、按照多个调整方向中的第一调整方向调整第一应用的第一应用类型对应的初始拥塞参数,得到调整后的第一拥塞参数。
S702、基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法。
S703、基于调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第二传输性能指标。
S704、将第二传输性能指标输入目标函数,获得第二评估值。
S705、判断第二评估值是否大于第一评估值。若是,执行S706,否则,执行S707。
S706、则将第一拥塞参数替换为调整后的第一拥塞参数,将第一评估值替换为第二评估值,返回S701。
S707、将第一拥塞参数替换为调整后的第一拥塞参数,按照多个调整方向中的其他调整方向分别调整第一拥塞参数,得到多个调整后的第一拥塞参数,其他调整方向为多个调整方向中除去第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行S702-S704,获得多个第二评估值,然后执行S708。
S708、判断多个第二评估值中是否存在至少一个第二评估值大于第一评估值。若存在,执行S709,否则,执行S710。
S709、将第一调整方向替换为至少一个第二评估值中最大的第二评估值对应的调整方向,将第一评估值替换为最大的第二评估值,返回执行S701。
S710、确定第一评估值为目标函数的最大评估值,将第一评估值当前对应的第一拥塞参数作为第一应用的第一应用类型最终对应的第一拥塞参数。
其中,步骤S701至S710与上述图7所示的步骤S402至S411类似,具体过程可以参考上述步骤S402至S411的相关描述,在此不再赘述。
示例性的,如图11所示,为本申请实施例提供的一种网络设备基于第一评估值调整第一应用的第一应用类型对应的第一拥塞参数的过程示意图。其中,图11以执行主体为网络设备,以第一应用对传输性能指标包括的至少两个性能指标均为低要求为例。如图11所示,该过程可以包括如下步骤:
S801、按照多个调整方向中的第一调整方向调整第一应用的第一应用类型对应的初始拥塞参数,得到调整后的第一拥塞参数。
S802、基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法。
S803、基于调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第二传输性能指标。
S804、将第二传输性能指标输入目标函数,获得第二评估值。
S805、判断第二评估值是否小于第一评估值。若是,执行S806,否则,执行S807。
S806、将第一拥塞参数替换为调整后的第一拥塞参数,将第一评估值替换为第二评估值,返回执行S801。
S807、将初始拥塞参数替换为调整后的第一拥塞参数,按照多个调整方向中的其他调整方向分别调整第一拥塞参数,得到多个调整后的第一拥塞参数;基于多个调整后的第一拥塞参数,分别返回执行S802-S804,获得多个第二评估值,然后执行S808。
S808、判断多个第二评估值中是否存在至少一个第二评估值小于第一评估值。若存在,执行S809,否则,执行S810。
S809、将第一调整方向替换为至少一个第二评估值中最小的第二评估值对应的调整方向,将第一评估值替换为最小的第二评估值,返回执行S801。
S810、确定第一评估值为目标函数的最小评估值,将第一评估值当前对应的第一拥塞参数作为第一应用的第一应用类型最终对应的第一拥塞参数。
其中,步骤S801至S810与上述图8所示的步骤S502至S511类似,具体过程可以参考上述步骤S502至S511的相关描述,在此不再赘述。
在一些实施例中,网络设备调整第一应用的第一应用类型对应的第一拥塞参数之后,网络设备可以基于调整后的第一拥塞参数,更新应用类型与拥塞参数之间的映射关系,以使网络设备后续可以基于调整后的第一拥塞参数获取到的调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制,以使网络设备可以在不同的网络环境下有效的对第一应用进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
本申请实施例中,由于网络设备用于对不同应用各自的流量数据进行拥塞控制的第一拥塞控制算法的第一拥塞参数,是基于不同应用各自的第一应用类型来确定的,从而可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用不同应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。另外,网络设备还可以调整不同应用的第一应用类型对应的第一拥塞参数,从而可以适用于不同的网络环境。
在另外一个实施例中,以图1-3所示的网络系统应用于如图4所示的网络系统为例,如图12所示,为本申请实施例提供的一种拥塞控制方法的流程示意图。其中,图12以执行主体为调整设备为例。如图12所示,该方法流程包括如下步骤:
S901、获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。
在一些实施例中,调整设备可以通过监控网络设备基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标,即调整设备可以主动获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。或者,调整设备可以获取网络设备发送的自身基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。比如,网络设备可以记录自身基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。之后,网络设备可以将记录的基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标发送给调整设备。
S902、根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数。其中,调整后的第一拥塞参数用于得到调整后的第一拥塞控制算法,调整后的第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
在一些实施例中,调整设备可以获取第一应用的第一应用类型对应的第一拥塞参数。比如,调整设备可以获取应用类型与拥塞参数之间的映射关系,并可以基于该映射关系和第一应用的第一应用类型,获取第一应用的第一应用类型对应的第一拥塞参数。可选的,该映射关系可以包括多个应用类型和多个应用类型各自对应的拥塞参数。在具体的实现过程中,该映射关系包括的多个应用类型,可以包括多个第二应用类型,还可以包括多个第二应用类型中的至少一个第二应用类型各自所包含的至少一个第一应用类型,即第一应用类型属于第二应用类型。具体的,多个第二应用类型可以包括但不限于:游戏类应用类型、在线视频类应用类型、短视频类应用类型、在线音乐类应用类型、VR类应用类型以及网页类应用类型等,本申请实施例对此不作具体限定。作为一种示例,以多个第二应用类型中的某个第二应用类型为游戏类应用类型为例,该第二应用类型可以包含王者荣耀应用类型或者和平英雄应用类型等第一应用类型。
在一些实施例中,调整设备可以基于第一应用的第一应用类型和该映射关系,获取到第一应用的第一应用类型对应的第一拥塞参数。其中,该映射关系可以是调整设备存储于本地存储器、与调整设备连接的外部存储器、与调整设备连接的其他设备(例如网络设备)、云端等中的一个或者任意组合,本申请实施例对此不作具体限定。
作为一种示例,对于应用类型与拥塞参数之间的映射关系中的至少一个应用类型中的任一应用类型,为了简便,以该应用类型称为应用类型b为例,应用类型b对应的拥塞参数,可以是调整设备采用强化学习的方式基于对应用类型b对应的至少一个应用的流量数据进行训练得到的。其中,应用类型b通常指第二应用类型。
其中,调整设备获取应用类型b对应的拥塞参数,与上述图7或图8所示的网络设备获取应用类型a对应的拥塞参数的过程类似,具体可以参照上述图7所示的步骤S401-S411或者图8所示的步骤S501-S511的相关描述,在此不再赘述。
其中,由于应用类型b可以对应至少一个应用,当应用类型b对应的至少一个应用包括多个应用时,调整设备可以选取多个应用中的某个应用,采用如与上述图7或图8所示的网络设备获得应用类型a对应的拥塞参数。或者,由于不同应用对传输性能指标可能存在较小的差异,调整设备可以基于多个应用,采用如与上述图7或图8所示的网络设备获得应用类型a对应的多个拥塞参数的方式,获得应用类型a对应的多个拥塞参数。之后,调整设备可以通过采用相应的方式得到应用类型b最终对应的拥塞参数,例如,可以取应用类型b对应的多个拥塞参数的平均值作为应用类型b最终对应的拥塞参数。
需要说明的是,上述映射关系中的应用类型b对应的拥塞参数,可以是调整设备线下通过测试网络采用如与上述图7或图8所示的网络设备获得应用类型a的方式训练得到的。
需要说明的是,上述是以应用类型与拥塞参数之间的映射关系中包括第一应用的第一应用类型为例。在具体的实现过程中,当应用类型与拥塞参数之间的映射关系中不包括第一应用的第一应用类型时,调整设备可以根据第一应用的第二应用类型和该映射关系,确定第一应用类型对应的第一拥塞参数。之后,调整设备可以根据第一应用的第一应用类型对应的第一拥塞参数,更新该映射关系。例如,以第一应用为王者荣耀为例,当该映射关系中只包括游戏类应用类型,即不包括王者荣耀应用类型时,调整设备可以根据游戏类应用类型和该映射关系,确定王者荣耀应用类型对应的第一拥塞参数。
下面具体介绍调整设备根据第一应用的第二应用类型和映射关系,获取第一应用类型对应的第一拥塞参数的过程。
在一些实施例中,调整设备获取到第一应用的第一应用类型后,可以根据第一应用的第一应用类型,确定第一应用的第二应用类型。之后,调整设备可以根据第一应用的第二应用类型以及该映射关系,获取第一应用的第二应用类型对应的第二拥塞参数。此时,调整设备获取到的第一应用的第二应用类型对应的第二拥塞参数,可以理解为,对第一应用的第一应用类型对应的第一拥塞参数进行初始化取值,即该映射关系中包括的第一应用的第二应用类型对应的第二拥塞参数的数值,为第一应用的第一应用类型对应的第一拥塞参数的初始值。之后,调整设备可以采用强化学习的方式,基于第一应用的第二应用类型对应的第二拥塞参数和第一应用的流量数据进行训练,得到第一应用的第一应用类型对应的第一拥塞参数。比如,调整设备可以基于第一应用的第二应用类型对应的第二拥塞参数获取第二拥塞控制算法,并可以获取基于第二拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第三传输性能指标,将第三性能指标输入目标函数,得到第三评估值。之后,调整设备可以采用强化学习方式基于第三评估值和第一应用的流量数据进行训练,得到第一应用类型对应的第一拥塞参数。其中,调整设备得到第一应用类型对应的第一拥塞参数过程,网络设备得到第一应用类型对应的第一拥塞参数的过程类似,具体训练过程可以参照上述图7所示的步骤S401-S411或者图8所示的步骤S501-S511的相关描述,在此不再赘述。
需要说明的是,当应用类型和拥塞参数之间的映射关系不包括第一应用的第一应用类型和第二应用类型时,调整设备可以采用如图7或图8的方式,获得第一应用的第一应用类型对应的第一拥塞参数和/或第二应用类型对应的第二拥塞参数,具体过程可以参照上述图7所示的步骤S401-S411或者图8所示的步骤S501-S511的相关描述,在此不再赘述。
需要说明的是,当应用类型与拥塞参数之间的映射关系不包括第一应用的第一应用类型对应的第一拥塞参数时,第一应用的第一应用类型对应的第一拥塞参数,可以是调整设备线上采用如图7或图8的方式训练得到的,即调整设备在第一应用被使用的过程中采用如图7或图8的方式训练得到的。
在本申请实施例中,由于第一应用的第一应用类型对应的第一拥塞参数,是调整设备采用强化学习方式,基于第一应用对传输性能指标的要求和第一应用的流量数据进行训练得到的,可以保障基于第一拥塞参数获取到的第一拥塞控制算法是适用于对第一应用的流量数据进行拥塞控制的,可以有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一些实施例中,调整设备在获取到第一应用的第一应用类型对应的第一拥塞参数之前,还可以获取第一应用的第一应用类型。比如,网络设备将识别设备识别到的第一应用的第一应用类型发送给调整设备。相应的,调整设备可以获取第一应用的第一应用类型。或者,当识别设备集成在网络设备上时,调整设备可以获取网络设备识别到的第一应用的第一应用类型。或者,当识别设备集成在调整设备上时,调整设备可以识别到的第一应用的第一应用类型。其中,具体识别第一应用的第一应用类型的过程,可以参见上述S201所示的识别第一应用的第一应用类型的过程,在此不再赘述。
在一些实施例中,调整设备获取到第一传输性能指标后,可以根据第一传输性能指标调整第一应用的第一应用类型对应的第一拥塞参数。
在一些实施例中,调整设备可以根据第一传输性能指标,获取第一应用对传输性能指标的要求。其中,调整设备获取第一应用对传输性能指标的要求的具体实现过程,与网络设备获取第一应用对传输性能指标的要求的具体实现过程类似,具体可以参照上述关于网络设备获取第一应用对传输性能指标的要求的相关描述,在此不再赘述。之后,调整设备可以基于第一应用对传输性能指标的要求,调整第一应用的第一应用类型对应的第一拥塞参数。比如,调整设备可以通过获取目标函数,评估第一应用对传输性能指标的要求。换言之,目标函数可以用于衡量第一拥塞控制算法对第一应用的流量数据进行拥塞控制的效果,即衡量第一拥塞控制算法是否可以满足第一应用对传输性能指标的要求。之后,调整设备可以将第一传输性能指标输入目标函数,得到第一评估值。调整设备可以基于第一评估值调整第一拥塞参数。
其中,调整设备基于第一评估值调整第一拥塞参数的过程,与网络设备基于第一评估值调整第一拥塞参数的过程类似,具体可以参照上述图10所示的步骤S701-S710或者图11所示的步骤S801-S810的相关描述,在此不再赘述。
本申请实施例中,由于网络环境可以发生变化,在终端运行第一应用的过程中,调整设备可以通过调整第一应用的第一应用类型对应的第一拥塞参数,以使网络设备可以在不同的网络环境下有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
在一些实施例中,调整设备调整第一应用的第一应用类型对应的第一拥塞参数之后,调整设备可以基于调整后的第一拥塞参数,更新应用类型与拥塞参数之间的映射关系。调整设备还可以将调整后的第一拥塞参数发送给网络设备,以使网上设备后续可以基于调整后的第一拥塞参数获取到的调整后的第一拥塞控制算法对第一应用的流量数据进行拥塞控制,以使网络设备可以在不同的网络环境下有效的对第一应用的流量数据进行拥塞控制,进一步的,可以在不影响用户使用第一应用的体验的基础上,分配好有限的网络带宽资源,可以提高网络带宽资源的利用率。
应理解,本申请实施例中,网络设备或者调整设备可以执行本申请实施例中的部分或全部步骤,这些步骤仅是示例,本申请实施例还可以执行其它步骤或者各种步骤的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部步骤。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
应理解,网络设备或者调整设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对网络设备或者调整设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元(模块)的情况下,图13示出了本申请实施例提供的一种网络设备的结构示意图。如图13所示,网络设备1000可以包括:获取单元1001和处理单元1002。
其中,获取单元1001,用于支持网络设备1000获取第一应用的第一应用类型。具体的,当网络设备1000是从其他设备中获取第一应用的第一应用类型时,获取单元1001可以支持网络设备与其他设备的通信,例如与识别设备之间的通信。处理单元1002,用于对网络设备1000的动作进行控制管理,例如,处理单元1002用于支持网络设备1000执行图5-图11中所示的过程,和/或用于本文所描述的技术的其它过程。具体的,可以参考如下描述:
获取单元1001,用于获取第一应用的第一应用类型;
处理单元1002,用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,处理单元1002用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数之后,还可以用于:基于所述第一拥塞参数获取所述第一拥塞控制算法;基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,处理单元1002用于基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制之后,还可以用于:获取基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;根据所述第一传输性能指标,调整所述第一拥塞参数。
在一种可能设计中,处理单元1002用于根据所述第一传输性能指标,调整所述第一应用的第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
在一种可能的设计中,处理单元1002用于根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数是,可以具体用于:将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;基于所述第一评估值,调整所述第一拥塞参数。
在一种可能的设计中,所述第一传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,处理单元1002可以采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种可能的设计中,所述传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标均为低要求时,处理单元1002可以采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种可能的设计中,所述第一拥塞参数可以至少包括第一子参数和第二子参数;所述多个调整方向可以包括以下四个调整方向,所述第一调整方向可以为以下四个调整方向中的任意一种:增大所述第一子参数和所述第二子参数;增大所述第一子参数,减小所述第二子参数;减小所述第一子参数,增大所述第二子参数;减小所述第一子参数和所述第二子参数。
在一种可能的设计中,所述第一拥塞控制算法可以包括升窗算法和降窗算法,所述第一子参数可以为所述升窗算法对应的参数,所述第二子参数可以为所述降窗算法对应的参数。具体的,所述升窗算法表征为:
所述降窗算法表征为:
cwnd=cwnd(1-β)
其中,cwnd用于表示拥塞窗口值,α为所述第一子参数,β为所述第二子参数。
在一种可能的设计中,处理单元1002用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数时,可以用于:获取应用类型与拥塞参数之间的映射关系;基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。其中,所述映射关系可以但不限于存储于网络设备1000的本地存储器、与网络设备1000连接的外部存储器、云端。
在一种可能的设计中,所述映射关系可以包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,处理单元1002可以采用以下方式确定所述应用类型对应的拥塞参数:获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
在一种可能的设计中,处理单元1002用于基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
在一种可能的设计中,处理单元1002用于根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
在一种可能的设计中,处理单元1002用于根据所述第一传输性能指标,调整所述第一拥塞参数之后,还可以用于:基于调整后的第一拥塞参数,更新所述映射关系。
应理解,网络设备1000中的各个模块的操作和/或功能分别为了实现图5-图11所示的拥塞控制方法的相应流程,为了简洁,在此不再赘述。
在采用集成的单元(模块)的情况下,图14示出了本申请实施例提供的一种网络设备的结构示意图。如图14所示,调整设备1100可以包括:获取单元1101和处理单元1102。
其中,获取单元1101,用于支持调整设备1100获取第一应用的第一应用类型。具体的,当调整设备1100是从其他设备中获取第一应用的第一应用类型时,获取单元1101可以支持调整设备与其他设备的通信,例如与识别设备和/或网络设备之间的通信。处理单元1102,用于对调整设备1100的动作进行控制管理,例如,处理单元1102用于支持调整设备1100执行图12中所示的过程,和/或用于本文所描述的技术的其它过程。具体的,可以参考如下描述:
获取单元1101,用于获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;
处理单元1102,用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数,调整后的第一拥塞参数用于得到调整后的第一拥塞控制算法,调整后的第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
在一种可能的设计中,处理单元1102用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
在一种可能的设计中,处理单元1102用于根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数时,可以具体用于:将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;基于所述第一评估值,调整所述第一拥塞参数。
在一种可能的设计中,所述第一拥塞控制算法可以包括升窗算法和降窗算法,所述第一子参数可以为所述升窗算法对应的参数,所述第二子参数可以为所述降窗算法对应的参数。具体的,所述升窗算法表征为:
所述降窗算法表征为:
cwnd=cwnd(1-β)
其中,cwnd用于表示拥塞窗口值,α为所述第一子参数,β为所述第二子参数。
在一种可能的设计中,所述第一传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,处理单元1102可以采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种可能的设计中,所述传输性能指标可以包括至少两个性能指标,例如可以包括吞吐率和时延;所述第一应用对所述至少两个性能指标均为低要求时,处理单元1102可以采用以下方式调整所述第一拥塞参数包括:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
在一种的可能设计中,所述第一拥塞参数至少包括第一子参数和第二子参数;所述多个调整方向包括以下四个调整方向,所述第一调整方向为以下四个调整方向中的任意一种:增大所述第一子参数和所述第二子参数;增大所述第一子参数,减小所述第二子参数;减小所述第一子参数,增大所述第二子参数;减小所述第一子参数和所述第二子参数。
在一种可能的设计中,处理单元1102用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数之前,还可以用于:获取应用类型与拥塞参数之间的映射关系;基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。其中,所述映射关系可以但不限于存储于调整设备1100的本地存储器、与调整设备1100连接的外部存储器、与调整设备1100连接的其他设备(如网络设备)、云端。
在一种可能的设计中,所述映射关系可以包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,处理单元1102可以采用以下方式确定所述应用类型对应的拥塞参数:获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
在一种可能的设计中,处理单元1102用于基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
在一种可能的设计中,处理单元1102用于根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数时,可以具体用于:根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
应理解,调整设备1100中的各个模块的操作和/或功能分别为了实现图12所示的拥塞控制方法的相应流程,为了简洁,在此不再赘述。
在采用集成的单元(模块)的情况下,在采用集成的单元(模块)的情况下,图15示出了本申请实施例提供的一种网络设备的结构示意图。如图15所示,网络设备1200可以包括至少一个处理器1201和存储器1202;所述存储器1202存储一个或多个计算机程序,例如用于存储网络设备1200必要的一个或多个计算机程序。所述至少一个处理器1201用于支持网络设备1200实现上述拥塞控制方法,例如,当所述存储器1202存储的一个或多个计算机程序被所述至少一个处理器1201执行时,使得所述网络设备1200可以实现图5-图11所示的任意一种可能,和/或用于实现本文所描述的其他实施例。
在采用集成的单元(模块)的情况下,在采用集成的单元(模块)的情况下,图16示出了本申请实施例提供的一种调整设备的结构示意图。如图16所示,调整设备1300可以包括至少一个处理器1301和存储器1302;所述存储器1302存储一个或多个计算机程序,例如用于存储调整设备1300必要的一个或多个计算机程序。所述至少一个处理器1301用于支持调整设备1300实现上述拥塞控制方法,例如,当所述存储器1302存储的一个或多个计算机程序被所述至少一个处理器1301执行时,使得所述调整设备1300可以实现图12所示的任意一种可能,和/或用于实现本文所描述的其他实施例。
基于与上述方法实施例相同构思,本申请实施例中还提供一种计算机可读存储介质或非易失性存储介质,所述计算机可读存储介质或非易失性存储介质存储有计算机指令或计算机程序,当所述计算机指令或计算机程序在计算机上运行时,使得所述计算机执行上述拥塞控制方法的实施例、实施例的任意一种可能的实现方式,或当所述计算机指令或计算机程序在一个或多个处理器上运行时,使得包含所述一个或多个处理器的网络设备或调整设备执行上述拥塞控制方法的实施例、实施例的任意一种可能的实现方式,例如执行图5-图11或图12所示的拥塞控制方法的实施例的任意步骤,和/或执行本文所描述的技术的其它过程。
基于与上述方法实施例相同构思,本申请实施例中还提供一种程序产品,所述计算机程序产品用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述拥塞控制方法的实施例、实施例的任意一种可能的实现方式,或当所述计算机指令或计算机程序在一个或多个处理器上运行时,使得包含所述一个或多个处理器的网络设备或调整设备执行上述拥塞控制方法的实施例、实施例的任意一种可能的实现方式,例如执行图5-图11或图12所示的拥塞控制方法的实施例的任意步骤,和/或执行本文所描述的技术的其它过程。
应理解,本申请实施例中的处理器(如图15、图16所示的处理器)可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述拥塞控制方法的实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用中央处理器(central processing unit,CPU),通用处理器,数字信号处理(digitalsignal processing,DSP),专用集成电路(application specific integrated circuits,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合;也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,本申请实施例中的存储器(如图15、图16所示的存储器)可以是是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamicRAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本申请描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(application specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于网络设备或调整设备中,例如可以设置于网络设备或调整设备中的不同的部件中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,DVD;还可以是半导体介质,例如,固态硬盘(solid state disk,SSD)。
本申请实施例是参照实施例所涉及的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征对本申请实施例进行了描述,显而易见的,在不脱离本申请实施例的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请实施例的示例性说明,且视为已覆盖本申请实施例范围内的任意和所有修改、变化、组合或等同物。
Claims (44)
1.一种拥塞控制方法,其特征在于,包括:
获取第一应用的第一应用类型;
根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
2.如权利要求1所述的方法,其特征在于,根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数之后,还包括:
基于所述第一拥塞参数获取所述第一拥塞控制算法;
基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
3.如权利要求2所述的方法,其特征在于,基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制之后,还包括:
获取基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;
根据所述第一传输性能指标,调整所述第一拥塞参数。
4.如权利要求3所述的方法,其特征在于,根据所述第一传输性能指标,调整所述第一拥塞参数,包括:
根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;
根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
5.如权利要求4所述的方法,其特征在于,根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数,包括:
将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;
基于所述第一评估值,调整所述第一拥塞参数。
6.如权利要求5所述的方法,其特征在于,所述第一传输性能指标包括至少两个性能指标;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;
基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;
基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;
将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
7.如权利要求5所述的方法,其特征在于,所述传输性能指标包括至少两个性能指标;所述第一应用对所述至少两个性能指标均为低要求时,采用以下方式调整所述第一拥塞参数包括:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;
基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;
基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;
将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
8.如权利要求6或7所述的方法,其特征在于,所述第一拥塞参数至少包括第一子参数和第二子参数;
所述多个调整方向包括以下四个调整方向,所述第一调整方向为以下四个调整方向中的任意一种:
增大所述第一子参数和所述第二子参数;
增大所述第一子参数,减小所述第二子参数;
减小所述第一子参数,增大所述第二子参数;
减小所述第一子参数和所述第二子参数。
9.如权利要求8所述的方法,其特征在于,所述第一拥塞控制算法包括升窗算法和降窗算法,所述第一子参数为所述升窗算法对应的参数,所述第二子参数为所述降窗算法对应的参数。
11.如权利要求1-10任一项所述的方法,其特征在于,根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,包括:
获取应用类型与拥塞参数之间的映射关系;
基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。
12.如权利要求11所述的方法,其特征在于,所述映射关系包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,采用以下方式确定所述应用类型对应的拥塞参数:
获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;
基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;
将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;
采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
13.如权利要求11或12所述的方法,其特征在于,基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,包括:
若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,
若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
14.如权利要求13所述的方法,其特征在于,根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数,包括:
根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;
获取基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;
将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;
采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
15.如权利要求11所述的方法,其特征在于,根据所述第一传输性能指标,调整所述第一拥塞参数之后,还包括:
基于调整后的第一拥塞参数,更新所述映射关系。
16.如权利要求3-15任一项所述的方法,其特征在于,所述第一传输性能指标包括吞吐率和时延。
17.一种拥塞控制算法,其特征在于,包括:
获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;
根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数,调整后的第一拥塞参数用于得到调整后的第一拥塞控制算法,调整后的第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
18.如权利要求17所述的方法,其特征在于,根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数,包括:
根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;
根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
19.如权利要求18所述的方法,其特征在于,根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数,包括:
将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;
基于所述第一评估值,调整所述第一拥塞参数。
20.如权利要求17-19任一项所述的方法,其特征在于,所述第一传输性能指标包括至少两个性能指标;所述第一应用对所述至少两个性能指标中的至少一个性能指标为高要求时,采用以下方式调整所述第一拥塞参数:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;
基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;
基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;
将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值大于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最大的第二评估值对应的调整方向,将所述第一评估值替换为所述最大的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均小于所述第一评估值时,则确定所述第一评估值为所述目标函数的最大评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
21.如权利要求17-19任一项所述的方法,其特征在于,所述传输性能指标包括至少两个性能指标;所述第一应用对所述至少两个性能指标均为低要求时,采用以下方式调整所述第一拥塞参数包括:
按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;
基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法;
基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制,并获取基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标;
将所述第二传输性能指标输入所述目标函数,得到第二评估值;
若所述第二评估值小于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,将所述第一评估值替换为所述第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;或者,
若所述第二评估值大于所述第一评估值,则将所述第一拥塞参数替换为调整后的第一拥塞参数,按照所述多个调整方向中的其他调整方向分别调整所述第一拥塞参数,得到多个调整后的第一拥塞参数,所述其他调整方向为所述多个调整方向中除去所述第一调整方向之外的调整方向;基于多个调整后的第一拥塞参数,分别返回执行基于调整后的第一拥塞参数获取调整后的第一拥塞控制算法,直至得到多个第二评估值;当所述多个第二评估值中的至少一个第二评估值小于所述第一评估值时,将所述第一调整方向替换为所述至少一个第二评估值中最小的第二评估值对应的调整方向,将所述第一评估值替换为所述最小的第二评估值,返回执行按照多个调整方向中的第一调整方向调整所述第一拥塞参数,得到调整后的第一拥塞参数;当所述多个第二评估值均大于所述第一评估值时,则确定所述第一评估值为所述目标函数的最小评估值,将所述第一评估值当前对应的第一拥塞参数作为最终的第一拥塞参数。
22.如权利要求20或21所述的方法,其特征在于,所述第一拥塞参数至少包括第一子参数和第二子参数;
所述多个调整方向包括以下四个调整方向,所述第一调整方向为以下四个调整方向中的任意一种:
增大所述第一子参数和所述第二子参数;
增大所述第一子参数,减小所述第二子参数;
减小所述第一子参数,增大所述第二子参数;
减小所述第一子参数和所述第二子参数。
23.如权利要求17-22任一项所述的方法,其特征在于,根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数之前,还包括:
获取应用类型与拥塞参数之间的映射关系;
基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数。
24.如权利要求23所述的方法,其特征在于,所述映射关系包括多个应用类型和所述多个应用类型对应的拥塞参数;对于所述映射关系中的至少一个应用类型中的任一应用类型,采用以下方式确定所述应用类型对应的拥塞参数:
获取所述应用类型对应的初始拥塞参数,基于所述应用类型对应的初始拥塞参数,获取所述应用类型对应的初始拥塞控制算法;
基于所述应用类型对应的初始拥塞控制算法,对所述应用类型对应的至少一个应用的流量数据进行拥塞控制,获得所述至少一个应用各自对应的初始传输性能指标;
将所述至少一个应用各自对应的初始传输性能指标输入目标函数,得到至少一个初始评估值,所述目标函数用于评估所述至少一个应用各自对传输性能指标的要求;
采用强化学习方式基于所述至少一个初始评估值和所述至少一个应用各自的流量数据进行训练,得到所述应用类型对应的拥塞参数。
25.如权利要求23或24所述的方法,其特征在于,基于所述映射关系和所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,包括:
若所述映射关系中不包括所述第一应用类型,则根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数;或者,
若所述映射关系中包括所述第一应用类型,则根据所述第一应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数。
26.如权利要求25所述的方法,其特征在于,根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型对应的第一拥塞参数,包括:
根据所述第一应用类型所属的第二应用类型和所述映射关系,获取所述第一应用类型所属的第二应用类型对应的第二拥塞参数,基于所述第二拥塞参数获取第二拥塞控制算法;
基于所述第二拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第三传输性能指标;
将所述第三性能指标输入目标函数,得到第三评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;
采用强化学习方式基于所述第三评估值和所述第一应用的流量数据进行训练,得到所述第一应用类型对应的第一拥塞参数。
27.如权利要求17-26任一项所述的方法,其特征在于,所述第一传输性能指标包括吞吐率和时延。
28.一种网络设备,其特征在于,包括:
获取单元,用于获取第一应用的第一应用类型;
处理单元,用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
29.如权利要求28所述的设备,其特征在于,所述处理单元用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数之后,还用于:
基于所述第一拥塞参数获取所述第一拥塞控制算法;
基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
30.如权利要求29所述的设备,其特征在于,所述处理单元用于基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制之后,还用于:
获取基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;
根据所述第一传输性能指标,调整所述第一拥塞参数。
31.如权利要求30所述的设备,其特征在于,所述处理单元用于根据所述第一传输性能指标,调整所述第一拥塞参数时,具体用于:
根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;
根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
32.如权利要求31所述的设备,其特征在于,所述处理单元用于根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数时,具体用于:
将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;
基于所述第一评估值,调整所述第一拥塞参数。
33.一种调整设备,其特征在于,包括:
获取单元,用于获取基于第一拥塞控制算法对第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;
处理单元,用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数,调整后的第一拥塞参数用于得到调整后的第一拥塞控制算法,调整后的第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
34.如权利要求33所述的设备,其特征在于,所述处理单元用于根据所述第一传输性能指标调整所述第一应用的第一应用类型对应的第一拥塞参数时,具体用于:
根据所述第一传输性能指标,获取所述第一应用对传输性能指标的要求;
根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数。
35.如权利要求34所述的设备,其特征在于,所述处理单元用于根据所述第一应用对传输性能指标的要求,调整所述第一拥塞参数时,具体用于:
将所述第一传输性能指标输入目标函数,得到第一评估值;所述目标函数用于评估所述第一应用对传输性能指标的要求;
基于所述第一评估值,调整所述第一拥塞参数。
36.一种网络设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述网络设备执行如权利要求1-16任一所述的方法。
37.一种调整设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述调整设备执行如权利要求17-27任一所述的方法。
38.一种计算机存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-16任一所述的方法,或者使得所述计算机执行如权利要求17-27任一所述的方法。
39.一种网络系统,其特征在于,包括:调整设备和网络设备;
所述调整设备,用于获取第一应用的流量数据对应的第一传输性能指标;根据所述第一传输性能指标调整所述第一应用的应用类型对应的第一拥塞参数;将调整后的第一拥塞参数发送给所述网络设备;
所述网络设备,用于根据调整后的第一拥塞参数获取调整后的第一拥塞控制算法,基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
40.如权利要求39所述的系统,其特征在于,所述调整设备用于获取第一应用的流量数据对应的第一传输性能指标之前,所述网络设备还用于:
获取所述第一应用的第一应用类型;
根据所述第一应用类型,获取所述第一拥塞参数;
基于所述第一拥塞参数获取第一拥塞控制算法;
所述调整设备用于获取第一应用的流量数据对应的第一传输性能指标时,具体用于:
获取所述网络设备基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标。
41.如权利要求39或40所述的系统,其特征在于,所述网络设备用于基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制之后,调整设备还用于:
获取所述网络设备根据调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第二传输性能指标。
42.一种网络系统,其特征在于,包括:识别设备和网络设备;
所述识别设备,用于识别第一应用的第一应用类型;将所述第一应用类型发送给所述网络设备;
所述网络设备,用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数,所述第一拥塞参数用于得到第一拥塞控制算法,所述第一拥塞控制算法用于对所述第一应用的流量数据进行拥塞控制。
43.如权利要求42所述的系统,其特征在于,所述网络设备用于根据所述第一应用类型,获取所述第一应用类型对应的第一拥塞参数之后,还用于:
基于所述第一拥塞参数获取所述第一拥塞控制算法;
基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
44.如权利要求43所述的系统,其特征在于,所述网络系统还包括调整设备,所述调整设备用于:
获取所述网络设备基于所述第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制时对应的第一传输性能指标;根据所述第一传输性能指标调整所述第一应用类型对应的第一拥塞参数;将调整后的第一拥塞参数发送给所述网络设备;
所述网络设备用于:
根据调整后的第一拥塞参数获取调整后的第一拥塞控制算法,基于调整后的第一拥塞控制算法对所述第一应用的流量数据进行拥塞控制。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630381.7A CN113873571A (zh) | 2020-06-30 | 2020-06-30 | 一种拥塞控制方法及相应设备 |
PCT/CN2021/082120 WO2022001213A1 (zh) | 2020-06-30 | 2021-03-22 | 一种拥塞控制方法及相应设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630381.7A CN113873571A (zh) | 2020-06-30 | 2020-06-30 | 一种拥塞控制方法及相应设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113873571A true CN113873571A (zh) | 2021-12-31 |
Family
ID=78982070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010630381.7A Pending CN113873571A (zh) | 2020-06-30 | 2020-06-30 | 一种拥塞控制方法及相应设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113873571A (zh) |
WO (1) | WO2022001213A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116545942A (zh) * | 2023-07-04 | 2023-08-04 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104704783A (zh) * | 2012-10-03 | 2015-06-10 | 生活服务质量有限公司 | Tcp映射的系统和方法 |
CN105681265A (zh) * | 2014-11-20 | 2016-06-15 | 华为软件技术有限公司 | 单边传输控制协议加速方法及装置 |
CN107113249A (zh) * | 2015-01-22 | 2017-08-29 | 英特尔Ip公司 | 用于数据通信的应用特定拥塞控制 |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882803B (zh) * | 2012-10-11 | 2015-12-16 | 四川大学 | 一种基于丢包和时延的混合拥塞控制方法 |
CN105763474B (zh) * | 2014-12-19 | 2019-10-25 | 华为技术有限公司 | 数据传输方法和装置 |
CN110856214B (zh) * | 2019-10-29 | 2023-01-10 | 广东省电信规划设计院有限公司 | 一种tcp拥塞控制方法及装置 |
CN111698243B (zh) * | 2020-06-09 | 2023-02-21 | 北京百度网讯科技有限公司 | 参数配置方法、装置、电子设备和存储介质 |
-
2020
- 2020-06-30 CN CN202010630381.7A patent/CN113873571A/zh active Pending
-
2021
- 2021-03-22 WO PCT/CN2021/082120 patent/WO2022001213A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104704783A (zh) * | 2012-10-03 | 2015-06-10 | 生活服务质量有限公司 | Tcp映射的系统和方法 |
CN105681265A (zh) * | 2014-11-20 | 2016-06-15 | 华为软件技术有限公司 | 单边传输控制协议加速方法及装置 |
CN107113249A (zh) * | 2015-01-22 | 2017-08-29 | 英特尔Ip公司 | 用于数据通信的应用特定拥塞控制 |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116545942A (zh) * | 2023-07-04 | 2023-08-04 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、电子设备和存储介质 |
CN116545942B (zh) * | 2023-07-04 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022001213A1 (zh) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113661727B (zh) | 用于无线网络的无线电接入网(ran)节点的神经网络的配置 | |
US11611384B2 (en) | Beam training based on sidelink control information and channel state information reference signal in device-to-device communications | |
US10321344B2 (en) | System and method to facilitate troubleshooting and predicting application performance in wireless networks | |
US20220109622A1 (en) | Reliability enhancements for multi-access traffic management | |
CN114363921B (zh) | Ai网络参数的配置方法和设备 | |
CN115119331A (zh) | 用于多接入通信量管理的强化学习 | |
EP3552351B1 (en) | Method and migration managing module for managing a migration of a service | |
JP2018107832A (ja) | 動的非直交多元接続通信のためのユーザ機器および方法 | |
KR20170048472A (ko) | 모바일 디바이스 상에서 네트워크 정보를 결정하기 위한 시스템 및 방법 | |
US11309949B2 (en) | Signal processing method and apparatus | |
CN114521012B (zh) | 定位方法、装置、终端设备、基站及位置管理服务器 | |
US20230284194A1 (en) | Carrier management method, resource allocation method and related devices | |
US20230171339A1 (en) | Wireless technology indicator display | |
KR20200092250A (ko) | 심층 강화학습 기반 다중경로 패킷 스케줄링 방법 | |
WO2022073496A1 (zh) | 神经网络信息传输方法、装置、通信设备和存储介质 | |
CN113873571A (zh) | 一种拥塞控制方法及相应设备 | |
US20230403206A1 (en) | Model training method and apparatus | |
Ding et al. | Multi-agent reinforcement learning for cooperative task offloading in distributed edge cloud computing | |
WO2023066288A1 (zh) | 模型请求方法、模型请求处理方法及相关设备 | |
CN114513408B (zh) | 一种ecn门限配置方法及装置 | |
JP2024509670A (ja) | 分割可能なディープニューラルネットワークにおける動的特徴サイズ適応 | |
EP4298818A1 (en) | Signalling support for split ml-assistance between next generation random access networks and user equipment | |
US20230388939A1 (en) | Generating a propagation model based on sampling by user equipment in idle mode | |
WO2022036642A1 (en) | Method and apparatus for beamforming | |
US20240137783A1 (en) | Signalling support for split ml-assistance between next generation random access networks and user equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |