[发明专利]数据查询方法和装置在审
申请号: | 201610809785.6 | 申请日: | 2016-09-05 |
公开(公告)号: | CN107798026A | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 李强;廖耀华 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司11204 | 代理人: | 王达佐,马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 | ||
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及数据查询方法和装置。
背景技术
随着互联网技术的发展,互联网应用迅速扩大,数据量也正在爆发式增长。面对这些海量数据,人们很期待能够快速获取有效信息,因此,对大数据量的查询并快速返回查询结果显得极其重要。
针对互联网公司面临的大数据量查询问题,现有的方法通常是借助于数据仓库工具Hive来完成海量数据查询。这里,Hive可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL(Structured Query Language,结构化查询语言)查询功能,可以将SQL语句转换为MapReduce任务进行运行。需要说明的是,MapReduce任务可以是通过编程模型MapReduce来执行的任务,MapReduce可以用于大规模数据集的并行运算。
现有的方法虽然可行,但存在以下缺点:查询速度不够快:采用现有的方法进行数据查询时,通常是将提交的查询任务翻译成多阶段的MapReduce任务,一个接着一个地运行,每一个任务从磁盘上读取、输入数据并且将中间结果输出到磁盘上。学习使用成本高:当业务人员有数据提取需求时,通常是自己编写对应的结构化数据查询语言语句,或给研发人员提需求,请研发人员帮忙提取所需的数据。这两种方式会存在学习沟通成本高,数据提取周期较长的问题,而且每次的数据提取需求仅适用于当前需求。
因此,现有的数据查询方法不能满足数据查询的实时性,存在查询效率低的问题。
发明内容
本申请的目的在于提出一种改进的数据查询方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据查询方法,所述方法包括:接收用户终端发送的数据查询请求,其中,所述数据查询请求包括字段编号;根据所述字段编号,从预存信息列表中查询所述字段编号对应的字段名、字段类型和预置关联语句,其中,所述预置关联语句用于将与所述字段编号所指示的字段相关的各个数据表进行关联,所述字段编号与所述字段名、所述字段类型和所述预置关联语句相关联地存储于所述预存信息列表;根据所述字段名、所述字段类型和所述预置关联语句,拼装结构化查询语言SQL查询语句;执行所述SQL查询语句以从所述SQL查询语句所指示的数据库中查询所述用户终端所请求的数据,并将查询所得的数据返回给所述用户终端。
在一些实施例中,所述字段类型为分组字段或数据字段;以及所述根据所述字段名、所述字段类型和所述预置关联语句,拼装结构化查询语言SQL查询语句,包括:根据所述字段名,拼装所述SQL查询语句的SELECT子句;根据所述预置关联语句,拼装所述SQL查询语句的FROM子句;根据所述字段类型,拼装所述SQL查询语句的GROUP BY子句,其中,如果所述字段类型为分组字段,则将所述字段名拼装至所述GROUP BY子句。
在一些实施例中,所述根据所述字段名,拼装所述SQL查询语句的SELECT子句,包括:响应于所述字段类型为分组字段,则在所述SELECT子句中直接采用所述字段名。
在一些实施例中,所述根据所述字段名,拼装所述SQL查询语句的SELECT子句,包括:响应于所述字段类型为数据字段,则在所述SELECT子句中采用求和SUM函数,并将所述字段名作为所述SUM函数的参数。
在一些实施例中,所述查询请求还包括筛选条件;以及所述根据所述字段名、所述字段类型和所述预置关联语句,拼装结构化查询语言SQL查询语句,还包括:根据所述筛选条件,拼装所述SQL查询语句的WHERE子句。
第二方面,本申请提供了一种数据查询装置,所述装置包括:接收单元,配置用于接收用户终端发送的数据查询请求,其中,所述数据查询请求包括字段编号;查询单元,配置用于根据所述字段编号,从预存信息列表中查询所述字段编号对应的字段名、字段类型和预置关联语句,其中,所述预置关联语句用于将与所述字段编号所指示的字段相关的各个数据表进行关联,所述字段编号与所述字段名、所述字段类型和所述预置关联语句相关联地存储于所述预存信息列表;拼装单元,配置用于根据所述字段名、所述字段类型和所述预置关联语句,拼装结构化查询语言SQL查询语句;执行单元,配置用于执行所述SQL查询语句以从所述SQL查询语句所指示的数据库中查询所述用户终端所请求的数据,并将查询所得的数据返回给所述用户终端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610809785.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置