一種網(wǎng)絡(luò)設(shè)備、集群存儲系統(tǒng)及分布式鎖管理方法
【專利摘要】本發(fā)明實施例提供了一種網(wǎng)絡(luò)設(shè)備、集群存儲系統(tǒng)及分布式鎖管理方法,涉及計算機(jī)領(lǐng)域,實現(xiàn)高性能高可用性的分布式鎖管理。本發(fā)明實施例采用的方法包括:通過部署在集群存儲系統(tǒng)的關(guān)鍵訪問路徑上的網(wǎng)絡(luò)設(shè)備接收第一節(jié)點發(fā)送的鎖申請信息,鎖申請信息包含第一節(jié)點申請訪問的資源標(biāo)識;根據(jù)第一節(jié)點申請訪問的資源標(biāo)識查詢鎖配置表,若確定第一鎖的狀態(tài)為未使用狀態(tài),則生成授權(quán)第一節(jié)點使用第一鎖的授權(quán)信息,并將授權(quán)信息發(fā)送至第一節(jié)點,其中,鎖配置表包含資源標(biāo)識信息、與資源標(biāo)識一一對應(yīng)的鎖、以及鎖的狀態(tài)信息,第一鎖為鎖配置表中與第一節(jié)點申請訪問的資源標(biāo)識對應(yīng)的鎖;授權(quán)信息包含第一鎖。
【專利說明】一種網(wǎng)絡(luò)設(shè)備、集群存儲系統(tǒng)及分布式鎖管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)設(shè)備、集群存儲系統(tǒng)及分布式鎖管理方法。
【背景技術(shù)】
[0002]隨著存儲領(lǐng)域的不斷發(fā)展,單個節(jié)點或一對節(jié)點已經(jīng)在性能、容量、可靠性方面難以滿足存儲的客戶需求,進(jìn)而有了向外擴(kuò)大(scale-out)集群存儲技術(shù),并得到了很大的發(fā)展。分布式鎖作為scale-out集群存儲技術(shù)中的一個重要技術(shù),主要負(fù)責(zé)多個節(jié)點對同一個資源的同時互斥訪問。當(dāng)節(jié)點需要對資源進(jìn)行訪問時,需要向分布式鎖管理設(shè)備申請授權(quán),當(dāng)節(jié)點獲取到對應(yīng)鎖的時候才能對加鎖資源進(jìn)行相關(guān)操作。所以,分布式鎖的性能高低、可用性以及可靠性直接影響到整個集群的性能、可用性和可靠性。
[0003]業(yè)界常用的兩種分布式鎖管理方法分別為中心式分布式鎖管理和去中心式分布式鎖管理;
[0004]中心式分布式鎖管理方法,將所有的鎖部署在一個節(jié)點上,通常為主節(jié)點,主節(jié)點管理了整個集群的所有鎖資源;當(dāng)節(jié)點需要訪問資源申請鎖的時候,需要通過節(jié)點間的通信網(wǎng)絡(luò)(通常為互為冗余的兩個心跳交換機(jī))向主節(jié)點申請對應(yīng)的鎖;
[0005]去中心式分布式鎖管理方法,將所有的鎖通過分布式哈希表(Distributed HashTable,簡稱DHT)算法或一致性散列(hash)算法布局到集群的所有節(jié)點之上,每個節(jié)點將負(fù)責(zé)一部分的鎖;在每個節(jié)點上設(shè)計一個代理(Proxy),用于通過節(jié)點間的心跳交換機(jī)向?qū)?yīng)的分布式鎖管理設(shè)備申請對應(yīng)的鎖資源,并將其緩存在本地Proxy中;當(dāng)節(jié)點需要訪問資源申請鎖的時候,將本節(jié)點內(nèi)的Proxy申請對應(yīng)的鎖資源,再由該Proxy通過節(jié)點間的心跳交換機(jī)向?qū)?yīng)的分布式鎖管理設(shè)備申請對應(yīng)的鎖。
[0006]發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少有以下缺點:對于中心式分布式鎖管理方法,當(dāng)有大量節(jié)點申請鎖資源時,主節(jié)點將成為整個集群的瓶頸,且當(dāng)主節(jié)點故障后,無法進(jìn)行鎖恢復(fù),使得集群存儲系統(tǒng)的性能及可用性下降。對于去中心式分布式鎖管理方法,當(dāng)多個節(jié)點同時發(fā)出鎖申請信息時,由于需要節(jié)點間的心跳交換機(jī)進(jìn)行來回通信,且當(dāng)某節(jié)點發(fā)生故障時,該節(jié)點管理的鎖需要恢復(fù)甚至遷移,使得集群存儲系統(tǒng)的性能及可用性下降。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例提供一種網(wǎng)絡(luò)設(shè)備、集群存儲系統(tǒng)及分布式鎖管理方法,實現(xiàn)高性能高可用性的分布式鎖管理。
[0008]為達(dá)到上述目的,本發(fā)明實施例采用的技術(shù)方案是,
[0009]第一方面,提供一種用于分布式鎖管理的網(wǎng)絡(luò)設(shè)備,應(yīng)用于集群存儲系統(tǒng),所述集群存儲系統(tǒng)包含所述網(wǎng)絡(luò)設(shè)備以及與所述網(wǎng)絡(luò)設(shè)備直接連接的各個節(jié)點,所述網(wǎng)絡(luò)設(shè)備包括:處理器,存儲器,以及通信交換芯片,
[0010]其中,所述存儲器用于,存儲鎖配置表,所述鎖配置表包含資源標(biāo)識、與所述資源標(biāo)識一一對應(yīng)的鎖、以及所述鎖的狀態(tài)信息;
[0011]所述通信交換芯片用于,接收第一節(jié)點發(fā)送的鎖申請信息,以及將所述鎖申請信息傳輸至所述處理器,其中,所述鎖申請信息包含所述第一節(jié)點申請訪問的資源標(biāo)識;
[0012]所述處理器用于,根據(jù)所述第一節(jié)點申請訪問的資源標(biāo)識查詢所述存儲器中的鎖配置表,若確定第一鎖的狀態(tài)為未使用狀態(tài),則生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息,并將所述授權(quán)信息傳輸至所述通信交換芯片,其中,所述第一鎖為所述鎖配置表中與所述第一節(jié)點申請訪問的資源標(biāo)識對應(yīng)的鎖,所述授權(quán)信息中包含所述第一鎖;
[0013]所述通信交換芯片還用于,將所述授權(quán)信息發(fā)送至所述第一節(jié)點。
[0014]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述網(wǎng)絡(luò)設(shè)備部署在集群存儲系統(tǒng)的關(guān)鍵訪問路徑上。
[0015]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,所述網(wǎng)絡(luò)設(shè)備與冗余網(wǎng)絡(luò)設(shè)備連接,其中,所述冗余網(wǎng)絡(luò)設(shè)備是與所述網(wǎng)絡(luò)設(shè)備通過硬件通道連接,且與所述網(wǎng)絡(luò)設(shè)備功能相同的網(wǎng)絡(luò)設(shè)備;
[0016]所述處理器還用于,將鎖狀態(tài)更改操作通過發(fā)送鎖狀態(tài)更改通知同步至所述冗余網(wǎng)絡(luò)設(shè)備,其中,所述鎖狀態(tài)更改通知包括第一鎖及第一鎖的第一狀態(tài);
[0017]或者,
[0018]所述處理器還用于,接收所述鎖狀態(tài)更改通知,根據(jù)所述鎖狀態(tài)更改通知的指示,將所述鎖配置表中第一鎖的狀態(tài)更改為第一狀態(tài)。
[0019]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述處理器還用于:
[0020]若確定所述第一鎖的狀態(tài)為使用狀態(tài),則根據(jù)所述鎖配置表,在所述第一鎖的狀態(tài)恢復(fù)為未使用狀態(tài)時,生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息。
[0021]結(jié)合第一方面、第一方面的第一種可能的實現(xiàn)方式至第一方面的第三種可能的實現(xiàn)方式任一項,在第一方面的第四種可能的實現(xiàn)方式中,所述處理器還用于:
[0022]在將所述授權(quán)信息傳輸給所述通信交換芯片之前,將所述鎖配置表中所述第一鎖的狀態(tài)修改為使用狀態(tài)。
[0023]結(jié)合第一方面、第一方面的第一種可能的實現(xiàn)方式至第一方面的第四種可能的實現(xiàn)方式任一項,在第一方面的第五種可能的實現(xiàn)方式中,其特征在于,
[0024]所述通信交換芯片還用于,接收所述第一節(jié)點發(fā)送的故障信息,以及將所述第一節(jié)點的故障信息傳輸至所述處理器;
[0025]所述處理器還用于,若確定所述第一鎖正在給所述第一節(jié)點授權(quán)使用,根據(jù)所述第一節(jié)點的故障信息,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài)。
[0026]結(jié)合第一方面、第一方面的第一種可能的實現(xiàn)方式至第一方面的第五種可能的實現(xiàn)方式任一項,在第一方面的第六種可能的實現(xiàn)方式中,
[0027]所述通信交換芯片還用于,接收所述第一節(jié)點發(fā)送的釋放所述第一鎖的通知,以及將所述第一節(jié)點釋放所述第一鎖的通知傳輸至所述處理器,其中,所述釋放所述第一鎖的通知包括所述第一鎖;
[0028]所述處理器還用于,根據(jù)所述第一節(jié)點釋放所述第一鎖的通知,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài),生成第一鎖回收成功的通知并傳輸至通信交換芯片;
[0029]所述通信交換芯片還用于,向所述第一節(jié)點發(fā)送所述第一鎖回收成功的通知。
[0030]第二方面、提供一種集群存儲系統(tǒng),包括,
[0031]如第五方面或上述任一種可能的實現(xiàn)方式所述的網(wǎng)絡(luò)設(shè)備;
[0032]與所述網(wǎng)絡(luò)設(shè)備連接的N個節(jié)點,其中,所述N大于等于2 ;
[0033]冗余網(wǎng)絡(luò)設(shè)備,所述冗余網(wǎng)絡(luò)設(shè)備與所述網(wǎng)絡(luò)設(shè)備通過硬件通道連接,且與所述網(wǎng)絡(luò)設(shè)備功能相同;
[0034]所述網(wǎng)絡(luò)設(shè)備還用于,將鎖狀態(tài)更改操作通過發(fā)送鎖狀態(tài)更改通知同步至所述冗余網(wǎng)絡(luò)設(shè)備,其中,所述鎖狀態(tài)更改通知包括第一鎖及第一鎖的第一狀態(tài);
[0035]所述冗余網(wǎng)絡(luò)設(shè)備用于,接收所述鎖狀態(tài)更改通知,根據(jù)所述鎖狀態(tài)更改通知的指示,將所述鎖配置表中第一鎖的狀態(tài)更改為第一狀態(tài)。
[0036]第三方面、提供一種分布式鎖管理方法,應(yīng)用于集群存儲系統(tǒng),所述集群存儲系統(tǒng)包含所述網(wǎng)絡(luò)設(shè)備以及與所述網(wǎng)絡(luò)設(shè)備直接連接的各個節(jié)點,所述方法包括:
[0037]所述網(wǎng)絡(luò)設(shè)備接收第一節(jié)點發(fā)送的鎖申請信息,所述鎖申請信息包含所述第一節(jié)點申請訪問的資源標(biāo)識;
[0038]所述網(wǎng)絡(luò)設(shè)備根據(jù)所述第一節(jié)點申請訪問的資源標(biāo)識查詢鎖配置表,若確定第一鎖的狀態(tài)為未使用狀態(tài),則生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息,并將所述授權(quán)信息發(fā)送至所述第一節(jié)點,其中,所述鎖配置表包含資源標(biāo)識信息、與所述資源標(biāo)識一一對應(yīng)的鎖、以及所述鎖的狀態(tài)信息,所述第一鎖為所述鎖配置表中與所述第一節(jié)點申請訪問的資源標(biāo)識對應(yīng)的鎖;所述授權(quán)信息包含所述第一鎖。
[0039]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,所述網(wǎng)絡(luò)設(shè)備部署在集群存儲系統(tǒng)的關(guān)鍵訪問路徑上。
[0040]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,所述方法還包括,
[0041]將鎖狀態(tài)更改操作通過發(fā)送鎖狀態(tài)更改通知同步至所述冗余網(wǎng)絡(luò)設(shè)備,其中,所述鎖狀態(tài)更改通知包括第一鎖及第一鎖的第一狀態(tài);
[0042]或者,
[0043]接收所述鎖狀態(tài)更改通知,根據(jù)所述鎖狀態(tài)更改通知的指示,將所述鎖配置表中第一鎖的狀態(tài)更改為第一狀態(tài)。所述網(wǎng)絡(luò)設(shè)備還用于,
[0044]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第三方面的第二種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,所述方法還包括:
[0045]所述網(wǎng)絡(luò)設(shè)備若確定所述第一鎖的狀態(tài)為使用狀態(tài),則根據(jù)所述鎖配置表,在所述第一鎖的狀態(tài)恢復(fù)為未使用狀態(tài)時,生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息并發(fā)送給所述第一節(jié)點。
[0046]結(jié)合第三方面、第三方面的第一種可能的實現(xiàn)方式至第三方面的第三種可能的實現(xiàn)方式任一項,在第三方面的第四種可能的實現(xiàn)方式中,在將所述授權(quán)信息發(fā)送給所述第一節(jié)點之前,所述方法還包括:
[0047]所述網(wǎng)絡(luò)設(shè)備將所述鎖配置表中所述第一鎖的狀態(tài)修改為使用狀態(tài)。
[0048]結(jié)合第三方面、第三方面的第一種可能的實現(xiàn)方式至第三方面的第四種可能的實現(xiàn)方式任一項,在第三方面的第五種可能的實現(xiàn)方式中,所述方法還包括:
[0049]所述網(wǎng)絡(luò)設(shè)備接收所述第一節(jié)點發(fā)送的故障信息;
[0050]所述網(wǎng)絡(luò)設(shè)備若確定所述第一鎖正在給所述第一節(jié)點授權(quán)使用,根據(jù)所述第一節(jié)點的故障信息,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài)。
[0051]結(jié)合第三方面、第三方面的第一種可能的實現(xiàn)方式至第三方面的第五種可能的實現(xiàn)方式任一項,在第三方面的第六種可能的實現(xiàn)方式中,所述方法還包括:
[0052]所述網(wǎng)絡(luò)設(shè)備接收所述第一節(jié)點發(fā)送的釋放所述第一鎖的通知,其中,所述釋放所述第一鎖的通知包括所述第一鎖;
[0053]所述網(wǎng)絡(luò)設(shè)備根據(jù)所述第一節(jié)點釋放所述第一鎖的通知,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài);
[0054]所述網(wǎng)絡(luò)設(shè)備向所述第一節(jié)點發(fā)送所述第一鎖回收成功的通知。
[0055]本發(fā)明提供一種網(wǎng)絡(luò)設(shè)備、集群存儲系統(tǒng)及分布式鎖管理方法,通過部署在集群存儲系統(tǒng)的關(guān)鍵訪問路徑上的網(wǎng)絡(luò)設(shè)備接收第一節(jié)點發(fā)送的鎖申請信息,所述鎖申請信息包含所述第一節(jié)點申請訪問的資源標(biāo)識;根據(jù)所述第一節(jié)點申請訪問的資源標(biāo)識查詢鎖配置表,若確定第一鎖的狀態(tài)為未使用狀態(tài),則生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息,并將所述授權(quán)信息發(fā)送至所述第一節(jié)點,其中,所述鎖配置表包含資源標(biāo)識信息、與所述資源標(biāo)識一一對應(yīng)的鎖、以及所述鎖的狀態(tài)信息,所述第一鎖為所述鎖配置表中與所述第一節(jié)點申請訪問的資源標(biāo)識對應(yīng)的鎖;所述授權(quán)信息包含所述第一鎖;實現(xiàn)高性能高可用性的分布式鎖管理。
【專利附圖】
【附圖說明】
[0056]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
[0057]圖1為本發(fā)明實施例提供的一種集群存儲系統(tǒng)的結(jié)構(gòu)示意圖;
[0058]圖2為本發(fā)明實施例提供的一種網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖;
[0059]圖3為本發(fā)明實施例提供的一種分布式鎖管理方法的流程示意圖;
[0060]圖4為本發(fā)明實施例提供的另一種分布式鎖管理方法的流程示意圖。
【具體實施方式】
[0061]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。
[0062]參見圖1,為一種集群存儲系統(tǒng),該集群存儲系統(tǒng)包含所述網(wǎng)絡(luò)設(shè)備20、與網(wǎng)絡(luò)設(shè)備20直接連接的各個節(jié)點以及與網(wǎng)絡(luò)設(shè)備20通過硬件通道連接的冗余網(wǎng)絡(luò)設(shè)備30,該網(wǎng)絡(luò)設(shè)備20部署在集群存儲系統(tǒng)的關(guān)鍵路徑上,當(dāng)多個節(jié)點同時發(fā)送鎖申請信息時,可以避免公共通路中的進(jìn)行來回通信,從而提高了分布式鎖的性能。
[0063]需要說明的是,將網(wǎng)絡(luò)設(shè)備20部署在集群存儲系統(tǒng)的關(guān)鍵路徑上,可以將網(wǎng)絡(luò)設(shè)備集群存儲系統(tǒng)的心跳交換機(jī)上或節(jié)點間的大背板上或其他關(guān)鍵路徑上,本發(fā)明對此不進(jìn)行限制。[0064]本發(fā)明實施例以將網(wǎng)絡(luò)設(shè)備20部署在集群存儲系統(tǒng)的心跳交換機(jī)為例,對分布式鎖管理進(jìn)行說明,例如,在圖1中所示的與各個節(jié)點直接連接的互為冗余的心跳交換機(jī)A和冗余心跳交換機(jī)B中分別部署網(wǎng)絡(luò)設(shè)備20和冗余網(wǎng)絡(luò)設(shè)備30 ;其中,心跳交換機(jī)可以包括常用的PCIe交換機(jī)、千兆以太網(wǎng)(Gigabit Ethernet,簡稱GE)交換機(jī)、萬兆以太網(wǎng)(IOGigabit Ethernet,簡稱 10GE)交換機(jī)、IB (InfiniBand)交換機(jī)等;
[0065]需要說明的是,參見圖1,該集群存儲系統(tǒng)的關(guān)鍵路徑,即互為冗余的心跳交換機(jī)A和冗余心跳交換機(jī)B中分別部署網(wǎng)絡(luò)設(shè)備20和冗余網(wǎng)絡(luò)設(shè)備30,冗余網(wǎng)絡(luò)設(shè)備30與網(wǎng)絡(luò)設(shè)備20完全相同,網(wǎng)絡(luò)設(shè)備和冗余網(wǎng)絡(luò)設(shè)備是相對的概念,互為冗余,其中任意一個均可作為主網(wǎng)絡(luò)設(shè)備,另外一個作為冗余網(wǎng)絡(luò)設(shè)備,兩個網(wǎng)絡(luò)設(shè)備20通過專用通道連接,主網(wǎng)絡(luò)設(shè)備可以將每次的操作通過專用通道同步至冗余網(wǎng)絡(luò)設(shè)備中,這種雙冗余鏡像同步的方式保證了數(shù)據(jù)的可靠性進(jìn)而提高了集群存儲系統(tǒng)的可靠性。
[0066]一方面,本發(fā)明實施例提供一種用于分布式鎖管理的網(wǎng)絡(luò)設(shè)備20,以圖1所示的集群存儲系統(tǒng)中的主網(wǎng)絡(luò)設(shè)備為例,描述網(wǎng)絡(luò)設(shè)備20的裝置結(jié)構(gòu)。
[0067]參見圖2,網(wǎng)絡(luò)設(shè)備20可以包括:處理器201,存儲器202,以及通信交換芯片203 ;
[0068]需要說明的是,網(wǎng)絡(luò)設(shè)備所包含的處理器201,存儲器202,以及通信交換芯片203可以復(fù)用網(wǎng)絡(luò)設(shè)備20在集群存儲系統(tǒng)中部署的關(guān)鍵路徑上的處理器、存儲器及通信交換芯片,也可以是單獨的處理器、存儲器及通信交換芯片,本發(fā)明對此不進(jìn)行具體限制。
[0069]存儲器202可以為隨機(jī)存取存儲器,并向處理器201提供指令和數(shù)據(jù)。存儲器202的一部分還可以包括非易失行隨機(jī)存取存儲器(NVRAM)。存儲器202可以用來存儲分布式鎖管理過程中分布式鎖管理設(shè)備包含的所有信息。
[0070]處理器201可能是一個中央處理器(Central Processing Unit,簡稱為CPU),或者是特定集成電路(Application Specific Integrated Circuit,簡稱為ASIC),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
[0071]其中,存儲器202可以用于存儲鎖配置表,鎖配置表包含資源標(biāo)識、與資源標(biāo)識一一對應(yīng)的鎖、以及鎖的狀態(tài)信息;
[0072]資源標(biāo)識是網(wǎng)絡(luò)設(shè)備20所管理的每個資源的唯一標(biāo)識;與資源標(biāo)識一一對應(yīng)的鎖是節(jié)點訪問與資源標(biāo)識對應(yīng)資源時需要使用的“鑰匙”節(jié)點需要訪問資源時,需要向網(wǎng)絡(luò)設(shè)備20申請;鎖的狀態(tài)信息是指示鎖是否被節(jié)點使用,可以包括使用狀態(tài)和未使用狀態(tài)。
[0073]鎖配置表中包含的資源標(biāo)識、與資源標(biāo)識一一對應(yīng)的鎖及鎖的狀態(tài)可以以表格的形式存儲于存儲器202中,例如,參見表1,為一種鎖配置表;需要說明的是,本發(fā)明實施例僅以表格形式為例說明存儲器202中的鎖配置表包含的內(nèi)容及內(nèi)容之間的對應(yīng)關(guān)系,當(dāng)然,鎖配置表還可以以其他形式存儲于存儲器202中,鎖配置表的具體形式可以根據(jù)實際需求進(jìn)行確定,本發(fā)明對此不進(jìn)行具體限定。
[0074]表I
[0075]
資源標(biāo)識I鎖I鎖的狀態(tài)~
WMi未使用狀態(tài)
【權(quán)利要求】
1.一種用于分布式鎖管理的網(wǎng)絡(luò)設(shè)備,其特征在于,應(yīng)用于集群存儲系統(tǒng),所述集群存儲系統(tǒng)包含所述網(wǎng)絡(luò)設(shè)備以及與所述網(wǎng)絡(luò)設(shè)備直接連接的各個節(jié)點,所述網(wǎng)絡(luò)設(shè)備包括:處理器,存儲器,以及通信交換芯片, 其中,所述存儲器用于,存儲鎖配置表,所述鎖配置表包含資源標(biāo)識、與所述資源標(biāo)識一一對應(yīng)的鎖、以及所述鎖的狀態(tài)信息; 所述通信交換芯片用于,接收第一節(jié)點發(fā)送的鎖申請信息,以及將所述鎖申請信息傳輸至所述處理器,其中,所述鎖申請信息包含所述第一節(jié)點申請訪問的資源標(biāo)識; 所述處理器用于,根據(jù)所述第一節(jié)點申請訪問的資源標(biāo)識查詢所述存儲器中的鎖配置表,若確定第一鎖的狀態(tài)為未使用狀態(tài),則生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息,并將所述授權(quán)信息傳輸至所述通信交換芯片,其中,所述第一鎖為所述鎖配置表中與所述第一節(jié)點申請訪問的資源標(biāo)識對應(yīng)的鎖,所述授權(quán)信息中包含所述第一鎖; 所述通信交換芯片還用于,將所述授權(quán)信息發(fā)送至所述第一節(jié)點。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備部署在集群存儲系統(tǒng)的關(guān)鍵訪問路徑上。
3.根據(jù)權(quán)利要求1或2所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備與冗余網(wǎng)絡(luò)設(shè)備連接,其中,所述冗余網(wǎng)絡(luò)設(shè)備是與 所述網(wǎng)絡(luò)設(shè)備通過硬件通道連接,且與所述網(wǎng)絡(luò)設(shè)備功能相同的網(wǎng)絡(luò)設(shè)備; 所述處理器還用于,將鎖狀態(tài)更改操作通過發(fā)送鎖狀態(tài)更改通知同步至所述冗余網(wǎng)絡(luò)設(shè)備,其中,所述鎖狀態(tài)更改通知包括第一鎖及第一鎖的第一狀態(tài);或者, 所述處理器還用于,接收所述鎖狀態(tài)更改通知,根據(jù)所述鎖狀態(tài)更改通知的指示,將所述鎖配置表中第一鎖的狀態(tài)更改為第一狀態(tài)。
4.根據(jù)權(quán)利要求1-3任一項所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述處理器還用于: 若確定所述第一鎖的狀態(tài)為使用狀態(tài),則根據(jù)所述鎖配置表,在所述第一鎖的狀態(tài)恢復(fù)為未使用狀態(tài)時,生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息。
5.根據(jù)權(quán)利要求1-4任一項所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述處理器還用于: 在將所述授權(quán)信息傳輸給所述通信交換芯片之前,將所述鎖配置表中所述第一鎖的狀態(tài)修改為使用狀態(tài)。
6.根據(jù)權(quán)利要求1-5任一項所述的網(wǎng)絡(luò)設(shè)備,其特征在于, 所述通信交換芯片還用于,接收所述第一節(jié)點發(fā)送的故障信息,以及將所述第一節(jié)點的故障信息傳輸至所述處理器; 所述處理器還用于,若確定所述第一鎖正在給所述第一節(jié)點授權(quán)使用,根據(jù)所述第一節(jié)點的故障信息,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài)。
7.根據(jù)權(quán)利要求1-6任一項所述的網(wǎng)絡(luò)設(shè)備,其特征在于, 所述通信交換芯片還用于,接收所述第一節(jié)點發(fā)送的釋放所述第一鎖的通知,以及將所述第一節(jié)點釋放所述第一鎖的通知傳輸至所述處理器,其中,所述釋放所述第一鎖的通知包括所述第一鎖; 所述處理器還用于,根據(jù)所述第一節(jié)點釋放所述第一鎖的通知,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài),生成第一鎖回收成功的通知并傳輸至通信交換芯片;所述通信交換芯片還用于,向所述第一節(jié)點發(fā)送所述第一鎖回收成功的通知。
8.一種集群存儲系統(tǒng),其特征在于,包括, 如權(quán)利要求1-7任一項所述的網(wǎng)絡(luò)設(shè)備; 與所述網(wǎng)絡(luò)設(shè)備連接的N個節(jié)點,其中,所述N大于等于2 ; 冗余網(wǎng)絡(luò)設(shè)備,所述冗余網(wǎng)絡(luò)設(shè)備與所述網(wǎng)絡(luò)設(shè)備通過硬件通道連接,且與所述網(wǎng)絡(luò)設(shè)備功能相同; 所述網(wǎng)絡(luò)設(shè)備用于,將鎖狀態(tài)更改操作通過發(fā)送鎖狀態(tài)更改通知同步至所述冗余網(wǎng)絡(luò)設(shè)備,其中,所述鎖狀態(tài)更改通知包括第一鎖及第一鎖的第一狀態(tài); 所述冗余網(wǎng)絡(luò)設(shè)備用于,接收所述鎖狀態(tài)更改通知,根據(jù)所述鎖狀態(tài)更改通知的指示,將所述鎖配置表中第一鎖的狀態(tài)更改為第一狀態(tài)。
9.一種分布式鎖管理方法,其特征在于,應(yīng)用于集群存儲系統(tǒng),所述集群存儲系統(tǒng)包含所述網(wǎng)絡(luò)設(shè)備以及與所述網(wǎng)絡(luò)設(shè)備直接連接的各個節(jié)點,所述方法包括: 所述網(wǎng)絡(luò)設(shè)備接收第一節(jié)點發(fā)送的鎖申請信息,所述鎖申請信息包含所述第一節(jié)點申請訪問的資源標(biāo)識; 所述網(wǎng)絡(luò)設(shè)備根據(jù)所述第一節(jié)點申請訪問的資源標(biāo)識查詢鎖配置表,若確定第一鎖的狀態(tài)為未使用狀態(tài),則生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息,并將所述授權(quán)信息發(fā)送至所述第一節(jié)點,其中,所述鎖配置表包含資源標(biāo)識信息、與所述資源標(biāo)識一一對應(yīng)的鎖、以及所述鎖的狀態(tài)信息,所述第一鎖為所述鎖配置表中與所述第一節(jié)點申請訪問的資源標(biāo)識對應(yīng)的鎖;所述授權(quán)信息包含所述第一鎖。
10.根據(jù)權(quán)利要求9所述的分布式鎖管理方法,其特征在于,所述網(wǎng)絡(luò)設(shè)備部署在集群存儲系統(tǒng)的關(guān)鍵訪問路徑上。
11.根據(jù)權(quán)利要求9或10所`述的分布式鎖管理方法,其特征在于,所述方法還包括, 將鎖狀態(tài)更改操作通過發(fā)送鎖狀態(tài)更改通知同步至所述冗余網(wǎng)絡(luò)設(shè)備,其中,所述鎖狀態(tài)更改通知包括所述第一鎖及第一狀態(tài); 或者, 接收所述鎖狀態(tài)更改通知,根據(jù)所述鎖狀態(tài)更改通知的指示,將所述鎖配置表中所述第一鎖的狀態(tài)更改為第一狀態(tài)。
12.根據(jù)權(quán)利要求9-11任一項所述的分布式鎖管理方法,其特征在于,所述方法還包括: 所述網(wǎng)絡(luò)設(shè)備若確定所述第一鎖的狀態(tài)為使用狀態(tài),則根據(jù)所述鎖配置表,在所述第一鎖的狀態(tài)恢復(fù)為未使用狀態(tài)時,生成授權(quán)所述第一節(jié)點使用所述第一鎖的授權(quán)信息并發(fā)送給所述第一節(jié)點。
13.根據(jù)權(quán)利要求9-12任一項所述的分布式鎖管理方法,其特征在于,在將所述授權(quán)信息發(fā)送給所述第一節(jié)點之前,所述方法還包括: 所述網(wǎng)絡(luò)設(shè)備將所述鎖配置表中所述第一鎖的狀態(tài)修改為使用狀態(tài)。
14.根據(jù)權(quán)利要求9-13任一項所述的分布式鎖管理方法,其特征在于,所述方法還包括: 所述網(wǎng)絡(luò)設(shè)備接收所述第一節(jié)點發(fā)送的故障信息; 所述網(wǎng)絡(luò)設(shè)備若確定所述第一鎖正在給所述第一節(jié)點授權(quán)使用,根據(jù)所述第一節(jié)點的故障信息,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài)。
15.根據(jù)權(quán)利要求9-14任一項所述的分布式鎖管理方法,其特征在于,所述方法還包括: 所述網(wǎng)絡(luò)設(shè)備接收所述第一節(jié)點發(fā)送的釋放所述第一鎖的通知,其中,所述釋放所述第一鎖的通知包括所述第一鎖; 所述網(wǎng)絡(luò)設(shè)備根據(jù)所述第一節(jié)點釋放所述第一鎖的通知,將所述鎖配置表中所述第一鎖的狀態(tài)修改為未使用狀態(tài); 所述網(wǎng)絡(luò)設(shè)備向所述第一節(jié)`點發(fā)送所述第一鎖回收成功的通知。
【文檔編號】H04L29/08GK103731485SQ201310728958
【公開日】2014年4月16日 申請日期:2013年12月26日 優(yōu)先權(quán)日:2013年12月26日
【發(fā)明者】胡華, 梁明旭, 易永江 申請人:華為技術(shù)有限公司