楊 斌,王加陽(yáng)
(中南大學(xué) 計(jì)算機(jī)學(xué)院,長(zhǎng)沙 410083)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,節(jié)能減排已經(jīng)提高到國(guó)家戰(zhàn)略層面,各地各機(jī)構(gòu)均對(duì)節(jié)能降耗給予高度重視,并列入企業(yè)和機(jī)構(gòu)運(yùn)行的重要考核目標(biāo).據(jù)國(guó)家統(tǒng)計(jì)局統(tǒng)計(jì),我國(guó)城市道路照明燈具數(shù)量從2006年的1284 萬(wàn)增長(zhǎng)到2017年的2683 萬(wàn),每年平均增長(zhǎng)7%左右,城市路燈數(shù)量的逐年增加,導(dǎo)致城市用電中的路燈用電在公共用電中的占比不斷上升.故而設(shè)計(jì)一種穩(wěn)定、可靠并且能夠有效降低電量能源消耗的路燈管理系統(tǒng)成為政府與科研人員需要迫切解決的問(wèn)題.
傳統(tǒng)的路燈系統(tǒng)智能化程度較低,無(wú)法實(shí)現(xiàn)精細(xì)化管理.傳統(tǒng)的“三遙”系統(tǒng)僅能夠完成回路級(jí)采集和控制,無(wú)法對(duì)單個(gè)路燈進(jìn)行準(zhǔn)確定位和實(shí)時(shí)操控.而有些系統(tǒng)則無(wú)法實(shí)現(xiàn)故障實(shí)時(shí)報(bào)警功能,只能通過(guò)工作人員主動(dòng)檢查的方式發(fā)現(xiàn)故障,使得問(wèn)題發(fā)現(xiàn)效率較為低下,問(wèn)題無(wú)法得到及時(shí)處理,并且缺少行之有效的節(jié)能控制機(jī)制,無(wú)法預(yù)先設(shè)置亮燈方案,缺少靈活性與合理性,增加了能源的消耗,從而加大了政府的財(cái)政支出.
本文提出一種基于微服務(wù)架構(gòu)的智慧照明管理平臺(tái),通過(guò)該系統(tǒng)操作人員可以對(duì)路燈設(shè)備進(jìn)行實(shí)時(shí)操控,并且可以實(shí)時(shí)采集路燈設(shè)備的運(yùn)行數(shù)據(jù),實(shí)現(xiàn)對(duì)設(shè)備的實(shí)時(shí)監(jiān)控,系統(tǒng)同時(shí)也提供了事件報(bào)警功能,對(duì)諸如燈具損壞、漏電、過(guò)壓、過(guò)流、過(guò)載等故障,進(jìn)行實(shí)時(shí)上報(bào).考慮到系統(tǒng)功能模塊繁多以及后續(xù)系統(tǒng)規(guī)模會(huì)越來(lái)越龐大,單體架構(gòu)難以應(yīng)付系統(tǒng)頻繁更新、并發(fā)量高、系統(tǒng)維護(hù)等問(wèn)題[1],所以該系統(tǒng)將應(yīng)用最新的微服務(wù)架構(gòu)來(lái)實(shí)現(xiàn).實(shí)際應(yīng)用效果表明,該系統(tǒng)運(yùn)行穩(wěn)定,為城市的照明管理提供了很好的技術(shù)支撐,建立了完整的城市照明監(jiān)控和運(yùn)維體系.
微服務(wù)架構(gòu)是一種架構(gòu)概念,它的主要作用是將系統(tǒng)中相同業(yè)務(wù)功能抽離出來(lái)整合成一個(gè)微服務(wù),這樣不同的業(yè)務(wù)請(qǐng)求就交由相應(yīng)的微服務(wù)去處理,從而降低系統(tǒng)的耦合度[2].
Zuul是開(kāi)源的微服務(wù)網(wǎng)關(guān)組件,建立在客戶(hù)端與微服務(wù)之間,可以用來(lái)做過(guò)濾器與路由器,為外部提供統(tǒng)一的API 接口.
Eureka是專(zhuān)注于服務(wù)管理的微服務(wù)組件.系統(tǒng)中各個(gè)微服務(wù)在啟動(dòng)后需要在組件中注冊(cè),調(diào)用微服務(wù)時(shí)需要先向組件發(fā)起訂閱,獲得許可后方可發(fā)起調(diào)用,組件每隔一段時(shí)間會(huì)對(duì)注冊(cè)的微服務(wù)進(jìn)行監(jiān)聽(tīng),多次監(jiān)聽(tīng)未果后組件會(huì)將該微服務(wù)注冊(cè)信息消除.
Ribbon是客戶(hù)端負(fù)載均衡組件,面對(duì)高并發(fā),如果沒(méi)有合理的服務(wù)器分配策略,很容易造成服務(wù)器故障,這時(shí)需要組件合理地為客戶(hù)端分配服務(wù)器,避免故障發(fā)生.
Hystrix是延遲和容錯(cuò)庫(kù),在調(diào)用服務(wù)時(shí),如果出現(xiàn)了調(diào)用失敗,組件能夠阻隔調(diào)用的進(jìn)行,降低服務(wù)器宕機(jī)和出錯(cuò)的概率.
Config是配置文件統(tǒng)一管理組件,可以將系統(tǒng)配置文件放在預(yù)先設(shè)置好的遠(yuǎn)程倉(cāng)庫(kù)中,開(kāi)發(fā)時(shí)可根據(jù)系統(tǒng)需求遠(yuǎn)程獲取配置,使系統(tǒng)開(kāi)發(fā)工作更加簡(jiǎn)便.
在集成系統(tǒng)中,路燈設(shè)備通過(guò)寬帶載波的方式與集中器進(jìn)行通信,集中器通過(guò)GPRS/4G/Internet 通信網(wǎng)等方式將數(shù)據(jù)傳輸至服務(wù)器,供應(yīng)用平臺(tái)使用,通過(guò)這幾部分的共同作用,能夠完成對(duì)路燈設(shè)備的實(shí)時(shí)操控與監(jiān)測(cè)[3-6].具體的集成系統(tǒng)物理結(jié)構(gòu)圖如圖1所示.
圖1 集成系統(tǒng)物理結(jié)構(gòu)圖
設(shè)計(jì)智慧照明管理平臺(tái)的主要目的是能夠有效地節(jié)約能源消耗,降低路燈用電成本,從而節(jié)省政府財(cái)政支出.在對(duì)智慧照明管理平臺(tái)進(jìn)行具體的分析之后,確定了系統(tǒng)的主要業(yè)務(wù)功能模塊,包括系統(tǒng)管理模塊、基礎(chǔ)信息模塊、GIS 地圖模塊、設(shè)備控制模塊、統(tǒng)計(jì)分析模塊和視頻監(jiān)控總覽模塊.具體的系統(tǒng)功能模塊圖如圖2所示.
圖2 系統(tǒng)功能模塊圖
系統(tǒng)各功能模塊詳細(xì)介紹如下:
(1)系統(tǒng)管理模塊:主要包括設(shè)置系統(tǒng)參數(shù)(通信參數(shù)與報(bào)警異常參數(shù)等)、角色管理、權(quán)限管理和系統(tǒng)菜單管理等功能.
(2)基礎(chǔ)信息模塊:系統(tǒng)中需要記錄與路燈設(shè)備相關(guān)的檔案信息,將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,并對(duì)其進(jìn)行管理,主要包括臺(tái)區(qū)檔案、集中器檔案、用戶(hù)檔案與前置機(jī)檔案等.
(3)GIS 地圖模塊:為用戶(hù)提供一個(gè)可視化的地圖頁(yè)面,可作為系統(tǒng)的綜合管理頁(yè)面供用戶(hù)使用,在地圖中顯示路燈具體所在位置并做出標(biāo)注,提升視覺(jué)效果,并且用戶(hù)可以直接在地圖中對(duì)具體路燈設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控.
(4)設(shè)備控制模塊:實(shí)現(xiàn)對(duì)路燈控制器和數(shù)據(jù)采集集中器的遠(yuǎn)程操控,具體功能包括主站抄讀控制、數(shù)據(jù)實(shí)時(shí)采集、路燈亮燈預(yù)設(shè)置(路燈根據(jù)操作員預(yù)先設(shè)定的方案亮燈)與路燈設(shè)備實(shí)時(shí)操控.
(5)統(tǒng)計(jì)分析模塊:該模塊可以實(shí)現(xiàn)對(duì)系統(tǒng)主要運(yùn)行數(shù)據(jù)的整體展示,主要包括路燈線(xiàn)路用電情況統(tǒng)計(jì)分析、路燈設(shè)備操控記錄統(tǒng)計(jì)分析以及報(bào)警事件統(tǒng)計(jì)分析等功能,在系統(tǒng)中主要以折線(xiàn)圖和表格的形式進(jìn)行展示.
(6)視頻監(jiān)控總覽:在系統(tǒng)中實(shí)現(xiàn)對(duì)路燈設(shè)備周邊情況的實(shí)時(shí)查看,以便對(duì)突發(fā)緊急事件緊急布控,提升城市安全指數(shù).
智慧照明管理平臺(tái)的整體架構(gòu)分為4 層,自底向上依次為存儲(chǔ)層、服務(wù)層、應(yīng)用層和展示層.具體的系統(tǒng)整體架構(gòu)圖如圖3所示.
圖3 系統(tǒng)整體架構(gòu)圖
智慧照明管理平臺(tái)在存儲(chǔ)層采用目前流行的MySQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)系統(tǒng)中的數(shù)據(jù),為了提高系統(tǒng)的數(shù)據(jù)查詢(xún)速度,同時(shí)還搭建了Redis 集群服務(wù),可以有效提升對(duì)統(tǒng)計(jì)圖表、檔案信息等數(shù)據(jù)的查詢(xún)效率.應(yīng)用層包含了系統(tǒng)中主要的業(yè)務(wù)功能模塊,是用戶(hù)向服務(wù)層發(fā)送操作請(qǐng)求的接口.服務(wù)層根據(jù)應(yīng)用層的具體功能抽離出6 個(gè)微服務(wù),處理來(lái)自應(yīng)用層的服務(wù)請(qǐng)求.在展示層,系統(tǒng)主要以B/S 客戶(hù)端和移動(dòng)端APP的形式為用戶(hù)提供應(yīng)用平臺(tái)服務(wù),用戶(hù)登陸系統(tǒng)即可進(jìn)入GIS 地圖界面.
在服務(wù)端,系統(tǒng)采用微服務(wù)架構(gòu)進(jìn)行設(shè)計(jì)開(kāi)發(fā),通過(guò)對(duì)系統(tǒng)業(yè)務(wù)邏輯與功能模塊的具體分析,最終確定本系統(tǒng)使用6 個(gè)微服務(wù)來(lái)支撐系統(tǒng)的服務(wù)端運(yùn)行[7],包括檔案管理微服務(wù)、事件報(bào)警微服務(wù)、實(shí)時(shí)采集微服務(wù)、設(shè)備控制微服務(wù)、運(yùn)行分析微服務(wù)和視頻監(jiān)控微服務(wù).通過(guò)使用最新的Spring Cloud 技術(shù)組件[8-11],不僅提升了系統(tǒng)的開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期,同時(shí)也保證了系統(tǒng)能夠穩(wěn)定運(yùn)行.具體的系統(tǒng)微服務(wù)架構(gòu)圖如圖4所示.
圖4 系統(tǒng)微服務(wù)架構(gòu)圖
系統(tǒng)中搭建了微服務(wù)集群,每個(gè)微服務(wù)部署在多個(gè)服務(wù)器上,各微服務(wù)可以獨(dú)立運(yùn)行,在具體的業(yè)務(wù)流程中,經(jīng)常需要依次調(diào)用不同的微服務(wù),被調(diào)用者首先需要在Eureka 組件中完成信息注冊(cè),然后調(diào)用者通過(guò)RestTemplate 工具類(lèi)即可實(shí)現(xiàn)服務(wù)調(diào)用.各微服務(wù)需要在其application.yml 文件中進(jìn)行相關(guān)配置實(shí)現(xiàn)注冊(cè),由于Eureka Server 本身也是一個(gè)微服務(wù),所以無(wú)需在自己的注冊(cè)中心進(jìn)行注冊(cè).系統(tǒng)中一個(gè)Eureka Server的關(guān)鍵配置代碼如下:
代碼中node1是一個(gè)Eureka Server 節(jié)點(diǎn),此節(jié)點(diǎn)向defaultZone 中的node2 與node3 節(jié)點(diǎn)注冊(cè),并不需要再向自身注冊(cè).
用戶(hù)的請(qǐng)求通過(guò)Zuul 網(wǎng)關(guān)向Eureka 服務(wù)器發(fā)起服務(wù)訂閱,得到成功的反饋后可以通過(guò)Rest 或Rpc的方式調(diào)用需要的服務(wù),但當(dāng)用戶(hù)并發(fā)量過(guò)大時(shí),很可能會(huì)導(dǎo)致服務(wù)器崩潰,影響用戶(hù)的使用體驗(yàn),為了避免這種狀況發(fā)生,在系統(tǒng)中引入了Ribbon 組件,Ribbon是一款開(kāi)源的客戶(hù)端負(fù)載均衡工具,如果不特殊指定,將以輪詢(xún)方式調(diào)用微服務(wù),Ribbon 允許自定義負(fù)載均衡算法,可以在項(xiàng)目中自定義配置類(lèi)并通過(guò)在微服務(wù)啟動(dòng)類(lèi)中指定的方式來(lái)實(shí)現(xiàn).系統(tǒng)中其中一個(gè)自定義算法的核心代碼如下:
代碼中“currentIdnex”表示當(dāng)前正在嘗試獲取的服務(wù)器索引,“count”表示對(duì)當(dāng)前服務(wù)器已經(jīng)獲取的次數(shù),算法中規(guī)定調(diào)用微服務(wù)時(shí),先向可獲取的第1 臺(tái)服務(wù)器獲取服務(wù),若請(qǐng)求3 次后仍未獲取到微服務(wù),會(huì)向下一個(gè)服務(wù)器請(qǐng)求,若向所有服務(wù)器請(qǐng)求后仍未獲得微服務(wù),則輪回到第1 個(gè)服務(wù)器,繼續(xù)向其獲取服務(wù).
目前大部分路燈照明系統(tǒng)數(shù)據(jù)傳輸技術(shù)上大多以窄帶載波或諸如ZigBee[12,13]這樣的無(wú)線(xiàn)技術(shù)方案為主.隨著調(diào)光方案的普遍應(yīng)用以及數(shù)據(jù)傳輸量逐漸增大,窄帶載波通信的可靠性與穩(wěn)定性也隨之降低,路燈照明與電力傳輸類(lèi)似,有專(zhuān)用的輸電網(wǎng)絡(luò),這對(duì)于寬帶載波的使用具有天然的優(yōu)勢(shì),基于通信性能的考慮,本文路燈設(shè)備采用了基于擴(kuò)頻與正交頻分復(fù)用等調(diào)制技術(shù)的電力線(xiàn)寬帶載波技術(shù)進(jìn)行數(shù)據(jù)傳輸[14,15],提升了數(shù)據(jù)傳輸穩(wěn)定性與傳輸速率.
路燈設(shè)備上攜帶有視頻監(jiān)控設(shè)備,可以對(duì)路燈設(shè)備周?chē)鷧^(qū)域進(jìn)行實(shí)時(shí)查看,視頻監(jiān)控模塊充分考慮了距離、范圍、視角等因素,選取了合適的監(jiān)控設(shè)備及靈活的傳輸策略.視頻監(jiān)控設(shè)備的主要傳輸介質(zhì)為光纖,向智慧照明管理平臺(tái)傳輸數(shù)據(jù)時(shí),采用NB-IoT、互聯(lián)網(wǎng)、專(zhuān)線(xiàn)等方式.具體的視頻監(jiān)控技術(shù)實(shí)現(xiàn)圖如圖5.
圖5 視頻監(jiān)控技術(shù)實(shí)現(xiàn)圖
為了減少環(huán)境的干擾,確保遠(yuǎn)距離傳輸視頻數(shù)據(jù)時(shí),依舊保持高質(zhì)量、實(shí)時(shí)同步的狀態(tài).在信號(hào)轉(zhuǎn)換方面,使用發(fā)光端機(jī)將采集到的視頻信號(hào)進(jìn)行轉(zhuǎn)換,通過(guò)光纖傳輸后,再利用收光端機(jī)轉(zhuǎn)換為原信號(hào).在視頻信號(hào)壓縮存儲(chǔ)方面,考慮到視頻監(jiān)控設(shè)備的種類(lèi)差異性可能會(huì)導(dǎo)致視頻信號(hào)壓縮存儲(chǔ)不穩(wěn)定,所以提出了兩種技術(shù)方案,一種是直接接入DVR 將模型視頻信號(hào)進(jìn)行壓縮存儲(chǔ),另外一種是通過(guò)接入交換機(jī)后連接NVR實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ),這兩種技術(shù)方案保證了視頻信號(hào)傳輸?shù)姆€(wěn)定性.
設(shè)計(jì)與開(kāi)發(fā)智慧照明管理平臺(tái)的主要目的是對(duì)城市道路路燈設(shè)備進(jìn)行智能化管理,以達(dá)到降低能耗、節(jié)省開(kāi)支的目的,下面對(duì)路燈設(shè)備的智能監(jiān)控實(shí)現(xiàn)進(jìn)行詳細(xì)描述.
用戶(hù)可以在GIS 地圖頁(yè)面對(duì)具體路燈進(jìn)行控制,或從菜單進(jìn)入設(shè)備控制頁(yè)面對(duì)路燈設(shè)備進(jìn)行控制.控?zé)舨僮靼▽?shí)時(shí)控制路燈開(kāi)、關(guān)燈操作以及按預(yù)先設(shè)定的時(shí)間和亮度對(duì)設(shè)備進(jìn)行開(kāi)、關(guān)燈操作等,通過(guò)控?zé)舨僮骺梢詫?shí)現(xiàn)對(duì)路燈進(jìn)行遠(yuǎn)程開(kāi)、關(guān)燈,提高能源利用率,有效降低路燈設(shè)備電量消耗.系統(tǒng)路燈設(shè)備控制相關(guān)頁(yè)面如圖6所示.
圖6 路燈設(shè)備控制實(shí)現(xiàn)頁(yè)面
此外,系統(tǒng)還具有統(tǒng)計(jì)分析功能,系統(tǒng)可以向用戶(hù)展示最近一段時(shí)間內(nèi)路燈設(shè)備的用電量、亮燈率、瞬時(shí)量數(shù)據(jù)等情況,并且可以根據(jù)用戶(hù)在系統(tǒng)中設(shè)定的日用電量標(biāo)準(zhǔn)進(jìn)行節(jié)能率分析.具體的實(shí)現(xiàn)頁(yè)面如圖7所示.
圖7 統(tǒng)計(jì)分析實(shí)現(xiàn)頁(yè)面
智慧照明作為智慧城市建設(shè)領(lǐng)域一個(gè)重要分支,肩負(fù)著照亮城市、服務(wù)百姓的重要使命,而智能化的物聯(lián)系統(tǒng)必將推動(dòng)智慧照明產(chǎn)業(yè)的大力發(fā)展.本文設(shè)計(jì)了一種基于微服務(wù)架構(gòu)的智慧照明管理平臺(tái),并對(duì)系統(tǒng)進(jìn)行了實(shí)現(xiàn),與傳統(tǒng)的路燈控制系統(tǒng)相比,該系統(tǒng)可以實(shí)現(xiàn)對(duì)單個(gè)路燈的實(shí)時(shí)操控,并且對(duì)城市道路路燈用電的節(jié)能情況利用可視化圖表的形式進(jìn)行展示,同時(shí),對(duì)路燈設(shè)備發(fā)生的故障可以進(jìn)行實(shí)時(shí)上報(bào),具有穩(wěn)定性好、智能化程度高、操作簡(jiǎn)單易用等特點(diǎn).由于系統(tǒng)采用微服務(wù)架構(gòu)搭建,后續(xù)的開(kāi)發(fā)與維護(hù)工作也相對(duì)容易很多.本文構(gòu)建的智慧照明管理平臺(tái)同時(shí)可為智慧城市領(lǐng)域相關(guān)的系統(tǒng)開(kāi)發(fā)工作提供參考.