[发明专利]一种报文处理方法、装置及设备有效
申请号: | 201810367006.0 | 申请日: | 2018-04-23 |
公开(公告)号: | CN108632165B | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 李杰;辛戌冰 | 申请(专利权)人: | 新华三技术有限公司 |
主分类号: | H04L49/111 | 分类号: | H04L49/111;H04L49/90;G06F9/50 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310052 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报文 处理 方法 装置 设备 | ||
本申请提供一种报文处理方法、装置及设备,该方法包括:获取多个转发CPU中的每个转发CPU在预设时间段内的报文总数量;确定报文总数量最大的第一转发CPU和报文总数量最小的第二转发CPU;从所述第一转发CPU的所有报文队列中选择报文队列;将选择的报文队列中的报文从所述第一转发CPU调整到所述第二转发CPU,以使所述第二转发CPU处理所述选择的报文队列中的报文。通过本申请的技术方案,对转发CPU之间的报文队列进行动态调整,避免某转发CPU的负载过大,尽量使各转发CPU的负载均衡,达到负载均衡效果,可以提高每个转发CPU的处理性能,提高多个转发CPU的并行处理能力。
技术领域
本申请涉及通信技术领域,尤其是涉及一种报文处理方法、装置及设备。
背景技术
目前,为了提高网络设备(如路由器、交换机等)的处理性能,通常在网络设备部署多个CPU(Central Processing Unit,中央处理器),多个CPU可以并行处理网络设备接收到的报文,从而极大地提高了网络设备的处理性能。
为了充分利用每个CPU的处理资源,可以将网络设备接收到的报文负载均衡地分配给每个CPU。具体的,网络设备的网卡接收到报文后,可以根据该报文的特征信息进行hash计算,根据计算结果将报文分配给对应的CPU。由于特征信息的随机性,因此,能够尽量将所有报文负载均衡地分配给每个CPU。
但是,若在某个时间段,具有相同特征信息的报文数量很多,则基于hash算法,这些报文会被分配给同一个CPU进行处理,导致这个CPU的负载很大,这个CPU的处理性能变差,并导致多个CPU的并行处理能力降低。
发明内容
本申请提供一种报文处理方法,应用于网络设备,所述网络设备包括多个转发中央处理器CPU,所述方法包括:
获取所述多个转发CPU中的每个转发CPU在预设时间段内的报文总数量;
确定报文总数量最大的第一转发CPU和报文总数量最小的第二转发CPU;
从所述第一转发CPU的所有报文队列中选择报文队列;
将选择的报文队列中的报文从所述第一转发CPU调整到所述第二转发CPU,以使所述第二转发CPU处理所述选择的报文队列中的报文。
本申请提供一种报文处理装置,应用于网络设备,所述网络设备包括多个转发中央处理器CPU,所述装置包括:
获取模块,用于获取所述多个转发CPU中的每个转发CPU在预设时间段内的报文总数量;
确定模块,用于确定报文总数量最大的第一转发CPU和报文总数量最小的第二转发CPU;
选择模块,用于从所述第一转发CPU的所有报文队列中选择报文队列;
调整模块,用于将选择的报文队列中的报文从所述第一转发CPU调整到所述第二转发CPU,以使所述第二转发CPU处理所述选择的报文队列中的报文。
本申请提供一种网络设备,所述网络设备包括控制中央处理器CPU、机器可读存储介质和多个转发CPU,所述机器可读存储介质存储有能够被所述控制CPU执行的机器可执行指令;所述控制CPU用于执行所述机器可执行指令,以实现上述的方法步骤。
基于上述技术方案,本申请实施例中,在基于hash算法将报文分配给转发CPU后,还可以确定报文总数量最大的第一转发CPU和报文总数量最小的第二转发CPU,并将第一转发CPU的报文队列调整到第二转发CPU,从而对各转发CPU之间的报文队列进行动态调整,避免某个转发CPU的负载过大,尽量使各转发CPU的负载均衡,达到负载均衡的效果,可以提高每个转发CPU的处理性能,提高多个转发CPU的并行处理能力,提高网络设备的整体转发性能。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司,未经新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810367006.0/2.html,转载请声明来源钻瓜专利网。