YANG JIANJUN (CN)
CN1725729A | 2006-01-25 | |||
CN101228737A | 2008-07-23 | |||
CN101651615A | 2010-02-17 |
北京康信知识产权代理有限责任公司 (CN)
权 利 要 求 书 1. 一种 4艮文调度方法, 其特征在于, 包括: 根据待调度报文的优先级,确定所述待调度报文对应的调度队列; 才艮据所述调度队列对应的最小调度带宽阈值, 对所述调度队列中 的待调度报文进行调度。 2. 居权利要求 1所述的方法, 其特征在于, 在确定所述待调度 文对 应的调度队列之前, 所述方法还包括: 预先设置调度报文的优先级, 建立调度报文的优先级与调度队列 之间的第一对应关系。 3. 根据权利要求 2所述的方法, 其特征在于, 在对所述调度队列中的待 调度报文进行调度之前, 所述方法还包括: 预先设置所述调度队列与所述最小调度带宽阈值之间的第二对应 关系。 4. 根据权利要求 1所述的方法, 其特征在于, 还包括: 在对所述调度队 列中的待调度 4艮文进行调度时, 同一调度队列中的所有待调度 4艮文釆 用相同的调度机制。 5. 居权利要求 1至 4中任一项所述的方法, 其特征在于, 在确定所述 待调度报文对应的调度队列之前, 还包括: 根据所述待调度报文的属性信息确定所述待调度报文的优先级, 其中, 所述属性信息包括以下至少之一: 报文的协议号、 报文的媒体 接入控制地址、 4艮文的 IP地址、 4艮文的端口号。 6. 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 对所述调度 队列中的待调度报文进行调度具体包括: 7. 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 所有所述调 度队列对应的最小调度带宽阈值之和小于或等于系统所支持的总带 宽。 8. —种报文调度装置, 其特征在于, 包括: 调度队列确定模块, 用于根据待调度报文的优先级, 确定所述待 调度 4艮文对应的调度队列; 报文调度模块,用于根据所述调度队列对应的最小调度带宽阈值, 对所述调度队列中的待调度报文进行调度。 9. 根据权利要求 8所述的装置, 其特征在于, 所述报文调度模块还用于 在对所述调度队列中的待调度报文进行调度时对同一调度队列中的所 有待调度 4艮文釆用相同的调度机制。 10. 根据权利要求 8或 9所述的装置, 其特征在于, 还包括: 优先级确定模块, 用于根据所述待调度报文的属性信息确定所述 待调度 4艮文的优先级, 其中, 所述属性信息包括以下至少之一: 4艮文 的协议号、报文的媒体接入控制地址、报文的 IP地址、报文的端口号。 |
图 3为本发明实施例的报文调度装置的结构框图 图 4为本发明实施例的报文调度装置的优选结构 图。 具体实施方式 针对相关技术中 4艮文上 4艮过程不能顾全所有业务以及 4艮文在处理器侧堆 积的问题, 本发明提出通过具有带宽阈值的多个报文队列 上报不同优先级业 务的报文, 改善了报文的上报过程, 能够保证多种业务报文的上报, 避免了 相关技术中由于部分业务的报文不能上报而影 响业务进行的问题。 图 1是本发明实施例的报文调度方法的步骤流程 ,具体实现方法如下: 步骤 S 101 , 根据待调度报文的优先级, 确定上述待调度报文对应的调度 队列。 步骤 S 103 , 才艮据上述调度队列对应的最小调度带宽阈值 , 对该调度队列 中的待调度报文进行调度。 下面对图 1所示的方法进行详细说明。 在具体实现过程中, 优选的, 在 确定所述待调度报文对应的调度队列之前, 首先需要设置报文的优先级与调 度队列之间的第一对应关系、 以及调度队列与调度带宽阈值之间的第二对应 关系。 优选的, 可以在对所述调度队列中的待调度报文进行调 度之前, 设置 上述第二对应关系。 可以通过以下步 4聚来设置上述第一对应关系和第二对应 关系: 1 ) 建立第一对应关系: 报文经过分类之后, 可以根据实际需要, 为报 文设置不同的优先级, 对于同一优先级的报文可以利用统一的标准来 处理, 而不用每次都对报文进行解析, 从而简化了处理过程。 在实际应用中, 可以才艮据 4艮文的属性信息确定 4艮文的优先级, 其中, 属 性信息包括以下至少之一: 报文的协议号、 报文的媒体接入控制 (Media Access Control, 简称为 MAC )地址、 报文的 IP地址、 报文的端口号。 一般 来说, 协议 4艮文的优先级高于数据 4艮文的优先级。 例如,对于数据通讯设备需要 CPU处理的报文,主要包括各类协议报文、 需要上报的一部分数据报文、 广播报文、 未知报文, 其中, 协议报文可以通 过特征字段 (报文的协议号、 报文的端口号等) 进行识别, 例如, 协议号为 0X0806表示地址转换协议 ( Address Resolution Protocol, 简称为 ARP ) 4艮文; 而数据 4艮文则可以通过 4艮文中的特征值 ( 4艮文的 MAC地址、 4艮文的 IP地址 等) 进行识别, 剩余报文可以归入普通的广播报文、 未知包等, 这样, 可以 将 4艮文分为三个级别, 协议 4艮文的级别最高, 例如桥协议数据单元 (Bridge Protocol Data Unit, 简称为 BPDU ) 4艮文、 路由协议 4艮文, 数据 4艮文的级别 低于协议报文的级别, 广播报文的级别最低。 然后, 可以根据实际需要建立 相应数量的调度队列, 每个级别的报文都——对应于一个调度队列, 并设置 调度队列的相关参数, 例如调度队列的长度、 调度队列的调度机制等, 其中, 对于每个调度队列的调度机制, 可以根据需要灵活设置。 例如对应于上述三 个级别的报文, 相应的需要建立三个调度队列, 不同级别的报文进入不同的 调度队列。 2 ) 建立第二对应关系: 为每个调度队列分配最小带宽保证数值 (即上 文所述的最小调度带宽阈值),建立调度队列 与最小带宽保证数值之间的对应 关系, 最小带宽保证数值就是每次调度时每个调度队 列所需调度的最小报文 数量值,并且所有调度队列的最小带宽保证数 值之和小于或等于诸如 CPU的 处理系统所能处理的总带宽, 从而能够充分利用 CPU的资源, 也不会造成报 文的堆积, 还保证了 CPU的正常运行, 其中, 设置每个队列的最小带宽保证 数值的意义在于: 各个优先级的报文均能够得到调度, 保证了每个业务都能 够正常运行。 优选地, 在设置过程中, 可以将对应高优先级报文的调度队列的最小带 宽保证数值设置为大于对应于低优先级报文的 调度队列的最小带宽保证数 值, 例如, 对应于协议 4艮文的调度队列的最小带宽保证数值大于对 于数据 报文的调度队列的最小带宽保证数值, 从而可以在更大程度上保证高优先级 的报文能够被上报。 通过建立上述第一对应关系和第二对应关系, 在 4艮文的调度过程中, 首 先根据每个待调度报文的属性信息识别出待调 度报文的优先级, 根据第一对 应关系将每个待调度报文送入相应的调度队列 , 根据第二对应关系, 如果每 个调度队列均满足各自的最小带宽保证数值, 则才艮据每个调度队列的调度机 制, 对相应的报文进行调度, 具体的, 在调度过程中, 可以按照调度队列中 进行调度。 例如, 将所有调度队列中的报文上报给 CPU时, 可以首先调度优先级别 最高的报文对应的调度队列, 按照为该调度队列设置的最小带宽保证数值, 将该调度队列中的全部或部分报文上报给 CPU, 然后调度中优先级的报文对 应的调度队列, 按照为该调度队列设置的最小带宽保证数值, 将该调度队列 中的全部或部分报文上报给 CPU, 依此类推, 最后调度优先级最低的报文对 应的调度队列, 按照为该调度队列设置的最小带宽保证数值, 将该调度队列 中的全部或部分 4艮文上 4艮给 CPU。 通过上述处理, 对于每个调度队列增加相应的最小带宽流程的 处理, 既 可以保证重要的报文得到优先处理, 同时也能够保证低优先级的报文适当占 用 CPU资源,使得所有报文都能按照需要被调度到 , 避免了不均衡上报导致 低优先级业务无法进行的问题; 此外, 保证 CPU能够正常运行, 维持网络设 备的稳定运行。 下面以三个调度队列为例对本发明的报文调度 方法进行描述, 为描述清 楚, 将该三个调度队列命名为高优先级调度队列、 中优先级调度队列、 低优 先级调度队列, 其中, 高优先级调度队列的最小宽保证数值为每秒 600个 4艮 文, 中优先级调度队列的最小宽保证数值为每秒 300个报文, 低优先级调度 队列的最小宽保证数值为每秒 100个报文, 且每个报文队列足够长。 报文调 度过程中, 需要上报给 CPU的报文为 2000个, 在这 2000个报文中, 最重要 的协议 4艮文进入了高优先级调度队列, 数据 4艮文进入了中优先级调度队列, 广播 4艮文和未知 4艮文进入了 氏优先级调度队列, 为了保证各种业务的正常运 行, 将报文上报给 CPU的过程中, 首先向 CPU上报高优先级队列中的 600 个协议报文, 然后向 CPU上报中优先级队列中的 300个数据报文, 最后向 CPU上报低优先级队列中的 100个广播报文和未知报文, 每个调度队列在具 体的上报过程中, 按照相应的调度机制进行上报, 例如限速机制等, 上报完 1000个报文后, 后续的 1000个报文仍可按照上述方式进行调度。 下面结合附图 2对本发明的 4艮文调度方法进行详细说明, 其包括如下步 骤: 步骤 S201 , 设备接收到来自其他设备的报文。 步骤 S202, 根据报文的特征字段、 协议号和端口号, 判断报文是否需要 上报给 CPU, 如果报文不需要上报 CPU, 则处理进行到步骤 S203 , 否则执 行步骤 S204。 步骤 S203 , 对于不需要上报给 CPU的报文执行转发处理。 步骤 S204,根据报文的特征字段(例如报文的协议号 报文的端口号等), 对需要上报给 CPU的报文进行分类。 步骤 S205 , 根据步骤 S204的分类结果, 例如, 根据报文的应用和重要 程度, 为不同的报文标识不同的优先级, 具体的处理过程已经在前文中进行 了描述, 这里不再赘述。 步骤 S206, 根据步骤 S205 中为报文标识的优先级, 根据预先设置的调 度队列和 4艮文优先级的对应关系, 将 4艮文送入不同的调度队列。 步骤 S207, 从最高优先级调度队列开始, 取得调度队列的最小带宽保证 数值 (即, 取得调度队列的最小带宽配置参数)。 步骤 S208, 判断该调度队列是否配置了最小带宽保证数值 , 如果调度队 列配置了最小带宽保证数值, 则处理进行到步骤 S210; 否则处理进行到步骤 S209。 步骤 S209, 调度队列的队列号增加 1 , 并执行步骤 S207。 步骤 S210, 如果调度队列配置了最小带宽保证数值, 进行最小带宽保证 的处理。 步骤 S211 , 如果调度队列配置了最小带宽保证数值, 则判断是否是最后 一个调度队列,如果是,则处理进行到步骤 S212; 否则取出下一个调度队列, 并执行步骤 S209。 步骤 S212, 根据设置的调度队列调度方式以及配置的限速 属性, 进行调 度队列的调度和限速处理, 其中对相同优先级的待调度 4艮文所进行的处理彼 it匕相同。 步骤 S213 , 将报文上报给 CPU。 图 3是根据本发明实施例的报文调度装置的组成 构图, 如图 3所示, 该装置包括: 调度队列确定模块 302 , 用于根据待调度报文的优先级, 确定 上述待调度 4艮文对应的调度队列; 4艮文调度模块 304 , 用于 居上述调度队 列对应的最小调度带宽阈值, 对上述调度队列中的待调度报文进行调度。 优选的, 在报文调度模块对调度队列中的待调度报文进 行调度时, 报文 调度模块 304对同一调度队列中的所有待调度报文釆用相 同的调度机制。 其中, 最小带宽保证数值就是每次调度时每个队列所 需调度的最小报文 数量值,并且所有调度队列的最小带宽保证数 值之和小于或等于诸如 CPU的 处理系统所能处理的总带宽, 从而能够充分利用 CPU的资源, 也不会造成报 文的堆积, 还保证了 CPU的正常运行, 其中, 设置每个队列的最小带宽保证 数值的意义在于: 各个优先级的报文均能够得到调度, 保证了每个业务都能 够正常运行。 图 4是根据本发明实施例的报文调度装置的优选 构框图, 在图 3所示 装置的基础上, 4艮文调度装置还可以包括优先级确定模块 306 , 其中, 优先级确定模块 306 , 用于 居上述待调度 4艮文的属性信息确定上述待 调度报文的优先级, 其中, 属性信息包括以下至少之一: 报文的协议号、 报 文的媒体接入控制地址、 报文的 IP地址、 报文的端口号。 在调度过程中, 可以按照调度队列中待调度报文的优先级以及 预定的优 先级调度顺序对调度队列中的待调度报文进行 调度。 例如, 将所有调度队列 中的报文上报给 CPU 时, 可以首先调度优先级别最高的报文对应的调度 队 列, 按照为该调度队列设置的最小带宽保证数值, 将该调度队列中的全部或 部分报文上报给 CPU, 然后调度中优先级的报文对应的调度队列, 按照为该 调度队列设置的最小带宽保证数值, 将该调度队列中的全部或部分 4艮文上 4艮 给 CPU, 依此类推, 最后调度优先级最低的报文对应的调度队列, 按照为该 调度队列设置的最小带宽保证数值, 将该调度队列中的全部或部分报文上报 给 CPU。 图 3、 图 4是与前面方法对应的装置, 所述装置的工作过程以及工作原 理在方法部分已经进行了详细描述, 在此不再赞述, 参照方法中相应部分的 描述即可。 综上所述, 本发明通过对调度队列配置相应的最小调度带 宽阈值, 并结 合通常所釆用的分类调度限速等机制,既可以 保证重要的报文得到优先处理, 同时也能够保证氐优先级的 4艮文适当占用 CPU资源,使得所有 4艮文都能按照 需要被调度到, 避免了不均衡上报不同业务的报文导致低优先 级业务无法进 行的问题; 此外, 还能够保证处理系统能够正常运行, 充分利用处理资源, 避免了 4艮文在处理系统侧的堆积。 以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本 发明的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在 本发明的保护范围之内。