用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)_第1頁(yè)
用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)_第2頁(yè)
用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)_第3頁(yè)
用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)_第4頁(yè)
用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄

摘要I

AbstractII

1緒論1

1.1背景與意義1

1.2現(xiàn)狀和發(fā)展趨勢(shì)2

1.3研究方案2

2需求分析4

2.1經(jīng)濟(jì)可行性4

2.2技術(shù)可行性4

2.3社會(huì)可行性6

3系統(tǒng)需求分析7

3.1系統(tǒng)目標(biāo)7

3.2系統(tǒng)功能分析7

3.2.1用戶注冊(cè)和用戶信息管理7

3.2.2設(shè)備注冊(cè)7

3.2.3設(shè)備管理8

3.2.4接入數(shù)據(jù)查看8

3.3系統(tǒng)功能結(jié)構(gòu)8

3.4系統(tǒng)功能描述和用例分析9

3.4.1系統(tǒng)的總用例圖9

3.4.2用戶信息管理9

3.4.3設(shè)備管理10

4云平臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)12

4.1關(guān)系數(shù)據(jù)庫(kù)的選擇12

4.2緩存數(shù)據(jù)庫(kù)Redis的使用12

4.3數(shù)據(jù)庫(kù)E-R聯(lián)系圖13

4.4數(shù)據(jù)庫(kù)表的設(shè)計(jì)14

4.4.1概要說(shuō)明14

4.4.2用戶表t_users15

4.4.3設(shè)備類型表t_device_type15

4.4.4設(shè)備表t_device15

4.4.5消息記錄表t_message_info16

4.5數(shù)據(jù)庫(kù)實(shí)體類抽象17

5云平臺(tái)系統(tǒng)詳細(xì)設(shè)計(jì)18

5.1系統(tǒng)總體架構(gòu)的設(shè)計(jì)18

5.2系統(tǒng)開(kāi)發(fā)工具22

5.3系爭(zhēng)項(xiàng)目結(jié)構(gòu)的搭建23

6項(xiàng)目展示26

6.1登錄界面展示26

6.2個(gè)人信息展示頁(yè)26

6.3設(shè)備管理模塊展示27

6.4數(shù)據(jù)中心模塊界面展示29

7系統(tǒng)測(cè)試31

7.1可靠性測(cè)試31

7.2兼容性測(cè)試32

7.3測(cè)試用例32

7.3.1測(cè)試框架JUnit32

7.3.2DeviceServer消息收發(fā)測(cè)試33

參考文獻(xiàn)37

致謝38

摘要

當(dāng)今,環(huán)境問(wèn)題和居家安全越來(lái)越受到人們的關(guān)注。在工業(yè)或者民用建筑中

例如學(xué)校,酒店,小區(qū),工廠,甚至是每個(gè)家庭都會(huì)裝有空氣檢測(cè)的物聯(lián)網(wǎng)設(shè)備,

例如煙霧報(bào)警器,空氣凈化器,空氣質(zhì)量檢測(cè)儀等,讓人們能夠及時(shí)的對(duì)危急情

況作出處理,上述設(shè)備雖然能夠不間斷的檢測(cè)空氣中的狀況,但還是存在很多無(wú)

法忽視的缺點(diǎn)。

首先,這些設(shè)備一般都是單節(jié)點(diǎn)的,彼此之間相互獨(dú)立,因?yàn)樵O(shè)備可能會(huì)出

現(xiàn)各種故障,如果沒(méi)有一個(gè)好的系統(tǒng)能夠直接定位到出故障的設(shè)備,那么勢(shì)必會(huì)

帶來(lái)管理上的不便,嚴(yán)重的甚至可能影響到對(duì)災(zāi)情的及時(shí)警報(bào)。其次就是預(yù)警的

及時(shí)性,常規(guī)的煙霧報(bào)警器都是通過(guò)發(fā)出刺耳的響鈴聲來(lái)引起周?chē)说淖⒁?。?/p>

是對(duì)于家庭式的,很有可能出現(xiàn)當(dāng)警報(bào)響起時(shí)家中無(wú)人,這就使得煙霧報(bào)警器失

去了其本有的意義。最后只基于硬件設(shè)備本身功能而言,已經(jīng)遠(yuǎn)遠(yuǎn)不能夠滿足用

戶日常的生活需求,且有著許多使用上的不便。

針對(duì)以上傳統(tǒng)空氣硬件設(shè)備存在的問(wèn)題,搭建一個(gè)用戶空氣設(shè)備數(shù)據(jù)處理云

平臺(tái)。該平臺(tái)擁有設(shè)備狀態(tài)監(jiān)測(cè),設(shè)備數(shù)據(jù)可視化分析,消息及時(shí)預(yù)警等功能。

用戶可以直接通過(guò)云平臺(tái)系統(tǒng)查看其所有設(shè)備的運(yùn)行狀態(tài),這樣就可以及時(shí)定位

故障設(shè)備。空氣質(zhì)檢將檢測(cè)數(shù)據(jù)上傳至云平臺(tái)進(jìn)行存儲(chǔ),云平臺(tái)對(duì)原始數(shù)據(jù)進(jìn)行

二次處理,并將分析結(jié)果以更加人性化的方式展現(xiàn)給用戶。云平臺(tái)擁有消息通知

模塊,用戶可以根據(jù)設(shè)備檢測(cè)到的不同危機(jī)情況等級(jí),設(shè)置相應(yīng)的處理事件。例

如當(dāng)質(zhì)檢設(shè)備檢測(cè)到火災(zāi)發(fā)生時(shí),云平臺(tái)接受到此類事件,將自動(dòng)通過(guò)電話、短

信、郵件等方式對(duì)用戶進(jìn)行提醒。再例如當(dāng)空氣中PM2.5含量過(guò)高時(shí),提醒用

戶出門(mén)記得帶口罩,對(duì)于裝配有智能家居系統(tǒng)的用戶,甚至可以聯(lián)動(dòng)空氣凈化器

工作,維持空氣質(zhì)量的穩(wěn)定。

關(guān)鍵詞:空氣質(zhì)檢;云平臺(tái);設(shè)備管理;及時(shí)預(yù)警

Abstract

Today,environmentalissuesandhomesecurityaregettingmoreandmore

attention.Inindustrialorcivilbuildingssuchas.schools,hotels,communities,

factories,andeveneveryfamily,air-testedInternetofThings(IoT)devices(e.g.smoke

alarms,airpurifiers,airqualitydetectors,etc.)areinstalledsothatpeoplecanbe

timelydealingwithcriticalsituations,althoughtheaboveequipmentcancontinuously

detecttheconditionsintheair,therearestillmanyshortcomingsthatcannotbe

ignored.

Firstofall,thesedevicesaregenerallysingle-nodeandindependentfromeach

other,becausethedevicemayhavevariousfailures.Ifthereisnotagoodsystemthat

candirectlylocatethefaileddevice,itwillinevitablybringaboutmanagement

inconvenience.Serious,itmayevenaffectthetimelywarningofthedisaster.The

secondisthetimelinessofearlywarning.Conventionalsmokealarmsarecausedby

harshringingsoundstoattractpeople'sattention.Butforfamily-style,itisverylikely

thatnooneisathomewhenthealarmsounds,whichmakesthesmokealarmloseits

originalmeaning.Intheend,basedonlyonthefunctionofthehardwaredeviceitself,

itisfarfrombeingabletomeetthedailylifeneedsoftheuser,andtherearemany

inconveniencesinuse.

Aimingattheproblemsexistingintheabovetraditionalairhardwaredevices,a

user-friendlyairqualityprocessingcloudplatformbasedontheInternetofThings

wasconstructed.Theplatformhasthefunctionsofequipmentstatusmonitoring,

equipmentdatavisualizationanalysis,Userscandirectlychecktherunningstatusof

alltheirdevicesthroughthecloudplatformsystem,sothatfaultydevicescanbe

locatedintime.Theairqualityinspectionuploadstheinspectiondatatothecloud

platformforstorage.Thecloudplatformperformssecondaiyprocessingonthe

originaldataandpresentstheanalysisresultstotheuserinamorehumanemanner.

Thecloudplatformhasamessagenotificationmodule.Whenthedevicedetectsa

criticalsituation,itautomaticallyinformstheuserthroughinstantmessaging.

Keywords:AirQualityInspection;CloudPlatfbrm;EquipmentManagement

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

1緒論

1.1背景與意義

隨著社會(huì)經(jīng)濟(jì)的日趨發(fā)展和人們對(duì)生活品質(zhì)的不斷追求,環(huán)境問(wèn)題和居家安

全越來(lái)越受到人們的關(guān)注?,F(xiàn)如今,在工業(yè)或者民用建筑中例如學(xué)校,酒店,小

區(qū),工廠,甚至是每個(gè)家庭都會(huì)裝有空氣檢測(cè)的物聯(lián)網(wǎng)設(shè)備,例如煙霧報(bào)警器,

空氣凈化器,空氣質(zhì)量檢測(cè)儀等,讓人們能夠及時(shí)的對(duì)危急情況作出處理,特別

是火災(zāi),煤氣泄漏,有毒氣體等嚴(yán)重威脅到人們健康安全的情況。上述設(shè)備雖然

能夠不間斷的檢測(cè)空氣中的狀況,但還是存在很多無(wú)法忽視的缺點(diǎn)。

首先,這些設(shè)備一般都是單節(jié)點(diǎn)的,彼此之間相互獨(dú)立,假設(shè)一個(gè)小區(qū)裝有

數(shù)百的煙霧報(bào)警器,就需要耗費(fèi)大量的人力定期對(duì)這些設(shè)備進(jìn)行檢查,因?yàn)樵O(shè)備

可能會(huì)出現(xiàn)各種故障,如果沒(méi)有一個(gè)好的系統(tǒng)能夠直接定位到出故障的設(shè)備,那

么勢(shì)必會(huì)帶來(lái)管理上的不便,嚴(yán)重的甚至可能影響到及時(shí)對(duì)災(zāi)情進(jìn)行警報(bào)。

其次就是預(yù)警的及時(shí)性,常規(guī)的煙霧報(bào)警器都是通過(guò)發(fā)出刺耳的響鈴聲來(lái)引

起周?chē)说淖⒁?。但是?duì)于家庭式的,很有可能出現(xiàn)當(dāng)警報(bào)響起時(shí)家中無(wú)人,這

就使得煙霧報(bào)警器失去了其本有的意義。

最后只基于硬件設(shè)備本身功能而言,已經(jīng)遠(yuǎn)遠(yuǎn)不能夠滿足用戶日常的生活需

求,且有著許多使用上的不便。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展以及處理器性能的不

斷強(qiáng)大,人們對(duì)產(chǎn)品的要求已經(jīng)不僅僅局限在其功能,而是深入到產(chǎn)品背后的服

務(wù)了。在以前處理器性能遠(yuǎn)不如現(xiàn)在強(qiáng)大,網(wǎng)絡(luò)帶寬資源昂貴且網(wǎng)絡(luò)延遲高的年

代,想要在設(shè)備本身的功能上進(jìn)行服務(wù)的擴(kuò)展顯得不太現(xiàn)實(shí),并且將大大提高生

產(chǎn)成本,這是企業(yè)所不能夠承受的。

針對(duì)以上傳統(tǒng)空氣硬件設(shè)備存在的這些問(wèn)題,提出搭建一個(gè)用戶空氣設(shè)備數(shù)

據(jù)處理云平臺(tái)。首先,該平臺(tái)支持海量空氣質(zhì)檢設(shè)備的的同時(shí)接入,云平臺(tái)系統(tǒng)

可以查看所有設(shè)備的運(yùn)行狀態(tài),能夠及時(shí)定位故障設(shè)備,從此遠(yuǎn)離人工定時(shí)檢查

這種低效的方式。其次空氣質(zhì)檢可以將檢測(cè)數(shù)據(jù)上傳至云平臺(tái)進(jìn)行存儲(chǔ),利用云

服務(wù)器強(qiáng)大的計(jì)算性能,對(duì)原始數(shù)據(jù)進(jìn)行二次處理,并將分析結(jié)果以更加人性化

的方式展現(xiàn)給用戶,給用戶帶來(lái)管理和使用上的方便。再者,云平臺(tái)擁有消息隊(duì)

列模塊,用戶可以根據(jù)設(shè)備檢測(cè)到的不同危機(jī)情況等級(jí),設(shè)置相應(yīng)的處理事件。

例如當(dāng)質(zhì)檢設(shè)備檢測(cè)到火災(zāi)發(fā)生時(shí),云平臺(tái)接受到此類事件,將自動(dòng)通過(guò)電話、

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

短信、郵件等方式對(duì)用戶進(jìn)行提醒。再例如當(dāng)空氣中PM2.5含量過(guò)高時(shí),提醒

用戶出門(mén)記得帶口罩,對(duì)于裝配有智能家居系統(tǒng)的用戶,甚至可以聯(lián)動(dòng)空氣凈化

器工作,維持空氣質(zhì)量的穩(wěn)定。

1.2現(xiàn)狀和發(fā)展趨勢(shì)

物聯(lián)網(wǎng)云平臺(tái)山已經(jīng)不是一個(gè)特別新奇的概念了。國(guó)內(nèi)幾大BAT對(duì)于物聯(lián)網(wǎng)

云平臺(tái)的建設(shè)早已經(jīng)有了戰(zhàn)略性的布局。基于云、大數(shù)據(jù)、硬件管理平臺(tái)等自身

傳統(tǒng)優(yōu)勢(shì),百度、阿里、騰訊發(fā)揮數(shù)據(jù)采集后的價(jià)值,以及大數(shù)據(jù)分析下的各種

衍生價(jià)值,成立QQ物聯(lián)、微信硬件平臺(tái)、阿里云IoT、百度云一天工一智能物

聯(lián)網(wǎng)平臺(tái)。BAT搭建的云平臺(tái)不特別針對(duì)某一種特定類型的物聯(lián)網(wǎng)設(shè)備,而是

作為一種中介平臺(tái),簡(jiǎn)化了一些開(kāi)發(fā)上的復(fù)雜度,比如制定了統(tǒng)一的數(shù)據(jù)傳輸協(xié)

議,屏蔽硬件設(shè)備和云應(yīng)用之間通信的復(fù)雜度等。但是企業(yè)依舊需要在開(kāi)發(fā)了物

聯(lián)網(wǎng)設(shè)備的基礎(chǔ)上獨(dú)立開(kāi)發(fā)云應(yīng)用來(lái)處理和管理自己的設(shè)備,只不過(guò)物聯(lián)網(wǎng)設(shè)備

和云應(yīng)用之間的通信通過(guò)統(tǒng)一的中介云平臺(tái)轉(zhuǎn)發(fā)而已。這樣也就導(dǎo)致了一個(gè)問(wèn)

題,對(duì)于很多功能不是特別復(fù)雜的物聯(lián)網(wǎng)設(shè)備來(lái)說(shuō),也需要企業(yè)獨(dú)立開(kāi)發(fā)云管理

平臺(tái),增加了開(kāi)發(fā)成本。本論文研究的物聯(lián)網(wǎng)云處理平臺(tái)只針對(duì)空氣質(zhì)檢領(lǐng)域,

對(duì)空氣質(zhì)量檢測(cè)儀、煙霧報(bào)警器等物聯(lián)網(wǎng)設(shè)備提供通用的云服務(wù),例如設(shè)備管理,

空氣檢測(cè)數(shù)據(jù)云端展示,全國(guó)天氣和空氣質(zhì)量數(shù)據(jù)的推送,消息訂閱等等。

1.3研究方案

空氣設(shè)備云平臺(tái)的系統(tǒng)總架構(gòu)圖如圖1-1所示。其中硬件設(shè)備指的是NB-IoT

Device,也就是空氣質(zhì)量檢測(cè)器,負(fù)責(zé)采集室內(nèi)煙霧、PM2.5、CO等數(shù)據(jù),并

通過(guò)NB-IoT⑶網(wǎng)絡(luò)將數(shù)據(jù)上傳到云平臺(tái)。同時(shí)接收云平臺(tái)下發(fā)的指令,并對(duì)其指

令進(jìn)行相應(yīng)的響應(yīng)。硬件設(shè)備和云平臺(tái)之間通過(guò)Internet進(jìn)行連接,硬件設(shè)備和

云平臺(tái)想要進(jìn)行數(shù)據(jù)的交換,必須要制定統(tǒng)一的通信方式和數(shù)據(jù)交換格式??紤]

到硬件設(shè)備要高響應(yīng)、低延遲、低功耗的特點(diǎn)。我們暫時(shí)選定TCP傳輸協(xié)議進(jìn)

行通信。自定義數(shù)據(jù)交換格式,通過(guò)DES對(duì)稱加密算法來(lái)對(duì)傳輸數(shù)據(jù)加密,保

證了傳輸?shù)陌踩?。最后是本論文的主要研究部分云系統(tǒng)的架構(gòu),也就是用戶空

氣質(zhì)量數(shù)據(jù)處理云平臺(tái)。

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

硬件API接口WEB展示層

權(quán)Redisg爰存日

限志

隊(duì)

控記

數(shù)

數(shù)

制設(shè)

據(jù)

據(jù)

圖1-1云平臺(tái)架構(gòu)圖

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

2需求分析

2.1經(jīng)濟(jì)可行性

在做任何一件事之前,我們都會(huì)考慮其投入產(chǎn)出比、效率、效力等,這個(gè)項(xiàng)

目消耗資源的成本以及其后期帶來(lái)的回報(bào)決定了項(xiàng)目意義。

開(kāi)發(fā)一個(gè)空氣設(shè)備處理云平臺(tái)也以下簡(jiǎn)稱空氣云??諝庠崎_(kāi)發(fā)目的明確,

旨在為空氣質(zhì)檢相關(guān)物聯(lián)網(wǎng)設(shè)備開(kāi)發(fā)一個(gè)具有通用性和可擴(kuò)展性的物聯(lián)網(wǎng)云平

臺(tái)??諝庠铺峁┮杂脩魹楹诵牡脑O(shè)備管理解決方案,該平臺(tái)為每個(gè)用戶都提供設(shè)

備注冊(cè)、設(shè)備管理、數(shù)據(jù)監(jiān)控、空氣數(shù)據(jù)爬取、消息預(yù)警等通用功能。其開(kāi)發(fā)成

本主要體在幾臺(tái)高性能服務(wù)器的租賃,而項(xiàng)目相關(guān)的開(kāi)發(fā)技術(shù)都是開(kāi)源且成熟

的,不需要成本。在開(kāi)發(fā)初期,只需要一臺(tái)服務(wù)器即可,可以隨著平臺(tái)并發(fā)量需

求的提高增加服務(wù)器數(shù)量,將數(shù)據(jù)庫(kù)、緩存、應(yīng)用部署在不同的服務(wù)器上,逐漸

升級(jí)系統(tǒng)架構(gòu)。所以其成本是宏觀可控的。

2.2技術(shù)可行性

從開(kāi)發(fā)的角度來(lái)說(shuō),技術(shù)可行性可以理解為技術(shù)選型和系統(tǒng)架構(gòu)。我們目標(biāo)

是開(kāi)發(fā)一個(gè)具有通用性和可擴(kuò)展性的空氣云,那么在做技術(shù)選型和系統(tǒng)架構(gòu)設(shè)計(jì)

時(shí)也應(yīng)該選擇一種主流的的編程語(yǔ)言,并且該編程語(yǔ)言的開(kāi)源社區(qū)擁有許多成熟

的項(xiàng)目和技術(shù)能夠幫助我們更加高效的開(kāi)發(fā)網(wǎng)站。云平臺(tái)使用Java作為開(kāi)發(fā)語(yǔ)

言,其版本為1.8。在TIOBE編程語(yǔ)言排行榜中,Java長(zhǎng)期位居榜首,Java生態(tài)

圈如圖2-1所示,在安卓開(kāi)發(fā)和Web領(lǐng)域中,它都有著舉足輕重的地位。

4

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

JavaLanciuaae

Tools&

ToolAPIs

PeDlOYment

UserInterface

Intearahon

Llbranes

OtherBase

Libraries

lanaandutil

BaseLibraries

JavaVirtualMachineJavaHotSpotClientandServerVM

圖2-1DescriptionofJavaConceptualDiagram

來(lái)源:ORACLEWEBSITEhttps://docs.oracle.eom/javase/8/docs/

云平臺(tái)采用的是當(dāng)前極為流行的MVC架構(gòu)設(shè)計(jì)⑷的,MVC將整個(gè)云平臺(tái)系

統(tǒng)分為三層,并加入了穿插于各層的權(quán)限控制、日志記錄、消息隊(duì)列功能。其中

硬件API接口和WEB展示層為控制層(Controller),Redis緩存和一些功能模塊

為服務(wù)層,最底層是系統(tǒng)的持久層,也就是數(shù)據(jù)的本地存儲(chǔ)。其中服務(wù)層和持久

層統(tǒng)稱為模型層(Model),層與層之間通過(guò)接口連接,保證了系統(tǒng)功能的高內(nèi)聚、

低耦合,方便以后進(jìn)行功能的擴(kuò)展。云平臺(tái)的技術(shù)棧如圖2-2所示。

系統(tǒng)技術(shù)棧

項(xiàng)目構(gòu)建MVC框架數(shù)據(jù)爬取框架數(shù)據(jù)庫(kù)曰志工具視圖層技術(shù)

GitSpringMVCGeccoMySQLLog4jHTML

MavenSpringRedisSlf4jCSS

MybatisJavaScript

Thymeleaf

圖2-2云平臺(tái)系統(tǒng)技術(shù)棧

其架構(gòu)的簡(jiǎn)要技術(shù)選型如下:

1.項(xiàng)目構(gòu)建和版本控制工具:采用Maven做項(xiàng)目構(gòu)建和依賴管理工具,使

用Git做版本控制。

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

2.MVC框架選擇:本平臺(tái)整體架構(gòu)采用SSM框架搭建,也就是JavaWeb

開(kāi)發(fā)中常用的SpringMVC+Spring+Mybatis組合。為了加快云平臺(tái)的響應(yīng)速度和

支持更高的并發(fā)數(shù),本平臺(tái)加入了數(shù)據(jù)緩沖層,采用了基于內(nèi)存的鍵值型數(shù)據(jù)庫(kù)

RediSo

3.數(shù)據(jù)爬取框架:為了給空氣質(zhì)量檢測(cè)儀推送全國(guó)天氣和空氣數(shù)據(jù),需要

空氣云定時(shí)從其它天氣網(wǎng)站中實(shí)時(shí)爬取天氣和空氣數(shù)據(jù)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),硬件

設(shè)備可以通過(guò)硬件API接口來(lái)獲取這些數(shù)據(jù)。本平臺(tái)采取的數(shù)據(jù)爬取框架為

WebMagic,它能夠簡(jiǎn)化數(shù)據(jù)的爬取的過(guò)程。對(duì)于爬取一些簡(jiǎn)單頁(yè)面來(lái)說(shuō),它擁

有體積小,爬取迅速的優(yōu)點(diǎn)。

2.3社會(huì)可行性

針對(duì)傳統(tǒng)空氣檢測(cè)設(shè)備管理不便、及時(shí)性差、功能單一等現(xiàn)象,結(jié)合物聯(lián)網(wǎng)

和互聯(lián)網(wǎng)技術(shù),基于一種NB-IoT的空氣質(zhì)量檢測(cè)儀開(kāi)發(fā)的空氣設(shè)備數(shù)據(jù)處理云

平臺(tái)。能夠讓用戶方便的管理硬件設(shè)備,隨時(shí)隨地掌握消息動(dòng)態(tài),將“被動(dòng)”轉(zhuǎn)

化為“主動(dòng)”。

對(duì)于一個(gè)沒(méi)有擁有自己云平臺(tái)的空氣質(zhì)檢設(shè)備制造商來(lái)說(shuō),在如今都講究

“萬(wàn)物互聯(lián),服務(wù)為王”的時(shí)代,必然會(huì)逐漸喪失自己的核心競(jìng)爭(zhēng)力,但是一個(gè)

中小型企業(yè)如果需要培養(yǎng)自己的技術(shù)團(tuán)隊(duì)和運(yùn)營(yíng)團(tuán)隊(duì)去開(kāi)發(fā)和維護(hù)一個(gè)自己的

云平臺(tái),那么必然需要投入巨大的人力物力財(cái)力以及時(shí)間,這是很多小企業(yè)都無(wú)

法承受的代價(jià),如果擁有一個(gè)開(kāi)源的云平臺(tái),那么既可以大大減少預(yù)期投入,同

樣也能大大降低風(fēng)險(xiǎn)。

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

3系統(tǒng)需求分析

3.1系統(tǒng)目標(biāo)

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái),基于用戶來(lái)對(duì)各個(gè)空氣質(zhì)檢設(shè)備來(lái)進(jìn)行管

理,這里的用戶一般指質(zhì)檢設(shè)備的使用者,可能是個(gè)人、小區(qū)的管理者,因?yàn)槠?/p>

臺(tái)的設(shè)計(jì)初衷就是為了滿足多用戶同時(shí)在線對(duì)多種不同的設(shè)備進(jìn)行管理。他們可

以通過(guò)云平臺(tái)進(jìn)行設(shè)備注冊(cè)、設(shè)備查看、設(shè)備數(shù)據(jù)上傳等操作,此外,云平臺(tái)還

提供全國(guó)各區(qū)域的空氣和天氣數(shù)據(jù)的ResultfulAPI查看接口,對(duì)于可以通過(guò)

Internet連接到的云平臺(tái)的物聯(lián)網(wǎng)設(shè)備,可以在不用添加硬件相關(guān)模塊的基礎(chǔ)上,

直接獲取到相關(guān)空氣質(zhì)量和天氣數(shù)據(jù),可以進(jìn)一步降低成本。我們期望能夠搭建

一個(gè)高并發(fā)低延遲的系統(tǒng),能同時(shí)支持大量用戶和硬件設(shè)備的連接。用戶可以通

過(guò)人性化的后臺(tái)管理界面,隨時(shí)隨地掌握設(shè)備動(dòng)態(tài)。

3.2系統(tǒng)功能分析

3.2.1用戶注冊(cè)和用戶信息管理

幾乎任何后臺(tái)管理類系統(tǒng)都需要基于用戶來(lái)對(duì)于整個(gè)系統(tǒng)進(jìn)行操作,只有擁

有相應(yīng)角色的用戶才能夠?qū)ο鄳?yīng)功能菜單進(jìn)行操作。用戶注冊(cè)需要系統(tǒng)使用者提

供一些個(gè)人基本信息,云平臺(tái)將會(huì)根據(jù)這些信息為其生成一個(gè)僅供個(gè)人使用的賬

號(hào),密碼可由賬號(hào)使用者指定。

用戶信息管理模塊提供用戶對(duì)之前注冊(cè)的信息進(jìn)行修改和賬號(hào)密碼更改等

功能,因?yàn)榫W(wǎng)站所有的功能都是基于用戶來(lái)進(jìn)行展示的,每個(gè)用戶只能查看和管

理個(gè)人注冊(cè)的設(shè)備相關(guān)信息。

3.2.2設(shè)備注冊(cè)

云平臺(tái)的功能核心就是設(shè)備管理。在進(jìn)行設(shè)備管理之前我們需要設(shè)計(jì)一個(gè)安

全驗(yàn)證模塊,只有被云平臺(tái)授權(quán)的設(shè)備類型才能夠連接云平臺(tái)并被云平臺(tái)所管

理。設(shè)備注冊(cè)就是安全驗(yàn)證模塊的一部分,設(shè)備類型注冊(cè)需要用戶通過(guò)系統(tǒng)手動(dòng)

填寫(xiě)設(shè)備相關(guān)的一些基礎(chǔ)信息,例如設(shè)備名稱、設(shè)備類型、數(shù)據(jù)push方式、數(shù)

據(jù)pull方式等等,系統(tǒng)最后會(huì)根據(jù)該注冊(cè)信息為該設(shè)備類型生成唯一的設(shè)備類型

ID以及設(shè)備驗(yàn)證token,這樣當(dāng)該類型的設(shè)備連接云平臺(tái)時(shí),只需要根據(jù)該驗(yàn)證

7

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

token就可以證明其身份。

3.2.3設(shè)備管理

設(shè)備管理是用來(lái)查看該用戶已經(jīng)注冊(cè)的設(shè)備類型列表,可以查看和修改設(shè)備

的基本類型信息,除此之外,還能查看已經(jīng)接入平臺(tái)的設(shè)備列表,可以直接查看

到設(shè)備的當(dāng)前狀態(tài),上次狀態(tài)更新時(shí)間,設(shè)備消息預(yù)警級(jí)別等等。

3.2.4接入數(shù)據(jù)查看

已經(jīng)接入平臺(tái)的設(shè)備可以隨時(shí)向云平臺(tái)上傳其設(shè)備檢測(cè)數(shù)據(jù),云平臺(tái)會(huì)將其

組織化的存入數(shù)據(jù)庫(kù),設(shè)備上傳的數(shù)據(jù)需要符合平臺(tái)與設(shè)備通信約定的數(shù)據(jù)格

式,這樣云平臺(tái)才能對(duì)數(shù)據(jù)進(jìn)行正確的解析和最終展示。

3.3系統(tǒng)功能結(jié)構(gòu)

根據(jù)以上我們對(duì)云平臺(tái)主要功能的分析,我們可以得出系統(tǒng)的主要功能結(jié)

構(gòu),如圖3-1所示,云平臺(tái)主要包含了用戶管理、設(shè)備管理、數(shù)據(jù)爬取、數(shù)據(jù)接

設(shè)備消息直看

圖3-1系統(tǒng)功能結(jié)構(gòu)圖

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

3.4系統(tǒng)功能描述和用例分析

用例描述用來(lái)說(shuō)明一個(gè)功能的大概處理流程,可以較為準(zhǔn)確的去描述一個(gè)業(yè)

務(wù)功能。是客戶和開(kāi)發(fā)者之間良好的溝通橋梁。

3.4.1系統(tǒng)的總用例圖

本系統(tǒng)開(kāi)發(fā)初期會(huì)基于某一個(gè)用戶進(jìn)行開(kāi)發(fā),該用戶擁有系統(tǒng)所有功能模塊

的訪問(wèn)權(quán)限,其角色相當(dāng)于管理員,系統(tǒng)的總用例圖如圖3-2所示。

圖3-2云平臺(tái)系統(tǒng)總用例圖

3.4.2用戶信息管理

(1)功能描述

用戶信息查看:管理員或者用戶登錄云平臺(tái)進(jìn)入個(gè)人中心主頁(yè)可以看到個(gè)人

信息。

用戶信息修改:當(dāng)用戶注冊(cè)信息變化時(shí),用戶可以通過(guò)此功能進(jìn)行修改個(gè)人

信息。

密碼修改:當(dāng)密碼泄露或者系統(tǒng)賬號(hào)安全預(yù)警時(shí),用戶可以修改登錄密碼,

保障賬號(hào)的安全。

(2)用例描述

用戶信息管理用例的參與者是用戶或者管理員,其詳細(xì)用例描述如表3-1所

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

表3-1用戶信息管理用例

內(nèi)容說(shuō)明

用例編號(hào)UserinfoManagement

用例名稱云平臺(tái)用戶個(gè)人信息管理

用例說(shuō)明對(duì)個(gè)人信息進(jìn)行查看、編輯、修改個(gè)人密碼

參與者用戶或者管理員

前置條件用戶登錄云平臺(tái)的個(gè)人中心頁(yè)面

基本事件流1.用戶點(diǎn)擊個(gè)人信息頁(yè)面,這時(shí)會(huì)顯示用戶個(gè)人信息。如果沒(méi)

有顯示,跳至al。

2.用戶點(diǎn)擊修改按鈕,這時(shí)會(huì)彈出消息模態(tài)框,用戶可以修改

自己的相關(guān)信息,點(diǎn)擊保存按鈕,模態(tài)框消失,彈框提示保

存成功,否則跳至a2。

3.用戶點(diǎn)擊修改密碼按鈕,這時(shí)會(huì)彈出修改密碼模態(tài)框,按照

流程進(jìn)行密碼更改。點(diǎn)擊確認(rèn),原密碼輸入正確密碼修改成

功,自動(dòng)提示重登,否則跳至a3。

異常事故流al.提示框:功能異常,請(qǐng)刷新頁(yè)面重試。

a2.提示框:保存失敗,提示失敗原因。

a3.提示框:修改失敗,提示失敗原因。

后置條件用戶成功完成相關(guān)操作

3.4.3設(shè)備管理

(1)功能描述

設(shè)備類型注冊(cè):用戶需要添加連接云平臺(tái)設(shè)備基本信息,云平臺(tái)會(huì)為此生成

唯一的驗(yàn)證token,空氣質(zhì)檢設(shè)備可以根據(jù)此token通過(guò)驗(yàn)證,連接云平臺(tái)。

設(shè)備列表:顯示曾連接過(guò)云平臺(tái)的空氣質(zhì)檢設(shè)備列表,會(huì)顯示設(shè)備的基本信

息,同時(shí)還可以修改預(yù)警級(jí)別,開(kāi)啟下線預(yù)警,加入設(shè)備黑名單等等功能。

設(shè)備數(shù)據(jù)查看:空氣質(zhì)檢設(shè)備和云平臺(tái)機(jī)建立穩(wěn)定連接后,就可以向云平臺(tái)

上傳自己的設(shè)備數(shù)據(jù),用戶可以在云平臺(tái)上查看設(shè)備數(shù)據(jù)。

(2)用例描述

用例描述主要包含了參與者、前置條件、基本事件流的說(shuō)明,設(shè)備類型注冊(cè)

的用例描述如表3-2所示,設(shè)備列表的用例描述如表3-3所示。

表3-2設(shè)備類型注冊(cè)用例

內(nèi)容說(shuō)明

用例編號(hào)DeviceTypeRegister

用例名稱設(shè)備類型注冊(cè)

用例說(shuō)明用戶添加被管理的設(shè)備的基本類型信息

參與者用戶或者管理員

前置條件進(jìn)入設(shè)備類型管理頁(yè)面

10

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

基本事件流1.用戶點(diǎn)擊列表右上角的添加按鈕,彈出設(shè)備注冊(cè)模態(tài)框,用戶

填寫(xiě)要注冊(cè)設(shè)備類型的基本信息。

2.用戶填寫(xiě)設(shè)備基本信息完成后,點(diǎn)擊確認(rèn)添加按鈕,模態(tài)框消

失,彈框提醒,設(shè)備類型添加成功,然后刷新列表。否則跳至

3.1o

3.用戶點(diǎn)擊列表任何設(shè)備類型記錄中的修改按鈕,觸發(fā)設(shè)備類型

信息修改功能。彈出修改模態(tài)框,模塊框會(huì)加載之前設(shè)備注冊(cè)

的相關(guān)信息。否則調(diào)至a2。用戶修改相關(guān)信息,點(diǎn)擊保存完成

修改,模態(tài)框消失,提示保存成功,否則跳至a3。

異常事故流al.提示框:設(shè)備注冊(cè)失敗,提示失敗原因。

a2.提示框:加載信息失敗,請(qǐng)刷新頁(yè)面重試。

a3.提示框:修改失敗,提示失敗原因。

后置條件用戶成功完成相關(guān)操作

表3-3設(shè)備列表用例

內(nèi)容說(shuō)明

用例編號(hào)DeviceList

用例名稱設(shè)備列表

用例說(shuō)明用戶通過(guò)設(shè)備列表管理設(shè)備

參與者用戶或者管理員

前置條件進(jìn)入設(shè)備列表頁(yè)面

基本事件流1.用戶可以根據(jù)查詢條件篩選設(shè)備,點(diǎn)擊查詢按鈕,列表刷新,

顯示篩選結(jié)果。否則跳至al。

2.在線設(shè)備可以查看其實(shí)時(shí)數(shù)據(jù),對(duì)于在線設(shè)備,右側(cè)有查看按

鈕,點(diǎn)擊查看按鈕,進(jìn)入數(shù)據(jù)詳情頁(yè)。否則跳至a2。

3.點(diǎn)擊加入黑名單按鈕,云平臺(tái)將會(huì)禁止該設(shè)備連接云平臺(tái),

設(shè)備狀態(tài)之前如果為在線狀態(tài),這時(shí)會(huì)變?yōu)橐严戮€。

異常事故流al.提示框:查詢失敗,請(qǐng)刷新頁(yè)面后重試。

a2.提示框:實(shí)時(shí)數(shù)據(jù)加載失敗,請(qǐng)檢查設(shè)備狀態(tài)。

后置條件用戶成功完成相關(guān)操作

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

4云平臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)

4.1關(guān)系數(shù)據(jù)庫(kù)的選擇

空氣云選用的是MySQL數(shù)據(jù)庫(kù),MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系

統(tǒng)以其體積小,速度快,應(yīng)用成本較低,是開(kāi)發(fā)中小型項(xiàng)目的首選。相比其它

類型的數(shù)據(jù)庫(kù),它有以下幾個(gè)特點(diǎn):

1.功能強(qiáng)大,能夠滿足幾乎所有的開(kāi)發(fā)需求,并且開(kāi)源免費(fèi)。

2.支持多種存儲(chǔ)引擎,可根據(jù)開(kāi)發(fā)場(chǎng)景的不同為表選用合適的存儲(chǔ)引擎,提

高數(shù)據(jù)庫(kù)的性能。

3.安裝簡(jiǎn)單,擴(kuò)展容易,迎合了企業(yè)敏捷開(kāi)發(fā)產(chǎn)品快速迭代的需求,可根據(jù)

業(yè)務(wù)量的逐漸提升逐漸改變數(shù)據(jù)庫(kù)的架構(gòu),從數(shù)據(jù)庫(kù)分區(qū)、分表到主從搭

建、讀寫(xiě)分離,都可以用比較小的成本去實(shí)現(xiàn)。

在真正的企業(yè)級(jí)開(kāi)發(fā)中一般都是搭建數(shù)據(jù)庫(kù)主從集群,開(kāi)發(fā)階段使用兩臺(tái)云

數(shù)據(jù)庫(kù),一主一從,讀寫(xiě)分離,這樣能夠有效提高數(shù)據(jù)庫(kù)的讀寫(xiě)性能,避免產(chǎn)生

10性能瓶頸。云平臺(tái)的數(shù)據(jù)庫(kù)架構(gòu)是單機(jī)架構(gòu),這也是根據(jù)目前系統(tǒng)大小和并

發(fā)量來(lái)決定的,如果對(duì)小系統(tǒng)使用數(shù)據(jù)庫(kù)集群,不僅不會(huì)提高網(wǎng)站的并發(fā)量,還

有可能增加網(wǎng)站的響應(yīng)時(shí)間。因?yàn)橹挥性诰W(wǎng)站并發(fā)量極大,數(shù)據(jù)庫(kù)成為瓶頸的情

況下升級(jí)數(shù)據(jù)庫(kù)架構(gòu)才會(huì)有意義,否則只會(huì)增加應(yīng)用服務(wù)器的壓力(數(shù)據(jù)庫(kù)架構(gòu)

越復(fù)雜,業(yè)務(wù)層所做的處理就越多),反而降低了網(wǎng)站的并發(fā)量。

4.2緩存數(shù)據(jù)庫(kù)Redis的使用

為了避免數(shù)據(jù)庫(kù)壓力過(guò)大,云平臺(tái)引入當(dāng)下十分流行的Key-Value緩存數(shù)據(jù)

庫(kù)⑹Redis,對(duì)于一些頁(yè)面可以極大降低訪問(wèn)延遲。

用戶每瀏覽一個(gè)頁(yè)面,瀏覽器可能需要向應(yīng)用服務(wù)器發(fā)起幾十個(gè)請(qǐng)求。除去

一些靜態(tài)資源,如CSS、JS、圖片等,其它的請(qǐng)求每次都需要連接數(shù)據(jù)庫(kù)去讀寫(xiě)

數(shù)據(jù)。網(wǎng)站并發(fā)量比較小的時(shí)候,應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)都?jí)蚝芸斓奶幚碚?qǐng)求并將

響應(yīng)結(jié)果返回給用戶。但隨著用戶并發(fā)量的增大,數(shù)據(jù)庫(kù)表記錄的快速增長(zhǎng),數(shù)

據(jù)庫(kù)的查詢時(shí)間會(huì)逐漸變長(zhǎng),查詢性能越來(lái)越差,每個(gè)用戶請(qǐng)求的處理時(shí)間越來(lái)

越長(zhǎng),并發(fā)的請(qǐng)求數(shù)又在增加,在這種情況下,應(yīng)用服務(wù)器可能因?yàn)榇罅空?qǐng)求的

堆積而被壓垮宕機(jī)。

12

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

[請(qǐng)求返回J

圖4-1緩存命中流程圖

如圖4-1所示,開(kāi)發(fā)的最佳實(shí)踐是減少對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),將短時(shí)間內(nèi)不會(huì)改

變的數(shù)據(jù)進(jìn)行緩存,用戶第一次請(qǐng)求該數(shù)據(jù)時(shí)訪問(wèn)數(shù)據(jù)庫(kù)獲取,然后將該數(shù)據(jù)進(jìn)

行緩存。用戶下次獲取該數(shù)據(jù)時(shí)直接命中緩沖,避免了查詢數(shù)據(jù)庫(kù)。一次請(qǐng)求使

用緩沖和不使用緩存其性能可以相差十多倍。

4.3數(shù)據(jù)庫(kù)E-R聯(lián)系圖

數(shù)據(jù)庫(kù)E-R圖可以很好的用來(lái)表示現(xiàn)實(shí)世界的概念模型。可以讓開(kāi)發(fā)人員

在不熟悉數(shù)據(jù)庫(kù)的情況下更快了解業(yè)務(wù)中的各實(shí)體對(duì)象的相關(guān)聯(lián)系,是軟件開(kāi)發(fā)

數(shù)據(jù)庫(kù)設(shè)計(jì)中不可或缺的一個(gè)階段,開(kāi)發(fā)者根據(jù)總體E-R聯(lián)系圖在代碼中建立

對(duì)應(yīng)的Entity對(duì)象,云平臺(tái)的主要實(shí)體-聯(lián)系圖如圖4-2所示。

圖4-2系統(tǒng)主要關(guān)系E-R圖

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

4.4數(shù)據(jù)庫(kù)表的設(shè)計(jì)

4.4.1概要說(shuō)明

合理的表結(jié)構(gòu)能夠減少冗余數(shù)據(jù)的產(chǎn)生,提高數(shù)據(jù)庫(kù)查詢速度。一般來(lái)說(shuō)數(shù)

據(jù)庫(kù)表的設(shè)計(jì)需要滿足第三范式,這樣表數(shù)據(jù)的冗余會(huì)最少,但是在企業(yè)級(jí)開(kāi)發(fā)

中很少會(huì)這樣設(shè)計(jì)。因?yàn)閲?yán)格按照三范式來(lái)設(shè)計(jì)表的話,那么一個(gè)數(shù)據(jù)的查詢可

能要連接三張表以上,這樣會(huì)導(dǎo)致嚴(yán)重的性能問(wèn)題。云平臺(tái)期望設(shè)計(jì)一個(gè)高可靠、

低延遲的后臺(tái)系統(tǒng),那么數(shù)據(jù)庫(kù)的設(shè)計(jì)就顯得十分重要,本平臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)概要

規(guī)則如下:

1.每個(gè)表都設(shè)置ID字段用作主鍵,主鍵生成策略使用UUID,也就是全局

唯一ID,便于后期數(shù)據(jù)庫(kù)架構(gòu)進(jìn)行升級(jí),分區(qū)分表等等不會(huì)遇到主鍵不唯一的

問(wèn)題。

2.數(shù)據(jù)庫(kù)不設(shè)置外鍵,也不建立其它約束,如非空、唯一等。實(shí)體與實(shí)體

之間的關(guān)系通過(guò)業(yè)務(wù)層來(lái)保證。這樣在開(kāi)發(fā)初期能夠避免因?yàn)閿?shù)據(jù)約束問(wèn)題導(dǎo)致

的各種數(shù)據(jù)庫(kù)異常發(fā)生,而最重要的一點(diǎn)是,表的約束越多,那么每次CRUD

操作數(shù)據(jù)庫(kù)都需要去檢查數(shù)據(jù)是否滿足約束條件,增加了數(shù)據(jù)庫(kù)資源消耗,降低

了數(shù)據(jù)庫(kù)性能。我們把約束性檢查交給業(yè)務(wù)層,也就將壓力給了應(yīng)用服務(wù)器,但

往往數(shù)據(jù)庫(kù)的性能瓶頸要比應(yīng)用服務(wù)器來(lái)的快。

3.對(duì)于經(jīng)常需要連表查詢的字段進(jìn)行適當(dāng)冗余,這樣可以只查詢單表便能

得到需要的數(shù)據(jù)。

4.幾乎每張表都需要設(shè)置表4-1中的通用數(shù)據(jù)庫(kù)字段,以方便業(yè)務(wù)后期擴(kuò)

展和權(quán)限控制,之后表詳細(xì)設(shè)計(jì)中將不會(huì)列出該表中的通用字段。

表4-1通用數(shù)據(jù)庫(kù)字段說(shuō)明

字段名稱類型長(zhǎng)度字段說(shuō)明

create_timedatetime默認(rèn)創(chuàng)建時(shí)間

create_byvarchar36創(chuàng)建者ID

update_timedatetime默認(rèn)更新時(shí)間

update_byvarchar36更新者ID

del_flagbit1刪除標(biāo)志,0未刪除,1己刪除

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

4.4.2用戶表t_users

用戶表可以說(shuō)是系統(tǒng)最核心的一張表,任何業(yè)務(wù)和功能都需要基于用戶細(xì)粒

度去開(kāi)發(fā)。詳細(xì)表結(jié)構(gòu)設(shè)計(jì)如下:

表4-2用戶表字段說(shuō)明

字段名稱類型長(zhǎng)度字段說(shuō)明

user__idvarchar36用戶ID

user_namevarchar30用戶昵稱

sexbit1性別,0:男,1:女

organization_namevarchar50組織名稱,(公司、小區(qū))

4.4.3設(shè)備類型表t_device_type

設(shè)備類型表主要用于設(shè)備類型的注冊(cè),每個(gè)和云平臺(tái)連接的設(shè)備都對(duì)應(yīng)唯一

的設(shè)備類型,通過(guò)該表可以知道設(shè)備的一些約定配置。云平臺(tái)憑借這些約定配置

來(lái)和設(shè)備進(jìn)行通信。

表4-3設(shè)備類型表字段說(shuō)明

字段名稱類型長(zhǎng)度字段說(shuō)明

type_idvarchar36設(shè)備類型ID

設(shè)備驗(yàn)證token,設(shè)備連接安全驗(yàn)

access_tokenvarchar36

type_namevarchar10類型名稱

connect_typeint1連接類型,0:TCP,l:UDP,2:HTTP

默認(rèn)預(yù)警級(jí)別:0:無(wú),1:下線預(yù)警,

warning_typeint1

2:數(shù)據(jù)異常預(yù)警

waming_keyvarchar30異常數(shù)據(jù)關(guān)鍵字

warning_wayint1預(yù)警方式:1:郵箱2:短信3:電話

4.4.4設(shè)備表t_device

設(shè)備表用作記錄連接云平臺(tái)設(shè)備的相關(guān)信息。通過(guò)這張表我們能夠知道設(shè)備

的一些基本狀態(tài)、連接記錄、統(tǒng)計(jì)信息。

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

表格4-4設(shè)備表字段說(shuō)明

字段名稱類型長(zhǎng)度字段說(shuō)明

device_idvarchar36設(shè)備ID

device_typevarchar36業(yè)務(wù)邏輯中設(shè)備類型ID

設(shè)備名稱,默認(rèn)為類型名

device_namevarchar36

稱+自動(dòng)增長(zhǎng)編號(hào)

connect_addressvarchar50記錄設(shè)備連接IP

custom_warn_gradeint1自定義預(yù)警類型

last_connect_timedatetime默認(rèn)最后一次連接時(shí)間

heartbeat_gapint1設(shè)備心跳間隔,單位秒

是否加入黑名單。0:false,1:

blacklistbit1

true

4.4.5消息記錄表t_message_info

消息記錄表用來(lái)存放設(shè)備的上傳數(shù)據(jù),數(shù)據(jù)異常消息記錄,設(shè)備下線記錄等

等。

表格4-5消息記錄表字段說(shuō)明

字段名稱類型長(zhǎng)度字段說(shuō)明

msg_idvarchar36記錄ID

device_idvarchar36設(shè)備id,業(yè)務(wù)邏輯上的外鍵

消息類型:1.上線2.異常下線3.

msg_typeint1

設(shè)備數(shù)據(jù)。

msg_bodyvarchar10000消息體,以json格式去存儲(chǔ)。

用戶空氣設(shè)備數(shù)據(jù)處理云平臺(tái)

4.5數(shù)據(jù)庫(kù)實(shí)體類抽象

平臺(tái)實(shí)體類及關(guān)系圖如圖4-3所示。

消息記泉表

msg_id

devlce_narr?edevice_id

connect_addressrrtsg_type

customwarngarde

rr?SRbody

last_conr?ect_time

heartbeatgap

改笛炎型表

Id

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論