【技术实现步骤摘要】
检测数据一致性的方法、装置、电子设备及存储介质
本专利技术涉及对象存储
,特别是涉及检测数据一致性的方法、装置、电子设备及存储介质。
技术介绍
随着计算机技术的发展,网络中的数据量呈现井喷式的增长,传统文件存储系统由于无用元数据过多占用空间,文件读取涉及磁盘IO(Input/Output,输入/输出端口)瓶颈等原因,已经无法满足巨量数据的存储。对象存储能够在一个高度可用的系统中存储任意的对象,用户和应用可以在对象存储系统中使用简单的API(ApplicationProgrammingInterface,应用程序编程接口)访问数据,对象存储系统有着接近无限的扩展能力,适用于大量数据存储。常用的对象存储系统有GoogleFileSystem,Haystack,TaobaoFileSystem等。分布式对象存储通过在多个磁盘上存储多个副本来保证数据的安全,多个副本间的一致性模型是存储系统和数据使用者间约定的,包括:强一致性,弱一致性和最终一致性。强一致性指存储系统中的某个数据被成功更新(事务成功返回)后,后续任何对该数据的读取操作都能得到更新后的值。这也是传统的关系数据库所提供的一致性模型。所谓弱一致性是指存储系统中的某个数据被更新后,后续对该数据的读取操作得到的不一定是更新后的值,在这种情况下有个“不一致性时间窗口”存在,在过了这个“不一致性时间窗口”之后,后续的读取才能得到更新后的值。而最终一致性是弱一致性的一种情况,指的是某个数据更新后没有被再次更新,那么最终所有的读取操作都会返回更新后的数据。在现有的应用于分布式对象存储系统的检测数据一致性的方法中 ...
【技术保护点】
1.一种检测数据一致性的方法,其特征在于,应用于分布式对象存储系统,包括:获取待检测数据的所有副本,其中,所述副本包括数据主体及第一校验码,第一校验码为将所述副本写入所述分布式对象存储系统中时,所存储的验证码;分别根据每个副本的数据主体,通过预设算法,计算各副本的第二校验码;判断所有第一校验码及所有第二校验码是否均相同;在所有第一校验码及所有第二校验码均相同时,判定所述待检测数据的所有副本具备一致性。
【技术特征摘要】
1.一种检测数据一致性的方法,其特征在于,应用于分布式对象存储系统,包括:获取待检测数据的所有副本,其中,所述副本包括数据主体及第一校验码,第一校验码为将所述副本写入所述分布式对象存储系统中时,所存储的验证码;分别根据每个副本的数据主体,通过预设算法,计算各副本的第二校验码;判断所有第一校验码及所有第二校验码是否均相同;在所有第一校验码及所有第二校验码均相同时,判定所述待检测数据的所有副本具备一致性。2.根据权利要求1所述的方法,其特征在于,在所述获取待检测数据的所有副本之后,所述方法还包括:当存在缺失的副本时,对所述缺失的副本进行恢复。3.根据权利要求2所述的方法,其特征在于,在所述当存在缺失的副本时,对所述缺失的副本进行恢复之后,所述方法还包括:发送标识所述缺失的副本的告警信息。4.根据权利要求1所述的方法,其特征在于,在所述判断所有第一校验码及所有第二校验码是否均相同之后,所述方法还包括:在所有第一校验码及所有第二校验码不均相同时,比较所有第一校验码及所有第二校验码,确定正常数据及异常数据;利用所述正常数据,修复所述异常数据。5.根据权利要求1所述的方法,其特征在于,所述获取待检测数据的所有副本,包括:周期性的获取所述待检测数据的所有副本。6.根据权利要求1所述的方法,其特征在于,在所述获取待检测数据的所有副本之前,所述方法还包括:接收由数据写入端发送的待写入数据及校验码;利用所述预设算法对所述待写入数据进行计算,生成第三校验码;在由所述数据写入端发送的校验码与所述第三校验码相同时,写入所述待写入数据至所述分布式对象存储系统中,并将所述第三校验码写入到当前存储装置的Block结构的ObjectHeader中。7.根据权利要求6所述的方法,其特征在于,在所述在由所述数据写入端发送的校验码与所述第三校验码相同时,写入所述待写入数据至所述分布式对象存储系统中,并将所述第三校验码写入到当前存储装置的Block结构的ObjectHeader中之后,所述方法还包括:获取所述待写入数据及接收到的所述待写入数据的校验码,将接收到的所述待写入数据的校验码与所述数据写入端发送的校验码进行比较;在接收到的所述待写入数据的校验码与所述数据写入端发送的校验码相同时,保存所述待写入数据,并将接收到的所述待写入数据的校验码写入到当前存储装置的Block结构的ObjectHeader中。8.根据权利要求1所述的方法,其特征在于,在所述在所有第一校验码及所有第二校验码均相同时,判定所述待检测数据的所有副本具备一致性之后,所述方法还包括:获取由数据请求端发送的读取指令,根据所述读取指令选择待读取数据的第一副本,其中,所述第一副本为所述待读取数据的任意副本;利用所述预设算法,对所述第一副本的数据主体进行计算,生成第四校验码;在所述第四校验码与所述第一副本中保存的校验码相同时,向所述数据请求端发送所述第一副本。9.根据权利要求8所述的方法,其特征在于,在所述利用所述预设算法,对所述第一副本的数据主体进行计算,生成第四校验码之后,所述方法还包括:在所述第四校验码与所述第一副本中存储的校验码不同时,选取所述待读取数据的第二副本,其中,所述第二副本为所述待读取数据的除所述第一副本外的其他副本中的副本;利用所述预设算法,对所述第二副本的数据主体进行计算,生成第五校验码;在所述第五校验码与所述第二副本中保存的校验码相同时,向所述数据请求端发送所述第二副本;根据所述第二副本修复所述第一副本。10.一种检测数据一致性的装置,其特征在于,应用于分布式对象存储系统,包括:副本获取模块,用于获取待检测数据的所有副本,其中,所述副本包括数据主体及第一校验码,第一校验码为将所...
【专利技术属性】
技术研发人员:甘红星,
申请(专利权)人:北京金山云网络技术有限公司,北京金山云科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。