万物共享的物联网架构「建议收藏」

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

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

基于国外物联网大神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上。

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

 

小结

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192245.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java string 转 object_java 类型转换 Object和String互转

    java string 转 object_java 类型转换 Object和String互转Long,Float等Object转为String方法1.toString()使用范围:任何继承Object的类都具有这个方法但是,使用toString()的对象不能为null,否则会抛出异常java.lang.NullPointerException/**返回:该对象的字符串表示*/Integerx=newInteger(100);if(x!=null)System.out.printl…

  • ORA-01810:格式代码出现两次 解决方法

    ORA-01810:格式代码出现两次 解决方法

  • 支持向量机通俗导论(理解SVM的三层境地)

    支持向量机通俗导论(理解SVM的三层境地)

    2021年12月16日
  • linux基础-linux和unix的区别[通俗易懂]

    linux基础-linux和unix的区别[通俗易懂]有时候我们对天天使用的Linux指令,只知道怎么用,却分不清概念用法区别,我觉得很有必要整理整理大家熟视无睹的一些linux概念区别。首先说说unix和linux的区别:linux和unix的最大的区

  • 计算机组成原理:最详细笔记!

    计算机组成原理:最详细笔记!前言参考:《王道计算机组成原理》学习笔记总目录+思维导图2019王道考研计算机组成原理第一章计算机系统概述1.1计算机发展历程1.1.1计算机硬件的发展计算机系统=硬件+软件计算机硬件的发展:第一代计算机:(使用电子管),第二代计算机:(使用晶体管),第三代计算机:(使用较小规模的集成),第四代计算机:(使用较大规模的集成),已经经历了4代,计算机的速度越来越快,并且体积变得越来越小。发展趋势:更微型、多用途;更巨型、超高速晶体管之父:肖克利(1956年诺贝尔物

  • 不用go-(xxoo)agent的也有可能是程序员

    不用go-(xxoo)agent的也有可能是程序员记得是去年某个时候,在一个群里问大家是怎么翻(什么)墙的,发现很多人是用go-(xxoo)agent的,而我当时完全没听说过go-agent,因为我已经N多年不翻(什么)墙了,于是,有人就说:“连go-(xxoo)agent都没用过你还是程序员吗?”说实话,我也不希望我是程序员啊!可我真的没用过go-(xxoo)agent啊!想起我一位前同事,工作很多年了,却从来没用过linux!(也不知道他

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号