使用逻辑文档日志的可扩展最终一致性系统的制作方法

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

技术特征:

1.一种用于在使得文档能够由多个用户访问的服务中提供可扩展最终一致性的方法,所述方法包括以下操作:

接收写请求,每个写请求包括文档标识符和文档数据;

在为写请求服务的第一存储系统的所选择的分区中针对每个写请求而创建运行记录;

尝试将所述运行记录复制到为读请求服务的第二存储系统;以及

在已经成功地将所述运行记录复制到所述第二存储系统时从所述第一存储系统中删除所述运行记录;并且

当所述第一存储系统的所述所选择的分区包含运行记录时,重复以下操作:尝试将所述运行记录复制到为读请求服务的第二存储系统以及删除已经被成功地复制到所述第二存储系统的所述运行记录。

2.根据权利要求1所述的方法,其中,所述所选择的分区基于所述文档标识符。

3.根据权利要求1所述的方法,其中,所述第二存储系统按照为读请求服务所需的视图进行分区。

4.根据权利要求1所述的方法,还包括在所述第一存储系统的所述所选择的分区中针对每个写请求而创建历史记录的操作。

5.根据权利要求1所述的方法,还包括基于相关联的文档标识符向每个写请求分配分区键值的操作,每个分区键值与所述第一存储系统中的分区相对应。

6.根据权利要求5所述的方法,还包括基于所述相关联的文档标识符的散列值来计算所述写请求的所述分区键值的操作。

7.根据权利要求1所述的方法,还包括向所述写请求分配唯一的标识符的操作。

8.根据权利要求7所述的方法,还包括基于所述相关联的文档标识符的散列值来计算所述写请求的所述分区键值的操作。

9.一种用于在使得文档能够由多个用户访问的服务中提供可扩展最终一致性的系统,所述系统包括:

第一存储系统,所述第一存储系统用于存储来自与对文档的改变相关联的写请求的文档记录;

第二存储系统,所述第二存储系统用于存储被用来为读请求服务的文档记录;

具有处理器和存储器的计算设备,所述计算设备用于:

接收写请求;

在第一存储系统的所选择的分区中针对写请求来创建运行记录;

将所述运行记录复制到所述第二存储系统;

从所述第一存储系统中删除已经成功地复制的运行记录。

10.根据权利要求9所述的系统,其中,所述第二存储系统按照为读请求服务所需的视图进行分区。

11.根据权利要求9所述的系统,其中,所述计算设备还用于不断地读取所述第一存储系统的分区以定位运行记录并且将所定位的运行记录复制到所述第二存储系统。

12.根据权利要求9所述的系统,其中,所述计算设备还用于在所述第一存储系统的所述所选择的分区中针对写请求而创建历史记录。

13.根据权利要求9所述的系统,其中,所述计算设备还用于向所述写请求分配唯一的标识符。

14.根据权利要求9所述的系统,其中,所述唯一的标识符包括与文档版本标识符相结合的文档标识符以及区分运行记录和历史记录的记录类型指示符。

15.一种包含计算机可执行指令的计算机可读介质,其中,当由计算机执行时,所述计算机可执行指令执行在使得文档能够由多个用户访问的服务中提供可扩展最终一致性的方法,所述方法包括以下操作:

接收写请求,每个写请求包括文档标识符和文档数据;

基于所述文档标识符的散列值来计算每个写请求的分区键值,每个分区键值与为写请求服务的第一存储系统中的分区相对应;

将针对每个写请求的运行记录和历史记录添加至与所述写请求的所述分区键值相对应的所述第一存储系统中的所述分区;

尝试将所述运行记录复制到第二存储系统,所述第二存储系统为读请求服务,并且按照为读请求服务所需的视图来分区;

从所述第一存储系统中的所述分区中删除已经成功地复制到所述第二存储系统的每个运行记录;并且

当读取所述第一存储系统中的记录列表时,针对在所述记录列表中所发现的每个运行记录而重复以下操作:尝试将所述运行记录复制到第二存储系统,以及删除已经成功地复制到所述第二存储系统的每个运行记录。

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