一种数据处理方法、装置和电子设备与流程

摘要: 本公开涉及高性能计算(highperformancecomputing,hpc),尤其涉及一种数据处理方法、装置和电子设备。背景技术:1、在hpc领域,并行分布...
一种数据处理方法、装置和电子设备与流程

本公开涉及高性能计算(high performance computing,hpc),尤其涉及一种数据处理方法、装置和电子设备。

背景技术:

1、在hpc领域,并行分布式文件系统通过条带化(striping)技术将文件数据分片存储于多个存储目标,以实现并行输入(input,i)/输出(output,o)与高吞吐。为降低小写入场景下的网络往返开销,此类系统通常在客户端内核模块中引入写回缓存(write-backcache)机制,将多个小写入聚合后批量发送至存储节点。以beegfs为代表的分布式文件系统采用线性cachebuffer作为写缓存,每个inode分配默认512kb的线性缓冲区,仅支持记录一段连续的文件偏移区间,且缓存最大长度受chunk边界约束以确保数据发往同一存储目标。对于同一chunk范围内的非连续写入,系统因严格顺序写判断将其识别为不适合缓存的模式,触发不必要的同步刷盘,导致网络往返次数增多,写入性能下降。

2、因此,如何提升分布式文件系统的写入效率成为了一个亟待解决的问题。

技术实现思路

1、本公开提供了一种数据处理方法、装置和电子设备,以至少解决相关技术中如何提升分布式文件系统的写入效率的问题。

2、本公开提供了一种数据处理方法,包括:获取当前写入请求;其中,当前写入请求包括写入数据在文件中的起始位置和写入数据的实际数据长度,文件按照存储数据长度被拆分为多个偏移区间,一个偏移区间对应文件中的一个连续地址段,且一个偏移区间对应一个存储节点;在当前偏移区间中已缓存数据的最大结束位置与起始位置不同时,基于当前偏移区间的存储数据长度和起始位置,确定实际区间编号;其中,最大结束位置为当前偏移区间中已缓存的各数据区间的结束位置中的最大值;在实际区间编号与当前偏移区间的区间编号相同时,基于缓冲区的数据长度、缓存命中率、当前调整系数、实际数据长度,通过加权评分得到当前评分;在当前评分大于或等于评分阈值、且当前偏移区间中已缓存的不连续区间的实际数量小于最大缓存数量、且当前偏移区间的剩余数据长度大于或等于实际数据长度时,将更新计数器值增加预设步长,并按照缓存处理方式将写入数据缓存至当前偏移区间;在当前评分小于评分阈值、和/或实际数量大于或等于最大缓存数量、和/或剩余数据长度小于实际数据长度时,将更新计数器值减少预设步长,并按照直发处理方式将写入数据直接发送至存储节点。

3、本公开还提供了一种数据处理装置,包括:获取模块,被配置为获取当前写入请求;其中,当前写入请求包括写入数据在文件中的起始位置和写入数据的实际数据长度,文件按照存储数据长度被拆分为多个偏移区间,一个偏移区间对应文件中的一个连续地址段,且一个偏移区间对应一个存储节点;处理模块,被配置为在当前偏移区间中已缓存数据的最大结束位置与起始位置不同时,基于当前偏移区间的存储数据长度和起始位置,确定实际区间编号;其中,最大结束位置为当前偏移区间中已缓存的各数据区间的结束位置中的最大值;处理模块,还被配置为在实际区间编号与当前偏移区间的区间编号相同时,基于缓冲区的数据长度、缓存命中率、当前调整系数、实际数据长度,通过加权评分得到当前评分;处理模块,还被配置为在当前评分大于或等于评分阈值、且当前偏移区间中已缓存的不连续区间的实际数量小于最大缓存数量、且当前偏移区间的剩余数据长度大于或等于实际数据长度时,将更新计数器值增加预设步长,并按照缓存处理方式将写入数据缓存至当前偏移区间;处理模块,还被配置为在当前评分小于评分阈值、和/或实际数量大于或等于最大缓存数量、和/或剩余数据长度小于实际数据长度时,将更新计数器值减少预设步长,并按照直发处理方式将写入数据直接发送至存储节点。

4、本公开还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现上述任一种数据处理方法的步骤。

5、本公开还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一种数据处理方法的步骤。

6、本公开还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一种数据处理方法的步骤。

7、本公开提供的数据处理方法,在当前偏移区间中已缓存数据的最大结束位置与起始位置不同时,并非直接判定为不适合缓存,而是先基于偏移区间的存储数据长度和起始位置确定实际区间编号,在实际区间编号与当前偏移区间的区间编号相同时,进一步基于缓冲区的数据长度、缓存命中率、当前调整系数和实际数据长度通过加权评分得到当前评分,并结合当前评分是否满足评分条件、不连续区间的实际数量是否小于最大缓存数量、剩余数据长度是否大于或等于实际数据长度来确定更新计数器值及对应的缓存处理方式或直发处理方式,使得同一偏移区间内的非连续写入能够依据评分与资源条件进行缓存决策而非直接触发同步刷盘,因此,可以解决同一偏移区间范围内的非连续写入因严格顺序写判断而触发不必要同步刷盘、网络往返次数增多的技术问题,达到减少网络往返次数、提升分布式文件系统写入效率的技术效果。

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的数据处理方法,其特征在于,所述在所述实际区间编号与所述当前偏移区间的区间编号相同时,基于缓冲区的数据长度、缓存命中率、当前调整系数、所述实际数据长度,通过加权评分得到当前评分,包括:

3.根据权利要求2所述的数据处理方法,其特征在于,所述第一得分与所述实际数据长度呈负相关。

4.根据权利要求2所述的数据处理方法,其特征在于,所述基于缓存命中率和当前调整系数,确定第二得分,包括:

5.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的数据处理方法,其特征在于,所述基于所述最大结束位置、所述起始位置、所述实际区间编号和所述当前偏移区间的区间编号,确定命中结果,包括:

7.根据权利要求5所述的数据处理方法,其特征在于,所述基于所述最大结束位置、所述起始位置、所述实际区间编号和所述当前偏移区间的区间编号,确定命中结果,包括:

8.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:

9.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:

10.一种电子设备,其特征在于,包括: