opentech presentation

23
物物物物物物物 物物物物物物物物物物 陈陈 , 陈陈陈陈陈陈 陈陈陈陈陈陈陈陈陈陈 [email protected] 2014.12.18

Upload: ling-chen

Post on 10-Aug-2015

96 views

Category:

Documents


2 download

TRANSCRIPT

物联网基础架构:设备接入与大数据分析

陈岭 , 资深项目经理,微软开放技术有限公司[email protected]

Table of Contents

云服务面临大规模设备接入挑战

新的解决方案: Event Hub 服务

Event Hub 安全模型

云服务面临大规模设备接入挑战

可变速率 可预测和不可预测

的突发

事件流的特性千变万化

t

Inactivity

Period

Com

pu

te

On and offOn and off workloads (e.g. batch job)Over provisioned capacity is wasted.

t

BurstsPeaks due to periodic increased demandIT complexity and wasted capacity.

Com

pu

te

Halo 4 在线游戏数据(一周的统计数据)

事件发生率各式各样设备信息温控传感器每十五分钟上报一次数据智能汽车每分钟上报一次数据

应用的信息应用的性能监测服务每秒钟上报数据到服务器移动应用捕获并上报你的每一次操作 !

应用和运维的信息Halo 游戏引擎每秒要处理 1,000,000 消息

事件的来源种类繁多

1B

智能电视

2.5B

个人电脑

>5B

智能手机和平板电脑

>10B

物联网

数据来源 : Gartner, IDC, Strategy Analytics, Machina Research, Company filings, BI Intelligence, Accenture analysis

盈利模式1. 内容2. 设备

1. 设备2. 应用

1. 设备2. 应用与服务

1. 垂直领域中的服务2. 设备

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

IoT 的影响力

Grid

Renewables

Oil/Gas/Coal Recovery and

Distribution

Pointsof Sale

Restaurants

Hotels

FuelStations

Patients

Clinics

Hospitals

NursingHomes

MobileCare

SafetySecurity

ComfortLighting

Automation

Manufacturing Integration and

AutomationRemote

Servicing

Predictive and Reactive

Maintenance

Water

Waste

PollutionControl

Fire

Emergency

PublicSafety

Law Enforcement

Letters

Packages

Containers

Tanks Bulkware

Games

Events

Sports

TelevisionStreaming

Traffic Buses

Cars

Trucks

Trains

Vessels

Aircraft

Bikes

智慧能源

智慧零售

智能移动

智慧物流

智慧工厂

智慧城市

智慧娱乐

智慧医疗

智能建筑/ 家居

对云服务的挑战设备接入服务必须能够支持

高并发性 ( 如超过百万级的并发设备接入 )高速率 ( 如每秒超过百万事件 )高吞吐量 ( 如每 100 秒处理超过 TB)

同时还要支持事件缓冲来提高可用性 持久性低处理延迟高安全性

最后还要价格合理!

Grid

Renewables

Oil/Gas/Coal Recovery and

Distribution

Pointsof Sale

Restaurants

Hotels

FuelStations

Patients

Clinics

Hospitals

NursingHomes

MobileCare

SafetySecurity

ComfortLighting

Automation

Manufacturing

Integration and

Automation

RemoteServicing

Predictive and Reactive

Maintenance

Water

Waste

PollutionControl

Fire

Emergency

PublicSafety

Law Enforcement

LettersPackages

Containers

Tanks Bulkware

Games

Events

Sports

TelevisionStreaming

Traffic Buses

Cars

Trucks

Trains

Vessels

Aircraft

Bikes Smart Energ

y

Smart Retail

Smart Mobili

ty

Smart Logist

ics

Smart Facto

ry

Smart Cities

Smart Entertain-

ment

Smart Healt

h-care

Smart Buildi

ng Home

ڳ AzureҸ к߄ И Ӂ H߫ߣ הה展示与行为

-

搜索,查询

数据分析(Excel)

Web/数据可视化(Dashboard)

永久性存储

外部数据源

Azure存储服务

事件处理

实时分析

批处理/存储适配

事件导入(代理)

Scalableevent Broker

Field Gateways

事件收集

Cloud Gateways(WebAPIs)

Applications

Devices

新的解决方案: Event Hub 服务

Event Hub 是大规模数据接入服务 设备容量 :  通过 HTTP/AMQP 可接收超过百万的数据源(设备) 处理速度 :  每秒处理超百万的事件输入吞吐量 : 超过 GB/s

输出 :  发布-订阅模型,可并发连接多个用户应用安全性 :  基于 SAS ,每个发布者有唯一的令牌事件缓冲 :  每个用户的应用拥有自己的指针和偏移量持久性: 每个事件可保留 1~7 天处理时延: 端到端 50ms 内价格 : PaaS 模式,按实际使用量计费

Event Hub 在物联网中的应用场景展现与操作数据改造事件代理 永久性存储事件采集事件源

设备

嵌入式设备( 如 RTOS)

支持 IP 的设备(Windows/Linux)

用户处网关设备

Event Hub

传统物联网( 私有协议 )

协议转换网关

AMQP/HTTP C, .NET, Java…

MQTT/COAP/Custom

定制数据的保留时间 ,用户分组 ,

接收者分区 ,检查点 ,

分区分发 API

低处理时延方便集成分析平台与服务

定制代码流分析Storm

存储适配器

可以配置的存储服务适配器

App 监控

数据分析

状态监控

Dashboard

服务

搜索

分布式事件跟踪

-

用户应用AMQP/HTTP, C, .NET,

Java…可根据吞吐量和并发数量扩展

Azure 数据库

Azure 存储

HDInsight

Event Hub 如何采集事件事件就是设备和应用上传的消息Event Hub 以”分区”( Partition )为接收单元一个分区就是就是一个事件队列

• 一个 Event Hub 服务包含多个分区

• 分区之间相互独立

<256KB

Event Hub 事件采集的高扩展性

设备发送到 Event Hub 服务的事件包含分区键值 (Key)

Event Hub 通过静态哈希函数将事件分发到分区如果发布事件时未指定分区键,则会使用循环分配或者其他(如根据地理位置)属性分配

Event Hub 的流量控制Event Hub 的流控通过流控单元实现输入流控: 每个单元限定 1MB/s或 1000 events/s输出流控: 每个单元限定 2MB/s

Event Hub 如何传递消息到使用者• 从 Event Hub读取事件数据的任何实体称为事件使用者• IoT 场景下,事件使用者就是 IoT 应用的后台服务• 事件使用者通过使用者组中的分区读取事件流

AMQP 1.0

Event Hub 如何支持故障转移和弹性Event Hub 的分区支持偏移量 ( Offset )• 偏移量是事件的编号• 事件使用者可以在事件流中指定

要从其开始读取事件的点

Event Hub 的分区支持检查点 ( Check pointing )• 检查点记录分区中的事件处理的状态• 当一个使用者发生故障的时候,备份的使用者可以从检查点开始,继续

处理未经处理的事件• 多个使用者可以并行处理同一分区内的不同事件

Event Hub 安全模型

Event Hub 发布者

发布者是设备接入 Event Hub 服务的端点

发布者具有接入控制和流控的功能

每个设备都把消息发送给发布者

每一个发布者有唯一的 URL:

contoso.servicebus.windows.net/myEventHub/publishers/dev-01

Event Hub

publisher“dev-01”

device“dev-01”

publisher“dev-02”

device“dev-02”

publisher“dev-n”

device“dev-n”

基于令牌的安全模型每一个设备都有自己的共享访问签名 (SAS) 令牌

设备长期持有令牌

设备在发送的每条消息里携带令牌

发布者根据令牌授权设备接入

设备通过下列方式之一获得令牌 :

离线获取并烧入设备 .

通过用户的配置服务获取令牌

所有的令牌都被分配一个密钥

分配密钥所有的令牌都被分配了一个密钥密钥保存在 Event Hub 服务中,用于验证令牌设备不知道密钥密钥永远不会在网上传输

实时大数据分析 – 待续。。。

共享资源

Learning

Microsoft Certification & Training Resourceshttp://azure.microsoft.com/en-us/services/event-hubs/

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Sessions on Demandhttp://channel9.msdn.com/Search?term=event%20hub#ch9Search

Developer Network

http://developer.microsoft.com