CN117112315A - 冗余设备的数据同步方法、***、存储介质和电子设备 - Google Patents
冗余设备的数据同步方法、***、存储介质和电子设备 Download PDFInfo
- Publication number
- CN117112315A CN117112315A CN202310838705.XA CN202310838705A CN117112315A CN 117112315 A CN117112315 A CN 117112315A CN 202310838705 A CN202310838705 A CN 202310838705A CN 117112315 A CN117112315 A CN 117112315A
- Authority
- CN
- China
- Prior art keywords
- data
- data source
- equipment
- target
- synchronization
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种冗余设备的数据同步方法、***、存储介质和电子设备。所述数据同步方法包括:目标设备向数据源设备发送数据同步请求;根据来自数据源设备的第一运行数据,启动目标设备;根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行;其中,第一运行数据为数据源设备根据数据同步请求所生成的,第二运行数据为数据源设备周期性更新第一运行数据得到的。本申请可以通过数据源设备的第一运行数据以及周期性更新的第二运行数据使得目标设备与数据源设备同步运行。以及还可以通过数据源设备的周期性更新的第二运行数据及时将失步设备再同步。
Description
技术领域
本申请涉及设备通信技术领域,具体而言,涉及一种冗余设备的数据同步方法、***、存储介质和电子设备。
背景技术
为了保证设备***的安全可靠性,一般通过多重冗余***对其进行相应的控制。在冗余***中,通过逻辑表决来实现冗余***相关处理工作。而为了保证逻辑表决的合理性,需要参与逻辑表决的各个设备处于同等运行状态。
设备同等运行状态可以通过上电同步和运行同步来实现。如对于后上电的冗余设备需要和其它正常运行的冗余设备保持运行同步,或者各个冗余设备在正常运行中彼此之间也需要保持运行同步。
但本申请的发明人发现,后上电的冗余设备因运行状态在起始时落后于其它已运行设备,在进行设备同步的过程中需要获取运行设备的运行数据,而后在继续独立运行。而由于设备对于运行数据需要一定的处理时间,该过程则可能会超过用户程序的执行周期,由此可能会存在已运行设备的运行状态依然快于后上电设备运行状态的问题。
以及在多个冗余设备的正常运行的过程中,也可能会存在设备发生运行状态的改变而成为失步设备,失去同等运行状态的问题。
基于此,发明人认为,目前冗余设备的数据同步方法还有待改进。
发明内容
本申请公开了一种冗余设备的数据同步方法、***、存储介质和电子设备,用于解决冗余设备上电时的数据同步问题,以及解决失步设备的再同步问题。
本申请的一方面提供了冗余设备的数据同步方法,包括:目标设备向数据源设备发送数据同步请求;根据来自数据源设备的第一运行数据,启动目标设备;根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行;其中,第一运行数据为数据源设备根据数据同步请求所生成的,第二运行数据为数据源设备周期性更新第一运行数据得到的。
根据本申请的一些实施例,在根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行之后,数据同步方法还包括:判断目标设备的关键数据是否小于数据源设备的第二运行数据中的关键数据;若是,则根据第二运行数据中的关键数据更新目标设备的关键数据。
根据本申请的一些实施例,根据来自数据源设备的第一运行数据,启动目标设备包括:目标设备还原第一运行数据得到第一关键数据;基于第一关键数据中的数据源设备的第一执行周期信息更新目标设备的目标设备执行周期信息,以启动目标设备。
根据本申请的一些实施例,根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行包括:目标设备还原第二运行数据得到第二关键数据;基于第二关键数据中的数据源设备的第二执行周期信息更新目标设备的目标设备执行周期信息,以使得目标设备与数据源设备同步运行。
本申请的另一方面公开了一种数据同步***,该数据同步***包括数据请求单元、设备启动单元20和设备同步单元30。
数据请求单元向数据源设备发送数据同步请求;设备启动单元根据来自数据源设备的第一运行数据,启动目标设备;设备同步单元根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行;其中,第一运行数据为数据源设备根据数据同步请求所生成的,第二运行数据为数据源设备周期性更新第一运行数据得到的。
根据本申请的一些实施例,设备同步单元还判断目标设备的关键数据是否小于数据源设备的第二运行数据中的关键数据;若是,则根据第二运行数据中的关键数据更新目标设备的关键数据。
根据本申请的一些实施例,设备启动单元还原第一运行数据得到第一关键数据;设备启动单元基于第一关键数据中的数据源设备的第一执行周期信息更新目标设备的目标设备执行周期信息,以启动目标设备。
根据本申请的一些实施例,设备同步单元还原第二运行数据得到第二关键数据;设备同步单元基于第二关键数据中的数据源设备的第二执行周期信息更新目标设备的目标设备执行周期信息,以使得目标设备与数据源设备同步运行。
根据本申请的又一方面,本申请提供了一种非易失性计算机可读存储。所述存储介质上存储有计算机程序,该计算机程序可以实现如上文所述的数据同步方法。
根据本申请的又一方面,本申请提供了一种电子设备。所述电子设备包括一个或多个处理器和存储装置,存储装置用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器可以实现如上文所述的数据同步方法。
本申请可以通过数据源设备的第一运行数据以及周期性更新的第二运行数据使得目标设备与数据源设备同步运行。以及还可以通过数据源设备的周期性更新的第二运行数据及时将失步设备再同步。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请示例实施例的数据同步方法的一流程图;
图2示出本申请示例实施例的冗余***的示意图;
图3示出本申请示例实施例的数据同步方法的又一流程图;
图4示出本申请示例实施例的数据同步方法的又一流程图;
图5示出本申请示例实施例的数据同步方法的又一流程图
图6示出本申请示例实施例的数据同步结构的示意图;
图7示出本申请示例实施例的数据同步***的结构示意图。
附图标记说明:
数据同步***1;数据请求单元10;设备启动单元20;设备同步单元30。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有这些特定细节中的一个或更多,或者可以采用其它的方式、组元、材料、装置等。在这些情况下,将不详细示出或描述公知结构、方法、装置、实现、材料或者操作。
此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
下面结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
根据本申请的一方面,本申请提供了一种冗余设备的数据同步方法,该数据同步方法可以通过数据源设备的第一运行数据以及周期性更新的第二运行数据使得目标设备与数据源设备同步运行。以及还可以通过数据源设备的周期性更新的第二运行数据及时将失步设备再同步。
下文将结合说明书附图,对本申请进行详细描述。
图1示出本申请示例实施例的数据同步方法的一流程图,如图1所示,该数据同步方法包括步骤S100-S300。示例性地,该数据同步方法可以由目标设备所执行。
根据示例实施例,在步骤S100中,目标设备向数据源设备发送数据同步请求。
冗余***中包括多个可以同步运行的冗余设备,冗余设备的设备数量不小于2个。数据源设备为冗余***中已经处于正常运行状态、且具有完整***运行状态数据的设备。目标设备为想要加入至冗余***中、进行正常冗余运行的设备。数据源设备和目标设备可以按照相同的顺序和间隔执行相同的用户程序。
图2示出本申请示例实施例的冗余***的示意图。如图2所示,冗余***包括多个冗余设备,冗余设备是根据I/O输入,周期性地执行用户程序以控制结果输出的设备。多个冗余设备之间通过通信连接进行数据交互,从而可以实现同等的运行状态。
如图2所示,用户程序执行任务为冗余设备中所执行的用户预设的程序,该程序可以按照固定的执行间隔时间(如执行周期T1、执行周期T2…)周期性地由冗余设备执行。示例性地,对于不同的冗余设备其所执行的用户程序相同。
执行时刻为每个执行周期用户程序执行任务的开始执行时刻。对于不同的冗余设备,执行时刻也需要保持一致。冗余设备通过在相同的执行时刻执行相同的用户程序执行任务,可以实现同等的运行状态。示例性地,可以通过执行周期号来表征冗余设备中用户程序执行时刻所对应的执行周期。
例如,当目标设备初次上电想要并入到冗余***中时,目标设备向冗余***中处于正常运行的状态的数据源设备发送数据同步请求。数据源设备可以由目标设备自动侦测所确定,也可以由用户特定指定所确定,本申请对此不做限制。
示例性地,目标设备和数据源设备的用户程序必须相同。目标设备校验与数据源设备的用户程序,在完成用户程序一致性校验后,目标设备向数据源设备发起断面数据请求通信报文,并转入接收等待状态。
在步骤S200中,目标设备根据来自数据源设备的第一运行数据,启动目标设备。第一运行数据为数据源设备根据数据同步请求所生成的。
例如,数据源设备接收到来自目标设备的数据同步请求后,校验所收到的请求通信报文的有效性,若无效,则忽略并不响应该请求通信报文的。若有效,则数据源设备进入数据请求处理流程,生成第一运行数据。
可选地,第一运行数据可以为设备的运行断面数据,运行断面数据可以包括一般数据和关键数据。
运行断面数据可以为表征数据源设备运行状态的所有数据信息,例如包括当前用户程序执行周期的I/O输入和输出的数据信息、用户程序执行过程中用于保存执行结果的数据信息和数据源设备的执行周期信息(如执行周期号)等。
关键数据为运行断面数据的子集,用以表征设备状态中无法根据外部输入运算直接获得的状态,如依赖于前序周期状态计算得到的结果,此外关键数据也包括执行周期信息、I/O输入信息。一般数据为除关键数据外的运行状态数据。
数据源设备在执行完成当前用户任务的空闲时间,分别组织I/O输入、输出,以及用户程序执行过程中用于保存执行结果的数据。这些数据用于表征当前数据源设备的运行状态,并且其具有固定的组织顺序。
目标设备接收来自数据源设备的运行断面数据,以此运行断面数据对应的运行状态为起点开始运行,从而实现目标设备的启动。从而可以实现第一次获取数据源设备的运行状态,缩小目标设备与数据源设备之间的运行差异。
图3示出本申请示例实施例的数据同步方法的又一流程图。
可选地,第一运行数据包括第一关键数据。如图3所示,在步骤S200中,目标设备根据来自数据源设备的第一运行数据,启动目标设备可以包括步骤S210-S220。
在步骤S210中,目标设备还原第一运行数据得到第一关键数据。
在步骤S220中,目标设备基于第一关键数据中的数据源设备的第一执行周期信息更新目标设备的目标设备执行周期信息,以启动目标设备。
例如,数据源设备的第一关键数据可以为冗余设备在当前运行周期执行完毕用户程序时,构成用户程序的中间状态的数据,以及当前用户程序执行周期的I/O输入和输出的数据信息和数据源设备的执行周期信息(如执行周期号)等。
由于刚上电目标设备的执行周期信息明显落后于数据源设备的执行周期信息,因此目标设备接收到数据源设备的运行断面数据后,还原运行断面数据,得到数据源设备的第一关键数据。如目标设备按照数据源设备的运行断面数据的组织顺序进行逐个还原。
目标设备根据数据源设备的第一执行周期信息(如数据源设备的执行周期号)更改目标设备的执行周期信息(如目标设备执行周期号)。从而可以使得目标设备初步与数据源设备同步运行。
可选地,目标设备在发送数据同步请求后转入接收等待状态后开始计时,在第一阈值时间后未接收到来自数据源设备的运行断面数据或判断出运行断面数据无效的情况下,目标设备重新发送数据同步请求,若运行断面数据有效,则进行运行断面数据的还原处理。
在步骤S300中,目标设备根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行。第二运行数据为数据源设备周期性更新第一运行数据得到的。
例如,数据源设备周期性的更新第一运行数据(如运行断面数据)得到包括数据源设备当前运行周期的运行状态的第二运行数据。
由于目标设备在第一次获取数据源设备的第一运行数据时,接收和还原第一运行数据时需要一定的处理时间,在此期间,数据源设备可能又执行了一定周期的用户程序。如此会使得目标设备和数据源设备存在执行周期上的偏差,导致目标设备和数据源设备不能完全的同步运行。因此,数据源设备在发送完第一运行数据后,在预设时间内周期性的更新第一运行数据,得到更新后的第二运行数据,并将第二运行数据周期性地发送至目标设备。
目标设备接收并处理第二运行数据,使目标设备可以以更新后的第二运行数据继续进行目标设备的控制,直至目标设备与数据源设备可以处于完全一致的同等运行状态。
图4示出本申请示例实施例的数据同步方法的又一流程图。
可选地,如图4所示,在步骤S300中,目标设备根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行具体地可以包括步骤S310-S320。
在步骤S310中,目标设备还原第二运行数据得到第二关键数据。
在步骤S320中,目标设备基于第二关键数据中的数据源设备的第二执行周期信息更新目标设备的目标设备执行周期信息,以使得目标设备与数据源设备同步运行。
例如,数据源设备周期性的更新第一运行数据得到第二运行数据。如第二运行数据包括数据源设备的第二关键数据,在数据源设备完成每个执行周期的执行任务后,数据源设备更新并组织第二关键数据的发送。
数据源设备的第二关键数据可以为冗余设备在当前执行周期执行完毕用户程序时,构成用户程序的中间状态的数据,以及当前用户程序执行周期的I/O输入和输出的数据信息和数据源设备的执行周期信息(如执行周期号)等。
目标设备根据数据源设备的周期性更新后的第二执行周期信息(如数据源设备的执行周期号)更改目标设备的执行周期信息(如目标设备执行周期号)。从而可以使得目标设备与数据源设备完全实现同步运行。
图5示出本申请示例实施例的数据同步方法的又一流程图,如图5所示,该数据同步方法包括步骤S100-S500。示例性地,步骤S100-S300在上文中已经详细描述,此处不再赘述。
在步骤S400中,目标设备判断目标设备的关键数据是否小于数据源设备的第二运行数据中的关键数据。
在步骤S500中,目标设备根据第二运行数据中的关键数据更新目标设备的关键数据。
例如,由图2可知,冗余***中的多个冗余设备互相通信连接,目标设备可以接收其它冗余设备的第二运行数据。目标设备接收到第二运行数据并通过数据的有效性校验后,对第二运行数据中的关键数据进行判断。
目标设备的关键数据包括目标设备的用户程序的执行周期信息,数据源设备的第二运行数据中的关键数据包括数据源设备的执行周期信息。目标设备比较目标设备执行周期信息和数据源设备执行周期信息,若数据源设备执行周期信息大于目标设备执行周期信息,则根据数据源设备执行周期信息更新目标设备执行周期信息,以保证目标设备与数据源设备同步运行的运行状态。
示例性地,数据源设备也可通过上述同步方法判断当前设备与其它设备是否为同步设备,本申请对此不作限制。
这里可以理解的为,在冗余***中的某一运行时刻,可能会存在设备发生运行状态的改变而成为失步设备,失去同等运行状态的问题。失步设备的执行周期信息慢于其它正常运行状态的冗余设备。因此,通过上述示例实施例,可以通过判断当前设备与其它设备的执行周期信息,可以判断当前设备是否为失步设备。在当前设备为失步设备的情况下,可以及时的控制当前设备与其它正常运行设备再同步。
图6示出本申请示例实施例的数据同步结构的示意图。如图6所示,执行周期信息(如执行周期号)为反应当前用户程序执行周期的步序,可以用于表征所要同步的数据在当前用户程序的执行时刻。示例性地,为保证在设备的生命周期内执行周期信息的唯一性,可采用无符号64位整型来表示执行周期信息。
数据位置信息可以用于表征所要同步的数据在用户程序内的相对位置。该位置信息与用户程序的数据组织层次有关。在无层次的情况下,则该位置信息可以是相对于数据区首地址的偏移或变量编号;在分组层次管理的情况下,则该信息可以是组号、组内相对偏移或组内编号。示例性地,不论采用何种形式,通过该数据位置信息可以快速、准确定位变量的位置,方便读取和更新。
数据状态可以用于表示数据属性信息。数据的属性包括数据的品质和数据的类型。其中数据的品质反映数据的质量,即数据是否正常或处于某种异常。数据的类型用以表示数据采用何种方式存取,如布尔量按位、整形按2字节、浮点按4字节等。数据值可以是数据量化的体现。数据的值范围和数据的类型匹配。在进行数据值的读取和写入需根据数据类型检查后实施。
通过上述同步数据结构冗余设备可以根据执行周期信息实现不同设备之间的数据同步处理。
根据本申请的另一方面,本申请提供了一种冗余设备的数据同步***,该数据同步***可以通过数据源设备的第一运行数据以及周期性更新的第二运行数据使得目标设备与数据源设备同步运行。以及还可以通过数据源设备的周期性更新的第二运行数据及时将失步设备再同步。
图7示出本申请示例实施例的数据同步***的结构示意图,如图7所示,数据同步***1包括数据请求单元10、设备启动单元20和设备同步单元30。
根据示例实施例,数据请求单元10向数据源设备发送数据同步请求。
冗余***中包括多个可以同步运行的冗余设备,冗余设备的设备数量不小于2个。数据源设备为冗余***中已经处于正常运行状态、且具有完整***运行状态数据的设备。目标设备为想要加入至冗余***中、进行正常冗余运行的设备。数据源设备和目标设备可以按照相同的顺序和间隔执行相同的用户程序。
例如,当目标设备初次上电想要并入到冗余***中时,数据请求单元10像冗余***中处于正常运行的状态的数据源设备发送数据同步请求。数据源设备可以由数据请求单元10自动侦测所确定,也可以由用户特定指定所确定,本申请对此不做限制。
示例性地,目标设备和数据源设备的用户程序必须相同。目标设备校验与数据源设备的用户程序,在完成用户程序一致性校验后,目标设备向数据源设备发起断面数据请求通信报文,并转入接收等待状态。
设备启动单元20根据来自数据源设备的第一运行数据,启动目标设备。第一运行数据为数据源设备根据数据同步请求所生成的。
例如,数据源设备接收到来自目标设备的数据同步请求后,校验所收到的请求通信报文的有效性,若无效,则忽略并不响应该请求通信报文的。若有效,则数据源设备进入请求处理流程,生成第一运行数据。
可选地,第一运行数据可以为设备的运行断面数据,运行断面数据可以包括一般数据和关键数据。
运行断面数据可以为表征数据源设备运行状态的所有数据信息,例如包括当前用户程序执行周期的I/O输入和输出的数据信息、用户程序执行过程中用于保存执行结果的数据信息和数据源设备的执行周期信息(如执行周期号)等。
关键数据为运行断面数据的子集,用以表征设备状态中无法根据外部输入运算直接获得的状态,如依赖于前序周期状态计算得到的结果,此外关键数据也包括执行周期信息、I/O输入信息。一般数据为除关键数据外的运行状态数据。
数据源设备在执行完成当前用户任务的空闲时间,分别组织I/O输入、输出,以及用户程序执行过程中用于保存执行结果的数据。这些数据用于表征当前数据源设备的运行状态,并且其具有固定的组织顺序。
设备启动单元20接收来自数据源设备的运行断面数据,以此运行断面数据对应的运行状态为起点开始运行,从而实现目标设备的启动。从而可以实现第一次获取数据源设备的运行状态,缩小目标设备与数据源设备之间的运行差异。
可选地,设备启动单元20还原第一运行数据得到第一关键数据,设备启动单元20基于第一关键数据中的数据源设备的第一执行周期信息更新目标设备的目标设备执行周期信息,以启动目标设备。
例如,数据源设备的第一关键数据可以为冗余设备在当前运行周期执行完毕用户程序时,构成用户程序的中间状态的数据,以及当前用户程序执行周期的I/O输入和输出的数据信息和数据源设备的执行周期信息(如执行周期号)等。
由于刚上电目标设备的执行周期信息明显落后于数据源设备的执行周期信息,因此设备启动单元20接收到数据源设备的运行断面数据后,还原运行断面数据,得到数据源设备的第一关键数据。如设备启动单元20按照数据源设备的运行断面数据的组织顺序进行逐个还原。
设备启动单元20根据数据源设备的第一执行周期信息(如数据源设备的执行周期号)更改目标设备的执行周期信息(如目标设备执行周期号)。从而可以使得目标设备初步与数据源设备同步运行。
可选地,设备启动单元20在发送数据同步请求后转入接收等待状态后开始计时,在第一阈值时间后未接收到来自数据源设备的运行断面数据或判断出运行断面数据无效的情况下,设备启动单元20重新发送数据同步请求,若运行断面数据有效,则进行运行断面数据的还原处理。
设备同步单元30根据来自数据源设备的第二运行数据,控制目标设备与数据源设备同步运行。第二运行数据为数据源设备周期性更新第一运行数据得到的。
例如,数据源设备周期性的更新第一运行数据(如运行断面数据)得到包括数据源设备当前运行周期的运行状态的第二运行数据。
由于设备启动单元20在第一次获取数据源设备的第一运行数据时,接收和还原第一运行数据时需要一定的处理时间,在此期间,数据源设备可能又执行了一定周期的用户程序。如此会使得目标设备和数据源设备存在执行周期上的偏差,导致目标设备和数据源设备不能完全的同步运行。因此,数据源设备在发送完第一运行数据后,在预设时间内周期性的更新第一运行数据,得到更新后的第二运行数据,并将第二运行数据周期性地发送至设备同步单元30。
设备同步单元30接收并处理第二运行数据,使目标设备可以以更新后的第二运行数据继续进行目标设备的控制,直至目标设备与数据源设备可以处于完全一致的同等运行状态。
可选地,设备同步单元30还原第二运行数据得到第二关键数据,设备同步单元30基于第二关键数据中的数据源设备的第二执行周期信息更新目标设备的目标设备执行周期信息,以使得目标设备与数据源设备同步运行。
例如,数据源设备周期性的更新第一运行数据得到第二运行数据。如第二运行数据包括数据源设备的第二关键数据,在数据源设备完成每个执行周期的执行任务后,数据源设备更新并组织第二关键数据的发送。
数据源设备的第二关键数据可以为冗余设备在当前执行周期执行完毕用户程序时,构成用户程序的中间状态的数据,以及当前用户程序执行周期的I/O输入和输出的数据信息和数据源设备的执行周期信息(如执行周期号)等。
设备同步单元30根据数据源设备的周期性更新后的第二执行周期信息(如数据源设备的执行周期号)更改目标设备的执行周期信息(如目标设备执行周期号)。从而可以使得目标设备与数据源设备完全实现同步运行。
可选地,设备同步单元30还判断目标设备的关键数据是否小于数据源设备的第二运行数据中的关键数据;若是,则根据第二运行数据中的关键数据更新目标设备的关键数据。
例如,由图2可知,冗余***中的多个冗余设备互相通信连接,目标设备可以接收其它冗余设备的第二运行数据。设备同步单元30接收到第二运行数据并通过数据的有效性校验后,对第二运行数据中的关键数据进行判断。
目标设备的关键数据包括目标设备的用户程序的执行周期信息,数据源设备的第二运行数据中的关键数据包括数据源设备的执行周期信息。设备同步单元30比较目标设备执行周期信息和数据源设备执行周期信息,若数据源设备执行周期信息大于目标设备执行周期信息,则根据数据源设备执行周期信息更新目标设备执行周期信息,以保证目标设备与数据源设备同步运行的运行状态。
示例性地,数据源设备也可通过上述同步方法判断当前设备与其它设备是否为同步设备,本申请对此不作限制。
这里可以理解的为,在冗余***中的某一运行时刻,可能会存在设备发生运行状态的改变而成为失步设备,失去同等运行状态的问题。失步设备的执行周期信息慢于其它正常运行状态的冗余设备。因此,通过上述示例实施例,设备同步单元30可以通过判断当前设备与其它设备的执行周期信息,可以判断当前设备是否为失步设备。在当前设备为失步设备的情况下,可以及时的控制当前设备与其它正常运行设备再同步。
通过上述示例实施例,本申请可以通过数据源设备的第一运行数据以及周期性更新的第二运行数据使得目标设备与数据源设备同步运行。以及还可以通过数据源设备的周期性更新的第二运行数据及时将失步设备再同步。
根据本申请的又一方面,本申请提供了一种非易失性计算机可读存储。所述存储介质上存储有计算机程序,该计算机程序可以实现如上文所述的数据同步方法。
根据本申请的又一方面,本申请提供了一种电子设备。所述电子设备包括一个或多个处理器和存储装置,存储装置用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器可以实现如上文所述的数据同步方法。
最后应说明的是,以上所述仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种冗余设备的数据同步方法,其特征在于,包括:
目标设备向数据源设备发送数据同步请求;
根据来自数据源设备的第一运行数据,启动所述目标设备;
根据来自数据源设备的第二运行数据,控制所述目标设备与所述数据源设备同步运行;
其中,所述第一运行数据为所述数据源设备根据所述数据同步请求所生成的,所述第二运行数据为所述数据源设备周期性更新所述第一运行数据得到的。
2.根据权利要求1所述的数据同步方法,其特征在于,在所述根据来自数据源设备的第二运行数据,控制所述目标设备与所述数据源设备同步运行之后,所述数据同步方法还包括:
判断目标设备的关键数据是否小于所述数据源设备的第二运行数据中的关键数据;
若是,则根据所述第二运行数据中的关键数据更新所述目标设备的关键数据。
3.根据权利要求1所述的数据同步方法,其特征在于,所述根据来自数据源设备的第一运行数据,启动所述目标设备包括:
所述目标设备还原所述第一运行数据得到第一关键数据;
基于所述第一关键数据中的数据源设备的第一执行周期信息更新所述目标设备的目标设备执行周期信息,以启动所述目标设备。
4.根据权利要求1所述的数据同步方法,其特征在于,所述根据来自数据源设备的第二运行数据,控制所述目标设备与所述数据源设备同步运行包括:
所述目标设备还原所述第二运行数据得到第二关键数据;
基于所述第二关键数据中的数据源设备的第二执行周期信息更新所述目标设备的目标设备执行周期信息,以使得所述目标设备与所述数据源设备同步运行。
5.一种冗余设备的数据同步***,其特征在于,包括:
数据请求单元,向数据源设备发送数据同步请求;
设备启动单元,根据来自数据源设备的第一运行数据,启动所述目标设备;
设备同步单元,根据来自数据源设备的第二运行数据,控制所述目标设备与所述数据源设备同步运行;
其中,所述第一运行数据为所述数据源设备根据所述数据同步请求所生成的,所述第二运行数据为所述数据源设备周期性更新所述第一运行数据得到的。
6.根据权利要求5所述的数据同步***,其特征在于,所述设备同步单元还判断目标设备的关键数据是否小于所述数据源设备的第二运行数据中的关键数据;若是,则根据所述第二运行数据中的关键数据更新所述目标设备的关键数据。
7.根据权利要求5所述的数据同步***,其特征在于,所述设备启动单元还原所述第一运行数据得到第一关键数据;
所述设备启动单元基于所述第一关键数据中的数据源设备的第一执行周期信息更新所述目标设备的目标设备执行周期信息,以启动所述目标设备。
8.根据权利要求5所述的数据同步***,其特征在于,所述设备同步单元还原所述第二运行数据得到第二关键数据;
所述设备同步单元基于所述第二关键数据中的数据源设备的第二执行周期信息更新所述目标设备的目标设备执行周期信息,以使得所述目标设备与所述数据源设备同步运行。
9.一种非易失性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序实现如权利要求1-4中任一所述的数据同步方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310838705.XA CN117112315A (zh) | 2023-07-10 | 2023-07-10 | 冗余设备的数据同步方法、***、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310838705.XA CN117112315A (zh) | 2023-07-10 | 2023-07-10 | 冗余设备的数据同步方法、***、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112315A true CN117112315A (zh) | 2023-11-24 |
Family
ID=88802852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310838705.XA Pending CN117112315A (zh) | 2023-07-10 | 2023-07-10 | 冗余设备的数据同步方法、***、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112315A (zh) |
-
2023
- 2023-07-10 CN CN202310838705.XA patent/CN117112315A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7865763B2 (en) | Data replication method | |
CN100524219C (zh) | 执行不同版本软件的冗余处理器的配置同步的方法和装置 | |
US20100333094A1 (en) | Job-processing nodes synchronizing job databases | |
EP1326184A2 (en) | Conflict resolution for collaborative work system | |
EP2195741A1 (en) | Firmware image update and management | |
JP2002522845A (ja) | フォールトトレラント・コンピュータシステム | |
KR970066900A (ko) | 분산 메모리형 멀티프로세서 시스템 및 고장 회복 방법 | |
US7178056B2 (en) | Rolling software upgrades for fault tolerant systems | |
KR20000015819A (ko) | 상호 접속 시스템의 상이한 컴퓨터상에 있는프로그램의 동기화방법 | |
US7428660B2 (en) | Starting control method, duplex platform system, and information processor | |
KR20010037622A (ko) | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 | |
GB2248953A (en) | Dual-processor programmable controller and method of controlling the same | |
EP0409604A2 (en) | Processing method by which continuous operation of communication control program is obtained | |
CN105391755A (zh) | 一种分布式***中数据处理方法、装置及*** | |
CN117112315A (zh) | 冗余设备的数据同步方法、***、存储介质和电子设备 | |
JPWO2016051573A1 (ja) | 分散型制御システム用制御機器及びユニット | |
US6760863B1 (en) | CPU unit and run alternative control method of programmable controller | |
CN110830591A (zh) | 一种信息同步方法、***、电子设备及存储介质 | |
CA2411788C (en) | Device and method for synchronising a system of coupled data processing facilities | |
CN111142805A (zh) | 数据中心混合云存储方法、装置、计算机设备及存储介质 | |
Ferreira et al. | Enforcing consistency of communication requirements updates in FTT-CAN | |
JPH03219333A (ja) | 待機二重系装置 | |
JPH0462081B2 (zh) | ||
JP2000148563A (ja) | 複数サーバ計算機システム | |
JP2000040003A (ja) | ファームウェア更新システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |