劉昇,魯延靈,王海峰,周洋
(1.廣東中煙工業有限責任公司韶關卷煙廠,廣東 韶關 512026;2.北京航天拓撲高科技有限責任公司,北京 100176)
在傳統的煙草行業中,生產的歷史數據存儲在實時數據庫或者關系型數據庫中,無法滿足業務對數據實時性的要求,并且這部分數據不利于進行其他的實時分析計算使用,導致制絲生產過程中的數據利用率不高。傳統方式是將數據采集之后放至關系型數據庫中存儲,待業務需要使用時從關系型數據庫中查詢,這樣會導致數據計算效率低下的問題,并且可能出現數據庫連接數過多引起數據庫異常。
傳統的煙草行業對數據的實時處理是先通過OPC 將數據采集上來,然后直接將數據存到關系型數據庫中。業務的實時計算是直接從關系型數據庫中取一段時間的數據或者取實時數據庫中的數據進行聚合及實時的統計分析。這種方式不僅會造成其中任意一環出現問題都會導致數據丟失的問題,同時也增大了數據庫的訪問壓力。傳統的計算模式對于實時預警判定、實時計算特定有煙信號也都是較復雜的。
對數據的歷史計算與實時計算類似,是直接從關系型數據庫或者實時數據庫中取出待計算的數據然后進行相應的計算分析,這同樣會造成上面的問題。
制絲中控采集的原始數據都存儲在Oracle 數據庫中,當Oracle 數據庫的數據量達到一定程度之后就會導致數據查詢緩慢,所以不適合用來存儲大量的數據。原始數據采集之后沒有任何的中間件會導致所有的業務處理都壓在一臺服務器上,會導致服務器壓力過大,易出現故障。難以實現對流數據實時、高效的聚合計算、統計計算。無法保證制絲中控內部處理數據的一致性以及與上層MES 系統的數據一致性。
通過中間件的技術運用可以在一定程度上防止數據丟失。通過數據采集程序采集生產過程中所有參數,存儲這些參數實時數據,每個參數預先打上基本的標簽,例如數據的有效性。對基本的有效數據進行實時的聚合計算、統計計算和預警判斷;聚合時間可根據實際需要設置,實時的統計計算值根據需求進行配置,預警是根據八項預警規則進行的實時預警判斷,以便在生產過程中能及時的發現問題并解決,從而提高工藝質量;對電機的電流、電機運行時間及閥門開關時間等數據展示趨勢圖,為預測性維護提供數據支撐;記錄在生產過程中的關鍵性按鈕操作以及參數標準的修改情況,以便發現較優的生產批次的生產情況,為后續的生產提供可靠的依據。
本文采用的消息中間件Kafka;分布式非關系型數據庫Hbase;分布式文件系統HDFS 為Hbase 提供底層的存儲服務;實時的緩存數據庫Redis;Spark 進行離線數據分析。Kafka是一種高吞吐量的分布式發布訂閱消息系統;分布式文件系統HDFS 是一個高度容錯性、文件分塊存儲、適合部署在廉價的機器上、提供高吞吐量數據訪問的系統;Hbase 在Hadoop 生態系統中也是不可或缺的,它是一個分布式的數據庫,Hbase 底層存儲依賴的是分布式Hadoop 的HDFS 文件系統,由HDFS 文件系統提供可靠保障;Redis 是一個key-value存儲系統。Redis 會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了主從同步,由于Redis 是存儲在內存中的,所以Redis 是一個實時數據庫。
使用多個采集源,來保證單一采集源出現問題系統還能正常采集數據,采集后的數據發送至Kafka 中;業務使用數據直接從Kafka 中進行獲取,這樣就可以保證多個業務使用的數據源相同并且不會出現差異;實時計算業務獲取到Kafka中的實時數據之后通過Redis 做實時的緩存,然后來做實時的數據處理以此得到準確的實時數據推送給頁面展示給用戶。歷史數據存儲在Hbase 中,Hbase 的訪問速度是非常高的,這樣運用歷史數據進行數據分析的速度能得到很大的提升。
實時計算的數據流向圖如圖1。
為了避免傳統實時計算方式的弊端,所以擴展使用多個數據源,數采軟件從數據源獲取數據之后緩存在當前的程序中,經過初步的分類之后發送至分布式消息中間件Kafka 中。實時計算程序從Kafka 中獲取到數據之后進行實時的分析計算,并且將數據緩存至Redis 中,待達到聚合條件之后進行聚合計算、預警判定。計算完成之后的數據同樣放回Redis 中,由實時的推送程序獲取后推送給頁面進行展示。
實時的統計過程控制主要用于分析生產過程和評估生產狀況,針對異常的狀況,發現后能及時的采取措施來讓過程保持穩定,這樣能最大程度的保證產品質量。控制圖則是其中最有效的一種工具,是統計過程控制的技術基礎。控制圖是指利用概率統計的原理在普通方格坐標紙上,通過計算畫出兩條控制線和一條中心線,橫軸作為時間軸,把所有按規定的時間順序所得的樣件的數值,依次描繪在坐標圖上面,并依次將相鄰兩個點用直線連接起來。如下圖所示,以時間為橫坐標,縱坐標為產品質量特性值或樣本統計量,中心線記為 CL(Cnotorl Limit),兩條控制界限使用虛線表示,在中心線上面的控制界限線為上控制線,記為 UCL(upper control Limit);在中心線下面的控制界限線為下控制線,記為 LCL(Lower Contorl Limit)。
控制圖的設計原理主要體現在如下的三個方面:
(1)正態性假定。企業中的任何生產過程,總會存在一定程度的波動。當沒有異常特性原因時,這些波動則主要來自于5M1E(即人、機器、材料、方法、測量和環境)的微小的普通變化,從而造成一定程度上的隨機誤差。此時,產品的質量特性值服從或近似服從正態分布,該假定就稱之為正態假定。在此假定基礎下,才可以使用正態分布的規律特征來建模。
(2)3σ 準則。在正態性假定成立的前提下,距分布中心μ 左右兩側各為3σ(即±3σ)的范圍內所含面積為99.73%。如果生產過程只受隨機普通原因的影響,則該過程的產品質量特性數據就會有99.73%的數值會落在這個范圍內,即:P{μ-3σ (3)小概率原理。小概率原理的定義即認為小概率事件一般是不會發生的。由 3σ 準則知當 X 服從正態分布 N(μ,σ2)時,過程的產品質量特性值落在控制界限之外的概率只有0.27%。即:1-P{μ-3σ 因此,認為沒有特殊的異常原因發生的情況下,X 一般不會超出操作人員所定義的控制界限3σ。 歷史計算的數據流向圖如圖2。 圖1 圖2 歷史計算的數據來源于非關系型數據庫Hbase,Hbase具有非常高的吞吐量,可以節省不少的查詢時間,并能跟Flink、Spark 這樣的計算引擎完美結合,使得數據分析變得更容易。 通過對比分析生產過程中關鍵性操作的記錄分析出生產問題的原因;通過歷史生產的批次內參數不同的權重計算出相同牌號的批次得分情況,從而分析出某牌號的最佳生產批次,在下一次生產相同牌號的批次時給與指導性建議;通過電機的運行情況及電流等參數分析出電機是否正常;通過關鍵性的參數及溫濕度等情況預測出口水分等。 本文通過對比Hadoop 生態系統與傳統計算模式在工業實時數據分析、歷史數據分析中的應用,不僅解決了傳統方式的單點故障問題還解決了傳統方式無法做到的實時計算、離線分析等。這為Hadoop 生態系統在工業大數據中的應用提供了一種思路,方便了后續進行診斷煙草制造設備故障及預測性維護,這將極大提高煙草行業的制造水平。2.3 歷史計算


3 結語