亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Dubbo的分布式能效管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2018-06-11 11:06:02琪,盧
        電子設(shè)計(jì)工程 2018年11期
        關(guān)鍵詞:中間件能效管理系統(tǒng)

        王 琪,盧 軍

        (武漢郵電科學(xué)研究院湖北武漢430074)

        隨著我國經(jīng)濟(jì)的快速增長,各項(xiàng)建設(shè)都取得了巨大的成就,但與此同時(shí),也付出了巨大的資源與環(huán)境破壞的代價(jià),兩者之間的矛盾日益尖銳,這種狀況與資源的不合理利用和能源的嚴(yán)重浪費(fèi)直接相關(guān)[1]。國家“十三五”規(guī)劃強(qiáng)調(diào)所有的工廠與企業(yè)要綠色發(fā)展,促進(jìn)人與自然的和諧共生。因此打造一個(gè)能效管理系統(tǒng)對(duì)工廠、企業(yè)的能源利用進(jìn)行實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)最大限度的能源利用,避免資源浪費(fèi)是至關(guān)重要的。同時(shí)又考慮到企業(yè)和工廠的不斷發(fā)展,為了系統(tǒng)的持續(xù)可用性[4],實(shí)現(xiàn)一個(gè)基于分布式架構(gòu)的能效管理系統(tǒng)是非常有必要的。

        系統(tǒng)采用Java語言,基于Dubbo框架設(shè)計(jì)了一套集權(quán)限管理、設(shè)備管理、數(shù)據(jù)采集、數(shù)據(jù)分析、設(shè)備報(bào)警、報(bào)表產(chǎn)出以及日志記錄與一體的分布式架構(gòu)能效管理系統(tǒng),滿足企業(yè)的需求。

        1 相關(guān)技術(shù)概述

        1.1 Dubbo服務(wù)框架

        Dubbo是一個(gè)擴(kuò)展性和靈活性都很好的服務(wù)管理框架[7]。其主要核心部件是服務(wù)運(yùn)行容器、服務(wù)注冊中心、服務(wù)提供者、服務(wù)消費(fèi)者、服務(wù)監(jiān)控中心。

        1.2 ZooKeeper概述

        ZooKeeper是為分布式應(yīng)用程序提供高性能協(xié)調(diào)服務(wù)的工具集合,它包含一個(gè)簡單的原語集,分布式應(yīng)用程序可以基于它實(shí)現(xiàn)配置維護(hù)、命名服務(wù)、分布式同步、組服務(wù)等,在本系統(tǒng)中被用作Dubbo的服務(wù)注冊中心,用以協(xié)調(diào)分布式應(yīng)用[10]。

        1.3 MySQL數(shù)據(jù)庫

        MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),因?yàn)槠潴w積小、速度快、再加上開放源碼這一特點(diǎn),很多網(wǎng)站在開發(fā)時(shí)都使用MySQL作為網(wǎng)站數(shù)據(jù)庫。

        2 系統(tǒng)設(shè)計(jì)

        2.1 系統(tǒng)整體架構(gòu)設(shè)計(jì)

        整個(gè)系統(tǒng)主要分為5層,分別為Webserver入口、控制層、中間件服務(wù)層、微服務(wù)層和數(shù)據(jù)存儲(chǔ)層??刂茖釉谡麄€(gè)系統(tǒng)中就是最大的服務(wù)消費(fèi)者,調(diào)用所有提供者的服務(wù),返回前端Web頁面,中間件服務(wù)層就是對(duì)整個(gè)能效管理系統(tǒng)所用到的中間件管理,微服務(wù)層主是業(yè)務(wù)邏輯和系統(tǒng)功能需求的實(shí)現(xiàn),數(shù)據(jù)存儲(chǔ)層用來存儲(chǔ)、讀寫數(shù)據(jù)。系統(tǒng)整體設(shè)計(jì)架構(gòu)如圖1所示。

        圖1 能效管理系統(tǒng)整體設(shè)計(jì)架構(gòu)圖

        微服務(wù)層由基礎(chǔ)微服務(wù)、權(quán)限微服務(wù)、日志微服務(wù)、數(shù)據(jù)微服務(wù)、設(shè)備微服務(wù)、采集微服務(wù)、分析微服務(wù)、報(bào)警微服務(wù)、報(bào)表微服務(wù)組成。對(duì)于控制層Webserver來說,所有的微服務(wù)都是其服務(wù)提供者,自己是服務(wù)消費(fèi)者。但在微服務(wù)層內(nèi)部,我們根據(jù)系統(tǒng)業(yè)務(wù)的實(shí)際需求,微服務(wù)之間也有服務(wù)提供者和服務(wù)消費(fèi)者之分。每一個(gè)微服務(wù)既可以作為服務(wù)提供者也可以作為服務(wù)消費(fèi)者。

        2.2 系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)

        根據(jù)實(shí)際的需求分析,整個(gè)系統(tǒng)模塊設(shè)計(jì)如圖2所示。

        圖2 能效管理系統(tǒng)模塊結(jié)構(gòu)圖

        2.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)

        設(shè)計(jì)系統(tǒng)采用MySQL作為數(shù)據(jù)庫存儲(chǔ)業(yè)務(wù)數(shù)據(jù),Mongodb作為文件數(shù)據(jù)庫存儲(chǔ)文件,Redis作為輔助用來緩存數(shù)據(jù),減少數(shù)據(jù)庫的調(diào)用次數(shù),提高數(shù)據(jù)讀寫速度。系統(tǒng)將采用分庫設(shè)計(jì),每個(gè)微服務(wù)使用自己獨(dú)立的數(shù)據(jù)庫,如圖3所示。

        圖3 能效管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)圖

        每一個(gè)微服務(wù)對(duì)應(yīng)一個(gè)屬于自己的獨(dú)立數(shù)據(jù)庫,將自己的業(yè)務(wù)數(shù)據(jù)存到數(shù)據(jù)庫表中。同時(shí)為了提高系統(tǒng)讀取效率,將復(fù)雜、常用的數(shù)據(jù)存入Redis緩存中,若是需要直接從Redis中讀取,不再操作數(shù)據(jù)庫,提高系統(tǒng)讀寫速度。對(duì)于系統(tǒng)中的圖片、文檔等文件類型數(shù)據(jù),用Mongodb統(tǒng)一存取。

        3 系統(tǒng)實(shí)現(xiàn)

        根據(jù)對(duì)整個(gè)系統(tǒng)的設(shè)計(jì),系統(tǒng)主要可以從以下4個(gè)方面來實(shí)現(xiàn),中間件服務(wù)的搭建,Webserver、微服務(wù)以及數(shù)據(jù)庫的實(shí)現(xiàn)。

        3.1 中間件服務(wù)搭建

        系統(tǒng)中用到的中間件主要是ZooKeeper與Dubbo,并且所有中間件服務(wù)都在Linux服務(wù)器上部署。

        3.1.1 ZooKeeper服務(wù)搭建

        在系統(tǒng)中ZooKeeper用作Dubbo的注冊中心,實(shí)現(xiàn)Dubbo服務(wù)提供者的注冊和服務(wù)消費(fèi)者的訂閱,主要配置如圖4所示。

        圖4 ZooKeeper主要配置圖

        配置好之后,在ZooKeeper服務(wù)bin目錄下打開命令窗口輸入命令“./zkServer.sh start”后,ZooKeeper即可啟動(dòng)。

        3.1.2 Dubbo服務(wù)搭建

        Dubbo是整個(gè)系統(tǒng)的基礎(chǔ),所有的微服務(wù)都是通過Dubbo來注冊和運(yùn)行。Dubbo配置如圖5所示。

        圖5 Dubbo主要配置圖

        注冊中心地址就是之前搭建的ZooKeeper服務(wù)的地址,root和guest用戶是登錄到Dubbo調(diào)控中心的用戶名和密碼。將Dubbo服務(wù)放到tomact webapp目錄下,在bin目錄中打開命令窗口輸入命令“./startup.sh”即可啟動(dòng)。

        3.2 Webserver服務(wù)實(shí)現(xiàn)

        Webserver是整個(gè)系統(tǒng)的服務(wù)消費(fèi)者,它依賴所有的微服務(wù),以報(bào)警微服務(wù)為例,配置如圖6所示。

        3.3 微服務(wù)實(shí)現(xiàn)

        圖6 Webserver配置圖

        每個(gè)微服務(wù)只實(shí)現(xiàn)自己的功能,權(quán)限微服務(wù)用來控制登錄權(quán)限、展示界面和用戶管理;數(shù)據(jù)微服務(wù)用于管理KPI系數(shù)等系統(tǒng)預(yù)先導(dǎo)入的數(shù)據(jù);日志微服務(wù),詳細(xì)記錄系統(tǒng)登錄用戶的每一步操作;設(shè)備微服務(wù)管理系統(tǒng)中所有的水表、電表等儀器設(shè)備;采集微服務(wù)采集設(shè)備上報(bào)的數(shù)據(jù)給其他微服務(wù)使用并存進(jìn)數(shù)據(jù)庫;分析微服務(wù)可以以圖標(biāo)或點(diǎn)線圖形式展示給用戶設(shè)備數(shù)據(jù)對(duì)比等信息;報(bào)警微服務(wù)收到采集微服務(wù)上報(bào)的數(shù)據(jù)之后,與事先設(shè)置好的報(bào)警閾值進(jìn)行對(duì)比,保障設(shè)備安全;報(bào)表微服務(wù),以excel或word方式導(dǎo)出整個(gè)廠區(qū)的能耗情況報(bào)表信息。

        每個(gè)微服務(wù)由Model、API、Server 3個(gè)工程組成,Model主要存放實(shí)體類,API存放該微服務(wù)所要用到的所有接口,Server存放接口實(shí)現(xiàn)類和各種配置文件,處理業(yè)務(wù)邏輯。這三個(gè)工程層層依賴,API需要依賴Model,Server需要依賴Model和API。每個(gè)微服務(wù)都需要通過Dubbo進(jìn)行注冊。下面以報(bào)警微服務(wù)配置為例進(jìn)行說明,如圖7所示。

        圖7 微服務(wù)配置圖

        3.4 數(shù)據(jù)庫實(shí)現(xiàn)

        系統(tǒng)采用分庫設(shè)計(jì),不再是一庫多表,而是每個(gè)微服務(wù)對(duì)應(yīng)自己的數(shù)據(jù)庫,互不干擾,如圖8所示。

        圖8 系統(tǒng)數(shù)據(jù)庫實(shí)現(xiàn)圖

        3.5 系統(tǒng)功能展示

        根據(jù)上述幾個(gè)方面,將系統(tǒng)實(shí)現(xiàn)后,進(jìn)行系統(tǒng)功能展示。

        3.5.1 系統(tǒng)登錄

        根據(jù)設(shè)定的角色和用戶名密碼判斷用戶是否能夠登錄,登錄界面如圖9所示。

        圖9 系統(tǒng)登錄界面圖

        3.5.2 系統(tǒng)能耗月度對(duì)比分析

        此功能在分析微服務(wù)中實(shí)現(xiàn),采集微服務(wù)采集到設(shè)備數(shù)據(jù)之后將數(shù)據(jù)推送給分析微服務(wù)。選中某一臺(tái)設(shè)備之后,將根據(jù)用戶選擇的月份以點(diǎn)線圖和圖表的方式將該設(shè)備數(shù)據(jù)展示出來,通過數(shù)據(jù)對(duì)比可以很清楚地了解每個(gè)月每臺(tái)設(shè)備的能耗情況,方便后期的能源調(diào)控,如圖10所示。

        圖10 系統(tǒng)能耗月度對(duì)比圖

        3.5.3 系統(tǒng)角色權(quán)限管理

        此功能在權(quán)限微服務(wù)里實(shí)現(xiàn),對(duì)于不同的角色,可以任意配置菜單,在該角色的用戶登錄之后,可以看到不同的界面和具有不同的操作權(quán)限,如圖11所示。

        4 系統(tǒng)測試

        系統(tǒng)測試是保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是對(duì)系統(tǒng)開發(fā)過程中的系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和實(shí)施的最后復(fù)查。

        圖11 系統(tǒng)角色權(quán)限管理圖

        根據(jù)分布式系統(tǒng)的特點(diǎn),分別在兩臺(tái)機(jī)器A和B上啟動(dòng)微服務(wù),A啟動(dòng)基礎(chǔ)、權(quán)限、分析3個(gè)微服務(wù),Webserver和剩下的微服務(wù)都由B啟動(dòng),系統(tǒng)啟動(dòng)成功。之后在B上也啟動(dòng)權(quán)限微服務(wù),通過監(jiān)控中心和調(diào)控中心可以看到,當(dāng)系統(tǒng)調(diào)用到權(quán)限微服務(wù)時(shí),會(huì)根據(jù)負(fù)載均衡策略去調(diào)用A或B,系統(tǒng)運(yùn)行正常。Dubbo監(jiān)控中心和調(diào)控中心如圖12、圖13所示。

        圖12 Dubbo監(jiān)控中心

        圖13 Dubbo調(diào)控中心

        5 結(jié)束語

        文中通過對(duì)能效系統(tǒng)需求的分析以及對(duì)未來發(fā)展趨勢的預(yù)測,設(shè)計(jì)和實(shí)現(xiàn)了一種基于Dubbo的分布式能效管理系統(tǒng)。系統(tǒng)采用了以Dubbo為基礎(chǔ)框架的分布式架構(gòu),采用微服務(wù)模式,降低了系統(tǒng)耦合,提高了系統(tǒng)性能,再加上監(jiān)控中心和治理中心的使用,方便了系統(tǒng)的后期維護(hù)或二次開發(fā),通過具體的應(yīng)用測試,展示了系統(tǒng)的可用性和使用價(jià)值。今后將主要關(guān)注系統(tǒng)性能優(yōu)化方面的問題,如數(shù)據(jù)庫的優(yōu)化、負(fù)載均衡的使用策略等,進(jìn)一步提高系統(tǒng)的穩(wěn)定性、安全性,加深用戶體驗(yàn)。

        參考文獻(xiàn):

        猜你喜歡
        中間件能效管理系統(tǒng)
        基于James的院內(nèi)郵件管理系統(tǒng)的實(shí)現(xiàn)
        上海:穩(wěn)中有進(jìn) 能效趨優(yōu)
        基于LED聯(lián)動(dòng)顯示的違停管理系統(tǒng)
        RFID中間件技術(shù)及其應(yīng)用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計(jì)與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        關(guān)注能效
        海盾壓載水管理系統(tǒng)
        中國船檢(2017年3期)2017-05-18 11:33:08
        中間件在高速公路領(lǐng)域的應(yīng)用
        基于RFID的倉儲(chǔ)管理系統(tǒng)實(shí)現(xiàn)
        淺談實(shí)現(xiàn)高能效制造的未來發(fā)展趨勢
        国产在线h视频| 中文字幕中文有码在线| 日本在线看片免费人成视频1000| 牛牛本精品99久久精品88m| 国产精品欧美视频另类专区| 丝袜美腿精品福利在线视频| 狠狠97人人婷婷五月| 中文字幕无码av激情不卡| 日本在线观看不卡| 亚洲中文字幕高清在线视频一区| 精品人妻少妇av中文字幕| 无码av无码天堂资源网| 國产AV天堂| 久久久一本精品久久久一本| 综合国产婷婷精品久久99之一 | 曝光无码有码视频专区| 久久频精品99香蕉国产| 国产精品午夜福利亚洲综合网| 2021亚洲国产精品无码| 好吊色欧美一区二区三区四区| 国产熟女精品一区二区三区| 亚洲国产成人久久精品美女av| 亚洲va久久久噜噜噜久久天堂 | 国产精品美女一级在线观看| 手机免费高清在线观看av| 久久天天躁狠狠躁夜夜av| 最新国产日韩AV线| 日本久久精品国产精品| 日本一区二区三区视频在线观看| 午夜精品久久久久久| 中文字幕精品一二三区| 中文字幕高清视频婷婷| 色费女人18毛片a级毛片视频| 无码欧亚熟妇人妻AV在线外遇| 国产精品一区二区久久精品蜜臀| 91伦理片视频国产精品久久久 | 中文字幕亚洲精品第一页| 亚洲国产成人av二区| 99久久人人爽亚洲精品美女| 韩国主播av福利一区二区| 一区二区在线观看日本视频|