集群缓存共享方法、系统、设备及存储介质技术方案

技术编号:23860778 阅读:26 留言:0更新日期:2020-04-18 13:42
本发明专利技术提供了一种集群缓存共享方法、系统、设备及存储介质,该方法包括:新增服务节点从注册中心获取服务节点列表,所述服务节点列表中各个服务节点与对应的前置服务节点保持心跳通信;所述新增服务节点从所述服务节点列表中查询到前置服务节点;所述新增服务节点向所述前置服务节点发送心跳请求;所述新增服务节点更新所述注册中心的服务节点列表本发明专利技术提出了包括多个服务节点的集群缓存,并且基于服务节点间心跳机制实现集群中各个服务节点的相互感知,维护完善的服务节点列表,方便服务节点的管理,解决集群缓存数据一致性问题。

Cluster cache sharing methods, systems, devices and storage media

【技术实现步骤摘要】
集群缓存共享方法、系统、设备及存储介质
本专利技术涉及数据缓存服务
,尤其涉及一种集群缓存共享方法、系统、设备及存储介质。
技术介绍
后端服务领域内常用的缓存一般分两种,服务内直接内存缓存和第三方外部缓存。内部缓存框架目前有Guava,MapDB等。外部缓存如Redis和Memcache之类。其中,Guava是一种基于开源的Java库,用于提供缓存功能。MapDB是一个嵌入式java数据库引擎,主要提供Map和set形式的数据存储。Redis(RemoteDictionaryServer,远程字典服务)是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。Memcache是一套分布式的高速缓存系统。在单机情况下,Guava等框架可以很好地管理缓存数据。然而直接内存常用于缓存数量级不大的配置类数据或基础信息,譬如说电商网站中的商品类目等。如果需要缓存大量的业务数据,直接内存是无法缓存下全量业务数据的,因此一般首选外部缓存。目前常用的外部缓存一般使用在集群部署的情况下。然而,在集群场景下,由于服务之间相互独立,对于数据刷新操作可能每个服务都要执行一遍,这产生了比较多的性能浪费,也可能会存在数据刷新不及时、数据重复加载或数据之间不一致的问题。
技术实现思路
针对现有技术中的问题,本专利技术的目的在于提供一种集群缓存共享方法、系统、设备及存储介质,基于服务节点间心跳机制实现集群中各个服务节点的相互感知,解决集群缓存数据一致性问题。本专利技术实施例提供一种集群缓存共享方法,包括如下步骤:新增服务节点从注册中心获取服务节点列表,所述服务节点列表中各个服务节点与对应的前置服务节点保持心跳通信;所述新增服务节点从所述服务节点列表中查询到前置服务节点;所述新增服务节点向所述前置服务节点发送心跳请求;所述新增服务节点更新所述服务节点列表。可选地,所述新增服务节点从所述服务节点列表中查询到前置服务节点,包括所述新增服务节点从所述服务节点列表中查询到最后一个服务节点,作为自身的前置服务节点。可选地,所述新增服务节点更新所述服务节点列表之后,还包括所述新增服务节点查询所述服务节点列表中的第一个服务节点,将更新后的服务节点列表发送至所述第一个服务节点;所述服务节点列表中第一个服务节点接收到更新的服务节点列表之后,将所述服务节点列表中最后一个服务节点作为自身的前置服务节点。可选地,所述服务节点列表中各个服务节点与前置服务节点进行心跳通信时,从所述前置服务节点获取服务节点列表和节点缓存数据。可选地,各个所述服务节点采用如下步骤从前置服务节点中获取节点缓存数据:所述服务节点判断从所述前置服务节点获取到的节点缓存数据的缓存模式;对于同步模式的数据,所述服务节点与所述前置服务节点进行数据同步;对于映射模式的数据,所述服务节点存储数据的映射。可选地,所述方法还包括如下步骤:一所述服务节点接收到数据查询请求时,查找自身存储的数据和映射;如果查询到被请求的数据,则该服务节点返回查询到的数据;如果查询到被请求的数据的映射,则该服务节点根据所述数据的映射从对应的服务节点获取被请求的数据并返回。可选地,所述新增服务节点更新所述服务节点列表之后,更新所述注册中心的服务节点列表,所述注册中心将更新后的服务节点列表发送至各个服务节点;各个所述服务节点比较从前置服务节点接收到的服务节点列表和从所述注册中心接收到的服务节点列表,如果存在不一致,则进行告警。可选地,所述方法还包括如下步骤:一所述服务节点检测到前置服务节点为故障节点时,将所述故障节点的前置服务节点作为自身的前置服务节点,将所述故障节点从所述服务节点列表中删除,并更新所述服务节点列表。本专利技术实施例还提供一种集群缓存共享系统,应用于所述的集群缓存共享方法,所述系统包括注册中心和多个服务节点,所述注册中心存储有管理所述多个服务节点的服务节点列表,所述服务节点列表中各个服务节点与对应的前置服务节点保持心跳通信;新增一服务节点时,新增服务节点从所述注册中心获取服务节点列表;所述新增服务节点从所述服务节点列表中查询到前置服务节点;所述新增服务节点向所述前置服务节点发送心跳请求;所述新增服务节点更新所述服务节点列表。本专利技术实施例还提供一种集群缓存共享设备,包括:处理器;存储器,其中存在所述处理器的可进行指令;其中,所述处理器配置为经由进行所述可进行指令来进行所述的集群缓存共享方法的步骤。本专利技术实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被进行时实现所述的集群缓存共享方法的步骤。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。本专利技术所提供的集群缓存共享方法、系统、设备及存储介质具有下列优点:本专利技术解决了现有技术中的问题,提供了一种集群缓存共享方法和系统,针对直接内存容量有限的问题,提出了包括多个服务节点的集群缓存,并且基于服务节点间心跳机制实现集群中各个服务节点的相互感知,维护完善的服务节点列表,方便服务节点的管理;在得到服务节点列表的基础上,可以按照业务逻辑去加载缓存,数据可以只存在于一个节点上,其他节点只维护缓存的映射,从而避免数据的重复加载,也解决了集群缓存数据一致性问题。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显。图1是本专利技术一实施例的集群缓存共享方法的流程图;图2是本专利技术一实例的集群缓存共享方法的具体流程图;图3是本专利技术一实施例的集群缓存共享系统的结构示意图;图4是本专利技术一实施例的集群建立环式心跳机制的示意图;图5是本专利技术一实施例的集群中新增服务节点的示意图;图6是本专利技术一实施例的集群中检测到故障节点的示意图;图7是本专利技术一实施例的集群缓存共享设备的示意图;图8是本专利技术一实施例的计算机可读存储介质的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。为了解决现有技术中的技术问题,本专利技术实施例提供一种集群缓存共享方法和本文档来自技高网...

【技术保护点】
1.一种集群缓存共享方法,其特征在于,包括如下步骤:/n新增服务节点从注册中心获取服务节点列表,所述服务节点列表中各个服务节点与对应的前置服务节点保持心跳通信;/n所述新增服务节点从所述服务节点列表中查询到前置服务节点;/n所述新增服务节点向所述前置服务节点发送心跳请求;/n所述新增服务节点更新所述服务节点列表。/n

【技术特征摘要】
1.一种集群缓存共享方法,其特征在于,包括如下步骤:
新增服务节点从注册中心获取服务节点列表,所述服务节点列表中各个服务节点与对应的前置服务节点保持心跳通信;
所述新增服务节点从所述服务节点列表中查询到前置服务节点;
所述新增服务节点向所述前置服务节点发送心跳请求;
所述新增服务节点更新所述服务节点列表。


2.根据权利要求1所述的集群缓存共享方法,其特征在于,所述新增服务节点从所述服务节点列表中查询到前置服务节点,包括所述新增服务节点从所述服务节点列表中查询到最后一个服务节点,作为自身的前置服务节点。


3.根据权利要求2所述的集群缓存共享方法,其特征在于,所述新增服务节点更新所述服务节点列表之后,还包括所述新增服务节点查询所述服务节点列表中的第一个服务节点,将更新后的服务节点列表发送至所述第一个服务节点;
所述服务节点列表中第一个服务节点接收到更新的服务节点列表之后,将所述服务节点列表中最后一个服务节点作为自身的前置服务节点。


4.根据权利要求1所述的集群缓存共享方法,其特征在于,所述服务节点列表中各个服务节点与前置服务节点进行心跳通信时,从所述前置服务节点获取服务节点列表和节点缓存数据。


5.根据权利要求4所述的集群缓存共享方法,其特征在于,各个所述服务节点采用如下步骤从前置服务节点中获取节点缓存数据:
所述服务节点判断从所述前置服务节点获取到的节点缓存数据的缓存模式;
对于同步模式的数据,所述服务节点与所述前置服务节点进行数据同步;
对于映射模式的数据,所述服务节点存储数据的映射。


6.根据权利要求5所述的集群缓存共享方法,其特征在于,所述方法还包括如下步骤:
一所述服务节点接收到数据查询请求时,查找自身存储的数据和映射;
如果查询到被请求的数据...

【专利技术属性】
技术研发人员:张绍云
申请(专利权)人:江苏满运软件科技有限公司
类型:发明
国别省市:江苏;32

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

1