一种数据查询方法及装置制造方法及图纸

技术编号:17363642 阅读:36 留言:0更新日期:2018-02-28 13:41
本发明专利技术公开了一种数据查询方法及装置,该数据查询方法包括:接收客户端发送的查询请求,该查询请求包括待查询数据的查询语句;根据该查询语句确定该待查询数据是否存储在第一数据库中,该第一数据库为关系型数据库;若是,则从该第一数据库中查找与该查询语句对应的数据,若否,则从第二数据库中查找与该查询语句对应的数据,该第二数据库为包括多个子数据库的分布式数据库;基于查找到的数据生成查询结果,并将该查询结果发送至客户端。上述数据查询方法能根据数据量的大小选择合适的数据查询方式,方法简单,查询效率高。

A method and device for data query

【技术实现步骤摘要】
一种数据查询方法及装置
本专利技术涉及计算机
,尤其涉及一种数据查询方法及装置。
技术介绍
在数据量海量增长的互联网时代,如何高效的进行数据处理是当今数据处理
急需解决的问题。由于传统的集中式数据库(比如关系型数据库)缺乏水平扩展能力,面对海量数据,目前比较常见的数据处理系统是分布式处理系统。目前,分布式处理系统通常采用统一的弹性分布式数据集(ResilientDistributedDatasets,RDD)数据结构进行数据处理,可以通过增加存储节点来实现存储容量的线性扩展,通过备份的方式来实现容错,故相对于集中式数据库,其具有高可扩展性、高并发性和高可用性,但是,由于分布式处理系统同时具有任务的执行延迟和数据的离散分布的特点,在处理小量数据时,分布式处理系统的处理效率却远远不及集中式数据库。
技术实现思路
本专利技术的目的在于提供一种数据查询方法及装置,以解决现有分布式处理系统在处理小数据量时效率低下的技术问题。为解决上述技术问题,本专利技术实施例提供以下技术方案:一种数据查询方法,其包括:接收客户端发送的查询请求,所述查询请求包括待查询数据的查询语句;根据所述查询语句确定所述待查询数据是否存储在第一数据库中,所述第一数据库为关系型数据库;若是,则从所述第一数据库中查找与所述查询语句对应的数据;若否,则从第二数据库中查找与所述查询语句对应的数据,所述第二数据库为包括多个子数据库的分布式数据库;基于查找到的数据生成查询结果,并将所述查询结果发送至所述客户端。为解决上述技术问题,本专利技术实施例还提供以下技术方案:一种数据查询装置,其包括:接收模块,用于接收客户端发送的查询请求,所述查询请求包括待查询数据的查询语句;确定模块,用于根据所述查询语句确定所述待查询数据是否存储在第一数据库中,所述第一数据库为关系型数据库;查找模块,用于若是,则从所述第一数据库中查找与所述查询语句对应的数据;若否,则从第二数据库中查找与所述查询语句对应的数据,所述第二数据库为包括多个子数据库的分布式数据库;发送模块,用于基于查找到的数据生成查询结果,并将所述查询结果发送至所述客户端。本专利技术所述的数据查询方法及装置,通过接收客户端发送的查询请求,该查询请求包括待查询数据的查询语句,并根据该查询语句确定该待查询数据是否存储在第一数据库中,该第一数据库为关系型数据库,若是,则从该第一数据库中查找与该查询语句对应的数据,若否,则从第二数据库中查找与该查询语句对应的数据,该第二数据库为包括多个子数据库的分布式数据库,之后,基于查找到的数据生成查询结果,并将该查询结果发送至客户端,能根据数据量的大小选择合适的数据查询方式,方法简单,查询效率高。附图说明下面结合附图,通过对本专利技术的具体实施方式详细描述,将使本专利技术的技术方案及其它有益效果显而易见。图1a是本专利技术实施例提供的数据查询系统的场景示意图;图1b为本专利技术实施例提供的数据查询方法的流程示意图;图2为本专利技术实施例提供的数据查询方法的流程示意图;图3a为本专利技术实施例提供的数据查询装置的结构示意图;图3b为本专利技术实施例提供的数据查询装置的另一结构示意图;图4为本专利技术实施例提供的服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种数据查询方法、装置及系统。请参阅图1a,该数据查询系统可以包括本专利技术实施例所提供的任一种数据查询装置,该数据查询装置具体可以集成在服务器中,该服务器可以包括网络服务器。其中,服务器可以接收客户端发送的查询请求,该查询请求包括待查询数据的查询语句,根据该查询语句确定该待查询数据是否存储在第一数据库中,该第一数据库为关系型数据库,若是,则从该第一数据库中查找与该查询语句对应的数据,若否,则从第二数据库中查找与该查询语句对应的数据,该第二数据库为包括多个子数据库的分布式数据库,之后,基于查找到的数据生成查询结果,并将该查询结果发送至该客户端。其中,该客户端可以包括电脑、手机或者平板电脑等终端,其可以通过网络与服务器进行连接。该查询结果可以表现为列表、图表或数值等形式。该查询语句可以是通过结构化查询语言(StructuredQueryLanguage,SQL)或者其他语言编写的查询命令。当客户端向服务器发送查询请求时,服务器会先根据该查询请求中的查询语句确定待查询数据是否存储在关系型数据库中,若在,则直接从该关系型数据库中查找,若不在,则从分布式数据库中查找,之后,将查找到的数据以列表或者图表的形式生成查询结果,并将该查询结果发送给客户端。以下将分别进行详细说明。需说明的是,以下实施例的序号不作为实施例优先顺序的限定。第一实施例本实施例将从数据查询装置的角度进行描述,该数据查询装置可以集成在服务器中。请参阅图1b,图1b具体描述了本专利技术第一实施例提供的数据查询方法,其可以包括:S101、接收客户端发送的查询请求,该查询请求包括待查询数据的查询语句。本实施例中,该查询语句可以是通过结构化查询语言(StructuredQueryLanguage,SQL)或者其他语言编写的查询命令,主要用于查询数据表中存储的数据。每一查询语句可以包括表名、字段和关键字,通常,每一数据表中的“列”称为“字段”,每个字段包含某一专题的信息,数据表中的“行”称为“记录”,每一记录包含这行中的所有信息,而数据表行列交叉处的数据叫做“值”,该值可以包括字母、汉字和字符等,此处提及的关键字是一个值,待查询数据是一条记录。需要说明的是,由于查询语句一般具有默认的固定格式,对于不符合格式的查询语句,程序是读不出来的,故在根据查询语句进行相关查询操作之前,需要预先检测该查询语句的格式是否满足要求。S102、根据该查询语句确定该待查询数据是否存储在第一数据库中,该第一数据库为关系型数据库,若是,则可以执行下述步骤S103,若否,则可以执行下述步骤S104。本实施例中,该关系型数据库是建立在关系数据库模型基础上的数据库,该数据库中每个数据表包含用列表示的一个或更多的数据种类,同一数据种类在每行对应一个唯一的数据实体(也即值)。例如,该查询语句可以包括表名和目标字段和该目标字段对应的目标关键字,此时,上述步骤S102具体可以包括:从第一数据库中查找与该表名对应的目标数据表;从该目标数据表中查找与该目标字段对应的关键字集合;将该目标关键字与该关键字集合进行匹配;若匹配成功,则确定该待查询数据存储在该第一数据库中;若匹配失败,则确定该待查询数据未存储在该第一数据库中。本实施例中,该目标字段和目标关键字可以为多个,每一目标字段对应数据表中某列的多个实体数据,每一实体数据位于不同行,每一行代表一条记录。通常,若要确定关系型数据库中是否存储有指定记录,应先根据目标字段从目标数据表中找到对应的多个实体数据,然后将目标关键字与该多个实体数据进行匹配操作,若能匹配成功,则表明存储有指定记录,并且该匹配成功的实体数据所在行的信息则为需查找的指定记录,也即该待查询数据。此外,为保证数本文档来自技高网...
一种数据查询方法及装置

【技术保护点】
一种数据查询方法,其特征在于,包括:接收客户端发送的查询请求,所述查询请求包括待查询数据的查询语句;根据所述查询语句确定所述待查询数据是否存储在第一数据库中,所述第一数据库为关系型数据库;若是,则从所述第一数据库中查找与所述查询语句对应的数据;若否,则从第二数据库中查找与所述查询语句对应的数据,所述第二数据库为包括多个子数据库的分布式数据库;基于查找到的数据生成查询结果,并将所述查询结果发送至所述客户端。

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:接收客户端发送的查询请求,所述查询请求包括待查询数据的查询语句;根据所述查询语句确定所述待查询数据是否存储在第一数据库中,所述第一数据库为关系型数据库;若是,则从所述第一数据库中查找与所述查询语句对应的数据;若否,则从第二数据库中查找与所述查询语句对应的数据,所述第二数据库为包括多个子数据库的分布式数据库;基于查找到的数据生成查询结果,并将所述查询结果发送至所述客户端。2.根据权利要求1所述的数据查询方法,其特征在于,所述基于查找到的数据生成查询结果,包括:获取预设的图表设置信息;按照所述图表设置信息将查找到的数据转换成图表,得到查询结果。3.根据权利要求1所述的数据查询方法,其特征在于,在接收客户端发送的查询请求之前,所述数据查询方法还包括:获取待上传数据;将所述待上传数据存储在所述第二数据库中,并获取预设的同步上传策略;根据所述同步上传策略将所述待上传数据存储在第一数据库中。4.根据权利要求3所述的数据查询方法,其特征在于,所述根据所述同步上传策略将所述待上传数据存储在第一数据库中,包括:检测所述待上传数据的数据量值;当所述数据量值不超过预设阀值时,将所述待上传数据存储在第一数据库中。5.根据权利要求1所述的数据查询方法,其特征在于,所述查询语句包括表名、目标字段和所述目标字段对应的目标关键字,所述根据所述查询语句确定所述待查询数据是否存储在第一数据库中,包括:从第一数据库中查找与所述表名对应的目标数据表;从所述目标数据表中查找与所述目标字段对应的关键字集合;将所述目标关键字与所述关键字集合进行匹配;若匹配成功,则确定所述待查询数据存储在所述第一数据库中;若匹配失败,则确定所述待查询数据未存储在所述第一数据库中。6.一种数据查询...

【专利技术属性】
技术研发人员:李家昌何瑞曾凡万志颖阮华史晓茸
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1