申请/专利权人:安徽兆尹信息科技股份有限公司;安徽兆尹安联科技有限公司
申请日:2021-12-10
公开(公告)日:2024-04-12
公开(公告)号:CN114238322B
主分类号:G06F16/22
分类号:G06F16/22;G06F16/242
优先权:
专利状态码:有效-授权
法律状态:2024.04.12#授权;2022.04.12#实质审查的生效;2022.03.25#公开
摘要:本发明涉及一种基于Sharding‑JDBC内核的数据库分库分表插入方法,与现有技术相比解决了难以实现分库分表插入的缺陷。本发明包括以下步骤:拦截插入语句;待插入表的提取;待插入表T1的改写;次查询语句sql2的改写;改写结果的遍历检查;数据库分库分表插入完成。本发明通过insertselect语句直接将数据在数据库中从一张表插入到另一张表,避免了把数据从数据库读取出来转换成实体对象再插入到库里的处理。
主权项:1.一种基于Sharding-JDBC内核的数据库分库分表插入方法,所述的Sharding-JDBC内核包括路由引擎和改写引擎,其特征在于,所述数据库分库分表插入方法包括以下步骤:11拦截插入语句:使用正则表达式“.*insert\s+into.*select.*”对所有的SQL语句进行匹配验证,拦截insertselect语句;12待插入表的提取:分割insertselect语句,提取出待插入表T1,并同时提取出次查询语句sql2;13待插入表T1的改写:利用路由引擎和改写引擎对待插入表T1改写;14次查询语句sql2的改写:利用路由引擎和改写引擎对次查询语句sql2进行改写;15改写结果的遍历检查:遍历主查询语句组ExecutionUnits1和次查询语句组ExecutionUnits2,对两组中的每条查询语句逐一检查数据库和表序号是否分别都相等,都相等则改写次查询语句组ExecutionUnits2中的查询语句,填补“insertintotable”语句;16数据库分库分表插入完成:遍历改写检查结束后,将改写结果次查询语句组ExecutionUnits2返回给执行引擎进行执行,完成数据库分库分表的插入。
全文数据:
权利要求:
百度查询: 安徽兆尹信息科技股份有限公司;安徽兆尹安联科技有限公司 一种基于Sharding-JDBC内核的数据库分库分表插入方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。