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