System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 压缩数据读取方法、写入方法及装置制造方法及图纸_技高网

压缩数据读取方法、写入方法及装置制造方法及图纸

技术编号:40957957 阅读:3 留言:0更新日期:2024-04-18 20:35
公开了一种压缩数据读取方法、写入方法及装置,涉及数据存储领域。该压缩数据读取方法包括:存储设备获取读请求,并根据该读请求指示的第一压缩数据的第一地址空间和预先存储的地址映射表,确定第二地址空间;以及,存储设备从该第二地址空间中读取将第一压缩数据压缩后的第二压缩数据;进而,存储设备根据读请求指示的压缩信息解压第二压缩数据进行,得到第一压缩数据。对于相同的原始数据,第二压缩数据占用的第二地址空间小于第一压缩数据占用的第二地址空间,存储设备中存储资源的占用降低,存储资源利用率提高。且存储设备输出的数据为第一压缩数据,避免了主机无法解压第二压缩数据导致数据不可用的问题,提高了存储设备的数据访问性能。

【技术实现步骤摘要】

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


技术介绍

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


技术实现思路

1、本申请提供了压缩数据读取方法、写入方法及装置,解决了主机无法使用存储设备输出的压缩数据的问题。

2、本申请采用如下技术方案。

3、第一方面,提供了一种压缩数据读取方法,该压缩数据读取方法可应用于数据存储系统,或者应用于支持数据存储系统实现该压缩数据读取方法的存储设备,例如该存储设备包括芯片。这里以存储设备执行本实施例提供的压缩数据读取方法为例进行说明,该存储设备包括至少一个硬盘。该压缩数据读取方法包括:首先,存储设备获取用于请求第一压缩数据的读请求。其次,存储设备根据读请求指示的第一压缩数据的第一地址空间和地址映射表,确定第二压缩数据的存储位置,即第二地址空间,存储设备从第二地址空间中读取第二压缩数据。最后,存储设备利用读请求指示的压缩信息对第二压缩数据进行解压,得到第一压缩数据。

4、其中,第二地址空间小于第一地址空间,第二压缩数据为压缩第一压缩数据确定的数据。

5、对于相同的原始数据,第二压缩数据所占用的第二地址空间小于第一压缩数据所占用的第二地址空间,存储设备中存储资源的占用降低,存储资源利用率提高。而且,存储设备读取第一压缩数据所对应的第二压缩数据后,还对第二压缩数据进行解压,使得存储设备输出的数据为第一压缩数据,避免了主机无法解压第二压缩数据导致数据不可用的问题,提高了存储设备的数据访问性能。

6、在一种可选的实现方式中,上述地址映射表用于指示第一地址空间与第二地址空间的映射关系,该映射关系为第一压缩数据被压缩前的存储位置和第二压缩数据的存储位置之间的对应关系。存储设备根据该对应关系和第一地址空间,确定第二压缩数据的第二地址空间。存储设备读取该第二地址空间中的第二压缩数据,并对第二压缩数据进行解压得到第一压缩数据,实现返回可用的第一压缩数据至主机,提高了存储设备的数据访问性能。

7、在一种可选的实现方式中,存储设备对第二压缩数据进行解压后,得到第一压缩数据对应的原始数据。存储设备根据压缩信息中的压缩算法和压缩参数对原始数据进行解压,得到第一压缩数据。存储设备将该第一压缩数据返回主机。

8、相较于通常技术中返回再压缩后的第二压缩数据,主机不能解压该第二压缩数据导致数据不可用的问题,存储设备将根据第二压缩数据获取到的第一压缩数据返回主机,本申请不影响数据的读取使用,提高了存储设备的数据访问性能。

9、在一种可选的实现方式中,存储设备基于读请求指示的第一地址空间,按设定的数据粒度读取第一地址空间中的数据。若第一地址空间中存在设定的数据粒度的数据,存储设备根据设定的数据粒度将读取前述的数据,并写入缓冲区。当缓冲区中的数据量满足第一地址空间指示的数据量时,存储设备将缓冲区中的数据作为第一压缩数据。存储设备将该第一压缩数据返回至前端。其中,上述缓冲区为一块预设的内存区域,用于暂时存放数据。

10、存储设备在接收到读请求后,将优先读取读请求指示的第一地址空间,以确保读取最新的第一压缩数据,并避免遗漏存储设备新写入第一地址空间的数据。存储设备以设定的数据粒度依次读取第一地址空间中的数据,并写入缓冲区。相较于通常技术中每次将设定的数据粒度直接返回主机,本申请存储设备利用缓冲区进行中转,能减少读取次数,节省读取时间,提高了存储设备的数据访问性能。

11、第二方面,提供了一种压缩数据写入方法,该压缩数据写入方法可应用于数据存储系统,或者应用于支持数据存储系统实现该压缩数据写入方法的存储设备,例如该存储设备包括芯片。这里以存储设备执行本实施例提供的压缩数据写入方法为例进行说明,该存储设备包括至少一个硬盘。该压缩数据写入方法包括:存储设备根据获取到的写请求,将写请求指示的第一压缩数据写入存储设备提供的第一地址空间;以及,存储设备压缩第一压缩数据得到第二压缩数据,并将第二压缩数据写入存储设备提供的第二地址空间。其中,该第二地址空间小于前述第一地址空间。

12、在本实施例中,存储设备对第一压缩数据进行了再压缩,得到第二压缩数据,该第二压缩数据的压缩率相较于第一压缩数据的压缩率进一步提高。并且,由于第二地址空间小于前述第一地址空间,因此存储设备再压缩得到的第二压缩数据所占用的存储空间降低,提高了存储设备中存储资源的利用率。

13、在一种可选的实现方式中,存储设备将第二压缩数据写入第二地址空间后,存储设备根据第一地址空间和第二地址空间,建立地址映射表。该地址映射表用于指示:第一压缩数据被压缩前的存储位置和第二压缩数据的存储位置之间的对应关系。

14、避免了通常技术中读取第一压缩数据时,读取到的是第二压缩数据,该第二压缩数据在主机中无法解压导致不可用的问题。在存储设备读取第一压缩数据时,基于地址映射表,确定第一压缩数据对应的第二压缩数据,并对第二压缩数据进行解压得到第一压缩数据,返回可用的第一压缩数据至主机,提高了存储设备的数据访问性能。

15、在一种可选的实现方式中,存储设备对第一压缩数据进行解压,得到该第一压缩数据对应的原始数据;并且,存储设备根据预设的压缩算法对原始数据进行压缩,得到第二压缩数据。该第二压缩数据占用的存储空间小于第一压缩数据的存储空间,减少了存储空间的占用,提高了存储空间的利用率。

16、第三方面,提供一种压缩数据读取装置,该压缩数据读取装置应用于存储设备,该压缩数据读取装置包括用于执行第一方面或第一方面任一种可选设计中的压缩数据读取方法的各个模块。示例的,该压缩数据读取装置包括:获取模块、处理模块和读取模块;获取模块,用于获取用于请求第一压缩数据的读请求。处理模块,用于根据读请求指示的第一压缩数据的第一地址空间和地址映射表,确定第二压缩数据的存储位置,即第二地址空间,存储设备从第二地址空间中读取第二压缩数据。读取模块,用于存储设备利用读请求指示的压缩信息对第二压缩数据进行解压,得到第一压缩数据。

17、其中,第二地址空间小于第一地址空间,第二压缩数据为压缩第一压缩数据确定的数据。

18、有益效果可以参见第一方面中任一种可选实现方式中的描述,此处不再赘述。所述压缩数据读取装置具有实现上述第一方面中任一种可选实现方式中的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

19、第四方面,提供一种压缩数据写入装置,该压缩数据写入装置应用于存储设备,该压缩数据写入装置包括用于执行第二方面或第二方面任一种本文档来自技高网...

【技术保护点】

1.一种压缩数据读取方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述地址映射表用于指示所述第一地址空间与第二地址空间的映射关系,所述映射关系为所述第一压缩数据被压缩前的存储位置和所述第二压缩数据的存储位置之间的对应关系。

3.根据权利要求1所述的方法,其特征在于,根据所述读请求指示的压缩信息对所述第二压缩数据进行解压,获取所述第一压缩数据,包括:

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

5.一种压缩数据写入方法,其特征在于,所述方法包括:

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

7.根据权利要求5所述的方法,其特征在于,所述压缩所述第一压缩数据获取第二压缩数据包括:

8.一种压缩数据读取装置,其特征在于,所述装置包括:

9.根据权利要求8所述的装置,其特征在于,所述地址映射表用于指示所述第一地址空间与第二地址空间的映射关系,所述映射关系为所述第一压缩数据被压缩前的存储位置和所述第二压缩数据的存储位置之间的对应关系。

10.根据权利要求8所述的装置,其特征在于,所述处理模块还用于对所述第二压缩数据进行解压,得到所述第一压缩数据的原始数据;根据所述压缩信息对所述原始数据进行压缩,得到所述第一压缩数据。

11.根据权利要求8所述的装置,其特征在于,所述读取模块,还用于若所述第一地址空间中存在设定的数据粒度的数据,根据所述设定的数据粒度将所述数据写入缓冲区;

12.一种压缩数据写入装置,其特征在于,所述装置包括:

13.根据权利要求12所述的装置,其特征在于,所述装置还包括:

14.根据权利要求12所述的装置,其特征在于,所述第二写入模块还用于对所述第一压缩数据进行解压,得到所述第一压缩数据的原始数据;根据预设的压缩算法对所述原始数据进行压缩,得到所述第二压缩数据。

15.一种存储设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机指令;所述处理器执行所述计算机指令时,实现权利要求1至4中任一项所述的方法;和/或,所述处理器执行所述计算机指令时,实现权利要求5至7中任一项所述的方法。

16.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被处理设备执行时,实现权利要求1至4中任一项所述的方法;和/或,当所述计算机程序或指令被处理设备执行时,实现权利要求5至7中任一项所述的方法。

17.一种计算机程序产品,包括计算机程序或指令,其特征在于,当所述计算机程序或指令在被处理设备执行时,实现权利要求1至4中任一项所述的方法;和/或,当所述计算机程序或指令在被处理设备执行时,实现权利要求5至7中任一项所述的方法。

18.一种存储设备,其特征在于,包括:处理器、第一地址空间和第二地址空间;

...

【技术特征摘要】

1.一种压缩数据读取方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述地址映射表用于指示所述第一地址空间与第二地址空间的映射关系,所述映射关系为所述第一压缩数据被压缩前的存储位置和所述第二压缩数据的存储位置之间的对应关系。

3.根据权利要求1所述的方法,其特征在于,根据所述读请求指示的压缩信息对所述第二压缩数据进行解压,获取所述第一压缩数据,包括:

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

5.一种压缩数据写入方法,其特征在于,所述方法包括:

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

7.根据权利要求5所述的方法,其特征在于,所述压缩所述第一压缩数据获取第二压缩数据包括:

8.一种压缩数据读取装置,其特征在于,所述装置包括:

9.根据权利要求8所述的装置,其特征在于,所述地址映射表用于指示所述第一地址空间与第二地址空间的映射关系,所述映射关系为所述第一压缩数据被压缩前的存储位置和所述第二压缩数据的存储位置之间的对应关系。

10.根据权利要求8所述的装置,其特征在于,所述处理模块还用于对所述第二压缩数据进行解压,得到所述第一压缩数据的原始数据;根据所述压缩信息对所述原始数据进行压缩,得到所述第一压缩数据。

11.根据权利要求8所述的装置,其特征在于,所述读取模块,还用于若...

【专利技术属性】
技术研发人员:章鹏张立博
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:

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

1