一种基于自主可控数据库的高可用性方法及构架技术

技术编号:12356290 阅读:88 留言:0更新日期:2015-11-20 11:37
本发明专利技术提供一种基于自主可控数据库的高可用性方法及构架,该架构是基于国产自主可控的数据库软件产品PowerDB设计的,包括连接池、HA模块、主库、备库组成,其中主库和备库作为主服务器和备用服务器的节点,连接池负责建立应用程序和数据库之间的连接,HA模块用来做集群的状态监控和主备机自动切换的部分,通过块级别的数据复制技术,以及同步事务提交方式,保证了在灾备工作中,主备库的数据一致性,同时又见减小了复制对性能的影响。

【技术实现步骤摘要】

本专利技术涉及数据库领域,尤其是数据库容灾

技术介绍
近几年来,随着社会信息量的急速增加,数据库产品被越来越广泛的应用,企业和用户对数据库的可用性,实时性和安全性,也提出了更高的要求。用户原有意识中的数据备份已经无法满足要求,大部分企业都需要更高端的容灾备份产品来解决人为误操作、软件错误、病毒入侵等“软”性灾害以及硬件故障、自然灾害等“硬”性灾害。在灾备产品方面,用户比较关注以下几个问题,高可用性,对数据库性能的影响以及主备端数据的一致性。很多主流的数据库,由于实现机制问题,经常会造成备库丢数据,或者主备库数据的不一致的情况。这都造成了产品的使用隐患,亟待解决。
技术实现思路
本专利技术的要解决的问题是,自主可控数据库(PowerDB数据库)管理软件,在灾备工作中,主备端由于数据复制造成的性能显著下降,灾备端数据库无法自动切换和回切,无法保证灾备端数据的一致性和可靠性,无法保证备库在介质恢复过程中处于只读模式等问题。本专利技术提供一种基于自主可控数据库的高可用性方法,该方法是采用一条一条记录的方式,随着主机日志的产生实施传送至备机,该方法具体包括以下步骤:步骤1:复制开始后,备库会根据时间线上的时间点向主库发起日志传输请求,主库根据要求将事务日志传送给备库;步骤2:主库上每一个事物提交,必须等待日志传入到主库上每一个事务提交,必须等待日志传入到备库上所有节点并写入磁盘后再提交。作为本专利技术的进一步改进,事务提交的方式是异步的,即在主库完成一个事务与在备库中看到数据库的变化之间有一个很小的时间差,但远远小于直接对日志的传输;作为本专利技术的进一步改进,只有当主、备库的所有服务器都接收到数据,并写入磁盘上的事务日志后,才能够执行提交或者回滚操作,同时,采用多个备库的同步流复制方案,要求每个备库的存储空间与主节点要保持一致,当同步备用节点异常时,采用角色转嫁给其他备用结点中的一员;或者,采用主备两个节点,再增设一个专门存放事务日志的位置(主、备节点都可以访问到)。为了保证主备切换的高可用性能,采用高可用性方法构建该构架,构架包括连接池、HA模块、主库、备库组成,其中主库和备库作为主服务器和备用服务器的节点,连接池负责建立应用程序和数据库之间的连接,HA模块用来做集群的状态监控和主备机自动切换的部分。进一步地,HA模块包括监控模块、切换模块及仲裁模块三个模块,其中:监控模块主要负责循环监控主库和备库所有服务器网络情况与数据库健康状况;仲裁模块负责接受监控模块提交的故障信息,对故障进行分类诊断和处理;切换模块负责接收仲裁模块的切换指令,完成主备节点切换。进一步地,重建主库,可以通过原主库生成最新的备份进行恢复,恢复完成后,原主库以备库模式启动,并成为新主库的新备库,将新产生的所有事务日志,进行主备的同步,同步完成后,完成数据库重建。进一步地,主数据库服务器硬件配置优于备数据库服务器。为了保证在介质恢复过程中,从库能够始终处于可读取状态,连接池将传输过来的SQL语句进行解析,将只读性操作分发至备机中的任意数据库,修改操作分发至主数据库。进一步地,当出现一主多备的情况,中间件会采取分布式计算中的动态算法和自适应算法来保证备机间的负载均衡。【附图说明】图1为本专利技术数据库高可用技术架构图;图2为本专利技术应用同异步流复制工具的尚可用架构图;图3为本专利技术高可用读写分离架构图;【具体实施方式】以下结合说明书附图对本专利技术进一步详细说明。应当理解为,此处所描述的实施例仅用于解释本专利技术,但并不限定本专利技术。本专利技术的高可用技术架构是基于PowerDB数据库软件产品提出的。PowerDB数据库是一款基于开源数据库PostgreSQL 二次开发并封装的数据库管理软件,其内核延续了PostgreSQL的架构和设计。该数据库功能全面,可以应用于政府、科研、互联网、工业企业等多种场景。本专利技术的高可用架构由连接池、HA模块、主库、备库组成,应用了同步/异步的流复制技术,其中主库和备库作为主服务器和备用服务器的节点(备库可以采取多个节点也可以采取级联架构),连接池负责建立应用程序和数据库之间的连接,同时具有主备库读写分离和负载均衡的用途。HA模块用来做集群的状态监控和主备机自动切换的部分。HA模块可以划分以下三个模块:监控模块、切换模块,仲裁模块。a)监控模块监控模块主要负责循环监控主库和备库所有服务器网络情况与数据库健康状况,具体包括:监控主/备库网关,服务器网络状况;监控主/备库心跳,数据库健康状况;监控主库角色对应IP ;监听主/备库监听是否启动;监控主备库虚拟IP,端口和数据库心跳;检查备机延迟情况,判断是否允许切换。b)仲裁模块负责接受监控模块提交的故障信息,对故障进行分类诊断和处理。通过仲裁模块的相关判断,来决定是否进行主备机进行的切换。这样,就可以避免出现资源争用,即所谓的“脑裂”现象。c)切换模块负责接收仲裁模块的切换指令,完成主备节点切换。具体工作包含主备节点的切换,主节点接管备库的虚拟VIP,主备角色转换,备节点升级为主节点,备节点停库,备节点备份配置文件,备节点启动数据库,备节点激活数据库,备节点接管主库虚拟VIP,备节点转换主备角色。—旦主库发生故障,监控模块采集后,通过仲裁模块进行判断与处理,将指令发送给切换模块,完成切换操作。在主库故障短时间内无法排除的情况下,为了避免备库单点运行,降低业务终端风险,需对主库进行快速重建,将容灾系统恢复到可提供故障自动切换的高可用状态。重建主库,可以通过原主库生成最新的备份进行恢复,恢复完成后,原主库以备库模式启动,并成为新主库的新备库。同样利用流复制的原理,将新产生的所有事务日志,进行主备的同步,同步完成后,完成数据库重建。快速重建技术要应用归档日志,同样利用流复制的原理,采用数据库并行恢复技术,加快重建速度。通常情况下,主数据库服务器硬件配置优于备数据库服务器。这样在主库故障排除或者重建后,为了保证服务的高性能,需进行回切操作,恢复原来的主备状态。这时原主库需要以备库1?式启动,启动后成为新主库的新备库。新主库需要将故障发生时刻至当前这一时间段里产生的事务日志复制到新备库(原主库)上,并在数据同步完成后,执行切换操作,恢复容架构的原有模式。在PowerDB的架构上,对主备两端的数据库块变化进行同步。但有别于传统的日志传输模式,本专利技术采用的是流复制的方式进行当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基于自主可控数据库的高可用性方法,其特征在于:该方法具体包括以下步骤:步骤1:复制开始后,备库会根据时间线上的时间点向主库发起日志传输请求,主库根据要求将事务日志传送给备库;步骤2:主库上每一个事物提交,必须等待日志传入到主库上每一个事务提交,必须等待日志传入到备库上所有节点并写入磁盘后再提交。

【技术特征摘要】

【专利技术属性】
技术研发人员:邢艳张宇缪燕刘红超李海张学深
申请(专利权)人:国家电网公司北京许继电气有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1