CN113992589A - 一种报文分流方法、装置及电子设备 - Google Patents

一种报文分流方法、装置及电子设备 Download PDF

Info

Publication number
CN113992589A
CN113992589A CN202111225484.6A CN202111225484A CN113992589A CN 113992589 A CN113992589 A CN 113992589A CN 202111225484 A CN202111225484 A CN 202111225484A CN 113992589 A CN113992589 A CN 113992589A
Authority
CN
China
Prior art keywords
forwarding
message
cpu
message forwarding
cpus
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.)
Granted
Application number
CN202111225484.6A
Other languages
English (en)
Other versions
CN113992589B (zh
Inventor
梅世超
刘琛梅
宋兵
方鹏飞
肖钦文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhou Lvmeng Chengdu Technology Co ltd
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
Shenzhou Lvmeng Chengdu Technology Co ltd
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhou Lvmeng Chengdu Technology Co ltd, Nsfocus Technologies Inc, Nsfocus Technologies Group Co Ltd filed Critical Shenzhou Lvmeng Chengdu Technology Co ltd
Priority to CN202111225484.6A priority Critical patent/CN113992589B/zh
Publication of CN113992589A publication Critical patent/CN113992589A/zh
Application granted granted Critical
Publication of CN113992589B publication Critical patent/CN113992589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种报文分流方法、装置及电子设备,该方法包括:在接收到报文时,确定出用于报文分流的第一CPU当前的报文转发负载量;计算第一CPU当前分配的实际报文转发量与报文转发负载量的差值,并将差值作为剩余报文转发量;将剩余报文转发量对应的报文分配给其它CPU进行转发。基于上述报文分流方法,在用于报文分流的第一CPU的报文转发负载量小于当前分配的实际报文转发量的时候,将第一CPU不能完成转发的剩余报文转发量对应的报文,分配给其它各个负责报文转发的CPU进行处理,可以避免因第一CPU的转发负载量不够而导致的丢包情况,进而大幅度提高设备整体的转发性能。

Description

一种报文分流方法、装置及电子设备
技术领域
本申请涉及通信领域,特别是涉及一种报文分流方法、装置及电子设备。
背景技术
在数据通信领域,设备的转发性能是衡量设备好坏的一个非常重要的指标,如何把设备的转发性能发挥到极致,是网络开发的难点之一,影响设备转发性能的因素非常多,而软件框架就是重要因素之一。
软件框架分为单核转发框架和多核转发框架,而在多核转框架下,通常面临的第一个难题就是如何均衡的把网络流量分配到不同的转发核上,现有技术对报文分流的方法,主要是基于IP地址或者虚拟局域网(Virtual Local Area Network,VLAN)ID或者多协议标签交换(Multiprotocol Label Switching,MPLS)标签ID对报文进行多核转发,把报文转发量平均分配到各个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当前的报文转发负载量;
根据每个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的报文转发负载量小于当前分配的实际报文转发量的时候,将第一CPU不能完成的报文转发量对应的报文,分配给其它各个负责报文转发的CPU进行处理,可以避免因第一CPU的转发负载量不够而导致的丢包情况,进而大幅度提高设备整体的转发性能。
上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请提供的一种现有报文分流方法的示意图;
图2为本申请提供的一种报文分流方法的流程图;
图3为本申请提供的一种报文分流方法的示意图;
图4为本申请提供的一种报文分流方法的示例图;
图5为本申请提供的一种报文分流装置的结构示意图;
图6为本申请提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图,对本申请实施例进行详细描述。
参考图1,为现有报文分流方式,这种方式要保证同一会话的报文分配到同一个CPU上,在图1中,有24Gbps的报文发往设备,这24Gbps的报文中的报文长度都是1500字节,每个CPU核的实际最大报文转发量都为10Gbps,这些报文由第一个转发核Core1来负责把报文均衡的分配到所有的CPU核,分配的结果就是Core1、Core2、Core3会分别被分配24/3=8Gbps的报文。
但是因为Core1除了处理自身的8Gbps报文的转发之外,还要负责所有24Gbps报文的分流处理,其中,分流处理占用了Core1的60%CPU资源,这就会导致Core1的报文转发负载量从8Gbps下降到了4Gbps,每秒就有4Gbps的报文被丢弃。
在上述情况下,如果按照图1中的方式进行分流,要保证报文转发的过程中不出现丢包的情况,根据水桶原理,可得出设备当前的最大报文转发量就只能是设备中转发核的数量乘以设备中转发性能最低的CPU当前的报文转发负载量,即设备当前的报文转发负载量为4×3=12Gbps,因此,不能最大程度发挥设备整体的转发性能。
为了解决上述问题,本申请提供了一种报文分流方法,在用于报文分流的第一CPU的报文转发负载量小于当前分配的实际报文转发量的时候,将第一CPU不能完成转发的剩余报文转发量对应的报文,分配给其它各个负责报文转发的CPU进行处理,可以避免因第一CPU的转发负载量不够而导致的丢包情况,进而大幅度提高设备整体的转发性能。其中,本申请实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
如图2所示,为本申请提供的一种报文分流方法的流程图,具体包括如下步骤:
S21,在接收到报文时,确定出用于报文分流的第一CPU当前的报文转发负载量;
在本申请实施例中,报文转发负载量表征CPU的最大报文转发量,用于报文分流的第一CPU当前的报文转发负载量主要是根据第一CPU进行报文分流时消耗的资源占比得到的,具体方法包括:
检测第一CPU进行分流处理时使用的第一资源占比;
根据第一资源占比,计算出第一CPU当前用于报文转发的第二资源占比;
根据第二资源占比,确定出第一CPU当前的报文转发负载量。
举例来讲,参考图1,在不进行报文分流时,Core1对应的报文转发负载量为10Gpbs;在进行报文分流时,检测出Core1使用的CPU资源占比为60%,进一步可以得到第一CPU可以用于进行报文转发的CPU资源占比为40%,即可确定出Core1当前的报文转发负载量为10×40%=4Gpbs。
S22,计算第一CPU当前分配的实际报文转发量与报文转发负载量的差值,并将差值作为剩余报文转发量;
在本申请实施例中,剩余报文转发量表征第一CPU在进行报文转发时,因自身报文转发负载量的限制而导致的应该进行转发而不能完成转发的报文转发量。
举例来讲,参考图1,Core1的当前报文转发负载量文为4Gpbs,而当前分配的实际报文转发量为8Gpbs,那么剩余报文转发量为8-4=4Gpbs。
S23,将剩余报文转发量对应的报文分配给其它CPU进行转发。
作为可选方案,对剩余报文转发量对应的报文进行分配的方式可以是基于其它CPU中的CPU总数而进行的平均分配,具体方法包括:
确定其它CPU中的CPU总数;
将剩余报文转发量对应的报文按照CPU总数进行均分,得到多个报文转发量;
将多个报文转发量对应的报文,分配给其它CPU进行转发。
举例来讲,参考图1,Core1的剩余报文转发量为4Gpbs,那么Core2和Core3分配的报文转发量都为4÷2=2Gpbs。
作为优选方案,对剩余报文转发量对应的报文进行分配可以基于其它各个CPU中每个CPU当前的报文转发负载量来完成,具体方法包括:
确定其它CPU中每个CPU当前的报文转发负载量;
根据每个CPU当前的报文转发负载量,确定负载比例;
按照负载比例,将剩余报文转发量对应的报文分配给其它CPU进行转发。
举例来讲,其它CPU分别为Core2和Core3,其中Core2当前的报文转发负载量为1Gpbs,Core3当前的报文转发负载量为3Gpbs,那么确定出的负载比例为1:3,当前Core1对应的剩余报文转发量为4Gpbs,那么可以确定Core2及Core3当前的报文转发负载量分别为1Gpbs及3Gpbs。
基于可选方案,根据其它各个CPU当前的报文转发负载量,对剩余报文转发量对应的报文进行分配,让报文转发负载量较大的CPU承担更多的报文转发任务,可以避免报文转发负载量较小的CPU因分配过多的报文转发量而导致丢包的情况,提高设备整体的转发性能。
基于本申请提供的报文分流方法,在用于报文分流的第一CPU的报文转发负载量小于当前分配的实际报文转发量的时候,将第一CPU不能完成转发的剩余报文转发量对应的报文,分配给其它各个负责报文转发的CPU进行处理,可以避免因第一CPU的转发负载量不够而导致的丢包情况,进而大幅度提高设备整体的转发性能。
进一步,为了更加详细阐述本申请所提供的一种流程执行方法,下面通过具体的应用场景对本申请所提供的方法进行详细说明。
如图3所示,为本申请提供的一种报文分流方法示意图,在图3中,当设备接收到报文时,通过哈希Hash算法对接收的报文进行分流,使得所有的CPU都具有相同的报文转发量;
接下来,通过哈希算法,将分配给用于报文分流的第一CPU的报文转发量分成两部分,其中一部分是第一CPU能够完成的报文转发量,另一部分为剩余报文转发量;
接下来,对剩余报文转发量对应的报文再次进行Hash运算,将剩余报文转发量分配给其它CPU。
具体来讲,参考图4,在图4中,Core1、Core2及Core3为CPU核,3个核当前需要完成的报文转发量为24Gpbs,并且每个核只进行报文转发时的报文转发负载量为10Gpbs,在3个核中,Core1既用于报文转发,还用于报文分流。
在接收到报文时,首先对接收的报文进行Hash运算,分别对上述3个核分配当前报文转发量,Core1、Core2及Core3分配的报文转发量都为8Gpbs,而对于Core1而言,在进行报文分流时要占用50%的CPU资源,因此,继续对Core1分配的报文转发量对应的报文进行Hash运算,将分配给Core1的报文转发量分成两部分,其中一部分为Core1当前的实际报文转发负载量,大小为4Gpbs;另一部分为剩余报文转发负载量,大小也为4Gpbs;
接下来,对上述剩余报文转发负载量进行Hash运算,将这部分剩余报文转发负载量分配给Core2及Core3,在这次分配中,Core2及Core3分别得到2Gpbs的报文转发量;
综上,最终Core1、Core2及Core3当前的实际报文转发负载量分别为4Gpbs、10Gpbs、10Gpbs,后续就可以将这些报文流入队到各个CPU的专用收包队列,由各个CPU进行后续处理了。
通过上述报文分流方法,当前设备整体实现的报文转发负载量为4+10+10=24Gpbs,而按照图1中所示的方法,设备整体实现的报文转发负载量为4×3=12Gpbs,因此,在同等条件下,上述方法将设备整体的报文转发性能提高了100%。
基于同一发明构思,本申请实施例中还提供了一种报文分流装置,如图5所示,为本申请中一种报文分流装置的结构示意图,该装置包括:
确定模块51,用于在接收到报文时,确定出用于报文分流的第一CPU当前的报文转发负载量,其中,所述报文转发负载量表征CPU的最大报文转发量;
计算模块52,用于计算所述第一CPU当前分配的实际报文转发量与所述报文转发负载量的差值,并将所述差值作为剩余报文转发量;
分配模块53,用于将所述剩余报文转发量对应的报文分配给其它CPU进行转发。
进一步,所述确定模块51,具体用于:
检测所述第一CPU进行报文分流时使用的第一资源占比;
根据所述第一资源占比,计算出所述第一CPU当前用于报文转发的第二资源占比;
根据所述第二资源占比,确定出所述第一CPU当前的所述报文转发负载量。
在一种可能的设计中,所述分配模块53,具体用于:
确定其它CPU中每个CPU当前的报文转发负载量;
根据每个CPU当前的报文转发负载量,确定负载比例;
按照所述负载比例,将所述剩余报文转发量对应的报文分配给所述其它CPU进行转发。
在一种可能的设计中,所述分配模块53,具体用于:
确定所述其它CPU中的CPU总数;
将所述剩余报文转发量对应的报文按照所述CPU总数进行均分,得到多个报文转发量;
将所述多个报文转发量对应的报文,分配给所述其它CPU进行转发。
基于上述报文分流装置,在用于报文分流的第一CPU的报文转发负载量小于当前分配的实际报文转发量的时候,将第一CPU不能完成转发的剩余报文转发量对应的报文,分配给其它各个负责报文转发的CPU进行处理,可以避免因第一CPU的转发负载量不够而导致的丢包情况,进而大幅度提高设备整体的转发性能。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述一种报文分流装置的功能,参考图6,所述电子设备包括:
至少一个处理器61,以及与至少一个处理器61连接的存储器62,本申请实施例中不限定处理器61与存储器62之间的具体连接介质,图6中是以处理器61和存储器62之间通过总线60连接为例。总线60在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线60可以分为地址总线、数据总线、控制总线等,为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器61也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器62存储有可被至少一个处理器61执行的指令,至少一个处理器61通过执行存储器62存储的指令,可以执行前文论述报文分流方法。处理器61可以实现图5所示的装置中各个模块的功能。
其中,处理器61是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器62内的指令以及调用存储在存储器62内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器61可包括一个或多个处理单元,处理器61可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器61中。在一些实施例中,处理器61和存储器62可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器61可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的报文分流方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器62作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器62可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等。存储器62是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器62还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器61进行设计编程,可以将前述实施例中介绍的报文分流方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图2所示的实施例的报文分流方法的步骤。如何对处理器61进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述报文分流方法。
在一些可能的实施方式中,本申请提供的报文分流方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的报文分流方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种报文分流方法,其特征在于,所述方法包括:
在接收到报文时,确定出用于报文分流的第一CPU当前的报文转发负载量,其中,所述报文转发负载量表征CPU的最大报文转发量;
计算所述第一CPU当前分配的实际报文转发量与所述报文转发负载量的差值,并将所述差值作为剩余报文转发量;
将所述剩余报文转发量对应的报文分配给其它CPU进行转发。
2.如权利要求1所述的方法,其特征在于,在接收到报文时,确定出用于报文分流的第一CPU当前的报文转发负载量,包括:
检测所述第一CPU进行报文分流时使用的第一资源占比;
根据所述第一资源占比,计算出所述第一CPU当前用于报文转发的第二资源占比;
根据所述第二资源占比,确定出所述第一CPU当前的所述报文转发负载量。
3.如权利要求1所述的方法,其特征在于,将所述剩余报文转发量对应的报文分配给其它CPU进行转发,包括:
确定其它CPU中每个CPU当前的报文转发负载量;
根据每个CPU当前的报文转发负载量,确定负载比例;
按照所述负载比例,将所述剩余报文转发量对应的报文分配给所述其它CPU进行转发。
4.如权利要求1所述的方法,其特征在于,将所述剩余报文转发量对应的报文分配给其它CPU进行转发,包括:
确定所述其它CPU中的CPU总数;
将所述剩余报文转发量对应的报文按照所述CPU总数进行均分,得到多个报文转发量;
将所述多个报文转发量对应的报文,分配给所述其它CPU进行转发。
5.一种报文分流装置,其特征在于,所述装置包括:
确定模块,用于在接收到报文时,确定出用于报文分流的第一CPU当前的报文转发负载量,其中,所述报文转发负载量表征CPU的最大报文转发量;
计算模块,用于计算所述第一CPU当前分配的实际报文转发量与所述报文转发负载量的差值,并将所述差值作为剩余报文转发量;
分配模块,用于将所述剩余报文转发量对应的报文分配给其它CPU进行转发。
6.如权利要求5所述的装置,其特征在于,所述确定模块,具体用于:
检测所述第一CPU进行报文分流时使用的第一资源占比;
根据所述第一资源占比,计算出所述第一CPU当前用于报文转发的第二资源占比;
根据所述第二资源占比,确定出所述第一CPU当前的所述报文转发负载量。
7.如权利要求5所述的装置,其特征在于,所述分配模块,具体用于:
确定其它CPU中每个CPU当前的报文转发负载量;
根据每个CPU当前的报文转发负载量,确定负载比例;
按照所述负载比例,将所述剩余报文转发量对应的报文分配给所述其它CPU进行转发。
8.如权利要求5所述的装置,其特征在于,所述分配模块,具体用于:
确定所述其它CPU中的CPU总数;
将所述剩余报文转发量对应的报文按照所述CPU总数进行均分,得到多个报文转发量;
将所述多个报文转发量对应的报文,分配给所述其它CPU进行转发。
9.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-4中任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述的方法步骤。
CN202111225484.6A 2021-10-21 2021-10-21 一种报文分流方法、装置及电子设备 Active CN113992589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111225484.6A CN113992589B (zh) 2021-10-21 2021-10-21 一种报文分流方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111225484.6A CN113992589B (zh) 2021-10-21 2021-10-21 一种报文分流方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113992589A true CN113992589A (zh) 2022-01-28
CN113992589B CN113992589B (zh) 2023-05-26

Family

ID=79739840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111225484.6A Active CN113992589B (zh) 2021-10-21 2021-10-21 一种报文分流方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113992589B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130070592A1 (en) * 2011-09-20 2013-03-21 Telefonaktiebolaget L M Ericsson (Publ) Proportional Bandwidth Sharing of the Excess Part in a MEF Traffic Profile
WO2015123985A1 (zh) * 2014-02-24 2015-08-27 中兴通讯股份有限公司 一种调整负载均衡的方法及装置和计算机存储介质
JP2015171096A (ja) * 2014-03-10 2015-09-28 日本電気株式会社 ゲートウェイ装置、パケット転送方法、および、プログラム
CN106713185A (zh) * 2016-12-06 2017-05-24 瑞斯康达科技发展股份有限公司 一种多核cpu的负载均衡方法及装置
CN108170533A (zh) * 2017-12-27 2018-06-15 杭州迪普科技股份有限公司 报文的处理方法及装置、计算机可读存储介质
CN108632165A (zh) * 2018-04-23 2018-10-09 新华三技术有限公司 一种报文处理方法、装置及设备
CN109450816A (zh) * 2018-11-19 2019-03-08 迈普通信技术股份有限公司 一种队列调度方法、装置、网络设备及存储介质
CN109510834A (zh) * 2018-12-07 2019-03-22 北京神州绿盟信息安全科技股份有限公司 一种安全策略下发方法及装置
CN110333945A (zh) * 2019-05-09 2019-10-15 成都信息工程大学 一种动态负载均衡方法、系统及终端
CN111262792A (zh) * 2020-01-17 2020-06-09 新华三信息安全技术有限公司 报文转发方法、装置、网络设备及存储介质
CN111277514A (zh) * 2020-01-21 2020-06-12 新华三技术有限公司合肥分公司 一种报文队列分配方法、报文转发方法及相关装置
CN111356181A (zh) * 2020-02-25 2020-06-30 杭州迪普信息技术有限公司 流量转发方法、装置、网络设备和计算机可读存储介质
CN111884945A (zh) * 2020-06-10 2020-11-03 中国电信股份有限公司重庆分公司 一种网络报文的处理方法和网络接入设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130070592A1 (en) * 2011-09-20 2013-03-21 Telefonaktiebolaget L M Ericsson (Publ) Proportional Bandwidth Sharing of the Excess Part in a MEF Traffic Profile
WO2015123985A1 (zh) * 2014-02-24 2015-08-27 中兴通讯股份有限公司 一种调整负载均衡的方法及装置和计算机存储介质
JP2015171096A (ja) * 2014-03-10 2015-09-28 日本電気株式会社 ゲートウェイ装置、パケット転送方法、および、プログラム
CN106713185A (zh) * 2016-12-06 2017-05-24 瑞斯康达科技发展股份有限公司 一种多核cpu的负载均衡方法及装置
CN108170533A (zh) * 2017-12-27 2018-06-15 杭州迪普科技股份有限公司 报文的处理方法及装置、计算机可读存储介质
CN108632165A (zh) * 2018-04-23 2018-10-09 新华三技术有限公司 一种报文处理方法、装置及设备
CN109450816A (zh) * 2018-11-19 2019-03-08 迈普通信技术股份有限公司 一种队列调度方法、装置、网络设备及存储介质
CN109510834A (zh) * 2018-12-07 2019-03-22 北京神州绿盟信息安全科技股份有限公司 一种安全策略下发方法及装置
CN110333945A (zh) * 2019-05-09 2019-10-15 成都信息工程大学 一种动态负载均衡方法、系统及终端
CN111262792A (zh) * 2020-01-17 2020-06-09 新华三信息安全技术有限公司 报文转发方法、装置、网络设备及存储介质
CN111277514A (zh) * 2020-01-21 2020-06-12 新华三技术有限公司合肥分公司 一种报文队列分配方法、报文转发方法及相关装置
CN111356181A (zh) * 2020-02-25 2020-06-30 杭州迪普信息技术有限公司 流量转发方法、装置、网络设备和计算机可读存储介质
CN111884945A (zh) * 2020-06-10 2020-11-03 中国电信股份有限公司重庆分公司 一种网络报文的处理方法和网络接入设备

Also Published As

Publication number Publication date
CN113992589B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US10558498B2 (en) Method for scheduling data flow task and apparatus
CN107239336B (zh) 一种实现任务调度的方法及装置
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
CN110351375B (zh) 一种数据处理方法、装置及计算机装置、可读存储介质
CN108173698B (zh) 网络服务管理方法、装置、服务器及存储介质
CN110362402B (zh) 一种负载均衡方法、装置、设备及可读存储介质
US11489735B2 (en) Dynamic network allocation apparatus, dynamic network allocation method and non-transitory computer-readable medium
CN113467938B (zh) 一种总线资源分配方法、装置及相关设备
CN112003797A (zh) 一种虚拟化dpdk网络性能提高方法、系统、终端及存储介质
CN111176792A (zh) 一种资源调度方法、装置及相关设备
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN111857992B (zh) 一种Radosgw模块中线程资源分配方法和装置
CN111190739A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN110716805A (zh) 图形处理器的任务分配方法、装置、电子设备及存储介质
CN103823712A (zh) 一种多cpu虚拟机系统的数据流处理方法和装置
CN106775925B (zh) 一种虚拟机cpu的限额处理方法和装置
CN111400241B (zh) 数据重构方法和装置
CN112214299A (zh) 多核处理器及其任务调度方法和装置
CN109788061B (zh) 计算任务部署方法及装置
CN113992589A (zh) 一种报文分流方法、装置及电子设备
CN110046040B (zh) 分布式任务处理方法及系统和存储介质
CN111580937B (zh) 一种面向飞腾多核/众核混合集群的虚拟机自动调度方法
CN107045457A (zh) 一种多租户资源共享的方法及装置
CN112114971A (zh) 一种任务分配方法、装置及设备
CN114281516A (zh) 一种基于numa属性的资源分配方法及装置

Legal Events

Date Code Title Description
PB01 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