WO2022062537A1 - 数据压缩方法、装置及计算机可读存储介质 - Google Patents

数据压缩方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
WO2022062537A1
WO2022062537A1 PCT/CN2021/103389 CN2021103389W WO2022062537A1 WO 2022062537 A1 WO2022062537 A1 WO 2022062537A1 CN 2021103389 W CN2021103389 W CN 2021103389W WO 2022062537 A1 WO2022062537 A1 WO 2022062537A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
processed
compressed
compression
read
Prior art date
Application number
PCT/CN2021/103389
Other languages
English (en)
French (fr)
Inventor
王艳清
徐洪志
亓国强
郭平加
Original Assignee
苏州浪潮智能科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Publication of WO2022062537A1 publication Critical patent/WO2022062537A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems

Abstract

一种数据压缩方法、装置及计算机可读存储介质。其中,方法包括当接收到主机下发的写请求,判断写请求对应待处理数据的占用空间容量值与预设最小决策采样阈值间的数值关系,若待处理数据的占用空间容量值不大于预设最小决策采样阈值,或待处理数据的占用空间容量值大于预设最小决策采样阈值但其压缩率低于预设最大压缩率阈值,对待处理数据进行压缩,同时将待处理数据的元数据对应字段标识为压缩数据。若待处理数据的压缩率不低于预设最大压缩率阈值,不对待处理数据进行压缩处理,将待处理数据的元数据对应字段标记为原始数据。本申请通过数据压缩可以更加高效地实现数据缩减,提高存储系统的数据处理效率,提升存储系统的存储性能。

Description

数据压缩方法、装置及计算机可读存储介质
本申请要求于2020年9月27日提交中国专利局、申请号为202011033892.7、发明名称为“数据压缩方法、装置及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储技术领域,特别是涉及一种数据压缩方法、装置及计算机可读存储介质。
背景技术
伴随着信息产业化的快速发展,信息数据增速明显,需要存储的数据规模越来越大,用户对存储设备的容量提出了更高的要求,存储设备的容量与成本在一定范围内成正比,更大容量的存储设备相应的价格也就越高,生产成本的攀升显然对用户不友好,数据缩减技术便广泛应用于提升存储设备的存储性能,数据压缩技术是数据缩减技术的一种实现方式,但是由于压缩需要消耗较多的系统资源与时间,因此如何提高数据的压缩效率具有重要的价值。
压缩率(Compression rate)为用于描述压缩文件的效果名,是文件压缩后的空间占用容量值与压缩前的空间占用容量值的比值,例如100M的文件压缩后是90M,压缩率则为90/100*100%=90%,压缩率一般是越小越好,但是压得越小,解压时间越长。相关存储系统中,在创建一个压缩卷后或者开启压缩功能后,当主机发送写请求时,IO(Input/Output,输入/输出)将会被存储的压缩引擎压缩,主机发送读请求,IO数据将会被压缩引擎解压缩。当遇到压缩率较高的数据时,数据压缩并不能带来很明显地数据缩减效果,反而会增加时间延迟,降低存储的处理效率。
鉴于此,如何通过数据压缩更加高效地实现数据缩减,且不影响存储系统性能,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种数据压缩方法、装置及计算机可读存储介质,通过数据压缩可以更加高效地实现数据缩减,提高存储系统的数据处理效率,提升存储系统的存储性能。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种数据压缩方法,包括:
当接收到主机下发的写请求,若所述写请求对应待处理数据的占用空间容量值大于预设最小决策采样阈值,计算所述待处理数据的压缩率;
若所述待处理数据的压缩率低于预设最大压缩率阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识为压缩数据;若所述待处理数据的压缩率不低于预设最大压缩率阈值,将所述待处理数据的元数据对应字段标记为原始数据;
若所述待处理数据的占用空间容量值不大于预设最小决策采样阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识为压缩数据。
可选的,所述待处理数据的占用空间容量值不大于预设最小决策采样阈值,对所述待处理数据进行压缩包括:
预先分配包括多个待压缩数据区和压缩数据区的缓存区,各待压缩数据区的占用空间容量值等于所述预设最小决策采样阈值;
若所述待处理数据的占用空间容量值不大于预设缓存阈值,将所述待处理数据存储至其中一个待压缩数据区;所述预设缓存阈值小于所述待压缩数据区的占用空间容量值;若所述待处理数据的占用空间容量值大于预设缓存阈值且小于所述预设最小决策采样阈值,将所述待处理数据存储至所述压缩数据区;
若检测到各待压缩数据区中的剩余空间容量值低于容量阈值,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据;
若检测到所述压缩数据区内的存储数据占用空间容量值与所述预设最小决策采样阈值相同,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据。
可选的,所述将所述待处理数据存储至其中一个待压缩数据区包括:
判断存储目标写请求对应待处理数据的目标待压缩数据区的剩余空间容量值是否大于当前时刻写请求对应待处理数据的占用空间容量值;所述目标写请求为对应待处理数据的占用空间容量值不大于所述预设缓存阈值且请求下发时刻与所述当前写请求的请求下发时刻最相近的请求;
若是,将所述当前时刻写请求对应待处理数据存储至所述目标待压缩数据区;若否,将所述当前时刻写请求对应待处理数据存储至所述目标待压缩数据区的下一个待压缩数据区。
可选的,所述对所述待处理数据进行压缩之后,还包括:
当接收到主机下发的读请求,获取所述读请求对应待读取数据的元数据;
若所述待读取数据的元数据的压缩标识字段为原始数据,将所述待读取数据返回上层业务;若所述待读取数据的元数据的压缩标识字段为压缩数据,调用压缩引擎对所述待读取数据进行解压缩操作,并将解压缩后所得数据返回上层业务。
可选的,所述当接收到主机下发的读请求,获取所述读请求对应待读取数据的元数据包括:
预先构建多个数据读取线程和每个数据读取线程相对应的数据处理线程;
当同时接收到多个读请求,调用各数据读取线程获取相应读请求对应待读取数据的元数据,并将读取的元数据传递至相应的数据处理线程。
本发明实施例另一方面提供了一种数据压缩装置,包括:
采样判断模块,用于当接收到主机下发的写请求,判断所述写请求对应待处理数据的占用空间容量值是否大于预设最小决策采样阈值;
压缩率计算模块,用于若所述待处理数据的占用空间容量值大于预设最小决策采样阈值,计算所述待处理数据的压缩率;
数据压缩模块,用于若所述待处理数据的占用空间容量值不大于预设最小决策采样阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识压缩数据;若所述待处理数据的压缩率低于预设最 大压缩率阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识压缩数据;
数据不压缩模块,用于若所述待处理数据的压缩率不低于预设最大压缩率阈值,将所述待处理数据的元数据对应字段标记为原始数据。
可选的,还包括读请求处理模块,所述读请求处理模块包括:
元数据读取子模块,用于当接收到主机下发的读请求,获取所述读请求对应待读取数据的元数据;
数据处理子模块,用于若所述待读取数据的元数据的压缩标识字段为原始数据,将所述待读取数据返回上层业务;若所述待读取数据的元数据的压缩标识字段为压缩数据,调用压缩引擎对所述待读取数据进行解压缩操作,并将解压缩后所得数据返回上层业务。
本发明实施例还提供了一种数据压缩装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述数据压缩方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据压缩程序,所述数据压缩程序被处理器执行时实现如前任一项所述数据压缩方法的步骤。
本申请提供的技术方案的优点在于,在所有数据压缩前,先进行数据大小及压缩率决策,根据决策结果决定是否对数据进行压缩。当能获得较好的压缩数据缩减效果时,才对数据进行压缩;如果压缩率较差,那么不再进行数据压缩而是保存原始数据。对压缩率较差的数据进行压缩,无法获得较好的压缩率,相应的数据缩减效果差,压缩引擎消耗了系统资源但是并未获得压缩缩减收益,后端磁盘写入量未减少,还降低存储系统的处理能量、增加IO路径、导致存储性能降低,因此对整个系统来说,对所有数据均无差别进行压缩并不能带来有效收益。基于有差别对数据进程压缩处理能获得较好的数据压缩率,通过数据压缩可以更加高效地实现数据缩减,提高存储系统的数据处理效率,提升存储系统的存储性能。
此外,本发明实施例还针对数据压缩方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算 机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据压缩方法的流程示意图;
图2为本发明实施例提供的另一种数据压缩方法的流程示意图;
图3为本发明实施例提供的数据压缩装置的一种具体实施方式结构图;
图4为本发明实施例提供的数据压缩装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种 非限制性实施方式。
首先请参见图1,图1为本发明实施例提供的一种数据压缩方法的流程示意图,本发明实施例可包括以下内容:
S101:接收主机下发的写请求。
本申请适用于存储系统,主机通过主机与存储系统的接口对存储系统进行数据读写,当向存储系统存储数据时会下发写请求,当读取存储系统中存储的数据时,会下发读请求。在主机下发写请求时,会携带待写入数据即待处理数据的读取地址或完整数据、待处理数据写入存储系统中的目标位置信息等。
S102:判断写请求对应待处理数据的占用空间容量值是否大于预设最小决策采样阈值,若是,则执行S103,若否,则执行S106。
当存储系统接收到主机下发的写请求,读取写请求对应待处理数据大小,也即待处理数据的占用空间容量值。可以理解的是,待处理数据越大,压缩所需时间也就越长,会出现长时间压缩导致存储性能下降的现象发生,这就涉及到需要预先选择合适当前存储性能的最小决策采样阈值,即本步骤中的预设最小决策采样阈值,小于最小决策采样阈值的待处理数据的压缩不会对存储性能产生影响,而超过最小决策采样阈值的待处理数据的压缩可能会对存储性能产生影响,预设最小决策采样阈值可根据实际应用场景进行选择,本申请对此不做任何限定。
S103:计算待处理数据的压缩率。
压缩率为压缩文件的压缩效果标识,是文件压缩后的大小与压缩前的大小之比。压缩后的文件大小可根据当前存储系统的压缩引擎的参数决定。在判定写请求对应待处理数据的占用空间容量值是否大于预设最小决策采样阈值之后,基于压缩引擎的参数预估待处理数据压缩后的文件大小,然后计算压缩后的文件大小和压缩前的文件大小的比值,即为待处理数据的压缩率。
S104:判断待处理数据的压缩率是否低于预设最大压缩率阈值,若是,则执行S106,若否,则执行S105。
可以理解的是,高压缩率数据被压缩引擎压缩,没有达到数据缩减的 效果反而降低了系统的效率,如影响存储系统的数据处理能力,压缩会增加IO路径导致性能降低。本申请为了解决这个问题,对高压缩率数据不进行压缩处理,仅对低于压缩率的数据进行压缩处理。
S105:将待处理数据的元数据对应字段标记为原始数据。
如果压缩率超过最大压缩率阈值,说明数据不具有较好的压缩效果,不能获得较好的数据缩减效果,那么不对数据进行压缩。本申请由于有差别的对主机下发写请求的数据进行相应的压缩处理,只对符合条件的数据进行压缩,不符合条件的不进行压缩,而数据写入存储系统之后,用户还会读取该数据,而在数据读取时,压缩格式的数据是无法读取的,所以需要对压缩数据进行解压缩处理,未压缩数据便可直接返回给用户,基于此,需要对每个数据进行压缩信息的标识。本申请可在元数据中标识数据是否被压缩,相应的,可在元数据的标志位中预先设置一个压缩标识字段,并预先定义压缩对应的标志和未压缩对应的标志,举例来说,若压缩标识字段为1,则表示该数据被压缩处理,若压缩标识字段为0,则表示该数据未被压缩处理,为原始数据。
S106:对待处理数据进行压缩,同时将待处理数据的元数据对应字段标识压缩数据。
在本申请中,如果压缩率低于最大压缩率阈值,说明数据具有较好的压缩效果,能获得较好的数据缩减效果,那么IO将会被存储系统的压缩引擎压缩。
在本发明实施例提供的技术方案中,在所有数据压缩前,先进行数据大小及压缩率决策,根据决策结果决定是否对数据进行压缩。当能获得较好的压缩数据缩减效果时,才对数据进行压缩;如果压缩率较差,那么不再进行数据压缩而是保存原始数据。对压缩率较差的数据进行压缩,无法获得较好的压缩率,相应的数据缩减效果差,压缩引擎消耗了系统资源但是并未获得压缩缩减收益,后端磁盘写入量未减少,还降低存储系统的处理能量、增加IO路径、导致存储性能降低,因此对整个系统来说,对所有数据均无差别进行压缩并不能带来有效收益。基于有差别对数据进程压缩处理能获得较好的数据压缩率,通过数据压缩可以更加高效地实现数据缩 减,提高存储系统的数据处理效率,提升存储系统的存储性能。
上述实施例阐述了一种存储系统的在线数据压缩方法。对于需要压缩的数据,首先进行压缩率检测,如果压缩率小于阈值,那么数据不进行压缩;如果压缩率超过阈值,数据进行压缩。对应的数据元数据中会标记数据是否压缩。数据存储之后,主机会去读取这些数据,相应的,本实施例还提供了与上述数据压缩方法相对应的数据读取方法,请参阅图2所示,可包括:
S201:当接收到主机下发的读请求,获取读请求对应待读取数据的元数据。
S202:判断待读取数据的元数据的压缩标识字段是否为压缩标识,若是,则执行S203,若否,则执行S204。
压缩标识字段中压缩标识和未压缩标识可为预先定义的、存储系统可识别的数值或字符串,所属领域技术人员可根据实际需求进行确定。
S203:若待读取数据的元数据的压缩标识字段为压缩数据,调用压缩引擎对待读取数据进行解压缩操作,并将解压缩后所得数据返回上层业务。
S204:若待读取数据的元数据的压缩标识字段为原始数据,将待读取数据返回上层业务。
也就是说,当进行解压缩时,会根据元数据中的压缩标识判断数据是否是压缩后的还是原数据未压缩的。如果标识是压缩,那么调用解压缩引擎解压数据再反馈给接口解压缩的数据;如果标识为原数据,那么直接返回给接口原始数据。
可以理解的是,同一个存储系统可以作为多个主机的存储器,不可避免的,同一时刻会有不同的主机向存储系统下发数据读取请求;此外,对于同一个主机,同一时刻也会下发多个读请求,基于此,本申请还提供了适用多个读请求的应用场景,可包括下述内容:
作为一种可选的实施方式,可预先构建多个数据读取线程和每个数据读取线程相对应的数据处理线程;当同时接收到读请求,调用各数据读取线程获取相应读请求对应待读取数据的元数据,并将读取的元数据传递至 相应的数据处理线程,每个数据处理线程彼此独立并可同时均对相应数据执行S202-S204,从而提高数据读取效率。
在本实施例中,数据读取线程总数可与读请求数量相同,也可略少于读请求数量,数据读取线程的总数需要在不影响整个存储系统正常运行业务的基础上设置,所属领域技术人员可根据实际情况进行选择,本申请对此不做任何限定。
本申请还提供了另一种可选实施方式,与上述方式并列,相应的,S201可包括:
当同时接收到多个读请求,读取各读请求的优先级信息,获取优先级最高的读请求对应待读取数据的元数据。
在本实施例中,每个读请求可预先携带优先级信息,在对多个读请求处理时,可按照优先级顺序从高到低依次处理,无需构建多个线程。优先级可根据各主机的实际情况以及所读取数据的重要性来决定,这均可根据实际情况进行选择,本申请对此不做任何限定。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1-图2只是一种示意方式,并不代表只能是这样的执行顺序。
可以理解的是,数据压缩操作越频繁,所需耗费系统资源也就越多,而且与压缩引擎的通信开销也就越大,为了进一步提高数据压缩效率,节省存储系统资源,还可包括如下步骤:
预先分配缓存区。缓存区包括多个待压缩数据区和压缩数据区,各待压缩数据区的占用空间容量值等于预设最小决策采样阈值,压缩数据区的占用空间容量值必然大于预设最小决策采样阈值,而至于待压缩数据区的个数和压缩数据区的占用空间容量值可根据实际存储系统性能进行选择,这均不影响本申请的实现。
若待处理数据的占用空间容量值不大于预设缓存阈值,将待处理数据存储至其中一个待压缩数据区。预设缓存阈值小于待压缩数据区的占用空间容量值;若待处理数据的占用空间容量值大于预设缓存阈值且小于预设 最小决策采样阈值,将待处理数据存储至压缩数据区。
若检测到各待压缩数据区中的剩余空间容量值低于容量阈值,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据。容量阈值为一个较小值,例如0.1M,这个可基于当前存储系统的数据存储情况进行确定,若最近运行业务都是小文件读写,则容量阈值例如可为0.1M,若最近运行业务不是小文件读取,则容量阈值例如可为1M。压缩线程的总数可与待压缩数据区的存储数据块个数相同,也可小于数据块总数,这均不影响本申请的实现。
若检测到压缩数据区内的存储数据占用空间容量值与预设最小决策采样阈值相同,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据。本步骤中的压缩线程个数可与压缩数据区的存储数据块个数相同,也可小于数据块总数,这均不影响本申请的实现。
作为本实施例的一种可选的实施方式,将待处理数据存储至其中一个待压缩数据区的过程可包括:
判断存储目标写请求对应待处理数据的目标待压缩数据区的剩余空间容量值是否大于当前时刻写请求对应待处理数据的占用空间容量值。目标写请求为对应待处理数据的占用空间容量值不大于预设缓存阈值且请求下发时刻与当前写请求的请求下发时刻最相近的请求;目标待压缩数据区为存储目标写请求对应的待写入的数据的存储区段。
若是,将当前时刻写请求对应待处理数据存储至目标待压缩数据区;若否,将当前时刻写请求对应待处理数据存储至目标待压缩数据区的下一个待压缩数据区。在待压缩数据区在分配时,可预先按照构建顺序进行编号,下一个待压缩数据区即为目标待压缩数据区相邻的下一个数据区。
本实施例按照读请求下发时刻依次将满足条件的待写入的数据写入同一个存储区段,如果该存储区段剩余空间不足以写入当前度请求的数据,则写入相邻的下一个存储区段,更加便于数据管理和数据操作。
本发明实施例还针对数据压缩方法提供了相应的装置,进一步使得所 述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的数据压缩装置进行介绍,下文描述的数据压缩装置与上文描述的数据压缩方法可相互对应参照。
基于功能模块的角度,参见图3,图3为本发明实施例提供的数据压缩装置在一种具体实施方式下的结构图,该装置可包括:
采样判断模块301,用于当接收到主机下发的写请求,判断写请求对应待处理数据的占用空间容量值是否大于预设最小决策采样阈值。
压缩率计算模块302,用于若待处理数据的占用空间容量值大于预设最小决策采样阈值,计算待处理数据的压缩率。
数据压缩模块303,用于若待处理数据的占用空间容量值不大于预设最小决策采样阈值,对待处理数据进行压缩,同时将待处理数据的元数据对应字段标识压缩数据;若待处理数据的压缩率低于预设最大压缩率阈值,对待处理数据进行压缩,同时将待处理数据的元数据对应字段标识压缩数据。
数据不压缩模块304,用于若待处理数据的压缩率不低于预设最大压缩率阈值,将待处理数据的元数据对应字段标记为原始数据。
可选的,在本实施例的一些实施方式中,所述装置例如还可以包括读请求处理模块,所述读请求处理模块包括:
元数据读取子模块,用于当接收到主机下发的读请求,获取读请求对应待读取数据的元数据;
数据处理子模块,用于若待读取数据的元数据的压缩标识字段为原始数据,将待读取数据返回上层业务;若待读取数据的元数据的压缩标识字段为压缩数据,调用压缩引擎对待读取数据进行解压缩操作,并将解压缩后所得数据返回上层业务。
作为本实施例的一种可选的实施方式,所述读请求处理模块还可包括线程预构建子模块,用于预先构建多个数据读取线程和每个数据读取线程相对应的数据处理线程;相应的,所述元数据读取子模块为当同时接收到读请求,调用各数据读取线程获取相应读请求对应待读取数据的元数据, 并将读取的元数据传递至相应的数据处理线程的模块。
作为本实施例的另一种可选的实施方式,所述元数据读取子模块可包括:
优先级读取单元,用于当同时接收到读请求,读取各读请求的优先级信息;
数据读取单元,用于获取优先级最高的读请求对应待读取数据的元数据。
可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括缓存模块,所述缓存模块包括:
缓存区分配子模块,用于预先分配包括多个待压缩数据区和压缩数据区的缓存区,各待压缩数据区的占用空间容量值等于预设最小决策采样阈值;
待压缩数据区存储子模块,用于若待处理数据的占用空间容量值不大于预设缓存阈值,将待处理数据存储至其中一个待压缩数据区;预设缓存阈值小于待压缩数据区的占用空间容量值;若待处理数据的占用空间容量值大于预设缓存阈值且小于预设最小决策采样阈值,将待处理数据存储至压缩数据区;
数据压缩模块,用于若检测到各待压缩数据区中的剩余空间容量值低于容量阈值,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据;
压缩数据区数据处理子模块,用于若检测到压缩数据区内的存储数据占用空间容量值与预设最小决策采样阈值相同,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据。
作为本实施例的一种可选的实施方式,所述待压缩数据区存储子模块可包括:
判断单元,用于判断存储目标写请求对应待处理数据的目标待压缩数据区的剩余空间容量值是否大于当前时刻写请求对应待处理数据的占用空 间容量值;目标写请求为对应待处理数据的占用空间容量值不大于预设缓存阈值且请求下发时刻与当前写请求的请求下发时刻最相近的请求;
数据存储选择单元,用于若存储目标写请求对应待处理数据的目标待压缩数据区的剩余空间容量值大于当前时刻写请求对应待处理数据的占用空间容量值,将当前时刻写请求对应待处理数据存储至目标待压缩数据区;若存储目标写请求对应待处理数据的目标待压缩数据区的剩余空间容量值不大于当前时刻写请求对应待处理数据的占用空间容量值,将当前时刻写请求对应待处理数据存储至目标待压缩数据区的下一个待压缩数据区。
本发明实施例所述数据压缩装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例通过数据压缩可以更加高效地实现数据缩减,提高存储系统的数据处理效率,提升存储系统的存储性能。
上文中提到的数据压缩装置是从功能模块的角度描述,进一步的,本申请还提供一种数据压缩装置,是从硬件角度描述。图4为本申请实施例提供的另一种数据压缩装置的结构图。如图4所示,该装置包括存储器40,用于存储计算机程序;
处理器41,用于执行计算机程序时实现如上述任一实施例提到的数据压缩方法的步骤。
其中,处理器41可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器41可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器41也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器41可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。 一些实施例中,处理器41还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器40可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器40还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器40至少用于存储以下计算机程序401,其中,该计算机程序被处理器41加载并执行之后,能够实现前述任一实施例公开的数据压缩方法的相关步骤。另外,存储器40所存储的资源还可以包括操作系统402和数据403等,存储方式可以是短暂存储或者永久存储。其中,操作系统402可以包括Windows、Unix、Linux等。数据403可以包括但不限于测试结果对应的数据等。
在一些实施例中,数据压缩装置还可包括有显示屏42、输入输出接口43、通信接口44、电源45以及通信总线46。
本领域技术人员可以理解,图4中示出的结构并不构成对数据压缩装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器47。
本发明实施例所述数据压缩装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例通过数据压缩可以更加高效地实现数据缩减,提高存储系统的数据处理效率,提升存储系统的存储性能。
可以理解的是,如果上述实施例中的数据压缩方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、 CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有数据压缩程序,所述数据压缩程序被处理器执行时如上任意一实施例所述数据压缩方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例通过数据压缩可以更加高效地实现数据缩减,提高存储系统的数据处理效率,提升存储系统的存储性能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种数据压缩方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

  1. 一种数据压缩方法,其特征在于,包括:
    当接收到主机下发的写请求,若所述写请求对应待处理数据的占用空间容量值大于预设最小决策采样阈值,计算所述待处理数据的压缩率;
    若所述待处理数据的压缩率低于预设最大压缩率阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识为压缩数据;若所述待处理数据的压缩率不低于预设最大压缩率阈值,将所述待处理数据的元数据对应字段标记为原始数据;
    若所述待处理数据的占用空间容量值不大于预设最小决策采样阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识为压缩数据。
  2. 根据权利要求1所述的数据压缩方法,其特征在于,所述若所述待处理数据的占用空间容量值不大于预设最小决策采样阈值,对所述待处理数据进行压缩,包括:
    预先分配包括多个待压缩数据区和压缩数据区的缓存区,各待压缩数据区的占用空间容量值等于所述预设最小决策采样阈值;
    若所述待处理数据的占用空间容量值不大于预设缓存阈值,将所述待处理数据存储至其中一个待压缩数据区;所述预设缓存阈值小于所述待压缩数据区的占用空间容量值;若所述待处理数据的占用空间容量值大于预设缓存阈值且小于所述预设最小决策采样阈值,将所述待处理数据存储至所述压缩数据区;
    若检测到各待压缩数据区中的剩余空间容量值低于容量阈值,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据;
    若检测到所述压缩数据区内的存储数据占用空间容量值与所述预设最小决策采样阈值相同,同时调用多个压缩线程对各待处理数据进行压缩,同时将各待处理数据的元数据对应字段标识压缩数据。
  3. 根据权利要求2所述的数据压缩方法,其特征在于,所述将所述待处理数据存储至其中一个待压缩数据区包括:
    判断存储目标写请求对应待处理数据的目标待压缩数据区的剩余空间容量值是否大于当前时刻写请求对应待处理数据的占用空间容量值;所述目标写请求为对应待处理数据的占用空间容量值不大于所述预设缓存阈值且请求下发时刻与所述当前时刻写请求的请求下发时刻最相近的请求;
    若是,将所述当前时刻写请求对应待处理数据存储至所述目标待压缩数据区;若否,将所述当前时刻写请求对应待处理数据存储至所述目标待压缩数据区的下一个待压缩数据区。
  4. 根据权利要求1至3任意一项所述的数据压缩方法,其特征在于,所述对所述待处理数据进行压缩之后,还包括:
    当接收到主机下发的读请求,获取所述读请求对应待读取数据的元数据;
    若所述待读取数据的元数据的压缩标识字段为原始数据,将所述待读取数据返回上层业务;若所述待读取数据的元数据的压缩标识字段为压缩数据,调用压缩引擎对所述待读取数据进行解压缩操作,并将解压缩后所得数据返回上层业务。
  5. 根据权利要求4所述的数据压缩方法,其特征在于,所述当接收到主机下发的读请求,获取所述读请求对应待读取数据的元数据包括:
    预先构建多个数据读取线程和每个数据读取线程相对应的数据处理线程;
    当同时接收到读请求,调用各数据读取线程获取相应读请求对应待读取数据的元数据,并将读取的元数据传递至相应的数据处理线程。
  6. 根据权利要求4所述的数据压缩方法,其特征在于,所述当接收到主机下发的读请求,获取所述读请求对应待读取数据的元数据包括:
    当同时接收到多个读请求,读取各读请求的优先级信息;
    获取优先级最高的读请求对应待读取数据的元数据。
  7. 一种数据压缩装置,其特征在于,包括:
    采样判断模块,用于当接收到主机下发的写请求,判断所述写请求对应待处理数据的占用空间容量值是否大于预设最小决策采样阈值;
    压缩率计算模块,用于若所述待处理数据的占用空间容量值大于预设 最小决策采样阈值,计算所述待处理数据的压缩率;
    数据压缩模块,用于若所述待处理数据的占用空间容量值不大于预设最小决策采样阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识为压缩数据;若所述待处理数据的压缩率低于预设最大压缩率阈值,对所述待处理数据进行压缩,同时将所述待处理数据的元数据对应字段标识为压缩数据;
    数据不压缩模块,用于若所述待处理数据的压缩率不低于预设最大压缩率阈值,将所述待处理数据的元数据对应字段标记为原始数据。
  8. 根据权利要求7所述的数据压缩装置,其特征在于,还包括读请求处理模块,所述读请求处理模块包括:
    元数据读取子模块,用于当接收到主机下发的读请求,获取所述读请求对应待读取数据的元数据;
    数据处理子模块,用于若所述待读取数据的元数据的压缩标识字段为原始数据,将所述待读取数据返回上层业务;若所述待读取数据的元数据的压缩标识字段为压缩数据,调用压缩引擎对所述待读取数据进行解压缩操作,并将解压缩后所得数据返回上层业务。
  9. 一种数据压缩装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6任一项所述数据压缩方法的步骤。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据压缩程序,所述数据压缩程序被处理器执行时实现如权利要求1至6任一项所述数据压缩方法的步骤。
PCT/CN2021/103389 2020-09-27 2021-06-30 数据压缩方法、装置及计算机可读存储介质 WO2022062537A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011033892.7 2020-09-27
CN202011033892.7A CN111984610A (zh) 2020-09-27 2020-09-27 数据压缩方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2022062537A1 true WO2022062537A1 (zh) 2022-03-31

Family

ID=73450575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/103389 WO2022062537A1 (zh) 2020-09-27 2021-06-30 数据压缩方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN111984610A (zh)
WO (1) WO2022062537A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860783A (zh) * 2022-07-05 2022-08-05 国网智能电网研究院有限公司 图数据库缓存方法、装置、电子设备和可读存储介质
CN114968102A (zh) * 2022-05-27 2022-08-30 广州安凯微电子股份有限公司 一种数据缓存方法、装置、系统、计算机设备及存储介质
CN115396517A (zh) * 2022-08-16 2022-11-25 广东电网有限责任公司 北斗通信数据的处理方法、装置、终端设备及存储介质
CN115495312A (zh) * 2022-09-27 2022-12-20 北京百度网讯科技有限公司 业务请求处理方法和装置
CN115905168A (zh) * 2022-11-15 2023-04-04 本原数据(北京)信息技术有限公司 自适应压缩方法和压缩装置、计算机设备、存储介质
WO2023231265A1 (zh) * 2022-05-30 2023-12-07 深圳市吉迩科技有限公司 基于嵌入式系统图片的无损压缩算法、装置、计算机设备及存储介质
CN117666968A (zh) * 2023-12-20 2024-03-08 之江实验室 一种固态盘存储系统的选择性数据压缩方法及装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984610A (zh) * 2020-09-27 2020-11-24 苏州浪潮智能科技有限公司 数据压缩方法、装置及计算机可读存储介质
CN112506879A (zh) * 2020-12-18 2021-03-16 深圳智慧林网络科技有限公司 数据处理方法及相关设备
CN112764925A (zh) * 2021-01-18 2021-05-07 苏州浪潮智能科技有限公司 基于虚拟内存的数据存储方法、装置、设备及存储介质
CN112988070B (zh) * 2021-03-15 2023-03-28 长沙树根互联技术有限公司 断线数据的缓冲方法、装置和电子设备
CN112905127A (zh) * 2021-03-25 2021-06-04 北京金风慧能技术有限公司 数据处理方法和数据处理系统
CN113297155A (zh) * 2021-05-21 2021-08-24 曙光信息产业(北京)有限公司 数据存储方法、装置及可读存储介质
CN113872947B (zh) * 2021-09-15 2022-09-16 珠海格力电器股份有限公司 数据上报方法及装置、电子设备和计算机可读存储介质
CN114547030B (zh) * 2022-01-20 2023-03-24 清华大学 多级时序数据压缩方法、装置、电子设备及存储介质
WO2024088304A1 (zh) * 2022-10-25 2024-05-02 中国石油化工股份有限公司 一种用于电阻率测井的数据压缩判定处理方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254513A1 (en) * 2008-04-04 2009-10-08 Nokia Corporation Method, apparatus and computer program product for performing a query using a decision diagram
US20130006948A1 (en) * 2011-06-30 2013-01-03 International Business Machines Corporation Compression-aware data storage tiering
CN107465413A (zh) * 2017-07-07 2017-12-12 南京城市职业学院 一种自适应数据压缩系统及其方法
CN109325006A (zh) * 2018-08-23 2019-02-12 郑州云海信息技术有限公司 一种压缩存储的方法和装置、解压下载的方法和装置
CN110489387A (zh) * 2019-08-13 2019-11-22 深圳大学 压缩解压方法、装置、电子设备及存储介质
CN110764707A (zh) * 2019-10-25 2020-02-07 苏州浪潮智能科技有限公司 数据处理方法及装置
CN111628779A (zh) * 2020-05-29 2020-09-04 深圳华大生命科学研究院 一种fastq文件的并行压缩和解压方法及系统
CN111683046A (zh) * 2020-04-29 2020-09-18 平安国际智慧城市科技股份有限公司 文件压缩以及获取的方法、装置、设备及存储介质
CN111984610A (zh) * 2020-09-27 2020-11-24 苏州浪潮智能科技有限公司 数据压缩方法、装置及计算机可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254513A1 (en) * 2008-04-04 2009-10-08 Nokia Corporation Method, apparatus and computer program product for performing a query using a decision diagram
US20130006948A1 (en) * 2011-06-30 2013-01-03 International Business Machines Corporation Compression-aware data storage tiering
CN107465413A (zh) * 2017-07-07 2017-12-12 南京城市职业学院 一种自适应数据压缩系统及其方法
CN109325006A (zh) * 2018-08-23 2019-02-12 郑州云海信息技术有限公司 一种压缩存储的方法和装置、解压下载的方法和装置
CN110489387A (zh) * 2019-08-13 2019-11-22 深圳大学 压缩解压方法、装置、电子设备及存储介质
CN110764707A (zh) * 2019-10-25 2020-02-07 苏州浪潮智能科技有限公司 数据处理方法及装置
CN111683046A (zh) * 2020-04-29 2020-09-18 平安国际智慧城市科技股份有限公司 文件压缩以及获取的方法、装置、设备及存储介质
CN111628779A (zh) * 2020-05-29 2020-09-04 深圳华大生命科学研究院 一种fastq文件的并行压缩和解压方法及系统
CN111984610A (zh) * 2020-09-27 2020-11-24 苏州浪潮智能科技有限公司 数据压缩方法、装置及计算机可读存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968102A (zh) * 2022-05-27 2022-08-30 广州安凯微电子股份有限公司 一种数据缓存方法、装置、系统、计算机设备及存储介质
CN114968102B (zh) * 2022-05-27 2023-10-13 广州安凯微电子股份有限公司 一种数据缓存方法、装置、系统、计算机设备及存储介质
WO2023231265A1 (zh) * 2022-05-30 2023-12-07 深圳市吉迩科技有限公司 基于嵌入式系统图片的无损压缩算法、装置、计算机设备及存储介质
CN114860783A (zh) * 2022-07-05 2022-08-05 国网智能电网研究院有限公司 图数据库缓存方法、装置、电子设备和可读存储介质
CN114860783B (zh) * 2022-07-05 2022-09-27 国网智能电网研究院有限公司 图数据库缓存方法、装置、电子设备和可读存储介质
CN115396517A (zh) * 2022-08-16 2022-11-25 广东电网有限责任公司 北斗通信数据的处理方法、装置、终端设备及存储介质
CN115495312A (zh) * 2022-09-27 2022-12-20 北京百度网讯科技有限公司 业务请求处理方法和装置
CN115495312B (zh) * 2022-09-27 2023-07-18 北京百度网讯科技有限公司 业务请求处理方法和装置
CN115905168A (zh) * 2022-11-15 2023-04-04 本原数据(北京)信息技术有限公司 自适应压缩方法和压缩装置、计算机设备、存储介质
CN115905168B (zh) * 2022-11-15 2023-11-07 本原数据(北京)信息技术有限公司 基于数据库的自适应压缩方法和装置、设备、存储介质
CN117666968A (zh) * 2023-12-20 2024-03-08 之江实验室 一种固态盘存储系统的选择性数据压缩方法及装置

Also Published As

Publication number Publication date
CN111984610A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
WO2022062537A1 (zh) 数据压缩方法、装置及计算机可读存储介质
US20220057940A1 (en) Method and Apparatus for SSD Storage Access
US20130124796A1 (en) Storage method and apparatus which are based on data content identification
US10649905B2 (en) Method and apparatus for storing data
CN111813713B (zh) 数据加速运算处理方法、装置及计算机可读存储介质
US10474385B2 (en) Managing memory fragmentation in hardware-assisted data compression
CN114610650A (zh) 内存压缩方法、装置、存储介质及电子设备
CN110765031A (zh) 数据存储方法、装置、移动终端及存储介质
CN110889062A (zh) 页面加载方法及装置、终端和计算机可读存储介质
CN115576505A (zh) 一种数据存储方法、装置、设备及可读存储介质
WO2021169388A1 (zh) 一种压缩数据落盘的方法、系统、设备及可读存储介质
WO2021179170A1 (zh) 数据推送方法、装置、服务器及存储介质
WO2024027140A1 (zh) 一种数据处理方法、装置、设备、系统及可读存储介质
CN113703678B (zh) 一种存储桶索引重分裂的方法、装置、设备和介质
CN108234552B (zh) 一种数据存储方法及装置
CN107436848B (zh) 一种实现用户数据和压缩数据间转换的方法及装置
CN111459848B (zh) 一种文件碎片的整理方法、装置、存储介质及电子设备
CN115277553A (zh) 一种流表存储方法、装置、设备和计算机可读存储介质
CN112000289B (zh) 全闪存储服务器系统数据管理方法及相关组件
CN113010454A (zh) 数据读写方法、装置、终端及存储介质
CN111090633A (zh) 一种分布式文件系统的小文件聚合方法、装置及设备
CN112269535A (zh) 存储系统的空间资源分配方法、装置及可读存储介质
CN113111013A (zh) 一种闪存数据块绑定方法、装置及介质
CN116467235B (zh) 一种基于dma的数据处理方法、装置、电子设备及介质
CN117369731B (zh) 一种数据的缩减处理方法、装置、设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21870916

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21870916

Country of ref document: EP

Kind code of ref document: A1