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

        ?

        物聯(lián)網(wǎng)設(shè)備故障檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2022-03-19 02:18:14陳嘉歡
        電腦知識(shí)與技術(shù) 2022年2期
        關(guān)鍵詞:故障檢測(cè)

        陳嘉歡

        摘要:該文介紹了一個(gè)以SpringBoot框架為基礎(chǔ)的物聯(lián)網(wǎng)設(shè)備故障檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程。該系統(tǒng)使用了MySQL、Redis以及MongoDB數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行故障檢測(cè)、對(duì)故障信息存儲(chǔ)和反饋的功能,從而滿足了對(duì)物聯(lián)網(wǎng)設(shè)備故障檢測(cè)的基本需求。

        關(guān)鍵詞:物聯(lián)網(wǎng)設(shè)備;故障檢測(cè);故障反饋;SpringBoot;Redis;MongoDB

        中圖分類號(hào):TP311.1 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2022)02-0109-03

        1 引言

        近年來,隨著社會(huì)和互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)技術(shù)也日漸成熟,社會(huì)正在逐步走向“萬物互聯(lián)”的時(shí)代。目前市面上誕生了許多功能不同的諸如攝像頭、智能水表、電表以及智能家居等物聯(lián)網(wǎng)設(shè)備[1],這些物聯(lián)網(wǎng)設(shè)備的應(yīng)用場(chǎng)景有很強(qiáng)的針對(duì)性并且十分智能,在提供了某方面功能的同時(shí)簡(jiǎn)化了某些流程、減輕了使用負(fù)擔(dān)從而提升效率。與此同時(shí),越來越多設(shè)備聯(lián)網(wǎng),也會(huì)造成一些困擾,例如物聯(lián)網(wǎng)設(shè)備的操作管理流程復(fù)雜、設(shè)備發(fā)生故障難以及時(shí)發(fā)現(xiàn)等問題。其中對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行實(shí)時(shí)故障檢測(cè)和設(shè)備發(fā)生故障時(shí)的第一時(shí)間信息反饋尤為重要。合理運(yùn)用物聯(lián)網(wǎng)設(shè)備故障檢測(cè)功能,能夠在設(shè)備發(fā)生故障時(shí)避免或減少造成相應(yīng)的人力、物力損失。

        為了解決上述提到的物聯(lián)網(wǎng)設(shè)備發(fā)生故障難以發(fā)現(xiàn)的問題,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)以SpringBoot[2]為基礎(chǔ)的故障檢測(cè)系統(tǒng)[3],將設(shè)備分成兩種類型,對(duì)不同類型的設(shè)備使用不同的方法進(jìn)行故障檢測(cè),當(dāng)系統(tǒng)檢測(cè)到有設(shè)備發(fā)生故障時(shí),會(huì)采用發(fā)送電子郵件的方式,通知相應(yīng)的人員及時(shí)解決設(shè)備故障問題。

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

        2.1 總體設(shè)計(jì)

        設(shè)計(jì)該系統(tǒng)使用到的編譯軟件是IDEA,主要以SpringBoot框架為核心,選擇MySQL數(shù)據(jù)庫(kù)[4]對(duì)物聯(lián)網(wǎng)設(shè)備信息持久化存儲(chǔ)、使用Redis數(shù)據(jù)庫(kù)的高速緩存功能對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行故障檢測(cè),以及使用MongoDB文檔型數(shù)據(jù)庫(kù)對(duì)設(shè)備故障信息進(jìn)行記錄。

        本系統(tǒng)根據(jù)物聯(lián)網(wǎng)設(shè)備是否會(huì)主動(dòng)上傳設(shè)備心跳信息分為兩種類型:設(shè)備會(huì)主動(dòng)上傳心跳信息(主動(dòng)類型)和設(shè)備不會(huì)上傳心跳信息(被動(dòng)類型),對(duì)于兩種類型的設(shè)備使用不同的方法進(jìn)行故障檢測(cè)。具體故障檢測(cè)流程如圖2所示。

        2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

        本系統(tǒng)使用MySQL關(guān)系型數(shù)據(jù)庫(kù),對(duì)物聯(lián)網(wǎng)設(shè)備的基本信息進(jìn)行持久化存儲(chǔ)和查詢。根據(jù)功能需求分析,需要?jiǎng)?chuàng)建一個(gè)devices_db設(shè)備數(shù)據(jù)庫(kù),然后在數(shù)據(jù)庫(kù)里面分別創(chuàng)建兩個(gè)數(shù)據(jù)表:用戶信息表和設(shè)備信息表。

        用戶信息表[5](user,用于登錄系統(tǒng),以及記錄用戶信息),其中的字段包含用戶ID(user_id,用戶ID,主鍵),賬號(hào)(account,后臺(tái)登錄賬號(hào)),密碼(password,加密后的登錄密碼),用戶名(user_name,用戶姓名或昵稱),手機(jī)號(hào)(phone,用于短信提醒),電子郵箱(email,用于發(fā)送郵件提醒),鹽(salt,用于密碼加密驗(yàn)證)等。

        設(shè)備信息表(devices,記錄設(shè)備的基本信息),其中的字段包含設(shè)備ID(device_id,設(shè)備ID,主鍵),設(shè)備UID(設(shè)備自身ID,設(shè)備唯一ID),設(shè)備類型(device_type,用于區(qū)分設(shè)備屬于主動(dòng)類型還是被動(dòng)類型),設(shè)備名稱(device_name,設(shè)備的名字),設(shè)備地點(diǎn)(device_address,記錄設(shè)備所在地點(diǎn)),設(shè)備IP(device_ip,設(shè)備的IP地址,用于主動(dòng)請(qǐng)求設(shè)備),設(shè)備狀態(tài)(device_state,用于顯示設(shè)備的在線狀態(tài),在線或離線)等。

        2.3 主動(dòng)類型設(shè)備故障檢測(cè)設(shè)計(jì)

        一般的物聯(lián)網(wǎng)設(shè)備都會(huì)有自動(dòng)上傳心跳信息的功能,心跳信息包含對(duì)應(yīng)的設(shè)備信息,如果設(shè)備有正常上傳心跳信息則可以判定設(shè)備目前正常運(yùn)行,心跳信息上傳地址和推送間隔可以在設(shè)備后臺(tái)手動(dòng)設(shè)置,本文將此類設(shè)備歸納為主動(dòng)類型設(shè)備。圖3是某物聯(lián)網(wǎng)設(shè)備的心跳信息參數(shù)設(shè)置界面。

        系統(tǒng)有一個(gè)專門接收心跳信息的接口,在接收到設(shè)備心跳信息時(shí),將設(shè)備的UID與當(dāng)前系統(tǒng)時(shí)間以鍵值對(duì)的形式存入到Redis緩存中,記錄設(shè)備最近一次的在線時(shí)間。圖4是系統(tǒng)接收設(shè)備心跳信息接口。

        系統(tǒng)運(yùn)行后,會(huì)定時(shí)執(zhí)行一個(gè)判斷主動(dòng)類型設(shè)備是否在線的任務(wù),本系統(tǒng)設(shè)定為每分鐘執(zhí)行一次,每次執(zhí)行該任務(wù)都會(huì)先查詢?cè)O(shè)備信息表中所有的主動(dòng)類型設(shè)備(根據(jù)device_type字段判斷),并生成對(duì)應(yīng)列表(List),然后系統(tǒng)啟動(dòng)多線程對(duì)列表中的所有設(shè)備進(jìn)行故障檢測(cè)。

        具體的檢測(cè)方法是根據(jù)當(dāng)前設(shè)備的UID,并以這個(gè)UID為key去Redis緩存中查詢當(dāng)前設(shè)備最后一次在線時(shí)間,將當(dāng)前的系統(tǒng)時(shí)間減去設(shè)備最后一次在線時(shí)間,得到時(shí)間差,如果時(shí)間大于心跳上傳閾值(60秒)則判定該設(shè)備發(fā)生故障。

        2.4 被動(dòng)類型設(shè)備故障檢測(cè)設(shè)計(jì)

        與主動(dòng)類型設(shè)備相反,不會(huì)上傳心跳信息的設(shè)備則為被動(dòng)類型設(shè)備。對(duì)于被動(dòng)類型設(shè)備,不能通過等待設(shè)備主動(dòng)響應(yīng)的方式來判斷設(shè)備是否發(fā)生故障,因此想要知道設(shè)備是否在線,需要系統(tǒng)主動(dòng)去請(qǐng)求設(shè)備,例如主動(dòng)請(qǐng)求設(shè)備信息接口或者Ping設(shè)備IP。因?yàn)椴煌O(shè)備的獲取信息接口格式不一,所以本文采用主動(dòng)Ping設(shè)備IP的方式來實(shí)現(xiàn)。系統(tǒng)啟動(dòng)后,也會(huì)每分鐘執(zhí)行一次定時(shí)任務(wù),查詢?cè)O(shè)備信息表中所有被動(dòng)類型設(shè)備并生成對(duì)應(yīng)列表。

        然后系統(tǒng)將啟用多線程對(duì)列表中的每臺(tái)被動(dòng)類型設(shè)備采用Ping設(shè)備IP的方式主動(dòng)發(fā)起請(qǐng)求,如果設(shè)備在3秒內(nèi)沒有響應(yīng),則重新發(fā)生請(qǐng)求,以防網(wǎng)絡(luò)波動(dòng)引起誤判,如果再次請(qǐng)求設(shè)備還是沒有響應(yīng)則判定該設(shè)備發(fā)生故障。

        2.5 設(shè)備故障反饋設(shè)計(jì)

        對(duì)于主動(dòng)類型設(shè)備和被動(dòng)類型設(shè)備,當(dāng)根據(jù)對(duì)應(yīng)的方法判定設(shè)備發(fā)生故障后,會(huì)先將設(shè)備UID為key,設(shè)備的狀態(tài)為value存入到一個(gè)公有的故障設(shè)備映射(Map)中,此步驟是為了避免某設(shè)備發(fā)生故障后,一直重復(fù)提醒該設(shè)備發(fā)生故障。隨后將此故障設(shè)備信息和當(dāng)前系統(tǒng)時(shí)間存入到MongoDB數(shù)據(jù)庫(kù)以及公有的故障集合(Set)中。

        在系統(tǒng)啟動(dòng)后,每分鐘都會(huì)執(zhí)行一個(gè)定時(shí)任務(wù),每次執(zhí)行時(shí)都將判斷故障設(shè)備集合(Set)是否為空,如果不為空,則說明有設(shè)備發(fā)生故障,此時(shí)系統(tǒng)將發(fā)送電子郵件到管理人員郵箱中,提醒有設(shè)備發(fā)生故障,盡快處理。發(fā)送電子郵件后,系統(tǒng)將會(huì)清空故障設(shè)備列表,避免重復(fù)發(fā)送郵件通知。

        3 系統(tǒng)測(cè)試

        該系統(tǒng)的可運(yùn)行在Linux和windows操作系統(tǒng)上,運(yùn)行前必須在本地或者服務(wù)器上安裝配置好JDK1.8及以上的環(huán)境,并且啟動(dòng)MySQL、Redis以及MongoDB數(shù)據(jù)庫(kù)確保連接成功,并且MySQL數(shù)據(jù)庫(kù)中需要?jiǎng)?chuàng)建好device_db數(shù)據(jù)庫(kù),里面應(yīng)包含用戶信息表(user)和設(shè)備信息表(devices),通過修改項(xiàng)目的配置文件,填寫MySQL、Redis、MongoDB數(shù)據(jù)庫(kù)的連接地址(url)、端口(port)、賬戶和密碼,本文將數(shù)據(jù)庫(kù)部署在云服務(wù)器上并且在本地啟動(dòng)項(xiàng)目運(yùn)行,成功連接上服務(wù)器的數(shù)據(jù)庫(kù)[6]。

        本地測(cè)試連接數(shù)據(jù)庫(kù)成功后,即可使用Maven工具將項(xiàng)目打成jar包,通過使用XShell、XFtp等工具連接上云服務(wù)器再將jar包上傳到服務(wù)器上并運(yùn)行起來,系統(tǒng)成功啟動(dòng)。

        MySQL數(shù)據(jù)庫(kù)中設(shè)備信息表存在部分主動(dòng)類型設(shè)備和被動(dòng)類型不在線,因此系統(tǒng)通過定時(shí)任務(wù)檢測(cè)到設(shè)備故障,然后發(fā)送電子郵件提醒,設(shè)備故障信息郵件如圖13所示。

        4 結(jié)束語

        本文設(shè)計(jì)并實(shí)現(xiàn)了基于SpringBoot框架開發(fā)的物聯(lián)網(wǎng)設(shè)備故障檢測(cè)系統(tǒng),通過將物聯(lián)網(wǎng)設(shè)備分成主動(dòng)和被動(dòng)兩種類型,分別采用不同的方法進(jìn)行故障判斷。對(duì)于主動(dòng)類型設(shè)備,系統(tǒng)根據(jù)定時(shí)任務(wù),將設(shè)備存儲(chǔ)在Redis緩存里的最近一次心跳記錄時(shí)間與當(dāng)前時(shí)間作比較,如果時(shí)間差大于設(shè)定閾值,則判斷設(shè)備發(fā)生故障,反之則設(shè)備正常;對(duì)于被動(dòng)類型設(shè)備,系統(tǒng)根據(jù)定時(shí)任務(wù),主動(dòng)請(qǐng)求設(shè)備IP地址,并等待設(shè)備響應(yīng),如果設(shè)備在設(shè)定的閾值時(shí)間內(nèi)沒有響應(yīng),則判斷設(shè)備發(fā)生故障,如果有響應(yīng)則說明設(shè)備正常。對(duì)于故障反饋,也是采用定時(shí)任務(wù)的方式,當(dāng)系統(tǒng)發(fā)現(xiàn)故障列表不為空,則將故障列表里的設(shè)備存儲(chǔ)在MongoDB數(shù)據(jù)庫(kù)中,并及時(shí)將故障設(shè)備信息發(fā)送電子郵件通知到對(duì)應(yīng)的用戶。

        當(dāng)然本系統(tǒng)也存在一定的缺陷,頻繁使用定時(shí)任務(wù)檢測(cè),以及開啟多線程去請(qǐng)求多臺(tái)設(shè)備,會(huì)占用一定的系統(tǒng)資源,還有可能造成線程堵塞,影響效率。未來會(huì)有更多的設(shè)備聯(lián)網(wǎng),對(duì)物聯(lián)網(wǎng)設(shè)備的故障檢測(cè)會(huì)愈發(fā)得到人們重視,也會(huì)有更多的方法對(duì)現(xiàn)有的系統(tǒng)提出改進(jìn),對(duì)高并發(fā)、多線程情景做優(yōu)化處理。

        參考文獻(xiàn):

        [1] 高小淋.物聯(lián)網(wǎng)設(shè)備通訊故障檢測(cè)技術(shù)與解決方案[J].電腦知識(shí)與技術(shù),2021,17(9):210-212.

        [2] 楊開振.深入淺出Spring Boot 2.x[M].北京:人民郵電出版社,2018.

        [3] 張海藩.軟件工程[M].4版.北京:清華大學(xué)出版社,2003.

        [4] 唐漢明.深入淺出MySQL[M].北京:人民郵電出版社,2014.

        [5] 桑一梅,陸文怡.學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2020,16(35):62-63,77.

        [6] 李宏坤,鄭光勇,謝舞,等.基于spring boot框架的公司考勤系統(tǒng)的研究與設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2019,15(18):55-56.

        【通聯(lián)編輯:謝媛媛】

        2923500783331

        猜你喜歡
        故障檢測(cè)
        基于定子逆序的電機(jī)同步速變換故障檢測(cè)算法
        優(yōu)化網(wǎng)絡(luò)設(shè)備維護(hù)提高數(shù)據(jù)通信傳輸質(zhì)量
        電子電路的故障檢測(cè)技術(shù)
        新型探測(cè)線圈淺析
        科技視界(2016年21期)2016-10-17 17:53:37
        暖通空調(diào)系統(tǒng)故障檢測(cè)與診斷技術(shù)探討
        試論暖通空調(diào)系統(tǒng)故障檢測(cè)與診斷研究
        亚洲人妻有码中文字幕| 大香伊蕉国产av| 麻豆国产高清精品国在线| 日本精品久久性大片日本| 午夜免费观看国产视频| 午夜少妇高潮免费视频| 一区二区三区日本伦理| 免费成人在线电影| 岛国AV一区二区三区在线观看| 一区视频在线观看免费播放.| 亚洲自拍偷拍一区二区三区| 一本一道av无码中文字幕麻豆| 亚洲暴爽av天天爽日日碰| 99久久精品久久久| 成人大片免费在线观看视频| 国产乱子轮xxx农村| 激情亚洲一区国产精品| 成人国产乱对白在线观看| 蜜桃免费一区二区三区| 欧美激情乱人伦| 精品人妻va出轨中文字幕| 国产一级淫片免费播放电影| 视频在线亚洲视频在线| 欧美激情一区二区三区成人| 久久中文字幕人妻熟av女蜜柚m| 国产亚洲精品性爱视频| 香港三级日本三韩级人妇久久| 精品无码国产自产拍在线观看| 国产极品美女高潮无套在线观看| 亚洲精品一区二区在线播放| 开心五月天第四色婷婷| 野外少妇愉情中文字幕| 久久精品免视看国产明星 | 伊人蕉久中文字幕无码专区| 色婷婷色99国产综合精品| 中文字幕一区二三区麻豆| 亚洲av无码一区二区三区天堂古代 | 国产乱人伦av在线麻豆a| 朝鲜女子内射杂交bbw| 午夜无码片在线观看影院y| 国产一区二区av免费观看|