CN107390650B - 一种基于物联网的数据采集系统及基于该系统的数据压缩方法 - Google Patents
一种基于物联网的数据采集系统及基于该系统的数据压缩方法 Download PDFInfo
- Publication number
- CN107390650B CN107390650B CN201710532983.7A CN201710532983A CN107390650B CN 107390650 B CN107390650 B CN 107390650B CN 201710532983 A CN201710532983 A CN 201710532983A CN 107390650 B CN107390650 B CN 107390650B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- unit
- frame
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Abstract
本发明公开了一种基于物联网的数据采集系统及基于该系统的数据压缩方法,涉及物联网和工业数据采集领域,包括现场数据采集单元、现场代理单元、远程通讯网关单元、消息队列集群单元、分布式数据处理单元、云存储中心单元及云监控单元。本发明基于离散解耦的微服务架构,实现了对分散、异构的资源进行整合的同时,能够根据服务的规模进行动态无缝的扩展。同时,本发明创造性地将采集数据划分为了元数据与制造数据,并通过不同的编码算法进行数据压缩,使得不同类型的数据采集需求都可以只依赖于一个远程通讯网关,进而实现统一管理和资源的高效利用。本发明能够实现在数据采集过程中减少网络带宽的同时,兼容不同设备的工业物联网数据采集。
Description
技术领域
本发明涉及工业物联网的数据采集领域,尤其涉及一种基于数据压缩技术的物联网数据采集系统及基于该系统的数据压缩方法。
背景技术
随着物联网技术在工业领域的快速推广,以及感知层传感技术的迅猛发展,诸如“数控一代”工程的数控缝纫机和“智能车间”应用的工业机器人中因需要多维度感知设备运行状态,需嵌入各式各样的传感器。然而,由于各设备生产厂商的通讯协议和数据采集规范各不相同,传统的数据采集系统必须面对“特定厂家、特定设备、特定规范”进行定制,其往往不能很好地兼容不同厂家的设备差异且数据采集效率低下。如何实现一种可解耦通信协议且高效的数据采集系统,已经成为“物联网”和“智能制造”中亟待解决的关键技术问题。
发明内容
本发明的目的在于提供一种可兼容不同的采集设备,且采集效率高的基于数据压缩技术的物联网数据采集系统。
为达成上述目的,本发明采用的技术方案如下:
一种基于物联网的数据采集系统,包括现场数据采集单元、现场代理单元、远程通讯网关单元、消息队列集群单元、分布式数据处理单元、云存储中心单元、云监控单元;
所述的现场数据采集单元与所述的现场代理单元之间,采用工业数据总线进行连接;
所述的现场代理单元与所述的远程通信网关单元,所述的远程通讯网关单元与所述的消息队列集群单元,所述的消息队列集群单元与所述的分布式数据处理单元,所述的分布式数据处理单元与所述的云存储中心单元之间,所述的云监控单元与所述的现场代理单元,所述的云监控与所述的远程通讯网关单元,所述的云监控单元与所述的分布式数据处理单元,采用Internet/Intranet网络进行连接。
所述的现场数据采集单元包括传感器模块、控制器模块、现场总线模块,分别部署在数据采集终端上。
所述的传感器模块按照PLC模块编程定义,实时或定时采集工业生产现场各类传感器所感知的制造数据;
所述的控制器模块,控制传感器模块的采集行为,并将传感器模块的制造数据存储到寄存器中,并通过现场总线模块将寄存器中的制造数据发送到现场代理单元模块,同时,控制器根据现场代理单元模块接收的远程通信网关模块下行的控制指令,可修改控制器模块中对传感器模块的采样频率、上报频率等参数的编程定义;
所述的现场总线模块,是现场数据采集单元与现场代理单元的通信传输线路。
所述的现场代理单元,包括协议适配模块、代理模块,部署在车间临近服务器上。
所述的协议适配模块,通过将个性的制造数据按照分布式数据处理中心定义的数据格式规约转换成通用protobuf(Protocol Buffer,google发布的一种数据交换格式)数据格式,并存储到本地缓存;
所述的代理模块,包含现场总线、数据接收、筛选归并、编码压缩和指令转发、心跳功能;所述的现场总线,一方面,作为现场代理单元现场数据采集单元的传输线路;另一方面,作为现场代理单元与远程通讯网关单元的传输线路;所述的数据接收,接收现场数据采集单元通过现场总线模块传输的制造数据,并将该制造数据通过协议适配模块缓存到本地缓存中;所述的筛选归并,一方面,筛选出所述协议适配模块缓存的protobuf数据中符合筛选参数配置的数据项,另一方面,归并所述协议适配模块缓存的protobuf数据中符合归并参数配置的数据项;所述的指令转发,一方面,将筛选归并后的数据项、元数据(含现场代理单元的识别信息和数据项定义)一同封装为原始数据,并将上行指令进行编码压缩,其中数据项定义至少包含采样频率、数据类型;另一方面,接收远程通讯网关单元下发的控制指令,并将控制指令转发到本协议适配与代理单元所代理的现场数据采集单元。所述的编码压缩(以下简称压缩),指将原始数据进行压缩编码,其中元数据采用字典编码算法,数据项采用帧编码算法。其中元数据包含现场代理单元的识别信息和数据项定义,其中帧编码包含帧头(含基准值、振幅和采样频率)、数据字节。所述的帧头,是压缩的参数。所述的输出字节,是编码压缩处理完毕后实时汇报给远程通信网关单元的传输字节。
所述的心跳,代理模块会定期向云监控单元发送心跳包,告知监控中心本单元存续状态以及负载状态。
所述的远程通讯网关单元,包括通讯服务模块、鉴权服务模块、协议解析模块,部署在采用边界网关协议BGP(Border Gateway Protocol)多线路互联的网关服务器上。
所述的压缩算法步骤如下:
步骤1:选取帧的原始数据:定义数据项数组D[i,j],并将数组的每个元素标识为Di,其中i为数据的产生时间,是一个以1970年1月1日的08:00为基准的相对时间,单位为毫秒(ms);j为相对时间i的测量值,提取数组的首个i值,作为时间基准值T,根据元数据的采样频率F,将数组D[i,j]中的F个元素提取作为帧压缩的输入数据;当数组D[i,j]中不足F个元素时,则提取全部数据;
步骤2:计算基准测量值V和振幅A,基准测量值V采用首基准或均值基准;振幅A是根据采集数据的类型进行选择。;
步骤3:定义帧头,帧头包括4个值片段:时间基准值片段t、采样频率片段f、振幅片段a以及基准测量值片段v,其中t、f、a、v可以通过后续的步骤5计算得到;
步骤4:定义帧头的值片段编码规则,每个值片段包含32位:
步骤4.1:第1位作为正负标识,1为正数,0为负数;
步骤4.2:第2至5位作为10的幂标识,其中第2位作为幂的正负标识,1为正数,0为负数,3至5位以二进制表示幂的值,当幂为零时,用二进制1000标识;
步骤4.3:其余27位作为该片段的数值位;
例:-9999.9999=-99999999*10-4→00100101111101011110000011111111。
步骤5:组装帧头,使用步骤4所述的编码规则对时间基准值T进行编码,得到时间基准值片段t;使用步骤4所述的编码规则对采样频率F进行编码,得到采样频率片段f;使用步骤4所述的编码规则对基准测量值V进行编码,得到基准测量值片段v;使用步骤4所述的编码规则对振幅A进行编码,得到振幅片段a,并将t、f、a、v进行组装,得到帧头;
步骤6:定义数据帧片段的编码规则,每个片段包含一个测量值的编码,共16位;
步骤6.1:第1位作为正负标识,1为正数,0为负数;
步骤6.2:第2至3位作为10的幂标识,其中第2位作为幂的正负标识,1为正数,0为负数,第3位以二进制表示幂的值,当幂为零时,用二进制1000标识;
步骤6.3:其余13位作为该片段的数值位;
步骤7:对数据帧片段进行转换和编码,根据帧头的基准测量值V,依次计算每个Di所对应的测量值vi,转换公式为vi=j-V,并将vi按步骤6的编码规则进行编码,如果vi超出了数据帧片段可标识的范围大小,则称之为断帧;反之,则将数据帧全部编码完成并封帧;
步骤8:对断帧的处理,如步骤7所述,当发生断帧时,则将Di的前序数据封为一个帧,第Di组数据开始为新的一帧,新帧需从步骤1开始重新编码。
所述的通讯服务模块,一方面,实时接收协议适配与代理单元汇报的上行指令;另一方面,实时接收云监控单元所发送的包含控制数据的下行指令;
所述的鉴权服务模块,通过鉴别协议适配与代理单元汇报的上行指令中的识别码的是否合法,并将合法的指令传送给协议解析模块;
所述的协议解析模块,将鉴权服务模块传送的数据按照约定的数据格式进行解析出元数据和制造数据,并根据识别码信息分发到消息队列集群的对应队列中。
所述的消息队列集群单元,包含多个节点的消息服务实例,部署在云服务器上,所述消息服务,接收远程通讯网关单元传送的数据,然后有序存储在本机缓存中,并异步或同步的将该数据汇报给的其他节点,所述的多个节点消息服务实例,其中包含主节点实例、备节点实例两类,主节点实例之间是平级和对等的关系,远程通讯网关根据一定的算法将数据汇报到主节点的任一实例中,备节点实例是针对一个主节点实例而言,也即主节点实例绑定备节点实例,备节点实例在主节点实例正常运作时,只接收主节点的同步数据,而不对外提供服务,当主节点实例宕机或者停止服务时,对应的备节点实例会接手主节点实例任务,并对外提供消息服务,消息队列集群单元的任一主节点实例接收到远程通讯网关传送的数据都会异步向其绑定的备节点实例汇报一份同样的数据。
所述的分布式数据处理单元,包含消息获取模块、分拣模块、存储接口模块、实时处理模块,部署在云服务器上。
所述的消息获取模块,实时不间断的读取消息队列集群单元中的消息,并将获取的消息传递给分拣模块;
所述的分拣模块,接收消息获取模块传送的消息,通过将消息的元数据进行字典解码,提取元数据信息;通过提取数据项帧头,将数据信息进行还原,并根据消息的元数据将消息传递给对应的存储接口模块和实时处理模块;
所述的存储接口模块,包含多种数据库的存储接口和多种元数据类型的存储接口,负责将分拣模块或实时处理模块传递的数据转存至云存储中心单元;
所述的实时处理模块,负责根据预设模型对数据进行实时的计算处理,并调用存储接口模块将数据存储至云存储中心单元。
所述的云存储中心单元,包含内存数据库模块、关系型数据库模块、NoSql数据库模块以及时序数据库模块,部署在云服务器中;
所述的内存数据库模块,将数据以键值对的方式存储到本机内存中,同时提供异步的内存数据持久化到本地文件的功能;
所述的关系型数据库模块,根据元数据将数据存储到对应的实体表中,同时提供半同步方式的数据备份,也即,将数据二进制日志文件异步传送到对应的备份模块中,并由备份模块解析二进制日志文件形成对应的实体表信息;
所述的NoSql数据库模块,根据元数据将数据存储到对应的逻辑表中,并支持多样本的数据冗余;
所述的时序数据库模块,主要存储与时间强关联的数据;
所述的云监控单元,包含代理监控模块、网关监控模块、实时数据监控模块,部署在云服务器上;
所述的代理监控模块,实时监控现场代理单元的服务状况,所述的服务状况,包含服务连通、持续时间、负载情况,所述的服务连通,现场代理单元通过定期发送心跳包的方式告知云监控单元其存活状态,当云监控单元超时或多次未接收到现场代理单元的心跳包,则判定该代理失联,也即服务无法连通;所述的持续时间,现场代理单元首次连通服务时,一直与云监控保持连通的持续时间;所述的负载情况,定期心跳包中包含了负载信息,描述了现场代理单元的当前负载情况;
所述的网关监控模块,定期PING远程通讯网关的端口,并将是否连通、延迟等信息记录到云存储中心单元;
所述的实时数据监控模块,将分布式数据处理单元中实时数据处理模块存储到云存储中心单元中的数据实时的呈现到云监控单元;
作为本发明的优化方案,所述的远程通讯网关单元,采用多区域机房和三层负载均衡技术部署,以支持现场代理单元跨运营商及高并发访问。
作为本发明的优化方案,所述的云存储中心单元,采用物理分区、分布式集群部署,以支持海量制造数据管理和高并发访问。
作为本发明的优化方案,所述的云监控单元,采用服务器集群部署,以支持工业环境的高并发访问。
本发明创造性地将字典编码算法与帧编码算法应用到了物联网数据采集系统,实现了一种在极大降低数据采集消耗的网络带宽的同时,兼容不同的采集设备的数据采集系统,能够快速、便捷地识别设备异常数据点,并予以告警或人工干预。
采用上述方案后,本发明具有以下优点及积极效果:
(1)本发明基于离散解耦的微服务架构,使得功能单元的可扩展性更强,同时实现了对分散、异构的资源进行有效的整合,可以根据功能单元的服务规模来动态调整,能够为不同设备制造商的不同设备提供同时在线的数据采集服务,且各单元都可以根据需求的规模进行灰度拓展;
(2)本发明将传统的TCP/IP通讯协议实践中的传输数据,划分为了元数据与制造数据,从数据中抽象出了数据格式,并将数据格式定义为元数据,通过数据与数据格式的剥离,可以达到远程通讯网关单元是业务解耦的,使得不同类型的数据采集需求都可以只依赖于一个远程通讯网关,统一管理和资源的高效利用;同时,采用字典编码压缩算法对元数据进行编码压缩和采用帧压缩算法对制造数据进行压缩,有效降低频繁汇报数据的资源消耗和加强了数据传输的安全性;
(3)本发明能够在数据采集的过程中,实时监控设备状态和参数,第一时间发现问题,实现设备运转的透明化管理,云存储中心单元拥有完整的设备历史数据,可追溯分析故障,通过实时监控生产设备的运转情况,不断优化工艺过程,从而提高产品质量,提高生产效率。
附图说明
图1为本发明的物理部署图。
图2为本发明的结构示意图。
图3为本发明的数据处理与压缩流程图。
图4为本发明的数据压缩算法流程图。)
图5为本发明的现场数据采集单元结构图。
图6为本发明的现场代理单元结构图。
图7为本发明的远程通讯网关单元结构图。
图8为本发明的分布式数据处理单元结构图。
图9为本发明的云存储中心单元结构图。
图10为本发明的云监控单元结构图。
具体实施方式
为了进一步解释本发明的技术方案,下面通过具体实施例来对本发明进行详细阐述。
本实施例以RT-IDAS智能数据采集系统为原型,详细描述本发明的实施方式。RT-IDAS智能数据采集系统,基于微服务架构,依赖云环境,针对制造业中的设备高复杂、高技术、高差异的特点,通过现场数据采集、现场代理,将分布、独立的设备联系为层层代理的树形结构,以实现对制造数据的实时采集与传输,并具有统一管理、统一接入、统一存储等功能。
如图1至图10所示,本发明揭示了一种基于物联网的数据采集系统,包括现场数据采集单元100、现场代理单元200、远程通讯网关单元300、消息队列集群单元400、分布式数据处理单元500、云存储中心单元600、云监控单元700。
所述的现场数据采集单元100与所述的现场代理单元200之间,采用工业数据总线进行连接。
所述的现场代理单元200与所述的远程通信网关单元300,所述的远程通讯网关单元300与所述的消息队列集群单元400,所述的消息队列集群单元400与所述的分布式数据处理单元500,所述的分布式数据处理单元500与所述的云存储中心单元600之间,所述的云监控单元700与所述的现场代理单元200,所述的云监控700与所述的远程通讯网关单元300,所述的云监控单元700与所述的分布式数据处理单元500,采用Internet/Intranet网络进行连接。
如图5所示,所述的现场数据采集单元100,包括传感器模块101、控制器模块102、现场总线模块103,部署在数据采集终端上;
所述的传感器模块101,按照PLC模块编程定义,实时或定时采集工业生产现场各类传感器所感知的制造数据;
所述的控制器模块102,控制传感器模块的采集行为,并将传感器模块的制造数据存储到寄存器中,并通过现场总线模块103将寄存器中的制造数据发送到现场代理单元模块200。同时,控制器根据现场代理单元模块200接收的远程通信网关模块300下行的控制指令,可修改控制器模块中对传感器模块101的采样频率、上报频率等参数的编程定义;
所述的现场总线模块103,是现场数据采集单元100与现场代理单元200的通信传输线路。
如图6所示,所述的现场代理单元200,包括协议适配模块201、代理模块202,部署在车间临近服务器上;
所述的协议适配模块201,通过将个性的制造数据按照分布式数据处理单元500定义的数据格式规约转换成通用protobuf数据格式,并存储到本地缓存;
所述的代理模块202,包含现场总线、数据接收、筛选归并、编码压缩和指令转发、心跳功能。所述的现场总线,一方面,作为现场代理单元200与现场数据采集单元100的传输线路;另一方面,作为现场代理单元200与远程通讯网关单元300的传输线路;所述的数据接收,接收现场数据采集单元100通过现场总线模块传103输的制造数据,并将该制造数据通过协议适配模块201缓存到本地缓存中;所述的筛选归并,一方面,筛选出所述协议适配模块201缓存的protobuf数据中符合筛选参数配置的数据项,另一方面,归并所述协议适配模块201缓存的protobuf数据中符合归并参数配置的数据项;所述的指令转发,一方面,将筛选归并后的数据项、元数据一同封装为上行指令,并将上行指令实时进行编码压缩,然后投递到远程通信网关单元300。所述的编码压缩(以下简称压缩),将原始数据进行压缩编码,其中元数据采用字典编码算法,数据项采用帧编码算法。其中帧编码包含帧头(含基准值和振幅)、输出字节。所述的帧头,是压缩的参数,包含采样频率、振幅、时间基准值和基准测量值。所述的输出字节,是编码压缩处理完毕后实时汇报给远程通信网关单元的传输字节是元数据相关的可空变量,在初始投递时,前序帧头为空;在初始投递之后,前序帧头由压缩算法赋值。所述的输出字节,是编码压缩处理完毕后实时汇报给远程通讯网关单元300;另一方面,接收远程通讯网关单元300下发的控制指令,并将控制指令转发到现场代理单元200所代理的现场数据采集单元100。所述的心跳,代理模块202会定期向云监控单元700发送心跳包,告知监控中心700本单元存续状态以及负载状态。
如图4所示,所述的压缩算法步骤如下:
步骤1:选取帧的原始数据:定义数据项数组D[i,j],并将数组的每个元素标识为Di,其中i为数据的产生时间,是一个以1970年1月1日的08:00为基准的相对时间,单位为毫秒(ms);j为相对时间i的测量值,提取数组的首个i值,作为时间基准值T,根据元数据的采样频率F,将数组D[i,j]中的F个元素提取作为帧压缩的输入数据;当数组D[i,j]中不足F个元素时,则提取全部数据;
步骤2:计算基准测量值V和振幅A,基准测量值V采用首基准或均值基准;振幅A是根据采集数据的类型进行选择。;
步骤3:定义帧头,帧头包括4个值片段:时间基准值片段t、采样频率片段f、振幅片段a以及基准测量值片段v,其中t、f、a、v可以通过后续的步骤5计算得到;
步骤4:定义帧头的值片段编码规则,每个值片段包含32位:
步骤4.1:第1位作为正负标识,1为正数,0为负数;
步骤4.2:第2至5位作为10的幂标识,其中第2位作为幂的正负标识,1为正数,0为负数,3至5位以二进制表示幂的值,当幂为零时,用二进制1000标识;
步骤4.3:其余27位作为该片段的数值位;
例:-9999.9999=-99999999*10-4→00100101111101011110000011111111。
步骤5:组装帧头,使用步骤4所述的编码规则对时间基准值T进行编码,得到时间基准值片段t;使用步骤4所述的编码规则对采样频率F进行编码,得到采样频率片段f;使用步骤4所述的编码规则对基准测量值V进行编码,得到基准测量值片段v;使用步骤4所述的编码规则对振幅A进行编码,得到振幅片段a,并将t、f、a、v进行组装,得到帧头;
步骤6:定义数据帧片段的编码规则,每个片段包含一个测量值的编码,共16位;
步骤6.1:第1位作为正负标识,1为正数,0为负数;
步骤6.2:第2至3位作为10的幂标识,其中第2位作为幂的正负标识,1为正数,0为负数,第3位以二进制表示幂的值,当幂为零时,用二进制1000标识;
步骤6.3:其余13位作为该片段的数值位;
步骤7:对数据帧片段进行转换和编码,根据帧头的基准测量值V,依次计算每个Di所对应的测量值vi,转换公式为vi=j-V,并将vi按步骤6的编码规则进行编码,如果vi超出了数据帧片段可标识的范围大小,则称之为断帧;反之,则将数据帧全部编码完成并封帧;
步骤8:对断帧的处理,如步骤7所述,当发生断帧时,则将Di的前序数据封为一个帧,第Di组数据开始为新的一帧,新帧需从步骤1开始重新编码。
如图7所示,所述的远程通讯网关单元300,包括通讯服务模块301、鉴权服务模块302、协议解析模块303,部署在采用边界网关协议BGP多线路互联的网关服务器上;
所述的通讯服务模块301,一方面,实时接收现场代理单元200汇报的上行指令;另一方面,实时接收云监控单元700所发送的包含控制数据的下行指令;
所述的鉴权服务模块302,通过鉴别现场代理单元汇报的上行指令中的识别码的是否合法,并将合法的指令传送给协议解析模块303;
所述的协议解析模块303,将鉴权服务模块302传送的数据按照约定的数据格式进行解析出元数据和制造数据,并根据识别码信息分发到消息队列集群单元400的对应队列中;
所述的消息队列集群单元400,包含多个节点的消息服务实例集群,部署在云服务器上。所述消息服务,接收远程通讯网关单元300传送的数据,然后有序存储在本机缓存中,并异步或同步的将该数据汇报给集群中的其他节点。所述的多个节点消息服务实例,其中包含主节点实例、备节点实例两类,主节点实例之间是平级和对等的关系,远程通讯网关单元300根据一定的算法将数据汇报到主节点的任一实例中,备节点实例是针对一个主节点实例而言,也即主节点实例绑定备节点实例,备节点实例在主节点实例正常运作时,只接收主节点的同步数据,而不对外提供服务,当主节点实例宕机或者停止服务时,对应的备节点实例会接手主节点实例任务,并对外提供消息服务。集群单元的任一主节点实例接收到远程通讯网关单元300传送的数据都会异步向其绑定的备节点实例汇报一份同样的数据。
如图8所示,所述的分布式数据处理单元500,包含消息获取模块501、分拣模块502、存储接口模块503、实时处理模块504,部署在云服务器上;
所述的消息获取模块501,实时不间断的读取消息队列集群单元400中的消息,并将获取的消息传递给分拣模块502;
所述的分拣模块502,接收消息获取模块501传送的消息,通过将消息的元数据进行字典解码,提取元数据信息;通过提取帧头和数据帧,将数据信息进行还原,并根据消息的元数据将消息传递给对应的存储接口模块503和实时处理模块504;
所述的存储接口模块503,包含多种数据库的存储接口和多种元数据类型的存储接口,负责将分拣模块502或实时处理模块504传递的数据转存至云存储中心单元600;
所述的实时处理模块504,负责根据预设模型对数据进行实时的计算处理,并调用存储接口模块503将数据存储至云存储中心单元600。
如图9所示,所述的云存储中心单元600,包含内存数据库模块601、关系型数据库模块602、NoSql数据库模块603以及时序数据库模块604,部署在云服务器中;
所述的内存数据库模块601,将数据以键值对的方式存储到本机内存中,同时提供异步的内存数据持久化到本地文件的功能;
所述的关系型数据库模块602,根据元数据将数据存储到对应的实体表中,同时提供半同步方式的数据备份,也即,将数据二进制日志文件异步传送到对应的备份模块中,并由备份模块解析二进制日志文件形成对应的实体表信息;
所述的NoSql数据库模块603,根据元数据将数据存储到对应的逻辑表中,并支持多样本的数据冗余;
所述的时序数据库模块604,主要存储与时间强关联的数据。
如图10所示,所述的云监控单元700,包含代理监控模块701、网关监控模块702、实时数据监控模块703,部署在云服务器上;
所述的代理监控模块701,实时监控现场代理单元200的服务状况,所述的服务状况,包含服务连通、持续时间、负载情况,所述的服务连通,现场代理单元200通过定期发送心跳包的方式告知云监控单元700其在活状态,当云监控单元700超时或多次未接收到现场代理单元200的心跳包,则判定该代理失联,也即服务无法连通;所述的持续时间,现场代理单元200首次连通服务时,一直与云监控单元700保持连通的持续时间;所述的负载情况,定期心跳包中包含了负载信息,描述了现场代理单元200的当前负载情况;
所述的网关监控模块702,定期PING远程通讯网关单元300的服务端口,并将是否连通、延迟等信息记录到云存储中心单元600;
所述的实时数据监控模块703,将分布式数据处理单元500中实时数据处理模块504存储到云存储中心单元600中的数据实时的呈现到云监控单元700。
如图3所示,本发明一个完整的数据采集与压缩流程如下:
现场数据采集单元采集数据并发送到现场代理单元,现场代理单元将数据依据上述压缩方法进行压缩后传送到远程通讯网关单元,远程通讯网关单元将数据传输至分布式数据处理单元对数据进行解压后存储到云存储中心单元。
作为本发明的优化方案,所述的远程通讯网关单元300,采用多区域机房和三层负载均衡技术部署,以支持现场代理单元200跨运营商及高并发访问。
作为本发明的优化方案,所述的云存储中心单元600,采用物理分区、分布式集群部署,以支持海量制造数据管理和高并发访问。
作为本发明的优化方案,所述的云监控单元700,采用服务器集群部署,以支持高并发访问。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应该涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于物联网的数据采集系统,其特征在于,包括现场数据采集单元、现场代理单元、远程通讯网关单元、消息队列集群单元、分布式数据处理单元、云存储中心单元、云监控单元;
所述的现场数据采集单元与所述的现场代理单元之间,采用工业数据总线进行连接;
所述的现场代理单元与所述的远程通信网关单元、所述的远程通讯网关单元与所述的消息队列集群单元、所述的消息队列集群单元与所述的分布式数据处理单元、所述的分布式数据处理单元与所述的云存储中心单元之间、所述的云监控单元与所述的现场代理单元、所述的云监控单元与所述的远程通讯网关单元、所述的云监控单元与所述的分布式数据处理单元、采用Internet/Intranet网络进行连接;
所述的现场代理单元包括协议适配模块及代理模块,分别部署在车间临近的服务器上;所述代理模块包含现场总线、数据接收单元、筛选归并单元和指令转发单元、心跳包;所述的现场总线为现场代理单元和现场数据采集单元的传输线路;并作为现场代理单元与远程通讯网关单元的传输线路;所述的数据接收单元通过现场总线与现场数据采集单元连接;所述的筛选归并单元与所述协议适配模块连接;
所述的指令转发单元与远程通讯网关单元连接,汇报上行指令给远程通讯网关单元,并接收远程通讯网关单元下发的控制指令,该指令转发单元还与现场数据采集单元连接,将控制指令转发现场数据采集单元;
所述代理模块与云监控单元连接,向云监控单元发送所述心跳包;
所述的代理模块通过将元数据按字典编码算法和将制造数据按帧压缩算法进行数据的压缩处理;
所述的帧压缩算法,包括帧头和帧数据,帧头包含采样频率、振幅、时间基准和测量值基准;所述的帧数据是输入值的压缩编码值。
2.根据权利要求1所述的一种基于物联网的数据采集系统,其特征在于:所述的现场数据采集单元包括传感器模块、控制器模块、现场总线模块,分别部署在数据采集终端上;所述传感器模块实时或定时采集工业生产现场各类传感器所感知的制造数据;所述的控制器模块与传感器模块及寄存器连接,该控制器模块控制传感器模块的采集行为,并将传感器模块的制造数据存储到寄存器中,现场总线模块与寄存器及现场代理单元连接,将寄存器中的制造数据发送到现场代理单元;所述的现场总线模块是现场数据采集单元与现场代理单元的通信传输线路。
3.根据权利要求1所述的一种基于物联网的数据采集系统,其特征在于:所述的远程通讯网关单元包括通讯服务模块、鉴权服务模块及协议解析模块,分别部署在采用边界网关协议多线路互联的网关服务器上;所述通讯服务模块与现场代理单元的协议适配模块及代理模块连接,接收协议适配模块与代理模块汇报的上行指令;该通讯服务模块还与云监控单元连接,接收云监控单元所发送的包含控制数据的下行指令;
所述的鉴权服务模块与消息队列集群单元连接,将信息分发到消息队列集群单元的对应队列中。
4.根据权利要求1所述的一种基于物联网的数据采集系统,其特征在于:所述的消息队列集群单元包含多个节点的消息服务实例,分别部署在云服务器上;所述多个节点的消息服务实例相互连接,多个节点的消息服务实例的其中之一与远程通讯网关单元连接,接收远程通讯网关单元传送的数据,并将该数据汇报给的其他节点;所述多个节点的消息服务实例,分别包含主节点实例及备节点实例,各主节点实例之间是平级和对等的关系,远程通讯网关单元与主节点的任一实例连接,每个备节点实例是对应一个主节点实例,主节点实例绑定备节点实例,消息队列集群单元的任一主节点实例接收到远程通讯网关单元传送的数据都会异步向其绑定的备节点实例汇报一份同样的数据。
5.根据权利要求1所述的一种基于物联网的数据采集系统,其特征在于:所述的分布式数据处理单元,包含消息获取模块、分拣模块、存储接口模块、实时处理模块,部署在云服务器上。
6.根据权利要求5所述的一种基于物联网的数据采集系统,其特征在于:所述的消息获取模块与消息队列集群单元及分拣模块连接,读取消息队列集群单元中的消息,并将获取的消息传递给分拣模块;
所述的分拣模块与消息获取模块、存储接口模块和实时处理模块连接,接收消息获取模块传送的消息,将解码后的消息传递给对应的存储接口模块和实时处理模块;
所述的存储接口模块包含多种数据库的存储接口和多种元数据类型的存储接口,该存储接口模块与分拣模块、实时处理模块及云存储中心单元连接,将分拣模块或实时处理模块传递的数据转存至云存储中心单元;
所述的实时处理模块与分拣模块、存储接口模块及云存储中心单元连接,接收分拣模块传送的消息,调用存储接口模块将数据存储至云存储中心。
7.根据权利要求1所述的一种基于物联网的数据采集系统,其特征在于:所述的云存储中心单元包含内存数据库模块、关系型数据库模块、NoSql数据库模块以及时序数据库模块,分别部署在云服务器中。
8.根据权利要求1所述的一种基于物联网的数据采集系统,其特征在于:所述的云监控单元包含代理监控模块、网关监控模块、实时数据监控模块,分别部署在云服务器上。
9.根据权利要求8所述的一种基于物联网的数据采集系统,其特征在于:所述代理监控模块与现场代理单元连接,监控现场代理单元的服务状况,所述的服务状况,包含服务连通、持续时间、负载情况;
所述的网关监控模块与云存储中心单元连接,定期PING远程通讯网关的端口,并将信息记录到云存储中心单元;
所述的实时数据监控模块与云存储中心单元连接,将分布式数据处理单元的实时处理模块存储到云存储中心单元的数据呈现到云监控单元。
10.一种如权利要求1至9中任意一项所述的一种基于物联网的数据采集系统的数据压缩方法,包括以下步骤:
步骤1:选取帧的原始数据:定义数据项数组D[i,j],并将数组的每个元素标识为Di,其中i为数据的产生时间,是一个以1970年1月1日的08:00为基准的相对时间,单位为毫秒(ms);j为相对时间i的测量值,提取数组的首个i值,作为时间基准值T,根据元数据的采样频率F,将数组D[i,j]中的F个元素提取作为帧压缩的输入数据;当数组D[i,j]中不足F个元素时,则提取全部数据;
步骤2:计算基准测量值V和振幅A,基准测量值V采用首基准或均值基准;振幅A是根据采集数据的类型进行选择;
步骤3:定义帧头,帧头包括4个值片段:时间基准值片段t、采样频率片段f、振幅片段a以及基准测量值片段v,其中t、f、a、v可以通过后续的步骤5计算得到;
步骤4:定义帧头的值片段编码规则,每个值片段包含32位:
步骤4.1:第1位作为正负标识,1为正数,0为负数;
步骤4.2:第2至5位作为10的幂标识,其中第2位作为幂的正负标识,1为正数,0为负数,3至5位以二进制表示幂的值,当幂为零时,用二进制1000标识;
步骤4.3:其余27位作为该片段的数值位;
步骤5:组装帧头,使用步骤4所述的编码规则对时间基准值T进行编码,得到时间基准值片段t;使用步骤4所述的编码规则对采样频率F进行编码,得到采样频率片段f;使用步骤4所述的编码规则对基准测量值V进行编码,得到基准测量值片段v;使用步骤4所述的编码规则对振幅A进行编码,得到振幅片段a,并将t、f、a、v进行组装,得到帧头;
步骤6:定义数据帧片段的编码规则,每个片段包含一个测量值的编码,共16位;
步骤6.1:第1位作为正负标识,1为正数,0为负数;
步骤6.2:第2至3位作为10的幂标识,其中第2位作为幂的正负标识,1为正数,0为负数,第3位以二进制表示幂的值,当幂为零时,用二进制1000标识;
步骤6.3:其余13位作为该片段的数值位;
步骤7:对数据帧片段进行转换和编码,根据帧头的基准测量值V,依次计算每个Di所对应的测量值vi,转换公式为vi=j-V,并将vi按步骤6的编码规则进行编码,如果vi超出了数据帧片段可标识的范围大小,则称之为断帧;反之,则将数据帧全部编码完成并封帧;
步骤8:对断帧的处理,如步骤7所述,当发生断帧时,则将Di的前序数据封为一个帧,第Di组数据开始为新的一帧,新帧需从步骤1开始重新编码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016212502395 | 2016-11-18 | ||
CN201621250239 | 2016-11-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107390650A CN107390650A (zh) | 2017-11-24 |
CN107390650B true CN107390650B (zh) | 2019-05-07 |
Family
ID=60334193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710532983.7A Active CN107390650B (zh) | 2016-11-18 | 2017-07-03 | 一种基于物联网的数据采集系统及基于该系统的数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107390650B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708765A (zh) * | 2020-08-13 | 2020-09-25 | 南京北路自动化系统有限责任公司 | 基于大数据微服务的物联网云平台管理系统及方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108966287B (zh) * | 2018-07-27 | 2021-07-27 | 中国联合网络通信集团有限公司 | 数据传输方法及系统 |
CN110022349B (zh) * | 2019-01-17 | 2021-11-09 | 重庆邮电大学 | 一种基于边缘计算的异构工业网络设备组态微服务方法 |
CN111555896B (zh) * | 2019-02-12 | 2023-01-20 | 昆山纬绩资通有限公司 | 数据传输监控方法与系统 |
CN109889416B (zh) * | 2019-02-18 | 2020-06-19 | 西安交通大学 | 一种基于微服务架构的智能家居系统及构建方法 |
CN110149320A (zh) * | 2019-04-30 | 2019-08-20 | 北京云迹科技有限公司 | 用于智能设备的数据监控方法及装置 |
CN110413599A (zh) * | 2019-06-18 | 2019-11-05 | 上海展湾信息科技有限公司 | 数据实时处理与存储系统及方法 |
CN110505301A (zh) * | 2019-08-26 | 2019-11-26 | 电子科技大学 | 一种航空制造车间工业大数据处理框架 |
CN111245925B (zh) * | 2020-01-09 | 2021-08-24 | 北京理工大学 | 一种用于现代分布式微服务架构的通信方法与系统 |
CN111369007B (zh) * | 2020-03-02 | 2024-02-13 | 第四范式(北京)技术有限公司 | 一种人工智能模型上线的方法和装置 |
CN111741006B (zh) * | 2020-06-30 | 2022-04-19 | 中创三优(北京)科技有限公司 | 一种离散采集网关及其实现方法 |
CN113923236A (zh) * | 2020-07-07 | 2022-01-11 | 浙江逸达科技有限公司 | 一种基于物联网的工业缝纫机体系结构 |
CN112595363A (zh) * | 2020-12-14 | 2021-04-02 | 广东电网有限责任公司广州供电局 | 电缆检测系统、方法、装置和存储介质 |
CN112698786A (zh) * | 2020-12-25 | 2021-04-23 | 朗坤智慧科技股份有限公司 | 基于5g网络的高频振动数据采集与存储方法及装置 |
CN112859779A (zh) * | 2021-01-07 | 2021-05-28 | 红云红河烟草(集团)有限责任公司 | 一种气流烘丝机数据采集与预警系统 |
TWI770870B (zh) * | 2021-03-11 | 2022-07-11 | 台灣優化水務股份有限公司 | 流體量時間變化模式數據編碼方法 |
CN113037867B (zh) * | 2021-04-12 | 2023-02-10 | 普华鹰眼科技发展有限公司 | 一种多型无人机统一数据接入与处理系统 |
CN113421065B (zh) * | 2021-06-30 | 2024-01-30 | 安徽富信半导体科技有限公司 | 一种基于物联网的半导体生产智能分拣系统 |
CN113312404B (zh) * | 2021-08-02 | 2021-11-02 | 北京华品博睿网络技术有限公司 | 一种特征样本实时采集方法及系统 |
CN117677907A (zh) * | 2021-08-12 | 2024-03-08 | 西门子(中国)有限公司 | 一种获取物联网数据的方法、装置、系统和存储介质 |
CN113746919B (zh) * | 2021-09-03 | 2024-04-30 | 中化信息技术有限公司 | 基于mqtt协议的多报文数据采集方法、采集系统 |
CN113810489A (zh) * | 2021-09-14 | 2021-12-17 | 广东三水合肥工业大学研究院 | 一种工业互联网控制系统及方法 |
CN114945039A (zh) * | 2022-05-30 | 2022-08-26 | 重庆忽米网络科技有限公司 | 基于分布式的工业设备数据处理系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393720A (zh) * | 2011-11-11 | 2012-03-28 | 南京化工职业技术学院 | 工厂级生产安全监控系统 |
CN202340281U (zh) * | 2011-12-08 | 2012-07-18 | 秦始皇帝陵博物院 | 基于云服务的远程无线视频监控系统 |
CN105300909A (zh) * | 2015-12-02 | 2016-02-03 | 重庆大学 | 基于直接光谱法的全天候长流域水质监测与预警系统 |
-
2017
- 2017-07-03 CN CN201710532983.7A patent/CN107390650B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393720A (zh) * | 2011-11-11 | 2012-03-28 | 南京化工职业技术学院 | 工厂级生产安全监控系统 |
CN202340281U (zh) * | 2011-12-08 | 2012-07-18 | 秦始皇帝陵博物院 | 基于云服务的远程无线视频监控系统 |
CN105300909A (zh) * | 2015-12-02 | 2016-02-03 | 重庆大学 | 基于直接光谱法的全天候长流域水质监测与预警系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708765A (zh) * | 2020-08-13 | 2020-09-25 | 南京北路自动化系统有限责任公司 | 基于大数据微服务的物联网云平台管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107390650A (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107390650B (zh) | 一种基于物联网的数据采集系统及基于该系统的数据压缩方法 | |
CN112118174B (zh) | 软件定义数据网关 | |
CN1795446B (zh) | 计算机集群及其中的计算机节点和传送状态信息的方法 | |
CN110535965A (zh) | 一种数据处理方法及装置、存储介质 | |
CN108718345A (zh) | 一种数字化车间工业数据网络化传输系统 | |
CN111242807B (zh) | 一种变电站数据接入泛在电力物联网的方法 | |
CN103379140B (zh) | 一种日志处理规则同步方法及相关设备和系统 | |
CN108400993A (zh) | 智能工业装备组件式组建的物联网系统和存储介质 | |
CN102880475A (zh) | 计算机软件系统中基于云计算的实时事件处理系统及方法 | |
CN112073473B (zh) | 一种物联网设备心跳包数据采集方法 | |
CN107291058A (zh) | 一种连铸生产过程数据采集监控系统 | |
CN111464336A (zh) | 一种基于电力通信机房高并发数据处理方法及系统 | |
CN102802139A (zh) | 一种物联网网关数据适配系统及方法 | |
CN112822276B (zh) | 一种变电站站控层通信方法、系统、电子设备及存储介质 | |
CN112162829B (zh) | 一种边缘计算场景下的资源监控数据预处理系统 | |
CN111611129B (zh) | PaaS云平台的性能监控方法及装置 | |
CN106101264A (zh) | 内容分发网络日志推送方法、装置和系统 | |
CN113179316A (zh) | 一种基于容器化设计的云边端协同计算系统和方法 | |
CN103971500A (zh) | 一种远程设备故障信息采集系统数据压缩传输方法 | |
CN103905219A (zh) | 一种业务平台中通信信息的监控存储系统及方法 | |
WO2014056345A1 (zh) | 监控任务的管理方法及装置 | |
CN104022907A (zh) | 一种校园网的故障侦测系统与方法 | |
CN114584429A (zh) | 工业智能物联网网关 | |
CN114024801A (zh) | 一种工业边缘计算服务网关 | |
CN100353712C (zh) | 一种传输设备管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |