[发明专利]微服务分库方法、系统和介质在审
申请号: | 202010993544.8 | 申请日: | 2020-09-21 |
公开(公告)号: | CN112148710A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 高智意;何伟;李珂辰 | 申请(专利权)人: | 珠海市卓轩科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/25 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 叶琦炜 |
地址: | 519000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微服 务分库 方法 系统 介质 | ||
1.一种微服务分库方法,其特征在于,所述方法包括以下步骤:
S100、扫描数据库中所有的表,创建概要表,所述概要表存储所述所有的表的表名;
S200、将所述概要表中的所述表名进行加前后缀处理之后,构建DFA树;
S300、扫描微服务的所有配置文件和Java的源代码文件,将得到的表名的字符串通过所述DFA树进行匹配,将匹配完成的表名及其对应的微服务的名称存储到微服务表;
S400、对所述微服务表中的数据进行调整处理之后,进行微服务分库处理。
2.根据权利要求1所述的微服务分库方法,其特征在于,所述方法还包括:
将所有微服务的源代码放置在同一文件夹。
3.根据权利要求1所述的微服务分库方法,其特征在于,所述步骤S200包括:
将单个字符作为前缀添加的到所述表名的前面,作为后缀添加到所述表名的后面,基于添加过所述前缀和后缀的表名构建DFA树。
4.根据权利要求1所述的微服务分库方法,其特征在于,所述步骤S300包括:
S301、逐行扫描一微服务的配置文件或Java的源代码文件,扫描到SQL语句;
S302、将所述SQL语句作为输入字符串输入到所述DFA树进行匹配;
S303、当匹配到前缀字符时开始基于所述DFA树进行表名匹配;
S304、匹配成功后将匹配到的表名和所述微服务的名称存储到所述微服务表中。
5.根据权利要求1所述的微服务分库方法,其特征在于,所述步骤S400包括:
S401、根据各微服务的业务,对所述微服务表中的数据进行调整。
6.根据权利要求1所述的微服务分库方法,其特征在于,所述步骤S400包括:
S402、以微服务名称为数据库名称创建数据库,以步骤S100中的所述数据库为主库,对所述主库的表进行数据结构和数据的复制;
S403、导出各个数据库文件,复制到指定的MySQL的数据库服务器中的数据模块中。
7.一种微服务分库系统,其特征在于,所述系统包括:
概要表创建模块,用于扫描数据库中所有的表,创建概要表,所述概要表存储所述所有的表的表名;
DFA树构建模块,用于将所述概要表中的所述表名进行加前后缀处理之后,构建DFA树;
表名匹配模块,用于扫描微服务的所有配置文件和Java的源代码文件,将得到的表名的字符串通过所述DFA树进行匹配,将匹配完成的表名及其对应的微服务的名称存储到微服务表;
分库处理模块,用于对所述微服务表中的数据进行调整处理之后,进行微服务分库处理。
8.根据权利要求7所述的微服务分库系统,其特征在于,所述分库处理模块包括数据调整模块,用于根据各微服务的业务,对所述微服务表中的数据进行调整。
9.根据权利要求7所述的微服务分库系统,其特征在于,所述分库处理模块包括数据库创建模块和数据迁移模块;
所述数据库创建模块,用于以微服务名称为数据库名称创建数据库,以所述概要表创建模块中的所述数据库为主库,对所述主库的表进行数据结构和数据的复制;
所述数据迁移模块,用于导出各个数据库文件,复制到指定的MySQL的数据库服务器中的数据模块中。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6中任一项的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市卓轩科技有限公司,未经珠海市卓轩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010993544.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:存储物品全生命周期安全智能管控系统
- 下一篇:模块化权限控制管理方法及系统