面向完整历史记录的图查询开销方法技术

技术编号:14875688 阅读:42 留言:0更新日期:2017-03-23 23:17
本发明专利技术提供了一种面向完整历史记录的图查询开销方法,包括:步骤1:服务器在加载原始数据时,收集开销预测所需数据并进行统计;步骤2:服务器接收客户端的查询请求,解析查询请求中的查询语句;步骤3:选择查询三元组的顺序,判断查询顺序的合理性;步骤4:预测查询开销。本发明专利技术面向完整历史记录的图查询开销预测,能够充分利用完整历史记录查询方式的特点,对查询开销进行准确估计,选择高效的查询顺序,充分利用高性能网络的特性;还考虑到分布式环境下高性能网络的通讯也会对查询延迟带来影响;能根据模型预测特定查询请求的延迟,并选择开销最小的查询三元组的顺序,提升图查询系统的整体性能。

【技术实现步骤摘要】

本专利技术涉及一种图查询开销预测的方法,特别是涉及一种面向完整历史记录的图查询开销方法
技术介绍
大数据时代,信息呈现出了高度非结构化和自由而丰富的关联性,许多知识库如微博、Facebook等的社交网络图通常以RDF(ResourceDescriptionFramework)的形式进行存储,同时针对这些海量图数据进行在线查询请求同时变得更加复杂和自由。而对查询的开销进行预测和建模,并根据开销来合理安排查询语句的执行顺序是减少查询语句延迟的重要方法之一,正确和合理的开销方法能尽量的减少无用的中间结果,充分利用高性能的网络和硬件资源,加速用户的查询请求。SPARQL是针对采用RDF格式保存的非结构化数据上的一种实现“富”语义检索的查询语言,该查询语言通常由多个三元组(主语、谓词、宾语)组成,每个三元组对应在关联图数据会查询出一些中间结果,接着这些结果经过一系列的减枝和合并产生最终的结果返回给用户。其中完整历史记录减枝法是一种高效的图查询执行中的减枝方法,该方法将所有的中间结果历史记录在查询过程中传递到不同机器上,能够较早的去除不必要的中间结果,同时不会造成最后合并结果带来的额外开销。完整历史记录减枝法能够高效的利用高性能网络,相比于传统的单步减枝法具有更好的性能优势。现有的图查询的开销方法往往考虑单步减枝来进行开销预测,不能适用于高性能网络中更高效的完整历史记录减枝法,经常会造成一些开销预测的不准确,从而会导致不合理的查询顺序,带来较大的查询延迟。另外,现有的开销方法往往忽视了通讯开销和最后合并操作开销的估计,这两部分的开销往往在查询的总体开销中占有较大的比例,忽略这两种开销会造成开销方法的不准确,即导致与真实开销的偏差较大。因此如何针对完整历史记录的图查询,合理的设计开销方法,准确的预测查询开销,从而合理安排查询语句的执行顺序,充分利用高性能的网络,合理调度资源,进而加速用户的查询请求,减少响应的延迟,已经成为本领域技术人员亟待解决的技术难题。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种面向完整历史记录的图查询开销方法,其考虑到了完整历史记录的传递过程,能够合理预测通讯开销,高效的安排查询语句的顺序,降低用户查询请求的延迟。根据本专利技术提供的一种面向完整历史记录的图查询开销方法,包括如下步骤:步骤1:服务器在加载原始数据时,收集开销预测所需数据并进行统计,得到统计数据;步骤2:服务器接收客户端的查询请求,解析查询请求中的查询语句;步骤3:选择查询三元组的顺序,判断查询顺序的合理性;重复步骤3反复执行,直到查询顺序是合理的,则进入步骤4继续执行;其中,三元组是指(主语、谓词、宾语);所述合理是指查询执行的顺序符合图查询的规范;步骤4:根据所述合理的查询顺序以及统计数据,预测查询开销。优选地,所述步骤1包括:每台服务器分别对本地的原始图数据进行统计,所述统计的对象包括谓词对应的主语和宾语个数、谓词对应的三元组个数、同时包含两组谓词的节点个数,统计完毕后将各台服务器的统计数据进行汇总得到全局的统计数据,为开销预测作数据准备。优选地,所述步骤2包括:解析查询语句,具体为:将字符串表示的SPARQL查询语句转换为数字表示的查询语句,其中,所述数字表示是指:每个主、谓、宾的组合转换为唯一对应的数字ID,数字ID与字符串之间存在一一对应关系。优选地,所述步骤3包括:步骤3.1:为一条查询语句中的所有三元组进行任意排序,具体为:为每个三元组选择一个执行查询的步骤顺序编号,其中,步骤顺序编号从第一步开始编号;步骤3.2:判断生成的三元组顺序是否合理,具体为:如果是为第一步执行查询选择三元组,则任意三元组都为合理;如果是为其它步执行查询选择三元组,则若执行查询的三元组的查询变量在前面某一步的三元组中已经存在,则认为是合理顺序,否则认为是不合理顺序。优选地,所述步骤4包括如下步骤中的任一步或者任多步:三元组查询开销预测步骤,具体为:单条三元组的开销由产生的新查询结果表中的条目数来进行估计,其中,新查询结果表的条目数则是根据完整历史记录中的条数乘以该谓词平均每个节点所具有的三元组个数来得到,用于新查询结果表的条目数计算的数据是步骤1中的统计数据;其中,节点是指主语或者宾语;三元组关联减枝开销预测步骤,具体为:使用关联统计数据来对查询的减枝过程进行估计,上一步查询中三元组产生的历史记录结果条目根据减枝比例进行减少,其中,减枝比例指的是平均每个拥有第一谓词的节点并同时拥有第二谓词的节点个数,其中,第一谓词指的是前一条三元组的谓词,第二谓词指的是当前三元组的谓词;其中,所述关联统计数据包括同时包含两组谓词的节点个数;通讯开销预测步骤,具体为:根据高性能网络的特性以及完整历史记录的条目数来估计数据大小,从而预测通讯的开销。优选地,所述步骤4包括:预测查询的总开销,查询的总开销等于所有三元组的开销预测之和,其中,所述三元组的开销预测包括三元组查询开销、三元组关联减枝开销通讯开销。与现有技术相比,本专利技术具有如下的有益效果:1、本专利技术的开销方法是面向完整历史记录的图查询开销预测,能够充分利用完整历史记录查询方式的特点,对查询开销进行准确估计,选择高效的查询顺序,充分利用高性能网络的特性。2、本专利技术不仅仅考虑了单条三元组的查询开销,还考虑到分布式环境下高性能网络的通讯也会对查询延迟带来影响,本方法结合中间完整历史记录数据的大小,能够对高性能网络下的通讯开销进行准确估计。3、本专利技术能根据模型预测特定查询请求的延迟,并选择开销最小的查询三元组的顺序,能够极大的减少图查询请求的延迟,提升图查询系统的整体性能。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1是本专利技术使用面向完整历史记录的图查询开销方法预测的流程图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。根据本专利技术提供的面向完整历史记录的图查询开销方法,包括如下步骤:步骤1:服务器在加载原始数据时,收集开销方法所需数据并进行统计;步骤2:服务器接收客户端的查询请求,解析查询语句;步骤3:选择查询三元组的顺序,判断查询顺序的合理性;若合理,则进入步骤4继续执行;若不合理,则继续执行步骤3,即重新选择查询三元组的顺序,判断查询顺序的合理性,直到合理;步骤4:根据开销方法预测查询开销,开销方法包括每条三元组的开销预测、三元组关联减枝开销预测、通讯开销预测,最后查询的总开销等于所有三元组的开销预测之和。所述步骤1包括:每台服务器分别对本地的原始图数据进行统计,包括谓词对应的主语和宾语个数、谓词对应的三元组个数、同时包含两组谓词的特定节点个数,统计完毕后将各台机器的统计数据进行汇总得到全局的统计数据,该数据可以集中在主服务器上(一般为编号为0的机器)或者各台服务器均有备份,这些统计数据为之后的开销预测作数据准备。谓词优选为特定谓词,特定谓词可以是设定的谓词。所述步骤2包括:解析查询语句,具体为:将字符串表示的SPARQ本文档来自技高网
...
面向完整历史记录的图查询开销方法

【技术保护点】
一种面向完整历史记录的图查询开销方法,其特征在于,包括如下步骤:步骤1:服务器在加载原始数据时,收集开销预测所需数据并进行统计,得到统计数据;步骤2:服务器接收客户端的查询请求,解析查询请求中的查询语句;步骤3:选择查询三元组的顺序,判断查询顺序的合理性;重复步骤3反复执行,直到查询顺序是合理的,则进入步骤4继续执行;其中,三元组是指(主语、谓词、宾语);所述合理是指查询执行的顺序符合图查询的规范;步骤4:根据所述合理的查询顺序以及统计数据,预测查询开销。

【技术特征摘要】
1.一种面向完整历史记录的图查询开销方法,其特征在于,包括如下步骤:步骤1:服务器在加载原始数据时,收集开销预测所需数据并进行统计,得到统计数据;步骤2:服务器接收客户端的查询请求,解析查询请求中的查询语句;步骤3:选择查询三元组的顺序,判断查询顺序的合理性;重复步骤3反复执行,直到查询顺序是合理的,则进入步骤4继续执行;其中,三元组是指(主语、谓词、宾语);所述合理是指查询执行的顺序符合图查询的规范;步骤4:根据所述合理的查询顺序以及统计数据,预测查询开销。2.根据权利要求1所述的面向完整历史记录的图查询开销方法,其特征在于,所述步骤1包括:每台服务器分别对本地的原始图数据进行统计,所述统计的对象包括谓词对应的主语和宾语个数、谓词对应的三元组个数、同时包含两组谓词的节点个数,统计完毕后将各台服务器的统计数据进行汇总得到全局的统计数据,为开销预测作数据准备。3.根据权利要求1所述的面向完整历史记录的图查询开销方法,其特征在于,所述步骤2包括:解析查询语句,具体为:将字符串表示的SPARQL查询语句转换为数字表示的查询语句,其中,所述数字表示是指:每个主、谓、宾的组合转换为唯一对应的数字ID,数字ID与字符串之间存在一一对应关系。4.根据权利要求1所述的面向完整历史记录的图查询开销方法,其特征在于,所述步骤3包括:步骤3.1:为一条查询语句中的所有三元组进行任意排序,具体为:为每个三元组选择一个执行查询的步骤顺序编号,其中,步骤顺序编号从第一步开始编号;步骤3.2:判...

【专利技术属性】
技术研发人员:陈海波姚友阳陈榕臧斌宇
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1