国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Flink 復(fù)雜事件處理的空間站實(shí)驗(yàn)柜排廢氣安全監(jiān)測(cè)

2023-03-13 09:41:52施建明
載人航天 2023年1期
關(guān)鍵詞:氣閥數(shù)據(jù)流壓差

施建明 王 偉 王 功

(中國(guó)科學(xué)院空間應(yīng)用工程與技術(shù)中心, 北京 100094)

1 引言

空間站實(shí)驗(yàn)柜的操作箱是航天員開展各種科學(xué)實(shí)驗(yàn)、維護(hù)維修任務(wù)的場(chǎng)所,在每次任務(wù)完成后,往往會(huì)產(chǎn)生一定的廢氣,需要通過抽真空、充氮?dú)鈱?duì)箱體進(jìn)行反復(fù)排空與沖洗。 操作箱采用密封設(shè)計(jì),耐壓能力有限,與空間站艙內(nèi)壓力形成一定的壓差,壓差在任何條件下必須保持在安全范圍內(nèi)。 在抽真空、充氮?dú)夤r下,操作箱體與艙內(nèi)之間的壓差可能會(huì)超出箱體的標(biāo)稱耐壓值甚至是耐壓極限,導(dǎo)致密封失效乃至箱體結(jié)構(gòu)破壞,因此需要對(duì)排廢氣過程進(jìn)行安全監(jiān)測(cè)。

在排廢氣過程中,實(shí)時(shí)采集多種數(shù)據(jù),包括箱體內(nèi)外壓差、電磁閥開關(guān)狀態(tài)等,這些數(shù)據(jù)存在復(fù)雜的邏輯關(guān)系和時(shí)序關(guān)系,異常情景往往與復(fù)雜事件序列對(duì)應(yīng)。 針對(duì)排廢氣過程較為復(fù)雜的安全監(jiān)測(cè)問題,需要綜合考慮多個(gè)數(shù)據(jù)維度之間的耦合關(guān)系、數(shù)據(jù)流上下文信息以及時(shí)間信息等,簡(jiǎn)單、靜態(tài)的分析方法難以應(yīng)對(duì)此類問題。

復(fù)雜事件處理(Complex Event Processing,CEP)是一種針對(duì)實(shí)時(shí)數(shù)據(jù)流進(jìn)行檢測(cè)、處理、分析和挖掘的技術(shù)方法。 何恒靖等[1]梳理了CEP技術(shù)在物聯(lián)網(wǎng)、分布式系統(tǒng)監(jiān)控等領(lǐng)域的應(yīng)用。Feng[2]介紹了集成了CEP 的大數(shù)據(jù)技術(shù),提出將Spark Streaming 作為實(shí)現(xiàn)CEP 平臺(tái)的構(gòu)想,并指出CEP 技術(shù)對(duì)于解決復(fù)雜物聯(lián)網(wǎng)系統(tǒng)狀態(tài)感知與實(shí)時(shí)決策問題的天然契合性。 Badr-Eddine等[3]提出了一種將CEP 和多種衛(wèi)星遙感數(shù)據(jù)有效結(jié)合的衛(wèi)星遙感數(shù)據(jù)處理和大氣污染預(yù)警的軟件架構(gòu),實(shí)現(xiàn)近于實(shí)時(shí)的大氣質(zhì)量監(jiān)測(cè)和預(yù)報(bào)。隨著大數(shù)據(jù)技術(shù)的發(fā)展,近年來作為第三代流式計(jì)算框架的Flink 越來越受到關(guān)注,已經(jīng)成為大數(shù)據(jù)流式計(jì)算的事實(shí)標(biāo)準(zhǔn)。 Flink CEP 是在Flink上實(shí)現(xiàn)的復(fù)雜事件處理API 庫(kù),常見的應(yīng)用場(chǎng)景包括金融應(yīng)用、欺詐檢測(cè)、復(fù)雜系統(tǒng)監(jiān)控和報(bào)警[4]。 姬鴻飛[5]采用Flink CEP 技術(shù),對(duì)可穿戴設(shè)備采集的多種心臟健康監(jiān)測(cè)數(shù)據(jù)和運(yùn)動(dòng)加速度數(shù)據(jù)進(jìn)行融合處理,實(shí)現(xiàn)預(yù)設(shè)規(guī)則的復(fù)雜事件匹配與檢測(cè)。

Flink 在多源傳感數(shù)據(jù)流并行處理、時(shí)間窗口智能推理計(jì)算等方面具有很高的性能,并能有效應(yīng)對(duì)超時(shí)數(shù)據(jù)處理、故障容錯(cuò)與恢復(fù)等問題,其在狀態(tài)監(jiān)測(cè)和故障預(yù)警中的應(yīng)用價(jià)值很高。 考慮到空間站實(shí)驗(yàn)柜排廢氣安全監(jiān)測(cè)的復(fù)雜性,本文提出將Flink CEP 應(yīng)用到排廢氣過程監(jiān)測(cè)中,并對(duì)該項(xiàng)技術(shù)在安全關(guān)鍵任務(wù)監(jiān)測(cè)上的應(yīng)用進(jìn)行探索。

2 CEP 和Flink CEP

2.1 CEP 簡(jiǎn)介

CEP 的概念是由Stanford 的Luckham 教授在20 世紀(jì)90 年代提出[6],是一種事件驅(qū)動(dòng)的方法。CEP 是一種基于動(dòng)態(tài)環(huán)境中事件流的分析技術(shù),事件是指有意義的變量狀態(tài)變化。 通過分析事件間的關(guān)系,利用過濾、關(guān)聯(lián)、聚合等技術(shù),根據(jù)事件間的時(shí)序關(guān)系和聚合關(guān)系制定檢測(cè)規(guī)則,持續(xù)地從數(shù)據(jù)流中查詢出符合要求的事件,最終分析得到更復(fù)雜的復(fù)合事件。 例如,發(fā)現(xiàn)溫度連續(xù)10 s上升后檢測(cè)到壓力超過10 MPa,輸出報(bào)警信號(hào)。

2.2 Flink CEP 庫(kù)與API

Flink CEP 是在Flink 之上實(shí)現(xiàn)的CEP 庫(kù),使用它從無界數(shù)據(jù)流中檢測(cè)出復(fù)雜事件模式,以便掌握數(shù)據(jù)中的重要關(guān)鍵信息[7]。 在流處理程序開發(fā)環(huán)境中引入Flink CEP 依賴后,就可以使用該庫(kù)提供的Pattern API 編寫CEP 應(yīng)用程序,首先要定義模式,然后是從數(shù)據(jù)流檢測(cè)出與模式匹配的事件序列。

2.2.1 定義模式

模式(Patterns)包括個(gè)體模式和模式序列。

個(gè)體模式是組成模式序列的單獨(dú)模式定義,可以是單例模式或者是循環(huán)模式。 所謂單例模式是指接受1 個(gè)事件的模式,而循環(huán)模式則接受超過1 個(gè)事件,將單例模式加上量詞即轉(zhuǎn)化成循環(huán)模式,例如“10 次溫度超過40 ℃”。

模式序列也叫組合模式,是由個(gè)體模式組合而成。 模式序列必須從1 個(gè)初始模式開始,然后就可以添加后續(xù)的模式,模式之間通過近鄰條件連接。 Flink CEP 支持3 種形式的事件近鄰形式:①嚴(yán)格近鄰;②寬松近鄰;③非確定近鄰。

在模式序列中,還可以設(shè)置時(shí)間約束,這往往是非常關(guān)鍵的,例如在初始模式匹配成功后,必須在10 s 內(nèi)出現(xiàn)下一個(gè)事件。 這里的時(shí)間約束設(shè)置可以支持處理時(shí)間和事件時(shí)間。

2.2.2 檢測(cè)模式

在完成模式序列定義后,就要從輸入數(shù)據(jù)流中檢測(cè)出潛在的匹配。 給定輸入流input 和模式pattern,通過調(diào)用CEP.pattern(input, pattern)即可獲得1 個(gè)模式流(PatternStream)。 獲得PatternStream 之后,從中提取相應(yīng)的事件序列,可以調(diào)用select/flatSelect API 來實(shí)現(xiàn)模式流的二次處理,生成用戶想要的結(jié)果。 在調(diào)用API 時(shí)需要傳入一個(gè)自定義的select function 函數(shù)作為參數(shù),每個(gè)成功匹配的事件序列都會(huì)調(diào)用這個(gè)函數(shù)。

對(duì)于設(shè)置了時(shí)間約束的模式序列,如果初始模式匹配成功后,在檢測(cè)時(shí)間窗口內(nèi)沒有匹配上后續(xù)事件,可以通過側(cè)輸出流處理超時(shí)數(shù)據(jù)。

3 排廢氣過程及安全模式

排廢氣是空間站實(shí)驗(yàn)柜的安全關(guān)鍵任務(wù),其過程包含較為復(fù)雜的測(cè)控操作,涉及多個(gè)系統(tǒng)之間的聯(lián)動(dòng),任何環(huán)節(jié)出現(xiàn)問題都會(huì)引起安全風(fēng)險(xiǎn)。

3.1 實(shí)驗(yàn)柜密封箱體排廢氣

圖1 為實(shí)驗(yàn)柜密封箱體排廢氣簡(jiǎn)圖,圖中省略了部分閥門、管路細(xì)節(jié),只保留了充排氣關(guān)鍵組件。 密封箱體經(jīng)過幾輪的排廢氣、充氮?dú)庋h(huán),將箱體內(nèi)的廢氣排凈。 排廢氣的流程如下:

圖1 密封箱體排廢氣簡(jiǎn)化圖Fig.1 Simplified graph of EGD of sealed container

1) 打開排廢氣電磁閥,連通艙外真空環(huán)境,排廢氣持續(xù)一段時(shí)間,監(jiān)測(cè)密封箱體與艙內(nèi)的壓差dP,當(dāng)dP超過-20 kPa 時(shí),自動(dòng)關(guān)閉排氣閥;

2)打開充氣閥,連通氮?dú)夤?yīng)管路,向箱體充入氮?dú)獠⒈O(jiān)測(cè)壓差,當(dāng)壓差達(dá)到0 kPa 時(shí),關(guān)閉充氣閥;

3)重復(fù)1)和2)若干輪,完成廢氣清洗任務(wù)。

密封箱體上安裝有壓差傳感器,用來測(cè)量密封箱體與艙內(nèi)的壓差,為確??煽?采用2 個(gè)相同的傳感器同時(shí)測(cè)量。 控制器根據(jù)壓差值,來控制排氣閥和充氣閥的開關(guān)。 采用兩級(jí)控制策略來控制閥門,其中排氣閥關(guān)閉的兩級(jí)壓差閾值分別為-20 kPa、-45 kPa,充氣閥關(guān)閉的兩級(jí)壓差閾值分別為0 kPa、45 kPa。 表1 為排廢氣過程安全監(jiān)測(cè)變量列表。

表1 排廢氣安全監(jiān)測(cè)相關(guān)變量Table 1 Variables monitored during EGD

3.2 排廢氣安全模式分析

按照第3.1 節(jié)的流程,參與排廢氣的全部設(shè)備均為正常狀態(tài)時(shí),排廢氣過程能平穩(wěn)安全地進(jìn)行。 在發(fā)生可能導(dǎo)致密封箱體失壓或過壓的危險(xiǎn)情況時(shí),應(yīng)能立即檢測(cè)到并進(jìn)入安全模式,因此排廢氣過程需要嚴(yán)密監(jiān)測(cè)以下幾種異常情景:

1)兩個(gè)壓差傳感器讀數(shù)不一致(相差超過0.2 kPa),關(guān)閉充氣閥和排氣閥,傳感器校準(zhǔn)后再執(zhí)行排廢氣任務(wù)。 由于采用壓差傳感器作為兩個(gè)電磁閥門閉環(huán)控制的輸入,因此為確保安全,傳感器一旦異常即進(jìn)入安全模式。

2)排廢氣閥門打開,充氮?dú)忾y門關(guān)閉,箱體壓差連續(xù)上升至-20 kPa,如果此時(shí)排氣閥未關(guān)閉,那么箱體壓差繼續(xù)上升至-45 kPa,此時(shí)如果二級(jí)控制仍未將排氣閥關(guān)閉,立即開啟充氣閥,箱體壓差開始逐步減小,并同時(shí)緊急關(guān)閉實(shí)驗(yàn)柜外部的排廢氣管路上的閥門。

3)排廢氣閥門關(guān)閉,充氮?dú)忾y門開啟,箱體壓力連續(xù)上升,直至壓差達(dá)到0 kPa,如果此時(shí)充氣閥未關(guān)閉,那么箱體壓力繼續(xù)上升至壓差值達(dá)到45 kPa,如果此時(shí)充氣閥仍未關(guān)閉,立即關(guān)閉氮?dú)夤?yīng)源。

4 Flink CEP 監(jiān)測(cè)程序

基于Flink 及其CEP 庫(kù),設(shè)計(jì)并開發(fā)監(jiān)測(cè)程序,實(shí)時(shí)監(jiān)測(cè)排廢氣過程是否進(jìn)入上文提出的3種安全模式,并輸出故障報(bào)警。

4.1 CEP 監(jiān)測(cè)程序設(shè)計(jì)

4.1.1 程序流程設(shè)計(jì)

如圖2 所示,CEP 監(jiān)測(cè)程序主要包括5 個(gè)步驟。

圖2 CEP 監(jiān)測(cè)程序流程Fig.2 Monitoring program flow by CEP

1)讀取數(shù)據(jù)流。 Flink CEP 監(jiān)測(cè)程序從外部系統(tǒng)讀取排廢氣過程產(chǎn)生的實(shí)時(shí)數(shù)據(jù),在排廢氣安全監(jiān)測(cè)場(chǎng)景下,需要至少秒級(jí)的數(shù)據(jù)采集頻次,可以通過Kafka 消息隊(duì)列來提供監(jiān)測(cè)數(shù)據(jù)流的源。 Flink 通過與Kafka 的連接器讀取數(shù)據(jù)流,兩者配合能滿足狀態(tài)監(jiān)測(cè)對(duì)精確一次一致性的要求。 從Kafka 中讀取數(shù)據(jù),將原始數(shù)據(jù)轉(zhuǎn)化為樣例類(Case Class)“EgdData”格式的輸入數(shù)據(jù)流InputStream,便于后續(xù)數(shù)據(jù)處理。

2)時(shí)間特性設(shè)置和時(shí)間戳分配。 在Flink 流處理應(yīng)用中,時(shí)間語(yǔ)義主要可以分為事件時(shí)間和處理時(shí)間。 表1 所列變量對(duì)應(yīng)數(shù)據(jù)發(fā)生的時(shí)間(即事件時(shí)間),是排廢氣過程安全監(jiān)測(cè)要考慮的重要信息,這些信息都包含在Kafka 生產(chǎn)者發(fā)布的數(shù)據(jù)源中。 首先,在環(huán)境中設(shè)置時(shí)間特性為事件時(shí)間。 然后,在完成數(shù)據(jù)流讀入操作后,調(diào)用“(assignAscendingTimestamps)”按照升序分配時(shí)間戳,這樣程序后續(xù)處理就能獲得InputStream 中所帶的時(shí)間信息。

3)CEP 匹配檢測(cè)。 將事先設(shè)計(jì)好的模式序列作用在InputStream 上,得到PatternStream。 針對(duì)3.2 節(jié)提出了排廢氣進(jìn)入安全模式的3 個(gè)情景,開展3 次CEP 匹配檢測(cè),輸出3 個(gè)不同的PatternStream。

4)匹配事件提取與報(bào)警輸出。 每個(gè)PatternStream 中都包含了與模式序列對(duì)應(yīng)的匹配事件,需要從中提取出來報(bào)警信息,包括關(guān)鍵的事件及其對(duì)應(yīng)的時(shí)間戳信息,并通過樣例類包裝成報(bào)警信息發(fā)出來。

5)超時(shí)數(shù)據(jù)處理與報(bào)警輸出。 當(dāng)數(shù)據(jù)流中有超時(shí)數(shù)據(jù),且模式序列中有時(shí)間約束條件時(shí),通過側(cè)輸出流來處理超時(shí)情況,可以從PatternStream 中提取成功匹配的個(gè)體事件信息以及超時(shí)截止的時(shí)間戳,并通過樣例類包裝成超時(shí)報(bào)警信息發(fā)出來。

4.1.2 模式序列設(shè)計(jì)

針對(duì)第3.2 節(jié)的安全模式情景,設(shè)計(jì)3 種模式序列。

1)模式序列1(safteyPattern01)。 考慮到壓差傳感器可能因?yàn)楦蓴_出現(xiàn)瞬態(tài)現(xiàn)象,這里將模式序列1 描述為:兩個(gè)壓差傳感器連續(xù)3 次出現(xiàn)相差過大后,排氣閥和充氣閥立即關(guān)閉,任務(wù)中止。

①初始事件的匹配條件為循環(huán)條件,滿足(dP1-dP2).abs>0.2 kPa。

②結(jié)尾事件與初始事件之間為嚴(yán)格近鄰關(guān)系(next),后續(xù)事件匹配條件為(vS1 =="closed")&&(vS2=="closed") 。

2)模式序列2(safetyPattern02)。 模式序列2描述為:排氣閥打開、充氣閥關(guān)閉,經(jīng)過一段時(shí)間抽氣后,2 個(gè)壓差傳感器均正常并且測(cè)量值均超過-20 kPa,隨后壓差繼續(xù)上升并超過-45 kPa,緊接著充氣閥打開,隨后壓差開始下降。

① 初始事件的匹配條件為((dP1-dP2).abs≤0.2 kPa) && ((dP1 < - 20 kPa) &&(dP2 <- 20kPa)) 。

② 中間事件1 的匹配條件為((dP1-dP2).abs≤ 0.2kPa) && ((dP1 < - 45kPa)&&(dP2 <- 45kPa)) 。

③ 中間事件2 的匹配條件為(vS1 =="open")&&(vS2=="open") 。

④ 結(jié)尾事件的匹配條件為((dP1-dP2).abs≤0.2 kPa) && ((dP1 > - 45 kPa) &&(dP2 >- 45 kPa)) 。

3)模式序列3(safetyPattern03)。 模式序列3描述為:排氣閥關(guān)閉、充氣閥打開,經(jīng)過一段時(shí)間充氣后,2 個(gè)壓差傳感器均正常并且測(cè)量值均超過0 kPa,隨后壓差繼續(xù)上升并超過45 kPa,緊隨其后充氣閥仍然為打開狀態(tài)。

① 初始事件的匹配條件為((dP1-dP2).abs≤0.2 kPa)&&((dP1 >0 kPa)&&(dP2 >0 kPa)) 。

② 中間事件的匹配條件為((dP1-dP2).abs≤0.2 kPa)&&((dP1 >45 kPa)&&(dP2 >45 kPa)) 。

③ 結(jié)尾事件的匹配條件為 ((vS1 =="open")&&(vS2=="closed")) 。

4.2 CEP 監(jiān)測(cè)程序開發(fā)

根據(jù)第4.1.1 節(jié)的程序流程設(shè)計(jì),開發(fā)CEP監(jiān)測(cè)程序代碼,核心是編寫CEP 模式序列代碼和事件提取自定義函數(shù)類代碼,其他代碼塊均為Flink 流處理程序代碼。 這里基于Flink 框架和CEP 庫(kù),采用Scala 語(yǔ)言開發(fā)排廢氣安全監(jiān)測(cè)應(yīng)用程序。

4.2.1 CEP 模式序列代碼

采用Flink CEP 庫(kù)提供的API 編寫模式序列,聲明3 個(gè)Pattern 類型的變量safetyPattern01/02/03,編寫相應(yīng)的模式序列代碼,見表2。

①safetyPattern01 由2 個(gè)個(gè)體模式組合而成,通過嚴(yán)格近鄰next( )連接,每個(gè)模式的匹配循環(huán)條件分別為times(3)和times(2),并且添加了6 s的時(shí)間約束條件Time.seconds(6)。

②safetyPattern02 由4 個(gè)個(gè)體模式組合而成,前2 個(gè)通過寬松近鄰先后連接,后3 個(gè)通過嚴(yán)格近鄰先后連接。 每個(gè)個(gè)體模式都是多個(gè)變量滿足特定條件的組合,其中begin2 模式包含了循環(huán)條件times(3)。

③safetyPattern03 由3 個(gè)個(gè)體模式組合而成,前2 個(gè)通過寬松近鄰先后連接,后2 個(gè)通過嚴(yán)格近鄰先后連接。 每個(gè)模式的匹配條件均為循環(huán)條件,分別為times(3)、times(3)、times(2)。

在每個(gè)模式序列begin 后的[EgdData],代表輸入流的數(shù)據(jù)格式。 將編寫好的3 個(gè)模式序列分別作用于輸入流,即得到patternStream01/02/03 3個(gè)PatternStream。

4.2.2 事件提取與報(bào)警輸出函數(shù)類代碼

對(duì)patternStream01/02/03 分別執(zhí)行事件提取與信息輸出操作,獲取到排廢氣過程安全監(jiān)測(cè)可能出現(xiàn)的異常事件序列并輸出報(bào)警信息,這里通過繼承于PatternSelectFunction 的自定義函數(shù)類來定制開發(fā),關(guān)鍵是重寫select 方法,這里需要針對(duì)每個(gè)PatternStream 進(jìn)行方法的重寫,實(shí)現(xiàn)代碼見表3。

表3 重寫“select( )”方法代碼Table 3 Code of method “select( )” override

select 方法的輸入是1 個(gè)Map 變量,在經(jīng)過模式檢測(cè)后,所有成功匹配的事件都存儲(chǔ)在該變量中。 Map 的key 是String 類型的模式名稱,即表2 中個(gè)體模式的名稱,例如begin1,middle2-1,end1 等;value 是類型為EgdData 的List,用于存儲(chǔ)匹配的數(shù)據(jù)點(diǎn),這里之所以是List 是因此循環(huán)條件會(huì)匹配出多個(gè)事件。

表2 用于排廢氣安全監(jiān)測(cè)的CEP 模式序列代碼Table 2 Code of CEP pattern sequence applied for EGD safety monitoring

select 方法的輸出是Warning01/02/03 樣例類格式的數(shù)據(jù),分別用于包裝壓差傳感器異常、排氣閥門異常、充氣閥門異常3 種報(bào)警信息流。

1)在SafetyPattern01 Match 函數(shù)類中,select方法提取的是壓差傳感器首次出現(xiàn)異常的事件時(shí)間和結(jié)尾2 個(gè)閥門均關(guān)閉的事件時(shí)間,最終輸出包裝了這2 個(gè)時(shí)間數(shù)據(jù)和傳感器異?!皊ensory abnormal!”的報(bào)警信息。

2)在SafetyPattern02 Match 函數(shù)類中,select 方法提取的是4 個(gè)關(guān)鍵事件的時(shí)間,分別是負(fù)壓壓差超過第一閾值的時(shí)間、超過第二閾值的時(shí)間、閥門狀態(tài)匹配的時(shí)間、負(fù)壓壓差開始下降的時(shí)間,最后輸出包裝了這4 個(gè)時(shí)間數(shù)據(jù)和排氣閥門異常“ dischargevalve fails to close!”的報(bào)警信息。

3)在SafetyPattern03 Match 函數(shù)類中,select方法提取的是3 個(gè)關(guān)鍵事件的時(shí)間,分別是正壓壓差超過第一閾值的時(shí)間、超過第二閾值的時(shí)間、閥門狀態(tài)匹配的時(shí)間,最后輸出包裝了這3 個(gè)時(shí)間數(shù)據(jù)和充氣閥門異常“chargevalve fails to close!”的報(bào)警信息。

5 測(cè)試與討論

模擬排廢氣過程,涵蓋正常過程和3 種故障模式,監(jiān)測(cè)數(shù)據(jù)的采集頻率為1 Hz。 通過測(cè)試檢驗(yàn)Flink CEP 監(jiān)測(cè)程序能否正確檢測(cè)出3 種故障模式,對(duì)測(cè)試性指標(biāo)進(jìn)行驗(yàn)證,討論數(shù)據(jù)超時(shí)的處理。

5.1 排廢氣過程模擬與監(jiān)測(cè)數(shù)據(jù)生成

按照如下流程,模擬排廢氣過程并生成相應(yīng)的仿真數(shù)據(jù)用于測(cè)試:

1)第一次為正常排充氣循環(huán),排廢氣開始時(shí),密封箱體內(nèi)外壓差為0 kPa,排氣閥打開,同時(shí)充氣閥處于關(guān)閉狀態(tài)。 假設(shè)此排氣階段壓差變化速率為55.6 Pa/s,經(jīng)過6 min 后,壓差變?yōu)?20 kPa 左右。 緊接著,排氣閥關(guān)閉,充氣閥打開,開始充氣過程,假設(shè)此充氣階段壓差變化速率為111.2 Pa/s,經(jīng)過3 min 后,壓差變?yōu)? kPa左右。

2)第二次循環(huán)模擬壓差傳感器故障,排廢氣開始后2 min,模擬2 個(gè)壓差傳感器開始出現(xiàn)連續(xù)的不一致,并且1 s 后2 個(gè)閥門均變?yōu)殛P(guān)閉狀態(tài)。異常數(shù)據(jù)延續(xù)5 s,該循環(huán)終止。

3)第三次循環(huán)模擬排氣閥關(guān)不上故障,第一階段排廢氣過程和第一次循環(huán)一樣,當(dāng)壓差超過-20 kPa 后,排氣閥未關(guān)閉,壓差經(jīng)過4 min 繼續(xù)擴(kuò)大至- 45 kPa,此階段壓差變化速率為104.2 Pa/s。 緊接著,充氣閥打開,壓差比上一時(shí)刻有所下降,此狀態(tài)持續(xù)5 s 后循環(huán)終止。

4)第四次循環(huán)模擬充氣閥關(guān)不上故障,充氣開始,此時(shí)排廢氣閥處于關(guān)閉狀態(tài),充氣閥為打開狀態(tài), 循環(huán)初始時(shí)密封箱體的內(nèi)外壓差為-20 kPa,充氣過程與第1 次循環(huán)一樣,當(dāng)壓差超過0 kPa 時(shí),充氣閥不關(guān)閉,壓力經(jīng)過8 min 后,壓差變?yōu)?5 kPa,變化速率為93.8 Pa/s,最后連續(xù)5 s 充氣閥依然保持開狀態(tài),并且壓差繼續(xù)上升,循環(huán)模擬終止。

基于以上排廢氣過程,生成對(duì)應(yīng)表1 中變量的監(jiān)測(cè)數(shù)據(jù)。 模擬排廢氣過程共計(jì)1935 s,生成數(shù)據(jù)1935 條。 在每秒采集的壓差數(shù)據(jù)中加入標(biāo)準(zhǔn)差為5 Pa 的隨機(jī)白噪聲,模擬數(shù)據(jù)的正常波動(dòng)。

5.2 測(cè)試結(jié)果與分析

在Kafka 數(shù)據(jù)服務(wù)器上每秒逐條發(fā)布5.1 節(jié)的數(shù)據(jù),作為測(cè)試用的數(shù)據(jù)流來源。 在本地開發(fā)環(huán)境測(cè)試Flink CEP 監(jiān)測(cè)程序,通過控制臺(tái)打印輸出測(cè)試結(jié)果,分別測(cè)試3 種模式檢測(cè)結(jié)果的正確性以及報(bào)警生成時(shí)間與結(jié)尾事件時(shí)間的延遲。

如圖3 所示,CEP 監(jiān)測(cè)程序成功匹配出數(shù)據(jù)流中的3 種模式序列,并輸出了相應(yīng)的報(bào)警信號(hào)。圖3 中虛線將3 種模式序列的識(shí)別結(jié)果劃分開,不同顏色、不同形狀的圖形代表相應(yīng)的匹配事件,并標(biāo)記出相應(yīng)的事件時(shí)間,最后的圖案代表報(bào)警信號(hào)發(fā)出,標(biāo)記了報(bào)警信號(hào)生成的時(shí)間,時(shí)間語(yǔ)義為處理時(shí)間。

圖3 模式序列匹配測(cè)試結(jié)果Fig.3 Testing results of pattern sequences matching

1)安全模式1 處理結(jié)果分析:CEP 程序首先匹配出滿足兩個(gè)壓差傳感器連續(xù)3 次相差過大循環(huán)條件的事件,橙色圓形下標(biāo)記第一條數(shù)據(jù)的事件時(shí)間;緊接著,匹配出充氣閥、排氣閥連續(xù)2 次均處于關(guān)閉狀態(tài)事件;最后發(fā)出Warning01 報(bào)警信號(hào)。 報(bào)警信號(hào)與匹配的結(jié)尾事件最后1 條數(shù)據(jù)的事件時(shí)間相差1222 ms。

2)安全模式2 處理結(jié)果分析:CEP 程序首先匹配出壓差超過-20 kPa 事件,綠色圓形下標(biāo)記壓差穿越一級(jí)負(fù)壓閾值的事件時(shí)間;一段時(shí)間后,成功匹配出壓差超過-45 kPa 事件;緊接著,匹配出“充氣閥立即打開”事件;緊接著,匹配出壓差低于-45 kPa 事件。 最后發(fā)出Warning02 報(bào)警信號(hào)。 報(bào)警信號(hào)與結(jié)尾事件的事件時(shí)間相差1170 ms。

3)安全模式3 處理結(jié)果分析:CEP 程序首先匹配出壓差超過0 kPa 事件藍(lán)色圓形下標(biāo)記壓差穿過一級(jí)正壓閾值的事件時(shí)間;一段時(shí)間后,成功匹配出壓差超過45 kPa 事件;緊接著,匹配出充氣閥連續(xù)2 次均處于打開狀態(tài)事件;最后發(fā)出Warning03 報(bào)警信號(hào)。 報(bào)警信號(hào)與結(jié)尾事件最后1 條數(shù)據(jù)的的事件時(shí)間相差1217 ms。

5.3 測(cè)試性指標(biāo)驗(yàn)證情況

1)故障檢測(cè)率與隔離率驗(yàn)證。 增加循環(huán)模擬次數(shù)到12 次,擴(kuò)充故障樣本量到9 次,測(cè)試故障檢測(cè)率和隔離率指標(biāo)。 得到如表4 所示的測(cè)試結(jié)果。 模擬的9 次故障均能被程序檢測(cè)到,給出的診斷結(jié)果隔離到相應(yīng)的部件故障模式,故障檢測(cè)率和隔離率均為100%。 故障診斷信息發(fā)出來的時(shí)刻與故障發(fā)生時(shí)刻之間的時(shí)間差均值為1921 ms。 測(cè)試時(shí),仿真程序和檢測(cè)程序運(yùn)行在本地環(huán)境,但仿真程序向遠(yuǎn)程Kafka 集群發(fā)布數(shù)據(jù),而檢測(cè)程序又從Kafka 集群拉取數(shù)據(jù),因此表4中的差值包含了數(shù)據(jù)的網(wǎng)絡(luò)傳輸時(shí)間。

表4 故障檢測(cè)與隔離測(cè)試結(jié)果Table 4 Fault detection and isolation test results

2)虛警率測(cè)試與討論。 在壓差傳感器測(cè)量密封箱體內(nèi)外壓差過程中,由于信號(hào)干擾等可能會(huì)在數(shù)據(jù)流中引入瞬時(shí)數(shù)據(jù)野點(diǎn),安全監(jiān)測(cè)程序應(yīng)能抗干擾,以避免虛警產(chǎn)生。 為此,將測(cè)試數(shù)據(jù)的第127/289/980 條數(shù)據(jù)點(diǎn)中的dP2 或dP1 改成異常值,使dP2 與dP1 之間的差值超過0.2 kPa。由于CEP 采用了復(fù)雜的模式序列設(shè)計(jì),該瞬時(shí)異常數(shù)據(jù)不符合模式序列的匹配規(guī)則,經(jīng)實(shí)測(cè)對(duì)應(yīng)異常點(diǎn)無報(bào)警信號(hào)輸出,在此測(cè)試條件下虛警率為0。 其他真實(shí)故障的報(bào)警信號(hào)輸出不受影響。

5.4 超時(shí)數(shù)據(jù)測(cè)試與討論

以安全模式1 為例來測(cè)試Flink CEP 對(duì)超時(shí)數(shù)據(jù)的處理,為了測(cè)試方便,截取傳感器異常發(fā)生時(shí)段前后的30 條數(shù)據(jù),并將閥門關(guān)閉時(shí)的數(shù)據(jù)設(shè)置為2 s 延遲,模擬數(shù)據(jù)傳輸超時(shí)異常工況。

首先,測(cè)試無側(cè)輸出流的情況,由于后續(xù)事件序列已經(jīng)超過了6 s 的時(shí)間約束條件,程序認(rèn)為沒有匹配成功,未輸出任何報(bào)警信號(hào)。 然后,在CEP 程序中增加側(cè)輸出流用來處理超時(shí)情況,超時(shí)報(bào)警信息設(shè)計(jì)4 個(gè)字段:傳感器異常事件時(shí)間、“begin1”個(gè)體模式匹配數(shù)據(jù)條數(shù)、超時(shí)時(shí)間戳、超時(shí)報(bào)警字符串。 經(jīng)測(cè)試,一共輸出5 條超時(shí)報(bào)警信息,見表5。 其中第1 個(gè)時(shí)間戳分別對(duì)應(yīng)數(shù)據(jù)流中的5 個(gè)傳感器異常數(shù)據(jù)的事件時(shí)間,第2 個(gè)時(shí)間戳則是分別在第1 個(gè)時(shí)間戳的基礎(chǔ)上加6000 ms,表示6 s 內(nèi)未成功匹配后續(xù)事件,直接給出超時(shí)報(bào)警提示。

6 結(jié)論

通過Flink CEP 在空間站實(shí)驗(yàn)柜排廢氣安全監(jiān)測(cè)上的應(yīng)用研究,開發(fā)相應(yīng)的監(jiān)測(cè)應(yīng)用程序,通過測(cè)試,得出以下結(jié)論:

1)Flink CEP 能準(zhǔn)確識(shí)別出排廢氣過程中復(fù)雜的異常事件序列,能應(yīng)對(duì)包含多維數(shù)據(jù)耦合和數(shù)據(jù)流上下文關(guān)聯(lián)的復(fù)雜事件處理問題;

2)監(jiān)測(cè)程序輸出報(bào)警的處理時(shí)間與序列結(jié)尾事件時(shí)間相差在1~2 s 之間,能及時(shí)輸出報(bào)警信號(hào);

3)監(jiān)測(cè)程序具有抗干擾和處理超時(shí)數(shù)據(jù)的能力,適用于實(shí)際數(shù)據(jù)流監(jiān)測(cè)場(chǎng)景。

猜你喜歡
氣閥數(shù)據(jù)流壓差
汽車維修數(shù)據(jù)流基礎(chǔ)(下)
在線處理脫丁烷塔壓差高
一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
往復(fù)式壓縮機(jī)氣閥泄漏故障診斷處理一例
基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
循環(huán)氫壓縮機(jī)氣閥故障分析
往復(fù)壓縮機(jī)氣閥故障時(shí)氣閥定位方法研究
北醫(yī)三院 數(shù)據(jù)流疏通就診量
二維氣體動(dòng)力學(xué)中壓差方程的特征分解和簡(jiǎn)單波
基于改進(jìn)經(jīng)濟(jì)壓差算法的主站AVC的研究
玉溪市| 定南县| 申扎县| 武平县| 徐水县| 洪江市| 玛曲县| 兰西县| 鲁山县| 鄂伦春自治旗| 大宁县| 舟山市| 赤壁市| 阳新县| 册亨县| 沧源| 荥经县| 滕州市| 乐陵市| 婺源县| 定襄县| 博乐市| 修水县| 苏尼特左旗| 吉木萨尔县| 绵竹市| 北宁市| 夏邑县| 库车县| 遂川县| 都兰县| 正阳县| 札达县| 上虞市| 措勤县| 米泉市| 潞城市| 哈尔滨市| 南昌市| 五河县| 南皮县|