数据修复方法、分布式存储系统、电子设备及存储介质技术方案

技术编号:36946121 阅读:18 留言:0更新日期:2023-03-22 19:07
本申请公开了一种数据修复方法、分布式存储系统、电子设备及存储介质。该方法包括:第一分片主副本所在的片服务器停机时,确定出用于存储第一分片待修复副本的修复服务器;从存储第一分片副本的服务器中,确定出当前主副本;将目标副本复制到修复服务器,以对待修复副本进行修复,目标副本为除待修复副本之外的第一分片副本;复制过程中,每当接收到对待修复副本的数据读取指令时,重定向至目标副本所在的片服务器读取数据;复制过程中,每当接收到对第一分片的数据写入指令时,将待写入的数据写入第一分片当前主副本所在片服务器中的临时文件,并将临时文件同步至第一分片的每个从副本所在的片服务器。该方法可实现分片修复过程中的数据读写。中的数据读写。中的数据读写。

【技术实现步骤摘要】
数据修复方法、分布式存储系统、电子设备及存储介质


[0001]本申请涉及大数据
,具体涉及一种数据修复方法、分布式存储系统、电子设备及计算机可读存储介质。

技术介绍

[0002]随着大数据技术的不断发展,分布式存储系统的应用也越来越广泛,分布式存储系统可以为大数据的分析、处理带来极大的便利。
[0003]其中,Kudu系统是一种可运行在hadoop平台的分布式存储系统,具有高可用性。Kudu系统中的一个数据表(table)由多个分片(tablet)组成,每个分片在多个片服务器中均有副本,其中一个是主副本,主副本可读数据也可写数据,其他则是从副本,从副本只可读数据。读取分片数据的多个请求,会被分配到不同的副本进行数据读取,以提高读取效率。然而,当一个分片的主副本所在的片服务器发生停机时,由于缺失主副本而无法写入数据,导致该分片及该分片所属的数据表均变成了不可用的状态。
[0004]在相关技术中,为修复该分片,可以随机选取该分片的一个从副本,将选取的从副本复制到另一个正常可用、且没有该分片副本的片服务器中,得到一个新的从副本。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据修复方法,其特征在于,应用于分布式存储系统,所述分布式存储系统包括多个片服务器,所述分布式存储系统中的每个数据表包括多个分片,每个所述分片具有多个副本,所述分片的多个副本分别存储在不同的所述片服务器,所述分片的多个副本包括一个主副本和至少一个从副本,所述方法包括:当第一分片的主副本所在的片服务器停机时,从未存储有所述第一分片的副本的片服务器中,确定出用于存储所述第一分片的待修复副本的修复服务器;从存储所述第一分片的从副本的片服务器和存储所述待修复副本的修复服务器中,确定出存储所述第一分片当前的主副本的片服务器;将目标副本复制到所述修复服务器,以对所述待修复副本进行修复;所述目标副本为除所述待修复副本之外的所述第一分片的副本;在复制所述目标副本的过程中,每当接收到对所述待修复副本的数据读取指令时,重定向至所述目标副本所在的片服务器读取数据;在复制所述目标副本的过程中,每当接收到对所述第一分片的数据写入指令时,将待写入的数据写入所述第一分片当前的主副本所在的片服务器中的临时文件,并将所述临时文件同步至所述第一分片的每个从副本所在的片服务器。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第一分片的主副本所在的片服务器停机时,将所述第一分片从可用状态修改为不可用状态;所述可用状态表示所述第一分片的全部副本均可读可写,所述不可用状态表示所述第一分片的全部副本均不可读不可写;相应地,所述将目标副本复制到所述修复服务器,以对所述待修复副本进行修复之前,还包括:将所述第一分片从所述不可用状态修改为所述可用状态。3.根据权利要求1所述的方法,其特征在于,所述将目标副本复制到所述修复服务器,以对所述待修复副本进行修复之前,还包括:将所述第一分片从可合并状态修改为不可合并状态;所述可合并状态表示所述第一分片的副本与所述副本所在的片服务器中的其他文件可进行合并,所述不可合并状态表示所述第一分片的副本与所述副本所在的片服务器中的其他文件不可进行合并;相应地,所述将目标副本复制到所述修复服务器,以对所述待修复副本进行修复之后,还包括:在所述目标副本复制完成后,将所述第一分片从所述不可合并状态修改为所述可合并状态。4.根据权利要求3所述的方法,其特征在于,所述在所述目标副本复制完成后,将所述第一分片从所述不可合并状态修改为所述可合并状态之后,还包括:当所述分布式存储系统被触发以进行文件合并时,将每个所述片服务器中属于同一所述分片的临时文件和副本进行合并,得到各所述分片的新副本。5.根据权利要求1所述的方法,其特征在于,所述从存储所述第一分片的从副本的片服务器和存储所述待修复副本的修复服务器中,确定出存储所述第一分片当前的主副本的片服务器之后,还包括:在为所述待修复副本创建的位于所述修复服务器的文件夹中,创建用于指向所述目标
副本的链接文件;相应地,所述在复制所述目标副本的过程中,每当接收到对所述待修复副本的数据读取指令时,重定向至所述目标副本所在的片服务器读取数据,包括:在复制所述目标副本的过程中,每当接收到对所述待修复副本的数据读取指令时,通过所述指向所述目标副本的链接文件,重定向至所述目标副本所在的片服务器读取数据。6.根据权利要求5所述的方法,其特征在于,所述将目标副本复制到所述修复服务器,以对所述待修复副本进行修复之后,还包括:将所述指向所述目标副本的链接文件删除。7.根据权利要求5所述的方法,其特征在于,所述链接文件中包括目标副本所在的片服务器的服务器名称、所述目标副本所在的文件夹的路径,以及所述目标副本的最新修改时间。8.根据权利要求7所述的方法,其特征在于,所述在复制所述目标副本的过程中,每当接收到对所述待修复副本的数据读取指令时,通过所述指向所述目标副本的链接文件,重定向至所述目标副本所在的片服务器读取数据,包括:在复制所述目标副本的过程中,每当接收到对所述待修复副本的数据读取指令时,从为所述待修复副本创建的位于所述修复服务器的文件夹中,读取所述指向所述目标副本的链接文件;在所需读取的数据对应的时间戳小于或等于所述链接文件中的所述最新修改时间的情况下,根据所述链接文件中的所述服务器名称和所述路径,从所述目标副本包括的文件中读取所需数据。9.根据权利要求8所述的方法,其特征在于,所述第一分片位于同一所述片服务器中的副本和临时文件均存储在同一文件夹中;相应地,所述在复制所述目标副本的过程中,每当接收到对所述待修复副本的数据读取指令时,从为所述待修复副本创建的位于所述修复服务器的文件夹中,读取所述指向所述目标副本的链接文件之后,还包括:在所需读取的数据对应的时间戳大于所述链接文件中的所述最新修改时间的情况下,根据所述链接文件中的所述服务器名称和所述路径,从与所述目标副本位于同一文件夹的所述临时文件中读取所需数据;或者,在所需读取的数据对应的时间戳大于所述链接文件中的所述最新修改时间的情况下,从与所述待修复副本位于同一文件夹的所述临时文件中读取所需数据。10.根据权利要求1所述的方法,其特征在于,所述从存储所述第一分片的从副本的片服务器和存储所述待修复副本的修复服务器中,确定出存储所述第一分片当前的主副本的片服务器,包括:通过选举算法,从存储所述第一分片的从副本的片服务器和存储所述待修复副本的修复服务器中,选举出存储所述第一分片当前的主副本的片服务器。11.根据权利要求1所述的方法,其特征在于,在所述待修复副本为所述第一分片当前的主副本的情况下,所述目标副本为所述第一分片当前的任一从副本;在所述待修复副本不为所述第一分片当前的主副本的情况下,所述目标副本为所述第一分片当前的主副本。
12.根据权利要求1所述的方法,其特征在于,所述将目标副本复制到所述修复服务器,以对所述待修复副本进行修复之前,还包括:在所述分布式存储系统中存在至少两个待修复副本的情况下,依次确定每次需要修复的待修复副本;相应地,所述将目标副本复制到所述修复服务器,以对所述待修复副本进行修复,包括:在本次需要修复的待修复副本为所述第一分片的主副本的情况下,将所述目标副本复制到所述修复服务器中为所述第一分片的待修复副本创建的文件...

【专利技术属性】
技术研发人员:徐帅刘勇成胡志鹏袁思思程龙
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1