[发明专利]一种优化网络多连接的系统和方法有效

专利信息
申请号: 201911021143.X 申请日: 2019-10-25
公开(公告)号: CN110750560B 公开(公告)日: 2023-02-03
发明(设计)人: 汪诗烨;赵宇海;王国仁;季航旭;李博扬 申请(专利权)人: 东北大学;北京理工大学
主分类号: G06F16/2453 分类号: G06F16/2453
代理公司: 沈阳东大知识产权代理有限公司 21109 代理人: 李在川
地址: 110819 辽宁*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 优化 网络 连接 系统 方法
【权利要求书】:

1.一种优化网络多连接的系统进行多连接优化的方法,其特征在于,所述一种优化网络多连接的系统包括:基于数据字典的连接预算模块和逻辑图重构模块;

所述基于数据字典的连接预算模块包括:等深直方图生成单元和统计信息管理单元,并基于数据字典设计连接预算模型来描述数据分布质量s,用于连接逻辑图重构模块;

所述等深直方图生成单元描述数据源各列的数据分布信息,为后续连接预算模型的计算提供数据来源;

所述统计信息管理单元管理数据源各列生成的等深直方图和连接中间结果各列生成的等深直方图;

所述逻辑图重构模块包括:连接顺序重排单元和DAG重构单元;

所述连接顺序重排单元包括:动态代价估计算法和MMAS算法缩减逻辑计划空间;

所述动态代价估计算法结合连接预算模型实时计算某时刻所有存在连接关系的数据源两两连接生成的可选代价集合;

所述MMAS算法利用动态代价估计算法在线得到的可选代价集合缩减逻辑计划空间以得到接近最优的多连接逻辑执行序列;

所述DAG重构单元包括:连接查询二叉树生成和DAG整合;

所述连接查询二叉树生成将得到的多连接逻辑执行序列转换成系统可识别的由结点和信道构成的连接图;

所述DAG整合将用户逻辑图原有非多连接部分与调整后的连接图进行重构以生成新的逻辑图供后续任务继续进行;

采用所述优化网络多连接的系统进行多连接优化的方法,包括如下步骤:

步骤1:基于数据字典设计连接预算模型来描述数据分布质量;

步骤1.1:采用等深直方图H来描述某一属性列数据分布的方式;

步骤1.2:将数据源各列的等深直方图和连接中间结果的各列的等深直方图通过统计信息管理单元进行信息统计;

步骤1.3:设计基于等深直方图H的连接预算模型Estimator,对两个数据源R、S进行连接预算估计;

步骤1.3.1:获取数据源R和数据源S在同一连接属性上的直方图信息并对应两直方图连接属性的分段区间以相同的连接属性值范围进行分割对齐;

步骤1.3.2:假定区间内数据分布均匀并且满足连接属性域重叠的包含原则,即较小域中的连接属性在较大域中具有匹配,在每个分割后的区间内使用如下公式来估计单个连接条件下的预算;

其中,为数据源R的第i个区间的元组总数,为数据源S的第i个区间的元组总数,dom(a)为数据源R第i个区间中第a列不同域值的数量,dom(b)为数据源S第i个区间中第b列不同域值的数量;

步骤1.3.3:获取分割后区间值分别计算连接预算并进行累加,则可得到单个连接条件下R和S的连接预算估计值,如下所示:

当两个数据源进行连接时存在m个连接条件时,连接预算为:

步骤2:对用户提交多连接任务到系统后生成的逻辑图进行预处理,确定相应的搜索空间并对搜索空间进行符合多连接查询优化特征的编码和关系映射,结合连接预算模型Estimator,生成初始连接代价集IC1;过程如下:

步骤2.1:遍历用户提交的多连接任务生成的逻辑图,为连接节点及其前驱数据源节点分别建立编码并分别生成HashMap映射,使用二维数组A以维护所有连接节点与其两个数据源节点的基于编码的映射关系;

步骤2.2:遍历由输入端连接节点生成的HashMap映射并获取用户逻辑图中所有输入端连接节点的统计信息,结合二维数组A将有相同连接属性的数据源节点两两分为一组,按分组调用连接预算模型Estimator,生成初始连接代价集IC1作为后续算法的输入;

步骤3:基于连接节点结合连接预算模型Estimator,实现动态代价估计算法,实时计算某i时刻的所有未访达连接节点的连接代价集CLi,过程如下:

步骤3.1:遍历已访达节点关系集TL,判断当前连接节点与TL中的连接节点是否有连接关系;

所述已访达节点关系集TL初始为空,由步骤4中的MMAS算法中动态更新;

步骤3.2:若已访达节点关系集TL中不存在与当前节点有连接关系的节点,则获取初始连接代价集IC中当前节点的代价,压入连接代价集CLi

步骤3.3:若临时节点集TL中存在与当前节点有连接关系的节点,判断TL中与当前节点有连接关系节点个数m;

若m=1,调用连接预算模型计算当前节点和当前节点非关联前驱节点的连接结果并存入连接代价集CLi

若m=2,调用连接预算模型计算TL中与当前节点有关联的两个节点的连接代价存入连接代价集CLi

步骤3.4:重复步骤3.1到步骤3.3,直到得到该时刻i所有未访达节点对应的代价集CLi

步骤4:采用最大最小蚁群系统MMAS算法结合动态代价估计算法缩减多连接逻辑计划空间,得到连接关系的编码序列Sequence;

步骤4.1:使用贪婪算法先选出一条代价最小的局部最优路径,更新信息素矩阵,只有当前最优路径上的信息素会被增加,其他路径上的信息素只挥发;

步骤4.2:模拟每只蚂蚁行为,随机选择出发节点,结合动态代价估计算法在线实时计算转移概率矩阵P,蚂蚁依据轮盘赌的方式随机选择下一步节点Vi

步骤4.3:蚂蚁选定下一步节点Vi后,需要更新已访达节点关系集TL,若Vi与TL中的节点不存在连接关系,则直接将Vi压入TL;若Vi与TL中存在有连接关系的节点Vt,则将该节点从TL从删除,合并Vi和Vt后再重新压入TL;

步骤4.4:重复步骤4.2和步骤4.3,直到所有蚂蚁都走完全程,则得到当前最优路径L;

步骤4.5:一次循环后,找到最优路径的蚂蚁释放信息素,其他路径上的信息素只挥发,同时保证每条路径上的信息素τij的取值限定在用户自定义信息素范围内;

步骤4.6:如果在完成有限数量的优化循环并且没有找到更好的结果之后,则认为系统出现了停滞;故所有路径上的信息素水平恢复到其初始值,以避免停滞或陷入局部最优解;

步骤4.7:重复步骤4.2到步骤4.6,完成有限次数的迭代之后,则产生了全局最优路径,算法执行完毕后可直接输出相应连接关系的编码序列Sequence;

步骤5:将得到的连接关系编码序列Sequence转换为多连接的最优逻辑执行计划,遍历多连接编码序列Sequence,重写其对应连接节点的相关属性信息并建立新的连接节点以供后续生成连接查询二叉树,设计一种适用于此场景的连接查询二叉树生成算法;

步骤5.1:遍历连接关系序列Sequence,直接构造第一个连接节点的相关属性信息,包括连接属性偏移量、语义属性、两输入端数据类型信息和连接输出数据类型信息等以建立新的连接节点J1,并将其压入已建立节点集ES;

步骤5.2:判断当前连接节点Ji(i1)与已建立节点集ES中的连接节点是否有连接关系;若没有,表明其节点Ji的两个数据源节点均为非连接节点,重写当前节点Ji对应的相关属性信息并生成新的连接节点Ji,比较两个数据源节点对应编码大小,小编码节点建立当前节点Ji的左叶子节点,大编码节点建立当前节点Ji的右叶子节点;

步骤5.3:若当前节点Ji与已建立节点集ES中的节点有连接关系,判断ES中连接节点个数n;若n=1,则比较当前节点Ji与已建立节点集ES中有关联节点J的编码,若J编码较大,则用节点J建立节点Ji的右子树,并用当前节点Ji的非关联数据源节点建立节点Ji的左叶子节点,相反则用J建立节点Ji的左子树,用当前节点Ji的非关联数据源节点建立节点Ji的右叶子节点;

步骤5.4:若已建立节点集ES中包含两个与当前节点Ji关联的连接节点Jp、Jq,则比较两个连接节点Jp、Jq对应编码大小,小编码节点建立节点Ji的左子树,大编码节点建立节点Ji的右子树;

步骤5.5:将当前生成的新Ji压入已建立节点集ES;

步骤5.6:重复步骤5.1和步骤5.5,直到生成新的连接查询二叉树;

步骤6:将用户逻辑图的多连接相关子图拆解出来,获取步骤5新生成的连接查询二叉树,然后将其与用户逻辑图多连接子图部分进行整合以生成新的DAG,供优化器后续流程的正常执行。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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