一种基于多种接入及边缘计算的工业软网关以及实现方法与流程

文档序号:15683277发布日期:2018-10-16 20:47阅读:350来源:国知局

本发明涉及到工业数据分析和建立领域,具体地说,是一种基于多种接入及边缘计算的工业软网关以及实现方法。



背景技术:

工业设备的运行状态监测以及故障诊断一直以来专业领域的研究热点,而对其系统设备建模、分析和诊断的基础是实现对设备运行状态数据的收集和获取。在现场工业设备的数据收集中,由于应用的数据收集设备通常来自不同的供应商,因此可能包含了多种数据通信协议以及不同种类的数据存储和管理系统,从而使收集的数据具有多样性、复杂性、非标准化的特点,对后期数据的使用、处理、统计和分析造成了不便的影响。因此如何集中收集来自多种通信类型的数据并实现数据的统一性、标准化对工业设备运行数据的分析和处理具有重要的现实意义。



技术实现要素:

基于以上的背景研究,本发明针对多种工业领域常见的通信协议以及常用数据库管理系统,实现了一个支持多网络通讯方式、多种通信协议和多种类型数据库的集成通信连接、数据收集、数据标准化、边缘计算处理、数据发送、边缘缓存、配置交互及远程升级功能的智能软网关。本发明所实现的核心内容是一个基于多种接入及边缘计算技术的工业智能软网关,该系统支持modbus协议、opc协议、profibus、profinet协议、mysql数据库、oracle数据库、sqlserver数据库的数据收集,可并行处理,针对不同的网络通信协议提供tcpip或串口的收集方法。提供可视化界面对上述各种通信协议和数据库提供连接配置和标准化操作,同时提供数据收集状态、边缘计算结果和转发状态的图形化监测界面。通过数据的标准化,转换成方便远端数据云平台统一管理的数据格式。利用数据发送策略分配实现了对发送数据的控制与调度,保证了数据的最优化发送。与此同时,为减缓远方数据网络传输压力,在数据收集后根据远端数据云平台的需求,对需要进行预处理和特征化的原始数据实现就地边缘计算处理,消除数据噪声,提取特征数据后再进行发送,从而降低数据云平台网络传输数据量,提高数据的传输效率。软网关根据部署硬件的硬盘大小分配边缘缓存大小,存储短时间的收集数据。根据业务需求的增加和修改可进行网络远程升级,修复错误提升性能。

本发明可以采用如下系统来实现:

一种基于多种接入及边缘计算的工业软网关,包括:配置交互模块、数据收集模块、数据边缘计算模块以及数据发送控制模块;

所述配置交互模块包括连接配置模块和数据标准化模块;所述配置交互模块用于通过配置交互可视化界面进行集成数据收集模块与现场数据源的连接配置;所述连接配置模块用于将多种通信协议与多种数据库进行连接配置,所述将多种通信协议与多种数据库进行连接配置是根据不同通信协议类型或不同数据库类型的连接参数配置建立tcp或串口连接,通过客户端配置其连接参数,以xml文件形式保存相应的参数配置信息,同时将预知的数据地址或扫描的数据地址通过可视化客户端界面保存至xml文件中。根据xml文件的信息,进行与协议服务端、从站及数据库服务端的连接,返回其连接状态,以及连接失败的原因,连接成功后手动开始采集。

所述数据标准化模块用于将各种通信协议类型与多种数据库类型的数据进行标准化;

所述数据收集模块包括:调度子模块、收集子模块和异常处理子模块;

所述数据边缘计算模块用于对数据收集模块收集的数据进行实时计算处理,所述数据边缘计算模块包括:数据整合子模块、数据分析子模块、过滤降噪子模块以及发送准备子模块;

所述数据发送控制模块用于将所有待发送数据的进行缓存以及对外转发的任务调度与分配;所述数据发送模块包括数据准备子模块、循环发送模块以及异常重新发送模块。进一步地,,所述数据发送模块根据不同通信协议或不同类型数据库的数据要求进行数据的发送,并通过远程通信网络发送至互联网远端数据云平台,发送周期取决于数据收集模块向数据发送控制模块的推送速度,数据格式由数据收集模块打包时确定。

进一步地,所述多种通信协议包括modbus、opc、profibus三种数据通信协议,其中modbus协议含modbus串口和modbustcp,profibus协议含profibus串口和profinet。

进一步地,所述数据库包括mysql、oracle、sqlserver数据库。

进一步地,所述属性modbus协议包括ip地址、串口名称、端口号、从站信息、寄存器类型、数据读取地址,opc包括ip地址、服务器用户名及密码、设备名,profibus、profinet协议数据包括ip地址、串口名称、端口号、数据地址,数据库包括ip地址,端口号,源数据库表、定时事件。

进一步地,所述将各种通信协议类型与多种数据库类型的数据进行标准化具体为:分别针对modbus建立的从站,建立块分区,再将分区内数据标准化;针对与opc服务器建立连接,通过扫描设备,扫描分组,之后对数据进行标准化;针对profinet与profibus协议,通过基于协议标准报文格式进行解析,得到解析后的数据再进行数据标准化匹配。进一步地,所述将各种通信协议类型和相应数据库类型的数据进行标准化还包括:针对mysql、oracle、sqlserver类型的数据库建立连接,首先扫描数据源表及定时事件,根据源数据点、表结构、新建表事件进行收集并标准化,由于数据库表结构复杂且多样。本发明还提供了一种基于多种接入及边缘计算的工业软网关的实现方法,包括:

步骤一、通过配置交互模块进行数据收集模块与相应数据源的连接配置;

步骤二、对待收集的数据进行标准化,标准化后启动数据源对应的数据收集程序;

步骤三、判断收集的数据是否需要进行边缘计算处理,若是则收集的数据自动送入边缘计算模块,进行数据整合、数据分析、过滤降噪以及发送准备;

步骤四、将数据准备完成后送入数据发送控制模块,并将数据存入边缘缓存做备份存储;数据发送控制模块接收到需要发送的数据,按照缓存消息队列的发送处理和调度方法将数据按照数据云平台的要求实现数据发送。

进一步地,所述数据源包括:modbus串口、modbustcp、opc、profibus、mysql、oracle、sqlserver数据源。

本发明针对多种工业领域常见的通信协议以及常用数据库管理系统,实现了一个支持多网络通讯方式、多种通信协议和多种类型数据库的集成通信连接、数据收集、数据标准化、边缘计算处理、数据发送、边缘缓存、配置交互及远程升级功能的智能软网关。

有益效果,本发明所实现的核心内容是一个基于多种接入及边缘计算技术的工业智能软网关,该系统支持modbus协议、opc协议、profibus、profinet协议、mysql数据库、oracle数据库、sqlserver数据库的数据收集,可并行处理,针对不同的网络通信协议提供tcpip或串口的收集方法。提供可视化界面对上述各种通信协议和数据库提供连接配置和标准化操作,同时提供数据收集状态、边缘计算结果和转发状态的图形化监测界面。通过数据的标准化,转换成方便远端数据云平台统一管理的数据格式。利用数据发送策略分配实现了对发送数据的控制与调度,保证了数据的最优化发送。与此同时,为减缓远方数据网络传输压力,在数据收集后根据远端数据云平台的需求,对需要进行预处理和特征化的原始数据实现就地边缘计算处理,消除数据噪声,提取特征数据后再进行发送,从而降低数据云平台网络传输数据量,提高数据的传输效率。软网关根据部署硬件的硬盘大小分配边缘缓存大小,存储短时间的收集数据。根据业务需求的增加和修改可进行网络远程升级,修复错误提升性能。

附图说明

图1为本发明提供的一种基于多种接入及边缘计算的工业软网关实施例结构图;

图2为本发明提供的一种基于多种接入及边缘计算的工业软网关方法实现流程图;

图3为本发明提供的工业软网关核心功能流程图;

图4为本发明提供的配置交互模块的运行程序实现示意图;

图5为本发明提供的经由通信网络连接的数据收集运行程序实现示意图;

图6为本发明提供的经由数据库连接的数据收集运行程序实现示意图;

图7为本发明提供的数据边缘计算模块的运行程序实现示意图;

图8为本发明提供的数据发送控制模块的运行程序实现示意图;

具体实施方式

本发明给出了一种基于多种接入及边缘计算的工业软网关以及实现方法,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:

本发明可以采用如下系统来实现:

一种基于多种接入及边缘计算的工业软网关,包括:配置交互模块101、数据收集模块102、数据边缘计算模块103以及数据发送控制模块104;

所述配置交互模块101包括连接配置模块1011和数据标准化模块1012;所述配置交互模块101用于通过配置交互可视化界面进行集成数据收集模块102与现场数据源的连接配置;所述连接配置模块1011用于将多种通信协议与相应的数据库进行连接配置,所述将多种通信协议与相应的数据库进行连接配置是根据每种通信协议的类型的从站或客户端按照各自的属性进行与服务器端或者主站连接的连接参数配置,当所有类型的一个或多个客户端或从站进行配置完毕后,以xml文件形式保存相应的参数配置信息,从而完成数据收集连接配置,根据已经建立的数据收集通信从站或者数据库客户端配置,读取相应的参数配置xml文件,按照配置文件的配置要求进行与通信主站或者数据库服务器端的连接,并返回其连接成功或失败的状态,以及连接失败异常的原因;

具体地,如果连接失败,进行三次自动重连,直到连接成功,如果三次连接均失败,则返回连接状态,返回原始连接状态监测程序,由操作人员决定何时重新进行连接。如果连接成功,则返回连接成功状态。

所述数据标准化模块1012用于将各种通信协议类型和相应数据库类型的数据进行标准化;

所述数据收集模块102包括:收集子模块1021和异常处理子模块1022;

所述数据收集模块运行数据收集子程序,所述数据收集子程序主要由modbustcp、modbus串口、profibus、profinet、opc通信数据收集子程序和mysql、oracle、sqlserver数据库数据收集子程序构成,各收集子程序分别由收集子模块和异常处理子模块构成,通过调度子模块1021来实现采集频率和线程分配,使用quartz技术来实现,避免死锁等状况发生,对异常尽快处理,使收集按频率有序进行。其中modbustcp、profinet、opc通信三种数据收集子程序在实现上仅是协议解析处理上的差别,其主要通信方式均遵从tcp/ip通信协议,modbus串口和profibus串口收集子程序仅是连接属性的差别,因此以modbustcp通信数据收集子程序为例说明其工作机理。其中mysql、oracle、sqlserver数据库收集子程序在实现上仅是在在进行jdbc数据连接过程中加载的驱动不同,因此以mysql数据库收集子程序为例说明其工作机理。

在modbus收集子程序开发过程中,经过大量的模拟测试,根据读取速度和稳定性作为衡量指标,测出单线程串行的最优读取数量为120个,即若modbus收集程序为单线程读取,一次modbustcp连接最多120个item串行读取会保证程序长时间稳定不抛出异常、断点导致数据丢失或收集错误等状况,以此作为本系统modbus收集的先验知识。modbus收集子程序主要由modbus收集和异常处理两部分构成,具体程序流程如下,modbus收集部分程序首先获取标准化配置信息,之后采用单线程串行读取最优数量为单block分区连续120个数据,如果分区中数据大于120个,则自动启用多线程,根据最优读取数量120个为单位,建立modbustcp连接并收集,循环完成单个block分区的的全部数据读取,自动分配异步多线程,并且使得每个线程均符合单线程串行最优读取数据的数量,每个线程中采用jamod技术读取。如果分区中数据小于120个,则串行读取完毕即可。在所有读取操作完成后,在数据读取结果缓冲池中进行单个block分区的所有数据整合,将所有的block分区均各自进行数据整合后,进行数据序列化,然后对数据加盖时间戳,并且打包,程序进入数据发送准备状态。同时在整个数据收集过程中,设计了线程阻塞、线程等待等线程异常处理机制,处理线程异常,同时程序设计中考虑了当连接中断时启用重连机制,从而保证数据收集过程的正常通信连接状态以及处理连接中断的情况。

mysql数据库数据源收集子程序由数据读取程序和异常处理程序构成,分为实时数据读取和历史数据读取,实时数据读取线程的工作机理是:数据读取程序主要由三个线程构成,其功能分别是实时数据读取线程和历史数据读取线程和识别实时数据库变化频率。识别实时数据库变化频率线程为实时数据读取线程提供协助,可以采用定时进行识别,若收集现场的数据库可供外人个性化编写接口程序,则可以设计开发为阻塞监控识别,即不需要定时去主动识别实时数据库的变化频率,而是等待接口指令来激活该线程去主动访问,从而节约计算资源。实时数据读取线程的工作机理是:首先获取标准化配置信息,根据实时数据变化频率读取数据库、数据源表、目标数据点和数据包等数据,由于收集现场的数据库表设计多样,此处可根据现场情况做个性化修改,之后建立sql查询语句,进行数据查询并返回查询结果,在查询数据点或数据包返回时间加入时间戳后,按数据标准化配置要求对数据进行标准化,进行数据序列化,打包,进入最后的数据发送准备状态。历史数据读取线程的工作机理是:首先手动根据标准化配置信息进行数据源和数据表的选择,根据当前网络压力和源数据表大小判断读取频率和读取大小,根据收集频率建立sql查询语句,执行查询并返回读取结果,之后同样进行数据标准化、序列化、打包,进入最后的数据发送准备状态。在数据库源数据收集过程的线程执行过程中,同样设置线程等待、线程阻塞等线程异常处理程序,同时同样考虑设计了用于处理数据库连接中断异常的处理、重连的机制,保证数据库连接状态正常。

所述数据边缘计算模块103用于对数据收集模块收集的数据进行实时计算处理,所述数据边缘计算模块103包括:数据整合子模块1031、数据分析子模块1032、过滤降噪子模块1033以及发送准备子模块1034;

具体地,当获取到需要实时处理的实时收集数据后,首先根据边缘计算规则库和算法库中的规则和算法对收集的数据进行数据分类,之后按照特定规则和算法对数据进行预处理、抽取数据特征处理、数据聚合和分类等处理,处理后的数据按照业务知识过滤降噪,即根据数据的业务特征删除因计算或收集错误而导致的噪声数据,最后通过序列化、加盖时间戳、打包,进入到数据发送流程。

所述数据发送控制模块104用于将所有待发送数据的进行缓存以及对外转发的任务调度与分配;所述数据发送模块包括数据准备子模块1041、循环发送模块1042以及异常重新发送模块1043。

优选地,所述数据发送模块根据不同通信协议或不同类型数据库的数据要求进行数据的发送,并通过远程通信网络发送至互联网远端数据云平台,发送周期取决于数据收集模块向数据发送控制模块的推送速度,数据格式由数据收集模块打包时确定。

数据发送模块可以实时发送数据,同时如果与远端数据平台连接中断,则在消息队列中排队等待发送,网络连接断开后消息仍然在内存中,而非立即存储至文件,因此读取速度快,不消耗硬盘资源;若消息队列满则尚未发送的数据进行本地缓存至avro文件,待连接恢复后自动重新发送。采用avro格式是由于json格式是键值对应的形式,在一条消息发送多组具有同样源数据的数据时,会重复发送多次标准化后的数据信息,而该格式数据在网络传输时,可以只记录一次数据标准化信息,同时该类型数据方便消息接收方进行解析,同时可以序列化为二进制数据,实现数据压缩,从而解决了由于传输重复信息而使网络传输量增大造成的网络传输效率低的问题。

数据发送模块主要由三个线程并行运行来完成该模块的数据缓存及发送功能,第一个线程为数据接收线程,具体工作流程为:数据进入消息队列之前,通过用户选择是否进行数据加密,如果数据进行加密,则采用aes或rsa算法加密,之后数据进入消息队列,如果不加密,则数据直接进入消息队列。数据进入消息队列后,获取当前最新存储位。当前存储位为静态变量,采用循环队列存储,若当前存储位未被处理过,表明消息队列已满,被处理过则表示已经实现远程发送,若未被处理的数据被新数据覆盖,该数据则会立即存入待发送缓存文件中,在网络连接可用时,这个数据会重新发送,并从待发送缓存文件中删除。如果消息队列已满,建立相应的avro文件,将消息队列数据逐个拷贝到avro文件。第二个线程用于进行消息队列的循环发送,其工作流程为:首先读取消息队列,获取当前最新读取位,判断当前消息队列当前存储位是否被处理过,如果未被处理过,则进行数据发送,发送过程中如果通信中断,则释放连接重新发送,如果通信正常,则采用mqtt协议进行数据的发送,发送完毕后,更新当前数据读取位的处理状态为已处理,更新当前最新读取位至下一个队列空间,若当前位置的数据已被处理,则表明队列中尚无等待发送的数据,此时读取位指针将停滞在此位置。第三个线程用于缓存备份至数据文件中的数据的重新发送,首先读取avro文件,按照mqtt协议进行数据发送,如果发送完成,则在文件中删除已发送数据,如果发送未完成,则进行重发,直至发送成功,具体实现方式为:如果发送未完成,则将数据读取指针回滚,相当于下次发送会重走整个读取和发送的流程,避免意外断电、程序退出等造成的待发送数据丢失的问题。当前avro文件中的数据全部发送完毕后,自动查找下一个avro文件,按同样发送机制进行数据发送。在整个数据发送过程中,所有进入发送队列的数据,有一个本地存储机制,与其是否成功发送无关,例如全部存储、每个队列存储首个数据等,重发的数据并不会重新载入此队列,而是有独立的重发程序,缓存数据有一定的删除机制,会删除过旧的数据。

优选地,所述多种通信协议包括modbus、opc、profibus三种数据通信协议,其中modbus协议含modbus串口和modbustcp,profibus协议含profibus串口和profinet。

优选地,所述数据库包括mysql、oracle、sqlserver数据库。

优选地,所述属性modbus协议包括ip地址、串口名称、端口号、从站信息、寄存器类型、数据读取地址,opc包括ip地址、服务器用户名及密码、设备名,profibus、profinet协议数据包括ip地址、串口名称、端口号、数据地址,数据库包括ip地址,端口号,源数据库表、定时事件。

具体地,modbus协议数据通过modbustcp通信或串口通信与现场主站连接进行收集,opc协议数据通过opc通信与现场opc服务器连接进行收集,profinet协议数据通过ieee802.3以太网标准和tcp/ip进行it通信实现收集,profibus协议数据通过串口进行通信实现收集,mysql、oracle、sqlserver等数据库数据则基于tcp/ip通信协议的基础上,通过与现场数据库服务器建立jdbc连接进行数据收集。

优选地,所述将各种通信协议类型与多种数据库类型的数据进行标准化具体为:分别针对modbus建立的从站,建立块分区,再将分区内数据标准化;针对与opc服务器建立连接,通过扫描设备,扫描分组,之后对数据进行标准化;针对profinet与profibus协议,通过基于协议标准报文格式进行解析,得到解析后的数据再进行数据标准化匹配完成标准化操作过程后,进入连接测试,连接成功后进入数据收集状态,数据收集状态可以选择手动或者自动运行,即标准化后立即启动数据收集模块或由操作人员手动开始数据收集。

优选地,所述将各种通信协议类型和相应数据库类型的数据进行标准化还包括:针对mysql、oracle、sqlserver类型的数据库建立连接,首先扫描数据源表及定时事件,根据源数据点、表结构、新建表事件进行收集并标准化,由于数据库表结构复杂且多样。本发明还提供了一种基于多种接入及边缘计算的工业软网关的实现方法,包括:

s201、步骤一、通过配置交互模块进行数据收集模块与相应数据源的连接配置;

s202、步骤二、对待收集的数据进行标准化,进行连接测试后再启动标准化后的数据源多对应的数据收集程序;

s203、步骤三、判断收集的数据是否需要进行边缘计算处理,若是则收集的数据自动送入边缘计算模块,进行数据整合、数据分析、过滤降噪以及发送准备;

s204、步骤四、将数据准备完成后送入数据发送控制模块,并将数据存入边缘缓存做备份存储;数据发送控制模块接收到需要发送的数据,按照缓存消息队列的发送处理和调度方法将数据按照数据云平台的要求实现数据发送。

优选地,所述数据源包括:modbustcp、modbus串口、opc、profibus、profinet、mysql、oracle、sqlserver数据源。

本发明给出了一种基于多种接入及边缘计算的工业软网关及实现方法,所述工业软网关包括:配置交互模块、数据收集模块、数据边缘计算模块以及数据发送控制模块;

所述配置交互模块包括连接配置模块和数据标准化模块;所述配置交互模块用于通过配置交互可视化界面进行集成数据收集模块与现场数据源的连接配置;所述连接配置模块用于将多种通信协议与多种数据库进行连接配置,所述数据标准化模块用于将各种通信协议类型与多种数据库类型的数据进行标准化;所述数据收集模块包括:调度子模块、收集子模块和异常处理子模块;所述数据边缘计算模块用于对数据收集模块收集的数据进行实时计算处理,所述数据发送控制模块用于将所有待发送数据的进行缓存以及对外转发的任务调度与分配。本发明能够提供可视化界面对上述各种通信协议和数据库提供连接配置和标准化操作,同时提供数据收集状态、边缘计算结果和转发状态的图形化监测界面。通过数据的标准化,转换成方便远端数据云平台统一管理的数据格式。与此同时,边缘计算模块可以消除数据噪声,降低数据云平台网络传输数据量,提高数据的传输效率。软网关根据部署硬件的硬盘大小分配边缘缓存大小,存储短时间的收集数据。根据业务需求的增加和修改可进行网络远程升级,修复错误提升性能。

以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1