一种风控名单的存储及快速查询方法技术

技术编号:36203111 阅读:7 留言:0更新日期:2023-01-04 11:57
本发明专利技术公开了一种风控名单的存储及快速查询方法,它涉及计算机软件应用技术领域。首先根据要存储名单的数据量设定二维数组的行和列;将名单数据加载到行列式中,名单两次hashcode之后放到指定位置,将该位置置为1(true);根据插入的数据处理查询对应位置的真实性,根据相同双hashcode方法,先找到对应的行列位置,取出该位置的值,判断该位置是否为true,如果为1,则返回true,否则返回false。本发明专利技术能减少数据的存储空间,提升调用效率以及查询效率,避免因数据过大造成网络阻塞,应用前景广阔。前景广阔。前景广阔。

【技术实现步骤摘要】
一种风控名单的存储及快速查询方法


[0001]本专利技术涉及的是计算机软件应用
,具体涉及一种风控名单的存储及快速查询方法。

技术介绍

[0002]目前,在现有技术中,名单数据的查询一般是从数据库中查出来,然后通过接口返回到请求方,期间必定与数据库有交互、有网络损耗等情况,会大大降低接口的tps数量。亦或将名单数据存储在中间件中,在单个名单存储数据不大的情况下,可以快速地从nosql型数据库(类似于redis)返回出来,但是,如果单个名单的数据量特别大,从nosql数据库取出的io也会比较大,十分影响查询效率,甚至会造成网络阻塞引起生产事故。
[0003]为了解决名单数据的存储问题和同一种名单数据对象大阻塞查询的问题,开发一种风控名单的存储及快速查询方法尤为必要。

技术实现思路

[0004]针对现有技术上存在的不足,本专利技术目的是在于提供一种风控名单的存储及快速查询方法,减少数据的存储空间,提升调用效率以及查询效率,避免因数据过大造成网络阻塞,易于推广使用。
[0005]为了实现上述目的,本专利技术是通过如下的技术方案来实现:一种风控名单的存储及快速查询方法,其步骤为:
[0006](1)首先根据要存储名单的数据量设定二维数组(行列式)的行m和列n;
[0007](2)名单数据存入:将名单数据加载到行列式中,名单两次hashcode之后放到指定位置,将该位置置为1(true);
[0008](3)名单查询:根据插入的数据处理查询对应位置的真实性,根据相同双hashcode方法,先找到对应的行列位置,取出该位置的值,判断该位置是否为true,如果为1(true),则返回true,否则返回false(未命中)。
[0009]作为优选,所述的步骤(2)名单数据存入的具体步骤为:将加密后的数据先hashcode运算,得到hash值,然后对m取模,得到的值即为名单所在的列,对这个hash值再次hashcode得到一个新的数字,再用这个数字对n取模,即得到名单所在的行,将行列式中的这个位置置为1。
[0010]作为优选,所述的步骤(3)名单查询的具体步骤为:加密后的数据先hashcode运算,得到hash值s1,然后s1对m取模,得到的值即为名单所在的列j,对这个s1再次hashcode得到一个新的数字,再用这个数字对n取模得到i,取出行列式RiLj的值,判断是否为1,为1则命中。
[0011]本专利技术的有益效果:本专利技术能减少数据的存储空间,提升调用效率以及查询效率,避免因数据过大造成网络阻塞,应用前景广阔。
附图说明
[0012]下面结合附图和具体实施方式来详细说明本专利技术;
[0013]图1为本专利技术的原理框图;
[0014]图2为本专利技术的流程图;
[0015]图3为本专利技术二维数组的行列式示意图。
具体实施方式
[0016]为使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本专利技术。
[0017]参照图1

3,本具体实施方式采用以下技术方案:一种风控名单的存储及快速查询方法,其步骤为:
[0018](1)首先根据要存储名单的数据量设定二维数组(行列式)的行m和列n;
[0019](2)名单数据存入:将名单数据加载到行列式中,名单两次hashcode之后放到指定位置,将该位置置为1(true);
[0020](3)名单查询:根据插入的数据处理查询对应位置的真实性,根据相同双hashcode方法,先找到对应的行列位置,取出该位置的值,判断该位置是否为true,如果为1(true),则返回true,否则返回false(未命中)。
[0021]值得注意的是,所述的步骤(1)中一个名单只占用一个位置,可不重复存储的总数量为m
×
n,二维数组的行和列决定总共能存数据的数量和需要开辟的内存空间大小。
[0022]所述的名单数据存入的具体步骤为:将加密后的数据先hashcode运算,得到hash值,然后对m取模,得到的值即为名单所在的列,对这个hash值再次hashcode得到一个新的数字,再用这个数字对n取模,即得到名单所在的行,将行列式中的这个位置置为1。
[0023]所述的名单查询的具体步骤为:加密后的数据先hashcode运算,得到hash值s1,然后s1对m取模,得到的值即为名单所在的列j,对这个s1再次hashcode得到一个新的数字,再用这个数字对n取模得到i,取出行列式RiLj的值,判断是否为1,为1则命中。
[0024]本具体实施方式采用位存储的方法解决原始数据存储过大、导致查询数据io较大造成阻塞的问题,位存储通过先预留一个数组,每个数组的位上又是一个数组,通过一个m
×
n的行列式来存储位数据,也就是0或者1,每个名单都映射一个或者多个这个矩阵的位置,并将这些位置置为1。同样的查询,当名单映射的所有位置都是1时,则命中名单。
[0025]由于名单数据的特殊性,所有名单的相似度都较低,具有天然的发散性,仅需将原始的名单数据做hash之后取模即可确定所属位置的行号,双hash之后取模获得所属位置的列号,将这个位置置为1,即为该名单对应的存储。数据的存储为一个矩阵(图3),将原始名单转换成矩阵中RiLj这个位置,如果该位置不为0则证明命中该名单。
[0026]本具体实施方式将名单存在内存中,通过服务器内存调用,减少了与数据库的交互,从而大大提升调用效率,该存储方式相比nosql类型的中间件存储,将原始数据存储在位上,减少数据的存储空间,减少io,能避免因数据过大造成的阻塞,具有广阔的市场应用前景。
[0027]以上显示和描述了本专利技术的基本原理和主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的只是说明本
专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本专利技术要求保护范围由所附的权利要求书及其等效物界定。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种风控名单的存储及快速查询方法,其特征在于,其步骤为:(1)首先根据要存储名单的数据量设定二维数组(行列式)的行m和列n;(2)名单数据存入:将名单数据加载到行列式中,名单两次hashcode之后放到指定位置,将该位置置为1(true);(3)名单查询:根据插入的数据处理查询对应位置的真实性,根据相同双hashcode方法,先找到对应的行列位置,取出该位置的值,判断该位置是否为true,如果为1(true),则返回true,否则返回false(未命中)。2.根据权利要求1所述的一种风控名单的存储及快速查询方法,其特征在于,所述的步骤(2)名单数据存入的具体步骤...

【专利技术属性】
技术研发人员:杨富安李宁
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

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

1