定位
Murano是一个基于云的IoT软件平台,提供安全、可扩展的基础设施,支持端到端的生态系统,帮助客户安全、可扩展地开发、部署和管理应用、服务以及联网产品。
功能
- 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服务列表
通信类:
- Device:设备网关服务
- Email:Email服务
- Twilio:Twilio服务(短信和电话)
- Webservice :网关服务自定义API
- Websocket : WebSocket网关服务
核心类:
- Tsdb:时间序列存储服务
- Keystore :键值存储服务
其它类:
- Config :方案配置服务
- Timer :计时服务API
- User :用户管理服务
时间: 2024-10-07 01:54:41