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

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

Info

Publication number
CN116775716A
CN116775716A CN202310673492.XA CN202310673492A CN116775716A CN 116775716 A CN116775716 A CN 116775716A CN 202310673492 A CN202310673492 A CN 202310673492A CN 116775716 A CN116775716 A CN 116775716A
Authority
CN
China
Prior art keywords
data
link
minimum
data link
target data
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
CN202310673492.XA
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310673492.XA priority Critical patent/CN116775716A/zh
Publication of CN116775716A publication Critical patent/CN116775716A/zh
Pending legal-status Critical Current

Links

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/2457Query processing with adaptation to user needs
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据查询方法、装置、存储介质及电子设备。涉及云计算领域,该方法包括:确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表;获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路;确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路;提取目标数据链路中的链路数据,得到用户查询的目标数据。通过本申请,解决了相关技术中在链路结构树中检索数据的效率和准确性低的问题。

Description

数据查询方法、装置、存储介质及电子设备
技术领域
本申请涉及云计算领域,具体而言,涉及一种数据查询方法、装置、存储介质及电子设备。
背景技术
相关技术中,通过分布式链路追踪技术在故障快速定位、链路可视化、链路分析等应用场景中检索出需要的数据链路是常用的检索方法,但是将分布式链路追踪技术应用到以上应用场景的前提是能检索出符合业务场景的数据链路,然而,相关技术中的链路检索功能较为单一,仅可使用跨度的属性去检索符合条件的数据链路,而缺乏有效的算法检索复杂链路。通过相关技术中的链路检索功能无法在海量链路结构树中检索到复杂链路,效率低下且反应速度慢,准确性低。
针对相关技术中在链路结构树中检索数据的效率和准确性低的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据查询方法、装置、存储介质及电子设备,以解决相关技术中在链路结构树中检索数据的效率和准确性低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据查询方法。该方法包括:确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;提取目标数据链路中的链路数据,得到用户查询的目标数据。
可选地,基于最小跨度数从初始数据链路中确定目标数据链路包括:判断初始数据链路的跨度数是否大于等于最小跨度数;在初始数据链路的跨度数大于等于最小跨度数的情况下,将初始数据链路确定为目标数据链路。
可选地,在基于最小跨度数从初始数据链路中确定目标数据链路之后,该方法还包括:获取用户需要查询的最小数据链路条数,并判断第一数量是否大于等于最小数据链路条数,其中,第一数量是目标数据链路的数量;在第一数量大于等于最小数据链路条数的情况下,执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤;在目标数据链路的第一数量小于最小数据链路条数的情况下,基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路,其中,待定数据链路是初始数据链路的跨度数小于最小跨度数的数据链路;将目标数据链路和其他目标数据链路组合,得到更新后的目标数据链路;基于更新后的目标数据链路执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤。
可选地,基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路包括:确定最小跨度数所属的跨度数区间,基于跨度数区间确定最小跨度数的膨胀系数;计算最小数据链路条数、最小跨度数和膨胀系数的积,得到查询条数;将所有待定数据链路按照跨度数从大到小的顺序进行排列,得到目标序列;从目标序列中提取前N条数据链路,其中,N为查询条数;将前N条数据链路中跨度数大于等于最小跨度数的数据链路确定为其他目标数据链路。
可选地,在将目标数据链路和其他目标数据链路组合,得到更新后的目标数据链路之后,该方法还包括:判断第二数量是否大于等于最小数据链路条数,其中,第二数量是更新后的目标数据链路的数量;在第二数量大于等于最小数据链路条数的情况下,执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤;在第二数量小于最小数据链路条数的情况下,发出第一提示信息,其中,第一提示信息用于提示用户重新确定待查询的数据链路的起始时间和结束时间。
可选地,提取目标数据链路中的链路数据,得到用户查询的目标数据包括:确定目标数据链路的编号,基于索引记录列表和编号从数据库中提取目标数据。
可选地,在确定待查询的数据链路的起始时间和结束时间之后,该方法还包括:判断数据库中从起始时间到结束时间之间是否存在索引记录;在数据库中从起始时间到结束时间之间存在索引记录的情况下,执行基于起始时间和结束时间从存储链路数据的数据库中确定至少一条索引记录的步骤;在数据库中从起始时间到结束时间之间不存在索引记录的情况下,发出第二提示信息,其中,第二提示信息用于提示用户数据查询失败。
为了实现上述目的,根据本申请的另一方面,提供了一种数据查询装置。该装置包括:第一确定单元,用于确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;第一获取单元,用于获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;第二确定单元,用于确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;提取单元,用于提取目标数据链路中的链路数据,得到用户查询的目标数据。
通过本申请,采用以下步骤:确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;提取目标数据链路中的链路数据,得到用户查询的目标数据,解决了相关技术中在链路结构树中检索数据的效率和准确性低的问题。通过基于最小跨度数从索引记录中检索出目标数据链路,从目标数据链路提取出用户查询的目标数据,进而达到了提高在链路结构树中检索数据的效率和准确性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的数据查询方法的流程图;
图2是根据本申请实施例提供的可选的数据查询方法的流程图;
图3是根据本申请实施例提供的数据查询装置的示意图;
图4是根据本申请实施例提供的电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
分布式链路追踪:分布式链路追踪就是在分布式系统中调用一次服务后,将一次分布式调用请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等。
跨度:是分布式链路追踪技术的基本工作单元,一次链路调用创建一个跨度,跨度中包括描述信息、时间戳,parent-id等,其中parent-id可以表示跨度调用链路来源,通俗的理解一个跨度就是一次请求信息。
数据链路:类似于树结构的跨度集合,表示在分布式系统中调用一次服务对应的一条数据调用链路,每条数据链路存在唯一标识。
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的数据查询方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据。
具体地,待查询的数据链路可以为用户从金融机构的分布式系统中调用A服务的调用流程的数据链路,链路数据是按照时间先后顺序存储在索引记录中的,例如,xx年xx月xx日0点到1点的索引记录中存储了用户调用A服务、B服务和C服务等多次调用服务的调用流程的多条数据链路。1点到2点的索引记录中存储了用户调用C服务和D服务等多次调用服务的调用流程的多条数据链路,每条索引记录中可能存储了多条数据链路,一条数据链路也可能存储在多条索引记录中。用户需要查询需要的目标数据时,可以基于起始时间和结束时间锁定索引范围。例如,用户输入起始时间为1点,结束时间为2点。则得到待查询的索引记录列表中包括调用C服务对应的c数据链路,和调用D服务对应的d数据链路。
步骤S102,获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息。
具体地,获取待查询的索引记录列表后,通过用户输入的查询条件初步筛选获取结果,也即初始数据链路。查询条件可以为跨度的属性,跨度的属性例如集群名、监控对象、跨度最少的耗时等。例如,c数据链路中存在节点m的集群名xx是查询条件中的集群名,则初始数据链路为c数据链路。
步骤S103,确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度。
具体地,每条数据链路存在不同的节点数,例如,调用一次C服务需要在分布式系统中通过m节点调用n节点,n节点再调用s节点,c数据链路为m-n-s,包括m-n和n-s两个跨度,通过用户输入的最小跨度数从初始数据链路中二次筛选确定出目标数据链路,例如,最小跨度数为2,则可以将c数据链路确定为目标数据链路,若最小跨度数为3,则c数据链路无法被检索到,无法作为目标数据链路。
步骤S104,提取目标数据链路中的链路数据,得到用户查询的目标数据。
具体地,确定目标数据链路后,通过目标数据链路的编号(也即TraceId)在分布式系统中提取链路数据,得到目标数据。
本申请实施例提供的数据查询方法,通过确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;提取目标数据链路中的链路数据,得到用户查询的目标数据,解决了相关技术中在链路结构树中检索数据的效率和准确性低的问题。通过基于最小跨度数从索引记录中检索出目标数据链路,从目标数据链路提取出用户查询的目标数据,进而达到了提高在链路结构树中检索数据的效率和准确性的效果。
检索目标数据链路时可以通过最小跨度数进行检索,可选地,在本申请实施例提供的数据查询方法中,基于最小跨度数从初始数据链路中确定目标数据链路包括:判断初始数据链路的跨度数是否大于等于最小跨度数;在初始数据链路的跨度数大于等于最小跨度数的情况下,将初始数据链路确定为目标数据链路。
例如,初始数据链路包括c数据链路、d数据链路、e数据链路和f数据链路。c数据链路的跨度数为3,d数据链路的跨度数为5,e数据链路的跨度数为1,f数据链路的跨度数为8,用户输入的最小跨度数为5,则从初始数据链路中筛选出的目标数据链路为d数据链路和f数据链路。通过最小跨度数为用户高效检索数据。
仅通过最小跨度数检索到的目标数据链路的条数可能无法满足用户需要查询的最小数据链路条数,可选地,在本申请实施例提供的数据查询方法中,在基于最小跨度数从初始数据链路中确定目标数据链路之后,该方法还包括:获取用户需要查询的最小数据链路条数,并判断第一数量是否大于等于最小数据链路条数,其中,第一数量是目标数据链路的数量;在第一数量大于等于最小数据链路条数的情况下,执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤;在目标数据链路的第一数量小于最小数据链路条数的情况下,基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路,其中,待定数据链路是初始数据链路的跨度数小于最小跨度数的数据链路;将目标数据链路和其他目标数据链路组合,得到更新后的目标数据链路;基于更新后的目标数据链路执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤。
具体地,考虑到分布式系统中检索数据的引擎性能,用户会输入需要查询的最小数据链路条数,也即用户希望查询到的最少的数据链路条数。基于最小跨度数检索到的目标数据链路的第一数量只要满足用户的最小数据链路条数,就可以直接向用户返回目标数据链路的编号,从而执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤。若基于最小跨度数检索到的目标数据链路的第一数量只要不满足用户的最小数据链路条数。可以基于最小数据链路条数和最小跨度数进行分阶膨胀补充查询,来获得足够数量的目标数据链路,也即,除了基于最小跨度数检索出的目标数据链路后,再通过最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路。将其他目标数据链路和目标数据链路组合,共同构成更新后的目标数据链路,并基于更新后的目标数据链路执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤。通过基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路保障用户查询的数据链路的数量满足用户需求。
需要说明的是,通过用户提供的查询条件从索引记录列表筛选出初始数据链路之后,检索到的初始数据链路的跨度数据是不完整的,例如,某条数据链路为集群A-集群B-集群C的一条数据链路,用户输入的查询条件为集群A,则返回的包含查询条件集群A的初始数据链路的跨度数为1,而不是完整的跨度数2,若用户输入最小跨度数为2,则无法返回给用户该条数据链路作为初始数据链路,而通过分阶膨胀补充查询则是首先不通过最小跨度数从初始数据链路确定目标数据链路,而是基于最小数据链路条数和最小跨度数从初始数据链路中筛选出足够用户需要查询的数量的数据链路,然后再基于最小跨度数筛选出目标数据链路,通过分阶膨胀补充查询时查询集群A-集群B-集群C的一条数据链路得到的跨度数为2,为了兼顾查询性能,并能查询到目标数据,因此需要进行分阶膨胀补充查询。也即基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路。
可选地,在本申请实施例提供的数据查询方法中,基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路包括:确定最小跨度数所属的跨度数区间,基于跨度数区间确定最小跨度数的膨胀系数;计算最小数据链路条数、最小跨度数和膨胀系数的积,得到查询条数;将所有待定数据链路按照跨度数从大到小的顺序进行排列,得到目标序列;从目标序列中提取前N条数据链路,其中,N为查询条数;将前N条数据链路中跨度数大于等于最小跨度数的数据链路确定为其他目标数据链路。
具体地,基于跨度数区间确定最小跨度数的膨胀系数例如,如果最小跨度数在1~3之间,则膨胀系数为1,查询条数N=最小数据链路条数*1*最小跨度数。如果最小跨度数在4~10之间,则膨胀系数为2,查询条数N=最小数据链路条数*2*最小跨度数。如果最小跨度数大于10,则膨胀系数为3,查询条数N=最小数据链路条数*3*最小跨度数。将待定数据链路按照跨度数从大到小的顺序进行排列,得到目标序列。取目标序列中的前N条数据链路的编号,基于编号检索前N条数据链路中每条数据链路的跨度数,对于跨度数大于等于最小跨度数的数据链路,将其编号返回给用户。通过基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路,避免用户直接基于最小跨度数确定目标数据链路漏掉符合查询条件的数据链路。
对待定数据链路进行分阶膨胀补充查询后,得到更新后的目标数据链路的条数也可能存在不满足最小数据链路条数的情况,可选地,在本申请实施例提供的数据查询方法中,在将目标数据链路和其他目标数据链路组合,得到更新后的目标数据链路之后,该方法还包括:判断第二数量是否大于等于最小数据链路条数,其中,第二数量是更新后的目标数据链路的数量;在第二数量大于等于最小数据链路条数的情况下,执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤;在第二数量小于最小数据链路条数的情况下,发出第一提示信息,其中,第一提示信息用于提示用户重新确定待查询的数据链路的起始时间和结束时间。
具体地,在从待定数据链路中确定其他目标数据链路后,判断更新后的目标数据链路的第二数量是否大于等于最小数据链路条数,若第二数量大于等于最小数据链路条数,说明检索出的目标数据链路满足了用户的查询需求,直接执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤即可,若是第二数量小于最小数据链路条数,则说明通过分阶膨胀补充查询后,更新后的目标数据链路的条数仍然不满足用户的查询需求,此时可以发出第一提示信息,提示用户重新调整起始时间和结束时间,从数据库中确定更多的索引记录,从而检索出更多的目标数据链路。
每条数据链路对应一个唯一的编号,基于编号从目标数据链路中提取目标数据,可选地,在本申请实施例提供的数据查询方法中,提取目标数据链路中的链路数据,得到用户查询的目标数据包括:确定目标数据链路的编号,基于索引记录列表和编号从数据库中提取目标数据。
具体地,获取目标数据时,需要根据待查询的索引记录列表,以及所有目标数据链路的编号向分布式系统发起查询,来获取到每条目标数据链路的明细数据,也即目标数据。
若基于起始时间和结束时间查询不到索引记录,则提示用户查询失败,可选地,在本申请实施例提供的数据查询方法中,在确定待查询的数据链路的起始时间和结束时间之后,该方法还包括:判断数据库中从起始时间到结束时间之间是否存在索引记录;在数据库中从起始时间到结束时间之间存在索引记录的情况下,执行基于起始时间和结束时间从存储链路数据的数据库中确定至少一条索引记录的步骤;在数据库中从起始时间到结束时间之间不存在索引记录的情况下,发出第二提示信息,其中,第二提示信息用于提示用户数据查询失败。
具体地,用户输入起始时间和结束时间后,也可能存在在数据库中检索不到索引记录的情况,因此,若基于起始时间和结束时间无法检索到索引记录,则向用户发出第二提示信息,用来提示用户本次的数据查询失败。
根据本申请的另一实施例,还提供了一种可选的数据查询方法,图2是根据本申请实施例提供的可选的数据查询方法的流程图,如图2所示,该方法包括:
S201:锁定索引范围,根据用户输入检索的开始和结束时间,获取到待查询的索引列表。
具体地,链路数据存储按照分时的逻辑进行存储,每一个小时的数据存储在一个索引里面。查询的第一步需要先通过开始和结束时间锁定索引范围。判断索引列表是否为空,若是则直接结束查询,若索引列表不为空,则执行S2步骤。
S202:初步筛选获取结果,根据查询索引列表,用户输入的span属性,查询返回spanId和traceId。根据用户输入的span最小数,筛选traceId。
具体地,从待查询的索引列表里面,获取到初步的结果,用户输入的span属性可能是集群名、监控对象、跨度最少的耗时。基于用户输入的span最小数,筛选traceId以及每个trace的跨度数。
S203:分阶膨胀补充查询,根据span最小数分阶膨胀,查询返回符合条件的traceId。
具体地,如果S2返回的查询条数不满足用户要求,则继续进行步骤S3,通过用户提供的span属性筛选之后,返回的跨度数据是不完整的,比如集群A->集群B->集群C的一条链路,用户输入条件为集群A,则仅返回Trace的跨度数为1,用户如果输入最少跨度数为2,则无法返回给用户该条Trace,故需要补充查询。为了兼顾查询性能,并能查询到数据,对用户输入的跨度最少数进行分阶膨胀。
S204:获取明细数据,根据待查询索引列表以及traceId列表发起查询,获取到链路明细。
通过本申请实施例提供的选的数据查询方法,根据预设的跨度最少数检索到符合条件的复杂Trace数据。在保证系统性能稳定的同时,帮助用户快速检索到复杂链路数据。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种数据查询装置,需要说明的是,本申请实施例的数据查询装置可以用于执行本申请实施例所提供的用于数据查询方法。以下对本申请实施例提供的数据查询装置进行介绍。
图3是根据本申请实施例提供的数据查询装置的示意图。如图3所示,该装置包括:
第一确定单元10,用于确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;
第一获取单元20,用于获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;
第二确定单元30,用于确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;
提取单元40,用于提取目标数据链路中的链路数据,得到用户查询的目标数据。
本申请实施例提供的数据查询装置,通过第一确定单元10,确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;第一获取单元20,获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;第二确定单元30,确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;提取单元40,提取目标数据链路中的链路数据,得到用户查询的目标数据,解决了相关技术中在链路结构树中检索数据的效率和准确性低的问题,通过基于最小跨度数从索引记录中检索出目标数据链路,从目标数据链路提取出用户查询的目标数据,进而达到了提高在链路结构树中检索数据的效率和准确性的效果。
可选地,在本申请实施例提供的数据查询装置中,第二确定单元30包括:判断模块,用于判断初始数据链路的跨度数是否大于等于最小跨度数;第一确定模块,用于在初始数据链路的跨度数大于等于最小跨度数的情况下,将初始数据链路确定为目标数据链路。
可选地,在本申请实施例提供的数据查询装置中,该装置还包括:第二获取单元,用于获取用户需要查询的最小数据链路条数,并判断第一数量是否大于等于最小数据链路条数,其中,第一数量是目标数据链路的数量;第一执行单元,用于在第一数量大于等于最小数据链路条数的情况下,执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤;筛选单元,用于在目标数据链路的第一数量小于最小数据链路条数的情况下,基于最小数据链路条数和最小跨度数从待定数据链路中筛选出其他目标数据链路,其中,待定数据链路是初始数据链路的跨度数小于最小跨度数的数据链路;组合单元,用于将目标数据链路和其他目标数据链路组合,得到更新后的目标数据链路;第二执行单元,用于基于更新后的目标数据链路执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤。
可选地,在本申请实施例提供的数据查询装置中,筛选单元包括:第二确定模块,用于确定最小跨度数所属的跨度数区间,基于跨度数区间确定最小跨度数的膨胀系数;第一计算模块,用于计算最小数据链路条数、最小跨度数和膨胀系数的积,得到查询条数;排列模块,用于将所有待定数据链路按照跨度数从大到小的顺序进行排列,得到目标序列;提取模块,用于从目标序列中提取前N条数据链路,其中,N为查询条数;第三确定模块,用于将前N条数据链路中跨度数大于等于最小跨度数的数据链路确定为其他目标数据链路。
可选地,在本申请实施例提供的数据查询装置中,该装置还包括:第一判断单元,用于判断第二数量是否大于等于最小数据链路条数,其中,第二数量是更新后的目标数据链路的数量;第三执行单元,用于在第二数量大于等于最小数据链路条数的情况下,执行提取目标数据链路中的链路数据,得到用户查询的目标数据的步骤;第一提示单元,用于在第二数量小于最小数据链路条数的情况下,发出第一提示信息,其中,第一提示信息用于提示用户重新确定待查询的数据链路的起始时间和结束时间。
可选地,在本申请实施例提供的数据查询装置中,提取单元40包括:第四确定模块,用于确定目标数据链路的编号,基于索引记录列表和编号从数据库中提取目标数据。
可选地,在本申请实施例提供的数据查询装置中,该装置还包括:第二判断单元,用于判断数据库中从起始时间到结束时间之间是否存在索引记录;第四执行单元,用于在数据库中从起始时间到结束时间之间存在索引记录的情况下,执行基于起始时间和结束时间从存储链路数据的数据库中确定至少一条索引记录的步骤;第二提示单元,用于在数据库中从起始时间到结束时间之间不存在索引记录的情况下,发出第二提示信息,其中,第二提示信息用于提示用户数据查询失败。
数据查询装置包括处理器和存储器,上述第一确定单元10、第一获取单元20、第二确定单元30和提取单元40等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高在链路结构树中检索数据的效率和准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现数据查询方法。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行数据查询方法。
图4是根据本申请实施例提供的电子设备的示意图。如图4所示,电子设备401包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;提取目标数据链路中的链路数据,得到用户查询的目标数据。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定待查询的数据链路的起始时间和结束时间,基于起始时间和结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;获取用户输入的查询条件,从索引记录列表中提取出符合查询条件的数据链路,得到初始数据链路,其中,查询条件包含待查询的数据链路中的链路数据的属性信息;确定待查询的数据链路的最小跨度数,基于最小跨度数从初始数据链路中确定目标数据链路,其中,最小跨度数是待查询的数据链路中包含的跨度的最小数量,数据链路中相邻两个节点之间的链路构成一个跨度;提取目标数据链路中的链路数据,得到用户查询的目标数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据查询方法,其特征在于,包括:
确定待查询的数据链路的起始时间和结束时间,基于所述起始时间和所述结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,所述数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;
获取用户输入的查询条件,从所述索引记录列表中提取出符合所述查询条件的数据链路,得到初始数据链路,其中,所述查询条件包含所述待查询的数据链路中的链路数据的属性信息;
确定所述待查询的数据链路的最小跨度数,基于所述最小跨度数从所述初始数据链路中确定目标数据链路,其中,所述最小跨度数是所述待查询的数据链路中包含的跨度的最小数量,所述数据链路中相邻两个节点之间的链路构成一个所述跨度;
提取所述目标数据链路中的链路数据,得到所述用户查询的目标数据。
2.根据权利要求1所述的方法,其特征在于,基于所述最小跨度数从所述初始数据链路中确定目标数据链路包括:
判断所述初始数据链路的跨度数是否大于等于所述最小跨度数;
在所述初始数据链路的跨度数大于等于所述最小跨度数的情况下,将所述初始数据链路确定为所述目标数据链路。
3.根据权利要求2所述的方法,其特征在于,在基于所述最小跨度数从所述初始数据链路中确定目标数据链路之后,所述方法还包括:
获取所述用户需要查询的最小数据链路条数,并判断第一数量是否大于等于所述最小数据链路条数,其中,所述第一数量是所述目标数据链路的数量;
在所述第一数量大于等于所述最小数据链路条数的情况下,执行提取所述目标数据链路中的链路数据,得到所述用户查询的目标数据的步骤;
在所述目标数据链路的第一数量小于所述最小数据链路条数的情况下,基于所述最小数据链路条数和所述最小跨度数从待定数据链路中筛选出其他目标数据链路,其中,所述待定数据链路是所述初始数据链路的跨度数小于所述最小跨度数的数据链路;
将所述目标数据链路和所述其他目标数据链路组合,得到更新后的目标数据链路;
基于所述更新后的目标数据链路执行提取所述目标数据链路中的链路数据,得到所述用户查询的目标数据的步骤。
4.根据权利要求3所述的方法,其特征在于,基于所述最小数据链路条数和所述最小跨度数从待定数据链路中筛选出其他目标数据链路包括:
确定所述最小跨度数所属的跨度数区间,基于所述跨度数区间确定所述最小跨度数的膨胀系数;
计算所述最小数据链路条数、所述最小跨度数和所述膨胀系数的积,得到查询条数;
将所有待定数据链路按照跨度数从大到小的顺序进行排列,得到目标序列;
从所述目标序列中提取前N条数据链路,其中,N为所述查询条数;
将所述前N条数据链路中跨度数大于等于所述最小跨度数的数据链路确定为所述其他目标数据链路。
5.根据权利要求3所述的方法,其特征在于,在将所述目标数据链路和所述其他目标数据链路组合,得到更新后的目标数据链路之后,所述方法还包括:
判断第二数量是否大于等于所述最小数据链路条数,其中,所述第二数量是所述更新后的目标数据链路的数量;
在所述第二数量大于等于所述最小数据链路条数的情况下,执行提取所述目标数据链路中的链路数据,得到所述用户查询的目标数据的步骤;
在所述第二数量小于所述最小数据链路条数的情况下,发出第一提示信息,其中,所述第一提示信息用于提示所述用户重新确定待查询的数据链路的起始时间和结束时间。
6.根据权利要求1所述的方法,其特征在于,提取所述目标数据链路中的链路数据,得到所述用户查询的目标数据包括:
确定所述目标数据链路的编号,基于所述索引记录列表和所述编号从所述数据库中提取所述目标数据。
7.根据权利要求1所述的方法,其特征在于,在确定待查询的数据链路的起始时间和结束时间之后,所述方法还包括:
判断所述数据库中从所述起始时间到所述结束时间之间是否存在索引记录;
在所述数据库中从所述起始时间到所述结束时间之间存在所述索引记录的情况下,执行基于所述起始时间和所述结束时间从存储链路数据的数据库中确定至少一条索引记录的步骤;
在所述数据库中从所述起始时间到所述结束时间之间不存在所述索引记录的情况下,发出第二提示信息,其中,所述第二提示信息用于提示所述用户数据查询失败。
8.一种数据查询装置,其特征在于,包括:
第一确定单元,用于确定待查询的数据链路的起始时间和结束时间,基于所述起始时间和所述结束时间从数据库中确定至少一条索引记录,得到待查询的索引记录列表,其中,所述数据库存储有索引记录,每条索引记录按照时间顺序存储预设时间段内的链路数据;
第一获取单元,用于获取用户输入的查询条件,从所述索引记录列表中提取出符合所述查询条件的数据链路,得到初始数据链路,其中,所述查询条件包含所述待查询的数据链路中的链路数据的属性信息;
第二确定单元,用于确定所述待查询的数据链路的最小跨度数,基于所述最小跨度数从所述初始数据链路中确定目标数据链路,其中,所述最小跨度数是所述待查询的数据链路中包含的跨度的最小数量,所述数据链路中相邻两个节点之间的链路构成一个所述跨度;
提取单元,用于提取所述目标数据链路中的链路数据,得到所述用户查询的目标数据。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,所述程序运行时控制所述非易失性存储介质所在的设备执行权利要求1至7中任意一项所述的数据查询方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的数据查询方法。
CN202310673492.XA 2023-06-07 2023-06-07 数据查询方法、装置、存储介质及电子设备 Pending CN116775716A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310673492.XA CN116775716A (zh) 2023-06-07 2023-06-07 数据查询方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310673492.XA CN116775716A (zh) 2023-06-07 2023-06-07 数据查询方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN116775716A true CN116775716A (zh) 2023-09-19

Family

ID=88012632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310673492.XA Pending CN116775716A (zh) 2023-06-07 2023-06-07 数据查询方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116775716A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931896A (zh) * 2024-02-29 2024-04-26 双一力(宁波)电池有限公司 一种数据库查询方法、装置及数据库查询系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931896A (zh) * 2024-02-29 2024-04-26 双一力(宁波)电池有限公司 一种数据库查询方法、装置及数据库查询系统

Similar Documents

Publication Publication Date Title
CN109033123B (zh) 基于大数据的查询方法、装置、计算机设备和存储介质
CN106897334B (zh) 一种问题推送方法和设备
CN107015985B (zh) 一种数据存储与获取方法及装置
CN111400288A (zh) 数据质量检查方法及系统
CN116775716A (zh) 数据查询方法、装置、存储介质及电子设备
CN112487083A (zh) 一种数据校验方法和设备
CN111241122A (zh) 任务监测方法、装置、电子设备和可读存储介质
CN111026709B (zh) 基于集群访问的数据处理方法及装置
CN111784468A (zh) 一种账户关联方法、装置及电子设备
CN112948504B (zh) 数据采集方法、装置、计算机设备和存储介质
CN114138877A (zh) 基于微服务架构的主题数据服务实现方法、装置及设备
CN109471901B (zh) 一种数据同步方法及装置
CN116303628B (zh) 基于Elasticsearch的告警数据查询方法、系统及设备
CN115329011A (zh) 数据模型的构建方法、数据查询的方法、装置及存储介质
CN110083602B (zh) 一种基于hive表的数据存储及数据处理的方法及装置
CN116483605A (zh) 数据处理方法、装置、系统、存储介质及电子设备
CN114564621A (zh) 一种关联数据的方法、装置、设备及可读存储介质
CN114691610A (zh) 目录的处理方法和装置、存储介质及处理器
CN109902067B (zh) 文件处理方法、装置、存储介质及计算机设备
CN110019296B (zh) 数据库查询脚本的生成方法、装置、存储介质及处理器
CN111078258A (zh) 一种版本升级方法及装置
CN112749189A (zh) 数据查询方法及装置
CN113127549B (zh) 增量数据的同步方法、装置、计算机设备和存储介质
CN112579705A (zh) 元数据采集方法、装置、计算机设备和存储介质
CN117971885A (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