公开/公告号CN103077242A
专利类型发明专利
公开/公告日2013-05-01
原文格式PDF
申请/专利权人 北京佳讯飞鸿电气股份有限公司;
申请/专利号CN201310011281.6
发明设计人 单洪政;
申请日2013-01-11
分类号G06F17/30(20060101);H04L12/703(20130101);H04L29/08(20060101);H04L29/12(20060101);H04L12/24(20060101);
代理机构11246 北京众合诚成知识产权代理有限公司;
代理人薄观玖
地址 100095 北京市海淀区地锦路5号院1号楼
入库时间 2024-02-19 18:43:12
法律状态公告日
法律状态信息
法律状态
2016-03-09
授权
授权
2013-06-05
实质审查的生效 IPC(主分类):G06F17/30 申请日:20130111
实质审查的生效
2013-05-01
公开
公开
技术领域
本发明属于数据库系统技术领域,特别涉及一种数据库服务器双机热备的方法。
背景技术
数据库双机热备份技术目前主要有几种类型:
(1)基于主备用服务器共享存储设备的双机热备技术
这种方案的缺点由于共用存储设备,因此不便于实现物理上的容灾和备份。
(2)基于日志的主备用数据库复制技术
这种方案虽然能够实现数据库的复制和备份,但是不能保证数据库的一致性,也不能及时发现主备用数据库存在的数据不一致情况。
(3)基于集群技术的数据库冗余备份技术
这种方案虽然相对比较完善,但缺点是实体比较多,部署和维护比较复杂,实施成本也比较高。
此外,上述几种方案往往不能及时发现主备用数据库不一致的情况,从而不能及时地给出告警和处理。
发明内容
本发明针对上述缺陷公开了一种实现数据库服务器双机热备的方 法,其特征在于:该数据库服务器双机热备系统包括主用数据库服务器和备用数据库服务器;所述两个服务器之间通过同步网口进行定时握手、主从协商、主备切换、数据访问和实时数据同步,其中主用数据库服务器的业务网口使用虚拟IP地址对外提供数据库服务,备机的业务网口不对外提供数据库服务,数据库客户端通过虚拟IP地址,采用TCP协议访问主用数据库服务器,
所述主备机之间的定时握手和主备切换流程包括如下步骤:
步骤一,主备机之间通过同步网口每秒发送握手消息,握手消息采用UDP协议传送,握手消息内容包含自身的主备用状态、以及同步网口的网络IP地址;
步骤二,当备机连续五秒没有收到主机发送的握手消息,或者收到主用降为备用的消息时,备机即切换到主用状态;
步骤三,当出现双机同时作为主用机的情况时,同步网口IP地址较小的服务器降为备用;
所述数据访问和实时数据同步流程包括如下步骤:
步骤一,主备机之间通过同步网口,采用TCP协议进行数据同步通信;
步骤二,当收到数据库客户端的数据存储请求时,只有主备机都正确完成数据库操作时,主用数据库才向客户端返回成功,否则返回失败,同时产生“主备用数据库数据不一致”告警,在该步骤中,对于主备机数据库操作的正确性是通过检测主备机的数据一致性来完成的,
步骤三,主用数据库定期检查未同步的数据库记录,重新进行数据同步。
为了实现本发明的发明目的,本发明还提供了一种实现数据库服务器双机热备的方法,其特征在于:该数据库服务器双机热备系统包括主用数据库服务器和备用数据库服务器,所述两个服务器之间通过同步网口进行定时握手、主从协商、主备切换、数据访问和准实时数据同步,其中主用数据库服务器的业务网口使用虚拟IP地址对外提供数据库服务,备机的业务网口不对外提供数据库服务,数据库客户端通过虚拟IP地址,采用TCP协议访问主用数据库服务器,
所述主备机之间的定时握手和主备切换流程包括如下步骤:
步骤一,主备机之间通过同步网口每秒发送握手消息,握手消息采用UDP协议传送,握手消息内容包含自身的主备用状态、以及同步网口的网络IP地址;
步骤二,当备机连续五秒没有收到主机发送的握手消息,或者收到主用降为备用的消息时,备机即切换到主用状态;
步骤三,当出现双机同时作为主用机的情况时,同步网口IP地址较小的服务器降为备用;
所述数据访问和准实时数据同步流程包括如下步骤:
步骤一,主备机之间通过同步网口,采用TCP协议进行数据同步通信;
步骤二,当收到数据库客户端的数据存储请求时,只要主用数据库服务器正确完成数据库操作,同时标记该记录为未同步,主机便向数据库客户端返回成功;
步骤三,主机向备机发送数据同步命令,当备机完成数据库同步操作,返回成功时,主机将该记录标示为已同步;
步骤四,当备机返回数据库同步失败,则主机产生“主备用数据库数据不一致”告警;
步骤五,主用数据库定期检查未同步的数据库记录,重新进行数据同步;
步骤六,在上述步骤三和四中,对于主备机数据库操作的正确性是通过检测主备机的数据一致性来完成的。
所述主备机的数据的一致性检测包括如下步骤:
步骤一,当主用数据库服务器操作成功,而备用数据库操作失败时,产生“主备用数据库不一致”告警;
步骤二,主备用数据库服务器定期将所有数据库记录按照事先设定的规则进行分段,对分段计算校验码,通过对比主备机的校验码,发现数据不一致的情况;
其中,校验码的计算采用散列算法。
步骤三,当出现数据不一致情况时,产生“主备用数据库不一致”告警。
所述当产生主备用数据库不一致告警时,采用主用数据库的数据完全覆盖备用数据库的步骤来进行主备用数据的一致性恢复。
所述当产生主备用数据库不一致告警时,采用将备用数据库中的数据合并到主用数据库的步骤来进行主备用数据的一致性恢复, 从而达到主备用数据库一致的目的,并且不会造成数据丢失,其中,数据合并操作包括对已存在的记录进行更新操作,对不存在的记录进行插入操作。
因此,本发明的实时能够获得的有益效果包括提供了一种可靠的数据库双机热备机制,提供了可灵活选择的实时/准实时数据库同步机制,既可以提供可靠的实时数据同步机制,又可以提供准实时数据同步操作,因此能够兼顾数据访问可靠性和数据访问性能。同时,提供全面的主备用数据库的数据一致性检测方法,通过对主备用数据库的操作结果进行比较,以及对主备用数据库定期进行数据分段,计算校验码并且进行比较,可以及时发现主备用数据一致性问题。本发明还提供可选择的数据一致性恢复手段,用户既可以选择进行简单的数据覆盖和数据替换,也可以进行较为完善的数据合并,实现数据的完整性和一致性。
附图说明
图1是数据库双机热备示意图
图2是主备用数据成功进行实时同步的流程示意图
图3是主备用数据没有成功进行实时同步的流程示意图
图4是主备用数据成功进行准实时同步的流程示意图
图5是主备用数据准实时没有成功进行同步的流程示意图
具体实施方式
本发明提供一种实现数据库服务器双机热备的方法。在主用数 据库服务器和备用数据库服务器之间,通过同步网口进行定时握手、主从协商、主备切换、数据访问和数据同步,其中数据库服务器的业务网口使用虚拟IP地址对外提供数据库服务,而数据库客户端通过虚拟IP地址,采用TCP协议访问主用数据库服务器。
下面结合附图,对优选实施例作详细说明。
如图1所示为包括数据访问客户端、主用数据库服务器、备用数据库服务器的双机热备系统。
(1)主备机之间的定时握手和主备切换流程如下:
a)主机通过业务网口使用虚拟IP地址对外提供数据库服务,备机的业务网口不对外提供数据库服务。
b)主备机之间通过同步网口定时,通常是每秒发送握手消息,握手消息采用UDP协议传送,握手消息内容包含自身的主备用状态、以及同步网口的网络IP地址。
c)当备机连续5秒没有收到主机发送的握手消息,或者收到主用降为备用的消息时,备机即切换到主用状态。
d)当出现双机同时作为主用的情况时,同步网口IP地址较小的服务器降为备用。
图2和图3示出了数据库访问和以实时同步的方式进行数据同步操作的流程,其中图2是操作成功的流程,图3是操作不成功的流程。如图2所示,主备机之间通过同步网口,采用TCP协议进行数据同步通信。当收到数据库客户端的数据存储请求时,主用数据库服务器产生插入记录到表A的命令,并且通知备用数据库服务器 进行相应的数据库操作,主用数据库服务器只有主备机都正确完成数据库操作时,主用数据库才向客户端返回成功,否则,即如图3所示,主用数据库向客户端返回“失败”,并且回滚数据库,同时产生“主备用数据库数据不一致”告警。在该操作中,主备用数据一致性检测是通过下述的步骤完成的:
步骤一,当主用数据库服务器操作成功,而备用数据库操作失败时,产生“主备用数据库不一致”告警;
步骤二,主备用数据库服务器定期将所有数据库记录按照事先设定的规则进行分段,该规则可以根据具体要求确定,对分段计算校验码,通过对比主备机的校验码来发现数据不一致的情况;并且当出现数据不一致情况时,产生“主备用数据库不一致”告警。
在步骤二中,校验码的计算可以采用散列算法,也可根据具体情况选择其他算法。
当产生主备用数据库不一致告警的时候,主备用数据一致性的恢复主要有两种方法,可以根据需要选用:
方法一 ,用主用数据库的数据完全覆盖备用数据库的数据,从而达到主备用数据库数据一致的目的。
方法二,将备用数据库中的数据合并(merge)到主用数据库,从而达到主备用数据库一致的目的,并且不会造成数据丢失,其中数据合并操作包括对已存在的记录进行更新操作,对不存在的记录进行插入操作。
图4和图5示出了数据库访问和以准实时同步的方式进行数据 同步操作的流程,其中图4是操作成功的流程,图5是操作不成功的流程。如图4所示,主备机之间通过同步网口,采用TCP协议进行数据同步通信。当收到数据库客户端的数据存储请求时,只要主用数据库服务器正确完成数据库操作,同时标记该记录为未同步,主机便向数据库客户端返回成功,同时,产生插入记录到表A的命令,并且通知备用数据库服务器进行相应的数据同步操作命令,当备机完成数据库同步操作,返回成功时,主机将该记录标示为已同步;而如图5所示,当备机返回数据库同步失败时,则主机产生“主备用数据库数据不一致”告警。主用数据库定期检查未同步的数据库记录,重新进行数据同步,在该准实时同步流程中,对于主备机数据库操作的正确性也是通过检测主备机的数据一致性来完成的,包括如下步骤:
步骤一,当主用数据库服务器操作成功,而备用数据库操作失败时,产生“主备用数据库不一致”告警;
步骤二,主备用数据库服务器定期将所有数据库记录按照事先设定的规则进行分段,该规则根据具体要求确定,对分段计算校验码,通过对比主备机的校验码来发现数据不一致的情况。并且当出现数据不一致情况时,产生“主备用数据库不一致”告警。
在步骤二中,校验码的计算可以采用散列算法,也可根据具体情况选择其他算法。
当产生主备用数据库不一致告警的时候,主备用数据一致性的恢复主要有两种方法,可以根据需要选用:
方法一 ,用主用数据库的数据完全覆盖备用数据库的数据,从而达到主备用数据库数据一致的目的。
方法二,将备用数据库中的数据合并(merge)到主用数据库,从而达到主备用数据库一致的目的,并且不会造成数据丢失,其中数据合并操作包括对已存在的记录进行更新操作,对不存在的记录进行插入操作。
本发明提供主备机握手、主备协商和主备切换机制,提供了主备机实时/准实时数据同步操作机制,既可以提供可靠的实时数据同步机制,又可以提供准实时数据同步操作,因此能够兼顾数据访问可靠性和数据访问性能。同时,本发明还提供主备机数据一致性检测方法和恢复手段,确保及时发现问题,及时恢复正常使用。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
机译: 配置数据库系统,分布式配置数据库系统,存储和使用配置数据的方法,数据库服务器,向数据库组件提供访问的方法,使用数据库服务器向数据库中存储的组件提供并行访问的方法以及使用数据库服务器的方法控制系统
机译: 实现分布式事务的方法,设备和数据库服务器
机译: 一种利用实用性方法对连接到数据库服务器的性能工作进行审核的监控系统和方法