一种支持通用数据库基于物理隔离设备同步数据的方法

文档序号:6429298阅读:167来源:国知局
专利名称:一种支持通用数据库基于物理隔离设备同步数据的方法
技术领域
本发明属于电力系统电网数据管理技术领域,尤指一种支持通用数据库基于物理隔离设备同步数据的方法。
背景技术
智能电网调度技术支持系统网络架构分为安全I、II、III区。为了保证数据安全,I、 II区与III区之间架有物理隔离设备。安全I、II区上部署有实时监控与预警类应用、调度计划类应用和安全校核应用,而安全III区则部署有调度管理应用。为了对部署在安全I、II、III区上的四大类电网应用所需的电网数据进行统一的管理和维护,需要支持跨物理隔离设备同步数据。原有的方式是由上层应用来实现,在同步效率和可靠性上都较低,不能保证数据一致性,无法满足新一代智能电网调度技术支持系统的要求。需要提供一种全新的数据同步方法,可以做到在数据库层面的高效同步,支持多种数据库和多种物理隔离设备,具有高可靠性和完善的异常处理机制,保证已提交的数据不会在同步过程中丢失。

发明内容
本发明所要解决的技术问题是提供一种支持通用数据库基于物理隔离设备同步数据的方法。为解决以上问题,本发明提供一种支持通用数据库基于物理隔离设备同步数据的方法,包括以下步骤
(1)实时监视源端数据库的物理日志,若发现有新的变化数据产生,则依次解析物理日志的变化内容,生成逻辑日志,并放入外存逻辑日志文件中;
(2)当外存逻辑日志文件存在新的变化数据时,从外存逻辑日志文件读取一条或多条逻辑日志记录,然后封装成网络报文,并通过物理隔离设备与目的数据库建立链接,进行发送;
(3)目的数据库实时监视源端发送的连接请求,若收到连接请求,则创建一个逻辑日志接收线程,用于接收源端发送的数据;
(4)读取接收到的网络报文,重新组装成逻辑日志记录,并保存到外存逻辑日志文件
中;
(5)目的端实时监测接受到的外存逻辑日志文件,依次读取每条逻辑日志记录,写入到目的端数据库中,完成数据同步,若无法写入目的端数据库,则反复重新尝试写入,直至写入成功。本发明支持多种通用数据库产品,支持跨多种物理隔离设备进行数据同步;数据同步方式采用触发式实现,当源端数据库发生数据修改时,可以立即触发同步流程,同步到目的数据库中;针对物理隔离设备对带宽的限制,支持网络数据包的压缩功能,提高数据同步性能;数据同步采用异步复制方式,当数据写入源端数据库后立即将执行结果返回给调用者,数据同步在后台完成;数据同步支持DDL和DML语句,既可以同步INSERT、DELETE、UPDATE等数据更新语句,也可以同步CREATE、ALTER、DROP等结构更新语句;数据同步可以提供完善的异常处理机制,可以保证在网络异常或目的数据库异常时,在源端数据库已提交的数据不丢失。本发明的方法具有较强的通用性,可以支持多种数据库产品和多种物理隔离设备;具有完善的异常处理机制,可以最大程度保证源端数据库和目的数据库的数据一致性; 具有网络数据包压缩功能,可以提高数据同步的效率;异步复制方式可以最大限度降低数据同步对源端数据库数据访问的影响。本发明的工作原理为
实时监视源端数据库的物理日志,若发现有新的变化数据产生,则依次解析物理日志的变化内容,生成外存逻辑日志,然后从外存逻辑日志文件读取一条或多条逻辑日志记录, 封装成网络报文(可选择是否压缩),并通过物理隔离设备与目的数据库建立链接,进行发送。发送完毕后若未收到回执报文,将关闭并尝试重建链接,重发此网络报文,直至发送成功。目的数据库实时监视源端发送的连接请求,接收源端发送的数据,读取接收到的网络报文,重新组装成逻辑日志记录,并保存到外存逻辑日志文件中。如果保存成功,则发送回执报文到源端数据库,若出现失败,则关闭当前建立的链接,等待源端数据库重连重发。目的端实时监测外存逻辑日志文件,依次读取每条逻辑日志记录,写入到目的端数据库中,完成数据同步,若无法写入目的端数据库,则反复重新尝试写入,直至写入成功。


图1为本发明的一种支持通用数据库基于物理隔离设备同步数据的方法流程图。
具体实施例方式下面结合附图对本发明作进一步说明。图1为本发明的一种支持通用数据库基于物理隔离设备同步数据的方法的流程图。本发明的处理流程为
流程开始时,源端数据库接收外部的数据更新请求,形成变化数据,写入物理日志中。实时监视源端数据库的物理日志,若发现有新的变化数据产生,则依次解析物理日志的变化内容,生成逻辑日志,并放入外存逻辑日志文件中。当外存逻辑日志文件存在新的变化数据时,从外存逻辑日志文件读取一条或多条 (可动态配置)逻辑日志记录,然后封装成网络报文(可选择是否压缩),并通过物理隔离设备与目的数据库建立链接,进行发送。发送完毕后等待回执报文,若收到则准备进行下次发送,若未收到回执报文,将关闭并尝试重建链接,重发此网络报文,直至发送成功。目的数据库实时监视源端发送的连接请求,若收到连接请求,则创建一个逻辑日志接收线程,用于接收源端发送的数据。读取接收到的网络报文,重新组装成逻辑日志记录,并保存到外存逻辑日志文件中。如果上述过程成功,则发送回执报文到源端数据库。若出现失败,则关闭当前建立的链接,等待源端数据库重连重发。目的端实时监测接受到的外存逻辑日志文件,依次读取每条逻辑日志记录,写入到目的端数据库中,完成数据同步。若无法写入目的端数据库,则反复重新尝试写入,直至写入成功。 本发明按照优选实施例进行了说明,应当理解,上述实施例不以任何形式限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。
权利要求
1.一种支持通用数据库基于物理隔离设备同步数据的方法,其特征在于包括以下步骤(1)实时监视源端数据库的物理日志,若发现有新的变化数据产生,则依次解析物理日志的变化内容,生成逻辑日志,并放入外存逻辑日志文件中;(2)当外存逻辑日志文件存在新的变化数据时,从外存逻辑日志文件读取一条或多条逻辑日志记录,然后封装成网络报文,并通过物理隔离设备与目的数据库建立链接,进行发送;(3)目的数据库实时监视源端发送的连接请求,若收到连接请求,则创建一个逻辑日志接收线程,用于接收源端发送的数据;(4)读取接收到的网络报文,重新组装成逻辑日志记录,并保存到外存逻辑日志文件中;(5)目的端实时监测接收到的外存逻辑日志文件,依次读取每条逻辑日志记录,写入到目的端数据库中,完成数据同步,若无法写入目的端数据库,则反复重新尝试写入,直至写入成功。
2.根据权利要求1所述的一种支持通用数据库基于物理隔离设备同步数据的方法,其特征在于在所述步骤2)中,发送完毕后等待回执报文,若收到回执报文则准备进行下次发送,若未收到回执报文,将关闭并重建链接,重发此网络报文,直至发送成功。
3.根据权利要求1所述的一种支持通用数据库基于物理隔离设备同步数据的方法,其特征在于在所述步骤3)和4)中,如果保存成功,则发送回执报文到源端数据库,若出现失败,则关闭当前建立的链接,等待源端数据库重连重发。
4.根据权利要求1所述的一种支持通用数据库基于物理隔离设备同步数据的方法,其特征在于在所述步骤2)中,针对物理隔离设备对带宽的限制,支持网络数据包的压缩功能,提高数据同步性能。
5.根据权利要求1所述的一种支持通用数据库基于物理隔离设备同步数据的方法,其特征在于在所述步骤2)中,数据同步采用异步复制方式,当数据写入源端数据库后立即将执行结果返回给调用者,数据同步在后台完成。
6.根据权利要求1所述的一种支持通用数据库基于物理隔离设备同步数据的方法,其特征在于数据同步支持DDL和DML语句,既同步数据更新语句,也同步结构更新语句。
全文摘要
本发明公开了一种支持通用数据库基于物理隔离设备同步数据的方法,包括以下步骤1)实时监视源端数据库的物理日志,若发现有新的变化数据产生,则依次解析物理日志的变化内容,生成逻辑日志,并放入外存逻辑日志文件中;2)从外存逻辑日志文件读取逻辑日志记录,然后封装成网络报文,并通过物理隔离设备与目的数据库建立链接,进行发送;3)目的数据库若收到连接请求,则创建一个逻辑日志接收线程,用于接收源端发送的数据;4)读取接收到的网络报文,并保存到外存逻辑日志文件中;5)目的端实时监测接受到的外存逻辑日志文件,依次读取并写入到目的端数据库中。本发明的方法具有较强的通用性,可以支持多种数据库产品和多种物理隔离设备。
文档编号G06F17/30GK102289469SQ201110210120
公开日2011年12月21日 申请日期2011年7月26日 优先权日2011年7月26日
发明者季学纯, 张鸿, 翟明玉, 陈鹏, 黄海峰 申请人:国电南瑞科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1