[发明专利]高效的状态协调无效
申请号: | 201280029265.3 | 申请日: | 2012-06-10 |
公开(公告)号: | CN103597465A | 公开(公告)日: | 2014-02-19 |
发明(设计)人: | C·R·海沃斯 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 顾嘉运 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高效 状态 协调 | ||
背景技术
使用通过诸如Web浏览器之类的浏览器进行轮询来请求来自诸如Web服务器之类的服务器的数据已经变得日益流行。在Web浏览器和Web服务器之间的数据交换中,Web浏览器或客户端在尝试实现客户端和服务器之间的同步时通常向服务器请求内容更新。响应于每个请求,服务器发送一个完整的响应。通过每次发送一个完整的响应,即使是在服务器处没有对这样的数据做出更新的情况下,在响应于客户端的请求而发送数据时,这样的请求和响应交换不必要地消耗了网络的资源。而且,来自与单个Web服务器通信的许多浏览器对Web服务器内容和更新的不断增加的需求引起了对系统资源的滥用,并导致结合了在试图协调客户端内容与服务器更新时的低效的等待时间。
在尝试更加有效地在浏览器和服务器之间交换内容时,长轮询,例如超文本传输协议(HTTP)长轮询,允许Web服务器在在该服务器处发生一个事件或其它事件触发服务器活动时再将数据推送给浏览器。通过长轮询,浏览器或客户端将一个长轮询请求发送给服务器以获得在服务器处的事件。这样的长轮询技术有时被称为“彗星”Web应用模型的部分,所述模型用于在不需要浏览器特地请求这样的数据的情况下使用长期保持HTTP请求来将数据从服务器推送到浏览器。在典型的长轮询或彗星实现中,由服务器保持客户端请求直到服务器事件发生。当一个事件发生时,服务器在一个完整响应中将新数据发送给浏览器。这样,对服务器的请求持久存留,直到服务器已经将新数据发送。一旦接收到响应,浏览器向服务器发送另一个请求以等待后续的事件。然而,由于每个服务器响应对应于一个服务器事件,不必要的更新还是发生了并且不同步的客户端经历了在协调内容和服务器中的等待时间。这些服务器事件中的一些对于实现同步并不是必需的,例如在当服务器开始基于中间事件发送新数据时客户端已经处于与服务器的当前状态相同的状态时。因此,当客户端由于例如与因特网断开而导致不同步时,该客户端试图通过处理具有关于先前服务器事件的数据的潜在的大量的响应消息来追赶当前服务器的状态。对于慢的客户端来说保持与快速改变的服务器的同步是尤其困难的,因为在服务器已经做出进一步改变时,该客户端经常还在处理先前的事件。而且,在客户端落后于服务器的情况下,为了能够达到与服务器同步,对于客户端来说某些临时事件是可以忽略的。然而,基于服务器事件的数据推送则不管事件是否对客户端有用都将它们推送至客户端以实现与服务器的当前状态的最终同步。
虽然本背景技术中着眼于特定的问题,但本发明决不旨在限于解决那些特定问题。
发明内容
各实施例通常涉及通过令牌机制将服务器处的状态数据推送到客户端。具体而言,令牌被用作状态更新的长轮询请求的多向(例如双向)参数,以实现在服务器和客户端之间的高效的状态协调。诸如Web服务器之类的服务器接收状态更新。例如,服务器可以从包括文档编辑会话的应用中接收状态更新,在该会话中,对共同创作的文档做出改变,例如,被发送到服务器或发送到在服务器上执行的管理模块。管理模块接着改变服务器的状态以反映所接收的状态更新。服务器随后计算期望要在服务器和客户端之间被同步的状态的摘要/散列。在这样做时,生成包括散列值的令牌。一旦从客户端接收到对任意状态更新的请求,服务器将随客户端请求一起接收的令牌与服务器上的令牌进行比较以确定所述令牌是否不同。如果所述令牌是相同的,则客户端具有数据的当前状态并且不需要将其内容与服务器进一步协调。取而代之地,服务器保持具有所接收的令牌的该客户端请求,即长期保持请求,直到在服务器状态中发生改变。然而,如果所述令牌不同,则客户端不具有当前状态。服务器随后将服务器上的具有当前令牌的实际状态发送给客户端。在各实施例中,客户端可以随后更新其数据并存储所接收的令牌以供与后续的状态更新请求一起发送。如所示,在各实施例中,来自客户端的请求是作为长轮询技术的一部分的长期保持请求。在更多的实施例中,客户端的长轮询包括HTTP长轮询。在其他实施例中使用常规轮询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280029265.3/2.html,转载请声明来源钻瓜专利网。