时序数据库的数据处理方法、装置、服务器和存储介质与流程

文档序号:26050612发布日期:2021-07-27 15:25阅读:143来源:国知局
时序数据库的数据处理方法、装置、服务器和存储介质与流程

本申请涉及计算机领域,尤其涉及一种时序数据库的数据处理方法、系统、服务器、装置和存储介质。



背景技术:

时序数据库全称为时间序列数据库。时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时序数据库通常被智慧物联iot(internetofthings,物联网)领域用于存储带有时间戳特性的数据。不同种类型的时序数据库会有不同的侧重点:压缩比、运维支持、扩展性、性能、聚合计算能力等等。由于时序数据侧重的特性不同,会引出不同种类型的时序数据库,而在同一项目中,可能同时会使用到几种不同的时序数据库,为每种时序数据库数据的加工计算都进行适配的烟囱式开发会极大的增加开发成本。

随着iot的高速发展,时序数据的数据量急剧膨胀,如何对时序数据进行高效的加工计算也成为了一个重要的话题。不同的场景也会使用到不同的时序数据库,不同的时序数据库也会有各自不同的数据加工计算方式,为每个时序数据库分别进行数据加工计算的烟囱式开发极大的增加了开发成本。



技术实现要素:

为解决上述的技术问题,本申请提供一种时序数据库的数据处理方法、相关装置和存储介质,实现不同类型的时序数据库的数据处理的适配的问题。

第一方面,本申请提供了一种时序数据库的数据处理方法,包括:

设置数据加工计算公式;

对所述数据加工计算公式进行参数校验和格式校验;

在校验通过后,将所述数据加工计算公式解析为具有一定顺序的多个原子公式;

将所述多个原子公式转换时序数据库引擎匹配的的可执行语句;

通过所述时序数据库引擎执行所述可执行语句,对时序数据库中的时序数据进行加工计算得到计算结果。

第二方面,本申请提供了一种时序数据库的数据处理装置,包括:

设置单元,用于设置数据加工计算公式;

校验单元,用于对所述数据加工计算公式进行参数校验和格式校验;

解析单元,用于在校验通过后,将所述数据加工计算公式解析为具有一定顺序的多个原子公式;

转换单元,用于将所述多个原子公式转换时序数据库引擎匹配的的可执行语句;

计算单元,用于通过所述时序数据库引擎执行所述可执行语句,对时序数据库中的时序数据进行加工计算得到计算结果。

本申请又一方面提供了一种装置,可以实现上述第一方面或第二方面的时序数据库的数据处理方法。例如所述装置可以是芯片(如基带芯片,或通信芯片等)或者服务器。可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。

在一种可能的实现方式中,所述装置的结构中包括处理器、存储器;所述处理器被配置为支持所述装置执行上述应用测试方法中相应的功能。存储器用于与处理器耦合,其保存所述装置必要的程序(指令)和/或数据。可选的,所述装置还可以包括通信接口用于支持所述装置与其他网元之间的通信。

在另一种可能的实现方式中,所述装置可以包括执行上述方法中相应动作的单元模块。

在又一种可能的实现方式中,包括处理器和收发装置,所述处理器与所述收发装置耦合,所述处理器用于执行计算机程序或指令,以控制所述收发装置进行信息的接收和发送;当所述处理器执行所述计算机程序或指令时,所述处理器还用于实现上述方法。其中,所述收发装置可以为收发器、收发电路或输入输出接口。当所述装置为芯片时,所述收发装置为收发电路或输入输出接口。

当所述装置为芯片时,发送单元可以是输出单元,比如输出电路或者通信接口;接收单元可以是输入单元,比如输入电路或者通信接口。当所述装置为网络设备时,发送单元可以是发射器或发射机;接收单元可以是接收器或接收机。

本申请又一方面提供了一种装置,该装置包括:存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行各方面所述的方法。

本申请的又一方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

根据以上的实施例,通过设置标准的数据加工计算公式,数据加工计算公式由多个原子公式组成,在对数据加工计算公式进行校验通过后,将多个原子公司转换为时序数据库匹配的可执行语句,然后基于可执行语音在对时序数据库中的数据进行加工计算,得到加工计算后的时序数据,因此可适配各种不同时序数据库的数据加工计算,用户无需关注时序数据库的类型,只需基于数据加工计算的标准格式进行业务开发,提高可工作效率和降低数据处理成本。

附图说明

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

图1是本申请实施例提供的网络结构图;

图2是本申请实施例提供的一种时序数据库的数据处理方法的流程示意图;

图3是本申请实施例提供的参数校验的流程示意图;

图4是本申请实施例提供的格式校验的流程示意图;

图5是本申请实施例提供的一种装置的另一结构示意图;

图6是本申请实施例提供的一种装置的另一结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

参见图1,为现有技术提供的网络架构图,在该网络架构包括用户设备10、多个时序数据库11和服务器12。多个时序数据库的类型不同,服务器12可以包括一个或多个多个服务器,在服务器12的数量为多个时,多个服务器呈分布式部署。用户设备10和服务器12之间具有相互通信的通信接口,用户设备10和服务器12之间可以采用有线方式或无线方式进行通信。应理解,图1中网络架构的各个设备的连接方式和数量仅为举例说明,并非对本申请的限制。

其中,用户设备10主要提供图形界面,用户通过图形界面配置数据加工计算公式,将配置的数据加工计算公式发送给服务器12,服务器12对数据加工计算公式进行参数校验和格式校验;在校验通过后,将数据加工计算公式解析为具有一定顺序的多个原子公式;在多个时序数据库中选择一个时序数据库,将多个原子公式转换该选择的时序数据库引擎匹配的的可执行语句;通过时序数据库引擎执行可执行语句,对时序数据库中的时序数据进行加工计算得到计算结果。

本申请中的服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该服务器可以是独立的服务器,也可以是多个服务器所组成的服务器集群。

其中,本申请中的用户设备包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的终端设备等。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

参见图2,图2是本申请实施例提供的时序数据库的数据处理方法的流程示意图,在本申请实施例中,所述方法包括:

s201、设置数据加工计算公式。

其中,用户可以通过公式编辑界面设置数据加工计算公式,数据加工计算公式为标准的公式,本申请的数据加工计算公式用于对时序数据库中的数据进行相关处理,数据加工计算公式由多个原子公式组成的,原子公式为预先定义的最小粒度的公式,原子公式是没有子公式的公式。容易理解,数据加工公式中除包含多个原子公式之外,还可以包括一个或多个括号,括号用于将各个原子公式连接起来形成一定的运算规则。

在本申请的一些实施例中,原子公式可以为:加法公式(例如:a+b)、减法公式(例如:a-b)、乘法公式(例如:a×b)、除法公式(例如:a/b)、取最小值公式(例如:least(a,b))、取最大值公式(例如:greatest(a,b))。即,本申请的数据加工计算公式包含上述的6个原子公式中的一个或多个,同时还包含括号,将上述原子公式连接起来。

s202、对所述数据加工计算公式进行参数校验和格式校验。

其中,参数校验的目的在于校验数据加工计算公式包含的各个参数是否为预定义的参数,如果设置的数据加工计算公式中包含未定义的参数,那么时序数据库引擎会无法识别。格式校验的目的在于校验设置的数据加工计算公式的格式是否正确,例如:设置的数据加工计算公式包含:a+×b,那么其格式是不正确的,时序数据库引擎将无法识别。

在本申请的一些实施例中,参数校验的过程可以参见图3所示:

s301、移除数据加工计算公式中的非四则运算公式、运算符号和括号得到参数列表。

其中,非四则运算公式是指除加法公式、减法公式、乘法公式和除法公式之外的公式,例如:取最大值公式和取最小值公式。运算符号为表示运算关系的符号,例如:加号、减号、乘号和除号。括号可以为小括号、中括号和大括号等起连接作用的符号。移除上述的三种元素后,得到数据加工计算公式中各个参数,得到参数列表。

s302、判断参数列表中的各个参数是否位于预定义参数列表中。

其中,本申请预配置有预定参数列表,预定义参数列表中包括多个预定义的参数,判断s301中得到的各个参数是否位于该预定义的参数列表中,若s301中所有的参数均位于预定义参数列表中时,执行s303;若s301中存在至少一个参数不位于预定义参数列表中时,执行s304。

s303、参数校验通过。

s304、参数校验不通过。

在本申请的一些实施例中,格式校验的过程包括:

s401、查询数据加工计算公式中的非四则运算公式。

其中,非四则运算公式是指除加法公式、减法公式、乘法公式和除法公式之外的公式。例如:查询数据加工计算公式中包含的取最大公式和取最小公式。

s402、检测非四则运算公式的格式是否正确。

其中,检测非四则运算公式的格式是否正确,即校验非四则运算公式的函数名、参数类型、参数排列顺序和参数间的间隔符等是否符合要求,若为是,执行s403;否则,输出格式校验不通过的提示消息。

s403、若为是,对非四则运算公式进行计算得到中间参数值,将所述数据加工计算公式中的非四则运算公式替换为所述中间参数值。

其中,对所有的非四则运算公式进行计算各自得到中间参数值,然后将中间参数值替换到原来的数据加工计算公式中,替换后得到的数据加工计算公式仅包含四则运算公式,即加法公式、减法公式、乘法公式和除法公式。

s404、将预设的输入参数值输入到替换后的数据加工计算公式进行计算。

其中,在替换后的数据加工计算公式中输入预设的输入参数值,判断是否得到正确的数值。

s405、若输出正确的数值,则格式校验通过。

s406、若无法输出正确的数值,则格式校验不通过。

可以理解,本申请可以采用图3或图4之外的其他校验方式对数据加工计算公式的参数和格式进行校验,本申请不作限制。

s203、在校验通过后,将数据加工计算公式解析为具有一定顺序的多个原子公式。

其中,在校验通过后,本申请可以通过解析器将数据加工计算公式解析为多个具有一定顺序的原子公式,即多个原子公式具有一定的执行顺序,规定各个原子公式执行的先后顺序或执行次数。

s204、将多个原子公式转换时序数据库引擎匹配的的可执行语句。

其中,本申请提供多种针对不同时序数据库引擎的特殊解析器,将通用的原子公司解析组装成对应时序数据库引擎可以识别可执行语句。如:对于clickhouse时序数据库,需要将取最大值、取最小值函数处理成clickhouse时序数据库对应的取最大值函数least()、取最小值函数greatest(),然后再将有顺序的包含多个原子公司的集合按照顺序进行组装,处理成clickhouse时序数据库引擎可以执行的sql语句;或者,对于elasticsearch时序数据库,需要将取最大值、取最小值函数处理成elasticsearch时序数据库对应的取最大值函数max()、取最小值函数min(),然后再将有顺序的原子公式的集合按照顺序进行组装,处理成elasticsearch时序数据库引擎可以执行的dsl语句。

s205、通过时序数据库引擎执行可执行语句,对时序数据库中的时序数据进行加工计算得到计算结果。

其中,通过对应的执行器将可执行语句提交给时序数据库引擎,由时序数据库引擎对数据数据库中的数据进行加工计算,获取计算后的结果。例如:对于clickhouse时序数据库,通过已获取的clickhouse时序数据库可以识别执行的sql语句,通过clickhouse执行器,将clickhouse时序数据库可以识别执行的sql(结构化查询语言)语句提交给clickhouse时序数据库引擎进行数据的加工计算,返回计算后的结果;对于elasticsearch时序数据库,通过已经获取到的elasticsearch时序数据库可以识别执行的dsl(领域特定语言)语句,通过elasticsearch执行器,将elasticsearch时序数据库可以识别执行的dsl语句提交给elasticsearch时序数据库引擎进行数据的加工计算,返回计算结果(即加工计算后的数据),加工计算后的数据可以保存起来,也可以显示出来。

综上,实施本申请的实施例至少可实现如下技术效果:

1、用户无需关注时序数据库类型,只需基于定义的标准加工计算格式进行业务开发。

2、同一个数据加工计算公式可以同时适配到多个时序数据库,例如:分别在clickhouse时序数据库和elasticsearch时序数据库中进行数据的加工计算。

3、通过定义特殊解析器接口和执行器接口,方便对于除了elasticsearch时序数据库和clickhouse时序数据库以外的其他数据库的数据加工计算的扩展,用户可以自己实现特殊解析器接口方法和执行器接口方法,来实现对于其他数据库数据的加工计算。

上述图2至图4详细阐述了时序数据库的数据处理方法。相应的本申请实施例的一种装置的结构示意图。

请参见图5,图5是本申请实施例提供的一种装置5的结构示意图,该装置5可以包括:设置单元501、校验单元502、解析单元503、转换单元504和计算单元505。

设置单元501,用于设置数据加工计算公式;

校验单元502,用于对所述数据加工计算公式进行参数校验和格式校验;

解析单元503,用于在校验通过后,将所述数据加工计算公式解析为具有一定顺序的多个原子公式;

转换单元504,用于将所述多个原子公式转换时序数据库引擎匹配的的可执行语句;

计算单元505,用于通过所述时序数据库引擎执行所述可执行语句,对时序数据库中的时序数据进行加工计算得到计算结果。

在一个或多个可能的实施例中,所述原子公式为:

加法公式、减法公式、乘法公式、除法公式、取最小值公式、取最大值公式。

在一个或多个可能的实施例中,所述参数校验包括:

移除所述数据加工计算公式中的非四则运算公式、运算符号和括号得到参数列表;

判断所述参数列表中的各个参数是否位于预定义参数列表中;

若为是,则所述参数校验通过;

若为否,则所述参数校验不通过。

在一个或多个可能的实施例中,所述正确性验证包括:

查询所述数据加工计算公式中的非四则运算公式;

检测所述非四则运算公式的格式是否正确;

若为是,对非四则运算公式进行计算得到中间参数值,将所述数据加工计算公式中的非四则运算公式替换为所述中间参数值;

将预设的输入参数值输入到替换后的数据加工计算公式进行计算;

若输出正确的数值,则格式校验通过;

若无法输出正确的数值,则格式校验不通过。

在一个或多个可能的实施例中,所述非四则运算公式包括取最大值公式和取最小值公式。

在一个或多个可能的实施例中,所述时序数据库为elasticsearch时序数据库或clickhouse时序数据库。

在一个或多个可能的实施例中,所述可执行语句为sql语句或dsl语句

本申请实施例和图2~图4的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图2~图4的方法实施例的描述,此处不再赘述。

装置5可以是服务器或用户设备,所述装置5也可以为实现相关功能的现场可编程门阵列(field-programmablegatearray,fpga),专用集成芯片,系统芯片(systemonchip,soc),中央处理器(centralprocessorunit,cpu),网络处理器(networkprocessor,np),数字信号处理电路,微控制器(microcontrollerunit,mcu),还可以采用可编程控制器(programmablelogicdevice,pld)或其他集成芯片。

请参见图6,为本申请实施例提供了一种装置的结构示意图。如图6所示,装置可以是图1中的服务器,装置600可以包括:至少一个处理器601,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602。

其中,通信总线602用于实现这些组件之间的连接通信。

其中,用户接口603为用户与服务器进行交互的接口,可以包括显示屏(display)、摄像头(camera)。可选的,用户接口603还可以包括标准的有线接口、无线接口。

其中,网络接口604可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

其中,处理器601可以包括一个或者多个处理核心。处理器601利用各种接口和线路连接整个电子设备600内的各个部分,通过运行或执行存储在存储器605内的指令、程序、代码集或指令集,以及调用存储在存储器605内的数据,执行电子设备600的各种功能和处理数据。可选的,处理器601可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器601可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器601中,单独通过一块芯片进行实现。

其中,存储器605可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器605包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器605可用于存储指令、程序、代码、代码集或指令集。存储器605可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。如图5所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。

在图6所示的电子设备600中,用户接口603主要用于为用户提供输入的接口,获取用户输入的数据;而处理器601可以用于调用存储器605中存储的配置应用程序接口的应用程序,并具体执行以下操作:

设置数据加工计算公式;

对所述数据加工计算公式进行参数校验和格式校验;

在校验通过后,将所述数据加工计算公式解析为具有一定顺序的多个原子公式;

将所述多个原子公式转换时序数据库引擎匹配的的可执行语句;

通过所述时序数据库引擎执行所述可执行语句,对时序数据库中的时序数据进行加工计算得到计算结果。

在一个或多个可能的实施例中,所述原子公式为:

加法公式、减法公式、乘法公式、除法公式、取最小值公式、取最大值公式。

在一个或多个可能的实施例中,处理器601执行所述参数校验包括:

移除所述数据加工计算公式中的非四则运算公式、运算符号和括号得到参数列表;

判断所述参数列表中的各个参数是否位于预定义参数列表中;

若为是,则所述参数校验通过;

若为否,则所述参数校验不通过。

在一个或多个可能的实施例中,处理器601执行所述正确性验证包括:

查询所述数据加工计算公式中的非四则运算公式;

检测所述非四则运算公式的格式是否正确;

若为是,对非四则运算公式进行计算得到中间参数值,将所述数据加工计算公式中的非四则运算公式替换为所述中间参数值;

将预设的输入参数值输入到替换后的数据加工计算公式进行计算;

若输出正确的数值,则格式校验通过;

若无法输出正确的数值,则格式校验不通过。

在一个或多个可能的实施例中,所述非四则运算公式包括取最大值公式和取最小值公式。

在一个或多个可能的实施例中,所述时序数据库为elasticsearch时序数据库或clickhouse时序数据库。

在一个或多个可能的实施例中,所述可执行语句为sql语句或dsl语句。

本实施例的构思和图2~图4的方法实施例相同,其带来的技术效果也相同,具体过程可参照图2~图4实施例的描述,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

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