余永紀,楊學平,薛秀麗
(云南機電職業技術學院,云南 昆明 650203)
物聯網(IoT)是在互聯網基礎上擴展與延伸的網絡,物與物之間進行“萬物互聯”,實現信息的交換與通信。物聯網的出現,再加上數據通信成本的急劇下降,以及各種傳感技術和智能設備的出現,加速了數據的采集和應用[1]。但是在面向各種具體行業應用,源源不斷的產生海量的實時數據的同時,就會產生大量的、相互不共享的數據,容易形成信息孤島的現象[2]。而且當前數據交換體系存在著數據利用效率低、服務質量無保障、數據交換不可靠、數據請求安全無保障等問題[3],而且很多數據交換與共享平臺無法直接應用于物聯網系統。
為了打破信息孤島,解決物聯網系統數據共享與交換問題,充分挖掘數據價值,提高數據利用率,本文將基于物聯網構架,提出一種基于物聯網的數據共享交換平臺設計方案,主要完成物聯網的數據采集、數據交換、數據處理及數據管理功能,將數據進行治理和融合,形成資源共享目錄,在數據交換系統基礎上,實現數據的交換與共享,并提供與之相適應的數據交換或數據產品服務接口。
基于物聯網的數據共享交換平臺總體架構圖如圖1所示,平臺支持對分布式的海量的結構化數據、非結構化數據進行統一存儲、統一管理,并提供靈活的權限管理和操作功能。系統提供統一的用戶管理和認證體系。遵循平臺制定的數據服務標準規范體系,獲取相應的數據,將分散數據采集進入到平臺的信息資源庫中。在平臺基礎功能的支撐之下,通過數據資源目錄對信息資源庫進行統一管理,統一對外提供數據資源共享服務。
基于物聯網的數據共享交換平臺總體架構圖如圖1所示,平臺支持對分布式的海量的結構化數據、非結構化數據進行統一存儲、統一管理,并提供靈活的權限管理和操作功能。系統提供統一的用戶管理和認證體系。遵循平臺制定的數據服務標準規范體系,獲取相應的數據,將分散數據采集進入到平臺的信息資源庫中。在平臺基礎功能的支撐之下,通過數據資源目錄對信息資源庫進行統一管理,統一對外提供數據資源共享服務。
平臺總體架構包括以下層次:
應用層:各類應用訪問的統一入口。
管控層:提供平臺的統一管理,包括接口管理、監控統計、用戶管理、服務統計等模塊。
業務層:提供數據目錄、數據資源管理及共享交換服務等的功能實現,包括數據目錄管理、數據資源管理、數據采集、數據交換、ETL及企業服務總線等模塊。
數據資源層:是提供數據共享與交換的支撐機構,它主要實現數據聚合與分層集中管理,建立數據的共享資料庫及資源目錄,為上層業務提供數據服務。
基礎設施層:主要包括基礎網絡資源、計算及存儲資源、數據庫系統等基礎設施,還包括物聯網設施、安全控制設備、身份認證設施以及密鑰管理設施等。
政策法規與標準規范體系:包括相應的國內標準、行業標準以及平臺建設的相關標準。
安全保障體系:符合國家、相關安全管理部門,以及信息中心相關安全管理規定的要求,保障數據信息和數據服務的安全。
基于物聯網架構的數據采集子系統邏輯架構圖如圖2所示,數據采集子系統由物聯網數據采集服務、采集應用服務、集成開發設計器、統一管理平臺等構成。物聯網服務提供物聯網設備管理、物聯網節點接入授權、物聯網數據傳輸及數據的異構管理等功能。采集應用服務提供認證授權、監控管理接口、擴展接口、數據橋接、數據適配、數據同步、數據抽取、數據存儲、處理流程、任務調度、轉換引擎等。集成開發設計器包括數據源接入、流程開發、任務配置、任務部署、調試跟蹤、任務執行、監控輸出、運行日志。統一管理平臺主要實現數據采集過程中的監管與控制,包括設備、節點、權限的控制與管理,采集過程中的運行及狀態監控,數據采集的性能統計與分析等。

圖2 基于物聯網架構的數據采集子系統邏輯架構圖
數據交換子系統主要提供數據交換的規則配置、流程管理、交換任務的調度、交換過程運行狀況的監控、系統資源占用情況及系統異常處理等功能。數據交換子系統是數據采集、傳輸、監控的工具、手段,借助先進的數據共享交換平臺工具,構建安全、可靠、高效、一致的數據傳輸機制。
2.2.1 數據交換引擎
數據交換引擎是數據共享交換平臺的核心部分,采用基于JAVA技術設計的消息中間件軟件設計,結合大數據和云計算的數據存儲和處理能力,支撐數據交換平臺實現海量、多格式、高可靠、高并發和高穩定數據采集與分發。
在共享交換平臺中心部署服務節點,實現前置交換系統與平臺間的穩定可靠的信息傳遞,選擇合理的技術手段確保前置交換系統之間可靠的信息傳遞功能,實現交換信息內容的“不丟、不錯、不重”高效傳輸。支持交換節點之間的路由和備份路由功能,提供斷點續傳功能,并且提供數據的打包、傳遞、轉換及解包等功能。
2.2.2 交換監控子系統
交換監控子系統用于監控數據共享與交換的狀態、服務和日志等信息,提供前置交換系統的注冊與授權、狀態查詢、信息統計、更新及遠程部署等功能,協同部門交換前置機和中心交換前置機的運行并對交換平臺的運行情況進行管理和監控。
2.2.3 前置交換子系統
前置交換子系統是業務應用與平臺之間數據交換的橋梁,它負責提供前置數據交換的規則與模式,可以利用中間件進行數據的交換和共享,實現數據格式的轉換與橋接,以及信息數據的傳輸等功能。
2.2.4 橋接交換子系統
橋接服務運行環境和橋接服務配置工具。提供物理隔離情況下的數據交換。支持異構系統的數據源(如Oracle、MySQL、SQLServer等)的各種字段類型(如數據庫表的字符型、日期型、數字型、Blob、Clob、流類型等)等在隔離的兩段網絡間實現跨域的數據交換。
2.2.5 交換傳輸子系統
交換傳輸子系統提供全生命周期的文件傳輸及處理服務,提供交換服務實現數據庫表、業務系統、XML、文件等到文件的格式轉換、過濾、映射處理。提供傳輸服務實現文件(夾)的可靠傳輸、變化文件傳輸、壓縮、加密傳輸等。提供交換服務、Shell調用服務實現文件到數據庫、業務系統等集成;提供FTP服務實現和外部系統的集成;提供文件分類調用服務實現文件分類調用等。
數據處理,也稱ETL(Extract-Transform-Load),主要是對各數據源單位采集的原始信息進行清洗、加工、轉換、比對等,并按照統一的標準對數據進行串聯和匯集,最后將處理完的數據加載到相關存儲設備中。
2.3.1 數據清洗
數據清洗是根據不同的業務情況制定清洗規則,針對不能滿足業務需求的數據,如不完整、有重復的數據進行處理,最終達到應用要求的過程[4]。數據清洗主要包括數據比對、過濾、關聯、去重、轉換及解析等過程,其目的就是保障數據的完整性、正確性和一致性。
2.3.2 數據加工
數據加工主要是兩方面的工作:構建源數據處理體系和搭建數據資源池基礎數據庫群。源數據處理系統分析源數據庫數據特征,根據源數據特征和目標數據庫結構安裝配置ETL工具,進行數據抽取/清洗/轉換/加載(即ETL過程),從數據采集到平臺之后到建成可供分析應用的數據倉庫,之間要經歷繁的ETL過程(數據清洗、轉換和整合)。
2.3.3 數據抽取
數據在經過清洗和加工以后,可以對數據資源進行編目,形成共享資源目錄,以支撐數據的檢索和定位。為了滿足不同的業務和數據形式的要求,在需求明確的情況下,可以制定不同的數據抽取規則接口,對數據源中分布的,異構的、關聯的數據進行抽取。數據抽取的過程主要是從各個業務系統上根據約定的采集周期采集全量或增量數據。在采集過程中可能涉及系統內或跨系統的數據關聯獲取。
數據管理子系統主要是針對數據的創建、存儲、使用、共享及評價等過程進行的管理。主要包括元數據管理、任務管理、數據融合等幾個方面。元數據管理是最基本的數據管理,任務管理主要根據業務需求,以任務的形式建立數據加工的流程,實現對數據處理任務的配置、任務調度、運行監控管理等工作。數據融合主要針對物聯網跨域數據特點,挖掘各類實體數據的關聯系統,對數據進行整合、存儲及管理,使數據最終能夠共享與交換。
2.4.1 元數據管理
元數據管理是對物聯網各類數據的最基本管理功能,實現元數據的采集、注冊、變更、授權及統計等生命周期的管理功能。平臺系統提供元數據管理功能,通過對物聯網數據的加工設計、執行處理、數據融合等步驟,主動產生或提取數據元數據,并通過制定元數據開放的使用規范及標準,對元數據資源進行發布、申請、審核、授權等操作,以便將數據進行開放共享與交換。元數據管理還可以實現元數據的模型定義并存儲,在功能層包裝成各類元數據功能,最終對外提供數據的應用及展現;還可以提供元數據的關聯分析和流向功能,方便對數據實現追蹤溯源和流向的分析與統計。
2.4.2 任務管理
任務管理及調度邏輯圖如圖3所示,任務管理包括數據處理任務的配置、任務調度和任務運行控制管理等。這部分主要實現對物聯網數據采集和處理的任務規則、參數和服務等的配置,實現物聯網節點運行狀態、節點資源狀態、節點任務運行狀態及節點的歷史運行狀態的監控。

圖3 任務管理及調度邏輯圖
2.4.3 數據融合
采用關系數據庫技術、MPP分布式存儲技術、Hadoop大數據處理技術和柔性多引擎檢索技術構建數據存儲系統,是預處理及過濾數據庫內資料、讀取資料來源、分析資料轉換規則及載入系統,并將轉換資料寫入主資料庫,最后完成跨域數據整合、存儲及管理,是數據交換平臺關鍵部分之一[5-6]。這要求具有完全分布式的、多副本機制的、對等的、不共享的系統架構,沒有單點故障或瓶頸。系統能線性增長,每新增加一個節點能同時增加系統性能和存儲容量。
支持增量索引,采用集中索引和實時索引相結合的方式,集中索引針對批量更新的海量數據庫,其索引的制作耗時較長,由管理員確定索引時間,如每天夜間等;實時索引適用于頻繁更新的數據庫,保證記錄的添加、修改、刪除都能實時地反映到搜索結果當中。
隨著信息技術的發展,物聯網行業應用版圖不斷增長,物聯網系統數據也呈現出數據量大、多樣、多域、多應用等特點,在各個應用領域形成了大量數據不共享、信息不互通的物聯網平行應用系統,打破信息數據壁壘,實現物聯網數據的共享與交換,是物聯網系統廣泛應用的關鍵。本文基于物聯網構架,提出一種基于物聯網的數據共享交換平臺設計方案,完成了數據采集、數據交換、數據處理與數據管理等方面的功能,并提供與之相適應的數據共享交換接口及數據服務,進一步破除“信息孤島”和“數據煙囪”現象,推動數據資源的整合,對物聯網系統的多域數據共享與交換有重要意義。