999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

微服務(wù)架構(gòu)的智慧彩燈控制系統(tǒng)設(shè)計與實(shí)現(xiàn)

2022-02-22 01:07:20孫志堯趙俊甘雨航
電腦知識與技術(shù) 2022年36期
關(guān)鍵詞:物聯(lián)網(wǎng)

孫志堯 趙俊 甘雨航

關(guān)鍵詞:微服務(wù);物聯(lián)網(wǎng);控制系統(tǒng);WebSocket 協(xié)議;前后端分離

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2022)36-0088-04

1 引言

每年都會盛大舉辦的彩燈燈會作為我國傳統(tǒng)文化的杰出表現(xiàn)方式,也是非物質(zhì)文化遺產(chǎn)之一,并對我國的文化傳播產(chǎn)生深遠(yuǎn)的影響[1]。傳統(tǒng)的彩燈燈組采用獨(dú)立單片機(jī)的控制方式,燈組之間沒有協(xié)同控制能力。并且,彩燈控制器都采取線下的操控機(jī)制,需要維護(hù)人員到現(xiàn)場進(jìn)行設(shè)備操控及維護(hù)。在舉辦大型的彩燈展會時,需要大量的設(shè)備維護(hù)人員,耗費(fèi)了大量的人力資源成本。并且,燈組之間沒有直接的協(xié)同關(guān)聯(lián),在進(jìn)行配合表演的時候,存在一定的操作難度。

物聯(lián)網(wǎng)是指通過傳感、識別、定位等新一代信息技術(shù)構(gòu)建的物、人、物之間的信息互通互聯(lián),從而實(shí)現(xiàn)智能化感知、監(jiān)控等全方面一體化管理[2]。

利用物聯(lián)網(wǎng)技術(shù),將各個彩燈設(shè)備之間建立控制網(wǎng)絡(luò),優(yōu)化控制方法,提高設(shè)備的管理效率,也能大幅降低人工成本。同時,在設(shè)備的故障監(jiān)測及診斷方面,高速的網(wǎng)絡(luò)傳輸能力也能更及時且全面地實(shí)現(xiàn)多設(shè)備的總體狀態(tài)監(jiān)測,最大限度地保證設(shè)備運(yùn)行的穩(wěn)定性和安全性。

2 系統(tǒng)技術(shù)介紹

系統(tǒng)在前后端分離的架構(gòu)基礎(chǔ)上,使用微服務(wù)的后臺架構(gòu)模式進(jìn)行系統(tǒng)搭建。前端采用Vue.js框架作為基礎(chǔ)框架,加入bootstrap模板實(shí)現(xiàn)頁面的樣式優(yōu)化和接口通信。同時,利用H5的websocket協(xié)議,實(shí)現(xiàn)界面數(shù)據(jù)的實(shí)時更新。后端采用Go語言的微服務(wù)框架Go-Zero進(jìn)行開發(fā),與控制器之間采用TCP協(xié)議進(jìn)行數(shù)據(jù)通信。數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫MySQL,ORM框架采用Gorm框架實(shí)現(xiàn)數(shù)據(jù)庫的相關(guān)操作。

2.1 前端開發(fā)技術(shù)

Vue.js是一個國內(nèi)很流行的前端開發(fā)框架,框架將原本耦合的網(wǎng)頁構(gòu)成部分,通過組件的形式進(jìn)行拆分,實(shí)現(xiàn)網(wǎng)頁的結(jié)構(gòu)解耦。同時,頁面中重復(fù)性的功能部分也不再需要重復(fù)開發(fā),可以直接沿用已有組件進(jìn)行功能實(shí)現(xiàn)[3-4]。

Bootstrap模板為前端最為流行的樣式設(shè)計模板之一,提供了豐富的樣式組件和功能組件,極大地減輕了界面美化的工作難度。同時,模板也提供了詳盡的開發(fā)文檔,讓開發(fā)人員能快速地上手開發(fā),極大地提高了開發(fā)人員的開發(fā)效率。

WebSocket通信協(xié)議是一種基于TCP,可以實(shí)現(xiàn)雙向推送數(shù)據(jù)的全雙工通信協(xié)議[5]。在傳統(tǒng)的實(shí)時通信策略中,網(wǎng)站大多采用Ajax輪詢方式實(shí)現(xiàn)數(shù)據(jù)的實(shí)時推送。然而,由于HTTP請求中可能會包含大量的無效信息,占用了大量的通信資源。為此,在HTML5 中定義了WebSocket通信協(xié)議。該協(xié)議支持雙邊的數(shù)據(jù)推送,實(shí)現(xiàn)了服務(wù)器主動向界面端推送數(shù)據(jù)的功能。

2.2 后端開發(fā)技術(shù)

Go語言是Google開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言。Go語言的高并發(fā)以及部署簡單的特性能夠較為完美地契合微服務(wù)架構(gòu)的開發(fā)模式,可以實(shí)現(xiàn)快速開發(fā),并且能夠承受系統(tǒng)在接收大量訪問時的承壓能力。

傳統(tǒng)的單體式架構(gòu)將所有的功能模塊嵌合到同一個服務(wù)系統(tǒng)中,當(dāng)某個模塊發(fā)生故障或進(jìn)行升級時,整個系統(tǒng)都需要下線并重新開發(fā),各個功能的實(shí)現(xiàn)程序之間的依賴性強(qiáng),耦合度高,而且具有擴(kuò)展局限性[6-7]。微服務(wù)架構(gòu)的設(shè)計理念是將傳統(tǒng)的單一應(yīng)用程序轉(zhuǎn)變成為一套小型的服務(wù)組合,根據(jù)業(yè)務(wù)邏輯將單體架構(gòu)拆分成多個服務(wù),每一個微小的服務(wù)都具有單一職責(zé)且可以單獨(dú)部署和運(yùn)行[8]。

Go-Zero框架是一款國內(nèi)開發(fā)的微服務(wù)框架,集成了各類工程實(shí)踐中的Web和RPC框架,在支持傳統(tǒng)的HTTP API 接口的基礎(chǔ)上,也支持模塊間通信的RPC接口。通過彈性設(shè)計保障了大并發(fā)服務(wù)端的穩(wěn)定性,并且內(nèi)建服務(wù)發(fā)現(xiàn)和負(fù)載均衡。同時,它支持中間件,方便進(jìn)行系統(tǒng)的功能擴(kuò)展和優(yōu)化。

2.3 云服務(wù)器部署技術(shù)

Docker是一款開源的容器引擎,開發(fā)人員可以將開發(fā)程序打包為一個鏡像文件或容器,從而實(shí)現(xiàn)系統(tǒng)跨系統(tǒng)的部署能力,簡化部署流程[9]。同時,Docker容器之間相互獨(dú)立,容器之間的運(yùn)行狀態(tài)不會相互影響,保證了程序運(yùn)行的穩(wěn)定性。

3 系統(tǒng)關(guān)鍵功能實(shí)現(xiàn)

3.1 用戶權(quán)限管理

系統(tǒng)在人員管理方面,采用了權(quán)限管理機(jī)制,即根據(jù)用戶的權(quán)限等級,給予對應(yīng)的系統(tǒng)操作功能。權(quán)限管理機(jī)制能使系統(tǒng)在進(jìn)行功能展示和設(shè)備管理與維護(hù)保障方面提供更加安全的操作機(jī)制,防止誤操作及惡意操作導(dǎo)致彩燈燈組設(shè)備的損壞,增強(qiáng)系統(tǒng)的操作安全性和穩(wěn)定性。

利用Vue.js提供的路由守衛(wèi),在頁面跳轉(zhuǎn)時,會由路由守衛(wèi)進(jìn)行用戶登錄狀態(tài)的判定,并根據(jù)賬號的權(quán)限等級,對界面中的操作按鈕組等功能模塊進(jìn)行對應(yīng)的調(diào)整,實(shí)現(xiàn)基本的權(quán)限管理功能,前端驗(yàn)證流程如圖1所示。

同時,為了進(jìn)一步增強(qiáng)系統(tǒng)的安全性,在后端加入了JWT驗(yàn)證機(jī)制。用戶在登錄系統(tǒng)時,后端會生成專屬的用戶驗(yàn)證碼。當(dāng)后端接收到接口請求時,會對該驗(yàn)證碼進(jìn)行核對。同時,為了保證驗(yàn)證碼的安全性,對該碼的有效時長進(jìn)行了配置。當(dāng)用戶退出登錄后,驗(yàn)證碼也將進(jìn)行更新,防止盜用。

3.2 彩燈狀態(tài)監(jiān)測

為了實(shí)現(xiàn)對于彩燈運(yùn)行狀態(tài)的實(shí)時監(jiān)測,保證設(shè)備的正常運(yùn)行及發(fā)生故障時的及時處理,控制系統(tǒng)會與彩燈控制器之間建立的TCP鏈接,實(shí)時地接收控制器發(fā)出的彩燈監(jiān)測數(shù)據(jù)包。數(shù)據(jù)包內(nèi)容包括彩燈的運(yùn)行狀態(tài),包括彩燈的開關(guān)狀態(tài),當(dāng)前所處的運(yùn)行模式及設(shè)備本身的運(yùn)行狀態(tài),傳輸流程如圖2所示。

控制系統(tǒng)接收到彩燈數(shù)據(jù)包后,會對數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行解析。為了能夠?qū)崟r準(zhǔn)確地將數(shù)據(jù)包的解析結(jié)果展示到系統(tǒng)前端的界面上,后端服務(wù)器采用WebSocket協(xié)議進(jìn)行該部分的數(shù)據(jù)傳輸,將數(shù)據(jù)主動推送到前端界面。界面會根據(jù)接收到的數(shù)據(jù),對展示的內(nèi)容進(jìn)行調(diào)整,如彩燈的亮滅狀態(tài),電流大小等,以保證數(shù)據(jù)的可視化程度和準(zhǔn)確性。

后端服務(wù)器會在系統(tǒng)的數(shù)據(jù)庫中查找對應(yīng)設(shè)備的運(yùn)行狀態(tài)參數(shù),與解析結(jié)果進(jìn)行對比。狀態(tài)參數(shù)與可浮動范圍將作為評判設(shè)備運(yùn)行狀態(tài)的判斷指標(biāo),當(dāng)彩燈數(shù)據(jù)包中的實(shí)時狀態(tài)參數(shù)偏離正常參數(shù)時,系統(tǒng)會提示管理員及時查看,并根據(jù)偏離的范圍大小,進(jìn)一步對設(shè)備發(fā)出控制指令,及時關(guān)閉設(shè)備,防止設(shè)備遭受更加嚴(yán)重的損害,處理流程圖如圖3所示。

為了提高對于設(shè)備故障原因的判斷準(zhǔn)確度,為維護(hù)人員提供更加有效的維修建議,系統(tǒng)為維護(hù)人員開設(shè)了故障原因及維修方法上傳的通道。在原有的設(shè)備診斷基礎(chǔ)上,結(jié)合維修人員的維護(hù)經(jīng)驗(yàn),進(jìn)一步完善系統(tǒng)的故障診斷準(zhǔn)確度。

3.3 彩燈控制

為了實(shí)現(xiàn)控制系統(tǒng)對多個彩燈設(shè)備的識別與控制,在進(jìn)行實(shí)際控制前,需要將設(shè)備的基本信息上傳至系統(tǒng)的設(shè)備管理數(shù)據(jù)庫中。數(shù)據(jù)庫會對設(shè)備的基本信息進(jìn)行存儲,包括設(shè)備獨(dú)立編號,生產(chǎn)廠家,正常運(yùn)行下的各類參數(shù),設(shè)備的控制協(xié)議。同時,給設(shè)備分配對應(yīng)的維護(hù)人員,便于設(shè)備維護(hù)情況的回訪。利用表間的外鍵關(guān)系,將設(shè)備的基本信息與存儲的控制協(xié)議建立關(guān)聯(lián),數(shù)據(jù)存儲結(jié)構(gòu)如圖4所示。

控制協(xié)議的由系統(tǒng)提供基礎(chǔ)的控制指令,包括開關(guān),亮度及持續(xù)時間。同時,系統(tǒng)支持拓展控制指令,以滿足不同設(shè)備的控制需求。

控制系統(tǒng)利用與彩燈控制器建立的TCP鏈接,對彩燈設(shè)備進(jìn)行控制。由于TCP協(xié)議通信存在丟包和粘包問題,系統(tǒng)采用格式數(shù)據(jù)方法中的組包法[10],在數(shù)據(jù)包的報文頭中加入描述該數(shù)據(jù)包的數(shù)據(jù)信息。利用固定的格式發(fā)送數(shù)據(jù)包,解決此類問題,數(shù)據(jù)報文頭格式如表1所示。

在系統(tǒng)后端接收到有關(guān)彩燈控制的指令時,后臺將根據(jù)彩燈的設(shè)備編號查詢對應(yīng)的控制協(xié)議,然后解析系統(tǒng)發(fā)來的控制指令,將指令內(nèi)容轉(zhuǎn)換為控制協(xié)議中的對應(yīng)內(nèi)容,下發(fā)給控制彩燈燈組的下位機(jī)。

下位機(jī)接收到控制指令,操作彩燈完成對應(yīng)的動作。在完成指令發(fā)送后,燈組設(shè)備會將指令的執(zhí)行情況,通過數(shù)據(jù)包反饋給系統(tǒng)后端。后端服務(wù)器將根據(jù)接收到的數(shù)據(jù)內(nèi)容,將執(zhí)行結(jié)果展示到前端頁面,同時將本次的操作保存到設(shè)備操作日志當(dāng)中,流程圖如圖5所示。

3.4 多彩燈協(xié)同控制

利用單個彩燈的控制協(xié)議,系統(tǒng)提供了多設(shè)備協(xié)同控制的基本控制模式,包括多燈同亮、走馬燈、流水燈、呼吸燈四種模式。通過合理地將各個設(shè)備進(jìn)行排序,實(shí)現(xiàn)多設(shè)備按照設(shè)定的順序執(zhí)行多燈的協(xié)同控制。同時,系統(tǒng)支持在線配置,可在系統(tǒng)界面進(jìn)行多燈控制的內(nèi)容配置,包括順序、亮度、持續(xù)時間等。

系統(tǒng)后端會解析接收到的數(shù)據(jù)包,從中得到彩燈的模式、數(shù)量、控制順序及亮度等信息。由于是同一個數(shù)據(jù)包發(fā)來的,所以燈組中各個彩燈設(shè)備的亮度及持續(xù)時間保持一致,控制流程如圖6所示。

3.5 新設(shè)備接入拓展

系統(tǒng)具有很高的可擴(kuò)展性,支持不同類型的彩燈燈組接入。為此,系統(tǒng)提供了上傳控制協(xié)議及彩燈設(shè)備信息的功能。通過上傳設(shè)備信息和對應(yīng)的控制協(xié)議,即可實(shí)現(xiàn)新設(shè)備的接入。系統(tǒng)將指定控制協(xié)議的書寫格式,并支持在線編輯和文件上傳兩種方式來實(shí)現(xiàn)控制協(xié)議的導(dǎo)入。

4 結(jié)束語

本文結(jié)合物聯(lián)網(wǎng)技術(shù),基于微服務(wù)架構(gòu),設(shè)計實(shí)現(xiàn)了在此架構(gòu)下的新型彩燈控制系統(tǒng)。在傳統(tǒng)的物聯(lián)網(wǎng)控制系統(tǒng)的基礎(chǔ)上,增加了支持新型設(shè)備接入的拓展功能,為系統(tǒng)嵌入新型設(shè)備提供了極高的便利性。同時,在設(shè)備維護(hù)方面,也實(shí)現(xiàn)了對于多設(shè)備的全局性監(jiān)測,減少了設(shè)備的維護(hù)成本。

此外,微服務(wù)的系統(tǒng)架構(gòu)能夠極大地提高系統(tǒng)的穩(wěn)定性和安全性。當(dāng)系統(tǒng)中的某個模塊發(fā)生故障時,不會影響其他模塊的運(yùn)行狀態(tài)。對于系統(tǒng)故障的排查,只需排查指定模塊即可,提高了修復(fù)效率。

猜你喜歡
物聯(lián)網(wǎng)
基于物聯(lián)網(wǎng)的無線測溫模塊設(shè)計
基于物聯(lián)網(wǎng)ZigBee技術(shù)的智能家居監(jiān)控系統(tǒng) 
物聯(lián)網(wǎng)監(jiān)測技術(shù)在G15W112邊坡的應(yīng)用
基于物聯(lián)網(wǎng)的健康管理服務(wù)模式
基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運(yùn)輸管理系統(tǒng)設(shè)計與應(yīng)用
基于高職院校物聯(lián)網(wǎng)技術(shù)應(yīng)用人才培養(yǎng)的思考分析
如何在高校架設(shè)學(xué)生洗衣服務(wù)系統(tǒng)
科技視界(2016年22期)2016-10-18 17:23:30
基于無線組網(wǎng)的智慧公交站點(diǎn)信息系統(tǒng)研究與實(shí)踐
基于LABVIEW的溫室管理系統(tǒng)的研究與設(shè)計
論智能油田的發(fā)展趨勢及必要性
主站蜘蛛池模板: 国产综合精品日本亚洲777| 有专无码视频| 欧美成在线视频| 国产免费好大好硬视频| 久久久久亚洲AV成人网站软件| 国产精品综合久久久| 欧美色综合网站| 国产毛片基地| 亚洲午夜18| 亚洲成综合人影院在院播放| 国产在线麻豆波多野结衣| 亚洲有无码中文网| 狼友视频国产精品首页| 99精品免费欧美成人小视频 | 亚洲中文在线视频| 精品自窥自偷在线看| 青草视频网站在线观看| 欧美日韩国产一级| AV老司机AV天堂| 嫩草国产在线| 国产精品浪潮Av| 小说 亚洲 无码 精品| AV无码一区二区三区四区| 亚洲日韩高清在线亚洲专区| 亚洲天堂视频网站| 美女无遮挡被啪啪到高潮免费| 欧美在线一二区| 大香伊人久久| 欧美a在线视频| 久久久久国产精品熟女影院| 亚洲成人黄色在线| 亚洲av无码成人专区| 国产视频a| 四虎AV麻豆| 亚洲综合二区| 国产欧美中文字幕| 国产黄网站在线观看| 啪啪国产视频| 激情网址在线观看| 亚洲中文无码h在线观看 | 91www在线观看| 在线精品亚洲国产| 综合色婷婷| 最新亚洲人成网站在线观看| 波多野结衣无码AV在线| 亚洲人视频在线观看| 欧美国产精品拍自| 播五月综合| 亚洲第七页| 日韩在线成年视频人网站观看| 亚洲成aⅴ人片在线影院八| 欧美高清三区| 欧美日韩成人在线观看| 免费a级毛片视频| a毛片在线| 亚洲国产91人成在线| 国产成人精品一区二区秒拍1o| 欧美亚洲国产视频| 最新国产成人剧情在线播放 | 亚洲一区波多野结衣二区三区| 国产av剧情无码精品色午夜| 一级黄色欧美| 国产在线视频二区| 露脸真实国语乱在线观看| 欧美精品一区二区三区中文字幕| 国产乱人免费视频| 成人免费视频一区| 又黄又湿又爽的视频| 青青草原国产一区二区| 玖玖免费视频在线观看| 四虎AV麻豆| 欧美国产另类| 免费一级α片在线观看| 天堂岛国av无码免费无禁网站 | 91精品啪在线观看国产| 国产在线观看高清不卡| 中文字幕永久视频| 久久国产精品无码hdav| 久久久久人妻精品一区三寸蜜桃| 亚洲一区免费看| 久操中文在线| 久久免费视频6|