一种优化服务器缓存管理的方法

文档序号:9922114阅读:342来源:国知局
一种优化服务器缓存管理的方法
【技术领域】
[0001 ]本发明属于数据存储领域,具体涉及一种优化服务器缓存管理的方法。
【背景技术】
[0002]随着现在电子商务互联网发展,大量信息数据通过互联网传播到世界的四面八方,加之人们对信息量的需求也越来越大,如何利用互联网将信息数据更快更准确地提供给用户成为企业发展的关键。
[0003]WEB缓存是一种HTTP应用加速技术,HTTP代理服务器将客户机访问的可以缓存的内容存储下来,当用户想访问一个网站的URL(Uniform Resource Locator,统一资源定位符),这个访问请求经过web反向代理服务器处理时,web反向代理服务器会检查自身缓存中是否存在该URL所对应的数据内容,如果存在,直接从缓存中读取出该数据内容返回给用户;如果不存在,则向web反向代理服务器后端的应用服务器发起请求,应用服务器接收到请求后,会把内容返回给web反向代理服务器,web反向代理服务器在将数据内容传递给用户的过程中,也会将数据内容存入自身的缓存中。当用户下次再访问同一个URL时,web反向代理服务器直接从缓存中取出内容返回给用户。这种机制在很大程度上提高网站内容的传输效率。但由于网站的数据不停地发生变化,我们需要在网站数据发生变化的时候及时清除web反向代理服务器中相应的缓存内容,保证缓存内容的及时更替。目前web反向代理服务器提供如下三种常用的缓存清除机制:
[0004](I)按照url清除缓存,即通过命令或者http请求的方式,通知web反向代理服务器清除哪些url的缓存。比如,如果要清除www.a.jpgurl的缓存,通过浏览器访问www.a.jpg/purge就可以清除该ur I在web反向代理服务器上的缓存;
[0005](2)删除web反向服务器内的全部缓存数据,即清除web反向代理服务器的缓存目录;
[0006](3)人为设置缓存数据的过期时间,当到达过期时间时,web反向代理服务器的缓存数据自动失效并清除;
[0007]可见三种缓冲清理方式虽然能起到清除缓存数据的作用,但都存在一定的缺陷,方法一受限于只能按照url删除,导致当清除一个域名下所有url缓存时,需要执行大量命令指令,删除操作效率低,降低缓存管理的性能;第二种将全部缓存数据删除,当客户端向web反向代理服务器发送数据请求时,那些未更新的数据因被删除需要再次跨广域网(WAN,Wide Area Network)从服务器获取,极大降低页面访问速度;第三种方法只能等待缓存自动失效,数据时效性差;
[0008]在对web反向代理服务器的研究过程中也发现,基于web反向代理服务器的缓存存储结构过于单一化,都是按照URL进行存储区域的划分,而每个URL占据特定的存储区域,导致清除缓存的方式较为单一,其一是按照URL清除缓存;其二是依赖缓存的自动失效机制。
[0009]在这样的技术背景之下,为了提升网站的性能,提高网站的响应速度,本申请建立了一套网站数据的缓存优化机制。

【发明内容】

[0010]为解决上述问题,本发明目的是,提供一种优化服务器缓存管理的方法,在网站数据发生变化的时候及时清除web反向代理服务器中相应的缓存内容,保证缓存内容的及时更替;用以改进现有web反向代理服务器的缓存管理方式,有助于提升网站性能,提高网站的响应速度,以为用户提供准确又快捷的数据传输服务。
[0011 ]本发明技术方案如下:一种优化服务器缓存管理的方法,其特征在于,通过修改web反向代理服务器中的缓存模块及缓存的存储结构,构建web反向代理服务器分层的二级缓存结构,并配置与包括分层的二级缓存存储结构相匹配的缓存失效方式,保证时效数据的及时清除和更新;具体步骤如下:
[0012]步骤1:考虑到web反向代理服务器能代理多个网站的数据请求,将web反向代理服务器的存储结构修改为按照网站域名分开存储,不同的网站域名占据不同的存储区域;
[0013]步骤2:构建web反向代理服务器分层的二级缓存结构,一个网站域名下涵盖多个网页url,因而在基于网站域名缓存的存储结构之上,再将web反向代理服务器的存储结构细化分为按照网页url分开存储,不同的网页url占据不同的存储区域;
[0014]步骤3:修改web反向代理服务器缓存的管理模块:将web反向代理服务器自带的缓存失效方式和修改之后的二级缓存存储结构进行适配,使web反向代理服务器既支持基于网页URL的缓存删除机制,又能支持基于网站域名的缓存删除机制;
[0015]步骤4:为web反向代理服务器的二级缓存结构进行配置,并为各网站域名下的网站缓存数据设置存储路径,存储路径格式为/opt/cache/网站域名、/opt/cache/网站域/URL标示ο
[0016]进一步,web反向代理服务器的缓存失效方式建立在基于网页URL的缓存存储结构之上,由于web反向代理服务器存储结构由原有的一级存储结构修改为二级存储结构,相应地,web反向代理服务器自带的缓存失效方式修改为与二级存储结构相匹配的模式;
[0017]网站域名的数据内容隶属于一级缓存结构,如该数据内容失效,清空网站域名对应的一级存储结构及其包括的所有二级存储结构;
[0018]网页URL的数据内容隶属于二级缓存结构,如该数据内容失效,清空网页URL对应的二级存储结构。
[0019]进一步,web反向代理服务器启动工作后,当需更新整个域名下的缓存数据时,通过向web反向代理服务器发送“清除缓存”的指令,这个指令指明预删除的数据是域名级别或是URL级别;
[0020]如果是域名级别的数据,则“清除缓存”的命令会清空该网站域名存储区内所有数据;
[0021 ]如果是URL级别的数据,则“清除缓存”的命令只会清除单个网页URL存储区内的数据,而不会影响其所属网站域名存储区内其他URL的数据内容。
[0022]进一步,当一个网页URL的缓存内容超过有效期后,web反向代理服务器会先找到该网页URL所属域名占据的存储区,然后在该域名的存储区寻找该网页URL的存储区,并删除缓存内容;当一个域名区内所有网页URL缓存内容超过有效期,web反向代理服务器直接清空该域名的存储区。
[0023]进一步地,“清除缓存”指令可通过shell脚本语言、python语言、perl语言等实现。
[0024]本发明与现有技术相比,其有益效果:
[0025](I)本发明通过设计两级存储结构,能够实现按需批量删除,而无需再通过命令的方式逐条删除,提高缓存清除的效率,有力地解决现有技术中所存在的删除效率低下的问题;
[0026](2)从缓存管理的角度,本发明细化了缓存存储结构,使web反向代理服务不仅能按照域名管理数据,还能按照URL管理数据,包括数据的添加、维护和删除,增加缓存数据更新和缓存数据管理的便利性;
[0027](3)本发明提供缓存自动失效方式与缓存存储结构的匹配机制,提供基于URL和基于网站域名的双重的缓冲数据删除方式,优化缓存数据的管理。
【附图说明】
[0028]图1为本发明实施例中web反向代理服务器的缓存存储结构示意图;
[0029]图2本发明实施例中web反向代理服务器的缓存管理的工作流程图;
[0030]图3为本发明实施例中web反向代理服务器的缓存数据添加流程图;
[0031]图4为本发明实施例中web反向代理服务器的缓存数据删除流程图。
【具体实施方式】
[0032]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0033]图1为本发明实施例中web反向代理服务器的缓存存储结构示意图。web反向代理服务器的缓存存储结构实施分层存储,缓存存储结构先依据网站域名w胃.a.com,WWW.b.com,WWW.c.com划分出三个不同的存储区域,每个网站域名的缓存数据占据一个存储区域,然后域名缓存区域再依据该网站的URL细分为不同存储区域,上述三个网站域名分别都包含两个 URL,www.a.com 包含的URL 依次为 www.a.com/a.com 和 www.a.com/b.com,域名缓存区域根据域名所涵盖的URL数目,为每个URL划分相应的存储区域;当web反向代理服务器接收到应用服务器的响应之后,会将响应内容根据当前请求的域名写入相应目录下的文件中;
[0034]通过上述方式,将存储结构划分为二级存储结构,有利于更为快速地定位缓存数据文件;
[0035]进一步地,一个网站内包含有多个URL,不同URL对应的页面内容存储在不同的区域,相应的每一个缓存区域的大
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1