公开/公告号CN103024084A
专利类型发明专利
公开/公告日2013-04-03
原文格式PDF
申请/专利权人 北京思特奇信息技术股份有限公司;
申请/专利号CN201310005139.0
发明设计人 王陶林;
申请日2013-01-07
分类号H04L29/08;
代理机构北京轻创知识产权代理有限公司;
代理人杨立
地址 100086 北京市海淀区中关村南大街6号中电信息大厦10层
入库时间 2024-02-19 19:24:31
法律状态公告日
法律状态信息
法律状态
2016-05-11
授权
授权
2013-08-14
实质审查的生效 IPC(主分类):H04L29/08 申请日:20130107
实质审查的生效
2013-04-03
公开
公开
技术领域
本发明涉及缓存处理技术领域,特别是涉及一种基于HTTP协议的缓存 刷新系统和缓存刷新方法。
背景技术
目前绝大多数应用出于性能考虑都会采用缓存技术,一般是在系统启动 时将一些常用的数据从配置文件等数据源中将原数据读取出来并缓存起来, 如果原数据有修改则需要刷新缓存。
通过调查各渠道可以了解到现有的缓存刷新主要通过两种方式:
一、定时刷新,其采用apache-configuration框架,该框架提供有 FileChangedReloadingStrategy定时刷新方案,即每隔一段时间进行配置文 件修改日期检查。其弊端在于:1.刷新间隔不好控制,设置过小,对系统无 用的消耗较大;设置过大,则实时性很差,缓存得不到及时刷新。2.其只能 针对文件形式的配置,如果采用数据库等其它形式的缓存则无能为力了。
二、人手刷新,即当原数据修改时,人工访问某监听URL触发刷新,其 实时性很强,但弊端在于:每个接口都有一个对应的刷新URL,需要人工对 每个待刷新的接口进行URL调用,如果刷新的接口较多的情况下,很浪费人 力,也容易出错。尤其是在机群环境下,需要进行N台主机*M个接口次操作。。
发明内容
本发明所要解决的技术问题是提供一种基于HTTP协议的缓存刷新系统 和缓存刷新方法,用于解决现有缓存刷新效率和实用性较低的问题。
本发明解决上述技术问题的技术方案如下:一种基于HTTP协议的缓存 刷新系统,其与至少一个主机监听器通信,包括主机信息表模块、主机展示 页面模块、缓存调度器、刷新监听器和缓存信息表模块;
所述主机信息表模块,其用于存放所有主机监听器的URL(Uniform/ Universal Resource Locator,统一资源定位符),且所述主机监听器的URL 包括主机IP和所述主机IP对应的刷新端口;
所述主机展示页面模块,其用于读取主机监听器的URL,并将主机IP 和主机IP对应的刷新端口展示给用户进行选择;这里,展示出的主机IP及 其对应的刷新端口即是提供给用户的可刷新的主机IP及其刷新端口,而用 户选中的即为待刷新的主机IP及其对应的刷新端口;
所述缓存调度器,其用于将用户选择的主机IP和主机IP对应的刷新端 口解析成HTTP消息,再向所述刷新监听器发送该HTTP消息;
所述刷新监听器,其用于调用所述缓存调度器发送的HTTP消息,并从 所述缓存信息表模块中读取相应接口,并通过该接口对应的方法处理HTTP 消息;
所述缓存信息表模块,其用于存放可刷新的所有接口,且每个接口各自 对应有用于实现缓存刷新的方法。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述缓存调度器还将HTTP消息发送至各个主机监听器,且所 述各个主机监听器向所述缓存调度器反馈HTTP响应结果。
进一步,所述缓存调度器采用httpclient技术发送http消息或接收 http响应结果。
进一步,所述缓存调度器采用httpclient技术将用户选择的主机IP和 主机IP对应的刷新端口解析成HTTP消息。
进一步,所述刷新监听器采用beanshell实时调用技术调用相应接口。
进一步,所述缓存调度器采用servlet缓存调度器或struts2_action 缓存调度器。
本发明对应上述缓存刷新系统,其技术方案还包括一种基于HTTP协议 的缓存刷新方法,包括;
步骤1,主机信息表模块存放所有主机监听器的URL,且所述主机监听 器的URL包括主机IP和所述主机IP对应的刷新端口;
步骤2,缓存信息表模块存放可刷新的所有接口,且每个接口各自对应 有用于实现缓存刷新的方法;
步骤3,主机展示页面模块读取主机监听器的URL,并将其中的主机IP 和主机IP对应的刷新端口展示给用户进行选择;
步骤4,缓存调度器将用户选择的主机IP和主机IP对应的刷新端口解 析成HTTP消息,再向所述刷新监听器发送该HTTP消息;
步骤5,刷新监听器调用所述缓存调度器发送的HTTP消息,并从所述缓 存信息表模块中读取相应接口,并通过该接口对应的方法处理HTTP消息。
在上述技术方案的基础上,同上述缓存刷新系统,该缓存刷新方法还包 括如下改进。
进一步,所述缓存调度器还将HTTP消息发送至各个主机监听器,且所 述各个主机监听器向所述缓存调度器反馈HTTP响应结果。
进一步,所述缓存调度器采用httpclient技术发送http消息或接收 http响应结果,且采用httpclient技术将用户选择的待刷新的主机IP和主 机IP对应的刷新端口解析成HTTP消息。
进一步,所述刷新监听器采用beanshell实时调用技术调用相应接口。
本发明的有益效果是:各主机间进行缓存刷新享有平等权利,即在机群 环境和外网中可以通过任意主机进行缓存刷新操作,而且在任意一台主机宕 机后都不会对缓存刷新的应用有影响。本发明的缓存刷新系统及缓存刷新方 法,使用通用的HTTP协议和各个主机交互,有很好的安全性和易用性。另 外,本发明的缓存刷新系统的扩展性好,当增加主机时,只要在主机信息表 中增加一行信息即可,增加缓存信息时,只要在缓存信息表中增加一行记录 即可。综上,本发明能实现批量地、远程地对缓存进行实时刷新。
附图说明
图1为本发明所述缓存刷新系统的结构示意图;
图2为本发明所述缓存刷新系统的流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本 发明,并非用于限定本发明的范围。
如图1所示,本实施例涉及一种基于HTTP协议的缓存刷新系统,包括 主机信息表模块、主机展示页面模块、缓存调度器、刷新监听器和缓存信息 表模块;所述主机信息表模块,其用于存放所有主机监听器的URL统一资源 定位符,且所述主机监听器的URL包括主机IP和主机IP对应的刷新端口; 所述主机展示页面模块,其用于读取主机监听器的URL,并将其中的主机IP 和主机IP对应的刷新端口展示给用户进行选择。
所述缓存调度器,其用于将用户选择的主机IP和主机IP对应的刷新端 口解析成HTTP消息,再向所述刷新监听器发送该HTTP消息。此外,所述缓 存调度器还将HTTP消息发送至各个主机监听器,且所述各个主机监听器向 所述缓存调度器反馈HTTP响应结果。这里,采用httpclient技术发送http 消息或http响应结果,且采用httpclient技术将用户选择的主机IP和主 机IP其对应的刷新端口解析成HTTP消息。
所述刷新监听器,所述刷新监听器,其用于接收所述缓存调度器发送的 HTTP消息,并从所述缓存信息表模块中调用相应接口,并通过该接口对应的 方法处理HTTP消息。这里,所述刷新监听器采用beanshell实时调用技术 调用相应接口。而所述缓存信息表模块,其用于存放所述刷新监听器调用的 各个接口。
如图2所示,对应上述缓存刷新系统,本实施例还给出了一种基于HTTP 协议的缓存刷新方法,包括;
步骤1,主机信息表模块存放所有主机监听器的URL,且所述主机监听 器的URL包括主机IP和主机IP对应的刷新端口;
步骤2,缓存信息表模块存放可刷新的所有接口,且每个接口各自对应 有用于实现缓存刷新的方法;
步骤3,主机展示页面模块读取主机监听器的URL,并将主机IP和主机 IP对应的刷新端口展示给用户进行选择;
步骤4,缓存调度器将用户选择的主机IP和主机IP对应的刷新端口解 析成HTTP消息,再向所述刷新监听器发送该HTTP消息;
步骤5,刷新监听器接收所述缓存调度器发送的HTTP消息,并从所述缓 存信息表模块中调用相应接口,并通过该接口对应的方法处理HTTP消息。
对应上述缓存刷新系统及缓存刷新方法,本实施例的具体实施过程为:
一、初始化数据:建立两张表:
1、主机信息配置表:存放所有的主机监听器URL,其主要字段包括主键 ID、主机IP和刷新端口。
2、缓存信息配置表:存放刷新调用的各个接口,其主要字段包括主键 ID、接口内容和接口类别。
对于缓存信息配置表,且具体的字段描述如下:
接口类别:取值1,2。当为1时接口内容存放JAVA代码段,在后台通 过BEAN_SHELL实时解析执行,当为2时为SPRING服务名,在后台通过 SPRING_API获取相应服务并调用相应的方法。依次类推可以扩展别的接口方 式。
二、应用编码。
1、编写一个JSP:从主机信息配置表中读取所有主机及相应端口展示给 用户进行选择刷新。
2、编写后台ACTION:用于处理用户提交的待刷新的主机端口信息,通 过以下代码进行远程URL调用(本代码例使用了JRE的 java.net.URLConnection,用户可根据实际需要采用httpclient框架):
3、编写监听ACTION:用于监听上一步骤发出的消息,该步骤从缓存信 息配置表中读取待刷新的接口内容及接口类别进行调用。
三、应用部署:可将搭建好的应用部署至任意的servlet容器 (tomcat,weblogic等)中,也可以是机群当中,然后启动容器即可;
四、具体操作:访问(如果在内网访问任意一台机器,如果在外网则通 过外网IP)入口JSP,然后选择待刷新的机器点击提交即可。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发 明的保护范围之内。
机译: 一种基于时间段有效状态监控的维护低开销,非一致性缓存刷新机制的方法
机译: 用于重复数据删除存储系统中文件系统名称空间的基于位置的缓存刷新的方法和系统
机译: 实现基于dram的缓存的优先刷新的方法和系统