一种数据查询方法和装置与流程

文档序号:11199359阅读:225来源:国知局
一种数据查询方法和装置与流程

本发明实施例涉及电通信技术领域,尤其涉及一种数据查询方法和装置。



背景技术:

随着网络技术和计算机技术的飞速发展,人们在生活和工作中产生着越来越多的数据和信息。为了查询这些数据,大规模系统中可能存在多种数据源,一次查询请求可能需要面向多个不同数据源进行查询。而且随着业务扩大以及逻辑的复杂性提高,对于一次查询请求可能需要对同一数据源进行多次查询,而这将会大幅增加发出查询请求的业务方与数据源之间的网络io消耗,导致吞吐量受影响、系统延迟升高。在极端情况下,还可能导致服务宕机,严重影响查询效率。

因此,在数据查询过程中,如何有效提升查询效率,是目前亟待解决的技术问题。



技术实现要素:

本发明实施例提供一种数据查询方法和装置,以解决现有技术中实时数据查询对生产系统造成影响的问题。

为了解决上述问题,本发明公开了一种数据查询方法,包括:

获取第一查询请求,所述第一查询请求包括待查询任务和待查询维度;

根据配置信息,确定所述待查询任务中待查询维度下各待查询项对应的数据源;

确定属于同一数据源的各待查询项,生成对应的第二查询请求,所述第二查询请求用于对所述数据源对应的各待查询项进行批量查询;

采用所述第二查询请求,从所对应的数据源获取批量查询结果。

优选的,根据配置信息,确定所述待查询任务中待查询维度下各待查询项对应的数据源的步骤,包括:根据所述待查询任务和所述待查询维度查询配置信息,确定配置信息中相匹配的查询维度,以及与所述匹配的查询维度对应的查询项;将查询到的所述查询项作为向数据源查询的待查询项;根据配置信息中所述查询项与数据源的对应关系,确定各待查询项对应的数据源。

优选的,根据所述待查询任务和所述待查询维度查询配置信息,确定配置信息中相匹配的查询维度,以及与所述匹配的查询维度对应的查询项的步骤,包括:根据所述待查询任务查询配置信息,确定配置信息中相匹配的查询任务;根据所述待查询维度,查询配置信息中相匹配的查询任务,确定与相匹配的查询维度对应的查询项。

优选的,确定属于同一数据源的各待查询项,生成对应的第二查询请求的步骤,包括:将属于同一数据源的各待查询项进行合并,生成与数据源对应的一组待查询项;为每组待查询项分别添加对应的查询代码,生成所述第二查询请求,其中每一所述查询代码用于向一个对应的数据源发起所述第二查询请求。

优选的,该数据查询方法还包括配置信息的变更步骤:变更所述查询任务所对应的查询维度;和/或变更所述查询维度所对应的查询项。

另一方面,为了解决上述问题,本发明还公开了一种数据查询装置,包括:

第一请求获取模块,用于获取第一查询请求,所述第一查询请求包括待查询任务和待查询维度;

数据源确定模块,用于根据配置信息,确定所述待查询任务中待查询维度下各待查询项对应的数据源;

第二请求生成模块,用于确定属于同一数据源的各待查询项,生成对应的第二查询请求,所述第二查询请求用于对所述数据源对应的各待查询项进行批量查询;

查询结果获取模块,用于采用所述第二查询请求,从所对应的数据源获取批量查询结果。

优选的,所述数据源确定模块,包括:待查询项确定子模块,用于根据所述待查询任务和所述待查询维度查询配置信息,确定配置信息中相匹配的查询维度,以及与所述匹配的查询维度对应的查询项;将查询到的所述查询项作为向数据源查询的待查询项;数据源确定子模块,用于根据配置信息中所述查询项与数据源的对应关系,确定各待查询项对应的数据源。

优选的,所述待查询项确定子模块,包括:第一匹配单元,用于根据所述待查询任务查询配置信息,确定配置信息中相匹配的查询任务;第二匹配单元,用于根据所述待查询维度,查询配置信息中相匹配的查询任务,确定与相匹配的查询维度对应的查询项。

优选的,所述第二请求生成模块,包括:分组子模块,用于将属于同一数据源的各待查询项进行合并,生成与数据源对应的一组待查询项;组装子模块,用于为每组待查询项分别添加对应的查询代码,生成所述第二查询请求,其中每一所述查询代码用于向一个对应的数据源发起所述第二查询请求。

优选的,所述装置还包括:配置变更模块,用于变更所述查询任务所对应的查询维度;和/或变更所述查询维度所对应的查询项。

综上,本发明实施例通过获取包括待查询任务和待查询维度的第一查询请求,根据配置信息,确定该待查询任务中待查询维度下各待查询项对应的数据源,再确定属于同一数据源的各待查询项,生成对应的第二查询请求,并采用该第二查询请求,从所对应的数据源获取批量查询结果。从而将复杂逻辑中多次查询不同数据源的行为,合并为每个数据源批量查询一次的行为,大幅降低了网络开销,有效提升了数据查询的查询效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据查询方法流程图;

图2为本发明实施例提供的另一种数据查询方法流程图;

图3为本发明实施例提供的一种数据查询装置的结构框图;

图4为本发明实施例提供的另一种数据查询装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

参照图1,给出了本发明实施例提供的一种数据查询方法流程图。

步骤101,获取第一查询请求。

第一查询请求为业务方发起的数据查询请求,包括待查询任务和待查询维度。其中,待查询任务指的是需要查询的任务,该待查询任务依据预先定义的各查询任务确定,查询任务包括:一个或多个查询维度,每个查询维度对应一个或多个查询项,从而针对查询任务可以从一个或多个查询维度进行查询。待查询维度指的是为了完成当次待查询任务,需要查询的一个或多个维度,其中,每一待查询维度用于表征与待查询任务相关的一个查询角度,例如在查询交易风险时,可以从用户行为信息、用户手机号和用户身份证等角度进行查询。

步骤102,根据配置信息,确定待查询任务中待查询维度下各待查询项的数据源。

该配置信息用于管理系统中各种查询任务,其中包括:预先定义的各查询任务,以及每一查询任务中各查询项与数据源的对应关系。具体的,每一查询任务可以包含至少一个查询维度,每一查询维度至少包括一个查询项,且每一查询项对应一个数据源。即每一查询项从唯一对应的一个数据源查询数据。

具体的,根据该待查询任务和待查询维度查询配置信息,可以确定配置信息中相匹配的查询维度,以及与该匹配的查询维度对应的查询项,进而确定该待查询任务所对应的各待查询项。并根据配置信息中查询项与数据源的对应关系,确定各待查询项对应的数据源。

步骤103,确定属于同一数据源的各待查询项,生成对应的第二查询请求。

由于每一查询项从唯一对应的一个数据源查询数据,因此可以按照数据源对各待查询项进行分组,将属于同一数据源的各待查询项进行合并,生成与数据源对应的一组待查询项。

由于每组待查询项中各待查询项对应的是同一数据源,且每一查询代码用于向一个对应的数据源发起第二查询请求,因此每组待查询项仅需添加一次查询代码,即可生成向对应数据源查询数据的第二查询请求,从而只需一次查询请求便可以对多个查询项进行查询。其中,第二查询请求为经过整合的面向数据源的数据查询请求,而第一查询请求为业务方发起的数据查询请求,通过第一查询请求和第二查询请求这两段查询请求的组合,替代现有技术中由业务方发起且直接面向数据源的一次查询请求,从而可以在两段查询请求之间对各查询项进行配置,以提高数据查询的效率。相比于现有技术中需要为每个查询项分别添加查询代码,并分别生成对应的多个查询请求,才能获得对应的查询结果,本实施例大幅降低了向数据源进行数据查询的查询请求的数量。

步骤104,采用第二查询请求,从所对应的数据源获取批量查询结果。

在生成第二查询请求后,可以将该第二查询请求发送至对应的数据源,以查询符合该第二查询请求中各待查询项的取值的记录,并将所查询到的记录作为第二查询请求的批量查询结果。

综上所述,本发明实施例通过获取包括待查询任务和待查询维度的第一查询请求,根据配置信息,确定该待查询任务中待查询维度下各待查询项对应的数据源,再确定属于同一数据源的各待查询项,生成对应的第二查询请求,并采用该第二查询请求,从所对应的数据源获取批量查询结果。从而将复杂逻辑中多次查询不同数据源的行为,合并为每个数据源批量查询一次的行为,大幅降低了网络开销,有效提升了数据查询的查询效率。

实施例二

在上述实施例的基础上,本实施例进一步论述数据查询方法。

随着系统环境的变化,以及查询手段的升级,为了完成某一查询任务,本申请实施例中,还可以变更查询任务和查询维度之间的对应关系,和/或查询维度和查询项之间的对应关系,从而能够随时调整对各查询任务的查询策略,使得配置更加灵活。例如,在购买会员服务需要进行支付时,为了保证交易安全,需要执行“交易风险查询”这一查询任务,以确认当前交易环境是否足够安全。若原配置信息中与查询任务“交易风险查询”对应的查询维度为用户行为信息、用户身份证和交易设备。随着手机功能的不断丰富,还可以通过用户手机号确定交易风险,因此可以对配置信息进行变更,在“交易风险查询”这一查询任务中增加用户手机号这一查询维度。又如,若原配置信息中与用户手机号这一查询维度对应的查询项为,该手机是否被标记为欺诈手机,以及该手机是否被标记为恶意手机。为了增强用户手机号这一查询维度的查询效果,可以增加该手机是否属于手机小号这一查询项。配置信息变更后,用户可以根据变更后的配置信息输入待查询任务和待查询维度,以实现对应的查询效果。

查询任务中查询维度的变更将导致对应查询项的增减。当需要新增查询项时,还需要根据各新增查询项所属数据源的信息,配置各新增查询项与各数据源的对应关系。以保证通过待查询任务和待查询维度可以查询到各待查询项对应的数据源。

参照图2,给出了本发明实施例提供的另一种数据查询方法流程图:

步骤201,获取第一查询请求。

区别于现有技术中业务方发起的每个查询请求都需包含查询代码,本实施例中获取的第一查询请求可以无需包含查询代码,待根据数据源将各待查询项分组合并后,在生成第二查询请求时添加与数据源对应的查询代码即可。用户输入的待查询任务可以是待查询任务的名称。例如,在风控系统中对交易风险这一查询任务进行查询时,用户可以输入预先定义的查询任务名称“交易风险查询”,以及对应的各待查询维度:用户行为信息、用户手机号和用户身份证。

由于该第一查询请求可以无需包含查询代码,而是在生成第二查询请求时再添加配置信息中的查询代码,因此当变更查询代码时,无需对大量查询请求逐个修改代码,只需更改配置信息中的查询代码即可,便于代码管理,减少重复代码。

步骤202,根据待查询任务和待查询维度查询配置信息,确定配置信息中相匹配的查询维度,以及与该匹配的查询维度对应的查询项。

具体的,可以先根据待查询任务查询配置信息,确定配置信息中相匹配的查询任务,再根据待查询维度,查询配置信息中相匹配的查询任务,确定与相匹配的查询维度对应的查询项。例如,可以根据“交易风险查询”这一待查询任务查询配置信息,确定配置信息中相匹配的查询任务,配置信息中与该相匹配的查询任务对应的查询维度可能为4个,分别为用户行为信息、用户手机号、用户身份证和交易设备。若用户输入的待查询维度为用户行为信息、用户手机号和用户身份证,则根据这3个待查询维度确定与相匹配的查询维度对应的查询项。

步骤203,将查询到的查询项作为向数据源查询的待查询项。

根据配置信息查询到的查询项,即是完成对应查询任务所需的待查询项,通过向数据源查询各待查询项,便能够获得该查询任务需要获得的查询结果。

步骤204,根据配置信息中查询项与数据源的对应关系,确定各待查询项对应的数据源。

由于配置信息中预先配置了查询项与数据源的对应关系,因此可以通过该配置信息,确定与查询项相匹配的各待查询项对应的数据源。

其中,数据源可以为关系型数据库,分布式数据库,缓存数据库等各类数据库。

步骤205,将属于同一数据源的各待查询项进行合并,生成与数据源对应的一组待查询项。

各待查询项与数据源的对应关系为,每一查询项从唯一对应的一个数据源查询数据,每一数据源分别对应不同的查询项,因此可以基于数据源对各待查询项进行分组。将属于同一数据源的待查询项合并为一组,从而使得不同数据源分别对应不同组待查询项。例如,若配置信息中查询项a1、a2、a3对应数据源a,查询项b1、b2、b3、b4对应数据源b,查询项c1、c2、c3对应数据源c。当待查询项为a1、a2、b2、b3、b4、c2、c3时,可以将待查询项a1、a2进行合并,生成与数据源a对应的一组待查询项,并将待查询项b2、b3、b4进行合并,生成与数据源b对应的一组待查询项,再将待查询项c2、c3进行合并,生成与数据源c对应的一组待查询项。

步骤206,为每组待查询项分别添加对应的查询代码,生成第二查询请求。

分别针对不同数据源的各查询代码可以是预先封装好的,当各待查询项完成分组后,可以直接添加各组待查询项所属数据源对应的查询代码,进而生成第二查询请求。

为了使从数据源查询到的数据更加易用,还可以配置该查询项对应取值记录的数据类型,如查询项若为名字,则配置该查询项的数据类型为文本类型,查询项若为生日,则配置该查询项的数据类型为日期类型。

步骤207,采用第二查询请求,从所对应的数据源获取批量查询结果。

生成第二查询请求后,可以通过调用系统与数据源的接口,从对应的数据源获取各组查询项的批量查询结果。从而仅需向同一数据源进行一次查询即可获得多个查询项的查询结果,大幅减少了发起第一查询请求的业务方与数据源之间的网络io消耗。

综上所述,本发明实施例通过预先确定配置信息,使得对查询任务的调整可以体现在配置信息的变化中,当获取第一查询请求时,可以根据待查询任务和待查询维度查询调整后的配置信息,以获得对应的待查询项,再根据配置信息中查询项与数据源的对应关系,将属于同一数据源的各待查询项进行合并,生成第二查询请求,并采用该第二查询请求,从所对应的数据源获取批量查询结果。由于新增查询无需逐个修改代码,只需变更配置信息便可以实现,从而不仅大幅降低了网络开销,还大幅提高了查询效率。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例三

在上述实施例的基础上,本实施例还提供了一种数据查询装置。

参照图3给出了本发明实施例提供的一种数据查询装置的结构框图,具体可以包括如下模块:

第一请求获取模块31,用于获取第一查询请求,第一查询请求包括待查询任务和待查询维度;

数据源确定模块32,用于根据配置信息,确定待查询任务中待查询维度下各待查询项对应的数据源;

第二请求生成模块33,用于确定属于同一数据源的各待查询项,生成对应的第二查询请求,第二查询请求用于对数据源对应的各待查询项进行批量查询;

查询结果获取模块34,用于采用第二查询请求,从所对应的数据源获取批量查询结果。

综上所述,本发明实施例通过第一请求获取模块31获取包括待查询任务和待查询维度的第一查询请求,并由数据源确定模块32根据配置信息,确定该待查询任务中待查询维度下各待查询项对应的数据源,再由第二请求生成模块33确定属于同一数据源的各待查询项,生成对应的第二查询请求,并由查询结果获取模块34采用该第二查询请求,从所对应的数据源获取批量查询结果。从而将复杂逻辑中多次查询不同数据源的行为,合并为每个数据源批量查询一次的行为,大幅降低了网络开销,有效提升了数据查询的查询效率。

参照图4,在本发明的一个可选实现方式中,在图3的基础上,给出了本发明实施例提供的另一种数据查询装置的结构框图。

具体的,数据源确定模块32包括如下子模块:

待查询项确定子模块321,用于根据待查询任务和待查询维度查询配置信息,确定配置信息中相匹配的查询维度,以及与匹配的查询维度对应的查询项;将查询到的查询项作为向数据源查询的待查询项;

数据源确定子模块322,用于根据配置信息中查询项与数据源的对应关系,确定各待查询项对应的数据源。

其中,待查询项确定子模块321又包括如下单元:

第一匹配单元3211,用于根据待查询任务查询配置信息,确定配置信息中相匹配的查询任务;

第二匹配单元3212,用于根据待查询维度,查询配置信息中相匹配的查询任务,确定与相匹配的查询维度对应的查询项。

此外,第二请求生成模块33包括如下子模块:

分组子模块331,用于将属于同一数据源的各待查询项进行合并,生成与数据源对应的一组待查询项;

组装子模块332,用于为每组待查询项分别添加对应的查询代码,生成第二查询请求,其中每一查询代码用于向一个对应的数据源发起第二查询请求。

数据查询装置还包括:

配置变更模块35,用于变更查询任务所对应的查询维度;和/或变更查询维度所对应的查询项。

综上所述,本发明实施例通过配置变更模块35预先确定配置信息,使得对查询任务的调整可以体现在配置信息的变化中,当第一请求获取模块31获取第一查询请求时,可以由数据源确定模块32根据待查询任务和待查询维度查询调整后的配置信息,以获得对应的待查询项,再由第二请求生成模块33根据配置信息中查询项与数据源的对应关系,将属于同一数据源的各待查询项进行合并,生成第二查询请求,并由查询结果获取模块34采用该第二查询请求,从所对应的数据源获取批量查询结果。由于新增查询无需逐个修改代码,只需变更配置信息便可以实现,从而不仅大幅降低了网络开销,还大幅提高了查询效率。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种数据查询方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1