Google架构,谷歌WaveNet
Google Wave是一个工具。
,也是一个平台。
还是协议?其架构的核心是运营转型。
操作转换(OT),这是一个支持并发控制的理论框架。
你需要先看看Google Wave。
定义:
Google Wave是基于托管XML文档(称为Wave)的新型交流协作平台,支持并发修改和低延迟更新。
谷歌
Wave是一个结合了电子邮件、即时消息、协作文档共享和编辑的工具。在运行Chrome、Firefox、Safari等浏览器的客户端(包括手机Ping
IPhone和Android),Wave使用JavaScript和HTML5,Wave在服务器端一起使用Java和Python,但是服务器端可以
可以以用户希望的任何方式实现。GWT用于这一工具。
构建和使用谷歌齿轮
处理HTML 5中没有的拖放功能。这个工具需要一个专用的服务器来处理并发通信,特别是对于大型团队。服务器可以放在企业外部的云中,也可以放在私人企业内部,或者只是放在某人的家中。
Google Wave在上周的Google I/O大会上演示过。
Google Wave附带了一个公共API。
谷歌承诺在产品正式上市前开源整个平台。作为一个平台,Wave允许开发者修改基本代码和使用小工具。
还有机器人。
展开它。小工具是运行在Wave中的小程序,而机器人是“自动Wave参与者”。Wave也可以嵌入到博客等其他媒体中。
Google Wave数据模型
主要内容包括:
波浪
3354每个波都有一个全局唯一的Wave ID,并包含一组小波。
小浪
——Wavelet在其所属的Wave中有一个唯一的ID。小波由一个参与者列表和一组文档组成。小波是请求并发控制/操作转换的实体。
参与者
3354参与者由Wave地址决定,Wave地址是一个文本字符串,格式与email地址相同(local-part@domain)。参与者可以是用户、组或机器人。每个参与者最多只能在参与者列表中出现一次。
文件
3354文档在其所属的Wave中有一个惟一的ID,由一个XML文档和一组“分离”注释组成。注释指向XML文档,并且不依赖于XML文档的结构。它们用于表示文本格式、拼写建议和超链接。文档在小波中形成一棵树。
波浪景观
——Wave view是Wave中特定用户访问的小波子集。用户只要是小波的参与者或者参与者组(组可以嵌套)的成员,就可以访问小波。
这是Wave技术的重要组成部分。Google Wave大量使用了在服务器端执行的操作转换。
(加班).
当用户编辑由多个用户同时打开的协作文档时,客户端程序将提供最佳的
UI,立即显示用户输入的内容,并将编辑操作发送给服务器,希望该操作能够被服务器接收到。客户端等待服务器评估操作,所有其他操作将在服务器回答之前被缓存。
操作。服务器应答后,所有缓存的操作都会批量从客户端发送到服务器。服务器考虑从其他客户端接收的操作,相应地转换操作,并将转换通知所有客户端。
客户端相应地更新它的UI。该操作被发送到服务器,并且根据特征规则的特征被传播到每个客户端,除非该操作是批处理操作。是服务器文档及其版本的管理器,中间版本
本被认为是“正确”的版本。最后,每个客户端会根据从服务器收到的最终版本进行更新,这可能是多次操作的结果。有很多是因为沟通失败或者服务。
计算机/客户端崩溃提供的恢复措施。为了快速识别错误信息,客户机和服务器之间交换的所有XML文档都只有一个校验和。
客户端-服务器协议
操作。
小波作为波的基本成分,经历了一系列被称为运算转换的变化。这些更改需要传播并应用到每个客户端,否则客户端无法同步。
操作队列。
小波上的所有操作都是严格按照顺序发送的。服务器响应一个操作后,会发送下一个操作。基于服务器版本号的排序操作。每个客户端都应该以适当的顺序应用操作。
开小波。
为了开始与Wavelet通信,客户机向服务器发送一个Open请求,其中包含Wave ID和Wavelet ID。服务器响应是快照——Wavelet的序列化状态,或者相应版本的历史散列。
从服务器到客户端的通信。
由服务器发送到客户端的内容是增量(一个或多个操作的序列)、版本号和历史散列之一。
客户端-服务器通信。
客户端发送的内容是Delta或版本号。
还原。
当通信失败时,客户机通过发送以前从服务器收到的散列历史来重新打开Servlet。
Google Wave联邦协议
允许多个实体(Wave提供商)彼此共享Wave。Wave提供商可以是在某人家中运行的服务器,为单个用户或所有家庭成员提供Wave,也可以是公司或ISP。谷歌只是另一个Wave提供商。
有用链接:Google Wave
、谷歌Wave API
,波形协议。
查看英文原文:
Google Wave的架构
转自:http://www.infoq.com/cn/news/2009/06/wave
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。