本技术涉及数据处理,尤其是涉及一种数据查询位图索引的构建方法、数据查询方法及装置。
背景技术:
1、在银行经营管理业务场景下,由于银行侧所涉及的用户数量较为庞大的情况下,若想实现用户和/或数据的检索,则不得不通过检索数据库中数量庞大的客户清单的方式,来实现相关数据的获取。
2、目前,通常是依托于数据库的存储结构化数据,利用数据库的查询引擎,实现数据的检索,但是,在这样的技术路线下,若遇到复杂的检索条件,则在庞大的数据量下,无法实现数据地快速检索,检索的实时性较为低下;此外,在分布式文件系统中,通常是借助于分布式系统的系统结构,实现数据的分布式存储,再利用分布式搜索和分析引擎(如:elasticsearch)进行数据检索;虽然,这种方式可提升大数据量下的数据的检索效率,但是,实现步骤较为繁琐,逻辑结构较为复杂,运行部署也较为麻烦。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种数据查询位图索引的构建方法、数据查询方法及装置,以解决现有技术中数据查询效率低、查询过程较为繁琐的问题。
2、本技术实施例提供了一种数据查询位图索引的构建方法,所述构建方法包括:
3、从数据库中预先存储的基础数据表中获取基础业务数据;
4、对所述基础业务数据进行预处理,滤除所述基础业务数据中无法进行阈值化处理的基础业务数据,得到可阈值化处理的查询基础数据;
5、针对于每个查询基础数据,根据该查询基础数据的数据属性,确定该查询基础数据的映射阈值;
6、基于每个查询基础数据和该查询基础数据的映射阈值,形成应用数据表;
7、利用每个查询基础数据的映射阈值,通过对所述应用数据表中每个查询基础数据进行分类处理,创建得到所述应用数据表的查询位图索引,以利用所述查询位图索引实现所述应用数据表中查询基础数据的查询。
8、在一种可能的实施方式中,所述根据该查询基础数据的数据属性,确定该查询基础数据的映射阈值,包括:
9、根据该查询基础数据的数据属性,确定该查询基础数据的数据类型;
10、当所述数据类型指示该查询基础数据为数值数据时,基于该查询基础数据的实际数据数值,结合在该查询基础数据所属数据属性下的预设数值范围,确定该查询基础数据的映射阈值;
11、当所述数据类型指示该查询基础数据为非数值数据时,按照在该查询基础数据所属数据属性下的预设映射关系,确定该查询基础数据的映射阈值。
12、在一种可能的实施方式中,所述基于每个查询基础数据和该查询基础数据的映射阈值,形成应用数据表,包括:
13、按照所述数据库的数据表书写结构,将每个查询基础数据和该查询基础数据的映射阈值作为应用数据表中的查询数据项,写入所述应用数据表中。
14、在一种可能的实施方式中,所述利用每个查询基础数据的映射阈值,通过对所述应用数据表中每个查询基础数据进行分类处理,创建得到所述应用数据表的查询位图索引,包括:
15、利用每个查询基础数据的映射阈值,将具有相同映射阈值的查询基础数据划分至同一位图索引组;
16、针对于每个位图索引组,将该位图索引组中任意一查询基础数据所对应的映射阈值,确定为该位图索引组的子查询位图索引,以利用所述子查询位图索引实现该位图索引组中查询基础数据的查询;
17、基于每个位图索引组的子查询位图索引,创建得到所述应用数据表的查询位图索引。
18、本技术实施例还提供了一种数据查询方法,所述数据查询方法包括:
19、响应于接收到数据检索请求,从所述数据检索请求中读取出数据检索条件;
20、利用所述数据检索条件,通过查询内存缓存中已缓存的查询结果数据,确定所述内存缓存中是否存在有满足所述数据检索条件的数据查询结果;
21、若否,调用sql封装单元,通过将所述数据检索条件转换为数据检索阈值,生成用于进行数据查询的检索sql语句;
22、通过执行所述检索sql语句,借助于数据库中应用数据表的查询位图索引,从所述应用数据表中获取满足所述数据检索条件的数据查询结果;其中,所述应用数据表的查询位图索引是通过上述的数据查询位图索引的构建方法构建得到的;
23、将所述数据查询结果反馈至客户端。
24、在一种可能的实施方式中,所述调用sql封装单元,通过将所述数据检索条件转换为数据检索阈值,生成用于进行数据查询的检索sql语句,包括:
25、调用sql封装单元,按照检索条件与检索阈值之间的映射规则,将所述数据检索条件转换为数据检索阈值;
26、将所述数据检索阈值代入sql语句模板,得到所述检索sql语句。
27、在一种可能的实施方式中,所述通过执行所述检索sql语句,借助于数据库中应用数据表的查询位图索引,从所述应用数据表中获取满足所述数据检索条件的数据查询结果,包括:
28、通过执行所述检索sql语句,通过比对所述检索sql语句所携带的数据检索阈值与数据库中应用数据表的查询位图索引,确定所述查询位图索引中与所述数据检索阈值相匹配的子查询位图索引;
29、将所属于所述子查询位图索引所对应的目标位图索引组中的查询基础数据,确定为满足所述数据检索条件的数据查询结果。
30、在一种可能的实施方式中,所述数据查询方法还包括:
31、统计所述数据查询结果中所包括的查询基础数据的数据数量;
32、在所述数据数量小于预设数量阈值的情况下,将所述数据查询结果缓存至所述内存缓存中。
33、本技术实施例还提供了一种数据查询位图索引的构建装置,所述构建装置包括:
34、数据获取模块,用于从数据库中预先存储的基础数据表中获取基础业务数据;
35、阈值处理模块,用于对所述基础业务数据进行预处理,滤除所述基础业务数据中无法进行阈值化处理的基础业务数据,得到可阈值化处理的查询基础数据;
36、阈值映射模块,用于针对于每个查询基础数据,根据该查询基础数据的数据属性,确定该查询基础数据的映射阈值;
37、数据表创建模块,用于基于每个查询基础数据和该查询基础数据的映射阈值,形成应用数据表;
38、位图索引创建模块,用于利用每个查询基础数据的映射阈值,通过对所述应用数据表中每个查询基础数据进行分类处理,创建得到所述应用数据表的查询位图索引,以利用所述查询位图索引实现所述应用数据表中查询基础数据的查询。
39、在一种可能的实施方式中,所述阈值映射模块在用于根据该查询基础数据的数据属性,确定该查询基础数据的映射阈值时,所述阈值映射模块用于:
40、根据该查询基础数据的数据属性,确定该查询基础数据的数据类型;
41、当所述数据类型指示该查询基础数据为数值数据时,基于该查询基础数据的实际数据数值,结合在该查询基础数据所属数据属性下的预设数值范围,确定该查询基础数据的映射阈值;
42、当所述数据类型指示该查询基础数据为非数值数据时,按照在该查询基础数据所属数据属性下的预设映射关系,确定该查询基础数据的映射阈值。
43、在一种可能的实施方式中,所述数据表创建模块在用于基于每个查询基础数据和该查询基础数据的映射阈值,形成应用数据表时,所述数据表创建模块用于:
44、按照所述数据库的数据表书写结构,将每个查询基础数据和该查询基础数据的映射阈值作为应用数据表中的查询数据项,写入所述应用数据表中。
45、在一种可能的实施方式中,所述位图索引创建模块在用于利用每个查询基础数据的映射阈值,通过对所述应用数据表中每个查询基础数据进行分类处理,创建得到所述应用数据表的查询位图索引时,所述位图索引创建模块用于:
46、利用每个查询基础数据的映射阈值,将具有相同映射阈值的查询基础数据划分至同一位图索引组;
47、针对于每个位图索引组,将该位图索引组中任意一查询基础数据所对应的映射阈值,确定为该位图索引组的子查询位图索引,以利用所述子查询位图索引实现该位图索引组中查询基础数据的查询;
48、基于每个位图索引组的子查询位图索引,创建得到所述应用数据表的查询位图索引。
49、本技术实施例还提供了一种数据查询装置,所述数据查询装置包括:
50、数据读取模块,用于响应于接收到数据检索请求,从所述数据检索请求中读取出数据检索条件;
51、第一查询模块,用于利用所述数据检索条件,通过查询内存缓存中已缓存的查询结果数据,确定所述内存缓存中是否存在有满足所述数据检索条件的数据查询结果;
52、语句生成模块,用于若否,调用sql封装单元,通过将所述数据检索条件转换为数据检索阈值,生成用于进行数据查询的检索sql语句;
53、第二查询模块,用于通过执行所述检索sql语句,借助于数据库中应用数据表的查询位图索引,从所述应用数据表中获取满足所述数据检索条件的数据查询结果;其中,所述应用数据表的查询位图索引是通过上述的数据查询位图索引的构建装置构建得到的;
54、结果反馈模块,用于将所述数据查询结果反馈至客户端。
55、在一种可能的实施方式中,所述语句生成模块在用于调用sql封装单元,通过将所述数据检索条件转换为数据检索阈值,生成用于进行数据查询的检索sql语句时,所述语句生成模块用于:
56、调用sql封装单元,按照检索条件与检索阈值之间的映射规则,将所述数据检索条件转换为数据检索阈值;
57、将所述数据检索阈值代入sql语句模板,得到所述检索sql语句。
58、在一种可能的实施方式中,所述第二查询模块在用于通过执行所述检索sql语句,借助于数据库中应用数据表的查询位图索引,从所述应用数据表中获取满足所述数据检索条件的数据查询结果时,所述第二查询模块用于:
59、通过执行所述检索sql语句,通过比对所述检索sql语句所携带的数据检索阈值与数据库中应用数据表的查询位图索引,确定所述查询位图索引中与所述数据检索阈值相匹配的子查询位图索引;
60、将所属于所述子查询位图索引所对应的目标位图索引组中的查询基础数据,确定为满足所述数据检索条件的数据查询结果。
61、在一种可能的实施方式中,所述数据查询装置还包括缓存模块,所述缓存模块用于:
62、统计所述数据查询结果中所包括的查询基础数据的数据数量;
63、在所述数据数量小于预设数量阈值的情况下,将所述数据查询结果缓存至所述内存缓存中。
64、本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的数据查询位图索引的构建方法的步骤以及上述的数据查询方法的步骤。
65、本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的数据查询位图索引的构建方法的步骤以及上述的数据查询方法的步骤。
66、本技术实施例提供的数据查询位图索引的构建方法、数据查询方法及装置,从数据库中预先存储的基础数据表中获取基础业务数据;对基础业务数据进行预处理,滤除基础业务数据中无法进行阈值化处理的基础业务数据,得到可阈值化处理的查询基础数据;针对于每个查询基础数据,根据该查询基础数据的数据属性,确定该查询基础数据的映射阈值;基于每个查询基础数据和该查询基础数据的映射阈值,形成应用数据表;利用每个查询基础数据的映射阈值,通过对应用数据表中每个查询基础数据进行分类处理,创建得到应用数据表的查询位图索引,以利用查询位图索引实现应用数据表中查询基础数据的查询。这样,便可在将基础业务数据整理为应用数据表的过程中,利用应用数据表所包括的查询基础数据的映射阈值,创建得到应用数据表的查询位图索引,以在具有查询需求时,可借助于查询位图索引,快速地实现数据的查询,以此,提高庞大数据量下数据的检索效率及时效性。此外,为了便于用户进行数据查询,可结合于数据检索结果的实际情况,将数据查询结果缓存至内存缓存中,以便于在后续检索过程中,可以快速地实现数据检索结果的反馈;并且,通过匹配查询位图索引的方式,实现数据的查询,不再需要采用遍历查询内存数据的方式,便可实现数据查询结果的快速定位及查询,进而,减少了复杂的数据搜索过程,提高数据查询结果的反馈效率。
67、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。