CN117675442A - 一种数据处理方法、电子设备及计算机可读存储介质 - Google Patents
一种数据处理方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117675442A CN117675442A CN202311692877.7A CN202311692877A CN117675442A CN 117675442 A CN117675442 A CN 117675442A CN 202311692877 A CN202311692877 A CN 202311692877A CN 117675442 A CN117675442 A CN 117675442A
- Authority
- CN
- China
- Prior art keywords
- transmitted
- data packet
- preset
- data
- aggregation
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000004220 aggregation Methods 0.000 claims abstract description 196
- 230000002776 aggregation Effects 0.000 claims abstract description 193
- 238000012545 processing Methods 0.000 claims abstract description 162
- 238000000034 method Methods 0.000 claims description 35
- 238000004806 packaging method and process Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 238000006116 polymerization reaction Methods 0.000 claims description 5
- 230000006854 communication Effects 0.000 abstract description 27
- 238000004891 communication Methods 0.000 abstract description 23
- 238000005538 encapsulation Methods 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据处理方法、电子设备及计算机可读存储介质。该数据处理方法包括:解析第一待传输数据包,得到第一待传输数据包的第一属性信息;基于第一待传输数据包的第一属性信息查询预设对应关系,确定是否需要对第一待传输数据包进行聚合处理;确定需要对第一待传输数据包进行聚合处理的情况下,缓存第一待传输数据包至目标存储空间,直至满足预设聚合条件,对目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包,并对聚合数据包进行封装处理并通过虚拟隧道发送;在确定不需要对第一待传输数据包进行聚合处理的情况下,对第一待传输数据包进行封装处理并通过虚拟隧道发送。从而降低了通信延迟及隧道发送端设备的CPU处理压力。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法、电子设备及计算机可读存储介质。
背景技术
虚拟隧道通信技术是一种通过使用互联网络的基础设施在网络之间传递数据的技术。隧道发送端设备将待传输的数据包进行封装处理后,通过虚拟隧道发送至隧道接收端设备,隧道接收端设备对封装处理后的数据包后进行解封装处理。但在数据包较多时,隧道发送端设备对每个待传输的数据包进行封装处理,会耗费大量资源,导致隧道发送端设备的中央处理器(Central Processing Unit,CPU)处理压力增加。
为了解决该问题,传统技术是在隧道发送端设备对多个待传输数据包进行聚合处理,再进行封装处理并发送,如此,可以大幅度减少封装处理消耗的资源,从而降低隧道发送端设备的CPU处理压力。但聚合处理需要缓存多个待传输数据包,可能会导致一些要求低延迟的数据包无法及时被传输至隧道接收端设备,使得通信延迟进一步增加。
因此,在虚拟隧道通信过程中,如何降低隧道发送端设备的CPU处理压力并减少通信延迟成为亟须解决的问题。
发明内容
本申请提供一种数据处理方法、电子设备及计算机可读存储介质,以解决在虚拟隧道通信过程中,隧道发送端设备的CPU处理压力及通信延迟大的问题。
第一方面,本申请提供一种数据处理方法,包括:解析第一待传输数据包,得到第一待传输数据包的第一属性信息;基于第一待传输数据包的第一属性信息查询预设对应关系,确定是否需要对第一待传输数据包进行聚合处理,预设对应关系包括多组对应关系,每组对应关系包括:数据包的属性信息与是否需要聚合处理之间的对应关系;在确定需要对第一待传输数据包进行聚合处理的情况下,缓存第一待传输数据包至目标存储空间,直至满足预设聚合条件,对目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包,并对聚合数据包进行封装处理并通过虚拟隧道发送;其中,目标存储空间用于缓存需要聚合的待传输数据包,多个待传输数据包包括第一待传输数据包;在确定不需要对第一待传输数据包进行聚合处理的情况下,对第一待传输数据包进行封装处理并通过虚拟隧道发送。
本申请一些实施例中,属性信息包括以下至少一种信息:包类型,源IP地址,目标IP地址,源端口号,目标端口号,关键字;包类型用于指示数据包的业务类型,关键字用于指示数据包的主题内容。
本申请一些实施例中,预设聚合条件包括以下至少一项:目标存储空间中缓存的待传输数据包的数量等于预设数量、目标存储空间中缓存的待传输数据包的总数据长度大于或等于预设数据长度、目标存储空间中缓存的首个待传输数据包的缓存时长等于预设时长。
本申请一些实施例中,解析第一待传输数据包,得到第一待传输数据包的第一属性信息之前,该方法还包括:检测中央处理器CPU的占用率;在CPU的占用率小于预设占用率的情况下,减小预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值;在CPU的占用率大于或者等于预设占用率的情况下,增大预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值。
本申请一些实施例中,预设对应关系还包括:数据包的聚合处理策略指示信息与数据包的属性信息之间的关系;在确定需要对第一待传输数据包进行聚合处理的情况下,缓存第一待传输数据包至目标存储空间,包括:在确定需要对第一待传输数据包进行聚合处理的情况下,基于第一属性信息查询预设对应关系,确定第一待传输数据包的聚合处理策略指示信息;缓存第一待传输数据包至待传输数据包的聚合处理策略指示信息对应的目标存储空间。
本申请一些实施例中,聚合处理策略指示信息包括聚合优先级和/或聚合处理方式。
本申请一些实施例中,聚合处理策略指示信息包括聚合处理方式;对目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包,包括:根据第一待传输数据包的聚合处理方式,对多个待传输数据包进行聚合处理得到聚合数据包。
本申请一些实施例中,对聚合数据包进行封装处理并通过虚拟隧道发送之后,该方法还包括:删除目标存储空间中的多个待传输数据包。
第二方面,本申请提供了一种数据处理装置,包括:解析模组,用于解析第一待传输数据包,得到第一待传输数据包的第一属性信息;确定模组,用于基于第一待传输数据包的第一属性信息查询预设对应关系,确定是否需要对第一待传输数据包进行聚合处理,预设对应关系包括多组对应关系,每组对应关系包括:数据包的属性信息与是否需要聚合处理之间的对应关系;存储模组,用于在确定需要对第一待传输数据包进行聚合处理的情况下,缓存第一待传输数据包至目标存储空间;聚合模组,用于在目标存储空间满足预设聚合条件,对目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包;封装及发送模组,用于对聚合数据包进行封装处理并通过虚拟隧道发送;其中,目标存储空间用于缓存需要聚合的待传输数据包,多个待传输数据包包括第一待传输数据包;封装及发送模组,还用于在确定不需要对第一待传输数据包进行聚合处理的情况下,对第一待传输数据包进行封装处理并通过虚拟隧道发送。
第三方面,本申请提供一种电子设备,包括:处理器,存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的数据处理方法。
第四方面,本申请提供一种计算机可读存储介质,其特征在于,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面的数据处理方法。
第五方面,本申请提供一种计算机程序产品,包括:计算机程序或指令,当该计算机程序产品在处理器上运行时,使得处理器执行该计算机程序或指令,实现如第一方面的数据处理方法。
第六方面,本申请提供了一种芯片,包括:处理器和通信接口,该通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面的数据处理方法。
本申请实施例提供一种数据处理方法,在虚拟隧道发送端设备,根据待传输数据包的属性信息,通过查询预先设置的预设对应关系(包括多组数据包的属性信息与是否需要聚合处理之间的对应关系),将待传输数据包划分为需要进行聚合处理的数据包和不需要进行聚合处理的数据包。如此,在待传输数据包需要通过虚拟隧道传输时,在虚拟隧道发送端设备中对待传输数据包进行灵活处理,将不需要进行聚合处理的待传输数据包直接封装后发送,以减少通信延迟;缓存需要进行聚合处理的待传输数据包,以在满足预设聚合条件时对多个待传输数据包进行聚合处理后,再进行封装处理并发送,与传统方法中每个数据包均要进行封装处理相较,减少了封装次数,从而减少虚拟隧道发送端设备CPU的处理压力,提高网络通信质量。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的数据处理方法的应用场景示意图;
图2示出了根据一些实施例的数据处理方法的流程示意图之一;
图3示出了根据一些实施例的数据处理方法的流程示意图之二;
图4示出了根据一些实施例的数据处理方法的流程示意图之三;
图5示出了根据一些实施例的数据处理方法的流程示意图之四;
图6示出了根据一些实施例的数据处理方法的流程示意图之五;
图7示出了根据一些实施例的电子设备的硬件结构示意图。
具体实施方式
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,单独a,单独b或单独c中的至少一项(个),可以表示:单独a,单独b,单独c,组合a和b,组合a和c,组合b和c,或组合a、b和c,其中a,b,c可以是单个,也可以是多个。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
术语“中心”、“纵向”、“横向”、“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
术语“相连”、“连接”应做广义理解,例如,电路结构的“相连”或“连接”除了可以是指物理上的连接,还可以是指电连接或信号连接,例如,可以是直接相连,即物理连接,也可以通过中间至少一个元件间接相连,只要达到电路相通即可,还可以是两个元件内部的连通;信号连接除了可以通过电路进行信号连接外,也可以是指通过媒体介质进行信号连接,例如,无线电波。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
如图1所示,为本申请实施例提供的一种数据处理方法的应用场景示意图。其中,虚拟隧道接收端设备10和虚拟隧道接收端设备20通过IP网络,建立了一条逻辑链路,即虚拟隧道。在虚拟隧道发送端将待传输的数据包,基于虚拟隧道协议进行封装后,通过虚拟隧道发送至虚拟隧道接收端,虚拟隧道接收端接收到封装后的数据包后,对封装后的数据包进行解封装得到原始的数据包。
随着待传输数据包数量的增加,对每个待传输数据包进行封装处理,需要耗费大量的资源,增加了虚拟隧道发送端设备的CPU处理压力。为了缓解虚拟隧道发送端设备的CPU处理压力,传统的方法是将固定数量的待传输数据包聚合为一个大数据包再进行封装处理并发送,如此可以减少封装处理的次数,进而降低虚拟隧道发送端设备的CPU处理压力。
但对所有待传输数据包均进行聚合处理,由于聚合处理需要缓存待聚合的数据包后,再进行封装处理,这可能导致一些要求低延时的数据包无法被及时的传输至虚拟隧道接收端设备,从而使得通信延迟进一步增加,影响用户体验。
因此,本申请实施例中,在虚拟隧道发送端设备中预先存储了预设对应关系,该预设对应关系包括多组数据包的属性信息与是否需要聚合处理之间的对应关系。因此,对于任意待传输的数据包,根据待传输数据包的属性信息,通过查询预设对应关系,即可确定该待传输数据包是否需要进行聚合处理,对需要进行聚合处理的待传输数据包进行缓存,以在后续满足预设聚合条件时对多个待传输数据包进行聚合处理后,再封装处理并发送;对不需要进行聚合处理的待传输数据包,直接进行封装处理并发送。因此,本方案中,将待传输数据包划分为需要进行聚合处理的数据包和不需要进行聚合处理的数据包,对于不需要聚合处理的待传输数据包,直接封装并发送可以有效减少通信延迟;对于需要进行聚合处理的待传输数据包,将多个待传输数据包进行聚合处理后再封装,可以减少封装次数,从而降低虚拟隧道发送端设备的CPU处理压力。
本申请实施例中,提供了一种数据处理方法,应用于虚拟隧道发送端设备,如图2所示,包括下述步骤101至步骤105。
101、解析第一待传输数据包,得到第一待传输数据包的第一属性信息。
可选地,属性信息包括以下至少一种信息:包类型,源互联网国际(InternetProtocol,IP)地址,目标IP地址,源端口号,目标端口号,关键字;包类型用于指示数据包的业务类型,关键字用于指示数据包的主题内容。
可以理解,第一属性信息为第一待传输数据包对应的属性信息。第一属性信息可以是第一待传输数据包中包括的包类型、源IP地址、目标IP地址、源端口号、目标端口号、关键字中的至少一个,还可以包括其他属性信息,本申请实施例不做具体限定。
可以理解,预先确定了需要解析得到的数据包的属性信息(如:包类型),则对第一待传输数据包,确定第一待传输数据包中代表属性信息的字段,根据该字段确定第一待传输数据包的第一属性信息。实际应用中,可以通过现有的数据包解析功能来解析待传输数据包,如在linux内核中,可以使用iptables功能来对第一待传输数据包进行解析。
102、基于第一待传输数据包的第一属性信息查询预设对应关系,确定是否需要对第一待传输数据包进行聚合处理。
是则执行步骤103和步骤104,否则执行步骤105。
其中,预设对应关系包括多组对应关系,每组对应关系包括:数据包的属性信息与是否需要聚合处理之间的对应关系。
可以理解,预设对应关系可以根据实时性要求高低的不同进行设置。如根据经验(如视频通话、音频通话等数据包对实时性要求较高,文件下载、视频播放等实时性要求较低),或者统计历史数据包中对时延要求较高的数据包的属性信息,在预设对应关系中,将实时性要求较高的数据包的属性信息对应设置为不需要聚合,将实时性要求不高的数据包的属性信息设置为需要聚合;如此,在使用预设对应关系确定是否对待传输数据包进行聚合时,可以将对实时性要求较高的待传输数据包及时封装并发送,从而减少时延,将对实时性要求不高的待传输数据包进行缓存,以在后续进行聚合处理后再封装并发送,可以减少封装次数,降低隧道发送端设备的CPU处理压力。具体预设对应关系的设置可以根据实际需要确定,本申请实施例不做限定。
可以理解,在属性信息包括包类型的情况下,隧道发送端设备中预先存储了多个预设数据包类型,每组对应关系包括:一种预设数据包类型与是否需要进行聚合处理之间的对应关系;在属性信息包括源IP地址的情况下,隧道发送端设备中预先存储了多个预设源IP地址,每组对应关系包括:一个预设源IP地址与是否需要进行聚合处理之间的对应关系;在属性信息包括目标IP地址的情况下,隧道发送端设备中预先存储了多个预设目标IP地址,每组对应关系包括:一个预设目标IP地址与是否需要进行聚合处理之间的对应关系;在属性信息包括源端口号的情况下,隧道发送端设备中预先存储了多个预设源端口号,每组对应关系包括:一个源端口号与是否需要进行聚合处理之间的对应关系;在属性信息包括目标端口号的情况下,隧道发送端设备中预先存储了多个预设目标端口号,每组对应关系包括:一个目标端口号与是否需要进行聚合处理之间的对应关系;在属性信息包括关键字的情况下,隧道发送端设备中预先存储了多个预设关键字,每组对应关系包括:一个关键字与是否需要进行聚合处理之间的对应关系。本申请实施例中的预设对应关系的设置,目的是降低延迟的同时,减少虚拟隧道发送端设备的CPU的处理压力,因此,可以理解为服务质量(Quality of Service,QoS)规则,以通过该QoS规则,提升网络通信服务质量。
需要说明的是,不同的虚拟隧道发送端设备可以预先存储不同的预设对应关系,同一虚拟隧道发送端设备也可以根据需要更改预设对应关系,本申请实施例不做限定。
示例性地,如表1所示,每组对应关系为一种预设数据包类型与是否需要进行聚合处理之间的对应关系,即在第一待传输数据包的包类型为视频通话类或者音频通话类的情况下,确定不需要对第一待传输数据包进行聚合处理,直接封装并发送,在第一待传输数据包的包类型为文件下载类的情况下,确定需要对第一待传输数据包进行聚合处理。
表1预设对应关系
包类型 | 是否聚合 |
视频通话类 | 否 |
音频通话类 | 否 |
文件下载类 | 是 |
如表2所示,每组对应关系为一个预设源IP地址和一个预设目标IP地址与是否需要进行聚合处理之间的对应关系,即在第一待传输数据包中包括的源IP地址为IP地址1且目标IP地址为地址a的情况下,确定不需要对第一待传输数据包进行聚合处理,在第一待传输数据包中包括的源IP地址为IP地址1且目标IP地址为地址b的情况下,确定需要对第一待传输数据包进行聚合处理,在第一待传输数据包中包括的源IP地址为IP地址2且目标IP地址为地址a的情况下,确定需要对第一待传输数据包进行聚合处理,在第一待传输数据包中包括的源IP地址为IP地址2且目标IP地址为地址b的情况下,确定需要对第一待传输数据包进行聚合处理。
表2预设对应关系
在虚拟隧道通信过程中,按照传统的发送方式一,发送N个待传输数据包,则需要封装N次;按照传统发送方式二,对需要发送的N个待传输数据包,设置聚合处理的待传输数据包的数量为m,即每次均缓存m个待传输数据包后,再对m个待传输数据包进行聚合处理后,进行封装处理并发送。采用本方案,发送同样数量的待传输数据包,确定需要聚合处理的待传输数据包的数量为n1聚合得到n3个聚合数据包,通常n3远小于n1,不需要聚合处理的待传输数据包的数量为n2,则封装次数为n2+n3,相比传统发送方式一减少了封装次数,并且,将多个待传输数据包聚合为一个大的聚合数据包后发送,减少了在虚拟隧道中传输的数据包的数量,也可以提高网络的通信质量;相比传统发送方式二,不需要聚合处理的n2个待传输数据包可以被及时的封装并发送,减少了延迟。其中,N为大于1的整数,n1+n2=N,n3小于n2,m为正整数且小于N。
103、缓存第一待传输数据包至目标存储空间,直至满足预设聚合条件,对目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包。
其中,目标存储空间用于缓存需要聚合的待传输数据包,目标存储空间可以是队列对应的存储空间,也可以是数组对应的存储空间,还可以是链表对应的存储空间,只要能达到存储待传输的数据包的目的,本申请存储方式不作限定。实际应用中,通常将待传输的数据包缓存到队列中。
可选地,预设聚合条件包括以下至少一项:目标存储空间中缓存的待传输数据包的数量等于预设数量、目标存储空间中缓存的待传输数据包的总数据长度大于或等于预设数据长度、目标存储空间中缓存的首个待传输数据包的缓存时长等于预设时长。
可以理解,预设数量、预设数据长度以及预设时长根据实际需要确定,本申请实施例不做具体限定。如预设数量为5,预设数据长度为10KB,预设时长为500ms。
示例性地,第一待传输数据包可能是目标存储空间中缓存的首个待传输数据包,也可能在缓存第一待传输数据包时,目标存储空间中已存储有其他待传输数据包。在第一待传输数据包是目标存储空间中缓存的首个待传输数据包的情况下,缓存第一待传输数据包的同时,启动计时器,当计时器的计时时长达到500ms时,对目标存储空间中缓存的多个待传输数据包进行聚合处理。在第一待传输数据包不是目标存储空间中缓存的首个待传输数据包的情况下,在目标存储空间缓存首个待传输数据包的同时,启动计时器,当计时器的计时时长达到500ms时,对目标存储空间中缓存的多个待传输数据包进行聚合处理。
示例性地,每缓存一个待传输数据包即检测目标存储空间存储的多个待传输数据包的总数据长度,在总数据长度大于或者等于10KB的情况下,对目标存储空间中缓存的多个待传输数据包进行聚合处理。
示例性地,在第一待传输数据包是目标存储空间中缓存的首个待传输数据包的情况下,缓存第一待传输数据包的同时,启动计数器,当计数器的计数为5时,对目标存储空间中缓存的5个待传输数据包进行聚合处理。在第一待传输数据包不是目标存储空间中缓存的首个待传输数据包的情况下,在目标存储空间缓存首个待传输数据包的同时,启动计数器,当计数器的计数为5时,对目标存储空间中缓存的5个待传输数据包进行聚合处理。
可以理解,对目标存储空间中的多个待传输数据包进行聚合处理时,可以采用默认的聚合方式,也可以采用与第一待传输数据匹配的聚合方式,本申请实施例不做具体限定。
104、对聚合数据包进行封装处理并通过虚拟隧道发送。
可以理解,隧道发送端设备和隧道接收端设备之间通信的虚拟隧道,为基于虚拟隧道协议建立的,不同的虚拟隧道协议对应建立的虚拟隧道不同。因此,在对数据包进行封装处理时,按照虚拟隧道协议对应的报文格式对数据包进行封装(如按照虚拟扩展局域网(Virtual eXtensible Local Area Network,VXLAN)隧道协议对应的报文格式进行封装)处理,则在隧道接收端设备接收到封装后的数据包后,按照虚拟隧道协议对数据包进行解封装处理。
示例性地,在第一待传输数据包不需要进行聚合处理的情况下,对第一待传输数据包按照虚拟隧道协议对应的报文封装格式进行封装处理后发送至隧道接收端设备;在第一待传输数据包需要进行聚合处理的情况下,将第一待传输数据包缓存到第一队列(目标存储空间)中,当第一队列缓存满后,对第一队列中缓存的待传输数据包进行聚合处理得到聚合数据包,对聚合数据包按照虚拟隧道协议对应的报文封装格式进行封装处理后发送至隧道接收端设备。隧道接收端设备接收到封装后的数据包后,按照虚拟隧道协议对封装后的数据包进行解封装,若解封装后的数据包为聚合数据包,则对聚合数据包进行拆分得到原始的数据包(即overlay数据包)。
105、对第一待传输数据包进行封装处理并通过虚拟隧道发送。
需要说明的是,步骤105中的封装处理及发送过程可以参考步骤104中对于封装处理及发送过程的相关描述,此处不再赘述。
本申请实施例中,在虚拟隧道发送端设备,根据待传输数据包的属性信息,通过查询预先设置的预设对应关系(包括多组数据包的属性信息与是否需要聚合处理之间的对应关系),将待传输数据包划分为需要进行聚合处理的数据包和不需要进行聚合处理的数据包。如此,在待传输数据包需要通过虚拟隧道传输时,在虚拟隧道发送端设备中对待传输数据包进行灵活处理,将不需要进行聚合处理的待传输数据包直接封装后发送,以减少通信延迟;缓存需要进行聚合处理的待传输数据包,以在满足预设聚合条件时对多个待传输数据包进行聚合处理后,再进行封装处理并发送,与传统方法中每个数据包均要进行封装处理相较,减少了封装次数,从而减少虚拟隧道发送端设备CPU的处理压力,提高网络通信质量。
本申请一些实施例中,结合图2,如图3所示,上述步骤101之前,该数据处理方法还包括下述步骤106至步骤108。
100a、检测中央处理器CPU的占用率。
可以理解,检测中央处理器CPU的占用率,具体地,可以是每隔预设时长获取一次CPU的占用率,也可以是实时监测CPU的占用率。
100b、在CPU的占用率小于预设占用率的情况下,减小预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值。
108、在CPU的占用率大于或者等于预设占用率的情况下,增大预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值。
可以理解,预设占用率根据实际需要确定,本申请实施例不做限定,如预设占用率可以是50%。
可以理解,在CPU的占用率小于预设占用率的情况下,此时表明虚拟隧道发送端设备的CPU处理压力不大,可以增加封装处理的次数以减少通信延迟,因此通过减小预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值,可以使得缓存较少数量的待传输数据包即可满足预设聚合条件,进而增加了封装处理的次数;具体地,在预设聚合条件包括目标存储空间中缓存的待传输数据包的数量等于预设数量的情况下,将预设数量减小第一数量;在预设聚合条件包括目标存储空间中缓存的待传输数据包的总数据长度大于或等于预设数据长度的情况下,将预设数据长度减小第一长度;在预设聚合条件包括目标存储空间中缓存的首个待传输数据包的缓存时长等于预设时长的情况下,将预设时长减小第一时长。
在CPU的占用率大于或者等于预设占用率的情况下,此时表明虚拟隧道发送端设备的CPU的处理压力较大,需要减少封装次数以降低虚拟隧道发送端设备的CPU的处理压力,因此通过增大预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值,可以使得需要缓存较多数量的待传输数据包才能满足预设聚合条件,进而减少了封装处理的次数;具体地,在预设聚合条件包括目标存储空间中缓存的待传输数据包的数量等于预设数量的情况下,将预设数量增大第二数量;在预设聚合条件包括目标存储空间中缓存的待传输数据包的总数据长度大于或等于预设数据长度的情况下,将预设数据长度增大第二长度;在预设聚合条件包括目标存储空间中缓存的首个待传输数据包的缓存时长等于预设时长的情况下,将预设时长增大第二时长。其中,第一数量和第二数量可以相同也可以不同;第一长度和第二长度可以相同也可以不同;第一时长和第二时长可以相同也可以不同。
本申请实施例中,解析第一待传输数据包,得到第一待传输数据包的第一属性信息之前,该方法还包括:检测中央处理器CPU的占用率;在CPU的占用率小于预设占用率的情况下,减小预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值;在CPU的占用率大于或者等于预设占用率的情况下,增大预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值。如此,在虚拟隧道发送端设备的CPU的占用率较低的情况下,此时,表明虚拟隧道发送端设备的CPU的处理压力不大,因此,将预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值减小,可以更易满足预设聚合条件,封装次数增加,从而减少通信过程中的延迟;在虚拟隧道发送端设备的CPU的占用率大于或者等于预设占用率的情况下,此时,表明虚拟隧道发送端设备的CPU的处理压力较大,因此,将预设聚合条件指示的预设数量、预设数据长度以及预设时长中的一个或多个的值增大,使得预设聚合条件更难满足,封装次数减少,从而减少虚拟隧道发送端设备的CPU的处理压力。
本申请一些实施例中,预设对应关系还包括:数据包的聚合处理策略指示信息与数据包的属性信息之间的关系;结合图2,如图4所示,上述步骤103具体可以通过下述步骤103a至步骤103c实现。
103a、基于第一属性信息查询预设对应关系,确定第一待传输数据包的聚合处理策略指示信息。
可选地,聚合处理策略指示信息包括聚合优先级和/或聚合处理方式。
103b、缓存第一待传输数据包至待传输数据包的聚合处理策略指示信息对应的目标存储空间。
103c、当目标存储空间中的多个待传输数据包满足预设聚合条件时,对目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包。
可以理解,在隧道发送端设备中预先设置了不同的聚合处理策略指示信息对应的存储空间。在聚合处理策略指示信息包括聚合优先级的情况下,不同的聚合优先级对应不同的存储空间;在聚合处理策略指示信息包括聚合处理方式的情况下,不同的聚合处理方式对应不同的存储空间;在聚合处理策略指示信息包括聚合优先级和聚合处理方式的情况下,不同的聚合处理方式和聚合优先级对应不同的存储空间。
可以理解,不同聚合优先级对应的预设聚合条件不同。在预设聚合条件包括目标存储空间中缓存的待传输数据包的数量等于预设数量的情况下,聚合优先级越高,对应的预设数量越小,聚合优先级越低,对应的预设数量越大;在预设聚合条件包括目标存储空间中缓存的待传输数据包的总数据长度大于或等于预设数据长度的情况下,聚合优先级越高,对应的预设数据长度越小,聚合优先级越低,对应的有预设数量越大;在目标存储空间中缓存的首个待传输数据包的缓存时长等于预设时长的情况下,聚合优先级越高,对应的预设时长越小,聚合优先级越低,对应的有预设时长越大。
示例性地,如表3所示,在待传输数据包的数据包类型对应的优先级为一级的情况下,则不需要对数据包进行聚合,在待传输数据包的数据包类型对应的优先级为二级的情况下,将待传输数据包缓存在队列1中,在待传输数据包的数据包类型对应的优先级为三级的情况下,将待传输数据包缓存在队列2中;其中,队列1的最大长度小于队列2的最大长度。
表3预设对应关系
包类型 | 优先级 |
类型1 | 一级 |
类型2 | 二级 |
类型3 | 三级 |
如表4所示,预先设置了聚合处理方式一对应的存储空间为队列3,聚合处理方式二对应的存储空间为队列4。在待传输数据包的数据包类型为数据包类型1的情况下,将待传输数据包缓存在队列3中;在待传输数据包的数据包类型为数据包类型2的情况下,将待传输数据包缓存在队列4中;在待传输数据包的数据包类型为3的情况下,不对待传输数据包进行聚合处理。
表4预设对应关系
包类型 | 是否聚合 | 聚合处理方式 |
类型1 | 是 | 方式一 |
类型2 | 是 | 方式二 |
类型3 | 否 | null |
如表5所示,优先级二级-聚合处理方式一对应的存储空间为队列5,优先级二级-聚合处理方式二对应的存储空间为队列6,优先级三级-聚合处理方式三对应的存储空间为队列7。在待传输数据包的数据包类型为数据包类型1的情况下,不对待传输数据包进行聚合处理;在待传输数据包的数据包类型为数据包类型2的情况下,将待传输数据包缓存在队列5中,并在后续通过聚合处理方式1对队列5中的待传输数据包进行聚合处理;在待传输数据包的数据包类型为3的情况下,将待传输数据包缓存在队列6中,并在后续通过聚合处理方式2对队列6中的待传输数据包进行聚合处理;在待传输数据包的数据包类型为4的情况下,将待传输数据包缓存在队列7中,并在后续通过聚合处理方式2对队列7中的待传输数据包进行聚合处理。其中,队列5和队列6的最大长度相等,且小于队列7的最大长度。
表5预设对应关系
包类型 | 优先级 | 聚合处理方式 |
类型1 | 一级 | null |
类型2 | 二级 | 方式一 |
类型3 | 二级 | 方式二 |
类型4 | 三级 | 方式二 |
如此,可以根据需要设置聚合优先级和聚合处理方式,不同优先级对应的待传输数据包的缓存时长不同,优先级较高(时延要求高)的待传输数据包不做聚合处理,减少时延,优先级较低(时延要求低)的待传输数据包,将多个待传输数据包进行聚合处理,降低CPU的处理压力。并且,可以细化聚合处理方式,按照需求对不同的待传输数据包采用不同的聚合处理方式。
示例性地,可以按照“数据包1的长度+数据包1+数据包2的长度+数据包2+数据包3的长度+数据包3+……”的聚合处理方式对数据包进行拼接;也可以是按照“数据包1的长度+数据包2的长度+数据包3的长度+数据包1+数据包2+数据包3+……”的聚合处理方式对数据包进行拼接;还可以是按照“数据包总数量+数据包1开始标志+数据包1长度+数据包1包+数据包2开始标志+数据包2长度+数据包2+……”的聚合处理方式对数据包进行拼接;其中,数据包总数量用于指示拼接的数据包的个数,开始标志用于指示一个数据包的开始。
本申请实施例中,预设对应关系还包括:数据包的聚合处理策略指示信息与数据包的属性信息之间的关系;在确定需要对第一待传输数据包进行聚合处理的情况下,缓存第一待传输数据包至目标存储空间,包括:在确定需要对第一待传输数据包进行聚合处理的情况下,基于第一属性信息查询预设对应关系,确定第一待传输数据包的聚合处理策略指示信息;缓存第一待传输数据包至待传输数据包的聚合处理策略指示信息对应的目标存储空间。如此,可以根据需要灵活设置,细化聚合处理优先级以及聚合处理方式,从而对多种待传输数据包采用不同的聚合处理方式进行不同规模的聚合处理,从而使得不同聚合优先级的待传输数据包对应不同的延迟,进一步减少了数据包传输过程中的延迟以及降低了虚拟隧道发送端设备的CPU的处理压力。
本申请一些实施例中,结合图4,如图5所示,聚合处理策略指示信息包括聚合处理方式;上述步骤103c具体可以通过下述步骤103d实现。
103d、当目标存储空间中的多个待传输数据包满足预设聚合条件时,根据第一待传输数据包的聚合处理方式,对多个待传输数据包进行聚合处理得到聚合数据包。
本申请实施例中,当目标存储空间中的多个待传输数据包满足预设聚合条件时,根据第一待传输数据包的聚合处理方式,对多个待传输数据包进行聚合处理得到聚合数据包。如此,可以根据实际需要,对不同的待传输数据包采用不同的聚合处理方式,进一步细化了聚合处理。
本申请一些实施例中,结合图2,如图6所示,上述步骤104之后,该数据处理方法还包括下述步骤109。
109、删除目标存储空间中的多个待传输数据包。
本申请实施例中,删除目标存储空间中的多个待传输数据包,可以节约隧道发送端设备的存储空间,降低存储压力。
本申请实施例还提供了一种数据处理装置,包括:解析模组,用于解析第一待传输数据包,得到第一待传输数据包的第一属性信息;确定模组,用于基于第一待传输数据包的第一属性信息查询预设对应关系,确定是否需要对第一待传输数据包进行聚合处理,预设对应关系包括多组对应关系,每组对应关系包括:数据包的属性信息与是否需要聚合处理之间的对应关系;存储模组,用于在确定需要对第一待传输数据包进行聚合处理的情况下,缓存第一待传输数据包至目标存储空间;聚合模组,用于在目标存储空间满足预设聚合条件,对目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包;封装及发送模组,用于对聚合数据包进行封装处理并通过虚拟隧道发送;其中,目标存储空间用于缓存需要聚合的待传输数据包,多个待传输数据包包括第一待传输数据包;封装及发送模组,还用于在确定不需要对第一待传输数据包进行聚合处理的情况下,对第一待传输数据包进行封装处理并通过虚拟隧道发送。
本申请实施例提供的数据处理装置,可用于执行上述方法实施例的步骤,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,上述数据处理装置可以为本申请上述方法实施例中的虚拟隧道发送端设备,也可以是该虚拟隧道发送端设备中能够实现该装置实施例功能的功能模块和/或功能实体,本申请实施例不做限定。
本申请实施例中,各模块可以实现上述方法实施例提供的数据处理方法,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种电子设备,如图7所示,该电子设备可以包括:处理器701,存储器702以及存储在存储器702上并可在处理器701上运行的程序或指令,该程序或指令被处理器701执行时可以实现上述方法实施例提供的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现上述方法实施例提供的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机程序产品,其中,该计算机程序产品包括计算机程序或指令,当该计算机程序产品在处理器上运行时,使得处理器执行该计算机程序或指令,实现上述方法实施例提供的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置,服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
解析第一待传输数据包,得到所述第一待传输数据包的第一属性信息;
基于所述第一待传输数据包的第一属性信息查询预设对应关系,确定是否需要对所述第一待传输数据包进行聚合处理,所述预设对应关系包括多组对应关系,每组对应关系包括:数据包的属性信息与是否需要聚合处理之间的对应关系;
在确定需要对所述第一待传输数据包进行聚合处理的情况下,缓存所述第一待传输数据包至目标存储空间,直至满足预设聚合条件,对所述目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包,并对所述聚合数据包进行封装处理并通过虚拟隧道发送;其中,所述目标存储空间用于缓存需要聚合的待传输数据包,所述多个待传输数据包包括所述第一待传输数据包;
在确定不需要对所述第一待传输数据包进行聚合处理的情况下,对所述第一待传输数据包进行封装处理并通过所述虚拟隧道发送。
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括以下至少一种信息:包类型,源互联网国际IP地址,目标IP地址,源端口号,目标端口号,关键字;所述包类型用于指示数据包的业务类型,所述关键字用于指示数据包的主题内容。
3.根据权利要求1所述的方法,其特征在于,所述预设聚合条件包括以下至少一项:所述目标存储空间中缓存的待传输数据包的数量等于预设数量、所述目标存储空间中缓存的待传输数据包的总数据长度大于或等于预设数据长度、所述目标存储空间中缓存的首个待传输数据包的缓存时长等于预设时长。
4.根据权利要求3所述的方法,其特征在于,所述解析第一待传输数据包,得到所述第一待传输数据包的第一属性信息之前,所述方法还包括:
检测中央处理器CPU的占用率;
在所述CPU的占用率小于预设占用率的情况下,减小所述预设聚合条件指示的所述预设数量、所述预设数据长度以及所述预设时长中的一个或多个的值;
在所述CPU的占用率大于或者等于所述预设占用率的情况下,增大所述预设聚合条件指示的所述预设数量、所述预设数据长度以及所述预设时长中的一个或多个的值。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述预设对应关系还包括:数据包的聚合处理策略指示信息与数据包的属性信息之间的关系;
所述在确定需要对所述第一待传输数据包进行聚合处理的情况下,缓存所述第一待传输数据包至目标存储空间,包括:
在确定需要对所述第一待传输数据包进行聚合处理的情况下,基于所述第一属性信息查询预设对应关系,确定所述第一待传输数据包的聚合处理策略指示信息;
缓存所述第一待传输数据包至所述待传输数据包的聚合处理策略指示信息对应的所述目标存储空间。
6.根据权利要求5所述方法,其特征在于,所述聚合处理策略指示信息包括聚合优先级和/或聚合处理方式。
7.根据权利要求6所述的方法,其特征在于,所述聚合处理策略指示信息包括聚合处理方式;所述对所述目标存储空间中的多个待传输数据包进行聚合处理得到聚合数据包,包括:
根据所述第一待传输数据包的聚合处理方式,对所述多个待传输数据包进行聚合处理得到所述聚合数据包。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述对所述聚合数据包进行封装处理并通过虚拟隧道发送之后,所述方法还包括:
删除所述目标存储空间中的所述多个待传输数据包。
9.一种电子设备,其特征在于,包括:处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至8中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,包括:所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311692877.7A CN117675442A (zh) | 2023-12-08 | 2023-12-08 | 一种数据处理方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311692877.7A CN117675442A (zh) | 2023-12-08 | 2023-12-08 | 一种数据处理方法、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117675442A true CN117675442A (zh) | 2024-03-08 |
Family
ID=90080538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311692877.7A Pending CN117675442A (zh) | 2023-12-08 | 2023-12-08 | 一种数据处理方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117675442A (zh) |
-
2023
- 2023-12-08 CN CN202311692877.7A patent/CN117675442A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7957392B2 (en) | Method and apparatus for high-performance bonding resequencing | |
CN110022264B (zh) | 控制网络拥塞的方法、接入设备和计算机可读存储介质 | |
CN109936514B (zh) | 一种报文处理方法和装置 | |
WO2019000866A1 (zh) | 一种数据处理方法及物联网网关 | |
CN113326228A (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
CN111026324B (zh) | 转发表项的更新方法及装置 | |
CN110958331A (zh) | 一种数据传输方法及终端 | |
CN114885045B (zh) | 一种在高速智能网卡/dpu内节约dma通道资源方法和装置 | |
CN110691139B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN113115120B (zh) | 视频切片方法、装置、电子设备及存储介质 | |
US11082411B2 (en) | RDMA-based data transmission method, network interface card, server and medium | |
CN116074253B (zh) | 一种报文链式转发方法及装置 | |
WO2023125380A1 (zh) | 一种数据管理的方法及相应装置 | |
CN114615347B (zh) | 基于udp gso的数据传输方法、装置、计算机设备和存储介质 | |
CN115002008B (zh) | 一种网络时延测量的方法、装置、设备以及存储介质 | |
CN117675442A (zh) | 一种数据处理方法、电子设备及计算机可读存储介质 | |
CN114710426A (zh) | 一种确定读操作往返时延的方法、装置、系统及相关设备 | |
CN114615348B (zh) | 基于udp gso的数据传输方法、装置、计算机设备和存储介质 | |
TWI808035B (zh) | 一種高效傳輸的乙太網設備 | |
US11909851B2 (en) | Coalescing interrupts based on fragment information in packets and a network controller for coalescing | |
CN114095572B (zh) | 数据搬运方法及装置 | |
EP4075741A1 (en) | Method and apparatus for acquiring forwarding information | |
EP4161032A1 (en) | Network packet-based remote memory access method and apparatus, and device and medium | |
CN118175166A (zh) | 一种有线串行总线数据传输方法、系统及相关装置 | |
CN117692399A (zh) | 报文上送方法和装置 |
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 |