一种数据库无主键源端表的数据同步方法

文档序号:6437335阅读:937来源:国知局
专利名称:一种数据库无主键源端表的数据同步方法
技术领域
本发明涉及数据库领域,尤其涉及一种数据库无主键源端表的数据同步方法。
背景技术
数据库同步是将一组数据从数据源端同步到一个或多个目标端,使所有目标端的数据和源端的数据保持一致的技术,可以确保分布在不同地点的数据库中的数据自动同步更新,从而保证源端数据库和目标端数据库数据的一致性。但是当数据库的源端表在数据库同步时不含有主键的话,数据同步到目标端数据库中会带来种种问题,比如,如果表中有数量大于1条的完全相同的记录,由于列数据都相同,所以源端表更新或者删除了其中一条,目标端表将对哪一条数据更新或者删除不可知,这些问题将导致数据同步的失败和不可预知性的错误。

发明内容
本发明为克服现有技术中存在的不足之处,目的在于提供一种数据库无主键源端表的数据同步方法,当数据库的源端表在数据库同步时不含有主键的话,将会获取源端表中每一行数据的唯一性标识字符,进行从无主键源端表向目标端表的数据同步,解决了现有技术中存在的问题。本发明是通过以下技术方案达到上述目的一种数据库无主键源端表的数据同步方法,包括以下步骤1)分别在数据库无主键源端表和需要同步的数据库目标端表增加一标识字段;2)将源端表每条记录的标识字段中存入唯一性标识字符;3)将源端表的所有数据同步到目标端表;4)将同步到目标端表每条记录的标识字段中存入唯一性标识字符,通常是数据库本身默认存在的行标识字符;5)分别获取源端表和目标端表的唯一性标识字符;6)建立一个映射配置文件,将源端表和目标端表的唯一性标识字符通过同步的记录行--对应;7)当源端表发生数据操作时,通过映射配置文件的唯一性标识字符来定位目标端需要操作的数据记录并进行同步操作。作为优选,步骤4)所述的同步到目标端表每条记录的标识字段中存入的唯一性标识字符与源端表每条记录的标识字段中存入的唯一性标识字符可以完全相同,并一一对应。作为优选,所述唯一性标识字段是人为添加表示唯一性的列标识字符。作为优选,人为添加表示唯一性的列标识字符为时间毫秒数或UUID。本发明的有益效果本发明将采用数据库表的唯一性标识字符来进行辅助的数据同步传输,解决了现有源端数据库表无主键时候数据同步过程中,源端相同内容的行记录的进行了更新、删除操作,无法在目标端表定位,导致目标端同步失败的问题,加快数据同步的速度,简单易行,可适用于所有类型的数据库同步操作。
具体实施例方式下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此一种数据库无主键源端表的数据同步方法实现如下如下表所列数据库无主键源端表中有以下数据
AgeName32Zhangsan21Lisi32Zhangsan分别在数据库无主键源端表和需要同步的数据库目标端表增加一标识字段 Rowid ;将源端表每条记录的标识字段中存入唯一性标识字符,如下表所列;
AgeNameRowid32ZhangsanAAABc4AADAAAGLUAAA21LisiAAABc4AADAAAGLUAAB32ZhangsanAAABc4AADAAAGLUAAC将源端表的所有数据同步到目标端表,将同步到目标端表每条记录的标识字段中存入唯一性标识字符,目标端表的数据如下表
AgeNameRowid32ZhangsanAAAOODMJAAAAMYAAA21LisiAAAOODMJAAAAMYMB32ZhangsanAAAOODAAJAAAAMYMC分别获取源端表和目标端表的唯一性标识字符,建立一个映射配置文件,将源端表和目标端表的唯一性标识字符通过同步的记录行一一对应AAABc4AADAAAGLUAAA-------AAA00DAAJAAAAMYAAA
AAABc4AADAAAGLUAAB-------AAA00DAAJAAAAMYAABAAABc4AADAAAGLUAAC-------AAAOODAAJAAAAMYAAC当源端表发生数据操作时,通过映射配置文件的唯一性标识字符来定位目标端需要操作的数据记录并进行同步操作。如源端的第三条记录Age改为31,此时通过映射配置
文件记录的 Rowid 对应关系AAABc4AADAAAGLUAAC-------AAAOODAAJAAAAMYAAC,可知需将
目标端表的第三条记录也改为31。同步到目标端表每条记录的标识字段中存入的唯一性标识字符与源端表每条记录的标识字段中存入的唯一性标识字符可以完全相同,并一一对应,此时由于源端表和目标端表Rowid字段的唯一性标识字符完全相同,因此就不需要建立映射配置文件,此时就相当于目标端表在此基础上增加一个字段Rowid,用来存放源端表的唯一标识,并使之成为主键在应用。以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图
所涵盖的精神时,仍应属本发明的保护范围。
权利要求
1.一种数据库无主键源端表的数据同步方法,其特征在于包括以下步骤1)在数据库需要同步的数据库目标端表增加一标识字段;2)获取在数据库无主键源端表每一行的唯一性标识字段;3)将源端表的所有数据同步到目标端表;4)将源端表同步到目标端表每条记录的唯一性标识字段中存入目标端唯一性标识字符列;5)当源端表发生数据操作时,通过查询和唯一性标识字段相同的记录来定位目标端需要操作的数据记录并进行同步操作。
2.根据权利要求1所述的一种数据库无主键源端表的数据同步方法,其特征在于,步骤2)待同步数据完成后,建立一个文件,获取源端以及目标端行数据唯一性标识字段,将它们保存在文件中并建立一一映射的关系;步骤3)当源端表发生数据操作时,通过映射配置文件的唯一性标识字符来定位目标端需要操作的数据记录并进行同步操作。
3.根据权利要求1所述的一种数据库无主键源端表的数据同步方法,其特征在于,所述唯一性标识字段通常是数据库本身默认存在的行唯一性标识字符。
4.根据权利要求1所述的一种数据库无主键源端表的数据同步方法,其特征在于,所述唯一性标识字段是人为添加表示唯一性的列标识字符。
5.根据权利要求4所述的一种数据库无主键源端表的数据同步方法,其特征在于,人为添加表示唯一性的列标识字符为时间毫秒数或UUID。
全文摘要
本发明涉及数据库领域,尤其涉及一种数据库无主键源端表的数据同步方法,该方法采用数据库表的唯一性标识字符来进行辅助的数据同步传输,解决了现有源端数据库表无主键时候数据同步过程中,源端相同内容的行记录的进行了更新、删除操作,无法在目标端表定位,导致目标端同步失败的问题,加快数据同步的速度,简单易行,可适用于所有类型的数据库同步操作,解决了现有技术中存在的问题。
文档编号G06F17/30GK102375890SQ20111034227
公开日2012年3月14日 申请日期2011年11月2日 优先权日2011年11月2日
发明者周弘懿, 杨波 申请人:杭州合众信息工程有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1