分布式存储系统数据修复的方法和装置的制造方法_5

文档序号:9787436阅读:来源:国知局
述目标分片的副本所在节点出现故障,重新启动与所述目标分片的副本对应的进程;以及
[0241]数据修复模块,适于修复所述故障节点上所述目标分片的副本的数据。
[0242]B16、根据B15所述的装置,其中,所述监测模块还适于:
[0243]监测目标分片的副本的在线数量;以及
[0244]当监测到所述目标分片的副本的在线数量与预设数量不一致时,确定所述目标分片的副本所在节点出现故障。
[0245]B17、根据B16所述的装置,其中,所述监测模块还适于:
[0246]获取所述分布式存储系统的meta信息,其中,所述meta信息中记录了所述分布式存储系统中各分片的副本的在线状态;
[0247]在所述meta信息中查找所述目标分片的副本的在线状态;以及
[0248]根据所述目标分片的副本的在线状态,确定所述目标分片的副本的在线数量。
[0249]B18、根据B17所述的装置,其中,
[0250]若所述meta信息存储在所述分布式存储系统的一个或多个节点,当所述一个或多个节点中的任意一个节点上的分片的副本的在线状态发生变化时,对应修改该任意一个节点的meta信息,并广播给所述一个或多个节点中的其它节点,同步修改该其它节点上的meta信息;
[0251 ] 所述监测模块还适于:
[0252]从所述一个或多个节点处获取所述meta信息。
[0253]B19、根据B17或B18所述的装置,其中,
[0254]所述meta信息中还记录了所述分布式存储系统中各分片的副本存储在哪个节点;
[0255]所述装置还包括故障节点确定模块,适于:
[0256]在所述meta信息中查找所述目标分片的副本所在节点;以及
[0257]根据所述目标分片的副本所在节点以及副本的在线状态,确定所述故障节点。
[0258]B20、根据B15-B19任一项所述的装置,其中,若所述故障节点确定模块确定所述目标分片的原主副本所在节点为所述故障节点,所述数据修复模块还适于:
[0259]在所述目标分片的当前主副本与所述目标分片的原主副本之间进行数据同步;或者
[0260]在所述目标分片的当前从副本与所述目标分片的原主副本之间进行数据同步。
[0261]B21、根据B20所述的装置,其中,所述数据修复模块还适于:
[0262]获取所述目标分片的当前主副本的第一日志记录以及所述目标分片的原主副本的第二日志记录;
[0263]比较所述第一日志记录和所述第二日志记录,判断是否能够确定出两者的数据同步点;以及
[0264]若确定出所述数据同步点,则根据所述数据同步点,在所述目标分片的当前主副本与所述目标分片的原主副本间进行数据同步。
[0265]B22、根据B21所述的装置,其中,所述数据修复模块还适于:
[0266]根据所述数据同步点,确定存在于所述第一日志记录、且未存在于所述第二日志记录的第一日志记录增量,以及未存在于所述第一日志记录、且存在于所述第二日志记录的第二日志记录增量;以及
[0267]在所述目标分片的原主副本中执行所述第一日志记录增量对应的操作,以及在所述目标分片的当前主副本中执行所述第二日志记录增量对应的操作。
[0268]B23、根据B21所述的装置,其中,所述数据修复模块还适于:
[0269]若未确定出所述数据同步点,则获取所述目标分片的当前主副本上的所有数据;以及
[0270]将所述目标分片的原主副本上的数据替换为获取的所述所有数据,以及将所述目标分片的原主副本的所述第二日志记录替换为所述第一日志记录,并在所述目标分片的原主副本中执行所述第一日志记录对应的操作。
[0271]B24、根据B21所述的装置,其中,所述数据修复模块还适于:
[0272]若未确定出所述数据同步点,则将所述目标分片的原主副本的所述第二日志记录替换为所述第一日志记录,并在所述目标分片的原主副本中执行所述第一日志记录对应的操作。
[0273]B25、根据B20-B24任一项所述的装置,其中,还包括:
[0274]加入模块,适于在所述数据修复模块修复所述目标分片的原主副本的数据之后,将所述目标分片的原主副本,以所述目标分片的当前主副本的从副本的身份加入所述分布式存储系统。
[0275]B26、根据B15-B19任一项所述的装置,其中,若所述故障节点确定模块确定所述目标分片的原从副本所在节点为所述故障节点,所述数据修复模块还适于:
[0276]将所述目标分片的当前主副本的数据同步至所述目标分片的原从副本。
[0277]B27、根据B15或B16所述的装置,其中,所述监测模块还适于:
[0278]以广播的方式向所述分布式存储系统的各节点发送查找所述目标分片的副本的请求,所述请求中携带有所述目标分片的副本的标识;
[0279]接收所述各节点返回的响应信息;以及
[0280]根据所述响应信息确定所述目标分片的副本的在线数量。
[0281]B28、根据B16-B27任一项所述的装置,其中,所述监测模块还适于:
[0282]当所述目标分片包括多个时,按照指定的顺序,依次对多个目标分片的副本的在线数量进行监测。
【主权项】
1.一种分布式存储系统数据修复的方法,包括: 监测目标分片的副本所在节点是否出现故障,其中,所述目标分片具有用于接收并响应数据请求的主副本和用于同步该主副本的数据操作的从副本,所述主副本和所述从副本位于分布式存储系统的不同节点; 若监测到所述目标分片的副本所在节点出现故障,重新启动与所述目标分片的副本对应的进程;以及 修复所述故障节点上所述目标分片的副本的数据。2.根据权利要求1所述的方法,其中,所述监测目标分片的副本所在节点是否出现故障的步骤包括: 监测目标分片的副本的在线数量;以及 当监测到所述目标分片的副本的在线数量与预设数量不一致时,确定所述目标分片的副本所在节点出现故障。3.根据权利要求2所述的方法,其中,所述监测目标分片的副本的在线数量的步骤包括: 获取所述分布式存储系统的meta信息,其中,所述meta信息中记录了所述分布式存储系统中各分片的副本的在线状态; 在所述meta信息中查找所述目标分片的副本的在线状态;以及 根据所述目标分片的副本的在线状态,确定所述目标分片的副本的在线数量。4.根据权利要求3所述的方法,其中, 若所述meta信息存储在所述分布式存储系统的一个或多个节点,当所述一个或多个节点中的任意一个节点上的分片的副本的在线状态发生变化时,对应修改该任意一个节点的meta信息,并广播给所述一个或多个节点中的其它节点,同步修改该其它节点上的meta信息; 所述获取所述分布式存储系统的meta信息的步骤包括: 从所述一个或多个节点处获取所述meta信息。5.根据权利要求3或4所述的方法,其中, 所述meta信息中还记录了所述分布式存储系统中各分片的副本存储在哪个节点; 在确定所述目标分片的副本所在节点出现故障之后,所述方法还包括通过以下步骤确定所述故障节点: 在所述meta信息中查找所述目标分片的副本所在节点;以及 根据所述目标分片的副本所在节点以及副本的在线状态,确定所述故障节点。6.根据权利要求1-5任一项所述的方法,其中,若确定所述目标分片的原主副本所在节点为所述故障节点,则修复所述故障节点上所述目标分片的副本的数据的步骤包括: 在所述目标分片的当前主副本与所述目标分片的原主副本之间进行数据同步;或者 在所述目标分片的当前从副本与所述目标分片的原主副本之间进行数据同步。7.根据权利要求6所述的方法,其中,所述在所述目标分片的当前主副本与所述目标分片的原主副本之间进行数据同步的步骤包括: 获取所述目标分片的当前主副本的第一日志记录以及所述目标分片的原主副本的第二日志记录; 比较所述第一日志记录和所述第二日志记录,判断是否能够确定出两者的数据同步点;以及 若确定出所述数据同步点,则根据所述数据同步点,在所述目标分片的当前主副本与所述目标分片的原主副本间进行数据同步。8.根据权利要求7所述的方法,其中,所述根据所述数据同步点,在所述目标分片的当前主副本与所述目标分片的原主副本间进行数据同步的步骤包括: 根据所述数据同步点,确定存在于所述第一日志记录、且未存在于所述第二日志记录的第一日志记录增量,以及未存在于所述第一日志记录、且存在于所述第二日志记录的第二日志记录增量;以及 在所述目标分片的原主副本中执行所述第一日志记录增量对应的操作,以及在所述目标分片的当前主副本中执行所述第二日志记录增量对应的操作。9.根据权利要求7所述的方法,其中,在比较所述第一日志记录和所述第二日志记录,判断是否能够确定出两者的数据同步点之后,所述方法还包括: 若未确定出所述数据同步点,则获取所述目标分片的当前主副本上的所有数据;以及 将所述目标分片的原主副本上的数据替换为获取的所述所有数据,以及将所述目标分片的原主副本的所述第二日志记录替换为所述第一日志记录,并在所述目标分片的原主副本中执行所述第一日志记录对应的操作。10.—种分布式存储系统数据修复的装置,包括: 监测模块,适于监测目标分片的副本所在节点是否出现故障,其中,所述目标分片具有用于接收并响应数据请求的主副本和用于同步该主副本的数据操作的从副本,所述主副本和所述从副本位于分布式存储系统的不同节点; 进程重启模块,适于若监测到所述目标分片的副本所在节点出现故障,重新启动与所述目标分片的副本对应的进程;以及 数据修复模块,适于修复所述故障节点上所述目标分片的副本的数据。
【专利摘要】本发明提供了一种分布式存储系统数据修复的方法和装置。该方法包括:监测目标分片的副本所在节点是否出现故障,其中,所述目标分片具有用于接收并响应数据请求的主副本和用于同步该主副本的数据操作的从副本,所述主副本和所述从副本位于分布式存储系统的不同节点;若监测到所述目标分片的副本所在节点出现故障,重新启动与所述目标分片的副本对应的进程;以及修复所述故障节点上所述目标分片的副本的数据。本发明实施例提供的技术方案能够实现对故障节点上目标分片的副本的数据的及时、快速修复的目的,从而提高分布式存储系统对外提供业务服务的性能。
【IPC分类】G06F11/14, G06F17/30
【公开号】CN105550229
【申请号】CN201510890665
【发明人】宋昭
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
【公开日】2016年5月4日
【申请日】2015年12月7日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1