基于WCF及C/S架構的物流系統多點實時監控的問題論文
綿陽煙廠物流系統已經正常運行兩年,調度系統采用的是單點監控的方式,其結構如圖1所示。
從(圖1)可以看出,只能一個用戶對調度系統進行監控。但是在發生故障時,通常需要多個人員協同處理,并需要查看系統狀況,會造成爭搶資源的情況。故實現物流調度系統的多點實時監控后,可以滿足管理、維修及操作等人員對物流設備現場運行情況的動態掌控需求,有效提高企業工作效率,減少因為物流調度系統反復切換引起誤操作而造成的設備損壞和人身傷害。
本文描述了WCF技術在分布式系統中的優勢,分析了B/S和C/S架構的特點,結合實際需求得出c/s架構實用于該系統的結論。設計并實現了基于WCF及C/S架構的多點監控軟件。
1、分布式模型與WCF技術
WCF是構建安全可靠的事務性服務的統一框架,提供了對可靠性、事務性、并發管理、安全性以及實例激活等技術的有力支持。
在客戶端,分布式應用通過一個代理來轉發對宿主端所提供服務的調用,而代理擁有和服務相同的操作接口。這就意味著客戶端不會直接調用服務,即便這個服務就在本機的內存中。當客戶端代理接收到來自客戶端的調用請求后,它將消息通過信道鏈向下傳遞。每個信道都會執行相應消息的調用前處理,例如對消息的編碼、提供可靠的會話、對消息進行加密等?蛻舳说淖詈笠粋信道則是傳輸信道,根據配置的傳輸方式發送消息給宿主。
在宿主端,消息同樣通過信道鏈進行傳輸。與客戶端信道相對應,宿主端信道也會對消息執行相應的宿主端的調用前處理,例如對消息的解碼、提供會話管理、對消息進行解密等。宿主端的最后一個信道則負責將消息發送給消息分發器(Dispatcher),由分發器負責調用服務的實例。
作為基于SOA的一個框架產品,WCF最重要的就是能夠快捷的創建一個服務(Service)。
Service Class:一個標記了[Servicece Contract]Attribute的類,在其中可能包含多個方法。除了標記了一些WCF特有的Attribute外,這個類與一般的類沒有什么區別。
1、Host(宿主):可以是應用程序,進程如Windows Service等,它是WCF Service運行的環境。
2、Endpoints:可以是一個,也可以是一組,它是WCF實現通信的核心要素。
一個Endpoint由三部分組成:Address,Binding,Contract,將這三部分稱為是Endpoint的ABcs。Address~Endpoint的網絡地址,它標記了消息發送的目的地。Binding描述的是如何發送消息,例如消息發送的傳輸協議(女HTCP,HTTP),安全(女HSSL,SOAP消息安全)。Contract則描述的是消息所包含的內容,以及消息的組織和操作方式,例如是one-way,duplex和request/reply。Endpoint中的ABcs分別代表的含義就是:where,how,what。當WCF發送消息時,通過address知道消息發送的地址,通過bjnding知道怎樣來發送它,通過contract則知道發送的消息是什么。
2、C/S架構
C/S結構,即Client/Server(客戶機/服務器)結構,通過將任務合理分配到Ciient/NServer端,降低了系統的通訊開銷,可以充分利用兩端硬件環境的優勢。B/S結構,即Browser/Server(瀏覽器/服務器)結構,是對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現,形成所謂3 tier結構。B/S結構,主要是利用WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript、JavaScnpt)和ActiveX技術,用通用瀏覽器就實現了需要復雜專用軟件才能實現的強大功能,并節約了開發成本?紤]到物流系統多點實時監控具備以下特點:
。1)建立在專用的網絡上,小范圍里的網絡環境,局域網之間再通過專門服務器提供連接和數據交換服務。
(2)注重流程,處理用戶面固定的需求。
。3)客戶端實現與服務器的直接相連,沒有中間環節,需要快速響應。
(4)需要較強的事務處理能力。
(5)B/S架構服務器壓力大,C/S架構數據處理在客戶端完成,可以減輕服務器的壓力。
所以在本系統中采用C/S架構是最佳方案。
3、多點監控結構設計及業務流程
物流系統多點實時監控由數據廣播模塊、WCF通訊模塊,C/S客戶端模塊組成。
數據廣播模塊功能用于實時發布系統運行數據至各個終端,wCF通訊模塊用于查詢信息的獲取達到多點監控的實現,C/S客戶端模塊用于實時顯示與服務器一致的動態畫面、設備運行情況、物料信息等。在MicrosoftVisual Studio 2010開發環境中采用C#語言實現數據廣播模塊、WCF通訊模塊、C/S客戶端模塊。數據廣播模塊向特定網絡地址段,持續發布物流數據;c/s客戶端只要存在于該網絡地址段,就可以持續接收物流數據,并顯示實時動畫;當客戶端需要獲取特定數據時,通過wCF通訊模塊,即可從服務器端獲取相應物料的具體信息。
4、多點監控的實現
在Microsoft Visual Studio 2010開發環境中采用C#語言實現。調度系統采用UDP協議向兩個指定網段的客戶端發送廣播數據。當客戶端需要主動獲取數據,通21wCF遠程調用調度服務端的服務。調度端周期性的發送調度狀態廣播數據,程序流程圖如圖2所示。特定網段上的客戶端都可以接收到調度狀態數據,接收數據及處理數據的程序流程圖如下:
。1)多點監控的實現
在Microsoft Visual Studio 2010開發環境中采用C#語言實現。調度系統采用UDP協議向兩個指定的網段的客戶端發送廣播數據。當客戶端需要主動獲取數據,通過WCF遠程調用調度服務端的服務。
用戶在客戶端上操作時,客戶端主動發起數據請求,這是通過調用服務端的WCF服務實現的。以上內容完整實現了服務端發出數據廣播、客戶端接收數據廣播,客戶端發出遠程調用、服務端提供服務的功能,即實現了從服務端到客戶端和從客戶端到服務端的雙向通信。
結論
該系統已在綿陽卷煙廠運行數月,并取得了應用上的成果。多點實時監控能有效地提高了調度系統的工作效率;能夠成功實現物流調度系統的多點實時監控,可以滿足管理、維修及操作等人員對物流設備現場運行情況的動態掌控需求,有效提高企業工作效率,減少因為物流調度系統反復切換引起誤操作而造成的設備損壞和人身傷害。
參考文獻
[1]張海藩,軟件工程導論[M],清華大學出版社
[2]duv&l LowyCWCF SePvice編程[M1,英文影印版,南京:東南大學出版社,2007,北京:電子工業出版社,2009
[3]翁浩海,張玉潤,徐恩來,基于B/S、C/S綜合架構的化工企業管理信息平臺的開發與研[J]化工自動化及儀表,2002年第2期,10-14
【基于WCF及C/S架構的物流系統多點實時監控的問題論文】相關文章:
基于監控特征的引導系統設計方案論文02-13
基于Hadoop分布式文件系統的單點問題的研究論文12-17
電力技術中實時電力調度系統的應用論文03-16
基于物聯網技術的物流信息系統促進物流企業發展研究論文07-20
基于Web的危險品運輸監控系統設計探究02-26
畢業論文:紅外防盜監控系統02-24
計算機安全監控系統技術論文11-08
- 相關推薦