• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于海量異構(gòu)傳感器的物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)

    2020-05-16 06:33:10王海峰賈建鑫
    關(guān)鍵詞:遙測(cè)線程服務(wù)器

    陳 玥 王海峰 賈建鑫 康 凱*

    1(東南大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 江蘇 南京 211189)2(中國(guó)科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所 上海 200050)3(中國(guó)科學(xué)院上海高等研究院 上海 201210)

    0 引 言

    當(dāng)前,隨著我國(guó)城市化建設(shè)的快速推進(jìn),水資源短缺與水環(huán)境污染已成為城市化建設(shè)面臨的關(guān)鍵問題。水資源短缺與水環(huán)境污染不僅會(huì)阻礙經(jīng)濟(jì)建設(shè),更會(huì)對(duì)國(guó)民健康帶來危害。因此,針對(duì)水資源進(jìn)行有效的監(jiān)測(cè)與管理顯得至關(guān)重要。

    另一方面,隨著國(guó)內(nèi)外物聯(lián)網(wǎng)技術(shù)[1-5]的快速發(fā)展,物聯(lián)網(wǎng)技術(shù)被廣泛應(yīng)用于水資源監(jiān)測(cè)領(lǐng)域[6-9],其在很大程度上促進(jìn)了水資源監(jiān)測(cè)技術(shù)的發(fā)展。物聯(lián)網(wǎng)作為一種新興的技術(shù)領(lǐng)域,受到國(guó)家的高度重視。國(guó)家工信部發(fā)布了《物聯(lián)網(wǎng)“十二五”發(fā)展規(guī)劃》,將智能環(huán)保作為一項(xiàng)重點(diǎn)示范工程。智能環(huán)保旨在利用物聯(lián)網(wǎng)相關(guān)技術(shù)實(shí)現(xiàn)污染源監(jiān)控、水質(zhì)監(jiān)測(cè)、空氣監(jiān)測(cè)、生態(tài)監(jiān)測(cè)并建立智能環(huán)保信息采集網(wǎng)絡(luò)與信息平臺(tái)。水質(zhì)監(jiān)測(cè)和水污染監(jiān)控?zé)o疑是智能環(huán)保的一個(gè)重要組成部分。因此,研究基于物聯(lián)網(wǎng)技術(shù)的水資源監(jiān)測(cè)平臺(tái)勢(shì)在必行。鑒于此,本文基于物聯(lián)網(wǎng)平臺(tái)相關(guān)理論技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一種基于海量異構(gòu)傳感器的物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng),根據(jù)圖1所示的云-管-端體系,將該系統(tǒng)分為4層,包括感知層、網(wǎng)絡(luò)層、平臺(tái)層、應(yīng)用層。其中感知層主要由各種傳感器節(jié)點(diǎn)構(gòu)成,其主要負(fù)責(zé)對(duì)物理世界進(jìn)行信息收集與信號(hào)處理;網(wǎng)絡(luò)層主要由各類傳輸網(wǎng)絡(luò)構(gòu)成,負(fù)責(zé)終端接入與數(shù)據(jù)傳輸;平臺(tái)層主要由數(shù)據(jù)庫(kù)服務(wù)器和業(yè)務(wù)服務(wù)器構(gòu)成,負(fù)責(zé)設(shè)備通信管理,數(shù)據(jù)存儲(chǔ),業(yè)務(wù)處理規(guī)劃等,應(yīng)用層由各類可視化控件構(gòu)成,負(fù)責(zé)數(shù)據(jù)呈現(xiàn)及客戶交互。

    圖1 基于云-管-端體系的物聯(lián)網(wǎng)平臺(tái)層次劃分

    本文的主要貢獻(xiàn)如下:

    (1) 基于云-管-端模型提出了物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)的總體架構(gòu),將物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)分為感知層、網(wǎng)絡(luò)層、平臺(tái)層、應(yīng)用層四部分。在感知層,分別采用2G、NB-IoT[10-12]、LoRa[13-15]等多種不同網(wǎng)絡(luò)制式的傳感器設(shè)備進(jìn)行水質(zhì)數(shù)據(jù)的采集;在網(wǎng)絡(luò)層,分別通過2G傳輸網(wǎng)絡(luò)、NB-IoT傳輸網(wǎng)絡(luò)、LoRa傳輸網(wǎng)絡(luò)對(duì)水質(zhì)遙測(cè)數(shù)據(jù)及傳感器設(shè)備數(shù)據(jù)進(jìn)行傳輸;在平臺(tái)層,通過數(shù)據(jù)庫(kù)服務(wù)器、云服務(wù)器、NB-IoT服務(wù)器、以及LoRa服務(wù)器對(duì)網(wǎng)絡(luò)層上報(bào)的相關(guān)數(shù)據(jù)進(jìn)行存儲(chǔ)與處理;在應(yīng)用層,通過圖表、地圖、視頻等可編程顯示部件來向用戶提供可視化的水質(zhì)監(jiān)測(cè)信息,并可根據(jù)平臺(tái)層定義的規(guī)則引擎觸發(fā)警報(bào)實(shí)時(shí)地向用戶推送短信和郵件通知。

    (2) 基于系統(tǒng)總體架構(gòu),進(jìn)一步對(duì)系統(tǒng)平臺(tái)層的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)介紹。首先,平臺(tái)層的數(shù)據(jù)庫(kù)服務(wù)器通過TCP socket模塊以及多線程機(jī)制與2G傳感器進(jìn)行交互,包括將2G網(wǎng)絡(luò)傳輸來的水質(zhì)遙測(cè)數(shù)據(jù)信息與設(shè)備信息進(jìn)行存儲(chǔ)以及針對(duì)2G傳感器設(shè)備下發(fā)指令信息。與此同時(shí),數(shù)據(jù)庫(kù)服務(wù)器中的North API client通過調(diào)用北向接口North API與NB-IoT服務(wù)器及LoRa服務(wù)器進(jìn)行交互,包括從NB-IoT服務(wù)器及LoRa服務(wù)器中讀取NB-IoT傳感器設(shè)備及LoRa傳感器設(shè)備采集的遙測(cè)信息和設(shè)備信息,將讀取后的信息進(jìn)行解析與存儲(chǔ),以及針對(duì)NB-IoT傳感器設(shè)備及LoRa傳感器設(shè)備的指令下發(fā)。其次,對(duì)于數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)的設(shè)備信息與水質(zhì)遙測(cè)信息,在數(shù)據(jù)庫(kù)服務(wù)器中通過Node平臺(tái)以Javascript搭配MQTT的方式實(shí)現(xiàn)與云服務(wù)器中開源IoT平臺(tái)-Thingsboard[16-17]的交互,Thingsboard平臺(tái)中定義的規(guī)則引擎會(huì)對(duì)數(shù)據(jù)庫(kù)服務(wù)器發(fā)布的設(shè)備遙測(cè)數(shù)據(jù)信息進(jìn)行過濾,對(duì)于異常的遙測(cè)數(shù)據(jù)其會(huì)觸發(fā)警報(bào)并通過SMTP和RESTful向用戶發(fā)送警報(bào)郵件和警報(bào)短信。最后,在Thingsboard平臺(tái)中,除其自帶的圖表可顯示部件外,對(duì)其地圖部件進(jìn)行了修改,消除了鑒權(quán)失敗的錯(cuò)誤并且增強(qiáng)了污染范圍的渲染效果,此外,還通過可編程部件Widget加入了視頻顯示控件,其可向用戶提供實(shí)時(shí)的水質(zhì)外景監(jiān)測(cè)。

    (3) 通過實(shí)驗(yàn)案例來對(duì)水質(zhì)監(jiān)測(cè)系統(tǒng)進(jìn)行功能測(cè)試,通過收集實(shí)時(shí)的水質(zhì)監(jiān)測(cè)數(shù)據(jù)來觸發(fā)警報(bào)并向用戶推送警報(bào)短信與警報(bào)郵件。相關(guān)實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)可快速有效地向用戶提供水質(zhì)監(jiān)測(cè)與報(bào)警信息。

    1 系統(tǒng)總體架構(gòu)

    基于圖2所示的系統(tǒng)總體架構(gòu),在感知層,分別采用2G傳感器節(jié)點(diǎn)與2G匯聚節(jié)點(diǎn)、NB-IoT傳感器節(jié)點(diǎn)與NB-IoT匯聚節(jié)點(diǎn),以及LoRa傳感器節(jié)點(diǎn)與LoRa匯聚節(jié)點(diǎn)對(duì)需要監(jiān)測(cè)的水質(zhì)數(shù)據(jù)進(jìn)行采集,包括水的溶解氧濃度(DO)、氫離子濃度指數(shù)(PH)、水溫(TEMP)、氧化還原電位(ORP)、電導(dǎo)率(EC)、化學(xué)需氧量(COD)、生化需氧量(BOD)、懸浮物(SS)、水質(zhì)色度(WC)等。

    圖2 基于海量異構(gòu)傳感器的物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)總體架構(gòu)

    在網(wǎng)絡(luò)層,通過2G傳輸網(wǎng)絡(luò)、NB-IoT傳輸網(wǎng)絡(luò)以及LoRa傳輸網(wǎng)絡(luò)對(duì)感知層采集的水質(zhì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行傳輸。

    在平臺(tái)層,數(shù)據(jù)庫(kù)服務(wù)器、NB-IoT服務(wù)器、LoRa服務(wù)器以及云服務(wù)器對(duì)網(wǎng)絡(luò)層傳輸來的遙測(cè)數(shù)據(jù)進(jìn)行存儲(chǔ)與處理。具體而言,系統(tǒng)整體運(yùn)行于云服務(wù)器之上,主體部分是運(yùn)行于服務(wù)器中的開源IoT平臺(tái)——Thingsboard,該平臺(tái)基于Java語(yǔ)言構(gòu)建并可提供完整的Web功能,其利用獨(dú)立的外置數(shù)據(jù)庫(kù)Cassandra將數(shù)據(jù)源與Web平臺(tái)隔離,以便為后續(xù)大數(shù)據(jù)處理預(yù)留空間。如前文所述,感知層的傳感器通信模組包括LoRa、NB-IoT、以及2G等多種網(wǎng)絡(luò)制式,因此本系統(tǒng)分別使用不同的方式對(duì)上述網(wǎng)絡(luò)制式傳送的遙測(cè)數(shù)據(jù)與設(shè)備數(shù)據(jù)進(jìn)行處理。為實(shí)現(xiàn)數(shù)據(jù)采集,數(shù)據(jù)庫(kù)服務(wù)器中運(yùn)行了三個(gè)程序模塊來實(shí)現(xiàn)數(shù)據(jù)源與云服務(wù)器中Cassandra數(shù)據(jù)庫(kù)的交互,包括數(shù)據(jù)獲取、解析、儲(chǔ)存和設(shè)備上報(bào)周期指令的下發(fā)。其中第一個(gè)程序模塊如圖2中數(shù)據(jù)庫(kù)服務(wù)器左側(cè)的雙向箭頭所示,對(duì)于2G網(wǎng)絡(luò)傳送的數(shù)據(jù),系統(tǒng)通過TCP socket以及多線程機(jī)制對(duì)2G設(shè)備發(fā)送的數(shù)據(jù)進(jìn)行實(shí)時(shí)接收并存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)。對(duì)于使用NB-IoT與LoRa傳送的數(shù)據(jù)而言,數(shù)據(jù)庫(kù)服務(wù)器通過第二個(gè)程序模塊調(diào)用North API對(duì)NB-IoT服務(wù)器與LoRa服務(wù)器中緩存的數(shù)據(jù)進(jìn)行讀取并存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)。之后,數(shù)據(jù)庫(kù)服務(wù)器將MySQL中的數(shù)據(jù)通過基于JavaScript編寫的第3個(gè)程序模塊獲取并使用MQTT的方式發(fā)送至Thingsboard平臺(tái)的外置Cassandra數(shù)據(jù)庫(kù)。Thingsboard平臺(tái)支持HTTP、CoAP和MQTT等多種協(xié)議,其中MQTT是被廣泛應(yīng)用的輕量級(jí)M2M/IoT消息協(xié)議,其采用訂閱/發(fā)布的模式。Thingsboard平臺(tái)的規(guī)則引擎會(huì)對(duì)數(shù)據(jù)庫(kù)服務(wù)器發(fā)送來的數(shù)據(jù)進(jìn)行監(jiān)測(cè),當(dāng)規(guī)則引擎發(fā)現(xiàn)異常數(shù)據(jù)時(shí)會(huì)向用戶推送報(bào)警短信和郵件。

    在應(yīng)用層,系統(tǒng)基于平臺(tái)層實(shí)現(xiàn)了在Thingsboard平臺(tái)內(nèi)的規(guī)則引擎中利用SMTP和RESTful API分別向互聯(lián)網(wǎng)中的第三方電子郵件轉(zhuǎn)發(fā)商與短信轉(zhuǎn)發(fā)商推送信息,提供電子郵件和短信通知服務(wù)。此外,Thingsboard平臺(tái)內(nèi)置一個(gè)Web servlet用于提供Web服務(wù),其默認(rèn)運(yùn)行在本地8080端口,Web頁(yè)面由多個(gè)可編程部件(Widget)構(gòu)成,Thingsboard平臺(tái)預(yù)先提供一些物聯(lián)網(wǎng)應(yīng)用常用的顯示部件,如地圖、數(shù)據(jù)圖表等??删幊滩考稍赪eb頁(yè)面內(nèi)修改HTML、CSS和JavaScript部分代碼并動(dòng)態(tài)編譯運(yùn)行于Thingsboard平臺(tái)中。除了使用已有部件構(gòu)建Web頁(yè)面,本系統(tǒng)還針對(duì)騰訊地圖的更新操作進(jìn)行了修改,以消除鑒權(quán)失敗的錯(cuò)誤并通過地圖渲染進(jìn)一步增強(qiáng)顯示污染區(qū)域的具體范圍。此外,還新建了視頻直播部件,使得用戶可在傳感器終端站點(diǎn)頁(yè)面中獲得云平臺(tái)提供的攝像頭直播畫面。

    2 物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)

    本節(jié)對(duì)物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)平臺(tái)層的主要功能及關(guān)鍵技術(shù)進(jìn)行介紹,以2G與NB-IoT為例(平臺(tái)層針對(duì)LoRa的操作與NB類似)展開。

    2.1 2G TCP Socket模塊

    該模塊部署于數(shù)據(jù)庫(kù)服務(wù)器中,其所包含的代碼文件關(guān)系圖如圖3所示,主函數(shù)所在的Java源文件在運(yùn)行期間會(huì)調(diào)用其他5個(gè)代碼文件。其中Global Parameter.java主要用于定義2G TCP socket功能模塊相關(guān)全局變量。ServerThread.java文件包含與TCP socket相關(guān)聯(lián)的線程類的公有操作及私有變量的定義。MyDataSource.java描述了與存儲(chǔ)2G相關(guān)設(shè)備信息以及遙測(cè)數(shù)據(jù)信息的數(shù)據(jù)庫(kù)連接類的私有變量和公有操作的定義。V1Msg.java用于描述2G TCP Socket模塊用到的數(shù)據(jù)結(jié)構(gòu)類的定義。下文將以主函數(shù)為主線來對(duì)該模塊的關(guān)鍵功能進(jìn)行介紹。

    圖3 2G TCP socket模塊的文件調(diào)用關(guān)系圖

    2G TCP socket模塊main函數(shù)的主要邏輯功能如圖4所示,其包含六部分功能。第一部分功能用于設(shè)置線程計(jì)數(shù)器的初始值,主要用于對(duì)線程池中的線程進(jìn)行計(jì)數(shù)。第二部分功能用于建立一個(gè)數(shù)據(jù)庫(kù)連接池對(duì)象,與數(shù)據(jù)庫(kù)連接池相關(guān)的類為MyDataSource,其相關(guān)定義在MyDataSource.java源文件中,該連接池包含了與2G設(shè)備信息及遙測(cè)數(shù)據(jù)信息相關(guān)的數(shù)據(jù)庫(kù)連接對(duì)象,如圖5中雙向箭頭所示。第三部分功能主要用于建立TCP Socket相關(guān)的TCP server線程池對(duì)象,全局變量GlobalParameter.maxThreadNumber規(guī)定了該線程池所包含的最大線程數(shù),該值的定義位于全局變量文件GlobalParameter.java中。第四部分功能用于建立一個(gè)保護(hù)線程對(duì)象,保護(hù)線程類定義在ServerThread.java中,保護(hù)線程主要用于對(duì)線程池中的TCP server線程進(jìn)行監(jiān)視以防止某一個(gè)TCP server線程執(zhí)行時(shí)間過長(zhǎng)所造成的資源占用。第五部分功能用于建立一個(gè)TCP server socket對(duì)象并監(jiān)聽指定的端口號(hào)。第六部分功能用于建立一個(gè)TCP server線程對(duì)象并為其賦予TCP socket連接、指定的TCP server線程索引號(hào)、以及指定的數(shù)據(jù)庫(kù)資源池ds。

    圖4 2G TCP socket模塊main函數(shù)的主要邏輯功能

    圖5 2G TCP Socket模塊多線程與多數(shù)據(jù)庫(kù)連接的對(duì)應(yīng)關(guān)系

    根據(jù)圖5可以看出TCP server線程資源池中的線程調(diào)用數(shù)據(jù)庫(kù)資源池中的任意一個(gè)數(shù)據(jù)庫(kù)連接與MySQL數(shù)據(jù)庫(kù)進(jìn)行交互,具體而言,一個(gè)TCP server線程在任一時(shí)刻對(duì)應(yīng)一個(gè)TCP socket連接與一個(gè)數(shù)據(jù)庫(kù)連接。對(duì)于右向箭頭,其表示TCP server線程通過TCP socket連接以及數(shù)據(jù)庫(kù)連接將2G網(wǎng)絡(luò)傳送來的設(shè)備數(shù)據(jù)與遙測(cè)數(shù)據(jù)寫入數(shù)據(jù)庫(kù)服務(wù)器中用于存儲(chǔ)2G設(shè)備信息和遙測(cè)信息的MySQL數(shù)據(jù)庫(kù);對(duì)于左向箭頭,其表示數(shù)據(jù)庫(kù)服務(wù)器根據(jù)指定規(guī)則下發(fā)指令到2G設(shè)備來更新其上報(bào)數(shù)據(jù)的周期,目的是為節(jié)省設(shè)備的能耗。如前文所述,由于TCP server線程池中的線程數(shù)量有限,當(dāng)上報(bào)數(shù)據(jù)的設(shè)備逐漸增多時(shí),若沒有保護(hù)線程對(duì)當(dāng)前的執(zhí)行線程進(jìn)行有效監(jiān)視與釋放,那么線程池中的可用線程將會(huì)逐漸減少,最終可能導(dǎo)致無可用的線程來進(jìn)行調(diào)度。因此,在本系統(tǒng)中,我們?cè)O(shè)定當(dāng)線程的執(zhí)行時(shí)間超過預(yù)設(shè)的最大執(zhí)行時(shí)間timingvalue時(shí)就對(duì)該線程釋放,也即當(dāng)線程資源池將線程提交時(shí)開始計(jì)時(shí),當(dāng)線程達(dá)到最大執(zhí)行時(shí)間timing value時(shí)對(duì)該線程進(jìn)行釋放,與保護(hù)線程相同,TCP server線程類的相關(guān)定義也在代碼文件ServerThread.java中。

    2.2 數(shù)據(jù)庫(kù)服務(wù)器與NB-IoT服務(wù)器交互模塊

    本模塊所包含的源代碼文件關(guān)系如圖6所示,主函數(shù)所在的DataCollectionFromServer.java文件在運(yùn)行期間會(huì)調(diào)用其他3個(gè)代碼文件。其中DeviceInfoFrom Json.java文件主要包含了DeviceInfoFromJson類的定義,該類主要用于描述NB-IoT傳感器設(shè)備節(jié)點(diǎn)的主要屬性信息。DataFromJson.java文件包含了DataFrom Json類的定義,該類主要用于描述NB-IoT傳感器設(shè)備節(jié)點(diǎn)所采集的水質(zhì)數(shù)據(jù)信息。ConnectionWithDB.java文件主要定義了與NB-IoT數(shù)據(jù)庫(kù)操作相關(guān)的函數(shù),包括建立與數(shù)據(jù)庫(kù)之間的連接getConnection()、關(guān)閉與數(shù)據(jù)庫(kù)之間的連接closeConnection()、設(shè)備信息的添加與存儲(chǔ)add2Devicelist()、針對(duì)NB-IoT傳感器設(shè)備的數(shù)據(jù)上報(bào)周期指令查詢checkCommandList()、遙測(cè)數(shù)據(jù)信息的存儲(chǔ)insert2datatable()等。

    圖6 與NB-IoT服務(wù)器交互模塊的文件調(diào)用關(guān)系圖

    以圖7為主線來對(duì)該模塊的關(guān)鍵功能進(jìn)行介紹。首先,mian函數(shù)的第一部分功能是對(duì)運(yùn)行于數(shù)據(jù)庫(kù)服務(wù)器中的North API client進(jìn)行認(rèn)證與鑒權(quán),執(zhí)行成功后,North API client會(huì)獲得一個(gè)鑒權(quán)密鑰accessToken。之后,main函數(shù)執(zhí)行第二與第三部分功能,North API client基于accessToken并通過調(diào)用庫(kù)函數(shù)queryDevices()在NB-IoT服務(wù)器端查詢所有NB-IoT的設(shè)備信息,通過getTotalCount()函數(shù)獲得設(shè)備的數(shù)量。對(duì)于新添加的設(shè)備,North API client將該設(shè)備信息加入數(shù)據(jù)庫(kù)服務(wù)器的DeviceInfo表中,對(duì)于已在表中存在的設(shè)備,North API client對(duì)該設(shè)備的相關(guān)屬性進(jìn)行更新。如圖8所示,DeviceInfo首先被打包成JSON格式由NB-IoT服務(wù)器傳輸至數(shù)據(jù)庫(kù)服務(wù)器端,在數(shù)據(jù)庫(kù)服務(wù)器端North API client將JSON格式的數(shù)據(jù)進(jìn)行解析并將解析后的設(shè)備信息插入/更新至設(shè)備信息表中。在設(shè)備信息寫入數(shù)據(jù)庫(kù)的同時(shí),mian函數(shù)執(zhí)行第四部分功能,即對(duì)于每一臺(tái)設(shè)備而言,North API client檢查ComandList表以確認(rèn)是否有針對(duì)該設(shè)備下發(fā)的指令信息,該指令信息用于設(shè)備上報(bào)周期的更新,其目的是減少設(shè)備上報(bào)數(shù)據(jù)時(shí)所產(chǎn)生的能耗。

    圖7 main函數(shù)的主要邏輯功能

    圖8 數(shù)據(jù)庫(kù)服務(wù)器與NB-IoT服務(wù)器的交互

    基于上述過程,main函數(shù)執(zhí)行第五部分功能,North API client基于accessToken并通過調(diào)用庫(kù)函數(shù)queryDataHistory在NB-IoT服務(wù)器端查詢所有NB-IoT設(shè)備采集的遙測(cè)數(shù)據(jù)信息。與設(shè)備信息DeviceInfo相同,遙測(cè)數(shù)據(jù)信息DataInfo首先被打包成JSON格式由NB-IoT服務(wù)器傳輸至數(shù)據(jù)庫(kù)服務(wù)器端,之后North API client將JSON格式的數(shù)據(jù)進(jìn)行解析并將解析后的信息根據(jù)采集的時(shí)間順序插入遙測(cè)數(shù)據(jù)信息表中。最后,main函數(shù)執(zhí)行第六部分功能對(duì)鑒權(quán)密鑰進(jìn)行刷新。

    2.3 數(shù)據(jù)庫(kù)服務(wù)器與云服務(wù)器交互模塊

    在2.2節(jié)已詳細(xì)說明了數(shù)據(jù)庫(kù)服務(wù)器如何對(duì)傳感器上報(bào)的水質(zhì)監(jiān)測(cè)數(shù)據(jù)及設(shè)備數(shù)據(jù)進(jìn)行獲取與存儲(chǔ)。為了有效地對(duì)數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)的數(shù)據(jù)進(jìn)行處理,平臺(tái)層的業(yè)務(wù)服務(wù)器(即云服務(wù)器)需對(duì)數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)的數(shù)據(jù)進(jìn)行獲取。本節(jié)將介紹數(shù)據(jù)庫(kù)服務(wù)器與業(yè)務(wù)服務(wù)器之間交互模塊的關(guān)鍵技術(shù)并進(jìn)一步對(duì)業(yè)務(wù)服務(wù)器的關(guān)鍵功能進(jìn)行介紹。

    如圖9所示,在數(shù)據(jù)庫(kù)服務(wù)器中我們采用Java script搭配MQTT的方式對(duì)其存儲(chǔ)的設(shè)備數(shù)據(jù)信息及設(shè)備遙測(cè)數(shù)據(jù)信息進(jìn)行發(fā)布,其中數(shù)據(jù)庫(kù)服務(wù)器作為數(shù)據(jù)的發(fā)布者而云服務(wù)器作為數(shù)據(jù)的訂閱者。具體而言,圖9中的MQTT(消息隊(duì)列遙測(cè)傳輸)是ISO標(biāo)準(zhǔn)下基于發(fā)布/訂閱范式的消息協(xié)議。它工作于TCP/IP協(xié)議族之上,而Node是一個(gè)可讓JavaScript程序模塊運(yùn)行于服務(wù)端的開發(fā)平臺(tái)。

    圖9 數(shù)據(jù)庫(kù)服務(wù)器針對(duì)云服務(wù)器的數(shù)據(jù)發(fā)布

    在云服務(wù)器中,Thingsboard平臺(tái)會(huì)根據(jù)定義的規(guī)則引擎(Rule Engine)對(duì)數(shù)據(jù)庫(kù)服務(wù)器發(fā)布的遙測(cè)數(shù)據(jù)信息進(jìn)行過濾并對(duì)異常的遙測(cè)數(shù)據(jù)進(jìn)行報(bào)警。其中規(guī)則引擎是一個(gè)易于使用的框架,主要用于構(gòu)建基于事件的工作流,其由3個(gè)主要組成部分:

    (1) 消息——任何傳入的事件,它可以是來自設(shè)備的傳入數(shù)據(jù)、設(shè)備的生命周期事件、REST API事件、RPC請(qǐng)求等。

    (2) 規(guī)則節(jié)點(diǎn)——針對(duì)傳入消息所執(zhí)行的功能,有多種不同類型的規(guī)則節(jié)點(diǎn)可對(duì)不同的傳入消息進(jìn)行過濾、轉(zhuǎn)換或執(zhí)行其他操作。

    (3) 規(guī)則鏈——規(guī)則節(jié)點(diǎn)通過關(guān)系相互連接,因此來自規(guī)則鏈中的某一節(jié)點(diǎn)的輸入消息為其前驅(qū)節(jié)點(diǎn)的輸出消息,而該規(guī)則節(jié)點(diǎn)的輸出消息為其后繼規(guī)則節(jié)點(diǎn)的輸入消息。

    由于水質(zhì)監(jiān)測(cè)系統(tǒng)監(jiān)測(cè)的水質(zhì)指標(biāo)較多,在這里以其中5項(xiàng)指標(biāo)為例進(jìn)行相關(guān)說明,包括水的溶解氧濃度(DO)、氫離子濃度指數(shù)(PH)、水溫(TEMP)、氧化還原電位(ORP)、電導(dǎo)率(EC)。我們首先定義了如圖10所示的規(guī)則鏈根實(shí)體,其中規(guī)則鏈根實(shí)體中的五個(gè)長(zhǎng)方形分別標(biāo)識(shí)針對(duì)5項(xiàng)水質(zhì)監(jiān)測(cè)指標(biāo)的規(guī)則鏈節(jié)點(diǎn)。

    圖10 規(guī)則鏈根實(shí)體

    以DO為例對(duì)其規(guī)則鏈的建立進(jìn)行說明。如圖11所示,可以看到對(duì)于數(shù)據(jù)庫(kù)服務(wù)器發(fā)布的水質(zhì)監(jiān)測(cè)信息, DO規(guī)則鏈?zhǔn)紫葘?duì)DO值進(jìn)行檢查并判斷該值是否觸發(fā)黃色警報(bào)或紅色警報(bào),若該值異常并足以觸發(fā)黃色警報(bào),則系統(tǒng)會(huì)向河長(zhǎng)、部門、公司發(fā)送警報(bào)郵件及警報(bào)短信;若該值異常足以觸發(fā)紅色警報(bào),則系統(tǒng)會(huì)向河長(zhǎng)、部門、公司、領(lǐng)導(dǎo)發(fā)送警報(bào)郵件。其中觸發(fā)黃色警報(bào)的具體動(dòng)作定義如圖12所示,紅色警報(bào)觸發(fā)動(dòng)作的定義與黃色警報(bào)相同。

    圖11 DO規(guī)則鏈的建立

    圖12 觸發(fā)黃色警報(bào)動(dòng)作的定義

    2.4 云服務(wù)器中Thingsboard平臺(tái)地圖顯示

    本系統(tǒng)還對(duì)云服務(wù)器中Thingsboard平臺(tái)的地圖顯示部件進(jìn)行了修改,消除了鑒權(quán)失敗的錯(cuò)誤并且通過污染范圍的繪制及渲染增強(qiáng)了水質(zhì)污染區(qū)域的顯示。本節(jié)對(duì)該關(guān)鍵技術(shù)進(jìn)行簡(jiǎn)單介紹。

    云服務(wù)器中的Thingsboard平臺(tái)可預(yù)先提供一些物聯(lián)網(wǎng)應(yīng)用常用的顯示部件,如地圖、數(shù)據(jù)圖表等。這些顯示部件可通過可編程部件Widgets進(jìn)行編輯與動(dòng)態(tài)編譯。具體而言,其可通過在Web頁(yè)面內(nèi)修改HTML、CSS、和JavaScript部分代碼并動(dòng)態(tài)編譯運(yùn)行于Thingsboard平臺(tái)中。

    如2.3節(jié)所述,對(duì)于數(shù)據(jù)庫(kù)服務(wù)器發(fā)布來的最新遙測(cè)數(shù)據(jù),Thingsboard平臺(tái)可對(duì)數(shù)據(jù)進(jìn)行觸發(fā)報(bào)警短信與報(bào)警郵件的邏輯判斷。進(jìn)一步,為了更清晰地在地圖中定位異常數(shù)據(jù)發(fā)生的位置,我們需對(duì)Thingsboard平臺(tái)前端及后臺(tái)的部分代碼進(jìn)行更新。由于地圖顯示部件本身并不直接讀取Thingsboard平臺(tái)外置數(shù)據(jù)庫(kù)中的遙測(cè)數(shù)據(jù),因此需要通過調(diào)用Thingsboard后臺(tái)代碼中的結(jié)構(gòu)體dataSource進(jìn)行遙測(cè)數(shù)據(jù)的讀取并進(jìn)行正確的解析。具體而言,每個(gè)傳感器設(shè)備有其自身的屬性值,如經(jīng)度、緯度、測(cè)量值和閾值,而傳感器數(shù)量眾多,發(fā)送的數(shù)據(jù)量較大,因此需要在后臺(tái)代碼中根據(jù)內(nèi)置的key值對(duì)每個(gè)傳感器對(duì)應(yīng)的屬性值進(jìn)行區(qū)分,然后放入dataSource結(jié)體并發(fā)送至地圖顯示部件的API。

    之后,前端代碼根據(jù)解析的數(shù)據(jù)判斷當(dāng)前讀入的遙測(cè)數(shù)據(jù)是否為異常數(shù)據(jù),對(duì)于異常數(shù)據(jù),前端代碼根據(jù)對(duì)應(yīng)數(shù)據(jù)采集設(shè)備的經(jīng)緯度值進(jìn)行定位并繪制出污染范圍。用戶顯示界面只需在Thingsboard平臺(tái)中的dashboard地圖數(shù)據(jù)源配置部分設(shè)置時(shí)間序列為最新的遙測(cè)值,進(jìn)行刷新,若測(cè)量值大于閾值,雙擊地理坐標(biāo)點(diǎn)則可根據(jù)污染范圍繪制如圖13所示的示意圖,再次雙擊則會(huì)更清楚地顯示繪制效果。

    圖13 污染范圍繪制示意圖

    本節(jié)加入的異常數(shù)據(jù)地圖渲染功能,搭配前文所述的報(bào)警短信與報(bào)警郵件功能,可對(duì)用戶提供更快速有效的水質(zhì)監(jiān)測(cè)決策支持。

    3 實(shí)驗(yàn)案例

    本節(jié)通過具體的實(shí)驗(yàn)案例來對(duì)物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)平臺(tái)層功能進(jìn)行測(cè)試。該實(shí)驗(yàn)選取的監(jiān)測(cè)區(qū)域位于上海市奉賢區(qū)的大治河,在河中部署了2G與NB-IoT兩種通信模組的傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)。兩種設(shè)備定時(shí)對(duì)水質(zhì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行上報(bào),系統(tǒng)平臺(tái)層的數(shù)據(jù)庫(kù)服務(wù)器對(duì)上報(bào)的遙測(cè)數(shù)據(jù)進(jìn)行接收并存儲(chǔ),再將存儲(chǔ)的遙測(cè)數(shù)據(jù)發(fā)布至業(yè)務(wù)服務(wù)器做進(jìn)一步處理,業(yè)務(wù)服務(wù)器對(duì)發(fā)布的數(shù)據(jù)進(jìn)行處理并根據(jù)數(shù)據(jù)是否異常為應(yīng)用層用戶提供預(yù)警服務(wù)(包括發(fā)送報(bào)警短信與報(bào)警郵件),此外,應(yīng)用層可提供多種顯示控件供用戶進(jìn)行數(shù)據(jù)查詢與實(shí)時(shí)監(jiān)測(cè)。

    功能測(cè)試實(shí)驗(yàn)步驟如下:

    (1) 在數(shù)據(jù)庫(kù)服務(wù)器中的Node平臺(tái)中運(yùn)行test.java模塊,該模塊基于javascript搭配MQTT協(xié)議編寫,其主要功能是將數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)的傳感器遙測(cè)數(shù)據(jù)發(fā)送至云服務(wù)器。

    (2) 如圖14所示,在數(shù)據(jù)庫(kù)服務(wù)器中打開命令窗口,對(duì)發(fā)送至云服務(wù)器的遙測(cè)數(shù)據(jù)進(jìn)行觀察。

    圖14 云服務(wù)器接收的遙測(cè)數(shù)據(jù)中發(fā)現(xiàn)異常

    (3) 如圖14高亮區(qū)域所示,由于發(fā)現(xiàn)異常數(shù)據(jù),因此用戶將收到報(bào)警短信與報(bào)警郵件,如圖15與圖16所示。

    圖15 異常數(shù)據(jù)觸發(fā)的報(bào)警短信

    圖16 異常數(shù)據(jù)觸發(fā)的報(bào)警郵件

    可以看出,由于云服務(wù)器收到的異常數(shù)據(jù)DO的值超出了規(guī)則引擎所規(guī)定的合理范圍,因此觸發(fā)了報(bào)警短信與報(bào)警郵件。報(bào)警短信與報(bào)警郵件中包含了采集該異常數(shù)據(jù)的傳感器設(shè)備地址。此外,在報(bào)警郵件中還包含了騰訊地圖的鏈接,通過鏈接可以打開如圖17所示的用戶查詢監(jiān)測(cè)界面。

    圖17 異常數(shù)據(jù)在數(shù)據(jù)庫(kù)服務(wù)器中的位置

    (4) 圖17中,可以根據(jù)地圖找到相應(yīng)位置的設(shè)備數(shù)據(jù)信息與遙測(cè)數(shù)據(jù)信息,此外由于通過可編程部件加入了視頻顯示插件,因此可以通過視頻實(shí)時(shí)監(jiān)測(cè)此時(shí)河流周圍的具體環(huán)境信息。

    (5) 根據(jù)報(bào)警短信與報(bào)警郵件顯示的異常數(shù)據(jù)信息,到數(shù)據(jù)庫(kù)服務(wù)器中定位該值所在的數(shù)據(jù)庫(kù)文件,如圖18所示,其位于數(shù)據(jù)庫(kù)表device5中,可以看出該設(shè)備編號(hào)與報(bào)警短信與報(bào)警郵件中的設(shè)備編號(hào)一致。

    圖18 異常數(shù)據(jù)在用戶查詢與監(jiān)測(cè)界面的顯示

    通過上述實(shí)驗(yàn)測(cè)試可以看出,平臺(tái)層可以成功地銜接網(wǎng)絡(luò)層與應(yīng)用層,其可將網(wǎng)絡(luò)層傳輸來的遙測(cè)數(shù)據(jù)通過數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行有效存儲(chǔ)并能通過云服務(wù)器對(duì)存儲(chǔ)的遙測(cè)數(shù)據(jù)進(jìn)行有效處理,為應(yīng)用層的用戶提供決策服務(wù)。此外,應(yīng)用層可通過地圖、圖表、視頻等可顯示部件來為用戶提供可視化的水質(zhì)監(jiān)測(cè)服務(wù)。

    4 結(jié) 語(yǔ)

    本文基于物聯(lián)網(wǎng)平臺(tái)的云-管-端體系設(shè)計(jì)并實(shí)現(xiàn)了一種基于海量異構(gòu)傳感器的物聯(lián)網(wǎng)水質(zhì)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)基于2G傳感器節(jié)點(diǎn)、NB-IoT傳感器節(jié)點(diǎn)以及LoRa傳感器節(jié)點(diǎn)對(duì)水質(zhì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,并通過平臺(tái)層的數(shù)據(jù)庫(kù)服務(wù)器、NB-IoT服務(wù)器、LoRa服務(wù)器以及業(yè)務(wù)服務(wù)器之間的交互來實(shí)現(xiàn)水質(zhì)遙測(cè)數(shù)據(jù)的高效存儲(chǔ)與處理。通過平臺(tái)層的處理,該系統(tǒng)可以圖表、地圖、視頻的形式為應(yīng)用層的用戶提供水資源監(jiān)測(cè)數(shù)據(jù)的實(shí)時(shí)查詢與監(jiān)控并可通過報(bào)警短信與報(bào)警郵件的方式向用戶提供異常水質(zhì)監(jiān)測(cè)數(shù)據(jù)信息,以便迅速作出決策??傮w而言,本文主要完成了以下工作:

    (1) 提出了一種系統(tǒng)的總體設(shè)計(jì)架構(gòu),基于云-管-端體系對(duì)系統(tǒng)架構(gòu)進(jìn)行層次劃分并總結(jié)了系統(tǒng)各個(gè)層的主要組成單元及功能。

    (2) 詳細(xì)介紹了系統(tǒng)平臺(tái)層的主要功能及關(guān)鍵技術(shù),包括數(shù)據(jù)庫(kù)服務(wù)器通過TCP socket模塊對(duì)2G傳感器設(shè)備采集的遙測(cè)數(shù)據(jù)信息進(jìn)行接收與存儲(chǔ),數(shù)據(jù)庫(kù)服務(wù)器通過North API client模塊從NB-IoT服務(wù)器與LoRa服務(wù)器提取及存儲(chǔ)與NB-IoT傳感器和LoRa傳感器設(shè)備相關(guān)的遙測(cè)數(shù)據(jù)信息,以及數(shù)據(jù)庫(kù)服務(wù)器通過Node平臺(tái)以Javascript搭配MQTT的方式將其存儲(chǔ)的數(shù)據(jù)發(fā)布至云服務(wù)器供其進(jìn)行數(shù)據(jù)的處理與提供面向用戶的Web服務(wù)。

    (3) 通過實(shí)驗(yàn)案例對(duì)水質(zhì)監(jiān)測(cè)系統(tǒng)進(jìn)行了功能測(cè)試并對(duì)測(cè)試結(jié)果進(jìn)行了分析,可以看出該系統(tǒng)可通過多種方式為用戶提供水質(zhì)數(shù)據(jù)的查詢與監(jiān)測(cè)并可及時(shí)發(fā)送水質(zhì)預(yù)警短信及郵件來為用戶快速?zèng)Q策提供支持。

    本文提出的水質(zhì)監(jiān)測(cè)系統(tǒng)是一項(xiàng)較為復(fù)雜的系統(tǒng)工程,文中的相關(guān)內(nèi)容還需再做進(jìn)一步完善與補(bǔ)充。今后的研究工作應(yīng)包含以下相關(guān)內(nèi)容:

    (1) 考慮到未來海量傳感器節(jié)點(diǎn)的部署,海量數(shù)據(jù)的傳輸、存儲(chǔ)、處理,以及更為豐富的Web應(yīng)用,應(yīng)通過相關(guān)技術(shù)進(jìn)一步增強(qiáng)系統(tǒng)的穩(wěn)定性、可擴(kuò)展性及開發(fā)便捷性。

    (2) 考慮到未來傳感器節(jié)點(diǎn)采集的海量數(shù)據(jù),應(yīng)考慮采用服務(wù)器集群的方式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)與處理。

    (3) 考慮到系統(tǒng)的商用穩(wěn)定性及長(zhǎng)期維護(hù)的便捷性,應(yīng)采用備份服務(wù)器或服務(wù)器集群的方式實(shí)現(xiàn)服務(wù)器功能失效后的快速切換。

    猜你喜歡
    遙測(cè)線程服務(wù)器
    通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
    自適應(yīng)模糊PID控制的遙測(cè)方艙溫度調(diào)節(jié)方法
    電子制作(2019年11期)2019-07-04 00:34:40
    某小型無人機(jī)遙測(cè)軟件設(shè)計(jì)
    淺談linux多線程協(xié)作
    得形忘意的服務(wù)器標(biāo)準(zhǔn)
    計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
    淺談如何提高遙測(cè)狀態(tài)估計(jì)合格率
    利用VBA處理鄰近氣象站的相關(guān)遙測(cè)數(shù)據(jù)
    河南科技(2014年16期)2014-02-27 14:13:30
    Linux線程實(shí)現(xiàn)技術(shù)研究
    么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
    80岁老熟妇乱子伦牲交| 91午夜精品亚洲一区二区三区| 91久久精品电影网| 亚洲婷婷狠狠爱综合网| 我的女老师完整版在线观看| 一级a做视频免费观看| 国产欧美另类精品又又久久亚洲欧美| 久久6这里有精品| 97精品久久久久久久久久精品| 欧美高清性xxxxhd video| 成人美女网站在线观看视频| 青春草视频在线免费观看| 精品欧美国产一区二区三| 国产一区二区三区av在线| 午夜视频国产福利| 国产老妇伦熟女老妇高清| 一区二区三区四区激情视频| 汤姆久久久久久久影院中文字幕 | 人妻一区二区av| 久久精品国产亚洲av涩爱| 伦理电影大哥的女人| 色5月婷婷丁香| 国产淫语在线视频| 日韩亚洲欧美综合| 日韩欧美三级三区| 亚洲成人av在线免费| 国产亚洲av嫩草精品影院| 一个人免费在线观看电影| 国产高清有码在线观看视频| 69av精品久久久久久| 亚洲精品国产av成人精品| 97在线视频观看| 国产午夜福利久久久久久| 国产av不卡久久| 国产精品女同一区二区软件| 成人毛片60女人毛片免费| 真实男女啪啪啪动态图| 内地一区二区视频在线| 国产伦一二天堂av在线观看| 只有这里有精品99| 听说在线观看完整版免费高清| 午夜免费激情av| 禁无遮挡网站| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 国产黄频视频在线观看| 天堂影院成人在线观看| 久久久久网色| 三级毛片av免费| 高清在线视频一区二区三区| 熟女电影av网| 高清av免费在线| 免费观看的影片在线观看| 国产人妻一区二区三区在| 一级a做视频免费观看| 插逼视频在线观看| 国产单亲对白刺激| 国产成人a∨麻豆精品| 午夜激情久久久久久久| 国产国拍精品亚洲av在线观看| 一级毛片久久久久久久久女| 国产黄a三级三级三级人| 欧美性猛交╳xxx乱大交人| 偷拍熟女少妇极品色| 精品久久久精品久久久| 午夜激情福利司机影院| 国产人妻一区二区三区在| 亚洲精品久久久久久婷婷小说| 99久久人妻综合| 中文字幕制服av| av黄色大香蕉| 午夜激情福利司机影院| 国内精品宾馆在线| 成年人午夜在线观看视频 | 99re6热这里在线精品视频| 国产精品福利在线免费观看| 欧美激情在线99| 极品教师在线视频| 亚洲av成人精品一区久久| 啦啦啦啦在线视频资源| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 在线观看美女被高潮喷水网站| 精华霜和精华液先用哪个| 日韩欧美 国产精品| 亚洲精品日韩av片在线观看| 国产精品三级大全| 久99久视频精品免费| 亚洲国产精品国产精品| a级一级毛片免费在线观看| 一本久久精品| 日韩人妻高清精品专区| 久久这里有精品视频免费| 免费人成在线观看视频色| 中文字幕av在线有码专区| 99热这里只有是精品50| 国产成人午夜福利电影在线观看| 亚洲精品aⅴ在线观看| 搡女人真爽免费视频火全软件| 精华霜和精华液先用哪个| 国产女主播在线喷水免费视频网站 | 欧美成人一区二区免费高清观看| 国产欧美另类精品又又久久亚洲欧美| 午夜福利在线在线| eeuss影院久久| xxx大片免费视频| 一区二区三区四区激情视频| 亚洲国产精品成人综合色| 亚洲国产精品成人综合色| 精品久久久久久久久av| 亚洲国产精品sss在线观看| 午夜福利在线观看免费完整高清在| 大陆偷拍与自拍| 伦理电影大哥的女人| 免费av不卡在线播放| 91午夜精品亚洲一区二区三区| 日韩大片免费观看网站| 非洲黑人性xxxx精品又粗又长| 亚洲欧美成人精品一区二区| 女人久久www免费人成看片| 国产免费一级a男人的天堂| 插逼视频在线观看| videos熟女内射| 成人鲁丝片一二三区免费| 日韩av免费高清视频| 色综合亚洲欧美另类图片| 国产成人免费观看mmmm| 亚洲欧美一区二区三区国产| av在线亚洲专区| 白带黄色成豆腐渣| 国产av不卡久久| 人妻少妇偷人精品九色| 麻豆成人av视频| 日韩伦理黄色片| 国产一区二区亚洲精品在线观看| 日韩av免费高清视频| 啦啦啦啦在线视频资源| 国产单亲对白刺激| 联通29元200g的流量卡| 国产精品一区二区在线观看99 | 成人无遮挡网站| 最近最新中文字幕大全电影3| 肉色欧美久久久久久久蜜桃 | 麻豆成人午夜福利视频| 人妻一区二区av| 国产爱豆传媒在线观看| 免费不卡的大黄色大毛片视频在线观看 | 韩国av在线不卡| 亚洲国产成人一精品久久久| 国产精品麻豆人妻色哟哟久久 | 丝袜美腿在线中文| 精品久久久久久久久久久久久| 国产熟女欧美一区二区| 亚洲av免费在线观看| 大香蕉97超碰在线| 精品久久久噜噜| 麻豆久久精品国产亚洲av| 一级a做视频免费观看| 一级黄片播放器| 熟妇人妻久久中文字幕3abv| 国产精品人妻久久久影院| 成人av在线播放网站| 国产精品人妻久久久久久| 久久99蜜桃精品久久| 国精品久久久久久国模美| 高清毛片免费看| 熟女电影av网| 观看美女的网站| 九九爱精品视频在线观看| 全区人妻精品视频| 乱人视频在线观看| 亚洲天堂国产精品一区在线| av在线蜜桃| 亚洲精品国产成人久久av| 男女视频在线观看网站免费| 国语对白做爰xxxⅹ性视频网站| 亚洲av国产av综合av卡| 国产精品无大码| 国产精品无大码| 国产亚洲午夜精品一区二区久久 | 蜜桃久久精品国产亚洲av| 美女脱内裤让男人舔精品视频| 亚洲伊人久久精品综合| 国产精品一区www在线观看| 亚洲精品一二三| eeuss影院久久| 18禁裸乳无遮挡免费网站照片| 秋霞伦理黄片| 亚洲欧美成人综合另类久久久| 久久久久九九精品影院| 色5月婷婷丁香| 日韩制服骚丝袜av| 午夜激情欧美在线| 大陆偷拍与自拍| 国产精品日韩av在线免费观看| 女人被狂操c到高潮| 国产精品一区二区在线观看99 | 丝袜喷水一区| 2021天堂中文幕一二区在线观| 免费观看无遮挡的男女| 天堂av国产一区二区熟女人妻| 2021天堂中文幕一二区在线观| 18禁在线无遮挡免费观看视频| 欧美一级a爱片免费观看看| 永久免费av网站大全| 亚洲av成人av| 精华霜和精华液先用哪个| 亚洲av成人精品一二三区| 大片免费播放器 马上看| 中文字幕免费在线视频6| 黄色一级大片看看| 1000部很黄的大片| 久久久久久伊人网av| 一区二区三区免费毛片| 久久久久久久久中文| 亚洲精品成人久久久久久| 男插女下体视频免费在线播放| 少妇的逼水好多| 少妇丰满av| 男人和女人高潮做爰伦理| 久久亚洲国产成人精品v| 久久99热这里只有精品18| 亚洲欧美中文字幕日韩二区| 欧美日韩综合久久久久久| 国产亚洲午夜精品一区二区久久 | 中文精品一卡2卡3卡4更新| 九九在线视频观看精品| 亚洲精品成人久久久久久| 最近中文字幕高清免费大全6| 久久久久久久亚洲中文字幕| 欧美日韩精品成人综合77777| 五月天丁香电影| 亚洲,欧美,日韩| 国产精品一及| 一级黄片播放器| 大陆偷拍与自拍| 国产亚洲91精品色在线| 成年人午夜在线观看视频 | 国产黄片视频在线免费观看| 91久久精品国产一区二区成人| 日本黄色片子视频| 丝瓜视频免费看黄片| 床上黄色一级片| 国产黄a三级三级三级人| 国产视频内射| 欧美激情国产日韩精品一区| 五月伊人婷婷丁香| 一区二区三区四区激情视频| 欧美 日韩 精品 国产| 又黄又爽又刺激的免费视频.| 久久久久国产网址| 亚洲精品国产av蜜桃| 欧美变态另类bdsm刘玥| 中文字幕av成人在线电影| 成人漫画全彩无遮挡| 久99久视频精品免费| 亚洲无线观看免费| 免费观看a级毛片全部| 欧美成人a在线观看| 久久久久久久亚洲中文字幕| 永久免费av网站大全| or卡值多少钱| 蜜桃亚洲精品一区二区三区| 国产一区二区三区综合在线观看 | 搡女人真爽免费视频火全软件| 听说在线观看完整版免费高清| 欧美日韩亚洲高清精品| 精品久久久久久久人妻蜜臀av| 亚洲精品亚洲一区二区| 两个人视频免费观看高清| 亚洲美女搞黄在线观看| 我的老师免费观看完整版| 免费看美女性在线毛片视频| 亚洲精品乱码久久久v下载方式| 精品熟女少妇av免费看| 中国国产av一级| 直男gayav资源| 国产av码专区亚洲av| 精品久久久久久久久av| 三级国产精品片| 精品不卡国产一区二区三区| 九色成人免费人妻av| 麻豆av噜噜一区二区三区| 免费大片黄手机在线观看| eeuss影院久久| 国产亚洲精品久久久com| 小蜜桃在线观看免费完整版高清| 亚洲精品日韩av片在线观看| 美女内射精品一级片tv| 久久久久久久大尺度免费视频| 黄色日韩在线| 国产视频首页在线观看| 成年av动漫网址| 一区二区三区高清视频在线| 18禁在线播放成人免费| 天天躁日日操中文字幕| 欧美一级a爱片免费观看看| 国产真实伦视频高清在线观看| 亚洲精品影视一区二区三区av| 99热这里只有精品一区| 国产女主播在线喷水免费视频网站 | 日本免费a在线| 国产在线一区二区三区精| 国内少妇人妻偷人精品xxx网站| 两个人视频免费观看高清| 天堂网av新在线| 国产午夜精品久久久久久一区二区三区| 丰满乱子伦码专区| 免费在线观看成人毛片| 在线播放无遮挡| 日本与韩国留学比较| 成人漫画全彩无遮挡| 韩国高清视频一区二区三区| 亚洲欧美成人精品一区二区| 中文天堂在线官网| 听说在线观看完整版免费高清| 三级国产精品片| av在线亚洲专区| 看非洲黑人一级黄片| 欧美成人a在线观看| 别揉我奶头 嗯啊视频| 大话2 男鬼变身卡| 午夜激情久久久久久久| 亚洲精品日本国产第一区| 免费av观看视频| 国产一区二区三区av在线| 综合色丁香网| 又爽又黄无遮挡网站| 少妇高潮的动态图| 日本wwww免费看| 欧美一区二区亚洲| 男人狂女人下面高潮的视频| 亚洲av二区三区四区| 国产黄a三级三级三级人| 国产大屁股一区二区在线视频| av在线观看视频网站免费| 亚洲人与动物交配视频| 国产精品久久视频播放| 国产色婷婷99| 欧美精品一区二区大全| 精品久久久精品久久久| 三级经典国产精品| 女人十人毛片免费观看3o分钟| 国产又色又爽无遮挡免| 久久久久久国产a免费观看| 免费少妇av软件| 久久99热这里只有精品18| 中文字幕制服av| 日韩欧美精品v在线| 日韩 亚洲 欧美在线| 免费观看av网站的网址| 国产在视频线精品| 99视频精品全部免费 在线| 毛片一级片免费看久久久久| 国产精品.久久久| 日日干狠狠操夜夜爽| 亚洲精品一二三| 久久久精品94久久精品| 国产激情偷乱视频一区二区| 国产成人福利小说| 亚洲av中文字字幕乱码综合| 精品久久国产蜜桃| 国产淫语在线视频| 久久久国产一区二区| 国产 一区 欧美 日韩| 搡女人真爽免费视频火全软件| 女的被弄到高潮叫床怎么办| 日本午夜av视频| 一级av片app| 日韩精品青青久久久久久| 国产精品美女特级片免费视频播放器| 天天躁夜夜躁狠狠久久av| 精品一区二区三区视频在线| 国产精品一区二区性色av| 69av精品久久久久久| 99久久精品一区二区三区| 亚洲成人av在线免费| 午夜福利网站1000一区二区三区| 少妇人妻一区二区三区视频| 在现免费观看毛片| 国产精品不卡视频一区二区| 亚洲精品,欧美精品| 色综合站精品国产| 熟女人妻精品中文字幕| kizo精华| 深夜a级毛片| 久久久久网色| 亚洲在久久综合| 男女下面进入的视频免费午夜| 国产高清有码在线观看视频| 九九久久精品国产亚洲av麻豆| 欧美zozozo另类| 午夜福利成人在线免费观看| 我的老师免费观看完整版| 久久6这里有精品| 大又大粗又爽又黄少妇毛片口| 在线观看一区二区三区| 久久久久久久大尺度免费视频| 国产精品福利在线免费观看| 国产老妇伦熟女老妇高清| 久久亚洲国产成人精品v| 又大又黄又爽视频免费| 简卡轻食公司| 日韩在线高清观看一区二区三区| 日产精品乱码卡一卡2卡三| 我要看日韩黄色一级片| 亚洲精品日本国产第一区| 日韩成人伦理影院| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 波野结衣二区三区在线| 国产高清国产精品国产三级 | 欧美 日韩 精品 国产| 久久精品久久久久久噜噜老黄| 久久精品国产亚洲av天美| 亚洲国产av新网站| 丝袜喷水一区| 国国产精品蜜臀av免费| 熟妇人妻久久中文字幕3abv| 久久久精品94久久精品| 国产大屁股一区二区在线视频| 免费看a级黄色片| 日韩成人av中文字幕在线观看| 又爽又黄无遮挡网站| 亚洲最大成人中文| 看非洲黑人一级黄片| 国产片特级美女逼逼视频| 日本熟妇午夜| 精品久久久久久电影网| 国产成人aa在线观看| 欧美日韩一区二区视频在线观看视频在线 | 国产午夜精品论理片| 国产黄色小视频在线观看| 国产一区二区三区综合在线观看 | 一个人看的www免费观看视频| 亚洲欧美日韩东京热| 蜜桃久久精品国产亚洲av| 欧美xxⅹ黑人| 久久人人爽人人爽人人片va| 午夜激情欧美在线| 成人一区二区视频在线观看| 人人妻人人澡欧美一区二区| 嫩草影院精品99| 日本三级黄在线观看| 久久久亚洲精品成人影院| 成人亚洲精品av一区二区| 一区二区三区四区激情视频| 国产色婷婷99| 亚洲自拍偷在线| or卡值多少钱| 国产 一区 欧美 日韩| 国产一级毛片七仙女欲春2| 色综合站精品国产| 熟女人妻精品中文字幕| 免费av观看视频| 七月丁香在线播放| 亚洲欧美一区二区三区国产| 国内精品一区二区在线观看| 精品国产三级普通话版| 午夜福利在线观看吧| 成人午夜精彩视频在线观看| 亚洲精品乱久久久久久| 真实男女啪啪啪动态图| 免费看a级黄色片| 青春草亚洲视频在线观看| 色综合站精品国产| 中文乱码字字幕精品一区二区三区 | 777米奇影视久久| 日本一本二区三区精品| 国产成年人精品一区二区| 国产大屁股一区二区在线视频| 美女国产视频在线观看| 欧美极品一区二区三区四区| 国产精品国产三级国产av玫瑰| 国产91av在线免费观看| 一级片'在线观看视频| av在线亚洲专区| 99九九线精品视频在线观看视频| 成人亚洲精品一区在线观看 | 建设人人有责人人尽责人人享有的 | 少妇人妻一区二区三区视频| 国产单亲对白刺激| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 麻豆成人午夜福利视频| 国产精品1区2区在线观看.| 国产老妇伦熟女老妇高清| 亚洲av日韩在线播放| 成年免费大片在线观看| 我的老师免费观看完整版| 乱系列少妇在线播放| 欧美日韩在线观看h| 干丝袜人妻中文字幕| 久久久久久伊人网av| 黄色欧美视频在线观看| 精品午夜福利在线看| 国产成人一区二区在线| 亚洲内射少妇av| 免费少妇av软件| 亚洲av成人av| 日韩,欧美,国产一区二区三区| 能在线免费看毛片的网站| 色综合色国产| 午夜精品在线福利| 中文资源天堂在线| 18禁在线无遮挡免费观看视频| 久久久久久九九精品二区国产| 精品人妻熟女av久视频| 日韩精品有码人妻一区| 精品欧美国产一区二区三| 国产亚洲5aaaaa淫片| 欧美极品一区二区三区四区| 国产精品无大码| 直男gayav资源| 一边亲一边摸免费视频| 一级毛片aaaaaa免费看小| av免费在线看不卡| 国产成人午夜福利电影在线观看| 久久99热这里只频精品6学生| 99久久精品一区二区三区| 青青草视频在线视频观看| 日韩一区二区视频免费看| 乱人视频在线观看| 亚洲人成网站在线观看播放| 久久精品综合一区二区三区| 女的被弄到高潮叫床怎么办| 网址你懂的国产日韩在线| 舔av片在线| 少妇熟女aⅴ在线视频| 国内少妇人妻偷人精品xxx网站| 亚洲欧美清纯卡通| 91久久精品电影网| 亚洲精品国产av成人精品| 日韩人妻高清精品专区| 水蜜桃什么品种好| 欧美日韩精品成人综合77777| 日本三级黄在线观看| 99久久中文字幕三级久久日本| 国产色爽女视频免费观看| 看非洲黑人一级黄片| 特大巨黑吊av在线直播| 亚洲精品一区蜜桃| 亚洲在线观看片| 精品国产三级普通话版| 国产黄色视频一区二区在线观看| 联通29元200g的流量卡| 亚洲av成人av| 极品少妇高潮喷水抽搐| 日韩伦理黄色片| 国产精品一区www在线观看| 久久久久久九九精品二区国产| 亚洲av电影在线观看一区二区三区 | av国产久精品久网站免费入址| 亚洲成色77777| 亚洲国产色片| 边亲边吃奶的免费视频| 蜜桃亚洲精品一区二区三区| 高清av免费在线| 午夜免费男女啪啪视频观看| 亚洲高清免费不卡视频| 亚洲欧美日韩东京热| 五月天丁香电影| 在线观看一区二区三区| 又爽又黄a免费视频| 91久久精品国产一区二区三区| 成人美女网站在线观看视频| 色综合站精品国产| 美女脱内裤让男人舔精品视频| 嫩草影院精品99| 亚洲色图av天堂| 少妇熟女欧美另类| 亚洲激情五月婷婷啪啪| 国产亚洲av片在线观看秒播厂 | 亚洲精品国产av蜜桃| 天堂√8在线中文| 波多野结衣巨乳人妻| 精品久久久精品久久久| 亚洲乱码一区二区免费版| 国产91av在线免费观看| 狂野欧美激情性xxxx在线观看| 国产在线男女| 天美传媒精品一区二区| 国内少妇人妻偷人精品xxx网站| 91午夜精品亚洲一区二区三区| 精品一区在线观看国产| 最近视频中文字幕2019在线8| 国产大屁股一区二区在线视频| 亚洲国产精品sss在线观看| 国产人妻一区二区三区在| 亚洲电影在线观看av| 老司机影院成人| 亚洲av二区三区四区| 亚洲欧美清纯卡通| 国产精品.久久久| 亚洲最大成人手机在线| 91午夜精品亚洲一区二区三区| 女人十人毛片免费观看3o分钟| 美女脱内裤让男人舔精品视频| 能在线免费看毛片的网站| 亚洲精品日韩av片在线观看| 亚洲精品456在线播放app| 2018国产大陆天天弄谢| 亚洲色图av天堂| 国产精品嫩草影院av在线观看| 亚洲美女视频黄频| 在线播放无遮挡| 欧美日韩视频高清一区二区三区二| 国产免费福利视频在线观看| 五月天丁香电影| 少妇人妻一区二区三区视频| 中文在线观看免费www的网站| 亚洲欧洲日产国产| 网址你懂的国产日韩在线| 美女高潮的动态| 一级片'在线观看视频| 国产伦一二天堂av在线观看| 国产精品一区www在线观看| 色吧在线观看| 国产探花在线观看一区二区|