集群应用缓存刷新方法及装置的制造方法

文档序号:9865537阅读:1202来源:国知局
集群应用缓存刷新方法及装置的制造方法
【技术领域】
[0001]本发明涉及一种集群应用缓存刷新方法及装置,尤其是涉及一种基于数据库模式的集群应用缓存刷新方法及装置。
【背景技术】
[0002]当一个应用部署在集群环境下的不同节点上并行运行时,每个服务器节点都是单独缓存。缓存依赖的数据源可能是数据库或者服务提供,在数据库模式下,由于数据库并不经常变化,如果每次都是通过定时主动刷新缓存的话,会造成不必要的资源浪费。

【发明内容】

[0003]本发明的目的之一在于提供一种集群应用缓存刷新方法及装置。
[0004]为实现上述发明目的之一,本发明一实施方式提供了一种集群应用缓存刷新方法,所述方法包括:
[0005]初始化集群应用在各个服务器内的缓存,将各缓存对应的服务器IP地址、缓存名称写入缓存控制表;
[0006]每间隔一周期对集群应用的所有缓存数据进行检查,并依据检查结果更新缓存控制表中对应的缓存状态信息;
[0007]根据缓存状态信息对相应缓存进行刷新。
[0008]作为本发明的进一步改进,将所述缓存控制表存储于集群应用的各个服务器关联的数据库中。
[0009]作为本发明的进一步改进,所述方法包括:
[0010]在所述集群应用的每台服务器上分别创建一数据加载器,所述数据加载器与本服务器内的多个缓存相关联;
[0011]在所述数据加载器中配置对本服务器内多个缓存的获取缓存逻辑、加载缓存逻辑、刷新缓存逻辑,以及获取缓存名称逻辑。
[0012]作为本发明的进一步改进,所述方法包括:创建数据加载管理器;
[0013]在所述数据加载管理器中配置获取数据加载器逻辑、设置数据加载器逻辑。
[0014]作为本发明的进一步改进,“根据缓存状态信息对相应缓存进行刷新”具体包括:
[0015]若需要对全局的缓存数据进行刷新,则通过修改缓存状态信息进行刷新;
[0016]若需要对某一服务器上的缓存数据进行刷新,则通过修改该服务器IP地址对应的缓存状态进行刷新;
[0017]若需要对某一缓存数据进行刷新,则通过该缓存数据所在服务器IP和所述缓存数据的缓存名称对应的缓存状态进行刷新。
[0018]作为本发明的进一步改进,所述方法包括:对缓存状态信息为空和缓存数据与数据库中数据不匹配的缓存进行刷新。
[0019]为实现上述发明目的之一,本发明一实施方式提供了一种集群应用缓存刷新装置,所述装置包括:
[0020]配置模块,用于初始化集群应用在各个服务器内的缓存,将各缓存对应的服务器IP地址、缓存名称写入缓存控制表;
[0021]缓存监控模块,用于每间隔一周期对集群应用的所有缓存数据进行检查,并依据检查结果更新缓存控制表中对应的缓存状态信息;
[0022]缓存刷新模块,用于根据缓存状态信息对相应缓存进行刷新。
[0023]作为本发明的进一步改进,所述配置模块还用于:将所述缓存控制表存储于集群应用的各个服务器关联的数据库中。
[0024]作为本发明的进一步改进,所述配置模块还用于:在所述集群应用的每台服务器上分别创建一数据加载器,所述数据加载器与本服务器内的多个缓存相关联;
[0025]在所述数据加载器中配置对本服务器内多个缓存的获取缓存逻辑、加载缓存逻辑、刷新缓存逻辑,以及获取缓存名称逻辑。
[0026]作为本发明的进一步改进,所述配置模块还用于:创建数据加载管理器;
[0027]在所述数据加载管理器中配置获取数据加载器逻辑、设置数据加载器逻辑。
[0028]作为本发明的进一步改进,所述缓存刷新模块还用于:若需要对全局的缓存数据进行刷新,则通过修改缓存状态信息进行刷新;
[0029]若需要对某一服务器上的缓存数据进行刷新,则通过修改该服务器IP地址对应的缓存状态进行刷新;
[0030]若需要对某一缓存数据进行刷新,则通过该缓存数据所在服务器IP和所述缓存数据的缓存名称对应的缓存状态进行刷新。
[0031]作为本发明的进一步改进,所述缓存刷新模块还用于:对缓存状态信息为空和缓存数据与数据库中数据不匹配的缓存进行刷新。
[0032]与现有技术相比,本发明的有益效果是:本发明通过自动把服务器IP地址、缓存名称、缓存状态等缓存控制信息维护到数据库中,然后通过定时任务主动去获取对应的缓存控制信息,达到全局控制缓存刷新的目的,节约资源。
【附图说明】
[0033]图1是本发明一实施方式中集群应用缓存刷新方法的流程图;
[0034]图2是本发明一实施方式中集群应用缓存刷新装置的模块图;
[0035]图3是本发明一实施方式中缓存控制表形成流程图。
【具体实施方式】
[0036]以下将结合附图所示的【具体实施方式】对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0037]数据库模式的集群应用,例如支付决策系统(基于规则决策渠道列表的系统)等,在其系统设计中不可避免维护了大量的本地缓存控制器。其中,依赖于数据库的缓存数据是很少变化的,如果每次定时任务间隔都去刷新缓存数据,则会造成不必要的资源浪费。而在集群应用环境下,当缓存数据失效,怎么去控制缓存数据的刷新,是一个亟待解决的问题。
[0038]本发明通过服务器启动时自动把服务器的IP地址、缓存名称、缓存状态等缓存控制信息维护到数据库中,然后通过定时任务主动去获取对应的缓存控制信息,以便控制缓存刷新。
[0039]如图1所示,在本发明一实施方式中,所述集群应用缓存刷新方法包括:
[0040]初始化集群应用在各个服务器内的缓存,将各缓存对应的服务器IP地址、缓存名称写入缓存控制表;
[0041]优选的,将所述缓存控制表存储于集群应用的各个服务器关联的数据库中。
[0042]进一步的,将所述服务器IP地址和缓存名称对应的缓存状态写入缓存控制表。
[0043]本实施方式中,所述缓存控制表中包含各个服务器中的所有缓存的响应信息,每条缓存的响应信息包括:服务器的IP地址、缓存名称以及其缓存状态;其中,每个服务器具有一个服务器IP地址,一个服务器IP地址可对应在该服务器内的多个缓存的缓存名称,每个缓存还对应一个缓存状态,相应的,在本实施方式中,该缓存状态可为:等待刷新或完成刷新两个状态,下述示例中,以“wait_for_refresh”表示等待刷新状态,以“refresh_complete”表示完成刷新状态,其中,若该缓存状态为“wait_for_refresh”,则表示需要对该缓存进行刷新。可以理解的是,不同的服务器下的缓存可具有相同的缓存名称,此时,可通过服务器的IP地址对不同的缓存进行区别。
[0044]本示例中,以所述缓存控制表中的部分缓存数据为例做具体说明。
[0045]结合图3所示,所述缓存列表中的缓存数据为:
[0046]缓存数据1,其对应的服务器IP地址为“10.209.77.111”、对应的缓存名称为“a-1-group”、对应的缓存状态为 “wait_for_refresh” ;
[0047]缓存数据2,其对应的服务器IP地址为“10.209.77.111”、对应的缓存名称为“b-1-group”、对应的缓存状态为 “refresh_complete” ;
[0048]缓存数据3,其对应的服务器IP地址为“10.209.77.112”、对应的缓存名称为“a-1-group”、对应的缓存状态为 “wait_for_refresh” ;
[0049]缓存数据4,其对应的服务器IP地址为“10.209.77.112”、对应的缓存名称为“c-1-group”、对应的缓存状态为 “refresh_complete”。
[0050]具体的,在本实施方式中,可通过下述方法将服务器IP地址、缓存名称、缓存状态写入所述缓存列表。
[0051]在所述集群应用的每台服务器上分别创建一数据加载器,所述数据加载器与服务器内的多个缓存相关联;在所述数据加载器中配置对本服务器内多个缓存的获取缓存逻辑、加载缓存逻辑、刷新缓存逻辑,以及获取缓存名称逻辑。
[0052]进一步的,创建数据加载管理器,在所述数据加载管理器中配置获取数据加载器逻辑、设置数据加载器逻辑。
[0053]本实施例中,数据初始化后,各个所述数据加载器调取其相应服务器的服务器IP地址、缓存名称、缓存状态等缓存信息;进一步的,所述数据加载管理器调取各个所述数据加载器的相应缓存信息,以此,供数据管理器调取各个服务器内缓存的缓存信息写入所述缓存控制表。
[0054]如图3所示,每个服务器内设有多个缓存,本示例中以两个服务器为例做具体介绍。具体的,所述数据加载器通过配置相应的方法函数获取所述服务器中缓存的缓存信息,并将该缓存信息写入数据加载管理器。其中,所述数据加载器中包括以下函数:
[0055]“+getData O:
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1