趙春雪?阿迪力江·尼扎米丁?宋鳳勇?周繼偉



摘要:隨著物聯(lián)網(wǎng)的建設(shè),自動(dòng)化數(shù)據(jù)采集程度越來(lái)越高,充分利用自動(dòng)采集數(shù)據(jù),有效挖掘數(shù)據(jù)價(jià)值,是智能油田建設(shè)的一項(xiàng)重要內(nèi)容。大數(shù)據(jù)流式計(jì)算主要用于對(duì)動(dòng)態(tài)產(chǎn)生的數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算并及時(shí)反饋結(jié)果。在數(shù)據(jù)的有效時(shí)間內(nèi)獲取其價(jià)值,是大數(shù)據(jù)流式計(jì)算的首要設(shè)計(jì)目標(biāo)。結(jié)合大數(shù)據(jù)流式計(jì)算,充分利用數(shù)據(jù)時(shí)效性,在業(yè)務(wù)分析基礎(chǔ)上建立預(yù)警模型,實(shí)現(xiàn)了稠油注蒸汽鍋爐運(yùn)行的趨勢(shì)預(yù)警。
關(guān)鍵詞:流式計(jì)算;鍋爐運(yùn)行;趨勢(shì)預(yù)警
一、前言
隨著物聯(lián)網(wǎng)建設(shè),風(fēng)城油田已實(shí)現(xiàn)油田生產(chǎn)全流程關(guān)鍵節(jié)點(diǎn)集中監(jiān)控、實(shí)時(shí)報(bào)警。圍繞數(shù)據(jù)分析和深化應(yīng)用的需求,以挖掘?qū)崟r(shí)數(shù)據(jù)價(jià)值、實(shí)現(xiàn)智能報(bào)警分析為目標(biāo),風(fēng)城油田建設(shè)了稠油生產(chǎn)趨勢(shì)預(yù)警分析平臺(tái),開發(fā)了參數(shù)關(guān)聯(lián)分析、工藝診斷建模、趨勢(shì)預(yù)警等功能,為稠油生產(chǎn)異常趨勢(shì)預(yù)警提供軟件手段[1-2]。
稠油熱采工藝要求穩(wěn)定提供高品質(zhì)的蒸汽,注汽鍋爐是產(chǎn)生所需蒸汽的關(guān)鍵設(shè)備。鍋爐長(zhǎng)期處于高溫高壓下工作,安全問(wèn)題是生產(chǎn)過(guò)程中的首要問(wèn)題。為保障鍋爐安全平穩(wěn)運(yùn)行,必須對(duì)鍋爐運(yùn)行過(guò)程進(jìn)行有效監(jiān)測(cè),并進(jìn)行安全預(yù)警分析。目前在運(yùn)行的稠油生產(chǎn)遠(yuǎn)程監(jiān)控系統(tǒng),已實(shí)現(xiàn)實(shí)時(shí)參數(shù)監(jiān)測(cè)和基礎(chǔ)的閾值報(bào)警,可以發(fā)現(xiàn)鍋爐運(yùn)行的部分故障,但對(duì)鍋爐全面生產(chǎn)預(yù)警和工況分析還不夠[3]。
本文在常規(guī)閾值報(bào)警基礎(chǔ)上,應(yīng)用趨勢(shì)預(yù)警分析平臺(tái),進(jìn)行趨勢(shì)預(yù)警和多參數(shù)模型分析,可以有效輔助技術(shù)人員開展工況分析,及時(shí)發(fā)現(xiàn)風(fēng)險(xiǎn)隱患,使報(bào)警模式由事后報(bào)警改為事前預(yù)警,減少生產(chǎn)異常的發(fā)生[4-5]。
二、流式計(jì)算簡(jiǎn)介
目前常用的大數(shù)據(jù)計(jì)算模式包括批計(jì)算和流式計(jì)算。批計(jì)算,是統(tǒng)一收集數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)庫(kù)中,然后對(duì)數(shù)據(jù)進(jìn)行批量處理的數(shù)據(jù)計(jì)算方式。流式計(jì)算,顧名思義,就是對(duì)數(shù)據(jù)流進(jìn)行處理,是實(shí)時(shí)計(jì)算。數(shù)據(jù)流是指在時(shí)間分布和數(shù)量上無(wú)限的一系列動(dòng)態(tài)數(shù)據(jù)集合體,數(shù)據(jù)的價(jià)值隨著時(shí)間的流逝而降低,因此必須實(shí)時(shí)計(jì)算給出秒級(jí)響應(yīng)。
流式計(jì)算能做到數(shù)據(jù)隨到隨處理,有效降低了處理延時(shí),比較適用于時(shí)效性要求高、持續(xù)性計(jì)算分析的應(yīng)用場(chǎng)景,如用于對(duì)動(dòng)態(tài)產(chǎn)生的數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算并及時(shí)反饋結(jié)果的報(bào)警場(chǎng)景。流式計(jì)算能夠很好地對(duì)大規(guī)模流動(dòng)數(shù)據(jù)在不斷變化的運(yùn)動(dòng)過(guò)程中進(jìn)行實(shí)時(shí)分析,捕捉到可能有用的信息,并把結(jié)果發(fā)送到下一計(jì)算節(jié)點(diǎn)。在該過(guò)程中可重點(diǎn)完善的內(nèi)容包括提升單個(gè)流的可復(fù)用性、提高流的并行計(jì)算能力及數(shù)量。
三、趨勢(shì)預(yù)警分析平臺(tái)
(一)基礎(chǔ)平臺(tái)
本平臺(tái)采用分布式流計(jì)算機(jī)制,直接對(duì)接天行實(shí)時(shí)數(shù)據(jù)庫(kù)獲取實(shí)時(shí)數(shù)據(jù),對(duì)連續(xù)采集的生產(chǎn)數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算分析,實(shí)時(shí)分析數(shù)據(jù)量可達(dá)百萬(wàn)級(jí),確保數(shù)據(jù)分析延遲低、計(jì)算速度快、可靠性高。在實(shí)際應(yīng)用過(guò)程中,結(jié)合業(yè)務(wù)應(yīng)用場(chǎng)景,可為用戶提供實(shí)時(shí)數(shù)據(jù)計(jì)算與生產(chǎn)異常報(bào)警服務(wù)。平臺(tái)支持流計(jì)算與批量計(jì)算兩種處理機(jī)制,高吞吐、低延時(shí),支持多源數(shù)據(jù)對(duì)接,主要包括流計(jì)算引擎、批量計(jì)算引擎、模型配置管理、計(jì)算任務(wù)管理、報(bào)警管理、客戶端定制功能。平臺(tái)采用的低延時(shí)、流批一體引擎,能夠支撐足夠大體量的復(fù)雜計(jì)算,完全符合CEP(復(fù)雜事件處理)理念,彌補(bǔ)傳統(tǒng)生產(chǎn)監(jiān)控系統(tǒng)報(bào)警手段單一、復(fù)雜問(wèn)題無(wú)法及時(shí)發(fā)現(xiàn)的不足。
基于Flink流式計(jì)算框架研發(fā)的流計(jì)算引擎,耦合了復(fù)雜預(yù)警模型規(guī)則,可以實(shí)現(xiàn)對(duì)連續(xù)采集的生產(chǎn)數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,確保了數(shù)據(jù)分析延遲低、計(jì)算速度快、可靠性高,在更短的時(shí)間內(nèi)挖掘數(shù)據(jù)中的價(jià)值。
通過(guò)開發(fā)流式計(jì)算引擎,建立可視化模型配置管理,開發(fā)實(shí)時(shí)報(bào)警管理功能,搭建了流計(jì)算趨勢(shì)預(yù)警平臺(tái)。
(二)可視化配置
1.診斷模型可視化
在模型運(yùn)行調(diào)試階段常見(jiàn)的一個(gè)問(wèn)題是模型的修改及更新非常耗時(shí)且更新周期較長(zhǎng),從而導(dǎo)致模型改進(jìn)完善工作效率低下,無(wú)法通過(guò)快速迭代方式建立行之有效的診斷模型,系統(tǒng)運(yùn)行效果大打折扣。根據(jù)實(shí)際生產(chǎn)需求,開發(fā)常用模型算法的可視化定制功能。
在實(shí)際分析時(shí),首先,基于業(yè)務(wù)分析總結(jié)診斷模型涉及哪些計(jì)算方法;其次,對(duì)計(jì)算方法進(jìn)行拆分,提取共性內(nèi)容,建立具有通用性的系統(tǒng)模型,比如上升趨勢(shì)、下降趨勢(shì)、多參數(shù)對(duì)比等;最后,基于系統(tǒng)模型,以界面交互方式構(gòu)建適用于不同生產(chǎn)工藝環(huán)節(jié)的專屬業(yè)務(wù)模型,建立診斷模型庫(kù)。
2.診斷任務(wù)可視化
基于構(gòu)建的業(yè)務(wù)模型,按照實(shí)際生產(chǎn)監(jiān)控管理需要,配置每個(gè)監(jiān)測(cè)對(duì)象的診斷任務(wù),支持診斷任務(wù)的數(shù)據(jù)源接入、診斷模型接入,靈活設(shè)置是否預(yù)警生效、是否預(yù)警自動(dòng)推送、報(bào)警級(jí)別、預(yù)警處置建議。
(三)應(yīng)用流程
基于平臺(tái),配置預(yù)警模型,進(jìn)行報(bào)警的應(yīng)用流程如下:
1.定義模型基本屬性
基礎(chǔ)屬性包括:模型名稱、報(bào)警計(jì)算點(diǎn)數(shù)、消警計(jì)算點(diǎn)數(shù)、輸入流個(gè)數(shù)、模型類型(模型分類管理的結(jié)構(gòu)樹)、模型子類型、模型嚴(yán)重等級(jí)、模型內(nèi)容描述、輸入流名稱定義、觸發(fā)流規(guī)則設(shè)置等信息。
2.設(shè)置報(bào)警規(guī)則
系統(tǒng)引入了表達(dá)式來(lái)定義模型規(guī)則,提供了點(diǎn)表達(dá)式、列表達(dá)式、自定義表達(dá)式三種報(bào)警規(guī)則的單獨(dú)或組合設(shè)置,其中點(diǎn)表達(dá)式、列表達(dá)式均內(nèi)置了一系列常規(guī)運(yùn)算函數(shù),可滿足大部分計(jì)算規(guī)則的配置。除基礎(chǔ)的四則運(yùn)算、最大/最小值、平均值外,還支持遞增、遞減、是否恒值等特殊函數(shù)。用戶還以通過(guò)Grovy自定義腳本實(shí)現(xiàn)。通過(guò)模型定義,不僅可以實(shí)現(xiàn)單參數(shù)趨勢(shì)報(bào)警,也可以實(shí)現(xiàn)多參數(shù)綜合報(bào)警。
系統(tǒng)還支持定義多個(gè)報(bào)警模型,模型之間是“或”的關(guān)系,即滿足其中一個(gè)模型規(guī)則時(shí),都會(huì)報(bào)警。
(1)設(shè)置消警規(guī)則
如果未定義消警模型,則在報(bào)警情況下,下一次計(jì)算結(jié)果不滿足報(bào)警條件時(shí),則自動(dòng)消警;如果定義了消警模型,則在報(bào)警情況下,以消警模型規(guī)則判斷消警時(shí)機(jī)。
(2)模型生成及部署
上述內(nèi)容設(shè)置完成后,點(diǎn)擊“提交”即可完成新模型的定制,生成的新模型可通過(guò)“部署”“停止”等操作實(shí)現(xiàn)在服務(wù)端的應(yīng)用。系統(tǒng)采用了熱部署機(jī)制,模型修改后,直接部署,無(wú)需重啟服務(wù),由支持技術(shù)人員自行調(diào)試模型。
在模型配置過(guò)程中,系統(tǒng)考慮了完善的容錯(cuò)處理機(jī)制:當(dāng)服務(wù)端模型運(yùn)行狀態(tài)設(shè)置無(wú)效時(shí),可通過(guò)重置操作將狀態(tài)初始化;在模型規(guī)則設(shè)置時(shí),系統(tǒng)提供了運(yùn)算規(guī)則合法性檢查機(jī)制。
(3)模型測(cè)試
為方便用戶對(duì)創(chuàng)建的模型進(jìn)行測(cè)試,驗(yàn)證模型設(shè)置結(jié)果是否符合預(yù)期,系統(tǒng)提供了模型調(diào)試的功能。在生成測(cè)試數(shù)據(jù)時(shí),支持按多種方式模擬數(shù)據(jù),包括等步長(zhǎng)數(shù)據(jù)自動(dòng)生成、指定數(shù)據(jù)范圍內(nèi)隨機(jī)生成或人為設(shè)定數(shù)據(jù),以驗(yàn)證不同場(chǎng)景模型正確性。
(四)數(shù)據(jù)處理
在流式計(jì)算應(yīng)用過(guò)程中,需要考慮以下情況的數(shù)據(jù)處理:
1.數(shù)據(jù)對(duì)齊
在多參數(shù)預(yù)警時(shí),來(lái)自不同傳感器的數(shù)據(jù)會(huì)存在采集周期和采集時(shí)間不一致的情況,需要考慮如何根據(jù)某一時(shí)間點(diǎn)將各個(gè)數(shù)據(jù)對(duì)齊。平臺(tái)提供了設(shè)置觸發(fā)流、參數(shù)分組等功能,避免數(shù)據(jù)錯(cuò)位和無(wú)效計(jì)算。
2.數(shù)據(jù)預(yù)計(jì)算
在有些報(bào)警模型中,需要用到非直接采集的數(shù)據(jù),如通過(guò)多個(gè)采集參數(shù)計(jì)算得到的新參數(shù)值作為規(guī)則輸入值;在有些預(yù)警模型中,還存在復(fù)雜的前置條件,需要根據(jù)判斷結(jié)果,建立預(yù)警規(guī)則。針對(duì)這些場(chǎng)景,平臺(tái)提供了自定義流功能,支持將計(jì)算或判斷值作為虛擬數(shù)據(jù)流作為預(yù)警模型的輸入。
3.異常數(shù)據(jù)過(guò)濾
一方面,系統(tǒng)在實(shí)時(shí)數(shù)據(jù)計(jì)算過(guò)程中,針對(duì)空數(shù)據(jù)、無(wú)效數(shù)據(jù),自動(dòng)進(jìn)行過(guò)濾處理,避免了造成運(yùn)算錯(cuò)誤;另一方面,系統(tǒng)提供了多個(gè)數(shù)據(jù)過(guò)濾相關(guān)函數(shù),可以設(shè)定數(shù)據(jù)范圍。
四、稠油注汽鍋爐預(yù)警模型
稠油熱采鍋爐是在開采高密度、高粘度的稠油過(guò)程中,為油井注入蒸汽的專用鍋爐,又稱為注汽鍋爐或濕蒸汽發(fā)生器。鍋爐的主體結(jié)構(gòu)主要由輻射段、過(guò)渡段、對(duì)流段以及給水換熱器等部分組成。鍋爐運(yùn)行過(guò)程復(fù)雜,根據(jù)鍋爐構(gòu)造組成以及生產(chǎn)過(guò)程監(jiān)測(cè)的要求,現(xiàn)場(chǎng)監(jiān)測(cè)的鍋爐特性參數(shù)眾多,以過(guò)熱鍋爐為例,目前采集到的參數(shù)有80余項(xiàng),包括鍋爐在各個(gè)運(yùn)行區(qū)段的溫度、壓力、濕度、流量等參數(shù)。
在趨勢(shì)預(yù)警分析平臺(tái)中,創(chuàng)建、部署鍋爐預(yù)警模型,可以及時(shí)發(fā)現(xiàn)鍋爐異常[6]。通過(guò)分析和驗(yàn)證的模型見(jiàn)表1。
五、模型應(yīng)用
以鍋爐壓降上升分析為例。
根據(jù)一段時(shí)間內(nèi)鍋爐壓降(包括對(duì)流段、過(guò)熱段、輻射段)的變化幅度,確定是否存在鍋爐爐管結(jié)垢等問(wèn)題。通過(guò)判斷診斷,將鍋爐壓降異常變化情況提供給技術(shù)員,幫助技術(shù)人員結(jié)合其他數(shù)據(jù)和經(jīng)驗(yàn)進(jìn)行深入診斷和決策。
診斷規(guī)則:
鍋爐平穩(wěn)運(yùn)行時(shí),連續(xù)30min,壓降上升0.3MPa。
診斷流程:
1.累積連續(xù)2小時(shí)火焰信號(hào)數(shù)據(jù)(默認(rèn)數(shù)據(jù)采集頻率為1個(gè)/分鐘)。
2.判斷火焰信號(hào)情況:若火焰信號(hào)一直為0,則不進(jìn)行壓降變化趨勢(shì)判斷;若火焰信號(hào)由0變?yōu)?,則將0變?yōu)?作為起始點(diǎn),2小時(shí)后開始累積壓降數(shù)據(jù),壓降數(shù)據(jù)累積連續(xù)30min后,進(jìn)行步驟3;若火焰信號(hào)一直為1,則直接開始累積連續(xù)30min壓降數(shù)據(jù),進(jìn)行步驟3計(jì)算。
3.將30min壓力數(shù)據(jù)分為兩部分:第一部分為前15分鐘數(shù)據(jù)(即前15個(gè)數(shù)據(jù)),求取第一部分?jǐn)?shù)據(jù)平均值P1;第二部分為后15分鐘數(shù)據(jù)(即后15個(gè)數(shù)據(jù)),求取第二部分?jǐn)?shù)據(jù)平均值P2。
4.判斷壓力變化趨勢(shì):若△P=P1-P2≥0.3MPa,則輸出一條記錄,水處理管匯壓力下降過(guò)快;若△P=P1-P2<0.3MPa,則判斷為正常。
5.持續(xù)累積連續(xù)30min(2min-31min,3min-32min,4min-33min,……)壓力數(shù)據(jù),重復(fù)第2、第3步驟,計(jì)算△P。
6.若△P連續(xù)5次大于0.3MPa,則達(dá)到報(bào)警觸發(fā)條件,程序向客戶端推送“#鍋爐壓降上升”報(bào)警信息,當(dāng)△P不滿足連續(xù)5次大于0.3MPa時(shí),停止報(bào)警。
輸入數(shù)據(jù)(來(lái)源):
火焰信號(hào)、壓降,來(lái)源實(shí)時(shí)數(shù)據(jù)平臺(tái)
輸出結(jié)果
結(jié)果:是否上升。
生產(chǎn)數(shù)據(jù)變化情況曲線圖。
詳細(xì)診斷依據(jù)。
算法應(yīng)用情況如表2所示。
該算法前期為單參數(shù)趨勢(shì)算法,受鍋爐點(diǎn)停爐影響,報(bào)警準(zhǔn)確率僅為50%左右。現(xiàn)加入火焰信號(hào)輔助判斷,并排除點(diǎn)爐2小時(shí)內(nèi)數(shù)據(jù),有效提高了算法準(zhǔn)確性。該算法采用平均值計(jì)算,可以在一定程度上減少數(shù)據(jù)跳變的影響,但是具有一定的延遲率,延遲時(shí)間約5—15分鐘。經(jīng)過(guò)測(cè)試,數(shù)據(jù)上升越快,延遲時(shí)間越短。此外,該算法還受到數(shù)據(jù)信號(hào)中斷影響,會(huì)產(chǎn)生誤報(bào)警,需要進(jìn)一步優(yōu)化。
通過(guò)對(duì)比連續(xù)120min的模型,發(fā)現(xiàn)30min模型報(bào)警及時(shí)性更好。
六、結(jié)語(yǔ)
應(yīng)用流式計(jì)算方法,基于汽水分離器液位、火量、水量、天然氣流量、蒸汽溫度、蒸汽壓力等關(guān)鍵參數(shù),建立鍋爐運(yùn)行工況模型,實(shí)時(shí)判斷鍋爐運(yùn)行狀態(tài),提示管理人員及時(shí)調(diào)整鍋爐運(yùn)行,降低鍋爐故障運(yùn)行時(shí)率,提高蒸汽出口質(zhì)量。在此基礎(chǔ)上,后續(xù)還可以結(jié)合批計(jì)算方法,基于監(jiān)測(cè)參數(shù),建立儀器儀表故障診斷模型,提早查找風(fēng)險(xiǎn)點(diǎn)和隱患點(diǎn),以采取整改措施及時(shí)排除。
參考文獻(xiàn)
[1]孫大為,張廣艷,鄭維民.大數(shù)據(jù)流式計(jì)算:關(guān)鍵技術(shù)及系統(tǒng)實(shí)例[J].軟件學(xué)報(bào).2014,25(4):839-863.
[2]孫大為.大數(shù)據(jù)流式計(jì)算:應(yīng)用特征和技術(shù)挑戰(zhàn)[J].大數(shù)據(jù).2015,1(3):99-105.
[3]余衛(wèi)軍,樊新平,繆永強(qiáng).淺析稠油熱采注汽鍋爐的維護(hù)與保養(yǎng)[J].中國(guó)石油和化工標(biāo)準(zhǔn)與質(zhì)量,2012,33(16):265.
[4]劉敬東,孫彥輝,高國(guó)忠.基于數(shù)據(jù)的油田生產(chǎn)過(guò)程中的多故障診斷方法的研究[J].硅谷,2014,7(14):94-95.
[5]樊虹.工業(yè)過(guò)程報(bào)警的關(guān)聯(lián)規(guī)則挖掘方法及應(yīng)用[D].北京:北京化工大學(xué),2016.
[6]楊越.基于物聯(lián)網(wǎng)大數(shù)據(jù)的油田注汽鍋爐停爐原因分析研究[J].信息系統(tǒng)工程,2020,321(9):123-124.