数据访问方法及设备技术

技术编号:17007598 阅读:57 留言:0更新日期:2018-01-11 03:55
本发明专利技术提供了一种数据访问方法及设备,本发明专利技术结合集中式数据库+集中式内存缓存+本地内存缓存+本地文件缓存,避免数据集中访问时不稳定和数据访问量大时的性能差的问题,保证当集中式数据库、集中式内存缓存出现宕机时不影响整体数据访问服务,从而降低了整体的请求访问耗时,尤其在读取数据量大小超过10KB的情况下,性能提升明显,并提高了系统承载能力,还提升了系统的稳定性,在集中式数据库、集中式内存缓存都出现问题的情况下,系统也能保证数据访问无误差问题和长时间的可用访问。本申请适用于PHP语言环境需要数据访问要求高并发、高性能和高可用性的场景。另外,通过比较版本号,可以避免数据读取不一致的问题。

【技术实现步骤摘要】
数据访问方法及设备
本专利技术涉及一种数据访问方法及设备。
技术介绍
现有PHP(HypertextPreprocessor,“超文本预处理器”)环境缓存系统,主要有两种模式:(1)数据库+集中式内存缓存,原理是将一部分会高频访问的数据缓存至访问速度更快的集中式内存缓存中,而存在的问题是如果数据过于集中,会把集中式内存缓存击垮,并且如果写的数据量大,会导致整体集中式内存缓存的性能降低;(2)数据库+本地内存缓存,原理是将一部分会高频访问的数据缓存至每台机器的本地内存缓存中,存在的问题是如果分布式环境中,会出现同一请求至不同机器的本地内存缓存,会产生读取到数据不一致的问题。
技术实现思路
本专利技术的目的在于提供一种数据访问方法,能够解决避免数据集中访问时不稳定和数据访问量大时的性能差的问题。为解决上述问题,本专利技术提供一种数据访问方法,包括:接收读请求,判断集中式内存缓存的访问失败次数是否超过预设阈值,若未超过,则从所述集中式内存缓存中读取对应于所述读请求的数据;若超过,则从本地内存缓存中读取对应于所述读请求的数据;若从本地内存缓存中读取对应于所述读请求的数据失败,则判断集中式数据库的本文档来自技高网...
数据访问方法及设备

【技术保护点】
一种数据访问方法,其特征在于,包括:接收读请求,判断集中式内存缓存的访问失败次数是否超过预设阈值,若未超过,则从所述集中式内存缓存中读取对应于所述读请求的数据;若超过,则从本地内存缓存中读取对应于所述读请求的数据;若从本地内存缓存中读取对应于所述读请求的数据失败,则判断集中式数据库的访问失败次数是否超过预设阈值,若未超过,则从所述集中式数据库读取对应于所述读请求的数据;若超过,则从本地文件缓存中读取对应于所述读请求的数据。

【技术特征摘要】
1.一种数据访问方法,其特征在于,包括:接收读请求,判断集中式内存缓存的访问失败次数是否超过预设阈值,若未超过,则从所述集中式内存缓存中读取对应于所述读请求的数据;若超过,则从本地内存缓存中读取对应于所述读请求的数据;若从本地内存缓存中读取对应于所述读请求的数据失败,则判断集中式数据库的访问失败次数是否超过预设阈值,若未超过,则从所述集中式数据库读取对应于所述读请求的数据;若超过,则从本地文件缓存中读取对应于所述读请求的数据。2.如权利要求1所述的数据访问方法,其特征在于,所述方法,还包括:将集中式内存缓存的访问失败次数和/或集中式数据库的访问失败次数记录于所述本地内存缓存中。3.如权利要求1或2所述的数据访问方法,其特征在于,从所述集中式数据库读取对应于所述读请求的数据之后,还包括:若从所述集中式数据库读取对应于所述读请求的数据失败,则从本地文件缓存中读取对应于所述读请求的数据。4.如权利要求1或2所述的数据访问方法,其特征在于,从所述集中式内存缓存中读取对应于所述读请求的数据,包括:分别从所述本地内存缓存和集中式内存缓存中读取对应于所述读请求的数据的版本号,若从所述本地内存缓存读取到的版本号小于从所述集中式内存缓存中读取到的版本号,则从所述集中式内存缓存中读取对应于所述读请求的数据;若从所述本地内存缓存读取到的版本号大于等于从所述集中式内存缓存中读取到的版本号,则从所述本地内存缓存中读取对应于所述读请求的数据。5.如权利要求4所述的数据访问方法,其特征在于,若从所述本地内存缓存读取到的版本号小于从所述集中式内存缓存中读取到的版本号,则从所述集中式内存缓存中读取对应于所述读请求的数据之后,还包括:将从所述集中式内存缓存中读取对应于所述读请求的数据和对应的版本号,写入所述本地内存缓存中。6.如权利要求4所述的数据访问方法,其特征在于,若从所述本地内存缓存读取到的版本号大于等于从所述集中式内存缓存中读取到的版本号,则从所述本地内存缓存中读取对应于所述读请求的数据之后,还包括:将从所述本地内存缓存中读取对应于所述读请求的数据和对应的版本号,写入所述集中式内存缓存中。7.如权利要求1所述的数据访问方法,其特征在于,若未超过,则从所述集中式数据库读取对应于所述读请求的数据之后,还包括:若从所述集中式数据库读取对应于所述读请求的数据成功,则将从所述集中式数据库中读取对应于所述读请求的数据和对应的版本号,分别写入所述本地内存缓存和集中式内存缓存中。8.如权利要求1所述的数据访问方法,其特征在于,所述本地文件缓存中的数据为每隔预设时间由所述集中式数据库导出。9.一种数据访问设备,其特征在于,包括:第一判断...

【专利技术属性】
技术研发人员:邱亮史团委
申请(专利权)人:上海幻电信息科技有限公司
类型:发明
国别省市:上海,31

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

1