基于热插拔的物联网平台

2019-09-25 13:22卢永华
数字技术与应用 2019年6期
关键词:可扩展性插件物联网

卢永华

摘要:目前市场上存在各种各样的物联网设备,导致了每个厂家的数据形成了数据孤岛,采集这些设备的回传数据也成了实施项目中的难点。所以针对这种现状,开发了一种基于热插拔式的物联网平台,能够兼容市面各种物联网设备,针对每一个新接入的设备,将差异化的协议抽象为插件,通过物联网平台的接入,减少重复工作,增加系统的可扩展性。

关键词:插件;物联网;可扩展性

中图分类号:TP315 文献标识码:A 文章编号:1007-9416(2019)06-0106-01

0 前言

设备的生产厂家都会开发关于对自己生产设备的平台,设备厂家平台提供对外的接口,使得可以调用这些接口获得设备的信息、获得设备的数据、获得设备的状态、控制设备的操作。每个厂家提供对外的接口在物联网进行配置,在需要的对设备进行访问时,根据预先写好的接口配置文件,调用其中的某个厂家对外提供的接口,达到对设备访问的目的。

这种物联网平台是基于配置式的接口调用,必须预先在平台上配置好到设备的厂家所提供的接口。当有新设备的设备需要接入时,需要新设备厂家有自己的对外部调用的接口,否则不能接入,这就使得使用的设备存在局限性。而且当新设备接入时还需要把物联网平台关闭之后再重新启动,这就存在物联网平台的不稳定性。

1 物联网平台的构成

1.1 总体架构(图1)

总体架构来看,该平台分为五个层次:感知层、数据采集层、逻辑业务层、应用层。

1.2 感知层

在此层中,包含的是物理网设备,这些设备是通过某种方式连接互联网的,比如,(通过3G/4G/5G,GPRS,NB-IOT,WIFI等)方式,设备类型可以是传感器、报警器、控制器等。

1.3 数据采集层

“数据采集层”负责从设备采集数据以及上层命令下发,平台将提供一些基础传输服务以方便具体协议的实现,而重点的协议以插件(设备驱动)的方式融入平台,在具体实现时可以预先包含一些常用的内置模块或内置工具,达到开发驱动时简单快捷。

1.4 逻辑业务层

“逻辑业务层”主要负责对设备驱动的管理、对接入物联网设备的管理、对权限的管理、分发执行任务、验证用户权限、推送消息、对数据持久化、提供第三方接口。

由此“逻辑业务层”分为7大模块,分别为:“设备驱动管理”模块、“设备管理”模块、“安全权限”模块、“任务调度”模块、“消息推送”模块、数据持久化模块、webapi接口模块。

1.4.1 设备驱动管理模块

“设备驱动管理”模块主要负责对“数据采集层”中的设备插件(设备驱动)进行管理,每一个设备驱动都有唯一的标识码和怎么处理某种协议的方法并能根据某种协议对设备命令的下发。通过设备驱动管理模块可以对设备驱动进行增、删、改、查。

1.4.2 设备管理模块

“设备管理”模块主要负责对接入平台的设备进行管理。每一个设备都有唯一标识的设备驱动和连接方式,通过“设备管理”模块可以对设备的驱动(即插件)进行加载和卸载,管理设备的运行状态(启用、未启用)、设备监测设备的连接状态。

1.4.3 安全权限模块

“安全权限”模块主要负责对用户访问设备信息时,需要进行安全驗证,以防恶意用户篡改设备信息,导致平台不稳定、故障等问题。

1.4.4 任务调度模块

“任务调度”模块主要负责对“感知层”设备的任务命令的下达,执行一些特定的或用户指定的任务(比如:定时采集传感器设备的数据、用户指定周期性控制某个设备)。

1.4.5 消息推送模块

“消息推送”模块主要负责的是推送设备的实时数据、设备的运行状态、任务的执行情况、任务的状态。

1.4.6 Webapi接口模块

“webapi接口模块”主要负责的是平台对外提供外部调用接口,通过接口可以实现平台的设备管理、设备驱动的管理、任务的管理(即新增任务、任务的删除、任务的修改、任务查询)。

1.5 物联网平台的内部原理

当物联网平台启动服务时,从数据库中读取设备信息,并初始化设备,再监听端口“感知层”中设备SOCKET连接。当“感知层”中设备回传数据时或者响应物联网平台的请求时,首先校验数据是否有效,再经过数据清洗,由数据路由器路由到“设备工厂”中由一个实例化的“设备”中,在“设备”中,通过插件目录信息把插件序列化到内存中,在反序列化生成一个插件实例,把数据在交给插件去处理,处理完成后,进行插件回收,清理内存。

当“任务调度”模块对设备下达任务时,通过quartz框架中的触发器触发“设备”的作业,在“设备”中,通过插件目录信息把插件序列化到内存中,在反序列化生成一个插件实例,由插件实例组织任务命令后,回收插件,清理内存。再把任务命令交给“设备”的SOCKET连接。达到下达任务的命令。

2 结论

基于热插拔式的物联网平台,解决了现有物理网的局限性和不稳定性,对于市面上不同厂商生产的不同协议的设备都能接入物联网平台,而且还具有高扩展性,对于每一种新协议的设备,只需要为他们编写特定的设备驱动(即插件)即可。而平台又是基于热插拔式的,所以在平台的运行过程中能随时为设备更改驱动(即插件),所以提高了平台的稳定性。

参考文献

[1] 黄俊.并联系统的热插拔研究[J].电子技术与软件工程,2015(7):147-148.

[2] 胡钢,郭煜,林诗美.基于MTCA平台的完全热插拔设计[J].工业控制计算机,2017,30(8):8-9.

Hot-plugged IoT platform

LU Yong-hua

(Guizhou Aerospace Smart Agriculture Co., Ltd.,Zunyi Guizhou 563100)

Abstract:There are various kinds of IoT devices on the market, which has led to the formation of data islands for each manufacturer's data. Collecting the backhaul data of these devices has become a difficult point in the implementation project. Therefore, in response to this situation, a hot-swappable IoT platform has been developed, which is compatible with various IoT devices in the market. For each newly accessed device, the differentiated protocol is abstracted as a plug-in through the Internet of Things. Platform access reduces duplication of effort and increases system scalability.

Key words:plugin; internet of things; scalability

猜你喜欢
可扩展性插件物联网
自编插件完善App Inventor与乐高机器人通信
恩智浦推出全新i.MX 8X 处理器,为工业应用带来更高的安全性、可靠性和可扩展性
电力监控软件的可扩展性设计
中国或成“物联网”领军者
构建高可扩展性的物流装备管理系统
MapWindowGIS插件机制及应用
基于Revit MEP的插件制作探讨