CN103020112A - 异构数据库同步***和异构数据库同步方法 - Google Patents
异构数据库同步***和异构数据库同步方法 Download PDFInfo
- Publication number
- CN103020112A CN103020112A CN2012104375750A CN201210437575A CN103020112A CN 103020112 A CN103020112 A CN 103020112A CN 2012104375750 A CN2012104375750 A CN 2012104375750A CN 201210437575 A CN201210437575 A CN 201210437575A CN 103020112 A CN103020112 A CN 103020112A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- sql statement
- converted
- heterogeneous database
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种异构数据库同步***,包括:监控模块,监控第一数据库中变更数据表的变化;转换模块,在所述变更数据表变化时,将所述变更数据表转换为SQL语句;执行模块,将所述SQL语句输入到第二数据库,以执行所述SQL语句。相应地,本发明还提供了一种异构数据库同步方法。通过本发明的技术方案,根据数据库中数据变更表的变化,可以得到造成数据变化的SQL语句,输入到另一数据库即可实现异构数据库之间数据的同步。
Description
技术领域
本发明涉及数据库处理领域,具体而言,涉及一种异构数据库同步***和异构数据库同步方法。
背景技术
当前互联网发展一日千里,使用者数量越来越多,大型网络应用压力越来越大,单机的处理能力有限,总会有一个最高值,分布式的环境在所难免。
由于***是不断扩容的,建设于不同的时期,很可能会出现异构的数据库,异构的数据库之间不可能不数据共享,否则将会出现“信息孤岛”。为此,如何灵活、有效、经济地处理这些异构数据库信息共享,数据同步的问题,成为一个颇受关注的研究方向。
因此,需要一种新的异构数据库同步技术,从而实现异构数据库之间的实时同步。
发明内容
本发明所要解决的技术问题在于,提供一种新的异构数据库同步技术,从而实现异构数据库之间的实时同步。
有鉴于此,本发明提供一种异构数据库同步***,包括:监控模块,监控第一数据库中变更数据表的变化;转换模块,在所述变更数据表变化时,将所述变更数据表转换为SQL(结构化查询语言)语句;执行模块,将所述SQL语句输入到第二数据库,以执行所述SQL语句。应用本技术方案,根据数据库中数据变更表的变化,可以得到造成数据变化的SQL语句,输入到另一数据库即可实现异构数据库之间数据的同步。
在上述技术方案中,优选地,所述转换模块包括:第一子转换模块,将所述变更数据表转换为特定格式的文本;第二子转换模块,按所述特定格式,将所述文本转换为所述SQL语句。在该技术方案中,特定格式的文本要适用于不同的计算机,因此应该是较为通用的文本格式,从而确保不同的计算机都可以对其进行解析,从而可以将其转换为SQL语句,实现数据的同步。
在上述技术方案中,优选地,所述特定格式包括XML格式。在该技术方案中,XML(eXtensible Markup Language,扩展标记语言)是国际标准组织所制定的一组规范,它提供了一种用于文本格式描述数据的方法,可以使用标记、属性等选项来描述数据内容,它作为一种公用的语言,方便了不同的计算机之间进行相互的信息交流。
在上述技术方案中,优选地,所述第二子转换模块汇总多个所述文本,并转换为所述SQL语句。在该技术方案中,在数据库中,汇总多个XML格式的文本,可以集中转换为SQL语句,避免频繁操作,提高SQL语句的转换效率,从而实现数据间的同步。
在上述技术方案中,优选地,所述监控模块设置触发器,以监控所述变更数据表的变化。在该技术方案中,使用触发器对变更数据表的变化进行监控,它能实时捕捉数据库的变化数据,效率很高,而且是数据库原生支持,开发的工作量不大,实现简单。
根据本发明的又一方面,还提供了一种异构数据库同步方法,包括:步骤202,监控第一数据库中变更数据表的变化;步骤204,在所述变更数据表变化时,将所述变更数据表转换为SQL语句;步骤206,将所述SQL语句输入到第二数据库,以执行所述SQL语句。应用本技术方案,根据数据库中数据变更表的变化,可以得到造成数据变化的SQL语句,输入到另一数据库即可实现异构数据库之间数据的同步。
在上述技术方案中,优选地,所述步骤204包括:将所述变更数据表转换为特定格式的文本;按所述特定格式,将所述文本转换为所述SQL语句。在该技术方案中,特定格式的文本要适用于不同的计算机,因此应该是较为通用的文本格式,从而确保不同的计算机都可以对其进行解析,从而可以将其转换为SQL语句,实现数据的同步。
在上述技术方案中,优选地,所述特定格式包括XML格式。在该技术方案中,XML是国际标准组织所制定的一组规范,它提供了一种用于文本格式描述数据的方法,可以使用标记、属性等选项来描述数据内容,它作为一种公用的语言,方便了不同的计算机之间进行相互的信息交流。
在上述技术方案中,优选地,所述步骤204包括:汇总多个所述文本,并转换为所述SQL语句。在该技术方案中,在数据库中,汇总多个XML格式的文本,可以集中转换为SQL语句,避免频繁操作,提高SQL语句的转换效率,从而实现数据间的同步。
在上述技术方案中,优选地,所述步骤202包括:设置触发器,以监控所述变更数据表的变化。在该技术方案中,使用触发器对变更数据表的变化进行监控,它能实时捕捉数据库的变化数据,效率很高,而且是数据库原生支持,开发的工作量不大,实现简单。
通过以上技术方案,可以实现一种异构数据库同步***和一种异构数据库同步方法,从而实现异构数据库之间的实时同步。
附图说明
图1示出了根据本发明的实施例的异构数据库同步***的框图;
图2示出了根据本发明的实施例的异构数据库同步方法的流程图;
图3示出了根据本发明的实施例的异构数据库同步方法的具体流程图;
图4示出了根据本发明的实施例的数据库触发器的流程图;
图5示出了根据本发明的实施例的XML规范的结构图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的异构数据库同步***的框图。
如图1所示,根据本发明的实施例的异构数据库同步***100包括:监控模块102,监控第一数据库中变更数据表的变化;转换模块104,在所述变更数据表变化时,将所述变更数据表转换为SQL语句;执行模块106,将所述SQL语句输入到第二数据库,以执行所述SQL语句。应用本技术方案,根据数据库中数据变更表的变化,可以得到造成数据变化的SQL语句,输入到另一数据库即可实现异构数据库之间数据的同步。
在上述技术方案中,优选地,所述转换模块104包括:第一子转换模块1042,将所述变更数据表转换为特定格式的文本;第二子转换模块1044,按所述特定格式,将所述文本转换为所述SQL语句。在该技术方案中,特定格式的文本要适用于不同的计算机,因此应该是较为通用的文本格式,从而确保不同的计算机都可以对其进行解析,从而可以将其转换为SQL语句,实现数据的同步。
在上述技术方案中,优选地,所述特定格式包括XML格式。在该技术方案中,XML是国际标准组织所制定的一组规范,它提供了一种用于文本格式描述数据的方法,可以使用标记、属性等选项来描述数据内容,它作为一种公用的语言,方便了不同的计算机之间进行相互的信息交流。
在上述技术方案中,优选地,所述第二子转换模块1044汇总多个所述文本,并转换为所述SQL语句。在该技术方案中,在数据库中,汇总多个XML格式的文本,可以集中转换为SQL语句,避免频繁操作,提高SQL语句的转换效率,从而实现数据间的同步。
在上述技术方案中,优选地,所述监控模块102设置触发器,以监控所述变更数据表的变化。在该技术方案中,使用触发器对变更数据表的变化进行监控,它能实时捕捉数据库的变化数据,效率很高,而且是数据库原生支持,开发的工作量不大,实现简单。
图2示出了根据本发明的实施例的异构数据库同步方法的流程图。
如图2所示,根据本发明的实施例的异构数据库同步方法,包括:步骤202,监控第一数据库中变更数据表的变化;步骤204,在所述变更数据表变化时,将所述变更数据表转换为SQL语句;步骤206,将所述SQL语句输入到第二数据库,以执行所述SQL语句。应用本技术方案,根据数据库中数据变更表的变化,可以得到造成数据变化的SQL语句,输入到另一数据库即可实现异构数据库之间数据的同步。
在上述技术方案中,优选地,所述步骤204包括:将所述变更数据表转换为特定格式的文本;按所述特定格式,将所述文本转换为所述SQL语句。在该技术方案中,特定格式的文本要适用于不同的计算机,因此应该是较为通用的文本格式,从而确保不同的计算机都可以对其进行解析,从而可以将其转换为SQL语句,实现数据的同步。
在上述技术方案中,优选地,所述特定格式包括XML格式。在该技术方案中,XML是国际标准组织所制定的一组规范,它提供了一种用于文本格式描述数据的方法,可以使用标记、属性等选项来描述数据内容,它作为一种公用的语言,方便了不同的计算机之间进行相互的信息交流。
在上述技术方案中,优选地,所述步骤204包括:汇总多个所述文本,并转换为所述SQL语句。在该技术方案中,在数据库中,汇总多个XML格式的文本,可以集中转换为SQL语句,避免频繁操作,提高SQL语句的转换效率,从而实现数据间的同步。
在上述技术方案中,优选地,所述步骤202包括:设置触发器,以监控所述变更数据表的变化。在该技术方案中,使用触发器对变更数据表的变化进行监控,它能实时捕捉数据库的变化数据,效率很高,而且是数据库原生支持,开发的工作量不大,实现简单。
图3示出了根据本发明的实施例的异构数据库同步方法的具体流程图。
下面以SQL Server(一种数据库,提供存储过程方式来建立远程数据库连接)数据库与Oracle(一种数据库,提供DBLink方式建立远程数据库连接)数据库之间的数据同步为例,详细说明异构数据库同步方法的具体流程:
步骤302,利用JDBC(java数据库连接)连接方式与SQL Server数据库建立连接。连接成功时,进入步骤304;连接失败时,返回失败原因。
步骤304,SQL Server数据库利用触发器实时监控变更数据表的变化。其中,利用触发器能实时捕捉数据库的变化数据,效率高,而且是数据库原生支持,开发的工作量不大,实现起来很简单。
步骤306,当变更数据表有变化时,将其利用DOM方式转换成XML文档。XML是国际标准组织所制定的一组规范,它提供了一种用于文本格式描述数据的方法,可以使用标记、属性等选项来描述数据内容,作为一种公用的语言,方便于不同的计算机之间进行相互的信息交流。
步骤308,解析XML文档,将其转换为SQL语句。
步骤310,在Oracle数据库执行,实现数据的同步。
步骤312,返回同步成功状态或失败状态及原因。
图4示出了根据本发明的实施例的数据库触发器的流程图,
如图4所示,根据本发明的实施例的数据库触发器的具体流程如下:
数据库404接收到DML(数据操纵语言)命令402,从而使数据库发生变化,数据库的变化会触发触发器408,导致变更数据表410发生变化,此为数据库原生支持,不需额外开发。
图5示出了根据本发明的实施例的XML规范的结构图。
生成的XML文件需符合XML规范,如图5所示,XML规范包括:XML描述,XML解析,XML样式,XML链接。其中XML描述包括:Schema(用于描述和规范XML文档的逻辑结构),DTD(DocumentType Definition,文档类型定义)。XML解析包括:DOM(DocumentObject Model,文档对象模型),SAX(Simple API for XML,简单的应用程序接口文档)。XML样式包括:CSS(Cascading Style Sheet,风格样式表),XSL(eXtensible Stylesheet Language,可扩展样式表语言)。XML链接包括:XPoint,XLink,XPath。
以上简要介绍了XML规范,符合XML规范的文档,便于不同***对其进行解析并进一步得到相应的SQL语句。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以实现一种异构数据库同步***和一种异构数据库同步方法,实现异构数据库之间的同步
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种异构数据库同步***,其特征在于,包括:
监控模块,监控第一数据库中变更数据表的变化;
转换模块,在所述变更数据表变化时,将所述变更数据表转换为SQL语句;
执行模块,将所述SQL语句输入到第二数据库,以执行所述SQL语句。
2.根据权利要求1所述的异构数据库同步***,其特征在于,所述转换模块包括:
第一子转换模块,将所述变更数据表转换为特定格式的文本;
第二子转换模块,按所述特定格式,将所述文本转换为所述SQL语句。
3.根据权利要求2所述的异构数据库同步***,其特征在于,所述特定格式包括XML格式。
4.根据权利要求2所述的异构数据库同步***,其特征在于,所述第二子转换模块汇总多个所述文本,并转换为所述SQL语句。
5.根据权利要求1至4任一项所述的异构数据库同步***,其特征在于,所述监控模块设置触发器,以监控所述变更数据表的变化。
6.一种异构数据库同步方法,其特征在于,包括:
步骤202,监控第一数据库中变更数据表的变化;
步骤204,在所述变更数据表变化时,将所述变更数据表转换为SQL语句;
步骤206,将所述SQL语句输入到第二数据库,以执行所述SQL语句。
7.根据权利要求6所述的异构数据库同步方法,其特征在于,所述步骤204包括:
将所述变更数据表转换为特定格式的文本;
按所述特定格式,将所述文本转换为所述SQL语句。
8.根据权利要求7所述的异构数据库同步方法,其特征在于,所述特定格式包括XML格式。
9.根据权利要求7所述的异构数据库同步方法,其特征在于,所述步骤204包括:
汇总多个所述文本,并转换为所述SQL语句。
10.根据权利要求6至9中任一项所述的异构数据库同步方法,其特征在于,所述步骤202包括:
设置触发器,以监控所述变更数据表的变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104375750A CN103020112A (zh) | 2012-11-06 | 2012-11-06 | 异构数据库同步***和异构数据库同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104375750A CN103020112A (zh) | 2012-11-06 | 2012-11-06 | 异构数据库同步***和异构数据库同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103020112A true CN103020112A (zh) | 2013-04-03 |
Family
ID=47968716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104375750A Pending CN103020112A (zh) | 2012-11-06 | 2012-11-06 | 异构数据库同步***和异构数据库同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020112A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685543A (zh) * | 2013-12-23 | 2014-03-26 | 中国电子科技集团公司第三十研究所 | 一种异构数据库间的数据同步方法及*** |
CN103984715A (zh) * | 2014-05-08 | 2014-08-13 | 武汉库百网络技术有限公司 | 一种异构数据库的数据同步、校验方法、装置及*** |
CN104598531A (zh) * | 2014-12-25 | 2015-05-06 | 广东电子工业研究院有限公司 | 一种基于触发器的异构关系型数据库间增量数据迁移方法 |
CN105824865A (zh) * | 2015-12-09 | 2016-08-03 | 广东亿迅科技有限公司 | 一种分布式数据库间数据同步*** |
CN108108431A (zh) * | 2017-12-19 | 2018-06-01 | 中国民航信息网络股份有限公司 | 数据同步方法和*** |
CN108228814A (zh) * | 2017-12-29 | 2018-06-29 | 泰康保险集团股份有限公司 | 数据同步方法及装置 |
CN108334621A (zh) * | 2018-02-08 | 2018-07-27 | 平安科技(深圳)有限公司 | 数据库操作方法、装置、设备及计算机可读存储介质 |
CN110727693A (zh) * | 2018-07-16 | 2020-01-24 | 中兴通讯股份有限公司 | 访问异构数据库的方法、装置、设备、插件及存储介质 |
CN115391457A (zh) * | 2022-08-23 | 2022-11-25 | 昆仑数智科技有限责任公司 | 跨数据库的数据同步方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615199A (zh) * | 2009-07-31 | 2009-12-30 | 深圳市珍爱网信息技术有限公司 | 异构数据库同步方法及*** |
CN102063502A (zh) * | 2011-01-06 | 2011-05-18 | 天津神舟通用数据技术有限公司 | 实现异构数据库数据同步的方法 |
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及*** |
CN102567330A (zh) * | 2010-12-15 | 2012-07-11 | 上海杉达学院 | 异构数据库集成*** |
CN102567333A (zh) * | 2010-12-15 | 2012-07-11 | 上海杉达学院 | 分布式异构数据整合*** |
-
2012
- 2012-11-06 CN CN2012104375750A patent/CN103020112A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615199A (zh) * | 2009-07-31 | 2009-12-30 | 深圳市珍爱网信息技术有限公司 | 异构数据库同步方法及*** |
CN102567330A (zh) * | 2010-12-15 | 2012-07-11 | 上海杉达学院 | 异构数据库集成*** |
CN102567333A (zh) * | 2010-12-15 | 2012-07-11 | 上海杉达学院 | 分布式异构数据整合*** |
CN102063502A (zh) * | 2011-01-06 | 2011-05-18 | 天津神舟通用数据技术有限公司 | 实现异构数据库数据同步的方法 |
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及*** |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685543A (zh) * | 2013-12-23 | 2014-03-26 | 中国电子科技集团公司第三十研究所 | 一种异构数据库间的数据同步方法及*** |
CN103984715A (zh) * | 2014-05-08 | 2014-08-13 | 武汉库百网络技术有限公司 | 一种异构数据库的数据同步、校验方法、装置及*** |
CN103984715B (zh) * | 2014-05-08 | 2017-04-12 | 武汉库百网络技术有限公司 | 一种异构数据库的数据同步、校验方法、装置及*** |
CN104598531B (zh) * | 2014-12-25 | 2019-05-07 | 广东电子工业研究院有限公司 | 一种基于触发器的异构关系型数据库间增量数据迁移方法 |
CN104598531A (zh) * | 2014-12-25 | 2015-05-06 | 广东电子工业研究院有限公司 | 一种基于触发器的异构关系型数据库间增量数据迁移方法 |
CN105824865A (zh) * | 2015-12-09 | 2016-08-03 | 广东亿迅科技有限公司 | 一种分布式数据库间数据同步*** |
CN108108431A (zh) * | 2017-12-19 | 2018-06-01 | 中国民航信息网络股份有限公司 | 数据同步方法和*** |
CN108228814A (zh) * | 2017-12-29 | 2018-06-29 | 泰康保险集团股份有限公司 | 数据同步方法及装置 |
CN108228814B (zh) * | 2017-12-29 | 2022-02-15 | 泰康保险集团股份有限公司 | 数据同步方法及装置 |
CN108334621A (zh) * | 2018-02-08 | 2018-07-27 | 平安科技(深圳)有限公司 | 数据库操作方法、装置、设备及计算机可读存储介质 |
WO2019153547A1 (zh) * | 2018-02-08 | 2019-08-15 | 平安科技(深圳)有限公司 | 数据库操作方法、装置、设备及计算机可读存储介质 |
CN110727693A (zh) * | 2018-07-16 | 2020-01-24 | 中兴通讯股份有限公司 | 访问异构数据库的方法、装置、设备、插件及存储介质 |
CN115391457A (zh) * | 2022-08-23 | 2022-11-25 | 昆仑数智科技有限责任公司 | 跨数据库的数据同步方法、装置及存储介质 |
CN115391457B (zh) * | 2022-08-23 | 2023-09-12 | 昆仑数智科技有限责任公司 | 跨数据库的数据同步方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020112A (zh) | 异构数据库同步***和异构数据库同步方法 | |
CN106528129B (zh) | 一种Web应用界面生成***及方法 | |
CN102663103B (zh) | 可配置的自动化生成数据库和数据访问的方法 | |
CN101751382B (zh) | 一种基于标签的数据采集方法与*** | |
CN103294796B (zh) | 一种xml解析方法及医疗病案中自定义xml结构表单实现方法 | |
CN104182911A (zh) | 一种实现配电网***cim模型一致性的校验方法 | |
CN103729463A (zh) | 基于Lucene和Solr实现全文检索的方法 | |
CN103019728A (zh) | 一种高效复杂报表解析引擎及其解析方法 | |
CN101609399A (zh) | 基于建模的智能化网站开发***及方法 | |
CN103064916B (zh) | EminDI数据整合引擎及报表生成方法 | |
CN107622055A (zh) | 一种快速实现数据服务发布的方法 | |
Fan et al. | A middleware of Internet of Things (IoT) based on Zigbee and RFID | |
CN105278961A (zh) | 生成数据库表结构文档的方法及*** | |
US8762398B2 (en) | Method of integrating data of XML document with database on web | |
CN102207837A (zh) | 一种基于虚拟打印方式获取数据的方法及*** | |
CN105550176A (zh) | 一种关系数据库与xml的基本映射方法 | |
CN106682230A (zh) | 基于html5和css3移动展示技术架构的信息服务平台 | |
CN103399746B (zh) | 一种便于二次开发的信息管理***及开发方法 | |
CN103353898B (zh) | 一种***数据向cim模型xml格式转化的处理*** | |
CN103778118A (zh) | 一种基于sql的xml到关系数据库的转换方法 | |
Jumaa et al. | XML based mediation for automating the storage of SCP-ECG data into relational databases | |
Guoliang et al. | Research on IETM Data Processing Based on XML | |
CN103092591A (zh) | 一种基于XML和Web Service的数据集成中间件的方法 | |
Xu | The application of heterogeneous database general query in digital campus | |
CN106560802A (zh) | 一种关系数据库与web数据的映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130403 |