动态Web内容生成和交付技术综述

https://doi.org/10.1016/j.jnca.2009.03.005获取权限和内容

摘要

虽然Web应用程序几乎在每个领域都能满足个人需求和业务功能,但Web应用程序的响应能力和性能是其成功的关键因素。随着Web技术的不断创新,Web站点已经从文档Web发展到应用Web,并在最近进一步发展到服务Web。在发展过程中,提供动态内容的网站开始呈指数级增长,以主导该领域。动态页面要求服务器在将每个用户的请求发送回用户之前生成响应内容,这会引入网络流量、服务器工作负载并导致额外的延迟。如何加快动态内容的生成和分发,以减少用户感知的延迟并提高应用程序性能,这引起了研究人员和业界的巨大努力,其中缓存是一项至关重要的技术。本文试图调查该领域最近发表的创新研究和产品,并以路线图的形式进行介绍。它首先研究了Web应用程序的动态特性和缓存的固有挑战。然后,本文的其余部分分别探讨了内容生成过程和内容交付过程的各种加速解决方案,并分析了它们之间的差异缓存解决方案适合不同特性的Web应用程序。最后,对Web缓存技术的未来发展趋势进行了总结。

介绍

随着我们进入互联网服务时代,“在线”成为任何试图在当今市场上占据主导地位的软件系统的必要条件。就连软件巨头微软也开始意识到这一紧迫性,并决定“上线”,此前谷歌(GOOG.O:行情)和雅虎(Yahoo Inc.行情)等许多基于网络的服务最近在这一领域获得了发展势头。“在线”软件(也称为软件即服务,SaaS)由低成本的带宽、广泛的无线访问、廉价的内存和存储所支持,其特点是快速的发布周期、产品是否在PC或其他计算设备上运行的不可知态度,以及将本地、点对点、,和在线功能(Ricadela,2005)。不用说,过去10年来,大多数网站都是为了只发布静态信息而开发的,自那时以来,它们已经稳步发展,无处不在,以服务于动态复杂的Web内容和业务功能。

从以文档Web为标志的第一代Web开始,Web站点正在演变为应用Web,并在最近进一步发展为服务Web。DocumentWeb只是让Web服务器承载Internet可访问的文档,其中大多数是静态HTML和图像。大多数传统的内容交付加速技术只针对文档Web。随着Web站点的迅速普及,与电子商务模型相一致的应用程序Web开始出现,它依赖于服务器端程序执行托管在应用程序服务器上的业务逻辑,以根据每个用户请求生成动态HTML,例如在线书店、拍卖网站和企业Web应用程序。Web应用程序的增长提供了电子商务流程集成的机会,这反过来推动了技术进步,并导致服务Web尚未成熟。服务Web由支持Web服务并将XML作为响应交付的应用服务器提供支持。应用程序Web和服务Web都需要在服务器端为每个唯一的请求动态生成内容。在本文中,我们在讨论内容生成和交付时并没有具体区分这三种类型的Web,它们在下文中都被称为Web应用程序。

响应性即用户感知延迟,是人们用来确定应用程序Web是否适合个人或业务需求的最重要的性能度量。为了通过减少客户端响应延迟和网络流量来提高Web性能,研究部门和工业部门都做出了大量努力。工作内容多种多样,从增加网络带宽、提高数据传输速率、在每个可能的位置缓存内容,到以任何方式扩展服务器场。

另一方面,使用各种移动资源受限设备对Web内容的移动访问显著增加。据观察,支持Web的PDA和手机以及试图“动员”Web内容的努力都在爆炸式增长。由于移动通信固有的稳定性不如有线网络,因此对响应性的要求更高。所有这些都要求使用这些技术来加快内容的生成和分发。

Web应用程序需要比静态内容Web站点更复杂的基础结构,如图1所示。该系统模型在实践中是一个典型的模型,将在本文的其余部分中引用。它包括

(1) 边缘服务器,通过缓存内容和应用程序代码,将服务从原始服务器扩展到靠近用户的互联网边缘,以减少客户端延迟并卸载原始服务器。新一代边缘服务器也支持缓存应用程序代码。(2) Web服务器,它接收HTTP请求并将响应发送回客户端。(3) 执行业务逻辑的应用程序服务器。应用服务器通常连接到后端企业信息系统,并执行由业务规则驱动的读或写操作。大多数动态内容都是在应用服务器上生成的。(4) 企业信息系统,内容最初存储在这里。它可以有多种形式,例如XML、文件系统或DBMS,其中DBMS是实际使用中最流行的信息系统类型。

在这种典型的Web应用程序部署基础架构中,有许多变量可以影响用户感知的延迟。这可以用以下符号表示:L(左)t吨=L(左)域名系统+L(左)+L(左)纳特+L(左)+L(左)u个其中,用户感知的总延迟L(左)t吨是DNS查找引入的延迟的总和L(左)域名系统,源服务器为生成动态页面引入的延迟L(左),网络流量引入的延迟L(左)纳特,用户使用的互联网接入带来的延迟(与DSL或有线接入相比,拨号接入带来更多延迟)L(左)以及用户用来访问网页的机器速度所带来的延迟L(左)u个.

如果无法进行内容缓存,动态内容生成和交付将消耗网络带宽和响应延迟。缓存有四个主要目的:提高用户感知的延迟,减少互联网流量(带宽可用性),提高源服务器的可扩展性和可用性。虽然遗留内容缓存和内容分发网络(CDN)显著提高了静态网站的性能,但它缺少缓存动态内容所需的主动有效的无效机制。缓存动态内容的关键问题是确定应该缓存什么,缓存应该放在哪里,以及如何有效地使缓存的数据无效。这些新的挑战和问题引起了研究:(1)Web应用程序的哪些特性给缓存动态内容带来了挑战:分析动态内容的可缓存性和挑战,并研究如何改进它;(2) 加速动态内容生成:研究如何通过架构内缓存、数据库或边缘计算来加速内容生成,以自适应或编程方式实现这些方法;(3)加速动态内容交付:探索新的动态内容缓存策略和内容交付方法。

Sivasubramanian等人(2007年)的一项相关调查审查了数据库驱动Web应用程序的内容缓存技术,Pathan等人(2008年)的另一项调查调查了内容分发网络中使用的技术,本调查将范围扩展到动态内容Web从生成到交付的加速技术,包括内容和计算的缓存。本文的其余部分组织如下。在第2节中,我们分析了Web内容的特征。第3节解释了不同的缓存技术和部署模型如何帮助加快内容生成。第4节讨论了不同类型的内容交付方法。第5节进一步研究了这些内容缓存解决方案如何适用于具有不同特征的应用程序。最后,在第6节中,我们讨论了该领域剩余的挑战和研究机会,并在第7节中总结了我们的调查。

节代码段

动态内容网站特征

本节定义了适用于动态页面的显著特征,可以帮助我们提出改进性能的良好解决方案。然而,当谈到Web应用程序的特征时,研究人员首先基于启发式定义特征。同一研究人员或其他研究人员后来证明了一些启发式是正确的。Rabinovich和Spatscheck(2002)定义了一套适用于任何Web的经验法则

动态内容生成和缓存

目前,大多数Web页面在交付给客户端之前都是在服务器端动态生成的。即使内容缓存代理可用,如果缓存命中未命中或缓存无效,也必须按需生成内容。生成动态页面时引入的延迟L(左)由原始服务器的性能和可扩展性决定。

内容生成过程包括执行业务逻辑、访问数据和生成演示文稿等任务

动态内容交付

本节重点介绍动态页面交付的缓存技术。这些是适用于图1的Web服务器和客户端之间的解决方案。通过在两个正交维度中查看可用解决方案,即基于缓存位置和缓存对象类型,可以对其进行广泛分类,如图3所示。

应用程序特征和缓存解决方案

前几节描述了改善延迟不同参数的不同解决方案(等式(1))。缓存用于提高图4所示区域的性能。

然而,并非所有应用程序都能从所有这些解决方案中受益。例如,具有高计算需求的Web应用程序将无法从内容缓存中获益,但功能缓存将是更理想的解决方案。具有使用拨号连接的稀疏客户端的Web应用程序将受益

未来的方向

现在,我们可以讨论Web内容生成和交付技术的未来可能的发展方向。我们将其分为四类,可信的对等网络缓存和交付,利用客户端访问模式,考虑Web内容的语义、和缓存的正确性.

可信的对等网络缓存和交付:虽然Web应用程序本身探索了加速内容生成和分发的机会,但突出的互联网技术

总结

响应能力是Web应用程序最重要的成功因素。研究人员和从业者一直在尝试各种方法来改进它,其中内容生成和交付中的缓存是关键技术。为应用程序的各个方面开发了大量解决方案,从服务器、客户端和代理端的位置、体系结构层的层次,到页面分割和组装的过程。特定的缓存方法对于给定的

工具书类(91)

  • G.公司。福尔蒂诺等。

    专题:利用P2P、网格和代理技术增强内容网络

    未来一代。公司。系统。

    (2008)
  • 西。等。

    动态Web内容的对象特征建模

    J并行分布计算

    (2003)
  • 亚马逊网络服务。。。
  • Aggarwal A,Rabinovich M.互联网托管服务动态复制方案的性能,1998。。。
  • Akamai Technologies Inc。。。。
  • Altinel M、Bornhoevd C、Krishnamurthy S、Mohan C、Pirahesh H、Reinwald B.缓存表:为自适应。。。
  • Alzoubi HA、Lee S、Rabinovich M、Spatscheck O、der Merwe合资公司。重新访问了任何广播CDN。收录于:WWW'08:……会议记录。。。
  • Amiri K、Park S、Tewari R、Padmanabhan S.Dbproxy:Web应用程序的动态数据缓存。In:ICDE04:会议记录。。。
  • Amza C、Chanda A、Cecchet E、Cox A、Elnikety S、Gil R、Marguerite J、Rajamani K、Zwaenepoel W.规范和。。。
  • Amza C、Soundararajan G、Cecchet E.动态内容网站中具有强一致性的透明缓存。输入:ICS。。。
  • 美国。Androutsellis-Theotokis公司等。

    对等内容分发技术综述

    倒排索引综述

    (2004)
  • Awadallah A,Rosenblum M。vMatrix:一个虚拟机网络,用于监控动态内容分发。输入:。。。
  • Barbir A、Penno R、Chen R、Hofmann M、Orman H。开放可插拔边缘服务(OPES)架构,互联网。。。
  • BitTorrent-Peer-to-Peer文件共享应用程序。。。
  • Beck A,Hofmann M.使互联网能够提供面向内容的服务。摘自:第六届国际。。。
  • Bent L,Rabinovich GM,Voelker Z.Xiao,大型网站人群特征及其对内容的影响。。。
  • Breslau L、Cao P、Fan L、Phillips G、Shenker S。网络缓存和类zipf分发:证据和含义。输入:。。。
  • D。布罗迪等。

    使用基于关键字的片段检测加速动态Web内容交付

    网络工程杂志

    (2005)
  • Candan KS、Li W-S、Qiong W-P、Agrawal HD。为数据库驱动的网站启用动态内容缓存。输入:。。。
  • Cannataro M、Cuzzocrea A、Mastroianni C、Ortale R、Pugliese A。用面向对象建模自适应超媒体。。。
  • Cao P,Zhang J,Beach K。主动缓存:在Web上缓存动态内容。摘自:IFIP国际会议记录。。。
  • Castro P、Giraud F、Konuru R、Ponzo J、White J.针对ajax应用程序的预承诺客户端状态管理服务。。。。
  • Challenger J、Iyengar A、Dantzig P.一个可扩展的系统,用于一致地缓存动态Web数据。在:……会议记录。。。
  • Challenger J、Iyengar A、Witting K、Ferstat C、Reed P。高效创建动态Web的发布系统。。。
  • Chen H,Iyengar A.服务差异化内容的分层系统。万维网:互联网和网络信息。。。
  • Davis A、Parikh J、Weihl WE。边缘计算:将企业应用程序扩展到互联网的边缘。位于:WWW Alt。。。。
  • J。多梅内奇等。

    Ddg:一种用于当前Web生成的高效预取算法

    Hotweb(热网)

    (2006)
  • Douglis F,Haro A,Rabinovich M.HPP:支持动态文档缓存的HTML宏观预处理,In:Proceedings of。。。
  • Feldmann A、Caceres R、Douglis F、Glass G、Rabinovich M。异构带宽中Web代理缓存的性能。。。
  • Fox A、Gribble S、Chawathe Y、Brewer EA。使用基础设施代理适应网络和客户端变化:。。。
  • Fu X,Shi W,Akkerman A,Karamcheti V.CANS:可组合、自适应网络服务基础设施In:Proceedings of。。。
  • 谷歌公司。。。。
  • Gadde S、Rabinovich M、Chase J.减少、重用、回收:构建大型互联网缓存的方法。In:关于…的研讨会。。。
  • L。等。

    通过特定于应用程序的数据复制提高可用性和性能

    IEEE传输。知识。数据工程。

    (2005)
  • Groothuyse T、Sivasubramanian S、Pierre G.Globetp:可扩展Web应用程序的基于模板的数据库复制。。。。
  • Gupta R,Ramamritham K。动态数据分发中连续聚合查询的优化查询规划。。。
  • Java和.NET的Hibernate-Relational持久性。。。
  • IBM Corp.Websphere平台。。。
  • 医学博士。因德吉特·辛格等。

    使用J2EE平台设计企业应用程序

    (2002)
  • Inria EC.C-jdbc:数据库集群的中间件框架。。。
  • Kazaa-Distributed对等文件共享服务。。。
  • Karbhari P、Rabinovich M、Xiao Z、Douglis F.Acdn:应用程序的内容交付网络。包含:SIGMOD'02:。。。
  • Karve A、Kimbrel T、Pacifici G、Spreitzer M、Steinder M、Svilidenko M、Tantawi A。集群Web的动态放置。。。
  • Kubiatowicz J、Bindel D、Chen Y、Eaton P、Geels D、Gummadi R、Rhea S、Weatherspoon H、Weimer W、Wells C、Zhao B。。。。
  • Labrinidis A,Roussopoulos N.在Web数据库服务器中平衡性能和数据新鲜度。收录:……会议记录。。。
  • 引用人(44)

    • web内容变化的时间模式建模和预测

      2015年,《网络与计算机应用杂志》
      引文摘录:

      此外,Butkiewicz等人(2011年)观察到,新闻网站通常比其他网站更复杂,因为它们加载的内容明显更多,通常存储在本地和远程服务器上。此外,Ravi等人(2009年)提出的动态Web内容生成工作强调,动态页面的更改比静态页面更频繁,因此缓存非常棘手。Adar等人(2009年)介绍了Web内容演变的细粒度特征。

    • 面向网络中心设备的移动卸载系统的设计与评估

      2014年,《网络与计算机应用杂志》
      引文摘录:

      对于第二个规则,访问全局内存区域或与其他函数交错的函数不应在我们的系统中卸载(在我们的工作中定义为全局值和嵌套函数)。有几个基于代理系统的研究项目(Ravi等人,2009年;Guo等人,2007年),这些项目创建动态web资源,为最终用户提供优化的内容。这些代理系统基本上修改了原始的web内容,以服务于有特定目的的客户。

    • 基于网络的大规模定制和个性化平台

      2014年,CIRP制造科学与技术杂志
      引文摘录:

      传统的web应用程序将业务逻辑放在服务器端,而最先进的web需求需要在服务器和客户端之间以分布式方式重新分配业务逻辑[24]。在AJAX中,脚本在客户端或远程服务器上运行,并在后台从服务器异步检索数据,而不会影响现有页面的显示和行为[38]。拟议平台的逻辑包含在系统的应用服务器中。

    • 多租户自适应缓存接纳模型的实现

      2021年,《物理学杂志:会议系列》
    查看Scopus上的所有引用文章
    查看全文