CN116561082A - 数据压缩方法、压缩监视器、电子设备及存储介质 - Google Patents
数据压缩方法、压缩监视器、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116561082A CN116561082A CN202310370755.XA CN202310370755A CN116561082A CN 116561082 A CN116561082 A CN 116561082A CN 202310370755 A CN202310370755 A CN 202310370755A CN 116561082 A CN116561082 A CN 116561082A
- Authority
- CN
- China
- Prior art keywords
- compression
- write request
- request
- mode
- determining
- 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.)
- Pending
Links
- 238000007906 compression Methods 0.000 title claims abstract description 279
- 230000006835 compression Effects 0.000 title claims abstract description 279
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000013144 data compression Methods 0.000 title claims abstract description 53
- 238000004590 computer program Methods 0.000 claims description 14
- 238000005192 partition Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的数据压缩方法、压缩监视器、电子设备及存储介质,属于计算机技术领域,包括:根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;根据所述配置文件,确定所述写请求的压缩模式和压缩算法;基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。本发明提供的数据压缩方法、压缩监视器、电子设备及存储介质,通过读取写请求的配置文件,从而确定写请求的压缩模式和压缩算法,从而对FileStore后端存储方式数据压缩功能提供更细粒度的实现和控制。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据压缩方法、压缩监视器、电子设备及存储介质。
背景技术
Ceph在使用过程中数据往往存在大量冗余,占用过多的空间,造成成本浪费的问题,而压缩功能用更小的数据量表示更多的数据,是解决数据冗余的有效办法。
目前,无损压缩支持bluestore、FileStore两种实现方式,在特定的场景中,FileStore的后端存储实现方式更容易的实现适应用户读写数据特点的调优工作。
然而,在使用FileStore搭配BTRFS的压缩后,整个文件系统下的所有文件都将被压缩,存在压缩细粒度不足的缺陷。
发明内容
本发明提供的数据压缩方法、压缩监视器、电子设备及存储介质,用以解决现有技术中在使用FileStore搭配BTRFS的压缩后,整个文件系统下的所有文件都将被压缩,存在压缩细粒度不足的缺陷,实现通过读取写请求的配置文件,从而确定写请求的压缩模式和压缩算法,从而对FileStore后端存储方式数据压缩功能提供更细粒度的实现和控制。
本发明提供一种数据压缩方法,应用于压缩监视器,包括:
根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;
根据所述配置文件,确定所述写请求的压缩模式和压缩算法;
基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
根据本发明提供的一种数据压缩方法,所述基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩,包括:
基基于所述压缩模式和所述请求标识,确定所述写请求的判定结果;
在所述判定结果为写请求压缩的情况下,配置所述写请求的压缩比例和压缩对象;所述压缩对象是根据目标设备的硬盘容量确定的;
基于所述压缩比例和所述压缩对象,在确定所述写请求需要压缩的情况下,利用所述压缩算法压缩所述写请求。
根据本发明提供的一种数据压缩方法,所述基于所述压缩模式和所述请求标识,确定所述写请求的判定结果,包括:
在所述压缩模式为第一模式的情况下,确定所述判定结果为写请求不压缩;
在所述压缩模式为第二模式,且所述写请求中带有的请求标识为压缩的情况下,确定所述判定结果为写请求压缩;
在所述压缩模式为第三模式,且所述写请求中不带不压缩的请求标识的情况下,确定所述判定结果为写请求压缩;
在所述压缩模式为第四模式的情况下,确定所述判定结果为写请求压缩。
根据本发明提供的一种数据压缩方法,配置所述写请求的压缩对象,包括以下步骤:
根据所述目标设备的硬盘容量,确定最大对象容量;
在所述写请求大于所述最大对象容量的情况下,将所述写请求分解为多个数据块,以确定所述多个数据块为压缩对象。
根据本发明提供的一种数据压缩方法,所述基于所述压缩比例和所述压缩对象,调用所述压缩算法对所述写请求进行压缩,包括;
调用所述压缩算法按所述压缩比例对每个数据块分别进行压缩。
根据本发明提供的一种数据压缩方法,在所述根据所述配置文件,确定所述写请求的压缩模式和压缩算法之前,还包括:
在所述根据所述配置文件,确定所述写请求的压缩模式和压缩算法之前,还包括:
迭代执行以下步骤,直至根据新的压缩开关阀值,确定上述压缩模式开启:
根据文件系统的描述文件和存储平台的系统日志,确定所述写请求的压缩开关阀值;所述压缩开关阀值用于指示所述写请求的压缩模式的开启或关闭;
在根据所述压缩开关阀值,确定压缩模式是未开启的情况下,发送开启指令,以修改所述写请求中的压缩开关阀值;
再次根据文件系统的描述文件和存储平台的系统日志,确定新的压缩开关阀值。
根据本发明提供的一种数据压缩方法,在所述根据描述文件和系统日志,确定写请求的配置文件和请求标识之前,还包括:
将目标设备根据本地存储模块的权重进行空间划分,生成多个分区;将文件系统中的描述文件指向每个分区的目标部分;
将所述描述文件的数据存储区域与所述目标部分对齐。
本发明还提供一种压缩监视器,包括:
第一确定单元,用于根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;
第二确定单元,用于根据所述配置文件,确定所述写请求的压缩模式和压缩算法;
调用单元,用于基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据压缩方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据压缩方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据压缩方法。
本发明提供的数据压缩方法、压缩监视器、电子设备及存储介质,通过读取写请求的配置文件,从而确定写请求的压缩模式和压缩算法,从而对FileStore后端存储方式数据压缩功能提供更细粒度的实现和控制。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据压缩方法的流程示意图之一;
图2是本发明提供的Ceph架构的应用示意图之一;
图3是本发明提供的Ceph架构的应用示意图之二;
图4是本发明提供的数据压缩方法的流程示意图之二;
图5是本发明提供的压缩监视器的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面结合图1-图6描述本发明的实施例所提供的数据压缩方法、压缩监视器、电子设备及存储介质。
本发明实施例提供的数据压缩方法,执行主体可以为电子设备或者电子设备中能够实现该数据压缩方法的软件或功能模块或功能实体,本发明实施例中电子设备包括但不限于压缩监视器(Compression monitor)。需要说明的是,上述执行主体并不构成对本发明的限制。
图1是本发明提供的数据压缩方法的流程示意图之一,如图1所示,包括但不限于以下步骤:
首先,在步骤S1中,根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的。
目标设备可以是NVME设备,NVME设备上装有Ceph系统,Ceph系统中包括多个OSD模块。
图2是本发明提供的Ceph架构的应用示意图之一,如图2所示,在RADOS架构中,将用户需要存储或访问的文件File按照2M或者4M大小切片得到多个Object,每个Object先通过哈希算法(Hash Function)计算得到对应的PG,最后PG负责将Object通过可扩展哈希下的受控复制(Controlled Replication Under Scalable Hashing,CRUSH)算法映射到对应的OSD模块上。
OSD模块可以被抽象为系统和守护进程(OSD Daemon)两个部分,每个OSD模块拥有一个自己的OSD Daemon。这个Daemon负责完成OSD模块的所有逻辑功能;由于在通常情况下一个OSD模块对应一块硬盘,因此OSD的系统部分占用了部分计算能力、一定数量的内存和一块硬盘和网络资源,同时安装有独立的文件系统用于存储数据。
在OSD系统中,每个Object会被FileStore看作是一个文件,Object的属性(xattr)会利用文件的属性存取,为实现对OSD模块内的冗余数据的压缩,可以使用BTRFS作为FileStore的文件系统以存储对象。利用BTRFS内置的压缩功能来实现OSD模块内的数据压缩;采用透明文件系统压缩发生在文件系统级别,在透明文件系统中,压缩文件是在磁盘上应用压缩后存储的,而对用户来说仍然看起来像普通的未压缩文件。
描述文件可以为闪存友好文件系统(Flash-Friendly File System,F2FS)的元数据f2fs metadata;系统日志可以是Ceph的Ceph file journal。
具体地,Compression monitor通过f2fs metadata/Ceph file journal确定写请求的配置文件和请求标识,写请求的配置文件包括:写的块的大小、文件格式、数据位置、报文、请求的描述文件等。
可选地,在所述根据描述文件和系统日志,确定写请求的配置文件和请求标识之前,还包括:
将目标设备根据本地存储模块的权重进行空间划分,生成多个分区;将文件系统中的描述文件指向每个分区的目标部分;
将所述描述文件的数据存储区域与所述目标部分对齐。
文件系统可以是闪存友好文件系统(Flash-Friendly File System,F2FS),存储模块可以是对象存储守护程序(Object Storage Daemon,OSD)模块。
首先,利用parted将NVME设备按照本地OSD模块的权重划分空间,其中,OSD模块的权重以NVME设备中硬盘的数量和容量为准。例如,NVME设备中有10个硬盘,则将NVME设备划分为10个分区。
将每个分区分为SSD_PART1和SSD_PART2,指定SSD_PART1为目标部分。
每个分区的SSD_PART1部分用于存储osd_journal metadata(缓存,日志元数据),挂载目录/Ceph/Data/Osd/osd-nvme-(设备SN)-partx/journa;
SSD_PART2部分用于OSD设备缓存(写数据),挂载目录/Ceph/Data/Osd/osd-nvme-(设备sn)-partx;
将F2FS的元数据存储区域(CP SIT NAT SSA)指向SSD_PART1并对齐。
具体地,为了避免文件系统和flash存储之间不对齐,影响NVME设备的性能,F2FS使CP的起始块地址与Segment大小对齐。同时,F2FS使Main Area的起始块地址与Zone的大小对齐。
图3是本发明提供的Ceph架构的应用示意图之二,如图3所示,通过工具配合对数据落盘前的输入输出(Input Output,IO)监控来实现灵活改变压缩配置的思想,后端存储FileStore中使用闪存设备的日志追加文件系统F2FS。利用parted将原FileJournal的加速设备SSD/NVME一分二,根据Ceph_osd大小预留FileJournal足够空间作为SSD_PART1,剩余SSD/NVME设备空间划分SSD_PART2。通过F2FS文件系统整合SSD_PART2和HDD为1个逻辑盘挂载到osd使用,用于实际数据落盘加速写效率,而SSD_PART1将承载Ceph FileJournal、F2FS元数据、日志以及监控工具Compression monitor。Compression monitor通过从记录在SSD_PART1中的inode metadata信息中获取数据,根据配置算法、相关阀值的限制,以确认改写请求是否需要被压缩。
根据本发明提供的数据压缩方法,通过将数据存储区域指向SSD_PART1并对齐,能够提升NVME设备的性能。
可选地,在所述根据所述配置文件,确定所述写请求的压缩模式和压缩算法之前,还包括:
迭代执行以下步骤,直至根据新的压缩开关阀值,确定上述压缩模式开启:
根据文件系统的描述文件和存储平台的系统日志,确定所述写请求的压缩开关阀值;所述压缩开关阀值用于指示所述写请求的压缩模式的开启或关闭;
在根据所述压缩开关阀值,确定压缩模式是未开启的情况下,发送开启指令,以修改所述写请求中的压缩开关阀值;
再次根据文件系统的描述文件和存储平台的系统日志,确定新的压缩开关阀值。
存储平台可以是Ceph,Compression monitor还可以通过f2fs metadata/Cephfile journal获取写请求的压缩开关阀值。
根据压缩开关阀值,可以判断配置F2FS是否开启压缩功能,精确到数据块。
根据本发明提供的数据压缩方法,能够支持实时开启关闭压缩功能和对压缩算法进行配置,只对正在发生的写请求进行压缩,OSD模块内已经保存的数据不会发生重构。
进一步地,在步骤S2中,根据所述配置文件,确定所述写请求的压缩模式和压缩算法。
在配置文件中可以确定写请求的压缩算法和压缩模式。
可以在写请求的配置文件中修改压缩算法,此配置只影响新落盘的数据,不影响已有数据。
进一步地,在步骤S3中,基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
Compression monitor根据压缩模式和写请求带有的请求标识,可以判定写请求是否需要压缩。
在写请求需要压缩的情况下,Compression monitor调用压缩算法对写请求进行压缩。
可选地,所述基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩,包括:
基于所述压缩模式和所述请求标识,确定所述写请求的判定结果;
在所述判定结果为写请求压缩的情况下,配置所述写请求的压缩比例和压缩对象;所述压缩对象是根据目标设备的硬盘容量确定的;
基于所述压缩比例和所述压缩对象,在确定所述写请求需要压缩的情况下,利用所述压缩算法压缩所述写请求。
需要根据写请求压缩模式和请求标识,对写请求是否需要压缩进行初步判定,得到写请求的判定结果。
在判定结果确定为写请求压缩的情况下,对写请求的压缩比例和压缩对象进行配置。
本发明提供的数据压缩方法,通过读取写请求的配置文件,从而确定写请求的压缩模式和压缩算法,从而对FileStore后端存储方式数据压缩功能提供更细粒度的实现和控制。
可选地,所述基于所述压缩模式和所述请求标识,确定所述写请求的判定结果,包括:
在所述压缩模式为第一模式的情况下,确定所述判定结果为写请求不压缩;
在所述压缩模式为第二模式,且所述写请求中带有的请求标识为压缩的情况下,确定所述判定结果为写请求压缩;
在所述压缩模式为第三模式,且所述写请求中不带不压缩的请求标识的情况下,确定所述判定结果为写请求压缩;
在所述压缩模式为第四模式的情况下,确定所述判定结果为写请求压缩。
Compression monitor根据压缩模式和每个写请求自带的请求标识(hint)一起来决定是否对该改写请求进行压缩,具体包括:
压缩模式为第一模式(None),写请求不进行压缩;
压缩模式为第二模式(Passive),除非写请求自带压缩hint,否则写请求不进行压缩;
压缩模式为第三模式(Aggressive),除非写请求中有不压缩的hint,否则写请求全部进行压缩;
压缩模式为第四模式(Force),不考虑请求标识、压缩比例和最小对象容量,对所有写请求全部进行压缩。
根据本发明提供的数据压缩方法,通过读取支持None、Passive、Aggressive和Force三种压缩模式的写请求的配置文件,进而确定写请求是否需要压缩,能够实现更细粒度的控制。
可选地,配置所述写请求的压缩对象,包括以下步骤:
根据所述目标设备的硬盘容量,确定最大对象容量;
在所述写请求大于所述最大对象容量的情况下,将所述写请求分解为多个数据块,以确定所述多个数据块为压缩对象。
Compression monitor Blob配置最大对象容量(Compression Max blob Size):如果需要压缩的写请求块大于最大对象容量,则将该写请求分成若干个数据块,并分别进行压缩。
最大对象容量针对硬盘驱动器和固态硬盘可以设置不同大小。
此外还可以设置最小对象容量(Compression Min blob Size),在写请求小于最小对象容量的情况下,该写请求不会进行压缩,而是直接存储写请求的原始数据,可有效避免压缩操作的冗余。
例如,在写请求的压缩比等于或低于该压缩比例,且写请求大于最小对象容量的情况下,根据压缩模式和请求标识,对写请求是否需要压缩进行判定。
根据本发明提供的数据压缩方法,通过在压缩前将过大的数据进行分割,在确保不会超出单个硬盘的容量的同时,还能对数据进行有效压缩。
可选地,所述基于所述压缩比例和所述压缩对象,调用所述压缩算法对所述写请求进行压缩,包括;
调用所述压缩算法按所述压缩比例对每个数据块分别进行压缩。
压缩比例可以根据实际需求灵活配置,压缩比为数据块压缩之后的大小和原始数据大小的比例。只有写请求的压缩比等于或低于该压缩比例的情况下,才进行后续判断;否则,如果写请求经过压缩后没有达到设定的压缩比例,该写请求不会进行压缩,而将直接存储原始的写请求,以避免无效压缩。
例如,该比例设置为0.7,则在写操作中,只有那些经过压缩后的数据是原始数据的70%,或者更少的数据才有可能被压缩后进行存储。
根据本发明提供的数据压缩方法,通过调用算法对每个数据块进行压缩,确保不会超出单个硬盘的容量。
相关技术中BTRFS作为FileStore后端存储文件系统,并不支持在线更改压缩算法,并且缺少工具监控统计Ceph数据落盘情况,无法判断哪些数据是否需要被压缩,以及压缩比例的控制。本发明可解决FileStore后端存储方式对在线数据压缩的配置和监控问题。
图4是本发明提供的数据压缩方法的流程示意图之二,针对用户可能需要更细粒度的控制,比如针对不同的目录采用不同的压缩算法,或者禁止压缩,本发明的实施例还提供一种数据压缩方法,如图4所示,包括:
首先,FileStore后端存储F2FS文件系统支配;在分区(OSD)中,利用parted将NVME设备按照本地OSD权重等分容量;在分区(NVME)中,每个节点按照OSD容量预留FileStore空间PART1,剩余空间提供OSD缓存PART2;F2FS指定meta inode:将F2FS的元数据存储区域(CPSIT NAT SSA)指向PART1;
其次,Compression monitor监控F2FS metadata/ceph FileJourmal,实现对写请求的实时监控,实时抓取记录在SSD中的filejournal metada以及写请求信息的方式,通过Compression monitor工具与F2FS文件系统配置交互,实现更全面对FileStore后端存储方式实现压缩功能;还可以实现FileStore后端存储F2FS文件系统压缩功能的灵活配置:
接着,若ceph FileJourmal没有带压缩标识,确定写请求不做压缩;若cephFileJourmal带有压缩标识,则读取压缩算法:compress=“cat”/“gzip”/“bzip2”/“lzam”/“xz”/“lzo”/“lz4”/“zstd”,指定压缩算法后,F2FS开始对写请求进行解压缩;
然后,对压缩模式(Compression mode)进行判断,若压缩模式为None,确定写请求不做压缩;若压缩模式为Passive,除非写请求自带压缩hint,否则不进行压缩;若压缩模式为Aggressive,除非写请求中有不压缩的hint,否则全部进行压缩;若压缩模式为Force,无视其他,对所有写请求全部进行压缩;Compression monitor通过获取Ceph层面的filejournal、metadata,写请求标识,以确认数据落盘信息,支持pssive AggressiveForce三种压缩模式,明确哪些数据需要被压缩;
再者,对于要压缩的写请求,配置压缩比例(Compression ratio),若写请求经过压缩后没有达到设定的压缩比例,该写请求不会进行压缩,而将直接存储原始的写请求;灵活变更压缩比阀值,只对压缩比高的写请求进行压缩操作;
若写请求经过压缩后不大于压缩比例,配置压缩对象(Compression biob size),若写请求小于最小对象容量,该写请求不会进行压缩,而是直接存储写请求的原始数据;若写请求块大于最大对象容量,则该写请求不会进行压缩,而是直接存储写请求的原始数据;若二者均不是,则调用压缩算法对写请求进行压缩。通过设置阀值,将超出阀值以外的数据块,不进行压缩。
根据本发明提供的数据压缩方法,Compression monitor通过开启状态、压缩算法等参数,压缩比例,数据块大小等阀值设计与F2FS文件系统的压缩功能交互实现对FileStore后端存储的压缩功能的多维度控制,能够解决以往BTRFS等文件系统作为FileStore后端,不能实时和细粒度的对压缩功能控制问题。
下面对本发明提供的压缩监视器进行描述,下文描述的压缩监视器与上文描述的数据压缩方法可相互对应参照。
图5是本发明提供的压缩监视器的结构示意图,如图5所示,包括:
第一确定单元501,用于根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;
第二确定单元502,用于根据所述配置文件,确定所述写请求的压缩模式和压缩算法;
调用单元503,用于基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
在压缩监视器运行的过程中,第一确定单元501根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;第二确定单元502根据所述配置文件,确定所述写请求的压缩模式和压缩算法;调用单元503基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
本发明提供的压缩监视器,通过读取写请求的配置文件,从而确定写请求的压缩模式和压缩算法,从而对FileStore后端存储方式数据压缩功能提供更细粒度的实现和控制。
图6是本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信,处理器610用于执行存储器630中存储的可执行模块,例如计算机程序。
其中,存储器630可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口620(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
通信总线640可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器630用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的压缩监视器所执行的方法可以应用于处理器610中,或者由处理器610实现。
处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器630,处理器610读取存储器630中的信息,结合其硬件,以执行数据压缩方法,该方法包括:根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;根据所述配置文件,确定所述写请求的压缩模式和压缩算法;基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的压缩监视器及电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供的压缩监视器及电子设备,与上述实施例提供的数据压缩方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
附图中的流程图和框图显示了根据本发明的多个实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的进行数据压缩方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,上述程序代码包括的指令可用于执行前面方法实施例中上述的方法,具体实现可参见方法实施例,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的压缩监视器和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据压缩方法,该方法包括:根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;根据所述配置文件,确定所述写请求的压缩模式和压缩算法;基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据压缩方法,该方法包括:根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;根据所述配置文件,确定所述写请求的压缩模式和压缩算法;基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据压缩方法,其特征在于,应用于压缩监视器,包括:
根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;
根据所述配置文件,确定所述写请求的压缩模式和压缩算法;
基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
2.根据权利要求1所述的数据压缩方法,其特征在于,所述基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩,包括:
基于所述压缩模式和所述请求标识,确定所述写请求的判定结果;
在所述判定结果为写请求压缩的情况下,配置所述写请求的压缩比例和压缩对象;所述压缩对象是根据目标设备的硬盘容量确定的;
基于所述压缩比例和所述压缩对象,在确定所述写请求需要压缩的情况下,利用所述压缩算法压缩所述写请求。
3.根据权利要求2所述的数据压缩方法,其特征在于,所述基于所述压缩模式和所述请求标识,确定所述写请求的判定结果,包括:
在所述压缩模式为第一模式的情况下,确定所述判定结果为写请求不压缩;
在所述压缩模式为第二模式,且所述写请求中带有的请求标识为压缩的情况下,确定所述判定结果为写请求压缩;
在所述压缩模式为第三模式,且所述写请求中不带不压缩的请求标识的情况下,确定所述判定结果为写请求压缩;
在所述压缩模式为第四模式的情况下,确定所述判定结果为写请求压缩。
4.根据权利要求2所述的数据压缩方法,其特征在于,配置所述写请求的压缩对象,包括以下步骤:
根据所述目标设备的硬盘容量,确定最大对象容量;
在所述写请求大于所述最大对象容量的情况下,将所述写请求分解为多个数据块,以确定所述多个数据块为压缩对象。
5.根据权利要求4所述的数据压缩方法,其特征在于,所述基于所述压缩比例和所述压缩对象,调用所述压缩算法对所述写请求进行压缩,包括;
调用所述压缩算法按所述压缩比例对每个数据块分别进行压缩。
6.根据权利要求1-5中任一项所述的数据压缩方法,其特征在于,在所述根据所述配置文件,确定所述写请求的压缩模式和压缩算法之前,还包括:
迭代执行以下步骤,直至根据新的压缩开关阀值,确定上述压缩模式开启:
根据文件系统的描述文件和存储平台的系统日志,确定所述写请求的压缩开关阀值;所述压缩开关阀值用于指示所述写请求的压缩模式的开启或关闭;
在根据所述压缩开关阀值,确定压缩模式是未开启的情况下,发送开启指令,以修改所述写请求中的压缩开关阀值;
再次根据文件系统的描述文件和存储平台的系统日志,确定新的压缩开关阀值。
7.根据权利要求1-5中任一项所述的数据压缩方法,其特征在于,在所述根据描述文件和系统日志,确定写请求的配置文件和请求标识之前,还包括:
将目标设备根据本地存储模块的权重进行空间划分,生成多个分区;将文件系统中的描述文件指向每个分区的目标部分;
将所述描述文件的数据存储区域与所述目标部分对齐。
8.一种压缩监视器,其特征在于,包括:
第一确定单元,用于根据描述文件和系统日志,确定写请求的配置文件和请求标识,所述描述文件和系统日志是由目标设备接收写请求并响应所生成的;
第二确定单元,用于根据所述配置文件,确定所述写请求的压缩模式和压缩算法;
调用单元,用于基于所述压缩模式和所述请求标识,在确定所述写请求需要压缩的情况下,调用所述压缩算法,以对所述写请求进行压缩。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述数据压缩方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述数据压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310370755.XA CN116561082A (zh) | 2023-04-07 | 2023-04-07 | 数据压缩方法、压缩监视器、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310370755.XA CN116561082A (zh) | 2023-04-07 | 2023-04-07 | 数据压缩方法、压缩监视器、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561082A true CN116561082A (zh) | 2023-08-08 |
Family
ID=87488807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310370755.XA Pending CN116561082A (zh) | 2023-04-07 | 2023-04-07 | 数据压缩方法、压缩监视器、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561082A (zh) |
-
2023
- 2023-04-07 CN CN202310370755.XA patent/CN116561082A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11556349B2 (en) | Booting a secondary operating system kernel with reclaimed primary kernel memory | |
CN108427538B (zh) | 全闪存阵列的存储数据压缩方法、装置、及可读存储介质 | |
US11068405B2 (en) | Compression of host I/O data in a storage processor of a data storage system with selection of data compression components based on a current fullness level of a persistent cache | |
US9087021B2 (en) | Peer-to-peer transcendent memory | |
KR102069940B1 (ko) | 페이지 기반 압축 저장 관리 | |
EP3108371B1 (en) | Modified memory compression | |
US8738857B1 (en) | System and method for improving cache performance | |
EP2333653A1 (en) | Information backup/restoring apparatus and information backup/restoring system | |
US9684665B2 (en) | Storage apparatus and data compression method | |
US9268693B1 (en) | System and method for improving cache performance | |
CN112684975B (zh) | 一种数据存储方法及装置 | |
CN112954244A (zh) | 监控录像的存储实现方法、装置、设备及存储介质 | |
US8738858B1 (en) | System and method for improving cache performance | |
US11467734B2 (en) | Managing swap area in memory using multiple compression algorithms | |
US20030088747A1 (en) | External storage device within a computer network | |
US20220129346A1 (en) | Data processing method and apparatus in storage system, and storage system | |
US11327929B2 (en) | Method and system for reduced data movement compression using in-storage computing and a customized file system | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
CN116561082A (zh) | 数据压缩方法、压缩监视器、电子设备及存储介质 | |
JP2018185562A (ja) | 制御プログラム、制御方法、及び情報処理装置 | |
JP2008257584A (ja) | Ramディスクの処理方法及びシステム | |
US20180321867A1 (en) | Storage management system and method | |
CN111399763B (zh) | 数据存储的方法、装置、系统、设备及存储介质 | |
CN113227993A (zh) | 用于去重优化的设备、系统和方法 | |
CN111026720A (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 |