CN106656812A - 映射表的构建方法、分流设备的分流方法及相应装置 - Google Patents

映射表的构建方法、分流设备的分流方法及相应装置 Download PDF

Info

Publication number
CN106656812A
CN106656812A CN201611144157.7A CN201611144157A CN106656812A CN 106656812 A CN106656812 A CN 106656812A CN 201611144157 A CN201611144157 A CN 201611144157A CN 106656812 A CN106656812 A CN 106656812A
Authority
CN
China
Prior art keywords
output port
value
hash
cryptographic hash
setting
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
CN201611144157.7A
Other languages
English (en)
Other versions
CN106656812B (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 CN201611144157.7A priority Critical patent/CN106656812B/zh
Publication of CN106656812A publication Critical patent/CN106656812A/zh
Application granted granted Critical
Publication of CN106656812B publication Critical patent/CN106656812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Landscapes

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

Abstract

本发明实施例公开了映射表的构建方法、分流设备的分流方法及相应装置。该构建方法包括:根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中;根据每个哈希值对应的数据累计值,采用贪心策略将哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表。利用该方法,能够建立哈希值与输出端口的动态映射,使得分流设备基于动态建立的映射表在无需人工干预的情况下有效地达到分流均衡的效果,大大提高了与输出端口连接的后端数据分析设备对网络数据分析处理的处理性能。

Description

映射表的构建方法、分流设备的分流方法及相应装置
技术领域
本发明实施例涉及数据通信技术领域,尤其涉及映射表的构建方法、分流设备的分流方法及相应装置。
背景技术
目前,随着通信网络的不断发展,用户对固网以及移动核心网络的使用量不断攀升,而用户对VOIP、视频、P2P等网络增值业务的应用也越来越广泛。由此,网络运营商需要对网络流量流向以及用户关心的网络应用等进行掌控,进而各种分流设备应用而生,用以保障网络安全和支持业务正常平稳运行。
对于分流设备而言,一般具有多个输出端口分别与多个数据分析设备相连,由此将网络数据分别经多个端口输出至相应的数据分析设备,实现网络数据的分流及处理。然而,分流设备的基本要求在于对网络数据的均衡分流,由此保证数据分析设备在对网络数据分析处理时发挥最大处理性能。现有的分流方法,其过程概括为:获取用户上网的用户数据,并通过哈希算法计算用户数据的哈希值;获取哈希表中各哈希值与输出端口之间的静态映射表;由此确定用户数据哈希值所在哈希地址对应的输出端口,最终将用户数据分流至该输出端口。
上述分流方法,如果输入的网络数据足够随机且足够多时,能够保证分流设备分流至每个输出端口的数据均衡。然而,实际应用中,无法保证所输入网络数据足够随机以及数据量足够大,例如,对固网按照用户IP进行均衡分流时,由于大型企业、网吧很多时候在公网使用单一IP,其单一IP对应的数据流量和普通用户数据流量相差非常大,这样破坏了网络数据的随机性;又如,对移动核心网使用外层隧道IP进行分流均衡时,由于外层隧道IP是移动核心网网元IP,而移动核心网中的网元数量有限,由此导致网络数据的输入个数过少,分流设备也无法得到很好的均衡效果。
发明内容
本发明实施例提供了映射表的构建方法、分流设备的分流方法及相应装置,能够动态构建哈希表中各哈希值与输出端口的映射表,有效地提高分流设备的均衡效果,进而提高数据分析设备对网络数据分析处理的处理性能。
第一方面,本发明实施例提供了一种映射表的构建方法,包括:
根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中;
根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表。
第二方面,本发明实施例提供了一种分流设备的分流方法,包括:
接收用户的当前网络数据报文,并基于设定的哈希算法确定所述当前网络数据报文在设定长度哈希表中对应的哈希值;
如果分流设备的当前分流均衡度高于设定分流均衡阈值,则根据上述映射表的构建方法,构建所述哈希表中各哈希值与所述分流设备各输出端口的映射表。
第三方面,本发明实施例提供了一种映射表的构建装置,包括:
数据统计模块,用于根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中;
映射确定模块,用于根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表。
第四方面,本发明实施例提供了一种分流设备的分流装置,包括:
哈希值确定模块,用于接收用户的当前网络数据报文,并基于设定的哈希算法确定所述当前网络数据报文在设定长度哈希表中对应的哈希值;
映射表构建模块,用于当分流设备的当前分流均衡度高于设定分流均衡阈值时,根据上述映射表的构建装置,构建所述哈希表中各哈希值与所述分流设备各输出端口的映射表;
数据分流模块,用于根据所述映射表,确定所述当前网络数据报文对应的输出端口,并将所述当前网络数据报文分流至所述输出端口。
本发明实施例中提供的映射表的构建方法、分流设备的分流方法及相应装置。该构建方法首先通过设定统计周期内接收的网络数据报文,统计哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与哈希表对应的一维数组中;之后可根据各哈希值对应的数据累计值,采用贪心策略建立哈希表中哈希值与输出端口的映射关系,形成哈希值与输出端口的映射表。后续分流设备能够确定所接收当前网络用户数据报文对应的哈希值,并根据上述方法构建的映射表,确定当前网络数据报文对应的输出端口,最终实现当前网络数据报文到相应输出端口的分流。利用上述方法,能够建立哈希值与输出端口的动态映射,使得分流设备基于动态建立的映射表在无需人工干预的情况下有效地达到分流均衡的效果,大大提高了与输出端口连接的后端数据分析设备对网络数据分析处理的处理性能。
附图说明
图1为本发明实施例一提供的一种映射表的构建方法的流程示意图;
图2为本发明实施例二提供的一种映射表的构建方法的流程示意图;
图3为本发明实施例三提供的一种分流设备的分流方法的流程示意图;
图4为本发明实施例四提供的一种映射表的构建装置的结构框图;
图5为本发明实施例五提供的一种分流设备的分流装置的结构框图;
图6是本发明实施例六提供的在LTE移动核心网中的一种具体应用举例的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种映射表的构建方法的流程示意图,该方法适用于对分流设备中哈希表与输出端口构建映射表的情况,且可以由映射表的构建装置执行,其中该装置可以由软件和/或硬件实现,并一般集成于分流设备中。
如图1所示,本发明实施例一提供的一种映射表的构建方法,包括如下操作:
S101、根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与哈希表对应的一维数组中。
网络数据报文具体可理解为分流设备接收的用户通过固网或移动核心网上网时产生的数据报文。需要说明的是,上述网络数据报文为在被分流设备接收前,可以从固网的网络端口获取、或者从移动核心网的S11、S11-U及S1-MME等某几类信令接口获取,并一般需要经过汇聚设备汇聚处理,最终可根据设定速率的网络带宽流向分流设备,形成分流设备可接收的网络数据报文。
本实施例中的哈希表设定于分流设备中,可用于网络数据报文分流时确定与网络数据报文对应的输出端口。本实施例不对哈希表的长度范围进行限定,可人为设定或由设备默认。哈希表的长度限制了哈希表的表项个数,进而限定了哈希表的哈希值。示例性的,对于1024长度的哈希表,其第1哈希表项的值可表示为0,第2哈希表项的值表示为1,由此第1024哈希表项的值表示为1023。
在本实施例中,可以通过哈希算法确定所接收网络数据报文在哈希表中对应的哈希值,常见的哈希算法有CRC32、MD2、MD4、MD5和SHA-1等。本实施例不对网络数据报文的哈希值计算算法进行限定,所基于的哈希算法不同,网络数据报文对应的哈希值也不相同。本实施例中的设定统计周期可理解为数据累计值的统计周期,具体地,可以实时接收用户的网络数据报文,并对接收的每个网络数据报文确定其在哈希表中的哈希值,当接收时间到达设定统计周期后,可以根据所接收的网络数据报文统计设定统计周期内各哈希值对应的数据累计值。本实施例不对数据累计值进行限定,可以是所接收网络数据报文个数的累计,或基于网络数据报文确定的其他网络数据信息的累计。
本步骤在确定各哈希值对应的数据累计值后,可以将各数据累计值存放于设定的一维数组中,具体地,所设定的一维数组的长度与分流设备中哈希表的长度相同,需要说明的是,一维数组中数据累计值的存放顺序与其哈希表中的哈希值相对应,示例性的,需要将哈希表中第n哈希表项哈希值对应的数据累计值存放于一维数组的第n元素位置上。
S102、根据每个哈希值对应的数据累计值,采用贪心策略将哈希表中哈希值与设定个数的输出端口进行映射,形成哈希表中哈希值与输出端口的映射表。
本实施例中的输出端口具体指分流设备中用于将网络数据报文输出至后端数据分析设备的端口,分流设备上一般具有设定个数的输出端口,用于网络数据报文的分流输出,其中设定个数的范围不具体限定,可根据分流设备的分流能力实际设定,分流设备一般具有8个以上的输出端口。而网络数据报文具体采用哪个输出端口输出,则需要根据分流方法基于哈希值与输出端口的映射表确定。
本步骤实现了哈希表与输出端口映射表的构建,具体地,本步骤中可根据贪心算法确定一维数组中各数据累计值近似最优解的输出端口,即,确定能够对各数据累计值均衡分流的输出端口,之后可建立各数据累计值的哈希值与其所适合输出端口之间的映射,最终形成包括各哈希值与相应输出端口映射关系的映射表。
本发明实施例一提供的映射表的构建方法,首先通过设定统计周期内接收的网络数据报文,统计哈希表中各哈希值对应的数据累计值,并将数据累计值写入与哈希表对应的一维数组中;之后可根据各哈希值对应的数据累计值,采用贪心策略建立哈希表中哈希值与输出端口的映射关系,形成哈希值与输出端口的映射表。利用该方法,实现了分流设备中哈希表中哈希值与输出端口射射关系的动态构建,保证了后续用户网络数据的均衡分流。
实施例二
图2为本发明实施例二提供的一种映射表的构建方法的流程示意图。本发明实施例二以上述实施例为基础进行优化,进一步的,本实施例将“根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值”,具体优化为:根据设定的哈希算法确定所接收网络数据报文在设定长度哈希表中对应的哈希值;在设定统计周期内,统计各哈希值所对应网络数据报文的累计值或网络数据流量的累计值,确定为各哈希值的数据累计值,其中,所述网络数据流量根据所述网络数据报文中的报文信息获得。
进一步的,本实施例还将“根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表”具体优化为:确定所述一维数组中的最大数据累计值,并确定所述最大数据累计值对应的哈希值;确定设定个数的输出端口中每个输出端口的处理权重值及当前总数据值,并将设定个数的输出端口加入候选端口集;根据设定规则在所述候选端口集中确定目标输出端口,将所述最大数据累计值分配给所述目标输出端口,并更新所述目标输出端口的当前总数据值;根据设定个数的输出端口中每个输出端口的当前总数据值及处理权重值,确定各输出端口的样本方差;如果所述目标输出端口的样本方差最小,则建立所述最大数据累计值对应哈希值与所述目标输出端口的映射关系,将所述映射关系写入设定的映射表,并从所述一维数组中删除所述最大数据累计值,返回最大数据累计值的确定操作直至所述一维数组为空;否则,将所述最大数据累计值从所述目标输出端口的当前总数据值中去除,并将所述目标输出端口从所述候选端口集中删除,返回目标输出端口的确定操作。
如图2所示,本发明实施例二提供的一种映射表的构建方法,具体包括如下操作:
S201、根据设定的哈希算法确定所接收网络数据报文在设定长度哈希表中对应的哈希值。
S202、在设定统计周期内,统计各哈希值所对应网络数据报文的累计值或网络数据流量的累计值,确定为各哈希值的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中。
在本实施例中,步骤S201和步骤S202对应于上述实施例一中的步骤S101,主要用来确定哈希表中各哈希值在设定统计周期内的数据累计值。示例性的,首先可以根据CRC32哈希算法确定所接收网络数据报文在设定长度哈希表中的哈希值;之后当接收时间到达设定统计周期后,可以统计设定统计周期内各哈希值所对应的网络数据报文的累计值,即,相当于统计哈希值在设定统计周期内累计的网络数据报文个数;还可以统计设定统计周期内各哈希值所对应网络数据流量的累计值,其中,网络数据流量一般可指相应网络数据报文的数据量,其数据量信息一般记载在网络数据报文的固定字段中,因此网络数据流量可以根据网络数据报文中的报文信息获得。
本步骤在确定各哈希值所对应网络数据报文的累计值或网络数据流量的累计值后,可以将确定的数据累计值存放于对哈希表对应的一维数组中,以用于后续的映射表构建。
S203、确定一维数组中的最大数据累计值,并确定该最大数据累计值对应的哈希值。
在本实施例中,步骤S203至步骤S209对应于上述实施例一种的步骤S102,具体描述了基于贪心策略构建哈希值与输出端口映射表的过程。示例性的,本步骤首先确定一维数组中所有数据累计值中的最大数据累计值,由于一维数组与哈希表对应,进而可以确定该最大数据累计值对应的哈希值。
S204、确定设定个数的输出端口中每个输出端口的处理权重值及当前总数据值,并将设定个数的输出端口加入候选端口集。
本步骤相当于对设定个数的输出端口的预处理,首先可以确定每个输出端口的处理权重值,需要说明的是,分流设备的一个输出端口连接一台后端数据分析设备,由于后端数据分析设备自身处理性能的差异,不同后端数据分析设备能够处理的网络数据上限不同,其网络数据上限可通过处理权重表现,为了实现网络数据报文的均衡分流,本实施例在构建哈希值与输出端口的映射表时,也需要考虑不同后端数据分析设备所具有的处理权重值。因此,本实施例中输出端口的处理权重值等同于与之相连后端数据分析设备的处理权重值。需要说明的是,为了便于后续计算,本实施例将各输出端口所对应处理权重值的设定范围限制为1~10中的任一整数。
其次,本步骤还需要确定每个输出端口的当前总数据值,其中,输出端口的当前总数据值具体可指输出端口在当前时刻之前已经输出的网络数据报文个数或网络数据流量的总和。一般的,输出端口的当前总数据值可在网络数据报文的分流操作中通过设定的累计程序确定,其累计值可以存放在设定存储地址中,本实施例可直接从设定存储地址中读取输出端口的当前数据值。
在确定各输出端口的处理权重值及当前总数据值后,本步骤需要将设定个数的输出端口放置在设定的候选端口集中,以用于确定适合各数据累计值的输出端口。
S205、根据设定规则在候选端口集中确定目标输出端口,将最大数据累计值分配给目标输出端口,并更新目标输出端口的当前总数据值。
本步骤首先可以基于设定规则在候选端口集中选定一个输出端口作为目标输出端口,然后将确定的最大数据累计值分配给目标输出端口,由此更新该目标输出端口的当前总数据值。需要说明的是,本实施例要求数据累计值与当前总数据值的统计属性相同,即当输出端口的当前总数据值为网络数据报文个数总和时,之前统计的数据累计值要求是网络数据报文的累计值。
具体地,将最大数据累计值分配给目标输出端口后,该目标输出端口的新的当前数据总和可表示为原当前数据总和与最大数据累计值之和。
进一步的,所述根据设定规则在所述候选端口集中确定目标输出端口,包括:确定所述候选端口集中具有最小当前总数据值对应的输出端口,将所述输出端口作为目标输出端口;或者,确定所述候选端口集中具有最大处理权重值对应的输出端口,将所述输出端口作为目标输出端口。
可以理解的是,当候选端口集中一个输出端口的当前总数据值最小时,相当于分流设备基于该输出端口输出的网络数据最少,如果将最大数据累计值添加给该输出端口,则最容易实现分流设备的负载均衡;同样,当候选端口集中一个输出端口处理权重值最大时,表明该输出端口所对应后端数据分析设备的处理性能最大,相较于其他后端处理设备,能够处理的网络数据也最多,因此,如果将最大数据累计值添加给该输出端口,也很容易实现分流设备的负载均衡。
在本实施例中,如果不限定目标输出端口的确定规则,可在候选端口集中选取任一输出端口作为目标输出端口,但有可能影响哈希值与输出端口映射表的构建速率。由此,本实施例可以根据上述规则确定目标输出端口。
S206、根据设定个数的输出端口中每个输出端口的当前总数据值及处理权重值,确定各输出端口的样本方差。
本步骤为设定个数的输出端口的各输出端口进行样本方差的计算。具体地,可以在进行样本方差计算之前,先计算各输出端口的当前总数据值与处理权重值之比,作为各输出端口的输出比例,之后可根据该输出比例结合样本方差的计算公式确定各输出端口的样本方差。
S207、判定目标输出端口的样本方差是否为各样本方差中的最小值,若否,则执行步骤S208;若是,则执行步骤S209。
在计算出各输出端口的样本方差后,可以确定各样本方差中的最小值,本实施例需要判定目标输出端口此时的样本方差是否最小,如果不是最小,则可认为当最大数据累计值基于该目标输出端口输出时无法保证分流设备的负载均衡,由此需要进行步骤S208的操作;如果最小,则可认为当最大数据累计值基于该目标输出端口输出时,能够保证分流设备的负载均衡,由此可以进行步骤S209的操作。
S208、将上述最大数据累计值从目标输出端口的当前总数据值中去除,并将目标输出端口从候选端口集中删除,返回步骤S205。
当目标输出端口的样本方差不是各样本方差中的最小值时,需要从目标数据端口的当前总数据值中减去该最大数据累计值,然后,还需要从候选端口集删除所确定的目标输出端口,之后,需要返回步骤S205再次在去除原目标输出端口的候选端口集中确定新的目标输出端口。需要注意的是,再次返回步骤S205重复执行时,步骤S206中样本方差计算时,参与计算的输出端口仍是设定个数的输出端口,此处不要忽略原目标输出端口样本方差的计算。
S209、建立上述最大数据累计值所对应哈希值与目标输出端口的映射关系,将该映射关系写入设定的映射表,并从上述一维数组中删除该最大数据累计值,返回步骤S203直至一维数组为空。
当目标输出端口的样本方差为各样本方差中的最小值时,可直接将该目标输出端口确定为该最大数据累计值的输出端口,此时可建立上述最大数据累计值所对应哈希值与目标输出端口的映射关系,将该映射关系写入设定的映射表,以使该输出端口能够作为后续与该哈希值相对应网络数据报文的输出端口。
在确定一个哈希值映射的输出端口后,还需要返回本实施的上述步骤S203,循环建立哈希表中其他哈希值与输出端口的映射关系。具体地,在进行循环操作前,需要将一维数组中当前的最大数据累计值删除,且如果删除最大数据累计值后一维数组中的元素值为空,表明确定了哈希表中各哈希值与输出端口的映射关系,可结束循环操作。
需要说明的是,在本实施例中,还可以在输出端口样本方差计算时,对目标输出端口所对应最大数据累计值的样本方差值进行存储,当候选端口集中的元素为空但仍未确定出目标输出端口的样本方差最小时,可以考虑在最大数据累计值所对应设定个数的样本方差值中选取最小样本方差对应的目标输出端口作为该最大数据累计值的输出端口,后续可基于步骤S209建立该最大数据累计值所对应哈希值与该输出端口的映射关系。
此外,可以理解的是,哈希表中哈希值的个数远大于分流设备中输出端口的设定个数,因此,可确定基于上述方法构建的映射表中,哈希值与输出端口并不是一一对映的形式,而是多对一的形式,即多个不同的哈希值对映同一个输出端口。
本发明实施例二提供的一种映射表的构建方法,具体化了数据累计值的确定过程;同时具体化了哈希值与输出端口映射关系的确定过程。利用该方法,实现了分流设备中哈希表中哈希值与输出端口射射关系的动态构建,保证了后续用户网络数据的均衡分流。
实施例三
在上述实施例的基础上,基于同一发明构思,本发明实施例三提供的一种分流设备的分流方法,在本实施例中,利用了上述映射表的构建方法。所以,本实施例中不再详细描述映射表的构建过程的细节内容,可参考上述映射表的构建方法的实施例。
图3为本发明实施例三提供的一种分流设备的分流方法的流程示意图。该方法适用于对网络用户的网络数据进行分流处理的情况,该方法可以由分流设备的分流装置执行,其中该装置可以由软件和/或硬件实现,并一般集成于分流设备中。
如图3所示,本发明实施例三提供的一种分流设备的分流方法,包括如下操作:
S301、接收用户的当前网络数据报文,并基于设定的哈希算法确定当前网络数据报文在设定长度哈希表中对应的哈希值。
示例性的,当前网络数据报文可以是基于分流设备接收的网络数据。可以采用CRC32哈希算法或其他哈希算法确定当前网络数据报文在设定长度哈希表中对应的哈希值。
S302、如果分流设备的当前分流均衡度高于设定分流均衡阈值,则根据上述映射表构建方法,构建哈希表中各哈希值与分流设备各输出端口的映射表。
在本实施例中,可以确定分流设备所具有输出端口的设定个数,并可以确定各输出端口当前所具有的网络数据分流量,由此可确定出各输出端口中当前网络数据分流量的最大值,同时可计算各输出端口当前网络数据分流量的平均值。本实施例可将当前最大网络数据分流量与当前平均网络数据分流量的比值确定为分流设备的当前均衡度。本实施例不限定分流均衡阈值的设定范围,可根据分流的历史经验值设定。
本步骤可以在分流设备的当前均衡度高于设定分流均衡阈值时,通过上述实施例一或实施例二所描述的映射表的构建方法,来构建各哈希值与分流设备各输出端口的映射表。
S303、根据上述映射表,确定当前网络数据报文对应的输出端口,并将当前网络数据报文分流至该输出端口。
示例性的,可以根据步骤S301确定当前网络数据报文对应的哈希值。根据所构建的映射表可确定该哈希值对应的输出端口,由此可将该当前网络数据报文分流至该输出端口,并通过该输出端口到达后端数据分析设备。
本发明实施例三提供的一种分流设备的分流方法,首先对所接收的当前网络数据报文对应的哈希值进行确定,然后在分流设备当前分流均衡度达到映射表的构建条件时,根据上述映射表的构建方法,构建哈希值与输出端口的映射表;最终根据构建的映射表,确定当前网络数据报文对应的输出端口,并将当前网络数据报文分流至该输出端口。利用该方法,能够使得分流设备基于动态建立的映射表在无需人工干预的情况下有效地达到分流均衡的效果,大大提高了与输出端口连接的后端数据分析设备对网络数据分析处理的处理性能。
实施例四
图4为本发明实施例四提供的一种映射表的构建装置的结构框图。该装置适用于对分流设备中哈希表与输出端口构建映射表的情况,其中该装置可以由软件和/或硬件实现,并一般集成于分流设备中。如图4所示,该装置包括:数据统计模块41和映射确定模块42。
其中,数据统计模块41,用于根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中;
映射确定模块42,用于根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表。
在本实施例中,该映射表的构建装置首先通过数据统计模块41根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中;最终通过映射确定模块42根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表。
本发明实施例四提供的一种映射表的构建装置,实现了分流设备中哈希表中哈希值与输出端口射射关系的动态构建,保证了后续用户网络数据的均衡分流。
进一步的,所述数据统计模块41,具体用于:
根据设定的哈希算法确定所接收网络数据报文在设定长度哈希表中对应的哈希值;在设定统计周期内,统计各哈希值所对应网络数据报文的累计值或网络数据流量的累计值,确定为各哈希值的数据累计值,其中,所述网络数据流量根据所述网络数据报文中的报文信息获得。
进一步的,所述映射确定模块42,具体用于:
确定所述一维数组中的最大数据累计值,并确定所述最大数据累计值对应的哈希值;确定设定个数的输出端口中每个输出端口的处理权重值及当前总数据值,并将设定个数的输出端口加入候选端口集;根据设定规则在所述候选端口集中确定目标输出端口,将所述最大数据累计值分配给所述目标输出端口,并更新所述目标输出端口的当前总数据值;根据设定个数的输出端口中每个输出端口的当前总数据值及处理权重值,确定各输出端口的样本方差;如果所述目标输出端口的样本方差最小,则建立所述最大数据累计值对应哈希值与所述目标输出端口的映射关系,将所述映射关系写入设定的映射表,并从所述一维数组中删除所述最大数据累计值,返回最大数据累计值的确定操作直至所述一维数组为空;否则,将所述最大数据累计值从所述目标输出端口的当前总数据值中去除,并将所述目标输出端口从所述候选端口集中删除,返回目标输出端口的确定操作。
在上述实施例的基础上,所述根据设定规则在所述候选端口集中确定目标输出端口,包括:
确定所述候选端口集中具有最小当前总数据值对应的输出端口,将所述输出端口作为目标输出端口;或者,确定所述候选端口集中具有最大处理权重值对应的输出端口,将所述输出端口作为目标输出端口。
实施例五
图5为本发明实施例五提供的一种分流设备的分流装置的结构框图。该装置适用于对网络用户的网络数据进行分流处理的情况,其中该装置可以由软件和/或硬件实现,并一般集成于分流设备中。如图5所示,该装置包括:哈希值确定模块51、映射表构建模块52以及数据分流模块53。
其中,哈希值确定模块51,用于接收用户的当前网络数据报文,并基于设定的哈希算法确定所述当前网络数据报文在设定长度哈希表中对应的哈希值;
映射表构建模块52,用于当分流设备的当前分流均衡度高于设定分流均衡阈值时,根据上述映射表的构建装置,构建所述哈希表中各哈希值与所述分流设备各输出端口的映射表;
数据分流模块53,用于根据所述映射表,确定所述当前网络数据报文对应的输出端口,并将所述当前网络数据报文分流至所述输出端口。
在本实施例中,该装置首先通过哈希值确定模块51接收用户的当前网络数据报文,并基于设定的哈希算法确定所述当前网络数据报文在设定长度哈希表中对应的哈希值;然后通过映射表构建模块52当分流设备的当前分流均衡度高于设定分流均衡阈值时,根据上述映射表的构建装置,构建所述哈希表中各哈希值与所述分流设备各输出端口的映射表;最终,通过数据分流模块53根据所述映射表,确定所述当前网络数据报文对应的输出端口,并将所述当前网络数据报文分流至所述输出端口。
本发明实施例五提供的一种分流设备的分流装置,能够使得分流设备基于动态建立的映射表在无需人工干预的情况下有效地达到分流均衡的效果,大大提高了与输出端口连接的后端数据分析设备对网络数据分析处理的处理性能。
实施例六
图6是本发明实施例六提供的在LTE移动核心网中的一种具体应用举例的示意图。本实施例的应用场景如下:
针对A地区的用户数据,如用户110的上网数据,LTE移动核心网在S11、S1-U和S1-MME接口进行数据分光;通过汇聚设备120,将分光后的网络数据报文610镜像得到网络数据报文620,并汇聚成4路10GE数据后到达分流设备130。分流设备130要对接收到的网络数据报文620,均衡地分配到后端若干台,如10台数据分析设备310中,其中,每台数据分析设备310通过一个10GE接口,连接到分流设备130的其中一个输出端口上,如Port1~Port10。即其应用场景为要实现网络数据报文的均衡分流,其中,可以采用本发明上述实施例提供的分流方法实现均衡分流。
具体地,当网络拓扑搭建完毕后,针对分流设备130,进行均衡分流前要需要进行如下配置:
S1、配置一个分流输出组,如分流输出组1,并在分流输出组中设定固定长度的哈希表。
需要说明的是,本配置中的分流输出组相当于分流设备中的一个可以独立完成分流操作的分流组。一般的,对于分流设备而言,可以分为多个分流输出组,每个分流输出组存在与之对应的后端数据分析设备,不同分流输出组所对应的后端数据分析设备往往具有不同的分析功能,示例性的,如有些分流输出组的后端数据分析设备可用于分析音视频数据,有些分流输出组的后端数据分析设备可用于分析音视频数据则可用于分析其他上网数据。
S2、在分流输出组1中添加输出端口,如输出端口Port1~Port10,获取初始的包含哈希表各哈希值与各输出端口映射关系的映射表。
至此,分流设备130的配置完毕。按照上述配置,分流设备130则可以执行上述发明实施例提供的分流设备的分流方法,其分流方法概述如下:
S3、接收用户的网络数据报文,如接收用户的S1-U网络数据报文;并计算网络数据报文在哈希表中对应的哈希值。
S4、判定该分流输出组的当前分流均衡度是否高于设定分流均衡阈值,若是,则根据本发明上述实施例提供的映射表的构建方法重新构建哈希表中各哈希值与输出端口映射关系的映射表。
S5、根据该映射表确定当前网络数据报文对应的输出端口,并将当前网络数据报文分流至该输出端口。
由此实现网络数据的均衡分流,以保证后端数据分析设备310的分析处理性能。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种映射表的构建方法,其特征在于,包括:
根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中;
根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表。
2.根据权利要求1所述的方法,其特征在于,所述根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,包括:
根据设定的哈希算法确定所接收网络数据报文在设定长度哈希表中对应的哈希值;
在设定统计周期内,统计各哈希值所对应网络数据报文的累计值或网络数据流量的累计值,确定为各哈希值的数据累计值,其中,所述网络数据流量根据所述网络数据报文中的报文信息获得。
3.根据权利要求1或2所述的方法,其特征在于,所述根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表,包括:
确定所述一维数组中的最大数据累计值,并确定所述最大数据累计值对应的哈希值;
确定设定个数的输出端口中每个输出端口的处理权重值及当前总数据值,并将设定个数的输出端口加入候选端口集;
根据设定规则在所述候选端口集中确定目标输出端口,将所述最大数据累计值分配给所述目标输出端口,并更新所述目标输出端口的当前总数据值;
根据设定个数的输出端口中每个输出端口的当前总数据值及处理权重值,确定各输出端口的样本方差;
如果所述目标输出端口的样本方差最小,则建立所述最大数据累计值对应哈希值与所述目标输出端口的映射关系,将所述映射关系写入设定的映射表,并从所述一维数组中删除所述最大数据累计值,返回最大数据累计值的确定操作直至所述一维数组为空;
否则,将所述最大数据累计值从所述目标输出端口的当前总数据值中去除,并将所述目标输出端口从所述候选端口集中删除,返回目标输出端口的确定操作。
4.根据权利要求3所述的方法,其特征在于,所述根据设定规则在所述候选端口集中确定目标输出端口,包括:
确定所述候选端口集中具有最小当前总数据值对应的输出端口,将所述输出端口作为目标输出端口;或者,
确定所述候选端口集中具有最大处理权重值对应的输出端口,将所述输出端口作为目标输出端口。
5.一种分流设备的分流方法,其特征在于,包括:
接收用户的当前网络数据报文,并基于设定的哈希算法确定所述当前网络数据报文在设定长度哈希表中对应的哈希值;
如果分流设备的当前分流均衡度高于设定分流均衡阈值,则根据权利要求1-4中任一所述的构建方法,构建所述哈希表中各哈希值与所述分流设备各输出端口的映射表;
根据所述映射表,确定所述当前网络数据报文对应的输出端口,并将所述当前网络数据报文分流至所述输出端口。
6.一种映射表的构建装置,其特征在于,包括:
数据统计模块,用于根据设定统计周期内接收的网络数据报文,统计设定长度哈希表中各哈希值对应的数据累计值,并将各数据累计值写入与所述哈希表对应的一维数组中;
映射确定模块,用于根据每个哈希值对应的数据累计值,采用贪心策略将所述哈希表中哈希值与设定个数的输出端口进行映射,形成所述哈希表中哈希值与输出端口的映射表。
7.根据权利要求6所述的装置,其特征在于,所述数据统计模块,具体用于:
根据设定的哈希算法确定所接收网络数据报文在设定长度哈希表中对应的哈希值;
在设定统计周期内,统计各哈希值所对应网络数据报文的累计值或网络数据流量的累计值,确定为各哈希值的数据累计值,其中,所述网络数据流量根据所述网络数据报文中的报文信息获得。
8.根据权利要求6或7所述的装置,其特征在于,所述映射确定模块,具体用于:
确定所述一维数组中的最大数据累计值,并确定所述最大数据累计值对应的哈希值;
确定设定个数的输出端口中每个输出端口的处理权重值及当前总数据值,并将设定个数的输出端口加入候选端口集;
根据设定规则在所述候选端口集中确定目标输出端口,将所述最大数据累计值分配给所述目标输出端口,并更新所述目标输出端口的当前总数据值;
根据设定个数的输出端口中每个输出端口的当前总数据值及处理权重值,确定各输出端口的样本方差;
如果所述目标输出端口的样本方差最小,则建立所述最大数据累计值对应哈希值与所述目标输出端口的映射关系,将所述映射关系写入设定的映射表,并从所述一维数组中删除所述最大数据累计值,返回最大数据累计值的确定操作直至所述一维数组为空;
否则,将所述最大数据累计值从所述目标输出端口的当前总数据值中去除,并将所述目标输出端口从所述候选端口集中删除,返回目标输出端口的确定操作。
9.根据权利要求8所述的装置,其特征在于,所述根据设定规则在所述候选端口集中确定目标输出端口,包括:
确定所述候选端口集中具有最小当前总数据值对应的输出端口,将所述输出端口作为目标输出端口;或者,
确定所述候选端口集中具有最大处理权重值对应的输出端口,将所述输出端口作为目标输出端口。
10.一种分流设备的分流装置,其特征在于,包括:
哈希值确定模块,用于接收用户的当前网络数据报文,并基于设定的哈希算法确定所述当前网络数据报文在设定长度哈希表中对应的哈希值;
映射表构建模块,用于当分流设备的当前分流均衡度高于设定分流均衡阈值时,根据权利要求6-9中任一所述的构建装置,构建所述哈希表中各哈希值与所述分流设备各输出端口的映射表;
数据分流模块,用于根据所述映射表,确定所述当前网络数据报文对应的输出端口,并将所述当前网络数据报文分流至所述输出端口。
CN201611144157.7A 2016-12-13 2016-12-13 映射表的构建方法、分流设备的分流方法及相应装置 Active CN106656812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611144157.7A CN106656812B (zh) 2016-12-13 2016-12-13 映射表的构建方法、分流设备的分流方法及相应装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611144157.7A CN106656812B (zh) 2016-12-13 2016-12-13 映射表的构建方法、分流设备的分流方法及相应装置

Publications (2)

Publication Number Publication Date
CN106656812A true CN106656812A (zh) 2017-05-10
CN106656812B CN106656812B (zh) 2020-06-02

Family

ID=58825721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611144157.7A Active CN106656812B (zh) 2016-12-13 2016-12-13 映射表的构建方法、分流设备的分流方法及相应装置

Country Status (1)

Country Link
CN (1) CN106656812B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831388A (zh) * 2017-11-23 2019-05-31 中国电信股份有限公司 用于优化流量负载均衡的方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206861B1 (en) * 2002-07-29 2007-04-17 Juniper Networks, Inc. Network traffic distribution across parallel paths
WO2009138745A1 (en) * 2008-05-15 2009-11-19 Gnodal Limited A method of data delivery across a network
CN102282810A (zh) * 2009-01-19 2011-12-14 惠普开发有限公司 负载平衡
CN102447619A (zh) * 2011-11-10 2012-05-09 华为技术有限公司 选择负载分担方式的方法、装置和系统
US8355328B2 (en) * 2009-08-27 2013-01-15 Broadcom Corporation Dynamic load balancing
CN103401801A (zh) * 2013-08-07 2013-11-20 盛科网络(苏州)有限公司 动态负载均衡的实现方法及装置
US8769148B1 (en) * 2010-07-30 2014-07-01 Google Inc. Traffic distribution over multiple paths in a network
CN105049262A (zh) * 2015-08-24 2015-11-11 中国联合网络通信集团有限公司 调整端口流量负载的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206861B1 (en) * 2002-07-29 2007-04-17 Juniper Networks, Inc. Network traffic distribution across parallel paths
WO2009138745A1 (en) * 2008-05-15 2009-11-19 Gnodal Limited A method of data delivery across a network
CN102282810A (zh) * 2009-01-19 2011-12-14 惠普开发有限公司 负载平衡
US8355328B2 (en) * 2009-08-27 2013-01-15 Broadcom Corporation Dynamic load balancing
US8769148B1 (en) * 2010-07-30 2014-07-01 Google Inc. Traffic distribution over multiple paths in a network
CN102447619A (zh) * 2011-11-10 2012-05-09 华为技术有限公司 选择负载分担方式的方法、装置和系统
CN103401801A (zh) * 2013-08-07 2013-11-20 盛科网络(苏州)有限公司 动态负载均衡的实现方法及装置
CN105049262A (zh) * 2015-08-24 2015-11-11 中国联合网络通信集团有限公司 调整端口流量负载的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831388A (zh) * 2017-11-23 2019-05-31 中国电信股份有限公司 用于优化流量负载均衡的方法和装置

Also Published As

Publication number Publication date
CN106656812B (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
US20150334002A1 (en) Techniques for end-to-end network bandwidth optimization using software defined networking
WO2015101237A1 (en) Methods, devices, and systems for allocating service nodes in a network
CN106101232A (zh) 负载均衡方法及装置
CN106657191B (zh) 一种负载均衡方法及相关装置、系统
CN109146447A (zh) 区块链透明分片方法、装置及系统
CN113132249A (zh) 一种负载均衡方法和设备
EP3094056B1 (en) Data switching system, method for sending data traffic, and switching apparatus
CN103825837A (zh) 一种节点负载的分布式cdn全局调度的方法
van der Boor et al. Load balancing in large-scale systems with multiple dispatchers
CN104486236B (zh) 负载分担的方法和路由设备
CN107181682B (zh) 计算网络端到端的接入能力的方法和装置
CN113032096A (zh) 一种基于节点重要性与用户需求双感知的sfc映射方法
CN115529316A (zh) 一种基于云计算中心网络架构的微服务部署方法
CN106656812A (zh) 映射表的构建方法、分流设备的分流方法及相应装置
CN105471770B (zh) 一种基于多核处理器的报文处理方法及装置
CN109412976B (zh) 数据传输方法、装置、系统、服务器、电子设备及介质
CN107113323A (zh) 一种数据存储方法、装置和系统
CN113965616B (zh) 一种基于vnf资源改变矩阵的sfc映射方法
WO2015143981A1 (zh) 一种报文转发方法、系统及装置
CN111181803B (zh) 一种区块链性能度量方法和系统、设备及存储介质
CN106209672B (zh) 一种网络负载均衡的方法及系统
JP2019121333A (ja) データダイナミックマイグレーション方法とデータダイナミックマイグレーション装置
CN106912066B (zh) 一种关键绩效指标的计算方法及装置
Guan et al. Multidimensional resource fragmentation-aware virtual network embedding for IoT applications in MEC networks
Alyatama Adaptive spectrum allocation algorithm for elastic optical networks with multicasting

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Construction method of mapping table, shunting method of shunting equipment and corresponding device

Effective date of registration: 20220105

Granted publication date: 20200602

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: Y2022990000005

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220712

Granted publication date: 20200602

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: Y2022990000005

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Construction method of mapping table, diversion method of diversion device and corresponding device

Effective date of registration: 20220907

Granted publication date: 20200602

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: Y2022110000206

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20200602

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: Y2022110000206