名单查询方法、装置及设备制造方法及图纸

技术编号:24574009 阅读:24 留言:0更新日期:2020-06-21 00:07
本说明书实施例提供一种名单查询方法、装置及设备,其中,方法包括:接收针对待查询名单的名单查询请求;根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;若否,则返回名单查询结果;若是,则在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果。本说明书实施例的方案,能够在名单查询中,有效降低目标数据库的查询压力,加快查询请求响应。

List query method, device and equipment

【技术实现步骤摘要】
名单查询方法、装置及设备
本文件涉及计算机
,尤其涉及一种名单查询方法、装置及设备。
技术介绍
在实时风控系统中,名单查询是一个非常普遍的业务场景,名单查询的逻辑就是判断一个名单对象或名单内容是否在给定的名单集合中。通常名单查询面对的是高并发的查询请求和海量的名单,但风控系统对于名单查询的响应要求非常高,通常要求在毫秒内返回名单查询结果。如图1所示,现有的名单查询系统架构是将名单存储在MySQL数据库中,查询服务器接收到名单查询请求后,会将所有的查询请求发送到MySQL数据库(DataBase,DB)中,由目标数据库做名单查询,返回名单查询的结果。在高并发的查询请求和海量的名单的场景下,目标数据库的查询次数会变多,目标数据库压力增大,目标数据库的查询响应会变慢,进而导致名单查询的请求响应变慢。
技术实现思路
本说明书提供了一种名单查询方法、装置及设备,能够在名单查询中,有效降低目标数据库的查询压力,加快查询请求响应。为达到上述目的,本说明书的实施例采用如下技术方案:第一方面,本说明书实施例提供了一种名单查询方法,包括:接收针对待查询名单的名单查询请求;根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;若否,则返回名单查询结果;若是,则在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果。第二方面,本说明书实施例提供了一种名单查询装置,包括:请求接收模块、第一查询模块、结果反馈模块和第二查询模块;所述请求接收模块,接收针对待查询名单的名单查询请求;所述第一查询模块,根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;若否,则所述结果反馈模块返回名单查询结果;若是,则所述第二查询模块在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并触发所述结果反馈模块返回名单查询结果。第三方面,本说明书实施例提供了一种名单查询设备,包括:处理器;以及,被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:接收针对待查询名单的名单查询请求;根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;若否,则返回名单查询结果;若是,则在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果。第四方面,本说明书实施例提供了一种存储介质。该存储介质用于存储计算机可执行指令。所述计算机可执行指令在被执行时实现以下流程:接收针对待查询名单的名单查询请求;根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;若否,则返回名单查询结果;若是,则在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果。本说明书提供了一种名单查询方法、装置及设备,在接收到名单查询请求后,先查询预置在内存中的名单布隆索引以确定待查询名单是否包含在目标数据库中的名单集合中;若否,则返回名单查询结果;若是,则再在目标数据库中进行查询以确定待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果,从而通过在查询目标数据库之前先查询布隆索引,以有效较少查询目标数据库的次数,降低目标数据库的查询压力,加快查询请求响应。上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中的名单查询系统架构示意图;图2为本说明书实施例的名单查询系统架构示意图;图3为本说明书实施例的名单查询方法的流程示意图一;图4为本说明书实施例的名单查询方法的流程示意图二;图5为本说明书实施例的名单查询方法的流程示意图三;图6为本说明书实施例的名单查询方法的流程示意图四;图7为本说明书实施例的名单查询方法的流程示意图五;图8为本说明书实施例的名单查询装置的结构示意图;图9为本说明书实施例的名单查询设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本说明书实施例改善了现有名单查询系统中,由于将所有的名单查询请求都发送到目标数据库,由目标数据库做名单查询,而导致的目标数据库压力增大,查询响应变慢的缺陷,其核心思想在于,在将名单查询请求发送至目标数据库进行查询之前,引入对预置在内存中的名单布隆索引进行查询的前置操作,以尽可能的实现根据查询名单布隆索引后确定的待查询名单是否包含在所述名单集合中的结果,直接返回名单查询结果,从而减少查询目标数据库的次数、进而降低目标数据库的查询压力,加快查询请求响应降低。基于上述核心思想,本说明书实施例提供了一种名单查询系统架构。如图2所示,该系统架构中包括:一个或多个查询服务器(如图中查询服务器1、查询服务器2)、存储有至少一个名单集合数据的目标数据库(如图中MySQL数据库),以及索引文件服务器。其中,索引文件服务器上存储有与MySQL数据库中各名单集合相对应的名单布隆索引,该名单布隆索引可以是由查询服务器(如查询服务器1),或者其他专属处理节点在本地构建完成后上传到索引文件服务器。系统中的各查询服务器从索引文件服务器下载名单布隆索引至本地的内存中。查询服务器可以按地理区域布设在多个位置。当查询服务器(如查询服务器1)接收到针对待查询名单的名单查询请求后,可以先调用布隆过滤器(内置在查询服务器中的一系列随机映射函数)在本地内存中的名单布隆索引中查询,以确定待查询名单是否包含在目标数据库中的名单集合中,所述名单布隆索引为针对目标数据库中的名本文档来自技高网...

【技术保护点】
1.一种名单查询方法,包括:/n接收针对待查询名单的名单查询请求;/n根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;/n若否,则返回名单查询结果;若是,则在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果。/n

【技术特征摘要】
1.一种名单查询方法,包括:
接收针对待查询名单的名单查询请求;
根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;
若否,则返回名单查询结果;若是,则在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果。


2.根据权利要求1所述的方法,其中,根据查询所述名单布隆索引后确定的所述待查询名单不包含在所述名单集合中,返回名单查询结果包括:
将所述待查询名单不包含在所述名单集合中的结果作为所述名单查询结果返回。


3.根据权利要求1所述的方法,其中,在所述目标数据库中进行查询以确定所述待查询名单是否包含在目标数据库中的名单集合中,并返回名单查询结果包括:
如果查询所述目标数据库后确定所述待查询名单包含在所述名单集合中,则将所述待查询名单包含在所述名单集合中的结果作为所述名单查询结果返回;
如果查询所述目标数据库后确定所述待查询名单不包含在所述名单集合中,则将所述待查询名单不包含在所述名单集合中的结果作为所述名单查询结果返回。


4.根据权利要求1所述的方法,其中,所述名单布隆索引为基于所述名单集合中包含的名单字段信息构建而成,所述名单查询请求中携带有与所述名单集合中用于构建名单布隆索引的名单字段相同的所述待查询名单的名单字段信息;
所述根据所述名单查询请求,查询预置在内存中的名单布隆索引包括:
根据所述名单查询请求中携带的与所述名单集合中用于构建名单布隆索引的名单字段相同的所述待查询名单的名单字段信息,查询预置在内存中的名单布隆索引。


5.根据权利要求1所述的方法,其中,所述预置在内存中的名单布隆索引为多个,并分别与所述目标数据库中的多个名单集合相对应,所述名单查询请求中携带有所述目标数据库中的至少一个名单集合的名单集合标识;
所述根据所述名单查询请求,查询预置在内存中的名单布隆索引包括:
根据所述名单查询请求,查询预置在内存中的与所述名单查询请求中携带的名单集合标识所指向名单集合对应的名单布隆索引。


6.根据权利要求4所述的方法,其中,所述名单字段包括名单的内容字段、或者进一步还包括名单的类别字段和所属领域字段中的至少一种。


7.根据权利要求1所述的方法,其中,所述方法还包括:
从索引文件服务器下载所述名单布隆索引并存储至本地内存中,所述索引文件服务器上存储的名单布隆索引为至少一个查询服务器针对所述目标数据库中的名单集合构建后上传至所述索引文件服务器。


8.根据权利要求1-7任一项所述的方法,其中,所述名单集合中包含的名单为风控业务中涉及的风险名单。


9.一种名单查询装置,包括:请求接收模块、第一查询模块、结果反馈模块和第二查询模块;
所述请求接收模块,接收针对待查询名单的名单查询请求;
所述第一查询模块,根据所述名单查询请求,查询预置在内存中的名单布隆索引以确定所述待查询名单是否包含在目标数据库中的名单集合中;所述名单布隆索引为针对所述目标数据库中的名单集合所构建的名单布隆索引;
若否,则所述结果反馈模块返回名单查询结果;若是,则所述第二查询模块...

【专利技术属性】
技术研发人员:姚雨涛顾晓洁谢宇
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1