物联网平台构架系列 (四):Amazon, Microsoft, IBM IoT 解决方案导论 之 平台
最近研究了一些物聯網平臺技術資料,以做選型參考。腦子里積累大量信息,便想寫出來做一些普及。作為科普文章,力爭通俗易懂,不確保概念嚴謹性。我會給考據癖者提供相關英文鏈接,以便深入研究。
? ? ? —— 馮立超 HiwebFrank
4. 平 臺
? ? 由于物聯網的地域分布廣、設備數量眾多的特點,物聯網解決方案必須借助公有云平臺來實現。
? ? 物聯網解決方案須具備如下功能:
? ? ?- 從設備收集數據
? ? ?- 分析運行中的數據流
? ? ?- 存儲和查詢大型數據集
? ? ?- 實時和歷史數據可視化
? ? ?- 與后端業務系統集成
? ? ?- 管理設備
? ? 我們用一個簡單的圖示來說明物聯網解決方案構架,下圖是微軟給出的一個與廠商無關的物聯網解決方案通用示意構架:
? ? 該簡化構架包括?設備連接、數據處理與分析、信息呈現?三個層面。
? ? 該構架中,物聯網設備收集數據并與云網關交互;云網關使其它后端服務可以處理這些數據,從云網關,數據提交給其它業務應用程序或儀表板操作人員及其它展示設備。
設備連接
? ? 如何讓設備安全可靠地連接到解決方案后端,是物聯網解決方案所面臨的巨大挑戰,相比于其它系統,物聯網設備有如下一些特點:
? ? ?- 通常是無人操作的嵌入式系統甚至是沒有操作系統的設備
? ? ?- 可能部署到物理訪問成本高昂的遠程位置等各種部署場景
? ? ?- 可能無法通過其他方式來與設備交互,而只能通過解決方案后端來訪問
? ? ?- 供電及運算資源可能都有限
? ? ?- 網絡連接可能不穩定、緩慢或高成本
? ? ?- 可能需要使用專屬、自定義或行業特定的應用層協議
? ? ?- 可以使用大量常見的硬件和軟件平臺來創建
? ? 除上述特點之外,物聯網解決方案還必須考慮可擴展性、安全性和可靠性。傳統的技術如Web容器或消息傳送代理等不足以支撐這樣的需求。
? ? 為此,物聯網平臺廠商都提出自己的解決方法,如微軟的 Azure IoT Hub 及 Azure IoT SDK 等。關于 Azure IoT Hub 請參見上一講相關內容。
? ?有關設備連接的多種情況,微軟給出的概念構架圖如下:
?
數據處理與分析
? ? 在物聯網解決方案中,數據處理與分析主要交由在公有云上的后端服務進行,包括設備數據篩選、匯總、路由到其他服務等等。后端服務主要負責如下工作:
? ? ?- 接收來自設備的大規模數據,并確定如何處理和存儲這些數據
? ? ?- 必要時可以從云端向設備發送數據或指令
? ? ?- 設備注冊、預配置及安全連接控制
? ? ?- 跟蹤設備狀態并監控設備活動
? ? ?- 存儲和分析設備歷史數據,從而實現設備預見性維護
? ? ?- 與設備進行交互,實現反饋控制等
? ? 當然,并不是所有的業務都必須交由云端處理,例如一些必須及時響應的操作比如緊急剎車,這些處理及操作都必須在設備端直接進行;另外,設備也可以進行一些預處理,從而提高效率、降低數據傳輸量。
? ? 為此,設備本身應該具備一些處理能力。
? ? 微軟的 Windows 10 IoT Core,提供了強大的設備端計算能力;
? ? 而亞馬遜的 Greengrass,則使物聯網設備可以運行 AWS Lambda 函數、同步設備數據以及與其他設備安全通信,甚至無需連接互聯網。Greengrass 可確保物聯網設備快速響應本地事件、運行時采用間歇性連接,并最大程度地降低將物聯網數據傳輸到云的成本。
? ? 華為的 LiteOS,則強調輕量級、低功耗(一個紐扣電池用好幾年)、快速啟動(毫秒級)及響應(納秒級)、多種連接協議(廣域/局域)等特性。
? ? 另外,一些物聯網設備,也可以通過完全自主研發的芯片,實現相關數據采集與處理。
? ? 比如圖像火災監測設備,可以將圖像火災分析算法集成在設備芯片中,由設備芯片中的算法進行判斷,僅將是否發生火災的判定結果傳輸到云端。
? ? 而對于較復雜的圖像、或者誤判圖像,則將圖像數據及其設備端判定結果傳到云端,通過機器學習,逐步改進算法,提高圖像處理能力,并通過物聯網對設備進行升級操作。
信息呈現和業務連接
? ? 信息呈現和業務連接層 用于展示和操控從設備收集的數據。它可讓用戶查看和分析從其設備收集的數據。 這些視圖可以采用儀表板或 BI 報表的格式,以顯示歷史數據和/或接近實時的數據。
? ? 此層還可實現物聯網解決方案與現有業務應用程序的集成,以連接企業業務流程或工作流。 例如,圖像火災監測系統,在發現監測設備故障信息后,通過與維護服務商現有的運維計劃系統集成,可以預約工程師到現場進行檢查。
? ? 下圖是微軟提供的一個物聯網工廠的應用界面樣例。
? ? 在該界面中,儀表板左側展示了生產線細節信息。如儀表板左側第一條,提示機械臂嚴重警告,而在儀表板中部的模擬界面中,同樣用紅色標出機械臂警告位置。在右側的報警欄,列出不同時間點的警告信息,如機械臂溫度警告等。而在儀表板下方,則展示該條生產線的整體效率信息。
? ??
微軟物聯網解決方案構架
? ? 下圖是微軟物聯網解決方案的較詳細的構架圖:
? ? 微軟的物聯網解決方案平臺,通過微軟的公有云 Azure 實現,即 微軟物聯網套件 Azure IoT Suite。設備通過 Azure IoT Hub 注冊和接入,然后可以使用微軟公有云 Azure 的各種強大的數據處理、存儲、分析、機器學習能力,構建所需的各類物聯網業務。
? ? 微軟物聯網解決方案通常至少會使用到如下服務:
? ? ?- Azure IoT Hub: 該服務提供設備到云和云到設備的消息傳送功能,并充當云和其他主要 IoT 套件服務的網關。 該服務使得可以從大量設備接收消息,并將命令發送給設備。 使用該服務,還能夠管理設備,例如,可以配置、重啟連接到 Azure IoT Hub 的設備,或對其執行恢復出廠設置操作。
? ? ?- Azure Stream Anzlytics: 流分析提供運行數據分析。 該服務處理傳入遙測數據、執行聚合以及檢測事件。 以及處理包含元數據或來自設備的命令響應的信息消息。 解決方案使用流分析來處理設備消息,并將這些消息傳送給其他服務。
? ? ?- Azure Storage 和 Azure DocumentDB: Azure 存儲和 Azure DocumentDB 提供數據存儲功能。 解決方案使用 Blob Storage 來存儲設備遙測數據并使其可用于分析;使用 DocumentDB 來存儲設備元數據,以及啟用解決方案的設備管理功能。
? ? ?- Azure Web App 和 Microsoft Power BI: 提供數據可視化功能。 借助 Power BI 的靈活性,可以快速生成針對具體業務要求的交互式儀表板。
? ? 微軟還給出了一些預配置解決方案和相關演示案例,有興趣的讀者可以點擊如下鏈接,通過實際操作了解上面截圖中的工廠物聯網使用場景:http://www.microsoftazureiotsuite.com/demos/connectedfactory?。
亞馬遜物聯網解決方案構架
? ? 而亞馬遜給出的構架如下圖所示:
? ? 亞馬遜物聯網解決方案當然強調其公有云平臺 AWS,而最受其推崇的,自然是當下正熱的 Serverless 構架的 AWS Lambda。
? ? 亞馬遜物聯網解決方案至少用到如下 AWS 服務:
? ? ?- Amazon Simple Storage Service:亞馬遜簡單存儲服務,簡稱 Amazon S3,提供可擴展的存儲服務。
? ? ?- Amazon DynamoDB:提供受管理的 NoSQL 數據庫服務。
? ? ?- Amazon Kinesis:提供大規模流數據實時處理能力。
? ? ?- AWS Lambda:在亞馬遜公有云平臺發布運行自定義代碼。
? ? ? ?ZStack創始人張鑫的文章《Serverless,后端小程序的未來》 比較透徹地講解了 AWS Lambda 及 Serverless 的原理、構架、應用場景、優勢和不足,并講述了Serverless與PaaS的區別、與容器技術的區別及聯系等,推薦一讀。
? ? ?- Amazon Simple Notification Service:亞馬遜簡單通知服務,簡稱 Amazon SNS,負責處理通知發送與接收。
? ? ?- Amazon Simple Queue Service:亞馬遜簡單隊列服務,簡稱 Amazon SQS,將數據存儲到隊列,由應用程序獲取。
? ? (看看人家,做那么大的生意,本星球/本星系第一啊,啥都謙稱為 Simple 簡單啥啥啥,另外,包括現在 IT 運維領域最重要的 SNMP 簡單網絡管理協議、電子郵件的 SMTP 簡單郵件傳輸協議......;看看我們,動輒 ×××、擎天、至尊,汗顏啊!慚愧啊!)
IBM 物聯網解決方案構架
? ? IBM 的物聯網解決方案名為 Watson IoT Platform,(永遠的沃森)。其構架圖如下所示:
? ? IBM 物聯網解決方案基于 IBM 公有云平臺 Bluemix,涉及到的服務至少包括:
? ? ?- IBM Cloudant NoSQL DB:用于存儲和訪問設備數據。
? ? ?- IBM Message Hub:為實時數據提供低延遲、可擴展的、高吞吐量的消息總線。
? ? ?- IBM Blockchain 集成:對于特定領域,可以集成 IBM 區塊鏈服務,以符合特定的商業規則要求。
? ? ?- 儀表板:利用 Bulemix 提供的數據可視化儀表板,可以可視化展示設備狀態數據,提供 BI 功能。
? ? IBM給出了一個簡單教程,可以快速搭建物聯網測試環境,可以參見https://console.ng.bluemix.net/docs/services/IoT/getting_started/quickstart/index.html#quickstart?
? ? 本講是本系列文檔的核心,用了比較多的篇幅講了業界領先的廠商的物聯網平臺。下一講,我們探討安全。
轉載于:https://blog.51cto.com/hiweb/1923406
總結
以上是生活随笔為你收集整理的物联网平台构架系列 (四):Amazon, Microsoft, IBM IoT 解决方案导论 之 平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【ionic App问题总结系列】ion
- 下一篇: 浅谈神经网络(一)