何 偉
?
MES中間件通信性能的分析與優化
何 偉
江陰興澄特種鋼鐵有限公司,江蘇 江陰 214400
在實際生產過程中對中間件通信性能問題進行了分析,通過對其優化,解決了制約生產的比較突出的數據流轉問題。
中間件;數據表;電文解析
在工廠制造執行系統中,隨著通信方式的不斷升級,都采用獨立中間件來實現二級與三級之間數據的收發,做到了通信接口配置簡單。數據解析直觀等優點也得到了現場廣泛應用。例如,寶信IXCOM中間件在鋼鐵企業應用廣泛,穩定可靠。興澄特鋼中板分廠于2011年進行MES(制造企業生產過程執行系統)系統開發并采用獨立開發的XCMSCOM中間件為平臺實現三級與各區域二級進行計劃的下發和實績的收集,雙方通信通過調用底層SOCKET套接字使用TCP/IP協議,是一款結合現場實際及功能需求定制開發的一款中間件產品。隨著公司產品結構的不斷調整以及分廠產能的不斷提升,數據通信不斷增多,中間件出現了各式各樣的問題[1]。本文主要闡述通過對中間件通信性能的優化解決實際生產中的問題。
隨著分廠產能的提升和產品結構的調整,數據通信量逐年增加,中間件在不超負荷的前提下,出現了以下制約生產節奏的問題。
第一,在計劃下發后處理電文時某一條電文處理不成功,導致了后續計劃數據不處理的現象,從而造成了各區域二級接收計劃數據丟失和不全,影響了現場物料跟蹤及軋制。第二,一旦計劃數據超出電文內容定義的長度,就會導致電文處理不成功的現象,造成各區域二級接收計劃數據與計劃不一致。
上述兩個問題嚴重制約了現場生產。通過對中間件處理機制的分析,首先,中間件設計采用了順序處理機制,在處理電文時會按照順序進行處理。當某一條電文處理不成功后,程序執行將停留在此條電文上,要此條處理成功后才會處理下一條,所以導致了第一個問題的出現。其次,在合同設計中最多能出現99個合同信息及中文備注。當合同信息內容增多超出了電文定義的長度時,勢必會造成第二個問題的出現。由于以上兩個問題的出現,前期我們通過采用人工處理的方式來解決上述問題。雖然能解決現場生產節奏問題,但人工處理量較大,信息匹對量較復雜,一定程度上增加了維護人員的工作量,也違背了自動化生產的初衷和數據流轉“不落地”的設計原則。
順序處理機制在設計思路時按照記錄順序一條條處理(見圖1),但沒有考慮在處理過程中出現異常后的處理方式,直接導致了數據處理停滯,造成數據批量處理不成功,各二級無法接收計劃數據,影響范圍較廣。通過對中間處理機制的分析,利用現有的程序框架再結合數據庫進行優化,我們在發送數據表(XC_TEL_CODE)和接收數據表(XC_TEL_RECEIVE)中把處理不成功的記錄進行字段標記(TELFLAG)(見圖2),不成功標記為“1”,成功則為“0”。當某一條處理不成功后標記為“1”后,程序通過優化為實現可以繼續處理下一條,以此循環直到最后一條記錄,然后再判斷標記為“1”的記錄,數據庫觸發器再進行處理一遍,再不成功則由人為處理。

圖1 優化前

圖2 優化后
電文長度有嚴格的定義,這是保證數據成功處理的基礎。然而隨著現場的生產要求以及多合同和中文備注的出現,導致電文長度超長。在處理機制優化后,這一現象也制約著生產,造成了一定程度的影響。電文結構定義如圖3所示。

圖3 電文結構定義圖
針對該問題,我們采用兩種方案進行優化,以處理1000條電文為前提,各項性能對比如表1所示。

表1 方案性能比較
方案一:擴大電文內容長度,出現錯誤的最大長度為4?058?bytes。此方法比較直觀,但缺點也比較明顯。經過一短時間的運行后發現由于電文量較多,每一條電文長度增加后,導致內存空間占用大,處理速度降低,通信服務器性能降低,不符合現場需求。
方案二:在數據生成電文包時判斷電文內容。如果內容超過了定義的4?058?bytes,在電文頭一致的情況下,就會自動生成兩個電文包。生成的電文包會嚴格按照通信內容格式進行,避免對方解析錯誤。接收方根據電文頭解析電文。這種方式規避了電文超長后出現的數據丟失的問題。
優化中間件出現的問題后,經過一段時間的實際應用,效果符合預期。電文處理不成功以標記作為區分后,效率有了很大提高,解決了處理不成功后影響后續處理的問題。電文處理狀態通過標記查看,簡單方便[2]。從優化前的影響一批電文到優化后若干條(信息不準確)電文,計劃下發各區域二級接收率得到了有效提升。超長電文處理優化后,在確保電文內容準確的情況下,電文解析也按照格式定義做到了無錯位。通過對中間件性能的優化,中間件通信性能較之前有了很大改善,三級與二級之間的通信信息電文處理能力也滿足了生產的需求。
興澄特鋼中板分廠通過對中間件出現的問題進行分析并優化,解決了中間件存在的問題,數據流“不落地”得到了強有力的技術保證,為公司產品結構調整和分廠產能提升做到了數據通信暢通流轉。
[1]嚴偉,潘愛民.計算機網絡[M].5版.北京:清華大學出版社,2012.
[2]馬曉玉,孫巖,等.Oracle 10G數據庫管理應用與開發[M].北京:清華大學出版社,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—),男,畢業于重慶大學計算機科學與技術專業,工程師,從事軋鋼模型及一二三級服務器的維護工作。