CN112073332A - 报文分发方法、多核处理器及可读存储介质 - Google Patents

报文分发方法、多核处理器及可读存储介质 Download PDF

Info

Publication number
CN112073332A
CN112073332A CN202010795732.XA CN202010795732A CN112073332A CN 112073332 A CN112073332 A CN 112073332A CN 202010795732 A CN202010795732 A CN 202010795732A CN 112073332 A CN112073332 A CN 112073332A
Authority
CN
China
Prior art keywords
message
core
value corresponding
ring
packet
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.)
Pending
Application number
CN202010795732.XA
Other languages
English (en)
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.)
Chengdu Fenghuo Cloud Information Technology Co ltd
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Chengdu Fenghuo Cloud Information Technology Co ltd
Fiberhome Telecommunication Technologies 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 Chengdu Fenghuo Cloud Information Technology Co ltd, Fiberhome Telecommunication Technologies Co Ltd filed Critical Chengdu Fenghuo Cloud Information Technology Co ltd
Priority to CN202010795732.XA priority Critical patent/CN112073332A/zh
Publication of CN112073332A publication Critical patent/CN112073332A/zh
Pending legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first

Landscapes

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

Abstract

本发明提供一种报文分发方法、多核处理器及可读存储介质,该方法包括:对多核处理器中的任一报文处理核而言,当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。通过本发明,当一报文处理核对应的网卡队列中报文数量多时,将报文分发到多个ring队列上,使得每个报文处理核可以从其对应的ring队列中获取报文并处理,从而实现了多核处理器核间负载均衡,提高了多核处理器的利用率。

Description

报文分发方法、多核处理器及可读存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种报文分发方法、多核处理器及可读存储介质。
背景技术
目前,一般通过前端分流的方式实现多核处理器的核间负载均衡。前端分流的具体方式为:网卡抽取报文指定字段进行hash运算,通过hash运算的结果,将各报文散列到不同的网卡队列中,从而实现将报文分担到不同的网卡队列对应的处理核上进行处理。
在一些情况下,通过前端分流的方式,可能会将报文分到一网卡队列上,而其他网卡队列无法收到报文,从而导致该网卡队列绑定的处理核繁忙,而其他处理核处于空闲。例如,当网卡无法对报文进行识别时,便无法抽取报文的指定字段进行hash运算,从而默认进入网卡队列0,而其它队列无法收到报文,从而导致网卡队列0绑定的处理核繁忙,其它核处于空闲。或是,由于同一条数据流的报文头部内容固定,导致计算出的hash值相同,从而只能进入某单一队列,导致该队列绑定的处理核繁忙,其它核处于空闲。
而目前对于这种由于前端分流不均,导致核间负载不均衡的情况,缺少解决方案,从而导致对多核处理器的利用率较低。
发明内容
本发明的主要目的在于提供一种报文分发方法、多核处理器及可读存储介质,旨在解决现有技术中由于前端分流不均,导致多核处理器核间负载不均衡的技术问题。
第一方面,本发明提供一种报文分发方法,所述报文分发方法应用于多核处理器中的各个报文处理核,所述报文分发方法包括:
当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;
基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。
可选的,所述基于每个报文对应的哈希值,将所有报文分发到多个ring队列中的步骤包括:
对每个报文对应的哈希值取模第一数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第一数值为所述多核处理器包括的报文处理核的数量。
可选的,所述基于每个报文对应的哈希值,将所有报文分发到多个ring队列中的步骤还包括:
对每个报文对应的哈希值取模第二数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第二数值为设置核间负载比例时设置的样本数。
可选的,所述将每个报文分发到其核ID值对应的ring队列中的步骤包括:
将每个报文的描述符挂入每个报文对应的核ID值对应的bulk中;
当bulk中挂入的描述符数量等于第二阈值时,将bulk写入bulk对应的核ID值对应的ring队列中;
或,
从bulk中挂入第一个描述符开始,经过预设时长时,将bulk写入bulk对应的核ID值对应的ring队列中。
可选的,在所述基于每个报文对应的哈希值,将所有报文分发到多个ring队列中的步骤之后,还包括:
当本报文处理核对应的网卡队列中报文的数量为零时,从本报文处理核对应的ring队列中获取bulk;
从bulk中获取描述符;
基于所述描述符,获取所述描述符对应的报文,并对获取得到的报文进行处理。
可选的,在所述当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值的步骤之前,还包括:
建立本报文处理核对应的ring队列。
可选的,所述目标字段为五元组字段。
第二方面,本发明还提供一种多核处理器,所述多核处理器包括至少两个报文处理核,其中,各个报文处理核用于:
当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;
基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。
第三方面,本发明还提供一种多核处理器,所述多核处理器包括至少两个报文处理核,所述报文处理核包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的报文分发程序,其中所述报文分发程序被所述处理器执行时,实现如上所述的报文分发方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有报文分发程序,其中所述报文分发程序被处理器执行时,实现如上所述的报文分发方法的步骤。
本发明中,对多核处理器中的任一报文处理核而言,当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。通过本发明,当一报文处理核对应的网卡队列中报文数量多时,将报文分发到多个ring队列上,使得每个报文处理核可以从其对应的ring队列中获取报文并处理,从而实现了多核处理器核间负载均衡,提高了多核处理器的利用率。
附图说明
图1为本发明报文分发方法一实施例的流程示意图;
图2为一实施例中对报文进行分发的场景示意图;
图3为另一实施例中对报文进行分发的场景示意图;
图4为一实施例中将每个报文处理核对应的核ID值填入核间负载比例设置界面后的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种多核处理器。多核处理器包括至少两个报文处理核,报文处理核包括处理器、存储器、以及存储在存储器上并可被处理器执行的报文分发程序,其中报文分发程序被处理器执行时,实现如下报文分发方法各个实施例的步骤。
第二方面,本发明实施例提供了一种报文分发方法。该报文分发方法应用于多核处理器中的各个报文处理核。
参照图1,图1为本发明报文分发方法一实施例的流程示意图。如图1所示,报文分发方法包括:
步骤S10,当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;
本实施例中,多核处理器可以是2核处理器、3核处理器、4核处理器、8核处理器等等。例如,当多核处理器为4核处理器时,其包括报文处理核0、报文处理核1、报文处理核2以及报文处理核3。下文中,以报文分发方法应用于报文处理核0为例,进行说明。容易理解的是,报文分发方法应用于报文处理核1、报文处理核2以及报文处理核3所对应的实施例,与报文分发方法应用于报文处理核0的实施例基本相同。
每个报文处理核均对应一网卡队列,例如,对报文处理核0而言,其对应网卡队列0。
设置第一阈值,当网卡队列中报文的数量小于第一阈值时,说明网卡队列中的报文数量不多,网卡队列对应的报文处理核可以直接处理完;反之,当网卡队列中报文的数量大于或等于第一阈值时,说明网卡队列中的报文数量较多,需要分发给不同报文处理核进行处理。其中,第一阈值的具体值根据实际需要进行设置,在此不作限制。
当网卡队列0中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值。其中,目标字段可以是五元组字段,还可以是基于人工指定的特定位置上的字段。对此,对目标字段不作限制,具体根据实际需要进行设置。
步骤S20,基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。
本实施例中,根据每个报文对应的哈希值,将每个报文分发到其对应的ring队列中,而每个ring队列对应一个报文处理核,使得每个报文处理核可以从其对应的ring队列中获取报文并处理。即通过将所有报文分发到多个ring队列的形式,实现了将所有报文分给各个报文处理核,实现了多核处理器核间负载均衡。
参照图2,图2为一实施例中对报文进行分发的场景示意图。如图2所示,报文从网卡的网口进入,通过前端分流后,进入不同的网卡队列,由于一些原因,导致前端分流不均,导致网卡队列0中的报文数量大于或等于第一阈值,网卡队列0对应的报文处理核0将网卡队列0中的报文分发到ring0至ring3中,以供报文处理核0至报文处理核3分别从ring0至ring3中获取报文并进行处理。
参照图3,图3为另一实施例中对报文进行分发的场景示意图。如图3所示,报文从网卡的网口进入后,由于网卡不支持前端分流,导致报文默认进入某一网卡队列,例如默认进入网卡队列0,导致网卡队列0中的报文数量大于或等于第一阈值,网卡队列0对应的报文处理核0将网卡队列0中的报文分发到ring0至ring3中,以供报文处理核0至报文处理核3分别从ring0至ring3中获取报文并进行处理。
容易理解的是,当多个报文处理核对应的网卡队列中报文的数量,均大于或等于第一阈值时,则每个报文处理核可分别执行上述实施例所述的步骤。
本实施例中,对多核处理器中的任一报文处理核而言,当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。通过本实施例,当一报文处理核对应的网卡队列中报文数量多时,将报文分发到多个ring队列上,使得每个报文处理核可以从其对应的ring队列中获取报文并处理,从而实现了多核处理器核间负载均衡,提高了多核处理器的利用率。
进一步地,一实施例中,步骤S20包括:
步骤S201,对每个报文对应的哈希值取模第一数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第一数值为所述多核处理器包括的报文处理核的数量。
本实施例中,当多核处理器为4核处理器时,第一数值为4。预先设置报文处理核0对应的核ID值为0;设置报文处理核1对应的核ID值为1;设置报文处理核2对应的核ID值为2;设置报文处理核3对应的核ID值为3。
由于第一数值为4,则每个报文对应的哈希值取模第一数值的计算结果只能为0、1、2、3中的任一个。当一报文对应的哈希值取模第一数值的计算结果为0时,则其对应的核ID值为0,则将该报文分发到核ID值为0的报文处理核0对应的ring队列中。同理,当一报文对应的哈希值取模第一数值的计算结果为1时,则其对应的核ID值为1,则将该报文分发到核ID值为1的报文处理核1对应的ring队列中。以此类推,当一报文对应的哈希值取模第一数值的计算结果为2或3时,按如上方式对报文进行分发。
本实施例中,按照如上方式可以将报文平均分发到各个ring队列中,即实现将报文平均分发给各个报文处理核。
进一步地,一实施例中,步骤S20还包括:
步骤S202,对每个报文对应的哈希值取模第二数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第二数值为设置核间负载比例时设置的样本数。
本实施例中,考虑到多核处理器中各个报文处理核的处理能力可能有差异,因此,可以基于各个报文处理核对报文的处理能力,设置核间负载比例。在设置核间负载比例时,需要设定一个样本数,然后根据各个报文处理核对报文的处理能力,设定每个报文处理核对应的比例,然后基于每个报文处理核对应的比例,将每个报文处理核对应的核ID值填入核间负载比例设置界面中。
一可选实施例中,样本数设置为20,若根据各个报文处理核对报文的处理能力,设定报文处理核0对应的比例为30%,报文处理核1对应的比例为20%,报文处理核2对应的比例为30%,报文处理核3对应的比例为20%。设置报文处理核0对应的核ID值为0;设置报文处理核1对应的核ID值为1;设置报文处理核2对应的核ID值为2;设置报文处理核3对应的核ID值为3,则需要将6个“0”,4个“1”,6个“2”以及4个“3”填入负载比例设置界面。参照图4,图4为一实施例中将每个报文处理核对应的核ID值填入核间负载比例设置界面后的示意图。如图4所示,在填入20个核ID值时,没有固定顺序,可将20个核ID值随机填入各个位置。由于样本数为20,则对每个报文对应的哈希值取模第二数值,即对每个报文对应的哈希值取模20,得到的计算结果只能为0、1、2、3、......、17、18、19中任一个数。当一报文对应的哈希值取模第二数值的计算结果为0时,以图4中第一行第一列位置对应的核ID值作为该报文对应的核ID值;同理,当一报文对应的哈希值取模第二数值的计算结果为7时,以图4中第二行第四列位置对应的核ID值作为该报文对应的核ID值,以此类推,即可得到每个报文对应的核ID值,从将每个报文分发到其核ID值对应的ring队列中。
本实施例中,从概率上可实现按照预设的核间负载比例,将报文分发到各个ring队列中,即实现基于预设的核间负载比例,将报文分发给各个报文处理核,进一步提高了对多核处理器中各个报文处理器的利用率。
进一步地,一实施例中,将每个报文分发到其核ID值对应的ring队列中的步骤包括:
将每个报文的描述符挂入每个报文对应的核ID值对应的bulk中;
当bulk中挂入的描述符数量等于第二阈值时,将bulk写入bulk对应的核ID值对应的ring队列中;
或,
从bulk中挂入第一个描述符开始,经过预设时长时,将bulk写入bulk对应的核ID值对应的ring队列中。
本实施例中,报文存储于特定存储空间中,该存储空间由接收报文的网卡确定。在对报文进行分发时,不直接对报文进行分发,而是将报文描述符挂入每个报文对应的核ID值对应的bulk中,其中,报文描述符包括报文存放地址、长度等信息。例如,一报文对应的核ID值为0,则将该报文的描述符挂入核ID值0对应的bulk中,一报文对应的核ID值为2,则将该报文的描述符挂入核ID值2对应的bulk中......以此类推,即可实现将每个报文的描述符挂入每个报文对应的核ID值对应的bulk中。
当一bulk中挂入的描述符数量等于第二阈值时,将该bulk写入该bulk对应的核ID值对应的ring队列中;或者是,从bulk中挂入第一个描述符开始,经过预设时长时,将bulk写入bulk对应的核ID值对应的ring队列中。其中,第二阈值以及预设时长均根据实际需要进行设置,在此不作限制。例如,第二阈值设置为30,预设时长设置为5ms。
本实施例中,采用将报文描述符挂入bulk,实现报文分发的方式,使得一次性可以分发多个报文,提升了报文分发效率。
进一步地,一实施例中,在步骤S20之后,还包括:
步骤S30,当本报文处理核对应的网卡队列中报文的数量为零时,从本报文处理核对应的ring队列中获取bulk;
从bulk中获取描述符;
基于所述描述符,获取所述描述符对应的报文,并对获取得到的报文进行处理。
本实施例中,对一报文处理核来说,其优先处理其对应的网卡队列中的报文,当其对应的网卡队列中的报文为零时,在从其对应的ring队列中获取bulk,然后从获取得到的bulk中获取描述符,由于描述符包括报文存放地址、长度等信息,则可获取得到描述符对应的报文,从而对获取得到的报文进行处理。
其中,可以是本报文处理核对应的网卡队列中的报文为零时,定期读取本报文处理核对应的ring队列的状态,如果为空,则不进行任何处理;如果为非空,则对ring队列进行数据读取,得到ring队列中的bulk。
其中,可以是在多核处理器进行初始化时,建立多核处理器中每个报文处理核对应的ring队列。
本实施例中,核处理器只有在处理完本端网卡队列中的报文后,才对ring队列中的报文进行处理,保证了本端任务能优先被执行。
第三方面,本发明实施例还提供一种多核处理器。
本实施例中,所述多核处理器包括至少两个报文处理核,其中,各个报文处理核用于:
当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;
基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。
进一步地,一实施例中,各个报文处理核还用于:
对每个报文对应的哈希值取模第一数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第一数值为所述多核处理器包括的报文处理核的数量。
进一步地,一实施例中,各个报文处理核还用于:
对每个报文对应的哈希值取模第二数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第二数值为设置核间负载比例时设置的样本数。
进一步地,一实施例中,各个报文处理核还用于:
将每个报文的描述符挂入每个报文对应的核ID值对应的bulk中;
当bulk中挂入的描述符数量等于第二阈值时,将bulk写入bulk对应的核ID值对应的ring队列中;
或,
从bulk中挂入第一个描述符开始,经过预设时长时,将bulk写入bulk对应的核ID值对应的ring队列中。
进一步地,一实施例中,各个报文处理核还用于:
当本报文处理核对应的网卡队列中报文的数量为零时,从本报文处理核对应的ring队列中获取bulk;
从bulk中获取描述符;
基于所述描述符,获取所述描述符对应的报文,并对获取得到的报文进行处理。
进一步地,一实施例中,各个报文处理核还用于:
建立本报文处理核对应的ring队列。
进一步地,一实施例中,所述目标字段为五元组字段。
其中,上述多核处理器中各个报文处理核的功能实现与上述报文分发方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有报文分发程序,其中所述报文分发程序被处理器执行时,实现如上述的报文分发方法的步骤。
其中,报文分发程序被执行时所实现的方法可参照本发明报文分发方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种报文分发方法,其特征在于,所述报文分发方法应用于多核处理器中的各个报文处理核,所述报文分发方法包括:
当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;
基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。
2.如权利要求1所述的报文分发方法,其特征在于,所述基于每个报文对应的哈希值,将所有报文分发到多个ring队列中的步骤包括:
对每个报文对应的哈希值取模第一数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第一数值为所述多核处理器包括的报文处理核的数量。
3.如权利要求1所述的报文分发方法,其特征在于,所述基于每个报文对应的哈希值,将所有报文分发到多个ring队列中的步骤还包括:
对每个报文对应的哈希值取模第二数值,得到每个报文对应的核ID值,将每个报文分发到其核ID值对应的ring队列中,其中,所述第二数值为设置核间负载比例时设置的样本数。
4.如权利要求2或3所述的报文分发方法,其特征在于,所述将每个报文分发到其核ID值对应的ring队列中的步骤包括:
将每个报文的描述符挂入每个报文对应的核ID值对应的bulk中;
当bulk中挂入的描述符数量等于第二阈值时,将bulk写入bulk对应的核ID值对应的ring队列中;
或,
从bulk中挂入第一个描述符开始,经过预设时长时,将bulk写入bulk对应的核ID值对应的ring队列中。
5.如权利要求4所述的报文分发方法,其特征在于,在所述基于每个报文对应的哈希值,将所有报文分发到多个ring队列中的步骤之后,还包括:
当本报文处理核对应的网卡队列中报文的数量为零时,从本报文处理核对应的ring队列中获取bulk;
从bulk中获取描述符;
基于所述描述符,获取所述描述符对应的报文,并对获取得到的报文进行处理。
6.如权利要求5所述的报文分发方法,其特征在于,在所述当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值的步骤之前,还包括:
建立本报文处理核对应的ring队列。
7.如权利要求1所述的报文分发方法,其特征在于,所述目标字段为五元组字段。
8.一种多核处理器,其特征在于,所述多核处理器包括至少两个报文处理核,其中,各个报文处理核用于:
当本报文处理核对应的网卡队列中报文的数量大于或等于第一阈值时,对每个报文中的目标字段进行哈希计算,得到每个报文对应的哈希值;
基于每个报文对应的哈希值,将所有报文分发到多个ring队列中,其中,每个ring队列对应一个报文处理核。
9.一种多核处理器,其特征在于,所述多核处理器包括至少两个报文处理核,所述报文处理核包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的报文分发程序,其中所述报文分发程序被所述处理器执行时,实现如权利要求1至7中任一项所述的报文分发方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有报文分发程序,其中所述报文分发程序被处理器执行时,实现如权利要求1至7中任一项所述的报文分发方法的步骤。
CN202010795732.XA 2020-08-10 2020-08-10 报文分发方法、多核处理器及可读存储介质 Pending CN112073332A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010795732.XA CN112073332A (zh) 2020-08-10 2020-08-10 报文分发方法、多核处理器及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010795732.XA CN112073332A (zh) 2020-08-10 2020-08-10 报文分发方法、多核处理器及可读存储介质

Publications (1)

Publication Number Publication Date
CN112073332A true CN112073332A (zh) 2020-12-11

Family

ID=73661308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010795732.XA Pending CN112073332A (zh) 2020-08-10 2020-08-10 报文分发方法、多核处理器及可读存储介质

Country Status (1)

Country Link
CN (1) CN112073332A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941600A (zh) * 2023-03-14 2023-04-07 鹏城实验室 报文分流方法、系统与计算机可读存储介质
WO2024140672A1 (zh) * 2022-12-26 2024-07-04 锐捷网络股份有限公司 报文处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616083A (zh) * 2009-08-06 2009-12-30 杭州华三通信技术有限公司 一种报文转发方法和装置
CN102739634A (zh) * 2011-03-09 2012-10-17 苹果公司 主机设备基于通知挂起到客户端设备的通信链路
CN102970244A (zh) * 2012-11-23 2013-03-13 上海寰创通信科技股份有限公司 一种多cpu核间负载均衡的网络报文处理方法
CN105630731A (zh) * 2015-12-24 2016-06-01 曙光信息产业(北京)有限公司 一种多cpu环境下网卡数据处理方法和装置
CN107257329A (zh) * 2017-05-31 2017-10-17 中国人民解放军国防科学技术大学 一种数据分段卸载发送方法
CN109450816A (zh) * 2018-11-19 2019-03-08 迈普通信技术股份有限公司 一种队列调度方法、装置、网络设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616083A (zh) * 2009-08-06 2009-12-30 杭州华三通信技术有限公司 一种报文转发方法和装置
CN102739634A (zh) * 2011-03-09 2012-10-17 苹果公司 主机设备基于通知挂起到客户端设备的通信链路
CN102970244A (zh) * 2012-11-23 2013-03-13 上海寰创通信科技股份有限公司 一种多cpu核间负载均衡的网络报文处理方法
CN105630731A (zh) * 2015-12-24 2016-06-01 曙光信息产业(北京)有限公司 一种多cpu环境下网卡数据处理方法和装置
CN107257329A (zh) * 2017-05-31 2017-10-17 中国人民解放军国防科学技术大学 一种数据分段卸载发送方法
CN109450816A (zh) * 2018-11-19 2019-03-08 迈普通信技术股份有限公司 一种队列调度方法、装置、网络设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024140672A1 (zh) * 2022-12-26 2024-07-04 锐捷网络股份有限公司 报文处理方法、装置、电子设备及存储介质
CN115941600A (zh) * 2023-03-14 2023-04-07 鹏城实验室 报文分流方法、系统与计算机可读存储介质

Similar Documents

Publication Publication Date Title
US20140215492A1 (en) Dynamic provisioning of message groups
CN108694087A (zh) 用于最优系统级性能的网络接口卡中的动态负载均衡
US9385963B1 (en) System and method for allocating resources for heterogeneous service requests
CN101610209B (zh) 一种多核并行的网络业务流处理方法及设备
CN107800768B (zh) 开放平台控制方法和系统
CN112073332A (zh) 报文分发方法、多核处理器及可读存储介质
CN101547212B (zh) 一种分布式对象的调度方法和系统
CN109729106B (zh) 处理计算任务的方法、系统和计算机程序产品
CN105183564B (zh) 基于云测试平台的设备调度方法、装置及系统
CN113259415B (zh) 一种网络报文处理方法、装置及网络服务器
CN102801737B (zh) 一种异步网络通信方法及装置
WO2009008007A2 (en) Data packet processing method for a multi core processor
CN102891809B (zh) 多核网络设备报文按接口保序方法及系统
CN108681481A (zh) 业务请求的处理方法及装置
CN108304272B (zh) 一种数据io请求的处理方法及装置
CN103166845A (zh) 数据处理方法和装置
CN112579515B (zh) 线程消息处理方法及相关产品
US9894012B2 (en) Method and system to improve network connection locality on multicore systems
CN113157465B (zh) 基于指针链表的消息发送方法及装置
US11474868B1 (en) Sharded polling system
CN109086128B (zh) 任务调度方法及装置
CN102098215A (zh) 一种多应用收包的优先级管理方法
CN111597056A (zh) 一种分布式调度方法、系统、存储介质和设备
JP2016509306A (ja) クラスタにおけるワークシェアリング多重化をサポートするためのシステムおよび方法
CN115118676B (zh) 基于中心平台的异构系统数据通信交互方法、系统及终端

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201211