一种锁资源迁移方法、节点及分布式系统的制作方法

文档序号:7820513阅读:159来源:国知局
一种锁资源迁移方法、节点及分布式系统的制作方法
【专利摘要】本发明提供一种锁资源迁移方法、节点及分布式系统,该方法包括:迁移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线;所述迁移源节点将锁资源的全量迁移数据发送给迁移目的节点,所述全量迁移数据为所述迁移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迁移源节点中的锁资源数据;所述迁移源节点在所述迁移目的节点接收所述全量迁移数据之后,设置所述锁资源的状态为停止服务状态;所述迁移源节点将增量迁移数据发送给所述迁移目的节点,所述增量迁移数据为所述迁移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迁移源节点中的锁资源数据。
【专利说明】一种锁资源迁移方法、节点及分布式系统

【技术领域】
[0001]本发明涉及电子【技术领域】,尤其涉及一种锁资源迀移方法、节点及分布式系统。

【背景技术】
[0002]分布式系统中有多个节点,当多个节点中有至少两个节点同时对同一文件分别进行写操作,或者同时对同一文件分别进行写操作和读操作,就会产生冲突。例如:A节点对一个文件进行写操作时,B节点也对相同的文件进行写操作,那么文件操作就会产生冲突。又例如:A节点对一个文件进行写操作时,B节点也对相同的文件进行读操作,文件操作也会产生冲突。还例如:A节点对一个文件的[0,100]区间进行读操作,节点B也对相同文件的[50,100]区间进行写操作,文件操作也会产生冲突。由于一个文件有多个区间,所以不同节点对同一文件的两个区间分别进行读操作和写操作,且两个区间有重叠部分时,文件操作就会产生大量的冲突。
[0003]为了避免分布式系统中的各个节点在操作文件时产生冲突,一般会在各个节点上都存储有一个文件或者多个文件的锁资源,用于记录一个或者多个文件中的每一文件被哪些节点加锁以及锁的权限是读权限还是写权限。节点在对文件进行读操作或者写操作之前,需要向存储有该文件的锁资源的节点发送加锁请求,请求对该文件进行加锁,以获取读权限或者写权限,然后再对该文件进行读操作或者写操作,以保证文件操作不会产生冲突。
[0004]现有技术中,当分布式系统中有节点上线或者下线时,为实现锁资源在分布式系统中均衡分布,需要将其他节点上的锁资源迀移到上线节点,或者需要将下线节点上的锁资源迀移到其他节点。具体的迀移方法为:首先迀移源节点将需要迀移的锁资源的状态设置为停止服务状态,然后迀移源节点将需要迀移的锁资源整体迀移到迀移目的节点上,最后迀移目的节点将已迀移过来的锁资源的状态设置为服务状态。
[0005]由于需要迀移的锁资源量大,所以在较长一段时间内,其他节点都无法使用迀移锁资源的锁服务,对分布式系统的运行效率影响较大。
[0006]因此,现有技术存在的技术问题是:迀移锁资源对分布式系统的运行效率影响较大。


【发明内容】

[0007]本发明实施例提供一种锁资源迀移方法、节点及分布式系统,用于解决现有技术中存在的迀移锁资源对分布式系统的运行效率影响较大的技术问题,实现了减小迀移锁资源对分布式系统的运行效率的影响的技术效果。
[0008]本发明实施例第一方面提供了一种锁资源迀移方法,所述方法包括:
[0009]迀移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0010]所述迀移源节点将锁资源的全量迀移数据发送给迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据;
[0011]所述迀移源节点在所述迀移目的节点接收所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;
[0012]所述迀移源节点将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据。
[0013]结合第一方面,在第一种可能的实现方式中,在所述迀移源节点将增量迀移数据发送给所述迀移目的节点之后,所述方法还包括:
[0014]所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0015]结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,所述方法还包括:
[0016]所述迀移源节点删除所述全量迀移数据及所述增量迀移数据。
[0017]本发明实施例第二方面提供了一种锁资源迀移方法,所述方法包括:
[0018]迀移目的节点接收迀移源节点发送的锁资源的全量迀移数据,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0019]所述迀移目的节点接收所述迀移源节点发送的增量迀移数据,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0020]所述迀移目的节点在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
[0021]结合第二方面,在第一种可能的实现方式中,在所述迀移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括:
[0022]所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息。
[0023]结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息之后,所述方法还包括:
[0024]所述迀移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0025]本发明实施例第三方面提供了一种锁资源迀移方法,所述方法包括:
[0026]分布式系统中的迀移源节点接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线;
[0027]所述迀移源节点将锁资源的全量迀移数据发送给所述分布式系统中的迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据;
[0028]所述迀移源节点在发送所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;
[0029]所述迀移源节点将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0030]所述迀移目的节点在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
[0031]结合第三方面,在第一种可能的实现方式中,在所述迀移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括:
[0032]所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息。
[0033]结合第一种可能的实现方式,在第二种可能的实现方式中,在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,所述方法还包括:
[0034]所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0035]结合第一种可能的实现方式,在第三种可能的实现方式中,在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,所述方法还包括:
[0036]所述迀移源节点删除所述全量迀移数据及所述增量迀移数据。
[0037]本发明实施例第四方面提供了一种迀移源节点,包括:
[0038]接收单元,用于接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0039]第一发送单元,用于将锁资源的全量迀移数据发送给迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据;
[0040]处理单元,用于在所述迀移目的节点接收所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;
[0041]第二发送单元,用于将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据。
[0042]结合第四方面,在第一种可能的实现方式中,所述迀移源节点还包括:
[0043]更新单元,用于在接收到所述迀移目的节点发送的迀移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0044]结合第一种可能的实现方式,在第二种可能的实现方式中,所述迀移源节点还包括:
[0045]删除单元,用于在所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,删除所述全量迀移数据及所述增量迀移数据。
[0046]本发明实施例第五方面提供了一种迀移目的节点,包括:
[0047]第一接收单元,用于接收迀移源节点发送的锁资源的全量迀移数据,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0048]第二接收单元,用于接收所述迀移源节点发送的增量迀移数据,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0049]处理单元,用于在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状--τ ο
[0050]结合第五方面,在第一种可能的实现方式中,所述迀移目的节点还包括:
[0051]发送单元,用于在所述迀移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点发送迀移完成广播信息。
[0052]结合第一种可能的实现方式,在第二种可能的实现方式中,所述迀移目的节点还包括:
[0053]更新单元,用于在所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0054]本发明实施例第六方面提供了一种分布式系统,包括:
[0055]迀移源节点,用于接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线;将锁资源的全量迀移数据发送给所述分布式系统中的迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据;在发送所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0056]迀移目的节点,用于在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
[0057]结合第六方面,在第一种可能的实现方式中,所述迀移目的节点还用于:
[0058]在所述迀移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点广播迀移完成广播信息。
[0059]结合第一种可能的实现方式,在第二种可能的实现方式中,所述分布式系统中的所有节点用于:
[0060]在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0061]结合第一种可能的实现方式,在第三种可能的实现方式中,所述迀移源节点还用于:
[0062]在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,删除所述全量迀移数据及所述增量数据。
[0063]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0064]本发明实施例中,迀移源节点接收到用于通知分布式系统中有节点上线或者离线的通知消息后,将锁资源的迀移数据分为全量迀移数据和增量迀移数据,首先将全量迀移数据发送给迀移目的节点,待迀移目的节点接收到全量迀移数据后,设置锁资源的状态为停止服务状态,再将增量迀移数据发送给迀移目的节点,其中全量迀移数据为迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据,增量迀移数据为迀移源节点自接收到通知消息的时刻起至设置锁资源的状态为停止服务状态的时刻迀移源节点中的锁资源数据。
[0065]相比现有技术中在迀移锁资源的全部迀移数据的过程中,保持锁资源的状态为停止服务状态,本发明实施例中仅在迀移锁资源的增量迀移数据的过程中,保持锁资源的状态为停止服务状态,由于增量迀移数据量相比于全部迀移数据量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迀移锁资源对分布式系统的运行效率的影响的技术效果。

【专利附图】

【附图说明】
[0066]为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0067]图1为适用于本实施例中锁资源迀移方法的分布式系统的示意图;
[0068]图2为本发明实施例中的锁资源迀移方法的流程图;
[0069]图3为本发明另一实施例中的锁资源迀移方法的流程图;
[0070]图4为本发明再一实施例中的锁资源迀移方法的流程图;
[0071]图5为本发明实施例中迀移源节点的功能框图;
[0072]图6为发明本实施例中迀移源节点的硬件结构图;
[0073]图7为本发明实施例中迀移源目的点的功能框图;
[0074]图8为本实施例中迀移目的节点的硬件结构图;
[0075]图9为本发明实施例中分布式系统的功能框图。

【具体实施方式】
[0076]本发明实施例提供一种锁资源迀移方法节点及分布式系统,用于解决现有技术中存在的迀移锁资源对分布式系统的运行效率影响较大的技术问题,实现了减小迀移锁资源对分布式系统的运行效率的影响的技术效果。
[0077]本发明实施例中,迀移源节点接收到用于通知分布式系统中有节点上线或者离线的通知消息后,将锁资源的迀移数据分为全量迀移数据和增量迀移数据,首先将全量迀移数据发送给迀移目的节点,待迀移目的节点接收到全量迀移数据后,设置锁资源的状态为停止服务状态,再将增量迀移数据发送给迀移目的节点,其中全量迀移数据为迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据,增量迀移数据为迀移源节点自接收到通知消息的时刻起至设置锁资源的状态为停止服务状态的时刻迀移源节点中的锁资源数据。
[0078]相比现有技术中在迀移锁资源的全部迀移数据的过程中,保持锁资源的状态为停止服务状态,本发明实施例中仅在迀移锁资源的增量迀移数据的过程中,保持锁资源的状态为停止服务状态,由于增量迀移数据量相比于全部迀移数据量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迀移锁资源对分布式系统的运行效率的影响的技术效果。
[0079]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0080]本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另夕卜,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0081]下面结合附图对本发明的实施方式进行详细说明。
[0082]本发明实施例提供一种锁资源迀移方法,适用于分布式系统,分布式系统包括多个节点。多个节点上的每个节点都存储有一个文件或者多个文件的锁资源,用于记录一个或者多个文件中的每一文件被哪些节点加锁以及锁的权限是读权限还是锁权限。由于锁资源占用节点的内存、CPU(英文:Central Processing Unit ;中文:中央处理器)资源,所以锁资源需要均衡地分布在所有节点上。
[0083]当分布式系统中有节点上线或者离线时,为了实现锁资源均衡分布,需要将一部分锁资源迀移到其他节点上。例如:当分布式系统中有节点上线时,需要将已上线的节点上的一部分锁资源迀移到上线的节点上。又例如:当分布式系统中有节点离线时,需要将离线的节点上的所有锁资源迀移到已上线的节点上。
[0084]请参考图1,图1为适用于本实施例中锁资源迀移方法的分布式系统的示意图,分布式系统包括:多个节点,包括迀移源节点和迀移目的节点,其中,迀移源节点是产生需要迀移的锁资源的节点,迀移目的节点是接收需要迀移的锁资源的节点。多个节点中的任一节点都可以为迀移源节点或者迀移目的节点。如图1中所示,分布式系统包括两个节点:节点A和节点B。其中,节点B为已上线的节点,节点A由离线切换为上线,所以迀移源节点为节点A,迀移目的节点为节点B。
[0085]以下先从迀移源节点侧介绍本实施例中的锁资源迀移方法,请参考图2,图2为本发明实施例中的锁资源迀移方法的流程图,该方法包括:
[0086]步骤21:迀移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0087]步骤22:所述迀移源节点将锁资源的全量迀移数据发送给迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据;
[0088]步骤23:所述迀移源节点在所述迀移目的节点接收所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;
[0089]步骤24:所述迀移源节点将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据。
[0090]具体来讲,当分布式系统中有节点上线或者离线时,为实现锁资源均衡分布,需要进行至少一个锁资源的迀移。对于至少一个锁资源中的每个锁资源,以有节点上线或者离线时刻为分界点,将锁资源的迀移数据分为两部分:锁资源的全量迀移数据和锁资源的增量迀移数据。
[0091]其中,锁资源的全量迀移数据为迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据,锁资源的增量迀移数据为迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据。
[0092]当分布式系统中有节点上线或者离线时,迀移源节点会接收到通知消息。迀移源节点在接收到通知消息之后,迀移源节点首先将锁资源的全量迀移数据迀移到迀移目的节点,在迀移目的节点接收到锁资源的全量迀移数据之后,迀移源节点中的锁资源不再处理其他节点发送的加锁请求,改由迀移目的节点中锁资源处理,所以迀移源节点设置锁资源的状态为停止服务状态,然后再将锁资源的增量迀移数据迀移到迀移目的节点。
[0093]为了提高迀移效率,迀移源节点可以将锁资源的全量迀移数据打包之后再迀移到迀移目的节点,相应地,在迀移目的节点恢复锁资源的全量迀移数据之后,迀移源节点设置锁资源的状态为停止服务状态。迀移源节点还可以将锁资源的增量迀移数据打包之后再迀移到迀移目的节点。
[0094]由于锁资源的全量迀移数据量大,可以在后台运行,即启动一个线程进行锁资源的全量迀移数据的迀移,所以在迀移锁资源的全量迀移数据的过程中,如果有节点向迀移源节点中的锁资源发送加锁请求,迀移源节点中的锁资源可以对加锁请求进行处理,不会受到锁资源迀移的影响。并且在迀移锁资源的全量迀移数据的过程中,迀移源节点和迀移目的节点同时持有锁资源的全量迀移数据,提高了分布式系统的健壮性。
[0095]由于锁资源的增量迀移数据量相比于锁资源的全量迀移数据量小,所以迀移时间短,相比现有技术中当分布式系统中有节点上线或者离线时,就设置锁资源的状态为停止服务状态,本发明实施例中在完成全量迀移数据的迀移之后,才设置锁资源的状态为停止服务状态,所以延迟了设置锁状态为停止状态的时间。分布式系统仅在迀移锁资源的增量迀移数据的时间段内对加锁请求延迟处理,减小了锁资源迀移对分布式系统的影响。
[0096]在执行完步骤24之后,迀移源节点还可以执行以下步骤:
[0097]所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0098]所述迀移源节点删除所述全量迀移数据及所述增量迀移数据。
[0099]具体来讲,迀移源节点在迀移目的节点接收到锁资源的增量迀移数据之后,会接收到迀移目的节点发送的迀移完成广播信息,进而更新目录信息,将锁资源在分布式系统中的存储位置由迀移源节点更新为迀移目的节点。
[0100]在锁资源的全量迀移数据和增量迀移数据均迀移完成之后,迀移目的节点上存储有锁资源的全量迀移数据和增量迀移数据,分布式系统中的节点可以向迀移目的节点中的锁资源发送加锁请求,所以迀移源节点可以删除锁资源的全量迀移数据以及增量迀移数据,以提高分布式系统的内存、CPU资源的利用效率。
[0101]以下从迀移目的节点侧介绍本实施例中的锁资源迀移方法,请参考图3,图3为本发明另一实施例中的锁资源迀移方法的流程图,该方法包括:
[0102]步骤31:迀移目的节点接收迀移源节点发送的锁资源的全量迀移数据,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0103]步骤32:所述迀移目的节点接收所述迀移源节点发送的增量迀移数据,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0104]步骤33:所述迀移目的节点在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
[0105]具体来讲,当分布式系统中有节点上线或者离线时,为实现锁资源均衡分布,需要进行至少一个锁资源的迀移。对于至少一个锁资源中的每个锁资源,以有节点上线或者离线时刻为分界点,将锁资源的迀移数据分为两部分:锁资源的全量迀移数据和锁资源的增量迀移数据。
[0106]迀移目的节点首先接收迀移源节点发送的锁资源的全量迀移数据,然后接收迀移源节点发送的锁资源的增量迀移数据,在迀移目的节点接收到锁资源的全量迀移数据和增量迀移数据之后,迀移目的节点中的锁资源可以对其他节点发送的加锁请求进行处理,所以迀移目的节点设置锁资源的状态为服务状态。
[0107]为了提高迀移效率,迀移源节点可以将锁资源的全量迀移数据打包之后再迀移到迀移目的节点,相应地,迀移目的节点接收到打包的锁资源的全量迀移数据后,需要恢复锁资源的全量迀移数据。迀移源节点还可以将锁资源的增量迀移数据打包之后再迀移到迀移目的节点,相应地,迀移目的节点接收到打包的锁资源的增量迀移数据后,需要恢复锁资源的增量迀移数据之后,迀移目的节点设置锁资源的状态为服务状态。
[0108]在执行完步骤33之后,迀移目的节点还可以执行以下步骤:
[0109]所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息;
[0110]所述迀移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0111]具体来讲,迀移目的节点在设置锁资源的状态为服务状态之后,会向分布式系统中的所有节点发送迀移完成广播信息,包括向迀移源节点和迀移目的节点本身发送迀移完成广播信息,通知分布式系统中的所有节点锁资源的存储位置已由迀移源节点改为迀移目的节点。然后迀移目的节点会更新目录信息,将锁资源在分布式系统中的存储位置由迀移源节点更新为迀移目的节点。
[0112]下面从分布式系统侧介绍本实施例中的锁资源迀移方法,分布式系统至少包括迀移源节点和迀移目的节点。请参考图4,图4为本发明再一实施例中的锁资源迀移方法的流程图,该方法包括:
[0113]步骤41:分布式系统中的迀移源节点接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线;
[0114]步骤42:所述迀移源节点将锁资源的全量迀移数据发送给所述分布式系统中的迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据;
[0115]步骤43:所述迀移源节点在发送所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;
[0116]步骤44:所述迀移源节点将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0117]步骤45:所述迀移目的节点在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
[0118]具体来讲,当分布式系统中有节点上线或者离线时,为实现锁资源均衡分布,需要进行至少一个锁资源的迀移。对于至少一个锁资源中的每个锁资源,以有节点上线或者离线时刻为分界点,将锁资源的迀移数据分为两部分:锁资源的全量迀移数据和锁资源的增量迀移数据。
[0119]当分布式系统中有节点上线或者离线时,迀移源节点会接收到通知消息。迀移源节点在接收到通知消息之后,迀移源节点首先将锁资源的全量迀移数据从迀移源节点迀移到迀移目的节点,在完成锁资源的全量迀移数据的迀移之后,迀移源节点中的锁资源不再处理其他节点发送的加锁请求,改由迀移目的节点中锁资源处理,所以迀移源节点设置锁资源的状态为停止服务状态,然后迀移源节点再将锁资源的增量迀移数据迀移到迀移目的节点。
[0120]分布式系统中的迀移目的节点首先接收迀移源节点发送的锁资源的全量迀移数据,然后接收迀移源节点发送的锁资源的增量迀移数据,在迀移目的节点接收到锁资源的全量迀移数据和增量迀移数据之后,迀移目的节点中的锁资源可以对其他节点发送的加锁请求进行处理,所以迀移目的节点设置锁资源的状态为服务状态。
[0121]相比现有技术中在迀移锁资源的全部迀移数据的过程中均设置锁资源的状态为停止服务状态,本发明实施例中仅在迀移锁资源的增量迀移数据的过程中设置锁资源的状态为停止服务状态,由于锁资源的增量迀移数据量相比于锁资源的全部迀移数据量小得多,所以本发明实施例提供的锁资源迀移方法大大缩短了设置锁状态为停止服务状态的时间,减小了锁资源迀移对分布式系统的影响。
[0122]在执行完步骤44之后,还可以执行以下步骤:
[0123]迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息;
[0124]所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0125]具体来讲,在迀移目的节点设置锁资源的状态为服务状态之后,需要通知分布式系统中的所有节点锁资源的存储位置发生改变,所以分布式系统向所有节点发送迀移完成广播信息,然后所有节点会更新目录信息,将锁资源在分布式系统中的存储位置由迀移源节点更新为迀移目的节点。
[0126]特别的,对于分布式系统中的迀移目的节点,还可以执行以下步骤:
[0127]在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,所述迀移源节点删除所述全量迀移数据及所述增量迀移数据。
[0128]在锁资源的全量迀移数据和增量迀移数据均迀移完成之后之后,迀移目的节点上存储有锁资源的全量迀移数据和增量迀移数据,分布式系统中的节点可以向迀移目的节点中的锁资源发送加锁请求,所以迀移源节点可以删除锁资源的全量迀移数据以及增量迀移数据,以提高分布式系统的内存、CPU资源的利用效率。
[0129]下面以迀移源节点为节点A,迀移目的节点为节点B,对分布式系统侧的锁资源的迀移方法举例说明。包括以下步骤:
[0130]当节点B上线时,节点A将需要迀移的至少一个锁资源中的每个锁资源的全量迀移数据打包;
[0131]节点A将已打包的锁资源的全量迀移数据发送给节点B ;
[0132]节点B收到已打包的锁资源的全量迀移数据后,恢复锁资源的全量迀移数据;
[0133]节点A设置锁资源的状态为停止服务状态;
[0134]节点A将需要迀移的至少一个锁资源中的每个锁资源的增量迀移数据打包;
[0135]节点A将已打包的锁资源的增量迀移数据发送给节点B ;
[0136]节点B收到已打包的锁资源的增量迀移数据后,恢复锁资源的增量迀移数据;
[0137]节点B设置锁资源的状态为服务状态;
[0138]节点B向分布式系统中的所有节点发送迀移完成广播信息;
[0139]分布式系统中的所有节点收到迀移完成广播信息后,更新目录信息;
[0140]节点A删除锁资源的全量迀移数据及增量迀移数据。
[0141]基于同一发明构思,本发明另一实施例提供一种迀移源节点,请参考图5,图5为本发明实施例中迀移源节点的功能框图。图5所示的迀移源节点涉及到的术语的含义以及具体实现,可以参考前述图1至图4以及实施例的相关描述。
[0142]请参考图5,迀移源节点包括:
[0143]接收单元50,用于接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线
[0144]第一发送单元51,用于将锁资源的全量迀移数据发送给迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据;
[0145]处理单元52,用于在所述迀移目的节点接收所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;
[0146]第二发送单元53,用于将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据。
[0147]可选的,所述迀移源节点还包括:
[0148]更新单元,用于在接收到所述迀移目的节点发送的迀移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0149]可选的,所述迀移源节点还包括:
[0150]删除单元,用于在所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,删除所述全量迀移数据及所述增量迀移数据。
[0151]前述图2实施例中的锁资源迀移方法中的各种变化方式和具体实例同样适用于本实施例的迀移源节点,通过前述对锁资源迀移方法的详细描述,本领域技术人员可以清楚的知道本实施例中迀移源节点的实施方法,所以为了说明书的简洁,在此不再详述。
[0152]请再参考图6所示,图6为发明本实施例中迀移源节点的硬件结构图。迀移源节点包括:
[0153]接收器61,用于接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0154]发送器62,用于将锁资源的全量迀移数据发送给迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据;用于将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0155]处理器63,用于在所述迀移目的节点接收所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态。
[0156]可选的,处理器63还用于在接收到所述迀移目的节点发送的迀移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0157]可选的,处理器63还用于在所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,删除所述全量迀移数据及所述增量迀移数据。
[0158]其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器63代表的一个或多个处理器和存储器64代表的存储器的各种电路连接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口 65在总线600和接收器61和发送器62之间提供接口。接收器61和发送器62可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单
J L.ο
[0159]处理器63负责管理总线600和通常的处理,而存储器64可以被用于存储处理器63在执行操作时所使用的数据。
[0160]迀移源节点具体可以为笔记本电脑、平板电脑以及其他设备。
[0161]前述图2实施例中的锁资源迀移方法中的各种变化方式和具体实例同样适用于本实施例的迀移源节点,通过前述对锁资源迀移方法的详细描述,本领域技术人员可以清楚的知道本实施例中迀移源节点的实施方法,所以为了说明书的简洁,在此不再详述。
[0162]基于同一发明构思,本发明另一实施例提供一种迀移目的节点,请参考图7,图7为本发明实施例中迀移源目的点的功能框图。图7所示的迀移目的节点涉及到的术语的含义以及具体实现,可以参考前述图1至图4以及实施例的相关描述。
[0163]请参考图7,迀移目的节点包括:
[0164]第一接收单元71,用于接收迀移源节点发送的锁资源的全量迀移数据,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线;
[0165]第二接收单元72,用于接收所述迀移源节点发送的增量迀移数据,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0166]处理单元73,用于在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
[0167]可选的,所述迀移目的节点还包括:
[0168]发送单元,用于在所述迀移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点发送迀移完成广播信息。
[0169]可选的,所述迀移目的节点还包括:
[0170]更新单元,用于在所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0171]前述图3实施例中的锁资源迀移方法中的各种变化方式和具体实例同样适用于本实施例的迀移目的节点,通过前述对锁资源迀移方法的详细描述,本领域技术人员可以清楚的知道本实施例中迀移目的节点的实施方法,所以为了说明书的简洁,在此不再详述。
[0172]请再参考图8,图8为本实施例中迀移目的节点的硬件结构图。迀移目的节点包括:
[0173]接收器81,用于接收迀移源节点发送的锁资源的全量迀移数据,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线;接收所述迀移源节点发送的增量迀移数据,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0174]处理器82,用于在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状
--τ ο
[0175]可选的,所述迀移目的节点还包括:
[0176]发送器83,用于在所述迀移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点发送迀移完成广播信息。
[0177]可选的,所述处理器82还用于:在所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0178]其中,在图8中,总线架构(用总线800来代表),总线800可以包括任意数量的互联的总线和桥,总线800将包括由处理器82代表的一个或多个处理器和存储器84代表的存储器的各种电路连接在一起。总线800还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口 85在总线800和接收器81和发送器83之间提供接口。接收器81和发送器83可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单
J L.ο
[0179]处理器82负责管理总线800和通常的处理,而存储器84可以被用于存储处理器82在执行操作时所使用的数据。
[0180]迀移源节点具体可以为笔记本电脑、平板电脑以及其他设备。
[0181]前述实施例中描述的迀移目的节点执行过程的各种变化方式和具体实例同样适用于本实施例的迀移目的节点,通过前述对迀移目的节点执行过程的详细描述,本领域技术人员可以清楚的知道本实施例中迀移目的节点的实施方法,所以为了说明书的简洁,在此不再详述。
[0182]基于同一发明构思,本发明另一实施例提供一种分布式系统,请参考图9,图9为本发明实施例中分布式系统的功能框图。图9所示的迀移目的节点涉及到的术语的含义以及具体实现,可以参考前述图1至图4以及实施例的相关描述。
[0183]请参考图9,分布式系统包括:
[0184]迀移源节点91,用于接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线;将锁资源的全量迀移数据发送给所述分布式系统中的迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据;在发送所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据;
[0185]迀移目的节点92,用于在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
[0186]可选的,所述迀移目的节点92还用于:
[0187]在所述迀移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点广播迀移完成广播信息。
[0188]可选的,所述分布式系统中的所有节点用于:
[0189]在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
[0190]可选的,所述迀移源节点91还用于:
[0191]在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,删除所述全量迀移数据及所述增量数据。
[0192]前述图4实施例中的锁资源迀移方法中的各种变化方式和具体实例同样适用于本实施例的分布式系统,通过前述对锁资源迀移方法的详细描述,本领域技术人员可以清楚的知道本实施例中分布式系统的实施方法,所以为了说明书的简洁,在此不再详述。
[0193]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0194]本发明实施例中,迀移源节点接收到用于通知分布式系统中有节点上线或者离线的通知消息后,将锁资源的迀移数据分为全量迀移数据和增量迀移数据,首先将全量迀移数据发送给迀移目的节点,待迀移目的节点接收到全量迀移数据后,设置锁资源的状态为停止服务状态,再将增量迀移数据发送给迀移目的节点,其中全量迀移数据为迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据,增量迀移数据为迀移源节点自接收到通知消息的时刻起至设置锁资源的状态为停止服务状态的时刻迀移源节点中的锁资源数据。
[0195]相比现有技术中在迀移锁资源的全部迀移数据的过程中,保持锁资源的状态为停止服务状态,本发明实施例中仅在迀移锁资源的增量迀移数据的过程中,保持锁资源的状态为停止服务状态,由于增量迀移数据量相比于全部迀移数据量小,所以缩短了锁资源的状态为停止服务状态的持续时间,实现了减小迀移锁资源对分布式系统的运行效率的影响的技术效果。
[0196]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0197]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0198]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0199]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0200]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0201]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种锁资源迀移方法,其特征在于,包括: 迀移源节点接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线; 所述迀移源节点将锁资源的全量迀移数据发送给迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据; 所述迀移源节点在所述迀移目的节点接收所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态; 所述迀移源节点将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据。
2.如权利要求1所述的方法,其特征在于,在所述迀移源节点将增量迀移数据发送给所述迀移目的节点之后,所述方法还包括: 所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
3.如权利要求2所述的方法,其特征在于,在所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,所述方法还包括: 所述迀移源节点删除所述全量迀移数据及所述增量迀移数据。
4.一种锁资源迀移方法,其特征在于,包括: 迀移目的节点接收迀移源节点发送的锁资源的全量迀移数据,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线; 所述迀移目的节点接收所述迀移源节点发送的增量迀移数据,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据; 所述迀移目的节点在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状--τ O
5.如权利要求4所述的方法,其特征在于,在所述迀移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括: 所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息。
6.如权利要求5所述的方法,其特征在于,在所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息之后,所述方法还包括: 所述迀移目的节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
7.一种锁资源迀移方法,其特征在于,包括: 分布式系统中的迀移源节点接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线; 所述迀移源节点将锁资源的全量迀移数据发送给所述分布式系统中的迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据; 所述迀移源节点在发送所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态; 所述迀移源节点将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据; 所述迀移目的节点在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状--τ O
8.如权利要求7所述的方法,其特征在于,在所述迀移目的节点设置所述锁资源的状态为服务状态之后,所述方法还包括: 所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息。
9.如权利要求8所述的方法,其特征在于,在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,所述方法还包括: 所述分布式系统中的所有节点更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
10.如权利要求8所述的方法,其特征在于,在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,所述方法还包括: 所述迀移源节点删除所述全量迀移数据及所述增量迀移数据。
11.一种迀移源节点,其特征在于,包括: 接收单元,用于接收通知消息,所述通知消息用于通知分布式系统中有节点上线或者离线; 第一发送单元,用于将锁资源的全量迀移数据发送给迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到所述通知消息的时刻所述迀移源节点中的锁资源数据; 处理单元,用于在所述迀移目的节点接收所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态; 第二发送单元,用于将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至设置所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据。
12.如权利要求11所述的迀移源节点,其特征在于,所述迀移源节点还包括: 更新单元,用于在接收到所述迀移目的节点发送的迀移完成广播信息后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
13.如权利要求12所述的迀移源节点,其特征在于,所述迀移源节点还包括: 删除单元,用于在所述迀移源节点在接收到所述迀移目的节点发送的迀移完成广播信息后,删除所述全量迀移数据及所述增量迀移数据。
14.一种迀移目的节点,其特征在于,包括: 第一接收单元,用于接收迀移源节点发送的锁资源的全量迀移数据,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据,所述通知消息用于通知分布式系统中有节点上线或者离线; 第二接收单元,用于接收所述迀移源节点发送的增量迀移数据,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据; 处理单元,用于在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状态。
15.如权利要求14所述的迀移目的节点,其特征在于,所述迀移目的节点还包括: 发送单元,用于在所述迀移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点发送迀移完成广播信息。
16.如权利要求15所述的迀移目的节点,其特征在于,所述迀移目的节点还包括: 更新单元,用于在所述迀移目的节点向所述分布式系统中的所有节点发送迀移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
17.一种分布式系统,其特征在于,包括: 迀移源节点,用于接收通知消息,所述通知消息用于通知所述分布式系统中有节点上线或者离线;将锁资源的全量迀移数据发送给所述分布式系统中的迀移目的节点,所述全量迀移数据为所述迀移源节点自开始提供锁服务的时刻起至接收到通知消息的时刻所述迀移源节点中的锁资源数据;在发送所述全量迀移数据之后,设置所述锁资源的状态为停止服务状态;将增量迀移数据发送给所述迀移目的节点,所述增量迀移数据为所述迀移源节点自接收到所述通知消息的时刻起至所述锁资源的状态为停止服务状态的时刻所述迀移源节点中的锁资源数据; 迀移目的节点,用于在接收所述增量迀移数据之后,设置所述锁资源的状态为服务状--τ O
18.如权利要求17所述的分布式系统,其特征在于,所述迀移目的节点还用于: 在所述迀移目的节点设置所述锁资源的状态为服务状态之后,向所述分布式系统中的所有节点广播迀移完成广播信息。
19.如权利要求18所述的分布式系统,其特征在于,所述分布式系统中的所有节点用于: 在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,更新目录信息,所述目录信息记录所有锁资源在所述分布式系统中的分布情况。
20.如权利要求18所述的分布式系统,其特征在于,所述迀移源节点还用于: 在所述迀移目的节点向所述分布式系统中的所有节点广播迀移完成广播信息之后,删除所述全量迀移数据及所述增量数据。
【文档编号】H04L29/08GK104486373SQ201410677166
【公开日】2015年4月1日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】王勋, 范超, 陈 光 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1