太阳城集团

  • / 47
  • 下载费用:30 金币  

优化查询执行的方法和查询处理服务器.pdf

摘要
申请专利号:

CN201580048649.3

申请日:

2015.05.26

公开号:

CN106716406A

公开日:

2017.05.24

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 17/30申请日:20150526|||公开
IPC分类号: G06F17/30 主分类号: G06F17/30
申请人: 华为技术有限公司
发明人: 普尼特·古普塔; V·魏玛·达斯·卡马斯
地址: 518129 广东省深圳市龙岗区坂田华为总部办公楼
优先权: 2014.09.26 IN IN4736/CHE/2014
专利代理机构: 代理人:
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201580048649.3

授权太阳城集团号:

|||

法律状态太阳城集团日:

2017.06.16|||2017.05.24

法律状态类型:

太阳城集团实质审查的生效|||公开

摘要

本发明实施例涉及一种优化查询执行的方法。第一步骤包括查询处理服务器从用户设备接收查询。第二步骤包括所述查询处理服务器向用户设备提供所述查询、用于执行查询的节点和所述节点的数据分区中的至少一个的中间查询执行状态以便用户交互。基于查询的查询执行提供所述中间查询执行状态。随后,第三步骤包括所述查询处理服务器基于中间查询执行状态接收所述查询的更新的至少一个查询参数以及更新的查询。第四步骤包括执行以下动作中的至少一个:基于更新的查询参数更新查询的查询执行的流程以提供更新的中间查询执行状态;以及执行更新的查询以提供更新的中间查询执行状态。

权利要求书

1.一种优化查询执行的方法,其特征在于,包括:
查询处理服务器从一个或多个用户设备接收一个或多个查询;
所述查询处理服务器向用户设备提供所述一个或多个查询、用于执行所述一个或多个
查询的一个或多个节点和所述一个或多个节点的一个或多个数据分区中的至少一个的中
间查询执行状态以便用户交互,其中基于所述一个或多个查询的所述查询执行提供所述中
间查询执行状态;
所述查询处理服务器基于所述中间查询执行状态从所述一个或多个用户设备接收所
述一个或多个查询的一个或多个更新的查询参数以及一个或多个更新的查询中的至少一
个;以及
所述查询处理服务器执行以下动作中的至少一个:
基于所述一个或多个更新的查询参数更新所述一个或多个查询的所述查询执行的流
程以提供更新的中间查询执行状态;以及
执行所述一个或多个更新的查询以提供更新的中间查询执行状态。
2.根据权利要求1所述的方法,其特征在于,所述中间查询执行状态是从包括所述一个
或多个查询、用于所述查询执行的所述一个或多个节点和所述一个或多个数据分区的中间
查询执行结果和查询执行进度的组中选择的。
3.根据权利要求1所述的方法,其特征在于,基于所述一个或多个更新的查询参数更新
所述一个或多个查询的所述查询执行的流程包括以下动作中的至少一个:
终止所述一个或多个查询的一部分、所述一个或多个节点的一部分和所述一个或多个
数据分区的一部分中的至少一个的所述查询执行;
按优先级对所述一个或多个查询的一部分、所述一个或多个节点的一部分和所述一个
或多个数据分区的一部分中的至少一个的所述查询执行排序;以及
执行所述一个或多个查询的一部分,其中所述一个或多个查询的所述一部分由所述用
户选择。
4.根据权利要求1所述的方法,其特征在于,执行所述一个或多个更新的查询包括并行
执行所述一个或多个更新的查询以及所述一个或多个查询。
5.根据权利要求2所述的方法,其特征在于,还包括在完成执行所述一个或多个查询的
一部分之后标记所述中间查询执行结果的视觉趋势。
6.根据权利要求2所述的方法,其特征在于,基于从包括预定太阳城集团间隔、被扫描的行数、
被扫描数据的大小和被扫描数据的速率的组中选择的一个或多个参数提供所述中间查询
执行状态。
7.根据权利要求1所述的方法,其特征在于,还包括基于一个或多个参数预测所述一个
或多个查询、所述一个或多个节点和所述一个或多个数据分区中的至少一个的所述查询执
行的最终结果。
8.根据权利要求6所述的方法,其特征在于,用于预测所述查询执行的所述最终结果的
所述一个或多个参数是从一组中选择的,所述组包括待预测的所述数据扫描结果的预定时
间周期、太阳城集团所述查询执行期间内扫描的数据的历史太阳城集团、针对所述查询执行要求扫描的
数据流、所述查询执行的实际结果和查询执行的所述预测结果之间的差异,以及分布在所
述一个或多个节点和所述一个或多个查询处理设备上的数据的太阳城集团。
9.根据权利要求8所述的方法,其特征在于,所述查询执行的所述中间查询执行状态、
所述更新的中间查询执行状态和所述最终结果以视觉趋势的形式提供。
10.根据权利要求1所述的方法,其特征在于,还包括向所述用户设备提供与所述一个
或多个数据分区的至少一个子分区有关的中间查询执行状态的视觉趋势。
11.一种优化查询执行的查询处理服务器,其特征在于,包括:
接收模块,用于从一个或多个用户设备接收一个或多个查询;
输出模块,用于向用户设备提供所述一个或多个查询、用于执行所述一个或多个查询
的一个或多个节点和所述一个或多个节点的一个或多个数据分区中的至少一个的中间查
询执行状态以便用户交互,其中基于所述一个或多个查询的所述查询执行提供所述中间查
询执行状态;
执行模块,用于:
基于所述中间查询执行状态接收一个或多个查询的一个或多个更新的查询参数以及
一个或多个更新的查询中的至少一个;以及
执行以下动作中的至少一个:
基于所述一个或多个更新的查询参数更新所述一个或多个查询的所述查询执行的流
程以提供更新的中间查询执行状态;以及
执行所述一个或多个更新的查询以提供更新的中间查询执行状态。
12.根据权利要求11所述的查询处理服务器,其特征在于,所述中间查询执行状态是从
包括所述一个或多个查询、用于所述查询执行的所述一个或多个节点和所述一个或多个数
据分区的中间查询执行结果和查询执行进度的组中选择的。
13.根据权利要求11所述的查询处理服务器,其特征在于,基于从包括预定太阳城集团间隔、
被扫描行的数目、被扫描数据的大小和被扫描数据的速率的组中选择的一个或多个参数提
供所述中间查询执行状态。
14.根据权利要求11所述的查询处理服务器,其特征在于,所述执行模块通过执行以下
动作中的至少一个更新所述一个或多个查询的所述查询执行的所述流程:
终止所述一个或多个查询的一部分、所述一个或多个节点的一部分和一部分所述一个
或多个数据分区的一部分中的至少一个的所述查询执行;
按优先级对所述一个或多个查询的一部分、所述一个或多个节点的一部分和所述一个
或多个数据分区的一部分中的至少一个的所述查询执行排序;以及
执行所述一个或多个查询的一部分,其中所述一个或多个查询的所述一部分由所述用
户选择。
15.根据权利要求11所述的查询处理服务器,其特征在于,所述执行模块通过并行执行
所述一个或多个更新的查询以及所述一个或多个查询执行所述一个或多个更新的查询。
16.根据权利要求11所述的查询处理服务器,其特征在于,所述执行模块用于在完成执
行所述一个或多个查询的一部分之后标记所述中间查询执行结果的视觉趋势。
17.根据权利要求11所述的查询处理服务器,其特征在于,还包括预测模块,用于基于
一个或多个参数预测所述一个或多个查询、所述一个或多个节点和所述一个或多个数据分
区中的至少一个的所述查询执行的最终结果。
18.根据权利要求17所述的查询处理服务器,其特征在于,所述预测模块使用从一组中
选择的一个或多个参数预测所述查询执行的所述最终结果,所述组包括:待预测的所述数
据扫描结果的预定太阳城集团周期、太阳城集团在所述查询执行期间内被扫描的数据的历史太阳城集团、针对
所述查询执行要求被扫描的数据流、所述查询执行的实际结果和查询执行的所述预测结果
之间的方差,以及分布在所述一个或多个节点和所述一个或多个查询处理设备上的数据的
太阳城集团。
19.根据权利要求17所述的查询处理服务器,其特征在于,所述输出模块提供所述中间
查询执行状态,所述更新的中间查询执行状态和所述查询执行的所述最终结果以视觉趋势
的形式提供。
20.根据权利要求11所述的查询处理服务器,其特征在于,所述输出模块向所述用户设
备提供与所述一个或多个数据分区的至少一个子分区有关的中间查询执行状态的视觉趋
势。
21.一种在用户设备上的图形用户界面,所述用户设备具有显示器、存储器和执行存储
在所述存储器中的处理器可执行指令的至少一个处理器,所述图形用户界面包括在所述显
示器上显示的电子文件,其特征在于,所述电子文件的所述显示部分包括:
数据扫描进度趋势;
显示最接近于所述数据扫描进度趋势的停止按钮;以及
指示中间查询执行状态的可视化,其被显示接近于所述数据扫描进度趋势,其中所述
可视化包括对应于用于执行所述一个或多个查询的一个或多个节点和所述一个或多个节
点的一个或多个数据分区的结果;
为了响应于检测目标在所述电子文件的所述显示部分上或附近的运动,在显示的电子
文件上显示至少一个电子列表,其中所述电子列表提供一个或多个查询更新选项以更新所
述查询;
为了响应于选择除了停止按钮之外的一个或多个查询更新选项之一,全部节点结果、
一个或多个节点中的更新节点数量的结果、一个或多个节点的结果以及一个或多个子节点
的结果或一个或多个节点之一的结果趋势中的至少一个被显示。
22.根据权利要求21所述的图形用户界面,其特征在于,所述对象为指针和输入设备中
的至少一个。
23.根据权利要求21所述的图形用户界面,其特征在于,所述对象的所述运动为所述显
示的电子文件上的右击,以及所述显示的电子文件上的长按中的至少一个。
24.根据权利要求22所述的图形用户界面,其特征在于,在所述电子列表中列出的所述
一个或多个查询更新选项包括移除、向下钻取、并行向下钻取、增加扫描优先级、设置标准
扫描优先级、降低扫描优先级和停止。
25.一种非瞬时性计算机可读介质,其特征在于,包括存储在其上的操作,当由至少一
个处理单元处理时,致使查询处理服务器通过执行以下行为执行一个或多个动作:
从一个或多个用户设备接收一个或多个查询;
向用户设备提供所述一个或多个查询、用于执行所述一个或多个查询的一个或多个节
点和所述一个或多个节点的一个或多个数据分区中的至少一个的中间查询执行状态以便
用户交互,其中基于所述一个或多个查询的所述查询执行提供所述中间查询执行状态;
基于所述中间查询执行状态接收所述一个或多个查询的一个或多个更新的查询参数
以及一个或多个更新的查询中的至少一个;以及
所述查询处理服务器执行以下动作中的至少一个:
基于所述一个或多个更新的查询参数更新所述一个或多个查询的所述查询执行的流
程以提供更新的中间查询执行状态;以及
执行所述一个或多个更新的查询以提供更新的中间查询执行状态。
26.一种在查询处理服务器上执行一个或多个动作的计算机程序,其特征在于,所述计
算机程序包括:用于从一个或多个用户设备接收一个或多个查询的代码段;用于向用于设
备提供所述一个或多个查询、用于执行所述一个或多个查询的一个或多个节点和所述一个
或多个节点的一个或多个数据分区中的至少一个的中间查询执行状态以便用户交互的代
码段,其中基于所述一个或多个查询的所述查询执行提供所述中间查询执行状态;用于基
于所述中间查询执行状态接收所述一个或多个查询的一个或多个更新的查询参数以及一
个或多个更新的查询中的至少一个的代码段;以及用于执行以下动作中的至少一个的代码
段:基于所述一个或多个更新的查询参数更新所述一个或多个查询的所述查询执行的流程
以提供更新的中间查询执行状态,以及执行所述一个或多个更新的查询以提供更新的中间
查询执行状态。

说明书

优化查询执行的方法和查询处理服务器

技术领域

本发明涉及数据库领域,尤其涉及一种优化查询执行的方法和查询处理服务器。

背景技术

通常地,大数据包括存储在大数据存储器(称为数据存储器)中的大量复杂的数据
集合。所述数据存储器可以包括多个节点,每个节点可以包括存储这些大量复杂数据的多
个数据分区。另外,多个数据分区中的每个都可以包括存储数据的子数据分区。根据存储空
间,多个数据分区中的每个都存储部分数据和/或完整数据。这些大量复杂数据以数据块的
形式存储,通常对这些数据块进行索引、存储和/或压缩。通常,基于所有多个节点、多个数
据分区和子分区中的存储空间存储所有多个节点、多个数据分区和子分区中的数据。数据
存储器提供有效工具利用数据存储器中的数据提供对用户指定的一个或多个查询的响应,
即,进行查询执行。所述有效工具的示例是执行用户定义的查询的联机分析处理(OLAP)工
具。该工具有助于访问数据,这通常涉及扫描多个节点、多个数据分区和子数据分区以进行
查询执行。尤其是,对于由用户指定的查询的查询执行,在扫描多个节点、多个数据分区和
子数据分区之后访问与查询有关的数据。

通常地,在完成查询执行之后,将扫描所有多个节点和多个数据分区的结果提供
给用户界面以进行数据分析。扫描的结果以视觉趋势的形式提供。视觉趋势提供查询执行
的数据扫描进度的可视化。视觉趋势可以包括但不限于,饼图、条形图、直方图、盒形图、运
行图、森林图、扇形图和控制图。通常,多个节点和多个数据分区的视觉趋势表示对应于完
成多个节点和多个数据分区的数据扫描的最终执行结果。

一般地,对于更小数据集合中的查询执行,在短太阳城集团内完成扫描。例如,可以在数
秒内完成更小数据集合中的查询执行的扫描。然后,将扫描的结果提供给用户界面。例如,
由用户定义的查询要求查看不同网络设备的数据流量。例如,网络设备为网关通用分组无
线业务(GPRS)支撑节点(GGSN)设备。GGSN设备用于在GPRS网络和外部分组交换网络之间互
联。GGSN设备提供互联网接入到一个或多个移动数据用户。通常地,基于一个或多个移动数
据用户的互联网太阳城集团模式在网络设备中生成数百万的记录。图1所示为对不同网络设备的
数据流量进行扫描的结果,将结果以视觉趋势的形式,例如条形图,提供给用户界面。这些
直条表示不同网络设备D1、D2、D3、D4和D5的数据流量,在查询执行之后将其提供给用户界
面。然而,大数据环境中存在一个问题。也就是说,在大数据环境中,对于查询执行的扫描可
能需要花费一段太阳城集团,从几分钟到几个小时不等。在此种情况下,该处理需要等待查询执行
完成。也就是说,用户必须等待几个小时查看扫描结果,修改查询,直到完成查询执行,这样
很繁重而且不交互。

传统查询处理技术的一种这样的示例是批量调度扫描,其中调度和分批处理这些
查询以便执行。然而,执行分批查询非常耗时、复杂,而且不能实时执行。在此种情况下,查
看执行结果也非常耗时。另外,可以只在完成非常耗时的批量执行时对查询执行修改。用户
无法在查询执行状态和结果之间交互。用户必须等待查询执行完成,直到提供查询执行结
果。

发明内容

本发明的目的是为了在无需等待整个查询执行完成的情况下提供查询的查询执
行的部分查询执行状态。本发明的另一目的是为了便于部分查询执行状态上的用户交互以
更新查询执行的流程。本发明涉及一种优化查询执行的方法。所述方法包括由查询处理服
务器执行的一个或多个步骤。第一步骤包括所述查询处理服务器从一个或多个用户设备接
收一个或多个查询。第二步骤包括所述查询处理服务器向用户设备提供所述一个或多个查
询、用于执行所述一个或多个查询的一个或多个节点和所述一个或多个节点的一个或多个
数据分区中的至少一个的中间查询执行状态以便用户交互。基于所述一个或多个查询的所
述查询执行提供所述中间查询执行状态。然后,第三步骤包括所述查询处理服务器基于所
述中间查询执行状态接收所述一个或多个查询的一个或多个更新的查询参数以及一个或
多个更新的查询中的至少一个。第四步骤包括执行以下动作中的至少一个:基于所述一个
或多个更新的查询参数更新所述一个或多个查询的查询执行的流程以提供更新的中间查
询执行状态;以及执行所述一个或多个更新的查询以提供更新的中间查询执行状态。在一
实施例中,所述基于所述一个或多个更新的查询参数更新所述查询执行的流程包括终止所
述一个或多个查询的一部分、所述一个或多个节点的一部分和所述一个或多个数据分区的
一部分中的至少一个的所述查询执行。所述基于所述一个或多个更新的查询参数更新所述
查询执行的所述流程包括按优先级对所述一个或多个查询的一部分、所述一个或多个节点
的一部分和所述一个或多个数据分区的一部分中的至少一个的所述查询执行排序。所述基
于所述一个或多个更新的查询参数更新所述查询执行的流程包括执行所述一个或多个查
询的一部分。所述一个或多个查询的所述一部分由所述用户选择。在一实施例中,执行所述
一个或多个更新的查询包括并行执行所述一个或多个更新的查询以及所述一个或多个查
询。在一实施例中,在完成所述查询执行的一部分之后标记所述中间查询执行结果的视觉
趋势。

本发明中公开了一种查询处理服务器以优化查询执行。所述查询处理服务器包括
接收模块、输出模块和执行模块。所述接收模块用于从一个或多个设备接收一个或多个查
询。所述输出模块用于向用户设备提供所述一个或多个查询、用于执行所述一个或多个查
询的一个或多个节点和所述一个或多个节点的一个或多个数据分区中的至少一个的中间
查询执行状态以便用户交互。基于所述一个或多个查询的所述查询执行提供所述中间查询
执行状态。所述执行模块用于基于所述中间查询执行状态接收所述一个或多个查询的一个
或多个更新的查询参数以及一个或多个更新的查询中的至少一个。所述执行模块用于执行
以下动作中的至少一个:基于所述一个或多个更新的查询参数更新所述一个或多个查询的
查询执行的流程以提供更新的中间查询执行状态;以及执行所述一个或多个更新的查询以
提供更新的中间查询执行状态。

本发明中公开了一种图形用户界面。本发明公开了用户设备上的所述图形用户界
面,所述用户设备具有显示器、存储器和执行存储在所述存储器中的处理器可执行指令的
至少一个处理器。所述图形用户界面包括在所述显示器上显示的电子文件。所述电子文件
的所述显示部分包括数据扫描进度趋势、停止按钮和视觉趋势。所述停止按钮被显示最接
近于所述数据扫描进度趋势。所述可视化指示中间查询执行状态,其被显示接近于所述数
据扫描进度趋势。所述可视化包括对应于用于执行所述一个或多个查询的一个或多个节点
和所述一个或多个节点的一个或多个数据分区的数据流量趋势。显示的电子文件上的至少
一个电子列表被显示以响应于检测目标在所述电子文件的所述显示部分上或附近的运动。
所述电子列表提供一个或多个查询更新选项以更新所述查询。为了响应于选择一个或多个
查询更新选项之一,除了停止选项,全部节点结果、一个或多个节点中的更新节点数量的结
果、一个或多个节点的结果以及一个或多个子节点的结果或一个或多个节点之一的结果趋
势中的至少一个被显示。

本发明涉及一种非瞬时性计算机可读介质,包括存储在其上的操作,当至少一个
处理器执行这些操作时,致使查询处理服务器通过执行从一个或多个用户设备接收一个或
多个查询的行为来执行一个或多个动作。随后,执行向用户设备提供所述一个或多个查询、
用于执行所述一个或多个查询的一个或多个节点和所述一个或多个节点的一个或多个数
据分区中的至少一个的中间查询执行状态以便用户交互的行为。基于所述一个或多个查询
的所述查询执行提供所述中间查询执行状态。接着,执行基于所述中间查询执行状态接收
所述一个或多个查询的一个或多个更新的查询参数以及一个或多个更新的查询中的至少
一个的行为。随后,执行包括以下动作的至少一个的行为:基于所述一个或多个更新的查询
参数更新所述一个或多个查询的查询执行的流程以提供更新的中间查询执行状态;以及执
行所述一个或多个更新的查询以提供更新的中间查询执行状态。

本发明涉及一种在查询处理服务器上执行一个或多个动作的计算机程序。所述计
算机程序包括用于从一个或多个用户设备接收一个或多个查询的代码段;用于向用户设备
提供所述一个或多个查询、用于执行所述一个或多个查询的一个或多个节点和所述一个或
多个节点和一个或多个数据分区中的至少一个的中间查询执行状态以便用户交互的代码
段;用于基于所述中间查询执行状态接收所述一个或多个查询的一个或多个更新的查询参
数以及一个或多个更新的查询中的至少一个的代码段,其中基于所述一个或多个查询的所
述查询执行提供所述中间查询执行状态;以及用于执行以下动作中的至少一个的代码段:
基于所述一个或多个更新的查询参数更新所述一个或多个查询的查询执行的流程以提供
更新的中间查询执行状态;以及执行所述一个或多个更新的查询以提供更新的中间查询执
行状态。

上述发明内容只是说明性的,并不旨在以任何方式进行限制。除了上述说明性方
面和特征,参照附图和下文详细描述,其它方面和特征将显而易见。

附图说明

本发明的新颖的特点和特征在所附权利要求中进行阐述。但是本发明自身、优选
的使用方式,及其其它目的和优势,也可以通过参考以下说明性实施例的详细说明结合附
图得到最好的理解。现参照附图仅通过示例描述一个或更多的实施例。

图1所示为根据现有技术一实施例的图示显示不同网络设备的数据流量的条形图
的图;

图2a所示为根据本发明一些实施例的图示具有处理器和存储器的用于优化查询
执行的查询处理服务器的示例性方框图;

图2b所示为根据本发明的一些实施例的图示用于优化查询执行的查询处理服务
器的详细方框图;

图3a和3b所示为根据本发明一实施例的表示一个或多个查询、一个或多个节点和
一个或多个数据分区的中间查询执行状态的示例性视觉趋势;

图4所示为根据本发明一些实施例的在用户交互期间提供一个或多个更新选项以
更新一个或多个查询的示例性图;

图5a和5b所示为根据本发明一些实施例的图示移除一部分查询的示例性图;

图6a和6b所示为根据本发明一些实施例的图示修改一部分查询的示例性图;

图7a和7b所示为根据本发明一些实施例的图示查询的中间查询执行状态的详细
视图的示例性图;

图8a至8f所示为根据本发明一些实施例的图示预测查询的中间查询执行状态的
最终结果的示例性图;

图9a和9b所示为根据本发明一些实施例的图示按优先级对一部分查询排序的示
例性图;

图10a和10b所示为根据本发明一些实施例的图示并行执行一个或多个更新的查
询以及一个或多个查询的示例性图;

图11所示为根据本发明一些实施例的图示标记中间查询执行状态的视觉趋势的
示例性图;

图12示出了根据本发明一些实施例的显示用于优化查询执行的方法的流程图;以

图13a和13b示出了根据本发明一些实施例的提供中间查询执行状态和查询执行
进度细节的方法的流程图。

附图描绘了本发明的实施例以仅用于说明目的。本领域技术人员将很容易从以下
说明中意识到本文中示出的结构和方法的替代性实施例可以在不脱离本文所述的本发明
的原理的情况下采用。

具体实施方式

上文相当宽泛地概述了本发明的实施例的特征和技术优点,目的是让人能更好地
理解下文对本发明的详细描述。下文中将描述本发明的额外特征和优点,其形成本发明的
权利要求书的标的物。所属领域的技术人员应了解,所公开的概念和具体方面可容易地用
作修改或设计用于实现本发明的相同目的的其他结构的基础。所属领域的技术人员还应意
识到,此类等效构造不脱离所附权利要求书中所提出的本发明的范围。根据以下说明结合
附图内容可以更好地理解被视为本发明的特点,无论是太阳城集团其组成还是操作方法,的新颖
特征以及进一步的目的和优势。但是,应明确了解,提供的每个图仅用于说明性和描述性目
的,并非旨在对本发明进行限制。

本发明实施例涉及在查询执行期间向用户界面提供部分查询执行状态。提供该部
分执行状态便于用户交互以基于部分执行状态更新查询来优化查询执行。在一示例性实施
例中,向一个或多个用户设备提供部分执行状态以基于所述部分执行状态分析状态和执行
查询更新。也就是说,用户设备提供输入以更新查询。查询执行由查询处理服务器执行。该
查询处理服务器从一个或多个用户设备接收一个或多个查询。在一实施例中,该查询处理
服务器通过访问查询处理服务器的一个或多个节点以及一个或多个节点的一个或多个数
据分区中的数据执行查询执行。基于一个或多个查询,即用于查询执行,所要求的数据执行
一个或多个节点、一个或多个数据分区和子分区中的查询执行。部分执行状态是指被扫描
的数据量或百分比,以及数据在被扫描中间过程的中间结果。因此,一个或多个查询、一个
或多个节点和一个或多个数据分区的部分执行状态被提供给与一个或多个用户设备关联
的用户界面。在一实施例中,部分执行状态以视觉趋势的形式提供给用户界面。视觉趋势是
查询执行的数据扫描进度的表现或可视化。基于一个或多个查询的查询执行提供部分执行
状态。基于用户交互,查询处理服务器接收基于一个或多个更新的查询参数的一个或多个
查询中的至少一个以及一个或多个更新的查询。基于更新的查询参数和更新的查询中的至
少一个,执行以下步骤中的至少一个。基于更新的查询参数更新查询的查询执行的流程的
步骤被执行以提供更新的中间查询执行状态。执行更新的查询的步骤被执行以提供更新的
中间查询执行状态。更新查询执行流程和执行更新的查询无法终止从用户设备接收到的原
始查询的执行。特别地,为从用户设备接收到的原始查询维护相同的查询执行流程。基于更
新的查询参数更新查询的查询执行的流程包括终止一部分查询、一个或多个节点的一部分
和一个或多个数据分区的一部分中的至少一个的查询执行。基于更新的查询参数更新查询
的查询执行流程还包括按优先级对一部分查询、一个或多个节点的一部分和一个或多个数
据分区的一部分中的至少一个的查询执行进行排序。基于更新的查询参数更新查询的查询
执行的流程包括执行由用户选择的一部分查询。在一实施例中,执行更新的查询包括并行
执行一个或多个更新的查询以及查询,即,初始查询。在一实施例中,在完成一部分查询执
行之后标记部分执行状态的视觉趋势。这样,有利于用户实时查看查询执行的每个进度中
的部分执行状态,并且不需要等到完成查询执行才查看查询执行的结果。此外,有利于用户
与部分执行状态实时交互,从而减少查询执行结束以分析查询结果的等待太阳城集团。

此后,本发明实施例在示例性图和一个或多个示例的帮助下进行解释。然而,这类
示例性图和示例被提供用于说明目的以便更好地理解本发明并且不应解释为对本发明范
围的限制。

图2a所示为根据本发明一些实施例的图示具有处理器203和存储器205的用于优
化查询执行的查询处理服务器202的示例性方框图。查询处理服务器202包括处理器203和
存储器205。存储器205可通信地耦合到处理器203。存储器205存储处理器可执行指令,在执
行时,致使处理器203执行一个或多个步骤。处理器203从一个或多个用户设备接收一个或
多个查询。处理器203向用户设备提供一个或多个查询、用于执行一个或多个查询的一个或
多个节点和一个或多个节点的一个或多个数据分区中的至少一个的中间查询执行状态以
便用户交互。基于一个或多个查询的查询执行提供中间查询执行状态。处理器203基于中间
查询执行状态接收一个或多个查询的一个或多个更新的查询参数以及一个或多个更新的
查询中的至少一个。处理器203执行以下动作中的至少一个:基于一个或多个更新的查询参
数更新一个或多个查询的查询执行的流程;以及执行一个或多个更新的查询以提供更新的
中间查询执行状态。

图2b所示为根据本发明一些实施例的图示优化查询执行的查询处理服务器202的
详细方框图。

在一个实施方式中,查询处理服务器202可以在诸如膝上型电脑、台式电脑、笔记
本、工作站、大型计算机、服务器、网络服务器等之类的计算系统中实施。在一实施例中,查
询处理服务器202可通信地连接到一个或多个用户设备201a、201b……201n(统称为201)和
一个或多个节点216a……216n(统称为216)。

一个或多个用户设备201的示例包括但不限于,台式电脑、便携式电脑、移动手机、
手持设备、工作站。一个或多个用户设备201可以由组织机构的利益相关者或最终用户使
用。在一实施例中,一个或多个用户设备201由相关用户使用以提出一个或多个查询。此外,
有助于用户交互由查询处理服务器202提供的中间查询执行状态以通过使用一个或多个用
户设备201输入一个或多个查询的更新的查询参数以及更新的查询。在一实施例中,使用户
通过用户界面(未在图2b中示出)交互,该用户界面是一个或多个用户设备201的交互式图
形用户界面。使用输入设备(未在图2b中示出)有助于用户交互,该输入设备包括但不限于,
触笔、指针、笔形定点设备、键盘和可用于通过用户界面输入的任何其它设备。用户可以包
括人,即使用一个或多个用户设备201的人,例如包含在本发明的那些用户设备,或此种用
户设备本身。

在一个实施方式中,一个或多个用户设备201都可以包括输入/输出(I/O)接口以
与输入/输出(I/O)设备(未在图2b中示出)通信。查询处理服务器202可以包括输入/输出
(I/O)接口以与一个或多个用户设备201通信。一个或多个用户设备201安装有一个或多个
界面(未在图2b中示出)以通过第一网络(未在图2b中示出)与查询处理服务器202通信。此
外,查询处理服务器202中的一个或多个界面204用于通过第二网络(未在图2b中示出)与一
个或多个节点216通信。一个或多个用户设备201和查询处理设备202的一个或多个界面可
以包括软件和/或硬件以支持一个或多个通信链路(未示出)进行通信。在一实施例中,一个
或多个用户设备201通过第一网络接口(未在图2b中示出)与第一网络通信。查询处理服务
器202通过第一网络接口(未在图2b中示出)与第二网络通信。第一网络接口和第二网络接
口可以采用连接协议,包括但不限于,直接连接、以太网(双绞线10/100/1000Base T)、传输
控制协议/互联网协议(TCP/IP)、令牌环、IEEE 802.11a/b/g/n/x等。

第一网络和第二网络包括但不限于,直接互联、电子商务网络、端到端(P2P)网络、
局域网(LAN)、广域网(WAN)、无线网络(例如,使用无线应用协议)、互联网、Wi-Fi,等等。第
一网络和第二网络可以是专用网络或共享网络,这表示使用各种协议,例如,超文本传输协
议(HTTP)、传输控制协议/互联网协议(TCP/IP)、无线应用协议(WAP)等彼此通信的各种类
型网络的组合。此外,第一网络和第二网络可以包括各种网络设备,包括路由器、网桥、服务
器、计算设备、存储设备等。

在一实施方式中,查询处理服务器202还充当用户设备。因此,一个或多个查询和
中间查询执行状态直接在查询处理服务器202处接收以进行查询执行和用户交互。

连接到查询处理服务器202的一个或多个节点216是包括数据库的服务器,该数据
库含有数据,这些数据被分析和扫描用于执行从一个或多个用户设备201接收到的一个或
多个查询。特别地,一个或多个节点216包括基于多维表达式(MDX)的数据库、关系数据库管
理系统(RDMS)、结构化查询语言(SQL)数据库、非关系型数据库(NoSQL)、基于半结构化查询
的数据库,以及基于非结构化查询的数据库。一个或多个节点216包括一个或多个数据分区
217a、217b……217n(统称为数字217)和至少一个数据扫描器218。在一实施例中,一个或多
个节点216的一个或多个数据分区217可以包括至少一个子分区(未在图2b中示出)。在一实
施例中,一个或多个数据分区217和一个或多个数据分区217的至少一个子分区均为存储分
区或部分数据的物理存储单元。通常,数据在一个或多个节点216中划分和/或分布,该数据
还在一个或多个数据分区217和至少一个子分区中划分和分布以便存储。在一个实施方式
中,网络设备,例如5个网络设备D1、D2、D3、D4和D5的数据存储在一个或多个节点216的一个
或多个数据分区217中。在一实施例中,数据基于在一个或多个节点216、一个或多个数据分
区217和子分区中可用的存储空间存储。在一实施例中,数据基于网络设备的设备标识符
(ID)存储在一个或多个节点216、一个或多个数据分区217和至少一个子分区中。在一实施
例中,一个或多个节点216存储数据以及已存储数据的数据统计。数据统计包括但不限于,
分区大小、记录的数量、每个分区中频繁使用的数据,以及每个分区中记录的最小、最大、平
均和总和值。

一个或多个节点216的数据扫描器218用于扫描用于执行从一个或多个用户设备
201接收到的一个或多个查询的一个或多个节点216、一个或多个数据分区217和子分区中
的数据。另外,数据扫描器217向查询处理服务器202提供数据扫描结果的报告,包括每个查
询、一个或多个节点216、一个或多个分区218和至少一个子分区的中间查询执行状态。在一
实施例中,中间查询执行状态包括一个或多个查询、一个或多个节点216、一个或多个数据
分区217和至少一个子分区的中间查询执行结果。中间查询执行状态包括一个或多个查询、
一个或多个节点216、一个或多个数据分区217和至少一个子分区的查询执行进度。中间查
询执行结果是指一个或多个查询的数据扫描的部分结果。查询执行进度是指一个或多个查
询、一个或多个节点216、一个或多个数据分区217和至少一个子分区的数据扫描量或百分
比。在一个实施方式中,基于包括但不限于预定太阳城集团间隔、被扫描行的数量、被扫描数据的
大小和被扫描数据的速率等参数提供中间查询执行状态。例如,在30秒的每个预定太阳城集团间
隔中,提供中间查询执行状态。要扫描的行数是10000行,在这之后提供中间查询执行状态。
也就是说,在扫描数据库中的每10000行之后,提供中间查询执行状态。数据的大小是
100Mb,即,在扫描每100Mb的数据之后,提供中间查询执行状态。数据的速率是指被扫描的
数据量或百分比或程度,例如,在扫描10%的数据之后提供中间查询执行状态。

本文图示了一个提供中间查询执行状态的示例。图3a和3b所示为根据本发明实施
例的表现一个或多个查询、一个或多个节点和一个或多个数据分区的中间查询执行状态的
示例性视觉趋势。例如,考虑到从一个或多个用户设备201接收到的查询,即,查询1。假设查
询1指定获取5个网络设备,即D1、D2、D3、D4和D5的数据流量。假设,查询1所需的数据存储在
节点1和节点2中。特别地,基于设备ID,数据被划分、分布和存储在分区中,即,网络设备D1、
D2、D3、D4和D5的数据存储在节点1的分区P1、P2、P3、P4和P5中。例如,网络设备D1、D2、D3、D4
和D5中的大小为1百万兆(TB)、1.5TB、2.5TB、0.75TB和0.25TB的数据存储在节点1的分区
P1、P2、P3、P4和P5中。在此种情况下,节点1的大小为6TB。此外,网络设备D1、D2、D3和D4的数
据还被划分、分布和存储在节点2的分区P6、P7、P8和P9中。例如,网络设备D1、D2、D3和D4的
1TB、2TB、3TB和0.75TB的数据存储在节点2的分区P6、P7、P8和P9中。数据扫描器218a扫描节
点1的分区P1至P5中的数据,以及数据扫描器218b扫描节点2的分区P6至P9中的数据。节点1
的分区P1和节点2的分区P6被扫描以获取网络设备D1的数据流量。节点1的分区P2和节点2
的分区P7被扫描以获得网络设备D2的数据流量,以此类推。例如,30分钟之后,以视觉趋势
为形式的中间查询状态被显示在用户界面上。在示出的图3a中,查询1和网络设备D1、D2、
D3、D4和D5的中间查询状态的视觉趋势被显示以便展示网络设备的数据流量。展示网络设
备D1至D5的数据流量的查询1的中间查询执行结果和查询执行进度被显示。直条301展示查
询1的查询执行进度为35%的中间查询执行结果,这意味着完成了查询1的35%的查询执
行。网络设备D1、D2、D3、D4和D5的直条展示中间查询执行结果,即,网络设备D1、D2、D3、D4和
D5的数据流量。

例如,用户想要查看每个节点,即节点1和节点2,和节点1的分区P1、P2、P3、P4和P5
和节点2的P6、P7、P8和P9的中间查询执行状态的细节。图3b所示为查询1、节点1和节点2的
中间查询执行状态和每个网络设备D1、D2、D3、D4和D5的数据流量状态的视觉趋势。在示出
的图3b中,视觉趋势,即,直条303,是节点1的中间查询执行状态,其中查询执行进度为
33.3%。直条304是节点2的中间查询执行状态,查询执行进度为37.0%。节点1的网络设备
D1、D2、D3、D4和D5的直条显示查询执行进度为25%、33%、30%、33%和100%。编号为302的
网络D5的直条被标记,因为查询执行进度为100%,即,完成了网络设备D5的查询执行。节点
2的网络设备D1、D2、D3和D4的直条显示查询执行进度为50%、38%、33%和33%。如编号为
301的直条所示的查询1的中间查询执行状态基于节点1和节点2的中间查询执行状态的累
积结果。如编号为303的直条所示的节点1的中间查询执行状态基于网络设备D1至D5的中间
查询执行状态的累积结果。如编号为304的直条所示的节点2的中间查询执行状态基于网络
设备D1至D4的中间查询执行状态的累积结果。图3a中的网络设备D1、D2、D3和D4的直条是节
点1和节点2中的网络设备D1至D4的中间查询执行状态的累积结果。

在一个实施方式中,查询处理服务器202包括中央处理器(“CPU”或“处理器”203)、
输入/输出(I/O)接口204和存储器205。查询处理服务器202的处理器203可以包括用于执行
程序部件和执行用户和系统生成的一个或多个查询的至少一个数据处理器。处理器203可
以包括专用处理单元,例如集成系统(总线)控制器、内存管理控制单元、浮点单元、图形处
理单元、数字信号处理单元等。处理器203可以包括微处理器,例如AMD Athlon、Duron或
Opteron,ARM的应用、嵌入式或安全处理器,IBM PowerPC,英特尔内核,Itanium,Xeon,
Celeron或其它处理器线路等。处理器203可以使用大型主机、分布式处理器、多核、并行、网
格或其它架构。一些实施例可以利用嵌入式技术,例如专用集成电路(ASIC)、数字信号处理
器(DSP)、现场可编程门阵列(EPGA)等。在其它能力中,处理器203用于提取和执行存储在存
储器205中的计算机可读指令。

I/O接口204可以包括各种软件和硬件接口,例如web解码、图形用户界面等。接口
204与处理器203和I/O设备(未示出)耦合。I/O设备用于通过接口204接收来自一个或多个
用户设备201的一个或多个查询以及传输输出或结果以便通过接口204显示在I/O设备中。

在一个实施方式中,存储器205可通信地耦合到处理器203。存储器205存储处理器
可执行指令以优化查询执行。存储器205可以存储与一个或多个查询所要求的数据的中间
扫描状态有关的太阳城集团。该太阳城集团可以包括但不限于,用于查询执行的被扫描数据的字段、用于
查询执行的被扫描数据的约束条件、用于查询执行的被扫描数据的表、用于查询执行的一
个或多个节点216、一个或多个数据分区217和至少一个子分区的ID太阳城集团。在一实施例中,存
储器205可以实施为由查询处理服务器202的各种元件使用的易失性存储器设备(例如,作
为片外存储器)。对于这些实施方式,存储器205可以包括但不限于,随机存取存储器(RAM)、
动态随机存取存储器(DRAM)或静态RAM(SRAM)。在某一实施例中,存储器205可以包括具有
各种容量的通用串行总线(USB)、紧凑式闪存(CF)存储器、安全数字(SD)存储器、微型SD存
储器、极限数字(XD)存储器、记忆棒、记忆棒插槽、智能媒体卡(SMC)存储器、多媒体卡(MMC)
存储器,以及大小降低的多媒体卡(RS-MMC)中的任何一个,例如,注意替代物同样可用。类
似地,存储器205可以是包含在对应的查询处理服务器202的内部结构中的内部类型,或者
位于查询处理服务器202远端的外部类型。此外,存储器205可以支持上述提及的存储器类
型以及很有可能在不久的将来开发和出现的任何类型的存储器,例如相变随机存取存储器
(PRAM)、单元、蜂鸣器、呼叫器等。一个或多个单元生成通知以指示确定的铁电随机存取存
储器(FRAM)和磁性随机存取存储器(MRAN)等。

在一实施例中,查询处理服务器202从一个或多个用户设备201接收与一个或多个
查询有关的数据206以及从一个或多个节点216接收与一个或多个查询的查询执行关联的
一个或多个节点216、一个或多个数据分区217和至少一个子分区的中间查询执行状态。在
一个示例中,从一个或多个用户设备201和一个或多个节点216接收到的数据206可以存储
在存储器205内。在一个实施方式中,数据206可以包括,例如,查询数据207、节点和分区数
据208和其它数据209。

查询数据207是与从一个或多个用户设备201接收到的一个或多个查询有关的数
据。查询数据207包括但不限于,在一个或多个查询中指定的包含子字段的字段、约束条件、
表和元组,基于一个或多个查询,要求执行一个或多个节点216的数据扫描以执行一个或多
个查询。

节点和分区数据208是与一个或多个节点216、一个或多个数据分区217和至少一
个子分区的查询执行有关的数据。在一个实施方式中,节点和分区数据208包括由数据扫描
器218提供的一个或多个节点216、一个或多个数据分区217和至少一个子分区的中间查询
执行状态。在另一个实施方式中,节点和分区数据208包括查询执行中涉及的一个或多个节
点216、一个或多个数据分区217和至少一个子分区的ID太阳城集团。

在一项实施例,数据206可以以各种数据结构的形式存储在存储器205中。另外,可
以使用数据模型,例如关系或分层数据模型组织上述数据206。其它数据206可以用于存储
由模块210生成的用于执行查询处理服务器202的各种功能的数据,包括临时数据和临时文
件。在一实施例中,数据206由查询处理服务器202的模块210处理。模块210可以存储在存储
器103内。

在一个实施方式中,模块210,除其他之外,还包括例程、程序、对象、部件和数据结
构,这些模块执行特定任务或实现特定抽象数据类型。模块210还可以实施为信号处理器、
状态机、逻辑电路,和/或基于操作指令控制信号的任何其它设备或部件。此外,模块210可
以通过一个或多个硬件部件、通过由处理单元执行的计算机可读指令或通过它们的组合实
施。

模块210可以包括,例如,接收模块211、输出模块212、执行模块213和预测模块
214。查询处理服务器202还可以包括执行查询处理服务器202的各种多方面功能的其它模
块215。应当认识到上述模块可以表示为单个模块或不同模块的组合。

在一个实施方式中,接收模块211用于从一个或多个用户设备201接收一个或多个
查询。例如,就用户使用用户设备201提出的查询,即查询1而言。接收模块211从数据扫描器
218接收一个或多个查询、一个或多个节点216、一个或多个数据分区217和至少一个子分区
的中间查询执行状态。例如,就查询,即查询1以获取从用户设备201接收到的5个网络设备
D1、D2、D3、D4和D5的数据流量而言。在示例性实施例中,查询1的中间查询执行状态从数据
扫描器218接收。

输出模块212向一个或多个用户设备201的用户界面以视觉趋势的形式提供一个
或多个查询、一个或多个节点216、一个或多个数据分区217和至少一个子分区的中间查询
执行状态。视觉趋势可以包括,但不限于,饼图、条形图、直方图、盒形图、运行图、森林图、扇
形图、表、数据透视表和控制图。在一实施例中,视觉趋势是本文中解释的条形图。图3a和3b
所示为表现查询执行的中间查询执行状态的示例性视觉趋势。

在一实施例中,输出模块212以视觉趋势的形式提供中间查询执行状态以便于用
户交互中间查询执行状态。图4所示为显示中间查询执行的视觉趋势以便用户交互的示例
性用户界面。在一实施例中,展示查询的中间查询执行的电子文件被显示。电子文件包括由
数字401表示的数据扫描进度趋势、由数字402表示的停止按钮和指示查询的中间查询执行
状态的虚拟化。停止按钮402被显示最接近于数据扫描进度趋势401。虚拟化被显示接近于
数据扫描进度趋势401。虚拟化包括对应于与一个或多个查询和一个或多个节点的一个或
多个数据分区关联的一个或多个节点的结果。在示出的图4中,虚拟化指示查询中体现的网
络设备D1、D2、D3、D4和D5的中间查询执行状态。

在一个实施方式中,用户交互包括通过提供一个或多个更新查询参数和/或一个
或多个更新查询交互中间查询执行状态。在选择一个或多个查询更新选项中的至少一个以
更新查询之后提供一个或多个更新的查询参数和/或一个或多个更新查询。在一实施例中,
一个或多个更新选项在电子文件上显示为由用户界面上的数字403表示的电子列表。当用
户在显示的电子文件上或附近的方向移动对象时,一个或多个更新选项被显示。该对象包
括但不限于,指针和输入设备。在一个示例中,输入设备包括但不限于,触笔、笔形定点设
备、键盘和可以用于通过用户界面进行输入的任何其它设备。对象的运动包括但不限于,电
子文件上的右击和电子文件上的长按。例如,当用户在显示的中间查询执行状态上进行右
击时,一个或多个更新选项被显示。一个或多个更新选项包括但不限于,移除、修改查询、向
下钻取、停止、预测、优化处理、并行向下钻取。当选择除停止选项402之外的一个或多个查
询更新选项之一时,一个或多个更新结果被显示。一个或多个更新结果包括但不限于,全部
节点结果、一个或多个节点中的节点的更新数目的结果、一个或多个节点的结果和一个或
多个子节点的结果,或一个或多个节点之一的结果。

在一实施例中,更新模块212基于由用户在交互期间选择的一个或多个更新选项
接收一个或多个更新的查询参数和一个或多个更新查询中的至少一个。

返回参考图2b,执行模块213执行一个或多个查询。执行模块213执行以下步骤:基
于一个或多个查询参数更新一个或多个查询的执行查询的流程。执行模块213执行一个或
多个更新的查询。在一实施例中,基于所选择的一个或多个更新选项执行:基于一个或多个
查询参数更新一个或多个查询的查询执行的流程以及执行一个或多个更新的查询。在一实
施例中,执行模块213根据:基于一个或多个查询参数更新一个或多个查询的查询执行流程
以及执行一个或多个更新的查询,向用户界面提供一个或多个更新的中间查询执行状态。

图5a所示为基于更新的查询参数更新查询执行流程的示例性实施例,其包括移除
一个或多个查询的一部分、一个或多个节点216的一部分和一个或多个数据分区217的一部
分中的至少一个。例如,考虑到指定获取5个网络设备D1、D2、D3、D4和D5的数据流量的查询
1。在用户界面上提供查询1执行的中间查询执行状态的视觉趋势。展示由501表示的查询1
的查询执行进度为35%的数据扫描进度趋势被显示。网络设备D1、D2、D3、D4和D5的中间查
询执行状态的视觉趋势被显示。现在,考虑到用户想要查看网络设备D3和D5的数据流量。因
此,用户选择网络设备D1、D2和D4并且右击选择“移除”选项。在选择移除选项之后,如图5b
所示,网络设备D1、D2和D4从在用户界面上显示移除。在一实施例中,当选择移除选项时,终
止一个或多个查询的一部分、一个或多个节点216的一部分、一个或多个分区217的一部分
和至少一个子分区中的至少一个的查询执行。例如,在为网络设备D1、D2和D4选择移除选项
之后,终止网络设备D1、D2和D4的查询执行。对于由502表示的查询执行,将查询执行进度更
新为40%。

图6a所示为基于更新的查询参数更新查询执行流程的示例性实施例包括修改一
个或多个查询的一部分。在一实施例中,修改包括但不限于,添加一个或多个查询的一部
分。在一个实施方式中,更新一个或多个查询的一个或多个查询参数以执行对一个或多个
查询的一部分的修改。例如,在用户界面上显示网络设备D1、D2、D3、D4和D5的数据流量的中
间查询执行状态的视觉趋势。考虑到用户想要查看网络设备D6的视觉趋势。随后,用户选择
选项“修改”添加网络设备D6的视觉趋势。现在,如图6b所示,用户能够查看网络设备D1、D2、
D3、D4和D5的数据流量状态和网络设备D6的数据流量状态。将查询执行进度更新为如602所
示的55%。

图7a示出了用户选择选项向下钻取来详细查看查询的中间查询执行的示例性图。
图7b所示为查询的中间查询执行的详细视图。例如,视觉趋势,即直条702,是查询的中间查
询执行状态,其中查询执行进度为35%。视觉趋势,即直条703,是节点1的中间查询执行状
态,其中查询执行进度为33.3%。直条704是节点2的中间查询执行状态,其中查询执行进度
为37.0%。节点1的网络设备D1、D2、D3、D4和D5的直条显示查询执行进度为25%、33%、
30%、33%和100%。节点2的网络设备D1、D2、D3和D4的直条显示查询执行进度为50%、
38%、33%和33%。

通过点击停止按钮402选择停止选项,随后针对查询执行,终止一个或多个查询的
一部分、一个或多个节点的一部分和一个或多个数据分区的一部分中的至少一个的查询执
行。

在一实施例中,选择预测选项。随后,基于中间查询执行状态预测最终查询执行结
果。预测数据扫描结果的一个或多个参数包括但不限于,待预测数据扫描结果的预定太阳城集团
周期、太阳城集团查询执行期间扫描的数据的历史太阳城集团、要求为查询执行扫描的数据流、查询执行
的实际结果和查询执行的预测结果之间的方差,以及在一个或多个节点216和一个或多个
分区217上分布的数据太阳城集团。在一实施例中,通过使用包括但不限于历史方差方法、分区直
方图方法和这两个方法的组合实现数据扫描的预测。

历史方差方法包括两个阶段。第一阶段包括计算每个查询执行之后的方差,第二
阶段包括通过使用历史方差来预测最终查询执行结果进行预测。本文说明了每个查询执行
之后的方差计算。首先,在每个查询执行之后,评估中间结果和最终查询执行结果之间的方
差,该方差存储在存储器205中。然后,在实时查询执行期间,基于当前查询的字段和过滤/
约束添加与历史查询的字段和过滤和约束条件的比较使用最匹配的历史方差值。最后,使
用最匹配历史查询中的正负方差值定期预测当前查询的查询执行结果。

图8a和8b示出了用于预测最终执行结果的历史方差方法的阶段。如图8a和8b所
示,方法800包括用于预测最终执行结果的一个或多个方框。方法800可以在计算机可执行
指令的一般上下文中进行描述。通常地,计算机可执行指令包括例程、程序、对象、部件、数
据结构、流程、模块和功能,它们执行特定功能或实现抽象数据类型。

描述方法800的顺序并不旨在解释为限制,任何数目的所描述的方法方框可以以
任何顺序组合以实施方法800。另外,可以在不偏离本文所述主题的精神和范围的情况下从
方法800中删除各个方框。此外,方法800可以在任何合适的硬件、软件、固件或它们的组合
中实施。

图8a示出了预测最终查询执行结果的历史方差方法的第一阶段。

在方框801处,定期接收中间执行结果。随后,在方框802处,输出中间查询执行结
果的趋势。在方框803处,输出查询执行进度百分比。在方框804处,检查查询执行进度百分
比是否是像10%、20%等主要进度检查点的条件。如果查询执行进度百分比是主要进度检
查点,那么如方框805所示将当前查询执行结果存储在临时存储器中。如果查询执行进度百
分比不是主要进度检查点,那么如方框806所示检查查询执行进度是不是100%完成的条
件。如果查询执行进度不是100%完成,那么过程进入方框801以获取中间查询执行结果。如
果查询执行进度是100%完成,那么如方框807所示从临时存储器获取每个主要进度检查
点。在方框808处,评估当前进度检查点和100%进度状态之间的最大方差和最小方差。如方
框809所示,将最大方差和最小方差存储在预测存储器中。

本文中示出了通过使用历史方差预测最终查询执行结果进行预测的第二阶段。图
8b示出了预测最终查询执行结果的历史方差方法800的第二阶段。在方框810处,定期接收
查询流。在方框811处,输出查询的中间查询执行结果的趋势。在方框812处,输出查询的查
询执行进度百分比。基于查询的字段和过滤条件,如方框813所示获取预测存储器中的最匹
配方差值。如方框814所示,最匹配方差值用于评估查询的中间查询执行结果的预测最大和
最小范围。在方框815处,在用户界面上提供预测进度状态和最大和最小范围的趋势。

图8c所示为预测最终查询执行结果的示例图。考虑到历史查询数据的查询执行的
历史数据扫描。在20%的查询执行处,设备D1、D2、D3、D4和D5的查询执行进度是4.3、2.5、5、
4.5和4个单位。随后,在60%的查询执行处,设备D1、D2、D3、D4和D5的查询执行进度是5、
2.1、4.5、4.6和4.2个单位。随后,在100%的查询执行处,设备D1、D2、D3、D4和D5的查询执行
进度是4.9、2.1、4.6、4.6和4.3个单位。根据分析,查询从20%执行到100%的过程中,设备
D1具有最大正方差,该正方差评估为(4.9-4.3)/4.3*100=13.0%。根据分析,查询从20%
执行到100%的过程中,设备D2具有最大负方差,该负方差评估为(2.1-2.5)/2.5*100=-
16.0%。根据分析,查询从60%执行到100%的过程中,设备D5具有最大正方差,该正方差评
估为(4.3-4.2)/4.2*100=2.3%。根据分析,查询从60%执行到100%的过程中,设备D1具
有最大负方差,该负方差评估为(4.9-5)/4.9*100=-2.0%。将数据扫描的百分比的正负方
差值存储在存储器205中以便在实时预测最终查询执行结果中使用。表1所示为存储在预测
存储器中的最大和最小方差。



考虑到,在数据扫描进度为22%时,数据扫描的最接近百分比是20%,其中的正负
方差值用于预测数据扫描在22%时的数据扫描结果。也就是说,13.0%的最大正方差和-
16%的最大负方差用于预测。图8d示出了具有最大和最小预测范围的预测结果。

本文解释了用于预测最终查询执行结果的分区直方图方法。在一实施例中,基于
数据统计,例如带有记录的行的大小和数量创建分区直方图。数据在各个分区上的分布信
息维护为直方图。分区直方图方法包括通过接收一个或多个查询的中间查询执行状态预测
最终查询执行结果。随后,一个或多个查询中的字段和数据在一个或多个数据分区217上的
分布太阳城集团用于评估一个或多个查询的最终预测结果。预测的最终结果提供为预测的视觉趋
势,包括一个或多个查询的中间预测结果和预测准确性。通过参考图8e示出了用于预测最
终查询执行结果的示例。从中间查询执行状态获取表中如819所示的网络设备D1、D2、D3、D4
和D5的中间流量值。考虑到评估为0.60、0.78、1.20、0.40和0.64的网络设备D1、D2、D3、D4和
D5的中间流量值。根据中间查询执行状态,获得每个网络设备的扫描存储空间,如820所示。
例如,网络设备D1的扫描存储空间是0.75TB,网络设备D2的是1.26TB,以此类推。使用分区
直方图方法,如821所示,设备D1的预测最终流量为1.60,D2的为2.18,D3的为3.79,D4的为
1.21,D5的为0.64。预测的最终流量值表示为如图8e所示的条形图。在图8e中,查询的预测
正确性被表示为823,预测的直条被表示为824。

图8f示出了基于一个或多个查询的过滤条件预测最终执行结果。例如,考虑到将
HTTP协议作为过滤条件体现查询中以获取网络设备D1、D2、D3、D4和D5的数据流量。也就是
说,查询将“HTTP协议”作为过滤条件以使用HTTP协议获取网络设备的数据流量。随后,基于
中间查询执行状态,设备D1的中间流量值是0.60,设备D2的是0.78,以此类推,如828所示。
设备D1中的具有数据匹配过滤条件“HTTP协议”的记录的总数目是如829所示的262,144,
000。设备D2中的具有数据匹配过滤条件“HTTP协议”的记录的总数目是131,072,000,以此
类推,如829所示。设备D1的被扫描记录的总数目是157,286,400,设备D2的是65,536,000,
以此类推,如830所示。根据针对数据扫描中发现的HTTP协议的记录的总数目和匹配记录的
总数目,为设备D1评估的扫描百分比是0.60,D2的是0.50,以此类推。通过使用分区直方图
方法,设备D1的预测最终流量是1.00,D2的是1.56,,以此类推,如831所示。根据预测的最终
流量,查询的条形图在用户界面上表现。针对如825所示的查询执行进度为35%的查询,预
测准确性是如825所示的67%。基于所有设备的匹配HTTP协议的记录的总数目和到现在为
止进行的数据扫描中发现的所有设备的HTTP协议的记录的总数目对预测准确性进行评估。
例如,所有设备的匹配过滤条件HTTP协议的记录的总数目是996,147,200。现在为止的数据
扫描中发现的所有设备的匹配HTTP协议的记录的总数目是668,476,200。预测准确性是
0.67,其通过将被扫描的记录的总数目668,476,200除以记录的总数目996,147,200。

历史方差方法和分区直方图方法的组合包括检查预测准确性是否从历史方差方
法中获取。如果预测准确性是从历史方差方法中获得的,那么使用历史方差方法和分区直
方图方法的预测准确性被获得。如果预测准确性不是从历史方差方法中获得的,那么预测
准确性只使用分区直方图方法获取。如果查询体现要获取记录和或数,那么将加权数提供
给分区直方图方法以获得预测准确性。如果查询体现要获取记录的平均值,那么将加权数
提供给历史方差方法以获得预测准确性。

图9a示出了通过选择“按优先级排序”选项来按优先级对一个或多个节点、一个或
多个分区和至少一个子分区中的至少一个的查询执行进行排序。例如,如果选择优先级选
项加快设备D4的查询执行速度。那么,通过分配额外的CPU、内存等和其它资源进行查询执
行来按优先级对设备D4的查询执行排序。如图9b所示,处于45%的扫描过程的中间结果显
示设备D4的数据流量相比于其它设备的显著改变,这是因为设备D4的扫描优先级提高。

图10a示出了一个或多个查询以及更新的查询的中间查询执行的向下钻取。在一
实施例中,并行执行一个或多个查询和更新的查询。在并行执行之后,并行显示一个或多个
查询以及更新的查询的中间查询执行状态。也就是说,在用户界面上提供一个或多个查询
和更新的查询的中间查询执行的并行查看。例如,当选择并行向下钻取的选项时,则显示网
络设备之一的子设备的中间查询执行状态的视觉趋势和一个或多个网络设备的中间查询
执行状态的视觉趋势。例如,如果在网络设备D3上选择并行向下钻取的选项,那么设备D3的
中间查询执行状态和设备D3的子设备,即D3-1、D3-2、D3-3、D3-4的中间查询执行状态以如
图10b所示的视觉趋势的形式显示。数字1002所示为展示网络设备D1、D2、D3、D4和D5的数据
流量的查询的中间查询执行。数字1004所示为设备D3的子设备的中间查询执行,其中数字
1003表现设备D3的查询执行进度为70%。

图11所示为图示在完成一部分一个或多个查询的执行之后标记中间查询执行状
态的视觉趋势的示例性图。例如,当D5的查询执行完成时,标记,即高亮,网络设备D5的直
条,如数字1102所示。

在一个实施方式中,还标记预测的视觉趋势和按优先级排序的视觉趋势。在一实
施例中,该标记包括高亮和/或低显视觉趋势、预测的视觉趋势和按优先级排序的视觉趋
势。

如图12和13所示,方法1200和1300包括查询处理服务器202优化查询执行的一个
或多个方框。方法1200和1300可以在计算机可执行指令的一般上下文中进行描述。通常地,
计算机可执行指令包括例程、程序、对象、部件、数据结构、流程、模块和功能,它们执行特定
功能或实现抽象数据类型。

描述方法1200和1300的顺序并不旨在解释为限制,并且可以组合任何数量的所述
方法方框以实施方法1200和1300。另外,可以在不偏离本文所述主题的精神和范围的情况
下从方法1200和1300中删除各个方框。此外,方法1200和1300可以在任何合适的硬件、软
件、固件或它们的组合中实施。

图12示出了根据本发明的一些实施例的优化查询执行的方法1200的流程图。

在方框1201处,查询处理服务器202的接收模块211从一个或多个用户设备201接
收一个或多个查询。在一实施例中,数据扫描器218执行一个或多个查询以进行查询执行。
数据扫描器218将中间查询执行状态提供给接收模块211。

在方框1202处,查询处理服务器202将一个或多个查询、用于执行一个或多个查询
的一个或多个节点216和一个或多个节点216的一个或多个数据分区217中的至少一个的中
间查询执行状态提供给用户设备以便用户交互。在一实施例中,以视觉趋势的形式提供中
间查询执行状态。基于一个或多个查询的查询执行提供中间查询执行状态。

在方框1203处,基于对中间查询执行状态的交互使用一个或多个用户设备201从
用户接收一个或多个查询的一个或多个更新的查询参数以及一个或多个更新查询。执行模
块213执行:基于一个或多个查询参数更新一个或多个查询的查询执行的流程以提供更新
的中间查询执行状态。基于一个或多个查询参数更新一个或多个查询的查询执行的流程包
括终止一个或多个查询的一部分、一个或多个节点216的一部分、一个或多个分区217的一
部分和至少一个子分区中的至少一个的查询执行。基于一个或多个更新的查询参数的一个
或多个查询的执行包括按优先级对一个或多个查询的一部分、一个或多个节点的一部分和
一个或多个数据分区的一部分中的至少一个的查询执行进行排序。基于一个或多个更新的
查询参数的一个或多个查询的执行包括执行一个或多个查询的一部分。在一实施例中,用
户添加一个或多个查询的一部分。执行模块213执行一个或多个更新的查询的执行以提供
查询执行的更新的中间查询执行状态。一个或多个更新的查询的执行包括并行执行一个或
多个更新的查询和一个或多个查询。在一实施例中,在完成一部分查询执行之后标记中间
查询执行结果的视觉趋势。

在方框1204处,执行模块213执行基于一个或多个更新的查询参数的一个或多个
查询以及一个或多个更新的查询以将更新的中间查询执行状态以更新的视觉趋势的形式
提供给用户界面。在一实施例中,在完成查询执行之后,标记一个或多个查询、一个或多个
节点216和一个或多个数据分区217的视觉趋势。在一个实施方式中,还标记预测的视觉趋
势和按优先级排序的化视觉趋势。在一实施例中,该标记包括高亮和/或低显视觉趋势、预
测的视觉趋势和按优先级排序的视觉趋势。

图13(a和b)示出了根据本发明一些实施例提供中间查询执行状态和查询执行进
度细节的方法1300的流程图。

参考图13a,在方框1301处,查询处理服务器202接收来自一个或多个用户设备的
查询。在一实施例中,用户使用一个或多个用户设备201提出查询。

在方框1302处,创建每个节点和数据分区的扫描进度。在一实施例中,在扫描过程
期间内获取每个节点和数据分区的存储状态。

在方框1303处,更新每个节点和数据分区的预定太阳城集团间隔。例如,要求处理的扫描
的预定太阳城集团间隔是60秒。更新60秒内执行的扫描。

在方框1304处,扫描每个节点的特定数据分区以获得查询结果。

在方框1305处,检查是否达到预定太阳城集团间隔。如果没有达到预定太阳城集团间隔,那么过
程通过“否”进入方框1306,其中继续扫描过程。如果达到预定太阳城集团间隔,那么过程通过“是”
进入方框1307,其中检查最终预定太阳城集团间隔是否结束的条件。如果最终预定太阳城集团间隔结束,
那么过程通过“是”进入方框1308,其中合并不同节点的查询执行结果。随后,在方框1309
处,将最终查询执行结果提供给用户以便可视化。如果最终预定太阳城集团间隔没有结束,那么过
程进入过程‘A’。

参考图13b,在方框1310处,接收到中间查询执行结果和扫描进度细节。

在方框1311处,合并不同节点的中间查询执行结果和扫描进度细节。

在方框1312处,将中间查询执行结果更新到一个或多个用户设备201。

在方框1313处,标记最终结果。此外,将预测的中间查询执行结果和以百分比值表
示的预测准确性提供给一个或多个用户设备201。

在方框1314处,检查是否从用户接收更新的查询和/或查询参数。如果接收到更新
的查询和/或查询参数,那么过程返回方框1315,其中基于更新的查询和/或查询参数更新
查询执行扫描进度。随后,在方框1316处,丢弃不需要的先前中间查询执行结果。然后,过程
继续到‘B’。或者,如果没有接收到更新的查询和/或查询参数,那么过程返回过程‘C’。

另外,本文说明了本发明的优点。

本发明实施例提供中间查询执行状态的显示,这提高了分析和查询执行。

本发明实施例消除了等待完成整个扫描过程才查看查询执行结果。

本发明实施例基于中间查询执行状态提供用户交互以更新查询优化查询执行。

本发明实施例基于被扫描的行、被扫描数据的大小和速率提供中间查询执行状
态,这消除了只根据被扫描的行数提供查询执行状态的限制。

本发明实施例基于中间扫描状态的分析提供对节点、分区和子分区的查询执行结
果的预测。

本发明实施例杜绝浪费用于查询执行的查询执行太阳城集团和系统资源。由于基于中间
查询执行状态可以按照用户的要求更新查询,所以浪费减少了。例如,一旦查询执行达到满
意水平,用户可以终止查询执行。当预测准确性高时,用户可以使用预测的结果来终止或按
优先级对查询执行排序。另外,基于中间结果,不想要的数据参数可以在查询执行期间移
除,这样节省了计算太阳城集团和过程。

所述操作可以实施为一种使用标准程序和/或工程技术的方法、系统或物品以产
生软件、固件、硬件或它们的任何组合。所述操作可以实施为在“非瞬时性计算机可读介质”
中保存的代码,其中处理器可以从计算机可读介质中读取和执行该代码。该处理器为微处
理器和能够处理和执行查询的处理器中的至少一个。非瞬时计算机可读介质可包括诸如磁
存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储器(CD-ROM、DVD、光盘等)、易失性和非
易失性存储设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)等的
介质。此外,非瞬时计算机可读介质包括除瞬时传播信号外的所有计算机可读介质。实施所
述操作的代码可进一步在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电
路(ASIC)等)中实施。

此外,实施所述操作的代码可以通过“传输信号”实施,其中传输信号可以通过空
间或通过传输介质,例如光纤、铜线等传播。在其中对代码或逻辑进行编码的传输信号还可
以包括无线信号、卫星传输、无线电波、红外线信号、蓝牙等。在其中对代码或逻辑进行编码
的传输信号能够通过传输站传输和由接收站接收,其中在传输信号中编码的代码或逻辑可
以解码或存储在硬件或接收和传输站或设备处的非瞬时计算机可读介质中。“制造品”包括
非瞬时性计算机可读介质、硬件逻辑,和/或可以实施代码的传输信号。对实施所述操作的
实施例的代码进行编码的设备可以包括计算机可读介质或硬件逻辑。当然,本领域技术人
员将认识到可以对这种配置进行各种修改,而不脱离本发明的范围,以及制造品可以包括
承载本领域已知的介质的合适太阳城集团。

除非另有明确规定,否则术语“一实施例”、“实施例”、“多项实施例”、“该实施例”、
“这些实施例”、“一项或多项实施例”、“一些实施例”和“一项实施例”指“本发明的一项或多
项(但不是全部)实施例”。

除非另有明确规定,否则术语“包含”、“包括”、“具有”和其它形式指“包括但不限
于”。

除非另有明确规定,否则枚举的项目列表并不意味着这些项目中的任何项目或所
有项目是互斥的。

除非另有明确规定,否则术语“一”、“一个”和“所述”指“一个或多个”。

描述具有相互通信的若干部件的实施例并不意味着需要所有这些部件。相反,描
述多种可选部件来说明本发明的许多种可能的实施例。

虽然本文描述了单个设备或制品,但显然可以使用不止一个设备/制品(不论它们
是否协作)来代替单个设备/制品。类似地,虽然本文描述了不止一个设备或制品(不论它们
是否协作),但显然可以使用单个设备/制品来代替不止一个设备或制品,或者可以使用不
同数量的设备/制品,而不是所示数量的设备或程序。设备的功能和/或特征可替代性地由
没有明确地描述为具有这种功能/特征的一个或多个其它设备来实施。因此,本发明的其它
实施例不需要包括设备本身。

图8(a和b)、图12和图13(a和b)所述的操作示出了以某个顺序发生的某些事件。在
替代性实施例中,某些操作可以以不同顺序执行,修改或移除。此外,多个步骤可以添加到
上面描述的逻辑并且仍然符合所描述的实施例。此外,本文所述的操作可以依次发生,或者
某些操作可并行处理。另外,可由单个处理单元或者由分布式处理单元来执行操作。

最后,出于可读性和指导性的目的已经主要选择了说明书中使用的语言,并且该
语言未被选择成限定或限制本发明的主题。因此,本发明的范围并非意在由这一详细描述
限制,而是由在基于本文的应用上所附的任何权利要求限制。因此,本发明实施例旨在举例
说明,而非限制在所附权利要求中阐述的本发明范围。

尽管本文公开了多个方面和实施例,但是其它方面和实施例对于所属领域技术人
员来说应该是显而易见的。本文所公开的多个方面和实施例是出于说明性目的,而非限制
性的,真实范围和精神由所附权利要求表征。

关 键 词:
优化 查询 执行 方法 处理 服务器
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:优化查询执行的方法和查询处理服务器.pdf
链接地址:http://zh228.com/p-6059624.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');