CN102571560A - 一种根据hash按比例精确的分流方法 - Google Patents

一种根据hash按比例精确的分流方法 Download PDF

Info

Publication number
CN102571560A
CN102571560A CN2011104152103A CN201110415210A CN102571560A CN 102571560 A CN102571560 A CN 102571560A CN 2011104152103 A CN2011104152103 A CN 2011104152103A CN 201110415210 A CN201110415210 A CN 201110415210A CN 102571560 A CN102571560 A CN 102571560A
Authority
CN
China
Prior art keywords
hash
ratio
proportion
message
proportionally
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
CN2011104152103A
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.)
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN2011104152103A priority Critical patent/CN102571560A/zh
Publication of CN102571560A publication Critical patent/CN102571560A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种根据hash按比例精确的分流方法,输入hash分流比例r1,r2,r3...rn+2,rn-1,rn。现有技术的缺点是:在采用hash分流时,配置比例不能整除映射表项数时,不能精确的配置分流,不管余数项归于最大比例,第一个或最后一个比例,都可能改变比例的性质和原有比例的关系。

Description

一种根据hash按比例精确的分流方法
技术领域
本发明属于网络数据处理领域,具体涉及一种根据hash按比例精确的分流方法。 
背景技术
由于网络的高速发展,数据流量的猛增,一般这些网络数据通过某些设备首先汇聚然后分散到后端的服务器,或由服务器的定制网卡分散到多个CPU队列。对于处理网络数据的多路多核的服务器的处理能力,或是服务器的多个CPU分工和承担的事务不同,在数据分发过程中一般可以配置一定的比例满足要求,有效的控制数据的流量,充分利用系统资源。为了保证同源同宿一般采用hash算法进行分流,hash算法一般基于32位或64位,分流时把其返回值映射到一张表格,硬件通过查看这张表格,确定数据包发往哪个服务器(或服务器的CPU)。由于系统资源有限,这张表格的程度也是有限的,在hash返回值表示的数值范围大于表格项数(2的N次方)时,映射便是多对一的关系,在这种情况下,为了解决这个问题,一般对hash返回值做处理或截取其中的几位。然而,当配置的比例不能整除表格项数时,余数的处理直接影响配置比例的精确度,尤其比例(r1∶r2∶r3∶...∶rn,r2=0)中含零比例值的极易改变比例的性质。 
专利号CN200910176725.5(一种报文分流处理方法及装置)公开了一种报文分流处理方法,应用于包括多核网络设备的报文分流处理系统中,所述方法包括以下步骤:所述多核网络设备提取报文的五元组信息;所述多核网络设备根据所述报文的分片信息,判断所述报文是否为分片报文,如果所述报文为分片报文,则根据所述报文的源IP地址、目的IP地址和协议内容进行哈希Hash运算,获取所述报文对应的虚拟中央处理单元VCPU;如果所述报文不是分片报文,则根据所述报文的源端口、目的端口、源IP地址、目的IP地址和协议内容进行Hash 运算,获取所述报文对应的VCPU;所述多核网络设备通过所述获取的VCPU处理所述报文。本发明提高了多核网络设备处理报文的速度和效率。本发明同样公开了一种应用上述方法的装置。 
专利CN201110084356.4(不均匀处理能力下的线速分流装置及方法)公开一种利用单处理机绑定多MAC来实现待处理流量线速分流的装置和方法,使得处理机能力不均匀的情况下流量能够按照处理机实际处理能力分配。本装置通过将流量按照处理能力进行更细粒度的分解,使得每个处理机上能够容纳的流量粒度数最大且不会导致目标处理机过载,然后每个流量粒度分配到一个MAC地址;每台目标处理机按照分配的粒度数绑定相应的MAC地址数量,从而实现非均匀处理能力下的流量的线速分流。如果系统中处理机的处理能力差异巨大,可以利用本方法来提升高处理能力处理机的负载率,而不用迁就低处理能力的处理机,因此显著提高了投资回报,增强了系统的灵活性和适应能力。 
但这些方法处理有三种把余数归于最大比例,第一个或最后一个比例。 
这些技术的缺点是:在采用hash分流时,配置比例不能整除映射表项数时,不能精确的配置分流,不管余数项归于最大比例,第一个或最后一个比例,都可能改变比例的性质和原有比例的关系。 
发明内容
本发明克服上述技术存在的不足,提供了一种精确分流的分流方法,确保在不改变比例性质的前提下,最小限度的改变比例值。解决了数据包特定元组根据hash按比例精确分流 
本发明提供一种根据hash按比例精确的分流方法,其包括: 
输入hash分流比例r1,r2,r3...rn+2,rn-1,rn。 
获取所述hash所映射的数组长度len,计算 
Figure BDA0000119278270000021
计算每个所述分流比例对应的项数fj=rj*len/rsum(j=1,2,3...n),其中fj可带小 数。 
根据所述fj值计算 
若所述remain不为0,则排序fj(j=1,2,3...n),并把前remain个对应的f加1。第一个端口所述映射范围为0~f1,第k(2,3,4....n)个端口的所述映射范围为  Σ i = 1 k - 1 f i ~ Σ i = 1 k f i .
与现有技术相比,本发明的有益效果在于:对配置比例和映射表项不能整除时的余数处理保证了比例的精确配置,不会改变比例性质并最小限度改变其比例值。确保了后端资源的有效利用,在可控的范围内避免了因为处理能力问题引起的丢包。
附图说明 
图1是一种根据hash按比例精确的分流方法的流程图。 
具体实施方式
本发明方案详细步骤如下: 
1.输入hash分流比例r1,r2,r3...rn+2,rn-1,rn; 
2.获取hash所映射的数组长度len,计算 
Figure BDA0000119278270000033
3.计算每个比例对应的项数fj=rj*len/rsum(j=1,2,3...n),其中fj可带小数。 
4.计算 
Figure BDA0000119278270000034
5.若remain不为0,则排序fj(j=1,2,3...n),并把前remain个对应的f加1.
6.第一个端口映射范围为0~f1,第k(2,3,4....n)个端口的映射范围为  Σ i = 1 k - 1 f i ~ Σ i = 1 k f i .
本发明基于hash分流的精确配置比例的方法,其中基于特定元组的hash保证了同源同宿,对配置比例和映射表项不能整除时的余数处理保证了比例的精确配置。 
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施 例对本发明进行了详细的说明,所述领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者同等替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。 

Claims (3)

1.一种根据hash按比例精确的分流方法,其包括
(1)输入hash分流比例r1,r2,r3...rn+2,rn-1,rn;
(2)获取hash所映射的数组长度len,计算
Figure FDA0000119278260000011
(3)计算每个比例对应的项数fj=rj*len/rsum(j=1,2,3...n)。
(4)计算
(5)若remain不为0,则排序fj(j=1,2,3...n),并把前remain个对应的f加1.
2.根据权利要求1所述的分流方法,其特征在于,步骤(3)中fj可带小数。
3.根据权利要求1所述的分流方法,其特征在于,确定第一个端口映射范围为0~f1,第k(2,3,4....n)个端口的映射范围为
Figure FDA0000119278260000013
CN2011104152103A 2011-12-13 2011-12-13 一种根据hash按比例精确的分流方法 Pending CN102571560A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104152103A CN102571560A (zh) 2011-12-13 2011-12-13 一种根据hash按比例精确的分流方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104152103A CN102571560A (zh) 2011-12-13 2011-12-13 一种根据hash按比例精确的分流方法

Publications (1)

Publication Number Publication Date
CN102571560A true CN102571560A (zh) 2012-07-11

Family

ID=46416063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104152103A Pending CN102571560A (zh) 2011-12-13 2011-12-13 一种根据hash按比例精确的分流方法

Country Status (1)

Country Link
CN (1) CN102571560A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630319A (zh) * 2021-06-28 2021-11-09 济南浪潮数据技术有限公司 一种数据分流方法、装置及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1984071A (zh) * 2006-06-05 2007-06-20 华为技术有限公司 通讯网络中对数据流的分流方法和装置
CN101217491A (zh) * 2008-01-04 2008-07-09 杭州华三通信技术有限公司 一种调整流处理单元负载分担的方法及装置
CN102035743A (zh) * 2010-12-17 2011-04-27 天津曙光计算机产业有限公司 一种动态负载均衡分流方法
CN102098227A (zh) * 2011-03-03 2011-06-15 成都市华为赛门铁克科技有限公司 报文捕获方法及内核模块

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1984071A (zh) * 2006-06-05 2007-06-20 华为技术有限公司 通讯网络中对数据流的分流方法和装置
CN101217491A (zh) * 2008-01-04 2008-07-09 杭州华三通信技术有限公司 一种调整流处理单元负载分担的方法及装置
CN102035743A (zh) * 2010-12-17 2011-04-27 天津曙光计算机产业有限公司 一种动态负载均衡分流方法
CN102098227A (zh) * 2011-03-03 2011-06-15 成都市华为赛门铁克科技有限公司 报文捕获方法及内核模块

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630319A (zh) * 2021-06-28 2021-11-09 济南浪潮数据技术有限公司 一种数据分流方法、装置及相关设备
CN113630319B (zh) * 2021-06-28 2022-08-19 济南浪潮数据技术有限公司 一种数据分流方法、装置及相关设备

Similar Documents

Publication Publication Date Title
JP6436594B2 (ja) ストリーム計算システムにおけるデータ処理方法、制御ノードおよびストリーム計算システム
CN103999415B (zh) 一种用于合并网络应用的装置、方法和中间件
CN108241530A (zh) 一种基于Storm的流式计算二分图任务调度方法
Liu et al. SP-Partitioner: A novel partition method to handle intermediate data skew in spark streaming
CN102970142B (zh) 一种vpn设备在多加密卡环境下并发加解密的方法及系统
CN112954079B (zh) 报文转发方法、装置、电子设备及可读存储介质
CN110278161B (zh) 基于用户态协议栈的报文分流方法、装置及系统
CN101547150A (zh) 数据通信输入端口调度的方法及装置
CN111984415A (zh) 一种基于流水线转发模型的负载均衡方法及装置
CN104461727A (zh) 内存模组访问方法及装置
CN114006863A (zh) 一种多核负载均衡协同处理方法、装置及存储介质
Hu et al. Towards efficient server architecture for virtualized network function deployment: Implications and implementations
CN105210324B (zh) 策略与计费规则功能虚拟化方法、装置及系统
CN103873293A (zh) 一种健康探测装置及方法
CN104821958B (zh) 基于WebService的用电数据分组交互接口方法
Salah et al. Performance analysis and comparison of interrupt-handling schemes in gigabit networks
CN106202152B (zh) 一种云平台的数据处理方法及系统
CN102571560A (zh) 一种根据hash按比例精确的分流方法
US9268621B2 (en) Reducing latency in multicast traffic reception
CN102035743A (zh) 一种动态负载均衡分流方法
CN103607357A (zh) 系统中报文的分配方法和装置
CN102088457A (zh) 一种基于保证连接均衡性的报文分流方法
US20120075996A1 (en) Techniques to support large numbers of subscribers to a real-time event
CN110909085A (zh) 数据处理方法、装置、设备及存储介质
CN104917852A (zh) 一种针对IPv6地址的数据快速处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120711