國外物聯網平臺初探(五) ——Exosite Murano

定位

Murano是一個基於雲的IoT軟件平臺,提供安全、可擴展的基礎設施,支持端到端的生態系統,幫助客戶安全、可擴展地開發、部署和管理應用、服務以及聯網產品。web

 

功能

  • Murano平臺簡化了整個IoT技術棧,可視爲集成在一塊兒的多個雲軟件層。
  • Murano提供IoT基礎設施、開發環境和功能集成,包括設備鏈接、產品管理、數據路由、服務集成(如data store/告警/第三方分析平臺)、應用開放API、用戶認證/角色/權限和應用託管。
  • Murano容許與第三方軟件集成,開發者只須要關注用戶應用和設備應用。
  • Murano可以使開發者快速建立整個IoT系統,同時保持靈活性,容許添加新功能和自定義功能。

 

架構

 

產品層

Murano中的產品層表示聯網設備的類型,它提供工具和接口,以便管理產品定義,容許開發者使用通用API進行設備部署、業務開通、數據路由定義、現場升級和配置。開發者可以使用已集成的儀表盤原型快速建立設備並驗證設備行爲。數據庫

 

產品層功能

  • 設備管理:管理設備狀態、部署固件及升級、版本控制。
  • 設備鏈接&安全:使用TLS標準協議建立加密鏈接通道,開發者可快速鏈接設備並進行數據通訊。
  • 設備開通:安全、可擴展的開通接口知足OEM廠商在設備生產狀態和運行狀態下的靈活開通需求。
  • 開放訪問:兼容大多數嵌入式硬件配置。
  • 儀表盤工具:快速建立、配置和部署儀表盤,以即可視化設備數據。
  • 嵌入式SDK:ExositeReady™ 嵌入式SDK可以向大多數Wi-Fi和以太網嵌入式平臺進行移植。
  • 網關引擎:Exosite的網關引擎框架功能包括自動開通、設備管理、現場固件升級,以加速網關設計。
  • 開發資源:具有C、 C++ 、 Python 、 Java 、 .NET 、 Node 、 Go等語言的開源庫。
  • 數據模型:基於設備元數據、數據源、設備分組、訪問策略、流程環節、事件和告警,可以靈活地開發、維護和升級複雜的數據模型。

 

解決方案層

  • Murano中的解決方案層表示應用邏輯、用戶接口、應用API。利用設備數據,在數據路由、服務集成、自定義API、用戶認證/角色/權限和應用託管的基礎上,提供開發和部署應用及服務的工具,使開發者建立解決方案模板,包括整個部署到最終用戶的應用功能,以及產品的自定義API。

 

解決方案層功能

  • 角色&權限管理:已集成的用戶服務提供權限模型,包括認證、管理和角色定義等。
  • 自定義API:可自定義web-service API,根據設備數據,定義每一個解決方案的上下文環境、應用邏輯和設備/用戶訪問。
  • 應用託管:靜態應用文件託管使整個應用託管在Exosite上,Exosite提供技術支持和7*24監控。
  • 服務數據路由和事件邏輯:使用事件邏輯系統設置門限,調度服務經過短信、電子郵件或者HTTP發生告警。
  • 應用程序庫:豐富的應用程序庫便於設計、配置和部署原生應用。
  • 數據存儲:帶有時間戳的Key-Value存儲,全部數據在不一樣服務器上存有副本。
  • 分析引擎:提供實時數據流處理和自動處理,易於解析原始數據包及格式轉換。
  • 融合方案:利用Exosite的合做夥伴方案,或者自定義cloud-cloud鏈接,集成其它雲服務。
  • IoT超市:訪問大量的已集成的合做夥伴方案,加速IoT部署,全部的服務插件由Exosite託管。

 

業務層

  • Murano將聯網產品和方案徹底轉型爲數據驅動業務。使用企業級的功能特性,Murano無縫集成業務系統,釋放IoT的真正價值,加速企業轉型。

 

業務層功能

  • 管理控制檯:易於使用的管理工具,設定數據層面的方案配置。
  • 系統使用報表:分析、優化和理解資源使用模型,提供實施方案監控。
  • 方案模板:垂直應用模板用於產品定義、數據路由、用戶角色定義和應用內容,加速上市。
  • 業務軟件集成:使用第三方軟件,如:Salesforce、Twilio和其它CRM軟件,業務報表、分析工具和基於雲的調度和數據服務。
  • 方案監控:提供端到端的跨方案業務洞察,總體性能的深度可視。
  • 數據發現:使用數據瀏覽、可視化和導出工具,得到業務知識和運營洞察。
  • 訪問控制:決定誰可以查看和訪問不一樣帳戶層次的信息,快速和安全地建立層級結構和展現選項。
  • 安全管理:管理SSL證書和DNS,集成監控服務到Murano中,平滑和安全地進行IT運維。
  • 標準化工具:集成源碼控制工具,重用公共組件。

 

安全-多重防禦

  • 集成領先的安全框架,在全部敏感接口上採用銀行級的SSL加密方式
  • API端點使用socket層安全協議(SSL/TLS),防止數據竊取、篡改、僞造。
  • 用戶界面和Web應用使用HTTPS加密通訊,保護數據交換的隱私和完整性。

 

安全-數據存儲

  • 多層次安全模型保證數據存取安全策略的執行
  • 限制數據服務器的物理訪問,現場監控物理設施,提供多重身份認證和安全日誌
  • 用戶數據訪問受到嚴格控制,每次請求必須經過認證,訪問與用戶數據進行隔離。

 

安全-用戶認證

  • 用戶認證嚴格控制平臺訪問,權限分層易於多維度信息訪問受權,基於用戶權限級別生成API臨時祕鑰。
  • 安全存儲敏感用戶信息、密碼和令牌。

 

安全-設備認證

  • 禁止沒有受權狀況下平臺和終端的任何數據交換。
  • 全部設備使用私鑰與平臺進行數據交換。
  • 配置時爲防止欺騙,現場設備在受控的時間窗口內,使用加密的API通訊(DTLS和TLS),與平臺創建認證。
  • 一旦設備經過認證,創建其擁有權和權限層級。

 

設備SDK

爲減小開發時間,ExositeReady™ 嵌入式SDK提供商業級終端軟件快速安全地鏈接硬件設備。安全

 

設備SDK功能

  • 設備移植:ExositeReady SDK提供將現有配置向新硬件平臺的移植。
  • 示例程序:瀏覽Demo查看移植方法。
  • 支持的硬件平臺: ExositeReady認證的硬件包括開發指南、示例程序和二進制編碼文件。
  • 集成API:提供易於集成的應用級API。
  • 庫級API: ExositeReady認證的硬件預置鏈接Exosite雲平臺的功能。
  • 安全鏈接: ExositeReady認證的硬件採用了最新的安全標準。
  • 開源:ExositeReady SDK是開源軟件,基於Apache 2.0許可徹底免費。
  • 代碼可移植性:使用C99編寫,ExositeReady SDK可以使用在任何嵌入式平臺上。

 

設備網關引擎

ExositeReady™ 網關引擎是一個軟件包,便於快速安全地在終端節點、網關和Murano平臺之間通訊。服務器

 

設備網關引擎功能

  • 應用託管:開發和監控自定義網關應用、版本控制、重啓和失敗定義、調試日誌存取。
  • OTA升級:使用安全可靠的OTA引擎,遠程安裝和升級網關固件和應用。
  • 網關數據採集:監控重要的網關信息,如硬盤使用率、文件系統元數據、移動網絡數據流量使用,易於調試和預測潛在問題。
  • 消息隊列:使用靈活的存儲-轉發式的HTTP服務,避免斷電或不可靠鏈接引發的數據丟失。
  • 過程和日誌管理:經過開源的流程管理工具和監控系統,記錄重啓過程和日誌文件。
  • API庫:使用安全和已驗證的API庫,加速開發Python應用。
  • 模塊化傳感器接口:利用內置的傳感器驅動,或添加和擴展I/O接口,知足實際需求。
  • 可插拔式服務接口:使用內置的雲模塊,將設備數據路由至Murano平臺,易於集成其它現場業務管理系統。

 

設備HTTP API

  • 設備固件和應用必須使用此API開通業務,以及與平臺進行交互。

時間序列數據類API:網絡

  • Write:向一組資源寫入數據
  • Read:從一組資源讀取最新數據
  • Hybrid Write/Read:先寫入一組資源,而後讀取一組資源
  • Long-Polling:當有資源更新時,及時發出通知

設備開通類API:架構

  • Activate:激活設備並獲取設備CIK
  • List Available Content:獲取設備內容文件列表
  • Get Content Info:獲取設備內容文件的元數據
  • Download Content:下載設備內容文件

工具類API:框架

  • Timestamp:獲取當前unix格式時間戳

 

Murano腳本

  • Murano平臺是一個事件驅動型系統,使用腳本路由數據,並執行應用邏輯和規則。
  • Murano腳本:
    • 具備豐富的功能,用於存取設備數據至時間序列數據庫、執行設備任務、處理方案應用API請求等操做。
    • 可訪問全部Murano服務。
    • 使用Lua語言編寫,運行在LuaJIT虛擬機。
    • 可以使用管理控制檯或者命令行接口添加至解決方案。

 

Murano腳本相關概念

  • 服務調用:Service Call
  • 腳本執行和事件處理:Script Execution & Event Handlers
  • API端點腳本:API Endpoint Scripts
  • Websocket腳本:Websocket Scripts
  • 腳本模塊:Modules
  • 腳本環境:Script Environment

 

Murano服務

Murano服務可被腳本訪問,由2種不一樣的組件構成:操做和事件。運維

  • 操做Operations:可在腳本中調用的方法 
  • 事件Events:可觸發腳本執行

 

Murano服務列表

通訊類:socket

  • Device:設備網關服務
  • Email:Email服務
  • Twilio:Twilio服務(短信和電話)
  • Webservice :網關服務自定義API
  • Websocket : WebSocket網關服務

 

核心類:模塊化

  • Tsdb:時間序列存儲服務
  • Keystore :鍵值存儲服務

其它類:

  • Config :方案配置服務
  • Timer :計時服務API
  • User :用戶管理服務
相關文章
相關標籤/搜索