用于表结构变更后的信息复制方法和装置制造方法及图纸

技术编号:14405911 阅读:92 留言:0更新日期:2017-01-11 17:27
本公开公开了一种用于表结构变更后的信息复制方法和装置。所述方法包括:当源端数据库中源表的结构发生变更时,提取与所述源表的结构变更对应的源端数据定义语言DDL语句;根据所述源端DDL语句,将目标端数据库中目标表的结构变更为与所述源表的结构相同。这样,不需要暂停或者中断数据复制过程,就能够自动进行表结构变更的复制,从而减少了人工参与,降低了项目实施维护的成本。

【技术实现步骤摘要】

本公开涉及通信领域,具体地,涉及一种用于表结构变更后的信息复制方法和装置
技术介绍
在互联网和信息化高速发展的今天,数据的产生呈爆炸式增长。原始的单个数据库早已无法支撑现有的应用,随之产生了读写分离、分库等技术方案。因此原始的一个数据库拆分成了多个数据库,为了保证数据的一致性,数据复制技术得到了广泛应用,即源端数据库产生的数据变化,在一定时间内复制给目标端数据库。在数据复制过程中,如果源端数据库中的源表(Table)结构发生了变化(例如,新增了一个字段、或删除了一个字段),会导致源端数据库中的源表和目标端数据库中的目标表的结构不一致,这样就可能引起数据复制过程失败,甚至引起数据错误。在相关技术中,一方面,可以通过手动方式进行表结构的复制。该方式中,当数据复制错误终止时,手动地调整目标表的结构。另一方面,还可以通过数据复制软件进行半自动的表结构的复制。这些方式都需要暂停或中断整个数据复制过程,这样会影响数据复制的进度。
技术实现思路
本公开的目的是提供一种简单易行的用于表结构变更后的信息复制方法和装置。为了实现上述目的,本公开提供一种用于表结构变更后的信息复制方法。所述方法包括:当源端数据库中源表的结构发生变更时,提取与所述源表的结构变更对应的源端数据定义语言DDL语句;根据所述源端DDL语句,将目标端数据库中目标表的结构变更为与所述源表的结构相同。可选地,所述根据所述源端DDL语句,将目标端数据库中目标表的结构变更为与所述源表的结构相同的步骤包括:判断所述源端数据库的类型与所述目标端数据库的类型是否相同;当所述源端数据库的类型与所述目标端数据库的类型不同时,根据所述源端DDL语句,生成与所述目标端数据库对应的目标端DDL语句;控制所述目标表执行所述目标端DDL语句,以使所述目标表的结构变更为与所述源表的结构相同。可选地,所述方法还包括:根据所述源端数据库的元数据信息生成初始数据字典;根据所述源端DDL语句和上一数据字典生成与所述源端DDL语句对应的当前数据字典。可选地,所述方法还包括:根据所述源端DDL语句,将所述源表到所述目标表之间的数据映射关系更新为与所述源端DDL语句对应的当前映射关系;判断所述源表中的数据是否发生变更;当判定所述源表中的数据发生变更时,根据所述当前数据字典来解析所述数据变更;根据所解析的数据变更和所述当前映射关系,将所述目标表中的数据变更为与所述源表中的数据一致。可选地,所述方法还包括:接收用户发送的回溯命令,所述回溯命令指示从预定的历史时间点开始重新进行信息复制;响应于所述回溯命令,根据所述预定的历史时间点以及历史数据字典重新进行信息复制。本公开还提供一种用于表结构变更后的信息复制装置。所述装置包括:DDL提取模块,用于当源端数据库中源表的结构发生变更时,提取与所述源表的结构变更对应的源端数据定义语言DDL语句;结构变更模块,用于根据所述源端DDL语句,将目标端数据库中目标表的结构变更为与所述源表的结构相同。通过上述技术方案,根据源端数据库中源表的结构变更产生的DDL语句,对目标端数据库中目标表的表结构进行变更。这样,不需要暂停或者中断数据复制过程,就能够自动进行表结构变更的复制,从而减少了人工参与,降低了项目实施维护的成本。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是一示例性实施例提供的用于表结构变更后的信息复制方法的流程图;图2是另一示例性实施例提供的用于表结构变更后的信息复制方法的流程图;图3是又一示例性实施例提供的用于表结构变更后的信息复制方法的流程图;以及图4是一示例性实施例提供的用于表结构变更后的信息复制装置的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。图1是一示例性实施例提供的用于表结构变更后的信息复制方法的流程图。所述方法应用于源端数据库和目标端数据库之间的信息复制平台。如图1所示,所述方法可以包括以下步骤。在步骤S11中,当源端数据库中源表的结构发生变更时,提取与源表的结构变更对应的源端数据定义语言(DataDefinitionLanguage,DDL)语句。在步骤S12中,根据源端DDL语句,将目标端数据库中目标表的结构变更为与源表的结构相同。其中,信息复制可以包括表结构复制。当源端数据库中源表的结构发生变更时,信息复制平台能够将目标端数据库中目标表的结构变更为与源表的结构相同。也就是,将更新后的源表的结构复制到目标表的结构中。在源表结构发生变更时,可以自动生成DDL语句。DDL用于定义和管理结构化查询语言(StructuredQueryLanguage,SQL)数据库中的所有对象的语言。由于DDL语句可以用于描述表结构的定义或变更。因此,本公开利用源表的结构变更时生成的DDL语句(源端DDL语句),将变更后的表结构复制到目标表中。通过上述技术方案,根据源端数据库中源表的结构变更产生的DDL语句,对目标端数据库中目标表的表结构进行变更。这样,不需要暂停或者中断数据复制过程,就能够自动进行表结构变更的复制,从而减少了人工参与,降低了项目实施维护的成本。在本公开的一实施例中,可以根据日志分析技术来获取表结构的变更。具体地,通过相关技术,可以先提取源端数据库的日志,从日志中提取到源端数据库的变更信息,在从源端数据库的变更信息中识别出源表的结构的变更信息时,可以确定源表的结构已经发生了变更。通过日志分析技术(例如,增量数据提取技术),获取到表结构的变更的方法简单易行,便于操作。如前所述,在提取出源端DDL语句之后,就能够根据源端DDL语句进行结构变更的复制了。当源端数据库的类型与目标端数据库的类型相同时。源端DDL语句可以直接被目标表所用。具体地,在本公开的一实施例中,如果源端数据库的类型与目标端数据库的类型相同,则可以控制目标端数据库中的目标表执行源端DDL语句,以使目标表的结构变更为与源表的结构相同。该实施例中应用于源端数据库目标端数据库属同一类型的情况,简单易行。在本公开的另一实施例中,源端数据库的类型与目标端数据库的类型不同。例如,源端数据库为Oracle数据库,目标端数据库为MySQL数据库。在图1的基础上,根据源端DDL语句,将目标端数据库中目标表的结构变更为与源表的结构相同的步骤(步骤S12)包括以下步骤。在步骤S121中,判断源端数据库的类型与目标端数据库的类型是否相同。可以预先获取目标端数据库的类型,以判断是否与源端数据库类型相同。在步骤S122中,当源端数据库的类型与目标端数据库的类型不同时,根据源端DDL语句,生成与目标端数据库对应的目标端DDL语句。也就是,将源端DDL语句进行解析(例如提取出表名称、变更类型、以及变更信息),之后按照目标端数据库适配成效果相同的DDL语句。例如,在Oracle数据库中的源表中增加一个字段,生成源端DDL语句:altertableuser.tableaddcolumnvarchar2(32)解析该源端DDL语句可以识别出以下信息本文档来自技高网...
用于表结构变更后的信息复制方法和装置

【技术保护点】
一种用于表结构变更后的信息复制方法,其特征在于,所述方法包括:当源端数据库中源表的结构发生变更时,提取与所述源表的结构变更对应的源端数据定义语言DDL语句;根据所述源端DDL语句,将目标端数据库中目标表的结构变更为与所述源表的结构相同。

【技术特征摘要】
1.一种用于表结构变更后的信息复制方法,其特征在于,所述方法包括:当源端数据库中源表的结构发生变更时,提取与所述源表的结构变更对应的源端数据定义语言DDL语句;根据所述源端DDL语句,将目标端数据库中目标表的结构变更为与所述源表的结构相同。2.根据权利要求1所述的方法,其特征在于,所述根据所述源端DDL语句,将目标端数据库中目标表的结构变更为与所述源表的结构相同的步骤包括:判断所述源端数据库的类型与所述目标端数据库的类型是否相同;当所述源端数据库的类型与所述目标端数据库的类型不同时,根据所述源端DDL语句,生成与所述目标端数据库对应的目标端DDL语句;控制所述目标表执行所述目标端DDL语句,以使所述目标表的结构变更为与所述源表的结构相同。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述源端数据库的元数据信息生成初始数据字典;根据所述源端DDL语句和上一数据字典,生成与所述源端DDL语句对应的当前数据字典。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:根据所述源端DDL语句,将所述源表到所述目标表之间的数据映射关系更新为与所述源端DDL语句对应的当前映射关系;判断所述源表中的数据是否发生变更;当判定所述源表中的数据发生变更时,根据所述当前数据字典来解析所述数据变更;根据所解析的数据变更和所述当前映射关系,将所述目标表中的数据变更为与所述源表中的数据一致。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收用户发送的回溯命令,所述回溯命令指示从预定的历史时间点开始重新进行信息复制;响应于所述回溯命令,根据所述预定的历史时间点以及历史数据字典重新进行信息复制。6.一种用于表结构变更后的信息复制装置,其特征在于,所述装置包括:DDL提...

【专利技术属性】
技术研发人员:井玉成牟晓光
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1