数据处理方法、装置及计算机设备与流程

文档序号:35104148发布日期:2023-08-10 14:01阅读:59来源:国知局
数据处理方法、装置及计算机设备与流程

本公开涉及计算机,尤其涉及数据处理方法、装置及计算机设备。


背景技术:

1、在分布式文件系统中,可以将存储器的存储空间划分为多个存储单元,以存储单元为单位存储数据。为了减少管理存储单元所需的元数据,可以增大存储单元的大小。然而,存储单元的大小越大,一个存储单元写满数据消耗的时间就越长,而且可能存在如网络不稳定或者系统异常等不确定因素就越多,则对存储单元执行写入操作的失败风险就越大。

2、针对上述存储单元的写入失败的情况,通常采用以下处理方式,来完成对数据的写入。第一种,跳过该存储单元中写失败的部分,继续往该存储单元后面的偏移位置继续追加写入剩余的数据。第二种,放弃该存储单元后面的区域,从该存储单元所属的ecg(erasure codegroup,纠删码计算块组)中,确定出一个新的存储单元,并将剩余的数据继续写入新的存储单元中。

3、然而,上述第一种处理方式中,若网络不稳定或者系统异常等不确定因素短时间内无法恢复或恢复过程不是连续的是断断续续的过程时,存储单元中偏移位置的数据量会很大,即,存储单元中空洞区域很大,或者,存储单元后续追加写入的数据占用的空间区域的连续性很差,即存储单元中碎片空间很多。上述第二种处理方式中,直接放弃对该存储单元的继续写入,会浪费该存储单元中剩余未写入的空间。因此,上述处理方式均会导致存储数据连续性差和对存储单元的空间利用率低的问题。


技术实现思路

1、本公开提供一种数据处理方法、装置及计算机设备,以至少解决相关技术中存储数据连续性差和对存储单元的空间利用率低的问题。本公开的技术方案如下:

2、第一方面,提供了一种数据处理方法,应用于计算机设备,计算机设备包括第一存储单元和第二存储单元,该方法包括:当将待处理数据写入第一存储单元写入失败时,将待处理数据中未写入的第一数据写入第二存储单元;将待处理数据中已写入的第二数据与第一数据合并,得到合并后的数据;合并后的数据是连续的待处理数据;用合并后的数据替换第一存储单元中的第二数据。

3、可以理解的是,在第一数据全部写入至第二存储单元的情况下,对第一数据和第二数据进行数据合并。

4、本技术提供的技术方案至少带来以下技术效果:在向第一存储单元写入待处理数据写入失败时,将未写入第一存储单元的第一数据写入第二存储单元。同时,将已写入至第一存储单元的第二数据和第二存储单元的第一数据的数据合并,并保证合并后的数据的连续性。进一步地,利用合并后的连续数据,取代第一存储单元中的第二数据,存储在存储单元中。如此保证了存储单元中存储的数据的连续性,避免了非连续的数据占用较大的存储空间,从而提高了对存储空间利用率。

5、在一种可能的实现方式中,将待处理数据中未写入的第一数据写入至第二存储单元,包括:第二数据的数据量小于预设数量时,将第一数据写入第二存储单元中第一区域,第二存储单元中第二区域的大小等于第二数据的数据量。

6、上述预设数量可以根据待处理数据的数据量确定。

7、上述实现方式中,针对第一存储单元中成功写入的数据量较少情况,将第一数据写入第二存储单元的第一区域同时,将第二存储单元的第二区域预留出来,以便于后续数据合并时,只用将少量的第二数据写入至第二存储单元的第二区域即可,从而减少数据合并过程中对数据的读写次数。

8、在另一种可能的实现方式中,将待处理数据中未写入的第一数据写入至第二存储单元,包括:在第二数据的数据量大于或等于预设数量时,将第一数据写入第二存储单元。

9、可理解的是,将第一数据写入第二存储单元的空闲区域中。

10、上述实现方式中,针对第一存储单元中成功写入的数据量较多情况,将数据量较少的第一数据写入第二存储单元的空闲区域即可,而不用在第二存储单元中预留第一数据占用的区域,以节省第二存储单元的存储空间。

11、另外,在后续数据合并的读写数据过程中,以读写数据量更少的第一数据为主,从而减少数据合并过程中对数据的读写次数。

12、在另一种可能的实现方式中,将待处理数据中已写入的第二数据与第一数据合并,得到合并后的数据;包括:将第二数据写入至第二存储单元中的第二区域,得到合并后的数据。

13、上述实现方式中,第二存储单元中预留有第二区域,说明第二存储单元的第一数据多于第一存储单元的第二数据。通过该实现方式,针对第二存储单元中预留有第二区域的场景,只用将较少数据量的第二数据写入至第二存储单元中第二区域,就能实现将第一数据和第二数据合并在第二存储单元,如此保证该场景下,数据合并过程中,对数据读写次数的最小化。

14、在另一种可能的实现方式中,将待处理数据中已写入的第二数据与第一数据合并,得到合并后的数据;包括:将第一数据和第二数据均写入至第三存储单元,得到合并后的数据。

15、上述实现方式中,第二存储单元中没有预留的第二区域,说明第二存储单元的第一数据少于第一存储单元的第二数据。通过该实现方式,针对第二存储单元中没有预留的第二区域的场景,将第一数据和第二数据合并至第三存储单元,以保证第一数据和第二数据能合理合并。

16、在另一种可能的实现方式中,将待处理数据中已写入的第二数据与第一数据合并,得到合并后的数据;包括:当第一存储单元存在间接故障时,将第一数据写入至第一存储单元得到合并后的数据。

17、上述实现方式中,第一存储单元存在间接故障,说明第一存储单元中故障被修复的可能性很大。基于此,在第一数据存储至第一存储单元后,确定第一存储单元能存储的数据时,将第一数据和第二数据合并在第一存储单元中,一方面既保证了该场景下,数据合并过程中,对数据读写次数的最小化;另一方面也保证了对第一存储单元重复使用,从而减少了占用存储单元的数量,提高了对存储单元的空间利用率。

18、在另一种可能的实现方式中,该方法还包括:当第一存储单元发生硬件故障时,根据第一数据和预设算法,得到第二数据。

19、在该实现方式中,第一存储单元发生硬件故障,则说明不能从第一存储单元中直接读取出已写入至第一存储单元的数据,而第一数据是能直接获取的。如此,基于硬件故障的场景,根据预设算法和第一数据推理出第二数据的方式更加合理,以保证该硬件故障场景下,对第二数据合理获取。

20、在另一种可能的实现方式中,该方法还包括:当第一存储单元受到间接故障时,从第一存储单元中读取出第二数据;间接故障包括软件故障和网络故障。

21、在该实现方式中,第二存储单元发生间接故障,则说明能从第一存储单元中直接读取出已写入至第一存储单元的数据。如此,基于间接故障的场景,直接获取第二数据,以保证该间接故障场景下,对第二数据快速获取。

22、在一些实现方式中,第一存储单元的物理地址与逻辑地址关联,形成了第一存储单元的物理地址和逻辑地址的关联关系。

23、在另一种可能的实现方式中,用合并后的数据替换第一存储单元中的第二数据,包括:将第一存储单元的物理地址与逻辑地址的关联关系替换为第二存储单元的物理地址与逻辑地址的关联关系。

24、可理解的是,第一存储单元的物理地址不与逻辑地址关联,并用第二存储单元的物理地址与该逻辑地址关联。

25、在该实现方式中,针对合并后的数据存储在第二存储单元的情况,采用第二存储单元的物理地址,替换第一存储单元的物理地址,使得第二存储单元的物理地址与逻辑地址关联,以实现将第一存储单元修改为第二存储单元,以及,将第一存储单元的数据修改为第二存储单元的数据。上述基于关联关系的替换来实现数据的迁移,该过程中不用对数据进行读写,从而减少整个数据处理过程中对数据的读写次数。

26、在另一种可能的实现方式中,用合并后的数据替换第一存储单元中的第二数据,包括:将第一存储单元的物理地址与逻辑地址的关联关系替换为第三存储单元的物理地址与逻辑地址的关联关系。

27、在该实现方式中,针对合并后的数据存储在第三存储单元的情况,采用第三存储单元的物理地址,替换第一存储单元的物理地址,使得第三存储单元的物理地址与逻辑地址关联,以实现将第一存储单元修改为第三存储单元,以及,将第一存储单元的数据修改为第三存储单元的数据。上述基于关联关系的替换来实现数据的迁移,该过程中不用对数据进行读写,从而减少整个数据处理过程中对数据的读写次数。

28、在另一种可能的实现方式中,第二存储单元的大小与第一存储单元的大小相同;第二存储单元为第一存储单元所属的纠删码计算块组以外的存储单元。

29、在该实现方式中,针对第一存储单元属于某一纠删码计算块组的场景,将第二存储单元的大小和第一存储单元的大小设置为相同,以保证纠删码计算过程中数据校验过程的合理性。同时,将第二存储单元设置为该纠删码计算块组以外的存储单元,以保证对第一数据的存储,不占用该纠删码计算块组的存储单元,从而使得该纠删码计算块组的各个存储单元能存储更多的数据,以保证该纠删码计算块组中存储单元的存储空间的利用率。

30、在另一种可能的实现方式中,该方法还包括:根据网络带宽的剩余容量,确定待处理数据的处理速度。

31、上述待处理数据的处理速度包括读取待处理数据的读取速度和写入待处理数据的写入速度。

32、在该实现方式中,根据网络带宽的剩余容量,确定合理的处理速度,以保证处理速度与网络带宽的剩余容量适配,一方面避免处理速度过快,而消耗过多带宽资源;另一方面,避免处理速度过慢,导致数据处理速度过慢。

33、第二方面,提供了一种数据处理装置,该装置应用于计算机设备,计算机设备包括第一存储单元和第二存储单元,该装置包括:读写单元,被配置为执行当将待处理数据写入第一存储单元写入失败时,将待处理数据中未写入的第一数据写入第二存储单元;合并单元,被配置为执行将待处理数据中已写入的第二数据与第一数据合并,得到合并后的数据;合并后的数据是连续的待处理数据;替换单元,被配置为执行用合并后的数据替换第一存储单元中的第二数据。

34、在一种可能的实现方式中,读写单元被具体配置为执行:第二数据的数据量小于预设数量时,将第一数据写入第二存储单元中第一区域,第二存储单元中第二区域的大小等于第二数据的数据量。

35、在另一种可能的实现方式中,读写单元被具体配置为执行:在第二数据的数据量大于或等于预设数量时,将第一数据写入第二存储单元。

36、在另一种可能的实现方式中,合并单元被具体配置为执行:将第二数据写入至第二存储单元中的第二区域,得到合并后的数据。

37、在另一种可能的实现方式中,合并单元被具体配置为执行:将第一数据和第二数据均写入至第三存储单元,得到合并后的数据。

38、在另一种可能的实现方式中,合并单元被具体配置为执行:当第一存储单元存在间接故障时,将第一数据写入至第一存储单元得到合并后的数据。

39、在另一种可能的实现方式中,读写单元还被配置为执行:当第一存储单元发生硬件故障时,根据第一数据和预设算法,得到第二数据。

40、在另一种可能的实现方式中,读写单元还被配置为执行:当第一存储单元受到间接故障时,从第一存储单元中读取出第二数据;间接故障包括软件故障和网络故障。

41、在另一种可能的实现方式中,替换单元还被配置为执行:将第一存储单元的物理地址与逻辑地址的关联关系替换为第二存储单元的物理地址与逻辑地址的关联关系。

42、在另一种可能的实现方式中,替换单元还被配置为执行:将第一存储单元的物理地址与逻辑地址的关联关系替换为第三存储单元的物理地址与逻辑地址的关联关系。

43、在另一种可能的实现方式中,第二存储单元的大小与第一存储单元的大小相同;第二存储单元为第一存储单元所属的纠删码计算块组以外的存储单元。

44、在另一种可能的实现方式中,读写单元还被配置为执行:根据网络带宽的剩余容量,确定待处理数据的处理速度。

45、第三方面,提供了一种芯片,该芯片包括处理器和供电电路,供电电路为处理器进行供电,处理器用于执行第一方面或第一方面任一种可能实现方式中的数据处理方法的操作步骤。

46、第四方面,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的执行设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的数据处理方法的操作步骤。

47、第五方面,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的执行设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的数据处理方法的操作步骤。

48、第六方面,提供了一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在计算机设备中运行时,使得计算机设备执行如第一方面或第一方面任意一种可能实现方式中的数据处理方法的操作步骤。

49、第七方面,提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行如第一方面或第一方面任意一种可能的实现方式中数据处理方法的操作步骤。

50、第二方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面或第一方面中不同设计方式所带来的技术效果,此处不再赘述。

51、本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

52、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1