Google Docs 的工作原理

Google Docs file system
Google Docs 使用简单的文件夹和文件组织系统。查看更多热门网站图片
©2008 十万个为什么

云计算——一种利用多台服务器资源完成任务和存储数据的联网计算机系统——正逐渐成为计算行业的下一个大趋势。传统上,只有少数人才能访问超级计算机的处理能力。而有了云计算,几乎任何人都可以利用这种能力。

自个人计算机问世以来,我们已经习惯于将信息存储在光盘等外部存储设备或计算机的硬盘驱动器上。我们也习惯于在应用程序需要比当前计算机提供更多处理能力时购买新机器或升级旧机器。而有了云计算,存储和处理能力的责任就落到了网络上,而不是个人计算机所有者身上。

广告

尽管云计算是一个相对年轻的行业,但许多公司都提供云计算服务。其中一家公司是Google。这家互联网巨头提供一套名为 Google Docs 的基于网络的生产力应用程序。虽然这些应用程序不如主流桌面应用程序那么复杂或全面,但它们比传统软件具有其他优势。

这些优势中最明显的一点是,这些应用程序不与特定的计算机绑定。无需在特定机器上下载和安装软件。任何连接到互联网的计算机都可以访问 Google Docs。由于每个用户都将信息保存到云系统中,因此他们可以从任何地方访问相同的文件。用户无需担心哪个版本的文档是最新的——它将始终保存在 Google 云端。

另一个优势是多个用户可以同时对相同文件进行编辑。这称为**在线协作**,它可以简化网络上的团队合作。由于 Google Docs 保留了文档的早期版本,因此无需担心不可撤销地更改文件。文件协作可能意味着改变我们对文档管理的思考方式。但它也可能意味着项目经理可以节省时间和精力。

Google Docs 究竟能做什么?请继续阅读以了解。

Google Docs 有哪些功能?

Google Docs word processor
Google Docs 文字处理应用程序模仿了传统桌面软件的许多基本功能。
©2008 十万个为什么

本质上,Google Docs 是一套在线**生产力软件**。这意味着它是一系列应用程序的集合,旨在简化企业环境中常用文件(文档、电子表格和演示文稿)的制作。

Google 文字处理程序最初是 Upstartle 公司创建的一款名为 Writely 的产品。Google 于 2006 年收购了 Upstartle,并开始将 Writely 转换为 Google 品牌产品[来源:InformationWeek]。该程序允许用户在线创建和编辑文档。多个用户可以同时访问文档,从而使团队更容易协作项目。

广告

同样,Google Docs 中的电子表格功能最初是另一家公司的项目。一家名为 XL2Web 的初创公司开发了一款名为 2Web Technologies 的协作应用程序。Google 收购了 XL2Web,并为团队提供了开发电子表格应用程序所需的资源[来源:Business Review]。像大多数电子表格程序一样,Google 的应用程序允许用户创建表格、图表和图形。该应用程序具有桌面电子表格程序的大多数基本功能,包括排序、筛选和公式计算。

Google Docs 中的演示文稿应用程序也是如此。Google 收购了 Tonic Systems,这是一家开发基于 Java 的演示文稿软件的公司。Tonic 的开发团队转入 Google,并修改了软件以与 Google 的其他产品集成[来源:The Official Google Blog]。

最终的应用程序看起来像一个基本的桌面演示程序。演示文稿由幻灯片组成。用户在构建演示文稿时可以选择五种基本幻灯片布局。Google 还为用户提供了十多种演示文稿主题选择。该应用程序还包括图像和视频支持、自动形状和文本框等基本功能。

Google Docs 套件中的任何应用程序都不如领先的桌面生产力软件包那样强大或多功能。但 Google 经常更新该套件,添加新功能和新能力。虽然这些应用程序不具备其他软件包的所有花哨功能,但它们确实满足了基本用户需求。而且,尽管 Google Docs 可能无法完成其他产品所能做的一切,但它确实具有一些使其脱颖而出的独特功能。

这些功能是什么?用户在使用 Google Docs 时有哪些限制?请在下一节中了解。

Google Docs 的功能与限制

Google Docs 的系统要求非常简单。您唯一需要担心的是您的网络浏览器。Google Docs 兼容 Internet Explorer 6 或更高版本、Firefox 1.07 或更高版本(但不包括 Firefox 3)以及 Safari 3.1 或更高版本。Google 目前不支持 Google Docs 在其他任何浏览器上运行,因此很可能无法在这些浏览器上运行。此外,您必须启用 Javascriptcookie 才能使用这些应用程序。

要访问 Google Docs,您需要创建一个 Google 帐户。Google 帐户是免费的。您只需要一个有效的电子邮件地址——并愿意同意 Google 的服务条款——即可创建一个。如果您已注册 Gmail,则您已经拥有一个 Google 帐户。该帐户除了 Google Docs 之外,还允许您访问许多 Google 应用程序。

广告

拥有帐户后,用户可以创建新文档、电子表格或演示文稿,或将现有文件上传到系统中。Google Docs 兼容以下文件格式:

  • 逗号分隔值文件 (.csv)
  • 超文本标记语言 (HTML) 文件
  • Microsoft Word、PowerPoint 和 Excel 文件(分别为 .doc、.ppt 或 .pps 和 .xls)
  • OpenDocument 文本和电子表格格式(分别为 .odt 和 .ods)
  • 富文本格式 (.rtf)
  • StarOffice 文档 (.sxw)
  • 文本文件 (.txt)

用户还可以通过将文档直接发送到基于他们创建 Google 帐户时注册的姓名的唯一地址来创建文档。Google 为每个电子邮件地址分配一长串数字和字母,以确保每个地址都是唯一的。Google Docs 使用电子邮件的主题作为文档名称,并将内容转换为文档。您还可以将文件作为附件通过电子邮件发送到您指定的地址。Google Docs 会将所有文件附件转换为 HTML 格式并保存到您的帐户中。

您成为在 Google Docs 中创建或导入的任何文件的**所有者**。所有者可以编辑和删除文件,并邀请**协作者**和**查看者**。协作者可以编辑和导出文件。所有者还可以选择赋予协作者邀请其他协作者参与项目的能力。查看者可以查看文件和导出文件,但不允许进行编辑。

Google Docs 的组织方式是一个简单的文件和文件夹系统。您可以为所有文件创建文件夹和子文件夹。Google 提供多种方式来排序数据,包括按字母顺序或按最新更新时间。

Google Docs 用户通过其帐户获得大量存储空间,但并非无限。每个帐户最多可拥有:

  • 5,000 份文档,每份最大 500 KB
  • 1,000 份电子表格,每份最大 1 MB
  • 5,000 份演示文稿,每份最大 10 MB

Google 的企业使命是组织全球信息。考虑到这一点,该公司已将其部分组织和搜索功能集成到 Google Docs 中。Google Docs 如何利用这些技术?请在下一节中了解。

Google Docs 的高级技巧

多人可以同时查看和编辑 Google Docs 文件。更重要的是,他们无需担心创建相同文件的重复副本。使用 Google Docs,项目中的每个人都对同一个主文档进行更改。当用户进行编辑时,Google Docs 会跟踪所有更改,并用负责的Google 帐户持有者的姓名标记每次编辑。这样,文档所有者就可以浏览更改并查看每次编辑的负责人。

Google 设计 Google Docs 的目的在于几乎持续自动保存,在用户进行每次编辑后不久即保留。其他用户会立即看到更新的更改。在使用文档或演示文稿时,用户可以看到还有谁在文件中。而在电子表格中,用户可以点击标有“讨论”的选项卡,实时聊天讨论项目。

广告

2008 年 4 月,Google 宣布用户可以使用 Google 的编辑软件离线处理 Google Docs 文档文件(但不包括演示文稿或电子表格)。此前,如果用户需要离线工作,他们必须从 Google Docs 下载文件,并使用其他生产力软件进行处理。然后,一旦重新连接到互联网,他们就必须将文档重新上传到 Google Docs。这意味着用户会创建同一文件的多个版本。

Google 解决此问题的方案是 **Google Gears**,这是一款使其他 Web 应用程序更强大的插件应用程序。Gears 允许用户离线访问 Google 编辑器。一旦您重新连接到互联网,Google Docs 会自动将您的文档离线副本与存储在 Google 帐户中的主副本同步。如果另一个用户对您更改的某个部分进行了编辑,您的更改将不会被实施。相反,Google 会提醒您此问题,并让您有机会将您的更改与另一个用户的编辑进行比较。如果您仍然希望您的更改进入文件,您可以将其复制并粘贴到文档中。

Google 还为电子表格编辑者提供了一些高级技巧。例如,**Google 财经**功能可以检索上市公司的信息。它遵循“对象/属性”模式。用户输入公司的股票代码(对象),并请求有关该公司的特定信息(属性)。例如,用户可以输入公式来查找 Google 的最新股价。信息会随着市场条件的变化而更新,尽管数据可能比实际情况滞后长达 20 分钟。

**GoogleLookup** 是另一个遵循对象/属性模型的电子表格功能。假设您正在构建一个比较不同美国城市的表格。您可能想查找每个城市的人口并将其输入到特定列中。使用 GoogleLookup 功能,您将输入一个公式,指定您感兴趣的城市,并请求属性“人口”。Google 搜索引擎会查找并检索该信息。如果某个特定属性有多个答案,Google 会将所有答案呈现给您,以便您确定哪个适合您的需求。

尽管 Google Docs 的许多功能听起来很有用,但有些人仍然不愿采用云计算方式。他们为什么对使用 Google Docs 如此谨慎?请在下一节中了解。

关于 Google Docs 的疑虑

Google Docs presentation
Google Docs 中的演示文稿功能附带了多种基本模板样式。
©2008 十万个为什么

每当讨论将数据存储在第三方数据库系统上时,随之而来的便是安全问题。这很容易理解。委托另一家公司来保护您宝贵的信息安全是一大步。当这些信息在您掌控之中时,您会了解为确保其安全而采取的安全措施。

Google 向用户保证,除非用户选择与他人共享文件,否则它会确保所有数据的安全和私密。作为其安全措施的一部分,Google 不会详细讨论其安全方法。由于用户必须拥有 Google 帐户才能访问 Google Docs,并且所有帐户都需要密码,因此我们知道 Google 安全计划中至少有一个阶段依赖于密码保护。

广告

Google 还向用户保证,除非他们发布文件,否则搜索引擎将无法找到这些文件中包含的信息。Google 不允许搜索引擎**爬虫**——那些通过互联网爬取关键词以构建搜索结果的应用程序——访问 Google Docs 中的数据。

由于 Google Docs 允许多个编辑者处理同一个主文档,因此 Google 必须处理特殊的同步问题。Google Docs 实时处理在线编辑,编辑者可以在其他协作者进行更改时看到这些更改。但有了离线编辑功能,情况就变得有点复杂了。

想象一下,您正在与另一位作家合作制作一份时事通讯。你们两人乘坐飞机旅行数小时,并且都希望在飞行期间处理时事通讯。由于在飞行途中无法访问互联网——至少目前是这样——你们将不得不离线工作。你们每个人都选择 Google Docs 中的离线功能并处理文档。着陆后,你们都与 Google Docs 系统同步,但你们都对时事通讯的同一部分进行了更改。那么会发生什么呢?

好吧,无论谁先登录(假设是另一位作家)都将毫无问题地与主文档同步。但您会收到 Google 的消息,解释您的更改与另一位用户的编辑存在冲突。Google 提供了比较两组更改的选项。此时,您可以不情愿地接受您同事作家的更改,或者勇敢地用您自己的文本替换他或她的文本。

一些用户担心的另一个问题是所有权问题。Google 服务条款第 11.1 条规定,“您授予 Google 一项全球性、免版税且非独家的许可,以复制、改编、修改、翻译、发布、公开表演、公开展示和分发您通过服务提交、发布或显示的任何内容,其唯一目的是使 Google 能够根据其隐私政策向您提供服务[来源:Google]。”乍一看,这让一些用户敲响了警钟。听起来 Google 好像说它可以使用您在 Google Docs 上创建和存储的内容做任何事情。

Google 声称该公司无意利用用户生成的内容。Google Docs 常见问题解答中指出,用户保留对其自身材料的所有权。Google 表示,它纳入该条款是为了确保 Google Docs 能够实现其设计目的。为了按照用户希望的方式显示用户的文件,Google 必须确保公司与用户之间达成协议。这样,如果用户选择通过 Google 发布文件,该公司就获得了在网络上分发该文件所需的权限。

究竟是什么让这个复杂的系统持续运行?请继续阅读以了解。

Google Docs 的后端

Google Data Center
Google 在俄勒冈州的一个数据中心,其面积相当于一个足球场,容纳了数千台服务器。
Craig Mitchelldyer/Getty Images

Google 在其运营方面以保密著称。关于 Google Docs 所用系统的信息不多。但我们可以根据 Google 的其他运营情况做出一些合理的假设。首先,让我们从我们已知的信息开始。

Google 使用 **Java** 编程语言构建了处理 Google Docs 所有主要功能的软件——在传统网络中,这部分将被称为系统的**服务器端**。Java 是一种由 Sun Microsystems 开发的面向对象的编程语言。Google 使用 Java 编程语言来构建和开发 Google Docs 应用程序。

广告

系统的用户侧——在传统网络中将被称为**客户端**——由通过 **Javascript** 编程语言增强的 Web 应用程序组成。Javascript 和 Java 不是一回事。Java 语言允许程序员构建从完整应用程序到小型小程序等各种程序。可以构建独立于其他软件运行的 Java 应用程序。开发人员使用 Javascript 来增强 Web 服务。它无法在 Web 浏览器体验之外工作。

除了这些事实,只有 Google 内部人员才知道支持 Google Docs 的系统是如何运作的。但根据 **Google 文件系统**等计算机网络,我们可以做一些假设:

  • Google 历来尽可能使用廉价的现成硬件。可以放心地假设处理 Google Docs 的服务器并非特别强大或先进。它们更可能是主力计算机。由于硬件相对便宜,因此向系统添加更多资源并不昂贵。当系统易于构建更多容量时,它被称为**可扩展**系统。
  • 一种可能的硬件配置将包括**应用服务器**和**数据库服务器**。应用服务器将运行使 Google Docs 成为可能实际软件。数据库服务器充当存储。Google 也可能使用一个充当网守的**控制**或**管理服务器**。
  • 由于廉价硬件并非总是可靠,Google 在设计其计算机系统时就考虑到部件会定期出现故障。这意味着 Google 最有可能将 Google Docs 文件存储在多个数据库服务器上,这是一种称为**冗余**的策略。如果一台服务器发生故障,Google Docs 可以从另一台服务器中提取信息。这些服务器可能会向中央控制服务器发送消息,以更新文件并保持最新。

Google Docs 系统需要多少台机器才能运行?这也是一个谜。Google 拥有多个大型**数据中心**。数据中心是容纳计算机设备的建筑物,这些设备通常存储在称为**机架**的金属货架单元中。一个大型数据中心可能容纳数千台服务器。

Google Docs 的未来如何?我们将在下一节中探讨。

Google Docs 的未来

Google Docs spreadsheet
用户可以使用 Google Docs 创建电子表格并与他人协作。
2008 十万个为什么

Google 对其未来计划的缄默程度几乎与其对硬件的缄默程度不相上下。但同样,关于 Google Docs 的发展方向,您可以做出许多安全的假设。

一方面,您应该会看到 Google 为 Google Docs 中的所有三个主要应用程序添加更多功能。Google 开发人员正在不断调整系统。通过添加功能,Google 可以缩小其服务与市场上更复杂的桌面生产力软件应用程序之间的差距。这可以包括从新的演示幻灯片格式到新的电子表格公式的一切。

广告

另一个目标是启用一项功能,允许用户在离线时处理电子表格和演示文稿。这些文件可能比文档文件更复杂。因此,当多个用户离线编辑时,解决差异变得更具挑战性。想象一下,如果 50 位协作者同时离线处理同一个电子表格文件,同步回系统可能会是一场灾难!Google 的开发团队正在努力使离线编辑不仅可能,而且高效且易于使用。

Google 鼓励独立的开发人员社区寻找使用该公司各种应用程序的新方法。考虑到这一点,我们可能会看到新的**Google 小工具**——基于 Google 应用程序编程接口 (API) 构建的小程序——被整合到 Google Docs 中。其中一些可能是全新的应用程序,而另一些则可能将现有应用程序与 Google Docs 结合起来。将两个或更多其他应用程序组合在一起的小程序的通用术语是**混搭**。

举个例子,假设您有一个电子表格,其中列出了公司内的所有办公室。每一行代表一个不同的办公室,并包含该办公室的位置、销售数据和员工人数等信息。使用 Google 小工具,您可以将电子表格中的信息绘制到Google 地图上。该小工具会在地图上为每个办公室的位置放置一个小旗子。点击旗子会显示办公室的信息。这个例子是**地理标记**的一种形式——将信息与特定物理位置关联起来。

目前已经有数百个 Google 小工具可用,开发人员正在不断创建更多。以下只是一些小工具以及它们未来可能与 Google Docs 集成的方式:

  • **直播电视**——一些小工具允许您在网页内观看电视直播。结合 Google Docs,电视高管可以创建演示文稿,实时展示特定频道的节目内容。
  • **聊天客户端**——开发人员可以将聊天客户端集成到 Google Docs 中,以便协作者在工作时拥有一个集成的通信系统——电子表格应用程序已经有了类似的功能。
  • **Google 网站翻译器**——一个可以翻译文件到其他语言的集成应用程序。

这只是各种开发人员提供的工具的一小部分。凭借 Google 的开发人员社区,如果您的 Google Docs 中能想象到某个特定功能,那么现在就有人在为此努力,这样说并不过分。我们看到它投入使用只是时间问题。

想了解更多关于 Google 应用程序和云计算的信息吗?请查看下一页的链接。

更多信息

相关 十万个为什么 文章

更多精彩链接