CN115396384B - 一种数据包调度方法、系统及存储介质 - Google Patents

一种数据包调度方法、系统及存储介质 Download PDF

Info

Publication number
CN115396384B
CN115396384B CN202210903862.XA CN202210903862A CN115396384B CN 115396384 B CN115396384 B CN 115396384B CN 202210903862 A CN202210903862 A CN 202210903862A CN 115396384 B CN115396384 B CN 115396384B
Authority
CN
China
Prior art keywords
data packet
data
sliding window
packet
access control
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
Application number
CN202210903862.XA
Other languages
English (en)
Other versions
CN115396384A (zh
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.)
Guangdong Polytechnic Normal University
Original Assignee
Guangdong Polytechnic Normal University
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 Guangdong Polytechnic Normal University filed Critical Guangdong Polytechnic Normal University
Priority to CN202210903862.XA priority Critical patent/CN115396384B/zh
Publication of CN115396384A publication Critical patent/CN115396384A/zh
Application granted granted Critical
Publication of CN115396384B publication Critical patent/CN115396384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/622Queue service order

Landscapes

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

Abstract

本发明公开了一种数据包调度方法、系统及存储介质,方法包括:数据包入队控制过程中,将数据包放入队列尾部并更新滑动窗口;或者,从数据包的包头读取数据包信息,确定数据包的接入控制等级、数据包的接入权重、数据包所属数据流的动态系统容量,当数据包所属数据流在当前队列内的业务量之和低于该数据包所属数据流的动态系统容量,将数据包放入队列尾部并更新滑动窗口;数据包出队调度过程中,当出队调度系统处于空闲时,当队列有数据包等待发送时,从队列的头部选择一个数据包出队。本发明能够减少调度系统出口调度的算法复杂度,为数据流提供基于延迟的差分服务,满足物联网应用的多样化延迟要求,可广泛应用于通信技术领域。

Description

一种数据包调度方法、系统及存储介质
技术领域
本发明涉及通信技术领域,尤其是一种数据包调度方法、系统及存储介质。
背景技术
随着5G商用的推进和6G预研的展开,以及大视频、大数据、物联网等业务的蓬勃发展,涌现了大量新兴的物联网应用,例如,虚拟现实、自动驾驶、智能家居、智慧工厂等等。这些应用对网络延迟非常敏感,例如,自动驾驶要求1毫秒内的端到端延迟,否则驾驶危险系数随着延迟的上升呈指数级别增长,虚拟现实的端到端延迟越低,用户体验越高等等。然而,与海量的数据流相比,网络节点的带宽仍然非常有限。尤其,由于物联网数据流的动态性,在网络流量突发时期涌入网络的瞬时流量远远高于网络节点的带宽容量,此时,数据包调度方法对数据流的网络服务性能尤其延迟性能具有重要的影响。
数据包调度方法一直是通信网络研究的重点。已有研究学者提出了严格优先级(Strict priority,SP)、最早截止时间优先(Earl iest deadl ine first,EDF)、最短剩余处理时间优先(Shortest remaining processing time,SRPT)等数据包调度算法。然而,严格优先级调度算法会使得低优先级数据流经历较长的排队延迟甚至“饿死”的现象,即,当高优先级的数据流不断涌入时,低优先级数据流几乎没有被调度的机会。最早截止时间优先算法和最短剩余处理时间优先调度算法在业务特性接近(例如,业务到达率、延迟要求等的差异性不大)的业务流场景中具有较好的延迟性能。然而,由于大视频、大数据和物联网应用共存于网络中,网络中的业务流往往是混合流,即,既有业务到达率较为稳定、延迟要求非常严格的短、小数据流,也有业务突发性强、延迟要求较为松弛(例如,大于200毫秒)的“大象”流。最早截止期优先算法和最短剩余处理时间优先调度算法都会使得“大象”流经历较长的排队延迟甚至“饿死”。此外,最早截止期优先算法和最短剩余处理时间优先调度算法都要求在网络节点的出口中快速计算队列中所有数据包的截止时间或剩余处理时间,而且需要对队列中的数据包进行重新排序,由于数据包调度往往是纳秒级别的调度,因此要求出口中的决策模块进行纳秒级别的最早截止期优先调度计算和最短剩余处理时间优先调度计算。然而,当前的交换机/路由器集成电路芯片技术仍难以满足上述纳秒级别的算法实现要求,因此,最早截止期优先算法和最短剩余处理时间优先调度算法目前仍处于概念化阶段。
为了减少/避免网络节点的拥塞,降低数据包的排队延迟,也有研究学者提出了主动队列管理机制,即,设置队列的阈值长度,当调度系统中的队列长度接近或者超过阈值时,随机丢弃队列尾部或新到达的数据包。但是,目前的方法没有区分数据包的优先级,也没有考虑各类数据包的服务率,因此,未能满足延迟敏感型应用的差异化的服务要求。
网络节点的接入控制是指根据网络节点的数据包调度系统的状态来确定是否允许新到达的数据包进入调度队列,可以认为是主动队列管理的一种变体。但区别在于,接入控制的决策考虑数据包的服务质量要求。因此,可以结合接入控制来设计面向延迟敏感型应用的数据包调度方法。然而,由于大、小数据流共存,业务流的业务特性多样化、动态化,延迟要求多样化、宽泛化,基于接入控制的数据包调度方法设计面临极大的挑战。
发明内容
有鉴于此,本发明实施例提供一种复杂度低的数据包调度方法、系统及存储介质,能够为数据流提供基于延迟的差分服务,满足物联网应用的多样化延迟要求。
本发明实施例的一方面提供了一种数据包调度方法,包括数据包入队控制过程和数据包出队调度过程;
所述数据包入队控制过程包括:
获取新到达的数据包;
当所述数据包的滑动窗口长度小于滑动窗口阈值时,允许所述数据包入队,将数据包放入队列尾部,并更新滑动窗口,完成入队控制过程;
当所述数据包的滑动窗口长度大于或等于滑动窗口阈值时,从数据包的包头读取数据包信息,确定所述数据包的接入控制等级,确定所述数据包的接入权重,确定所述数据包所属数据流的动态系统容量,判断所述数据包所属数据流在当前队列内的业务量之和是否低于该数据包所属数据流的动态系统容量,若是,则允许所述数据包入队,将数据包放入队列尾部,并更新滑动窗口,完成入队控制过程;
所述数据包出队调度过程包括:
当出队调度系统处于空闲时,判断队列是否有数据包等待发送,若是,则从队列的头部选择一个数据包出队。
可选地,所述滑动窗口用于表示调度系统记录的最新的有限个允许入队的数据包的信息;
每一个所述滑动窗口对应一个更新的允许入队的数据包;
每一个窗口的信息包括所述数据包所属数据流标识、所述数据包的接入控制等级和数据包大小;
所述滑动窗口阈值表示所述系统可记录的最新的允许入队的数据包的最大数量。
可选地,所述数据包的信息包含数据包所属数据流标识、数据包大小、可容忍的最大延迟。
可选地,所述确定所述数据包的接入控制等级,包括:
当数据包的包头信息中包含数据包的优先级时,所述数据包的接入控制等级为所述优先级;
当数据包的包头信息中不包含数据包的优先级时,将系统的接入控制等级划分为有限个等级,每一个等级对应一定范围的延迟要求,不同等级之间的延迟范围不重叠;各等级之间的延迟要求按升序排列;根据所述数据包的可容忍的最大延迟查找对应的接入控制等级,所找到的接入控制等级的延迟范围包含所述数据包可容忍的最大延迟。
可选地,所述确定所述数据包的接入权重,具体包括:
从滑动窗口中查找与所述数据包的接入控制等级相同的窗口,统计该窗口的数据包大小之和;
根据所述窗口数据包大小之和与系统的滑动窗口总数据包大小之和的比值,确定所述数据包的接入权重。
可选地,所述确定所述数据包所属数据流的动态系统容量,具体包括:
判断所述数据包的接入权重是否不为零:若是,则通过第一公式确定所述数据包所属数据流的动态系统容量;反之,则通过第二公式确定所述数据包所属数据流的动态系统容量;
其中,所述第一公式的表达式为:
所述第二公式的表达式为:
Wk=ak×C×Dk
其中,Wk表示所述数据包所属数据流的动态系统容量;k表示所述数据包的接入控制等级;自然数ak(0<ak<1)表示接入控制等级k的冗余容量系数;自然数ωk表示所述数据包的接入权重;自然数C表示所述系统的带宽;自然数Dk表示所述数据包可容忍的最大延迟。
可选地,所述更新滑动窗口,具体包括:
确定当前待更新的滑动窗口位置,更新所述滑动窗口位置的窗口信息;
其中,所述更新所述滑动窗口位置的窗口信息,包括:
将滑动窗口的流标识更新为新入队的数据包所属数据流的标识、将滑动窗口的接入控制等级更新为新入队的数据包的接入控制等级、将滑动窗口的数据包大小更新为新入队的数据包的大小;判断当前的滑动窗口长度是否小于滑动窗口阈值:若是则将滑动窗口长度加1;反之则控制滑动窗口长度不变;
所述确定当前待更新的滑动窗口位置,包括:
查找上次更新的滑动窗口的位置,将该位置值加1;判断所述位置值是否大于滑动窗口阈值:若是则将第1个窗口作为当前待更新的滑动窗口位置;反之则将所述位置值所对应的窗口作为当前待更新的滑动窗口位置。
本发明实施例的另一方面还提供了一种数据包调度系统,包括:
数据包入队控制模块,用于实现如前面所述的数据包调度方法中的数据包入队控制过程所执行的步骤;
数据包出队调度模块,用于实现如前面所述的数据包调度方法中的数据包出队调度过程所执行的步骤;
滑动窗口管理模块,用于记录和更新滑动窗口。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例提供了数据包入队控制过程和数据包出队调度过程,所述数据包入队控制过程包括:获取新到达的数据包;当所述数据包的滑动窗口长度小于滑动窗口阈值时,允许所述数据包入队,将数据包放入队列尾部,并更新滑动窗口,完成入队控制过程;当所述数据包的滑动窗口长度大于或等于滑动窗口阈值时,从数据包的包头读取数据包信息,确定所述数据包的接入控制等级,确定所述数据包的接入权重,确定所述数据包所属数据流的动态系统容量,判断所述数据包所属数据流在当前队列内的业务量之和是否低于该数据包所属数据流的动态系统容量,若是,则允许所述数据包入队,将数据包放入队列尾部,并更新滑动窗口,完成入队控制过程;所述数据包出队调度过程包括:当出队调度系统处于空闲时,判断队列是否有数据包等待发送,若是,则从队列的头部选择一个数据包出队。本发明能够减少调度系统出口调度的算法复杂度,为数据流提供基于延迟的差分服务,满足物联网应用的多样化延迟要求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据包调度方法的流程图;
图2是本发明实施例提供的一种数据包调度方法的数据包入队控制流程图;
图3是本发明实施例提供的一种数据包调度方法的数据包出队流程图;
图4是本发明实施例提供的一种数据包调度方法的数据包队列结构示意图;
图5是本发明实施例提供的一种数据包调度方法的滑动窗口第一示意图;
图6是本发明实施例提供的一种数据包调度方法的滑动窗口第二示意图;
图7是本发明实施例提供的一种数据包调度方法的队列状态示意图;
图8是本发明实施例提供的一种数据包调度模型示意图;
图9是本发明所提供的数据包调度方法与EDF和SRPT的有效吞吐量第一对比图;
图10是本发明所提供的数据包调度方法与EDF和SRPT的有效吞吐量第二对比图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明实施例提供了一种基于接入控制的数据包调度方法,包括数据包入队控制和数据包出队调度过程。服务系统的数据包队列仅由一个队列构成。数据包到达服务系统,触发数据包入队控制过程;服务系统有数据包等待发送,触发数据包出队过程。
所述数据包入队控制过程包括如下步骤:
步骤S101:新数据包到达系统;
步骤S102:判断滑动窗口长度是否小于滑动窗口阈值:是,允许所述数据包入队,跳往步骤S108;否,则前往步骤S103;
步骤S103:从数据包的包头读取数据包信息,前往步骤S104;
步骤S104:确定所述数据包的接入控制等级,前往步骤S105;
步骤S105:确定所述数据包的接入权重,前往步骤S106;
步骤S106:确定所述数据包所属数据流的动态系统容量,前往步骤S107;
步骤S107:判断所述数据包所属数据流在当前队列内的业务量之和是否低于该数据包所属数据流的动态系统容量:是,允许所述数据包入队,前往步骤S108;否,则丢弃所述数据包,跳往步骤S109;
步骤S108:将数据包放入队列尾部,并更新滑动窗口,前往步骤S110;
步骤S109:丢弃所述数据包,前往步骤S110;
步骤S110:入队控制过程结束;
所述数据包出队过程具体包括如下出队步骤:
步骤S201:开始数据包出队过程;
步骤S202:判断出队调度系统是否空闲:是,前往步骤S203;否,则等待系统空闲;
步骤S203:判断队列是否有数据包等待发送:是,则前往步骤S204;否,则跳往步骤S205;
步骤S204:选择队列头部的一个数据包出队,前往步骤S205;
步骤S205:本数据包出队过程结束。
本发明提供的基于接入控制的数据包调度方法,所述滑动窗口表示所述调度系统记录的最新的有限个允许入队的数据包的信息,每一个窗口对应一个更新的允许入队的数据包,每一个窗口的信息包括所述数据包所属数据流标识、所述数据包的接入控制等级和数据包大小;滑动窗口阈值表示所述系统可记录的最新的允许入队的数据包的最大数量。
本发明提供的基于接入控制的数据包调度方法,所述数据包信息包含数据包所属数据流标识、数据包大小、可容忍的最大延迟。
本发明提供的基于接入控制的数据包调度方法,所述确定所述数据包的接入控制等级的方法为:判断数据包的包头信息中是否包含数据包的优先级:是,则所述数据包的接入控制等级为所述优先级;否,则按如下方法确定所述数据包的优先级:将系统的接入控制等级划分为有限个等级,一个等级对应一定范围的延迟要求,不同等级之间的延迟范围不重叠;各等级之间的延迟要求按升序排列,即,优先级数字小的接入控制等级的延迟范围数值不大于优先级数字大的接入控制等级的延迟范围;根据所述数据包的可容忍的最大延迟查找其对应的接入控制等级,所找到的接入控制等级的延迟范围包含所述数据包可容忍的最大延迟。
本发明提供的基于接入控制的数据包调度方法,所述确定所述数据包的接入权重的方法为:从滑动窗口中查找与所述数据包的接入控制等级相同的窗口,统计所述窗口的数据包大小之和;则所述数据包的接入权重是所述窗口数据包大小之和与系统的滑动窗口总数据包大小之和的比值,即,所述数据包的接入权重通过公式表示,其中,k表示所述数据包的接入控制等级,Sk表示滑动窗口中接入控制等级为k的窗口的数据包大小之和,S表示系统的滑动窗口总数据包大小之和。
本发明提供的高能效低延迟的计算迁移方法,所述确定所述数据包所属数据流的动态系统容量的方法为:判断所述数据包的接入权重是否不为零:是,则所述数据包所属数据流的动态系统容量通过公式确定;否,则所述数据包所属数据流的动态系统容量通过公式Wk=ak×C×Dk确定,其中,Wk表示所述数据包所属数据流的动态系统容量;k表示所述数据包的接入控制等级;自然数ak(0<ak<1)表示接入控制等级k的冗余容量系数;自然数ωk表示所述数据包的接入权重;自然数C表示所述系统的带宽;自然数Dk表示所述数据包可容忍的最大延迟。
本发明提供的基于接入控制的数据包调度方法,所述更新滑动窗口的方法为:确定当前待更新的滑动窗口位置;更新所述位置的窗口信息,包括:将所述窗口的流标识更新为所述新入队的数据包所属数据流的标识、将所述窗口的接入控制等级更新为所述新入队的数据包的接入控制等级、将所述窗口的数据包大小更新为所述新入队的数据包的大小;判断当前的滑动窗口长度是否小于滑动窗口阈值:是,则滑动窗口长度加1;否,则滑动窗口长度不变;
其中,确定当前更新的滑动窗口位置的方法为:查找上次更新的滑动窗口的位置,将所述位置值加1并记为pt;判断所述位置值pt是否大于滑动窗口阈值:是,则将第1个窗口作为当前待更新的滑动窗口位置;否,则将所述位置值pt所对应的窗口作为当前待更新的滑动窗口位置。
下面结合说明书附图,对本发明的具体实施过程进行详细描述:
图1是本发明实施例提供的一种基于接入控制的数据包调度方法的流程示意图,如图1所示,所示方法包括数据包入队控制和数据包出队调度过程;数据包到达系统,触发数据包入队控制过程;服务系统有数据包等待发送,触发数据包出队过程。
如图2所示,一个新的数据包到达服务系统,触发数据包入队控制过程,包括如下步骤:
步骤S101:新数据包到达系统。
步骤S102:判断滑动窗口长度l是否小于滑动窗口阈值L:是,允许所述数据包入队,跳往步骤S108;否,则前往步骤S103。
步骤S103:从数据包的包头读取数据包信息,前往步骤S104;
步骤S104:确定所述数据包的接入控制等级r,前往步骤S105;
步骤S105:确定所述数据包的接入权重w,前往步骤S106;
步骤S106:确定所述数据包所属数据流的动态系统容量Wr(t),前往步骤S107;
步骤S107:判断所述数据包所属数据流在当前队列内的业务量之和Qr(t)是否低于该数据包所属数据流的动态系统容量Wr(t):是,允许所述数据包入队,前往步骤S108;否,则丢弃所述数据包,跳往步骤S109;
步骤S108:将数据包放入队列尾部,并更新滑动窗口,前往步骤S110;
步骤S109:丢弃所述数据包,前往步骤S110;
步骤S110:入队控制过程结束。
如图3所示,系统有数据包等待发送,触发数据包出队过程,包括如下步骤:
步骤S201:开始数据包出队过程;
步骤S202:判断出队调度系统是否空闲:是,前往步骤S203;否,则等待系统空闲;
步骤S203:判断队列是否有数据包等待发送:是,则前往步骤S204;否,则跳往步骤S205;
步骤S204:选择队列头部的一个数据包出队,前往步骤S205;
步骤S205:本数据包出队过程结束。
实施例2
图4是本发明实施例提供的一种基于接入控制的数据包调度方法的数据包队列结构。如图4所示,服务系统仅有一个数据包队列;结合图1、图2、图3和图4,当有数据包到达服务系统,服务系统触发数据包入队控制过程,判断是否允许数据包入队:是,则将数据包放入队列的尾部;否,则丢弃数据包;在出队调度过程,则触发数据包出队过程,判断系统是否空闲,若是,进一步判断队列是否有数据包等待发送,是:则选择队列头部的数据包出队调度;否,则等待系统空闲或等待数据包进入服务系统。
实施例3
图5和图6分别是本发明实施例提供的一种基于接入控制的数据包调度方法的滑动窗口第一和第二示意性框图。图5是滑动窗口长度l小于滑动窗口阈值L的示意性框图。如图3所示,截至时刻t之前,系统已经允许13个数据包入队,即,当前的滑动窗口长度为13;窗口<win:0>是第一个滑动窗口,最新更新的窗口为<win:12>;每个窗口中保存了对应的允许入队的数据包的信息,包括:流标识<fid:x>、接入控制等级<r:y>、数据包大小<size:z>,其中,变量x、y、z由数据包的具体信息确定。图5是滑动窗口长度等于滑动窗口阈值L的示意性框图。图6表示了在时刻t,系统所记录的最新的L个窗口信息,其中,最新更新的窗口为<win:9>,最旧的更新的窗口是<win:10>。
实施例4
结合图1、图2、图3、图4、图6和图7,举例说明新数据包在接入控制过程中被丢弃:设在时刻t,系统的滑动窗口如图6所示。设在时刻t,数据包p到达系统,数据包的信息为:数据包所属数据流标识为<fid=1>、数据包的大小为1、最大可容忍的延迟为Dp=5时隙;
假设数据包的包头信息中没有包含优先级,进一步设系统将接入控制等级划分为N级,等级1的延迟范围为(3,4]时隙、等级2的延迟范围为(4,6]时隙,则由于数据包p可容忍的延迟为5时隙,所以其接入控制等级r=2;
则所述数据包p的接入权重w计算方法为:查找图6所示滑动窗口中接入控制等级为r=2的窗口,即,查找到的窗口为<win:0>、<win:6>、<win:7>,这三个窗口的数据包大小之和为S2=6,而滑动窗口总的数据包大小为S=44,则所述数据包p的接入权重ωp=S2/S=0.136;
假设系统的带宽为C=1.5,接入控制等级2的冗余容量系数为a2=0.1,则数据包p所属数据流(即,f id=1的数据流)的动态系统容量为
假设在时刻t、在滑动窗口如图6所示下的队列状态如图7所示,则数据包p所属数据流在当前队列内的业务量之和为Q2(t)=3,大于W2(t),因此丢弃该数据包p。
实施例5
结合图1、图2、图3、图4、图6和图7,举例说明新数据包在接入控制过程中被允许接入:设在时刻t,系统的滑动窗口如图6所示。设在时刻t,数据包f到达系统,数据包的信息为:数据包所属数据流标识为<fid=3>、数据包的大小为2、最大可容忍的延迟为Df=15时隙;
假设数据包的包头信息中没有包含优先级,进一步设系统将接入控制等级划分为N级,等级1的延迟范围为(3,4]时隙、等级2的延迟范围为(4,6]时隙,等级5的延迟范围为(12,16]时隙,则由于数据包f可容忍的延迟为15时隙,所以其接入控制等级r=5;
则所述数据包f的接入权重w计算方法为:查找图6所示滑动窗口中接入控制等级为r=5的窗口,即,查找到的窗口为<win:2>、<win:4>、<win:10>、<win:15>,这四个窗口的数据包大小之和为S5=8,而滑动窗口总的数据包大小为S=44,则所述数据包f的接入权重ωf=S5/S=0.18;
假设系统的带宽为C=1.5,接入控制等级5的冗余容量系数为a5=0.1,则数据包f所属数据流(即,f id=3的数据流)的动态系统容量为
假设在时刻t、在滑动窗口如图6所示下的队列状态如图7所示,则数据包f所属数据流在当前队列内的业务量之和为Q5(t)=3,小于W5(t),因此允许数据包f入队,将数据包放入图7所示队列的尾部,并将图6所示的窗口<win:10>更新为<win:10,fid:3,r:5,s ize:2>。
实施例6
如图8所示,本实施例提供了一种基于接入控制的数据包调度系统,所述系统可以设置在网络数据包转发节点上,包括:
数据包接入控制模块100,用于新数据的入队控制;
数据包出队调度模块200,用于服务系统的数据包出队调度;
滑动窗口管理模块300,用于记录和更新滑动窗口。
所述系统的工作过程如下:有新数据包到达系统,启动数据包入队控制模块100,访问滑动窗口管理模块300,访问滑动窗口管理模块300返回滑动窗口的长度和滑动窗口阈值给数据包入队控制模块100,数据包入队控制模块100进一步判断滑动窗口长度是否小于滑动窗口阈值,若是,则允许数据包入队,将数据包放入队列的尾部,并通过滑动窗口管理模块300更新滑动窗口;若否,则数据包入队控制模块100进一步从数据包包头读取数据包信息,确定数据包的接入控制等级,将数据包的控制等级发送给滑动窗口管理模块300,滑动窗口管理模块300确定所述数据包的接入权重并返回给数据包入队控制模块100,数据包入队控制模块100进一步确定所述数据包所属数据流的动态系统容量,然后判断数据包所属数据流在当前队列内的业务量之和是否低于所述动态系统容量,若是,则允许数据包入队,将数据包放入队列的尾部,并通过滑动窗口管理模块300更新滑动窗口;若否,则丢弃所述数据包;当系统有数据包等待发送,启动数据包出队调度模块200,选择队列头部的数据包出队调度。
本发明的效果可以通过以下仿真结果进一步说明:
1.仿真条件
采用Matlab评估本发明所提的基于接入控制的数据包调度方法的延迟性能。采用如图4所示的队列结构,设置两种业务场景:(场景一)设置4个数据流,数据流f1-f4均为业务到达率服从泊松分布的数据流,数据流f1-f4的平均到达率分别为λ1=1.2、λ2=0.8、λ3=1.8、λ4=1.5,数据流f1-f4的可容忍延迟分别为3、2、6、5时隙,系统设置4个接入控制等级,根据数据流的延迟要求,数据流f1-f4对应的接入控制等级分别为2、1、4、3;所有接入控制等级的冗余容量系数都设置为0.1;(场景二)设置4个数据流,数据流f1、f2是业务到达率服从泊松分布的小流,f3、f4是业务到达率服从重尾分布的大流,数据流f1-f4的平均到达率分别为λ1=1.0、λ2=0.8、λ3=0.75、λ4=2,数据流f3和f4的重尾指数分别为1.5和1.25,数据流f1和f2的重尾指数大于2,数据流f1-f4的可容忍延迟分别为10、5、50、80时隙,系统设置4个接入控制等级,根据数据流的延迟要求,数据流f1-f4对应的接入控制等级分别为2、1、4、3;所有接入控制等级的冗余容量系数都设置为0.1;仿真效果图9-10中横坐标是系统负载,即平均业务到达率与系统带宽的比值,纵坐标是有效吞吐量,即延迟得到保障的业务量与总到达业务量的比值;仿真效果图9-10中所述EDF是最早截止时间优先算法,SRPT是最短剩余处理时间优先算法。
2.仿真结果对比
实施例7
图9是在场景一下本发明所提的基于接入控制的数据包调度方法与EDF、SRPT的有效吞吐量对比图,如图9所示,在系统负载不大于0.9时,三种算法的有效吞吐量都能达到0.9以上,随着系统负载的增加,EDF和SRPT算法的有效吞吐量快速下降,例如,当系统负载达到0.98时,EDF和SRPT的有效吞吐量分别下降到0.42和0.63,而本发明所提的数据包调度方法仍能提供较高的有效吞吐量,例如,当系统负载达到0.98时,本发明所提方法的有效吞吐量仍能保持在0.9。
实施例8
图10是在场景二下本发明所提的基于接入控制的数据包调度方法与EDF、SRPT的有效吞吐量对比图,如图10所示,在各种系统负载下,本发明所提方法的有效吞吐量均高于EDF和SRPT的有效吞吐量。
综上所述,相较于现有技术,本发明具有以下优点:
1、本发明公开的基于接入控制的数据包调度方法通过在数据包入队过程采用接入控制的方式控制数据包是否入队、在出队过程采用先进先出的方式协同调度数据包,既无需增加当前网络节点出队调度的复杂度又基于数据流的业务特性和延迟要求提供了差异化的服务,提高了系统的有效吞吐量,即延迟得到保障的吞吐量。
2、本发明公开的基于接入控制的数据包调度方法采用滑动窗口来记录最新入队的数据包序列的信息、以及基于数据包接入控制等级动态控制各类数据流进入系统的业务量的方式,既能减少数据包的延迟,又能避免“饿死”延迟要求较为松弛、高动态性的大流,为数据流提供了基于延迟的公平服务,进一步提高了系统的有效吞吐量。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编辑只读存储器(EPROM或闪速存储器)、光纤装置以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.一种数据包调度方法,其特征在于,包括数据包入队控制过程和数据包出队调度过程;
所述数据包入队控制过程包括:
获取新到达的数据包;
当所述数据包的滑动窗口长度小于滑动窗口阈值时,允许所述数据包入队,将数据包放入队列尾部,并更新滑动窗口,完成入队控制过程;
当所述数据包的滑动窗口长度大于或等于滑动窗口阈值时,从数据包的包头读取数据包信息,确定所述数据包的接入控制等级,确定所述数据包的接入权重,确定所述数据包所属数据流的动态系统容量,判断所述数据包所属数据流在当前队列内的业务量之和是否低于该数据包所属数据流的动态系统容量,若是,则允许所述数据包入队,将数据包放入队列尾部,并更新滑动窗口,完成入队控制过程;
所述数据包出队调度过程包括:
当出队调度系统处于空闲时,判断队列是否有数据包等待发送,若是,则从队列的头部选择一个数据包出队;
其中,所述确定所述数据包的接入控制等级,包括:
当数据包的包头信息中包含数据包的优先级时,所述数据包的接入控制等级为所述优先级;
当数据包的包头信息中不包含数据包的优先级时,将系统的接入控制等级划分为有限个等级,每一个等级对应一定范围的延迟要求,不同等级之间的延迟范围不重叠;各等级之间的延迟要求按升序排列;根据所述数据包的可容忍的最大延迟查找对应的接入控制等级,所找到的接入控制等级的延迟范围包含所述数据包可容忍的最大延迟;
其中,所述确定所述数据包的接入权重,具体包括:
从滑动窗口中查找与所述数据包的接入控制等级相同的窗口,统计该窗口的数据包大小之和;
根据所述窗口数据包大小之和与系统的滑动窗口总数据包大小之和的比值,确定所述数据包的接入权重;
其中,所述确定所述数据包所属数据流的动态系统容量,具体包括:
判断所述数据包的接入权重是否不为零:若是,则通过第一公式确定所述数据包所属数据流的动态系统容量;反之,则通过第二公式确定所述数据包所属数据流的动态系统容量;
其中,所述第一公式的表达式为:
所述第二公式的表达式为:
Wk=ak×C×Dk
其中,Wk表示所述数据包所属数据流的动态系统容量;k表示所述数据包的接入控制等级;自然数ak,0<ak<1,表示接入控制等级k的冗余容量系数;自然数ωk表示所述数据包的接入权重;自然数C表示所述系统的带宽;自然数Dk表示所述数据包可容忍的最大延迟。
2.根据权利要求1所述的一种数据包调度方法,其特征在于,
所述滑动窗口用于表示调度系统记录的最新的有限个允许入队的数据包的信息;
每一个所述滑动窗口对应一个更新的允许入队的数据包;
每一个窗口的信息包括所述数据包所属数据流标识、所述数据包的接入控制等级和数据包大小;
所述滑动窗口阈值表示所述系统可记录的最新的允许入队的数据包的最大数量。
3.根据权利要求1所述的一种数据包调度方法,其特征在于,
所述数据包的信息包含数据包所属数据流标识、数据包大小、可容忍的最大延迟。
4.根据权利要求1所述的一种数据包调度方法,其特征在于,所述更新滑动窗口,具体包括:
确定当前待更新的滑动窗口位置,更新所述滑动窗口位置的窗口信息;
其中,所述更新所述滑动窗口位置的窗口信息,包括:
将滑动窗口的流标识更新为新入队的数据包所属数据流的标识、将滑动窗口的接入控制等级更新为新入队的数据包的接入控制等级、将滑动窗口的数据包大小更新为新入队的数据包的大小;判断当前的滑动窗口长度是否小于滑动窗口阈值:若是则将滑动窗口长度加1;反之则控制滑动窗口长度不变;
所述确定当前待更新的滑动窗口位置,包括:
查找上次更新的滑动窗口的位置,将位置值加1;判断所述位置值是否大于滑动窗口阈值:若是则将第1个窗口作为当前待更新的滑动窗口位置;反之则将所述位置值所对应的窗口作为当前待更新的滑动窗口位置。
5.一种数据包调度系统,其特征在于,包括:
数据包入队控制模块,用于实现如权利要求1至4中任一项所述的数据包调度方法中的数据包入队控制过程所执行的步骤;
数据包出队调度模块,用于实现如权利要求1至4中任一项所述的数据包调度方法中的数据包出队调度过程所执行的步骤;
滑动窗口管理模块,用于记录和更新滑动窗口;
其中,所述确定所述数据包的接入控制等级,包括:
当数据包的包头信息中包含数据包的优先级时,所述数据包的接入控制等级为所述优先级;
当数据包的包头信息中不包含数据包的优先级时,将系统的接入控制等级划分为有限个等级,每一个等级对应一定范围的延迟要求,不同等级之间的延迟范围不重叠;各等级之间的延迟要求按升序排列;根据所述数据包的可容忍的最大延迟查找对应的接入控制等级,所找到的接入控制等级的延迟范围包含所述数据包可容忍的最大延迟;
其中,所述确定所述数据包的接入权重,具体包括:
从滑动窗口中查找与所述数据包的接入控制等级相同的窗口,统计该窗口的数据包大小之和;
根据所述窗口数据包大小之和与系统的滑动窗口总数据包大小之和的比值,确定所述数据包的接入权重;
其中,所述确定所述数据包所属数据流的动态系统容量,具体包括:
判断所述数据包的接入权重是否不为零:若是,则通过第一公式确定所述数据包所属数据流的动态系统容量;反之,则通过第二公式确定所述数据包所属数据流的动态系统容量;
其中,所述第一公式的表达式为:
所述第二公式的表达式为:
Wk=ak×C×Dk
其中,Wk表示所述数据包所属数据流的动态系统容量;k表示所述数据包的接入控制等级;自然数ak,0<ak<1,表示接入控制等级k的冗余容量系数;自然数ωk表示所述数据包的接入权重;自然数C表示所述系统的带宽;自然数Dk表示所述数据包可容忍的最大延迟。
6.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至4中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至4中任一项所述的方法。
CN202210903862.XA 2022-07-28 2022-07-28 一种数据包调度方法、系统及存储介质 Active CN115396384B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210903862.XA CN115396384B (zh) 2022-07-28 2022-07-28 一种数据包调度方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210903862.XA CN115396384B (zh) 2022-07-28 2022-07-28 一种数据包调度方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN115396384A CN115396384A (zh) 2022-11-25
CN115396384B true CN115396384B (zh) 2023-11-28

Family

ID=84116463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210903862.XA Active CN115396384B (zh) 2022-07-28 2022-07-28 一种数据包调度方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN115396384B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0805593A2 (en) * 1996-04-30 1997-11-05 Matsushita Electric Industrial Co., Ltd. Storage device control unit and management system
CN101188547A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 结合虚拟监控组和car速率限制提高转发效率的路由器
CN104301254A (zh) * 2014-09-30 2015-01-21 广东石油化工学院 一种用于数据中心网络的数据包调度方法
WO2020134425A1 (zh) * 2018-12-24 2020-07-02 深圳市中兴微电子技术有限公司 一种数据处理方法、装置、设备及存储介质
CN112787956A (zh) * 2021-01-30 2021-05-11 西安电子科技大学 一种队列管理中挤占处理方法、系统、存储介质及应用
CN112995048A (zh) * 2019-12-18 2021-06-18 深圳先进技术研究院 数据中心网络的阻塞控制与调度融合方法及终端设备
CN113126911A (zh) * 2021-03-12 2021-07-16 西安电子科技大学 基于ddr3 sdram的队列管理方法、介质、设备
CN113747597A (zh) * 2021-08-30 2021-12-03 上海智能网联汽车技术中心有限公司 一种基于移动5g网络的网络数据包调度方法及系统
CN114039918A (zh) * 2021-10-09 2022-02-11 广东技术师范大学 一种信息年龄优化方法、装置、计算机设备及存储介质
CN114401235A (zh) * 2021-12-15 2022-04-26 西安电子科技大学 一种队列管理中重载处理方法、系统、介质、设备及应用
EP4007225A1 (en) * 2020-11-26 2022-06-01 Nokia Solutions and Networks Oy Method and apparatus for managing network congestion

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080112318A1 (en) * 2006-11-13 2008-05-15 Rejean Groleau Traffic shaping and scheduling in a network

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0805593A2 (en) * 1996-04-30 1997-11-05 Matsushita Electric Industrial Co., Ltd. Storage device control unit and management system
CN101188547A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 结合虚拟监控组和car速率限制提高转发效率的路由器
CN104301254A (zh) * 2014-09-30 2015-01-21 广东石油化工学院 一种用于数据中心网络的数据包调度方法
WO2020134425A1 (zh) * 2018-12-24 2020-07-02 深圳市中兴微电子技术有限公司 一种数据处理方法、装置、设备及存储介质
CN112995048A (zh) * 2019-12-18 2021-06-18 深圳先进技术研究院 数据中心网络的阻塞控制与调度融合方法及终端设备
EP4007225A1 (en) * 2020-11-26 2022-06-01 Nokia Solutions and Networks Oy Method and apparatus for managing network congestion
CN112787956A (zh) * 2021-01-30 2021-05-11 西安电子科技大学 一种队列管理中挤占处理方法、系统、存储介质及应用
CN113126911A (zh) * 2021-03-12 2021-07-16 西安电子科技大学 基于ddr3 sdram的队列管理方法、介质、设备
CN113747597A (zh) * 2021-08-30 2021-12-03 上海智能网联汽车技术中心有限公司 一种基于移动5g网络的网络数据包调度方法及系统
CN114039918A (zh) * 2021-10-09 2022-02-11 广东技术师范大学 一种信息年龄优化方法、装置、计算机设备及存储介质
CN114401235A (zh) * 2021-12-15 2022-04-26 西安电子科技大学 一种队列管理中重载处理方法、系统、介质、设备及应用

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A Priority-Based Weighted Fair Queueing Algorithm in Wireless Sensor Network;Xiao-dong Wang,Xiao Chen,Jie Min,Yu Zhou;IEEE;全文 *
IP卫星网络接入网关中队列管理器的设计与实现;武东明;乔庐峰;陈庆华;;通信技术(第10期);全文 *
基于消息队列的实时GIS协同操作研究;承达瑜,陈军,韩刚;中国矿业大学学报;全文 *
智能变电站通信业务优先级及其队列调度方法;李俊娥,陆秋余,刘剑,袁凯,田薇;通信学报;全文 *

Also Published As

Publication number Publication date
CN115396384A (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CA2575869C (en) Hierarchal scheduler with multiple scheduling lanes
US7619969B2 (en) Hardware self-sorting scheduling queue
US6810426B2 (en) Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
US7986706B2 (en) Hierarchical pipelined distributed scheduling traffic manager
KR100323258B1 (ko) 버퍼 관리를 통한 속도 보증
US7212535B2 (en) Scheduling items using mini-quantum values
CN113973085B (zh) 一种拥塞控制方法和装置
JP4447521B2 (ja) パケットスケジューラおよびパケットスケジューリング方法
CN115396384B (zh) 一种数据包调度方法、系统及存储介质
CN112671832A (zh) 虚拟交换机中保障层次化时延的转发任务调度方法及系统
Wang et al. Integrating priority with share in the priority-based weighted fair queuing scheduler for real-time networks
US7567572B1 (en) 2-rate scheduling based on search trees with configurable excess bandwidth sharing
US7599381B2 (en) Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
CN114531399A (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
CN116889024A (zh) 一种数据流传输方法、装置及网络设备
CA2575814C (en) Propagation of minimum guaranteed scheduling rates
KR100462475B1 (ko) 선형제어를 이용한 큐 스케쥴링 장치 및 방법
CN115174488B (zh) 一种基于效用值的在线分组调度方法及系统及设备
KR102391804B1 (ko) FQ-CoDel 알고리즘의 매개변수 최적화 방법
JP2004236236A (ja) 非同期到着する可変長パケットのバッファリング装置とその方法
JP3854745B2 (ja) パケット処理装置およびパケット処理方法
CN115835402A (zh) 基于数据帧动态优先级的时间敏感网络流调度方法及装置
KR20240056380A (ko) 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법
KR100508546B1 (ko) 가중치를 갖는 라운드 로빈 방식의 스케쥴링 시스템 및 방법
CN117579577A (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