CN114257549B - 一种流量的转发方法、装置、设备及存储介质 - Google Patents

一种流量的转发方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114257549B
CN114257549B CN202111570954.2A CN202111570954A CN114257549B CN 114257549 B CN114257549 B CN 114257549B CN 202111570954 A CN202111570954 A CN 202111570954A CN 114257549 B CN114257549 B CN 114257549B
Authority
CN
China
Prior art keywords
processing core
data
traffic
flow
deviation
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.)
Active
Application number
CN202111570954.2A
Other languages
English (en)
Other versions
CN114257549A (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.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian Technology 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 Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN202111570954.2A priority Critical patent/CN114257549B/zh
Publication of CN114257549A publication Critical patent/CN114257549A/zh
Priority to PCT/CN2022/114806 priority patent/WO2023116011A1/zh
Application granted granted Critical
Publication of CN114257549B publication Critical patent/CN114257549B/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

本发明公开了一种流量的转发方法、装置、设备及存储介质。该方法包括:获取两个或两个以上工作处理核心通过对应节点对流量数据的接收情况;根据所述接收情况,将目标工作处理核心的第一节点切换一部分到其他工作处理核心,其中,所述目标工作处理核心为所述两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心。本发明可以实现在系统运行过程中根据流量情况进行流量均衡分发,在对业务无影响的情况下,减少系统的丢包率,提升系统整体处理能力。

Description

一种流量的转发方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种流量的转发方法、装置、设备及存储介质。
背景技术
在多处理核心的硬件环境下,每个处理核心所接收的流量均衡才能充分利用多核CPU,达到系统整体处理能力较优的情况。
在实际运行过程中,在初始分配策略不变的情况下,随着时间推移流量变化,会出现分发到各处理核心的流量不均衡,流量偏差可能高达30%以上。
如何在运行过程中及时进行流量均衡是一个挑战。如果仅仅为了流量均衡而随意改变数据的分发方向,则可能会将已经分配到一个处理核心的一条连接的后续数据报文分发到其他处理核心上,这样不但增加系统的处理负担,还会损失业务质量。所以需要一种既保证流量均衡也不对业务造成损失的流量均衡方法。
发明内容
本发明提供一种流量的转发方法、装置、设备及存储介质,以实现流量均衡且无损的分发至多个处理核心。
第一方面,本发明实施例提供了一种流量的转发方法,应用于转发处理核心,包括:获取两个或两个以上工作处理核心通过对应节点对流量数据的接收情况;根据所述接收情况,将目标工作处理核心的第一节点切换一部分到其他工作处理核心,其中,所述目标工作处理核心为所述两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心。
第二方面,本发明实施例还提供了一种流量的转发装置,包括:数据流量控制模块,用于获取两个或两个以上工作处理核心通过对应节点对流量数据的接收情况;
数据流量分发模块,用于根据所述接收情况,将目标工作处理核心的第一节点切换一部分到其他工作处理核心,其中,所述目标工作处理核心为所述两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心。
第三方面,本发明实施例还提供了一种计算机设备,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的流量的转发方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的流量的转发方法。
本发明公开了一种流量的转发方法、装置、设备及存储介质,获取两个或两个以上工作处理核心通过对应节点对流量数据的接收情况;根据所述接收情况,将目标工作处理核心的第一节点切换一部分到其他工作处理核心,本发明可以实现在系统运行过程中根据流量情况进行流量均衡分发,在对业务无影响的情况下,减少系统的丢包率,提升系统整体处理能力。
附图说明
图1a是本发明实施例一中提供的一种流量的转发方法的流程图;
图1b是本发明实施例一中提供的一种流量的转发方法的流程图;
图2是本发明实施例二中提供的一种流量的转发装置的示意图;
图3是本发明实施例三中提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a为本发明实施例一提供的一种流量的转发方法的流程图,本实施例可适用于对多个工作处理核心流量均衡且无损转发的情况,该方法可以由流量的转发装置来执行,具体包括如下步骤:
S110、获取所有工作处理核心对应节点的流量统计情况;
本发明适用于具备多个处理核心的数据处理设备,其中,可根据职能不同将多个处理核心划分为工作处理核心和转发处理核心。工作处理核心主要用于从对应的高速环形队列中读取报文数据,进行处理。转发处理核心主要用于生成流量分配表、根据流量分配表为每个节点分配相应的工作处理核心、将流量数据发至各个工作处理核心等。
其中,节点是一个逻辑概念。节点也称之为流量节点值,由流量五元组(源IP、目的IP、源端口、目的端口、承载协议)经过hash函数计算并取模后获得。在实际流量数据转发处理场景中,转发处理核心将流量数据转发到相应的工作处理核心需要通过节点值确定。
具体的,多核心数据处理设备中工作处理核心的数量至少为两个,转发处理核心可以为一个或多个,同时转发处理核心可以获取各个工作处理核心对应节点的数据流量统计情况,用于判断各个工作处理核心接收到的流量数据是否均衡。
可选的,在获取所有工作处理核心对应节点的流量统计情况之前,包括:
由转发处理核心生成初始流量分配表;根据所述初始流量分配表,为所有节点分配工作处理核心;所述转发处理核心将流量数据向各工作处理核心进行转发。
其中,转发处理核心可以生成流量分配表。流量分配表为一元数组,用于根据节点查询转发处理核心应将流量数据转发至哪一个工作处理核心。在设备运行之前,转发处理核心第一次生成流量分配表称之为初始流量分配表。可选的,初始分配表的生成策略可以是按顺序轮洒的方法为每个节点分配工作处理核心,既在设备首次时,每个工作处理核心被分配的节点数量是相同的。转发处理核心向工作处理核心转发数据流量可以使用DPDK自带的高速环形队列,实现核心间高速转发,其中每个工作处理核心对应一个高速环形队列。
S120、根据所述统计情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心。
其中,所述目标工作处理核心为所述两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心。
其中,所述第一节点为分配至目标工作处理核心的节点。所述第一流量数据为目标工作处理核所接收到的流量数据总量。
具体的,在设备运行过程中,随着时间推移接入流量的变化可能会导致流量不再均衡的情况,影响设备整体处理能力。所述转发处理核心根据各个处理核心对流量数据的接收情况,为使多个工作处理核心接收流量再次达到平衡,可将分配至目标工作处理核心的部分节点,重新分配至其他工作处理核心。
可选的,所述根据所述接收情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心之前,包括:
经过预定时间,判断是否存在至少一个工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值;
若是,则将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心;若否,不执行操作。
其中,所述预定时间可根据实际情况确定,在此不作具体限定;所述第一流量数据总量为单个工作处理核心当前时刻所接收到的流量数据总量;所述数据阈值不作限定,可以为工作处理核心额定处理规格的70%;所述数据偏差为当前工作处理核心与其他单个工作处理核心所接收的流量数据偏差,其中,偏差阈值可配置,可配置为0.1、0.15、0.2等。
具体的,每隔一段时间,判断是否存在任一工作处理核心接收到的流量超过其处理规格的70%,且各核心的流量偏差是否超过预先制定偏差阈值。如果有,则将所对应的工作处理核心定义为目标工作处理核心,所述目标工作处理核心可以为一个或多个。可以通过将分配至目标处理核心上的部分节点重新分配工作处理核心,使各个工作处理核心所接收到的流量再次达到均衡,即转发处理核心生成新的流量分配表。如果没有,则不进行任何操作。
可选的,所述数据流量偏差通过对各工作处理核心接收数据流量进行方差归一化公式计算获得;
方差公式如下:
Figure GDA0003934269530000061
对方差公式进行处理,使流量偏差取值范围归一化到0~1,获取到流量偏差f的计算公式:
Figure GDA0003934269530000062
其中,s是各工作处理核心接收流量的方差,xi为工作处理核心i所接收到流量,m为工作处理核心的数量。
可选的,在所述根据所述接收情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心之前,还包括:
由所述转发处理核心生成新的流量分配表;根据所述新的流量分配表,所述转发处理核心将分配至目标工作处理核心的部分节点,重新分配到其他工作处理核心中。
具体的,在转发处理核心将目标工作处理核心所连接的节点转发至其他工作处理核心之前,转发处理核心需要先生成新的流量分配表,新的流量分配表对部分节点所分配的工作处理核心重新作了调整。根据新的流量分配表将分配至目标工作处理核心的部分节点,重新分配到其他工作处理核心中,使各个工作处理核心所接收到的流量再次达到均衡。
可选的,所述由所述转发处理核心生成新的流量分配表,包括:所述新的流量分配表将最少数量的节点重新分配至其他工作处理核心,且使各个工作处理核心所接收的数据流量均衡。
为了达到在较短时间内使各个工作处理核所接收到的流量数据均衡,且保证流量数据无损失的目的,应保证部分被重新分配工作处理核心的节点数量应当最少,此时可以利用动态规划的多个背包问题进行解决,该问题可描述为:如何将n个节点(物品)分配到m个工作处理核心中(背包),使得各个工作处理核心分配到对应节点的总计流量数据均衡,且被重新分配工作处理核心的节点数量最少,可以使用数学建模解决该问题。所使用数学建模如下:
Figure GDA0003934269530000071
Figure GDA0003934269530000072
Figure GDA0003934269530000073
Figure GDA0003934269530000074
xij∈{0,1},i=1,…,m,j=1,…,n
Figure GDA0003934269530000075
Figure GDA0003934269530000076
Δ=5%×C
上述数学建模可通过分支界定或动态规划算法进行实现,其中,n表示节点数量;m表示工作处理核心数量。
xij表示第j个节点分配到第i个工作处理核上,取值为0或1。
x′ij表示第j个节点原分配到第i个工作处理核心,即流量调整前第j个节点分配到第i个工作处理核心,取值为0或1。
f(xij)为目标函数,如果第j个节点对应的工作处理核心没有发生变化,则取值1,否则取值0。目标函数是为了达成被重新分配工作处理核心的节点数量最少。
wj表示第j个节点的当前流量值。
C表示每个工作处理核心的期望流量值,对总流量求算数平均计算获得。
Δ表示允许的流量误差,即期望流量值上下浮动5%。
Figure GDA0003934269530000081
Figure GDA0003934269530000082
上面这两个公式是约束条件,为了达到流量均衡的目的。
Figure GDA0003934269530000083
上面这个公式是约束条件,即一个节点只能分配到一个工作处理核心上。
可选的,所述转发处理核心将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心,还包括:
采用线程锁获取新的流量分配表指针,将所述新的流量分配表指针指向所述新的流量分配表后解锁。
具体的,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。线程锁能够提供一种操控线程切换的手段,使用锁可以让线程的切换变的有序,一旦线程的切换变的有序后,各个线程之间对数据的访问、修改就变的可控,所以若要保证线程安全,就必须使用线程锁。通过转发处理核心重新生成了一份新的流量分配表,按照新的流量分配表进行转发就可以实现流量再次均衡,这时需要采用线程锁将新生成的流量分配表替换掉原有的流量分配表。
本发明实施例公开了一种流量的转发方法,通过获取两个或两个以上工作处理核心通过对应节点对流量数据的接收情况;根据所述接收情况,将目标工作处理核心的第一节点切换一部分到其他工作处理核心,本发明可以实现在系统运行过程中根据流量情况进行流量均衡分发,在对业务无影响的情况下,减少系统的丢包率,提升系统整体处理能力。
图1b是本发明实施例一提供的一种流量的转发的流程图。在一个具体的例子中,如图1b所示,具备多个处理核心的设备包括工作处理核心和转发处理核心,转发处理核心根据流量分配表为每个节点分配相应的工作处理核心,工作处理核心处理所接收到的数据流量。首先,多处理核心设备可以获取各个工作处理核心接收到的数据流量,判断是否存在任一工作处理核心中接收的流量数据总量超过数据阈值,这里的数据阈值是指该工作处理核心的处理规格的70%,如果没有,则不进行任何操作。如果有工作处理核心中接收的流量数据总量超过数据阈值,则判断是否有工作处理核心与其他单个工作处理核心所接收的流量数据偏差超过预先制定偏差阈值,偏差阈值可配置为0.1、0.15、0.2等。如果没有,则不进行任何操作。如果有工作处理核心与其他单个工作处理核心所接收的流量数据偏差超过预先制定偏差阈值,则转发处理核心生成新的流量分配表,转发处理核心将分配至目标工作处理核心的部分节点,重新分配其他工作处理核心,以达到各个工作处理核心接收到的流量数据相对平衡的状态,结束本流程操作。经过预定时间,由于用户的操作会使得各个节点中负载的流量数据产生变化,使得各个工作处理核心所接收的流量不均衡,可再次运行本流程,使得各个工作处理核心所接收到的数据流量再次达到平衡。由此可见,本发明实施例的技术方案可使数据流量均衡分配到各个工作处理核心。
实施例二
图2是本发明实施例二提供的一种流量的转发装置的示意图,如图2所示,所述装置包括:数据流量控制模块210以及数据流量分发模块220,其中:
数据流量控制模块210,用于获取所有工作处理核心对应节点的流量统计情况;
数据流量分发模块220,用于根据所述接收情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心,其中,所述目标工作处理核心为所述两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心。
本发明实施例公开了一种流量的转发装置,通过获取两个或两个以上工作处理核心通过对应节点对流量数据的接收情况;根据所述接收情况,将目标工作处理核心的第一节点切换一部分到其他工作处理核心,本发明可以实现在系统运行过程中根据流量情况进行流量均衡分发,在对业务无影响的情况下,减少系统的丢包率,提升系统整体处理能力。
可选的,所述获取两个或两个以上工作处理核心通过对应节点对流量数据的接收情况之前,包括:
由转发处理核心生成初始流量分配表;
根据所述初始流量分配表,所述转发处理核心对节点向各工作处理核心进行转发。
可选的,所述流量的装发装置,还包括:流量控制模块;
所述流量控制模块,用于经过预定时间,判断是否存在至少一个工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值;
若是,则将目标工作处理核心的第一节点切换一部分到其他工作处理核心;若否,不执行操作。
可选的,所述数据流量偏差通过对各工作处理核心接收数据流量进行方差归一化公式计算获得;
方差公式如下:
Figure GDA0003934269530000111
对方差公式进行处理,使流量偏差取值范围归一化到0~1,获取到流量偏差f的计算公式:
Figure GDA0003934269530000112
Figure GDA0003934269530000121
可选的,所述根据所述接收情况,将目标工作处理核心的第一节点切换一部分到其他工作处理核心之前,还包括:
由所述转发处理核心生成新的流量分配表;
根据所述新的流量分配表,所述转发处理核心将目标工作处理核心的第一节点切换一部分到其他工作处理核心。
可选的,所述由所述转发处理核心生成新的流量分配表,包括:
所述转发处理核心切换较少数量节点至其他工作处理核心;所使用数学建模如下:
Figure GDA0003934269530000122
Figure GDA0003934269530000123
Figure GDA0003934269530000124
Figure GDA0003934269530000125
xij∈{0,1},i=1,…,m,j=1,…,n
Figure GDA0003934269530000126
Figure GDA0003934269530000127
Δ=5%×C
可选的,所述根据所述新的流量分配表,所述转发处理核心将目标工作处理核心的第一节点切换一部分到其他工作处理核心,还包括:
采用线程锁获取新的流量分配表指针,将所述新的流量分配表指针指向所述新的流量分配表后解锁。
实施例三
图3为本发明实施例三提供的一种计算机设备的结构示意图,如图3所示,该设备包括处理
例包括但不限于互联网、企业内部网、局域网、移动通信网及器310、存储器320、输入装置330和输出装置340;设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的流量的转发方法对应的程序指令/模块(例如,流量的转发装置中的数据流量控制模块210、数据流量分发模块220)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的流量的转发方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实其组合。
输入装置330可用于接收输入的流量数据,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
实施例四
本发明实施例四还提供一种包含计算机可读存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种流量的转发方法,该方法包括:
获取所有工作处理核心对应节点的流量统计情况;
根据所述统计情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心,其中,所述目标工作处理核心为所述两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的流量的转发方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种流量的转发方法,其特征在于,应用于转发处理核心,包括:
获取所有工作处理核心对应节点的流量统计情况;
根据所述统计情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心,其中,所述目标工作处理核心为两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心;所述偏差为当前工作处理核心与其他单个工作处理核心所接收的流量数据偏差;
在所述根据所述统计情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心之前,包括:
经过预定时间,判断是否存在至少一个工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值;
若是,则将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心;
若否,不执行操作;
所述偏差通过对各工作处理核心接收数据流量进行方差归一化公式计算获得;
方差公式如下:
Figure FDA0003934269520000011
对所述方差公式进行处理,使偏差取值范围归一化到0~1,获取到偏差f的计算公式:
Figure FDA0003934269520000021
其中,s为各工作处理核心接收流量的方差,xi为工作处理核心i所接收到流量,m为工作处理核心的数量。
2.根据权利要求1所述的方法,其特征在于,在获取所有工作处理核心对应节点的流量统计情况之前,包括:
由转发处理核心生成初始流量分配表;
根据所述初始流量分配表,为所有节点分配工作处理核心;所述转发处理核心将流量数据向各工作处理核心进行转发。
3.根据权利要求1所述的方法,其特征在于,所述根据所述统计情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心之前,还包括:
由所述转发处理核心生成新的流量分配表;
根据所述新的流量分配表,所述转发处理核心将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心。
4.根据权利要求3所述的方法,其特征在于,所述由所述转发处理核心生成新的流量分配表,包括:
所述转发处理核心切换较少数量节点至其他工作处理核心,所使用数学建模如下:
Figure FDA0003934269520000022
Figure FDA0003934269520000023
Figure FDA0003934269520000031
Figure FDA0003934269520000032
xij∈{0,1},i=1,...,m,j=1,...,n
Figure FDA0003934269520000033
Figure FDA0003934269520000034
Δ=5%×C
其中,n表示节点数量;m表示工作处理核心数量;xij表示当前第j个节点分配的第i个工作处理核心;x′ij表示第j个节点原分配的第i个工作处理核心,即流量调整前第j个节点分配的第i个工作处理核心;f(xij)为目标函数,在第j个节点对应的工作处理核心没有发生变化情况下,则取值1,否则取值0;wj表示第个j节点的当前流量值;C表示每个工作处理核心的期望流量值;Δ表示允许的流量误差。
5.根据权利要求3所述的方法,其特征在于,所述根据所述新的流量分配表,所述转发处理核心将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心,还包括:
采用线程锁获取新的流量分配表指针,将所述新的流量分配表指针指向所述新的流量分配表后解锁。
6.一种流量的转发装置,其特征在于,包括:
数据流量控制模块,用于获取所有工作处理核心对应节点的流量统计情况;
数据流量分发模块,用于根据所述统计情况,将分配至目标工作处理核心的第一节点切换一部分到其他工作处理核心,其中,所述目标工作处理核心为两个或两个以上工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值的工作处理核心;所述偏差为当前工作处理核心与其他单个工作处理核心所接收的流量数据偏差;
所述流量控制模块,用于经过预定时间,判断是否存在至少一个工作处理核心中接收第一流量数据总量超过数据阈值,且,所述第一流量数据总量相对于所述第一节点的转发数据总量的偏差大于偏差阈值;
若是,则将目标工作处理核心的第一节点切换一部分到其他工作处理核心;若否,不执行操作;
所述偏差通过对各工作处理核心接收数据流量进行方差归一化公式计算获得;
方差公式如下:
Figure FDA0003934269520000041
对所述方差公式进行处理,使偏差取值范围归一化到0~1,获取到偏差f的计算公式:
Figure FDA0003934269520000042
其中,s为各工作处理核心接收流量的方差,xi为工作处理核心i所接收到流量,m为工作处理核心的数量。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一所述的流量的转发方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的流量的转发方法。
CN202111570954.2A 2021-12-21 2021-12-21 一种流量的转发方法、装置、设备及存储介质 Active CN114257549B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111570954.2A CN114257549B (zh) 2021-12-21 2021-12-21 一种流量的转发方法、装置、设备及存储介质
PCT/CN2022/114806 WO2023116011A1 (zh) 2021-12-21 2022-08-25 流量的转发方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111570954.2A CN114257549B (zh) 2021-12-21 2021-12-21 一种流量的转发方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114257549A CN114257549A (zh) 2022-03-29
CN114257549B true CN114257549B (zh) 2023-01-10

Family

ID=80796258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111570954.2A Active CN114257549B (zh) 2021-12-21 2021-12-21 一种流量的转发方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114257549B (zh)
WO (1) WO2023116011A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257549B (zh) * 2021-12-21 2023-01-10 北京锐安科技有限公司 一种流量的转发方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677484A (zh) * 2016-01-08 2016-06-15 国家计算机网络与信息安全管理中心 一种自动负载均衡的多核cpu实时数据处理方法
CN106385385A (zh) * 2016-09-29 2017-02-08 东软集团股份有限公司 资源分配方法及装置
CN107196870A (zh) * 2017-07-20 2017-09-22 哈尔滨工业大学 一种基于dpdk的流量动态负载均衡方法
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质
CN110968415A (zh) * 2018-09-29 2020-04-07 Oppo广东移动通信有限公司 多核处理器的调度方法、装置及终端
CN111200541A (zh) * 2019-12-31 2020-05-26 山石网科通信技术股份有限公司 网络数据处理方法和装置
CN112380001A (zh) * 2020-10-30 2021-02-19 网宿科技股份有限公司 日志输出方法、负载均衡设备及计算机可读存储介质
CN112799838A (zh) * 2021-01-27 2021-05-14 Oppo广东移动通信有限公司 任务处理方法、多核处理器及计算机设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009001700B4 (de) * 2008-07-22 2019-02-07 Toyota Jidosha Kabushiki Kaisha Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren
CN102779075B (zh) * 2012-06-28 2014-12-24 华为技术有限公司 一种在多处理器核系统中进行调度的方法、装置及系统
US9917777B2 (en) * 2014-01-15 2018-03-13 Wind River Systems, Inc. Method and system for decentralized workload optimization in a data packet processing system using a multicore CPU
JP5945617B2 (ja) * 2015-04-15 2016-07-05 イーソル株式会社 マルチコアプロセッサの制御プログラム、電子機器及び制御方法
CN112463367A (zh) * 2020-11-19 2021-03-09 苏州浪潮智能科技有限公司 一种存储系统性能优化方法、系统及电子设备和存储介质
CN114257549B (zh) * 2021-12-21 2023-01-10 北京锐安科技有限公司 一种流量的转发方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677484A (zh) * 2016-01-08 2016-06-15 国家计算机网络与信息安全管理中心 一种自动负载均衡的多核cpu实时数据处理方法
CN106385385A (zh) * 2016-09-29 2017-02-08 东软集团股份有限公司 资源分配方法及装置
CN107196870A (zh) * 2017-07-20 2017-09-22 哈尔滨工业大学 一种基于dpdk的流量动态负载均衡方法
CN110968415A (zh) * 2018-09-29 2020-04-07 Oppo广东移动通信有限公司 多核处理器的调度方法、装置及终端
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质
CN111200541A (zh) * 2019-12-31 2020-05-26 山石网科通信技术股份有限公司 网络数据处理方法和装置
CN112380001A (zh) * 2020-10-30 2021-02-19 网宿科技股份有限公司 日志输出方法、负载均衡设备及计算机可读存储介质
CN112799838A (zh) * 2021-01-27 2021-05-14 Oppo广东移动通信有限公司 任务处理方法、多核处理器及计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《一种基于系统实时负载的网络流量均衡方法》;周计等;《计算机安全》;20140315;正文第1.2节 *
《基于多核处理器平台的分流模块的设计与实现》;马媛;《中国优秀硕士学位论文全文数据库》;20121031;全文 *

Also Published As

Publication number Publication date
CN114257549A (zh) 2022-03-29
WO2023116011A1 (zh) 2023-06-29

Similar Documents

Publication Publication Date Title
US8984526B2 (en) Dynamic processor mapping for virtual machine network traffic queues
Savi et al. Impact of processing costs on service chain placement in network functions virtualization
US7444640B2 (en) Controlling processing networks
EP0822494B1 (en) Load balancing method and apparatus
CN105009521B (zh) 消息处理方法和网关
US10541901B2 (en) Methods, systems and computer readable media for optimizing placement of virtual network visibility components
Li et al. On dynamic mapping and scheduling of service function chains in SDN/NFV-enabled networks
US8989037B2 (en) System for performing data cut-through
JP2012048424A (ja) 識別子割当て方法及びプログラム
US11438271B2 (en) Method, electronic device and computer program product of load balancing
CN114257549B (zh) 一种流量的转发方法、装置、设备及存储介质
Alkmim et al. Optimal mapping of virtual networks
Liu et al. Scheduling multi-flow network updates in Software-Defined NFV systems
WO2003014951A2 (en) Controlling processing networks
CN112685167A (zh) 资源使用方法、电子设备和计算机程序产品
US20150095498A1 (en) Allocating Bandwidth in a Network
CA2576800C (en) Accelerated data switching on symmetric multiprocessor systems using port affinity
Nace et al. A tutorial on max-min fairness and its applications to routing, load-balancing and network design
CN113890847A (zh) 一种流量转发方法和装置
CN112291326A (zh) 负载均衡方法、负载均衡装置、存储介质与电子设备
CN109150758B (zh) 节点业务分配方法、装置、系统及计算机可读存储介质
JP6511006B2 (ja) リソース割当管理装置および割当て先サーバ決定方法
Courcoubetis et al. Congestion control for background data transfers with minimal delay impact
KR101813165B1 (ko) 소프트웨어 정의 네트워크를 위한 적응적 제어 평면 관리 방법 및 장치
US11489776B2 (en) Multicore offloading of network processing

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