掌桥专利:专业的专利平台
掌桥专利
首页

基于动态运算的队列门控调度方法、系统和存储介质

文献发布时间:2023-06-19 19:30:30


基于动态运算的队列门控调度方法、系统和存储介质

技术领域

本发明实施例涉及网络技术,尤其涉及一种基于动态运算的队列门控调度方法、系统和存储介质。

背景技术

随着互联网与实体经济加速渗透融合,全球互联网模式已由消费型向生产型转变,诸多新型业务场景涌现。例如工业互联网、远程手术、无人驾驶、虚拟现实(VirtualReality,VR)游戏等,并对网络提出了毫秒级时延、微秒级抖动控制的艰巨挑战。

传统的“尽力而为”网络技术体系难以支撑未来业务对低时延抖动的客观需求。由此,“确定性网络”概念被提出,旨在保障数据传输时延、抖动的有界性,对此电气与电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)与国际互联网工程任务组(The Internet Engineering Task Force,IETF)分别针对开放系统互联(OpenSystem Interconnection,OSI)模型二层、三层提出了时间敏感网络(Time-SensitiveNetworking,TSN)与确定型网络(Deterministic Networking,DetNet)技术体系,以期提供实时准确地数据传输保证。

在确定性网络技术体系中队列调度是关键一环,控制端到端时延、抖动的基础就是控制节点排队时延。然而,现有确定性队列机制(如时间感知整形、循环队列转发等)能够提供一定程度的确定性能力,但都有其明显的适用局限性,难以对差异化需求实现统一适配。因而,随着未来网络服务职能的不断转型,其对更为优性的确定性队列机制需求也越发迫切。

发明内容

本发明提供一种基于动态运算的队列门控调度方法、系统和存储介质,提供了一种能满足业务QoS需求的业务队列转发机制。

第一方面,本发明实施例提供了一种基于动态运算的队列门控调度方法,包括:

网络编排器获取待传输业务请求的属性信息和需求信息;

网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的服务策略,并将各网络节点的服务策略发送至网络控制器;

网络控制器根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息;

当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略。

在第一方面一种可能的实现方式中,当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求对应的数据转发队列的调度策略,包括:

当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,为每一待传输业务请求建立对应的数据转发队列;

每一网络节点根据已建立的多个数据转发队列的参数,动态计算各数据转发队列中数据分组的转发顺序。

在第一方面一种可能的实现方式中,每一网络节点根据已建立的多个数据转发队列的参数,动态计算各数据转发队列中数据分组的转发顺序,包括:

每一网络节点根据已建立的多个数据转发队列的参数,计算各数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长;

每一网络节点转发剩余时长最小的数据分组,并重复计算剩余时长。

在第一方面一种可能的实现方式中,网络编排器获取待传输业务请求的属性信息和需求信息之后,还包括:

网络编排器确定待传输业务请求为一般业务请求或定时业务请求,相应地,所述服务策略包括一般服务策略或定时服务策略。

在第一方面一种可能的实现方式中,一般服务策略包括传输路径上各网络节点的服务曲线与缓存配置策略;

网络控制器根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息,包括:

网络控制器根据各网络节点的服务曲线与缓存配置策略向各网络节点发送待传输业务请求的服务曲线斜率、首个分组推迟发送的时间容限和缓存配置信息;

当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略,包括:

当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的服务曲线斜率、首个分组推迟发送的时间容限和缓存配置信息,为每一待传输业务请求建立对应的数据转发队列;

每一网络节点分别计算已建立的多个数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长;

每一网络节点转发剩余时长最小的数据分组,并重复计算剩余时长。

在第一方面一种可能的实现方式中,每一网络节点分别计算已建立的多个数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长,包括:

每一网络节点中各队列使用如下公式计算剩余时长Δ

其中,i表示第i个网络节点,q表示第q个队列,L

在第一方面一种可能的实现方式中,定时服务策略包括传输路径上各网络节点的服务曲线与理论服务曲线的精准匹配策略;

网络控制器根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息,包括:

网络控制器向各网络节点发送待传输业务请求发送相邻分组的时间间隔;

当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略,包括:

当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求发送相邻分组的时间间隔,为每一待传输业务请求建立对应的数据转发队列;

每一网络节点分别计算已建立的多个数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长;

每一网络节点转发剩余时长为零的数据分组,并重复计算剩余时长。

在第一方面一种可能的实现方式中,属性信息包括如下至少之一:最大突发量、最小突发间隔、持续时间;

需求信息包括如下至少之一:带宽、时延、抖动、丢包。

第二方面,本发明实施例提供一种基于动态运算的队列门控调度系统,包括:网络编排器、网络控制器和多个网络节点;

网络编排器,用于获取待传输业务请求的属性信息和需求信息;根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的服务策略,并将各网络节点的服务策略发送至网络控制器;

网络控制器,用于根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息;

当前网络中的各网络节点,用于根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略。

第三方面,本发明实施例提供一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面任一项可能的实现方式中网络编排器或网络控制器或多个网络节点所执行的基于动态运算的队列门控调度方法。

第三方面,本发明实施例提供一种电子设备,包括:

处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;

所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面任一项可能的实现方式中网络编排器或网络控制器或多个网络节点所执行的基于动态运算的队列门控调度方法。

本发明实施例提供的基于动态运算的队列门控调度方法、系统和存储介质,首先由网络编排器获取待传输业务请求的属性信息和需求信息,网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的服务策略,并将各网络节点的服务策略发送至网络控制器,然后网络控制器根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息,最后当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略,本发明实施例提供的基于动态运算的队列门控调度方法,提供了一种能满足业务QoS需求的队列转发机制,能够保障网络服务性能。

附图说明

图1为网络场景及网元交互示意图;

图2为本发明实施例提供的一种基于动态运算的队列门控调度方法的流程图;

图3为业务请求数据实际服务曲线与理论服务曲线的关系示意图;

图4为本发明实施例提供的另一种基于动态运算的队列门控调度方法的流程图;

图5为各网络节点中的队列结构与调度方式示意图;

图6为本发明实施例提供的基于动态运算的队列门控调度方法中的具体数据调度流程图;

图7为本发明实施例提供的基于动态运算的队列门控调度方法中的具体数据调度流程图;

图8为本发明实施例提供的再一种基于动态运算的队列门控调度方法的流程图;

图9为定时业务请求的实际服务曲线与理论服务曲线的关系示意图;

图10为本申请实施例提供的一种基于动态运算的队列门控调度系统的结构示意图;

图11为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

目前的确定性队列调度机制有基于信用值整形(Credit-Based Shaper,CBS)机制、时间感知整形(Time Aware Shaper,TAS)机制、循环队列转发(Cyclic Queuing andForwarding,CQF)机制、循环特定排队转发(Cyclic Special Queuing and Forwarding,CSQF)机制几种。

其中,CBS机制为队列定义了“信用”值,并引入“idleSlope”与“sendSlope”参数控制信用值的正负变化,“idleSlope”与“sendSlope”单位为比特且两者之和等于接口速率。当某队列内存在等待分组,同时接口被其它队列占据,则其信用值以“idleSlope”速率递增;当队列在发送分组时,其信用值以“sendSlope”速率递减。各队列只能在信用值不为负时发送数据。CBS通过信用值驱使不同队列之间按时间片比例交替传输,在保证带宽的基础上,进一步降低分组等待时延,适用于持续流场景。然而,CBS存在如下缺陷:1)其本质上是一种带宽预留机制,并不能提供精细化时间片调度能力;2)CBS队列中呈现多业务流共存,且各业务到达规律及时延、抖动需求不尽相同,由于CBS并无队内调度能力,因此难以在队内逐流提供确定性保障;3)CBS不同队列间是按一定时间片比例交替发送数据,然而对于强突发性业务,会导致同一突发批次的后续分组需等待多次轮询才被发出,严重影响时延与抖动性能。

TAS机制引入“门控”概念,使输出端口的多个队列都由独立的“门”控制,当“门”开启时可传输数据,反之则不能,而“门”开关状态由提前规划的门控列表驱动。对此,TAS要求全网设备时间同步,且忽略链路传播时延,通过全局规划生成门控列表。TAS可在时域上对队列传输窗口开启与关闭时刻(即带宽资源)做精细控制,进而提供“定时定点”的传输能力,但其存在下列缺陷:1)全网设备门控需统一规划,导致算法复杂度极高、网络节点规模受限;2)TAS针对周期性工控等业务设计,难以适配突发性业务场景;3)严格要求全网设备时间同步,因而其网络扩展性受限。

CQF机制通过划分等宽时隙T并设置奇偶队列,从而随时隙推移使奇偶队列交替执行入队与出队操作。CQF要求全网时间同步且时隙宽度大于单跳时延(即可忽略链路时延),从而保证上游节点所发数据可在同时隙内被下游节点接收,并于下一时隙发出。CQF确保端到端最大时延为(Hop+1)×T,抖动上界为2T,其中Hop表示跳数。CQF相比TAS降低了队列控制复杂度,且时隙调度只发生于首节点,中间节点按乒乓队列模式存储转发。然而,CQF存在如下缺陷:1)最小调度单位为时隙,丧失了TAS对传输窗口控制的精度,导致抖动上限2T不可克服,缺乏业务多样性适配优势;2)对于长距链路、拓扑易变的大规模网络,难以保证下游节点在同时隙内收到上游节点所发数据,因而只适用于小规模网络。

CSQF机制解决了大规模网络中确定性转发问题,该机制通过划分等宽时隙T并引入多队列方式(N个队列,N默认为3),队列间通过轮训方式按序发送数据,同一时刻一个队列执行出队而其余N-1队列执行入队,并按时隙推移交替完成出队操作,轮训周期为N个时隙。CSQF支持在沿涂任意节点进行时隙调度,到达分组可选择合适队列入队,因而分组最多可推迟N-1个时隙出队。CSQF要求全网设备频率同步、相位可不同步,但控制器需知悉其相位偏移量。CSQF存在如下缺陷:1)基于时隙调度导致资源调配精度下降,同时隙内分组先后顺序不可控,无法做到“定时定点”发送;2)N-1个时隙的出队推迟上限,限制了业务调度的求解空间,进而缩减业务承载量。

综上,目前的确定性队列调度机制都存在一定缺陷,难以高效适配未来差异化、大规模业务的确定性承载需求,因此,亟待一种更为优秀的队列调度机制,以保障网络服务性能。

图1为网络场景及网元交互示意图,如图1所示,网络由多个网络节点及网络节点之间的链路组成,其中网络节点可以为交换机或路由器。业务请求从源网络节点进入网络,从宿网络节点离开网络,在业务传输路径上的各网络节点出口进行排队处理。网络编排器负责为待传输的业务请求配置传输路径以及数据转发策略并发送至网络控制器,网络控制器根据网络编排器配置的传输路径以及数据转发策略向传输路径上的各网络节点发送具体的配置参数,从而完成业务请求的转发。

图2为本发明实施例提供的一种基于动态运算的队列门控调度方法的流程图,如图2所示,本实施例提供的基于动态运算的队列门控调度方法包括:

步骤S210,网络编排器获取待传输业务请求的属性信息和需求信息。

本实施例提供的基于动态运算的队列门控调度方法,用于对网络中业务请求的转发进行调度,可以在图1所示网络架构中执行。本发明实施例提供的基于动态运算的队列门控调度方法不限于在图1所示网络架构中执行,只要是能够对业务需求进行分析得出业务调度策略,并根据业务调度策略向各网络节点发送配置参数指示业务调度即可。

以在图1所示网络架构中进行业务调度为例,首先,网络编排器获取待传输业务请求的属性信息和需求信息。网络编排器掌握网络中各网络节点的状态,并为网络中的业务进行路径规划,使得业务能够从源网络节点到达宿网络节点,且保证网络中个网络节点的负载均衡。网络编排器位于网络侧,可以部署于网络侧的任一服务器,或者网络编排器为独立部署于网络侧的设备。网络编排器可以获取到网络中所有网络节点的相关信息,包括网络拓扑,各网络节点的运行状态和负载情况等。网络编排器还能够获取需要通过网络传输的业务请求的相关信息,包括待传输业务请求的属性信息和需求信息。本申请实施例中的网络可以是局域网、广域网、城域网或其他任一种形式的网络架构,网络编排器可以掌握网络中任一网络节点的信息以及网络中任一网络节点输入的业务请求的相关信息。其中,待传输业务请求通过网络中任一网络节点输入,且通过网络中任一网络节点输出,其中输入节点为该待传输业务请求的源网络节点,输出节点为该待传输业务请求的宿网络节点。

当网络中任一网络节点有待传输业务请求输入时,网络编排器将获取待传输业务请求的属性信息和需求信息。其中,待传输业务的属性信息用于表征待传输业务请求自身的特征,例如待传输业务请求的属性信息包括如下至少之一:最大突发量、最小突发间隔、持续时间。待传输业务请求的需求信息用于表征待传输业务对网络传输环境的需求,例如待传输业务请求的需求信息包括如下至少之一:带宽、时延、抖动、丢包。

步骤S220,网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的服务策略,并将各网络节点的服务策略发送至网络控制器。

网络编排器获取待传输业务请求的属性信息和需求信息之后,结合当前网络状态,即可确定待传输业务请求在当前网络中的传输路径,以及在确定的传输路径上各网络节点的服务策略。其中待传输业务请求在当前网络中的传输路径表示待传输业务在网络中传输所经过的各网络节点和链路组成的路径。待传输业务请求在确定的传输路径上各网络节点的服务策略,是各网络节点上对到达该网络节点的业务请求的缓存、转发方式的相关策略,各网络节点的服务策略需要满足待传输业务的需求,使得待传输业务能够以满足需求的方式从源网络节点发送至宿网络节点。网络编排器可以根据任一种网络调度策略确定网络路径和服务策略。在确定待传输业务请求的传输路径和服务策略后,网络编排器向网络控制器发送确定的传输路径和服务策略。网络中可以部署一个或多个网络控制器,一个网络控制器用于对全部或者部分网络节点进行控制。

步骤S230,网络控制器根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息。

网络控制器是用于对网络中各网络节点进行控制的网络侧网元,网络控制器可以部署于网络侧或者网络控制器可以部署于网络中靠近网络节点的一侧,通过网络编排器下发的各网络节点的服务策略向各网络节点发送各种参数信息。网络控制器在接收到网络编排器下发的各网络节点的服务策略后,将根据对各网络节点的服务策略,生成对各网络节点进行控制的具体控制参数,并将各网络节点的控制参数发送至对应的网络节点。

网络控制器向各网络节点发送的参数信息是对各网络节点转发数据的需求参数,并不是对各网络节点进行控制的具体参数,例如该参数信息为各网络节点的服务曲线和缓存配置策略,也就是说,该参数信息用于表征各网络节点对待传输业务请求的服务质量(Quality of Service,QoS)需求。

步骤S240,当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略。

同一时间在网络中传输的业务请求可能有多个,不同业务请求通过不同的传输路径传输,那么网络中的各网络节点可能在同一时间并行接收到多个业务请求的转发需求。对于一个网络节点,各业务请求是以分组为单位在网络节点的接口中串行传输,因此需要根据各业务请求的需求,对各业务请求的数据如何缓存和转发进行调度,使得各业务请求通过网络节点的转发后,可以满足时延、抖动等各方面的性能需求。业务请求的数据分组在网络节点接口的实际数据发送速率一般远高于理论服务速率。

本实施例中,将队列调度的计算解耦到各网络节点中,网络编排器并不对各网络节点的具体队列调度策略进行计算,而是仅通过网络控制器向各网络节点下发各网络节点所需满足的服务策略,各网络节点根据服务策略进行具体队列调度策略的计算,可以显著降低网络编排器对全网时间片规划的计算复杂度,具有大规模网络的应用可能。

如图3所示,图3为业务请求数据实际服务曲线与理论服务曲线的关系示意图。图3中曲线31为理论服务曲线,曲线32为实际服务曲线。图3中的横坐标为时间,纵坐标为比特数,曲线31为网络编排器根据业务请求的属性信息和需求信息确定的该网络节点中业务请求的理论服务曲线,只要能够按照该曲线进行数据转发就能够满足该业务请求的数据转发需求。对于一个网络节点,若在同一时间仅有一个业务请求需要转发,那么对于该业务请求的实际服务曲线如曲线32所示,也就是一般会高于理论服务曲线。从图中可以看出,实际服务曲线一般不会向理论服务曲线一样平滑,但理论服务曲线应作为实际服务曲线的下包络。当网络节点中需要转发的数据较多时,多个业务请求的数据分组转发如何调度,使各业务请求均能够满足实际服务曲线要求,就是本申请实施例提供的调度方法要解决的问题。

在本实施例中,网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,首先为各待传输业务请求分别建立数据转发队列,每一待传输业务请求分别具有对应的独立数据转发队列。然后每一网络节点根据已建立的多个数据转发队列的参数,动态计算各数据转发队列中数据分组的转发顺序,从而将各业务请求的数据分组分别转发出去,并且使每个业务请求均能够满足服务质量要求,保证了网络服务性能。在任一数据转发队列发送一个数据分组之后,网络节点将重新计算各数据转发队列中数据分组的转发顺序,实现了业务请求的动态调度。对各数据队列中数据分组进行调度的方式,可以采用门控的调度方式,也就是根据各业务请求的参数信息计算门控参数,满足门控参数的数据转发队列中的数据分组优先发送。

具体地,每一网络节点根据已建立的多个数据转发队列的参数,计算各数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长;然后每一网络节点转发剩余时长最小的数据分组,并重复计算剩余时长,直至各数据转发队列中的数据分组转发完成。

本实施例提供的基于动态运算的队列门控调度方法,首先由网络编排器获取待传输业务请求的属性信息和需求信息,网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的服务策略,并将各网络节点的服务策略发送至网络控制器,然后网络控制器根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息,最后当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略,本发明实施例提供的基于动态运算的队列门控调度方法,提供了一种能满足业务QoS需求的队列转发机制,能够保障网络服务性能。

本发明实施例提供的基于动态运算的队列门控调度方法进一步地将业务请求分为两种业务类型,分别为一般业务请求和定时业务请求。其中一般业务请求是指前述确定性业务请求,定时业务请求是指需要定时定点传输的业务请求。对于一般业务请求,其分组数据只需要在其时延、抖动需求之内抵达宿网络节点即可;对于定时业务请求,严格要求分组数据在特定时刻达到宿网络节点。

在一实施例中,网络编排器在获取到待传输业务请求的属性信息和需求信息之后,首先确定待传输业务请求为一般业务请求或定时业务请求。然后网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的一般服务策略或定时服务策略,并将各网络节点的一般服务策略或定时服务策略发送至网络控制器。其中一般服务策略为一般业务请求对应的服务策略,定时服务策略为定时业务请求对应的服务策略。由于两种不同类型的业务请求的需求不同,因此需要采用不同的数据转发策略进行数据转发,从而满足不同类型的业务需求。

下面分别对一般业务请求和定时业务请求的调度方法进行进一步详细说明。

图4为本发明实施例提供的一种基于动态运算的队列门控调度方法的流程图,如图4所示,本实施例提供的基于动态运算的队列门控调度方法包括:

步骤S410,网络编排器获取待传输业务请求的属性信息和需求信息。

本实施例提供的基于动态运算的队列门控调度方法用于对一般业务请求进行调度。

步骤S420,网络编排器确定待传输业务请求为一般业务请求。

步骤S430,网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的一般服务策略,并将各网络节点的一般服务策略发送至网络控制器,一般服务策略包括传输路径上各网络节点的服务曲线与缓存配置策略。

当业务请求到达网络入口后向网络编排器上报属性信息和需求信息,网络编排器分析业务请求并根据当前网络状态,利用网络演算理论求得一条满足需求的传输路径,以及各网络节点服务曲线与缓存配置策略,然后将服务曲线与缓存配置策略下发至网络控制器。

步骤S440,网络控制器根据各网络节点的服务曲线与缓存配置策略向各网络节点发送待传输业务请求的服务曲线斜率、首个分组推迟发送的时间容限和缓存配置信息。

网络控制器对各网络节点的服务曲线与缓存配置策略进行分析后,得出各网络节点发送待传输业务请求的服务曲线斜率、首个分组推迟发送的时间容限和缓存配置信息,并发送给各网络节点。

其中,待传输业务请求的服务曲线斜率可以用β

步骤S450,当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的服务曲线斜率、首个分组推迟发送的时间容限和缓存配置信息,为每一待传输业务请求建立对应的数据转发队列。

接收到网络控制器发送的网络节点,可以根据接收到的各业务需求计算传输路径上的β

步骤S460,每一网络节点分别计算已建立的多个数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长。

图5为各网络节点中的队列结构与调度方式示意图,如图5所示,每一网络节点中,通过软件定义队列方式为每条有QoS需求的业务请求建立单独的队列,每个队列是否可以发送分组数据由“门”控制。各网络节点中的控制器通过计算各队列的剩余时长并对其排序生成调度表,根据表中数值排序先后决定“门”的开启顺序。随着各队列中分组数据的不断发送,调度表内排序需要持续更新。其中上述剩余时长是指数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长。

各数据转发队列中的排序规则如下:

将节点i内队列q不为空的整个发送过程称为一个阶段p,即在整个阶段内队列中始终有缓存分组。设该阶段内队列发送第k分组的起始与结束时刻分别为S

步骤S470,每一网络节点转发剩余时长最小的数据分组,并重复计算剩余时长。

对于各数据转发队列的队列调度,可以采用如下步骤,其中设节点i中有n个队列存在,队列调度的核心思想是:Δ值最小的队列优先发送数据分组,具体步骤如下:

1)为每个不为空的队列q计算Δ

2)网络节点内的控制器对Δ

3)网络节点内的控制器为调度表中排序第一的队列下发开“门”指令,该队列发送一个数据分组。

4)在数据分组发送完毕后,更新该队列Δ值(即加上所发数据分组长度

5)若Δ

图7为本发明实施例提供的基于动态运算的队列门控调度方法中的具体数据调度流程图,假设当前调度顺序为Δ

图8为本发明实施例提供的再一种基于动态运算的队列门控调度方法的流程图,如图8所示,本实施例提供的基于动态运算的队列门控调度方法包括:

步骤S810,网络编排器获取待传输业务请求的属性信息和需求信息。

本实施例提供的基于动态运算的队列门控调度方法用于对定时业务请求。

步骤S820,网络编排器确定待传输业务请求为定时业务请求。

步骤S830,网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的定时服务策略,并将各网络节点的定时服务策略发送至网络控制器,定时服务策略包括传输路径上各网络节点的服务曲线与理论服务曲线的精准匹配策略。

网络中存在的少量要求定时定点传输的业务请求,即严格要求在某一时刻发出或到达宿网络节点的业务请求。本申请提供的基于动态运算的队列门控调度方法,具备精细化的时间片调度能力,同样适配于对时间有精准要求的业务。

图9为定时业务请求的实际服务曲线与理论服务曲线的关系示意图。图9中的横坐标为时间,纵坐标为比特数,与图3相比,图9中实际服务曲线与理论服务曲线重合,这是由于在对定时业务请求进行调度时,需要在理论服务曲线所标定的各个时刻准确发送业务请求的数分组。

步骤S840,网络控制器向各网络节点发送待传输业务请求发送相邻分组的时间间隔。

对于定时业务请求,网络控制器向各网络节点发送的是待传输业务请求发送相邻分组的时间间隔。相邻分组的时间间隔为T

步骤S850,当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求发送相邻分组的时间间隔,为每一待传输业务请求建立对应的数据转发队列。

各网络节点同样需要为每一业务请求建立对应的数据转发队列,每一数据转发队列具有对应的缓存序列。

步骤S860,每一网络节点分别计算已建立的多个数据转发队列中未发送数据分组的距离满足服务质量所要求发送时间的剩余时长。

步骤S870,每一网络节点转发剩余时长为零的数据分组,并重复计算剩余时长。

对于第i+1个分组的“门”控表达式为Δ=T

综上,本发明实施例提供的基于动态运算的队列门控调度方法,可以兼容具有普通确定性的一般业务请求和需要定时定点发送的定时业务请求的业务转发需求,能够使用未来生产型互联网服务需求的潜在确定性队列机制。

图10为本申请实施例提供的一种基于动态运算的队列门控调度系统的结构示意图,如图10所示,本实施例提供的装置包括:

网络编排器101,用于获取待传输业务请求的属性信息和需求信息;根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点103的服务策略,并将各网络节点103的服务策略发送至网络控制器102。网络控制器102,用于根据各网络节点103的服务策略向各网络节点103发送待传输业务请求的参数信息。当前网络中的各网络节点103,用于根据从网络控制器102接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略。

本实施例提供的基于动态运算的队列门控调度系统用于实现图2、图4、图7所示实施例的基于动态运算的队列门控调度方法,其实现原理和技术效果类似,此处不再赘述。

图11为本发明实施例提供的一种电子设备的结构示意图,如图11所示,该电子设备包括处理器111、存储器112,接收器113和发送器114;电子设备中处理器71的数量可以是一个或多个,图11中以一个处理器111为例;电子设备中的处理器111、存储器112、接收器113和发送器114可以通过总线或其他方式连接,图11中以通过总线连接为例。

存储器112作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请图2-图8实施例中的基于动态运算的队列门控调度方法对应的程序指令/模块(例如基于动态运算的队列门控调度系统中的网络编排器101、网络控制器102、网络节点103)。处理器71通过运行存储在存储器112中的软件程序、指令以及模块,从而完成电子设备至少一种功能应用以及数据处理,即实现上述的基于动态运算的队列门控调度方法。

存储器112可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据远程设备的使用所创建的数据等。此外,存储器112可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。

接收器113为能够接收外部输入信号的器件、模块或组合,发送器114为能够向外部输出信号的器件、模块或组合。

本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种基于动态运算的队列门控调度方法,该方法包括:网络编排器获取待传输业务请求的属性信息和需求信息;网络编排器根据属性信息和需求信息以及当前网络状态,确定待传输业务请求在当前网络中的传输路径以及传输路径上各网络节点的服务策略,并将各网络节点的服务策略发送至网络控制器;网络控制器根据各网络节点的服务策略向各网络节点发送待传输业务请求的参数信息;当前网络中的各网络节点根据从网络控制器接收到的所有待传输业务请求的参数信息,确定各待传输业务请求的调度策略。

一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。

本申请的实施例可以通过计算机装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构((Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。

本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(Read-Only Memory,ROM)、随机访问存储器(Random Access Memory,RAM)、光存储器装置和系统(数码多功能光碟(Digital Video Disc,DVD)或光盘((Compact Disc,CD))等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,SAIC)、可编程逻辑器件(Field-Programmable Gate Array,FGPA)以及基于多核处理器架构的处理器。

相关技术
  • 一种数据存储方法、调度装置、系统、设备及存储介质
  • 基于消息队列的请求处理方法、装置、设备及存储介质
  • 基于动态包传输的动态随机存储器队列调度方法
  • 基于动态包传输的动态随机存储器队列调度方法
技术分类

06120115929187