CN110807055A - 用于对数据库执行查询的方法和系统 - Google Patents
用于对数据库执行查询的方法和系统 Download PDFInfo
- Publication number
- CN110807055A CN110807055A CN201910972979.1A CN201910972979A CN110807055A CN 110807055 A CN110807055 A CN 110807055A CN 201910972979 A CN201910972979 A CN 201910972979A CN 110807055 A CN110807055 A CN 110807055A
- Authority
- CN
- China
- Prior art keywords
- query
- results
- database
- user
- aggregation
- 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
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/248—Presentation of 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种用于对数据库执行查询的方法,包括:接收来自用户的客户端的对数据库的查询;对所述数据库执行所述查询;在所述查询期间或查询完成后自动地使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果;以及向所述用户的客户端返回所述汇聚结果以供呈现。本申请还涉及相应的系统和计算机可读介质。本申请能够更直观高效地呈现有价值的数据库查询结果。
Description
技术领域
本发明涉及数据库,尤其涉及用于对数据库执行查询的方法和系统。
背景技术
对数据库执行查询是最常见的数据库操作之一。
在现有技术中,在对数据库执行查询时,通常是在执行完查询后,简单地返回所有匹配的结果,例如向用户返回包含查询结果的数据表格。然而,如果数据表格中的数据量很多,则用户难以直观、高效地发现结果中包含的有价值的信息。
在另一种现有技术方案中,在执行完查询之后,还向用户返回对查询结果的简单统计数据,例如最大值、最小值、平均值等。但是这些统计数据所包含的信息有限。例如,简单统计数据不能向用户返回查询结果的分类等信息。
因此,希望能够改进查询结果的总结和返回,以便向用户更加直观高效地提供有价值的信息。
发明内容
为了克服现有技术的缺陷,本发明提供了能够更直观高效地呈现数据库查询结果的有价值信息的技术方案。
本发明通过以下技术方案来实现其上述目的。
在本发明的一个方面中,公开了一种用于对数据库执行查询的方法,所述方法包括:
接收来自用户的客户端的对数据库的查询;
对所述数据库执行所述查询;
在所述查询期间或查询完成后自动地使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果;以及
向所述用户的客户端返回所述汇聚结果以供呈现。
优选地,使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果包括在对所述数据库执行所述查询期间实时地对所述查询的结果执行汇聚。
优选地,所述方法还包括:接收来自所述用户的汇聚参数;以及使用所述汇聚参数来对所述查询的结果执行汇聚。
优选地,所述方法还包括:在对所述数据库执行查询期间接收来自所述用户的对汇聚参数的更改;以及
使用经更改的汇聚参数来对所述查询的结果执行汇聚。
优选地,所述方法还包括:
对所述查询的结果执行统计以生成统计结果;以及
向所述用户传送所述统计结果以与所述汇聚结果一起呈现。
优选地,对所述查询的结果执行汇聚包括对所述查询的结果执行聚类操作。
优选地,所述汇聚结果以可交互的方式被呈现给所述用户。
优选地,所述方法还包括存储所述汇聚结果。
优选地,所述方法还包括:接收来自第二用户的对所述数据库的第二查询;确定所述第二查询是否与所述查询相同;以及如果所述第二查询与所述查询相同,则向所述第二用户传送所存储的汇聚结果。
优选地,所述方法还包括:在使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果之前,自动确定所述机器学习算法。
优选地,自动确定所述机器学习算法包括:在接收到所述查询之后,确定所述查询所涉及的数据库的类别;以及根据所确定的数据库的类别,确定所述机器学习算法。
在另一方面,公开了一种用于对数据库执行查询的系统,所述系统包括:
数据库查询组件,所述数据库查询组件被配置成接收来自用户的客户端的对数据库的查询并对所述数据库执行所述查询;
汇聚组件,所述汇聚组件被配置成在所述查询期间或查询完成后自动地使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果;以及
传送组件,所述传送组件被配置成向所述用户的所述客户端返回所述汇聚结果以供呈现。
优选地,所述汇聚组件被配置成在对所述数据库执行所述查询期间实时地对所述查询的结果执行汇聚。
优选地,所述系统进一步包括汇聚参数接收组件,所述汇聚参数接收组件被配置成接收来自所述用户的汇聚参数,其中所述汇聚组件使用所述汇聚参数来对所述查询的结果执行汇聚。
优选地,所述汇聚参数接收组件在对所述数据库执行所述查询期间接收来自所述用户的对汇聚参数的更改,其中所述汇聚组件使用经更改的汇聚参数来对所述查询的结果执行汇聚。
优选地,所述系统进一步包括统计组件,所述统计组件被配置成对所述查询的结果执行统计以生成统计结果。
优选地,所述系统进一步包括算法确定组件,所述算法确定组件被配置成在使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果之前,自动确定所述机器学习算法。
优选地,自动确定所述机器学习算法包括:在接收到所述查询之后,确定所述查询所涉及的数据库的类别;以及根据所确定的数据库的类别,确定所述机器学习算法。
优选地,所述系统进一步包括存储组件,所述存储组件被配置成存储所述汇聚结果。
优选地,所述数据库查询组件还被配置成接收来自第二用户的对所述数据库的第二查询,并且所述数据库查询组件还被配置成确定所述第二查询是否与所述查询相同,以及所述传送组件还被配置成如果所述第二查询与所述查询相同,则向所述第二用户传送所存储的汇聚结果。
在本发明的又一方面中,公开了一种存储指令的计算机可读存储介质,所述指令当被计算机执行时,使所述计算机执行上述方法。
在本发明的再一方面中,公开了一种系统,所述系统包括用于执行上述方法的装置。
与现有技术相比,本发明可具有如下有益效果:
本发明的一些实施例能够向用户更直观高效地提供查询结果中有价值的信息;
本发明的一些实施例允许用户实时改变汇聚参数;以及
本发明的一些实施例允许用户在后续查询前首先查看汇聚结果。
当然,实施本发明的任一实施例无需同时达到所有上述技术效果。
附图说明
本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1示出了根据现有技术的用于对数据库执行查询的方法的示例流程图。
图2示出了根据本发明的实施例的用于对数据库执行查询的方法的流程图。
图3示出了用于对数据库执行查询的系统的示意图。
图4示出了使用聚类算法来对查询到的账户执行聚类所得到的簇的简化示意图。
图5示出了使用回归分析算法来对所查询到的账户购买商品的数额执行分析的结果的简化示意图。
图6示出了用于自动确定执行汇聚的机器学习算法的方法的示例流程图。
图7示出了根据本发明的实施例的用于对数据库执行查询的系统的框图。
具体实施方式
以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
为了能够向用户更直观高效地呈现数据库查询结果中的有价值的信息,本发明提供了在数据库查询执行期间或数据库查询完成后向用户呈现汇聚结果的方法、系统、计算机可读介质和装置。
在传统方案中,在对数据库执行查询时,通常是在执行完查询后,简单地呈现所有匹配的结果,或者呈现对查询结果的简单统计数据,例如最大值、最小值、平均值等。然而,这些统计数据所包含的信息有限。例如,简单统计数据不能向用户呈现查询结果的分类等信息。
参见图1,其示出了根据现有技术的用于对数据库执行查询的方法100的示例流程图。
方法100可包括:在步骤102,接收来自用户的对数据库的查询。例如,用户可查询在特定时间段购买某商品的账号,而服务器可接收该查询。
随后,在步骤104,通过服务器对该数据库执行该查询以获得查询结果。
最后,在步骤106,向用户返回查询结果以供呈现。例如,可以列表形式向用户返回所查询到的在特定时间段购买某商品的账号。
目前,所使用的数据量越来越大,而查询结果中经常也包括大量的数据,可能返回的条目数以千计甚至数以万计。在所返回的数据量很大的情况下,用户可能难以快速发现有用的信息,甚至查询结果变得毫无意义。
在一些示例中,为了解决这样的问题,还可能包括可选的步骤108,对查询结果执行统计并将统计结果返回给用户,例如计数、求和求最大值、求最小值等。例如,在上面的示例中,可能发现几千个账号。此时,可对账号的数量进行计数。或者,还可以对所述账号对应的用户的性别进行计数。或者,可对这些账号在该特定时间段购买的商品的总金额进行求和等。
这样的方案解决了部分问题。但是,执行统计只能提供对查询结果进行初步的概括,其还不能反映查询结果中的复杂的信息,例如不能将这些账号按照其内在共性进行分类。
参见图2,其中示出了根据本发明的实施例的用于对数据库执行查询的方法200的流程图。方法200可参考图3来理解。图3示出了用于对数据库执行查询的系统300的示意图。
如图3所示,系统300可包括用户302所使用的客户端304、服务器306以及数据库308。虽然在图3中将服务器306和数据库308示出为分开的设备,但应领会,数据库308可存在于服务器306中。
此外,虽然在图3中示出了独立的服务器306,但应领会,在直接使用客户端302对数据库308执行查询而没有服务器306的情况下,本说明书实施例的操作中的一些或全部可由客户端304来执行,此时客户端304被认为是充当服务器306。
方法200可包括:在步骤202,接收来自用户302的客户端304的对数据库308的查询。用户302可以通过各种方式提交所述查询。例如,用户302可通过客户端304在由服务器306提供的用户界面的查询框中输入查询。例如,用户302可通过客户端304在例如淘宝等购物网站的搜索框中输入商品名(例如“充电器”)来查询淘宝网上的商品。此时,客户端304或服务器306可将用户302的输入转换为对数据库308的查询语句。
或者,用户302可选择由服务器306的用户界面中提供的查询选项。例如,淘宝的商家可在系统提供的购买时间中选择时间段,并在购买商品中选择商品名,来查询在该时间段购买该商品的账户。同样,客户端304或服务器306可将用户302的输入转换为对数据库308的查询语句。
又或者,用户302可通过客户端304直接输入数据库308的查询语句。例如,淘宝系统的后台工程师可直接输入查询语句,对数据库308执行查询。
对数据库308的查询也可以采用其它形式。
所述数据库308不限于特定类型的数据库。例如,数据库308可以是如MySQL、Oracle等关系数据库,也可以是MongoDB、BigTable等非关系数据库。该数据库308可以是集中式数据库,也可以是分布式数据库。
如上所示,所述查询将被转换为与该数据库308相对应的查询语句。方法200还可包括:在步骤204,对所述数据库执行所述查询。例如,服务器306可使用被转换或被输入的查询语句对该数据库308执行查询。
所述查询可以是集中式查询,或者可以是分布式查询。上述查询语句和执行查询的步骤对本领域技术人员而言是熟知的,且在此不再详细描述。
与传统方案不同,在本说明书的实施例中,方法200还包括:在步骤206,在查询期间或查询完成后自动地使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果。在本说明书中,汇聚是指对数据(例如查询的结果中的数据元素)进行汇总聚集的操作。这种汇总聚集不同于常见的单纯统计,而是可获得关于该数据的更多信息。使用机器学习算法来对查询结果执行汇聚操作能够更多地挖掘并向用户302反馈查询结果所隐含的更多信息,从而增加了查询结果的价值。另外,这个过程可由服务器306自动地执行,不仅不需要使用者有任何专业知识,而且大大提升了用户体验。
例如,可使用聚类算法来执行汇聚。对查询结果执行聚类可将查询结果分为多个子集(簇),其中每个子集具有相同或相似的属性。所述聚类算法可以是K-Means聚类算法、均值偏移聚类算法、DBSCAN聚类算法、使用高斯混合模型的期望最大化聚类算法、和凝聚层次聚类算法中的任何一种。
以上面的查询在特定时间段购买特定商品的账户的查询为例,在执行查询期间或查询完成后,可对查询到的账户应用聚类算法。
例如,服务器306可自动从数据库308中获得与符合查询条件的账户相关联的属性信息,并基于这些属性信息应用聚类算法来对这些账户进行聚类。
例如,参见图4,其示出了使用聚类算法(例如K-Means聚类算法)来对查询到的账户执行聚类所得到的簇的示意图。在图4的示例中,通过执行聚类算法,可得到四个账户簇。通过聚类算法得到的账户组或账户簇虽然是没有标签的,但这种聚类为了用户执行后续分析提供了基础。
例如,用户302通过进一步分析,可进一步确定每个簇的共性。例如,用户302可确定这些簇可分别表示种子账户(例如对该商品或商户而言具有很大潜力的账户)、成长账户(例如对该商品或商户而言价值急速增长的账户)、成熟账户(例如对该商品或商户而言价值趋于稳定的账户)、休眠账户(例如对该商品或商户而言价值较小的账户)等。这样的聚类结果可提供符合查询条件的账户的画像,对于执行查询的商家具有很大的价值。例如,商户可选择加大对种子账户的优惠力度,从而引导种子账户迅速成长。
在另一示例中,用户302通过进一步分析,可确定账户可以被聚类为三组账户,例如耐心账户(例如较为耐心的账户,这些账户很少对产品提出负面意见)、挑剔账户(例如倾向于对产品进行挑剔的账户)、以及普通账户(例如介于耐心账户和挑剔账户两者之间的账户)。在后续处理中,对于不同子集中的账户,商户可以分配不同的售后人员。例如,可以为挑剔账户分配更有经验的售后人员。
在另一个示例中,可使用回归分析算法来执行汇聚。所述回归包括但不限于线性回归、逻辑回归、多项式回归、岭回归等等。接上例,假设查询在特定时间段购买特定商品的账户及其所购买商品的数额。
参见图5,其示出了使用回归分析算法(例如线性回归算法)来对所查询到的账户购买商品的数额执行分析的结果的示意图。如图5所示,通过对特定时间段内购买商品的账户的购买商品的数额执行回归分析,可以很容易地看出账户购买数额的变化趋势。
以上的示例采用了无监督学习算法。但应领会,也可采用半监督学习算法或有监督学习算法。接上例,假设查询在特定时间段购买特定商品的账户。此时,数据库308中可能已经存储有多个已知恶意账户的信息。例如,所述恶意账户可以指从事过风险案件(例如盗号、恶意取现等)的账户。这些已知恶意账户从而被打上标签。使用这些标签,通过半监督或有监督学习算法(例如分类算法),能够预测查询的结果中的账户是否是潜在的恶意账户。在预测查询的结果中的账户是潜在的恶意账户时,可向该用户302传送该账户是恶意账户的提示,从而使得用户302能够针对所提示的潜在恶意账户加强防范。
一般而言,具体采用何种机器学习算法来执行汇聚可由开发者指定并执行相应的配置,例如指定默认的执行参数等,从而允许在无需执行查询的用户302介入的情况下自动执行机器学习算法。
在一些实施例中,服务器306可将一个或多个类别的查询与特定的机器学习算法相关联。例如,当用户302执行对与交易相关联的查询时,可执行分类算法,从而自动识别出所查询到的交易中的疑似恶意案件(例如盗号、恶意取现等)。
具体而言,在使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果之前,可由服务器306来自动确定采用何种机器学习算法来执行汇聚。
参见图6,其示出了用于自动确定执行汇聚的机器学习算法的方法600的示例流程图。
方法600可包括:在步骤602,在接收到查询之后,可确定所述查询所涉及的数据库的类别。例如,假设所述查询是对与交易相关的数据库的查询,则可确定该查询所涉及的数据库的类别为交易类别。假设所述查询不涉及交易(例如仅查询商品库存数据库,或者查询如网站流量数据库等完全不涉及交易系统的数据库),则可确定该查询所涉及的数据库的类别为非交易类别。根据实际需要,还可设想其它类别。
方法600还可包括:在步骤604,根据所确定的数据库的类别,基于确定所执行的机器学习算法。例如,可基于预定义规则来确定所执行的机器学习算法。
预定义规则的示例如下:如果数据库的类别为交易类数据库,则确定机器学习算法为分类算法(例如具体而言为决策树算法)。例如,该分类算法可将该查询的结果中的账户分类为恶意账户和非恶意账户。如果数据库的类别为非交易类数据库,则执行聚类算法(例如K-Means聚类算法)。
此外,优选地,预定义规则还可指定默认参数,例如针对各种算法指定默认参数。如有必要,预定义的规则还可指定其它信息,例如在半监督学习和有监督学习算法中可指定有标签样本。
还可指定其它预定义规则。例如,可针对网站流量数据库确定机器学习算法为回归算法,从而确定查询的结果中网站流量的变化趋势。
所述规则例如可以是由开发者根据需要输入并存储在服务器306中的。
可使用各种汇聚参数来执行汇聚,即可使用各种超参数来执行机器学习算法。
例如,在执行聚类的情况下,聚类参数可包括但不限于目标类的数量。聚类参数还可能包括类之间的距离、类的覆盖度,等等。
又例如,在执行回归分析时,聚类参数可包括但不限于回归分析的算法种类、回归系数、残差等等。
本领域技术人员可知晓何种类型的机器学习算法需要何种超参数,在此不再赘述。
在一些示例中,汇聚参数可以是默认的,例如是由开发者预先确定的。替代地,汇聚参数可以是从用户302接收的。例如,在从用户302接收对数据库的查询语句的同时,可接收来自该用户302的汇聚参数,以便在执行汇聚时使用。或者可以在其他时间接收用户302的汇聚参数。例如,可首先使用默认参数执行汇聚,并且随后(例如查询执行期间或者在查询完成后)接收来自用户302的汇聚参数并使用所接收的汇聚参数执行汇聚。
优选地,汇聚的参数可取决于查询的结果中的数据元素的数量。例如,当结果中的数据元素少于第二阈值数量(例如小于等于10行数据表),则可将查询结果仅汇聚为2类,而当结果中的数据元素超过第二阈值数量(例如大于等于10行数据表),则可按照默认参数或开发者或用户确定的参数来执行汇聚。例如,假设从用户302接收的目标类的数量为4类,则可在结果中的数据元素少于10行时,将结果仅汇聚为2类,而在结果中的数据元素大于等于10行时,将结果聚集为4类。
在一些实施例中,在对所述数据库的查询完成后对查询的最终结果执行汇聚。
替代地,在对所述数据库执行查询期间实时地对所述查询的结果生成汇聚。此时查询的结果通常是最终查询结果的一部分,其中所包括的数据元素的数量随着查询的执行而逐渐增加。
优选地,在查询开始时结果中的数据元素非常少(例如少于阈值数量)时(例如结果只有2行数据表),可不执行汇聚。而直到结果中的数据元素的数量达到阈值时,才开始对该结果执行汇聚。通过这种方式,可以减少不必要的汇聚,从而节省服务器资源。替代地,也可从查询开始起就对查询的结果执行汇聚。
在执行查询期间执行实时汇聚的情况下,汇聚参数可随结果中的数据元素的数量的变化而变化。例如,在刚开始执行汇聚时,结果中的数据元素少于10行,此时可将结果仅汇聚为2类,而在汇聚执行过程中,结果中的数据元素逐渐增多,当结果中的数元素大于等于10行时,可将结果汇聚为4类。
优选地,用户302可在查询执行期间实时地改变汇聚参数。例如,用户302可根据需要,在查询执行期间改变汇聚参数以便调整汇聚结果。例如,用户302可更改目标类的数量,从而在汇聚结果中得到更多或更少的类。或者,用户302可在查询执行完成后改变汇聚参数。例如,在查询完成后,用户302可改变汇聚参数并重新执行汇聚,从而得到经更新的汇聚结果。在一些实施例中,还可对查询结果执行统计,例如对查询结果的最大值、最小值、均值、方差等进行统计。类似地,对查询结果的统计同样可在查询执行期间实时地执行,或者在查询完成后执行。
类似地,所要执行的统计的类型以及统计参数(如果存在)也可在查询执行期间或者在查询完成后从用户302接收。
方法200还可包括:在步骤208,向所述客户端304返回所述汇聚结果以供呈现。
例如,所述汇聚结果可被传送给客户端304。随后,客户端304可将汇聚结果以各种方式呈现给用户302。
例如,汇聚结果可以图表或图像方式显示。例如,可通过客户端304向用户302呈现如图4或图5所示的汇聚结果。在执行聚类算法的示例中,该图像或图表可包括被划分的各个类(子集),并同时显示类的数量、每个类包括的元素的个数、类的特性等数据。
优选地,汇聚结果是以可交互的方式呈现的。例如,类似于Microsoft Excel中的数据透视表功能,当用户302点击客户端304所呈现的图表或图像上的数据点或其它可交互对象时,可显示与该数据点或交互对象对应的详细数据。
又例如,在如上所述的对账户执行分类以识别潜在恶意账户的示例中,可通过客户端304向用户302提供一个或多个账户是潜在恶意账户的提示。例如,可高亮显示潜在恶意账户。或者,可通过客户端304向用户302播放查询结果中存在潜在恶意账户的音频。
优选地,还向用户302呈现用于改变汇聚参数的界面。用户302通过该界面可以改变汇聚参数,并能够看到用新汇聚参数进行汇聚的汇聚结果,从而实现对汇聚结果的互动式访问,提升了用户体验。
在向所述用户302呈现汇聚结果的同时,可向所述用户302同时呈现统计结果(如果执行统计的话)。
所述汇聚操作可由用户302的客户端304设备执行,或者可由服务器执行并传送给用户302的客户端304设备以供显示。
方法200还可包括:可选地,在步骤210,存储所述汇聚结果以供稍后使用。优选地,可将汇聚结果与查询语句相关联地存储。
在随后相同用户或其它用户执行相同的查询时,可首先向该用户或该其它用户显示汇聚结果,以节省时间。具体而言,方法200还可包括:接收来自第二用户的对所述数据库的第二查询语句(其中该第二用户可与当初执行该查询的用户相同或不同);确定所述第二查询语句是否与所述查询语句相同;以及如果所述第二查询语句与所述查询语句相同,则向所述第二用户返回所存储的汇聚结果。
参见图7,其示出了根据本发明的实施例的用于对数据库执行查询的系统700的框图。系统700可对应于图3中的服务器306,其可用于执行如图2所示的方法。
如图7中所示,系统700可包括数据库查询组件702。在实施例中,数据库查询组件702可被配置成接收来自用户的对数据库的查询语句。优选地,数据库查询组件702可包括输入组件,以便接收来自该查询语句。数据库查询组件702还被配置成使用所述查询语句对所述数据库执行查询。
系统700还可包括汇聚组件704。该汇聚组件704可被配置成使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果。优选地,该汇聚是聚类操作。优选地,该汇聚组件704可被配置成在执行查询期间实时地对所述查询的结果执行汇聚。优选地,汇聚组件704还可包括确定用于执行汇聚的机器学习算法的算法确定组件(图中未示出)。该算法确定组件可用于根据如图6所示的方法来确定该机器学习算法。
优选地,系统700还可包括汇聚参数接收组件706。该汇聚参数接收组件708可被配置成接收来自用户的汇聚参数。汇聚组件704可使用所接收的汇聚参数来对查询的结果执行汇聚。优选地,汇聚参数接收组件708可在执行查询期间接收来自用户的对汇聚参数的更改,而汇聚组件704可使用经更改的汇聚参数来对所述查询的结果执行汇聚。
优选地,系统700还可包括统计组件708。该统计组件708可被配置成对查询的结果执行统计以生成统计结果。
系统700还可包括传送组件710。该传送组件710可被配置成向用户返回所述汇聚结果以供呈现。优选地,该传送组件710被配置成所述汇聚结果与所述查询的所述结果同时呈现给所述用户。优选地,该汇聚结果被以可交互的方式呈现给用户。
优选地,系统700还可包括存储组件712。在一些实施例中,存储组件712可被配置成存储汇聚结果。优选地,存储组件712可被配置成将汇聚结果与查询语句相关联地存储。在这样的实施例中,在数据库查询组件702接收到来自与第一用户相同或不同的第二用户的对所述数据库的第二查询语句时,所述系统700(例如传送组件710或其它组件)可确定所述第二查询语句是否与所述查询语句相同。如果所述第二查询语句与所述查询语句相同,则传送组件710向第二用户返回所存储的汇聚结果。
而且,本申请还公开了一种包括存储于其上的计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各实施例的方法。
此外,本申请还公开了一种包括系统,所述系统包括用于执行本文所述的各实施例的方法的步骤的装置。
可以理解,根据本发明的各实施例的方法可以用软件、固件或其组合来实现。
应该理解,所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。基于设计偏好,应该理解,可以重新编排这些方法中各步骤的具体次序或阶层。所附方法权利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶层,除非在本文中有特别叙述。
应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的组件或元件可被组合为单个组件或元件,且本文中被描述或示出为单个的组件或元件可被拆分为多个组件或元件。
还应理解,本文采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
Claims (21)
1.一种用于对数据库执行查询的方法,其特征在于,所述方法包括:
接收来自用户的客户端的对数据库的查询;
对所述数据库执行所述查询;
在所述查询期间或查询完成后自动地使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果;以及
向所述用户的客户端返回所述汇聚结果以供呈现。
2.如权利要求1所述的方法,其特征在于,使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果包括在对所述数据库执行所述查询期间实时地对所述查询的结果执行汇聚。
3.如权利要求1所述的方法,其特征在于,还包括:
接收来自所述用户的汇聚参数;以及
使用所述汇聚参数来对所述查询的结果执行汇聚。
4.如权利要求1所述的方法,其特征在于,还包括:
在对所述数据库执行查询期间接收来自所述用户的对汇聚参数的更改;以及
使用经更改的汇聚参数来对所述查询的结果执行汇聚。
5.如权利要求1所述的方法,其特征在于,还包括:
对所述查询的结果执行统计以生成统计结果;以及
向所述用户传送所述统计结果以与所述汇聚结果一起呈现。
6.如权利要求1所述的方法,其特征在于,对所述查询的结果执行汇聚包括对所述查询的结果执行聚类操作。
7.如权利要求1所述的方法,其特征在于,所述汇聚结果以可交互的方式被呈现给所述用户。
8.如权利要求1所述的方法,其特征在于,还包括存储所述汇聚结果。
9.如权利要求8所述的方法,其特征在于,还包括:
接收来自第二用户的对所述数据库的第二查询;
确定所述第二查询是否与所述查询相同;以及
如果所述第二查询与所述查询相同,则向所述第二用户传送所存储的汇聚结果。
10.如权利要求1所述的方法,其特征在于,还包括:
在使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果之前,自动确定所述机器学习算法。
11.如权利要求10所述的方法,其特征在于,自动确定所述机器学习算法包括:
在接收到所述查询之后,确定所述查询所涉及的数据库的类别;以及
根据所确定的数据库的类别,确定所述机器学习算法。
12.一种用于对数据库执行查询的系统,其特征在于,所述系统包括:
数据库查询组件,所述数据库查询组件被配置成接收来自用户的客户端的对数据库的查询并对所述数据库执行所述查询;
汇聚组件,所述汇聚组件被配置成在所述查询期间或查询完成后自动地使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果;以及
传送组件,所述传送组件被配置成向所述用户的所述客户端返回所述汇聚结果以供呈现。
13.如权利要求12所述的系统,其特征在于,所述汇聚组件被配置成在对所述数据库执行所述查询期间实时地对所述查询的结果执行汇聚。
14.如权利要求12所述的系统,其特征在于,所述系统进一步包括汇聚参数接收组件,所述汇聚参数接收组件被配置成接收来自所述用户的汇聚参数,其中所述汇聚组件使用所述汇聚参数来对所述查询的结果执行汇聚。
15.如权利要求14所述的系统,其特征在于,所述汇聚参数接收组件在对所述数据库执行所述查询期间接收来自所述用户的对汇聚参数的更改,其中所述汇聚组件使用经更改的汇聚参数来对所述查询的结果执行汇聚。
16.如权利要求12所述的系统,其特征在于,所述系统进一步包括统计组件,所述统计组件被配置成对所述查询的结果执行统计以生成统计结果。
17.如权利要求12所述的系统,其特征在于,所述系统进一步包括算法确定组件,所述算法确定组件被配置成在使用机器学习算法对所述查询的结果执行汇聚以生成汇聚结果之前,自动确定所述机器学习算法。
18.如权利要求17所述的系统,其特征在于,自动确定所述机器学习算法包括:
在接收到所述查询之后,确定所述查询所涉及的数据库的类别;以及
根据所确定的数据库的类别,确定所述机器学习算法。
19.如权利要求12所述的系统,其特征在于,所述系统进一步包括存储组件,所述存储组件被配置成存储所述汇聚结果。
20.如权利要求19所述的系统,其特征在于,所述数据库查询组件还被配置成接收来自第二用户的对所述数据库的第二查询,并且所述数据库查询组件还被配置成确定所述第二查询是否与所述查询相同,以及所述传送组件还被配置成如果所述第二查询与所述查询相同,则向所述第二用户传送所存储的汇聚结果。
21.一种存储指令的计算机可读存储介质,所述指令当被计算机执行时,使所述计算机执行如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910972979.1A CN110807055A (zh) | 2019-10-14 | 2019-10-14 | 用于对数据库执行查询的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910972979.1A CN110807055A (zh) | 2019-10-14 | 2019-10-14 | 用于对数据库执行查询的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110807055A true CN110807055A (zh) | 2020-02-18 |
Family
ID=69488363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910972979.1A Pending CN110807055A (zh) | 2019-10-14 | 2019-10-14 | 用于对数据库执行查询的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807055A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070078828A1 (en) * | 2005-10-05 | 2007-04-05 | Yahoo! Inc. | Customizable ordering of search results and predictive query generation |
CN102279851A (zh) * | 2010-06-12 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种智能导航方法、装置和系统 |
US20170262502A1 (en) * | 2016-03-11 | 2017-09-14 | Dell Software, Inc. | Auto Query Construction for In-Database Predictive Analytics |
CN108811513A (zh) * | 2017-02-27 | 2018-11-13 | 谷歌有限责任公司 | 内容搜索引擎 |
-
2019
- 2019-10-14 CN CN201910972979.1A patent/CN110807055A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070078828A1 (en) * | 2005-10-05 | 2007-04-05 | Yahoo! Inc. | Customizable ordering of search results and predictive query generation |
CN102279851A (zh) * | 2010-06-12 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种智能导航方法、装置和系统 |
US20170262502A1 (en) * | 2016-03-11 | 2017-09-14 | Dell Software, Inc. | Auto Query Construction for In-Database Predictive Analytics |
CN108811513A (zh) * | 2017-02-27 | 2018-11-13 | 谷歌有限责任公司 | 内容搜索引擎 |
Non-Patent Citations (1)
Title |
---|
向楠: "《中医证候信息学》", 30 April 2018, 中国中医药出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11386085B2 (en) | Deriving metrics from queries | |
US20220075670A1 (en) | Systems and methods for replacing sensitive data | |
US20200293564A1 (en) | Automated process collaboration platform in domains | |
US10459971B2 (en) | Method and apparatus of generating image characteristic representation of query, and image search method and apparatus | |
US20230031926A1 (en) | Method, medium, and system for surfacing recommendations | |
US8775230B2 (en) | Hybrid prediction model for a sales prospector | |
US20150356085A1 (en) | Guided Predictive Analysis with the Use of Templates | |
US20190095507A1 (en) | Systems and methods for autonomous data analysis | |
CN103678447B (zh) | 多变量交易分类 | |
US11157930B1 (en) | Systems and methods for defining candidate and target locations based on items and user attributes | |
US11379721B2 (en) | Systems and methods for training and executing a neural network for collaborative monitoring of resource usage | |
US20030088481A1 (en) | Method and system for identifying purchasing cost savings | |
US9098550B2 (en) | Systems and methods for performing data analysis for model proposals | |
US20210090105A1 (en) | Technology opportunity mapping | |
CN110675238A (zh) | 客户标签配置方法、系统、可读存储介质及电子设备 | |
US10963474B2 (en) | Automatic discriminatory pattern detection in data sets using machine learning | |
US20130325651A1 (en) | Product recommendation | |
CN113362102B (zh) | 一种客户线索分发方法、系统及存储介质 | |
US9864789B2 (en) | Method and system for implementing an on-demand data warehouse | |
US20190197168A1 (en) | Contextual engine for data visualization | |
US9443214B2 (en) | News mining for enterprise resource planning | |
US20200364537A1 (en) | Systems and methods for training and executing a recurrent neural network to determine resolutions | |
US10831837B2 (en) | Population of sets using advanced queries | |
CN110807055A (zh) | 用于对数据库执行查询的方法和系统 | |
Zhang | Parameter Curation and Data Generation for Benchmarking Multi-model Queries. |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200218 |
|
RJ01 | Rejection of invention patent application after publication |