局域网中comet和push技术

局域网中comet和push技术,第1张

越来越多成功的慧星例子,挖出了一个90年代后半期非常流行的流行语:推送技术。为了长话短说,实际情况是,一项十几年前被认为无用低效的技术,在现代网络开发技术的帮助下被重新发现。那么,什么是推送技术呢?这个词在1996年被创造出来,从市场营销的角度来看,它迅速成为一种非常成功的新的、前沿的互联网技术。这可能源于“pushpolling”一词,被新闻媒体用来暗指1996年美国总统选举中的一种不当拉票手法:游说者假装进行电话民意调查,并利用这种电话调查行为来宣传候选人的优势[1]。从根本上来说,推送技术是指任何一种技术方案(如comet),其目标是扭转传统的将数据拉向用户的网络模式。以下术语用作同义词或部分相同的逻辑类别:
pull、同步模式、请求/响应
push、异步模式、发布/订阅
图1显示了这两个类别之间的典型差异。在典型的基于拉的网络模式中,服务器产生的每封邮件都必须由客户机请求。此外,在客户端发送请求后,它们的执行线程通常会在等待回复时被阻塞。有了推送技术,用户只需要对某种形式的信息表现出兴趣(通过订阅所谓的话题、对象、频道或项目),然后就可以随时从服务器获得异步信息。这意味着在等待请求的回复时,客户端不会自行阻止服务器提供的信息(即,当实际的新数据可用时),而不是等待客户端请求更新。



图一。以及同步和异步模式
最古老的推送技术(其含义比网络更广)的一个例子是邮件。传统的推送技术(1996-2000),主要提到的技术也叫网络广播,窄播,或者通灵。一个频道与某些类别的信息相关,用户一旦注册了一个或多个频道,就会自动获取信息并显示在专门的客户端软件上(厚应用、浏览器扩展或专门的屏保)。1996年,第一个基于频道的推送技术体系PointCast成立。不久之后,包括微软和网景在内的30多家公司进入了这个市场。首先,用户不喜欢在电脑上安装专门的软件。其次,推进系统不仅耗尽了用户上网的带宽,也造成了各大互联网服务提供商的瓶颈。第三,也是最重要的一点,用户从来没有真正需要每天早上找一堆材料下载到他们的电脑上,其中大部分永远不会被阅读。有人把第一代推送技术比作每天早上往你家门口扔一大堆报纸。
2000年,一种新的推送技术诞生了。它在用途和技术实现上与第一代有很大不同。在线安全交易系统的成功产生了将实时数据推送到用户浏览器的新需求。以较低的市场价格延迟交付数据基本上证明了创建高质量贸易门户的可行性。与第一代推送技术的区别之一是数据更新的粒度和实时程度。推送的内容不再是一堆线下读物,而是一系列细粒度的实时更新的网页。这意味着用户使用请求/响应模式下载一个静态页面,然后页面开始通过publish/school team模式接收实时更新,并具有单独更新网页中每个单独单元的能力。图2展示了一个在HTML表格中显示和更新市场数据的典型例子(服务器推送数据往往强调短期更新以吸引用户的注意力)。


图2 。 comet式Push技术例子
  这个新一代的Push技术就是现在的Comet。首两个Comet实现是Pushlets[ 2 ]和Lightstreamer [ 3 ] ,都创建于2000年。在此期间其他参与者也产生了,如KnowNow [ 4 ],它随后孵化了Mod-PubSub [ 5]的倡议。在这些系统中引入的Push技术上的革命包含在他们的去applet方式中。其他的Push解决方案合并了网页中的Javaapplets,以管理Push功能。在某些情况下,一个applet只用于管理网络层,而JavaScript和DOM被用来操纵HTML网页;在其他情况下,applet也管理了视觉层。由于一些原因,applets的使用已越来越多地被认为是不好的做法:JVM的兼容性问题,网页运转延迟,难以调试,以及对开发的网站混杂的技能要求。总部位于英国的公司,使用applet来推动实时数据到他们的客户,去年也迁移到Commet的解决方案[6 ] ,结果是对其技术客户支持服务的电话大幅度减少了。
  在2005年Jesse JamesGarrett创造了AJAX,然后在2006年中期AlexRussell创造了Comet。这些总括的迅速采用被证明是有益的,它能够帮助开发着明确区分新Push技术与传统的Push技术(有必要再次强调,术语Comet产生于2006年,正是建立了Push技术10年后,但实际上Comet技术自2000年以来就已经存在)。在2006年一个新的Comet的实现,名为Cometd , [ 7]被创建。
  在下个部分,我们将深入Comet更具体的细节,如不同的Comet模型和先进的推送功能,如数据过滤、合并、以及带宽和频率控制。
图2。慧星推送技术的例子
这种新一代的推送技术现在就是慧星。最早的两个Comet实现是Pushlets[ 2]和Lightstreamer [3],它们都是在2000年创建的。在此期间,其他参与者也应运而生,如KnowNow [4],随后孵化出Mod-PubSub的倡议[5]。这些系统中引入的推送技术革命包含在它们的移除applet的方式中。其他推送解决方案将Javaapplets合并到web页面中来管理推送功能。在某些情况下,一个小程序只是用来管理网络层,而JavaScript和DOM是用来操纵HTML页面的;在其他情况下,applet还管理可视层。由于某些原因,使用小程序已经越来越被认为是一种不好的做法:JVM的兼容性,网页运行的延迟,调试的难度,以及对开发出来的网站的技能要求良莠不齐。总部位于英国的公司,使用applet驱动实时数据给他们的客户,也在去年迁移到了Commet的解决方案[6]。因此,致电他们的技术客户支持服务的次数大大减少了。
Jesse JamesGarrett在2005年创造了AJAX,然后AlexRussell在2006年中期创造了Comet。快速采用这些包罗万象的技术已被证明是有益的,它有助于明确区分新的推送技术和传统的推送技术(有必要再次强调,术语Comet是在2006年出现的,距离推送技术的建立只有10年,但实际上Comet技术从2000年就已经存在了)。2006年,创建了一个新的Comet实现,命名为Cometd,[7]。
下一节,我们将深入探讨Comet更具体的细节,例如不同的Comet模型和高级推送功能,例如数据过滤、合并以及带宽和频率控制。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 局域网中comet和push技术

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情