压缩数据读取方法、写入方法及装置与流程

文档序号:37635339发布日期:2024-04-18 17:51阅读:7来源:国知局
压缩数据读取方法、写入方法及装置与流程

本技术涉及数据存储领域,尤其涉及压缩数据读取方法、写入方法及装置。


背景技术:

1、数据压缩技术已成为当今存储等领域的关键技术,为提高存储系统的空间利用率,存储设备可利用高压缩率的压缩算法,对写入存储设备的文件进行压缩得到压缩数据,实现在有限的空间中存储更多的数据。由于该高压缩率的压缩算法为非通用算法,导致主机读取并利用该压缩数据时变得不可用。因此,如何提供一种更有效的压缩数据读取方法成为目前亟需解决的问题。


技术实现思路

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

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