久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 設計應用 > 動環監控系統中B接口的實現

動環監控系統中B接口的實現

作者:陳圓 粟欣 時間:2017-07-27 來源:電子產品世界 收藏
編者按:基站動力環境(動環)監控系統中的B接口協議,規范了監控中心與現場監控單元互聯的數據傳輸方式。文章在研究B接口報文協議的基礎上,設計了一種使用 gSOAP工具的Web Service框架。在Web Service框架下,文章給出了用于基站動環監控系統中B接口報文協議的編程實現過程和測試方法。測試結果表明,使用gSOAP工具能夠簡化B接口報文協議實現的方式,符合監控中心與現場監控單元通信規范。

作者 陳圓1 粟欣2 1.重慶郵電大學 通信與信息工程學院(重慶 400065)2.清華大學 無線與移動通信技術研究中心(北京 100084)

本文引用地址:http://cqxgywz.com/article/201707/362275.htm

陳圓(1991-),男,碩士,研究方向:無線專網;粟欣,男,研究員,研究方向:移動通信、寬帶無線接入。

摘要:基站動力環境(動環)監控系統中的協議,規范了監控中心與現場監控單元互聯的數據傳輸方式。文章在研究報文協議的基礎上,設計了一種使用 工具的框架。在框架下,文章給出了用于基站報文協議的編程實現過程和測試方法。測試結果表明,使用工具能夠簡化B接口報文協議實現的方式,符合監控中心與現場監控單元通信規范。

引言

  目前基站的架構分為三層:接入層、傳輸層和業務層[1-4]。接入層包含現場監控單元(Field Supervision Unit, FSU)和監控對象(Supervision Object, SO),SO指的是被監控的電源、空調等設備及環境量等。傳輸層包含傳輸節點設備和傳輸網絡設備等。業務層包含集中監控中心(Supervision Center, SC)。

  為規范基站的建設標準,《中國鐵塔動環監控系統統一互聯B接口技術規范》明確了動環監控系統互聯B接口互聯規范、B接口定義和報文協議[5]。FSU主要的功能是與基站監控現場的對象連接,監控設備的運行狀態、控制設備的運行,采集現場的環境參數。采集到數據之后,將數據傳送到SC。當出現監控異常時,FSU產生告警事件并上報到SC,SC處理告警后反饋控制命令至FSU,FSU通過控制命令控制智能設備。圖1表示了SC與FSU之間的B接口報文協議定義報文類型和數據流方向。

  本文介紹了B接口報文協議的內容,包括報文原則、WSDL定義、基本報文格式的定義;然后在研究B接口報文協議的基礎上,引出一種實現B接口報文協議的開源工具,描述了它的原理和使用方法;接著設計了一種基于 gSOAP開源工具的框架[6-7];最后在提出的框架下,本文給出了用于基站動環監控系統中B接口報文協議的編程實現過程和測試方法。測試結果表明,使用gSOAP工具能夠簡化B接口報文協議實現的方式,符合監控中心與現場監控單元通信規范。

1 B接口報文協議

  B接口報文協議定義了報文的原則,即SC與FSU之間的接口是基于Web Service技術的,消息協議采用擴展標記語言(eXtensible Markup Language, XML)格式。Web Service是為支持通過網絡的可互操作的機器到機器交互的軟件系統,可以使用基于HTTP的簡單對象接入協議 (Simple Object Access Protocol, SOAP)進行描述[6]。另外,B接口報文協議中提供了SC和FSU的網絡服務描述語言(Web Services Description Language, WSDL)文件:SCService.wsdl和FSUService.wsdl。這兩個文件主要是用來描述SC和FSU的Web服務交互的消息格式、數據類型、操作、協議綁定和服務地址。

  B接口是基于Web Service技術的,所以采用XML格式,B接口基本的報文格式定義如表1所示。基本的報文格式共有兩種類型,分別是請求報文和響應報文。每種類型的報文都包含1個一級節點和2個二級節點,例如請求報文,一級節點是Request,二級節點PK_Type包含請求報文的類型,二級節點Info包含請求報文的詳細內容。同樣,響應報文的一級節點是Response,二級節點PK_Type包含響應報文的類型,二級節點Info包含響應報文的詳細內容。

2 接口報文協議實現

2.1 gSOAP

  目前Web Service主要通過基于C/C++和JAVA兩種編程語言來實現,使用提供的工具包來定制和發布Web Service。利用gSOAP自動編碼工具實現Web Service應用程序接口,可以簡化實現客戶端和服務器端的編碼工作。gSOAP是以HTTP協議為基礎的通信協議,以XML文件形式請求遠程服務,再以XML文件的形式返回執行結果。Web Service中的任何一項服務都必須實現一系列遵守SOAP協議的遠程過程調用函數,以公開Web上的服務供遠程端調用,這是完全自動完成的。gSOAP服務函數接口定義是用一個標準C/C++頭文件說明的,服務也可以用WSDL文檔定義。WSDL文檔與gSOAP中的WSDL輸入被預處理以生成一個頭文件,這個頭文件包括服務函數的簽名和其他額外的數據類型聲明。頭文件由gSOAP編譯器編譯后,生成遠程調用服務的框架和數據類型序列化代碼,這些代碼編譯后能鏈接到服務應用程序,在數據分組網上作為Web Service。

  gSOAP工具箱提供兩個重要的工具:wsdl2h和soapcpp2。gSOAP的工作流程如圖2所示,詳細地說明了客戶端和服務端代碼生成過程的兩個步驟:WSDL文件作為wsdl2h的輸入,產生接口文件;將接口文件與導入的協議聲明和自定義序列化程序一起輸入到soapcpp2工具。soapcpp2的默認選項是輸出soapClient.cpp和soapServer.cpp,基于這兩個文件分別編寫客戶端和服務器的代碼。

2.2 基于Web Service的B接口程序框架

  B接口協議規范中說明了SC和FSU接入雙方的要求。當SC輪詢FSU獲取數據:溫濕度、電壓、電流、電量、頻率、開關狀態等時,FSU為服務端,SC為客戶端。當FSU主動上報設備事件數據:告警、狀態切換等時,FSU為客戶端,SC為服務端。因此,SC和FSU都需要提供Web Service的客戶端和服務端功能。如圖3所示,本文提出一種基于Web Service的B接口程序框架。SC端的fsuSvcClient與FSU端的fsuSvcServer互聯,完成SC輪詢及FSU獲取數據的功能,定義為FSUService。FSU端的scSvcClient與SC端的scSvcServer互聯,完成FSU主動上報設備事件數據的功能,定義為SCService。fsuSvcClient和 fsuSvcServer作為一個FSUService的客戶端和服務端,scSvcClient與scSvcServer作為一個SCService的客戶端和服務端。這兩個Web Service是相互獨立運行的。

2.3 B接口報文協議實現

  下面將使用gSOAP工具包來實現基站動環監控系統中的B接口報文協議。B接口報文協議中提供了SC和FSU的WSDL文件:SCService.wsdl和FSUService.wsdl。下面以實現SC端和FSU端的SCService為例,FSUService同理。首先,在Linux終端上通過使用gSOAP開發包中wsdl2h工具編譯SCService.wsdl文件,其命令行為:

  wsdl2h -o SCService.h SCService.wsdl

  這樣就是生成構建Web服務客戶端和服務端所需的接口文件SCService.h。

  接著使用soapcpp2生成C++文件形式的SOAP框架,具體命令行為:

  soapcpp2 SCService.h

  命令運行完成后會得到soapServer.cpp和soapClient.cpp。soapServer.cpp中主要是soap_serve_ns1_invoke()函數的定義,soapClient.cpp中則是soap_call_ns1_invoke()函數的定義。這兩個函數形成了一對遠程調用的方法,即在客戶端中調用了soap_call_ns1_invoke()函數,把數據發送至服務端。那么服務端中則會執行soap_serve_ns1_invoke()函數,接收由客戶端發送過來的數據,完成數據處理后,把結果返回給soap_serve_ns1_invoke()函數返回值中。這樣客戶端和服務端就完成了一次請求/響應的通信過程。需要指出的是,SCService.wsdl文件中描述了客戶端和服務端ns1_invoke函數。

  接下來就是在客戶端中待發送XML數據生成和服務端接收到XML數據后的解析處理和返回給客戶端的響應XML數據生成。XML數據的生成和解析使用的是TinyXML2庫來實現的。XML數據的生成與解析不作為B接口報文協議的實現展開描述。

3 測試與分析

  以SCService中的用戶注冊登陸過程來說明一下B接口報文協議的測試方法。如圖4所示,在Linux環境下,使用左側的終端代表客戶端,右側的終端代表服務端。首先在服務端中運行scSvcServer服務,8080為端口參數,然后在客戶端中運行scSvcClient,101為用戶注冊登陸類型參數。客戶端把準備好的LOGIN數據以XML文件的形式發送至服務端,例如終端顯示[LOGIN]FSU->SC。服務端處理LOGIN數據,顯示設備注冊成功后,生成LOGIN_ACK XML文件數據返回給客戶端,例如終端顯示的[LOGIN_ACK]SC->FSU。

  從終端顯示的請求報文和響應報文的內容可以看出,客戶端與服務端交互的XML數據是符合B接口基本的報文格式定義的。每種類型的報文都包含1個一級節點和2個二級節點,如果是請求報文,則一級節點是Request,二級節點PK_Type包含請求報文的類型,二級節點Info包含請求報文的詳細內容。同樣,響應報文的一級節點是Response,二級節點PK_Type包含響應報文的類型,二級節點Info包含響應報文的詳細內容。

4 結論

  本文設計的一種基于gSOAP開源工具的Web Service框架,用于基站動環監控系統中B接口報文協議的編程實現,能夠減少編程實現的編碼工作量。測試結果表明,使用gSOAP工具能夠簡化B接口報文協議實現的方式,符合監控中心與現場監控單元通信規范。但是,B接口協議中還包含了數據庫協議等規范說明,需要在目前的設計上完善B接口的功能。

  參考文獻:

  [1]崔恒源,黎福海,姚雪芬.移動通信基站動力環境監控系統設計及實現[J].計算機測量與控制,2009,17(10): 1955-1957.

  [2]高翠群.動力環境監控系統的消息傳輸協議設計研究[J].軟件工程師, 2010(7):53-54.

  [3]何世健.電信機房遠程監控系統的設計與軟件實現[D].西南交通大學,2013.

  [4]黃凱漩.基于B/S模式遠程監控系統的研究與實現[D].南京大學,2011.

  [5]C TOWER.中國鐵塔動環監控系統統一互聯B接口技術規范(試行)V1.0[S].2014.

  [6]ENGELEN R A V,GALLIVAN K A.The gSOAP Toolkit for Web Services and Peer-to-Peer Computing Networks; proceedings of the Ieee/acm International Symposium on CLUSTER Computing and the Grid, F, 2002[C].

  [7]VAN ENGELEN R, GUPTA G, PANT S.Developing Web services for C and C++[J].IEEE Internet Computing,2003,7(2):53-61.

  本文來源于《電子產品世界》2017年第8期第49頁,歡迎您寫論文時引用,并注明出處。



評論


相關推薦

技術專區

關閉