CN109683825A - 一种存储系统在线数据压缩方法、装置及设备 - Google Patents
一种存储系统在线数据压缩方法、装置及设备 Download PDFInfo
- Publication number
- CN109683825A CN109683825A CN201811583790.5A CN201811583790A CN109683825A CN 109683825 A CN109683825 A CN 109683825A CN 201811583790 A CN201811583790 A CN 201811583790A CN 109683825 A CN109683825 A CN 109683825A
- Authority
- CN
- China
- Prior art keywords
- metadata
- data
- section
- compression
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013144 data compression Methods 0.000 title claims abstract description 39
- 230000006835 compression Effects 0.000 claims abstract description 117
- 238000007906 compression Methods 0.000 claims abstract description 116
- 230000006837 decompression Effects 0.000 claims description 14
- 238000004321 preservation Methods 0.000 claims description 14
- 238000011084 recovery Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 18
- 238000013523 data management Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 208000018999 crinkle Diseases 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储系统在线数据压缩方法、装置及设备,包括:接收压缩指令后,进行数据压缩得到压缩数据块;依据主元数据查找对应的段元数据,依据段元数据确定当前空白存储区域的起始位置,并据此将压缩数据块保存至物理磁盘内;接收读取指令后,依据主元数据及读取指令的读取位置来查找对应的段元数据;依据查找到的段元数据确定待读取数据在物理磁盘中的位置后进行数据读取;段元数据包括段的特征信息,段为物理磁盘对应的虚拟存储地址按固定长度划分后得到的存储区域段;主元数据包括段元数据的特征信息。本发明将元数据分段,每段对应固定长度的虚拟存储地址,方便了压缩数据读取和写入,提高了压缩性能,并且方便了压缩数据的管理。
Description
技术领域
本发明涉及数据压缩技术领域,特别是涉及一种存储系统在线数据压缩方法、装置及设备。
背景技术
随着信息产业的发展,对存储容量的需求越来越大,存储成本不断增加,同时对存储系统的性能要求越来越高。存储系统对压缩功能的需求越来越强,压缩技术也在不断变革,如何在提高压缩率、降低压缩响应时间一直是当前存储系统的研究方向。
元数据是描述存储数据特征的数据,这里的存储数据特征包括数据长度和存储位置等,数据读取和写入均需要依据元数据进行,但是目前压缩数据的元数据实现方案中,在数据读取或写入时,均需要首先遍历元数据来确定代读取和待写入的虚拟存储地址,之后再依据该虚拟存储地址确定物理磁盘的存储位置,在进行压缩数据的写入和读取。但是,由于目前存储容量很大,使得元数据整体数据量很大。因此,每次均需要遍历元数据的话,会影响压缩数据的写入和读取的速度,影响压缩性能。并且也不容易对全部的压缩数据进行数据管理,数据管理的效率不高。
因此,如何提供一种压缩性能好、数据管理效率高的存储系统在线数据压缩方法、装置及设备是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种存储系统在线数据压缩方法、装置及设备,将元数据分段后,每段对应固定长度的虚拟存储地址,从而方便了压缩数据读取和写入,提高了压缩性能,并且方便了压缩数据的管理。
为解决上述技术问题,本发明提供了一种存储系统在线数据压缩方法,包括:
接收压缩指令后,创建压缩事务并运行;
对所述压缩指令对应的待压缩数据进行压缩,得到压缩数据块;
依据存储系统的主元数据查找对应的段元数据,依据所述段元数据确定当前空白存储区域的起始位置;所述段元数据包括段的特征信息,所述段为物理磁盘对应的虚拟存储地址按照固定长度划分后得到的存储区域段;所述主元数据包括所述段元数据的特征信息;
从所述当前空白存储区域的起始位置开始,将所述压缩数据块保存至所述物理磁盘内,并更新所述段元数据保存的当前空白存储区域的起始位置;
接收读取指令后,创建数据读取事务并运行;依据所述主元数据以及所述读取指令的读取位置来查找对应的段元数据;
依据查找到的段元数据确定待读取数据在所述物理磁盘中的位置后,从该位置读取所述待读取数据。
优选地,所述对所述压缩指令对应的待压缩数据进行压缩,得到压缩数据块之后还包括:
为所述压缩数据块添加嵌入式元数据头,所述嵌入式元数据头内包括所述压缩数据块的特征信息。
优选地,还包括:
所述主元数据和所述段元数据发生损坏时,创建数据恢复事务并运行;读取全部压缩数据块中的嵌入式元数据头中的信息;
依据读取的嵌入式元数据头中的信息恢复段元数据;
依据恢复后的段元数据恢复主元数据;
将恢复后的段元数据和主元数据保存至磁盘内。
优选地,所述压缩数据块的特征信息包括:数据块长度、偏移量、虚拟地址信息、实际地址信息以及压缩比例。
优选地,所述依据查找到的段元数据确定待读取数据在所述物理磁盘中的位置后,从该位置读取所述待读取数据之后,还包括:
依据所述待读取数据的嵌入式元数据头中的信息,确定所述待读取数据解压缩后的数据量大小;
依据上述确定的数据量大小申请相应的存储空间,并在所述存储空间内保存解压缩后的所述待读取数据。
为解决上述技术问题,本发明还提供了一种存储系统在线数据压缩装置,包括:
事务创建模块,用于接收压缩指令后,创建压缩事务并运行触发压缩模块;接收读取指令后,创建数据读取事务并运行,触发读取位置查找模块;
所述压缩模块,用于对所述压缩指令对应的待压缩数据进行压缩,得到压缩数据块;
存储位置确定模块,用于依据存储系统的主元数据查找对应的段元数据,依据所述段元数据确定当前空白存储区域的起始位置;所述段元数据包括段的特征信息,所述段为物理磁盘对应的虚拟存储地址按照固定长度划分后得到的存储区域段;所述主元数据包括所述段元数据的特征信息;
存储模块,用于从所述当前空白存储区域的起始位置开始,将所述压缩数据块保存至所述物理磁盘内,并更新所述段元数据保存的当前空白存储区域的起始位置;
所述读取位置查找模块,用于依据所述主元数据以及所述读取指令的读取位置来查找对应的段元数据;
读取模块,用于依据查找到的段元数据确定待读取数据在所述物理磁盘中的位置后,从该位置读取所述待读取数据。
优选地,还包括:
元数据头添加模块,用于为所述压缩数据块添加嵌入式元数据头,所述嵌入式元数据头内包括所述压缩数据块的特征信息;触发所述存储位置确定模块。
优选地,还包括:
故障恢复模块,用于在所述主元数据和所述段元数据发生损坏时,创建数据恢复事务并运行;读取全部压缩数据块中的嵌入式元数据头中的信息;依据读取的嵌入式元数据头中的信息恢复段元数据;依据恢复后的段元数据恢复主元数据;将恢复后的段元数据和主元数据保存至磁盘内。
优选地,所述压缩数据块的特征信息包括:数据块长度、偏移量、虚拟地址信息、实际地址信息以及压缩比例;所述装置还包括:
数据量确定模块,用于依据所述待读取数据的嵌入式元数据头中的信息,确定所述待读取数据解压缩后的数据量大小;
空间申请保存模块,用于依据上述确定的数据量大小申请相应的存储空间,并在所述存储空间内保存解压缩后的所述待读取数据。
为解决上述技术问题,本发明还提供了一种存储系统在线数据压缩设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上任一项所述的存储系统在线数据压缩方法的步骤。
本发明提供了一种存储系统在线数据压缩方法、装置及设备,在存储得到的压缩数据块时,依据存储系统的主元数据来查找对应的段元数据,之后依据段元数据确定当前空白存储区域的起始位置,进而依据确定的该起始位置,将压缩数据块保存至物理磁盘对应位置处。在进行压缩数据读取时,也是依据主元数据查找读取指令中的读取位置对应的段元数据,之后依据段元数据确定读取位置,进而进行压缩数据读取。其中,本发明中的段元数据包括段的特征信息,这里的段指的是物理磁盘对应的虚拟存储地址按照固定长度划分后得到的存储区域段,主元数据包括所述段元数据的特征信息。由此可见,在本发明中段元数据中包含的段的长度与物理磁盘对应的虚拟存储地址划分后的存储段的长度是一致的,这种情况下,由于段元数据的存在,元数据整体也划分成了若干个部分,因此,在进行压缩数据写入或者后续压缩数据读取时,仅需要依据主元数据查找对应的段元数据即可,而不需要遍历全部的元数据信息,从而提高了压缩数据读取和写入的性能。并且,在对压缩数据管理时,仅需要管理对应的段元数据的内容即可,在数据管理上更为高效。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种存储系统在线数据压缩方法的过程的流程图;
图2为本发明提供的另一种存储系统在线数据压缩方法的过程的流程图;
图3为磁盘分段示意图;
图4为嵌入式元数据头的设置示意图;
图5为本发明提供的一种存储系统压缩数据读取方法的过程的流程图;
图6为本发明提供的一种存储系统故障恢复方法的过程的流程图;
图7为本发明提供的一种存储系统在线数据压缩装置的结构示意图。
具体实施方式
本发明的核心是提供一种存储系统在线数据压缩方法、装置及设备,将元数据分段后,每段对应固定长度的虚拟存储地址,从而方便了压缩数据读取和写入,提高了压缩性能,并且方便了压缩数据的管理。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种存储系统在线数据压缩方法,参见图1所示,图1为本发明提供的一种存储系统在线数据压缩方法的过程的流程图;该方法包括:
步骤s11:接收压缩指令后,创建压缩事务并运行;
在线数据压缩技术是指存储系统可以对主机下发的数据进行实时的压缩,最终将压缩的数据写入到磁盘中。其中在线的意思是指实时压缩,是在将数据写入磁盘前进行压缩。元数据是指记录数据(位置,长度等特征信息)的数据,一般也被称为索引。就是如果想读取或写入某个数据,那么需要先读取元数据获得数据的位置信息后便可以读取到真实需要的数据。元数据在磁盘的位置是固定的,数据在磁盘的位置是不确定的,需要元数据去记录。事务是指作为单个逻辑工作单元执行的一系列操作。
步骤s12:对压缩指令对应的待压缩数据进行压缩,得到压缩数据块;
步骤s13:依据存储系统的主元数据查找对应的段元数据,依据段元数据确定当前空白存储区域的起始位置;段元数据包括段的特征信息,段为物理磁盘对应的虚拟存储地址按照固定长度划分后得到的存储区域段;主元数据包括段元数据的特征信息;
可以理解的是,由于待存储的数据量很大,若这些数据存储于物理磁盘中的话,所需要的物理磁盘需要有非常大的存储空间,这样会给系统成本以及体积造成很大的压力。因此,目前我们通常为每个物理磁盘设置有一个虚拟的压缩卷,该压缩卷的虚拟存储空间大小是物理磁盘的数倍。举例来说,假如说物理磁盘为1G,则压缩卷的虚拟存储空间可以为10G大小,待存储的数据保存在压缩卷中进行压缩,压缩后的数据再保存至实际的物理磁盘中。这样使得能够尽可能少的占用物理磁盘的存储空间,从而减少物理磁盘的成本和体积。本发明基于此思想将压缩卷的虚拟存储空间的虚拟存储地址按照固定长度划分为多个等长的段(Segment),每个段代表固定大小的虚拟存储空间,并通过段元数据来保存段的特征信息。由于段元数据和物理磁盘空间均与虚拟存储空间对应,因此使得段元数据和物理磁盘空间也是分段的。每个段元数据对应一个段,而主元数据用于保存各个段元数据的特征信息,例如每个段元数据的存储位置及其长度以及当前空白存储区域的起始位置,这里的空白存储区域的起始位置指的是在虚拟压缩卷中空白的虚拟存储地址的起始位置。由于压缩卷与物理磁盘是一一对应的,因此依据该空白的虚拟存储地址的起始位置,即可得知物理磁盘中实际的空白存储区域的起始位置,从而方便后续压缩数据会能够从该位置开始进行保存。
步骤s14:从当前空白存储区域的起始位置开始,将压缩数据块保存至物理磁盘内,并更新段元数据保存的当前空白存储区域的起始位置;
可以理解的是,在数据存储时前述提到需要得知当前空白存储区域的起始位置,而该起始位置会随着数据存储的进行而不断发生变化的。因此,在每次压缩数据块保存完毕之后,均需要将段元数据保存的当前空白存储区域的起始位置进行更新,从而方便下一次数据压缩时依据更新后的起始位置进行压缩数据的保存。
另外,除了将当前空白存储区域的起始位置更新在段元数据中以外,还可以将当前保存的压缩数据的其他的特征信息,也在段元数据中进行更新,本发明对此不作限定。
但是需要注意的是,在本步骤中负责将压缩数据块落盘至物理磁盘的进程或者落盘模块在确定当前空白存储区域的起始位置后,可以首先将压缩数据块落盘至物理磁盘内,然后再更新段元数据。或者也可以首先将压缩数据块的特征信息添加至段元数据内进行更新,然后再将压缩数据块进行落盘。即将压缩数据块保存至物理磁盘内的操作以及更新段元数据的操作,两者之间的顺序本发明不做限定。
步骤s21:接收读取指令后,创建数据读取事务并运行;依据主元数据以及读取指令的读取位置来查找对应的段元数据;
可以理解的是,在数据读取时,在读取前,首先需要知道待读取的数据的读取位置,才能从该读取位置进行数据读取。读取指令中携带的读取位置通常并不是实际的物理磁盘中的存储地址,因此,只能依据该读取位置以及主元数据中保存到段元数据的特征信息,来对段元数据进行查找,确定该读取位置属于哪个段元数据的范围。
步骤s22:依据查找到的段元数据确定待读取数据在物理磁盘中的位置后,从该位置读取待读取数据。
当确定读取位置所属的段元数据之后,再依据该段元数据保存到段的特征信息来具体确定该读取位置所对应的物理磁盘中的存储地址,之后从该存储地址处来读取数据。这种方式使得在确定读取位置所属的段元数据之后,则不再需要查找其余的段元数据中的信息,从而提高了压缩数据读取的效率,加快了压缩数据的读取速度。
需要注意的是,本发明中步骤s11~s14过程为数据压缩及写入保存的过程,步骤s21~s22的过程为数据读取过程,本发明不限定这两部分过程的先后顺序关系。具体执行哪部分过程与系统接收到的指令类型有关。
综上所述,在本发明中段元数据中包含的段的长度与物理磁盘对应的虚拟存储地址划分后的存储段的长度是一致的,这种情况下,由于段元数据的存在,元数据整体也划分成了若干个部分,因此,在进行压缩数据写入或者后续压缩数据读取时,仅需要依据主元数据查找对应的段元数据即可,而不需要遍历全部的元数据信息,从而提高了压缩数据读取和写入的性能。并且,在对压缩数据管理时,仅需要管理对应的段元数据的内容即可,在数据管理上更为高效。
作为优选地,参见图2所示,图2为本发明提供的另一种存储系统在线数据压缩方法的过程的流程图;对压缩指令对应的待压缩数据进行压缩,得到压缩数据块之后还包括:
步骤s121:为压缩数据块添加嵌入式元数据头,嵌入式元数据头内包括压缩数据块的特征信息。
通常嵌入式元数据头一般是插入在压缩数据块的头部。添加嵌入式元数据头之后的压缩数据块组成了一种数据结构称为log。如图3所示。其中L1-L9都是被压缩后的数据块添加了元数据头后得到的log(日志),最后的数据块Segment index是段元数据。图4中底部compressed data(压缩数据的)数据头被称为嵌入式元数据头。(元数据保存压缩数据块的索引信息,通过元数据可查找压缩数据块的地址信息及大小)。
可以理解的是,通过在压缩数据块前添加嵌入式元数据头,使得后续能够根据该嵌入式元数据头包含的压缩数据块的特征信息来进行压缩数据的查询、读取以及数据追溯等,从而方便工作人员依据嵌入式元数据头来对压缩数据进行管理的操作。
具体的,压缩数据块的特征信息包括:数据块长度、偏移量、虚拟地址信息、实际地址信息以及压缩比例。
可以理解的是,添加嵌入式元数据头的目的主要是为了方便后续的数据读取和数据追溯,因此,嵌入式元数据头中所保存到压缩数据块的特征信息需要能够表明该压缩数据块的数据量大小、存储位置及其进行压缩时的压缩比例,从而能够方便后续对压缩数据块的查找以及解压缩等操作,并且将这些数据保存至嵌入式元数据头后,即可使得这些原本应该保存在段元数据中的信息不再保存在段元数据中,从减小了段元数据的数据量。其中,数据块长度是用来表明数据量大小的,偏移量、虚拟地址信息和实际地址信息是用来表明压缩数据块的存储位置的。
作为优选地,参见图5所示,图5为本发明提供的一种存储系统压缩数据读取方法的过程的流程图;基于前述实施例,在当压缩数据块前添加了嵌入式元数据头的情况下,数据读取的过程如下:
步骤s21:接收读取指令后,创建数据读取事务并运行;依据主元数据以及读取指令的读取位置来查找对应的段元数据;
步骤s22:依据查找到的段元数据确定待读取数据在物理磁盘中的位置后,从该位置读取待读取数据;
步骤s23:依据待读取数据的嵌入式元数据头中的信息,确定待读取数据解压缩后的数据量大小;
步骤s24:依据上述确定的数据量大小申请相应的存储空间,并在存储空间内保存解压缩后的待读取数据。
可以理解的是,在数据读取之前,需要首先确定待读取数据的数据量之后需要首先申请相应的存储空间,然后将数据保存在所申请的存储空间内,而本发明中,由于读取的是压缩的数据,读取后存在解压缩的问题,因此,若是无法准确的得知待读取数据的数据量以及压缩比例,则无法准确的申请合适的存储空间,这种情况下通常会申请一个特定大小的存储空间,而该特定大小的存储空间通会较大,因此会造成一定程度上的资源浪费。而本申请中由于嵌入式元数据头中保存有对应数据块的特征信息,因此,再查找到想要读取的数据的嵌入式元数据头后,即可得知该部分数据的数据量大小以及压缩比例,从而使得后续能够申请合适大小的存储空间,从而减少存储资源的浪费。
在一种优选实施例中,参见图6所示,图6为本发明提供的一种存储系统故障恢复方法的过程的流程图;还包括:
步骤s31:主元数据和段元数据发生损坏时,创建数据恢复事务并运行;读取全部压缩数据块中的嵌入式元数据头中的信息;
步骤s32:依据读取的嵌入式元数据头中的信息恢复段元数据;
由于段元数据包含的数据为段的特征数据,而段即指的是一定长度的虚拟存储空间,其与一段固定长度的物理磁盘存储空间一一对应,而压缩数据块则是存储在每个段对应的、固定长度的磁盘存储空间内的,因此,依据各个压缩数据块的存储位置,即能够得到各个段对应的固定长度的磁盘存储空间的存储地址区间,进而得到各个段对应的虚拟存储地址区间(当然,若嵌入式元数据头中直接包含了压缩数据块对应的虚拟地址信息,则可直接根据该虚拟地址信息来得到各个段对应的虚拟存储地址区间)以及各个段的长度等信息,并且还能得到当前空白存储区域的起始位置以及各个压缩数据块的存储情况等信息,综合以上信息,即得到了段的特征信息,从而能够恢复段元数据。
步骤s33:依据恢复后的段元数据恢复主元数据;
由于主元数据是用于描述段元数据的特征的,因此,在段元数据恢复后,即可根据各个段元数据存储位置和长度等信息来恢复主元数据,从而完成整个元数据的恢复过程。
步骤s34:将恢复后的段元数据和主元数据保存至磁盘内。
可以理解的是,由于元数据是用于记录磁盘内所保存的信息的特征,因此,元数据若发生损坏,则会直接影响后续数据的写入和读取。但目前元数据损坏后通常很难进行恢复。但是本发明中由于在压缩数据块前添加了嵌入式元数据头而嵌入式元数据头中保存有压缩数据块的特征信息,因此,在主元数据和段元数据发生损坏时,主元数据和段元数据即可依据嵌入式元数据头中的信息来进行恢复,从而实现元数据的故障恢复,提高存储系统的高可用性和可靠性。
本发明还提供了一种存储系统在线数据压缩装置,参见图7所示,图7为本发明提供的一种存储系统在线数据压缩装置的结构示意图。该装置包括:
事务创建模块1,用于接收压缩指令后,创建压缩事务并运行,触发压缩模块2;接收读取指令后,创建数据读取事务并运行,触发读取位置查找模块5;
压缩模块2,用于对压缩指令对应的待压缩数据进行压缩,得到压缩数据块;
存储位置确定模块3,用于依据存储系统的主元数据查找对应的段元数据,依据段元数据确定当前空白存储区域的起始位置;段元数据包括段的特征信息,段为物理磁盘对应的虚拟存储地址按照固定长度划分后得到的存储区域段;主元数据包括段元数据的特征信息;
存储模块4,用于从当前空白存储区域的起始位置开始,将压缩数据块保存至物理磁盘内,并更新段元数据保存的当前空白存储区域的起始位置;
读取位置查找模块5,用于依据主元数据以及读取指令的读取位置来查找对应的段元数据;
读取模块6,用于依据查找到的段元数据确定待读取数据在物理磁盘中的位置后,从该位置读取待读取数据。
作为优选地,还包括:
元数据头添加模块,用于为压缩数据块添加嵌入式元数据头,嵌入式元数据头内包括压缩数据块的特征信息;触发存储位置确定模块。
作为优选地,还包括:
故障恢复模块,用于在主元数据和段元数据发生损坏时,创建数据恢复事务并运行;读取全部压缩数据块中的嵌入式元数据头中的信息;依据读取的嵌入式元数据头中的信息恢复段元数据;依据恢复后的段元数据恢复主元数据;将恢复后的段元数据和主元数据保存至磁盘内。
作为优选地,压缩数据块的特征信息包括:数据块长度、偏移量、虚拟地址信息、实际地址信息以及压缩比例;该装置还包括:
数据量确定模块,用于依据待读取数据的嵌入式元数据头中的信息,确定待读取数据解压缩后的数据量大小;
空间申请保存模块,用于依据上述确定的数据量大小申请相应的存储空间,并在存储空间内保存解压缩后的待读取数据。
本发明提供的存储系统在线数据压缩装置是用于实现以上存储系统在线数据压缩方法的,因此这里的存储系统在线数据压缩装置与前述存储系统在线数据压缩方法对应实现。
本发明还提供了一种存储系统在线数据压缩设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如以上任一项的存储系统在线数据压缩方法的步骤。
以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种存储系统在线数据压缩方法,其特征在于,包括:
接收压缩指令后,创建压缩事务并运行;
对所述压缩指令对应的待压缩数据进行压缩,得到压缩数据块;
依据存储系统的主元数据查找对应的段元数据,依据所述段元数据确定当前空白存储区域的起始位置;所述段元数据包括段的特征信息,所述段为物理磁盘对应的虚拟存储地址按照固定长度划分后得到的存储区域段;所述主元数据包括所述段元数据的特征信息;
从所述当前空白存储区域的起始位置开始,将所述压缩数据块保存至所述物理磁盘内,并更新所述段元数据保存的当前空白存储区域的起始位置;
接收读取指令后,创建数据读取事务并运行;依据所述主元数据以及所述读取指令的读取位置来查找对应的段元数据;
依据查找到的段元数据确定待读取数据在所述物理磁盘中的位置后,从该位置读取所述待读取数据。
2.根据权利要求1所述的存储系统在线数据压缩方法,其特征在于,所述对所述压缩指令对应的待压缩数据进行压缩,得到压缩数据块之后还包括:
为所述压缩数据块添加嵌入式元数据头,所述嵌入式元数据头内包括所述压缩数据块的特征信息。
3.根据权利要求2所述的存储系统在线数据压缩方法,其特征在于,还包括:
所述主元数据和所述段元数据发生损坏时,创建数据恢复事务并运行;读取全部压缩数据块中的嵌入式元数据头中的信息;
依据读取的嵌入式元数据头中的信息恢复段元数据;
依据恢复后的段元数据恢复主元数据;
将恢复后的段元数据和主元数据保存至磁盘内。
4.根据权利要求2或3所述的存储系统在线数据压缩方法,其特征在于,所述压缩数据块的特征信息包括:数据块长度、偏移量、虚拟地址信息、实际地址信息以及压缩比例。
5.根据权利要求4所述的存储系统在线数据压缩方法,其特征在于,所述依据查找到的段元数据确定待读取数据在所述物理磁盘中的位置后,从该位置读取所述待读取数据之后,还包括:
依据所述待读取数据的嵌入式元数据头中的信息,确定所述待读取数据解压缩后的数据量大小;
依据上述确定的数据量大小申请相应的存储空间,并在所述存储空间内保存解压缩后的所述待读取数据。
6.一种存储系统在线数据压缩装置,其特征在于,包括:
事务创建模块,用于接收压缩指令后,创建压缩事务并运行,触发压缩模块;接收读取指令后,创建数据读取事务并运行,触发读取位置查找模块;
所述压缩模块,用于对所述压缩指令对应的待压缩数据进行压缩,得到压缩数据块;
存储位置确定模块,用于依据存储系统的主元数据查找对应的段元数据,依据所述段元数据确定当前空白存储区域的起始位置;所述段元数据包括段的特征信息,所述段为物理磁盘对应的虚拟存储地址按照固定长度划分后得到的存储区域段;所述主元数据包括所述段元数据的特征信息;
存储模块,用于从所述当前空白存储区域的起始位置开始,将所述压缩数据块保存至所述物理磁盘内,并更新所述段元数据保存的当前空白存储区域的起始位置;
所述读取位置查找模块,用于依据所述主元数据以及所述读取指令的读取位置来查找对应的段元数据;
读取模块,用于依据查找到的段元数据确定待读取数据在所述物理磁盘中的位置后,从该位置读取所述待读取数据。
7.根据权利要求6所述的存储系统在线数据压缩装置,其特征在于,还包括:
元数据头添加模块,用于为所述压缩数据块添加嵌入式元数据头,所述嵌入式元数据头内包括所述压缩数据块的特征信息;触发所述存储位置确定模块。
8.根据权利要求7所述的存储系统在线数据压缩装置,其特征在于,还包括:
故障恢复模块,用于在所述主元数据和所述段元数据发生损坏时,创建数据恢复事务并运行;读取全部压缩数据块中的嵌入式元数据头中的信息;依据读取的嵌入式元数据头中的信息恢复段元数据;依据恢复后的段元数据恢复主元数据;将恢复后的段元数据和主元数据保存至磁盘内。
9.根据权利要求6或7所述的存储系统在线数据压缩装置,其特征在于,所述压缩数据块的特征信息包括:数据块长度、偏移量、虚拟地址信息、实际地址信息以及压缩比例;所述装置还包括:
数据量确定模块,用于依据所述待读取数据的嵌入式元数据头中的信息,确定所述待读取数据解压缩后的数据量大小;
空间申请保存模块,用于依据上述确定的数据量大小申请相应的存储空间,并在所述存储空间内保存解压缩后的所述待读取数据。
10.一种存储系统在线数据压缩设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的存储系统在线数据压缩方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583790.5A CN109683825B (zh) | 2018-12-24 | 2018-12-24 | 一种存储系统在线数据压缩方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583790.5A CN109683825B (zh) | 2018-12-24 | 2018-12-24 | 一种存储系统在线数据压缩方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683825A true CN109683825A (zh) | 2019-04-26 |
CN109683825B CN109683825B (zh) | 2022-05-24 |
Family
ID=66189077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811583790.5A Active CN109683825B (zh) | 2018-12-24 | 2018-12-24 | 一种存储系统在线数据压缩方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683825B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111985636A (zh) * | 2019-05-21 | 2020-11-24 | 辉达公司 | 适用于人工神经网络的数据结构压缩技术 |
CN113254273A (zh) * | 2021-06-10 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 一种实时恢复主元数据的方法、系统、设备及介质 |
CN113568582A (zh) * | 2021-07-30 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 数据管理方法、装置和存储设备 |
CN113590021A (zh) * | 2020-04-30 | 2021-11-02 | 株式会社日立制作所 | 存储系统 |
CN113726341A (zh) * | 2021-08-25 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN114816230A (zh) * | 2021-01-29 | 2022-07-29 | 深圳和而泰智能家电控制器有限公司 | 一种Flash数据存储方法、装置和家电设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160004715A1 (en) * | 2014-07-02 | 2016-01-07 | International Business Machines Corporation | Minimizing Metadata Representation In A Compressed Storage System |
CN107315533A (zh) * | 2016-04-26 | 2017-11-03 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法及装置 |
CN107436848A (zh) * | 2017-08-03 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种实现用户数据和压缩数据间转换的方法及装置 |
CN108021513A (zh) * | 2016-11-02 | 2018-05-11 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法及装置 |
-
2018
- 2018-12-24 CN CN201811583790.5A patent/CN109683825B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160004715A1 (en) * | 2014-07-02 | 2016-01-07 | International Business Machines Corporation | Minimizing Metadata Representation In A Compressed Storage System |
CN107315533A (zh) * | 2016-04-26 | 2017-11-03 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法及装置 |
CN108021513A (zh) * | 2016-11-02 | 2018-05-11 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法及装置 |
CN107436848A (zh) * | 2017-08-03 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种实现用户数据和压缩数据间转换的方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111985636A (zh) * | 2019-05-21 | 2020-11-24 | 辉达公司 | 适用于人工神经网络的数据结构压缩技术 |
CN113590021A (zh) * | 2020-04-30 | 2021-11-02 | 株式会社日立制作所 | 存储系统 |
CN113590021B (zh) * | 2020-04-30 | 2024-06-11 | 株式会社日立制作所 | 存储系统 |
CN114816230A (zh) * | 2021-01-29 | 2022-07-29 | 深圳和而泰智能家电控制器有限公司 | 一种Flash数据存储方法、装置和家电设备 |
CN113254273A (zh) * | 2021-06-10 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 一种实时恢复主元数据的方法、系统、设备及介质 |
WO2022257337A1 (zh) * | 2021-06-10 | 2022-12-15 | 苏州浪潮智能科技有限公司 | 一种实时恢复主元数据的方法、系统、设备及介质 |
CN113568582A (zh) * | 2021-07-30 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 数据管理方法、装置和存储设备 |
CN113568582B (zh) * | 2021-07-30 | 2023-05-26 | 重庆紫光华山智安科技有限公司 | 数据管理方法、装置和存储设备 |
CN113726341A (zh) * | 2021-08-25 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN113726341B (zh) * | 2021-08-25 | 2023-09-01 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109683825B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683825A (zh) | 一种存储系统在线数据压缩方法、装置及设备 | |
US10795788B2 (en) | Remote data replication method and system | |
US9767035B2 (en) | Pass-through tape access in a disk storage environment | |
CN103136243B (zh) | 基于云存储的文件系统去重方法及装置 | |
CN103617097B (zh) | 文件恢复方法及装置 | |
CN104461390B (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
US8924664B2 (en) | Logical object deletion | |
CN110399310B (zh) | 一种存储空间的回收方法及装置 | |
CN103034566B (zh) | 虚拟机还原的方法和装置 | |
CN109213817B (zh) | 增量数据抽取方法、装置及服务器 | |
CN102779180A (zh) | 数据存储系统的操作处理方法,数据存储系统 | |
US20050027819A1 (en) | Storage system, server apparatus, and method for creating a plurality of snapshots | |
EP2590078A2 (en) | Shadow paging based log segment directory | |
CN103019890A (zh) | 一种块级别的磁盘数据保护系统及其方法 | |
CN104077380A (zh) | 一种重复数据删除方法、装置及系统 | |
CN103955433A (zh) | 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置 | |
CN104462388B (zh) | 一种基于级联式存储介质的冗余数据清理方法 | |
CN110427364A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US10042570B2 (en) | Tape backup and restore in a disk storage environment with intelligent data placement | |
CN106557278A (zh) | 一种缓存数据持久化的方法 | |
CN104461384A (zh) | 一种数据写入方法及存储设备 | |
CN107315661A (zh) | 一种集群文件系统已删除文件恢复方法及装置 | |
CN111444114B (zh) | 一种非易失性内存中数据的处理方法、装置及系统 | |
CN102426601B (zh) | 数据删除方法和装置 | |
CN107704208B (zh) | 一种元数据的修复方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |