CN116303571A - 数据查询方法、装置、设备及存储介质 - Google Patents

数据查询方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116303571A
CN116303571A CN202310215450.1A CN202310215450A CN116303571A CN 116303571 A CN116303571 A CN 116303571A CN 202310215450 A CN202310215450 A CN 202310215450A CN 116303571 A CN116303571 A CN 116303571A
Authority
CN
China
Prior art keywords
target
available
tag
index
monitoring
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
Application number
CN202310215450.1A
Other languages
English (en)
Inventor
黄金刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Netease Cloud Music Technology Co Ltd
Original Assignee
Hangzhou Netease Cloud Music Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Netease Cloud Music Technology Co Ltd filed Critical Hangzhou Netease Cloud Music Technology Co Ltd
Priority to CN202310215450.1A priority Critical patent/CN116303571A/zh
Publication of CN116303571A publication Critical patent/CN116303571A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/24569Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本申请提供了一种数据查询方法、装置、设备及存储介质。其中方法包括:响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表;响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表;响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据;显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。

Description

数据查询方法、装置、设备及存储介质
技术领域
本申请实施例涉及数据监控技术领域,尤其涉及一种数据查询方法、装置、设备及存储介质。
背景技术
目前,监控系统一般可监控的数据,包括:机器监控指标(机器监控数据)和业务场景的监控指标(业务场景监控数据)。其中,机器监控指标的标签可能包括业务、团队、机房、集群和服务器等,引入云服务计算后可能会增加节点和设备等;业务场景的监控指标的标签可能包括对照实验(AB实验)、用户类型、用户性别、用户年龄、用户等级、所在位置、用户之间的距离以及其他的索引器(item属性)等。通常,业务场景的监控指标相对机器监控指标而言,标签的数量会更多,标签组合也会更多,且标签变更的频率会更高。机器监控指标的查询更多倾向于查询单个监控指标,比如查询某个服务器的中央处理器(CentralProcessing Unit,简称CPU)使用率,此时可能只查询一个监控指标的数据。而业务场景的监控指标的查询更多是某个高维指标,比如查询某个用户性别的请求量需要大量原始监控指标的数据聚合。
基于上述业务场景的监控特点,使得用户在监控系统(比如普罗米修斯系统,Prometheus)上进行监控数据查询操作时,需要了解所有上报的监控指标名称和标签键值对,并学习Prometheus语言,从而写出合适的查询语句,然后基于查询语句进行监控数据查询操作。其中,Prometheus提供了一种名为PromQL(Prometheus查询语言)的函数式查询语言,允许用户实时选择和聚合时间序列数据。监控数据的查询表达式的结果可以显示为图形,或在Prometheus的表达式浏览器中显示为表格数据。
然而,对于用户而言,学习Prometheus语言编写查询语句,不仅需要用户了解所有业务场景的指标名称以及标签的构成,并且还需要花费大量时间学习Prometheus语言,使得基于监控系统进行数据查询难度较大,并且查询繁琐,数据查询效率低下。
发明内容
本申请提供一种数据查询方法、装置、设备及存储介质,通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
第一方面,本申请提供了一种数据查询方法,由查询方设备执行,包括:
响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,所述可用标签查询列表包括:可用标签标识,以及与所述可用标签标识对应的可用标签值;
响应于对目标可用标签标识,以及与所述目标可用标签标识对应的目标可用标签值的选中操作,从所述标签管理服务设备中获取可用指标标识列表;
响应于对任一目标指标标识的选中操作,根据所述目标指标标识、所述目标可用标签标识以及所述目标可用标签值,查询目标监控数据;
显示所述目标监控数据。
第二方面,本申请提供了一种数据查询方法,由标签管理服务设备执行,包括:
获取并存储采集组件采集到的监控数据,所述监控数据包括监控指标标识和标签;
解析所述监控数据,得到所述监控数据的监控指标标识和标签;
根据所述监控指标标识和所述标签建立索引;
根据所述监控指标标识、所述标签以及所述索引,生成数据查询列表,其中所述数据查询列表包括:可用标签查询列表和不可见索引查询列表,以使查询方设备基于所述可用标签查询列表实现数据查询。
第三方面,本申请实施例提供了一种数据查询装置,配置于查询方设备,包括:
标签列表获取模块,用于响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,所述可用标签查询列表包括:可用标签标识,以及与所述可用标签标识对应的可用标签值;
指标列表获取模块,用于响应于对目标可用标签标识,以及与所述目标可用标签标识对应的目标可用标签值的选中操作,从所述标签管理服务设备中获取可用指标标识列表;
数据查询模块,用于响应于对任一目标指标标识的选中操作,根据所述目标指标标识、所述目标可用标签标识以及所述目标可用标签值,查询目标监控数据;
数据显示模块,用于显示所述目标监控数据。
第四方面,本申请实施例提供了一种数据查询装置,配置于标签管理服务设备,包括:
数据获取模块,用于获取并存储采集组件采集到的监控数据,所述监控数据包括监控指标标识和标签;
数据解析模块,用于解析所述监控数据,得到所述监控数据的监控指标标识和标签;
建立模块,用于根据所述监控指标标识和所述标签建立索引;
生成模块,用于根据所述监控指标标识、所述标签以及所述索引,生成数据查询列表,其中所述数据查询列表包括:可用标签查询列表和不可见索引查询列表,以使查询方设备基于所述可用标签查询列表实现数据查询。
第五方面,本申请实施例提供了一种电子设备,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如第一方面实施例所述的数据查询方法,或执行如第二方面实施例所述的数据查询方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面实施例所述的数据查询方法,或执行如第二方面实施例所述的数据查询方法。
第七方面,本申请实施例提供了一种包含程序指令的计算机程序产品,当所述程序指令在电子设备上运行时,使得所述电子设备执行如第一方面实施例所述的数据查询方法,或执行如第二方面实施例所述的数据查询方法。
本申请实施例公开的技术方案,至少具有如下有益效果:
通过响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,并响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据,然后显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的第一种数据查询方法的流程示意图;
图2是本申请实施例提供的一小时内的某服务器的1号CPU使用率的比例折线图;
图3是本申请实施例的整体的信令交互图;
图4是本申请实施例提供的第二种数据查询方法的流程示意图;
图5是本申请实施例提供的第三种数据查询方法的流程示意图;
图6是本申请实施例提供的监控系统的触发计算关系设置控件或接口示意图;
图7是本申请实施例提供的监控系统的计算关系设置指令界面示意图;
图8是本申请实施例的又一种整体的信令交互图;
图9是本申请实施例提供的第四种数据查询方法的流程示意图;
图10是本申请实施例提供一种数据监控系统的架构示意图;
图11是本申请实施例提供的第五种数据查询方法的流程示意图;
图12是本申请实施例提供的一种数据查询列表的示意图;
图13是本申请实施例提供的第六种数据查询方法的流程示意图;
图14是本申请实施例提供的一种监控系统的架构示意图;
图15是本申请实施例提供的一种数据查询装置的示意性框图;
图16是本申请实施例提供的另一种数据查询装置的示意性框图;
图17是本申请实施例提供的一种电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明,本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或方案不应被解释为比其它实施例或方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请适用于业务场景的监控数据查询场景,针对目前用户通过编写查询语句,在监控系统(比如Prometheus)上进行业务场景的监控数据查询操作存在的需要用户了解所有业务场景的指标名称以及标签的构成,并且还需要花费大量时间学习Prometheus语言,使得基于监控系统进行数据查询难度较大,并且查询繁琐,数据查询效率低下的问题。本申请提出了一种新的数据查询方案,以通过该方案可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
下面首先以查询方设备为执行主体,对本申请实施例提供的一种数据查询方法进行说明。
需要说明的是,本申请中查询方设备可选为任意支持用户进行数据查询操作的电子设备。即,该电子设备为查询方(具有数据查询需求的任意用户)所使用的设备。示例性的,电子设备可选为但不限于:平板电脑、手机(如折叠屏手机、大屏手机等)、可穿戴设备、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,本申请对此不做具体限制。
图1是本申请实施例提供的第一种数据查询方法的流程示意图。本申请实施例提供的数据查询方法可由数据查询装置来执行。该数据查询装置可由硬件和/或软件组成,并可集成于电子设备中。
如图1所示,该方法可以包括以下步骤:
S101,响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,可用标签查询列表包括:可用标签标识,以及与可用标签标识对应的可用标签值。
通常,对于监控系统而言,用户随时可能存在监控数据(监控指标数据)的查询需求。其中,用户可选为任意具有数据查询需求的技术人员或者管理人员等,此处对其不做具体限制。并且,本申请中监控数据优选为业务场景的监控数据,比如,业务场景为生活服务场景,那么此时的监控数据则为生活服务场景下的监控数据,等等。
可选的,当用户需要进行监控数据查询时,可首先使用电子设备(查询方设备)登录监控系统,并打开监控系统的交互界面。之后,通过鼠标或者触控笔等方式触发交互界面中的数据查询功能或者数据查询接口,向该电子设备发送数据查询请求。
其中,交互界面是电子设备上的一种输出输入显示界面,通过该界面让电子设备和用户之间建立一种有机关系,用户可以将自己的目标通过交互界面表达给电子设备。交互界面分为输入和输出,输入表示用户将他的需求告诉电子设备,输出表示电子设备将结果传达给用户。
另外,数据查询接口可选为任意支持数据查询功能的交互入口。
当检测到用户发送的数据查询请求,电子设备通过利用数据获取服务接口(Application Programming Interface Server,简称API Server),向标签管理服务设备发送可用标签查询列表获取请求,以使标签管理服务设备根据该可用标签查询列表获取请求,向电子设备反馈可用标签查询列表。本申请中,API Server封装有查询逻辑,以通过查询逻辑实现数据查询功能。
其中,标签管理服务设备向电子设备反馈可用标签查询列表,具体实现过程可如下:首先,接收到电子设备发送的可用标签查询列表获取请求后,通过从自身管理的标签中,获取所有可用标签标识以及与每个可用标签标识对应的可用标签值。进而,根据所有可用标签标识以及与每个可用标签标识对应的可用标签值生成可用标签查询列表。然后,将生成的可用标签查询列表发送给电子设备。在本申请中,可用标签标识应理解为可被用户触发使用的标签标识,相应的可用标签值也应理解为可被用户触发使用的标签值。
进而,当电子设备接收到标签管理服务设备发送的可用标签查询列表时,可将该可用标签查询列表显示在交互界面上,以使用户基于显示的可用标签查询列表进行数据查询。
在本申请实施例中,标签管理服务设备可选为对监控系统中监控数据收集组件(Collector或者Agent)采集到的监控数据,按照标签标识以及标签值的结构进行管理的硬件设备。比如,标签管理服务器等。当然,在本申请中标签管理服务设备也可以是监控系统中的一个具备对监控数据收集组件采集到的监控数据,按照标签标识以及标签值的结构进行管理的功能模块或电子器件,等等,本申请对此不做具体限制。示例性的,标签管理服务设备可选为开源的检索引擎,比如基于Lucene的搜索服务器(elasticsearch)。
其中,标签,可理解为(tag或label),是监控系统中监控数据收集组件上报监控数据时携带用来描述该监控数据的其他属性的数据。
本申请中,标签包括标签标识和标签值。其中,标签标识可理解为确定标签身份的信息,比如标签名称等。标签值可理解为标签的一个属性,用于表示具体的标签内容。
示例性的,假设某服务器上报的监控数据为:
(metric:cpu.busy;value:67.3;tags:cpu=0,host=web0);
那么,标签host=web0表示当前服务器的名称是web0,标签cpu=0表示监控的是当前服务器的0号cpu。该监控数据表示web0服务器的0号CPU当前的使用率是67.3%。
应理解的是,本申请中监控系统可选为任意具备数据监控管理功能系统,比如普罗米修斯(Prometheus)、夜莺(nightingale)、开放猎鹰(Openfalcon)等。
S102,响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表。
在本申请中,可用指标标识可以理解为任意能够唯一确定可用指标身份的信息,比如可用指标名称,或者可用指标编号,等等。
在一些可实现方式中,电子设备将该可用标签查询列表显示在交互界面上之后,用户可以在该可用标签查询列表中选择即将要查询的可用标签标识,以及与该可用标签标识对应的可用标签值,以实现目标可用标签标识以及目标可用标签值的选中操作。
当检测到用户针对目标可用标签标识,以及目标可用标签值的选中操作时,电子设备可以以目标可用标签标识和目标可用标签值,作为可用指标标识列表的获取参数,生成可用指标标识列表获取请求。然后,利用API Server向标签管理服务设备发送该可用指标标识列表获取请求,使得标签管理服务设备根据该可用指标标识列表获取请求携带的目标可用标签标识和目标可用标签值,获取可用指标标识列表,并向电子设备反馈可用指标标识列表。
在本申请中,标签管理服务设备在接收到可用指标标识列表获取请求后,首先解析该可用指标标识列表获取请求,以获取可用指标标识列表获取请求携带的参数(目标可用标签标识和目标可用标签值)。其次,根据目标可用标签标识和目标可用标签值,在自身管理的所有原始监控指标中获取包括目标可用标签标识和目标可用标签值的原始监控指标。进而,从原始监控指标中获取所有可用指标标识,并根据获取到的所有可用指标标识得到可用指标标识列表。与此同时,还可以从原始监控指标中汇总其他可用标签标识,以及与其他可用标签标识对应的可用标签值,并基于其他可用标签标识,以及与其他可用标签标识对应的可用标签值更新可用标签查询列表,得到新的可用标签查询列表。然后,将可用指标标识列表和新的可用标签查询列表一起反馈给电子设备,使得电子设备基于接收到的可用指标标识列表和新的可用标签查询列表向用户进行操作响应。其中,其他可用标签标识是与可用标签查询列表中的可用标签标识不同的新标签标识。
需要说明的是,监控指标(counter)通常是由指标标识(比如指标名称,metric)和一系列标签组成,并且监控数据的值是按照固定时间周期采集的一组时间点和数值的序列。示例性的,假设监控数据为(metric:cpu.busy;value:67.3;tags:cpu=0,host=web0),那么监控指标则为(metric:cpu.busy;tags:cpu=0,host=web0),监控数据的值可能是(time=2023-01-05 00:00:00;value=67.3)(time=2023-01-05 00:01:00;value=66.7),……。
其中,指标标识可理解为上报监控数据时使用指标标识来表示数值的含义,比如某服务器上报监控数据(metric:cpu.busy;value:67.3),数据中value:67.3表示数值是67.3,而metric:cpu.busy表示该数值是服务器当前的CPU使用率。
进而,当接收到标签管理服务设备发送的可用指标标识列表和新的可用标签查询列表之后,电子设备可以将该可用指标标识列表和新的可用标签查询列表都显示在交互界面上,使用户基于显示的可用指标标识列表或新的可用标签查询列表进行数据查询操作。
S103,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据。
可选的,当检测到用户选中了可用指标标识列表中的任一可用指标标识时,本申请可将选中的可用指标标识作为目标指标标识。进而,根据目标指标标识、目标可用标签标识以及与目标可用标签标识对应的目标可用标签值,在监控系统中获取目标监控数据。
可选的,本申请在监控系统中获取目标监控数据,可以包括但不限于如下情况:
情况一
根据目标指标标识、目标可用标签标识以及与目标可用标签标识对应的目标可用标签值,在存储有所有监控数据的数据库(监控数据库)中获取目标监控数据。
考虑到监控数据库中会存储所有监控数据,所以本申请可以根据用户选中的目标指标标识、目标可用标签标识以及目标可用标签值,在监控数据库中查找对应的目标监控数据。
在一些可实现方式中,从监控数据库中获取目标监控数据时,可首先根据目标指标标识在监控数据库中查找到包括目标指标标识的所有监控数据;其次,从所有监控数据中筛选包括目标可用标签标识和目标可用标签值的候选监控数据。
考虑到监控数据为时间序列数据,并且监控数据的数量可能会很大,从而基于上述监控数据进行业务分析比较困难,也较难发现蕴含在数据结果中的规律性和趋势性。所以,本申请获取到候选监控数据之后,可按照时间序列对候选监控数据进行聚合汇总,以将同一时间下的多个候选监控数据聚合成为一条监控数据,以得到目标监控数据,从而可以减少获取到的目标监控数据的数量,方便用户查看获取到的目标监控数据,进而更好的进行数据监控。
应理解的是,时间序列是一系列数据点按照时间顺序排列,时间序列数据就是历史烙印,具有不变性、唯一性、时间排序性。
相应的,本申请中存储监控数据的监控数据库,可选为专门用于存储时间序列数据、并针对时间序列数据的规律进行各种优化的数据库,又称为时间序列数据库。示例性的,时间序列数据库可选为但不限于:开发时间序列库(Open time series data base,简称OpenTSDB)、时序数据库(InfluxDB)、存储数据库(M3DB)、分布式集群时序库(VictoriaMetrics)等。
情况二
根据目标指标标识、目标可用标签标识以及与目标可用标签标识对应的目标可用标签值,在标签管理服务设备中获取包括目标指标标识、目标可用标签标识以及目标可用标签值的原始监控指标。进而,根据原始监控指标从监控数据库中获取目标监控数据。
考虑到标签管理服务设备能够接收监控数据收集组件采集到的监控数据,而监控数据可包括监控指标和监控指标值。并且,标签管理服务设备能够将监控数据拆分处理成标签标识以及标签值的结构。因此,本申请可首先根据目标指标标识、目标可用标签标识以及目标可用标签值,在标签管理服务设备中获取原始监控指标。进而,根据原始监控指标,从监控数据库中获取与原始监控指标对应的候选监控数据。
进一步的,在获取到候选监控数据后,本申请可按照时间序列对候选监控数据进行聚合汇总,以将同一时间下的多个候选监控数据聚合成为一条监控数据,得到目标监控数据,从而可以减少获取到的目标监控数据的数量,方便用户查看获取到的目标监控数据,从而更好的进行数据监控。
S104,显示目标监控数据。
获取到目标监控数据之后,本申请可将目标监控数据在交互界面上进行显示,以使用户查看并分析目标监控数据。
在本申请中,显示目标监控数据时,可采用不同形式显示。示例性的,可通过但不限于如下形式:饼图、数值折线图、比例折线图、散点图、直条图和网络表格等。
示例性的,以目标监控数据的显示形式为比例折线图为例进行说明,具体如图2所示,图2是一个小时内某服务器的1号CPU的使用率。如图2所示,可以直观的看出CPU使用率的在一小时内变化。
图3是本申请实施例的整体的信令交互图,以通过图3可以清楚知晓本申请实施例的整体数据查询过程。
本申请提供的一种数据查询方法,通过响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,并响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据,然后显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
在本申请的另一实现场景中,考虑到监控数据库中会存在大量监控数据,因此通过从监控数据库中获取目标监控数据,会使得整个数据查询响应需要花费大量时间,导致响应速度慢。因此,本申请通过在监控系统中增加缓存模块,以通过缓存模块对监控数据进行缓存,使得用户查询监控数据时,可以通过查询缓存模块来提高监控数据的查询速度。下面结合图4,对本申请中在监控系统中增加缓存模块,并基于缓冲模块提高监控数据查询速度的过程进行具体说明。
如图4所示,该方法可以包括如下步骤:
S201,响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,可用标签查询列表包括:可用标签标识,以及与可用标签标识对应的标签值。
S202,响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表。
S203,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,从标签管理服务设备中获取至少一个目标原始监控指标。
考虑到标签管理服务设备可以对监控数据收集组件采集的监控数据进行管理以及更新等操作。因此,当检测到用户针对可用指标标识列表中的任意可用指标标识的选中操作时,说明用户需要基于该选中的可用指标标识进行监控数据查询。进而,本申请可将选中的可用指标标识作为目标指标标识。然后,生成原始监控指标获取请求,并将目标指标标识、目标可用标签标识以及目标可用标签值携带在原始监控指标获取请求中,通过APIServer将原始监控指标获取请求发送给标签管理服务设备,以使标签管理服务设备根据该原始监控指标获取请求获取对应的至少一个目标原始监控指标。
其中,标签管理服务设备获取至少一个目标原始监控指标时,可通过对原始监控指标获取请求进行解析,以获取目标指标标识、目标可用标签标识以及目标可用标签值,之后根据目标指标标识、目标可用标签标识以及目标可用标签值从自身管理的所有监控数据中获取包括上述三个参数的所有目标原始监控指标。
S204,根据目标原始监控指标,获取目标监控数据。
通常情况下,监控系统中存在两种查询的情况,第一种是固定标签的查询,第二种是随机标签的查询。
其中,第一种,固定标签的查询是指每次查询的监控指标(监控数据)对应的标签不会变化或变化较少,比如用户设置的异常告警和监控大盘。
考虑到用户设置异常告警的监控指标是固定的,每次查询都不会变,所以可以实时把异常告警的监控指标聚合出来写入监控数据库(比如TSDB)中,从而减少查询原始监控指标的数量,提升查询速度。
并且,监控大盘包含部分指标标识(指标名称)和部分用户关注的标签选项,因此所查询的监控指标相对原始监控指标的监控指标名称数量和标签数量都会减少很多。所以,按照监控大盘包含的指标名称和标签实时聚合出新的监控指标可以减少查询原始监控指标的数量,提升查询速度。
应理解的是,上述聚合出来的监控指标的标签是原始监控指标的标签的子集。
进一步的,为了区分监控指标和原始监控指标,在聚合的监控指标新增一个固定的标签(比如attribute=aggregator),从而当标签管理服务设备在自身管理的监控数据中进行数据查询等操作时,如果查询到这个特定的标签,就可以与原始监控指标分开处理。
第二种,随机标签的查询是指每次查询的监控指标对应的标签是不固定的、任何标签都可能会被选中,比如用户日常的查看监控或查找、分析异常。
考虑到对于随机标签的查询无法按照固定标签聚合出新的监控指标,所以需要使用缓存来提升查询速度。因此,为了提高目标监控数据的获取速度,本申请可在监控数据库的基础上,并行增添用于缓存监控数据的缓存模块。在本申请中,缓存模块包括:一级缓存模块和二级缓存模块。
考虑到用户会在不同时间进行监控数据的查询操作,即会存在历史查询数据。因此,本申请中一级缓存模块主要用于存储第一时间周期内的历史访问原始监控指标,以及历史访问原始监控指标对应的聚合监控数据。而二级缓存模块主要用于存储第二时间周期内的历史访问原始监控指标,以及历史访问原始监控指标对应的原始监控数据。
并且,一级缓存模块和二级缓存模块都使用操作系统层面上的页面置换算法(Least Recently Used算法,简称为LRU算法)保留历史访问的数据。
另外,为了进一步加快数据查询速度,还可以从监控转发组件(Transfer)转发数据到一级缓存模块和/或二级缓存模块,同时更新需要缓存的监控指标的最新数据。
应理解的是,上述第一时间周期和第二时间周期可以根据监控系统的数据查询需求进行灵活设置。并且,第一时间周期与第二时间周期可以是相同的,也可以是不相同的,此处对其不做具体限制。
例如,第一时间周期可以为一周,15天或者一个月;第二时间周期可以为两周,45天或者两个月等等。
所以,从标签管理服务设备端获取到目标原始监控指标之后,本申请可基于目标原始监控指标,从缓存模块和/或监控数据库中获取目标监控数据。
作为一种可选的实现方式,本申请基于目标原始监控指标,从缓存模块和/或监控数据库中获取目标监控数据,可选的包括如下步骤:
步骤1001,电子设备通过利用API Server向一级缓存模块发送目标监控数据查询请求,以从一级缓存模块中获取目标监控数据。
其中,目标监控数据查询请求中可携带目标原始监控指标,使得一级缓存模块通过对目标监控数据请求进行解析,以获取到目标原始监控指标。进而,一级缓存模块根据目标原始监控指标在自身存储的所有历史访问监控数据中寻找是否存在目标原始监控指标。
可选的,如果寻找到目标原始监控指标,则说明一级缓存模块中存在目标监控数据。进而,将一级缓存模块中与目标原始监控指标对应的聚合监控数据作为目标监控数据,从而得到目标监控数据。
如果没有寻找到目标原始监控指标,则说明一级缓存模块中不存在目标监控数据,此时执行步骤1002,以从二级缓存模块或数据库中获取目标监控数据。
步骤1002,当从一级缓存模块中未获取到目标监控数据时,查询标签管理服务设备是否存在与目标原始监控指标对应的聚合监控指标,如果存在,则执行步骤1003,否则执行步骤1004。
步骤1003,如果存在聚合监控指标,则根据聚合监控指标,从监控数据库中获取目标监控数据。
考虑到标签管理服务设备会接收数据收集组件实时上传的监控数据,并基于接收到监控数据对自身管理的监控数据进行实时更新。因此,本申请在确定一级缓存模块中没有目标监控数据时,可基于目标原始监控指标在标签管理服务设备中进行数据查询操作,以确定标签管理服务设备是否存在与目标原始监控指标对应的聚合监控指标。
其中,确定标签管理服务设备是否存在与目标原始监控指标对应的聚合监控指标,可根据目标指标标识、目标可用标签标识以及目标可用标签值,在标签管理服务器中查询是否存在匹配的聚合监控指标。
在一些可实现方式中,如果从标签管理服务设备中查询到与目标原始监控指标对应的聚合监控指标,则根据聚合监控指标从监控数据库中获取对应的目标监控数据。
进一步的,从监控数据库中获取到目标监控数据之后,本申请可选的还可将查询到的目标监控数据对一级缓存模块进行更新,以使一级缓存模块内存储有最近一次访问的原始监控指标,以及与该原始监控指标对应的聚合监控数据,从而为下一次的监控查询操作提供条件。
需要说明的是,监控系统包括有聚合服务,该聚合服务会加载异常告警、监控大盘等用户配置的监控信息,从而当聚合服务接收到监控数据收集组件上传的监控数据时,会根据用户配置的异常告警和监控大盘的监控信息,对接收到的监控数据进行聚合以生成新的监控数据并将其写入到监控数据库中。由于聚合后的监控数据相较于原始监控数据会减少标签数量,从而减少了实际查询的指标数据,进而可以减少原始监控指标的数量,提升查询速度。
步骤1004,如果不存在聚合监控指标,则从标签管理服务设备中获取与目标原始监控指标对应的原始监控指标列表,根据原始监控指标列表获取目标监控数据。
在本申请中,如果基于目标原始监控指标在标签管理服务设备没有查询到聚合监控指标,则此时根据目标原始监控指标,在标签管理服务设备中查询与每个目标原始监控指标对应的原始监控指标,得到原始监控指标列表。具体的,可根据目标指标标识、目标可用标签标识以及目标可用标签值,在标签管理服务器中查询是否存在匹配的所有原始监控指标,以得到原始监控指标列表。
然后,根据获取到的原始监控指标列表,在二级缓存模块中获取目标监控数据,具体实现过程参见下述步骤1005至步骤1007部分。
步骤1005,根据原始监控指标列表,在二级缓存模块中获取原始监控指标列表中每个原始监控指标对应的监控数据。
步骤1006,如果获取到每个原始监控指标对应的监控数据,则按照时间序列将获取到的所有监控数据进行汇总,得到目标监控数据。
在得到目标监控数据之后,本申请还基于目标监控数据,对一级缓存模块进行更新,使得一级缓存模块内存储最近一次的历史访问原始监控指标,以及与该原始监控指标对应的聚合监控数据,从而为后续监控数据查询提供有利条件。
步骤1007,如果未获取到任意原始监控指标对应的监控数据,则根据任意原始监控指标,从监控数据库中获取任意原始监控指标对应的监控数据,并按照时间序列将获取到的所有监控数据进行汇总,得到目标监控数据。
其中,任意是指一个或者多个,本申请对此不做具体限制。
考虑到实际使用过程中,二级缓存模块中可能不会存储所有原始监控指标及与每个原始监控指标对应的监控数据,所以就会存在无法获取到任意原始监控指标对应的监控数据的情况发生。基于此,本申请可根据没有获取到监控数据的原始监控指标,在监控数据库中进行查询,以获取前述从二级缓存模块内没有获取到的任意原始监控指标的监控数据。然后,对从二级缓存模块获取到的监控数据,以及从监控数据库中获取到的监控数据进行聚合汇总,得到目标监控数据。
并且,本申请从监控数据库中获取到任意原始监控指标对应的监控数据之后,还可以根据任意原始监控指标对应的监控数据,更新二级缓存模块,以使更新后的二级缓存模块内为后续监控数据查询奠定基础。
需要说明的是,本申请中上述步骤1001至步骤1007中,在命中一级缓存模块或者二级缓存模块内的监控指标后,没有再次请求监控数据库来获取新时间点的数据,是因为监控转发组件(Transfer)会转发监控数据到缓存模块(一级缓存模块和二级缓存模块)主动实时地更新缓存,从而可以减少对监控数据库的查询操作,提升监控数据的查询速度。
S205,显示目标监控数据。
本申请提供的一种数据查询方法,通过响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,并响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据,然后显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。此外,本申请通过在监控系统中增加缓存模块,以通过缓存模块对监控数据进行缓存,使得用户查询监控数据时,可以通过查询缓存模块来提高监控数据的查询速度。
在本申请的一种可选实现方式中,考虑到用户在查询监控数据时,存在个性化查询需求,即需要获取具有目的性或个性化的监控数据。因此,本申请还可以向用户提供计算关系设置功能,使得用户基于该计算关系设置功能定义符合自身需求的个性化监控指标,从而可以满足用户对监控数据的个性化查询需求,简化监控数据探索问题。下面结合图5,对本申请实施例上述设置计算关系过程进行具体说明。
如图5所示,该方法可以包括如下步骤:
S301,响应于获取到的计算关系设置指令,在交互界面上显示计算关系设置界面。其中,计算关系设置界面包括:至少两个可用指标标识、可用指标标识对应的可用标签标识以及运算符。
考虑到用户查询监控数据时,可能有不同的查询需求,而通用的数据查询方式无法满足用户的个性化查询需求。因此,本申请通过在监控系统提供的现有功能基础上,增加计算关系设置功能,使得用户基于该功能可以设置符合自身需求的个性化监控指标,从而基于设置的个性化监控指标获取符合自身需求的个性化监控数据。
在一些可实现方式中,当用户想要查询自身所需的个性化监控数据时,可以通过自身使用的电子设备登录监控系统,并打开监控系统的交互界面,通过交互界面向电子设备发送计算关系设置指令。其中,交互界面包括有计算关系设置控件或接口。进而,用户可以触发计算关系设置控件或接口,向电子设备发送计算关系设置指令,例如图6所示。
当检测到用户发送的计算关系设置指令,在交互界面上显示计算关系设置界面,使得用户可以通过操作计算关系设置界面来自定义指标计算关系。
作为一种可选的实现方式,本申请中计算关系设置界面可选为表格形式,例如图7所示。其中,图7中包括可用指标标识项、可用标签标识项和运算符项等。
其中,运算符是用于执行程序代码运算的代码,会针对一个以上可用指标标识来进行运算。常见的运算符有算术运算符:“*”、“-”、“+”、“/”、“%”等;关系运算符:“>”、“<”、“=”、“>=”、“<=”、“!=”等,以及逻辑运算符:“!”、“&&”、“||”等等。示例性的,运算2+3,其可用指标标识是2和3,运算符是“+”。
S302,响应于对至少两个目标可用指标标识和目标运算符的选中操作,生成并存储指标计算关系。
在本申请实施例中,电子设备将计算关系设置界面展示在交互界面上之后,用户可通过交互界面对可用指标标识和运算符进行选中操作。
当检测到用户选中可用指标标识和运算符,电子设备可根据用户选中的可用标识和运算符生成指标计算关系,并保存到指标计算关系库中。
在本申请中,指标计算关系库可选为MySQL数据库。
以上述图7进行继续说明,假设计算关系设置界面中包括:可用指标标识A、可用指标标识B、可用指标标识C、运算符“/”、运算符“=”以及运算符“+”。那么,当用户首先选中目标可用标识C,其次选中目标运算符“=”,再次选中目标可用标识A,从次选中目标运算符“/”,之后选中目标可用标识B时,电子设备根据用户选中的目标可用标识和目标运算符顺序,生成自定义指标计算关系:C=A/B。进而,将自定义指标计算关系显示在计算关系设置界面中,同时保存该自定义指标计算关系到指标计算关系库中。
作为本申请的另一种可选的实现方式,考虑到用户自定义指标计算关系时,还可以筛选部分标签的指标来定义计算关系。所以,本申请设置指标计算关系时,还可以响应于用户对至少一个目标可用指标标识,目标可用指标标识对应的目标可用标签标识以及目标运算符的选中操作,以生成自定义指标计算关系,然后保存自定义指标计算关系。
继续以图7进行举例说明,假设计算关系设置界面中包括:可用指标标识A、可用指标标识B、可用指标标识D、运算符“=”、运算符“!=”、运算符/,以及可用标签标识等。那么,当用户第一步选中目标可用指标标识D,第二步选中目标运算符“=”,第三步输入小括号,第四步选中目标可用标签标识metric,第五步选中运算符“=”,第六步选中目标可用指标标识A,第七步输入逗号,第八步输入code,第九步选中目标运算符“!=”,第十步输入0,第十一步选中运算符“/”,以及第十二步选中目标可用指标标识B时,电子设备根据用户选中的目标可用标识、目标可用标签以及目标运算符顺序,生成自定义指标计算关系:D=(metric=A,code5=0)/B。进而,将自定义指标计算关系显示在计算关系设置界面中,同时保存该自定义指标计算关系到指标计算关系库中。
上述几种设置自定义指标计算关系仅是示例性说明,当然除了上述几种设置自定义指标计算关系之外,还可以根据用户自身需求进行灵活设置,此处对其不做具体限制。
S303,响应于对可用标签查询列表中任一目标监控指标标识和目标监控指标标识对应的至少一个可用标签标识的选中操作,从指标计算关系库中获取目标监控指标标识和目标监控指标标识对应的可用标签标识的目标计算关系。
在本申请实施例中,可用标签查询列表中的任意可用标签标识可选为监控指标标识。所以,基于计算关系设置界面生成指标计算关系后,本申请可根据用户触发的数据查询请求,向用户输出包括监控指标标识,及与监控指标标识对应的至少一个可用标签标识的可用标签查询列表。进而,用户可从可用标签查询列表中选择需要查询的自定义监控指标标识(目标监控指标标识),以及与该自定义监控指标标识对应的可用标签标识。
当检测到用户从可用标签查询列表中选中目标监控指标标识,和与目标监控指标标识对应的至少一个可用标签标识时,电子设备可根据目标监控指标标识和可用标签标识,从指标计算关系库中获取目标计算关系。
S304,根据目标计算关系,递归查找目标监控指标标识对应的原始监控指标标识。
可选的,得到目标计算关系后,本申请可根据目标计算关系,递归查找目标监控指标标识对应的所有原始监控指标标识。
比如,假设目标监控指标标识为监控指标D,且目标计算关系为D=(metric=A,code!=0)/B。其中,指定部分标签查询指标D的监控数据(metric=D,tagk1=tagv1)。进而,根据目标计算关系可查找监控指标D对应的所有原始监控指标标识为:A和B。
S305,根据原始监控指标标识和目标监控指标标识对应的可用标签标识,从标签管理服务设备中获取原始监控指标。
在一些可实现方式中,获取原始监控指标时,可将原始监控指标标识和目标监控指标标识对应的可用标签标识作为参数请求标签管理服务设备,使得标签管理服务设备根据原始监控指标标识和目标监控指标标识对应的可用标签标识,从自身管理的监控数据中获取目标监控指标标识在每个可用标签标识上的可用数值。进而,本申请将目标监控指标标识和每个可用标签标识的可用数值组成一个新的监控指标,并将新的监控指标作为参数请求标签管理服务设备,以从标签管理服务设备端获取新的监控指标分别对应的原始监控指标。
例如,假设用户想要查看监控指标(metric=A,tagk1=tagv1)在维度tagk2上的数据分布,那么可通过从标签管理服务设备端获取监控指标(metric=A,tagk1=tagv1)在维度tagk2上的可用数值tagv21、tagv22和tagv23。进而,根据(metric=A,tagk1=tagv1)和tagv21、tagv22和tagv23组成新的监控指标,分别为:(metric=A,tagk1=tagv1,tagk2=tagv21);
(metric=A,tagk1=tagv1,tagk2=tagv22),以及,
(metric=A,tagk1=tagv1,tagk2=tagv23)。
然后,根据上述三个新的监控指标分别从标签管理服务设备端获取对应原始监控指标。
继续以步骤S304中的示例进行说明,当监控指标D的所有原始监控指标标识为A和B,监控指标D对应的可用标签标识为tagk1=tagv1,那么可通过从标签管理服务设备中获取监控指标A在tagk1=tagv1上的可用数值(metric=A,code!=0,tagk1=tagv1)和以及监控指标B在tagk1=tagv1上的可用数值(metric=B,tagk1=tagv1)。由于原始监控指标标识A在tagk1=tagv1上的可用数值为一个,以及监控指标B在tagk1=tagv1上的可用数值上的可用数值为一个,此时直接根据(metric=A,code!=0,tagk1=tagv1)和(metric=B,tagk1=tagv1)从标签管理服务设备端获取分别对应原始监控指标。
S306,根据原始监控指标,查询并显示目标监控数据。
以步骤S305中的第一个示例继续说明:
在得到(metric=A,tagk1=tagv1,tagk2=tagv21);
(metric=A,tagk1=tagv1,tagk2=tagv22),以及,
(metric=A,tagk1=tagv1,tagk2=tagv23)这三个新的监控指标对应的原始监控指标之后,可分别利用上述三个新的监控指标从缓存模块和/或监控数据库中获取各自对应的监控数据。然后,将得到的所有监控数据汇总在页面上进行显示。
以步骤S305中第二个示例继续说明,得到(metric=A,code!=0,tagk1=tagv1)和(metric=B,tagk1=tagv1)分别对应的原始监控指标之后,可从缓存模块和/或监控数据库中,根据原始监控指标获取对应监控数据。进而,将相同时间点的数据相除,得到新的时间序列数据则为监控指标D,即(metric=D,tagk1=tagv1)的数据。然后,在页面上显示获取到的监控数据。
其中,在页面上显示目标监控数据时,可以以饼图形式显示,也可以展示成以X轴是时间点的多条数值的折线图,或者,还也可以以各维度值所占比例的折线图形式显示,等等,此处对其不做具体限制。
图8是本申请实施例的整体的信令交互图,以通过图8可以清楚知晓本申请实施例的整体数据查询过程。
本申请提供的一种数据查询方法,通过响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,并响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据,然后显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。此外,本申请还可以向用户提供计算关系设置功能,使得用户能够基于该计算关系设置功能定义符合自身需求的个性化监控指标,从而支持自定义指标查询在任意维度上的数据分布及变化趋势,可以满足用户对监控数据的个性化查询需求,降低用户对监控数据的探索难度。
在前述实施例的基础上,本申请从标签管理服务设备端除了获取到可用指标标识列表之外,还可以获取到的更新后的可用标签查询列表。因此,用户可以基于更新后的可用标签查询列表进行新目标可用标签标识以及新目标可用标签值的选取操作,并基于选取的新目标可用标签标识以及新目标可用标签值的选取操作获取新的可用指标标识列表,从而实现对用户查询监控数据进行细化,从而为得到更为准确的监控数据提供条件。下面结合图9,对本申请实施例提供数据查询方法进行进一步的解释说明。
如图9所示,该方法可以包括如下步骤:
S401,响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,可用标签查询列表包括:可用标签标识,以及与可用标签标识对应的可用标签值。
S402,响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取新的可用标签查询列表和可用指标标识列表。
在一些可实现方式中,向用户显示可用标签查询列表后,用户可从可用标签查询列表中选择目标可用标签标识和目标可用标签值。当检测到用户选中任一可用标签标识以及可用标签值时,将该选中的可用标签标识作为目标可用标签标识,以及将选中的可用标签纸作为目标标签值。进而,根据目标可用标签标识和可用标签纸生成可用标签查询列表的更新请求,并通过API Server向标签管理服务设备发送该可用标签查询列表的更新请求,使得标签管理服务设备根据该可用标签查询列表的更新请求携带的目标可用标签标识和目标可用标签值,对可用标签查询列表进行更新,同时获取可用指标标识列表,并向电子设备反馈更新后可用标签查询列表和可用指标标识列表。
其中,从标签管理服务设备中获取新的可用标签查询列表和可用指标标识列表的实现原理与前述实施例中步骤S102相同,具体实现过程可参见前述步骤S102部分,此处对其不做过多赘述。
S403,响应于对新的可用标签查询列表中任意可用标签值的选中操作,以新的可用标签查询列表作为可用标签查询列表,重新从标签管理服务设备中获取新的可用标签查询列表和新的可用指标标识列表,直至获取到新的可用指标标识列表中任一目标指标标识的选中操作,以根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据。
可选的,本申请用户对显示的可用指标标识列表或新的可用标签查询列表进行数据查询操作,包括但不限于如下情况:
情况一
当用户在新的可用标签查询列表中选择任意可用标签值时,本申请根据用户选中的目标可用标签值,以新的可用标签查询列表为可用标签查询列表,向标签管理服务设备发送获取新的可用标签查询列表和新的可用指标标识列表的列表获取请求。
标签管理服务设备获取到列表获取请求之后,解析该列表获取请求,以获取列表获取请求携带的目标可用标签值以及与该目标可用标签值对应的目标可用标签标识。进而,根据目标可用标签标识和目标可用标签值,在自身管理的所有原始监控指标中获取包括目标可用标签标识和目标可用标签值的原始监控指标。进而,从原始监控指标中获取所有可用指标标识,并根据获取到的所有可用指标标识得到新的可用指标标识列表。与此同时,还可以从原始监控指标中汇总其他可用标签标识,以及与其他可用标签标识对应的可用标签值,并基于其他可用标签标识,以及与其他可用标签标识对应的可用标签值更新可用标签查询列表,得到新的可用标签查询列表。然后,将新的可用指标标识列表和新的可用标签查询列表一起反馈给电子设备,使得电子设备基于接收到的新的可用指标标识列表和新的可用标签查询列表向用户进行操作响应。其中,其他可用标签标识是与可用标签查询列表中的可用标签标识不同的新标签标识。
电子设备将标签管理服务设备反馈的新的可用标签查询列表和新的可用指标标识列表显示在交互界面上,使用户基于新的可用标签查询列表和新的可用指标标识列表继续进行数据查询操作。
当检测到用户在新的可用指标标识列表中执行任意可用指标标识的选中操作时,本申请将用户选中的可用指标标识确定为目标可用指标标识,进而,基于目标可用指标标识、目标可用标签标识,以及目标可用标签值,查询目标监控数据。
其中,基于目标可用指标标识、目标可用标签标识,以及目标可用标签值,查询目标监控数据的实现过程,具体参见前述实施例S103部分,此处对其不做过多赘述。
情况二
当用户在新的可用标签查询列表中选中任意可用标签值时,本申请根据用户选中的目标可用标签值,以新的可用标签查询列表为可用标签查询列表,向标签管理服务设备发送获取新的可用指标标识列表和新的可用标签查询列表的列表获取请求。
标签管理服务设备获取到列表获取请求之后,解析该列表获取请求,以获取列表获取请求携带的目标可用标签值以及与该目标可用标签值对应的目标可用标签标识。进而,进而,根据目标可用标签标识和目标可用标签值,在自身管理的所有原始监控指标中获取包括目标可用标签标识和目标可用标签值的原始监控指标。进而,从原始监控指标中获取所有可用指标标识,并根据获取到的所有可用指标标识得到新的可用指标标识列表。与此同时,还可以从原始监控指标中汇总其他可用标签标识,以及与其他可用标签标识对应的可用标签值,并基于其他可用标签标识,以及与其他可用标签标识对应的可用标签值更新可用标签查询列表,得到新的可用标签查询列表。然后,将新的可用指标标识列表和新的可用标签查询列表一起反馈给电子设备,使得电子设备基于接收到的新的可用指标标识列表和新的可用标签查询列表向用户进行操作响应。其中,其他可用标签标识是与可用标签查询列表中的可用标签标识不同的新标签标识。
电子设备将标签管理服务设备反馈的新的可用标签查询列表和新的可用指标标识列表显示在交互界面上,使用户基于新的可用标签查询列表和新的可用指标标识列表继续进行数据查询操作。
当检测到用户在新的可用标签查询列表中选中任意目标可用标签值时,电子设备将新的可用标签查询列表作为可用标签查询列表,继续从标签管理服务设备端获取新的可用标签查询列表,以及新的可用指标标识列表。并将获取的新的可用标签查询列表和新的可用指标标识列表显示在交互界面上,以使用户基于新的可用标签查询列表和新的可用指标标识列表继续进行数据查询操作。
重复上述操作,直至检测到用户在最新的可用指标标识列表中执行任意可用指标标识的选中操作时,本申请将用户选中的可用指标标识确定为目标可用指标标识,进而,基于目标可用指标标识、目标可用标签标识,以及目标可用标签值,查询目标监控数据。
其中,基于目标可用指标标识、目标可用标签标识,以及目标可用标签值,查询目标监控数据的实现过程,具体参见前述实施例S103部分,此处对其不做过多赘述。
示例性的,如图10所示,展示了某监控系统采集的任意监控数据,通过交互界面进行数据呈现。
步骤10,电子设备交互界面展示了标签管理服务设备发送的第一可用标签查询列表。
可选的,用户可以通过交互界面中的第一可用标签查询列表查询该监控系统下所有设备的监控数据。例如,用户可以选择第一可用标签查询列表中CPU使用率,查询监控系统的所有设备CPU的使用情况,也可以选择第一可用标签查询列表中内存使用率,查询监控系统的所有设备内存的使用情况。
步骤20,电子设备交互界面展示了标签管理服务设备发送的第二可用标签查询列表和第一可用指标标识列表。
其中,第二可用标签查询列表是对第一可用标签查询列表进行更新后得到的新可用标签查询列表。
可选的,用户可以通过交互界面中第二可用标签查询列表查询更为具体的设备监控数据。
或者,用户也可以通过第一可用指标标识列表查询当前选中的设备监控数据。
例如,用户可以通过选择第二可用标签查询列表中的web0,来查询具体web0设备的CPU的使用情况,也可以选择第一可用指标标识列表中的CPU使用率,查询所有设备的CPU使用率。
步骤30,电子设备交互界面展示了标签管理服务设备发送的第三可用标签查询列表和第二可用指标标识列表。
其中,第三可用标签查询列表是对第二可用标签查询列表进行更新后得到的新可用标签查询列表。
第二可用指标标识列表是对第一可用指标标识列表进行更新后得到的新可用指标标识列表。
可选的,用户可以通过交互界面中第三可用标签查询列表查询更为具体的设备监控数据。
或者,用户也可以通过第二可用指标标识列表查询当前选中的设备的监控数据。
例如,用户可以通过选择第三可用标签查询列表中的0号CPU,来查询web0服务器的0号CPU的使用情况,也可以选择第二可用指标标识列表中的web0设备的CPU使用率,查询web0设备的CPU使用率。
步骤40,电子设备交互界面展示了标签管理服务设备发送的第四可用标签查询列表和第三可用指标标识列表。
其中,第四可用标签查询列表是对第三可用标签查询列表进行更新后得到的新可用标签查询列表。
第三可用指标标识列表是对第二可用指标标识列表进行更新后得到的新可用指标标识列表。
可选的,用户可以通过交互界面中第四可用标签查询列表查询更为具体的设备。
或者,用户也可以通过第三可用指标标识列表查询当前选中的设备的监控数据。
例如,用户可以通过选择第四可用标签查询列表中的当前时间,来查询当前时间下web0服务器的0号CPU的使用情况,也可以选择第三可用指标标识列表中的web0设备的0号CPU使用率,查询当前时间的web0设备的0号CPU使用率。
本申请中,用户选择查看web0服务器的0号CPU使用情况。
S404,显示目标监控数据。
本申请提供的一种数据查询方法,通过响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,并响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据,然后显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。此外,用户可用通过更新后的可用标签查询列表进行进一步的细化数据查询操作,从而可以查询出更为贴合用户需求的监控数据。
下面结合图11,以标签管理服务设备为执行主体,对本申请实施例提供的第五种数据查询方法进行说明。
图11是本申请实施例提供的第五种数据查询方法的流程示意图。本申请实施例提供的数据查询方法可由数据查询装置来执行。该数据查询装置可由硬件和/或软件组成,并可集成于电子设备中。在本申请实施例中,电子设备优选为标签管理服务设备。
如图11所示,该方法可以包括以下步骤:
S501,获取并存储采集组件采集到的监控数据,监控数据包括监控指标标识和标签。
其中,采集组件优选为监控系统中的数据收集组件,比如Collector,或Agent等,此处对其不做具体限制。
在本申请实施例中,监控系统中数据收集组件采集到监控数据后,会将监控数据上报给数据转发组件(比如Transfer),数据转发组件会将监控数据写入到监控数据库,并转发到其他需要实时数据的组件,比如标签管理服务设备、一级缓存模块和二级缓存模块等中。其中,数据转发组件是监控系统中数据采集侧用来进行数据传输的组件,其作用是将数据采集组件采集到的监控数据传输给需要数据的组件中。
当标签管理服务设备获取到数据转发组件发送的监控数据时,可对监控数据进行存储操作。
S502,解析监控数据,得到监控数据的监控指标标识和标签。
S503,根据监控指标标识和标签建立索引。
考虑到监控数据包括监控指标标识和一系列标签,因此为了便于用户的查询操作,标签管理服务设备保存监控数据之后,可以按照监控指标标识和标签的结构进行拆分,以得到每个监控数据的监控指标标识部分和标签部分。进而,基于监控指标标识部分和标签部分,构建索引,使得后续进行监控数据查询时,可基于索引加快数据查询速度,并且便于数据整理,以提升数据查询速度。
其中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,建立索引相当于将杂乱无章的数据进行目标化整理,从而减少数据检索时间。它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。示例性的,索引可选为但不限于:倒排索引(gin)、位图索引(Bitmap)、部分索引、表达式索引等,本申请对此不做具体限制。
示例性的,以位图索引进行说明,位图索引是一种使用位图的特殊数据库索引。位图即为一个位(bit)数组,一个位的取值有两种:0或1。每一个位对应数据表中的一行,并根据该行的取值情况来决定位的取值是0还是1。
S504,根据监控指标标识、标签以及索引,生成数据查询列表,其中,数据查询列表包括:可用标签查询列表和不可见索引查询列表,以使查询方设备基于可用标签查询列表实现数据查询。
应理解的是,可用标签查询列表是指用户可见且可用的列表,而不可见索引查询列表则对于用户而言是不可见且不可操作的列表。
并且,本申请中数据查询列表的结构为双层字典结构。
在一些可实现方式中,生成数据查询列表,可通过如下实现:首先通过将监控指标标识作为新标签进行处理,新标签包括新标签标识和新标签值,其中为新标签标识设置标识信息,并将监控指标标识作为新标签值。其次,将标签标识和标签值作为第一层字典,得到可用标签查询列表,其中标签标识包括新标签标识和监控数据中标签的标签标识,标签值包括新标签值和监控数据中标签的标签值。并且,将标签值和索引作为第二层字典,得到不可见索引查询列表。然后,根据可用标签查询列表和不可见索引查询列表,生成数据查询列表。
示例性的,以图12为例,对数据查询列表生成过程进行具体说明。如图12所示,数据查询列表的结构为双层字典结构。其中,以监控指标名称作为监控指标标识,并将监控指标标识作为标签处理,同时将标签名称(标签标识)定义为metric。相应的,标签值就是监控指标名称。然后,将标签名称以及标签值放到一个双层字典中,第一层字典可以通过标签名称找到所有可用的标签值,第二层字典可以通过标签值找到对应的bitmap索引。
在一些可实现方式中,在生成数据查询列表后,并且获取到查询方设备发送的可用标签查询列表获取请求时,将数据查询列表中的可用标签查询列表反馈给查询方设备,以使查询方设备向用户显示可用标签查询列表,帮助用户基于可用标签查询列表实现监控数据的查询操作。
其中,用户基于可用标签查询列表实现监控数据的查询操作的实现过程,具体参见前述以查询方设备为执行主体的实施例部分,此处对其不做过多赘述。
需要说明的是,本申请中可用标签查询列表还可以根据用户的选中操作进行级联更新。具体过程如下:通过标签管理服务设备定义的标签之间的依赖关系来实现级联更新,即用户选中可用标签查询列表中的任意可用标签标识以及与可用标签标识对应的可用标签值之后,依赖此标签的其他标签的标签值会随之更新。
应理解的是,级联是在计算机科学里指多个对象之间的映射关系,建立数据之间的级联关系提高管理效率,级联更新是将主键和外键进行绑定,当更改主键时,外键也会发生相应的改变。一个表存放老师的信息:表A(姓名,性别,年龄),姓名为主键。还有一张表存放老师所教的班级信息:表B(姓名,班级)。他们通过姓名来级联。在启用一个级联更新选项后,就可在存在相匹配的外键值的前提下更改一个主键值。系统会相应地更新所有匹配的外键值。如果在表A中将姓名为张三的记录改为李四,那么表B中的姓名为张三的所有记录也会随着改为李四。
其中,主键是在数据库中若某一个属性组能唯一标识一条记录,该属性组就可以成为一个主键。例如:在监控数据中,主键是监控标识。
本申请提供的一种数据查询方法,通过获取并存储采集组件采集到的监控数据,监控数据包括监控指标标识和标签;解析监控数据,得到监控数据的监控指标标识和标签;根据监控指标标识和标签建立索引;根据监控指标标识、标签以及索引,生成数据查询列表,其中数据查询列表包括:可用标签查询列表和不可见索引查询列表,以使查询方设备基于可用标签查询列表实现数据查询。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
下面结合图13,对本申请实施例提供的数据查询方法进行进一步的解释说明。
如图13所示,该方法可以包括如下步骤:
S601,获取查询方设备发送的原始监控指标查询请求,原始监控指标查询请求包括:目标指标标识、目标可用标签标识以及与目标可用标签标识对应的目标可用标签值。
在本申请实施例中,当查询方设备检测到用户发送的数据查询请求,可利用APIServer向标签管理服务设备发送可用标签查询列表获取请求。
在本申请实施例中,标签管理服务设备获取到查询方设备发送的可用标签查询列表获取请求,根据可用标签查询列表获取请求,向查询方设备反馈可用标签查询列表的过程,可参见前述执行主体为查询方设备部分的实施例,此处对其不做过多赘述。
用户利用查询方设备选中显示的可用标签查询列表中的目标可用标签标识,以及与该目标可用标签标识对应目标可用标签值,进而查询方设备以目标可用标签标识和目标可用标签值作为可用指标标识列表的获取参数,生成可用指标标识列表获取请求,并将可用指标标识列表获取请求发送给标签服务管理设备。
标签管理服务设备根据该可用指标标识列表获取请求携带的目标可用标签标识和目标可用标签值,获取可用指标标识列表和新的可用标签查询列表,并向电子设备反馈可用指标标识列表和新的可用标签查询列表。
当用户通过可用指标标识列表选中任意目标可用指标标识,查询方设备可向标签管理服务设备发送原始监控指标查询请求,原始监控指标查询请求包括:目标指标标识、目标可用标签标识以及与目标可用标签标识对应的目标可用标签值。
S602,根据目标指标标识、目标可用标签标识以及目标可用标签值,在不可见索引查询列表中查询目标索引。
标签管理服务设备获取到查询方设备发送的原始监控指标查询请求之后,可解析原始监控指标查询请求参数,以获取目标指标标识、目标可用标签标识以及与目标可用标签标识对应的目标可用标签值。
进而,根据目标指标标识、目标可用标签标识以及目标可用标签值,在包括不可见索引查询列表的数据查询列表中查询与目标指标标识、目标可用标签标识以及目标可用标签值对应的所有目标索引。
例如,目标指标标识为metric,目标可用标签标识为tagk1,以及目标可用标签值为tagv11,那么根据metric、tagk1以及tagv11在不可见索引查询列表中可查询到的所有目标索引为:101010101。
又比如,目标指标标识为metric,目标可用标签标识为tagk1和tagk2,以及目标可用标签值为tagv11、tagv21,那么根据metric、tagk1、tagk2、tagv11以及tagv21,在不可见索引查询列表中可查询到的所有目标索引为:101010101和110011001。
S603,根据目标索引,确定目标原始监控指标的存储位置。
应理解的是,由于索引与标签值一一对应,当得到的目标索引数量为单个时,该目标索引的存储位置即为目标原始监控指标的存储位置;当得到的目标索引数量为多个时,标签管理服务设备需对多个目标索引求交集,通过交集结果,确定目标原始监控指标的存储位置。
例如,如果查询到的所有目标索引为:101010101和110011001,则对上述两个目标索引进行求交集,得到交集结果为100010001。进而,根据交集结果100010001确定目标原始监控指标的存储位置。
S604,根据存储位置,从存储的监控数据中获取目标原始监控指标,并向查询方设备返回目标原始监控指标。
其中,目标原始监控指标的数量为至少一个。
获取到目标原始监控指标的存储位置之后,标签管理服务设备可根据该存储位置从存储的所有监控数据中获取与存储位置对应的目标原始监控指标,并将目标原始监控指标返回给查询方设备,以使查询方设备基于目标原始监控指标,获取目标监控数据。
其中,查询方设备基于目标原始监控指标,获取目标监控数据具体参见前述执行主体为查询方设备的实施例部分,此处对其不做过多赘述。
本申请提供的一种数据查询方法,通过获取查询方设备发送的原始监控指标查询请求,原始监控指标查询请求包括:目标指标标识、目标可用标签以及与目标可用标签对应的目标可用标签值;根据目标指标标识、目标可用标签以及目标可用标签值,在不可见索引查询列表中查询目标索引;根据目标索引,确定目标原始指标的存储位置;根据存储位置,从存储的监控数据中获取目标原始监控指标,并向查询方设备返回目标原始监控指标。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
为了便于理解本申请提供的数据查询方法,以具体实施例对本申请进行详细说明,如图14所示。
图14是本申请实施例提供的一种监控系统的架构示意图。其中,虚线箭头是监控数据上报的路径,实线箭头是数据查询的路径。
在本申请实施例中,数据采集组件(Collector)的作用是采集监控数据,并将采集到的监控数据上报到数据转发组件(Transfer)。
数据转发组件的作用是把监控数据写入监控数据库(TSDB),并转发数据到其他需要实时数据的缓存模块以及标签服务设备中。
聚合服务的作用会加载异常告警,监控大盘等用户配置的参数信息,并实时接收数据转发组件转发的监控数据,然后对监控数据进行聚合,以得到新的监控数据,并将新的监控数据写入监控数据库中。
标签管理服务设备的作用是对数据转发组件转发的监控数据进行管理,并生成包括可用标签查询列表和不可见索引查询列表的数据查询列表,并根据接收到监控数据或用户在可用标签查询列表中的选取操作,对数据查询列表进行实时更新。
一级缓存模块和二级缓存模块的作用是接收实时监控数据,并基于监控数据主动更新缓存数据,减少查询监控数据库的操作,从而加快监控数据的查询速度。
关联数据库(MySQL)是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,增加了速度并提高了灵活性。
交互界面(User Interface,简称UI)的作用是提供与外界的交互接口,用户通过交互界面对整个监控系统进行操作。
数据获取服务接口(API Server)的作用是将交互界面接收的指令进行传递以及操作,从而使得监控系统完善的运行。
在本申请实施例中,监控系统的具体运行方式,包括数据采集部分和数据查询部分。
首先,对于数据采集部分:
数据采集组件对监控数据进行采集,将采集到的数据上报的数据转发组件中。
数据转发组件在接收到数据采集组件所发送的数据信息,将所有监控数据进行数据规整、数据检查,进而将数据转发到标签管理服务设备、一级缓存、二级缓存和监控数据库中。
标签管理服务设备将接收到的监控数据进行存储及管理,并得到数据查询列表。
一级缓存模块和二级缓存模块接收的实时数据并主动更新缓存数据。
可选的,数据转发组件还可以将数据转发到聚合服务中,以通过聚合服务将监控数据进行聚合,得到聚合监控数据。聚合组件将聚合监控数据写入监控数据库中。
对于数据查询部分:
用户通过使用交互界面向API Server发送数据查询请求,API Server通过关系型数据库获取监控系统是否存在指标计算关系,如果有指标计算关系,则获取该指标计算关系,并向标签管理服务设备获取原始监控指标。如果没有,则直接向标签管理服务设备获取可用标签查询列表,并基于可用标签查询列表执行目标监控数据获取操作。
API Server如果得到监控数据,则返回给交互界面,将监控数据反馈给用户。
其中,获取目标监控数据操作过程为从一级缓存模块、二级缓存模块和/或监控数据库中获取,具体实现过程可参见前述执行主体为查询方设备部分,此处对其不做过多赘述。
本申请提供的技术方案,通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
下面参照附图15,对本申请实施例提出的一种数据查询装置进行描述。图15是本申请实施例提供的一种数据查询装置的示意性框图。在本申请实施例中,该数据查询装置配置于查询方设备。
如图15所示,该数据查询装置700包括:标签列表获取模块710、指标列表获取模块720、数据查询模块730和数据显示模块740。
其中,标签列表获取模块710,用于响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,可用标签查询列表包括:可用标签标识,以及与可用标签标识对应的标签值;
指标列表获取模块720,用于响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表;
数据查询模块730,用于响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据;
数据显示模块740,用于显示目标监控数据。
本申请实施例的一种可选实现方式,数据查询模块730,包括:
指标获取单元,用于根据目标指标标识、目标可用标签标识以及目标可用标签值,从标签管理服务设备中获取至少一个目标原始监控指标;
数据获取单元,用于根据目标原始监控指标,获取目标监控数据。
本申请实施例的一种可选实现方式,数据获取单元,具体用于:
根据目标原始监控指标,在一级缓存模块中获取目标监控数据;
当从一级缓存模块中未获取到目标监控数据时,查询标签管理服务设备是否存在与目标原始监控指标对应的聚合监控指标;
如果存在聚合监控指标,则根据聚合监控指标,从监控数据库中获取目标监控数据;
如果不存在聚合监控指标,则从标签管理服务设备中获取与目标原始监控指标对应的原始监控指标列表,根据原始监控指标列表获取目标监控数据。
本申请实施例的一种可选实现方式,数据获取单元,还用于:
根据原始监控指标列表,在二级缓存模块中获取原始监控指标列表中每个原始监控指标对应的监控数据;
如果获取到每个原始监控指标对应的监控数据,则按照时间序列将获取到的所有监控数据进行汇总,得到目标监控数据;
如果未获取到任意原始监控指标对应的监控数据,则根据任意原始监控指标,从监控数据库中获取任意原始监控指标对应的监控数据,并按照时间序列将获取到的所有监控数据进行汇总,得到目标监控数据。
本申请实施例的一种可选实现方式,数据获取单元,还用于:
根据任意原始监控指标对应的监控数据,更新二级缓存模块。
本申请实施例的一种可选实现方式,数据获取单元,还用于:
根据目标监控数据,更新一级缓存模块。
本申请实施例的一种可选实现方式,
一级缓存模块为存储第一时间周期内的历史访问原始监控指标,以及历史访问原始监控指标对应的聚合监控数据;
二级缓存模块为存储第二时间周期内的历史访问原始监控指标,以及历史访问原始监控指标对应的原始监控数据;
监控数据库为时间序列数据库。
本申请实施例的一种可选实现方式,装置700还包括:控制模块:
标签列表获取模块710,具体用于响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取新的可用标签查询列表;
控制模块,用于响应于对新的可用标签查询列表中任意可用标签值的选中操作,以新的可用标签查询列表作为可用标签查询列表,重新从标签管理服务设备中获取新的可用标签查询列表和新的可用指标标识列表,直至获取到新的可用指标标识列表中任一目标指标标识的选中操作,以根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据。
本申请实施例的一种可选实现方式,装置700,还包括:
界面显示模块,用于响应于获取到的计算关系设置指令,在交互界面上显示计算关系设置界面,计算关系设置界面包括:至少两个可用指标标识、可用指标标识对应的可用标签标识以及运算符;
关系生成模块,用于响应于对至少两个目标可用指标标识和运算符的选中操作,生成并存储指标计算关系;或者,响应于对至少一个目标可用指标标识、可用指标标识对应的可用标签标识以及运算符的选中操作,生成并存储指标计算关系。
本申请实施例的一种可选实现方式,可用标签查询列表中的任意可用标签标识为监控指标标识;
相应的,装置700,还包括:
关系获取模块,用于响应于对所述可用标签查询列表中任一目标监控指标标识和所述目标监控指标标识对应的至少一个可用标签标识的选中操作,从指标计算关系库中获取所述目标监控指标标识和所述目标监控指标标识对应的所述可用标签标识的目标计算关系;
查找模块,用于根据目标计算关系,递归查找目标监控指标标识对应的原始监控指标标识;
指标获取模块,用于根据原始监控指标标识和目标监控指标标识对应的可用标签标识,从标签管理服务设备中获取原始监控指标;
数据查询模块,具体用于根据原始监控指标,查询并显示目标监控数据。
本申请实施例的一种可选实现方式,指标获取模块,具体用于:
根据原始监控指标标识和目标监控指标标识对应的可用标签标识,从标签管理服务设备中获取目标监控指标标识在每个可用标签标识上的可用数值;
将目标监控指标标识和每个可用标签标识的可用数值作为新的监控指标,根据新的监控指标从标签管理服务设备中获取原始监控指标。
本申请实施例的一种可选实现方式,数据显示模块740,包括:饼图、数值折线图、比例折线图、散点图或者直条图。
本申请实施例提供的数据查询装置,通过响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,并响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据,然后显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图15所示的装置700可以执行图1对应的方法实施例,并且装置700中的各个模块的前述和其它操作和/或功能分别为了实现图1中的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置700。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
进一步的,参照附图16,对本申请实施例提供的另一种数据查询装置进行描述。图16是本申请实施例提供的另一种数据查询装置的示意性框图。其中,该数据查询装置配置于标签管理服务设备。
如图16所示,该数据查询装置800包括:数据获取模块810、数据解析模块820、建立模块830和生成模块840。
其中,数据获取模块810,用于获取并存储采集组件采集到的监控数据,监控数据包括监控指标标识和标签;
数据解析模块820,用于解析监控数据,得到监控数据的监控指标标识和标签;
建立模块830,用于根据监控指标标识和标签建立索引;
生成模块840,用于根据监控指标标识、标签以及索引,生成数据查询列表,其中数据查询列表包括:可用标签查询列表和不可见索引查询列表,以使查询方设备基于可用标签查询列表实现数据查询。
本申请实施例的一种可选实现方式,所述数据查询列表的结构为双层字典结构。
本申请实施例的一种可选实现方式,生成模块,具体用于:
将所述监控指标标识作为新标签进行处理,所述新标签包括新标签标识和新标签值,其中为所述新标签标识设置标识信息,并将所述监控指标标识作为新标签值;
将所述标签标识和所述标签值作为第一层字典,得到所述可用标签查询列表,其中所述标签标识包括所述新标签标识和所述监控数据中标签的标签标识,所述标签值包括所述新标签值和所述监控数据中标签的标签值;
将所述标签值和所述索引作为第二层字典,得到所述不可见索引查询列表;
根据所述可用标签查询列表和所述不可见索引查询列表,生成所述数据查询列表。
本申请实施例的一种可选实现方式,装置800,还包括:
请求获取模块,用于获取查询方设备发送的原始监控指标查询请求,原始监控指标查询请求包括:目标指标标识、目标可用标签标识以及与所述目标可用标签标识对应的目标可用标签值;
索引查询模块,用于根据目标指标标识、目标可用标签标识以及目标可用标签值,在不可见索引查询列表中查询目标索引;
位置确定模块,用于根据目标索引,确定目标原始监控指标的存储位置;
反馈模块,用于根据存储位置,从存储的监控数据中获取目标原始监控指标,并向查询方设备返回目标原始监控指标。
本申请实施例的一种可选实现方式,位置确定模块,具体用于:
当目标索引数量为多个时,确定所有目标索引的交集;
根据交集,确定目标原始监控指标的存储位置。
本申请提供的数据查询装置,通过响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,并响应于对目标可用标签标识,以及与目标可用标签标识对应的目标可用标签值的选中操作,从标签管理服务设备中获取可用指标标识列表,响应于对任一目标指标标识的选中操作,根据目标指标标识、目标可用标签标识以及目标可用标签值,查询目标监控数据,然后显示目标监控数据。本申请通过在监控系统中增加标签管理服务,以向用户提供标签标识以及标签值的可选项,使得用户利用标签标识以及标签值的可选项进行数据查询操作,从而可以降低数据查询难度,简化数据查询操作,提升数据查询效率。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图16所示的装置800可以执行图11对应的方法实施例,并且装置800中的各个模块的前述和其它操作和/或功能分别为了实现图11中的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置800。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图17是本申请实施例提供的一种电子设备的示意性框图。
如图17所示,该电子设备900可包括:
存储器910和处理器920,该存储器910用于存储计算机程序,并将该程序代码传输给该处理器920。换言之,该处理器920可以从存储器910中调用并运行计算机程序,以实现本申请实施例中的数据查询方法。
例如,该处理器920可用于根据该计算机程序中的指令执行上述数据查询方法实施例。
在本申请的一些实施例中,该处理器920可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器910包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器910中,并由该处理器920执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图17所示,该电子设备还可包括:
收发器930,该收发器930可连接至该处理器920或存储器910。
其中,处理器920可以控制该收发器930与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器930可以包括发射机和接收机。收发器930还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的数据查询方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的数据查询方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (10)

1.一种数据查询方法,其特征在于,由查询方设备执行,所述方法包括:
响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,所述可用标签查询列表包括:可用标签标识,以及与所述可用标签标识对应的可用标签值;
响应于对目标可用标签标识,以及与所述目标可用标签标识对应的目标可用标签值的选中操作,从所述标签管理服务设备中获取可用指标标识列表;
响应于对任一目标指标标识的选中操作,根据所述目标指标标识、所述目标可用标签标识以及所述目标可用标签值,查询目标监控数据;
显示所述目标监控数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标指标标识、所述目标可用标签标识以及所述目标可用标签值,查询目标监控数据,包括:
根据所述目标指标标识、所述目标可用标签标识以及所述目标可用标签值,从所述标签管理服务设备中获取至少一个目标原始监控指标;
根据所述目标原始监控指标,获取目标监控数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标原始监控指标,获取目标监控数据,包括:
根据所述目标原始监控指标,在一级缓存模块中获取所述目标监控数据;
当从所述一级缓存模块中未获取到所述目标监控数据时,查询所述标签管理服务设备是否存在与所述目标原始监控指标对应的聚合监控指标;
如果存在所述聚合监控指标,则根据所述聚合监控指标,从监控数据库中获取所述目标监控数据;
如果不存在所述聚合监控指标,则从标签管理服务设备中获取与所述目标原始监控指标对应的原始监控指标列表,根据所述原始监控指标列表获取所述目标监控数据。
4.一种数据查询方法,其特征在于,由标签管理服务设备执行,所述方法包括:
获取并存储采集组件采集到的监控数据,所述监控数据包括监控指标标识和标签;
解析所述监控数据,得到所述监控数据的监控指标标识和标签;
根据所述监控指标标识和所述标签建立索引;
根据所述监控指标标识、所述标签以及所述索引,生成数据查询列表,其中所述数据查询列表包括:可用标签查询列表和不可见索引查询列表,以使查询方设备基于所述可用标签查询列表实现数据查询。
5.根据权利要求4所述的方法,其特征在于,所述根据所述监控指标标识、所述标签以及所述索引,生成数据查询列表,包括:
将所述监控指标标识作为新标签进行处理,所述新标签包括新标签标识和新标签值,其中为所述新标签标识设置标识信息,并将所述监控指标标识作为新标签值;
将所述标签标识和所述标签值作为第一层字典,得到所述可用标签查询列表,其中所述标签标识包括所述新标签标识和所述监控数据中标签的标签标识,所述标签值包括所述新标签值和所述监控数据中标签的标签值;
将所述标签值和所述索引作为第二层字典,得到所述不可见索引查询列表;
根据所述可用标签查询列表和所述不可见索引查询列表,生成所述数据查询列表。
6.一种数据查询装置,其特征在于,配置于查询方设备,包括:
标签列表获取模块,用于响应于获取到的数据查询请求,从标签管理服务设备中获取可用标签查询列表,所述可用标签查询列表包括:可用标签标识,以及与所述可用标签标识对应的可用标签值;
指标列表获取模块,用于响应于对目标可用标签标识,以及与所述目标可用标签标识对应的目标可用标签值的选中操作,从所述标签管理服务设备中获取可用指标标识列表;
数据查询模块,用于响应于对任一目标指标标识的选中操作,根据所述目标指标标识、所述目标可用标签标识以及所述目标可用标签值,查询目标监控数据;
数据显示模块,用于显示所述目标监控数据。
7.一种数据查询装置,其特征在于,配置于标签管理服务设备,包括:
数据获取模块,用于获取并存储采集组件采集到的监控数据,所述监控数据包括监控指标标识和标签;
数据解析模块,用于解析所述监控数据,得到所述监控数据的监控指标标识和标签;
建立模块,用于根据所述监控指标标识和所述标签建立索引;
生成模块,用于根据所述监控指标标识、所述标签以及所述索引,生成数据查询列表,其中所述数据查询列表包括:可用标签查询列表和不可见索引查询列表,以使查询方设备基于所述可用标签查询列表实现数据查询。
8.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求1至5中任一项所述的数据查询方法。
9.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至5中任一项所述的数据查询方法。
10.一种包含程序指令的计算机程序产品,其特征在于,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1至5中任一项所述的数据查询方法。
CN202310215450.1A 2023-03-01 2023-03-01 数据查询方法、装置、设备及存储介质 Pending CN116303571A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310215450.1A CN116303571A (zh) 2023-03-01 2023-03-01 数据查询方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310215450.1A CN116303571A (zh) 2023-03-01 2023-03-01 数据查询方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116303571A true CN116303571A (zh) 2023-06-23

Family

ID=86786378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310215450.1A Pending CN116303571A (zh) 2023-03-01 2023-03-01 数据查询方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116303571A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116777297A (zh) * 2023-07-10 2023-09-19 三峡科技有限责任公司 基于idc设备监测数据的机房评价指标配置方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116777297A (zh) * 2023-07-10 2023-09-19 三峡科技有限责任公司 基于idc设备监测数据的机房评价指标配置方法和系统
CN116777297B (zh) * 2023-07-10 2024-03-05 三峡科技有限责任公司 基于idc设备监测数据的机房评价指标配置方法和系统

Similar Documents

Publication Publication Date Title
US10180977B2 (en) Determining and extracting changed data from a data source
US9495460B2 (en) Merging search results
US7690000B2 (en) Metadata journal for information technology systems
US8626747B2 (en) Automated query path reporting in distributed databases
US9305176B2 (en) Database generation from a spreadsheet
US20140082013A1 (en) Query templates for queries in data stream management systems
KR20110061580A (ko) 예측적 공간-시간 광고 타겟팅
US9898502B2 (en) System and method for executing a SPARQL query
WO2010042238A1 (en) System and method for data warehousing and analytics on a distributed file system
US9930113B2 (en) Data retrieval via a telecommunication network
CN111061766A (zh) 一种业务数据的处理方法、装置、计算机设备及存储介质
US20150220638A1 (en) Electronic document retrieval and reporting using intelligent advanced searching
CN108153716B (zh) 表单处理方法、装置、存储介质及电子设备
KR20160053933A (ko) 스마트 검색 정제 기법
CN110619000A (zh) 时序数据的查询方法、装置、存储介质及电子设备
CN113094370B (zh) 数据索引构建方法、装置、存储介质及电子设备
CN111026775A (zh) 关联指标的确定方法、装置、服务器和存储介质
US20200293577A1 (en) Using a single-entry access point to archive data in and out of an electronic document review and reporting system
CN116303571A (zh) 数据查询方法、装置、设备及存储介质
US20140282912A1 (en) Methods and Systems for Analyzing Public Data
US20170052989A1 (en) Using statistics for database partition pruning on correlated columns
CN113810234B (zh) 微服务链路拓扑处理方法、装置及可读存储介质
US20170357697A1 (en) Using adaptors to manage data indexed by dissimilar identifiers
US10915541B2 (en) Generic API
US11372875B2 (en) Using a single-entry access point to archive data in and out of an electronic document review and reporting system

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