[发明专利]一种基于自主可控数据库的高可用性方法及构架在审
申请号: | 201510530766.5 | 申请日: | 2015-08-26 |
公开(公告)号: | CN105069160A | 公开(公告)日: | 2015-11-18 |
发明(设计)人: | 邢艳;张宇;缪燕;刘红超;李海;张学深 | 申请(专利权)人: | 国家电网公司;北京许继电气有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京立成智业专利代理事务所(普通合伙) 11310 | 代理人: | 张江涵 |
地址: | 100017 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 自主 可控 数据库 可用性 方法 构架 | ||
技术领域
本发明涉及数据库领域,尤其是数据库容灾技术领域。
背景技术
近几年来,随着社会信息量的急速增加,数据库产品被越来越广泛的应用,企业和用户对数据库的可用性,实时性和安全性,也提出了更高的要求。用户原有意识中的数据备份已经无法满足要求,大部分企业都需要更高端的容灾备份产品来解决人为误操作、软件错误、病毒入侵等“软”性灾害以及硬件故障、自然灾害等“硬”性灾害。在灾备产品方面,用户比较关注以下几个问题,高可用性,对数据库性能的影响以及主备端数据的一致性。很多主流的数据库,由于实现机制问题,经常会造成备库丢数据,或者主备库数据的不一致的情况。这都造成了产品的使用隐患,亟待解决。
发明内容
本发明的要解决的问题是,自主可控数据库(PowerDB数据库)管理软件,在灾备工作中,主备端由于数据复制造成的性能显著下降,灾备端数据库无法自动切换和回切,无法保证灾备端数据的一致性和可靠性,无法保证备库在介质恢复过程中处于只读模式等问题。
本发明提供一种基于自主可控数据库的高可用性方法,该方法是采用一条一条记录的方式,随着主机日志的产生实施传送至备机,该方法具体包括以下步骤:
步骤1:复制开始后,备库会根据时间线上的时间点向主库发起日志传输请求,主库根据要求将事务日志传送给备库;
步骤2:主库上每一个事物提交,必须等待日志传入到主库上每一个事务提交,必须等待日志传入到备库上所有节点并写入磁盘后再提交。
作为本发明的进一步改进,事务提交的方式是异步的,即在主库完成一个事务与在备库中看到数据库的变化之间有一个很小的时间差,但远远小于直接对日志的传输;
作为本发明的进一步改进,只有当主、备库的所有服务器都接收到数据,并写入磁盘上的事务日志后,才能够执行提交或者回滚操作,同时,采用多个备库的同步流复制方案,要求每个备库的存储空间与主节点要保持一致,当同步备用节点异常时,采用角色转嫁给其他备用结点中的一员;或者,采用主备两个节点,再增设一个专门存放事务日志的位置(主、备节点都可以访问到)。
为了保证主备切换的高可用性能,采用高可用性方法构建该构架,构架包括连接池、HA模块、主库、备库组成,其中主库和备库作为主服务器和备用服务器的节点,连接池负责建立应用程序和数据库之间的连接,HA模块用来做集群的状态监控和主备机自动切换的部分。
进一步地,HA模块包括监控模块、切换模块及仲裁模块三个模块,其中:监控模块主要负责循环监控主库和备库所有服务器网络情况与数据库健康状况;仲裁模块负责接受监控模块提交的故障信息,对故障进行分类诊断和处理;切换模块负责接收仲裁模块的切换指令,完成主备节点切换。
进一步地,重建主库,可以通过原主库生成最新的备份进行恢复,恢复完成后,原主库以备库模式启动,并成为新主库的新备库,将新产生的所有事务日志,进行主备的同步,同步完成后,完成数据库重建。
进一步地,主数据库服务器硬件配置优于备数据库服务器。
为了保证在介质恢复过程中,从库能够始终处于可读取状态,连接池将传输过来的SQL语句进行解析,将只读性操作分发至备机中的任意数据库,修改操作分发至主数据库。
进一步地,当出现一主多备的情况,中间件会采取分布式计算中的动态算法和自适应算法来保证备机间的负载均衡。
附图说明
图1为本发明数据库高可用技术架构图;
图2为本发明应用同异步流复制工具的高可用架构图;
图3为本发明高可用读写分离架构图;
具体实施方式
以下结合说明书附图对本发明进一步详细说明。应当理解为,此处所描述的实施例仅用于解释本发明,但并不限定本发明。
本发明的高可用技术架构是基于PowerDB数据库软件产品提出的。PowerDB数据库是一款基于开源数据库PostgreSQL二次开发并封装的数据库管理软件,其内核延续了PostgreSQL的架构和设计。该数据库功能全面,可以应用于政府、科研、互联网、工业企业等多种场景。
本发明的高可用架构由连接池、HA模块、主库、备库组成,应用了同步/异步的流复制技术,其中主库和备库作为主服务器和备用服务器的节点(备库可以采取多个节点也可以采取级联架构),连接池负责建立应用程序和数据库之间的连接,同时具有主备库读写分离和负载均衡的用途。HA模块用来做集群的状态监控和主备机自动切换的部分。
HA模块可以划分以下三个模块:监控模块、切换模块,仲裁模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;北京许继电气有限公司,未经国家电网公司;北京许继电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510530766.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子阅报栏和电子阅报栏的操作方法
- 下一篇:数据挖掘方法及系统