一种缓存数据的搜索方法及装置制造方法及图纸

技术编号:25521643 阅读:17 留言:0更新日期:2020-09-04 17:11
本发明专利技术公开了一种缓存数据的搜索方法及装置,其中方法为:获取针对缓存数据的搜索指令;所述搜索指令包括具有逻辑运算的多个子搜索条件;根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序;所述子搜索条件的搜索代价是根据所述子搜索条件的历史搜索结果确定的;按照所述多个子搜索条件的执行顺序,执行所述搜索指令,上述方法应用于金融科技(Fintech)时,不需要依赖索引,也可以提升整体搜索效率。

【技术实现步骤摘要】
一种缓存数据的搜索方法及装置
本专利技术涉及金融科技(Fintech)领域中的数据搜索领域,尤其涉及一种缓存数据的搜索方法及装置。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。金融科技领域中,一个常见的问题是如何从计算机设备的缓存数据中根据搜索条件搜索出符合搜索条件的数据。目前一般有两种缓存数据的搜索方法。第一种方式中,直接根据搜索条件在缓存数据的全部数据中遍历,筛选出符合搜索条件的数据,这种搜索方式显然并不高效。第二种方式中,为了增加搜索效率,会在缓存中建立各种索引,通过索引搜索出符合搜索条件的数据。这种方式虽然可以迅速定位出符合搜索条件的数据,然而,缓存中的数据是经常变化的,这样索引建立的过程会很繁琐,更新缓存中的数据有时需要更新所有的索引,在被缓存数据的属性非常多时,索引数量也随之增多,这种依赖索引的方式会严重拖慢缓存数据更新速度。因此,亟需一种不需要依赖索引且高效的搜索方法。
技术实现思路
本专利技术提供一种缓存数据的搜索方法及装置,解决了现有技术中缺少不需要依赖索引且高效的搜索方法的问题。第一方面,本专利技术提供一种缓存数据的搜索方法,包括:获取针对缓存数据的搜索指令;所述搜索指令包括具有逻辑运算的多个子搜索条件;根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序;在所述执行顺序中,第一子搜索条件的执行顺序先于第二子搜索条件的执行顺序;所述第一子搜索条件的搜索代价小于所述第二子搜索条件的搜索代价;所述第一子搜索条件和所述第二子搜索条件均为所述多个子搜索条件的子搜索条件;所述子搜索条件的搜索代价是根据所述子搜索条件的历史搜索结果确定的;按照所述多个子搜索条件的执行顺序,执行所述搜索指令。上述方法中,获取缓存数据的搜索指令后,并不是直接去根据多个子搜索条件去搜索,而是根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序,使得所述第一子搜索条件的搜索代价小于所述第二子搜索条件的搜索代价,从而在执行所述搜索指令时,会使得搜索代价小的子搜索条件先被执行,可以先以搜索较小的代价的子搜索条件过滤掉一部分数据,从而其它子搜索条件可以在较小搜索代价的基础上继续搜索,不需要依赖索引,也可以提升整体搜索效率。可选的,按照以下方式根据所述子搜索条件的历史搜索结果,确定所述子搜索条件的搜索代价:若所述子搜索条件为索引上的子搜索条件,至少根据所述子搜索条件对应索引数据的历史搜索的索引记录条数,确定所述子搜索条件的搜索代价;若所述子搜索条件为非索引上的子搜索条件,则至少根据所述子搜索条件的历史搜索的数据记录条数确定所述子搜索条件的搜索代价。上述方法中,对于索引上和非索引上的子搜索条件,根据索引上和非索引上历史搜索的索引记录条数来确定所述子搜索条件的搜索代价,由于搜索时长数据条数的时长是根据条数均匀变化的,因此,上述方法提供了一种可以均匀描述所述子搜索条件的搜索代价的方法。可选的,所述至少根据所述子搜索条件的历史搜索的数据记录条数确定所述子搜索条件的搜索代价;包括:若所述历史搜索的数据记录条数小于或等于预设取样条数,则确定所述子搜索条件的搜索代价为预设代价;若所述历史搜索的数据记录条数大于所述预设取样条数,则从所述历史搜索的数据记录条数中距离所述搜索指令最近的所述预设取样条数的数据记录的搜索总时长,确定所述子搜索条件的搜索代价。上述方法中,给出了所述历史搜索的数据记录条数小于或等于或者大于预设取样条数情况下,搜索代价的确定方式,从而根据临近的数据记录来预估子搜索条件的搜索代价。可选的,所述根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序之前,还包括:按照逻辑运算的等价变换规则,将所述多个子搜索条件变换为仅包括”与”逻辑运算和”非”逻辑运算的形式。上述方式下,将多个子搜索条件变换为仅包括”与”逻辑运算和”非”逻辑运算的形式后,整体的多个子搜索条件的复合关系更为简便,更易于分析出搜索代价。可选的,所述多个子搜索条件通过树形结构来表示;所述树形结构的各叶子节点对应所述多个子搜索条件中的各原子搜索条件,所述树形结构的各非叶子节点对应所述各原子搜索条件按各逻辑连接词复合的复合搜索条件;所述根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序;包括:针对所述树形结构的各非叶子节点中任一非叶子节点,根据所述非叶子节点的各子节点对应搜索条件的搜索代价,调整所述各子节点的顺序,并确定所述非叶子节点对应的复合搜索条件的搜索代价;根据所述各非叶子节点对应的复合搜索条件的搜索代价,调整所述各非叶子节点的顺序,从而确定所述多个子搜索条件的执行顺序。上述方式下,通过树形结构可以更直观地表示所述多个子搜索条件中的各原子搜索条件以及复合关系,另外,可以在树形结构中,针对所述树形结构中任一非叶子节点,调整所述非叶子节点的各子节点的顺序及对应的复合搜索条件的搜索代价,并且再根据所述各非叶子节点对应的复合搜索条件的搜索代价,调整所述各非叶子节点的顺序,从而提供了一种根据树形结构确定所述多个子搜索条件执行顺序的方式。可选的,所述根据所述非叶子节点的各子节点对应搜索条件的搜索代价,调整所述各子节点的顺序,并确定所述非叶子节点对应的复合搜索条件的搜索代价,包括:将所述各子节点按照对应搜索条件的搜索代价从大到小的顺序,作为所述各子节点的顺序;根据所述各子节点对应搜索条件的搜索代价及匹配率,确定所述非叶子节点对应的复合搜索条件的搜索代价。上述方式下,首先将所述各子节点按照对应搜索条件的搜索代价从大到小的顺序,作为所述各子节点的顺序,在这个阶段便考虑搜索代价的大小,从而可以进一步地根据所述各子节点对应搜索条件的搜索代价及匹配率,从而得到更小的复合搜索条件的搜索代价。可选的,所述获取针对缓存数据的搜索指令;包括:获取搜索提交方提交的json格式的第一搜索信息;将json格式的所述第一搜索信息解析为树形结构的第二搜索信息;将所述第二搜索信息作为所述搜索指令。上述方式下,json格式的第一搜索信息更易解析,而树形结构的第二搜索信息更加直观,从而获得搜索指令的效率更高且更加直观。第二方面,本专利技术提供一种缓存数据的搜索装置,包括:获取模块,用于获取针对缓存数据的搜索指令;所述搜索指令包括具有逻辑运算的多个子搜索条件;处理模块,用于根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序;在所述执行顺序中,第一子搜索条件的执行顺序先于第二子搜索条件的执行顺序;所述第一子搜索条件的搜索代价小于所述第二子搜索条件的搜索代价;所述第一子搜索条件和所述第二子搜索条件均为所述多个子搜索条件的子搜索条件;所述子搜索条件的搜索代价是根据所述子搜索条件的历史搜索结果确定的;以及用于按照所述多个子搜索条件的执行顺序,执行所述搜索指令。可选的,所述处理模块具体用于:若所述子搜索条件为索引上的子搜索条件,至少根本文档来自技高网...

【技术保护点】
1.一种缓存数据的搜索方法,其特征在于,包括:/n获取针对缓存数据的搜索指令;所述搜索指令包括具有逻辑运算的多个子搜索条件;/n根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序;在所述执行顺序中,第一子搜索条件的执行顺序先于第二子搜索条件的执行顺序;所述第一子搜索条件的搜索代价小于所述第二子搜索条件的搜索代价;所述第一子搜索条件和所述第二子搜索条件均为所述多个子搜索条件的子搜索条件;所述子搜索条件的搜索代价是根据所述子搜索条件的历史搜索结果确定的;/n按照所述多个子搜索条件的执行顺序,执行所述搜索指令。/n

【技术特征摘要】
1.一种缓存数据的搜索方法,其特征在于,包括:
获取针对缓存数据的搜索指令;所述搜索指令包括具有逻辑运算的多个子搜索条件;
根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序;在所述执行顺序中,第一子搜索条件的执行顺序先于第二子搜索条件的执行顺序;所述第一子搜索条件的搜索代价小于所述第二子搜索条件的搜索代价;所述第一子搜索条件和所述第二子搜索条件均为所述多个子搜索条件的子搜索条件;所述子搜索条件的搜索代价是根据所述子搜索条件的历史搜索结果确定的;
按照所述多个子搜索条件的执行顺序,执行所述搜索指令。


2.如权利要求1所述的方法,其特征在于,按照以下方式根据所述子搜索条件的历史搜索结果,确定所述子搜索条件的搜索代价:
若所述子搜索条件为索引上的子搜索条件,至少根据所述子搜索条件对应索引数据的历史搜索的索引记录条数,确定所述子搜索条件的搜索代价;
若所述子搜索条件为非索引上的子搜索条件,则至少根据所述子搜索条件的历史搜索的数据记录条数确定所述子搜索条件的搜索代价。


3.如权利要求2所述的方法,其特征在于,所述至少根据所述子搜索条件的历史搜索的数据记录条数确定所述子搜索条件的搜索代价;包括:
若所述历史搜索的数据记录条数小于或等于预设取样条数,则确定所述子搜索条件的搜索代价为预设代价;
若所述历史搜索的数据记录条数大于所述预设取样条数,则从所述历史搜索的数据记录条数中距离所述搜索指令最近的所述预设取样条数的数据记录的搜索总时长,确定所述子搜索条件的搜索代价。


4.如权利要求1所述的方法,其特征在于,所述根据所述多个子搜索条件的搜索代价,确定所述多个子搜索条件的执行顺序之前,还包括:
按照逻辑运算的等价变换规则,将所述多个子搜索条件变换为仅包括“与”逻辑运算和“非”逻辑运算的形式。


5.如权利要求1至4任一项所述的方法,其特征在于,所述多个子搜索条件通过树形结构来表示;所述树形结构的各叶子节点对应所述多个子搜索条件中的各原子搜索条件,所述树形结构的各非叶子节点对应所述各原子搜索条件按各逻辑连接词复合的复合搜索条件;
所述根据所述多个...

【专利技术属性】
技术研发人员:黄山尹强王和平刘有杨峙岳冯朝阁杨永坤邸帅卢道和
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

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

1