一种数据写入方法及装置、验证方法及装置制造方法及图纸

技术编号:17780219 阅读:39 留言:0更新日期:2018-04-22 08:59
本发明专利技术实施例公开了一种数据写入方法及装置、验证方法及装置、计算机装置、可读存储介质,用于在数据写入过程中检测时序错误,以及在数据读取过程中发现节点不一致的情况。本发明专利技术实施例中,数据写入方法应用于包括N个节点的分布式系统,该方法包括:接收针对第一数据的写入请求;根据写入请求,按照预设规则确定第一时间戳;检测第一时间戳是否早于的第二时间戳,第二时间戳在M个节点的写入位置为用于写入第一时间戳;若是,则确定发生时序错误;若否,则将M个节点中的第二时间戳更新为所述第一时间戳,将M个节点中第二时间戳对应的第二数据更新为第一数据,将M个节点中第二时间戳对应的第二校验和更新为利用所述第一数据生成的第一校验和。

【技术实现步骤摘要】
一种数据写入方法及装置、验证方法及装置
本专利技术涉及数据处理领域,尤其涉及一种数据写入方法及装置、验证方法及装置、计算机装置、可读存储介质。
技术介绍
保持数据完整性是现代存储系统的重中之重。目前,有各种各样的技术被开发和应用来改进数据完整性的保护,其中最常用、最受欢迎的就是校验和方法。传统的针对存储系统的校验和方法一般分为两类:一类是端到端校验,另一类是磁盘校验和。而一般使用校验和对数据进行保护的时候,一旦数据本身进来时就是错误的,那么校验和是无法检测出该类错误的。在分布式系统中每个操作从上层用户或应用程序下发时都有时间顺序,而由于分布式系统本身的多并发特性和不同节点的通信不稳定,该类错误包括时序错误而造成数据的错误覆盖和错误返回,现有机制缺乏有效的手段来检测时序错误。
技术实现思路
本专利技术实施例提供了一种数据写入方法及装置、验证方法及装置、计算机装置、可读存储介质,用于在数据写入过程中检测时序错误,避免时序错误造成数据损坏/丢失,同时可以在数据读取过程中发现节点不一致给系统有鉴于此,本专利技术第一方面提供一种数据写入方法,应用于分布式系统,所述分布式系统包括N个节点,所述N为正整数,可包括:接收针对第一数据的写入请求;根据写入请求,按照预设规则确定第一时间戳;检测第一时间戳是否早于第二时间戳,第二时间戳在M个节点的写入位置为用于写入第一时间戳,M为不大于N的正整数;若是,则确定发生时序错误;若否,则将M个节点中的第二时间戳更新为第一时间戳,将M个节点中第二时间戳对应的第二数据更新为第一数据,将M个节点中第二时间戳对应的第二校验和更新为第一校验和,第一校验和为利用第一数据生成。进一步的,检测第一时间戳是否早于第二时间戳包括:检测第一时间戳是否早于预设内存区域的第二时间戳;或,将M个节点中的第二时间戳进行对比;若第二时间戳均相同,则检测第一时间戳是否早于第二时间戳。进一步的,在将M个节点中第二时间戳对应的第二校验和更新为第一校验和之前,方法还包括:若预设内存区域中存在第二校验和,则将第二校验和更新为第一校验和。进一步的,将M个节点中的第二时间戳更新为第一时间戳,将M个节点中第二时间戳对应的第二数据更新为第一数据,将M个节点中第二时间戳对应的第二校验和更新为第一校验和包括:将第一数据、第一时间戳、第一校验和按照预设格式进行处理,得到第三数据;将M个节点中的第四数据更新为第三数据,第四数据为将第二时间戳、第二数据、第二校验和按照预设格式进行处理得到;或,将第一数据、第一时间戳、第一校验和按照预设格式中的两种进行处理,得到第五数据;将M个节点中的第六数据更新为第五数据,将M个节点中第六数据对应的第七数据更新为第五数据对应的第八数据,第六数据为将第二时间戳、第二数据、第二校验和中的两种按照预设格式进行处理得到。本专利技术第二方面提供一种验证方法,应用于分布式系统,分布式系统包括N个节点,N为正整数,可包括:接收针对第一数据的读取请求;根据读取请求将M个节点中第一数据对应的时间戳进行对比,M不大于N的正整数;若时间戳中的至少两个不同,则确定M个节点中的至少一个节点存在异常。进一步的,方法还包括:若时间戳均相同,则利用M个节点中目标节点的第一数据生成第一校验和;将第一校验和与目标节点中第一数据对应的第二校验和进行对比;若第一校验和与第二校验和相同,则确定第一数据正确。进一步的,利用M个节点中目标节点的第一数据生成第一校验和之前,方法还包括:确定分布式系统的数据处理策略;根据数据处理策略从M个节点中确定最优化的节点为目标节点。本专利技术第三方面提供一种数据写入装置,应用于分布式系统,分布式系统包括N个节点,N为正整数,可包括:接收单元,用于接收针对第一数据的写入请求;第一确定单元,用于根据写入请求,按照预设规则确定第一时间戳;检测单元,用于检测第一时间戳是否早于第二时间戳,第二时间戳在M个节点的写入位置为用于写入第一时间戳,M为不大于N的正整数;第二确定单元,用于当第一时间戳早于第二时间戳时,则确定发生时序错误;第一更新单元,用于当第一时间戳不早于第二时间戳时,则将M个节点中的第二时间戳更新为第一时间戳,将M个节点中第二时间戳对应的第二数据更新为第一数据,将M个节点中第二时间戳对应的第二校验和更新为第一校验和,第一校验和为利用第一数据生成。进一步的,检测单元,具体用于:检测第一时间戳是否早于预设内存区域的第二时间戳;或,将M个节点中的第二时间戳进行对比;若第二时间戳均相同,则检测第一时间戳是否早于第二时间戳。进一步的,装置还包括:第二更新单元,用于当预设内存区域中存在第二校验和时,则将第二校验和更新为第一校验和。进一步的,第一更新单元,具体用于:将第一数据、第一时间戳、第一校验和按照预设格式进行处理,得到第三数据;将M个节点中的第四数据更新为第三数据,第四数据为将第二时间戳、第二数据、第二校验和按照预设格式进行处理得到;或,将第一数据、第一时间戳、第一校验和按照预设格式中的两种进行处理,得到第五数据;将M个节点中的第六数据更新为第五数据,将M个节点中第六数据对应的第七数据更新为第五数据对应的第八数据,第六数据为将第二时间戳、第二数据、第二校验和中的两种按照预设格式进行处理得到。本专利技术第四方面提供一种验证装置,应用于分布式系统,分布式系统包括N个节点,N为正整数,可包括:接收单元,用于接收针对第一数据的读取请求;第一对比单元,用于根据读取请求将M个节点中第一数据对应的时间戳进行对比,M不大于N的正整数;第一确定单元,用于当时间戳中的至少两个不同时,则确定M个节点中的至少一个节点存在异常。进一步的,装置还包括:生成单元,用于当时间戳均相同时,则利用M个节点中目标节点的第一数据生成第一校验和;第二对比单元,用于将第一校验和与目标节点中第一数据对应的第二校验和进行对比;第二确定单元,用于当第一校验和与第二校验和相同时,则确定第一数据正确。进一步的,装置还包括:第三确定单元,用于确定分布式系统的数据处理策略;第四确定单元,用于根据数据处理策略从M个节点中确定最优化的节点为目标节点。本专利技术第五方面提供一种计算机装置,应用于分布式系统,分布式系统包括N个节点,N为正整数,计算机装置包括处理器,处理器用于执行存储器中存储的计算机程序时,实现如下步骤:接收针对第一数据的写入请求;根据写入请求,按照预设规则确定第一时间戳;检测第一时间戳是否早于第二时间戳,第二时间戳在M个节点的写入位置为用于写入第一时间戳,M为不大于N的正整数;若是,则确定发生时序错误;若否,则将M个节点中的第二时间戳更新为第一时间戳,将M个节点中第二时间戳对应的第二数据更新为第一数据,将M个节点中第二时间戳对应的第二校验和更新为第一校验和,第一校验和为利用第一数据生成。本专利技术第六方面提供一种计算机可读存储介质,应用于分布式系统,分布式系统包括N个节点,N为正整数,可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现如下步骤:接收针对第一数据的写入请求;根据写入请求,按照预设规则确定第一时间戳;检测第一时间戳是否早于第二时间戳,第二时间戳在M个节点的写入位置为用于写入第一时间戳,M为不大于N的正整数;若是,则确定发生时序错误;若否,则将M个节点中的第二时间戳更新本文档来自技高网...
一种数据写入方法及装置、验证方法及装置

【技术保护点】
一种数据写入方法,应用于分布式系统,所述分布式系统包括N个节点,所述N为正整数,其特征在于,包括:接收针对第一数据的写入请求;根据所述写入请求,按照预设规则确定第一时间戳;检测所述第一时间戳是否早于第二时间戳,所述第二时间戳在M个节点的写入位置为用于写入所述第一时间戳,所述M为不大于所述N的正整数;若是,则确定发生时序错误;若否,则将所述M个节点中的所述第二时间戳更新为所述第一时间戳,将所述M个节点中所述第二时间戳对应的第二数据更新为所述第一数据,将所述M个节点中所述第二时间戳对应的第二校验和更新为第一校验和,所述第一校验和为利用所述第一数据生成。

【技术特征摘要】
1.一种数据写入方法,应用于分布式系统,所述分布式系统包括N个节点,所述N为正整数,其特征在于,包括:接收针对第一数据的写入请求;根据所述写入请求,按照预设规则确定第一时间戳;检测所述第一时间戳是否早于第二时间戳,所述第二时间戳在M个节点的写入位置为用于写入所述第一时间戳,所述M为不大于所述N的正整数;若是,则确定发生时序错误;若否,则将所述M个节点中的所述第二时间戳更新为所述第一时间戳,将所述M个节点中所述第二时间戳对应的第二数据更新为所述第一数据,将所述M个节点中所述第二时间戳对应的第二校验和更新为第一校验和,所述第一校验和为利用所述第一数据生成。2.根据权利要求1所述的方法,其特征在于,所述检测所述第一时间戳是否早于第二时间戳包括:检测所述第一时间戳是否早于预设内存区域的所述第二时间戳;或,将所述M个节点中的所述第二时间戳进行对比;若所述第二时间戳均相同,则检测所述第一时间戳是否早于第二时间戳。3.根据权利要求2所述的方法,其特征在于,在所述将所述M个节点中所述第二时间戳对应的第二校验和更新为第一校验和之前,所述方法还包括:若所述预设内存区域中存在所述第二校验和,则将所述第二校验和更新为所述第一校验和。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述M个节点中的所述第二时间戳更新为所述第一时间戳,将所述M个节点中所述第二时间戳对应的第二数据更新为所述第一数据,将所述M个节点中所述第二时间戳对应的第二校验和更新为第一校验和包括:将所述第一数据、所述第一时间戳、第一校验和按照预设格式进行处理,得到第三数据;将所述M个节点中的第四数据更新为所述第三数据,所述第四数据为将所述第二时间戳、所述第二数据、所述第二校验和按照所述预设格式进行处理得到;或,将所述第一数据、所述第一时间戳、第一校验和按照预设格式中的两种进行处理,得到第五数据;将所述M个节点中的第六数据更新为所述第五数据,将所述M个节点中所述第六数据对应的第七数据更新为所述第五数据对应的第八数据,所述第六数据为将所述第二时间戳、所述第二数据、所述第二校验和中的两种按照所述预设格式进行处理得到。5.一种验证方法,应用于分布式系统,所述分布式系统包括N个节点,所述N为正整数,其特征在于,包括:接收针对第一数据的读取请求;根据所述读取请求将M个节点中所述第一数据对应的时间戳进行对比,所述M不大于所述N的正整数;若所述时间戳中的至少两个不同,则确定所述M个节点中的至少一个节点存在异常。6.根据权利要求5所述的方法...

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

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

1