一种面向双机冗余的数据同步方法与流程

文档序号:14684436发布日期:2018-06-12 23:06阅读:406来源:国知局
一种面向双机冗余的数据同步方法与流程

本发明属于工业自动化控制技术领域。,更具体地说,涉及一种面向双机冗余的数据同步方法。



背景技术:

工控组态软件随着微处理器技术、计算机网络技术、计算机软件技术的发展而成为现今工厂主流监控方式。而双机冗余是工控组态软件系统稳定、可靠、有效、持续运行的重要保证。它通过系统冗余的方法解决计算机应用系统的可靠性问题,具有安装维护简单、稳定可靠、监测直观等优点。双机冗余的核心是将计算机安装成互为备份的两台,同一时间只有一台计算机采集数据。正常情况下执行采集任务的计算机称为主机,备机是在主机正常的情况下,主机发实时数据给备机,备机将实时数据自己处理成历史数据、报警等信息,备机在运行的时候进行一次数据同步。当运行中的主机出现故障,备机将在短时间内自动切换为主机,从而恢复整个系统的运行。

双机冗余实现的关键是如何实现主备机之间的数据同步,要求数据的同步满足系统实时性、可靠性和高效性的要求。在以往的解决方案中,数据的同步过程经常需要人工干预,例如需要人工把数据库中的数据导出发送到目的端,再由人工导入到目的数据库,整个过程既繁琐又不能实时,而且会影响到数据的完整性、可靠性和安全性。

有鉴于此,本发明提出了一种面向双机冗余的数据同步方法,用以解决现有技术中由于数据同步效率低,完整性、安全性和可靠性差等问题。



技术实现要素:

本发明要解决的技术问题,在于提供一种面向双机冗余的数据同步方法,用以解决现有技术中由于数据同步效率低,完整性、安全性和可靠性差等问题。

本发明是这样实现的:一种面向双机冗余的数据同步方法,在主机和备机上同时运行数据同步模块;当备机运行起来时,数据同步模块将比对主、备机上的数据的时间索引;当主、备机数据的时间索引不一致时,进一步判断需同步的时间长度,数据同步模块将主机在该时间长度内新增的数据同步至备机。

进一步的,所述主机上的数据的时间索引保存在主机时间索引文件中,该主机时间索引文件存储所有历史IO点的压缩时间信息,且该主机索引文件以年为单位,每年只生成一个主机时间索引文件,当主机进行数据压缩时,压缩数据段的起始时间、结束时间以及该段数据所在的数据文件名称写入所述主机时间索引文件;

所述备机上的数据的时间索引保存在备机时间索引文件中,当备机获取同步数据的同时获取同步数据中的时间索引数据,并将该时间索引数据写入备机时间索引文件中。

进一步的,所述数据同步模块比对主、备机上的数据的时间索引的过程是:

备机启动时,位于备机的数据同步模块将备机每个历史IO点在所述备机时间索引文件中最后一个数据包中的结束时间T1发给主机;

主机的数据同步模块获取到所述结束时间T1后,将T1与主机时间索引文件中该历史IO点的记录起始时间T2进行比较。.

进一步的,所述需同步的时间长度判断方法是:

(1)当T1≤T2时,主机以当前时间往前遍历该历史IO点所有历史数据时间T3,直到T3≤T2为止,则此时的T3为该历史IO点时间同步的起始时间;

(2)当T1>T2时,主机以当前时间往前遍历该历史IO点所有历史数据时间T3,直到T3≤T1为止,则此时的T3为该历史IO点时间同步的起始时间。

进一步的,所述数据同步模块将主机在该时间长度内新增的数据同步至备机的具体过程是:

当确定需同步的时间长度后,数据同步模块将该时间长度内位于主机的历史数据文件发送至备机;

备机在同步主机历史数据的同时,将获取同步数据中的时间索引数据,并将该时间索引数据写入备机临时时间索引文件中;

当备机完成该历史IO点数据同步,生成历史IO点备份文件后,上述临时时间索引数据将被写入备机时间索引文件中,从而完成一次数据同步过程。

本发明具有如下优点:本发明给出了一种新的主备机之间的同步方法,用户可以轻松实现主备机间历史数据的同步,而且在同步过程中扰乱备机本机历史数据的生成,同步效率高,能够有效保障数据的完整性、安全性和可靠性,提高了用户体验。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明面向双机冗余的数据同步方法的执行流程图。

图2为本发明方法的同步原理示意框图。

具体实施方式

本发明是这样实现的:一种面向双机冗余的数据同步方法,在主机和备机上同时运行数据同步模块;当备机运行起来时,数据同步模块将比对主、备机上的数据的时间索引;当主、备机数据的时间索引不一致时,进一步判断需同步的时间长度,数据同步模块将主机在该时间长度内新增的数据同步至备机。

主、备机均存在时间索引文件。

所述主机上的数据的时间索引保存在主机时间索引文件中,该主机时间索引文件存储所有历史IO点的压缩时间信息,且该主机索引文件以年为单位,每年只生成一个主机时间索引文件,当主机进行数据压缩时,压缩数据段的起始时间、结束时间以及该段数据所在的数据文件名称写入所述主机时间索引文件;

所述备机上的数据的时间索引保存在备机时间索引文件中,当备机获取同步数据的同时获取同步数据中的时间索引数据,并将该时间索引数据写入备机时间索引文件中。

主机和备机启动时,数据同步模块将自动启动,当主机和备机网络通讯处于正常状态下,即可进行数据同步,同步是针对历史IO点进行。

如图1所示,所述数据同步模块比对主、备机上的数据的时间索引的过程是:

备机启动时,位于备机的数据同步模块将备机每个历史IO点在所述备机时间索引文件中最后一个数据包中的结束时间T1发给主机;

主机的数据同步模块获取到所述结束时间T1后,将T1与主机时间索引文件中该历史IO点的记录起始时间T2进行比较,以判断需同步的时间长度。.

所述需同步的时间长度判断方法是:

(1)当T1≤T2时,主机以当前时间往前遍历该历史IO点所有历史数据时间T3,直到T3≤T2为止,则此时的T3为该历史IO点时间同步的起始时间;

(2)当T1>T2时,主机以当前时间往前遍历该历史IO点所有历史数据时间T3,直到T3≤T1为止,则此时的T3为该历史IO点时间同步的起始时间。

如图2所示,所述数据同步模块将主机在该时间长度内新增的数据同步至备机的具体过程是:

当确定需同步的时间长度后,数据同步模块将该时间长度内位于主机的历史数据文件发送至备机;

备机的数据同步模块Sync.exe在同步主机历史数据的同时,将获取同步数据中的时间索引数据,并将该时间索引数据写入备机临时时间索引文件TimeTemp,idx中;

当备机完成该历史IO点数据同步,生成历史IO点备份文件3200-X.dat后,上述临时时间索引文件TimeTemp,idx的数据将被写入备机时间索引文件Time,idx中,从而完成一次数据同步过程。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1