CN111259044A - 一种数据查询方法、装置、设备及介质 - Google Patents
一种数据查询方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111259044A CN111259044A CN202010043516.XA CN202010043516A CN111259044A CN 111259044 A CN111259044 A CN 111259044A CN 202010043516 A CN202010043516 A CN 202010043516A CN 111259044 A CN111259044 A CN 111259044A
- Authority
- CN
- China
- Prior art keywords
- query
- conditions
- configuration parameters
- results
- presetting
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据查询方法、装置、设备及介质,降低查询条件之间的互相影响,实现针对查询结果的数据处理,满足用户的查询需求。所述数据查询方法,包括:接收客户端发送的查询请求,所述查询请求中包括多个查询条件和用于对所述多个查询条件的查询结果进行预设处理的配置参数;确定所述多个查询条件中每个查询条件对应的查询结果;基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向所述客户端返回处理后的查询结果。
Description
技术领域
本发明涉及数据查询技术领域,尤其涉及一种数据查询方法、装置、设备及介质。
背景技术
随着数据查询技术的广泛应用,以及互联网技术的快速发展,目前数据查询技术已由传统的单路查询,即在一个查询请求中只能支持一个查询条件进行查询,发展为多路查询,即在一个查询请求中可以支持多个查询条件进行查询。
目前,多路查询成为当下数据查询技术领域的研究热门,现有技术可以实现在一个查询请求中执行多个查询请求,并将多个查询结果以数组的形式返回,其中,数组中的每一个元素依次对应一个查询结果,每个查询结果中都包含查询结果内容和响应状态代码。但是,最终的查询结果只是简单地将各个查询请求结果打包在一起,以数组的形式返回,在查询过程中用户并不能介入做额外的数据处理,只有当全部查询结果返回后才能对查询数据做有关的数据处理,并且由于用户通常需要一次性取回多个查询结果,在查询请求数目过多的情况下,容易产生服务器内存用尽等错误导致服务器后端服务异常,另外,这种方法各个查询请求是相互独立的,没有形成有机的联系。
现有技术中也存在将多个查询请求条件通过must、must not、should等逻辑关联词关联起来,实现一个查询请求中同时进行多个查询条件查询的目的。在这种方法中,各查询条件之间始终存在着很强的相互影响,难以对查询结果中各个查询条件的影响因子做精确把控,无法契合用户的查询需求。
综上可知,现有技术无法降低查询条件之间的相互影响,并且无法将查询结果按照用户的查询需求进行处理。
发明内容
本发明实施例提供一种数据查询方法、装置、设备及介质,用以降低查询条件之间的互相影响,实现针对查询结果的数据处理,满足用户的查询需求。
第一方面,本发明实施例提供一种数据查询方法,该方法包括:
接收客户端发送的查询请求,查询请求中包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数;
确定多个查询条件中每个查询条件对应的查询结果;
基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果。
本发明实施例提供的数据查询方法,由客户端发送包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数,针对每个查询条件确定与其对应的查询结果,进而基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果。相比于现有技术,本发明实施例提供的数据查询方法,可以对查询请求中的每一项查询条件先进行独立查询,得到对应的查询结果,然后再利用各查询条件对应的配置参数对全部查询结果进行二次处理,以得到最终查询结果,在降低了多路查询中各查询条件之间相互影响的同时,还能保证对每一查询条件的配置参数进行精确把控,使得用户输入一次查询需求信息即可得到高匹配度的多条件查询结果,大幅提高了多路查询系统的便捷性与查询精确度。
在一种可能的实施方式中,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,包括:
判断是否接收到用于对多个查询条件的查询结果进行预设处理的目标合并算法;
若确定接收到目标合并算法,则利用目标合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理;
若确定未接收到目标合并算法,则利用预先配置的合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理。
本发明实施例提供的数据查询方法,在确定多个查询条件中每个查询条件对应的查询结果后,通过利用目标合并算法或预先配置的合并算法,进而基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,从而在返回查询结果之前,已经对查询结果进行提前合并,将部分无效的查询结果丢弃,只返回符合用户需求的查询结果,从而减少服务器带宽和内存占用空间,提高了查询性能,并且除了控制查询结果的数量比例之外,还可以自由满足用户其他多样化自定义的查询需求。
在一种可能的实施方式中,确定多个查询条件中每个查询条件对应的查询结果,包括:
通过异步查询的方式确定多个查询条件中每个查询条件对应的查询结果。
本发明实施例提供的数据查询方法,通过异步查询的方式确定多个查询条件中每个查询条件对应的查询结果,减少了网络连接延迟等开销,从而提高查询效率。
在一种可能的实施方式中,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,包括:
在未确定出部分查询条件对应的查询结果时,缓存已确定出的查询结果,待确定出所有查询条件对应的查询结果后,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理;
预设处理包括以下一种或多种:计算查询结果的评分值、对查询结果排序、筛选查询结果。
本发明实施例提供的数据查询方法,在未确定出部分查询条件对应的查询结果时,缓存已确定出的查询结果,待确定出所有查询条件对应的查询结果后,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,保证在对查询结果进行预设处理前,所有查询条件均已查询完毕,能够有效避免只对部分查询结果进行处理的情况,提高对查询结果进行预设处理的准确性。
在一种可能的实施方式中,配置参数由客户端预先配置。
第二方面,本发明实施例提供一种数据查询装置,该装置包括:
接收单元,用于接收客户端发送的查询请求,查询请求中包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数;
查询单元,用于确定多个查询条件中每个查询条件对应的查询结果;
处理单元,用于基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果。
在一种可能的实施方式中,处理单元具体用于:
判断是否接收到用于对多个查询条件的查询结果进行预设处理的目标合并算法;
若确定接收到目标合并算法,则利用目标合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理;
若确定未接收到目标合并算法,则利用预先配置的合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理。
在一种可能的实施方式中,查询单元具体用于:
通过异步查询的方式确定多个查询条件中每个查询条件对应的查询结果。
在一种可能的实施方式中,处理单元具体用于:
在未确定出部分查询条件对应的查询结果时,缓存已确定出的查询结果,待确定出所有查询条件对应的查询结果后,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理;
预设处理包括以下一种或多种:计算查询结果的评分值、对查询结果排序、筛选查询结果。
在一种可能的实施方式中,配置参数由客户端预先配置。
第三方面,本发明实施例提供一种数据查询设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现本发明实施例第一方面提供的数据查询方法。
第四方面,本发明实施例还提供一种存储介质,当存储介质中的指令由数据查询设备的处理器执行时,使得数据查询设备能够执行本发明实施例第一方面提供的数据查询方法。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
图1是本发明实施例提供的应用场景示意图;
图2是本发明实施例提供的一种数据查询方法的示意流程图;
图3是本发明实施例提供的一种应用于网页查询中的数据查询方法的示意流程图;
图4是本发明实施例提供的一种数据查询装置的结构示意图;
图5是本发明实施例提供的另一种数据查询装置的结构示意图;
图6是本发明实施例提供的一种数据查询的程序产品示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种数据查询方法和装置。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有多路查询技术的查询结果只是简单地将各个查询请求结果打包在一起,以数组的形式返回,在查询过程中用户并不能介入做额外的数据处理,只有当全部查询结果返回后才能对查询数据做有关的数据处理,并且由于用户通常需要一次性取回多个查询结果,在查询请求数目过多的情况下,容易产生服务器内存用尽等错误导致服务器后端服务异常,另外,各查询条件之间始终存在着很强的相互影响,难以对查询结果中各个查询条件的影响因子做精确把控,无法契合用户的查询需求。
有鉴于此,本发明实施例提供了一种数据查询方案,接收客户端发送的包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数,针对每个查询条件确定与其对应的查询结果,进而基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果,用以降低查询条件之间的相互影响,实现针对查询结果的数据处理,满足用户的查询需求。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,其为本发明实施例的应用场景示意图。用户10通过用户设备11中安装的客户端登录网络服务器12,其中,客户端可以为网页的浏览器,也可以为安装于移动用户设备,如手机,平板电脑等中的应用客户端。
用户设备11与网络服务器12之间通过网络进行通信连接,该网路可以为局域网、广域网等。用户设备11可以为便捷设备(例如:手机、平板、笔记本电脑等),也可以为个人电脑(PC,Personal Computer),网络服务器12可以为任何能够提供互联网服务的设备。
其中,用户10利用用户设备11向网络服务器12发送包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数的查询请求,网络服务器12接收到查询请求后,并发执行基于多个查询条件的查询请求,缓存已确定出的查询结果并等待所有查询结果查询完毕,在确定获得所有查询结果后,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向用户设备11返回处理后的查询结果,向用户10进行结果展示。
本发明实施例中,网络服务器12基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,具体包括:判断是否接收到目标合并算法,若确定接收到目标合并算法,若确定接收到目标合并算法,则利用目标合并算法,基于配置参数对部分或全部查询结果进行预设处理,若确定未接收到目标合并算法,则利用默认合并算法,基于配置参数对部分或全部查询结果进行预设处理。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的数据查询方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出的,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于使用的任何场景。
如图2所示,本发明实施例提供的一种数据查询方法的示意流程图,其可以包括以下步骤:
步骤201,接收客户端发送的查询请求,查询请求中包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数。
具体实施中,客户端发送的一个查询请求中包含多个查询条件和配置参数,其中,配置参数由客户端预先配置,用于定义多个查询条件之间的关系,并且用于对多个查询条件的查询结果进行预设处理。
在本发明实施例中,每个查询请求的语法需要符合ES(Elastic search,基于全文搜索引擎的搜索服务器)原生的查询语法,在本发明的其他实施例中也可以复用现有的查询解析机制,以此来符合用户的使用习惯,在此并不作具体限定。
查询请求采用JSON(JavaScript Object Notation,JS对象简谱)数据结构,其中,JSON是一种轻量级数据交换格式,易于用户进行阅读和编写,也易于机器解析和生成,同时,JSON格式也作为ES原生查询结构的表示格式。
在一个示例中,每个查询请求的多个查询条件结构为“名称:查询体”结构,其中每个查询体为一个标准的ES查询,在查询体中新增一个选项“k_way_options”,选项“k_way_options”的结构为“配置项n:配置项n的值”,其中,配置项的名称和配置项的值需要采用JSON的数据结构,内容由客户端自由定义,选项“k_way_options”的结构如下所示:
另外,本发明实施例新增一个自定义ES查询接口ksearch(k-way search),用以支持一个查询请求中进行多个查询条件的查询。
步骤202,确定多个查询条件中每个查询条件对应的查询结果。
具体实施中,在ES后端接收到包含多个查询条件的查询请求时,首先需要解析出各个查询条件的查询结构,并读取对应的配置参数,然后通过异步查询的方法确定多个查询条件中每个查询条件对应的查询结果。在未确定出部分查询条件对应的查询结果时,缓存已确定出的查询结果,待确定出所有查询条件对应的查询结果后,再统一进行下一步处理。
本发明实施例使用Java语言原子处理类AtomicInteger(原子数)和ConcurrentMap(并发排列)结构进行跟踪和缓存各个查询条件对应的查询结果,并实现高并发环境下线程安全。
本发明实施例提供的数据查询方法,通过异步查询的方式确定多个查询条件中每个查询条件对应的查询结果,减少了网络连接延迟等开销,从而提高查询效率,并且保证在对查询结果进行预设处理前,所有查询条件均已查询完毕,能够有效避免只对部分查询结果进行处理的情况,提高对查询结果进行预设处理的准确性。
步骤203,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果。
在确定出所有查询条件对应的查询结果后,判断是否接收到用于对多个查询条件的查询结果进行预设处理的目标合并算法。
若确定接收到目标合并算法,则利用目标合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理。
在具体实施中,目标合并算法以jar(计算机文件格式)包的形式进行上传,本发明实施例新增一个用于上传jar包的ES接口:/_ksearch/_loadjar”,用于接收用户自定义的目标合并算法。其中,ES接口的定义如下所示:
jar加载管理接口定义
请求URL
POST/_ksearch/_loadjar
请求内容
jarName
jar包名称
Type:String
Required:Yes
jarPath
jar存放路径
Type:String
Required:Yes
className
需要加载的类名(带类名全路径)
Type:String
Required:Yes
请求响应
200-正常结果
400-请求异常
500-内部异常结果
在本发明实施例中,关于用户自定义的目标合并算法,需要按照定义的接口规范进行自定义的目标合并算法的逻辑编写,其中,接口规范如下所示:
Public interface KWayMerge{
/**
*Do custom merge action here.
*
*@param responses map of k-way search result:key-sub query name,value-sub query result
*@param queryOptions k-way search options,get from k way query’k_way_options’content
*@return a merged search response
*/
SearchResponse doMerge(Map<String,SearchResponseltem>responses,StringqueryOptions);
}
接口函数doMerge中,responses为输入的全部查询条件对应的查询结果,queryOptions即为用于对多个查询条件的查询结果进行预设处理的配置参数。利用各查询条件对应的配置参数对全部查询结果进行二次处理,比如重新排序,重新打分,重新过滤等,得到最终查询结果返回。
在判断到存在用户上传的jar包时对该jar包进行解析,获取到用户以jar包形式上传的目标合并算法之后,利用目标合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,其中预设处理包括以下一种或多种:计算查询结果的评分值、对查询结果排序、筛选查询结果,并向客户端返回处理后的查询结果。
本发明实施例提供的数据查询方法,在确定多个查询条件中每个查询条件对应的查询结果后,通过利用目标合并算法,进而基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,从而在返回查询结果之前,已经对查询结果进行提前合并,将部分无效的查询结果丢弃,只返回符合用户需求的查询结果,从而减少服务器带宽和内存占用空间,提高了查询性能,并且除了控制查询结果的数量比例之外,还可以自由满足用户其他多样化自定义的查询需求。
一个示例中,以“运动鞋”查询为例,用户要求返回的查询总结果数目为100个,由90个常规查询的结果和10个复古查询的结果组成,并且复古查询的结果必须穿插显示在常规查询的结果中,比如第1-10个结果中插入1个复古结果,11-20个结果中插入一个复古结果,并以此类推。
在常规查询结果中,如果涉及到A体育特卖店(店铺id:shop12345)的商品时,由于该店铺近期运营违规需要降低其权重,以权重比例为0.6为例,并进行重新打分。在复古查询结果中,由于近期市场上B品牌(品牌id:band54321)涉假情况泛滥,品牌商家要求紧急下架该品牌的所有复古鞋款,因此需要在复古查询结果中过滤B品牌的鞋款。
假如在一个查询请求中包括两个查询条件“运动鞋”和“复古运动鞋”,每个查询条件对应的查询结果各为200个,按照查询结果自身的查询相关性进行排序并缓存。
在对查询结果的处理过程中,基于配置参数的要求,首先过滤复古查询结果中id为band54321的品牌;然后对常规查询结果中id为shop12345的店铺降低权重,以权重比例为0.6为例,并进行重新打分,以该店铺的初始分值为1.93为例,重新打分后该店铺的分值为1.158;最后进行查询结果的重新排列,分为两部分进行:第一步,将重新打分后的常规查询结果按照分值高低进行排序,由于复古查询结果没有重新打分,因此不进行重新排序,按照分值的高低。在常规查询结果中取90个,在复古查询结果中取10个;第二步,对已经取出的90个常规查询结果和10个复古查询结果进行穿插处理,以在逢5的位置上插入复古查询结果为例,穿插处理完成后,向客户端返回处理后的查询结果。
若确定未接收到目标合并算法,则利用预先配置的合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理。
具体实施中,预先配置的合并算法为将查询结果按照自身的查询相关性进行排序,并统计各个查询条件对应的查询结果的其它数据,包括但不限于:响应时间、查询失败等,并向客户端返回处理后的查询结果以及查询结果的其它数据。
相比于现有技术,本发明实施例提供的数据查询方法,可以对查询请求中的每一项查询条件先进行独立查询,得到对应的查询结果,然后再利用各查询条件对应的配置参数对全部查询结果进行二次处理,以得到最终查询结果,在降低了多路查询中各查询条件之间相互影响的同时,还能保证对每一查询条件的配置参数进行精确把控,使得用户输入一次查询需求信息即可得到高匹配度的多条件查询结果,大幅提高了多路查询系统的便捷性与查询精确度。
在本发明的其它实施例中,可以在现有Java REST High Level客户端(简称REST客户端)的基础上新增K Way Search Request请求类,允许在一个查询请求中包括多个查询条件的查询,并支持添加用于对多个查询条件的查询结果进行预设处理的配置参数。另外,在REST客户端的基础上新增k search接口,用于实现k search接口的相关功能,从而极大地提高了用户使用多路查询功能的易用性。
如图3所示,本发明实施例提供的数据查询方法应用于网页查询中,下面结合图3以一个具体示例对本发明实施例提供的数据查询方法进行说明。
步骤301,接收查询请求。
其中,查询请求中包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数。
步骤302,并发执行基于多个查询条件的查询请求。
步骤303,缓存已确定出查询结果并等待所有查询结果查询完毕。
步骤304,确定获得所有查询结果。
步骤305,判断是否接收到目标合并算法,若确定接收到目标合并算法,则执行步骤306,否则,执行步骤307。
步骤306,利用目标合并算法,基于配置参数对部分或全部查询结果进行预设处理。
步骤307,若确定未接收到目标合并算法,则执行步骤307,利用默认合并算法,基于配置参数对部分或全部查询结果进行预设处理。
示例性设备
在介绍了本发明示例性实施方式的方式之后,接下来,参考图4对本发明示例性实施方式的数据查询装置。
如图4所示,基于相同的发明构思,本发明实施例还提供了一种数据查询装置,包括:
接收单元4001,用于接收客户端发送的查询请求,查询请求中包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数;
查询单元4002,用于确定多个查询条件中每个查询条件对应的查询结果;
处理单元4003,用于基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果。
在一种可能的实施方式中,处理单元4003具体用于:
判断是否接收到用于对多个查询条件的查询结果进行预设处理的目标合并算法;
若确定接收到目标合并算法,则利用目标合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理;
若确定未接收到目标合并算法,则利用预先配置的合并算法,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理。
在一种可能的实施方式中,查询单元4002具体用于:
通过异步查询的方式确定多个查询条件中每个查询条件对应的查询结果。
在一种可能的实施方式中,处理单元4003具体用于:
在未确定出部分查询条件对应的查询结果时,缓存已确定出的查询结果,待确定出所有查询条件对应的查询结果后,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理;
预设处理包括以下一种或多种:计算查询结果的评分值、对查询结果排序、筛选查询结果。
在一种可能的实施方式中,配置参数由客户端预先配置。
在介绍了本发明示例性实施方式的数据查询方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的数据查询装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的数据查询装置可以包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据查询方法中的各种步骤。例如,所述处理单元可以执行如图2中所示的步骤201,接收客户端发送的查询请求,查询请求中包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数;步骤202,确定多个查询条件中每个查询条件对应的查询结果;以及步骤203,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果。
下面参照图5来描述根据本发明的这种实施方式的数据查询装置50。图5显示的数据查询装置仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,数据查询装置50可以以通用计算设备的形式表现,例如其可以为终端设备。数据查询装置50的组件可以包括但不限于:上述至少一个处理单元51、上述至少一个存储单元52、连接不同系统组件(包括存储单元52和处理单元51)的总线53。
总线53表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元52可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)521和/或高速缓存存储器522,还可以进一步包括只读存储器(ROM)523。
存储单元52还可以包括具有一组(至少一个)程序模块524的程序/实用工具525,这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
数据查询装置50也可以与一个或多个外部设备54(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与该数据查询装置50交互的设备通信,和/或与使得该数据查询装置50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口55进行。并且,数据查询装置50还可以通过网络适配器56与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与数据查询装置60的其它模块通信。应当明白,尽管图中未示出,可以结合数据查询装置50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据查询方法中的步骤,例如,所述终端设备可以执行如图2中所示的步骤201,接收客户端发送的查询请求,查询请求中包括多个查询条件和用于对多个查询条件的查询结果进行预设处理的配置参数;步骤202,确定多个查询条件中每个查询条件对应的查询结果;以及步骤203,基于配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向客户端返回处理后的查询结果。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图6所示,描述了根据本发明的实施方式的用于数据查询的程序产品60,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (12)
1.一种数据查询方法,其特征在于,所述方法包括:
接收客户端发送的查询请求,所述查询请求中包括多个查询条件和用于对所述多个查询条件的查询结果进行预设处理的配置参数;
确定所述多个查询条件中每个查询条件对应的查询结果;
基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向所述客户端返回处理后的查询结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理,包括:
判断是否接收到用于对所述多个查询条件的查询结果进行预设处理的目标合并算法;
若确定接收到所述目标合并算法,则利用所述目标合并算法,基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理;
若确定未接收到所述目标合并算法,则利用预先配置的合并算法,基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理。
3.根据权利要求1所述的方法,其特征在于,所述确定所述多个查询条件中每个查询条件对应的查询结果,包括:
通过异步查询的方式确定所述多个查询条件中每个查询条件对应的查询结果。
4.根据权利要求3所述的方法,其特征在于,基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理,包括:
在未确定出部分查询条件对应的查询结果时,缓存已确定出的查询结果,待确定出所有查询条件对应的查询结果后,基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理;
所述预设处理包括以下一种或多种:计算查询结果的评分值、对查询结果排序、筛选查询结果。
5.根据权利要求1所述的方法,其特征在于,所述配置参数由所述客户端预先配置。
6.一种数据查询装置,其特征在于,所述装置包括:
接收单元,用于接收客户端发送的查询请求,所述查询请求中包括多个查询条件和用于对所述多个查询条件的查询结果进行预设处理的配置参数;
查询单元,用于确定所述多个查询条件中每个查询条件对应的查询结果;
处理单元,用于基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理,并向所述客户端返回处理后的查询结果。
7.根据权利要求6所述的装置,其特征在于,所述处理单元具体用于:
判断是否接收到用于对所述多个查询条件的查询结果进行预设处理的目标合并算法;
若确定接收到所述目标合并算法,则利用所述目标合并算法,基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理;
若确定未接收到所述目标合并算法,则利用预先配置的合并算法,基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理。
8.根据权利要求6所述的装置,其特征在于,所述查询单元具体用于:
通过异步查询的方式确定所述多个查询条件中每个查询条件对应的查询结果。
9.根据权利要求8所述的装置,其特征在于,所述处理单元具体用于:
在未确定出部分查询条件对应的查询结果时,缓存已确定出的查询结果,待确定出所有查询条件对应的查询结果后,基于所述配置参数对部分或全部查询条件对应的查询结果进行预设处理;
所述预设处理包括以下一种或多种:计算查询结果的评分值、对查询结果排序、筛选查询结果。
10.根据权利要求6所述的装置,其特征在于,所述配置参数由所述客户端预先配置。
11.一种数据查询设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的数据查询方法。
12.一种存储介质,其特征在于,当所述存储介质中的指令由数据查询设备的处理器执行时,使得数据查询设备能够执行如权利要求1至5中任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010043516.XA CN111259044A (zh) | 2020-01-15 | 2020-01-15 | 一种数据查询方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010043516.XA CN111259044A (zh) | 2020-01-15 | 2020-01-15 | 一种数据查询方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111259044A true CN111259044A (zh) | 2020-06-09 |
Family
ID=70952109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010043516.XA Pending CN111259044A (zh) | 2020-01-15 | 2020-01-15 | 一种数据查询方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259044A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948108A (zh) * | 2021-01-26 | 2021-06-11 | 北京字节跳动网络技术有限公司 | 请求处理方法、装置和电子设备 |
CN113032430A (zh) * | 2021-03-25 | 2021-06-25 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、介质和计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140214884A1 (en) * | 2013-01-31 | 2014-07-31 | International Business Machines Corporation | Managing and improving question and answer resources and channels |
CN107480156A (zh) * | 2016-06-08 | 2017-12-15 | 北京新岸线网络技术有限公司 | 一种视频搜索方法 |
CN109492138A (zh) * | 2018-10-22 | 2019-03-19 | 中国银行股份有限公司 | 一种数据查询处理方法及系统 |
CN109885548A (zh) * | 2019-02-22 | 2019-06-14 | 网易(杭州)网络有限公司 | 日志查询方法、装置、存储介质和电子装置 |
CN110162537A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | 数据查询方法及装置、存储介质以及电子设备 |
CN110619008A (zh) * | 2019-09-17 | 2019-12-27 | 北京百度网讯科技有限公司 | 数据库查询方法、装置、电子设备及存储介质 |
-
2020
- 2020-01-15 CN CN202010043516.XA patent/CN111259044A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140214884A1 (en) * | 2013-01-31 | 2014-07-31 | International Business Machines Corporation | Managing and improving question and answer resources and channels |
CN107480156A (zh) * | 2016-06-08 | 2017-12-15 | 北京新岸线网络技术有限公司 | 一种视频搜索方法 |
CN109492138A (zh) * | 2018-10-22 | 2019-03-19 | 中国银行股份有限公司 | 一种数据查询处理方法及系统 |
CN109885548A (zh) * | 2019-02-22 | 2019-06-14 | 网易(杭州)网络有限公司 | 日志查询方法、装置、存储介质和电子装置 |
CN110162537A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | 数据查询方法及装置、存储介质以及电子设备 |
CN110619008A (zh) * | 2019-09-17 | 2019-12-27 | 北京百度网讯科技有限公司 | 数据库查询方法、装置、电子设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948108A (zh) * | 2021-01-26 | 2021-06-11 | 北京字节跳动网络技术有限公司 | 请求处理方法、装置和电子设备 |
CN112948108B (zh) * | 2021-01-26 | 2024-03-15 | 北京字节跳动网络技术有限公司 | 请求处理方法、装置和电子设备 |
CN113032430A (zh) * | 2021-03-25 | 2021-06-25 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、介质和计算设备 |
CN113032430B (zh) * | 2021-03-25 | 2023-12-19 | 杭州网易数之帆科技有限公司 | 一种数据处理方法、装置、介质和计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3036662B1 (en) | Generating cache query requests | |
US8843608B2 (en) | Methods and systems for caching popular network content | |
US8458666B2 (en) | Methods and systems for implementing a test automation framework for testing software applications on UNIX/LINUX based machines | |
US20200057958A1 (en) | Identification and application of hyperparameters for machine learning | |
US20070260609A1 (en) | System and method for high throughput with remote storage servers | |
US9721015B2 (en) | Providing a query results page | |
US9342455B2 (en) | Cache prefetching based on non-sequential lagging cache affinity | |
US20130173655A1 (en) | Selective fetching of search results | |
US10915524B1 (en) | Scalable distributed data processing and indexing | |
US9930113B2 (en) | Data retrieval via a telecommunication network | |
JP2020074193A (ja) | サーチ方法、装置、設備および不揮発性計算機メモリ | |
US20150199408A1 (en) | Systems and methods for a high speed query infrastructure | |
US11307984B2 (en) | Optimized sorting of variable-length records | |
CN111259044A (zh) | 一种数据查询方法、装置、设备及介质 | |
CN111586177A (zh) | 集群会话防丢失方法及系统 | |
US20240041395A1 (en) | Automated health review system | |
US20220198283A1 (en) | Dynamic reconstruction of decision tree structures | |
US20200380037A1 (en) | Information Retrieval Precision Evaluation Method, System and Device and Computer-Readable Storage Medium | |
US10440154B2 (en) | Method and system for predictive loading of software resources | |
EP3642727B1 (en) | Resource pre-fetch using age threshold | |
JP2023015275A (ja) | 観測情報処理方法、装置、電子機器、記憶媒体及びコンピュータプログラム | |
US9606783B2 (en) | Dynamic code selection based on data policies | |
EP2990960A1 (en) | Data retrieval via a telecommunication network | |
US11023440B1 (en) | Scalable distributed data processing and indexing | |
US20230141964A1 (en) | Multi-Level Cache System For Reduction Of Storage Costs |
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 |