The invention discloses a method and device for dynamically controlling data access, which relates to the field of computer technology. One specific implementation of the method includes: receiving a user's data access request; determining whether the user's identity corresponds to the current response range; rejecting the user's data access request when the user's identity does not correspond to the previous response range; otherwise responding to the user's data access request and returning the corresponding data; in which, when responding to the user's data access request, When the corresponding data exists in the cache, the corresponding data is read from the cache, otherwise the corresponding data is read from the database and stored in the cache. The invention adopts the technical means of dynamically controlling data access according to the system load or human needs, can preheat the cache, and improves the stability of the system operation and user experience.
【技术实现步骤摘要】
一种动态控制数据访问的方法和装置
本专利技术涉及计算机
,尤其涉及一种动态控制数据访问方法、装置、电子设备和计算机可读介质。
技术介绍
因为业务功能的部署,有时会遇到用户数据访问量瞬时激增的情况,此时大量用户请求同时访问数据库,造成数据库连接数暴涨,甚至会引发线程卡断,导致服务堵塞,接口无法响应,系统瘫痪;有时因为系统故障重启,缓存中没有相应数据,也会导致数据库瞬时访问压力过大,有可能会造成系统再次崩溃,用户体验极差。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:如果保证核心业务,系统降级运行,关闭辅助业务,虽然降低了服务的多样性,但对数据库的访问冲击并不会下降很多,且因缓存中没有辅助业务的相应数据,当辅助业务开启时,有可能同样会造成瞬时访问量激增的情况,降低用户体验;可提前将数据导入缓存中,对缓存进行预热,但并不能准确判断已导入缓存的数据是否是用户访问所需的,若导入量过大又会对缓存造成压力,影响系统性能。
技术实现思路
有鉴于此,本专利技术实施例提供一种动态控制数据访问方法、装置、电子设备和计算机可读介质,能够根据系统负载动态控制数据访问量,可使数据被平缓地导入至缓存中,控制数据库并发读取数据的操作的数量,根据系统运行情况减少或恢复数据库的数据访问量,提升系统在高数据访问量下运行的稳定性,提高用户体验。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种动态控制数据访问的方法,其特征在于,包括:接收用户的数据访问请求;确定所述用户的标识是否对应所述当前响应范围;当该用户的标识不对应所述当前响应范围时,则拒绝该用户的数据访问请求 ...
【技术保护点】
1.一种动态控制数据访问的方法,其特征在于,包括:接收用户的数据访问请求;确定所述用户的标识是否对应当前响应范围;当该用户的标识不对应所述当前响应范围时,则拒绝该用户的数据访问请求,否则响应该用户的数据访问请求并返回相应数据;其中,在响应所述用户的数据访问请求时,当缓存中存在所述相应数据,则从所述缓存中读取所述相应数据,否则从数据库读取所述相应数据,以及将该数据存储于所述缓存。
【技术特征摘要】
1.一种动态控制数据访问的方法,其特征在于,包括:接收用户的数据访问请求;确定所述用户的标识是否对应当前响应范围;当该用户的标识不对应所述当前响应范围时,则拒绝该用户的数据访问请求,否则响应该用户的数据访问请求并返回相应数据;其中,在响应所述用户的数据访问请求时,当缓存中存在所述相应数据,则从所述缓存中读取所述相应数据,否则从数据库读取所述相应数据,以及将该数据存储于所述缓存。2.根据权利要求1所述的方法,其特征在于,确定所述用户的标识是否对应所述当前响应范围包括:根据该用户的标识和预定的映射方法计算该用户的响应值,当该响应值不在所述当前响应范围内,则判定所述用户的标识不对应所述当前响应范围,否则判定所述用户的标识对应所述当前响应范围。3.根据权利要求2所述的方法,其特征在于,所述当前响应范围是区间[0,k),k是1-100之间的整数,实现所述预设的映射方法包括哈希函数,其中,所述哈希函数被构造成使得所述响应值是在0-99之间的整数。4.根据权利要求1所述的方法,其特征在于,所述用户的标识包括:用户的UUID或用户的位置信息。5.根据权利要求1所述的方法,其特征在于,所述当前响应范围根据系统负载动态调整或根据设定值确定。6.一种动态控制数据访问的装置,其特征在于,包括:后台配置模块,用于接收当前响应范围;实时接口服务模块,用于确定所述用户的标识是否对应所述当前响应范围;当该用户的标识不对应所述当前响应范围时,则拒绝该用户的数据访问请求,否则响应该用户的数据访问请求并返回相应数据,其中,所述实时接口服务模块还包括缓存单...
【专利技术属性】
技术研发人员:马艳,刘彧,吴骏宇,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。