研博數(shù)據(jù)工業(yè)物聯(lián)網(wǎng)統(tǒng)一接入系統(tǒng)采用工業(yè)互聯(lián)網(wǎng)三層架構(gòu)設(shè)計,已實現(xiàn)多源接入和統(tǒng)一服務(wù)為目標(biāo)。多源接入是指能夠向下實現(xiàn)海量的多源設(shè)備、異構(gòu)系統(tǒng)數(shù)據(jù)采集、交互、傳輸及控制;統(tǒng)一服務(wù)是指向上為企業(yè)內(nèi)部應(yīng)用系統(tǒng)提供統(tǒng)一的數(shù)據(jù)服務(wù),是具備大規(guī)模、高可用、高并發(fā)、低時延設(shè)備接入能力的城市級物聯(lián)感知平臺。
1、平臺如何進行數(shù)據(jù)傳輸?
平臺不僅支持網(wǎng)關(guān)進行數(shù)據(jù)傳輸,面對不同類型的設(shè)備以及不同的網(wǎng)絡(luò)方式,平臺提供了對應(yīng)的接入組件。例如MQTT、TCP接入組件、對于設(shè)備的異常監(jiān)控、生命周期以及建立連接都已經(jīng)完整的內(nèi)置到了組件當(dāng)中,只需要在平臺配置端口號就可以提供出設(shè)備可以連接的地址。只有接入組件還不能夠滿足這么多的接入場景,因此提出了協(xié)議包的概念。統(tǒng)一接入平臺約定物聯(lián)網(wǎng)設(shè)備接入時需要開發(fā)者開發(fā)協(xié)議包,該設(shè)計旨在為不同的物聯(lián)網(wǎng)設(shè)備提供統(tǒng)一的數(shù)據(jù)解析標(biāo)準(zhǔn)。協(xié)議包基于現(xiàn)代化的互聯(lián)網(wǎng)技術(shù),具有高效、靈活和可擴展的特點。接入組件和協(xié)議包這種插件化的概念可以滿足各種多源接入場景,即使一些私有協(xié)議的設(shè)備也可以通過開發(fā)自定義協(xié)議包完成接入。
協(xié)議包將各類協(xié)議的共通之處抽取為路由、認(rèn)證器、元數(shù)據(jù)、協(xié)議特性等概念,用于開發(fā)者針對不同協(xié)議的自定義,能夠通過這些概念將協(xié)議的連接信息,路由信息,認(rèn)證信息等組合為可以接入平臺的協(xié)議組件,使其具備在上傳平臺后能夠?qū)ο鄳?yīng)設(shè)備具有收發(fā)能力。
2、系統(tǒng)對于數(shù)據(jù)補發(fā)是怎么做的?
在平臺與設(shè)備之間的交互過程中,確保消息準(zhǔn)確無誤地傳達(dá)給設(shè)備是至關(guān)重要的。平臺在向設(shè)備發(fā)送消息時,會首先將這些消息轉(zhuǎn)換成設(shè)備能夠理解和處理的格式,這一過程正是通過協(xié)議包中的編解碼接口來實現(xiàn)的。面對設(shè)備可能不在線或遭遇網(wǎng)絡(luò)不穩(wěn)定等問題,協(xié)議包中內(nèi)置了先進的錯誤處理機制,包括定時操作器和緩存操作器,以保證消息的可靠傳遞。定時操作器如同一位不知疲倦的郵遞員,它在消息初次發(fā)送失敗后會根據(jù)預(yù)設(shè)的時間間隔自動進行重試,直到消息成功送達(dá)或達(dá)到重試次數(shù)上限。這種機制極大地提高了消息傳遞的可靠性和穩(wěn)定性。而緩存操作器則扮演了一個智能緩存?zhèn)}庫的角色,它能夠在設(shè)備暫時離線或網(wǎng)絡(luò)狀況不佳時,將待發(fā)送的消息安全地存儲在本地。一旦設(shè)備重新上線或網(wǎng)絡(luò)恢復(fù)正常,緩存操作器便會迅速響應(yīng),將緩存中的所有消息重新發(fā)送至設(shè)備,確保每一條重要指令都不會因暫時性的通信障礙而丟失。
綜上所述,通過協(xié)議包中的定時操作器和緩存操作器的協(xié)同作用,平臺與設(shè)備之間的消息傳遞變得更加高效、可靠和靈活。即使在面對復(fù)雜多變的網(wǎng)絡(luò)環(huán)境和設(shè)備狀態(tài)時,也能確保關(guān)鍵信息的及時、準(zhǔn)確傳遞,為物聯(lián)網(wǎng)系統(tǒng)的穩(wěn)定運行提供了強有力的支持。
3、都是用哪些數(shù)據(jù)庫?
在數(shù)據(jù)庫方面,平臺所使用的數(shù)據(jù)庫主要分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫兩大類。對于關(guān)系型數(shù)據(jù)庫平臺使用的PostgreSQL是一種功能強大的關(guān)系型數(shù)據(jù)庫,以其穩(wěn)定性、可擴展性和對SQL標(biāo)準(zhǔn)的高度兼容性著稱。PostgreSQL支持多版本并發(fā)控制、復(fù)雜查詢優(yōu)化、豐富的數(shù)據(jù)類型和索引方法,能夠滿足多種業(yè)務(wù)需求。
對于非關(guān)系型數(shù)據(jù)庫,平臺使用Redis作為緩存層,Redis是一個基于內(nèi)存的鍵值對存儲系統(tǒng),它提供了極高的讀寫速度。由于數(shù)據(jù)存儲在內(nèi)存中,Redis的訪問速度遠(yuǎn)快于傳統(tǒng)的磁盤存儲數(shù)據(jù)庫,這使得它非常適合處理高并發(fā)的讀寫請求。Redis不僅支持簡單的字符串類型,還提供了列表、集合、有序集合、哈希表等多種數(shù)據(jù)結(jié)構(gòu)。這些豐富的數(shù)據(jù)結(jié)構(gòu)使得Redis能夠靈活地應(yīng)對各種復(fù)雜的數(shù)據(jù)存儲和查詢需求。同時,國產(chǎn)數(shù)據(jù)庫產(chǎn)品在功能、性能和穩(wěn)定性等方面不斷提升,逐漸得到市場的認(rèn)可,平臺已全面支持搭夢、人大金倉等優(yōu)秀的國產(chǎn)數(shù)據(jù)庫產(chǎn)品。