吳 川
(四川大學 華西醫(yī)院,成都 610041)
隨著社會經(jīng)濟技術的發(fā)展,對建筑電氣設備的控制由傳統(tǒng)的機械控制發(fā)展到如今的智能化控制,對人們的生活的方式產(chǎn)生了很大的影響。在智能化控制建筑設備的發(fā)展過程中,可以看到科技的進步,近十年來,國內的互聯(lián)網(wǎng)的發(fā)展對促進科技的發(fā)展有了很大的促進作用,但是國內的原創(chuàng)技術與西方仍然有很大的差距,國家對科技的發(fā)展高度重視[1]。中國的每一個家庭幾乎都接觸到了互聯(lián)網(wǎng),把大而繁重的局域網(wǎng)匯集為巨大的廣域網(wǎng),這對整個社會的發(fā)展和人們生活方式帶來了本質上的改變,這主要是由于B/S(Browser瀏覽器/Server服務器)結構從而實現(xiàn)了Web監(jiān)控系統(tǒng)的這種特性,廣泛應用于傳統(tǒng)的電子商務以及信息發(fā)布系統(tǒng)領域,現(xiàn)在新興的領域如智能建筑、人工智能等,智能建筑常用的開發(fā)技術能夠把建筑內的電氣設備與監(jiān)控網(wǎng)絡層連接起來,可以有效地實現(xiàn)溝通信息數(shù)據(jù)的的聚集和共享[2]。社會上各個領域與互聯(lián)系的聯(lián)系越來越多,這也給建筑工程師門帶來了前所未有的基于,即開發(fā)一個基于B/S組織架構的建筑電氣設備監(jiān)控體系平臺,因此建筑師的研究方向轉為構建互聯(lián)網(wǎng)的Web技術,以發(fā)展迅速的互聯(lián)網(wǎng)開發(fā)實現(xiàn)現(xiàn)場實時監(jiān)控,然后再利用互聯(lián)網(wǎng)物物連接,就可實現(xiàn)遠程對建筑電氣設備的現(xiàn)場實時監(jiān)控,同時也能對建筑設施進行遠程調控和維修[3]。
國內目前對基于B/S模式的研究已有了深入的研究應用,但是這種模式應用的主要是對某個特定的監(jiān)控對象,并且B/S監(jiān)控系統(tǒng)利用是數(shù)據(jù)庫是Web數(shù)據(jù)庫,主要研究數(shù)據(jù)庫的動態(tài)情況,實際使用的環(huán)境也比較復雜,需要融合其他的一些軟件,比如ASP、OPC、JSP等[4]。嵌入式Web最早應用僅僅利用TCP協(xié)議棧來實現(xiàn)網(wǎng)絡連接功能,利用ADSL進行數(shù)據(jù)的發(fā)布,這種類型的Web瀏覽器對用戶的硬件以及CPU內存的要求不高,成本也較少[5]。目前國內對嵌入式Web系統(tǒng)的開發(fā)主要研究方向是怎么樣才能使Web監(jiān)控系統(tǒng)更好地發(fā)布數(shù)據(jù),監(jiān)控目標利用單片機進行監(jiān)控數(shù)字以及模擬量等相關的電氣設備,主要應用于醫(yī)療、智能家居。目前國內的對于工業(yè)上的監(jiān)控主要利用C/S模式(Client客戶端/Server服務器)進行遠程監(jiān)控,使用B/S監(jiān)控模式的系統(tǒng)不多,因此為了更好地實現(xiàn)工業(yè)上的Web監(jiān)控,需要開發(fā)一個能夠廣泛使用的Web建筑電子設備監(jiān)控系統(tǒng)。
C/S模式擁有Client客戶和Server服務器兩層架構[6],在電腦上端可同時進行多用戶運行的程序,Client端可以利用Socket技術完成Server端的程序通過Socket和Server端的程序相互連接。C/S(Client客戶端/Server服務器)架構中,由于Server端的客戶處理許多的邏輯處置以及界面的展示,因此在選擇這一類型的架構時,處理大量信息的壓力會遷移到Server端,Server端就需要承受部分的壓力,而在顯示邏輯以及處理相應事務的過程中,Server端需要參與處理,并且還必須發(fā)送相應數(shù)據(jù)庫來實現(xiàn)連續(xù)不斷的數(shù)據(jù),以完成項目的目標。C/S監(jiān)控模式經(jīng)常會被在監(jiān)控系統(tǒng)中的組態(tài)軟件中使用,如果Server端想要實現(xiàn)監(jiān)控功能,那么則需要在每一個Server端都安裝組態(tài)軟件,它這組軟件不但需要提供客戶與用戶進行相互交互的界面,而且還必須能處理數(shù)據(jù)計算等相應的功能,C/S的模式如圖1所示。

圖1 C/S模式
B/S模式即Browser瀏覽器/Server服務器架構模式[7],Browser瀏覽器主要是指常用的Web瀏覽器,服務器的前端不參與事務邏輯的實現(xiàn),主要在服務器端實現(xiàn),Browser客戶端中的,Web服務器端與數(shù)據(jù)庫組成三層結構,利用B/S架構進行軟件系統(tǒng)開發(fā)時,僅僅需要特定的瀏覽器,對使用者的要求不高,并且Web瀏覽器僅處理顯示邏輯的相應工作,服務器端處理主要的邏輯事務,基于此就可以降低客戶端的費用,由于客戶端的邏輯內容不多,因此就成為了瘦客戶端,由于客戶端使用瀏覽器,界面簡單、操作便捷,不需要安裝其他的軟件,占用內存少,如圖2所示。

圖2 B/S模式架構
截止到目前,實時性是在使用B/S監(jiān)控模式時的關鍵技術難點,沒有有效的解決方案,對于長距離的監(jiān)控具有一定的延時性,網(wǎng)絡的硬件設施決定于其運輸速率V1,TCP/IP決定初始化時間TC,對應的監(jiān)控系統(tǒng)響應時間計算如下:
Tr=TP+(DS+Dr)/V1+TC
(1)
式中,Tr代表響應時間,TP表示控制程序和建筑現(xiàn)場設施互相交換數(shù)據(jù)時間,DS和Dr分別表示發(fā)送和接收的數(shù)據(jù),V1表示傳送速度,TC表示最初初始化時間。由等式可知,為了增大Tr,可以通過減小DS和Dr值或者增大V1等方法。
利用分層思想設計Web監(jiān)控系統(tǒng),MVC(model-view-controller)是把業(yè)務邏輯、實驗數(shù)據(jù)以及界面分開的辦法組織代碼所形成的結構框架[8]。一般是在系統(tǒng)一體化的基礎上研究MVC版塊的開發(fā),MVC是用來表示相應的程序的核心處理些許Model模型的數(shù)據(jù)庫的表格,MVC是比較理想化的一個板塊,常用于顯示數(shù)據(jù)以及顯示View視圖,Controller用作客戶交互,主要用來處理或者刪除數(shù)據(jù)庫的記錄,MVC的各層之間相互獨立工作,不交叉,MVC各層之間的結構如圖3所示。

圖3 MVC框架結構圖
建筑設備監(jiān)控系統(tǒng)主要使用Spring框架進行系統(tǒng)的開發(fā)與利用,通過它來開啟所需的數(shù)據(jù)庫并啟動相應的程序來處理任務,相關配置如圖4所示:在Web.xml中加上配置信息,在對監(jiān)控系統(tǒng)進行檢查時,Spring會自動加載classpath:applicationContext.xml文件會依據(jù)相應的配置運行監(jiān)控系統(tǒng)。

圖4 配置啟動方式
系統(tǒng)結構以L-N現(xiàn)場總線技術為基礎,在此基礎上再進一步開拓系統(tǒng)的多樣化的功能,目前已完成并發(fā)布局域監(jiān)控網(wǎng)絡層、網(wǎng)絡關設施以及相應的耦合器,并且還結合了Android版的監(jiān)控APP,PC端相應的配置以及監(jiān)控軟件,其中只有當無線WiFi連接到監(jiān)控系統(tǒng)中的路由器時才能使用安卓版APP。本文所研究的建筑監(jiān)控系統(tǒng)使用的是B/S(Browser/Server),用戶終端的工作主要是處理圖示以及場景狀態(tài)相關操作,建筑電氣監(jiān)控系統(tǒng)的作用是利用Web瀏覽器監(jiān)控底層建筑的相關電氣設備工作流程以及運行狀態(tài)[12]。數(shù)據(jù)庫的作用主要是存儲組織歷史數(shù)據(jù),建筑電氣監(jiān)控系統(tǒng)的主板快與傳感器、現(xiàn)場電氣等設備相互連接,從而監(jiān)控收集相應電氣設備的工作運行狀態(tài),系統(tǒng)會根據(jù)監(jiān)控所得到的數(shù)據(jù)進行現(xiàn)場控制,同樣的系統(tǒng)還可以通過相應的模擬設備對現(xiàn)場的電氣設備進行遠程監(jiān)控。
建筑電氣系統(tǒng)采用的是B/S模式結構,使用的開發(fā)語言為Java,開發(fā)軟件所使用的軟件是Eclipse8進行編程,jdk7版本,Java開發(fā)語言對系統(tǒng)使用平臺的要求較低,這樣可以減少監(jiān)控系統(tǒng)的排斥性能,有利于跨平臺的使用監(jiān)控系統(tǒng),Web監(jiān)控系統(tǒng)所需的存儲數(shù)據(jù)不大,大約10 G的存儲空間即可,數(shù)據(jù)庫使用的是不收費的Mysql5.0,建筑電氣監(jiān)控系統(tǒng)在L-N現(xiàn)場監(jiān)控的平臺上需要收集實際場地的電氣設備相關數(shù)據(jù),由相互獨立的功能軟件對數(shù)據(jù)進行檢測跟新,在運行的過程中,把監(jiān)測得到的數(shù)輸入到數(shù)據(jù)庫中,進行更新,然后監(jiān)控系統(tǒng)中的查詢功能會利用這些數(shù)據(jù),Web監(jiān)控系統(tǒng)的工作流程如圖5所示。

圖5 Web建筑電氣設備監(jiān)控系統(tǒng)運作流程圖
Web監(jiān)控系統(tǒng)的系統(tǒng)構成是整個監(jiān)控系統(tǒng)的基本骨架,依照系統(tǒng)的實際需求選擇相應的組織結構,充分使用目前的互聯(lián)網(wǎng)平臺資源,降低軟件開發(fā)成本。建筑電氣設備監(jiān)控系統(tǒng)利用家庭寬帶,即沖破了目前社會上傳統(tǒng)建筑的實際功能,還能夠讓人們之間的聯(lián)系越來越緊密,實現(xiàn)了實時的監(jiān)控,有利于數(shù)據(jù)的傳播信息。因為B/S模式的數(shù)據(jù)監(jiān)控系統(tǒng)是對外開發(fā)的,所以在對系統(tǒng)進行設計時,首先要明確系統(tǒng)的對外網(wǎng)絡是安全可靠的,其次,系統(tǒng)的傳輸數(shù)據(jù)效率一定要高,實時性要準確,最后監(jiān)控系統(tǒng)的設計要遵循國際標準要求,以使系統(tǒng)具有對外開放性,并且監(jiān)控系統(tǒng)的設計要具有操作性以及實用性。在進行軟件開發(fā)時,首先利用路徑映射對Web.xml的配置文件進行攔截,如圖6所示,同時加上視圖解釋器以及業(yè)務邏輯處理器。HttpServletBean中的init作用時得到servlet中的初始值,接著新建立beanwraapper,讓子類初始化相應的對象。

圖6 配置Web.xml文件
建筑電氣監(jiān)控系統(tǒng)采用的使文本協(xié)議和二進制協(xié)議,這兩者的數(shù)據(jù)格式可以相互轉換,Web監(jiān)控系統(tǒng)的應用層采取的是文本協(xié)議,對用戶的簡單數(shù)據(jù)進行讀取,Web系統(tǒng)的通信層采取的是二進制文本數(shù)據(jù)格式,其中現(xiàn)場和遠程監(jiān)控中底層建筑的電氣設備的運作都是采用二進制完成,全部的操作指令也都是依據(jù)文本和二進制協(xié)議嚴格執(zhí)行。文本協(xié)議的數(shù)據(jù)格式如圖7所示。協(xié)議包括三個部分,控制欲包含作用域以及監(jiān)控的目標節(jié)點,數(shù)據(jù)于包括現(xiàn)在電氣設備的目標節(jié)點以及電氣設備的運作方式和目標,結束符是一種結束符號。二進制的數(shù)據(jù)格式如圖8所示。

圖7 文本協(xié)議格式

圖8 二進制協(xié)議格式
MySQL數(shù)據(jù)庫在開發(fā)WEB方向是目前最好用的數(shù)據(jù)庫管理軟件之一,隸屬于Oracle數(shù)據(jù)庫,由于是對外開放源碼,因此是大多數(shù)得中小企業(yè)建立自己網(wǎng)址的最優(yōu)選擇。E-R(Entity-Relationship)模型總有三個板塊,分別是實體集、屬性以及關聯(lián)集,它的模塊主要是面向操作用戶以及實際的數(shù)據(jù),它能夠把生活中的概念化從而更加容易理解,并且E-R模型的操作方法與日常生活中人與人之間的溝通方式相似,因此比較容易理解采納?,F(xiàn)目前關系模型的的數(shù)據(jù)管理系統(tǒng)能夠在大多數(shù)的應用系統(tǒng)中使用,由MySQL數(shù)據(jù)庫構成的E-R圖,即就是由許多單個的關系模式所形成的集合,所以,把E-R的主要素轉變成相應的關聯(lián)形式,然后將這種關聯(lián)模式的屬性以及碼稱之為把E-R轉換為關聯(lián)模型。
為了實現(xiàn)Web系統(tǒng)的監(jiān)控功能,因而此次采用的是B/S體系結構和Java的開發(fā)語言,利用Java開發(fā)語言可以有效降低監(jiān)控系統(tǒng)對于系統(tǒng)運行平臺的要求,從而滿足系統(tǒng)的兼容性,便于實現(xiàn)跨平臺的Web監(jiān)控系統(tǒng)部署。由于Web監(jiān)控系統(tǒng)所需要的信息數(shù)據(jù)存儲量較小,因而預留存儲空間設定為10G,使用Mysql5.0數(shù)據(jù)庫。系統(tǒng)利用L-N現(xiàn)場總線監(jiān)控系統(tǒng)平臺來進行電氣設備數(shù)據(jù)信息的采集,監(jiān)測數(shù)據(jù)庫中數(shù)據(jù)進行更新。將數(shù)據(jù)庫中更新后的數(shù)據(jù)實時導入到Web數(shù)據(jù)庫之中,監(jiān)控系統(tǒng)開展查詢功能時就可以使用。要實現(xiàn)建筑電氣的智能監(jiān)控,就必須要實現(xiàn)Web監(jiān)控系統(tǒng)中的各個功能,要能夠進行持續(xù)不間斷的發(fā)解析報文,從而讓監(jiān)控系統(tǒng)能夠掌握監(jiān)測區(qū)域內的網(wǎng)絡實時動態(tài),Web監(jiān)控系統(tǒng)利用多線程并行處理的方式來處理用戶請求的任務,整個Web監(jiān)控系統(tǒng)的運行流程如圖9所示。

圖9 基于Web監(jiān)控系統(tǒng)的智能建筑監(jiān)控流程圖
用戶在登錄之前,必須要在系統(tǒng)之中獲取一個合法的用戶身份,用戶必須要將自己的個人信息提交完善后并提交到系統(tǒng)之中,后臺系統(tǒng)檢查資料填寫是否符合格式要求并進行匹配審核。用戶及用戶身份的并聯(lián)和可以多對多的用戶,即同一個角色可以關聯(lián)多個角色,如此可以解決監(jiān)控系統(tǒng)菜單及權限的耦合關系。用戶的身份被系統(tǒng)驗證后就可以正常登陸至系統(tǒng)之中,系統(tǒng)也會將用戶的登陸數(shù)據(jù)進行更新。如果用戶沒有順利通過驗證,那么系統(tǒng)就會彈出報錯發(fā)送給用戶,并引導其回到最初的登陸界面。
監(jiān)控系統(tǒng)的控制場景作為整個監(jiān)控系統(tǒng)中的中心功能模塊,可以實現(xiàn)對建筑物的各類電器設備進行實時監(jiān)控,包括了狀態(tài)預警等各個子功能。監(jiān)控系統(tǒng)的前段從監(jiān)控系統(tǒng)后端得到建筑中各類電器設備的動態(tài)數(shù)據(jù),通過JavaScript內置定時觸發(fā)器方法setInterval()來實現(xiàn)的,監(jiān)控前臺能夠獲得最新數(shù)據(jù)的流程圖,并對獲取數(shù)據(jù)圖標狀態(tài)顯示,用戶就可以利用監(jiān)控前臺直觀觀察到建筑電氣中所有設備的運行狀態(tài),從而實現(xiàn)遠程監(jiān)控。
Web監(jiān)控系統(tǒng)作為建筑電氣監(jiān)控系統(tǒng)的核心,需要在響應前端用戶請求指令的同時,還要處理邏輯事務,這就需要利用二進制傳輸協(xié)議以及文本傳輸協(xié)議的相互轉換。某個監(jiān)控局域網(wǎng)中的監(jiān)控節(jié)點會上傳二進制文本報文,并顯示在瀏覽器上。監(jiān)控系統(tǒng)所支持的反饋報文主要體現(xiàn)在3個方面,包含了對某個模塊名稱、注釋等信息的反饋,也可以是對繼電器、某個模塊節(jié)點可控硅的狀態(tài)信息反饋。
在登陸監(jiān)控系統(tǒng)之前,用戶需要一個合法的身份,完善個人信息并提交后,監(jiān)控系統(tǒng)的后臺會檢測信息是否正確,同時也會對注冊的個人信息進行數(shù)據(jù)庫的匹配審核,其中用戶如果定義的是多對多用戶,那個一個角色可以同時關聯(lián)多個控制鍵,這樣就能關管理好監(jiān)控系統(tǒng)中的菜單與權相之間的重疊。由系統(tǒng)主界面進入Web監(jiān)控系統(tǒng)的用戶權限管理界面,在這一界面山可以對用戶的信息進行更加詳細的完善、更改用戶的權相,新注冊的用戶可以根據(jù)自身擁有的權限進入所需要的監(jiān)控區(qū)域,對電氣設備進行現(xiàn)場監(jiān)控,系統(tǒng)對100個用戶的測試結果如表1所示,對表格中的測試的數(shù)據(jù)分析可知,Web監(jiān)控系統(tǒng)的用戶權限測試的結果具有實用性以及可靠性,完全符合系統(tǒng)所需的測試要求。

表1 系統(tǒng)用戶權限測試
監(jiān)控系統(tǒng)控制場景是整個Web監(jiān)控系統(tǒng)的主要功能模塊,它的作用是對建筑電氣設備實施現(xiàn)場實時監(jiān)控,子功能包括對電氣設備進行實時監(jiān)控、提示警告等,同時使用jQuery的Ajax技術實現(xiàn)監(jiān)控前端同步同后端獲取動態(tài)數(shù)據(jù)。從監(jiān)控系統(tǒng)的主界面直接可以進入燈光控制界面,在這個界面上有一個控制建筑電氣設備的總開關,單擊總開關可以對所有的繼電器實現(xiàn)開和關的切換,同時也可以對建筑的主臥室燈光和次臥室燈光進行開關的控制,并且對反饋的實時情況對比與否,燈光設備圖標顯示的情況與實際的燈光開關情況是否相互匹配,最后利用BusHound數(shù)據(jù)抓包的工具對系統(tǒng)后臺的電氣設備進行狀態(tài)匹配,可以實現(xiàn)對現(xiàn)場燈光的控制,利用抓包工具對系統(tǒng)返蓉后臺使用查詢功能組件對網(wǎng)絡得到的數(shù)據(jù)進行追蹤,實驗記錄并分析燈光電氣設備運作的工作效率如表2所示。

表2 燈光控制測試
從實驗結果可知,整個監(jiān)控系統(tǒng)的各個功能板塊相互獨立完整,能夠正常地使用,滿足Web監(jiān)控系統(tǒng)的整體測試需求。
利用AB壓力測試對登錄的頁面進行相應的壓力測試以及對監(jiān)控系統(tǒng)的JNI組件和網(wǎng)關通信進行可靠性的測試,具體操作流程如下,首先利用AB工具對系統(tǒng)中非常重要的功能進行壓力測試,用來判斷研發(fā)的監(jiān)控系統(tǒng)的實用性以及可操作性,比如在AB工具中設置并發(fā)出的數(shù)據(jù)為150,得到的測試結果匯集在表3中,然后測試監(jiān)控系統(tǒng)的JNI組件和網(wǎng)關通信,記下前端發(fā)出的數(shù)據(jù)以及后端只能網(wǎng)關的結果,所得到的數(shù)據(jù)如表3所示,對結果分析可知,當前端發(fā)送的數(shù)量達到150時,系統(tǒng)仍然能夠正常地完成登錄測試,從表中的數(shù)據(jù)可知,信息前端頁面與智能網(wǎng)關能夠利用JNI組件完成通信,而且整個系統(tǒng)的可靠性非常高。

表3 登錄測試和JNI組件測試結果
開發(fā)建筑電氣Web監(jiān)控系統(tǒng)的目的是為了讓用戶能夠遠程對建筑內的電氣設備進行現(xiàn)場控制,系統(tǒng)采用HTTP通信協(xié)議長連接技術,從而把Web監(jiān)控系統(tǒng)與用戶的瀏覽器的請求回應的遠程支持,同時系統(tǒng)采用USB通信技術,使得監(jiān)控系統(tǒng)利用USB數(shù)據(jù)線就能連接局域網(wǎng)的網(wǎng)關設備的USB接頭。盡管如此,系統(tǒng)還需要不斷完善安全性,可以實現(xiàn)用HTTPS協(xié)議進行定時的數(shù)據(jù)傳送,這樣系統(tǒng)的安全性就會提高,隨著智能產(chǎn)品的普及,產(chǎn)品的安全性以及可靠性需要不斷地提升。