用于计算、应用和显示文档增量的系统和方法与流程

文档序号:11890791阅读:来源:国知局

技术特征:

1.一种用于共享与在网络存储服务上托管的协同文档相关的信息的计算机实现的方法,所述方法包括:

存储所述协同文档的第一快照;

接收来自第一用户的对所述协同文档的编辑;

基于第一编辑来修改所述协同文档;

存储经修改的协同文档的第二快照;

将所述第一快照扁平化成第一一维串以产生第一扁平化快照;

将所述第二快照扁平化成第二一维串以产生第二扁平化快照;

确定所述第二扁平化快照的最小子集,所述第二扁平化快照的所述最小子集与所述第一扁平化快照的对应子集不同;

生成包括所确定的最小子集的表示的馈送;以及

将所述馈送发送至客户端装置以显示在所述客户端装置上。

2.根据权利要求1所述的方法,其中,所述表示包括:

新的部分,所述新的部分通过反转所确定的最小子集的扁平化来生成;以及

旧的部分,所述旧的部分通过反转所述对应子集的扁平化来生成。

3.根据权利要求1所述的方法,其中,所述馈送包括所述电子文档的对于所述第一快照和所述第二快照公共的上下文部分。

4.根据权利要求1所述的方法,进一步包括:

接收来自以下中的一个的评论:所述第一用户和第二用户;

将所述馈送修改为包括所述评论的表示;以及

将经修改的馈送发送至所述客户端装置以显示在所述客户端装置上。

5.根据权利要求1所述的方法,进一步包括:

接收来自第二用户的对所述经修改的协同文档的第二编辑;

基于所述第二编辑进一步修改所述经修改的协同文档;

存储进一步修改的协同文档的第三快照;

将所述第三快照扁平化成第三一维串以产生第三扁平化快照;

确定所述第三扁平化快照的第二最小子集,所述第三扁平化快照的所述第二最小子集与所述第二扁平化快照的对应子集不同;

将所述馈送修改为包括所述第二最小子集的表示;以及

将所述馈送发送至客户端装置以显示在所述客户端装置上。

6.根据权利要求1所述的方法,进一步包括:

将所述第一快照扁平化成第四一维串以产生第四扁平化快照;

将所述第二快照扁平化成第五一维串以产生第五扁平化快照;

确定所述第五扁平化快照的第三最小子集,所述第五扁平化快照的所述第三最小子集与所述第四扁平化快照的对应子集不同;以及

其中,所确定的最小子集是所述第三最小子集。

7.根据权利要求6所述的方法,其中:

所述协同文档是电子表格文档;

所述第四一维串和所述第五一维串每个包含多个标识符;以及

所述标识符中的每个标识符表示在所述电子表格文档中的行。

8.根据权利要求7所述的方法,其中:

所述协同文档是电子表格文档;

所述第四一维串和所述第五一维串每个包含多个标识符;以及

所述标识符中的每个标识符表示在所述电子表格文档中的列。

9.根据权利要求1所述的方法,其中:

所述协同文档的每个快照包括节点的层级结构,所述节点的层级结构包括:多个级别、包含数据的一个主节点、和包含数据的多个非主节点;

所述非主节点中的每个非主节点具有在所述级别之上的父节点;

所述节点中的每个节点在下一级别中具有零个、一个、或者多个子节点;

在一个级别中的每个节点与所述主节点之间的级别的数目相同;以及

将所述第一快照扁平化成所述第一一维串包括:

选择级别,

将在所选择的级别中的第一节点映射至第一标识符,以及

将所述第一标识符添加至所述第一一维串;以及将所述第二快照扁平化成所述第二一维串包括:

基于确定所述第二节点的内容与所述第一节点的内容相同,将在所述第二快照的所述对应的所选择的级别中的第二节点映射至所述第一标识符,以及

将所述第一标识符添加至所述第二一维串。

10.根据权利要求9所述的方法,其中,将所述第二快照扁平化成所述第二一维串进一步包括:

基于确定在第三节点中包含的数据与在所述第一快照的所选择的级别中的节点中的任何节点的内容不同,将在所述第二快照的对应的所选择的级别中的所述第三节点映射至第二标识符;以及

将所述第二标识符添加至所述第二一维串。

11.根据权利要求9所述的方法,其中,确定所述最小子集包括:

确定所述第一一维串和所述第二一维串包含所述第一标识符;以及

从所述最小子集排除所述第一标识符。

12.根据权利要求10所述的方法,其中,确定所述最小子集包括:

确定所述第一一维串不包含所述第二标识符;以及

将所述第二标识符包括在所述最小子集中。

13.一种用于共享与在网络存储服务上托管的协同文档相关的信息的系统,包括:

一个或者多个处理器;以及

存储用于由所述一个或者多个处理器执行的一个或者多个程序的存储器,所述一个或者多个程序包括指令,所述指令用于:

存储所述协同文档的第一快照;

接收来自第一用户的对所述协同文档的编辑;

基于第一编辑修改所述协同文档;

存储经修改的协同文档的第二快照;

将所述第一快照扁平化成第一一维串以产生第一扁平化快照;

将所述第二快照扁平化成第二一维串以产生第二扁平化快照;

确定所述第二扁平化快照的最小子集,所述第二扁平化快照的所述最小子集与所述第一扁平化快照的对应子集不同;

生成包括所确定的最小子集的表示的馈送;以及

将所述馈送发送至客户端装置以显示在所述客户端装置上。

14.根据权利要求13所述的系统,其中,所述表示包括:

新的部分,所述新的部分通过反转所确定的最小子集的扁平化来生成;以及

旧的部分,所述旧的部分通过反转所述对应子集的扁平化来生成。

15.根据权利要求13所述的系统,其中,所述馈送包括所述电子文档的对于所述第一快照和所述第二快照公共的上下文部分。

16.根据权利要求13所述的系统,所述一个或者多个程序进一步包括指令,所述指令用于:

接收来自所述第一用户和第二用户中的一个的评论;

将所述馈送修改为包括所述评论的表示;以及

将经修改的馈送发送至所述客户端装置以显示在所述客户端装置上。

17.根据权利要求13所述的系统,进一步包括:

接收来自第二用户的对所述经修改的协同文档的第二编辑;

基于所述第二编辑进一步修改所述经修改的协同文档;

存储进一步修改的协同文档的第三快照;

将所述第三快照扁平化成第三一维串以产生第三扁平化快照;

确定所述第三扁平化快照的第二最小子集,所述第三扁平化快照的所述第二最小子集与所述第二扁平化快照的对应子集不同;

将所述馈送修改为包括所述第二最小子集的表示;以及

将所述馈送发送至客户端装置以显示在所述客户端装置上。

18.根据权利要求13所述的系统,所述一个或者多个程序进一步包括指令,所述指令用于:

将所述第一快照扁平化成第四一维串以产生第四扁平化快照;

将所述第二快照扁平化成第五一维串以产生第五扁平化快照;

确定所述第五扁平化快照的第三最小子集,所述第五扁平化快照的所述第三最小子集与所述第四扁平化快照的对应子集不同;以及

其中,所确定的最小子集是所述第三最小子集。

19.根据权利要求18所述的系统,其中:

所述协同文档是电子表格文档;

所述第四一维串和所述第五一维串每个包含多个标识符;以及

所述标识符中的每个标识符表示在所述电子表格文档中的行。

20.根据权利要求19所述的系统,其中:

所述协同文档是电子表格文档;

所述第四一维串和所述第五一维串每个包含多个标识符;以及

所述标识符中的每个标识符表示在所述电子表格文档中的列。

21.根据权利要求13所述的系统,其中:

所述协同文档的每个快照包括节点的层级结构,所述节点的层级结构包括:多个级别、包含数据的一个主节点、和包含数据的多个非主节点。

所述非主节点中的每个非主节点具有在所述级别之上的父节点;

所述节点中的每个节点在下一级别中具有零个、一个、或者多个子节点;

在一个级别中的每个节点与所述主节点之间的级别的数目相同;以及

将所述第一快照扁平化成所述第一一维串包括:

选择级别,

将在所选择的级别中的第一节点映射至第一标识符,以及

将所述第一标识符添加至所述第一一维串;以及

将所述第二快照扁平化成所述第二一维串包括:

基于确定所述第二节点的内容与所述第一节点的内容相同,将在所述第二快照的所述对应的所选择的级别中的第二节点映射至所述第一标识符,以及

将所述第一标识符添加至所述第二一维串。

22.根据权利要求21所述的方法,其中,将所述第二快照扁平化成所述第二一维串进一步包括:

基于确定在第三节点中包含的数据与在所述第一快照的所选择的级别中的节点中的任何节点的内容不同,将在所述第二快照的对应的所选择的级别中的所述第三节点映射至第二标识符;以及

将所述第二标识符添加至所述第二一维串。

23.根据权利要求21所述的系统,其中,确定所述最小子集包括:

确定所述第一一维串和所述第二一维串包含所述第一标识符;以及

从所述最小子集排除所述第一标识符。

24.根据权利要求22所述的系统,其中,确定所述最小子集包括:

确定所述第一一维串不包含所述第二标识符;以及

将所述第二标识符包括在所述最小子集中。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1