本申请公开了数据处理方法
【技术实现步骤摘要】
数据处理方法、电子设备及计算机可读存储介质
[0001]本申请涉及数据处理
,特别是涉及数据处理方法
、
电子设备及计算机可读存储介质
。
技术介绍
[0002]在分布式存储里面,纠删码是一种重要的数据冗余方法
。
纠删码不但能够降低数据的冗余度,降低存储成本,而且还可以通过把数据块打散存储到多台存储设备上面,从而提供比三副本更高的数据可用性
。
其根本原因在于纠删码能够通过数据块
+
校验块的计算,把缺失的数据恢复回来
。
[0003]相关纠删码的数据恢复方式对内存造成了较大的存储压力
。
技术实现思路
[0004]本申请提供了数据处理方法
、
电子设备及计算机可读存储介质,能够减少数据恢复时,数据块数据对内存造成的存储压力
。
[0005]第一方面,本申请提供一种数据处理方法,数据基于纠删码算法存储,形成
M
个数据块和
N
个校验块,其中,
M
大于
N
,且
M
和
N
为正整数,该方法包括:响应于数据恢复指令,按照数据块的数量确定单次读取数据大小;循环从每一数据块中读取对应读取数据大小的目标数据至内存中,并利用对应的条带信息和目标数据恢复丢失的数据
。
[0006]第二方面,本申请提供一种电子设备,该电子设备包括处理器以及与处理器耦接的存储器;其中,存储器用于存储计算机程序,处理器用于执行计算机程序,以实现如第一方面提供的方法
。
[0007]第三方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序在被处理器执行时,实现如第一方面提供的方法
。
[0008]本申请的有益效果是:区别于现有技术的情况,本申请提供的数据处理方法
、
电子设备及计算机可读存储介质,数据基于纠删码算法存储,形成
M
个数据块和
N
个校验块,响应于数据恢复指令,按照数据块的数量确定单次读取数据大小;循环从每一数据块中读取对应读取数据大小的目标数据至内存中,并利用对应的条带信息和目标数据恢复丢失的数据,能够利用循环读取的方式,读取较少数据至内存中,减少数据恢复时,数据块数据对内存造成的存储压力
。
附图说明
[0009]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图
。
其中:
[0010]图1是本申请提供的数据处理方法一实施例的流程示意图;
[0011]图2是本申请提供的数据处理方法一应用场景示意图;
[0012]图3是本申请提供的数据处理方法另一实施例的流程示意图;
[0013]图4是本申请提供的电子设备一实施例的结构示意图;
[0014]图5是本申请提供的电子设备另一实施例的结构示意图;
[0015]图6是本申请提供的计算机可读存储介质一实施例的结构示意图
。
具体实施方式
[0016]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚
、
完整地描述
。
可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定
。
另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构
。
基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围
。
[0017]在本文中提及“实施例”意味着,结合实施例描述的特定特征
、
结构或特性可以包含在本申请的至少一个实施例中
。
在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例
。
本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合
。
[0018]在分布式存储里面,纠删码是一种重要的数据冗余方法
。
纠删码不但能够降低数据的冗余度,降低存储成本,而且还可以通过把数据块打散存储到多台存储设备上面,从而提供比三副本更高的数据可用性
。
其根本原因在于纠删码能够通过数据块
+
校验块的计算,把缺失的数据恢复回来
。
[0019]相关纠删码的数据恢复方式对内存造成了较大的存储压力
。
如,进行数据恢复时,需要将数据块全部读取至内存中,易造成内存溢出
。
[0020]基于此,本申请提出利用循环读取的方式,读取较少数据至内存中,减少数据恢复时,数据块数据对内存造成的存储压力
。
具体参阅以下任一实施例
。
[0021]参阅图1,图1是本申请提供的数据处理方法一实施例的流程示意图
。
本实施例中的数据基于纠删码算法存储,形成
M
个数据块和
N
个校验块,其中,
M
大于
N
,且
M
和
N
为正整数
。
该方法包括:
[0022]步骤
11
:响应于数据恢复指令,按照数据块的数量确定单次读取数据大小
。
[0023]在一些实施例中,在进行数据存储时,可以根据数据块的数量确定出每一数据块的大小
。
如,当前存储的数据的大小为
5GB
,且数据块的数量为
15
,则每一数据块的大小约为
341MB。
则
5GB
的数据按照数据块的顺序进行存储
。
具体存储方式为其中,当前数据块写满数据后,向下一数据块写入数据
。
如先存储至数据块1,在数据块1存储完整后,存储至数据块2,以此类推,直至存储至数据块
15。
其中,每一数据块中具有对应的最小读写单元,即在存储数据后,可以按照最下读写单元横向进行校验块的计算
。
[0024]在一些实施例中,在进行数据读取时,发现数据异常,则可以利用剩余的数据块和校验块进行数据恢复
。
如,响应于数据恢复指令,按照数据块的数量确定单次读取数据大小
。
[0025]在相关技术中,将所有剩余的数据块和校验块的数据全部一次性读取至内存中,进行数据恢复运算
。
本申请考虑到高并发
、
数据块的容量
、
内存容量等多种因本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种数据处理方法,其特征在于,所述数据基于纠删码算法存储,形成
M
个数据块和
N
个校验块,其中,
M
大于
N
,且
M
和
N
为正整数,所述方法包括:响应于数据恢复指令,按照数据块的数量确定单次读取数据大小;循环从每一数据块中读取对应所述读取数据大小的目标数据至内存中,并利用对应的条带信息和所述目标数据恢复丢失的数据
。2.
根据权利要求1所述的方法,其特征在于,所述响应于数据恢复指令,按照数据块和校验块的数量确定单次读取数据大小,包括:响应于数据恢复指令,获取数据块的数量以及基础容量;利用所述基础容量和所述数量确定单次读取数据大小
。3.
根据权利要求2所述的方法,其特征在于,所述利用所述基础容量和所述数量确定单次读取数据大小,包括:响应于所述基础容量和所述数量的比值小于最小读写单元的容量,将所述最小读写单元对应的容量作为所述读取数据大小;响应于所述基础容量和所述数量的比值大于单个数据块的容量,将所述单个数据块的容量作为所述读取数据大小;响应于所述基础容量和所述数量的比值大于所述最小读写单元的容量,且小于单个数据块的容量,根据所述比值确定单次读取数据大小
。4.
根据权利要求3所述的方法,其特征在于,所述根据所述比值确定单次读取数据大小,包括:响应于所述比值为所述最小读写单元的整数倍,将所述比值作为所述单次读取数据大小;响应于所述...
【专利技术属性】
技术研发人员:吴火城,何小春,
申请(专利权)人:OPPO,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。