欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 数据采集方法、设备、存储介质、数据传输方法和网关独创技术62525字

数据采集方法、设备、存储介质、数据传输方法和网关

2021-02-08 13:24:36

数据采集方法、设备、存储介质、数据传输方法和网关

  技术领域

  本发明涉及工业数据采集领域。更具体地,涉及一种数据采集方法、设备、存储介质、数据传输方法、网关和数据采集系统。

  背景技术

  在离散制造行业,企业管理层往往需要准确的采集和掌握生产现场的实时情况包括:生产制造数据,如设备数据、生产过程数据、质量数据等。设备数据:如设备运行状态信息、实时工艺参数信息、故障信息、维修/维护信息等;生产过程数据:如生产计划、产品加工时间、加工数量、加工人员、加工参数、产品完工率等;质量数据:如产品质量信息、工艺质量信息等。

  从流程生产行业,数据主要包括工艺数据、过程数据以及作业实绩。其中,工艺数据主要是指温度、压力、电流、电压等直接影响生产效率、产品质量的数据。过程数据是指生产过程中所使用或者产生的数据,比如物料、计划、生产节拍等等。而实绩数据包括投入产出数量、合格率等等。

  通过对采集到的各种工业数据进行加工处理后,以各种方式进行输出和展现,可以使企业管理者第一时间了解设备生产的实时情况,如实时状态、加工工艺数据等,做出及时、科学的产线管理决策和优化。

  生产工艺数据优化主要表现在:设备工艺参数监控,将采集到的设备工艺参数,如温度、压力等,与设定的标准参数进行实时比对与管控,从而实现对生产过程进行实时、动态、严格的工艺控制,确保产品质量的稳定性。

  工艺改进与优化,对制造过程的主要工艺参数与完工后的产品合格率进行综合分析,便于为工艺改进与优化。生产过程追溯,通过产品制造的过程数据实现对产品制造历史的追溯,达到问题复现、质量追溯等目的。

  在现有技术中,数据采集系统应用十分的广泛,比如中国专利文献专利申请号201810698288.2,名称《一种结合PLC与云服务技术的空调监控装置》公开了一种数据采集系统。

  依据该专利文献,这种结合PLC与云服务技术的空调监控装置,包括传感器数据采集模块、电动阀、水泵/电机数据采集模块、PLC逻辑控制器、采集板卡、工控机/触摸屏、工业网关、有线网络模块、云服务器数据模块和空调系统监测平台。其中、现场传感器、电动阀、水泵/电机都属于现场传感或执行器,PLC和采集模块、采集板卡用于连接现场传感器完成数据采集和控制,工控机/触摸屏用于通过有线网络模块实现对来自PLC和采集模块的采集数据做本地展示,而工业网关用于来自PLC和采集模块的采集数据转发至云服务器数据模块,实现采集数据的远程监控。

  在该技术方案中,PLC控制器用来采集传感器信号、控制现场仪表及阀门的数据,现场可以有组态软件或者触摸屏和PLC控制器做现场人机交互。工业网关通过与PLC和数采模块的通信实现采集数据,并把数据转发到远程监控平台。

  发明内容

  本发明的一个目的在于提供一种数据采集方法、设备、存储介质、数据传输方法、网关和数据采集系统。

  为达到上述目的,本方案采用下述技术方案:

  第一方面,本方案提供一种数据采集方法,该方法的步骤包括:

  获取数据采集的轮询周期,以及某一数据单元的注册时间间隔和含有该数据单元的等待信息的时间戳;其中,所述等待信息包括:实际等待采集时间、距离执行数据采集的剩余时间和等待次数中的一种或多种;

  根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集。

  在一种优选地实施例中,所述根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集的步骤包括:

  若所述实际等待采集时间大于或等于注册时间间隔,则对数据单元执行数据采集,并初始化其所对应的时间戳。

  在一种优选地实施例中,所述根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集的步骤包括:

  若所述实际等待采集时间小于注册时间间隔,则更新数据单元的时间戳,记录本次数据采集操作,并结束本次数据采集操作

  在一种优选地实施例中,所述根据实际等待采集时间和注册时间间隔的关联关系,对所述数据单元执行数据采集的步骤包括:

  继续执行下一个数据单元的数据采集操作,直至所有数据单元轮询完毕。

  在一种优选地实施例中,所述更新数据单元的时间戳,记录本次数据采集操作的步骤包括:

  在所述时间戳中累加一个所述轮询周期。

  在一种优选地实施例中,所述根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集的步骤包括:

  所述距离执行数据采集的剩余时间为注册时间间隔和实际等待采集时间的差值;

  若所述距离执行数据采集的剩余时间小于或等于零,则对数据单元执行数据采集,并初始化其所对应的时间戳。

  在一种优选地实施例中,所述根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集的步骤包括:

  若距离执行数据采集的剩余时间大于零,则更新数据单元的时间戳,记录本次数据采集操作,并结束本次数据采集操作。

  在一种优选地实施例中,所述根据实际等待采集时间和注册时间间隔的关联关系,对所述数据单元执行数据采集的步骤包括:

  继续执行下一个数据单元的数据采集操作,直至所有数据单元轮询完毕。

  在一种优选地实施例中,所述更新数据单元的时间戳,记录本次数据采集操作的步骤包括:

  在所述时间戳中减除一个所述轮询周期。

  在一种优选地实施例中,所述根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集的步骤包括:

  所述实际等待采集时间为等待次数和轮询周期的乘积;

  若所述实际等待采集时间大于或等于注册时间间隔,则对数据单元执行数据采集,并初始化其所对应的时间戳。

  在一种优选地实施例中,所述根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集的步骤包括:

  若所述实际等待采集时间小于注册时间间隔,则更新数据单元的时间戳,记录本次数据采集操作,并结束本次数据采集操作。

  在一种优选地实施例中,所述根据实际等待采集时间和注册时间间隔的关联关系,对所述数据单元执行数据采集的步骤包括:

  继续执行下一个数据单元的数据采集操作,直至所有数据单元轮询完毕。

  在一种优选地实施例中,所述更新数据单元的时间戳,记录本次数据采集操作的步骤包括:

  在所述时间戳中执行一个计数器加1的操作。

  在一种优选地实施例中,所述轮询周期的取值范围为:1/20TS至1/2TS,其中,TS为数据采集过程中所有数据单元中最小的注册时间间隔。

  第二方面,本方案提供一种数据采集装置,该装置包括:

  获取模块,获取数据采集的轮询周期,以及某一数据单元的注册时间间隔和含有该数据单元的等待信息的时间戳;其中,所述等待信息包括:实际等待采集时间、距离执行数据采集的剩余时间和等待次数中的一种或多种;

  执行模块,根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集。

  第三方面,本方案提供一种设备,包括:存储器,一个或多个处理器;存储器与处理器通过通信总线相连;处理器被配置为执行存储器中的指令;所述存储介质中存储有用于执行如上所述数据采集方法中各个步骤的指令。

  第四方面,本方案提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述数据采集方法的步骤。

  第五方面,本方案提供一种数据传输方法,该方法的步骤包括:

  基于如上所述的数据采集方法,对数据进行采集,获得数据信息;

  在通信畅通的情况下,将数据信息以数据块的形式,按照预定顺序依次发送至外部设备。

  在一种优选地实施例中,所述基于如上所述的数据采集方法,对数据进行采集,获得数据信息的前一步骤包括:

  对获取的含有采集点表的配置文件进行解析,获得包含采集点表的配置信息;

  将配置信息存放到内存采集队列,根据采集点表对应采集数据单元的数据信息。

  在一种优选地实施例中,所述基于如上所述的数据采集方法,对数据进行采集,获得数据信息的后一步骤包括:

  按照本次对数据单元轮询采集的先后顺序,以二进制数据格式将采集到的数据信息分类进行打包,形成数据块。

  在一种优选地实施例中,该方法的步骤还包括:

  在通信中断的情况下,将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备续传数据。

  在一种优选地实施例中,所述在通信中断的情况下,将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备续传数据的步骤包括:

  按时间先后顺序存在文件中;

  若文件大于预定大小,则存成一个新的文件,每个缓存数据文件根据数据文件的先后时间为其命名。

  在一种优选地实施例中,所述在通信中断的情况下,将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备续传数据的步骤包括:

  按照预定时间,重连通信网络;

  若重连成功,继续按照网络正常时的预定时间间隔发送实时数据;重起一个新的线程,并按照每两条缓存数据之间具有预定休眠间隔的方式,发送缓存数据。

  在一种优选地实施例中,所述发送缓存数据的步骤包括:按照文件的时间先后顺序依次发送,每重发成功一条缓存数据,删掉该条数据的记录,直至所有缓存数据发送完。

  在一种优选地实施例中,所述在通信中断的情况下,将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备续传数据的步骤包括:若连接失败,继续按照预定时间重连检测通信网络。

  第六方面,本方案提供一种网关,该网关包括:

  数据采集模块,基于如上所述的数据采集方法,对数据进行采集,获得数据信息;

  传输模块,在通信畅通的情况下,将数据信息以数据块的形式,按照预定顺序依次发送至外部设备。

  在一种优选地实施例中,该网关还包括:

  配置模块,对获取的含有采集点表的配置文件进行解析,获得包含采集点表的配置信息;将配置信息存放到内存采集队列,根据采集点表对应采集数据单元的数据信息。

  在一种优选地实施例中,该网关还包括:

  打包模块,按照本次轮询采集的先后顺序,以二进制数据格式将采集到的数据信息分类进行打包,形成数据块。

  在一种优选地实施例中,所述传输模块还执行,在通信中断的情况下,将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备续传数据。

  在一种优选地实施例中,该网关还包括:

  转存模块,按时间先后顺序存在文件中;若文件大于预定大小,则存成一个新的文件,每个缓存数据文件根据数据文件的先后时间为其命名。

  在一种优选地实施例中,该网关还包括:

  中断重连模块,按照预定时间,重连通信网络;

  若重连成功,继续按照网络正常时的预定时间间隔发送实时数据;重起一个新的线程,并按照每两条缓存数据之间具有预定休眠间隔的方式,发送缓存数据。

  在一种优选地实施例中,所述中断重连模块,若连接失败,继续按照预定时间重连检测通信网络。

  第七方面,本方案提供一种工业数据采集系统,该系统包括:远程监控平台、工业网关和数据采集模块;

  所述工业网关采用如上所述的网关;

  所述远程监控平台基于无线通信,通过所述工业网关,从数据采集单元获取数据信息。

  在一种优选地实施例中,所述数据采集单元包括:可编程逻辑门电路、组态软件和传感器的一种或多种。

  本发明的有益效果如下:

  本申请所述技术方案中每个数据单元能够具有独立的注册时间间隔,既可以满足每个数据单元的数据采样频率,又可以减少不必要的数据交互,从而提高数据采集的效率。

  本申请所述技术方案中以二进制数据格式将采样数据分类打包消息,减少网关和远程监控平台的通信数据量,提高传输效率,减轻通信带宽压力。

  本申请所述技术方案通过设置中断重发机制,在保证网络重连后,实时数据正常传输的情况下,能够继续传输由于网络中断导致传输失败的数据,保证了数据传输的有效性和完整性,同时,能够减少由于网络中断导致传输失败的数据在中断重发过程中对宽带带来的传输压力。

  附图说明

  为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1示出本方案所述数据采集方法的示意图。

  图2示出本方案所述等待信息与注册时间间隔之间的预定关联关系的一个实例的示意图。

  图3示出本方案所述等待信息与注册时间间隔之间的预定关联关系的另一个实例的示意图。

  图4示出本方案所述等待信息与注册时间间隔之间的预定关联关系的再一个实例的示意图。

  图5示出本方案所述数据采集装置的示意图。

  图6示出本方案所述电子设备的示意图。

  图7示出本方案所述数据传输方法的示意图。

  图8示出本方案所述通信中断的情况下,数据转存重发的一个实例的示意图。

  图9示出本方案所述网关的示意图。

  图10示出本方案所述工业数据采集系统的示意图;

  图11示出本方案实施例中所述工业网关中对传感器的采集配置的示意图。

  图12示出本方案实施例中所述将多个地址连续的指标数据整合到一个传感器的一个实例的示意图。

  图13示出本方案实施例中所述中断重连机制的一个实例的示意图。

  具体实施方式

  为使本发明的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

  经过对现有技术的分析和研究,针对不同的工业现场,数据采集系统可以有不同的变化形式,比如:现场可以没有触摸屏或组态软件的情况。又比如现场存在多个PLC控制器和数采模块的情况时,工业网关可以通过与多个PLC和数采模块通信,将获取的采集数据转发至云服务器数据模块,实现海量采集数据的远程监控。再比如,现场PLC数据已经发送到组态软件或者触摸屏的情况下,工业网关也可以直接与组态软件或触摸屏进行通信,用以从中获取采集数据,再将采集数据转发至云服务器数据模块,实现采集数据的远程监控。

  因此,现有技术中的数据采集方案存在的问题之一是:数据采集时间间隔与实际需求的存在矛盾的问题。当工业网关从同一个PLC或数采模块中采集很多数据点,比如有100个数据点时,现有技术是采用统一的数据采集时间间隔,比如采集时间间隔为1秒,换而言之,这100个数据点的数据采集时间间隔都只能是1秒钟。但在实际的工业数据采集需求中,每个数据点的性质是不同的,采集所需数据的频次是不同的,比如开关量信号,需要的数据采集频次较高,用于及时捕获变化信号;而温度、压力一些变化缓慢的模拟量信号,需要的数据采集频次就不需要太高。统一的采集间隔很难满足此类场景的需要。

  现有技术中的数据采集系统存在的另一个问题是:数据传输效率的问题。在现有技术中,当工业网关与PLC通信时,一旦向PLC请求多个数据时,PLC就会返回给工业网关这些数据点的全部实时值,在现有技术中,一般会根据这些实时值的属性,把这多个值解析成多个key,通过key和value的组合发送给远程监控平台。这种数据的传送通常采用json格式,一个字符占一个字节,特别是采用4G传输时耗费流量较大,效率很低。

  针对现有技术中存在的一个问题,本方案提出一种应用于工业数据采集系统的数据采集方法,该方法能够依据不同数据单元的注册时间间隔(即数据单元的数据采样时间间隔),获取所有数据单元中最短的注册时间间隔,使工业数据采集系统的轮询周期(即系统数据采样时间)小于该最小的注册时间间隔。再依据每个数据单元的记录其等待信息的时间戳和该工业数据采集系统的轮询周期,判断数据单元的等到信息是否满足与其注册时间间隔的预设关联条件,再决定是否从该数据单元获取数据。通过这种方式使得每个采样数据点可以独立配置采集时间间隔。既可以满足采样频率的需要,又可以减少不必要的数据交互,从而能够有效克服现有技术中数据采集的时间间隔不一致的问题。

  以下,结合图1对本方案提出的一种数据采集方法进行详细描述。该方法可以包括如下步骤:

  步骤S1、获取数据采集的轮询周期,以及某一数据单元的注册时间间隔和含有该数据单元的等待信息的时间戳;

  步骤S2、根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集。

  在本方案步骤S1中,数据采集的轮询周期可以是指工业数据采集系统进行数据采集过程中,对所有的传感器(sensor)执行一次数据采集(即一次数据采集轮询)时,上一次数据采集轮询开始到本次数据采集轮询开始的时间间隔,即两次数据采集轮询的时间间隔。

  数据单元可以是用于采集温度、湿度、压力、开关信号等数据信息的传感器,也可以是测量数值的仪器仪表。

  数据单元的注册时间间隔是指,每个传感器所对应的采样间隔时间,每个传感器的采样间隔时间可以通过外部设备远程进行配置,以满足系统数据采集的需求。

  在本方案步骤S1中,数据单元的等待信息可以包括:实际等待采集时间、距离执行数据采集的剩余时间和等待次数等。在采集数据时,可以根据需要调整需要获取的等待信息,进而形成多种时间戳的设计方案,此处仅仅是举例说明,不仅限于上述包括几个特征。

  本方案步骤S1的可以应用于远程数据采集的实施场景。例如,远程监控平台需要实施数据采集时,远程监控平台需要通过无线网络获取所需数据,此时,可以通过网关实现网络层的互连,同时可以一并实现部分控制操作。具体地,可以利用工业网关获取正在处于工作状态的传感器(sensor)的数据采集的轮询周期,以及传感器的注册时间间隔和含有该传感器的等待信息的时间戳。工业网关利用数据采集的轮询周期,以及传感器时间戳中等待信息,对传感器执行数据采集的操作。

  在本方案步骤S2中,预设关联关系是指,时间戳中包含的传感器的等待信息与传感器的注册时间间隔满足一定的采集条件。例如,在传感器的实际等待采集时间大于或等于传感器的注册时间间隔的情况下,对传感器执行数据采集的操作;再例如,在所述距离执行数据采集的剩余时间小于或等于零的情况下,对数据单元执行数据采集的操作;再例如,可以先利用等待信息中的等待次数和数据采集的轮询周期,计算出传感器的实际等待采集时间,再判断传感器的实际等待采集时间是否大于或等于注册时间间隔,进而对数据单元执行数据采集的操作。

  具体来讲,根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集的步骤可以通过如下方式实现。

  如图2所示,一种可能的实现方式为:步骤S21、若所述实际等待采集时间大于或等于注册时间间隔,则对数据单元执行数据采集,并初始化其所对应的时间戳;

  步骤S21的一种可能应用场景是:工业网关通过步骤S1的方式获取轮询周期、传感器的注册时间间隔,以及该传感器的实际等待采集时间;判断该传感器的实际等待采集时间是否已经满足所述注册时间间隔要求,如果实际等待采集时间大于或等于注册时间间隔,则对传感器执行数据采集的操作;同时,利用所述的注册时间间隔更新传感器的时间戳。

  步骤S22、若所述实际等待采集时间小于注册时间间隔,则更新数据单元的时间戳,记录本次数据采集操作,并结束本次数据采集操作。

  在步骤S22中,结束本次数据采集操作后,进一步与后续采集操作衔接,因此,在步骤S22结束数据采集操作后,需要继续执行下一个数据单元的数据采集操作,直至所有数据单元轮询完毕。

  对于步骤S22中更新数据单元的时间戳,记录本次数据采集操作的具体操作可以是,在传感器的时间戳中累加一个轮询周期,以此来完成对时间戳的更新。

  如图3所示,另一种可能的实现方式为:所述距离执行数据采集的剩余时间为注册时间间隔和实际等待采集时间的差值;

  步骤S23、若所述距离执行数据采集的剩余时间小于或等于零,则对数据单元执行数据采集,并初始化其所对应的时间戳。

  步骤S23的一种可能应用场景是:工业网关通过步骤S1的方式获取轮询周期、传感器的注册时间间隔,以及该传感器的实际等待采集时间;先进行一次简单的计算,即利用注册时间间隔和实际等待采集时间的差值,求得距离执行数据采集的剩余时间;再判断该传感器的距离执行数据采集的剩余时间是否已经满足所述注册时间间隔要求,如果距离执行数据采集的剩余时间小于或等于零,则对传感器执行数据采集的操作,同时,利用所述的注册时间间隔更新传感器的时间戳。

  步骤S24、若距离执行数据采集的剩余时间大于零,则更新数据单元的时间戳,记录本次数据采集操作,并结束本次数据采集操作。

  在步骤S24中,结束本次数据采集操作后,进一步与后续采集操作衔接,因此,在步骤S23结束数据采集操作后,需要继续执行下一个数据单元的数据采集操作,直至所有数据单元轮询完毕。

  对于步骤S24中更新数据单元的时间戳,记录本次数据采集操作的具体操作可以是,在传感器的时间戳中减去一个轮询周期,以此来完成对时间戳的更新。

  如图4所示,还有一种可能的实现方式为:所述实际等待采集时间为等待次数和轮询周期的乘积;

  步骤S25、若所述实际等待采集时间大于或等于注册时间间隔,则对数据单元执行数据采集,并初始化其所对应的时间戳。

  步骤S25的一种可能应用场景是:工业网关通过步骤S1的方式获取轮询周期、传感器的注册时间间隔,以及该传感器的实际等待采集时间;先进行一次简单的计算,即利用等待次数和轮询周期的成绩,求得实际等待采集时间;再判断该传感器的实际等待采集时间是否已经满足所述注册时间间隔要求,如果实际等待采集时间大于或等于注册时间间隔,则对传感器执行数据采集的操作;同时,利用所述的注册时间间隔更新传感器的时间戳。

  步骤S26、若所述实际等待采集时间小于注册时间间隔,则更新数据单元的时间戳,记录本次数据采集操作,并结束本次数据采集操作。

  在步骤S26中,结束本次数据采集操作后,进一步与后续采集操作衔接,因此,在步骤S25结束数据采集操作后,需要继续执行下一个数据单元的数据采集操作,直至所有数据单元轮询完毕。

  对于步骤S26中更新数据单元的时间戳,记录本次数据采集操作的具体操作可以是,在所述时间戳中执行一个计数器加1的操作,以此来完成对时间戳的更新。

  本方案中对于轮询周期有一定的设置要求,所述轮询周期的取值范围为:1/20TS至1/2TS,其中,TS为数据采集过程中所有数据单元中最小的注册时间间隔。

  具体来讲,轮询周期是一个固定的时间间隔,包括两个部分:轮询采集时间和休眠时间。所述的轮询采集时间是指工业网关对每个传感器执行一遍数据采集所需的时间,所述的休眠时间是指工业网关对每个传感器执行完数据采集后,距离下一次数据采集轮询开始,需要等待的时间。

  轮询周期可以按照如下的条件设计实施:1)在保证能及时采集到每个传感器数据的情况下,轮询周期应该尽量小。2)为了保证每个轮询周期能访问所有传感器,轮询周期必须大于工业网关和数据单元之间的通信交互时间,所以轮询周期不能太小。3)为了保证采集的完整性,所有传感器的注册时间间隔应为轮询周期的整数倍。作为举例说明,当在所有传感器中,最小的注册时间间隔为TS,则轮询周期取值范围应在1/20TS至1/2TS之间进行选择。

  如图5所示,本方案进一步提供了配合上述数据采集方法实施的数据采集装置101,该装置包括:

  获取模块102,获取数据采集的轮询周期,以及某一数据单元的注册时间间隔和含有该数据单元的等待信息的时间戳;其中,所述等待信息包括:实际等待采集时间、距离执行数据采集的剩余时间和等待次数中的一种或多种;

  执行模块103,根据所述等待信息和注册时间间隔的预设关联关系,对所述数据单元执行数据采集。

  数据采集装置101工作时,利用获取模块102获取数据采集的轮询周期,以及某一数据单元的注册时间间隔和含有该数据单元的等待信息的时间戳。其中,所述等待信息包括:实际等待采集时间、距离执行数据采集的剩余时间和等待次数中的一种或多种;在实际应用时,可以根据需要包含的不同等待信息,设计不同方案的时间戳,并以此作为执行模块的执行依据。执行模块103根据时间戳包含的等待信息,以及预先设定的关联关系,判断等待信息是否满足预设关联关系,进而确定是否对数据单元执行数据采集的操作。

  在上述数据采集方法实施方式的基础上,本方案进一步提供一种计算机可读存储介质。该计算机可读存储介质用于实现上述数据采集方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

  所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

  计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

  计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

  可以以一种或多种程序设计语言的任意组合来编写用于执行本方案操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

  在上述数据采集方法实施方式的基础上,本方案进一步提供一种电子设备。图SSS所示电子设备仅仅是一个示例,不应对本方案实施例的功能和使用范围带来任何限制。

  如图6所示,电子设备201以通用计算设备的形式表现。电子设备201的组件可以包括但不限于:至少一个存储单元202、至少一个处理单元203、显示单元204和用于连接不同系统组件的总线205。

  其中,所述存储单元202存储有程序代码,所述程序代码可以被所述处理单元203执行,使得所述处理单元203执行上述数据采集方法中描述的各种示例性实施方式的步骤。例如,所述处理单元203可以执行如图1中所示的步骤。

  存储单元202可以包括易失性存储单元,例如随机存取存储单元(RAM)和/或高速缓存存储单元,还可以进一步包括只读存储单元(ROM)。

  存储单元202还可以包括具有程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

  总线205可以包括数据总线、地址总线和控制总线。

  电子设备201也可以与一个或多个外部设备207(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口206进行。应当明白,尽管图中未示出,可以结合电子设备201使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

  针对现有技术中存在的另一个问题,本方案进一步提出一种工业数据采集系统的数据采集方法,该方法以每个数据单元中存放的数据必须具备相同格式为原则,对每次采集到的数据进行收集和保存,数据采集完成后,再分别将所述的数据单元的数据打包传送至远端服务器,从而克服现有技术存在的数据传输效率低的问题。

  针对上述问题,本方案可以先对数据单元进行适当配置。具体来说,是预先或这通过远程监控平台配置,将具有相同数据格式的数据设定在同一数据单元中;随后,在数据单元获取数据信息时,将数据信息中数据格式相同的数据,存入对应的预先设定有该数据格式的数据单元中。待数据单元接收到例如网关等外部设备发来的采集控制信号时,数据单元将存储的数据信息传输至网关。

  对数据单元进行预先配置是指,对传感器进行设置,使传感器中指标数据的地址都是连续的,与此同时,需要确保每个传感器中存入数据信息的数据类型和注册时间间隔是相同的。

  本方案为了进一步提高数据传输的效率,还提供了一种数据传输方法,以下,结合图7对本方案提出的一种数据传输方法进行详细描述。该方法可以包括如下步骤:

  步骤S4、基于上述实例描述的数据采集方法,对数据进行采集,获得数据信息;

  步骤S6、在通信畅通的情况下,将数据信息以数据块的形式,按照预定顺序依次发送至外部设备。

  在本方案步骤S4中,基于上述实例描述的数据采集方法,在传感器的等待信息与传感器的注册时间间隔满足预定关联关系的情况下,采集的数据信息;具体数据采集的方法已在上述实例中详细介绍和描述,此处不再赘述。

  在本方案步骤S6中,数据块是指,每个传感器按照本次轮询采集的先后顺序,以一定的数据格式对采集到的数据实施打包的数据形式。

  在一种可选的实施方式下,所述数据传输方法还包括如下步骤:

  步骤S3、对获取的含有采集点表的配置文件进行解析,获得包含采集点表的配置信息;将配置信息存放到内存采集队列,根据采集点表对应采集数据单元的数据信息。

  在步骤S3中,采集点表是指,把多个地址连续、数据类型相同且采用间隔一致的指标放在同一传感器中,网关在进行数据交互时,可以一次采集一个传感器的全部指标数据。

  步骤S3的一种可能实施方式是:将采集点表通过手动添加的方式配置到网关中,也可以通过软件或表格的方式自动导入。另一种可能的实施方式是:是远程控制中心将采集点表以消息的形式发送给工业网关,工业网关收到上述的采集点表文件后,执行解析操作,生成配置信息,并将配置信息存放到内存采集队列。

  在一种可选的实施方式下,所述数据传输方法还包括如下步骤:

  步骤S5、按照本次轮询采集的先后顺序,以一个数据块的形式分类对采集到的数据信息进行打包。

  步骤S5的一种可能实施方式是:工业网关每采集一个传感器的数据,以二进制数据格式将每个传感器采集的数据分类打包成数据块。其中,每个数据块的头中包含这个数据块的属性信息,包括数据块对应的传感器ID、数据块采集时间、数据类型、数据点个数。数据块头后面直接放数据,比如一个传感器中要采集10个数据点,数据块头的后面就一次依次存放10个数据点。

  在一种可选的实施方式下,所述数据传输方法还包括如下步骤:

  步骤S7、在通信中断的情况下,将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备续传数据。

  具体来说,如图8所示,步骤S7可以通过以下步骤实现:

  步骤S71、按时间先后顺序存在文件中;若文件大于预定大小,则存成一个新的文件,每个缓存数据文件根据数据文件的先后时间为其命名。

  步骤S72、按照预定时间,重连通信网络;

  若重连成功,继续按照网络正常时的预定时间间隔发送实时数据;重起一个新的线程,并按照每两条缓存数据之间具有预定休眠间隔的方式,发送缓存数据;若连接失败,继续按照预定时间重连检测通信网络。其中,发送两条缓存数据之间有一定的休眠间隔,能够减少缓存数据对带宽的压力。

  在步骤S72中,发送缓存数据的方式可以是:按照文件的时间先后顺序依次发送,每重发成功一条缓存数据,删掉该条数据的记录,直至所有缓存数据发送完。

  步骤S7的一种可能的实施方式为:每次数据采集的轮询结束后,工业网关都把打包的数据通过mqtt消息发送给远程监控平台。每条消息均包括消息头开始,消息头,消息头后面的消息体由一个一个前面所述的数据块组成。数据块的存放顺序是按照采集的先后顺序存放的,发送顺序也是按照数据块的顺序依次发送的。在数据实时传输的过程中,如果工业网关和远程监控平台出现网络中断的情况,则会启动中断重发机制。中断重发机制可以包括如下步骤:缓存发送失败的数据程序;按照预定时间重连网络;重连成功,则发送缓存数据;重连失败,则按照预定时间继续重连网络。

  在上述数据传输方法实施方式的基础上,本方案进一步提供一种网关。利用网关实现远程监控平台执行对传感器数据的采集操作。

  如图9所示,该网关301包括:

  数据采集模块302,基于上述数据采集方法,对数据进行采集,获得数据信息;

  传输模块304,在通信畅通的情况下,将数据信息以数据块的形式,按照预定顺序依次发送至外部设备308;在通信中断的情况下,将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备308续传数据。

  在一种可选的实施方式下,该网关301还包括:配置模块306,对获取的含有采集点表的配置文件进行解析,获得包含采集点表的配置信息;将配置信息存放到内存采集队列,根据采集点表对应采集数据单元的数据信息。

  在一种可选的实施方式下,该网关301包括:打包模块303,按照本次轮询采集的先后顺序,以二进制数据格式将采集到的数据信息分类进行打包,形成数据块。

  在一种可选的实施方式下,该网关301还包括:转存模块305,按时间先后顺序存在文件中;若文件大于预定大小,则存成一个新的文件,每个缓存数据文件根据数据文件的先后时间为其命名。

  在一种可选的实施方式下,该网关301还包括:中断重连模块307,按照预定时间,重连通信网络;若重连成功,继续按照网络正常时的预定时间间隔发送实时数据;重起一个新的线程,并按照每两条缓存数据之间具有预定休眠间隔的方式,发送缓存数据;若连接失败,继续按照预定时间重连检测通信网络。

  该网关301工作时,首先根据远程监控平台下发的配置信息,利用配置模块306对工业网关进行采集点表的配置;配置完毕后,数据采集模块302根据上述实例中描述数据采集方法,对传感器执行数据采集操作,获得数据信息;随后,再利用打包模块303按照本次轮询采集的先后顺序,以二进制数据格式将采集到的数据信息分类进行打包,形成数据块;打包好的数据将通过传输模304块至远程监控平台。在数据传输的过程中,若网络通信畅通,则实时将数据信息以数据块的形式,按照预定顺序依次发送至外部设备。若网络通信发生中断,则需要将发送失败的数据和待发送的数据缓存到本地,调整通信状态,向外部设备续传数据。此时,需要利用转存模块305按时间先后顺序存在文件中;若文件大于预定大小,则存成一个新的文件,每个缓存数据文件根据数据文件的先后时间为其命名。与此同时,中断重连模块307按照预定时间,重连通信网络;若重连成功,继续按照网络正常时的预定时间间隔发送实时数据;重起一个新的线程,并按照每两条缓存数据之间具有预定休眠间隔的方式,发送缓存数据若连接失败,继续按照预定时间重连检测通信网络。通过设置中断重发机制,在保证网络重连后,实时数据正常传输的情况下,能够继续传输由于网络中断导致传输失败的数据,保证了数据传输的有效性和完整性,同时,能够减少由于网络中断导致传输失败的数据在中断重发过程中对宽带带来的传输压力。

  在上述网关的实施方式的基础上,本方案进一步提供一种工业数据采集系统,该系统利用网关实现对远程传感器数据的控制和采集。

  如图10所示,该系统可以包括:远程监控平台401、工业网关402、PLC控制器403和传感器405。所述工业网关采用如上述实例中所述的网关301。该系统中,利用传感器405可以采集智能钻机设备现场的各种开关、温度、压力等信号。通过PLC控制器403把传感器采集的电信号转换为数字信号。PLC控制器403还可以通过自身的逻辑运算控制钻机系统的运行。

  工业网关402与PLC控制器403实时通信,并由PLC控制器403将从传感器405采集到的电信号转换为数字信号的开关、温度、压力等信号的实时值;通过工业网关402将这些数据上传至远程监控平台401。远程监控平台401可以对工业网402关采集的数据进行图形化展示、阈值报警、以及更深层次的信息处理,如产线状态分析、预测性分析等。以上系统中涉及到的设备和器件仅仅是举例说明,不仅限于上述包括的设备和器件。

  本方案中,工业网关402可以从一个PLC控制器403采集数据,也可以同时从多个PLC控制器403采集数据。

  PLC控制器403也可以是由数据采集板卡或者远程测控终端(RTU,RemoteTerminal Unit)来构成。当PLC控制器403的上一层包括了触摸屏或组态软件404时,工业网关402也可以从触摸屏或者组态软件上直接采集数据。

  工业网关402和远程监控平台401之间可以是无线通信,也可以是通过有线的局域网络进行通信。

  下面结合一个应用实例对本方案作进一步描述。

  如图10所示,本实例以用于石油开采的工业数据采集系统为例。本实施例中工业数据系统包括:远程监控平台401,工业网关402、PLC控制器403和传感器等。

  该系统中可以通过远程监控平台401对工业网关402、PLC控制器403和传感器405进行配置和控制。远程监控平台通过工业网关402和PLC控制器403的交互,完成对传感器405数据的采集工作。

  石油开采现场可以设置多种类型的传感器405,可以根据需要采集智能钻机设备的例如开关、温度、压力等数据信号。

  工业网关402能够同时与多个PLC控制器403进行通信,在与PLC控制器403进行交互的过程中,PLC控制器403可以将传感器405采集的开关、温度、湿度、压力等电信号转换为数字信号,再由工业网关402将这些数字信号发送至远程监控平台401。远程监控平台401可以通过无线网络或有线局域网络进行数据的传输;远程监控平台401对工业网关402传输回来的数据进行图形化展示、阈值报警、以及更深层次的信息处理,如产线状态分析、预测性分析等

  本实施例中,PLC控制器403还可以根据远程控制平台401下达的控制指令,通过逻辑运算控制钻机系统的运行。

  PLC控制器403也可以是由数据采集板卡或者远程测控终端(RTU,RemoteTerminal Unit)来构成。当PLC控制器403的上一层包括了触摸屏或组态软件404时,工业网关402也可以从触摸屏或者组态软件404上直接采集数据。

  在本实施例中,工业网关402作为核心的采集和传输设备,能够执行传感器405的数据采集、数据传输等操作,还可以根据远程监控平台401下发的点表配置信息对工业网关402自身、PLC控制器403和传感器405的采集点表进行配置。

  首先,对于工业网关402的数据采集点表配置过程如下:

  基于本实施例中工业数据采集系统的数据交互框架,工业网关中对传感器的采集配置可以抽象三层:PLC层、sensor层和指标数据层,一个工业网关下面可以建立多个PLC层的链接,每个PLC层下可以包含多个sensor层,每个sensor层又可以包含一个或多个指标数据(data)层。如图11所示,这里的传感器(sensor)可以是一个对应包含一个或多个指标数据data的数据单元。

  在本实施例中,是把多个地址连续、数据类型相同且采样间隔一致的指标放在了同一个sensor中,工业网关和PLC控制器的一次交互就可以采集一个sensor的全部指标数据data,即一串数据点。

  结合图12对如何将多个地址连续的指标数据整合到一个sensor中进行举例说明。例如:有三个sensor分别是sensorA、sensorB和sensorC,要采集PLC控制器的某数据区的10个数据点,其地址依次为:1、2、4、5、7、8、9、10、11、12,这10个数据点,则可以通过配置sensorA采集2个数据点(地址1和地址2),sensorB采集2个数据点(地址4和地址5),sensorC采集6个数据点(地址7~地址12),使在每个sensor中,指标数据的地址都是连续的。

  此处,除了判断地址是否连续外,还要考虑指标数据的数据类型的一致性,一般PLC的数据类型分为BOOL(开关量)、BYTE(字节)、WORD(字)、INT(有符号整型)、REAL(实数型)等,不同数据类型的长度是不同的,例如,有的指标数据的BOOL类型占1个bit,REAL类型占用4个字节,其他数据类型占用空间也不尽相同。在本实施例中,所述的数据类型的一致性,是指数据类型一致的数据可以配置到同一个sensor中。

  另外,除了判断地址是否连续,指标数据的数据类型的一致性以外,还需考虑到sensor中每个指标数据的采样间隔时间的一致性,在本实施例中,不同的传感器4的采样间隔时间可能是不同的,比如开关量信号,需要的数据采集频次较高,采样间隔时间较短,用于及时捕获变化信号;而温度、湿度或压力传感器,需要的数据采集频次就不需要太高,采样间隔时间较长。在本实施例中,所述的采样间隔一致性,是指只有采样间隔时间相同的数据指标才可以配置在同一个sensor中。

  依照上述要求,完成数据采集点表的配置后,每个sensor的配置信息将包括PLC控制器的地址信息(PLC数据区、偏移地址、数据类型等),以及该sensor所对应的采样间隔时间。这里需要注意的是,采样间隔时间即为该sensor的注册时间间隔。

  本实施例中,在工业网关的内部或者工业网关的控制平台上都可以进行工业网关的采集点表的配置,按照PLC、sensor、数据data三层配置,可完成采集点表的配置。对工业网关的采集点表配置,可以通过手动添加来实现,也可以依据上述原则,通过软件或还包括csv表格,实现自动导入。

  此处以远程监控平台对工业网关进行采集点表的配置为例,进行举例说明:

  采集点表的发送步骤可以是,对采集点表的配置完成后,在远程监控平台配置页面点击“更新网关”按钮,将用户配置的数采点表解析整合成json格式,通过MQTT消息下发给工业网关。

  采集点表的设置步骤可以是,工业网关接收到上述的采集点表文件后,执行解析操作,生成配置信息,并将配置信息存放到内存采集队列;

  本实施例中,在工业网关执行解析操作的同时,还需要根据每个sensor的注册时间间隔为工业数据采集系统的数据采集设定了一个轮询周期。此处,工业网关对所有传感器执行一次数据采集即完成一次数据采集轮询;因此,轮询周期就是指上次数据采集轮询开始到本次数据采集轮询开始的时间间隔,也就是两次数据采集轮询的时间间隔。

  对于轮询周期的设定,可以遵循如下要求:

  1、为了能及时采集到每个传感器的数据,轮询周期应该尽量小;

  2、为了保证每个轮询周期能访问所有创拿起,轮询周期需要大于工业网关和PLC控制器的通信交互时间,所以轮询周期不能太小。

  3、所有传感器的注册时间间隔应为轮询周期的整数倍。

  基于上述要求,轮询周期取值范围可以在1/20TS至1/2TS之间进行选择,其中,TS为所有传感器中,最小的注册时间间隔。

  下面举例对轮询周期的设定进行说明,当工业网关和PLC控制器通过ModbusTCP协议进行通信,需要采集50个sensor中的指标数据data,且50个sensor中,最小的注册时间间隔为1秒,50个sensor的通信交互时间在50~70ms,且因为一般注册时间间隔为整数秒,即1000ms的整数倍,而1000ms的约数有100ms、200ms、250ms、500ms,为减少累计时间误差,且兼顾轮询周期尽量小,这里选用100ms,即1/10TS作为轮询周期。

  此外,在本举例说明中,当sensor数量比较少时,比如只有5个sensor时,为了追求数据采集的时间精度或减少时间误差,也可以选用50ms,即1/20TS作为轮询周期。

  另外,当sensor的数量比较多,或者网关2和PLC3的一次交互时间较长时,即轮询采集一遍所有sensor的时间较长,而所属的最小注册时间间隔TS又不大(和通信时间比较接近),可以选用1/2TS作为轮询周期。

  本实施例中,工业网关执行对传感器的数据采集的过程如下:

  在本实施例中,采集队列中的配置信息包含每个传感器的注册时间间隔、一个用于记录每个传感器的等到信息的时间戳;该时间戳中可以记录实际等待采集时间、距离执行数据采集的剩余时间和等待次数等信息。

  工业网关执行对传感器的数据采集时,将按照所述的采集队列中的配置信息与PLC控制器进行交互,完成每个传感器的数据采集过程;工业网关与PLC控制器的一次链接就是一个独立的线程,每一个采集线程中,工业网关会轮询一遍内存采集队列,依据队内存采集列中存放的采集点表的解析,执行数据采集操作。

  工业网关在轮询到某个传感器,对其执行数据采集时,需要先获取所述的轮询周期信息,一个与该传感器对应的时间戳信息,以及该传感器的注册时间间隔信息.

  然后,依据所述轮询周期信息和该传感器对应的采集时间戳信息,判断该传感器的实际等待采集时间是否满足其注册时间间隔要求。当该传感器的实际等待采集时间满足其注册时间间隔要求时,即可向PLC请求数据,开始对该传感器执行数据采集,同时,初始化其所对应的时间戳;当该传感器的实际等待采集时间不满足其注册时间间隔要求时,更新其所对应的时间戳中后,执行其他传感器的数据采集操作。

  上述的判断该传感器的实际等待采集时间是否已经满足注册时间间隔要求,属于预先设置的一种实际等待采集时间和注册时间间隔之间的关联关系。本实施例中,将这种关联关系设置为:判断该传感器的实际等待采集时间是否大于或等于该传感器的注册时间间隔,来决定工业网关是否执行对该传感器的数据采集操作。

  由于时间戳记录的等待信息中还可以为距离执行数据采集的剩余时间和等待次数等信息。因此,对于等待信息与注册时间间隔之间的关联关系,可以根据等待信息的不同而相应进行调整。与此同时,实际等待采集时间、距离执行数据采集的剩余时间和等待次数等信息之间是存在一定联系的,例如,可以利用该等待次数信息与所述轮询周期的乘积,计算出该传感器的实际等待采集时间。还可以利用实际等待采集时间与注册时间间隔信息的差值,计算出该传感器距离执行数据采集的剩余时间。

  进一步的,由于时间戳记录的信息不同,那么,当等待信息不满足注册时间间隔要求时,时间戳更新的内容也会不同。在本实施例中,当判断该传感器的等待信息尚不满足注册时间间隔要求时,说明该传感器不需要采集,则在更新时间戳后,记录下本次操作,继续轮询下一个传感器的数据采集。此时,当时间戳记录的是该传感器实际等待采集时间时,则更新时间戳,可以是指在所述的时间戳中累加一个所述的轮询周期。当所述时间戳是记录了该传感器距离执行数据采集的剩余时间时,则更新时间戳时,可以是指在该时间戳中减除一个所述的轮询周期。而当所述时间戳是记录了该传感器已经等待了多少次数据采集的等待次数信息时,则更新时间戳,可以是指执行一个计数器加一的操作。

  在本实施例中,当所有传感器轮询一遍,完成一次轮询数据采集动作后,会依据系统轮询周期的要求,执行下一个轮询的数据采集动作。

  本实施例中,为了减少工业网关和远程监控平台的通信数据量,提高传输效率,减轻通信带宽压力,可以将工业网关获取的数据打包成数据格式进行传输。具体的方式如下:

  工业网关每采集一个传感器的数据,就将该传感器的数据按照本次轮询采集的先后顺序,以一个数据块的形式对采集到的数据实施打包。每个数据块的头中包含这个数据块的属性信息,包括数据块对应的传感器ID、数据块采集时间、数据类型、数据点个数。数据块头后面直接放数据,比如一个sensor中要采集10个数据点,数据块头的后面就一次依次存放10个数据点。

  本实施例中,为了保证了数据传输的有效性和完整性,在系统传输过程中设置了中断重发机制,从而实现网络重连后,在保证实时数据正常传输的情况下,能够继续传输由于网络中断导致传输失败的数据。具体实施的过程如下:

  每次数据采集的轮询周期结束后,工业网关都会把打包的数据通过mqtt消息发送给远程监控平台。每条消息均包括:消息头开始,消息头,以及消息头后面的消息体由一个一个前面所述的数据块组成。在本实施例中,数据块的存放顺序是按照采集的先后顺序存放的,发送顺序也是按照数据块的顺序依次发送的。在工业网关向远程监控平台发送实时数据的过程中,如果工业网关和远程监控平台之间发生网络中断,则会立即触发中断重发机制,进行工业网关的断网续传操作。如图13所示,中断重发机制主要包括三个部分:1)缓存发送失败的数据;2)定时重连网络;3)发送缓存数据。中断重传机制的具体实施过程如下:

  在采集打包好数据后,调用mqtt发布函数发送实时数据,若发生网络中断,发布函数会返回基于socket中断的错误代码,据此可以判断发生了网络中断。将未成功发送的数据和待发送的数据缓存到本地,按时间先后顺序存在文件中,当文件大于一定大小,存成一个新的文件,每个缓存数据文件也按时间命名,可以判断数据文件的时间先后。

  启动一个定时程序,重新连接远程监控平台,如果连接失败,仍然定时重连检测网络,若重连成功,调用发送缓存数据程序。

  当网络重连成功后,仍然按照网络正常时按设定的时间间隔发送实时数据;重起一个新的线程发送缓存数据,按照文件的时间先后顺序依次发送,每重发成功一条缓存数据,就删掉该条数据的记录,直到所有缓存数据发送完。其中发送两条缓存数据之间有一定的休眠间隔,是为了减少缓存数据对带宽的压力。

  综上所述,本申请所述技术方案中每个数据单元能够具有独立的注册时间间隔,既可以满足每个数据单元的数据采样频率,又可以减少不必要的数据交互,从而提高数据采集的效率。本申请所述技术方案中以二进制数据格式将采样数据分类打包消息,减少网关和远程监控平台的通信数据量,提高传输效率,减轻通信带宽压力。本申请所述技术方案通过设置中断重发机制,在保证网络重连后,实时数据正常传输的情况下,能够继续传输由于网络中断导致传输失败的数据,保证了数据传输的有效性和完整性,同时,能够减少由于网络中断导致传输失败的数据在中断重发过程中对宽带带来的传输压力。

  本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

  本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

  这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

  这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

  显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

《数据采集方法、设备、存储介质、数据传输方法和网关.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)