[发明专利]数据库中SQL表达式运算方法、装置、设备及介质在审
申请号: | 202211379902.1 | 申请日: | 2022-11-04 |
公开(公告)号: | CN115712638A | 公开(公告)日: | 2023-02-24 |
发明(设计)人: | 蒿杰;高韵沣;吕志丰;彭琳;陈韶伟;陆佳霖 | 申请(专利权)人: | 芯跳科技(广州)有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/2455 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 杨小庆 |
地址: | 510700 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 sql 表达式 运算 方法 装置 设备 介质 | ||
本发明提供一种数据库中SQL表达式运算方法、装置、设备及介质,方法包括:获取SQL表达式;基于SQL表达式,确定所述SQL表达式对应的Tree结构;将所述Tree结构传输至给FPGA硬件内核;其中,所述Tree结构用于执行所述SQL表达式对应的目标运算体,得到所述SQL表达式的执行结果;所述Tree结构包括所述目标运算体的执行顺序和结合规则。本发明用以解决现有技术中对根据用户需求变动的SQL表达式支持不灵活的缺陷,实现提升FPGA硬件支持根据用户需求变动的SQL表达式的灵活性。本发明用以解决现有技术中FPGA硬件对表达式的运算效率过低的缺陷,实现提升FPGA硬件对表达式的运算效率。
技术领域
本发明涉及数据库运算技术领域,尤其涉及一种数据库中SQL表达式运算方法、装置、设备及介质。
背景技术
在使用FPGA硬件加速数据库或数据治理等领域中,通常需要对某些数据列或数据集执行某种运算,而且还可能需要按一定的顺序将运算进行结合。因为FPGA硬件属于半定制化电路,一块定制好的FPGA硬件很难满足按用户的需要完成所需功能的要求。
因此,亟需一种提升FPGA硬件支持根据用户需求变动的SQL表达式的灵活性的方法。
发明内容
本发明提供一种数据库中SQL表达式运算方法、装置、设备及介质,用以解决现有技术中对根据用户需求变动的SQL表达式支持不灵活的缺陷,实现提升FPGA硬件支持根据用户需求变动的SQL表达式的灵活性。
本发明提供一种数据库中SQL表达式运算方法,包括:
获取SQL表达式;
基于SQL表达式,确定所述SQL表达式对应的Tree结构;
将所述Tree结构传输至给FPGA硬件内核;
其中,所述Tree结构用于执行所述SQL表达式对应的目标运算体,得到所述SQL表达式的执行结果;所述Tree结构包括所述目标运算体的执行顺序和结合规则。
根据本发明提供的数据库中SQL表达式运算方法,基于SQL表达式,确定所述SQL表达式对应的Tree结构,包括:
获取所述SQL表达式对应的表达式节点链表;
遍历所述表达式节点链表,得到中缀表达式;
将所述中缀表达式进行转换,得到后缀表达式,并将所述后缀表达式作为所述SQL表达式对应的Tree结构。
根据本发明提供的数据库中SQL表达式运算方法,获取所述SQL表达式对应的表达式节点链表之前,包括:
获取所述SQL表达式对应的SQL表达式;
将所述SQL表达式,写进表达式节点链表。
根据本发明提供的数据库中SQL表达式运算方法,基于所述Tree结构,执行所述SQL表达式对应的目标运算体,确定所述SQL表达式的执行结果,包括:
遍历所述Tree结构,以读取所述Tree结构中的Tree节点;
若所述Tree节点不为树根节点,则读取当前的Tree节点的目标运算体,并执行所述目标运算体;
若Tree节点为所述树根节点,则将所述树根节点的值作为执行所述目标运算体的结果。
根据本发明提供的数据库中SQL表达式运算方法,所述目标运算体包括表达式运算函数或逻辑运算符;
若所述Tree节点不为树根节点,则读取当前的Tree节点的目标运算体,并执行所述目标运算体,包括:
若所述Tree节点是表达式运算函数,则执行所述表达式运算函数对应的表达式运算;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯跳科技(广州)有限公司,未经芯跳科技(广州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211379902.1/2.html,转载请声明来源钻瓜专利网。