design\project\学习 IOT 读书笔记

链接:IoT Open Source Integration Comparison
链接:IoT Full Course - Learn IoT In 4 Hours
链接:IoT & Microservices in the Home
摘要:讲了边缘集成,比较老的视频了

在设备端的边缘计算承担一部分原本在云端的逻辑处理,减少云端的开销,获得更高的可用性,更低的延迟

IOT 概览

IOT概述

IOT 与分布式

IOT与微服务

IOT 主要业务

IOT业务概览

IOT 系统常见架构

IOT Achitecture

分布式系统的消息传递模型

时序模型:分布式消息传递系统的形式化模型有两个时序模型:

  • 同步模型
  • 异步模型
  • 通讯 Channel 模型
    • 在信息传递系统中,处理器通过一个通信信道发送或接收信息进行通信。信道 Channel 管理连接模式和拓扑结构
处理器Processors +本地状态 StateMachine +Channel的运行机制 +消息处理() 网络Network - Collection<Channel> channels 双向通信信道CommunicationChannel +连接模式 patternOfConnections +消息的拓扑结构ArrangeMent.消息发送方 +消息的拓扑结构ArrangeMent.消息接收方
  • 协作对象图
处理器Processors1 +信道1 处理器Processors2 +信道1 +信道2 +信道3 处理器Processors3 +信道1 +信道2 处理器Processors4 +信道1 +信道3 信道1 信道1 信道2 信道2 信道3 信道3 信道1 信道1
Processors2 +send() 双向信道2 +Processors2.outBuf(连接到物理通道) Processors3 +inBuf(传入消息队列)
消息传递模型与 nio

我们知道双向信道 Channel ,需要分别初始化消息发送方,和消息接收方

nio 其实很简单

  1. 消息接收方 register
  2. 等待消息发送方 register
  3. 读取消息
// 服务端 Processors 打开一个用于接收消息的 Channel,并注册该 channel
ServerSocketChannel serverChannel = ServerSocketChannel.open();
...
// 1. 消息接收方 register
serverChannel.register(this.selector, SelectionKey.OP_ACCEPT);
 
// 收到客户端请求链接事件,得到和客户端链接的 Channel
Iterator<?> ite = this.selector.selectedKeys().iterator();
if (key.isAcceptable()) {
	ServerSocketChannel server = (ServerSocketChannel) key.channel();
	SocketChannel channel = server.accept();
	// 2. 消息发送方 register
	channel.register(this.selector, SelectionKey.OP_READ);
}

// 得到了可读的事件,从双向信道连接到物理通道outBuf,读取数据
SocketChannel channel = (SocketChannel) key.channel();
// 3. 读取消息
channel.read(buffer);

iot 集成基础支持

iot 集成是对云平台的扩展和延申
iot 集成是流分析解决方案

发展趋势和挑战

预计到 2020 年,将有 200 一台 iot 设备,甚至更多,未来会有许多物联网平台
这些设备(平台)之间,需要相互通讯,交流

接入困难

  • 这些设备可能没有连接到云
  • 通讯很慢
  • 通讯有延迟
  • 连接不稳定,不可靠
  • 接入成本太高

没有统一的标准

由于有不同的用例场景、技术,导致了不统一的标准

  • MQTT, CoaP, OPC, US 等不同的通讯协议
  • 工作在不同的抽象层级上
    • 有的只是简单的消息
    • 有的对消息做了处理和转换
  • 没有一个单一的标准

体系结构

  1. Connectors 连接器
    1. Connectors 适配不同技术协议(JMS, MQTT, FTP)
    2. Connectors 适配不同应用(SAP, .com)
适配不同技术协议
JMS
MQTT
FTP
适配不同应用
.com
SAP
  1. 流程工具,用来构建集成过程

全世界有 300 多种不同物联网提供商

数据转换工具

集成流程可以在新系统和旧版本系统之间进行协议转换与集成

  • 过滤器
  • 基于内容的路由和聚合
  1. 我们还没有一个统一的集成方案
应用集成
Api-Management
iPass平台即服务
iSass应用即服务
边缘集成
Edge-Integration

集成方案(推荐边缘集成)

你不总是拥有 云云服务,但是你总是拥有 边缘到边缘的集成
Keep the data closer to the edge 就近存储
获得更低的延迟,更高的可用性,降低通讯成本

  • 传统的集成方式
设备
网关
  • 现代集成方式
设备
网关
  • 在设备端的边缘计算承担一部分原本在云端的逻辑处理,减少云端的开销,获得更高的可用性,更低的延迟

种类

  • dataflow pipeline
    • Extract ,Transform, Load
      • Filter, Router, Aggregate, Enrich……
    • 有点像 ETL 的过程
    • 具有很好的吞吐率
    • 没有事件机制支持
    • 开源的方案有 Apache NIFI, Stream Set, Cask Hydrator
  • Stream processing
    • 整合设备,区别于将数据从A 发送到B ,你将数据整合和汇总
    • 机器学习,用于分析预测
    • R 语言,Spark,flink,SAS,Matlab,h2o
  • ProcessEngine(重点)
    • 区别于将数据从A 发送到B 或者是为了分析数据
      • 在边缘计算场景,您真正想在边缘执行逻辑管理和设备的激活
    • 边缘整合,intergration at the edge
    • 整合和编排不同的数据源
    • 连接硬件、API 、在线服务
    • Transfer,fileter,route,aggregate, Enrich……
    • 错误处理,重试,重新路由 ReRoutor,Wait,Resume……
    • 通常是实时处理
    • 流程编辑

开源 IOT 集成方案推荐

他们都是开源的

Eclipse Kura

  • 是一个很棒的网关

IBM Node-RED

  • 重点在设备集成
  • 可以在 树莓派上完整的运行,但是在其他资源受限的设备上支持不够良好

TIBC Flogo

  • 未完待续
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值