CN112395283A - 一种数据查询方法、装置及存储介质 - Google Patents
一种数据查询方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112395283A CN112395283A CN201910748540.0A CN201910748540A CN112395283A CN 112395283 A CN112395283 A CN 112395283A CN 201910748540 A CN201910748540 A CN 201910748540A CN 112395283 A CN112395283 A CN 112395283A
- Authority
- CN
- China
- Prior art keywords
- query
- preset
- model
- result
- query model
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据查询方法、装置及存储介质,能够提高缓存查询命中率和查询速度,该方法可以包括:在接收到数据查询操作时,根据数据查询操作建立第一查询模型;从预设查询模型和预设查询结果对应关系中,查找包含第一查询模型的第一预设查询模型,第一预设查询模型为预设查询模型和预设查询结果对应关系中包含第一查询模型的预设查询模型;从第一预设查询模型对应的第一预设查询结果中,提取第一查询模型对应的第一查询结果,第一预设查询结果为预设查询模型和预设查询结果对应关系中,第一预设查询模型对应的查询结果。
Description
技术领域
本发明涉及软件工程领域,尤其涉及一种数据查询方法、装置及存储介质。
背景技术
目前在大数据可视化分析系统中,常用的交互式分析操作方法如钻取、过滤等,都是基于结构化查询语言(SQL,Structured Query Language)语句查询来获取结果并进行分析。其中,可视化分析系统将查询分析操作解析成SQL语句后,首先检查可视化分析系统的缓存系统中是否存在相同的SQL语句,如果有则直接进入缓存根据SQL语句得到查询结果,如果没有则将此SQL语句送入到数据仓库或数据库中进行查询并等待查询结果返回,然后将SQL语句和查询结果的键值对存入到缓存系统中。
在实际应用中,缓存通常存储着历史查询使用的SQL语句及其对应的查询结果。由于对同一份数据进行多次不同的查询分析操作时,会生成不同的SQL语句,在使用新生成的SQL语句作为索引键在缓存中进行查找时,即使缓存中实际已有之前查询返回的结果数据,但由于两次查询的SQL语句不一致,所以使用现有技术还是无法在缓存中命中查询结果,需要不断提交到数据库中进行查询,因此增大了分析的时延和数据库的查询压力,进而导致查询命中率低和查询速度慢的问题。
发明内容
为解决上述技术问题,本发明实施例期望提供一种数据查询方法、装置及存储介质,能够解决缓存查询命中率低和查询速度慢的问题。
本发明的技术方案是这样实现的:
本发明实施例提供一种数据查询方法,包括:
在接收到数据查询操作时,根据所述数据查询操作建立第一查询模型;
从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型,所述第一预设查询模型为所述预设查询模型和预设查询结果对应关系中包含所述第一查询模型的预设查询模型;
从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,所述第一预设查询结果为所述预设查询模型和预设查询结果对应关系中,所述第一预设查询模型对应的查询结果。
在上述方法中,所述根据所述数据查询操作建立第一查询模型,包括:
从所述数据查询操作中,提取所述数据查询操作包含的待查询字段、度量参数及筛选条件;
将所述待查询字段、所述度量参数及所述筛选条件添加至预设查询模型框架中,得到所述第一查询模型。
在上述方法中,所述从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,包括:
从所述预设查询模型和预设查询结果对应关系中,获取所述第一预设查询模型对应的所述第一预设查询结果;
根据所述筛选条件,对所述第一预设查询结果进行筛选,得到筛选结果;
从所述第一预设查询结果中,提取所述待查询字段对应的查询结果;
基于所述查询结果和所述筛选结果,得到待度量数据;
利用所述度量参数,对所述待度量数据进行计算,得到计算结果;
将所述筛选结果、所述查询结果、所述计算结果确定为所述第一查询结果。
在上述方法中,所述从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型之后,所述方法还包括:
当从所述预设查询模型和预设查询结果对应关系中,未查找到包含所述第一查询模型的所述第一预设查询模型时,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果,所述数据库用于存储初始结果数据。
在上述方法中,所述将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,所述方法还包括:
从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,所述第二预设查询模型为所述预设查询模型和预设查询结果对应关系中所述第一查询模型包含的预设查询模型;
从所述预设查询模型和预设查询结果对应关系中,查找所述第二预设查询模型对应的第二预设查询结果;
将所述第二预设查询模型及所述第二预设查询结果,替换为所述第一查询模型和所述第二查询结果。
在上述方法中,所述从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,包括:
从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型的待查询字段、度量参数和筛选条件包含的所述预设查询模型;
将所述预设查询模型确定为所述第二预设查询模型。
在上述方法中,所述将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,所述方法还包括:
当未查找到所述第一查询模型包含的所述第二预设查询模型时,将所述第一查询模型与所述第一查询模型对应的所述第二查询结果,添加至所述预设查询模型和预设查询结果对应关系中。
本发明实施例提供一种数据查询装置,所述数据查询装置包括:处理器、存储器及通信总线,所述处理器用于执行所述存储器中存储的运行程序,以实现以下步骤:
在接收到数据查询操作时,根据所述数据查询操作建立第一查询模型;从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型,所述第一预设查询模型为所述预设查询模型和预设查询结果对应关系中包含所述第一查询模型的预设查询模型;从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,所述第一预设查询结果为所述预设查询模型和预设查询结果对应关系中,所述第一预设查询模型对应的查询结果。
在上述数据查询装置中,所述处理器,还用于从所述数据查询操作中,提取所述数据查询操作包含的待查询字段、度量参数及筛选条件;将所述待查询字段、所述度量参数及所述筛选条件添加至预设查询模型框架中,得到所述第一查询模型。
在上述数据查询装置中,所述处理器,还用于从所述预设查询模型和预设查询结果对应关系中,获取所述第一预设查询模型对应的所述第一预设查询结果;根据所述筛选条件,对所述第一预设查询结果进行筛选,得到筛选结果;从所述第一预设查询结果中,提取所述待查询字段对应的查询结果;基于所述查询结果和所述筛选结果,得到待度量数据;利用所述度量参数,对所述待度量数据进行计算,得到计算结果;将所述筛选结果、所述查询结果、所述计算结果确定为所述第一查询结果。
在上述数据查询装置中,所述处理器,还用于当从所述预设查询模型和预设查询结果对应关系中,未查找到包含所述第一查询模型的所述第一预设查询模型时,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果,所述数据库用于存储初始结果数据。
在上述数据查询装置中,所述处理器,还用于从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,所述第二预设查询模型为所述预设查询模型和预设查询结果对应关系中所述第一查询模型包含的预设查询模型;从所述预设查询模型和预设查询结果对应关系中,查找所述第二预设查询模型对应的第二预设查询结果;将所述第二预设查询模型及所述第二预设查询结果,替换为所述第一查询模型和所述第二查询结果。
在上述数据查询装置中,所述处理器,还用于从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型的待查询字段、度量参数和筛选条件包含的所述预设查询模型;将所述预设查询模型确定为所述第二预设查询模型。
在上述数据查询装置中,所述处理器,还用于当未查找到所述第一查询模型包含的所述第二预设查询模型时,将所述第一查询模型与所述第一查询模型对应的所述第二查询结果,添加至所述预设查询模型和预设查询结果对应关系中。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,应用于数据查询装置,该计算机程序被处理器执行时实现如上述任一项所述的数据查询方法。
本发明实施例公开了一种数据查询方法、装置及存储介质,该方法包括:在接收到数据查询操作时,根据数据查询操作建立第一查询模型;从预设查询模型和预设查询结果对应关系中,查找包含第一查询模型的第一预设查询模型;从第一预设查询模型对应的第一预设查询结果中,提取第一查询模型对应的第一查询结果。采用上述方法实现方案,数据查询装置根据接收到的数据查询操作建立第一查询模型;之后数据查询装置在缓存中查找包含第一查询模型的第一预设查询模型,这样,即使缓存中没有完全一致的预设查询模型,只要有能包含第一查询模型的第一预设查询模型,就可以从缓存中获取第一预设查询模型对应的第一预设查询结果;最后数据查询装置再从第一预设查询结果中,提取出第一查询模型对应的第一查询结果。这样,就可以从缓存中得到第一查询模型对应的第一查询结果,进而提高了数据查询操作在缓存中命中率;减少了数据查询操作与数据库之间的频繁交互,进而提升了查询速度。
附图说明
图1为现有数据查询系统的数据查询方法流程图;
图2为本发明实施例提供的一种数据查询方法流程图一;
图3为本发明实施例提供的一种数据查询方法流程图二;
图4为本发明实施例提供的一种数据查询装置的结构示意图一;
图5为本发明实施例提供的一种数据查询装置的结构示意图二。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,如图1所示,数据查询系统在接收到数据查询分析操作时,首先将接收到的数据查询分析操作转换为SQL语句,然后查询缓存中是否存在一致的SQL语句,如果缓存中存在一致的SQL语句,则直接从缓存中根据SQL语句返回查询结果;如果缓存中不存在一致的SQL语句,则将SQL语句提交到数据库中进行查询并等待数据库返回查询结果。这种查询方式以SQL语句为索引,通过查询是否存在一致的SQL语句来确认能否在缓存中查找到到对应的查询结果。但由于数据查询操作的多样性,对同一份数据进行不同查询分析操作会产生不同的SQL语句,这样即便缓存中已有之前查询返回的结果数据,但由于SQL语句与之前查询的SQL语句有了变化,所以在缓存中就找不到完全一致的SQL语句,因此无法从缓存中直接获取查询结果,仍然需要访问数据库查询,从而增大了数据库压力,同时降低了查询速度。为了提高数据查询的缓存命中率及查询速度,提出了本发明对应的技术方案,具体的实施例如下:
实施例一
本发明实施例提供一种数据查询方法,如图2所示,该方法可以包括:
S101、在接收到数据查询操作时,根据数据查询操作建立第一查询模型。
本发明实施例提供的一种数据查询方法适用于数据查询装置根据接收到的查询分析操作进行数据查询和数据分析的场景下。
本发明实施例中,数据查询装置根据数据查询操作建立第一查询模型具体包括:数据查询装置从接收到的数据查询操作中,提取数据查询操作包含的待查询字段、度量参数及筛选条件;之后,数据查询装置将待查询字段、度量参数及筛选条件添加至预设查询模型框架中,得到第一查询模型。
本发明实施例中,数据查询装置接收到的数据查询操作的类型可以是查询数据结果的操作,也可以是对数据进行可视化分析的操作。
本发明实施例中,数据查询装置在接收数据查询操作之后,会分析并识别出数据查询操作中包含的待查询字段、度量参数及筛选条件,并将待查询字段、度量参数及筛选条件提取出来。
示例性的,数据查询装置接收到一项查询分析操作,需要查询分析2018年苏州地区的总收入数据,之后,数据查询装置根据此数据查询分析操作,提取出待查询字段“时间,地区”,度量参数“总收入”和筛选条件“时间in(2018),地区in(苏州)”。
本发明实施例中,预设模型框架可以由待查询字段模块、度量参数模块、与筛选条件模块构成。
示例性的,预设查询模型框架可以由{待查询字段1,待查询字段2,待查询字段3},{度量参数1,度量参数2,度量参数3},{筛选条件1,筛选条件2,筛选条件3}的数据集合形式。具体的根据实际情况选择其他模块或使用其他框架形式,本发明实施例不做具体的限定。
本发明实施例中,数据查询装置会将从数据查询操作中提取出的待查询字段、度量参数和筛选条件,分别添加至预设查询模型框架的待查询字段模块、度量参数模块和筛选条件模块中,得到第一查询模型。
S102、数据查询装置从预设查询模型和预设查询结果对应关系中,查找包含第一查询模型的第一预设查询模型,第一预设查询模型为预设查询模型和预设查询结果对应关系中包含第一查询模型的预设查询模型。
当数据查询装置建立起第一查询模型之后,数据查询装置会在预设查询模型和预设查询结果对应关系中,使用第一查询模型进行查找,当找到包含第一查询模型对应的待查询字段、度量参数和筛选条件的预设查询模型时,数据查询装置确定该预设查询模型为第一预设查询模型。
本发明实施例中,预设查询模型和预设查询结果对应关系是以索引键-值的键值对形式进行存储,其中,预设查询模型是索引键,预设查询结果是值。预设查询模型和预设查询结果的对应关系可以由初始化缓存的操作录入,也可以由后续数据查询操作进行不断更新。预设查询模型和预设查询结果的对应关系可以存放在缓存中,也可以是其他存放位置,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
示例性的,数据查询装置初始化缓存的操作过程可以是:数据库中存储有提前录入的初始结果数据,比如初始结果数据是2016至2019年杭州市和苏州市中产品的总收入,利润及利润率的数据报表,数据查询装置根据初始结果数据创建默认的预设查询模型A,假设创建后的预设查询模型A包含待查询字段{时间,地区,产品},度量参数{总收入,利润,利润率},筛选条件{时间in(2017,2018)}。数据查询装置根据初始结果数据,得到预设查询模型A对应的预设查询结果。数据查询装置将预设查询模型A与预设查询模型A对应的预设查询结果组成键值对形式,录入预设查询模型和预设查询结果的对应关系中,以便后续数据查询操作使用。
本发明实施例中,数据查询装置将第一查询模型的待查询字段与预设查询模型的待查询字段对比,判断预设查询模型的待查询字段是否包含第一查询模型的待查询字段;数据查询装置将第一查询模型的度量参数与预设查询模型的度量参数对比,判断预设查询模型的度量参数是否包含第一查询模型的度量参数;数据查询装置将第一查询模型的待查询字段与预设查询模型的筛选条件对比,判断预设查询模型的筛选条件是否包含第一查询模型的筛选条件;最后,数据查询装置将待查询字段、度量参数、筛选条件均包含第一查询模型的预设查询模型确定为第一预设查询模型。
示例性的,假设第一查询模型的待查询字段是{时间,地区},度量参数是{总收入},筛选条件是{时间in(2018),地区in(苏州)};预设查询模型A的待查询字段是{时间,地区,产品},度量参数是{总收入,利润,利润率},筛选条件是{时间in(2017,2018)}。当数据查询装置使用第一查询模型在缓存里预设查询模型和预设查询结果对应关系中查找时,发现预设查询模型A的待查询字段{时间,地区,产品}包含了第一查询模型的待查询字段{时间,地区};预设查询模型A的度量{总收入,利润,利润率}也包含了第一查询模型的度量{总收入};预设查询模型A的筛选条件中时间约束范围为2017和2018,地区约束范围为空(也就是约束范围为所有地区),而第一查询模型的筛选条件中时间约束范围为2018,地区约束范围为苏州,所以预设查询模型A的筛选条件{时间in(2017,2018)}也包含第一查询模型的筛选条件{时间in(2018),地区in(苏州)},因此确定预设查询模型A为包含第一查询模型的第一预设查询模型。
S103、从第一预设查询模型对应的第一预设查询结果中,提取第一查询模型对应的第一查询结果,第一预设查询结果为预设查询模型和预设查询结果对应关系中,第一预设查询模型对应的查询结果。
当数据查询装置在预设查询模型和预设查询结果的对应关系中找到包含第一查询模型的第一预设查询模型之后,就可以从第一预设查询模型对应的第一预设查询结果中,提取出第一查询模型对应的第一查询结果。
本发明实施例中,数据查询装置在预设查询模型和预设查询结果的对应关系中,以第一预设查询模型为索引键,将该索引键对应的值确定为第一预设查询结果。
在得到第一预设查询结果之后,数据查询装置根据第一查询模型包含的筛选条件,对第一预设查询结果进行筛选,得到筛选结果;之后,数据查询装置从第一预设查询结果中,提取第一查询模型包含的待查询字段对应的查询结果,并基于上述查询结果和筛选结果,得到待度量数据;数据查询装置利用第一查询模型包含的度量参数,对待度量数据进行计算,得到计算结果;最后,数据查询装置将筛选结果、查询结果、计算结果确定为第一查询结果。
示例性的,假设第一查询模型的待查询字段是{时间,地区},度量参数是{总收入},筛选条件是{时间in(2018),地区in(苏州)};第一预设查询模型的待查询字段是{时间,地区,产品},度量参数是{总收入,利润,利润率},筛选条件是{时间in(2017,2018)},第一预设查询模型对应的第一预设查询结果假设如表1所示:
表1
时间 | 地区 | 产品 | 总收入 | 利润 | 利润率 |
2017 | 苏州 | 食品 | SUM1 | P1 | R1 |
2017 | 苏州 | 服饰 | SUM2 | P2 | R2 |
2017 | 杭州 | 食品 | SUM3 | P3 | R3 |
2017 | 杭州 | 服饰 | SUM4 | P4 | R4 |
2018 | 苏州 | 食品 | SUM5 | P5 | R5 |
2018 | 苏州 | 服饰 | SUM6 | P6 | R6 |
2018 | 杭州 | 食品 | SUM7 | P7 | R7 |
2018 | 杭州 | 服饰 | SUM8 | P8 | R8 |
表1中的{时间,地区,产品}为第一预设查询结果中的待查询字段,下方对应的数据是第一预设查询结果中待查询字段对应的查询结果;{总收入,利润,利润}为第一预设查询结果中的度量参数,下方对应的数据是第一预设查询结果中度量参数对应的查询结果;第一预设查询结果的筛选条件所限定的范围为{时间in(2017,2018)}。
数据查询装置根据第一查询模型包含的筛选条件{时间in(2018),地区in(苏州)},对第一预设查询结果进行筛选,得到筛选结果,如表2所示;
表2
时间 | 地区 | 产品 | 总收入 | 利润 | 利润率 |
2018 | 苏州 | 食品 | SUM5 | P5 | R5 |
2018 | 苏州 | 服饰 | SUM6 | P6 | R6 |
基于表2,数据查询装置从第一预设查询结果中,提取第一查询模型包含的待查询字段对应的查询结果,得到剔除字段“产品”之后,第一查询模型包含的待查询字段{时间,地区}对应的查询结果,如表3所示;
表3
时间 | 地区 |
2017 | 苏州 |
2017 | 杭州 |
2018 | 苏州 |
2018 | 杭州 |
基于上述筛选结果和查询结果,数据查询装置得到待度量数据,如表4所示;
表4
时间 | 地区 | 总收入 | 利润 | 利润率 |
2018 | 苏州 | SUM5 | P5 | R5 |
2018 | 苏州 | SUM6 | P6 | R6 |
基于表4,数据查询装置在得到待度量数据之后,利用第一查询模型包含的度量参数{总收入},对待度量数据进行计算,其中,“总收入”参数的计算方式为将SUM5和SUM6的值进行累加,得到计算结果SUM(SUM5,SUM6);且由于第一查询模型的度量参数只含{总收入}一项度量参数,因此根据第一查询模型包含的度量参数的计算结果只需保留{总收入}这一项度量结果;最后,数据查询装置将筛选结果、查询结果和计算结果确定为第一查询结果。如表5所示:
表5
时间 | 地区 | 总收入 |
2018 | 苏州 | SUM(SUM5,SUM6) |
在实际应用中,当第一查询模型的待查询字段与第一预设查询结果中的对应的预设查询字段一致时,无需使用度量参数进行度量计算,直接将第一查询模型中度量参数对应的度量结果输出即可。
可以理解的是,数据查询装置在接收到数据查询操作时会建立第一查询模型作为索引,接下来在缓存的预设查询模型和预设查询结果的对应关系中查找包含第一查询模型的第一预设查询模型,如果找到第一预设查询模型,就可以从缓存中获取第一预设查询模型对应的第一预设查询结果;最后数据查询装置再从第一预设查询结果中,提取出第一查询模型对应的第一查询结果。通过本发明实施例提供的方法,数据查询分析操作可以在缓存中快速找到并提取查询分析结果,从而大大减少了与数据库之间的数据交换,极大减轻了数据库的压力,并能显著提高数据查询分析操作在缓存中的命中率,极大提升了数据查询速度。
实施例二
本发明实施例提供一种数据查询方法,如图3所示,该方法可以包括:
S201、数据查询装置在接收到数据查询操作时,从数据查询操作中,提取数据查询操作包含的待查询字段、度量参数及筛选条件。
本发明实施例中,数据查询装置接收数据查询操作的方法可以包括:数据查询装置可以接收由可视化图形界面上发出的查询分析请求,或是以编程语言方式发出的数据查询分析命令;数据查询装置也可以接收由其他功能模块发来的数据查询分析请求。具体的可根据实际情况进行选择,本发明实施例不做具体的限定。
本发明实施例中,数据查询装置根据接收到的数据查询操作,将数据查询操作中需要被查询的字段识别出来,作为待查询字段;数据查询装置将数据查询操作中使用的度量分析方法识别出来,作为度量参数;数据查询装置将数据查询操作中限定查询范围的限定条件识别出来,作为筛选条件。
本发明实施例中,数据查询装置将识别出的待查询字段、度量参数和筛选条件信息从所接收到的数据查询操作的完整信息中提取出来。
示例性的,数据查询装置接收到对报表R的数据查询分析,需要查询在c=c1的条件下,报表R中a、b、c字段分别对应的结果,并对a、b、c的值进行求和分析、最大值分析和最小值分析,则数据查询装置可以提取出待查询字段为“a,b,c”,度量参数为“d,e,f”,筛选条件为“c=c1”。
S202、数据查询装置将待查询字段、度量参数及筛选条件添加至预设查询模型框架中,得到第一查询模型。
当数据查询装置在接收到数据查询操作,从数据查询操作中,提取数据查询操作包含的待查询字段、度量参数及筛选条件之后,数据查询装置就要将待查询字段、度量参数及筛选条件添加至预设查询模型框架中,得到第一查询模型。
本发明实施例中,预设查询模型框架可以由待查询字段模块、度量参数模块、与筛选条件模块构成。预设查询模型框架本身不包含具体数值,数据查询装置在根据不同数据分析操作建立具体的数据查询模型时,需要根据预设查询模型框架建立形式统一的数据查询模型。实际应用中预设查询模型可以是集合的形式,也可以是其他形式,还可以根据实际情况包括其他一些模块,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
本发明实施例中,数据查询装置会将提取出的待查询字段添加至预设查询模型框架的待查询字段模块中;数据查询装置会将提取出的度量参数添加至预设查询模型框架的度量参数模块中;数据查询装置会将提取出的筛选条件,添加至预设查询模型框架的筛选条件模块中,最后得到第一查询模型。
S203、数据查询装置从预设查询模型和预设查询结果对应关系中,查找包含第一查询模型的第一预设查询模型,第一预设查询模型为预设查询模型和预设查询结果对应关系中包含第一查询模型的预设查询模型。
当数据查询装置在将待查询字段、度量参数及筛选条件添加至预设查询模型框架中,得到第一查询模型之后,数据查询装置就会从预设查询模型和预设查询结果对应关系中,查找包含第一查询模型的第一预设查询模型。
本发明实施例中,预设查询模型和预设查询结果对应关系为,预设查询模型和其对应的查询结果,以索引键-值的形式进行存储。其中,预设查询模型是索引键,对应的预设查询结果是值。预设查询模型和预设查询结果的对应关系可以由数据查询装置的初始化操作录入,比如数据查询装置在使用查询模型在缓存中首次查找前,缓存中还没有可用的查询模型,数据查询装置可以根据数据库中包含的初始结果数据先创建一个默认查询模型,并将该默认查询模型和对应的查询结果作为预设查询模型和预设查询结果录入缓存,以便首次在缓存中查找时使用;预设查询模型和预设查询结果的对应关系也可以由数据查询装置在后续数据查询操作中进行不断更新,比如在每次数据查询操作完成后,数据查询装置所使用的查询模型和对应的查询结果都会形成一条新的对应关系,并由数据查询装置更新进预设查询模型和预设查询结果的对应关系中。预设查询模型和预设查询结果的对应关系可以存放在缓存中,也可以是其他存放位置,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
本发明实施例中,数据查询装置从预设查询模型和预设查询结果对应关系中,查找包含第一查询模型的第一预设查询模型具体过程为:数据查询装置将第一查询模型的待查询字段与预设查询模型的待查询字段对比,判断预设查询模型的待查询字段是否包含第一查询模型的待查询字段;数据查询装置将第一查询模型的度量参数与预设查询模型的度量参数对比,判断预设查询模型的度量参数是否包含第一查询模型的度量参数;数据查询装置将第一查询模型的待查询字段与预设查询模型的筛选条件对比,判断预设查询模型的筛选条件是否包含第一查询模型的筛选条件;最后,数据查询装置将待查询字段、度量参数、筛选条件均包含第一查询模型的预设查询模型确定为第一预设查询模型。
示例性的,预设查询模型和预设查询结果中,预设查询模型Model_V包含待查询字段{a,b,c}、度量参数{d,e,f}和筛选条件{}。数据查询装置建立的第一查询模型包含待查询字段{a,b,c}、度量参数{d,e,f}和筛选条件{c in(c1)}。其中,Model_V的待查询字段包含第一查询模型的待查询字段;Model_V的度量参数包含第一查询模型的度量参数;Model_V的筛选条件包含第一查询模型的筛选条件,因此数据查询装置可确定Model_V为包含第一查询模型的第一预设查询模型。
S204、数据查询装置从预设查询模型和预设查询结果对应关系中,获取第一预设查询模型对应的第一预设查询结果。
当数据查询装置从预设查询模型和预设查询结果对应关系中,查找到包含第一查询模型的第一预设查询模型之后,数据查询装置就可根据预设查询模型和预设查询结果的对应关系,获取第一预设查询模型对应的第一预设查询结果。
本发明实施例中,数据查询装置利用第一预设查询模型作为索引键,在预设查询模型和预设查询结果的对应关系中,寻找该索引键对应的值,作为第一预设查询模型对应的第一预设查询结果。
示例性的,预设查询模型Model_V为第一预设查询模型,包含待查询字段{a,b,c},度量参数{d,e,f}与筛选条件{},根据预设查询模型和预设查询结果的对应关系,数据查询装置可以获取Model_V对应的预设查询结果,假设如表6所示。
表6
a | b | c | d(sum) | e(max) | f(min) |
a1 | b1 | c1 | 1 | 10 | 6 |
a1 | b1 | c2 | 2 | 5 | 9 |
a1 | b2 | c1 | 3 | 20 | 11 |
a1 | b2 | c2 | 4 | 2 | 22 |
S205、数据查询装置根据筛选条件,对第一预设查询结果进行筛选,得到筛选结果。
当数据查询装置从预设查询模型和预设查询结果对应关系中,获取第一预设查询模型对应的第一预设查询结果之后,数据查询装置就会根据第一查询模型包含的筛选条件,对第一预设查询结果进行筛选,得到筛选结果。
示例性的,第一查询模型包含待查询字段{a,b,c}、度量参数{d,e,f}和筛选条件{c in(c1)},第一预设查询结果如表6所示,数据查询装置可以得到筛选结果如表7所示。
表7
a | b | c | d(sum) | e(max) | f(min) |
a1 | b1 | c1 | 1 | 10 | 6 |
a1 | b2 | c1 | 3 | 20 | 11 |
S206、数据查询装置从第一预设查询结果中,提取待查询字段对应的查询结果。
当数据查询装置根据筛选条件,对第一预设查询结果进行筛选,得到筛选结果之后,数据查询装置就会根据第一查询模型包含的待查询字段,从第一预设查询结果中,提取待查询字段对应的查询结果。
示例性的,第一查询模型包含待查询字段{a,b}、度量参数{d,e,f}和筛选条件{},第一预设查询结果如表6所示,数据查询装置可以从第一预设查询结果中,提取到待查询字段a,b对应的查询结果,如表8所示。
表8
a | b |
a1 | b1 |
a1 | b1 |
a1 | b2 |
a1 | b2 |
S207、数据查询装置基于查询结果和筛选结果,得到待度量数据。
当数据查询装置在从第一预设查询结果中,提取待查询字段对应的查询结果之后,数据查询装置就会基于步骤S205中得到的筛选结果,和步骤S206中得到的查询结果,得到待度量数据。
示例性的,第一查询模型包含待查询字段{a,b}、度量参数{d,e,f}和筛选条件{},第一预设查询结果如表6所示,数据查询装置可以通过步骤S205中得到筛选结果如表7所示,以及通过步骤S206中得到查询结果如表8所示,数据查询装置基于筛选结果表7和查询结果表8得到待度量数据,如表9所示。
表9
a | b | d(sum) | e(max) | f(min) |
a1 | b1 | 1 | 10 | 6 |
a1 | b1 | 2 | 5 | 9 |
a1 | b2 | 3 | 20 | 11 |
a1 | b2 | 4 | 2 | 22 |
S208、数据查询装置利用度量参数,对待度量数据进行计算,得到计算结果。
当数据查询装置在基于查询结果和筛选结果,得到待度量数据之后,数据查询装置就会利用第一查询模型中包含的度量参数,对待度量数据计算,得到计算结果。
本发明实施例中,当第一查询模型的待查询字段与第一预设查询结果中的对应的预设查询字段一致时,数据查询装置无需使用度量参数进行度量计算,直接将第一查询模型中度量参数对应的度量结果输出即可。
示例性的,第一查询模型包含待查询字段{a,b}、度量参数{d,e,f}和筛选条件{},数据查询模型得到的待度量数据如表9所示,数据查询装置会利用第一查询模型中包含的度量参数{d,e,f},对待度量数据表8进行计算,其中,度量参数d代表的计算方式为求和,度量参数e代表求最大值,度量参数f代表求最小值,数据查询装置根据度量参数计算后,得到d、e、f对应的计算结果,如表10所示。
表10
a | b | d(sum) | e(max) | f(min) |
a1 | b1 | 3(sum(1,2)) | 10(max(10,5)) | 6(min(6,9)) |
a1 | b2 | 7(sum(3,4)) | 20(max(20,2)) | 11(min(11,22)) |
S209、数据查询装置将筛选结果、查询结果、计算结果确定为第一查询结果。
当数据查询装置在利用度量参数,对待度量数据进行计算,得到计算结果之后,数据查询装置就会将步骤S205中得到的筛选结果,步骤S206中得到的查询结果,以及步骤S207和步骤S208中得到的计算结果确定为第一模型对应的第一查询结果。
示例性的,第一查询模型包含待查询字段{a,b}、度量参数{d,e,f}和筛选条件{},数据查询模型通过步骤S206至步骤S208,分别得到筛选结果如表6所示,查询结果如表8所示,计算结果如表10所示,数据查询模型将筛选结果、查询结果、计算结果确定为第一模型对应的第一查询结果,如表11所示。
表11
a | b | d(sum) | e(max) | f(min) |
a1 | b1 | 3(sum(1,2)) | 10(max(10,5)) | 6(min(6,9)) |
a1 | b2 | 7(sum(3,4)) | 20(max(20,2)) | 11(min(11,22)) |
在本发明实施例中,进一步地,在步骤S203之后,数据查询装置还可以实施以下步骤:
S210、当数据查询装置从预设查询模型和预设查询结果对应关系中,未查找到包含第一查询模型的第一预设查询模型时,数据查询装置将第一查询模型与数据库进行匹配,得到第二查询结果,数据库用于存储初始结果数据。
当数据查询装置从预设查询模型和预设查询结果对应关系中,未查找到包含第一查询模型的第一预设查询模型时,说明缓存中没有存储第一查询模型对应的查询结果数据,需要数据查询装置访问数据库查找第一查询模型对应的结果数据。因此数据查询装置会将第一查询模型与数据库进行匹配,得到由数据库返回的第二查询结果。
本发明实施例中,数据查询装置将第一查询模型与数据库进行匹配时,可以将第一查询模型先转换成编程语言然后提交数据库进行查询,也可以根据实际应用中的数据库类型使用其他的查询方式进行查询。
示例性的,缓存中已有预设查询模型Model_V,包含待查询字段{a,b,c},度量参数{d,e,f}与筛选条件{},而数据查询装置建立的第一查询模型包含待查询字段{a,b,c,h},度量参数{d,e,f,g}与筛选条件{}。当数据查询装置使用第一查询模型在缓存中的预设查询模型中进行查找时,由于第一查询模型包含的数据成员比预设查询模型Model_V更多,所以数据查询模型在缓存中找不到可以包含第一查询模型的预设查询模型,因此数据查询装置需要将第一查询模型与数据库进行匹配,得到第一查询模型对应的第二查询结果。
S211、数据查询装置从预设查询模型和预设查询结果对应关系中,查找第一查询模型的待查询字段、度量参数和筛选条件包含的预设查询模型。
当数据查询装置从预设查询模型和预设查询结果对应关系中,未查找到包含第一查询模型的第一预设查询模型时,数据查询装置还会查找第一查询模型的待查询字段、度量参数和筛选条件包含的预设查询模型。
本发明实施例中,数据查询装置将第一查询模型的待查询字段与预设查询模型的待查询字段对比,判断第一查询模型的待查询字段是否包含预设查询模型的待查询字段;数据查询装置将第一查询模型的度量参数与预设查询模型的度量参数对比,判断第一查询模型的度量参数是否包含预设查询模型的度量参数;数据查询装置将第一查询模型的筛选条件与预设查询模型的筛选条件对比,判断第一查询模型的筛选条件是否包含预设查询模型的筛选条件。
示例性的,缓存中已有预设查询模型Model_V,包含待查询字段{a,b,c},度量参数{d,e,f}与筛选条件{},而数据查询装置建立的第一查询模型包含待查询字段{a,b,c,h},度量参数{d,e,f,g}与筛选条件{}。数据查询装置可以判断得出:第一查询模型的待查询字段包含预设查询模型Model_V的待查询字段;第一查询模型的度量参数包含预设查询模型Model_V的度量参数;第一查询模型的筛选条件包含预设查询模型Model_V的筛选条件。
S212、数据查询装置将预设查询模型确定为第二预设查询模型。
当数据查询装置从预设查询模型和预设查询结果对应关系中,查找第一查询模型的待查询字段、度量参数和筛选条件包含的预设查询模型之后,数据查询装置就会将第一查询模型的待查询字段、度量参数、筛选条件包含的预设查询模型确定为第二预设查询模型。
示例性的,缓存中已有预设查询模型Model_V,包含待查询字段{a,b,c},度量参数{d,e,f}与筛选条件{},而数据查询装置建立的第一查询模型包含待查询字段{a,b,c,h},度量参数{d,e,f,g}与筛选条件{}。数据查询装置可以将预设查询模型Model_V确定为第一查询模型包含的第二预设查询模型。
S213、数据查询装置从预设查询模型和预设查询结果对应关系中,查找第二预设查询模型对应的第二预设查询结果;
当数据查询装置将预设查询模型确定为第二预设查询模型之后,数据查询装置就会从预设查询模型和预设查询结果对应关系中,查找第二预设查询模型对应的第二预设查询结果。
S214、数据查询装置将第二预设查询模型及第二预设查询结果,替换为第一查询模型和第二查询结果。
当数据查询装置从预设查询模型和预设查询结果对应关系中,查找到第二预设查询模型对应的第二预设查询结果之后,数据查询装置就会将第二预设查询模型及第二预设查询结果,替换为第一查询模型和第二查询结果。
本发明实施例中,当数据查询装置查找到第一查询模型包含的第二预设查询模型后,说明缓存中第二预设查询模型的待查询字段、度量参数及筛选条件都能在第一查询模型的待查询字段、度量参数及筛选条件中找到,并且第一查询模型里还可能包含更多的待查询字段、度量参数及筛选条件。因此,数据查询装置将缓存已有的第二预设查询模型及其对应的第二预设查询结果替换为第一查询模型及其对应的第二查询结果之后,缓存中预设查询模型和预设查询结果的包含的数据范围就得到了更新和扩大,因此在下一次查找时,数据查询装置就更容易在缓存的预设查询模型和预设查询结果的对应关系中命中查询目标,从而进一步提升在缓存中查找的命中率。
示例性的,缓存中已有预设查询模型Model_V,包含待查询字段{a,b,c},度量参数{d,e,f}与筛选条件{},对应的预设查询结果如表6所示,数据查询装置建立的第一查询模型Model_V1包含待查询字段{a,b,c,h},度量参数{d,e,f,g}与筛选条件{},Model_V1与数据库匹配得到的第二查询结果假设为报表R2。数据查询装置查找到预设查询模型Model_V为第一查询模型Model_V1包含的第二预设查询模型之后,数据查询装置用第一查询模型Model_V1及Model_V1对应的第二查询结果R2替换Model_V及Model_V对应的预设查询结果(如表6所示)。替换后的预设查询模型和预设查询模型结果对应关系为:第一查询模型Model_V1对应第二查询结果R2。这样,在数据查询装置进行下次查找时,基于R2的查询分析操作就更容易命中Model_V1为第一预设查询模型,其查询结果可以由数据查询装置通过步骤S205步骤209对R2进行提取来相应的得到。
在本发明实施例中,进一步地,在步骤S211之后,还可以实施以下步骤:
S215、当数据查询装置未查找到第一查询模型包含的第二预设查询模型时,数据查询装置将第一查询模型与第一查询模型对应的第二查询结果,添加至预设查询模型和预设查询结果对应关系中。
当数据查询装置从缓存中的预设查询模型和预设查询结果对应关系中,未查找到第一查询模型的待查询字段、度量参数和筛选条件包含的第二预设查询模型时,说明缓存中确实不存在与第一查询模型有关的查询分析操作及其对应的结果数据,数据查询装置就会直接将第一查询模型及在数据库中查找到的第一查询模型对应的第二查询结果以键值对的形式添加至缓存,也就是新增一条预设查询模型与预设查询结果的对应关系,以便提高数据查询装置下一次查找的缓存命中率。
可以理解的是,本发明实施例提供的数据查询方法,在收到数据查询操作时会建立第一查询模型,接下来在缓存的预设查询模型和预设查询结果的对应关系中查找包含第一查询模型的第一预设查询模型,如果找到第一预设查询模型,就可以从缓存中获取第一预设查询模型对应的第一预设查询结果;最后数据查询装置再从第一预设查询结果中,提取出第一查询模型对应的第一查询结果。通过本发明实施例提供的方法,数据查询分析操作可以在缓存中快速找到并提取查询分析结果,从而大大减少了与数据库之间的数据交换,极大减轻了数据库的压力,并能显著提高数据查询分析操作在缓存中的命中率,极大提升了数据查询速度。进一步的,当第一查询模型无法在缓存中找到包含第一查询模型的第一预设查询模型时,数据查询装置还会在缓存的预设查询模型和预设查询结果对应关系中查找第一查询模型包含的第二预设查询模型,如果能够查找到第二预设查询模型,数据查询装置会用第一查询模型和第二查询结果替换之前缓存中的第二预设查询模型和第二预设查询结果,使得缓存中的预设查询模型和预设查询结果的对应关系可以包含更大的数据范围,从而进一步提高了缓存查询命中率。
实施例三
基于实施例一和实施例二的同一发明构思下,本发明实施例提供一种数据查询装置1,对应于一种数据查询方法;图4为本发明实施例提供的一种数据查询装置的结构示意图一,如图4所示,该数据查询装置1包括:
建立单元10,用于在接收到数据查询操作时,根据所述数据查询操作建立第一查询模型。
查询单元11,用于从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型,所述第一预设查询模型为所述预设查询模型和预设查询结果对应关系中包含所述第一查询模型的预设查询模型。
提取单元12,用于从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,所述第一预设查询结果为所述预设查询模型和预设查询结果对应关系中,所述第一预设查询模型对应的查询结果。
本发明实施例中,上述建立单元10,还用于从所述数据查询操作中,提取所述数据查询操作包含的待查询字段、度量参数及筛选条件;将所述待查询字段、所述度量参数及所述筛选条件添加至预设查询模型框架中,得到所述第一查询模型。
本发明实施例中,上述提取单元12,还用于从所述预设查询模型和预设查询结果对应关系中,获取所述第一预设查询模型对应的所述第一预设查询结果;根据所述筛选条件,对所述第一预设查询结果进行筛选,得到筛选结果;从所述第一预设查询结果中,提取所述待查询字段对应的查询结果;基于所述查询结果和所述筛选结果,得到待度量数据;利用所述度量参数,对所述待度量数据进行计算,得到计算结果;将所述筛选结果、所述查询结果、所述计算结果确定为所述第一查询结果。
本发明实施例中,上述查询单元11,还用于在从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型之后,当从所述预设查询模型和预设查询结果对应关系中,未查找到包含所述第一查询模型的所述第一预设查询模型时,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果,所述数据库用于存储初始结果数据。
本发明实施例中,上述查询单元11,还用于将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,所述第二预设查询模型为所述预设查询模型和预设查询结果对应关系中所述第一查询模型包含的预设查询模型;从所述预设查询模型和预设查询结果对应关系中,查找所述第二预设查询模型对应的第二预设查询结果。
本发明实施例中,上述数据查询装置还包括更新单元13,用于将所述第二预设查询模型及所述第二预设查询结果,替换为所述第一查询模型和所述第二查询结果。
本发明实施例中,上述查询单元11,还用于从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型的待查询字段、度量参数和筛选条件包含的所述预设查询模型;将所述预设查询模型确定为所述第二预设查询模型。
本发明实施例中,上述更新单元13,还用于将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,当未查找到所述第一查询模型包含的所述第二预设查询模型时,将所述第一查询模型与所述第一查询模型对应的所述第二查询结果,添加至所述预设查询模型和预设查询结果对应关系中。
基于实施例一和实施例二的同一发明构思下,本发明实施例提供一种数据查询装置2,对应于一种数据查询方法;图5为本发明实施例提供的一种数据查询装置的结构示意图二,如图5所示,该数据查询装置2包括:处理器20、存储器21及通信总线22。在具体的实施例的过程中,上述处理器20可以为特定用途集成电路(ASIC,Application SpecificIntegrated Circuit)、数字信号处理器(DSP,Digital Signal Processor)、数字信号处理设备(DSPD,Digital Signal Processing Device)、可编程逻辑设备(PLD,ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明的实施例中,上述通信总线22用于实现处理器20和存储器21之间的连接通信;上述处理器20用于执行存储器21中存储的运行程序,以实现上述实施例中建立单元10、查询单元11、提取单元12和更新单元13的操作步骤。
本发明实施例提供的数据查询装置,在收到数据查询操作时会建立第一查询模型,接下来在缓存的预设查询模型和预设查询结果的对应关系中查找包含第一查询模型的第一预设查询模型,如果找到第一预设查询模型,就可以从缓存中获取第一预设查询模型对应的第一预设查询结果;最后数据查询装置再从第一预设查询结果中,提取出第一查询模型对应的第一查询结果。由此可见,本发明实施例提供的数据查询装置,在进行数据查询分析操作时可以从缓存中快速找到并提取查询分析结果,从而大大减少了与数据库之间的数据交换,极大减轻了数据库的压力,并能显著提高数据查询分析操作在缓存中的命中率,极大提升了数据查询速度。进一步的,当第一查询模型无法在缓存中找到包含第一查询模型的第一预设查询模型时,本发明实施例提供的数据查询装置还会在缓存的预设查询模型和预设查询结果对应关系中查找第一查询模型包含的第二预设查询模型,如果能够查找到第二预设查询模型,数据查询装置会用第一查询模型和第二查询结果替换之前缓存中的第二预设查询模型和第二预设查询结果,使得缓存中的预设查询模型和预设查询结果的对应关系可以包含更大的数据范围,从而进一步提高了缓存查询命中率,提升了查询速度。
本发明实施例提供一种计算机可读存储介质,上述计算机可读存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,应用于数据查询装置中,该程序被处理器执行时实现如实施例一和实施例二的方法。
具体来讲,本实施例中的一种输入检查方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
在接收到数据查询操作时,根据所述数据查询操作建立第一查询模型;
从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型,所述第一预设查询模型为所述预设查询模型和预设查询结果对应关系中包含所述第一查询模型的预设查询模型;
从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,所述第一预设查询结果为所述预设查询模型和预设查询结果对应关系中,所述第一预设查询模型对应的查询结果。
在本发明的实施例中,进一步地,根据所述数据查询操作建立第一查询模型,上述一个或者多个程序被上述一个或者多个处理器执行,具体实现以下步骤:
从所述数据查询操作中,提取所述数据查询操作包含的待查询字段、度量参数及筛选条件;
将所述待查询字段、所述度量参数及所述筛选条件添加至预设查询模型框架中,得到所述第一查询模型。
在本发明的实施例中,进一步地,从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,上述一个或者多个程序被上述一个或者多个处理器执行,具体实现以下步骤:
从所述预设查询模型和预设查询结果对应关系中,获取所述第一预设查询模型对应的所述第一预设查询结果;
根据所述筛选条件,对所述第一预设查询结果进行筛选,得到筛选结果;
从所述第一预设查询结果中,提取所述待查询字段对应的查询结果;
基于所述查询结果和所述筛选结果,得到待度量数据;
利用所述度量参数,对所述待度量数据进行计算,得到计算结果;
将所述筛选结果、所述查询结果、所述计算结果确定为所述第一查询结果。
在本发明的实施例中,进一步地,从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型之后,上述一个或者多个程序被上述一个或者多个处理器执行,还实现以下步骤:
当从所述预设查询模型和预设查询结果对应关系中,未查找到包含所述第一查询模型的所述第一预设查询模型时,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果,所述数据库用于存储初始结果数据。在本发明的实施例中,进一步地,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,上述一个或者多个程序被上述一个或者多个处理器执行,还实现以下步骤:
从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,所述第二预设查询模型为所述预设查询模型和预设查询结果对应关系中所述第一查询模型包含的预设查询模型;
从所述预设查询模型和预设查询结果对应关系中,查找所述第二预设查询模型对应的第二预设查询结果;
将所述第二预设查询模型及所述第二预设查询结果,替换为所述第一查询模型和所述第二查询结果。
在本发明的实施例中,进一步地,从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,上述一个或者多个程序被上述一个或者多个处理器执行,具体实现以下步骤:
从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型的待查询字段、度量参数和筛选条件包含的所述预设查询模型;
将所述预设查询模型确定为所述第二预设查询模型。
在本发明的实施例中,进一步地,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,上述一个或者多个程序被上述一个或者多个处理器执行,还实现以下步骤:
当未查找到所述第一查询模型包含的所述第二预设查询模型时,将所述第一查询模型与所述第一查询模型对应的所述第二查询结果,添加至所述预设查询模型和预设查询结果对应关系中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,网络功能部署系统,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种数据查询方法,其特征在于,包括:
在接收到数据查询操作时,根据所述数据查询操作建立第一查询模型;
从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型,所述第一预设查询模型为所述预设查询模型和预设查询结果对应关系中包含所述第一查询模型的预设查询模型;
从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,所述第一预设查询结果为所述预设查询模型和预设查询结果对应关系中,所述第一预设查询模型对应的查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据查询操作建立第一查询模型,包括:
从所述数据查询操作中,提取所述数据查询操作包含的待查询字段、度量参数及筛选条件;
将所述待查询字段、所述度量参数及所述筛选条件添加至预设查询模型框架中,得到所述第一查询模型。
3.根据权利要求2所述的方法,其特征在于,所述从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,包括:
从所述预设查询模型和预设查询结果对应关系中,获取所述第一预设查询模型对应的所述第一预设查询结果;
根据所述筛选条件,对所述第一预设查询结果进行筛选,得到筛选结果;
从所述第一预设查询结果中,提取所述待查询字段对应的查询结果;
基于所述查询结果和所述筛选结果,得到待度量数据;
利用所述度量参数,对所述待度量数据进行计算,得到计算结果;
将所述筛选结果、所述查询结果、所述计算结果确定为所述第一查询结果。
4.根据权利要求1所述的方法,其特征在于,所述从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型之后,所述方法还包括:
当从所述预设查询模型和预设查询结果对应关系中,未查找到包含所述第一查询模型的所述第一预设查询模型时,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果,所述数据库用于存储初始结果数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,所述方法还包括:
从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,所述第二预设查询模型为所述预设查询模型和预设查询结果对应关系中所述第一查询模型包含的预设查询模型;
从所述预设查询模型和预设查询结果对应关系中,查找所述第二预设查询模型对应的第二预设查询结果;
将所述第二预设查询模型及所述第二预设查询结果,替换为所述第一查询模型和所述第二查询结果。
6.根据权利要求5所述的方法,其特征在于,所述从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,包括:
从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型的待查询字段、度量参数和筛选条件包含的所述预设查询模型;
将所述预设查询模型确定为所述第二预设查询模型。
7.根据权利要求5所述的方法,其特征在于,所述将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果之后,所述方法还包括:
当未查找到所述第一查询模型包含的所述第二预设查询模型时,将所述第一查询模型与所述第一查询模型对应的所述第二查询结果,添加至所述预设查询模型和预设查询结果对应关系中。
8.一种数据查询装置,其特征在于,所述数据查询装置包括:处理器、存储器及通信总线,所述处理器用于执行所述存储器中存储的运行程序,以实现以下步骤:
在接收到数据查询操作时,根据所述数据查询操作建立第一查询模型;从预设查询模型和预设查询结果对应关系中,查找包含所述第一查询模型的第一预设查询模型,所述第一预设查询模型为所述预设查询模型和预设查询结果对应关系中包含所述第一查询模型的预设查询模型;从所述第一预设查询模型对应的第一预设查询结果中,提取所述第一查询模型对应的第一查询结果,所述第一预设查询结果为所述预设查询模型和预设查询结果对应关系中,所述第一预设查询模型对应的查询结果。
9.根据权利要求8所述的数据查询装置,其特征在于,
所述处理器,还用于从所述数据查询操作中,提取所述数据查询操作包含的待查询字段、度量参数及筛选条件;将所述待查询字段、所述度量参数及所述筛选条件添加至预设查询模型框架中,得到所述第一查询模型。
10.根据权利要求9所述的数据查询装置,其特征在于,
所述处理器,还用于从所述预设查询模型和预设查询结果对应关系中,获取所述第一预设查询模型对应的所述第一预设查询结果;根据所述筛选条件,对所述第一预设查询结果进行筛选,得到筛选结果;从所述第一预设查询结果中,提取所述待查询字段对应的查询结果;基于所述查询结果和所述筛选结果,得到待度量数据;利用所述度量参数,对所述待度量数据进行计算,得到计算结果;将所述筛选结果、所述查询结果、所述计算结果确定为所述第一查询结果。
11.根据权利要求8所述的数据查询装置,其特征在于,
所述处理器,还用于当从所述预设查询模型和预设查询结果对应关系中,未查找到包含所述第一查询模型的所述第一预设查询模型时,将所述第一查询模型与数据库进行匹配,得到所述第一查询模型对应的第二查询结果,所述数据库用于存储初始结果数据。
12.根据权利要求11所述的数据查询装置,其特征在于,
所述处理器,还用于从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型包含的第二预设查询模型,所述第二预设查询模型为所述预设查询模型和预设查询结果对应关系中所述第一查询模型包含的预设查询模型;从所述预设查询模型和预设查询结果对应关系中,查找所述第二预设查询模型对应的第二预设查询结果;将所述第二预设查询模型及所述第二预设查询结果,替换为所述第一查询模型和所述第二查询结果。
13.根据权利要求12所述的装置,其特征在于,
所述处理器,还用于从所述预设查询模型和预设查询结果对应关系中,查找所述第一查询模型的待查询字段、度量参数和筛选条件包含的所述预设查询模型;将所述预设查询模型确定为所述第二预设查询模型。
14.根据权利要求12所述的装置,其特征在于,
所述处理器,还用于当未查找到所述第一查询模型包含的所述第二预设查询模型时,将所述第一查询模型与所述第一查询模型对应的所述第二查询结果,添加至所述预设查询模型和预设查询结果对应关系中。
15.一种计算机可读存储介质,其上存储有计算机程序,应用于数据查询装置,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910748540.0A CN112395283B (zh) | 2019-08-14 | 2019-08-14 | 一种数据查询方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910748540.0A CN112395283B (zh) | 2019-08-14 | 2019-08-14 | 一种数据查询方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395283A true CN112395283A (zh) | 2021-02-23 |
CN112395283B CN112395283B (zh) | 2022-12-13 |
Family
ID=74601516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910748540.0A Active CN112395283B (zh) | 2019-08-14 | 2019-08-14 | 一种数据查询方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395283B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268343A (zh) * | 2013-05-24 | 2013-08-28 | 北京京东尚科信息技术有限公司 | 将关系数据库和缓存透明结合的系统和方法 |
CN108255959A (zh) * | 2017-12-21 | 2018-07-06 | 武汉斑马快跑科技有限公司 | 一种Redis中数据查询方法及装置 |
-
2019
- 2019-08-14 CN CN201910748540.0A patent/CN112395283B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268343A (zh) * | 2013-05-24 | 2013-08-28 | 北京京东尚科信息技术有限公司 | 将关系数据库和缓存透明结合的系统和方法 |
CN108255959A (zh) * | 2017-12-21 | 2018-07-06 | 武汉斑马快跑科技有限公司 | 一种Redis中数据查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112395283B (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN108710662B (zh) | 语言转换方法和装置、存储介质、数据查询系统和方法 | |
CN112328842B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113255370A (zh) | 基于语义相似度的行业类型推荐方法、装置、设备及介质 | |
CN106874332B (zh) | 数据库访问方法和装置 | |
CN112328805A (zh) | 基于nlp的漏洞描述信息与数据库表的实体映射方法 | |
CN111813803A (zh) | 语句块执行计划的生成方法、装置、设备和存储介质 | |
KR20230129555A (ko) | 클라우드 리소스의 자바스크립트 객체 표기(json) 쿼리조인 | |
CN111797095B (zh) | 索引构建方法和json数据查询方法 | |
CN107679107B (zh) | 一种基于图数据库的电网设备可达性查询方法及系统 | |
CN110765100B (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
CN110955712A (zh) | 基于多数据源的开发api处理方法及装置 | |
CN113010539A (zh) | 一种数据处理方法及装置 | |
CN112395283B (zh) | 一种数据查询方法、装置及存储介质 | |
CN111984688A (zh) | 业务知识关联关系的确定方法及装置 | |
CN110019783B (zh) | 属性词聚类方法及装置 | |
CN110968835A (zh) | 一种近似分位数计算方法及装置 | |
CN110990423A (zh) | Sql语句的执行方法、装置、设备和存储介质 | |
CN115328917A (zh) | 一种查询方法、装置、设备及存储介质 | |
CN110333883B (zh) | 一种更新持久化数据的方法及装置 | |
CN114297230A (zh) | 数据处理方法、装置、设备及介质 | |
CN116069830A (zh) | 信息查询方法、装置、电子设备以及存储介质 | |
CN114201525B (zh) | 查询数据的方法及装置 | |
CN113536052B (zh) | 一种基于k边连通分量在大型网络中搜索个性化影响力社区的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |