基于Docker的边缘物联代理装置、系统及应用方法
技术领域
本发明涉及能源物联网技术领域,具体涉及一种基于Docker的边缘物联代理装置、系统及应用方法。
背景技术
全球物联网技术正处于高速发展的关键期,物联网终端作为物联网建设的关键枢纽,已经在能源、交通和医疗等行业广泛应用,电力物联网作为能源互联网的基础和载体,在其建设中需要大量部署智能终端,市场潜力巨大。
但在目前包括电力在内的能源物联网项目的实际建设过程中,在实际的电力运行现场会面临着大量不同厂家设备接入,会存在许多不同厂家的设备同时运行在同一或不同的网络中,不同厂家设备之间软件采用的技术路线不一致而导致的兼容性差、现场维护工作量大、所采用的协议也可能会面临着不同厂家的设备数据无法兼容、互通等问题。
发明内容
目前包括电力在内的能源物联网项目的实际建设过程中,在实际的电力运行现场会面临着大量不同厂家设备接入,会存在许多不同厂家的设备同时运行在同一或不同的网络中,不同厂家设备之间软件采用的技术路线不一致而导致的兼容性差、现场维护工作量大、所采用的协议也可能会面临着不同厂家的设备数据无法兼容、互通等问题,本发明提供一种基于Docker的边缘物联代理装置、系统及应用方法。
第一方面,本发明技术方案提供一种基于Docker的边缘物联代理装置,包括主控模块、外设模块、容器模块、应用模块;
主控模块,用于提供容器模块和应用模块运行所需的硬件环境;
外设模块,用于提供信息显示硬件以及通信通道硬件;
容器模块,提供应用模块运行软件环境;
应用模块,用于提供配置设备模型和配置转发通道所需要的软件,对采集终端、南向模型转发配置进行管理。
作为本发明技术方案的进一步限定,应用模块包括转发服务点配置单元、采集管理配置单元、南向模型管理单元;
转发服务点配置单元,用于配置不同容器的应用之间的通信协议;进行MQTT配置和转发服务点表配置;
采集管理配置单元,用于配置代理装置与终端之间的通信协议,对采集终端设备进行管理设置;
南向模型管理单元,用于根据不同的向南通信协议配置终端的采集模型,根据所建立的南向模型设置对应的数据点信息。
作为本发明技术方案的进一步限定,应用模块还包括基础网关配置单元和采集数据管理单元;
基础网关配置单元,用于配置上层物联网管理平台与代理的通信协议;
采集数据管理单元,用于管理由终端接入的数据。
作为本发明技术方案的进一步限定,容器模块包括操作系统单元、容器调度单元、Docker容器单元、Docker容器镜像仓储单元;
操作系统单元,用于提供基本的文件、驱动、内核与启动程序服务,提供运行容器调度单元、Docker容器单元、Docker镜像仓储单元所需的软件环境;
容器调度单元,用于根据应用模块中不同的程序运行所需的依赖环境和系统资源来对Docker容器进行资源配置;
Docker容器单元,创建容器,利用Docker容器技术直接打包应用模块中不同的程序到容器中,管理不同程序,进行配置和修改容器资源;
Docker容器镜像仓储单元,用于为容器模块提供统一备份和统一部署的软件。
作为本发明技术方案的进一步限定,Docker容器单元,还用于对容器的安装、卸载、停止、启动、重启以及容器状态查询进行管理,在容器中安装/卸载APP,以及对APP的启动、停止、使能、禁止、状态信息进行管理。
作为本发明技术方案的进一步限定,Docker容器单元,用于创建容器,对所创建的容器进行配置,解析安装并运行APP,具体包括:
解析安装参数,校验安装文件签名合法后,判断容器不存在时,创建容器,拷贝APP到容器中,调用appctl指令解压安装文件,创建消息队列发送消息通知启动APP。
作为本发明技术方案的进一步限定,主控模块包括ARM处理器以及与ARM处理器连接的存储单元、电源、接口。
作为本发明技术方案的进一步限定,外设模块包括LCD显示器、通信模块;
LCD显示器、通信模块分别与ARM处理器和电源连接。
第二方面,本发明技术方案还提供一种基于Docker的边缘物联代理系统,包括设备中心和与设备中心通信连接的至少一个边缘物联代理装置,所述的边缘物联代理装置包括如第一方面所述的边缘物联代理装置。
第三方面,本发明技术方案还提供一种基于Docker的边缘物联代理装置的应用方法,包括如下步骤:
部署物联代理装置的硬件通过通信接口与物联管理平台、各类智能终端形成有线或无线的通信连接;
在物联代理装置的硬件上运行容器模块的操作系统,提供基础软件环境;
在操作系统中运行容器模块的容器调度单元,为多个容器分配相应的资源;
在操作系统中运行容器模块的Docker容器,在多个Docker容器中分别部署应用模块中的所有应用;
在Docker容器中运行基础网关配置应用,建立物联代理装置与物联管理平台的数据通信连接;
在Docker容器中运行南向模型管理应用,实现对各类终端模型参数的查看、添加、修改、删除;
在多个Docker容器中运行不同通信协议的采集管理配置应用,建立与各类终端的数据通信连接,实现对各类终端连接的添加、复制、删除、参数修改,对终端数据的采集,对互通数据的传输;
在Docker容器中运行采集数据管理应用,实现对各类终端采集数据的汇聚、查看、记录;
在Docker容器中运行转发服务点配置应用,对各类终端采集数据的转发进行管理,实现不同终端的数据互通。
从以上技术方案可以看出,本发明具有以下优点:采用Docker容器技术,依据不同的终端设备模型,部署不同通信协议和依赖环境的采集管理应用,实现对各种终端内各种APP数据的自动适应,实现了各类业务数据的统一接入;设计转发服务配置应用,对所采集的各类终端内各种APP的数据进行统一管理与转发,实现对各种终端APP之间的数据互通。从而完成不同厂家终端APP数据的自动适配与数据传输,进而提高不同终端设备的融合能力和数据利用水平。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的装置的示意性框图。
图2是本发明一个实施例的装置的容器模块示意性框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于Docker的边缘物联代理装置,包括主控模块、外设模块、容器模块、应用模块;
主控模块,用于提供容器模块和应用模块运行所需的硬件环境;
外设模块,用于提供信息显示硬件以及通信通道硬件;
容器模块,提供应用模块运行软件环境;
应用模块,用于提供配置设备模型和配置转发通道所需要的软件,对采集终端、南向模型转发配置进行管理。
应用模块包括转发服务点配置单元、采集管理配置单元、南向模型管理单元;
转发服务点配置单元,用于配置不同容器的应用之间的通信协议;进行MQTT配置和转发服务点表配置;
转发服务:包括MQTT配置和转发服务点表配置。
MQTT配置:可对通道名称、IP地址、端口号、用户名、密码、客户端标识等进行设置。转发服务点表:将所需转发的服务点信息,包括公共地址、信息类型、信息地址等信息录入到点表中做转发使用。配置的是MQTT Server的IP地址、Port、用户名、密码、客户端标识等。在这里,可支持对三个通道进行配置,通道1默认是省综平台的信息;通道2 默认是自建平台信息;通道3是pd104;后续可根据的实际需求来扩展通道数量和定义。
转发服务点配置:在这里,需注意的是应将采集设备管理和南向模型配置完成之后再进行转发服务中转发服务点名的配置。可以配置点名、描述、设备地址、信息点地址、信息点类型、上传方式、起始地址等,以上的配置数据来自于采集设备的配置信息;此外,采集设备数据点对应的数值无需录入,可在设备APP启动并与边缘物联代理装置成功建立通信连接后完成数据的提取显示。APP间数据交互APP之间的数据交换借助于消息实现。消息的传输可支持IPC、TCP、UDP或MQTT等方式。由服务提供方(服务器角色)定义消息接口,服务使用方(客户机角色)根据定义的消息接口访问相应的服务。一个APP既可以是服务提供方,同时也可以是某些服务的使用方,同时具有服务器与客户机多重角色,可支持同步消息和异步消息两种方式。
采集管理配置单元,用于配置代理装置与终端之间的通信协议,对采集终端设备进行管理设置;可支持256个及以上的采集设备接入。可设置设备信息(可自定义设备名称并根据采集设备所对应的协议来完成包括设备地址、协议类型、南向模型、上传方式、起始地址等来完成配置)和设备端口参数(端口类型、串口号、IP地址和port端口等),为转发服务点的配置提供数据支持。同一类型的设备可支持以复制的方式来完成快速添加,可根据实际设备情况来做出设备名称、设备id、设备地址的修改即可。
南向模型管理单元,用于根据不同的向南通信协议配置终端的采集模型,根据所建立的南向模型设置对应的数据点信息。可依据不同的南向通信协议来建立对应的模型,南向(采集设备)通信协议可支持DLT698、BACNet、OPC、CJ/T118、Modbus、104、DLT645等协议,可根据所建立的南向模型来设置对应的数据点信息(包括点名、地址、系数、数据类型、上传方式等)。
应用模块还包括基础网关配置单元和采集数据管理单元;
基础网关配置单元,用于配置上层物联网管理平台与代理的通信协议;可根据业务现场的实际情况来设备网关对应的IP地址和子网掩码。未设置正确的IP地址和子网掩码的设备无法完成接入到系统中。
采集数据管理单元,用于管理由终端接入的数据。可在完成设置与管理后,来查看不同采集设备配置的点名所对应的数据信息(包括数据值、数据质量与采集时间)。
如图2所示,容器模块包括操作系统单元、容器调度单元、Docker容器单元、Docker容器镜像仓储单元;
操作系统单元,用于提供基本的文件、驱动、内核与启动程序服务,提供运行容器调度单元、Docker容器单元、Docker镜像仓储单元所需的软件环境;
容器调度单元,用于根据应用模块中不同的程序运行所需的依赖环境和系统资源来对Docker容器进行资源配置;采用Docker Compose、kubernetes、K8S等工具,根据实际业务需求来做容器编排与调度。支持5个及以上容器数量,单个容器应支持部署多个应用软件(APP,在这里可理解为设备采用协议的可执行文件);可支持利用Docker Compose、DockerSwarm,也可支持利用kubernetes、K8S等工具根据实际的业务需求来做容器编排与调度。可根据具体的业务需求做出合适的工具选择。
Docker容器单元,创建容器,利用Docker容器技术直接打包应用模块中不同的程序到容器中,管理不同程序,进行配置和修改容器资源;包括CPU核数量、内存、存储、接口,配置和修改容器资源应不影响已部署应用软件的运行;可支持查询容器信息,包括容器列表,容器版本信息、容器运行状态;可支持容器本地及远程启动、停止、安装、卸载;可支持容器监控功能,包括容器重启、存储资源越限、CPU占用率、内存占用率等情况,容器重启、存储资源越限应上报告警,CPU占用率、内存占用率越限应上报告警并重启容器;可支持容器间通信和数据交互;可支持容器本地升级和远程升级,升级过程中支持断点续传,升级时对更新包的数据来源进行合法性校验。
Docker容器镜像仓储单元,用于为容器模块提供统一备份和统一部署的软件。通过Docker完成镜像构建后,可将已生成的镜像文件上传到Registry服务器并完成保存,可有效避免某一个镜像出现故障或不可恢复的问题时导致不可使用的情况出现,可通过镜像仓储对其中发生问题的镜像重新下载使用。还用于对容器的安装、卸载、停止、启动、重启以及容器状态查询进行管理,在容器中安装/卸载APP,以及对APP的启动、停止、使能、禁止、状态信息进行管理。
Docker容器单元,用于创建容器,对所创建的容器进行配置,解析安装并运行APP,具体包括:解析安装参数,校验安装文件签名合法后,判断容器不存在时,创建容器,拷贝APP到容器中,调用Appctl指令解压安装文件,创建消息队列发送消息通知启动APP。
主控模块是外围电路功能的集成硬件电路,主要负责实现系统引导和驱动的主要功能,主要包括ARM处理器、存储(主要存储docker容器)、电源(提供电力支持)、LCD接口(与外设LCD连接,用以显示运行相关信息)、通信接口(以太网、无线wifi、usb)。
外设模块包括LCD显示器、通信模块;LCD显示器,用于显示docker容器运行状态、显示装置运行状态、日志信息等,通信模块,用于提供USB调试接口,支持程序烧录、程序调试。
本发明实施例还提供一种基于Docker的边缘物联代理系统,包括设备中心和与设备中心通信连接的至少一个边缘物联代理装置,所述的边缘物联代理装置包括如上述所述的边缘物联代理装置。
设备中心可支持256个及以上的能源路由管理设备(或边缘物联代理装置)的接入,需配置好边缘物联代理装置对应的IP地址,否则无法成功建立连接。在这里能边缘物联代理装置可支持的通信协议(其通信类别为北向(平台)通信方式)包括MQTT、DLT698协议等。可通过设备中心来完成与边缘物联代理装置的连接、加载数据、下载更新及重启应用和设备。
本发明实施例还提供一种基于Docker的边缘物联代理装置的应用方法,包括如下步骤:
S1:部署物联代理装置的硬件通过通信接口与物联管理平台、各类智能终端形成有线或无线的通信连接;
S2:在物联代理装置的硬件上运行容器模块的操作系统,提供基础软件环境;
S3:在操作系统中运行容器模块的容器调度单元,为多个容器分配相应的资源;
S4:在操作系统中运行容器模块的Docker容器,在多个Docker容器中分别部署应用模块中的所有应用;
S5:在Docker容器中运行基础网关配置应用,建立物联代理装置与物联管理平台的数据通信连接;
S6:在Docker容器中运行南向模型管理应用,实现对各类终端模型参数的查看、添加、修改、删除;
S7:在多个Docker容器中运行不同通信协议的采集管理配置应用,建立与各类终端的数据通信连接,实现对各类终端连接的添加、复制、删除、参数修改,对终端数据的采集,对互通数据的传输;
S8:在Docker容器中运行采集数据管理应用,实现对各类终端采集数据的汇聚、查看、记录;
S9:在Docker容器中运行转发服务点配置应用,对各类终端采集数据的转发进行管理,实现不同终端的数据互通。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。