一种基于分布式存储系统的数据处理方法及存储设备与流程

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

技术特征:

1.一种基于分布式存储系统的数据处理方法,其特征在于,包括:

主存储节点接收读IO请求,所述读IO请求用于请求读取所述主存储节点所在逻辑分区上的目标数据对象,每个所述逻辑分区包括多个存储节点,每个存储节点存储有数据对象,且每个逻辑分区中有一个存储节点是主存储节点;

所述主存储节点判断所述主存储节点上存储的目标数据对象是否可信;

如果所述主存储节点上存储的所述目标数据对象可信,则读取所述主存储节点上存储所述目标数据对象,并将所述目标数据对象直接发送给发起所述读IO请求的发起端。

2.根据权利要求1所述的方法,其特征在于,所述主存储节点判断所述主存储节点上存储的目标数据对象是否可信,包括:

判断所述主存储节点的状态,所述主存储节点的状态包括可信状态和不可信状态;

如果所述主存储节点的状态为可信状态,则确定所述主存储节点上存储的目标数据对象可信;

如果所述主存储节点的状态为不可信状态,则获取所述主存储节点上的黑名单,并判断所述黑名单是否完整,所述黑名单中存储所述主存储节点上写失败的数据对象;

如果所述黑名单不完整,则确定所述主存储节点上的目标数据对象不可信;

如果所述黑名单完整,则判断所述黑名单中是否包含所述目标数据对象,如果包含所述目标数据对象,则确定所述主存储节点上的目标数据对象不可信;如果不包含所述目标数据对象,则确定所述主存储节点上的目标数据对象可信。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

所述主存储节点接收主存储节点确定消息,所述主存储节点确定消息包含主存储节点的标识信息;

当所述主存储节点根据所述主存储节点确定消息确定自身为主存储节点时,向所述主存储节点所在逻辑分区内的全部存储节点收集对象降级写日志,并标记所述主存储节点为不可信状态;所述对象降级写日志用于记录数据对象写失败的存储节点的日志,且记录在所述逻辑分区内所述数据对象写成功的全部存储节点上;

如果所述对象降级写日志中包含所述主存储节点上写失败的数据对象,则从所述对象降级写日志中,选取所述主存储节点上写失败的全部数据对象获得黑名单;

如果所述对象降级写日志中不包含所述主存储节点上写失败的数据对象,则标记所述主存储节点为可信状态。

4.根据权利要求2所述的方法,其特征在于,所述判断所述黑名单是否完整,包括:

所述主存储节点获取所述黑名单的状态,所述黑名单的状态包括完成状态和未完成状态,所述主存储节点收集所述对象降级写日志的过程中,所述黑名单为未完成状态,直到收集完所述主存储节点所在逻辑分区内所有存储节点的对象降级写日志,所述黑名单的状态为完成状态;

当所述主存储节点获得的所述状态为完成状态时,确定所述黑名单完整;

当所述主存储节点获得的所述状态为未完成状态时,确定所述黑名单不完整。

5.根据权利要求2所述的方法,其特征在于,若所述黑名单中包含在所述主存储节点上写失败的数据对象,则所述方法还包括:

所述主存储节点逐个重构所述黑名单中写失败的数据对象,并从所述黑名单中删除重构成功的数据对象所对应的降级写日志;

当所述黑名单中的全部数据对象都重构成功后,标记所述主存储节点为可信状态。

6.一种基于分布式存储系统的数据处理方法,其特征在于,包括:

主存储节点接收写IO请求,所述写IO请求用于请求向所述主存储节点所在的逻辑分区写入目标数据对象,所述逻辑分区包括多个存储节点,每个逻辑分区中有一个存储节点是主存储节点;

当所述主存储节点写入所述目标数据对象失败时,直接向所述写IO请求的发起端返回写失败响应消息;

当所述主存储节点写入所述目标数据对象成功时,将所述目标数据对象复制到所述主存储节点所在逻辑分区的其它存储节点上;

当所述主存储节点接收到所述主存储节点所在逻辑分区内预设数量个存储节点返回的写成功响应消息时,向所述写IO请求的发起端返回写成功响应消息,所述预设数量根据所述主存储节点所在逻辑分区的存储节点数量及Quorum机制确定。

7.一种存储设备,其特征在于,所述存储设备是分布式存储系统中一个逻辑分区中的主存储节点,所述存储设备包括:

第一接收模块,用于接收读IO请求,所述读IO请求用于请求读取所述主存储节点所在逻辑分区上的目标数据对象;

判断模块,用于判断所述存储设备中存储的所述目标数据对象是否可信;

读取模块,用于当所述判断模块确定所述目标数据对象可信,则读取所述存储设备中的所述目标数据对象;

发送模块,用于将所述读取模块读取的所述目标数据对象发送给所述读IO请求的发起端。

8.根据权利要求7所述的存储设备,其特征在于,所述判断模块包括:

第一判断子模块,用于判断所述存储设备的状态,所述存储设备的状态包括可信状态和不可信状态;如果所述主存储节点的状态为可信状态,则确定所述主存储节点上存储的目标数据对象可信;

第二判断子模块,用于当所述第一判断子模块确定所述主存储节点的状态为不可信状态时,获取所述主存储节点上的黑名单,并判断所述黑名单是否完整,所述黑名单中存储所述主存储节点上写失败的数据对象;如果所述黑名单不完整,则确定所述主存储节点上的目标数据对象不可信;

第三判断子模块,用于当所述第二判断子模块确定所述黑名单完整时,判断所述黑名单中是否包含所述目标数据对象,如果包含所述目标数据对象,则确定所述主存储节点上的目标数据对象不可信;如果不包含所述目标数据对象,则确定所述主存储节点上的目标数据对象可信。

9.根据权利要求8所述的存储设备,其特征在于,所述存储设备还包括:

第二接收模块,用于接收主存储节点确定消息,并根据所述主存储节点确定消息确定自身为主存储节点,所述主存储节点确定消息包含主存储节点的标识信息;

收集模块,用于向所述主存储节点所在逻辑分区内的全部存储节点收集对象降级写日志,并标记所述主存储节点为不可信状态;所述对象降级写日志用于记录数据对象写失败的存储节点的日志,且记录在所述逻辑分区内所述数据对象写成功的全部存储节点上;

黑名单构建模块,用于从所述对象降级写日志中,选取所述主存储节点上写失败的全部数据对象获得黑名单;

可信标记模块,用于当所述对象降级写日志中不包含所述主存储节点上写失败的数据对象,则标记所述主存储节点为可信状态。

10.根据权利要求8所述的存储设备,其特征在于,所述第二判断子模块具体用于:

获取所述黑名单的状态,所述黑名单的状态包括完成状态和未完成状态,所述主存储节点收集所述对象降级写日志的过程中,所述黑名单为未完成状态,直到收集完所述主存储节点所在逻辑分区内所有存储节点的对象降级写日志,所述黑名单的状态为完成状态;

当所述黑名单的状态为完成状态时,确定所述黑名单完整;

当所述黑名单的状态为未完成状态时,确定所述黑名单不完整。

11.根据权利要求8所述的存储设备,其特征在于,若所述黑名单中包含在所述主存储节点上写失败的数据对象,则所述存储设备还包括:

数据重构模块,用于逐个重构所述黑名单中写失败的数据对象,并从所述黑名单中删除重构成功的数据对象所对应的降级写日志;

状态修改模块,用于当所述黑名单中的全部数据对象都重构成功后,标记所述主存储节点为可信状态。

12.根据权利要求7所述的存储设备,其特征在于,还包括:

第三接收模块,用于接收写IO请求,所述写IO请求用于请求向所述主存储节点所在的逻辑分区写入目标数据对象;

写数据模块,用于根据所述写IO请求将所述目标数据对象写入所述存储设备的相应存储空间中;

第一返回模块,用于当所述目标数据对象写入失败时,直接向所述写IO请求的发起端返回写失败响应消息;

复制模块,用于当所述目标数据对象写入成功时,将所述目标数据对象复制到所述主存储节点所在逻辑分区的其它存储节点上;

第二返回模块,用于当所述主存储节点接收到所述主存储节点所在逻辑分区内预设数量个存储节点返回的写成功响应消息时,向所述写IO请求的发起端返回写成功响应消息,所述预设数量根据所述主存储节点所在逻辑分区的存储节点数量及Quorum机制确定。

13.一种存储设备,其特征在于,所述存储设备是分布式存储系统中一个逻辑分区中的主存储节点,所述存储设备包括:

接收器,用于读IO请求,所述读IO请求用于请求读取所述主存储节点所在逻辑分区上的目标数据对象;

处理器,用于判断所述存储设备中存储的所述目标数据对象是否可信;如果确定所述目标数据对象可信,则读取所述存储设备中的所述目标数据对象;

发送器,用于将读取的所述目标数据对象发送给所述读IO请求的发起端。

14.根据权利要求13所述的存储设备,其特征在于:

所述接收器,还用于接收写IO请求,所述写IO请求用于请求向所述主存储节点所在的逻辑分区写入目标数据对象;

所述处理器,还用于根据所述写IO请求将所述目标数据对象写入所述存储设备的相应存储空间中,如果所述目标数据对象写入失败时,直接向所述写IO请求的发起端返回写失败响应消息;如果所述目标数据对象写入成功,将所述目标数据对象复制到所述主存储节点所在逻辑分区的其它存储节点上,并接收所述其它存储节点返回的写成功响应消息;

发送器,还用于当接收到所述其它存储节点返回的预设数量个写成功响应消息时,向所述写IO请求的发起端返回写成功响应消息,所述预设数量根据所述主存储节点所在逻辑分区的存储节点数量及Quorum机制确定。

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