[发明专利]对象代理数据库中多路径跨类查询及优化方法有效

专利信息
申请号: 202010589900.X 申请日: 2020-06-24
公开(公告)号: CN111797114B 公开(公告)日: 2021-08-31
发明(设计)人: 彭煜玮;郏紫宇;兰海 申请(专利权)人: 武汉大学
主分类号: G06F16/242 分类号: G06F16/242;G06F16/2455
代理公司: 湖北武汉永嘉专利代理有限公司 42102 代理人: 王丹
地址: 430072 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 对象 代理 数据库 路径 查询 优化 方法
【权利要求书】:

1.一种对象代理数据库中多路径跨类查询方法,其特征在于:设定如下语法的查询模式:

SELECT(C1{Q1}→C2{Q2}→…→Cr{Qr}→[…,…]→[Ct1{Qt1},…Ctn{Qtn}]).

[Attr1,…Attrm]FROM C1(r≥1,n≥1,m≥2)

其中,已知Ci代表有向图中的某个节点,1≤i≤n,每个节点最多出现一次,且Ci和Ci+1间是直接代理关系;Ctj代表终点类,1≤j≤n;Attrk代表需要在终点类获取的目标属性,1≤k≤m;Q1-Qr和Qt1-Qtn均表示作用在对应的路径节点类上的条件谓词;多路径中的一个或多个连续存在的公共节点类称为公共路径;当n=1、m≥2时表示为终点类相同的多路径跨类查询,在同一终点类获取多个目标属性;当m=n≥2时表示为终点类不同的多路径跨类查询,在不同的终点类获取不同的目标属性,终点类的个数和目标属性表达式的个数相同,并存在一一对应关系;

根据所述的查询模式,提出适用于多路径表达式计算的算法如下:

步骤1.1,判断多路径表达式类型,若属于终点类不同的多路径表达式,则跳转到步骤1.7;

步骤1.2,依次选取起点类Ci中的每个对象Oi作为起点,将每个路径表达式视为起点类的一个属性表达式;

步骤1.3,从双向指针目录获取满足路径上谓词条件的路径表达式实例PEiI;

步骤1.4,对对象比为1:N的对象实例,设立flag标记数组并缓存;

步骤1.5,分别计算属性列表里的多个属性表达式得到每个Attrk

步骤1.6,若缓存数组中有对象实例存在flag标记,则跳转到步骤1.4取下一个对象实例,若没有则跳转到步骤1.14;

步骤1.7,依次选取起点类Ci中的每个对象Oi作为起点,将每个路径表达式视为起点类的一个属性表达式;

步骤1.8,从双向指针目录获取满足路径上谓词条件的路径表达式实例PEiI;

步骤1.9,对当前类节点的下一个类节点不唯一的情况,设立flag标记数组并缓存;

步骤1.10,对对象比为1:N的对象实例,设立flag2标记数组并缓存;

步骤1.11,分别计算属性列表里的多个属性表达式得到每个Attrk

步骤1.12,如果缓存数组中有对象实例存在flag2标记,则跳转到步骤1.10取下一个对象实例;

步骤1.13,如果缓存数组中有类节点存在flag标记,则跳转到步骤1.9取下一个类节点;

步骤1.14,组合目标属性形成结果返回给用户。

2.根据权利要求1所述的对象代理数据库中多路径跨类查询方法的优化方法,其特征在于:本方法包括:

2.1、径向并行化优化方法,包括以下子步骤:

步骤2.11,选取中间类作为开始类节点,中间类指第x个类节点;x为len/2后向下取整;

步骤2.12,依次选取中间类Ci中的每个对象Oi作为起点,将每个路径表达式视为起点类的一个属性表达式;同时开启线程1和线程2;

步骤2.13,线程1根据双向指针目录依次向起点类测试路径连通性;

步骤2.14,线程2从双向指针目录获取满足路径上谓词条件的路径表达式实例PEiI;

步骤2.15,对对象比为1:N的对象实例,设立flag标记数组并缓存;

步骤2.16,若有一个线程检测到无效路径表达式,则终止查找并通知另一个线程也终止;

步骤2.17,分别计算属性列表里的多个属性表达式得到每个Attrk

步骤2.18,若缓存数组中有对象实例存在flag标记,则跳转到步骤2.13取下一个对象实例,否则继续;

步骤2.19,组合目标属性形成结果返回给用户;

2.2、面向终点类的并行化方案具体实施包括以下子步骤:

步骤2.21,选取多路径表达式公共前缀路径中的最后一个类作为开始类节点;

步骤2.22,依次选取开始类Ci中的每个对象Oi作为起点,将每个路径表达式视为起点类的一个属性表达式, 根据类分支结点个数N,同时开启N+1个线程;

步骤2.23,线程1根据双向指针目录依次向起点类测试路径连通性;

步骤2.24,剩余N个线程同时从双向指针目录向终点类获取N条路径的表达式实例PEiIi

步骤2.25,对对象比为1:N的对象实例,设立flag标记数组并缓存;

步骤2.26,若有一个线程检测到无效路径表达式,则终止查找并通知其余所有线程也终止;

步骤2.27,分别计算属性列表里的多个属性表达式得到每个Attrk

步骤2.28,若缓存数组中有对象实例存在flag标记,则跳转到步骤2.23取下一个对象实例,否则继续;

步骤2.29,组合目标属性形成结果返回给用户。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010589900.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top