王超 河北農業大學信息科學與技術學院
油田設備軟件通信中間件設計與優化*
王超 河北農業大學信息科學與技術學院
油田設備通信的目的是提供給設備管理員一個安全、友好的油田中間件顯示界面,以及一個簡單、實用的管理平臺。通過客戶端信息管理,可以對文件內核進行處理,多個油田設備通信中間件顯示器客戶端通過統一的服務器端進行通信,形成星狀的拓撲結構??蛻舳讼蚍掌鞫苏埱筚Y源,為服務器端提供管理接口;服務器端為客戶端提供資源,向客戶端發送配置請求。所以,油田設備通信中間件顯示器客戶端與服務器端之間是互為Client/Server式的結構。
油田設備;通信;中間件;客戶端;模快;優化
油田設備通信目的是提供給設備管理員一個安全、友好的油田中間件顯示界面,以及一個簡單、實用的管理平臺。通過客戶端信息管理,可以對文件內核時進行處理,多個油田設備通信中間件顯示器客戶端通過統一的服務器端進行通信,形成星狀的拓撲結構。油田設備通信中間件管理員遠程登陸顯示器服務器端,就可以遠程管理顯示終端,對服務器端進行配置,客戶端根據設備通信中間件管理員的具體配置進行相應的顯示[1]。遠程登陸服務器端,需要管理員在遠程下載管理服務器端的管理程序。
系統啟動流程是系統在上電以后,產生Reset中斷,CPU將程序指針首先指向Reset中斷服務向量地址,執行Reset開機流程,然后執行bootloader程序。bootloader在完成CPU、內存等設備硬件基本初始化后,設置好bootloader與內核之間參數,通過跳轉,程序的指針指向內核程序所在的地址處,接著Linux內核來引導系統完成剩下的工作。初始化系統后,內核加載根文件系統,并運行應用程序[2]。一般的嵌入式Linux系統平臺可以參照系統啟動的順序,包括bootloader、Linux內核、根文件系統、驅動模塊等部分來構建。
1.1 交叉編譯環境搭建優化
所謂交叉編譯就是在一個平臺上生成可在其他平臺上運行的程序。由于嵌入式開發程序不同于通用計算機開發程序,嵌入式開發板上不能提供足夠的資源供開發人員編譯和調試。通常,開發人員首先在通用計算機上編寫目標代碼;然后將目標代碼編譯成目標機上能夠運行的指令格式二進制代碼;再將目標程序下載到嵌入式開發板上運行,通過通用計算機和開發板外設查看相關的輸出結果。
1.2 客戶端的功能模塊設計優化
根據油田設備通信中間件顯示器聯網系統客戶端的需求分析,客戶端軟件需要實時顯示中間件的運行狀態,動態顯示咨詢信息,提供影音文件的播放??蛻舳塑浖谶\行周期內需要維護全局的數據結構,數據結構中包括中間件顯示器客戶端的顯示界面的整個對象,可以將此對象理解成為客戶端的數據模型層,無論是通過遠程更改界面還是通過獲取的串口數據顯示中間件運行信息,都是對當前中間件顯示器對象進行維護。
1.3 通信功能模塊設計優化
油田設備通信中間件顯示器客戶端應用程序模塊結構由以下幾部分組成:
(1)主模塊。初始化全局數據結構,啟動服務子線程、數據采集子線程和系統時鐘子線程。
(2)服務模塊。與遠程服務器進行交互,監聽遠程服務器和現場設備的請求,獲取配置信息;發送當前狀態信息給遠程服務器。
(3)文件解析和下載模塊。對服務模塊接收到的配置文件進行解析,并將解析結果傳遞給全局數據對象,下載配置文件中包含的文件。
根據需求分析的結果,管理員通過瀏覽器遠程訪問服務器端,對中間件顯示器客戶端進行管理和維護,這要求服務器端要有一定穩定性和安全性[3];同時,由于管理員的數量有限,服務器端不需要支持多用戶并發事件的處理,所以服務器端的成本應該相對較低。依據以上分析,采用LAMP網站架構構建服務器端平臺。
2.1 服務器端架構
LAMP是目前世界上最為流行的Web架構之一,包括Linux操作系統、Apache網絡服務器、MySQL數據庫和Python腳本語言。LAMPStack使用的產品均為開源的軟件產品,而且非常多的商業應用都在使用這個Web架構,已經非常成熟。相對于J2EE架構來說,LAMP架構具有開發效率高、輕量級、網絡資源豐富等優點;相對于.NET架構來說,LAMP架構具有價格低廉、性能更強、良好的通用性和跨平臺性等優勢。所以,使用LAMP架構無論在性能、質量還是價格上都是服務器端平臺的首選架構。
2.2 平臺構建過程優化
LAMP架構的搭建過程是首先安裝CentOS操作系統,而后安裝Apache服務器、MySQL數據庫,再安裝PHP運行環境。配置Apache服務器的詳細設置,然后通過瀏覽器進行測試。一個基于模型的油田設備通信中間件由以下部分組成:
(1)狀態集合S是集合Σ上的一個映射,Σ上必須包含一個有限子集合V,且V中包含所有的狀態變量或動態轉移函數。
(2)S上的一個非空子集Sinit稱作初始狀態集。
(3)S上的一個子集Sacc稱作可接受狀態集。
(4)操作集合Acts是Σ-V.中的項,Acts是可控集合Ctrl和可觀測集合Obs的不相交并集。
(5)存在轉移關系,δ?S×Acts×S。
若存在狀態t,使得任意狀態t和操作a之間存在關系(s,a,t)∈δ,則稱M是確定的,記為δ(s,a)=t。在本文中所指的基于模型的油田設備通信中間件均為確定的。
服務器端是管理員管理中間件顯示器客戶端的接口,通過多臺客戶端連接同一臺服務器,形成星形的拓撲結構。管理員通過瀏覽器訪問服務器端,服務器端再和與之相連的客戶端交互。
設計的專用網關的最終實現形式是一個可執行的應用程序,運行之后能夠為接入它的用戶提供數據業務[4-5]?,F從應用程序的入口開始,以成功提供數據業務為結束,詳細描述一個完整的業務實現流程。
(1)配置系統參數。專用網關放置在局域網中,使用內部IP地址,通過局域網網關連接到外網。因此,需要為專用網關配置相關的網絡參數,如網卡名稱、IP地址、子網掩碼和SCTP端口號等;同時還需要配置數據庫參數,如連接數據庫的IP地址、端口號、數據庫名稱、用戶名和密碼等。
(2)初始化各個模塊。由于移動性管理、GPRS移動性管理和會話管理三個模塊的信息都在專用網關維護的用戶信息中,所以只初始化與用戶信息相關的參數即可。如配置可以允許的最大用戶數、動態申請維護用戶信息所需的內存空間和一些需要使用的全局變量等。初始化SCTP和ROUTE模塊,完成專用網關與網絡層數據的收發和路由工作,其實現技術為網絡編程,過程基本固定。
(3)啟動控制面過程。根據對專用網關協議棧的介紹可知,專用網關需要成功執行控制面過程后,才可以為用戶建立用戶面連接。因此,運行SCTP,開始偵聽網絡、建立連接和接收數據。
油田設備通信中間件服務器端程序包括前端和后端兩部分組成,前端主要是為管理員提供服務,獲取管理員的請求信息并將結果存儲到數據庫或直接傳遞給后端部分;后端主要是與客戶端進行交互,維護每臺與服務器端連接的設備的狀態,并將前端的某些請求發送給客戶端??蛻舳讼蚍掌鞫苏埱筚Y源,為服務器端提供管理接口;服務器端為客戶端提供資源,向客戶端發送配置請求。所以,油田設備通信中間件顯示器客戶端與服務器端之間是互為Client/Server式的結構。中間件顯示器聯網系統可作為替代現有油田設備通信中間件顯示技術的聯網解決方案。
[1]曹軍威,萬宇鑫,涂國煜,等.智能電網信息系統體系結構研究[J].計算機學報,2013(1):12-13.
[2]尤毅,劉東,于文鵬,等.主動配電網技術及其進展[J].電力系統自動化,2012(18):35-36.
[3]袁新喜,談志遠,陶維青.IEC61850標準在微電網中的應用探討[J].電測與儀表,2012(7):39-40.
[4]張佳斌,楊歡,趙榮祥,等.微電網通信系統研究綜述[J].華東電力,2011(10):67-68.
[5]周鄴飛,徐石明.智能變電站數據中心初探[J].電力系統自動化,2011(18):89-90.
(欄目主持 關梅君)
10.3969/j.issn.1006-6896.2014.4.038
基金論文:河北省高等學校科學技術研究項目“基于本體的語義Web服務集成方法研究”(Z2012032);河北農業大學非生命學科和新興學科科研發展項目“基于語義Web服務的系統集成方法研究”。