[发明专利]一种基于结构化查询语言的查询数据库的方法和装置在审

专利信息
申请号: 201710804491.9 申请日: 2017-09-08
公开(公告)号: CN110019331A 公开(公告)日: 2019-07-16
发明(设计)人: 王胜;徐峰;王丹;李文科;韩贞阳 申请(专利权)人: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F16/2453 分类号: G06F16/2453;G06F16/245
代理公司: 中原信达知识产权代理有限责任公司 11219 代理人: 张一军;姜劲
地址: 100195 北京市海淀区杏石口路6*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 条件表达式 逻辑关系 预定义 结构化查询语言 查询数据库 方法和装置 查询命令 二进制串 计算机技术领域 数据库查询 逻辑运算 用户提交 用户体验 运算结果 或逻辑 与逻辑 遍历 预设 解析 替换 返回 响应 访问
【说明书】:

发明公开了一种基于结构化查询语言的查询数据库的方法和装置,涉及计算机技术领域。该方法的一个具体实施方式包括:解析用户提交的查询命令,其中所述查询命令中包括:条件表达式以及所述条件表达式之间的逻辑关系,所述逻辑关系包括“与逻辑关系”和/或“或逻辑关系”;将每个所述条件表达式替换成预设的该条件表达式对应的预定义值的二进制串,将所述二进制串按照所述逻辑关系进行逻辑运算得到运算结果;遍历所述结果的每一位,对每个位的值符合预定义值的位,获取所述表的预定义值对应的数据并组合后返回。该实施方式能够在有限范围内提高数据库查询访问速度,缩短响应时间,改善用户体验。

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于结构化查询语言的查询数据库的方法、装置、电子设备和计算机可读介质。

背景技术

随着大数据技术的广泛应用,对海量数据的分析统计需求日益增加,用户对系统的时效性和数据跨系统分析要求不断提高,传统的关系型数据库的查询处理逐渐无法满足大数据的存储和查询需求,目前主流的大数据框架对数据的查询时效性仍然不高,无法达到对海量数据的秒级响应。针对大数据的存储和查询需求,不同的存储技术都有对应的解决方案,对应MySQL(一种关系型数据库管理系统,使用SQL结构化查询语言进行数据访问),为了提升系统的吞吐量,可以采用分库分表的方式达到目的。HDFS是一种基于Hadoop分布式系统架构的能够运行在通用硬件上的分布式文件系统,数据存储在硬盘上,能提供高吞吐量的数据访问。Presto是一种分布式MySQL查询引擎,它被设计为用来专门进行高速、实时的数据分析,其所有的数据处理都是在内存中进行。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

目前关系型数据库MySQL难以支撑大规模数据的存储和快速查询功能,对应高吞吐量的HDFS分布式文件存储系统,能实现大数据存储和查询,但其响应时间较长,不能满足实时查询的需求。

发明内容

有鉴于此,本发明实施例提供一种基于结构化查询语言的查询数据库的方法和装置,能够在有限范围内提高数据库查询访问速度,缩短响应时间,改善用户体验。

为实现上述目的,根据本发明实施例的一个方面,提供了一种基于结构化查询语言的查询数据库的方法。所述方法包括:解析用户提交的查询命令,其中所述查询命令中包括:条件表达式以及所述条件表达式之间的逻辑关系,所述逻辑关系包括“与逻辑关系”和/或“或逻辑关系”;将每个所述条件表达式替换成预设的该条件表达式对应的预定义值的二进制串,将所述二进制串按照所述逻辑关系进行逻辑运算得到运算结果;遍历所述结果的每一位,对每个位的值符合预定义值的位,获取所述表的预定义值对应的数据并组合后返回。

可选地,所述预设的条件表达式的二进制串的位数大于或等于所述表的行数,所述二进制串的位的值对应所述预定义值。

可选地,所述预设的条件表达式的二进制串存储于缓存中,所述缓存采用Redis实现。

可选地,当数据库被更新时,根据更新的数据库重新产生所述二进制串。

为实现上述目的,根据本发明实施例的另一个方面,提供了一种基于结构化查询语言的查询数据库的装置,包括:解析模块,用于解析用户提交的查询命令,其中所述查询命令中包括:条件表达式以及所述条件表达式之间的逻辑关系,所述逻辑关系包括“与逻辑关系”和/或“或逻辑关系”;替换模块,用于将每个所述条件表达式替换成预设的该条件表达式对应的预定义值的二进制串,将所述二进制串按照所述逻辑关系进行逻辑运算得到运算结果;查询模块,用于遍历所述结果的每一位,对每个位的值符合预定义值的位,获取所述表的预定义值对应的数据并组合后返回。

可选地,其特征在于,所述预设的条件表达式的二进制串的位数大于或等于所述表的行数,所述二进制串的位的值对应所述预定义值。

可选地,所述装置还包括:缓存模块,用于储存所述预设的条件表达式的二进制串,所述缓存模块采用Redis实现。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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