万物共享的物联网架构_共享系统架构-程序员宅基地

技术标签: 架构  物联网  

前言

作为物联网领域最贴近用户的一个分支,智能家居行业在这两年持续火热。但是,除了智能家居外,物联网领域还有很多重要的组成部分:车联物流、智慧医疗、智慧社区、公共基础服务、智慧农业等。由于物联网的第一批先驱者往往都是从某个具体子行业转型过来的,对于物联网的认知也如盲人摸象,管中窥豹,很难有全局性的眼光。

基于国外物联网大神Daniel Karzel, Hannelore Marginean, Tuan-Si Tran的文章《A Reference Architecture for the Internet of Things》,结合作者在实际工作中的几个物联网项目,本文将描述一种物联网领域的层次结构,希望能帮助大家对物联网这个概念有更清晰的了解。

 

什么是物联网?

物联网的英文名称是”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上。

此产品结构的设计基本遵从物联网的层次结构,同时根据眼下的市场和技术条件进行了一些优化,具体的设计和实现将在下一篇文章中描述。

 

小结

虽然智能家居、车联物流、智慧医疗等行业十分火热,但是实际落地的项目却不是很多,相关的关联也基本没有,似乎众多厂商的终点还是在争夺入口和标准上面。

物联网的价值在于利用海量的数据给人服务,需要数据的共享才能发挥更大的价值,这是一场服务之争而不是标准之争。

作者的架构就是基于一种共享的理念建立的。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq393363125/article/details/51199399

智能推荐

Docker 快速上手学习入门教程_docker菜鸟教程-程序员宅基地

文章浏览阅读2.5w次,点赞6次,收藏50次。官方解释是,docker 容器是机器上的沙盒进程,它与主机上的所有其他进程隔离。所以容器只是操作系统中被隔离开来的一个进程,所谓的容器化,其实也只是对操作系统进行欺骗的一种语法糖。_docker菜鸟教程

电脑技巧:Windows系统原版纯净软件必备的两个网站_msdn我告诉你-程序员宅基地

文章浏览阅读5.7k次,点赞3次,收藏14次。该如何避免的,今天小编给大家推荐两个下载Windows系统官方软件的资源网站,可以杜绝软件捆绑等行为。该站提供了丰富的Windows官方技术资源,比较重要的有MSDN技术资源文档库、官方工具和资源、应用程序、开发人员工具(Visual Studio 、SQLServer等等)、系统镜像、设计人员工具等。总的来说,这两个都是非常优秀的Windows系统镜像资源站,提供了丰富的Windows系统镜像资源,并且保证了资源的纯净和安全性,有需要的朋友可以去了解一下。这个非常实用的资源网站的创建者是国内的一个网友。_msdn我告诉你

vue2封装对话框el-dialog组件_<el-dialog 封装成组件 vue2-程序员宅基地

文章浏览阅读1.2k次。vue2封装对话框el-dialog组件_

MFC 文本框换行_c++ mfc同一框内输入二行怎么换行-程序员宅基地

文章浏览阅读4.7k次,点赞5次,收藏6次。MFC 文本框换行 标签: it mfc 文本框1.将Multiline属性设置为True2.换行是使用"\r\n" (宽字符串为L"\r\n")3.如果需要编辑并且按Enter键换行,还要将 Want Return 设置为 True4.如果需要垂直滚动条的话将Vertical Scroll属性设置为True,需要水平滚动条的话将Horizontal Scroll属性设_c++ mfc同一框内输入二行怎么换行

redis-desktop-manager无法连接redis-server的解决方法_redis-server doesn't support auth command or ismis-程序员宅基地

文章浏览阅读832次。检查Linux是否是否开启所需端口,默认为6379,若未打开,将其开启:以root用户执行iptables -I INPUT -p tcp --dport 6379 -j ACCEPT如果还是未能解决,修改redis.conf,修改主机地址:bind 192.168.85.**;然后使用该配置文件,重新启动Redis服务./redis-server redis.conf..._redis-server doesn't support auth command or ismisconfigured. try

实验四 数据选择器及其应用-程序员宅基地

文章浏览阅读4.9k次。济大数电实验报告_数据选择器及其应用

随便推点

灰色预测模型matlab_MATLAB实战|基于灰色预测河南省社会消费品零售总额预测-程序员宅基地

文章浏览阅读236次。1研究内容消费在生产中占据十分重要的地位,是生产的最终目的和动力,是保持省内经济稳定快速发展的核心要素。预测河南省社会消费品零售总额,是进行宏观经济调控和消费体制改变创新的基础,是河南省内人民对美好的全面和谐社会的追求的要求,保持河南省经济稳定和可持续发展具有重要意义。本文建立灰色预测模型,利用MATLAB软件,预测出2019年~2023年河南省社会消费品零售总额预测值分别为21881...._灰色预测模型用什么软件

log4qt-程序员宅基地

文章浏览阅读1.2k次。12.4-在Qt中使用Log4Qt输出Log文件,看这一篇就足够了一、为啥要使用第三方Log库,而不用平台自带的Log库二、Log4j系列库的功能介绍与基本概念三、Log4Qt库的基本介绍四、将Log4qt组装成为一个单独模块五、使用配置文件的方式配置Log4Qt六、使用代码的方式配置Log4Qt七、在Qt工程中引入Log4Qt库模块的方法八、获取示例中的源代码一、为啥要使用第三方Log库,而不用平台自带的Log库首先要说明的是,在平时开发和调试中开发平台自带的“打印输出”已经足够了。但_log4qt

100种思维模型之全局观思维模型-67_计算机中对于全局观的-程序员宅基地

文章浏览阅读786次。全局观思维模型,一个教我们由点到线,由线到面,再由面到体,不断的放大格局去思考问题的思维模型。_计算机中对于全局观的

线程间控制之CountDownLatch和CyclicBarrier使用介绍_countdownluach于cyclicbarrier的用法-程序员宅基地

文章浏览阅读330次。一、CountDownLatch介绍CountDownLatch采用减法计算;是一个同步辅助工具类和CyclicBarrier类功能类似,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。二、CountDownLatch俩种应用场景: 场景一:所有线程在等待开始信号(startSignal.await()),主流程发出开始信号通知,既执行startSignal.countDown()方法后;所有线程才开始执行;每个线程执行完发出做完信号,既执行do..._countdownluach于cyclicbarrier的用法

自动化监控系统Prometheus&Grafana_-自动化监控系统prometheus&grafana实战-程序员宅基地

文章浏览阅读508次。Prometheus 算是一个全能型选手,原生支持容器监控,当然监控传统应用也不是吃干饭的,所以就是容器和非容器他都支持,所有的监控系统都具备这个流程,_-自动化监控系统prometheus&grafana实战

React 组件封装之 Search 搜索_react search-程序员宅基地

文章浏览阅读4.7k次。输入关键字,可以通过键盘的搜索按钮完成搜索功能。_react search