一种基于K+M纠删集群的数据处理方法及装置制造方法及图纸

技术编号:26170377 阅读:11 留言:0更新日期:2020-10-31 13:37
本发明专利技术公开一种基于K+M纠删集群的数据处理方法及装置,集群接收前端发送的读取数据请求;根据读取数据请求,按节点排序依次从各个节点读取各个待读取数据相应的对象片段;对象片段包括数据片段和校验片段;对于某个待读取数据,当在第一个节点上读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,用第一修复数据将该待读取数据的对象片段补齐到K份;将补齐后的数据返回给前端。本发明专利技术于前端的数据读取业务,用修复数据补齐K份,避免数据读取业务中断,保证数据读取业务可以向下继续进行,以读取到后续的正常的数据。

A data processing method and device based on K + m erasure cluster

【技术实现步骤摘要】
一种基于K+M纠删集群的数据处理方法及装置
本专利技术涉及数据处理领域,具体涉及一种基于K+M纠删集群的数据处理方法及装置。
技术介绍
对于K+M纠删策略(纠删码技术用来对数据做一定的冗余来增加系统的可靠性,将要存储的数据切分为K块,然后通过编码算法计算出M个校验块,利用(K+M)个数据块中的任意K个就能够恢复原始数据)的集群,当集群中的节点发生磁盘硬件故障且无法恢复正常时,必须进行磁盘更换;在更换磁盘的过程中,如果有其他节点又出现硬盘故障无法恢复正常,就肯能会出现集群超出故障域的情况(即超出M个节点发生故障),导致部分数据丢失。当前端业务读取或者修改到丢失的数据时,会发生异常,返回EIO(input/outputerror,输入输出错误),致使前端业务全部中断,后续正常的数据也无法继续读取或修改。
技术实现思路
为解决上述问题,本专利技术提供一种基于K+M纠删集群的数据处理方法及装置,在集群节点故障超出故障域时,避免中断前端业务,保证可对全部正常的数据进行处理。本专利技术的技术方案是:一种基于K+M纠删集群的数据处理方法,所述集群包括K+M个节点,数据被分为K份数据片段分别存储于K个节点上,一个节点存储一份数据片段;另外M个节点各自存储对应数据的一份校验片段;该数据处理方法包括数据读取方法,所述数据读取方法包括以下步骤:接收前端发送的读取数据请求;根据读取数据请求,按节点排序依次从各个节点读取各个待读取数据相应的对象片段;对象片段包括数据片段和校验片段;对于某个待读取数据,当在第一个节点上读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,用第一修复数据将该待读取数据的对象片段补齐到K份;将补齐后的数据返回给前端。进一步地,将补齐后的数据返回给前端前,将各个对象片段上的校验信息过滤掉。进一步地,对于某个待读取数据,当在第一个节点上未读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,直接返回第二修复数据给前端。进一步地,该数据处理方法还包括数据修改方法,数据修改方法包括以下步骤:接收前端发送的修改数据请求;当所修改的某个数据的对象片段少于K份时,用第三修复数据将该数据的对象片段补齐到K份;对补齐后的数据进行修改操作。进一步地,对补齐后的数据进行修改操作还包括以下步骤:保存修改前的源数据。进一步地,第一修复数据、第二修复数据、第三修复数据均为Zero数据。本专利技术的技术方案还包括一种基于K+M纠删集群的数据处理装置,包括,读请求接收模块:接收前端发送的读取数据请求;数据读取模块:根据读取数据请求,按节点排序依次从各个节点读取各个待读取数据相应的对象片段;对象片段包括数据片段和校验片段;数据补齐模块:对于某个待读取数据,判断是否能在第一节点上读取到相应对象片段,当在第一个节点上读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,用第一修复数据将该待读取数据的对象片段补齐到K份;数据返回模块:将补齐的数据返回给前端。进一步地,还包括,校验信息过滤模块:对由第一修复数据补齐的数据,将各个对象片段上的校验信息过滤掉。进一步地,对于某个待读取数据,当在第一个节点上未读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,数据返回模块直接返回第二修复数据给前端。进一步地,该装置还包括,修改请求接收模块:接收前端发送的修改数据请求;数据创建模块:当所修改的某个数据的对象片段少于K份时,用第三修复数据将该数据的对象片段补齐到K份;数据修改模块:对补齐后的数据进行修改操作;数据保存模块:保存修改前的源数据。本专利技术提供的一种基于K+M纠删集群的数据处理方法及装置,在集群节点故障超出故障域时,即某个数据的对象片段少于K份,无法恢复数据时,对于前端的数据读取业务,用第一修复数据补齐K份或直接返回给前端第二修复数据,避免数据读取业务中断,保证数据读取业务可以向下继续进行,以读取到后续的正常的数据。对于前端的数据修改业务,当数据不存在时,创建空文件供修改业务进行,避免中断数据修改业务,以保证后续的正常数据修改。附图说明图1是本专利技术具体实施例一数据读取方法流程示意图;图2是本专利技术具体实施例一数据修改方法方法流程示意图;图3是本专利技术具体实施例二结构示意框图。具体实施方式下面结合附图并通过具体实施例对本专利技术进行详细阐述,以下实施例是对本专利技术的解释,而本专利技术并不局限于以下实施方式。实施例一本实施例提供一种基于K+M纠删集群的数据处理方法,其中集群包括K+M个节点,数据被分成K份数据片段分别存储于K个节点上,一个节点存储一个数据片段,相应的,数据包含M各校验片段,另外M个节点各自存储对应数据的一份校验片段(即一个节点存储一个校验片段),恢复数据时,只要获取K份对象片段,即可将数据恢复出来。但集群发生故障时,可能发生故障的节点数超过M个,导致前端能获得的对象片段少于K份,无法恢复数据,使前端业务中断,无法继续。K+M纠删集群的故障超出故障域时(只允许M个节点发生故障,超出M个节点发生故障即认为超出故障域),有以下几种情况会导致前端输出处理业务的中断。(一)读取到超出故障域的数据需要说明的是,前端向集群读取数据时,按节点的排序(如按地址的高低排序)依次从各个节点读取相应对象片段,当在第一个节点上读取到相应对象片段,且总对象片段少于K份时,数据不可恢复,集群会返回EIO导致中断。这种情况即发生读取到超出故障域的数据。如图1所示,针对该故障情况,本实施例的数据处理方法包括一数据读取方法,具体包括以下方法步骤。S101,接收前端发送的读取数据请求;需要说明的是,读取数据请求一般读取多个数据,多个数据的各个对象片段分别存储于各个节点上,而某个节点上可能存储某些数据的数据片段,同时存储其他数据的校验片段,该节点发生故障时,可能会使所有校验片段丢失,而数据片段不会丢失,这样就会出现超过M个节点故障时,某些数据依然可获取到至少K份对象片段,而某些数据无法获取到K份对象片段。S102,根据读取数据请求,按节点排序依次从各个节点读取各个待读取数据相应的对象片段;对象片段包括数据片段和校验片段;节点排序可以是按地址排序,读数据时,按地址从低到高依次读取各个节点上的对象片段。S103,对于某个待读取数据,当在第一个节点上读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,用第一修复数据将该待读取数据的对象片段补齐到K份;本实施例中,第一修复数据为Zero数据,即用0进行补齐,得到K份对象片段。将对象片段补齐K份,即可避免集群向前端反馈EIO,保证前端数据读取业务可继续进行,以读取到其他正常的数据。S104,将补齐后的数据返回给前端;本实施例中,将补齐后本文档来自技高网...

【技术保护点】
1.一种基于K+M纠删集群的数据处理方法,所述集群包括K+M个节点,数据被分为K份数据片段分别存储于K个节点上,一个节点存储一份数据片段;另外M个节点各自存储对应数据的一份校验片段;其特征在于,该数据处理方法包括数据读取方法,所述数据读取方法包括以下步骤:/n接收前端发送的读取数据请求;/n根据读取数据请求,按节点排序依次从各个节点读取各个待读取数据相应的对象片段;对象片段包括数据片段和校验片段;/n对于某个待读取数据,当在第一个节点上读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,用第一修复数据将该待读取数据的对象片段补齐到K份;/n将补齐后的数据返回给前端。/n

【技术特征摘要】
1.一种基于K+M纠删集群的数据处理方法,所述集群包括K+M个节点,数据被分为K份数据片段分别存储于K个节点上,一个节点存储一份数据片段;另外M个节点各自存储对应数据的一份校验片段;其特征在于,该数据处理方法包括数据读取方法,所述数据读取方法包括以下步骤:
接收前端发送的读取数据请求;
根据读取数据请求,按节点排序依次从各个节点读取各个待读取数据相应的对象片段;对象片段包括数据片段和校验片段;
对于某个待读取数据,当在第一个节点上读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,用第一修复数据将该待读取数据的对象片段补齐到K份;
将补齐后的数据返回给前端。


2.根据权利要求1所述的基于K+M纠删集群的数据处理方法,其特征在于,将补齐后的数据返回给前端前,将各个对象片段上的校验信息过滤掉。


3.根据权利要求1或2所述的基于K+M纠删集群的数据处理方法,其特征在于,对于某个待读取数据,当在第一个节点上未读取到相应对象片段,且从各个节点读取到的总对象片段少于K份时,直接返回第二修复数据给前端。


4.根据权利要求3所述的基于K+M纠删集群的数据处理方法,其特征在于,该数据处理方法还包括数据修改方法,数据修改方法包括以下步骤:
接收前端发送的修改数据请求;
当所修改的某个数据的对象片段少于K份时,用第三修复数据将该数据的对象片段补齐到K份;
对补齐后的数据进行修改操作。


5.根据权利要求4所述的基于K+M纠删集群的数据处理方法,其特征在于,对补齐后的数据进行修改操作还包括以下步骤:
保存修改前的源数据。

【专利技术属性】
技术研发人员:赵闪闪
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1