一种基于XML混合模式查询处理算法制造技术

技术编号:18115108 阅读:18 留言:0更新日期:2018-06-03 08:17
本发明专利技术提供了一种基于XML混合模式查询处理算法,给定一个路径表达式查询,结合至少两种XML查询算法产生供替换的查询计划;基于每个可选的查询计划查询的代价,提选出最佳的评估计划;每个评估计划有一个相应的代价,表示使用该评估计划估计查询的必要时间;计算每个评估计划的代价,最小代价的评估计划即为最佳的查询计划。本发明专利技术提供的基于XML混合模式查询处理算法结合了两种及以上XML查询算法的优势,执行时间远远小于单算法的执行时间,提高了查询的处理速度,同时节约了搜索空间。试验结果表明,其在单文档上和多文档上查询均具有有效性,适于大范围推广应用。

【技术实现步骤摘要】
一种基于XML混合模式查询处理算法
本专利技术涉及一种基于XML混合模式查询处理算法,属于计算机科学

技术介绍
早在XML推出以前,数据库研究人员就注意到现实生活中存在着大量的不规则数据,即这些数据没有固定的模式、结构易变,而传统的数据库只能表达结构化的数据,因此研究人员提出了半结构化数据模型(参见:T.Bray,J.Paoli,C.M.Sperberg.ExtensibleMarkupLanguage(XML)1.0.http://www.-w3.org/TR/1998/REC-XML-19980210,1998),以其相应的查询语言,Lorel是Lore系统的查询语言,它是以OQL为基础发展起来的,它的语法也是Select-From-Where结构。自1998年初XML1.0规范问世以来,Lore提供了对它的支持,因此Lorel也可以用来查询XML数据,又相继出现了多种XML查询语言(参见:A.Silberschatz,F.Korth,S.Sudarshan.DatabaseSystemConcepts.ThirdEdition.TheMcGraw-HillCompanies,1999:192-194)。XML算法按研究领域可分为两类:(1)数据库领域,如Lorel、XML-QL、YATL、Quilt、XML-GL等(参见:D.Florescu,D.Kossmann.StoringandQueryingXMLDataUsinganRBDMS.IEEEDataEngineeringBulletin,1999,22(3):102-108);(2)文档领域,如XSL、XQL等。其中,以Lorel、XML-QL、YATL、XQL影响较大。不同的研究领域,研究人员所关心的主要问题各有不同:数据库领域关心大型数据仓储、异构数据源集成、现有数据新的输出视图、私有数据到公共数据交换格式的转换等;而文档领域则侧重于全文检索、结构化文档的查询、内容检索与结构检索的集成、单个基础文档的多种输出形式等。而上述语言都只是侧重其中的一个方面,不能同时满足数据库和文档两方面的需求,为此,SoftWareAG、IBM和1NRIA综合了XML-QL、XQL、SQL以及OQL的优点,提出了Quilt(参见:T.Shimura,M.Yoshikawa,S.Uemura.StorageandRetrievalofXMLDocumentsUsingObject-RelationalDatabases.InInt'1Conf.onDatabaseandExpertSystemsApplications,Florence,Italy,1999:206-217;C.Baru,A.Gupta,B.Ludaescher,etc.XML-BasedInformationMediationwithMIX.IninDemoSession,ACM-SIGMOD′99,Philadelphia,PA,1999:597-599;M.Rys.State-of-the-ArtXMLSupportinRDBMS:MicrosoftSQLServer'sXMLFeatures.BulletinoftheIEEEcomputerSocietyTechnicalCommitteeonDataEngineering,2001,24(2):3-11)。现有的常用的XML算法有以下几种:(1)基本内联法:首先为DTD(文档类型定义)中的每个元素生成一个“元素图”,它是DTD图中从该元素对应节点开始所能到达的节点构成的一个子图。基本内联法首先为每个元素图生成一个对应的表定义,并为所有可以直接达到的元素生成相应的属性,对于那些通过*节点达到的元素则另外生成一个表定义。基本内联法的最大缺点是生成了太多的表定义(对每个元素至少生成一个表),由此导致在做某些查询的时候需要进行大量的集合操作。(2)共享内联法:共享内联法解决了基本内联法的上述问题,它只考虑处理那些在DTD图中入度大于1和入度为0的元素对应的“元素图”,它与基本内联法相同,对那些通过*节点达到的元素也另外生成一个表。共享内联法比基本内联法生成了较少的表定义,但在进行查询的时候却比基本内联法需要进行更多的连接操作。(3)混和内联法:混和内联法是共享内联法的改进,它与共享内联法唯一的不同在于:它同时还内联了那些入度大于1和通过*到达的节点。综上,在实现上,基本内联法由于生成了太多的表,通常是不可取的,但对共享内联法和混和内联法的性能测试表明,这两种方法各有所长。这是因为混和内联法内联了更多的元素,虽然有时候可以降低连接操作的次数,但同时也使表的结构更加庞大,从而降低了处理的速度。
技术实现思路
本专利技术要解决的技术问题是如何提高XML查询处理算法的处理速度,同时节约搜索空间。为了解决上述技术问题,本专利技术的技术方案是提供一种基于XML混合模式查询处理算法,其特征在于:给定一个路径表达式查询,结合至少两种XML查询算法产生供替换的查询计划;基于每个可选的查询计划查询的代价,提选出最佳的评估计划;每个评估计划有一个相应的代价,表示使用该评估计划估计查询的必要时间;计算每个评估计划的代价,最小代价的评估计划即为最佳的查询计划。优选地,计算每个评估计划查询的代价的具体规则如下:对每个评估计划可能的移动序列做详尽的搜索,沿着最优路径把搜索限定在一条窄带上:1)为状态设定一个优先权列表;2)裁剪产生次优解决方法的中间计划;3)为每个状态推出代价值ubCost,ubCost表示从某一状态转换到最终状态所需的上部绑定的代价的估计;给出如下几个概念:定义1给定一个查询模式Q=(VQ,EQ),VQ为节点数量,EQ为边的权重,一个状态节点Ns是在VQ中的一簇节点,满足下面的关系:(1)(2)onpathfromutovinQ(w为u到v的查询路径)定义2给定一个查询模式Q=(VQ,EQ),一个状态节点是一棵树S=(Vs,Es),Vs为树的节点数量,Es为边的权重,满足下面的关系:(1)VQ={v|v}∈Ns(2)(3)∪Ns=VQ(Ns∈Vs)(4)(5)查询模式Q是一个状态自身,称作开始状态,表示为S0;当Vs={{VQ}},状态为最终状态,表示为Sf;所有其它的状态被称为中间状态;定义3与每个状态S关联的是一个代价值Costvalue,Cost是计算S中由状态节点表示的所有子模式所需的操作的累积代价;或者说,Cost是开始状态S0转换到状态S所需的累积代价;定义4从状态S开始的一次moveM是向量(aN,dN,Algo,St,Cost),其中,aN和dN是模式树节点且(aN,dN)∈Es是将被计算的边;Algo表示物理操作符;St是将被排序的节点;Cost是连接的估计代价;定义5一个状态S是无效的,当且仅当起始于某一状态S,有一组可能的移动将状态转换为另一种状态集,从而逐步接近最终状态,称该组移动为possiblemoves,并表示为pM(s);查询处理过程中,通过扩展一个状态时向前看一步来避免无效状态的产生,具体如下:1)扩展:总是扩展有最低Cost+ubCost值的状态;2)裁剪:如果从S0到S的路径的代价超过了从S0到Sf的最低本文档来自技高网
...

【技术保护点】
一种基于XML混合模式查询处理算法,其特征在于:给定一个路径表达式查询,结合至少两种XML查询算法产生供替换的查询计划;基于每个可选的查询计划查询的代价,提选出最佳的评估计划;每个评估计划有一个相应的代价,表示使用该评估计划估计查询的必要时间;计算每个评估计划的代价,最小代价的评估计划即为最佳的查询计划。

【技术特征摘要】
1.一种基于XML混合模式查询处理算法,其特征在于:给定一个路径表达式查询,结合至少两种XML查询算法产生供替换的查询计划;基于每个可选的查询计划查询的代价,提选出最佳的评估计划;每个评估计划有一个相应的代价,表示使用该评估计划估计查询的必要时间;计算每个评估计划的代价,最小代价的评估计划即为最佳的查询计划。2.如权利要求1所述的一种基于XML混合模式查询处理算法,其特征在于:计算每个评估计划查询的代价的具体规则如下:对每个评估计划可能的移动序列做详尽的搜索,沿着最优路径把搜索限定在一条窄带上:1)为状态设定一个优先权列表;2)裁剪产生次优解决方法的中间计划;3)为每个状态推出代价值ubCost,ubCost表示从某一状态转换到最终状态所需的上部绑定的代价的估计;给出如下几个概念:定义1给定一个查询模式Q=(VQ,EQ),VQ为节点数量,EQ为边的权重,,一个状态节点Ns是在VQ中的一簇节点,满足下面的关系:(1)(2)定义2给定一个查询模式Q=(VQ,EQ),一个状态节点是一棵树S=(Vs,Es),Vs为树的节点数量,Es为边的权重,满足下面的关系:(1)VQ={v|v}∈Ns(2)(3)∪Ns=VQ(Ns∈Vs)(4)(5)查询模式Q是一个状态自身,称作开始状态,表示为S0;当Vs={{VQ}},状态为最终状态,表示为Sf;所有其它的状态被称为中间状态;定义3与每个状态S关联的是一个代价值Co...

【专利技术属性】
技术研发人员:李宇佳
申请(专利权)人:上海电机学院
类型:发明
国别省市:上海,31

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

1