CN114579050A - 处理压缩数据的方法以及装置 - Google Patents
处理压缩数据的方法以及装置 Download PDFInfo
- Publication number
- CN114579050A CN114579050A CN202210134475.4A CN202210134475A CN114579050A CN 114579050 A CN114579050 A CN 114579050A CN 202210134475 A CN202210134475 A CN 202210134475A CN 114579050 A CN114579050 A CN 114579050A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- disks
- disk
- compressed
- 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 62
- 238000012545 processing Methods 0.000 title claims abstract description 54
- 238000007906 compression Methods 0.000 claims abstract description 435
- 230000006835 compression Effects 0.000 claims abstract description 435
- 238000013144 data compression Methods 0.000 claims abstract description 56
- 238000012546 transfer Methods 0.000 claims abstract description 41
- 238000011217 control strategy Methods 0.000 claims abstract description 39
- 230000002159 abnormal effect Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004880 explosion Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本说明书实施例提供处理压缩数据的方法以及装置,其中所述方法包括:获取至少两个压缩盘各自盘内数据块的数据实际压缩比,根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移,使得存储系统内压缩盘之间的整盘数据实际压缩比趋于一致,更加接近预设标准压缩比,预防发生低压缩比盘被写爆或者存储资源浪费的情况。
Description
技术领域
本说明书实施例涉及数据存储技术领域,特别涉及一种处理压缩数据的方法以及装置。
背景技术
随着存储计算的发展,目前已经出现了自带压缩功能的硬盘。自带压缩功能的硬盘通过嵌入式的压缩引擎来减少写放大,从而提升盘的使用寿命,降低使用成本。在实际使用中,压缩引擎根据压缩盘的逻辑容量来决定是否写入新数据。具体地,在逻辑容量未使用完时,继续写入新数据,在逻辑容量使用完时,则停止向该盘写数据。
但是,这导致某些盘在很可能在逻辑容量未使用完时盘就已被写爆,或者,在逻辑容量使用完时物理容量仍然有较大剩余,造成存储资源的浪费。
发明内容
有鉴于此,本说明书实施例提供了一种处理压缩数据的方法。本说明书一个或者多个实施例同时涉及一种处理压缩数据的装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种处理压缩数据的方法,包括:获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于所述预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比;根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳;基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移。
可选地,还包括:获取所述存储池内多个压缩盘各自的状态数据,其中,所述状态数据用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量;判断所述多个压缩盘各自的状态数据是否达到预设异常范围;针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态。
可选地,还包括:在设置为禁止新数据写入状态的压缩盘的状态数据恢复到预设正常范围时,取消该压缩盘的禁止新数据写入状态。
可选地,所述获取至少两个压缩盘各自盘内数据块的数据实际压缩比之前,还包括:获取所述存储池内多个压缩盘各自的状态数据,其中,所述状态数据用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量;根据所述多个压缩盘各自的状态数据,从所述多个压缩盘中选择出需要进行数据转移处理的至少两个压缩盘。
可选地,所述状态数据还用于表示转移优先级,转移优先级越高的压缩盘需要转的数据量越大。
可选地,所述根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,包括:从所述至少一个压缩盘内选择第一数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第一数据块的数据实际压缩比低于所述至少一个压缩盘内其他数据块的数据实际压缩比;从所述至少另一个压缩盘内选择第二数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第二数据块的数据实际压缩比高于所述至少另一个压缩盘内其他数据块的数据实际压缩比。所述基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移,包括:将所述至少一个压缩盘内的第一数据块中的数据转移到所述至少另一个压缩盘内,且将所述至少另一个压缩盘内的第二数据块中的数据转移到所述至少一个压缩盘内。
可选地,所述方法应用于主机系统。所述获取所述存储池内多个压缩盘各自的状态数据,包括:从压缩存储驱动器获取所述存储池内多个压缩盘各自的状态数据;其中,所述压缩存储驱动器,用于统计所述存储池内多个压缩盘当前各自的状态数据,并判断所述多个压缩盘各自的状态数据是否达到预设异常范围,针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态,并向主机返回相应的禁止消息,在该压缩盘的状态数据恢复到预设正常范围时,向主机返回相应的恢复消息。所述针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态,包括:响应于从所述压缩存储驱动器接收到所述禁止消息,停止向对应的压缩盘分发新的写请求。所述在设置为禁止新数据写入状态的压缩盘的状态数据恢复到预设正常范围时,取消该压缩盘的禁止新数据写入状态,包括:响应于从所述压缩存储驱动器接收到所述恢复消息,恢复向对应的压缩盘分发新的写请求。
可选地,所述方法应用于主机系统。所述获取所述存储池内多个压缩盘各自的状态数据,包括:从压缩存储驱动器获取所述存储池内多个压缩盘各自的状态数据。所述获取至少两个压缩盘各自盘内数据块的数据实际压缩比,包括:从压缩存储驱动器获取至少两个压缩盘各自盘内数据块的数据实际压缩比。其中,所述压缩存储驱动器,用于统计所述存储池内多个压缩盘当前各自的状态数据以及所述多个压缩盘各自盘内数据块的数据实际压缩比,并在任一个或多个压缩盘的状态数据达到上报要求时,将所述任一个或多个压缩盘当前的状态数据返回给主机系统。
根据本说明书实施例的第二方面,提供了一种处理压缩数据的装置,包括:压缩比获取模块,被配置为获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于所述预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比。数据选择模块,被配置为根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳。转移执行模块,可以被配置为基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述处理压缩数据的方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述处理压缩数据的方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述处理压缩数据的方法的步骤。
本说明书一个实施例实现了处理压缩数据的方法,由于该方法获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于所述预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比,根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳,从而基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移,使得存储系统内各个压缩盘的整盘数据实际压缩比趋于一致,更加接近预设标准压缩比,预防发生压缩盘被写爆或者存储资源浪费的情况。
附图说明
图1是本说明书一个实施例提供的存储池示意图;
图2是本说明书一个实施例提供的一种处理压缩数据的方法的流程图;
图3是本说明书一个实施例提供的一种处理压缩数据的装置的结构示意图;
图4是本说明书另一个实施例提供的一种处理压缩数据的装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
CSD:Compress Storage Drive,压缩存储驱动器。
CS:Chunk Server,块伺服器。
BB:Bad Block,坏块。
SPB:Super Block,超级块。
RO:Read Only,只读。
为了使本说明书实施例提供的处理压缩数据的方法更加易于理解,首先对固态硬盘处理压缩数据的一些相关情况进行示意性说明。在固态硬盘中,通常会有一定的预留空间也即OP空间。OP空间除了写一些SSD元数据外,还提供了一段额外空间用于GC(垃圾回收)。随着盘的使用,产生的坏块也来越多,OP也就越来越小。当OP降到小于逻辑容量,GC会陷入死循环,为了防止出现这种现象,需要提前将盘置为RO状态,并提示主机将该盘做下线处理。对于数据压缩存储驱动器,情况会更加复杂,除了同样存在上述问题,数据压缩存储驱动器在开卡的时候会预估一个预设标准压缩比,将盘格式化成比物理容量更大的盘。比如,该实施例中预设标准压缩比为实际已使用逻辑容量与实际已使用物理容量相比的比值,假设该预设标准压缩比为2,则4T的盘可以通过VU将其格式化为8TB的盘。但是实际使用中可能数据实际压缩比远大于2,也可能远小于2,导致实际存储与预估开卡的容量不匹配。例如,如图1所示的存储池示意图,“CS storage node”表示存储节点,每个存储节点包含多个压缩盘。存储池中包括3种状态的压缩盘:
(1)整盘数据实际压缩比大于预设标准压缩比的压缩盘。例如,压缩盘的整盘数据实际压缩比为2.3,用户写了8192GB数据后,逻辑容量写满就不再向该盘写新的数据了。但是,实际物理容量才写了8192GB/2.3=3561GB,也就是说还有4096-3561=525GB的空闲空间。
(2)整盘数据实际压缩比小于预设标准压缩比的压缩盘。例如,压缩盘的整盘数据实际压缩比为1.7,相当于用户写了4096*1.7=6963GB时,物理容量就已经被写满了。但是,这并不符合开卡设定的预期,主机认为还有(8192-6963)GB可写,因此,会导致出现普通盘GC死循环把盘写爆的问题。
(3)整盘数据实际压缩比约等于预设标准压缩比的压缩盘。这种情况的压缩盘的整盘数据实际压缩比在预估值附近,基本上符合开卡时的设定,存储空间得以有效利用。
综上可见,压缩盘的整盘数据实际压缩比和预设标准压缩比不匹配会造成至少两个问题:一个问题是,对于大于预设标准压缩比的压缩盘,在物理容量已写满的情况下,主机可能会认为还没写满,继续向里面写新数据,造成盘GC死循环被写爆;另一个问题是,对于小于预设标准压缩比的压缩盘,在物理容量未写满的情况下,主机可能认为已写满,不再向其写新数据,造成了空间的浪费。
有鉴于此,在本说明书中,提供了一种处理压缩数据的方法,本说明书同时涉及一种处理压缩数据的装置,一种计算设备,以及一种计算机可读存储介质,用于解决上述问题。接下来,在下面的实施例中逐一进行详细说明。
参见图2,图2示出了根据本说明书一个实施例提供的一种处理压缩数据的方法的流程图,具体包括以下步骤。
步骤202:获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于所述预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比。
本说明书实施例提供的方法对于如何在存储系统中确定需要进行数据转移的至少两个压缩盘并不进行限制。以第一压缩盘和第二压缩盘来表示需要数据转移的任意两个或两个以上压缩盘。例如,可以根据外部传入的指示信息确定第一压缩盘和第二压缩盘需要转移数据。再例如,可以根据预设标准压缩比,自动查找需要转移数据的第一压缩盘和第二压缩盘。所述第一压缩盘和所述第二压缩盘需要满足的条件是,至少一个压缩盘的整盘数据实际压缩比高于所述预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比即可。
其中,所述实际压缩比,可以指实际已使用逻辑容量与实际已使用物理容量相比的比值,也可以指实际已使用物理容量与已使用逻辑容量相比的比值。所述预设标准压缩比,可以指CSD在开卡的时候预估的预设标准压缩比,相应地,可以指一个盘内所有逻辑容量与所有物理容量相比的预估比值,也可以指一个盘内所有物理容量与所有逻辑容量相比的预估比值。
所述整盘数据实际压缩比,是指单个压缩盘内所有数据的实际压缩比。
其中,数据块又称为SPB(超级块)。一个压缩盘会分成多个SPB,具体数量取决于盘内部存储介质的参数,例如,数据块一般在1000-2000之间。每个数据块有各自的数据实际压缩比。每个压缩盘基于其包含的所有数据块具有对应的整盘数据实际压缩比。
步骤204:根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳。
需要说明的是,实现所述压缩均衡控制策略的具体方式不限,满足上述压缩均衡控制策略的基本要求即可实现压缩均衡的目的。
例如,所述压缩盘之间单向转移数据和/或双向交换数据可以包括以下几种情况:多个压缩盘中,一些压缩盘向另一些压缩盘单向转移数据;多个压缩盘中,一些压缩盘与另一些压缩盘之间双向交换数据;多个压缩盘中,一些压缩盘单向转移数据,另一些压缩盘双向交换数据。
步骤206:基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移。
由于该方法获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于所述预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比,根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳,从而基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移,使得存储系统内各个压缩盘的整盘数据实际压缩比趋于一致,更加接近预设标准压缩比,预防发生压缩盘被写爆或者存储资源浪费的情况,使得大多数压缩盘都能达到最大的使用率。
本说明书实施例提供的处理压缩数据的方法可以应用于基于压缩盘构建的存储系统。该存储系统可以是单机或者分布式存储集群的存储系统。
本说明书实施例提供的方法对于如何在存储系统中确定需要进行数据转移的至少两个压缩盘并不进行限制。例如,为了更加快速地筛选出需要进行数据转移的至少两个压缩盘,本说明书一个或多个实施例中,所述获取至少两个压缩盘各自盘内数据块的数据实际压缩比之前,还包括:获取所述存储池内多个压缩盘各自的状态数据,其中,所述状态数据用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量;根据所述多个压缩盘各自的状态数据,从所述多个压缩盘中选择出需要进行数据块转移处理的至少两个压缩盘。其中,所述数据转移既可以指压缩盘之间单向转移出数据的转移,也可以指压缩盘之间双向交换数据的转移。其中,所述状态数据的表现形式不限,能够表达出整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量即可。例如,所述状态数据可以表现为任意形式的状态码。例如,可以将所述比较结果以及剩余物理存储容量的完整取值范围划分为多段,不同状态码表示不同段位。从而,根据获取的状态码可以更加快速地筛选出需要转移数据的压缩盘。再例如,所述状态数据可以直接表现为整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量。
在上述实施例中,通过用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量的状态数据,能够准确选择出需要进行数据块转移处理的至少两个压缩盘。
需要说明的是,根据本说明书实施例提供的方法,在获取所述存储池内多个压缩盘各自的状态数据之后,可以根据状态数据选择出需要进行单向转移的压缩盘组合和/或双向交换的压缩盘组合。
为了更加准确地衡量需要转移的数据量,本说明书一个或多个实施例中,所述状态数据还可以用于表示转移优先级,转移优先级越高的压缩盘需要转的数据量越大。
由于在压缩盘的整盘数据实际压缩程度不如预设标准压缩比但物理容量已将用完的状态下,该压缩盘如果继续写可能很快会被写爆出现异常,因此,本说明书一个或多个实施例中,所述方法还可以包括:获取所述存储池内多个压缩盘各自的状态数据,其中,所述状态数据用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量;判断所述多个压缩盘各自的状态数据是否达到预设异常范围;针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态。
其中,所述预设异常范围可以根据实际应用场景进行设置。例如,在新数据写入比较频繁的场景中,则所述预设异常范围可以相对大,正常范围可以相对小,以免突然写入大量新数据导致发生写爆的问题。再例如,在新数据较少写入的场景中,则所述预设异常范围可以相对小,正常范围可以相对大,以达到最大化利用存储空间的目的。
另外,结合上述实施例,在某压缩盘禁止写入新数据之后,根据本说明书实施例提供的方法可以继续对该压缩盘与其他压缩盘进行转移或交换数据,以使该压缩盘的整盘数据实际压缩比越加接近预设标准压缩比,从而使状态数据恢复到预设正常范围,此时该压缩盘可以继续提供新数据写入功能,在压缩均衡的前提下最大化利用存储空间。因此,所述方法还可以包括:在设置为禁止新数据写入状态的压缩盘的状态数据恢复到预设正常范围时,取消该压缩盘的禁止新数据写入状态。
需要说明的是,应用本说明书实施例提供的方法的执行主体不限。例如,所述方法可以应用于主机系统。在应用于主机系统的情况下,主机系统可以通过任意可能的方式获取状态数据。例如,所述主机系统可以从压缩存储驱动器获取状态数据。
由于压缩存储驱动器可以方便地统计状态数据,并在状态数据异常时及时进行禁止写入新数据的设置,可以有效防止发生写爆的情况。因此,所述获取所述存储池内多个压缩盘各自的状态数据,可以包括:从压缩存储驱动器获取所述存储池内多个压缩盘各自的状态数据。其中,所述压缩存储驱动器,用于统计所述存储池内多个压缩盘当前各自的状态数据,并判断所述多个压缩盘各自的状态数据是否达到预设异常范围,针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态,并向主机返回相应的禁止消息,在该压缩盘的状态数据恢复到预设正常范围时,向主机返回相应的恢复消息。
相应地,所述针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态,可以包括:响应于从所述压缩存储驱动器接收到所述禁止消息,停止向对应的压缩盘分发新的写请求。所述在设置为禁止新数据写入状态的压缩盘的状态数据恢复到预设正常范围时,取消该压缩盘的禁止新数据写入状态,可以包括:响应于从所述压缩存储驱动器接收到所述恢复消息,恢复向对应的压缩盘分发新的写请求。
通过上述实施例可见,Suspend(写挂起,对应禁止新数据写入状态)/resume(恢复)可以是CSD维护的状态。当发生状态切换的时候CSD可以通知主机,主机收到通知可以确定压缩盘能接受写请求。因此,在压缩存储驱动器CSD层面,实现了设备-主机报告/获取压缩盘整盘数据实际压缩比的接口;盘写挂起/恢复机制。可以理解的是,压缩盘的整盘数据实际压缩比的获取方式很多,通过压缩存储驱动器进行统计是其中一种实施方式。通过压缩存储驱动器对状态数据的统计可以及时向主机上报禁止消息、及时恢复压缩盘的使用,有效避免发生写爆的问题、有效提高压缩盘的性能。而且,在不同盘之间迁移、互换数据,例如低压缩比数据迁移到高压缩比的盘,高压缩比数据迁移到低压缩比的盘,使得存储系统内各个压缩盘的整盘数据实际压缩比趋于一致,更加接近预设标准压缩比,预防发生压缩盘被写爆或者存储资源浪费的情况。
另外,在所述方法应用于主机系统的情况下,压缩存储驱动器还可以响应于状态数据达到上报要求(例如,到达上报时间、或者某个压缩盘的状态数据发生了变化,达到了需要进行数据转移处理的状态等等上报要求),向主机系统返回当前的状态数据,使主机系统在根据状态数据确定需要转移压缩数据的情况下,向压缩存储驱动器发出请求以获取数据块的数据实际压缩比。具体地,例如,所述获取所述存储池内多个压缩盘各自的状态数据,可以包括:从压缩存储驱动器获取所述存储池内多个压缩盘各自的状态数据。相应地,所述获取第一压缩盘和第二压缩盘各自盘内数据块的数据实际压缩比,可以包括:从压缩存储驱动器获取至少两个压缩盘各自盘内数据块的数据实际压缩比。其中,所述压缩存储驱动器,用于统计所述存储池内多个压缩盘当前各自的状态数据以及所述多个压缩盘各自盘内数据块的数据实际压缩比,并在任一个或多个压缩盘的状态数据达到上报要求时,将所述任一个或多个压缩盘当前的状态数据返回给主机系统。在该实施例中,通过压缩存储驱动器可以及时获取状态数据以及数据块的数据实际压缩比,处理效率更高。
为了能够充分利用存储空间,本说明书一个或多个实施例中,压缩均衡控制策略包括:从压缩程度相较预设标准压缩比程度更高的压缩盘中选择压缩程度较低的数据块,从压缩程度相较预设标准压缩比程度更低的压缩盘中选择压缩程度较高的数据块,二者进行数据交换,使存储系统内各个盘的实际压缩比慢慢趋于一致,使每个盘的写入数据量贴近其开卡的设置值,达到压缩比均衡控制的目的,充分利用存储空间。
基于上述实施例的压缩均衡控制策略,所述根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,可以包括:从所述至少一个压缩盘内选择第一数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第一数据块的数据实际压缩比低于所述至少一个压缩盘内其他数据块的数据实际压缩比;从所述至少另一个压缩盘内选择第二数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第二数据块的数据实际压缩比高于所述至少另一个压缩盘内其他数据块的数据实际压缩比。所述基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移,包括:将所述至少一个压缩盘内的第一数据块中的数据转移到所述至少另一个压缩盘内,且将所述至少另一个压缩盘内的第二数据块中的数据转移到所述至少一个压缩盘内。
下面,分别以两种确定所述数据实际压缩比的实施方式为例,对上述实施例的两种实施方式进行说明:
例如,一种确定所述数据实际压缩比的实施方式中,所述数据实际压缩比为实际已使用逻辑容量与实际已使用物理容量相比的比值。在该实施方式中,第一压缩盘的整盘数据压缩高小于所述预设标准压缩比,第二压缩盘的整盘数据压缩比低于所述预设标准压缩比,选择数据块的过程包括:
从第一压缩盘内选择第一数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第一数据块的数据实际压缩比低于所述第一压缩盘内其他数据块的数据实际压缩比,其中,所述第一数据块可以包括一个或多个数据块;
从第二压缩盘内选择第二数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第二数据块的数据实际压缩比高于所述第二压缩盘内其他数据块的数据实际压缩比。其中,所述第二数据块可以包括一个或多个数据块。
再例如,另一种确定所述数据实际压缩比的实施方式中,所述数据实际压缩比为实际已使用物理容量与实际已使用逻辑容量相比的比值。在该实施方式中,第一压缩盘的整盘数据压缩低小于所述预设标准压缩比,第二压缩盘的整盘数据压缩比高于所述预设标准压缩比,选择数据块的过程包括:
从第一压缩盘内选择第一数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第一数据块的数据实际压缩比高于所述第一压缩盘内其他数据块的数据实际压缩比,其中,所述第一数据块可以包括一个或多个数据块;
从第二压缩盘内选择第二数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第二数据块的数据实际压缩比低于所述第二压缩盘内其他数据块的数据实际压缩比。其中,所述第二数据块可以包括一个或多个数据块。
下面,以本说明书提供的处理压缩数据的方法在主机系统的应用,数据实际压缩比为实际已使用逻辑容量与实际已使用物理容量相比的比值为例,对所述处理压缩数据的方法进行进一步说明:
例如,结合上述一个或多个实施例,可以通过CSD维护压缩盘的整体使用情况以及数据的压缩情况。例如,CSD维护的数据可以包括:压缩盘的整盘数据实际压缩比;各个数据块各自的数据实际压缩比;压缩盘的剩余物理容量;压缩盘的剩余逻辑容量。CSD与主机系统的通信方式不限。例如,在压缩盘基于NVMe协议实现的情况下,可以基于该协议里已有的框架做扩展,使CSD通过AER的Vendor Specific(6h-ffh,保留字段)报告状态。
例如,CSD向主机报告的数据状态可以表现为每个压缩盘对应的状态码。当压缩盘的剩余物理容量和整盘数据实际压缩比发生变化符合下面的定义时,则CSD向主机报告相应的状态码。例如,所述状态码可以包括:
CPRS_RATIO_HI_HIGH,例如,该状态码用于表示cprs_ratio>2.3且free_phy_sz还剩1/2的数据状态。其中,cprs_ratio表示压缩盘的整体数据压缩比,free_phy_sz表示剩余物理容量。当某压缩盘的状态码为CPRS_RATIO_HI_HIGH时,意味着该压缩盘的物理容量剩余较多并且整盘数据实际压缩比很高。在这种情况下,该压缩盘可以容纳较多移入的数据,该状态码所表示的转移优先级大于状态码CPRS_RATIO_HI_MIDL的优先级。
CPRS_RATIO_HI_MIDL,例如,该状态码用于表示cprs_ratio>2.3且free_phy_sz还剩1/4的数据状态。当某压缩盘的状态码为CPRS_RATIO_HI_MIDL时,意味着该压缩盘的物理容量剩余不多并且整盘数据实际压缩比很高。但是,由于剩余物理容量不多,在这种情况下,该状态码所表示的转移优先级略小于状态码CPRS_RATIO_HI_HIGH的转移优先级。
CPRS_RATIO_LO_MIDL,例如,该状态码用于表示cprs_ratio<2且free_phy_sz还剩1/2的数据状态。当某压缩盘的状态码为CPRS_RATIO_LO_MIDL时,意味着该压缩盘的物理容量剩余较多并且整盘数据实际压缩比较低。但由于剩余物理容量还比较多,尚不置于影响新数据写入,因此,在这种情况下,该状态码所表示的转移优先级小于状态码CPRS_RATIO_LO_HIGH的转移优先级。
CPRS_RATIO_LO_HIGH,例如,该状态码用于表示cprs_ratio<2且free_phy_sz还剩1/4的数据状态。当某压缩盘的状态码为CPRS_RATIO_LO_MIDL时,意味着该压缩盘的物理容量剩余一般并且整盘数据实际压缩比较低。但由于还有一定剩余物理容量,尚不置于影响新数据写入,在这种情况下,该状态码所表示的转移优先级小于状态码CPRS_RATIO_LO_URGT的转移优先级,该压缩盘可后于CPRS_RATIO_LO_URGT的压缩盘,与高压缩比的压缩盘交换数据。
CPRS_RATIO_LO_URGT,例如,该状态码用于表示cprs_ratio<2&&free_phy_sz还剩1/8的数据状态。当某压缩盘的状态码为CPRS_RATIO_LO_URGT时,意味着该压缩盘的物理容量剩余一般并且整盘数据实际压缩比较低。但由于还有一定剩余物理容量,在这种情况下,该状态码所表示的转移优先级小于CPRS_RATIO_LO_STAL。
CPRS_RATIO_LO_STALL,例如,该状态码用于表示cprs_ratio<2&&free_phy_sz还剩1/16的数据状态。当某压缩盘的状态码为CPRS_RATIO_LO_STALL时,意味着该压缩盘的物理容量快用尽并且整盘数据实际压缩比很低,长期远低于预设标准压缩比。在这种情况下,CSD可以根据该状态的紧急性,将该压缩盘的设置为禁止写入新数据,盘置为RO状态(也即写挂起)。该状态码所表示的转移优先级最高。
更进一步地,当CSD向Host报告AER,指示压缩盘的压缩状态发生变化时,例如,状态码从低转移优先级变化为高转移优先级,压缩盘需要转移数据时,主机可以通过VendorSpecific Log Page identifier来获取压缩盘内各个SPB各自的数据实际压缩比,以便转移数据来均衡压缩比。
与CSD对应地,主机系统响应于压缩盘为CPRS_RATIO_LO_STALL状态,不再向该压缩盘分发新的写请求。主机系统响应于某些压缩盘的状态码为CPRS_RATIO_LO_STALL、CPRS_RATIO_LO_MIDL、CPRS_RATIO_LO_HIGH或者CPRS_RATIO_LO_URGT,按照转移优先级将这些盘里低压缩比的SPB的数据读出来迁移到高压缩比的压缩盘,将高压缩比的SPB里的数据读出来迁移到这些低压缩比的盘中,以达到压缩比均衡的目的。例如,对于状态码为CPRS_RATIO_LO_MIDL的压缩盘,转移优先级低,可以做少量数据交换;状态码为CPRS_RATIO_LO_HIGH的压缩盘,转移优先级高,可以做中量数据交换;状态码为CPRS_RATIO_LO_URGT的压缩盘,迁移优先级极高,可以做大量数据交换。另外,状态码为CPRS_RATIO_LO_STALL的压缩盘的数据实际压缩比升高,状态码从CPRS_RATIO_LO_STALL变成其他状态时,CSD取消盘的RO状态,通知主机系统该压缩盘从写挂起变为写恢复,主机系统相应恢复向该压缩盘分发新的写请求。
通过上述实施例可见,通过CSD与主机系统之间通信,CSD基于AER和Log Page向主机报告压缩盘的压缩和使用的状态,主机系统根据AER和Log Page获取压缩盘的状态进行针对性的数据交换,数据实际压缩比低的压缩盘压缩比逐渐升高,数据实际压缩比高的压缩盘压缩比逐渐降低,最终使存储系统中大多数压缩盘逐渐趋于预设标准压缩比,使存储系统的存储资源得到最大化的使用。
与上述方法实施例相对应,本说明书还提供了处理压缩数据的装置实施例,图3示出了本说明书一个实施例提供的一种处理压缩数据的装置的结构示意图。如图3所示,该装置包括:压缩比获取模块302、数据选择模块304及转移执行模块306。
该压缩比获取模块302,可以被配置为获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比。
该数据选择模块304,可以被配置为根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳。
该转移执行模块306,可以被配置为基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移。
由于该装置获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于所述预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比,根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳,从而基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移,使得存储系统内各个压缩盘的整盘数据实际压缩比趋于一致,更加接近预设标准压缩比,预防发生压缩盘被写爆或者存储资源浪费的情况,使得大多数压缩盘都能达到最大的使用率。
由于在压缩盘的整盘数据实际压缩程度不如预设标准压缩比但物理容量已将用完的状态下,该压缩盘如果继续写可能很快会被写爆出现异常,因此,本说明书一个或多个实施例中,如图4示出的本说明书另一个实施例提供的一种处理压缩数据的装置的结构示意图,所述装置还可以包括:
状态获取模块308,可以被配置为获取所述存储池内多个压缩盘各自的状态数据,其中,所述状态数据用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量。
异常判断模块310,可以被配置为判断所述多个压缩盘各自的状态数据是否达到预设异常范围。
禁写设置模块312,可以被配置为针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态。
另外,结合上述实施例,在某压缩盘禁止写入新数据之后,根据本说明书实施例提供的装置可以继续对该压缩盘与其他压缩盘进行转移或交换数据,以使该压缩盘的整盘数据实际压缩比越加接近预设标准压缩比,从而使状态数据恢复到预设正常范围,此时该压缩盘可以继续提供新数据写入功能,在压缩均衡的前提下最大化利用存储空间。因此,如图4所示,所述装置还可以包括:恢复写模块314,可以被配置为在设置为禁止新数据写入状态的压缩盘的状态数据恢复到预设正常范围时,取消该压缩盘的禁止新数据写入状态。
本说明书实施例提供的装置对于如何在存储系统中确定需要进行数据转移的至少两个压缩盘并不进行限制。例如,所述装置还可以包括:
盘选择模块316,可以被配置为根据所述多个压缩盘各自的状态数据,从所述多个压缩盘中选择出需要进行数据转移处理的至少两个压缩盘。
在上述实施例中,通过用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量的状态数据,能够准确选择出需要进行数据块转移处理的至少两个压缩盘。
为了能够充分利用存储空间,本说明书一个或多个实施例中,压缩均衡控制策略包括:从压缩程度相较预设标准压缩比程度更高的压缩盘中选择压缩程度较低的数据块,从压缩程度相较预设标准压缩比程度更低的压缩盘中选择压缩程度较高的数据块,二者进行数据交换,使存储系统内各个盘的实际压缩比慢慢趋于一致,使每个盘的写入数据量贴近其开卡的设置值,达到压缩比均衡控制的目的,充分利用存储空间。
基于上述实施例的压缩均衡控制策略,所述数据选择模块304,可以包括:
第一选择子模块3042,可以被配置为从所述至少一个压缩盘内选择第一数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第一数据块的数据实际压缩比低于所述至少一个压缩盘内其他数据块的数据实际压缩比。
第二选择子模块3044,可以被配置为从所述至少另一个压缩盘内选择第二数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第二数据块的数据实际压缩比高于所述至少另一个压缩盘内其他数据块的数据实际压缩比。
需要说明的是,配置本说明书实施例提供的装置的执行主体不限。例如,所述装置可以配置于主机系统。在配置于主机系统的情况下,主机系统可以通过任意可能的方式获取状态数据。例如,所述主机系统可以从压缩存储驱动器获取状态数据。
相应地,所述状态获取模块308,可以被配置为从压缩存储驱动器获取所述存储池内多个压缩盘各自的状态数据。
所述禁写设置模块312,可以被配置为响应于从所述压缩存储驱动器接收到所述禁止消息,停止向对应的压缩盘分发新的写请求。
所述恢复写模块314,可以被配置为响应于从所述压缩存储驱动器接收到所述恢复消息,恢复向对应的压缩盘分发新的写请求。
其中,所述压缩存储驱动器,用于统计所述存储池内多个压缩盘当前各自的状态数据,并判断所述多个压缩盘各自的状态数据是否达到预设异常范围,针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态,并向主机返回相应的禁止消息,在该压缩盘的状态数据恢复到预设正常范围时,向主机返回相应的恢复消息。
由于通过压缩存储驱动器可以及时获取状态数据以及数据块的数据实际压缩比,处理效率更高,因此,本说明书一个或多个实施例中,所述压缩存储驱动器,可以统计所述存储池内多个压缩盘当前各自的状态数据以及所述多个压缩盘各自盘内数据块的数据实际压缩比,并在任一个或多个压缩盘的状态数据达到上报要求时,将所述任一个或多个压缩盘当前的状态数据返回给主机系统。相应地,所述压缩比获取模块302,可以被配置为从压缩存储驱动器获取至少两个压缩盘各自盘内数据块的数据实际压缩比。
其中,所述压缩存储驱动器,可以用于统计所述存储池内多个压缩盘当前各自的状态数据以及所述多个压缩盘各自盘内数据块的数据实际压缩比,并在任一个或多个压缩盘的状态数据达到上报要求时,将所述任一个或多个压缩盘当前的状态数据返回给主机系统。
上述为本实施例的一种处理压缩数据的装置的示意性方案。需要说明的是,该处理压缩数据的装置的技术方案与上述的处理压缩数据的方法的技术方案属于同一构思,处理压缩数据的装置的技术方案未详细描述的细节内容,均可以参见上述处理压缩数据的方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述处理压缩数据的方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的处理压缩数据的方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述处理压缩数据的方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述处理压缩数据的方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的处理压缩数据的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述处理压缩数据的方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述处理压缩数据的方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的处理压缩数据的方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述处理压缩数据的方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (11)
1.一种处理压缩数据的方法,包括:
获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比;
根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳;
基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移。
2.根据权利要求1所述的方法,还包括:
获取存储池内多个压缩盘各自的状态数据,其中,所述状态数据用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量;
判断所述多个压缩盘各自的状态数据是否达到预设异常范围;
针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态。
3.根据权利要求2所述的方法,还包括:
在设置为禁止新数据写入状态的压缩盘的状态数据恢复到预设正常范围时,取消该压缩盘的禁止新数据写入状态。
4.根据权利要求1所述的方法,所述获取至少两个压缩盘各自盘内数据块的数据实际压缩比之前,还包括:
获取存储池内多个压缩盘各自的状态数据,其中,所述状态数据用于表示整盘数据实际压缩比与预设标准压缩比之间的比较结果和剩余物理存储容量;
根据所述多个压缩盘各自的状态数据,从所述多个压缩盘中选择出需要进行数据转移处理的至少两个压缩盘。
5.根据权利要求4所述的方法,所述状态数据还用于表示转移优先级,转移优先级越高的压缩盘需要转的数据量越大。
6.根据权利要求1所述的方法,所述根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,包括:
从所述至少一个压缩盘内选择第一数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第一数据块的数据实际压缩比低于所述至少一个压缩盘内其他数据块的数据实际压缩比;
从所述至少另一个压缩盘内选择第二数据块作为需要转移数据的数据块,其中,基于所述压缩均衡控制策略的要求,所述第二数据块的数据实际压缩比高于所述至少另一个压缩盘内其他数据块的数据实际压缩比;
所述基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移,包括:
将所述至少一个压缩盘内的第一数据块中的数据转移到所述至少另一个压缩盘内,且将所述至少另一个压缩盘内的第二数据块中的数据转移到所述至少一个压缩盘内。
7.根据权利要求3所述的方法,所述方法应用于主机系统;
所述获取所述存储池内多个压缩盘各自的状态数据,包括:
从压缩存储驱动器获取所述存储池内多个压缩盘各自的状态数据;
其中,所述压缩存储驱动器,用于统计所述存储池内多个压缩盘当前各自的状态数据,并判断所述多个压缩盘各自的状态数据是否达到预设异常范围,针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态,并向主机返回相应的禁止消息,在该压缩盘的状态数据恢复到预设正常范围时,向主机返回相应的恢复消息;
所述针对达到预设异常范围的压缩盘,将该压缩盘设置为禁止新数据写入状态,包括:
响应于从所述压缩存储驱动器接收到所述禁止消息,停止向对应的压缩盘分发新的写请求;
所述在设置为禁止新数据写入状态的压缩盘的状态数据恢复到预设正常范围时,取消该压缩盘的禁止新数据写入状态,包括:
响应于从所述压缩存储驱动器接收到所述恢复消息,恢复向对应的压缩盘分发新的写请求。
8.根据权利要求4所述的方法,所述方法应用于主机系统;
所述获取所述存储池内多个压缩盘各自的状态数据,包括:
从压缩存储驱动器获取所述存储池内多个压缩盘各自的状态数据;
所述获取至少两个压缩盘各自盘内数据块的数据实际压缩比,包括:
从压缩存储驱动器获取至少两个压缩盘各自盘内数据块的数据实际压缩比;
其中,所述压缩存储驱动器,用于统计所述存储池内多个压缩盘当前各自的状态数据以及所述多个压缩盘各自盘内数据块的数据实际压缩比,并在任一个或多个压缩盘的状态数据达到上报要求时,将所述任一个或多个压缩盘当前的状态数据返回给主机系统。
9.一种处理压缩数据的装置,包括:
压缩比获取模块,被配置为获取至少两个压缩盘各自盘内数据块的数据实际压缩比,其中,所述至少两个压缩盘中,至少一个压缩盘的整盘数据实际压缩比高于预设标准压缩比且至少另一个压缩盘的整盘数据实际压缩比低于所述预设标准压缩比;
数据选择模块,被配置为根据所述至少两个压缩盘各自盘内数据块的数据实际压缩比,基于压缩均衡控制策略选择出需要转移数据的数据块,其中,所述压缩均衡控制策略包括:压缩盘之间单向转移数据和/或双向交换数据后,所述至少两个压缩盘各自的整盘数据实际压缩比更接近或等于预设标准压缩比,且转移出的数据足以被移入的压缩盘容纳;
转移执行模块,可以被配置为基于选择出的数据块以及所述压缩均衡控制策略,对所述至少两个压缩盘进行数据的转移。
10.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述处理压缩数据的方法的步骤。
11.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述处理压缩数据的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210134475.4A CN114579050B (zh) | 2022-02-14 | 2022-02-14 | 处理压缩数据的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210134475.4A CN114579050B (zh) | 2022-02-14 | 2022-02-14 | 处理压缩数据的方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579050A true CN114579050A (zh) | 2022-06-03 |
CN114579050B CN114579050B (zh) | 2024-04-02 |
Family
ID=81771043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210134475.4A Active CN114579050B (zh) | 2022-02-14 | 2022-02-14 | 处理压缩数据的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579050B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117318729A (zh) * | 2023-11-27 | 2023-12-29 | 山东济宁运河煤矿有限责任公司 | 一种煤矿井下防爆电气设备参数管理系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0720085A2 (en) * | 1994-12-29 | 1996-07-03 | International Business Machines Corporation | Compression monitoring system for controlling physical space allocation in a logically-mapped data store |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
US20140095439A1 (en) * | 2012-10-01 | 2014-04-03 | Western Digital Technologies, Inc. | Optimizing data block size for deduplication |
US20150378613A1 (en) * | 2013-05-17 | 2015-12-31 | Hitachi, Ltd. | Storage device |
US9521218B1 (en) * | 2016-01-21 | 2016-12-13 | International Business Machines Corporation | Adaptive compression and transmission for big data migration |
CN106575260A (zh) * | 2014-09-26 | 2017-04-19 | 英特尔公司 | 采用数据压缩的高速缓存技术 |
WO2017122263A1 (ja) * | 2016-01-12 | 2017-07-20 | 株式会社日立製作所 | 管理計算機及び管理方法 |
CN108696585A (zh) * | 2018-05-11 | 2018-10-23 | 国网电子商务有限公司 | 一种数据的分布式存储方法及系统 |
US20190235758A1 (en) * | 2018-01-29 | 2019-08-01 | International Business Machines Corporation | Autonomic Data Compression for Balancing Performance and Space |
CN110543281A (zh) * | 2019-07-19 | 2019-12-06 | 苏州浪潮智能科技有限公司 | 一种存储压缩实现方法、装置、设备及存储介质 |
JP2021174472A (ja) * | 2020-04-30 | 2021-11-01 | 株式会社日立製作所 | ストレージシステム |
CN113885787A (zh) * | 2021-06-08 | 2022-01-04 | 荣耀终端有限公司 | 一种存储器管理方法及电子设备 |
-
2022
- 2022-02-14 CN CN202210134475.4A patent/CN114579050B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0720085A2 (en) * | 1994-12-29 | 1996-07-03 | International Business Machines Corporation | Compression monitoring system for controlling physical space allocation in a logically-mapped data store |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
US20140095439A1 (en) * | 2012-10-01 | 2014-04-03 | Western Digital Technologies, Inc. | Optimizing data block size for deduplication |
US20150378613A1 (en) * | 2013-05-17 | 2015-12-31 | Hitachi, Ltd. | Storage device |
CN106575260A (zh) * | 2014-09-26 | 2017-04-19 | 英特尔公司 | 采用数据压缩的高速缓存技术 |
WO2017122263A1 (ja) * | 2016-01-12 | 2017-07-20 | 株式会社日立製作所 | 管理計算機及び管理方法 |
US9521218B1 (en) * | 2016-01-21 | 2016-12-13 | International Business Machines Corporation | Adaptive compression and transmission for big data migration |
US20190235758A1 (en) * | 2018-01-29 | 2019-08-01 | International Business Machines Corporation | Autonomic Data Compression for Balancing Performance and Space |
CN108696585A (zh) * | 2018-05-11 | 2018-10-23 | 国网电子商务有限公司 | 一种数据的分布式存储方法及系统 |
CN110543281A (zh) * | 2019-07-19 | 2019-12-06 | 苏州浪潮智能科技有限公司 | 一种存储压缩实现方法、装置、设备及存储介质 |
JP2021174472A (ja) * | 2020-04-30 | 2021-11-01 | 株式会社日立製作所 | ストレージシステム |
CN113885787A (zh) * | 2021-06-08 | 2022-01-04 | 荣耀终端有限公司 | 一种存储器管理方法及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117318729A (zh) * | 2023-11-27 | 2023-12-29 | 山东济宁运河煤矿有限责任公司 | 一种煤矿井下防爆电气设备参数管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114579050B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101562543B (zh) | 一种缓存数据的处理方法、处理系统和装置 | |
CN106533723B (zh) | 虚拟资源调度方法、装置及系统 | |
WO2019231954A1 (en) | Blockchain-based data migration method and apparatus | |
US11080143B2 (en) | Systems and processes for data backup and recovery | |
US11102322B2 (en) | Data processing method and apparatus, server, and controller | |
CN103392167A (zh) | 分布式存储系统的缓存方法、节点和计算机可读介质 | |
CN101989999A (zh) | 一种分布式环境中的分级存储系统 | |
CN114579050B (zh) | 处理压缩数据的方法以及装置 | |
CN107861691A (zh) | 一种多控存储系统的负载均衡方法和装置 | |
US11455196B2 (en) | Adaptive prioritization of USB traffic | |
CN111666184B (zh) | 固态驱动器ssd硬盘测试方法、装置及电子设备 | |
CN113296931A (zh) | 一种资源的控制方法、系统、计算设备及存储介质 | |
CN114595167A (zh) | 分布式缓存系统、方法以及装置 | |
CN103634350B (zh) | 一种存储系统及其实现方法 | |
CN101515255A (zh) | 一种数据的存储方法和存储装置 | |
US11301436B2 (en) | File storage method and storage apparatus | |
CN117097646A (zh) | 尾延迟调整方法及装置 | |
EP3742297A1 (en) | Data processing | |
CN113051428A (zh) | 一种摄像机前端存储备份的方法及装置 | |
CN105607967A (zh) | 一种面向数据中心基于能耗感知的数据备份方法 | |
CN109669814A (zh) | 一种元数据服务的恢复方法、装置、设备及可读存储介质 | |
CN117667299A (zh) | 虚拟机迁移方法、芯片、网卡、处理设备、系统及介质 | |
CN115277853A (zh) | 基于边缘云的数据处理方法及装置 | |
CN111405313B (zh) | 存储流媒体数据的方法和系统 | |
CN111061430B (zh) | 一种多云环境下异构i/o细粒度感知的数据放置方法 |
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 |