国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web Service技術(shù)在污水處理遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用

2020-06-11 07:01韓紅桂
儀表技術(shù)與傳感器 2020年5期
關(guān)鍵詞:字符串文檔污水處理

郭 民,高 強(qiáng),4,韓紅桂

(1.北京工業(yè)大學(xué)信息學(xué)部,北京 100124;2.數(shù)字社區(qū)教育部工程研究中心,北京 100124;3.計(jì)算智能與智能系統(tǒng)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100124;4.城市軌道交通北京實(shí)驗(yàn)室,北京 100124)

0 引言

隨著我國經(jīng)濟(jì)迅速發(fā)展,污水排放量逐漸增多,水環(huán)境的保護(hù)越來越受到許多監(jiān)管和環(huán)保部門的重視[1-3]?!笆濉币?guī)劃的開局起步期,我國為了加強(qiáng)對水環(huán)境的保護(hù),污染源的監(jiān)管以及污水的治理,開始加快污水處理廠的建設(shè)[4-5]。但污水處理廠普遍分布較廣,位置分散,如何搭建監(jiān)控系統(tǒng)對現(xiàn)有的污水處理廠進(jìn)行統(tǒng)一、有效的監(jiān)管成為越來越關(guān)注的問題[6-9]。

傳統(tǒng)的污水處理監(jiān)控系統(tǒng)多是面向水廠個體,它們之間既有共性又有個性,既相對獨(dú)立又相互耦合。為了對區(qū)域內(nèi)的污水處理廠進(jìn)行集中監(jiān)控,必須設(shè)計(jì)新的系統(tǒng)架構(gòu)方案,但是污水處理監(jiān)控系統(tǒng)規(guī)模龐大、結(jié)構(gòu)復(fù)雜、目標(biāo)多樣、影響因素多,一定程度上會帶來系統(tǒng)開發(fā)周期長,效率低,復(fù)用性不高,維護(hù)難,擴(kuò)展性差等問題。針對以上問題,文中結(jié)合Web Service的特點(diǎn)提出了一種基于Web Service技術(shù)的污水處理遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與開發(fā)方法,結(jié)果表明利用Web Service技術(shù)開發(fā)的污水處理遠(yuǎn)程監(jiān)控系統(tǒng)為軟件開發(fā)提供了標(biāo)準(zhǔn),增強(qiáng)了軟件及模塊的復(fù)用性,提高了軟件開發(fā)效率,方便了系統(tǒng)的維護(hù),并為軟件的擴(kuò)展帶來了便捷性。

1 Web Service技術(shù)特點(diǎn)

Web Service又名擴(kuò)展型可標(biāo)記語言(extensible markup language,XML)Web Service[10]。Web Service是一種可自主編寫的服務(wù)程序,任意語言都可以開發(fā),程序體積小,并且在XML文檔的基礎(chǔ)上,可以保證不同的平臺或操作系統(tǒng)之間自由通信。Web Service通常又被定義為一組模塊化的應(yīng)用程序接口(application programming interface,API),其顯著特點(diǎn)為高獨(dú)立性、高復(fù)用性、高集成性[11]。

Web Service對象具有低耦合和高獨(dú)立性。Web Service所采取的通訊協(xié)議為簡單對象訪問協(xié)議(simple object access protocol,SOAP),SOAP是基于XML和超文本傳輸協(xié)議(hyper text transfer protocol,HTTP)的一種協(xié)議,而HTTP為網(wǎng)絡(luò)間交互的最基本的協(xié)議[12]。

Web Service是一種服務(wù)型的應(yīng)用程序,Web Service使用者在調(diào)用服務(wù)時,只需要了解服務(wù)的功能,以及服務(wù)接口的輸入和輸出參數(shù),并且不需要考慮服務(wù)內(nèi)部的邏輯實(shí)現(xiàn),所以Web Service具有高復(fù)用性[13]。

Web Service也具有高集成性。由于Web服務(wù)使用了最基本的通用協(xié)議和任何平臺都可解析的XML文檔,完全屏蔽了不同的平臺、不同的組件、不同的軟件、不同語言間的差異,實(shí)現(xiàn)了不同環(huán)境下的各個模塊間最高的集成性[14]。

因此,將Web Service技術(shù)應(yīng)用于污水處理遠(yuǎn)程監(jiān)控系統(tǒng)中,將充分發(fā)揮Web Service特點(diǎn),也將有效解決污水處理遠(yuǎn)程監(jiān)控系統(tǒng)中軟件及模塊可復(fù)用性低的問題。

2 Web Service接口設(shè)計(jì)

Web Service 接口的開發(fā)可以分為服務(wù)器端開發(fā)和客戶端開發(fā)兩個方面:

(1)服務(wù)端開發(fā):主要是開發(fā)者通過分析各個系統(tǒng)的業(yè)務(wù)模塊間的相通的部分,對相通的部分的邏輯程序進(jìn)行編寫,并且規(guī)范輸入與輸出的數(shù)據(jù)類型,將輸入與輸出的參數(shù)以及參數(shù)類型寫入WSDL文檔,以便客戶端對服務(wù)進(jìn)行查詢和了解。

(2)客戶端開發(fā):客戶端的開發(fā)更多的集中在對服務(wù)的引用中,客戶端根據(jù)所需的服務(wù)來尋找相應(yīng)的WSDL文檔。根據(jù)WSDL文檔,客戶端會發(fā)送一個包含URL地址的SOAP請求到服務(wù)器端,以請求使用該Web Service接口,服務(wù)端在接收到SOAP請求消息后,再通過HTTP請求將應(yīng)答的消息返回客戶端[15]。

2.1 功能和數(shù)據(jù)需求分析

污水處理遠(yuǎn)程監(jiān)控系統(tǒng)主要負(fù)責(zé)收集所有污水處理廠水處理工藝的實(shí)時數(shù)據(jù),并對數(shù)據(jù)進(jìn)行預(yù)處理和展示。污水處理遠(yuǎn)程監(jiān)控系統(tǒng)根據(jù)對象的不同分為兩大功能:數(shù)據(jù)采集與處理;數(shù)據(jù)顯示與分析。數(shù)據(jù)采集與處理模塊主要包含服務(wù)器采集PLC的信號數(shù)據(jù),并對電信號進(jìn)行數(shù)模轉(zhuǎn)換。數(shù)據(jù)顯示模塊主要包含流程顯示模塊、報(bào)警管理模塊、趨勢分析模塊、報(bào)表管理模塊、圖表分析模塊、系統(tǒng)管理模塊等,具體功能模塊如圖1所示。

圖1 污水處理遠(yuǎn)程監(jiān)控系統(tǒng)功能模塊

報(bào)警管理模塊主要是對水質(zhì)數(shù)據(jù)以及采集設(shè)備的異常進(jìn)行報(bào)警,設(shè)備報(bào)警一般包含設(shè)備名稱、設(shè)備編號、報(bào)警開始時間、報(bào)警解除時間等屬性,水質(zhì)報(bào)警一般包含工藝名稱、水質(zhì)參數(shù)名稱、報(bào)警開始時間、報(bào)警解除時間等屬性。該模塊的總體輸入為設(shè)備名稱、設(shè)備編號、工藝名稱、參數(shù)名稱等。報(bào)警發(fā)生時間、報(bào)警解除時間以及報(bào)警級別既可以作為報(bào)警管理模塊的輸入,同時可以作為輸出。

趨勢分析模塊、報(bào)表管理模塊、圖表分析模塊等主要根據(jù)不同的條件查詢數(shù)據(jù)庫中的數(shù)據(jù),并將數(shù)據(jù)以表格或折線的形式展現(xiàn)出來。利用工藝名稱、參數(shù)名稱、時間等參數(shù)可以對數(shù)據(jù)庫中的相應(yīng)的水質(zhì)數(shù)據(jù)進(jìn)行查詢,并將查詢結(jié)果作為返回值返回??偟膩碚f,這些模塊輸入為工藝名稱、參數(shù)名稱、查詢起止時間,輸出為參數(shù)值、采集時間等。

綜上所述,不同的功能模塊具有不同的功能,需要不同的數(shù)據(jù),因此輸入與輸出不可能完全相同,從而導(dǎo)致了模塊的復(fù)用性不高。為了增強(qiáng)模塊的復(fù)用性,將所有的輸入與輸出進(jìn)行整合,接口的輸入與輸出參數(shù)如表1、表2所示。

表1 接口輸入?yún)?shù)

2.2 Web Service接口軟件架構(gòu)設(shè)計(jì)

為了提供完整的業(yè)務(wù)功能以及需要的系統(tǒng)功能,Web Service需要為所有的功能模塊提供接口,包括污水處理流程顯示模塊、報(bào)警管理模塊、趨勢分析模塊、報(bào)表管理模塊、圖表分析模塊、系統(tǒng)安全管理模塊等。結(jié)合面向功能的思路,污水處理遠(yuǎn)程監(jiān)控系統(tǒng)的各個

表2 接口輸出參數(shù)

功能模塊向Web Service服務(wù)器發(fā)出請求服務(wù)的SOAP協(xié)議指令,UDDI服務(wù)器接收請求的信息,接著UDDI服務(wù)器再將用戶的請求信息返回給Web Service服務(wù)端,Web Service服務(wù)端接收該請求,并通過接收到的WSDL文檔中工藝名稱、參數(shù)名稱、時間等參數(shù)調(diào)用系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù),并把結(jié)果轉(zhuǎn)化為XML數(shù)據(jù)形式發(fā)送到客戶端,通過URL地址便可以觀察到污水處理過程數(shù)據(jù),具體架構(gòu)如圖2所示。

圖2 Web Service接口軟件架構(gòu)

2.3 接口參數(shù)定義

根據(jù)污水處理監(jiān)控系統(tǒng)的接口需求分析,系統(tǒng)的Web Service接口提供包括獲取水質(zhì)參數(shù)值、采集時間、報(bào)警級別、設(shè)備狀態(tài)、報(bào)警發(fā)生時間、報(bào)警解除時間等接口功能。詳細(xì)接口參數(shù)定義如下:

參數(shù)1:獲取某工藝水質(zhì)參數(shù)值

定義:public String getVal(String strInputXML)

輸入:字符串

輸入:返回水質(zhì)參數(shù)值字符串

參數(shù)2:獲取水質(zhì)參數(shù)的采集時間

定義:public String getValtime(String strInput XML)

輸入:字符串

輸出:返回水質(zhì)參數(shù)的采集時間字符串

接口3:獲取某工藝設(shè)備狀態(tài)

定義:public String getState(String strInputXML)

輸入:字符串

輸出:返回工藝設(shè)備狀態(tài)布爾變量

參數(shù)4:獲取報(bào)警發(fā)生時間

定義:public String getReporterHTime(String str InputXML)

輸入:字符串

輸出:返回報(bào)警發(fā)生時間字符串

參數(shù)5:獲取報(bào)警解除時間

定義:public String getReportETime(String str InputXML)

輸入:字符串

輸出:返回報(bào)警解除時間字符串

參數(shù)6:獲取報(bào)警級別

定義:public String getReportLevel(String str InputXML)

輸入:字符串

輸出:返回報(bào)警級別字符串

由上述內(nèi)容可知,系統(tǒng)提供的Web Service服務(wù)所提供的參數(shù)大致分為2種:獲取實(shí)時數(shù)據(jù);獲取數(shù)據(jù)庫中的歷史數(shù)據(jù)。獲取數(shù)據(jù)庫的實(shí)時數(shù)據(jù)類型的輸入數(shù)據(jù)類型是string,返回值的數(shù)據(jù)類型是string,獲取歷史數(shù)據(jù)類型的輸入數(shù)據(jù)類型是bool、string、time,返回值的數(shù)據(jù)類型是string。

3 Web Service接口實(shí)現(xiàn)

根據(jù)上述對污水處理遠(yuǎn)程監(jiān)控系統(tǒng)的Web Service接口參數(shù)的分析,采用C#語言編寫Web Service服務(wù),使用Visual Studio 2010進(jìn)行開發(fā),在此以獲取水質(zhì)參數(shù)溶解氧(dissolved oxygen,DO)為例進(jìn)行說明,部分實(shí)現(xiàn)代碼如下:

public class WebService

{

public string getVal(string getval,Dictionary DO)

{

//通過getval方法獲取DO數(shù)據(jù)

byte[]data = getRequestData(getval,DO);

string mSoapAction =″http://tempuri.org/″+ getval;

request.Headers.Add(″SOAPAction″,mSoapAction);

request.ContentLength = data.Length;

Stream rStream = request.GetRequest Stream();

rStream.Write(data,0,data.Length);

rStream.Close();

WebResponse response = request.Get Response();

Stream dataStream = response.Get ResponseStream();

StreamReader reader = new Stream Reader

(dataStream);

string result = reader.ReadToEnd();

dataStream.Close();

response.Close();

return result;

}

}

根據(jù)上述編寫的Web Service,定義getval為接口的方法名稱,并將方法對應(yīng)的URL地址封裝到mSoapAction字符串中,并通過SOAP協(xié)議將字符串發(fā)送給UDDI服務(wù)器,尋找到getval方法。對于DO用response實(shí)體化以數(shù)據(jù)流的形式讀取,在讀取完后,對數(shù)據(jù)流和請求進(jìn)行關(guān)閉,避免線程等待,占用CUP。相對應(yīng)的接口文檔部分如下:

maxOccurs=″1″name=″i″

type=″s:string″/>

以上XML定義該接口的名字為getval,并利用complexType標(biāo)簽對復(fù)雜接口進(jìn)行描述,內(nèi)容包含接口中參數(shù)的順序,該部分包含一個元素,通過字符串變量i獲取DO的值,i代表參數(shù)名稱。

對編寫的Web Service接口進(jìn)行發(fā)布,生成相應(yīng)的WSDL文檔,根據(jù)Web Service文檔中的getval方法中的SOAPAction內(nèi)容發(fā)送POST請求,以實(shí)現(xiàn)數(shù)據(jù)的傳遞。

4 結(jié)論

針對污水處理遠(yuǎn)程監(jiān)控系統(tǒng)中存在系統(tǒng)開發(fā)周期長、效率低、復(fù)用性不高等問題,文中提出了一種基于Web Service技術(shù)設(shè)計(jì)開發(fā)污水處理遠(yuǎn)程監(jiān)控系統(tǒng)的方法,增強(qiáng)了軟件及模塊的復(fù)用性。對污水處理遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)了規(guī)范性的Web Service接口,方便了系統(tǒng)的功能擴(kuò)展。

該接口的設(shè)計(jì)和實(shí)現(xiàn),立足于污水處理監(jiān)管的需要,它能大幅度減少系統(tǒng)開發(fā)與維護(hù)周期,增強(qiáng)軟件和模塊復(fù)用性,成倍地提高系統(tǒng)開發(fā)效率,方便系統(tǒng)功能擴(kuò)展。

猜你喜歡
字符串文檔污水處理
淺談Matlab與Word文檔的應(yīng)用接口
我國鄉(xiāng)鎮(zhèn)污水處理模式的探討
農(nóng)村黑臭水體治理和污水處理淺探
太原市61個村要建污水處理設(shè)施嚴(yán)禁直排入河
有人一聲不吭向你扔了個文檔
基于文本挖掘的語詞典研究
涌浪機(jī)在污水處理中的應(yīng)用
Word文檔 高效分合有高招
SQL server 2008中的常見的字符串處理函數(shù)
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat