CN102710356B - 一种实时冗余主站数据同步方法 - Google Patents
一种实时冗余主站数据同步方法 Download PDFInfo
- Publication number
- CN102710356B CN102710356B CN201210165110.4A CN201210165110A CN102710356B CN 102710356 B CN102710356 B CN 102710356B CN 201210165110 A CN201210165110 A CN 201210165110A CN 102710356 B CN102710356 B CN 102710356B
- Authority
- CN
- China
- Prior art keywords
- database
- main website
- instruction
- subsequent use
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实时冗余主站数据同步方法,包括以下步骤:a.实时数据存储在主站上面的实时数据库中;b.工作主站拥有数据总线的控制权,完成对实时数据的采集和数据库的更新操作;c.主站之间有一个即时的同步通道用于数据库的同步操作;d.对于数据库的操作由工作主站的本机指令和外部指令组成,本机指令的数据库更新操作在完成本地数据库操作的同时排队给备用主站;外部指令对数据库的更新操作在成功更新到备用主站后再更新本地主站,然后才进行指令返回。该方法用于热备冗余数据采集控制系统,能够结合具体的应用层协议,可以有效地解决工作主站和备用主站之间的数据同步问题,有效提高系统的不间断运行能力,保证了备用主站数据库的有效性。
Description
技术领域:
本发明涉及工业控制和数据处理,特别涉及一种实时冗余主站数据同步方法。
背景技术:
在工业控制现场,为了提高整个系统的可靠性和稳定性,一般都会采用冗余主站技术。冗余的方式分为冷冗余和热冗余两种:冷冗余是指备用的主站不会同时运行,甚至可能是以备件的形式存在;热冗余时备用主站和工作主站同时运行;当工作主站出现问题时,备用主站开始介入并接管整个控制权限。在这种切换的过程中,实时数据的同步是比较复杂的问题。对于冷冗余的方式,可能不存在实时数据的同步,备用主站上电运行时,实时数据库处于清除状态,在一个正常的循环周期结束后,实时数据库中的数据变得有效;对于热冗余的方式,在备用主站切入时,应该保证备用主站的数据库和被切换的工作主站的数据库是同步的。
当前对于热冗余的方式,一般采用的是在一个循环的开始或者结束时间点进行同步。这样,两个数据库的差异为一个循环周期。
这种方式有一个问题是当切换发生时,当前工作主站的数据可能还没有备份到备用主站,备用主站保存的还是上一个循环的数据,这样导致两个数据库不同步。
发明内容:
本发明的目的是针对现有技术中,可能导致工作主站和备用主站实时数据不同步的问题,提出了一种新的实时冗余主站数据同步方法。该方法用于热备冗余数据采集控制系统,能够结合具体的应用层协议,可以有效地解决工作主站和备用主站之间的数据同步问题,从而有效提高系统的不间断运行能力,保证了备用主站数据库的有效性。
本发明的具体技术方案如下:
一种实时冗余主站数据同步方法,其特征在于,包括以下步骤:
a.实时数据存储在主站上面的实时数据库中;
b.工作主站拥有数据总线的控制权,完成对实时数据的采集和数据库的更新操作;
c.主站之间有一个即时的同步通道用于数据库的同步操作;
d.对于数据库的操作由工作主站的本机指令和外部指令组成,本机指令的数据库更新操作在完成本地数据库操作的同时排队给备用主站;外部指令对数据库的更新操作在成功更新到备用主站后再更新本地主站,然后才进行指令返回。
上述方案中,所述主站为数据采集系统中定义有主机和从机的主站;所述主站上工作在主机的部分通过本机指令列表进行数据库的操作;主站上工作在从机的部分通过接收外部的指令进行数据库的操作。
上述方案中,所述步骤d中本机指令对数据库的更新操作具体步骤是:
每条对数据库的更新操作指令,在更新本地数据库的同时,排队更新操作到备用主站的数据库;这种排队操作类似于一种先进先出队列(FIFO),在临界状态下,可能导致最后的指令丢失;为了避免这种缓冲队列引起的指令丢失问题,本机的指令列表顺序需要进行分类。
上述方案中,所述对数据库的周期性更新操作指令放在指令列表的最开始;非周期性的更新操作指令(一般由逻辑操作条件产生)紧随其后;其余指令放在最后。
上述方案中,所述步骤d中外部指令对数据库的更新操作具体步骤是:
外部的更新指令可能是非周期性的指令,因此,每条指令的执行成功的前提是确保备用主站上的数据库做了同步更新。所以,对于这种指令,在正常返回前,需要同步更新备用主站上的数据库,并确保更新成功。
上述方案中,所述当工作主站检测到有新的备用主站加入时,首先同步本机数据库到备用主站,这个操作也是通过主站间的先进先出队列(FIFO)完成的;当备用主站切换为工作主站时,指令列表需要从头开始执行。
本发明所述数据同步方法把数据库的更新操作进行了分类处理,对于外部触发式的指令能够保证工作主站和备用主站都能同步;对于本地指令列表所产生的数据更新能保证最大化的同步,细化了同步力度,保证了同步的有效性,避免了有效数据的丢失,提高了冗余主站的可靠性。
附图说明:
以下结合附图和具体实施方式来进一步说明本发明。
图1a为本发明所述方法中主机数据库更新流程图。
图1b为本发明所述方法中从机数据库更新流程图。
图2为本发明方法具体运用过程中所涉及的以太网转串口的网络设备的框图。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明所述的一种实时冗余主站数据同步方法,包括以下步骤:
a.实时数据存储在主站上面的实时数据库中;
b.工作主站拥有数据总线的控制权,完成对实时数据的采集和数据库的更新操作;
c.主站之间有一个即时的同步通道用于数据库的同步操作;
d.对于数据库的操作由工作主站的本机指令和外部指令组成,本机指令的数据库更新操作在完成本地数据库操作的同时排队给备用主站;外部指令对数据库的更新操作在成功更新到备用主站后再更新本地主站,然后才进行指令返回。
如图1a和图1b所示,主站为数据采集系统中定义有主机和从机的主站;这里主机和从机的定义即通信系统中所定义的主机(Master)和从机(Slave)。主站上工作在主机的部分通过本机指令列表进行数据库的操作;主站上工作在从机的部分通过接收外部的指令进行数据库的操作。
对于数据库的操作分为两种类型:一种是本机指令列表;另一种是为外部指令。
本机指令对数据库的更新操作;即每条对数据库的更新操作指令,在更新本地数据库的同时,排队更新操作到备用主站的数据库;这种排队操作类似于一种先进先出队列(FIFO),在临界状态下,可能导致最后的指令丢失;为了避免这种缓冲队列引起的指令丢失问题,本机的指令列表顺序需要进行分类。如图1a所示,具体步骤如下:
S111:执行指令列表;
S112:指令返回;
S113:更新本地数据库;
S114:排队更新操作到备用主站。
需要指出的是,对数据库的周期性更新操作指令放在指令列表的最开始;非周期性的更新操作指令(一般由逻辑操作条件产生)紧随其后;其余指令放在最后。
外部指令对数据库的更新操作;即外部的更新指令可能是非周期性的指令,因此,每条指令的执行成功的前提是确保备用主站上的数据库做了同步更新。所以,对于这种指令,在正常返回前,需要同步更新备用主站上的数据库,并确保更新成功。如图1b所示,具体步骤如下:
S121:外部数据库更新指令;
S122:更新本地数据库;
S123:更新备用主站数据库;
S124:指令返回。
另外,当工作主站检测到有新的备用主站加入时,首先同步本机数据库到备用主站,这个操作也是通过主站间的先进先出队列(FIFO)完成的;当备用主站切换为工作主站时,指令列表需要从头开始执行。
以下通过一个具体实施例来说明本发明方法的实现过程。
如图2所示,这是本发明方法具体实施在以太网转串口的网络设备上的一个例子。该实施例中,第一通讯控制器201和第二通讯控制器202为相同的以太网转串口控制器,上行连接2路工业以太网210和DCS控制器203相连;下行有多路现场RS485总线211连接若干个现场设备(204,205,206)。控制器之间通过工业以太网交换数据。控制器中可以运行多种协议,下面以modbus协议为例详述本发明所述数据同步方法。
对于上行以太网,控制器可以作为主机(Master)或者从机(Slave)运行,当运行为从机时(Modbus-TCP以Server方式运行),DCS控制器发送数操作指令给通讯控制器,该指令如果为数据库更新指令,那么要等到两个通讯控制器都执行该指令后才会返回。当运行为主机时(Modbus-TCP以Client方式运行),对数据库的更新指令为本机指令,更新操作通过以太网排队到另外一个通讯控制器。
对于下行的RS485网络,控制器作为主机(Master)运行。对现场设备的操作通过指令列表进行,指令列表开始部分为查询现场设备的状态数据,得到的数据会更新数据库;指令列表的下半部分为现场设备的操作指令,这些指令从数据库中获取数据。对数据库的更新操作通过以太网排队到另外一个通讯控制器。
当一台通讯控制器重新启动,加入冗余网络时,当前正在工作的通讯控制器立即更新全部实时数据库到新加入的通讯控制器。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1.一种实时冗余主站数据同步方法,包括以下步骤:
a.实时数据存储在主站上面的实时数据库中;
b.工作主站拥有数据总线的控制权,完成对实时数据的采集和数据库的更新操作;
c.主站之间有一个即时的同步通道用于数据库的同步操作;
d.对于数据库的操作由工作主站的本机指令和外部指令组成,本机指令的数据库更新操作在完成本地数据库操作的同时排队给备用主站;外部指令对数据库的更新操作在成功更新到备用主站后再更新本地主站,然后才进行指令返回;
其特征在于,所述主站为数据采集系统中定义有主机和从机的主站;所述主站上工作在主机的部分通过本机指令列表进行数据库的操作;主站上工作在从机的部分通过接收外部的指令进行数据库的操作。
2.根据权利要求1的实时冗余主站数据同步方法,其特征在于,所述步骤d中本机指令对数据库的更新操作具体步骤是:每条对数据库的更新操作指令,在更新本地数据库的同时,排队更新操作到备用主站的数据库;这种排队操作类似于一种先进先出队列,在临界状态下,可能导致最后的指令丢失;为了避免这种缓冲队列引起的指令丢失问题,本机的指令列表顺序需要进行分类。
3.根据权利要求2的实时冗余主站数据同步方法,其特征在于,所述对数据库的周期性更新操作指令放在指令列表的最开始;非周期性的更新操作指令紧随其后;其余指令放在最后。
4.根据权利要求1的实时冗余主站数据同步方法,其特征在于,所述步骤d中外部指令对数据库的更新操作具体步骤是:外部的更新指令可能是非周期性的指令,因此,每条指令的执行成功的前提是确保备用主站上的数据库做了同步更新,所以,对于这种指令,在正常返回前,需要同步更新备用主站上的数据库,并确保更新成功。
5.根据权利要求1的实时冗余主站数据同步方法,其特征在于,当工作主站检测到有新的备用主站加入时,首先同步本机数据库到备用主站,这个操作也是通过主站间的先进先出队列完成的;当备用主站切换为工作主站时,指令列表需要从头开始执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210165110.4A CN102710356B (zh) | 2012-05-25 | 2012-05-25 | 一种实时冗余主站数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210165110.4A CN102710356B (zh) | 2012-05-25 | 2012-05-25 | 一种实时冗余主站数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102710356A CN102710356A (zh) | 2012-10-03 |
CN102710356B true CN102710356B (zh) | 2016-04-13 |
Family
ID=46902936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210165110.4A Expired - Fee Related CN102710356B (zh) | 2012-05-25 | 2012-05-25 | 一种实时冗余主站数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102710356B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970116A (zh) * | 2013-01-30 | 2014-08-06 | 昆达电脑科技(昆山)有限公司 | 冗余系统监控方法 |
CN104252452B (zh) * | 2013-06-25 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 数据管理的方法及装置 |
CN111355648B (zh) * | 2020-02-18 | 2022-02-08 | 南京国电南自轨道交通工程有限公司 | 一种基于同步时间窗的rtu双机冗余采集系统 |
CN112714039B (zh) * | 2020-11-27 | 2023-02-14 | 中国南方电网有限责任公司 | 一种稳控系统中双套数据一致性保持方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753377A (zh) * | 2005-11-04 | 2006-03-29 | 北京和利时系统工程股份有限公司 | 一种避免冗余主站对串行总线链路访问冲突的方法 |
CN101296065A (zh) * | 2008-06-19 | 2008-10-29 | 浙江中控技术股份有限公司 | 一种提高冗余主站可靠性的方法及系统 |
CN101546189B (zh) * | 2008-03-26 | 2010-12-08 | 上海宝信软件股份有限公司 | 实时数据库系统的控制方法 |
CN101498919B (zh) * | 2008-02-02 | 2010-12-22 | 北京城市学院 | 一种便于规约扩展的采集系统的前置冗余架构及方法 |
-
2012
- 2012-05-25 CN CN201210165110.4A patent/CN102710356B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753377A (zh) * | 2005-11-04 | 2006-03-29 | 北京和利时系统工程股份有限公司 | 一种避免冗余主站对串行总线链路访问冲突的方法 |
CN101498919B (zh) * | 2008-02-02 | 2010-12-22 | 北京城市学院 | 一种便于规约扩展的采集系统的前置冗余架构及方法 |
CN101546189B (zh) * | 2008-03-26 | 2010-12-08 | 上海宝信软件股份有限公司 | 实时数据库系统的控制方法 |
CN101296065A (zh) * | 2008-06-19 | 2008-10-29 | 浙江中控技术股份有限公司 | 一种提高冗余主站可靠性的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102710356A (zh) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105024777B (zh) | 基于EtherCAT实时以太网的伺服驱动器同步方法 | |
CN102710356B (zh) | 一种实时冗余主站数据同步方法 | |
CN102739491B (zh) | 一种以太网通信主站实现方法 | |
CN104317764B (zh) | 一种1553b总线异步消息的实时控制方法 | |
JP6355275B2 (ja) | 工業インターネット現場におけるブロードバンドバスの設定管理の実現方法 | |
CN103220342B (zh) | 一种移动终端设备群组远程同步更新程序的方法 | |
CN104954101A (zh) | 基于同步ack的多终端数据同步方法 | |
JP2011193457A (ja) | 時間同期を行うためのシステムおよび方法 | |
CN105024798A (zh) | 一种时间同步的方法及装置 | |
CN104394018A (zh) | 一种通信设备及主控板热备份中主备系统数据在线交换方法 | |
EP2775675B1 (en) | Synchronization method among network devices, network device and system | |
US8375237B2 (en) | Systems and methods for synchronization of an external control system with fieldbus devices | |
US8631174B2 (en) | Systems, methods, and apparatus for facilitating communications between an external controller and fieldbus devices | |
CN105049263A (zh) | 一种数据处理方法和系统 | |
CN101335610B (zh) | 一种高端以太网交换机中的arp同步方法 | |
CN107179912B (zh) | 一种分布式架构软件定义网络控制器的热升级方法 | |
CN103888283A (zh) | 一种sctp通信方法及装置 | |
CN102983997A (zh) | 主控服务迁移方法及装置 | |
EP3232646B1 (en) | Apparatus for relaying data transmission in scada system | |
CN105577310A (zh) | 一种时间触发网络中任务分区与通信调度的同步方法 | |
CN105488005B (zh) | 一种1553b总线rt发送模式三缓冲空间通信方法 | |
CN103176931B (zh) | 一种改进的dma通信方法及装置 | |
CN105933733B (zh) | 时钟同步方法、装置、机顶盒及电视 | |
CN113918742A (zh) | 列车实际运行图数据存储方法及装置 | |
CN103118072B (zh) | 一种数据库更新的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice | ||
DD01 | Delivery of document by public notice |
Addressee: Wang Kezhong Document name: payment instructions |
|
DD01 | Delivery of document by public notice | ||
DD01 | Delivery of document by public notice |
Addressee: Zhong Yanyi Document name: Notice of termination of patent |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160413 Termination date: 20200525 |