范東宣 丁寶川 柴家琦
中國冶金地質總局青島地質勘查院信息工程事業(yè)部 山東 濰坊 261021
在物聯(lián)網技術快速發(fā)展的背景下,其使用頻率和范圍呈明顯上升趨勢,作為一種信息技術,通過運用智能采集設備和通信系統(tǒng)等,能夠實現(xiàn)對目標信息數(shù)據(jù)的快速采集、傳輸、分析、處理與存儲等一系列行為,滿足平臺用戶的使用需求。因此,為更好地挖掘數(shù)據(jù)價值,研究與探討通用物聯(lián)網數(shù)據(jù)采集與分析平臺是必要的。
所謂物聯(lián)網,主要是指將信息化技術、人工智能等現(xiàn)代化技術進行整合,利用信息傳感設備在約定的基礎上實現(xiàn)網絡與任何物體的連接,進而通過信息傳播媒介進行物體信息的交換和通信,滿足智能化識別、信息采集、定位跟蹤等功能使用需求[1]。
在對通用物聯(lián)網數(shù)據(jù)采集與分析平臺進行搭建時,主要利用基于物聯(lián)網技術的數(shù)據(jù)模型對感知設備采集到的信息數(shù)據(jù)進行表示,之后通過Web進行信息數(shù)據(jù)與服務的整合,將其處于Web信息空間,從而滿足不同平臺用戶對數(shù)據(jù)與服務的訪問使用需求。
以物聯(lián)網技術為基礎的通用數(shù)據(jù)采集與分析平臺集成了ECA規(guī)則模塊,用戶通過對規(guī)則進行預設,該平臺能夠以自動化的方式對上傳至平臺服務端的數(shù)據(jù)進行分析,判斷是否存在問題并作出相應響應,以此實現(xiàn)對目標對象與數(shù)據(jù)的控制。為此,在對通用物聯(lián)網數(shù)據(jù)采集與分析平臺架構進行設計時,主要將其整個體系架構分為3部分,分別為通用物聯(lián)網數(shù)據(jù)分析平臺、物聯(lián)網數(shù)據(jù)采集端以及各類物聯(lián)網應用,即信息數(shù)據(jù)采集端、分析端與應用端。其中,信息數(shù)據(jù)采集端由多個不同類型的物聯(lián)網感知設備組成,主要負責信息數(shù)據(jù)采集,來源則是感知設備,在采集好數(shù)據(jù)后將其打包,之后通過設備網絡控制器將其上傳至分析端,供相關人員使用或是由平臺自動開展信息數(shù)據(jù)分析工作。當服務器接收到感知數(shù)據(jù)后,分析平臺會將其存儲至數(shù)據(jù)庫中,采取的存儲形式為物聯(lián)網數(shù)據(jù)模型,便于數(shù)據(jù)的分析與處理。除此之外,在ECA規(guī)則的結合運用下,通用物聯(lián)網數(shù)據(jù)采集與分析平臺還可以進行自動化作業(yè)規(guī)則的預設,若是平臺在運作過程中遇到觸發(fā)規(guī)則的事件且該事件滿足特定條件后,平臺將會自動監(jiān)測和預警特定事件[2]。
作為通用物聯(lián)網數(shù)據(jù)采集與分析平臺中的關鍵功能模塊,物聯(lián)網數(shù)據(jù)模型直接影響到平臺接口、數(shù)據(jù)可視化、ECA規(guī)則以及信息數(shù)據(jù)存儲等方面。在通用的物聯(lián)網信息數(shù)據(jù)采集與分析平臺上,數(shù)據(jù)模型主要將感知設備采集到的信息數(shù)據(jù)存儲至數(shù)據(jù)庫中,所依仗的方式就是物聯(lián)網數(shù)據(jù)模型格式,即類的形式。在通用物聯(lián)網數(shù)據(jù)模型UML類圖中,感知設備所采集到的基本數(shù)據(jù)模型為Sensor Device(父類),在這個類中,最為重要的方法之一就是Add Sensor Node,在該方法的使用下,可以將不同Sensor Node(屬性)添加至平臺上,再結合Web界面可以很好地滿足用戶對屬性、屬性值的具體需求。比如,用戶在使用通用物聯(lián)網數(shù)據(jù)采集與分析平臺時,可能會根據(jù)自身需求添加屬性并選擇屬性值類型,使其成為新的子類。在通用物聯(lián)網數(shù)據(jù)采集與分析平臺具體應用過程中,子類都具有其對應的設備,其屬性也一一對應著傳感器節(jié)點,但是,傳感器設備內部涵蓋的傳感器節(jié)點較多,類型也較多,所以子類包含多個屬性。在這種物聯(lián)網數(shù)據(jù)模型下,無論是Web Services、ECA規(guī)則還是數(shù)據(jù)可視化、數(shù)據(jù)存儲設計,都無須對信息數(shù)據(jù)的格式以及感知設備數(shù)據(jù)的類型進行考慮,僅從功能使用目標的角度開展設計即可。
除此之外,該平臺數(shù)據(jù)庫在具有良好拓展性的同時,還應具有一定靈活性,這是因為物聯(lián)網技術發(fā)展迅速,傳感器種類規(guī)模較多。在該使用要求下,平臺可以引入node(節(jié)點)概念,通過讓節(jié)點與子類對象進行一一對應,可以將子類對象以node形式存儲在數(shù)據(jù)庫表中。對于該通用平臺的數(shù)據(jù)模型而言,其在數(shù)據(jù)庫中的存儲形式由數(shù)據(jù)庫表構成,其中包括3個基本的和多個拓展形式的,其中,Sensor Device基本屬性為user、device_id/name、time,存儲于基本數(shù)據(jù)庫表中,這3個屬性分別對應的是node_type表的author、node_type和tid、time字段。相較于該屬性的存儲與對應,子類增加的sensor_node存儲復雜性更高。
在該數(shù)據(jù)模型構建下,node_type表的tid與node表的tid字段相對應,其含義是相關設備id,此外,fid字段與field_config表中的fid字段相對應,意味著傳感器節(jié)點對應屬性id,而field_name字段代表著節(jié)點對應屬性名稱。Field_config、field_name和field_data_type分別對應著傳感器節(jié)點對應屬性的名稱以及屬性值的數(shù)據(jù)類型,比如文本、整型、圖片等。filed_table_name則是屬性值所在的數(shù)據(jù)庫表名稱,一般情況下,記為“field_data_field_”+“field_name”字段對應的值。值得注意的是,拓展后的數(shù)據(jù)庫表結構存儲于field_config表,在實際拓展與存儲后,該表中將會有一條記錄,其中涵蓋著拓展表的結構數(shù)據(jù),名稱為field_table_name字段值,字段包括3個,分別為fid、nid和filed_value。這3個字段之間具有一定關系,即:nid為node表外鍵,表field_config外鍵為fig,field_value意味著在相對父類添加的情況下,子類的屬性值,而屬性值的類型則是field_config表的dield_data_type字段的值。因此,在搭建通用物聯(lián)網數(shù)據(jù)采集與分析平臺時,為實現(xiàn)擴展表創(chuàng)建的自動化,可以直接通過編程在表field_config中添加記錄[3]。
2.3.1 以XMPP為基礎的信息數(shù)據(jù)傳輸。通用物聯(lián)網數(shù)據(jù)采集與分析平臺的構建要注重其通用性的實現(xiàn),因此,該平臺應支持XMPP通信,那么在設計數(shù)據(jù)的接入與訪問環(huán)節(jié)時,應以XMPP為基礎進行設計。為細化設計流程,以家庭能源管理下的通用物聯(lián)網數(shù)據(jù)采集與分析平臺使用為例,若是所應用的是插座客戶端,那么可以將其替換為智能插座,從而對電流、電壓等家庭用電數(shù)據(jù)進行檢測與采集,并將采集好的數(shù)據(jù)通過XMPP服務平臺發(fā)送給客戶端,滿足人們的家庭用電信息獲取需求。在實際設計過程中,應對插座客戶端、服務平臺、插座客戶端、服務平臺、插座客戶端、服務平臺的流程進行設計,從而保證其作用的順利實現(xiàn)。
2.3.2 以Web Services為基礎的信息數(shù)據(jù)傳輸。通常狀況下,無論哪種物聯(lián)網感知設備在進行信息數(shù)據(jù)的傳輸時,都需要借助平臺接口,在健全的通用物聯(lián)網數(shù)據(jù)采集與分析平臺中,應對Web Services接口所支持的格式與數(shù)據(jù)類型進行規(guī)定,保證數(shù)據(jù)接收端口的通用性。在Web Services接口接收到信息數(shù)據(jù)后,將會自動化處理數(shù)據(jù),充分發(fā)揮數(shù)據(jù)處理功能模塊的作用,最后將處理結果反饋給客戶端,若是在信息數(shù)據(jù)處理過程中發(fā)生錯誤,將會直接給出錯誤提示信息。除此之外,用戶通過客戶端可以直接通過Web Services端口查看所需階段或時間段的歷史數(shù)據(jù),而且,該平臺可以通過可視化的方式將數(shù)據(jù)展示給用戶,讓用戶以明確、準確以及直觀的方式獲得節(jié)點狀態(tài),從而更好地對日后數(shù)據(jù)變化進行預測,保證后續(xù)措施采取的科學有效性。在實現(xiàn)該接口的數(shù)據(jù)接入與訪問功能后,各類信息數(shù)據(jù)主要通過node.create的方式接入實現(xiàn),而數(shù)據(jù)訪問則依托于node.get實現(xiàn),這兩個接口函數(shù)分別是一個對象和一個int型的變量nid,前者是通用物聯(lián)網數(shù)據(jù)模型的實例,后者則是變量nid,意味著node的id。比如,某客戶在使用通用物聯(lián)網數(shù)據(jù)采集與分析平臺進行數(shù)據(jù)采集后,那么平臺將會調用node.create將數(shù)據(jù)上傳,并為其分配nid,之后進行所屬用戶的判斷,明確后將user和nid屬性添加至對象參數(shù)中。然后,調用另一個函數(shù)進行node保存,以此實現(xiàn)數(shù)據(jù)接入。與此同時,通用物聯(lián)網數(shù)據(jù)采集與分析平臺的客戶端也會調用node.get對某項或某條數(shù)據(jù)進行采集,參數(shù)為數(shù)據(jù)nid,之后平臺將數(shù)據(jù)發(fā)送至客戶端,主要以對象的形式進行,從而完成數(shù)據(jù)訪問。
為進一步增強通用物聯(lián)網數(shù)據(jù)采集與分析平臺的通用性,該平臺還支持多種數(shù)據(jù)傳輸格式,比如JSON和XML,不同格式下的信息數(shù)據(jù)具有不同表達格式,相較于JSON,XML格式相對煩瑣,JSON整體靈活性更高,便于用戶對其進行閱讀與編寫以及客戶端的解析與生成,相較于XML,JSON下的數(shù)據(jù)訪問流程更為簡單。因此,在搭建通用物聯(lián)網數(shù)據(jù)采集與分析平臺時,數(shù)據(jù)加入與訪問設計盡量采用JSON格式[4]。
2.3.3 以RSS為基礎的數(shù)據(jù)訪問。所謂RSS,主要是指簡易信息聚合,即Really Simple Syndication,屬于一種消息來源格式規(guī)范。在該格式規(guī)范下,無論是信息數(shù)據(jù)的獲取還是訂閱,均由聚合器實現(xiàn)。通過在平臺中使用RSS,線上用戶可以在不打開網站內容頁面的情況下,閱讀支持RSS輸出的網站內容。其工作機制為:訪問數(shù)據(jù)庫提取頻道列表-RSS文件/RSS頁面-RSS閱讀器-更新頻道列表/顯示頻道列表-頁面-頁面鏈接提供RSS訂閱功能)-頁面獲取頻道信息-訪問數(shù)據(jù)庫提取頻道列表-數(shù)據(jù)庫。其中,RSS訂閱功能的實現(xiàn)主要依托于RSS鏈接的添加,RSS鏈接傳遞網站內容信息,而該鏈接URL具有兩種指向,分別是空內容頁面和靜態(tài)xml文件。空內容頁面主要依托于統(tǒng)一的后臺處理,RSS頻道列表的生成以頻道信息訪問數(shù)據(jù)庫為基礎,一般情況下,訪問頻率沒有靜態(tài)xml文件高;而靜態(tài)xml文件則是以自動化的方式由平臺服務器端程序生成,且跟隨服務器和數(shù)據(jù)庫內容的增加自動更新,在對其進行訪問獲取時無須訪問數(shù)據(jù)庫,所以整體訪問效率更高。因此,在通用物聯(lián)網數(shù)據(jù)采集與分析平臺的構建中,主要采用第二種指向,一方面提高數(shù)據(jù)訪問效率,另一方面增強平臺自動化水平。
綜上所述,通用物聯(lián)網數(shù)據(jù)采集與分析平臺對數(shù)據(jù)價值挖掘具有重要意義。因此,組織內部都應認識到物聯(lián)網技術的重要性,以此為基礎從平臺架構、數(shù)據(jù)模型構建、數(shù)據(jù)接入與訪問等方面設計平臺,增強其通用性,從而充分發(fā)揮物聯(lián)網技術作用。