机器数据收集方法、装置、设备及介质与流程

文档序号:20348511发布日期:2020-04-10 22:48阅读:190来源:国知局
机器数据收集方法、装置、设备及介质与流程

本发明涉及数据采集技术领域,尤其涉及一种机器数据收集方法、装置、设备及介质。



背景技术:

工业大数据连接云端是智能制造发展的必然过程,工业大数据连接云端要求企业将包括业务数据在内的一系列数据传输至云端,而制造企业的生产机器所产生的机器数据往往占业务数据的很大一部分,所以从某种意义上来说,对机器数据的采集影响着智能制造的成败。

不同制造领域的生成机器种类繁多,不同机器的数据采集的方式各有不同,从而导致将不同机器的数据进行上传时,其上传方式也各不相同。机器数据不仅种类多,且还具有数据产生频率高的特点,一台机器每秒产生一条数据,甚至每秒产生10条数据,因此机器数据采集端的压力非常大,且利用现有技术无法准确、高效的采集不同机器数据。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种机器数据收集方法,旨在屏蔽机器数据的差异性,对接收到的机器数据进行统一接收、处理和存储。

本发明的目的之一采用以下技术方案实现:

一种机器数据收集方法,包括以下步骤:

接收携带证书的机器数据,认证所述证书;

若认证通过,则对所述机器数据进行校验,将校验通过的机器数据加入消息队列进行处理;

存储消息队列处理后的机器数据。

进一步地,所述携带证书的机器数据包括证书和json格式的机器数据;所述携带证书的机器数据由发送端发送。

进一步地,所述发送端根据发送规范将采集到的原始机器数据进行处理,得到所述json格式的机器数据,具体为:将采集到的原始机器数据按照utf-8编码,并用json格式进行表示;其中,所述json格式的机器数据包括:机器标识、数据标识、时间戳和数据内容。

进一步地,所述发送端合并发送若干所述携带证书的机器数据。

进一步地,基于http协议接收所述携带证书的机器数据。

进一步地,对所述机器数据进行校验,包括:

对所述机器数据进行数据格式校验和自定义规则校验;

若所述机器数据的数据格式符合发送规范的规定且所述机器数据满足自定义规则,则校验通过;反之,校验不通过,丢弃所述机器数据;

其中,所述自定义规则校验包括空值校验、字段长度校验、字符串内容校验的任意一种或两种以上组合。

进一步地,将校验通过的机器数据加入消息队列进行处理,具体为:将校验通过的机器数据加入消息队列进行解耦;通过时序数据库存储所述消息队列处理后的机器数据。

本发明的目的之二在于提供一种机器数据收集装置,其通过对不同来源的机器数据进行统一采集、处理和存储,实现高效采集不同格式的机器数据。

本发明的目的之二采用以下技术方案实现:

数据接收模块,用于接收携带证书的机器数据,认证所述证书;

数据校验模块,用于对所述机器数据进行校验,将校验通过的机器数据加入消息队列进行处理;

数据存储模块,用于存储消息队列处理后的机器数据。

本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的机器数据收集方法。

本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的机器数据收集方法。

相比现有技术,本发明的有益效果在于:

本发明通过发送端采集不同类型的机器数据,在发送端对机器数据进行处理后,使得发送端基于相同协议上传的相同格式的机器数据,使对机器数据进行接收时,能屏蔽不同机器数据的差异性,能实现机器数据的统一处理和存储,从而实现对不同机器数据的收集。

附图说明

图1是本发明机器数据收集方法的流程图;

图2是实施例1的机器数据收集方法的架构图;

图3是实施例2的机器数据收集装置的结构框图;

图4是实施例3的电子设备的结构框图。

具体实施方式

以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。

实施例1

本实施例提供了一种机器数据收集方法,旨在根据相同的发送规范对不同格式的机器数据进行处理,并基于相同传输协议传输所述机器数据,使得服务端接收到的机器数据格式统一,便于后续对机器数据的进一步处理和存储,从而不考虑机器数据的差异性,实现高效收集机器数据。

根据上述原理,对机器数据收集方法进行介绍,如图1、图2所示,机器数据收集方法,具体包括以下步骤:

接收携带证书的机器数据,认证所述证书;

若认证通过,则对所述机器数据进行校验,将校验通过的机器数据加入消息队列进行处理;

存储消息队列处理后的机器数据。

本实施例所介绍的机器数据收集方法应用于服务端,服务端通过数据接收端口接收不同发送端发送的携带证书的机器数据,该发送端为机器数据的线下采集端。当所述发送端数量较大或发送端的发送频率非常高时,服务端可同时部署多个数据接收端口,实现负载均衡,能有效提高高并发下的数据接收效率。

上述证书为服务端颁发的证书,服务端的会对证书进行认证,以确保所述机器数据是由合法的发送端发送的。

优选地,服务端与发送端之间基于http协议进行数据传输。在本实施例中,上述证书的认证过程为ssl认证,ssl认证的过程为本领域内的公知常识,在此不再赘述。

因服务端与发送端基于http协议进行通信,则发送端的实现方式与数据接收端无关,从而达到兼容多语言的目的。当发送端与服务端之间建立传输通道时,服务端会对发送端的证书进行认证,确认发送端合法。

优选地,所述携带证书的机器数据包括证书和json格式的机器数据;所述携带证书的机器数据由发送端发送。

优选地,所述发送端根据发送规范将采集到的原始机器数据进行处理,得到所述json格式的机器数据,具体为:将采集到的原始机器数据按照utf-8编码,并用json格式进行表示;其中,所述json格式的机器数据包括:机器标识、数据标识、时间戳和数据内容,机器标识为机器的固定id,数据标识为标记数据的id,时间戳为机器数据的发送时间。

上述发送规范包括:数据传输采用的协议,如http协议,传输的数据格式、编码方式等,本实施例用于传输的数据格式为json格式,编码方式为utf-8。

发送端采集原始机器数据后,根据所述发送规范将原始数据进行处理,使得发送端发送至服务端的机器数据均为utf-8编码的json格式,且基于http协议传输。

优选地,所述发送端可以将多条机器数据合并后携带证书发送,本实施例中合并后的携带证书的机器数据不超过512kb,若超过512kb,则服务端拒绝接收。

优选地,对所述机器数据进行校验,包括:

对所述机器数据进行数据格式校验和自定义规则校验;

若所述机器数据的数据格式符合发送规范的规定且所述机器数据满足自定义规则,则校验通过;反之,校验不通过,丢弃所述机器数据;

其中,所述自定义规则校验包括空值校验、字段长度校验、字符串内容校验的任意一种或两种以上组合。

因本实施例采用的发送规范规定用于传输的数据格式为json格式,因此服务端接收携带证书的机器数据后,对所述机器数据进行数据格式校验(强制校验),若所述机器数据的数据格式为json格式,则所述机器数据的数据格式符合发送规范的规定,数据格式校验通过;反之,丢弃所述机器数据。

上述自定义规则校验根据预先配置的自定义规则进行,可根据实际情况对校验规则进行自定义,包括但不限于空值校验规则、字段长度校验规则、字符串内容校验规则;在进行自定义规则校验时,可以根据情况选择一种自定义规则或组合两种以上的自定义规则对机器数据进行校验;在。需要注意的是,自定义校验是对接收的每条所述机器数据的进行逐一校验,当多条机器数据合并在一个数据块中发送时,服务端接收该数据块之后,对数据块中的每条所述机器数据的进行逐一校验,只有自定义校验通过的机器数据会被加上数据块的发送时间(以特殊字段名_sendtime的形式),然后加入消息队列。反之,自定义校验不通过的机器数据将被丢弃。

优选地,将校验通过的机器数据加入消息队列进行处理,具体为:将校验通过的机器数据加入消息队列进行解耦;通过时序数据库存储所述消息队列处理后的机器数据。

上述消息队列为暂时存储机器数据的容器,是一个存储数据的链表。本实施例所述的消息队列具体为分布式消息队列,将校验通过的机器数据加入该消息队列,即实现数据解耦的目的,使得不同的消息消费者均可以按需、独立读取机器数据,且不会对其他消息消费者造成影响。本实施例所述的消息队列为外部应用提供接口,使得对消息队列有读写权限的进程可以向消息队列读写数据。在接收到的机器数据的并发量较大时,通过该消息队列还能有效降低机器数据存储的写入压力。

上述时序数据库全称为时间序列数据库,时间序列数据库主要用于存储带时间标签(即本实施例中的时间戳)的数据。在服务端中,从消息队列获取处理后的机器数据存储至时序数据库中,因机器数据包含时间戳,该时序数据库根据时间戳存储相应的机器数据。本实施例中的时序数据库选用influxdb。influxdb是一个时间序列数据库,能处理海量写入与负载查询。

需要注意的是,本实施例所提及的服务端可以为云服务器或物理服务器,所述物理服务器即传统服务器,具有独立的cpu、内存条、硬盘等,本实施例中选用云服务器实现数据接收、处理和存储功能,从而实现机器数据的收集和云端存储。

实施例2

本实施例公开了一种对应上述实施例的机器数据收集方法的装置,为虚拟结构装置,如图3所示,包括:

数据接收模块310,用于接收携带证书的机器数据,认证所述证书;

数据校验模块320,用于对所述机器数据进行校验,将校验通过的机器数据加入消息队列进行处理;

数据存储模块330,用于存储消息队列处理后的机器数据。

本实施例的虚拟结构装置可以设置在服务端上,即服务端包括数据接收模块310、数据校验模块320和数据存储模块330。在服务端和发送端基于http协议建立数据传输通道后,服务端通过数据接收模块310接收携带证书的机器数据,并对接收到的证书进行认证,以确保发送端合法。当发送端高并发的向服务端发送机器数据或存在多个发送端时,服务端可部署多个数据接收模块310,通过配置实现负载均衡,保证服务端的接收效率。

证书认证通过后,数据校验模块320分别根据发送规范和自定义规则,对机器数据进行数据格式校验(强制校验)和自定义规则校验,若机器数据的数据格式符合所述发送规范规定且所述机器数据满足自定义规则时,校验通过,反之不通过。

在本实施例中,数据存储模块330根据机器数据包含的时间戳对机器数据进行存储。

实施例3

图4为本发明实施例3提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;计算机设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的机器数据收集方法对应的程序指令/模块(例如,机器数据收集装置中的数据接收模块310、数据校验模块320和数据存储模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现实施例1的机器数据收集方法。

存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置430可用于读写入机器数据。输出装置440用于输出和显示机器数据等。

实施例4

本发明实施例4还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现机器数据收集方法,该方法包括:

接收携带证书的机器数据,认证所述证书;

若认证通过,则对所述机器数据进行校验,将校验通过的机器数据加入消息队列进行处理;

存储消息队列处理后的机器数据。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的机器数据收集方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述机器数据收集方法或装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

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