主备服务器上数据库数据同步方法技术

技术编号:4180098 阅读:538 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种主备服务器上数据库数据同步方法,其中,所述方法包括如下步骤:主备服务器上由数据收集单元建立事务信息收集表,主服务器上由数据收集单元通过监控数据库写操作截取零散的业务数据,形成用户事务信息记录并备份到所述事务信息收集表;主服务器上由数据同步复制单元向备服务器同步用户事务信息收集表;主服务器上由数据转移单元转移已经同步的用户事务信息收集表。本发明专利技术提供的数据库数据同步方法,利用应用层数据收集单元、数据同步复制单元和数据转移单元分离数据收集和同步操作,减少对数据库服务器的性能影响,以新增的用户事务信息记录为最小同步单元,提高数据同步的完整性及可靠性。

【技术实现步骤摘要】

本专利技术涉及一种数据库数据同步方法,尤其涉及一种利用应用程序实现主备服务器上数据库数据同步方法
技术介绍
随着计算机信息技术的不断发展,人们对信息系统的依赖越来越大,人们对数据 库稳定性和安全性要求也越来越高。很多企业如银行、证券、保险等数据库服务器采用主备 双服务器方式保证数据存储的安全。在主用数据库服务器发生故障时,及时将备用服务器 切换为主用服务器,以保证信息系统数据库安全及系统运作稳定,大大縮短因数据库导致 的服务中断时间。同时,主备双服务器方式可以将用户系统业务数据安全备份,保证数据安 全。 要实现主备双服务器安全机制,必须保证主备服务器数据库中数据实现实时同 步,同时还要保证数据准确安全,不存在脏数据。与此同时,由于数据库中的数据量庞大及 信息系统的处理任务繁重,所以数据库同步功能不能占用太多的系统及网络资源,以免增 加系统负担,影响系统稳定性及安全性。 现有技术中常直接利用数据库复制机制实现主备数据库实时同步,即将数据从一 个数据源复制到多个数据源。其实施步骤一般为首先配置主数据库为分发数据库,并允许 订阅服务;再配置备用服务器订阅分发服务器;最后配置各代理进程的调度和属性,有快 照代理进程、分发代理进程和日志读取进程等。该技术方案需要对数据库的属性进行了修 改,不但配置过程复杂,而且容易对数据库操作造成影响。此外,该方案的配置过程受数据 库及操作系统限制。 图1是现有的利用应用程序实现数据库数据同步示意图,请参见图l,为了避免直 接复制数据库,该方案利用应用程序控制数据库同步复制功能,主用服务器数据库中设置 有包括同步标识号和SQL语句的同步表,该方法包括 A.备用服务器检查是否需要初始同步,即其保存的标识号是否存在于同步表中, 如果不存在,则执行步骤B、 C、 D做初始同步操作,如果存在,则执行步骤E、 F做同步操作; B.向主用服务器发送初始同步请求; C.主用服务器根据接收到的请求,在同步表中更新同步标识号,备份主用服务器 数据库,生成备份文件,向备份服务器发送备份成功消息; D.备用服务器接收到备份成功消息后,获取更新后的同步标识号和备份文件,用 备份文件恢复备用服务器数据库; E.主用服务器判断是否有需要实时同步的数据库操作;如果有需要同步的数据 库操作,则做下面操作; F.主用服务器复制需要同步的数据库操作的SQL语句到同步表中; G.备用服务器从所述同步表中获取该SQL语句,备用服务器用同样的SQL访问备用服务器数据库。 上述技术方案通过独立于数据库的应用程序控制数据库同步,减小了对数据库服 务器的性能影响。但是,该解决方案存在如下缺陷 1)在主用服务器复制SQL到同步表的过程中,并不能保证收集到同步表中的数据 的事务完整。大部分的应用系统中,用户的操作不仅仅是简单的操作一个表,也不会只是一 步操作,用户的操作大部分是由几步的操作组成的一个完整的事务,因此保证同步表中收 集到的数据的事务完整和安全至关重要。如果同步表中的数据不是一个面向用户的完整的 事务,将导致备用服务器数据库中的数据不完整或存在较多的脏数据。 2)主用服务器数据库中的同步复制表中收集了应用系统中所有的业务数据,数据 量比较大,主用服务器数据库必须定时删除其中的SQL语句,如果删除的SQL语句与备用服 务器数据库不同步就要进行重新初始同步。
技术实现思路
本专利技术所要解决的技术问题是提供一种,提高数据同步的完整性及可靠性,并进一步减小了对数据库服务器的性能影响。 本专利技术为解决上述技术问题而采用的技术方案是提供一种主备服务器上数据库数据同步方法,包括如下步骤主备服务器上由数据收集单元建立事务信息收集表;主服务器上由数据收集单元通过监控数据库写操作截取零散的业务数据,形成用户事务信息记录并备份到所述事务信息收集表;主服务器上由数据同步复制单元向备服务器同步用户事务信息收集表;主服务器上由数据转移单元转移已经同步的用户事务信息收集表。 上述的,其中,数据收集单元将用户对数据库的多条有顺序且相互关联SQL操作形成一条用户事务记录,每条用户事务信息记录包括该用户本次业务操作所有需要入库的业务数据,所述数据同步复制单元以一条用户事务信息记录为最小同步单位。 上述的,其中,当有新增用户事务信息记录时, 所述数据收集单元发送UDP消息通知所述数据同步复制单元向备服务器同步用户事务信 息收集表。 上述的,其中,所述数据转移单元定时将已经 同步的用户事务信息记录转移并进行本地二次备份。 本专利技术对比现有技术有如下的有益效果本专利技术提供的主备服务器上数据库数据 同步方法,利用应用层数据收集单元、数据同步复制单元和数据转移单元分离数据收集和 同步操作,减少对数据库服务器的性能影响,以新增的用户事务信息记录为最小同步单元, 本专利技术将多条相关联的业务数据进行备份并同步,提高数据同步的完整性及可靠性。附图说明 图1是现有的利用应用程序实现数据库数据同步示意图; 图2是本专利技术的利用应用程序单元实现数据库数据同步示意图; 图3是本专利技术的利用应用程序单元实现数据同步流程图。具体实施例方式下面结合附图和实施例对本专利技术作进一步的描述。 图2是本专利技术的利用应用程序单元实现数据库数据同步示意图。 请参见图2,本专利技术提供的数据库同步的方法,包括如下步骤主备服务器上由数据收集单元建立事务信息收集表,主服务器上由数据收集单元通过监控数据库写操作截取零散的业务数据,形成用户事务信息记录并备份到所述事务信息收集表;主服务器上由数据同步复制单元向备服务器同步用户事务信息收集表;主服务器上由数据转移单元转移已经同步的用户事务信息收集表。 —般业务系统中定义用户的一次操作中,会包括对数据库的多步有序操作,本发 明正是记录业务操作的每一步的SQL和他们的顺序并监视他们的执行情况,从而将该用户 本次业务操作所有需要入库并已经成功入库的业务数据形成一条用户事务记录,如果数据 库执行失败则不会收集到备份表中,如果数据库执行成功则将包含在一个事务中的所有 SQL语句,按照执行顺序作为一条数据库记录收集到备份表中。在执行数据库同步复制是也 同样将用户事务信息作为最小单位同步到备用服务器数据库中。也就是说,本专利技术是在数 据库的执行成功的基础之上考虑了用户的业务操作事务,将多条相关联的业务数据进行备 份并同步。 事务信息收集表用作一次备份表(spylog)和二次备份表(spylog—back), 一次备 份表(spylog)包括同步标识号Id、时间dt、SQL语句ops和状态st四个字段,其数据类型 分别为长整型(Bigint)、时间(Timestamp)、文本(text)和短整型。Spylog表如下表所示 <table>table see original document page 5</column></row><table> 二次备份表(Spyl0g_baCk)仅当同步出错时作检查备份,因此可以删除状态字段st,仅保留同步标识号Id、时间Timestamp和SQL语句三个字段,如下表所示<table>table see original document page 5</column&本文档来自技高网
...

【技术保护点】
一种主备服务器上数据库数据同步方法,其特征在于,所述方法包括如下步骤:    主备服务器上由数据收集单元建立事务信息收集表;    主服务器上由数据收集单元通过监控数据库写操作截取零散的业务数据,形成用户事务信息记录并备份到所述事务信息收集表;    主服务器上由数据同步复制单元向备服务器同步用户事务信息收集表;    主服务器上由数据转移单元转移已经同步的用户事务信息收集表。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓良玉任峰宏何剑华郑承夏
申请(专利权)人:上海世范软件技术有限公司
类型:发明
国别省市:31[中国|上海]

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

1