[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN102129478B - 数据库同步方法及系统 - Google Patents

数据库同步方法及系统 Download PDF

Info

Publication number
CN102129478B
CN102129478B CN201110105007A CN201110105007A CN102129478B CN 102129478 B CN102129478 B CN 102129478B CN 201110105007 A CN201110105007 A CN 201110105007A CN 201110105007 A CN201110105007 A CN 201110105007A CN 102129478 B CN102129478 B CN 102129478B
Authority
CN
China
Prior art keywords
database
data
target
affairs
change information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110105007A
Other languages
English (en)
Other versions
CN102129478A (zh
Inventor
陈宏明
温文全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
SNRISE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SNRISE Corp filed Critical SNRISE Corp
Priority to CN201110105007A priority Critical patent/CN102129478B/zh
Publication of CN102129478A publication Critical patent/CN102129478A/zh
Application granted granted Critical
Publication of CN102129478B publication Critical patent/CN102129478B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据同步技术领域,公开了一种数据库同步方法,该方法包括:实时捕捉源数据库中数据的变化信息及该数据变化对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中;根据中间数据库中保存的变化信息确定需要同步的目标数据库;将所述变化信息转换为对应所述目标数据库的目标数据;将对应同一事务的所有目标数据同时更新到所述目标数据库中。利用本发明,可以实现不同类型的数据库以及异构数据表之间的数据同步,降低同步过程对系统资源的消耗,保证同步过程的可靠性。

Description

数据库同步方法及系统
技术领域
本发明涉及数据同步技术领域,更具体地说,涉及一种数据库同步方法及系统。
背景技术
在企业生产运营过程中,往往拥有多个系统,而且这些系统之间需要相互配合,部分数据需要在这些系统间共享,因此需要使这些共享数据在不同系统间保持同步。
在现有技术中,由于不同系统的差异以及功能的不同,各系统中数据库的物理结构并非完全一致,为同步这些共享数据通常需要为每个系统编写同步程序。在数据同步过程中,由同步程序对源表数据进行转换,将转换后的数据与目标表中的数据进行比对,然后再对差异部分进行增量同步。这种同步方式由于丢失了最初入表时的事务信息,必须在同步过程中同步对应所有事务的差异部分的数据,否则无法保证事务的完整性。
这种同步方式不仅工作繁琐,而且如果同步数据较多会导致数据库事务过长,不仅会占用较多系统资源,而且有可能造成同步失败。
发明内容
本发明实施例针对现有技术中存在的上述问题,提供一种数据库同步方法及系统,实现不同类型的数据库以及异构数据表之间的数据同步,降低同步过程对系统资源的消耗,保证同步过程的可靠性。
为此,本发明实施例提供如下技术方案:
一种数据库同步方法,包括:
实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中;
根据中间数据库中保存的变化信息确定需要同步的目标数据库;
将所述变化信息转换为对应所述目标数据库的目标数据;
将对应同一事务的所有目标数据同时更新到所述目标数据库中。
优选地,所述实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中包括:
通过访问源数据库的标准接口获得对源数据库的操作信息;
根据所述操作信息生成对应源数据库中数据变化的SQL语句及事务序号;
将所述对应源数据库中数据变化的SQL语句及事务序号保存到中间数据库中。
优选地,所述根据中间数据库中保存的变化信息确定需要同步的目标数据库包括:
根据中间数据库中保存的SQL语句确定对源数据库操作的数据表;
根据配置文件查找使用所述数据表中数据的其他数据库;
将查找到的使用所述数据表中数据的其他数据库作为需要同步的目标数据库。
优选地,所述将所述变化信息转换为对应所述目标数据库的目标数据包括:
根据所述中间数据库中保存的SQL语句,得到对源数据库的操作信息;
根据所述目标数据库的类型及对应该目标数据库的转换规则,将得到的对源数据库的操作信息生成符合目标数据库语法的SQL语句。
优选地,如果需要同步的目标数据库有多个,则分别将对应同一事务的所有目标数据更新到每个目标数据库中。
一种数据库同步系统,包括:
捕捉单元,用于实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中;
目标数据库确定单元,用于根据中间数据库中保存的变化信息确定需要同步的目标数据库;
转换单元,用于将所述变化信息转换为对应所述目标数据库的目标数据;
同步管理单元,用于将对应同一事务的所有目标数据同时更新到所述目标数据库中。
优选地,所述捕捉单元包括:
操作信息获取子单元,用于通过访问源数据库的标准接口获得对源数据库的操作信息;
变化信息生成子单元,用于根据所述操作信息生成对应源数据库中数据变化的SQL语句及事务序号;
保存子单元,用于将所述对应源数据库中数据变化的SQL语句及事务序号保存到中间数据库中。
优选地,所述目标数据库确定单元包括:
数据表确定子单元,用于根据中间数据库中保存的SQL语句确定对源数据库操作的数据表;
查找子单元,用于根据配置文件查找使用所述数据表中数据的其他数据库,将查找到的使用所述数据表中数据的其他数据库作为需要同步的目标数据库。
优选地,所述转换单元包括:
操作信息获取子单元,用于根据所述中间数据库中保存的SQL语句,得到对源数据库的操作信息;
目标数据生成子单元,用于根据所述目标数据库的类型及对应该目标数据库的转换规则,将得到的对源数据库的操作信息生成符合目标数据库语法的SQL语句。
优选地,如果需要同步的目标数据库有多个,则所述同步管理单元分别将对应同一事务的所有目标数据更新到每个目标数据库中。
本发明实施例数据库同步方法及系统,通过实时捕捉源数据库中数据的变化信息及该数据变化对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中,将变化信息转换为对应目标数据库的目标数据,然后将对应同一事务的所有目标数据同时更新到所述目标数据库中。从而可以实现不同类型的数据库以及异构数据表之间的数据同步,而且,由于保存了事务信息,使得在一次数据同步过程中,只需将对应同一事务的所有目标数据同步到相应的目标数据库中,而无需在一次同步过程中同步对应所有事务的差异数据即可保证数据的一致性,因而大大降低成了同步过程对系统资源的消耗,保证了同步过程的可靠性。
附图说明
为了更清楚地说明本发明实施的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例数据库同步方法的流程图;
图2是本发明实施例数据库同步系统的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,是本发明实施例数据库同步方法的流程图,包括以下步骤:
步骤101,实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中。
在本发明实施例中,可以通过访问源数据库的标准接口获得对源数据库的操作信息,比如利用JDBC(Java Data Base Connectivity,Java数据库连接)提供的Java程序访问源数据库的标准接口来获得对源数据库的操作信息,当然,也可以采用其他能够访问数据库接口的程序,对此本发明实施例不做限定。然后,根据获得的对源数据库的操作信息生成对应源数据库中数据变化的SQL语句及事务序号,将这些信息保存到中间数据库中。也就是说,中间数据库中记录的内容可以是符合源数据库语法的SQL语句和事务序号。
需要说明的是,对源数据库的操作可以是数据表中信息的增加、修改、或删除等操作。
例如,通过JDBC的PreparedStatement接口更新数据,其中con表示一个活动连接:
con.setAutoCommit(false);//事务开始
PreparedStatement pstmt=con.prepareStatement("UPDATE EMPLOYEESSET SALARY=?WHERE ID=?");
pstmt.setBigDecimal(1,153833.00);
pstmt.setInt(2,110592);
con.commit();//事务提交
通过在JDBC层拦截,可以获得SQL语句:"UPDATE EMPLOYEESSET SALARY=?WHERE ID=?"、以及对应的两个参数153833.00和110592,根据参数类型(参数153833.00的类型为BigDecimal,参数110592的类型为Int),可以得到对应源数据库中数据变化的SQL语句:"UPDATEEMPLOYEES SET SALARY=153833.00 WHERE ID=110592",同时还要记录对应该SQL语句的事务序号,用于表示该SQL语句是在该事务内完成的。该事务序号可以按照多种方式来设定,比如可以按顺序编号,也可以是MD5、SHA等散列值或者UUID(Universally Unique Identifier,通用唯一识别码)等唯一标识算法对所述事务进行标识,只要保证不同事务的序号不会重复即可。
当然,本发明实施例并不限于基于JDBC来捕捉源数据库中数据的变化信息及该变化信息对应的事务,也可以采用其他方式来实现,比如,可以基于ODBC(Open Database Connectivity,开放式数据库互连)标准实现应用程序和关系数据库之间通信。
一个基于ODBC的应用程序对数据库进行操作时,用户直接将SQL(Structured Query Language,结构化查询语言)语句传送给ODBC,同时ODBC对数据库的操作也不依赖任何DBMS(Database Management System,数据库管理系统),不直接与DBMS打交道,它将所有的数据库操作由对应的DBMS的ODBC驱动程序完成,由对应DBMS的ODBC驱动程序对DBMS进行操作。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API(Application Programming Interface,应用程序编程接口)进行访问。同样,利用ODBC同样能够以统一的方式处理所有的关系数据库。
步骤102,根据中间数据库中保存的变化信息确定需要同步的目标数据库。
具体地,可以根据中间数据库中保存的SQL语句确定对源数据库操作的数据表,然后再根据配置文件查找使用所述数据表中数据的其他数据库,查找到的使用所述数据表中数据的其他数据库即为需要同步的目标数据库。
需要说明的是,上述查找到的目标数据库可以是一个或多个。
例如,上例中的SQL语句更新了EMPLOYEES表,根据配置文件可以知道哪几个目标数据库需要EMPLOYEES表的数据,从而确定需要同步哪几个目标数据库。
步骤103,将所述变化信息转换为对应所述目标数据库的目标数据。
具体地,可以对中间数据库中保存的SQL语句进行分析,得到对源数据库的操作信息,比如表名、字段、数据、调用的函数等等信息,然后再根据预先配置的目标数据库的类型、表名和字段等信息,以及对应该目标数据库的转换规则,将得到的对源数据库的操作信息转换生成符合目标数据库语法的SQL语句,根据需要,在转换过程中还可以进行简单的数据处理。
例如,源表中是符合informix语法的SQL语句:
insert into stat select userCount from table(multiset(select count(*)userCountfrom users))。
目标表是oracle类型的,则转换后的SQL语句为:
insert into stat select userCount from select count(*)userCount from users。
需要说明的是,需要同步的目标数据库可以有多个,在这种情况下,对应每个目标数据库有一相映射规则,不同目标数据库的映射规则可以相同,也可以不同。
步骤104,将对应同一事务的所有目标数据同时更新到所述目标数据库中。
需要说明的是,如果有多个需要同步的目标数据库,则需要分别将对应每个目标数据库的转换后的目标数据更新到相应的目标数据库中。
另外,对应同一事务,可能会有多种变化信息,比如在同一事务内删除了部分数据又新增了一些数据。由于在中间数据库中保存了每个变化信息对应的事务,因此,在进行数据库同步时,可以根据中间数据库中保存的事务信息,将对应同一事务的所有目标数据同时更新到所述目标数据库中。而且由于保存了事务信息,在数据同步过程中,不需要像现有技术那样,在一次同步过程中同步对应所有事务的差异数据即可保证数据的一致性。
由此可见,利用本发明实施例数据库同步方法,无需为每个系统编写一个同步程序,通过实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并利用中间数据库保存源数据库中数据的变化信息及对应的事务,从而在需要对目标数据库进行同步时,直接将所述变化信息转换为对应该目标数据库的目标数据,并将目标数据同步到该目标数据库中,实现不同类型的数据库以及异构数据表之间的数据同步。而且,由于保存了事务信息,使得在一次数据同步过程中,只需将对应同一事务的所有目标数据同步到相应的目标数据库中,而无需在一次同步过程中同步对应所有事务的差异数据即可保证数据的一致性,因而大大降低成了同步过程对系统资源的消耗,保证了同步过程的可靠性。
当然,本发明实施例数据库同步方法,同样也适用于相同类型数据库之间的数据同步。对于相同类型数据库之间的数据同步,还可以省略SQL语句的转换过程,直接将中间数据库中保存的SQL语句写到目标数据库中。
下面举例进一步详细说明本发明实施例数据库同步方法的具体实现过程。
假设源数据库的类型是informix,表名为test1,包含两个varchar字段;目标数据库的类型是oracle,表名为test2,包含一个自增长id和一个varchar。两个数据库表的结构分别如下:
test1informix
  列名   类型   备注
  User   Varchar(50)
  Pwd   Varchar(50)
test2oracle
对应上述目标数据库的转换规则配置如下:
Figure GDA00001765910800082
(1)假设对源数据库中test1表增加了一条记录,对应的SQL语句为:
Insert into test1 values(‘name’,’password’)。
捕捉到该SQL语句后,将该SQL语句和执行的事务编号存入中间数据库。然后,确定需要同步的目标数据库,即将上述增加的记录同步到目标数据库中test2表中。
根据上述转换规则将该源SQL语句转换为目标SQL语句,即:
Insert into test2 values(seq_test2_id.nextval,’CB825A05D743C50112BECEDE14B2C132’,’name’)。
其中,’CB825A05D743C50112BECEDE14B2C132’是‘namepassword’的md5值。
然后,根据事务编号控制每个事务需要同步的数据量,并在目标数据库中执行对应的转换后的目标SQL语句。
同步后的目标数据库test2表如下:
test2oracle
  id   User _pwd   user
  1   CB825A05D743C50112BECEDE14B2C132   name
(2)假设对源数据库中test1表修改了一条记录,对应的SQL语句为:
Update test1 set pwd=‘password2’where user=‘name’。
捕捉到该SQL语句后,将该SQL语句和执行的事务编号存入中间数据库。然后,确定需要同步的目标数据库,即将上述增加的记录同步到目标数据库中test2表中。
根据上述转换规则将该源SQL语句转换为目标SQL语句,即:
Update test2 set User_pwd=‘00AF2062DC5A58F23D0D70BAE6AA002F’where user=‘name’。
然后,根据事务编号控制每个事务需要同步的数据量,并在目标数据库中执行对应的转换后的目标SQL语句。
(3)假设对源数据库中test1表删除了一条记录,对应的SQL语句为:
Delete test1 where user=‘name’。
捕捉到该SQL语句后,将该SQL语句和执行的事务编号存入中间数据库。然后,确定需要同步的目标数据库,即将上述增加的记录同步到目标数据库中test2表中。
根据上述转换规则将该源SQL语句转换为目标SQL语句,即:
Delete test2 where user=‘name’。
需要说明的是,由于本发明方案中转换规则高度可配,因此,针对不同的目标数据库,只需要分别设置相应的转换规则即可实现在多个系统间同步数据,不需要为每个系统编写同步程序。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
相应地,本发明实施例还提供一种数据同步系统,如图2所示,是该系统的一种结构示意图。
在该实施例中,所述数据同步系统200包括:捕捉单元201、目标数据库确定单元202、转换单元203和同步管理单元204。其中:
捕捉单元201,用于实时捕捉源数据库31中数据的变化信息及该数据变化对应的事务,并将捕捉到的变化信息及事务保存到中间数据库30中。
目标数据库确定单元202,用于根据中间数据库30中保存的变化信息确定需要同步的目标数据库,需要同步的目标数据库可以是一个或多个,如图2所示,示出了两个需要同步的目标数据库,分别为目标数据库41和目标数据库42。
转换单元203,用于将所述变化信息转换为对应目标数据库的目标数据。
同步管理单元204,用于将对应同一事务的所有目标数据同时更新到所述目标数据库中。
在本发明实施例中,上述捕捉单元201可以通过访问源数据库的标准接口生成对应源数据库中数据变化的SQL语句及事务序号,并将这些信息保存到中间数据库30中。
捕捉单元201的一种具体实现结构包括:操作信息获取子单元、变化信息生成子单元和保存子单元。其中:
所述操作信息获取子单元用于通过访问源数据库31的标准接口获得对源数据库31的操作信息,比如利用JDBC提供的Java程序访问源数据库的标准接口,当然,也可以采用其他能够访问数据库接口的程序,对此本发明实施例不做限定。另外,对源数据库的操作可以是数据表中信息的增加、修改、或删除等操作。
所述变化信息生成子单元用于根据上述操作信息获取子单元获取的操作信息生成对应源数据库31中数据变化的SQL语句及事务序号。
所述保存子单元用于将上述对应源数据库中数据变化的SQL语句及事务序号保存到中间数据库30中。也就是说,中间数据库30中记录的内容可以是符合源数据库语法的SQL语句和事务序号。
在本发明实施例中,目标数据库确定单元202可以根据中间数据库30中保存的SQL语句确定对源数据库操作的数据表,然后再根据配置文件查找使用所述数据表中数据的其他数据库,查找到的使用所述数据表中数据的其他数据库即为需要同步的目标数据库。
目标数据库确定单元202的一种具体实现结构包括:数据表确定子单元和查找子单元。其中:
所述数据表确定子单元用于根据中间数据库30中保存的SQL语句确定对源数据库31操作的数据表;
所述查找子单元用于根据配置文件查找使用上述数据表中数据的其他数据库,将查找到的使用上述数据表中数据的其他数据库作为需要同步的目标数据库。需要说明的是,查找到的目标数据库可以是一个或多个,如图2中所示的目标数据库41和目标数据库42。
在本发明实施例中,转换单元203具体可以对中间数据库中保存的SQL语句进行分析,得到对源数据库的操作信息,比如表名、字段、数据、调用的函数等等信息,然后再根据预先配置的目标数据库的类型、表名和字段等信息,以及对应该目标数据库的转换规则,将得到的对源数据库的操作信息转换生成符合目标数据库语法的SQL语句,根据需要,在转换过程中还可以进行简单的数据处理。
转换单元203的一种具体实现结构包括:操作信息获取子单元和目标数据生成子单元。其中:
所述操作信息获取子单元用于根据所述中间数据库中保存的SQL语句,得到对源数据库的操作信息;
目标数据生成子单元,用于根据所述目标数据库的类型及对应该目标数据库的转换规则,将得到的对源数据库的操作信息生成符合目标数据库语法的SQL语句。
需要说明的是,对应每个目标数据库有一相映射规则,不同目标数据库的映射规则可以相同,也可以不同。如果需要同步的目标数据库有多个,则上述目标数据生成子单元需要将对源数据库的操作信息分别生成符合每个目标数据库语法的SQL语句。如图2所示,需要同步的目标数据库有两个,分别为:目标数据库41和目标数据库42,则上述目标数据生成子单元需要根据所述目标数据库41的类型及对应该目标数据库的转换规则,将对源数据库的操作信息生成符合目标数据库41语法的SQL语句,并且还需要根据所述目标数据库42的类型及对应该目标数据库的转换规则,将对源数据库的操作信息生成符合目标数据库42语法的SQL语句。
在需要同步的目标数据库有多个的情况下,上述同步管理单元204需要分别将对应同一事务的所有目标数据更新到每个目标数据库中,而且,在每个目标数据库进行同步时,需要将对应同一事务的所有目标数据同时更新到该目标数据库中。
利用本发明实施例数据库同步系统,可以实现不同类型的数据库以及异构数据表之间的数据同步,比如,源数据库类型为informix,目标数据库类型为oracle,当然也可以是其他类型的数据库或数据表。
同样,利用本发明实施例数据库同步系统,也可以实现相同类型数据库和数据表之间的数据同步。
本发明实施例数据库同步系统,由于在保存源数据库中数据的变化信息时保存了该变化信息对应的事务信息,使得在一次数据同步过程中,只需将对应同一事务的所有目标数据同步到相应的目标数据库中,而无需在一次同步过程中同步对应所有事务的差异数据即可保证数据的一致性,因而大大降低成了同步过程对系统资源的消耗,保证了同步过程的可靠性。
本说明书中的各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (8)

1.一种数据库同步方法,其特征在于,包括:
实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中;
根据中间数据库中保存的变化信息确定需要同步的目标数据库;
将所述变化信息转换为对应所述目标数据库的目标数据;
将对应同一事务的所有目标数据同时更新到所述目标数据库中;
其中,所述将所述变化信息转换为对应所述目标数据库的目标数据包括:
根据所述中间数据库中保存的SQL语句,得到对源数据库的操作信息;
根据所述目标数据库的类型及对应该目标数据库的转换规则,将得到的对源数据库的操作信息生成符合目标数据库语法的SQL语句。
2.如权利要求1所述的方法,其特征在于,所述实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中包括:
通过访问源数据库的标准接口获得对源数据库的操作信息;
根据所述操作信息生成对应源数据库中数据变化的SQL语句及事务序号;
将所述对应源数据库中数据变化的SQL语句及事务序号保存到中间数据库中。
3.如权利要求2所述的方法,其特征在于,所述根据中间数据库中保存的变化信息确定需要同步的目标数据库包括:
根据中间数据库中保存的SQL语句确定对源数据库操作的数据表;
根据配置文件查找使用所述数据表中数据的其他数据库;
将查找到的使用所述数据表中数据的其他数据库作为需要同步的目标数据库。
4.如权利要求1至3任一项所述的方法,其特征在于,
如果需要同步的目标数据库有多个,则分别将对应同一事务的所有目标数据更新到每个目标数据库中。
5.一种数据库同步系统,其特征在于,包括:
捕捉单元,用于实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中;
目标数据库确定单元,用于根据中间数据库中保存的变化信息确定需要同步的目标数据库;
转换单元,用于将所述变化信息转换为对应所述目标数据库的目标数据;
同步管理单元,用于将对应同一事务的所有目标数据同时更新到所述目标数据库中;
所述转换单元包括:
操作信息获取子单元,用于根据所述中间数据库中保存的SQL语句,得到对源数据库的操作信息;
目标数据生成子单元,用于根据所述目标数据库的类型及对应该目标数据库的转换规则,将得到的对源数据库的操作信息生成符合目标数据库语法的SQL语句。
6.如权利要求5所述的系统,其特征在于,所述捕捉单元包括:
操作信息获取子单元,用于通过访问源数据库的标准接口获得对源数据库的操作信息;
变化信息生成子单元,用于根据所述操作信息生成对应源数据库中数据变化的SQL语句及事务序号;
保存子单元,用于将所述对应源数据库中数据变化的SQL语句及事务序号保存到中间数据库中。
7.如权利要求6所述的系统,其特征在于,所述目标数据库确定单元包括:
数据表确定子单元,用于根据中间数据库中保存的SQL语句确定对源数据库操作的数据表;
查找子单元,用于根据配置文件查找使用所述数据表中数据的其他数据库,将查找到的使用所述数据表中数据的其他数据库作为需要同步的目标数据库。
8.如权利要求5至7任一项所述的系统,其特征在于,
如果需要同步的目标数据库有多个,则所述同步管理单元分别将对应同一事务的所有目标数据更新到每个目标数据库中。
CN201110105007A 2011-04-26 2011-04-26 数据库同步方法及系统 Expired - Fee Related CN102129478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110105007A CN102129478B (zh) 2011-04-26 2011-04-26 数据库同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110105007A CN102129478B (zh) 2011-04-26 2011-04-26 数据库同步方法及系统

Publications (2)

Publication Number Publication Date
CN102129478A CN102129478A (zh) 2011-07-20
CN102129478B true CN102129478B (zh) 2012-10-03

Family

ID=44267560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110105007A Expired - Fee Related CN102129478B (zh) 2011-04-26 2011-04-26 数据库同步方法及系统

Country Status (1)

Country Link
CN (1) CN102129478B (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262662A (zh) * 2011-07-22 2011-11-30 浪潮(北京)电子信息产业有限公司 实现异构平台下数据库数据迁移的系统、装置及方法
CN102955831B (zh) * 2011-08-31 2017-02-22 比亚迪股份有限公司 一种不同缺陷管理工具间的数据同步装置及方法
CN102508835B (zh) * 2011-09-22 2015-04-15 用友软件股份有限公司 基于日志管理包的增量数据实时同步装置和方法
CN102314517A (zh) * 2011-09-25 2012-01-11 国网电力科学研究院 一种水调历史数据库在线同步技术
CN102945236A (zh) * 2011-11-29 2013-02-27 Ut斯达康通讯有限公司 一种通过事件触发同步不同数据库的方法
CN102542007B (zh) * 2011-12-13 2014-06-25 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统
US9396220B2 (en) * 2014-03-10 2016-07-19 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
CN103020112A (zh) * 2012-11-06 2013-04-03 深圳中兴网信科技有限公司 异构数据库同步系统和异构数据库同步方法
CN102982171A (zh) * 2012-12-17 2013-03-20 山东神思电子技术股份有限公司 一种数据库同步方法
CN103281383B (zh) * 2013-05-31 2016-03-23 重庆大学 一种面向分布式数据源的时序信息记录方法
CN104572672B (zh) * 2013-10-15 2018-10-02 北大方正集团有限公司 异构数据库的同步方法和应用系统
CN103699580B (zh) * 2013-12-03 2016-08-24 中国铁路总公司 数据库同步方法及装置
CN103685543A (zh) * 2013-12-23 2014-03-26 中国电子科技集团公司第三十研究所 一种异构数据库间的数据同步方法及系统
CN104750729B (zh) * 2013-12-30 2018-08-28 中国移动通信集团公司 一种基于日志文件的数据管理方法及数据管理系统
CN103810563A (zh) * 2013-12-31 2014-05-21 国家电网公司 一种基于rfid的电力资产全寿命周期管理系统
CN103914526B (zh) * 2014-03-27 2017-06-16 神华集团有限责任公司 一种用于sap erp系统与oracle erp系统的接口方法和装置
US20160078085A1 (en) * 2014-09-17 2016-03-17 Futurewei Technologies, Inc. Method and system for adaptively building and updating a column store database from a row store database based on query demands
CN105447054A (zh) * 2014-09-25 2016-03-30 中兴通讯股份有限公司 一种数据库的数据同步方法、装置及系统
CN104866551A (zh) * 2015-05-13 2015-08-26 上海钢富电子商务有限公司 异构数据源实时同步系统及方法
CN105183860B (zh) * 2015-09-10 2018-10-19 北京京东尚科信息技术有限公司 数据同步方法和系统
CN105955970A (zh) * 2015-11-12 2016-09-21 中国银联股份有限公司 一种基于日志解析的数据库复制方法及装置
CN105279285B (zh) * 2015-11-23 2018-07-24 上海斐讯数据通信技术有限公司 一种关系型数据库与非关系型数据库的同步系统及方法
CN106844288B (zh) * 2015-12-07 2022-03-22 创新先进技术有限公司 一种随机字符串生成方法及装置
CN105404701B (zh) * 2015-12-31 2018-11-13 浙江图讯科技股份有限公司 一种基于对等网络的异构数据库同步方法
CN107123178B (zh) * 2016-01-22 2019-12-31 安朗杰安防技术(中国)有限公司 门禁管理系统
CN106446050A (zh) * 2016-08-31 2017-02-22 北京云纵信息技术有限公司 一种针对数据库的变化数据进行订阅的方法及系统
CN106776754B (zh) * 2016-11-14 2020-05-15 东软集团股份有限公司 数据采集方法、装置及系统
CN108073653A (zh) * 2016-11-16 2018-05-25 蓝盾信息安全技术有限公司 基于数据流分析实现单向光闸的异构数据库同步方法
CN108205560B (zh) * 2016-12-19 2021-12-14 腾讯科技(深圳)有限公司 一种数据同步方法以及装置
CN108241676B (zh) * 2016-12-26 2022-09-02 阿里云计算有限公司 实现数据同步的方法及设备
CN106649756A (zh) * 2016-12-26 2017-05-10 北京奇虎科技有限公司 日志同步方法及装置
CN106709064B (zh) * 2017-01-17 2020-07-31 Oppo广东移动通信有限公司 一种数据处理方法、装置及服务器
CN107203642A (zh) * 2017-06-19 2017-09-26 山东浪潮通软信息科技有限公司 一种数据同步方法和装置
CN107391635A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据同步系统及方法
CN108228814B (zh) * 2017-12-29 2022-02-15 泰康保险集团股份有限公司 数据同步方法及装置
CN108052681B (zh) * 2018-01-12 2020-05-26 毛彬 一种关系型数据库间结构化数据的同步方法及系统
CN108334614B (zh) * 2018-02-07 2020-11-24 中国平安人寿保险股份有限公司 一种数据更新方法、系统及存储介质
CN108897794B (zh) * 2018-06-12 2020-11-27 东软集团股份有限公司 无主键数据表的同步方法、装置、存储介质和电子设备
CN108900497B (zh) * 2018-06-25 2021-11-02 江苏欧软信息科技有限公司 一种异构系统间的数据同步方法及系统
CN108984743B (zh) * 2018-07-16 2021-04-13 广州天高软件科技有限公司 基于境内外数据中心实现跨境数据同步的方法
CN109032953B (zh) * 2018-08-13 2022-03-15 福建联迪商用设备有限公司 一种中间库测试方法及终端
CN109634975B (zh) * 2018-12-10 2022-02-25 拉扎斯网络科技(上海)有限公司 数据同步方法及装置、电子设备及计算机可读存储介质
CN112749157A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 数据表的处理方法、装置、存储介质和设备
CN112749163B (zh) * 2020-12-30 2023-08-01 浪潮通用软件有限公司 一种数据传输方法及设备、介质
CN113590588A (zh) * 2021-07-30 2021-11-02 广州新丝路信息科技有限公司 一种异构数据库增量数据实时迁移方法和相关设备
CN113590719B (zh) * 2021-09-27 2022-03-22 北京奇虎科技有限公司 数据同步方法、装置、设备及存储介质
CN113590643B (zh) * 2021-09-28 2022-03-18 太平金融科技服务(上海)有限公司深圳分公司 基于双轨数据库的数据同步方法、装置、设备和存储介质
CN115391457B (zh) * 2022-08-23 2023-09-12 昆仑数智科技有限责任公司 跨数据库的数据同步方法、装置及存储介质
CN116578651B (zh) * 2023-07-12 2023-11-17 北京集度科技有限公司 数据表结构同步方法、系统及设备
CN117540151B (zh) * 2023-12-08 2024-06-28 深圳市亲邻科技有限公司 一种数据推送系统的数据预处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1438591A (zh) * 2002-02-10 2003-08-27 华为技术有限公司 智能报表的实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689638B2 (en) * 2002-11-28 2010-03-30 Nokia Corporation Method and device for determining and outputting the similarity between two data strings

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1438591A (zh) * 2002-02-10 2003-08-27 华为技术有限公司 智能报表的实现方法

Also Published As

Publication number Publication date
CN102129478A (zh) 2011-07-20

Similar Documents

Publication Publication Date Title
CN102129478B (zh) 数据库同步方法及系统
US11354314B2 (en) Method for connecting a relational data store's meta data with hadoop
US8700560B2 (en) Populating a multi-relational enterprise social network with disparate source data
CN106649378B (zh) 一种数据同步方法及装置
US6983293B2 (en) Mid-tier-based conflict resolution method and system usable for message synchronization and replication
US6493720B1 (en) Method and system for synchronization of metadata in an information catalog
CN111459985B (zh) 标识信息处理方法及装置
CN101031907B (zh) 索引处理
CN110879813A (zh) 一种基于二进制日志解析的MySQL数据库增量同步实现方法
WO2018178641A1 (en) Data replication system
CN101464895A (zh) 一种更新内存数据的方法、系统和装置
CN111563130A (zh) 一种基于区块链技术的数据可信数据治理方法和系统
KR20190063835A (ko) 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템
CN106503158A (zh) 数据同步方法及装置
CN102779138A (zh) 实时数据的硬盘存取方法
US20090132607A1 (en) Techniques for log file processing
CN113920410A (zh) 基于多数据融合分析实现人像聚类的方法
CN109634975B (zh) 数据同步方法及装置、电子设备及计算机可读存储介质
US20200167485A1 (en) Systems and methods for data usage monitoring in multi-tenancy enabled hadoop clusters
CN109542913B (zh) 一种复杂环境下的网络资产安全管理方法
CN110704442A (zh) 一种大数据的实时获取方法及装置
CN110222121A (zh) 一种基于CDC方式的SQL Server数据库增量同步实现方法及系统
CN105426481A (zh) 处理数据的方法及装置
CN111694853A (zh) 基于世系的数据增量采集方法、装置、存储介质和电子设备
CN110209534B (zh) 自动备份mysql数据库的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: CONGXING TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SNRISE CORPORATION

CP03 Change of name, title or address

Address after: 510070 one of the 83 best and 507 self compiled works in martyrs Middle Road, Yuexiu District, Guangdong, Guangzhou four, 508

Patentee after: Sunrise Technology Co., Ltd.

Address before: 19, building 368, 510300 South Guangzhou Avenue, Guangdong, Guangzhou

Patentee before: Snrise Corporation

ASS Succession or assignment of patent right

Owner name: HONGKONG SHIYE DEVELOPMENT CO., LTD.

Free format text: FORMER OWNER: CONGXING TECHNOLOGY CO., LTD.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: Room 32, building 3205, Bank of America, 12 Cecil Harcourt Road, central, Hongkong, China

Patentee after: Hongkong world industry development Co., Ltd.

Address before: 510070 one of the 83 best and 507 self compiled works in martyrs Middle Road, Yuexiu District, Guangdong, Guangzhou four, 508

Patentee before: Sunrise Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: TELEFON AB L.M. ERICSSON (SE)

Free format text: FORMER OWNER: HONGKONG SHIYE DEVELOPMENT CO., LTD.

Effective date: 20150909

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150909

Address after: Stockholm

Patentee after: Telefon AB L.M. Ericsson [SE]

Address before: Room 32, building 3205, Bank of America, 12 Cecil Harcourt Road, central, Hongkong, China

Patentee before: Hongkong world industry development Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121003

Termination date: 20170426