一种物联网通信方法及云网关技术

技术编号:20049858 阅读:39 留言:0更新日期:2019-01-09 05:49
本发明专利技术实施例提供一种物联网通信方法及云网关,该方法包括:数据获取流程:获取异构网络中网络设备采集的工业数据;协议转换流程:对工业数据进行协议解析,并将具备不同通信协议的工业数据转换为OPC UA标准数据,再转换为MQTT协议数据;云端传输流程:将MQTT协议数据发送给云平台;任务调度流程:在数据获取流程后触发协议转换任务生成;在协议转换流程后触发云端传输任务生成;将协议转换任务和云端传输任务按照生成时间顺序存储于任务队列中,通过依次调用任务队列中的任务的非阻塞任务调度函数触发相应流程的执行。本发明专利技术实施例通过单一网关实现了非阻塞模式的物联网通信传输,提高了物联网通信的实时性;实现了不同协议工业数据上云服务。

【技术实现步骤摘要】
一种物联网通信方法及云网关
本专利技术实施例涉及物联网通信
,具体涉及一种物联网通信方法及云网关。
技术介绍
工业数据通信已被广泛用在工业生产的各个环节,通过工业通信系统来对工业生产的各环节进行监控。目前,对工业数据的访问主要有两种方式,一种是通过串口或总线传送到本地计算机进行控制,另一种是通过网络上传到云服务器,利用远程终端进行数据访问。尽管目前物联网在各领域的应用广泛,但没有物联网数据接入的统一接口,目前传感网络,特别是传统工业传感网络数据采集协议繁多,协议标准不统一,各行业根据应用需求,独自建立自己的系统及终端,采用不同的协议进行数据传输。传统网关只支持某两种协议之间的转换,不能实现异构网络多协议转换,无法通过单一网关解决异构网络多协议转换及数据上云的问题。另外,在物联网异构网络中,网关采集多种协议的数据,且数据量庞大。因此,需进行各种不同协议的大量数据的数据协议转换及云端传输,而现有的大部分网关都是阻塞性质的,工业数据处理与上云传输的实时性很低,严重影响了物联网的性能。
技术实现思路
为解决现有技术无法通过单一网关解决异构网络多协议转换及数据上云以及云网关实时性较差的问题,本专利技术实施例提供一种物联网通信方法及云网关。第一方面,本专利技术实施例提供一种物联网通信方法,该方法包括:数据获取流程,具体包括获取异构网络中的网络设备采集的工业数据;协议转换流程,具体包括:对所述工业数据进行协议解析,并将具备不同通信协议的所述工业数据转换为OPCUA标准数据,并进一步将得到的所述OPCUA标准数据转换为MQTT协议数据;云端传输流程,具体包括:将所述MQTT协议数据发送给云平台;任务调度流程,具体包括:在所述数据获取流程执行完毕后触发协议转换任务的生成,所述协议转换任务用于执行所述协议转换流程;在所述协议转换流程执行完毕后触发云端传输任务的生成,所述云端传输任务用于执行所述云端传输流程;将所述协议转换任务和所述云端传输任务按照生成的时间顺序存储于任务队列中;按照任务生成的时间顺序,通过依次调用所述任务队列中的任务对应的非阻塞任务调度函数触发所述协议转换流程或所述云端传输流程的执行;其中,所述任务调度流程在调用所述任务队列中的任务对应的非阻塞任务调度函数时,采用非阻塞的处理模式,无需等待一个任务处理完成再执行下一个任务,而是调用完上一任务的非阻塞任务调度函数后立即调用下一任务的非阻塞任务调度函数。第二方面,本专利技术实施例提供一种云网关,该云网关包括:数据获取模块,具体用于执行数据获取任务,所述数据获取任务具体包括:获取异构网络中的网络设备采集的工业数据;协议转换模块,具体用于执行协议转换任务,所述协议转换任务具体包括:对所述工业数据进行协议解析,并将具备不同通信协议的所述工业数据转换为OPCUA标准数据,并进一步将得到的所述OPCUA标准数据转换为MQTT协议数据;云端传输模块,具体用于执行云端传输任务,所述云端传输任务具体包括:将所述MQTT协议数据发送给云平台;任务调度模块,具体用于在所述数据获取任务执行完毕后触发所述协议转换任务的生成,以及在所述协议转换任务执行完毕后触发所述云端传输任务的生成;将所述协议转换任务和所述云端传输任务按照生成的时间顺序存储于任务队列中;按照任务生成的时间顺序,通过依次调用所述任务队列中的任务对应的非阻塞任务调度函数实现所述协议转换模块或所述云端传输模块的任务处理;其中,所述任务调度模块在调用所述任务队列中的任务对应的非阻塞任务调度函数时,采用非阻塞的处理模式,无需等待一个任务处理完成再执行下一个任务,而是调用完上一任务的非阻塞任务调度函数后立即调用下一任务的非阻塞任务调度函数。第三方面,本专利技术实施例提供一种电子设备,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:数据获取流程,具体包括获取异构网络中的网络设备采集的工业数据;协议转换流程,具体包括:对所述工业数据进行协议解析,并将具备不同通信协议的所述工业数据转换为OPCUA标准数据,并进一步将得到的所述OPCUA标准数据转换为MQTT协议数据;云端传输流程,具体包括:将所述MQTT协议数据发送给云平台;任务调度流程,具体包括:在所述数据获取流程执行完毕后触发协议转换任务的生成,所述协议转换任务用于执行所述协议转换流程;在所述协议转换流程执行完毕后触发云端传输任务的生成,所述云端传输任务用于执行所述云端传输流程;将所述协议转换任务和所述云端传输任务按照生成的时间顺序存储于任务队列中;按照任务生成的时间顺序,通过依次调用所述任务队列中的任务对应的非阻塞任务调度函数触发所述协议转换流程或所述云端传输流程的执行;其中,所述任务调度流程在调用所述任务队列中的任务对应的非阻塞任务调度函数时,采用非阻塞的处理模式,无需等待一个任务处理完成再执行下一个任务,而是调用完上一任务的非阻塞任务调度函数后立即调用下一任务的非阻塞任务调度函数。第四方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:数据获取流程,具体包括获取异构网络中的网络设备采集的工业数据;协议转换流程,具体包括:数据获取流程,具体包括获取异构网络中的网络设备采集的工业数据;协议转换流程,具体包括:对所述工业数据进行协议解析,并将具备不同通信协议的所述工业数据转换为OPCUA标准数据,并进一步将得到的所述OPCUA标准数据转换为MQTT协议数据;云端传输流程,具体包括:将所述MQTT协议数据发送给云平台;任务调度流程,具体包括:在所述数据获取流程执行完毕后触发协议转换任务的生成,所述协议转换任务用于执行所述协议转换流程;在所述协议转换流程执行完毕后触发云端传输任务的生成,所述云端传输任务用于执行所述云端传输流程;将所述协议转换任务和所述云端传输任务按照生成的时间顺序存储于任务队列中;按照任务生成的时间顺序,通过依次调用所述任务队列中的任务对应的非阻塞任务调度函数触发所述协议转换流程或所述云端传输流程的执行;其中,所述任务调度流程在调用所述任务队列中的任务对应的非阻塞任务调度函数时,采用非阻塞的处理模式,无需等待一个任务处理完成再执行下一个任务,而是调用完上一任务的非阻塞任务调度函数后立即调用下一任务的非阻塞任务调度函数。本专利技术实施例通过将不同通信协议的工业数据依次转换为OPCUA标准数据、MQTT数据,通过单一网关实现了不同协议的工业数据的上云服务,提供了不同网络的设备接入方案,解决了企业异构网络设备接入管理的痛点;并且,通过将协议转换任务及云端传输任务加入到任务队列,并通过调用非阻塞任务调度函数执行,实现了非阻塞模式的物联网通信传输,有效提高了物联网通信的实时性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的物联网通信方法流程图;图2是本专利技术另一实施例提供的物联网通信方法流本文档来自技高网...

【技术保护点】
1.一种物联网通信方法,其特征在于,包括:数据获取流程,具体包括获取异构网络中的网络设备采集的工业数据;协议转换流程,具体包括:对所述工业数据进行协议解析,并将具备不同通信协议的所述工业数据转换为OPC UA标准数据,并进一步将得到的所述OPC UA标准数据转换为MQTT协议数据;云端传输流程,具体包括:将所述MQTT协议数据发送给云平台;任务调度流程,具体包括:在所述数据获取流程执行完毕后触发协议转换任务的生成,所述协议转换任务用于执行所述协议转换流程;在所述协议转换流程执行完毕后触发云端传输任务的生成,所述云端传输任务用于执行所述云端传输流程;将所述协议转换任务和所述云端传输任务按照生成的时间顺序存储于任务队列中;按照任务生成的时间顺序,通过依次调用所述任务队列中的任务对应的非阻塞任务调度函数触发所述协议转换流程或所述云端传输流程的执行;其中,所述任务调度流程在调用所述任务队列中的任务对应的非阻塞任务调度函数时,采用非阻塞的处理模式,无需等待一个任务处理完成再执行下一个任务,而是调用完上一任务的非阻塞任务调度函数后立即调用下一任务的非阻塞任务调度函数。

【技术特征摘要】
1.一种物联网通信方法,其特征在于,包括:数据获取流程,具体包括获取异构网络中的网络设备采集的工业数据;协议转换流程,具体包括:对所述工业数据进行协议解析,并将具备不同通信协议的所述工业数据转换为OPCUA标准数据,并进一步将得到的所述OPCUA标准数据转换为MQTT协议数据;云端传输流程,具体包括:将所述MQTT协议数据发送给云平台;任务调度流程,具体包括:在所述数据获取流程执行完毕后触发协议转换任务的生成,所述协议转换任务用于执行所述协议转换流程;在所述协议转换流程执行完毕后触发云端传输任务的生成,所述云端传输任务用于执行所述云端传输流程;将所述协议转换任务和所述云端传输任务按照生成的时间顺序存储于任务队列中;按照任务生成的时间顺序,通过依次调用所述任务队列中的任务对应的非阻塞任务调度函数触发所述协议转换流程或所述云端传输流程的执行;其中,所述任务调度流程在调用所述任务队列中的任务对应的非阻塞任务调度函数时,采用非阻塞的处理模式,无需等待一个任务处理完成再执行下一个任务,而是调用完上一任务的非阻塞任务调度函数后立即调用下一任务的非阻塞任务调度函数。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:指令获取流程,具体包括接收所述云平台发送的控制指令,所述控制指令为MQTT协议格式;协议反向转换流程,具体包括:将所述控制指令转换为OPCUA标准数据,并进一步转换为符合目标网络设备协议格式的指令数据;指令下发流程,具体包括将所述指令数据发送给所述目标网络设备;所述任务调度流程还包括:在所述指令获取流程执行完毕后触发协议反向转换任务的生成,所述协议反向转换任务用于执行所述协议反向转换流程;在所述协议反向转换流程执行完毕后触发指令下发任务的生成,所述指令下发任务用于执行所述指令下发流程;将所述协议反向转换任务和所述指令下发任务按照生成的时间顺序存储于所述任务队列中;按照任务生成的时间顺序,通过依次调用所述任务队列中的任务对应的非阻塞任务调度函数进一步触发所述协议反向转换流程或所述指令下发流程的执行。3.根据权利要求2所述的方法,其特征在于,与所述协议转换任务对应的非阻塞任务调度函数有多个,不同类型的协议转换任务对应不同的非阻塞任务调度函数;与所述云端传输任务对应的非阻塞任务调度函数唯一;与所述协议反向转换任务对应的非阻塞任务调度函数有多个,不同类型的协议反向转换任务对应不同的非阻塞任务调度函数;与所述指令下发任务对应的非阻塞任务调度函数有多个,对不同通信协议的所述目标网络设备的指令下发任务对应不同的非阻塞任务调度函数。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:当判断获知高于所述任务队列中任务的优先级别的通信事件触发中断时,执行所述通信事件,且暂停所述非阻塞任务调度函数的执行;在所述通信事件执行完毕后,重新启动所述非阻塞任务调度函数的执行;其中,所述高于所述任务队列中任务的优先级别的通信事件包括云网关与所述网络设备的连接及断开以及所述云网关与所述云平台的连接及断开。5.根据权利要求3所述的方法,其特征在于,所述通过依次调用所述任务队列中的任务对应的非阻...

【专利技术属性】
技术研发人员:史运涛雷振伍丁辉董广亮王力孙德辉李超刘大千
申请(专利权)人:北方工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1