[发明专利]对象代理数据库中多路径跨类查询及优化方法有效
申请号: | 202010589900.X | 申请日: | 2020-06-24 |
公开(公告)号: | CN111797114B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 彭煜玮;郏紫宇;兰海 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 王丹 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 对象 代理 数据库 路径 查询 优化 方法 | ||
本发明提出一种对象代理数据库中多路径跨类查询及优化方法,对于在同一路径上使用不同的路径表达式分别获取目标属性的查询,将其定义为终点类相同的多路径跨类查询。对于跨类查询中的多条路径含有公共类节点的情况,将其定义为终点类不同的多路径跨类查询。接下来提出多路径跨类查询语法支持实现,用于支持终点类相同以及终点类不同的多路径跨类查询。最后提出多路径跨类查询的执行方案,并根据原有跨类查询所用的指针追踪算法思想,在此基础上提出多用于多路径跨类查询的多路径指针追踪算法,用于多路径表达式的计算。采用本发明,用户能够使用一条路径表达式获取不同的目标属性表达式,并且减少了公共路径表达式的冗余表示,提高查询效率。
技术领域
本发明属于数据库查询优化技术领域,具体涉及一种对象代理数据库中多路径跨类查询及优化方法。
背景技术
随着云计算和大数据技术的日新月异,数据库应用不断更新,新的应用领域为数据库技术的发展提供了新的方向,同时也提出了新的需求。海量数据不再局限于结构化模式,出现了半结构化、非结构化等结构复杂的数据。传统的关系数据模型以管理结构化数据为主,因此面对这种情况显得捉襟见肘。面向对象数据库则提出了针对复杂数据的管理方案,但由于其利用封装性来管理半结构化、非结构化数据,使对象难移分割和重组,因此失去了关系模型特有的柔软性,从而导致了对象操作不够灵活,数据处理效率低下等问题。针对上述问题,对象代理模型ODM(Object Deputy Model)作为面向对象模型的一种扩充应运而生,其兼具关系模型的柔软性和面向对象模型的建模能力,为存储和管理海量复杂数据提供了全新的解决方案。
对象代理数据库ODDB(Object Deputy Database)是一种以对象代理模型为数据模型的数据库管理系统。ODDB把属性和方法封装成对象,同属性方法对象聚集成类,通过为对象建立代理对象体现对象在不同侧面的特征。由于对象之间存在继承关系,根据这种继承关系各个对象间通过双向指针进行链接,这样在逻辑上构成了一个对象构成的网状结构。代理对象从源对象继承而来的属性与方法称为虚属性,虚属性在系统中不实际存储,而是在访问时通过双向指针链路找到源对象并且在其上应用虚属性的切换表达式实时计算出虚属性值。也可以为代理对象定义实属性以反映对象某方面的特征,实属性值被存储于系统中。基于对象网中的双向指针链路,跨类查询是指从起点类的对象出发,在路径给出的类中查找与之有直接或间接代理关系的对象,最终得到终点类对象的目标属性值。现有跨类查询在路径表达式机制的基础上实现的,在查询中需要沿着路径表达式实例从起点对象开始依次获取路径上的对象,直到在终点对象提取目标属性,这个沿着对象链进行导航式验证的过程也被称为路径表达式计算。跨类查询作为ODDB中最重要的特性之一,为用户提供了高效的个性化查询服务,保障了对象代理数据库的高效性和灵活性。因此,缩短获取目标属性的时间从而提高路径表达式的计算效率,能够进一步提高跨类查询效率,这对于提升对象代理数据库的性能有重要意义。
在对象代理数据库现有的查询系统中,当在一条路径的终点类上获取多个目标属性时,用户无法通过一个路径表达式来获取不同的目标属性,而是需要对应多个目标属性写多个路径表达式,重复书写同一条路径带来了语法繁琐的问题。此外,在含有多条路径的查询命令中,多个路径之间常常会有公共部分,用户需要在各个路径上重复地书写公共部分,这同样带来了不必要的负担。由于现有查询执行策略采用“逐表达式计算”模式,在这种有公共部分的多个路径上进行跨类查询时,每个目标属性均由一个单独的路径表达式描述,各个路径表达式的计算过程相互独立。由于多个路径存在公共部分,且每个路径都要从起点类到终点类完成完整的对象实例查找,因此需要对公共路径上的对象进行重复的访问,带来了大量不必要的开销。
综上所述,在多路径跨类查询优化方面存在以下问题:
(1)当查询中含有多个具有公共部分的路径表达式时,多个路径表达式之间的独立执行会造成对象的大量重复访问。针对这类需要获取同一对象网中不同对象中属性的需求,目前缺乏一种查询功能,使用户能通过仅书写一个路径表达式来获取不同的目标属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010589900.X/2.html,转载请声明来源钻瓜专利网。