[发明专利]数据库访问方法、装置和数据库系统有效
| 申请号: | 201510846348.7 | 申请日: | 2015-11-27 |
| 公开(公告)号: | CN106815218B | 公开(公告)日: | 2020-12-01 |
| 发明(设计)人: | 闵桂龙 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/28 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 马爽;黄健 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 访问 方法 装置 系统 | ||
本发明实施例提供一种数据库访问方法、装置和数据库系统,该数据库包含读写库和只读库,所述方法包括:接收来自客户端的数据访问请求,所述数据访问请求中携带待访问的数据的键值,根据所述键值确定所述待访问的数据对应的路由表项,其中,所述路由表项中包含所述键值和所述待访问数据的目标数据库,所述目标数据库为所述读写库或所述只读库,将所述数据访问请求发送至所述目标数据库。所述方法通过为中间件增加路由功能,使得中间件根据路由表项确定要访问的目标数据库,对待访问的数据进行精确路由,不需要对客户端进行任何修改就能够保证数据的一致性。
技术领域
本发明实施例涉及数据库技术,尤其涉及一种数据库访问方法、装置和数据库系统。
背景技术
在信息日益膨胀的今天,存储系统变的越来越重要,存储系统主要分为关系型数据库和非关系型数据库,在传统企业中主要使用了关系型数据库,关系型数据库主要通过中间件实现的数据库读写分离和横向扩展(Scale horizontally,简称Scale-Out),但这类方案无法兼顾性能和强一致性,需要应用层自身考虑应用读写一致性,对于传统企业类用户就要修改应用来适配这种新架构。
这类中间件主要在互联网应用中兴起,为了提高并发性能,很多互联网场景一般选择最终一致性的读写分离,因为写库到读库之间使用同步复制会制约写性能,所以一般使用异步复制,写库和读库的数据是最终一致性的,在性能和一致性两者间做了取舍,但当应用要求读写强一致性时,就要要求应用来选择访问哪个库,互联网应用场景大多没有考虑实现读写强一致性的场景,无法同时满足读写分离和读写强一致性要求。
发明内容
本发明实施例提供一种数据库访问方法、装置和数据库系统,能够保证数据的读写强一致性。
本发明第一方面提供一种数据库访问方法,中间件首先接收来自客户端的数据访问请求,然后,根据数据访问请求中携带的待访问的数据的键值确定待访问的数据对应的路由表项,最后,将数据访问请求发送至该路由表项所指示的目标数据库,其中,路由表项中包含键值和待访问数据的目标数据库,目标数据库为读写库或只读库。中间件还接收来自目标数据库返回的结果,将结果返回给客户端。所述方法通过为中间件增加路由功能,使得中间件根据路由表项确定要访问的目标数据库,对待访问的数据进行精确路由,不需要对客户端进行任何修改就能够保证数据的一致性。
在本发明第一方面的基础上,在一种可能的实现方式中,如果目标数据库为只读库,且数据库包含至少两个只读库,那么中间件根据至少两个只读库的负载大小,从至少两个只读库中确定一个目标只读库,并将数据访问请求发送至目标只读库,实现数据库之间的负载均衡。
在本发明第一方面的基础上,在一种可能的实现方式中,中间件接收数据访问请求之前,还需要将待访问的数据写入目标数据库,具体的中间件接收来自客户端的数据写入请求,数据写入请求中携带待写入的数据,待写入的数据中包含该键值,然后,为待写入的数据创建路由表项,将路由表项中的目标数据库设置为读写库,最后将数据写入请求发送至读写库,以将待写入的数据写入读写库,读写库还要将待写入的数据同步到只读库,保持读写库和制度库的数据的一致性。相应的,中间件将数据写入请求发送至读写库之后,在确定读写库将待写入的数据同步到只读库时,将该路由表项的目标数据库设置为只读库,后续就可以从只读库中访问待写入的数据。
在本发明第一方面的基础上,在一种可能的实现方式中,如果接收到来自客户端发送的数据更新请求,则根据数据更新请求中携带的待更新的数据的键值确定待更新的数据对应的该路由表项,由于数据更新请求需要修改数据,因此中间件将该路由表项中的目标数据库设置为读写库,将数据更新请求发送至读写库;并在确定读写库将待更新的数据同步到只读库后,将路由表项的目标数据库设置为只读库。
在本发明第一方面的基础上,在一种可能的实现方式中,如果中间件确定只读库发生故障,那么将路由表项中的目标数据库设置为读写库,以保证数据库的强一致性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510846348.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:故事推荐方法和故事推荐装置
- 下一篇:数据库编辑器的编辑方法和装置





