本发明涉及工业物联网数据处理领域,尤其是涉及一种基于边缘计算网关的工业物联网数据实时上传方法。
背景技术:
工业物联网行业属于新兴行业,企业生产相关的设备通常来自不同的制造商,采用的通信技术复杂多样,为实现设备之间的互联互通,需要使用网关等协议转换设备对原有设备和产线进行改造,由网关以统一的规范将遵循不同通信协议的设备数据进行转换,并上传至上位机进行业务处理。随着工业生产现场物联网设备的增加,网关数据上传的实时性难以得到保障,成为制约工业物联网发展的一个瓶颈。
目前,由于设备协议多样性的限制,导致无法对轮询一组设备的时间进行优化,传统的网关提升上传数据实时性的做法是根据现场实时性的需要,对读取频次进行优化,尽可能的缩短两次轮询之间的时间间隔,但因此导致数据量增大,网关将这些数据全部上传完成,需要耗费很长的一段时间,而且在网关上传原有数据的过程中,仍会不断接收实时的设备数据,从而导致大量未被上传的设备数据阻塞在网关中,有的做法是通过增加网卡等物理手段提升传输能力,但这会导致经济性变差。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于边缘计算网关的工业物联网数据实时上传方法。
本发明的目的可以通过以下技术方案来实现:
一种基于边缘计算网关的工业物联网数据实时上传方法,该方法包括以下步骤:
步骤s1:进入当前轮询周期t;
步骤s2:进入当前上传周期i;
步骤s3:网关数据上传单元在当前上传周期i上传当前轮询周期t的数据;
步骤s4:判断当前上传周期i是否结束,若是,下一上传周期i+1代替当前上传周期i,执行步骤s2,若否,执行步骤s5;
步骤s5:判断所有当前轮询周期t的数据是否已上传完毕,若是,上传轮询周期t-j的数据,若否,继续上传当前轮询周期t的数据;
步骤s6:判断当前轮询周期t是否结束,若是,下一轮询周期t+1代替当前轮询周期t,执行步骤s1,若否,执行步骤s7;
步骤s7:判断当前上传周期i是否结束,若是,下一上传周期i+1代替当前上传周期i,执行步骤s2,若否,j的值增加1,执行步骤s5。
所述的步骤s3网关数据上传单元在当前上传周期每次上传固定数量的当前轮询周期的数据。
所述的步骤s3网关数据上传单元在当前上传周期按设备编号从大到小上传当前轮询周期的数据。
所述的步骤s5中判断所有当前轮询周期的数据已上传完毕时,对轮询周期t-j的数据进行查找,对适合当前上传周期上传的数据进行上传。
所述适合当前上传周期上传的数据的判断标准包括:
适合当前轮询周期上传的数据为轮询周期t-j接收到的数据:
适合当前轮询周期上传的数据的最大设备编号大于轮询周期t-j已上传的数据的最大设备编号。
所述的步骤s6中判断当前轮询周期是否结束,若是,记录当前轮询周期已上传的数据的最大设备编号,下一轮询周期代替当前轮询周期,执行步骤s1,若否,执行步骤s4。
所述上传周期的时间长度为可变更的固定值,上传周期的时间长度与网络情况和数据量的多少有关。
所述轮询周期的时间长度为可变更的固定值,轮询周期的时间长度与被轮询设备的协议特性有关。
所述j的取值从1开始。
与现有技术相比,本发明具有以下优点:
(1)设备轮询效率:将原本需要在一个连续的时间内完成的任务,分解到各个轮询周期,明显加快了边缘计算网关轮询设备数据的速度,且提高了网关的整体性能。
(2)数据上传效率:在各个轮询周期内,将时间进一步离散为若干个上传周期,在每个上传周期都对最新的设备数据进行上传操作,并利用本周期的空余时间,对过去轮询周期内未上传的设备数据进行上传,即保证了最新数据上传的实时性,也提高了被阻塞数据的上传效率。
(3)成本问题:可以在不增加计算单元和网络通信单元的情况下,友好的运行在现有边缘计算网关中。
附图说明
图1为本发明的流程图;
图2为本发明的网关与周边系统结构图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
本实施例提供一种基于边缘计算网关的工业物联网数据实时上传方法,通过离散化方法降低数据上传时间复杂度,解决网关数据上传实时性差导致的工业物联网发展瓶颈问题。
方法概括:
a.根据当前的系统时间,确定网关当前所执行的轮询周期和上传周期的开始时间。
b.在当前的上传周期,按照轮询周期接收数据的逆序执行待上传设备数据的上传,即先完成当前轮询周期所接收到的所有待上传设备数据的上传,再对上一轮询周期未上传的设备数据进行查找,并执行上传操作。每次上传后,判断时间是否已经超出了当前上传周期,如果是,则重新获取当前系统时间(进入下一上传周期),并重复执行前面的步骤,否则继续对轮询周期中未上传数据进行查找、上传操作。
实施步骤如下,如图1所示:
步骤1:进入当前轮询周期t。轮询周期的时间长度为可变更的固定值,可根据被轮询设备的协议特性进行设定。
步骤2:进入当前上传周期i。上传周期的时间长度为可变更的固定值,可以根据现场网络情况和数据量的多少进行设定。执行步骤2。
步骤3:网关数据上传单元在当前上传周期i中上传当前轮询周期t已接收到的数据,每次按设备序号从大到小排列对n条未上传的数据进行上传。其中,网关数据上传单元每次上传的数据条数不超过n,n的大小取决于被轮询设备的协议类型和现场网络条件,根据工业现场实际运行情况进行优化调整。执行步骤4。
步骤4:判断当前上传周期i是否结束,若是,下一上传周期i+1代替当前上传周期i,执行步骤s2,若否,执行步骤s5。
步骤5:判断当前轮询周期t的全部数据是否已上传完毕,如果是,j=j+1,则进入步骤6;否则,返回步骤3。
步骤6:判断是否为当前轮询周期t,如果是,则进入步骤7,否则,记录当前轮询周期t已上传的最大设备编号(max),进入步骤7。
步骤7:网关数据上传单元将查找时间后退一个轮询周期长度,即对轮询周期t-j的数据进行查找,j的初始值为1。执行步骤8。
步骤8:判断轮询周期t-j是否接收到过数据,如果是,进入步骤9;否则,返回步骤1。
步骤9:网关数据上传单元判断轮询周期t-j是否记录有已上传数据的最大设备编号,如果是,将该设备编号记录为最大设备编号(maxl),进入步骤10;否则,轮询周期t-j的数据代替当前轮询周期t的数据,返回步骤3。
步骤10:网关数据上传单元查找上一轮询周期未上传的数据的最大设备编号,判断是否大于maxl,如果是,轮询周期t-j的数据代替当前轮询周期t的数据,返回步骤3;否则,进入步骤11。
步骤11:获取当前的系统时间,判断是否超过当前上传周期i。如果是,下一上传周期i+1替代当前上传周期i,返回步骤1;否则,j的值增加1,返回步骤7。
本实施例工业物联网数据实时上传方法具有以下优点:
设备轮询效率:将原本需要在一个连续的时间内完成的任务,分解到各个轮询周期,明显加快了边缘计算网关轮询设备数据的速度,且提高了网关的整体性能。
数据上传效率:在各个轮询周期内,将时间进一步离散为若干个上传周期,在每个上传周期都对最新的设备数据进行上传操作,并利用本周期的空余时间,对过去轮询周期内未上传的设备数据进行上传,即保证了最新数据上传的实时性,也提高了被阻塞数据的上传效率。
成本问题:可以在不增加计算单元和网络通信单元的情况下,友好的运行在现有边缘计算网关中。