一種基于非安全通訊接口的數(shù)據(jù)安全處理裝置制造方法
【專利摘要】本發(fā)明公開一種基于非安全通訊接口的數(shù)據(jù)安全處理裝置,該裝置包括三個同一架構(gòu)配置的計算邏輯處理模塊,各模塊之間由基于Socket連接的數(shù)據(jù)傳輸接口,各計算邏輯處理模塊具備與外部、下層系統(tǒng)通信的全雙工輸入、輸出接口;本裝置可實現(xiàn)三種數(shù)據(jù)處理功能:同步控制信號處理:計算邏輯處理模塊分別接收到下層系統(tǒng)發(fā)送的同步控制信號,當(dāng)三個模塊都收到且經(jīng)過比較一致時向下層系統(tǒng)發(fā)送同步釋放信號;輸入數(shù)據(jù)冗余處理:上層系統(tǒng)向下層系統(tǒng)發(fā)送數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸入到下層系統(tǒng)的數(shù)據(jù)一致;輸出數(shù)據(jù)冗余處理:下層系統(tǒng)向上層系統(tǒng)輸出數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸出到上層系統(tǒng)的數(shù)據(jù)正確。
【專利說明】—種基于非安全通訊接口的數(shù)據(jù)安全處理裝置【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)安全處理裝置,具體地說,涉及的是一種基于非安全通訊接口的數(shù)據(jù)安全處理裝置。
【背景技術(shù)】
[0002]在軌道交通、航空航天、能源以及化工等領(lǐng)域,一些涉及人身和設(shè)備安全的計算機控制系統(tǒng),不僅要求具有極高的可靠性,還要具備故障導(dǎo)向安全性能,即在正常工作時保證系統(tǒng)安全,在發(fā)生故障時確保系統(tǒng)由故障導(dǎo)向安全。
[0003]目前,國內(nèi)外針對這樣的要求,一般采用2乘2取2結(jié)構(gòu)或者3取2結(jié)構(gòu)的計算機系統(tǒng)。2乘2取2結(jié)構(gòu)如圖1所示,在2取2雙機保證安全的基礎(chǔ)上,通過兩個2取2結(jié)構(gòu)來提高可用性。通道內(nèi)雙機通信完成2取2功能所需數(shù)據(jù)交互,通道間通信完成通道之間信息交互,以保證在處于“主模式”工作的通道出現(xiàn)異常后,能進(jìn)行無憂切換,從而提高可靠性。3取2結(jié)構(gòu)的計算機系統(tǒng)在硬件上采用3臺性能完全相同的計算機,并運行相同的程序。每個計算機通道由處理器模塊、數(shù)據(jù)交換模塊、同步模塊、比較器模塊以及通道切斷等組成。當(dāng)系統(tǒng)啟動后,只要系統(tǒng)有兩個或兩個以上計算機通道處于正常工作狀態(tài),系統(tǒng)就能正常工作。
[0004]對于上述兩種結(jié)構(gòu)的計算機系統(tǒng)均對計算機硬件有較高要求,同時對計算機通道間的通訊接口的安全性等級要求較高。但是,本發(fā)明所設(shè)計的安全數(shù)據(jù)通訊裝置是基于易于搭建的計算機硬件模塊以及安全等級較低的通訊接口而實現(xiàn)的。
[0005]經(jīng)檢索發(fā)現(xiàn),刊登在《計算機工程》2011年18期的論文,名稱為:基于三取二冗余結(jié)構(gòu)的安全計算機系統(tǒng),該文設(shè)計一種基于三取二冗余結(jié)構(gòu)的安全計算機系統(tǒng)。該系統(tǒng)由CPU模塊、通信模塊、安全輸入輸出模塊組成,利用具有同步表決功能的三模同步表決總線、冗余控制器局域網(wǎng)總線和冗余以太網(wǎng)總線實現(xiàn)各模塊間的數(shù)據(jù)通信,采用基于動態(tài)脈沖調(diào)制的三取二表決電路保證系統(tǒng)輸出的安全性和可靠性。但是該論文的三取二冗余結(jié)構(gòu)的安全計算機系統(tǒng)的構(gòu)建較為復(fù)雜,硬件要求較高;而本發(fā)明提到的裝置對硬件要求較低,處理功能算法較為便捷。
[0006]又如,刊登在《鐵道通信信號》2010年03期的一篇文章,名稱為:一種二乘二取二安全計算機的設(shè)計與實現(xiàn),該文結(jié)合列控系統(tǒng)車載設(shè)備需求,提出一種二乘二取二安全計算機的設(shè)計方案,并對主備通道選擇、通道內(nèi)雙機同步、通道切換等關(guān)鍵算法進(jìn)行了研究。該論文的二乘二取二安全計算機的結(jié)構(gòu)復(fù)雜,側(cè)重于對整個計算機系統(tǒng)的建立;而本發(fā)明提到的裝置側(cè)重于安全處理裝置即中間層的設(shè)計。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的 目的在于解決現(xiàn)有技術(shù)中的上述不足,提供一種基于非安全通訊接口的數(shù)據(jù)安全處理裝置,從而完成對三種數(shù)據(jù)(上層系統(tǒng)輸入數(shù)據(jù)、向下層系統(tǒng)輸出數(shù)據(jù)、同步控制信號)的安全處理,保證系統(tǒng)的高安全性及高可靠性。[0008]為實現(xiàn)上述的目的,本發(fā)明所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,該裝置包括三個同一架構(gòu)配置的計算邏輯處理模塊,各模塊之間由基于Socket連接的數(shù)據(jù)傳輸接口,各計算邏輯處理模塊具備與上層、下層系統(tǒng)通信的全雙工輸入、輸出接口(RS232)。
[0009]每個計算邏輯處理模塊由以下構(gòu)件組成:
[0010]數(shù)據(jù)接收器:通過接口 RS232接收上層系統(tǒng)或下層系統(tǒng)發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)存放在本地存儲器,通知數(shù)據(jù)比較器接收到本地數(shù)據(jù);
[0011]本地數(shù)據(jù)存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收數(shù)據(jù)接收器發(fā)送的數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移;
[0012]第一異地數(shù)據(jù)存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收模塊間數(shù)據(jù)收發(fā)器發(fā)送的第一異地模塊數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移;
[0013]第二異地數(shù)據(jù)存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收模塊間數(shù)據(jù)收發(fā)器發(fā)送的第二異地模塊數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移;
[0014]數(shù)據(jù)比較器:比較本地和異地數(shù)據(jù)存儲器的數(shù)據(jù),如果數(shù)據(jù)一致則將數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送器和模塊間數(shù)據(jù)收發(fā)器,發(fā)送數(shù)據(jù);如果比較不一致則將數(shù)據(jù)暫時存放在數(shù)據(jù)存儲器中;
[0015]數(shù)據(jù)發(fā)送器:將本地數(shù)據(jù)比較器中比較一致的數(shù)據(jù)發(fā)送給上層系統(tǒng)或下層系統(tǒng)。
[0016]本發(fā)明上述數(shù)據(jù)安全處理裝置實現(xiàn)以下三種數(shù)據(jù)處理功能:
[0017]I)同步控制信號處理,計算邏輯處理模塊分別接收到下層系統(tǒng)發(fā)送的同步控制信號,當(dāng)三個模塊都收到且經(jīng)過比較一致時向下層系統(tǒng)發(fā)送同步釋放信號;
[0018]三計算邏輯處理模塊實現(xiàn)同步控制信號處理,采用了共同判決的方法,當(dāng)三計算邏輯處理模塊接收到同步控制信號時,各自分別向另兩個計算邏輯處理模塊發(fā)送同步請求,三個模塊在發(fā)送完同步請求時開啟定時器,定時時間設(shè)定為同步時限;如果三個計算邏輯處理模塊在同步時限內(nèi)收到另兩個計算邏輯處理模塊發(fā)送的同步請求,且經(jīng)過比較同步請求完全一致時,三計算邏輯處理模塊分別向另兩個模塊發(fā)送同步請求確認(rèn);如果三計算邏輯處理模塊在同步時限內(nèi)收到另兩個模塊發(fā)送的同步請求確認(rèn)時關(guān)閉定時器,判定同步成功啟動任務(wù);如果未在同步時限內(nèi)收到另兩個模塊的同步請求確認(rèn),則判定同步失敗,采取安全措施進(jìn)行處理。
[0019]同步失敗的安全處理措施即:為產(chǎn)生一個信號發(fā)送給下層系統(tǒng),當(dāng)下層系統(tǒng)捕獲到該信號進(jìn)行相關(guān)的安全處理如對外輸出安全信號,關(guān)閉正在運行的任務(wù)等。
[0020]2)輸入數(shù)據(jù)冗余處理,上層系統(tǒng)向下層系統(tǒng)發(fā)送數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸入到下層系統(tǒng)的數(shù)據(jù)一致;
[0021]第一和第二計算邏輯處理模塊的輸入數(shù)據(jù)不可能完全同步,容許模塊收到輸入數(shù)據(jù)延時,同時保證第一和第二計算邏輯處理模塊接收報文的時序一致,每個模塊定義存儲數(shù)據(jù)隊列l(wèi)ocal_in_q、remote_in_q,容量均為N ;第一計算邏輯處理模塊收到輸入數(shù)據(jù)時,發(fā)送數(shù)據(jù)il給第二計算邏輯處理模塊;第二計算邏輯處理模塊收到輸入數(shù)據(jù)時,發(fā)送數(shù)據(jù)?2給第一計算邏輯處理模塊;模塊收到另一模塊的數(shù)據(jù),將該數(shù)據(jù)幀序列號與remote_in_q (local_in_q)中的該數(shù)據(jù)幀序列號比較,如果比較一致,將remote_in_q與local_in_q中之前的數(shù)據(jù)按照幀序列號的順序依次輸入下層系統(tǒng),并刪除remote_in_q(local_in_q)中的數(shù)據(jù),如果當(dāng)前模塊為第一計算邏輯處理模塊,發(fā)送數(shù)據(jù)i3給第三計算邏輯處理模塊,第三計算邏輯處理模塊收到數(shù)據(jù)后直接輸入給下層系統(tǒng)處理;如果比較不一致,將該數(shù)據(jù)存儲到 local_in_q(remote_in_q)的末端;如果 local_in_q (remote_in_q)中的數(shù)據(jù)數(shù)量為N,將local_in_q(remote_in_q)中第一個數(shù)據(jù)發(fā)送給第三計算邏輯處理模塊,同時輸入給下層系統(tǒng)處理,刪除數(shù)據(jù)并將新數(shù)據(jù)保存到local_in_q(remote_in_q)的末端。以上描述中,il一模塊A接收到的來自上層系統(tǒng)的輸入數(shù)據(jù);i2—模塊B接收到的來自上層系統(tǒng)的輸入數(shù)據(jù);i3—模塊C接收到的來自上層系統(tǒng)的輸入數(shù)據(jù)。
[0022]3)輸出數(shù)據(jù)冗余處理,下層系統(tǒng)向上層系統(tǒng)輸出數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸出到上層系統(tǒng)的數(shù)據(jù)正確。
[0023]實現(xiàn)三計算邏輯處理模塊的輸出數(shù)據(jù)的同步輸出采用了三取二處理方法,使三模塊的輸出數(shù)據(jù)取出兩個一致數(shù)據(jù)輸出,確保三模塊輸出一致數(shù)據(jù)。
[0024]考慮到三計算邏輯處理模塊的輸出數(shù)據(jù)不可能完全同步,每個計算邏輯處理模塊定義存儲數(shù)據(jù)remote_out_l_q以及remote_out_h_q,容量均為N,每個計算邏輯處理模塊分別向另兩個計算邏輯處理模塊發(fā)送輸出數(shù)據(jù),三個計算邏輯處理模塊在發(fā)送完輸出數(shù)據(jù)時開啟定時器,定時時間設(shè)定為輸出數(shù)據(jù)同步時限;三個計算邏輯處理模塊收到另兩個通道發(fā)送的輸出數(shù)據(jù),根據(jù)模塊號分別把數(shù)據(jù)存儲到remote_out_l_q、remote_out_h_q的末端;三個計算邏輯處理模塊輸出數(shù)據(jù)時,將輸出數(shù)據(jù)、remote_out_l_q、remote_out_h_q中的數(shù)據(jù)安位進(jìn)行比較:如果比較出兩個完全一致的數(shù)據(jù),則將此數(shù)據(jù)作為該模塊的同步輸出數(shù)據(jù),此時三計算邏輯處理模塊分別向另兩個模塊發(fā)送同步輸出數(shù)據(jù);如果三個計算邏輯處理模塊在時限內(nèi)收到另兩個模塊發(fā)送的同步輸出數(shù)據(jù)關(guān)閉定時器,向上層系統(tǒng)輸出數(shù)據(jù);如果未在時限內(nèi)收到另兩個計算邏輯處理模塊的同步輸出數(shù)據(jù),則判定輸出數(shù)據(jù)同步失敗,丟棄掉該輸出數(shù)據(jù)。
[0025]綜上,數(shù)據(jù)安全處理裝置是處于上層系統(tǒng)和下層系統(tǒng)之間的中間層,通過控制實現(xiàn)下層系統(tǒng)的同步信號從而控制下層系統(tǒng)的同步運行;通過冗余過濾上層系統(tǒng)輸出的數(shù)據(jù)確保輸入下層系統(tǒng)的數(shù)據(jù)一致;通過三模冗余處理下層系統(tǒng)的輸出數(shù)據(jù)確保輸入上層系統(tǒng)的數(shù)據(jù)一致,從而實現(xiàn)經(jīng)過數(shù)據(jù)安全處理裝置的數(shù)據(jù)可靠、安全。
【專利附圖】
【附圖說明】
[0026]圖1為現(xiàn)有2乘2取2結(jié)構(gòu)框圖;
[0027]圖2為本發(fā)明的裝置框圖;
[0028]圖3為本發(fā)明計算邏輯處理模塊的構(gòu)成圖;
[0029]圖4為本發(fā)明三計算邏輯處理模塊實現(xiàn)同步控制信號處理原理圖;
[0030]圖5為本發(fā)明輸入數(shù)據(jù)冗余處理原理圖;
[0031]圖6為本發(fā)明輸入數(shù)據(jù)冗余處理比較過程圖;
[0032]圖7為本發(fā)明輸出數(shù)據(jù)冗余處理原理圖;
[0033]圖8為本發(fā)明輸出數(shù)據(jù)冗余處理比較過程圖。
【具體實施方式】
[0034]以下結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案作進(jìn)一步的解釋,但是以下的內(nèi)容不用于限定本發(fā)明的保護(hù)范圍。
[0035]如圖2所示,本實施例的物理結(jié)構(gòu):搭建三個完全一致的計算邏輯處理模塊,即第一計算邏輯處理模塊A,第二計算邏輯處理模塊B,第三計算邏輯處理模塊C,模塊A、B具備與上層系統(tǒng)通訊的雙工串行接口,三個模塊具備與下層系統(tǒng)通訊的全雙工串行接口,三個模塊彼此之間具備socket通訊接口。構(gòu)建好整個數(shù)據(jù)安全處理裝置后,將該裝置與上層系統(tǒng)和下層系統(tǒng)連接即可。
[0036]下層系統(tǒng)向數(shù)據(jù)安全處理裝置發(fā)送同步控制信號,經(jīng)處理后,將該信號發(fā)送給內(nèi)部控制系統(tǒng)實現(xiàn)下層系統(tǒng)的同步運行。
[0037]上層系統(tǒng)向數(shù)據(jù)安全處理裝置發(fā)送數(shù)據(jù),經(jīng)冗余處理后,將安全一致數(shù)據(jù)發(fā)送給下層系統(tǒng)。
[0038]下層系統(tǒng)向安全數(shù)據(jù)處理裝置發(fā)送數(shù)據(jù),經(jīng)冗余處理后,將安全一致數(shù)據(jù)發(fā)送給上層系統(tǒng)。
[0039]如圖3所示,每個計算邏輯處理模塊由以下構(gòu)件組成:
[0040]數(shù)據(jù)接收器:通過接口 RS232接收上層系統(tǒng)或下層系統(tǒng)發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)存放在本地存儲器,通知數(shù)據(jù)比較器接收到本地數(shù)據(jù)。
[0041]本地數(shù)據(jù)存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收數(shù)據(jù)接收器發(fā)送的數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移。
[0042]異地數(shù)據(jù)I存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收模塊間數(shù)據(jù)收發(fā)器發(fā)送的異地模塊I數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移。
[0043]異地數(shù)據(jù)2存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收模塊間數(shù)據(jù)收發(fā)器發(fā)送的異地模塊2數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移。
[0044]數(shù)據(jù)比較器:比較本地和異地數(shù)據(jù)存儲器的數(shù)據(jù),如果數(shù)據(jù)一致則將數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送器和模塊間數(shù)據(jù)收發(fā)器,發(fā)送數(shù)據(jù);如果比較不一致則將數(shù)據(jù)暫時存放在數(shù)據(jù)存儲器中。
[0045]數(shù)據(jù)發(fā)送器:將本地數(shù)據(jù)比較器中比較一致的數(shù)據(jù)發(fā)送給上層系統(tǒng)或下層系統(tǒng)。
[0046]上述的數(shù)據(jù)安全處理裝置實現(xiàn)以下三種數(shù)據(jù)處理功能:
[0047]I)同步控制信號處理,計算邏輯處理模塊分別接收到下層系統(tǒng)發(fā)送的同步控制信號,當(dāng)三個模塊都收到且經(jīng)過比較一致時向下層系統(tǒng)發(fā)送同步釋放信號;
[0048]2)輸入數(shù)據(jù)冗余處理,上層系統(tǒng)向下層系統(tǒng)發(fā)送數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸入到下層系統(tǒng)的數(shù)據(jù)一致;
[0049]3)輸出數(shù)據(jù)冗余處理,下層系統(tǒng)向上層系統(tǒng)輸出數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸出到上層系統(tǒng)的數(shù)據(jù)正確。
[0050]以下對上述三種數(shù)據(jù)處理功能的實現(xiàn)進(jìn)行詳細(xì)介紹:
[0051](I)同步控制信號處理
[0052]三計算邏輯處理模塊實現(xiàn)同步控制信號處理采用了三模塊共同判決的方法,其原理圖見附圖4。當(dāng)三計算邏輯處理模塊接收到同步控制信號時(tl,t2,t3),模塊A向模塊B、C發(fā)送同步請求ml,模塊B向模塊A、C發(fā)送同步請求m2,模塊C向模塊A、B發(fā)送同步請求m3,三個模塊在發(fā)送完同步請求時(tl,t2,t3)開啟定時器,定時時間設(shè)定為同步時限。如果三個模塊在同步時限內(nèi)收到另兩個模塊發(fā)送的同步請求,且經(jīng)過比較同步請求ml、m2與m3完全一致時(t4, t5, t6),三模塊分別向另兩個模塊發(fā)送同步請求確認(rèn)m4、m5與m6。如果三個模塊在同步時限內(nèi)收到另兩個模塊發(fā)送的同步請求確認(rèn)時(t4,t5, t6)關(guān)閉定時器,判定同步成功啟動任務(wù);如果未在同步時限內(nèi)收到另兩個模塊的同步請求確認(rèn),則判定同步失敗,采取安全措施進(jìn)行處理。
[0053]三模塊同步過程需要滿足的條件,
[0054]|tl_t2|〈δ , |t2_t3|〈δ , |tl_t3|〈δ (I)
[0055]其中:tl一模塊A收到同步控制信號時刻;t2—模塊B收到同步控制信號時刻;t3—模塊C收到同步控制信號時刻;t4一模塊A經(jīng)過同步比較后的時刻;t5—模塊B經(jīng)過同步比較后的時刻;t6—模塊C經(jīng)過同步比較后的時刻;δ—極小同步比較時間間隔。
[0056]模塊之間的傳輸時間可以忽略,模塊Α、B、C均收到其他兩個模塊的同步請求的時間約為max(tl,t2,t3),三個模塊比較的任務(wù)簡單,執(zhí)行時間較快,故可以得出t4 ^ t5 ^ t6。三模塊同步請求確認(rèn)的過程同上,可以得出t7 ^ t8 ^ t9,由于δ遠(yuǎn)小于同步時限,故三模塊可以完成控制信號同步。
[0057]同步失敗的安全處理措施即為產(chǎn)生一個信號發(fā)送給下層系統(tǒng),當(dāng)下層系統(tǒng)捕獲到該信號進(jìn)行相關(guān)的安全處理如對外輸出安全信號,關(guān)閉正在運行的任務(wù)等。
[0058](2)輸入數(shù)據(jù)冗余處理
[0059]實現(xiàn)三計算邏輯處理模塊的輸入數(shù)據(jù)冗余處理,使二模塊的輸入數(shù)據(jù)分成三份數(shù)據(jù)輸入到下層系統(tǒng),其原理圖見附圖5。
[0060]考慮到模塊Α、B的輸入數(shù)據(jù)不可能完全同步,容許模塊收到輸入數(shù)據(jù)延時,同時保證模塊A與模塊B接收報文的時序一致。每個模塊定義存儲數(shù)據(jù)隊列l(wèi)ocal_in_q、remote_in_q,容量均為N。模塊A收到輸入數(shù)據(jù)時(tl),發(fā)送數(shù)據(jù)il給模塊B;模塊B收到輸入數(shù)據(jù)時(t2),發(fā)送數(shù)據(jù)i2給模塊A。模塊收到外部的輸入數(shù)據(jù)(另一模塊的數(shù)據(jù)),將該數(shù)據(jù)幀序列號與remote_in_q(local_in_q)中的該數(shù)據(jù)幀序列號比較。如果比較一致,為了保證報文執(zhí)行的時序性,將remote_in_q與local_in_q中之前的數(shù)據(jù)按照幀序列號的順序依次輸入下層系統(tǒng),并刪除remote_in_q(local_in_q)中的數(shù)據(jù),如果當(dāng)前模塊為模塊A,發(fā)送數(shù)據(jù)i3給模塊C,模塊C收到數(shù)據(jù)后直接輸入給下層系統(tǒng)處理;如果比較不一致,將該數(shù)據(jù)存儲到 local_in_q(remote_in_q)的末端;如果 local_in_q (remote_in_q)中的數(shù)據(jù)數(shù)量為N,將l0Cal_in_q(rem0te_in_q)中第一個數(shù)據(jù)發(fā)送給模塊C,同時輸入給下層系統(tǒng)處理,刪除數(shù)據(jù)并將新數(shù)據(jù)保存到local_in_q(remote_in_q)的末端。比較過程見附圖6。
[0061]三計算邏輯處理模塊之間的傳輸時間可以忽略,模塊A、B收到另個模塊的輸入數(shù)據(jù)的時間約為max(tl,t2),兩個模塊比較的任務(wù)簡單,執(zhí)行時間較快,故可以得出t3 ^ t4,三模塊輸入數(shù)據(jù)可以同步。其中:tl一模塊A收到輸入數(shù)據(jù)時刻;t2—模塊B收到輸入數(shù)據(jù)時刻;t3—模塊A經(jīng)過輸入數(shù)據(jù)比較后時刻;t4一模塊B經(jīng)過輸入數(shù)據(jù)比較后的時刻。
[0062](3)輸出數(shù)據(jù)冗余處理
[0063]實現(xiàn)三計算邏輯處理模塊的輸出數(shù)據(jù)的同步輸出采用了三取二處理方法,使三模塊的輸出數(shù)據(jù)取出兩個一致數(shù)據(jù)輸出,確保三模塊輸出一致數(shù)據(jù)。其原理圖見附圖7。
[0064]考慮到三模塊的輸出數(shù)據(jù)不可能完全同步,每個模塊定義存儲數(shù)據(jù)rem0te_0ut_l_q以及rem0te_0ut_h_q,容量均為N。模塊A向模塊B、C發(fā)送輸出數(shù)據(jù)ol,模塊B向模塊A、C發(fā)送輸出數(shù)據(jù)o2,模塊C向模塊A、B發(fā)送輸出數(shù)據(jù)o3,三個模塊在發(fā)送完輸出數(shù)據(jù)時(tl,t2, t3)開啟定時器,定時時間設(shè)定為輸出數(shù)據(jù)同步時限。三個模塊收到另兩個通道發(fā)送的輸出數(shù)據(jù),根據(jù)模塊號分別把數(shù)據(jù)存儲到remote_out_l_q、remote_out_h_q的末端。三個模塊輸出數(shù)據(jù)時,將輸出數(shù)據(jù)、remote_out_l_q>remote_out_h_q中的數(shù)據(jù)安位進(jìn)行比較,原理見附圖8。如果比較出兩個完全一致的數(shù)據(jù),則將此數(shù)據(jù)作為該模塊的同步輸出數(shù)據(jù)。此時&43536),三模塊分別向另兩個模塊發(fā)送同步輸出數(shù)據(jù)04、05與06。如果三個模塊在時限內(nèi)收到另兩個模塊發(fā)送的同步輸出數(shù)據(jù)(t7,t8, t9)關(guān)閉定時器,向上層系統(tǒng)輸出數(shù)據(jù);如果未在時限內(nèi)收到另兩個模塊的同步輸出數(shù)據(jù),則判定輸出數(shù)據(jù)同步失敗,丟棄掉該輸出數(shù)據(jù)。
[0065]三模塊輸出同步數(shù)據(jù)的過程需要滿足的條件,
[0066]tl~t2 I < δ s, I t2-t3 I〈 δ s, tl~t3 I < δ s (I)
[0067]其中:tl一模塊A收到輸出數(shù)據(jù)時刻;t2—模塊B收到輸出數(shù)據(jù)時刻;t3—模塊C收到輸出數(shù)據(jù)時刻;t4一模塊A經(jīng)過輸出數(shù)據(jù)比較后的時刻;t5—模塊B經(jīng)過輸出數(shù)據(jù)比較后的時刻;t6—模塊C經(jīng)過輸出數(shù)據(jù)比較后的時刻;t7—模塊A經(jīng)過輸出數(shù)據(jù)比較確認(rèn)后的時刻;t8模塊B經(jīng)過輸出數(shù)據(jù)比較確認(rèn)后的時刻;t9-模塊C經(jīng)過輸出數(shù)據(jù)比較確認(rèn)后的時刻;δ -極小輸出數(shù)據(jù)比較確認(rèn)時間間隔。
[0068]三模塊之間的傳輸時間可以忽略,模塊Α、B、C均收到其他兩個模塊的同步請求的時間約為max (tl,t2,t3),三個模塊比較的任務(wù)簡單,執(zhí)行時間較快,故可以得出t4 ^ t5 ^ t6。三模塊同步請求確認(rèn)的過程同上,可以得出t7 ^ t8 ^ t9,由于Ss小于輸出數(shù)據(jù)同步時限,故三模塊可以同步輸出數(shù)據(jù)。
[0069]通過使用本發(fā)明提出的基于非安全通訊接口的數(shù)據(jù)安全處理裝置可以提高輸入、輸出數(shù)據(jù)的可靠性和安全性,同時本發(fā)明所設(shè)計的安全數(shù)據(jù)通訊裝置是基于易于搭建的計算機硬件模塊以及安全等級較低的通訊接口而實現(xiàn)的。本發(fā)明能夠廣泛應(yīng)用于軌道交通等安全性能要求嚴(yán)格的領(lǐng)域,具有很好的應(yīng)用前景。
[0070]盡管本發(fā)明的內(nèi)容已經(jīng)通過上述優(yōu)選實施例作了詳細(xì)介紹,但應(yīng)當(dāng)認(rèn)識到上述的描述不應(yīng)被認(rèn)為是對本發(fā)明的限制。在本領(lǐng)域技術(shù)人員閱讀了上述內(nèi)容后,對于本發(fā)明的多種修改和替代都將是顯而易見的。因此,本發(fā)明的保護(hù)范圍應(yīng)由所附的權(quán)利要求來限定。
【權(quán)利要求】
1.一種基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于該裝置包括三個同一架構(gòu)配置的計算邏輯處理模塊,各模塊之間由基于Socket連接的數(shù)據(jù)傳輸接口,各計算邏輯處理模塊具備與上層、下層系統(tǒng)通信的全雙工輸入、輸出接口 ;每個計算邏輯處理模塊由以下構(gòu)件組成: 數(shù)據(jù)接收器:通過接口 RS232接收上層系統(tǒng)或下層系統(tǒng)發(fā)送的數(shù)據(jù),并將該數(shù)據(jù)存放在本地存儲器,通知數(shù)據(jù)比較器接收到本地數(shù)據(jù); 本地數(shù)據(jù)存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收數(shù)據(jù)接收器發(fā)送的數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移; 第一異地數(shù)據(jù)存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收模塊間數(shù)據(jù)收發(fā)器發(fā)送的第一異地模塊數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移; 第二異地數(shù)據(jù)存儲器:實現(xiàn)數(shù)據(jù)隊列功能,接收模塊間數(shù)據(jù)收發(fā)器發(fā)送的第二異地模塊數(shù)據(jù),并將其存放在尾部,如果數(shù)據(jù)存放滿則將第一數(shù)據(jù)丟棄,其他數(shù)據(jù)依次前移; 數(shù)據(jù)比較器:比較本地和異地數(shù)據(jù)存儲器的數(shù)據(jù),如果數(shù)據(jù)一致則將數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送器和模塊間數(shù)據(jù)收發(fā)器,發(fā)送數(shù)據(jù);如果比較不一致則將數(shù)據(jù)暫時存放在數(shù)據(jù)存儲器中; 數(shù)據(jù)發(fā)送器:將本地數(shù)據(jù)比較器中比較一致的數(shù)據(jù)發(fā)送給上層系統(tǒng)或下層系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:所述計算邏輯處理模塊實現(xiàn)三種數(shù)據(jù)處理功能: 同步控制信號處理:計算邏輯處理模塊分別接收到下層系統(tǒng)發(fā)送的同步控制信號,當(dāng)三個模塊都收到且經(jīng)過比較一致時向下層系統(tǒng)發(fā)送同步釋放信號;· 輸入數(shù)據(jù)冗余處理:上層系統(tǒng)向下層系統(tǒng)發(fā)送數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸入到下層系統(tǒng)的數(shù)據(jù)一致; 輸出數(shù)據(jù)冗余處理:下層系統(tǒng)向上層系統(tǒng)輸出數(shù)據(jù),經(jīng)三個計算邏輯處理模塊冗余處理使得輸出到上層系統(tǒng)的數(shù)據(jù)正確。
3.根據(jù)權(quán)利要求1或2所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:所述三計算邏輯處理模塊實現(xiàn)同步控制信號處理,采用了共同判決的方法,當(dāng)三計算邏輯處理模塊接收到同步控制信號時,各自分別向另兩個計算邏輯處理模塊發(fā)送同步請求,三個模塊在發(fā)送完同步請求時開啟定時器,定時時間設(shè)定為同步時限;如果三個計算邏輯處理模塊在同步時限內(nèi)收到另兩個計算邏輯處理模塊發(fā)送的同步請求,且經(jīng)過比較同步請求完全一致時,三計算邏輯處理模塊分別向另兩個模塊發(fā)送同步請求確認(rèn);如果三計算邏輯處理模塊在同步時限內(nèi)收到另兩個模塊發(fā)送的同步請求確認(rèn)時關(guān)閉定時器,判定同步成功啟動任務(wù);如果未在同步時限內(nèi)收到另兩個模塊的同步請求確認(rèn),則判定同步失敗,采取安全措施進(jìn)行處理。
4.根據(jù)權(quán)利要求3所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:同步失敗的安全處理措施即:為產(chǎn)生一個信號發(fā)送給下層系統(tǒng),當(dāng)下層系統(tǒng)捕獲到該信號進(jìn)行對外輸出安全信號,關(guān)閉正在運行的任務(wù)處理。
5.根據(jù)權(quán)利要求3所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:所述三計算邏輯處理模塊同步過程需要滿足的條件:
tl_t2I〈 δ , It2_t3I〈 δ , Itl_t3|〈 δ其中:tl一第一計算邏輯處理模塊收到同步控制信號時刻;t2—第二計算邏輯處理模塊收到同步控制信號時刻;t3—第三計算邏輯處理模塊收到同步控制信號時刻;t4一第一計算邏輯處理模塊經(jīng)過同步比較后的時刻;t5—第二計算邏輯處理模塊經(jīng)過同步比較后的時刻;t6—第三計算邏輯處理模塊經(jīng)過同步比較后的時刻;δ—極小同步比較時間間隔。
6.根據(jù)權(quán)利要求1或2所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:所述計算邏輯處理模塊實現(xiàn)輸入數(shù)據(jù)冗余處理,其中:第一和第二計算邏輯處理模塊的輸入數(shù)據(jù)不可能完全同步,容許模塊收到輸入數(shù)據(jù)延時,同時保證第一和第二計算邏輯處理模塊接收報文的時序一致,每個模塊定義存儲數(shù)據(jù)隊列l(wèi)ocal_in_q、remote_in_q,容量均為N ;第一計算邏輯處理模塊收到輸入數(shù)據(jù)時,發(fā)送數(shù)據(jù)il給第二計算邏輯處理模塊;第二計算邏輯處理模塊收到輸入數(shù)據(jù)時,發(fā)送數(shù)據(jù)i2給第一計算邏輯處理模塊; 其中一個計算邏輯處理模塊收到另一計算邏輯處理模塊的數(shù)據(jù)時,將該數(shù)據(jù)幀序列號與remote_in_q(local_in_q)中的該數(shù)據(jù)幀序列號比較,如果比較一致,將remote_in_q與local_in_q中之前的數(shù)據(jù)按照幀序列號的順序依次輸入下層系統(tǒng),并刪除remote_in_q(local_in_q)中的數(shù)據(jù),如果當(dāng)前模塊為第一計算邏輯處理模塊,發(fā)送數(shù)據(jù)i3給第三計算邏輯處理模塊,第三計算邏輯處理模塊收到數(shù)據(jù)后直接輸入給下層系統(tǒng)處理;如果比較不一致,將該數(shù)據(jù)存儲到 local_in_q(remote_in_q)的末端;如果 local_in_q (remote_in_q)中的數(shù)據(jù)數(shù)量為N,將local_in_q(remote_in_q)中第一個數(shù)據(jù)發(fā)送給第三計算邏輯處理模塊,同時輸入給下層系統(tǒng)處理,刪除數(shù)據(jù)并將新數(shù)據(jù)保存到l0Cal_in_q(rem0te_in_q)的末端。
7.根據(jù)權(quán)利要求1或2所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:所述三計算邏輯處理模塊實現(xiàn)輸出數(shù)據(jù)的同步輸出采用了三取二處理方法,使三計算邏輯處理模塊的輸出數(shù)據(jù)取出兩個一致數(shù)據(jù)輸出,確保三計算邏輯處理模塊輸出一致數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:所述三計算邏輯處理模塊的輸出數(shù)據(jù)不可能完全同步,每個計算邏輯處理模塊定義存儲數(shù)據(jù)remote_out_l_q以及remote_out_h_q,容量均為N,每個計算邏輯處理模塊分別向另兩個計算邏輯處理模塊發(fā)送輸出數(shù)據(jù),`三個計算邏輯處理模塊在發(fā)送完輸出數(shù)據(jù)時開啟定時器,定時時間設(shè)定為輸出數(shù)據(jù)同步時限;三個計算邏輯處理模塊收到另兩個通道發(fā)送的輸出數(shù)據(jù),根據(jù)模塊號分別把數(shù)據(jù)存儲到remote_out_l_q、remote_out_h_q的末端; 三個計算邏輯處理模塊輸出數(shù)據(jù)時,將輸出數(shù)據(jù)、remote_out_l_q>remote_out_h_q中的數(shù)據(jù)安位進(jìn)行比較:如果比較出兩個完全一致的數(shù)據(jù),則將此數(shù)據(jù)作為該模塊的同步輸出數(shù)據(jù),此時三計算邏輯處理模塊分別向另兩個模塊發(fā)送同步輸出數(shù)據(jù);如果三個計算邏輯處理模塊在時限內(nèi)收到另兩個模塊發(fā)送的同步輸出數(shù)據(jù)關(guān)閉定時器,向上層系統(tǒng)輸出數(shù)據(jù);如果未在時限內(nèi)收到另兩個計算邏輯處理模塊的同步輸出數(shù)據(jù),則判定輸出數(shù)據(jù)同步失敗,丟棄掉該輸出數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的基于非安全通訊接口的數(shù)據(jù)安全處理裝置,其特征在于:三個計算邏輯處理模塊輸出同步數(shù)據(jù)的過程需要滿足的條件:
tl~t2 I〈 δ s, I t2~t3 I〈 δ s, I tl~t3 I〈 δ s 其中:tl一第一計算邏輯處理模塊收到輸出數(shù)據(jù)時刻;t2—第二計算邏輯處理模塊收到輸出數(shù)據(jù)時刻;t3—第三計算邏輯處理模塊收到輸出數(shù)據(jù)時刻;t4一第一計算邏輯處理模塊經(jīng)過輸出數(shù)據(jù)比較后的時刻;t5—第二計算邏輯處理模塊經(jīng)過輸出數(shù)據(jù)比較后的時刻;t6—第三計算邏輯處理模塊經(jīng)過輸出數(shù)據(jù)比較后的時刻;t7—第一計算邏輯處理模塊經(jīng)過輸出數(shù)據(jù)比較確認(rèn)后的時刻;t8—第二計算邏輯處理模塊經(jīng)過輸出數(shù)據(jù)比較確認(rèn)后的時刻;t9一第三計算邏輯處理模塊經(jīng)過輸出數(shù)據(jù)比較確認(rèn)后的時刻;δ s—極小輸出數(shù)據(jù)比較確認(rèn)時間間 隔。
【文檔編號】G06F11/14GK103577759SQ201210281078
【公開日】2014年2月12日 申請日期:2012年8月9日 優(yōu)先權(quán)日:2012年8月9日
【發(fā)明者】張衍均, 沈琦, 黃學(xué)鋒 申請人:上海寶信軟件股份有限公司