CN101739451A - 一种网格数据库连接查询自适应处理方法 - Google Patents
一种网格数据库连接查询自适应处理方法 Download PDFInfo
- Publication number
- CN101739451A CN101739451A CN200910232635A CN200910232635A CN101739451A CN 101739451 A CN101739451 A CN 101739451A CN 200910232635 A CN200910232635 A CN 200910232635A CN 200910232635 A CN200910232635 A CN 200910232635A CN 101739451 A CN101739451 A CN 101739451A
- Authority
- CN
- China
- Prior art keywords
- node
- grid
- query
- execution route
- inquiry
- 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
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 14
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000005070 sampling Methods 0.000 claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 230000015572 biosynthetic process Effects 0.000 claims description 24
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000002474 experimental method Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 241001466538 Gymnogyps Species 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种网格数据库连接查询自适应处理方法,属于网格数据库连接查询技术领域。该方法依次包括抽样计算方法、最优执行路径获取方法及查询流水线动态调整方法三部分。抽样计算方法是基于代价模型公式,实现对查询选择度、节点间的网络带宽及节点对单个元组的处理代价值的更新,并计算更新各候选计划各阶段的处理代价;在最优执行路径获取法中,根据栅格构成的连通图找出起始点到终点间的最小最大流路径(最优执行路径);若最优执行路径非当前执行路径,则通过查询流水线动态调整法对查询计划进行调整。本发明充分考虑了网格数据库所处网格环境的动态特性,对查询处理代价估算精度高,查询计划的调整及时准确,有效提高了查询处理效率。
Description
技术领域
本发明涉及数据库技术中的一种网格数据库连接查询自适应处理方法,属于网格数据库连接查询技术领域。
背景技术
网格是下一代Internet上的计算平台,它的核心任务是管理分布在Internet广域环境中各种类型的软硬件资源,为基于Internet的分布式应用提供一个统一的、虚拟的共享资源计算平台。作为网格计算模型的一个重要组成部分,网格上的数据管理一直以来是网格研究的一个热点。目前网格数据管理的研究对象主要集中在基于文件的信息资源,很少涉及数据库资源,然而,来自于科学和商业领域的大量网格应用迫切需要数据库系统的支持,因此如何将数据库资源并入现有的网格架构,满足更加广泛的网格应用数据管理需求,已经成为一项亟待解决的新课题。
网格数据库是将数据库技术和网格技术相结合而形成的一个新的研究内容。目前国内外的研究主要集中在网格环境下数据库的访问和集成领域,即如何设计和实现网格应用与数据库系统的统一接口。用户能够以数据库无关的方式统一访问和管理存储在不同数据库中的数据,但对网格环境下分布式查询的支持很少。随着符合GGF(Global Grid Forum)标准的Globus工具包[Raman V,Narang I,Crone C,et al.Services for Data Access an Data Processing on Grids.In:GGF Document GFD.14,Global Grid Forum,2003]以及网格数据库接口标准OGSA-DAI(Open Grid Services Architecture-Data Access and Integration)[Anjomshoaa A,et al.TheDesign and Implementation of Grid Database Services in OGSA-DAI.In:Proceedings of UKe-ScienceAll Hands Meeting,Nottingham,September 2004]的发展,越来越多的研究关注网格数据库的查询处理。然而,与传统分布式数据库不同,在网格数据库中,分布式查询操作是进行在动态组成的虚拟数据库之上,每个节点上的数据库都只包含所需信息的一部分,查询操作还涉及到数据库异构性、通信开销等问题,这些都给网格环境下的分布式查询处理带来了新的困难。同时,在网格数据库的查询处理中还存在着局部代价参数不可得、不精确、不完全或变化的情况,使得传统的查询优化技术不能满足网格数据库的查询优化要求,需要采用适应性的查询处理AQP(adaptive query processing),即在查询执行期间,在网格环境参数发生变化的情况下,对查询计划中尚未进行的子查询进行适应性的动态优化调整,以保证最好的效率。
经查询国内外文献和专利,当前有关网格数据库查询处理的研究主要有:
文献[Alpdemir M N,Mukherjee A,Paton N W,et al.Service-based distributed querying onthe grid.In:ICSOC 2003,First International Conference,Trento,Italy,Springer,December 2003.467~482]中提到的OGSA-DQP(Open Grid Services Architecture-Distributed Query Processing)是英国MyGrid项目组在OGSA-DAI的基础上开发的分布式查询处理系统。支持异构数据源的集成,并利用并行数据库技术实现复杂查询的隐性并行化。
文献[Zhou Yongluan,Ooi Beng Chin,Tan Kian-Lee,et al.An adaptable distributed queryprocessing architecture.Data & Knowledge Engineering,To appear,2005]中提出的SwAP研究了网格环境参数的动态获取方法,通过设置Eddy进行监控,取得相关的工作负载、传输速率等信息。
文献[Dail H,Sievert O,Berman F,et al.Scheduling in the grid application developmentsoftware project.In:Grid resource management:state of the art and future trends.Kluwer AcademicPublishers Group,2003]中提出的GrADS以及文献[Thain D,Tannenbaum T,Livny M.Condorand the grid.In:Grid Computing:Making the Global Infrastructure a Reality,John Wiley & SonsInc,2003]中提出的Condor都采用基于DAG的模型描述子查询计划,支持子查询之间的前驱、后继的依赖关系以及子查询执行的消耗描述。
文献[Blythe J J,Deelman S,Gil E,et al.Task scheduling strategies for workflow-basedapplications in grids.Cluster Computing and the Grid,2005.IEEE international Symposium onMay 2005,2:759~767]对子查询在网格中的节点分配优化进行了研究。采用min-min调度算法,考虑局部分配和全局执行消耗的影响,将子查询按照计算任务的处理模式进行启发式优化调度。
在上述研究中,OGSA-DQP的查询优化是基于Polar*[Smith J,Sampaio S,Watson P.Thedesign,implementation and evaluation of an odmg Compliant,parallel object database server.Distributed and Parallel Databases,2004,16(3):275~319]并行数据库的静态查询处理引擎实现的,没有充分考虑网格环境的动态特性。而GrADS、Condor以及min-min调度算法将子查询按照网格中计算任务的处理模式进行建模和适应性的优化调度,具有以下不足:
(1)子查询和单纯的计算任务有所不同。计算任务主要使用节点的内存、CPU等资源以完成计算,只要能够满足计算需求,可以将计算任务调度到任何一个节点上执行;而子查询主要使用节点数据库中的数据资源,子查询与节点之间存在着数据关联关系,因此子查询不能像计算任务一样被任意调度,否则只会降低效率。min-min调度算法则忽略了子查询与执行节点之间的数据关联关系。
(2)计算任务通常功能性较强,彼此之间相对独立,数据依赖关系简单;而子查询本身由全局查询分解而成,彼此之间的数据依赖关系紧密,存在着丰富的关联关系。GrADS和Condor中的DAG模型式,对子查询之间的相互关系描述能力不够强,不支持子查询之间的顺序、并发以及其它的关联关系描述,因此,对子查询的自适应性支持力度不足。
发明内容
本发明针对背景技术中网格数据库查询处理技术存在的缺陷,在充分考虑网格环境动态特性的基础上,提出一种网格数据库连接查询自适应处理方法。
本发明的网格数据库连接查询自适应处理方法,依次包括抽样计算方法、最优执行路径获取方法及查询流水线动态调整方法,具体内容如下:
(一)抽样计算方法
该抽样计算方法基于如下代价模型公式:
m(0)→Φ,Nt(Φ)=0,s(0)=s(1),s(k+1)=s(k),BW(Si,Si)=∞,
其中:P为查询计划;i为连接查询涉及的网格节点编号;k为连接查询涉及的网格节点总数;Nt表示处理阶段的查询选择度;BW表示网格节点之间的网络带宽;L为单个元组的存储空间大小;PC表示网格节点对单个输入元组的连接处理代价;S表示网格节点;s(·)为映射函数,表示把给定的位置映射到相应关系表所处网格节点的id;m(·)为映射函数,表示把给定的位置映射到连接栅格中的对应结点标识,即m(position)→To(1)To(2)...To(position);o(·)为映射函数,表示把给定的位置映射到相应的关系表id;Φ表示空值;T表示关系表,各关系表的位置为其在查询计划P中的处理次序;下同;
抽样计算方法的步骤如下:
(1)获取抽样信息,包括当前执行路径上的各处理阶段的查询选择度Nt、各网格节点对单个输入元组的连接处理代价PC及各网格节点之间的网络带宽BW;
(2)根据步骤(1)得到的抽样信息,更新各网格节点对单个输入元组的连接处理代价PC;
(3)根据步骤(1)得到的抽样信息,更新各网格节点之间的网络带宽BW;
(4)根据步骤(1)得到的抽样信息,更新连接栅格中各个处理阶段的查询选择度Nt:对于当前执行路径上的Nt值,则直接获得更新;对于不在当前执行路径上的Nt值,按以下步骤获得更新:
①设置布尔型变量flag为FALSE;
②遍历连接栅格中的每个结点,当当前访问的结点及其所依赖的各结点的Nt值中有且仅有一个未被更新时,则依照元组贡献依赖表相应公式计算更新该Nt值,并将布尔型变量flag置为TRUE;
③当布尔型变量flag为TRUE时,转到步骤①继续执行;当所有结点都访问完,布尔型变量flag为FALSE时,则更新结束;
(5)根据步骤(2)、(3)、(4)得到的更新后的Nt值、BW值和PC值,依据代价模型公式对连接栅格中各候选查询计划中各阶段的处理代价进行重新计算;
(二)最优执行路径获取方法
最优执行路径,即最小最大流路径,亦即连接处理代价最小的执行路径,经过方法(一)的计算后,连接栅格构成了一个具有权值的连通图,记为D(x,y);
输入:连通图D(x,y)
输出:从x到y之间的一条最小最大流路径,x为起始结点,y为终结点
步骤如下:
(1)将各个结点的min值初始化为∞;
(2)新建一个空的队列Q,将起始结点x放入队列Q,并给起始结点x增加标号(-,0),且置min(x)=0;
(3)当队列Q为空,转到步骤(7);当队列Q非空,取出队列Q中的首个元素u;
(4)当u=y,转到步骤(5);当u≠y,依次处理u的上层结点t:当t的最后一个下层结点不为u,转到步骤(5);当t的最后一个下层结点为u,将t加入队列Q;
(5)当u=x,转到步骤(3);当u≠x,依次处理u的下层结点v:当w(u,v)>min(v),置m=w(u,v);当w(u,v)≤min(v),置m=min(v);函数w(·)表示取权值;
(6)给u增加标号(v,m),当m<min(u),置min(u)=m,转到步骤(3);
(7)从终结点y开始依次向下寻找标号最小的结点直至起始结点x,则这条路径即为所要寻找的最优执行路径;
(三)查询流水线动态调整方法
若方法(二)获得的最优执行路径不是当前执行路径,则按如下步骤进行查询流水线动态调整:
(1)查找当前执行路径与方法(二)得到的最优执行路径在前部分是否存在公共流水管道,即从起始处理节点开始依次经过的网格节点是否都相同,并以此确定流水线阻断的位置:若存在公共流水管道,则流水线阻断的位置为公共流水管道的最后一个网格节点处;若不存在公共流水管道,则流水线阻断的位置为起始处理节点处;
(2)在步骤(1)得到的流水线阻断位置断开流水,直至上层流水全部完成;
(3)依据方法(二)得到的最优执行路径,在流水线阻断位置依次调整流水的输入路径,逐步重新建立起处理流水线。
本发明是一种基于流水线并行处理的网格数据库连接查询自适应处理方法,该方法充分考虑了网格数据库所处网格环境的动态特性,对查询处理代价的估算精度高,查询计划的动态调整及时准确,可以有效提高查询处理的效率。通过该方法在网格数据库原型系统NHGridDB中的实现及在TPC-D数据集上的相应实验(实验采用的连接查询来自于IBM用于DB2 UDB优化测试的用例),结果表明本发明方法的处理效率较静态流水线处理方法提高了15%~30%。
附图说明
图1是本发明的方法流程图。
图2(0)是连接查询实例的关系表连接关系示意图;图2(1)~(3)是以T1为起始表的候选查询计划示意图。
图3是连接查询实例以T1为起始表的连接栅格示意图。
图4是查询选择度Nt的抽样计算实例示意图。
图5是最优执行路径获取方法的执行过程实例示意图。
图6是查询流水线动态调整实例示意图。
图7是在调整因子β取不同值时,本发明方法较静态流水线处理方法处理效率提高情况的实验示意图。
图8是在数据集SF值取不同值时,本发明方法较静态流水线处理方法处理效率提高情况的实验示意图。
具体实施方式
在网格数据库中,用户提交的查询通常是连接查询,且连接查询涉及的多个关系表被存放在不同的节点上。考虑到网格环境中各个节点是独立工作的,为了减少查询处理的时间,采用流水线方式进行并行处理,即按照某个处理顺序(查询执行计划),起始节点不断地将该节点的数据发送至其上层节点;上层节点将接收到的数据与本地数据做连接处理,并将所得处理结果再不断地向其上层节点发送。以上过程持续至最上层节点,最上层节点直接将处理结果返回给用户。
对于网格数据库中的连接查询,通常存在多个候选查询计划。为了在查询处理过程中给查询计划的自适应调整提供依据,需要计算比较各候选查询计划基于流水线并行处理的代价,那么,就需要考虑节点之间传送中间处理结果的通信代价以及节点上进行连接操作的处理代价。对于节点之间传送中间处理结果的通信代价,必须对查询执行计划中各阶段的查询选择度进行估计,我们参照文献[Mishra C,Koudas N.Join Reordering by Join Simulation.In:Proceedings of the 2009 IEEE International Conference on Data Engineering.Washington,DC,USA:IEEE Computer Society,2009.493~504]中提出的查询选择度估计方法,引入栅格(lattice)和元组贡献依赖表(Tuple Contribution Dependency Tables)的概念,为每个连接查询建立相应的连接栅格,然后根据栅格推出元组贡献依赖表,即查询选择度的估计公式。连接栅格包含了给定起始表情况下的所有候选查询计划。
由于网格环境下各节点是独立并行工作的,因此,各候选查询计划基于流水线并行处理的代价是查询执行路径中各流水阶段处理代价的最大值,即所谓的“瓶颈”。各流水阶段的处理代价包括:对输入元组的接收代价、对输入元组的处理代价及将结果元组向上层流水发送的代价。
根据图1,本发明的网格数据库连接查询自适应处理方法依次包括抽样计算方法、最优执行路径获取方法及查询流水线动态调整方法,具体内容如下:
(一)抽样计算方法
该抽样计算方法基于如下代价模型公式:
m(0)→Φ,Nt(Φ)=0,s(0)=s(1),s(k+1)=s(k),BW(Si,Si)=∞,
其中:P为查询计划;i为连接查询涉及的网格节点编号;k为连接查询涉及的网格节点总数;Nt表示处理阶段的查询选择度;BW表示网格节点之间的网络带宽,如节点Si和Sj之间的网络带宽记为BW(Si,Sj);L为单个元组的存储空间大小;PC表示网格节点对单个输入元组的连接处理代价,如节点Si处理单个输入元组的连接处理代价记为PC(Si);S表示网格节点;s(·)为映射函数,表示把给定的位置映射到相应关系表所处网格节点的id;m(·)为映射函数,表示把给定的位置映射到连接栅格中的对应结点标识,即m(position)→To(1)To(2)...To(position),这里关系表排列不分先后;o(·)为映射函数,表示把给定的位置映射到相应的关系表id,查询计划P则表示为相应的查询计划执行路径,即关系表的执行序列To(1),To(2),...,To(k);Φ表示空值;栅格即为文献[Mishra C,Koudas N.Join Reordering byJoin Simulation.In:Proceedings of the 2009 IEEE International Conference on Data Engineering.Washington,DC,USA:IEEE Computer Society,2009.493~504]中lattice的概念;T表示关系表,各关系表的位置为其在查询计划P中的处理次序,起始表的位置为1,依次往上累加;下同;
抽样计算方法的步骤如下:
(1)获取抽样信息,包括当前执行路径上的各处理阶段的查询选择度Nt、各网格节点对单个输入元组的连接处理代价PC及各网格节点之间的网络带宽BW;
(2)根据步骤(1)得到的抽样信息,更新各网格节点对单个输入元组的连接处理代价PC;各节点PC值可以认为与当前获取的该节点的PC值相同或做微小波动,这是因为在流水线处理粒度(各网格节点在进行连接处理时一次性处理的输入元组数)一定的情况下,PC值主要与该节点上参与连接的关系表的大小有关,而该节点上参与连接的关系表没变;
(3)根据步骤(1)得到的抽样信息,更新各网格节点之间的网络带宽BW;如果两网格节点之间的BW值不在获取的抽样信息中,可以通过请求获得;
(4)根据步骤(1)得到的抽样信息,更新连接栅格中各个处理阶段的查询选择度Nt:对于当前执行路径上的Nt值,则直接获得更新;对于不在当前执行路径上的Nt值,按以下步骤获得更新:
①设置布尔型变量flag为FALSE;
②遍历连接栅格中的每个结点,当当前访问的结点及其所依赖的各结点的Nt值中有且仅有一个未被更新时,则依照元组贡献依赖表相应公式计算更新该Nt值,并将布尔型变量flag置为TRUE;
所述元组贡献依赖表即为文献[Mishra C,Koudas N.Join Reordering by Join Simulation.In:Proceedings of the 2009IEEE International Conference on Data Engineering.Washington,DC,USA:IEEE Computer Society,2009.493~504]中Tuple Contribution Dependency Tables的概念;
③当布尔型变量flag为TRUE时,转到步骤①继续执行;当所有结点都访问完,布尔型变量flag为FALSE时,则更新结束;
(5)根据步骤(2)、(3)、(4)得到的更新后的Nt值、BW值和PC值,依据代价模型公式对连接栅格中各候选查询计划中各阶段的处理代价进行重新计算;
(二)最优执行路径获取方法(标号算法)
最优执行路径,即最小最大流路径,亦即连接处理代价最小的执行路径,经过方法(一)抽样计算过程后,我们得到了连接栅格中各候选查询计划各阶段的处理代价,下面需要寻找一条效率最优的执行路径,而此时的连接栅格构成了一个具有权值的简单连通图,将该连通图记为D(x,y);
输入:连通图D(x,y)
输出:从x到y之间的一条最小最大流路径,x为起始结点,y为终结点
步骤如下:
(1)将各个结点的min值初始化为∞;
(2)新建一个空的队列Q,将起始结点x放入队列Q,并给起始结点x增加标号(-,0),且置min(x)=0;
(3)当队列Q为空,转到步骤(7);当队列Q非空,取出队列Q中的首个元素u;
(4)当u=y,转到步骤(5);当u≠y,依次处理u的上层结点t:当t的最后一个下层结点不为u,转到步骤(5);当f的最后一个下层结点为u,将t加入队列Q;
(5)当u=x,转到步骤(3);当u≠x,依次处理u的下层结点v:当w(u,v)>min(v),置m=w(u,v);当w(u,v)≤min(v),置m=in(v);函数w(·)表示取权值,w(u,v)表示相邻结点u、v之间的处理代价;
(6)给u增加标号(v,m),当m<min(u),置min(u)=m,转到步骤(3);
(7)从终结点y开始依次向下寻找标号最小的结点直至起始结点x,则这条路径即为所要寻找的最优执行路径;
(三)查询流水线动态调整方法,
在方法(二)获取到当前最优执行路径后,如果得到的最优执行路径不是当前正在执行的路径,那么就需要对查询计划进行调整,步骤如下:
(1)查找当前执行路径与方法(二)得到的最优执行路径在前部分是否存在公共流水管道,即从起始处理节点开始依次经过的网格节点是否都相同,并以此确定流水线阻断的位置:若存在公共流水管道,则流水线阻断的位置为公共流水管道的最后一个网格节点处;若不存在公共流水管道,则流水线阻断的位置为起始处理节点处;
(2)在步骤(1)得到的流水线阻断位置断开流水,直至上层流水全部完成;
(3)依据方法(二)得到的最优执行路径,在流水线阻断位置依次调整流水的输入路径,逐步重新建立起处理流水线。
显然,流水线的阻断和重新建立需要消耗额外的代价,因此在查询处理的过程中不能频繁地调整流水,因此,设定调整因子β,当存在其他执行路径比当前执行路径的效率更优且偏差大于等于β时,再进行查询流水线的调整。调整因子β需要通过数据集实验获得。
图7所示是在调整因子β取不同值时,本发明方法较静态流水线处理方法处理效率提高情况的实验示意图;图8所示是在数据集SF值取不同值时,本发明方法较静态流水线处理方法处理效率提高情况的实验示意图。
为方便描述,我们假定有如下连接查询实例JQ:SELECT T1.a,T2.b,T3.c FROM T1,T2,T3,T4 WHERE T1.a=T2.a AND T2.b=T3.b AND T1.c=T4.c,关系表连接关系如图2(0)所示,关系表T1、T2、T3、T4分别存储于节点S1、S2、S3、S4上,则以T1表为起始表的候选查询计划如图2(1)~(3)所示,进而可以得到如图3所示的连接栅格,相应的元组贡献依赖表如下:
Nt(T1) 1
Nt(T1T2T4) Nt(T1T2)×Nt(T1T4)
Nt(T1T2T3T4) Nt(T1T2T3)×Nt(T1T4)
在图3所示的连接栅格中任意选择其中一条路径作为执行路径,即如图4加黑部分所示的抽样实例。对于图4(1),在执行过程中可以抽样获得Nt(T1T2)、Nt(T1T2T3)、Nt(T1T2T3T4),那么,依据上述的元组贡献依赖表,Nt(TlT2T3T4)除以Nt(T1T2T3)则为Nt(T1T4),进而Nt(T1T4)乘以Nt(T1T2)则可以得到Nt(T1T2T4);同理,对于图4(2),在执行过程中可以抽样获得Nt(T1T2)、Nt(T1T2T4)、Nt(T1T2T3T4),那么Nt(T1T2T4)除以Nt(T1T2)则为Nt(T1T4),进而Nt(T1T2T3T4)除以Nt(T1T4)则可以得到Nt(T1T2T3)。整个抽样计算过程没有消耗额外的连接处理代价,因此对查询处理的效率没有影响。
下面以图5来说明本发明中最优执行路径的获取方法(标号算法):
如图5(1)所示连通图D(a,f),其中a为起始结点,f为结束结点,线段之间的数值为通过抽样计算所得的相应查询计划各阶段的处理代价。图5(2)给出了针对图5(1)所示情况采用标号算法获取最优执行路径的过程以及执行结果,图中加黑部分即为得到的最优执行路径a-b-d-f。
下面以图6所示的例子来说明查询流水线的动态调整方法:
图6(1)相对图5(1)的不同在于e-f边的权值由11变为了9,而此时的最优路径也因此发生了变化(图6(2)中加黑部分:a-b-e-f)。可以看出,新得到的最优路径与当前正在执行的路径在前部分存在公共的流水管道a-b段(图6(2)中加黑加粗部分)。因此,不需要完全断开整个流水线,可以从b处断开流水直至上层b-d-f流水完成,然后从b处向上依次重新调整流水的输入路径,再次逐步建立起处理流水线。像这样采用流水线的复用技术,可以节省复用部分流水线因阻断和重新建立所消耗的额外代价,当然,获取到的最优路径与当前正在执行的路径也可能不存在可复用部分,那么此时查询计划的调整就需要断开整个流水线,即从起始节点处断开流水。
Claims (2)
1.一种网格数据库连接查询自适应处理方法,其特征在于:依次包括抽样计算方法、最优执行路径获取方法及查询流水线动态调整方法,具体内容如下:
(一)抽样计算方法
该抽样计算方法基于如下代价模型公式:
m(0)→Φ,Nt(Φ)=0,s(0)=s(1),s(k+1)=s(k),BW(Si,Si)=∞,
其中:P为查询计划;i为连接查询涉及的网格节点编号;k为连接查询涉及的网格节点总数;Nt表示处理阶段的查询选择度;BW表示网格节点之间的网络带宽;L为单个元组的存储空间大小;PC表示网格节点对单个输入元组的连接处理代价;S表示网格节点;s(·)为映射函数,表示把给定的位置映射到相应关系表所处网格节点的id;m(·)为映射函数,表示把给定的位置映射到连接栅格中的对应结点标识,即m(position)→To(1)To(2)...To(position);o(·)为映射函数,表示把给定的位置映射到相应的关系表id;Φ表示空值;T表示关系表,各关系表的位置为其在查询计划P中的处理次序;下同;
抽样计算方法的步骤如下:
(1)获取抽样信息,包括当前执行路径上的各处理阶段的查询选择度Nt、各网格节点对单个输入元组的连接处理代价PC及各网格节点之间的网络带宽BW;
(2)根据步骤(1)得到的抽样信息,更新各网格节点对单个输入元组的连接处理代价PC;
(3)根据步骤(1)得到的抽样信息,更新各网格节点之间的网络带宽BW;
(4)根据步骤(1)得到的抽样信息,更新连接栅格中各个处理阶段的查询选择度Nt:对于当前执行路径上的Nt值,则直接获得更新;对于不在当前执行路径上的Nt值,按以下步骤获得更新:
①设置布尔型变量flag为FALSE;
②遍历连接栅格中的每个结点,当当前访问的结点及其所依赖的各结点的Nt值中有且仅有一个未被更新时,则依照元组贡献依赖表相应公式计算更新该Nt值,并将布尔型变量flag置为TRUE;
③当布尔型变量flag为TRUE时,转到步骤①继续执行;当所有结点都访问完,布尔型变量flag为FALSE时,则更新结束;
(5)根据步骤(2)、(3)、(4)得到的更新后的Nt值、BW值和PC值,依据代价模型公式对连接栅格中各候选查询计划中各阶段的处理代价进行重新计算;
(二)最优执行路径获取方法
最优执行路径,即最小最大流路径,亦即连接处理代价最小的执行路径,经过方法(一)的计算后,连接栅格构成了一个具有权值的连通图,记为D(x,y);
输入:连通图D(x,y)
输出:从x到y之间的一条最小最大流路径,x为起始结点,y为终结点
步骤如下:
(1)将各个结点的min值初始化为∞;
(2)新建一个空的队列Q,将起始结点x放入队列Q,并给起始结点x增加标号(-,0),且置min(x)=0;
(3)当队列Q为空,转到步骤(7);当队列Q非空,取出队列Q中的首个元素u;
(4)当u=y,转到步骤(5);当u≠y,依次处理u的上层结点t:当t的最后一个下层结点不为u,转到步骤(5);当t的最后一个下层结点为u,将t加入队列Q;
(5)当u=x,转到步骤(3);当u≠x,依次处理u的下层结点v:当w(u,v)>min(v),置m=w(u,v);当w(u,v)≤min(v),置m=min(v);函数w(·)表示取权值;
(6)给u增加标号(v,m),当m<min(u),置min(u)=m,转到步骤(3);
(7)从终结点y开始依次向下寻找标号最小的结点直至起始结点x,则这条路径即为所要寻找的最优执行路径;
(三)查询流水线动态调整方法
若方法(二)获得的最优执行路径不是当前执行路径,则按如下步骤进行查询流水线动态调整:
(1)查找当前执行路径与方法(二)得到的最优执行路径在前部分是否存在公共流水管道,即从起始处理节点开始依次经过的网格节点是否都相同,并以此确定流水线阻断的位置:若存在公共流水管道,则流水线阻断的位置为公共流水管道的最后一个网格节点处;若不存在公共流水管道,则流水线阻断的位置为起始处理节点处;
(2)在步骤(1)得到的流水线阻断位置断开流水,直至上层流水全部完成;
(3)依据方法(二)得到的最优执行路径,在流水线阻断位置依次调整流水的输入路径,逐步重新建立起处理流水线。
2.根据权利要求1所述的网格数据库连接查询自适应处理方法,其特征在于:所述查询计划P表示为关系表的执行序列To(1),To(2),...,To(k);
其中:T、o(·)、k的定义同权利要求1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910232635A CN101739451A (zh) | 2009-12-03 | 2009-12-03 | 一种网格数据库连接查询自适应处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910232635A CN101739451A (zh) | 2009-12-03 | 2009-12-03 | 一种网格数据库连接查询自适应处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101739451A true CN101739451A (zh) | 2010-06-16 |
Family
ID=42462934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910232635A Pending CN101739451A (zh) | 2009-12-03 | 2009-12-03 | 一种网格数据库连接查询自适应处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101739451A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064955A (zh) * | 2012-12-28 | 2013-04-24 | 华为技术有限公司 | 查询规划方法及装置 |
CN103729417A (zh) * | 2013-12-17 | 2014-04-16 | 华为技术有限公司 | 一种数据扫描的方法及装置 |
CN103927346A (zh) * | 2014-03-28 | 2014-07-16 | 浙江大学 | 基于数据量的查询连接方法 |
CN105122239A (zh) * | 2013-03-13 | 2015-12-02 | 华为技术有限公司 | 用于针对矢量化查询执行的自适应矢量大小选择的系统和方法 |
CN105302858A (zh) * | 2015-09-18 | 2016-02-03 | 北京国电通网络技术有限公司 | 一种分布式数据库系统的跨节点查询优化方法及系统 |
CN106528280A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种任务分配方法和系统 |
US9875279B2 (en) | 2013-12-17 | 2018-01-23 | Huawei Technologies Co., Ltd. | Data scanning method and apparatus |
CN108304517A (zh) * | 2018-01-23 | 2018-07-20 | 西南大学 | 基于复杂事件处理系统的高效嵌套查询方法 |
CN110650087A (zh) * | 2019-10-09 | 2020-01-03 | 四川灵通电讯有限公司 | 栅格网络及应用该栅格网络的数据转发式可靠传输方法 |
-
2009
- 2009-12-03 CN CN200910232635A patent/CN101739451A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064955A (zh) * | 2012-12-28 | 2013-04-24 | 华为技术有限公司 | 查询规划方法及装置 |
CN105122239A (zh) * | 2013-03-13 | 2015-12-02 | 华为技术有限公司 | 用于针对矢量化查询执行的自适应矢量大小选择的系统和方法 |
CN105122239B (zh) * | 2013-03-13 | 2019-03-26 | 华为技术有限公司 | 用于针对矢量化查询执行的自适应矢量大小选择的系统和方法 |
US9875279B2 (en) | 2013-12-17 | 2018-01-23 | Huawei Technologies Co., Ltd. | Data scanning method and apparatus |
CN103729417A (zh) * | 2013-12-17 | 2014-04-16 | 华为技术有限公司 | 一种数据扫描的方法及装置 |
CN103927346A (zh) * | 2014-03-28 | 2014-07-16 | 浙江大学 | 基于数据量的查询连接方法 |
CN103927346B (zh) * | 2014-03-28 | 2017-02-15 | 浙江大学 | 基于数据量的查询连接方法 |
CN106528280A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种任务分配方法和系统 |
CN106528280B (zh) * | 2015-09-15 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 一种任务分配方法和系统 |
US10936364B2 (en) | 2015-09-15 | 2021-03-02 | Alibaba Group Holding Limited | Task allocation method and system |
CN105302858B (zh) * | 2015-09-18 | 2019-02-05 | 北京国电通网络技术有限公司 | 一种分布式数据库系统的跨节点查询优化方法及系统 |
CN105302858A (zh) * | 2015-09-18 | 2016-02-03 | 北京国电通网络技术有限公司 | 一种分布式数据库系统的跨节点查询优化方法及系统 |
CN108304517A (zh) * | 2018-01-23 | 2018-07-20 | 西南大学 | 基于复杂事件处理系统的高效嵌套查询方法 |
CN110650087A (zh) * | 2019-10-09 | 2020-01-03 | 四川灵通电讯有限公司 | 栅格网络及应用该栅格网络的数据转发式可靠传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101739451A (zh) | 一种网格数据库连接查询自适应处理方法 | |
CN109240821B (zh) | 一种基于边缘计算的分布式跨域协同计算与服务系统及方法 | |
CN103108031B (zh) | 云边拓扑 | |
CN101170578B (zh) | 基于语义相似度的层次式对等网络结构及构建方法 | |
Jiang et al. | The rich get richer: Preferential attachment in the task allocation of cooperative networked multiagent systems with resource caching | |
CN101873335A (zh) | 一种跨域语义Web服务的分布式搜索方法 | |
Di Martino et al. | Towards an Ontology-Based Intercloud Resource Catalogue--The IEEE P2302 Intercloud Approach for a Semantic Resource Exchange | |
CN102255955A (zh) | 基于依赖关系的Web服务动态组合方法 | |
US8489633B2 (en) | Correlated query process (CQP) and peer-to-peer (P2P) execution | |
Lange et al. | Making the world wide space happen: New challenges for the nexus context platform | |
CN107239483B (zh) | 一种基于数据服务的跨域电梯数据组合视图自动生成方法 | |
CN102571962B (zh) | 一种面向云制造的服务组合路径构造方法 | |
Privat et al. | WoT graph as multiscale digital-twin for cyber-physical systems-of-systems | |
Azad et al. | Query processing over distributed heterogeneous sensor networks in future internet: Scalable architecture and challenges | |
CN100372332C (zh) | 组合服务总线系统及其实现方法 | |
CN102929605A (zh) | 一种基于云计算的数据挖掘系统开放接口 | |
Yang et al. | A task-oriented automatic microservice deployment method for industrial edge applications | |
Lin et al. | A mobile crowd sensing ecosystem based on fog computing infrastructure | |
CN103761285A (zh) | 一种面向用户需求的服务资源检索方法 | |
CN110019412A (zh) | 基于Agent的分布式海量数据挖掘系统 | |
CN103870930A (zh) | 一种面向增量制造资源虚拟化的信息描述方法 | |
Cuevas-Vicenttin et al. | Efficiently coordinating services for querying data in dynamic environments | |
Hamdy et al. | Service-orientation in mobile computing-an overview | |
Zhang et al. | Knowledge discovery of network public opinion in the concept of smart city | |
Xia et al. | The autonomous optimal routing design and evolution about acE service flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100616 |