一种数据查询方法和装置制造方法及图纸

技术编号:25123191 阅读:141 留言:0更新日期:2020-08-05 02:52
本申请公开了一种数据查询方法和装置,该方法包括:接收查询请求,所述查询请求中包括用于进行数据查询的关键字;基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,所述缓存预先从磁盘中获取与多个关键字一一对应的多个数据,一个数据基于一个关键字进行完全匹配或模糊匹配得到;若所述缓存中包括所述目标数据,则返回所述目标数据;若所述缓存中不包括所述目标数据,则在所述磁盘中查询与所述关键字对应的目标数据。在接收到包括关键字的查询请求时,首先可以在缓存中查询与关键字对应的目标数据,无需调用系统接口来访问磁盘,因此可以提高数据查询的效率。

【技术实现步骤摘要】
一种数据查询方法和装置
本申请涉及数据处理领域,尤其涉及一种数据查询方法和装置。
技术介绍
通常,在进行数据存储时,可以将数据存储在磁盘中,当需要在磁盘中查询数据时,可以调用系统接口,通过系统接口访问磁盘,进而从磁盘中查询到需要的数据。然而,在实际应用中,存在需要频繁地从磁盘中查询数据的情况,在这种情况下,需要频繁地调用系统接口来访问磁盘,而每次调用系统接口都需要花费一定的时间,导致数据查询的速度慢,查询效率低。
技术实现思路
本申请实施例提供一种数据查询方法和装置,用于解决从磁盘中查询数据时,查询效率比较低的问题。为解决上述技术问题,本申请实施例是这样实现的:第一方面,提出一种数据查询方法,包括:接收查询请求,所述查询请求中包括用于进行数据查询的关键字;基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,所述缓存预先从磁盘中获取与多个关键字一一对应的多个数据,一个数据基于一个关键字进行完全匹配或模糊匹配得到;若所述缓存中包括所述目标数据,则返回所述目标数据;若所述缓存中不包括所述目标数据,则在所述磁盘中查询与所述关键字对应的目标数据。第二方面,提出一种数据查询装置,包括:接收模块,接收查询请求,所述查询请求中包括用于进行数据查询的关键字;确定模块,基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,所述缓存预先从磁盘中获取与多个关键字一一对应的多个数据,一个数据基于一个关键字进行完全匹配或模糊匹配得到;返回模块,若所述缓存中包括所述目标数据,则返回所述目标数据;查询模块,若所述缓存中不包括所述目标数据,则在所述磁盘中查询与所述关键字对应的目标数据。第三方面,提出一种电子设备,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:接收查询请求,所述查询请求中包括用于进行数据查询的关键字;基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,所述缓存预先从磁盘中获取与多个关键字一一对应的多个数据,一个数据基于一个关键字进行完全匹配或模糊匹配得到;若所述缓存中包括所述目标数据,则返回所述目标数据;若所述缓存中不包括所述目标数据,则在所述磁盘中查询与所述关键字对应的目标数据。第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:接收查询请求,所述查询请求中包括用于进行数据查询的关键字;基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,所述缓存预先从磁盘中获取与多个关键字一一对应的多个数据,一个数据基于一个关键字进行完全匹配或模糊匹配得到;若所述缓存中包括所述目标数据,则返回所述目标数据;若所述缓存中不包括所述目标数据,则在所述磁盘中查询与所述关键字对应的目标数据。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例提供的技术方案,可以预先将磁盘中包括的与多个关键字一一对应的多个数据存储在缓存中,其中,一个数据可以基于一个关键字进行完全匹配或模糊匹配得到,这样,在接收到包括关键字的查询请求时,首先可以在缓存中查询与关键字对应的目标数据,无需调用系统接口来访问磁盘,因此可以提高数据查询的效率。此外,若在缓存中未查询到与关键字对应的目标数据,则可以基于关键字在磁盘中进行进一步查询,从而保证可以查询到所需的目标数据。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请的一个实施例数据查询方法的流程示意图;图2是本申请的一个实施例电子设备的结构示意图;图3是本申请的一个实施例数据查询装置的结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本申请实施例提供的技术方案的主要思想在于:可以预先将磁盘中的数据存储在缓存中,这样,在接收到包括关键字的查询请求时,可以基于关键字在缓存中进行数据查询,无需调用系统接口来访问磁盘,从而提高数据查询速度,提升查询效率。此外,缓存中存储的数据可以包括与关键字完全匹配和模糊匹配的数据,这样,可以在进行数据查询时,可以查询得到与关键字完全匹配或模糊匹配的数据,从而满足用户不同的查询需求。需要说明的是,本申请实施例的应用场景可以是用户查询机构的相关信息的场景,该机构包括但不限于银行机构、保险机构等。以下结合附图,详细说明本申请各实施例提供的技术方案。图1是本申请的一个实施例数据查询方法的流程示意图。所述方法如下所述。S102:接收查询请求,所述查询请求中包括用于进行数据查询的关键字。在S102中,用户在进行数据查询时,可以在终端设备中输入用于进行数据查询的关键字,并基于该关键字向终端设备发送查询请求,此时,终端设备可以接收到该查询请求。其中,终端设备可以是具有数据查询功能的个人计算机,智能手机等。在本实施例中,关键字可以是机构标识,机构标识可以是机构名称,也可以是机构编码,关键字还可以是机构标识中的部分标识,具体可以是机构名称中的部分名称,也可以是机构编码中的部分编码。以用户想要查询的机构名称为中国XX保险公司北京XX分公司,对应的机构编码为1000为例,用户输入的关键字可以是公司名称“中国XX保险公司北京XX分公司”或该公司的编码1000,也可以是该公司的部分名称“中国XX保险公司”,还可以是该公司的部分编码100。S104:基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据。在S104中,终端设备在接收到查询请求后,可以先从缓存中查询是否存在与关键字对应的目标数据,该目标数据可以视为对该关键字进行数据查询后得到的查询结果。本实施例中,缓存中的数据可以预先从磁盘中获取得到,具体可以包括与多个关键字一一对应的多个数据,一个数据可以基于一个关键字完全匹配得到,也可以基于一个关键字进行模糊匹配得到,终端设备在基于关键字在缓存中进行数据查询时,可以进行完全匹配查询,也可以进行模糊匹配查询。以下将针对不同的情况说明缓存中存储的具体数据以及如何基于关键字在缓存中进行数据查询。在第一种实现方式中,考虑到用户通常会输入本文档来自技高网
...

【技术保护点】
1.一种数据查询方法,包括:/n接收查询请求,所述查询请求中包括用于进行数据查询的关键字;/n基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,所述缓存预先从磁盘中获取与多个关键字一一对应的多个数据,一个数据基于一个关键字进行完全匹配或模糊匹配得到;/n若所述缓存中包括所述目标数据,则返回所述目标数据;/n若所述缓存中不包括所述目标数据,则在所述磁盘中查询与所述关键字对应的目标数据。/n

【技术特征摘要】
1.一种数据查询方法,包括:
接收查询请求,所述查询请求中包括用于进行数据查询的关键字;
基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,所述缓存预先从磁盘中获取与多个关键字一一对应的多个数据,一个数据基于一个关键字进行完全匹配或模糊匹配得到;
若所述缓存中包括所述目标数据,则返回所述目标数据;
若所述缓存中不包括所述目标数据,则在所述磁盘中查询与所述关键字对应的目标数据。


2.如权利要求1所述的方法,其特征在于,
所述关键字包括机构标识,所述缓存中包括基于多个机构表的表名和所述多个机构表中多个机构标识得到的多个哈希值,以及所述多个机构表中与所述多个机构标识对应的多行数据,所述多个哈希值和所述多行数据以key-value的形式存储在所述缓存中,一行数据中包括一个机构的相关信息,且,所述多行数据的查询频率或次数大于设定阈值;
其中,基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,包括:
确定与所述机构标识对应的目标哈希值;
根据所述目标哈希值,在所述多行数据中查找是否存在与所述目标哈希值对应的一行目标数据。


3.如权利要求1所述的方法,其特征在于,
所述关键字包括机构名称中的部分名称,所述缓存中包括多个部分名称和与所述多个部分名称对应的多个json串,所述多个部分名称和所述多个json串以key-value的形式存储在所述缓存中,一个json串中包括机构表中的多行数据,所述多行数据通过对一个部分名称进行模糊匹配得到,且一行数据中包括一个机构的相关信息;
其中,基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,包括:
根据所述部分名称,在所述多个json串中查找是否存在与所述部分名称对应的目标json串。


4.如权利要求1所述的方法,其特征在于,
所述关键字包括机构编码中的第一部分编码,所述缓存中包括基于多个第一部分编码得到的多个第一哈希值,以及与所述多个第一哈希值对应的多个第一json串,所述多个第一哈希值和所述多个第一json串以key-value的形式存储在所述缓存中,一个第一json串中包括机构表中的多行数据,所述多行数据通过对一个第一部分编码进行模糊匹配得到,且一行数据中包括一个机构的相关信息;
其中,基于所述关键字,确定缓存中是否包括与所述关键字对应的目标数据,包括:
确定与所述第一部分编码对应的第一目标哈希值;
根据所述第一目标哈希值,在所述多个第一json串中查找是否存在与所述第一目标哈希值对应的第一目标json串。


5.如权利要求4所述的方法,其特征在于,若所述第一json串中存在与所述第一哈希值对应的第一目标json串,则所述方法还包括:
接收二次查询请求,所述二次查询请求由用户在所述第一部分编码中添加其他编码后发送,所述二次查询请求中包括在所述第一部分编码中添加其他编...

【专利技术属性】
技术研发人员:景慎伟赵徽李安清王龙涛
申请(专利权)人:中国人民财产保险股份有限公司
类型:发明
国别省市:北京;11

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

1