分布式缓存中的缓存节点的数据访问和控制方法及系统技术方案

技术编号:23764502 阅读:30 留言:0更新日期:2020-04-11 19:07
本发明专利技术公开了一种用于分布式缓存中的缓存节点的数据访问方法、控制方法、分布式缓存系统、分布式缓存中的业务节点及分布式缓存中的中心控制节点,待访问数据以Erlang数据结构存储于缓存节点,缓存节点对应有虚拟节点,在访问待访问数据时,基于hash函数利用待访问数据的标识查找与待访问数据的标识相映射的虚拟节点,然后远程调用缓存节点并从缓存节点中本地查找以Erlang数据结构存储的待访问数据。如果缓存节点中存在该待访问数据,则从缓存节点中读取待访问数据,避免了直接从数据库中读取待访问数据,避免了对数据库IO造成巨大的压力。

Data access and control method and system of cache node in distributed cache

【技术实现步骤摘要】
分布式缓存中的缓存节点的数据访问和控制方法及系统
本专利技术涉及计算机
,尤其涉及一种用于分布式缓存中的缓存节点的数据访问方法、控制方法、分布式缓存系统、分布式缓存中的业务节点及分布式缓存中的中心控制节点。
技术介绍
分布式集群通常包括多台通信连接的节点设备,分布式集群的分布式架构将大数据引擎尽可能的靠近存储,分布式集群功能实现了将单个任务进行碎片化,并将碎片任务发送到分布式集群的各个节点上,然后再以单个数据集的形式加载到数据库里。当前游戏服务器采用的是分布式集群架构,玩家每次进行数据访问时都通过访问数据库的形式进行数据访问,当玩家数量比较大且玩家频繁上下线时,每次的数据访问都会通过数据库,如此,会对数据库IO造成巨大的压力。
技术实现思路
本专利技术的目的在于解决现有技术中玩家每次的数据访问都通过数据库进行数据访问,对数据库IO造成巨大压力的问题。因此,本专利技术提供一种用于分布式缓存中的缓存节点的数据访问方法、控制方法、分布式缓存系统、分布式缓存中的业务节点及分布式缓存中的中心控制节点,玩家每次的数据访问并不完全依本文档来自技高网...

【技术保护点】
1.一种用于分布式缓存中的缓存节点的数据访问方法,其特征在于,所述分布式缓存包括中心控制节点、缓存节点和业务节点,所述访问方法应用于所述业务节点,所述访问方法包括:/n基于hash函数利用待访问数据的标识查找与所述待访问数据的标识相映射的虚拟节点对应的缓存节点;/n基于所述虚拟节点和所述缓存节点的映射关系,远程调用所述缓存节点,并从所述缓存节点中本地查找以Erlang数据结构存储的所述待访问数据;/n判断所述缓存节点中是否存在所述待访问数据;/n若所述缓存节点中存在所述待访问数据,则从所述缓存节点中读取所述待访问数据;/n若所述缓存节点中不存在所述待访问数据,则从数据库中读取所述待访问数据。/...

【技术特征摘要】
1.一种用于分布式缓存中的缓存节点的数据访问方法,其特征在于,所述分布式缓存包括中心控制节点、缓存节点和业务节点,所述访问方法应用于所述业务节点,所述访问方法包括:
基于hash函数利用待访问数据的标识查找与所述待访问数据的标识相映射的虚拟节点对应的缓存节点;
基于所述虚拟节点和所述缓存节点的映射关系,远程调用所述缓存节点,并从所述缓存节点中本地查找以Erlang数据结构存储的所述待访问数据;
判断所述缓存节点中是否存在所述待访问数据;
若所述缓存节点中存在所述待访问数据,则从所述缓存节点中读取所述待访问数据;
若所述缓存节点中不存在所述待访问数据,则从数据库中读取所述待访问数据。


2.如权利要求1所述的用于分布式缓存中的缓存节点的数据访问方法,其特征在于,在所述从所述缓存节点中读取所述待访问数据之后,还包括:
更新所述缓存节点的访问时间。


3.如权利要求2所述的用于分布式缓存中的缓存节点的数据访问方法,其特征在于,在所述基于hash函数利用待访问数据的标识查找与所述待访问数据的标识相映射的虚拟节点对应的缓存节点之后,所述用于分布式缓存中的缓存节点中数据的访问方法还包括对所述待访问数据进行更新,所述对所述待访问数据进行更新包括:
远程调用所述缓存节点,并对所述待访问数据的标识进行加锁;
判断加锁是否成功;
若加锁成功,则查看所述缓存节点的与所述待访问数据的标识对应的版本号;
判断与所述待访问数据的标识对应的版本号与所述待访问数据的标识的当前版本号是否一致;
若与所述待访问数据的标识对应的版本号与所述待访问数据的标识的当前版本号一致,则对与所述当前版本号对应的数据对所述待访问数据和访问时间进行更新并对更新后的所述待访问数据的标识进行解锁后返回;
若与所述待访问数据的标识对应的版本号与所述待访问数据的当前版本号不一致,则获取与所述待访问数据的标识对应的版本号并更新所述当前版本号的字段,并重新进入所述远程调用所述缓存节点,并对所述待访问数据的标识进行加锁的步骤。


4.一种用于分布式缓存中的缓存节点的控制方法,其特征在于,所述分布式缓存包括中心控制节点、缓存节点和业务节点,所述控制方法应用于所述中心控制节点,所述中心控制节点启动并初始化后,所述控制方法包括:
采集目标缓存节点发出的注册请求;
判断所述目标缓存节点是否为首个注册节点;
若是,则初始化所有的虚拟节点并在初始化后选取一个虚拟节点分配至所述目标缓存节点;
若否,则从已经注册的缓存节点对应的虚拟节点中选取一个虚拟节点分配至所述目标缓存节点;
监控所述目标缓存节点,并更新为所述目标缓存节点分配的虚拟节点中的数据;
将所述数据广播至所述业务节点并更新完成所述目标缓存节点的注册并用于存储数据供业务节点访问所述目标缓存节点中的数据。


5.如权利要求4所述的用于分布式缓存中的缓存节点的控制方法,其特征在于,所述控制方法还包括:
判断所述目标缓存节点是否故障;
若是,则迁移所述目标缓存节点的数据至另一个空闲的缓存节点。


6.一种分布式缓存系统,其特征在于,包括:中心控制节点、缓存节点和业务节点,所述中心控制节点和所述业务节点分...

【专利技术属性】
技术研发人员:郭小林
申请(专利权)人:上海莉莉丝科技股份有限公司
类型:发明
国别省市:上海;31

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

1