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

藍牙Mesh設備遠程控制平臺設計與實現

2020-05-25 02:30:57俞為崔佳冬
軟件導刊 2020年2期

俞為 崔佳冬

摘 要:為改進藍牙Mesh設備無法進行遠程控制與管理的缺點,設計并實現了基于分布式服務器的遠程控制平臺。根據分布式特點將平臺拆分為注冊中心、路由網關、Mesh設備管理服務、Mesh控制服務和WebSocket服務5個模塊。注冊中心用于管理其它模塊,路由網關用于分發請求到下游服務器中,Mesh設備管理服務用于查看Mesh設備信息,Mesh控制服務用于處理控制指令,WebSocket服務用于實現對Mesh設備的控制。測試結果表明,與傳統集群設計方式相比,分布式設計方式的平均TPS(每秒事務處理量)提高了約3.3倍,平均響應時間縮短了約3/4,請求成功率提高了1.92%。

關鍵詞:Mesh;遠程控制;分布式服務器;WebSocket

DOI:10. 11907/rjdk. 191562 開放科學(資源服務)標識碼(OSID):

中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2020)002-0039-05

英標:Design and Implementation of Bluetooth Mesh Device Remote Control Platform

英作:YU Wei,CUI Jia-dong

英單:(School of Electronics & Information, Hangzhou Dianzi University, Hangzhou 310018, China)

Abstract:In order to improve the shortcomings of remote control and management of Bluetooth Mesh devices, a remote control platform based on distributed server is designed and implemented. According to the distributed characteristics, the platform is divided into five modules: registration center, routing gateway, Mesh device management service, Mesh control service and WebSocket service. The registration center is used to manage other modules. The routing gateway is used to distribute requests to downstream servers. The Mesh device management service is used to view information about Mesh devices. The Mesh control service is used to process control commands. The WebSocket service is used to control Mesh devices. The test results show that compared with the traditional cluster design method, the average TPS(Transaction Per Second) is increased by about 3.3 times, the average response time is shortened by about 3/4, and the request success rate is increased by 1.92%.

Key Words: Mesh; remote control; distributed server; WebSocket

0 引言

藍牙Mesh技術最早是在2014年由CSR劍橋大學研發團隊提出的,當時僅提出了私有協議(CSR Mesh)。2017年7月19日,藍牙技術聯盟正式宣布藍牙技術開始全面支持Mesh網狀網絡[1],制定了藍牙Mesh的標準協議(SIG Mesh)[2]。全新的SIG Mesh技術可支持設備多對多傳輸[3],使其更加適用于樓宇自動化、無線傳感器等需要讓數萬個設備在安全、可靠、穩定環境下進行信息傳輸的物聯網解決方案[4]。雖然SIG Mesh技術可以使整個應用的通信覆蓋面積增大,但整個應用無法接入到互聯網中,只能在樓宇范圍內進行控制,無法實現遠程控制與統一管理[5],極大限制了其應用范圍,所以需要設計開發一個針對藍牙Mesh應用的遠程控制平臺。

傳統控制平臺采用單機或集群服務器設計方式,雖然后者可以利用Nginx[6-7]的負載均衡原理,使其并發量相比前者明顯提升,但其本質仍是將所有業務都部署在一臺服務器上,每臺服務器并發量并沒有任何提升,并且當某個服務出現錯誤時,整臺服務器都會癱瘓,無法實現平臺的高并發和高可用。藍牙Mesh應用一般用于樓宇與大型商場中,具有高并發、大數據量的特點,而傳統控制平臺設計方式無法滿足該應用場景。針對以上特點,本文提出一個基于分布式服務器的遠程控制平臺[8],將各個相對完整的業務拆分成獨立模塊,并部署在不同服務器上[9- 10],使每臺服務器需要處理的業務相對較少,以提高控制平臺的并發量和可用性。

1 系統總體框架

如圖1所示,系統不再只有藍牙一種通信方式,而是在原有藍牙Mesh應用基礎上添加了網關、分布式服務器、數據庫和瀏覽器部分,實現了一個遠程控制平臺。手機APP可通過原有藍牙通信方式進行控制[11],也可以通過HTTP請求訪問服務器,再由服務器通過WebSocket[12-14]通信下發指令到網關,最終實現遠程控制。瀏覽器可通過HTTP請求訪問服務器,再由服務器訪問MySQL數據庫,最終實現對設備信息的遠程查看功能。

2 分布式服務器設計與實現

本文控制平臺是基于分布式服務器的,如圖2所示為分布式服務器設計框架,共有5個模塊,分別是注冊中心[15]、路由網關[16]、Mesh設備管理服務、Mesh控制服務與WebSocket服務[17]。在注冊中心、Mesh設備管理服務和Mesh控制服務3個重要模塊中還增添了集群形式,以保證每個模塊在一臺服務器崩潰時不會受到影響,從而提高了控制平臺的可用性。

2.1 注冊中心設計與實現

注冊中心在整個分布式服務器中的作用是管理其它模塊及提供其它模塊的IP與端口。所有模塊都需要在注冊中心進行注冊(上傳模塊IP、端口與模塊名稱到注冊中心),注冊完成后,每個模塊需要每隔30s向注冊中心發送心跳請求,若注冊中心90s內沒有收到心跳請求,則認為該模塊出現故障。當模塊1需要調用模塊2的服務時,模塊1會根據模塊2的模塊名稱從注冊中心得到相應IP和端口,通過得到的IP和端口實現對模塊2服務的調用。表1為各模塊在注冊中心注冊的信息表。

本文注冊中心采用Eureka[18]集群形式。從圖2中可以看出有兩個Eureka充當注冊中心,它們之間的相互注冊可以使注冊信息同步。其它模塊需要配置這兩個注冊中心的IP和端口,模塊會尋找一個正常運行的注冊中心進行注冊,所以當其中一個注冊中心無法使用時,整個平臺并不會受到影響,因而提高了平臺的可用性。其它模塊在注冊中心注冊配置如下:

spring:

application:

//注冊時的模塊名稱

name:xxx

eureka:

client:

service-url:

//配置兩個注冊中心

defaultZone:http://xxx/eureka/,http://xxx/eureka/

2.2 路由網關設計與實現

路由網關在整個分布式服務器中的作用是接收用戶所有請求與路由分發請求,用戶所有請求都會經過路由網關。根據請求路徑,路由網關對照自己配置的路由表獲得需要轉發的模塊名稱,再從注冊中心中獲得對應IP和端口,最后完成請求轉發。本文采用Zuul組件充當網關[19]。

例如當前有請求118.24.110.30/meshmanage/ login,則該請求首先經過Zuul路由網關,通過查看路由表可以發現該請求需要轉發到模塊名為mesh-manage的服務器上,即請求路徑為mesh-manage/login,再從注冊中心中獲取mesh-manage的信息。可以從表1看出mesh-manage已有兩臺服務器進行了注冊,分別是39.106.119.55:1112和106.12.196.14:1112,此時真正要轉發的請求路徑為39.106.119.55:1112/login或106.12.196.14:1112/login。由于兩臺服務器都可以處理服務,所以Zuul路由網關會自動進行負載均衡,以保證轉發到每臺服務器的請求數基本相同。路由表配置如下:

zuul:

routes:

manage:

path: /meshmanage/**

//Mesh設備管理模塊路由配置

serviceId: mesh-manage

control:

path: /meshcontrol/**

//Mesh控制模塊路由配置

serviceId: mesh-control

2.3 業務模塊設計與實現

Mesh設備管理服務、Mesh控制服務和WebSocket服務3個模塊屬于業務模塊。Mesh設備管理服務模塊接收指令查詢請求,并通過查詢MySQL數據庫獲得網關信息(已綁定的網關MAC地址、綁定網關對應用戶、該網關下綁定設備數)或設備信息(設備的DeviceID,設備綁定對應網關及用戶,設備所實現的Model與設備訂閱組地址)返回給用戶。Mesh控制服務模塊接收控制指令請求,并調用WebSocket服務模塊完成控制指令操作,最后對綁定信息進行MySQL數據庫存儲。WebSocket服務模塊通過WebSocket協議實現與網關的長連接,并可實時下發指令操作網關及網關下的設備[20]。同時WebSocket服務模塊也提供接口供Mesh控制服務模塊調用。平臺業務模塊如圖3所示,業務中涉及的專有標識符如表2所示。

業務操作流程如圖4所示,值得注意的是,Mesh控制服務模塊需要調用WebSocket服務模塊才能完成相應業務,所以需要在分布式處理中實現模塊與模塊之間的調用。

本文采用ribbon+restTemplate[21]組件實現這種調用,調用原理即上文所述的模塊1調用模塊2的原理。具體調用程序如下:

//調用WebSocket服務獲得未綁定的設備

List devUUIDs = restTemplate.getForObject (“http://MESH-WEBSOCKET/getAllUnbindDevice?gwID=” + gwID, List.class);

3 測試與分析

3.1 性能測試

(1) 測試環境。本文測試中使用的服務器性能參數如表3所示。

由于需要對采用分布式設計方式與集群設計方式的服務器進行性能比較,所以分別對兩種設計方式進行測試,兩種設計方式測試環境對比如表4所示。

測試并發人數采用階梯遞增方式。并發用戶初始值為100人,每過30s人數增加100人,一直增加到1 000人結束,每個用戶每500ms發送一次請求模擬真實環境。并發人數設置如表5所示。

(2) 測試工具。測試工具使用騰訊的壓測大師,這是一款專業且方便的壓測工具。只要給出并發人數設置與需要測試的請求路徑,該工具就會自動進行壓力測試并得到測試結果。

(3) 測試內容。測試內容有平臺的平均TPS(每秒事務處理量)、平臺平均響應時間以及請求成功率。

(4) 測試結果。分布式設計方式測試結果如圖5所示,集群設計方式測試結果如圖6所示。

(5) 結果分析。從圖5、圖6中發現本文介紹的分布式設計方式相比集群設計方式,平均TPS提高了約3.3倍,平均響應時間縮短了約3/4,請求成功率提高了1.92%。總體來看,分布式設計方式遠優于集群設計方式,更適合應用于藍牙Mesh設備遠程控制平臺。

3.2 功能測試

3.2.1 手機APP遠程功能測試

測試功能有掃描網關、綁定網關、掃描設備、綁定設備與設備控制。手機APP遠程功能測試圖如圖7所示,圖7左半部分表明,手機APP可以對網關和網關下的設備進行遠程掃描與綁定。圖中掃描出兩個網關(用Mac地址表示),其中一個網關與用戶(用手機號表示)完成了綁定,在該綁定的網關下對設備進行掃描,可以發現有兩個設備,其中一個設備未綁定(用UUID表示),另一個完成了綁定(用DeviceID表示);圖7右半部分表明,手機APP的Light Model遠程控制界面可實現開關控制、RGB燈顏色控制與冷暖燈亮度控制等功能。

3.2.2 瀏覽器遠程功能測試

測試功能有網關信息查詢與設備信息查詢。瀏覽器遠程功能測試圖如圖8所示,圖8上半部分表明,可以查看綁定的網關信息(包括綁定對應用戶,以及在該網關下綁定的設備數量);圖8下半部分表明,可以查詢某個具體網關下的綁定設備信息(包括設備DeviceID,綁定對應網關及用戶,該設備實現的Model與該設備訂閱的組地址)。

4 結語

本文設計并實現了一個藍牙Mesh設備遠程控制平臺,針對藍牙Mesh應用高并發與大數據量的特點,平臺采用分布式設計方式,相比集群設計方式,該方式提高了平臺的并發量與請求成功率,縮短了平臺響應時間。該平臺實現了對藍牙Mesh應用的遠程管理與控制,彌補了藍牙Mesh的不足。未來該平臺還將針對藍牙Mesh的特點實現更加豐富的功能(例如對所有Model的遠程控制),以搭建一個更為通用的藍牙Mesh設備遠程控制平臺。

參考文獻:

[1] 迎九. 藍牙Mesh出臺,15.4等面臨挑戰[J].電子產品世界, 2017, 24(9):79-80.

[2] 王熙. 藍牙mesh驅動創新打造安全可靠物聯網解決方案[J]. 通信世界, 2017 (25):46.

[3] NEIL TYLER. The next frontier in mesh networking[J]. New Electronics, 2017, 50(14):10.

[4] 程琳琳. 藍牙技術聯盟發布mesh標準將提供多點互聯的工業級解決方案[J]. 通信世界, 2017 (21):49.

[5] 單片機與嵌入式系統應用編輯部. 藍牙技術聯盟開放網關架構[J]. 單片機與嵌入式系統應用, 2016, 16(4):9.

[6] LERNER R M. At the forge: Nginx[J]. Linux Journal, 2016.

[7] 林麗麗. 使用高性能Web服務器Nginx實現開源負載均衡[J]. 大眾科技, 2010 (7):37-38

[8] CERNY T. Aspect-oriented challenges in system integration with microservices, SOA and IoT[J]. Enterprise Information Systems, 2018:1-23.

[9] 王方旭. 基于Spring Cloud和Docker的微服務架構設計[J]. 中國信息化, 2018 (3):53-55.

[10] CHRISTOPH F S.Microservice based tool support for business process modelling[J]. Computing reviews, 2016, 57(8):495-495.

[11] 錢建平,李曉兵,茅梅芳,等. 基于藍牙Mesh組網的智能燈絲燈產品設計[J]. 中國照明電器, 2018 (8):25-29.

[12] WITTHAYAWIROJ N,NILAPHRUEK P. The development of smart home system for controlling and monitoring energy consumption using websocket protocol[J]. IOP Conference Series: Materials Science and Engineering, 2017, 185(1):012019.

[13] 陳淏,高守瑋,岳金冬. 基于WebSocket實時物聯網數據傳輸關鍵技術的研究[J]. 工業控制計算機,2016, 29(11):33-34,36.

[14] 謝佳柏,陳賢祥,胡欣宇,等. 基于低功耗藍牙和WebSocket的物聯網數據網關[J]. 儀表技術與傳感器, 2016 (1):76-78.

[15] 李春陽,劉迪,崔蔚,等. 基于微服務架構的統一應用開發平臺[J]. 計算機系統應用, 2017, 26(4):43-48.

[16] 劉罡. 基于微服務架構的汽車經銷商管理系統[J]. 計算機應用, 2018, 38(z2):243-249.

[17] LIU W T. Research on the development of WebSocket server[J]. Advanced Materials Research, 2014, 886:4.

[18] 劉賢義,馮向陽,馮文和,等. 一種WEB應用無縫接入分布式系統的方法和系統[P]. 北京:CN108667925A, 2018-10-16.

[19] 張杰,司維超,王麗娜,等. 一種面向微服務的通用考核系統設計與應用[J]. 計算機與數字工程,2018,46(12):2463-2467,2533.

[20] PIMENTEL V,NICKERSON B G. Communicating and displaying real-time data with WebSocket[J]. IEEE Internet Computing, 2012, 16(4):45-53.

[21] 丁振凡. Spring REST風格Web服務的Json消息封裝及解析研究[J]. 智能計算機與應用, 2012 (2):9-10.

(責任編輯:黃 健)

主站蜘蛛池模板: 视频二区亚洲精品| 日韩欧美国产中文| 日本国产精品| 99国产在线视频| 少妇高潮惨叫久久久久久| 91福利国产成人精品导航| 2021国产精品自产拍在线观看 | 91亚瑟视频| 精品视频在线一区| 精品免费在线视频| 在线欧美一区| 色偷偷av男人的天堂不卡| www.国产福利| 综合网天天| 先锋资源久久| 欧美日韩专区| 天天摸天天操免费播放小视频| 九色视频最新网址| 成人看片欧美一区二区| 久久99这里精品8国产| 精品久久国产综合精麻豆| 看国产一级毛片| 国产精品自拍合集| 伦伦影院精品一区| 最新痴汉在线无码AV| 国产本道久久一区二区三区| 69免费在线视频| 亚洲国产黄色| 欧美日韩精品在线播放| 成人国产免费| 久久久久人妻一区精品色奶水 | 欧美高清国产| 亚洲国产日韩在线成人蜜芽| 国产一区二区色淫影院| 成人毛片免费在线观看| 国产自在自线午夜精品视频| 久久综合伊人77777| 久久久久国色AV免费观看性色| 国产鲁鲁视频在线观看| 夜夜拍夜夜爽| 亚洲国产第一区二区香蕉| 成人福利在线免费观看| www.国产福利| 亚洲天堂777| 国产午夜福利片在线观看| 91精品小视频| 中文字幕在线观| 蜜桃视频一区| 国产成人免费手机在线观看视频| 亚洲热线99精品视频| 国产乱码精品一区二区三区中文| 亚洲三级电影在线播放| av色爱 天堂网| 黄片在线永久| 久久国产精品77777| 一级毛片免费观看不卡视频| 狼友av永久网站免费观看| 一级毛片免费播放视频| 国产成人一区在线播放| 亚洲精品无码日韩国产不卡| 国产欧美亚洲精品第3页在线| 亚洲欧美日韩精品专区| 欧美国产日韩在线| 老司机aⅴ在线精品导航| 欧美亚洲日韩中文| 久久久久青草线综合超碰| 久久精品只有这里有| 国产精品露脸视频| 99视频在线精品免费观看6| 国产乱子伦视频在线播放| 色妞www精品视频一级下载| 欧美a级完整在线观看| 99久久精品免费看国产电影| 国产精品亚洲一区二区在线观看| 日韩精品欧美国产在线| 欧美有码在线| 99视频免费观看| 一本综合久久| 亚洲人成在线精品| 97色婷婷成人综合在线观看| 国产丝袜无码一区二区视频| 亚洲视频二|