[发明专利]数据库的读写方法及相关装置在审
申请号: | 201911415209.3 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111078802A | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 刘强;谷宁;邱大亮 | 申请(专利权)人: | 叮当快药科技集团有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F11/14;G06F16/21 |
代理公司: | 北京律和信知识产权代理事务所(普通合伙) 11446 | 代理人: | 谢清萍;苏捷 |
地址: | 100006 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 读写 方法 相关 装置 | ||
本申请提供了一种数据库的读写方法、服务器、系统、电子设备及非瞬时性计算机存储介质。其中,在服务器中配置有数据库,数据库包括:主数据库和至少两个备用数据库;主数据库和至少两个备用数据库用于写库操作和读库操作;其中,写库操作包括:检测主数据库的状态;根据检测结果,将写库请求发送至主数据库或至少两个备用数据库中的一个;读库操作包括:检测至少两个备用数据库的状态;根据检测结果,将读库请求发送至至少两个备用数据库中的至少一个。当数据库出现故障时,本申请的技术方案可自动进行数据库的切换,客户端无感知,也无需任何修改,直接连接到新的数据库。
技术领域
本发明属于计算机领域,具体地,涉及一种数据库的读写方法、服务器、系统、电子设备及非瞬时性计算机存储介质。
背景技术
数据库的可靠性及安全性直接影响平台的安全运行,目前流程的数据库高可用方案分为三种:
(一)RAC(Real Application Clusters):多个服务器组成一个共享的Cache,而这些服务器共享一个基于网络的存储。这个系统可以容忍单机/或是多机失败。不过系统内部的多个节点需要高速网络互连,基本上也就是要全部东西放在在一个机房内,或者说一个数据中心内。如果机房出故障,比如网络不通,那就坏了。所以仅仅用RAC还是满足不了一般互联网公司的重要业务的需要,重要业务需要多机房来容忍单个机房的事故。
(二)Data Guard:适合多机房,某机房一个production的数据库,另外其他机房部署standby的数据库。Standby数据库分物理的和逻辑的。物理的standby数据库主要用于production失败后做切换。而逻辑的standby数据库则在平时可以分担production数据库的读负载。
(三)MAA(Maximum Availability Architecture):而是前面两种的结合,来提供最高的可用性。每个机房内部署RAC集群,多个机房间用Data Guard同步。现有一种MAA方案——Oceanbase,其采用Linux的一个开源方案:Pacemaker,通过heartbeat和虚IP漂移的方式实现机房内部宕机自动切换。由于主备切换本质上是一个选主问题,理论上只有Paxos或者类似协议可以解决,而Pacemaker没有采用复杂的Paxos协议,它对硬件是有依赖的,比如要求主备节点之间通过直连线保证网络不会发生故障。该方式实现以及操作都极其复杂。
发明内容
针对现有技术的不足,本申请提供了一种数据库的读写方法,所述数据库包括主数据库和至少两个备用数据库;
所述方法包括:写库操作和读库操作;
所述写库操作包括:
检测所述主数据库的状态;
根据检测结果,将写库请求发送至所述主数据库或所述至少两个备用数据库中的一个;
所述读库操作包括:
检测所述至少两个备用数据库的状态;
根据检测结果,将读库请求发送至所述至少两个备用数据库中的至少一个。
在本申请的一些实施例中,根据检测结果,将写库请求发送至所述主数据库或所述至少两个备用数据库中的一个包括:
若所述主数据库正常,将所述写库请求发送至所述主数据库;
若所述主数据库出现故障,检测所述至少两个备用数据库的状态;
若所述至少两个备用数据库中的至少一个正常,将所述写库请求发送至一个正常的备用数据库。
在本申请的一些实施例中,所述读库操作还包括:
若所述主数据库正常且所述至少两个备用数据库均出现故障,将所述读库请求发送至所述主数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于叮当快药科技集团有限公司,未经叮当快药科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911415209.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:拱桥及其吊杆锚固结构
- 下一篇:一种折叠机用的折叠辊装置