一种数据请求处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:26715614 阅读:19 留言:0更新日期:2020-12-15 14:09
本发明专利技术公开了一种数据请求处理方法、装置、计算机设备及存储介质,该方法包括:通过至少一个代理增强节点接收数据请求方发送的针对目标数据的第一数据访问请求,所述至少一个代理增强节点中存储有热点缓存数据;当所述热点缓存数据中存在与目标数据相匹配的目标热点缓存数据时,读取该目标热点缓存数据;通过至少一个代理增强节点将读取的目标热点缓存数据返回给数据请求方;当所述热点缓存数据中不存在与目标数据相匹配的目标热点缓存数据时,通过至少一个代理增强节点将第一数据访问请求发送给缓存集群,由缓存集群确定第一数据访问请求的请求结果。本发明专利技术避免了缓存集群中单节点的CPU和网络压力过大,确保了缓存集群正常提供服务。

【技术实现步骤摘要】
一种数据请求处理方法、装置、计算机设备及存储介质
本专利技术涉及计算机
,特别涉及一种数据请求处理方法、装置、计算机设备及存储介质。
技术介绍
网络游戏也称在线游戏,一般指多名玩家透过计算机互联网进行交互娱乐的电子游戏。其中,大型多人在线角色扮演游戏(MassiveMultiplayerOnlineRole-PlayingGame,简称为MMORPG)是电子角色扮演游戏按电子游戏人数分类分别出来的一种网络游戏。在所有MMORPG中,玩家都可扮演一个或多个虚拟角色,并控制该角色在游戏的虚拟世界中进行活动与行为。MMORPG中的游戏玩家数量庞大,游戏数据具有读多写少的特性,游戏数据库的读写能力难以满足高并发的数据访问请求,因此通常在游戏数据库的前端引入分布式缓存集群,将游戏数据缓存于分布式缓存集群中,数据访问请求转发至分布式缓存集群中处理,避免了由于请求直接冲击游戏数据库而导致的数据库崩溃。然而相关技术中,高并发的热点数据请求对于分布式缓存集群的冲击会导致集群中单点的CPU与网络压力过大,进而导致缓存服务瘫痪。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种数据请求处理方法、装置、计算机设备及存储介质。所述技术方案如下:一方面,提供了一种数据请求处理方法,所述方法包括:通过至少一个代理增强节点接收数据请求方发送的针对目标数据的第一数据访问请求,所述至少一个代理增强节点中存储有热点缓存数据,所述热点缓存数据是指缓存集群中属于热点数据类型的缓存数据;当所述热点缓存数据中存在与所述目标数据相匹配的目标热点缓存数据时,读取所述目标热点缓存数据;通过所述至少一个代理增强节点将读取的所述目标热点缓存数据返回给所述数据请求方;当所述热点缓存数据中不存在与所述目标数据相匹配的目标热点缓存数据时,通过所述至少一个代理增强节点将所述第一数据访问请求发送给所述缓存集群,由所述缓存集群确定所述第一数据访问请求的请求结果。另一方面,提供了一种数据请求处理装置,所述装置包括:接收模块,用于通过至少一个代理增强节点接收数据请求方发送的针对目标数据的第一数据访问请求,所述至少一个代理增强节点中存储有热点缓存数据,所述热点缓存数据是指缓存集群中存储的属于热点数据类型的缓存数据;读取模块,用于在所述热点缓存数据中存在与所述目标数据相匹配的目标热点缓存数据时,读取所述目标热点缓存数据;返回模块,用于通过所述至少一个代理增强节点将读取的所述目标热点缓存数据返回给所述数据请求方;转发模块,用于在所述热点缓存数据中不存在与所述目标数据相匹配的目标热点缓存数据时,通过所述至少一个代理增强节点将所述第一数据访问请求发送给所述缓存集群,由所述缓存集群确定所述第一数据访问请求的请求结果。在一个可能的方式的,所述装置还包括:记录模块,用于针对所述缓存集群中每种数据类型的缓存数据,记录所述数据类型的缓存数据在第一预设时间间隔内的访问频次;第一判断模块,用于根据所述数据类型的缓存数据在第一预设时间间隔内的访问频次,判断所述数据类型是否为热点数据类型;第一上报模块,用于在所述数据类型为热点数据类型时,将所述热点数据类型上报给协调服务,由所述协调服务将所述热点数据类型对应的热点缓存数据发送给至少一个代理节点;存储模块,用于在所述至少一个代理节点中存储所述热点数据类型对应的热点缓存数据,得到所述至少一个代理增强节点。在一个可能的方式的,所述记录模块包括:类型确定模块,用于确定所述缓存集群中缓存数据的至少一个数据类型;队列建立模块,用于建立与所述至少一个数据类型相对应的至少一个访问频次队列,所述访问频次队列包括预设数量个时间窗口,每个所述时间窗口记录对应所述时间窗口的访问频次,所述时间窗口的大小为所述第一预设时间间隔;目标队列确定模块,用于在通过至少一个代理节点接收到第二数据访问请求时,根据所述第二数据访问请求所请求访问的数据的第一数据类型,确定所述至少一个访问频次队列中与所述第一数据类型相匹配的第一访问频次队列;频次更新模块,用于更新所述第一访问频次队列中目标时间窗口的访问频次。在一个可能的方式中,所述第一判断模块包括:频次提取模块,用于每隔第二预设时间间隔提取所述至少一个访问频次队列中每个访问频次队列的访问频次,得到每个访问频次队列对应的第一访问频次;第二判断模块,用于判断所述第一访问频次是否超过预设频次阈值时;热点确定模块,用于在第二判断模块判断的结果为是时,确定所述第一访问频次所对应的访问频次队列的数据类型为热点数据类型。在一个可能的方式中,所述装置还包括:第一确定模块,用于根据所述热点数据类型对应的热点缓存数据在第一预设时间间隔内的访问频次,确定不满足热度条件的第一热点数据类型;第二上报模块,用于将所述第一热点数据类型上报给所述协调服务,由所述协调服务通知所述至少一个代理增强节点所述第一热点数据类型不满足热度条件;删除模块,用于从所述至少一个代理增强节点中删除所述第一热点数据类型对应的热点缓存数据。在一个可能的方式中,所述装置还包括:变更消息发送模块,用于在所述热点缓存数据在数据库中的对应原数据发生变更时,将所述变更消息发送给所述协调服务,所述变更消息中包括变更后的所述原数据;由所述协调服务将所述变更后的原数据发送给所述至少一个代理增强节点;热点更新模块,用于根据所述变更后的原数据,更新所述至少一个代理增强节点中对应的所述热点缓存数据。在一个可能的方式中,所述接收模块包括:第二确定模块,用于根据所述至少一个代理增强节点中每个代理增强节点的负载情况,确定目标代理增强节点;接收子模块,用于通过所述目标代理增强节点接收所述第一数据访问请求。另一方面,提供了一种计算机设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现上述数据请求处理方法。另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的数据请求处理方法。另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。本专利技术实施例在代理增强节点存储热点缓存数据,通过代理增强节点接收数据访问请求,并在命中热点缓存数据时将数据直接返回给数据请求方,在未命中热点缓存数据时将请求转发给缓存集群,由缓存集群进行处理,从而在代理层对热点数据请求进行了拦截和处理,避免了由于高并发热点数据访问请求对缓存集群的冲击而导致的集群中单点的CPU和网络压力过大,确本文档来自技高网...

【技术保护点】
1.一种数据请求处理方法,其特征在于,所述方法包括:/n通过至少一个代理增强节点接收数据请求方发送的针对目标数据的第一数据访问请求,所述至少一个代理增强节点中存储有热点缓存数据,所述热点缓存数据是指缓存集群中属于热点数据类型的缓存数据;/n当所述热点缓存数据中存在与所述目标数据相匹配的目标热点缓存数据时,读取所述目标热点缓存数据;/n通过所述至少一个代理增强节点将读取的所述目标热点缓存数据返回给所述数据请求方;/n当所述热点缓存数据中不存在与所述目标数据相匹配的目标热点缓存数据时,通过所述至少一个代理增强节点将所述第一数据访问请求发送给所述缓存集群,由所述缓存集群确定所述第一数据访问请求的请求结果。/n

【技术特征摘要】
1.一种数据请求处理方法,其特征在于,所述方法包括:
通过至少一个代理增强节点接收数据请求方发送的针对目标数据的第一数据访问请求,所述至少一个代理增强节点中存储有热点缓存数据,所述热点缓存数据是指缓存集群中属于热点数据类型的缓存数据;
当所述热点缓存数据中存在与所述目标数据相匹配的目标热点缓存数据时,读取所述目标热点缓存数据;
通过所述至少一个代理增强节点将读取的所述目标热点缓存数据返回给所述数据请求方;
当所述热点缓存数据中不存在与所述目标数据相匹配的目标热点缓存数据时,通过所述至少一个代理增强节点将所述第一数据访问请求发送给所述缓存集群,由所述缓存集群确定所述第一数据访问请求的请求结果。


2.根据权利要求1所述的数据请求处理方法,其特征在于,所述方法还包括:
针对所述缓存集群中每种数据类型的缓存数据,记录所述数据类型的缓存数据在第一预设时间间隔内的访问频次;
根据所述数据类型的缓存数据在第一预设时间间隔内的访问频次,判断所述数据类型是否为热点数据类型;
若所述数据类型为热点数据类型,则将所述热点数据类型上报给协调服务,由所述协调服务将所述热点数据类型对应的热点缓存数据发送给至少一个代理节点;
在所述至少一个代理节点中存储所述热点数据类型对应的热点缓存数据,得到所述至少一个代理增强节点。


3.根据权利要求2所述的数据请求处理方法,其特征在于,所述针对每种数据类型的缓存数据,记录所述数据类型的缓存数据在第一预设时间间隔内的访问频次包括:
确定所述缓存集群中缓存数据的至少一个数据类型;
建立与所述至少一个数据类型相对应的至少一个访问频次队列,所述访问频次队列包括预设数量个时间窗口,每个所述时间窗口记录对应所述时间窗口的访问频次,所述时间窗口的大小为所述第一预设时间间隔;
在通过至少一个代理节点接收到第二数据访问请求时,根据所述第二数据访问请求所请求访问的数据的第一数据类型,确定所述至少一个访问频次队列中与所述第一数据类型相匹配的第一访问频次队列;
更新所述第一访问频次队列中目标时间窗口的访问频次。


4.根据权利要求3所述的数据请求处理方法,其特征在于,所述根据所述数据类型的缓存数据在第一预设时间间隔内的访问频次,判断所述数据类型是否为热点数据类型包括:
每隔第二预设时间间隔提取所述至少一个访问频次队列中每个访问频次队列的访问频次,得到每个访问频次队列对应的第一访问频次;
判断所述第一访问频次是否超过预设频次阈值;
在判断的结果为是时,确定所述第一访问频次所对应的访问频次队列的数据类型为热点数据类型。

【专利技术属性】
技术研发人员:谢亚晋
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1