[发明专利]db分库hash方法、电子设备、存储介质和对数据访问的装置有效
申请号: | 201710149691.5 | 申请日: | 2017-03-14 |
公开(公告)号: | CN108572993B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 何刚 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/22 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | db hash 方法 电子设备 存储 介质 数据 访问 装置 | ||
本发明提供了一种数据库分库hash方法、电子设备、存储介质和对数据访问的装置,能够保证更好的数据库访问性能并提升服务质量。该数据库分库hash方法包括:对虚拟db进行hash分库;将经hash分库的虚拟db以多对一的方式映射到实际的物理db。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库分库hash方法、装置、电子设备和存储介质。
背景技术
在互联网应用中,常常需要支撑海量的用户,高并发的数据访问,单台数据库难以承载,通过hash分库将数据分布到多库,由多台服务器承载是最常用的方法。
为此,提出了直接hash。直接hash是通过hash将数据划分到不同的库上,选取作为hash的字段,每次访问需要带上该字段,通过其对应的值,计算hash函数作用后的值来判定当前访问所落在的数据库上,然后直接访问该数据库并返回结果。然而,直接hash除了会产生rehash的问题之外,其扩容以及故障切换成本是非常高昂的并且其并未考虑到机器的差异性,因此其不能按机器配置合理划分数据和访问流量。
针对直接hash可能产生的rehash问题而提出了一致性hash。一致性hash不仅对数据进行hash,也对数据库做hash,具体做法是构造一个hash环,将数据库hash后放到环上的某个位置,然后对数据hash后在环上找到下一个位置的数据库,即,将该数据的存取放到这个对应的数据库上。然而,一致性hash的问题在于容灾的不均衡以及也同样忽略了机器之间的差异性。
发明内容
有鉴于此,本发明提出一种数据库分库hash方法、电子设备和存储介质以及一种用于在根据数据库分库hash方法对数据库进行分库的情况下执行数据访问的装置,从而使得hash或者一致性hash方法分库更加实用,具体而言,考虑到了实际机器差异性的问题,按着机器配置高低重新映射,确保数据和访问流量的均衡,并且同时也解决了数据库经直接hash扩容切换成本过高的问题以及和一致性hash的容灾不均衡性。
为实现上述目的,根据本发明的一个方面,提供了一种数据库分库hash方法。
本发明实施例的一种数据库分库hash方法包括:对虚拟db(db:database数据库)进行hash分库;将经hash分库的虚拟db以多对一的方式映射到实际的物理db。
可选地,所述hash分库可以借助直接hash或一致性hash来实现。
为实现上述目的,根据本发明的另一方面,提供了一种用于在执行本发明的方法对数据库分库情况下执行数据访问的装置。
所述装置包括:应用hash模块、虚拟db管理模块、虚拟db映射模块、物理db数据源管理模块以及db访问代理模块,其中,
所述应用hash模块用于通过hash分库定位到虚拟db;
所述虚拟db管理模块用于在接收到用户的db访问请求后根据虚拟db信息到所述虚拟db映射模块请求物理db数据源连接以及用于接收由所述db访问代理模块返回的执行结果并返回给客户;
所述虚拟db映射模块用于判断是否存在对应的物理db数据源连接;
所述物理db数据源管理模块用于在存在所述对应的物理db数据源连接的情况下将其返回给所述虚拟db管理模块;
所述db访问代理模块用于接收所述虚拟db管理模块提供的所述对应的物理db数据源连接以及执行请求并且返回执行结果到所述虚拟db管理模块。
可选地,hash分库可以借助直接hash或一致性hash来实现。
可选地,虚拟db映射模块还用于在添加虚拟db或物理db时更新映射,所述映射由系统管理员配置。
可选地,所述db访问代理模块是开源组件,例如mybatis。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710149691.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种商品排序的方法及装置
- 下一篇:一种数据迁移的处理方法及服务器