共享文件系统维护方法及装置与流程

文档序号:18406755发布日期:2019-08-10 00:28阅读:278来源:国知局
共享文件系统维护方法及装置与流程

本公开涉及通信技术领域,具体而言,涉及一种共享文件系统维护方法及装置。



背景技术:

共享文件系统为dlm(distributedlockmanager,分布式锁管理器)集群中多个服务器可以对同一个存储阵列进行数据访问的系统,其中,集群中每个服务器可以作为一个节点,具体可以包括一个资源主节点和多个非资源主节点,资源主节点可以存储有各个节点的锁副本,而各个非资源主节点仅保留非资源主节点自己的锁副本。

相关技术中,若资源主节点出现故障,则多个非资源主节点竞选出恢复主节点,由恢复主节点向其他各个非资源主节点发送恢复开始消息,通知其他非资源主节点开始恢复资源,则恢复主节点可以从各个非资源主节点收集得到锁副本,在收集完毕后再向其他各个非资源主节点发送恢复结束信息,使得其他各个非资源主节点根据接收的恢复结束信息将恢复主节点作为新的资源主节点。

但是,在恢复主节点恢复资源的过程中,部分非资源主节点可能无法收到恢复主节点发送的恢复结束信息,导致同步资源主节点的变更,从而导致dlm集群中不同节点获知的资源主节点不同,即导致dlm集群中信息不一致的问题。



技术实现要素:

本公开的目的在于,针对上述现有技术中的不足,提供一种共享文件系统维护方法及装置,以解决在恢复主节点恢复资源的过程中,dlm集群中信息不一致的问题。

为实现上述目的,本公开实施例采用的技术方案如下:

第一方面,本公开实施例提供了一种共享文件系统维护方法,应用于dlm集群中的第一非资源主节点,所述dlm集群包括恢复主节点、资源主节点和多个非资源主节点,所述第一非资源主节点为多个所述非资源主节点中的任意一个非资源主节点,所述方法包括:

接收所述恢复主节点在竞争到锁资源且将所述恢复主节点置为当前资源主节点之后发送的更新信息,所述更新信息用于同步所述当前资源主节点的信息;

若所述恢复主节点出现故障,向其他多个所述非资源主节点发送修正信息,所述修正信息用于向其他多个所述非资源主节点同步所述当前资源主节点的信息。

可选的,所述若所述恢复主节点出现故障,向其他多个所述非资源主节点发送修正信息,包括:

读取所述恢复主节点对应的资源数据;

若成功读取所述恢复主节点对应的资源数据,确定所述恢复主节点并未出现故障;

若读取所述恢复主节点对应的资源数据失败,则向其他多个所述非资源主节点发送所述修正信息。

可选的,在所述若所述恢复主节点出现故障,向其他多个所述非资源主节点发送修正信息之后,所述方法还包括:

接收其他多个所述非资源主节点中任意一个所述非资源主节点反馈的确认信息,所述确认信息用于指示所述非资源主节点已将所述恢复主节点作为所述资源主节点。

可选的,所述若所述恢复主节点出现故障,向其他多个所述非资源主节点发送修正信息,包括:

若所述恢复主节点出现故障,按照其他多个所述非资源主节点的标识信息,依次向各个所述非资源主节点发送所述修正信息。

第二方面,本公开实施例还提供了一种共享文件系统维护方法,应用于dlm集群中的第二非资源主节点,所述dlm集群包括恢复主节点、资源主节点和多个非资源主节点,所述第二非资源主节点为多个所述非资源主节点中的任意一个非资源主节点,所述方法包括:

接收第一非资源主节点发送的修正信息,所述修正信息用于向所述第二非资源主节点同步当前资源主节点的信息;

根据所述修正信息将所述恢复主节点作为所述资源主节点。

可选的,所述根据所述修正信息将所述恢复主节点作为所述资源主节点,包括:

根据所述修正信息,获取所述恢复主节点对应的标识信息;

根据所述标识信息,将所述恢复主节点作为所述资源主节点。

第三方面,本公开实施例又提供了一种共享文件系统维护装置,应用于dlm集群中的第一非资源主节点,所述dlm集群包括恢复主节点、资源主节点和多个非资源主节点,所述第一非资源主节点为多个所述非资源主节点中的任意一个非资源主节点,所述装置包括:

第一接收模块,用于接收所述恢复主节点在竞争到锁资源且将所述恢复主节点置为当前资源主节点之后发送的更新信息,所述更新信息用于同步所述当前资源主节点的信息;

发送模块,用于若所述恢复主节点出现故障,向其他多个所述非资源主节点发送修正信息,所述修正信息用于向其他多个所述非资源主节点同步所述当前资源主节点的信息。

可选的,所述发送模块,具体用于读取所述恢复主节点对应的资源数据;若成功读取所述恢复主节点对应的资源数据,确定所述恢复主节点并未出现故障;若读取所述恢复主节点对应的资源数据失败,则向其他多个所述非资源主节点发送所述修正信息。

可选的,所述装置还包括:

第二接收模块,用于接收其他多个所述非资源主节点中任意一个所述非资源主节点反馈的确认信息,所述确认信息用于指示所述非资源主节点已将所述恢复主节点作为所述资源主节点。

可选的,所述发送模块,还具体用于若所述恢复主节点出现故障,按照其他多个所述非资源主节点的标识信息,依次向各个所述非资源主节点发送所述修正信息。

第四方面,本公开实施例又提供了一种共享文件系统维护装置,应用于dlm集群中的第二非资源主节点,所述dlm集群包括恢复主节点、资源主节点和多个非资源主节点,所述第二非资源主节点为多个所述非资源主节点中的任意一个非资源主节点,所述装置包括:

接收模块,用于接收第一非资源主节点发送的修正信息,所述修正信息用于向所述第二非资源主节点同步当前资源主节点的信息;

确定模块,用于根据所述修正信息将所述恢复主节点作为所述资源主节点。

可选的,所述确定模块,具体用于根据所述修正信息,获取所述恢复主节点对应的标识信息;根据所述标识信息,将所述恢复主节点作为所述资源主节点。

本公开的有益效果是:

本公开实施例通过接收恢复主节点在竞争到锁资源且将恢复主节点置为当前资源主节点之后发送的更新信息,该更新信息用于同步当前资源主节点的信息,若恢复主节点出现故障,则可以向其他多个非资源主节点发送修正信息,该修正信息用于向其他多个非资源主节点同步当前资源主节点的信息。通过在接收恢复主节点发送的更新信息后,若确定恢复主节点出现故障,则可以通过广播的方式向其他各个非资源主节点发送修正信息,使得其他各个非资源主节点可以根据修正信息对当前资源主节点的信息进行同步,避免了恢复主节点出现故障时部分非资源主节点无法根据恢复主节点发送的更新信息对当前资源主节点的信息进行同步的问题,提高了dlm集群中各个节点的信息一致性。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本公开提供的一种共享文件系统的结构示意图;

图2为本公开一实施例提供的共享文件系统维护方法的流程示意图;

图3为本公开另一实施例提供的共享文件系统维护方法的流程示意图;

图4为本公开又一实施例提供的共享文件系统维护方法的流程示意图;

图5为本公开一实施例提供的共享文件系统维护装置的示意图;

图6为本公开另一实施例提供的共享文件系统维护装置的示意图;

图7为本公开又一实施例提供的共享文件系统维护装置的示意图;

图8为本公开一实施例提供的共享文件系统维护装置的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。

图1为本公开提供的一种共享文件系统的结构示意图,如图1所示,该共享文件系统包括:dlm集群110和存储阵列120,该dlm集群110中包括多个节点,每个节点均可对存储阵列120中存储的数据进行访问。其中该dlm集群110的多个节点可以包括恢复主节点、资源主节点和多个非资源主节点。资源主节点可以存储有各个节点的锁副本,而各个非资源主节点仅保留非资源主节点自己的锁副本,恢复主节点表示竞争到锁资源的节点。

其中,若dlm集群110中有节点出现故障时,dlm集群110中当前所有的正常节点可以通过锁资源竞争的方式选出唯一一个节点进行故障节点的锁副本恢复工作,则竞选出的节点即为恢复主节点。

在恢复主节点恢复锁资源的过程中,若非资源主节点中的第一非资源主节点接收恢复主节点在竞争到锁资源且将恢复主节点置为当前资源主节点之后发送的更新信息,并在接收该更新信息后确定恢复主节点出现故障,说明非资源主节点中的第二非资源主节点可能并未接收到恢复主节点发送的更新信息,则第一非资源主节点可以向其他各个非资源主节点发送修正信息,相对应的,第二非资源主节点可以接收第一非资源主节点发送的修正信息,并根据该修正信息,对当前资源主节点的信息进行同步。

其中,更新信息用于同步当前资源主节点的信息,修正信息用于向其他多个非资源主节点同步当前资源主节点的信息。

而且,第一非资源主节点、第二非资源主节点均可以为多个非资源主节点中的任意一个非资源主节点,且第一非资源主节点与第二非资源主节点是不同节点。

需要说明的是,在实际应用中,dlm集群110中的各个节点均可以为服务器,各个服务器中加载有共享文件系统对应的应用程序,可以通过加载的应用程序访问存储阵列120中所存储的数据。

图2为本公开一实施例提供的共享文件系统维护方法的流程示意图,应用于如图1所示的多个非资源主节点中的第一非资源主节点,如图2所示,该方法包括:

步骤201、接收恢复主节点在竞争到锁资源且将恢复主节点置为当前资源主节点之后发送的更新信息。

其中,该更新信息用于同步当前资源主节点的信息,该当前资源主节点即为竞争到锁资源的恢复主节点,而当前资源主节点的信息可以为恢复主节点对应的标识信息。

因此,该更新信息可以包括恢复主节点对应的标识信息,以便第一非资源主节点可以根据恢复主节点的标识信息,同步当前资源主节点的信息。

为了避免dlm集群中出现多个资源主节点,在恢复主节点对资源进行恢复的过程中,需要对恢复主节点进行监控,避免恢复主节点出现故障,导致部分非资源主节点无法同步当前资源主节点的信息的问题。

因此,在恢复主节点对资源进行恢复的过程中,各个非资源主节点可以先接收恢复主节点发送的更新信息,并根据更新信息对当前资源主节点的信息进行同步。

具体地,第一非资源主节点接收更新信息后,可以对该更新信息进行分析,从而提取得到更新信息中恢复主节点的标识信息,并根据该标识信息,将恢复主节点作为新的资源主节点。

需要说明的是,在多个非资源主节点竞选得到恢复主节点后,恢复主节点可以从各个非资源主节点获取锁副本,从而恢复锁资源。当恢复主节点获取锁副本完毕后,可以将自身,也即是将恢复主节点作为当前资源主节点,并广播更新信息,使得接收更新信息的非资源主节点可以根据更新信息对当前资源主节点的信息进行同步。

例如,恢复主节点在对锁资源恢复完毕后,可以将dlm_finalize_reco_msg消息作为更新信息向各个非资源主节点发送,该dlm_finalize_reco_msg消息可以包括恢复主节点的标识信息,则第一非资源主节点可以接收并分析该dlm_finalize_reco_msg消息,从而得到恢复主节点的标识信息,若该标识信息的参数值为3,则可以将资源主节点对应的标识信息更新为3,从而实现同步当前资源主节点的信息。

步骤202、若恢复主节点出现故障,向其他多个非资源主节点发送修正信息。

其中,该修正信息用于向其他多个非资源主节点同步当前资源主节点的信息。

若多个非资源主节点中的第一非资源主节点检测到恢复主节点出现故障,则可以向其他多个非资源主节点发送修正信息,以使其他接收修正信息的非资源主节点可以根据该修正信息,对当前资源主节点的信息进行同步。

具体地,若第一非资源主节点确定恢复主节点出现故障,则可以根据更新信息中恢复主节点对应的标识信息,生成修正信息,并根据dlm集群中各个非资源主节点对应的标识信息,向其他各个非资源主节点发送修正信息。

相对应的,当其他非资源主节点接收到修正信息时,可以对修正信息提取分析,得到恢复主节点的标识信息,从而根据该标识信息对当前资源主节点的信息进行同步。

例如,第一非资源主节点可以向多个非资源主节点发送修正信息,也即是dlm_reassert_finalize_reco_msg消息,表示恢复主节点已经对各个节点恢复完毕,需要将恢复主节点作为新的资源主节点。相对应的,任意一个非资源主节点可以接收并解析该修正信息,从而得到恢复主节点的标识信息,若该标识信息对应的参数值为2,则可以将资源主节点对应的标识信息重置为2,也即是将恢复主节点作为新的资源主节点。

综上所述,本公开实施例提供的共享文件系统维护方法,通过接收恢复主节点在竞争到锁资源且将恢复主节点置为当前资源主节点之后发送的更新信息,该更新信息用于同步当前资源主节点的信息,若恢复主节点出现故障,则可以向其他多个非资源主节点发送修正信息,该修正信息用于向其他多个所述非资源主节点同步所述当前资源主节点的信息。通过在接收恢复主节点发送的更新信息后,若确定恢复主节点出现故障,则可以通过广播的方式向其他各个非资源主节点发送修正信息,使得其他各个非资源主节点可以根据修正信息对当前资源主节点的信息进行同步,避免了恢复主节点出现故障时部分非资源主节点无法根据恢复主节点发送的更新信息对当前资源主节点的信息进行同步的问题,提高了dlm集群中各个节点的信息一致性。

图3为本公开另一实施例提供的共享文件系统维护方法的流程示意图,应用于如图1所示的多个非资源主节点中的第二非资源主节点,如图3所示,该方法包括:

步骤301、接收第一非资源主节点发送的修正信息。

其中,该修正信息用于向第二非资源主节点同步当前资源主节点的信息。

由于在共享文件系统中dlm集群中的资源主节点出现故障,需要通过竞争得到的恢复主节点对资源进行恢复,而恢复主节点在恢复资源的过程中也出现故障,导致部分非资源主节点并未将恢复主节点作为新的资源主节点。

因此,若确定恢复主节点出现故障,则第一非资源主节点可以广播修正信息,而多个非资源主节点中的第二非资源主节点则可以接收第一非资源主节点发送的修正信息。

需要说明的是,该修正信息可以包括恢复主节点对应的标识信息,以便在后续步骤中,第二非资源主节点可以根据该标识信息对当前资源主节点的信息进行同步。

步骤302、根据修正信息将恢复主节点作为资源主节点。

在接收修正信息后,第二非资源主节点可以根据该修正信息对当前资源主节点的信息进行同步,也即是,将恢复主节点作为新的资源主节点,从而避免dlm集群中不同节点记录的资源主节点的信息不同步的问题。

具体地,第二非资源主节点在接收修正信息后,可以对修正信息进行分析识别,得到修正信息中所包括的恢复主节点对应的标识信息,并将资源主节点对应的标识信息替换为恢复主节点对应的标识信息,从而实现对当前资源主节点的信息的同步。

例如,恢复主节点对应的标识信息为1,出现故障的资源主节点对应的标识信息为2,则第二非资源主节点接收修正信息后,可以根据修正信息中的标识信息1,对当前资源主节点的信息进行同步,也即是,将第二非资源主节点中记录的资源主节点对应的标识信息2替换为1。

综上所述,本公开实施例提供的共享文件系统维护方法,第二非资源主节点通过接收第一非资源主节点发送的修正信息,并根据该修正信息将恢复主节点作为资源主节点。通过接收第一非资源主节点发送的修正信息,可以根据该修正信息指示第二非资源主节点将恢复主节点作为新的资源主节点,避免了dlm系统中出现多个资源主节点的情况,提高了dlm集群中各个节点的信息一致性。

图4为本公开又一实施例提供的共享文件系统维护方法的流程示意图,应用于如图1所示的多个非资源主节点中的第一非资源主节点和第二非资源主节点,如图4所示,该方法包括:

步骤401、第一非资源主节点接收恢复主节点在竞争到锁资源且将恢复主节点置为当前资源主节点之后发送的更新信息。

其中,该更新信息用于同步当前资源主节点的信息,该当前资源主节点即为竞争到锁资源的恢复主节点,而当前资源主节点的信息可以为恢复主节点对应的标识信息。

本步骤401与步骤201类似,在此不再赘述。

步骤402、第一非资源主节点读取恢复主节点对应的资源数据。

第一非资源主节点在接收更新信息后,可以确定资源主节点出现故障,需要对恢复主节点进行监测,判断恢复主节点是否出现故障从而影响各个节点的信息一致性。

因此,第一非资源主节点在接收更新信息后,可以对恢复主节点进行监测,判断恢复主节点是否出现故障。

由于在恢复主节点处于正常状态时,第一非资源主节点可以读取恢复主节点对应的资源数据。因此,可以采用读取恢复主节点对应的资源数据的方式,确定恢复主节点是否出现故障,也即是,可以根据第一非资源主节点是否能够读取恢复主节点对应的资源数据,判断恢复主节点是否出现故障。

可选的,在判断恢复主节点是否出现故障的过程中,可以读取恢复主节点对应的资源数据。若成功读取恢复主节点对应的资源数据,则可以确定恢复主节点并未出现故障,无需执行下述步骤。

但是,若读取恢复主节点对应的资源数据失败,则可以确定恢复主节点出现故障,可以执行步骤403。

具体地,第一非资源主节点可以读取恢复主节点对应的资源数据。若读取成功,则说明恢复主节点处于正常状态,并未出现故障。但是,若第一非资源主节点无法读取恢复主节点对应的资源数据,则说明恢复主节点出现故障,可能会导致部分非资源主节点无法将恢复主节点作为资源主节点。

需要说明的是,在实际应用中,第一非资源主节点可以周期性地读取恢复主节点对应的资源数据,若无法读取恢复主节点对应的资源数据的时间长度大于预设时间阈值,则可以认为恢复主节点出现故障。

其中,读取恢复主节点对应的资源数据的周期和预设时间阈值可以根据dlm集群中各个节点的数据处理能力进行设置,本公开实施例对该周期不做限定。

例如,若周期为2秒、预设时间阈值为120秒,则第一非资源主节点可以每隔2秒读取一次恢复主节点对应的资源数据,若在20:10:08无法读取恢复主节点对应的资源数据,则可以继续周期性地读取恢复主节点对应的资源数据,若在20:12:08仍未读取到恢复主节点对应的资源数据,则可以确定恢复主节点出现故障。

步骤403、若第一非资源主节点读取恢复主节点对应的资源数据失败,则向其他多个非资源主节点发送修正信息。其中,该修正信息用于向其他多个非资源主节点同步当前资源主节点的信息。

在第一非资源主节点确定恢复主节点出现故障后,可以向其他非资源主节点发送修正信息,其他非资源主节点则可以根据该修正信息对当前资源主节点的信息进行同步。

进一步地,为了减少第一非资源主节点发送的冗余信息,若恢复主节点出现故障,第一非资源主节点可以按照其他多个非资源主节点的标识信息,依次向各个非资源主节点发送修正信息,避免向已经将恢复主节点作为资源主节点的非资源主节点发送修正信息。

具体地,第一非资源主节点可以先获取dlm集群中各个非资源主节点的标识信息,并根据标识信息所指示参数值的大小,按照从小到大的顺序进行排序,并按照从小到大的顺序,向各个非资源主节点发送修正信息。

进一步地,为了减少第一非资源主节点的工作量,可以根据第一非资源主节点的标识信息对应的参数值,向大于该参数值的标识信息所属的非资源主节点依次发送修正信息。

例如,第一非资源主节点的标识信息为2,其他各个非资源主节点的标识信息分别为1、3和5,则第一非资源主节点可以根据各个标识信息的参数值,先向标识信息为3的非资源主节点发送修正信息,再向标识信息为5的非资源主节点发送修正信息。

步骤404、第二非资源主节点接收第一非资源主节点发送的修正信息。

其中,该修正信息用于向第二非资源主节点同步当前资源主节点的信息。

步骤405、第二非资源主节点根据修正信息将恢复主节点作为资源主节点。

由于第二非资源主节点接收的修正信息中包括恢复主节点对应的标识信息,因此,在将恢复主节点作为资源主节点的过程中,可以根据恢复主节点的标识信息,对当前资源主节点的信息进行同步,也即是,将恢复主节点作为资源主节点。

可选的,在根据修正信息将恢复主节点作为资源主节点的过程中,可根据修正信息,获取恢复主节点对应的标识信息,并根据该标识信息,将恢复主节点作为资源主节点。

由于本步骤405将恢复主节点作为资源主节点的过程,与步骤302中将恢复主节点作为资源主节点的过程类似,在此不再赘述。

步骤406、第二非资源主节点向第一非资源主节点反馈确认信息。

其中,该确认信息用于指示非资源主节点已将恢复主节点作为资源主节点,也即是,指示非资源主节点已对当前资源主节点的信息进行同步。

第二非资源主节点在将恢复主节点作为资源主节点后,可以向第一非资源主节点发送确认信息,以向第一非资源主节点告知第二非资源主节点已将恢复主节点作为资源主节点。

步骤407、第一非资源主节点接收其他多个非资源主节点中任意一个非资源主节点反馈的确认信息。

与步骤406相对应的,第一非资源主节点可以接收包括第二非资源主节点在内的多个非资源主节点反馈的确认信息,以便根据接收的确认信息,停止向反馈确认信息的各个非资源主节点继续发送修正信息。

另外,由于在步骤402中确定恢复主节点出现故障,则在dlm集群中的各个节点统一资源主节点后,剩余的各个非资源主节点可以竞选恢复主节点,并再次对资源进行恢复,也即是再次执行步骤401至步骤407,直至在步骤402中确认恢复主节点并未出现故障。

需要说明的是,在实际应用中,若dlm集群中包括4个节点,其中节点2为资源主节点,则节点2出现故障后,恢复资源的过程可以如下所示:

1、节点1、节点3和节点4竞争,节点3竞争到锁资源成为恢复主节点。

2、节点3分别向节点1和节点4发送dlm_begin_reco_msg消息,从而通知节点1和节点4开始恢复资源。

其中,该dlm_begin_reco_msg消息为节点3竞争成为恢复主节点后发送的信息,用于表示节点3开始恢复锁信息,并用于指示各个非资源主节点向恢复主节点发送各个非资源主节点自身的锁副本,以便恢复主节点根据各个非资源主节点发送的锁副本恢复锁信息。

例如,该dlm_begin_reco_msg消息可以包括恢复主节点的标识信息,则各个非资源主节点可以根据该标识信息,向恢复主节点发送锁副本。

3、节点1和节点4向节点3发送各自的锁副本。

4、节点3在接收节点1和节点4发送的锁副本,完成锁副本的收集后,将节点3作为新的资源主节点。

5、节点3依次向节点1和节点4发送dlm_finalize_reco_msg消息(更新信息)。

6、节点1接收dlm_finalize_reco_msg消息,将节点3作为新的资源主节点,但是由于节点3在发送dlm_finalize_reco_msg消息的过程中出现故障,节点4并未收到该dlm_finalize_reco_msg消息,节点4仍将节点2作为资源主节点。

7、节点1在接收dlm_finalize_reco_msg消息后,判断节点3是否出现故障。

8、若节点1确定节点3出现故障,则向节点4发送dlm_reassert_finalize_reco_msg消息(修正信息)。

9、节点4接收dlm_reassert_finalize_reco_msg消息,并根据该消息将节点3作为新的资源主节点,最后向节点1反馈完成资源主节点重置的确认信息。

10、节点1接收节点4发送的确认信息。

11、由于节点3出现故障,节点1与节点4再次竞争恢复主节点。

12、节点1或节点4对资源恢复完成后,dlm系统中的资源主节点仅为节点1或节点4。

综上所述,本公开实施例提供的共享文件系统维护方法,通过接收恢复主节点在竞争到锁资源且将恢复主节点置为当前资源主节点之后发送的更新信息,该更新信息用于同步当前资源主节点的信息,若恢复主节点出现故障,则可以向其他多个非资源主节点发送修正信息,该修正信息用于向其他多个非资源主节点同步当前资源主节点的信息。通过在接收恢复主节点发送的更新信息后,若确定恢复主节点出现故障,则可以通过广播的方式向其他各个非资源主节点发送修正信息,使得其他各个非资源主节点可以根据修正信息对当前资源主节点的信息进行同步,避免了恢复主节点出现故障时部分非资源主节点无法根据恢复主节点发送的更新信息对当前资源主节点的信息进行同步的问题,提高了dlm集群中各个节点的信息一致性。

图5为本公开一实施例提供的共享文件系统维护装置的示意图,应用于如图1所示的多个非资源主节点中的第一非资源主节点,如图5所示,该装置具体包括:

第一接收模块501,用于接收该恢复主节点在竞争到锁资源且将该恢复主节点置为当前资源主节点之后发送的更新信息,该更新信息用于同步该当前资源主节点的信息;

发送模块502,用于若该恢复主节点出现故障,向其他多个该非资源主节点发送修正信息,该修正信息用于向其他多个该非资源主节点同步该当前资源主节点的信息。

可选的,该发送模块502,具体用于读取该恢复主节点对应的资源数据;若成功读取该恢复主节点对应的资源数据,确定该恢复主节点并未出现故障;若读取该恢复主节点对应的资源数据失败,则向其他多个该非资源主节点发送该修正信息。

可选的,参见图6,该装置还包括:

第二接收模块503,用于接收其他多个该非资源主节点中任意一个该非资源主节点反馈的确认信息,该确认信息用于指示该非资源主节点已将该恢复主节点作为该资源主节点。

可选的,该发送模块502,还具体用于若恢复主节点出现故障,按照其他多个该非资源主节点的标识信息,依次向各个该非资源主节点发送该修正信息。

综上所述,本公开实施例提供的共享文件系统维护装置,通过接收恢复主节点在竞争到锁资源且将恢复主节点置为当前资源主节点之后发送的更新信息,该更新信息用于同步当前资源主节点的信息,若恢复主节点出现故障,则可以向其他多个非资源主节点发送修正信息,该修正信息用于向其他多个所述非资源主节点同步所述当前资源主节点的信息。通过在接收恢复主节点发送的更新信息后,若确定恢复主节点出现故障,则可以通过广播的方式向其他各个非资源主节点发送修正信息,使得其他各个非资源主节点可以根据修正信息对当前资源主节点的信息进行同步,避免了恢复主节点出现故障时部分非资源主节点无法根据恢复主节点发送的更新信息对当前资源主节点的信息进行同步的问题,提高了dlm集群中各个节点的信息一致性。

图7为本公开另一实施例提供的共享文件系统维护装置的示意图,应用于如图1所示的多个非资源主节点中的第二非资源主节点,如图7所示,该装置具体包括:

接收模块701,用于接收第一非资源主节点发送的修正信息,该修正信息用于指示将恢复主节点作为资源主节点;

确定模块702,用于根据该修正信息将恢复主节点作为资源主节点。

可选的,该确定模块702,具体用于根据该修正信息,获取恢复主节点对应的标识信息,根据该标识信息,将该恢复主节点作为资源主节点。

综上所述,本公开实施例提供的共享文件系统维护装置,第二非资源主节点通过接收第一非资源主节点发送的修正信息,并根据该修正信息将恢复主节点作为资源主节点。通过接收第一非资源主节点发送的修正信息,可以根据该修正信息指示第二非资源主节点将恢复主节点作为新的资源主节点,避免了dlm系统中出现多个资源主节点的情况,提高了dlm集群中各个节点的信息一致性。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图8为本公开一实施例提供的共享文件系统维护装置的示意图,该装置可以集成于终端设备或者终端设备的芯片,该终端可以是具备共享文件系统维护功能的计算设备。

该装置包括:存储器801、处理器802。

存储器801用于存储程序,处理器802调用存储器801存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本公开还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本公开各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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