[发明专利]一种访问数据库的方法和装置有效
申请号: | 201210380786.5 | 申请日: | 2012-10-09 |
公开(公告)号: | CN103714097B | 公开(公告)日: | 2017-08-08 |
发明(设计)人: | 曹刚;周兴江;王文治 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 访问 数据库 方法 装置 | ||
1.一种访问数据库的方法,其特征在于,包括:
预置分库分表标识的生成规则;其中,所述分库分表标识中包括静态位和动态位,所述动态位包括库索引和表索引;所述分库分表标识中的库索引和表索引能够用于路由到唯一的数据库和该数据库下的数据表信息;其中,对于新增的数据库也具有库索引和表索引;
接收数据库写访问请求;所述数据库写访问请求中携带有待写入数据;
依据所述数据库写访问请求,动态获取当前可用的数据库及该数据库下的数据表信息,并得到相应的库索引和表索引;
依据所述分库分表标识的生成规则,对所述库索引和表索引连同静态位进行拼装,得到与所述数据库写访问请求相应的分库分表标识;
依据所述分库分表标识的生成规则,对与所述数据库写访问请求相应的分库分表标识中的库索引和表索引进行路由;
将所述待写入数据写入至与路由结果相应的数据库下的数据表中。
2.如权利要求1所述的方法,其特征在于,所述依据所述数据库写访问请求,动态获取当前可用的数据库及该数据库下的数据表信息的步骤,包括:
在接收到所述数据库写访问请求时,从应用系统连接的多个数据库中随机获取一个当前可用的数据库,以及,从该数据库下的多个数据表中随机获取一个数据表。
3.如权利要求1或2所述的方法,其特征在于,通过如下步骤检测数据库是否可用:
在接收到所述数据库写访问请求时,通过与数据库通讯检测数据库是否可用;或者,
在接收到所述数据库写访问请求时,依据数据库的可用标志判断数据库是否可用;其中,所述可用标志由数据库管理员依据数据库的状态确定,故障数据库对应的可用标志为不可用,正常运行数据库对应的可用标志为可用。
4.如权利要求1或2所述的方法,其特征在于,所述静态位至少包括如下位中的一种或多种:日期、序号和ID。
5.如权利要求1或2所述的方法,其特征在于,所述依据所述分库分表标识的生成规则,对所述库索引和表索引连同静态位进行拼装的步骤,包括:
依据所述分库分表标识的生成规则中定义的静态位、库索引和表索引在分库分表标识中的位置,对所述库索引和表索引连同静态位进行拼装,得到与所述数据库写访问请求相应的分库分表标识。
6.如权利要求1或2所述的方法,其特征在于,所述依据所述分库分表标识的生成规则,对与所述数据库写访问请求相应的分库分表标识中的库索引和表索引进行路由的步骤,包括:
依据所述分库分表标识的生成规则中定义的静态位、库索引和表索引在分库分表标识中的位置,解析出与所述数据库写访问请求相应的分库分表标识中的库索引和表索引;
依据解析得到的库索引和表索引,查找得到与所述数据库写访问请求相应的数据库和数据表。
7.如权利要求1或2所述的方法,其特征在于,还包括:
在所述待写入数据写入成功后,保存写入成功数据与相应分库分表标识的映射关系。
8.如权利要求7所述的方法,其特征在于,还包括:
接收数据库读访问请求;所述数据库读访问请求中携带有待读取数据;
依据所述写入成功数据与相应分库分表标识的映射关系,查找得到与所述数据库读访问请求中所携带的待读取数据对应的分库分表标识;
按照所述分库分表标识的生成规则对与所述数据库读访问请求相应的分库分表标识中的库索引和表索引进行路由;
从与路由结果相应的数据库下的数据表中读取所述待读取数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210380786.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:高抗汽蚀核主泵叶轮的水力设计方法及高抗汽蚀核主泵叶轮
- 下一篇:一种轮滑挂钩