CN117539916A - 一种数据展示方法、装置及存储介质 - Google Patents
一种数据展示方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117539916A CN117539916A CN202410033089.5A CN202410033089A CN117539916A CN 117539916 A CN117539916 A CN 117539916A CN 202410033089 A CN202410033089 A CN 202410033089A CN 117539916 A CN117539916 A CN 117539916A
- Authority
- CN
- China
- Prior art keywords
- target
- point location
- data
- thread
- equipment
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000010586 diagram Methods 0.000 claims abstract description 55
- 230000000875 corresponding effect Effects 0.000 claims description 163
- 238000012544 monitoring process Methods 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 19
- 238000011161 development Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24561—Intermediate data storage techniques for performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据展示方法、装置及存储介质,其中,方法包括:基于物联网平台实时获取各设备对象的数据包,将各数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包;响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。本申请能实现数据准确、可靠的展示。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据展示方法、装置及存储介质。
背景技术
智慧工厂的发展,是智能工业发展的新方向,其特点包括:采集与理解外界及自身的资讯,并以之分析判断及规划自身行为的能力,以及结合讯号处理、推理预测、仿真和多媒体技术等技术的数据可视化能力。
在现代工业领域,对于工厂内各设备的各监测点位的数据进行实时展示至关重要,但是现在的数据展示方法通常是利用第三方数据库,即将工厂的现场工业网络,直接连接第三方数据库;每次进行数据展示时,需要从数据库的海量数据中每秒进行一次读操作,获取对应设备对象的监测点位的最新数据,而对于读操作没有很好的性能优化,这可能会给秒级数据更新的稳定性带来一定风险,造成数据展示不够准确、可靠。
发明内容
有鉴于此,本发明提供了一种数据展示方法、装置及存储介质,主要目的在于解决目前存在数据展示不够准确、可靠的问题。
为解决上述问题,本申请提供一种数据展示方法,包括:
基于物联网平台实时获取各设备对象的数据包,将各所述数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包,所述数据包中包含设备对象的若干点位数据;
响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;
基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。
可选的,所述基于物联网平台实时获取各设备对象的数据包,具体包括:
基于物联网平台实时获取各设备对象各监测点位的点位数据;
基于各点位数据、各监测点位的点位标识以及各监测点位所属设备对象的设备标识,对各点位数据进行分包处理,获得与各设备对象对应的、包含若干点位数据的数据包。
可选的,在将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列之前,所述方法还包括:
响应于终端设备的通信连接建立请求,以与终端设备建立通信信道;
基于线程池中的各线程为所述通信信道分配对应的目标线程、以为所述终端设备配置对应的目标线程。
可选的,所述基于线程池中的各线程为所述通信信道分配对应的目标线程,具体包括:
判断所述线程池中是否存在空余线程;
在存在空余线程时,基于各所述空余线程为所述通信信道分配对应的目标线程;
在不存在空余线程时,基于线程池中的线程数量创建若干新线程,以基于各所述新线程为所述通信信道分配对应的目标线程。
可选的,在实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包之前,所述方法还包括:
预先与所述目标消息队列建立通信连接,以利用所述通信连接、基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包。
可选的,所述基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,具体包括:
基于各终端设备发送的目标点位集合,确定所述目标点位集合中各点位标识所属的目标设备对象;
实时从各目标设备对象所对应的数据包中获取各所述点位标识对应的点位数据,并对各点位数据进行合并处理,获得与所述目标点位集合对应的目标数据包;
基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列。
可选的,所述数据展示方法还包括:
接收终端设备发送的切图请求,所述切图请求中包含当前点位集合;所述当前点位集合中包含若干不同监测点位的点位标识;
将与所述终端设备对应的目标线程、重新配置给所述终端设备中与所述当前点位集合对应的的当前组态图队列;
基于所述切图请求中的当前点位集合,实时从所述目标消息队列获取与所述当前点位集合对应的目标数据包,并基于目标线程,将所述目标数据包转发给对应终端设备的当前组态图队列,以使所述当前组态图队列对目标数据包中的各点位数据进行展示。
可选的,在删除上一获取时刻所获取的各历史数据包之前,所述方法还包括:
将所述各历史数据包、各历史数据包对应的获取时刻、以及各历史数据包所对应的设备对象,关联存储至预定的数据库。
为解决上述问题,本申请提供一种数据展示装置,包括:
存储模块,用于基于物联网平台实时获取各设备对象的数据包,将各所述数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包,所述数据包中包含设备对象的若干点位数据;
配置模块,用于响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;
展示模块,用于基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。
为解决上述问题,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述数据展示方法的步骤。
本申请中的数据展示方法、装置、介质及设备,通过实时获取各设备对象的数据包,然后将各数据包存储至消息队列,对消息队列中的数据包进行实时更新,由此消息队列只存储当前获取时刻的数据包,后续就可以直接从消息队里获取相应的目标数据包,并通过对应的目标线程转发给各终端设备,因此解决了由于从包含若干获取时刻的海量数据库中读取当前获取时刻的数据包,而造成的读取速度慢、易出错的问题,使得数据展示更加准确、可靠数据,并且由于可以同时转发给多个终端,因此实现了数据的多组态展示。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例一种数据展示方法的流程图;
图2为本申请又一实施例一种数据展示方法的流程图;
图3为本申请另一实施例一种数据展示装置的结构框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本申请实施例提供一种数据展示方法,可以应用于终端、服务器等电子设备,具体可以运行在docker中,也可以部署在k8s的pod中,如图1所示,本实施例中的方法包括如下步骤:
步骤S101,基于物联网平台实时获取各设备对象的数据包,将各所述数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包,所述数据包中包含设备对象的若干点位数据;
本步骤在具体实施过程中,物联网平台IOT通过数采网关获取分散控制***(即DCS***)的实时点位数据,然后再根据各点位数据所对应的点位标识、所属设备对象的设备标识对各点位数据进行分包处理,获得与各设备对象对应的数据包,由此后续可以将各数据包推送给目标消息队列进行存储,其中目标消息队列可以是Kafka消息队列。其中,点位标识可以为点位地址(点位ID)或点位名称等等,设备标识也可以为设备地址(设备ID)获设备名称等等。
本步骤中,在将数据包存储至Kafka目标消息队列的同时,可以删除Kafka目标消息队列中的历史数据包,也即使得Kafka目标消息队列只存储当前时刻的数据包。
在具体实施过程为,为了对数据包进行备份,还可以将各历史数据包、各历史数据包对应的获取时刻、以及各历史数据包所对应的设备对象,关联存储至预定的数据库,然后在将历史数据包从Kafka消息队列中删除。
步骤S102,响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;
本步骤中,目标点位即为待进行数据展示的监测点位。也就是,需要展示点位数据的终端设备或客户端,可以将待展示的监测点位/目标点位的点位标识、以及待展示的监测点位/目标点位所属设备对象的设备标识发送给中台服务,由此中台服务,可以为该终端设备配置对应的目标线程,并将目标线程配置所该终端的组态图队列。其中,点位标识可以为点位地址(点位ID)或点位名称等等,设备标识也可以为设备地址(设备ID)获设备名称等等。
本步骤在具体实施过程中,多个终端设备可以同时发送各自待进行数据展示的点位集合,中台服务可以同时为各终端设备配置对应的目标线程、并将目标线程配置给对应终端设备中与所述点位集合对应的组态图队列,由此,为后续多个终端设备能够同时进行点位数据的组态图显示奠定了基础。
步骤S103,基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。
本步骤在具体实施过程中,中台服务具体可以根据目标点位集合中各点位标识从消息队列中获取与各目标点位集合对应的若干点位数据,从而构建获得目标数据包,也即,该目标数据包中所包含的若干目标点位数据与目标点位集合中各目标点位标识一一对应。在获得目标数据包之后,就可以将该目标数据包通过目标线程发送给对应终端设备的组态图队列,以对目标数据包中的各目标点位数据进行显示,从而完成数据的实时展示。
本实施例中的数据展示方法,通过实时获取各设备对象的数据包,然后将各数据包存储至消息队列,对消息队列中的数据包进行实时更新,由此消息队列只存储当前获取时刻的数据包,后续就可以直接从消息队列获取相应的目标数据包,并通过对应的目标线程转发给各终端设备,因此解决了由于从包含若干获取时刻的海量数据库中读取当前获取时刻的数据包,而造成的读取速度慢、易出错的问题,使得数据展示更加准确、可靠数据,并且由于可以同时转发给多个终端,因此实现了数据的多组态展示。
在上述实施例的基础上,本申请又一实施例提供一种数据展示方法,本实施例中,中台服务在基于物联网平台实时获取各设备对象的数据包时具体获取过程如下:基于物联网平台实时获取各设备对象各监测点位的点位数据;基于各点位数据、各监测点位的点位标识以及各监测点位所属设备对象的设备标识,对各点位数据进行分包处理,获得与各设备对象对应的、包含若干点位数据的数据包。其中,点位标识可以为点位地址(点位ID)或点位名称等等,设备标识也可以为设备地址(设备ID)获设备名称等等。也就是,物联网平台可以通过数采网关获取分散控制***(即DCS***)的实时点位数据,即获得所有设备对象的所有监测点位的点位数据,然后再根据各监测点位的点位地址、以及监测点位所属于的设备对象来对各监测点位的点位数据进行分包处理,从而获取与各设备对象对应的、包含若干点位数据的数据包。
例如,设备对象一共有3个,分别为设备A、设备B、以及设备C。其中,设备A中有2个监测点位,分别为:点位1和点位2。设备B有2个监测点位,分别为:点位3和点位4。设备C有3个监测点位,分别为:点位5、点位6、和点位7。由此,可以基于物联网平台在每个获取时刻/采集时刻,获取点位1、点位2、点位3、点位4、点位5、点位6和点位7的点位数据,即实时获取各监测点位的点位数据,然后根据这7个点位的点位地址以及这7个点位所属设备对象的设备地址,对获得的7个点位数据进行分包处理,从而将点位1的点位数据1’和点位2的点位数据2’合并为与设备A对应的数据包,将点位3的点位数据3’和点位4的点位数据4’合并为与设备B对应的数据包,将点位5的点位数据5’、点位6的点位数据6’以及点位7对应的点位数据7’合并为与设备C对应的数据包。本实施例在具体实施过程中,获取时刻或采集时刻可以根据实际需要设定,比如设定为每秒、每2秒等等。
在上述实施例的基础上,本申请另一实施例提供一种数据展示方法,本实施例中,在将与所述终端设备对应的目标线程配置给所述终端设备的组态图队列之前,可以预先与终端设备建立通信信道,然后为该通信信道分配对应的目标线程,为后续基于目标线程进行数据包的转发奠定了基础。具体分配线程的过程为:响应于终端设备的通信连接建立请求,以与终端设备建立通信信道;基于线程池中的各线程为所述通信信道分配对应的目标线程、以为所述终端设备配置对应的目标线程。也就是,前端(终端设备)组态软件可以向中台服务请求建立WebSocket连接握手,即建立长连接通讯信道,然后中台服务可以从Websocket client线程池中为该长连接分配一个新的线程、以此来为前端(终端设备)配置对应的目标线程。
本实施例中,为了保证线程分配更加合理、准确,避免将同一线程同时分配给多个通信信道,在进行线程分配时可以从线程池的空余线程中为通信信道分配线程。也就是,中台服务在与终端设备建立通信信道之后,可以判断线程池中是否存在空余线程;在存在空余线程时,基于各所述空余线程为所述通信信道分配对应的目标线程;在不存在空余线程时,基于线程池中的线程数量创建若干新线程,以基于各所述新线程为所述通信信道分配对应的目标线程。通过采用上述线程分配方案,能够使得线程的分配更加合理准确。
本申请另一实施例提供一种数据展示方法,本实施例中,在实时从所述目标消息队列获取各目标设备对象的目标数据包之前,中台服务可以预先与所述目标消息队列建立通信连接,以利用所述通信连接、基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包。本实施例中,中台服务可以使用多线程技术与目标消息队列Kafka建立通信连接,即订阅Kafak,由此能够为后续从Kafka消息队列实时获取数据包提供保障。
本实施例中,中台服务在与目标消息队列Kafka建立通信连接之后,就可以实时从所述目标消息队列获取与目标点位集合对应的目标数据包。具体的,目标数据包的获取过程为:中台服务基于各终端设备发送的目标点位集合,确定所述目标点位集合中各点位标识所属的目标设备对象;然后实时从各目标设备对象所对应的数据包中获取各所述点位标识对应的点位数据,并对各点位数据进行合并处理,获得与所述目标点位集合对应的目标数据包。在获得目标数据包之后,就可以基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列。
也就是,中台服务根据目标集合中各点位标识所对应的目标设备对象,对各目标设备对象所对应的数据包进行拆包处理,获得与各目标设备对应的点位数据集,然后在从拆包后的点位数据数据集中筛选获得与点位标识对应的目标点位数据,最后在对各目标点位数据进行聚合、合并,从而获得与目标点位集合对应的目标数据包。比如某个设备对象A有监测点位1和监测点位2,设备对象B有监测点位3和监测点位4。终端设备只需要对监测点位1的点位数据和监测点位4的点位数据进行展示。由此终端设备会将监测点位1的点位地址以及监测点位4的点位地址组合成目标点位集合,然后发送给中台服务。由此中台服务再从Kafka消息队列获取到设备对象A的数据包a以及设备对象B的数据包b时,可以对这两个数据包分别进行拆包处理获得数据集a’和数据集b’,然后根据监测点位1的点位标识从数据集a’中获取到目标点位数据1’。同理,根据监测点位4的点位标识从数据集b’中获取到目标点位数据4’。然后再将目标点位数据1’和目标点位数据4’进行合并,从而获得与目标集合对应的目标数据包。为后续终端设备能有针对性的对监测点位1的点位数据和监测点位4的点位数据进行展示奠定了基础。
本申请另一实施例提供一种数据展示方法,本实施例中,中台服务在与终端设备建立长连接之后,还可以接收终端设备发送的切图请求,所述切图请求中包含当前点位集合;所述当前点位集合中包含若干不同监测点位的点位标识;将与所述终端设备对应的目标线程、重新配置给所述终端设备中与所述当前点位集合对应的的当前组态图队列;基于所述切图请求中的当前点位集合,实时从所述目标消息队列获取与所述当前点位集合对应的目标数据包,并基于目标线程,将所述目标数据包转发给对应终端设备的当前组态图队列,以使所述当前组态图队列对目标数据包中的各点位数据进行展示。
也就是,终端设备首次发送的包含若干目标点位的点位集合后,即中台服务会根据点位集合ID将终端设备对应的目标线程被推入对应ID(即点位地址)的组态图业务topic,由此,中台服务可以将从消息队列获取的实时业务数据进行秒级推送,即通过目标线程推送给对应设备设备的组态图业务,从而实现点位数据的展示。之后,当终端设备再次发送点位地址集合后,中台服务会将其识别为切图请求,由此中台服务会根据企图请求中的点位集合ID,将该终端设备对应的目标线程重新入至新topic,即将目标线程推给切图请求中点位地址的组态图业务topic,然后下一秒将在新topic中予以数据推送,以实现在不同组态图业务之间实时切换。
本申请在具体实施过程中,为了保证各终端设备各组态业务图稳定可靠的进行点位数据展示,可以每秒对每个组态业务topic队列中的长连接进行扫描,判断是否需要暂停、切图或补发数据并执行对应操作。当中台服务与终端设备的长连接连接状态正常时,中台服务可以利用目标线程向对应终端设备的组态图队列topic实时转发目标数据包。
本申请中,终端设备可以接收用户针对点位标识的选中操作,以基于各点位标识生成对应的组态图队列topic,同时终端设备还会为各点位标识所组成的点位集合生成点位集合ID,用于作为组态图队列的标识。也就是,每个终端设备可以基于用户的交互操作来生成组态图队列topic。该组态图队列topic可以包含同一设备对象的、若干待进行数据展示的目标点位,也可以生成包含不同设备对象的若干待进行数据展示的目标点位,在生成组态图队列后还会根据点位集合为组态图队列创建对应的点位集合ID,为后续基于点位集合ID为组态图队列配置对应的线程奠定了基础。
本申请中的数据展示方法,通过对物联网消息协议中的设备和测点数据进行过滤、聚合等操作,能够稳定、实时的转化获得组态图所需的目标数据包,并以秒级的稳定更新频率推送至前端进行展示,且支持并发访问。本申请支持跨设备的点位集合过滤和规则配置,对点位集合对应的实时数据做秒级更新推送;对不同的工厂和行业,本申请中的方法仅需配置基本的设备和点位信息即可部署运行,无需定制化开发,由此降低了在工业网络和工业物联网环境下,下游信息***的的研发成本,缩短了项目的开发周期,方便用户对数据进行快速的、可配置的数据监控。对于不同的组态图显示需求,本申请可以支持在线更新点位集合,支持前端软件对页面元素进行拖拉拽操作,动态配置展示效果。
本申请另一实施例提供一种数据展示***,以对上述实施例中的数据展示方法做进一步解释说明。本实施例中的数据展示***包括:IOT平台(即物联网平台)、Kafka消息队列以及中间件(也可称其为中台服务)、数据库以及前端设备Client等。在进行数据展示时,如图2所示,具体过程如下:
IOT物联网平台,用于通过数采网关获取DCS***的实时数据,每秒根据设备进行数据分包,即获得与各设备对象对应的数据包,并将数据包推送至Kafka消息队列。
也就是,物联网平台实时获取各设备对象各监测点位的点位数据;基于各点位数据、各监测点位的点位标识以及各监测点位所属设备对象的设备标识,对各点位数据进行分包处理,获得与各设备对象对应的、包含若干点位数据的数据包,然后将各数据包存储至Kafka消息队列。
中间件也即中台服务,用于预先使用多线程技术与Kafka消息队列建立通信连接;
前端组态软件,用于预先与中间件请求建立WebSocket连接握手,建立长连接通讯信道,并基于该通讯信道向中间件/中台服务发送目标点位集合。
中间件还用于:在于前端建立长连接之后,从Websocket client线程池中为该长连接分配对应的目标线程。并且中间件在接收到前端发送的目标点位集合之后,会对其进行响应,以将目标线程推入对应点位集合ID的组态图业务topic。由此,中间件后续就可以根据前端发送的目标点位集合,实时从Kafka消息队列获取与目标点位集合对应的目标数据包,然后基于前端对应的目标线程、将该目标数据包实时推送给前端组态图业务topic,以对目标数据包中的点位数据进行展示。
其中,中间件根据前端发送的目标点位集合,实时从Kafka消息队列获取与目标点位集合对应的目标数据包具体包括:基于各终端设备发送的目标点位集合,确定所述目标点位集合中各点位标识所属的目标设备对象;
实时从各目标设备对象所对应的数据包中获取各所述点位标识对应的点位数据,并对各点位数据进行合并处理,获得与所述目标点位集合对应的目标数据包;基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列。
之后,前端通过该长连接再发送其他点位集合ID,将被识别为切图请求,对应的目标线程将被推入至新ID对应的新topic,然后下一秒将在新topic中予以数据推送,以实现在不同组态图业务之间实时切换。
本申请中,通过对物联网消息协议中的设备和测点数据进行过滤、聚合等操作,能够稳定、实时的转化获得组态图所需的目标数据包,并以秒级的稳定更新频率推送至前端进行展示,且支持并发访问。本申请支持跨设备的点位集合过滤和规则配置,对点位集合对应的实时数据做秒级更新推送;对不同的工厂和行业,本申请中的方法仅需配置基本的设备和点位信息即可部署运行,无需定制化开发,由此降低了在工业网络和工业物联网环境下,下游信息***的的研发成本,缩短了项目的开发周期,方便用户对数据进行快速的、可配置的数据监控。对于不同的组态图显示需求,本申请可以支持在线更新点位集合,支持前端软件对页面元素进行拖拉拽操作,动态配置展示效果。
在上述实施例的基础上,本申请又一实施例提供一种数据展示装置,如图3所示,包括:
存储模块11,用于基于物联网平台实时获取各设备对象的数据包,将各所述数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包,所述数据包中包含设备对象的若干点位数据;
配置模块12,用于响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;
展示模块13,用于基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。
本实施例在具体实施过程中,所述存储模块具体用于:基于物联网平台实时获取各设备对象各监测点位的点位数据;
基于各点位数据、各监测点位的点位标识以及各监测点位所属设备对象的设备标识,对各点位数据进行分包处理,获得与各设备对象对应的、包含若干点位数据的数据包。
本实施例在具体实施过程中,所述数据展示装置还包括第一建立模块和分配模块,所述第一建立模块用于:响应于终端设备的通信连接建立请求,以与终端设备建立通信信道;所述分配模块用于:基于线程池中的各线程为所述通信信道分配对应的目标线程、以为所述终端设备配置对应的目标线程。
本实施例在具体实施过程中,所述分配模块具体用于:判断所述线程池中是否存在空余线程;在存在空余线程时,基于各所述空余线程为所述通信信道分配对应的目标线程;在不存在空余线程时,基于线程池中的线程数量创建若干新线程,以基于各所述新线程为所述通信信道分配对应的目标线程。
本实施例在具体实施过程中,所述数据展示装置还包括第二建立模块,所述第二建立模块用于:预先与所述目标消息队列建立通信连接,所述展示模块具体用于:利用所述通信连接、基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包。
本实施例在具体实施过程中,所述展示模块具体用于:基于各终端设备发送的目标点位集合,确定所述目标点位集合中各点位标识所属的目标设备对象;实时从各目标设备对象所对应的数据包中获取各所述点位标识对应的点位数据,并对各点位数据进行合并处理,获得与所述目标点位集合对应的目标数据包;基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列。
本实施例在具体实施过程中,所述数据展示装置还包括切图展示模块,所述切图展示模块用于:接收终端设备发送的切图请求,所述切图请求中包含当前点位集合;所述当前点位集合中包含若干不同监测点位的点位标识;将与所述终端设备对应的目标线程、重新配置给所述终端设备中与所述当前点位集合对应的的当前组态图队列;基于所述切图请求中的当前点位集合,实时从所述目标消息队列获取与所述当前点位集合对应的目标数据包,并基于目标线程,将所述目标数据包转发给对应终端设备的当前组态图队列,以使所述当前组态图队列对目标数据包中的各点位数据进行展示。
本实施例在具体实施过程中,所述数据展示装置还包括:数据备份模块,所述数据备份模块用于:在删除上一获取时刻所获取的各历史数据包之前,将所述各历史数据包、各历史数据包对应的获取时刻、以及各历史数据包所对应的设备对象,关联存储至预定的数据库。
本实施例中的数据展示装置,通过实时获取各设备对象的数据包,然后将各数据包存储至消息队列,对消息队列中的数据包进行实时更新,由此消息队列只存储当前获取时刻的数据包,后续就可以直接从消息队里获取相应的目标数据包,并通过对应的目标线程转发给各终端设备,因此解决了由于从包含若干获取时刻的海量数据库中读取当前获取时刻的数据包,而造成的读取速度慢、易出错的问题,使得数据展示更加准确、可靠数据,并且由于可以同时转发给多个终端,因此实现了数据的多组态展示。
本申请另一实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
步骤一、基于物联网平台实时获取各设备对象的数据包,将各所述数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包,所述数据包中包含设备对象的若干点位数据;
步骤二、响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;
步骤三、基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。
上述方法步骤的具体实施过程可参见上述任意数据展示方法的实施例,本实施例在此不再重复赘述。
本申请中的存储介质,通过实时获取各设备对象的数据包,然后将各数据包存储至消息队列,对消息队列中的数据包进行实时更新,由此消息队列只存储当前获取时刻的数据包,后续就可以直接从消息队里获取相应的目标数据包,并通过对应的目标线程转发给各终端设备,因此解决了由于从包含若干获取时刻的海量数据库中读取当前获取时刻的数据包,而造成的读取速度慢、易出错的问题,使得数据展示更加准确、可靠数据,并且由于可以同时转发给多个终端,因此实现了数据的多组态展示。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (10)
1.一种数据展示方法,其特征在于,包括:
基于物联网平台实时获取各设备对象的数据包,将各所述数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包,所述数据包中包含设备对象的若干点位数据;
响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;
基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。
2.如权利要求1所述的方法,其特征在于,所述基于物联网平台实时获取各设备对象的数据包,具体包括:
基于物联网平台实时获取各设备对象各监测点位的点位数据;
基于各点位数据、各监测点位的点位标识以及各监测点位所属设备对象的设备标识,对各点位数据进行分包处理,获得与各设备对象对应的、包含若干点位数据的数据包。
3.如权利要求1所述的方法,其特征在于,在将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列之前,所述方法还包括:
响应于终端设备的通信连接建立请求,以与终端设备建立通信信道;
基于线程池中的各线程为所述通信信道分配对应的目标线程、以为所述终端设备配置对应的目标线程。
4.如权利要求3所述的方法,其特征在于,所述基于线程池中的各线程为所述通信信道分配对应的目标线程,具体包括:
判断所述线程池中是否存在空余线程;
在存在空余线程时,基于各所述空余线程为所述通信信道分配对应的目标线程;
在不存在空余线程时,基于线程池中的线程数量创建若干新线程,以基于各所述新线程为所述通信信道分配对应的目标线程。
5.如权利要求1所述的方法,其特征在于,在实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包之前,所述方法还包括:
预先与所述目标消息队列建立通信连接,以利用所述通信连接、基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包。
6.如权利要求1所述的方法,其特征在于,所述基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,具体包括:
基于各终端设备发送的目标点位集合,确定所述目标点位集合中各点位标识所属的目标设备对象;
实时从各目标设备对象所对应的数据包中获取各所述点位标识对应的点位数据,并对各点位数据进行合并处理,获得与所述目标点位集合对应的目标数据包;
基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的切图请求,所述切图请求中包含当前点位集合;所述当前点位集合中包含若干不同监测点位的点位标识;
将与所述终端设备对应的目标线程、重新配置给所述终端设备中与所述当前点位集合对应的当前组态图队列;
基于所述切图请求中的当前点位集合,实时从所述目标消息队列获取与所述当前点位集合对应的目标数据包,并基于目标线程,将所述目标数据包转发给对应终端设备的当前组态图队列,以使所述当前组态图队列对目标数据包中的各点位数据进行展示。
8.如权利要求1所述的方法,其特征在于,在删除上一获取时刻所获取的各历史数据包之前,所述方法还包括:
将所述各历史数据包、各历史数据包对应的获取时刻、以及各历史数据包所对应的设备对象,关联存储至预定的数据库。
9.一种数据展示装置,其特征在于,包括:
存储模块,用于基于物联网平台实时获取各设备对象的数据包,将各所述数据包存储至预定的目标消息队列、并删除上一获取时刻所获取的各历史数据包,所述数据包中包含设备对象的若干点位数据;
配置模块,用于响应于各终端设备发送的、待进行数据展示的、包含若干目标点位标识的目标点位集合,将与各终端设备对应的目标线程配置给对应终端设备中与所述目标点位集合对应的组态图队列;
展示模块,用于基于各终端设备发送的目标点位集合,实时从所述目标消息队列获取与所述目标点位集合对应的目标数据包,并基于各目标线程,将各目标数据包转发给对应终端设备的组态图队列,以基于所述组态图队列对目标数据包中的各目标点位数据进行展示。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-8任一项所述数据展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410033089.5A CN117539916B (zh) | 2024-01-10 | 2024-01-10 | 一种数据展示方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410033089.5A CN117539916B (zh) | 2024-01-10 | 2024-01-10 | 一种数据展示方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117539916A true CN117539916A (zh) | 2024-02-09 |
CN117539916B CN117539916B (zh) | 2024-04-09 |
Family
ID=89782738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410033089.5A Active CN117539916B (zh) | 2024-01-10 | 2024-01-10 | 一种数据展示方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117539916B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201738664A (zh) * | 2016-04-14 | 2017-11-01 | Asml荷蘭公司 | 在設計佈局與圖案化器件之間的圖案映射 |
US20180089262A1 (en) * | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for common storage query |
CN111708599A (zh) * | 2020-08-18 | 2020-09-25 | 江苏神彩科技股份有限公司 | 组态图显示方法、装置、设备和存储介质 |
CN116091653A (zh) * | 2023-01-13 | 2023-05-09 | 广州慧云网络科技有限公司 | 运维设备的组态图生成方法、装置、终端设备及存储介质 |
CN116701559A (zh) * | 2023-06-13 | 2023-09-05 | 浙江源创智控技术有限公司 | 设备监控方法、装置及服务器 |
-
2024
- 2024-01-10 CN CN202410033089.5A patent/CN117539916B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201738664A (zh) * | 2016-04-14 | 2017-11-01 | Asml荷蘭公司 | 在設計佈局與圖案化器件之間的圖案映射 |
US20180089262A1 (en) * | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for common storage query |
CN111708599A (zh) * | 2020-08-18 | 2020-09-25 | 江苏神彩科技股份有限公司 | 组态图显示方法、装置、设备和存储介质 |
CN116091653A (zh) * | 2023-01-13 | 2023-05-09 | 广州慧云网络科技有限公司 | 运维设备的组态图生成方法、装置、终端设备及存储介质 |
CN116701559A (zh) * | 2023-06-13 | 2023-09-05 | 浙江源创智控技术有限公司 | 设备监控方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN117539916B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8582450B1 (en) | Status reporting system | |
CN110768914B (zh) | 基于语义场景实例迁移的去中心化物联网关*** | |
CN103781055A (zh) | 一种数据下载方法及相关设备 | |
CN110659109A (zh) | 一种openstack集群虚拟机监控***及方法 | |
CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
CN103780714A (zh) | 一种dns服务器的探测方法及装置 | |
CN107888666A (zh) | 一种跨地域数据存储***以及数据同步方法和装置 | |
CN110996372B (zh) | 消息路由方法、装置、***及电子设备 | |
CN113256095B (zh) | 可拖拽配置的敏捷流程服务构建方法、***、设备及介质 | |
CN106850242A (zh) | 一种信息处理方法及装置 | |
CN104601493A (zh) | 一种带宽调整方法、***及智能管道平台 | |
CN110401731B (zh) | 用于分配内容分发节点的方法和装置 | |
CN117539916B (zh) | 一种数据展示方法、装置及存储介质 | |
CN105429798A (zh) | 物联网网络配置*** | |
CN112714146B (zh) | 一种资源调度方法、装置、设备及计算机可读存储介质 | |
CN107241251A (zh) | 多路can报文实时接收的软件实现方法 | |
CN111600929A (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN111092952A (zh) | 一种数据交互方法及相关产品 | |
CN108462657B (zh) | 获取不同运营商的sdn网络的资源及信息的方法和设备 | |
CN101448136A (zh) | 实现视频点播功能的方法和*** | |
CN115587860A (zh) | 业务处理方法、装置、存储介质及电子设备 | |
CN105681262A (zh) | 一种交互消息分配方法及*** | |
CN113918436A (zh) | 日志处理方法及装置 | |
CN114374614A (zh) | 网络拓扑配置方法及装置 | |
CN103997518A (zh) | 一种cdn节点文件同步方法和装置 |
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 |