分布式数据库表结构变更方法、装置及系统制造方法及图纸

技术编号:28622969 阅读:19 留言:0更新日期:2021-05-28 16:18
本发明专利技术提供了一种分布式数据库表结构变更方法、装置及系统,所述方法包括:根据表结构变更指令确定待升级的所有目标数据库及源表;在所述目标数据库中建立表结构变更后的临时表,通过数据迁移方式将待升级源表的表数据迁移至所述临时表并将所述临时表替换为所述源表,目标数据库表结构变更完成;当所有目标数据库表结构变更完成后,向应用服务器反馈升级成功信息,本发明专利技术可实现数据库表结构的快速升级,减少数据库表结构升级的停机时间。

【技术实现步骤摘要】
分布式数据库表结构变更方法、装置及系统
本专利技术涉及数据库升级
,尤其涉及一种分布式数据库表结构变更方法、装置及系统。
技术介绍
随着分布式数据库的大规模推广使用,在对数据库的表结构进行变更升级时,需要保障业务运行的连续性、降低数据库的停机变更时间以减少业务影响。现有的数据库表结构变更升级时,不同的应用需要结合自身的实际业务场景,由应用研发人员制定仅适用于本应用的表结构变更方案。例如,传统的MySQL数据库表结构升级方法是把同步的MySQL主库和备库的一个备库分离出来,对该备库进行表结构升级、重新搭建主从同步的高可用架构,然后停止主库的业务,通过移行程序从主库迁移增量数据到备库中,最后把业务切换到备库,由该备库作为新的主库对外提供数据库服务。这种数据库表结构升级存在以下几个问题:一是分布式数据库节点太多,业务停机时间过长,需要分钟级甚至小时级的停机时间;二是需要开发人员编写增量的数据移行程序;三是备库要重新搭建高可用架构;四是操作步骤多而复杂,中途出现问题会增加停机时间,停机时长不可控;五是升级方案只适用于本应用的本次升级,不具备通用性。
技术实现思路
为了解决以上问题的至少之一,本专利技术的一个目的在于提供一种分布式数据库表结构变更方法,实现数据库表结构的快速升级,减少数据库表结构升级的停机时间。本专利技术的另一个目的在于提供一种分布式数据库表结构变更模块。本专利技术的再一个目的在于提供一种分布式数据库表结构变更系统。本专利技术的还一个目的在于提供一种计算机设备。本专利技术的还一个目的在于提供一种可读介质。为了达到以上目的,本专利技术一方面公开了一种分布式数据库表结构变更方法,包括:根据表结构变更指令确定待升级的所有目标数据库及源表;在所述目标数据库中建立表结构变更后的临时表,通过数据迁移方式将待升级源表的表数据迁移至所述临时表并将所述临时表替换为所述源表,目标数据库表结构变更完成;当所有目标数据库表结构变更完成后,向应用服务器反馈升级成功信息。优选的,所述根据所述表结构变更指令确定待升级的所有目标数据库及源表具体包括:根据表结构变更指令确定所述目标数据库的数据库信息和源表信息;根据所述数据库信息确定所述数据库的IP地址,并根据所述源表信息获取所述数据库中源表的表数据。优选的,所述在所述目标数据库中建立表结构变更后的临时表具体包括:根据所述表结构变更指令确定表结构变更后的目标表结构;根据所述目标表结构建立一个空表作为所述临时表。优选的,所述通过数据迁移方式将源表数据迁移至所述临时表并将所述临时表替换为所述源表具体包括:根据所述表结构变更指令确定数据迁移规则;根据所述数据迁移规则将所述待升级源表中的数据迁移至所述临时表;待数据迁移完成后,将所述临时表替换为所述源表。优选的,所述根据所述数据迁移规则将所述待升级源表中的数据迁移至所述临时表具体包括:根据所述数据迁移规则确定所述临时表相对于所述待升级源表的新增字段的赋值规则、所述待升级源表的表数据处理规则以及需要迁移的字段;将所述源表中需要迁移的字段的表数据根据所述表数据处理规则得到变更后数据;将所述变更后数据迁移至所述临时表对应的位置并为所述临时表中所述新增字段赋值。优选的,进一步包括在将所述临时表替换为所述源表,之前:获取所述目标数据库的日志文件;解析所述日志文件得到数据记录;根据所述数据记录形成表数据并写入所述临时表。优选的,所述将所述临时表替换为所述源表具体包括:停止针对所述待升级源表的所有数据处理操作;将所述待升级源表的表名更改为临时名称;将所述临时表的表名更改为所述待升级源表的表名,将所述临时表替换为所述源表。优选的,所述目标数据库为主库,所述方法进一步包括:当所述主库中数据库表结构变更完成后,将所述主库中表结构变更后的源表备份至备用数据库中。本专利技术还公开了一种分布式数据库表结构变更装置,包括:表结构变更模块,用于根据表结构变更指令确定待升级的所有目标数据库及源表;数据迁移模块,用于在所述目标数据库中建立表结构变更后的临时表,通过数据迁移方式将待升级源表的表数据迁移至所述临时表并将所述临时表替换为所述源表,目标数据库表结构变更完成;管控模块,用于当所有目标数据库表结构变更完成后,向应用服务器反馈升级成功信息。本专利技术还公开了一种分布式数据库表结构变更系统,包括应用服务器、分布式数据库以及分布式数据库表结构变更装置;所述应用服务器向所述分布式数据库表结构变更装置传输表结构变更指令,所述分布式数据库表结构变更装置用于根据所述表结构变更指令确定待升级的所有目标数据库及源表;在所述目标数据库中建立表结构变更后的临时表,通过数据迁移方式将待升级源表的表数据迁移至所述临时表并将所述临时表替换为所述源表,目标数据库表结构变更完成;当所有目标数据库表结构变更完成后,向应用服务器反馈升级成功信息。本专利技术还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法。本专利技术还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。本专利技术根据表结构变更指令可以确定待升级的所有目标数据库以及目标数据库中待升级的源表。然后,在目标数据库中建立表结构变更后的临时表,通过数据迁移方式将待升级的源表中的表数据迁移至临时表中,待数据迁移完成后,将数据迁移得到的临时表替换为待升级源表得到表结构变更后的源表,实现目标数据库表结构的快速变更升级。本专利技术通过建立临时表及数据迁移的方式得到表结构变更后的源表,在数据迁移的过程中无需停机,仅在将临时表替换为源表的过程中需要停止对源表的所有数据处理操作,从而本专利技术的数据库表结构变更速度快,大大缩短了表结构变更的停机时间,停机时间可由分钟级或小时级缩短至秒级,极大地提高了业务运行的连续性。并且,本专利技术的数据库表结构变更过程无需应用服务器的参与,也无需开发人员编写移行程序,不需要重新搭建数据库高可用备库,不需要手动进行数据迁移,通过设置表结构变更指令的一次性操作即可实现所有目标数据库的表结构变更升级,减少开发人员的开发工作量和运维难度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本专利技术分布式数据库表结构变更方法一个具体实施例的流程图;图2示出本专利技术分布式数据库表结构变更方法一个具体实施例S100的流程图;图3示出本专利技术分布式数据库表结构变更方法一个具体实施例S200建立临时表的流程图;图4示出本专利技术分布式数据库表本文档来自技高网...

【技术保护点】
1.一种分布式数据库表结构变更方法,其特征在于,包括:/n根据表结构变更指令确定待升级的所有目标数据库及源表;/n在所述目标数据库中建立表结构变更后的临时表,通过数据迁移方式将待升级源表的表数据迁移至所述临时表并将所述临时表替换为所述源表,目标数据库表结构变更完成;/n当所有目标数据库表结构变更完成后,向应用服务器反馈升级成功信息。/n

【技术特征摘要】
1.一种分布式数据库表结构变更方法,其特征在于,包括:
根据表结构变更指令确定待升级的所有目标数据库及源表;
在所述目标数据库中建立表结构变更后的临时表,通过数据迁移方式将待升级源表的表数据迁移至所述临时表并将所述临时表替换为所述源表,目标数据库表结构变更完成;
当所有目标数据库表结构变更完成后,向应用服务器反馈升级成功信息。


2.根据权利要求1所述的分布式数据库表结构变更方法,其特征在于,所述根据所述表结构变更指令确定待升级的所有目标数据库及源表具体包括:
根据表结构变更指令确定所述目标数据库的数据库信息和源表信息;
根据所述数据库信息确定所述数据库的IP地址,并根据所述源表信息获取所述数据库中源表的表数据。


3.根据权利要求1所述的分布式数据库表结构变更方法,其特征在于,所述在所述目标数据库中建立表结构变更后的临时表具体包括:
根据所述表结构变更指令确定表结构变更后的目标表结构;
根据所述目标表结构建立一个空表作为所述临时表。


4.根据权利要求1所述的分布式数据库表结构变更方法,其特征在于,所述通过数据迁移方式将源表数据迁移至所述临时表并将所述临时表替换为所述源表具体包括:
根据所述表结构变更指令确定数据迁移规则;
根据所述数据迁移规则将所述待升级源表中的数据迁移至所述临时表;
待数据迁移完成后,将所述临时表替换为所述源表。


5.根据权利要求1所述的分布式数据库表结构变更方法,其特征在于,所述根据所述数据迁移规则将所述待升级源表中的数据迁移至所述临时表具体包括:
根据所述数据迁移规则确定所述临时表相对于所述待升级源表的新增字段的赋值规则、所述待升级源表的表数据处理规则以及需要迁移的字段;
将所述源表中需要迁移的字段的表数据根据所述表数据处理规则得到变更后数据;
将所述变更后数据迁移至所述临时表对应的位置并为所述临时表中所述新增字段赋值。


6.根据权利要求1所述的分布式数据库表结构变更方法,其特征在于,进一步包括在将所述临时表替换为所述源表,之前:
获取所述目标数据库的日志文...

【专利技术属性】
技术研发人员:杨诗平林承军唐阳光毛超丹
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1