[发明专利]一种基于机器学习的数据表连接顺序选择方法有效
| 申请号: | 202110152193.2 | 申请日: | 2021-02-04 |
| 公开(公告)号: | CN112905591B | 公开(公告)日: | 2022-08-26 |
| 发明(设计)人: | 乔少杰;韩楠;宋学江;高瑞玮;肖月强;张小辉;赵兰;李鑫钰;冉先进;甘戈;孙科;范勇强;黄萍;魏军林;温敏;程维杰;叶青;余华;向导;彭京;周凯;元昌安;黄发良;覃晓;李斌勇;张永清 | 申请(专利权)人: | 成都信息工程大学;成都探码科技有限公司;四川省金科成地理信息技术有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06N3/08 |
| 代理公司: | 北京正华智诚专利代理事务所(普通合伙) 11870 | 代理人: | 杨浩林 |
| 地址: | 610015 四川省成都市双*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 机器 学习 数据表 连接 顺序 选择 方法 | ||
1.一种基于机器学习的数据表连接顺序选择方法,其特征在于,包括以下步骤:
S1、对SQL语句进行编码,分别生成列、数据表和连接关系的特征向量;
S2、根据列和数据表的特征向量,设计向量树AT来生成连接树的特征向量;
步骤S2包括以下分步骤:
S21、根据列的特征向量R(c)和数据表的特征向量R(t),设计向量树AT将两个具有连接关系的数据表进行连接;
S22、将向量树AT的输入定义为左子节点和右子节点,将左子节点定义为(R(tl),R(tl.c)),右子节点定义为(R(tr),R(tr.c)),其中tl和tr为WHERE子句包含的数据表名,且数据表tl和tr具有连接关系,tl.c和tr.c为WHERE子句包含的列名,且分别属于数据表tl和tr,R(tl)为数据表tl的特征向量,R(tr)为数据表tr的特征向量,R(tl.c)为列tl.c的特征向量,R(tr.c)为列tr.c的特征向量;
S23、对向量树AT输入左子节点(R(tl),R(tl.c))和右子节点(R(tr),R(tr.c)),生成连接树的特征向量,计算公式为:
e=sigmod(We*[R(tl.c),R(tr.c)]+Ye*[R(tl),R(tr)]+be)
o=tanh(Wo*[R(tl.c),R(tr.c)]+Yo*[R(tl),R(tr)]+bo)
h=e*o
其中,sigmod()和tanh()为激活函数,e为对左右子节点的信息融合更新的程度,o为左右子节点被提取的信息,h为连接树的特征向量,We和Ye为对信息融合更新的权重参数,be为对信息融合更新的偏置参数,Wo和Yo为对信息进行提取的权重参数,bo为对信息进行提取的偏置参数;
S3、根据列、数据表、连接关系和连接树的特征向量,设计部分连接计划模型SP来生成部分连接计划的特征向量,进而生成下一时刻连接状态的特征向量;
步骤S3包括以下分步骤:
S31、根据列、数据表和连接树的特征向量,构建部分连接计划模型SP;
S32、根据部分连接计划模型SP,生成下一时刻部分连接计划的特征向量;
所述步骤S32具体为:
所述部分连接计划模型SP包括:第一类部分连接计划模型SP和第二类部分连接计划模型SP;
所述第一类部分连接计划模型SP将当前部分连接计划与单个数据表进行连接,且当前部分连接计划中某一个数据表与单个数据表具有连接关系;
将所述第一类部分连接计划模型SP的输入定义为第一类子节点和当前子节点,将第一类子节点定义为(R(t),R(t.c)),其中,t为WHERE子句包含的数据表名,t.c为WHERE子句包含的列名,且属于数据表t,R(t)为数据表t的特征向量,R(t.c)为列t.c的特征向量;将当前子节点定义为(Hi,R(tH.c)),其中,H为部分连接计划的特征向量,Hi为当前部分连接计划的特征向量,tH为当前部分连接计划包含的数据表名,tH.c为数据表tH包含的列名,且数据表t与数据表tH具有连接关系;
对所述第一类部分连接计划模型SP输入第一类子节点和当前子节点,生成下一时刻部分连接计划的特征向量,计算公式为:
gi=sigmod(Wg*[R(tH.c),R(t.c)]+Yg*[Hi,R(t)]+bg)
ei=sigmod(We*[R(tH.c),R(t.c)]+Ye*[Hi,R(t)]+be)
oi=tanh(Wo*[R(tH.c),R(t.c)]+Yo*[gi*Hi,R(t)]+bo)
Hi+1=(1-ei)*Hi+ei*oi
其中,sigmod()和tanh()为激活函数,gi为当前子节点的信息没有被保留的程度,ei为对当前子节点和第一类子节点的信息提取的程度,oi为第一类子节点和当前子节点被保留的信息,Hi+1为下一时刻部分连接计划的特征向量,Wg和Yg为对信息没有进行保留的权重参数,bg为对信息没有进行保留的偏置参数,We和Ye为对信息进行提取的权重参数,be为对信息进行提取的偏置参数,Wo和Yo为对信息进行保留的权重参数,bo为对信息进行保留的偏置参数,We、Wo、Ye、Yo、be、bo与向量树AT共享;
所述第二类部分连接计划模型SP将当前部分连接计划与连接树进行连接,且当前部分连接计划中某一个数据表与连接树中某一个数据表具有连接关系;
将所述第二类部分连接计划模型SP的输入定义为第二类子节点和当前子节点,将第二类子节点定义为(h,R(th.c)),其中h为连接树的特征向量,th为连接树包含的数据表名,th.c为数据表th包含的列名;将当前子节点定义为(Hi,R(tH.c)),其中,H为部分连接计划的特征向量,Hi为当前部分连接计划的特征向量,tH为当前部分连接计划包含的数据表名,tH.c为数据表tH包含的列名,数据表th与数据表tH具有连接关系;
对所述第二类部分连接计划模型SP输入第二类子节点和当前子节点,生成下一时刻部分连接计划的特征向量,计算公式为:
gi=sigmod(Wg*[R(tH.c),R(th.c)]+Yg*[Hi,h]+bg)
ei=sigmod(We*[R(tH.c),R(th.c)]+Ye*[Hi,h]+be)
oi=tanh(Wo*[R(tH.c),R(th.c)]+Yo*[gi*Hi,h)]+bo)
Hi+1=(1-ei)*Hi+ei*oi
其中,sigmod()和tanh()为激活函数,gi为对当前子节点的信息没有被保留的程度,ei为当前子节点与第二类子节点的信息提取的程度,oi为第二类子节点和当前子节点被保留的信息,Hi+1为下一时刻部分连接计划的特征向量,Wg和Yg为对信息没有进行保留的权重参数,bg为对信息没有进行保留的偏置参数,We和Ye为对信息进行提取的权重参数,be为对信息进行提取的偏置参数,Wo和Yo为对信息进行保留的权重参数,bo为对信息进行保留的偏置参数,We、Wo、Ye、Yo、be、bo与向量树AT共享;
S33、根据连接关系的特征向量和下一时刻部分连接计划的特征向量生成下一时刻连接状态的特征向量,计算公式为:
其中,R(s)为下一时刻连接状态s的特征向量,R(U)为连接关系的特征向量,Hi+1为下一时刻部分连接计划的特征向量;
S4、根据下一时刻连接状态的特征向量,构建深度强化学习模型J,并结合部分连接计划模型SP与向量树AT,生成数据表的最优连接顺序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都信息工程大学;成都探码科技有限公司;四川省金科成地理信息技术有限公司,未经成都信息工程大学;成都探码科技有限公司;四川省金科成地理信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110152193.2/1.html,转载请声明来源钻瓜专利网。





