The invention discloses a method for checking and verification based on the data, including the following steps: receiving a data read request, read the corresponding location data stored in D and verify the data, write in writing to the data D in which the verification data including at least data storage, the version number of the DV checksum C and checksum the version number CV; judgment data version number DV is equivalent to the checksum version number CV; if so, the current checksum C1 generates D data, or exit data validation; determine the current parity and C1 is equal to the stored checksum data is returned if C, D, or an error. The invention discloses a data verifying device based on check sum and a computer readable storage medium. The invention can effectively detect and avoid check and misjudge, improve the accuracy of using check and detection data error, and reduce the negative impact on the system.
【技术实现步骤摘要】
数据验证方法、装置及可读存储介质
本专利技术涉及数据验证
,尤其涉及一种基于校验和的数据验证方法、装置及计算机可读存储介质。
技术介绍
保持数据完整性是现代存储系统最重要的职责,因此有各种各样的技术被开发和应用来改进数据完整性保护,其中最常用的就是校验和方法。一般使用校验和对数据进行保护的时候,一旦数据出现非正常更改,那么在读取的时候重新计算的校验就不等于存储时计算的校验和,进而可判断数据是否存在存储错误。然而,现有技术中,在使用校验和来验证数据是否错误/损坏的过程中,校验和本身也会存在错误,而且在写入过程中因为数据与校验和的写入不同步,那么这时使用校验和去验证数据则会把正确的数据判定错误。比如分布式系统,有并发访问的特性,因而会因校验和还未写入而出现访问时读取新数据但用旧校验和来验证数据完整性,或因数据还未写入而出现访问时读取旧数据用新校验和来验证数据完整性进而出现错误判断。
技术实现思路
本专利技术的主要目的在于提供一种基于校验和的数据验证方法、装置及计算机可读存储介质,旨在解决如何避免使用校验和进行数据验证时存在误判的技术问题。为实现上述目的,本专利技术提 ...
【技术保护点】
一种基于校验和的数据验证方法,其特征在于,所述数据验证方法包括以下步骤:接收数据读取请求,读取对应位置存储的数据D以及在写入该数据D时写入的验证数据,其中,所述验证数据至少包括数据版本号DV、本次存储校验和C及校验和版本号CV;判断数据版本号DV是否等于校验和版本号CV;若是,则生成数据D的当前校验和C1,否则退出数据验证;判断当前校验和C1是否等于本次存储校验和C,若是,则返回数据D,否则报错。
【技术特征摘要】
1.一种基于校验和的数据验证方法,其特征在于,所述数据验证方法包括以下步骤:接收数据读取请求,读取对应位置存储的数据D以及在写入该数据D时写入的验证数据,其中,所述验证数据至少包括数据版本号DV、本次存储校验和C及校验和版本号CV;判断数据版本号DV是否等于校验和版本号CV;若是,则生成数据D的当前校验和C1,否则退出数据验证;判断当前校验和C1是否等于本次存储校验和C,若是,则返回数据D,否则报错。2.如权利要求1所述的数据验证方法,其特征在于,所述验证数据还包括上一次存储校验和C2,所述数据验证方法还包括:在当前校验和C1不等于本次存储校验和C时,判断本次存储校验和C是否等于上一次存储校验和C2;若是,则返回校验和更新未成功的信息,并退出数据验证,否则报错。3.如权利要求1或2所述的数据验证方法,其特征在于,所述接收数据读取请求的步骤之前,所述数据验证方法还包括:接收数据写入请求,生成待写入数据D的本次存储校验和C;判断数据D是否为首次写入;若是,则初始化版本号V,否则修改版本号V,并获取上一次写入数据D时生成的上一次存储校验和C2;将版本号V分别赋值给数据版本号DV与校验和版本号CV;写入数据D与验证数据;其中,若数据D为首次写入,则在写入数据D时还写入数据版本号DV、本次存储校验和C以及校验和版本号CV;若数据D为非首次写入,则在写入数据D时还写入数据版本号DV、本次存储校验和C、上一次存储校验和C2以及校验和版本号CV。4.如权利要求2所述的数据验证方法,其特征在于,所述数据验证方法还包括:在写入数据D与验证数据时,将数据D与数据版本号DV一同写入第一存储位置;将本次存储校验和C与校验和版本号CV或者本次存储校验和C、上一次存储校验和C2以及校验和版本号CV一同写入第二存储位置。5.一种基于校验和的数据验证装置,其特征在于,所述数据验证装置包括:存储有数据验证程序的存储器;处理器,配置为执行所述数据验证程序以执行下述操作:接收数据读...
【专利技术属性】
技术研发人员:赵辉宇,李诗逸,古亮,吴大立,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。