一种锁资源迁移方法、节点及分布式系统.pdf

上传人:n****g 文档编号:4075768 上传时间:2018-08-14 格式:PDF 页数:22 大小:1.96MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410677166.7

申请日:

2014.11.21

公开号:

CN104486373A

公开日:

2015.04.01

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/08申请日:20141121|||公开

IPC分类号:

H04L29/08; H04L12/18

主分类号:

H04L29/08

申请人:

华为技术有限公司

发明人:

王勋; 范超; 陈光

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司11291

代理人:

冯艳莲

PDF下载: PDF下载
内容摘要

本发明提供一种锁资源迁移方法、节点及分布式系统,该方法包括:迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线;所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据;所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态;所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。

权利要求书

权利要求书1.  一种锁资源迁移方法,其特征在于,包括: 迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上 线或者离线; 所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量 迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息 的时刻所述迁移源节点中的锁资源数据; 所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后,设置所 述锁资源的状态为停止服务状态; 所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移 数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状 态为停止服务状态的时刻所述迁移源节点中的锁资源数据。 2.  如权利要求1所述的方法,其特征在于,在所述迁移源节点将增量迁移 数据发送给所述迁移目的节点之后,所述方法还包括: 所述迁移源节点在接收到所述迁移目的节点发送的迁移完成广播信息后, 更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。 3.  如权利要求2所述的方法,其特征在于,在所述迁移源节点在接收到所 述迁移目的节点发送的迁移完成广播信息后,所述方法还包括: 所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。 4.  一种锁资源迁移方法,其特征在于,包括: 迁移目的节点接收迁移源节点发送的锁资源的全量迁移数据,所述全量迁 移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻 所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点 上线或者离线; 所述迁移目的节点接收所述迁移源节点发送的增量迁移数据,所述增量迁 移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态 为停止服务状态的时刻所述迁移源节点中的锁资源数据; 所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态 为服务状态。 5.  如权利要求4所述的方法,其特征在于,在所述迁移目的节点设置所述 锁资源的状态为服务状态之后,所述方法还包括: 所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信 息。 6.  如权利要求5所述的方法,其特征在于,在所述迁移目的节点向所述分 布式系统中的所有节点发送迁移完成广播信息之后,所述方法还包括: 所述迁移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分 布式系统中的分布情况。 7.  一种锁资源迁移方法,其特征在于,包括: 分布式系统中的迁移源节点接收通知消息,所述通知消息用于通知所述分 布式系统中有节点上线或者离线; 所述迁移源节点将锁资源的全量迁移数据发送给所述分布式系统中的迁移 目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至 接收到通知消息的时刻所述迁移源节点中的锁资源数据; 所述迁移源节点在发送所述全量迁移数据之后,设置所述锁资源的状态为 停止服务状态; 所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移 数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为 停止服务状态的时刻所述迁移源节点中的锁资源数据; 所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态 为服务状态。 8.  如权利要求7所述的方法,其特征在于,在所述迁移目的节点设置所述 锁资源的状态为服务状态之后,所述方法还包括: 所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息。 9.  如权利要求8所述的方法,其特征在于,在所述迁移目的节点向所述分 布式系统中的所有节点广播迁移完成广播信息之后,所述方法还包括: 所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资 源在所述分布式系统中的分布情况。 10.  如权利要求8所述的方法,其特征在于,在所述迁移目的节点向所述 分布式系统中的所有节点广播迁移完成广播信息之后,所述方法还包括: 所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。 11.  一种迁移源节点,其特征在于,包括: 接收单元,用于接收通知消息,所述通知消息用于通知分布式系统中有节 点上线或者离线; 第一发送单元,用于将锁资源的全量迁移数据发送给迁移目的节点,所述 全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知 消息的时刻所述迁移源节点中的锁资源数据; 处理单元,用于在所述迁移目的节点接收所述全量迁移数据之后,设置所 述锁资源的状态为停止服务状态; 第二发送单元,用于将增量迁移数据发送给所述迁移目的节点,所述增量 迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源 的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。 12.  如权利要求11所述的迁移源节点,其特征在于,所述迁移源节点还包 括: 更新单元,用于在接收到所述迁移目的节点发送的迁移完成广播信息后, 更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。 13.  如权利要求12所述的迁移源节点,其特征在于,所述迁移源节点还包 括: 删除单元,用于在所述迁移源节点在接收到所述迁移目的节点发送的迁移 完成广播信息后,删除所述全量迁移数据及所述增量迁移数据。 14.  一种迁移目的节点,其特征在于,包括: 第一接收单元,用于接收迁移源节点发送的锁资源的全量迁移数据,所述 全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息 的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中 有节点上线或者离线; 第二接收单元,用于接收所述迁移源节点发送的增量迁移数据,所述增量 迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状 态为停止服务状态的时刻所述迁移源节点中的锁资源数据; 处理单元,用于在接收所述增量迁移数据之后,设置所述锁资源的状态为 服务状态。 15.  如权利要求14所述的迁移目的节点,其特征在于,所述迁移目的节点 还包括: 发送单元,用于在所述迁移目的节点设置所述锁资源的状态为服务状态之 后,向所述分布式系统中的所有节点发送迁移完成广播信息。 16.  如权利要求15所述的迁移目的节点,其特征在于,所述迁移目的节点 还包括: 更新单元,用于在所述迁移目的节点向所述分布式系统中的所有节点发送 迁移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述 分布式系统中的分布情况。 17.  一种分布式系统,其特征在于,包括: 迁移源节点,用于接收通知消息,所述通知消息用于通知所述分布式系统 中有节点上线或者离线;将锁资源的全量迁移数据发送给所述分布式系统中的 迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻 起至接收到通知消息的时刻所述迁移源节点中的锁资源数据;在发送所述全量 迁移数据之后,设置所述锁资源的状态为停止服务状态;将增量迁移数据发送 给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知 消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的 锁资源数据; 迁移目的节点,用于在接收所述增量迁移数据之后,设置所述锁资源的状 态为服务状态。 18.  如权利要求17所述的分布式系统,其特征在于,所述迁移目的节点还 用于: 在所述迁移目的节点设置所述锁资源的状态为服务状态之后,向所述分布 式系统中的所有节点广播迁移完成广播信息。 19.  如权利要求18所述的分布式系统,其特征在于,所述分布式系统中的 所有节点用于: 在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的 分布情况。 20.  如权利要求18所述的分布式系统,其特征在于,所述迁移源节点还用 于: 在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息之后,删除所述全量迁移数据及所述增量数据。

说明书

说明书一种锁资源迁移方法、节点及分布式系统
技术领域
本发明涉及电子技术领域,尤其涉及一种锁资源迁移方法、节点及分布式 系统。
背景技术
分布式系统中有多个节点,当多个节点中有至少两个节点同时对同一文件 分别进行写操作,或者同时对同一文件分别进行写操作和读操作,就会产生冲 突。例如:A节点对一个文件进行写操作时,B节点也对相同的文件进行写操作, 那么文件操作就会产生冲突。又例如:A节点对一个文件进行写操作时,B节点 也对相同的文件进行读操作,文件操作也会产生冲突。还例如:A节点对一个 文件的[0,100]区间进行读操作,节点B也对相同文件的[50,100]区间进行写操 作,文件操作也会产生冲突。由于一个文件有多个区间,所以不同节点对同一 文件的两个区间分别进行读操作和写操作,且两个区间有重叠部分时,文件操 作就会产生大量的冲突。
为了避免分布式系统中的各个节点在操作文件时产生冲突,一般会在各个 节点上都存储有一个文件或者多个文件的锁资源,用于记录一个或者多个文件 中的每一文件被哪些节点加锁以及锁的权限是读权限还是写权限。节点在对文 件进行读操作或者写操作之前,需要向存储有该文件的锁资源的节点发送加锁 请求,请求对该文件进行加锁,以获取读权限或者写权限,然后再对该文件进 行读操作或者写操作,以保证文件操作不会产生冲突。
现有技术中,当分布式系统中有节点上线或者下线时,为实现锁资源在分 布式系统中均衡分布,需要将其他节点上的锁资源迁移到上线节点,或者需要 将下线节点上的锁资源迁移到其他节点。具体的迁移方法为:首先迁移源节点 将需要迁移的锁资源的状态设置为停止服务状态,然后迁移源节点将需要迁移 的锁资源整体迁移到迁移目的节点上,最后迁移目的节点将已迁移过来的锁资 源的状态设置为服务状态。
由于需要迁移的锁资源量大,所以在较长一段时间内,其他节点都无法使用 迁移锁资源的锁服务,对分布式系统的运行效率影响较大。
因此,现有技术存在的技术问题是:迁移锁资源对分布式系统的运行效率影 响较大。
发明内容
本发明实施例提供一种锁资源迁移方法、节点及分布式系统,用于解决现 有技术中存在的迁移锁资源对分布式系统的运行效率影响较大的技术问题,实 现了减小迁移锁资源对分布式系统的运行效率的影响的技术效果。
本发明实施例第一方面提供了一种锁资源迁移方法,所述方法包括:
迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上 线或者离线;
所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量 迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息 的时刻所述迁移源节点中的锁资源数据;
所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后,设置所 述锁资源的状态为停止服务状态;
所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移 数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状 态为停止服务状态的时刻所述迁移源节点中的锁资源数据。
结合第一方面,在第一种可能的实现方式中,在所述迁移源节点将增量迁 移数据发送给所述迁移目的节点之后,所述方法还包括:
所述迁移源节点在接收到所述迁移目的节点发送的迁移完成广播信息后, 更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迁移源 节点在接收到所述迁移目的节点发送的迁移完成广播信息后,所述方法还包括:
所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。
本发明实施例第二方面提供了一种锁资源迁移方法,所述方法包括:
迁移目的节点接收迁移源节点发送的锁资源的全量迁移数据,所述全量迁 移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻 所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点 上线或者离线;
所述迁移目的节点接收所述迁移源节点发送的增量迁移数据,所述增量迁 移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态 为停止服务状态的时刻所述迁移源节点中的锁资源数据;
所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态 为服务状态。
结合第二方面,在第一种可能的实现方式中,在所述迁移目的节点设置所 述锁资源的状态为服务状态之后,所述方法还包括:
所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信 息。
结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迁移目 的节点向所述分布式系统中的所有节点发送迁移完成广播信息之后,所述方法 还包括:
所述迁移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分 布式系统中的分布情况。
本发明实施例第三方面提供了一种锁资源迁移方法,所述方法包括:
分布式系统中的迁移源节点接收通知消息,所述通知消息用于通知所述分 布式系统中有节点上线或者离线;
所述迁移源节点将锁资源的全量迁移数据发送给所述分布式系统中的迁移 目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至 接收到通知消息的时刻所述迁移源节点中的锁资源数据;
所述迁移源节点在发送所述全量迁移数据之后,设置所述锁资源的状态为 停止服务状态;
所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移 数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为 停止服务状态的时刻所述迁移源节点中的锁资源数据;
所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态 为服务状态。
结合第三方面,在第一种可能的实现方式中,在所述迁移目的节点设置所 述锁资源的状态为服务状态之后,所述方法还包括:
所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息。
结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迁移目 的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,所述方法 还包括:
所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资 源在所述分布式系统中的分布情况。
结合第一种可能的实现方式,在第三种可能的实现方式中,在所述迁移目 的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,所述方法 还包括:
所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。
本发明实施例第四方面提供了一种迁移源节点,包括:
接收单元,用于接收通知消息,所述通知消息用于通知分布式系统中有节 点上线或者离线;
第一发送单元,用于将锁资源的全量迁移数据发送给迁移目的节点,所述 全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知 消息的时刻所述迁移源节点中的锁资源数据;
处理单元,用于在所述迁移目的节点接收所述全量迁移数据之后,设置所 述锁资源的状态为停止服务状态;
第二发送单元,用于将增量迁移数据发送给所述迁移目的节点,所述增量 迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源 的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。
结合第四方面,在第一种可能的实现方式中,所述迁移源节点还包括:
更新单元,用于在接收到所述迁移目的节点发送的迁移完成广播信息后, 更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述迁移源节 点还包括:
删除单元,用于在所述迁移源节点在接收到所述迁移目的节点发送的迁移 完成广播信息后,删除所述全量迁移数据及所述增量迁移数据。
本发明实施例第五方面提供了一种迁移目的节点,包括:
第一接收单元,用于接收迁移源节点发送的锁资源的全量迁移数据,所述 全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息 的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中 有节点上线或者离线;
第二接收单元,用于接收所述迁移源节点发送的增量迁移数据,所述增量 迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状 态为停止服务状态的时刻所述迁移源节点中的锁资源数据;
处理单元,用于在接收所述增量迁移数据之后,设置所述锁资源的状态为 服务状态。
结合第五方面,在第一种可能的实现方式中,所述迁移目的节点还包括:
发送单元,用于在所述迁移目的节点设置所述锁资源的状态为服务状态之 后,向所述分布式系统中的所有节点发送迁移完成广播信息。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述迁移目的 节点还包括:
更新单元,用于在所述迁移目的节点向所述分布式系统中的所有节点发送 迁移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述 分布式系统中的分布情况。
本发明实施例第六方面提供了一种分布式系统,包括:
迁移源节点,用于接收通知消息,所述通知消息用于通知所述分布式系统 中有节点上线或者离线;将锁资源的全量迁移数据发送给所述分布式系统中的 迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻 起至接收到通知消息的时刻所述迁移源节点中的锁资源数据;在发送所述全量 迁移数据之后,设置所述锁资源的状态为停止服务状态;将增量迁移数据发送 给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知 消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的 锁资源数据;
迁移目的节点,用于在接收所述增量迁移数据之后,设置所述锁资源的状 态为服务状态。
结合第六方面,在第一种可能的实现方式中,所述迁移目的节点还用于:
在所述迁移目的节点设置所述锁资源的状态为服务状态之后,向所述分布 式系统中的所有节点广播迁移完成广播信息。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述分布式系 统中的所有节点用于:
在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的 分布情况。
结合第一种可能的实现方式,在第三种可能的实现方式中,所述迁移源节 点还用于:
在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息之后,删除所述全量迁移数据及所述增量数据。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优 点:
本发明实施例中,迁移源节点接收到用于通知分布式系统中有节点上线或 者离线的通知消息后,将锁资源的迁移数据分为全量迁移数据和增量迁移数据, 首先将全量迁移数据发送给迁移目的节点,待迁移目的节点接收到全量迁移数 据后,设置锁资源的状态为停止服务状态,再将增量迁移数据发送给迁移目的 节点,其中全量迁移数据为迁移源节点自开始提供锁服务的时刻起至接收到所 述通知消息的时刻所述迁移源节点中的锁资源数据,增量迁移数据为迁移源节 点自接收到通知消息的时刻起至设置锁资源的状态为停止服务状态的时刻迁移 源节点中的锁资源数据。
相比现有技术中在迁移锁资源的全部迁移数据的过程中,保持锁资源的状 态为停止服务状态,本发明实施例中仅在迁移锁资源的增量迁移数据的过程中, 保持锁资源的状态为停止服务状态,由于增量迁移数据量相比于全部迁移数据 量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迁移 锁资源对分布式系统的运行效率的影响的技术效果。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附 图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造 性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为适用于本实施例中锁资源迁移方法的分布式系统的示意图;
图2为本发明实施例中的锁资源迁移方法的流程图;
图3为本发明另一实施例中的锁资源迁移方法的流程图;
图4为本发明再一实施例中的锁资源迁移方法的流程图;
图5为本发明实施例中迁移源节点的功能框图;
图6为发明本实施例中迁移源节点的硬件结构图;
图7为本发明实施例中迁移源目的点的功能框图;
图8为本实施例中迁移目的节点的硬件结构图;
图9为本发明实施例中分布式系统的功能框图。
具体实施方式
本发明实施例提供一种锁资源迁移方法节点及分布式系统,用于解决现有 技术中存在的迁移锁资源对分布式系统的运行效率影响较大的技术问题,实现 了减小迁移锁资源对分布式系统的运行效率的影响的技术效果。
本发明实施例中,迁移源节点接收到用于通知分布式系统中有节点上线或 者离线的通知消息后,将锁资源的迁移数据分为全量迁移数据和增量迁移数据, 首先将全量迁移数据发送给迁移目的节点,待迁移目的节点接收到全量迁移数 据后,设置锁资源的状态为停止服务状态,再将增量迁移数据发送给迁移目的 节点,其中全量迁移数据为迁移源节点自开始提供锁服务的时刻起至接收到所 述通知消息的时刻所述迁移源节点中的锁资源数据,增量迁移数据为迁移源节 点自接收到通知消息的时刻起至设置锁资源的状态为停止服务状态的时刻迁移 源节点中的锁资源数据。
相比现有技术中在迁移锁资源的全部迁移数据的过程中,保持锁资源的状 态为停止服务状态,本发明实施例中仅在迁移锁资源的增量迁移数据的过程中, 保持锁资源的状态为停止服务状态,由于增量迁移数据量相比于全部迁移数据 量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迁移 锁资源对分布式系统的运行效率的影响的技术效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中 的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在 三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独 存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或” 的关系。
下面结合附图对本发明的实施方式进行详细说明。
本发明实施例提供一种锁资源迁移方法,适用于分布式系统,分布式系统 包括多个节点。多个节点上的每个节点都存储有一个文件或者多个文件的锁资 源,用于记录一个或者多个文件中的每一文件被哪些节点加锁以及锁的权限是 读权限还是锁权限。由于锁资源占用节点的内存、CPU(英文:Central Processing  Unit;中文:中央处理器)资源,所以锁资源需要均衡地分布在所有节点上。
当分布式系统中有节点上线或者离线时,为了实现锁资源均衡分布,需要 将一部分锁资源迁移到其他节点上。例如:当分布式系统中有节点上线时,需 要将已上线的节点上的一部分锁资源迁移到上线的节点上。又例如:当分布式 系统中有节点离线时,需要将离线的节点上的所有锁资源迁移到已上线的节点 上。
请参考图1,图1为适用于本实施例中锁资源迁移方法的分布式系统的示意 图,分布式系统包括:多个节点,包括迁移源节点和迁移目的节点,其中,迁 移源节点是产生需要迁移的锁资源的节点,迁移目的节点是接收需要迁移的锁 资源的节点。多个节点中的任一节点都可以为迁移源节点或者迁移目的节点。 如图1中所示,分布式系统包括两个节点:节点A和节点B。其中,节点B为 已上线的节点,节点A由离线切换为上线,所以迁移源节点为节点A,迁移目 的节点为节点B。
以下先从迁移源节点侧介绍本实施例中的锁资源迁移方法,请参考图2,图 2为本发明实施例中的锁资源迁移方法的流程图,该方法包括:
步骤21:迁移源节点接收通知消息,所述通知消息用于通知分布式系统中 有节点上线或者离线;
步骤22:所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点, 所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述 通知消息的时刻所述迁移源节点中的锁资源数据;
步骤23:所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后, 设置所述锁资源的状态为停止服务状态;
步骤24:所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述 增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁 资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。
具体来讲,当分布式系统中有节点上线或者离线时,为实现锁资源均衡分 布,需要进行至少一个锁资源的迁移。对于至少一个锁资源中的每个锁资源, 以有节点上线或者离线时刻为分界点,将锁资源的迁移数据分为两部分:锁资 源的全量迁移数据和锁资源的增量迁移数据。
其中,锁资源的全量迁移数据为迁移源节点自开始提供锁服务的时刻起至 接收到所述通知消息的时刻所述迁移源节点中的锁资源数据,锁资源的增量迁 移数据为迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态 为停止服务状态的时刻所述迁移源节点中的锁资源数据。
当分布式系统中有节点上线或者离线时,迁移源节点会接收到通知消息。 迁移源节点在接收到通知消息之后,迁移源节点首先将锁资源的全量迁移数据 迁移到迁移目的节点,在迁移目的节点接收到锁资源的全量迁移数据之后,迁 移源节点中的锁资源不再处理其他节点发送的加锁请求,改由迁移目的节点中 锁资源处理,所以迁移源节点设置锁资源的状态为停止服务状态,然后再将锁 资源的增量迁移数据迁移到迁移目的节点。
为了提高迁移效率,迁移源节点可以将锁资源的全量迁移数据打包之后再 迁移到迁移目的节点,相应地,在迁移目的节点恢复锁资源的全量迁移数据之 后,迁移源节点设置锁资源的状态为停止服务状态。迁移源节点还可以将锁资 源的增量迁移数据打包之后再迁移到迁移目的节点。
由于锁资源的全量迁移数据量大,可以在后台运行,即启动一个线程进行 锁资源的全量迁移数据的迁移,所以在迁移锁资源的全量迁移数据的过程中, 如果有节点向迁移源节点中的锁资源发送加锁请求,迁移源节点中的锁资源可 以对加锁请求进行处理,不会受到锁资源迁移的影响。并且在迁移锁资源的全 量迁移数据的过程中,迁移源节点和迁移目的节点同时持有锁资源的全量迁移 数据,提高了分布式系统的健壮性。
由于锁资源的增量迁移数据量相比于锁资源的全量迁移数据量小,所以迁 移时间短,相比现有技术中当分布式系统中有节点上线或者离线时,就设置锁 资源的状态为停止服务状态,本发明实施例中在完成全量迁移数据的迁移之后, 才设置锁资源的状态为停止服务状态,所以延迟了设置锁状态为停止状态的时 间。分布式系统仅在迁移锁资源的增量迁移数据的时间段内对加锁请求延迟处 理,减小了锁资源迁移对分布式系统的影响。
在执行完步骤24之后,迁移源节点还可以执行以下步骤:
所述迁移源节点在接收到所述迁移目的节点发送的迁移完成广播信息后, 更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。
具体来讲,迁移源节点在迁移目的节点接收到锁资源的增量迁移数据之后, 会接收到迁移目的节点发送的迁移完成广播信息,进而更新目录信息,将锁资 源在分布式系统中的存储位置由迁移源节点更新为迁移目的节点。
在锁资源的全量迁移数据和增量迁移数据均迁移完成之后,迁移目的节点 上存储有锁资源的全量迁移数据和增量迁移数据,分布式系统中的节点可以向 迁移目的节点中的锁资源发送加锁请求,所以迁移源节点可以删除锁资源的全 量迁移数据以及增量迁移数据,以提高分布式系统的内存、CPU资源的利用效 率。
以下从迁移目的节点侧介绍本实施例中的锁资源迁移方法,请参考图3,图 3为本发明另一实施例中的锁资源迁移方法的流程图,该方法包括:
步骤31:迁移目的节点接收迁移源节点发送的锁资源的全量迁移数据,所 述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消 息的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统 中有节点上线或者离线;
步骤32:所述迁移目的节点接收所述迁移源节点发送的增量迁移数据,所 述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资 源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据;
步骤33:所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资 源的状态为服务状态。
具体来讲,当分布式系统中有节点上线或者离线时,为实现锁资源均衡分 布,需要进行至少一个锁资源的迁移。对于至少一个锁资源中的每个锁资源, 以有节点上线或者离线时刻为分界点,将锁资源的迁移数据分为两部分:锁资 源的全量迁移数据和锁资源的增量迁移数据。
迁移目的节点首先接收迁移源节点发送的锁资源的全量迁移数据,然后接 收迁移源节点发送的锁资源的增量迁移数据,在迁移目的节点接收到锁资源的 全量迁移数据和增量迁移数据之后,迁移目的节点中的锁资源可以对其他节点 发送的加锁请求进行处理,所以迁移目的节点设置锁资源的状态为服务状态。
为了提高迁移效率,迁移源节点可以将锁资源的全量迁移数据打包之后再 迁移到迁移目的节点,相应地,迁移目的节点接收到打包的锁资源的全量迁移 数据后,需要恢复锁资源的全量迁移数据。迁移源节点还可以将锁资源的增量 迁移数据打包之后再迁移到迁移目的节点,相应地,迁移目的节点接收到打包 的锁资源的增量迁移数据后,需要恢复锁资源的增量迁移数据之后,迁移目的 节点设置锁资源的状态为服务状态。
在执行完步骤33之后,迁移目的节点还可以执行以下步骤:
所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信 息;
所述迁移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分 布式系统中的分布情况。
具体来讲,迁移目的节点在设置锁资源的状态为服务状态之后,会向分布 式系统中的所有节点发送迁移完成广播信息,包括向迁移源节点和迁移目的节 点本身发送迁移完成广播信息,通知分布式系统中的所有节点锁资源的存储位 置已由迁移源节点改为迁移目的节点。然后迁移目的节点会更新目录信息,将 锁资源在分布式系统中的存储位置由迁移源节点更新为迁移目的节点。
下面从分布式系统侧介绍本实施例中的锁资源迁移方法,分布式系统至少 包括迁移源节点和迁移目的节点。请参考图4,图4为本发明再一实施例中的锁 资源迁移方法的流程图,该方法包括:
步骤41:分布式系统中的迁移源节点接收通知消息,所述通知消息用于通 知所述分布式系统中有节点上线或者离线;
步骤42:所述迁移源节点将锁资源的全量迁移数据发送给所述分布式系统 中的迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的 时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据;
步骤43:所述迁移源节点在发送所述全量迁移数据之后,设置所述锁资源 的状态为停止服务状态;
步骤44:所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述 增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源 的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据;
步骤45:所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资 源的状态为服务状态。
具体来讲,当分布式系统中有节点上线或者离线时,为实现锁资源均衡分 布,需要进行至少一个锁资源的迁移。对于至少一个锁资源中的每个锁资源, 以有节点上线或者离线时刻为分界点,将锁资源的迁移数据分为两部分:锁资 源的全量迁移数据和锁资源的增量迁移数据。
当分布式系统中有节点上线或者离线时,迁移源节点会接收到通知消息。 迁移源节点在接收到通知消息之后,迁移源节点首先将锁资源的全量迁移数据 从迁移源节点迁移到迁移目的节点,在完成锁资源的全量迁移数据的迁移之后, 迁移源节点中的锁资源不再处理其他节点发送的加锁请求,改由迁移目的节点 中锁资源处理,所以迁移源节点设置锁资源的状态为停止服务状态,然后迁移 源节点再将锁资源的增量迁移数据迁移到迁移目的节点。
分布式系统中的迁移目的节点首先接收迁移源节点发送的锁资源的全量迁 移数据,然后接收迁移源节点发送的锁资源的增量迁移数据,在迁移目的节点 接收到锁资源的全量迁移数据和增量迁移数据之后,迁移目的节点中的锁资源 可以对其他节点发送的加锁请求进行处理,所以迁移目的节点设置锁资源的状 态为服务状态。
相比现有技术中在迁移锁资源的全部迁移数据的过程中均设置锁资源的状 态为停止服务状态,本发明实施例中仅在迁移锁资源的增量迁移数据的过程中 设置锁资源的状态为停止服务状态,由于锁资源的增量迁移数据量相比于锁资 源的全部迁移数据量小得多,所以本发明实施例提供的锁资源迁移方法大大缩 短了设置锁状态为停止服务状态的时间,减小了锁资源迁移对分布式系统的影 响。
在执行完步骤44之后,还可以执行以下步骤:
迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息;
所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资 源在所述分布式系统中的分布情况。
具体来讲,在迁移目的节点设置锁资源的状态为服务状态之后,需要通知 分布式系统中的所有节点锁资源的存储位置发生改变,所以分布式系统向所有 节点发送迁移完成广播信息,然后所有节点会更新目录信息,将锁资源在分布 式系统中的存储位置由迁移源节点更新为迁移目的节点。
特别的,对于分布式系统中的迁移目的节点,还可以执行以下步骤:
在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息之后,所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。
在锁资源的全量迁移数据和增量迁移数据均迁移完成之后之后,迁移目的 节点上存储有锁资源的全量迁移数据和增量迁移数据,分布式系统中的节点可 以向迁移目的节点中的锁资源发送加锁请求,所以迁移源节点可以删除锁资源 的全量迁移数据以及增量迁移数据,以提高分布式系统的内存、CPU资源的利 用效率。
下面以迁移源节点为节点A,迁移目的节点为节点B,对分布式系统侧的锁 资源的迁移方法举例说明。包括以下步骤:
当节点B上线时,节点A将需要迁移的至少一个锁资源中的每个锁资源的 全量迁移数据打包;
节点A将已打包的锁资源的全量迁移数据发送给节点B;
节点B收到已打包的锁资源的全量迁移数据后,恢复锁资源的全量迁移数 据;
节点A设置锁资源的状态为停止服务状态;
节点A将需要迁移的至少一个锁资源中的每个锁资源的增量迁移数据打 包;
节点A将已打包的锁资源的增量迁移数据发送给节点B;
节点B收到已打包的锁资源的增量迁移数据后,恢复锁资源的增量迁移数 据;
节点B设置锁资源的状态为服务状态;
节点B向分布式系统中的所有节点发送迁移完成广播信息;
分布式系统中的所有节点收到迁移完成广播信息后,更新目录信息;
节点A删除锁资源的全量迁移数据及增量迁移数据。
基于同一发明构思,本发明另一实施例提供一种迁移源节点,请参考图5, 图5为本发明实施例中迁移源节点的功能框图。图5所示的迁移源节点涉及到 的术语的含义以及具体实现,可以参考前述图1至图4以及实施例的相关描述。
请参考图5,迁移源节点包括:
接收单元50,用于接收通知消息,所述通知消息用于通知分布式系统中有 节点上线或者离线
第一发送单元51,用于将锁资源的全量迁移数据发送给迁移目的节点,所 述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通 知消息的时刻所述迁移源节点中的锁资源数据;
处理单元52,用于在所述迁移目的节点接收所述全量迁移数据之后,设置 所述锁资源的状态为停止服务状态;
第二发送单元53,用于将增量迁移数据发送给所述迁移目的节点,所述增 量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资 源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。
可选的,所述迁移源节点还包括:
更新单元,用于在接收到所述迁移目的节点发送的迁移完成广播信息后, 更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
可选的,所述迁移源节点还包括:
删除单元,用于在所述迁移源节点在接收到所述迁移目的节点发送的迁移 完成广播信息后,删除所述全量迁移数据及所述增量迁移数据。
前述图2实施例中的锁资源迁移方法中的各种变化方式和具体实例同样适 用于本实施例的迁移源节点,通过前述对锁资源迁移方法的详细描述,本领域 技术人员可以清楚的知道本实施例中迁移源节点的实施方法,所以为了说明书 的简洁,在此不再详述。
请再参考图6所示,图6为发明本实施例中迁移源节点的硬件结构图。迁 移源节点包括:
接收器61,用于接收通知消息,所述通知消息用于通知分布式系统中有节 点上线或者离线;
发送器62,用于将锁资源的全量迁移数据发送给迁移目的节点,所述全量 迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息 的时刻所述迁移源节点中的锁资源数据;用于将增量迁移数据发送给所述迁移 目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻 起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源 数据;
处理器63,用于在所述迁移目的节点接收所述全量迁移数据之后,设置所 述锁资源的状态为停止服务状态。
可选的,处理器63还用于在接收到所述迁移目的节点发送的迁移完成广播 信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的 分布情况。
可选的,处理器63还用于在所述迁移源节点在接收到所述迁移目的节点发 送的迁移完成广播信息后,删除所述全量迁移数据及所述增量迁移数据。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意 数量的互联的总线和桥,总线600将包括由处理器63代表的一个或多个处理器 和存储器64代表的存储器的各种电路连接在一起。总线600还可以将诸如外围 设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本 领域所公知的,因此,本文不再对其进行进一步描述。总线接口65在总线600 和接收器61和发送器62之间提供接口。接收器61和发送器62可以是同一个 元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器63负责管理总线600和通常的处理,而存储器64可以被用于存储 处理器63在执行操作时所使用的数据。
迁移源节点具体可以为笔记本电脑、平板电脑以及其他设备。
前述图2实施例中的锁资源迁移方法中的各种变化方式和具体实例同样适 用于本实施例的迁移源节点,通过前述对锁资源迁移方法的详细描述,本领域 技术人员可以清楚的知道本实施例中迁移源节点的实施方法,所以为了说明书 的简洁,在此不再详述。
基于同一发明构思,本发明另一实施例提供一种迁移目的节点,请参考图7, 图7为本发明实施例中迁移源目的点的功能框图。图7所示的迁移目的节点涉 及到的术语的含义以及具体实现,可以参考前述图1至图4以及实施例的相关 描述。
请参考图7,迁移目的节点包括:
第一接收单元71,用于接收迁移源节点发送的锁资源的全量迁移数据,所 述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消 息的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统 中有节点上线或者离线;
第二接收单元72,用于接收所述迁移源节点发送的增量迁移数据,所述增 量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的 状态为停止服务状态的时刻所述迁移源节点中的锁资源数据;
处理单元73,用于在接收所述增量迁移数据之后,设置所述锁资源的状态 为服务状态。
可选的,所述迁移目的节点还包括:
发送单元,用于在所述迁移目的节点设置所述锁资源的状态为服务状态之 后,向所述分布式系统中的所有节点发送迁移完成广播信息。
可选的,所述迁移目的节点还包括:
更新单元,用于在所述迁移目的节点向所述分布式系统中的所有节点发送 迁移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述 分布式系统中的分布情况。
前述图3实施例中的锁资源迁移方法中的各种变化方式和具体实例同样适 用于本实施例的迁移目的节点,通过前述对锁资源迁移方法的详细描述,本领 域技术人员可以清楚的知道本实施例中迁移目的节点的实施方法,所以为了说 明书的简洁,在此不再详述。
请再参考图8,图8为本实施例中迁移目的节点的硬件结构图。迁移目的节 点包括:
接收器81,用于接收迁移源节点发送的锁资源的全量迁移数据,所述全量 迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时 刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节 点上线或者离线;接收所述迁移源节点发送的增量迁移数据,所述增量迁移数 据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停 止服务状态的时刻所述迁移源节点中的锁资源数据;
处理器82,用于在接收所述增量迁移数据之后,设置所述锁资源的状态为 服务状态。
可选的,所述迁移目的节点还包括:
发送器83,用于在所述迁移目的节点设置所述锁资源的状态为服务状态之 后,向所述分布式系统中的所有节点发送迁移完成广播信息。
可选的,所述处理器82还用于:在所述迁移目的节点向所述分布式系统中 的所有节点发送迁移完成广播信息之后,更新目录信息,所述目录信息记录所 有锁资源在所述分布式系统中的分布情况。
其中,在图8中,总线架构(用总线800来代表),总线800可以包括任意 数量的互联的总线和桥,总线800将包括由处理器82代表的一个或多个处理器 和存储器84代表的存储器的各种电路连接在一起。总线800还可以将诸如外围 设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本 领域所公知的,因此,本文不再对其进行进一步描述。总线接口85在总线800 和接收器81和发送器83之间提供接口。接收器81和发送器83可以是同一个 元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器82负责管理总线800和通常的处理,而存储器84可以被用于存储 处理器82在执行操作时所使用的数据。
迁移源节点具体可以为笔记本电脑、平板电脑以及其他设备。
前述实施例中描述的迁移目的节点执行过程的各种变化方式和具体实例同 样适用于本实施例的迁移目的节点,通过前述对迁移目的节点执行过程的详细 描述,本领域技术人员可以清楚的知道本实施例中迁移目的节点的实施方法, 所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本发明另一实施例提供一种分布式系统,请参考图9, 图9为本发明实施例中分布式系统的功能框图。图9所示的迁移目的节点涉及 到的术语的含义以及具体实现,可以参考前述图1至图4以及实施例的相关描 述。
请参考图9,分布式系统包括:
迁移源节点91,用于接收通知消息,所述通知消息用于通知所述分布式系 统中有节点上线或者离线;将锁资源的全量迁移数据发送给所述分布式系统中 的迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时 刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据;在发送所述全 量迁移数据之后,设置所述锁资源的状态为停止服务状态;将增量迁移数据发 送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通 知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中 的锁资源数据;
迁移目的节点92,用于在接收所述增量迁移数据之后,设置所述锁资源的 状态为服务状态。
可选的,所述迁移目的节点92还用于:
在所述迁移目的节点设置所述锁资源的状态为服务状态之后,向所述分布 式系统中的所有节点广播迁移完成广播信息。
可选的,所述分布式系统中的所有节点用于:
在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的 分布情况。
可选的,所述迁移源节点91还用于:
在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信 息之后,删除所述全量迁移数据及所述增量数据。
前述图4实施例中的锁资源迁移方法中的各种变化方式和具体实例同样适 用于本实施例的分布式系统,通过前述对锁资源迁移方法的详细描述,本领域 技术人员可以清楚的知道本实施例中分布式系统的实施方法,所以为了说明书 的简洁,在此不再详述。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优 点:
本发明实施例中,迁移源节点接收到用于通知分布式系统中有节点上线或 者离线的通知消息后,将锁资源的迁移数据分为全量迁移数据和增量迁移数据, 首先将全量迁移数据发送给迁移目的节点,待迁移目的节点接收到全量迁移数 据后,设置锁资源的状态为停止服务状态,再将增量迁移数据发送给迁移目的 节点,其中全量迁移数据为迁移源节点自开始提供锁服务的时刻起至接收到所 述通知消息的时刻所述迁移源节点中的锁资源数据,增量迁移数据为迁移源节 点自接收到通知消息的时刻起至设置锁资源的状态为停止服务状态的时刻迁移 源节点中的锁资源数据。
相比现有技术中在迁移锁资源的全部迁移数据的过程中,保持锁资源的状 态为停止服务状态,本发明实施例中仅在迁移锁资源的增量迁移数据的过程中, 保持锁资源的状态为停止服务状态,由于增量迁移数据量相比于全部迁移数据 量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迁移 锁资源对分布式系统的运行效率的影响的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计 算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结 合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包 含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和 光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品 的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或 方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式 处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机 或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流 程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的 指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流 程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要 求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

一种锁资源迁移方法、节点及分布式系统.pdf_第1页
第1页 / 共22页
一种锁资源迁移方法、节点及分布式系统.pdf_第2页
第2页 / 共22页
一种锁资源迁移方法、节点及分布式系统.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《一种锁资源迁移方法、节点及分布式系统.pdf》由会员分享,可在线阅读,更多相关《一种锁资源迁移方法、节点及分布式系统.pdf(22页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410677166.7(22)申请日 2014.11.21H04L 29/08(2006.01)H04L 12/18(2006.01)(71)申请人 华为技术有限公司地址 518129 广东省深圳市龙岗区坂田华为总部办公楼(72)发明人 王勋 范超 陈光(74)专利代理机构 北京同达信恒知识产权代理有限公司 11291代理人 冯艳莲(54) 发明名称一种锁资源迁移方法、节点及分布式系统(57) 摘要本发明提供一种锁资源迁移方法、节点及分布式系统,该方法包括:迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线 。

2、;所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据 ;所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书14页 附图4页(10)申请公布号 CN 104。

3、486373 A(43)申请公布日 2015.04.01CN 104486373 A1/3 页21.一种锁资源迁移方法,其特征在于,包括 :迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线;所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据 ;所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置。

4、所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。2.如权利要求 1 所述的方法,其特征在于,在所述迁移源节点将增量迁移数据发送给所述迁移目的节点之后,所述方法还包括 :所述迁移源节点在接收到所述迁移目的节点发送的迁移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。3.如权利要求 2 所述的方法,其特征在于,在所述迁移源节点在接收到所述迁移目的节点发送的迁移完成广播信息后,所述方法还包括 :所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。4.一种锁资源迁移方法,其特征在于,包括 :迁移目的节点接收迁移源节点发送的锁资源的全量迁移数据,。

5、所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线 ;所述迁移目的节点接收所述迁移源节点发送的增量迁移数据,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据 ;所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态为服务状态。5.如权利要求 4 所述的方法,其特征在于,在所述迁移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括 :所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信。

6、息。6.如权利要求 5 所述的方法,其特征在于,在所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信息之后,所述方法还包括 :所述迁移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。7.一种锁资源迁移方法,其特征在于,包括 :分布式系统中的迁移源节点接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线 ;所述迁移源节点将锁资源的全量迁移数据发送给所述分布式系统中的迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时权 利 要 求 书CN 104486373 A2/3 页3刻所述迁移源节点中的锁资源数。

7、据 ;所述迁移源节点在发送所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态;所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据 ;所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态为服务状态。8.如权利要求 7 所述的方法,其特征在于,在所述迁移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括 :所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息。9.如权利要求 8 所述的方法,其特征在于,在所述迁移目的节点向所述分布式系。

8、统中的所有节点广播迁移完成广播信息之后,所述方法还包括 :所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。10.如权利要求 8 所述的方法,其特征在于,在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,所述方法还包括 :所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。11.一种迁移源节点,其特征在于,包括 :接收单元,用于接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线 ;第一发送单元,用于将锁资源的全量迁移数据发送给迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知。

9、消息的时刻所述迁移源节点中的锁资源数据 ;处理单元,用于在所述迁移目的节点接收所述全量迁移数据之后设置所述锁资源的状态为停止服务状态 ;第二发送单元,用于将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。12.如权利要求 11 所述的迁移源节点,其特征在于,所述迁移源节点还包括 :更新单元,用于在接收到所述迁移目的节点发送的迁移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。13.如权利要求 12 所述的迁移源节点,其特征在于,所述迁移源。

10、节点还包括 :删除单元,用于在所述迁移源节点在接收到所述迁移目的节点发送的迁移完成广播信息后,删除所述全量迁移数据及所述增量迁移数据。14.一种迁移目的节点,其特征在于,包括 :第一接收单元,用于接收迁移源节点发送的锁资源的全量迁移数据,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线 ;权 利 要 求 书CN 104486373 A3/3 页4第二接收单元,用于接收所述迁移源节点发送的增量迁移数据,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服。

11、务状态的时刻所述迁移源节点中的锁资源数据 ;处理单元,用于在接收所述增量迁移数据之后,设置所述锁资源的状态为服务状态。15.如权利要求 14 所述的迁移目的节点,其特征在于,所述迁移目的节点还包括 :发送单元,用于在所述迁移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点发送迁移完成广播信息。16.如权利要求 15 所述的迁移目的节点,其特征在于,所述迁移目的节点还包括 :更新单元,用于在所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。17.一种分布式系统,其特征在于,包括 :迁。

12、移源节点,用于接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线 ;将锁资源的全量迁移数据发送给所述分布式系统中的迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据 ;在发送所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据 ;迁移目的节点,用于在接收所述增量迁移数据之后,设置所述锁资源的状态为服务状态。18.如权利要求 17 所述的分。

13、布式系统,其特征在于,所述迁移目的节点还用于 :在所述迁移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点广播迁移完成广播信息。19.如权利要求 18 所述的分布式系统,其特征在于,所述分布式系统中的所有节点用于:在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。20.如权利要求 18 所述的分布式系统,其特征在于,所述迁移源节点还用于 :在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,删除所述全量迁移数据及所述增量数据。权 利 要 求 书CN 10448。

14、6373 A1/14 页5一种锁资源迁移方法、节点及分布式系统技术领域0001 本发明涉及电子技术领域,尤其涉及一种锁资源迁移方法、节点及分布式系统。背景技术0002 分布式系统中有多个节点,当多个节点中有至少两个节点同时对同一文件分别进行写操作,或者同时对同一文件分别进行写操作和读操作,就会产生冲突。例如 :A 节点对一个文件进行写操作时,B 节点也对相同的文件进行写操作,那么文件操作就会产生冲突。又例如 :A 节点对一个文件进行写操作时,B 节点也对相同的文件进行读操作,文件操作也会产生冲突。还例如 :A 节点对一个文件的 0,100 区间进行读操作,节点 B 也对相同文件的 50,100。

15、 区间进行写操作,文件操作也会产生冲突。由于一个文件有多个区间,所以不同节点对同一文件的两个区间分别进行读操作和写操作,且两个区间有重叠部分时,文件操作就会产生大量的冲突。0003 为了避免分布式系统中的各个节点在操作文件时产生冲突,一般会在各个节点上都存储有一个文件或者多个文件的锁资源,用于记录一个或者多个文件中的每一文件被哪些节点加锁以及锁的权限是读权限还是写权限。节点在对文件进行读操作或者写操作之前,需要向存储有该文件的锁资源的节点发送加锁请求,请求对该文件进行加锁,以获取读权限或者写权限,然后再对该文件进行读操作或者写操作,以保证文件操作不会产生冲突。0004 现有技术中,当分布式系统。

16、中有节点上线或者下线时,为实现锁资源在分布式系统中均衡分布,需要将其他节点上的锁资源迁移到上线节点,或者需要将下线节点上的锁资源迁移到其他节点。具体的迁移方法为 :首先迁移源节点将需要迁移的锁资源的状态设置为停止服务状态,然后迁移源节点将需要迁移的锁资源整体迁移到迁移目的节点上,最后迁移目的节点将已迁移过来的锁资源的状态设置为服务状态。0005 由于需要迁移的锁资源量大,所以在较长一段时间内,其他节点都无法使用迁移锁资源的锁服务,对分布式系统的运行效率影响较大。0006 因此,现有技术存在的技术问题是 :迁移锁资源对分布式系统的运行效率影响较大。发明内容0007 本发明实施例提供一种锁资源迁移。

17、方法、节点及分布式系统,用于解决现有技术中存在的迁移锁资源对分布式系统的运行效率影响较大的技术问题,实现了减小迁移锁资源对分布式系统的运行效率的影响的技术效果。0008 本发明实施例第一方面提供了一种锁资源迁移方法,所述方法包括 :0009 迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线 ;0010 所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移说 明 书CN 104486373 A2/14 页6源节点中的锁资源数据 ;0011 所述迁移源节点在所述迁移目的节点接收所。

18、述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;0012 所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。0013 结合第一方面,在第一种可能的实现方式中,在所述迁移源节点将增量迁移数据发送给所述迁移目的节点之后,所述方法还包括 :0014 所述迁移源节点在接收到所述迁移目的节点发送的迁移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。0015 结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迁移源节点。

19、在接收到所述迁移目的节点发送的迁移完成广播信息后,所述方法还包括 :0016 所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。0017 本发明实施例第二方面提供了一种锁资源迁移方法,所述方法包括 :0018 迁移目的节点接收迁移源节点发送的锁资源的全量迁移数据,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线 ;0019 所述迁移目的节点接收所述迁移源节点发送的增量迁移数据,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移。

20、源节点中的锁资源数据 ;0020 所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态为服务状态。0021 结合第二方面,在第一种可能的实现方式中,在所述迁移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括 :0022 所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信息。0023 结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信息之后,所述方法还包括 :0024 所述迁移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。0025 本发明实施例第三方面提供了一种锁资。

21、源迁移方法,所述方法包括 :0026 分布式系统中的迁移源节点接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线 ;0027 所述迁移源节点将锁资源的全量迁移数据发送给所述分布式系统中的迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据 ;0028 所述迁移源节点在发送所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;0029 所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的说 明 书CN 10448。

22、6373 A3/14 页7时刻所述迁移源节点中的锁资源数据 ;0030 所述迁移目的节点在接收所述增量迁移数据之后,设置所述锁资源的状态为服务状态。0031 结合第三方面,在第一种可能的实现方式中,在所述迁移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括 :0032 所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息。0033 结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,所述方法还包括 :0034 所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情。

23、况。0035 结合第一种可能的实现方式,在第三种可能的实现方式中,在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,所述方法还包括 :0036 所述迁移源节点删除所述全量迁移数据及所述增量迁移数据。0037 本发明实施例第四方面提供了一种迁移源节点,包括 :0038 接收单元,用于接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线 ;0039 第一发送单元,用于将锁资源的全量迁移数据发送给迁移目的节点所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据 ;0040 处理单元,用于在所述迁移目的节点接收。

24、所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;0041 第二发送单元,用于将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。0042 结合第四方面,在第一种可能的实现方式中,所述迁移源节点还包括 :0043 更新单元,用于在接收到所述迁移目的节点发送的迁移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。0044 结合第一种可能的实现方式,在第二种可能的实现方式中,所述迁移源节点还包括:0045 删除单元,用于在所述迁移源节点。

25、在接收到所述迁移目的节点发送的迁移完成广播信息后,删除所述全量迁移数据及所述增量迁移数据。0046 本发明实施例第五方面提供了一种迁移目的节点,包括 :0047 第一接收单元,用于接收迁移源节点发送的锁资源的全量迁移数据所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线 ;0048 第二接收单元,用于接收所述迁移源节点发送的增量迁移数据,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据 ;0049 处理单元,用。

26、于在接收所述增量迁移数据之后,设置所述锁资源的状态为服务状说 明 书CN 104486373 A4/14 页8态。0050 结合第五方面,在第一种可能的实现方式中,所述迁移目的节点还包括 :0051 发送单元,用于在所述迁移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点发送迁移完成广播信息。0052 结合第一种可能的实现方式,在第二种可能的实现方式中,所述迁移目的节点还包括 :0053 更新单元,用于在所述迁移目的节点向所述分布式系统中的所有节点发送迁移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。0054 本发明实施例第六方。

27、面提供了一种分布式系统,包括 :0055 迁移源节点,用于接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线 ;将锁资源的全量迁移数据发送给所述分布式系统中的迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迁移源节点中的锁资源数据 ;在发送所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据 ;0056 迁移目的节点,用于在接收所述增量迁移数据之后,设置所述锁。

28、资源的状态为服务状态。0057 结合第六方面,在第一种可能的实现方式中,所述迁移目的节点还用于 :0058 在所述迁移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点广播迁移完成广播信息。0059 结合第一种可能的实现方式,在第二种可能的实现方式中,所述分布式系统中的所有节点用于 :0060 在所述迁移目的节点向所述分布式系统中的所有节点广播迁移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。0061 结合第一种可能的实现方式,在第三种可能的实现方式中,所述迁移源节点还用于:0062 在所述迁移目的节点向所述分布式系统中的所有节点。

29、广播迁移完成广播信息之后,删除所述全量迁移数据及所述增量数据。0063 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点 :0064 本发明实施例中,迁移源节点接收到用于通知分布式系统中有节点上线或者离线的通知消息后,将锁资源的迁移数据分为全量迁移数据和增量迁移数据首先将全量迁移数据发送给迁移目的节点,待迁移目的节点接收到全量迁移数据后,设置锁资源的状态为停止服务状态,再将增量迁移数据发送给迁移目的节点,其中全量迁移数据为迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据,增量迁移数据为迁移源节点自接收到通知消息的时刻起至设置锁资源的状态。

30、为停止服务状态的时刻迁移源节点中的锁资源数据。0065 相比现有技术中在迁移锁资源的全部迁移数据的过程中,保持锁资源的状态为停说 明 书CN 104486373 A5/14 页9止服务状态,本发明实施例中仅在迁移锁资源的增量迁移数据的过程中,保持锁资源的状态为停止服务状态,由于增量迁移数据量相比于全部迁移数据量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迁移锁资源对分布式系统的运行效率的影响的技术效果。附图说明0066 为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。

31、,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。0067 图 1 为适用于本实施例中锁资源迁移方法的分布式系统的示意图 ;0068 图 2 为本发明实施例中的锁资源迁移方法的流程图 ;0069 图 3 为本发明另一实施例中的锁资源迁移方法的流程图 ;0070 图 4 为本发明再一实施例中的锁资源迁移方法的流程图 ;0071 图 5 为本发明实施例中迁移源节点的功能框图 ;0072 图 6 为发明本实施例中迁移源节点的硬件结构图 ;0073 图 7 为本发明实施例中迁移源目的点的功能框图 ;0074 图 8 为本实施例中迁移目的节点的硬件结构图 ;00。

32、75 图 9 为本发明实施例中分布式系统的功能框图。具体实施方式0076 本发明实施例提供一种锁资源迁移方法节点及分布式系统,用于解决现有技术中存在的迁移锁资源对分布式系统的运行效率影响较大的技术问题,实现了减小迁移锁资源对分布式系统的运行效率的影响的技术效果。0077 本发明实施例中,迁移源节点接收到用于通知分布式系统中有节点上线或者离线的通知消息后,将锁资源的迁移数据分为全量迁移数据和增量迁移数据首先将全量迁移数据发送给迁移目的节点,待迁移目的节点接收到全量迁移数据后,设置锁资源的状态为停止服务状态,再将增量迁移数据发送给迁移目的节点,其中全量迁移数据为迁移源节点自开始提供锁服务的时刻起至。

33、接收到所述通知消息的时刻所述迁移源节点中的锁资源数据,增量迁移数据为迁移源节点自接收到通知消息的时刻起至设置锁资源的状态为停止服务状态的时刻迁移源节点中的锁资源数据。0078 相比现有技术中在迁移锁资源的全部迁移数据的过程中,保持锁资源的状态为停止服务状态,本发明实施例中仅在迁移锁资源的增量迁移数据的过程中,保持锁资源的状态为停止服务状态,由于增量迁移数据量相比于全部迁移数据量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迁移锁资源对分布式系统的运行效率的影响的技术效果。0079 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的。

34、技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员说 明 书CN 104486373 A6/14 页10在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。0080 本文中术语“和 / 或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A 和 / 或 B,可以表示 :单独存在 A,同时存在 A 和 B,单独存在 B 这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。0081 下面结合附图对本发明的实施方式进行详细说明。0082 本发明实施例提供一种。

35、锁资源迁移方法,适用于分布式系统,分布式系统包括多个节点。多个节点上的每个节点都存储有一个文件或者多个文件的锁资源,用于记录一个或者多个文件中的每一文件被哪些节点加锁以及锁的权限是读权限还是锁权限。由于锁资源占用节点的内存、CPU( 英文 :Central Processing Unit ;中文 :中央处理器 ) 资源,所以锁资源需要均衡地分布在所有节点上。0083 当分布式系统中有节点上线或者离线时,为了实现锁资源均衡分布,需要将一部分锁资源迁移到其他节点上。例如 :当分布式系统中有节点上线时,需要将已上线的节点上的一部分锁资源迁移到上线的节点上。又例如 :当分布式系统中有节点离线时,需要将。

36、离线的节点上的所有锁资源迁移到已上线的节点上。0084 请参考图 1,图 1 为适用于本实施例中锁资源迁移方法的分布式系统的示意图,分布式系统包括 :多个节点,包括迁移源节点和迁移目的节点,其中,迁移源节点是产生需要迁移的锁资源的节点,迁移目的节点是接收需要迁移的锁资源的节点。多个节点中的任一节点都可以为迁移源节点或者迁移目的节点。如图1中所示,分布式系统包括两个节点 :节点 A 和节点 B。其中,节点 B 为已上线的节点,节点 A 由离线切换为上线,所以迁移源节点为节点 A,迁移目的节点为节点 B。0085 以下先从迁移源节点侧介绍本实施例中的锁资源迁移方法,请参考图 2,图 2 为本发明实。

37、施例中的锁资源迁移方法的流程图,该方法包括 :0086 步骤 21 :迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线 ;0087 步骤 22 :所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据 ;0088 步骤 23 :所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态 ;0089 步骤 24 :所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。0090 具体来讲,当分布式系统中有节点上线或者离线时,为实现锁资源均衡分布,需要进行至少一个锁资源的迁移。对于至少一个锁资源中的每个锁资源,以有节点上线或者离线时刻为分界点,将锁资源的迁移数据分为两部分 :锁资源的全量迁移数据和锁资源的增量迁移数据。0091 其中,锁资源的全量迁移数据为迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据,锁资源的增量迁移数据为迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述说 明 书CN 104486373 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1