一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种队列调度方法、装置及系统与流程

2022-02-20 19:24:20 来源:中国专利 TAG:


1.本技术涉及通信领域,尤其是一种队列调度方法、装置及系统。


背景技术:

2.目前计算机网络的高速发展,使得对带宽、延迟、抖动敏感的语音、图像、重要数据越来越多地在网上传输。为了能够对数据传输性能提供不同的承诺和保证,广泛使用了服务质量(quality of service,qos)技术来保证网络传输质量。随着用户规模的扩大,业务种类的增多,要求以太网设备不仅能够进一步细化区分业务流量,而且还能够对多个用户、多种业务等层级的数据流进行统一管理和分层调度,所以分层服务质量(hierarchical quality of service,hqos)技术应运而生。hqos技术将调度策略组装成了分层次的树状结构(下文简称“hqos调度树”),通过该hqos调度树实现对传输不同数据流的队列的调度。
3.在传统技术中,hqos调度树由流量管理(traffic management,tm)硬件实体实现,这种方式下各个层级之间的映射关系是固定的,无法实现灵活管理,不能满足实际的传输需求,且会导致资源浪费。


技术实现要素:

4.本技术实施例提供了一种队列调度方法、装置及系统,实现对队列的灵活管理,满足实际的传输需求,节约资源。
5.第一方面,提供了一种队列调度方法,该方法可以由处理装置执行,该处理装置可以是中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等。方法包括如下步骤:处理装置生成hqos调度树,hqos调度树是用于描述通信网络中参与调度的节点的树形结构,hqos调度树包括多个叶子节点,多个叶子节点中的每个叶子节点用于标识tm硬件实体上的队列。tm硬件实体包括多个队列,多个叶子节点与多个队列一一对应。在生成hqos调度树之后,处理装置可以根据多个叶子节点获取多个队列的流量特性,根据多个队列的流量特性确定多个队列中至少一个队列的调度参数,多个队列的流量特性为多个队列传输的数据流的流量特性。并且,处理装置向tm硬件实体中与至少一个队列对应的调度装置发送调度消息,调度消息包括至少一个队列的调度参数,调度参数用于调度至少一个队列。与传统技术的不同之处在于,该hqos调度树由软件实现,在不需要更换tm硬件实体的前提下就可以实现对队列的灵活管理的目的,满足实际的传输需求,节约调度资源。
6.可选的,hqos调度树还包括多个叶子节点的根节点。相应的,处理装置根据多个队列的流量特性确定多个队列中至少一个队列的调度参数可以为:处理装置根据多个队列的流量特性和根节点的调度参数确定多个队列中至少一个队列的调度参数。由于hqos调度树由软件实现,所以根节点和叶子节点之间的映射关系可以变更,而无需更换tm硬件实体,实现对队列的灵活管理。
7.可选的,hqos调度树还包括一个根节点和根节点对应的至少一个分支节点,至少
一个分支节点中的每个分支节点对应一个或多个叶子节点,不同的分支节点对应的叶子节点不同。相应的,处理装置根据多个队列的流量特性确定多个队列中至少一个队列的调度参数可以为:处理装置根据多个队列的流量特性确定至少一个分支节点的流量特性,根据至少一个分支节点的流量特性和根节点的调度参数确定至少一个分支节点的调度参数,以及根据多个队列的流量特性和至少一个分支节点的调度参数确定多个队列中至少一个队列的调度参数。由于hqos调度树由软件实现,所以根节点、分支节点和叶子节点之间的映射关系可以变更,而无需更换tm硬件实体,实现对队列的灵活管理。
8.可选的,流量特性包括输入速率和队列标识。相应的,处理装置根据多个队列的流量特性确定多个队列中至少一个队列的调度参数可以为:处理装置根据多个队列的队列标识确定多个队列的特性参数,以及根据多个队列的输入速率和特性参数确定多个队列中至少一个队列的调度参数,其中,特性参数包括优先级和权重中的至少一个。
9.可选的,调度装置为令牌桶,调度参数为令牌桶输出令牌的速率。
10.可选的,tm硬件实体为专用集成电路asic芯片或可编程逻辑控制器plc。
11.可选的,处理装置和tm硬件实体属于相同的网络设备,该网络设备可以是路由器、交换机或基站等。
12.第二方面,提供了一种队列调度方法,方法应用于tm硬件实体的调度装置,tm硬件实体还包括多个队列,方法包括如下步骤:调度装置接收来自处理装置的调度消息,调度消息包括多个队列中至少一个队列的调度参数,tm硬件实体不包括处理装置。调度装置根据至少一个队列的调度参数对至少一个队列进行调度。由于调度装置是根据来自不属于tm硬件实体的处理装置的调度消息对队列进行调度,所以当调度消息中对队列的调度参数发生变化时,不需要对tm硬件实体进行更换,从而实现对队列的灵活管理的目的,满足实际的传输需求,节约资源。
13.可选的,处理装置和tm硬件实体属于同一个网络设备。
14.第三方面,提供了一种处理装置,装置包括:生成单元,用于生成分层服务质量hqos调度树,hqos调度树是用于描述通信网络中参与调度的节点的树形结构,hqos调度树包括多个叶子节点,多个叶子节点中的每个叶子节点用于标识流量管理tm硬件实体上的队列,tm硬件实体包括多个队列,多个叶子节点与多个队列一一对应;获取单元,用于根据多个叶子节点获取多个队列的流量特性;确定单元,用于根据多个队列的流量特性确定多个队列中至少一个队列的调度参数,多个队列的流量特性为多个队列传输的数据流的流量特性;发送单元,用于向tm硬件实体中与至少一个队列对应的调度装置发送调度消息,调度消息包括至少一个队列的调度参数,调度参数用于调度至少一个队列。
15.可选的,hqos调度树还包括多个叶子节点的根节点;
16.确定单元,用于根据多个队列的流量特性和根节点的调度参数确定多个队列中至少一个队列的调度参数。
17.可选的,hqos调度树还包括一个根节点和根节点对应的至少一个分支节点,至少一个分支节点中的每个分支节点对应一个或多个叶子节点,不同的分支节点对应的叶子节点不同;
18.确定单元,用于根据多个队列的流量特性确定至少一个分支节点的流量特性,根据至少一个分支节点的流量特性和根节点的调度参数确定至少一个分支节点的调度参数,
根据多个队列的流量特性和至少一个分支节点的调度参数确定多个队列中至少一个队列的调度参数。
19.可选的,流量特性包括输入速率和队列标识;
20.确定单元,用于根据多个队列的队列标识确定多个队列的特性参数,并根据多个队列的输入速率和特性参数确定多个队列中至少一个队列的调度参数,特性参数包括优先级和权重中的至少一个。
21.可选的,调度装置为令牌桶,调度参数为令牌桶输出令牌的速率。
22.可选的,tm硬件实体为专用集成电路asic芯片或可编程逻辑控制器plc。
23.可选的,处理装置和tm硬件实体属于相同的网络设备。
24.第四方面,提供了一种调度装置,装置属于tm硬件实体,流量管理tm硬件实体还包括多个队列,调度装置包括:接收单元,用于接收来自处理装置的调度消息,调度消息包括多个队列中至少一个队列的调度参数,tm硬件实体不包括处理装置;调度单元,用于根据至少一个队列的调度参数对至少一个队列进行调度。
25.可选的,处理装置和tm硬件实体属于同一个网络设备。
26.第五方面,提供了一种队列调度系统,包括上述第三方面的处理装置和第四方面的调度装置。
27.第六方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面的队列调度方法或执行第二方面的队列调度方法。
附图说明
28.图1为本技术实施例提供的hqos调度树的示意图;
29.图2为本技术实施例提供的队列调度系统的示意图;
30.图3为本技术实施例提供的队列调度方法的流程示意图;
31.图4为本技术实施例提供的hqos调度树的另一个示意图;
32.图5为本技术实施例提供的处理装置500的结构示意图;
33.图6为本技术实施例提供的调度装置600的结构示意图;
34.图7为本技术实施例提供的一种设备700的结构示意图;
35.图8为本技术实施例提供的一种设备800的结构示意图。
具体实施方式
36.在本技术实施例中,hqos调度树是用于描述通信网络中参与调度的节点的树形结构,该树形结构至少包括多个叶子(leaf)节点和该多个叶子节点所属的根(root)节点,可选的,还可以包括分支节点。
37.叶子节点是hqos调度树中最底层的节点,一个叶子节点用于标识一个队列(quene)。根节点是hqos调度树中最顶层的节点。分支节点是hqos调度树中中间层的节点,介于根节点和叶子节点之间。一个hqos调度树可以包括一层或多层分支节点,每个分支节点对应一个或多个叶子节点。
38.其中,一个队列用于传输一条数据流,同一个分支节点对应的队列可以传输具有相同属性的数据流,例如属于同一个用户组、同一个用户或同一个业务等。
39.例如,参见图1,hqos调度树包括四层树形结构,该树形结构的最顶层为根节点10,第二层包括分支节点20和分支节点21,第三层包括分支节点30、分支节点31和分支节点32,第四层包括叶子节点40、叶子节点41、叶子节点42、叶子节点43、叶子节点44、叶子节点45、叶子节点46和叶子节点47。其中,上述八个叶子节点分别标识一个队列,即一共标识8个队列,用于传输8条数据流。
40.分支节点20为分支节点30和分支节点31的上层分支节点,分支节点20用于标识用户组1的数据流,分支节点30用于标识属于用户组1的用户1的数据流,分支节点31用于标识属于用户组1的用户2的数据流。
41.分支节点30为叶子节点40、叶子节点41和叶子节点42的上层分支节点,其中,叶子节点40用于标识用户1的业务1的数据流,叶子节点41用于标识用户1的业务2的数据流,叶子节点42用于标识用户1的业务3的数据流。
42.分支节点31为叶子节点43和叶子节点44的上层分支节点,其中,叶子节点43用于标识用户2的业务1的数据流,叶子节点44用于标识用户2的业务4的数据流。
43.分支节点21为分支节点32的上层分支节点,分支节点21用于标识用户组2的数据流,分支节点32用于标识属于用户组2的用户3的数据流。分支节点32为叶子节点45、叶子节点46和叶子节点47的上层分支节点,其中,叶子节点45用于标识用户3的业务1的数据流,叶子节点46用于标识用户3的业务2的数据流,叶子节点47用于标识用户3的业务5的数据流。
44.传统的hqos技术,hqos调度树采用tm硬件实体实现,tm硬件实体包括队列和调度器,每个分支节点和根节点分别具有对应的调度器,根节点对应的调度器用于调度分支节点的调度器,分支节点的调度器用于调度叶子节点对应的队列。各层级的调度器之间的映射关系以及调度器和队列之间的映射关系是固定的,因为该映射关系是通过硬件连接实现的,所以无法实现对队列的灵活管理。如果需要改变各层级之间的映射关系,则需要更换tm硬件实体才可以实现。此外,如果某个分支节点或根节点对队列的数目的需求减少,那么没有被利用的队列就会造成资源的浪费。
45.例如,根节点10对应的调度器用于调度分支节点20的调度器和分支节点21的调度器,分支节点20的调度器用于调度分支节点30的调度器和分支节点31的调度器,分支节点21的调度器用于调度分支节点32的调度器,分支节点30的调度器用于调度叶子节点40、叶子节点41和叶子节点42分别对应的队列,分支节点31的调度器用于调度叶子节点43和叶子节点44分别对应的队列,分支节点32用于调度叶子节点45、叶子节点46和叶子节点47分别对应的队列。也就是说,上述调度器的调度对象是固定的,不可以灵活改变,如果改变,则需要更换tm硬件实体。假设叶子节点40对应的队列没有数据流,而叶子节点43对应的队列数据流较多,依照传统技术也无法将叶子节点40对应的队列从分支节点30对应的调度器释放出来,而被分支节点31对应的调度器调度使用,所以不能满足实际的传输需求,在一定程度上造成资源的浪费。
46.为了解决该技术问题,本技术实施例提供了一种队列调度方法,该队列调度方法的主要构思是采用软件实现hqos调度树,tm硬件实体仅包括多个队列和每个队列对应的一个调度装置,该调度装置例如为令牌桶。由于本技术实施例在软件层面设置各层级之间的映射关系,各层级之间的映射关系可以进行改变,从而实现对队列的灵活管理,满足实际的传输需求,减少资源的浪费。
47.图2为队列调度方法可能应用的一个硬件场景示意图,即该队列调度方法可以应用于队列调度系统,该系统包括网络设备10和设备11。
48.其中,该网络设备10可以为路由器、交换机或基站等。其中,当网络设备10为路由器或交换机时,网络设备10可以是接入(access)网、汇聚(aggresive)网或者核心(core)网的任意一个网络设备。当网络设备10为接入网的设备时,网络设备10例如为宽带接入服务器(broadband remote access server,bras)或数字用户线路接入复用器(digital subscriber line access multiplexer,dslam)等。
49.在图2中,网络设备10包括处理装置101和tm硬件实体102。
50.其中,处理装置101可以是中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等。
51.tm硬件实体102可以是专用集成电路(application specific integrated circuit,asic)芯片或可编程逻辑控制器(programmable logic controller,plc)等,本技术实施例不做具体限定。
52.tm硬件实体102包括多个队列和每个队列对应的调度装置,该调度装置例如为令牌桶(token bucket)。tm硬件实体102可以根据令牌桶输出令牌的速率来确定对应队列输出数据流的速率。
53.需要说明的是,在图2中,处理装置101和tm硬件实体102集成在同一个网络设备(即网络设备10)中,在一些其他的应用场景中,tm硬件实体102可以独立于包括处理装置101的网络设备而存在。
54.设备11可以是服务器或终端设备,其中,终端设备例如可以为手机、平板电脑、个人计算机(personal computer,pc)、多媒体播放设备等。网络设备10与设备11之间通过网络通信,该网络可以是运营商网络,也可以是局域网。
55.网络设备10通过通信接口接收来自设备11的数据流,将该数据流传输到队列中。网络设备10的处理装置101根据队列的流量特性确定队列的调度参数,并向tm硬件实体102发送该调度消息,该调度消息包括该调度参数,该调度参数用于tm硬件实体102对队列进行调度,以使对应的队列对应的数据流按照与调度参数对应的速率出队,通过通信接口向下一跳网络设备发送该数据流。
56.本技术实施例提供了一种队列调度方法及装置,实现hqos调度树各层级之间的映射关系灵活管理的目的,节约调度资源。
57.参见图3,该图为本技术实施例提供的队列调度方法的流程示意图。
58.本技术实施例提供的队列调度方法包括如下步骤:
59.s101:处理装置生成hqos调度树。
60.在本技术实施例中,处理装置可以是图2所示系统中的处理装置101。在本技术实施例中,处理装置预先生成hqos调度树,与传统技术的不同之处在于,该hqos调度树由软件实现。也就是说,hqos调度树包括的根节点和叶子节点都是用软件代码来实现,其中,叶子节点可以用tm硬件实体(例如为图2所示的tm硬件实体102)上对应队列的标识进行表示,根节点可以用根节点的标识来表示。可选的,hqos调度树还可以包括一层或多层分支节点,每个分支节点可以用对应的分支节点的标识来表示。
61.也就是说,hqos调度树可以表示为各节点的标识之间的映射关系。以图1为例,
hqos调度树可以表示为如下映射关系的集合:
62.根节点10的标识分别与分支节点20的标识和分支节点21的标识之间的映射关系;
63.分支节点20的标识分别与分支节点30的标识和分支节点31的标识之间的映射关系;
64.分支节点21的标识与分支节点32的标识之间的映射关系;
65.分支节点30的标识分别与队列40的标识、队列41的标识以及队列42的标识之间的映射关系;
66.分支节点31的标识分别与队列43的标识和队列44的标识之间的映射关系;
67.分支节点32的标识分别与队列45的标识、队列46的标识和队列47的标识之间的映射关系。
68.由于hqos调度树可以被表达为各层节点之间的映射关系,那么该hqos调度树可以通过配置得到,或者是与处理装置通信网络管理系统(network management system,nms)下发得到。其中,网络管理设备可以是控制器或终端设备等。
69.在生成hqos调度树之后,处理装置可以继续执行下面的s102-s104。可以理解的是,s101这个步骤不需要每次在执行s102-s104之前都执行一次。处理装置可以在执行一次s101之后反复执行s102-s104。
70.s102:处理装置根据所述多个叶子节点获取所述多个队列的流量特性。
71.在本技术实施例中,叶子节点与队列具有映射关系,可选的,叶子节点可以表示为对应队列的标识。
72.在本技术实施例中,队列的流量特性为队列传输的数据流的流量特性,例如包括与队列对应的数据流的输入速率和队列标识。
73.s103:处理装置根据所述多个队列的流量特性确定所述多个队列中至少一个队列的调度参数。
74.在本技术实施例中,队列的调度参数是用于对队列进行调度的参数。例如,当调度装置为令牌桶时,队列的调度参数为令牌桶输出令牌的速率。令牌桶输出令牌的速率是队列传输的数据流的输出速率的关键因素,所以,通过确定令牌桶输出令牌的速率就可以确定队列输出数据流的速率,实现对队列的调度。
75.具体的,处理装置根据多个队列的流量特性确定多个队列中至少一个队列的调度参数可以是处理装置根据多个队列的队列标识确定出多个队列的特性参数,并根据多个队列的输入速率和特性参数确定出多个队列中至少一个队列的调度参数。
76.其中,队列的特性参数可以是队列的优先级和权重中的至少一个。在多个队列均有对应的数据流的情况下,一个队列的优先级越高,代表该队列输出数据流的时机越早,优先级高的队列优先输出数据流。反之亦然。
77.在一些实施例中,队列标识本身可以代表队列的优先级。例如队列标识越小,标识队列优先级越高。以图1为例,对应队列40、队列41和队列42而言,队列40的优先级最高,队列41的优先级其次,队列42的优先级最低。
78.在另外一些实施例中,队列标识本身不代表队列的优先级,在这种情况下,处理装置可以预先存储队列的标识和队列的优先级之间对应关系,根据队列的标识和该对应关系就可以得到队列的优先级。
79.参见表1,该表示出了队列的标识和队列的优先级之间的对应关系。从表1可以看出,队列43的优先级高于队列44的优先级,表示优先将带宽资源分配给队列43,剩余带宽资源分配给队列44。该带宽资源可以为分支节点30对应的带宽资源。
80.表1
81.队列的标识队列的优先级队列43高队列44低
82.而权重代表队列输出数据流的速率占用总带宽的比例。权重越高,表示占用的总带宽的比例越高;权重越低,表示占用的总带宽的比例越低。
83.在本技术实施例中,处理装置可以预先存储队列的标识和权重之间的对应关系,这样就可以根据队列的标识和该对应关系得到队列对应的权重。
84.参见表2,该表示出了队列的标识和队列的权重之间的对应关系。根据表2可以得知,队列45输出数据流的速率可以占用总带宽的40%,队列46输出数据流的速率可以占用总带宽的35%,队列47输出数据流的速率可以占用总带宽的25%。其中的总带宽是指分支节点32对应的带宽。
85.表2
86.队列的标识队列的权重队列4540%队列4635%队列4725%
87.表1和表2示出了队列的特性参数仅包括队列的优先级或队列的权重的情况,如前文所提,队列的特性参数还可以既包括队列的优先级,也包括权重。
88.参见表3,该表示出了队列的标识和队列的优先级以及队列的权重的对应关系。从表3可以得知,队列40的优先级高于队列41和队列42的优先级,所以可以优先将带宽资源分配给队列40,剩余的带宽资源中的40%分配给队列41,60%分配给队列42。其中的带宽资源可以为分支节点30对应的带宽资源。
89.表3
[0090][0091]
在本技术实施例中,如果hqos调度树仅包括根节点和叶子节点,那么处理装置可以根据多个队列的流量特性和根节点的调度参数确定多个队列中至少一个队列的调度参数。
[0092]
具体的,处理装置在得到多个队列的流量特性之后,可以根据多个队列的队列标识和映射关系得到根节点的标识,该映射关系为多个队列的队列标识和根节点的标识之间的映射关系。然后,处理装置根据该根节点的标识获取根节点的调度参数,并根据多个队列的流量特性以及根节点的调度参数确定多个队列中至少一个队列的调度参数。此外,处理
装置可以预先建立根节点的标识和根节点的调度参数之间的映射关系。
[0093]
其中,根节点的调度参数可以通过配置得到,在配置时可以根据根节点对应的接口的总带宽进行确定。需要说明的是,根节点的调度参数可以为根节点对应的“虚拟令牌桶”的输出速率,之所以说“虚拟令牌桶”是因为在tm硬件实体上不包括与根节点对应的令牌桶,tm硬件实体仅包括与叶子节点对应的令牌桶,即一个叶子节点对应一个令牌桶。为了理解方便以及计算,本技术实施例中根节点的调度参数可以视为根节点的“虚拟令牌桶”的输出速率。
[0094]
例如,假设根节点对应的接口的总带宽为100g,那么根节点对应的“虚拟令牌桶”的输出速率可以为100gbps。假设该根节点对应两个叶子节点,分别对应队列1和队列2。其中,队列1的输入速率为70gbps,队列2的输入速率为50gbps,且队列1的优先级高于队列2的优先级。那么处理装置可以确定队列1的输出速率为70gbps,队列2的输出速率为30gbps。
[0095]
再例如,假设根节点对应的接口的总带宽为100g,那么根节点对应的“虚拟令牌桶”的输出速率可以为100gbps。假设该根节点对应两个叶子节点,分别对应队列1和队列2。其中,队列1的输入速率为70gbps,队列2的输入速率为30gbps,且队列1的权重为0.6,队列2的权重为0.4。那么处理装置可以确定队列1在理论上的输出速率为60gbps,队列2在理论上的输出速率为40gbps。但由于队列2的输入速率小于理论输出速率,所以队列2将输入速率作为实际输出速率,即30gbps。为了不浪费带宽,队列1的实际输出速率可以大于其理论输出速率,例如为70(100-30)gbps。
[0096]
如果hqos调度树除了根节点和叶子节点以外,还包括分支节点,那么处理装置可以根据所述多个队列的流量特性确定所述至少一个分支节点的流量特性,然后根据至少一个分支节点的流量特性和所述根节点的调度参数确定所述至少一个分支节点的调度参数,最后,根据所述多个队列的流量特性和所述至少一个分支节点的调度参数确定所述多个队列中至少一个队列的调度参数。其中,分支节点的调度参数可以为分支节点对应的“虚拟令牌桶”的输出速率。
[0097]
例如,假设根节点对应的接口总带宽为100g,该根节点对应两个分支节点,分别为分支节点1和分支节点2,其中分支节点1对应三个叶子节点,分别对应队列1、队列2和队列3,分支节点2对应一个叶子节点,该叶子节点对应队列4。且队列1的输入速率为20gbps,队列2的输入速率为40gbps,队列3的输入速率为30gbps,队列4的输入速率为20gbps。队列1的优先级为高优先级,队列2和队列3的优先级为低优先级。队列2和队列3的权重分别为70%和30%。那么处理装置根据队列1的输入速率、队列2的输入速率之和和队列3的输入速率之和得到分支节点1的输入速率90gbps,根据队列4的输入速率确定分支节点2的输入速率为20gbps。分支节点1的权重为70%,分支节点2的权重为30%。那么,处理装置根据分支节点1的权重和分支节点2的权重,以及根节点对应的接口总带宽确定出给分支节点1分配的带宽为70g,给分支节点2分配的带宽为30g。由于队列1的优先级为高优先级,那么可以将队列1的输入速率确定为队列1的输出速率,即为20gbps。因而,队列2和队列3的一共占用的带宽为50g,基于队列2和队列3的权重,队列2的输出速率为30gbps,队列3的输出速率为15gbps。对于分支节点2而言,由于只有一个队列,即队列4,且该队列4的输入速率小于给分支节点2分配的带宽,所以队列4的输出速率等于输入速率,即为20gbps。
[0098]
具体的,处理装置在根据所述多个队列的流量特性确定所述至少一个分支节点的
流量特性时,可以根据多个队列的队列标识和映射关系确定对应的分支节点的标识,然后根据该多个队列的流量特性确定该对应的分支节点的流量特性,从而得到分支节点的标识对应的分支节点的流量特性。当流量特性包括入口速率时,根据多个队列的流量特性确定对应分支节点的流量特性可以是根据多个队列的入口速率之和得到分支节点的入口速率。
[0099]
例如,处理装置在获取到队列40、队列41和队列42各自的入口速率之后,根据这三个队列各自的队列标识和与分支节点30的标识之间的映射关系知晓这三个队列属于同一个分支节点,即分支节点30,然后根据队列40、队列41和队列42的入口速率之和得到分支节点30的标识对应的入口速率,即分支节点30的入口速率。
[0100]
处理装置根据至少一个分支节点的流量特性和所述根节点的调度参数确定所述至少一个分支节点的调度参数时,可以根据至少一个分支节点的标识和与根节点的标识之间的映射关系确定根节点的标识,并根据根节点的标识得到根节点的调度参数,然后根据与至少一个分支节点的标识对应的流量特性和根节点的调度参数确定至少一个分支节点的调度参数。
[0101]
例如,处理装置在获取到分支节点30、分支节点31的入口速率之后,根据分支节点30的标识、分支节点31的标识和与分支节点20之间的映射关系,确定与分支节点20的标识对应的分支节点20的入口速率。处理装置在获取到分支节点32的入口速率之后,根据分支节点32的标识与分支节点21的标识的映射关系,确定与分支节点21的标识对应的入口速率,即分支节点21的入口速率。分支节点21的入口速率与分支节点32的入口速率相同。在得到分支节点20的标识对应的入口速率和分支节点21的标识对应的入口速率之后,处理装置根据分支节点20的标识、分支节点21的标识与根节点10的标识的映射关系得到根节点10的标识,根据根节点10的标识获得根节点的调度参数。
[0102]
然后,处理装置根据分支节点20的标识对应的入口速率和特性参数、分支节点21的标识对应的入口速率和特性参数以根节点的调度参数得到分支节点20的调度参数和分支节点21的调度参数。接着,处理装置根据分支节点30的标识对应的入口速率和特性参数、分支节点31的标识对应的入口速率和特性参数以及分支节点20的调度参数得到分支节点30的调度参数和分支节点31的调度参数。同理,处理装置根据分支节点21的标识对应的入口速率和特性参数以及分支节点21的调度参数得到分支节点32的调度参数。
[0103]
最后,处理装置根据队列40的标识对应的入口速率和特性参数、队列41的标识对应的入口速率和特性参数、队列42的标识对应的入口速率和特性参数以及分支节点30的调度参数,分别得到队列40、队列41以及队列42的调度参数。其余队列同理,此处不再赘述。
[0104]
s104:处理装置向所述tm硬件实体中与所述一个队列对应的调度装置发送调度消息,所述调度消息包括所述调度参数,所述调度参数用于调度所述叶子节点对应的队列。
[0105]
在确定了队列的调度参数之后,处理装置可以向tm硬件实体中的调度装置下发包括调度参数的调度消息,以便调度装置根据调度参数对应的队列进行调度。
[0106]
此外,需要说明的是,在本技术实施例中,处理装置可以根据s103确定出多个队列中每个队列的调度参数,也可以从多个队列中确定出有数据流传输的一个或多个队列的调度参数,还可以从多个队列中确定出调度参数发生变化的一个或多个队列的调度参数,相对于第一种方式,后两种方式可以节约处理装置下发的调度消息的数目,节约处理装置的处理资源。
[0107]
s105:调度装置接收调度消息,并根据调度参数调度叶子节点对应的队列。
[0108]
本技术实施例通过用软件实现hqos调度树,即生成各节点的标识之间的映射关系,并获取多个队列的流量特性,根据该映射关系和多个队列的流量特性得到队列的调度参数,当需要对该映射关系进行变更时,无需更换tm硬件实体,处理装置只需要通过配置或控制器下发等方式获取到新的映射关系就可以实现对队列进行灵活管理的目的,满足实际的传输需求,节约调度资源。
[0109]
例如,假设图1中分支节点30对应的用户1不再需要叶子节点40对应的业务1,而分支节点31对应的用户2需要增加一个新的业务,即业务6,那么可以图1所示的hqos调度树可以修改为图4所示的hqos调度树,即将分支节点30的标识和队列40的标识之间的映射关系修改为分支节点31的标识和队列40的标识之间的映射关系,在修改完成之后,处理装置可以根据队列40的标识获取属于用户1的业务6的数据流的流量特性,以及根据该队列40的流量特性得到该队列40对应的调度装置的调度参数,并将该调度参数下发到该调度装置中,以对队列40进行调度,从而实现基于新的hqos调度树对应的队列的调度。整个过程不需要更换tm硬件实体就可以满足新的流量传输需求,提高队列管理的灵活性以及节约调度资源。
[0110]
参见图5,本技术实施例还提供了一种处理装置500,该处理装置500可以实现图3所示实施例中处理装置的功能。其中,所述装置500包括:生成单元501、获取单元502、确定单元503和发送单元504。其中,生成单元501用于执行图3所示实施例中的s101,获取单元502用于执行图3所示实施例中的s102,确定单元503用于执行图3所示实施例中的s103,发送单元504用于执行图3所示实施例中的s104。
[0111]
具体的,生成单元501,用于生成分层服务质量hqos调度树,所述hqos调度树是用于描述通信网络中参与调度的节点的树形结构,所述hqos调度树包括多个叶子节点,所述多个叶子节点中的每个叶子节点用于标识流量管理tm硬件实体上的队列,所述tm硬件实体包括多个队列,所述多个叶子节点与所述多个队列一一对应;
[0112]
获取单元502,用于根据所述多个叶子节点获取所述多个队列的流量特性;
[0113]
确定单元503,用于根据所述多个队列的流量特性确定所述多个队列中至少一个队列的调度参数,所述多个队列的流量特性为所述多个队列传输的数据流的流量特性;
[0114]
发送单元504,用于向所述tm硬件实体中与所述至少一个队列对应的调度装置发送调度消息,所述调度消息包括所述调度参数,所述调度参数用于调度所述叶子节点对应的队列。
[0115]
该处理装置500中各个单元的具体执行步骤请参考前述方法实施例,此处不再赘述。
[0116]
参见图6,本技术实施例还提供了一种调度装置600,该调度装置600可以实现图3所示实施例中调度装置的功能。其中,调度装置600包括接收单元601和调度单元602。接收单元601和调度单元602用于执行图3所述实施例中的s105。
[0117]
具体的,接收单元601,用于接收来自处理装置的调度消息,所述调度消息包括所述多个队列中至少一个队列的调度参数,所述tm硬件实体不包括所述处理装置;
[0118]
调度单元602,用于根据所述至少一个队列的调度参数对所述至少一个队列进行调度。
[0119]
该调度装置600中各个单元的具体执行步骤请参考前述方法实施例,此处不再赘述。
[0120]
图7是本技术实施例提供的一种设备700的结构示意图。图5中的处理装置500和图6中的调度装置600可以通过图7所示的设备来实现。参见图7,该设备700包括至少一个处理器701,通信总线702以及至少一个网络接口704,可选地,该设备700还可以包括存储器703。
[0121]
处理器701可以是一个通用中央处理器(central processing unit,cpu)、特定应用集成电路(application-specific integrated circuit,asic)或一个或多个用于控制本技术方案程序执行的集成电路(integrated circuit,ic)。处理器可以用于实现本技术实施例中提供的队列调度的方法。
[0122]
比如,当图3中的处理装置通过图7所示的设备来实现时,该设备可以用于生成hqos调度树,在生成hqos调度树之后,根据所述多个叶子节点获取所述多个队列的流量特性,根据所述多个队列的流量特性确定所述多个队列中至少一个队列的调度参数,并向所述tm硬件实体中与所述至少一个队列对应的调度装置发送调度消息,具体功能实现可参考方法实施例中对应处理装置的处理部分。又比如,当图3中的调度装置通过图7所示的设备来实现时,该设备可以用于接收来自处理装置的调度消息,所述调度消息包括所述多个队列中至少一个队列的调度参数,并根据所述至少一个队列的调度参数对所述至少一个队列进行调度,具体功能实现可参考方法实施例中调度装置的处理部分。
[0123]
通信总线702用于在处理器701、网络接口704和存储器703之间传送信息。
[0124]
存储器703可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,存储器703还可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器703可以是独立存在,通过通信总线702与处理器701相连接。存储器703也可以和处理器701集成在一起。
[0125]
可选地,存储器703用于存储执行本技术方案的程序代码或指令,并由处理器701来控制执行。处理器701用于执行存储器703中存储的程序代码或指令。程序代码中可以包括一个或多个软件模块。可选地,处理器701也可以存储执行本技术方案的程序代码或指令,在这种情况下处理器701不需要到存储器703中读取程序代码或指令。
[0126]
网络接口704可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(ran)或无线局域网(wireless local area networks,wlan)等。在本技术实施例中,网络接口704可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口704可以为以太接口(ethernet)接口、快速以太(fast ethernet,fe)接口或千兆以太(gigabit ethernet,ge)接口等。
[0127]
在具体实现中,作为一种实施例,设备700可以包括多个处理器,例如图7中所示的处理器701和处理器405。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用
于处理数据(例如计算机程序指令)的处理核。
[0128]
图8是本技术实施例提供的一种设备800的结构示意图。图3中的处理装置和调度装置可以通过图8所示的设备来实现。参见图8所示的设备结构示意图,设备800包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板包括cpu和存储器,主控板负责对设备800中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,lpu)或线卡(line card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备800也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,sfu)。接口板包括cpu、存储器、转发引擎和接口卡(interface card,ic),其中接口卡可以包括一个或多个网络接口。网络接口可以为ethernet接口、fe接口或ge接口等。cpu与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备800的ip地址,则将该报文发送给主控板或接口板的cpu进行处理;如果接收到的报文的目的地址不是设备800的ip地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(network processor,np)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板cpu。在一些实施例中,cpu也可执行转发引擎的功能,比如基于通用cpu实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过asic或现场可编程门阵列(field programmable gate array,fpga)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
[0129]
本技术实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述图3所示实施例中处理装置或调度装置的方法。
[0130]
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本技术并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器rom,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
[0131]
示例性的,该芯片系统可以是fpga,可以是asic,还可以是系统芯片(system on chip,soc),还可以是cpu,还可以是np,还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)或其他集成芯片。
[0132]
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法步骤可以直接体现为硬件处理器
执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0133]
此外,本技术实施例还提供了一种队列调度系统,包括图5所示实施例的处理装置500和图6所示实施例的调度装置600。
[0134]
本技术实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行前述实施例中的方法。
[0135]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0136]
本技术中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本技术中认为“a和/或b”包括单独a,单独b,和a b。
[0137]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0138]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0139]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
[0140]
另外,在本技术各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
[0141]
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0143]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
[0144]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献