本申请涉及数据处理,具体涉及一种数据分流方法及装置。
背景技术:
1、随着网络越来越普及,应用越来越多,网络流量也大幅增加,因此需要高性能网络安全设备支撑网络安全。相关技术中,通常是以多板技术增大单点网络设备处理能力,以集群方式增大系统处理能力,利用集群来对数据流进行分流,以应对网络需求。
2、通常的,一个集群中包括多台网络设备,每台网络设备包括一个分流板和一个或多个业务板,每个业务板包含多个处理单元(cpu)。分流板在接收到数据流后,对数据流中的数据报文进行分流,以将数据分流到各业务板的处理单元。而在进行某一数据流的数据分流时,由于数据流中传输的数据报文可能会产生分片的情况,如在以太网环境中可传输的最大报文为1500字节,而当传输的数据报文大于1500字节时,需要对该数据报文进行分片后,才能进行传输。因此,在进行数据分流时,同一数据流中的数据报文,可能会被分流到不同业务板的不同处理单元,这导致处理单元中可能出现数据重组出错。因此,如何确保同一的数据流中的数据报文在同一处理单元中进行处理,避免数据重组出错,是当前急需解决的技术问题。
技术实现思路
1、本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种数据分流方法,能够确保同一数据流中的数据在同一处理单元中进行处理,避免数据重组出错。
2、本申请还提出一种数据分流装置。
3、本申请还提出一种电子设备。
4、本申请还提出一种计算机可读存储介质。
5、根据本申请第一方面实施例的数据分流方法,应用于设备集群中的任一网络设备,包括:
6、根据对获取到的数据流的多元组进行hash运算得到的运算结果,从所述设备集群的各业务板中,确定接收所述数据流的目标业务板;
7、将所述目标业务板的各处理单元的单元标识,与所述数据流中任一数据报文的报文标识进行匹配,确定各所述处理单元中接收所述数据报文的目标处理单元,以将所述数据报文分流至所述目标处理单元;
8、其中,所述数据报文的报文标识由所述数据报文的多元组进行hash运算后确定。
9、本申请实施例提供的数据分流方法,通过对数据流的多元组进行hash运算,以从多个业务板中,确定接收数据流的目标业务板,以确保同一数据流被分流至同一业务板后,再将目标业务板的各处理单元的单元标识,与根据数据流中数据报文的五元组获取到的报文标识进行匹配,确定用于接收数据报文的目标处理单元,以将数据报文分流至该目标处理单元,从而确保同一数据流的数据报文被分流至同一业务板的同一处理单元中进行处理,进而避免数据重组出错。
10、根据本申请的一个实施例,根据对获取到的数据流的多元组进行hash运算得到的运算结果,从所述设备集群的各业务板中,确定接收所述数据流的目标业务板,包括:
11、对获取到的数据流的多元组进行hash运算,获取第一hash值;
12、根据所述第一hash值,从各所述业务板的业务板标识中,确定与所述第一hash值对应的目标业务板标识,以根据所述目标业务板标识,确定接收所述数据流的目标业务板。
13、根据本申请的一个实施例,根据所述第一hash值,从各业务板的业务板标识中,确定与所述第一hash值对应的目标业务板标识,包括:
14、根据所述第一hash值,确定分流标识;
15、从各所述业务板标识中,将与所述分流标识相匹配的所述业务板标识确定为所述目标业务板标识;
16、其中,所述分流标识为所述第一hash值除以第一预设值得到的余数;
17、所述第一预设值根据各所述业务板的数量确定。
18、根据本申请的一个实施例,根据所述目标业务板标识,确定接收所述数据流的目标业务板,包括:
19、所述目标业务板标识为预设标识,确定所述目标业务板为所述网络设备的本地业务板;
20、其中,所述预设标识为1。
21、根据本申请的一个实施例,各所述业务板的业务板标识根据各所述业务板的物理标识码的大小排序确定。
22、根据本申请的一个实施例,还包括:
23、在所述目标业务板中,对所述数据报文的多元组进行hash运算,获取第二hash值;
24、根据所述第二hash值除以第二预设值得到的余数,确定所述数据报文的报文标识;
25、其中,所述第二预设值根据各所述处理单元的数量确定。
26、根据本申请的一个实施例,所述多元组包括源ip地址、目的ip地址、源端口、目的端口以及协议号。
27、根据本申请第二方面实施例的数据分流装置,应用于设备集群中的任一网络设备,包括:
28、第一分流模块,用于根据对获取到的数据流的多元组进行hash运算得到的运算结果,从所述设备集群的各业务板中,确定接收所述数据流的目标业务板;
29、第二分流模块,用于将所述目标业务板的各处理单元的单元标识,与所述数据流中任一数据报文的报文标识进行匹配,确定各所述处理单元中接收所述数据报文的目标处理单元,以将所述数据报文分流至所述目标处理单元;
30、其中,所述数据报文的报文标识由所述数据报文的多元组进行hash运算后确定。
31、根据本申请第三方面实施例的电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的数据分流方法。
32、根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的数据分流方法。
33、根据本申请第五方面实施例的计算机程序产品,包括:所述计算机程序被处理器执行时实现如上述任一实施例所述的数据分流方法。
34、本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
35、通过对数据流的多元组进行hash运算,以从多个业务板中,确定接收数据流的目标业务板,以确保同一数据流被分流至同一业务板后,再将目标业务板的各处理单元的单元标识,与根据数据流中数据报文的五元组获取到的报文标识进行匹配,确定用于接收数据报文的目标处理单元,以将数据报文分流至该目标处理单元,从而确保同一数据流的数据报文被分流至同一业务板的同一处理单元中进行处理,进而避免数据重组出错。
1.一种数据分流方法,其特征在于,应用于设备集群中的任一网络设备,包括:
2.根据权利要求1所述的数据分流方法,其特征在于,根据对获取到的数据流的多元组进行hash运算得到的运算结果,从所述设备集群的各业务板中,确定接收所述数据流的目标业务板,包括:
3.根据权利要求2所述的数据分流方法,其特征在于,根据所述第一hash值,从各业务板的业务板标识中,确定与所述第一hash值对应的目标业务板标识,包括:
4.根据权利要求2所述的数据分流方法,其特征在于,根据所述目标业务板标识,确定接收所述数据流的目标业务板,包括:
5.根据权利要求2-4任意一项所述的数据分流方法,其特征在于,各所述业务板的业务板标识根据各所述业务板的物理标识码的大小排序确定。
6.根据权利要求1所述的数据分流方法,其特征在于,还包括:
7.根据权利要求1或6所述的数据分流方法,其特征在于,所述多元组包括源ip地址、目的ip地址、源端口、目的端口以及协议号。
8.一种数据分流装置,其特征在于,应用于设备集群中的任一网络设备,包括:
9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据分流方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的数据分流方法。