Web页面缓存技术在业务系统中的应用

(整期优先)网络出版时间:2022-09-28
/ 2

Web页面缓存技术在业务系统中的应用

刘文昊,郭德孺

广东电网有限责任公司惠州供电局 516000

摘要:本文主要阐述了采用缓存技术的优点和缺点,并给出了实现缓存的方法,并在此基础上,提出了在业务系统中采用网页缓存的方法。本文对该系统的整体架构进行了详细的描述,将复杂的系统划分成若干易于处理的模块,利用业务中间件实现了数据显示的灵活性和方便。在业务系统中,不仅可以缓存数据,还可以实现对业务中间件的缓存。通过对所提方案的具体实施,验证了该方案的可行性。

关键词:缓存技术;Web页面;应用;业务系统

随着网络技术的发展,因特网正越发广泛地成为一个默认的应用开发平台。目前,基于网站的应用日益增多,而以Web为基础的软件开发也逐渐成为了主流。

缓存技术是一种降低服务器负载、降低网络拥塞,增强WWW可扩充性的一种有效方法。它的基本思路就是利用用户的访问时间局部化原则,将用户所访问的信息存储到Cache中,然后在Cache中保存一份复制文件。

研究显示,缓存技术能提供下列益处:

①减少网络通信量,从而减少了网络拥挤:复制文件的复用将会减少客户终端的带宽开销,用户可以节约带宽成本,控制带宽需求的增加和更好的带宽管理。

②减少用户的访问时延,其主要原因如下:1.在代理服务器上缓存的内容,用户可以通过代理直接获得,减少了数据的传输时延;2.由于网络拥挤和服务器负荷减少,未被缓存的内容可以更快地被用户获得。

③因为用户要求的部分内容可以通过代理来获得,因此可大大减少远程服务器的负荷。

④若因远端服务器失败或网路失败而导致远端服务器不能回应使用者的要求时,使用者可以透过服务器取得软体上的软体,增强软体的健壮性。

然而,缓存技术也会导致下列问题:

①用户可能从代理那里获得一些过时的信息。

②如果缓存失败,则会因为额外的代理处理费用而导致用户的存取延迟增大。所以,在Web缓存系统的设计中,应该努力实现最大的Cache命中和最小的失败成本。

③代理会是一个瓶颈。所以,应该设置一个最高的服务用户数目和最低的服务效率,以达到与用户直接或远端服务器相同的效能。

因此,对网络高速缓存系统和最优问题进行深入的研究是非常有意义的。本文着重探讨了在商业环境下,如何更好地使用网络高速缓存,并给出了一个合理的解决方法。

一、缓存技术

据统计,在Web应用系统中,有20%-50%的数据在短期内不会改变,但是在程序设计中,必须把这些数据定义为动态的内容,以进行处理,这样就会占用数据库和网络服务器的资源。比如,在一个电子商务网站上,商品的定义也许不会在短时间内发生变化,但也有可能在一定时期后发生变化。所以,每次使用者在浏览产品清单时,网页程式必须与类别资料库互动,并占据资料库的连通性。另外,当不同的使用者在同一时间存取一套统计报告时,由于报告的重复产生,会消耗大量的资料库资源,从而增加了系统的工作负荷。为了解决以上问题,可以采用缓存技术进行Web应用的开发,或者在Web应用的部署中,利用Cache缓存的网页输出或者数据对象,可以大大提高网络应用的性能和稳定性。

在存取大量的基本资料或统计报告时,程式会先检查是否有相应的资料,如果有,程式会从缓存信息中得到回应;否则,所访问的内容就会被视为一种动态的信息,程式会从资料库中取得对应的资料,而统计报告则会产生一个符合需求的动态网页,然后再将该信息写入到媒体中,以供使用者使用。

Cache流程可以有效地减少与数据库之间的互动,同时也避免了每次处理一个请求时产生的网页档案,这对系统的性能消耗和系统稳定性都有很大的帮助。当应用了有效的缓存策略和异常捕捉过程之后,即使发生了故障,Web容器也能利用缓存数据对象来回应用户的要求。

二、Web页面缓存

Web内容可以缓存于客户端、代理服务器和服务器端。

在Client Cache,也就是Browser Cache,新一代网络浏览器通常会在设定对话框中找到有关缓存的设定,它可以在计算机上留出一片硬盘空间,以便保存曾经浏览过的网页。浏览器缓存的工作原理很简单:在相同的工作阶段,要对缓存进行一次检验,以确保缓存是否是新的。该缓存在用户单击“后退”按钮或单击刚刚访问的链接时,当浏览到相同的图像时,可以立即显示出来。

在Agent Server端快取的大小要大于客户端快取的大小。代理服务器组采用相同的机制来为数以百计的用户提供服务,而大型企业通常会在其防火墙上安装一个代理缓存或独立的缓存装置。因为它在原始的网路外,因此要求必须传送到这些网路上。您可以设定一个中间服务器,这个服务器会处理所有的网路要求,并把这个信息传送至背景网路,而不必由使用者手动设定。代理服务器快取是一种共享的缓存,不仅服务于一位使用者,而且通常会被许多使用者使用,因为相同的拷贝可以重复使用许多次,因此可以有效地降低对应的时间和带宽的使用率。

在服务器端的缓存也叫做网络缓存、反向代理缓存、间接代理缓存。网站管理员可以自行部署,使其站点更加易于扩充和提高性能。一般会添加一个或更多的负载平衡服务器。本文重点介绍了服务器端高速缓存技术。

三、使用缓存的业务框架

针对单一主机作为Web服务器所面临的长时间响应和容量不足等问题,目前大多数Web服务站点使用的是服务器集群技术,它是一组由网络服务器组成的,它为因特网的使用者提供服务。访问重新导向通常是通过一个服务器来实现的,以保持系统的负载均衡;其它服务器可以提供多个Web服务,或者所有的服务器协作提供整个Web服务。这种服务器是一种高性能的、可扩展的网络服务器,它能够有效地为特定的站点分配负荷,提高服务质量。然而,由于各个服务器的互不影响,导致了大量的系统资源浪费。由于每个服务器都要保留相同的数据,使得数据的一致性操作变得更加困难,而负载均衡器要同时处理大量的信息,很可能会导致系统的存取精度降低。

针对上述问题,网络缓存技术应运而生。该方法能减少响应时间,提高存储速度,并能缓解文件服务器的负荷。它的关键技术是在数据层和应用层之前添加缓存层,以提高缓存层的数据命中率。因此,增加了存储速度,减少了数据层的负载。这个体系结构实现了一个可扩展的集群系统,它的中心是一个网络缓存,它的体系结构,见图1。

图1

四、具体实现

该系统采用了层次结构,利用层次的思想,把一个庞大的系统分成若干个简单的单元,从而减少了问题的复杂性,使设计思路更加明确。同时也为多个开发人员提供了一个协同的工作环境,使得软件开发的并行性得到了极大的提升。它的结构在图2中显示。

图2

客户机向使用者提供三个方面:数据,数据显示格式,数据处理。业务中间件可以控制不同的显示格式和不同的数据处理。这个系统的缓存可以数据缓存或缓存服务中间件。图3显示了特定的高速缓存结构。

图3

结论:正确地利用Cache可以为系统带来巨大的好处。该方法在实践中得到了很好的应用。本文的创新点是:提出一种在业务系统中合理利用Web缓存的方法,并对其进行了详细的实施。在系统的压力测试中,有2000个用户同时登录,每秒完成38.35次请求,服务器的83.56 kB/秒,通过实验证明其可行性。

<基金项目:广东电网有限责任公司职工创新031312KK52220004>

参考文献:

[1]柳俊.Redis分布式缓存在远程智能抄表系统中的应用[D].华中科技大学,2018.

[2]曾一福.中山学院教务系统的设计与实现[D].大连理工大学,2018.

[3]马原,沈炜,贾宇波.AngularJS框架的搜索引擎优化策略与实现[J].工业控制计算机.2017,(4).113-114,125.