基于雙cpu的軌道交通同步數(shù)據(jù)表決系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種基于雙CPU的軌道交通同步數(shù)據(jù)表決系統(tǒng)及方法,包括:軌道交通系統(tǒng)內(nèi)的兩個(gè)以上的同構(gòu)或異構(gòu)CPU;每個(gè)CPU與一個(gè)通信接口設(shè)備相連。本發(fā)明所述表決方式簡(jiǎn)單高效,不受限于具體的硬件,適合需要表決的安全系統(tǒng)。擾碼算法簡(jiǎn)單,效率高,提高了表決的安全性。根據(jù)系統(tǒng)安全等級(jí),校驗(yàn)算法可選。數(shù)據(jù)和校驗(yàn)碼隔離,交叉防護(hù),能夠有效降低由于單個(gè)硬件失效導(dǎo)致的運(yùn)算結(jié)果失效。
【專利說明】基于雙CPU的軌道交通同步數(shù)據(jù)表決系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及軟件算法領(lǐng)域,用于安全數(shù)據(jù)的同步表決。
【背景技術(shù)】
[0002]在工業(yè)控制系統(tǒng)和安全信號(hào)系統(tǒng)(應(yīng)用于航空電子、鐵路信號(hào)、核電等行業(yè))中,軟件系統(tǒng)采用兩個(gè)CPU實(shí)現(xiàn),對(duì)于保證系統(tǒng)的安全可靠有著極其重要的作用。為了確保所有輸出的正確安全,必須對(duì)已經(jīng)不同CPU執(zhí)行的結(jié)果進(jìn)行表決。當(dāng)有不一致出現(xiàn)時(shí),要啟動(dòng)故障管理機(jī)制,及時(shí)采取安全措施以避免更為嚴(yán)重的事故發(fā)生。
[0003]目前在軌道交通信號(hào)系統(tǒng)行業(yè),同步安全數(shù)據(jù)的表決沒有統(tǒng)一的方式,相對(duì)比較安全的方法需要與整個(gè)安全系統(tǒng)統(tǒng)一設(shè)計(jì),系統(tǒng)整體采用復(fù)雜的數(shù)學(xué)算法保證數(shù)據(jù)運(yùn)算過程中的安全,有如下缺點(diǎn):
[0004]1.設(shè)計(jì)難度高。因?yàn)檫@種表決方法依賴與一整套完整的數(shù)學(xué)方法,從數(shù)據(jù)采集、運(yùn)算、到輸出,是一個(gè)完整的體系,要有一套完整的數(shù)學(xué)理論,同時(shí)需要軟硬件共同配合實(shí)現(xiàn)。
[0005]2.處理速度慢。由于這種方法采用的算法一般都相當(dāng)復(fù)雜,大大降低了系統(tǒng)運(yùn)算效率。
[0006]3.適用性差。因?yàn)檫@種方式一般只針對(duì)具體的應(yīng)用需求來實(shí)現(xiàn),無法普遍適用于其他類型的安全系統(tǒng)。
[0007]另外,還有一些安全系統(tǒng)表決方式,采用比較簡(jiǎn)單的數(shù)據(jù)段直接比較,或增加簡(jiǎn)單的CRC校驗(yàn)的方式進(jìn)行比較,對(duì)數(shù)據(jù)安全的考慮會(huì)有所缺失,一旦其他步驟配合不周,將不能適應(yīng)軌道交通信行業(yè)對(duì)數(shù)據(jù)的安全性要求。
【發(fā)明內(nèi)容】
[0008]本發(fā)明所要解決的技術(shù)問題是提供一種基于雙CPU的軌道交通同步數(shù)據(jù)表決系統(tǒng),它簡(jiǎn)單高效,不受限于具體的硬件,適合需要表決的安全系統(tǒng)。
[0009]為了解決以上技術(shù)問題,本發(fā)明提供了一種基于雙CPU的軌道交通同步數(shù)據(jù)表決系統(tǒng),包括:軌道交通系統(tǒng)內(nèi)的兩個(gè)以上的同構(gòu)或異構(gòu)CPU ;每個(gè)CPU與一個(gè)通信接口設(shè)備相連。
[0010]本發(fā)明的有益效果在于:所述表決方式簡(jiǎn)單高效,不受限于具體的硬件,適合需要表決的安全系統(tǒng)。擾碼算法簡(jiǎn)單,效率高,提高了表決的安全性。根據(jù)系統(tǒng)安全等級(jí),校驗(yàn)算法可選。數(shù)據(jù)和校驗(yàn)碼隔離,交叉防護(hù),能夠有效降低由于單個(gè)硬件失效導(dǎo)致的運(yùn)算結(jié)果失效。
[0011]通信接口包括網(wǎng)絡(luò)、或CAN總線、或串口。
[0012]兩個(gè)CPU同步生成擾碼以及校驗(yàn)碼,兩個(gè)CPU中采用相同的校驗(yàn)算法生成擾碼及校驗(yàn)碼。
[0013]兩個(gè)CPU生成的表決數(shù)據(jù)包含原始數(shù)據(jù)、擾碼和校驗(yàn)碼,表決方法為擾碼逆運(yùn)算。
[0014]表決完成后,先將數(shù)據(jù)和校驗(yàn)碼分離,交叉組合數(shù)據(jù)和校驗(yàn)碼作為最終的安全輸出數(shù)據(jù);只有在數(shù)據(jù)和校驗(yàn)碼一致的情況下才進(jìn)行安全輸出。
[0015]本發(fā)明還提供了一種基于雙CPU的軌道交通同步數(shù)據(jù)表決方法,包括以下步驟:步驟一、包括兩個(gè)CPU,每個(gè)CPU與一個(gè)通信接口設(shè)備相連,兩個(gè)CPU中提供同樣的原始數(shù)據(jù)(D1,D2),對(duì)不同CPU采用不同的算法針對(duì)原始數(shù)據(jù)進(jìn)行擾碼(S1,S2);步驟二、對(duì)原始數(shù)據(jù)生成校驗(yàn)碼(Cl,C2),將原始數(shù)據(jù),擾碼,校驗(yàn)碼組合成整體(D1+S1+C1,D2+S2+C2),同步到對(duì)方CPU ;步驟三、表決時(shí),取出本方CPU數(shù)據(jù),以及同步過來的對(duì)方CPU的擾碼數(shù)據(jù)進(jìn)行表決,表決的方法為擾碼的逆運(yùn)算,如擾碼逆運(yùn)算的結(jié)果與原始數(shù)據(jù)一致,則表決結(jié)果為有效數(shù)據(jù),否則視為無效數(shù)據(jù);步驟四、表決完成后,將本方CPU有效數(shù)據(jù)Dl與對(duì)方CPU校驗(yàn)碼C2組合,形成最終的輸出數(shù)據(jù),作為最終輸出結(jié)果,另一 CPU按同樣方式處理。
[0016]還包括步驟五,輸出端在收到最終輸出結(jié)果后,使用對(duì)方CPU校驗(yàn)碼C2對(duì)本方CPU有效數(shù)據(jù)Dl進(jìn)行校驗(yàn),如校驗(yàn)通過,則進(jìn)行安全輸出,否則作為無效數(shù)據(jù),另一 CPU按同樣方式處理。
[0017]所述步驟一中,對(duì)不同CPU采用不同的算法針對(duì)原始數(shù)據(jù)進(jìn)行擾碼得到(SI,S2),擾碼算法可以采用異或系統(tǒng)周期號(hào)、按位取反、按照一定的算法移位。
[0018]所述步驟一中,使用動(dòng)態(tài)變化的擾碼算法進(jìn)行擾碼;所述步驟二中,校驗(yàn)碼可采用CRC,MD5 算法。
[0019]當(dāng)任何一個(gè)步驟發(fā)現(xiàn)無效數(shù)據(jù),則系統(tǒng)應(yīng)進(jìn)行故障管理。
【專利附圖】
【附圖說明】
[0020]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
[0021]圖1是同步表決系統(tǒng)連接方式示意圖。
[0022]圖2是同步表決處理流程圖。
[0023]圖3是同步表決處理不意圖。
【具體實(shí)施方式】
[0024]本發(fā)明提供一種雙CPU間同步數(shù)據(jù)表決系統(tǒng)及方法,該系統(tǒng)及方法能夠應(yīng)用于包括但并不局限于安全信號(hào)系統(tǒng)、工業(yè)控制系統(tǒng)等領(lǐng)域。本發(fā)明所述的基于雙CPU的軌道交通同步數(shù)據(jù)表決系統(tǒng),它可以適合與不同類型的CPU,適合安全性要求較高的系統(tǒng)。本發(fā)明所述的基于雙CPU的軌道交通同步數(shù)據(jù)表決系統(tǒng),包括:軌道交通系統(tǒng)內(nèi)的兩個(gè)以上的CPU,每個(gè)CPU分別與一個(gè)通信接口設(shè)備相連接,所述通信接口設(shè)備之間相互連接。本發(fā)明適合于不同類型的CPU,實(shí)現(xiàn)方式簡(jiǎn)單,基于一般工控領(lǐng)域常用的通信接口設(shè)備,鏈接方式簡(jiǎn)單高效,具有較高的實(shí)用性和安全性。
[0025]本發(fā)明所述表決方式簡(jiǎn)單高效,不受限于具體的硬件,適合需要表決的安全系統(tǒng)。擾碼算法簡(jiǎn)單,效率高,提高了表決的安全性。根據(jù)系統(tǒng)安全等級(jí),校驗(yàn)算法可選。數(shù)據(jù)和校驗(yàn)碼隔離,交叉防護(hù),能夠有效降低由于單個(gè)硬件失效導(dǎo)致的運(yùn)算結(jié)果失效。
[0026]本發(fā)明基于雙CPU間同步數(shù)據(jù)表決的技術(shù)方案是:如圖2所示:
[0027]I)此方法首先采用兩組CPU進(jìn)行運(yùn)算和通信,通信接口設(shè)備基于常用的工業(yè)以太網(wǎng)、或CAN總線、或串口設(shè)備,連接方式如圖1所示。
[0028]2)兩組CPU中提供同樣的原始數(shù)據(jù)(D1, D2),如圖3所示,對(duì)不同CPU采用不同的算法針對(duì)原始數(shù)據(jù)進(jìn)行擾碼(S1, S2)。擾碼算法SCRAMC )可以采用異或系統(tǒng)周期號(hào)、按位取反、按照一定的算法移位等方法,但不限于這些方法。推薦使用動(dòng)態(tài)變化的擾碼算法。Di的擾碼可表示為:
[0029]Si=SCRAM (CPUi, Di)
[0030]3)同時(shí),對(duì)原始數(shù)據(jù)生成校驗(yàn)碼(C1;C2)。校驗(yàn)碼可采用CRC,MD5等算法CHEK(.)。將原始數(shù)據(jù),擾碼,校驗(yàn)碼組合成整體(DjSjCpDfSdC2),同步到對(duì)方CPU。Di的校驗(yàn)碼可表示為:
[0031]Ci=CHEK (CPUi, Di)
[0032]4)表決時(shí),取出本方CPU數(shù)據(jù),以及同步過來的對(duì)方CPU的擾碼數(shù)據(jù)進(jìn)行表決;同時(shí),將對(duì)方數(shù)據(jù)與。例如=CPU1,則D1與S2表決;CPU2,則D2與S1表決。表決的方法為擾碼的逆運(yùn)算,如擾碼逆運(yùn)算的結(jié)果與原始數(shù)據(jù)一致,則表決結(jié)果為有效數(shù)據(jù),否則視為無效數(shù)據(jù)。
[0033]5)表決完成后,將有效數(shù)據(jù)與校驗(yàn)碼組合,形成最終的輸出數(shù)據(jù)。如CPU1,則將D1與(:2組合為(DfC2),作為最終輸出結(jié)果。輸出端在收到(D^C2)后,使用Cj^D1進(jìn)行校驗(yàn),如校驗(yàn)通過,則進(jìn)行安全輸出,否則作為無效數(shù)據(jù)。另一 CPU按同樣方式處理。
[0034]6)當(dāng)任何一個(gè)步驟發(fā)現(xiàn)無效數(shù)據(jù),則系統(tǒng)應(yīng)進(jìn)行故障管理,確保不產(chǎn)生非安全數(shù)據(jù)。
[0035]因此可滿足軌道交通控制、智能交通應(yīng)用領(lǐng)域的對(duì)同步數(shù)據(jù)表決的安全性要求。
[0036]本發(fā)明并不限于上文討論的實(shí)施方式。以上對(duì)【具體實(shí)施方式】的描述旨在于為了描述和說明本發(fā)明涉及的技術(shù)方案?;诒景l(fā)明啟示的顯而易見的變換或替代也應(yīng)當(dāng)被認(rèn)為落入本發(fā)明的保護(hù)范圍。以上的【具體實(shí)施方式】用來揭示本發(fā)明的最佳實(shí)施方法,以使得本領(lǐng)域的普通技術(shù)人員能夠應(yīng)用本發(fā)明的多種實(shí)施方式以及多種替代方式來達(dá)到本發(fā)明的目的。
【權(quán)利要求】
1.一種基于雙CPU的軌道交通同步數(shù)據(jù)表決系統(tǒng),其特征在于,包括:軌道交通系統(tǒng)內(nèi)的兩個(gè)以上的同構(gòu)或異構(gòu)CPU ; 每個(gè)CPU與一個(gè)通信接口設(shè)備相連。
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)通信的軌道交通實(shí)時(shí)數(shù)據(jù)同步系統(tǒng),其特征在于:通信接口包括網(wǎng)絡(luò)、或CAN總線、或串口。
3.根據(jù)權(quán)利要求2所述的基于網(wǎng)絡(luò)通信的軌道交通實(shí)時(shí)數(shù)據(jù)同步系統(tǒng),其特征在于:兩個(gè)CPU同步生成擾碼以及校驗(yàn)碼,兩個(gè)CPU中采用相同的校驗(yàn)算法生成擾碼及校驗(yàn)碼。
4.根據(jù)權(quán)利要求3所述的基于網(wǎng)絡(luò)通信的軌道交通實(shí)時(shí)數(shù)據(jù)同步系統(tǒng),其特征在于:兩個(gè)CPU生成的表決數(shù)據(jù)包含原始數(shù)據(jù)、擾碼和校驗(yàn)碼,表決方法為擾碼逆運(yùn)算。
5.根據(jù)權(quán)利要求4所述的基于網(wǎng)絡(luò)通信的軌道交通實(shí)時(shí)數(shù)據(jù)同步系統(tǒng),其特征在于:表決完成后,先將數(shù)據(jù)和校驗(yàn)碼分離,交叉組合數(shù)據(jù)和校驗(yàn)碼作為最終的安全輸出數(shù)據(jù);只有在數(shù)據(jù)和校驗(yàn)碼一致的情況下才進(jìn)行安全輸出。
6.一種基于雙CPU的軌道交通同步數(shù)據(jù)表決方法,其特征在于,包括以下步驟: 步驟一、包括兩個(gè)CPU,每個(gè)CPU與一個(gè)通信接口設(shè)備相連,兩個(gè)CPU中提供同樣的原始數(shù)據(jù)(D1,D2),對(duì)不同CPU采用不同的算法針對(duì)原始數(shù)據(jù)進(jìn)行擾碼(S1,S2); 步驟二、對(duì)原始數(shù)據(jù)生成校驗(yàn)碼(Cl,C2),將原始數(shù)據(jù),擾碼,校驗(yàn)碼組合成整體(D1+S1+C1, D2+S2+C2),同步到對(duì)方 CPU ; 步驟三、表決時(shí),取出本方CPU數(shù)據(jù),以及同步過來的對(duì)方CPU的擾碼數(shù)據(jù)進(jìn)行表決,表決的方法為擾碼的逆運(yùn)算,如擾碼逆運(yùn)算的結(jié)果與原始數(shù)據(jù)一致,則表決結(jié)果為有效數(shù)據(jù),否則視為無效數(shù)據(jù); 步驟四、表決完成后,將本方CPU有效數(shù)據(jù)Dl與對(duì)方CPU校驗(yàn)碼C2組合,形成最終的輸出數(shù)據(jù),作為最終輸出結(jié)果,另一 CPU按同樣方式處理。
7.根據(jù)權(quán)利要求6所述的基于雙CPU的軌道交通同步數(shù)據(jù)表決方法,其特征在于,還包括步驟五,輸出端在收到最終輸出結(jié)果后,使用對(duì)方CPU校驗(yàn)碼C2對(duì)本方CPU有效數(shù)據(jù)Dl進(jìn)行校驗(yàn),如校驗(yàn)通過,則進(jìn)行安全輸出,否則作為無效數(shù)據(jù),另一 CPU按同樣方式處理。
8.根據(jù)權(quán)利要求7所述的基于雙CPU的軌道交通同步數(shù)據(jù)表決方法,其特征在于,所述步驟一中,對(duì)不同CPU采用不同的算法針對(duì)原始數(shù)據(jù)進(jìn)行擾碼得到(SI,S2),擾碼算法可以采用異或系統(tǒng)周期號(hào)、按位取反、按照一定的算法移位。
9.根據(jù)權(quán)利要求8所述的基于雙CPU的軌道交通同步數(shù)據(jù)表決方法,其特征在于,所述步驟一中,使用動(dòng)態(tài)變化的擾碼算法進(jìn)行擾碼;所述步驟二中,校驗(yàn)碼可采用CRC,MD5算法。
10.根據(jù)權(quán)利要求9所述的基于雙CPU的軌道交通同步數(shù)據(jù)表決方法,其特征在于,當(dāng)任何一個(gè)步驟發(fā)現(xiàn)無效數(shù)據(jù),則系統(tǒng)應(yīng)進(jìn)行故障管理。
【文檔編號(hào)】G06F11/10GK103885853SQ201310064788
【公開日】2014年6月25日 申請(qǐng)日期:2013年3月1日 優(yōu)先權(quán)日:2013年3月1日
【發(fā)明者】戴康, 遲寶全, 劉傳勇, 吳昊 申請(qǐng)人:上海富欣智能交通控制有限公司