一种数据处理方法及设备技术

技术编号:15778396 阅读:67 留言:0更新日期:2017-07-08 18:15
本发明专利技术公开了一种数据处理方法及设备,该方法包括:针对任一待写入同一分条中的待写入数据分块组,对该待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记;对该待写入数据分块组执行磁盘写入操作;若确定该待写入数据分块组未成功写入,则对该同一分条中的至少一个与坏块标记相对应的数据分块进行修复,直至将该至少一个与坏块标记相对应的数据分块修复为与该同一分条中的各其他数据分块呈相互匹配状态。在本方案中,可通过对待写磁盘区域进行坏块标记,并根据坏块标记对已写入数据进行修复,来解决分条未成功写入时所造成的写漏洞问题,在节省大量系统资源的基础上,极大地缩短了数据处理时延、提高了数据处理效率。

【技术实现步骤摘要】
一种数据处理方法及设备
本专利技术涉及计算机
,尤其涉及一种数据处理方法及设备。
技术介绍
在RAID(RedundantArraysofInexpensiveDisks)等磁盘阵列中,当出现级联框掉电、双控变单控、电池故障等异常掉电时,会出现一个分条的待写入数据分块无法完全下盘,从而导致分条不一致(分条中的用户数据分块以及校验数据分块相互不匹配)的问题,即使主机或cache(缓存)能保留刷盘失败的数据,并对该数据进行重新写入操作,仍可能会导致分条不一致,若再发生磁盘失效或重构等,会进一步导致数据的不一致,这种问题被称为WRITEHOLE(写漏洞)。具体地,当出现WRITEHOLE问题时,通常无法继续正常处理主机或cache的I/O(输入/输出)操作以及无法对磁盘阵列进行冗余数据保护等,针对此种情况,目前业界常采用数据写前备份的方式来解决。具体地,可在分条待写入数据分块下盘前,将各待写入数据分块及相关地址等信息备份到NVM(NonvolatileMemory,非易失性存储器)或镜像到其他节点,在将各待写入数据分块成功写入之后再删除备份,若在数据处理过程中,出现数据写入异常等问题,则可根据备份数据重新下盘,直至分条一致后再进行后续其他数据处理业务,以此保证数据处理业务的正常进行。但是,由于在采用数据写前备份的方式来解决WRITEHOLE问题时,需要备份的数据量较大,会占用大量镜像带宽或非易失性存储器带宽,从而导致数据处理时延较大,降低数据的处理效率。
技术实现思路
本专利技术实施例提供了一种数据处理方法及设备,用以解决目前存在的采用数据写前备份的方式解决写漏洞问题时,数据处理时延较大以及处理效率较低的问题。第一方面,提供了一种数据处理方法,包括:针对任一待写入磁盘阵列同一分条中的待写入数据分块组,对所述待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记;对所述待写入数据分块组执行磁盘写入操作;若确定所述待写入数据分块组未成功写入,则对所述同一分条中的至少一个与所述坏块标记相对应的数据分块进行修复,直至将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态。结合第一方面,在第一方面的第一种可能的实现方式中,在将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态之后,所述方法还包括:若确定所述待写入数据分块组仍未成功写入,则重新对所述待写入数据分块组执行磁盘写入操作;或者,若确定所述待写入数据分块组已成功写入,则清除所述坏块标记。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,任一待写入数据分块组包括至少一个待写入用户数据分块以及待写入校验数据分块。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,对所述待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记,包括:对所述待写入数据分块组中的待写入校验数据分块所要写入到的磁盘区域进行坏块标记。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,对所述同一分条中的至少一个与所述坏块标记相对应的数据分块进行修复,直至将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态,包括:从所述同一分条中的与所述坏块标记相对应的各数据分块中,选取至少一个数据分块作为当前待修复数据分块;针对任一当前待修复数据分块,根据所述同一分条中的、与所述当前待修复数据分块不同的各其他数据分块,生成与所述当前待修复数据分块相匹配的新数据分块,并将生成的所述新数据分块写入所述当前待修复数据分块所对应的磁盘区域中。第二方面,提供了一种数据处理设备,包括:坏块标记模块,用于针对任一待写入磁盘阵列同一分条中的待写入数据分块组,对所述待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记;数据写入模块,用于对所述待写入数据分块组执行磁盘写入操作;结果确定模块,用于确定所述待写入数据分块组未成功写入的第一结果;数据修复模块,用于根据所述结果确定模块确定的第一结果,对所述同一分条中的至少一个与所述坏块标记相对应的数据分块进行修复,直至将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态。结合第二方面,在第二方面的第一种可能的实现方式中,所述数据处理设备还包括标记清除模块:所述结果确定模块,还用于确定所述待写入数据分块组已成功写入的第二结果;所述数据写入模块,还用于在所述数据修复模块将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态之后,根据所述结果确定模块确定的第一结果,重新对所述待写入数据分块组执行磁盘写入操作;所述标记清除模块,用于在所述数据修复模块将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态之后,根据所述结果确定模块确定的第二结果,清除所述坏块标记。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,任一待写入数据分块组包括至少一个待写入用户数据分块以及待写入校验数据分块。结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述坏块标记模块,具体用于对所述待写入数据分块组中的待写入校验数据分块所要写入到的磁盘区域进行坏块标记。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述数据修复模块,具体用于从所述同一分条中的与所述坏块标记相对应的各数据分块中,选取至少一个数据分块作为当前待修复数据分块,以及,针对任一当前待修复数据分块,根据所述同一分条中的、与所述当前待修复数据分块不同的各其他数据分块,生成与所述当前待修复数据分块相匹配的新数据分块,并将生成的所述新数据分块写入所述当前待修复数据分块所对应的磁盘区域中。根据第一方面提供的数据处理方法以及第二方面提供的数据处理设备,在进行分条数据的写入操作时,可通过对待写入同一分条中的待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记,并在确定所述待写入数据分块组未成功写入时,根据所述坏块标记,对所述同一分条中的至少一个与所述坏块标记相对应的数据分块进行修复,来解决分条未成功写入时所造成的WRITEHOLE问题,在节省大量系统资源的基础上,极大地缩短了数据的处理时延、提高了数据的处理效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1所示为本专利技术实施例一中所述数据处理方法的流程示意图;图2所示为本专利技术实施例二中所述数据处理设备的结构示意图;图3所示为本专利技术实施例三中所述数据处理设备的结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基本文档来自技高网...
一种数据处理方法及设备

【技术保护点】
一种数据处理方法,其特征在于,包括:针对任一待写入磁盘阵列同一分条中的待写入数据分块组,对所述待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记;对所述待写入数据分块组执行磁盘写入操作;若确定所述待写入数据分块组未成功写入,则对所述同一分条中的至少一个与所述坏块标记相对应的数据分块进行修复,直至将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:针对任一待写入磁盘阵列同一分条中的待写入数据分块组,对所述待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记;对所述待写入数据分块组执行磁盘写入操作;若确定所述待写入数据分块组未成功写入,则对所述同一分条中的至少一个与所述坏块标记相对应的数据分块进行修复,直至将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态。2.如权利要求1所述的数据处理方法,其特征在于,在将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态之后,所述方法还包括:若确定所述待写入数据分块组仍未成功写入,则重新对所述待写入数据分块组执行磁盘写入操作;或者,若确定所述待写入数据分块组已成功写入,则清除所述坏块标记。3.如权利要求1~2任一所述的数据处理方法,其特征在于,任一待写入数据分块组包括至少一个待写入用户数据分块以及待写入校验数据分块。4.如权利要求3所述的数据处理方法,其特征在于,对所述待写入数据分块组中的至少一个数据分块所要写入到的磁盘区域进行坏块标记,包括:对所述待写入数据分块组中的待写入校验数据分块所要写入到的磁盘区域进行坏块标记。5.如权利要求1~2任一所述的数据处理方法,其特征在于,对所述同一分条中的至少一个与所述坏块标记相对应的数据分块进行修复,直至将所述至少一个与所述坏块标记相对应的数据分块修复为与所述同一分条中的各其他数据分块呈相互匹配状态,包括:从所述同一分条中的与所述坏块标记相对应的各数据分块中,选取至少一个数据分块作为当前待修复数据分块;针对任一当前待修复数据分块,根据所述同一分条中的、与所述当前待修复数据分块不同的各其他数据分块,生成与所述当前待修复数据分块相匹配的新数据分块,并将生成的所述新数据分块写入所述当前待修复数据分块所对应的磁盘区域中。6.一种数据处理设备,其特征在于,包括:坏块标记模块,用于针对任一待写入磁盘阵列同一分...

【专利技术属性】
技术研发人员:李大权何孝金
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1