前言
作为物联网领域最贴近用户的一个分支,智能家居行业在这两年持续火热。但是,除了智能家居外,物联网领域还有很多重要的组成部分:车联物流、智慧医疗、智慧社区、公共基础服务、智慧农业等。由于物联网的第一批先驱者往往都是从某个具体子行业转型过来的,对于物联网的认知也如盲人摸象,管中窥豹,很难有全局性的眼光。
基于国外物联网大神Daniel Karzel, Hannelore Marginean, Tuan-Si Tran的文章《A Reference Architecture for the Internet of Things》http://www.infoq.com/articles/internet-of-things-reference-architecture,结合作者在实际工作中的几个物联网项目,本文将描述一种物联网领域的层次结构,希望能帮助大家对物联网这个概念有更清晰的了解。
什么是物联网?
物联网的英文名称是”Internet of Things”,也就是我们经常看到的IOT,从字面意思上来看是“物物相连的互联网”。互联网解决的是人人互联的问题,而物联网解决的不仅是物物互联,还有人物互联。
物(Thing)是一个抽象的概念,它既可以代表一个温度传感器、一个开关面板,也可以代表一部空调、一台挖掘机,甚至可以代表一个小区、一座城市:物的定义取决于我们的用例。
在作者看来,物联网是一个现实世界与虚拟世界的交叉口,它从本质上解决的是虚拟操作和现实联动的行为映射关系。
物联网的基本对象
1.从功能属性上来看,物联网的基本对象是物的行为:
物(Thing) = n * 行为(Action)
行为是用来衡量物能力的重要参数,它决定了物本身可以实现什么、可以为其他物提供什么、可以从外界获取什么。
行为(Action) = n * 情境(Situation) + 目标(Goal)
情境是在特定环境下,物表现出的自然属性,目标则表述了这个自然属性的意义,如2016年4月19日星期二,在杭州市西湖区XXX街道XXX号的王麻子家中,温度传感器显示25℃;而单纯一个温度传感器显示25℃的信息是没有任何的参考价值的。
正是由于行为概念的引入,我们实现了虚拟和现实的第一次映射。
2.从自然属性上来看,物联网的基本对象是构成物的设备:
物(Thing) = n * 设备(Device)
设备大致分为传感器(Sensor)、控制器(Controller)、运算器(Calculator)、存储器(Memory)和标志(Tag)五种,它们以某种的方式进行组合,组成了一个完整的物。
设备是物联网的起点和终点,所有行为的发生和完成都离不开设备——情境就是设备在一定条件下的表现。
物联网的层次结构
图描述的是一种“两头开放,纵向分层,横向管理”的物联网层次结构,可以描绘出非常多元化的业务场景。
设备接入层、设备管理层和数据仓库一般发生在网关或者是PAAS服务器上,主要用途是数据采集;行为管理层、物物互联层一般位于SAAS服务器上,用来实现某些具体的数据模型;服务集成层是对数据进行变现,可以是一个APP也可以是一个O2O服务。
为了方便理解,可以将这个模型嵌套在智能家居行业上,人->物的流程可以认为是单控,物->物物互联层->物的流程可以认为是场景联动。
1.设备接入层
设备管理层主要是解决最底层的接入和通讯问题,包含设备发现、设备驱动和设备通讯三大组件。
设备发现又分为两个部分:主动发现,接到高层次下发的搜索设备指令,在当前环境下搜索附近的设备;被动发现,设备通过某种协议向设备接入层发送入网请求。智能家居系统的添加设备基本是两种方式的混编:设备上电或者重置后向系统发送入网请求,并等待用户确认;网关或者手机也主动或定时扫描附近设备。
设备驱动是负责定义特定的通讯协议和控制协议,以保证设备可以正常运行。在某些使用云端透传技术的系统中,设备驱动只需要定义通讯协议。
设备通讯起到了设备接入层和设备管理层交互的桥梁作用,同时需要与设备组建交互,对通讯内容进行解析。
对于大多数的物来讲,往往是多个设备通过内部的预处理统一了接口,所以接入过程较为简单。
2.设备管理层
设备管理层主要负责控制设备和获取设备状态,并转化为标准数据,由设备注册、设备通讯和协议转换三大组件组成。
设备注册是在系统中注册已连接上的设备,包括分配空间、添加描述和基本信息等。
设备通讯用以下达控制指令和获取设备状态。
协议转换是一个非常重要的组件,负责将设备元数据转化为标准数据,用作上层组织业务、数据分析等。协议转换需要跟透传模块结合,在PAAS云配置脚本解析模块,采用Wifi/GPRS方式联网,是目前最普适、轻量的设备智能化解决方案。
设备管理层是物联网系统中最重要的一层,直接决定了系统的强度。这一层在实现上通常会带来一个问题:云核心还是网关核心?这个答案要根据具体要实现的业务决定:对于智能家居来说,用户所希望的一种更方便的生活方式,网关系统的局域网集群控制、基于机器学习的自动化等特性会带来更好的体验;对于车联物流来说,车与车之间的空间距离较大,车本身产生的内容有限,云核心无论从成本还是效果都是一个不错的解决方案。
对于市面上多数的云服务提供商,实际上解决的也是设备管理层的问题,并提供了一些简单的业务处理逻辑,帮助厂商进行简单的智能化改造。
3.数据仓库
数据仓库存储着关于物的所有数据,既包括设备数据又包括行为数据。
从实现角度上,数据仓库可以不唯一:设备数据一个仓库,行为数据一个仓库。设备数据作为物联网系统的基本数据,可以供多个行为甚至是服务进行调用,具有唯一性;而行为数据更多是根据业务需求所设定的,具有多元性。例,三合一传感器的移动传感器数据,可以作为回家模式的联动条件、也可以作为安防模式的触发条件。
4.行为管理层
行为管理层定义了系统的核心业务逻辑,由规则定义、情境定义、情境池、行为定义和行为池组成。
规则定义明确了创建情境、行为的标准,并评估各情境、各行为之间是否可以集成。
情境定义创建了一个具体的情境,并存入数据仓库,发布到情境池中。
情境池保存着已经创建成功的情境,供其他情境集成组成行为。
行为定义创建了一个具体的行为,行为中可以包含多个情境,但只能有一个目标。例,冰箱冷藏室温度调到6度,需要温度传感器和制冷机的配合。
行为池保存着已经穿件成功的行为,供物物互联组成具体的业务逻辑。
到了这一层,我们可以完整的描述一个物的形态、能力和运作模式,为物物互联提供了基础。对于一个物来说,规则定义衡量了其智能化的水平,对于简单的传感、开关类物,规则定义只需要定义其控制点和传感点;而对于复杂的物比如冰箱、汽车等,规则定义就会相对繁琐;对于更高级的物,如机器人等,规则定义甚至需要人工智能、数据发掘等高级算法。
对于智能家居行业来说,行为既可以包括单控、又可以包括联动。无论是单控还是联动,都是描述物本身能力的属性,特别是体现于功能较为复杂的黑白电上。
5.物物互联层
物物互联层解决了物物之间的发现和通信问题,从本质上来讲是实现管理维度。包含物物通讯、行为匹配、发现机制和标签系统四大组件。
发现机制负责找到其他物并建立关联。
行为匹配用以判定物物之间的集成深度。
物物通讯负责进行物和物之间的通信,并进行协议转化。
标签系统提供了管理物的多种维度,通过自定义标签达到对物的分类和管理,如位置标签、时间标签、功能标签等,。
物物互联层是真正实现物联网概念的一层,这层以下可以完整的实现物物互联的概念,甚至对于及其简单的物和业务需求来说,这一层就可以解决问题。但是,物联网的最终目的是服务于人,所以实际上还需要实际的人机交互进行内容的变现。
6. 服务集成层
服务集成层解决了人和物的互联,分为人机界面、实体服务和服务模型三大组件。
服务模型定义了物进行内容变现的方式,如为人机界面提供借口、数据提供给某个实体服务等。
人机界面提供了一种与用户交互的方式,可以是一个APP、一个公众号或是一个网页。
实体服务是用户实际上最希望得到变现模式,通过感知发现用户需求,并直接选择合适的实体服务,省区了繁琐的用户交互过程,一步到位:如感知到牛奶没了,自动联系生鲜配送。
如同互联网诞生了B2C,O2O,D2C等先进的商业模式一样,物联网本身只有一个平台属性,没有服务模型的落地物联网只是一纸空谈,所以炒物联网的概念是没有意义的。
7.安全机制
安全机制需要贯穿在整个物联网系统里,但是在各个层级的实现方式是不同的:
设备接入层:体现在设备本身的处理能力上,如果一个设备本身就计量就是一个不准确的,也无法承担加解密所需的计算能力,那么安全根本无从可谈。
设备管理层:体现在通信的安全,如通道加密、数据加密、密钥、心跳连接和验证、授权流程的复杂性。
数据仓库:体现在数据的真实性,如数据同步、SQL注入等。
行为管理层:体现在情境和行为的可行性,如死循环检测、互斥条件检测、模糊条件等。
物物互联层:体现在管理的有效性,如恶意设备的加入、行为交互深度(无限执行某联动,触发其他物的性能极限)。
服务集成层:体现在用户行为和逻辑服务的严谨性,如钓鱼攻击、数据堵塞、反向编译代码、抓包等。
安全是阻碍物联网发展的最核心因素之一,不仅关乎到用户信任关系的建立,还直接影响到开发和运营的成本。安全机制的设置需要综合权衡可行性、商业价值和实际需求等多方面因素。
8.管理机制
管理机制的目的是提高系统的性能,各层对管理机制的大体思路是一致的:
采用“池”结构:采用数据池、连接池等缓存常用的数据,优化创建和使用的逻辑。
统一标准:通过协议转化统一元数据的标准,优化数据解析和封装的时间,精简数据结构。
连接复用:合并常用的接口,减少数据请求的浪费;将一个小生命周期的多个短链接请求合并为一个长链接,减少建立连接的时间。
缓存机制:消息缓存、图片缓存、IO缓存等。
管理机制是一个长期迭代的过程,性能标准会随着系统的更新而不断提高。
一种物联网的云平台产品架构
上图描述了一个物联网的云平台产品结构,产品的模式是采用网关和云端的双核心,网关直接管理PAAS服务器上注册过的智能硬件产品,以原生的方式展现在超级APP上;第三方的智能硬件可以采取云端透传的方式发送到SAAS服务器解析,以HTML5的方式展现在超级APP上。
此产品结构的设计基本遵从物联网的层次结构,同时根据眼下的市场和技术条件进行了一些优化,具体的设计和实现将在下一篇文章中描述。
小结
虽然智能家居、车联物流、智慧医疗等行业十分火热,但是实际落地的项目却不是很多,相关的关联也基本没有,似乎众多厂商的终点还是在争夺入口和标准上面。
物联网的价值在于利用海量的数据给人服务,需要数据的共享才能发挥更大的价值,这是一场服务之争而不是标准之争。
作者的架构就是基于一种共享的理念建立的。