web服务器缓存管理方法及系统的制作方法

文档序号:9711576阅读:187来源:国知局
web服务器缓存管理方法及系统的制作方法
【技术领域】
[0001]本发明涉及服务器缓存技术领域,尤其是涉及一种web服务器缓存管理方法及系统。
【背景技术】
[0002]当前,Web服务器会部署在多台服务器上,而每台服务器有自身的缓存,每台Web月艮务器只能通知到自身的缓存是否需要更新,其他的Web服务器只能定时更新缓存,因此无法做到实时更新。如果需要实时更新,则需要一台中心缓存服务器进行管理或者需要知道有多少台服务器以及各服务器的ip地址,在配置后进行及时更新。设置中心缓存服务器的方式会使得Web服务器和缓存服务器中的带宽开销很大;配置多台ip地址方式则无法自动检测应用服务器变化,要人工介入配置。

【发明内容】

[0003]本发明所要解决的技术问题是:实时更新服务器缓存,无需人工介入配置,也不占用带宽开销。
[0004]为了解决上述技术问题,本发明采用的技术方案为:提供一种web服务器缓存管理方法,包括:
[0005]多台web服务器获取自身服务器的IP地址,并存储到中心数据库中;
[0006]web服务器更新数据后,通过从中心数据库获取其他web服务器IP地址发送用于更新其他web服务器的缓存信息;
[0007]其他web服务器通过http请求修改web API域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存彳g息。
[0008]为解决上述问题,本发明还提供一种web服务器缓存管理系统,包括:
[0009]获取存储模块,用于多台web服务器获取自身服务器IP地址,并存储到中心数据库中;
[0010]更新发送模块,用于web服务器更新数据后,通过从中心数据库获取其他web服务器IP地址发送用于更新其他web服务器的缓存信息;
[0011]更新结果模块,用于其他web服务器通过http请求修改web API域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存信息。
[0012]本发明的有益效果在于:区别于现有技术,本发明的多台web服务器获取IP地址后,存储到中心数据库中,在更新时,通过中心数据库的IP地址发送用于更新其他服务器的缓存信息,并修改域名为改IP地址,通过host命令,清除原有缓存,以替换为更新后的缓存信息。通过上述方式,本发明可以解决多台Web服务器缓存更新的实时性问题,并且可以自动识别新增的缓存服务器,无需人工介入配置,也没有占用带宽等开销。
【附图说明】
[0013]图1为本发明方法实施例一的流程示意图;
[0014]图2为本发明系统实施例二的结构示意图。
【具体实施方式】
[0015]为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0016]本发明最关键的构思在于:中心数据库存储多台web服务器的IP地址,当出现更新时,通过中心数据库即可快速通知其他服务器更新缓存。
[0017]请参照图1,本发明实施例一提供一种web服务器缓存管理方法,包括:
[0018]S1:多台web服务器获取自身服务器的IP地址,并存储到中心数据库中;
[0019]S2:web服务器更新数据后,通过从中心数据库获取其他web服务器IP地址发送用于更新其他web服务器的缓存信息;
[0020]S3:其他web服务器通过http请求修改web API域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存信息。
[0021 ]本发明的Web服务器访问数据库时,获取缓存服务器的IP地址,存入中心数据库中,在Web服务器启动后,多台Web服务器就会把当前服务器信息更新到中心数据库。当应用缓存变化时,可以通过从中心数据库中获取到各个应用于web服务器的ip地址的集合,就可以快速通知各个服务器更新缓存信息。
[0022]其中,在步骤S2之前,可在S1之后,或者S1之前,所述多台web服务器需要获取数据,并缓存于所有服务器中。获取的数据可以是产品分类信息等。在一个优选的实例中,可以在web服务器上设置缓存模块,用于获取数据,并进行缓存。
[0023]当其中一台web服务器对数据进行更新,例如修改了产品分类信息,则需要通过中心数据库中的IP地址获取用于更新其他web服务器的缓存信息。
[0024]而在实际操作中,步骤S3具体为:
[0025]其他web服务器通过中心数据库获取更新数据的web服务器IP地址;
[0026]其他web服务器通过web API清除原有缓存,并将web API地址修改为各台Web服务器(缓存在web服务器中)的IP地址;
[0027]在http请求头中添加host命令,获取更新后的缓存信息。
[0028]即通过http请求将清除缓存的webapi域名修改为上述获取到的IP地址,并在http请求头中增加Host,以对应站点域名。
[0029]例如:清除缓存的webapi 地址为http://abc.com/clearcache?key = product 其服务器 IP 为 192.168.1.100,则将请求修改为 http://192.168.1.100/clearcache?key =product,并在http请求头中加入命令Host:abc.com)。这种方式可以清除指定某个IP的Web服务器对应的缓存。
[0030]完整的请求文本如下:
[0031]GET http://192.168.19.125:8737/swagger HTTP/1.1
[0032]Host:192.168.19.125:8737
[0033]Connect1n:keep-alive
[0034]Accept:
[0035]text/html,applicat1n/xhtml+xml, applicat1n/xml;q = 0.9, image/webp,*/*;q = 0.8
[0036]Upgrade-1nsecure-Requests:1
[0037]User-Agent:Mozilla/5.0(ffindows NT 6.3;W0W64)AppleffebKit/537.36(KHTML,like Gecko)Chrome/47.0.2526.80Safari/537.36
[0038]Accept-Encoding:gzip, deflate,sdch
[0039 ] Accept-Language: en-US, en; q = 0.8, zh_CN ;q = 0.6,zh;q = 0.4
[0040]所以最后是gethttp://abc.com/clearcache?key = product
[0041]Host:abc.com。
[0042]重复上述步骤,即可将所有中心数据库记录的IP的对应Web服务器中的对应数据都进行一次清除缓存操作,例如将产品分类缓存清除。
[0043]区别于现有技术,本发明实施例一的多台web服务器获取IP地址后,存储到中心数据库中,在更新时,通过中心数据库的IP地址发送用于更新其他服务器的缓存信息,并修改域名为改IP地址,通过host命令,清除原有缓存,以替换为更新后的缓存信息。通过上述方式,本发明可以解决多台Web服务器缓存更新的实时性问题,并且可以自动识别新增的缓存服务器,无需人工介入配置,也没有占用带宽等开销。
[0044]对应地,本发明实施例二提供一种web服务器缓存管理系统100,包括:
[0045]获取存储模块110,用于多台web服务器获取缓存服务器的IP地址,并存储到中心数据库中;
[0046]更新发送模块120,用于web服务器更新数据后,通过中心数据库的IP地址发送用于更新其他web服务器的缓存信息;
[0047]更新结果模块130,用于其他web服务器通过http请求修改web API域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存信息。
[0048]其中,需要获取源数据才可实现更新,因此系统100,还包括:源数据模块140,用于所述多台web服务器获取数据,并缓存。
[0049]其中,所述更新结果模块130具体用于:
[OOM] 其他web服务器通过http请求获得web API地址及其服务器IP地址;
[0051 ]通过web API清除原有缓存,并将web API地址修改为缓存服务器的IP地址;
[0052]在http请求头中添加host命令,获取更新后的缓存信息。
[0053]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种web服务器缓存管理方法,其特征在于,包括: 多台web服务器获取自身服务器的IP地址,并存储到中心数据库中;web服务器更新数据后,通过从中心数据库获取其他web服务器IP地址发送用于更新其他web服务器的缓存信息; 其他web服务器通过http请求修改web API域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存彳g息。2.根据权利要求1所述的web服务器缓存管理方法,其特征在于,web服务器更新数据后,通过中心数据库的IP地址发送用于更新其他web服务器的缓存信息的步骤之前,还包括: 所述多台web服务器获取数据,并缓存。3.根据权利要求1所述的web服务器缓存管理方法,其特征在于,其他web服务器修改域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存信息步骤具体为: 其他web服务器通过中心数据库获取更新数据的web服务器IP地址; 通过web API清除原有缓存,并将web API地址修改为其他web服务器的IP地址; 在http请求头中添加host命令,获取更新后的缓存彳目息。4.一种web服务器缓存管理系统,其特征在于,包括: 获取存储模块,用于多台web服务器获取自身服务器的IP地址,并存储到中心数据库中; 更新发送模块,用于web服务器更新数据后,通过从中心数据库的获取其他web服务器IP地址发送用于更新其他web服务器的缓存信息; 更新结果模块,用于其他web服务器通过http请求修改web API域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存彳目息。5.根据权利要求4所述的web服务器缓存管理系统,其特征在于,还包括: 源数据模块,用于所述多台web服务器获取数据,并缓存。6.根据权利要求4所述的web服务器缓存管理系统,其特征在于,所述更新结果模块具体用于: 其他web服务器通过中心数据库获取更新数据的web服务器IP地址; 通过web API清除原有缓存,并将web API地址修改为其他web服务器的IP地址; 在http请求头中添加host命令,获取更新后的缓存彳目息。
【专利摘要】本发明公开了一种web服务器缓存管理方法及系统,其中方法包括:多台web服务器获取自身服务器的IP地址,并存储到中心数据库中;web服务器更新数据后,通过从中心数据库获取其他web服务器IP地址发送用于更新其他web服务器的缓存信息;其他web服务器通过http请求修改web?API域名为所述IP地址,并在http请求头中添加host命令,以清除原有缓存,并获取更新的缓存信息。通过上述方式,本发明可以解决多台Web服务器缓存更新的实时性问题,并且可以自动识别新增的缓存服务器,无需人工介入配置,也没有占用带宽等开销。
【IPC分类】H04L29/08
【公开号】CN105472008
【申请号】CN201510957778
【发明人】陈丛亮, 刘德建, 毛新生
【申请人】福建天晴数码有限公司
【公开日】2016年4月6日
【申请日】2015年12月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1