国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

微服務架構(gòu)的城市照明控制系統(tǒng)服務平臺設計

2019-07-25 01:44張玉杰王軒
物聯(lián)網(wǎng)技術(shù) 2019年1期
關(guān)鍵詞:微服務服務平臺

張玉杰 王軒

摘 要:針對目前傳統(tǒng)一體化服務架構(gòu)的不足,為構(gòu)建具有分布式、擴展性強以及容錯性高等特點的城市照明控制系統(tǒng),提出以微服務架構(gòu)為基本框架搭建系統(tǒng)應用服務平臺。通過分析系統(tǒng)應用服務平臺的設計需求以及微服務架構(gòu)的特點與優(yōu)勢,進而制定出完善的服務平臺設計方案。在整個系統(tǒng)中,分別定義出產(chǎn)品、設備、從機、用戶等四個概念,對終端設備和管理人員進行抽象描述,并闡述各個概念之間的相互層級關(guān)系以及所對應的系統(tǒng)原型,以達到服務平臺便于對大量設備終端和操作用戶統(tǒng)一管理的目的。該服務平臺采用去中心化設計,具有易于擴展、易于訪問、部署靈活等微服務特性,在提升服務平臺性能的同時,從應用層面提出一種城市照明控制設備管理分散的解決方案。

關(guān)鍵詞:微服務;城市照明;服務平臺;設備終端

中圖分類號:TP311.5文獻標識碼:A文章編號:2095-1302(2019)01-00-04

0 引 言

隨著城市化規(guī)模的不斷擴大和品質(zhì)要求的不斷提升,以及城市照明范圍和燈具數(shù)量的逐漸增加,將城市照明進行有效控制、統(tǒng)一管理尤為重要[1]。目前,國內(nèi)城市照明控制應用系統(tǒng)多以單體照明系統(tǒng)為主,城市級的各個照明系統(tǒng)管理分散,導致后期的管理與維護較為困難,若能將其接入同一服務平臺統(tǒng)一管理,則問題即可得以解決。服務平臺處于整個控制系統(tǒng)的核心部分,主要是對數(shù)據(jù)的存儲與智能分析處理提供功能支撐[2]。但現(xiàn)有的服務平臺存在諸多共性弊端。例如,采用整體架構(gòu)模式設計,所有功能封裝在一個應用系統(tǒng)中,導致系統(tǒng)擴展性差;系統(tǒng)耦合性高、集合度低,程序難以復用與維護,與低耦合高內(nèi)聚的軟件開發(fā)原則相悖[3]。針對上述問題,本文提出基于微服務架構(gòu)(Micro-Service Architecture,MSA)的服務平臺系統(tǒng),有助于改善服務平臺性能,創(chuàng)新其構(gòu)建風格,發(fā)揮積極的作用。

1 微服務架構(gòu)機制及其特點

微服務是一種構(gòu)建分布式系統(tǒng)的架構(gòu)風格,將傳統(tǒng)單體結(jié)構(gòu)應用劃分成一組小的服務,每個服務器根據(jù)其負責的具體業(yè)務職責提煉單一業(yè)務功能,由于其均有自己的處理和通信機制,因此可部署在單個以及多個服務器上,同時服務之間相互獨立,采用輕量級通信機制,達到相互協(xié)作、互相配合的目的。微服務具有獨立部署和擴展、功能解耦、獨立開發(fā)和演化、團隊自治等特點,能夠有效降低應用復雜度、提升復用率、縮短應用開發(fā)周期,同時適應資源的彈性伸縮,進而實現(xiàn)提升整體系統(tǒng)穩(wěn)定性與可用性的目標。

2 系統(tǒng)服務平臺需求分析

目前,現(xiàn)行城市照明通過計算機技術(shù)、通信技術(shù)、軟件技術(shù)和自動化控制技術(shù)等實現(xiàn)對分散照明設備的統(tǒng)一管理和自動化控制,進而達到改進控制方式和降低能耗的目的。通常的照明控制系統(tǒng)體系結(jié)構(gòu)如圖1所示,主要分為四個不同的層級,由上到下依次為應用層、服務平臺層、接入層和物理設備層。

應用層針對特定用戶的自身需求,創(chuàng)建相應的實際應用,是整個系統(tǒng)中照明控制設備與用戶交流的窗口。其中,通過應用開發(fā)、智能控制為不同用戶提供對照明設備更為方便、直觀的管理方式。

服務平臺層可以稱為整個控制系統(tǒng)的核心層,承擔著多設備終端數(shù)據(jù)匯聚、處理、融合和優(yōu)化的核心功能,即為系統(tǒng)應用的功能提供技術(shù)支撐。具體地,通過服務平臺提供的一系列接口,實現(xiàn)用戶應用和照明設備終端的正常接入,實現(xiàn)上下層的數(shù)據(jù)傳輸,以達到用戶對照明設備能夠?qū)崟r檢測與控制的目標。同時,為應用層提供統(tǒng)一的設備終端與用戶管理功能,并提供標準化的統(tǒng)一接口,使得數(shù)據(jù)傳輸更加簡單直接。

接入層是設備層和服務平臺之間通信的橋梁,主要任務是將設備終端采集到的數(shù)據(jù)通過適當?shù)膮f(xié)議進行轉(zhuǎn)換,將數(shù)據(jù)以多種不同的網(wǎng)絡通信方式發(fā)送至上層,實現(xiàn)設備終端的接入。

物理設備層的主要功能是設備終端信息獲取,包括不同的物理傳感器和數(shù)據(jù)采集設備。各層之間互相配合,共同搭建物聯(lián)網(wǎng)應用框架。

為滿足系統(tǒng)結(jié)構(gòu)各層不同的功能,服務平臺的需求主要有以下幾點:

(1)照明控制設備能夠通過接入層的統(tǒng)一接入與管理;

(2)可對物理設備層上傳的數(shù)據(jù)進行合理分析,判斷照明設備的運行狀況,進而做出相應的處理,并能夠?qū)?shù)據(jù)與處理結(jié)果進行存儲,通過應用層供用戶查詢;

(3)具備自動化控制功能,實現(xiàn)對照明設備的智能控制。

基于上述分析,本文構(gòu)建一種可實現(xiàn)對不同終端設備進行無縫接入和統(tǒng)一管理的開放式平臺,并且該平臺可對設備終端數(shù)據(jù)進行實時分析處理與存儲,實現(xiàn)告警檢測、智能控制的功能,以達到遠程監(jiān)控與節(jié)能的目的。

3 基于微服務架構(gòu)設計系統(tǒng)服務平臺

微服務架構(gòu)下城市照明控制服務平臺設計的目標是將現(xiàn)有傳統(tǒng)物聯(lián)網(wǎng)服務平臺的服務進行劃分和復用,同時整合新服務,建設一個高內(nèi)聚松耦合可擴展的服務平臺。

基于以上準則,采用的基本思想是:將整體功能分解至各個單一的服務中,以實現(xiàn)對解決方案的解耦,即將整體復雜的系統(tǒng)拆分為一系列小且功能專一的微服務,并通過各個服務之間的相互協(xié)作構(gòu)建整體應用系統(tǒng)。

3.1 系統(tǒng)管理模型介紹

實踐中,為便于對照明控制系統(tǒng)中不同的終端設備進行管理,定義用戶、產(chǎn)品、設備、從機四個概念,對終端設備進行抽象描述。

(1)用戶是指用戶端的信息;

(2)產(chǎn)品是一類設備的統(tǒng)稱,亦可理解為“項目”或“系統(tǒng)”,是對同一類設備的集中化管理;

(3)設備通常是對系統(tǒng)中網(wǎng)關(guān)的抽象描述,主要用于幫助照明控制設備通過各種聯(lián)網(wǎng)方式接入服務平臺,其屬性信息包括設備名稱、MAC、地址等;

(4)從機是設備下屬的某一類物理傳感器集合或開關(guān)控制設備集合。

用戶與設備的關(guān)系:每個設備只能有唯一的最高操作權(quán)限的用戶,可對設備信息進行增刪改查等操作,稱為設備的“管理員”,而其余用戶可向該設備的管理員發(fā)送授權(quán)請求,授權(quán)成功后只能以“分享者”的角色對設備信息進行查看,不可修改、刪除。

產(chǎn)品與設備的關(guān)系:每個產(chǎn)品下可包含多個設備,單個設備只能屬于一個產(chǎn)品。

設備與從機的關(guān)系:為便于對設備數(shù)據(jù)進行管理,提出“從機”的概念,對設備數(shù)據(jù)進行適當分類,包括模擬量從機和開關(guān)量從機。從機位于設備之下,每個設備可包含多個從機,單個從機只能屬于一個設備。

用戶和產(chǎn)品兩者之間沒有直接關(guān)系:產(chǎn)品是針對設備生產(chǎn)廠家為便于對設備進行分類管理而產(chǎn)生的概念,同一類設備屬于同一產(chǎn)品,設備生產(chǎn)完成后需在服務平臺中將設備注冊于某一產(chǎn)品下;用戶是針對設備的普通使用者而產(chǎn)生的概念,用戶購買設備后需在平臺中驗證該設備注冊與否,并添加相關(guān)設備信息與自身用戶完成綁定。系統(tǒng)管理模型關(guān)系如圖2所示。

3.2 系統(tǒng)平臺設計

為方便上述管理模型的實際應用以及對照明設備的智能控制與檢測,在系統(tǒng)服務平臺中將整體服務拆分為多個微服務。其中,設備管理服務用于實現(xiàn)用戶對設備信息的添加與修改等;消息隊列遙測傳輸(Message Queuing Telemetry Transport,MQTT)服務用于為平臺提供即時通信功能;智能控制服務用于根據(jù)用戶提前設定好的時間計劃,智能控制對應開關(guān)量的開關(guān)狀態(tài)等功能??梢姡總€服務的功能具體且專一,各自分別完成整個系統(tǒng)的部分功能。服務之間通過協(xié)作完成復雜的系列任務,如智能控制服務功能的實現(xiàn)需由設備管理服務查看當前所接入的設備,同時通過從機管理服務查看開關(guān)量從機的時間計劃設置情況,智能控制相應設備的開關(guān)狀態(tài)。根據(jù)系統(tǒng)平臺的需求與功能和微服務架構(gòu)特征,設計結(jié)構(gòu)如圖3所示。

其中,基礎(chǔ)服務層對具有共性業(yè)務特征的功能進一步抽取、內(nèi)聚,形成服務中心,在系統(tǒng)內(nèi)的多個微服務中共享使用。中間件層主要實現(xiàn)服務的統(tǒng)一管理,為服務間的相互協(xié)作運行提供技術(shù)支撐。監(jiān)控層通過對應用、服務、服務調(diào)用鏈等進行監(jiān)控,形成一種對整個微服務系統(tǒng)平穩(wěn)運行的安全保障機制。業(yè)務服務層對系統(tǒng)整體的應用功能進行專業(yè)化分工,通過去中心化的服務方式,實現(xiàn)功能解耦。

3.3 服務平臺工作流程

從系統(tǒng)架構(gòu)圖中可以看出,系統(tǒng)中每個服務的功能與數(shù)據(jù)與其他服務均相互獨立,服務之間采用RESTful HTTP協(xié)議的通信機制,下文通過添加設備信息過程中的具體業(yè)務說明微服務架構(gòu)的工作流程。

(1)應用端訪問設備管理服務,攜帶用戶驗證信息(tokenId)和設備信息(包括MAC、設備名稱、地址等),發(fā)起添加設備信息請求;

(2)設備管理服務接收到請求后,根據(jù)用戶驗證信息(tokenId)訪問用戶管理服務,驗證該用戶信息的合法性;

(3)根據(jù)應用端請求中的MAC信息訪問產(chǎn)品管理服務,驗證該MAC信息的合法性;

(4)驗證通過后,設備管理服務生成deviceId,并在數(shù)據(jù)庫中添加設備信息;

(5)將生成的deviceId告知MQTT服務,用于構(gòu)成MQTT消息發(fā)送與接收的主題號,至此添加設備信息完成。

上述過程中用到的RESTful API見表1所列。

4 系統(tǒng)原型實現(xiàn)

目前,開源的微服務基礎(chǔ)框架主要有Dropwizard和Spring Boot,兩大框架在實現(xiàn)技術(shù)上存在一定的差異[5]。Dropwizard的突出特點是簡單、輕量,但依賴注入不完整,需開發(fā)者自行選擇,使得初期開發(fā)具有一定的難度。Spring Boot核心有依賴注入,解決大量的配置問題,提供模塊化的依賴管理工作,使其具有自動化配置、快速開發(fā)、輕松部署等特性。因此本文選擇Spring Boot作為構(gòu)建微服務的基礎(chǔ)框架。本文以設備管理服務中獲取設備MAC信息為例,程序?qū)崿F(xiàn)如下:

其中,@RestController用于告知Spring該類是一個用于暴露HTTP端點的控制器(可以暴露GET,PUT和POST等基于HTTP協(xié)議的功能);@RequestMapping用于映射HTTP URI到對應的類或方法。

在微服務架構(gòu)中,為實現(xiàn)正常的服務運行管理功能,引入Spring Cloud組件。Spring Cloud是一個基于Spring Boot實現(xiàn)的云應用開發(fā)工具,它為基于JVM 的云應用開發(fā)中的配置管理、服務發(fā)現(xiàn)、斷路器、智能路由、分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式[5]。以Eureka為例,Eureka是Spring Cloud Netflix的一個子模塊,也是核心模塊之一,用于服務注冊和服務發(fā)現(xiàn)。通過注解的方式使用Eureka,如通過注解@EnableEurekaServer啟動一個服務注冊中心提供給其他應用進行對話,代碼如下所示:

5 結(jié) 語

本文將微服務應用于城市照明控制系統(tǒng)服務平臺,不僅能夠從應用層面解決控制系統(tǒng)中的某些應用問題,而且適用于對開放性、可擴展性需求較高的城市照明控制系統(tǒng)。除此之外,分布式設計易于實現(xiàn)API跨服務通信,容易將多個照明控制系統(tǒng)整合到一個平臺中,實現(xiàn)統(tǒng)一管理,進而從應用、管理、維護等多個角度對城市照明控制系統(tǒng)進行改進。

參 考 文 獻

[1]劉廷章,王健,楊曉.基于Web的城市景觀照明遠程監(jiān)控技術(shù)研究[J].電氣應用,2009,28(3):32-35.

[2]程冬梅,王瑞聰,劉燕,等.基于REST架構(gòu)風格的物聯(lián)網(wǎng)服務平臺研發(fā)[J].計算機工程與應用,2012,48(14):74-79.

[3]吳昌雨,李云松,劉青,等.基于微服務架構(gòu)的物聯(lián)網(wǎng)應用基礎(chǔ)框架設計[J].宿州學院學報,2015,30(7):88-92.

[4]趙善龍,孫婉婷.基于微服務架構(gòu)的互聯(lián)網(wǎng)+農(nóng)業(yè)平臺設計[J].通信管理技術(shù),2017,33(2):53-55.

[5]張晶,黃小鋒,李春陽.微服務框架的設計與實現(xiàn)[J].計算機系統(tǒng)應用,2017,26(6):259-262.

[6]張向祺.基于微服務的企業(yè)移動辦公平臺規(guī)劃設計[J].信息技術(shù)與標準化,2016,25(3):71-74.

[7]王志勃,王麒森,畢艷茹.互聯(lián)網(wǎng)環(huán)境下微服務框架分析與研究[J].信息與電腦,2017(22):23-25.

[8]辛園園,鈕俊,謝志軍.微服務體系結(jié)構(gòu)實現(xiàn)框架綜述[J].計算機工程與應用,2018,54(19):10-17.

猜你喜歡
微服務服務平臺
密碼服務平臺
打造一體化汽車服務平臺
江蘇省一體化在線交通運輸政務服務平臺構(gòu)建
論基于云的電子政務服務平臺構(gòu)建
基于云計算的民航公共信息服務平臺
湖北交通運輸網(wǎng)上審批服務平臺建設與應用
微信公眾平臺在醫(yī)院圖書館的應用現(xiàn)狀調(diào)查
從單一模式系統(tǒng)架構(gòu)往微服務架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
宝坻区| 青田县| 剑阁县| 阳山县| 龙口市| 松江区| 新邵县| 陈巴尔虎旗| 巴林右旗| 儋州市| 梨树县| 曲水县| 鄂托克旗| 临沂市| 广平县| 衡南县| 监利县| 清远市| 永顺县| 枣庄市| 珲春市| 台前县| 句容市| 绥滨县| 公主岭市| 墨竹工卡县| 双柏县| 凭祥市| 邵武市| 富锦市| 克什克腾旗| 霍城县| 桂林市| 武乡县| 神农架林区| 万安县| 甘孜县| 天津市| 东丽区| 咸宁市| 兴国县|