楊永青
(安徽體育運(yùn)動(dòng)職業(yè)技術(shù)學(xué)院 信息辦,安徽 合肥 230051)
物聯(lián)網(wǎng)產(chǎn)業(yè)作為一種新興產(chǎn)業(yè),具有重要戰(zhàn)略意義。物聯(lián)網(wǎng)是指通過各種信息傳感設(shè)備按照約定的協(xié)議將現(xiàn)實(shí)物品和互聯(lián)網(wǎng)絡(luò)連接起來,進(jìn)行信息交換和通信,實(shí)現(xiàn)對(duì)物品的識(shí)別、定位、跟蹤、監(jiān)控和管理[1]。物聯(lián)網(wǎng)的發(fā)展對(duì)于提高產(chǎn)業(yè)創(chuàng)新能力、加速經(jīng)濟(jì)轉(zhuǎn)型升級(jí)、推動(dòng)智能城市建設(shè)、提升生產(chǎn)效率和品質(zhì)、改善公共服務(wù)等方面具有重要意義。
隨著科技的發(fā)展,物聯(lián)網(wǎng)在各行各業(yè)都得到了廣泛應(yīng)用。然而,在設(shè)備數(shù)據(jù)采集方面,由于設(shè)備類型不同,通信接口和協(xié)議也有較大差異,并且有部分設(shè)備不具備通訊功能,因此需要對(duì)設(shè)備進(jìn)行改造入網(wǎng),對(duì)于不同類型的試驗(yàn)設(shè)備,系統(tǒng)需要采用不同的采集方式[2]。同時(shí)存在多種通信協(xié)議,如Modbus、SNMP、RTSP、HTTP、Ethernet IP等,并且不同廠商還會(huì)在已有的協(xié)議上加以開發(fā),形成各種私有的通訊協(xié)議,導(dǎo)致被數(shù)據(jù)中心所采集的各個(gè)設(shè)備之間的通信協(xié)議標(biāo)準(zhǔn)不統(tǒng)一、種類繁多,不同協(xié)議之間不兼容,造成了設(shè)備維護(hù)困難、故障無法及時(shí)發(fā)現(xiàn)處理、運(yùn)維成本高等問題。為了實(shí)現(xiàn)人與物、物與物的智慧對(duì)話,必須對(duì)數(shù)據(jù)進(jìn)行管理和智能處理。
基于數(shù)據(jù)中心物聯(lián)網(wǎng)架構(gòu),新的系統(tǒng)將實(shí)現(xiàn)對(duì)各類通信接口和通信協(xié)議的全面支持,從而構(gòu)建一個(gè)統(tǒng)一的智能數(shù)據(jù)采集、分析與監(jiān)控系統(tǒng)。這一系統(tǒng)將具備高度的兼容性和可擴(kuò)展性,能夠滿足各種復(fù)雜的數(shù)據(jù)處理需求,為物聯(lián)網(wǎng)產(chǎn)業(yè)的快速發(fā)展提供強(qiáng)有力的支撐。
物聯(lián)網(wǎng)的智能信息處理主要針對(duì)感知的數(shù)據(jù),但物聯(lián)網(wǎng)的數(shù)據(jù)具有異構(gòu)性、海量性、不確定性的特點(diǎn)。鑒于物聯(lián)網(wǎng)生成數(shù)據(jù)信息的海量特性,物聯(lián)網(wǎng)監(jiān)測信息生成的速度遠(yuǎn)遠(yuǎn)超過傳統(tǒng)系統(tǒng),同時(shí)產(chǎn)生各種不同類型的監(jiān)測信息[3],因此需要處理系統(tǒng)具有分布式、水平擴(kuò)展的特性。數(shù)據(jù)處理需要支持?jǐn)?shù)據(jù)的快速寫入和快速查詢。
本次研究開發(fā)的智能化數(shù)據(jù)采集與分析系統(tǒng)基于瀏覽器/服務(wù)器架構(gòu)(B/S 模式)設(shè)計(jì),依托于穩(wěn)定可靠的TCP 協(xié)議實(shí)現(xiàn)通訊功能。通過這一設(shè)計(jì),系統(tǒng)能夠借助互聯(lián)網(wǎng)將用戶在瀏覽器端的操作無縫傳遞至服務(wù)器端進(jìn)行高效的數(shù)據(jù)采集和深度分析。主要由設(shè)備端、通信終端、服務(wù)端等組成,如圖1所示:
圖1 系統(tǒng)架構(gòu)圖
通訊終端采用一體化設(shè)計(jì),具有多測點(diǎn)接入能力,支持多種接口,包括DI/DO、串口、USB 等,以適應(yīng)不同類型的設(shè)備。它還具備Wi-Fi模塊和網(wǎng)口,適用于不同的場地環(huán)境。數(shù)據(jù)采集與分析模塊采用自主開發(fā)的智能化框架和Vue 框架,以微服務(wù)模式為基礎(chǔ),實(shí)現(xiàn)程序的擴(kuò)展和簡化。智能化框架專注于數(shù)據(jù)處理,而Vue 框架則適用于視圖層的展示。通訊終端與服務(wù)端之間的數(shù)據(jù)交互采用JSON 格式,這種格式比XML 對(duì)象更容易被機(jī)器生成和解析,占用空間更小,并且在數(shù)據(jù)交互時(shí)所需的帶寬也更小。
數(shù)據(jù)采集通常有以下兩種方式:
一是開關(guān)量數(shù)據(jù)采集:利用傳感器模塊監(jiān)控?zé)熿F、漏水等非智能設(shè)備。
二是協(xié)議對(duì)接:對(duì)于一些智能設(shè)備,比如精密空調(diào)、ups 電源、精密配電柜、發(fā)電油機(jī)、加濕器、除濕機(jī)、服務(wù)器、交換機(jī)等,一般的硬件模塊無法做到信息采集和處理,需要根據(jù)廠商設(shè)備的通訊協(xié)議進(jìn)行統(tǒng)一采集。
數(shù)據(jù)采集功能以通信終端為橋梁,適應(yīng)不同的設(shè)備通訊協(xié)議,使用JSON格式對(duì)數(shù)據(jù)采集參數(shù)進(jìn)行封裝,以實(shí)現(xiàn)對(duì)不同通訊協(xié)議設(shè)備的數(shù)據(jù)采集。
不同通訊協(xié)議使用的通訊參數(shù)并不相同,如圖2所示:
圖2 通訊協(xié)議參數(shù)
當(dāng)數(shù)據(jù)采集服務(wù)根據(jù)通訊參數(shù)進(jìn)行連接后,服務(wù)端需發(fā)送數(shù)據(jù)采集指令,而不同通訊協(xié)議之間的指令格式也不盡相同,因此采用變量化設(shè)計(jì),針對(duì)不同參數(shù)配置相應(yīng)變量,如圖3所示:
圖3 數(shù)據(jù)采集參數(shù)
通訊參數(shù)表是針對(duì)通訊協(xié)議管理的數(shù)據(jù)表,定義了不同通訊協(xié)議的通訊參數(shù),如表1所示:
表1 通訊參數(shù)表
物聯(lián)網(wǎng)中的數(shù)據(jù)存儲(chǔ)方式、結(jié)構(gòu)具有時(shí)效性與多樣性的特點(diǎn),如何從跨領(lǐng)域、異構(gòu)、動(dòng)態(tài)和海量的數(shù)據(jù)資源中提取所需的數(shù)據(jù),是個(gè)大問題,將多源異構(gòu)的數(shù)據(jù)資源有效地聚合在一起,提供統(tǒng)一的數(shù)據(jù)操作方法,是解決此問題的有效途徑[4]。
若物聯(lián)網(wǎng)僅采集傳感器與設(shè)備發(fā)送的數(shù)據(jù),其作用類似于聚集一堆龐大數(shù)據(jù),未能產(chǎn)生實(shí)際的價(jià)值及意義[5]。然而,通過數(shù)據(jù)處理和分析,我們可以利用傳感器或設(shè)備數(shù)據(jù),了解設(shè)備的運(yùn)行狀況及現(xiàn)實(shí)環(huán)境情況,從而幫助我們進(jìn)行預(yù)判并提前作出響應(yīng),有效預(yù)測設(shè)備故障,減少因設(shè)備故障而帶來的損失。
針對(duì)不同的設(shè)備通訊協(xié)議,數(shù)據(jù)采集后返回的數(shù)據(jù)并不能以統(tǒng)一的標(biāo)準(zhǔn)進(jìn)行解析。不同廠商的設(shè)備返回的數(shù)據(jù)格式并不相同,如表2所示:
表2 數(shù)據(jù)格式
能夠針對(duì)返回?cái)?shù)據(jù)進(jìn)行靈活配置,快速獲取實(shí)際需要數(shù)據(jù)的便捷性極為重要,本研究實(shí)現(xiàn)了對(duì)物聯(lián)網(wǎng)采集數(shù)據(jù)的多形式處理,可依據(jù)通訊協(xié)議進(jìn)行靈活配置。
3.2.1 設(shè)備管理數(shù)據(jù)表
設(shè)備管理數(shù)據(jù)表定義了設(shè)備的基本信息、通訊協(xié)議、數(shù)據(jù)采集參數(shù)等數(shù)據(jù),如表3所示:
表3 設(shè)備管理數(shù)據(jù)表
3.2.2 設(shè)備監(jiān)測指標(biāo)表
設(shè)備監(jiān)測指標(biāo)表定義了設(shè)備監(jiān)測指標(biāo)的基本信息、監(jiān)測信息、數(shù)據(jù)解析方法、告警觸發(fā)條件、數(shù)據(jù)圖形化方式等信息,如表4所示:
表4 設(shè)備監(jiān)測指標(biāo)表
在日常運(yùn)行中,存在各種突發(fā)情況,如網(wǎng)絡(luò)波動(dòng)等,同時(shí)數(shù)據(jù)在傳輸過程中也可能會(huì)產(chǎn)生錯(cuò)誤數(shù)據(jù),校驗(yàn)流程如圖4所示:
圖4 數(shù)據(jù)校驗(yàn)流程
針對(duì)網(wǎng)絡(luò)波動(dòng)等無數(shù)據(jù)返回的情況,建立數(shù)據(jù)復(fù)檢機(jī)制。當(dāng)無數(shù)據(jù)返回時(shí),數(shù)據(jù)采集模塊可根據(jù)復(fù)檢規(guī)則配置進(jìn)行多次復(fù)檢,如圖5所示:
圖5 復(fù)檢規(guī)則
數(shù)據(jù)在通訊過程中可能會(huì)產(chǎn)生數(shù)據(jù)位丟失、數(shù)據(jù)混亂的情況,導(dǎo)致數(shù)據(jù)不完整,如果不對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),在分析處理錯(cuò)誤的數(shù)據(jù)時(shí),將得到錯(cuò)誤的結(jié)果。
在接收到數(shù)據(jù)返回后,系統(tǒng)首先會(huì)根據(jù)通訊協(xié)議的效驗(yàn)方法,如CRC32、CRC16、CHKSUM 等,進(jìn)行數(shù)據(jù)完整性校驗(yàn),當(dāng)校驗(yàn)通過后,還需進(jìn)一步進(jìn)行結(jié)果匹配效驗(yàn),這是由于串口通訊的特性,可能會(huì)導(dǎo)致A 設(shè)備的采集接收到B 設(shè)備的返回?cái)?shù)據(jù),而進(jìn)行結(jié)果匹配校驗(yàn)則可有效避免這種情況發(fā)生,以保障返回?cái)?shù)據(jù)的準(zhǔn)確性。數(shù)據(jù)校驗(yàn)方法如圖6所示:
圖6 數(shù)據(jù)校驗(yàn)方法
關(guān)系數(shù)據(jù)庫是人們用得最普遍的數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫具備一種叫作表格的表格型數(shù)據(jù)結(jié)構(gòu),表格的用途在于存儲(chǔ)數(shù)據(jù)庫,使用者用SQL 語言來對(duì)其執(zhí)行數(shù)據(jù)的提取、插入以及刪除。關(guān)系型數(shù)據(jù)庫的實(shí)體完整性、參照完整性和用戶定義的完整性形成了關(guān)系模型的事務(wù)一致性特點(diǎn),降低了數(shù)據(jù)冗余[6]。然而對(duì)于物聯(lián)網(wǎng)的高頻率數(shù)據(jù)采集、海量數(shù)據(jù),關(guān)系型數(shù)據(jù)庫在性能上不能有效滿足需求。因此本次研究采取“MySQL+InfluxDB”的方式進(jìn)行數(shù)據(jù)存儲(chǔ)。
對(duì)于物聯(lián)網(wǎng)設(shè)備的基本信息參數(shù)等,使用MySQL 進(jìn)行存儲(chǔ),而對(duì)采集后分析完成的數(shù)據(jù),則使用InfluxDB進(jìn)行數(shù)據(jù)存儲(chǔ)。
MySQL 是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它將數(shù)據(jù)保存在不同的表中。因此它的靈活性強(qiáng),速度快。
InfluxDB 是一個(gè)用于存儲(chǔ)和分析時(shí)間序列數(shù)據(jù)的開源數(shù)據(jù)庫,也是使用最多的一個(gè)時(shí)序數(shù)據(jù)庫(如圖7所示)。與傳統(tǒng)的MySQL關(guān)系型數(shù)據(jù)庫相比,它最大的特點(diǎn)是:數(shù)據(jù)按照時(shí)間順序存儲(chǔ)。舉例來說,日志數(shù)據(jù),以時(shí)間順序存儲(chǔ),無論是數(shù)據(jù)查詢還是數(shù)據(jù)插入,在InfluxDB 中耗時(shí)遠(yuǎn)遠(yuǎn)小于在MySQL 中的耗時(shí)。因此,在數(shù)據(jù)存儲(chǔ)量較大的情況下,時(shí)序數(shù)據(jù)庫是更佳選擇[7]。使用MySQL 在存儲(chǔ)的過程中,對(duì)這種基于時(shí)間的數(shù)據(jù)進(jìn)行優(yōu)化存在技術(shù)瓶頸,所以使用InfluxDB 在查詢、插入物聯(lián)網(wǎng)采集具有時(shí)間特性的數(shù)據(jù)上有性能上更優(yōu)于MySQL。
圖7 InfluxDB數(shù)據(jù)模型
經(jīng)過深入的調(diào)查分析,研究開發(fā)出了一種專門針對(duì)海量物聯(lián)網(wǎng)數(shù)據(jù)的智能采集、處理和解析系統(tǒng)。該系統(tǒng)具備強(qiáng)大的硬件功能和通信協(xié)議適配能力。在數(shù)據(jù)采集處理的各個(gè)階段如采集配置階段、分析配置階段和數(shù)據(jù)持久化階段(即本文中數(shù)據(jù)存儲(chǔ)階段)采用了不同的數(shù)據(jù)結(jié)構(gòu),以確保數(shù)據(jù)的準(zhǔn)確性與可靠性。此外,課題組還引入了時(shí)序數(shù)據(jù)庫和數(shù)據(jù)復(fù)檢機(jī)制,進(jìn)一步提高了數(shù)據(jù)的有效性和準(zhǔn)確性。該系統(tǒng)為數(shù)據(jù)中心物聯(lián)網(wǎng)設(shè)備監(jiān)控提供了一種高效、可靠的解決方案。
安徽職業(yè)技術(shù)學(xué)院學(xué)報(bào)2023年4期