CN112714081B - 一种数据处理方法及其装置 - Google Patents
一种数据处理方法及其装置 Download PDFInfo
- Publication number
- CN112714081B CN112714081B CN201911020020.4A CN201911020020A CN112714081B CN 112714081 B CN112714081 B CN 112714081B CN 201911020020 A CN201911020020 A CN 201911020020A CN 112714081 B CN112714081 B CN 112714081B
- Authority
- CN
- China
- Prior art keywords
- bandwidth adjustment
- bandwidth
- period
- exploration
- time period
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 44
- 230000006870 function Effects 0.000 claims description 70
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 70
- 238000004891 communication Methods 0.000 description 22
- 230000009286 beneficial effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 230000009467 reduction Effects 0.000 description 15
- 230000007423 decrease Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 9
- 230000003247 decreasing effect Effects 0.000 description 7
- 235000008694 Humulus lupulus Nutrition 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- CLOMYZFHNHFSIQ-UHFFFAOYSA-N clonixin Chemical compound CC1=C(Cl)C=CC=C1NC1=NC=CC=C1C(O)=O CLOMYZFHNHFSIQ-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
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/0273—Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
-
- 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/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/24—Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种数据处理方法及数据处理装置,该方法包括:获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息;并根据该第二带宽调整信息对前述各个业务流进行调整。其中,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的;M为大于或等于2的整数。通过这种方式,有利于确定多个业务流之间的带宽分配信息。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法及其装置。
背景技术
随着互联网接入用户的需求不断改变以及应用的多样化发展,出现多种数据流并存的现象。不同数据流在网络传输过程中有不同的传输目标。例如,虚拟现实、增强现实以及高清视频传输等数据流在网络传输过程中关注高吞吐量这一传输目标;实时应用以及车联网中车与车之间的通信等数据流在网络传输过程中关注低时延这一传输目标;远程视频医疗服务的数据流在网络传输过程中同时关注高带宽、低时延以及高可靠性等传输目标。
目前,在多种数据流并存的网络中,采用针对单一传输目标的数据流之间的带宽分配方法不能同时实现不同数据流的差异化传输目标,这样会使得网络效用较低。
因此,在多种数据流并存的网络中,如何确定多种数据流之间的带宽分配方案成为亟待解决的问题。
发明内容
本申请实施例提供一种数据处理方法及其装置,有利于确定多个业务流之间的带宽分配信息。
第一方面,本申请实施例提供一种数据处理方法,该方法包括:获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的;M为大于或等于2的整数;根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息;根据该第二带宽调整信息对前述各个业务流进行调整。
在该技术方案中,根据前述各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,确定该各个业务流在第一决策周期下的第二带宽调整信息,有利于更好地确定各个业务流之间的带宽分配信息。并且在多种业务流并存且多种业务流关注的传输目标不同的情况下,有利于提高网络效用。
在一种实现方式中,根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息的具体实施方式可以为:根据该第一带宽调整信息和该带宽调整结果,采用机器学习算法确定前述各个业务流在第一决策周期下的第二带宽调整信息。
在该技术方案中,可以在探索阶段通过第一带宽调整信息和带宽调整结果不断学习,以确定第二带宽调整信息。通过周期性的探索学习,有利于确定使得网络效用最大化的M个业务流之间的带宽分配信息。
在一种实现方式中,前述第一探索周期可以包括N个探索时间段,第一带宽调整信息可以包括前述各个业务流在各个探索时间段下的带宽调整参数;前述带宽调整结果可以包括N个效用值集合,第n个效用值集合包括每个业务流在第n个探索时间段下的效用值;N为大于或等于2的整数,1≤n≤N,M≤N;前述第二带宽调整信息包括第一带宽调整参数和第二带宽调整参数;该第一带宽调整参数为在第一决策周期下针对第一业务流的带宽调整参数,该第二带宽调整参数为在该第一决策周期下针对第二业务流的带宽调整参数;前述M个业务流包括该第一业务流和该第二业务流;根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息之前,该方法还可以包括:根据前述N个效用值集合确定该第一业务流;根据该第二带宽调整信息对前述各个业务流进行调整的具体实施方式可以为:根据前述第一带宽调整参数对该第一业务流进行调整,并根据前述第二带宽调整参数对该第二业务流进行调整。
在该技术方案中,根据该N个效用值集合确定第一业务流,并进一步增加该第一业务流的带宽,有利于最大化网络效用。
在一种实现方式中,根据前述N个效用值集合确定该第一业务流的具体实施方式可以为:从前述N个探索时间段中确定第一探索时间段,该第一探索时间段与前述N个效用值集合中的第一效用值集合相对应,该第一效用值集合中的所有效用值之和大于N个效用值集合中除该第一效用值集合以外的任一效用值集合中的所有效用值之和;获取前述各个业务流在该第一探索时间段下的带宽调整参数;并将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流。
在该技术方案中,从前述N个探索时间段中确定第一探索时间段,并将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流,进一步增加该第一业务流的带宽,有利于最大化网络效用。
在一种实现方式中,根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息的具体实施方式可以为:根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数和第二带宽调整参数。
在一种实现方式中,根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数和第二带宽调整参数的具体实施方式可以为:根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数;并根据该第一带宽调整参数,确定第二带宽调整参数。
在一种实现方式中,根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数的具体实施方式可以为:根据该第一业务流在该第一探索时间段下的效用值,以及该第一业务流在该第一探索时间段下的带宽调整参数,确定第一数值;若该第一数值小于或等于预设阈值,则将该第一数值作为第一带宽调整参数。
在该技术方案中,若根据大于第一数值的第一带宽调整参数调整第一业务流,可能会降低实现网络效用最大化的效率,或者可能使得无法实现网络效用最大化。本申请实施例在第一数值小于或等于预设阈值的情况下,将该第一数值作为第一带宽调整参数,并根据该第一带宽调整参数调整第一业务流,有利于确保实现网络效用最大化。
在一种实现方式中,该方法还可以包括:若该第一数值大于该预设阈值,则将该预设阈值作为第一带宽调整参数。
在该技术方案中,有利于确保实现网络效用最大化。
在一种实现方式中,该第一数值可以是根据第二数值和第三数值确定的;其中,该第二数值可以为前述第一业务流在第一探索时间段下的效用值,与该第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的效用值之间的差值;第三数值可以为该第一业务流在第一探索时间段下的带宽调整参数,与第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的带宽调整参数之间的差值。
在一种实现方式中,根据前述第一带宽调整参数对该第一业务流进行调整,并根据前述第二带宽调整参数对该第二业务流进行调整的具体实施方式可以为:根据该第一带宽调整参数对第一带宽分配信息中针对第一业务流的带宽分配信息进行调整,并根据该第二带宽调整参数对第一带宽分配信息中针对第二业务流的带宽分配信息进行调整,其中,该第一带宽分配信息为第二决策周期下前述M个业务流之间的带宽分配信息。
在一种实现方式中,获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果之后,该方法还可以包括:获取第一决策周期的基准效用和,第一决策周期的基准效用和为前述M个业务流在第二决策周期下的效用值之和;若N个效用值集合中至少存在一个效用值集合中的所有效用值之和大于或等于该基准效用和,则触发执行根据N个效用值集合确定前述第一业务流的步骤。
在该技术方案中,可以避免在第二决策周期(第二决策周期可以是第一决策周期的上一个决策周期)下网络已经实现了最大化网络效用的情况下,即不需要再对M个业务流之间的带宽分配信息进行调整的情况下,对M个业务流之间的带宽分配信息进行调整。
在一种实现方式中,该方法还可以包括:若N个效用值集合中的每个效用值集合中的所有效用值之和均小于该基准效用和,则获取在第二决策周期下前述M个业务流之间的带宽分配信息;将该带宽分配信息作为第一决策周期下M个业务流之间的带宽分配信息。
在一种实现方式中,该方法还可以包括:确定当前时间所属时间段的类型,该类型包括探索类型或者决策类型,每个决策周期包括一个或多个决策时间段;若当前时间所属时间段的类型为该决策类型,则触发获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果的步骤。
在一种实现方式中,该方法还可以包括:若当前时间所属时间段的类型为该探索类型,则确定前述各个业务流在第二探索时间段下的带宽调整参数,其中,该第二探索时间段为当前时间在前述第一探索周期中所属的探索时间段;根据前述各个业务流在第二探索时间段下的带宽调整参数,对第一带宽分配信息中针对前述各个业务流的带宽分配信息进行调整,得到第二带宽分配信息;其中,该第一带宽分配信息为第二决策周期下M个业务流之间的带宽分配信息,该第二带宽分配信息为该第二探索时间段下M个业务流之间的带宽分配信息;在该第二探索时间段内,按照该第二带宽分配信息调度属于M个业务流的数据包。
在一种实现方式中,该方法还可以包括:若当前时间所属时间段的类型为该探索类型,则针对前述M个业务流中的各个业务流,获取该业务流的效用函数,并获取第二探索时间段下该业务流的平均速率;根据第二探索时间段下该业务流的平均速率,确定该业务流的效用函数在第二探索时间段下的函数值;将该业务流的效用函数在第二探索时间段下的函数值,作为该业务流在该第二探索时间段下的效用值。
在一种实现方式中,不同业务流的效用函数可以不同。
第二方面,本申请实施例提供一种数据处理装置,该数据处理装置为网络设备或具有网络设备功能的装置(例如芯片)。该装置具有实现第一方面所提供的数据处理方法的功能,该功能通过硬件实现或通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本申请实施例提供另一种数据处理装置,该数据处理装置为网络设备或具有网络设备功能的装置(例如芯片),该数据处理装置包括存储器和处理器,存储器中存储有程序指令,处理器调用存储器中存储的程序指令以实现第一方面所提供的数据处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,用于储存上述第二方面描述的数据处理装置所使用的计算机程序指令,其包含用于执行上述第一方面的方法所涉及的程序。
第五方面,本申请实施例提供一种计算机程序产品,该程序产品包括程序,该程序被数据处理装置执行时,使得该数据处理装置实现上述第一方面描述的方法。
附图说明
图1是本申请实施例公开的一种通信***的架构示意图;
图2是本申请实施例公开的一种数据处理方法的流程示意图;
图3a是本申请实施例公开的另一种数据处理方法的流程示意图;
图3b是本申请实施例公开的一种控制周期的结构示意图;
图4是本申请实施例公开的又一种数据处理方法的流程示意图;
图5是本申请实施例公开的又一种数据处理方法的流程示意图;
图6a是本申请实施例公开的又一种数据处理方法的流程示意图;
图6b是本申请实施例公开的一种网络设备接收到的数据包的包头的示意图;
图6c是本申请实施例公开的一种网络拓扑的示意图;
图6d是本申请实施例公开的一种图6c所示的网络中瓶颈链路的吞吐量的示意图;
图6e是本申请实施例公开的一种按照确定出的带宽分配信息调度数据包后得到的实际流量的示意图;
图6f是本申请实施例公开的另一种网络拓扑的示意图;
图6g是本申请实施例公开的一种采用本申请实施例提供的数据处理方法和DCTCP时,图6f所示的网络中所有链路的平均带宽利用率的对比图;
图6h是本申请实施例公开的一种采用本申请实施例提供的数据处理方法和DCTCP时,图6f所示的网络拓扑对应产生的网络效用的对比图;
图7是本申请实施例公开的一种数据处理装置的结构示意图;
图8是本申请实施例公开的另一种数据处理装置的结构示意图。
具体实施方式
为了更好的理解本申请实施例公开的一种数据处理方法,下面首先对本申请实施例适用的通信***进行描述。
请参见图1,图1是本申请实施例公开的一种通信***的架构示意图。如图1所示,该通信***包括:第一终端设备101、第二终端设备102、网络设备103、第一服务设备104和第二服务设备105。
其中,第一服务设备104和第二服务设备105均可以为终端设备提供服务。例如,终端设备可以从第一服务设备104(或第二服务设备105)中获取数据资源。需要说明的是,终端设备从第一服务设备104中获取的数据所属的业务流,与从第二服务设备105中获取的数据所属的业务流不同。其中,一个业务流可以包括一个或多个数据流,换言之,可以将同一链路上的多个数据流聚合成一个业务流。属于同一业务流的不同数据流在传输过程中关注的传输目标相同,属于不同业务流的不同数据流在传输过程中关注的传输目标不同。例如,业务流1在传输过程中关注高吞吐量这一传输目标,而业务流2在传输过程中关注低时延这一传输目标。
具体的,第一终端设备101在需要第一服务设备104提供的服务时,可以生成请求1,并将该请求1发送给第一服务设备104。第一服务设备104在接收到请求1之后,可以响应该请求1,即将该请求1所请求的业务流1发送给网络设备103。同理,第二终端设备102在需要第二服务设备105提供的服务时,可以生成请求2,并将该请求2发送给第二服务设备105。第二服务设备105在接收到请求2之后,可以响应该请求2,即将该请求2所请求的业务流2发送给网络设备103。
网络设备103在接收到业务流1和业务流2的情况下,可以获取业务流1和业务流2在第一探索周期下的第一带宽调整信息和带宽调整结果,根据该第一带宽调整信息和该带宽调整结果,确定业务流1和业务流2在第一决策周期下的第二带宽调整信息;并根据该第二带宽调整信息对业务流1和业务流2进行调整。进一步的,网络设备103可以根据调整结果确定业务流1和业务流2之间的带宽分配信息,然后按照该带宽分配信息调度属于业务流1的数据包和属于业务流2的数据包,以将属于业务流1的数据包发送给第一终端设备101,并将属于业务流2的数据包发送给第二终端设备102。其中,该带宽调整结果是根据该第一带宽调整信息对业务流1和业务流2进行调整后得到的。
在本申请实施例中,每个控制周期可以包括一个探索周期和一个决策周期。网络设备103在第一探索周期下,根据第一带宽调整信息对业务流1和业务流2的带宽分配信息进行调整,得到带宽调整结果。该带宽调整结果可以用于表征根据第一带宽调整信息对业务流1和业务流2的带宽分配信息进行调整之后,整个网络的网络效用。因此,网络设备103根据第一带宽调整信息和带宽调整结果,确定第二带宽调整信息,并根据该第二带宽调整信息对业务流1和业务流2进行调整,有利于更好地确定多个业务流之间的带宽分配信息,并有利于提高网络效用。其中,网络效用可以指分配网络带宽给网络用户后用户的满意程度。例如,当业务流1在传输过程中关注高吞吐量这一传输目标,业务流2在传输过程中关注低时延这一传输目标时。第一终端设备101对应的用户可以根据业务流1的返回速率对网络设备103为业务流1分配的带宽产生相应的满意度,同理,第二终端设备102对应的用户可以根据业务流2的返回时间对网络设备103为业务流2分配的带宽产生相应的满意度。此时,网络效用可以为第一终端设备101对应的用户产生的满意度和第二终端设备102对应的用户产生的满意度之间的平均值。
其中,第一终端设备101和第二终端设备102均是用户侧的一种用于接收或发射信号的实体,如手机。终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请实施例对终端设备所采用的具体技术和具体设备形态不做限定。
网络设备103可以是具有转发功能的设备,具体的,该网络设备103可以是路由器、交换机或者其他设备。
第一服务设备104和第二服务设备105均可以由处理器、存储器和网络接口组成。具体的,第一服务设备104和第二服务设备105均可以是服务器。应用在本申请实施例中,第一服务设备104和第二服务设备105均可以为数据服务器。
需要说明的是,本申请实施例对应的通信***中的网络设备103可以接收M个业务流,图1所示通信***中的网络设备103接收到两种业务流仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,M的具体取值还可以为3、4、5或者其他数值。
还需要说明的是,在图1所示通信***中,第一终端设备101和第二终端设备102均仅获取一个业务流,且各自获取的业务流不同仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,一个终端设备可以获取多种业务流,且不同终端设备可以获取相同的业务流。另外,图1所示通信***中,第一服务设备104和第二服务设备105均向终端设备发送一种业务流,且各自发送的业务流不同仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,一个服务设备可以发送多种业务流,且不同服务设备可以发送相同的业务流。还需要说明的是,图1所示通信***包括2个终端设备和2个服务设备仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,该通信***中终端设备的数量还可以为1个、3个或者其他数量,该通信***中服务设备的数量还可以为1个、3个或者其他数量。
可以理解的是,本申请实施例描述的通信***是为了更加清楚的说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定,本领域技术人员可知,随着***架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面结合附图对本申请提供的数据处理方法及数据处理装置进行详细地介绍。
请参见图2,图2是本申请实施例提供的一种数据处理方法的流程示意图。其中,步骤S201~步骤S203的执行主体为网络设备,或者为网络设备中的芯片,以下以网络设备为数据处理方法的执行主体为例进行说明。如图2所示,该方法可以包括但不限于如下步骤:
步骤S201:网络设备获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的。
其中,M可以为大于或等于2的整数。M个业务流中的各个业务流可以包括一个或多个数据流,属于同一业务流的多个数据流在传输过程中关注的传输目标相同,属于不同业务流的数据流在传输过程中关注的传输目标不同。当网络设备接收到的多个数据流在传输过程中关注的传输目标相同时,该网络设备可以将该多个数据流聚合为一个业务流。
在本申请实施例中,每个控制周期可以包括一个探索周期和一个决策周期,且在同一控制周期下,探索周期占据的时间早于决策周期占据的时间。第一带宽调整信息可以指示网络设备在第一探索周期下对第一带宽分配信息进行的调整,第一探索周期可以是当前的探索周期。第一带宽分配信息可以为第二决策周期(即上一控制周期中的决策周期)下前述M个业务流之间的带宽分配信息,其中,第二决策周期可以为第一决策周期的上一个决策周期。第一控制周期包括该第一探索周期和该第一决策周期,第二控制周期包括第二探索周期和第二决策周期,第一控制周期可以为当前的控制周期,第二控制周期为当前的控制周期的上一个控制周期。带宽分配信息可以包括网络设备为该M个业务流中的各个业务流分配的带宽值,或者,该M个业务流之间的带宽分配比例。第一带宽调整信息可以包括在前述第一带宽分配信息的基础上针对各个业务流调整的带宽。例如,若网络设备的总带宽为3Gbps,M的取值为3,且网络设备为该3个业务流中的业务流1、业务流2和业务流3分配的带宽(即第一带宽分配信息)均为1Gbps时,第一带宽调整信息可以为0.2Gbps、-0.1Gbps和-0.1Gbps。此时,该第一带宽调整信息表示在第一带宽分配信息的基础上,网络设备在第一探索周期下将业务流1的带宽提高0.2Gbps,并将业务流2、业务流3的带宽均降低0.1Gbps。
前述带宽调整结果可以用于表征根据第一带宽调整信息对第一带宽分配信息进行调整之后,按照调整后得到的带宽分配信息对M个业务流的数据包进行调度所得到的网络效用。其中,网络效用可以指分配网络带宽给网络用户后用户的满意程度。具体的,带宽调整结果可以包括该M个业务流中的各个业务流在第一探索周期下的效用值,每个业务流在第一探索周期下的效用值可以用于衡量网络用户对于网络设备在该第一探索周期下为该业务流分配的带宽的满意程度。
在一种实现方式中,生成数据包的电子设备(如终端设备或者服务设备)可以在该数据包的包头中增加字段,并通过增加的字段指示该数据包在传输过程中关注的传输目标。相应的,网络设备在接收到该数据包时,可以通过该数据包的包头中增加字段所记录的信息确定该数据包在传输过程中关注的传输目标。进而,将传输目标相同的数据包聚合为同一个业务流。在一种实现方式中,网络设备可以控制属于同一业务流的数据包进入同一队列,并控制属于不同业务流的数据包进入不同的队列。其中,各个队列为独立且隔离的队列,这样可以避免在调度数据包的过程中不同队列中的数据包相互干扰。控制属于不同业务流的数据包进入不同的队列之后,针对各个队列中的数据包,可以实现面向单一传输目标的调度。通过这种方式,可以简化网络设备调度数据包的过程。需要说明的是,网络设备可以通过公共接口,调用已有的或者重新设计的面向单传输目标的流控制方法,应用到各个队列中对数据包进行调度。换言之,本申请实施例可以兼容现有的或者重新设计的面向单传输目标的流控制方法。
在一种实现方式中,前述增加的字段可以放置在包头的可选项域中的第一数据域中,需要说明的是,该第一数据域除了可以记录数据包在传输过程中关注的传输目标的标识以外,还可以记录其他信息,本申请实施例对此不做限定。
步骤S202:网络设备根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息。
具体的,网络设备获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果之后,可以根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息。进而根据该第二带宽调整信息对该M个业务流中的各个业务流进行调整。
其中,第一带宽调整信息对应的第一探索周期和第二带宽调整信息对应的第一决策周期属于同一控制周期,由于在同一控制周期下,探索周期占据的时间早于决策周期占据的时间。因此,网络设备根据前述各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,确定该各个业务流在第一决策周期下的第二带宽调整信息,有利于更好地确定该各个业务流之间的带宽分配信息。并且在多种业务流并存且多种业务流关注的传输目标不同的情况下,有利于同时实现各个业务流的差异化传输目标,从而有利于提高网络效用。
例如,若网络设备的总带宽为3Gbps,M的取值为3,且网络设备为该3个业务流中的业务流1、业务流2和业务流3分配的带宽(即第一带宽分配信息)均为1Gbps时,第一带宽调整信息为0.2Gbps、-0.1Gbps和-0.1Gbps,带宽调整结果所包括的网络效用为10,且在第二决策周期下根据第一带宽分配信息调度属于该3个业务流的数据包所得到的网络效用为8。可见,通过第一带宽调整信息对该3个业务流进行调整,使得网络效用提高了。换言之,通过提高业务流1的带宽并相应地降低业务流2和业务流3的带宽,可以提高网络效用。据此,网络设备根据该第一带宽调整信息和该带宽调整结果,确定的第二带宽调整信息可以为0.4Gbps、-0.2Gbps和-0.2Gbps。第二带宽调整信息在第一带宽调整信息的基础上进一步提高为业务流1分配的带宽,有利于进一步提高网络效用。
需要说明的是,上述增加业务流1的带宽时,同时等比例减小业务流2和业务流3的带宽(即第二带宽调整信息为0.4Gbps、-0.2Gbps和-0.2Gbps)仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,当增加业务流1的带宽时,还可以针对业务流2和业务流3的带宽进行不等比例的减小。例如,第二带宽调整信息还可以为0.4Gbps、-0.15Gbps和-0.25Gbps。
又如,若网络设备的总带宽为3Gbps,M的取值为3,且网络设备为该3个业务流中的业务流1、业务流2和业务流3分配的带宽(即第一带宽分配信息)均为1Gbps时,第一带宽调整信息为0.2Gbps、-0.1Gbps和-0.1Gbps,带宽调整结果所包括的网络效用为10,且在第二决策周期下根据第一带宽分配信息调度属于该3个业务流的数据包所得到的网络效用为12。可见,通过第一带宽调整信息对该3个业务流进行调整,使得网络效用降低了。换言之,通过提高业务流1的带宽并相应地降低业务流2和业务流3的带宽,会降低网络效用。据此,网络设备根据该第一带宽调整信息和该带宽调整结果,确定的第二带宽调整信息可以为-0.2Gbps、0.1Gbps和0.1Gbps。由于提高业务流1的带宽并相应地降低业务流2和业务流3的带宽,会降低网络效用,因此降低业务流1的带宽并相应地提高业务流2和业务流3的带宽能提高网络效用的概率较高。即根据第二带宽调整信息对各个业务流进行调整,有利于提高网络效用。
在一种实现方式中,网络设备根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息的具体实施方式可以为:根据该第一带宽调整信息和该带宽调整结果,采用机器学习算法确定前述各个业务流在该第一决策周期下的第二带宽调整信息。具体的,网络设备可以将第一带宽调整信息和该带宽调整结果作为机器学习算法的输入,并将该机器学习算法的输出作为第二带宽调整信息。在一种实现方式中,机器学习算法具体可以为在线学习算法。通过这种方式,网络设备可以在探索阶段通过第一带宽调整信息和带宽调整结果不断学习,以确定第二带宽调整信息。并使得该第二带宽调整信息满足以下条件:根据第二带宽调整信息对前述各个业务流进行调整之后,得到该各个业务流之间的带宽分配信息,按照该带宽分配信息调度属于该各个业务流的数据包所得到的网络效用较高。通过周期性的探索学习,网络设备可以确定使得网络效用最大化的M个业务流之间的带宽分配信息。
网络流量的开始时间具有较大的不确定性,且网络中存在难以预测的突发流量。由于基于在线学习的数据处理方法可以不依赖于特定的流模型,因此,本申请实施例提供的基于在线学习的数据处理方法可以增强对复杂流量模型以及应用多样化的兼容能力。
步骤S203:网络设备根据该第二带宽调整信息对前述各个业务流进行调整。
具体的,网络设备确定前述各个业务流在第一决策周期下的第二带宽调整信息之后,可以根据该第二带宽调整信息对前述各个业务流进行调整,得到该各个业务流之间的带宽分配信息,按照该带宽分配信息调度属于该各个业务流的数据包。
例如,若网络设备的总带宽为3Gbps,M的取值为3,且网络设备为该3个业务流中的业务流1、业务流2和业务流3分配的带宽(即第一带宽分配信息)均为1Gbps时,若第二带宽调整信息可以为0.4Gbps、-0.2Gbps和-0.2Gbps。此时,网络设备根据该第二带宽调整信息对前述3个业务流进行调整具体可以包括:网络设备根据该第二带宽调整信息,确定为业务流1、业务流2和业务流3分配的带宽分别为1.4Gbps、0.8Gbps和0.8Gbps,进而按照为各个业务流分配的带宽,调度属于各个业务流的数据包。
在本申请实施例中,根据前述各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,确定该各个业务流在第一决策周期下的第二带宽调整信息,有利于更好地确定该各个业务流之间的带宽分配信息。并且在多种业务流并存且多种业务流关注的传输目标不同的情况下,有利于同时实现各个业务流的差异化传输目标,从而有利于提高网络效用。
请参见图3a,图3a是本申请实施例提供的另一种数据处理方法的流程示意图,该方法详细描述了如何根据各个业务流在各个探索时间段下的带宽调整参数以及N个效用值集合,确定在第一决策周期下针对第一业务流的带宽调整参数以及针对第二业务流的带宽调整参数。其中,步骤S301~步骤S304的执行主体为网络设备,或者为网络设备中的芯片,以下以网络设备为数据处理方法的执行主体为例进行说明。该方法可以包括但不限于如下步骤:
步骤S301:网络设备获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的;该第一探索周期包括N个探索时间段,该第一带宽调整信息包括该各个业务流在各个探索时间段下的带宽调整参数;该带宽调整结果包括N个效用值集合,第n个效用值集合包括每个业务流在第n个探索时间段下的效用值。
在本申请实施例中,每个探索时间段的时长可以相同,且相邻的探索时间段可以连续。在一种实现方式中,每个控制周期中的决策周期可以包括一个或多个决策时间段,且每个决策时间段的时长可以相同,且相邻的决策时间段可以连续。可选的,决策时间段和探索时间段的时长可以相同,或者,决策时间段的时长可以大于探索时间段的时长。在一个控制周期中,探索周期和决策周期在时间上连续。以图3b所示的一种控制周期的结构示意图为例,其中个,第二控制周期为第一控制周期的上一个控制周期,第三控制周期为第一控制周期的下一个控制周期。图3b中,每个控制周期包括一个探索周期和一个决策周期,且每个探索周期包括两个探索时间段(即图3b中的灰色填充方块),每个决策周期包括一个决策时间段(即图3b中的斜线填充方块)。
在本申请实施例中,可以根据数据包在传输过程中关注的传输目标的不同,将数据包划分到不同的业务流。M、N可以为大于或等于2的整数,1≤n≤N,M≤N。在一种实现方式中,网络设备可以根据网络中传输的业务流个数(即M),确定每个探索周期包括的探索时间段的数量(即N)。例如,当M=3时,N可以为3,或者为大于3的其他数值。在一种实现方式中,每个探索周期包括相同数量的探索时间段,且每个决策周期包括相同数量的决策时间段。当每个探索周期包括的探索时间段的数量大于或者等于网络中传输的业务流个数(即N≥M)时,使得网络设备可以在第一带宽分配信息的基础上,在每个探索时间段上增加不同业务流的带宽(并相应减少其他业务流的带宽),进而根据每个业务流在每个探索时间段下的效用值,确定增加哪个业务流的带宽以及相应减少其他业务流的带宽有利于最大化网络效用。需要说明的是,某探索时间下的网络效用可以为所有业务流在该探索时间段下的效用值之和。
业务流在探索时间段下的效用值可以是根据该业务流的效用函数确定的。具体的,网络设备可以将某业务流的效用函数在某探索时间段下的函数值,作为该业务流在该探索时间段下的效用值。其中,效用函数用于对业务流的效用进行量化。在本申请实施例中,效用函数可以是以业务流的平均速率为自变量的函数。不同业务流在传输过程中关注的传输目标不同时,不同业务流的效用函数的形式也可以不同。表1中描述了业务流在传输过程中关注的传输目标分别为比例公平、α公平和最小化流完成时间时,该业务流的效用函数U(x)的具体形式。在表1中,x为该业务流的平均速率,α为α公平的参数;sf为该业务流的大小。
表1
业务流在传输过程中关注的传输目标 | 效用函数 |
比例公平 | U(x)=log(x) |
α公平 | U(x)=x1-α/1-α |
最小化流完成时间 | U(x)=x1-α/sf |
需要说明的是,表1中效用函数的形式仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,根据业务流在传输过程中关注的传输目标,该业务流的效用函数还可以为其他形式。
各个业务流在各个探索时间段下的带宽调整参数是在第一带宽分配信息中针对该业务流分配的带宽的基础上,在该探索时间段下针对该业务流的带宽增加参数或者带宽减少参数。例如,当M=N=3,且网络设备为该3个业务流中的业务流1、业务流2和业务流3分配的带宽(即第一带宽分配信息)均为1Gbps时。若网络设备在每个探索时间段上增加不同业务流的带宽,且业务流1在3个探索时间段下的带宽调整参数分别为0.2Gbps、-0.1Gbps和-0.1Gbps,业务流2在3个探索时间段下的带宽调整参数分别为-0.1Gbps、0.2Gbps和-0.1Gbps,业务流3在3个探索时间段下的带宽调整参数分别为-0.1Gbps、-0.1Gbps和0.2Gbps时。表示网络设备在第一个探索时间段下增加了业务流1的带宽,在第二个探索时间段下增加了业务流2的带宽,并在第三个探索时间段下增加了业务流3的带宽。需要说明的是,带宽调整参数可以包括调整的带宽值或者调整的带宽比例。上述例子以带宽调整参数为调整的带宽值为例,并不构成对本申请实施例的限定。
在一种实现方式中,当M<N时,网络设备可以在每个探索时间段下增加至少一个业务流的带宽并相应减少其他业务流的带宽,且网络设备在不同探索时间段下增加带宽的业务流不同。例如,网络设备在第一个探索时间段下增加业务流1和业务流2的带宽,并在第二个探索时间段下增加业务流2和业务流3的带宽。通过这种方式,可以更快速地确定增加哪几个业务流的带宽可以最大化网络效用,即有利于提高最大化网络效用的效率。
在本申请实施例中,如何最大化网络效用可以分解为两个子问题:第一,如何为不同业务流分配带宽以实现最大化网络效用;第二,如何在特定的带宽约束下实现面向单传输目标的数据包调度,即如何在特定的带宽约束下调度属于各个业务流的数据包。因此,如何最大化网络效用可以用如下公式进行定义:
其中,Un表示效用函数,表示业务流n在链路p上分配得到的总带宽;Cp表示链路p上的链路带宽容量;/>表示构成业务流n的各个数据流在链路p上分配得到的带宽,i表示构成业务流n的各个数据流的编号。根据上述公式,确定如何最大化网络效用可以看做一个凸优化问题。凸优化是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题。
在一种实现方式中,网络设备中可以包括两层逻辑架构:慢控制层和快控制层。其中,慢控制层可以用于解决如何最大化网络效用分解成的第一个问题,即慢控制层可以对带宽分配进行粗粒度地控制,在较大的时间尺度上保障带宽分配结果的最优性,以实现网络效用最大化。快控制层可以用于解决如何最大化网络效用分解成的第二个问题,即快控制层可以对带宽分配进行细粒度地控制,在较小的时间尺度上保障数据包能被快速响应以及调度。简单来说,慢控制层可以在时间段的开始时间确定各业务流之间的带宽分配信息,然后将该带宽分配信息传输给快控制层。进而使得快控制层可以在该时间段下根据该带宽分配信息调度属于各个业务流的数据包。
在本申请实施例中,网络设备可以在探索时间段的开始时间确定各个业务流在该探索时间段下的带宽调整参数,进而根据该带宽调整参数和第一带宽分配信息,确定在该探索时间段下M个业务流之间的带宽分配信息,并按照该带宽分配信息调度属于各个业务流的数据包,以使得实际网络流量与该带宽分配信息相符。进一步的,网络设备可以在该探索时间段的结束时间,通过每个业务流的效用函数将该探索时间段的传输性能量化为效用值,并将确定的M个效用值划分为一个效用值集合。效用值集合与探索时间段之间一一对应。
需要说明的是,步骤S301的其余执行过程可参见图2中步骤S201的具体描述,此处不再赘述。
步骤S302:网络设备根据该N个效用值集合确定第一业务流。
其中,前述M个业务流可以包括第一业务流和第二业务流。网络设备根据前述各个业务流在各个探索时间段下的带宽调整参数以及N个效用值集合,可以确定通过增加第一业务流的带宽,并相应减少第二业务流的带宽或者保持第二业务流的带宽不变,有利于最大化网络效用。在一种实现方式中,第一业务流和第二业务流的数量均可以为一个或多个,第一业务流和第二业务流的数量之和为M。若第一业务流的数量为a,且第二业务流的数量为b,当M=N时,a=1,b=M-1;当M<N时,a≥1,b=M-a。需要说明的是,当第二业务流的数量为多个时,各个第二业务流在同一时间段下的带宽调整参数可以相同,也可以不同。例如,当M=3,第一业务流的数量为1个,且第二业务流的数量为2个时。若针对第一业务流的带宽增加参数为0.2Gbps,针对第一个第二业务流和第二个第二业务流的带宽调整参数均可以为带宽减少参数,且该带宽减少参数为-0.1Gbps。或者,针对第一个第二业务流的带宽调整参数可以为带宽减少参数,且该带宽减少参数为-0.2Gbps;针对第二个第二业务流的带宽调整参数可以为0,即保持该第二个第二业务流的带宽与第一带宽分配信息中针对第二业务流的带宽相同。
在一种实现方式中,网络设备根据该N个效用值集合确定第一业务流的具体实施方式可以为:网络设备从前述N个探索时间段中确定第一探索时间段,获取前述各个业务流在该第一探索时间段下的带宽调整参数,并将前述各个业务流在该第一探索时间段下的带宽调整参数中大于零的带宽调整参数对应的业务流作为第一业务流;其中,该第一探索时间段与该N个效用值集合中的第一效用值集合相对应,该第一效用值集合中的所有效用值之和大于该N个效用值集合中除该第一效用值集合以外的任一效用值集合中的所有效用值之和。
具体的,网络设备获取N个效用值集合之后,可以确定各个效用值集合中的所有效用值之和,并将效用值之和最大的效用值集合作为第一效用值集合。进一步的,根据效用值集合与探索时间段之间的一一对应对应,可以确定与第一效用值集合对应的第一探索时间段。第一效用值集合中的所有效用值之和最大可以表明:相较于在N个探索时间段中除第一探索时间以外的任意探索时间段对各个业务流的带宽进行调整之后所得到的网络效用,在第一探索时间下对各个业务流的带宽进行调整之后所得到的网络效用更大。换言之,按照在第一探索时间段下针对各个业务流的带宽调整方向进一步调整各个业务流,有利于最大化网络效用。其中,带宽调整方向可以包括增加带宽或减少带宽。
前述各个业务流在该第一探索时间段下的带宽调整参数中大于零的带宽调整参数对应的业务流为在该第一探索时间段下增加带宽的业务流。网络设备确定第一探索时间段后,可以将前述各个业务流在该第一探索时间段下的带宽调整参数中大于零的带宽调整参数对应的业务流作为第一业务流,并将M个业务流中除该第一业务流以外的业务流作为第二业务流。由于在本申请实施例中,网络设备在每个探索时间段下至少可以增加一个业务流的带宽,所以此时,第一业务流和第二业务流的数量均可以为一个或多个。确定第一业务流和第二业务流之后,表明网络设备确定了在第一探索时间段下针对各个业务流的带宽调整方向。其中,针对第一业务流的带宽调整方向为增加带宽,针对第二业务流的带宽调整方向为减少带宽。
步骤S303:网络设备根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息;该第二带宽调整信息包括第一带宽调整参数和第二带宽调整参数;该第一带宽调整参数为在该第一决策周期下针对第一业务流的带宽调整参数,该第二带宽调整参数为在该第一决策周期下针对第二业务流的带宽调整参数;前述M个业务流包括该第一业务流和该第二业务流。
其中,第一带宽调整参数可以为带宽增加参数,第二带宽调整参数可以为带宽减小参数或者0。带宽增加参数还可以指示在第一带宽分配信息的基础上针对第一业务流增加的带宽值或者带宽比例,同理,带宽减少参数还可以指示在第一带宽分配信息的基础上针对第二业务流减少的带宽值或者带宽比例。
具体的,在第一决策周期下针对第一业务流的带宽调整参数(即第一带宽调整参数)可以大于在第一探索时间段下针对第一业务流的带宽调整参数。当第一业务流的数量为多个时,针对各个第一业务流,在第一决策周期下针对该第一业务流的带宽调整参数大于在第一探索时间段下针对该第一业务流的带宽调整参数。例如,在第一探索时间段下针对第一业务流1和第一业务流2的带宽调整参数分别为0.2Gbps和0.1Gbps时,在第一决策周期下针对第一业务流1和第一业务流2的带宽调整参数可以分别为0.3Gbps和0.2Gbps。在一种实现方式中,若在第一探索时间段下针对第一业务流1带宽调整参数大于针对第一业务流2的带宽调整参数,那么,在第一决策周期下针对第一业务流1带宽调整参数可以大于针对第一业务流2的带宽调整参数。
当第二业务流的数量为一个时,在第一决策周期下和第一探索时间段下针对第二业务流的带宽调整参数均为带宽减少参数,且在第一决策周期下针对第二业务流的带宽减少参数(即第二带宽调整参数)小于在第一探索时间段下针对第一业务流的带宽减少参数。例如,在第一探索时间段下针对第二业务流的带宽减少参数为-0.2Gbps时,在第一决策周期下针对该第二业务流的带宽减小参数可以为-0.3Gbps。需要说明的是,在每个探索周期下,针对M个业务流中的各个业务流的带宽调整参数之和为0。
当第二业务流的数量为多个时,针对各个第二业务流,若在第一探索时间段下针对该第二业务流的带宽调整参数为带宽减少参数,则在第一决策周期下针对该第二业务流的带宽调整参数(即第二带宽调整参数)依然可以为带宽减少参数,且在第一决策周期下针对该第二业务流的带宽减少参数可以小于在第一探索时间段下针对该第二业务流的带宽减少参数。若在第一探索时间段下针对该第二业务流的带宽调整参数为0,则在第一决策周期下针对该第二业务流的带宽调整参数可以0、带宽减少参数或者带宽增加参数。
需要说明的是,步骤S303的其余执行过程可参见图2中步骤S202的具体描述,此处不再赘述。
步骤S304:网络设备根据该第一带宽调整参数对该第一业务流进行调整,并根据该第二带宽调整参数对该第二业务流进行调整。
在本申请实施例中,网络设备根据该第一带宽调整参数对该第一业务流进行调整,并根据该第二带宽调整参数对该第二业务流进行调整的具体实施方式可以为:根据该第一带宽调整参数对第一带宽分配信息中针对该第一业务流的带宽分配信息进行调整,并根据该第二带宽调整参数对该第一带宽分配信息中针对该第二业务流的带宽分配信息进行调整,其中,该第一带宽分配信息为第二决策周期下前述M个业务流之间的带宽分配信息。其中,该第二决策周期为前述第一决策周期所属的控制周期的上一个控制周期中的决策周期。
在一种实现方式中,网络设备在获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果之后,还可以获取该第一决策周期的基准效用和,第一决策周期的基准效用和为前述M个业务流在第二决策周期下的效用值之和;若前述N个效用值集合中至少存在一个效用值集合中的所有效用值之和大于或等于该基准效用和,则触发前述根据该N个效用值集合确定第一业务流的步骤。
其中,前述N个效用值集合中至少存在一个效用值集合中的所有效用值之和大于或等于该基准效用和,表明在N个探索时间段中至少存在一个探索时间段,且在该探索时间段下针对M个业务流中的各个业务流的带宽进行调整,可以提高网络效用。换言之,第一决策周期下,按照该探索时间段下针对各个业务流的带宽调整方向继续调整各个业务流的带宽,有利于最大化网络效用。因此,网络设备需要确定第一业务流,进而在第一决策周期下增加第一业务流的带宽,从而提高在第一决策周期下的网络效用。通过这种方式,可以避免在第二决策周期(即第一决策周期的上一个决策周期)下网络已经实现了最大化网络效用的情况下,即不需要再对M个业务流之间的带宽分配信息进行调整的情况下,对M个业务流之间的带宽分配信息进行调整,有利于节省资源。
在一种实现方式中,若前述N个效用值集合中的每个效用值集合中的所有效用值之和均小于该基准效用和,则获取在该第二决策周期下M个业务流之间的带宽分配信息;并将该带宽分配信息作为第一决策周期下该M个业务流之间的带宽分配信息。前述N个效用值集合中的每个效用值集合中的所有效用值之和均小于该基准效用和,表明在N个探索时间段中的每个探索时间段下针对M个业务流中的各个业务流的带宽进行调整,均不能提高网络效用。换言之,当前网络已经实现了最大化网络效用,且该最大的网络效用为前述M个业务流在第二决策周期下的效用值之和,也即在第二决策周期下M个业务流之间的带宽分配信息为使得网络效用最大化的带宽分配信息。
通过实施本申请实施例,可以根据该N个效用值集合确定第一业务流,并进一步增加该第一业务流的带宽,有利于最大化网络效用。
请参见图4,图4是本申请实施例提供的又一种数据处理方法的流程示意图,该方法详细描述了如何根据前述各个业务流在第一探索时间段下的带宽调整参数,从M个业务流中确定第一业务流。其中,步骤S401~步骤S406的执行主体为网络设备,或者为网络设备中的芯片,以下以网络设备为数据处理方法的执行主体为例进行说明。该方法可以包括但不限于如下步骤:
步骤S401:网络设备获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的;该第一探索周期包括N个探索时间段,该第一带宽调整信息包括该各个业务流在各个探索时间段下的带宽调整参数;该带宽调整结果包括N个效用值集合,第n个效用值集合包括每个业务流在第n个探索时间段下的效用值;M、N为大于或等于2的整数,1≤n≤N,M≤N。
步骤S402:网络设备从前述N个探索时间段中确定第一探索时间段,该第一探索时间段与该N个效用值集合中的第一效用值集合相对应,该第一效用值集合中的所有效用值之和大于该N个效用值集合中除该第一效用值集合以外的任一效用值集合中的所有效用值之和。
步骤S403:网络设备获取前述各个业务流在该第一探索时间段下的带宽调整参数。
需要说明的是,步骤S401的执行过程可参见图3a中步骤S301的具体描述,步骤S402~步骤S403的执行过程可参见图3a中步骤S302的具体描述,此处不再赘述。
步骤S404:网络设备将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流。
具体的,网络设备确定第一探索时间段后,可以将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流。在一种实现方式中,当M=N时,网络设备可以在每个探索时间段下增加一个业务流的带宽,并在不同探索时间段下增加不同业务流的带宽。此时,网络设备可以将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流,且第一业务流的数量为一个。当M<N时,网络设备可以在每个探索时间段下增加至少一个业务流的带宽,并在不同探索时间段下增加不同业务流的带宽。此时,网络设备可以将前述各个业务流在该第一探索时间段下的带宽调整参数中大于零的带宽调整参数对应的业务流作为第一业务流,且第一业务流的数量可以为一个或多个。网络设备确定第一业务流之后,可以进一步增加该第一业务流的带宽,从而有利于最大化网络效用。
步骤S405:网络设备根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息;该第二带宽调整信息包括第一带宽调整参数和第二带宽调整参数;该第一带宽调整参数为在该第一决策周期下针对第一业务流的带宽调整参数,该第二带宽调整参数为在该第一决策周期下针对第二业务流的带宽调整参数;前述M个业务流包括该第一业务流和该第二业务流。
在一种实现方式中,网络设备根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息的具体实施方式可以为:根据前述第一业务流在第一探索时间段下的效用值,以及该第一业务流在该第一探索时间段下的带宽调整参数,确定第一带宽调整参数和第二带宽调整参数。具体的,网络设备可以根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在该第一探索时间段下的带宽调整参数,先确定第一带宽调整参数;然后,根据该第一带宽调整参数,确定第二带宽调整参数。
在本申请实施例中,网络设备通过在各个探索时间段下增加不同业务流的带宽(并相应减小其他业务流的带宽,或者保持部分业务流的带宽不变),并根据各个探索时间段对应的效用值集合中的所有效用值之和,可以确定在探索时间段所属的控制周期中的决策周期下,如何调整M个业务流中的各个业务流有利于最大化网络效用。经过多个控制周期的探索,网络设备可以实现最大化网络效用。假设M=3,且在第一带宽分配信息的基础上,针对第一个业务流增加0.4Gbps,可以最大化网络效用。可以理解的是,网络设备在第一决策周期下针对第一个业务流增加的带宽越接近0.4Gbps,可以更快速地实现网络效用最大化。但是,若网络设备在第一决策周期下针对第一个业务流增加的带宽超过0.4Gbps,可能会降低实现网络效用最大化的效率。
简单来说,如何实现网络效用最大化可以看作一个凸优化问题,实现网络效用最大化时对应的M个业务流之间的带宽调整信息可以看作该凸优化问题的解。凸优化在收敛时即得到该凸优化问题的解。若网络设备在第一决策周期下针对第一个业务流增加的带宽值(或带宽比例)太小,可能会导致凸优化问题的收敛速度较慢。若网络设备在第一决策周期下针对第一个业务流增加的带宽值(或带宽比例)太大,可能会导致错过凸优化问题的解。
在一种实现方式中,网络设备根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在该第一探索时间段下的带宽调整参数,确定第一带宽调整参数的具体实施方式可以为:根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一数值;若该第一数值小于或等于预设阈值,则将该第一数值作为第一带宽调整参数。在本申请实施例中,若网络设备根据大于第一数值的第一带宽调整参数调整第一业务流,可能会降低实现网络效用最大化的效率,或者可能使得无法实现网络效用最大化。因此,网络设备在第一数值小于或等于预设阈值的情况下,将该第一数值作为第一带宽调整参数,并根据该第一带宽调整参数调整第一业务流,有利于确保实现网络效用最大化。在一种实现方式中,该预设阈值可以是网络设备默认设置的,也可以是用户设置的经验值。例如,经过仿真实验进行测试,该预设阈值可以为0.03~0.09中的任意一个值。
在一种实现方式中,若该第一数值大于该预设阈值,则网络设备可以将该预设阈值作为第一带宽调整参数。通过这种方式,有利于确保实现网络效用最大化。
在一种实现方式中,该第一数值可以是根据第二数值和第三数值确定的;其中,该第二数值可以为前述第一业务流在第一探索时间段下的效用值,与该第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的效用值之间的差值;第三数值可以为该第一业务流在第一探索时间段下的带宽调整参数,与第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的带宽调整参数之间的差值。
在一种实现方式中,该第一数值可以是第二数值和第三数值之间的比值。或者,该第一数值可以是第二数值和第三数值之间的比值,与预设数值之间的乘积。其中,第二数值和第三数值之间的比值可以表示针对第一业务流增加单位带宽所提高的网络效用,该预设数值可以影响第一数值对于网络效用的变化的敏感程度。例如,预设数值越大,根据该预设数值确定的第一数值越大(在第一数值小于或等于预设阈值的情况下),相应的,提高的网络效用越大,即第一数值对于网络效用的变化的敏感程度越大。
在一种实现方式中,该第一数值可以是对第二数值和第三数值之间的比值进行归一化处理之后得到的,或者,该第一数值可以是对第二数值和第三数值之间的比值,与预设数值之间的乘积进行归一化处理之后得到的。当第二数值和第三数值之间的比值,与预设数值之间的乘积为Δr,且第一业务流对应的效用函数为U(x)时,网络设备对Δr进行归一化处理以得到第一数值的具体实施方式可以为:网络设备获取第一业务流对应的效用函数U(x)的最大函数值Umax(x)和最小函数值Umin(x)之间的差值,并将Δr与该差值之间的比值作为第一数值。其中,Umax(x)=U(Cl),Umin(x)=U(0),Cl为第一业务流所在链路l的链路带宽容量。
需要说明的是,步骤S405的其余执行过程可参见图3a中步骤S303的具体描述,此处不再赘述。
步骤S406:网络设备根据该第一带宽调整参数对该第一业务流进行调整,并根据该第二带宽调整参数对该第二业务流进行调整。
需要说明的是,步骤S406的执行过程可参见图3a中步骤S304的具体描述,此处不再赘述。
通过实施本申请实施例,从前述N个探索时间段中确定第一探索时间段,并将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流,进一步增加该第一业务流的带宽,有利于最大化网络效用。
请参见图5,图5是本申请实施例提供的又一种数据处理方法的流程示意图,该方法详细描述了如何确定当前时间所属时间段的类型,以及时间段的类型不同时分别执行哪些操作。其中,步骤S501~步骤S508的执行主体为网络设备,或者为网络设备中的芯片,以下以网络设备为数据处理方法的执行主体为例进行说明。该方法可以包括但不限于如下步骤:
步骤S501:网络设备确定当前时间所属时间段的类型,该类型包括探索类型或者决策类型,每个决策周期包括一个或多个决策时间段。
具体的,当探索时间段和决策时间段的时长相同时,网络设备在每个时间段(探索时间段或者决策时间段)的开始时间可以判断当前时间段的类型,并根据类型的不同,执行不同的操作。具体的,若当前时间段的类型为决策类型,则需要确定第一业务流,进而在决策时间段下增加该第一业务流的带宽。即若当前时间段的类型为决策类型,网络设备可以触发执行图3a中的步骤S301~步骤S304。
在一种实现方式中,网络设备可以预设每个时间段的时长为T,并将时间初始化为0。并且网络设备可以将|t/T|作为当前时间所属时间段的序号k,其中,t可以为当前时间,时间段的序号k从0开始取值。在一种实现方式中,若每个决策周期包括一个决策时间段,当kmod N=0时,可以表明当前时间段处于决策周期,网络设备可以触发执行步骤S502~步骤S505;当kmodN≠0时,可以表明当前时间段处于探索周期,网络设备可以触发执行步骤S506~步骤S508。
步骤S502:若当前时间所属时间段的类型为该决策类型,则网络设备获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的;该第一探索周期包括N个探索时间段,该第一带宽调整信息包括该各个业务流在各个探索时间段下的带宽调整参数;该带宽调整结果包括N个效用值集合,第n个效用值集合包括每个业务流在第n个探索时间段下的效用值;M、N为大于或等于2的整数,1≤n≤N,M≤N。
步骤S503:网络设备根据该N个效用值集合确定第一业务流。
步骤S504:网络设备根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息;该第二带宽调整信息包括第一带宽调整参数和第二带宽调整参数;该第一带宽调整参数为在该第一决策周期下针对第一业务流的带宽调整参数,该第二带宽调整参数为在该第一决策周期下针对第二业务流的带宽调整参数;前述M个业务流包括该第一业务流和该第二业务流。
步骤S505:网络设备根据该第一带宽调整参数对该第一业务流进行调整,并根据该第二带宽调整参数对该第二业务流进行调整。
需要说明的是,步骤S502~步骤S505的执行过程可分别参见图3a中步骤S301~步骤S304的具体描述,此处不再赘述。
步骤S506:若当前时间所属时间段的类型为该探索类型,则网络设备确定前述M个业务流中各个业务流在第二探索时间段下的带宽调整参数,其中,该第二探索时间段为当前时间在前述第一探索周期中所属的探索时间段。
具体的,若当前时间段的类型为该探索类型,则网络设备可以在该当前时间段的开始时间确定前述M个业务流中各个业务流在第二探索时间段下的带宽调整参数。进而按照该带宽调整参数和第一带宽分配信息确定第二带宽分配信息,并按照该第二带宽分配信息调度属于M个业务流的数据包。例如,确定各个业务流在第二探索时间段下的带宽增加参数或者带宽减少参数,其中,带宽增加(或减少)参数具体可以为增加(或减少)的带宽值或者带宽比例。在当前时间段的类型为该探索类型时,网络设备通过调整各个业务流之间的带宽分配信息,有利于在决策时间段时,根据探索时间段下确定的带宽分配信息以及相应获得的网络效用,确定如何对各个业务流的带宽进行调整可以最大化网络效用。
步骤S507:网络设备根据前述各个业务流在第二探索时间段下的带宽调整参数,对第一带宽分配信息中针对该各个业务流的带宽分配信息进行调整,得到第二带宽分配信息;其中,该第一带宽分配信息为第二决策周期下M个业务流之间的带宽分配信息,该第二带宽分配信息为第二探索时间段下M个业务流之间的带宽分配信息。
步骤S508:网络设备在该第二探索时间段内,按照该第二带宽分配信息调度属于M个业务流的数据包。
在本申请实施例中,网络设备可以采用预设调度算法,按照该第二带宽分配信息调度属于M个业务流的数据包。其中,该预设调度算法可以包括数据中心传输控制协议(data center transmission control protocol,DCTCP)、NUMFabric(fast and flexiblebandwidth allocation in datacenters)或者其他调度算法。
在一种实现方式中,若当前时间所属时间段的类型为探索类型,则网络设备可以针对前述M个业务流中的各个业务流,获取该业务流的效用函数,并获取第二探索时间段下该业务流的平均速率;根据第二探索时间段下该业务流的平均速率,确定该业务流的效用函数在第二探索时间段下的函数值;并将该业务流的效用函数在第二探索时间段下的函数值,作为该业务流在第二探索时间段下的效用值。具体的,若当前时间段的类型为探索类型,则网络设备可以在当前时间段的结束时间根据第二探索时间段下各个业务流的平均速率以及各个业务流的效用函数,确定各个业务流在第二探索时间段下的效用值。在一种实现方式中,不同业务流的效用函数可以不同。
通过实施本申请实施例,可以在当前时间所属时间段的类型不同时,执行不同的步骤。具体的,在当前时间段的类型为该探索类型时,网络设备通过调整各个业务流之间的带宽分配信息,有利于在决策时间段时,根据探索时间段下确定的带宽分配信息以及相应获得的网络效用,确定如何对各个业务流的带宽进行调整可以最大化网络效用。
请参见图6a,图6a是本申请实施例提供的又一种数据处理方法的流程示意图,该方法详细描述了网络设备的初始化过程,以及初始化之后如何确定各个业务流之间的带宽分配信息的完整过程。其中,步骤S601~步骤S616的执行主体为网络设备,或者为网络设备中的芯片,以下以网络设备为数据处理方法的执行主体为例进行说明。该方法可以包括但不限于如下步骤:
步骤S601:网络设备进行初始化:设置网络中的业务流的数量为M,设置探索时间段和决策时间段的时长均为△T;获取网络设备的各个链路的带宽容量。
具体的,网络设备在执行本申请实施例提供的数据处理方式之前,可以进行初始化。在一种实现方式中,网络设备可以根据网络拓扑,为该网络设备所有的出口链路(即端口)分配一个软件控制器,并对所有软件控制器进行初始化。初始化过程中,网络设备执行的步骤具体可以包括:设置网络中的业务流的数量为M,设置探索时间段和决策时间段的时长均为△T;获取网络设备的各个链路(即各个软件控制器对应的链路)的带宽容量Cl。其中,M可以为网络设备根据经验设置的网络中包括的业务流的最大数量。需要说明的是,网络设备设置的M为网络中包括的业务流的最大数量,在实际情况下,网络设备接收的业务流的数量可以小于M。
步骤S602:网络设备重置测量值,该测量值包括M个业务流中各个业务流在一个时间段内的平均速率。
其中,时间段可以为探索时间段或者决策时间段。网络设备在每个时间段内可以统计各个业务流在该时间段内的平均速率,进而根据各个业务流在该时间段内的平均速率以及各个业务流的效用函数,确定各个业务流在该时间段下的效用值。
步骤S603:网络设备设置定时器中断事件:定时长度为△T。
在本申请实施例中,网络设备在探索时间段和决策时间段下执行的操作不同,并且在探索时间段(或者决策时间段)的开始时间和结束时间下执行的操作不同。网络设备通过设置定时器中断事件的定时长度与时间段的长度相同,可以使得在时间段的结束时间时触发定时器中断事件,进而根据结束的时间段的类型执行相应的操作。
步骤S604:网络设备重置时间段的序号k=0。
其中,时间段的序号会随着处理过程更新,网络设备根据时间段的序号(或者更新后的时间段的序号)可以确定当前时间段属于探索类型还是决策类型,进而执行相应的操作。需要说明的是,时间段属于探索类型可以表示该时间段处于探索周期,时间段属于决策类型可以表示该时间段处于决策周期。
步骤S605:网络设备初始化M个业务流之间的带宽分配比例均为1/M。
在本申请实施例中,网络设备可以初始化M个业务流之间的带宽分配信息,例如,初始化M个业务流之间的带宽分配比例ri(kΔT)=1/M。其中,该带宽分配信息可以包括各个业务流分配得到的带宽值,或者各个业务流之间的带宽分配比例,即各个业务流分配得到的带宽值之间的比例。本申请实施例以带宽分配信息包括带宽分配比例进行说明。需要说明的是,上述网络设备针对M个业务流中的各个业务流进行等比例带宽分配(即每个业务流分配得到的带宽比例均为1/M,其中,i可以为业务流的编号,用于唯一标识一个业务流)仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,网络设备还可以对各个业务流进行不等比例带宽分配,例如,当M=3时,3个业务流之间的带宽分配比例为1/6:2/6:3/6。
步骤S606:网络设备确定M个业务流中各个业务流分配到的带宽。
网络设备可以将M个业务流之间的带宽分配比例ri(kΔT)与该网络设备的链路带宽容量Cl之间的乘积,确定为各个业务流在该链路上分配得到的带宽Bi(kΔT)。
步骤S607:网络设备根据各个业务流分配到的带宽调度属于各个业务流的数据包。
网络设备在根据各个业务流分配到的带宽Bi(kΔT)调度属于各个业务流的数据包的过程中,可以判断是否检测到定时器中断事件,并在检测到定时器中断事件时触发执行步骤S608。在本申请实施例中,每个时间段结束时可以触发中断事件,每隔一个时间段,网络设备可以检测到一次中断事件。
步骤S608:当检测到定时器中断事件时,网络设备获取各个业务流的在该时间段的平均速率。
步骤S609:网络设备根据各个业务流的效用函数确定该业务流在该时间段下的效用值。
其中,各个业务流的效用函数的自变量可以为该业务流在某时间段下的平均速率。网络设备可以将各个业务流在该时间段下的函数值作为该业务流在该时间段下的效用值。需要说明的是,在探索时间段和决策时间段的结束时间下,网络设备均可以计算各个业务流在该时间段下的效用值。具体的,各个业务流在探索时间段下的效用值可以用于在决策时间段下作为网络设备确定M个业务流之间的带宽分配信息的参数。各个业务流在决策时间段下的效用值可以用于确定下一决策周期的基准效用和,网络设备可以根据该基准效用和判断在下一决策周期下是否需要在上一决策周期下的带宽分配信息的基础上调整带宽分配。若不需要调整,网络设备在下一决策周期下,可以按照上一决策周期下的带宽分配信息调度属于各个业务流的数据包。
步骤S610:网络设备确定该时间段的类型,该类型包括探索类型或者决策类型。
其中,该时间段为当前结束的时间段,根据该时间段类型的不同,网络设备可以执行不同的操作。具体的,网络设备确定该时间段的类型的具体实施方式可以为:若kmodN=0,表明该时间段为决策时间段,即该时间段的类型为决策类型;若kmodN≠0时,表明该时间段为探索时间段,即该时间段的类型为探索类型。
步骤S611:若该时间段的类型为该决策类型,则网络设备将该时间段下各个业务流之间的带宽分配比例以及各个业务流在该时间段下的效用值之和作为下一控制周期的基准;若该时间段的类型为该探索类型,则网络设备根据各个业务流的效用函数以及各个业务流在该时间段下的平均速率确定各个业务流在该时间段下的效用值之和。
其中,该时间段下各个业务流之间的带宽分配比例ri(kΔT)是在该时间段的开始时间确定的,各个业务流在该时间段下的效用值是在该时间段的结束时间确定的。该时间段下各个业务流之间的带宽分配比例ri(kΔT)作为下一控制周期的基准可以表示:在下一控制周期的探索时间段和决策时间段下,网络设备在该带宽分配比例的基础上对各个业务流的带宽分配比例进行调整。各个业务流在该时间段下的效用值之和作为下一控制周期的基准可以表示:网络设备仅在下一控制周期中至少存在一个探索时间段,且各个业务流在该探索时间段下的效用值之和大于或者等于该/>的情况下,才在下一控制周期的决策时间段下调整各个业务流的带宽分配比例。若在下一控制周期中的每个探索时间段下,各个业务流在该探索时间段下的效用值之和均小于该/>网络设备在下一控制周期的决策时间段下可以不用调整各个业务流的带宽分配比例,换言之,根据下一控制周期的基准带宽分配比例调度数据包可以实现网络效用最大化。
在每个时间段(探索时间段或结束时间段)的结束时间下,网络设备可以统计得到各个业务流在该时间段下的平均速率。相应的,网络设备可以根据各个业务流的效用函数以及各个业务流在该时间段下的平均速率确定各个业务流在该时间段下的效用值之和,并存储该效用值之和。
步骤S612:网络设备更新时间段序号k=k+1,并根据更新后的时间段序号确定更新后的时间段的类型。
网络设备可以在进入新的时间段后,更新时间段的序号。进而在该时间段的开始时间判断该时间段的类型。具体的,判断时间段的类型的执行过程可以参见步骤S610的具体描述,此处不再赘述。
步骤S613:若更新后的时间段的类型为探索类型,则网络设备根据更新后的时间段序号,确定更新后的时间段下各个业务流之间的带宽分配比例。
具体的,若更新后的时间段的类型为探索类型,在更新后的探索时间段的开始时间,网络可以确定在该探索时间段下要增加哪个业务流的带宽(并相应降低其他业务流的带宽),并确定针对该业务流增加多少带宽比例。进而根据当前控制周期的基准带宽分配比例,确定该探索时间段下的带宽分配比例,然后执行步骤S615。
步骤S614:若更新后的时间段的类型为决策类型,则网络设备根据各个探索时间段下各个业务流之间的带宽分配比例和各个业务流的效用值,确定在该时间段下各个业务流之间的带宽分配比例。
具体的,若更新后的时间段的类型为决策类型,即该时间段为决策时间段,此时,网络设备可以根据各个探索时间段下各个业务流之间的带宽分配比例和各个业务流的效用值,确定在该决策时间段下增加哪个业务流的带宽,并确定针对该业务流增加多少带宽比例。进而根据当前控制周期的基准带宽分配比例,确定该决策时间段下的带宽分配比例,然后执行步骤S615。
步骤S615:网络设备根据确定出的带宽分配比例计算各个业务流分配到的带宽。
步骤S616:网络设备根据各个业务流分配到的带宽调度属于各个业务流的数据包。
在本申请实施例中,网络设备可以采用预设调度算法,按照各个业务流分配到的带宽Bi(nΔT)调度属于各个业务流的数据包。以预设调度算法为NUMFabric为例进行说明,网络设备接收到的数据包的包头可以如图6b所示。
在图6b中,常规字段可以包括但不限于如下字段:源端口号、目的端口号、数据序号、确认序号、头部长度、保留、控制位(CWR、ECE、URG、ACK、PSH、RST、SYN和FIN)、窗口大小、包校验和和紧急指针。在图6b中,第一数据域中的字段可以是慢控制层使用的字段,第二数据域中的字段可以是快控制层使用的字段。通过第一数据域中的传输目标的标识,可以将该数据包划分到对应的业务流中。属于同一业务流的不同数据包的包头中的传输目标的标识可以相同。需要说明的是,图6b中第一数据域仅包括一个字段(传输目标的标识)仅用于举例,并不构成对本申请实施例的限定。在其他可行的实现方式中,第一数据域还可以包括其他字段。传输目标的标识可以根据该数据包在传输过程中关注的传输目标确定。具体的,发送端在发送数据包时,可以设置包头中的传输目标的标识。其中,CWR和ECE都用于IP首部的ECN字段,ECE为1时,通知对方将拥塞窗口缩小;URG为1,表示包中有需要紧急处理的数据;ACK为1,确认应答的字段有效;PSH为1,表示需要将收到的数据立刻传给上层应用协议,若为0,则先将数据进行缓存;RST为1,表示TCP连接出现异常必须强制断开连接;SYN用于建立连接,该位设为1,表示希望建立连接;FIN为1,表示今后不再有数据发送,希望断开连接。
在图6b中,VirtualpacketLen可以表征数据包在网络设备中停留的时长,网络设备可以根据包头中的VirtualpacketLen确定如何调度数据包。需要说明的是,随着数据包的传输,VirtualpacketLen可以不变。网络设备可以根据normalizedResidual更新网络设备中的参数(例如交换机中的linkprice,交换机可以根据normalizedResidual周期性更新linkprice)。随着数据包的传输,normalizedResidual可以不变。数据包每经过一跳,pathprice、pathlen可以发生变化。interPacketTime可以表征相邻两个数据包之间的时间差,interPacketTime可以是在接收端确定的。
在一种实现方式中,预设调度算法不同时,可以使用图6b中第二数据域中的不同数据域。发送端在发送数据包之前,可以设置所采用的预设调度算法所需使用的数据域。以预设调度算法为NUMFabric为例,NUMFabric需要使用上述第二数据域中的5个数据域。发送端可以对第二数据域中的各个数据域进行初始化。具体的初始化过程可以为:
PathPrice=0
PathLen=0
interPacketTime=0
其中,Lp可以为要发送的数据包的大小,Price_sum可以为上一个数据包收集的所经过路径的price之和,U′i(x)中的i可以用于标识发送端要发送的数据包在传输过程中关注的传输目标,U′i(x)可以为该传输目标对应的效用函数的导数,hops可以为从发送端到接收端经过的跳数,hops可以是其他从接收端返回的数据包通过PathLen数据域统计得到的。在一种实现方式中,网络设备接收到数据包后,可以根据包头中记录的数据包在传输过程中关注的传输目标的标识,将该数据包划分到相应的业务流,并控制该数据包进行相应的队列。网络设备接收到数据包之后,还可以相应的增加该数据包所属的业务流对应的测量值,该测量值为该业务流在一时间段下的平均速率。网络设备确定各个业务流分配到的带宽Bi(kΔT)之后,可以轮询各个业务流对应的队列,并从正在出队的队列中优先选择VirtualpacketLen小的数据包准备发送。
在一种实现方式中,网络设备对包头中的pathprice、pathlen的更新过程可以为:PathPrice=PathPrice+link_Price;PathLen=PathLen+1。更新完成之后,网络设备可以向下一跳转发数据包。
在一种实现方式中,接收端收到数据包后,可以构造ACK包,并将数据包中第一数据域和第二数据域的部分或者全部内容复制到ACK包头相同的位域中,并设置interPacketTime的值,然后发送ACK包给网络设备。网络设备收到返回的ACK包后可以直接进行转发。发送端接收到ACK包时,可以根据第二数据域中pathprice的值以及该ACK包对应数据包所属的业务流的效用函数,更新属于该业务流的数据包的包头中的VirtualpacketLen。
步骤S617:网络设备重置测量值,并重新启动定时器。
在本申请实施例中,网络设备获取测量值并根据该测量值确定各个业务流在相应时间段下的效用值之后,网络设备可以重置测量值为0,以便统计下一时间段下各个业务流的平均速率。检测到定时器中断事件之后,网络设备可以重新启动定时器,以等待下一次中断事件的发生。
在本申请实施例中,在一个控制周期下,网络设备通过不同探索时间段来探索不同的带宽分配方案所带来的网络效用,可以确定哪一种带宽分配方案可以带来更高的网络效用,进而在该带宽分配方案的基础上,进一步确定更优的带宽分配方案。通过这种方式,有利于最大化网络效用。
下面示例性的结合网络拓扑对上述实施例进行描述。
在示例1中,采用图6c所示的网络拓扑,网络中设置了3种业务流,3种业务流的传输目标分别为比例公平、α公平以及最小化流完成时间。通过ns3仿真器得到的仿真结果可以如图6d所示。图6d为图6c所示的网络中瓶颈链路的吞吐量的示意图。由图6d可知,采用本申请实施例提供的数据处理方法,瓶颈链路的吞吐量在1.005s之后保持9999Mbps不变,即瓶颈链路的吞吐量很快收敛到一个较高值。因此,采用本申请实施例提供的数据处理方法,有利于提高带宽利用率。
图6e为采用本申请实施例提供的数据处理方法确定各个业务流之间的带宽分配信息之后,按照该带宽分配信息调度数据包后得到的实际流量的示意图。其中,SCL表示采用本申请实施例提供的数据处理方法确定的带宽分配结果,FCL表示采用本申请实施例提供的数据处理方法对数据包进行调度之后所产生的实际网络流量的结果。根据图6e展示的结果,可以表明通过控制不同业务流的数据包进入不同的隔离队列,可以避免调度数据包时产生相互干扰,从而使得采用本申请实施例提供的数据处理方法对数据包进行调度之后,所产生的实际网络流量几乎与确定出的各个业务流之间的带宽分配结果相同。
在示例2中,采用图6f所示的另一种网络拓扑图,业务流的设置与示例1一致。图6g是采用本申请实施例提供的数据处理方法和DCTCP时,图6f所示的网络中所有链路的平均带宽利用率的对比图。其中,HOMMO表示本申请实施例提供的数据处理方法。由图6g可知,采用HOMMO所得到的平均带宽利用率远远高于采用DCTCP所得到的平均带宽利用率。
图6h是采用本申请实施例提供的数据处理方法(HOMMO)和DCTCP时,图6f所示的网络拓扑对应产生的网络效用的对比图。由图6h可知,采用HOMMO所得到的网络效用优于采用DCTCP所得到的网络效用。
上述详细阐述了本申请实施例公开的方法,下面将提供本申请实施例的装置。
请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图,该数据处理装置可以为网络设备或具有网络设备功能的装置(例如芯片),数据处理装置70用于执行图2-图6a对应的方法实施例中网络设备所执行的步骤,数据处理装置70可以包括:
通信模块701,用于接收M个业务流;
处理模块702,用于获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的;M为大于或等于2的整数;
处理模块702,还用于根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息;
处理模块702,还用于根据该第二带宽调整信息对前述各个业务流进行调整。
在一种实现方式中,处理模块702用于根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息时,具体可以用于根据该第一带宽调整信息和该带宽调整结果,采用机器学习算法确定前述各个业务流在第一决策周期下的第二带宽调整信息。
在一种实现方式中,前述第一探索周期可以包括N个探索时间段,第一带宽调整信息可以包括前述各个业务流在各个探索时间段下的带宽调整参数;前述带宽调整结果可以包括N个效用值集合,第n个效用值集合包括每个业务流在第n个探索时间段下的效用值;N为大于或等于2的整数,1≤n≤N,M≤N;前述第二带宽调整信息包括第一带宽调整参数和第二带宽调整参数;该第一带宽调整参数为在第一决策周期下针对第一业务流的带宽调整参数,该第二带宽调整参数为在该第一决策周期下针对第二业务流的带宽调整参数;前述M个业务流包括该第一业务流和该第二业务流;处理模块702,还可以用于根据前述N个效用值集合确定该第一业务流;处理模块702用于根据该第二带宽调整信息对前述各个业务流进行调整时,具体可以用于根据前述第一带宽调整参数对该第一业务流进行调整,并根据前述第二带宽调整参数对该第二业务流进行调整。
在一种实现方式中,处理模块702用于根据前述N个效用值集合确定该第一业务流时,具体可以用于从前述N个探索时间段中确定第一探索时间段,该第一探索时间段与前述N个效用值集合中的第一效用值集合相对应,该第一效用值集合中的所有效用值之和大于N个效用值集合中除该第一效用值集合以外的任一效用值集合中的所有效用值之和;获取前述各个业务流在该第一探索时间段下的带宽调整参数;并将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流。
在一种实现方式中,处理模块702用于根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息时,具体可以用于根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数和第二带宽调整参数。
在一种实现方式中,处理模块702用于根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数和第二带宽调整参数时,具体可以用于根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数;并根据该第一带宽调整参数,确定第二带宽调整参数。
在一种实现方式中,处理模块702用于根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数时,具体可以用于根据该第一业务流在该第一探索时间段下的效用值,以及该第一业务流在该第一探索时间段下的带宽调整参数,确定第一数值;若该第一数值小于或等于预设阈值,则将该第一数值作为第一带宽调整参数。
在一种实现方式中,处理模块702还可以用于若该第一数值大于该预设阈值,则将该预设阈值作为第一带宽调整参数。
在一种实现方式中,该第一数值可以是根据第二数值和第三数值确定的;其中,该第二数值可以为前述第一业务流在第一探索时间段下的效用值,与该第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的效用值之间的差值;第三数值可以为该第一业务流在第一探索时间段下的带宽调整参数,与第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的带宽调整参数之间的差值。
在一种实现方式中,处理模块702用于根据前述第一带宽调整参数对该第一业务流进行调整,并根据前述第二带宽调整参数对该第二业务流进行调整时,具体可以用于根据该第一带宽调整参数对第一带宽分配信息中针对第一业务流的带宽分配信息进行调整,并根据该第二带宽调整参数对第一带宽分配信息中针对第二业务流的带宽分配信息进行调整,其中,该第一带宽分配信息为第二决策周期下前述M个业务流之间的带宽分配信息。
在一种实现方式中,处理模块702还可以用于获取第一决策周期的基准效用和,第一决策周期的基准效用和为前述M个业务流在第二决策周期下的效用值之和;处理模块702还可以用于若N个效用值集合中至少存在一个效用值集合中的所有效用值之和大于或等于该基准效用和,则触发执行根据N个效用值集合确定前述第一业务流的步骤。
在一种实现方式中,处理模块702还可以用于若N个效用值集合中的每个效用值集合中的所有效用值之和均小于该基准效用和,则获取在第二决策周期下前述M个业务流之间的带宽分配信息;将该带宽分配信息作为第一决策周期下M个业务流之间的带宽分配信息。
在一种实现方式中,处理模块702还可以用于确定当前时间所属时间段的类型,该类型包括探索类型或者决策类型,每个决策周期包括一个或多个决策时间段;若当前时间所属时间段的类型为该决策类型,则触发获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果的步骤。
在一种实现方式中,处理模块702还可以用于若当前时间所属时间段的类型为该探索类型,则确定前述各个业务流在第二探索时间段下的带宽调整参数,其中,该第二探索时间段为当前时间在前述第一探索周期中所属的探索时间段;根据前述各个业务流在第二探索时间段下的带宽调整参数,对第一带宽分配信息中针对前述各个业务流的带宽分配信息进行调整,得到第二带宽分配信息;其中,该第一带宽分配信息为第二决策周期下M个业务流之间的带宽分配信息,该第二带宽分配信息为该第二探索时间段下M个业务流之间的带宽分配信息;在该第二探索时间段内,按照该第二带宽分配信息调度属于M个业务流的数据包。
在一种实现方式中,处理模块702还可以用于若当前时间所属时间段的类型为该探索类型,则针对前述M个业务流中的各个业务流,获取该业务流的效用函数,并获取第二探索时间段下该业务流的平均速率;根据第二探索时间段下该业务流的平均速率,确定该业务流的效用函数在第二探索时间段下的函数值;将该业务流的效用函数在第二探索时间段下的函数值,作为该业务流在该第二探索时间段下的效用值。
在一种实现方式中,不同业务流的效用函数可以不同。
需要说明的是,图7对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图2-图6a所示实施例以及前述内容,这里不再赘述。
在一种实现方式中,图7中的各个模块所实现的相关功能可以结合处理器与通信接口来实现。参见图8,图8是本申请实施例提供的另一种数据处理装置的结构示意图,该数据处理装置可以为网络设备或具有网络设备功能的装置(例如芯片),该数据处理装置80可以包括通信接口801、处理器802和存储器803,通信接口801、处理器802和存储器803可以通过一条或多条通信总线相互连接,也可以通过其它方式相连接。图7所示的通信模块701和处理模块702所实现的相关功能可以通过同一个处理器802来实现,也可以通过多个不同的处理器802来实现。
通信接口801可以用于发送数据和/或信令,以及接收数据和/或信令。应用在本申请实施例中,通信接口801可以用于接收数据包或者发送数据包。通信接口801可以为收发器。
处理器802被配置为执行图2-图6a所述方法中网络设备相应的功能。该处理器802可以包括一个或多个处理器,例如该处理器802可以是一个或多个中央处理器(centralprocessing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。在处理器802是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器803用于存储程序代码等。存储器803可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器803也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器803还可以包括上述种类的存储器的组合。
处理器802可以调用存储器803中存储的程序代码以使数据处理装置80执行以下操作:
获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,该带宽调整结果是根据该第一带宽调整信息对前述各个业务流进行调整后得到的;M为大于或等于2的整数;
根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息;
根据该第二带宽调整信息对前述各个业务流进行调整。
在一种实现方式中,处理器802执行根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息时,具体可以执行以下操作:根据该第一带宽调整信息和该带宽调整结果,采用机器学习算法确定前述各个业务流在第一决策周期下的第二带宽调整信息。
在一种实现方式中,前述第一探索周期可以包括N个探索时间段,第一带宽调整信息可以包括前述各个业务流在各个探索时间段下的带宽调整参数;前述带宽调整结果可以包括N个效用值集合,第n个效用值集合包括每个业务流在第n个探索时间段下的效用值;N为大于或等于2的整数,1≤n≤N,M≤N;前述第二带宽调整信息包括第一带宽调整参数和第二带宽调整参数;该第一带宽调整参数为在第一决策周期下针对第一业务流的带宽调整参数,该第二带宽调整参数为在该第一决策周期下针对第二业务流的带宽调整参数;前述M个业务流包括该第一业务流和该第二业务流;处理器802执行根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息之前,还可以执行以下操作:根据前述N个效用值集合确定该第一业务流;处理器802执行根据该第二带宽调整信息对前述各个业务流进行调整时,具体可以执行以下操作:根据前述第一带宽调整参数对该第一业务流进行调整,并根据前述第二带宽调整参数对该第二业务流进行调整。
在一种实现方式中,处理器802执行根据前述N个效用值集合确定该第一业务流时,具体可以执行以下操作:从前述N个探索时间段中确定第一探索时间段,该第一探索时间段与前述N个效用值集合中的第一效用值集合相对应,该第一效用值集合中的所有效用值之和大于N个效用值集合中除该第一效用值集合以外的任一效用值集合中的所有效用值之和;获取前述各个业务流在该第一探索时间段下的带宽调整参数;并将前述各个业务流在该第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流。
在一种实现方式中,处理器802执行根据该第一带宽调整信息和该带宽调整结果,确定前述各个业务流在第一决策周期下的第二带宽调整信息时,具体可以执行以下操作:根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数和第二带宽调整参数。
在一种实现方式中,处理器802执行根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数和第二带宽调整参数时,具体可以执行以下操作:根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数;并根据该第一带宽调整参数,确定第二带宽调整参数。
在一种实现方式中,处理器802执行根据该第一业务流在第一探索时间段下的效用值,以及该第一业务流在第一探索时间段下的带宽调整参数,确定第一带宽调整参数时,具体可以执行以下操作:根据该第一业务流在该第一探索时间段下的效用值,以及该第一业务流在该第一探索时间段下的带宽调整参数,确定第一数值;若该第一数值小于或等于预设阈值,则将该第一数值作为第一带宽调整参数。
在一种实现方式中,处理器802还可以执行以下操作:若该第一数值大于该预设阈值,则将该预设阈值作为第一带宽调整参数。
在一种实现方式中,该第一数值可以是根据第二数值和第三数值确定的;其中,该第二数值可以为前述第一业务流在第一探索时间段下的效用值,与该第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的效用值之间的差值;第三数值可以为该第一业务流在第一探索时间段下的带宽调整参数,与第一业务流在前述N个探索时间段中除第一探索时间段以外的任一探索时间段下的带宽调整参数之间的差值。
在一种实现方式中,处理器802执行根据前述第一带宽调整参数对该第一业务流进行调整,并根据前述第二带宽调整参数对该第二业务流进行调整时,具体可以执行以下操作:根据该第一带宽调整参数对第一带宽分配信息中针对第一业务流的带宽分配信息进行调整,并根据该第二带宽调整参数对第一带宽分配信息中针对第二业务流的带宽分配信息进行调整,其中,该第一带宽分配信息为第二决策周期下前述M个业务流之间的带宽分配信息。
在一种实现方式中,处理器802在执行获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果之后,还可以执行以下操作:获取第一决策周期的基准效用和,第一决策周期的基准效用和为前述M个业务流在第二决策周期下的效用值之和;若N个效用值集合中至少存在一个效用值集合中的所有效用值之和大于或等于该基准效用和,则触发执行根据N个效用值集合确定前述第一业务流的步骤。
在一种实现方式中,处理器802还可以执行以下操作:若N个效用值集合中的每个效用值集合中的所有效用值之和均小于该基准效用和,则获取在第二决策周期下前述M个业务流之间的带宽分配信息;将该带宽分配信息作为第一决策周期下M个业务流之间的带宽分配信息。
在一种实现方式中,处理器802还可以执行以下操作:确定当前时间所属时间段的类型,该类型包括探索类型或者决策类型,每个决策周期包括一个或多个决策时间段;若当前时间所属时间段的类型为该决策类型,则触发获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果的步骤。
在一种实现方式中,处理器802还可以执行以下操作:若当前时间所属时间段的类型为该探索类型,则确定前述各个业务流在第二探索时间段下的带宽调整参数,其中,该第二探索时间段为当前时间在前述第一探索周期中所属的探索时间段;根据前述各个业务流在第二探索时间段下的带宽调整参数,对第一带宽分配信息中针对前述各个业务流的带宽分配信息进行调整,得到第二带宽分配信息;其中,该第一带宽分配信息为第二决策周期下M个业务流之间的带宽分配信息,该第二带宽分配信息为该第二探索时间段下M个业务流之间的带宽分配信息;在该第二探索时间段内,按照该第二带宽分配信息调度属于M个业务流的数据包。
在一种实现方式中,处理器802还可以执行以下操作:若当前时间所属时间段的类型为该探索类型,则针对前述M个业务流中的各个业务流,获取该业务流的效用函数,并获取第二探索时间段下该业务流的平均速率;根据第二探索时间段下该业务流的平均速率,确定该业务流的效用函数在第二探索时间段下的函数值;将该业务流的效用函数在第二探索时间段下的函数值,作为该业务流在该第二探索时间段下的效用值。
在一种实现方式中,不同业务流的效用函数可以不同。
进一步地,处理器802还可以执行图2-图6a所示实施例中网络设备对应的操作,具体可参见方法实施例中的描述,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,可以用于存储图7所示实施例中数据处理装置所用的计算机软件指令,其包含用于执行上述实施例中为网络设备所设计的程序。
上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
本申请实施例还提供一种计算机程序产品,该计算机产品被计算设备运行时,可以执行上述图2-图6a实施例中为网络设备所设计的方法。
在本申请实施例中还提供一种芯片,包括处理器和存储器,该存储器用包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,该计算机程序用于实现上述方法实施例中的方法。
本领域技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件结合的方式来实现。这些功能究竟以硬件还是软件方式执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法实现所描述的功能,但是这种实现不应认为超出本申请的范围。
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。当在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种数据处理方法,其特征在于,所述方法包括:
获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果,所述带宽调整结果用于表征根据所述第一带宽调整信息对所述各个业务流进行调整后得到的网络效用;M为大于或等于2的整数;
根据所述第一带宽调整信息和所述带宽调整结果,确定所述各个业务流在第一决策周期下的第二带宽调整信息,所述第二带宽调整信息是在所述第一带宽调整信息的基础上基于所述带宽调整结果调整得到的;
根据所述第二带宽调整信息对所述各个业务流进行调整。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一带宽调整信息和所述带宽调整结果,确定所述各个业务流在第一决策周期下的第二带宽调整信息,包括:
根据所述第一带宽调整信息和所述带宽调整结果,采用机器学习算法确定所述各个业务流在第一决策周期下的第二带宽调整信息。
3.根据权利要求1所述的方法,其特征在于,所述第一探索周期包括N个探索时间段,所述第一带宽调整信息包括所述各个业务流在各个探索时间段下的带宽调整参数;所述带宽调整结果包括N个效用值集合,第n个效用值集合包括每个业务流在第n个探索时间段下的效用值;N为大于或等于2的整数,1≤n≤N,M≤N;所述第二带宽调整信息包括第一带宽调整参数和第二带宽调整参数;所述第一带宽调整参数为在所述第一决策周期下针对第一业务流的带宽调整参数,所述第二带宽调整参数为在所述第一决策周期下针对第二业务流的带宽调整参数;所述M个业务流包括所述第一业务流和所述第二业务流;
所述根据所述第一带宽调整信息和所述带宽调整结果,确定所述各个业务流在第一决策周期下的第二带宽调整信息之前,所述方法还包括:
根据所述N个效用值集合确定所述第一业务流;
所述根据所述第二带宽调整信息对所述各个业务流进行调整,包括:
根据所述第一带宽调整参数对所述第一业务流进行调整,并根据所述第二带宽调整参数对所述第二业务流进行调整。
4.根据权利要求3所述的方法,其特征在于,所述根据所述N个效用值集合确定所述第一业务流,包括:
从所述N个探索时间段中确定第一探索时间段,所述第一探索时间段与所述N个效用值集合中的第一效用值集合相对应,所述第一效用值集合中的所有效用值之和大于所述N个效用值集合中除所述第一效用值集合以外的任一效用值集合中的所有效用值之和;
获取所述各个业务流在所述第一探索时间段下的带宽调整参数;
将所述各个业务流在所述第一探索时间段下的带宽调整参数中的最大值对应的业务流作为第一业务流。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一带宽调整信息和所述带宽调整结果,确定所述各个业务流在第一决策周期下的第二带宽调整信息,包括:
根据所述第一业务流在所述第一探索时间段下的效用值,以及所述第一业务流在所述第一探索时间段下的带宽调整参数,确定所述第一带宽调整参数和所述第二带宽调整参数。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一业务流在所述第一探索时间段下的效用值,以及所述第一业务流在所述第一探索时间段下的带宽调整参数,确定所述第一带宽调整参数和所述第二带宽调整参数,包括:
根据所述第一业务流在所述第一探索时间段下的效用值,以及所述第一业务流在所述第一探索时间段下的带宽调整参数,确定所述第一带宽调整参数;
根据所述第一带宽调整参数,确定所述第二带宽调整参数。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一业务流在所述第一探索时间段下的效用值,以及所述第一业务流在所述第一探索时间段下的带宽调整参数,确定所述第一带宽调整参数,包括:
根据所述第一业务流在所述第一探索时间段下的效用值,以及所述第一业务流在所述第一探索时间段下的带宽调整参数,确定第一数值;
若所述第一数值小于或等于预设阈值,则将所述第一数值作为所述第一带宽调整参数。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述第一数值大于所述预设阈值,则将所述预设阈值作为所述第一带宽调整参数。
9.根据权利要求7所述的方法,其特征在于,所述第一数值是根据第二数值和第三数值确定的;其中,所述第二数值为所述第一业务流在所述第一探索时间段下的效用值,与所述第一业务流在所述N个探索时间段中除所述第一探索时间段以外的任一探索时间段下的效用值之间的差值;
所述第三数值为所述第一业务流在所述第一探索时间段下的带宽调整参数,与所述第一业务流在所述N个探索时间段中除所述第一探索时间段以外的任一探索时间段下的带宽调整参数之间的差值。
10.根据权利要求3所述的方法,其特征在于,所述根据所述第一带宽调整参数对所述第一业务流进行调整,并根据所述第二带宽调整参数对所述第二业务流进行调整,包括:
根据所述第一带宽调整参数对第一带宽分配信息中针对所述第一业务流的带宽分配信息进行调整,并根据所述第二带宽调整参数对所述第一带宽分配信息中针对所述第二业务流的带宽分配信息进行调整,其中,所述第一带宽分配信息为第二决策周期下所述M个业务流之间的带宽分配信息。
11.根据权利要求3~10任一项所述的方法,其特征在于,所述获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果之后,所述方法还包括:
获取所述第一决策周期的基准效用和,所述第一决策周期的基准效用和为所述M个业务流在第二决策周期下的效用值之和;
若所述N个效用值集合中至少存在一个效用值集合中的所有效用值之和大于或等于所述基准效用和,则触发所述根据所述N个效用值集合确定所述第一业务流的步骤。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若所述N个效用值集合中的每个效用值集合中的所有效用值之和均小于所述基准效用和,则获取在所述第二决策周期下所述M个业务流之间的带宽分配信息;
将所述带宽分配信息作为所述第一决策周期下所述M个业务流之间的带宽分配信息。
13.根据权利要求3~10任一项所述的方法,其特征在于,所述方法还包括:
确定当前时间所属时间段的类型,所述类型包括探索类型或者决策类型,每个决策周期包括一个或多个决策时间段;
若所述当前时间所属时间段的类型为所述决策类型,则触发所述获取M个业务流中各个业务流在第一探索周期下的第一带宽调整信息和带宽调整结果的步骤。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
若所述当前时间所属时间段的类型为所述探索类型,则确定所述各个业务流在第二探索时间段下的带宽调整参数,其中,所述第二探索时间段为所述当前时间在所述第一探索周期中所属的探索时间段;
根据所述各个业务流在第二探索时间段下的带宽调整参数,对第一带宽分配信息中针对所述各个业务流的带宽分配信息进行调整,得到第二带宽分配信息;其中,所述第一带宽分配信息为第二决策周期下所述M个业务流之间的带宽分配信息,所述第二带宽分配信息为所述第二探索时间段下所述M个业务流之间的带宽分配信息;
在所述第二探索时间段内,按照所述第二带宽分配信息调度属于所述M个业务流的数据包。
15.根据权利要求13所述的方法,其特征在于,所述方法还包括:
若所述当前时间所属时间段的类型为所述探索类型,则针对所述M个业务流中的各个业务流,获取所述业务流的效用函数,并获取第二探索时间段下所述业务流的平均速率;
根据所述第二探索时间段下所述业务流的平均速率,确定所述业务流的效用函数在所述第二探索时间段下的函数值;
将所述业务流的效用函数在所述第二探索时间段下的函数值,作为所述业务流在所述第二探索时间段下的效用值。
16.根据权利要求15所述的方法,其特征在于,不同业务流的效用函数不同。
17.一种数据处理装置,其特征在于,包括用于执行如权利要求1~16任一项所述的方法的单元。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时使所述处理器执行如权利要求1~16任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020020.4A CN112714081B (zh) | 2019-10-24 | 2019-10-24 | 一种数据处理方法及其装置 |
EP20878606.1A EP4037272A4 (en) | 2019-10-24 | 2020-10-23 | DATA PROCESSING METHOD AND DEVICE |
PCT/CN2020/123406 WO2021078286A1 (zh) | 2019-10-24 | 2020-10-23 | 一种数据处理方法及其装置 |
US17/726,985 US20220248259A1 (en) | 2019-10-24 | 2022-04-22 | Data processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020020.4A CN112714081B (zh) | 2019-10-24 | 2019-10-24 | 一种数据处理方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112714081A CN112714081A (zh) | 2021-04-27 |
CN112714081B true CN112714081B (zh) | 2024-05-03 |
Family
ID=75540393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911020020.4A Active CN112714081B (zh) | 2019-10-24 | 2019-10-24 | 一种数据处理方法及其装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220248259A1 (zh) |
EP (1) | EP4037272A4 (zh) |
CN (1) | CN112714081B (zh) |
WO (1) | WO2021078286A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645662B (zh) * | 2021-08-17 | 2023-08-18 | 中国联合网络通信集团有限公司 | 业务处理方法及装置 |
CN116170375A (zh) * | 2021-11-25 | 2023-05-26 | 华为技术有限公司 | 一种参数调整方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707807A (zh) * | 2009-12-14 | 2010-05-12 | 中兴通讯股份有限公司 | 一种业务队列调度的方法和装置 |
US7885186B2 (en) * | 2003-10-03 | 2011-02-08 | Ciena Corporation | System and method of adaptively managing bandwidth on optical links shared by multiple-services using virtual concatenation and link capacity adjustment schemes |
CN103906238A (zh) * | 2012-12-24 | 2014-07-02 | ***通信集团北京有限公司 | 一种带宽分配方法、装置及服务器 |
CN104811467A (zh) * | 2014-01-28 | 2015-07-29 | 青岛海尔电子有限公司 | 综合效用的数据处理方法 |
WO2016095351A1 (zh) * | 2014-12-19 | 2016-06-23 | 中兴通讯股份有限公司 | 一种带宽调节方法及装置、计算机存储介质 |
CN106713169A (zh) * | 2016-11-25 | 2017-05-24 | 东软集团股份有限公司 | 一种控制流量带宽的方法和装置 |
CN107094122A (zh) * | 2017-05-18 | 2017-08-25 | 武汉烽火技术服务有限公司 | 一种自动调整网络带宽的方法及*** |
CN109257304A (zh) * | 2017-07-12 | 2019-01-22 | 中兴通讯股份有限公司 | 一种带宽调整方法、装置、存储介质和网络设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8521889B2 (en) * | 2003-05-15 | 2013-08-27 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network |
CN102685904B (zh) * | 2012-05-07 | 2015-04-01 | 中兴通讯股份有限公司 | 一种带宽自适应分配方法和*** |
US10033657B2 (en) * | 2016-06-30 | 2018-07-24 | Juniper Networks, Inc. | Generating automatic bandwidth adjustment policies per label-switched path |
-
2019
- 2019-10-24 CN CN201911020020.4A patent/CN112714081B/zh active Active
-
2020
- 2020-10-23 EP EP20878606.1A patent/EP4037272A4/en active Pending
- 2020-10-23 WO PCT/CN2020/123406 patent/WO2021078286A1/zh unknown
-
2022
- 2022-04-22 US US17/726,985 patent/US20220248259A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7885186B2 (en) * | 2003-10-03 | 2011-02-08 | Ciena Corporation | System and method of adaptively managing bandwidth on optical links shared by multiple-services using virtual concatenation and link capacity adjustment schemes |
CN101707807A (zh) * | 2009-12-14 | 2010-05-12 | 中兴通讯股份有限公司 | 一种业务队列调度的方法和装置 |
CN103906238A (zh) * | 2012-12-24 | 2014-07-02 | ***通信集团北京有限公司 | 一种带宽分配方法、装置及服务器 |
CN104811467A (zh) * | 2014-01-28 | 2015-07-29 | 青岛海尔电子有限公司 | 综合效用的数据处理方法 |
WO2016095351A1 (zh) * | 2014-12-19 | 2016-06-23 | 中兴通讯股份有限公司 | 一种带宽调节方法及装置、计算机存储介质 |
CN106713169A (zh) * | 2016-11-25 | 2017-05-24 | 东软集团股份有限公司 | 一种控制流量带宽的方法和装置 |
CN107094122A (zh) * | 2017-05-18 | 2017-08-25 | 武汉烽火技术服务有限公司 | 一种自动调整网络带宽的方法及*** |
CN109257304A (zh) * | 2017-07-12 | 2019-01-22 | 中兴通讯股份有限公司 | 一种带宽调整方法、装置、存储介质和网络设备 |
Non-Patent Citations (1)
Title |
---|
基于合作博弈的数据中心骨干网带宽分配策略;孟飞;兰巨龙;胡宇翔;;计算机研究与发展(06);第137-144页 * |
Also Published As
Publication number | Publication date |
---|---|
EP4037272A1 (en) | 2022-08-03 |
US20220248259A1 (en) | 2022-08-04 |
EP4037272A4 (en) | 2022-11-02 |
WO2021078286A1 (zh) | 2021-04-29 |
CN112714081A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10129043B2 (en) | Apparatus and method for network flow scheduling | |
JP4796668B2 (ja) | バス制御装置 | |
CN109104373B (zh) | 网络拥塞的处理方法、装置及*** | |
US11171862B2 (en) | Multi-subflow network transmission method and apparatus | |
CN108293200B (zh) | 设备吞吐量确定 | |
CN109450606B (zh) | 数据传输管控方法及装置 | |
US10063478B2 (en) | Switching device and control method of switching device | |
CN112714081B (zh) | 一种数据处理方法及其装置 | |
JP2023511889A (ja) | サービスレベル構成方法および装置 | |
JP6468193B2 (ja) | 通信装置及び通信装置におけるネットワーク利用可能帯域推定方法、並びにネットワーク利用可能帯域推定プログラム | |
CN115413051A (zh) | 一种处理与多个数据流的传输相关的数据的方法 | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
EP3582455B1 (en) | Method and apparatus for multiple subflows network transmission | |
US20120127858A1 (en) | Method and apparatus for providing per-subscriber-aware-flow qos | |
Vázquez-Rodas et al. | Dynamic buffer sizing for wireless devices via maximum entropy | |
JP2013034199A (ja) | 通信ネットワークを通じてデータパケットを送信するためにデータパケットに時間−周波数資源を割り当てるための方法及びデバイス、このような方法を実行するためのコンピュータプログラム、並びにこのようなコンピュータプログラムを格納するための情報格納手段 | |
JP2017059912A (ja) | 伝送装置 | |
Paschos et al. | Multirate multicast: Optimal algorithms and implementation | |
JP6620760B2 (ja) | 管理ノード、端末、通信システム、通信方法、および、プログラム | |
CN102316022B (zh) | 一种协议报文转发方法和通信设备 | |
JP2009206733A (ja) | エッジノードおよび帯域制御方法 | |
CN106559460B (zh) | 软件定义协议网络中分配资源的方法和*** | |
Zhao et al. | A channel-aware scheduling scheme for (m, k)-firm streams in wireless multimedia sensor networks | |
EP3716549A1 (en) | Bandwidth management | |
WO2020143509A1 (zh) | 传输数据的方法和网络设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |