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

技术编号:27449462 阅读:23 留言:0更新日期:2021-02-25 04:26
本申请实施例提供了一种数据查询方法及装置,该方法包括:接收客户端发送的目标数据的数据查询请求;其中,数据查询请求中携带有目标数据的数据标识信息;查询缓存服务端是否存在与数据标识信息相对应的缓存数据;若不存在,判断缓存服务端是否存在与所述数据标识信息相对应的数据回溯任务;若缓存服务端存在与数据标识信息相对应的数据回溯任务,则等待数据回溯任务的查询结果;否则,创建数据标识信息所对应的数据回溯任务,执行并缓存所创建的数据回溯任务。本申请实施例中,可以避免针对相同的数据查询请求创建重复的数据回溯任务,从而可以减少源数据空间的并发请求量,缓解源数据空间的数据查询压力。数据空间的数据查询压力。数据空间的数据查询压力。

【技术实现步骤摘要】
一种数据查询方法及装置


[0001]本申请涉及数据处理
,尤其涉及一种数据查询方法及装置。

技术介绍

[0002]随着计算机和互联网技术的发展,处理高并发的用户请求以成为构建大规模的互联网应用时必须要解决的一个现实问题。在高并发环境下、大量的读或者写请求涌向数据空间,为了解决高并发场景下数据空间响应延迟的问题,缓存这一技术营运而生。
[0003]所谓缓存,则是将一部分数据更新至缓存中,这样,在接收到用户发送的数据查询请求后,先检测缓存中是否存在需要查询的数据,若存在,则直接返回缓存数据。若是缓存中不存在,则再从数据库中获取数据。这样,可以减少高并发场景下涌向数据库的请求量。但是,对于大型的互联网应用而言,在大量的并发场景下,可能会存在大量的并发请求缓存穿透的情况,从而导致大量的请求穿透至数据库,进而导致数据空间出现超负载的情况、响应时间延长、数据库压力大等问题。
[0004]因此,亟需提出一种技术方案,以解决现有技术中在高并发请求下,可能会存在大量的请求穿透至数据库,进而导致数据空间出现超负载的情况、响应时间延长、数据库压力大等问题。
[0005]申请内容
[0006]本申请实施例采用下述技术方案:
[0007]本申请实施例提供一种数据查询方法,应用于缓存服务端,所述方法包括:
[0008]接收客户端发送的目标数据的数据查询请求;其中,所述数据查询请求中携带有所述目标数据的数据标识信息;
[0009]查询所述缓存服务端是否存在与所述数据标识信息相对应的缓存数据;
[0010]若所述缓存服务端不存在与所述数据标识信息相对应的缓存数据,判断所述缓存服务端是否存在与所述数据标识信息相对应的数据回溯任务;其中,所述数据回溯任务用于从源数据空间查询所述目标数据;
[0011]若所述缓存服务端存在与所述数据标识信息相对应的数据回溯任务,则等待所述数据回溯任务的查询结果;否则,创建所述数据标识信息所对应的数据回溯任务,执行并缓存所创建的所述数据回溯任务。
[0012]可选的,所述方法还包括:
[0013]若所述缓存服务端中存在所述数据标识信息所对应的缓存数据,检测所述缓存数据所对应的源数据是否已经被删除;
[0014]若是,向所述客户端返回数据不存在的提示信息;否则,向所述客户端返回所述缓存数据。
[0015]可选的,所述向所述客户端返回所述缓存数据之后,所述方法包括:
[0016]判断所述缓存数据的查询频率是否大于或等于第一预设频率值;
[0017]若是所述查询频率大于或等于所述第一预设频率值,则检测所述缓存数据的剩余
有效时长是否小于或等于第一预设时间长度;
[0018]若是所述剩余有效时长小于或等于所述第一预设时间长度,则执行重新缓存所述缓存数据的操作。
[0019]可选的,所述缓存服务端中所缓存的各个所述缓存数据的失效时刻点分散设置在预设时长区间内。
[0020]可选的,所述方法还包括:
[0021]对所执行的所述数据回溯任务的数量进行计数;
[0022]若是计数结果指示单位时间内并行执行的所述数据回溯任务的数量达到预设阈值,则停止创建数据回溯任务。
[0023]可选的,所述方法还包括:
[0024]针对查询频率大于或等于第二预设频率值、且在所述源数据空间中不存在的目标源数据,在缓存服务端缓存所述目标源数据,并将所述目标源数据所对应的缓存数据的状态标记为在所述源数据空间不存在。
[0025]可选的,若所述缓存服务端存在与所述数据标识信息相对应的数据回溯任务,所述方法还包括:
[0026]检测在第二预设时间长度内是否获取到所述数据回溯任务所对应的查询结果;
[0027]若是,则将所述查询结果所对应的源数据返回给所述客户端;否则创建所述数据标识信息所对应的数据回溯任务,执行并缓存所创建的所述数据回溯任务。
[0028]本申请实施例还提供了一种数据查询装置,应用于缓存服务端,所述装置包括:
[0029]接收模块,用于接收客户端发送的目标数据的数据查询请求;其中,所述数据查询请求中携带有所述目标数据的数据标识信息;
[0030]查询模块,用于查询所述缓存服务端是否存在与所述数据标识信息相对应的缓存数据;
[0031]第一判断模块,用于若所述缓存服务端不存在与所述数据标识信息相对应的缓存数据,判断所述缓存服务端是否存在与所述数据标识信息相对应的数据回溯任务;其中,所述数据回溯任务用于从源数据空间查询所述目标数据;
[0032]第一执行模块,用于若所述缓存服务端存在与所述数据标识信息相对应的数据回溯任务,则等待所述数据回溯任务的查询结果;否则,创建所述数据标识信息所对应的数据回溯任务,执行并缓存所创建的所述数据回溯任务。
[0033]本申请实施例还提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述任一所述的方法步骤。
[0034]本申请实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
[0035]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0036]采用本申请实施例提供的技术方案,在接收到客户端发送的数据查询请求后,首先查询缓存服务端是否存在该数据查询请求所对应的缓存数据;若是不存在,则判断缓存服务端是否存在与该查询请求相对应的数据回溯任务,若是,则等待该数据回溯任务的查
询结果即可,不必再创建新的数据回溯任务;若是缓存服务端不存在与该查询请求向对应的数据回溯任务时,再创建针对该数据查询请求的数据回溯任务;这样,可以避免针对相同的数据查询请求创建重复的数据回溯任务,从而可以减少源数据空间的并发请求量,缓解源数据空间的数据查询压力。
附图说明
[0037]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0038]图1为本申请实施例提供的数据查询方法的应用场景示意图;
[0039]图2为本申请实施例提供的数据查询方法的第一种流程示意图;
[0040]图3为本申请实施例提供的数据查询方法的第二种流程示意图;
[0041]图4为本申请实施例提供的数据查询装置的模块组成示意图;
[0042]图5为本申请实施例提供的网络设备的模块组成示意图。
具体实施方式
[0043]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,应用于缓存服务端,其特征在于,所述方法包括:接收客户端发送的目标数据的数据查询请求;其中,所述数据查询请求中携带有所述目标数据的数据标识信息;查询所述缓存服务端是否存在与所述数据标识信息相对应的缓存数据;若所述缓存服务端不存在与所述数据标识信息相对应的缓存数据,判断所述缓存服务端是否存在与所述数据标识信息相对应的数据回溯任务;其中,所述数据回溯任务用于从源数据空间查询所述目标数据;若所述缓存服务端存在与所述数据标识信息相对应的数据回溯任务,则等待所述数据回溯任务的查询结果;否则,创建所述数据标识信息所对应的数据回溯任务,执行并缓存所创建的所述数据回溯任务。2.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述缓存服务端中存在所述数据标识信息所对应的缓存数据,检测所述缓存数据所对应的源数据是否已经被删除;若是,向所述客户端返回数据不存在的提示信息;否则,向所述客户端返回所述缓存数据。3.如权利要求2所述的方法,其特征在于,所述向所述客户端返回所述缓存数据之后,所述方法包括:判断所述缓存数据的查询频率是否大于或等于第一预设频率值;若是所述查询频率大于或等于所述第一预设频率值,则检测所述缓存数据的剩余有效时长是否小于或等于第一预设时间长度;若是所述剩余有效时长小于或等于所述第一预设时间长度,则执行重新缓存所述缓存数据的操作。4.如权利要求3所述的方法,其特征在于,所述缓存服务端中所缓存的各个所述缓存数据的失效时刻点分散设置在预设时长区间内。5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:对所执行的所述数据回溯任务的数量进行计数;若是计数结果指示单位时间内并行执行的所述数据回溯任务的数量达到预设阈值,则停止创建数据回溯任务。6.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:针对查询频...

【专利技术属性】
技术研发人员:丁骆锋
申请(专利权)人:杭州萤石软件有限公司
类型:发明
国别省市:

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

1