用于查询数据的方法和装置制造方法及图纸

技术编号:25708565 阅读:16 留言:0更新日期:2020-09-23 02:55
本公开的实施例公开了用于查询数据的方法和装置。该方法的一具体实施方式包括:接收数据获取请求,其中,该数据获取请求中包括待获取数据的键值;基于该数据获取请求,确定本地哈希表缓存中是否存在与该待获取数据的键值匹配的数据;响应于确定该本地哈希表缓存中存在与该待获取数据的键值匹配的数据,发送该匹配的数据。该实施方式利用本地哈希表缓存实现了数据的高效稳定存取。

【技术实现步骤摘要】
用于查询数据的方法和装置
本公开的实施例涉及计算机
,具体涉及用于查询数据的方法和装置。
技术介绍
随着计算机技术和互联网的发展,数据的规模也越来越大。计算机应用系统在运行过程中往往需要读取大量的配置数据,而配置信息通常都持久化在数据库系统。现有技术通常是采用实时读取或采用缓存集群的方式进行数据的存取,导致在大规模数据读取时资源开销过大或在配置更新后需要复杂的策略来保证分布式缓存的数据一致性。
技术实现思路
为了解决大规模数据高效稳定存取的问题,本公开的实施例提出了用于查询数据的方法和装置。第一方面,本公开的实施例提供了一种用于查询数据的方法,该方法包括:接收数据获取请求,其中,数据获取请求中包括待获取数据的键值(key-value);基于数据获取请求,确定本地哈希表缓存中是否存在与待获取数据的键值匹配的数据;响应于确定本地哈希表缓存中存在与待获取数据的键值匹配的数据,发送匹配的数据。在一些实施例中,上述数据获取请求中还包括获取数据的回调函数,上述回调函数用于获取与数据获取请求对应的数据;以及该方法还包括:响应于确定本地哈希表缓存中不存在与待获取数据的键值匹配的数据,调用回调函数。在一些实施例中,该方法还包括:确定回调函数是否调用成功;响应于确定回调函数调用成功,确定回调函数返回的结果中是否包括数据获取请求所指示的数据;响应于确定回调函数返回的结果中包括数据获取请求所指示的数据,将数据获取请求所指示的数据存入本地哈希表缓存,以及发送数据获取请求所指示的数据。在一些实施例中,上述本地哈希表缓存中包括键值和对应的数据封装包,上述数据封装包中包括数据到期时间、过期处置类型和数据,过期处置类型包括备份或销毁。在一些实施例中,上述基于数据获取请求,确定本地哈希表缓存中是否存在与待获取数据的键值匹配的数据,包括:从数据获取请求中提取参数进行参数验证;响应于确定参数验证通过,查询本地哈希表缓存中是否存在与待获取数据的键值匹配的值;响应于确定存在匹配的值,根据匹配的值对应的数据到期时间确定匹配的值对应的数据是否过期;响应于确定对应的数据未过期,确定本地哈希表缓存中存在与待获取数据的键值匹配的数据;响应于确定不存在匹配的值或对应的数据已过期,确定本地哈希表缓存中不存在与待获取数据的键值匹配的数据。在一些实施例中,该方法还包括:响应于确定回调函数调用失败或回调函数返回的结果中不包括数据获取请求所指示的数据,确定本地哈希表缓存中不存在与数据的键值匹配的值;响应于确定不存在匹配的值,发送表征待获取数据不存在的返回信息;响应于确定存在匹配的值,获取与匹配的值对应的过期处置类型;响应于确定过期处置类型为备份,发送匹配的值对应的数据;响应于确定过期处置类型为销毁,发送表征待获取数据不存在的返回信息。在一些实施例中,该方法还包括:定期遍历本地哈希表缓存,根据数据到期时间对过期处置类型为销毁的数据进行删除。第二方面,本公开的实施例提供了一种用于查询数据的装置,该装置包括:接收单元,被配置成接收数据获取请求,其中,数据获取请求中包括待获取数据的键值;确定单元,被配置成基于数据获取请求,确定本地哈希表缓存中是否存在与待获取数据的键值匹配的数据;发送单元,被配置成响应于确定本地哈希表缓存中存在与待获取数据的键值匹配的数据,发送匹配的数据。在一些实施例中,上述数据获取请求中还包括获取数据的回调函数,上述回调函数用于获取与数据获取请求对应的数据;以及该装置还包括:调用单元,被配置成响应于确定本地哈希表缓存中不存在与待获取数据的键值匹配的数据,调用回调函数。在一些实施例中,该装置还包括:调用结果确定单元,被配置成确定回调函数是否调用成功;第一调用确定单元,被配置成响应于确定回调函数调用成功,确定回调函数返回的结果中是否包括数据获取请求所指示的数据;第一返回单元,被配置成响应于确定回调函数返回的结果中包括数据获取请求所指示的数据,将数据获取请求所指示的数据存入本地哈希表缓存,以及发送数据获取请求所指示的数据。在一些实施例中,上述本地哈希表缓存中包括键值和对应的数据封装包,上述数据封装包中包括数据到期时间、过期处置类型和数据,上述过期处置类型包括备份或销毁。在一些实施例中,上述确定单元包括:验证模块,被配置成从数据获取请求中提取参数进行参数验证;查询模块,被配置成响应于确定参数验证通过,查询本地哈希表缓存中是否存在与待获取数据的键值匹配的值;第一确定模块,被配置成响应于确定存在匹配的值,根据匹配的值对应的数据到期时间确定匹配的值对应的数据是否过期;第二确定模块,被配置成响应于确定对应的数据未过期,确定本地哈希表缓存中存在与待获取数据的键值匹配的数据;第三确定模块,被配置成响应于确定不存在匹配的值或对应的数据已过期,确定本地哈希表缓存中不存在与待获取数据的键值匹配的数据。在一些实施例中,该装置还包括:第二调用确定单元,被配置成响应于确定回调函数调用失败或回调函数返回的结果中不包括数据获取请求所指示的数据,确定本地哈希表缓存中不存在与数据的键值匹配的值;第二返回单元,被配置成响应于确定不存在匹配的值,发送表征待获取数据不存在的返回信息;获取单元,被配置成响应于确定存在匹配的值,获取与匹配的值对应的过期处置类型;第三返回单元,被配置成响应于确定过期处置类型为备份,发送匹配的值对应的数据;第四返回单元,被配置成响应于确定过期处置类型为销毁,发送表征待获取数据不存在的返回信息。在一些实施例中,该装置还包括:删除单元,被配置成定期遍历本地哈希表缓存,根据数据到期时间对过期处置类型为销毁的数据进行删除。第三方面,本公开的实施例提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。本公开的实施例提供的用于查询数据的方法和装置,通过首先在本地哈希表缓存中查询是否存在与接收的数据获取请求中包括待获取数据的键值匹配的数据,在哈希表中存在匹配的数据时可以直接发送上述匹配的数据,实现了无需每次数据存取均与后端数据库交互。而且通过本地哈希表缓存排除了网络不稳定因素,并可以在配置更改后实现及时应用而无需通过复杂策略保证分布式缓存的一致性,从而利用本地哈希表缓存实现了数据的高效稳定存取。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:图1是本公开的一个实施例可以应用于其中的示例性系统架构图;图2是根据本公开的用于查询数据的方法的一个实施例的流程图;图3是根据本公开的实施例的用于查询数据的方法的一个应用场景的示意图;图4是根据本公开的用于查询数据的方法的又一个实施例的流程图;...

【技术保护点】
1.一种用于查询数据的方法,包括:/n接收数据获取请求,其中,所述数据获取请求中包括待获取数据的键值;/n基于所述数据获取请求,确定本地哈希表缓存中是否存在与所述待获取数据的键值匹配的数据;/n响应于确定所述本地哈希表缓存中存在与所述待获取数据的键值匹配的数据,发送所述匹配的数据。/n

【技术特征摘要】
1.一种用于查询数据的方法,包括:
接收数据获取请求,其中,所述数据获取请求中包括待获取数据的键值;
基于所述数据获取请求,确定本地哈希表缓存中是否存在与所述待获取数据的键值匹配的数据;
响应于确定所述本地哈希表缓存中存在与所述待获取数据的键值匹配的数据,发送所述匹配的数据。


2.根据权利要求1所述的方法,其中,所述数据获取请求中还包括获取数据的回调函数,所述回调函数用于获取与所述数据获取请求对应的数据;以及
所述方法还包括:
响应于确定所述本地哈希表缓存中不存在与所述待获取数据的键值匹配的数据,调用所述回调函数。


3.根据权利要求2所述的方法,其中,所述方法还包括:
确定所述回调函数是否调用成功;
响应于确定所述回调函数调用成功,确定所述回调函数返回的结果中是否包括所述数据获取请求所指示的数据;
响应于确定所述回调函数返回的结果中包括所述数据获取请求所指示的数据,将所述数据获取请求所指示的数据存入所述本地哈希表缓存,以及发送所述数据获取请求所指示的数据。


4.根据权利要求2所述的方法,其中,所述本地哈希表缓存中包括键值和对应的数据封装包,所述数据封装包中包括数据到期时间、过期处置类型和数据,所述过期处置类型包括备份或销毁。


5.根据权利要求4所述的方法,其中,所述基于所述数据获取请求,确定本地哈希表缓存中是否存在与所述待获取数据的键值匹配的数据,包括:
从所述数据获取请求中提取参数进行参数验证;
响应于确定所述参数验证通过,查询所述本地哈希表缓存中是否存在与所述待获取数据的键值匹配的值;
响应于确定存在所述匹配的值,根据所述匹配的值对应的数据到期时间确定所述匹配的值对应的数据是否过期;
响应于确定所述对应的数据未过期,确定所述本地哈希表缓存中存在与所述待获取数据的键值匹配的数据;
响应于确定不存在所述匹配的值或所述对应的数据已过期,确定所述本地哈希表缓存中不存在与所述待获取数据的键值匹配的数据。


6.根据权利要求4所述的方法,其中,所述方法还包括:
响应于确定所述回调函数调用失败或所述回调函数返回的结果中不包括所述数据获取请求所指示的数据,确定所述本地哈希表缓存中不存在与所述数据的键值匹配的值;
响应于确定不存在所述匹配的值,发送表征待获取数据不存在的返回信息;
响应于确定存在所述匹配的值,获取与所述匹配的值对应的过期处置类型;
响应于确定所述过期处置类型为备份,发送所述匹配的值对应的数据;
响应于确定所述过期处置类型为销毁,发送表征待获取数据不存在的返回信息。


7.根据权利要求4-6之一所述的方法,其中,所述方法还包括:
定期遍历所述本地哈希表缓存,根据所述数据到期时间对过期处置类型为销毁的数据进行删除。


8.一种用于查询数据的装置,包括:
接收单元,被配置成接收数据获取请求,其中,所述数据获取请求中包括待获取数据的键值;
确定单元,被配置成基于所述数据获取请求,确定本地哈希表缓存中是否存在与所述待获取数据的键值匹配的数据...

【专利技术属性】
技术研发人员:高雪松
申请(专利权)人:北京同邦卓益科技有限公司
类型:发明
国别省市:北京;11

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

1