CN116996446A - 哈希负载均衡方法、装置、设备及介质 - Google Patents

哈希负载均衡方法、装置、设备及介质 Download PDF

Info

Publication number
CN116996446A
CN116996446A CN202310927436.4A CN202310927436A CN116996446A CN 116996446 A CN116996446 A CN 116996446A CN 202310927436 A CN202310927436 A CN 202310927436A CN 116996446 A CN116996446 A CN 116996446A
Authority
CN
China
Prior art keywords
hash
target
data packet
queue
target data
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
CN202310927436.4A
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.)
Yusur Technology Co ltd
Original Assignee
Yusur 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 Yusur Technology Co ltd filed Critical Yusur Technology Co ltd
Priority to CN202310927436.4A priority Critical patent/CN116996446A/zh
Publication of CN116996446A publication Critical patent/CN116996446A/zh
Pending legal-status Critical Current

Links

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • H04L45/655Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update

Landscapes

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

Abstract

本公开涉及一种哈希负载均衡方法、装置、设备及介质。其中,哈希负载均衡方法包括:获取目标数据包,并提取目标数据包的包头信息;根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果;基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数;根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息。根据本公开实施例,能够降低数据包处理延迟,提高处理性能。

Description

哈希负载均衡方法、装置、设备及介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种哈希负载均衡方法、装置、设备及介质。
背景技术
负载均衡是高并发、高可用系统必不可少的关键组件,目标是尽力将网络流量均衡分流到多个服务器或多个处理单元上,以提高系统整体的响应速度和可用性。从支持负载均衡的载体来看,可以将负载均衡分为两类:硬件负载均衡、软件负载均衡。
相关技术中,硬件负载均衡一般在定制的处理器上运行独立的负载均衡服务器,功能强大,吞吐量高,但是成本昂贵,可扩展性差,软件负载均衡是从软件层面实现负载均衡,成本低廉,可扩展性好,但是延迟较高,处理性能较差,资源占用较多。
发明内容
为了解决上述技术问题,本公开提供了一种哈希负载均衡方法、装置、设备及介质。
第一方面,本公开提供了一种哈希负载均衡方法,包括:
获取目标数据包,并提取目标数据包的包头信息;
根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果;
基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数;
根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息。
第二方面,本公开提供了一种哈希负载均衡装置,包括:
数据获取模块,用于获取目标数据包,并提取目标数据包的包头信息;
第一计算模块,用于根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果;
数据确定模块,用于基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数;
第二计算模块,用于根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息。
第三方面,本公开提供了一种哈希负载均衡设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面的哈希负载均衡方法。
第四方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面的哈希负载均衡方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的哈希负载均衡方法、装置、设备及介质,能够获取目标数据包,并提取目标数据包的包头信息,接着根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果,然后基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数,最后根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息,由此,可以并行计算得到多个哈希结果,并基于预设流表,确定目标哈希结果和多队列参数,最后计算对应的队列值信息,从而降低数据包处理延迟,提高处理性能。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种哈希负载均衡方法的流程示意图;
图2为本公开实施例提供的另一种哈希负载均衡方法的流程示意图;
图3为本公开实施例提供的一种哈希负载均衡装置的结构示意图;
图4为本公开实施例提供的一种哈希负载均衡设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
基于数据平面开发工具集(Data Plane Development Kit,DPDK)的接收端调整(Receive Side Scaling,RSS)实现是一种纯软件实现的负载均衡方法,通过计算网络数据报文中网络层和传输层不同元组的哈希(hash)值,取hash值的最低有效位,结合中央处理器(Central Processing Unit,CPU)的多队列参数计算数据包的最终队列值,从而将数据包分流到不同的收包队列,以提高收包性能。但是该实现方式是基于纯软件的处理,数据包处理延迟较大,且处理过程要占用大量资源,处理性能较差。
为了解决上述问题,本公开实施例提供了一种哈希负载均衡方法、装置、设备及介质。下面结合图1至图2对本公开实施例提供的哈希负载均衡方法进行详细说明。
图1示出了本公开实施例提供的一种哈希负载均衡方法的流程示意图。
在本公开实施例中,该哈希负载均衡方法可以由电子设备执行。例如电子设备可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)网卡设备。
如图1所示,该哈希负载均衡方法可以包括如下步骤。
S110、获取目标数据包,并提取目标数据包的包头信息。
在本公开实施例中,电子设备可以获取目标数据包,并提取目标数据包的包头信息。
可选地,目标数据包可以为需要进行处理的数据包。
可选地,包头信息可以为目标数据包的包头包括的信息。其中,包头信息可以包括目标处理单元地址信息、包类型信息和元组信息中的至少一种。
可选地,目标处理单元地址信息可以为用于处理目标数据包的处理单元的地址。
可选地,处理单元可以为用于处理目标数据包的单元。
可选地,包类型信息可以为用于表征数据包的类型。
可选地,元组信息可以为用于表征数据包的元组集合。
具体地,电子设备可以从数据流中获取目标数据包,并在该目标数据包的包头中提取对应的包头信息,如包头信息可以包括目标处理单元地址信息、包类型信息和元组信息中的至少一种。
S120、根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果。
在本公开实施例中,电子设备可以根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果。
可选地,元组集合可以为用于存储一组有序数据的数据结构。例如,元组集合可以为五元组、三元组等等,此处不做限定。
可选地,三元组可以包括传输层协议、源互联网协议地址(Internet Protocol,IP)地址和源端口。
可选地,五元组可以包括源IP地址,源端口,目的IP地址,目的端口和传输层协议。
可选地,并行计算可以为并列对不同元组进行哈希计算。
可选地,哈希结果可以为固定长度的输出结果。例如,哈希结果可以为320bit数值、160bit数值等,此处不做限定。
具体地,在得到目标数据包的包头信息之后,电子设备可以根据该包头信息,针对不同元组集合进行并行计算,得到对应的多个哈希结果,例如针对三元组、五元组进行并行哈希计算,如通过特普利茨(toeplitz)哈希算法,计算出不同元组集合对应的多个哈希结果。
S130、基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数。
在本公开实施例中,在得到多个哈希结果之后,电子设备可以基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数。
可选地,预设流表可以为基于软件预先配置的流表。
可选地,目标哈希结果可以目标数据包真实对应的哈希结果。
可选地,多队列参数可以为用于表征处理单元包括的不同队列的参数信息。其中,多队列参数可以包括队列起始值、队列数目中的至少一种。
可选地,队列起始值可以为每个处理单元包括的队列开始和结束的数值。例如,每个处理单元需要占用20个队列,第一个处理单元的队列起始值可以1~20,第二个处理单元的队列起始值可以21~40等,此处不作限定。
可选地,队列数目可以为每个处理单元包括的队列数目。例如,队列数目可以为20、30等,此处不作限定。
具体地,在得到多个哈希结果之后,电子设备可以根据预设流表,在多个哈希结果确定真实的目标哈希结果以及确定多队列参数,具体实施方式参照下文。
S140、根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息。
在本公开实施例中,在得到目标哈希结果和多队列参数之后,电子设备可以计算目标数据包对应的队列值信息。
可选地,队列值(queue id,qid)信息可以为用于表征对应的队列标识(Identitydocument,ID)信息。
具体地,在得到目标哈希结果和多队列参数之后,电子设备可以根据该目标哈希结果和多队列参数进行计算,从而得到目标数据包对应的队列值信息。
由此,在本公开实施例中,能够获取目标数据包,并提取目标数据包的包头信息,接着根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果,然后基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数,最后根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息,由此,可以并行计算得到多个哈希结果,并基于预设流表,确定目标哈希结果和多队列参数,最后计算对应的队列值信息,从而降低数据包处理延迟,提高处理性能。
可选地,在S110之前,该哈希负载均衡方法还可以包括:通过目标软件配置键值和预设流表,预设流表包括哈希规则和多队列参数。
在本公开实施例中,电子设备可以通过目标软件配置键值和预设流表,预设流表包括哈希规则和多队列参数。
可选地,目标软件可以为进行流表配置的软件。
可选地,键值(Key)可以为一组默认320bit数值。
可选地,预设流表可以为包括哈希规则和多队列参数。
可选地,哈希规则可以为与包类型对应的规则。例如,包类型为以太网传输控制协议(Transmission Control Protocol,TCP)报文,哈希规则可以为使用五元组进行计算;包类型为用户数据报协议(User Datagram Protocol,UDP)报文,哈希规则可以为使用三元组进行计算等,此处不作限定。
具体地,在进行获取数据包之前,电子设备可以先通过目标软件进行配置,即配置键值和预设流表,该预设流表可以包括哈希规则和多队列参数。
由此,通过软件配置键值和预设流表,方便在进行并行计算时快速获取对应参数,提高处理性能。
可选地,S120可以具体包括:根据键值,并行计算包头信息中的元组信息针对不同元组集合对应的多个哈希结果。
在本公开实施例中,电子设备可以获取目标软件配置的键值,并行计算包头信息中的元组信息针对不同元组集合对应的多个哈希结果。
具体地,电子设备可以获取目标软件配置的键值,如不同的哈希算法可以包括不同的键值(Key),例如toeplitz hash算法,键值(Key)默认为一组320bit数值:
uint8_t key[]={
0x6d,0x5a,0x56,0xda,0x25,0x5b,0x0e,0xc2,
0x41,0x67,0x25,0x3d,0x43,0xa3,0x8f,0xb0,
0xd0,0xca,0x2b,0xcb,0xae,0x7b,0x30,0xb4,
0x77,0xcb,0x2d,0xa3,0x80,0x30,0xf2,0x0c,
0x6a,0x42,0xb7,0x3b,0xbe,0xac,0x01,0xfa,}。
电子设备可以通过该键值,针对不同的元组集合,如分别针对三元组和五元组,通过哈希算法并行计算元组信息对应的多个哈希结果。
由此,在本公开实施例中,可以并行计算出多个元组集合对应的多个哈希结果,不仅提高计算效率,还能够降低数据包处理流程。
可选地,S130可以具体包括:基于预设流表,确定包头信息中的包类型信息对应的目标哈希规则,以及包头信息中的目标处理单元地址信息对应的多队列参数;根据目标哈希规则在多个哈希结果中确定目标哈希结果。
在本公开实施例中,电子设备可以基于预设流表,确定包头信息中的包类型信息对应的目标哈希规则,以及包头信息中的目标处理单元地址信息对应的多队列参数。
具体地,电子设备可以查询目标软件配置的预设流表,并根据该预设流表确定包头信息中的包类型信息对应的目标哈希规则,以及根据该预设流表确定目标处理单元地址信息对应的多队列参数。例如,预设流表中可以包括包类型信息与哈希规则的对应关系,即包类型为以太网TCP报文,哈希规则可以为使用五元组进行计算;包类型为UDP报文,哈希规则可以为使用三元组进行计算,以及目标处理单元地址信息与多队列参数的对应关系,如目标处理单元地址信息对应的目标处理单元,和该目标处理单元包括的多个队列的多队列参数等。
进一步地,在确定目标哈希规则之后,电子设备可以根据该目标哈希规则在多个哈希结果中确定目标哈希结果。
具体地,在确定目标哈希规则之后,若包类型为以太网TCP报文,目标哈希规则可以为使用五元组进行计算,此时电子设备可以根据该目标哈希规则在多个哈希结果中确定由五元组对应的哈希结果作为目标哈希结果;若包类型为UDP报文,目标哈希规则可以为使用三元组进行计算,此时电子设备可以根据该目标哈希规则在多个哈希结果中确定由三元组对应的哈希结果作为目标哈希结果等,此处不做限定。
由此,在本公开实施例中,能够先计算各个元组集合对应的多个哈希结果,并同时确定目标哈希规则对应的目标哈希结果,能够提高计算效率,降低数据包处理延迟。
可选地,在S140之后,该哈希负载均衡方法还可以包括:将队列值信息写入目标数据包的包头信息中,队列值信息用于确定处理目标数据包的目标队列。
在本公开实施例中,电子设备可以将队列值信息写入目标数据包的包头信息中。
可选地,队列值信息可以用于确定处理目标数据包的目标队列。
具体地,在得到队列值信息之后,电子设备可以将队列值信息写入目标数据包的包头信息中,该队列值信息可以用于确定处理该目标数据包的目标队列,即确定对应的目标处理单元,从而能够使得该目标数据包准确的发送到目标处理单元进行处理。
图2示出了本公开实施例提供的另一种哈希负载均衡方法的流程示意图。
如图2所示,该哈希负载均衡方法可以包括如下步骤。
S210、获取目标数据包,并提取目标数据包的包头信息。
在本公开实施例中,电子设备可以获取目标数据包,并提取目标数据包的包头信息,包头信息可以包括目标处理单元地址信息、包类型信息和元组信息中的至少一种。
S220、根据键值,并行计算包头信息中的元组信息针对不同元组集合对应的多个哈希结果。
在本公开实施例中,先通过目标软件配置键值,电子设备可以获取目标软件配置的键值,并行计算包头信息中的元组信息针对不同元组集合对应的多个哈希结果。
S230、基于预设流表,确定目标哈希规则以及多队列参数,根据目标哈希规则在确定目标哈希结果。
在本公开实施例中,先通过目标软件配置预设流表,该预设流表可以包括哈希规则和多队列参数,电子设备可以查询目标软件配置的预设流表,并根据该预设流表确定包头信息中的包类型信息对应的目标哈希规则,以及根据该预设流表确定目标处理单元地址信息对应的多队列参数。例如,预设流表中可以包括包类型信息与哈希规则的对应关系,即包类型为以太网TCP报文,哈希规则可以为使用五元组进行计算;包类型为UDP报文,哈希规则可以为使用三元组进行计算,以及目标处理单元地址信息与多队列参数的对应关系,如目标处理单元地址信息对应的目标处理单元,和该目标处理单元包括的多个队列的多队列参数等。
S240、根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息。
在本公开实施例中,在得到目标哈希结果和多队列参数之后,电子设备可以根据该目标哈希结果和多队列参数进行计算,从而得到目标数据包对应的队列值信息。
图3示出了本公开实施例提供的一种哈希负载均衡装置的结构示意图。
如图3所示,该哈希负载均衡装置300可以包括数据获取模块310、第一计算模块320、数据确定模块330和第二计算模块340。
该数据获取模块310可以用于获取目标数据包,并提取目标数据包的包头信息。
该第一计算模块310可以根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果。
该数据确定模块330可以用于基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数。
该第二计算模块340可以用于根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息。
由此,在本公开实施例中,能够获取目标数据包,并提取目标数据包的包头信息,接着根据包头信息并行计算目标数据包针对不同元组集合对应的多个哈希结果,然后基于预设流表,在多个哈希结果中确定目标哈希结果和多队列参数,最后根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息,由此,可以并行计算得到多个哈希结果,并基于预设流表,确定目标哈希结果和多队列参数,最后计算对应的队列值信息,从而降低数据包处理延迟,提高处理性能。
在本公开一些实施例中,包头信息可以包括目标处理单元地址信息、包类型信息和元组信息中的至少一种。
在本公开一些实施例中,该哈希负载均衡装置300还可以包括软件配置单元。
该软件配置单元可以用于在获取目标数据包,并提取目标数据包的包头信息之前,通过目标软件配置键值和预设流表,预设流表包括哈希规则和多队列参数。
在本公开一些实施例中,多队列参数可以包括队列起始值、队列数目中的至少一种。
在本公开一些实施例中,该第一计算模块310可以具体包括结果计算单元。
该结果计算单元可以用于根据键值,并行计算包头信息中的元组信息针对不同元组集合对应的多个哈希结果。
在本公开一些实施例中,该数据确定模块330可以具体包括第一确定单元和第二确定单元。
该第一确定单元可以用于基于预设流表,确定包头信息中的包类型信息对应的目标哈希规则,以及包头信息中的目标处理单元地址信息对应的多队列参数。
该第二确定单元可以用于根据目标哈希规则在多个哈希结果中确定目标哈希结果。
在本公开一些实施例中,该哈希负载均衡装置300还可以包括信息写入模块。
该信息写入模块可以用于在根据目标哈希结果和多队列参数计算目标数据包对应的队列值信息之后,将队列值信息写入目标数据包的包头信息中,队列值信息用于确定处理目标数据包的目标队列。
需要说明的是,图3所示的哈希负载均衡装置300可以执行图1至图2所示的方法实施例中的各个步骤,并且实现图1至图2所示的方法实施例中的各个过程和效果,在此不做赘述。
图4示出了本公开实施例提供的一种哈希负载均衡设备的结构示意图。
在本公开一些实施例中,图4所示的哈希负载均衡设备可以为电子设备。例如,该电子设备可以为FPGA网卡设备。
如图4所示,该哈希负载均衡设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器402可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器402可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以执行本公开实施例所提供的哈希负载均衡方法的步骤。
在一个示例中,该哈希负载均衡设备还可包括收发器403和总线404。其中,如图4所示,处理器401、存储器402和收发器403通过总线404连接并完成相互间的通信。
总线404包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线404可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本公开实施例还提供了一种非易失性计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的哈希负载均衡方法。
上述的存储介质可以例如包括计算机程序指令的存储器402,上述指令可由哈希负载均衡设备的处理器401执行以完成本公开实施例所提供的哈希负载均衡方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact DiscROM,CD-ROM)、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种哈希负载均衡方法,其特征在于,包括:
获取目标数据包,并提取所述目标数据包的包头信息;
根据所述包头信息并行计算所述目标数据包针对不同元组集合对应的多个哈希结果;
基于预设流表,在所述多个哈希结果中确定目标哈希结果和多队列参数;
根据所述目标哈希结果和所述多队列参数计算所述目标数据包对应的队列值信息。
2.根据权利要求1所述的方法,其特征在于,所述包头信息包括目标处理单元地址信息、包类型信息和元组信息中的至少一种。
3.根据权利要求1所述的方法,其特征在于,在所述获取目标数据包,并提取所述目标数据包的包头信息之前,所述方法还包括:
通过目标软件配置键值和所述预设流表,所述预设流表包括哈希规则和所述多队列参数。
4.根据权利要求3所述的方法,其特征在于,所述多队列参数包括队列起始值、队列数目中的至少一种。
5.根据权利要求3所述的方法,其特征在于,所述根据所述包头信息并行计算所述目标数据包针对不同元组集合对应的多个哈希结果,包括:
根据所述键值,并行计算所述包头信息中的元组信息针对不同元组集合对应的所述多个哈希结果。
6.根据权利要求3所述的方法,其特征在于,所述基于预设流表,在所述多个哈希结果中确定目标哈希结果和多队列参数,包括:
基于所述预设流表,确定所述包头信息中的包类型信息对应的目标哈希规则,以及所述包头信息中的目标处理单元地址信息对应的所述多队列参数;
根据所述目标哈希规则在所述多个哈希结果中确定目标哈希结果。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述目标哈希结果和所述多队列参数计算所述目标数据包对应的队列值信息之后,所述方法还包括:
将所述队列值信息写入所述目标数据包的所述包头信息中,所述队列值信息用于确定处理所述目标数据包的目标队列。
8.一种哈希负载均衡装置,其特征在于,包括:
数据获取模块,用于获取目标数据包,并提取所述目标数据包的包头信息;
第一计算模块,用于根据所述包头信息并行计算所述目标数据包针对不同元组集合对应的多个哈希结果;
数据确定模块,用于基于预设流表,在所述多个哈希结果中确定目标哈希结果和多队列参数;
第二计算模块,用于根据所述目标哈希结果和所述多队列参数计算所述目标数据包对应的队列值信息。
9.一种哈希负载均衡设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-7中任一项所述的哈希负载均衡方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-7中任一项所述的哈希负载均衡方法。
CN202310927436.4A 2023-07-26 2023-07-26 哈希负载均衡方法、装置、设备及介质 Pending CN116996446A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310927436.4A CN116996446A (zh) 2023-07-26 2023-07-26 哈希负载均衡方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310927436.4A CN116996446A (zh) 2023-07-26 2023-07-26 哈希负载均衡方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116996446A true CN116996446A (zh) 2023-11-03

Family

ID=88531469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310927436.4A Pending CN116996446A (zh) 2023-07-26 2023-07-26 哈希负载均衡方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116996446A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139093A (zh) * 2013-02-22 2013-06-05 桂林电子科技大学 基于fpga的高速网络数据流负载均衡调度方法
CN107317759A (zh) * 2017-06-13 2017-11-03 国家计算机网络与信息安全管理中心 一种网卡的线程级动态均衡调度方法
CN108282412A (zh) * 2018-01-19 2018-07-13 世纪龙信息网络有限责任公司 网络分流方法、装置、系统及计算机设备
CN110011935A (zh) * 2019-03-04 2019-07-12 平安科技(深圳)有限公司 数据流处理方法及相关设备
WO2022001287A1 (zh) * 2020-07-03 2022-01-06 华为技术有限公司 一种报文处理的方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139093A (zh) * 2013-02-22 2013-06-05 桂林电子科技大学 基于fpga的高速网络数据流负载均衡调度方法
CN107317759A (zh) * 2017-06-13 2017-11-03 国家计算机网络与信息安全管理中心 一种网卡的线程级动态均衡调度方法
CN108282412A (zh) * 2018-01-19 2018-07-13 世纪龙信息网络有限责任公司 网络分流方法、装置、系统及计算机设备
CN110011935A (zh) * 2019-03-04 2019-07-12 平安科技(深圳)有限公司 数据流处理方法及相关设备
WO2022001287A1 (zh) * 2020-07-03 2022-01-06 华为技术有限公司 一种报文处理的方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李凯;叶麟;余翔湛;胡阳: "基于DPDK的流量动态负载均衡方法", 智能计算机与应用, vol. 7, no. 04, pages 85 - 86 *
李胜磊, 张德运, 刘刚: "并行数据包转发机制的研究", 微电子学与计算机, no. 05, pages 88 - 90 *

Similar Documents

Publication Publication Date Title
US9282064B2 (en) Method for processing a plurality of data and switching device for switching communication packets
US10084713B2 (en) Protocol type identification method and apparatus
US20130100803A1 (en) Application based bandwidth control for communication networks
CN112468413B (zh) 报文处理方法、装置、电子设备及存储介质
US20110258694A1 (en) High performance packet processing using a general purpose processor
CN113364804B (zh) 一种流量数据的处理方法和装置
US8782092B2 (en) Method and apparatus for streaming netflow data analysis
EP2916516A1 (en) Packet processing method and apparatus
EP3065343B1 (en) Network monitoring method and apparatus, and packet filtering method and apparatus
AU2016393663B2 (en) Method and system for compression and optimization of in-line and in-transit information security data
KR101880705B1 (ko) 인터넷을 이용하여 장치정보를 수집하는 시스템 및 그 방법
US11646970B2 (en) Method and apparatus for determining packet dequeue rate
JP5917678B1 (ja) 情報処理装置、方法およびプログラム
CN116996446A (zh) 哈希负载均衡方法、装置、设备及介质
CN111953810A (zh) 识别代理互联网协议地址的方法、装置及存储介质
US10033665B2 (en) System and a method of analysing a plurality of data packets
CN113965629A (zh) Udp应用层协议识别方法、装置、存储介质及设备
CN112910799A (zh) 一种网络数据处理方法、系统、介质及设备
US11831524B2 (en) Network monitoring device and connection counting method
Lombardo et al. Netfpga hardware modules for input, output and ewma bit-rate computation
CN114827044B (zh) 一种报文处理方法、装置及网络设备
US11456951B1 (en) Flow table modification for network accelerators
CN114915596B (zh) 数据发送方法、装置、设备及存储介质
US10516619B2 (en) TCP window sizing
CN117579725A (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