[发明专利]自动建表方法、系统、可读存储介质及计算机设备在审
申请号: | 202111524662.5 | 申请日: | 2021-12-14 |
公开(公告)号: | CN114416721A | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 李冉;范渊;刘博 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/25;G06F9/445 |
代理公司: | 杭州华进联浙知识产权代理有限公司 33250 | 代理人: | 李丽华 |
地址: | 310051 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自动 方法 系统 可读 存储 介质 计算机 设备 | ||
本发明提供一种自动建表方法、系统、可读存储介质及计算机设备,方法包括:创建数据表分片规则;根据数据表分片规则获取待处理表的配置文件,得到分片表名以及与分片表名对应的数据库地址;读取待处理表的元数据表,并根据元数据表得到对应的分片表建表语句;根据分片表建表语句在与数据库地址对应的数据库中自动创建与分片表名对应的分片表。本发明通过创建数据表分片规则去获取待处理表的配置文件,得到分片表名及对应的数据库地址,并且通过读取待处理表的元数据表得到分片表建表语句,根据分片表建表语句在数据库地址对应的数据库中自动创建分片表,使用户能根据配置的分片规则对数据表进行管理,在分库分表过程中能够自动创建表、修改表。
技术领域
本申请涉及计算机技术领域,特别是涉及自动建表方法、系统、可读存储介质及计算机设备。
背景技术
随着科技的飞速发展和人们生活水平的提高,数据的量级也是呈指数的增长,从GB到TB到PB,对数据的各种操作也是愈加的困难。
分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库,将数据大表拆分成若干数据表,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。
Sharding-JDBC分库分表中间件在配置了表的解析规则后存在表分片过多不易管理的问题。该问题带来的危害是需要每次启动项目手动创建分片表,并且分片表过多会有很多重复工作,在修改分片表字段时要同时修改其他相同分片规则下的表。Sharding-JDBC并不能管理分片后的表,需要额外付出成本管理这些分片表,比如要手动创建或者手动修改或者手动删除,人工成本高,并且手动删除存在误删的可能。
发明内容
本申请实施例提供了一种自动建表方法、系统、可读存储介质及计算机设备,以至少解决上述相关技术中的不足。
第一方面,本申请实施例提供了一种自动建表方法,包括:
创建数据表分片规则;
根据所述数据表分片规则获取待处理表的配置文件,得到分片表名以及与所述分片表名对应的数据库地址;
读取所述待处理表的元数据表,并根据所述元数据表得到对应的分片表建表语句;
根据所述分片表建表语句在与所述数据库地址对应的数据库中自动创建与所述分片表名对应的分片表。
在其中一些实施例中,根据所述元数据表得到对应的分片表建表语句的步骤包括:
获取内存的SQL配置文件,解析出所述SQL配置文件的创建表语句;
通过所述分片表名替换所述SQL配置文件的创建表语句的表名,形成所述分片表建表语句。
在其中一些实施例中,根据所述分片表建表语句在与所述数据库地址对应的数据库中自动创建与所述分片表名对应的分片表的步骤包括:
根据所述数据库地址、用户名以及密码查找到对应的数据库;
加载JDBC驱动程序,并与所述数据库建立连接;
创建Statement对象,并执行所述分片表建表语句;
判断所述分片表建表语句是否执行成功;
若所述分片表建表语句执行成功,则在所述数据库完成自动创建分片表。
在其中一些实施例中,所述方法还包括:
当对所述分片表进行修改时,获取修改前的分片表和新生成的分片表的信息,并获取修改前的分片表和新生成的分片表的信息对比差异,生成对应的SQL建表语句;
根据所述SQL建表语句创建新的分片表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111524662.5/2.html,转载请声明来源钻瓜专利网。