异构数据库同步系统和异构数据库同步方法

文档序号:6380536阅读:134来源:国知局
专利名称:异构数据库同步系统和异构数据库同步方法
技术领域
本发明涉及数据库处理领域,具体而言,涉及ー种异构数据库同步系统和异构数据库同步方法。
背景技术
当前互联网发展ー日千里,使用者数量越来越多,大型网络应用压カ越来越大,单机的处理能力有限,总会有ー个最高值,分布式的环境在所难免。由于系统是不断扩容的,建设于不同的时期,很可能会出现异构的数据库,异构的数据库之间不可能不数据共享,否则将会出现“信息孤岛”。为此,如何灵活、有效、经济地处理这些异构数据库信息共享,数据同步的问题,成为ー个颇受关注的研究方向。因此,需要一种新的异构数据库同步技术,从而实现异构数据库之间的实时同歩。

发明内容
本发明所要解决的技术问题在于,提供一种新的异构数据库同步技术,从而实现异构数据库之间的实时同歩。有鉴于此,本发明提供一种异构数据库同步系统,包括监控模块,监控第一数据库中变更数据表的变化;转换模块,在所述变更数据表变化时,将所述变更数据表转换为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 (Document Type Def inition,文档类型定义)。XML 解析包括DOM (Document ObjectModel,文档对象模型),SAX (Simple API for XML,简单的应用程序接ロ文档)。XML样式包括CSS(Cascading Style Sheet,风格样式表),XSL(extensible Stylesheet Language,可扩展样式表语言)。XML链接包括XPoint,XLink, XPath0以上简要介绍了 XML规范,符合XML规范的文档,便于不同系统对其进行解析并进一步得到相应的SQL语句。以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以实现一种异构数据库同步系统和ー种异构数据库同步方法,实现异构数据库之间的同步以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
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包括 设置触发器,以监控所述变更数据表的变化。
全文摘要
本发明提供一种异构数据库同步系统,包括监控模块,监控第一数据库中变更数据表的变化;转换模块,在所述变更数据表变化时,将所述变更数据表转换为SQL语句;执行模块,将所述SQL语句输入到第二数据库,以执行所述SQL语句。相应地,本发明还提供了一种异构数据库同步方法。通过本发明的技术方案,根据数据库中数据变更表的变化,可以得到造成数据变化的SQL语句,输入到另一数据库即可实现异构数据库之间数据的同步。
文档编号G06F17/30GK103020112SQ20121043757
公开日2013年4月3日 申请日期2012年11月6日 优先权日2012年11月6日
发明者李盼 申请人:深圳中兴网信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1