[发明专利]数据库冗余数据一致性检验方法有效
申请号: | 201010609540.1 | 申请日: | 2010-12-28 |
公开(公告)号: | CN102004799A | 公开(公告)日: | 2011-04-06 |
发明(设计)人: | 徐岩;何清法;蒋志勇;李阳;顾云苏;冯柯;谢卫平;孟勃荣;关刚;车晓瑶 | 申请(专利权)人: | 天津神舟通用数据技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王来佳 |
地址: | 300384 天津市南开区华苑产业*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 冗余 数据一致性 检验 方法 | ||
1.一种数据库冗余数据一致性检验方法,其特征在于:包括以下步骤:
步骤1:数据库主服务器接收到用户操作请求后,确认该操作请求所涉及的冗余数据分布情况,得到存储有相关冗余数据的备份服务器列表;
步骤2:数据库主服务器将用户操作请求发送至备份服务器列表中的各备份服务器;
步骤3:各备份服务器执行用户操作请求,得到操作结果;
步骤4:各备份服务器计算操作结果的语义校验码;
步骤5:各备份服务器将操作结果和相应的语义校验码发送到校验服务器;
步骤6:校验服务器接收到各备份服务器的操作结果和语义校验码后,对比各语义校验码是否一致,若一致则将操作结果发送给数据库主服务器,若不一致则向主服务器发送相应错误信息;
步骤7:数据库主服务器将接收到的操作结果或错误信息转发给用户。
2.根据权利要求1所述的数据库冗余数据一致性检验方法,其特征在于:所述步骤4计算操作结果的语义校验码包括以下步骤:
步骤1:初始化语义校验码为全0;
步骤2:遍历操作结果的每条元组,为该条元组生成元组校验码,然后将该元组校验码与当前语义校验码进行按位异或操作;
步骤3:对语义校验码进行调整,消除因元组内部属性顺序、主机字节序导致的校验码差异。
3.根据权利要求2所述的数据库冗余数据一致性检验方法,其特征在于:所述步骤2生成元组校验码的方法为:依次检查元组各属性并按照下述方式处理:
(1)若某个定长属性为空,则以全0填充,填充长度为该属性的长度;
(2)若某个变长属性长度小于等于N字节,则在其尾部以全0填充不足部分;
(3)若某个变长属性长度大于N字节,则将该属性分解为长度为N字节的多个子属性;若最后一个子属性不足N字节,则在其尾部以全0填充不足部分,然后将所有子属性进行按位异或操作,将该操作结果作为该属性在元组校验码中的值;
4.根据权利要求3所述的数据库冗余数据一致性检验方法,其特征在于:所述的元组校验码的长度是固定的,元组校验码的长度等于元组所有定长属性长度之和加上变长属性个数乘以N字节。
5.根据权利要求2所述的数据库冗余数据一致性检验方法,其特征在于:所述步骤3对语义校验码进行调整包括以下内容:
(1)调整元组内部属性顺序的过程为:按库名、模式名、表名、属性名进行组合排序,然后按排序结果调整校验码中各属性的位置;
(2)调整各定长属性的字节序为网络字节序;
(3)调整各定长属性的变长数组内部字节序为网络字节序:若变长属性为字节流类型的属性,则保持现有字节序不变,若变长属性为定长属性的数组类型,则将其按照定长属性长度分组,然后调整各组的字节序为网络字节序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津神舟通用数据技术有限公司,未经天津神舟通用数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010609540.1/1.html,转载请声明来源钻瓜专利网。