[发明专利]数据库横向扩展、数据表访问方法及装置有效
申请号: | 201911360402.1 | 申请日: | 2019-12-25 |
公开(公告)号: | CN111125114B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 冯世杰;杨鸿飞 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 赵平;周永君 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 横向 扩展 数据表 访问 方法 装置 | ||
1.一种数据表访问方法,其特征在于,包括:
截获数据表访问的请求指令;
改写所述请求指令中所述数据表的总路由地址为对应多个数据分表的分表路由地址;所述多个数据分表通过对所述数据表进行切分得到;
所述路由地址包括用于锚定数据库的库序号和用于锚定数据表的表序号,所述改写所述请求指令中所述数据表的总路由地址为对应多个数据分表的分表路由地址,包括:
解析所述请求指令,得到数据表的表名;
根据所述表名查找分表策略,并获取对应的分表键和分表数量;
判断所述数据表中是否包含所述分表键;
若包含,根据设定分表对应关系获取所述分表键的键值,结合所述分表数量生成表序号;
根据设定的表序号和库序号的对应关系,依据所述表序号对应查找所述库序号;
用所述表序号和库序号改写所述总路由地址中的表序号和库序号;
所述请求指令是SQL语句,所述解析所述请求指令,得到数据表的表名,包括:
在SQL缓存中查找所述SQL语句;
如缓存未命中,解析SQL语句,建立语法树,得到所述表名;
所述根据设定分表对应关系和设定分库对应关系获取所述分表键的键值以及分库键的键值,包括:根据SQL语法树找到对应键值;
缓存所述SQL语句与所述表名以及所述键值的映射关系。
2.根据权利要求1所述的数据表访问方法,其特征在于,所述路由地址包括用于锚定数据库的库序号和用于锚定数据表的表序号,所述改写所述请求指令中所述数据表的总路由地址为对应多个数据分表的分表路由地址,包括:
解析所述请求指令,得到数据表的表名;
根据所述表名查找分表策略,并获取对应的分表键、分库键、分表数量以及分库数量;
判断所述数据表中是否包含所述分表键和分库键;
若包含所述分表键和分库键,根据设定分表对应关系和设定分库对应关系获取所述分表键的键值以及分库键的键值,结合所述分表数量和分库数量生成表序号和库序号;
用所述表序号和库序号改写所述总路由地址中的表序号和库序号。
3.根据权利要求1所述的数据表访问方法,其特征在于,所述结合所述分表数量生成表序号,包括:
根据所述分表键键值计算对应键值的哈希值;
根据所述哈希值以及分表的数量,得到所述表序号。
4.根据权利要求2所述的数据表访问方法,其特征在于,所述结合所述分表数量和分库数量生成表序号和库序号,包括:
根据所述分表键键值计算对应分表键的哈希值,根据所述分库键键值计算对应分库键的哈希值;
根据分表键的哈希值以及分表的数量,得到所述表序号,根据分库键的哈希值以及分库的数量,得到所述库序号。
5.一种数据表访问装置,其特征在于,包括:
截获模块,截获数据表访问的请求指令;
地址改写模块,改写所述请求指令中所述数据表的总路由地址为对应多个数据分表的分表路由地址;所述多个数据分表通过对所述数据表进行切分得到;
所述路由地址包括用于锚定数据库的库序号和用于锚定数据表的表序号,所述地址改写模块,包括:
解析单元,解析所述请求指令,得到数据表的表名;
分表键获取单元,根据所述表名查找分表策略,并获取对应的分表键和分表数量;
判断单元,判断所述数据表中是否包含所述分表键;
表序号生成单元,若包含,根据设定分表对应关系获取所述分表键的键值,结合所述分表数量生成表序号;
库序号生成单元,根据设定的表序号和库序号的对应关系,依据所述表序号对应查找所述库序号;
改写单元,用所述表序号和库序号改写所述总路由地址中的表序号和库序号;
所述请求指令是SQL语句,所述解析单元在SQL缓存中查找所述SQL语句,如缓存未命中,则解析SQL语句,建立语法树,得到所述表名;所述分表键获取单元根据SQL语法树找到对应键值;所述地址改写模块还包括缓存单元,所述缓存单元缓存所述SQL语句与所述表名以及所述键值的映射关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911360402.1/1.html,转载请声明来源钻瓜专利网。