一种数据查询方法及系统与流程

文档序号:16668168发布日期:2019-01-18 23:24阅读:149来源:国知局
一种数据查询方法及系统与流程

本发明涉及数据处理领域,具体为一种数据查询方法及系统。



背景技术:

数据查询是指根据查询要求从一个计算机文件或数据库中提取所需要的数据,是数据处理的基本技术之一。随着计算机性能和通信技术的发展升级,计算机网络应用范围越来越广,也带来了海量的数据查询工作。

目前市场上的数据查询系统通常采用关系型数据库提供数据的储存、查询和分析服务,由于关系型数据库具有数据查询交易开发工作量巨大且重复的特点,使得采用关系型数据库的数据查询系统进行查询工作的等待时间较长,效率低下,难以满足数据查询工作的响应时间要求,采用关系型数据库的数据查询系统已经无法胜任日益增长的数据查询工作。



技术实现要素:

本发明提供了一种数据查询方法及系统,能够满足多种多样的数据查询需求,减少数据查询交易开发工作量,提高了查询工作效率和用户体验。

为达到上述目的,本发明提供了如下技术方案:

一种数据查询方法,包括:

接收数据查询请求报文;其中,所述数据查询请求报文中携带有查询参数;

解析所述数据查询请求报文,得到所述查询参数;

根据所述查询参数生成数据库查询条件;

根据所述数据库查询条件查询分布式列式数据库,得到数据查询结果。

优选的,所述根据所述查询参数生成数据库查询条件,包括:

根据所述查询参数从预设查询配置表中获取查询分布式列式数据库所需的行键key值和返回列信息;

将所述行键key值和所述返回列信息组合成数据库查询条件。

优选的,在所述解析所述数据查询请求报文,得到所述查询参数之后,还包括:

对所述查询参数进行校验。

优选的,所述根据查询参数从预设查询配置表中获取查询分布式列式数据库所需的行键key值和返回列信息,包括:

根据所述查询参数从缓存于后台服务器内预设的子交易key信息表和子交易返回列信息表中获取查询分布式列式数据库所需的行键key值和返回列信息。

优选的,所述数据查询方法,还包括:

根据所述数据查询结果生成数据查询结果报文,将所述数据查询结果报文反馈给发送所述数据查询请求报文的终端。

一种数据查询系统,包括:

接收单元,用于接收数据查询请求报文;其中,所述数据查询请求报文中携带有查询参数;

解析单元,用于解析所述数据查询请求报文,得到所述查询参数;

第一生成单元,用于根据所述查询参数生成数据库查询条件;

查询单元,用于根据所述数据库查询条件查询分布式列式数据库,得到数据查询结果。

优选的,所述第一生成单元,包括:

获取单元,用于根据所述查询参数从预设查询配置表中获取查询分布式列式数据库所需的行键key值和返回列信息;

组合单元,用于将所述行键key值和所述返回列信息组合成数据库查询条件。

优选的,所述数据查询系统,还包括:

校验单元,用于对所述查询参数进行校验。

优选的,所述获取单元,用于根据所述查询参数从缓存于后台服务器内预设的子交易key信息表和子交易返回列信息表中获取查询分布式列式数据库所需的行键key值和返回列信息。

优选的,所述数据查询系统,还包括:

第二生成单元,用于根据所述数据查询结果生成数据查询结果报文,将所述数据查询结果报文反馈给发送所述数据查询请求报文的终端。

经由上述技术方案可知,本发明公开了一种数据查询方法及系统,解析接收到的数据查询请求报文,得到所述查询参数,并根据所述查询参数及预先设置的查询配置表生成特定的数据库查询条件,再进行数据查询。解决了现有数据查询方式耗时长、效率低的问题,能够满足多种多样的数据查询需求,减少数据查询交易开发工作量,提高了查询工作效率和用户体验。

附图说明

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

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

图2为生成数据库查询条件的具体步骤的流程图;

图3为本发明实施例公开的一种数据查询系统的示意图。

具体实施方式

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

本发明提供了一种数据查询方法及系统,能够满足多种多样的数据查询需求,减少数据查询交易开发工作量,提高了查询工作效率和用户体验。

如图1所示,本发明实施例公开了一种数据查询方法,包括以下步骤:

s101、接收数据查询请求报文;其中,所述数据查询请求报文中携带有查询参数。

需要说明的是,所述查询请求报文由用户交互端根据查询请求组装而成,不同的查询请求生成不同的查询请求报文,请求报文可以为xml格式的文本,所述用户交互端可以为终端或前端设备。

具体的,本发明分析数据查询需求,将其分为四种查询模式,每种查询模式对应一种查询请求。四种查询模式如下:

key–value型:传入一个行键key值,获取到该行键key值对应的唯一列value值。

list<key>–list<value>:传入一批行键key值,获取每个行键分别对应的列value值,返回结果为value列表。

prefix<key>–list<value>型:传入行键key的前缀,利用前缀匹配的方式获取到行键值key与当前给定的key前缀相匹配的数据行,返回的结果是一个value列表。

list<input>–list<key>–list<value>型:该情况下,不直接提供出查询目标行的行键key值,而是传入一个查询参数列表,根据查询参数列表计算出行键key列表list<key>,再根据list<key>查询出每个行键分别对应的列值,返回结果为value列表。

s102、解析所述数据查询请求报文,得到所述查询参数。

可选的,在所述解析所述数据查询请求报文,得到所述查询参数之后,还包括:

对所述查询参数进行校验。

具体的,对所述数据查询请求中的所述数据查询参数进行合法性、有效性和完整性校验。例如,当输入的身份证信息中包含汉字或者超过规定的长度,则认为输入的信息不合法。

s103、根据所述查询参数生成数据库查询条件。

可选的,如图2所示,所述根据所述查询参数生成数据库查询条件,包括:

s201、根据所述查询参数从预设查询配置表中获取查询分布式列式数据库所需的行键key值和返回列信息。

具体的,可以根据所述查询参数从缓存于后台服务器内预设的子交易key信息表和子交易返回列信息表中获取查询分布式列式数据库所需的行键key值和返回列信息。

所述子交易key信息表能够将传入的查询参数映射成查询分布式列式数据库所需的行键key值信息。

所述子交易返回列信息表能够将传入的查询参数映射成查询分布式列式数据库所需的返回列信息。

子交易key信息表和子交易返回列信息表如表1所示。

表1

可选的,预先缓存子交易key信息表和子交易返回列信息表在后台服务器中,能够提高数据交换效率,进一步减少查询时间。

所述行键key是指行数据中的主关键字/词,每行数据的行键key不相同,一般行数据在物理存储上按行键key的字典序升序排列,为了令数据在分布式列式数据库中较为分散地存储,尽可能将首字段设置为分散性较好的字段。

s202、将所述行键key值和所述返回列信息组合成数据库查询条件。

基于上述生成数据库查询条件的过程,结合表1举例进行说明:

1)根据查询参数trans_id查询子交易key信息表,查询出该查询参数所对应的key值子项的组成信息及其顺序。

根据key值子项的组成信息对查询参数进行校验,校验主要包括:参数合法性校验和参数完整性校验。

将key值子项的组成信息和查询参数组装成查询分布式列式数据库所需的行键key值。

2)根据请求参数trans_id查询子交易返回列信息表,查询出出该查询参数所对应的返回列列表,表示为list<column>,其中column为返回列列名。

3)将步骤1)得出的行键key值和步骤2)得出的返回列列表list<column>组装成查询分布式列式数据库的数据库查询请求。

可选的,还可以将查询分布式列式数据库的过滤条件加入到数据库查询条件中,提高数据查询效率。

s104、根据所述数据库查询条件查询分布式列式数据库,得到数据查询结果。

可选的,所述查询方法还包括:

根据所述数据查询结果生成数据查询结果报文,将所述数据查询结果报文反馈给发送所述数据查询请求报文的终端。返回报文为xml格式的文本。

需要说明的是,查询结果报文存在大小限制,数据行不能过多,当查询结果大小超过查询结果报文的限制大小时,分批次对查询结果进行传输。

此外,查询结果报文中还包含了查询结果的数据行的行键key值,目的是为了让用户交互端能够根据行键key值来检索结果行,且行键key也在查询结果报文中起到排序作用。

本实施例公开了一种数据查询方法,解析接收到的数据查询请求报文,得到所述查询参数,并根据所述查询参数及预先设置的查询配置表生成特定的数据库查询条件,再进行数据查询。解决了现有数据查询方式耗时长、效率低的问题,能够满足多种多样的数据查询需求,减少数据查询交易开发工作量,提高了查询工作效率和用户体验。

基于上述本发明实施例公开的数据查询方法,图3具体公开了应用该数据查询方法的数据查询系统。

如图3所示,本实施例公开了一种数据查询系统,包括:

接收单元301,用于接收数据查询请求报文;其中,所述数据查询请求报文中携带有查询参数。

解析单元302,用于解析所述数据查询请求报文,得到所述查询参数。

第一生成单元303,用于根据所述查询参数生成数据库查询条件。

查询单元304,用于根据所述数据库查询条件查询分布式列式数据库,得到数据查询结果。

可选的,所述第一生成单元303,包括:

获取单元,用于根据所述查询参数从预设查询配置表中获取查询分布式列式数据库所需的行键key值和返回列信息。

组合单元,用于将所述行键key值和所述返回列信息组合成数据库查询条件。

可选的,所述数据查询系统,还包括:

校验单元,用于对所述查询参数进行校验。

可选的,所述获取单元,用于根据所述查询参数从缓存于后台服务器内预设的子交易key信息表和子交易返回列信息表中获取查询分布式列式数据库所需的行键key值和返回列信息。

可选的,所述数据查询系统,还包括:

第二生成单元,用于根据所述数据查询结果生成数据查询结果报文,将所述数据查询结果报文反馈给发送所述数据查询请求报文的终端。

以上本发明实施例公开的一种数据查询系统中的接收单元301、解析单元302、第一生成单元303和查询单元304的具体执行过程以及执行原理,可参见本发明上述实施例公开的数据查询方法中相应的部分,这里不再进行赘述。

综上所述,本发明实施例公开了一种数据查询系统,解析单元解析接收单元接收到的数据查询请求报文,得到所述查询参数,第一生成单元根据所述查询参数及预先设置的查询配置表生成特定的数据库查询条件,再通过查询单元进行数据查询。本发明解决了现有数据查询方式耗时长、效率低的问题,能够满足多种多样的数据查询需求,减少数据查询交易开发工作量,提高了查询工作效率和用户体验。。

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

以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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