CN109240975A - 二取二***同步方法及装置 - Google Patents
二取二***同步方法及装置 Download PDFInfo
- Publication number
- CN109240975A CN109240975A CN201710558190.2A CN201710558190A CN109240975A CN 109240975 A CN109240975 A CN 109240975A CN 201710558190 A CN201710558190 A CN 201710558190A CN 109240975 A CN109240975 A CN 109240975A
- Authority
- CN
- China
- Prior art keywords
- cpu
- synchronous
- take
- message
- communication
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提出一种二取二***同步方法及装置,其中,二取二***中具有两个性能相同的CPU,方法包括:第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;若在预设的时间间隔内获取到第二CPU返回的反馈报文,则确定第一CPU与第二CPU当前处于同步状态。该方法能够实现在循环周期内,通过通信的方式实现两个CPU的同步,由于两个CPU具有同样的性能,从而使得可以在每个任务完成后,立刻开启下一任务,节省大量的等待时间,提高了***的运行效率。
Description
技术领域
本发明涉及轨道交通技术领域,尤其涉及一种二取二***同步方法及装置。
背景技术
目前二取二***中,两个CPU(标记为第一CPU和第二CPU)共用一个时钟的晶振,以同一时钟来触发第一CPU和第二CPU启动对任务进行处理的操作。因此,只需设定每个任务的触发时间,就能使第一CPU和第二CPU在同一时间启动对任务进行处理的操作。
这种方式下,由于设定每个任务的触发时间,因此需要第一CPU和第二CPU在下一任务的触发时间到来前,处理完之前的任务。若设定的任务触发时间间隔过长,将导致CPU处于等待状态,浪费了***的资源,***的运行效率较低;而若设定的任务触发时间间隔过短,则会导致上一任务未完成时,就触发执行了新任务,给***造成较大的安全隐患,***的可靠性较低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种二取二***同步方法,以实现在循环周期内,通过通信的方式实现两个CPU的同步,由于两个CPU具有同样的性能,从而使得可以在每个任务完成后,立刻开启下一任务,节省大量的等待时间,提高了***的运行效率,用于解决现有设定每个任务的触发时间,使第一CPU和第二CPU在同一时间启动对任务进行处理的操作,若设定的任务触发时间间隔过长,将导致CPU处于等待状态,浪费了***的资源,***的运行效率较低;而若设定的任务触发时间间隔过短,则会导致上一任务未完成时,就触发执行了新任务,给***造成较大的安全隐患,***的可靠性较低的问题。
本发明的第二个目的在于提出一种二取二***同步装置。
本发明的第三个目的在于提出另一种二取二***同步装置。
本发明的第四个目的在于提出一种计算机程序产品。
本发明的第五个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种二取二***同步方法,所述二取二***中具有两个性能相同的CPU,所述方法包括:第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;若在预设的时间间隔内获取到所述第二CPU返回的反馈报文,则确定所述第一CPU与所述第二CPU当前处于同步状态。
本发明实施例的二取二***同步方法,通过,能够第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;若在预设的时间间隔内获取到第二CPU返回的反馈报文,则确定第一CPU与第二CPU当前处于同步状态。本实施例中,在循环周期内,通过通信的方式实现两个CPU的同步,由于两个CPU具有同样的性能,从而使得可以在每个任务完成后,立刻开启下一任务,节省大量的等待时间,提高了***的运行效率。
为达上述目的,本发明第二方面实施例提出了一种二取二***同步装置,所述二取二***中具有两个性能相同的CPU,所述装置包括:第一发送模块,用于第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;第一确定模块,用于当在预设的时间间隔内获取到所述第二CPU返回的反馈报文,确定所述第一CPU与所述第二CPU当前处于同步状态。
本发明实施例的二取二***同步装置,通过第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;若在预设的时间间隔内获取到第二CPU返回的反馈报文,则确定第一CPU与第二CPU当前处于同步状态。本实施例中,在循环周期内,通过通信的方式实现两个CPU的同步,由于两个CPU具有同样的性能,从而使得可以在每个任务完成后,立刻开启下一任务,节省大量的等待时间,提高了***的运行效率。
为达上述目的,本发明第三方面实施例提出了另一种二取二***同步装置,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现上述第一方面实施例提出的二取二***同步方法。
为达上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行本发明上述第一方面实施例提出的二取二***同步方法。
为达上述目的,本发明第五方面实施例提出了一种非临时计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述第一方面实施例提出的二取二***同步方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种二取二***同步方法的流程示意图;
图2为本发明实施例中同步报文校验过程示意图;
图3为本发明实施例中反馈报文校验过程示意图;
图4为本发明实施例提供的另一种二取二***同步方法的流程示意图;
图5为本发明实施例提供的另一种二取二***同步方法的流程示意图;
图6为本发明实施例提供的一种二取二***同步装置的结构示意图;
图7为本发明实施例提供的另一种二取二***同步装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的二取二***同步方法及装置。
图1为本发明实施例提供的一种二取二***同步方法的流程示意图。
本发明实施例的二取二***,包含两个性能相同的CPU,本发明实施例记为第一CPU和第二CPU,第一CPU和第二CPU进行独立的运算,通过通信通道交换输入数据,表决输出数据,能够提升***的可靠性。
如图1所示,该二取二***同步方法包括以下步骤:
S101,第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文。
本实施例中,第一CPU和第二CPU具有相同的数据处理流程、相同的循环周期、良好的通信性能以及较低的丢包率。在具体应用时,两个CPU具有独立的标识来区分第一CPU及第二CPU。在周期循环进行的过程中,单次同步通信的发起方和接收方并非固定的,而是由具体的需求来决定的,例如,此次同步通信的发起方可以为第一CPU,也可以为第二CPU。
本申请实施例中,以第一CPU为此次同步通信的发起方为例进行说明。当第一CPU确定其为发起方时,即可向第二CPU发送同步报文,以与第二CPU进行时钟、任务等信息的同步。
需要说明的是,由于二取二***中,不同的任务周期都需要进行同步,因此为了区分不同的同步通信过程,对于不同的同步通信过程,可以设置不同的标识符。接收方在收到非此次同步通信的标识符时,即可丢弃报文,继续等待,直到获取到此次同步通信的标识符。其中,标识符可以包括发送报文的设备、报文类型等信息。
另外,由于同步过程可以发生在循环周期的任一周期内,接收方可能会收到同一同步过程,但非本周期的报文的情况。因此,为了确保接收方与发起方间的同步报文不会乱序,可以增加序列号进行校验。
进一步的,在报文的传输过程中,也可能会出现数据丢失、错乱等情况。因此,本申请实施例中还可以在报文中增加循环冗余校验码(Cyclic Redundancy Check,CRC)校验,以保证报文中的数据在发送前后的完整性。
因此,在本发明实施例中,同步报文中可以包含:此次同步通信的标识符、此次同步通信的序列号及CRC。
可选地,第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文。第二CPU在收到同步报文后,首先需对第一CPU发送的同步报文进行校验处理,避免通信干扰等造成的错误报文数据被采用。
例如,参见图2,图2为本发明实施例中同步报文校验过程示意图。第二CPU在收到同步报文后,首先判断同步报文中的此次同步通信的标识符是否与预期的一致,若是,则继续判断同步报文中的此次同步通信的序列号是否与预期的一致,若是,则继续判断同步报文长度是否与预期一致,若是,则计算同步报文的CRC,判断计算出的CRC是否与同步报文中所写的CRC一致,若是,则判断校验成功,而后,第二CPU可以向第一CPU发送反馈报文。
需要说明的是,上述进行同步报文的校验过程中,对报文中的序列号、标识符及CRC的校验顺序,可以根据需要进行调整,本实施例对此不做限定。
S102,若在预设的时间间隔内获取到第二CPU返回的反馈报文,则确定第一CPU与第二CPU当前处于同步状态。
本实施例中,如果此次同步过程发生在任务执行阶段,可以认为第一CPU与第二CPU间的同步状态,只受通信性能影响,因此可以根据第一CPU及第二CPU的通信性能,确定预设的时间间隔。
具体实现时,可以为不同的通信性能差异设置不同的预设的时间间隔,建立通信性能差异和预设的时间间隔之间的映射关系。从而在确定通信性能差异后,通过查询所述映射关系,即可获取对应的预设的时间间隔。
可以理解的是,由于第一CPU和第二CPU具有相同的循环周期以及相同的数据处理流程,第一CPU和第二CPU的同步状态只受通信的影响。因此,本实施例中,在第一CPU和第二CPU处于同步状态后,可以根据通道性能(通道速率以及丢包率)将两者间的同步等待时间的容忍值,即预设的时间间隔缩减到毫秒级别甚至是微妙级别,从而在保证***高效运行的同时,第一CPU和第二CPU各自处理逻辑,并对结果进行表决的方式,保证了***的可靠性。
或者,如果此次同步过程发生在二取二***初始化阶段,即此次同步通信为二取二***初始化阶段的同步通信,此时为了提高同步的成功率,则可以根据预设的规则,延长上述预设的时间间隔。
具体地,延长后的预设的时间间隔的时长,可以根据需求确定;或者,由于二取二***具有很多性能参数,可以根据不同的性能参数,将预设的时间间隔延长不同的时长。此处对此不作限制。
在本发明的实施例中,反馈报文中也包含:此次同步通信的标识符、此次同步通信的序列号及CRC。
需要说明的是,在第二CPU接收到同步报文时,表明通信通道正常,为了节省二取二***的同步时间,反馈报文可以不采用重传机制。为防止反馈报文因传输过程导致乱序以及丢失的情况,可以一次性发送多帧反馈报文,提高同步的成功率。
相应的,第一CPU在收到第二CPU发送的反馈报文后,需对反馈报文进行校验处理,保证该反馈报文所对应的同步报文为第一CPU之前所发出的同步报文,即判断反馈报文中的此次同步通信的标识符、此次同步通信的序列号及循环冗余校验码,与此次同步报文中的各信息是否一致,若一致,则确定第一CPU与第二CPU当前处于同步状态。
例如,参见图3,图3为本发明实施例中反馈报文校验过程示意图。第一CPU在接收到反馈报文后,首先需判断反馈报文中的此次同步通信的标识符是否与预期一致,若是,则继续判断反馈报文中的此次同步通信的序列号是否与预期一致,若是,则继续判断反馈报文长度是否与预期一致,若是,则继续判断反馈报文中所写的CRC是否与之前发出去的同步报文中的CRC一致,若是,则校验成功。在第一CPU校验成功时,确定第一CPU与第二CPU当前处于同步状态。
需要说明的是,上述进行反馈报文的校验过程中,对报文中的序列号、标识符及CRC的校验顺序,可以根据需要进行调整,本实施例对此不做限定。
本实施例的二取二***同步方法,通过第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;若在预设的时间间隔内获取到第二CPU返回的反馈报文,则确定第一CPU与第二CPU当前处于同步状态。本实施例中,在循环周期内,通过通信的方式实现两个CPU的同步,由于两个CPU具有同样的性能,从而使得可以在每个任务完成后,立刻开启下一任务,节省大量的等待时间,提高了***的运行效率。
另外,在同步报文的传输过程中,同步报文中的数据的完整性可能会受到破坏,从而导致第二CPU校验失败的情况。因此,本发明实施例中还可以增加重传机制,以提高同步的成功率。下面结合图4,对本申请实施例中,重传机制进行详细说明。
图4为本发明实施例所提供的另一种二取二***同步方法的流程示意图。
参见图4,该二取二***同步方法可以包括以下步骤:
S401,第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文。
S402,判断在预设的时间间隔内是否获取到第二CPU返回的反馈报文,若是,执行S403,否则,执行S404。
S403,确定第一CPU与第二CPU当前处于同步状态。
步骤S401~403的执行过程可以参见上述实施例,在此不再赘述。
S404,重复向第二CPU发送同步报文,直至获取到第二CPU返回的反馈报文。
可选地,当在预设的时间间隔内未获取到第二CPU返回的反馈报文时,可以重复向第二CPU发送同步报文,直至获取到第二CPU返回的反馈报文,能够提高两个CPU同步的成功率。
需要说明的是,在同步报文重传时,序列号应保持与之前一致,避免序列号错乱的情况。
本实施例的二取二***同步方法,通过第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文,在预设的时间间隔内获取到第二CPU返回的反馈报文时,确定第一CPU与第二CPU当前处于同步状态,在预设的时间间隔内未获取到第二CPU返回的反馈报文时,重复向第二CPU发送同步报文,直至获取到第二CPU返回的反馈报文,能够提高同步的成功率。
在本申请一种可能的实现形式中,若第一CPU无法与第二CPU实现同步,那么还可以根据当前待处理的任务的重要性,执行相应的操作。下面结合图5对上述情况进行详细说明。
图5为本发明实施例所提供的另一种二取二***同步方法的流程示意图。
S501,判断向第二CPU发送同步报文的次数是否达到预设的值,若是,执行S502,否则,执行S404。
在本发明的实施例中,预设的值为预先设置的,预设的值的大小,可以根据CPU间进行一次通信所需的时间及等待容忍时间设置。比如,CPU进行一次通信需要的时间为2纳秒(ns),等待容忍时间为10ns,那么预设的值即可设为4、或者5等。
相应的,在确定向第二CPU发送同步报文的次数未达到预设的值时,第一CPU可以继续向第二CPU发送同步报文,直至获取到第二CPU返回的反馈报文;而在向第二CPU发送同步报文的次数达到预设的值时,表明第一CPU和第二CPU间的通信通道出现问题,此时,可以触发后续步骤。
S502,判断待处理的任务是否为重要任务,若是,执行S503,否则,执行S504。
在本发明的实施例中,待处理的任务为二取二***需要处理的任务。
S503,控制第一CPU下电。
可选地,在待处理的任务为重要任务时,由于此时两个CPU不处于同步状态,无法由两个CPU表决输出数据,***继续运行可能存在风险,此时,可以控制第一CPU下电。
S504,启动对待处理的任务进行处理的操作。
可选地,在待处理的任务不为重要任务时,无需由两个CPU表决输出数据,此时,可以由任一CPU启动对待处理的任务进行处理的操作。
本实施例的二取二***同步方法,通过在向第二CPU发送同步报文的次数达到预设的值,且待处理的任务为重要任务时,控制第一CPU下电,能够保证***的正常运行,进一步保证了***的可靠性,在向第二CPU发送同步报文的次数达到预设的值,且待处理的任务不为重要任务时,启动对待处理的任务进行处理的操作,能够保证***的高效运行。
图6为本发明实施例提供的一种二取二***同步装置的结构示意图。
如图6所示,该二取二***同步装置600包括:第一发送模块610和第一确定模块620。其中,
第一发送模块610,用于第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文。
第一确定模块620,用于当在预设的时间间隔内获取到第二CPU返回的反馈报文,确定第一CPU与第二CPU当前处于同步状态。
在本发明的实施例中,同步报文及反馈报文中分别包含:此次同步通信的标识符、此次同步通信的序列号及循环冗余校验码。
具体实现时,第一确定模块620,具体用于判断反馈报文中的此次同步通信的标识符、此次同步通信的序列号及循环冗余校验码,与此次同步报文中的各信息是否一致;若一致,则确定第一CPU与第二CPU当前处于同步状态。
进一步地,在本发明实施例的一种可能的实现方式中,在图6的基础上,参见图7,该二取二***同步装置600还进一步包括:
第二发送模块630,用于当在预设的时间间隔内,未获取到第二CPU返回的反馈报文时,重复向第二CPU发送同步报文,直至获取到第二CPU返回的反馈报文。
作为本发明实施例的一种可能的实现方式,第二发送模块630,还用于判断向第二CPU发送同步报文的次数是否达到预设的值;若是,则判断待处理的任务是否为重要任务;若是,则控制第一CPU下电。
可选地,第二发送模块630,还用于:若否,则启动对待处理的任务进行处理的操作。
第二确定模块640,用于在预设的时间间隔内获取到第二CPU返回的反馈报文之前,根据第一CPU及第二CPU的通信性能,确定预设的时间间隔。
延长模块650,用于在预设的时间间隔内获取到第二CPU返回的反馈报文之前,判断此次同步通信是否为二取二***初始化阶段的同步通信;若是,则根据预设的规则,延长预设的时间间隔。
需要说明的是,前述图1-图5实施例对二取二***同步方法实施例的解释说明也适用于该实施例的二取二***同步装置600,此处不再赘述。
本实施例的二取二***同步装置,通过第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;若在预设的时间间隔内获取到第二CPU返回的反馈报文,则确定第一CPU与第二CPU当前处于同步状态。本实施例中,在循环周期内,通过通信的方式实现两个CPU的同步,由于两个CPU具有同样的性能,从而使得可以在每个任务完成后,立刻开启下一任务,节省大量的等待时间,提高了***的运行效率。
为了实现上述实施例,本发明还提出一种二取二***同步装置,其特征在于,包括处理器和存储器;其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现本发明上述实施例提出的二取二***同步方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行本发明上述实施例提出的二取二***同步方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如前述实施例所述的二取二***同步方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (17)
1.一种二取二***同步方法,所述二取二***中具有两个性能相同的CPU,其特征在于,所述方法包括:
第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;
若在预设的时间间隔内获取到所述第二CPU返回的反馈报文,则确定所述第一CPU与所述第二CPU当前处于同步状态。
2.如权利要求1所述的二取二***同步方法,其特征在于,还包括:
若在预设的时间间隔内,未获取到所述第二CPU返回的反馈报文,则重复向所述第二CPU发送同步报文,直至获取到所述第二CPU返回的反馈报文。
3.如权利要求2所述的二取二***同步方法,其特征在于,所述重复向所述第二CPU发送同步报文之后,还包括:
判断向所述第二CPU发送同步报文的次数是否达到预设的值;
若是,则判断待处理的任务是否为重要任务;
若是,则控制所述第一CPU下电。
4.如权利要求3所述的二取二***同步方法,其特征在于,所述判断待处理的任务是否为重要任务之后,还包括:
若否,则启动对所述待处理的任务进行处理的操作。
5.如权利要求1-4任一所述的二取二***同步方法,其特征在于,所述同步报文及所述反馈报文中分别包含:此次同步通信的标识符、此次同步通信的序列号及循环冗余校验码;
所述确定所述第一CPU与所述第二CPU当前处于同步状态,包括:
判断所述反馈报文中的此次同步通信的标识符、此次同步通信的序列号及循环冗余校验码,与此次同步报文中的各信息是否一致;
若一致,则确定所述第一CPU与所述第二CPU当前处于同步状态。
6.如权利要求1-4任一所述的二取二***同步方法,其特征在于,所述在预设的时间间隔内获取到所述第二CPU返回的反馈报文之前,还包括:
根据所述第一CPU及所述第二CPU的通信性能,确定所述预设的时间间隔。
7.如权利要求1-4任一所述的二取二***同步方法,其特征在于,所述在预设的时间间隔内获取到所述第二CPU返回的反馈报文之前,还包括:
判断此次同步通信是否为所述二取二***初始化阶段的同步通信;
若是,则根据预设的规则,延长所述预设的时间间隔。
8.一种二取二***同步装置,所述二取二***中具有两个性能相同的CPU,其特征在于,所述装置包括:
第一发送模块,用于第一CPU在确定自身为此次同步通信的发起方时,向第二CPU发送同步报文;
第一确定模块,用于当在预设的时间间隔内获取到所述第二CPU返回的反馈报文,确定所述第一CPU与所述第二CPU当前处于同步状态。
9.如权利要求8所述的二取二***同步装置,其特征在于,还包括:
第二发送模块,用于当在预设的时间间隔内,未获取到所述第二CPU返回的反馈报文时,重复向所述第二CPU发送同步报文,直至获取到所述第二CPU返回的反馈报文。
10.如权利要求9所述的二取二***同步装置,其特征在于,所述第二发送模块,还用于:
判断向所述第二CPU发送同步报文的次数是否达到预设的值;
若是,则判断待处理的任务是否为重要任务;
若是,则控制所述第一CPU下电。
11.如权利要求10所述的二取二***同步装置,其特征在于,所述第二发送模块,还用于:
若否,则启动对所述待处理的任务进行处理的操作。
12.如权利要求8-11任一所述的二取二***同步装置,其特征在于,所述同步报文及所述反馈报文中分别包含:此次同步通信的标识符、此次同步通信的序列号及循环冗余校验码;
所述第一确定模块,具体用于:
判断所述反馈报文中的此次同步通信的标识符、此次同步通信的序列号及循环冗余校验码,与此次同步报文中的各信息是否一致;
若一致,则确定所述第一CPU与所述第二CPU当前处于同步状态。
13.如权利要求8-11任一所述的二取二***同步装置,其特征在于,还包括:
第二确定模块,用于所述在预设的时间间隔内获取到所述第二CPU返回的反馈报文之前,根据所述第一CPU及所述第二CPU的通信性能,确定所述预设的时间间隔。
14.如权利要求8-11任一所述的二取二***同步装置,其特征在于,还包括:
延长模块,用于所述在预设的时间间隔内获取到所述第二CPU返回的反馈报文之前,判断此次同步通信是否为所述二取二***初始化阶段的同步通信;若是,则根据预设的规则,延长所述预设的时间间隔。
15.一种二取二***同步装置,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-7中任一所述的二取二***同步方法。
16.一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如权利要求1-7中任一项所述的二取二***同步方法。
17.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的二取二***同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710558190.2A CN109240975A (zh) | 2017-07-10 | 2017-07-10 | 二取二***同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710558190.2A CN109240975A (zh) | 2017-07-10 | 2017-07-10 | 二取二***同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109240975A true CN109240975A (zh) | 2019-01-18 |
Family
ID=65083114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710558190.2A Pending CN109240975A (zh) | 2017-07-10 | 2017-07-10 | 二取二***同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240975A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858071A (zh) * | 2020-08-06 | 2020-10-30 | 卡斯柯信号有限公司 | 一种车载双通道cpu的同步控制方法 |
CN112699037A (zh) * | 2020-12-30 | 2021-04-23 | 卡斯柯信号有限公司 | 一种用于二取二***的软件测试方法 |
CN113050752A (zh) * | 2021-03-29 | 2021-06-29 | 中车青岛四方车辆研究所有限公司 | 用于两个中央处理器时间同步的方法和存储介质 |
CN113110369A (zh) * | 2021-03-09 | 2021-07-13 | 广东安朴电力技术有限公司 | 一种层级控制***时间同步方法及通讯架构 |
CN113602327A (zh) * | 2021-07-19 | 2021-11-05 | 交控科技股份有限公司 | 远程重启装置及*** |
CN113665639A (zh) * | 2021-07-28 | 2021-11-19 | 交控科技股份有限公司 | 全电子计算机联锁设备重启方法及*** |
CN113665631A (zh) * | 2021-07-20 | 2021-11-19 | 交控科技股份有限公司 | 一种联锁主机设备远程重启方法及装置 |
CN113821469A (zh) * | 2021-09-23 | 2021-12-21 | 深圳市元征科技股份有限公司 | 多处理器的同步方法、装置、终端设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561795A (zh) * | 2009-05-20 | 2009-10-21 | 中兴通讯股份有限公司 | 一种分布式***中的数据同步方法及装置 |
CN101876928A (zh) * | 2009-11-13 | 2010-11-03 | 北京全路通信信号研究设计院 | 一种二乘二取二***的同步方法和设备 |
CN102830647A (zh) * | 2012-08-31 | 2012-12-19 | 北京和利时***工程有限公司 | 一种故障安全的二乘二取二装置 |
CN103634150A (zh) * | 2013-12-03 | 2014-03-12 | 合肥工大高科信息科技股份有限公司 | 一种冗余的高安全性can总线通信***及其通信方法 |
CN103795520A (zh) * | 2014-01-23 | 2014-05-14 | 国电南瑞科技股份有限公司 | 一种基于fpga报文实时同步方法 |
CN104133805A (zh) * | 2014-07-07 | 2014-11-05 | 北京交大思诺科技有限公司 | Atp车载设备中的数据同步方法与装置 |
CN104657326A (zh) * | 2013-11-25 | 2015-05-27 | 重庆重邮信科通信技术有限公司 | 双cpu通信方法、***和片上***芯片 |
WO2015196685A1 (zh) * | 2014-06-26 | 2015-12-30 | 中兴通讯股份有限公司 | 时钟同步方法及装置 |
CN105281885A (zh) * | 2014-07-25 | 2016-01-27 | 中兴通讯股份有限公司 | 用于网络设备的时间同步方法、装置及时间同步服务器 |
CN105426171A (zh) * | 2015-10-30 | 2016-03-23 | 北京交控科技股份有限公司 | 多个二取二***的同步和切换方法、*** |
US20160253285A1 (en) * | 2014-01-08 | 2016-09-01 | Artesyn Embedded Computing, Inc. | Method And System of Synchronizing Processors To The Same Computational Point |
CN106453625A (zh) * | 2016-11-17 | 2017-02-22 | 东软集团股份有限公司 | 信息同步方法及高可用性集群*** |
-
2017
- 2017-07-10 CN CN201710558190.2A patent/CN109240975A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561795A (zh) * | 2009-05-20 | 2009-10-21 | 中兴通讯股份有限公司 | 一种分布式***中的数据同步方法及装置 |
CN101876928A (zh) * | 2009-11-13 | 2010-11-03 | 北京全路通信信号研究设计院 | 一种二乘二取二***的同步方法和设备 |
CN102830647A (zh) * | 2012-08-31 | 2012-12-19 | 北京和利时***工程有限公司 | 一种故障安全的二乘二取二装置 |
CN104657326A (zh) * | 2013-11-25 | 2015-05-27 | 重庆重邮信科通信技术有限公司 | 双cpu通信方法、***和片上***芯片 |
CN103634150A (zh) * | 2013-12-03 | 2014-03-12 | 合肥工大高科信息科技股份有限公司 | 一种冗余的高安全性can总线通信***及其通信方法 |
US20160253285A1 (en) * | 2014-01-08 | 2016-09-01 | Artesyn Embedded Computing, Inc. | Method And System of Synchronizing Processors To The Same Computational Point |
CN103795520A (zh) * | 2014-01-23 | 2014-05-14 | 国电南瑞科技股份有限公司 | 一种基于fpga报文实时同步方法 |
WO2015196685A1 (zh) * | 2014-06-26 | 2015-12-30 | 中兴通讯股份有限公司 | 时钟同步方法及装置 |
CN104133805A (zh) * | 2014-07-07 | 2014-11-05 | 北京交大思诺科技有限公司 | Atp车载设备中的数据同步方法与装置 |
CN105281885A (zh) * | 2014-07-25 | 2016-01-27 | 中兴通讯股份有限公司 | 用于网络设备的时间同步方法、装置及时间同步服务器 |
CN105426171A (zh) * | 2015-10-30 | 2016-03-23 | 北京交控科技股份有限公司 | 多个二取二***的同步和切换方法、*** |
CN106453625A (zh) * | 2016-11-17 | 2017-02-22 | 东软集团股份有限公司 | 信息同步方法及高可用性集群*** |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858071A (zh) * | 2020-08-06 | 2020-10-30 | 卡斯柯信号有限公司 | 一种车载双通道cpu的同步控制方法 |
CN111858071B (zh) * | 2020-08-06 | 2022-07-26 | 卡斯柯信号有限公司 | 一种车载双通道cpu的同步控制方法 |
CN112699037A (zh) * | 2020-12-30 | 2021-04-23 | 卡斯柯信号有限公司 | 一种用于二取二***的软件测试方法 |
CN112699037B (zh) * | 2020-12-30 | 2022-10-04 | 卡斯柯信号有限公司 | 一种用于二取二***的软件测试方法 |
CN113110369A (zh) * | 2021-03-09 | 2021-07-13 | 广东安朴电力技术有限公司 | 一种层级控制***时间同步方法及通讯架构 |
CN113050752A (zh) * | 2021-03-29 | 2021-06-29 | 中车青岛四方车辆研究所有限公司 | 用于两个中央处理器时间同步的方法和存储介质 |
CN113050752B (zh) * | 2021-03-29 | 2023-02-21 | 中车青岛四方车辆研究所有限公司 | 用于两个中央处理器时间同步的方法和存储介质 |
CN113602327A (zh) * | 2021-07-19 | 2021-11-05 | 交控科技股份有限公司 | 远程重启装置及*** |
CN113665631A (zh) * | 2021-07-20 | 2021-11-19 | 交控科技股份有限公司 | 一种联锁主机设备远程重启方法及装置 |
CN113665639A (zh) * | 2021-07-28 | 2021-11-19 | 交控科技股份有限公司 | 全电子计算机联锁设备重启方法及*** |
CN113821469A (zh) * | 2021-09-23 | 2021-12-21 | 深圳市元征科技股份有限公司 | 多处理器的同步方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240975A (zh) | 二取二***同步方法及装置 | |
CN104541266B (zh) | 用于同步设备的机构、***及方法 | |
CN103178956B (zh) | 一种实现配电自动化遥控命令加密认证的方法 | |
CN104468521B (zh) | 在线迁移方法、装置和*** | |
CN110430087A (zh) | 区块链热升级的架构设计与实现 | |
CN101511042B (zh) | 一种同步数据的方法及其装置 | |
MacBrough | Cobalt: BFT governance in open networks | |
CN112347184B (zh) | 分叉处理方法以及区块链节点 | |
WO2008024162A3 (en) | Electronic signature validation systems and methods for asynchronous environments | |
CN108279597A (zh) | 一种基于有限状态机的计算机联锁平台控制方法 | |
CN103677988B (zh) | 用于软件***的多进程通讯方法及*** | |
CN109495263A (zh) | 时钟同步方法、***、装置、智能终端、车辆终端及介质 | |
CN109104287A (zh) | 在区块链中进行通信的方法和装置 | |
EP3223459A1 (en) | Method and device for detecting connectivity | |
CN105426171B (zh) | 多个二取二***的同步和切换方法、*** | |
CN109240974A (zh) | 二乘二取二***同步方法及计算机设备 | |
CN108445788A (zh) | 一种酒店场景控制方法及相关装置 | |
CN102447611B (zh) | 一种建立和拆除双向点到多点标签转发路径的方法及*** | |
JP3905907B2 (ja) | 電子価値交換システム、及び、電子価値交換方法 | |
CN104123512B (zh) | 实现智能密钥设备模式间切换的方法和装置 | |
CN102880478A (zh) | 软件更新方法 | |
CN101945083B (zh) | 一种虚拟路由冗余协议的鉴权方法及仿冒判断方法 | |
CN109274636A (zh) | 数据安全传输方法及其装置、***、列车 | |
CN103686644A (zh) | 终端转接的远程操控方法、远程操控***及服务器 | |
CN103778091B (zh) | 用于操作和切换单导体接口的设备和方法 |
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 |