一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、电子设备及计算机可读存储介质与流程

2023-04-12 16:09:03 来源:中国专利 TAG:


1.本技术涉及数据处理领域及网络安全领域,具体而言,涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.ipsec vpn是一种采用ipsec(internet protocol security,网络安全)协议来实现远程接入的vpn(virtual private network,虚拟专用网络)技术,通过ipsec vpn在进行数据包处理时,要保证数据包先进先出的原则,即先接收到的数据包要优先处理并保证优先转发,只有在该原则下,才能达到数据传输的最佳状态,否则可能会产生数据包重传加重网络负担。
3.由于要保证数据包的处理顺序,因此,在现有技术中,通常采用同步的处理方式对数据包进行处理,即利用一个处理器核心处理所有的数据包,在处理器核心接收到一个数据包后立即对该数据包进行处理,处理完成之后,处理器核心将该数据包所对应生成的目标数据包进行数据转发,然后再进行下一个数据包的处理。由于这种同步的方式只使用了处理器的一个处理器核心,因此导致处理器的其他处理器核心一直处于闲置状态,进而造成处理器核心的利用率较低的问题。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,以至少解决现有技术中在通过多核处理器进行数据处理时存在的处理器核心利用率低的技术问题。
6.根据本技术实施例的一个方面,提供了一种数据处理方法,包括:获取n个待处理数据包,其中,每个待处理数据包至少包含传输通道标识以及请求类型标识,传输通道标识用于区分发送待处理数据包的设备,请求类型标识用于表征待处理数据包对应的数据处理请求类型;根据传输通道标识将n个待处理数据包划分为m个数据集合,其中,每个数据集合中包含至少一个待处理数据包,至少一个待处理数据包的传输通道标识相同;根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心,其中,预设绑定关系用于表征传输通道标识与处理器核心标识之间的对应关系,处理器核心标识用于区分不同的处理器核心;根据请求类型标识对进入目标处理器核心的数据集合进行数据处理,得到每个数据集合对应的至少一个目标数据包,其中,一个待处理数据包与一个目标数据包相对应;根据请求类型标识以及目标数据包的生成时间,确定将目标数据包发送目标设备的发送时间。
7.进一步地,数据处理方法还包括:从多个处理器核心中确定x个处理器核心为目标处理器核心,其中,每个目标处理器核心用于处理m个数据集合中的至少一个数据集合;根据每个数据集合对应的传输通道标识与预设绑定关系确定每个数据集合对应的目标处理
器核心。
8.进一步地,数据处理方法还包括:在根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心之后,获取目标网卡接收到待处理数据包时的接收时间,其中,目标网卡用于接收待处理数据包,并将待处理数据包发送至目标处理器核心中;根据接收时间的先后顺序确定每个数据集合中至少一个待处理数据包的排列顺序;依据目标处理器核心将至少一个待处理数据包按照排列顺序缓存为目标序列。
9.进一步地,数据处理方法还包括:从多个处理器核心中确定f个处理器核心为第一处理器核心,其中,第一处理器核心与目标处理器核心之间相互独立;依据第一处理器核心识别目标序列中每个待处理数据包的请求类型标识;根据请求类型标识对每个待处理数据包进行数据处理,得到每个待处理数据包对应的目标数据包。
10.进一步地,数据处理方法还包括:从多个处理器核心中确定j个处理器核心为第二处理器核心,其中,第二处理器核心与目标处理器核心、第一处理器核心之间相互独立;在第一处理器核心生成一个目标数据包之后,依据第二处理器核心确定该目标数据包为待发送数据包;确定待发送数据包所对应的待处理数据包为第一数据包,并确定第一数据包所在的目标序列为待处理序列;根据第一数据包的请求类型标识以及待发送数据包的生成时间确定待发送数据包的发送时间。
11.进一步地,数据处理方法还包括:根据第一数据包的请求类型标识从待处理序列中确定第一子序列,其中,第一子序列中的待处理数据包的请求类型标识与第一数据包的请求类型标识相同;检测第一子序列中是否存在第二数据包,其中,第二数据包的接收时间早于第一数据包的接收时间,并且第二数据包对应的目标数据包还未生成;在第一子序列中不存在第二数据包的情况下,确定待发送数据包的生成时间为待发送数据包的发送时间;在第一子序列中存在第二数据包的情况下,根据第一目标数据包的生成时间确定待发送数据包的发送时间,其中,第一目标数据包为第二数据包对应的目标数据包。
12.进一步地,数据处理方法还包括:检测是否生成第一目标数据包;在第一目标数据包生成之后,确定第一目标数据包的生成时间为第一时间,其中,第一时间也为第一目标数据包的发送时间;根据第一时间确定待发送数据包的发送时间,其中,待发送数据包的发送时间晚于第一时间。
13.根据本技术实施例的另一方面,还提供了一种数据处理装置,包括:获取模块,用于获取n个待处理数据包,其中,每个待处理数据包至少包含传输通道标识以及请求类型标识,传输通道标识用于区分发送待处理数据包的设备,请求类型标识用于表征待处理数据包对应的数据处理请求类型;划分模块,用于根据传输通道标识将n个待处理数据包划分为m个数据集合,其中,每个数据集合中包含至少一个待处理数据包,至少一个待处理数据包的传输通道标识相同;第一确定模块,用于根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心,其中,预设绑定关系用于表征传输通道标识与处理器核心标识之间的对应关系,处理器核心标识用于区分不同的处理器核心;数据处理模块,用于根据请求类型标识对进入目标处理器核心的数据集合进行数据处理,得到每个数据集合对应的至少一个目标数据包,其中,一个待处理数据包与一个目标数据包相对应;第二确定模块,用于根据请求类型标识以及目标数据包的生成时间,确定将目标数据包发送目标设备的发送时间。
14.根据本技术实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据处理方法。
15.根据本技术实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据处理方法。
16.在本技术中,通过根据传输通道标识将n个待处理数据包划分为m个数据集合的方式,首先获取n个待处理数据包,然后根据传输通道标识将n个待处理数据包划分为m个数据集合,并根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心,从而根据请求类型标识对进入目标处理器核心的数据集合进行数据处理,得到每个数据集合对应的至少一个目标数据包,进而根据请求类型标识以及目标数据包的生成时间,确定将目标数据包发送目标设备的发送时间。其中,每个待处理数据包至少包含传输通道标识以及请求类型标识,传输通道标识用于区分发送待处理数据包的设备,请求类型标识用于表征待处理数据包对应的数据处理请求类型;每个数据集合中包含至少一个待处理数据包,至少一个待处理数据包的传输通道标识相同;预设绑定关系用于表征传输通道标识与处理器核心标识之间的对应关系,处理器核心标识用于区分不同的处理器核心;一个待处理数据包与一个目标数据包相对应。
17.由上述内容可知,本技术通过根据待处理数据包的传输通道标识将n个待处理数据包划分为m个数据集合,并使用每个数据集合对应的处理器核心处理数据集合中的数据包,由于不同传输通道标识的数据包来自于不同的设备,因此,不同的数据集合中的数据包之间可以不遵循先进先出的原则,在此基础上,使用不同的处理器核心处理不同的数据集合,不仅能够提高数据处理效率,而且还能够提高多核处理器的处理器核心的利用率。
18.由此可见,通过本技术的技术方案,达到了利用处理器的多个处理器核心处理数据的目的,从而实现了提高数据处理效率的效果,进而解决了现有技术中在通过多核处理器进行数据处理时存在的处理器核心利用率低的技术问题。
附图说明
19.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
20.图1是根据本技术实施例的一种可选的数据处理方法的流程图;
21.图2是根据本技术实施例的一种目标网卡处理数据的示意图;
22.图3是根据本技术实施例的一种处理器核心划分示意图;
23.图4是根据本技术实施例的另一种可选的数据处理方法的流程图;
24.图5是根据本技术实施例的一种可选的数据处理装置的示意图。
具体实施方式
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是
本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.实施例1
28.根据本技术实施例,提供了一种数据处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
29.另外,还需要说明的是,一种数据处理设备可以作为本技术实施例的数据处理方法的执行主体。其中,数据处理设备至少包括目标网卡以及多核心处理器。具体的,目标网卡为一种支持多网卡列队的网卡,用于接收n个待处理数据包,并且将n个待处理数据包发送至多核心处理器中。多核心处理器则是本领域技术人员所理解的具有多个处理器核心的处理器。
30.图1是根据本技术实施例的一种可选的数据处理方法的流程图,如图1所示,该方法包括如下步骤:
31.步骤s101,获取n个待处理数据包。
32.在步骤s101中,每个待处理数据包至少包含传输通道标识以及请求类型标识,传输通道标识用于区分发送待处理数据包的设备,请求类型标识用于表征待处理数据包对应的数据处理请求类型。
33.具体的,上述的n可以是任意值,本技术对此不作特殊限定。上述的传输通道标识包括但不限于spi(serial peripheral interface,串行外设接口)号、hash(src\dis)号等标识,需要注意到的是,不同传输通道标识的待处理数据包来自于不同的设备。另外,每个待处理数据包的请求类型标识表征了该待处理数据包对应的数据处理请求类型,其中,数据处理请求类型包括但不限于数据加密请求、数据解密请求以及数据验证请求。
34.步骤s102,根据传输通道标识将n个待处理数据包划分为m个数据集合。
35.在步骤s102中,每个数据集合中包含至少一个待处理数据包,至少一个待处理数据包的传输通道标识相同。其中,m的值与n的值可以相同,也可以不同。
36.具体的,目标网卡作为数据处理设备与外部设备进行数据交互的设备,具有支持多网卡列队的特性,通常而言,目标网卡具有多个用于传输待处理数据包的数据通道,同时,目标网卡还可以根据待处理数据包的传输通道标识将进入数据通道的n个待处理数据包进行分组处理,从而得到m个数据集合。
37.在一种可选的实施例中,图2示出了根据本技术实施例的一种目标网卡处理数据
的示意图,如图2所示,在图2中示出了三个数据通道,分别为通道1、通道2以及通道3,假设有6个待处理数据包分别经由通道1与通道2进入了目标网卡,目标网卡识别到6个待处理数据包中有4个待处理数据包的spi号为spi1,有2个待处理数据包的spi号为spi2,在此基础上,目标网卡会将spi号为spi1的4个待处理数据包划分为数据集合a,将spi号为spi2的2个待处理数据包划分为数据集合b。
38.步骤s103,根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心。
39.在步骤s103中,预设绑定关系用于表征传输通道标识与处理器核心标识之间的对应关系,处理器核心标识用于区分不同的处理器核心。
40.可选的,为了提高处理器的多个处理器核心,数据处理设备会根据处理器核心标识将处理器的多个处理器核心划分为三组。如图3所示,假设处理器共有7个处理器核心,则可以将处理器核心1与处理器核心2组成一个目标处理器核心组,处理器核心3、处理器核心4以及处理器核心5组成一个第一处理器核心组,剩余的处理器核心6与处理器核心7组成一个第二处理器核心组。其中,目标处理器核心组中的每个处理器核心为一个目标处理器核心;第一处理器核心组中的每个处理器核心为一个第一处理器核心;第二处理器核心组中的每个处理器核心为一个第二处理器核心。
41.可选的,根据预设绑定关系,每个目标处理器核心用于接收对应的多个待处理数据包,并按照待处理数据包的接收顺序,将接收到的多个待处理数据包缓存为目标序列。例如,如图2所示,目标处理器核心1与spi号为spi1的数据集合相对应,接收上述的数据集合a;目标处理器核心2则对应的是spi号为spi2的数据集合以及spi号为spi3的数据集合,因此,目标处理器核心2可以接收两个数据集合,分别为上述的数据集合b与数据集合c,其中,数据集合c中的待处理数据包的spi号全部都是spi3。
42.步骤s104,根据请求类型标识对进入目标处理器核心的数据集合进行数据处理,得到每个数据集合对应的至少一个目标数据包。
43.在步骤s104中,一个待处理数据包与一个目标数据包相对应。
44.可选的,每个数据集合中包含至少一个待处理数据包,并且至少一个待处理数据包的请求类型标识可能不同,因此,数据处理器设备会调用工作处理器核心组中的多个第一处理器核心并行地对数据集合中的待处理数据包进行数据处理。例如,如果待处理数据包a的请求类型为数据加密请求,则第一处理器核心会对待处理数据包a进行数据加密处理,得到目标数据包a;如果待处理数据包b的请求类型为数据解密请求,则第一处理器核心会对待处理数据包b进行数据解密处理,得到目标数据包b。
45.需要注意到的是,由于不同的数据集合之间的传输通道标识不同,因此,数据集合a与数据集合b是相互独立的,两个数据集合中的数据分别来自于不同的设备,即第一处理器核心在处理数据集合a时不需要考虑与数据集合b之间的先后顺序,两个数据集合之间可以不遵循先进先出的原则。在此基础上,数据处理设备能够使用不同的第一处理器核心处理两个数据集合,从而不仅能够提高数据处理效率,还能利用上闲置的处理器核心。
46.步骤s105,根据请求类型标识以及目标数据包的生成时间,确定将目标数据包发送目标设备的发送时间。
47.在步骤s105,对于一个数据集合而言,由于在一个数据集合中可能会存在多个不
同请求类型标识的待处理数据包,因此,数据处理设备需要确保同一个请求类型的多个待处理数据包所对应的目标数据包按照先进先出的原则进行发送,以便保证目标设备在接收到多个目标数据包时的顺序是正确的,进而减轻数据传输过程中的网络负担。
48.需要注意得到,本领域技术人员知晓的是,如果目标设备接收到的多个目标数据包顺序是错误的,则目标设备需要在重新排列多个目标数据包之后才能处理目标数据包,或者要求发送设备重新发送目标数据包,无论是哪一种情况,都会导致数据传输网络出现拥堵的问题,从而增加了数据传输过程中的网络负担。另外,由于不同请求类型的数据包之间互不影响,因此,不同请求类型的目标数据包之间也是互相独立的,数据处理设备在发送不同请求类型的目标数据包时也可以不考虑发送顺序,因此,本技术中的数据处理设备只需要保证同一个数据集合中相同请求类型的待处理数据包所对应的目标数据包按照先进先出的原则进行发送,即可以在保证不增加网络负担的同时,实现提高数据处理效率的效果。
49.基于上述步骤s101至步骤s105的内容可知,在本技术中,通过根据传输通道标识将n个待处理数据包划分为m个数据集合的方式,首先获取n个待处理数据包,然后根据传输通道标识将n个待处理数据包划分为m个数据集合,并根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心,从而根据请求类型标识对进入目标处理器核心的数据集合进行数据处理,得到每个数据集合对应的至少一个目标数据包,进而根据请求类型标识以及目标数据包的生成时间,确定将目标数据包发送目标设备的发送时间。其中,每个待处理数据包至少包含传输通道标识以及请求类型标识,传输通道标识用于区分发送待处理数据包的设备,请求类型标识用于表征待处理数据包对应的数据处理请求类型;每个数据集合中包含至少一个待处理数据包,至少一个待处理数据包的传输通道标识相同;预设绑定关系用于表征传输通道标识与处理器核心标识之间的对应关系,处理器核心标识用于区分不同的处理器核心;一个待处理数据包与一个目标数据包相对应。
50.由上述内容可知,本技术通过根据待处理数据包的传输通道标识将n个待处理数据包划分为m个数据集合,并使用每个数据集合对应的处理器核心处理数据集合中的数据包,由于不同传输通道标识的数据包来自于不同的设备,因此,不同的数据集合中的数据包之间可以不遵循先进先出的原则,在此基础上,使用不同的处理器核心处理不同的数据集合,不仅能够提高数据处理效率,而且还能够提高多核处理器的处理器核心的利用率。
51.由此可见,通过本技术的技术方案,达到了利用处理器的多个处理器核心处理数据的目的,从而实现了提高数据处理效率的效果,进而解决了现有技术中在通过多核处理器进行数据处理时存在的处理器核心利用率低的技术问题。
52.在一种可选的实施例中,数据处理设备从多个处理器核心中确定x个处理器核心为目标处理器核心,并根据每个数据集合对应的传输通道标识与预设绑定关系确定每个数据集合对应的目标处理器核心。其中,每个目标处理器核心用于处理m个数据集合中的至少一个数据集合。
53.可选的,图4示出了根据本技术实施例的一种可选的数据处理方法的流程图,如图4所示,假设有10个待处理数据包进入了目标网关,目标网关识别到有4个待处理数据包的spi号为spi1,有5个待处理数据包的spi号为spi2,有1个待处理数据包的spi号为spi3。其中,预设绑定关系中约束了spi1与处理器核心1相对应,spi2、spi3都与处理器核心2相对
应,因此,目标网关将spi号为spi1的4个待处理数据包组成数据集合a,将spi号为spi2的5个待处理数据包组成数据集合b,将spi号为spi3的1个待处理数据包组成数据集合c,并且将数据集合a发送至处理器核心1中,将数据集合b与数据集合c发送至处理器核心2.
54.在一种可选的实施例中,在根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心之后,数据处理设备获取目标网卡接收到待处理数据包时的接收时间,并根据接收时间的先后顺序确定每个数据集合中至少一个待处理数据包的排列顺序,从而依据目标处理器核心将至少一个待处理数据包按照排列顺序缓存为目标序列。其中,目标网卡用于接收待处理数据包,并将待处理数据包发送至目标处理器核心中。
55.可选的,如图4所示,以数据集合a为例,数据集合a中包含待处理数据包1、待处理数据包2、待处理数据包3以及待处理数据包4,其中,按照4个待处理数据包的接收时间的先后顺序,4个待处理数据包的排列顺序为:待处理数据包1、待处理数据包2、待处理数据包4、待处理数据包3,基于该排列顺序,目标处理器核心将缓存一个目标序列[待处理数据包1、待处理数据包2、待处理数据包4、待处理数据包3]。
[0056]
在一种可选的实施例中,数据处理设备还会从多个处理器核心中确定f个处理器核心为第一处理器核心,其中,第一处理器核心与目标处理器核心之间相互独立。然后数据处理设备依据第一处理器核心识别目标序列中每个待处理数据包的请求类型标识,并根据请求类型标识对每个待处理数据包进行数据处理,得到每个待处理数据包对应的目标数据包。
[0057]
可选的,如图4所示,处理器的处理器核心3、处理器核心4与处理器核心5为第一处理器核心,仍以数据集合a为例,在第一处理器核心得到上述目标序列[待处理数据包1、待处理数据包2、待处理数据包4、待处理数据包3]之后,第二处理器核心会识别目标序列中每个待处理数据包的请求类型标识,假设待处理数据包1、待处理数据包2以及待处理数据包4的请求类型都是数据加密请求,待处理数据包3的请求类型为数据解密请求,则第一处理器核心会对待处理数据包1、待处理数据包2以及待处理数据包4分别进行数据加密处理,得到对应的目标数据包1、目标数据包2以及目标数据包4,同时,第一处理器核心还会对待处理数据包3进行数据解密处理,得到目标数据包3。
[0058]
需要注意到的是,由于数据集合b、数据集合c以及数据集合a之间是相互独立的,因此,处理器核心3、处理器核心4与处理器核心5可以同时对三个数据集合进行数据处理。
[0059]
在一种可选的实施例中,数据处理设备还会从多个处理器核心中确定j个处理器核心为第二处理器核心,并且在第一处理器核心生成一个目标数据包之后,依据第二处理器核心确定该目标数据包为待发送数据包,然后确定待发送数据包所对应的待处理数据包为第一数据包,并确定第一数据包所在的目标序列为待处理序列,最后根据第一数据包的请求类型标识以及待发送数据包的生成时间确定待发送数据包的发送时间。其中,第二处理器核心与目标处理器核心、第一处理器核心之间相互独立。
[0060]
可选的,第二处理器核心首先根据第一数据包的请求类型标识从待处理序列中确定第一子序列,其中,第一子序列中的待处理数据包的请求类型标识与第一数据包的请求类型标识相同。然后,第二处理器核心检测第一子序列中是否存在第二数据包,其中,第二数据包的接收时间早于第一数据包的接收时间,并且第二数据包对应的目标数据包还未生成。最后,在第一子序列中不存在第二数据包的情况下,第二处理器核心确定待发送数据包
的生成时间为待发送数据包的发送时间;在第一子序列中存在第二数据包的情况下,第二处理器核心根据第一目标数据包的生成时间确定待发送数据包的发送时间,其中,第一目标数据包为第二数据包对应的目标数据包。
[0061]
可选的,如图4所示,处理器核心6与处理器核心7为第二处理器核心,仍以数据集合a为例,在第一处理器核心生成目标数据包2之后,第二处理器核心首先确定目标数据包2的生成时间,并且确定待处理数据包2为第一数据包,待处理数据包所在的目标序列[待处理数据包1、待处理数据包2、待处理数据包4、待处理数据包3]为待处理序列,已知待处理数据包2的请求类型为数据加密请求,待处理数据包1和待处理数据包4的请求类型也是数据加密请求,因此,第一子序列应该为[待处理数据包1、待处理数据包2、待处理数据包4]。
[0062]
进一步地,待处理数据包1的接收时间早于待处理数据包2的接收时间,如果此时待处理数据包1所对应的目标数据包1还未生成,则第二处理器核心将确定待处理数据包1为第二数据包,此时第二处理器核心将禁止发送目标数据包2,而是要在目标数据包1生成并且先发送之后,才能发送目标数据包2,因此来保证同一个数据集合下相同请求类型的待处理数据包所对应的目标数据包按照先进先出的原则进行发送。
[0063]
另外,如果在目标数据包2生成时,目标数据包1已经生成并且发送,则第二处理器核心可直接确定目标数据包2的生成时间为目标数据包2的发送时间,即不需在进行任何等待,可以直接发送至目标设备。
[0064]
在一种可选的实施例中,在第一子序列中存在第二数据包的情况下,第二处理器核心检测是否生成第一目标数据包,在第一目标数据包生成之后,第二处理器核心确定第一目标数据包的生成时间为第一时间,并且根据第一时间确定待发送数据包的发送时间,其中,第一时间也为第一目标数据包的发送时间,待发送数据包的发送时间晚于第一时间。
[0065]
可选的,如图4所示,依据第一子序列[待处理数据包1、待处理数据包2、待处理数据包4],如果在目标数据包2生成之后,目标数据包1(对应第一目标数据包)还未生成,则第二处理器核心将禁止发送目标数据包,并且第二处理器核心会实时监测第一处理器核心是否生成了目标数据包1,假设目标数据包1的生成时间为第一时间t1,则t1也为目标数据包1的发送时间,第二处理器核心将会在发送目标数据包2之前先发送目标数据包1。
[0066]
进一步地,在确定目标数据包1成功发送之后,第二处理器核心会确定当前时间为目标数据包2的发送时间,并且将目标数据包2发送至目标设备中。
[0067]
容易注意到的是,如果目标设备接收到的多个目标数据包顺序是错误的,则目标设备需要在重新排列多个目标数据包之后才能处理目标数据包,或者要求发送设备重新发送目标数据包,无论是哪一种情况,都会导致数据传输网络出现拥堵的问题,从而增加了数据传输过程中的网络负担。另外,由于不同请求类型的数据包之间互不影响,因此,不同请求类型的目标数据包之间也是互相独立的,数据处理设备在发送不同请求类型的目标数据包时也可以不考虑发送顺序,因此,本技术中的数据处理设备只需要保证同一个数据集合中相同请求类型的待处理数据包所对应的目标数据包按照先进先出的原则进行发送,即可以在保证不增加网络负担的同时,实现提高数据处理效率的效果,进而达到了充分利用多核处理器的多个处理器核心的目的。
[0068]
实施例2
[0069]
根据本技术实施例,还提供了一种数据处理装置,其中,图5是根据本技术实施例
的一种可选的数据处理装置的示意图,如图5所示,该装置包括:获取模块501,用于获取n个待处理数据包,其中,每个待处理数据包至少包含传输通道标识以及请求类型标识,传输通道标识用于区分发送待处理数据包的设备,请求类型标识用于表征待处理数据包对应的数据处理请求类型;划分模块502,用于根据传输通道标识将n个待处理数据包划分为m个数据集合,其中,每个数据集合中包含至少一个待处理数据包,至少一个待处理数据包的传输通道标识相同;第一确定模块503,用于根据预设绑定关系从多个处理器核心中确定每个数据集合对应的目标处理器核心,其中,预设绑定关系用于表征传输通道标识与处理器核心标识之间的对应关系,处理器核心标识用于区分不同的处理器核心;数据处理模块504,用于根据请求类型标识对进入目标处理器核心的数据集合进行数据处理,得到每个数据集合对应的至少一个目标数据包,其中,一个待处理数据包与一个目标数据包相对应;第二确定模块505,用于根据请求类型标识以及目标数据包的生成时间,确定将目标数据包发送目标设备的发送时间。
[0070]
需要说明的是,上述获取模块501、划分模块502、第一确定模块503、数据处理模块504以及第二确定模块505对应于上述实施例1中的步骤s101至步骤s105,五个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
[0071]
可选的,上述的第一确定模块包括:第一确定单元以及第二确定单元。其中,第一确定单元,用于从多个处理器核心中确定x个处理器核心为目标处理器核心,其中,每个目标处理器核心用于处理m个数据集合中的至少一个数据集合;第二确定单元,用于根据每个数据集合对应的传输通道标识与预设绑定关系确定每个数据集合对应的目标处理器核心。
[0072]
可选的,数据处理装置还包括:第一获取模块、第三确定模块以及缓存模块。其中,第一获取模块,用于获取目标网卡接收到待处理数据包时的接收时间,其中,目标网卡用于接收待处理数据包,并将待处理数据包发送至目标处理器核心中;第三确定模块,用于根据接收时间的先后顺序确定每个数据集合中至少一个待处理数据包的排列顺序;缓存模块,用于依据目标处理器核心将至少一个待处理数据包按照排列顺序缓存为目标序列。
[0073]
可选的,上述的数据处理模块还包括:第三确定单元、识别单元以及数据处理单元。其中,第三确定单元,用于从多个处理器核心中确定f个处理器核心为第一处理器核心,其中,第一处理器核心与目标处理器核心之间相互独立;识别单元,用于依据第一处理器核心识别目标序列中每个待处理数据包的请求类型标识;数据处理单元,用于根据请求类型标识对每个待处理数据包进行数据处理,得到每个待处理数据包对应的目标数据包。
[0074]
可选的,上述的第二确定模块还包括:第四确定单元、第五确定单元、第六确定单元以及第七确定单元。其中,第四确定单元,用于从多个处理器核心中确定j个处理器核心为第二处理器核心,其中,第二处理器核心与目标处理器核心、第一处理器核心之间相互独立;第五确定单元,用于在第一处理器核心生成一个目标数据包之后,依据第二处理器核心确定该目标数据包为待发送数据包;第六确定单元,用于确定待发送数据包所对应的待处理数据包为第一数据包,并确定第一数据包所在的目标序列为待处理序列;第七确定单元,用于根据第一数据包的请求类型标识以及待发送数据包的生成时间确定待发送数据包的发送时间。
[0075]
可选的,上述的第七确定单元包括:第一确定子单元、检测单元、第二确定子单元以及第三确定子单元。其中,第一确定子单元,用于根据第一数据包的请求类型标识从待处
理序列中确定第一子序列,其中,第一子序列中的待处理数据包的请求类型标识与第一数据包的请求类型标识相同;检测单元,用于检测第一子序列中是否存在第二数据包,其中,第二数据包的接收时间早于第一数据包的接收时间,并且第二数据包对应的目标数据包还未生成;第二确定子单元,用于在第一子序列中不存在第二数据包的情况下,确定待发送数据包的生成时间为待发送数据包的发送时间;第三确定子单元,用于在第一子序列中存在第二数据包的情况下,根据第一目标数据包的生成时间确定待发送数据包的发送时间,其中,第一目标数据包为第二数据包对应的目标数据包。
[0076]
可选的,上述的第三确定子单元包括:检测子模块、第一子模块以及第二子模块。其中,检测子模块,用于检测是否生成第一目标数据包;第一子模块,用于在第一目标数据包生成之后,确定第一目标数据包的生成时间为第一时间,其中,第一时间也为第一目标数据包的发送时间;第二子模块,用于根据第一时间确定待发送数据包的发送时间,其中,待发送数据包的发送时间晚于第一时间。
[0077]
实施例3
[0078]
根据本技术实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述实施例1中的数据处理方法。
[0079]
实施例4
[0080]
根据本技术实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述实施例1中的数据处理方法。
[0081]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0082]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0083]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0084]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0085]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0086]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现
出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0087]
以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表