[发明专利]数据查询方法及装置、电子设备在审
申请号: | 201710722831.3 | 申请日: | 2017-08-22 |
公开(公告)号: | CN107545050A | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | 周竞 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京博思佳知识产权代理有限公司11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 电子设备 | ||
技术领域
本说明书一个或多个实施例涉及数据库技术领域,尤其涉及一种数据查询方法及装置、电子设备。
背景技术
在应用服务器访问数据库后,通过将查询到的数据存放于应用服务器的本地缓存(cache)中,使得在下一个用于查询同一数据的请求到达应用服务器时,可以直接从本地缓存中获得该数据,而不用再次访问数据库,这大大降低了对数据库的访问量,缓解了数据库的压力。
在一些高并发请求的场景中,可能会出现缓存中的数据失效的现象。当缓存中的数据失效之后,若短时间内收到大量数据查询请求,则会跳过查询缓存的动作而直接执行从数据库中查询数据的操作,这给数据库造成了巨大的压力,甚至造成数据库的崩溃。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种数据查询方法及装置、电子设备。
为实现上述目的,本说明书一个或多个实施例提供的技术方案如下:
在一个方面,提供了一种数据查询方法,包括:
接收用于查询目标数据的请求;
响应于所述请求,在应用服务器缓存中查询与所述目标数据对应的数据查询线程的线程对象,所述数据查询线程用于执行从数据库中查询所述目标数据的操作;
若查询到所述线程对象,从所述应用服务器缓存中读取所述目标数据并返回;
若未查询到所述线程对象,创建所述数据查询线程并将所述数据查询线程的线程对象写入所述应用服务器缓存中;
启动被创建的所述数据查询线程并执行所述操作;
在所述操作被执行成功后,将所述目标数据写入所述应用服务器缓存中。
在另一个方面,提供了一种数据查询装置,包括:接收单元、查询单元、读取单元、创建单元、第一启动单元以及写入单元;
所述接收单元接收用于查询目标数据的请求;
所述查询单元响应于所述请求,在应用服务器缓存中查询与所述目标数据对应的数据查询线程的线程对象,所述数据查询线程用于执行从数据库中查询所述目标数据的操作;
所述读取单元在查询到所述线程对象后,从所述应用服务器缓存中读取所述目标数据并返回;
所述创建单元在未查询到所述线程对象后,创建所述数据查询线程并将所述数据查询线程的线程对象写入所述应用服务器缓存中;
所述第一启动单元启动被创建的所述数据查询线程并执行所述操作;
所述写入单元在所述操作被执行成功后,将所述目标数据写入所述应用服务器缓存中。
在另一个方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
所述处理器被配置为:
接收用于查询目标数据的请求;
响应于所述请求,在应用服务器缓存中查询与所述目标数据对应的数据查询线程的线程对象,所述数据查询线程用于执行从数据库中查询所述目标数据的操作;
若查询到所述线程对象,从所述应用服务器缓存中读取所述目标数据并返回;
若未查询到所述线程对象,创建所述数据查询线程并将所述数据查询线程的线程对象写入所述应用服务器缓存中;
启动被创建的所述数据查询线程并执行所述操作;
在所述操作被执行成功后,将所述目标数据写入所述应用服务器缓存中。
通过以上技术方案可以看出,由于数据查询线程被启动之后,与该线程对应的查询所述目标数据的操作仅被成功执行一次,在执行成功之后会将所述目标数据写入所述应用服务器缓存中。在后续接收到其他用于查询该目标数据的请求后,可以直接从缓存中读取所述目标数据,而避免去数据库查询目标数据,从而缓解了在高并发请求的场景中因缓存中的数据失效而给数据库造成的压力。
附图说明
图1示出了一种示例性的系统架构图;
图2示出了一示例性实施例提供的一种数据查询方法的流程图;
图3示出了应对高并发查询请求的处理过程;
图4示出了一示例性实施例提供的另一种数据查询方法的流程图;
图5示出了一示例性实施例提供的一种数据查询装置的模块图;
图6示出了一示例性实施例提供的另一种数据查询装置的模块图;
图7示出了一示例性实施例提供的一种电子设备的结构。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710722831.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置