用于优化数据存储上的查询执行的方法_5

文档序号:9872440阅读:来源:国知局
于本发明的范围非由这一具体描述限制,而是由在基于本文的应用上授权的任何权利要求限制。因此,公开本发明实施例旨在举例说明,而非限制在所附权利要求中阐述的本发明范围。
[0098]关于本文中任何复数和/或单数术语的使用,本领域技术人员可以从复数形式转换为单数形式,和/或从单数形式转换为复数形式,以适合具体环境和/或应用。为清楚起见,在此明确阐述单数/复数形式。
[0099]另外,在以马库什(Markush)群组描述本发明的特征或方面的情况下,本领域技术人员将认识到,本发明由此也是以该马库什群组中的任意单独成员或成员子组来描述。
[0100]尽管本文公开了多个方面和实施例,但是其他方面和实施例对于本领域技术人员来说应该是显而易见的。本文所公开的方面和实施例是出于说明性目的,而非限制性的,真实范围和精神由所附权利要求表征。
【主权项】
1.一种用于优化数据存储上的查询执行的方法,其特征在于,所述方法包括: 接收模块接收多个查询,所述多个查询包括来自一个或多个客户机的一个或多个元数据,其中所述接收模块配置在与所述数据存储通信连接的服务器中; 分组模块基于包含在所述多个查询的每个查询中的所述一个或多个元数据将所述接收模块接收的所述多个查询的一个或多个查询划分到一个或多个分组列表;以及 执行模块执行所述一个或多个分组列表的每个分组列表以检索响应于划分到所述一个或多个分组列表中的所述多个查询的所述一个或多个查询的结果,所述一个或多个分组列表包括所述数据存储上的所述多个查询的所述一个或多个查询,所述执行所述一个或多个分组列表的每个分组列表包括为划分到所述一个或多个分组列表的每个分组列表中的所述一个或多个查询在所述数据存储上进行一次扫描。2.根据权利要求1所述的方法,其特征在于,所述多个查询的每个查询中包括的所述一个或多个元数据是筛选维度、筛选成员和数据集中的至少一个。3.根据权利要求1所述的方法,其特征在于,将所述多个查询中属于同一模式的所述一个或多个查询划分到所述一个或多个分组列表。4.根据权利要求1所述的方法,其特征在于,基于所述多个查询的每个查询中包括的一个或多个元数据之间的相似性将所述多个查询划分到所述一个或多个分组列表。5.根据权利要求1所述的方法,其特征在于,还包括将所述多个查询的每个查询的一个或多个子查询划分到所述一个或多个分组列表。6.根据权利要求1所述的方法,其特征在于,所述接收模块对所述接收的多个查询进行排序。7.根据权利要求6所述的方法,其特征在于,所述将所述多个查询的所述一个或多个查询划分到所述一个或多个分组列表是在超过计时器中预定的等待时间后执行的,当所述接收的一个或多个查询的至少一个查询被排序后,启动所述计时器。8.根据权利要求1所述的方法,其特征在于,使用多维表达式(MDX)语言和结构化查询语言(SQL)中的至少一种语言生成所述多个查询。9.根据权利要求1所述的方法,其特征在于,为划分到所述一个或多个分组列表中的所述一个或多个查询在数据存储上进行一次扫描包括: 配置在所述执行模块中的扫描范围标识符模块基于划分到所述一个或多个分组列表的每个分组列表中的所述一个或多个查询包括的所述一个或多个元数据为所述一个或多个分组列表的每个分组列表确定扫描范围,所述扫描范围包括扫描的开始和结束键; 配置在执行模块中的扫描模块从确定的扫描范围中读数据存储以检索记录,并且当所述检索出的记录在所述确定的扫描范围内时,将所述检索出的记录转发给记录发布者,其中所述记录发布者配置在所述执行模块中; 查询计算器从所述记录发布者接收所述检索出的记录,所述查询计算器验证所述检索出的记录是否与所述多个查询的一个或多个查询的每个查询中包括的所述一个或多个元数据相匹配,其中当验证所述检索出的记录时,所述查询计算器的数据聚合器聚合所述查询计算器接收的所述检索出的记录;以及 所述查询计算器将所述聚合的记录作为与所述接收模块接收的所述多个查询的所述一个或多个查询相对应的查询结果发送。10.根据权利要求9所述的方法,其特性在于,还包括所述记录发布者向所述扫描模块指示下一理想键,其中所述下一理想键基于划分到所述分组列表中的所述一个或多个查询的所述一个或多个元数据指示下一待读取的记录。11.根据权利要求9所述的方法,其特征在于,查询计算器的数量对应所述接收模块接收的所述多个查询。12.根据前述权利要求所述的方法,其特征在于,在所述数据存储上并行执行包括所述多个查询的所述一个或多个查询的所述一个或多个分组列表的每个分组列表。13.根据权利要求1所述的方法,其特征在于,所述数据存储从平面文件、分层联机分析处理(OLAP)数据多维数据集、多维数据集、关系数据存储、联机分析处理数据存储和Excel文件中的至少一个中选择。14.一种用于优化数据存储上的查询执行的服务器,其特征在于,所述服务器包括: 接收模块,用于接收多个查询,所述查询包括来自一个或多个客户机的一个或多个元数据; 分组模块,用于基于包含在所述多个查询的每个查询中的所述一个或多个元数据将从所述接收模块接收的所述多个查询的一个或多个查询划分到一个或多个分组列表;以及 执行模块,用于执行所述一个或多个分组列表的每个分组列表以检索响应于划分到所述一个或多个分组列表中的所述多个查询的所述一个或多个查询的结果,所述一个或多个分组列表包括所述数据存储上的所述多个查询的所述一个或多个查询,所述执行所述一个或多个分组列表的每个分组列表包括为划分到所述一个或多个分组列表的每个分组列表中的所述一个或多个查询在所述数据存储上进行一次扫描。15.根据权利要求14所述的服务器,其特征在于,还包括存储单元,所述存储单元用于存储所述接收模块接收的所述多个查询和包括所述多个查询的所述一个或多个查询的所述一个或多个分组列表。16.根据权利要求14所述的服务器,其特征在于,所述接收模块是将所述多个查询排序的解析器。17.根据前述权利要求所述的服务器,其特征在于,当超过计时器中预定的等待时间时,所述分组模块将所述多个查询的所述一个或多个查询划分到所述一个或多个分组列表,当所述接收模块将所述接收的一个或多个查询的至少一个查询排序后,启动所述计时器。18.根据前述权利要求所述的服务器,其特征在于,所述计时器选择性地配置在系统中。19.根据权利要求14所述的服务器,其特征在于,所述执行模块包括: 扫描范围标识符模块,用于基于划分到所述一个或多个分组列表的每个分组列表中的所述一个或多个查询包括的所述一个或多个元数据为所述一个或多个分组列表的每个分组列表确定扫描范围,包括扫描的开始和结束键; 扫描模块,用于从确定的扫描范围中读数据存储以检索记录,并且当所述检索出的记录在所述确定的扫描范围内时,将所述检索出的记录转发给记录发布者,其中所述记录发布者配置在所述执行模块中;以及 查询计算器,用于从所述记录发布者接收所述检索出的记录,所述查询计算器验证所述检索出的记录是否与所述多个查询的所述一个或多个查询的每个查询中包括的所述一个或多个元数据相匹配,其中当验证所述检索出的记录时,所述查询计算器的数据聚合器聚合所述查询计算器接收的所述检索出的记录,并且所述查询计算器将所述聚合的记录作为与所述接收模块接收的所述多个查询的所述一个或多个查询相对应的查询结果发送。20.根据权利要求19所述的服务器,其特征在于,查询计算器的数量对应所述接收模块接收的所述多个查询。21.根据权利要求14所述的服务器,其特征在于,所述数据存储从平面文件、分层联机分析处理(OLAP)数据多维数据集、多维数据集、关系数据存储、联机分析处理数据存储和Excel文件中的至少一个中选择。22.根据权利要求14所述的服务器,其特征在于,所述一个或多个客户机从移动设备、遥控设备、计算机、个人数字助理(PDA)和能够执行数据传输和显示的任意其他通信设备中的至少一个中选择。23.根据权利要求14所述的服务器,其特征在于,所述服务器通信式地连接到所述数据存储。24.存储有操作的非瞬时计算机可读介质,当至少一个处理单元处理所述操作时,促使系统进行以下操作: 接收模块接收多个查询,所述查询包括来自一个或多个客户机的一个或多个元数据,其中所述接收模块配置在通信式地连接到所述数据存储的服务器中; 分组模块基于包含在所述多个查询的每个查询中的所述一个或多个元数据将从所述接收模块接收的所述多个查询的一个或多个查询划分到一个或多个分组列表;以及 执行模块执行所述一个或多个分组列表的每个分组列表以检索响应于划分到所述一个或多个分组列表中的所述多个查询的所述一个或多个查询的结果,所述一个或多个分组列表包括所述数据存储上的所述多个查询的所述一个或多个查询,所述执行包括所述多个查询的所述一个或多个查询的所述一个或多个分组列表的每个分组列表包括为划分到所述一个或多个分组列表的每个分组列表中的所述一个或多个查询在所述数据存储上进行一次扫描。25.—种用于优化数据存储上的查询执行的计算机程序,所述计算机程序包括用于通过接收模块接收多个查询的代码段,所述多个查询包括来自一个或多个客户机的一个或多个元数据;用于通过分组模块将从所述接收模块接收的所述多个查询的一个或多个查询划分到一个或多个分组列表的代码段,所述分组基于包含在所述多个查询的每个查询中的所述一个或多个元数据执行;以及用于通过执行模块执行所述一个或多个分组列表的每个分组列表以检索响应于划分到所述一个或多个分组列表中的所述多个查询的所述一个或多个查询的查询结果的代码段,所述一个或多个分组列表包括所述数据存储上的所述多个查询的所述一个或多个查询,所述执行所述一个或多个分组列表的每个分组列表包括为划分到所述一个或多个分组列表的每个分组列表中的所述一个或多个查询在所述数据存储上进行一次扫描。
【专利摘要】本发明的实施例涉及大数据。具体而言,本发明涉及一种优化数据存储上的查询执行的方法和服务器。通过将要求来自所述数据存储的同一部分数据的一个或多个查询分成一个或多个组优化本发明中的查询执行。将所述一个或多个查询分成所述一个或多个组从一个或多个元数据中实现,所述一个或多个元数据包含在用户指定的一个或多个查询中,所述用户希望基于所述一个或多个元数据检索结果。执行划分在所述一个或多个分组下的所述一个或多个查询仅涉及所述数据存储的一次扫描。通过这种方式,以最小延迟返回每个查询所需的来自所述数据存储的结果。
【IPC分类】G06F17/30
【公开号】CN105637506
【申请号】CN201480054764
【发明人】拉温德拉·佩塞莱, 纳加奈拉西姆哈·拉梅什·加拉, 张勇
【申请人】华为技术有限公司
【公开日】2016年6月1日
【申请日】2014年5月6日
【公告号】EP3044706A1, EP3044706A4, WO2015048925A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1