基于仲裁的多校验和验证方法、系统、装置及存储介质制造方法及图纸

技术编号:22330555 阅读:38 留言:0更新日期:2019-10-19 12:21
本申请公开了一种基于仲裁的多校验和验证方法,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。本申请还同时公开了一种基于仲裁的多校验和验证系统、设备及计算机可读存储介质,具有上述有益效果。

【技术实现步骤摘要】
基于仲裁的多校验和验证方法、系统、装置及存储介质
本申请涉及校验和校验
,特别涉及一种基于仲裁的多校验和验证方法、系统、装置及计算机可读存储介质。
技术介绍
保持数据的完整性是现代存储系统中最重要的职责,为尽可能完善这一机制,不断有各式相关技术被开发和应用于增强或改进这一机制,其中目前常用的且较为成熟的方法为利用校验和来完成数据完整性的校验。校验和是从由数据块导出的小块基准,用于检测该数据块是否在传输或存储期间引入或发生了错误,通常情况下不对数据的真实性做判别。利用校验和来完成数据完整性的校验原理为:利用校验和生成算法为写入的数据计算得到一个校验和,而该校验和还用于与在实际读取该数据时重新生成的另一校验和进行比对,仅当两者一致时才能说明数据通过了完整性校验。现今利用校验和进行数据完整性校验的方式一般仅在本地磁盘中存储有数据以及基于该数据得到的校验和,但由于该数据以及对应的校验和在存储下发的过程可能因各种因素干扰出现错误,也就是将错误的数据和校验和实际存储在了本地磁盘当中,即使在存储下发过程中未受到干扰且接收到了返回信号,也并不能意味着真正完成了数据及校验和的写入。每当该数据更新,其对应的校验和也需要更新,而最新的数据和最新的校验和需要覆盖本地磁盘中老旧的、错误的数据和校验和,在此种情况下,即使接收到了返回信号,也无法断定实际上是否成功使用最新的数据及校验和覆盖了本地磁盘中老旧的、错误的数据和校验和。因此,如何克服现有技术利用校验和实现数据完整性校验时存在的技术缺陷,提供一种方法更科学、出错几率更低且能够一定程度上修复出现错误的数据或校验和的方法是本领域技术人员亟待解决的问题。
技术实现思路
本申请的目的是提供一种基于仲裁的多校验和验证方法,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。本申请的另一目的在于提供了一种基于仲裁的多校验和验证系统、装置及计算机可读存储介质。为实现上述目的,本申请提供一种基于仲裁的多校验和验证方法,该多校验和验证方法包括:利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;将所述数据包分别发送至本地节点和备用节点进行保存,并单独将所述校验和保存至仲裁节点;当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;若所述第一校验和与所述本地节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。可选的,该多校验和验证方法还包括:当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;当与保持一致的两个校验和不相同的校验和来自所述本地节点或所述备用节点时,判定与所述仲裁节点中实际保存的校验不一致的节点中实际保存的数据包为非最新数据包,并利用与所述仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复所述非最新数据包;当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,利用所述本地节点或所述备用节点中实际保存的校验和修复所述仲裁节点中实际保存的校验和。可选的,该多校验和验证方法还包括:当所述第一校验和与所述本地节点中实际保存的校验和不一致时,利用所述校验和生成算法得到所述备用节点中实际保存的数据的第二校验和;判断所述第二校验和与所述备用节点中实际保存的校验和是否一致;若所述第二校验和与所述备用节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;当各节点实际保存的校验和一致时,判定所述本地节点在保存所述数据包时出现错误,并利用所述备用节点中实际保存的数据包修复所述本地节点中实际保存的数据包。可选的,该多校验和验证方法还包括:当所述第二校验和与所述备用节点中实际保存的校验和不一致时,判定所述本地节点和所述备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。可选的,该多校验和验证方法还包括:当所述第二校验和与所述备用节点中实际保存的校验和一致,但各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;当与保持一致的两个校验和不相同的校验和来自所述本地节点时,判定所述本地节点中实际保存的数据包存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包;当与保持一致的两个校验和不相同的校验和来自所述备用节点时,判定所述本地节点和所述备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,判定所述本地节点中实际保存的数据包与所述仲裁节点中实际保存的校验和均存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包与校验和。为实现上述目的,本申请还提供了一种基于仲裁的多校验和验证系统,该多校验和验证系统包括:校验和生成及封包单元,用于利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;多节点存储单元,用于将所述数据包分别发送至本地节点和备用节点进行保存,并将所述校验和单独保存至仲裁节点;第一校验和生成单元,用于当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;第一校验和校验单元,用于判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;第一各校验和比较单元,用于当所述第一校验和与所述本地节点中实际保存的校验和一致时,比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;正确数据返回单元,用于当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。可选的,该多校验和验证系统还包括:第一来源判断单元,用于当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;非仲裁节点判定及处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述本地节点或所述备用节点时,判定与所述仲裁节点中实际保存的校验和不一致的节点中实际保存的数据包为非最新数据包,并利用与所述仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复所述非最新数据包;仲裁节点判定及第一处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,利用所述本地节点或所述备用节点中实际保存的校验和修复所述仲裁节点中实际保存的校验和。可选的,该多校验和验证系统还包括:第二校验和生成单元,用于当所述第一校验和与所述本地节点中实际保存的校验和不一致时,利用所述校验和生成算法得到所述备用节点中实际保存的数据的第二校验和;第二校验和校验单元,用于本文档来自技高网
...

【技术保护点】
1.一种基于仲裁的多校验和验证方法,其特征在于,包括:利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;将所述数据包分别发送至本地节点和备用节点进行保存,并单独将所述校验和保存至仲裁节点;当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;若所述第一校验和与所述本地节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。

【技术特征摘要】
1.一种基于仲裁的多校验和验证方法,其特征在于,包括:利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;将所述数据包分别发送至本地节点和备用节点进行保存,并单独将所述校验和保存至仲裁节点;当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;若所述第一校验和与所述本地节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。2.根据权利要求1所述的多校验和验证方法,其特征在于,还包括:当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;当与保持一致的两个校验和不相同的校验和来自所述本地节点或所述备用节点时,判定与所述仲裁节点中实际保存的校验和不一致的节点中实际保存的数据包为非最新数据包,并利用与所述仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复所述非最新数据包;当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,利用所述本地节点或所述备用节点中实际保存的校验和修复所述仲裁节点中实际保存的校验和。3.根据权利要求1所述的多校验和验证方法,其特征在于,还包括:当所述第一校验和与所述本地节点中实际保存的校验和不一致时,利用所述校验和生成算法得到所述备用节点中实际保存的数据的第二校验和;判断所述第二校验和与所述备用节点中实际保存的校验和是否一致;若所述第二校验和与所述备用节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;当各节点实际保存的校验和一致时,判定所述本地节点在保存所述数据包时出现错误,并利用所述备用节点中实际保存的数据包修复所述本地节点中实际保存的数据包。4.根据权利要求3所述的多校验和验证方法,其特征在于,还包括:当所述第二校验和与所述备用节点中实际保存的校验和不一致时,判定所述本地节点和所述备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。5.根据权利要求3所述的多校验和验证方法,其特征在于,还包括:当所述第二校验和与所述备用节点中实际保存的校验和一致,但各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;当与保持一致的两个校验和不相同的校验和来自所述本地节点时,判定所述本地节点中实际保存的数据包存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包;当与保持一致的两个校验和不相同的校验和来自所述备用节点时,判定所述本地节点和所述备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,判定所述本地节点中实际保存的数据包与所述仲裁节点中实际保存的校验和均存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包与校验和。6.一种基于仲裁的多校验和验证系统,其特征在于,包括:校验和生成及封包单元,用于利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;多节点存储单元,用于将所述数据包分别发送至本地节点和备用节点进行保存,并将所述校验和单独保存至仲裁节点;第一校验和生成单元,用于当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;第一校验和校验单元,用于判断所述第...

【专利技术属性】
技术研发人员:古亮李诗逸
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:广东,44

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

1