数据处理方法、装置、设备、存储介质和程序产品制造方法及图纸

技术编号:37544050 阅读:15 留言:0更新日期:2023-05-12 16:14
本申请涉及一种数据处理方法、装置、设备、存储介质和程序产品。所述方法包括:根据待处理数据的数据量,确定目标中央处理器CPU以及所述目标CPU中的至少一个目标节点;根据所述至少一个目标节点的数据处理能力,将所述待处理数据分配至所述至少一个目标节点中进行处理;其中,所述目标节点为基于非统一内存访问处理器架构NUMA的节点,且所述目标节点预先设置有相应的配置信息,所述配置信息包括所述目标节点允许访问的候选节点,所述候选节点与所述目标节点之间的物理距离在设定距离范围内。采用本方法能够避免CPU中的跨节点访问内存,进而降低CPU在数据处理过程中访问内存所带来的延迟以及降低数据的丢包率。的延迟以及降低数据的丢包率。的延迟以及降低数据的丢包率。

【技术实现步骤摘要】
数据处理方法、装置、设备、存储介质和程序产品


[0001]本申请涉及计算机
,特别是涉及一种数据处理方法、装置、设备、存储介质和程序产品。

技术介绍

[0002]随着4G、5G的广泛应用,海量数据急需多核心CPU(Central Processing Unit,中央处理器)来处理高并发业务,因此,多核成为CPU设计的趋势。在多核CPU处理器中,大多采用的是SMP(Symmetric Multi Processing,对称多处理器结构)架构,而SMP架构对CPU的核的数量是有限制的,这就导致了CPU多核的不易实现。
[0003]目前,NUMA(Non

uniform memory access,非统一内存访问处理器架构)架构能够很好的解决SMP架构对CPU核数的限制。通常在SMP架构场景中,CPU内的每个核的地位都是平等的,各个核对内存访问的延迟都是相同的;也就是说,该场景下一般带来的访问延迟基本都是跨CPU引起的。
[0004]然而,在NUMA架构下,一个CPU会包括多个NUMA节点,且对于一颗CPU而言,整个内存空间在物理上是分布式的,每个CPU中的各个NUMA节点对不同内存的访问延迟也是不同的,这就造成在NUMA架构下,CPU在数据处理过程中访问内存所带来的延迟非常高,从而造成数据的丢包率较大。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够避免CPU中的跨节点访问内存,进而降低CPU在数据处理过程中访问内存所带来的延迟以及降低数据的丢包率的数据处理方法、装置、设备、存储介质和程序产品。
[0006]第一方面,本申请提供了一种数据处理方法,该方法包括:
[0007]根据待处理数据的数据量,确定目标中央处理器CPU以及目标CPU中的至少一个目标节点;
[0008]根据至少一个目标节点的数据处理能力,将待处理数据分配至至少一个目标节点中进行处理;
[0009]其中,上述目标CPU包括多个候选节点及每个候选节点的配置信息,上述配置信息包括候选节点在处理数据时允许访问的临近的其他候选节点,目标节点为多个候选节点中的节点。
[0010]本实施例中,由于可以根据待处理数据的数据量大小确定CPU及从目标CPU的候选节点中确定目标节点,而CPU中的节点配置为允许访问同一个CPU中近距离的其他候选节点,这样可以在CPU处理数据时,避免同一个CPU中跨节点访问内存的问题,从而就可以降低在CPU处理数据时因跨节点访问内存所带来的延迟,进而降低数据的丢包率,提高数据的传输效率和准确率。
[0011]在其中一个实施例中,上述至少一个目标节点包括多个目标节点,上述根据至少
一个目标节点的数据处理能力,将待处理数据分配至至少一个目标节点中进行处理,包括:
[0012]根据各目标节点的数据处理能力,将待处理数据划分为与各目标节点的数据处理能力匹配的多个子数据;
[0013]将各子数据分别分配至匹配的目标节点中进行处理。
[0014]本实施例中,通过各目标节点的数据处理能力将待处理数据划分为与目标节点匹配的子数据后,分配至目标节点进行数据处理,这样可以更快速地使各目标节点同步进行数据处理,提升数据的处理效率。
[0015]在其中一个实施例中,上述根据待处理数据的数据量,确定目标CPU中的至少一个目标节点,包括:
[0016]将目标CPU中的各候选节点划分为第一候选节点和第二候选节点;上述第一候选节点用于接收数据,上述第二候选节点用于对第一候选节点接收的数据进行数据处理;
[0017]根据待处理数据的数据量,从第二候选节点中确定至少一个目标节点。
[0018]本实施例中,通过将目标CPU中的各候选节点划分为专注于进行数据收发的节点和专注于进行数据处理的节点,并通过待处理数据的数据量从进行数据处理的节点中选择出目标节点进行数据处理,这样可以将CPU中的数据接收过程和数据处理过程进行分离,避免数据接收过程和数据处理过程混淆,即可以避免跨节点访问,有效降低CPU的各节点和核心之间内存访问的互相干扰,增大缓存命中,进而实现数据流量处理时驱动层的丢包率为0,并有效降低业务处理层的丢包率,同时也可以提升数据的处理效率。
[0019]在其中一个实施例中,上述根据待处理数据的数据量,从第二候选节点中确定至少一个目标节点,包括:
[0020]确定第二候选节点的总数据处理能力;
[0021]根据待处理数据的数据量和总数据处理能力的比对结果,从第二候选节点中确定出与数据量匹配的至少一个目标节点。
[0022]本实施例中,通过目标CPU中的候选节点的处理能力,从中选择出满足数据量要求的目标节点,这样可以进一步提升CPU对数据的处理效率。
[0023]在其中一个实施例中,上述第一候选节点与第二候选节点均为采用数据平面开发套件DPDK进行数据处理的节点。
[0024]本实施例中,通过采用DPDK技术进行数据处理,可以绕过内核,那么就可以避免经由内核处理所带来的数据延迟,从而可以提升数据的处理效率和CPU性能。
[0025]在其中一个实施例中,上述目标CPU包括第一目标CPU和第二目标CPU,上述方法还包括:
[0026]根据待处理数据的数据量,将待处理数据均分为第一待处理数据和第二待处理数据;
[0027]控制第一目标CPU运行第一实例对第一待处理数据进行处理,以及控制第二目标CPU运行第二实例对第二待处理数据进行处理;
[0028]其中,上述第一实例与第二实例为相互独立的实例。
[0029]本实施例中,通过将待处理数据均分为两份后,控制两个目标CPU上分别运行一个相互独立的实例来对各自接收的待处理数据进行处理,这样可以实现两个目标CPU之间的隔离,避免跨CPU之间的内存访问,进而提高数据的处理效率;同时通过两个CPU单独运行实
例处理数据,可以实现整机流量处理性能/数据吞吐量翻倍,且相较于单个CPU处理过程而言,数据的丢包率不变。
[0030]第二方面,本申请还提供了一种数据处理装置,该装置包括:
[0031]节点确定模块,用于根据待处理数据的数据量,确定目标中央处理器CPU以及目标CPU中的至少一个目标节点;
[0032]处理模块,用于根据至少一个目标节点的数据处理能力,将待处理数据分配至至少一个目标节点中进行处理;
[0033]其中,上述目标CPU包括多个候选节点及每个候选节点的配置信息,上述配置信息包括候选节点在处理数据时允许访问的临近的其他候选节点,目标节点为多个候选节点中的节点。
[0034]第三方面,本申请还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
[0035]根据待处理数据的数据量,确定目标中央处理器CPU以及目标CPU中的至少一个目标节点;
[0036]根据至少一个目标节点的数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:根据待处理数据的数据量,确定目标中央处理器CPU及所述目标CPU中的至少一个目标节点;根据所述至少一个目标节点的数据处理能力,将所述待处理数据分配至所述至少一个目标节点中进行处理;其中,所述目标CPU包括多个候选节点及每个所述候选节点的配置信息,所述配置信息包括所述候选节点在处理数据时允许访问的临近的其他候选节点,所述目标节点为所述多个候选节点中的节点。2.根据权利要求1所述的方法,其特征在于,所述至少一个目标节点包括多个目标节点,所述根据所述至少一个目标节点的数据处理能力,将所述待处理数据分配至所述至少一个目标节点中进行处理,包括:根据各所述目标节点的数据处理能力,将所述待处理数据划分为与各所述目标节点的数据处理能力匹配的多个子数据;将各所述子数据分别分配至匹配的目标节点中进行处理。3.根据权利要求1所述的方法,其特征在于,所述根据待处理数据的数据量,确定目标CPU中的至少一个目标节点,包括:将所述目标CPU中的各候选节点划分为第一候选节点和第二候选节点;所述第一候选节点用于接收数据,所述第二候选节点用于对所述第一候选节点接收的数据进行数据处理;根据所述待处理数据的数据量,从所述第二候选节点中确定所述至少一个目标节点。4.根据权利要求3所述的方法,其特征在于,所述根据所述待处理数据的数据量,从所述第二候选节点中确定所述至少一个目标节点,包括:确定所述第二候选节点的总数据处理能力;根据所述待处理数据的数据量和所述总数据处理能力的比对结果,从所述第二候选节点中确定出与所述数据量匹配的至少一个目标节点。5.根据权利要求3所述的...

【专利技术属性】
技术研发人员:潘潘姜海旺马庆怀焦岩李嵩伟朱春屹
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1