1物联网的架构
物联网是有设备、现场网关、云网关、应用程序后端组成,物联网涉及到了云计算、大数据、嵌入式、单片机等内容,而云网关使用可靠、低延迟的消息传递系统在云边界引入设备事件。设备可能会直接将事件发送到云网关,或通过现场网关发送。现场网关是一种专用设备或软件,通常与接收事件并将事件转接到云网关的设备位于同一位置。现场网关也可预处理原始设备事件,执行过滤、聚合或协议转换等功能。当这个消息引入后,事件将通过一个或多个流处理器,此处理器可将数据路由到存储等位置,也可执行分析和其他处理。这样就是物联网架构工作原理。
2物联网常见处理类型
物联网的常见的处理类型具体就是将事件数据写入冷存储,用于存档或批处理分析。然后就是热路径分析,实时或者近乎实时分析事件流,以检测异常,识别滚动时间范围内的模式,或者在流中出现特殊情况时触发警报。而在处理设备的过程中处理设备中特殊类型的非遥测消息,比如通知和警报。这里还涉及到到了机器学习。通过控制物联网系统的组件去进行设备的运转。
3物联网中有什么是需要注意的?
上面所提到的组件与事件流式传输没有直接关系,而设备注册表是预配设备的数据库,包括设备ID和常见的设备元数据,如位置信息。而预配 API 是一种常见的外部接口,用于预配和注册新设备。某些物联网的解决方案可使命令和控制消息发送到设备。这样就是物联网的常见处理类型。
在这篇文章中我们给大家介绍了大数据中物联网的架构和常见的处理类型的内容。物联网是现在科技发展的一个方向,有很多的生活用品都实现了万物相联,可见物联网的使用广度还是非常厉害的,有意向往这方面发展的朋友,一定要好好努力哟,相信将来一定学有所成,得到自己想要的人生。
物联网体系结构分为感知层、网络层和应用层这三层,物联网是指通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络。
物联网(InternetofThings,缩写:IoT)是基于互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。其应用领域主要包括运输和物流、工业制造、健康医疗、智能环境(家庭、办公、工厂)等,具有十分广阔的市场前景。最初在1999年提出:即通过射频识别(RFID)(RFID+互联网)、红外感应器、全球定位系统、激光扫描器、气体感应器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。简而言之,物联网就是“物物相连的互联网”。中国物联网校企联盟将物联网的定义为当下几乎所有技术与计算机、互联网技术的结合,实现物体与物体之间:环境以及状态信息实时的实时共享以及智能化的收集、传递、处理、执行。广义上说,当下涉及到信息技术的应用,都可以纳入物联网的范畴。
物联网四层体系结构及作用
1、感知层
感知层是物联网发展和应用的基础。感知层相当于物联网的皮肤和五官,完成识别物体、采集信息的任务。感知层包括二维码标签和识读器、RFID标签和读/写器、摄像头、GPS、各种传感器、视频摄像头、终端、传感器网络等数据采集设备。也包括数据接入到网关之前的传感器网络。RFID技术、传感和控制技术、短距离无线通信技术是感知层涉及的主要技术。
2、接入层
接入层由末梢节点和接入网关(Access Gateway)组成,完成应用末梢各节点信息的组网控制和信息汇集,或完成向末梢节点下发信息的转发等功能。这些末梢节点构成了末梢网络或传感网(由大量各类传感器节点组成的自治网络)。
3、网络层
网络层相当于物联网的神经中枢和大脑,实现信息传递和处理。网络层包括通信与互联网的融合网络、网络管理中心、信息中心和智能处理中心等,网络层将感知层和接入层获取的信息进行传递和处理。网络层也包括信息存储查询、网络管理等功能。
4、应用层
应用层相当于物联网的“社会分工”,即与行业需求结合,实现广泛智能化。应用层是物联网与行业专业技术的深度融合,与行业需求结合,实现行业智能化,这类似于人的社会分工,最终构成人类社会。
IOT网关,接收sensor数据的总入口,主要是日志,安全防护,流控,协议转换等功能,
图1 IOT网关
之前有提到IOT网关是基于python的twisted框架实现的,初期的时候该IOT网关主要实现的功能是 数据接收和转换功能 和 安全防护 。
数据接收和转换功能 ,这里很简单,拟定好数据交互格式后,IOT网关按照约定好的格式进行解析,然后转发给后端服务进行进一步的处理
安全防护 ,设备的区分主要是依靠烧录到硬件的SN号来实现,SN号包含的信息比较多,如生产批次,设备型号等,受制于厂商我安全防护不能做的非常完善,同时sensor与IOT网关的交互不能非常复杂。安全防护这一块理论上是设备接入要一型一密或者一机一密,协议上还应该启用tls/ssl安全通信协议。
图2 鉴权
安全防护要做ssl这类的安全通信协议的话,要考虑设备厂商实现通信模块能力,设备功耗,设备性能(低端设备cpu性能可能比较差,可考虑对称加密形式),IOT网关也需要引入相应模块。
另外认证从性能方面考虑,后期在设备比较多的情况下,可以加入redis等内存型key-value数据库,缓存设备信息,提高鉴权模块性能。
实践中,我们的sensor基本都是依靠电池供电,因此我们的IOT网关基本是面向短链接(后期我们有监测设备,依靠外部电源直接供电,为长连接),因此在每次发起连接我们都要进行一次鉴权,鉴权通过后,设备方可上传传感器监测数据和设备自身状态。
图3 数据交互流程
这一块的调试工作长达半年左右,才基本稳定下来,主要集中在设备商处除了硬件稳定性,还有在调试中发现传输的字符串乱码(c语言处理问题),沾包(厂商开发人员tcp协议不熟),优化传输效率,关闭cork或者 Nagle 算法(传输包很小)。
因为IOT网关不能主动断连接,理论 *** 作中,IOT网关应该和sensor有心跳协议,保证连接的有效性。设备商在数据流程交互完成后,竟然没有close 连接,直接休眠,导致网关所在服务器的连接的文件描述符一直没有正常释放,后面为了预防这种现象,我开启了 *** 作系统层面的keepalve定时器,回收失效连接(系统默认时间是2小时左右,我缩短了失效时间),理论上来说应该是应用层面去实现心跳协议。
整个IOT网关的设计,是无状态,可伸缩的,单网关在普通型ecs上可轻松达到数百tps。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)