数据流转发方法、装置、电子设备及存储介质与流程

allin2024-04-22  17



1.本技术涉及通信技术,尤其涉及一种数据流转发方法、装置、电子设备及存储介质。


背景技术:

2.用户面网元用于用户业务数据的路由和转发,称为流量转发。随着第五代移动通信技术的发展,业务数据的数量和数据量逐渐增多,业务数据可以按照数据量大小和生存周期分为数据量小且生存周期短的老鼠流(小流)和数据量大且生存周期长的大象流(大流)。网络中大约80%的业务数据为老鼠流,10%的业务数据为大象流。
3.现有技术中,在并发多个流量转发需求时,存在以下两种方法。第一种方法,用户面网元按照时间序列转发多个流量。在出口端的队列中,如果大象流过多,流量转发队列拥塞,会造成排在大象流后面的老鼠流队列时延增加,甚至导致时延敏感型业务的老鼠流丢包。第二种方法,通过识别出老鼠流和大象流,使用户面网元优先转发老鼠流,如果老鼠流过多,流量转发队列拥塞,会导致大象流队列延迟,无法满足部分业务数据大流量低时延的转发需求。
4.因此,现有技术中,用户面网元在流量转发时,存在大象流和老鼠流在转发队列中拥塞、转发效率低的问题。


技术实现要素:

5.本技术提供一种数据流转发方法、装置、电子设备及存储介质,用以解决流量转发时大象流和老鼠流在转发队列中拥塞、转发效率低问题。
6.根据本技术的第一方面,提供一种数据流转发方法,包括:
7.采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;
8.获取转发队列中目标数据流的总规模值,所述转发队列中包括至少两个目标数据流;
9.判断所述总规模值是否小于第一预设规模值;
10.若确定所述总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。
11.根据本技术的第二方面,提供一种数据流转发装置,包括:
12.拆分模块,用于采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;
13.获取模块,用于获取转发队列中目标数据流的总规模值,所述转发队列中包括至少一个目标数据流;
14.判断模块,用于判断所述总规模值是否小于第一预设规模值;
15.确定模块,若确定所述总规模值大于或等于第一预设规模值,则用于采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。
16.根据本技术的第三方面,提供一种电子设备,包括:存储器,处理器及收发器;
17.所述存储器,所述处理器及所述收发器电路互联;
18.所述存储器存储计算机执行指令;
19.所述收发器用于收发数据;
20.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中所述的方法。
21.根据本技术的第四方面,提供一种存储有计算机执行指令的计算机可读存储介质,所述计算机执行指令被处理器执行时用于实现如第一方面中所述的方法。
22.本技术提供的数据流转发方法、装置、电子设备及存储介质,通过采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;获取转发队列中目标数据流的总规模值,所述转发队列中包括至少两个目标数据流;判断所述总规模值是否小于第一预设规模值;若确定所述总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。由于在转发队列中目标数据流的总规模值大于或等于第一预设规模值,如果转发队列中既存在大象流也存在老鼠流,大象流和老鼠流在转发时会发生拥塞,转发效率低;如果转发队列中只存在老鼠流,那么新加入转发队列的大象流与老鼠流发生拥塞,导致新加入转发队列的大象流队列延迟,转发效率低,无法满足部分业务数据大流量低时延的转发需求;如果转发队列中只存在大象流,那么新加入转发队列的老鼠流与大象流发生拥塞,导致新加入转发队列的老鼠流可能丢包,转发效率低。所以,根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发,大流量处理虚拟网元和小流量处理虚拟网元可以同时对规模等级不同的目标数据流进行转发,能够避免大象流排在老鼠流后方而老鼠流过多造成的大象流队列时延增加,同时能够避免老鼠流排大象流后方而大象流转发时间过长造成的老鼠流队列时延增加,进而,有效避免了大象流和老鼠流在转发队列中发生拥塞的问题,提高了数据流的转发效率。
附图说明
23.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
24.图1是本技术实施例提供的一种应用场景对应的网络架构图;
25.图2是根据本技术第一实施例提供的数据流转发方法流程示意图;
26.图3是根据本技术第二实施例提供的数据流转发方法流程示意图;
27.图4是根据本技术第三实施例提供的数据流转发方法流程示意图;
28.图5是根据本技术第四实施例提供的数据流转发方法流程示意图;
29.图6是根据本技术第五实施例提供的数据流转发方法流程示意图;
30.图7是根据本技术第六实施例提供的数据流转发方法流程示意图;
31.图8是根据本技术第九实施例提供的数据流转发装置结构示意图;
32.图9是根据本技术第十实施例提供的电子设备框图。
33.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
34.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所述的、本技术的一些方面相一致的装置和方法的例子。
35.首先对本技术所涉及的名词进行解释:
36.用户面网元,即用户面功能(user plane function)网元,简称upf,是核心网的重要组成部分,主要负责用户面数据包的路由和转发(即流量转发)相关功能。
37.数据流,由多个有序的数据包组成。在传输过程中,数据流的多个数据包可能是分成多次传输的。
38.pci,peripheral component interconnection,即周边元件扩展接口,pci设备至插在pci接口上的设备。
39.为了清楚理解本技术的技术方案,首先对现有技术的技术方案进行详细介绍。
40.随着第五代移动通信技术的发展、虚拟现实技术、增强现实技术等技术的普及,用户业务数据的数量和数据量逐渐增多,为保证用户的网络体验,对于用户面网元的性能要求也越来越高。用户业务数据可以按照数据流的数据量大小和生存周期划分为老鼠流(小流量)和大象流(大流)。老鼠流的数据量小且生存周期短,大象流的数据量大且生存周期长。
41.现有技术中,在并发多个数据流转发需求时,存在以下两种方法。
42.第一种方法,用户面网元按照多个数据流转发需求的触发时间进行转发,优先转发触发时间早的数据流,这时,在出口端的队列中,触发时间早的数据流排在出口端队列的前方。如果大象流过多且排在老鼠流的前方,流量转发队列拥塞,排在大象流后方的老鼠流的队列时延增加,不仅转发效率低,甚至有可能导致时延敏感型业务的老鼠流丢包。
43.第二种方法,同时识别出各数据流为老鼠流或大象流,使用户面网元优先转发老鼠流,这时,如果老鼠流过多,流量转发队列同样会发生拥塞,导致大象流的队列时延增加,可能无法满足部分业务数据大流量低时延的转发需求,转发效率低。
44.同时,现有技术中还存在增加硬件配置和通过虚拟化技术提升网卡性能的方法。增加硬件配置时配置额外的网络处理器(network processor)卡,从硬件能力上提升用户面网元的转发带宽,这会增加用户面网元的硬件成本。通过虚拟化技术提升网卡的转发性能一般是采用单根虚拟化技术(即single-root i/o virtualization),将直通网卡虚拟出的pci设备直接挂载到虚拟机来提升数据转发带宽。增加硬件配置和通过虚拟化技术提升网卡性能都是通过提升转发带宽的方法来提升转发效率,并不能解决大象流和老鼠流在转发队列中拥塞、转发效率低的问题。
45.因此,现有技术中,用户面网元在进行数据流转发时,存在大象流和老鼠流在转发队列中拥塞、转发效率低的问题。
46.所以,在面对现有技术中的问题时,发明人通过创造性研究发现,提出本技术的技术方案,旨在解决现有技术的如上问题。为了能够避免大象流和老鼠流在转发队列中拥塞、转发效率低的问题,需要采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元,再根据转发队列中需要转发的数据流的总规模值,来确定是否需要将大象流和老鼠流分别进行转发,以避免大象流和老鼠流在转发队列中拥塞,进而提高转发效率。因此,发明人通过采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;获取转发队列中目标数据流的总规模值,转发队列中包括至少两个目标数据流;判断总规模值是否小于第一预设规模值;若确定总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。由于在转发队列中目标数据流的总规模值大于或等于第一预设规模值,如果转发队列中既存在大象流也存在老鼠流,大象流和老鼠流在转发时会发生拥塞,转发效率低;如果转发队列中只存在老鼠流,那么新加入转发队列的大象流与老鼠流发生拥塞,导致新加入转发队列的大象流队列延迟,转发效率低,无法满足部分业务数据大流量低时延的转发需求;如果转发队列中只存在大象流,那么新加入转发队列的老鼠流与大象流发生拥塞,导致新加入转发队列的老鼠流可能丢包,转发效率低。所以,根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发,大流量处理虚拟网元和小流量处理虚拟网元可以同时对规模等级不同的目标数据流进行转发,能够避免大象流排在老鼠流后方而老鼠流过多造成的大象流队列时延增加,同时能够避免老鼠流排大象流后方而大象流转发时间过长造成的老鼠流队列时延增加,有效避免了大象流和老鼠流在转发队列中发生拥塞的问题,提高了数据流的转发效率。
47.本技术提供的数据流转发方法、装置、设备及存储介质,旨在解决现有技术中的如上技术问题。
48.下面对本技术实施例提供的数据流转发方法的网络架构进行介绍。
49.图1是本技术实施例提供的一种应用场景对应的网络架构图,如图1所示,本技术实施例提供的数据流转发方法对应的网络架构中包括:终端设备11、电子设备12、服务器13。
50.终端设备11触发数据流转发请求,并通过接入网将目标数据流发送给电子设备12。电子设备12将目标数据流存储在转发队列中并进行转发,例如,通过承载网转发到服务器13。或者,服务器13触发数据流转发请求,并通过承载网将目标数据流发送给电子设备12。电子设备12将目标数据流存储在转发队列中并进行转发,例如,通过接入网转发到终端设备11。电子设备12可以是用户面网元设备。
51.在一种应用场景中,采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元。用户面网元设备接收终端设备11发送的目标数据流并存储在转发队列中。电子设备12获取转发队列中目标数据流的总规模值,转发队列中包括至少两个目标数据流;判断总规模值是否小于第一预设规模值;若确定总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级
确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发;将各目标数据流采用大流量处理虚拟网元转发或小流量处理虚拟网元转发至服务器13。
52.需要说明的是,图1所示的网络架构可以适用于不同的网络制式,例如,可以适用于全球移动通讯(global system of mobile communication,简称gsm)、码分多址(code division multiple access,简称cdma)、宽带码分多址(wideband code division multiple access,简称wcdma)、时分同步码分多址(time division-synchronous code division multiple access,简称td-scdma)、长期演进(long term evolution,简称lte)系统及5g等网络制式。可选的,上述通信系统可以为5g通信系统中高可靠低时延通信(ultra-reliable and low latency communications,urllc)传输的场景中的系统。
53.上述终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,简称ran)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(personal communication service,简称pcs)电话、无绳电话、会话发起协议(session initiation protocol,简称sip)话机、无线本地环路(wireless local loop,简称wll)站、个人数字助理(personal digital assistant,简称pda)等设备。无线终端也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
54.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不在赘述。
55.实施例一
56.图2是根据本技术第一实施例提供的数据流转发方法流程示意图,如图2所示,本技术的执行主体为数据流转发装置,该数据流转发装置位于电子设备中。本实施例提供的数据流转发方法包括步骤201至步骤204。
57.步骤201,采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元。
58.本实施例中,可以采用单根虚拟化技术(single-root i/o virtualization),借助直通网卡虚拟出的pci设备(外围部件互连设备)将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元,按照类似于租户的形式,将用户面网元的带宽、虚拟机/容器等资源进行隔离,并分配给小流量处理虚拟网元和大流量处理虚拟网元。小流量处理虚拟网元和大流量处理虚拟网元占用用户面网元硬件资源的比例可以预先设置。例如,预先设置小流量处理虚拟网元占用用户面网元硬件资源的60%,大流量处理虚拟网元占用用户面网元硬件资源的40%。
59.步骤202,获取转发队列中目标数据流的总规模值,转发队列中包括至少两个目标数据流。
60.本实施例中,由于转发队列本质上是一个存储空间,因此,可以通过直接获取存储空间的使用情况来获取转发队列中目标数据流的总规模值。或者,可以通过依次确定各目标数据流的规模值,再将各目标数据流的规模值进行求和,以获取转发队列中目标数据流的总规模值。
61.步骤203,判断总规模值是否小于第一预设规模值。
62.具体地,将转发队列中目标数据流的总规模与第一预设规模值进行比较,以判断总规模值是否小于第一预设规模值。第一预设规模值需小于转发队列所能够容纳的数据量,可以为转发队列所能容纳的数据量的预定比值,例如30%、40%。第一预设规模值可以是用户面网元或用户面网元的小流处理虚拟网元在预设时间段内能够转发的规模值。
63.步骤204,若确定总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。
64.本实施例中,目标数据流的规模等级至少包括第一规模等级和第二规模等级,可以通过常用的流检测算法,在接收终端设备发送的数据流时,确定出各目标数据流的规模值(或称,数据量、流量),在根据各目标数据流的规模值确定各目标数据流的规模等级。示例性地,可以将规模值小于第二预设规模值的目标数据流的规模等级确定为第二规模等级,将规模值大于第二预设规模值的目标数据流的规模等级确定为第一规模等级。本实施例中,还可以通过其他方法来确定各目标数据流的规模等级,本实施例中对此不作限定。
65.本实施例中,可以将规模等级相同的目标数据流确定为采用相同的虚拟网元进行转发,示例性地,将规模等级为第一规模等级的目标数据流确定为采用大流量处理虚拟网元进行转发,将规模等级为第二规模等级的目标数据流确定为采用小流量处理虚拟网元进行转发。可以理解的是,如果目标数据流的规模等级包括第三规模等级,则可以采用大流量处理虚拟网元或小流量处理虚拟网元对第三规模等级的目标数据流进行转发。
66.本实施例提供的数据流转发方法,通过采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;获取转发队列中目标数据流的总规模值,转发队列中包括至少两个目标数据流;判断总规模值是否小于第一预设规模值;若确定总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。由于在转发队列中目标数据流的总规模值大于或等于第一预设规模值后,如果转发队列中既存在大象流也存在老鼠流,大象流和老鼠流在转发时会发生拥塞,转发效率低;如果转发队列中只存在老鼠流,那么新加入转发队列的大象流与老鼠流发生拥塞,导致新加入转发队列的大象流队列延迟,转发效率低,无法满足部分业务数据大流量低时延的转发需求;如果转发队列中只存在大象流,那么新加入转发队列的老鼠流与大象流发生拥塞,导致新加入转发队列的老鼠流可能丢包,转发效率低。所以,根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发,大流量处理虚拟网元和小流量处理虚拟网元可以同时对规模等级不同的目标数据流进行转发,因此,能够避免老鼠流过多造成的大象流队列时延增加、大象流过多造成的老鼠流队列时
延增加,进而,有效避免了大象流和老鼠流在转发队列中发生拥塞的问题,提高了数据流的转发效率。
67.实施例二
68.图3是根据本技术第二实施例提供的数据流转发方法流程示意图,如图3所示,本实施例提供的数据流转发方法在实施例一的基础上,对步骤204中采用流检测算法确定各目标数据流的规模等级进行细化,则包括步骤301至步骤302。
69.步骤301,获取各目标数据流的对应ip地址,对应ip地址包括目标数据流的源ip地址和目的ip地址。
70.本实施例中,由于目标数据流由至少一个数据包组成。目标数据流的源ip地址为目标数据流中至少一个数据包的源ip地址,目标数据流的目的ip地址为目标数据流中至少一个数据包的目的ip地址。可以理解的是,目标数据流中包括多个数据包组成时,多个数据包的源ip地址相同且目的ip地址相同。源ip地址和目的ip地址可从数据包的报头中获取。
71.步骤302,根据对应ip地址确定各目标数据流的规模等级。
72.本实施例中,目标数据流的规模等级至少可以包括第一规模等级和第二规模等级。具体地,可以获取各目标数据流的字节长度,再将对应ip地址相同的目标数据流确定为第一目标数据流组。将第一目标数据流组中各目标数据流的字节长度进行求和,以确定第一规模值。将第一规模值输入预设规模等级确定算法,采用预设规模等级确定算法输出第一规模值对应的规模等级,将第一规模值对应的规模等级确定为第一目标数据流组中各目标数据流的规模等级。可以理解的是,终端设备和服务器在连接建立后,可能会不止一次触发目标数据流转发请求,因此,电子设备接收到的目标数据流中,不同目标数据流可能接收至不同的终端设备,需要转发至不同的服务器。但对于在一个终端设备和一个服务器的通信过程中,任意数量的目标数据流都具有相同的目的ip地址和源ip地址,因此,将对应的ip地址相同的目标数据流确定为规模等级相同的目标数据流,以避免采用不同的虚拟网元转发终端设备和服务器在同一次连接中的多个目标数据流,造成硬件资源的浪费。
73.其中,预设规模等级确定算法可以通过计算在预定时间内转发第一规模值的数据所需要占用的硬件资源来确定第一规模值对应的规模等级。示例性地,若在预定时间内转发第一规模值的数据需要占用用户面网元硬件资源的比例小于10%,则将第一规模值对应的规模等级确定为第一规模等级,若在预设定时间内转发第一规模值的数据需要占用用户面网元硬件资源的比例大于或等于10%,则将第一规模值对应的规模等级确定为第二规模等级。
74.本实施例提供的数据流转发方法,通过获取各目标数据流的对应ip地址,对应ip地址包括目标数据流的源ip地址和目的ip地址;根据对应ip地址确定各目标数据流的规模等级。由于通过各目标数据流对应的ip地址确定各目标数据流的等级,因此,能够将终端设备和服务器在同一次连接中的多个目标数据流确定为规模等级相同,进而采用相同的虚拟网元进行转发,不仅能够避免大象流和老鼠流在转发队列中发生拥塞、转发效率低的问题,还能够避免硬件资源的浪费。
75.实施例三
76.图4是根据本技术第三实施例提供的数据流转发方法流程示意图,如图4所示,本实施例提供的数据流转发方法在实施例二的基础上,对步骤302进行细化,则步骤302细化
包括步骤401至步骤402。
77.步骤401,将各目标数据流的对应ip地址输入预设的哈希函数,并采用哈希函数输出对应ip地址映射到的哈希索引值。
78.本实施例中,预设的哈希函数能够对ip地址进行索引,将不同的ip地址映射的不同的哈希索引值,将相同的ip地址映射到同一个哈希索引值。
79.步骤402,根据哈希索引值和预先构建的哈希索引表确定目标数据流的规模等级。
80.本实施例中,预先构建的哈希索引表中包括哈希索引值以及与哈希索引值对应的规模等级,根据哈希索引值在哈希索引表中查询哈希索引值对应的规模等级,将哈希索引值对应的规模等级确定为目标数据流的规模等级。本实施例中,哈希索引表可以是电子设备在接收终端设备发送的目标数据流时根据目标数据流的规模值进行构建的。
81.本实施例提供的数据流转发方法,通过将各目标数据流的对应ip地址输入预设的哈希函数,并采用哈希函数输出对应ip地址映射到的哈希索引值;根据哈希索引值和预先构建的哈希索引表确定目标数据流的规模等级。由于预先构建的哈希索引表中已经存储由各目标数据流的规模等级,因此,能够快速的确定目标数据流的规模等级。
82.实施例四
83.图5是根据本技术第四实施例提供的数据流转发方法流程示意图,如图5所示,本实施例提供的数据流转发方法在步骤402之前,还包括步骤501至步骤502。
84.步骤501,获取各目标数据流的规模值。
85.本实施例中,对于只包括一个数据包的目标数据流,可以将数据包的字节长度作为目标数据流的规模值,对于包括多个数据包的目标数据流,可以将多个数据包的字节长度之和作为目标数据流的规模值。
86.步骤502,根据各目标数据流的规模值和对应ip地址构建哈希索引表。
87.本实施例中,哈希索引表包括哈希索引值和哈希索引值对应的规模等级。不同的ip地址通过同一个哈希函数与不同的哈希索引值进行映射。这里,可以将对应ip地址相同的目标数据流确定为目标数据流组,将目标数据流组中各目标数据流的字节长度进行求和,以确定数据流组规模值,进而确定数据流组中各目标数据流的规模等级,可以理解的是,目标数据流组中各目标数据流具有相同的规模等级和相同的对应ip地址。将目标数据流的ip地址映射的哈希索引值与目标数据流的规模等级相匹配,以形成哈希索引表。哈希索引表可以在电子设备接收终端设备发送的目标数据流时进行构建。
88.本实施例提供的数据流转发方法,通过获取各目标数据流的规模值;根据各目标数据流的规模值和对应ip地址构建哈希索引表。通过预先构建的哈希索引表,可以根据目标数据流的ip地址查询目标数据流的规模等级,能够实现快速确定规模等级,进而提高数据流转发速度。
89.实施例五
90.图6是根据本技术第五实施例提供的数据流转发方法流程示意图,如图6所示,本实施例提供的数据流转发方法在实施例四的基础上,对步骤502进行细化,则步骤502细化包括步骤601至步骤607。
91.步骤601,根据预设的哈希函数确定ip地址映射到的哈希索引值。
92.本实施例中,可以使用预设的哈希函数直接计算ip地址映射到的哈希索引值。
93.步骤602,将具有相同对应ip地址的目标数据流确定为目标数据流组。
94.具体地,可以依次确定各目标数据流是否具有相同的对应ip地址,将对应ip地址相同的目标数据流划分在同一目标数据流组。
95.步骤603,获取各目标数据流所属的类别数据流,类别数据流的数量至少为一个。
96.本实施例中,可以通过各目标数据流报文信息中的协议号确定目标数据流所属的类别数据流。可以理解的是,协议号相同的目标数据流属于同一类别数据流。
97.步骤604,根据目标数据流组中各目标数据流所属的类别数据流和目标数据流组中各目标数据流的规模值构建计数阵列表,计数阵列表中包括至少一个类别数据流及其规模值。
98.本实施例中,对于同一目标数据流组中的目标数据流,将所属的类别数据流相同的目标数据流的规模值进行求和,以确定目标数据流组中类别数据流的规模值。将目标数据流组中各类别数据流的规模值与各类别数据流相匹配,以形成计数阵列表。一组目标数据流组对应一个计数阵列表,不同目标数据流组对应不同计数阵列表。
99.步骤605,根据计数阵列表确定各目标数据流组的规模等级。
100.具体地,可以将计数阵列表中各类别数据流的规模值与第二预设规模值进行比较,若计数阵列表中任意一个类别数据流的规模值大于第二预设规模值,则将计数阵列表对应的目标数据流组的规模等级确定为大流。若计数阵列表各类别数据流的规模值均小于第二预设规模值,则可以将计数阵列表中各类别数据流的规模值进行求和,以确定目标数据流组规模值,再将目标数据流组规模值与第二预设规模值进行比较,以确定各目标数据流组的规模等级。若目标数据流组规模值大于第二预设规模值,则将目标数据流组的规模等级确定为大流,若目标数据流组规模值小于第二预设规模值,则将目标数据流组的规模等级确定为小流。本实施例还可以通过其他方法根据计数阵列表确定各目标数据流的规模等级,本实施例对此不作限定。
101.步骤606,将各目标数据流组的规模等级确定为目标数据流组中各目标数据流的规模等级。
102.具体地,将规模等级为大流的目标数据流组中各目标数据流的规模等级确定为大流,将规模等级为小流的目标数据流组中各目标数据流的规模等级确定为小流。
103.步骤607,将ip地址映射到的哈希索引值与各目标数据流的规模等级相匹配,以构建哈希索引表。
104.具体地,将哈希索引值与目标数据流的规模等级相匹配,以形成哈希索引表。哈希索引值为各目标数据流的对应ip地址映射到的哈希索引值。目标数据流的规模等级为上述步骤确定出的规模等级。
105.本实施提供的数据流转发方法,通过根据预设的哈希函数确定ip地址映射到的哈希索引值;将具有相同对应ip地址的目标数据流确定为目标数据流组;获取各目标数据流所属的类别数据流,类别数据流的数量至少为一个;根据目标数据流组中各目标数据流所属的类别数据流和目标数据流组中各目标数据流的规模值构建计数阵列表,计数阵列表中包括至少一个类别数据流及其规模值;根据计数阵列表确定各目标数据流组的规模等级;将各目标数据流组的规模等级确定为目标数据流组中各目标数据流的规模等级;将ip地址映射到的哈希索引值与各目标数据流的规模等级相匹配,以构建哈希索引表。由于将具有
相同对应ip地址的目标数据流确定为目标数据流组,在分组之后,可以同时确定各组目标数据流的规模等级,能够提高确定目标数据流规模等级的速度。根据各目标数据流组中各目标数据流所属的类别数据流确定各目标数据流的规模等级,不仅可以确定出目标数据流的规模等级,还能确定各组中各类别数据流的规模值。
106.作为一种可选的实施方式,在实施例五的基础上,对步骤604进行细化,则步骤604细化包括步骤6041至步骤6044。
107.步骤6041,依次确定计数阵列表中是否存在各目标数据流所属的类别数据流。
108.步骤6042,若确定计数阵列表中存在目标数据流所属的类别数据流,则将目标数据流的规模值与所属的类别数据流规模值进行求和,并将求和得到的值确定为所属的类别数据流的规模值。
109.步骤6043,若确定计数阵列表中不存在目标数据流对应的类别数据流,则将目标数据流所属的类别数据流加入计数阵列表中,并将目标数据流的规模值确定为所属的类别数据流的规模值。
110.步骤6044,将各类别数据流与其规模值相匹配,以构建计数阵列表。
111.本实施例中,计数阵列表中,类别数据流及类别数据流的规模值均初始为空,在构建计数阵列表的过程中,对于目标数据流组中任意一个目标数据流,确定计数阵列表中是否存在其所属的类别数据流。若确定存在其所属的类别数据流,则获取其所属的类别数据流的规模值,并将其所属的类别数据流的规模值与其规模值进行求和,使用求和得到的值更其所属的类别数据数据流的规模值。若确定计数阵列表中不存在其所属的类别数据流,则将在计数阵列表中新增一组类别数据流及其规模值,新增的类别数据流为目标数据流所属的类别数据流,新增的类别数据流规模值为目标数据流的规模值,以更新计数阵列表。遍历所有目标数据流,以获得目标数据流组中各目标数据流所属的类别数据流及各类别数据流的规模值。将各类别数据流与各类别数据流的规模值进行匹配,以形成计数阵列表。
112.本实施例提供的数据流转发方法,通过依次确定计数阵列表中是否存在各目标数据流所属的类别数据流;若确定计数阵列表中存在目标数据流所属的类别数据流,则将目标数据流的规模值与所属的类别数据流规模值进行求和,并将求和得到的值确定为所属的类别数据流的规模值;若确定计数阵列表中不存在目标数据流对应的类别数据流,则将目标数据流所属的类别数据流加入计数阵列表中,并将目标数据流的规模值确定为所属的类别数据流的规模值;将各类别数据流与其规模值相匹配,以构建计数阵列表。由于以所属类别数据流的规模值对目标数据流的规模值进行计算,所以能够确定同组目标数据流中各目标数据流所属类别数据流的规模值,分类记录目标数据流组中目标数据流的规模值情况,能够减小在确定目标数据流的规模值时计数阵列表的大小,节约存储资源。
113.实施例六
114.图7是根据本技术第六实施例提供的数据流转发方法流程示意图,如图7所示,本实施例提供的数据流转发方法在实施例五的基础上,对步骤605进行细化,则步骤605细化包括步骤701至步骤703。
115.步骤701,若计数阵列表中类别数据流的数量为一个,则将类别数据流的规模值确定为目标数据流的等级规模值。
116.步骤702,若计数阵列表中类别数据流的数量为多个,则将各类别数据流的规模值
的和确定为目标数据流的等级规模值。
117.步骤703,根据目标数据流的等级规模值确定目标数据流的规模等级。
118.本实施例中,可以将等级规模值相同的目标数据流确定在同一规模等级,进而,根据不同的等级规模值确定不同的规模等级。示例性地,转发队列包括第一、第二和第三目标数据流,若三个目标数据流具有不同的等级规模值,则可以将第一目标数据流的规模等级确定为第一规模等级,将第二目标数据流的规模等级确定为第二规模等级,将第三目标数据流的规模等级确定为第三规模。若第一目标数据流与第二目标数据流具有相同的等级规模值,第三目标数据流的等级规模值与第一、第二目标数据流的等级规模值不同,则可以将第一目标数据流和第二目标数据流的规模等级确定为第一规模等级,将第三目标数据流的规模等级确定为第二规模等级。
119.本实施例提供的数据流转发方法,由于若计数阵列表中类别数据流的数量为一个,则将类别数据流的规模值确定为目标数据流的等级规模值;若计数阵列表中类别数据流的数量为多个,则将各类别数据流的规模值的和确定为目标数据流的等级规模值;根据目标数据流的等级规模值确定目标数据流的规模等级。由于针对计数阵列表中类别数据流的不同情况分别确定目标数据流的等级规模值,因此,能够更快速的确定出目标数据流的等级规模值,进而更快速的确定出目标数据流的规模等级。
120.作为一种可选的实施方式,在实施例六的基础上,对步骤703进行细化,则步骤703细化包括步骤7031至步骤7033。
121.步骤7031,判断等级规模值是否小于第二预设规模值。
122.本实施例中,第二预设规模值用于确定目标数据流的规模等级,第二预设规模值可以是用户面网元在预定时间内能够转发的规模值。示例性地,目标数据流的规模等级为大流或小流,第二预设规模值为1mbps。
123.步骤7032,若确定等级规模值小于或等于第二预设规模值,则确定目标数据流的规模等级为小流。
124.步骤7033,若确定等级规模值大于第二预设规模值,则确定目标数据流的规模等级为大流。
125.具体地,继续根据上述示例进行说明,若目标数据流的等级规模值为5mbps,则确定目标数据流的规模等级为大流。若目标数据流的等级规模值为1mbps,则确定目标数据流的等级规模值为小流。
126.本实施例提供的数据流转发方法,通过判断等级规模值是否小于第二预设规模值;若确定等级规模值小于或等于第二预设规模值,则确定目标数据流的规模等级为小流;若确定等级规模值大于第二预设规模值,则确定目标数据流的规模等级为大流。由于直接比较等级规模值与第二预设规模值的大小关系,因此能够快速的确定出目标数据流的规模等级。
127.实施例七
128.本实施例提供的数据流转发方法在上述任意一个实施例的基础上,目标数据流的规模等级为大流或小流,对步骤204中,根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发进行细化,则细化包括步骤801。
129.步骤801,将规模等级为小流的目标数据流确定为采用小流量处理虚拟网元进行
转发,并将规模等级为大流的目标数据流确定为采用大流量处理虚拟网元进行转发。
130.本实施例中,可以通过步骤7031至步骤7033的方法确定各目标数据流的规模等级为大流和小流。具体地,可以同时采用大流量处理虚拟网元和小流处理虚拟网元进行流量转发,将转发队列中规模等级为小流的目标数据流采用小流量处理虚拟网元进行转发,将转发队列中规模等级为大流的目标数据流采用大流量处理虚拟网元进行转发。
131.示例性地,下表1示出了一种场景下采用本实施例提供的数据流转发方法进行流量转发和采用常规的数据流转发方法进行流量转发的分流时延对比。分流时延为各目标数据流的队列时延与用户面网元转发目标数据流时的处理时延之和。该场景下,转发队列中包括2条大流和100条小流。
132.表1不同数据流转发方法的分流时延
[0133][0134]
表1中,传统数据流转发方法的分流时延为各目标数据流的平均分流时延。其中,采用传统数据流转发方法进行转发时,规模等级为小流的目标数据流平均分流时延为18ms,部分小流的分流时延大于25ms,规模等级为大流的目标数据流平均分流时延为23ms。采用本实施例提供的数据流转发方法进行转发时,规模等级为小流的目标数据流平均分流时延为15ms,规模等级为大流的目标数据流平均分流时延为20ms。因此,本本实施例提供的数据流转发方法能够提高用户面网元的转发效率,避免转发队列中大流和小流发生拥塞。
[0135]
本实施例提供的数据流转发方法,通过将规模等级为小流的目标数据流确定为采用小流量处理虚拟网元进行转发,并将规模等级为大流的目标数据流确定为采用大流量处理虚拟网元进行转发。由于同时采用流量处理虚拟网元和小流处理虚拟网元对转发队列中的目标数据流进行转发,
[0136]
作为一种可选的实施方式,在实施例七的基础上,步骤801之前,还包括步骤901。
[0137]
步骤901,根据各目标数据流的规模等级调整小流量处理虚拟网元和大流量处理虚拟网元。
[0138]
本实施例中,可以预先设置第一资源占比、第二资源占比和第三资源占比,预先设置于第一、第二、第三和第四资源占比对应的第一、第二和第三预设区间。示例性地,第一资源占比可以为40%,第二资源占比可以为50%,第三资源占比可以为60%,第四资源占比可以为70%。分别计算规模等级为大流和小流的目标数据流的数量,并判断规模等级为小流的目标数据流数量属于第一、第二或预设区间,示例性地,第一预设区间可以为0至一万条,第二预设区间可以为十万至一百万条,第三预设区间可以为大于一百万条,若确定规模等级为小流的目标数据流数量属于第一预设区间,则可以调整小流量处理虚拟网元的资源占比为第一资源占比,相应的,大流量处理虚拟网元的资源占比可以为:100%-第一资源占比。
[0139]
作为一种可选的实施方式,对步骤901进行细化,则步骤901细化包括步骤9011至步骤9011至步骤9013。
[0140]
步骤9011,分别获取规模等级为大流和小流的目标数据流的大流规模值和小流规模值。
[0141]
具体地,可以将规模等级为大流的目标数据流的规模值进行求和,以获得目标数据流的大流规模值,将规模等级为小流的目标数据流的规模值进行求和,以获得目标数据流的小流规模值。
[0142]
步骤9012,根据大流规模值和小流规模值调整大流量处理虚拟网元和小流量处理虚拟网元的资源占比。
[0143]
本实施例中,可以调整大流量处理虚拟网元的资源占比为大流规模值占总规模值的比例,调整小流量处理虚拟网元的资源占比为小流规模值占总规模值的比例。
[0144]
本实施例提供的数据流转发方法,通过分别获取规模等级为大流和小流的目标数据流的大流规模值和小流规模值;判断大流规模值占总规模值的比例是否小于预设比值;若确定大流规模值占总规模值的比例小于预设比值,则调整大流量处理虚拟网元和小流量处理虚拟网元的资源占比。由于调整了大流量处理虚拟网元和小流量处理虚拟网元的资源占比,因此,能够提高硬件资源的利用率,进而提高用户面网元的转发效率。
[0145]
实施例八
[0146]
本实施例提供的数据流转发方法,在上述任意一个实施例的基础上,还包括步骤205。
[0147]
步骤205,若确定总规模值小于第一预设规模值,则将目标数据流确定为采用小流量处理虚拟网元进行转发。
[0148]
本实施例中,第一预设规模值为用户面网元的小流处理虚拟网元在预设时间段内能够转发的规模值。若转发队列中目标数据流的总规模值小于第一预设规模值,则可以采用小流量处理虚拟网元转发目标数据流。这里,转发队列中无论是只存在老鼠流,不存在大象流,还是既存在老鼠流也存在大象流,还是只存在大象流不存在老鼠流,由于小流量处理虚拟网元能够在预设时间段内能够转发第一预设规模值的数据量,也就是说,小流量处理虚拟网元能够在预设时间内将转发队列中的目标数据流进行转发,即便大象流和老鼠流混合转发,也不会造成老鼠流丢包和大象流队列时延增加,不存在大象流和老鼠流发生队列拥塞的问题。因此,可以只采用小流量处理虚拟网元转发目标数据流。
[0149]
本实施例提供的数据流转发方法,通过若确定总规模值小于第一预设规模值,则将目标数据流确定为采用小流量处理虚拟网元进行转发,由于在总规模值小于第一预设规模值时,采用小流量处理虚拟网元转发目标数据流,所以既能够避免大象流和老鼠流发生队列拥塞,也能够节约硬件资源。
[0150]
实施例九
[0151]
图8是根据本技术第九实施例提供的数据流转发装置结构示意图,如图8所示,本实施例提供的数据流转发装置位于电子设备中。该数据流转发装置80包括:拆分模块81、获取模块82、判断模块83以及确定模块84。
[0152]
拆分模块81用于,采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;
[0153]
获取模块82用于,获取转发队列中目标数据流的总规模值,转发队列中包括至少两个目标数据流;
[0154]
判断模块83用于,判断总规模值是否小于第一预设规模值;
[0155]
若确定总规模值大于或等于第一预设规模值,则确定模块84用于,采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。
[0156]
本实施例提供的数据流转发装置可以执行上述实施例一提供的数据流转发方法,具体的实现方式与原理类似,此处不再赘述。
[0157]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体用于,获取各目标数据流的对应ip地址,对应ip地址包括目标数据流的源ip地址和目的ip地址;根据对应ip地址确定各目标数据流的规模等级。
[0158]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体还用于,将各目标数据流的对应ip地址输入预设的哈希函数,并采用哈希函数输出对应ip地址映射到的哈希索引值;根据哈希索引值和预先构建的哈希索引表确定目标数据流的规模等级。
[0159]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体还用于,获取各目标数据流的规模值;根据各目标数据流的规模值和对应ip地址构建哈希索引表。
[0160]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体还用于,根据预设的哈希函数确定ip地址映射到的哈希索引值;将具有相同对应ip地址的目标数据流确定为目标数据流组;获取各目标数据流所属的类别数据流,类别数据流的数量至少为一个;根据目标数据流组中各目标数据流所属的类别数据流和目标数据流组中各目标数据流的规模值构建计数阵列表,计数阵列表中包括至少一个类别数据流及其规模值;根据计数阵列表确定各目标数据流组的规模等级;将各目标数据流组的规模等级确定为目标数据流组中各目标数据流的规模等级;将ip地址映射到的哈希索引值与各目标数据流的规模等级相匹配,以构建哈希索引表。
[0161]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体还用于,依次确定计数阵列表中是否存在各目标数据流所属的类别数据流;若确定计数阵列表中存在目标数据流所属的类别数据流,则将目标数据流的规模值与所属的类别数据流规模值进行求和,并将求和得到的值确定为所属的类别数据流的规模值;若确定计数阵列表中不存在目标数据流对应的类别数据流,则将目标数据流所属的类别数据流加入计数阵列表中,并将目标数据流的规模值确定为所属的类别数据流的规模值;将各类别数据流与其规模值相匹配,以构建计数阵列表。
[0162]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体还用于,若计数阵列表中类别数据流的数量为一个,则将类别数据流的规模值确定为目标数据流的等级规模值;若计数阵列表中类别数据流的数量为多个,则将各类别数据流的规模值的和确定为目标数据流的等级规模值;根据目标数据流的等级规模值确定目标数据流的规模等级。
[0163]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体还用于,判断等级规模值是否小于第二预设规模值;若确定等级规模值小于或等于第二预设规模值,则确定目标数据流的规模等级为小流;若确定等级规模值大于第二预设规模值,则确定目标数据流的规模等级为大流。
[0164]
可选地,本实施例提供的数据流转发装置80中,确定模块84具体还用于,将规模等级为小流的目标数据流确定为采用小流量处理虚拟网元进行转发,并将规模等级为大流的目标数据流确定为采用大流量处理虚拟网元进行转发。
[0165]
可选地,本实施例提供的数据流转发装置80中,还包括调整模块,调整模块用于,根据各目标数据流的规模等级调整小流量处理虚拟网元和大流量处理虚拟网元。
[0166]
可选地,本实施例提供的数据流转发装置80中,调整模块具体用于,分别获取规模等级为大流和小流的目标数据流的大流规模值和小流规模值;根据大流规模值和小流规模值调整大流量处理虚拟网元和小流量处理虚拟网元的资源占比。
[0167]
可选地,本实施例提供的数据流转发装置中,若确定总规模值小于第一预设规模值,则确定模块84具体还用于,将目标数据流确定为采用小流量处理虚拟网元进行转发。
[0168]
本实施例提供的数据流转发装置可以执行上述实施例二至实施例八中任意一个实施例提供的数据流转发方法。具体的实现方式与原理类似,此处不再赘述。
[0169]
应该理解,上述的装置实施例仅是示意性的,本技术的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
[0170]
另外,若无特别说明,在本技术各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
[0171]
集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,处理器可以是任何适当的硬件处理器,比如cpu、gpu、fpga、dsp和asic等等。若无特别说明,存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器rram(resistive random access memory)、动态随机存取存储器dram(dynamic random access memory)、静态随机存取存储器sram(static random-access memory)、增强动态随机存取存储器edram(enhanced dynamic random access memory)、高带宽内存hbm(high-bandwidth memory)、混合存储立方hmc(hybrid memory cube)等等。
[0172]
集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0173]
实施例十
[0174]
图9是根据本技术第十实施例提供的电子设备框图,如图9所示,本实施例提供的电子设备12包括存储器91、处理器92和收发器93。
[0175]
其中,存储器91,处理器92和收发器93电路互连。
[0176]
存储器91存储计算机执行指令。
[0177]
收发器93用于收发数据。
[0178]
处理器92执行存储器91存储的计算机执行指令,以实现上述任意一个实施例提供的数据流转发方法。
[0179]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述任意一个实施例提供的数据流转发方法。
[0180]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0181]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0182]
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0183]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由权利要求书指出。

技术特征:
1.一种数据流转发方法,其特征在于,包括:采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;获取转发队列中目标数据流的总规模值,所述转发队列中包括至少两个目标数据流;判断所述总规模值是否小于第一预设规模值;若确定所述总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。2.根据权利要求1所述的方法,其特征在于,采用流检测算法确定各目标数据流的规模等级包括:获取各目标数据流的对应ip地址,所述对应ip地址包括目标数据流的源ip地址和目的ip地址;根据对应ip地址确定各目标数据流的规模等级。3.根据权利要求2所述的方法,其特征在于,所述根据对应ip地址确定各目标数据流的规模等级,包括:将各目标数据流的对应ip地址输入预设的哈希函数,并采用哈希函数输出所述对应ip地址映射到的哈希索引值;根据所述哈希索引值和预先构建的哈希索引表确定目标数据流的规模等级。4.根据权利要求3所述的方法,其特征在于,所述根据对应ip地址确定各目标数据流的规模等级之前,还包括:获取各目标数据流的规模值;根据各目标数据流的规模值和对应ip地址构建哈希索引表。5.根据权利要求4所述的方法,其特征在于,所述根据各目标数据流的规模值和对应ip地址构建哈希索引表,包括:根据预设的哈希函数确定ip地址映射到的哈希索引值;将具有相同对应ip地址的目标数据流确定为目标数据流组;获取各目标数据流所属的类别数据流,所述类别数据流的数量至少为一个;根据目标数据流组中各目标数据流所属的类别数据流和目标数据流组中各目标数据流的规模值构建计数阵列表,所述计数阵列表中包括至少一个类别数据流及其规模值;根据所述计数阵列表确定各目标数据流组的规模等级;将各目标数据流组的规模等级确定为目标数据流组中各目标数据流的规模等级;将ip地址映射到的哈希索引值与各目标数据流的规模等级相匹配,以构建哈希索引表。6.根据权利要求5所述的方法,其特征在于,所述根据目标数据流组中各目标数据流所属的类别数据流和目标数据流组中各目标数据流的规模值构建计数阵列表,包括:依次确定所述计数阵列表中是否存在各目标数据流所属的类别数据流;若确定所述计数阵列表中存在目标数据流所属的类别数据流,则将目标数据流的规模值与所属的类别数据流规模值进行求和,并将求和得到的值确定为所属的类别数据流的规模值;若确定所述计数阵列表中不存在目标数据流对应的类别数据流,则将目标数据流所属
的类别数据流加入所述计数阵列表中,并将目标数据流的规模值确定为所属的类别数据流的规模值;将各类别数据流与其规模值相匹配,以构建所述计数阵列表。7.根据权利要求5所述的方法,其特征在于,所述根据所述计数阵列表确定各目标数据流的规模等级,包括:若所述计数阵列表中类别数据流的数量为一个,则将类别数据流的规模值确定为目标数据流的等级规模值;若所述计数阵列表中类别数据流的数量为多个,则将各类别数据流的规模值的和确定为目标数据流的等级规模值;根据目标数据流的等级规模值确定目标数据流的规模等级。8.根据权利要求7所述的方法,其特征在于,所述根据目标数据流的等级规模值确定目标数据流的规模等级,包括:判断所述等级规模值是否小于第二预设规模值;若确定所述等级规模值小于或等于第二预设规模值,则确定目标数据流的规模等级为小流;若确定所述等级规模值大于第二预设规模值,则确定目标数据流的规模等级为大流。9.根据权利要求1所述的方法,其特征在于,所述目标数据流的规模等级为大流或小流,根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发,包括:将规模等级为小流的目标数据流确定为采用小流量处理虚拟网元进行转发,并将规模等级为大流的目标数据流确定为采用大流量处理虚拟网元进行转发。10.根据权利要求9所述的方法,其特征在于,所述将规模等级为小流的目标数据流确定为采用小流量处理虚拟网元进行转发或将规模等级为大流的候选数据流确定为采用大流量处理虚拟网元进行转发之前,还包括:根据各目标数据流的规模等级调整所述小流量处理虚拟网元和所述大流量处理虚拟网元。11.根据权利要求10所述的方法,其特征在于,根据各目标数据流的规模等级调整所述小流量处理虚拟网元和所述大流量处理虚拟网元,包括:分别获取规模等级为大流和小流的目标数据流的大流规模值和小流规模值;根据大流规模值和小流规模值调整大流量处理虚拟网元和小流量处理虚拟网元的资源占比。12.根据权利要求1所述的方法,其特征在于,还包括:若确定所述总规模值小于第一预设规模值,则将所述目标数据流确定为采用小流量处理虚拟网元进行转发。13.一种流量转发装置,其特征在于,包括:拆分模块,用于采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;获取模块,用于获取转发队列中目标数据流的总规模值,所述转发队列中包括至少两个目标数据流;
判断模块,用于判断所述总规模值是否小于第一预设规模值;确定模块,若确定所述总规模值大于或等于第一预设规模值,则用于采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。14.一种电子设备,其特征在于,包括:存储器,处理器,及收发器;所述存储器,所述处理器及所述收发器电路互联;所述存储器存储计算机执行指令;所述收发器用于收发数据;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至12中任一项所述的方法。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至12中任一项所述的方法。

技术总结
本申请提供一种数据流转发方法、装置、电子设备及存储介质。该方法包括:采用虚拟化技术将用户面网元拆分为小流量处理虚拟网元和大流量处理虚拟网元;获取转发队列中目标数据流的总规模值,所述转发队列中包括至少两个目标数据流;判断所述总规模值是否小于第一预设规模值;若确定所述总规模值大于或等于第一预设规模值,则采用流检测算法确定各目标数据流的规模等级,并根据各目标数据流的规模等级确定各目标数据流采用大流量处理虚拟网元或小流量处理虚拟网元进行转发。本申请有效避免了大象流和老鼠流在转发队列中发生拥塞的问题,提高了数据流的转发效率。提高了数据流的转发效率。提高了数据流的转发效率。


技术研发人员:罗璇 邓玲 何小婵 黎宇 曾楚轩 朱友芬 蓝澜
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2022.04.07
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-13501.html

最新回复(0)