物聯網開發平台大 PK,誰是最佳 Pick?
通過這篇文章了解現下流行的幾款物聯網軟體平台的各種功能。
作者 |Miyuru Dayarathna
譯者 | 彎月,責編 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下為譯文:
本文以我們對各大物聯網供應商的詳細分析為基礎,為讀者獻上一份當前物聯網軟體平台的調查報告。
首先,我們總結出了物聯網軟體平台的關鍵性功能列表。接下來,我們比較了當前各大物聯網軟體平台在這些關鍵功能方面的實現。最後,我們根據觀察的結果總結出了物聯網軟體平台應當具備的各項功能。
引言
自1999Kevin Ashton首次提出物聯網(Internet of Things,即IoT)這個概念以來,這個領域已經歷了快速的變革。由於近年來連接到互聯網設備的種類和數量呈指數級增長,物聯網已成為一種主流技術,具有推動現代社會生活方式的巨大潛力。
目前在物聯網的技術和工程方面,硬體和軟體平台之間出現了明顯的脫節——大多數供應商都專註於硬體。目前,該行業中提供物聯網軟體平台的供應商寥寥無幾,例如在Mattermark排名中位居前100的物聯網創業公司(根據各家公司獲得的總資金)中,大約只有13家創業公司提供物聯網軟體平台。
文本旨在根據我們對物聯網供應商的詳細分析為基礎,為讀者獻上一份當前物聯網軟體平台的調查報告。文本初步篩選物聯網供應商的準則完全基於供應商是否提供能夠處理物聯網設備/感測器信息的軟體解決方案。請注意,雖然我們努力做到全面詳盡,但本文可能依然無法反映出各大物聯網軟體平台最新的一些進展。
物聯網軟體平台應有的重要功能
根據最近的幾項調查,我們選擇了以下功能作為評測物聯網軟體平台的重要指標:設備管理、集成、安全性、數據收集協議、分析類型以及對可視化的支持。下面讓我們簡要介紹一下這些特性。
設備管理和集成的支持
設備管理是所有物聯網軟體平台都應具備的首要功能。物聯網平台應當維護與其聯網的設備列表,並跟蹤這些設備的運行狀態。此外,物聯網平台應當能夠應對配置和固件(或任何其他軟體)更新,並提供設備一級的錯誤報告和錯誤處理。最後,設備的用戶每天都應該收到一份各個設備的統計信息。
有關集成的支持是物聯網軟體平台應有的另一個重要特性。API應該提供主要操作的訪問,以及物聯網平台需要公開數據的訪問。通常這類API的實現都應該採用REST API。
信息安全
物聯網軟體平台上信息安全措施的重要性遠遠高於一般的軟體應用程序和服務。假設連接到某物聯網平台的設備數量高達上百萬台,則意味著我們需要針對相應數量的漏洞做好防護。一般來說,物聯網設備和物聯網軟體平台之間的網路連接需要使用強大的加密機制進行加密,以避免被竊聽。
然而,現代物聯網軟體平台中絕大多數低成本、低功耗的設備都無法支持這類先進的訪問控制措施。因此,物聯網軟體平台本身需要實施相應的措施來處理此類設備級問題。例如,採用專門的網路連接物聯網,採用雲應用級別的強信息安全措施,定期更新密碼並通過身份驗證支持可更新的固件,採用簽名軟體更新,諸如此類的措施都可以提高物聯網軟體平台的安全級別。
數據收集協議
還有一個重要的方面需要注意,即物聯網軟體平台的組件之間採用的數據通信協議類型。有時,物聯網平台可能需要擴展到數百萬甚至數十億個設備(節點),所以理應通過輕量級通信協議來實現低能耗、低網路寬頻的功能。
請注意,雖然在本文中我們總稱為協議,但實際上數據收集協議可以分為幾類——例如應用程序、有效負載容器、消息傳遞和傳統的協議等。
數據分析
從連接到物聯網平台的感測器收集的數據需要以智能的方式進行分析,才能獲得有意義的深刻見解。
針對物聯網數據的分析主要分為四大類:實時分析、批量分析、預測分析和互動式分析。實時分析對流數據進行在線(即時)分析。代表性的操作包括基於窗口的聚合、過濾、轉換等。
批量分析是針對累計的數據集運行的操作。因此,批處理操作會在預定的時間段內運行,有的只需數小時,而有的則有可能持續數天。預測分析主要是基於各種統計和機器學習技術進行的預測。互動式分析是針對流傳輸和批處理數據進行的多種探索性分析。最後,所有物聯網軟體平台都比較側重實時分析。
現下流行的物聯網軟體平台比對
針對當前物聯網軟體平台環境的詳細調查表明,各大平台都在不同程度上實現了上述每個功能。下表我們詳細對比了各個平台中各項功能的實現:
註:上述列表中註明「不詳」的單元格表示未能從現有的文檔中找到相關信息。
從上表列出的物聯網創業公司可以清楚地看出,擁有完全成熟的設備管理功能的公司依然屈指可數。這是一個重要的空白區域,需要由物聯網軟體平台供應商解決。
此外,在物聯網數據的分析中,計算和可視化方面的支持相對更少。但大多數都支持實時分析,當然這也是因為實時分析是任何物聯網框架中必不可少的功能。只有少數物聯網軟體平台支持其他三種類型的分析。在可視化界面方面,大多數平台專註於Web門戶的簡單模式。這些儀錶板雖然可以支持物聯網生態系統的管理,但極少提供可視化數據分析的功能。
縱觀所有的物聯網軟體平台,常見的支持功能包括基於REST API的集成,支持MQTT協議的數據收集,以及使用SSL鏈路加密。雖然上表中沒有提及,但只有ParStream的文檔表明了其吞吐量為3-4百萬行/秒。這表明大多數物聯網軟體平台的設計都沒有考慮物聯網部署的系統性能問題,然而這在實際操作中至關重要。
有待提升的功能
很明顯,各大物聯網軟體平台都有一些有待提升的方面。在本節中,首先我們會總結有待提升的功能列表。其中一些功能已在部分物聯網軟體平台上得到了實現,而有些新功能則沒有。接下來,我們會列舉出目前所有物聯網軟體平台供應商都未能解決的功能列表。
現有的功能
1、數據分析
當前大多數的物聯網軟體平台都支持實時分析,但批量分析和互動式數據分析也同樣重要。
或許有人會說,部分知名的數據處理平台提供了這類的分析,只需配置這類軟體系統用於分析即可。然而,說起來容易做起來難,部分知名的數據處理系統,包括實時分析(Storm、Samza等)、批量分析(Hadoop、Spark等)、預測分析(Spark MLLIB等)和互動式分析(Apache Drill等),都無法直接應用到物聯網。
2、基準
物聯網軟體平台需要具備一定的可擴展性,而且還應提供表現和評估系統性能的工具。我們需要設計明確定義的性能指標來建模和測量物聯網系統的性能,同時還需要考慮網路特性、功耗特性、系統吞吐量、計算資源消耗和其他操作特性。
3、邊緣分析
我們需要採取一定的措施來減少感測器設備和物聯網伺服器之間耗費的巨大網路帶寬。常見的解決方案包括使用輕量級通信協議。還有一種是邊緣分析,這種方法可以減少傳輸到物聯網伺服器的原始數據量。邊緣分析甚至可以在簡單的硬體嵌入式系統(例如Arduino)中實現。
4、其他問題
請注意,我們不打算在本文中討論與物聯網軟體平台相關的道德和法律問題。雖然這些問題也很重要,但超出了本文的範圍。
有待添加的功能
1、亂序處理
所有物聯網應用都可能會接收到亂序事件。物聯網感測器發出的事件流中亂序的元組可能是由網路延遲、時鐘漂移等引起的。亂序的物聯網事件處理可能導致系統故障。如果想處理好亂序事件,則需要在結果準確性和結果的延遲之間找到平衡。
亂序處理技術主要有4種:基於緩衝的、基於標點的、基於推測的和基於近似的亂序處理。物聯網解決方案應當至少實現其中一種,才能良好地處理亂序事件。
2、物聯網上下文的支持
上下文主要來自物聯網的位置、它們的喜好或以往的行為。例如,對於行動電話來說,由於如今的行動電話中包含各種不同類型的感測器,所以我們可以訪問的上下文信息也非常豐富。物聯網分析應該能夠考慮這些上下文數據。
總結
物聯網範式的快速增長需要強大的物聯網軟體平台,才能滿足物聯網領域的需求。
在本文中,我們研究了現下最流行的物聯網軟體平台的功能。我們的調查側重於設備管理、集成、安全性、數據收集協議、分析類型以及對可視化支持等方面。從這項研究中可以清楚地看出,物聯網軟體平台社區應當特別關注設備管理、物聯網數據分析以及物聯網軟體系統可擴展性和性能特徵等領域。
原文:https://dzone.com/articles/iot-software-platform-comparison
作者:Miyuru Dayarathna,高級技術主管@WSO2。
【End】
5G進入元年,物聯網發展愈加火爆!
你是否身懷絕技、卻無人知曉;別讓你的IoT項目再默默無聞了!
繼第一屆AI優秀案例評選活動之後,2019年案例評選活動再度升級,CSDN將評選出TOP 30優秀IoT案例,趕快掃碼參與評選吧!重磅福利,等你來領!
熱 文推 薦


※物聯網時代,隱私還有救嗎?
※這本Python演算法書有點火
TAG:CSDN |