導讀:創建一個對任意物聯網軟件平臺都很重要的關鍵功能列表。然后,比較不同功能在不同平臺上的實現程度。最后,根據觀察得出物聯網軟件平臺的期望功能列表。
基于對物聯網開發平臺的詳細分析,本文對當前物聯網軟件平臺的情況進行了全面的綜述。
首先,創建一個對任意物聯網軟件平臺都很重要的關鍵功能列表。然后,比較不同功能在不同平臺上的實現程度。最后,根據觀察得出物聯網軟件平臺的期望功能列表。
物聯網平臺
1999年,凱文·阿什頓(Kevin Ashton)首次提出物聯網(IoT)這一專有名詞,從那之后,物聯網經歷了快速的變革。近年來,聯網設備的種類和數量呈指數級增長,物聯網已成為一項很有潛力能夠推動現代社會生活方式變革的主流技術。
目前,在物聯網的技術工程方面,硬件平臺和軟件平臺之間存在明顯分離,大部分平臺都專注于硬件,只有少數提供物聯網軟件平臺:舉例來說,在Mattermark排名(基于公司獲得的總資金)前100的物聯網初創公司中,只有大約13家提供軟件平臺。
本文旨在對物聯網平臺進行詳細分析,然后對目前物聯網軟件平臺的現狀進行概述。本文選取候選物聯網平臺完全是基于平臺是否能處理物聯網設備的信息。注意,盡管本文試圖全面,但可能沒有包括所列物聯網軟件平臺的最新改進。
物聯網軟件平臺的重要功能
基于最近的幾項調查,我們用以下幾個重要功能對物聯網軟件平臺進行比較:設備管理,整合,安全,數據收集協議,類型分析,支持可視化。本文的后半部分將簡要介紹這些特性。
設備管理與整合支持
設備管理是物聯網軟件平臺很重要的一個功能。物聯網平臺需要維護一系列連接設備并跟蹤它們的運行狀態,平臺還需要能夠處理配置、固件(或任何其他軟件)更新,并提供設備的錯誤報告和錯誤處理。在一天結束時,用戶要能夠獲取單個設備的統計信息。
整合支持是另一個很重要的功能。API接口需要獲取物聯網平臺的重要操作和數據,用REST API很容易實現這一點。
信息安全
物聯網軟件平臺要求的信息安全系數遠高于其它軟件應用和設備所需。眾多設備與物聯網平臺相連接就意味著要能夠預測出部分危險。一般情況下,物聯網設備與物聯網軟件平臺之間的網絡連接需要通過強大的加密機制進行加密,以防竊聽。
然而,現代物聯網軟件平臺中大多數低成本、低功耗設備都不支持這種先進的訪問控制措施,因此就需要物聯網軟件平臺依靠其他的方法來解決這種設備級問題。例如,將物流網流量分流到專用網絡,在云應用程序中實現強大的信息安全,定期更新密碼,并通過身份驗證支持可更新固件,簽署軟件更新都可以加強物聯網軟件平臺的安全性。
數據收集協議
另一個需要注意的是用于物聯網軟件平臺組件之間數據通信的協議類型。一個物聯網平臺可能會擴展到數百萬甚至數十億個設備(節點)。輕量級通信協議應用于實現低能耗和低網絡帶寬功能。
注意雖然本文中使用協議作為一個總稱,但是用于數據收集的協議可以分為幾個類別——例如應用程序、有效負載容器、消息傳遞和遺留協議。
數據分析
將與物聯網平臺相連的傳感器中所收集的數據以智能的方式進行分析,能夠獲得有意義的結論。
可以對物聯網數據進行四類的分析:實時分析、批量處理分析,預測分析還有交互式分析。實時分析是對流數據進行在線(實時)分析。示例操作包括基于窗口的聚合、過濾、轉換等。
批量處理分析是對累積的數據集運行操作,因此,它按預定的時間周期(可能持續幾個小時或幾天)運行。預測分析是基于各種統計技術和機器學習技法做出預測。交互式分析是在流數據和批數據上進行多個探索性分析。最后一個是實時分析,它在每個物聯網平臺上運行的最多。
當前物聯網軟件平臺
仔細研究當前物聯網軟件平臺,可以發現上述功能都不同程度地得到了實現。列出相關平臺并對其特性進行了總結比較:
Unknown標記的說明在資料中找不到相關信息
AWS 物聯網已經獲得了2lemetry
Cisco已經獲得了ParStream
從上方列舉的物聯網公司來看,很多平臺沒有實現成熟的設備管理。這是物聯網軟件平臺需要解決的很重要的一個問題。
此外,這些平臺也很少對生成的物聯網數據進行計算和可視化分析。大多數都支持實時分析——這是物聯網框架必須具備的功能。然而,只有少數物聯網軟件平臺支持其他三種類型的分析。在視覺界面方面,它們大多集中于web門戶的簡單模式。這些儀表板可以管理物聯網生態系統,但很少能提供可視化數據分析功能。
這些平臺還有其他一些共同點:基于REST API的集成、支持MQTT協議作為數據收集手段以及使用SSL進行鏈接加密。表中沒有提及只有ParStream有每秒三到四百萬的通量。這表明,大多數物聯網軟件平臺的設計都沒有考慮到物聯網部署在實際操作中的系統性能方面。
有待提升的功能
很明顯有幾個地方需要提升。本節我們先列舉可以用于提升的功能。其中有一些已經實施了,有一些新功能還未應用。然后列出了目前還沒有任何物聯網軟件平臺提供的一些新功能。
已有的功能
數據分析
大多數物聯網軟件平臺都支持實時分析,但批量處理分析和交互式分析也同等重要。
在這一點上,可能有人會說,在其他的數據處理平臺上可以進行這兩種類型的分析,這只是對軟件系統進行分析場景配置的問題。但是,說起來容易做起來難。著名的實時數據處理系統(Storm、Samza等)、批量處理系統(Hadoop、Spark等)、預測系統(Spark MLLIB等)、交互系統(Apache Drill等)不能像物聯網那樣直接應用。
基準
物聯網軟件平臺需要可伸縮,并包含描述和評估系統性能的設施。需要設計定義良好的性能指標來對物聯網系統的性能進行建模和度量,需要考慮到網絡特性、能源消耗特性、系統通量、計算資源消耗和其他操作特性。
邊緣分析
需要采取措施減少傳感器設備和物聯網服務器之間存在的巨大網絡帶寬消耗。使用輕量級通信協議是一種解決方案,另一種方法是邊緣分析,它可以減少傳輸到物聯網服務器的原始數據量。邊緣分析甚至可以在(如Arduino)簡單的硬件嵌入式系統中實現。
其他問題
注意,本文并沒有涉及與物聯網軟件平臺相關的倫理、道德和法律問題,這些很重要,但已經超出了本文解決的問題范疇。
需要增加的新功能
無序處理
任何物聯網應用程序都可能出現無序事件; 網絡延遲、時鐘漂移等原因可能會造成物聯網傳感器內事件流中元組的無序。無序物聯網事件處理可能導致系統故障,處理這種混亂需要在結果準確性和結果延遲之間進行權衡。
有四種主要的解決方法:基于Buffer技術、基于Punctuation技術、基于Speculation技術和基于Approximation技術。解決物聯網中的無序問題需要綜合運用這些技術。
物聯網的上下文支持
上下文主要由個人的位置、所陳述的偏好或過去的行為構成。以手機為例,通過手機中存在的各種不同類型的傳感器,可以訪問豐富的上下文信息。物聯網分析需要考慮這些上下文數據。
結論
物聯網范式的快速發展需要強大的物聯網軟件平臺來滿足物聯網使用的需求。本文研究了當前最先進的物聯網軟件平臺的功能。調查的重點是設備管理、集成、安全、數據收集協議、分析類型、可視化支持等方面。
從本研究中可以看出,設備管理、物聯網數據分析、物聯網軟件系統的可擴展性和性能特征等領域都需要物聯網軟件平臺多加關注。
掃一掃在手機上閱讀本文章