[发明专利]数据查询方法、装置和服务器在审
申请号: | 201911124424.8 | 申请日: | 2019-11-15 |
公开(公告)号: | CN110837521A | 公开(公告)日: | 2020-02-25 |
发明(设计)人: | 金玉玮 | 申请(专利权)人: | 北京金山云网络技术有限公司;北京金山云科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 张萌 |
地址: | 100000 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 服务器 | ||
本发明提供了一种数据查询方法、装置和服务器,涉及数据库技术领域,该方法包括响应针对目标数据的多个服务请求,查询第一缓存器中是否存储有该目标数据;如果未在第一缓存器中查询到该目标数据,从上述多个服务请求中确定一个服务请求,通过确定的服务请求向预设的数据库查询该目标数据;如果从数据库查询不到该目标数据,从上述第二缓存器中查询该目标数据。本发明通过设置多级缓存机制,在查询数据库之前,优先查询第一缓存器,减少了同一时刻对数据库的访问量;并且,在向数据库查询失败时,还可以向第二缓存器查询,缓解了数据库服务不可用的情况下,用户请求失败的问题,提升了数据库的服务质量。
技术领域
本发明涉及数据库技术领域,尤其是涉及一种数据查询方法、装置和服务器。
背景技术
MySQL是目前最流行的关系型数据库管理系统,可以提供千亿级别流量的访问请求,并可以提供基于事务的数据处理功能。而容错是允许系统出现某些特定的硬件故障或软件错误,使系统仍然能够执行规定的一组程序,其本质上是关于冗余及其管理、故障检测与诊断和系统状态的维护与恢复。
目前,在MySQL响应高并发查询请求查询时,首先会从缓存中进行查找,如果在缓存中未查询到目标数据,则会继续查询MySQL数据库,而大量的请求将会给MySQL造成较大的冲击;对此,通常的容错方式是增加一层缓存,以减少查询MySQL数据库的次数。但是,在MySQL服务不可用时,例如MySQL响应时间长或返回报错的情况下,这种方式仍会导致查询请求失败。并且,在请求失败的情况下,通常会增加请求重试次数,从而导致请求倍增,这也势必进一步恶化MySQL的查询负担,降低数据库的服务质量。
发明内容
有鉴于此,本发明的目的在于提供一种数据查询方法、装置和服务器,可以在服务器缓存失效时,降低大量服务请求对数据库的冲击,以及缓解数据库服务不可用时,用户请求失败的问题,从而提升数据库的服务质量。
第一方面,本发明实施例提供了一种数据查询方法,应用于服务器,该服务器包括第一缓存器和第二缓存器;该第一缓存器中数据的存储时长,小于第二缓存器中数据的存储时长;该方法包括:响应针对目标数据的多个服务请求,查询第一缓存器中是否存储有该目标数据;如果未在第一缓存器中查询到该目标数据,从上述多个服务请求中确定一个服务请求,通过确定的服务请求向预设的数据库查询该目标数据;如果从数据库查询不到该目标数据,从上述第二缓存器中查询该目标数据。
在本发明较佳的实施例中,上述从多个服务请求中确定一个服务请求,通过确定的该服务请求向预设的数据库查询该目标数据的步骤,包括:在上述多个服务请求中,锁定最早到达服务器的服务请求;通过锁定的服务请求向预设的数据库查询该目标数据;禁止除锁定的服务请求以外的服务请求向该数据库查询该目标数据。
在本发明较佳的实施例中,该方法还包括:如果通过锁定的服务请求向预设的数据库查询到该目标数据,解除锁定上述锁定的服务请求,将该目标数据更新至第一缓存器和第二缓存器;除锁定的服务请求以外的服务请求从第一缓存器中查询该目标数据。
在本发明较佳的实施例中,上述如果从数据库查询不到该目标数据,从第二缓存器中查询该目标数据的步骤,包括:如果向数据库查询该目标数据的时长超过预设时长,或者,接收到该数据库返回的查询报错信息,确认从该数据库查询不到该目标数据;从第二缓存器中查询该目标数据。
在本发明较佳的实施例中,上述确认从数据库查询不到该目标数据的步骤之后,该方法包括:在第一缓存器中,设置与该目标数据相关联的空数据标识;该空数据标识用于指示:从数据库查询不到该目标数据;上述如果未在第一缓存器中查询到该目标数据,从多个服务请求中确定一个服务请求,通过确定的服务请求向预设的数据库查询该目标数据的步骤,包括:如果未在第一缓存器中查询到该目标数据,且没有查询到与该目标数据相关联的空数据标识,从上述多个服务请求中确定一个服务请求,通过确定的该服务请求向预设的数据库查询该目标数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司;北京金山云科技有限公司,未经北京金山云网络技术有限公司;北京金山云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911124424.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置