一种数据分流方法、系统、电子设备及存储介质与流程

阅读: 评论:0



1.本发明涉及数据处理技术领域,尤其涉及一种数据分流方法、系统、电子设备及存储介质。


背景技术:



2.在数据处理过程中,尤其是大数据中心场景中,往往涉及数据节点的变化。
3.随着数据量的日益增加,数据节点需要及时进行扩容,而在数据节点扩容时不对所有数据节点进行负荷均衡分流处理,很容易造成多个数据节点对同一网卡的流量抢占,造成流量分配不均衡。特别地,对部分数据节点造成较强的数据流量冲击,容易造成数据节点故障,当多个数据节点负荷的流量不均衡情况下,可能会造成单个数据节点性能下降,无法处理大流量的用户数据,对用户使用网络的质量造成影响。
4.因此,有必要提出针对数据节点扩容时,对多个数据节点的数据流量进行分流的方法。


技术实现要素:



5.本发明提供一种数据分流方法、系统、电子设备及存储介质,用以解决现有技术中针对数据节点扩容时无法均衡处理流量分配的缺陷。
6.第一方面,本发明提供一种数据分流方法,包括:
7.触发数据节点扩容,确定增加扩容数据节点;
8.获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;
9.其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。
10.根据本发明提供的一种数据分流方法,所述触发数据节点扩容,确定增加扩容数据节点,包括:
11.若确定数据流量大于预设扩容阈值,则触发所述数据节点扩容;
12.基于所述原始数据节点增加所述扩容数据节点。
13.根据本发明提供的一种数据分流方法,所述触发数据节点扩容,确定增加扩容数据节点之后,还包括:
14.向所述扩容数据节点同步数据库用户信息,所述扩容数据节点通过所述数据库用户信息与所述原始数据节点共享用户会话信息。
15.根据本发明提供的一种数据分流方法,所述获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点之前,还包括:
16.确定vpp基于内层目的ip地址与网卡的哈希匹配关系,形成所述vpp数据分流匹配规则。
17.根据本发明提供的一种数据分流方法,所述获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点,包括:
18.待所述gtp报文进入vpp时,获取内层目的ip地址确定与任一数据节点中网卡的哈希匹配关系;
19.基于所述哈希匹配关系,确定将所述gtp报文发送至所述任一数据节点。
20.第二方面,本发明还提供一种数据分流系统,包括:
21.扩容模块,用于触发数据节点扩容,确定增加扩容数据节点;
22.分流模块,用于获取gtp报文,根据vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;
23.其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。
24.根据本发明提供的一种数据分流系统,还包括:
25.同步模块,用于向所述扩容数据节点同步数据库用户信息,所述扩容数据节点通过所述数据库用户信息与所述原始数据节点共享用户会话信息。
26.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据分流方法。
27.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据分流方法。
28.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据分流方法。
29.本发明提供的数据分流方法、系统、电子设备及存储介质,在数据节点进行扩容时,通过vpp数据分流匹配规则将gtp报文均衡分流至多个数据节点上,解决了现有的gtp数据流量无法均匀分配到新扩容数据节点上的问题,避免部分数据节点流量拥塞。
附图说明
30.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本发明提供的数据分流方法的流程示意图;
32.图2是本发明提供的数据分流的网络结构示意图;
33.图3是本发明提供的数据分流系统的结构示意图;
34.图4是本发明提供的电子设备的结构示意图。
具体实施方式
35.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.下面结合图1-图4描述本发明的数据分流方法、系统、电子设备及存储介质。
37.针对目前在数据节点扩容时,存在数据流量分配不均匀的问题,本发明提出一种
在矢量数据包处理(vector packet processing,vpp)架构下的数据分流方法,对gprs隧道协议(gprs tunneling protocol,gtp)报文内层ip分流进行处理。
38.图1是本发明提供的数据分流方法的流程示意图,如图1所示,包括:
39.步骤100:触发数据节点扩容,确定增加扩容数据节点;
40.步骤200:获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;
41.其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。
42.具体地,当满足一定的触发条件时,集中将触发数据节点进行扩容,增加一定数量的扩容数据节点。
43.待集有新的gtp报文输入时,系统将根据设定的vpp数据分流匹配规则,将gtp报文分流至多个数据节点进行分流,此处的多个数据节点包括原集中的原始数据节点,以及扩容数据节点。将gtp报文分流后,数据流不会在部分数据节点上产生流量拥堵。
44.此处的gtp是一组基于ip的高层协议,位于tcp/ip或udp/ip等协议上,主要用于在gsm和umts和lte网络以及5g网络中支持通用分组无线服务(gprs)的通讯协议。
45.vpp平台是一个可扩展的框架,可提供开箱即用的生产质量交换机/路由器功能,是思科矢量数据包处理技术的开源版本:一种高性能的数据包处理堆栈,可以在商用cpu上运行。vpp也是一个快速的、可扩展的2-4层多平台网络协议栈,运行在多个linux用户空间中,主要架构包括x86、arm和power架构,支持与openstack和kubernetes的集成,网络管理功能包括配置、计数器、抽样等。对于开发人员,vpp包括高性能事件日志记录和多种类型的包跟踪,开发调试映像包括完整的符号表和广泛的一致性检查。vpp的用例包括交换机、路由器、网关、防火墙和负载平衡器等等。
46.vpp使用矢量处理而不是标量处理。标量数据包处理是指一次处理一个数据包。这种较旧的传统方法需要处理中断,并遍历调用堆栈。然后,该过程将执行以下三项操作之一:平移,丢弃或重写/转发数据包。相比之下,矢量处理一次处理一个以上的数据包。
47.本发明针对数据节点在处理流量或用户数达到一定数值时,数据节点设备随着对服务器资源的消耗造成资源不足,从而导致丢包或流程处理慢等情况出现,所以数据节点需要具备扩容的能力,当数据节点扩容后,如果数据不经过统一的规划分流,仍向原数据节点发送,原数据节点压力并未得到缓解,依然会存在丢包或延时等问题。本发明通过提出的数据分流方法,有效解决了数据节点扩容后,gtp数据流量无法均匀分配到新扩容的数据节点上的问题。
48.在上述实施例的基础上,所述触发数据节点扩容,确定增加扩容数据节点,包括:
49.若确定数据流量大于预设扩容阈值,则触发所述数据节点扩容;
50.基于所述原始数据节点增加所述扩容数据节点。
51.可选地,对于本发明中设定的数据集中数据节点扩容的触发条件,可以设定为数据流量超过某一个设定的扩容阈值,一旦集中判断数据流量大于该扩容阈值,则启动数据节点扩容。
52.在集中现有的原始数据节点基础上,增加扩容数据节点。
53.可以理解的是,本发明在设定扩容阈值时,不局限于采用数据流量维度,也可采用其它维度,例如cpu负荷、消息请求次数等,也可采用将其中一种或多种判断指标进行组合,
本发明对此不作任何限制。
54.本发明采用设定数据节点扩容阈值,使得集中在满足一定触发条件下才启用数据节点扩容,便于系统在合适的时机启用数据流量均衡处理的方法。
55.在上述实施例的基础上,所述触发数据节点扩容,确定增加扩容数据节点之后,还包括:
56.向所述扩容数据节点同步数据库用户信息,所述扩容数据节点通过所述数据库用户信息与所述原始数据节点共享用户会话信息。
57.可选地,当系统启动数据节点扩容后,如图2所示,本发明引入数据库database,该数据库用于存储各数据节点的用户信息,通过该数据库存储的用户信息,扩容数据节点会同步数据库用户信息,使得扩容数据节点能与原始数据节点共享用户会话信息。
58.在图2中,data node1为原始数据节点,data node2为扩容数据节点,data node2通过数据库database同步data node1的用户信息,因此,data node2可共享data node1的用户会话信息。
59.可以理解的是,在集内设置一个数据库,通过存储各数据节点的用户信息,当有新增的扩容数据节点时,直接从该数据库同步已有的原始数据节点的用户信息即可,无需对扩容数据节点重新进行数据配置。
60.本发明通过在集中设置数据库存储数据节点用户信息,实现扩容数据节点的快速信息同步,提高了部署扩容数据节点的效率。
61.在上述实施例的基础上,所述获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点之前,还包括:
62.确定vpp基于内层目的ip地址与网卡的哈希匹配关系,形成所述vpp数据分流匹配规则。
63.具体地,为实现gtp报文均衡负载分配至不同的数据节点,本发明设置了vpp数据分流匹配规则,该vpp数据分流匹配规则即设置vpp针对gtp报文根据内层目的ip进行与网卡的哈希匹配规则。
64.需要说明的是,ip哈希处理中,针对虚拟交换机,可根据每个数据包的源和目标ip地址选择虚拟机的上行链路。要计算虚拟机的上行链路,虚拟交换机会获取数据包中源和目标ip地址的最后一个八位字节并对其执行xor运算,然后根据网卡组中的上行链路数将所得的结果用于另一个计算。结果是一个介于0和组中上行链路数减一之间的数字。例如,如果网卡组有四个上行链路,则结果是一个介于0和3之间的数字,因为每个数字与组中的一个网卡相关联。对于非ip数据包,虚拟交换机会从ip地址所在的帧或数据包中提取两个32位二进制值。任何虚拟机都可根据源和目标ip地址使用网卡组中的任何上行链路。因此,每台虚拟机都可以使用网卡组中任何上行链路的带宽。如果虚拟机在包含大量独立虚拟机的环境中运行,则ip哈希算法可在组中的网卡之间均匀地分布流量。当虚拟机与多个目标ip地址通信时,虚拟交换机可为每个目标ip生成不同的哈希。因此,数据包可以使用虚拟交换机上的不同上行链路,从而可能实现更高的吞吐量。但是,如果环境中包含的ip地址较少,则虚拟交换机可能会始终通过组中的一个上行链路传递流量。例如,如果一个应用程序服务器访问一个数据库服务器,则虚拟交换机会始终计算同一个上行链路,因为只存在一个源-目标对。
65.针对物理交换机配置,即具体到数据节点的网卡,要确保ip哈希负载平衡运行正常,必须在物理交换机上配置以太通道。以太通道可以将多个网络适配器合并到单条逻辑链路中。如果将多个端口绑定到一个以太通道,则每次物理交换机接收不同端口上同一虚拟机mac地址发出的数据包时,该交换机会正确更新其内容可寻址内存(cam)表。例如,如果物理交换机在端口01和02上收到mac地址a发出的数据包,则该交换机会在其cam表中创建01-a和02-a条目。因此,物理交换机会将入站流量分布到正确的端口。如果没有以太通道,则物理交换机会首先记录下在端口01上收到mac地址a发出的数据包,然后将同一记录更新为在端口02上收到mac地址a发出的数据包。因此,物理交换机只会转发端口02上的入站流量,并可能导致数据包无法到达其目标以及相应的上行链路过载。
66.通过上述处理和配置,建立了gtp报文根据内层目的ip地址与网卡的哈希匹配规则。
67.本发明通过建立vpp数据分流匹配规则,使数据节点能快速分流gtp报文,达到流量负载均衡的效果。
68.在上述实施例的基础上,所述获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点,包括:
69.待所述gtp报文进入vpp时,获取内层目的ip地址确定与任一数据节点中网卡的哈希匹配关系;
70.基于所述哈希匹配关系,确定将所述gtp报文发送至所述任一数据节点。
71.具体地,在预先建立了vpp数据分流匹配规则的基础上,一旦系统识别有新增的gtp报文进入到vpp时,vpp根据内层目的ip与网卡的哈希关系,选择发送到对应的数据节点上。
72.如图2所示,当gtp报文进入vpp时,根据该vpp数据分流匹配规则,将gtp报文分别均衡至data node1和data node2,可以看出,建立了网卡nic之间的匹配关系,使数据流量自动负载到对应的数据节点。
73.本发明在数据节点处理多用户大流量的业务时,利用对gtp内层目的ip和网卡的哈希规则将流量平衡分担在多个数据节点上,解决了数据节点扩容后,gtp数据流量无法均匀分配到新扩容的数据节点上的问题。
74.下面对本发明提供的数据分流系统进行描述,下文描述的数据分流系统与上文描述的数据分流方法可相互对应参照。
75.图3是本发明提供的数据分流系统的结构示意图,如图3所示,包括:扩容模块31和分流模块32,其中:
76.扩容模块31用于触发数据节点扩容,确定增加扩容数据节点;分流模块32用于获取gtp报文,根据vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。
77.本发明在数据节点进行扩容时,通过vpp数据分流匹配规则将gtp报文均衡分流至多个数据节点上,解决了现有的gtp数据流量无法均匀分配到新扩容数据节点上的问题,避免部分数据节点流量拥塞。
78.在上述实施例的基础上,所述扩容模块31具体用于:
79.若确定数据流量大于预设扩容阈值,则触发所述数据节点扩容;
80.基于所述原始数据节点增加所述扩容数据节点。
81.本发明采用设定数据节点扩容阈值,使得集中在满足一定触发条件下才启用数据节点扩容,便于系统在合适的时机启用数据流量均衡处理的方法。
82.在上述实施例的基础上,还包括同步模块33,所述同步模块33用于向所述扩容数据节点同步数据库用户信息,所述扩容数据节点通过所述数据库用户信息与所述原始数据节点共享用户会话信息。
83.本发明通过在集中设置数据库存储数据节点用户信息,实现扩容数据节点的快速信息同步,提高了部署扩容数据节点的效率。
84.在上述实施例的基础上,还包括设置模块34,所述设置模块34用于确定vpp基于内层目的ip地址与网卡的哈希匹配关系,形成所述vpp数据分流匹配规则。
85.本发明通过建立vpp数据分流匹配规则,使数据节点能快速分流gtp报文,达到流量负载均衡的效果。
86.在上述实施例的基础上,所述分流模块32具体用于:
87.待所述gtp报文进入vpp时,获取内层目的ip地址确定与任一数据节点中网卡的哈希匹配关系;
88.基于所述哈希匹配关系,确定将所述gtp报文发送至所述任一数据节点。
89.本发明在数据节点处理多用户大流量的业务时,利用对gtp内层目的ip和网卡的哈希规则将流量平衡分担在多个数据节点上,解决了数据节点扩容后,gtp数据流量无法均匀分配到新扩容的数据节点上的问题。
90.图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行数据分流方法,该方法包括:触发数据节点扩容,确定增加扩容数据节点;获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。
91.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
92.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据分流方法,该方法包括:触发数据节点扩容,确定增加扩容数据节点;获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;其中,所述多个数据节点包括原始数据节
点和所述扩容数据节点。
93.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据分流方法,该方法包括:触发数据节点扩容,确定增加扩容数据节点;获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。
94.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
95.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
96.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:


1.一种数据分流方法,其特征在于,包括:触发数据节点扩容,确定增加扩容数据节点;获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。2.根据权利要求1所述的数据分流方法,其特征在于,所述触发数据节点扩容,确定增加扩容数据节点,包括:若确定数据流量大于预设扩容阈值,则触发所述数据节点扩容;基于所述原始数据节点增加所述扩容数据节点。3.根据权利要求1所述的数据分流方法,其特征在于,所述触发数据节点扩容,确定增加扩容数据节点之后,还包括:向所述扩容数据节点同步数据库用户信息,所述扩容数据节点通过所述数据库用户信息与所述原始数据节点共享用户会话信息。4.根据权利要求1所述的数据分流方法,其特征在于,所述获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点之前,还包括:确定vpp基于内层目的ip地址与网卡的哈希匹配关系,形成所述vpp数据分流匹配规则。5.根据权利要求1所述的数据分流方法,其特征在于,所述获取gprs隧道协议gtp报文,根据矢量数据包处理vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点,包括:待所述gtp报文进入vpp时,获取内层目的ip地址确定与任一数据节点中网卡的哈希匹配关系;基于所述哈希匹配关系,确定将所述gtp报文发送至所述任一数据节点。6.一种数据分流系统,其特征在于,包括:扩容模块,用于触发数据节点扩容,确定增加扩容数据节点;分流模块,用于获取gtp报文,根据vpp数据分流匹配规则将所述gtp报文均衡分配至多个数据节点;其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。7.根据权利要求6所述的数据分流系统,其特征在于,还包括:同步模块,用于向所述扩容数据节点同步数据库用户信息,所述扩容数据节点通过所述数据库用户信息与所述原始数据节点共享用户会话信息。8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述数据分流方法。9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据分流方法。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据分流方法。

技术总结


本发明提供一种数据分流方法、系统、电子设备及存储介质,属于数据处理技术领域,包括:触发数据节点扩容,确定增加扩容数据节点;获取GPRS隧道协议GTP报文,根据矢量数据包处理VPP数据分流匹配规则将所述GTP报文均衡分配至多个数据节点;其中,所述多个数据节点包括原始数据节点和所述扩容数据节点。本发明在数据节点进行扩容时,通过VPP数据分流匹配规则将GTP报文均衡分流至多个数据节点上,解决了现有的GTP数据流量无法均匀分配到新扩容数据节点上的问题,避免部分数据节点流量拥塞。避免部分数据节点流量拥塞。避免部分数据节点流量拥塞。


技术研发人员:

郄海亮

受保护的技术使用者:

浪潮通信技术有限公司

技术研发日:

2022.07.26

技术公布日:

2022/12/16

本文发布于:2022-12-20 11:06:58,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/39316.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   数据   所述   报文
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图