CN109766394A - 度量平台数据查询方法及装置、可读存储介质及终端 - Google Patents
度量平台数据查询方法及装置、可读存储介质及终端 Download PDFInfo
- Publication number
- CN109766394A CN109766394A CN201811551708.0A CN201811551708A CN109766394A CN 109766394 A CN109766394 A CN 109766394A CN 201811551708 A CN201811551708 A CN 201811551708A CN 109766394 A CN109766394 A CN 109766394A
- Authority
- CN
- China
- Prior art keywords
- query
- condition
- data
- conditions
- default
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种度量平台数据查询方法及装置、可读存储介质以及终端。其中方法包括:判断查询请求中的预查询条件是否符合预设过滤条件;根据预设切片条件对查询条件中的查询时间区间进行切片;并与查询条件中的其它条件组合成组合查询条件;依次根据组合查询条件在缓存数据库中查询缓存数据;若全查询到,则对查询到的所有缓存数据进行读取并聚合封装发送给客户端,否则依次根据未查询到缓存数据的组合查询条件在时序列数据库中查询指标数据,并将查询到的指标数据聚合封装发送给客户端。本发明提供的度量平台数据查询方法根据用户的查询条件智能对数据进行过滤拦截和数据聚合,在保证满足查询需求的前提下,减少传输的数据量。
Description
技术领域
本发明属于数据查询领域,具体涉及一种度量平台数据查询方法及装置,以及度量平台数据查询方法相关的可读存储介质和终端。
背景技术
现有的企业应用和网站发展运营过程中,度量平台通常会自动记录大量的数据指标信息,具体包括操作行为、交易流程和记录信息、第三方服务调用返回信息、底层的服务调用响应信息和数据库交互信息等类型指标数据。这些数据指标信息通常是以秒甚至毫秒单位进行记录的,进而随着企业的发展,度量平台中会存储大量的指标数据。当需要某些指标数据时,通常会在存储的数据指标中通过查询的技术进行查找。
传统的数据查询过程中存在如下问题:首先,由于度量平台的存储指标数据量过大,而查询得到的数据都是实时从数据库或存储中获取,因此查询速度较为缓慢。其次,由于度量平台内存储了大量的指标数据,在查询过程中符合查询条件的数据过多,数据量大,占用大量的网络资源。再者度量平台的对数据进行查询时,会将查询的数据全部缓存到内存资源中,加大了数据库和系统服务的压力。即传统的查询技术存在查询速度缓慢,返回数据量巨大以及耗费资源多的问题。
基于上述原因,亟需一种查询速度快、返回数据小以及节约网络资源的度量平台数据快查询方法。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种度量平台数据查询方法、度量平台数据查询装置、计可读存储介质以及终端,用于解决传统的查询技术存在的查询速度缓慢,返回数据量巨大和耗费资源多的问题。
为实现上述目的及其他相关目的,本发明提供一种度量平台数据查询方法,包括:
接收查询请求,判断所述查询请求中的预查询条件是否符合预设过滤条件,若符合则确定所述预查询条件为查询条件,否则向客户端发送异常信息;
根据预设切片条件对所述查询条件中的查询时间区间进行切片,得到至少两片的时间切片;并将各个所述时间切片分别与所述查询条件中的其它条件进行组合形成多个组合查询条件;
依次根据所述组合查询条件在缓存数据库中查询对应的缓存数据;
判断在所述缓存数据库中是否查询到所有组合查询条件对应的缓存数据,若全部查询到,则对查询到的所有缓存数据进行读取并聚合封装,同时将聚合封装后的缓存数据发送给所述客户端;
若在所述缓存数据库没有查询到所有组合查询条件对应的缓存数据,则根据所述组合查询条件中未查询到对应缓存数据的所述组合查询条件在时序列数据库中依次查询对应的指标数据,并将查询到的所有缓存数据和所有所述指标数据进行聚合封装,得到聚合封装数据;
判断所述聚合封装数据是否满足预设被动缓存条件,若满足则将所述聚合封装数据缓存到所述缓存数据库中;
所述度量平台将聚合封装的所述指标数据发送给所述客户端。
优选的是,所述预查询条件包括预查询时间区间、预查询粒度、预指标条件和预聚合条件。
优选的是,判断所述查询请求中的预查询条件是否符合预设过滤条件步骤包括:
判断所述预查询时间区间和所述预查询粒度是否满足第一预设过滤条件;
若所述预查询时间区间和所述预查询粒度满足所述第一预设过滤条件,则判断所述预指标条件和所述预聚合条件是否满足第二预设过滤条件,否则向所述客户端发送异常信息;
若所述预指标条件和所述预聚合条件满足第二预设过滤条件,则确定所述预查询条件为查询条件,确定所述预查询条件中的预查询时间区间、预查询粒度、预指标条件和预聚合条件分别为所述查询条件中的查询时间区间、查询粒度、指标条件和聚合条件,否则向所述客户端发送异常信息。
优选的是,判断所述查询请求中的预查询条件是否符合预设过滤条件步骤包括:
判断所述预查询时间区间和所述预查询粒度是否满足第一预设过滤条件;
若所述预查询时间区间和所述预查询粒度满足所述第一预设过滤条件,则判断所述预指标条件是否满足第三预设过滤条件,否则向所述客户端发送异常信息;
若所述预指标条件满足第三预设过滤条件,则判断所述预聚合条件是否满足第四预设过滤条件,否则向所述客户端发送异常信息;
若所述预聚合条件满足第四预设过滤条件,则确定所述预查询条件为查询条件,确定所述预查询条件中的预查询时间区间、预查询粒度、预指标条件和预聚合条件分别为所述查询条件中的查询时间区间、查询粒度、指标条件和聚合条件,否则向所述客户端发送异常信息。
优选的是,所述第一过滤条件被配置为当所述预查询时间区间和所述预查询粒度满足所述第一预设过滤条件时,使得符合所述预查询时间区间和所述预查询粒度的所述指标数据实现降采样处理。
优选的是,根据所述查询时间和所述查询粒度设置所述预设切片条件。
优选的是,在得到聚合封装数据步骤和在判断所述聚合封装数据是否满足预设被动缓存条件,若满足则将所述聚合封装数据缓存到所述缓存数据库中步骤之间还包括如下步骤;
根据主动缓存配置信息将符合预设主动缓存条件的指标数据缓存到所述缓存数据库中。
优选的是,根据主动缓存配置信息将符合预设主动缓存条件的指标数据缓存到所述缓存数据库中步骤包括:
判断关系型数据库中是否设置有主动缓存配置信息;
若所述关系型数据库中设置有主动缓存配置信息,则根据所述主动缓存配置信息中的预设主动缓存条件在所述时序列数据库中查询符合所述预设主动缓存条件的指标数据,并将查询结果缓存到所述缓存数据库中,同时将所述预设主动缓存条件生成查询关键字后存储于所述缓存数据库中;否则结束主动缓存。
优选的是,依次根据所述组合查询条件在缓存数据库中查询对应的缓存数据步骤包括:
将各个所述组合查询条件生成对应的查询关键字;
依次根据各个所述查询关键字在所述缓存数据库中查询缓存数据。
优选的是,所述聚合的算法包括:求和、求数量、平均数、最大值和最小值。
根据本发明的另一个方面,提供了一种度量平台数据查询装置,包括依次连接的查询条件判断模块、切片组合模块、缓存查询模块、缓存判断模块、指标数据查询模块、被动缓存模块和发送模块;
所述查询条件判断模块,用于判断所述查询请求中的查询条件是否符合预设过滤条件,若不符合则向客户端异常信息,否则将所述查询条件传输给所述切片组合模块;
所述切片组合模块,用于根据预设切片条件对所述查询条件中的查询时间区间进行切片,得到至少两片的时间切片,并将各个所述时间切片分别与所述查询条件中的其它条件进行组合形成多个组合查询条件,将所述组合查询条件发送给所述缓存查询模块;
所述缓存查询模块,用于依次根据所述组合查询条件在缓存数据库中查询对应的缓存数据;
所述缓存判断模块,用于判断在所述缓存数据库中是否查询到所有组合查询条件对应的缓存数据,若全部查询到,则对查询到的所有缓存数据进行读取并聚合封装,同时将聚合封装后的缓存数据发送给所述客户端;否则,将所述组合查询条件中未查询到对应缓存数据的所述组合查询条件发送给指标数据查询模块;
所述指标数据查询模块,用于根据所述组合查询条件中未查询到对应缓存数据的所述组合查询条件在时序列数据库中依次查询对应的指标数据,并将查询到的所有缓存数据和所有所述指标数据进行聚合封装,得到聚合封装数据,之后将所述聚合封装数据发送给所述被动缓存模块;所述被动缓存模块,用于判断所述聚合封装数据是否满足预设被动缓存条件,若满足则将所述聚合封装数据缓存到所述缓存数据库中,否则将所述聚合封装的所述指标数据发送到所述发送模块;
所述发送模块,用于将聚合封装的所述指标数据发送给所述客户端。
根据本发明的另一个方面,提供了一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述所述度量平台数据查询方法。
根据本发明的另一个方面,提供了一种终端,包括:处理器及存储器;所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上述所述度量平台数据查询方法。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
应用本发明实施例提供的度量平台数据查询方法,通过对查询条件进行过滤,以实现对检索到的指标数据强制进行降采样处理,大大降低了查询结果的数据量,解决了查询返回数据量过多的问题。通过将查询时间区间进行切片,以实现对查询时间区间智能拆分,进行多次查询和缓存,查询和缓存完毕后主动释放内存,减少系统的内存压力以及查询过程中网络资源的占用。更进一步地,本发明实施例提供的度量平台数据查询方法进行了智能的数据缓存,并在查询过程中设置先在缓存数据库中进行查询,以加快大量数据的查询速度和效率。本发明实施例提供的度量平台数据查询方法根据用户的查询条件智能对数据进行过滤拦截和数据聚合,在保证满足查询需求的前提下,减少传输的数据量。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1示出了本发明实施例一度量平台数据查询方法的步骤示意图;
图2示出了本发明实施例一度量平台数据查询方法的具体流程示意图;
图3示出了本发明实施例二度量平台数据查询方法的具体流程示意图;
图4示出了本发明实施例三度量平台数据查询装置的结构示意图;
图5示出了本发明实施例五度量平台的终端的模块示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是:
业务服务端集群是数据查询的发起方,即存在多个客户端,当业务查询需要指标数据时会将请求发送到度量平台统一处理。
时序列数据库(OpenTSDB数据库)是基于列式数据库(Hbase数据库)的分布式时间序列数据库,能够获取以时间为单位的指标数据、监控数据等信息。
列式数据库(Hbase数据库)是建立在分布式文件系统之上的分布式面向列的数据库,支持横向扩展,一般用来存储大数据信息,在本发明度量平台中用来存储海量的指标信息数据。
缓存数据库(Redis数据库)是高性能的key-value数据库,它虽然不支持复杂的关系处理,但是读取写入速度比关系型数据库(MySQL数据库)等传统型数据库快的多,一般用来存储需要频繁读取的缓存数据。
关系型数据库(MySQL数据库)是一种常用的企业关系型数据库,主要存储度量平台的一些配置信息,比如时间粒度的规划信息,主动策略的配置信息等等,同时该配置信息会同步到Zookeeper上一份,保证修改后实时同步状态给查询服务。
实施例一
为解决现有技术中存在的技术问题,本发明实施例提供了度量平台数据查询方法。
图1示出了本发明实施例一度量平台数据查询方法的步骤示意图;图2示出了本发明实施例一度量平台数据查询方法的具体流程示意图;参照图1和图2,本实施例度量平台数据查询方法依次包括如下步骤:
步骤S101:客户端向度量平台发送查询请求。
具体地,业务服务端集群中存在多个客户端,在进行度量平台数据查询的过程中,用户利用客户端进行查询条件的设定,设定完成后客户端将查询条件生成查询请求,发送给度量平台。优选地,查询请求包括查询时间区间、查询粒度、指标条件和聚合条件。需要说明的是,查询时间区间和查询粒度一般为配套灵活设置的,即在查询时间区间较大时,查询粒度不能过小,以避免查询到的指标数据过多而影响查询速度。但在固定的查询时间区间内是存在不少于一个的查询粒度可供选择的。优选地,聚合条件包括:求和、求数量、平均数、最大值和最小值。
步骤S102:度量平台接收查询请求,判断查询请求中的预查询条件是否符合预设过滤条件,若符合则确定预查询条件为查询条件,否则向客户端发送异常信息。
具体地,度量平台接收客户端发送的查询请求,并判断查询请求中的预查询条件是否符合预设过滤条件,若符合,则说明用户设置的查询条件合理,可在度量平台进行数据查询,若不符合,则度量平台向对应客户端返回异常信息,以使用户可根据异常信息对设置的查询条件进行调整。
更进一步地,度量平台判断预查询条件是否符合预设过滤条件具体包括如下步骤:
步骤S201:度量平台判断预查询时间区间和预查询粒度是否满足第一预设过滤条件;
具体地,在指标数据查询过程中,如果查询时间区间跨度较大,而查询的时间粒度较小,比如查询一个月内的以秒单位的所有数据,会导致返回的数据量庞大,因此在查询过程中通过设定第一预设过滤条来对指标数据进行强制的数据降采样处理。因此第一过滤条件被配置为当预查询时间区间和预查询粒度满足第一预设过滤条件时,使得符合预查询时间区间和预查询粒度的指标数据实现降采样处理。例如:预查询时间区间超过一定的小时数,那预查询粒度不能按照分钟或分钟以下的单位进行;如果预查询时间区间超过一定的天数,那预查询粒度不能按照小时或者小时以下的单位进行。这样就降低了查询结果的数据量,解决了返回数据点过多的问题。
步骤S202:当预查询时间区间和预查询粒度满足第一预设过滤条件时,则判断预指标条件和预聚合条件是否满足第二预设过滤条件,否则度量平台向对应客户端发送异常信息。
具体地,当预查询时间区间和预查询粒度满足第一预设过滤条件时,即实现了降低查询结果的数据量的目的。之后再对查询条件中的预指标条件和预聚合条件进行进一步地过滤,具体判断预指标条件和预聚合条件是否满足第二预设过滤条件,以确保根据设置的预指标条件和预聚合条件可通过度量平台查到指标数据,或使得根据预指标条件和预聚合条件查询到的指标数据更加准确。当预查询时间区间和预查询粒度不满足第一预设过滤条件时,则表示用户设置的查询时间区间太长或查询粒度太小,以使得根据预查询时间区间和预查询粒度进行查询到的指标数据太多,此时度量平台向对应客户端发送异常信息。
步骤S203:当预指标条件和预聚合条件满足第二预设过滤条件,则查询条件符合预设过滤条件,此时确定预查询条件为查询条件,确定预查询条件中的预查询时间区间、预查询粒度、预指标条件和预聚合条件分别为查询条件中的查询时间区间、查询粒度、指标条件和聚合条件,后转向步骤S103:否则度量平台向客户端发送异常信息。
步骤S103:根据预设切片条件对查询条件中的查询时间区间进行切片,得到至少两片的时间切片,并将各个时间切片分别与查询条件中的其它条件进行组合形成多个组合查询条件。
具体地,指标数据查询过程中,对一定时间跨度的数据进行整体查询时,会对数据库造成较大的压力,当查询到的指标数据超过一定限度时,度量平台还可能会遇到性能瓶颈,从而导致数据库的其他业务无法进行;而大量的指标数据查询到内存中进行聚合计算又对系统服务器造成较大的压力。因此在查询较大的查询时间区间的指标数据时,可按预设切片条件对查询时间区间进行切分,得到至少两片的时间切片。一次只对一个较小的时间切片进行查询,减少数据库和系统服务器的压力,查询完成后对数据进行聚合和计算后对数据释放,满足缓存条件的数据进行缓存,减少了查询过程中资源的占用。优选地,根据查询时间和查询粒度合理的设置预设切片条件。例如当查询时间区间为一天,而查询粒度为一刻钟时,可将一小时作为查询时间区间的时间距,即将每小时作为一个时间切片。将查询时间区间进行切分后,得到多个时间切片,将多个时间切片分别与查询粒度、指标条件和聚合条件组合形成多个组合查询条件,以便于后续指标数据的查询。
步骤S104:依次根据组合查询条件在缓存数据库中查询对应的缓存数据。
具体地,将各个组合查询条件依据查询关键字的生成策略生成对应的查询关键字,而后依次根据生成的各个查询关键字在缓存数据库中查询缓存数据。更近一步地,依据查询关键字的生成策略将各个组合查询条件生成对应的查询关键字,而后再依次根据生成的查询关键字在缓存数据库中查找是否存在相同的查询关键字,若在数据缓存库中存在相同的关键字,则表示缓存数据库中存在有要查询的指标数据,转到步骤S105;否则转到步骤S106。
需要说明的是,若在缓存查询过程中出现异常,则由度量平台中对异常情况进行处理,并向客户端返回对应异常信息。
步骤S105:判断在缓存数据库中是否查询到所有组合查询条件对应的缓存数据,若全部查询到,则转到步骤S106,否则转到步骤S107。
具体地,当依次将步骤S104中所有生成的查询关键字在缓存数据库中查询完毕后,判断在缓存数据库中是否查询到所有组合查询条件对应的缓存数据,若全部查询到,则转到步骤S106,否则转到步骤S107。
步骤S106,若在缓存数据库中查询到所有组合查询条件对应的缓存数据,对查询到的所有缓存数据进行读取并聚合封装,同时将聚合封装后的缓存数据发送给客户端。
具体地,若在缓存数据库中查询到所有组合查询条件对应的缓存数据,则度量平台将查询到的所有缓存数据进行读取并聚合封装,组合成需要的结果,并将聚合封装后的缓存数据发送给客户端。
步骤S107,若在所述缓存数据库没有查询到所有组合查询条件对应的缓存数据,则根据组合查询条件中未查询到对应缓存数据的组合查询条件在时序列数据库中依次查询对应的指标数据,并将查询到的所有缓存数据和所有指标数据进行聚合封装,得到聚合封装数据。
具体地,当依次将步骤S104中所有生成的查询关键字在缓存数据库中查询完毕后,判断在缓存数据库是否查询到所有组合查询条件对应的缓存数据,若在缓存数据库中没有查询到所有组合查询条件对应的缓存数据,则根据组合查询条件中未查询到对应缓存数据的组合查询条件在时序列数据库中依次查询对应的指标数据,无需对组合查询条件进行处理形成查询关键字,并将查询到的所有缓存数据和所有指标数据进行聚合封装,得到聚合封装数据。即根据未查询到对应缓存数据的组合查询条件分别在度量平台中的时间序列数据库中查询对应的指标数据,并将查询到的所有缓存数据和指标数据进行聚合封装,得到聚合封装数据。更进一步地,根据查询条件在时序列数据库中查询对应的指标数据过程为:依次根据在缓存数据库中未查询到对应缓存数据的组合查询条件组合查询条件,通过时序列数据客户端对时序列数据库中的列示数据库中的指标数据进行查询。
步骤S108:根据主动缓存配置信息将符合预设主动缓存条件的指标数据缓存到缓存数据库中。
具体地,在对指标数据的整体查询过程中,度量平台可主动将需要频繁查询的指标数据缓存到缓存数据库(Redis数据库)中,由于缓存数据库比关系型数据库(MySQL数据库)等传统型数据库快的多,因此可实现对频繁查询的指标数据的快速查询。
具体主动缓存过程包括:判断度量平台的关系型数据库中是否设置有主动缓存配置信息;如果关系型数据库中设置有主动缓存配置信息,则根据主动缓存配置信息中的预设主动缓存条件在时序列数据库中查询符合预设主动缓存条件的指标数据,并将查询结果缓存到缓存数据库中,同时将预设主动缓存条件生成查询关键字,存储于缓存数据库中,以便于后续的查询。如果关系型数据库中没有设置主动缓存配置信息,则结束主动缓存。优选地,查询关键字的生成策略为:依次将分片后每段时间的开始时间的时间戳、查询粒度、指标条件以及聚合条件进行相加。
需要说明的是,主动缓存条件可能与客户端发送的发送请求中的查询条件相同,也可能不相同,具体的主动缓存条件需度量平台的设置人员根据具体情况进行设定。同时,若在主动缓存过程中出现异常,则由度量平台中的缓存异常处理模块对其进行处理。且主动缓存过程只会在度量平台添加了主动缓存的配置信息后才会进行主动缓存,无需用户查询触发,一般只用于对需要长期频繁使用的查询指标数据使用,否则度量平台不进行主动缓存。
步骤S109,判断聚合封装数据是否满足预设被动缓存条件,若满足转到步骤S110,否则转到步骤S111。
具体地,在指标数据查询过程中,当度量平台从时序列数据库中获取到指标数据并将所有缓存数据和所有指标数据进行聚合封装,得到聚合封装数据后,会调用被动缓存策略。具体查询聚合封装数据是否满足被动缓存策略条件,如果满足条件,则转到步骤S110,否则转到步骤S111。
步骤S110,将聚合封装数据缓存到缓存数据库中。
具体地,将聚合封装数据缓存到缓存数据库中,同时还将聚合封装数据的查询条件组合生成查询关键字,存储于缓存数据库中。
需要说明的是,若在被动缓存过程中出现异常,则由度量平台中对异常情况进行处理,并向客户端返回对应异常信息。
步骤S111,度量平台将聚合封装数据发送给客户端。
应用本发明实施例提供的度量平台数据查询方法,通过对查询条件进行过滤,以实现对检索到的指标数据强制进行降采样处理,大大降低了查询结果的数据量,解决了查询返回数据量过多的问题。通过将查询时间区间进行切片,以实现对查询时间区间智能拆分,进行多次查询和缓存,查询和缓存完毕后主动释放内存,减少系统的内存压力以及查询过程中网络资源的占用。更进一步地,本发明实施例提供的度量平台数据查询方法进行了智能的数据缓存,并在查询过程中设置先在缓存数据库中进行查询,以加快大量数据的查询速度和效率。本发明实施例提供的度量平台数据查询方法根据用户的查询条件智能对数据进行过滤拦截和数据聚合,在保证满足查询需求的前提下,减少传输的数据量。
实施例二
为解决现有技术中存在的上述技术问题,本发明实施例还提供了另一种度量平台数据查询方法。
图3示出了本发明实施例二度量平台数据查询方法的具体流程示意图。参考图3,本实施例度量平台数据查询方法是在实施例一的基础上对步骤S102的具体实施方式进行了改进,具体过程如下。
步骤S102:度量平台接收查询请求,判断查询请求中的预查询条件是否符合预设过滤条件,若符合则确定预查询条件为查询条件,否则则向客户端发送异常信息。
具体地,度量平台接收客户端发送的查询请求,并判断查询请求中的预查询条件是否符合预设过滤条件,若符合,则说明用户设置的预查询条件合理,可在度量平台进行数据查询,确定预查询条件为查询条件;若不符合,则度量平台向对应客户端返回异常信息,以使用户可根据异常信息对设置的查询条件进行调整。
更进一步地,度量平台判断预查询条件是否符合预设过滤条件具体包括如下步骤:
步骤S201:度量平台判断预查询时间区间和预查询粒度是否满足第一预设过滤条件;
具体地,在指标数据查询过程中,如果查询时间区间跨度较大,而查询的时间粒度较小,比如查询一个月内的以秒单位的所有数据,会导致返回的数据量庞大,因此在查询过程中通过设定第一预设过滤条来对指标数据进行强制的数据降采样处理。因此第一过滤条件被配置为当预查询时间区间和预查询粒度满足第一预设过滤条件时,使得符合预查询时间区间和预查询粒度的指标数据实现降采样处理。例如:预查询时间区间超过一定的小时数,那预查询粒度不能按照分钟或分钟以下的单位进行;如果预查询时间区间区间超过一定的天数,那预查询粒度不能按照小时或者小时以下的单位进行。这样就降低了查询结果的数据量,解决了返回数据点过多的问题。
步骤S202:若预查询时间区间和预查询粒度满足第一预设过滤条件,则判断预指标条件是否满足第三预设过滤条件,否则度量平台向客户端发送异常信息。
具体地,当预查询时间区间和预查询粒度满足第一预设过滤条件时,即实现了降低查询结果的数据量的目的。之后再对查询条件中的预指标条件进行进一步地过滤,具体判断预指标条件是否满足第三预设过滤条件,以确保根据设置的预指标条件可通过度量平台查到指标数据,或使得根据预指标条件查询到的指标数据更加准确。当预查询时间区间和预查询粒度不满足第一预设过滤条件时,则表示用户设置的预查询时间区间太长或预查询粒度太小,以使得根据预查询时间区间和预查询粒度进行查询到的指标数据太多,此时度量平台向对应客户端发送异常信息。
步骤S203:若预指标条件满足第三预设过滤条件,则判断预聚合条件是否满足第四预设过滤条件,否则度量平台向客户端发送异常信息。
具体地,当预指标条件满足第三预设过滤条件时,判断预聚合条件是否满足第四预设过滤条件,以确保根据设置的预聚合条件可通过度量平台查到指标数据,或使得根据预聚合条件查询到的指标数据更加准确。当预指标条件不满足第三预设过滤条件时,度量平台向客户端发送异常信息。
步骤S204:若预聚合条件满足第四预设过滤条件,则确定预查询条件为查询条件,确定预查询条件中的预查询时间区间、预查询粒度、预指标条件和预聚合条件分别为查询条件中的查询时间区间、查询粒度、指标条件和聚合条件,否则度量平台向客户端发送异常信息。
具体地,当聚合条件满足第四预设过滤条件,则确定预查询条件为查询条件,确定预查询条件中的预查询时间区间、预查询粒度、预指标条件和预聚合条件分别为查询条件中的查询时间区间、查询粒度、指标条件和聚合条件,后转向步骤S103:否则度量平台向客户端发送异常信息。
其它步骤与实施例一中相同,在此不再对其进行赘述。
应用本发明实施例提供的度量平台数据查询方法,通过对查询条件进行过滤,以实现对检索到的指标数据强制进行降采样处理,大大降低了查询结果的数据量,解决了查询返回数据量过多的问题。通过将查询时间区间进行切片,以实现对查询时间区间智能拆分,进行多次查询和缓存,查询和缓存完毕后主动释放内存,减少系统的内存压力以及查询过程中网络资源的占用。更进一步地,本发明实施例提供的度量平台数据查询方法进行了智能的数据缓存,并在查询过程中设置先在缓存数据库中进行查询,以加快大量数据的查询速度和效率。本发明实施例提供的度量平台数据查询方法根据用户的查询条件智能对数据进行过滤拦截和数据聚合,在保证满足查询需求的前提下,减少传输的数据量。
实施例三
为解决现有技术中存在的上述技术问题,本发明实施例还提供了一种度量平台数据查询装置。
图4示出了本发明实施例三度量平台数据查询装置结构示意图;参照图4,本实施例度量平台数据查询装置包括依次连接查询条件判断模块、切片组合模块、缓存查询模块、缓存判断模块、指标数据查询模块、被动缓存模块和发送模块。
查询条件判断模块,用于判断查询请求中的查询条件是否符合预设过滤条件,若不符合则向客户端异常信息,否则将查询条件传输给切片组合模块。
切片组合模块,用于根据预设切片条件对查询条件中的查询时间区间进行切片,得到至少两片的时间切片,并将各个时间切片分别与查询条件中的其它条件进行组合形成多个组合查询条件,将组合查询条件发送给缓存查询模块。
缓存查询模块,用于依次根据组合查询条件在缓存数据库中查询对应的缓存数据。
缓存判断模块,用于判断在缓存数据库中是否查询到所有组合查询条件对应的缓存数据,若全部查询到,则对查询到的所有缓存数据进行读取并聚合封装,同时将聚合封装后的缓存数据发送给客户端;否则,将组合查询条件中未查询到对应缓存数据的组合查询条件发送给指标数据查询模块。
指标数据查询模块,用于根据组合查询条件中未查询到对应缓存数据的组合查询条件在时序列数据库中依次查询对应的指标数据,并将查询到的所有缓存数据和所有指标数据进行聚合封装,得到聚合封装数据,之后将聚合封装数据发送给被动缓存模块;被动缓存模块,用于判断聚合封装数据是否满足预设被动缓存条件,若满足则将聚合封装数据缓存到缓存数据库中,否则将聚合封装的指标数据发送到发送模块。
被动缓存模块,用于判断聚合封装数据是否满足预设被动缓存条件,若满足则将聚合封装数据缓存到缓存数据库中,否则将聚合封装数据发送到发送模块。
发送模块,将聚合封装数据发送给客户端。
度量平台数据查询装置中各模块的具体实施方式与实施例一中对应步骤相同,在此不再对其进行赘述。同时应用本发明实施例提供的度量平台数据查询装置获取的有益效果均与实施例一相同,在此不在对其进行赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。
实施例四
为解决现有技术中存在的上述技术问题,本发明实施例还提供了一种可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时可实现实施例一中度量平台数据查询方法中的所有步骤。
度量平台数据查询方法的具体步骤以及应用本发明实施例提供的可读存储介质获取的有益效果均与实施例一相同,在此不在对其进行赘述。
需要说明的是:存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
实施例五
为解决现有技术中存在的上述技术问题,本发明实施例还提供了一种终端。
图5示出了本发明实施例四终端的模块示意图,参照图5,本实施例终端包括相互连接的处理器及存储器;存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以使终端执行时可实现实施例一中度量平台数据查询方法中的所有步骤。
车辆防盗系统配置方法的具体步骤以及应用本发明实施例提供的终端获取的有益效果均与实施例一相同,在此不在对其进行赘述。
需要说明的是,存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。同理处理器也可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (13)
1.一种度量平台数据查询方法,包括:
接收查询请求,判断所述查询请求中的预查询条件是否符合预设过滤条件,若符合则确定所述预查询条件为查询条件,否则向客户端发送异常信息;
根据预设切片条件对所述查询条件中的查询时间区间进行切片,得到至少两片的时间切片;并将各个所述时间切片分别与所述查询条件中的其它条件进行组合形成多个组合查询条件;
依次根据所述组合查询条件在缓存数据库中查询对应的缓存数据;
判断在所述缓存数据库中是否查询到所有组合查询条件对应的缓存数据,若全部查询到,则对查询到的所有缓存数据进行读取并聚合封装,同时将聚合封装后的缓存数据发送给所述客户端;
若在所述缓存数据库没有查询到所有组合查询条件对应的缓存数据,则根据所述组合查询条件中未查询到对应缓存数据的所述组合查询条件在时序列数据库中依次查询对应的指标数据,并将查询到的所有缓存数据和所有所述指标数据进行聚合封装,得到聚合封装数据;
判断所述聚合封装数据是否满足预设被动缓存条件,若满足则将所述聚合封装数据缓存到所述缓存数据库中;
所述度量平台将聚合封装的所述指标数据发送给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述预查询条件包括预查询时间区间、预查询粒度、预指标条件和预聚合条件。
3.根据权利要求2所述的方法,其特征在于,判断所述查询请求中的预查询条件是否符合预设过滤条件步骤包括:
判断所述预查询时间区间和所述预查询粒度是否满足第一预设过滤条件;
若所述预查询时间区间和所述预查询粒度满足所述第一预设过滤条件,则判断所述预指标条件和所述预聚合条件是否满足第二预设过滤条件,否则向所述客户端发送异常信息;
若所述预指标条件和所述预聚合条件满足第二预设过滤条件,则确定所述预查询条件为查询条件,确定所述预查询条件中的预查询时间区间、预查询粒度、预指标条件和预聚合条件分别为所述查询条件中的查询时间区间、查询粒度、指标条件和聚合条件,否则向所述客户端发送异常信息。
4.根据权利要求2所述的方法,其特征在于,判断所述查询请求中的预查询条件是否符合预设过滤条件步骤包括:
判断所述预查询时间区间和所述预查询粒度是否满足第一预设过滤条件;
若所述预查询时间区间和所述预查询粒度满足所述第一预设过滤条件,则判断所述预指标条件是否满足第三预设过滤条件,否则向所述客户端发送异常信息;
若所述预指标条件满足第三预设过滤条件,则判断所述预聚合条件是否满足第四预设过滤条件,否则向所述客户端发送异常信息;
若所述预聚合条件满足第四预设过滤条件,则确定所述预查询条件为查询条件,确定所述预查询条件中的预查询时间区间、预查询粒度、预指标条件和预聚合条件分别为所述查询条件中的查询时间区间、查询粒度、指标条件和聚合条件,否则向所述客户端发送异常信息。
5.根据权利要求3或4所述的方法,其特征在于,所述第一过滤条件被配置为当所述预查询时间区间和所述预查询粒度满足所述第一预设过滤条件时,使得符合所述预查询时间区间和所述预查询粒度的所述指标数据实现降采样处理。
6.根据权利要求1所述的方法,其特征在于,根据所述查询时间和所述查询粒度设置所述预设切片条件。
7.根据权利要求1所述的方法,其特征在于,在得到聚合封装数据步骤和在判断所述聚合封装数据是否满足预设被动缓存条件,若满足则将所述聚合封装数据缓存到所述缓存数据库中步骤之间还包括如下步骤;
根据主动缓存配置信息将符合预设主动缓存条件的指标数据缓存到所述缓存数据库中。
8.根据权利要求7所述的方法,其特征在于,根据主动缓存配置信息将符合预设主动缓存条件的指标数据缓存到所述缓存数据库中步骤包括:
判断关系型数据库中是否设置有主动缓存配置信息;
若所述关系型数据库中设置有主动缓存配置信息,则根据所述主动缓存配置信息中的预设主动缓存条件在所述时序列数据库中查询符合所述预设主动缓存条件的指标数据,并将查询结果缓存到所述缓存数据库中,同时将所述预设主动缓存条件生成查询关键字后存储于所述缓存数据库中;否则结束主动缓存。
9.根据权利要求1所述的方法,其特征在于,依次根据所述组合查询条件在缓存数据库中查询对应的缓存数据步骤包括:
将各个所述组合查询条件生成对应的查询关键字;
依次根据各个所述查询关键字在所述缓存数据库中查询缓存数据。
10.根据权利要求1所述的方法,其特征在于,所述聚合的算法包括:求和、求数量、平均数、最大值和最小值。
11.一种度量平台数据查询装置,其特征在于,包括依次连接的查询条件判断模块、切片组合模块、缓存查询模块、缓存判断模块、指标数据查询模块、被动缓存模块和发送模块;
所述查询条件判断模块,用于判断所述查询请求中的查询条件是否符合预设过滤条件,若不符合则向客户端异常信息,否则将所述查询条件传输给所述切片组合模块;
所述切片组合模块,用于根据预设切片条件对所述查询条件中的查询时间区间进行切片,得到至少两片的时间切片,并将各个所述时间切片分别与所述查询条件中的其它条件进行组合形成多个组合查询条件,将所述组合查询条件发送给所述缓存查询模块;
所述缓存查询模块,用于依次根据所述组合查询条件在缓存数据库中查询对应的缓存数据;
所述缓存判断模块,用于判断在所述缓存数据库中是否查询到所有组合查询条件对应的缓存数据,若全部查询到,则对查询到的所有缓存数据进行读取并聚合封装,同时将聚合封装后的缓存数据发送给所述客户端;否则,将所述组合查询条件中未查询到对应缓存数据的所述组合查询条件发送给指标数据查询模块;
所述指标数据查询模块,用于根据所述组合查询条件中未查询到对应缓存数据的所述组合查询条件在时序列数据库中依次查询对应的指标数据,并将查询到的所有缓存数据和所有所述指标数据进行聚合封装,得到聚合封装数据,之后将所述聚合封装数据发送给所述被动缓存模块;所述被动缓存模块,用于判断所述聚合封装数据是否满足预设被动缓存条件,若满足则将所述聚合封装数据缓存到所述缓存数据库中,否则将所述聚合封装的所述指标数据发送到所述发送模块;
所述发送模块,用于将聚合封装的所述指标数据发送给所述客户端。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至10中任一项所述度量平台大数据查询方法。
13.一种终端,其特征在于,包括:处理器及存储器;所述存储器和所述处理器之间互相通信连接,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至10中任一项所述度量平台数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551708.0A CN109766394A (zh) | 2018-12-19 | 2018-12-19 | 度量平台数据查询方法及装置、可读存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551708.0A CN109766394A (zh) | 2018-12-19 | 2018-12-19 | 度量平台数据查询方法及装置、可读存储介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766394A true CN109766394A (zh) | 2019-05-17 |
Family
ID=66450323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811551708.0A Pending CN109766394A (zh) | 2018-12-19 | 2018-12-19 | 度量平台数据查询方法及装置、可读存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766394A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046081A (zh) * | 2019-12-06 | 2020-04-21 | 宁波和利时智能科技有限公司 | 一种工业时序数据的访问方法及系统 |
CN111522846A (zh) * | 2020-04-09 | 2020-08-11 | 浙江邦盛科技有限公司 | 一种基于时序中间态数据结构的数据聚合方法 |
CN112131455A (zh) * | 2020-09-28 | 2020-12-25 | 贝壳技术有限公司 | 列表页检索降级方法、装置、电子设备和存储介质 |
CN112231531A (zh) * | 2020-09-15 | 2021-01-15 | 山东浪潮通软信息科技有限公司 | 一种基于opentsdb的数据展示方法、设备及介质 |
CN113177068A (zh) * | 2021-03-15 | 2021-07-27 | 新华三信息安全技术有限公司 | 一种聚合数据查询方法、设备及介质 |
CN113961637A (zh) * | 2021-12-23 | 2022-01-21 | 北京力控元通科技有限公司 | 一种基于数据库的数据融合方法、系统和电子设备 |
CN114281895A (zh) * | 2021-12-24 | 2022-04-05 | 成都索贝数码科技股份有限公司 | 支持远程拉取的多数据中心同步方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880685A (zh) * | 2012-09-13 | 2013-01-16 | 北京航空航天大学 | 一种时间密集大数据量的b/s分区间分页查询方法 |
CN103353873A (zh) * | 2013-06-07 | 2013-10-16 | 携程计算机技术(上海)有限公司 | 基于时间度量数据实时查询服务的优化实现方法及系统 |
US20150161211A1 (en) * | 2013-12-06 | 2015-06-11 | Vmware, Inc. | Predictive query result computation |
CN106021261A (zh) * | 2015-03-26 | 2016-10-12 | 国际商业机器公司 | 查询强度指示器 |
CN108460094A (zh) * | 2018-01-30 | 2018-08-28 | 上海天旦网络科技发展有限公司 | 存储统计数据的方法和系统 |
CN108737473A (zh) * | 2017-04-20 | 2018-11-02 | 贵州白山云科技有限公司 | 一种数据处理方法、装置及系统 |
-
2018
- 2018-12-19 CN CN201811551708.0A patent/CN109766394A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880685A (zh) * | 2012-09-13 | 2013-01-16 | 北京航空航天大学 | 一种时间密集大数据量的b/s分区间分页查询方法 |
CN103353873A (zh) * | 2013-06-07 | 2013-10-16 | 携程计算机技术(上海)有限公司 | 基于时间度量数据实时查询服务的优化实现方法及系统 |
US20150161211A1 (en) * | 2013-12-06 | 2015-06-11 | Vmware, Inc. | Predictive query result computation |
CN106021261A (zh) * | 2015-03-26 | 2016-10-12 | 国际商业机器公司 | 查询强度指示器 |
CN108737473A (zh) * | 2017-04-20 | 2018-11-02 | 贵州白山云科技有限公司 | 一种数据处理方法、装置及系统 |
CN108460094A (zh) * | 2018-01-30 | 2018-08-28 | 上海天旦网络科技发展有限公司 | 存储统计数据的方法和系统 |
Non-Patent Citations (1)
Title |
---|
王磊等: "起重机械远程监控中心系统设计与实现", 《起重运输机械》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046081A (zh) * | 2019-12-06 | 2020-04-21 | 宁波和利时智能科技有限公司 | 一种工业时序数据的访问方法及系统 |
CN111046081B (zh) * | 2019-12-06 | 2023-09-12 | 和利时卡优倍科技有限公司 | 一种工业时序数据的访问方法及系统 |
CN111522846A (zh) * | 2020-04-09 | 2020-08-11 | 浙江邦盛科技有限公司 | 一种基于时序中间态数据结构的数据聚合方法 |
CN111522846B (zh) * | 2020-04-09 | 2023-08-22 | 浙江邦盛科技股份有限公司 | 一种基于时序中间态数据结构的数据聚合方法 |
CN112231531A (zh) * | 2020-09-15 | 2021-01-15 | 山东浪潮通软信息科技有限公司 | 一种基于opentsdb的数据展示方法、设备及介质 |
CN112131455A (zh) * | 2020-09-28 | 2020-12-25 | 贝壳技术有限公司 | 列表页检索降级方法、装置、电子设备和存储介质 |
CN112131455B (zh) * | 2020-09-28 | 2021-09-17 | 贝壳找房(北京)科技有限公司 | 列表页检索降级方法、装置、电子设备和存储介质 |
CN113177068A (zh) * | 2021-03-15 | 2021-07-27 | 新华三信息安全技术有限公司 | 一种聚合数据查询方法、设备及介质 |
CN113961637A (zh) * | 2021-12-23 | 2022-01-21 | 北京力控元通科技有限公司 | 一种基于数据库的数据融合方法、系统和电子设备 |
CN113961637B (zh) * | 2021-12-23 | 2022-03-18 | 北京力控元通科技有限公司 | 一种基于数据库的数据融合方法、系统和电子设备 |
CN114281895A (zh) * | 2021-12-24 | 2022-04-05 | 成都索贝数码科技股份有限公司 | 支持远程拉取的多数据中心同步方法 |
CN114281895B (zh) * | 2021-12-24 | 2023-12-08 | 成都索贝数码科技股份有限公司 | 支持远程拉取的多数据中心同步方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766394A (zh) | 度量平台数据查询方法及装置、可读存储介质及终端 | |
CN110008257A (zh) | 数据处理方法、装置、系统、计算机设备和存储介质 | |
JP6716727B2 (ja) | ストリーミングデータ分散処理方法及び装置 | |
US9639585B2 (en) | Database and method for evaluating data therefrom | |
CN104281684B (zh) | 海量日志存储和查询方法及系统 | |
CN106599199A (zh) | 一种数据缓存与同步方法 | |
CN105243169B (zh) | 一种数据查询方法及系统 | |
CN106407244A (zh) | 基于多数据库的数据查询方法、系统和装置 | |
CN109614284B (zh) | 一种数据处理方法及装置 | |
CN110769034A (zh) | 推荐系统策略迭代方法、装置及存储介质、服务器 | |
CN111522846A (zh) | 一种基于时序中间态数据结构的数据聚合方法 | |
CN110647542B (zh) | 一种数据获取方法和装置 | |
CN109767274A (zh) | 一种对海量发票数据进行关联存储的方法及系统 | |
CN109597680B (zh) | 任务排队响应参数估算方法及装置 | |
CN109818921A (zh) | 一种网站接口非正常流量的分析方法及装置 | |
CN109150819B (zh) | 一种攻击识别方法及其识别系统 | |
CN112783644A (zh) | 一种基于高频键值计数的分布式倾斜流处理方法和系统 | |
CN107798009A (zh) | 数据聚合方法、装置及系统 | |
CN115098542A (zh) | 一种流式大数据分频预聚合与查询方法 | |
CN110333984A (zh) | 接口异常检测方法、装置、服务器及系统 | |
US20220342887A1 (en) | Predictive query processing | |
CN115310137A (zh) | 一种智能结算系统的保密方法及相关装置 | |
CN115168509A (zh) | 风控数据的处理方法及装置、存储介质、计算机设备 | |
CN107025266B (zh) | 业务数据的处理方法和装置 | |
CN106598969A (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210730 |