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