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