温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
采集
设备
接入
框架
设计
实现
马铭钖
www.ChinaAET.comComputer Technology and Its Applications计算机技术与应用采集设备接入的框架设计与实现马铭钖,张丛旭,邵武长,焦冬冬(华北计算机系统工程研究所,北京 100083)摘 要:随着嵌入式技术和网络通信技术的快速进步,物联网近些年来也有很大的发展,大量不同类型的终端设备都需要接入到网络中。但整个物联网结构从物理层、网络层再到应用层,每层之间采用不同的通信协议,这大大增加了集成系统实现的困难。提出一种支持自定义协议、多种终端设备的物联网接入框架的设计方案,并据此研制软件系统。通过自定义协议接入不同的设备,增强系统的扩展性和互操作性,并可以灵活处理设备的数据与事件。关键词:物联网;接入;终端设备;传输协议中图分类号:TP38 文献标志码:A DOI:10.16157/j.issn.0258-7998.222723中文引用格式:马铭钖,张丛旭,邵武长,等.采集设备接入的框架设计与实现J.电子技术应用,2023,49(3):130-133.英文引用格式:Ma Mingyang,Zhang Congxu,Shao Wuchang,et al.The design and implementation of a framework based on collection device accessJ.Application of Electronic Technique,2023,49(3):130-133.The design and implementation of a framework based on collection device accessMa Mingyang,Zhang Congxu,Shao Wuchang,Jiao Dongdong(National Computer System Engineering Research Institute of China,Beijing 100083,China)Abstract:With the rapid development of embedded technology and network communication technology,IoT has also developed greatly in recent years,and a large number of different types of end devices need to be connected to the network.However,the whole IoT structure from physical layer to network layer to application layer has different communication protocols between each layer,which greatly increases the difficulty of implementing an integrated system.This paper proposes a design scheme to support custom protocols and multiple end devices for IoT access,and develop a software system accordingly.Accessing different devices through custom protocols enhances the scalability and interoperability of the system,and allows flexible handling of device data and events.Key words:Internet of Things;access;device;transport protocol0 引言目前物联网与传统产业深度融合已进入崭新阶段,工业制造领域的转型升级成为工业物联网发展的重要动力,工业物联网表现出六大典型特征:智能感知、泛在联通、精准控制、数字建模、实时分析和迭代优化13。世界各国纷纷发布相关的战略规划,抢占发展先机,加快发展建设工业物联网也是我国实现从制造大国向制造强国转变的重要举措4。工业物联网体系架构通常分为四部分:终端设备、连接、服务和应用。终端设备指现场的传感器、执行器、网关、连接有端到端连接、端到云连接等,服务包括数据存储、分析集成等,应用指第三方接入5。工业架构图如图1所示,在传统工业中,工业信息化建设程度低,各信息系统相互独立封闭没有互联互通,大规模采集数据困难,大量数据无法存储并进行分析应用6。本文针对目前工业物联网所面临的设备接入问题,提出解决方案。(1)设备通信协议由于终端设备种类众多,遵循的通信协议不一致,传统方式通过标准协议或协议解析插件方式接入,虽然支 持 协 议 扩 展 但 是 需 要 大 量 开 发 工 作,具 有 一 定 难图 1工业架构图130Computer Technology and Its Applications计算机技术与应用电子技术应用 2023年 第49卷 第3期度7。本文所设计方案通过定义协议统一描述语言,设计基础协议解析框架,采取可视化方式实现协议解析动态扩展,从而提高通信协议适配灵活性。(2)设备接入管理一般工业现场,接入设备的类型和数量经常面临调整,因此物联网平台架构需要支持可拓展接入新类型设备。本文设计了一种新设备接入的解决方案,通过预配置设备模型模板、协议模板自动匹配实现设备的快速接入8。1 背景技术介绍系统实现采用微服务架构,将系统业务功能分解到多个独立运行的子系统,子系统按需组合可以更灵活地处理大规模设备接入9。本解决方案中微服务架构采用Spring Cloud 框架,提供分布式配置管理、服务注册与发现、路由、负载均衡、熔断器集群监控等功能10。考虑到不同的消息传输数据量及时延需求,采用 KAFKA 与MQTT 结合的方式构建消息中间件,实现海量实时数据的上报1112。为保证分布式应用配置信息一致性,系统基于 ZooKeeper 实现一致性软件模块,用于各节点间同步配置信息。2 系统设计系统设计由管理物联网的平台层、传输数据的通信层、采集数据的边缘层与设备感知层构成。系统架构图如图 2 所示。其中边缘层是本文设计重点,边缘层包括系统管理、安全服务、设备模型、自定义协议、数据解析引擎等功能模块。系统管理主要包设备管理、接入配置管理、属性管理设备模型管理、插件管理和元数据管理。设备管理是对系统设备静态信息的统一管理。设备是由设备模型的属性、采集点信息关联组成的,设备采集将引用这些信息。接入配置管理用于对采集设备的数据接入配置,以及设备接入链路的下发与撤销。根据不同的插件,设备的参数配置稍有不同。属性管理是通过对设备的采集内容的共性梳理,构建的设备标准化属性库,属性库主要为设备模型管理提供标准化的属性信息,可以作为各场景的采集属性进行规范化管理。元数据管理包括对元数据、元数据字段信息的管理和事件管理,元数据和事件可以根据数据接入需求进行配置,也可以由协议接入插件自动生成。元数据是设备属性数据总线的重要支撑。插件管理主要是对各类标准规约和非标规约的维护管理,该模块定义了上传插件的标准规范。当需要新增规约时,协议开发人员创建基本信息,按照开发标准将协议和配置文件封装成标准插件上传到平台,平台根据插件内容自动构建配置表。每个规约下可以关联多个设备模型,关联完成后系统基于上传的插件动态生成配置表单。安全服务包括对用户的身份认证、基于行为的权限认证、对敏感数据数据加密传输与存储、安全基线配置图 2系统架构图131Computer Technology and Its Applications计算机技术与应用www.ChinaAET.com以及系统安全异常处理等功能。设备模型是对于现实同类设备的抽象管理,通过设备模型功能关联属性信息。设备模型构建完成后,如果某个设备需要进行采集数据,只需要将设备导入到将该模型下即可继承模型的所有信息。系统支持各类模型构建,实现多类型设备的信息预置。该功能通过抽象方式实现了同类型设备的属性、采集信息的统一化管理,降低后续设备接入的难度和时间成本。自定义协议是由协议描述语言定义,包括自定义插件、转发数据规则、自定义采集数据的计算函数,采集设备模型与自定义事件。自定义协议根据协议模板对协议进行描述,通过文本引擎解析协议描述,对采集的二进制数据进行数据解析并进行数据计算。协议描述示例如图 3 所示,示例描述自定义协议的名称、参数及其相关描述。数据解析引擎功能是通过插件采集设备数据并转发到数据总线。采集任务下发时,数据解析引擎引用接入配置信息,根据配置信息加载设备属性和协议插件,数据解析引擎通过基础协议解析框架实现与设备通信和处理设备上报的事件,服务定时采集设备数据并转发到数据总线。采集数据到转发过程中设有数据缓冲区,用于解决 I/O 速度不一致问题。转发时可以根据需求预处理采集数据,对数据进行简单计算或数据格式处理,避免数据集中到上层服务处理带来过高的计算压力。数据解析引擎中包含插件管理容器,插件工厂生成插件实例,通过插件管理组件与监控组件管理插件生命周期,并支持对插件动态部署,实现新插件加载及系统热更新,插件之间采用隔离处理,通过对上层应用提供API 或者通过配置中心来控制插件的部署或卸载。3 系统实现为使系统具有良好的扩展性,在系统设计上采用责任链的设计模式,对请求发送者和接收者进行解耦,这种模式将请求分类,增强任务指派的灵活性,对于当前链上的处理者处理任务达到阈值时,将任务指派给下一层处理者。在实现时需要设定一些简单的类型约束,系统动态的增删类型以实现扩展性,请求发送者标明自己的类型,系统根据类型将请求分给对应的处理者。同类型设备被抽象成设备模型,系统通过配置协议对同类型设备进行识别和标注,从而对请求发送者和接受者进行解耦。本文主要介绍边缘层的实现,为了接入多种类的终端设备,会根据需求实现新协议插件。插件主要由两部分组成,一是符合规约的程序文件,包括通信协议程序和设备事件处理程序;二是配置文件,文件由预定义的协议描述语言构建,系统根据协议描述自动生成设备报文的元数据,在协议中描述设备事件的相关信息,包括事件名称和事件类型,事件类型分为开关型和数值型。插件通过协议管理模块上传到系统中,并动态生成表单。在很多已有的基于插件的软件或者系统中,系统加入新的插件可能需要系统重启。在工业场景中,系统的稳定性要求非常高,所以插件容器需要支持动态部署模式,管理协议插件的生命周期。为了能更高效地利用插件和减少插件的开发工作,可以将同类的设备绑定到一个协议插件上,协议插件根据配置解析不同的设备,设备和插件的绑定关系也由任务模块服务创建并保存,当任务下发时,插件容器从 Zookeeper 中加载每个插件的事件信息、插件驱动和插件与设备的绑定关系。目 前 系 统 中 已 实 现 3 种 协 议,包 括 MQTT 协 议、HTTP 协议和 UDP 协议。数据解析引擎会对应 3 种协议的规则和特点构建基础解析框架。为接入不同层级的设备,对于 HTTP 和 UDP 协议框架需要提供抽象的客户端和服务端,并根据指定端口的监听信息与发送符合协议格式的报文。在 MQTT 模块中,需要实现消息代理服务器、管理订阅者和对应主题发布消息的功能。系统实现上采用 Netty 框架实现 NIO 模型,对连接请求和数据读写请求进行异步管理,增强系统处理实时数据的性能。如果要支持其他协议,对应框架体系的设计也有良好的拓展性。框架通过预先定义的协议描述语言对协议进行解析。将符合标准的协议插件加载到引擎后,引擎可以解析到与设备通信的协议结构,协议描述语言是通过上一节中介绍的注解实现。注解的结构是对应系统支持的 3种传输协议,定义 HTTP 注解、MQT