【技术实现步骤摘要】
一种缓存更新方法、装置、设备及可读存储介质
[0001]本申请涉及存储
,特别是涉及一种缓存更新方法、装置、设备及可读存储介质。
技术介绍
[0002]缓存,可位于速度相差较大的两种硬件之间,即用于协调两者数据传输速度差异的存储设备,使用缓存可以有效提升数据访问效率。
[0003]缓存的存储大小是有限的,缓存中的数据内容也需要根据实际需求进行不断的更新。以分布式缓存Redis(一种存储系统)为例,其缓存内的数据更新方案中,基本的主从复制模式存在效能不足,规格较小等缺点,进一步改良的缓存内的数据更新方案为哨兵模式,但哨兵模式最大缺点为哨兵模式下每台Redis缓存服务器都存储相同的数据,很浪费内存空间;此外,缓存内的数据更新方案中的Cluster(簇)模式虽然可进一步改进,但是Cluster(簇)模式本身很复杂,进一步改进之后,仍然存在方案复杂的问题。
[0004]综上所述,如何有效地解决缓存内数据更新等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
[0005]本申请的目的是提供一种缓存更新方法、装置、设备及可读存储介质,引入了分散式仲裁轮询机制,所有缓存主机公平的处理数据存取请求,可使得主机间不重复存储相同的数据,不浪费存储空间。
[0006]为解决上述技术问题,本申请提供如下技术方案:一种缓存更新方法,包括:接收数据存取请求,并确定请求数据;与其他缓存主机互相同步是否已存储所述请求数据的消息;若本地缓存与其他缓存主机均未存储所述请求数据,在仲裁序号与轮值序 ...
【技术保护点】
【技术特征摘要】
1.一种缓存更新方法,其特征在于,包括:接收数据存取请求,并确定请求数据;与其他缓存主机互相同步是否已存储所述请求数据的消息;若本地缓存与其他缓存主机均未存储所述请求数据,在仲裁序号与轮值序号一致的情况下,应答所述数据存取请求,并在完成应答后,通知其他缓存主机更新所述轮值序号;在所述仲裁序号与所述轮值序号不一致的情况下,则在其他缓存主机通知更新所述轮值序号的情况下,更新所述轮值序号。2.根据权利要求1所述的缓存更新方法,其特征在于,还包括:在缓存系统中的缓存主机发生数量变动的情况下,调整所述仲裁序号和所述轮值序号。3.根据权利要求2所述的缓存更新方法,其特征在于,调整所述仲裁序号和所述轮值序号,包括:初始化所述仲裁序号;其中,所述仲裁序号与其他缓存主机的仲裁序号互异;初始化所述轮值序号,并设置所述轮值序号的取值范围;其中,所述轮值序号与其他缓存主机的保持数据同步,所述取值范围与全部缓存主机的总数相对应。4.根据权利要求3所述的缓存更新方法,其特征在于,所述设置所述轮值序号的取值范围,包括:若所述缓存主机的总数为N,则设置所述轮值序号的取值范围为0至N
‑
1。5.根据权利要求2所述的缓存更新方法,其特征在于,调整所述仲裁序号和所述轮值序号,包括:初始化所述仲裁序号;其中,所述仲裁序号与备份缓存主机的仲裁序号相同,与其他缓存主机的仲裁序号互异;初始化所述轮值序号,并设置所述轮值序号的取值范围;其中,所述轮值序号与其他缓存主机的保持数据同步,所述取值范围与全部缓存主机的总数和备份系数相对应。6.根据权利要求5所述的缓存更新方法,其特征在于,设置所述轮值序号的取值范围,包括:若所述缓存主机的总数为N,备份系数为M,则设置所述轮值序号的取值范围为0至N/M
‑
1。7.根据权利要求5所述的缓存更新方法,其特征在于,还包括:与所述备份缓存主机同步存储数据。8.根据权利要求2所述的缓存更新方法,其特征在于,在缓存系统中的缓存主机发生数量变动的情况下,调整所述仲裁序号和所述轮值序号,包括:在所述缓存系统中新增缓存主机的情况下,为新增缓存主机分配仲裁序号;若所述新增缓存主机非备份缓存主机,则对所述轮值序号的取值范围进行加1。9.根据权利要求8所述的缓存更新方法,其特征在于,为新增缓存主机分配仲裁序号,包括:若所述新增缓存主机非备份缓存主机,则为所述新增缓存主机分配与其他缓存主机的仲裁序号均不同的仲裁序号;若所述新增缓存主机为备份缓存主机,则为所述新增缓存主机分配与备份对应缓存主
机的仲裁序号。10.根据权利要求1所述的缓存更新方法,其特征在于,与其他缓存主机互相同步是否已存储所述请求数据的消息,包括:在本地缓存中查询所述请求数据,得到本地是否存储所述请求数据的查询结果;将所述查询结果发送给其他缓存主机,并接收其他缓存主机发送的查询结果。11.根据权利要求1所述的缓存更新方法,其特征在于,包括:若本地缓存有所述请求数据,则对所述数据存取请...
【专利技术属性】
技术研发人员:蔡志恺,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。