二乘二取二系统同步方法及计算机设备与流程

文档序号:16667261发布日期:2019-01-18 23:21阅读:380来源:国知局
二乘二取二系统同步方法及计算机设备与流程

本申请涉及电子信息技术领域,尤其涉及一种二乘二取二系统同步方法及计算机设备。



背景技术:

随着电子信息技术的发展,在安全控制领域,安全计算机系统被广泛应用,以实现数据安全、可靠的传输和处理。常见的安全计算机系统架构包括二取二、三取二、二乘二取二等,其中,二乘二取二系统因其具有较好的安全控制性能而得到了广泛应用。而双系之间的同步作为二乘二取二系统的核心因素,对于二乘二取二系统具有重要的意义。

现有的二乘二取二系统,如图1所示,包括两个二取二系统,分别为主系和备系。每个二取二系统的cpu1和cpu2之间,及主系和备系之间,采用双端口随机存储器(dual-portrandomaccessmemory,简称dpram)的共享内存进行数据传输,以实现同步。以主系的cpu1与cpu2之间的同步为例,cpu1向dpram中写入数据,同时cpu2从dpram中读取数据,在cpu2从dpram中读取的数据,与其本身的数据相同时,则可以确定cpu1和cpu2同步。

上述方式,由于每个二取二系统的cpu1和cpu2,及主系和备系分别同时对dpram进行数据的写入及读取,这就导致了对dpram的同一片内存的读写操作复杂度高,且由于需要处理较多的读写冲突,容易出现故障,安全性和可靠性低。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种二乘二取二系统同步方法,通过利用系统中的第一子系和第二子系间的第一通信通道进行通信,实现了二乘二取二系统的同步,实现方式简单、安全,可靠性高。

本申请的第二个目的在于提出一种计算机设备。

本申请的第三个目的在于提出一种计算机可读存储介质。

为达上述目的,本申请第一方面实施例提出了一种二乘二取二系统同步方法,所述系统中包含第一子系和第二子系,且所述第一子系与所述第二子系的性能相同,所述方法包括:

第一子系在确定自身当前为主系时,通过与所述第二子系间的第一通信通道发送同步消息;

若通过所述第一通信通道,获取到所述第二子系返回的确认消息,则确定所述第一子系与所述第二子系处于同步状态。

在第一方面的一种可能的实现形式中,所述同步消息中包含时钟信息与任务信息;

所述确定所述第一子系与所述第二子系处于同步状态,包括:

确定所述第二子系与所述第一子系处于时钟同步和任务同步状态。

在第一方面的另一种可能的实现形式中,所述同步消息中包含处理数据;

所述确定所述第一子系与所述第二子系处于同步状态,包括:

确定所述第二子系与所述第一子系处于数据同步状态。

在第一方面的另一种可能的实现形式中,所述确定所述第二子系与所述第一子系处于数据同步状态之后,还包括:

更新所述第一子系中的同步标识。

在第一方面的另一种可能的实现形式中,所述通过与所述第二子系间的第一通信通道发送同步消息之后,还包括:

若未获取到所述第二子系返回的确认消息,则确定所述任务信息对应的任务的重要等级;

在确定所述任务信息对应的任务的重要等级到达预设条件时,控制所述第一子系下电。

在第一方面的另一种可能的实现形式中,所述第一子系在确定自身当前为主系之前,还包括:

所述第一子系获取切系建议和/或切换钥匙位置信息;

根据所述切系建议和/或切换钥匙位置信息,确定第一子系为主系;

控制与所述第一子系关联的第一继电器吸合,其中,所述第一继电器与第二继电器互锁,所述第二继电器为与所述第二子系关联的继电器;

在确定所述第一继电器成功闭合后,确定所述第一子系当前为主系。

在第一方面的另一种可能的实现形式中,所述根据所述切系建议和切换钥匙位置信息,确定第一子系为主系,包括:

在确定所述切系建议得分大于阈值、且所述切换钥匙位置允许所述第一子系为主系时,确定第一子系为主系。

在第一方面的另一种可能的实现形式中,所述第一子系及所述第二子系中分别包括主cpu和从cpu;

所述第一子系中的主cpu通过所述第一通信通道,向所述第二子系中的主cpu发送所述同步消息。

在第一方面的另一种可能的实现形式中,所述主cpu通过第二通信通道,向所述从cpu发送同步消息。

本申请实施例的二乘二取二系统同步方法,第一子系在确定自身当前为主系时,通过与第二子系间的第一通信通道发送同步消息,若通过第一通信通道,获取到第二子系返回的确认消息,则确定第一子系与第二子系处于同步状态。由此,通过利用系统中的第一子系和第二子系间的第一通信通道进行通信,实现了二乘二取二系统的同步,实现方式简单、安全,可靠性高。

为达上述目的,本申请第二方面实施例提出了一种计算机设备,包括:

存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如第一方面所述的二乘二取二系统同步方法。

为达上述目的,本申请第三方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的二乘二取二系统同步方法。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是现有的二乘二取二系统的结构示意图;

图2是本申请一个实施例的二乘二取二系统同步方法的流程示意图;

图3是本申请另一个实施例的二乘二取二系统同步方法的流程示意图;

图3a是本申请一个实施例的二乘二取二系统的结构示意图;

图4是本申请一个实施例的计算机设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请各实施例针对现有的二乘二取二系统同步方法,由于每个二取二系统的cpu1和cpu2,及主系和备系分别同时对dpram进行数据的写入及读取,这就导致了对dpram的同一片内存的读写操作复杂度高,且由于需要处理较多的读写冲突,容易出现故障,安全性和可靠性低的问题,提出一种二乘二取二系统同步方法。

本申请实施例提供的二乘二取二系统同步方法,通过利用系统中的第一子系和第二子系间的第一通信通道进行通信,以确定第一子系和第二子系处于同步状态,实现了二乘二取二系统的同步,实现方式简单、安全,可靠性高。

下面参考附图描述本申请实施例的二乘二取二系统同步方法及计算机设备。

下面首先对本申请实施例提供的二乘二取二系统同步方法进行说明。

图2是本申请一个实施例的二乘二取二系统同步方法的流程示意图。

如图2所示,该二乘二取二系统同步方法包括:

步骤201,第一子系在确定自身当前为主系时,通过与第二子系间的第一通信通道发送同步消息。

步骤202,若通过第一通信通道,获取到第二子系返回的确认消息,则确定第一子系与第二子系处于同步状态。

具体的,本申请实施例提供的二乘二取二系统同步方法,可以被配置在任意安全计算机系统中执行,以实现对系统的同步。

其中,第一通信通道,可以采用以太网、串口等通信总线。

具体的,可以在第一子系与第二子系间,设置第一通信通道,从而在第一子系确定自身当前为主系时,可以通过与第二子系间的第一通信通道,向第二子系发送同步消息,以确定第二子系和第一子系处于同步状态。

可以理解的是,第一子系与第二子系中分别包括主cpu及从cpu,在每个子系中,主cpu均为主时钟,从cpu均为从时钟,从时钟以主时钟为准。即,第一子系和第二子系中,从cpu均以主cpu为准。因此,在第二子系的主cpu与第一子系的主cpu同步时,即可确定两个子系同步。

因此,第一子系在确定自身当前为主系时,第一子系的主cpu可以通过第一通信通道,向第二子系中的主cpu发送同步消息,以确定第一子系与第二子系是否处于同步状态。

具体实现时,第一子系向第二子系发送同步消息后,若第二子系确定同步消息中包括的信息与其自身的信息一致,则可以通过第一通信通道,向第一子系返回确认消息。第一子系获取到第二子系返回的确认消息后,即可确定第一子系与第二子系处于同步状态。

可以理解的是,任务周期开始运行时,第一子系与第二子系需要进行通信握手,以确定两个子系之间是否时钟同步且任务同步,即,同步消息中可以包括时钟信息与任务信息。

相应的,步骤202中,确定第一子系与第二子系处于同步状态,可以包括:

确定第二子系与第一子系处于时钟同步和任务同步状态。

具体的,第一子系向第二子系发送同步消息后,若第二子系确定其时钟信息与任务信息与接收到的同步消息中包括的时钟信息与任务信息一致,则可以通过第一通信通道,向第一子系返回确认消息。第一子系获取到第二子系返回的确认消息后,即可确定第一子系与第二子系处于时钟同步和任务同步状态,从而可以开始执行任务。

需要说明的是,在本发明实施例中,时钟同步可以采样ptp精神时钟同步协议、ntp时钟同步协议等。

具体的,在确定第一子系与第二子系处于时钟同步和任务同步状态后,第一子系和第二子系可以执行与任务信息对应的任务,并获取处理后的数据。在本发明实施例中,在任务周期结束后,还需要确定两个子系之间是否数据同步。

即,同步消息中可以包括处理数据。

相应的,步骤202中,确定第一子系与第二子系处于同步状态,可以包括:

确定第二子系与第一子系处于数据同步状态。

具体的,第一子系向第二子系发送同步消息后,若第二子系确定其处理数据与接收到的同步消息中包括的处理数据一致,则可以通过第一通信通道,向第一子系返回确认消息。第一子系获取到第二子系返回的确认消息后,即可确定第一子系与第二子系处于数据同步状态。

需要说明的是,在第一子系与第二子系处于时钟同步、任务同步及数据同步状态时,可以认为第一子系与第二子系同步;若任一条件不满足,则认为第一子系与第二子系不同步。

在本发明一种可能的实现形式中,可以预先设置不同的任务周期,对应不同的同步标识,并在每次任务周期结束时,根据第一子系与第二子系的同步状态,对该任务周期对应的同步标识进行更新,以备根据同步标识,对系统的同步性进行分析。

即,在确定第二子系与第一子系处于数据同步状态之后,还可以包括:

更新第一子系中的同步标识。

比如,可以预先设置在第一子系与第二子系处于同步状态时,对应的同步标识为“1”,第一子系与第二子系处于不同步状态时,对应的同步标识为“0”,则某个任务周期结束时,若第一子系与第二子系处于同步状态,则可以将该任务周期对应的同步标识更新为“1”。

可以理解的是,第一子系与第二子系可能处于时钟与任务不同步状态,若继续执行任务,可能会导致处理数据无法输出,或处理数据不准确等情况。那么,在本发明实施例中,可以根据任务的重要性,确定是否执行任务。

即,在步骤201之后,还可以包括:

若未获取到第二子系返回的确认消息,则确定任务信息对应的任务的重要等级;

在确定任务信息对应的任务的重要等级到达预设条件时,控制第一子系下电。

具体的,可以预先根据任务的重要性,设置任务的重要等级。比如,可以预先将任务分为低、中、高三个重要等级,不太重要的任务对应的重要等级为低,比较重要的任务对应的重要等级为中,非常重要的任务对应的重要等级为高。

另外,由于越重要的任务,对任务执行过程的可靠性和执行结果的准确性要求越高,对系统的同步性要求也越高。那么,在本发明实施例中,可以预先设置第一子系与第二子系处于时钟与任务不同步状态时,若任务的重要等级为高,则控制第一子系下电。从而在未获取到第二子系返回的确认消息时,若任务信息对应的任务的重要等级为高,则控制第一子系下电,不再执行该任务;若任务信息对应的任务的重要等级为低或中,则可以继续执行该任务。

值得注意的是,在二乘二取二系统中,还要求第一子系与第二子系内部的主cpu和从cpu同步,因此,在本发明实施例中,还可以分别在第一子系和第二子系内部的主cpu和从cpu之间,设置第二通信通道,以通过第二通信通道,确定主cpu和从cpu处于同步状态。即,本发明实施例提供的二乘二取二系统同步方法,还可以包括:

主cpu通过第二通信通道,向从cpu发送同步消息。

具体的,主cpu可以通过第二通信通道,向从cpu发送同步消息。若从cpu接收到同步消息后,确定同步消息中包括的信息与其自身的信息相同,则可以通过第二通信通道,向主cpu返回确认消息。主cpu获取到从cpu返回的确认消息后,即可确定主cpu和从cpu处于同步状态。

需要说明的是,对主cpu和从cpu之间的同步的实现原理及过程,可以参照对第一子系与第二子系之间的同步的详细描述,此处不再赘述。

本申请实施例提供的二乘二取二系统同步方法,第一子系在确定自身当前为主系时,通过与第二子系间的第一通信通道发送同步消息,若通过第一通信通道,获取到第二子系返回的确认消息,则确定第一子系与第二子系处于同步状态。由此,通过利用系统中的第一子系和第二子系间的第一通信通道进行通信,实现了二乘二取二系统的同步,实现方式简单、安全,可靠性高。

通过上述分析可知,第一子系可以在确认自身当前为主系时,通过与第二子系间的第一通信通道,与第二子系进行通信,以确定第一子系与第二子系处于同步状态。下面结合图3,对本申请实施例提供的二乘二取二系统同步方法中,第一子系确认自身当前为主系的过程进行详细说明。

图3是本申请另一个实施例的二乘二取二系统同步方法的流程示意图。

如图3所示,该二乘二取二系统同步方法,还可以包括:

步骤301,第一子系获取切系建议和/或切换钥匙位置信息。

具体的,在每次任务周期结束,完成数据同步后,系统可以根据第一子系和第二子系的处理速度、故障情况等因素,给出切系建议,以确定是否进行主备系的切换。

另外,如图3a所示,可以在系统中设置第一子系和第二子系共用一个切换板,切换板上设置有切换钥匙开关。通过利用切换钥匙开关,可以对系统进行切系控制。

其中,图3a中,a和c为第二通信通道,b为第一通信通道。

具体的,通过切换钥匙开关,可以强制选择第一子系或第二子系作为主系,也可以通过将切换钥匙置于自动位置,以使第一子系和第二子系自动进行切系。

步骤302,根据切系建议和/或切换钥匙位置信息,确定第一子系为主系。

其中,切系建议中,可以包括第一子系和第二子系的切系建议得分。通常,故障系的切系建议得分低于正常系的切系建议得分。

具体的,当切换钥匙位于自动位置时,可以根据切系建议,确定主系。比如,若第一子系的得分大于第二子系的得分,则将第一子系确定为主系。

当切换钥匙位于非自动位置时,可以根据切换钥匙位置,确定主系。比如,若切换钥匙位于允许第一子系为主系的位置,则将第一子系确定为主系。

另外,也可以根据切系建议及切换钥匙位置,确定主系。

即,步骤302可以通过以下方式实现:

在确定切系建议得分大于阈值、且切换钥匙位置允许第一子系为主系时,确定第一子系为主系。

具体的,可以预先设置一个阈值,若第一子系的切系建议得分大于预设的阈值,且切换钥匙位置允许第一子系为主系,则可以将第一子系确定为主系。

比如,假设预设的阈值为90分,若第一子系的切系建议得分为95分,第二子系的切系建议得分为95分,而切换钥匙位于允许第一子系为主系的位置,则可以将第一子系确定为主系。

值得注意的是,若第一子系的切系建议得分不大于预设的阈值,而切换钥匙位于允许第一子系为主系的位置,则可以结合需要执行的任务的重要等级,确定是否将第一子系确定为主系。

比如,若需要执行的任务的重要等级为高,则可以控制第一子系下电,不再执行该任务;若需要执行的任务的重要等级为低或中,则可以将第一子系确定为主系,以继续执行任务,或者根据第二子系的切系建议得分情况,确定是否将第二子系确定为主系,等等。

步骤303,控制与第一子系关联的第一继电器吸合,其中,第一继电器与第二继电器互锁,第二继电器为与第二子系关联的继电器。

步骤304,在确定第一继电器成功闭合后,确定第一子系当前为主系。

具体的,如图3a所示,可以在第一子系和第二子系共用的切换板上设置与第一子系关联的第一继电器和与第二子系关联的继电器,而第一继电器和第二继电器互锁。

将第一子系确定为主系后,可以控制第一继电器吸合,同时,第二继电器无法吸合,从而使第一子系成为主系。

通过利用互锁继电器,可以实现系统中仅一个主系,防止双系同时主系导致的冲突,且无需额外的通信机制和双主预防逻辑,实现方式简单,成本低。

具体的,第一子系在确定自身当前为主系时,即可通过与第二子系间的第一通信通道与第二子系进行通信,以确定第一子系与第二子系处于同步状态。

本发明实施例提供的二乘二取二系统同步方法,通过主系与备系之间的同步,可以使备系的状态与主系一致。当主系故障时,备系立即切换为主系,并具备主系宕机前的正常工作状态,使外部设备通信不中断,数字输出不中断,实现了无扰切换。当备系故障时,主系认为备系不同步,不执行主备同步功能,节省了主系运行时间。

本申请实施例提供的二乘二取二系统同步方法,首先第一子系获取切系建议和/或切换钥匙位置信息,然后根据切系建议和/或切换钥匙位置信息,确定第一子系为主系,再控制与第一子系关联的第一继电器吸合,在确定第一继电器成功闭合后,即可确定第一子系当前为主系,进而通过利用系统中的第一子系和第二子系间的第一通信通道,发送同步消息及获取确认消息,以确定第一子系和第二子系处于同步状态。通过利用系统中的第一子系和第二子系间的第一通信通道进行通信,实现了二乘二取二系统的同步,实现方式简单、安全,可靠性高。

为达上述目的,本申请实施例还提出了一种计算机设备。

图4是本申请一个实施例的计算机设备的结构示意图。

如图4所示,该计算机设备包括:存储器41、处理器42及存储在存储器41上并可在处理器42上运行的计算机程序。

处理器42执行所述程序时实现上述实施例中提供的应用状态监控方法。

进一步地,服务器还包括:

通信接口43,用于存储器41和处理器42之间的通信。

存储器41,用于存放可在处理器42上运行的计算机程序。

存储器41可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

处理器42,用于执行所述程序时实现上述实施例所述的浏览器页面测试方法。

如果存储器41、处理器42和通信接口43独立实现,则通信接口43、存储器41和处理器42可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(industrystandardarchitecture,简称isa)总线、外部设备互连(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅以一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选地,在具体实现时,如果存储器41、处理器42及通信接口43,集成在一块芯片上实现,则存储器41、处理器42及通信接口43可以通过内部接口完成相互间的通信。

处理器42可以是一个中央处理器(centralprocessingunit,简称cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称asic),或者是被配置成实施本发明实施例的一个或多个集成电路。

为达上述目的,本申请实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的二乘二取二系统同步方法。

为达上述目的,本申请实施例还提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如上述实施例中所示的二乘二取二系统同步方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个第一处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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