一种数据一致性检测和修复的方法、装置及介质制造方法及图纸

技术编号:33274460 阅读:11 留言:0更新日期:2022-04-30 23:32
本申请公开了一种数据一致性检测和修复的方法、装置及介质,涉及存储技术领域。该方法对文件进行一致性检测,在检测到文件不一致时,对文件进行修复。在修复过程中获取待修复文件的数据对象并确定待修复的数据对象;然后根据数据对象对应的副本数据将待修复的数据对象进行修复。由此可见,该方法在实现数据一致性的过程中不需要在整个IO路径上附上校验信息,因此较容易实现数据一致;其次,先判断文件是否一致,然后只将待修复的文件分为多个数据对象,不需要对数据一致的文件分为多个数据对象,因此减少了确定待修复的数据对象的时间,使得数据一致性检测和修复的过程相对简单,提高了数据一致性检测和修复的效率。提高了数据一致性检测和修复的效率。提高了数据一致性检测和修复的效率。

【技术实现步骤摘要】
一种数据一致性检测和修复的方法、装置及介质


[0001]本申请涉及存储
,特别是涉及一种数据一致性检测和修复的方法、装置及介质。

技术介绍

[0002]随着云计算、数字化转型,产生的数据量呈指数级增长,因此,对海量数据存储有新的技术要求。为了满足海量数据的存储需求,当前技术背景下出现了分布式存储技术。但是分布式存储系统的架构复杂,当集群节点越多,不同的集群节点出现故障的概率就越高,造成数据损坏的因素,主要有硬件错误,如内存、中央处理器(Central Processing Unit,CPU)、网卡等;数据传输过程中的信噪干扰,如SATA硬盘(Serial Advanced Technology Attachment hard disk)、光纤通道(Fiber Channel,FC)等协议;固件问题,如磁盘阵列(Redundant Arrays of Independent Disks,RAID)控制器、磁盘控制器等;软件问题,如操作系统的内核问题、本地文件系统问题,网络系统问题、通用块层问题、IO调度层问题等;运维因素,当出现极端情况,对分布式系统进行维护操作错误。
[0003]以上因素均会造成数据的损坏,导致分布式集群系统数据不一致,业务IO出错,出现数据不可用现象,进而使得数据的可靠性降低。目前,一般采用端到端的数据校验实现数据的一致性,但是需要在整个IO路径上附上校验信息,由于在整个IO路径上附上校验信息存在一定的难度,因此实现数据一致性的过程较为复杂。
[0004]由此可见,如何对数据进行一致性检测和修复,是本领域技术人员亟待解决的问题。

技术实现思路

[0005]本申请的目的是提供一种数据一致性检测和修复的方法、装置及介质,用于对数据进行一致性检测和修复。
[0006]为解决上述技术问题,本申请提供一种数据一致性检测和修复的方法,包括:获取当前文件以及当前所述文件对应的原始文件;将当前所述文件与所述原始文件进行比对以便确定当前所述文件与所述原始文件是否一致;若否,则确定当前所述文件为待修复文件;获取待修复文件的数据对象;将所述待修复文件的数据对象与所述原始文件的数据对象进行比对并确定待修复的数据对象;根据所述原始文件的数据对象的副本数据将所述待修复的数据对象进行修复,并返回所述获取当前文件以及当前所述文件对应的原始文件的步骤;若是,则结束。
[0007]优选地,所述将当前所述文件与所述原始文件进行比对以便确定当前所述文件与
所述原始文件是否一致包括:获取所述原始文件的第一MD5值以及获取当前所述文件的第二MD5值;在所述第一MD5值与所述第二MD5值不相同的情况下,进入所述确定当前所述文件为待修复文件的步骤。
[0008]优选地,所述获取待修复文件的数据对象包括:获取所述待修复文件的大小以及设置各所述数据对象的大小为预设值;根据所述待修复文件的大小以及所述预设值将所述待修复的文件分为多个数据对象;获取所述待修复文件的各所述数据对象。
[0009]优选地,所述原始文件在存储池中存放包括:将所述原始文件分为多个数据对象并获取所述原始文件的数据对象;在所述存储池中设置PG归置组;将所述原始文件的数据对象存储至所述PG归置组;通过crushmap算法将所述PG归置组映射至所述存储池的OSD磁盘,其中,所述存储池的OSD磁盘中包含各所述PG归置组映射的多个副本数据。
[0010]优选地,在检测到是xattr扩展属性丢失导致数据不一致的情况下,所述根据所述原始文件的数据对象的副本数据将所述待修复的数据对象进行修复包括:根据各所述PG归置组在所述存储池的OSD磁盘中的映射信息查询所述待修复的数据对象的副本编号;获取所述待修复的数据对象对应的PG归置组映射的副本数据;其中,所述PG归置组映射的副本数据为所述原始文件的数据对象的副本数据;将所述PG归置组映射的副本数据复制到所述待修复的数据对象对应的节点;将xattr文件的头部部分修改为所述待修复的数据对象的副本编号;重新储存所述待修复的数据对象以完成数据的修复。
[0011]优选地,在所述根据所述原始文件的数据对象的副本数据将所述待修复的数据对象进行修复之后,还包括:设置自动化修复工具;将所述自动化修复工具添加至后台任务中。
[0012]优选地,在所述根据所述待修复的数据对象对应的副本数据将所述待修复的数据对象进行修复之后,还包括:输出用于提示完成修复的信息。
[0013]为了解决上述技术问题,本申请还提供一种数据一致性检测和修复的装置,包括:第一获取模块,用于获取当前文件以及当前所述文件对应的原始文件;第一比对模块,用于将当前所述文件与所述原始文件进行比对以便确定当前所述文件与所述原始文件是否一致;若否,则触发确定模块;若是,则结束;所述确定模块,用于确定当前所述文件为待修复文件;第二获取模块,用于获取待修复文件的数据对象;第二比对模块,用于将所述待修复文件的数据对象与所述原始文件的数据对象进行比对并确定待修复的数据对象;
修复模块,用于根据所述原始文件的数据对象的副本数据将所述待修复的数据对象进行修复,并返回所述获取当前文件以及当前所述文件对应的原始文件的步骤。
[0014]为了解决上述技术问题,本申请还提供一种数据一致性检测和修复的装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述的数据一致性检测和修复的方法的步骤。
[0015]为了解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据一致性检测和修复的方法的步骤。
[0016]本申请所提供的数据一致性检测和修复的方法,该方法包括:获取当前文件以及当前文件对应的原始文件;将当前文件与原始文件进行比对以便确定当前文件与原始文件是否一致;若否,则确定当前文件为待修复文件;获取待修复文件的数据对象;将待修复文件的数据对象与原始文件的数据对象进行比对并确定待修复的数据对象;根据原始文件的数据对象的副本数据将待修复的数据对象进行修复,并返回获取当前文件以及当前文件对应的原始文件的步骤;若是,则结束。由此可见,相比于目前的通过端到端数据校验实现数据一致性的方法,本申请的方法在实现数据一致性的过程中不需要在整个IO路径上附上校验信息,因此较容易实现数据一致;其次,相比于直接将文件分为多个数据对象的方法,该方法先判断文件是否一致,然后只将待修复的文件分为多个数据对象,不需要对数据一致的文件分为多个数据对象,因此减少了确定待修复的数据对象的时间,使得数据一致性检测和修复的过程相对简单,提高了数据一致性检测和修复的效率。
[0017]此外,本申请还提供一种数据一致性检测和修复的装置、计算机可读存储介质,与上述的数据一致性检测和修复的方法相对应,效果同上。
附图说明
[0018]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据一致性检测和修复的方法,其特征在于,包括:获取当前文件以及当前所述文件对应的原始文件;将当前所述文件与所述原始文件进行比对以便确定当前所述文件与所述原始文件是否一致;若否,则确定当前所述文件为待修复文件;获取待修复文件的数据对象;将所述待修复文件的数据对象与所述原始文件的数据对象进行比对并确定待修复的数据对象;根据所述原始文件的数据对象的副本数据将所述待修复的数据对象进行修复,并返回所述获取当前文件以及当前所述文件对应的原始文件的步骤;若是,则结束。2.根据权利要求1所述的数据一致性检测和修复的方法,其特征在于,所述将当前所述文件与所述原始文件进行比对以便确定当前所述文件与所述原始文件是否一致包括:获取所述原始文件的第一MD5值以及获取当前所述文件的第二MD5值;在所述第一MD5值与所述第二MD5值不相同的情况下,进入所述确定当前所述文件为待修复文件的步骤。3.根据权利要求2所述的数据一致性检测和修复的方法,其特征在于,所述获取待修复文件的数据对象包括:获取所述待修复文件的大小以及设置各所述数据对象的大小为预设值;根据所述待修复文件的大小以及所述预设值将所述待修复的文件分为多个数据对象;获取所述待修复文件的各所述数据对象。4.根据权利要求1所述的数据一致性检测和修复的方法,其特征在于,所述原始文件在存储池中存放包括:将所述原始文件分为多个数据对象并获取所述原始文件的数据对象;在所述存储池中设置PG归置组;将所述原始文件的数据对象存储至所述PG归置组;通过crushmap算法将所述PG归置组映射至所述存储池的OSD磁盘,其中,所述存储池的OSD磁盘中包含各所述PG归置组映射的多个副本数据。5.根据权利要求4所述的数据一致性检测和修复的方法,其特征在于,在检测到是xattr扩展属性丢失导致数据不一致的情况下,所述根据所述原始文件的数据对象的副本数据将所述待修复的数据对象进行修复包括:根据各所述PG归置组在所述存储池的OSD磁盘中的映射信息查询所述待修复的数...

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

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

1