何 偉
?
MES中間件通信性能的分析與優(yōu)化
何 偉
江陰興澄特種鋼鐵有限公司,江蘇 江陰 214400
在實(shí)際生產(chǎn)過(guò)程中對(duì)中間件通信性能問題進(jìn)行了分析,通過(guò)對(duì)其優(yōu)化,解決了制約生產(chǎn)的比較突出的數(shù)據(jù)流轉(zhuǎn)問題。
中間件;數(shù)據(jù)表;電文解析
在工廠制造執(zhí)行系統(tǒng)中,隨著通信方式的不斷升級(jí),都采用獨(dú)立中間件來(lái)實(shí)現(xiàn)二級(jí)與三級(jí)之間數(shù)據(jù)的收發(fā),做到了通信接口配置簡(jiǎn)單。數(shù)據(jù)解析直觀等優(yōu)點(diǎn)也得到了現(xiàn)場(chǎng)廣泛應(yīng)用。例如,寶信IXCOM中間件在鋼鐵企業(yè)應(yīng)用廣泛,穩(wěn)定可靠。興澄特鋼中板分廠于2011年進(jìn)行MES(制造企業(yè)生產(chǎn)過(guò)程執(zhí)行系統(tǒng))系統(tǒng)開發(fā)并采用獨(dú)立開發(fā)的XCMSCOM中間件為平臺(tái)實(shí)現(xiàn)三級(jí)與各區(qū)域二級(jí)進(jìn)行計(jì)劃的下發(fā)和實(shí)績(jī)的收集,雙方通信通過(guò)調(diào)用底層SOCKET套接字使用TCP/IP協(xié)議,是一款結(jié)合現(xiàn)場(chǎng)實(shí)際及功能需求定制開發(fā)的一款中間件產(chǎn)品。隨著公司產(chǎn)品結(jié)構(gòu)的不斷調(diào)整以及分廠產(chǎn)能的不斷提升,數(shù)據(jù)通信不斷增多,中間件出現(xiàn)了各式各樣的問題[1]。本文主要闡述通過(guò)對(duì)中間件通信性能的優(yōu)化解決實(shí)際生產(chǎn)中的問題。
隨著分廠產(chǎn)能的提升和產(chǎn)品結(jié)構(gòu)的調(diào)整,數(shù)據(jù)通信量逐年增加,中間件在不超負(fù)荷的前提下,出現(xiàn)了以下制約生產(chǎn)節(jié)奏的問題。
第一,在計(jì)劃下發(fā)后處理電文時(shí)某一條電文處理不成功,導(dǎo)致了后續(xù)計(jì)劃數(shù)據(jù)不處理的現(xiàn)象,從而造成了各區(qū)域二級(jí)接收計(jì)劃數(shù)據(jù)丟失和不全,影響了現(xiàn)場(chǎng)物料跟蹤及軋制。第二,一旦計(jì)劃數(shù)據(jù)超出電文內(nèi)容定義的長(zhǎng)度,就會(huì)導(dǎo)致電文處理不成功的現(xiàn)象,造成各區(qū)域二級(jí)接收計(jì)劃數(shù)據(jù)與計(jì)劃不一致。
上述兩個(gè)問題嚴(yán)重制約了現(xiàn)場(chǎng)生產(chǎn)。通過(guò)對(duì)中間件處理機(jī)制的分析,首先,中間件設(shè)計(jì)采用了順序處理機(jī)制,在處理電文時(shí)會(huì)按照順序進(jìn)行處理。當(dāng)某一條電文處理不成功后,程序執(zhí)行將停留在此條電文上,要此條處理成功后才會(huì)處理下一條,所以導(dǎo)致了第一個(gè)問題的出現(xiàn)。其次,在合同設(shè)計(jì)中最多能出現(xiàn)99個(gè)合同信息及中文備注。當(dāng)合同信息內(nèi)容增多超出了電文定義的長(zhǎng)度時(shí),勢(shì)必會(huì)造成第二個(gè)問題的出現(xiàn)。由于以上兩個(gè)問題的出現(xiàn),前期我們通過(guò)采用人工處理的方式來(lái)解決上述問題。雖然能解決現(xiàn)場(chǎng)生產(chǎn)節(jié)奏問題,但人工處理量較大,信息匹對(duì)量較復(fù)雜,一定程度上增加了維護(hù)人員的工作量,也違背了自動(dòng)化生產(chǎn)的初衷和數(shù)據(jù)流轉(zhuǎn)“不落地”的設(shè)計(jì)原則。
順序處理機(jī)制在設(shè)計(jì)思路時(shí)按照記錄順序一條條處理(見圖1),但沒有考慮在處理過(guò)程中出現(xiàn)異常后的處理方式,直接導(dǎo)致了數(shù)據(jù)處理停滯,造成數(shù)據(jù)批量處理不成功,各二級(jí)無(wú)法接收計(jì)劃數(shù)據(jù),影響范圍較廣。通過(guò)對(duì)中間處理機(jī)制的分析,利用現(xiàn)有的程序框架再結(jié)合數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化,我們?cè)诎l(fā)送數(shù)據(jù)表(XC_TEL_CODE)和接收數(shù)據(jù)表(XC_TEL_RECEIVE)中把處理不成功的記錄進(jìn)行字段標(biāo)記(TELFLAG)(見圖2),不成功標(biāo)記為“1”,成功則為“0”。當(dāng)某一條處理不成功后標(biāo)記為“1”后,程序通過(guò)優(yōu)化為實(shí)現(xiàn)可以繼續(xù)處理下一條,以此循環(huán)直到最后一條記錄,然后再判斷標(biāo)記為“1”的記錄,數(shù)據(jù)庫(kù)觸發(fā)器再進(jìn)行處理一遍,再不成功則由人為處理。
圖1 優(yōu)化前
圖2 優(yōu)化后
電文長(zhǎng)度有嚴(yán)格的定義,這是保證數(shù)據(jù)成功處理的基礎(chǔ)。然而隨著現(xiàn)場(chǎng)的生產(chǎn)要求以及多合同和中文備注的出現(xiàn),導(dǎo)致電文長(zhǎng)度超長(zhǎng)。在處理機(jī)制優(yōu)化后,這一現(xiàn)象也制約著生產(chǎn),造成了一定程度的影響。電文結(jié)構(gòu)定義如圖3所示。
圖3 電文結(jié)構(gòu)定義圖
針對(duì)該問題,我們采用兩種方案進(jìn)行優(yōu)化,以處理1000條電文為前提,各項(xiàng)性能對(duì)比如表1所示。
表1 方案性能比較
方案一:擴(kuò)大電文內(nèi)容長(zhǎng)度,出現(xiàn)錯(cuò)誤的最大長(zhǎng)度為4?058?bytes。此方法比較直觀,但缺點(diǎn)也比較明顯。經(jīng)過(guò)一短時(shí)間的運(yùn)行后發(fā)現(xiàn)由于電文量較多,每一條電文長(zhǎng)度增加后,導(dǎo)致內(nèi)存空間占用大,處理速度降低,通信服務(wù)器性能降低,不符合現(xiàn)場(chǎng)需求。
方案二:在數(shù)據(jù)生成電文包時(shí)判斷電文內(nèi)容。如果內(nèi)容超過(guò)了定義的4?058?bytes,在電文頭一致的情況下,就會(huì)自動(dòng)生成兩個(gè)電文包。生成的電文包會(huì)嚴(yán)格按照通信內(nèi)容格式進(jìn)行,避免對(duì)方解析錯(cuò)誤。接收方根據(jù)電文頭解析電文。這種方式規(guī)避了電文超長(zhǎng)后出現(xiàn)的數(shù)據(jù)丟失的問題。
優(yōu)化中間件出現(xiàn)的問題后,經(jīng)過(guò)一段時(shí)間的實(shí)際應(yīng)用,效果符合預(yù)期。電文處理不成功以標(biāo)記作為區(qū)分后,效率有了很大提高,解決了處理不成功后影響后續(xù)處理的問題。電文處理狀態(tài)通過(guò)標(biāo)記查看,簡(jiǎn)單方便[2]。從優(yōu)化前的影響一批電文到優(yōu)化后若干條(信息不準(zhǔn)確)電文,計(jì)劃下發(fā)各區(qū)域二級(jí)接收率得到了有效提升。超長(zhǎng)電文處理優(yōu)化后,在確保電文內(nèi)容準(zhǔn)確的情況下,電文解析也按照格式定義做到了無(wú)錯(cuò)位。通過(guò)對(duì)中間件性能的優(yōu)化,中間件通信性能較之前有了很大改善,三級(jí)與二級(jí)之間的通信信息電文處理能力也滿足了生產(chǎn)的需求。
興澄特鋼中板分廠通過(guò)對(duì)中間件出現(xiàn)的問題進(jìn)行分析并優(yōu)化,解決了中間件存在的問題,數(shù)據(jù)流“不落地”得到了強(qiáng)有力的技術(shù)保證,為公司產(chǎn)品結(jié)構(gòu)調(diào)整和分廠產(chǎn)能提升做到了數(shù)據(jù)通信暢通流轉(zhuǎn)。
[1]嚴(yán)偉,潘愛民.計(jì)算機(jī)網(wǎng)絡(luò)[M].5版.北京:清華大學(xué)出版社,2012.
[2]馬曉玉,孫巖,等.Oracle 10G數(shù)據(jù)庫(kù)管理應(yīng)用與開發(fā)[M].北京:清華大學(xué)出版社,2007.
Analysis and Optimization of MES Middleware Communication Performance
He Wei
Jiangyin XingCheng Special Steel Co., Ltd., Jiangsu Jiangyin 214400
The paper analyzes the issues of the middleware communication performance occurred during the actual productive process and solves the prominent issues of data transfer that restricts the production through optimization.
middleware; data sheet; telegram text analysis
TP311.5
A
何偉(1979—),男,畢業(yè)于重慶大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),工程師,從事軋鋼模型及一二三級(jí)服務(wù)器的維護(hù)工作。