数据存储方法、装置、处理设备、存储系统和存储介质与流程

文档序号:36999417发布日期:2024-02-09 12:42阅读:19来源:国知局
数据存储方法、装置、处理设备、存储系统和存储介质与流程

本技术涉及数据存储领域,尤其涉及一种数据存储方法、装置、处理设备、存储系统和存储介质。


背景技术:

1、随着大数据(big data)、人工智能(artificial intelligence,ai)、云计算技术的发展,大量的数据不断产生。为了降低数据存储成本,数据库可以采用数据压缩算法压缩源数据,即将源数据按照特定方法重构,从而降低数据冗余度,缩减源数据占用的存储容量。目前,为提高数据库的存储资源利用率,数据库对源数据压缩后空闲出来的存储空间进行返还。而在压缩源数据空闲出来的存储空间不足固定的页面规格时,无法进行存储空间的打洞(punch hole)返还,数据库的有效存储空间受到影响。因此,如何提供一种更有效的数据存储方法成为目前亟需解决的问题。


技术实现思路

1、本技术提供了一种数据存储方法、装置、处理设备、存储系统和存储介质,解决了因压缩源数据后空闲的存储空间不足固定的页面规格,数据的有效存储空间受到影响的问题。

2、第一方面,提供了一种数据存储方法,该数据存储方法由连接磁盘的处理设备执行,该磁盘用于为数据库提供存储空间。该数据存储方法包括:首先,处理设备压缩源数据获取一个或多个页面数据。其次,处理设备拆分第一页面数据获取第一稀疏文件;其中,第一页面数据为一个或多个页面数据中任一个;前述的第一稀疏文件包括至少一个待存储数据、至少一个空闲数据块,以及用于指示每个待存储数据的存储地址的地址元数据,第一页面数据的规格是待存储数据的规格的正整数倍,空闲数据块用于指示数据库中拆分第一页面数据后可被访问的存储空间。最后,处理设备将一个或多个页面数据对应的所有稀疏文件写入数据库的磁盘;该所有稀疏文件包括前述的第一稀疏文件。

3、在数据的持久化存储过程中,处理设备将源数据进行压缩后获取一个或多个页面数据,并对该页面数据进行处理和存储,减少了源数据所需占用的数据库的存储空间,提高了数据库对应的磁盘所能存储的数据量。处理设备对页面(page)数据进行拆分,从而实现了页面数据的细粒度划分,获得了更细粒度的待存储数据,由于待存储数据和拆分页面数据确定的空闲数据块是以稀疏文件的形式存储的,且第一页面数据的规格是待存储数据的规格的正整数倍,该空闲数据块的规格也小于或等于页面数据的规格,因此,在处理设备将第一稀疏文件写入到数据库对应的磁盘后,处理设备可基于更小的规格对该空闲数据块对应的存储空间进行返还,使得访问数据库的主机可利用该返还的存储空间,提高了数据库中有效存储空间的容量,进而提升了数据库中存储资源的利用率。

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、本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

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