摘 要:本文基于SaaS模式的數字水表遠程監控系統總體設計方案。設計了系統的總體架構,將系統分為水表、中央服務器及終端用戶三層,水表通過GPRS技術建立與中央服務器的雙向連接,終端用戶通過互聯網使用該系統。設計了基于多租戶的數據存儲架構和應用可配置,將SaaS技術在監控系統中進行了實現。系統實際效果達到了預期目的。相關技術的創新開發可為其它計量儀表所借鑒。
關鍵詞:軟件即服務SaaS數字水表無線通訊GPRS多租戶應用
中圖分類號:TM11文獻標識碼:A文章編號:1674-098X(2011)06(c)-0016-03
我國的自來水管理水平尚不能適應城市化進程的發展,自來水管跑冒滴漏現象十分嚴重,據統計我國很多城市漏損率在20%~30%之間,更有甚者達到50%。因此,準確及時地進行水表讀數的采集是實現1自來水管理信息化首先需要解決的問題,所以開發一套實時準確的抄表系統就顯得十分必要。
本文描述的系統中,水表定時通過GPRS通信與中央服務器的建立連接交換數據實現了遠程抄表。采用SaaS模式,不僅取消了傳統的軟件授權費用,而且將應用軟件部署在統一的服務器上,水務部門按需配置軟件,無需購買軟硬件、建設機房、招聘IT人員,即可以租賃付費的方式通過互聯網使用該系統。
1 數字水表遠程監控的整體結構
系統分為三層:水表、中央服務器和終端用戶。系統的整體結構示意圖見圖1。
水表:包含自備井水表、大口徑水表及居民用水水表,水表均可通過GPRS與具有固定IP地址的中央服務器連接,將水表數據(流量、狀態等)定時傳輸到與網絡連接的中央服務器中,同時可就收服務器控制指令改變自身狀態(開、關)。
中央服務器:提供系統部署的環境,負責接收水表發送的數據并監控水表(設定)、向水表發送控制信息(充值、關閥等)。
終端用戶:自來水公司人員,通過瀏覽器登陸部署在中央服務器的系統,在用戶的權限范圍內使用系統的相關功能,如售水、查詢等。
2 數字水表遠程監控系統的SaaS模式的設計與實現
2.1 邏輯視圖
系統采用WCF (Windows Communication Foundation) 技術來實現SaaS模式,將系統邏輯視圖的設計為如圖2所示結構。
其中:Web包含了Web頁面,是用戶(用戶:這里的用戶是指實現水務管理的一個單元,即自來水公司)操作的頁面接口;Web.Securit包含Membership和用戶授權的自定義Provider;Communication是通信模塊,完成水表與服務器的數據交換;Service.Proxy:包含系統所有的WCF的服務的客戶端代理;Runtime.Services包含數據模型,授權,認證的WCF服務;Business.Services:包含了售水、查詢、數據統計等業務邏輯的WCF服務;DataModel模塊提供了元數據和實體邏輯的實現。
2.2 SaaS成熟度模型的選擇
根據SaaS應用是否具有可配置性、高性能、可伸縮性的特性,SaaS成熟度模型分成四級,見表1。
SaaS的可伸縮性指的是隨著用戶數的增加,系統架構不用做調整,而僅需要增加相應的硬件設備(應用服務器、數據服務器)即可。在本系統中,主要用戶為自來水公司人員,用戶數量不大且并發量低,可伸縮性的實現成本相對較高,系統的設計選擇Level3。
2.3 多租戶的數據存儲的設計
針對SaaS多租戶服務模式的特點,在數據存儲方面可以采用以下三種備選方案,如表2。
三種方案中,第三種方案的維護和購置成本最低,允許每個數據庫支持的租戶數量最多。考慮到現階段系統面向的主要是中小自來水公司,在數據存儲方面采取方案3,見圖3。
2.4 多租戶應用的可配置性
2.4.1 數據可配置
不同地方水費征收條目不同,所以不同租戶針對水費條目要求可定制。實現數據可配置有3種常見方案:定制字段、預分配字段和名稱值對。考慮到擴展數據的靈活性和資源的利用率,系統采用名稱值對法(如圖4)。
配置元數據表中所配置的擴展數據與業務數據表中的租戶TenantId是對應的,擴展數據表的DataId與業務數據表中的主鍵是相對應的;而擴展表的ConfigId與配置元數據表中配置擴展項是相對應的。
2.4.2 界面可配置
在多租戶的SaaS應用下,不同的用戶可以編輯自己的界面。SaaS模式下的界面可配置主要包括兩個方面:(1)系統菜單可配置:采用XML文件存儲不同角色用戶對應的頁面;(2)頁面內容可配置:采用.NET下的Themes和WebParts,租戶可以改變主題和皮膚,編輯自己的WebParts。
2.4.3 功能可配置
不同的自來水公司具有不同的組織結構,不同人員權限不同。本系統的功能包如圖5,每一個功能包包括若干子功能。采用RBAC模型,不同租戶可以創建自己角色,然后在自己具備功能的范圍內給角色分配相應的相應的功能。一個租戶下不同角色的功能結構采用XML格式存儲到數據庫中。用戶訪問指定功能時候會調用Runtime模塊中AuthorizationService對用戶進行授權認證。
3 結語
本系統探討并實現了SaaS模式在無線水表監控系統中的應用軟件系統。解決水務領域中無人抄表,多租戶情況下數據存儲和應用可配置等相關問題,有利于加快水務領域的信息化建設。相關研究可為建立煤、電等監控系統類似領域借鑒。
參考文獻
[1]劉嘉泉.基于以太網的遠程自動抄表系統[D].浙江:浙江大學,2005:2-4.
[2]Young-Woo Lee1;Seongbae Eun; Seung-Hyueb Oh.Wireless digital water meter with low power consumption for automatic meter reading.[C] USA:IEEE, Piscataway,NJ,2008:2-3.
[3]葉偉,等.互聯網時代的軟件革命SaaS架構設計[M].北京:電子工業出版社,2009,36-41.
[4]Bill Evjen,等.ASP.NET 3.5 SP1 高級編程(第6版)[M].北京:清華大學出版社,2010:698-700.