CN105700940B - 一种调度器及调度器的动态复用方法 - Google Patents
一种调度器及调度器的动态复用方法 Download PDFInfo
- Publication number
- CN105700940B CN105700940B CN201410691247.2A CN201410691247A CN105700940B CN 105700940 B CN105700940 B CN 105700940B CN 201410691247 A CN201410691247 A CN 201410691247A CN 105700940 B CN105700940 B CN 105700940B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- module
- scheduler
- algorithm
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000000977 initiatory effect Effects 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims description 96
- 238000012545 processing Methods 0.000 claims description 55
- 239000000872 buffer Substances 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000009482 thermal adhesion granulation Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种调度器,包括:链表管理模块,用于缓存收到的队列调度请求,并确定是否需要将队列调度请求存储于存储引擎资源;需要则向信息存储模块发送写入指令,不需要则向中央控制模块发送调度模式更新请求;信息存储模块,用于收到写入指令时,将队列调度请求存储于存储引擎资源,并向中央控制模块发送调度模式更新请求;并根据返回的计算结果复用到对应的调度模式;中央控制模块,用于收到调度模式更新请求时,向算法发起模块发送算法调度请求;请求算法发起模块,用于收到算法调度请求时根据调度信息访问算法引擎资源中相应的调度算法,并将得到的计算结果返回给信息存储模块。本发明还同时公开了一种调度器的动态复用方法。
Description
技术领域
本发明涉及调度技术,尤其涉及一种调度器及调度器的动态复用方法。
背景技术
电子计算机技术与通讯技术的结合产生了数据通讯技术,数据通讯技术的迅速发展加速了数据通讯网络中接入设备、传输设备、交换设备、路由设备、核心网设备、基站设备、承载网设备、数据中心设备、服务器设备等的发展。数据通讯网络的典型组网结构如图1所示,随着时间的推移,数据通讯网络中的各种网络设备和应用不断增多,尤其是组播技术、区分服务、流量工程和安全防护等新功能的引入,使数据通讯网络中的网络拓扑、协议标准、算法结构及控制管理愈加复杂,因此,必然会在网络资源利用率、转发性能、维护成本、业务部署、业务集成度及灵活性等方面提出更高的要求。
为了适应这些新生的需求,现有数据通讯网络中已开始对软件定义网络(Software Defined Network,SDN)架构进行改造,但现网中使用的调度器目前无法很好的适应这些新生的需求,现网中调度器的组成结构如图2所示,现网中调度器的调度缓存模块接收到调度请求后进行缓存,由调度信息判决模块通过算法处理模块中预设的一种或几种固定调度器算法实现对不同流量类型的判决,然后由调度输出模块输出调度结果,由此可见,现网调度器的种类固定,且调度方式较单一,不能适应不断变化的流量类型。另外,当网络节点增减时,需要更改全网相关调度器的参数配置和层次关系,以适配新的网络拓扑结构,增加了数据通讯网络运营维护的复杂度。
发明内容
有鉴于此,本发明实施例期望提供一种调度器及调度器的动态复用方法,能自适应不同流量类型对调度算法种类、调度性能、调度灵活性的差异化调度需求,从而实现各种调度模式的灵活共享及动态复用,进而降低网络运营维护的复杂度。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种调度器,该调度器包括:链表管理模块、信息存储模块、中央控制模块、算法发起模块;其中,
所述链表管理模块,用于缓存收到的队列调度请求,并确定是否需要将所述队列调度请求存储于存储引擎资源;需要存储则向所述信息存储模块发送写入指令,不需要存储则向所述中央控制模块发送调度模式更新请求;
所述信息存储模块,用于收到写入指令时,将所述队列调度请求存储于存储引擎资源,并向所述中央控制模块发送调度模式更新请求;根据所述中央控制模块返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源;
所述中央控制模块,用于收到调度模式更新请求时,向所述算法发起模块发送算法调度请求;收到所述算法发起模块返回的计算结果时,根据所述计算结果完成调度处理操作,并将所述计算结果返回给所述信息存储模块;
所述算法发起模块,用于收到所述中央控制模块发送的算法调度请求时,根据获取的调度信息访问算法引擎资源中相应的调度算法,并将根据所述调度算法得到的计算结果返回给所述中央控制模块。
上述方案中,所述信息存储模块,还用于读取存储引擎资源中的队列调度请求,以及计算结果中调度器调度请求、令牌桶调度请求,并缓存到所述链表管理模块;
所述中央控制模块,还用于根据更新后的调度模式对所述链表管理模块中缓存的队列调度请求、调度器调度请求、令牌桶调度请求进行判决并输出调度结果。
上述方案中,所述链表管理模块包括第一仲裁子模块、队列缓存子模块、调度器缓存子模块、令牌桶缓存子模块;其中,
所述第一仲裁子模块,用于将所述队列缓存子模块、调度器缓存子模块或令牌桶缓存子模块之一中的缓存数据仲裁输出;
所述队列缓存子模块,用于缓存收到的队列调度请求;
所述调度器缓存子模块,用于缓存计算结果中的调度器调度请求;
所述令牌桶缓存子模块,用于缓存计算结果中的令牌桶调度请求。
上述方案中,所述信息存储模块包括第二仲裁子模块、链表更新子模块、参数更新子模块、状态更新子模块;其中,
所述第二仲裁子模块,用于根据所述计算结果复用到对应的调度模式,并指示所述链表更新子模块、参数更新子模块、状态更新子模块更新对应调度模式的调度器链表、参数及状态;
所述链表更新子模块,用于根据所述第二仲裁子模块的指示更新调度器的链表;
所述参数更新子模块,用于根据所述第二仲裁子模块的指示更新调度器的参数;
所述状态更新子模块,用于根据所述第二仲裁子模块的指示更新调度器的状态。
上述方案中,所述中央控制模块包括控制子模块、参数处理子模块、链表处理子模块、状态处理子模块;其中,
所述控制子模块,用于收到调度模式更新请求时,向所述算法发起模块发送算法调度请求;收到所述算法发起模块返回的计算结果时,根据所述计算结果指示所述链表处理子模块、所述参数处理子模块、所述状态处理子模块完成调度相关处理操作;并将所述计算结果返回给所述信息存储模块;
所述链表处理子模块,用于根据所述控制子模块的指示完成调度器中链表的处理;
所述参数处理子模块,用于根据所述控制子模块的指示完成调度器中参数的处理;
所述状态处理子模块,用于根据所述控制子模块的指示完成调度器中间状态的生成。
上述方案中,所述算法发起模块具体用于:
根据获取的调度信息生成调度因子;
根据所述调度因子向算法引擎资源发送相应的调度算法请求,由所述算法引擎资源根据所述调度算法请求确定调度算法,并根据确定的调度算法得到计算结果并返回给所述算法发起模块;
将所述计算结果返回给所述中央控制模块。
上述方案中,所述算法发起模块,还用于将所述调度因子返回给所述中央控制模块;
所述中央控制模块,还用于将所述调度因子发送给下一跳节点的调度器,以使下一跳节点的调度器根据所述调度因子动态复用到对应的调度模式。
上述方案中,其特征在于,所述调度信息包括数据报文解析结果、流量配置参数、实时或历史流量统计数据、调度器的配置参数、调度器当前状态、调度器状态变化的规律信息。
基于上述的调度器,本发明实施例提供了一种调度器的动态复用方法,该方法包括:
链表管理模块将收到的队列调度请求进行缓存,并确定是否需要将所述队列调度请求存储于存储引擎资源;需要存储则向信息存储模块发送写入指令,所述信息存储模块收到写入指令时,将所述队列调度请求存储于存储引擎资源,并向中央控制模块发送调度模式更新请求;不需要存储则向中央控制模块发送调度模式更新请求;
中央控制模块收到调度模式更新请求时,向算法发起模块发送算法调度请求;算法发起模块收到所述算法调度请求时,根据获取的调度信息访问算法引擎资源中相应的调度算法,并将根据所述调度算法得到的计算结果返回给中央控制模块;
中央控制模块收到所述计算结果时,根据所述计算结果完成调度处理操作,并将所述计算结果返回给信息存储模块;信息存储模块根据返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源。
上述方案中,所述信息存储模块根据返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源之后,所述方法还包括:
所述信息存储模块读取存储引擎资源中的队列调度请求,以及计算结果中调度器调度请求、令牌桶调度请求,并缓存到所述链表管理模块;
所述中央控制模块根据更新后的调度模式对所述链表管理模块中缓存的队列调度请求、调度器调度请求、令牌桶调度请求进行判决并输出调度结果。
上述方案中,所述算法发起模块根据获取的调度信息访问算法引擎资源中相应的调度算法,并将根据所述调度算法得到的计算结果返回给所述中央控制模块,包括:
所述算法发起模块根据获取的调度信息生成调度因子;根据所述调度因子向算法引擎资源发送相应的调度算法请求,由所述算法引擎资源根据所述调度算法请求确定调度算法,并根据确定的调度算法得到计算结果并返回给所述算法发起模块;
所述算法发起模块将所述计算结果返回给所述中央控制模块。
上述方案中,所述方法还包括:
所述算法发起模块将所述调度因子返回给所述中央控制模块;
所述中央控制模块将所述调度因子发送给下一跳节点的调度器,以使下一跳节点的调度器根据所述调度因子动态复用到对应的调度模式。
上述方案中,所述调度信息包括数据报文解析结果、流量配置参数、实时或历史流量统计数据、调度器的配置参数、调度器当前状态、调度器状态变化的规律信息。
本发明实施例所提供的调度器及调度器的动态复用方法,链表管理模块缓存收到的队列调度请求,并确定是否需要将所述队列调度请求存储于存储引擎资源;需要则向信息存储模块发送写入指令,所述信息存储模块收到写入指令时,将所述队列调度请求存储于存储引擎资源,并向中央控制模块发送调度模式更新请求;不需要则向中央控制模块发送调度模式更新请求;中央控制模块收到调度模式更新请求时,向算法发起模块发送算法调度请求;算法发起模块收到算法调度请求时,根据获取的调度信息访问算法引擎资源中相应的调度算法,并将得到的计算结果返回给中央控制模块;中央控制模块收到所述计算结果时,根据所述计算结果完成调度处理操作,并将所述计算结果返回给信息存储模块;信息存储模块根据返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源。如此,本发明实施例在收到队列调度请求时,根据调度信息访问算法引擎资源中相应的调度算法,并根据得到的计算结果复用到对应的调度模式;根据对应的调度模式输出调度结果,能自适应不同流量类型对调度算法种类、调度性能、调度灵活性的差异化调度需求,从而实现各种调度模式的灵活共享及动态复用,进而降低网络运营维护的复杂度。
附图说明
图1为现有数据通讯网络的典型组网的结构示意图;
图2为现有数据通讯网络中调度器的组成结构示意图;
图3为本发明实施例调度器的组成结构示意图;
图4为本发明实施例链表管理模块的组成结构示意图;
图5为本发明实施例信息存储模块的组成结构示意图;
图6为本发明实施例中央控制模块的组成结构示意图;
图7为本发明实施例调度器的动态复用方法实现流程示意图。
具体实施方式
本发明实施例中,在收到队列调度请求时,根据调度信息访问算法引擎资源中相应的调度算法,并根据所述调度算法得到的计算结果复用到对应的调度模式;根据对应的调度模式判决并输出调度结果,能自适应不同流量类型对调度算法种类、调度性能、调度灵活性的差异化调度需求,从而实现各种调度模式的灵活共享及动态复用,进而降低网络运营维护的复杂度。
下面结合附图对本发明具体实施方式作进一步说明。
图3为本发明实施例中提供的调度器的组成结构示意图,如图3所示,该调度器包括:链表管理模块300、信息存储模块301、中央控制模块302、算法发起模块303;其中,
所述链表管理模块300,用于将收到的队列调度请求进行缓存,并确定是否需要将所述队列调度请求存储于存储引擎资源;需要存储则向所述信息存储模块301发送写入指令,不需要存储则向所述中央控制模块302发送调度模式更新请求;
所述信息存储模块301,用于收到写入指令时,将所述队列调度请求存储于存储引擎资源,并向所述中央控制模块302发送调度模式更新请求;并根据所述中央控制模块302返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源;
所述中央控制模块302,用于收到调度模式更新请求时,向所述算法发起模块303发送算法调度请求;收到所述算法发起模块303返回的计算结果时,根据所述计算结果完成调度处理操作,并将所述计算结果返回给所述信息存储模块301;
所述算法发起模块303,用于收到所述中央控制模块302发送的算法调度请求时,根据获取的调度信息访问算法引擎资源中相应的调度算法,并将根据所述调度算法得到的计算结果返回给所述中央控制模块302;
这里,所述存储引擎资源包括不同种类的存储单元和存储访问方式,其中,存储单元包括随机存取存储器(Random-Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、先入先出(First Input First Output,FIFO)存储器和缓冲器等多种标准化的储存器件;存储访问方式包括读写共用1个端口、1个读端口1个写端口、2个读端口1个写端口、2个读端口2个写端口和1个读端口2个写端口等多种标准化的读写方式;首先,按照实际需要的读写带宽确定队列调度请求的存储方式,由于队列调度请求只会有一次写入和一次读取操作,因此,可以采用读写共用1个端口或1个读端口1个写端口的存储方式当1W1R的存储单元不够用时也可以采用1W2R,2W1R,2W2R等存储方式,根据确定的存储方式将所述队列调度请求存储于相应的存储单元中;然后,调度模式更新过程中,将所述计算结果中的调度器调度请求及令牌桶调度请求,按照实际需要的读写带宽及调度算法确定的存储方式,存储于存储引擎资源中,由于调度器调度请求及令牌桶调度请求涉及计算前写入和计算后写入操作,因此,可以选择2个读端口2个写端口的存储方式;标准化的存储引擎资源,能够满足不同设备对队列数目、调度器数目和令牌桶数目的差异化需求,从而提高了资源利用率;
这里,所述算法引擎资源包括各种不同种类的标准化的调度算法,例如,严格优先级(Strict Priority,SP)调度算法、轮循(Round Robin,RR)调度算法、加权轮循(WeightedRound Robin,WRR)、加权差额循环(Weighted Deficit Round Robin,WDRR)、加权公平排队(Weighted Fair Queuing,WFQ)调度算法以及标准化的算法组合,例如,SP+WRR、SP+WDRR、SP+WFQ,也可以包括已知的标准化的漏桶算法、哈希算法、匹配算法和校验算法等未来可能用于调度的标准化的算法资源,该算法引擎资源实现上可以是具体的高性能的硬核固件,也可以是具有高灵活度的软件程序,或者介于两者之间的某种形态,该算法引擎资源可以平滑不同网络流量类型对调度算法、调度性能和调度灵活性的差异化需求,在软件资源和硬件资源之间自主迁移,极大地降低了设备的复杂度。
这里,所述信息存储模块301如何根据所述中央控制模块302返回的计算结果复用到对应的调度模式,属于现有技术,重复之处不再赘述。
进一步地,所述信息存储模块,还用于读取存储引擎资源中的队列调度请求,以及计算结果中调度器调度请求、令牌桶调度请求,并缓存到所述链表管理模块;
所述中央控制模块,还用于根据更新后的调度模式对所述链表管理模块中缓存的队列调度请求、调度器调度请求、令牌桶调度请求进行判决并输出调度结果。
具体的,所述链表管理模块的组成结构如图4所示,所述链表管理模块300包括第一仲裁子模块400、队列缓存子模块401、调度器缓存子模块402、令牌桶缓存子模块403;其中,
所述第一仲裁子模块400,用于将所述队列缓存子模块、调度器缓存子模块或令牌桶缓存子模块之一中的缓存数据仲裁输出;
所述队列缓存子模块401,用于缓存收到的队列调度请求;
所述调度器缓存子模块402,用于缓存计算结果中的调度器调度请求;
所述令牌桶缓存子模块403,用于缓存计算结果中的令牌桶调度请求。
这里,所述队列缓存子模块401缓存的是收到的队列调度请求,在所述第一仲裁子模块400确定需要写入存储引擎资源时,向所述信息存储模块301发送写入指令,由所述信息存储模块301将所述队列调度请求写入存储引擎资源;而所述调度器调度请求及所述令牌桶调度请求是根据调度算法得到的计算结果,因此,所述调度器缓存子模块402及所述令牌桶缓存子模块403缓存的调度器调度请求及令牌桶调度请求是在调度模式更新后从存储引擎资源中读取的。
具体的,所述信息存储模块的组成结构如图5所示,所述信息存储模块包括第二仲裁子模块500、链表更新子模块501、参数更新子模块502、状态更新子模块503;其中,
所述第二仲裁子模块500,用于根据所述计算结果复用到对应的调度模式,并指示所述链表更新子模块、参数更新子模块、状态更新子模块更新对应调度模式的调度器链表、参数及状态;
所述链表更新子模块501,用于根据所述第二仲裁子模块500的指示更新调度器的链表;
所述参数更新子模块502,用于根据所述第二仲裁子模块500的指示更新调度器的参数;
所述状态更新子模块503,用于根据所述第二仲裁子模块500的指示更新调度器的状态;
其中,所述链表更新子模块501包括尾标志缓存子模块、上指针缓存子模块和下指针缓存子模块,所述状态更新子模块502包括队列空标志缓存子模块和调度器空标志缓存子模块,所述参数更新子模块503包括计数器缓存子模块和活动链表缓存子模块;
所述信息存储模块301采用通用化的调度子模块,使调度器可以随意组合调度子模块更新调度模式,例如,参数更新子模块502和状态更新子模块503的组合可以完成SP调度模式的更新;链表更新子模块501、参数更新子模块502和状态更新子模块503的组合可以完成WFQ调度模式的更新,也可以随时更换调度模式,例如,所述第二仲裁子模块500根据调度算法计算得到的计算结果,既可以完成RR到WRR调度模式的转换,也可以完成WRR到WFQ调度模式的转换,还可以置位或复位调度器的内部参数,例如,计数器值,使所述计数器值在期望的状态开始工作,从而提高了设备得集成度。
具体的,所述中央控制模块的组成结构如图6所示,所述中央控制模块包括控制子模块600、链表处理子模块601、参数处理子模块602、状态处理子模块603;其中,
所述控制子模块600,用于收到调度模式更新请求时,向所述算法发起模块发送算法调度请求;收到所述算法发起模块返回的计算结果时,根据所述计算结果指示所述链表处理子模块601、所述参数处理子模块602、所述状态处理子模块603完成调度处理操作;并将所述计算结果返回给所述信息存储模块301;
所述链表处理子模块601,用于根据所述控制子模块600的指示完成调度器中链表的处理;
所述参数处理子模块602,用于根据所述控制子模块600的指示完成调度器中参数的处理;
所述状态处理子模块603,用于根据所述控制子模块600的指示完成调度器中间状态的生成;
这里,所述链表处理子模块601包括入链处理子模块、出链处理子模块、迁移处理子模块;其中,所述入链处理子模块完成节点入链的相关处理,所述出链处理子模块完成节点出链的相关处理,所述迁移处理子模块完成节点在链表上的位置移动操作。
这里,所述算法发起模块303具体用于:
根据获取的调度信息生成调度因子;
根据所述调度因子向算法引擎资源发送相应的调度算法请求,由所述算法引擎资源根据所述调度算法请求确定调度算法,并根据确定的调度算法得到计算结果并返回给所述算法发起模块;
将所述计算结果返回给所述中央控制模块302。
这里,所述调度信息包括数据报文解析结果、流量配置参数、实时或历史流量统计数据等信息;其中,所述数据报文解析结果是对数据报文分析后得出的分析结果,例如,对互联网协议(Internet Protocol,IP)数据报文进行解析,得到的解析结果可以包括所述IP数据报文的确定流量分析控制目的媒体访问控制地址(Destination Media AccessControl address,DMAC)、源媒体访问控制地址(Source Media Access Control address,SMAC)、以太网类型(Ethernet Type,ETYPR)、目的IP地址(Destination InternetProtocol address,DIP)、源IP地址(Source Internet Protocol address,SIP)、服务器虚拟局域网(Server Virtual Local Area Network,SVLAN)、客户端虚拟局域网(CustermerVirtual Local Area Network,CVLAN)、优先级(Priority levels,PRI)、服务等级(Classof Service,Cos)域,也可以包括对各个域的判断标志,例如,是否双标签(TAG),本点(Media Access Control,MAC)地址,多播IP包等;所述流量配置参数是中央处理器(CPU)配置的用于调度数据报文的配置数据,例如,调度时间间隔,调度颗粒大小,整形速率,整形桶深度,端口权重分配,调度器挂接关系等;所述实时流量统计数据是对当前时间段内入队和出队数据报文的计数;所述历史流量统计数据是从设备开始工作后,入队和出队数据报文总的计数。
这里,首先,根据数据报文解析结果可以得出流量类型等信息,然后,再综合分析流量配置参数、实时或历史流量统计数据、调度器的配置参数、调度器当前状态、调度器状态变化的规律信息等信息生成调度因子,根据调度因子确定调度算法,例如,针对高优先级的通信信令流可以选择SP调度算法、针对大带宽点对多点的多播视频流可以选择RR调度算法、针对延时敏感的语音流和突发式的网络数据流选择WFQ调度算法,能够自适应不同数据流量类型对调度算法种类、调度性能、调度灵活性的差异化调度需求,从而实现各种调度模式的灵活共享及动态复用,进而能够有效地降低设备的运营成本。
这里,定义调度因子是期望数据通讯网络中的调度器可以自启动、自激励和自调整,由于调度因子需要在全网设备内传播,因此,可以将所述调度因子携带于数据报文头部的ETYPE域中,使用的格式与一个虚拟局域网(Virtual Local Area Network,VLAN)TAG的格式保持一致,传递到数据通讯网络中下一跳节点的调度器,使下一跳节点的调度器根据从数据报文解析出的调度因子,在网络管理失效的情况下自动更新调度模式,并根据对应的调度模式输出调度结果,能够确保网络设备的正常工作,从而提高了网络运行过程中的可靠性。
以上功能模块的划分方式仅为本发明实施例给出的一种优选实现方式,功能模块的划分方式不构成对本发明的限制。
在实际应用中,所述链表管理模块300、信息存储模块301、中央控制模块302、算法发起模块303均可由位于调度器的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。
本发明实施例提出了一种调度器的动态复用方法,如图7所示,该方法包括:
步骤S700:链表管理模块将收到的队列调度请求进行缓存,并确定是否需要将所述队列调度请求存储于存储引擎资源,若是,则转入步骤S701;否则,转入步骤S703;
步骤S701:向信息存储模块发送写入指令;
步骤S702:所述信息存储模块收到写入指令时,将所述队列调度请求存储于存储引擎资源,并向中央控制模块发送调度模式更新请求;
步骤S703:向中央控制模块发送调度模式更新请求;
步骤S704:中央控制模块收到调度模式更新请求时,向算法发起模块发送算法调度请求;
步骤S705:算法发起模块收到所述算法调度请求时,根据获取的调度信息访问算法引擎资源中相应的调度算法,并将根据所述调度算法得到的计算结果返回给中央控制模块;
步骤S706:中央控制模块收到所述计算结果时,根据所述计算结果完成调度处理操作,并将所述计算结果返回给信息存储模块;
步骤S707:信息存储模块根据返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源。
这里,链表管理模块对收到队列调度请求进行合法性验证,验证通过则确定需要将所述队列调度请求存储于存储引擎资源,验证未通过则确定不需要将所述队列调度请求存储于存储引擎资源。
具体的,算法发起模块根据获取的调度信息访问算法引擎资源中相应的调度算法,并将根据所述调度算法得到的计算结果返回给所述中央控制模块,包括:
所述算法发起模块根据获取的调度信息生成调度因子;
所述算法发起模块根据所述调度因子向算法引擎资源发送相应的调度算法请求,由所述算法引擎资源根据所述调度算法请求确定调度算法,并根据确定的调度算法得到计算结果并返回给所述算法发起模块;
所述算法发起模块将所述计算结果返回给所述中央控制模块。
这里,所述调度信息包括数据报文解析结果、流量配置参数、实时或历史流量统计数据、调度器的配置参数、调度器当前状态、调度器状态变化的规律信息。
进一步地,所述方法还包括:
所述算法发起模块将所述调度因子返回给所述中央控制模块;
所述中央控制模块将所述调度因子发送给下一跳节点的调度器,以使下一跳节点的调度器根据所述调度因子动态复用到对应的调度模式。
这里,定义调度因子是期望数据通讯网络中的调度器可以自启动、自激励和自调整,由于调度因子需要在全网设备内传播,因此,可以将所述调度因子携带于数据报文头部的ETYPE域中,使用的格式与一个虚拟局域网(Virtual Local Area Network,VLAN)TAG的格式保持一致,传递到数据通讯网络中下一跳节点的调度器,使下一跳节点的调度器根据从数据报文解析出的调度因子,在网络管理失效的情况下自动更新调度模式,并根据对应的调度模式输出调度结果,能够确保网络设备的正常工作,从而提高了网络运行过程中的可靠性。
进一步地,在步骤S707之后,所述方法还包括:
步骤S708:所述信息存储模块301读取存储引擎资源中的队列调度请求,以及计算结果中调度器调度请求、令牌桶调度请求,并缓存到所述链表管理模块300;
步骤S709:所述中央控制模块302根据更新后的调度模式对所述链表管理模块300中缓存的队列调度请求、调度器调度请求、令牌桶调度请求进行判决并输出调度结果。
进一步地,步骤S709执行之后,返回到步骤S700,以实现调度结果的循环判决及输出过程,这样,在收到新的队列调度请求时,根据获取的调度信息访问算法引擎资源中相应的调度算法,并根据所述调度算法得到的计算结果复用到对应的调度模式;根据对应的调度模式判决并输出调度结果,从而实现调度器的动态复用。
采用本发明实施例所述的调度器及调度器的动态复用方法,与现有技术相比,具有如下显著的进步:
1)本发明实施例中采用通用化的调度子模块,并结合标准化的存储引擎资源及算法引擎资源,能充分整合现有调度器中的硬件资源,从而提高了硬件开发的效率;
2)本发明实施例在收到队列调度请求时,根据调度信息访问算法引擎资源中相应的调度算法,并根据所述调度算法得到的计算结果复用到对应的调度模式;根据对应的调度模式输出调度结果,能够自适应不同数据流量类型对调度算法种类、调度性能、调度灵活性的差异化调度需求,从而有效地降低了网络运营维护的复杂度;
3)本发明实施例中可以将调度因子传递到数据通讯网络中下一跳节点的调度器,使下一跳节点的调度器根据调度因子自动更新调度模式,并根据对应的调度模式输出调度结果,能够确保网络设备的正常工作,从而提高了网络运行过程中的可靠性。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种调度器,其特征在于,所述调度器包括:链表管理模块、信息存储模块、中央控制模块、算法发起模块;其中,
所述链表管理模块,用于缓存收到的队列调度请求,并确定是否需要将所述队列调度请求存储于存储引擎资源;需要存储则向所述信息存储模块发送写入指令,不需要存储则向所述中央控制模块发送调度模式更新请求;
所述信息存储模块,用于收到写入指令时,将所述队列调度请求存储于存储引擎资源,并向所述中央控制模块发送调度模式更新请求;根据所述中央控制模块返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源;
所述中央控制模块,用于收到调度模式更新请求时,向所述算法发起模块发送算法调度请求;收到所述算法发起模块返回的计算结果时,根据所述计算结果完成调度处理操作,并将所述计算结果返回给所述信息存储模块;
所述算法发起模块,用于收到所述中央控制模块发送的算法调度请求时,根据获取的调度信息生成调度因子,根据所述调度因子向算法引擎资源发送相应的调度算法请求,由所述算法引擎资源根据所述调度算法请求确定调度算法,并根据确定的调度算法得到计算结果并返回给所述算法发起模块,将所述计算结果返回给所述中央控制模块。
2.根据权利要求1所述的调度器,其特征在于,所述信息存储模块,还用于读取存储引擎资源中的队列调度请求,以及计算结果中调度器调度请求、令牌桶调度请求,并缓存到所述链表管理模块;
所述中央控制模块,还用于根据更新后的调度模式对所述链表管理模块中缓存的队列调度请求、调度器调度请求、令牌桶调度请求进行判决并输出调度结果。
3.根据权利要求1所述的调度器,其特征在于,所述链表管理模块包括第一仲裁子模块、队列缓存子模块、调度器缓存子模块、令牌桶缓存子模块;其中,
所述第一仲裁子模块,用于将所述队列缓存子模块、调度器缓存子模块或令牌桶缓存子模块之一中的缓存数据仲裁输出;
所述队列缓存子模块,用于缓存收到的队列调度请求;
所述调度器缓存子模块,用于缓存计算结果中的调度器调度请求;
所述令牌桶缓存子模块,用于缓存计算结果中的令牌桶调度请求。
4.根据权利要求1所述的调度器,其特征在于,所述信息存储模块包括第二仲裁子模块、链表更新子模块、参数更新子模块、状态更新子模块;其中,
所述第二仲裁子模块,用于根据所述计算结果复用到对应的调度模式,并指示所述链表更新子模块、参数更新子模块、状态更新子模块更新对应调度模式的调度器链表、参数及状态;
所述链表更新子模块,用于根据所述第二仲裁子模块的指示更新调度器的链表;
所述参数更新子模块,用于根据所述第二仲裁子模块的指示更新调度器的参数;
所述状态更新子模块,用于根据所述第二仲裁子模块的指示更新调度器的状态。
5.根据权利要求1所述的调度器,其特征在于,所述中央控制模块包括控制子模块、参数处理子模块、链表处理子模块、状态处理子模块;其中,
所述控制子模块,用于收到调度模式更新请求时,向所述算法发起模块发送算法调度请求;收到所述算法发起模块返回的计算结果时,根据所述计算结果指示所述链表处理子模块、所述参数处理子模块、所述状态处理子模块完成调度相关处理操作;并将所述计算结果返回给所述信息存储模块;
所述链表处理子模块,用于根据所述控制子模块的指示完成调度器中链表的处理;
所述参数处理子模块,用于根据所述控制子模块的指示完成调度器中参数的处理;
所述状态处理子模块,用于根据所述控制子模块的指示完成调度器中间状态的生成。
6.根据权利要求1所述的调度器,其特征在于,所述算法发起模块,还用于将所述调度因子返回给所述中央控制模块;
所述中央控制模块,还用于将所述调度因子发送给下一跳节点的调度器,以使下一跳节点的调度器根据所述调度因子动态复用到对应的调度模式。
7.根据权利要求1至6任一项所述的调度器,其特征在于,所述调度信息包括数据报文解析结果、流量配置参数、实时或历史流量统计数据、调度器的配置参数、调度器当前状态、调度器状态变化的规律信息。
8.一种调度器的动态复用方法,其特征在于,所述方法包括:
链表管理模块将收到的队列调度请求进行缓存,并确定是否需要将所述队列调度请求存储于存储引擎资源;需要存储则向信息存储模块发送写入指令,所述信息存储模块收到写入指令时,将所述队列调度请求存储于存储引擎资源,并向中央控制模块发送调度模式更新请求;不需要存储则向中央控制模块发送调度模式更新请求;
中央控制模块收到调度模式更新请求时,向算法发起模块发送算法调度请求;算法发起模块收到所述算法调度请求时,根据获取的调度信息生成调度因子,根据所述调度因子向算法引擎资源发送相应的调度算法请求,由所述算法引擎资源根据所述调度算法请求确定调度算法,并根据确定的调度算法得到计算结果并返回给所述算法发起模块,将所述计算结果返回给中央控制模块;
中央控制模块收到所述计算结果时,根据所述计算结果完成调度处理操作,并将所述计算结果返回给信息存储模块;信息存储模块根据返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源。
9.根据权利要求8所述的方法,其特征在于,所述信息存储模块根据返回的计算结果复用到对应的调度模式,并将所述计算结果存储于存储引擎资源之后,所述方法还包括:
所述信息存储模块读取存储引擎资源中的队列调度请求,以及计算结果中调度器调度请求、令牌桶调度请求,并缓存到所述链表管理模块;
所述中央控制模块根据更新后的调度模式对所述链表管理模块中缓存的队列调度请求、调度器调度请求、令牌桶调度请求进行判决并输出调度结果。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述算法发起模块将所述调度因子返回给所述中央控制模块;
所述中央控制模块将所述调度因子发送给下一跳节点的调度器,以使下一跳节点的调度器根据所述调度因子动态复用到对应的调度模式。
11.根据权利要求8至10任一项所述的方法,其特征在于,所述调度信息包括数据报文解析结果、流量配置参数、实时或历史流量统计数据、调度器的配置参数、调度器当前状态、调度器状态变化的规律信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410691247.2A CN105700940B (zh) | 2014-11-25 | 2014-11-25 | 一种调度器及调度器的动态复用方法 |
PCT/CN2015/089663 WO2016082603A1 (zh) | 2014-11-25 | 2015-09-15 | 一种调度器及调度器的动态复用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410691247.2A CN105700940B (zh) | 2014-11-25 | 2014-11-25 | 一种调度器及调度器的动态复用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105700940A CN105700940A (zh) | 2016-06-22 |
CN105700940B true CN105700940B (zh) | 2019-05-31 |
Family
ID=56073553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410691247.2A Active CN105700940B (zh) | 2014-11-25 | 2014-11-25 | 一种调度器及调度器的动态复用方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105700940B (zh) |
WO (1) | WO2016082603A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544789B (zh) * | 2016-06-23 | 2021-06-15 | 中兴通讯股份有限公司 | 一种拓扑适配方法和装置 |
CN110535714B (zh) * | 2018-05-25 | 2023-04-18 | 华为技术有限公司 | 一种仲裁方法及相关装置 |
CN110703999A (zh) * | 2019-09-30 | 2020-01-17 | 盛科网络(苏州)有限公司 | 存储器的读操作的调度方法和存储器 |
CN111126895A (zh) * | 2019-11-18 | 2020-05-08 | 青岛海信网络科技股份有限公司 | 一种复杂场景下调度智能分析算法的管理仓库及调度方法 |
CN112590880B (zh) * | 2020-12-21 | 2023-07-18 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种ats控制权切换方法 |
CN115801897B (zh) * | 2022-12-20 | 2024-05-24 | 南京工程学院 | 一种边缘代理的报文动态处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478703A (zh) * | 2008-12-12 | 2009-07-08 | 北京邮电大学 | 一种t-mpls光传送网络多业务节点的实现方法 |
CN102246462A (zh) * | 2008-10-14 | 2011-11-16 | 北电网络有限公司 | 用于加权公平队列的方法与系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070005917A (ko) * | 2003-09-30 | 2007-01-10 | 쟈루나 에스에이 | 운영체제 |
US8893130B2 (en) * | 2007-03-26 | 2014-11-18 | Raytheon Company | Task scheduling method and system |
CN101272345B (zh) * | 2008-04-29 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种流量控制的方法、系统和装置 |
US8099582B2 (en) * | 2009-03-24 | 2012-01-17 | International Business Machines Corporation | Tracking deallocated load instructions using a dependence matrix |
CN101958824B (zh) * | 2009-07-14 | 2012-06-27 | 华为技术有限公司 | 一种数据交换方法及数据交换结构 |
CN101710292B (zh) * | 2009-12-21 | 2013-03-27 | 中国人民解放军信息工程大学 | 一种可重构任务处理系统、调度器及任务调度方法 |
-
2014
- 2014-11-25 CN CN201410691247.2A patent/CN105700940B/zh active Active
-
2015
- 2015-09-15 WO PCT/CN2015/089663 patent/WO2016082603A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246462A (zh) * | 2008-10-14 | 2011-11-16 | 北电网络有限公司 | 用于加权公平队列的方法与系统 |
CN101478703A (zh) * | 2008-12-12 | 2009-07-08 | 北京邮电大学 | 一种t-mpls光传送网络多业务节点的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105700940A (zh) | 2016-06-22 |
WO2016082603A1 (zh) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700940B (zh) | 一种调度器及调度器的动态复用方法 | |
Kalør et al. | Network slicing in industry 4.0 applications: Abstraction methods and end-to-end analysis | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
US8184540B1 (en) | Packet lifetime-based memory allocation | |
US8144588B1 (en) | Scalable resource management in distributed environment | |
US10063478B2 (en) | Switching device and control method of switching device | |
US9940471B2 (en) | Virtual output queue authorization management method and device, and computer storage medium | |
JP2006506845A (ja) | ルータにおけるパケットに対し論理リンクを選択する方法 | |
CN113225196B (zh) | 服务等级配置方法以及装置 | |
Rukmani et al. | Scheduling algorithm for real time applications in mobile ad hoc network with opnet modeler | |
CN115622952A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
JP3623420B2 (ja) | トラヒック制御方法 | |
KR20120055947A (ko) | 가입자 인지 플로우별 QoS 제공 방법 및 장치 | |
Rukmani et al. | Enhanced low latency queuing algorithm for real time applications in wireless networks | |
KR101587379B1 (ko) | 큐 사이즈의 동적 제어 방법 및 이를 수행하는 장치 | |
Asaduzzaman et al. | The Eight Class of Service Model-An Improvement over the Five Classes of Service | |
Rashid et al. | Traffic intensity based efficient packet schedualing | |
Tong et al. | Quantum varying deficit round robin scheduling over priority queues | |
Kulhari et al. | Traffic shaping at differentiated services enabled edge router using adaptive packet allocation to router input queue | |
RU2777035C1 (ru) | Способ вероятностного взвешенного справедливого обслуживания очередей и устройство его реализующее | |
Fu | A study on differentiated service queuing scheme with an overflow buffer allocation within a UMTS core network | |
KR102519838B1 (ko) | 데이터 융합 스위칭 장치 및 방법 | |
Joung et al. | Effect of flow aggregation on the maximum end-to-end delay | |
Axer et al. | Requirements on real-time-capable automotive ethernet architectures | |
ElGili et al. | The effect of Queuing Mechanisms First in First out (FIFO), Priority Queuing (PQ) and Weighted Fair Queuing (WFQ) on network''s Routers and Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |