【技术实现步骤摘要】
数据库表格变更方法、装置、计算机设备及存储介质
本专利技术涉及计算机
,尤其涉及一种数据库表格变更方法、装置、计算机设备及存储介质。
技术介绍
在MySQL数据库使用分库分表,可以非常方便进行水平扩展,提高系统的处理能力。然而,由于分库分表后表格被分为成千上万张表,分散在上百套集群中,使得数据库表格变更变得非常困难。目前,需要数据库表格变更时,通常的做法是对分库分表提供一套定制化的脚本,再通过运行脚本执行数据库表格变更。然而,由于每套分库分表对应的IP、端口、数据库名称和表名称等基础信息都不同,导致脚本编写很容易出现错误,运维风险很高,且容易出现变更表的遗漏。另外,这种做法在每次有数据库表格变更时,都需要DBA(数据库管理员,DatabaseAdministrator)重新编写数据库表格的脚本,工作繁复。综上所述,目前数据库表格变更执行的效率较低。
技术实现思路
本专利技术实施例提供一种数据库表格变更方法、装置、计算机设备及存储介质,以解决目前数据库表格变更执行的效率较低的问题。r>本专利技术实施例本文档来自技高网...
【技术保护点】
1.一种数据库表格变更方法,其特征在于,所述数据库表格变更方法包括:/n获取数据库的表格变更信息,根据所述表格变更信息获取所述数据库的第一目标分表信息,所述数据库进行了分库分表处理;/n根据所述第一目标分表信息和所述表格变更信息生成目标变更语句,所述目标变更语句采用数据定义语言;/n根据所述第一目标分表信息获取目标互联网协议地址;/n根据所述目标互联网协议地址执行所述目标变更语句,以完成对所述数据库的表格变更。/n
【技术特征摘要】
1.一种数据库表格变更方法,其特征在于,所述数据库表格变更方法包括:
获取数据库的表格变更信息,根据所述表格变更信息获取所述数据库的第一目标分表信息,所述数据库进行了分库分表处理;
根据所述第一目标分表信息和所述表格变更信息生成目标变更语句,所述目标变更语句采用数据定义语言;
根据所述第一目标分表信息获取目标互联网协议地址;
根据所述目标互联网协议地址执行所述目标变更语句,以完成对所述数据库的表格变更。
2.如权利要求1所述的数据库表格变更方法,其特征在于,所述根据所述目标互联网协议地址执行所述目标变更语句之后,所述数据库表格变更方法还包括:
获取第二目标分表信息,所述第二目标分表信息为执行表格变更后的数据库的分表信息;
将所述第二目标分表信息与变更目标任务的表结构信息进行比较,若相符,则判定所述数据库的表格变更完成。
3.如权利要求1所述的数据库表格变更方法,其特征在于,所述根据所述表格变更信息获取所述数据库的第一目标分表信息,包括:
获取基础数据表,其中,所述基础数据表是指示进行了分库分表处理后的数据库的基础信息的表格;
从所述基础数据表中提取目标字段,所述目标字段为指示不同基础数据表的标识字段;
按照预设时间间隔,通过所述目标字段和所述目标互联网协议地址抓取分表的基础信息;
根据所述表格变更信息从所述分表的基础信息中获取第一目标分表信息。
4.如权利要求1所述的数据库表格变更方法,其特征在于,在所述根据所述目标互联网协议地址执行所述目标变更语句之后,所述数据库表格变更方法还包括:
获取预置于服务端的多线程任务,所述多线程任务在目标变更语句执行时启动;
从所述多线程任务中获取每一所述目标变更语句的执行进度;
将所述执行进度汇总后发送至监控端,以通过所述监控端呈现所述目标变更语句的执行进度。
5.如权利要求1所述的数据库表格变更方法,其特征在于,所述根据所述目标互联网协议地址执行所述目标变更语句包括:
通过如下公式计算目标集群下一阶段的预期任务负载:
其中,Load′cur为目标集群下一阶段的预期任务负载,N为当前处理线程的标识号,Ncur为与当前处理线程连接的其它处理线程的数目,Load_linkk为与当前处理线程连接的第k个处理线程当前的任务负载;
若所述下一阶段的预期任务负载小于预设负载,则根据预设个数并行执行所述目标变更语句;<...
【专利技术属性】
技术研发人员:李亮光,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。