一种数据分发方法、数据存储方法、相关装置以及系统的制作方法_2

文档序号:9217094阅读:来源:国知局
与所述第二EC条带的串行分 发顺序,并根据所述串行分发顺序,将所述第一EC条带与所述第二EC条带串行分发给所述 m+k个存储节点。
[0072] 结合本发明实施例的第四方面的第二种实现方式,本发明实施例的第四方面的第 三种实现方式中,所述数据分发模块具体用于:
[0073] 若所述第一数据段的接收时间早于所述第二数据段的接收时间,则将所述第一EC 条带先分发给m+k个存储节点以执行存储,
[0074] 在接收到所述m+k个存储节点成功存储所述第一EC条带的响应消息之后,再将所 述第二EC条带分发给所述m+k个存储节点以执行存储;或者,
[0075] 若所述第一数据段的接收时间晚于所述第二数据段的接收时间,则将所述第二EC 条带先分发给m+k个存储节点以执行存储,在接收到所述m+k个存储节点成功存储所述第 二EC条带的响应消息之后,再将所述第一EC条带分发给所述m+k个存储节点以执行存储。
[0076] 结合本发明实施例的第四方面的第一种实现方式,本发明实施例的第四方面的第 四种实现方式中,所述数据接收模块还用于:
[0077] 确定是否接收到第三数据段,所述第三数据段与所述第一数据段落在相同的逻辑 区域且所述第三数据段的逻辑地址与所述第一数据段的逻辑地址不存在重叠;
[0078] 所述数据编码模块还用于:在所述数据接收模块确定接收到所述第三数据段后, 将所述第三数据合并到所述第一数据段中,并触发所述根据所述第一数据段进行EC编码 得到第一EC条带的步骤。
[0079] 结合本发明实施例的第四方面、或第四方面的第一种至第四种实现方式中的任一 项,本发明实施例的第四方面的第五种实现方式中,所述数据编码模块还用于:
[0080] 当所述第一数据段的大小等于Z,则将所述第一数据段划分为m个第一数据块,并 对所述m个第一数据块进行校验编码得到的k个第一校验块;或者,
[0081] 当所述第一数据段的大小小于Z,则使用已存储的数据将所述第一数据段的大小 补齐为Z,然后将补齐后的第一数据段划分为m个第一数据块,并对所述m个第一数据块进 行校验编码得到的k个第一校验块。
[0082] 本发明实施例的第五方面提供了一种数据分发装置,所述数据分发装置包括输入 装置、输出装置、处理器和存储器,其中,通过调用存储器存储的操作指令,处理器用于:
[0083] 接收存储指令,所述存储指令携带待存储的数据;
[0084] 将所述待存储的数据划分为P个数据段,其中,每个数据段对应于一个EC条带,所 述每个数据段的大小不大于Z,所述Z为m个数据块的大小,所述P为正整数;
[0085] 确定所述每个数据段对应的存储节点组;
[0086] 将所述每个数据段分发到确定的所述每个数据段对应的存储节点组的主存储节 点上。
[0087] 结合本发明实施例的第五方面,本发明实施例的第五方面的第一种实现方式中, 所述分布式存储系统的逻辑卷包括多个逻辑区域,每个逻辑区域的大小为Z且互不重叠;
[0088] 所述处理器还用于:
[0089] 根据所述待存储的数据的逻辑地址,将所述待存储的数据划分为P个数据段,其 中,每个数据段落在一个所述逻辑区域中。
[0090] 结合本发明实施例的第五方面的第一种实现方式,本发明实施例的第五方面的第 二种实现方式中,所述P个数据段中的第1个数据段的起始地址为所述待存储的数据的起 始地址,所述P个数据段中的第P个数据段的起始地址为所述第P个数据段所落在逻辑区 域的起始地址,2彡p彡P。
[0091 ] 结合本发明实施例的第五方面的第一种实现方式,本发明实施例的第五方面的第 三种实现方式中,所述处理器还用于:
[0092] 预先设置并记录所述每个逻辑区域与所述每个存储节点组之间的对应关系;
[0093] 根据所述每个逻辑区域与所述每个存储节点组之间的对应关系,确定所述每个数 据段所落在的逻辑区域对应的存储节点组。
[0094] 结合本发明实施例的第五方面的第三种实现方式,本发明实施例的第五方面的第 四种实现方式中,每个所述逻辑区域唯一对应一个key值,所述处理器还用于:
[0095] 预先设置并记录所述每个存储节点组对应的key值;
[0096] 根据所述每个数据段所落在的逻辑区域,确定所述每个数据段的key值;
[0097] 根据所述每个数据段的key值,确定所述每个数据段对应的存储节点组。
[0098] 本发明实施例的第六方面提供了 一种数据存储装置,所述数据存储装置包括输入 装置、输出装置、处理器和存储器,其中,通过调用存储器存储的操作指令,所述处理器用 于:
[0099] 接收第一数据段,所述第一数据段的大小不大于Z,其中,Z为m个数据块的大小;
[0100] 根据所述第一数据段进行EC编码得到第一EC条带,所述第一EC条带包括m个第 一数据块和k个第一校验块;
[0101] 将所述第一EC条带分发给m+k个存储节点以执行存储,其中,所述m+k个存储节 点中的每个存储节点负责存储所述第一EC条带的m个第一数据块或者k个第一校验块中 的任一个。
[0102] 结合本发明实施例的第六方面,本发明实施例的第六方面的第一种实现方式中, 所述分布式存储系统的逻辑卷包括多个逻辑区域,每个逻辑区域的大小为Z且互不重叠, 所述第一数据段落在一个所述逻辑区域中。
[0103] 结合本发明实施例的第六方面的第一种实现方式,本发明实施例的第六方面的第 二种实现方式中,所述处理器还用于:
[0104] 接收第二数据段,所述第二数据段与所述第一数据段落在相同的逻辑区域且所述 第二数据段的逻辑地址与所述第一数据段的逻辑地址存在重叠;
[0105] 根据所述第二数据段进行EC编码得到第二EC条带,所述第二EC条带包括m个第 二数据块和k个第二校验块;
[0106] 确定所述第一EC条带与所述第二EC条带的串行分发顺序,并根据所述串行分发 顺序,将所述第一EC条带与所述第二EC条带串行分发给所述m+k个存储节点。
[0107] 结合本发明实施例的第六方面的第二种实现方式,本发明实施例的第六方面的第 三种实现方式中,所述处理器还用于:
[0108] 若所述第一数据段的接收时间早于所述第二数据段的接收时间,则将所述第一EC 条带先分发给m+k个存储节点以执行存储,在接收到所述m+k个存储节点成功存储所述第 一EC条带的响应消息之后,再将所述第二EC条带分发给所述m+k个存储节点以执行存储; 或者,
[0109] 若所述第一数据段的接收时间晚于所述第二数据段的接收时间,则将所述第二EC 条带先分发给m+k个存储节点以执行存储,在接收到所述m+k个存储节点成功存储所述第 二EC条带的响应消息之后,再将所述第一EC条带分发给所述m+k个存储节点以执行存储。
[0110] 结合本发明实施例的第六方面的第一种实现方式,本发明实施例的第六方面的第 四种实现方式中,所述处理器还用于:
[0111] 接收第三数据段,所述第三数据段与所述第一数据段落在相同的逻辑区域且所述 第三数据段的逻辑地址与所述第一数据段的逻辑地址不存在重叠;
[0112] 将所述第三数据合并到所述第一数据段中,并触发所述根据所述第一数据段进行 EC编码得到第一EC条带的步骤。
[0113] 结合本发明实施例的第六方面、第六方面的第一种至第四种实现方式中的任一 项,本发明实施例的第六方面的第五种实现方式中,所述处理器还用于:
[0114] 当所述第一数据段的大小等于Z,则将所述第一数据段划分为m个第一数据块,并 对所述m个第一数据块进行校验编码得到的k个第一校验块;或者,
[0115] 当所述第一数据段的大小小于Z,则使用已存储的数据将所述第一数据段的大小 补齐为Z,然后将补齐后的第一数据段划分为m个第一数据块,并对所述m个第一数据块进 行校验编码得到的k个第一校验块。
[0116] 本发明实施例的第七方面提供了一种计算机可读介质,包括计算机执行指令,当 计算机的处理器执行所述计算机执行指令时,所述计算机执行如下方法:
[0117] 接收存储指令,所述存储指令携带待存储的数据;
[0118] 将所述待存储的数据划分为P个数据段,其中,每个数据段对应于一个EC条带,所 述每个数据段的大小不大于Z,所述Z为m个数据块的大小,所述P为正整数;
[0119] 确定所述每个数据段对应的存储节点组;
[0120] 将所述每个数据段分发到确定的所述每个数据段对应的存储节点组的主存储节 点上。
[0121] 结合本发明实施例的第七方面,本发明实施例的第七方面的第一种实现方式中, 所述分布式存储系统的逻辑卷包括多个逻辑区域,每个逻辑区域的大小为Z且互不重叠;
[0122] 所述计算机还执行如下方法:
[0123] 根据所述待存储的数据的逻辑地址,将所述待存储的数据划分为P个数据段,其 中,每个数据段落在一个所述逻辑区域中。
[0124] 结合本发明实施例的第七方面的第一种实现方式,本发明实施例的第七方面的第 二种实现方式中,所述P个数据段中的第1个数据段的起始地址为所述待存储的数据的起 始地址,所述P个数据段中的第P个数据段的起始地址为所述第P个数据段所落在逻辑区 域的起始地址,2彡p彡P。
[0125] 结合本发明实施例的第七方面的第一种实现方式,本发明实施例的第七方面的第 三种实现方式中,所述计算机还执行如下方法:
[0126] 预先设置并记录所述每个逻辑区域与所述每个存储节点组之间的对应关系;
[0127] 根据所述每个逻辑区域与所述每个存储节点组之间的对应关系,确定所述每个数 据段所落在的逻辑区域对应的存储节点组。
[0128] 结合本发明实施例的第七方面的第三种实现方式,本发明实施例的第七方面的第 四种实现方式中,每个所述逻辑区域唯一对应一个key值,所述计算机还执行如下方法:
[0129] 预先设置并记录所述每个存储节点组对应的key值;
[0130] 根据所述每个数据段所落在的逻辑区域,确定所述每个数据段的key值;
[0131] 根据所述每个数据段的key值,确定所述每个数据段对应的存储节点组。
[0132] 本发明实施例的第八方面提供了一种计算机可读介质,其特征在于,包括计算机 执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行如下方法:
[0133] 接收第一数据段,所述第一数据段的大小不大于Z,其中,Z为m个数据块的大小;
[0134] 根据所述第一数据段进行EC编码得到第一EC条带,所述第一EC条带包括m个第 一数据块和k个第一校验块;
[0135] 将所述第一EC条带分发给m+k个存储节点以执行存储,其中,所述m+k个存储节 点中的每个存储节点负责存储所述第一EC条带的m个第一数据块或者k个第一校验块中 的任一个。
[0136] 结合本发明实施例的第八方面,本发明实施例的第八方面的第一种实现方式中, 所述分布式存储系统的逻辑卷包括多个逻辑区域,每个逻辑区域的大小为Z且互不重叠, 所述第一数据段落在一个所述逻辑区域中。
[0137] 结合本发明实施例的第八方面的第一种实现方式,本发明实施例的第八方面的第 二种实现方式中,所述计算机还执行如下方法:
[0138] 接收第二数据段,所述第二数据段与所述第一数据段落在相同的逻辑区域且所述 第二数据段的逻辑地址与所述第一数据段的逻辑地址存在重叠;
[0139] 根据所述第二数据段进行EC编码得到第二EC条带,所述第二EC条带包括m个第 二数据块和k个第二校验块;
[0140] 确定所述第一EC条带与所述第二EC条带的串行分发顺序,并根据所述串行分发 顺序,将所述第一EC条带与所述第二EC条带串行分发给所述m+k个存储节点。
[0141] 结合本发明实施例的第八方面的第二种实现方式,本发明实施例的第八方面的第 三种实现方式中,所述计算机还执行如下方法:
[0142] 若所述第一数据段的接收时间早于所述第二数据段的接收时间,则将所述第一EC 条带先分发给m+k个存储节点以执行存储,在接收到所述m+k个存储节点成功存储所述第 一EC条带的响应消息之后,再将所述第二EC条带分发给所述m+k个存储节点以执行存储; 或者,
[0143] 若所述第一数据段的接收时间晚于所述第二数据段的接收时间,则将所述第二EC 条带先分发给m+k个存储节点以执行存储,在接收到所述m+k个存储节点成功存储所述第 二EC条带的响应消息之后,再将所述第一EC条带分发给所述m+k个存储节点以执行存储。
[0144] 结合本发明实施例的第八方面的第一种实现方式,本发明实施例的第八方面的第 四种实现方式中,所述计算机还执行如下方法:
[0145] 接收第三数据段,所述第三数据段与所述第一数据段落在相同的逻辑区域且所述 第三数据段的逻辑地址与所述第一数据段的逻辑地址不存在重叠;
[0146] 将所述第三数据合并到所述第一数据段中,并触发所述根据所述第一数据段进行 EC编码得到第一EC条带的步骤。
[0147] 结合本发明实施例的第八方面、第八方面的第一种至第四种实现方式中的任一 项,本发明实施例的第八方面的第五种实现方式中,所述计算机还执行如下方法:
[0148] 当所述第一数据段的大小等于Z,则将所述第一数据段划分为m个第一数据块,并 对所述m个第一数据块进行校验编码得到的k个第一校验块;或者,
[0149] 当所述第一数据段的大小小于Z,则使用已存储的数据将所述第一数据段的大小 补齐为Z,然后将补齐后的第一数据段划分为m个第一数据块,并对所述m个第一数据块进 行校验编码得到的k个第一校验块。
[0150] 本发明实施例的第九方
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1