石 鋒,梁尚斌,蔣 勇,閆麗萍,徐建軍,郭曉東
1.中國石油化工股份有限公司 西北油田分公司,烏魯木齊 830011
2.四川大學(xué) 電子信息學(xué)院,成都 610065
石油和天然氣工業(yè),從原油開采到油氣集輸,需要高效可靠的技術(shù)和系統(tǒng)來監(jiān)測生產(chǎn)運(yùn)行情況,及時發(fā)現(xiàn)異常并進(jìn)行處理,提高安全生產(chǎn)水平。近年來,由于無線傳感器具有小型化、低速率、低功耗、快速部署、便于維護(hù)的特點,在油氣工業(yè)數(shù)據(jù)監(jiān)測和生產(chǎn)控制方面得到了廣泛應(yīng)用。基于物聯(lián)網(wǎng)的油田生產(chǎn)數(shù)據(jù)在線監(jiān)測系統(tǒng),由智能感知層、網(wǎng)絡(luò)層、服務(wù)資源層和應(yīng)用層組成,通常在智能感知層對采集的異構(gòu)數(shù)據(jù)打包,通過網(wǎng)絡(luò)層發(fā)送至遠(yuǎn)端服務(wù)器層,在遠(yuǎn)端應(yīng)用層進(jìn)行協(xié)議解析和異常數(shù)據(jù)處理,同時在云端進(jìn)行控制指令下發(fā)[1-2]。基于云端的物聯(lián)網(wǎng)應(yīng)用具有資源按需分配、快速彈性部署和服務(wù)可計量的特點[3-4]。但是基于云端的物聯(lián)網(wǎng)應(yīng)用,存在數(shù)據(jù)在服務(wù)器端處理和展示,在進(jìn)行邏輯控制時,也需要在云端進(jìn)行規(guī)則判斷,然后把控制指令下發(fā)至現(xiàn)場感知層,異常數(shù)據(jù)處理和邏輯控制嚴(yán)重依賴網(wǎng)絡(luò),由于網(wǎng)絡(luò)時延、擁塞,不能及時響應(yīng)現(xiàn)場異常情況。
應(yīng)對這種挑戰(zhàn),計算領(lǐng)域最近出現(xiàn)了范式轉(zhuǎn)變,即邊緣計算[5-6]。邊緣計算可以看作是云計算的補(bǔ)充,在靠近物或數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),融合云計算中的計算、存儲、網(wǎng)絡(luò)和應(yīng)用資源,利用邊緣計算提供計算和存儲能力,使應(yīng)用、服務(wù)和內(nèi)容實現(xiàn)本地化部署,滿足業(yè)務(wù)低時延、海量連接的需求,緩解網(wǎng)絡(luò)負(fù)載壓力[7-8]。在油田物聯(lián)網(wǎng)應(yīng)用中,云計算和邊緣計算之間可以相互協(xié)作和補(bǔ)充,實現(xiàn)云端計算下沉至邊緣端[9-10],實現(xiàn)業(yè)務(wù)本地化,降低能耗,避免了因網(wǎng)絡(luò)擁塞和中斷時造成的服務(wù)中斷和數(shù)據(jù)丟失。通過在邊緣端實現(xiàn)異常數(shù)據(jù)檢測和邏輯控制,降低生產(chǎn)安全風(fēng)險[11-12]。
本文首先分析了基于云端應(yīng)用的物聯(lián)網(wǎng)系統(tǒng)的特點以及進(jìn)行異構(gòu)海量數(shù)據(jù)連接、實時處理、分析和邏輯控制的缺陷,提出基于邊緣計算的油田物聯(lián)網(wǎng)架構(gòu),在邊緣端實現(xiàn)數(shù)據(jù)接入、協(xié)議轉(zhuǎn)換與數(shù)據(jù)異常檢測和邏輯控制。根據(jù)油田應(yīng)用實際,在邊緣網(wǎng)關(guān)部署阿里巴巴公司的Link Edge邊緣計算環(huán)境,結(jié)合油田應(yīng)用實際開發(fā)設(shè)備接入驅(qū)動程序和數(shù)據(jù)處理用戶程序,使用孤立森林算法進(jìn)行異常數(shù)據(jù)檢測和處理[13-15],利用邊緣端的計算和存儲能力進(jìn)行函數(shù)計算,實現(xiàn)加熱爐溫度控制功能,滿足業(yè)務(wù)低時延、高可靠和實時服務(wù),同時在云端實現(xiàn)設(shè)備管理、數(shù)據(jù)展示、報警信息查詢。
邊緣計算通過把小型帶有計算、存儲和網(wǎng)絡(luò)接入能力的設(shè)備部署在網(wǎng)絡(luò)邊緣,與智能傳感器、有線儀表和用戶緊密相連,既可以滿足邊緣設(shè)備計算能力擴(kuò)展需求,又可以有效減少網(wǎng)絡(luò)負(fù)載,降低數(shù)據(jù)時延。邊緣計算面向的對象包括來自邊緣端物聯(lián)網(wǎng)的上行數(shù)據(jù)和來自云計算中心的下行數(shù)據(jù)[16-17]。
油田現(xiàn)場生產(chǎn)活動分散地處于偏遠(yuǎn)且難以到達(dá)的惡劣自然環(huán)境地區(qū),網(wǎng)絡(luò)連接時常發(fā)生中斷情況,現(xiàn)場生產(chǎn)數(shù)據(jù)無法回傳和實時控制。現(xiàn)場數(shù)據(jù)采集、傳輸和業(yè)務(wù)邏輯的實時性要求較高,如果數(shù)據(jù)分析和控制邏輯全部集中在云端完成,難以滿足實時性需求。另一方面,邊緣計算可以提供計算卸載,在邊緣端進(jìn)行通信協(xié)議解析、數(shù)據(jù)格式轉(zhuǎn)換后可以實時響應(yīng)感知層設(shè)備,將異常數(shù)據(jù)過濾后進(jìn)行規(guī)則學(xué)習(xí),計算報警閾值,數(shù)據(jù)異常時觸發(fā)報警,減少傳統(tǒng)云端計算模式下報警信息大量冗余和淹沒有效報警信息的弊端,提高響應(yīng),降低時延,實現(xiàn)安全生產(chǎn)的目標(biāo)。油田物聯(lián)網(wǎng)邊緣計算整體架構(gòu)自下而上分為智能感知層、邊緣計算層、云計算層[18-20],總體設(shè)計如圖1所示。
智能感知層,通常包括無線智能壓力、溫度、抽油泵示功圖傳感器、電量監(jiān)測設(shè)備、流量計、調(diào)節(jié)閥以及電動機(jī)變頻器等。感知層設(shè)備與上層設(shè)備通信方式有無線和有線兩種方式,通信協(xié)議分別為基于IEEE 802.15.4標(biāo)準(zhǔn)和ZigBee 通信協(xié)議標(biāo)準(zhǔn)的油田SZ9-GRM(G 代表網(wǎng)關(guān)Gateway,R代表路由Router,M代表無線儀表等測量設(shè)備Measurement)私有通信協(xié)議和工業(yè)標(biāo)準(zhǔn)Modbus通信協(xié)議,感知層設(shè)備的安全主要考慮設(shè)備的物理安全和內(nèi)容安全。
邊緣計算層,在油田物聯(lián)網(wǎng)邊緣計算系統(tǒng)中邊緣網(wǎng)關(guān)設(shè)備具有豐富的下聯(lián)設(shè)備接口,包含以太網(wǎng)口、RS-232/485串口、數(shù)字量輸入/輸出接口以及3G/4G模塊。邊緣網(wǎng)關(guān)具有訪問互聯(lián)網(wǎng)的功能,充當(dāng)邊緣網(wǎng)關(guān)的角色,既可以實現(xiàn)設(shè)備數(shù)據(jù)的采集、過濾、流轉(zhuǎn)、存儲、分析和處理,又可以將設(shè)備數(shù)據(jù)上報至云端,同時提供規(guī)則引擎和函數(shù)計算功能,方便應(yīng)用場景編排和業(yè)務(wù)擴(kuò)展,邊緣計算層的核心功能接口如圖2所示。

圖1 油田物聯(lián)網(wǎng)邊緣計算架構(gòu)

圖2 邊緣計算層核心功能
云計算層,通常包括服務(wù)器計算資源、存儲資源、云端網(wǎng)絡(luò)和用戶應(yīng)用程序部分,除了提供復(fù)雜的數(shù)據(jù)處理、分析和展示外,還提供異常數(shù)據(jù)報警管理、設(shè)備管理和控制功能,與邊緣端處理協(xié)同,滿足不同的業(yè)務(wù)應(yīng)用需求。
從圖2可知,在邊緣計算層需要實現(xiàn)底層設(shè)備接入驅(qū)動的開發(fā)和管理,支持設(shè)備驅(qū)動程序云端下發(fā)、子設(shè)備通道設(shè)定管理和子設(shè)備添加、刪除管理與維護(hù)等功能;協(xié)議數(shù)據(jù)解析與轉(zhuǎn)換,經(jīng)過數(shù)據(jù)過濾后,利用異常數(shù)據(jù)處理算法進(jìn)行數(shù)據(jù)實時檢測和異常值判斷和報警提醒;基于規(guī)則引擎進(jìn)行多個數(shù)據(jù)邏輯控制,進(jìn)而實現(xiàn)設(shè)備連鎖控制功能。通過在邊緣端部署邊緣網(wǎng)關(guān),將原來云端計算和存儲資源下放至邊緣端,在邊緣端實現(xiàn)設(shè)備協(xié)議數(shù)據(jù)包解析、數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)過濾和報警提醒以及設(shè)備連鎖邏輯控制,降低網(wǎng)絡(luò)時延和由于網(wǎng)絡(luò)中斷造成數(shù)據(jù)丟失和控制功能失效,提高業(yè)務(wù)實時連續(xù)性,保障生產(chǎn)平穩(wěn)運(yùn)行。
油田物聯(lián)網(wǎng)邊緣計算功能主要包括設(shè)備程序開發(fā)封裝和部署、基于孤立森林算法的異常數(shù)據(jù)檢測和設(shè)備邏輯控制三方面。
邊緣計算的實現(xiàn)依托Link Edge 提供的支撐環(huán)境,設(shè)備接入模塊在Link Edge 中實現(xiàn)。一個完整的設(shè)備接入驅(qū)動由設(shè)備的連接管理、協(xié)議數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)交互與命令處理組成。連接管理是指設(shè)備與網(wǎng)關(guān)建立通信連接,Link Edge不限制建立通信連接的協(xié)議,可根據(jù)業(yè)務(wù)需求靈活選擇。協(xié)議數(shù)據(jù)轉(zhuǎn)換是指設(shè)備接入驅(qū)動將獲取到的終端設(shè)備數(shù)據(jù)轉(zhuǎn)換為符合物聯(lián)網(wǎng)模型規(guī)范的數(shù)據(jù)格式,并上報到云端。數(shù)據(jù)與命令處理是指驅(qū)動可以處理云端對于設(shè)備的操作請求,并完成對設(shè)備的服務(wù)調(diào)用和處理調(diào)用結(jié)果,最終將結(jié)果返回到云端。
設(shè)備接入驅(qū)動是Link Edge 中獨(dú)立的服務(wù)模塊,Link Edge 除了提供常用協(xié)議驅(qū)動,如Modbus、OPC UA驅(qū)動外,還支持自定義驅(qū)動開發(fā)。本文根據(jù)GRM私有通信協(xié)議開發(fā)自定義設(shè)備接入驅(qū)動,并自定義驅(qū)動功能和數(shù)據(jù)流向。
GRM 協(xié)議系統(tǒng)是基于國際標(biāo)準(zhǔn)實現(xiàn)的通用協(xié)議,是在油氣行業(yè)的具體應(yīng)用,包含儀表通信協(xié)議、儀表配置協(xié)議、儀表標(biāo)定協(xié)議和儀表工作狀態(tài)轉(zhuǎn)換規(guī)定等。其基本思路是通過無線接收終端采集無線儀表的數(shù)據(jù),再經(jīng)路由形成ZigBee 網(wǎng)絡(luò)將數(shù)據(jù)傳送到就近的網(wǎng)關(guān),再將數(shù)據(jù)傳送至云端。儀表通信協(xié)議基于ZigBee通信協(xié)議,在協(xié)議數(shù)據(jù)包中嵌入應(yīng)用協(xié)議數(shù)據(jù),應(yīng)用層協(xié)議數(shù)據(jù)幀包括幀頭和數(shù)據(jù)兩大部分,幀頭部分包含協(xié)議類型、儀表廠商代碼、儀表類型、儀表組號、儀表序號和數(shù)據(jù)類型幾個數(shù)據(jù)段。儀表通信協(xié)議數(shù)據(jù)幀格式如表1所示。

表1 儀表通信協(xié)議數(shù)據(jù)幀格式
在本文構(gòu)建的邊緣計算物聯(lián)網(wǎng)系統(tǒng)中使用無線接收終端接收無線儀表的數(shù)據(jù),然后將數(shù)據(jù)通過RS-485接口傳送至邊緣網(wǎng)關(guān)中,處理后發(fā)送至遠(yuǎn)端數(shù)據(jù)中心服務(wù)器。無線接收終端使用API模式進(jìn)行數(shù)據(jù)接收,支持用戶開發(fā)程序通過串口直接讀取數(shù)據(jù),其數(shù)據(jù)幀通用格式如表2所示?;谝陨蟽煞N數(shù)據(jù)幀內(nèi)容定義,開發(fā)用戶驅(qū)動程序進(jìn)行儀表設(shè)備數(shù)據(jù)讀取請求與應(yīng)答,實現(xiàn)數(shù)據(jù)實時監(jiān)控。

表2 終端接收數(shù)據(jù)幀通用格式
用戶驅(qū)動的開發(fā)基于Link Edge 的集成開發(fā)環(huán)境Docker 鏡像進(jìn)行,設(shè)備驅(qū)動開發(fā)包括程序編碼、編譯打包、程序上傳至云端、部署至邊緣設(shè)備、數(shù)據(jù)查看和運(yùn)行日志查看等流程。
在基于云端應(yīng)用的物聯(lián)網(wǎng)架構(gòu)下,海量異構(gòu)設(shè)備數(shù)據(jù)在云端進(jìn)行異常數(shù)據(jù)實時檢測處理無法滿足業(yè)務(wù)需求,因此數(shù)據(jù)在云端應(yīng)用上通過設(shè)定報警值的閾值范圍來檢測異常,當(dāng)數(shù)據(jù)超出閾值范圍時觸發(fā)報警?,F(xiàn)場生產(chǎn)數(shù)據(jù)情況波動、儀表設(shè)備采集數(shù)據(jù)時,不可避免地產(chǎn)生噪聲、數(shù)據(jù)缺失和錯誤及信號傳輸異常,導(dǎo)致產(chǎn)生大量報警信息,淹沒了有效報警信息,并且需要生產(chǎn)監(jiān)控管理人員進(jìn)行現(xiàn)場確認(rèn),帶來許多額外工作。
基于邊緣計算的物聯(lián)網(wǎng)架構(gòu),可以在邊緣端對關(guān)鍵生產(chǎn)數(shù)據(jù)進(jìn)行異常檢測,同時將異常數(shù)據(jù)值和報警規(guī)則上傳至云端,提高業(yè)務(wù)響應(yīng)的實時性,降低網(wǎng)絡(luò)負(fù)載。
異常數(shù)據(jù)檢測方法是對正常樣本進(jìn)行特征描述,不在正常特征空間中的樣本被視為異常。異常數(shù)據(jù)具有兩個特點:一是異常數(shù)據(jù)只占少量,屬于異常特征值;二是和正常數(shù)據(jù)差別很大。
孤立森林(Isolation Forest)檢測算法是不再描述正常的樣本點,而是要孤立異常點。異常數(shù)據(jù)被定義為“容易被孤立的離群點”,可以認(rèn)為是分布稀疏且距離密度高的群體較遠(yuǎn)的點。在樣本特征空間中,分布稀疏的區(qū)域表示事件發(fā)生在該區(qū)域的概率很低,認(rèn)為落在這些區(qū)域里的數(shù)據(jù)是異常的。孤立森林算法是一種無監(jiān)督異常數(shù)據(jù)檢測方法,不需要有標(biāo)記的樣本來訓(xùn)練,但是要求樣本特征是連續(xù)的變量,隨機(jī)遞歸地分割樣本數(shù)據(jù)集,直到所有的樣本點都是孤立的,在這種隨機(jī)分割的策略下,異常點通常具有較短的路徑。
孤立森林算法對數(shù)據(jù)集進(jìn)行隨機(jī)采樣并構(gòu)造樹iTree。iTree 是一種隨機(jī)二叉樹,每個節(jié)點要么有兩個孩子,要么就是葉子節(jié)點,一個孩子都沒有。然后將多個iTree 集成為森林iForest,將傳入的數(shù)據(jù)遍歷每一棵樹的節(jié)點,根據(jù)平均路徑深度檢測是否為異常。
構(gòu)造iTree的思想如下:
(1)從給定的數(shù)據(jù)集中隨機(jī)選擇ψ個樣本點作為子采樣數(shù)據(jù)集,并構(gòu)造一棵初始的iTree,將子采樣放入樹的根節(jié)點。
(2)根據(jù)數(shù)據(jù)集特征,指定數(shù)據(jù)集的一個屬性項q,在屬性項q中隨機(jī)產(chǎn)生一個分割點p,分割點p介于屬性數(shù)據(jù)項q的最大值與最小值之間。
(3)根據(jù)數(shù)據(jù)點的p值對每條記錄進(jìn)行劃分,構(gòu)造iTree,把小于p值的記錄放在左節(jié)點,把大于等于p值的記錄放在右節(jié)點。
(4)遞歸執(zhí)行步驟(2)和步驟(3),不斷構(gòu)造新的樹節(jié)點,直到子采樣數(shù)據(jù)集中只有一條數(shù)據(jù),無法繼續(xù)分割,或者樹的高度已經(jīng)達(dá)到初始定義好的限定高度。
iTree是一個完全二叉樹,樹中的每個節(jié)點都有0或兩個子節(jié)點。假設(shè)所有實例都是不同的,當(dāng)一個iTree完全生長時,每個實例都被隔離到一個外部節(jié)點,在這種情況下,外部節(jié)點的數(shù)量是n,內(nèi)部節(jié)點為n-1,節(jié)點總數(shù)為2n-1。異常檢測的任務(wù)是提供一個反映異常程度的排序。
根據(jù)給定數(shù)據(jù)集構(gòu)建完成t個iTree 之后生成孤立森林模型iForest,然后用來評估測試數(shù)據(jù),發(fā)現(xiàn)異常數(shù)據(jù)。對于一個測試數(shù)據(jù)x,遍歷每一棵iTree,計算x落在每一棵樹的深度,即葉子節(jié)點到根節(jié)點的路徑長度,記為h(x),根據(jù)h(x)來判斷一條記錄x是否是異常點,所有h(x)的平均值為E(h(x)),因此設(shè)置標(biāo)準(zhǔn)平均搜索長度c(ψ)為:

從而可以定義一個待測數(shù)據(jù)x的異常評分為:

從式(3)中可以看出:
當(dāng)E(h(x))→c(ψ),s→ 0.5;
當(dāng)E(h(x))→ 0,s→ 1;
當(dāng)E(h(x))→n-1,s→0 。
根據(jù)異常評分可以判斷出,當(dāng)評分值為1 時,該數(shù)據(jù)點為異常值;當(dāng)評分值小于0.5 時,該數(shù)據(jù)點為正常值;如果所有數(shù)據(jù)點評分值全部約為0.5時,說明整個數(shù)據(jù)集都沒有明顯異常。
通過在觀測數(shù)據(jù)的最大值與最小值之間生成隨機(jī)數(shù)構(gòu)建孤立森林,因為物聯(lián)網(wǎng)觀測數(shù)據(jù)的正常值變化范圍較小,在構(gòu)建孤立森林時子采樣空間大小為觀測值去重后數(shù)量的4 倍,建立孤立樹的個數(shù)為50,最大樹高度為10層。由于正常數(shù)據(jù)與異常數(shù)據(jù)的臨界值需要在具體應(yīng)用中分析來確定,本文使用包含訓(xùn)練數(shù)據(jù)在內(nèi)的一系列數(shù)據(jù)進(jìn)行模擬計算10組數(shù)據(jù),然后計算其均值,確定正常數(shù)據(jù)與異常數(shù)據(jù)的臨界值為0.581。模擬計算結(jié)果如圖3所示。在進(jìn)行異常數(shù)據(jù)實時檢測時,計算的孤立森林值大于0.581時,則進(jìn)行異常報警提醒。

圖3 臨界值模擬計算結(jié)果
在傳統(tǒng)的油田物聯(lián)網(wǎng)系統(tǒng)應(yīng)用場景中,油井生產(chǎn)現(xiàn)場的各類傳感器負(fù)責(zé)實時采集數(shù)據(jù),通過3G/4G或者光纜等有線網(wǎng)絡(luò)將數(shù)據(jù)傳輸至遠(yuǎn)端數(shù)據(jù)中心服務(wù)器,在遠(yuǎn)端數(shù)據(jù)中心服務(wù)器進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換、處理、分析和運(yùn)算,然后將處理結(jié)果及生產(chǎn)控制指令再通過網(wǎng)絡(luò)傳輸至現(xiàn)場儀表層,實現(xiàn)現(xiàn)場過程控制。這種傳統(tǒng)的物聯(lián)網(wǎng)架構(gòu),數(shù)據(jù)異常處理和過程控制嚴(yán)重依賴網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)中斷時,不可避免地產(chǎn)生業(yè)務(wù)中斷,給安全生產(chǎn)帶來極大的隱患。如果將云端的計算、存儲資源下沉至邊緣端,在邊緣端集成異常數(shù)據(jù)檢測處理和邏輯控制,可以提高業(yè)務(wù)連續(xù)性、實時性,降低安全風(fēng)險[21]。本文構(gòu)建的油田物聯(lián)網(wǎng)邊緣計算模式,依托邊緣端計算、存儲資源和Link Edge 邊緣計算環(huán)境以及輕量級存儲環(huán)境SQLite,構(gòu)建近端邊緣層與云端計算層協(xié)同處理的新模式。在近端邊緣層對儀表感知層的數(shù)據(jù)進(jìn)行預(yù)處理、異常檢測和數(shù)據(jù)修正,同時完成現(xiàn)場的過程控制和故障診斷,同時將數(shù)據(jù)、異常檢測結(jié)果和過程控制邏輯上傳至云端,在云端進(jìn)行深層次的計算,云端展示給用戶使用和判斷,這樣就實現(xiàn)了一個立體的分層式數(shù)據(jù)協(xié)同處理過程[22-23]。
在如圖4的實際邏輯場景中,油井加熱爐對開采的原油進(jìn)行加熱后經(jīng)過輸油管線運(yùn)輸,為了防止非金屬輸油管線因原油加熱溫度過高,導(dǎo)致使用壽命降低,或者物理損傷后造成原油泄漏,進(jìn)而導(dǎo)致環(huán)境污染現(xiàn)象發(fā)生,需要實時監(jiān)測和控制加熱后的出口溫度,設(shè)定控制邏輯如下:當(dāng)火焰探測器監(jiān)測無火焰時,同時關(guān)閉調(diào)節(jié)閥1和調(diào)節(jié)閥2;當(dāng)出口溫度大于65 ℃時,減少供氣,打開調(diào)節(jié)閥2,關(guān)閉調(diào)節(jié)閥1,當(dāng)溫度小于45 ℃時,增加供氣,打開調(diào)節(jié)閥1,關(guān)閉調(diào)節(jié)閥2。

圖4 加熱爐邏輯控制場景
本文在Link Edge 中通過函數(shù)計算功能實現(xiàn)現(xiàn)場邏輯控制,函數(shù)計算是一種運(yùn)行時框架,遵循事件驅(qū)動模型??梢允褂帽镜睾瘮?shù)計算框架基于設(shè)備數(shù)據(jù)、事件的業(yè)務(wù)邏輯開發(fā)實現(xiàn)控制,在本地數(shù)據(jù)存儲的基礎(chǔ)上,進(jìn)行數(shù)據(jù)過濾、計算,然后根據(jù)函數(shù)計算實現(xiàn)控制,同時利用邊緣端的消息路由功能,控制本地數(shù)據(jù)在邊緣計算節(jié)點中的流轉(zhuǎn),如將設(shè)備數(shù)據(jù)流轉(zhuǎn)至函數(shù)計算、流數(shù)據(jù)分析,進(jìn)行數(shù)據(jù)清洗、加工、聚合之后再流入至企業(yè)云端服務(wù)器,大大減少數(shù)據(jù)傳輸成本,實現(xiàn)數(shù)據(jù)安全可控。邊緣計算節(jié)點在斷網(wǎng)或者網(wǎng)絡(luò)條件較弱的時候,將數(shù)據(jù)保存在本地存儲區(qū),不但可以提供數(shù)據(jù)恢復(fù)能力,由于計算和存儲資源下沉在本地,還能夠?qū)崿F(xiàn)本地控制的業(yè)務(wù)連續(xù)性。邊緣計算節(jié)點通過函數(shù)計算實現(xiàn)邏輯控制功能的結(jié)構(gòu)如圖5所示。
為了評估在邊緣側(cè)進(jìn)行異常數(shù)據(jù)處理和函數(shù)計算邏輯控制的精度和運(yùn)行效率,分別從異常數(shù)據(jù)檢測處理計算時間和算法精度兩方面進(jìn)行評估。
在邊緣端使用的邊緣網(wǎng)關(guān)硬件配置和云端數(shù)據(jù)中心服務(wù)器硬件配置如表3所示。

表3 邊緣端和云端異常檢測設(shè)備配置對比

圖5 邊緣計算節(jié)點函數(shù)計算
在邊緣端和云端分別運(yùn)行異常數(shù)據(jù)檢測程序,運(yùn)行10次,得到平均運(yùn)行消耗的時間如表4所示。從邊緣端運(yùn)行時間可以看出,在邊緣端進(jìn)行單個數(shù)據(jù)異常檢測的平均時間僅為1.05 s,處理的時效性滿足生產(chǎn)應(yīng)用需要。同時結(jié)合云數(shù)據(jù)過濾功能,可以僅將異常數(shù)據(jù)和報警規(guī)則上傳至云端,降低網(wǎng)絡(luò)傳輸成本。

表4 邊緣端和云端異常檢測運(yùn)行時間對比
基于函數(shù)計算的邏輯控制功能的時間響應(yīng)也在秒級,由此可知,基于邊緣計算設(shè)備實現(xiàn)云端的計算功能,可以滿足生產(chǎn)實際需要。
由于物聯(lián)網(wǎng)監(jiān)測的正常數(shù)據(jù)的變化范圍較小,而且數(shù)值固定在某一個區(qū)間,因此在進(jìn)行算法精度評估中,按照實際監(jiān)測數(shù)據(jù)個數(shù)的兩倍生成一個序列進(jìn)行精度監(jiān)測,實際監(jiān)測數(shù)據(jù)值為0.82至1.10之間,共18個不同的數(shù)據(jù)。在精度分析中根據(jù)實際數(shù)據(jù)最大值和最小值以及數(shù)據(jù)個數(shù),計算數(shù)據(jù)變化間隔,然后按照間隔數(shù)據(jù)生成一個從0.692至1.237的區(qū)間,使用混淆矩陣進(jìn)行精度評價。
混淆矩陣中的真陽性(True Positive,TP)是正常數(shù)據(jù)被異常檢測程序正確識別為正常數(shù)據(jù)的數(shù)量;偽陽性(False Positive,F(xiàn)N)是實際為異常數(shù)據(jù)被異常檢測為正常數(shù)據(jù)的數(shù)量;真陰性(True Negative,TN)是實際為異常數(shù)據(jù)被識別為異常數(shù)據(jù)的數(shù)量;偽陰性(False Negative,F(xiàn)N)是實際為異常數(shù)據(jù)被識別成正常數(shù)據(jù)的數(shù)量。真陽性和真陰性是正確的識別,一個好的檢測算法應(yīng)該有較大的真陽性和真陰性值,較小的偽陽性和偽陰性值。
在精度評價中,使用36 個數(shù)據(jù)值的序列,運(yùn)行10次,求得平均值,進(jìn)行混淆矩陣計算,計算結(jié)果如表5所示。

表5 精度評價混淆矩陣
精確度(Accuracy)或者稱為總成功率是度量檢測算法能夠正確地對數(shù)據(jù)進(jìn)行正常檢測的比例,被定義為TP和TN的總和除以數(shù)據(jù)總數(shù),如式(4)所示:

真陽性率(True Positive Rate,TPR)是被檢測程序正確識別為正常數(shù)據(jù)的比例;偽陽性率(False Positive Rate,F(xiàn)PR)是異常數(shù)據(jù)被檢測為正常數(shù)據(jù)的比例,F(xiàn)PR也稱為錯誤率;偽陰性率(False Negative Rate,F(xiàn)NR)是正常數(shù)據(jù)被標(biāo)記為異常數(shù)據(jù)的比例,F(xiàn)NR 也稱為誤報率。參數(shù)計算如式(5)所示:

由式(4)、(5)計算得到檢測算法的精確度為94.44%,真陽性率為88.89%,偽陽性率即漏報率為0,偽陰性率即誤報率為11.11%,從實際應(yīng)用安全要求本質(zhì)來看,誤報率可以接受,而漏報不能被接受。
針對油田物聯(lián)網(wǎng)邊緣計算問題,提出了邊緣計算整體的架構(gòu),實現(xiàn)了行業(yè)數(shù)據(jù)接入驅(qū)動和云端設(shè)備監(jiān)控與管理功能,并基于邊緣端的設(shè)備實現(xiàn)基于監(jiān)測數(shù)據(jù)的最值之間的隨機(jī)數(shù)生成孤立森林進(jìn)行異常數(shù)據(jù)檢測和異常報警,同時使用邊緣計算的函數(shù)計算功能實現(xiàn)設(shè)備間的邏輯控制,最終實現(xiàn)基于邊緣設(shè)備進(jìn)行數(shù)據(jù)就地監(jiān)測和就近控制,避免了網(wǎng)絡(luò)時延和中斷帶來的影響。通過從異常檢測計算時間對比和檢測精度分析對比來看,孤立森林算法可以很好地應(yīng)用于物聯(lián)網(wǎng)邊緣計算場景中。但是在異常數(shù)據(jù)檢測中誤報率較高,仍然需要進(jìn)一步改進(jìn)和提高。