一种业务数据的调度方法、装置及系统的制作方法

文档序号:8322172阅读:317来源:国知局
一种业务数据的调度方法、装置及系统的制作方法
【技术领域】
[0001] 本发明涉及通信技术领域,特别是涉及一种业务数据的调度方法、装置及系统。
【背景技术】
[0002] 在一个网络设备中,由队列管理器和调度器协作,实现对该网络设备所接收的数 据报文的调度。队列管理器按照数据报文的所属的业务类型,将该网络所接收的数据报文 分配到不同的队列,并按照业务类型给每个队列设置优先级,并将每个队列的队列优先级, 队列长度等状态信息发送至调度器。
[0003] 调度器根据每个队列的状态信息,选取所要调度的队列,以及调度该队列中数据 报文的长度生成调度结果,将调度结果返回给队列管理器,从队列管理器中调度网络设备 所接收的数据报文。大多数调度器是基于信用粒度(Credit)进行调度的,一个Credit表 示固定长度的字节数,调度器每次从所要调度的队列中调度一个Credit,即每次从所要调 度的队列中调度固定长度的字节数。随着调度器调度该队列的次数增加,该队列所累积的 Credit个数增加,即调度器调度该队列的总的字节数不断累积,当调度器对该队列所调度 的总的字节数超过该队列中排在第一位的数据报文的长度时,发送该队列中排在第一位的 数据报文。
[0004] 目前,所述调度器主要基于一个多层的树形结构实现选取所要调度的队列,以及 调度该队列中数据报文的长度。在一个树形结构中,有多个节点,每个节点作为上一层与该 节点相连的节点的子节点,作为下一层与该节点相连的节点的父节点,子节点和父节点是 一个相对概念,一个节点相对于上一层节点来说是子节点,相对于下一层节点来说是父节 点。其中,没有父节点的节点为根节点,没有子节点的节点为叶子节点。调度器根据队列管 理器发送的队列请求,生成多个叶子节点,每个叶子节点对应一个队列管理器中的队列,即 代表一个业务类型,并且具有所代表的业务类型的优先级。
[0005] 下面以一个三层的树形结构为例进行说明,如图1所示,L0-0,L0-1,L0-2以及 L0-3是第一层节点;Ll-0,L1-1和L1-2是第二层节点;L2-0是第三层节点。第一层节点 为叶子节点,第三层节点为根节点。L0-0和L0-1是L1-0的子节点,L1-0是L0-0和L0-1 的父节点;L0-2是L1-2的子节点,L1-2是L0-2的父节点;L0-3是L1-3的子节点,L1-3是 L0-3的父节点。Ll-0,L1-1和L1-2是L2-0的子节点,L2-0是Ll-0,L1-1和L1-2的父节 点。
[0006] 调度器实现调度时,主要分为两个过程,第一个过程是业务数据的状态上报过程, 从第一层开始,每个叶子节点向该叶子节点的父节点上报该叶子节点所代表的一种优先级 的业务请求调度的字节长度,即该优先级的业务的请求调度的Credit的个数;第二层中, 每个节点统计该节点的每个子节点所上报的每种优先级的业务请求调度的Credit的个 数,生成该节点上每种优先级的业务请求调度的Credit的个数,向该节点的父节点上报该 节点上每种优先级的业务请求调度的Credit的个数;第三层中,根节点根据每个子节点上 每种优先级的业务请求调度的Credit的个数,可以统计根节点上每种优先级的业务请求 调度的Credit的总数。
[0007] 第二个过程是业务数据的调度选择过程,从第三层开始,根节点选择一个子节点, 从该子节点中调度优先级最高的业务;第二层中,根节点调度的节点根据该节点的每个子 节点所上报的每种优先级的业务请求调度的Credit的个数,选择一个子节点,从该子节点 中调度根节点所调度的优先级最高的业务。
[0008] 由于调度器根据用户配置给每个节点设置了承诺信息速率(Committed InformationRate,CIR),即每次调度时承诺能从该节点调度的总的带宽;调度器还给每个 节点设置了超出信息速率(ExcessInformationRate,EIR),每次调度时该节点上超出CIR 的部分降低优先级后所允许调度的带宽,该节点上再超出EIR的部分禁止调度;所述调度 器还给每个节点设置了每种优先级业务所允许调度的带宽。
[0009] 为了防止从一个节点所调度的Credit的个数超出该节点的EIRshaper值,或者 从一个节点所调度的某种优先级的业务的Credit的个数,超出调度该节点时该优先级的 业务所允许调度的Credit的个数,会导致从该节点调度失败,则每次只选择一个节点调度 一个Credit。举例说明:第三层根节点L2-0只选择一个第二层节点L1-0,从节点L1-0调 度一个Credit;第二层节点L1-0只选择一个叶子节点L0-0,从该叶子节点L0-0调度一个 Credit。每次调度过程只能从一个叶子节点调度一个Credit,导致调度器对队列管理器中 业务数据报文的调度效率低。

【发明内容】

[0010] 本发明实施例在于提供一种业务数据的调度方法、装置及系统,从而能够对多个 节点并行调度,提高调度器对队列管理器中业务数据报文的调度效率。
[0011] 为此,本发明解决技术问题的技术方案是:
[0012] 本发明实施例第一方面提供一种业务数据的调度方法,所述方法包括:
[0013] 获得节点的每种优先级对应的预计请求调度的字节数;
[0014] 根据所述节点的预先配置的承诺信息速率CIR计算该节点承诺可调度的字节总 数,根据预先配置的超出信息速率EIR计算该节点超出可调度的字节总数,根据预先配置 的每种优先级所对应的可调度带宽计算该节点该优先级对应的可调度的字节总数;
[0015] 根据所述节点的所述承诺可调度的字节总数,所述超出可调度的字节总数,每种 优先级对应的预计请求调度的字节数和可调度的字节总数,采用预设降级规则获得该节点 上每种优先级对应的实际请求调度的字节数,所述预设降级规则包括每种优先级对应的降 级后的优先级;
[0016] 向所述节点的父节点上报该节点每种优先级对应的实际请求调度的字节数。
[0017] 在本发明实施例第一方面第一种可能的实现方式中,所述节点为叶子节点,所述 获得节点的每种优先级对应的预计请求调度的字节数包括:
[0018] 获得叶子节点所代表的优先级所对应的预计请求调度的字节数。
[0019] 在本发明实施例第一方面第二种可能的实现方式中,所述节点为除了叶子节点和 根节点以外的其他节点,所述获得节点的每种优先级对应的预计请求调度字节数中,所述 获得节点的任意一种优先级对应的预设请求调度字节数包括:
[0020] 获取所述节点的所有子节点上报的该优先级对应的实际请求调度的字节数;
[0021] 对所述节点的每个子节点上报的该优先级对应的实际请求调度的字节数求和,获 得该节点上该优先级对应的预计请求调度的字节数。
[0022] 结合本发明实施例第一方面至第一方面第二种可能的实现方式,在第三种可能的 实现方式中,所述根据所述节点的所述承诺可调度的字节总数,所述超出可调度的字节总 数,每种优先级对应的预计请求调度的字节数和可调度的字节总数,采用预设降级规则获 得该节点上每种优先级对应的实际请求调度的字节数包括:
[0023] 判断所述节点第i优先级对应的预计请求调度的字节数是否小于第i优先级承诺 可调度的字节总数;
[0024] 当第i优先级对应的预计请求调度的字节数小于第i优先级承诺可调度的字节总 数时,将所述节点第i优先级对应的预计请求调度的字节数作为第i优先级实际请求调度 的字节数,计算第i优先级承诺可调度的字节总数与第i优先级对应的预计请求调度的字 节数的差获得第i+1优先级承诺可调度的字节总数,返回执行判断第i+1优先级对应的预 计请求调度的字节数是否小于第i+1优先级承诺可调度的字节总数;
[0025] 当第i优先级对应的预计请求调度的字节数大于第i优先级承诺可调度的字节总 数时,将所述节点第i优先级承诺可调度的字节总数作为第i优先级对应的实际请求调度 的字节数,计算第i优先级对应的预计请求调度的字节数与第i优先级承诺可调度的字节 总数的差作为第i优先级对应的降级后的新增可调度字节数,获取每个优先级对应的降级 优先级,将比第i级高的每个优先级降级到该优先级对应的降级优先级,获得降级后每个 优先级对应的新预计可调度字节数;判断第i+1优先级对应的新预计请求调度的字节数是 否小于第i+1优先级超出可调度的字节总数,当第i+1优先级对应的新预计请求调度的字 节数小于第i+1优先级超出可调度的字节总数时,将第i+1优先级对应的新预计请求调度 的字节数作为第i+1优先级对应的实际请求调度的字节数,计算第i+1优先级超出可调度 的字节总数与第i+1优先级对应的新预计请求调度的字节数的差获得第i+2级超出可调度 的字节总数,返回执行判断判断第i+2优先级对应的新预计请求调度的字节数是否小于第 i+2级超出可调度的字节总数,当第i+1优先级对应的新预计请求调度的字节数大于或等 于第i+1优先级超出可调度的字节总数时,将第i+1优先级超出可调度的字节总数作为第 i+1优先级对应的实际请求调度的字节数,将低于第i+1优先级的优先级对应的预计请求 调度的字节数置〇;
[0026] 其中,i为大于等于0的整数,i越大,优先级越低,第0优先级承诺可调度的字节 总数为所述承诺可调度的字节总数。
[0027] 本发明
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1