一种分布式存储系统中的数据更新方法及装置与流程

文档序号:15081238发布日期:2018-08-04 10:31阅读:来源:国知局

技术特征:

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

当前服务器节点接收客户端发送的待更新数据;当前服务器节点为所述待更新数据递增分配唯一的版本号,并从元数据信息存储库中获取所述待更新数据的多个副本所在的多个副本服务器节点标识;所述元数据信息存储库保存有所述分布式存储系统中的各个服务器节点标识,副本在服务器节点中的分布信息及副本的状态;

当前服务器节点将待更新数据及其分配的版本号发送给所述多个副本服务器节点标识对应的副本服务器节点,以便所述多个副本服务器节点依据所述待更新数据分别对各自保存的副本及对应的版本号进行更新;以及,在客户端需要对当前服务器节点进行数据读取操作,且客户端将本次需要读取的数据的版本号携带给副本服务器节点时,所述副本服务器判断所述携带的版本号是否比自身存储的副本的版本号更新,如果是,则拒绝本次数据读取操作;如果否,则接受本次数据读取操作;所述版本号表示所述副本的更新次数;

当前服务器节点判断是否至少超过一半的所述多个副本服务器节点更新数据成功,如果是,则向客户端返回数据更新成功消息及更新后的版本号;

当前服务器节点重启时,向所述多个副本服务器节点发送请求以获取所述副本服务器节点对应的最新的版本号;

当前服务器节点将副本的初始版本号更新为所述最新的版本号,以便后续以最近更新的版本号为起始版本号分配待更新数据;

比较所述多个副本服务器节点所保存的多个副本的多个版本号,如果存在版本号比其他副本服务器节点的版本号小的副本服务器节点,则触发版本号较小的副本服务器节点向版本号较大的副本服务器节点请求较大的版本号对应的副本。

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

当前服务器节点缓存所述待更新数据,并在所述多个副本服务器节点全部更新完毕后,删除所述待更新数据。

3.一种分布式存储系统中的数据更新装置,其特征在于,包括:

元数据信息存储库,用于存储所述分布式存储系统中的各个服务器节点标识,副本在服务器节点中的分布信息及副本的状态;

接收待更新数据模块,用于接收客户端发送的待更新数据;

分配模块,用于为所述待更新数据递增分配唯一的版本号;

获取模块,用于从所述元数据信息存储库中获取所述待更新数据的多个副本所在的多个副本服务器节点标识;

发送模块,用于将待更新数据及其分配的版本号发送给所述多个副本服务器节点标识对应的副本服务器节点,以便所述多个副本服务器节点依据所述待更新数据分别对各自保存的副本及对应的版本号进行更新;以及,在客户端需要对当前服务器节点进行数据读取操作,且客户端将本次需要读取的数据的版本号携带给副本服务器节点时,所述副本服务器判断所述携带的版本号是否比自身存储的副本的版本号更新,如果是,则拒绝本次数据读取操作;如果否,则接受本次数据读取操作;所述版本号表示所述副本的更新次数;

判断更新模块,用于判断是否至少超过一半的所述多个副本服务器节点更新数据成功,如果是,则触发返回模块;

所述返回模块用于向客户端返回数据更新成功消息及更新后的版本号;

发送请求模块,用于在当前服务器节点重启时,向所述多个副本服务器节点发送请求以获取所述多个副本服务器节点对应的最新的版本号;

更新版本号模块,用于将副本的初始版本号更新为所述最新的版本号,以便后续以最近更新的版本号为起始版本号分配待更新数据;

比较模块,用于比较所述多个副本服务器节点所保存的多个副本的多个版本号;

触发模块,用于如果存在版本号比其他副本服务器节点的版本号小的副本服务器节点,则触发版本号较小的副本服务器节点向版本号较大的副本服务器节点请求较大的版本号对应的副本。

4.根据权利要求3所述的装置,其特征在于,还包括:

缓存模块,用于缓存所述待更新数据;

删除模块,用于在所述多个副本服务器节点全部更新完毕后,删除所述待更新数据。

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