CN114138543A - 数据条带编码方法、系统、设备及介质 - Google Patents

数据条带编码方法、系统、设备及介质 Download PDF

Info

Publication number
CN114138543A
CN114138543A CN202111447413.0A CN202111447413A CN114138543A CN 114138543 A CN114138543 A CN 114138543A CN 202111447413 A CN202111447413 A CN 202111447413A CN 114138543 A CN114138543 A CN 114138543A
Authority
CN
China
Prior art keywords
data
value
stripe data
stripe
sub
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
CN202111447413.0A
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.)
Huazhong University of Science and Technology
Sangfor Technologies Co Ltd
Original Assignee
Huazhong University of Science and Technology
Sangfor Technologies Co Ltd
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 Huazhong University of Science and Technology, Sangfor Technologies Co Ltd filed Critical Huazhong University of Science and Technology
Priority to CN202111447413.0A priority Critical patent/CN114138543A/zh
Publication of CN114138543A publication Critical patent/CN114138543A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种数据条带编码方法、系统、设备及介质,获取待编码的第一条带数据及第二条带数据;生成第一条带数据及第二条带数据各自的运算值,运算值的数量与冗余校验块的数量相等;基于第二条带数据的运算值、第一条带数据的运算值生成异或值;基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。本申请中,在进行Hitchhiker纠删码的过程中,需计算第二条带数据的运算值与第一条带数据的第一运算值间的异或值,并且根据该异或值确定相应的校验块,借助异或值降低了Hitchhiker纠删码的计算开销,提高了计算速度。本申请提供的数据条带编码系统、设备及计算机可读存储介质也解决了相应技术问题。

Description

数据条带编码方法、系统、设备及介质
技术领域
本申请涉及纠删码技术领域,更具体地说,涉及数据条带编码方法、系统、设备及介质。
背景技术
随着大数据时代的到来,用户所需管理的数据越来越多,数据的可靠性便越发重要,比如可以采用多副本冗余方案来保证数据的可靠性,也即为每个数据块创建一定数量的副本,并按照某种规则散布在系统中,以此达到容错的目的,但多副本冗余方案的冗余度高,占用用户的存储开销大;而纠删码技术具有低冗余度和高灵活性等优点,所以用户越来越多的使用纠删码技术来保证数据可靠性,比如使用Hitchhiker(HH,搭便车编码)纠删码来对数据进行保存等。
然而,现有的Hitchhiker纠删码方法的计算开销大、编码过程复杂,编码时间长,编码速度低,影响用户的编码体验。
综上所述,如何提高Hitchhiker纠删码的计算速度是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据条带编码方法,其能在一定程度上解决如何提高Hitchhiker纠删码的计算速度的技术问题。本申请还提供了一种数据条带编码系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种数据条带编码方法,包括:
获取待编码的第一条带数据及第二条带数据;
生成所述第一条带数据及所述第二条带数据各自的运算值,所述运算值的数量与冗余校验块的数量相等;
基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值;
基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块。
优选的,所述基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值,包括:
若所述冗余校验块的数量为2,则计算所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的前半部分数据间的异或值,计算所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的后半部分间的数据值。
优选的,所述冗余校验块的数量为2时,所述基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块,包括:
将所述第一条带数据的第一运算值作为所述第一条带数据的第一校验块;
将所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的后半部分间的异或值作为所述第一条带数据的第二校验块;
将所述第二条带数据的第一运算值作为所述第二条带数据的第一校验块;
将所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的前半部分间的异或值作为所述第二条带数据的第二校验块。
优选的,所述基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值,包括:
若所述冗余校验块的数量大于2,则从所述第二条带数据的第二运算值开始,到所述第二条带数据的最后一个运算值结束,计算所述第二条带数据的运算值与所述第一条带数据的第一运算值的对应部分间的异或值;
其中,所述第一条带数据的第一运算值的对应部分包括所述第一条带数据的第一运算值被均分后得到的子部分数据,均分的数量为所述冗余校验块的数量与1的差值,且所述第二条带数据的第i运算值与第i-1所述子部分数据对应。
优选的,所述冗余校验块的数量大于2时,所述基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块,包括:
将所述第一条带数据的第d运算值作为所述第一条带数据的第d校验块,d=1,2,…,n,n表示所述冗余校验块的数量;
将所述第二条带数据的第一运算值作为所述第二条带数据的第一校验块;
将所述第二条带数据的第i运算值与所述第一条带数据的第一运算值的对应部分间的所述异或值作为所述第二条带数据的第i校验块,i=2,3,…,n。
优选的,所述生成所述第一条带数据及所述第二条带数据各自的运算值的过程,包括:
基于生成公式,生成所述运算值;
所述生成公式包括:
Figure BDA0003384261520000031
其中,Fd-1(x)表示所述运算值中的第d运算值;x0表示预设值,xm表示条带数据中的第m个数据,m=1,2,…,n,k表示条带数据中的总数据量;n表示所述冗余校验块的数量。
一种数据条带编码方法,包括:
获取待编码的目标数据,所述目标数据包括第一条带数据及第二条带数据;
获取编码矩阵;
对所述编码矩阵进行拆分,得到编码子矩阵,其中,任一所述编码子矩阵中至少有一个矩阵值非0,且任意两个所述编码子矩阵均不相同;
将所述目标数据拆分为与所述编码子矩阵对应的目标子数据;
将所述编码子矩阵与对应的所述目标子数据进行运算,得到中间结果;
基于所述中间结果生成所述第一条带数据及所述第二条带数据各自的运算值及对应的异或值,以基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块;
其中,所述运算值的数量与冗余校验块的数量相等;且所述异或值包括基于所述第二条带数据的运算值、所述第一条带数据的运算值生成的异或值。
优选的,所述对所述编码矩阵进行拆分,得到编码子矩阵,包括:
对所述编码矩阵进行拆分,得到第一子矩阵;
删除矩阵值全为0的所述第一子矩阵,将未删除的所述第一子矩阵作为第二子矩阵;
对所述第二子矩阵进行去重,得到第三子矩阵;
对满足合并规则的所述第三子矩阵进行合并,得到所述编码子矩阵,所述合并规则包括两个矩阵中相同位置处的矩阵值中至少有一个为0,则两个矩阵进行合并;
将不满足所述合并规则的所述第三子矩阵直接作为所述编码子矩阵。
一种数据条带编码系统,包括:
第一获取模块,用于获取待编码的第一条带数据及第二条带数据;
第一生成模块,用于生成所述第一条带数据及所述第二条带数据各自的运算值,所述运算值的数量与冗余校验块的数量相等;
第二生成模块,用于基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值;
第一确定模块,用于基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块。
一种数据条带编码系统,包括:
第二获取模块,用于获取待编码的目标数据,所述目标数据包括第一条带数据及第二条带数据;
第三获取模块,用于获取编码矩阵;
第一拆分模块,用于对所述编码矩阵进行拆分,得到编码子矩阵,其中,任一所述编码子矩阵中至少有一个矩阵值非0,且任意两个所述编码子矩阵均不相同;
第二拆分模块,用于将所述目标数据拆分为与所述编码子矩阵对应的目标子数据;
第一运算模块,用于将所述编码子矩阵与对应的所述目标子数据进行运算,得到中间结果;
第三生成模块,用于基于所述中间结果生成所述第一条带数据及所述第二条带数据各自的运算值及对应的异或值,以基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块;
其中,所述运算值的数量与冗余校验块的数量相等;且所述异或值包括基于所述第二条带数据的运算值、所述第一条带数据的运算值生成的异或值。
一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述用户操作处理方法的步骤。
本申请提供的一种数据条带编码方法,获取待编码的第一条带数据及第二条带数据;生成第一条带数据及第二条带数据各自的运算值,运算值的数量与冗余校验块的数量相等;基于第二条带数据的运算值、第一条带数据的运算值生成异或值;基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。本申请中,在进行Hitchhiker纠删码的过程中,需计算第二条带数据的运算值与第一条带数据的第一运算值间的异或值,并且根据该异或值确定相应的校验块,借助异或值降低了Hitchhiker纠删码的计算开销,提高了计算速度。本申请提供的一种数据条带编码系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据条带编码方法的流程图;
图2为冗余校验块为2时的编码示意图;
图3为冗余校验块为3时的编码示意图;
图4为冗余校验块为4时的编码示意图;
图5为本申请实施例提供的一种数据条带编码方法的另一流程图;
图6为本申请实施例提供的编码矩阵的拆分流程图;
图7为本申请实施例提供的一种数据条带编码系统的结构示意图;
图8为本申请实施例提供的一种数据条带编码系统的另一结构示意图;
图9为本发明实施例电子设备的硬件组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种数据条带编码方法的流程图。
本申请实施例提供的一种数据条带编码方法,可以包括以下步骤:
步骤S101:获取待编码的第一条带数据及第二条带数据。
实际应用中,因为Hitchhiker纠删码是对两个条带数据进行编码,可以先获取待编码的第一条带数据及第二条带数据,第一条带数据及第二条带数据的类型、大小等可以根据实际需要确定,本申请在此不做具体限定。
需要说明的是,第一条带数据及第二条带数据的大小相等,且考虑到实际应用场景中,用户输入的待编码数据一般为一组数据,此时可以将该一组数据拆分为两组,也即拆分为第一条带数据及第二条带数据,且在此过程中,若该一组数据不够拆分为两个条带数据,则可以对其进行补零,以便得到所需的两个条带数据。
步骤S102:生成第一条带数据及第二条带数据各自的运算值,运算值的数量与冗余校验块的数量相等。
实际应用中,在获取待编码的第一条带数据及第二条带数据之后,便可以生成第一条带数据及第二条带数据各自的运算值,且运算值的数量与冗余校验块的数量相等,以便后续根据运算值确定第一条带数据和第二条带数据各自的校验块。
需要说明的是,运算值的生成方式与RS(Reed-Solomon Codes,里德-所罗门码)的校验块的生成方式相同,均是基于多项式及异或运算生成,也即具体应用场景中,在生成第一条带数据及第二条带数据各自的运算值的过程中,可以基于生成公式,生成运算值;
生成公式包括:
Figure BDA0003384261520000071
其中,Fd-1(x)表示运算值中的第d运算值;x0表示预设值,xm表示条带数据中的第m个数据,m=1,2,…,n,k表示条带数据中的总数据量,n为冗余校验块的数量。
步骤S103:基于第二条带数据的运算值、第一条带数据的运算值生成异或值。
实际应用中,直接将所有的运算值作为所有的校验块的话,计算开销大,计算速度慢,为了提高计算速度,可以用运算值与相应数据的异或值来代替运算值作为相应的校验块,也即在生成第一条带数据及第二条带数据各自的运算值之后,可以基于第二条带数据的运算值、第一条带数据的运算值生成异或值,以便后续基于异或值确定条带数据的相应校验块。
步骤S104:基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。
实际应用中,在得到运算值及相应的异或值之后,便可以基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。
本申请提供的一种数据条带编码方法,获取待编码的第一条带数据及第二条带数据;生成第一条带数据及第二条带数据各自的运算值,运算值的数量与冗余校验块的数量相等;基于第二条带数据的运算值、第一条带数据的运算值生成异或值;基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。本申请中,在进行Hitchhiker纠删码的过程中,需计算第二条带数据的运算值与第一条带数据的第一运算值间的异或值,并且根据该异或值确定相应的校验块,借助异或值降低了Hitchhiker纠删码的计算开销,提高了计算速度。
本申请实施例提供的一种数据条带编码方法中,在基于第二条带数据的运算值、第一条带数据的运算值生成异或值的过程中,若冗余校验块的数量为2,则可以计算第二条带数据的第二运算值与第一条带数据的第二运算值的前半部分数据间的异或值,计算第二条带数据的第二运算值与第一条带数据的第二运算值的后半部分间的数据值。
相应的,在基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块的过程中,可以将第一条带数据的第一运算值作为第一条带数据的第一校验块;将第二条带数据的第二运算值与第一条带数据的第二运算值的后半部分间的异或值作为第一条带数据的第二校验块;将第二条带数据的第一运算值作为第二条带数据的第一校验块;将第二条带数据的第二运算值与第一条带数据的第二运算值的前半部分间的异或值作为第二条带数据的第二校验块。其过程可以如图2所示。其中,a1到ak表示第一条带数据,b1到bk表示第二条带数据,
Figure BDA0003384261520000081
Figure BDA0003384261520000082
具体应用场景中,因为Hitchhiker是基于RS编码延伸的,所以在冗余校验块的数量为2的编码过程中,可以先进行RS编码生成RS编码的F0(a)、F0(b)、F1(b);再计算F1(a)的前半部分及后半部分,计算F1(b)与F1(a)的前半部分的异或值,计算F1(b)与F1(a)的后半部分的异或值,或者直接计算F1(a),计算F1(b)与F1(a)的前半部分的异或值,计算F1(b)与F1(a)的后半部分的异或值;最后将F0(a)作为第一条带数据的第一校验块,将
Figure BDA0003384261520000083
作为第一条带数据的第二校验块,将F0(b)作为第二条带数据的第一校验块,将
Figure BDA0003384261520000084
作为第二条带数据的第二校验值。
如图2所示,假设数据a1和b1因丢失需要恢复,则按照本申请所示编码方式,需要使用k+1+k/2=1.5k+1个数据块,而现有技术需要使用2k个数据块,所以本申请能够降低计算开销,且k越大时,降低的开销越接近25%。
本申请实施例提供的一种数据条带编码方法中,在基于第二条带数据的运算值、第一条带数据的运算值生成异或值的过程中,若冗余校验块的数量大于2,则可以从第二条带数据的第二运算值开始,到第二条带数据的最后一个运算值结束,计算第二条带数据的运算值与第一条带数据的第一运算值的对应部分间的异或值;其中,第一条带数据的第一运算值的对应部分包括第一条带数据的第一运算值被均分后得到的子部分数据,均分的数量为冗余校验块的数量与1的差值,且第二条带数据的第i运算值与第i-1子部分数据对应。
相应的,在基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块的过程中,可以将第一条带数据的第d运算值作为第一条带数据的第d校验块,d=1,2,…,n,n表示冗余校验块的数量;将第二条带数据的第一运算值作为第二条带数据的第一校验块;将第二条带数据的第i运算值与第一条带数据的第一运算值的对应部分间的异或值作为第二条带数据的第i校验块,i=2,3,…,n。其过程可以如图3和图4所示等,其中,图3为冗余校验块为3时的编码示意图,图4为冗余校验块为4时的编码示意图。
具体应用场景中,在冗余校验块的数量为3的编码过程中,可以先生成
Figure BDA0003384261520000091
Figure BDA0003384261520000092
将F0(a)、F1(a)、F2(a)作为第一条带数据的第一校验块、第二校验块及第三校验块,将F0(b)作为第二条带数据的第一校验块,将
Figure BDA0003384261520000093
作为第二条带数据的第二校验值,将
Figure BDA0003384261520000094
作为第二条带数据的第三校验值。
具体应用场景中,在冗余校验块的数量为4的编码过程中,可以先生成
Figure BDA0003384261520000095
Figure BDA0003384261520000096
将F0(a)、F1(a)、F2(a)、F3(a)作为第一条带数据的第一校验块、第二校验块、第三校验块及第四校验块,将F0(b)作为第二条带数据的第一校验块,将
Figure BDA0003384261520000097
作为第二条带数据的第二校验值,将
Figure BDA0003384261520000098
作为第二条带数据的第三校验值,将
Figure BDA0003384261520000099
作为第二条带数据的第四校验值。
请参阅图5,图5为本申请实施例提供的一种数据条带编码方法的另一流程图。
本申请实施例提供的一种数据条带编码方法,可以包括以下步骤:
步骤S201:获取待编码的目标数据,目标数据包括第一条带数据及第二条带数据。
步骤S202:获取编码矩阵。
实际应用中,在Hitchhiker纠删码过程中,是用编码矩阵代表编码需求,并用编码矩阵对目标数据进行运算来得到相应的校验块的,所以在获取待编码的目标数据之后,需获取编码矩阵,编码矩阵的信息等可以根据实际需要确定,本申请在此不做具体限定。
步骤S203:对编码矩阵进行拆分,得到编码子矩阵,其中,任一编码子矩阵中至少有一个矩阵值非0,且任意两个编码子矩阵均不相同。
实际应用中,获取的编码矩阵中存在连续的0值,这些0值不具有计算意义,但在实际应用中,仍会对0值进行计算,使得计算开销过大,为了解决此种技术问题,本申请在获取编码矩阵之后,并不是直接应用编码矩阵进行运算,而是先对编码矩阵进行拆分,得到编码子矩阵,且拆分得到的任一编码子矩阵中至少有一个矩阵值非0,且任意两个编码子矩阵均不相同,这样不存在无意义的计算过程,也不存在相同的计算过程,可以降低计算开销。
步骤S204:将目标数据拆分为与编码子矩阵对应的目标子数据。
实际应用中,因为编码矩阵是对相应的目标数据进行运算的,所以在对编码矩阵进行拆分,得到编码子矩阵之后,还需将目标数据拆分为与编码子矩阵对应的目标子数据,以便后续应用编码子矩阵对对应的目标子数据进行运算,得到所需的运算结果。
步骤S205:将编码子矩阵与对应的目标子数据进行运算,得到中间结果。
实际应用中,编码子矩阵中的矩阵值为编码矩阵中的相应值,且编码子矩阵中的矩阵值在编码矩阵中的位置已知,所以可以根据编码子矩阵与编码矩阵中矩阵值的对应关系来基于中间结果确定所需的计算值,比如编码矩阵为[1 2 0 1 2],目标数据为[a0 a1 a2a3 a4]T,拆分后得到的编码子矩阵为[1 2],且该编码子矩阵对应的目标子数据为[a0 a1]T及[a3 a4]T,则将编码子矩阵与对应的目标子数据进行运算后得到的相应中间结果为a0+2a1和a3+2a4
步骤S206:基于中间结果生成第一条带数据及第二条带数据各自的运算值及对应的异或值,以基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。
实际应用中,因为中间结果是编码矩阵中编码子矩阵与目标数据中对应目标子数据间的运算结果,而编码子矩阵与编码矩阵间的关系已知,目标数据与目标子数据间的关系已知,且运算值及异或值可由编码子矩阵与目标数据间的运算结果获得,所以可以根据运算值(或异或值)与编码子矩阵、目标数据间的关系,编码子矩阵与编码矩阵间的关系,目标数据与目标子数据间的关系,来确定运算值与中间结果间的运算关系,并根据该运算关系来基于中间结果生成运算值(或异或值)。
为了便于理解,仍以上述编码矩阵为[1 2 0 1 2]为例,假设运算值为编码矩阵与目标数据间的运算结果,考虑到编码子矩阵是对编码矩阵进行纵向切分得到的,所以只需将两个中间结果相加即可得到所需计算的运算值为:a0+2a1+a3+2a4
实际应用中,本申请中的运算值的数量与冗余校验块的数量相等;且冗余校验块的数量为2时,异或值包括基于第二条带数据的运算值、第一条带数据的运算值生成的异或值。
需要说明的是,本申请提供的Hitchhiker纠删码运算方法可以应用于服务器、客户端及智能存储加速库中等,比如应用于ISA-L库中等,本申请在此不做具体限定。
本申请实施例提供的一种数据条带编码方法,获取待编码的目标数据,目标数据包括第一条带数据及第二条带数据;获取编码矩阵;对编码矩阵进行拆分,得到编码子矩阵,其中,任一编码子矩阵中至少有一个矩阵值非0,且任意两个编码子矩阵均不相同;将目标数据拆分为与编码子矩阵对应的目标子数据;将编码子矩阵与对应的目标子数据进行运算,得到中间结果;基于中间结果生成第一条带数据及第二条带数据各自的运算值及对应的异或值,以基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。本申请中,在获取编码矩阵之后,并不是直接应用编码矩阵进行运算,而是先对编码矩阵进行拆分,得到编码子矩阵,且拆分得到的任一编码子矩阵中至少有一个矩阵值非0,且任意两个编码子矩阵均不相同,这样不存在无意义的计算过程,也不存在相同的计算过程,可以降低计算开销。
请参阅图6,图6为本申请实施例提供的编码矩阵的拆分流程图。
本申请实施例提供的一种Hitchhiker纠删码运算方法中,对编码矩阵进行拆分,得到编码子矩阵的过程可以包括以下步骤:
步骤S301:对编码矩阵进行拆分,得到第一子矩阵。
实际应用中,在对编码矩阵进行拆分的过程中,可以先对编码矩阵进行初始拆分,得到第一子矩阵,此时所有第一矩阵中的矩阵值与编码矩阵中的矩阵值相等,为了便于理解,假设矩阵为[A B C],则第一子矩阵可以为单独的A、B、C等,需要说明的是,对编码矩阵进行拆分,得到第一子矩阵的过程可以根据实际需要确定,本申请在此不做具体限定。
步骤S302:删除矩阵值全为0的第一子矩阵,将未删除的第一子矩阵作为第二子矩阵。
实际应用中,在对编码矩阵进行拆分,得到第一子矩阵之后,如果第一子矩阵的矩阵值全为0,则该第一子矩阵不具有计算意义,为了避免此类第一子矩阵占用计算资源,需删除矩阵值全为0的第一子矩阵,并将未删除的第一子矩阵作为第二子矩阵。
步骤S303:对第二子矩阵进行去重,得到第三子矩阵。
实际应用中,第二子矩阵中可能存在相同的矩阵,且相同的第二子矩阵的计算结果相同,所以为了避免相同的多个第二子矩阵占用计算资源,还需对第二子矩阵进行去重,得到不存在重复矩阵的第三子矩阵。
步骤S304:对满足合并规则的第三子矩阵进行合并,得到编码子矩阵,合并规则包括两个矩阵中相同位置处的矩阵值中至少有一个为0,则两个矩阵进行合并。
步骤S305:将不满足合并规则的第三子矩阵直接作为编码子矩阵。
实际应用中,得到的第三子矩阵中可能存在值为0的矩阵值,该类矩阵值的计算结果无意义且会占用被运算的数据,导致该数据可能无法被缓存命中,影响其他矩阵对该数据的计算过程,且会导致计算开销过大,为了避免此种情况,可以对第三子矩阵进行合并,也即对满足合并规则的第三子矩阵进行合并,得到编码子矩阵,且合并规则包括两个矩阵中相同位置处的矩阵值中至少有一个为0,则两个矩阵进行合并,为了便于理解,假设一个矩阵为[0 0 4 8],另一个矩阵为[1 2 0 0],则这两个矩阵的相同位置处的矩阵值中至少有一个为0,满足合并规则,此时两个矩阵可以合并为[1 2 4 8],只需一次缓存命中便可以得到原先需两次缓存命中的数据的运算结果。需要说明的是,如果第三子矩阵不满足合并规则,则可以将此类第三子矩阵直接作为编码子矩阵。
为了便于理解,假设编码矩阵为:
Figure BDA0003384261520000131
则按照本申请提供的方法进行拆分后所得到的编码子矩阵可以为:
Figure BDA0003384261520000132
假设目标数据为[a0 a1 a2 a3 b0 b1 b2 b3]T,则按照原编码矩阵运行后的结果为:
[a0+a1+a2+a3 b0+b1+b2+b3 4a2+8a3+b0+2b1+4b2+8b3 a0+2a1+b0+2b1+4b2+8b3]T
需要经过8*4=32次计算,需对目标数据进行32次读取操作;
而用编码子矩阵进行计算的话,得到的中间结果为:
Figure BDA0003384261520000133
只需进行4*2*2=16次计算,且只需对目标数据进行16次读取,经比较可知,本申请可以大大降低计算开销;
且根据编码子矩阵与编码矩阵间的关系,在确定[1 1 1 1 0 0 0 0]与目标数据的对应结果时,只需取出中间结果中的a0+a1+a2+a3便可以得到相应的计算结果;在确定[00 4 8 1 2 4 8]与目标数据的对应结果时,只需取出中间结果a0+2a1+4a2+8a3中的后半部分4a2+8a3、及中间结果中的b0+2b1+4b2+8b3进行相加即可得到相应计算结果,所用计算开销小。
请参阅图7,图7为本申请实施例提供的一种数据条带编码系统的结构示意图。
本申请实施例提供的一种数据条带编码系统,包括:
第一获取模块101,用于获取待编码的第一条带数据及第二条带数据;
第一生成模块102,用于生成第一条带数据及第二条带数据各自的运算值,运算值的数量与冗余校验块的数量相等;
第二生成模块103,用于基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值;
第一确定模块104,用于基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块。
本申请实施例提供的一种数据条带编码系统,第二生成模块具体用于:若冗余校验块的数量为2,则计算第二条带数据的第二运算值与第一条带数据的第二运算值的前半部分数据间的异或值,计算第二条带数据的第二运算值与第一条带数据的第二运算值的后半部分间的数据值。
本申请实施例提供的一种数据条带编码系统,第一确定模块具体用于:冗余校验块的数量为2时,将第一条带数据的第一运算值作为第一条带数据的第一校验块;将第二条带数据的第二运算值与第一条带数据的第一运算值的后半部分间的异或值作为第一条带数据的第二校验块;将第二条带数据的第一运算值作为第二条带数据的第一校验块;将第二条带数据的第二运算值与第一条带数据的第一运算值的前半部分间的异或值作为第二条带数据的第二校验块。
本申请实施例提供的一种数据条带编码系统,第二生成模块具体用于:若冗余校验块的数量大于2,则从第二条带数据的第二运算值开始,到第二条带数据的最后一个运算值结束,计算第二条带数据的运算值与第一条带数据的第一运算值的对应部分间的异或值;其中,第一条带数据的第一运算值的对应部分包括第一条带数据的第一运算值被均分后得到的子部分数据,均分的数量为冗余校验块的数量与1的差值,且第二条带数据的第i运算值与第i-1子部分数据对应。
本申请实施例提供的一种数据条带编码系统,第一确定模块具体用于:冗余校验块的数量大于2时,将第一条带数据的第d运算值作为第一条带数据的第d校验块,d=1,2,…,n,n表示冗余校验块的数量;将第二条带数据的第一运算值作为第二条带数据的第一校验块;将第二条带数据的第i运算值与第一条带数据的第一运算值的对应部分间的异或值作为第二条带数据的第i校验块,i=2,3,…,n。
本申请实施例提供的一种数据条带编码系统,第一生成模块可以具体用于:基于生成公式,生成运算值;
生成公式包括:
Figure BDA0003384261520000151
其中,Fd-1(x)表示运算值中的第d运算值;x0表示预设值,xm表示条带数据中的第m个数据,m=1,2,…,n,k表示条带数据中的总数据量,n表示冗余校验块的数量。
请参阅图8,图8为本申请实施例提供的一种数据条带编码系统的另一结构示意图。
本申请实施例提供的一种数据条带编码运算系统,可以包括:
第二获取模块201,用于获取待编码的目标数据,目标数据包括第一条带数据及第二条带数据;
第三获取模块202,用于获取编码矩阵;
第一拆分模块203,用于对编码矩阵进行拆分,得到编码子矩阵,其中,任一编码子矩阵中至少有一个矩阵值非0,且任意两个编码子矩阵均不相同;
第二拆分模块204,用于将目标数据拆分为与编码子矩阵对应的目标子数据;
第一运算模块205,用于将编码子矩阵与对应的目标子数据进行运算,得到中间结果;
第三生成模块206,用于基于中间结果生成第一条带数据及第二条带数据各自的运算值及对应的异或值,以基于运算值及异或值确定第一条带数据及第二条带数据各自的校验块;
其中,运算值的数量与冗余校验块的数量相等;且异或值包括基于第二条带数据的运算值、第一条带数据的运算值生成的异或值。
本申请实施例提供的一种数据条带编码系统,第一拆分模块可以具体用于:对编码矩阵进行拆分,得到第一子矩阵;删除矩阵值全为0的第一子矩阵,将未删除的第一子矩阵作为第二子矩阵;对第二子矩阵进行去重,得到第三子矩阵;对满足合并规则的第三子矩阵进行合并,得到编码子矩阵,合并规则包括两个矩阵中相同位置处的矩阵值中至少有一个为0,则两个矩阵进行合并;将不满足合并规则的第三子矩阵直接作为编码子矩阵。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备,图9为本发明实施例电子设备的硬件组成结构示意图,如图9所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统4。
本发明实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本发明实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的用户操作处理系统、电子设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的用户操作处理方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (12)

1.一种数据条带编码方法,其特征在于,包括:
获取待编码的第一条带数据及第二条带数据;
生成所述第一条带数据及所述第二条带数据各自的运算值,所述运算值的数量与冗余校验块的数量相等;
基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值;
基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值,包括:
若所述冗余校验块的数量为2,则计算所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的前半部分数据间的异或值,计算所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的后半部分间的数据值。
3.根据权利要求2所述的方法,其特征在于,所述冗余校验块的数量为2时,所述基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块,包括:
将所述第一条带数据的第一运算值作为所述第一条带数据的第一校验块;
将所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的后半部分间的异或值作为所述第一条带数据的第二校验块;
将所述第二条带数据的第一运算值作为所述第二条带数据的第一校验块;
将所述第二条带数据的第二运算值与所述第一条带数据的第二运算值的前半部分间的异或值作为所述第二条带数据的第二校验块。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值,包括:
若所述冗余校验块的数量大于2,则从所述第二条带数据的第二运算值开始,到所述第二条带数据的最后一个运算值结束,计算所述第二条带数据的运算值与所述第一条带数据的第一运算值的对应部分间的异或值;
其中,所述第一条带数据的第一运算值的对应部分包括所述第一条带数据的第一运算值被均分后得到的子部分数据,均分的数量为所述冗余校验块的数量与1的差值,且所述第二条带数据的第i运算值与第i-1所述子部分数据对应。
5.根据权利要求1所述的方法,其特征在于,所述冗余校验块的数量大于2时,所述基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块,包括:
将所述第一条带数据的第d运算值作为所述第一条带数据的第d校验块,d=1,2,…,n,n表示所述冗余校验块的数量;
将所述第二条带数据的第一运算值作为所述第二条带数据的第一校验块;
将所述第二条带数据的第i运算值与所述第一条带数据的第一运算值的对应部分间的所述异或值作为所述第二条带数据的第i校验块,i=2,3,…,n。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述生成所述第一条带数据及所述第二条带数据各自的运算值的过程,包括:
基于生成公式,生成所述运算值;
所述生成公式包括:
Figure FDA0003384261510000021
其中,Fd-1(x)表示所述运算值中的第d运算值;x0表示预设值,xm表示条带数据中的第m个数据,m=1,2,…,n,k表示条带数据中的总数据量;n表示所述冗余校验块的数量。
7.一种数据条带编码方法,其特征在于,包括:
获取待编码的目标数据,所述目标数据包括第一条带数据及第二条带数据;
获取编码矩阵;
对所述编码矩阵进行拆分,得到编码子矩阵,其中,任一所述编码子矩阵中至少有一个矩阵值非0,且任意两个所述编码子矩阵均不相同;
将所述目标数据拆分为与所述编码子矩阵对应的目标子数据;
将所述编码子矩阵与对应的所述目标子数据进行运算,得到中间结果;
基于所述中间结果生成所述第一条带数据及所述第二条带数据各自的运算值及对应的异或值,以基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块;
其中,所述运算值的数量与冗余校验块的数量相等;且所述异或值包括基于所述第二条带数据的运算值、所述第一条带数据的运算值生成的异或值。
8.根据权利要求7所述的方法,其特征在于,所述对所述编码矩阵进行拆分,得到编码子矩阵,包括:
对所述编码矩阵进行拆分,得到第一子矩阵;
删除矩阵值全为0的所述第一子矩阵,将未删除的所述第一子矩阵作为第二子矩阵;
对所述第二子矩阵进行去重,得到第三子矩阵;
对满足合并规则的所述第三子矩阵进行合并,得到所述编码子矩阵,所述合并规则包括两个矩阵中相同位置处的矩阵值中至少有一个为0,则两个矩阵进行合并;
将不满足所述合并规则的所述第三子矩阵直接作为所述编码子矩阵。
9.一种数据条带编码系统,其特征在于,包括:
第一获取模块,用于获取待编码的第一条带数据及第二条带数据;
第一生成模块,用于生成所述第一条带数据及所述第二条带数据各自的运算值,所述运算值的数量与冗余校验块的数量相等;
第二生成模块,用于基于所述第二条带数据的运算值、所述第一条带数据的运算值生成异或值;第一确定模块,用于基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块。
10.一种数据条带编码系统,其特征在于,包括:
第二获取模块,用于获取待编码的目标数据,所述目标数据包括第一条带数据及第二条带数据;
第三获取模块,用于获取编码矩阵;
第一拆分模块,用于对所述编码矩阵进行拆分,得到编码子矩阵,其中,任一所述编码子矩阵中至少有一个矩阵值非0,且任意两个所述编码子矩阵均不相同;
第二拆分模块,用于将所述目标数据拆分为与所述编码子矩阵对应的目标子数据;
第一运算模块,用于将所述编码子矩阵与对应的所述目标子数据进行运算,得到中间结果;
第三生成模块,用于基于所述中间结果生成所述第一条带数据及所述第二条带数据各自的运算值及对应的异或值,以基于所述运算值及所述异或值确定所述第一条带数据及所述第二条带数据各自的校验块;
其中,所述运算值的数量与冗余校验块的数量相等;且所述异或值包括基于所述第二条带数据的运算值、所述第一条带数据的运算值生成的异或值。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述用户操作处理方法的步骤。
CN202111447413.0A 2021-11-30 2021-11-30 数据条带编码方法、系统、设备及介质 Pending CN114138543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111447413.0A CN114138543A (zh) 2021-11-30 2021-11-30 数据条带编码方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111447413.0A CN114138543A (zh) 2021-11-30 2021-11-30 数据条带编码方法、系统、设备及介质

Publications (1)

Publication Number Publication Date
CN114138543A true CN114138543A (zh) 2022-03-04

Family

ID=80386290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111447413.0A Pending CN114138543A (zh) 2021-11-30 2021-11-30 数据条带编码方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN114138543A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116312726A (zh) * 2023-05-16 2023-06-23 苏州浪潮智能科技有限公司 一种数据存储方法、装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116312726A (zh) * 2023-05-16 2023-06-23 苏州浪潮智能科技有限公司 一种数据存储方法、装置、电子设备和存储介质
CN116312726B (zh) * 2023-05-16 2023-08-15 苏州浪潮智能科技有限公司 一种数据存储方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US10642522B2 (en) Method and system for in-line deduplication in a storage drive based on a non-collision hash
CN113297000B (zh) 一种raid编码电路及编码方法
CN113297001B (zh) 一种raid编解码方法及编解码电路
US20200319973A1 (en) Layered error correction encoding for large scale distributed object storage system
CN113296999B (zh) 一种raid6编码方法及编码电路
CN114090345B (zh) 一种磁盘阵列数据恢复方法、系统、存储介质及设备
CN111831223B (zh) 提高数据去重系统可扩展性的容错编码方法、装置及系统
CN111858142A (zh) 一种数据处理方法、装置及电子设备和存储介质
WO2023151290A1 (zh) 一种数据编码方法、装置、设备及介质
CN113687975A (zh) 数据处理方法、装置、设备及存储介质
CN114610244A (zh) 一种独立冗余磁盘阵列降级方法、系统及设备
CN114138543A (zh) 数据条带编码方法、系统、设备及介质
Ivanichkina et al. Mathematical methods and models of improving data storage reliability including those based on finite field theory
CN114442950A (zh) 一种数据恢复方法、系统、装置及计算机可读存储介质
US20180034482A1 (en) Apparatuses and methods for interleaved bch codes
US10649841B2 (en) Supporting multiple page lengths with unique error correction coding via galois field dimension folding
CN111124939A (zh) 一种基于全闪存阵列的数据压缩方法及系统
CN110032331B (zh) 用于通过绕过编码和解码来提高备份效率的方法和系统
WO2019214266A1 (zh) 计算crc编码的方法和装置
CN115113816A (zh) 一种纠删码数据处理系统、方法、计算机设备及介质
CN114691414A (zh) 一种校验块生成方法及一种数据恢复方法
CN110896309A (zh) Turbo乘积码的译码方法、装置、译码器及计算机存储介质
CN112000509B (zh) 一种基于向量指令的纠删码编码方法、系统及装置
CN115269258A (zh) 一种数据恢复的方法和系统
Yuan et al. A randomly expandable method for data layout of Raid Storage Systems

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