本发明涉及互联网,以及缓存,具体而言,涉及一种缓存处理方法、装置、存储介质及电子设备。
背景技术:
1、当今微服务架构技术中,多机房并行计算体系应用广泛,比如新型的单元化架构体系,在多机房并行计算理念下一些传统的开发手段就会面临问题。本地缓存作为高性能的缓存使用模式,在缓存的内容需要发生变化后,会导致各应用服务器节点之间的本地缓存变得不一致。这会导致本地缓存之间数据不一致的问题。
2、相关技术中一般通过redis(remote dictionary server,一种开源的、内存中的数据结构存储系统)发布事件,其余节点监听事件的机制实现缓存数据的刷新,保证各节点一致性。但是在多机房并行计算理念下,由于每个机房之间的redis不会共享为同一套,均为独立部署,一个应用往往也不会去连接另一个机房的redis集群,对于交互隔离的场景进行数据一致性存在局限性,无法满足多机房并行计算中分布式节点之间缓存刷新一致性的需求。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种缓存处理方法、装置、存储介质及电子设备,以至少解决相关技术中交互隔离的分布式节点的缓存刷新局限性大的技术问题。
2、根据本发明实施例的一个方面,提供了一种缓存处理方法,包括:确定初始数据存储状态相匹配的多个应用节点,以及与所述多个应用节点分别存在交互的预定的配置中心服务器,其中,所述多个应用节点为存在交互隔离的分布式节点;在所述多个应用节点中的目标节点发生缓存变更事件的情况下,响应于所述目标节点与所述配置中心服务器的交互,向所述多个应用节点中的其他节点发布所述缓存变更事件;基于所述缓存变更事件,对所述其他节点的所述初始数据存储状态进行更新,得到刷新为目标数据存储状态的所述其他节点,其中,基于所述目标数据存储状态的所述其他节点进行预定查询的第一查询结果,与基于发生所述缓存变更事件的所述目标节点进行预定查询的第二查询结果相匹配。
3、可选地,所述多个应用节点分别设置有事件发布器,所述事件发布器用于与所述配置中心服务器交互,所述方法还包括:通过所述多个应用节点分别对应的事件发布器,发送所述多个应用节点分别对应的缓存标识,在所述配置中心服务器生成节点缓存信息。
4、可选地,所述响应于所述目标节点与所述配置中心服务器的交互,向所述多个应用节点中的其他节点发布所述缓存变更事件,包括:通过所述目标节点的事件发布器,向所述配置中心服务器发布所述缓存变更事件指示的目标参数,作为所述目标节点与所述配置中心服务器的交互;响应于所述目标节点与所述配置中心服务器的交互,基于所述目标参数,对所述节点缓存信息进行变更,得到所述配置中心服务器中的更新缓存信息;在所述其他节点的事件发布器检测到更新缓存信息的情况下,向所述其他节点发布所述缓存变更事件。
5、可选地,所述通过所述目标节点的事件发布器,向所述配置中心服务器发布所述缓存变更事件指示的目标参数之后,所述方法还包括:确定通过所述目标节点的事件发布器,向所述配置中心服务器执行发布的发布结果;在所述发布结果指示为发布失败的情况下,通过所述目标节点的事件发布器,向所述配置中心服务器执行预定重试次数的重试发布,得到重试结果;在所述重试结果指示存在重试失败的情况下,对预定接收端发送指示发布失败的告警信息。
6、可选地,所述多个应用节点分别设置有事件接收器,所述事件接收器用于接收对应应用节点的事件发布器发布的所述缓存变更事件;所述向所述其他节点发布所述缓存变更事件,包括:通过所述配置中心服务器,向所述其他节点的事件发布器推送所述缓存变更事件。
7、可选地,所述基于所述缓存变更事件,对所述其他节点的所述初始数据存储状态进行更新,得到刷新为目标数据存储状态的所述其他节点,包括:基于所述缓存变更事件指示的目标参数,采用所述其他节点的事件发布器对所述其他节点的事件接收器进行通知;响应于所述其他节点的事件接收器接收到所述缓存变更事件的通知,通过所述事件接收器调用预定清理函数,对所述其他节点的所述初始数据存储状态进行数据清理,得到刷新为所述目标数据存储状态的所述其他节点。
8、可选地,所述多个应用节点分别与预定数据库存在交互,所述缓存变更事件为在所述预定数据库中执行对目标参数的第一数据变更值,并对所述目标节点的本地缓存执行所述目标参数的第二数据变更值,所述第一数据变更值与所述第二数据变值更相匹配,在得到刷新为目标数据存储状态的所述其他节点之后,所述方法还包括:在所述目标数据存储状态为所述目标参数被清空状态,并响应于对所述其他节点执行所述预定查询的查询请求的情况下,对所述其他节点执行所述预定查询,得到第三查询结果为未返回参数值;在所述第三查询结果为未返回参数值的情况下,向所述预定数据库执行所述预定查询,得到第一数据变更值作为所述第一查询结果;在响应于对所述目标节点执行所述预定查询的查询请求的情况下,对所述目标节点执行所述预定查询,得到所述第二数据变更值作为所述第二查询结果。
9、根据本发明实施例的另一方面,提供了一种缓存处理装置,包括:应用节点确定模块,用于确定初始数据存储状态相匹配的多个应用节点,以及与所述多个应用节点分别存在交互的预定的配置中心服务器,其中,所述多个应用节点为存在交互隔离的分布式节点;发布缓存变更模块,用于在所述多个应用节点中的目标节点发生缓存变更事件的情况下,响应于所述目标节点与所述配置中心服务器的交互,向所述多个应用节点中的其他节点发布所述缓存变更事件;缓存处理模块,用于基于所述缓存变更事件,对所述其他节点的所述初始数据存储状态进行更新,得到刷新为目标数据存储状态的所述其他节点,其中,基于所述目标数据存储状态的所述其他节点进行预定查询的第一查询结果,与基于发生所述缓存变更事件的所述目标节点进行预定查询的第二查询结果相匹配。
10、根据本发明实施例的另一方面,提供了一种非易失性存储介质,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行任意一项所述的缓存处理方法。
11、根据本发明实施例的另一方面,提供了一种电子设备,包括:一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的缓存处理方法。
12、在本发明实施例中,通过确定初始数据存储状态相匹配的多个应用节点,以及与所述多个应用节点分别存在交互的预定的配置中心服务器,其中,所述多个应用节点为存在交互隔离的分布式节点;在所述多个应用节点中的目标节点发生缓存变更事件的情况下,响应于所述目标节点与所述配置中心服务器的交互,向所述多个应用节点中的其他节点发布所述缓存变更事件;基于所述缓存变更事件,对所述其他节点的所述初始数据存储状态进行更新,得到刷新为目标数据存储状态的所述其他节点,其中,基于所述目标数据存储状态的所述其他节点进行预定查询的第一查询结果,与基于发生所述缓存变更事件的所述目标节点进行预定查询的第二查询结果相匹配。达到了利用分布式的应用节点与配置中心服务器之间的交互,提高缓存处理灵活性的目的,实现了解除对交互隔离的分布式节点进行缓存一致性刷新限制的技术效果,进而解决了相关技术中交互隔离的分布式节点的缓存刷新局限性大的技术问题。
1.一种缓存处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述多个应用节点分别设置有事件发布器,所述事件发布器用于与所述配置中心服务器交互,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述响应于所述目标节点与所述配置中心服务器的交互,向所述多个应用节点中的其他节点发布所述缓存变更事件,包括:
4.根据权利要求3所述的方法,其特征在于,在所述通过所述目标节点的事件发布器,向所述配置中心服务器发布所述缓存变更事件指示的目标参数之后,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述多个应用节点分别设置有事件接收器,所述事件接收器用于接收对应应用节点的事件发布器发布的所述缓存变更事件;所述向所述其他节点发布所述缓存变更事件,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述缓存变更事件,对所述其他节点的所述初始数据存储状态进行更新,得到刷新为目标数据存储状态的所述其他节点,包括:
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述多个应用节点分别与预定数据库存在交互,所述缓存变更事件为在所述预定数据库中执行对目标参数的第一数据变更值,并对所述目标节点的本地缓存执行所述目标参数的第二数据变更值,所述第一数据变更值与所述第二数据变值更相匹配,在得到刷新为目标数据存储状态的所述其他节点之后,所述方法还包括:
8.一种缓存处理装置,其特征在于,包括:
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行权利要求1至7中任意一项所述的缓存处理方法。
10.一种电子设备,其特征在于,包括:一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的缓存处理方法。
