[发明专利]数据访问方法及设备有效
申请号: | 201710726054.X | 申请日: | 2017-08-22 |
公开(公告)号: | CN107562829B | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 邱亮;史团委 | 申请(专利权)人: | 上海幻电信息科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/23;G06F16/21;G06F16/172 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王勇 |
地址: | 201203 上海市浦东新区(上海)自*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 访问 方法 设备 | ||
本发明提供了一种数据访问方法及设备,本发明结合集中式数据库+集中式内存缓存+本地内存缓存+本地文件缓存,避免数据集中访问时不稳定和数据访问量大时的性能差的问题,保证当集中式数据库、集中式内存缓存出现宕机时不影响整体数据访问服务,从而降低了整体的请求访问耗时,尤其在读取数据量大小超过10KB的情况下,性能提升明显,并提高了系统承载能力,还提升了系统的稳定性,在集中式数据库、集中式内存缓存都出现问题的情况下,系统也能保证数据访问无误差问题和长时间的可用访问。本申请适用于PHP语言环境需要数据访问要求高并发、高性能和高可用性的场景。另外,通过比较版本号,可以避免数据读取不一致的问题。
技术领域
本发明涉及一种数据访问方法及设备。
背景技术
现有PHP(Hypertext Preprocessor,“超文本预处理器”)环境缓存系统,主要有两种模式:
(1)数据库+集中式内存缓存,原理是将一部分会高频访问的数据缓存至访问速度更快的集中式内存缓存中,而存在的问题是如果数据过于集中,会把集中式内存缓存击垮,并且如果写的数据量大,会导致整体集中式内存缓存的性能降低;
(2)数据库+本地内存缓存,原理是将一部分会高频访问的数据缓存至每台机器的本地内存缓存中,存在的问题是如果分布式环境中,会出现同一请求至不同机器的本地内存缓存,会产生读取到数据不一致的问题。
发明内容
本发明的目的在于提供一种数据访问方法,能够解决避免数据集中访问时不稳定和数据访问量大时的性能差的问题。
为解决上述问题,本发明提供一种数据访问方法,包括:
接收读请求,判断集中式内存缓存的访问失败次数是否超过预设阈值,
若未超过,则从所述集中式内存缓存中读取对应于所述读请求的数据;
若超过,则从本地内存缓存中读取对应于所述读请求的数据;
若从本地内存缓存中读取对应于所述读请求的数据失败,则判断集中式数据库的访问失败次数是否超过预设阈值,
若未超过,则从所述集中式数据库读取对应于所述读请求的数据;
若超过,则从本地文件缓存中读取对应于所述读请求的数据。
进一步的,在上述方法中,所述方法,还包括:
将集中式内存缓存的访问失败次数和/或集中式数据库的访问失败次数记录于所述本地内存缓存中。
进一步的,在上述方法中,从所述集中式数据库读取对应于所述读请求的数据之后,还包括:
若从所述集中式数据库读取对应于所述读请求的数据失败,则从本地文件缓存中读取对应于所述读请求的数据。
进一步的,在上述方法中,从所述集中式内存缓存中读取对应于所述读请求的数据,包括:
分别从所述本地内存缓存和集中式内存缓存中读取对应于所述读请求的数据的版本号,
若从所述本地内存缓存读取到的版本号小于从所述集中式内存缓存中读取到的版本号,则从所述集中式内存缓存中读取对应于所述读请求的数据;
若从所述本地内存缓存读取到的版本号大于等于从所述集中式内存缓存中读取到的版本号,则从所述本地内存缓存中读取对应于所述读请求的数据。
进一步的,在上述方法中,若从所述本地内存缓存读取到的版本号小于从所述集中式内存缓存中读取到的版本号,则从所述集中式内存缓存中读取对应于所述读请求的数据之后,还包括:
将从所述集中式内存缓存中读取对应于所述读请求的数据和对应的版本号,写入所述本地内存缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海幻电信息科技有限公司,未经上海幻电信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710726054.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多源海事信息搜索与冲突处理系统及方法
- 下一篇:一种应用推荐方法及应用服务器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置