对传统文档的快速归并支持的制作方法

文档序号:6349068阅读:102来源:国知局
专利名称:对传统文档的快速归并支持的制作方法
对传统文档的快速归并支持背景基于网络的文档协作系统准许多个用户同时地访问和共同创作文档。尽管准许多个用户共同创作文档,但为了防止冲突,系统可以限定文档中每一用户可以进行编辑的区域以便最小化在归并文档的各副本时发生相冲突改变的机会。传统系统通常不允许对在传统系统上创建的文档进行共同创作。在这些系统上创建的文档因此不能被正确地配置成支持文档协作系统上的共同创作。这可以引起不合乎需要的相冲突的编辑。概述本公开内容的各实施方式涉及用于在客户机计算机处归并文档元数据的方法。在客户机计算机处的用户从服务器计算机获取文档,且在客户机计算机处打开该文档。响应于在客户机计算机处打开文档,做出关于文档是否包括单元标识符的判断。在确定该文档不包括单元标识符时,将单元标识符分配给该文档中的每一单元。从服务器计算机接收提供至少一个其他用户正在创作该文档的通知的第一消息。 响应于从服务器计算机接收到提供至少一个其他用户正在创作该文档的通知的第一消息, 将第二消息发送给服务器计算机,该第二消息包括该文档的第一元数据。响应于将第二消息发送给服务器计算机,从服务器计算机接收第三消息,该第三消息包括该文档的第二元数据。响应于从服务器计算机接收到第三消息,做出是否应该归并第一元数据和第二元数据的判断。在确定应该归并第一元数据和第二元数据时,基于第二元数据来调整该文档中的各单元标识符。在附图和下面的描述中阐述一个或多个技术的细节。将从该描述、附图和权利要求中明显看出这些技术的其他特征、目标和优点。


图1示出对传统文档的快速归并支持的示例系统。图2示出实现对传统文档的快速归并支持的能力的图1的示例客户机计算机的示例模块。图3在元数据归并操作期间对文档标识符进行重新编号的示例。图4示出用于在客户机计算机处归并文档元数据的方法的流程图。图5示出用于确定是否应该在客户机计算机处归并元数据的方法的流程图。图6示出图2的客户机计算机的示例组件。详细描述本申请涉及用于为在不提供单元标识符的传统的基于网络的共享文档系统上创建的传统文档创建单元标识符的系统和方法。在各示例实施方式中,将文档分成单元。各单元可以是文档的任何子部分,例如句子、段落、页眉、图、表等等。文档可以仅包含一个单元,例如单个表、句子,或包含多个单元, 诸如多个表、句子或段落。对于在此公开的各示例实施方式,文档单元是文档的段落。
传统文档是由不提供共同创作的传统系统创建的那些文档。因此传统文档不包括段落标识符。当将传统文档保存在文档协作系统上时,或者当两个或更多个作者在该文档协作系统上编辑该文档时,为该文档创建段落标识符。因为以这种方式为传统文档创建段落标识符,在使用文档协作系统的两个或更多个作者访问同一传统文档时,标识当前由作者之一编辑的段落,且将段落锁传播给其他作者。段落锁阻止当前不编辑已锁定的段落的作者编辑已锁定的段落,直到移除该锁为止。在本公开内容中,将作者定义为正在创建或编辑文档的用户。该系统和方法也允许比较和归并文档中的段落标识符并提供段落标识符归并和段落锁传播。每当作者访问不包括段落标识符的传统文档时就创建一组唯一的段落标识符。在第二作者访问同一传统文档时,比较和归并各段落标识符以使得每一作者具有该传统文档的一组经同步的段落标识符。图1示出支持传统文档的快速归并的示例系统100。系统100包括客户机102、 104,服务器106和网络108。可以使用更多或更少的客户机和服务器。在本公开内容中,可互换地使用术语客户机和客户机计算机,且可互换地使用术语服务器和服务器计算机。在被存储在客户机102、客户机104上的大量信息当中有客户机操作系统(“OS”) 和客户机应用程序。客户机OS是管理客户机系统的硬件和软件资源的程序。客户机应用程序利用客户机102、104的资源来直接地执行由用户(例如正在创作文档的用户)指定的任务。例如,客户机102、104包括诸如被用来创建和编辑文档文件的文字处理程序等的一个或多个软件应用程序。这样的应用程序的一个示例是来自华盛顿州雷蒙德市微软公司的 Microsoft Word。这样的应用程序的其他示例也是适用的。服务器106是可通过网络访问的文件服务器。服务器106存储多个文件。这些文件可以包括软件应用程序和文档两者,如在此进一步描述的。服务器106控制对由服务器 106存储的各文档的访问。在各示例实施方式中,服务器106可以位于组织内或者可以是文档协作系统的一部分。示例文档协作系统是由微软公司提供的SHAREP0INT 团队服务门户服务器服务。示例共享文档服务器是由微软公司提供的Microsoft Office SharePoint Server 2007。可以使用其他配置。在各示例实施方式中,归并各段落标识符,且通过与被用来保存文档的经编辑的内容的数据信道113分开的元数据信道111来传播各段落锁。通过与文档内容分开传送元数据,各作者能够独立于内容保存操作而快速地接收段落锁。因为段落锁阻止两个或更多个作者同时地编辑同一内容,增强了共同创作过程的完整性。图2示出客户机计算机102的各逻辑模块的详尽视图。客户机计算机102包括示例文档处理模块202、示例元数据处理模块204和示例元数据归并模块206。示例文档处理模块202支持创建、编辑和保存诸如文本、页眉、表、图等等文档内容。示例文档处理模块 202也支持对被称为元数据的关于文档内容的信息的处理。示例文档处理模块202实现文字处理应用程序,例如来自微软公司的Microsoft Word文字处理应用程序。示例元数据处理模块204处理文档中的元数据。元数据的一些示例是文档名称、 创建日期或最后编辑日期、文档标识符、修订本标识符、段落标识符、段落范围和段落锁。其他种类的文档元数据是可能的。
段落标识符是标识文档中的每一段落的数字。在各示例实施方式中,段落标识符可以包括文档的除了实际段落之外的诸如页眉和页脚等子单元的标识符。段落锁是指示作者正在编辑文档的某一段落的元数据。为了避免冲突,在同一时间仅允许一个作者编辑同一内容。在一个作者编辑文档的某一段落时,对于打开该文档的所有其他作者,接收到该段落的段落锁。文档锁阻止这些其他作者编辑该段落,直到移除了该锁。关于这样的锁的附加细节可见于在2008年6月25日提交的美国专利申请第 12/145,536号,该专利申请整体通过引用结合于此。在客户机计算机102上的作者打开不包括段落标识符的传统文档时,示例元数据处理模块204生成该文档的文档标识符。文档标识符通常是从特定的数字范围随机生成的数字。例如,文档标识符可以是在从1到0x7fffffff到范围内的32位数字。示例元数据处理模块204将文档标识符分配给文档中的第一段落。然后,从该文档标识符循序地编号其余的段落。例如,如果文档中存在五个段落且随机生成的文档标识符是1000,则分别给五个段落分配段落标识符1000、1001、1002、1003和1004。示例元数据处理模块204还将段落标识符序列中的下一段落号标识为元数据。在这一示例中,下一段落标识符是1005。尽管在最初打开文档时循序地生成各段落标识符,但随机地生成可以作为编辑文档的结果而添加的任何段落的段落标识符。在客户机102上的作者打开文档时,示例元数据处理模块204还获取该文档的修订本标识符。被存储在示例文档协作系统中的每一文档包括标识该文档的版本号的修订本标识符。在一些示例实施方式中,修订本标识符可以是该文档的文件系统标识符一部分。示例元数据处理模块204跟踪作为元数据的修订本标识符。因为在这一时刻,客户机102上的作者是打开该文档的唯一作者,所以该文档不包含任何段落锁。客户机102上的作者随意自由编辑文档,编辑现有段落、删除段落、添加新的段落、做出格式改变等等。直到客户机102上的作者保存这些改变为止,服务器106不知道这些改变。在客户机104上的作者打开同一文档的副本时,如果在客户机104打开文档之前客户机102上的作者还没有保存文档,则服务器106向客户机104上的作者呈现该文档的不包括客户机102上的作者对该文档做出的改变的版本。当在客户机104上打开文档时,客户机104上的示例元数据处理模块204随机地生成在客户机104处打开的文档的版本的文档标识符。示例客户机104上的示例元数据处理模块204将文档标识符分配给在客户机104上打开的文档的第一段落并循序地将段落号分配给在客户机104上打开的文档的其余段落。因为文档标识符是随机地生成的,所以在客户机102和客户机104处打开的该文档的各副本的文档标识符和段落标识符是不同的。为了将段落锁传播到这两个已打开的文档,必须归并和同步每一已打开的文档的段落标识符。这是因为段落锁与特定的段落相关联。因此,要求在已打开的文档的多个副本上具有共同内容的段落必须具有相同的段落标识符。示例元数据归并模块206在各文档之间比较和同步段落标识符。在客户机104上的作者打开文档时,服务器106通知客户机104上的作者存在至少一个已经创作该文档的其他用户。服务器106也通知客户机102上的作者另一作者已经打开该文档。在客户机 102处的作者发现另一作者已经打开该文档时,客户机102上的示例元数据归并模块206将元数据发送给服务器106。类似地,在客户机104处的作者发现另一作者已经打开该文档时,在客户机104处的示例元数据归并模块206使用元数据信道111将元数据发送给服务器 106。由客户机102和客户机104发送给服务器106的示例元数据包括三个元数据分量——文档标识符、下一段落标识符和修订本标识符。在各示例实施方式中,这三个分量被称为元数据种子。在服务器106接收到来自客户机102和客户机104的元数据种子时,服务器106确定哪个元数据种子首先到达。首先到达服务器106的元数据种子被认为是胜出者。然后,将胜出的元数据种子信息传播给其他作者。例如,如果服务器106首先从客户机 104接收到元数据种子,则将客户机102上的元数据种子信息与来自客户机104的元数据种子信息归并。图3示出示例元数据归并模块206如何使用来自两个作者的元数据来归并元数据的示例。在客户机102上的作者最初打开不包括段落标识符的文档(例如,在不支持共同创作的传统系统上创建的文档)时,元数据操作归并模块204将段落标识符分配给该文档的每一段落。对于示例文档副本302,示出了一的段落标识符。在这一示例中,文档中存在六个段落,分别具有段落标识符1000、1001、1002、1003、1004和1005。在文档的编辑期间,客户机102上的作者删除段落1003并添加具有段落标识符 2002、8123和9123的段落。这在示例文档副本304中示出。客户机102上的作者能够修改、添加和/或删除该文档中的任何段落,这是因为当前不存在创作该文档的其他用户,因此该文档上不存在段落锁。所添加的段落具有随机地生成的段落标识符,如上所述。当在客户机102上的作者对示例文档副本304中示出的文档做出改变之后,客户机104上的作者打开该文档的副本。从服务器106获取该文档的副本。因为由客户机102 上的作者做出的对该文档的改变还没有保存到服务器106,所以客户机104上的作者打开的该文档包含与示例文档副本302中示出的相同的内容。在客户机104上打开该文档时,客户机104上的元数据操作模块204为在客户机 104处打开的该文档随机地生成文档标识符。在这一示例中,文档标识符是2000。客户机 104上的示例元数据操作模块204将文档标识符2000分配给在客户机104上打开的该文档的第一段落。然后,客户机104上的示例元数据操作模块204循序地编号该文档中的其余段落。在示例文档副本306中示出所得到的段落编号。以某个给定的间隔,客户机102、104两者同步与文档相关联的元数据。这一同步通过元数据信道111发生,如上所述。在各示例实施方式中,同步间隔可以被设定为以诸如每2秒、5秒、10秒、20秒、30秒、1分钟、5分钟、10分钟或30分钟等特定周期发生。可以使用其他间隔。在该示例中,在服务器106处首先接收到来自客户机104的元数据种子。在服务器106确定首先接收到来自客户机104的元数据种子且该元数据种子是胜出种子时,服务器106将从客户机104接收的元数据种子发送给客户机102。在客户机102从服务器106 接收到元数据种子时,客户机102上的示例元数据归并模块206将从服务器106接收到的元数据种子与客户机102上的段落元数据归并。归并的结果被示出在示例文档副本308中。
示例文档副本308示出,作为归并的结果,段落标识符1000、1001、1002、1004和 1005(来自示例文档副本304)分别被改变成2000、2001、2002、2004和2005。因为胜出种子的文档标识符是2000,客户机102上的示例元数据归并模块206在从服务器106接收的元数据种子确定的段落范围内重新编号各段落。重新编号使得段落处于与文档标识符2000 一致的段落范围中。可以从元数据种子确定段落范围,这是因为该元数据种子包括文档标识符(这也是段落范围的第一段落)和下一段落标识符(这是在段落范围中的最后段落标识符之后的下一循序段落标识符),并且因为该段落范围中的所有段落是循序地编号的。因此,将在客户机102处打开的文档中的第一段落从1000重新编号成2000。段落范围包括段落1000到1005。因此,段落1001被重新编号成2001,段落1002被重新编号成2002,段落 1004被重新编号成2004且段落1005被重新编号成2005。如早先讨论的,删除段落1003。客户机102上的元数据归并模块206还确定在客户机102处打开的文档中不被包括在该段落范围内的所有段落标识符。这包括带有被添加到示例文档副本304的段落标识符2002、8123和9123的段落。因为所添加的段落2002与重新编号的段落2002 (原始的段落100 冲突,示例元数据归并模块206将所添加的段落2002重新编号成1002。示例元数据归并模块206将所添加的段落2002重新编号成1002,这是因为文档中不再使用段落标识符1002,且因此如果使用段落1002则不存在冲突。示例元数据归并模块206不改变段落标识符8123和9123,这是因为不存在由这些段落标识符引起的冲突。在完成元数据归并时,对于在客户机102上打开的文档和对于在客户机104上打开的文档,带有共同内容的段落具有相同的段落标识符。例如,如果在归并之前,对于在客户机102上打开的文档具有标识符1000、1001、1002、1004和1005的段落和对于在客户机 104上打开的文档分别具有标识符2000、2001、2002、2004和2005段落具有共同内容,则在归并之后,在客户机102和客户机104两者上的这些段落具有段落标识符2000、2001、2002、 2004和2005。这准许将段落锁分配给这些段落。例如,在客户机102处的作者编辑段落 2004时,将段落锁传送给在客户机104处的文档,从而阻止客户机104编辑段落2004。段落锁确保多个作者不能同时地编辑同一段落。在客户机102上的作者执行保存操作时,通过数据信道113将对在客户机102上打开的文档的内容改变发送给服务器106。除了传送内容改变之外,保存操作还移除与先前在客户机102上编辑的段落相关联的任何段落锁。通过元数据信道111传递各锁中的改变。将所保存的内容和段落锁的移除传播到当前正在创作该文档的所有作者。这准许各作者编辑先前被锁定的段落。然而,一旦作者开始编辑段落,就创建新的段落锁并通过元数据信道111将其传播到当前正在编辑文档的所有其他作者。一旦同步了段落标识符,可以使用段落标识符以在2007年12月6日提交的美国专利申请第11/951,973号中描述的方式来同步客户机102或客户机104对该文档做出的进一步改变,该专利申请整体通过引用结合于此。上面对元数据归并的讨论描述了两个作者。在其他示例实施方式中,多于两个的作者可以编辑同一文档。相同的元数据归并操作适用于具有多于两个的作者的示例实施方式。图4示出用于在客户机计算机处归并文档元数据的方法400的示例流程图。在操作402,示例客户机102上的作者从示例服务器106获取文档并在客户机102上打开该文档。服务器106是与基于诸如Microsoft SharePoint等基于因特网的文档协作系统一起使用的诸如Microsoft SharePoint Server 2007等服务器。客户机102用诸如Microsoft Word等文字处理程序打开文档。示例方法400假设在客户机102处的作者打开文档时,没有其他作者打开了该文档。在操作404,客户机102确定文档是否包括段落标识符。通常,被存储在服务器106 上的传统文档不包括段落标识符,这是因为传统文档是由不支持共同创作或不包括段落标识符的文字处理应用程序创建的。在操作406,如果文档包括段落标识符,则客户机102可以开始编辑文档。在操作408,如果文档不包括段落标识符,则将段落标识符分配给该文档。示例元数据操作模块204随机地生成该文档的文档标识符。然后,将通常是范围为从1到 0x7fffffff的32位数字的文档标识符分配给该文档的第一段落。然后,从该文档标识符循序地编号其余的段落。在操作410,客户机102上的作者继续进行来编辑文档。因为客户机102上的作者是打开该文档的唯一作者,所以客户机102上的作者可以编辑该文档的任何段落且还可以添加和删除段落。在操作412,客户机102从服务器106接收将至少一个其他作者例如客户机104上的作者已经打开该文档的通知提供给客户机102的消息。在客户机102接收到至少一个其他作者已经打开该文档的通知时,在操作414,客户机102上的示例元数据操作模块204将第一元数据发送给服务器106。第一元数据包括在客户机102上打开的文档的元数据种子, 包括文档标识符、下一段落标识符和修订本标识符。在操作416,客户机102从服务器106接收包括第二元数据的消息。第二元数据来源于正在创作该文档的其他作者中的一个,例如客户机104上的作者。第二元数据表示在服务器106处接收到的胜出元数据种子。胜出元数据种子是在服务器106处从正在创作该文档的至少一个其他作者接收到的第一元数据种子。第二元数据包括来自将胜出元数据种子发送给服务器106的客户机(例如客户机104)的文档标识符、下一段落标识符和修订本标识符。在操作418,客户机102确定是否应该归并第一元数据和第二元数据。确定是否应该归并第一元数据和第二元数据中所涉及的步骤在图5中示出且稍后在本公开内容中讨论。如果确定不应该归并第一元数据和第二元数据,则在操作420,在客户机102处的作者继续编辑该文档。如果确定应该归并第一元数据和第二元数据,则在操作422,客户机102上的示例元数据归并模块206归并第一元数据和第二元数据。通过调整客户机102上的作者打开的文档中的段落标识符来归并元数据。调整段落标识符的操作包括改变在客户机102上打开的文档中与在客户机104上打开的文档中的对应段落具有共同内容的所有段落的段落标识符。在客户机102上打开的文档的段落标识符被改变成由被包括在第二元数据中的文档标识符和下一段落标识符指示的对应段落标识符。例如,如果在客户机102上打开的文档上的段落1-3与在客户机104上打开的文档的段落1-3具有共同内容,且如果客户机102 上的文档的文档标识符是1000并且第二元数据中的文档标识符是2000,则将客户机104上的文档中的前三个段落重新编号成2000、2001和2002。另外,如果确定被添加到在客户机102上打开的文档但没有保存的段落具有处于由第二元数据指示的段落范围中的段落标识符,则示例元数据归并模块206改变这些段落标识符以使得它们在该文档中是唯一的。图5示出用于确定是否应该在客户机计算机处归并元数据的方法418的示例流程图。当在客户机计算机(例如客户机计算机10 处的作者编辑包括第一元数据种子的文档且该客户机计算机从服务器计算机接收到第二元数据种子时,实现该方法。第二元数据种子表示来自已经打开该文档的第二作者的元数据。第二元数据种子表示在服务器计算机处从已经打开和正在创作该文档的一个或多个作者接收到的第一元数据种子。元数据种子包括文档标识符、下一页面标识符和修订本标识符。在操作502,做出来自第一元数据种子的修订本标识符是否匹配来自第二元数据种子的修订本标识符的判定。修订本标识符指示文档的版本。为了归并元数据,文档必须处于同一修订本级别。这是因为在每一作者最初打开文档时,两个文档的内容必须是相同的。在确定来自第一元数据种子的修订本标识符不匹配来自第二元数据种子的修订本标识符时,在操作504,不归并元数据且在客户机102处的作者继续编辑。在确定来自第一元数据种子的修订本标识符匹配来自第二元数据种子的修订本标识符时,在操作506,做出来自第一元数据种子的文档标识符是否匹配来自第二元数据种子的文档标识符的判定。在各文档标识符匹配时,它指示已经同步了各文档且元数据归并是不必要的。在这种情况中,在操作508,不归并元数据,且在客户机102处的作者继续编辑。在确定来自第一元数据种子的文档标识符不匹配来自第二元数据种子的修订本标识符时,在操作510,做出从第一元数据种子确定的段落范围的大小是否匹配从第二元数据种子确定的段落范围的大小的判定。在确定段落范围不相同时,在操作512,不归并元数据,且在客户机102处的作者继续编辑。在确定各段落范围相同的时,在操作514,归并第一元数据种子和第二元数据种子。第一元数据种子和第二元数据种子的归并包括根据操作422调整在客户机102上打开的文档中的各段落标识符,正如所讨论的。参考图6,示出客户机102的各示例组件。在各示例实施方式中,客户机102是计算设备,例如台式计算机、膝上型计算机、个人数据助理或蜂窝设备。客户机102可以包括输入/输出设备、中央处理单元(“CPU”)、数据存储设备和网络设备。在基本配置中,计算设备102通常包括至少一个处理单元602和系统存储器604。 取决于计算设备的确切的配置和类型,系统存储器604可以是易失性存储器(例如RAM)、非易失性存储器(例如ROM、闪存等等)或两者的某种组合。系统存储器704通常包括诸如来自华盛顿州雷蒙德市微软公司的WINDOWS 操作系统等适用于控制联网个人计算机的操作的操作系统606或诸如也来自华盛顿州雷蒙德市微软公司的Windows SharePoint Server 2007等适用于控制服务器的操作的操作系统606。系统存储器604还可以包括一个或多个软件应用程序608且可以包括程序数据。计算设备102可以具有附加的特征或功能。例如,计算设备102还可以包括附加的数据存储设备(可移动存储设备和/或不可移动存储设备),诸如例如磁盘、光盘或磁带。在图6中由可移动存储610和不可移动存储612阐释这样的附加存储。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性介质和非易失性介质、可移动介质和不可移动介质。系统存储器 604、可移动存储610和不可移动存储612都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或可以被用来存储所需信息且可由计算设备102访问的任何其他介质。任何这样的计算机存储介质都可以是设备102的一部分。计算设备102可以也具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等等输入设备614。也可以包括诸如显示器、扬声器、打印机等等输出设备616。这些设备在本领域中是公知的,且不需要在这里详细讨论。计算设备102还可以包含允许该设备例如通过分布式计算环境中的网络(例如内联网或因特网)与其他计算设备620通信的通信连接618。通信连接618是通信介质的一个示例。通信介质可以通常是由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,且包括任何信息传递介质。术语“已调制数据信号”意味着以在信号中编码信息的方式来设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质和诸如声学、RF、红外和其他无线介质等无线介质。在此所使用的术语计算机可读介质包括存储介质和通信介质两者。仅作为说明来提供以上所描述的各种实施方式,且各种实施方式不应被解释成限制。可以在不偏离本公开内容的真实精神和范围的前提下可对以上所描述的实施方式进行各种修改和改变。
权利要求
1.一种用于在客户机计算机处(10 归并文档元数据的方法000),所述方法包括 在所述客户机计算机(10 处从服务器计算机(106)获取文档,所述文档是由在所述客户机计算机(102)处的用户请求的;在所述客户机计算机(10 处打开所述文档;响应于在所述客户机计算机(10 处打开所述文档,确定所述文档是否包括单元标识符;在确定所述文档不包括单元标识符时,将单元标识符分配给所述文档中的每一单元; 从所述服务器计算机(106)接收提供至少一个其他用户正在创作所述文档的通知的第一消息;响应于从所述服务器计算机(106)接收到至少一个其他用户正在创作所述文档的所述第一消息,将第二消息发送给所述服务器计算机(106),所述第二消息包括所述文档的第一元数据;响应于将所述第二消息发送给所述服务器计算机(106),从所述服务器计算机(106) 接收第三消息,所述第三消息包括所述文档的第二元数据;响应于从所述服务器计算机(106)接收到所述第三消息,确定是否应该归并所述第一元数据和所述第二元数据;以及在确定应该归并所述第一元数据和所述第二元数据时,基于所述第二元数据调整所述文档中的单元标识符。
2.如权利要求1所述的方法,其特征在于,所述第一元数据包括第一文档标识符、第一下一单元标识符和第一修订本标识符,且其中所述第二元数据包括第二文档标识符、第二下一单元标识符和第二修订本标识符。
3.如权利要求2所述的方法,其特征在于,从所述第一文档标识符确定第一单元标识符范围,且其中从所述第二元数据确定第二单元标识符范围,所述第一单元标识符范围包括第一标识符和最后标识符,且所述第二单元标识符范围包括第一标识符和最后标识符, 所述第一单元标识符范围中的第一标识符具有等于所述第一文档标识符的初始值,且所述第一单元标识符范围中的最后标识符具有等于比所述第一下一单元标识符小1的值,所述第二单元标识符范围中的第一标识符具有等于所述第二文档标识符的初始值,且所述第二单元标识符范围中的所述最后标识符具有等于比所述第二下一单元标识符小1的值。
4.如权利要求3所述的方法,其特征在于,确定是否应该归并所述第一元数据和所述第二元数据包括确定所述第一修订本标识符是否匹配所述第二修订本标识符。
5.如权利要求4所述的方法,还包括,在确定所述第二版修订本标识符匹配所述第一修订本标识符时,确定所述第一文档标识符是否匹配所述第二文档标识符。
6.如权利要求5所述的方法,还包括,在所述第一文档标识符不匹配所述第二文档标识符时,确定所述第一单元标识符范围的大小是否匹配所述第二单元标识符范围的大小。
7.如权利要求6所述的方法,还包括,在所述第一单元标识符范围的大小匹配所述第二单元标识符范围的大小时,确定应该归并所述第一元数据和所述第二元数据。
8.如权利要求3所述的方法,其特征在于,所述第一文档标识符是随机地生成的,其中从所述第一文档标识符开始循序地编号所述第一单元标识符范围中的每一单元,且其中从所述第二文档标识符开始循序地编号所述第二单元标识符范围中的每一单元。
9.如权利要求8所述的方法,其特征在于,基于所述第二元数据调整所述文档中的单元标识符包括将所述第一单元标识符范围中的第一标识符改变成所述第二文档标识符。
10.如权利要求9所述的方法,还包括将包括在所述第一单元标识符范围中的各单元的各单元标识符改变成包括在所述第二单元标识符范围中的对应单元标识符。
11.如权利要求10所述的方法,还包括确定来自未包括在所述第一单元标识符范围中的各单元的一个或多个单元标识符是否被包括在所述第二单元标识符范围中。
12.如权利要求10所述的方法,进一步包括,在确定来自未包括在所述第一单元标识符范围中的各单元的一个或多个单元标识符被包括在所述第二单元标识符范围中时,将来自未包括在所述第一单元标识符范围的各单元的所述一个或多个单元标识符改变成被包括在所述第一单元标识符范围中的单元标识符。
13.一个计算设备(102),包括 处理单元(602);被连接到所述处理单元(602)的系统存储器(604),所述系统存储器(604)包括各指令,所述指令在由所述处理单元(60 执行时使得所述处理单元(60 创建在所述计算设备(10 上生成、监视和存储文档的元数据的元数据处理模块004), 所述元数据包括文档标识符、下一段落标识符和修订本标识符,所述元数据处理模块(204) 从所述文档标识符和从所述下一段落标识符生成段落标识符范围,所述段落标识符范围包括第一段落标识符和最后段落标识符,所述第一段落标识符具有等于所述文档标识符的值,且所述最后段落标识符具有等于比所述下一段落标识符小1的值,其中所述元数据处理模块(204)生成每一段落的处于所述段落标识符范围中的段落标识符,所述段落标识符范围中的每一段落标识符是循序地编号的;以及将所述文档的元数据与从服务器计算机(106)接收到的元数据进行归并的元数据归并模块006),其中所述元数据归并模块(206)将所述文档标识符改变成包括在由所述服务器计算机(106)接收到的所述元数据中的文档标识符,且其中所述元数据归并模块(206)将所述段落标识符范围中的各段落标识符改变成被包括在由所述服务器计算机 (106)接收到的所述元数据中的各段落标识符。
14.如权利要求13所述的计算设备,其特征在于,所述元数据处理模块将元数据存储在所述服务器计算机(106)上的与所述文档分开的文件中。
15.一种包括各指令的计算机可读数据存储介质,所述指令在由电子计算设备(102) 的处理单元(60 执行时,使得所述处理单元(602)从服务器计算机(106)获取文档,所述文档是由所述电子计算机设备(10 处的用户请求的;打开所述文档;响应于打开所述文档,确定所述文档是否包括段落标识符;在确定所述文档不包括段落标识符时,通过以下操作将段落标识符分配给所述文档中的每一段落随机地生成所述文档的第一段落的标识符; 将所述文档的第一段落的标识符指定为第一文档标识符; 循序地将各标识符分配给所述文档中的其余段落;以及指定具有比分配给所述文档中的最后段落的标识符大1的值的第一下一段落标识符; 从所述服务器计算机(106)接收至少一个其他用户正在创作所述文档的第一消息; 响应于从所述服务器计算机(106)接收到至少一个其他用户正在创作所述文档的所述第一消息,将第二消息发送给所述服务器计算机(106),所述第二消息包括所述文档的第一元数据,所述第一元数据包括所述第一文档标识符、所述第一下一段落标识符和第一修订本标识符;从所述第一文档标识符和从所述第一下一段落标识符确定第一段落标识符范围,所述第一段落标识符范围中的第一标识符是所述第一文档标识符,且所述第一段落标识符范围中的最后标识符比所述第一下一段落标识符小1 ;响应于将所述第二消息发送给所述服务器计算机(106),从所述服务器计算机(106) 接收第三消息,所述第三消息包括所述文档的第二元数据,所述第二元数据包括第二文档标识符、第二段落标识符范围和第二修订本标识符;从所述第二文档标识符和从所述第二下一段落标识符确定第二段落标识符范围,所述第二段落标识符范围中的第一标识符是所述第二文档标识符,且所述第二段落标识符范围中的最后标识符比所述第二下一段落标识符小1 ;响应于从所述服务器计算机(106)接收到所述第三消息,通过以下操作确定是否应该归并所述第一元数据和所述第二元数据确定所述第一修订本标识符是否匹配所述第二修订本标识符; 在确定所述第一修订本标识符匹配所述第二修订本标识符时,确定所述第一文档标识符是否匹配所述第二文档标识符;在确定所述第一修订本标识符匹配所述第二修订本标识符并且确定所述第一文档标识符不匹配所述第二文档标识符时,确定所述第一段落标识符范围的大小是否匹配所述第二段落标识符范围的大小;在确定所述第一修订本标识符匹配所述第二修订本标识符、确定所述第一文档标识符不匹配所述第二文档标识符时并且确定所述第一段落标识符范围的大小匹配所述第二段落标识符范围的大小时,确定应该归并所述第一元数据和所述第二元数据;以及在确定应该归并所述第一元数据和所述第二元数据时,通过以下操作基于所述第二元数据调整所述文档中的各段落标识符将所述第二文档标识符指定为所述第一文档标识符,还将所述第二文档标识符指定为所述第一段落标识符范围中的第一段落的段落标识符;将所述第二段落标识符范围中的各段落标识符分配给所述第一段落标识符范围中的对应段落;确定所述文档中来自未包括在所述第一段落标识符范围中的段落的段落标识符是否匹配所述第二段落标识符范围中的段落标识符;以及在确定所述文档中来自未包括在所述第一段落标识符范围中的段落的段落标识符匹配所述第二段落标识符范围中的段落标识符时,将所述文档中匹配所述第二段落标识符范围中的段落标识符的段落标识符分配为所述第一段落标识符范围中的段落标识符。
全文摘要
提出了用于在客户机计算机处归并文档元数据的方法。由在客户机计算机处的用户打开从服务器计算机获取的文档。如果该文档不包括段落标识符,则将段落标识符分配给该文档中的每一段落。当在第二客户机计算机处的用户打开该文档时,从服务器计算机接收该文档的元数据。做出是否将从服务器计算机接收的元数据与该文档的当前元数据归并的判定。在确定应该归并当前元数据和从服务器计算机接收到的元数据时,基于从服务器计算机接收到的元数据调整该文档中的各段落标识符。
文档编号G06F17/00GK102414678SQ201080019470
公开日2012年4月11日 申请日期2010年4月23日 优先权日2009年4月30日
发明者D·B·罗宾斯, J·B·拜勒 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1