CN116248129A - 一种容错的数据分段压缩方法、恢复方法、设备及系统 - Google Patents

一种容错的数据分段压缩方法、恢复方法、设备及系统 Download PDF

Info

Publication number
CN116248129A
CN116248129A CN202310162977.2A CN202310162977A CN116248129A CN 116248129 A CN116248129 A CN 116248129A CN 202310162977 A CN202310162977 A CN 202310162977A CN 116248129 A CN116248129 A CN 116248129A
Authority
CN
China
Prior art keywords
data
compressed
compression
block
redundancy
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
Application number
CN202310162977.2A
Other languages
English (en)
Inventor
熊国刚
叶永强
刘小勇
向娜
杨柳
汪相国
张洋
胡留春
蔡晶
赵晓南
陈思贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 29 Research Institute
Original Assignee
CETC 29 Research Institute
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 CETC 29 Research Institute filed Critical CETC 29 Research Institute
Priority to CN202310162977.2A priority Critical patent/CN116248129A/zh
Publication of CN116248129A publication Critical patent/CN116248129A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种容错的数据分段压缩方法、恢复方法、设备及系统,属于数据压缩领域,包括以下步骤:将数据分块后进行并行压缩;在数据分块后,构建冗余附加数据块实现信息冗余后进行压缩;所述构建冗余附加数据块实现信息冗余具体据RAID级别计算附加数据块实现信息冗余。本发明通过数据分段并行压缩提高压缩速度;在数据分段的同时引入RAID即独立磁盘冗余阵列的思想,将分段数据块构建冗余附加数据块后进行压缩,数据打包后同步传输或存储。当压缩数据损坏时,通过RAID的纠错机制,提供容错能力;并在不针对特定领域或特定业务数据情况下,使该方法可以快速派生和移植,具备较强的通用性。

Description

一种容错的数据分段压缩方法、恢复方法、设备及系统
技术领域
本发明涉及数据压缩领域,更为具体的,涉及一种容错的数据分段压缩方法、恢复方法、设备及系统。
背景技术
目前常用的数据压缩可分为无损压缩和有损压缩两大类,无损压缩是利用数据的冗余度压缩,包括Huffman编码、游程编码、算术编码和LZ编码等,有损压缩的数据重构与原来的数据有所不同,多用于图形、图像和数字化语音压缩等领域。
大多数据压缩方法侧重于某类特定算法研究,改善数据压缩率和压缩速度,以期提供尽量通用的数据压缩、解压方案;另一些数据压缩方法,针对业务数据特征展开分析,制定特定算法,在细分领域提升压缩效能;为提升压缩数据的速率,还有一些方法将数据先进行分段,再进行并行压缩;少部分方法针对特定业务数据,添加与业务数据特征强相关的冗余信息,使压缩数据恢复时,具备一定容错能力。
上述方法大多关注数据压缩比,数据压缩过程中,不附加冗余信息,当压缩数据在传输或存储过程中遭遇误码时,不能有效恢复压缩数据;另一些具备容错能力的方法,往往针对特定领域的特定数据类型,通用性较差。
发明内容
本发明的目的在于克服现有技术的不足,提供一种容错的数据分段压缩方法、恢复方法、设备及系统,通过数据分段并行压缩提高压缩速度;在数据分段的同时引入RAID即独立磁盘冗余阵列的思想,将分段数据块构建冗余附加数据块后进行压缩,数据打包后同步传输或存储。当压缩数据损坏时,通过RAID的纠错机制,提供容错能力;并在不针对特定领域或特定业务数据情况下,使该方法可以快速派生和移植,具备较强的通用性。
本发明的目的是通过以下方案实现的:
一种容错的数据分段压缩方法,包括以下步骤:
将数据分块后进行并行压缩;在数据分块后,构建冗余附加数据块实现信息冗余后进行压缩;
所述构建冗余附加数据块实现信息冗余具体据RAID级别计算附加数据块实现信息冗余。
进一步地,在数据分块前,还包括步骤:策略选择,通过在线分析确定策略或根据配置确定策略,确定具体的压缩算法和数据冗余方式;
在所述在线分析确定策略中,根据压缩数据的具体特征进行在线分析时,通过数据分析模块,动态计算合适的压缩算法和RAID级别后,输出压缩算法和RAID级别作为后续处理的输入;
在所述根据配置确定策略中,利用配置数据模块完成不同类型数据对应压缩算法或RAID级别规则的读取和维护;在数据压缩时,利用类型匹配,根据原始数据确定数据类型后,从配置数据模块获取具体的压缩算法和RAID级别,供后续流程处理。
进一步地,所述数据分块,包括子步骤:
设原始数据大小为M,分块数量为N,每个数据块大小为Bi,∈[1,N],若M能被N整除,Bi取值如下:
Figure BDA0004094898640000021
若M不能被N整除,Bi取值如下:
Figure BDA0004094898640000031
当M不能被N整除时,最后1个分块进行补零,使其数据长度同分块长度一致;
在数据分块完成后,根据RAID级别计算附加块实现信息冗余,附加块数量大于等于1才能实现冗余,如果是通过副本方式实现冗余,直接拷贝分块数据;如果通过校验方式实现冗余,通过异或运算实现,原理如下所示:
P=D1xor D2xor D3…xor Dn
上式中,D1,D2,D3…Dn为数据块,P为附加校验块,xor为异或运算。
进一步地,所述并行压缩,包括子步骤:
初始化阶段,创建线程池,通过多线程对分块数据进行并行压缩;
数据压缩时,针对每个需要压缩的数据块,从线程池中选择空闲线程完成压缩任务,输出压缩后的数据。
进一步地,并行压缩后,包括数据组合步骤:
设计数据打包结构,分为元数据区和压缩数据区;
在所述元数据区记录各压缩块的关键信息,在所述压缩数据区保存各分块和冗余附加块压缩后的数据。
进一步地,所述元数据包含:压缩算法、分块数量、RAID级别、元数据校验值、各分块数据原始长度、各分块数据压缩后长度、各分块数据压缩后校验值、各分块数据压缩后在压缩数据区的起始、结束偏移、冗余附加块的原始长度、冗余附加块的压缩后长度、冗余附加块压缩后校验值、冗余附加块压缩后在压缩数据区的起始和结束偏移。
一种容错的数据分段恢复方法,包括以下步骤:
获取通过如上任一所述压缩方法压缩后的数据,根据数据包里的元数据和压缩数据块恢复出完整数据。
进一步地,所述根据数据包里的元数据和压缩数据块恢复出完整数据,包括子步骤:
S1,获取压缩算法和RAID级别;
S2,判断压缩块校验是否成功,如是则根据压缩算法解压数据,进入步骤S4;如否,则进入下一步;
S3,判断附加压缩块校验是否成功,如是则根据压缩算法解压压缩块、附加块数据;再根据RAID级别判断是否能恢复塑化剂,如能则回复校验失败压缩块数据,如不能则结束;如不是,则结束。
S4,根据分块情况组合数据;
S5,结束。
一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器加载时并执行如上任一项所述的容错的数据分段压缩方法;或执行如上所述的容错的数据分段恢复方法。
一种计算机系统,包括如上所述的计算机设备。
本发明的有益效果包括:
本发明实现了一种数据压缩方法,先进行策略选择确定压缩算法和RAID级别,再进行数据分块,通过数据分块实现并行压缩和数据冗余,最后通过元数据设计,完成压缩数据打包。相比传统方法,在提高压缩速率的情况下,具备较强的通用性,既可用于数据传输也适用于数据存储,当压缩数据出现损坏时,具备容错能力。对于数据传输过程,可以减少重传次数;对于数据存储,可以减少数据丢失风险。基于此,还实现了一种压缩数据恢复方法,以及相关的设备和系统等。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为容错的数据分段压缩原理图;
图2为容错的数据分段恢复原理图;
图3为分段数据压缩处理流程图;
图4为在线分析选择策略框图;
图5为根据配置选择策略框图;
图6为M能被N整除分块示意图;
图7为M不能被N整除分块示意图;
图8为并行压缩时序图;
图9为数据组合示意图;
图10为分段压缩数据恢复流程图;
图11为实施实例系统组成图;
图12为RAID5原理示意图。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
本发明技术方案基于RAID原理,提出了一种可容错的数据分段快速压缩方法。RAID简称为“磁盘阵列”,它将多个数据存储区通过某种逻辑方式联系起来,既提供数据冗余能力,又能提升读写速度。根据性能、容错能力和扩展性,RAID可分为不同级别,典型的RAID级别特点如下表1所示。
表1
RAID级别 RAID 0 RAID 1 RAID 5 RAID 10 RAID 50
允许故障
冗余类型 副本 校验 副本 校验
容错性 最差 最好 较好
本发明通过数据分块实现并行压缩,提高压缩速度;在数据分块后,根据RAID级别计算附加数据块实现信息冗余,在压缩数据损坏后,提供容错能力,其基本原理如图1所示。
数据恢复基本原理如图2所示。下面分别对数据压缩和数据恢复方法和流程进行描述。
一、数据压缩
实现上述方法的处理流程如图3所示。根据图1和图3,将本发明的数据压缩分为4个部分,包括:策略选择、数据分块、并行压缩、数据组合。其中,数据组合部分主要描述元数据的设计。
(1)策略选择
本发明在实现数据压缩时,并不指定采用哪种压缩算法;实现数据冗余的方式,也不指定具体RAID级别。可通过在线分析或根据配置,确定具体的压缩算法和数据冗余方式。
在线分析确定策略:根据压缩数据的具体特征进行在线分析时,通过一个专门的数据分析模块,动态计算合适的压缩算法和RAID级别,如图4所示。本发明不涉及具体数据特征分析算法,但其决策输出的压缩算法和RAID级别作为后续处理的输入。
根据配置确定策略:本发明实现时,如果有较多的先验知识,已明确不同类型数据合适的压缩算法和RAID级别,则可通过简单的配置方式,快速确定压缩算法和RAID级别,如图5所示。图5中,配置数据模块完成不同类型数据对应压缩算法或RAID级别规则的读取和维护;在数据压缩时,类型匹配模块根据原始数据确定数据类型后,从配置数据模块获取具体的压缩算法和RAID级别,供后续流程处理。
(2)数据分块
为提高数据压缩速率和实现数据冗余,将原始数据进行分块。分块数量根据5.1.1确定的RAID级别和数据量综合确定,基本原则如下:
a)数据量较小,可不分块或少分块;
b)数据量较大,可多分块;
c)选择的RAID级别按校验方式实现数据冗余,分块数量≥2;
d)分块后,每个数据块大小尽量一致。
设原始数据大小为M Bytes,分块数量为N,每个数据块大小为Bi,∈[1,N],若M能被N整除,如图6所示,Bi取值如下:
Figure BDA0004094898640000071
若M不能被N整除,Bi取值如下:
Figure BDA0004094898640000081
当M不能被N整除时,最后1个分块需要进行补零,使其数据长度同前述分块长度一致,如图7所示。
数据分块完成后,根据RAID级别计算附加块实现信息冗余,附加块数量大于等于1才能实现冗余,如果是通过副本方式实现冗余,直接拷贝分块数据即可;如果通过校验方式实现冗余,通过异或(xor)运算实现,原理如下所示。
P=D1xor D2xor D3…xor Dn
上式中,D1,D2,D3…Dn为数据块,P为附加校验块,xor为异或运算。XOR的校验原理如下表2所示。
表2
A值 B值 xor结果
0 0 0
1 0 1
0 1 1
1 1 0
上表2中,A与B值分别代表1bit的值,当A与B一样时,xor结果为0;A与B不一样时,xor结果为1。当知道xor结果和A与B中的任何1个数值,就可唯一推出另1个数值。例如A=1,xor结果为1,则B=0;若xor结果为0,则B=1。通过校验方式实现信息冗余,可在部分信息损坏时,通过xor运算恢复出原始数据。
(3)并行压缩
在完成数据分块,并根据RAID级别计算附加数据块实现信息冗余后,通过多线程对分块数据进行并行压缩,提高数据压缩的效率。为支持不同分块数量的数据压缩,可创建线程池实现并行处理。初始化阶段,通过线程池创建一定数量的线程;数据压缩时,针对每一个需要压缩的数据块,从线程池中选择空闲线程完成压缩任务,输出压缩后的数据,时序如图8所示。
(4)数据组合
在数据并行压缩完成后,各压缩块长度不一致,需要按照一定的规则进行组织,才能在解压缩阶段完成数据恢复。本发明的数据打包结构如图9所示,分为元数据区和压缩数据区,元数据(Meta Data)区记录各压缩块长度、原始长度、校验值、压缩算法等关键信息,压缩数据区保存各分块和冗余附加块压缩后的数据。
其中,元数据的设计需要包含如下内容:
a)压缩算法;
b)分块数量;
c)RAID级别;
d)元数据校验值;
e)各分块数据原始长度;
f)各分块数据压缩后长度;
g)各分块数据压缩后校验值;
h)各分块数据压缩后在压缩数据区的起始、结束偏移;
i)冗余附加块的原始长度;
j)冗余附加块的压缩后长度;
k)冗余附加块压缩后校验值;
I)冗余附加块压缩后在压缩数据区的起始、结束偏移。
二、数据恢复
将通过上述方法压缩后的数据,根据数据包里的元数据和压缩数据块恢复出完整数据,其流程如图10所示。
本发明实例中,系统组成如图11所示,在终端A和终端B的数据交互过程中,由于数据量较大且数据链路带宽较低。通过本发明的冗余机制实现数据容错,减少数据重传次数,提高传输效率。在实例中,应用软件发送数据时,先经过数据分段压缩模块进行数据分段和并行压缩,减少数据量,再由数据收发模块通过数据链路发送数据;在数据收发模块收到数据后,经过数据分段压缩模块实现压缩数据的恢复,再送给应用软件进行处理。
由于本实施例传输的数据类别不多,且数据特征明确,在压缩策略选择时,通过配置确定压缩策略,采用RAID5实现校验方式的数据冗余,如图12所示。
各类型数据的分块策略如下表3所示。
表3
数据类型 单条数据长度(字节) 是否压缩 分块数量
XX数据上报 [1MB,32MB] 5
XX查询 32B /
XX模式控制 56B /
XX状态上报 512KB 3
XX待机 16B /
XX策略切换 64B 3
XX流水数据 [1MB,16MB] 5
XX日志数据 [1KB,256KB] 3
数据压缩时,分块数量按上表3所示,确定分块数量后,按图6、图7确定各数据块的数据大小。
在分段数据压缩模块实现时,创建2个线程池,分别用于数据并行压缩和数据并行恢复,每个线程池包含12个线程。
其中元数据设计如下表4所示,表中校验方式采用CRC32进行数据校验,如果不进行数据压缩,原始数据描述信息存储在分块数据1相关字段。
表4
Figure BDA0004094898640000111
/>
Figure BDA0004094898640000121
/>
Figure BDA0004094898640000131
数据收发模块收到数据后,根据元数据区描述信息进行数据恢复,如图10所示,为提高压缩数据的解压缩效率,采用线程池并行恢复,各压缩数据块解压完成后再组合成原始数据。
需要说明的是,在本发明权利要求书中所限定的保护范围内,以下实施例均可以从上述具体实施方式中,例如公开的技术原理,公开的技术特征或隐含公开的技术特征等,以合乎逻辑的任何方式进行组合和/或扩展、替换。
实施例1
一种容错的数据分段压缩方法,包括以下步骤:
将数据分块后进行并行压缩;在数据分块后,构建冗余附加数据块实现信息冗余后进行压缩;
所述构建冗余附加数据块实现信息冗余具体据RAID级别计算附加数据块实现信息冗余。
实施例2
在实施例1的基础上,在数据分块前,还包括步骤:策略选择,通过在线分析确定策略或根据配置确定策略,确定具体的压缩算法和数据冗余方式;
在所述在线分析确定策略中,根据压缩数据的具体特征进行在线分析时,通过数据分析模块,动态计算合适的压缩算法和RAID级别后,输出压缩算法和RAID级别作为后续处理的输入;
在所述根据配置确定策略中,利用配置数据模块完成不同类型数据对应压缩算法或RAID级别规则的读取和维护;在数据压缩时,利用类型匹配,根据原始数据确定数据类型后,从配置数据模块获取具体的压缩算法和RAID级别,供后续流程处理。
实施例3
在实施例1的基础上,所述数据分块,包括子步骤:
设原始数据大小为M,分块数量为N,每个数据块大小为Bi,∈[1,n],若M能被N整除,Bi取值如下:
Figure BDA0004094898640000141
若M不能被N整除,Bi取值如下:
Figure BDA0004094898640000151
当M不能被N整除时,最后1个分块进行补零,使其数据长度同分块长度一致;
在数据分块完成后,根据RAID级别计算附加块实现信息冗余,附加块数量大于等于1才能实现冗余,如果是通过副本方式实现冗余,直接拷贝分块数据;如果通过校验方式实现冗余,通过异或运算实现,原理如下所示:
P=D1xor D2xor D3…xor Dn
上式中,D1,D2,D3…Dn为数据块,P为附加校验块,xor为异或运算。
实施例4
在实施例1的基础上,所述并行压缩,包括子步骤:
初始化阶段,创建线程池,通过多线程对分块数据进行并行压缩;
数据压缩时,针对每个需要压缩的数据块,从线程池中选择空闲线程完成压缩任务,输出压缩后的数据。
实施例5
在实施例1的基础上,并行压缩后,包括数据组合步骤:
设计数据打包结构,分为元数据区和压缩数据区;
在所述元数据区记录各压缩块的关键信息,在所述压缩数据区保存各分块和冗余附加块压缩后的数据。
实施例6
在实施例5的基础上,所述元数据包含:压缩算法、分块数量、RAID级别、元数据校验值、各分块数据原始长度、各分块数据压缩后长度、各分块数据压缩后校验值、各分块数据压缩后在压缩数据区的起始、结束偏移、冗余附加块的原始长度、冗余附加块的压缩后长度、冗余附加块压缩后校验值、冗余附加块压缩后在压缩数据区的起始和结束偏移。
实施例7
一种容错的数据分段恢复方法,包括以下步骤:
获取通过实施例1~实施例6任一所述压缩方法压缩后的数据,根据数据包里的元数据和压缩数据块恢复出完整数据。
实施例8
在实施例7的基础上,所述根据数据包里的元数据和压缩数据块恢复出完整数据,包括子步骤:
S1,获取压缩算法和RAID级别;
S2,判断压缩块校验是否成功,如是则根据压缩算法解压数据,进入步骤S4;如否,则进入下一步;
S3,判断附加压缩块校验是否成功,如是则根据压缩算法解压压缩块、附加块数据;再根据RAID级别判断是否能恢复塑化剂,如能则回复校验失败压缩块数据,如不能则结束;如不是,则结束。
S4,根据分块情况组合数据;
S5,结束。
实施例9
一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器加载时并执行如实施例1~实施例6任一项所述的容错的数据分段压缩方法;或执行如实施例7所述的容错的数据分段恢复方法。
实施例10
一种计算机系统,包括如实施例9所述的计算机设备。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
根据本发明实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
作为另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
除以上实例以外,本领域技术人员根据上述公开内容获得启示或利用相关领域的知识或技术进行改动获得其他实施例,各个实施例的特征可以互换或替换,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (10)

1.一种容错的数据分段压缩方法,其特征在于,包括以下步骤:
将数据分块后进行并行压缩;在数据分块后,构建冗余附加数据块实现信息冗余后进行压缩;
所述构建冗余附加数据块实现信息冗余具体据RAID级别计算附加数据块实现信息冗余。
2.根据权利要求1所述的容错的数据分段压缩方法,其特征在于,在数据分块前,还包括步骤:策略选择,通过在线分析确定策略或根据配置确定策略,确定具体的压缩算法和数据冗余方式;
在在线分析确定策略中,根据压缩数据的具体特征进行在线分析时,通过数据分析模块,动态计算合适的压缩算法和RAID级别后,输出压缩算法和RAID级别作为后续处理的输入;
在根据配置确定策略中,利用配置数据模块完成不同类型数据对应压缩算法或RAID级别规则的读取和维护;在数据压缩时,利用类型匹配,根据原始数据确定数据类型后,从配置数据模块获取具体的压缩算法和RAID级别,供后续流程处理。
3.根据权利要求1所述的容错的数据分段压缩方法,其特征在于,所述数据分块,包括子步骤:
设原始数据大小为M,分块数量为N,每个数据块大小为Bi,i∈[1,N],若M能被N整除,Bi取值如下:
Figure FDA0004094898610000011
若M不能被N整除,Bi取值如下:
Figure FDA0004094898610000021
当M不能被N整除时,最后1个分块进行补零,使其数据长度同分块长度一致;
在数据分块完成后,根据RAID级别计算附加块实现信息冗余,附加块数量大于等于1才能实现冗余,如果是通过副本方式实现冗余,直接拷贝分块数据;如果通过校验方式实现冗余,通过异或运算实现,原理如下所示:
P=D1xor D2xor D3…xor Dn
上式中,D1,D2,D3…Dn为数据块,P为附加校验块,xor为异或运算。
4.根据权利要求1所述的容错的数据分段压缩方法,其特征在于,所述并行压缩,包括子步骤:
初始化阶段,创建线程池,通过多线程对分块数据进行并行压缩;
数据压缩时,针对每个需要压缩的数据块,从线程池中选择空闲线程完成压缩任务,输出压缩后的数据。
5.根据权利要求1所述的容错的数据分段压缩方法,其特征在于,在并行压缩后,包括数据组合步骤:
设计数据打包结构,分为元数据区和压缩数据区;
在元数据区记录各压缩块的关键信息,在压缩数据区保存各分块和冗余附加块压缩后的数据。
6.根据权利要求5所述的容错的数据分段压缩方法,其特征在于,所述元数据包含:压缩算法、分块数量、RAID级别、元数据校验值、各分块数据原始长度、各分块数据压缩后长度、各分块数据压缩后校验值、各分块数据压缩后在压缩数据区的起始、结束偏移、冗余附加块的原始长度、冗余附加块的压缩后长度、冗余附加块压缩后校验值、冗余附加块压缩后在压缩数据区的起始和结束偏移。
7.一种容错的数据分段恢复方法,其特征在于,包括以下步骤:
获取通过权利要求1~6任一所述压缩方法压缩后的数据,根据数据包里的元数据和压缩数据块恢复出完整数据。
8.根据权利要求7所述的容错的数据分段恢复方法,其特征在于,所述根据数据包里的元数据和压缩数据块恢复出完整数据,包括子步骤:
S1,获取压缩算法和RAID级别;
S2,判断压缩块校验是否成功,如是则根据压缩算法解压数据,进入步骤S4;如否,则进入下一步;
S3,判断附加压缩块校验是否成功,如是则根据压缩算法解压压缩块、附加块数据;再根据RAID级别判断是否能恢复塑化剂,如能则回复校验失败压缩块数据,如不能则结束;如不是,则结束。
S4,根据分块情况组合数据;
S5,结束。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器加载时并执行如权利要求1~6任一项所述的容错的数据分段压缩方法;或执行如权利要求7所述的容错的数据分段恢复方法。
10.一种计算机系统,其特征在于,包括如权利要求9所述的计算机设备。
CN202310162977.2A 2023-02-24 2023-02-24 一种容错的数据分段压缩方法、恢复方法、设备及系统 Pending CN116248129A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310162977.2A CN116248129A (zh) 2023-02-24 2023-02-24 一种容错的数据分段压缩方法、恢复方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310162977.2A CN116248129A (zh) 2023-02-24 2023-02-24 一种容错的数据分段压缩方法、恢复方法、设备及系统

Publications (1)

Publication Number Publication Date
CN116248129A true CN116248129A (zh) 2023-06-09

Family

ID=86634644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310162977.2A Pending CN116248129A (zh) 2023-02-24 2023-02-24 一种容错的数据分段压缩方法、恢复方法、设备及系统

Country Status (1)

Country Link
CN (1) CN116248129A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117394868A (zh) * 2023-12-11 2024-01-12 深圳鲲云信息科技有限公司 数据处理方法和数据处理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117394868A (zh) * 2023-12-11 2024-01-12 深圳鲲云信息科技有限公司 数据处理方法和数据处理装置
CN117394868B (zh) * 2023-12-11 2024-04-09 深圳鲲云信息科技有限公司 数据处理方法和数据处理装置

Similar Documents

Publication Publication Date Title
US11531593B2 (en) Data encoding, decoding and recovering method for a distributed storage system
US7447839B2 (en) System for a distributed column chunk data store
CN102833040B (zh) 解码处理方法、装置及编解码系统
US7921131B2 (en) Method using a hierarchy of servers for query processing of column chunks in a distributed column chunk data store
CN111831223B (zh) 提高数据去重系统可扩展性的容错编码方法、装置及系统
US20070061543A1 (en) Method for a distributed column chunk data store
CN110427156B (zh) 一种基于分片的mbr的并行读方法
US10552062B2 (en) System and method for storing very large key value objects
WO2023151290A1 (zh) 一种数据编码方法、装置、设备及介质
US20160285476A1 (en) Method for encoding and decoding of data based on binary reed-solomon codes
WO2024021594A1 (zh) Raid6磁盘阵列的编码方法、解码方法、装置及介质
US20220224947A1 (en) Coding method and related device
CN116248129A (zh) 一种容错的数据分段压缩方法、恢复方法、设备及系统
WO2023103213A1 (zh) 一种分布式数据库的数据存储方法和装置
CN115699584A (zh) 使用将未压缩/已压缩内容相关的索引的压缩/解压缩
CN107153661A (zh) 一种基于hdfs系统的数据的存储、读取方法及其装置
WO2018119976A1 (zh) 应用于数据仓库系统的高效优化数据布局方法
CN115061640B (zh) 一种容错分布存储系统、方法、电子设备及介质
CN111224747A (zh) 可降低修复带宽和磁盘读取开销的编码方法及其修复方法
US10673463B2 (en) Combined blocks of parts of erasure coded data portions
CN107463462B (zh) 数据修复方法及数据修复装置
CN111831480B (zh) 一种基于去重系统的分层编码方法、装置及去重系统
CN112000509B (zh) 一种基于向量指令的纠删码编码方法、系统及装置
CN111541512B (zh) 数据的处理方法、终端设备、可读存储介质
CN114840502A (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