一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据查询方法、装置、设备及可读存储介质与流程

2022-02-22 07:44:34 来源:中国专利 TAG:


1.本发明涉及数据分析术领域,尤其涉及一种数据查询方法、装置、设备及可读存储介质。


背景技术:

2.随着信息化技术的发展,各行各业越来越注重信息的数据化和指标化处理,各种类型的信息均以数据的形式进行查询分析,得到各个维度的各项指标,全方位体现各行各业的发展。
3.数据查询分析的基础数据量通常巨大,数据查询的效率不可避免的对数据分析产生影响,查询效率越高越有利于分析,反之则越不利于分析。因此,如何提高数据查询效率是当前亟待解决的技术问题。


技术实现要素:

4.本发明的主要目的在于提供一种数据查询方法、装置、设备及可读存储介质,旨在解决现有技术中如何提高数据查询效率的技术问题。
5.为实现上述目的,本发明提供一种数据查询方法,所述数据查询方法包括以下步骤:
6.构建查询条件,并确定并发节点数;
7.根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果;
8.根据所述查询结果,更新所述查询条件和所述并发节点数,并基于更新的所述查询条件和所述并发节点数,执行根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询的步骤,直到所述树状数据结构中各数据层均经查询,获得最终查询结果。
9.可选地,所述构建查询条件,并确定并发节点数的步骤包括:
10.判断是否存在缓存数据层,若存在所述缓存数据层,则根据所述缓存数据层构建查询条件,以及确定并发节点数;
11.若不存在所述缓存数据层,则根据接收的维度关键词,构建查询条件,以及确定并发节点数。
12.可选地,所述根据所述缓存数据层构建查询条件,以及确定并发节点数的步骤包括:
13.获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层,以及与所述缓存数据层对应缓存结果的数据量;
14.根据所述目标数据层,构建所述查询条件,并根据待查询总数和所述数据量,确定所述并发节点数。
15.可选地,所述获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据
层的步骤之前包括:
16.判断所述树状数据结构中的各数据层是否均携带有查询标识,若均携带有查询标识,则将与所述缓存数据层对应的缓存数据作为最终查询结果,并结束查询;
17.若未均携带有查询标识,则执行获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层的步骤。
18.可选地,所述根据接收的维度关键词,构建查询条件,以及确定并发节点数的步骤包括:
19.根据接收的维度关键词的数量,确定试探层级,并根据所述维度关键词和所述试探层级,构建查询条件;
20.根据所述查询条件和所述试探层级,对所述树状数据结构发起试探查询,获得试探查询结果;
21.根据待查询总数和所述试探查询结果的结果数量,确定所述并发节点数。
22.可选地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后包括:
23.将所述树状数据结构中与所述查询条件对应的数据层,以及所述查询结果以键值对形式缓存。
24.可选地,所述根据所述查询结果,更新所述查询条件和所述并发节点数的步骤之前包括:
25.判断与缓存的所述查询结果对应的缓存数据量是否大于或等于待查询总数,若大于或等于待查询总数,则将缓存的所述查询结果作为最终查询结果,并结束查询;
26.若所述缓存数据量小于所述待查询总数,则执行根据所述查询结果,更新所述查询条件和所述并发节点数的步骤。
27.可选地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后包括:
28.对所述树状数据结构中与所述查询条件对应的数据层添加查询标识。
29.可选地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后包括:
30.根据所述查询条件,以及与所述查询条件对应的维度关键词和查询关键词,对所述查询结果添加结果标识。
31.可选地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后包括:
32.对所述树状数据结构中与所述查询条件对应的数据层添加计数标识。
33.可选地,所述构建查询条件,并确定并发节点数的步骤之前包括:
34.获取支持查询的多项数据,并对多项所述数据进行清洗,生成有效数据;
35.将所述有效数据构建为所述树状数据结构。
36.进一步地,为实现上述目的,本发明还提供一种数据查询装置,所述数据查询装置包括:
37.构建模块,用于构建查询条件,并确定并发节点数;
38.查询模块,用于根据所述查询条件和所述并发节点数,对树状数据结构中与所述
查询条件对应的数据层进行查询,获得查询结果;
39.更新模块,用于根据所述查询结果,更新所述查询条件和所述并发节点数,并基于更新的所述查询条件和所述并发节点数,执行根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询的步骤,直到所述树状数据结构中各数据层均经查询,获得最终查询结果。
40.可选地,所述构建模块还包括:
41.判断单元,用于判断是否存在缓存数据层,若存在所述缓存数据层,则根据所述缓存数据层构建查询条件,以及确定并发节点数;
42.构建单元,用于若不存在所述缓存数据层,则根据接收的维度关键词,构建查询条件,以及确定并发节点数。
43.可选地,所述判断单元还用于:
44.获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层,以及与所述缓存数据层对应缓存结果的数据量;
45.根据所述目标数据层,构建所述查询条件,并根据待查询总数和所述数据量,确定所述并发节点数。
46.可选地,所述判断单元还用于:
47.判断所述树状数据结构中的各数据层是否均携带有查询标识,若均携带有查询标识,则将与所述缓存数据层对应的缓存数据作为最终查询结果,并结束查询;
48.若未均携带有查询标识,则执行获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层的步骤。
49.可选地,所述构建单元还用于:
50.根据接收的维度关键词的数量,确定试探层级,并根据所述维度关键词和所述试探层级,构建查询条件;
51.根据所述查询条件和所述试探层级,对所述树状数据结构发起试探查询,获得试探查询结果;
52.根据待查询总数和所述试探查询结果的结果数量,确定所述并发节点数。
53.可选地,所述数据查询装置还包括:
54.缓存模块,用于将所述树状数据结构中与所述查询条件对应的数据层,以及所述查询结果以键值对形式缓存。
55.可选地,所述数据查询装置还包括:
56.判断模块,用于判断与缓存的所述查询结果对应的缓存数据量是否大于或等于待查询总数,若大于或等于待查询总数,则将缓存的所述查询结果作为最终查询结果,并结束查询;
57.执行模块,用于若所述缓存数据量小于所述待查询总数,则执行根据所述查询结果,更新所述查询条件和所述并发节点数的步骤。
58.进一步地,为实现上述目的,本发明还提供一种数据查询设备,所述数据查询设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的数据查询程序,所述数据查询程序被所述处理器执行时实现如上述所述的数据查询方法的步骤。
59.进一步地,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质
上存储有数据查询程序,所述数据查询程序被处理器执行时实现如上所述的数据查询方法的步骤。
60.本发明的数据查询方法、装置、设备和可读存储介质,先构建查询条件,并确定并发节点数;再根据查询条件和并发节点数,对树状数据结构中与查询条件对应的数据层进行查询,获得查询结果;进而根据查询结果,更新查询条件和并发节点数,并基于更新的查询条件和并发节点数,再次对树状数据结构中与查询条件对应的数据层进行查询,如此循环来更新查询,直到树状数据结构中各数据层均经查询,获得最终查询结果。通过更新查询条件和并发节点数,对数据结构中的各个数据层逐层以并行的方式查询,每一数据层均同时并行查询多个数据节点,提高了数据查询效率,有利于数据的快速查询分析。
附图说明
61.图1为本发明数据查询设备实施例方案涉及的硬件运行环境的结构示意图;
62.图2为本发明数据查询方法第一实施例的流程示意图;
63.图3为本发明数据查询装置较佳实施例的功能模块示意图;
64.图4为本发明数据查询方法中树状数据结构示意图。
65.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
66.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
67.本发明提供一种数据查询设备,参照图1,图1为本发明数据查询设备实施例方案涉及的硬件运行环境的结构示意图。
68.如图1所示,该数据查询设备可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储数据查询设备。
69.本领域技术人员可以理解,图1中示出的数据查询设备的硬件结构并不构成对数据查询设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
70.如图1所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据查询程序。其中,操作系统是管理和控制数据查询设备的硬件与软件资源的程序,支持网络通信模块、用户接口模块、数据查询程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
71.在图1所示的数据查询设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
72.构建查询条件,并确定并发节点数;
73.根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果;
74.根据所述查询结果,更新所述查询条件和所述并发节点数,并基于更新的所述查询条件和所述并发节点数,执行根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询的步骤,直到所述树状数据结构中各数据层均经查询,获得最终查询结果。
75.进一步地,所述构建查询条件,并确定并发节点数的步骤包括:
76.判断是否存在缓存数据层,若存在所述缓存数据层,则根据所述缓存数据层构建查询条件,以及确定并发节点数;
77.若不存在所述缓存数据层,则根据接收的维度关键词,构建查询条件,以及确定并发节点数。
78.进一步地,所述根据所述缓存数据层构建查询条件,以及确定并发节点数的步骤包括:
79.获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层,以及与所述缓存数据层对应缓存结果的数据量;
80.根据所述目标数据层,构建所述查询条件,并根据待查询总数和所述数据量,确定所述并发节点数。
81.进一步地,所述获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层的步骤之前,处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
82.判断所述树状数据结构中的各数据层是否均携带有查询标识,若均携带有查询标识,则将与所述缓存数据层对应的缓存数据作为最终查询结果,并结束查询;
83.若未均携带有查询标识,则执行获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层的步骤。
84.进一步地,所述根据接收的维度关键词,构建查询条件,以及确定并发节点数的步骤包括:
85.根据接收的维度关键词的数量,确定试探层级,并根据所述维度关键词和所述试探层级,构建查询条件;
86.根据所述查询条件和所述试探层级,对所述树状数据结构发起试探查询,获得试探查询结果;
87.根据待查询总数和所述试探查询结果的结果数量,确定所述并发节点数。
88.进一步地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后,处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
89.将所述树状数据结构中与所述查询条件对应的数据层,以及所述查询结果以键值对形式缓存。
90.进一步地,所述根据所述查询结果,更新所述查询条件和所述并发节点数的步骤之前,处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
91.判断与缓存的所述查询结果对应的缓存数据量是否大于或等于待查询总数,若大于或等于待查询总数,则将缓存的所述查询结果作为最终查询结果,并结束查询;
92.若所述缓存数据量小于所述待查询总数,则执行根据所述查询结果,更新所述查询条件和所述并发节点数的步骤。
93.进一步地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后,处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
94.对所述树状数据结构中与所述查询条件对应的数据层添加查询标识。
95.进一步地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后,处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
96.根据所述查询条件,以及与所述查询条件对应的维度关键词和查询关键词,对所述查询结果添加结果标识。
97.进一步地,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后,处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
98.对所述树状数据结构中与所述查询条件对应的数据层添加计数标识。
99.进一步地,所述构建查询条件,并确定并发节点数的步骤之前,处理器1001可以调用存储器1005中存储的数据查询程序,并执行以下操作:
100.获取支持查询的多项数据,并对多项所述数据进行清洗,生成有效数据;
101.将所述有效数据构建为所述树状数据结构。
102.本发明数据查询设备的具体实施方式与下述数据查询方法各实施例基本相同,在此不再赘述。
103.本发明还提供一种数据查询方法。
104.参照图2,图2为本发明数据查询方法第一实施例的流程示意图。
105.本发明实施例提供了数据查询方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。具体地,本实施例数据查询方法中,该数据查询方法包括:
106.步骤s10,构建查询条件,并确定并发节点数;
107.本实施例中的数据查询方法应用于数据分析系统,适用于通过数据分析系统构建查询条件,对其中的数据进行查询。分析系统可以仅包含某一方面的多个数据指标,如某一企业的销售数据、增长数据等,或者某一地区的人员性别数据、就业数据等,也可以包含多个方面的多个数据指标,如多个企业各自的销售数据、增长数据,或者多个地区各自的人员性别数据、就业数据等。不论是多个方面还是单一方面,每一方面数据均以树状数据结构的形式存在,一个方面的数据形成为一个树状数据结构。树状数据结构中包含多个层级节点,每个层级节点形成树状数据结构所表征方面下的维度,如企业下的各个部门所形成的层级节点,或者地区下各个市县所形成的层级等。本实施通过各个维度构建查询条件,并确定并发节点数,实现对树状数据结构的逐层查询。其中,并发节点数表征对树状数据结构同时查询的节点数量。
108.进一步地,所述构建查询条件,并确定并发节点数的步骤之前包括:
109.步骤a1,获取支持查询的多项数据,并对多项所述数据进行清洗,生成有效数据;
110.步骤a2,将所述有效数据构建为所述树状数据结构。
111.可理解地,各行各业在各个指标上所具有的数据众多,各项数据中包含支持查询的数据和不支持查询的数据。对于支持查询的数据构建形成树状数据结构,以供查询;对于不支持查询的数据可以添加到树状数据结构中,也可以不添加到树状数据结构中。其中,添加到树状数据结构中不支持查询的数据,可设定不同的查询权限,以通过不同的查询权限来限制对不支持查询数据的查询。
112.进一步地,对于支持查询的数据中可能包含噪声数据,如重复的数据、难以识别的无效数据等。在获取到支持查询的多项数据后,对于该类数据进行识别,并将识别的结果从多项数据中剔除,以对多项数据进行清洗,生成有效数据,进而将有效数据构建为树状数据结构。其中,因树状数据结构包含各个层级,在构建时先识别有效数据所在的层级,进而添加到相应的层级中,形成树状数据结构。具体树状数据结构可参照图4,图4中root为树状数据结构的根节点,x1和x2为第一层级的节点,y1、y1和y3为第二层级的节点。一个层级节点表征一个维度,各个维度均对应各自的数据指标,如x1和x2表征省级地区,具有各自的就业人数指标,y1、y2、y3表征x2省下的市级地区,也具有各自的就业人数指标。
113.步骤s20,根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果;
114.更进一步地,在构建得到查询条件,并确定并发节点数之后,则依据查询条件和并发节点数,对树状数据结构中与查询条件对应的数据层进行查询,得到查询结果。其中,查询条件依据所需求查询维度的不同而不同,以对树状数据结构采用分层级的方式进行查询。若当具有对上述图4中第一层级进行查询的需求,则查询条件包含第一层级维度的关键词,如省级关键词。并且查询条件包含的关键词可以分为基础关键词和筛选关键词,如不区分具体省进行查询,则将省级关键词形成为基础关键词,若区分具体省进行查询,则在将省级关键词形成为基础关键词之外,还将具体省形成为筛选关键词,以从基础关键词所查询得到的数据中,筛选出具体省的数据,作为查询结果。同时,对于与查询条件对应的数据层,依据并发节点数同时对位于该数据层的多个节点进行查询。如数据层为第一层,并发节点数为2,则同时对x1和x2进行查询,得到查询结果。
115.可理解地,对于树状数据结构的逐层查询机制,在首次查询后,树状数据结构中的节点有些经过查询,有些尚未查询;并且,各次查询所得到的结果具有差异性。因而,为了便于区分,本实施例设置有针对每层查询得到的查询结果添加标识的机制。具体地,对树状数据结构中与查询条件对应的数据层进行查询,获得查询结果的步骤之后包括:
116.步骤b1,对所述树状数据结构中与所述查询条件对应的数据层添加查询标识。
117.步骤b2,根据所述查询条件,以及与所述查询条件对应的维度关键词和查询关键词,对所述查询结果添加结果标识。
118.步骤b3,对所述树状数据结构中与所述查询条件对应的数据层添加计数标识。
119.具体地,在对树状数据结构中与查询条件对应的数据层进行查询,得到查询结果后,对该数据层添加查询标识,以表征该数据层经过了查询,和尚未查询的数据层进行区分。同时,根据当前查询的查询条件、与查询条件对应的维度关键词以及查询关键词,对查
询结果添加结果标识,以对查询结果进行区分。其中与查询条件对应的维度关键词,表征当前查询所针对的数据层,如针对图4中y1层进行查询;与查询条件对应的查询关键词,表征当前查询所针对的数据指标,如对销售量进行查询等。
120.进一步地,为了确保各数据层的各节点均经查询,本实施例在针对数据层添加查询标识之外,还添加有计数标识。通过计数标识体现针对数据层所对应节点及其子节点的查询情况。当仅对数据层所对应节点本身进行查询,则对数据层对应的节点添加数值为1的计数标识,当对该对应节点下的子节点均进行了查询,则依据子节点的数量,对该对应节点添加相应数值的计数标识。如图4中的节点x2,若仅对x2进行了查询,则其计数标识为1,若其下的子节点y1、y2和y3均进行了查询,则x2的计数标识为4,y1、y2和y3的计数标识均为1。
121.步骤s30,根据所述查询结果,更新所述查询条件和所述并发节点数,并基于更新的所述查询条件和所述并发节点数,执行根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询的步骤,直到所述树状数据结构中各数据层均经查询,获得最终查询结果。
122.更进一步地,在经查询得到查询结果后,则依据查询结果,对查询条件和并发节点数进行更新。判断经查询得到的查询结果的数据量是否达到所需要查询数据量的要求,若达到要求,则停止查询;若未达到要求,则确定树状数据结构中未经查询的数据层,并将未经查询的数据层对应的维度添加到查询条件中,对查询条件进行更新,以通过更新的查询条件对尚未查询的数据层继续查询。同时,根据查询结果的数据量预估后续查询的数据量,并确定查询结果的数据量与所需要查询数据量之间的差值;进而根据差值和预估的数据量,对并发节点数进行更新,以通过更新的并发节点数,同时查询树状数据结构中尚未查询的多个节点。
123.进一步地,在更新查询条件和并发节点数之后,则依据该更新的查询条件和并发节点数,对树状数据结构中与查询条件对应的数据层进行查询;即按照并发节点数,对更新的查询条件所表征的尚未查询的多个节点继续查询。以此,得到查询结果对查询条件和并发节点数再次更新,并基于更新继续查询得到新的查询结果,如此循环直到各个节点均经查询。其中,每次查询均针对查询的数据层添加查询标识,在树状数据结构中各数据层的节点均添加查询标识后,即说明各个节点均经查询,则停止查询。进而将此前查询得到的查询结果作为最终查询结果,完成对树状数据结构的逐层并行查询。
124.本发明的数据查询方法,先构建查询条件,并确定并发节点数;再根据查询条件和并发节点数,对树状数据结构中与查询条件对应的数据层进行查询,获得查询结果;进而根据查询结果,更新查询条件和并发节点数,并基于更新的查询条件和并发节点数,再次对树状数据结构中与查询条件对应的数据层进行查询,如此循环来更新查询,直到树状数据结构中各数据层均经查询,获得最终查询结果。通过更新查询条件和并发节点数,对数据结构中的各个数据层逐层以并行的方式查询,每一数据层均同时并行查询多个数据节点,提高了数据查询效率,有利于数据的快速查询分析。
125.进一步地,基于本发明数据查询方法的第一实施例,提出本发明数据查询方法第二实施例。
126.所述数据查询方法第二实施例与所述数据查询方法第一实施例的区别在于,所述构建查询条件,并确定并发节点数的步骤包括:
127.步骤s11,判断是否存在缓存数据层,若存在所述缓存数据层,则根据所述缓存数据层构建查询条件,以及确定并发节点数;
128.本实施例对于查询条件依据是否经查询得到缓存数据而具有不同的构建方式,对于并发节点数则依据经查询得到的查询结果确定。具体地,当具有查询需求时,在分析系统的查询框中输入表征查询需求的维度关键词,分析系统依据维度关键词构建查询条件进行查询,得到查询结果,和该次查询针对的数据层信息进行缓存。此后,在缓存的基础上对构建的查询条件进行更新,以继续查询。因此,本实施例对于每次用于查询的查询条件,依据是否缓存而不同。故而在构建查询条件时,先判断是否存在缓存数据层,该缓存数据层包含经查询得到的查询结果,以及上次查询所针对数据层等内容。若经确定分析系统中存在缓存数据层,则依据缓存数据层来更新查询条件和确定并发节点数,其中,更新的查询条件即为针对后续查询所构建的查询条件。具体地,根据缓存数据层构建查询条件,以及确定并发节点数的步骤包括:
129.步骤s111,获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层,以及与所述缓存数据层对应缓存结果的数据量;
130.步骤s112,根据所述目标数据层,构建所述查询条件,并根据待查询总数和所述数据量,确定所述并发节点数。
131.进一步地,缓存数据层中包含上次查询所针对的数据层,据此获取树状数据结构中位于该所针对数据层下一层级的数据层,作为目标数据层。同时获取缓存数据层中包含的查询结果作为与缓存数据层对应的缓存结果,对查询结果的数据量进行统计,得到缓存结果的数据量。此后,根据目标数据层,构建查询条件,将表征目标数据层维度的关键词添加到上一次查询的查询条件中,以构建得到新的查询条件。
132.此外,还依据待查询总数和数据量,确定并发节点数。其中,待查询总数表征查询所需求得到的数量,数据量则为上次查询得到的数量。将上次查询得到的数据量和以往查询得到并缓存的数据量进行累加,得到已查询数据量。进而在待查询总数和该已查询数据量进行对比,得到两者的差值,表征仍然需要查询的数据量。此后依据已查询数据量所表征的查询各节点所能得到数据量,和所需要查询的数据量之间的比例关系,确定所需要查询的节点数量,该节点数量即为并发节点数。在一具体实施例中,已查询的各节点数量为p,查询得到的已查询数据量为r,所需要的待查询总数为d,则下一次同时查询的并发节点数m=(d-r)/(r/p)。若经计算得到并发节点数m为非整数,则将m取值为大于计算得到的m的整数,且所取的整数与计算的数值之间具有相邻关系;如经计算得到m=2.2,则m取值为3。
133.可理解地,随着逐层查询,树状数据结构中的各节点依次经过查询,直到各节点均经查询。因此,在对位于缓存数据层下一层级的目标数据层进行获取之前,先判断树状数据结构中各节点是否均经查询,若均经查询则不存在目标数据层,反之则存在目标数据层。具体地,获取树状数据结构中位于缓存数据层下一层级的目标数据层的步骤之前包括:
134.步骤c1,判断所述树状数据结构中的各数据层是否均携带有查询标识,若均携带有查询标识,则将与所述缓存数据层对应的缓存数据作为最终查询结果,并结束查询;
135.步骤c2,若未均携带有查询标识,则执行获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层的步骤。
136.进一步地,对于树状数据结构中经查询的各节点,设置有查询标识,故可通过判断
各节点是否均携带有查询标识,来确定各节点是否均经查询。若经判定各数据层均携带有查询标识,则说明树状数据结构中的各节点均经查询,此时将与缓存数据层对应的缓存数据形成为最终的查询结果,结束查询操作。其中,与缓存数据层对应的缓存数据,除了包含上一次查询得到的缓存结果外,还涉及到此前各次查询的查询结果,为各次查询结果的缓存。
137.更进一步地,若经确定各数据层未均携带有查询标识,表征存在未经查询的数据层,则获取树状数据结构中位于缓存数据层下一层级的数据层,作为目标数据层构建查询条件以继续查询,直到树状数据结构中各个数据层均经查询,得到最终的查询结果。
138.步骤s12,若不存在所述缓存数据层,则根据接收的维度关键词,构建查询条件,以及确定并发节点数。
139.进一步地,对于经确定分析系统中不存在缓存数据层的情形,通过接收的维度关键词发起试探查询,由试探查询的结果,构建查询条件,以及确定并发节点数。试探查询为依据输入维度关键词的数量确定试探数据层,通过对试探数据层发起查询,来试探对该数据层查询所能获得的数据量,由此数据量预估后续查询所针对的数据层,进而由数据层构建查询条件,和确定并发节点数。具体地,根据接收的维度关键词,构建查询条件,以及确定并发节点数的步骤包括:
140.步骤s121,根据接收的维度关键词的数量,确定试探层级,并根据所述维度关键词和所述试探层级,构建查询条件;
141.步骤s122,根据所述查询条件和所述试探层级,对所述树状数据结构发起试探查询,获得试探查询结果;
142.步骤s123,根据待查询总数和所述试探查询结果的结果数量,确定所述并发节点数。
143.更进一步地,维度关键词的数量不同,所需要查询的维度不同,查询针对的数据层不同,所能得到的查询结果的数据量也不同。从而为了确定各个节点所能查询得到的数据量,依据维度关键词的数量,确定试探层级。在维度关键词的数量越多,查询针对的数据层越深时,所对应的试探层级也越深。如所需要查询的维度为2~5个维度,维度关键词的数量为2~5个,则可将树状数据结构中的第一层作为试探层级;随着维度的增加,所选取的试探层级相应增加,可以是第2层或第3层等。
144.进一步地,根据维度关键词和试探层级,构建查询条件,将各个维度关键词中与试探层级对应的关键词,构建为查询条件。通过查询条件对试探层级发起试探查询,得到试探查询结果。此后,依据试探查询结果的结果数量与待查询总数之间的比例关系,确定并发节点数。在一具体实施例中,试探查询得到的结果数量为r,所需要的待查询总数为d,则同时查询的并发节点数m=(d-r)/r。
145.需要说明的是,试探查询可以针对单个节点进行查询,也可以是针对多个节点进行的查询。对于单个节点,试探查询结果的结果数量则表征对单个节点查询所能得到的数据量,进而依据待查询总数与该结果数量之间的比例关系,确定并发节点数。对于多个节点,试探查询结果的结果数量表征对多个节点查询所能得到的数据量;先由结果数量与多个节点之间的比例关系,确定单个节点的平均数据量;再由待查询总数与平均数据量之间的比例关系,即可确定并发节点数。
146.本实施依据是否存在缓存数据层,以不同的方式构建查询条件,和确定并发节点数。若存在缓存数据层则依据缓存数据层构建查询条件和确定并发节点数,使得构建的查询条件和确定的并发节点数,与最近一次查询所缓存的数据层相关,所构建的查询条件和确定的并发节点数更为准确。若不存在缓存数据层,则根据维度关键词构建查询条件发起试探查询,通过试探所体现的各节点所能查询得到的数据量,来确定并发节点数;提高了所确定并发节点数的准确性,有利于依据并发节点数实现准确查询。
147.进一步地,基于本发明数据查询方法的第一或第二实施例,提出本发明数据查询方法第三实施例。
148.所述数据查询方法第三实施例与所述数据查询方法第一或第二实施例的区别在于,所述对所述树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果的步骤之后包括:
149.步骤d1,将所述树状数据结构中与所述查询条件对应的数据层,以及所述查询结果以键值对形式缓存。
150.本实施例通过判断各次查询得到的数据量是否满足所需要查询的待查询总数,来确定是否结束查询。具体地,在每次查询得到查询结果之后,将树状数据结构中与查询条件对应的数据层,即该次查询所针对的数据层,和查询所得到的查询结果以键值对的形式缓存。由键值对快速确定各次查询所得到的查询结果,并由各次查询结果的数据量与待查询总数之间的大小关系,确定是否结束查询。
151.进一步地,所述根据所述查询结果,更新所述查询条件和所述并发节点数的步骤之前包括:
152.步骤e1,判断与缓存的所述查询结果对应的缓存数据量是否大于或等于待查询总数,若大于或等于待查询总数,则将缓存的所述查询结果作为最终查询结果,并结束查询;
153.步骤e2,若所述缓存数据量小于所述待查询总数,则执行根据所述查询结果,更新所述查询条件和所述并发节点数的步骤。
154.更进一步地,在当前查询得到查询结果,开始下一次查询之前,先判断经当前查询后所得到的缓存数据量是否达到待查询总数的要求。具体地,各次查询所得到的查询结果均进行了缓存,当前查询所得到的查询结果也相应缓存,和此前各次缓存的查询结果一并形成为缓存的查询结果。对缓存的查询结果进行数据量统计,得到各次缓存的缓存数据量。进而将缓存数据量各待查询总数进行对比,判断缓存数据量是否大于或等于待查询总数。若经判定大于或等于待查询总数,则说明经各次查询所得到的数据量满足查询需求,故将缓存的各查询结果作为最终查询结果,结束查询。
155.进一步地,若经判断缓存数据量小于待查询总数,则说明经各次查询得到的数据量不满足查询需求,则根据查询结果,对查询条件和并发节点数进行更新,以依据更新的查询条件和并发节点数继续查询,直到查询得到的总数据量满足所需要查询的待查询总数,接收查询操作。
156.本实施例将查询的数据层和查询结果之间以键值对的形式缓存,以便于快速依据确定各查询结果所来源的数据层。同时,依据各次查询的数据量与待查询总数之间的大小关系,确定是否继续查询;在满足查询需求的同时,避免过度查询,节省了查询资源,提高查询效率。
157.本发明还提供一种数据查询装置。所述数据查询装置包括:
158.构建模块,用于构建查询条件,并确定并发节点数;
159.查询模块,用于根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询,获得查询结果;
160.更新模块,用于根据所述查询结果,更新所述查询条件和所述并发节点数,并基于更新的所述查询条件和所述并发节点数,执行根据所述查询条件和所述并发节点数,对树状数据结构中与所述查询条件对应的数据层进行查询的步骤,直到所述树状数据结构中各数据层均经查询,获得最终查询结果。
161.进一步地,所述构建模块还包括:
162.判断单元,用于判断是否存在缓存数据层,若存在所述缓存数据层,则根据所述缓存数据层构建查询条件,以及确定并发节点数;
163.构建单元,用于若不存在所述缓存数据层,则根据接收的维度关键词,构建查询条件,以及确定并发节点数。
164.进一步地,所述判断单元还用于:
165.获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层,以及与所述缓存数据层对应缓存结果的数据量;
166.根据所述目标数据层,构建所述查询条件,并根据待查询总数和所述数据量,确定所述并发节点数。
167.进一步地,所述判断单元还用于:
168.判断所述树状数据结构中的各数据层是否均携带有查询标识,若均携带有查询标识,则将与所述缓存数据层对应的缓存数据作为最终查询结果,并结束查询;
169.若未均携带有查询标识,则执行获取所述树状数据结构中位于所述缓存数据层下一层级的目标数据层的步骤。
170.进一步地,所述构建单元还用于:
171.根据接收的维度关键词的数量,确定试探层级,并根据所述维度关键词和所述试探层级,构建查询条件;
172.根据所述查询条件和所述试探层级,对所述树状数据结构发起试探查询,获得试探查询结果;
173.根据待查询总数和所述试探查询结果的结果数量,确定所述并发节点数。
174.进一步地,所述数据查询装置还包括:
175.缓存模块,用于将所述树状数据结构中与所述查询条件对应的数据层,以及所述查询结果以键值对形式缓存。
176.进一步地,所述数据查询装置还包括:
177.判断模块,用于判断与缓存的所述查询结果对应的缓存数据量是否大于或等于待查询总数,若大于或等于待查询总数,则将缓存的所述查询结果作为最终查询结果,并结束查询;
178.执行模块,用于若所述缓存数据量小于所述待查询总数,则执行根据所述查询结果,更新所述查询条件和所述并发节点数的步骤。
179.本发明数据查询装置具体实施方式与上述数据查询方法各实施例基本相同,在此
不再赘述。
180.此外,本发明实施例还提出一种可读存储介质。
181.可读存储介质上存储有数据查询程序,数据查询程序被处理器执行时实现如上所述的数据查询方法的步骤。
182.本发明可读存储介质可以为计算机可读存储介质,其具体实施方式与上述数据查询方法各实施例基本相同,在此不再赘述。
183.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献