CN115577225A - 二取二表决处理方法、设备及存储介质 - Google Patents

二取二表决处理方法、设备及存储介质 Download PDF

Info

Publication number
CN115577225A
CN115577225A CN202211567537.7A CN202211567537A CN115577225A CN 115577225 A CN115577225 A CN 115577225A CN 202211567537 A CN202211567537 A CN 202211567537A CN 115577225 A CN115577225 A CN 115577225A
Authority
CN
China
Prior art keywords
data
voting
data set
check table
processing unit
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.)
Granted
Application number
CN202211567537.7A
Other languages
English (en)
Other versions
CN115577225B (zh
Inventor
陈彦艳
朱江
王忠卫
余浩源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRSC Wanquan Signaling Equipment Co Ltd
Original Assignee
CRSC Wanquan Signaling Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CRSC Wanquan Signaling Equipment Co Ltd filed Critical CRSC Wanquan Signaling Equipment Co Ltd
Priority to CN202211567537.7A priority Critical patent/CN115577225B/zh
Publication of CN115577225A publication Critical patent/CN115577225A/zh
Application granted granted Critical
Publication of CN115577225B publication Critical patent/CN115577225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请提供一种二取二表决处理方法、设备及存储介质,方法包括:所述第一处理单元和所述第二处理单元分别根据接收到的第一数据集合、第二数据集合生成第一校验表、第二校验表;所述第一处理单元通过以太网接口接收所述第二校验表,将所述第一校验表与所述第二校验表进行乘积处理,生成表决数据二值矩阵;所述第一处理单元对所述表决数据二值矩阵进行判断,根据判断结果对所述第一数据集合、所述第二数据集合进行数据前推或数据纠正处理,得到表决成功数据集合。本申请采用操作系统加以太网协议栈模式,使得二取二表决方法及上层计算机联锁软件无需根据硬件变更而更改软件,降低其对硬件的依赖,同时避免接收以太网数据不同步、数据不一致问题。

Description

二取二表决处理方法、设备及存储介质
技术领域
本申请涉及计算机联锁控制技术领域,尤其涉及一种二取二表决处理方法、设备及计算机可读存储介质。
背景技术
在轨道交通领域,计算机联锁控制系统一个苛求安全的计算机控制系统,最常用的是使用二乘二取二平台,二乘二取二平台由I系和II系两系构成,每个系有两个计算单元,组成二取二单元。目前,二取二表决的通信接口一般采用CAN(Controller AreaNetwork,控制器局域网络)串口这种短数据、高实时的通信接口,部分还采用架构电路实现二取二表决。由于各个厂商生产该平台的硬件设备各有不同,特别是计算单元所使用的硬件不同,通信接口的引脚更是区别很大。由于二取二表决功能的特殊性质,运行在该平台之上的计算机联锁软件也会因为平台的改变而做较大的修改。
实际应用过程中,基于安全平台的计算机联锁软件本身具有高复用性,却需要因为平台的变更做出较大的更改,导致各设备之间的联锁系统软件种类繁多,维护困难。计算机联锁系统软件与硬件关联性过强的原因在于计算机联锁系统软件中二取二表决功能目前由硬件完成,因此首先解决二取二功能对于硬件的依赖。如果有一种平台,可以让联锁软件不用关心硬件的实现,即实现系统软件和硬件平台的解绑。为了解决上述存在的问题,人们一直在寻找一种理想的技术解决方案,可以让联锁软件不用关心硬件的实现,做最小的改动即可在不同的平台上运行,实现系统软件和硬件平台的解绑。
发明内容
本申请的主要目的在于提供一种二取二表决处理方法、设备及计算机可读存储介质,旨在通过一种基于以太网UDP(User Datagram Protocol,用户数据报协议)通信的二取二表决方法,实现计算机联锁控制,避免由于硬件接口或硬件平台的差异而需要对计算机联锁系统软件进行较大的改动。
第一方面,本申请提供一种二取二表决处理方法,所述方法应用于第一处理单元及与所述第一处理单元通过以太网通信连接的第二处理单元,所述方法包括:
所述第一处理单元和所述第二处理单元分别根据接收到的第一数据集合、第二数据集合生成第一校验表、第二校验表;
所述第一处理单元通过以太网接口接收所述第二校验表,将所述第一校验表与所述第二校验表进行乘积处理,生成表决数据二值矩阵;
所述第一处理单元对所述表决数据二值矩阵进行判断,根据判断结果对所述第一数据集合、所述第二数据集合进行数据前推或数据纠正处理,得到表决成功数据集合。
第二方面,本申请提供一种计算机联锁系统,所述计算机联锁系统包括二乘二取二平台,所述二乘二取二平台包括两个二取二单元,所述二取二单元实现如上述的二取二表决处理方法的步骤。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的二取二表决处理方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的二取二表决处理方法的步骤。
本申请提供一种二取二表决处理方法、设备及计算机可读存储介质,方法包括:所述第一处理单元和所述第二处理单元分别根据接收到的第一数据集合、第二数据集合生成第一校验表、第二校验表;所述第一处理单元通过以太网接口接收所述第二校验表,将所述第一校验表与所述第二校验表进行乘积处理,生成表决数据二值矩阵;所述第一处理单元对所述表决数据二值矩阵进行判断,根据判断结果对所述第一数据集合、所述第二数据集合进行数据前推或数据纠正处理,得到表决成功数据集合。
本申请通过采用通用的以太网通信链路,使得参与表决的两个处理单元不再有特殊的硬件结构要求,并且两个处理单元的距离也不再受限制,进而使其硬件布局更加灵活;其次采用操作系统加以太网协议栈模式,使得该二取二表决方法以及上层的计算机联锁软件无需根据硬件的变更而更改软件,降低二取二表决方法以及上层的计算机联锁软件对于硬件的依赖;同时,通过采用全比较方式生成二值矩阵以进行数据表决,并对数据错位进行纠正,避免了两个处理单元异步运行以及UDP通信的性质带来的接收以太网数据不同步、数据的不一致问题。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种二取二表决处理方法的流程示意图;
图2为本申请实施例提供的一种二取二表决处理方法的处理流程图;
图3为本申请实施例提供的一种二取二表决处理方法的逻辑示意图;
图4为本申请实施例提供的一种二取二表决处理方法的硬件示意图;
图5为本申请实施例提供的一种二取二表决的处理流程图;
图6为本申请一实施例涉及的计算机设备的结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种二取二表决处理方法、设备及计算机可读存储介质。其中,该方法采用两个无差异的具有网络协议栈的操作系统的CPU设备,两个CPU各自有两路及其以上数据的以太网接口,两个CPU硬件设备是完全相同的,通信链路也统一使用以太网接口;在实际应用中,可以是两个PC机,也可以是两个通信计算板卡,也可以是同一板卡的两个计算芯片。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1、图2,图1为本申请的一实施例提供的二取二表决处理方法的流程示意图;图2为本申请实施例提供的一种二取二表决处理方法的处理流程图。
如图1、图2所示,该二取二表决处理方法应用于第一处理单元及与所述第一处理单元通过以太网通信连接的第二处理单元,包括步骤S110至步骤S130。
S110、所述第一处理单元和所述第二处理单元分别根据接收到的第一数据集合、第二数据集合生成第一校验表、第二校验表。
在一些实施例中,所述第一处理单元和所述第二处理单元分别根据接收到的第一数据集合、第二数据集合生成第一校验表、第二校验表,包括:所述第一处理单元接收第一数据集合,对所述第一数据集合进行校验,得到第一校验表;所述第二处理单元接收第二数据集合,对所述第二数据集合进行校验,得到第二校验表。
在一些实施例中,所述第一数据集合、第二数据集合通过以太网接口获取。例如,在进行数据输入时,第一处理单元和第二处理单元分别通过自身以太网接口采用UDP接收相同来源或不同来源的、需要进行表决的数据,即待表决数据,作为第一数据集合、第二数据集合。
在一些实施例中,所述第一数据集合、第二数据集合由应用层获取。例如,在进行数据输出时,第一处理单元和第二处理单元分别接收来自应用层的需要输出的数据,即待表决数据,作为第一数据集合、第二数据集合。
S120、所述第一处理单元通过以太网接口接收所述第二校验表,将所述第一校验表与所述第二校验表进行乘积处理,生成表决数据二值矩阵。
第一处理单元和第二处理单元间可以通过以太网进行数据传输;第一处理单元和第二处理单元根据各自接收的数据集合分别生成第一校验表和第二校验表,第二处理单元将其生成的第二校验表通过两处理单元间的以太网接口发送至第一处理单元,第一处理单元根据第一校验表和第二校验表进行乘积处理生成一个二值矩阵,作为校验数据。
在操作系统中运行时,经过网络协议栈,由两个CPU为异步运行的特性以及UDP通信的性质,存在接收以太网数据不同步的现象,该现象会导致数据的不一致问题,针对以上问题采用全比较的方式生成一个二值矩阵、即对两校验表进行乘积处理,得到表决数据二值矩阵。根据对矩阵的分析,实现数据的表决以及错位纠正,以完成二取二表决。
S130、所述第一处理单元对所述表决数据二值矩阵进行判断,根据判断结果对所述第一数据集合、所述第二数据集合进行数据前推或数据纠正处理,得到表决成功数据集合。
在一些实施例中,所述第一处理单元对所述表决数据二值矩阵进行判断,根据判断结果对所述第一数据集合、所述第二数据集合进行数据前推或数据纠正处理,得到表决成功数据集合,包括:所述第一处理单元对所述表决数据二值矩阵内指定位置表决数据进行判断,根据判断结果对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推或数据纠正处理,并根据处理后的所述第一校验表及所述第二校验表更新所述表决数据二值矩阵;对更新后的所述表决数据二值矩阵重复所述表决数据判断、数据前推或数据纠正处理及更新二值矩阵的步骤,直至对所述二值矩阵判断完成,将处理后的所述第一数据集合或所述第二数据集合作为表决成功数据集合。
基于两校验表采用全比较的方式形成一个二值矩阵,根据对矩阵的分析,实现数据的表决以及错位纠正。二值矩阵中值为1的位置表示生成该表决数据的双通道校验数据一致,只有在主对角线位置表决数据值为1时,代表双通道对应位置的数据相同,即视为双通道数据表决成功,否则视为表决失败。
第一处理单元对二值矩阵内表决数据根据指定规则进行判断,根据判断结果对两校验表及对应数据集合进行处理,并根据处理后的两校验表重新生成二值矩阵,对该二值矩阵继续进行判断,以不断重复进行判断、处理及更新,直至二值矩阵根据指定规则完成判断,即表决全部完成,将经过不断处理后得到的两数据集合作为表决成功数据集合。
在一些实施例中,所述第一处理单元对所述表决数据二值矩阵内指定位置表决数据进行判断,根据判断结果对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推或数据纠正处理,并根据处理后的所述第一校验表及所述第二校验表更新所述表决数据二值矩阵,包括:所述第一处理单元对所述表决数据二值矩阵内指定位置的表决数据进行判断,得到判断结果;若所述判断结果为表决成功,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推处理,若所述判断结果为表决失败,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据纠正处理;所述第一处理单元将处理后的所述第一校验表及所述第二校验表进行乘积处理,得到新的所述表决数据二值矩阵。
在一些实施例中,所述第一处理单元对所述表决数据二值矩阵内指定位置的表决数据进行判断,得到判断结果,包括:所述第一处理单元对所述表决数据二值矩阵主对角线方向的前M位表决数据进行判断,得到判断结果,其中M为不小于1的整数。
二值矩阵通过两校验表采用全比较的方式进行乘积计算得到,通过对二值矩阵中表决数据进行校验,即可得到两数据集合的表决结果,由于二值矩阵主对角线的表决数据由两数据集合对应位置的校验数据得到,因此只有在主对角线位置校验数据值为1时,代表双通道对应位置的数据相同,即视为双通道数据表决成功,否则视为表决失败。
通过对二值矩阵主对角线方向的校验数据依次进行校验比对,得到表决成功数据集合,同时对数据错位进行纠正,可以应对两个CPU异步运行以及UDP通信的性质带来的接收以太网B数据不同步的现象,解决数据的不一致问题。
在一些实施例中,所述若所述判断结果为表决成功,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推处理;若所述判断结果为表决失败,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据纠正处理,包括:若所述判断结果为两数据集合前N位数据表决成功,则将所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合的数据前推N位;若所述判断结果为两数据集合存在前N位数据出错,则剔除所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合的前N位数据;若所述判断结果为两数据集合存在一方前N位数据丢失,则剔除未丢失数据一方校验表及对应数据集合的前N位数据,其中N为不小于1的整数。
示例性的,获取所述二值矩阵沿主对角线方向的首个校验数据二阶矩阵进行校验;若所述二阶矩阵主对角线方向首位数据校验成功,则将所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合的数据前推一位,并计算得到新二值矩阵;若所述二阶矩阵主对角线方向首位数据校验失败、次位数据校验成功,则剔除第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合的首位数据,并计算得到新二值矩阵;若所述二阶矩阵主对角线方向首位、次位数据均校验失败,且所述二阶矩阵副对角线方向两数据值相同,则剔除第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合的首两位数据,并计算得到新二值矩阵;若所述二阶矩阵主对角线方向首位、次位数据均校验失败,且所述二阶矩阵副对角线方向两数据值不同,则根据数据值1在二阶矩阵中的位置剔除对应校验表及数据集合的首位数据,并计算得到新二值矩阵;将所述新二值矩阵重复上述步骤操作,直至所述二值矩阵全部校验完成,得到校验结果。
二值矩阵沿主对角线方向的首个表决数据二阶矩阵的表决结果,对应第一校验表和第二校验表首两位校验数据的表决结果,即为第一数据集合和第二数据集合的首两位数据的表决结果。
示例性的,如图2中的(a)所示,二阶矩阵主对角线方向的首位数据表决成功,即两数据集合的首位数据表决成功,因此将两校验表及两数据集合的数据前推一位,重新生成二值矩阵以继续数据表决。
示例性的,如图2中的(b)所示,二阶矩阵主对角线方向的首位数据表决失败、次位数据表决成功,即两CRC表对应数据的首位数据表决失败、次位数据表决成功,因此将两校验表及两数据集合的首位数据剔除,重新生成二值矩阵以继续数据表决。
示例性的,如图2中的(c)所示,二阶矩阵主对角线方向的首两位数据表决失败,且副对角线方向两数据值相同,即两数据集合的首两位数据出错,因此将两校验表及两数据集合的首两位数据剔除,重新生成二值矩阵以继续数据表决。
示例性的,如图2中的(d)所示,二阶矩阵主对角线方向首位、次位数据均表决失败,且副对角线方向两数据值不同,即存在一方数据集合的首位数据丢失,此时根据数据值1在二阶矩阵中的位置剔除对应校验表及数据集合的首位数据,若数据值1在二阶矩阵的左下位置,则剔除第一校验表及第一数据集合的首位数据,若数据值1在二阶矩阵的右上位置,则剔除第二校验表及第二数据集合的首位数据。重新生成二值矩阵以继续数据表决。
示例性的,根据二阶矩阵的校验结果对两校验表及两数据集合进行处理,并根据处理后的两校验表重新生成二值矩阵,再次获取主对角线方向首个二阶矩阵进行表决,不断重复表决直至二值矩阵全部表决完成,即可得到表决成功数据集合,作为表决筛选结果。
在一些实施例中,还包括:若存在一方后N位数据延迟,则保留第一校验表及第二校验表的后N位数据,以作为下一批数据的开始参与下一轮表决。
一方后N位数据延迟,表现为一方校验表数据全部表决完成后,另一方校验表及其对应的数据集合剩余N位数据尚未参与表决,因此将尚未参与数据表决的N位数据进行保留,使其作为下一批数据的起始数据,参与下一轮表决。
在一些实施例中,所述方法结束后还包括:所述第一处理单元将所述表决成功数据集合通过以太网接口传递至第二处理单元,以输出所述表决成功数据集合。
示例性的,在进行输入时,第一处理单元和第二处理单元通过以太网B网口获取第一数据集合、第二数据集合,在对两数据集合进行表决后,第一处理单元将表决成功数据集合通过以太网A网口传递至第二处理单元,并将表决成功数据集合通过第一处理单元和第二处理单元分别传递至应用层;在进行输出时,第一处理单元和第二处理单元由应用层获取第一数据集合、第二数据集合,在对两数据结合进行表决后,第一处理单元将表决成功数据集合通过以太A网口传递至第二处理单元,最后表决筛选结果只通过第一处理单元经以太网B网口传递至应用层,而第二处理单元作为从设备无需对数据进行输出。
本申请的二取二表决处理方法采用通用的以太网通信链路,让参与表决的两个CPU单元不再有特殊的硬件结构要求,并且两个CPU单元的距离也不再受限制,进而使其硬件布局更加灵活;同时采用操作系统加以太网协议栈模式,使得该二取二表决方法以及上层的计算机联锁软件无需根据硬件的变更而更改软件,降低二取二表决方法以及上层的计算机联锁软件对于硬件的依赖;其次,通过采用全比较方式生成二值矩阵以进行数据表决,并对对数据错位进行纠正,避免了两个CPU异步运行以及UDP通信的性质带来的接收以太网数据不同步、数据的不一致问题。
请参照图2-图4,图2为本申请实施例提供的一种二取二表决处理方法的处理流程图;图3为本申请实施例提供的一种二取二表决处理方法的逻辑示意图;图4为本申请实施例提供的一种二取二表决处理方法的硬件示意图。
如图2-图4所示,该二取二表决处理方法包括以下步骤:
第一处理单元和第二处理单元从逻辑上区分为主从两个设备,例如,第一处理单元作为主,第二处理单元作为从。
输入时,两个处理单元分别通过以太网B网口,采用UDP接收相同来源或不同来源的需要进行表决的数据。
第二处理单元作为从,将从以太网B接收的待表决数据,计算其CRC,将CRC表通过以太网A接口发送给第一处理单元。
第一处理单元作为主,会将从第二处理单元接收到的CRC表与自己生成的CRC表进行校验,完成表决筛选。并将结果反馈给第二处理单元。
两个处理单元将表决成功的数据传递给应用层。
输出时,第二处理单元将接收到的需要输出的数据计算CRC表,并发送给第一处理单元。
第一处理单元收到来自第二处理单元的CRC表之后,与其根据接收到的数据生成的CRC表校验,完成表决筛选,将结果反馈给第二处理单元。
第一处理单元将表决成功的数据进行输出,而第二处理单元作为从设备,不执行输出任务。
在操作系统中,经过网络协议栈,有两个CPU为异步运行的特性,以及UDP通信的性质,存在接收以太网B数据不同步的现象。该现象会导致数据的不一致问题,为解决该问题,CRC的校验采用全比较的方式形成一个二值矩阵。根据对矩阵的分析,实现数据的表决以及错位纠正。
若存在一方网络延迟,数据量少于另一方,采取保留数据矩阵最后因为数据缺失,对角线为0的所有数据,作为下一批数据的开始参与下一轮表决。
若首位数据表决成功,则实现数据前推,矩阵边长减1,将结果再分析。
若存在一位数据出错,矩阵表现为主对角线第一个数据对比失败,第二个数据对比成功,则剔除双方首位数据,矩阵边长减1,将结果再分析。
若存在两位数据出错,矩阵表现为主对角线第一个和第二个数据对比失败,在首两位的2X2矩阵中,副对角线两数据值相同,则剔除双方首两位数据,矩阵边长减2,将结果再分析。
若存在有一方数据丢失,矩阵表现为主对角线第一个和第二个数据对比失败,在首两位的2X2矩阵中,副对角线两数据值不同。 则剔除未丢失的一方的一位数据,矩阵边长不变,将结果再分析。
本实施例的特点为:因为使用通用的以太网通信链路,让参与表决的两个CPU单元不再有特殊的硬件结构要求,两个单元的距离也不再受限制。硬件布局更加灵活。用操作系统加以太网协议栈模式,该表决方法以及上层的计算机联锁软件无需根据硬件的变更而更改软件。
请参照图5,图5为本申请的一实施例提供的二取二表决的处理流程图。
如图5所示,本申请的一具体实施例的二取二表决处理方法如下:
输入时:
第一处理单元和第二处理单元分别通过以太网采用UDP接收相同来源或不同来源的待表决数据,
第二处理单元根据其接收的待表决数据生成第二 CRC表,并将生成的第二 CRC表通过以太网A发送至第一处理单元;
第一处理单元根据其接受的待表决数据生成第一 CRC表,并根据其生成的第一CRC表及由以太网A接收的第二 CRC表生成一个二值矩阵,
获取该二值矩阵沿主对角线方向的首个检验数据二阶矩阵,
由于该二阶矩阵主对角线方向的首位校验数据值为1,即第一 CRC表与第二 CRC表首位CRC校验成功,即获取的待表决数据集合首位数据表决成功,因此将第一 CRC表与第二 CRC表及对应数据集合的数据前推一位,并根据处理后的第一 CRC表与第二 CRC表重新生成二值矩阵;
获取该二值矩阵沿主对角线方向的首个校验数据二阶矩阵,由于该二阶矩阵主对角线方向的首位、次位校验数据值均为0,且副对角线方向的两校验数据值不同,数值1在二阶矩阵的右上位置,即第一 CRC表对应待表决数据集合存在一位数据丢失,因此将第二CRC表及对应数据集合的首位数据剔除,并根据处理后的第一 CRC表与第二 CRC表重新生成二值矩阵;
获取该二值矩阵沿主对角线方向的首个校验数据二阶矩阵,由于该二阶矩阵主对角线方向的首位校验数据值均为1,即获取的待表决数据集合首位数据表决成功,因此将第一 CRC表与第二 CRC表及对应数据集合的数据前推一位,并根据处理后的第一 CRC表与第二 CRC表重新生成二值矩阵;
获取该二值矩阵沿主对角线方向的首个校验数据二阶矩阵,由于该二阶矩阵主对角线方向的首位校验数据值均为1,即获取的待表决数据集合首位数据表决成功,因此将第一 CRC表与第二 CRC表及对应数据集合的数据前推一位,并根据处理后的第一 CRC表与第二 CRC表重新生成二值矩阵;
获取该二值矩阵沿主对角线方向的首个校验数据二阶矩阵,由于该二阶矩阵主对角线方向的首位校验数据值均为1,即获取的待表决数据集合首位数据表决成功,因此将第一 CRC表与第二 CRC表及对应数据集合的数据前推一位,并根据处理后的第一 CRC表与第二 CRC表重新生成二值矩阵;
由于第二 CRC表最后缺失一位校验码数据,即第二 CRC表对应数据集合存在一位数据延迟,因此将第一 CRC表对应数据集合的最后一位数据保留,最为下一批数据的起始参与下一轮表决;
第一处理单元将表决成功的数据集合作为表决筛选结果,通过以太网A发送至第二处理单元,后通过第一处理单元和第二处理单元分别传递至应用层。
输出时:
第一处理单元和第二处理单元分别接收需要输出的数据,进行如上表决后,第一处理单元将表决成功的数据集合作为表决筛选结果通过以太网A发送至第二处理单元,最后表决筛选结果只通过第一处理单元经以太网B传递至应用层,而第二处理单元作为从设备无需对数据进行输出。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述二取二表决的具体工作过程,可以参考前述二取二表决处理方法实施例中的对应过程,在此不再赘述。
本申请的二取二表决处理方法通过采用全比较方式生成二值矩阵以进行数据表决,并对对数据错位进行纠正,避免了两个CPU异步运行以及UDP通信的性质带来的接收以太网B数据不同步、数据的不一致问题。
请参阅图6,图6为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端。
如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括存储介质和内存储器。
存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种作物成熟期预测方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种二取二表决处理方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元 (Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
所述第一处理单元和所述第二处理单元分别根据接收到的第一数据集合、第二数据集合生成第一校验表、第二校验表;
所述第一处理单元通过以太网接口接收所述第二校验表,将所述第一校验表与所述第二校验表进行乘积处理,生成表决数据二值矩阵;
所述第一处理单元对所述表决数据二值矩阵内指定位置的表决数据进行判断,得到判断结果;
若所述判断结果为表决成功,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推处理;若所述判断结果为表决失败,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据纠正处理;
所述第一处理单元将处理后的所述第一校验表及所述第二校验表进行乘积处理,得到新的所述表决数据二值矩阵。
对更新后的所述表决数据二值矩阵重复所述表决数据判断、数据前推或数据纠正处理及更新二值矩阵的步骤,直至对所述二值矩阵判断完成,将处理后的所述第一数据集合或所述第二数据集合作为表决成功数据集合。
在进行输入时,第一处理单元和第二处理单元通过以太网B获取待表决数据,在对待表决数据进行表决后,将表决筛选结果通过第一处理单元和第二处理单元分别传递至应用层;
进行输出时,第一处理单元和第二处理单元由应用层获取待表决数据,在对待表决数据进行表决后,将表决筛选结果只通过第一处理单元经以太网B传递至应用层,而第二处理单元作为从设备无需对数据进行输出。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述二取二表决的具体工作过程,可以参考前述二取二表决处理方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请二取二表决处理方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种二取二表决处理方法,其特征在于,所述方法应用于第一处理单元及与所述第一处理单元通过以太网通信连接的第二处理单元,所述方法包括:
所述第一处理单元和所述第二处理单元分别根据接收到的第一数据集合、第二数据集合生成第一校验表、第二校验表;
所述第一处理单元通过以太网接口接收所述第二校验表,将所述第一校验表与所述第二校验表进行乘积处理,生成表决数据二值矩阵;
所述第一处理单元对所述表决数据二值矩阵进行判断,根据判断结果对所述第一数据集合、所述第二数据集合进行数据前推或数据纠正处理,得到表决成功数据集合。
2.根据权利要求1所述的一种二取二表决处理方法,其特征在于,所述第一处理单元对所述表决数据二值矩阵进行判断,根据判断结果对所述第一数据集合、所述第二数据集合进行数据前推或数据纠正处理,得到表决成功数据集合,包括:
所述第一处理单元对所述表决数据二值矩阵内指定位置表决数据进行判断,根据判断结果对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推或数据纠正处理,并根据处理后的所述第一校验表及所述第二校验表更新所述表决数据二值矩阵;
对更新后的所述表决数据二值矩阵重复所述表决数据判断、数据前推或数据纠正处理以及更新二值矩阵的步骤,直至对所述二值矩阵判断完成,将处理后的所述第一数据集合或所述第二数据集合作为表决成功数据集合。
3.根据权利要求2所述的一种二取二表决处理方法,其特征在于,所述第一处理单元对所述表决数据二值矩阵内指定位置表决数据进行判断,根据判断结果对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推或数据纠正处理,并根据处理后的所述第一校验表及所述第二校验表更新所述表决数据二值矩阵,包括:
所述第一处理单元对所述表决数据二值矩阵内指定位置的表决数据进行判断,得到判断结果;
若所述判断结果为表决成功,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推处理;若所述判断结果为表决失败,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据纠正处理;
所述第一处理单元将处理后的所述第一校验表及所述第二校验表进行乘积处理,得到新的所述表决数据二值矩阵。
4.根据权利要求3所述的一种二取二表决处理方法,其特征在于,所述第一处理单元对所述表决数据二值矩阵内指定位置的表决数据进行判断,得到判断结果,包括:
所述第一处理单元对所述表决数据二值矩阵主对角线方向的前M位表决数据进行判断,得到判断结果,其中M为不小于1的正整数。
5.根据权利要求3所述的一种二取二表决处理方法,其特征在于,所述若所述判断结果为表决成功,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据前推处理;若所述判断结果为表决失败,则对所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合进行数据纠正处理,包括:
若所述判断结果为两数据集合前N位数据表决成功,则将所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合的数据前推N位;
若所述判断结果为两数据集合存在前N位数据出错,则剔除所述第一校验表及所述第一数据集合、所述第二校验表及所述第二数据集合的前N位数据;
若所述判断结果为两数据集合存在一方前N位数据丢失,则剔除未丢失数据一方校验表及对应数据集合的前N位数据,其中N为不小于1的正整数。
6.根据权利要求3-5任意一项所述的一种二取二表决处理方法,其特征在于,所述方法还包括:
若所述判断结果为两数据集合存在一方后N位数据缺失,则保留未发生数据缺失一方数据集合的后N位数据,以作为下一批数据参与下一轮表决,其中N为不小于1的正整数。
7.根据权利要求6所述的一种二取二表决处理方法,其特征在于,所述方法还包括:
所述第一处理单元将所述表决成功数据集合通过以太网接口传递至第二处理单元,以输出所述表决成功数据集合。
8.一种计算机联锁系统,其特征在于,所述计算机联锁系统包括二乘二取二平台,所述二乘二取二平台包括两个二取二单元,所述二取二单元实现如权利要求1-7中任意一项所述的一种二取二表决处理方法。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-7中任意一项所述的二取二表决处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的二取二表决处理方法。
CN202211567537.7A 2022-12-07 2022-12-07 二取二表决处理方法、设备及存储介质 Active CN115577225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211567537.7A CN115577225B (zh) 2022-12-07 2022-12-07 二取二表决处理方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211567537.7A CN115577225B (zh) 2022-12-07 2022-12-07 二取二表决处理方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115577225A true CN115577225A (zh) 2023-01-06
CN115577225B CN115577225B (zh) 2023-05-12

Family

ID=84590788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211567537.7A Active CN115577225B (zh) 2022-12-07 2022-12-07 二取二表决处理方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115577225B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742753A (en) * 1996-06-06 1998-04-21 The Boeing Company Mesh interconnected array in a fault-tolerant computer system
WO2002078196A1 (en) * 2001-03-22 2002-10-03 University Of Florida Method and coding means for error-correction utilizing concatenated parity and turbo codes
US20080250185A1 (en) * 2007-04-04 2008-10-09 Clark Scott D Triple Voting Cell Processors for Single Event Upset Protection
US20110185248A1 (en) * 2010-01-25 2011-07-28 Qual Comm Incorporated Majority vote error correction
CN102638273A (zh) * 2012-02-29 2012-08-15 哈尔滨工业大学 一种提高译码器吞吐率的ar4ja码译码方法
CN103281090A (zh) * 2013-05-29 2013-09-04 华南理工大学 混合修正加权比特翻转的ldpc译码算法
CN103562873A (zh) * 2011-06-28 2014-02-05 国际商业机器公司 用于混合系统的统一的自适应ras
CN104714862A (zh) * 2013-12-16 2015-06-17 雅特生嵌入式计算有限公司 用于安全和任务关键系统的表决架构
CN106779084A (zh) * 2016-09-30 2017-05-31 广州英康唯尔互联网服务有限公司 机器学习系统及方法
WO2018171510A1 (en) * 2017-03-24 2018-09-27 Mediatek Inc. Method and apparatus for error correction coding in communication
CN109240976A (zh) * 2018-08-06 2019-01-18 河南思维轨道交通技术研究院有限公司 二取二表决处理方法、装置及电子设备
WO2020018279A1 (en) * 2018-07-16 2020-01-23 D5Ai Llc Building ensembles for deep learning by parallel data splitting
US11221929B1 (en) * 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
CN114696963A (zh) * 2022-03-16 2022-07-01 西安电子科技大学广州研究院 一种用于多核处理器系统片上网络的高可靠通信系统
CN114911647A (zh) * 2022-03-30 2022-08-16 深圳忆联信息系统有限公司 多项式可配的并行crc硬件实现方法、装置和计算机设备
CN115409079A (zh) * 2021-08-30 2022-11-29 中昊芯英(杭州)科技有限公司 一种矩阵处理装置、方法及处理设备

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742753A (en) * 1996-06-06 1998-04-21 The Boeing Company Mesh interconnected array in a fault-tolerant computer system
WO2002078196A1 (en) * 2001-03-22 2002-10-03 University Of Florida Method and coding means for error-correction utilizing concatenated parity and turbo codes
US20080250185A1 (en) * 2007-04-04 2008-10-09 Clark Scott D Triple Voting Cell Processors for Single Event Upset Protection
US20110185248A1 (en) * 2010-01-25 2011-07-28 Qual Comm Incorporated Majority vote error correction
CN103562873A (zh) * 2011-06-28 2014-02-05 国际商业机器公司 用于混合系统的统一的自适应ras
CN102638273A (zh) * 2012-02-29 2012-08-15 哈尔滨工业大学 一种提高译码器吞吐率的ar4ja码译码方法
CN103281090A (zh) * 2013-05-29 2013-09-04 华南理工大学 混合修正加权比特翻转的ldpc译码算法
CN104714862A (zh) * 2013-12-16 2015-06-17 雅特生嵌入式计算有限公司 用于安全和任务关键系统的表决架构
CN106779084A (zh) * 2016-09-30 2017-05-31 广州英康唯尔互联网服务有限公司 机器学习系统及方法
WO2018171510A1 (en) * 2017-03-24 2018-09-27 Mediatek Inc. Method and apparatus for error correction coding in communication
WO2020018279A1 (en) * 2018-07-16 2020-01-23 D5Ai Llc Building ensembles for deep learning by parallel data splitting
CN109240976A (zh) * 2018-08-06 2019-01-18 河南思维轨道交通技术研究院有限公司 二取二表决处理方法、装置及电子设备
US11221929B1 (en) * 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
CN115409079A (zh) * 2021-08-30 2022-11-29 中昊芯英(杭州)科技有限公司 一种矩阵处理装置、方法及处理设备
CN114696963A (zh) * 2022-03-16 2022-07-01 西安电子科技大学广州研究院 一种用于多核处理器系统片上网络的高可靠通信系统
CN114911647A (zh) * 2022-03-30 2022-08-16 深圳忆联信息系统有限公司 多项式可配的并行crc硬件实现方法、装置和计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘志颖;郑松;张瑜;: "浅谈三重冗余控制系统及其表决机制" *
刚建雷;胡燕来;窦道飞;程剑峰;: "二乘二取二安全控制平台开发" *

Also Published As

Publication number Publication date
CN115577225B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
Ben-Or et al. Asynchronous secure computations with optimal resilience
US7797457B2 (en) Leaderless byzantine consensus
Clement et al. On the (limited) power of non-equivocation
CN110070445B (zh) 一种基于区块链系统的交易处理方法及装置
US20190287099A1 (en) Distributed ledger update method
CN101297271A (zh) 用于检验对请求的不可靠子系统响应的完整性的通信信道内插器、方法和程序产品
CN111988203A (zh) 节点选举方法、装置及存储介质
CN113676541A (zh) 一种改进的pbft共识方法
CN102904752B (zh) 一种节点选举方法、节点设备及系统
CN115577225A (zh) 二取二表决处理方法、设备及存储介质
CN114936253A (zh) 区块链的共识方法及装置、电子设备、存储介质
Papakonstantinou et al. Overlays and limited memory communication
CN116723200A (zh) 集群变更方法、装置、电子设备及计算机可读存储介质
US8347169B1 (en) System and method for encoding using common partial parity products
US20230415757A1 (en) Data processing network for performing data processing
CN115952561A (zh) 应用于轨道交通系统的数据处理方法、装置、设备及介质
CN113093592B (zh) 具有数据同步和决策判断的冗余控制系统及方法
CN111522561A (zh) Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
US9312883B1 (en) Hierarchical cyclic redundancy check circuitry
JP3328597B2 (ja) 分散乗算装置及びそのプログラム記録媒体
US20200089583A1 (en) Configuration and method to guarantee high integrity data in a redundant voting data system
CN107526658B (zh) 在包括多个电子计算机的航空电子系统中保证公共信号接收的方法
EP3296874B1 (en) Apparatus and associated method
Choudhury et al. Unconditionally secure asynchronous multiparty computation with linear communication complexity
US11496242B2 (en) Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets

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
GR01 Patent grant
GR01 Patent grant