李 菁
(西安職業(yè)技術(shù)學(xué)院,陜西 西安 710077)
煤炭在能源結(jié)構(gòu)中占據(jù)主要地位,該能源為非重復(fù)利用資源,在我國產(chǎn)業(yè)結(jié)構(gòu)內(nèi)屬于關(guān)鍵產(chǎn)業(yè),它的安全在國家能源安全中非常重要[1]。煤炭出現(xiàn)安全問題后,會(huì)導(dǎo)致較為嚴(yán)重的負(fù)面影響,輕則增加煤炭企業(yè)的經(jīng)濟(jì)損失,重則影響國家能源規(guī)劃[2]。目前,煤炭的使用率越來越高,其流通性也隨之提升,而煤炭運(yùn)輸為提升煤炭企業(yè)經(jīng)濟(jì)效益的基礎(chǔ)條件,運(yùn)輸領(lǐng)域不斷朝著信息化建設(shè)發(fā)展,對網(wǎng)絡(luò)信息的依賴程度顯著提升,導(dǎo)致該領(lǐng)域安全事件發(fā)生頻率日益增長,影響越來越大[3-4]。及時(shí)預(yù)警安全問題,可迅速采取相關(guān)措施,解決安全隱患,杜絕安全事件的發(fā)生,降低煤炭企業(yè)的經(jīng)濟(jì)損失,為國家能源規(guī)劃的有效性提供保障。區(qū)塊鏈技術(shù)顛覆了傳統(tǒng)記賬技術(shù)的思想,通過連續(xù)數(shù)據(jù)區(qū)塊連接形成的時(shí)序鏈?zhǔn)浇Y(jié)構(gòu),其排列方式是依據(jù)時(shí)間戳的前后順序展開排序[5]。區(qū)塊鏈技術(shù)利用隨機(jī)數(shù)求解挖礦結(jié)果,通過時(shí)間戳描繪區(qū)塊構(gòu)建事件,確保區(qū)塊鏈按順序構(gòu)建,起到防篡改功能[6-7],采用Merkel根完成交易的驗(yàn)證;具備較優(yōu)的去中心化與可追溯性等優(yōu)勢,應(yīng)用范圍較廣。一直以來,煤炭行業(yè)屬于衰退產(chǎn)業(yè),為此有關(guān)煤炭的研究不多,在我國加入WTO后,煤炭行業(yè)隨之迅速發(fā)展,導(dǎo)致煤炭安全問題接踵而來,為此研究基于區(qū)塊鏈技術(shù)的煤炭運(yùn)輸安全預(yù)警,有效預(yù)警信息安全問題,避免出現(xiàn)安全事件。
煤炭運(yùn)輸安全預(yù)警系統(tǒng)共5個(gè)層級(jí),系統(tǒng)的具體框架如圖1所示。數(shù)據(jù)層屬于該系統(tǒng)的最下層,用于存儲(chǔ)區(qū)塊數(shù)據(jù)與事務(wù)交易數(shù)據(jù)hash地址等數(shù)據(jù),構(gòu)建煤炭運(yùn)輸安全預(yù)警評價(jià)指標(biāo);網(wǎng)絡(luò)層利用共識(shí)算法實(shí)現(xiàn)區(qū)塊鏈的操作;智能合約層通過遠(yuǎn)程過程調(diào)用功能完成遠(yuǎn)程請求服務(wù),實(shí)現(xiàn)和下層的信息共享[8-9],通過EVM虛擬機(jī)實(shí)現(xiàn)智能合約層的信息共享;平臺(tái)層利用智能合約層內(nèi)的遠(yuǎn)程過程調(diào)用功能調(diào)用評價(jià)指標(biāo)信息;應(yīng)用層利用接口庫完成和智能合約層與平臺(tái)層的信息共享[10-12],提取評價(jià)指標(biāo)信息[13],通過基于RBF的煤炭運(yùn)輸安全預(yù)警系統(tǒng)的總體設(shè)計(jì),實(shí)現(xiàn)煤炭運(yùn)輸安全預(yù)警。
圖1 煤炭運(yùn)輸安全預(yù)警系統(tǒng)Fig.1 Coal transportation safety early warning system
煤炭運(yùn)輸安全預(yù)警系統(tǒng)的實(shí)時(shí)性直接影響到煤炭運(yùn)輸?shù)陌踩?,以往在進(jìn)行預(yù)警時(shí)采用的是CAN總線,但是其在煤炭運(yùn)輸安全事件發(fā)生時(shí),對于數(shù)據(jù)的預(yù)警具有一定的延時(shí)性,影響到煤炭運(yùn)輸安全預(yù)警的實(shí)時(shí)性。而TTCAN總線因其可以有效的冗余時(shí)間控制器,提高數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,常被用于煤炭運(yùn)輸安全預(yù)警系統(tǒng)中。本文設(shè)計(jì)采用雙通道冗余的TTCAN控制器,并搭配兩路CAN總線,同時(shí)將DSP芯片融入到TTCAN控制器中,構(gòu)成一套完整且獨(dú)立的總線結(jié)構(gòu),可以實(shí)現(xiàn)各數(shù)據(jù)層的全面冗余。
在進(jìn)行接口設(shè)計(jì)時(shí),需要先確定其拓?fù)浣Y(jié)構(gòu),信系傳輸接口在與主機(jī)相連接時(shí),通常都是用USB進(jìn)行連接通信。設(shè)計(jì)采用RS-485通信接口并外接存儲(chǔ)芯片的方式進(jìn)行煤炭運(yùn)輸安全預(yù)警,可以提高信息的儲(chǔ)存量,有效避免因?yàn)橹鳈C(jī)出現(xiàn)故障或者發(fā)生意外事故時(shí)導(dǎo)致信息丟失的情況發(fā)生。具體的信息傳輸接口設(shè)計(jì)如圖2所示。
圖2 信息傳輸接口結(jié)構(gòu)Fig.2 Information transmission interface structure
信息傳輸接口主要由USB接口、顯示屏、存儲(chǔ)器、RS-485通信接口等組成。通過USB接口、RS-485連接主機(jī),實(shí)現(xiàn)信息的傳輸,存儲(chǔ)器對信息進(jìn)行存儲(chǔ)和備份,顯示屏將預(yù)警信息顯示出來,能直觀地觀察到煤炭運(yùn)輸安全情況。信息傳輸接口的設(shè)計(jì)為煤炭運(yùn)輸安全預(yù)警系統(tǒng)信息的傳遞與存儲(chǔ)提供了保障,同時(shí)也保證了預(yù)警系統(tǒng)的有效運(yùn)行。
網(wǎng)絡(luò)層中各區(qū)塊的作用是對交易信息進(jìn)行存儲(chǔ),運(yùn)用區(qū)塊鏈技術(shù)對網(wǎng)絡(luò)層區(qū)塊進(jìn)行設(shè)計(jì),可以有效判斷數(shù)據(jù)塊的有效性,再建立新的數(shù)據(jù)庫。該技術(shù)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)為依據(jù)時(shí)間順序的鏈?zhǔn)浇Y(jié)構(gòu),如圖3所示。區(qū)塊頭中存在索引父塊的哈希值數(shù)據(jù)、計(jì)算器與時(shí)間戳數(shù)據(jù)、整理并檢驗(yàn)全部交易數(shù)據(jù)的樹根數(shù)據(jù)。利用Merkle樹衡量數(shù)據(jù)集是否存在缺失情況。
圖3 區(qū)塊鏈區(qū)塊示意Fig.3 Schematic diagram of blockchain block
利用RBF神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)煤炭運(yùn)輸安全預(yù)警評價(jià)體系設(shè)計(jì),該網(wǎng)絡(luò)存在輸入層、隱含層與輸出層3個(gè)層級(jí),首層的作用是接收輸入值,最后一層的作用是生成輸出值[14],中間層的作用是求解輸入值的輸出期望值與反向傳播輸出值。Sigmoid激活函數(shù)的作用是非線性映射更改輸入與輸出值,公式如下:
(1)
式中,yi為神經(jīng)元j接收激活函數(shù)的值;xj為神經(jīng)元j的值。
(2)
其中,wji為權(quán)重;i為神經(jīng)編號(hào)。
在xj內(nèi)引進(jìn)激活函數(shù),激活另一個(gè)神經(jīng)元,反復(fù)迭代,以全部神經(jīng)元均激活為止,構(gòu)建RBF網(wǎng)絡(luò)。
令神經(jīng)元權(quán)值為W,在xj和期望值差距較大時(shí),通過反饋機(jī)制更改W:
(3)
(4)
其中,gi為期望輸出;在W低于設(shè)置閾值時(shí),結(jié)束更改。
將煤炭運(yùn)輸安全預(yù)警評價(jià)指標(biāo):煤炭供需比C1,煤炭庫存率C2,煤炭區(qū)域供需平衡度C3,煤炭鐵路運(yùn)輸承運(yùn)率C4,百萬噸運(yùn)煤死亡率C5,運(yùn)輸成本費(fèi)用利潤率C6,煤炭運(yùn)輸環(huán)境影響因子C7,作為RBF神經(jīng)網(wǎng)絡(luò)的輸入;輸出值5種預(yù)警等級(jí)值Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ[15],分別對應(yīng)安全、輕度預(yù)警、中度預(yù)警、重度預(yù)警以及嚴(yán)重預(yù)警。煤炭運(yùn)輸安全預(yù)警評價(jià)體系設(shè)計(jì)對實(shí)際的煤炭運(yùn)輸可以起到較好的警示作用,通過判斷預(yù)警的風(fēng)險(xiǎn)等級(jí),運(yùn)輸人員可以決定是否繼續(xù)進(jìn)行煤炭運(yùn)輸。預(yù)警等級(jí)低時(shí),可以采取相應(yīng)的措施,解決問題,預(yù)警等級(jí)高時(shí),就需要立即停止運(yùn)輸工作,避免產(chǎn)生嚴(yán)重的后果。
運(yùn)用聯(lián)邦學(xué)習(xí)方法進(jìn)行煤炭預(yù)警模型參數(shù)的設(shè)計(jì),聯(lián)邦學(xué)習(xí)是一種機(jī)器學(xué)習(xí)框架,通過對預(yù)警系統(tǒng)參數(shù)的設(shè)計(jì)能夠保護(hù)煤炭數(shù)據(jù)的隱私。用戶通過該框架進(jìn)行交換,同時(shí)對本地基于RBF神經(jīng)網(wǎng)絡(luò)的煤炭預(yù)警系統(tǒng)參數(shù)進(jìn)行匯總,塑造虛擬聯(lián)邦模型,進(jìn)行預(yù)警模型訓(xùn)練過程中無需交換隱私數(shù)據(jù)則可實(shí)現(xiàn)。通過基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)模式確保煤炭的安全性。
將RBF神經(jīng)網(wǎng)絡(luò)的煤炭運(yùn)輸安全預(yù)警過程,轉(zhuǎn)換成一個(gè)有監(jiān)督的機(jī)器學(xué)習(xí)分類過程。Dk{(x1,y1),…,(xnk,ynk)}描述煤炭的本地異常數(shù)據(jù)庫,其儲(chǔ)存nk個(gè)癥狀的數(shù)據(jù)樣本的第k個(gè)資源信息的數(shù)據(jù)。用式(1)描述本地預(yù)警模型的目標(biāo)函數(shù),其也是本地基于RBF神經(jīng)網(wǎng)絡(luò)的煤炭運(yùn)輸安全預(yù)警系統(tǒng)對本地異常數(shù)據(jù)庫的經(jīng)驗(yàn)風(fēng)險(xiǎn):
(5)
式中,w為系統(tǒng)參數(shù)。
通過m個(gè)煤炭資源信息構(gòu)成的全局系統(tǒng)應(yīng)該確保總體信息分類預(yù)警誤差最低,則獲取全局系統(tǒng)目標(biāo)函數(shù)為:
(6)
式中,pk為第k個(gè)本地預(yù)警系統(tǒng)對于總體系統(tǒng)權(quán)重。
在每輪迭代過程中,本地基于RBF神經(jīng)網(wǎng)絡(luò)的煤炭運(yùn)輸安全預(yù)警系統(tǒng)都會(huì)采集全局系統(tǒng)參數(shù),進(jìn)而修正本地系統(tǒng)參數(shù),通過本地?cái)?shù)據(jù)對模型梯度進(jìn)行運(yùn)算后,向全局系統(tǒng)中反饋該梯度值,使得全局系統(tǒng)基于目標(biāo)函數(shù)實(shí)現(xiàn)梯度的聚合處理,同時(shí)反復(fù)修正新全局系統(tǒng)參數(shù),如此循環(huán)進(jìn)行,直至滿足迭代終止規(guī)范。對預(yù)警系統(tǒng)進(jìn)行參數(shù)設(shè)計(jì),可以對信息安全進(jìn)行分類,進(jìn)而實(shí)現(xiàn)不同本地?cái)?shù)據(jù)庫的反向監(jiān)測。聯(lián)邦學(xué)習(xí)主要作用是預(yù)警系統(tǒng)參數(shù)的加密反饋以及匯總,同時(shí)對交互過程進(jìn)行上鏈處理,還可以有效解決資源信息丟失的問題。
數(shù)據(jù)來源歷年該省統(tǒng)計(jì)年鑒、能源統(tǒng)計(jì)年鑒與研究機(jī)構(gòu)。數(shù)據(jù)統(tǒng)計(jì)時(shí)間為2017—2018年,2017年1—12月為訓(xùn)練樣本,2018年1—12月為測試樣本。利用本文方法采集有關(guān)煤炭運(yùn)輸安全預(yù)警信息,以時(shí)間方式將采集的信息存儲(chǔ)于對應(yīng)的評價(jià)指標(biāo)內(nèi),為方便求解,預(yù)警等級(jí)從安全至嚴(yán)重預(yù)警依次為Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ。
煤炭分布在區(qū)塊鏈中,因此區(qū)塊鏈的安全性對于確保煤炭的安全具有重要作用。通常攻擊者會(huì)攻擊區(qū)塊鏈中的共識(shí)機(jī)制,檢測用戶通過本文方法的區(qū)塊鏈進(jìn)行信息訪問時(shí)的信用度值。區(qū)塊鏈安全資源訪問信用度如圖4所示。從圖中可知,用戶訪問煤炭時(shí),攻擊者會(huì)對區(qū)塊鏈進(jìn)行不斷的攻擊,導(dǎo)致用戶信用度降低。隨著用戶訪問次數(shù)的逐漸增加,用戶當(dāng)前信用度,歷史信用度以及推薦信用度都不斷變化,10次資源訪問過程中,信用度值基本穩(wěn)定,說明用戶通過本文區(qū)塊鏈訪問煤炭的信用度都較高,預(yù)警安全性更高。
圖4 區(qū)塊鏈安全資源訪問信用度Fig.4 Credit degree of blockchain securityresource access
實(shí)驗(yàn)為了檢測本文方法采用的區(qū)塊鏈存儲(chǔ)海量煤炭運(yùn)輸資源數(shù)據(jù)的處理性能,分別對300組、600組以及900組的煤炭運(yùn)輸資源數(shù)據(jù),在不同節(jié)點(diǎn)區(qū)塊條件下的區(qū)塊鏈同步時(shí)間,結(jié)果如圖5所示。
圖5 區(qū)塊同步時(shí)間Fig.5 Block synchronization time
從圖5中能夠看出,隨著區(qū)塊節(jié)點(diǎn)數(shù)量的不斷提高,不同組數(shù)據(jù)的平均區(qū)塊鏈同步時(shí)間都不斷提高,并且隨著區(qū)塊鏈中存儲(chǔ)的煤炭運(yùn)輸資源數(shù)據(jù)量的增加,平均區(qū)塊鏈同步時(shí)間也提高。說明本文方法采用的區(qū)塊鏈技術(shù)可以滿足大數(shù)據(jù)煤炭運(yùn)輸資源存儲(chǔ)所需的處理效率需要。
利用技術(shù)效率變化指數(shù)(TE)、純技術(shù)效率變化指數(shù)(PTEC)、規(guī)模效率變化指數(shù)(SEC)衡量本文方法的信息利用率,三者相乘后的值大于1代表本文方法信息利用率較高。在TE>1情況下,代表技術(shù)效率較高;在PREC>1情況下,代表技術(shù)成熟度較高;在SEC>1情況下,代表規(guī)模效應(yīng)較好。
以2017年的信息為例,測試本文方法在這段時(shí)間的信息利用率及均值,如圖6所示。分析圖6中的測試結(jié)果可得,本文方法的TE、PTEC、SEC均值都大于1,三者乘積也大于1,說明本文方法具備較高的信息利用率,信息利用率高可豐富煤炭的細(xì)節(jié)信息,提升安全預(yù)警效果;僅有2—5月、6—8月的三者乘積略低于1,與1的差距非常??;綜合分析,本文方法的信息利用率整體偏高,技術(shù)水平較優(yōu),規(guī)模效率較高。
圖6 信息利用率及均值測試結(jié)果Fig.6 Test results of informationutilization and mean value
為提升本文方法的預(yù)警精度,需要?dú)w一化處理各指標(biāo)的值,令各指標(biāo)的取值區(qū)間為[-1,1]。實(shí)驗(yàn)設(shè)置本文方法構(gòu)建的RBF網(wǎng)絡(luò)訓(xùn)練次數(shù)的顯示間隔是150,網(wǎng)絡(luò)學(xué)習(xí)速率為0.06,最大網(wǎng)絡(luò)訓(xùn)練次數(shù)是800次,網(wǎng)絡(luò)訓(xùn)練目標(biāo)的允許誤差是0.06,網(wǎng)絡(luò)訓(xùn)練最小的性能梯度是0.000 001,網(wǎng)絡(luò)訓(xùn)練確認(rèn)的最多失敗次數(shù)是5。本文方法中網(wǎng)絡(luò)訓(xùn)練開始后,Matlab會(huì)呈現(xiàn)訓(xùn)練監(jiān)控窗口,及時(shí)呈現(xiàn)誤差信息,在誤差未超過設(shè)置參數(shù)情況下,網(wǎng)絡(luò)構(gòu)建完成。本文方法中網(wǎng)絡(luò)的3個(gè)層依次包含7個(gè)、8個(gè)、3個(gè)神經(jīng)元。
本文方法輸入的是歸一化的值,輸出的也是歸一化的值,不能和期望值對比,需要通過postmnmx函數(shù)反歸一化處理輸出值,對比分析反歸一化值與期望值,測試本文方法的預(yù)警效果,測試樣本輸出結(jié)果見表1。從表1的對比結(jié)果可知,本文方法獲取的預(yù)警結(jié)果與期望結(jié)果相差較小,僅有1月、6月、7月、11月、12月的預(yù)警結(jié)果相比期望結(jié)果低一個(gè)等級(jí),雖然低一個(gè)等級(jí),但在煤炭安全出現(xiàn)問題時(shí),本文方法也可以預(yù)測出危機(jī),實(shí)現(xiàn)安全預(yù)警。
表1 測試樣本輸出結(jié)果Tab.1 Output results of test samples
大數(shù)據(jù)環(huán)境下,基于互聯(lián)網(wǎng)的信息安全事件發(fā)生頻率越來越高,對煤炭展開預(yù)警,可有效解決安全事件頻發(fā)問題,盡可能降低煤炭企業(yè)的損失,為此研究基于區(qū)塊鏈技術(shù)的煤炭運(yùn)輸安全預(yù)警方法,精準(zhǔn)預(yù)警煤炭安全,及時(shí)解決安全隱患,避免出現(xiàn)不必要的損失。