CN103024084B - 一种基于http协议的缓存刷新系统和缓存刷新方法 - Google Patents
一种基于http协议的缓存刷新系统和缓存刷新方法 Download PDFInfo
- Publication number
- CN103024084B CN103024084B CN201310005139.0A CN201310005139A CN103024084B CN 103024084 B CN103024084 B CN 103024084B CN 201310005139 A CN201310005139 A CN 201310005139A CN 103024084 B CN103024084 B CN 103024084B
- Authority
- CN
- China
- Prior art keywords
- host
- monitor
- main frame
- http
- http message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000000151 deposition Methods 0.000 claims abstract description 8
- 238000005516 engineering process Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 10
- 238000012806 monitoring device Methods 0.000 claims 2
- 230000001680 brushing effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 6
- 230000006872 improvement Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- HOWHQWFXSLOJEF-MGZLOUMQSA-N systemin Chemical compound NCCCC[C@H](N)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(O)=O)C(=O)OC(=O)[C@@H]1CCCN1C(=O)[C@H]1N(C(=O)[C@H](CC(O)=O)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H]2N(CCC2)C(=O)[C@H]2N(CCC2)C(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](NC(=O)[C@H](C)N)C(C)C)CCC1 HOWHQWFXSLOJEF-MGZLOUMQSA-N 0.000 description 1
- 108010050014 systemin Proteins 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于HTTP协议的缓存刷新系统,其与至少一个主机监听器通信,包括:所述主机信息表模块用于存放所有主机监听器的URL,包括主机IP和所述主机IP对应的刷新端口;所述主机展示页面模块用于读取主机监听器的URL,并将主机IP及其对应的刷新端口展示给用户;所述缓存调度器用于将用户选择的主机IP及其对应的刷新端口解析成HTTP消息,再向所述刷新监听器发送该HTTP消息;所述刷新监听器用于调用所述缓存调度器发送的HTTP消息,并从所述缓存信息表模块中读取相应接口处理HTTP消息;所述缓存信息表模块用于存放可刷新的所有接口。本发明能实现批量地、远程地对缓存进行实时刷新。
Description
技术领域
本发明涉及缓存处理技术领域,特别是涉及一种基于HTTP协议的缓存刷新系统和缓存刷新方法。
背景技术
目前绝大多数应用出于性能考虑都会采用缓存技术,一般是在系统启动时将一些常用的数据从配置文件等数据源中将原数据读取出来并缓存起来,如果原数据有修改则需要刷新缓存。
通过调查各渠道可以了解到现有的缓存刷新主要通过两种方式:
一、定时刷新,其采用apache-configuration框架,该框架提供有FileChangedReloadingStrategy定时刷新方案,即每隔一段时间进行配置文件修改日期检查。其弊端在于:1.刷新间隔不好控制,设置过小,对系统无用的消耗较大;设置过大,则实时性很差,缓存得不到及时刷新。2.其只能针对文件形式的配置,如果采用数据库等其它形式的缓存则无能为力了。
二、人手刷新,即当原数据修改时,人工访问某监听URL触发刷新,其实时性很强,但弊端在于:每个接口都有一个对应的刷新URL,需要人工对每个待刷新的接口进行URL调用,如果刷新的接口较多的情况下,很浪费人力,也容易出错。尤其是在机群环境下,需要进行N台主机*M个接口次操作。。
发明内容
本发明所要解决的技术问题是提供一种基于HTTP协议的缓存刷新系统和缓存刷新方法,用于解决现有缓存刷新效率和实用性较低的问题。
本发明解决上述技术问题的技术方案如下:一种基于HTTP协议的缓存刷新系统,其与至少一个主机监听器通信,所述的基于HTTP协议的缓存刷新系统包括主机信息表模块、主机展示页面模块、缓存调度器、刷新监听器和缓存信息表模块;
所述主机信息表模块,其用于存放所有主机监听器的URL(Uniform/UniversalResourceLocator,统一资源定位符),且所述主机监听器的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,然后选择待刷新的机器点击提交即可。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于HTTP协议的缓存刷新系统,其与至少一个主机监听器通信,其特征在于,所述的基于HTTP协议的缓存刷新系统包括主机信息表模块、主机展示页面模块、缓存调度器、刷新监听器和缓存信息表模块;
所述主机信息表模块,其用于存放所有主机监听器的URL统一资源定位符,且所述主机监听器的URL包括主机IP和主机IP对应的刷新端口;
所述主机展示页面模块,其用于读取主机监听器的URL,并将其中的主机IP和主机IP对应的刷新端口展示给用户进行选择;
所述缓存调度器,其用于将用户选择的主机IP和主机IP对应的刷新端口解析成HTTP消息,再向所述刷新监听器发送该HTTP消息;
所述刷新监听器,其用于调用所述缓存调度器发送的HTTP消息,并从所述缓存信息表模块中读取相应接口,并通过该接口对应的用于实现缓存刷新的方法处理HTTP消息;
所述缓存信息表模块,其用于存放可刷新的所有接口,且每个接口各自对应有用于实现缓存刷新的方法。
2.根据权利要求1所述的缓存刷新系统,其特征在于,所述缓存调度器还将HTTP消息发送至各个主机监听器,且所述各个主机监听器向所述缓存调度器反馈HTTP响应结果。
3.根据权利要求1或2所述的缓存刷新系统,其特征在于,所述缓存调度器采用httpclient技术发送HTTP消息或接收HTTP响应结果。
4.根据权利要求1所述的缓存刷新系统,其特征在于,所述缓存调度器采用httpclient技术将用户选择的主机IP和主机IP对应的刷新端口解析成HTTP消息。
5.根据权利要求1所述的缓存刷新系统,其特征在于,所述刷新监听器采用beanshell实时调用技术调用相应接口。
6.根据权利要求1所述的缓存刷新系统,其特征在于,所述缓存调度器采用servlet缓存调度器或struts2_action缓存调度器。
7.一种基于HTTP协议的缓存刷新方法,其特征在于,基于HTTP协议的缓存刷新系统,包括主机信息表模块、缓存信息表模块、主机展示页面模块、缓存调度器和刷新监听器;所述基于HTTP协议的缓存刷新系统与至少一个主机监听器通信;
步骤1,主机信息表模块存放所有主机监听器的URL,且所述主机监听器的URL包括主机IP和主机IP对应的刷新端口;
步骤2,缓存信息表模块存放可刷新的所有接口,且每个接口各自对应有用于实现缓存刷新的方法;
步骤3,主机展示页面模块读取主机监听器的URL,并将其中的主机IP和主机IP对应的刷新端口展示给用户进行选择;
步骤4,缓存调度器将用户选择的主机IP和主机IP对应的刷新端口解析成HTTP消息,再向所述刷新监听器发送该HTTP消息;
步骤5,刷新监听器调用所述缓存调度器发送的HTTP消息,并从所述缓存信息表模块中读取相应接口,并通过该接口对应的用于实现缓存刷新的方法处理HTTP消息。
8.根据权利要求7所述的缓存刷新方法,其特征在于,所述缓存调度器还将HTTP消息发送至各个主机监听器,且所述各个主机监听器向所述缓存调度器反馈HTTP响应结果。
9.根据权利要求7或8所述的缓存刷新方法,其特征在于,所述缓存调度器采用httpclient技术发送HTTP消息或接收HTTP响应结果,且采用httpclient技术将用户选择的主机IP和主机IP对应的刷新端口解析成HTTP消息。
10.根据权利要求7所述的缓存刷新方法,其特征在于,所述刷新监听器采用beanshell实时调用技术调用相应接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310005139.0A CN103024084B (zh) | 2013-01-07 | 2013-01-07 | 一种基于http协议的缓存刷新系统和缓存刷新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310005139.0A CN103024084B (zh) | 2013-01-07 | 2013-01-07 | 一种基于http协议的缓存刷新系统和缓存刷新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103024084A CN103024084A (zh) | 2013-04-03 |
CN103024084B true CN103024084B (zh) | 2016-05-11 |
Family
ID=47972208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310005139.0A Active CN103024084B (zh) | 2013-01-07 | 2013-01-07 | 一种基于http协议的缓存刷新系统和缓存刷新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024084B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294566A (zh) * | 2016-07-26 | 2017-01-04 | 努比亚技术有限公司 | 缓存管理系统及实现方法 |
CN109344353B (zh) * | 2018-09-12 | 2021-10-08 | 福建天泉教育科技有限公司 | 一种可配置化的本地缓存刷新方法及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484155A (zh) * | 2002-08-13 | 2004-03-24 | �Ҵ���˾ | 刷新网络代理高速缓存服务器对象的系统和方法 |
CN1620012A (zh) * | 2003-11-19 | 2005-05-25 | 国际商业机器公司 | 更新/重装在网络上浏览过的页面内容的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100367590B1 (ko) * | 2000-04-28 | 2003-01-10 | 엘지전자 주식회사 | 정보 표시 장치 및 방법 |
-
2013
- 2013-01-07 CN CN201310005139.0A patent/CN103024084B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484155A (zh) * | 2002-08-13 | 2004-03-24 | �Ҵ���˾ | 刷新网络代理高速缓存服务器对象的系统和方法 |
CN1620012A (zh) * | 2003-11-19 | 2005-05-25 | 国际商业机器公司 | 更新/重装在网络上浏览过的页面内容的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103024084A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2386531A (en) | A collaborative, fault-tolerant, scaleable, flexible, interactive real-time display and processing method and apparatus | |
CN103647726B (zh) | 一种报文调度方法及装置 | |
CN104754036A (zh) | 一种基于kafka的消息处理系统及处理方法 | |
WO2008082772A3 (en) | Dynamic allocation of message buffers | |
CA2452916A1 (en) | System and method for improved synchronization between a server and a client | |
TW200707228A (en) | System and method for modification of virtual adapter resources in a logically partitioned data processing system | |
EP2357558A3 (en) | Independent access to virtual machine desktop content | |
WO2010085310A3 (en) | Collaborative browsing and related methods and systems | |
CN104462037B (zh) | 文档协同编辑中的一致性维护方法 | |
CN101651698A (zh) | 基于nio和io的面向发布订阅系统的传输方法 | |
CN106230922A (zh) | 一种消息订阅方法、消息生产单元及消息接收单元 | |
WO2010106390A8 (en) | Optimized redirection for network architectures | |
CN105247875B (zh) | 分发控制系统和分发系统 | |
CN105575203A (zh) | 一种实现云教学的方法、系统及云服务器 | |
CN103024084B (zh) | 一种基于http协议的缓存刷新系统和缓存刷新方法 | |
CN102609307A (zh) | 多核多线程双操作系统网络设备及其控制方法 | |
CN104572099A (zh) | 基于组件和中间件的低耦合框架数据处理方法及系统 | |
KR20130009869A (ko) | 마이크로블로그 클라이언트, 마이크로블로그 메시지들을 집적하기 위한 방법 및 인스턴트 메시징 클라이언트 | |
CN107784077A (zh) | 一种多终端云上城市系统 | |
CN103812940A (zh) | 集群会话的集中式管理方法 | |
CN101087293A (zh) | 一种显示聊天室成员被屏蔽的方法、聊天客户端与系统 | |
CN203301746U (zh) | 一种无线信息加载系统 | |
CN201571155U (zh) | 多媒体视频系统 | |
CN102567274A (zh) | 实现邮件数据在移动终端和计算机之间转移的方法及系统 | |
CN108471375A (zh) | 一种消息处理方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |