CN112583739A - 调度方法和装置 - Google Patents

调度方法和装置 Download PDF

Info

Publication number
CN112583739A
CN112583739A CN201910944756.4A CN201910944756A CN112583739A CN 112583739 A CN112583739 A CN 112583739A CN 201910944756 A CN201910944756 A CN 201910944756A CN 112583739 A CN112583739 A CN 112583739A
Authority
CN
China
Prior art keywords
weight value
queue
policy
data stream
data packet
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
Application number
CN201910944756.4A
Other languages
English (en)
Inventor
张帆
蒋竞颉
张弓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910944756.4A priority Critical patent/CN112583739A/zh
Publication of CN112583739A publication Critical patent/CN112583739A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种调度方法和装置。本申请调度方法,包括:接收第一数据包,所述第一数据包包括第一数据流的流量信息,所述第一数据流包括所述第一数据包;根据所述流量信息计算所述第一数据包的第一权重值;将所述第一权重值封装在所述第一数据包中得到第二数据包;发送所述第二数据包。本申请可以适用于多种调度策略,实现多种调度策略的灵活切换,满足多种业务需求。

Description

调度方法和装置
技术领域
本申请涉及通信技术,尤其涉及一种调度方法和装置。
背景技术
数据中心网络存在各种各样的业务,不同的业务有不同的需求,有些业务对流完成时间(flow completion time,FCT)敏感,例如电商业务;有些业务对最后期限(deadline,DDL)敏感,例如银行后台数据处理业务;有些业务对公平队列(fairingqueuing,FQ)有要求,例如云服务租赁业务。
相关技术中,针对不同的业务设计了不同的调度方法,其中,对于FCT敏感业务,基于是否已知流的长度,可以采用当已知流的长度时,将小流放到高优先级队列,大流放到低优先级队列。当未知流的长度时,将已发送数据量小的流放到高优先级队列,已发送数据量大的流放到低优先级队列。对于DDL敏感业务,可以根据流长度和流的死线需求计算流的速率需求,之后对速率按照从小到大分配从高到低的优先级队列。对于FQ有要求的业务,可以通过轮询机制依次服务流所属的各个队列。
但是,网络设备无论采用上述哪种调度方法,都只能满足一种业务需求,无法适应业务改变,而如果想从一种调度方法切换到另一种调度方法,则会给网络设备带来很大的更改开销。
发明内容
本申请提供一种调度方法和装置,可以适用于多种调度策略,实现多种调度策略的灵活切换,满足多种业务需求。
第一方面,本申请提供一种调度方法,包括:
接收第一数据包,所述第一数据包包括第一数据流的流量信息,所述第一数据流包括所述第一数据包;根据所述流量信息计算所述第一数据包的第一权重值;将所述第一权重值封装在所述第一数据包中得到第二数据包;发送所述第二数据包。
本实施例,端节点根据数据包所属数据流的流量信息计算该数据包的权重值,该流量信息和采用的调度策略对应,使得计算得到的权重值可以适用于多种调度策略,实现多种调度策略的灵活切换,满足多种业务需求。
在一种可能的实现方式中,所述根据所述流量信息计算所述第一数据包的第一权重值,包括:根据所述流量信息确定所述第一数据流的调度策略,所述调度策略包括最短剩余时间优先SRTF策略、LAS策略、最后期限DDL策略和公平队列FQ策略中的任意一种;根据所述调度策略计算所述第一权重值。
在一种可能的实现方式中,所述流量信息包括所述第一数据流的未发送字节数、所述第一数据流的已发送字节数和距离所述第一数据流DDL的时间中的至少一种;所述根据所述流量信息确定所述第一数据流的调度策略,包括:当所述流量信息包括所述第一数据流的未发送字节数时,确定所述调度策略为所述SRTF策略;当所述流量信息包括所述第一数据流的已发送字节数时,确定所述调度策略为所述LAS策略或者所述FQ策略;当所述流量信息包括所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间,或者所述流量信息包括所述距离所述第一数据流DDL的时间时,确定所述调度策略为所述DDL策略;
所述根据所述调度策略计算所述第一权重值,包括:当所述调度策略为所述SRTF策略时,根据所述第一数据流的未发送字节数计算所述第一权重值;当所述调度策略为所述LAS策略或者所述FQ策略时,根据所述第一数据流的已发送字节数计算所述第一权重值;当所述调度策略为所述DDL策略时,根据所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间计算所述第一权重值,或者根据所述距离所述第一数据流DDL的时间计算所述第一权重值。
第二方面,本申请提供一种调度方法,包括:
接收第二数据包,所述第二数据包包括第一权重值;根据所述第一权重值将所述第二数据包传输至第一队列,所述第一队列为出端口对应的N个队列的其中之一,N为正整数;发送所述第二数据包。
本实施例,网络节点根据端节点发送的数据包中的权重值,将数据包入队到合适的队列中完成数据包的调度,该权重值与数据包所属数据流的流量信息相关,而计算流量信息和采用的调度策略对应,这样可以适用于多种调度策略,实现多种调度策略的灵活切换,满足多种业务需求,还可以提高数据包的调度效率。
在一种可能的实现方式中,所述根据所述第一权重值将所述第二数据包传输至第一队列之前,还包括:获取所述N个队列的权重值集合,所述权重值集合包括N个队列权重值,所述N个队列权重值递增排列,所述N个队列和所述N个队列权重值对应;根据所述第一权重值确定第二权重值,所述第二权重值为所述N个队列权重值中最接近所述第一权重值者;将所述第二权重值对应的队列确定为所述第一队列。
在一种可能的实现方式中,所述根据所述第一权重值确定第二权重值,包括:根据所述N个队列权重值确定第一区间,所述第一区间为(m1,m2),且m1<w<m2,其中,w表示所述第一权重值,m1表示所述N个队列权重值的其中之一,m2表示所述N个队列权重值中与m1相邻的且大于m1的值;根据第一距离和第二距离确定所述第二权重值,所述第二权重值和所述第一距离和所述第二距离中较小者对应,所述第一距离为w和m1的距离,所述第二距离为w和m2的距离。
在一种可能的实现方式中,还包括:计算所述第一队列中所有数据包的权重值之和,并根据所述第一队列中所有数据包的总个数和所述权重值之和计算所述第一队列的队列权重值。
第三方面,本申请提供一种调度方法,包括:
接收第一数据包,所述第一数据包包括第一数据流的流量信息,所述第一数据流包括所述第一数据包;根据所述流量信息计算所述第一数据包的第一权重值;根据所述第一权重值将所述第一数据包传输至第一队列,所述第一队列为出端口对应的N个队列的其中之一,N为正整数;发送所述第一数据包。
本实施例,网络节点根据数据包所属数据流的流量信息计算该数据包的权重值,该流量信息和采用的调度策略对应,再根据权重值将数据包入队到合适的队列中完成数据包的调度,这样可以适用于多种调度策略,实现多种调度策略的灵活切换,满足多种业务需求,还可以提高数据包的调度效率。
在一种可能的实现方式中,所述根据所述流量信息计算所述第一数据包的第一权重值,包括:根据所述流量信息确定所述第一数据流的调度策略,所述调度策略包括最短剩余时间优先SRTF策略、LAS策略、最后期限DDL策略和公平队列FQ策略中的任意一种;根据所述调度策略计算所述第一权重值。
在一种可能的实现方式中,所述流量信息包括所述第一数据流的未发送字节数、所述第一数据流的已发送字节数和距离所述第一数据流DDL的时间中的至少一种;所述根据所述流量信息确定所述第一数据流的调度策略,包括:当所述流量信息包括所述第一数据流的未发送字节数时,确定所述调度策略为所述SRTF策略;当所述流量信息包括所述第一数据流的已发送字节数时,确定所述调度策略为所述LAS策略或者所述FQ策略;当所述流量信息包括所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间,或者所述流量信息包括所述距离所述第一数据流DDL的时间时,确定所述调度策略为所述DDL策略;
所述根据所述调度策略计算所述第一权重值,包括:当所述调度策略为所述SRTF策略时,根据所述第一数据流的未发送字节数计算所述第一权重值;当所述调度策略为所述LAS策略或者所述FQ策略时,根据所述第一数据流的已发送字节数计算所述第一权重值;当所述调度策略为所述DDL策略时,根据所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间计算所述第一权重值,或者根据所述距离所述第一数据流DDL的时间计算所述第一权重值。
在一种可能的实现方式中,所述根据所述第一权重值将所述第二数据包传输至第一队列之前,还包括:获取所述N个队列的权重值集合,所述权重值集合包括N个队列权重值,所述N个队列权重值递增排列,所述N个队列和所述N个队列权重值对应;根据所述第一权重值确定第二权重值,所述第二权重值为所述N个队列权重值中最接近所述第一权重值者;将所述第二权重值对应的队列确定为所述第一队列。
在一种可能的实现方式中,所述根据所述第一权重值确定第二权重值,包括:根据所述N个队列权重值确定第一区间,所述第一区间为(m1,m2),且m1<w<m2,其中,w表示所述第一权重值,m1表示所述N个队列权重值的其中之一,m2表示所述N个队列权重值中与m1相邻的且大于m1的值;根据第一距离和第二距离确定所述第二权重值,所述第二权重值和所述第一距离和所述第二距离中较小者对应,所述第一距离为w和m1的距离,所述第二距离为w和m2的距离。
在一种可能的实现方式中,还包括:计算所述第一队列中所有数据包的权重值之和,并根据所述第一队列中所有数据包的总个数和所述权重值之和计算所述第一队列的队列权重值。
第四方面,本申请实施例提供了一种装置,该装置具有实现上述第一方面中任一项所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多于一个与上述功能相对应的模块。
第五方面,本申请实施例提供了一种装置,该装置具有实现上述第二至三方面中任一项所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多于一个与上述功能相对应的模块。
第六方面,本申请提供一种端节点,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面中任一项所述的方法。
可选的,该端节点可以是服务器、终端设备等,也可以是芯片。
第七方面,本申请提供一种网络节点,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第二至三方面中任一项所述的方法。
可选的,该网络节点可以是交换机、路由器等,也可以是芯片。
第八方面,本申请提供一种计算机可读存储介质,包括指令,当其在计算机上执行时,使得所述计算机执行上述第一至三方面中任一项所述的方法。
第九方面,本申请提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一至三方面中任一项所述的方法。
附图说明
图1示例性的示出了本申请调度方法的一个应用场景示意图;
图2为本申请调度方法实施例一的流程图;
图3示例性的示出了本申请调度方法的另一个应用场景示意图;
图4为本申请调度方法实施例二的流程图;
图5为本申请装置实施例的结构示意图;
图6为本申请提供的端节点的示意性结构图;
图7为本申请提供的网络节点的示意性结构图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
图1示例性的示出了本申请调度方法的一个应用场景示意图,如图1所示,该场景中包括端节点和网络节点,其中,端节点可以包括终端设备、服务器等,网络节点包括交换机、路由器等。
本申请中,端节点接收到待传输的数据包后,可以根据该数据包所属数据流的流量信息(例如,数据流的未发送字节数、数据流的已发送字节数或者距离数据流DDL的时间等)确定该数据包的权重值,然后将权重值封装在数据包中(例如,将权重值封装于数据包的包头预留字段中,或者在数据包的包头打上反映该权重值标签)发送给网络节点。网络节点收到带权重值的数据包后,根据其权重值将数据包入队列,该队列是网络节点的出端口对应的N个队列(例如队列1-4)的其中之一,每个队列对应一个队列权重值,网络节点可以将数据包的权重值和所有的队列权重值进行比较确定数据包要入队的队列(例如队列2)。
图2为本申请调度方法实施例一的流程图,如图2所示,本实施例的方法例如可以应用于图1所示的应用场景。调度方法可以包括:
201、端节点接收第一数据包。
第一数据包包括第一数据流的流量信息,第一数据流包括第一数据包。需要说明的是,第一数据包可以是第一数据流中的首包,此时第一数据包中携带的流量信息可以是整个第一数据流的流量信息,例如距离第一数据流最后期限(deadline,DDL)的时间。或者第一数据包也可以是第一数据流中的任意一个数据包,此时第一数据包中携带的流量信息可以是轮到第一数据包时表征第一数据流的流量处理情况的流量信息,例如,第一数据流的已发送字节数、第一数据流的未发送字节数等,也可以是整个第一数据流的流量信息,例如距离第一数据流DDL的时间。
202、端节点根据流量信息计算第一数据包的第一权重值。
本申请中端节点可以根据上述流量信息确定出第一数据流的调度策略,该调度策略例如可以是最短剩余时间优先(short remaining time first,SRTF)策略、发送最少的业务优先调度(least attained service,LAS)策略、DDL策略和公平队列(fairingqueuing,FQ)策略中的任意一种。示例性的,当流量信息包括第一数据流的未发送字节数时,端节点可以确定第一数据流的调度策略为SRTF策略;当流量信息包括第一数据流的已发送字节数时,端节点可以确定第一数据流的调度策略为LAS策略或者FQ策略;当流量信息包括第一数据流的未发送字节数和距离第一数据流DDL的时间,或者流量信息包括距离第一数据流DDL的时间时,端节点可以确定第一数据流的调度策略为DDL策略。
基于上述策略,端节点就可以根据第一数据流的调度策略计算第一数据包的第一权重值。示例性的,当调度策略为SRTF策略时,端节点根据第一数据流的未发送字节数计算第一数据包的第一权重值;当调度策略为LAS策略或者FQ策略时,端节点根据第一数据流的已发送字节数计算第一数据包的第一权重值;当调度策略为DDL策略时,端节点根据第一数据流的未发送字节数和距离第一数据流DDL的时间计算第一权重值,或者根据距离第一数据流DDL的时间计算第一数据包的第一权重值。
203、端节点将第一权重值封装在第一数据包中得到第二数据包。
端节点可以采用多种方式将第一权重值封装在第一数据包中,例如,端节点可以在第一数据包包头的预留字段中添加第一权重值;又例如,端节点可以在第一数据包的标签栈中打上标签,通过该标签表示第一权重值。
204、端节点向网络节点发送第二数据包。
205、网络节点根据第一权重值将第二数据包传输至第一队列。
第一队列为网络节点的出端口对应的N个队列的其中之一,N为正整数。本申请中网络节点可以先获取N个队列的权重值集合,该权重值集合包括N个队列权重值,其中,N个队列权重值按照值大小递增排列,N个队列和N个队列权重值对应。然后根据第一权重值确定第二权重值,该第二权重值为N个队列权重值中最接近第一权重值者,示例性的,网络节点可以根据N个队列权重值确定第一区间,该第一区间为(m1,m2),且m1<w<m2,其中,w表示第一权重值,m1表示N个队列权重值的其中之一,m2表示N个队列权重值中与m1相邻的且大于m1的值;计算w和m1的第一距离,w和m2的第二距离,第二权重值是第一距离和第二距离中较小者对应的队列权重值。例如可以通过公式
Figure BDA0002223831800000061
计算w和mi之间的距离,mi表示队列权重值。网络节点将第二权重值对应的队列确定为第一队列,将接收到的第二数据包传输至第一队列。
206、网络节点发送第二数据包。
网络节点可以在第二数据包到达第一队列的队头且第一队列被轮询到,亦即第二数据包被轮询到时,发送第二数据包。
在一种可能的实现方式中,网络节点可以计算第一队列中所有数据包的权重值之和,并根据第一队列中所有数据包的总个数和权重值之和计算第一队列的队列权重值。
本申请中,网络节点可以根据数据流的处理情况实时(每接收到一个数据包并将其入队后处理)或周期性(按照设定的周期处理)地对每个队列的权重值进行更新,例如,计算所有数据包的计算权重值之和/所有数据包的总个数得到对应队列的队列权重值。这样网络节点可以及时根据数据流的处理情况调整N个队列中的一个或多个的队列权重值,以便将数据包入队至合适的队列,提高数据包的调度效率。
本实施例,端节点根据数据包所属数据流的流量信息计算该数据包的权重值,该流量信息和采用的调度策略对应,网络节点根据权重值将数据包入队到合适的队列中完成数据包的调度,这样可以适用于多种调度策略,实现多种调度策略的灵活切换,满足多种业务需求,还可以提高数据包的调度效率。
图3示例性的示出了本申请调度方法的另一个应用场景示意图,如图3所示,该场景中包括网络节点,该网络节点包括交换机、路由器等。
本申请中,网络节点接收到待传输的数据包后,可以根据该数据包所属数据流的流量信息(例如,数据流的总字节数、数据流的已发送字节数、数据流的未发送字节数或者距离数据流DDL的时间等)确定该数据包的权重值,然后根据权重值将数据包入队列,该队列是网络节点的出端口对应的N个队列(例如队列1-4)的其中之一,每个队列对应一个队列权重值,网络节点可以将数据包的权重值和所有的队列权重值进行比较确定数据包要入队的队列(例如队列2)。
图4为本申请调度方法实施例二的流程图,如图4所示,本实施例的方法例如可以应用于图3所示的应用场景,由图3中的网络节点执行。调度方法可以包括:
401、接收第一数据包。
第一数据包包括第一数据流的流量信息,第一数据流包括第一数据包。需要说明的是,第一数据包可以是第一数据流中的首包,此时第一数据包中携带的流量信息可以是整个第一数据流的流量信息,例如距离第一数据流DDL的时间。或者第一数据包也可以是第一数据流中的任意一个数据包,此时第一数据包中携带的流量信息可以是轮到第一数据包时表征第一数据流的流量处理情况的流量信息,例如,第一数据流的已发送字节数、第一数据流的未发送字节数等,也可以是整个第一数据流的流量信息,例如距离第一数据流DDL的时间。
402、根据流量信息计算第一数据包的第一权重值。
本申请中网络节点可以根据上述流量信息确定出第一数据流的调度策略,该调度策略例如可以是最短剩余时间优先SRTF策略、LAS策略、DDL策略和公平队列FQ策略中的任意一种。示例性的,当流量信息包括第一数据流的未发送字节数时,网络节点可以确定第一数据流的调度策略为SRTF策略;当流量信息包括第一数据流的已发送字节数时,网络节点可以确定第一数据流的调度策略为LAS策略或者FQ策略;当流量信息包括第一数据流的未发送字节数和距离第一数据流DDL的时间,或者流量信息包括距离第一数据流DDL的时间时,网络节点可以确定第一数据流的调度策略为DDL策略。
基于上述策略,网络节点就可以根据第一数据流的调度策略计算第一数据包的第一权重值。示例性的,当调度策略为SRTF策略时,网络节点根据第一数据流的未发送字节数计算第一数据包的第一权重值;当调度策略为LAS策略或者FQ策略时,网络节点根据第一数据流的已发送字节数计算第一数据包的第一权重值;当调度策略为DDL策略时,网络节点根据第一数据流的未发送字节数和距离第一数据流DDL的时间计算第一权重值,或者根据距离第一数据流DDL的时间计算第一数据包的第一权重值。
403、根据第一权重值将第一数据包传输至第一队列。
第一队列为网络节点的出端口对应的N个队列的其中之一,N为正整数。本申请中网络节点可以先获取N个队列的权重值集合,该权重值集合包括N个队列权重值,其中,N个队列权重值按照值大小递增排列,N个队列和N个队列权重值对应。然后根据第一权重值确定第二权重值,该第二权重值为N个队列权重值中最接近第一权重值者,示例性的,网络节点可以根据N个队列权重值确定第一区间,该第一区间为(m1,m2),且m1<w<m2,其中,w表示第一权重值,m1表示N个队列权重值的其中之一,m2表示N个队列权重值中与m1相邻的且大于m1的值;计算w和m1的第一距离,w和m2的第二距离,第二权重值是第一距离和第二距离中较小者对应的队列权重值。例如可以通过公式
Figure BDA0002223831800000071
计算w和mi之间的距离,mi表示队列权重值。网络节点将第二权重值对应的队列确定为第一队列,将接收到的第一数据包传输至第一队列。
404、发送第一数据包。
网络节点可以在第一数据包到达第一队列的队头且第一队列被轮询到,亦即第一数据包被轮询到时,发送第一数据包。
在一种可能的实现方式中,网络节点可以计算第一队列中所有数据包的权重值之和,并根据第一队列中所有数据包的总个数和权重值之和计算第一队列的队列权重值。
本申请中,网络节点可以根据数据流的处理情况实时(每接收到一个数据包并将其入队后处理)或周期性(按照设定的周期处理)地对每个队列的权重值进行更新,例如,计算所有数据包的计算权重值之和/所有数据包的总个数得到对应队列的队列权重值。这样网络节点可以及时根据数据流的处理情况调整N个队列中的一个或多个的队列权重值,以便将数据包入队至合适的队列,提高数据包的调度效率。
本实施例,网络节点根据数据包所属数据流的流量信息计算该数据包的权重值,该流量信息和采用的调度策略对应,再根据权重值将数据包入队到合适的队列中完成数据包的调度,这样可以适用于多种调度策略,实现多种调度策略的灵活切换,满足多种业务需求,还可以提高数据包的调度效率。
图5为本申请装置实施例的结构示意图,如图5所示,本实施例的装置可以应用于图1中的端节点或网络节点,或者图3中的网络节点。本实施例的装置可以包括:接收模块501、处理模块502和发送模块503。
当装置应用于端节点时,所述接收模块501,用于接收第一数据包,所述第一数据包包括第一数据流的流量信息,所述第一数据流包括所述第一数据包;所述处理模块502,用于根据所述流量信息计算所述第一数据包的第一权重值;将所述第一权重值封装在所述第一数据包中得到第二数据包;所述发送模块503,用于发送所述第二数据包。
在一种可能的实现方式中,所述处理模块502,具体用于根据所述流量信息确定所述第一数据流的调度策略,所述调度策略包括最短剩余时间优先SRTF策略、LAS策略、最后期限DDL策略和公平队列FQ策略中的任意一种;根据所述调度策略计算所述第一权重值。
在一种可能的实现方式中,所述流量信息包括所述第一数据流的未发送字节数、所述第一数据流的已发送字节数和距离所述第一数据流DDL的时间中的至少一种;所述处理模块502,具体用于当所述流量信息包括所述第一数据流的未发送字节数时,确定所述调度策略为所述SRTF策略;当所述流量信息包括所述第一数据流的已发送字节数时,确定所述调度策略为所述LAS策略或者所述FQ策略;当所述流量信息包括所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间,或者所述流量信息包括所述距离所述第一数据流DDL的时间时,确定所述调度策略为所述DDL策略;
当所述调度策略为所述SRTF策略时,根据所述第一数据流的未发送字节数计算所述第一权重值;当所述调度策略为所述LAS策略或者所述FQ策略时,根据所述第一数据流的已发送字节数计算所述第一权重值;当所述调度策略为所述DDL策略时,根据所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间计算所述第一权重值,或者根据所述距离所述第一数据流DDL的时间计算所述第一权重值。
当装置应用于网络节点时,所述接收模块501,用于接收第二数据包,所述第二数据包包括第一权重值;所述处理模块502,用于根据所述第一权重值将所述第二数据包传输至第一队列,所述第一队列为出端口对应的N个队列的其中之一,N为正整数;所述发送模块503,用于发送所述第二数据包。
在一种可能的实现方式中,所述处理模块502,还用于获取所述N个队列的权重值集合,所述权重值集合包括N个队列权重值,所述N个队列权重值递增排列,所述N个队列和所述N个队列权重值对应;根据所述第一权重值确定第二权重值,所述第二权重值为所述N个队列权重值中最接近所述第一权重值者;将所述第二权重值对应的队列确定为所述第一队列。
在一种可能的实现方式中,所述处理模块502,具体用于根据所述N个队列权重值确定第一区间,所述第一区间为(m1,m2),且m1<w<m2,其中,w表示所述第一权重值,m1表示所述N个队列权重值的其中之一,m2表示所述N个队列权重值中与m1相邻的且大于m1的值;根据第一距离和第二距离确定所述第二权重值,所述第二权重值和所述第一距离和所述第二距离中较小者对应,所述第一距离为w和m1的距离,所述第二距离为w和m2的距离。
在一种可能的实现方式中,所述处理模块502,还用于计算所述第一队列中所有数据包的权重值之和,并根据所述第一队列中所有数据包的总个数和所述权重值之和计算所述第一队列的队列权重值。
本实施例的装置,可以用于执行图2-4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请提供的端节点的示意性结构图。如图6所示,端节点可以包括终端设备、服务器等。端节点600包括处理器601和收发器602。
可选地,端节点600还包括存储器603。其中,处理器601、收发器602和存储器603之间可以通过内部连接通路互相通信,传递控制信号和/或数据信号。
其中,存储器603用于存储计算机程序。处理器601用于执行存储器603中存储的计算机程序。
可选地,存储器603也可以集成在处理器601中,或者独立于处理器601。
可选地,端节点600还可以包括天线604,用于将收发器602输出的信号发射出去。或者,收发器602通过天线接收信号。
可选地,端节点600还可以包括电源605,用于给端节点中的各种器件或电路提供电源。
除此之外,为了使得端节点的功能更加完善,端节点600还可以包括输入单元606、显示单元607(也可以认为是输出单元)、音频电路608、摄像头609和传感器610等中的一个或多个。音频电路还可以包括扬声器6081、麦克风6082等,不再赘述。
图7为本申请提供的网络节点的示意性结构图。如图7所示,网络节点包括交换机、路由器等。网络节点700包括天线701、射频装置702、基带装置703。天线701与射频装置702连接。在上行方向上,射频装置702通过天线701接收来自终端设备的信号,并将接收到的信号发送给基带装置703进行处理。在下行方向上,基带装置703生成需要发送给终端设备的信号,并将生成的信号发送给射频装置702。射频装置702通过天线701将该信号发射出去。
基带装置703可以包括一个或多个处理单元7031。处理单元7031具体可以为处理器。
此外,基带装置703还可以包括一个或多个存储单元7032以及一个或多个通信接口7033。存储单元7032用于存储计算机程序和/或数据。通信接口7033用于与射频装置702交互信息。存储单元7032具体可以为存储器,通信接口7033可以为输入输出接口或者收发电路。
可选地,存储单元7032可以是和处理单元7031处于同一芯片上的存储单元,即片内存储单元,也可以是与处理单元7031处于不同芯片上的存储单元,即片外存储单元。本申请对此不作限定。
在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signalprocessor,DSP)、特定应用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种调度方法,其特征在于,包括:
接收第一数据包,所述第一数据包包括第一数据流的流量信息,所述第一数据流包括所述第一数据包;
根据所述流量信息计算所述第一数据包的第一权重值;
将所述第一权重值封装在所述第一数据包中得到第二数据包;
发送所述第二数据包。
2.根据权利要求1所述的方法,其特征在于,所述根据所述流量信息计算所述第一数据包的第一权重值,包括:
根据所述流量信息确定所述第一数据流的调度策略,所述调度策略包括最短剩余时间优先SRTF策略、发送最少的业务优先调度LAS策略、最后期限DDL策略和公平队列FQ策略中的任意一种;
根据所述调度策略计算所述第一权重值。
3.根据权利要求2所述的方法,其特征在于,所述流量信息包括所述第一数据流的未发送字节数、所述第一数据流的已发送字节数和距离所述第一数据流DDL的时间中的至少一种;
所述根据所述流量信息确定所述第一数据流的调度策略,包括:
当所述流量信息包括所述第一数据流的未发送字节数时,确定所述调度策略为所述SRTF策略;
当所述流量信息包括所述第一数据流的已发送字节数时,确定所述调度策略为所述LAS策略或者所述FQ策略;
当所述流量信息包括所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间,或者所述流量信息包括所述距离所述第一数据流DDL的时间时,确定所述调度策略为所述DDL策略;
所述根据所述调度策略计算所述第一权重值,包括:
当所述调度策略为所述SRTF策略时,根据所述第一数据流的未发送字节数计算所述第一权重值;
当所述调度策略为所述LAS策略或者所述FQ策略时,根据所述第一数据流的已发送字节数计算所述第一权重值;
当所述调度策略为所述DDL策略时,根据所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间计算所述第一权重值,或者根据所述距离所述第一数据流DDL的时间计算所述第一权重值。
4.一种调度方法,其特征在于,包括:
接收第二数据包,所述第二数据包包括第一权重值;
根据所述第一权重值将所述第二数据包传输至第一队列,所述第一队列为出端口对应的N个队列的其中之一,N为正整数;
发送所述第二数据包。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一权重值将所述第二数据包传输至第一队列之前,还包括:
获取所述N个队列的权重值集合,所述权重值集合包括N个队列权重值,所述N个队列权重值递增排列,所述N个队列和所述N个队列权重值对应;
根据所述第一权重值确定第二权重值,所述第二权重值为所述N个队列权重值中最接近所述第一权重值者;
将所述第二权重值对应的队列确定为所述第一队列。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一权重值确定第二权重值,包括:
根据所述N个队列权重值确定第一区间,所述第一区间为(m1,m2),且m1<w<m2,其中,w表示所述第一权重值,m1表示所述N个队列权重值的其中之一,m2表示所述N个队列权重值中与m1相邻的且大于m1的值;
根据第一距离和第二距离确定所述第二权重值,所述第二权重值和所述第一距离和所述第二距离中较小者对应,所述第一距离为w和m1的距离,所述第二距离为w和m2的距离。
7.根据权利要求4-6中任一项所述的方法,其特征在于,还包括:
计算所述第一队列中所有数据包的权重值之和,并根据所述第一队列中所有数据包的总个数和所述权重值之和计算所述第一队列的队列权重值。
8.一种装置,其特征在于,包括:
接收模块,用于接收第一数据包,所述第一数据包包括第一数据流的流量信息,所述第一数据流包括所述第一数据包;
处理模块,用于根据所述流量信息计算所述第一数据包的第一权重值;将所述第一权重值封装在所述第一数据包中得到第二数据包;
发送模块,用于发送所述第二数据包。
9.根据权利要求8所述的装置,其特征在于,所述处理模块,具体用于根据所述流量信息确定所述第一数据流的调度策略,所述调度策略包括最短剩余时间优先SRTF策略、发送最少的业务优先调度LAS策略、最后期限DDL策略和公平队列FQ策略中的任意一种;根据所述调度策略计算所述第一权重值。
10.根据权利要求9所述的方法,其特征在于,所述流量信息包括所述第一数据流的未发送字节数、所述第一数据流的已发送字节数和距离所述第一数据流DDL的时间中的至少一种;所述处理模块,具体用于当所述流量信息包括所述第一数据流的未发送字节数时,确定所述调度策略为所述SRTF策略;当所述流量信息包括所述第一数据流的已发送字节数时,确定所述调度策略为所述LAS策略或者所述FQ策略;当所述流量信息包括所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间,或者所述流量信息包括所述距离所述第一数据流DDL的时间时,确定所述调度策略为所述DDL策略;
当所述调度策略为所述SRTF策略时,根据所述第一数据流的未发送字节数计算所述第一权重值;当所述调度策略为所述LAS策略或者所述FQ策略时,根据所述第一数据流的已发送字节数计算所述第一权重值;当所述调度策略为所述DDL策略时,根据所述第一数据流的未发送字节数和所述距离所述第一数据流DDL的时间计算所述第一权重值,或者根据所述距离所述第一数据流DDL的时间计算所述第一权重值。
11.一种装置,其特征在于,包括:
接收模块,用于接收第二数据包,所述第二数据包包括第一权重值;
处理模块,用于根据所述第一权重值将所述第二数据包传输至第一队列,所述第一队列为出端口对应的N个队列的其中之一,N为正整数;
发送模块,用于发送所述第二数据包。
12.根据权利要求11所述的装置,其特征在于,所述处理模块,还用于获取所述N个队列的权重值集合,所述权重值集合包括N个队列权重值,所述N个队列权重值递增排列,所述N个队列和所述N个队列权重值对应;根据所述第一权重值确定第二权重值,所述第二权重值为所述N个队列权重值中最接近所述第一权重值者;将所述第二权重值对应的队列确定为所述第一队列。
13.根据权利要求12所述的装置,其特征在于,所述处理模块,具体用于根据所述N个队列权重值确定第一区间,所述第一区间为(m1,m2),且m1<w<m2,其中,w表示所述第一权重值,m1表示所述N个队列权重值的其中之一,m2表示所述N个队列权重值中与m1相邻的且大于m1的值;根据第一距离和第二距离确定所述第二权重值,所述第二权重值和所述第一距离和所述第二距离中较小者对应,所述第一距离为w和m1的距离,所述第二距离为w和m2的距离。
14.根据权利要求11-13中任一项所述的装置,其特征在于,所述处理模块,还用于计算所述第一队列中所有数据包的权重值之和,并根据所述第一队列中所有数据包的总个数和所述权重值之和计算所述第一队列的队列权重值。
CN201910944756.4A 2019-09-30 2019-09-30 调度方法和装置 Pending CN112583739A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910944756.4A CN112583739A (zh) 2019-09-30 2019-09-30 调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910944756.4A CN112583739A (zh) 2019-09-30 2019-09-30 调度方法和装置

Publications (1)

Publication Number Publication Date
CN112583739A true CN112583739A (zh) 2021-03-30

Family

ID=75117291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910944756.4A Pending CN112583739A (zh) 2019-09-30 2019-09-30 调度方法和装置

Country Status (1)

Country Link
CN (1) CN112583739A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103476062A (zh) * 2012-06-06 2013-12-25 华为技术有限公司 一种数据流调度的方法、设备和系统
WO2015096362A1 (zh) * 2013-12-25 2015-07-02 深圳市中兴微电子技术有限公司 一种流量整形中添加令牌的方法及装置
CN105681931A (zh) * 2016-01-12 2016-06-15 清华大学 一种基于无线网络的视频数据包传输方法及系统
CN107182090A (zh) * 2016-03-11 2017-09-19 维布络有限公司 无线宽带网络中数据包自适应调度方法和系统
CN110138679A (zh) * 2019-04-03 2019-08-16 北京旷视科技有限公司 数据流调度方法及装置
CN110213178A (zh) * 2018-05-31 2019-09-06 腾讯科技(深圳)有限公司 流量管理方法、集成芯片、及装置
CN110290178A (zh) * 2019-05-30 2019-09-27 厦门网宿有限公司 一种数据流的调度方法、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103476062A (zh) * 2012-06-06 2013-12-25 华为技术有限公司 一种数据流调度的方法、设备和系统
WO2015096362A1 (zh) * 2013-12-25 2015-07-02 深圳市中兴微电子技术有限公司 一种流量整形中添加令牌的方法及装置
CN105681931A (zh) * 2016-01-12 2016-06-15 清华大学 一种基于无线网络的视频数据包传输方法及系统
CN107182090A (zh) * 2016-03-11 2017-09-19 维布络有限公司 无线宽带网络中数据包自适应调度方法和系统
CN110213178A (zh) * 2018-05-31 2019-09-06 腾讯科技(深圳)有限公司 流量管理方法、集成芯片、及装置
CN110138679A (zh) * 2019-04-03 2019-08-16 北京旷视科技有限公司 数据流调度方法及装置
CN110290178A (zh) * 2019-05-30 2019-09-27 厦门网宿有限公司 一种数据流的调度方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107196877B (zh) 网络流量控制的方法及其网络设备
US9722942B2 (en) Communication device and packet scheduling method
US7688734B2 (en) Scheduling incoming packet traffic on an output link of a network device associated with a data network
US7978609B2 (en) Systems and methods for improving packet scheduling accuracy
KR100716184B1 (ko) 네트워크 프로세서에서의 큐 관리 방법 및 그 장치
US10425347B2 (en) Scheduling of packets in network devices
JP3784049B2 (ja) 切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム
US20060256723A1 (en) Scheduling incoming packet traffic on an output link of a network device associated with a data network
US9608927B2 (en) Packet exchanging device, transmission apparatus, and packet scheduling method
CN112448896B (zh) 确定性网络中的发送周期的确定方法和装置
US8379518B2 (en) Multi-stage scheduler with processor resource and bandwidth resource allocation
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
KR101737516B1 (ko) 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치
US10044632B2 (en) Systems and methods for adaptive credit-based flow
WO2020026983A1 (ja) パケット転送装置、方法、及びプログラム
Patel et al. Design and implementation of low latency weighted round Robin (LL-WRR) scheduling for high speed networks
CN112583739A (zh) 调度方法和装置
CN112751776A (zh) 拥塞控制方法和相关装置
US8467401B1 (en) Scheduling variable length packets
US7680124B2 (en) Frame mapping scheduler for scheduling data blocks using a mapping table and a weight table
US6862292B1 (en) Method and system for network processor scheduling outputs based on multiple calendars
Fonda et al. Adaptive distributed fair scheduling and its implementation in wireless sensor networks
Tokmakov et al. A case for data centre traffic management on software programmable ethernet switches
CN114448903A (zh) 一种报文处理方法、装置和通信设备
US8693491B2 (en) Packet transmission device, signal terminating device, communication system, and communication method

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