CN106649828A - 一种数据查询方法及*** - Google Patents

一种数据查询方法及*** Download PDF

Info

Publication number
CN106649828A
CN106649828A CN201611248518.2A CN201611248518A CN106649828A CN 106649828 A CN106649828 A CN 106649828A CN 201611248518 A CN201611248518 A CN 201611248518A CN 106649828 A CN106649828 A CN 106649828A
Authority
CN
China
Prior art keywords
data
record
engine
query information
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611248518.2A
Other languages
English (en)
Other versions
CN106649828B (zh
Inventor
禹熹
周继恩
冯兴
王颖卓
方亚超
叶炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201611248518.2A priority Critical patent/CN106649828B/zh
Publication of CN106649828A publication Critical patent/CN106649828A/zh
Application granted granted Critical
Publication of CN106649828B publication Critical patent/CN106649828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据查询方法及***,包括:接收业务***发送的查询请求消息,根据待查询数据记录的查询信息,以及查询信息与数据引擎的对应关系,确定出与待查询数据记录对应的目标数据引擎,进而查询目标数据引擎中的数据记录,得到待查询数据记录。由于数据记录的查询信息包括数据记录的查询并发量和查询条件数量,且查询信息与数据引擎具有对应关系,可见,查询并发量和查询条件数量不同的数据记录可对应不同的数据引擎。因而,根据查询信息与数据引擎之间的对应关系确定出待查询数据记录的目标数据引擎,再通过确定出的目标数据引擎,查询其中的数据记录,可充分利用不同数据引擎的优势,从而有效提高数据查询的效率。

Description

一种数据查询方法及***
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据查询方法及***。
背景技术
随着大数据时代的到来,各业务***中的数据量日趋庞大,大数据的查询应用变得越来越普遍。由于查询效率直接影响查询***的响应时间,面对日益增长的海量数据,如何实现高效、准确、实时的数据查询已成为业界亟待解决的重要问题。
目前,各业务***中通常采用关系型数据库来存储业务数据,但是关系型数据库横向扩展能力差,扩容的成本高,而且很难做分布式扩展。当数据库中存储海量数据时,会出现由于数据库占用资源过多,而使得进行数据查询时,数据库的响应较慢、读写访问性能较差。
为了解决这个问题,现有技术中,可通过对数据库进行分区,将数据切分到不同的库和不同的表中,以避免数据库的单个表中存储过多的数据。然而,即使对数据库进行了分区处理,由于在对数据进行写入和读取的时,需要处理复杂的分库分表逻辑,当数据库中存储海量数据时,表的数量过多,仍然会使得数据库的访问性能变差,数据查询的效率较低,而且使数据库的管理和运维变得很复杂。
综上,目前亟需一种数据查询方法,以提高的数据查询的效率。
发明内容
本发明提供一种数据查询方法及***,用于解决现有技术中数据库的访问性能较差,数据查询效率较低的技术问题。
本发明实施例提供的一种数据查询方法,包括:
接收业务***发送的查询请求消息,所述查询请求消息包括待查询数据记录的查询信息;所述待查询数据记录的查询信息包括所述待查询数据记录对应的查询并发量和查询条件数量;
根据所述待查询数据记录的查询并发量和查询条件数量以及所述查询信息和数据引擎的对应关系,确定与所述待查询数据记录的查询信息对应的目标数据引擎;
查询所述目标数据引擎中的数据记录,得到所述待查询数据记录。
可选地,所述目标数据引擎中的数据记录是通过以下方式导入的:
接收联机***发送的第N条数据记录,并将所述第N条数据记录存储在数据缓冲区;
从所述数据缓冲区获取所述第N条数据记录以及所述第N条数据记录的查询信息;
根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中。
可选地,根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中,包括:
若所述第N条数据记录的查询信息为查询并发量大于等于预设查询并发量,且查询条件数量小于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Hbase数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Hbase数据引擎中;
若所述第N条数据记录的查询信息为查询并发量小于预设查询并发量,或查询条件数量大于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Impala数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Impala数据引擎中。
可选地,根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中之后,还包括:
接收所述联机***发送的批量数据记录;
根据所述批量数据记录的查询信息,确定所述批量数据记录对应的目标数据引擎;
将所述目标数据引擎中存储的与所述批量数据记录对应的数据记录替换为所述批量数据记录。
可选地,所述目标数据引擎包括M个集群节点,M为大于等于1的整数。
基于同样的发明构思,本发明实施例进一步提供一种数据查询***,包括:
接收模块,用于接收业务***发送的查询请求消息,所述查询请求消息包括待查询数据记录的查询信息;所述待查询数据记录的查询信息包括所述待查询数据记录对应的查询并发量和查询条件数量;
确定模块,用于根据所述待查询数据记录的查询并发量和查询条件数量以及所述查询信息和数据引擎的对应关系,确定与所述待查询数据记录的查询信息对应的目标数据引擎;
处理模块,用于查询所述目标数据引擎中的数据记录,得到所述待查询数据记录。
可选地,所述接收模块还用于:
接收联机***发送的第N条数据记录,并将所述第N条数据记录存储在数据缓冲区;
所述处理模块还用于:
从所述数据缓冲区获取所述第N条数据记录以及所述第N条数据记录的查询信息;以及,
根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中。
可选地,所述处理模块具体用于:
若所述第N条数据记录的查询信息为查询并发量大于等于预设查询并发量,且查询条件数量小于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Hbase数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Hbase数据引擎中;
若所述第N条数据记录的查询信息为查询并发量小于预设查询并发量,或查询条件数量大于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Impala数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Impala数据引擎中。
可选地,所述接收模块还用于:
接收所述联机***发送的批量数据记录;
所述处理模块还用于:
根据所述批量数据记录的查询信息,确定所述批量数据记录对应的目标数据引擎;
将所述目标数据引擎中存储的与所述批量数据记录对应的数据记录替换为所述批量数据记录。
可选地,所述目标数据引擎包括M个集群节点,M为大于等于1的整数。
本发明实施例,通过接收业务***发送的查询请求消息,根据查询请求消息中包含的待查询数据记录的查询信息,以及查询信息与数据引擎的对应关系,确定出与待查询数据记录的查询信息对应的目标数据引擎,进而可通过查询目标数据引擎中的数据记录,得到待查询数据记录。由于数据记录的查询信息包括数据记录的查询并发量和查询条件数量,且查询信息与数据引擎具有对应关系,可见,查询并发量和查询条件数量不同的数据记录可对应不同的数据引擎。因而,根据查询并发量和查询条件数量以及与数据引擎之间的对应关系确定出待查询数据记录的目标数据引擎,再通过确定出的目标数据引擎,查询目标数据引擎中的数据记录,可充分利用不同数据引擎的优势,从而有效提高数据查询的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的一种数据查询方法所对应的流程示意图;
图2为本发明实施例中的数据记录的实时导入流程所对应的流程示意图;
图3为本发明实施例中的批量数据记录导入流程所对应的流程示意图;
图4为本发明实施例中一种数据查询***的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例,仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中的数据查询方法可应用于大数据***,所述大数据***中包括一个或多个数据引擎,所述数据引擎具体用于存储数据记录,以及对存储的数据记录进行查询等处理操作。
具体的,所述数据引擎可以为多种类型的数据引擎,如非关系型NoSQL数据库Hbase数据引擎或MPP数据库Impala数据引擎,也可以为其他类型的数据引擎,此处不做限制。
本发明实施例中,所述大数据***可以与一个或多个联机***连接。其中,所述联机***可以为多种类型的联机***,其进行的业务处理的内容可由本领域技术人员根据实际需要设置,此处不做限制。而且,所述联机***可在进行业务处理的同时,实时产生或更新其源数据库中的数据记录。
因此,为了避免大数据***进行的数据查询等处理操作影响联机***的业务处理,大数据库中的数据记录可与联机***的源数据库中的数据记录独立存储。本发明实施例中,大数据***可从联机***的源数据库获取数据记录的副本,以实现数据记录查询。
本发明实施例中,所述大数据***可与一个或多个业务***连接。其中,任一业务***均可通过所述大数据***中相应的接口发送查询请求消息的方式,查询大数据***中已存储的数据记录。
下面结合说明书附图对本发明实施例做进一步详细描述。
图1为本发明实施例提供的一种数据查询方法所对应的流程示意图,如图1所示,包括以下步骤101至步骤103:
步骤101:接收业务***发送的查询请求消息,所述查询请求消息包括待查询数据记录的查询信息;所述待查询数据记录的查询信息包括所述待查询数据记录对应的查询并发量和查询条件数量;
步骤102:根据所述待查询数据记录的查询并发量和查询条件数量以及所述查询信息和数据引擎的对应关系,确定与所述待查询数据记录的查询信息对应的目标数据引擎;
步骤103:查询所述目标数据引擎中的数据记录,得到所述待查询数据记录。
由于数据记录的查询信息包括数据记录的查询并发量和查询条件数量,且查询信息与数据引擎具有对应关系,可见,查询并发量和查询条件数量不同的数据记录可对应不同的数据引擎。因而,根据查询并发量和查询条件数量以及与数据引擎之间的对应关系确定出待查询数据记录的目标数据引擎,再通过确定出的目标数据引擎,查询目标数据引擎中的数据记录,可充分利用不同数据引擎的优势,从而有效提高数据查询的效率。
具体来说,步骤201中,大数据***中包括数据查询客户端,所述数据查询客户端具有一个或多个接口。因而,业务***可以通过大数据***的数据查询客户端的相应的接口向数据查询服务发送查询请求消息。
其中,所述查询请求消息中包括待查询数据记录的查询信息,即所述待查询数据记录对应的查询并发量和查询条件,用以表示所述待查询数据记录的业务应用场景。所述业务***可以为一个或多个,不同的业务***对应的数据查询客户端的接口可以相同,也可以不相同,此处不做限制。
大数据***中还可包括数据查询服务,所述数据查询服务具备数据引擎适配功能。进而,在步骤202和203中,数据查询服务接收到查询请求消息后可根据待查询数据记录的查询信息,以及查询信息和数据引擎的对应关系,确定出待查询数据记录所在的目标数据引擎。
进一步地,步骤103中,大数据***可通过确定出的目标数据引擎的相应访问接口,查询并获取待查询数据记录。
由于上述待查询数据记录可在业务***发出查询请求消息之前,根据待查询数据记录对应的业务应用场景即查询并发量和查询条件的数量,以及业务应用场景与数据引擎的对应关系,将待查询数据记录存储到对应的目标数据引擎中,因而,查询时可以充分发挥不同数据引擎的优势,提高数据查询的效率。
以银联***一年中交易明细数据的查询为例,若通过***和时间进行交易明细查询,90%左右的数据查询请求可以在10ms内完成,97%左右的数据查询请求可以在1s内完成。
本发明实施例中,大数据***在为各个业务***提供数据查询服务的同时,可以实时导入的方式从联机***的源数据库中获取数据记录,并存储到目标数据引擎中。
在所述大数据***与联机***连接之后,大数据***即可从联机***的源数据库中实时导入数据记录。由于数据记录一般情况下都较多,下面以联机***发送的第N条数据记录为例,详细说明数据记录的实时导入流程。
图2为本发明实施例中数据记录的实时导入流程所对应的流程示意图,如图2所示,包括如下步骤201至203:
步骤201:接收联机***发送的第N条数据记录,并将所述第N条数据记录存储在数据缓冲区;
步骤202:从所述数据缓冲区获取所述第N条数据记录以及所述第N条数据记录的查询信息;
步骤203:根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中。
具体来说,大数据***可通过数据接入层接收联机***发送的第N条数据记录,并将所述第N条数据记录转化为预设的数据格式。由于不同的联机***产生和发送实时数据记录的方式不同,为了便于大数据***对接收到的数据记录进行后续处理,大数据***可将从不同联机***接收到的数据记录通过相应的适配器转化为预设数据格式。本发明实施例中,所述预设数据格式可以由本领域技术人员根据实际需要设置,此处不做限制。
由于大数据***接收和处理数据记录的速率可能不同,因而,所述大数据***将接收到的第N条数据记录转化为预设数据格式后,可将第N条数据记录存储在数据缓冲区中,以提高数据记录接收的可靠性,并可有效避免数据记录的接收与后续数据记录处理之间的相互影响。
本发明实施例中,所述数据缓冲区可以采用持久化的存储介质。因此,即使大数据***在数据记录的处理过程中出现异常,数据记录不会丢失,仍可以从数据缓冲区中读取数据记录进行再次处理。
此外,由于与所述大数据***连接的联机***中的产生数据记录的速率可能较快,而且数据量较大,因而,所述数据缓冲层应具备较大的数据吞吐量,比如说,采用可横向扩展的数据缓冲层,通过增加节点提高数据处理能力。
在步骤202中,所述大数据***中的流式数据处理层可从数据缓冲区中获取所述第N条数据记录,并根据所述第N条数据记录相关的业务要求进行相应的数据处理。
根据数据处理的复杂程度和耗时情况的不同,所述流式数据处理层可以采用多种类型的处理结构。比如说,所述流式数据处理层可以采用单进程或进程内部多线程并发的处理结构,也可以采用分布式、使用流式处理框架的多进程协作实时处理的架构,此处不做限制。
进而,步骤203中,可根据第N条数据记录的查询信息和数据引擎的对应关系,将处理后的第N条数据记录存储到数据存储层中的目标数据引擎中。
其中,所述目标数据引擎通过分布式技术构建,并具有横向扩展能力,也就是说,所述目标数据引擎可包括M个集群节点,M为大于等于1的整数。当目标数据引擎需要存储海量的数据记录的情况下,可以通过增加集群节点的数量以提高整个大数据***数据处理的能力。例如,一个包括60个节点的小型Hbase集群,可用于管理包含36个字段的银联一年的交易明细数据,并对外提供性能优异的查询服务。在更多数据量的请况下,可进一步增加Hbase集群的节点,以支持查询服务的性能。
本发明实施例中,数据存储层包含有多个不同类型的数据引擎,由于不同类型的数据引擎存储和查询数据记录的方式不同,因而,不同类型的数据引擎的数据处理能力也不同,将不同业务应用场景的数据记录分别存储在不同类型的数据引擎中,可充分利用数据引擎的特性,提高数据记录导入和查询的效率。
具体的,大数据***根据第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,可将第N条数据记录存储到对应的,目标数据引擎中。其中,所述数据记录的查询信息包括查询并发量和查询条件数量,用于表示该数据记录对应的业务应用场景。
若所述第N条数据记录的查询信息为查询并发量大于等于预设查询并发量,且查询条件数量小于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Hbase数据引擎确定为目标数据引擎,并将所述第N条数据记录存储到Hbase数据引擎中;
若所述第N条数据记录的查询信息为查询并发量小于预设查询并发量,或查询条件数量大于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Impala数据引擎确定为目标数据引擎,并将所述第N条数据记录存储到Impala数据引擎中。
其中,所述数据记录的查询信息可以为大数据***从联机***的源数据库中接收的,也可以为大数据***根据接收到的数据记录自行确定的,此处不做限制;而且,所述预设查询并发量和所述预设查询条件阈值均可由本领域技术人员根据实际需要设置,此处不做限制。
需要指出的是,所述查询信息中还可包括查询性能要求。若所述第N条数据记录对应的查询性能大于预设性能要求阈值,则可根据查询性能要求与数据引擎的对应关系,将Hbase数据引擎确定为目标数据引擎,并将所述第N条数据记录存储到Hbase数据引擎中。
举例来说,银联***中面向外部持卡人、商户等高并发、高性能要求的查询数据,如银联CUPS清算明细可存储在Hbase数据引擎中进行处理,而面向内部管理***、查询条件丰富的数据可存储在Impala数据引擎中进行处理,以充分发挥各个数据引擎的长处和优点。
为了进一步提高数据记录实时导入的可靠性,所述大数据***在从联机***的源数据库中实时导入数据记录的流程,还可包括分布式事务的处理,在实时的数据记录写入出现异常的情况下,可进行事务回退,并重新写入数据。
由于联机***的源数据库中还存在着某些通过批量后台上传处理的脱机的数据记录,这些脱机的数据记录并不能通过实时导入流程导入到数据引擎中。因此,为了实现数据存储层的各数据引擎中所存储数据记录的不重不漏,所述大数据***还可采用日终时从联机***中导入批量数据记录的方式,补上或擦去实时导入流程中因网络或***异常而丢失或重复写的数据记录。
图3为本发明实施例中的批量数据记录导入流程所对应的流程示意图,如图3所示,批量数据导入流程包括如下步骤301至303:
步骤301:接收所述联机***发送的批量数据记录;
步骤302:根据所述批量数据记录的查询信息,确定所述批量数据记录对应的目标数据引擎;
步骤303:将所述目标数据引擎中存储的与所述批量数据记录对应的数据记录替换为所述批量数据记录。
具体来说,步骤301中,大数据***可使用ETL(Extract-Transform-Load)工具从联机***的源数据库中抽取批量数据记录,并将所述批量数据记录存储到中间数据存储区中。其中,所述ETL工具可以为多种类型的ETL工具,例如,Informatica、Datastage等,本领域技术人员可根据实际需要选择合适的ETL工具,此处不做限制。
相应地,所述中间数据存储区也可以为多种类型的数据存储区。本发明实施例中,由于采用了Hbase和Impala两种数据引擎,因而,中间数据存储区可采用与所述数据引擎相匹配的Hadoop分布式文件***。当然,在大数据***采用其他数据引擎的情况下,中间数据存储区也可采用其他类型的数据存储形式,此处不做限制。
随后,在步骤302中,大数据***可将获取到的批量数据记录进行加工转化处理后,根据查询信息即查询并发量和查询条件数量,以及查询信息和数据引擎的对应关系,从数据存储中的多个数据引擎中确定出所述批量数据记录对应的目标数据引擎,并将所述批量数据记录存储到对应的目标数据引擎中,以替换所述目标数据引擎中原有的数据记录。
具体的,针对批量数据记录中的每一条数据记录,所述大数据***可将所述每一条数据记录进行处理,并根据其查询信息,即查询并发量和查询条件的数量,将所述每一条数据记录存储到对应的目标数据引擎中。其中,所述批量数据记录的加工转化处理包括对批量数据记录文件的格式处理,以及对批量数据记录中每一条数据记录对应的业务处理。
需要说明的是,为了提高批量数据导入流程的处理性能,大数据***可以采用并发形式处理批量数据的抽取和加工处理过程,因而,本发明实施例中,采用MapReduce并行数据处理框架进行数据的抽取和加工处理,有效缩短批量数据导入的时间。
基于同样的发明构思,本发明实施例进一步提供了一种数据查询***,如图4所示,所述***400包括:
接收模块401,用于接收业务***发送的查询请求消息,所述查询请求消息包括待查询数据记录的查询信息;所述待查询数据记录的查询信息包括所述待查询数据记录对应的查询并发量和查询条件数量;
确定模块402,用于根据所述待查询数据记录的查询并发量和查询条件数量以及所述查询信息和数据引擎的对应关系,确定与所述待查询数据记录的查询信息对应的目标数据引擎;
处理模块403,用于查询所述目标数据引擎中的数据记录,得到所述待查询数据记录。
可选地,所述接收模块401还用于:
接收联机***发送的第N条数据记录,并将所述第N条数据记录存储在数据缓冲区;
所述处理模块403还用于:
从所述数据缓冲区获取所述第N条数据记录以及所述第N条数据记录的查询信息;以及,
根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中。
可选地,所述处理模块403具体用于:
若所述第N条数据记录的查询信息为查询并发量大于等于预设查询并发量,且查询条件数量小于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Hbase数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Hbase数据引擎中;
若所述第N条数据记录的查询信息为查询并发量小于预设查询并发量,或查询条件数量大于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Impala数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Impala数据引擎中。
可选地,所述接收模块401还用于:
接收所述联机***发送的批量数据记录;
所述处理模块403还用于:
根据所述批量数据记录的查询信息,确定所述批量数据记录对应的目标数据引擎;
将所述目标数据引擎中存储的与所述批量数据记录对应的数据记录替换为所述批量数据记录。
可选地,所述目标数据引擎包括M个集群节点,M为大于等于1的整数。
由上述内容可以看出:
本发明实施例,通过接收业务***发送的查询请求消息,根据查询请求消息中包含的待查询数据记录的查询信息,以及查询信息与数据引擎的对应关系,确定出与待查询数据记录的查询信息对应的目标数据引擎,进而可通过查询目标数据引擎中的数据记录,得到待查询数据记录。由于数据记录的查询信息包括数据记录的查询并发量和查询条件数量,且查询信息与数据引擎具有对应关系,可见,查询并发量和查询条件数量不同的数据记录可对应不同的数据引擎。因而,根据查询并发量和查询条件数量以及与数据引擎之间的对应关系确定出待查询数据记录的目标数据引擎,再通过确定出的目标数据引擎,查询目标数据引擎中的数据记录,可充分利用不同数据引擎的优势,从而有效提高数据查询的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或两个以上其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据查询方法,其特征在于,所述方法包括:
接收业务***发送的查询请求消息,所述查询请求消息包括待查询数据记录的查询信息;所述待查询数据记录的查询信息包括所述待查询数据记录对应的查询并发量和查询条件数量;
根据所述待查询数据记录的查询并发量和查询条件数量以及所述查询信息和数据引擎的对应关系,确定与所述待查询数据记录的查询信息对应的目标数据引擎;
查询所述目标数据引擎中的数据记录,得到所述待查询数据记录。
2.根据权利要求1所述的方法,其特征在于,所述目标数据引擎中的数据记录是通过以下方式导入的:
接收联机***发送的第N条数据记录,并将所述第N条数据记录存储在数据缓冲区;
从所述数据缓冲区获取所述第N条数据记录以及所述第N条数据记录的查询信息;
根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中。
3.根据权利要求2所述的方法,其特征在于,根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中,包括:
若所述第N条数据记录的查询信息为查询并发量大于等于预设查询并发量,且查询条件数量小于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Hbase数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Hbase数据引擎中;
若所述第N条数据记录的查询信息为查询并发量小于预设查询并发量,或查询条件数量大于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Impala数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Impala数据引擎中。
4.根据权利要求2所述的方法,其特征在于,根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中之后,还包括:
接收所述联机***发送的批量数据记录;
根据所述批量数据记录的查询信息,确定所述批量数据记录对应的目标数据引擎;
将所述目标数据引擎中存储的与所述批量数据记录对应的数据记录替换为所述批量数据记录。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述目标数据引擎包括M个集群节点,M为大于等于1的整数。
6.一种数据查询***,其特征在于,所述***包括:
接收模块,用于接收业务***发送的查询请求消息,所述查询请求消息包括待查询数据记录的查询信息;所述待查询数据记录的查询信息包括所述待查询数据记录对应的查询并发量和查询条件数量;
确定模块,用于根据所述待查询数据记录的查询并发量和查询条件数量以及所述查询信息和数据引擎的对应关系,确定与所述待查询数据记录的查询信息对应的目标数据引擎;
处理模块,用于查询所述目标数据引擎中的数据记录,得到所述待查询数据记录。
7.根据权利要求6所述的***,其特征在于,所述接收模块还用于:
接收联机***发送的第N条数据记录,并将所述第N条数据记录存储在数据缓冲区;
所述处理模块还用于:
从所述数据缓冲区获取所述第N条数据记录以及所述第N条数据记录的查询信息;以及,
根据所述第N条数据记录的查询信息,以及所述查询信息和数据引擎的对应关系,将所述第N条数据记录存储到所述目标数据引擎中。
8.根据权利要求7所述的***,其特征在于,所述处理模块具体用于:
若所述第N条数据记录的查询信息为查询并发量大于等于预设查询并发量,且查询条件数量小于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Hbase数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Hbase数据引擎中;
若所述第N条数据记录的查询信息为查询并发量小于预设查询并发量,或查询条件数量大于等于预设查询条件阈值,则根据所述查询信息和数据引擎的对应关系,将Impala数据引擎确定为所述目标数据引擎,并将所述第N条数据记录存储到Impala数据引擎中。
9.根据权利要求7所述的***,其特征在于,所述接收模块还用于:
接收所述联机***发送的批量数据记录;
所述处理模块还用于:
根据所述批量数据记录的查询信息,确定所述批量数据记录对应的目标数据引擎;
将所述目标数据引擎中存储的与所述批量数据记录对应的数据记录替换为所述批量数据记录。
10.根据权利要求6至9中任一项所述的***,其特征在于,所述目标数据引擎包括M个集群节点,M为大于等于1的整数。
CN201611248518.2A 2016-12-29 2016-12-29 一种数据查询方法及*** Active CN106649828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611248518.2A CN106649828B (zh) 2016-12-29 2016-12-29 一种数据查询方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611248518.2A CN106649828B (zh) 2016-12-29 2016-12-29 一种数据查询方法及***

Publications (2)

Publication Number Publication Date
CN106649828A true CN106649828A (zh) 2017-05-10
CN106649828B CN106649828B (zh) 2019-12-24

Family

ID=58836655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611248518.2A Active CN106649828B (zh) 2016-12-29 2016-12-29 一种数据查询方法及***

Country Status (1)

Country Link
CN (1) CN106649828B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480268A (zh) * 2017-08-17 2017-12-15 北京奇虎科技有限公司 数据查询方法及装置
CN107993151A (zh) * 2018-01-17 2018-05-04 平安科技(深圳)有限公司 基金交易清算方法、装置、设备及计算机可读存储介质
CN108763300A (zh) * 2018-04-19 2018-11-06 北京奇艺世纪科技有限公司 一种数据查询方法及装置
CN109033123A (zh) * 2018-05-31 2018-12-18 康键信息技术(深圳)有限公司 基于大数据的查询方法、装置、计算机设备和存储介质
CN109977140A (zh) * 2019-03-25 2019-07-05 中国农业银行股份有限公司 一种交易数据查询方法、装置及***
CN110866033A (zh) * 2018-08-28 2020-03-06 北京国双科技有限公司 一种用于预测查询资源占用量的特征确定方法及装置
CN111159219A (zh) * 2019-12-31 2020-05-15 湖南亚信软件有限公司 一种数据管理方法、装置、服务器及存储介质
CN111190901A (zh) * 2019-12-12 2020-05-22 平安医疗健康管理股份有限公司 业务数据存储方法、装置、计算机设备和存储介质
CN111639078A (zh) * 2020-05-25 2020-09-08 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及可读存储介质
CN112835717A (zh) * 2021-02-05 2021-05-25 远光软件股份有限公司 一种用于集群的集成应用处理方法和装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143273A1 (en) * 2005-12-08 2007-06-21 Knaus William A Search engine with increased performance and specificity
CN102262662A (zh) * 2011-07-22 2011-11-30 浪潮(北京)电子信息产业有限公司 实现异构平台下数据库数据迁移的***、装置及方法
CN102831245A (zh) * 2012-09-17 2012-12-19 洛阳翔霏机电科技有限责任公司 一种关系型数据库的实时数据存储和读取方法
EP2693349A1 (en) * 2012-08-03 2014-02-05 Tata Consultancy Services Limited A system and method for massive call data storage and retrieval
CN104102702A (zh) * 2014-07-07 2014-10-15 浪潮(北京)电子信息产业有限公司 一种实现软硬件结合的面向应用的大数据***及方法
CN104102710A (zh) * 2014-07-15 2014-10-15 浪潮(北京)电子信息产业有限公司 一种海量数据查询方法
CN104361091A (zh) * 2014-11-18 2015-02-18 浪潮(北京)电子信息产业有限公司 一种大数据***
CN105224651A (zh) * 2015-09-30 2016-01-06 国网天津市电力公司 一种基于读写分离的信息***内外网数据库优化方法
CN105574052A (zh) * 2014-11-06 2016-05-11 中兴通讯股份有限公司 数据库查询方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143273A1 (en) * 2005-12-08 2007-06-21 Knaus William A Search engine with increased performance and specificity
CN102262662A (zh) * 2011-07-22 2011-11-30 浪潮(北京)电子信息产业有限公司 实现异构平台下数据库数据迁移的***、装置及方法
EP2693349A1 (en) * 2012-08-03 2014-02-05 Tata Consultancy Services Limited A system and method for massive call data storage and retrieval
US20140040292A1 (en) * 2012-08-03 2014-02-06 Tata Consultancy Services Limited System and method for massive call data storage and retrieval
CN102831245A (zh) * 2012-09-17 2012-12-19 洛阳翔霏机电科技有限责任公司 一种关系型数据库的实时数据存储和读取方法
CN104102702A (zh) * 2014-07-07 2014-10-15 浪潮(北京)电子信息产业有限公司 一种实现软硬件结合的面向应用的大数据***及方法
CN104102710A (zh) * 2014-07-15 2014-10-15 浪潮(北京)电子信息产业有限公司 一种海量数据查询方法
CN105574052A (zh) * 2014-11-06 2016-05-11 中兴通讯股份有限公司 数据库查询方法及装置
CN104361091A (zh) * 2014-11-18 2015-02-18 浪潮(北京)电子信息产业有限公司 一种大数据***
CN105224651A (zh) * 2015-09-30 2016-01-06 国网天津市电力公司 一种基于读写分离的信息***内外网数据库优化方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480268A (zh) * 2017-08-17 2017-12-15 北京奇虎科技有限公司 数据查询方法及装置
CN107993151B (zh) * 2018-01-17 2020-12-29 平安科技(深圳)有限公司 基金交易清算方法、装置、设备及计算机可读存储介质
CN107993151A (zh) * 2018-01-17 2018-05-04 平安科技(深圳)有限公司 基金交易清算方法、装置、设备及计算机可读存储介质
CN108763300A (zh) * 2018-04-19 2018-11-06 北京奇艺世纪科技有限公司 一种数据查询方法及装置
CN108763300B (zh) * 2018-04-19 2020-07-31 北京奇艺世纪科技有限公司 一种数据查询方法及装置
CN109033123A (zh) * 2018-05-31 2018-12-18 康键信息技术(深圳)有限公司 基于大数据的查询方法、装置、计算机设备和存储介质
CN109033123B (zh) * 2018-05-31 2023-09-22 康键信息技术(深圳)有限公司 基于大数据的查询方法、装置、计算机设备和存储介质
CN110866033A (zh) * 2018-08-28 2020-03-06 北京国双科技有限公司 一种用于预测查询资源占用量的特征确定方法及装置
CN110866033B (zh) * 2018-08-28 2022-06-21 北京国双科技有限公司 一种用于预测查询资源占用量的特征确定方法及装置
CN109977140A (zh) * 2019-03-25 2019-07-05 中国农业银行股份有限公司 一种交易数据查询方法、装置及***
CN109977140B (zh) * 2019-03-25 2022-04-05 中国农业银行股份有限公司 一种交易数据查询方法、装置及***
CN111190901A (zh) * 2019-12-12 2020-05-22 平安医疗健康管理股份有限公司 业务数据存储方法、装置、计算机设备和存储介质
CN111190901B (zh) * 2019-12-12 2023-02-07 深圳平安医疗健康科技服务有限公司 业务数据存储方法、装置、计算机设备和存储介质
CN111159219A (zh) * 2019-12-31 2020-05-15 湖南亚信软件有限公司 一种数据管理方法、装置、服务器及存储介质
CN111639078A (zh) * 2020-05-25 2020-09-08 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及可读存储介质
CN112835717A (zh) * 2021-02-05 2021-05-25 远光软件股份有限公司 一种用于集群的集成应用处理方法和装置

Also Published As

Publication number Publication date
CN106649828B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN106649828A (zh) 一种数据查询方法及***
CN103577440B (zh) 一种非关系型数据库中的数据处理方法和装置
CN102725753B (zh) 优化数据访问的方法及装置、优化数据存储的方法及装置
CN105989129B (zh) 实时数据统计方法和装置
CN104794123B (zh) 一种为半结构化数据构建NoSQL数据库索引的方法及装置
CN104794162B (zh) 实时数据存储与查询方法
CN106407207B (zh) 一种实时新增数据更新方法和装置
CN107329983B (zh) 一种机器数据分布式存储、读取方法及***
CN103793493B (zh) 一种处理车载终端海量数据的方法和***
CN103853714B (zh) 一种数据处理方法和装置
CN110175154A (zh) 一种日志记录的处理方法、服务器及存储介质
CN104407879B (zh) 一种电网时序大数据并行加载方法
CN106874320A (zh) 分布式流式数据处理的方法和装置
Gupta et al. Faster as well as early measurements from big data predictive analytics model
CN102779138B (zh) 实时数据的硬盘存取方法
CN104584524A (zh) 聚合中介***中的数据
CN111258978A (zh) 一种数据存储的方法
CN106294826A (zh) 一种集群数据实时查询方法及***
CN110083600A (zh) 一种日志收集处理的方法、装置、计算设备及存储介质
CN104021088B (zh) 日志存储方法和装置
CN109947729A (zh) 一种实时数据分析方法及装置
CN110209714A (zh) 报表生成方法、装置、计算机设备及计算机可读存储介质
CN102968456A (zh) 一种栅格数据读取处理方法和装置
CN107402982A (zh) 数据写入、数据匹配方法、装置及计算设备
CN110381136A (zh) 一种数据读取方法、终端、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant