掌桥专利:专业的专利平台
掌桥专利
首页

实时数据处理方法、装置、计算机设备和介质

文献发布时间:2023-06-19 12:10:19


实时数据处理方法、装置、计算机设备和介质

技术领域

本公开涉及数据处理技术领域,尤其涉及一种实时数据处理方法、装置、计算机设备和介质。

背景技术

伴随着移动互联网的普及,数据通讯成本的急剧下降,以及各种低成本的传感技术和智能设备的出现,除传统的手机、计算机之外,手环、共享单车、出租车、智能电表、环境监测设备、电梯、大型设备、工业生产线等也都在源源不断的产生海量的实时数据。通过对这些海量数据进行分析和处理,能够帮助企业进行科学决策、节约成本并创造新的价值。

现有技术中,采集到的海量实时数据一般先存入数据库中,随后再从数据库中取出实时数据进行处理,由于实时数据的处理数量过大,导致对实时数据的处理过程中出现存储或维护成本过高,查询性能差,聚合分析性能差的问题,很难满足千万级实时数据的处理需求。

发明内容

有鉴于此,本公开实施例提供了实时数据处理方法、装置、计算机设备和介质,以解决现有技术中由于实时数据的处理数量过大,导致对实时数据的处理过程中出现存储或维护成本过高,查询性能差,聚合分析性能差的技术问题。

本公开实施例的第一方面,提供了一种实时数据处理方法,包括:

获取数据点信息;

基于所述数据点信息,生成初始消息队列;

基于预设处理策略对所述初始消息队列中的数据点信息进行处理,生成目标消息队列;

从所述目标消息队列中筛选出历史消息队列;

将所述历史消息队列的数据点信息存储至历史时序数据库。

本公开实施例的第二方面,提供了一种实时数据处理方法装置,包括:

获取模块,被配置成获取数据点信息;

生成模块,被配置成基于所述数据点信息,生成初始消息队列;

处理模块,被配置成基于预设处理策略对所述初始消息队列中的数据点信息进行处理,生成目标消息队列;

筛选模块,被配置成从所述目标消息队列中筛选出历史消息队列;

存储模块,被配置成将所述历史消息队列的数据点信息存储至历史时序数据库。

本公开实施例的第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并且可以在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。

本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

本公开实施例与现有技术相比存在的有益效果至少包括:

一方面,通过将初始消息队列的数据点信息通过预设策略进行处理,可以不通过数据库直接得到由符合要求的数据点信息构成的消息队列,大大提高了海量实时数据处理的效率。

另一方面,通过使用历史时序数据库来存储海量实时数据,可以提高查询性能以及聚合分析性能,还能降低数据库的存储成本,提高本公开的实用性。

附图说明

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

图1是本公开实施例的应用场景示意图;

图2是本公开实施例提供的实时数据处理方法的流程图一;

图3是本公开实施例提供的实时数据处理方法的流程图二;

图4是本公开实施例提供的实时数据处理装置的示意图;

图5是本公开实施例提供的计算机设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。

下面将结合附图详细说明本公开。

图1是本发明实施例的应用场景的场景示意图。该应用场景可以包括终端设备1、2和3、服务器4以及网络5。

终端设备1、2和3可以是硬件,也可以是软件。当终端设备1、2和3为硬件时,其可以是具有显示屏且支持与服务器4通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备1、2和3为软件时,其可以安装在如上所述的电子设备中。终端设备1、2和3可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本发明实施例对此不作限制。进一步地,终端设备1、2和3上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。

服务器4可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器4可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本发明实施例对此不作限制。

需要说明的是,服务器4可以是硬件,也可以是软件。当服务器4为硬件时,其可以是为终端设备1、2和3提供各种服务的各种电子设备。当服务器4为软件时,其可以实现为终端设备1、2和3提供各种服务的多个软件或软件模块,也可以实现为终端设备1、2和3提供各种服务的单个软件或软件模块,本发明实施例对此不作限制。

网络5可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(dluetooth)、近场通信(Near FieldCommunication,NFC)、红外(Infrared)等,本发明实施例对此不作限制。

用户可以通过终端设备1、2和3经由网络5与服务器4建立通信连接,以接收或发送信息等。具体地,首先,服务器4可以获取数据点信息。然后,服务器4可以基于所述数据点信息,生成初始消息队列。再然后,服务器4可以基于预设处理策略对所述初始消息队列中的数据点信息进行处理,生成目标消息队列。之后,服务器4可以从所述目标消息队列中筛选出历史消息队列。最后服务器4可以将所述历史消息队列的数据点信息存储至历史时序数据库。

需要说明的是,终端设备1、2和3、服务器4以及网络5的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本发明实施例对此不作限制。

图2是本公开实施例提供的实时数据处理方法的流程图。图2的实时数据处理方法可以由图1的服务器4(以下简称执行主体)执行。如图2所示,该实时数据处理方法包括:

S201,获取数据点信息。

S202,基于数据点信息,生成初始消息队列。

S203,基于预设处理策略对初始消息队列中的数据点信息进行处理,生成目标消息队列。

S204,从目标消息队列中筛选出历史消息队列。

S205,将历史消息队列的数据点信息存储至历史时序数据库。

数据点信息可以包括时间戳信息、核心数据信息、标识信息等。其中时间戳信息可以指该数据点信息被采集到的时间信息,如2021年05月12日21时46分08秒,21时46分08秒,或者05月12日,或者可以为2021-05-1221:46:08,还可以为不带符号的20210512214608等。核心数据信息可以指该数据点信息中用于后续处理的实时数据信息。例如,当数据点信息为心率信息时,获取到的心跳频率数值即为该初始数据的核心数据信息;或者,当数据点信息为手机运行温度时,获取到的手机运行温度数值即为该初始数据的核心数据信息,根据实际情况该核心数据信息可以为不同的数值、格式、构成等,在此不一一列举。标识信息可以是对数据点信息的简要说明,通过该标识信息可以指定该数据点信息的消息种类。例如,当数据点信息为心率信息时,该初始数据的标识信息可以为心率、XL、XINLV或者其他可以代表该初始数据类型的简要说明;或者,当数据点信息为手机运行温度时,该初始数据的标识信息可以为手机运行温度、手机温度、SJYXWD或者其他可以代表该初始数据类型的简要说明。在这些实施例中的时间戳信息、核心数据信息和标识信息的信息格式、信息长度、信息类型均可以根据实际情况进行设置,在此不作限制。

需要指出的是,消息队列中的每个数据点信息均来源于同一个数据采集来源,因此同一消息队列中的每个数据点信息的标识信息均相同。

执行主体在获取数据点信息时,可以先获取核心数据,随后再添加时间戳信息或标识信息等,生成数据点信息。作为示例,执行主体可以通过多种方式获取实时数据信息作为核心数据,如通过云端、采集设备或通过其他数据源来获取实时数据信息。采集设备可以为各种可以采集实时数据的设备如手机、台式计算机、笔记本计算机、手环、共享单车、出租车、智能电表、环境监测设备、电梯、大型设备、工业生产设备等。作为示例,当采集设备为手环时,手环佩戴者的心率信息、体温信息、血压信息等,每一种上述信息都可以作为一种实时数据信息进行收集,并随后添加时间戳信息或标识信息等生成数据点信息。

执行主体还可以直接通过执行主体通过Moddus-RTU通讯协议、Moddus-TCP通讯协议、S7通讯协议、dACnet通讯协议等通讯协议从采集设备中采集到数据点信息。其中,Moddus-RTU通讯协议是通过二进制数据方式直接传送数据的一种串行通讯协议;Moddus-TCP通讯协议首先将每字节二进制数据转换为固定两位十六进制字符串,再依次串联在一起,最后以TCP码形式进行数据传送的一种串行通讯协议;S7协议是西门子公司的通讯产品之间通讯所使用的标准协议;dacnet通讯协议是楼宇自动控制技术应用的数据通讯网络标准。采集数据点信息还可以采用其他采集协议进行采集,根据需要进行选择,在此不做限制。

执行主体在生成初始消息队列时,可以根据时间戳将数据点信息按顺序加入初始消息队列,也可以将数据点信息加入初始消息队列后,根据时间戳将初始消息队列中的数据点信息进行排序。此外,还可以考虑通过其它方式将数据点信息生成初始消息队列,但无论通过如何操作,只要初始消息队列中的数据点信息通过时间戳进行排序,均属于此公开的保护范围。在实际运行时,考虑现有技术和实现效率的问题,一般选用前一种处理方式,即根据时间戳将数据点信息按顺序加入初始消息队列。

生成初始消息队列后,可以对初始消息队列进行安全化处理。在对消息队列的处理过程中,由于线程并发、海量数据及高复杂度的程序结构,消息队列中的数据点信息极易产生损坏、丢失、匹配错误的情况。通过将消息队列进行安全化处理,可以大大减少消息队列处理中出现的数据丢失、匹配错误的情况,提高本公开的安全性。因此需要将消息队列进行安全化处理。在一些实施例中,可以将消息队列传入消息队列中间件,随后通过订阅消息队列中间件中消息队列,获取目标消息队列。由于消息队列中间件的安全性极高,因此通过使用消息队列中间件,可以大大降低消息队列处理过程中产生损坏、丢失、匹配错误的问题。该消息队列中间件可以为RabbitMQ、Kafka、ActiveMQ、RocketMQ等常用消息队列中间件。根据需要进行选择,在此不作限制。

预设处理策略可以是指预先设计好的针对初始消息队列中的数据点信息的处理策略。该预设处理策略可以包括单一处理策略和关联处理策略等策略类型。单一处理策略是指只针对一条消息队列进行处理的策略。关联处理策略是指针对全部相关联的至少两个消息队列进行处理的策略。其中,相关联的消息队列是指数据点信息的标识信息相同的消息队列。

对数据点信息的处理策略均会涉及对数据点信息的核心数据的处理,该处理可以为对一项或至少一项数据点信息的核心数据进行求和、求差值、求平方根、求绝对值、取余或其他可用的数学处理方式进行处理,还可以从消息队列中选择符合满足一定要求的数据,如大于某阈值、小于某阈值、处于某数据区间内(或外)等筛选数据方式,根据需要进行设置,在此不作具体限制。

执行主体可以通过预设筛选策略从目标消息队列中筛选出历史消息队列。预设筛选策略是指预先设计好的针对目标消息队列中的数据点信息的筛选策略。

在一些实施例中,筛选策略可以为:首先执行主体可以获取预设筛选时间段,然后执行主体可以基于预设筛选策略从每个预设时间范围筛选出需要保留的数据点信息,生成历史消息队列。其中,预设筛选时间段是指预设的时间区间,如1秒,3秒,10秒,1分钟,1小时或其他时间段。该预设筛选时间段小于等于目标消息队列的时间戳差值,其中,时间戳差值是指目标消息队列中第一个数据点信息与最后一个数据点信息的时间戳的时间差值。在一个具体实施例中,目标消息队列第一个数据点信息的时间戳为00:00(分:秒),最后一个数据点信息的时间戳为01:50,那么目标消息队列的时间戳差值为110秒,针对此目标消息队列的该预设时间范围必须小于等于110秒,例如可以为10秒,20秒,50秒,或者110秒等,在实际使用过程中,一般预设时间范围与时间戳差值相等。在其他实施过程中,可以根据需要进行设置,在此不做具体限制。

作为示例,通过采集设备E1每1秒钟可以采集3个实时数据作为核心数据,经过处理得到目标消息队列Q1,目标消息队列Q1的时间戳差值为13秒,预设时间范围为2秒,那么针对采集设备E1的筛选策略可以为:

(1)从目标消息队列Q1按时间戳排序的第一个数据点信息开始,获取基于该第一个数据点信息时间戳之后的2秒内的数据点信息。

(2)从该2秒内的数据点信息中筛选出按照时间戳排序的第一个数据点信息加入新创建的历史消息队列。或者,可以从该6个数据点信息中筛选出按照时间戳排序的最后一个数据点信息加入历史消息队列。再或者,可以从该6个数据点信息中筛选出按照时间戳排序的任意一个数据点信息加入历史消息队列。

(3)参照(2)将目标消息队列Q1中剩余的数据点信息分别进行筛选,即从目标消息队列Q1按时间戳排序的第一个数据点信息的时间戳之后的2秒内(即0秒至2秒),2秒至4秒,4秒至6秒,6秒至8秒,8秒至10秒,10秒至12秒分别筛选出数据点信息,并将该分别筛选出数据点信息加入历史消息队列。

(4)由于目标消息队列的剩余数据点信息的首尾数据点信息的时间戳的差值为1秒,小于2秒,因此从剩余的1秒内的共3个数据点信息中筛选1个数据点信息加入历史消息队列,筛选方法参照(2)。

(5)生成历史消息队列。

在另一些实施例中,筛选策略可以为:执行主体可以从目标消息队列中预设分筛位置筛选一个预设分筛时间段的数据点信息,生成历史消息队列。预设分筛位置是指从目标消息队列中某个数据点信息的位置。预设分筛时间段是指预设的时间区间,如1秒,3秒,10秒,1分钟,1小时或其他时间段。该预设分筛时间段小于等于目标消息队列中的分筛时间戳差值,分筛时间戳差值可以指预设位置的数据点信息与消息队列最后一个数据点信息的时间戳的差值。

作为示例,通过采集设备E2每1秒钟可以采集3个实时数据作为核心数据,经过处理得到目标消息队列Q2,预设分筛位置为第7个数据点信息,目标消息队列Q2的时间戳差值为9秒,其基于预设分筛位置的分筛时间段为2秒,那么针对采集设备E2的筛选策略可以为:(1)从目标消息队列Q2第7个数据点信息开始,获取基于该数据点信息时间戳后2秒内的数据点信息。(2)根据该2秒内的数据点信息生成历史消息队列。

可选地,执行主体还可以从目标消息队列中预设分筛位置筛选一个预设分筛时间段的数据点信息之后,进行二次分筛;基于二次分筛后的数据点信息生成历史消息队列中。该二次分筛是指基于预设的二筛时间段,从预设分筛时间段的数据点信息中进一步筛选出符合要求的数据点信息。该二筛时间段小于分筛时间段。

作为示例,通过采集设备E3每1秒钟可以采集4个实时数据作为核心数据,经过处理得到目标消息队列Q3,预设分筛位置为第7个数据点信息,目标消息队列Q3的时间戳差值为10秒,其基于预设分筛位置的分筛时间段为3秒,二筛时间段为1秒,那么针对采集设备E3的筛选策略可以为:

(1)从目标消息队列Q3第7个数据点信息开始,获取基于该第7个数据点信息时间戳之后的3秒内的数据点信息。

(2)从该3秒内的数据点信息中按照时间戳排序的第一个数据点信息开始,筛选出1秒内的所有数据点信息。

(3)从该1秒内的所有数据点信息中筛选出按照时间戳排序的第一个数据点信息加入新创建的历史消息队列。或者,可以从该1秒内的所有数据点信息中筛选出按照时间戳排序的最后一个数据点信息加入历史消息队列。再或者,可以从1秒内的所有数据点信息中筛选出按照时间戳排序的任意一个数据点信息加入历史消息队列。

(4)参照(3)将分筛过的数据点信息中剩余的数据点信息分别进行筛选,即从剩余的数据点信息中时间戳最早的数据点信息之后的1秒内(即0秒至1秒),1秒至2秒分别筛选出数据点信息,并将该分别筛选出数据点信息加入历史消息队列。

(5)生成历史消息队列。

执行主体可以将历史消息队列的数据点信息存储至历史时序数据库。时序数据库具有存储成本低、数据压缩比高、聚合能力强的优点。因此选择时序数据库存储历史消息队列中数据点信息。该时序数据库可以为TDengine时序数据库、DolphinDB时序数据库、Dolphin时序数据库或kdb时序数据库等常用时序数据库。根据需要选择,在此不做限制。

根据上述实施例提供的技术方案,一方面,通过将初始消息队列的数据点信息通过预设策略进行处理,可以不通过数据库直接得到符合要求的数据点信息构成的消息队列,大大提高了海量实时数据处理的效率。另一方面,通过使用历史时序数据库来存储海量实时数据,可以提高查询性能以及聚合分析性能,还能降低数据库的存储成本,提高本方法的实用性。

在一些实施例中,执行主体基于预设处理策略对初始消息队列中的数据点信息进行处理,生成目标消息队列,包括:获取与所述初始消息队列相匹配的所述预设处理策略;判断所述预设处理策略的策略类型;若所述预设处理策略是单一策略,基于所述预设处理策略对所述时间戳相同的数据点信息进行处理,得到处理过的数据点信息;基于所述处理过的数据点信息,生成目标消息队列。

其中,与初始消息队列相匹配的预设处理策略,是指初始消息队列中元消息数据的标识信息与该处理策略对应的标识信息相同。

作为示例,现有由瓦时为计量单位的耗电量数据组成的消息队列Q4,需要将消息队列Q4中耗电量计量单位从瓦时转换为千瓦时,则针对此情景的处理策略可以为:(1)从消息队列Q4获取一个核心数据d1。(2)求出以千瓦时为计量单位的核心数据d2=d1/1000。(3)将核心数据d1添加与核心数据d1相同的时间戳信息。(4)将核心数据d2添加标识信息等其他信息,生成数据点信息。

在一些实施例中,若预设处理策略是关联策略,获取与初始消息队列相关联的消息队列,得到至少两个关联消息队列;分别从至少一个关联消息队列中的每个消息队列与初始消息队列中取出时间戳相同的数据点信息;基于预设处理策略对时间戳相同的数据点信息进行处理,得到处理过的数据点信息;基于处理过的数据点信息,生成目标消息队列。

相关联的消息队列是指该至少一个消息队列中的数据点信息的标识信息相同。作为示例,消息队列Q5的数据点信息的标识信息为锅炉出水温度,消息队列Q6的数据点信息的标识信息也为锅炉出水温度,则消息队列Q5与消息队列Q6为相关联的消息队列。

作为示例,企业A包括3台耗电设备分别为E2、E3和E4,分别可以获取到由耗电设备E2的耗电数据生成的消息队列Q7,由耗电设备E3的耗电数据生成的消息队列Q8,由耗电设备E4的耗电数据生成的消息队列Q9。需要得到企业A在单日内用电设备的耗电量总和的数据点信息组成的消息队列,那么此情景的处理策略可以为:(1)分别从消息队列Q7、Q8和Q9分别获取时间戳相同的核心数据d3,d4和d5。(2)求出d3,d4和d5的核心数据总和H1=d5+d4+d5。(3)将核心数据总和H1添加与d3,d4和d5相同的时间戳信息。(4)将核心数据总和H1添加标识信息等其他信息,生成耗电数据总和的数据点信息。(5)基于构成耗电数据总和的数据点信息生成目标消息队列。

在一些实施例中,获取与初始消息队列相匹配的预设处理策略,包括:将初始消息队列中数据点信息的标识信息与处理策略数据库中的处理策略进行匹配;若匹配到与标识信息相对应的处理策略,将处理策略确定为目标处理策略;若匹配不到与标识信息相对应的处理策略,显示提示新建处理策略界面;接收针对新建处理策略界面输入的处理策略,将输入的处理策略确定为目标处理策略。

其中,处理策略数据库是用来存储处理策略的数据存储中心,处理策略数据库可以为普通的关系数据库,也可以为时序数据库,根据需要进行设置。每个存储于处理策略数据库的处理策略均包含策略标识信息和策略执行信息。策略标识信息与数据点信息的标识信息相对应,用于存储对处理对象(即数据点信息)的简要说明。

新建处理策略界面可以包括策略标识信息部分、策略执行信息部分和选择计算函数部分等。其中,策略标识信息部分用于输入策略标识信息;策略执行信息部分用于输入策略执行信息;选择计算函数部分用于选择合适的计算函数,该计算函数用于策略执行步骤中对数据点信息的核心数据进行处理。

在一些实施例中,将历史消息队列的数据点信息存储至历史时序数据库,包括:将历史消息队列进行安全化处理,得到安全历史消息队列;获取安全历史消息队列的数量信息;基于数量信息,确定安全历史消息队列中的数据点信息的保存时间;将已确定保存时间的安全历史消息队列中的数据点信息存储至历史时序数据库。

安全历史消息队列的数量信息是指安全历史消息队列中数据点信息的数量。由于数据库的容量是固定的,数据点信息是不断增长的,因此为了维持数据库的健康运行,需要定时清除之前存储的数据点信息。根据实际应用的需求,每种类型的数据点信息会被预先设定容量上限,当某一类型的数据点信息接近容量上限时,会清理一部分或全部的该某一类型的数据点信息。由于数据点信息是随时间而不断增多的,因此一般采用清除时间戳信息与当前时间的时间间隔最长的数据点信息。由此,可以通过确定安全历史消息队列中的数据点信息的数量信息来确定该安全历史消息队列中的数据点信息的存储时间。例如,当安全历史消息队列的数量信息处于(0至300000]区间时,将该安全历史消息队列的数据点信息存储的时间设置为60天。当安全历史消息队列的数量信息处于(300000至1000000]区间时,将该安全历史消息队列的数据点信息存储的时间设置为45天。当安全历史消息队列的数量信息处于(1000000至∞)区间时,将该安全历史消息队列的数据点信息存储的时间设置为30天。

另外,一些数据点信息由于实际需求,需要将该一些数据点信息存储更长的时间,如3个月、1年、10年或其他时间,因此可以在数据点信息中增添一个存储时间标识。在一些实施例中,存储时间标识可以为布尔型数据信息,如1或0。作为示例,当该数据点信息的存储时间标识为1时,将该数据点信息的保存时间设为10年。当该数据点信息的存储时间标识为0时,将该数据点信息的保存时间根据该数据点信息所在的消息队列来判定,参照上述说明。在另一些实施例中,存储时间标识可以为整数值类型信息,如1、2、3、5、88等。作为示例,存储时间标识为1、2、3。当数据点信息的存储时间标识为1时,将该数据点信息的保存时间设为10年。当数据点信息的存储时间标识为2时,将该数据点信息的保存时间设为5年。当数据点信息的存储时间标识为3时,将该数据点信息的保存时间根据该数据点信息所在的消息队列来判定,参照上述说明。存储时间标识还可以为其他类型的信息如字符串类型等,可以通过该存储时间标识对数据点信息进行不同的时间存储即可,在此不做具体限制。

历史时序数据库是专门用来存储历史消息队列中数据点信息的时序数据库。时序数据库的优势参照前文,在此不做赘述。

在一些实施例中,从目标消息队列中筛选出历史消息队列之后,包括:从目标消息队列中筛选出实时消息队列;将实时消息队列进行安全化处理,得到安全实时消息队列;检测到针对安全实时消息队列的处理请求时,对安全实时消息队列中的数据点信息进行处理。

海量的数据点信息并不需要将所有数据都存储至数据库,因此只筛选部分数据点信息存储入数据库,如上述的哪些实施例所示。但在一些应用场景中,需要对某些实时数据进行展示,因此筛选出来需要显示的消息队列作为实时消息队列,并显示至查询数据请求方的显示设备。

在一些实施例中,在检测到查询数据操作时,接收查询数据操作输入的标识信息和时间信息;基于所述标识信息和时间信息从所述历史时序数据库中获取目标数据点信息;显示表征所述目标数据点信息的查询数据显示界面。

查询数据操作会输入需要查询的标识信息,对应数据点信息的标识信息;还会输入需要查询的时间信息,时间信息一般指某一时间段,如基于某时间点以后的1秒钟、3分钟、5天、2个月、5年或其他时间段。根据标识信息和时间信息从历史时序数据库中获取对应的数据点信息,并表征所述目标数据点信息的查询数据显示界面。

图3是本公开实施例提供的实时数据处理方法的流程图。图3的实时数据处理方法可以由图1服务器4(以下简称执行主体)执行。如图3所示,该实时数据处理方法包括:

S301,获取数据点信息。

S302,基于数据点信息,生成初始消息队列。

S303,将初始消息队列中数据点信息的标识信息与处理策略数据库中的处理策略进行匹配。

S304,若匹配到与标识信息相对应的处理策略,将处理策略确定为预设处理策略。

S305,若匹配不到与标识信息相对应的处理策略,显示提示新建处理策略界面。

S306,接收针对新建处理策略界面输入的处理策略,将输入的处理策略确定为预设处理策略。

S307,判断预设处理策略的策略类型;

S308,若预设处理策略是单一策略,基于预设处理策略对时间戳相同的数据点信息进行处理,得到处理过的数据点信息。

S309,若预设处理策略是关联策略,获取与初始消息队列相关联的至少一个关联消息队列。

S310,分别从至少一个关联消息队列中的每个消息队列与初始消息队列中取出时间戳相同的数据点信息。

S311,基于预设处理策略对时间戳相同的数据点信息进行处理,得到处理过的数据点信息。

S312,基于处理过的数据点信息,生成目标消息队列。

S313,从目标消息队列中筛选出历史消息队列。

S314,将历史消息队列进行安全化处理,得到安全历史消息队列。

S315,获取安全历史消息队列的数量信息。

S316,基于数量信息,确定安全历史消息队列中的数据点信息的保存时间。

S317,将已确定保存时间的安全历史消息队列中的数据点信息存储至历史时序数据库。

上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。

图4是本公开实施例提供的实时数据处理方法装置的示意图。如图4所示,该实时数据处理方法装置包括:

获取模块401,被配置成获取数据点信息;

生成模块402,被配置成基于所述数据点信息,生成初始消息队列;

处理模块403,被配置成基于预设处理策略对所述初始消息队列中的数据点信息进行处理,生成目标消息队列;

筛选模块404,被配置成从所述目标消息队列中筛选出历史消息队列;

存储模块405,被配置成将所述历史消息队列的数据点信息存储至历史时序数据库。

根据本公开实施例提供的技术方案,一方面,通过将初始消息队列的数据点信息通过预设策略进行处理,可以不通过数据库直接得到由符合要求的数据点信息构成的消息队列,大大提高了海量实时数据处理的效率。另一方面,通过使用历史时序数据库来存储海量实时数据,可以提高查询性能以及聚合分析性能,还能降低数据库的存储成本,提高本公开的实用性。

在一些实施例中,图4的处理模块403被进一步配置为:获取与所述初始消息队列相匹配的所述预设处理策略;判断所述预设处理策略的策略类型;若所述预设处理策略是单一策略,基于所述预设处理策略对所述时间戳相同的数据点信息进行处理,得到处理过的数据点信息;基于所述处理过的数据点信息,生成目标消息队列。

在一些实施例中,图4的处理模块403还包括:若所述预设处理策略是关联策略,获取与所述初始消息队列相关联的至少一个关联消息队列;分别从所述至少一个关联消息队列中的每个消息队列与所述初始消息队列中取出时间戳相同的数据点信息;基于所述预设处理策略对所述时间戳相同的数据点信息进行处理,得到处理过的数据点信息;基于所述处理过的数据点信息,生成目标消息队列。

在一些实施例中,所述获取与所述初始消息队列相匹配的所述预设处理策略,包括:将所述初始消息队列中数据点信息的标识信息与处理策略数据库中的处理策略进行匹配;若匹配到与所述标识信息相对应的处理策略,将所述处理策略确定为所述预设处理策略;若匹配不到与所述标识信息相对应的处理策略,显示提示新建处理策略界面;接收针对所述新建处理策略界面输入的处理策略,将所述输入的处理策略确定为所述预设处理策略。

在一些实施例中,图4的存储模块405被进一步配置成:将所述历史消息队列进行安全化处理,得到安全历史消息队列;获取所述安全历史消息队列的数量信息;基于所述数量信息,确定所述安全历史消息队列中的数据点信息的保存时间;将已确定保存时间的所述安全历史消息队列中的数据点信息存储至所述历史时序数据库。

在一些实施例中,图4的实时数据处理方法装置还包括:实时消息队列筛选模块,被配置成从所述目标消息队列中筛选出实时消息队列。安全化处理模块,被配置成将所述实时消息队列进行安全化处理,得到安全实时消息队列;数据点信息处理模块,被配置成检测到针对所述安全实时消息队列的处理请求时,对所述安全实时消息队列中的数据点信息进行处理。

在一些实施例中,图4的实时数据处理方法装置还包括:接收模块,被配置成在检测到查询数据操作时,接收查询数据操作输入的标识信息和时间信息;目标数据点信息获取模块,被配置成基于所述标识信息和时间信息从所述历史时序数据库中获取目标数据点信息;界面显示模块,被配置成显示表征所述目标数据点信息的查询数据显示界面。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。

图5是本公开实施例提供的计算机设备5的示意图。如图5所示,该实施例的计算机设备5包括:处理器50、存储器51以及存储在该存储器51中并且可以在处理器50上运行的计算机程序52。处理器50执行计算机程序52时实现上述各个方法实施例中的步骤。或者,处理器50执行计算机程序52时实现上述各装置实施例中各模块/单元的功能。

示例性地,计算机程序52可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器51中,并由处理器50执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序52在计算机设备5中的执行过程。

计算机设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算机设备。计算机设备5可以包括但不仅限于处理器50和存储器51。本领域技术人员可以理解,图5仅仅是计算机设备5的示例,并不构成对计算机设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,计算机设备还可以包括输入输出设备、网络接入设备、总线等。

处理器50可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmadle Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器51可以是计算机设备5的内部存储单元,例如,计算机设备5的硬盘或内存。存储器51也可以是计算机设备5的外部存储设备,例如,计算机设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器51还可以既包括计算机设备5的内部存储单元也包括外部存储设备。存储器51用于存储计算机程序以及计算机设备所需的其它程序和数据。存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。

相关技术
  • 实时数据处理方法、装置、存储介质及计算机设备
  • 实时数据处理方法、装置、计算机设备和介质
技术分类

06120113195493