[发明专利]一种基于中间件的分库分表的方法与装置在审
申请号: | 201710592365.1 | 申请日: | 2017-07-19 |
公开(公告)号: | CN107423387A | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 梁宝珠;高林武;毕永东 | 申请(专利权)人: | 北京北信源软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京连和连知识产权代理有限公司11278 | 代理人: | 刘小峰 |
地址: | 100081 北京市海淀区中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 中间件 分库分表 方法 装置 | ||
技术领域
本发明涉及数据库应用技术领域,具体涉及一种基于中间件的分库分表的方法与装置。
背景技术
随着业务系统数据的不断增长,单表数据量变得越来越大。单表、单库不能满足业务和数据量的要求。这时候就需要修改代码来完成分库分表的操作。这样对代码侵入性修改,可能会导致原有业务系统的不可用,而且违反了软件设计的开闭原则。
因此需要一种基于中间件的分库分表的方法与装置,在不改变原有业务逻辑、不修改原有业务代码的情况下来完成分库分表,保证了业务系统的稳定性和可扩展性。
发明内容
针对上述现有技术中的问题,需要在不改变原有业务逻辑、不修改原有业务代码的情况下来完成分库分表,以保证业务系统的稳定性和可扩展性,本发明的目的在于提供一种基于中间件的分库分表的方法与装置。
为了实现上述目的,本发明采用的技术方案如下:
根据本发明,提供了一种基于中间件分库分表的方法,包括以下步骤:
构建标准JAVA服务作为中间件,要求可以独立启动;
定义分表算法;
采用分表算法,来根据业务需求配置分库分表规则;
拦截应用程序发送过来的SQL语句,根据分库分表规则,对SQL语句进行分析;
将分析后的SQL语句发往后端的真实数据库;
将后端返回的结果进行处理后返回给用户。
进一步地,将算法配置到rule.xml中。
进一步地,将分库分表规则配置到schema.xml中。
进一步地,算法包括Hash分表算法、自然月分表算法或日期分表算法。
进一步地,分库分表规则包括表与库的映射关系、分表的数量、表的拆分规则。
进一步地,对SQL语句进行分析的分析方法包括分片分析、路由分析。
进一步地,还包括测试原有业务流程和数据是否正确。
根据本发明,提供了一种基于中间件分库分表的装置,使用了上述方法。
根据本发明,提供了一种计算机设备,包括存储器、至少一个处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行上述方法。
根据本发明,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行上述方法。
本发明通过以上技术方案,能够获得以下有益技术效果:
本发明提供的基于中间件分库分表的方法和装置,通过构建作为中间件的JAVA服务,采用分表算法来配置分库分表规则、拦截应用程序发送过来的SQL语句、根据分库分表规则对SQL语句进行分析、将分析后的SQL语句发往后端的真实数据库、将结果返回给用户,能够在不改变原有业务逻辑、不修改原有业务代码的情况下来完成分库分表,保证了业务系统的稳定性和可扩展性。
当然,实施本发明的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明提供的基于中间件分库分表的方法的一个实施例的示意图;
图2为本发明提供的基于中间件分库分表的方法的一个实施例的流程图;
图3为本发明提供的基于中间件分库分表的方法的另一个实施例的流程图;
图4为本发明提供的基于中间件分库分表的方法的计算机设备的一个实施例的硬件结构示意图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
本发明的一个实施例中,如图1-3所示,提供了一种基于中间件分库分表的方法,包括以下步骤:
S00:构建标准JAVA服务作为中间件,要求中间件可以独立启动;
S10:定义分表算法;
S20:采用分表算法,来根据业务需求配置分库分表规则;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北信源软件股份有限公司,未经北京北信源软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710592365.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种工业设计用的图纸挂具
- 下一篇:机械式变速主轴的五轴雕刻机