本發(fā)明涉及存儲技術領域,特別是涉及一種存儲集群系統(tǒng)的仲裁方法、裝置及存儲系統(tǒng)。
背景技術:
存儲集群系統(tǒng)通常包括多個存儲端。為了保證系統(tǒng)運行的可靠性,多個存儲端中通常有一些處于活躍狀態(tài),用于提供存儲服務,另一些處于熱備狀態(tài),保持與處于活躍狀態(tài)的存儲端的同步更新;這樣,當存儲端出現(xiàn)故障不能提供存儲服務時,熱備狀態(tài)的存儲端能夠接管存儲服務,從而保證服務的繼續(xù)進行。
然而,存儲集群系統(tǒng)通常面臨的問題是腦裂,這往往是由于存儲端的仲裁判斷異常導致的。目前,多個存儲端之間通過心跳線相互連接,相互發(fā)送心跳信息以判斷對方是否存活;當存在兩個存儲端的心跳線斷開時,則這兩個存儲端均認為對方異常,進一步,兩個存儲端均會提供存儲服務,這樣會導致數(shù)據(jù)異常甚至存儲集群系統(tǒng)的崩潰。
因此,如何能夠提高存儲集群系統(tǒng)的仲裁可靠性,是本領域技術人員亟需解決的技術問題。
技術實現(xiàn)要素:
鑒于以上所述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供一種存儲集群系統(tǒng)的仲裁方法、裝置及存儲系統(tǒng)以解決現(xiàn)有技術中存儲集群系統(tǒng)的仲裁可靠性差的問題。
為實現(xiàn)上述目的及其他相關目的,根據(jù)本發(fā)明的第一方面,本發(fā)明實施例提供一種存儲集群系統(tǒng)的仲裁方法,該方法包括以下步驟:
當接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息;其中,所述狀態(tài)信息至少包括服務標識,用于描述存儲端能否提供存儲服務;
當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。
可選地,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息之前,還包括:
當所述狀態(tài)信息還包括活躍序號時,判斷所述活躍序號是否需要更新;其中,所述活躍序號用于指示存儲集群系統(tǒng)使用活躍序號對應的存儲端提供存儲服務;
當所述活躍序號需要更新時,將所述活躍序號更新為當前的存儲端序號;
所述向下級存儲端發(fā)送當前存儲端的狀態(tài)信息包括,將當前存儲端的服務標識和更新后的活躍序號發(fā)送到下級存儲端。
可選地,所述判斷所述活躍序號是否需要更新,包括:
當上級存儲端的服務標識為異常、且當前存儲端的服務標識為存活時,確定所述活躍序號需要更新。
可選地,所述判斷所述活躍序號是否需要更新,包括:
如果當前存儲端的服務標識為存活,且當前存儲端序號小于所述活躍序號,確定所述活躍序號需要更新。
可選地,所述第一通信方式包括有線通信,所述第二通信方式包括無線通信;或者,所述第一通信方式包括無線通信,所述第二通信方式包括有線通信。
可選地,所述存儲端均處于相鄰存儲端的無線通信范圍內(nèi)。
根據(jù)本發(fā)明的第二方面,本發(fā)明實施例還提供一種存儲集群系統(tǒng)的仲裁裝置,該裝置包括:
第一發(fā)送模塊,用于當接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息;其中,狀態(tài)信息至少包括服務標識,用于描述存儲端能否提供存儲服務;
第二發(fā)送模塊,用于當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。
可選地,該裝置還包括更新模塊用于,
當所述狀態(tài)信息還包括活躍序號時,判斷所述活躍序號是否需要更新;其中,所述活躍序號用于指示存儲集群系統(tǒng)使用活躍序號對應的存儲端提供存儲服務;
當所述活躍序號需要更新時,將所述活躍序號更新為當前的存儲端序號;
所述第一發(fā)送模塊,還用于當所述活躍序號需要更新時,將當前存儲端的服務標識和更新后的活躍序號以第一通信方式發(fā)送到下級存儲端;
所述第二發(fā)送模塊,還用于將當前存儲端的服務標識和更新后的活躍序號以第二通信方式發(fā)送到下級存儲端。
可選地,所述更新模塊還用于,
當上級存儲端的服務標識為異常、且當前存儲端的服務標識為存活時,確定所述活躍序號需要更新;
或者,
如果當前存儲端的服務標識為存活,且當前存儲端序號小于所述活躍序號,確定所述活躍序號需要更新。
根據(jù)本發(fā)明的第三方面,本發(fā)明實施例還提供一種存儲系統(tǒng),該存儲系統(tǒng)包括多個存儲端,其中,所述多個存儲端中任意兩個存儲端之間通過第一通信方式和第二通信方式通信連接;當前存儲端接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息;狀態(tài)信息至少包括服務標識,用于描述存儲端能否提供存儲服務;當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。
如上所述,本發(fā)明實施例提供的一種存儲集群系統(tǒng)的仲裁方法、裝置及存儲系統(tǒng),具有以下有益效果:通過當接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息;其中,所述狀態(tài)信息至少包括服務標識,用于描述存儲端能否提供存儲服務;當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。本發(fā)明實施例中各個存儲端之間以第一通信方式無法通信時,還能夠調(diào)整為以第二通信方式進行互聯(lián),從而保證各個存儲端之間能夠進行狀態(tài)信息的交互,具有很高的穩(wěn)定性,基于穩(wěn)定的狀態(tài)信息交互有效提高了存儲端仲裁的可靠性。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領域普通技術人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種存儲集群系統(tǒng)的仲裁方法的流程示意圖;
圖2是本發(fā)明實施例提供的另一種存儲集群系統(tǒng)的仲裁方法的流程示意圖;
圖3是本發(fā)明實施例提供的一種存儲集群系統(tǒng)的仲裁裝置的結構示意圖;
圖4是本發(fā)明實施例提供的另一種存儲集群系統(tǒng)的仲裁裝置的結構示意圖;
圖5是本發(fā)明實施例提供的一種存儲系統(tǒng)的結構示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發(fā)明中的技術方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
請參閱圖1至圖5。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構想,遂圖示中僅顯示與本發(fā)明中有關的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。
通常的存儲集群系統(tǒng)由多個存儲端構成;多個存儲端可以共享一個多個存儲物理硬件設備(例如硬盤)構成的存儲資源池,或者,每個存儲端可以分別對應自身的存儲物理硬件設備;存儲端能夠向計算節(jié)點(例如服務器)提供存儲服務。多個存儲端之間通過心跳線和/或仲裁線相連接,每個存儲端能夠向存儲集群系統(tǒng)中的其他存儲端發(fā)送狀態(tài)信息,以表示自己的健康狀況;一示例性實施例中,所述狀態(tài)信息為異常時,表示該存儲端不能提供存儲服務器,所述狀態(tài)信息為存活時,表示該存儲端能夠提供存儲服務。一種常用的仲裁機制是,根據(jù)所述狀態(tài)信息是否為異?;虼婊?,對每個存儲端進行投票,投票最低的存儲端認為是發(fā)生存儲服務異常的存儲端;進一步,從存儲集群系統(tǒng)中將發(fā)生存儲服務異常的存儲端去除,由其他存儲端提供存儲服務。通過上述存儲集群系統(tǒng),能夠保證在任何一個存儲端發(fā)生存儲服務異常的情況下,該系統(tǒng)依然能夠提供正常的存儲服務,從而保證存儲的冗余能力以及服務可靠性。當然,需要說明的是,上述存儲集群系統(tǒng)僅是一示例性實施例,本發(fā)明實施例提供的存儲集群系統(tǒng)的仲裁方法,可以應用于其他任意架構的存儲集群系統(tǒng),在本發(fā)明實施例中不做限定。
參見圖1,是本發(fā)明實施例提供的一種存儲集群系統(tǒng)的仲裁方法的流程示意圖,如圖1所示,該方法包括以下步驟:
步驟s101:當接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息;其中,所述狀態(tài)信息至少包括服務標識,用于描述存儲端能否提供存儲服務。
在本發(fā)明實施例中,所述存儲集群系統(tǒng)可以包括第一存儲端、第二存儲端以及第三存儲端。第一存儲端與第二存儲端、第二存儲端與第三存儲端、以及第三存儲端與第一存儲端之間均通過第一通信方式通信連接,這樣第一存儲端、第二存儲端以及第三存儲端能夠以第一通信方式互聯(lián)成一個通信環(huán)路;而且,第一存儲端與第二存儲端、第二存儲端與第三存儲端、以及第三存儲端與第一存儲端之間還可以通過第二通信方式通信連接,這樣第一存儲端、第二存儲端以及第三存儲端還能夠以第二通信方式互聯(lián)成第二通信環(huán)路。
而且,所述第一通信方式可以理解為有線方式、所述第二通信方式可以理解為無線方式。其中,所述有線方式可以包括通信線纜、心跳線、仲裁線以及通信總線中的一種或多種的組合;所述無線方式可以包括無線網(wǎng)絡、藍牙和zigbee(中文:基于ieee802.15.4標準的低功耗局域網(wǎng)協(xié)議)中的一種或多種的組合。當然,在具體實施時,所述第一通信方式還可以理解為無線通信方式,所述第二通信方式還可以理解為有線通信方式;或者所述第一通信方式可以理解為有線通信方式中的多種方式和無線通信方式中的多種方式中的任意一種,所述第二通信方式可以理解為除所述第一通信方式選擇的通信方式之外的、有線通信方式中的多種方式和無線通信方式中的多種的方式的任意一種。這樣,存儲端之間能夠通過至少兩種通信方式進行互聯(lián),當其中任意一種通信方式發(fā)生故障時,可以使用另一種通信方式進行通信交互,保證存儲端之間通信的穩(wěn)定性。
另外,需要說明的是,為了保證無線通信互聯(lián),每個存儲端均應處于相鄰存儲端的通信范圍內(nèi)。一示例性實施例中,當存儲端采用無線網(wǎng)卡進行通信互聯(lián),無線網(wǎng)卡的通信范圍為30m,則第一存儲端處于以第二存儲端為中心的30m通信范圍內(nèi),第二存儲端處于以第三存儲端為中心的30m通信范圍內(nèi),第三存儲端處于以第一存儲端為中心的30m通信范圍內(nèi)。由于在存儲系統(tǒng)集群系統(tǒng)的配置時,各個存儲端之間可能存在障礙物,此時為了保證無線通信穩(wěn)定,每個存儲端均應處于根據(jù)相鄰存儲端的通信范圍以及障礙物結構材質(zhì)確定的參考通信范圍內(nèi)。同樣以上述示例性實施例為例,所述無線網(wǎng)卡的通信范圍為30m,存儲端之間存在金屬材質(zhì)的障礙物、或者障礙物的厚度較厚時,可以確定參考通信范圍為10m,且需要保證,第一存儲端處于以第二存儲端為中心的10m通信范圍內(nèi),第二存儲端處于以第三存儲端為中心的10m通信范圍內(nèi),第三存儲端處于以第一存儲端為中心的10m通信范圍內(nèi)。
為了清楚描述本發(fā)明實例提供的存儲集群系統(tǒng)的仲裁方法,將以包括上述第一存儲端、第二存儲端以及第三存儲端的存儲集群系統(tǒng)為例,進行詳細描述。
當?shù)诙鎯Χ私邮盏缴霞壌鎯Χ税l(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送第二存儲端的狀態(tài)信息。所述上級存儲端和所述下級存儲端可以理解為根據(jù)第一存儲端、第二存儲端和第三存儲端構成的通信環(huán)路的通信方向確定的上級存儲端或下級存儲端。當?shù)谝淮鎯Χ藢⑵錉顟B(tài)信息發(fā)送到第二存儲端,第二存儲端將其狀態(tài)信息發(fā)送到第三存儲端,以及第三存儲端將其狀態(tài)信息發(fā)送到第一存儲端時,相對于第二存儲端而言,所述上級存儲端可以理解為第一存儲端,所述下級存儲端可以理解為第二存儲端。
所述狀態(tài)信息可以包括服務標識,所述服務標識用于描述存儲端能否提供存儲服務。一示例性實施例中,第二存儲端向第三存儲端發(fā)送第二存儲端的狀態(tài)信息,當所述狀態(tài)信息中的服務標識為異常時,表示第二存儲端不能提供存儲服務,當所述狀態(tài)信息中的服務器標識為存活時,表示第二存儲端能夠提供存儲服務。
步驟s102:當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。
當?shù)诙鎯Χ艘缘谝煌ㄐ欧绞较虻谌鎯Χ税l(fā)送狀態(tài)信息后,如果第二存儲端與第三存儲端之間通信正常,則第三存儲端將會向第二存儲端反饋通信成功回執(zhí)消息,用于表示第二存儲端與第三存儲端之間能夠正常通信;如果第二存儲端與第三存儲端之間通信異常,第三存儲端在參考時間內(nèi)未響應,則會向第二存儲端反饋通信失敗消息,用于表示第二存儲端與第三存儲端之間通信異常。
如果第二存儲端接收到通信失敗消息,將以第二通信方式向第三存儲端發(fā)送第二存儲端的狀態(tài)信息;如果第二存儲單接收到通信成功消息,將繼續(xù)以第一通信方式向第三存儲端發(fā)送第二存儲端的狀態(tài)信息。
當然需要說明的是,在具體實施過程中,當?shù)诙ㄐ欧绞椒答伝貋硗ㄐ攀∠⒑?,存儲端還可以以上述實施例所描述的其他通信方式,建立存儲端之間的通信連接,在本發(fā)明實施例中不再贅述。
由上述實施例的描述可見,本發(fā)明實施例提供的一種存儲集群系統(tǒng)的仲裁方法,通過當接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息;其中,所述狀態(tài)信息至少包括服務標識,用于描述存儲端能否提供存儲服務;當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。本發(fā)明實施例中各個存儲端之間以第一通信方式無法通信時,還能夠調(diào)整為以第二通信方式進行互聯(lián),從而保證各個存儲端之間能夠進行狀態(tài)信息的交互,具有很高的穩(wěn)定性,基于穩(wěn)定的狀態(tài)信息交互有效提高了存儲端仲裁的可靠性。
參見圖2,是本發(fā)明實施例提供的另一種存儲集群系統(tǒng)的仲裁方法的流程示意圖。如圖2所示,該方法包括以下步驟:
步驟s201:當接收到上級存儲端發(fā)送的狀態(tài)信息后,所述狀態(tài)信息還包括活躍序號時,判斷所述活躍序號是否需要更新;其中,所述活躍序號用于指示存儲集群系統(tǒng)使用活躍序號對應的存儲端提供存儲服務。
第二存儲端接收第一存儲端發(fā)送的第一存儲端的狀態(tài)信息,在本發(fā)明實施例中,所述狀態(tài)信息還包括活躍序號;其中,所述活躍序號用于指示存儲集群系統(tǒng)使用活躍序號對應的存儲端提供存儲服務。在一示例性實施例中,每個存儲端均對應一序號;第一存儲端對應第一序號,第二存儲端對應第二序號,第三存儲端對應第三序號,所述第一序號、第二序號和第三序號可以以自然數(shù)或者二進制數(shù)表示,在本發(fā)明實施例中不做限定。所述活躍序號可以為所述第一序號、第二序號和第三序號中的任意一個,當所述活躍序號為第一序號時,第一序號對應第一存儲端,則由第一存儲端提供存儲服務,第二存儲端和第二存儲端進行數(shù)據(jù)同步更新,以在第一存儲端發(fā)生宕機時,接替第一存儲端提供存儲服務。
為了判斷活躍序號是否需要進行更新,在第一種實施情況下,判斷所述活躍序號是否需要更新包括:當上級存儲端的服務標識為異常、且當前存儲端的服務標識為存活時,確定所述活躍序號需要更新。
第二存儲端接收到第一存儲端發(fā)送的第一存儲端的狀態(tài)信息,在所述第一存儲端的狀態(tài)信息中,所述活躍序號為第一序號,所述服務標識為異常,而且,所述第二存儲端的服務標識為存活時,表示第一存儲端不能提供存儲服務器,而第二存儲端能夠提供存儲服務,則確定所述活躍序號需要更新,在本發(fā)明實施例中,所述活躍序號更新為第二序號。在所述第一存儲端的狀態(tài)信息中,所述服務標識為正常,則表示第一存儲端能夠提供存儲服務,確定所述活躍序號不需要更新。在所述第一存儲端的狀態(tài)信息中,所述服務標識為異常,而第二存儲端的服務標識也為異常時,表示第一存儲端和第二存儲端均不能提供存儲服務,則確定第二存儲端無需進行活躍序號更新,需要由第三存儲端進行活躍序號更新判斷。
在存儲集群系統(tǒng)工作過程中,可能發(fā)生第一存儲端與第二存儲端的通信中斷,則第二存儲端根據(jù)仲裁機制,會將活躍序號更新為第二序號,從而要求存儲集群系統(tǒng)以第二存儲端提供存儲服務,而第一存儲端本身服務標識為存活,也會要求存儲集群系統(tǒng)以第一存儲端提供存儲服務,這樣會導致腦裂。為了保證仲裁判斷的可靠性,防止腦裂,在本發(fā)明實施例中,在服務標識為存活的情況下,可以確定存儲端序號最小或者最大的存儲端用于提供存儲服務,本發(fā)明實施例以序號最小的存儲端提供存儲服務為例進行詳細描述。在第二種實施情況下,判斷所述活躍序號是否需要更新包括:如果當前存儲端的服務標識為存活,且當前存儲端序號小于所述活躍序號,確定所述活躍序號需要更新。
第一存儲端接收到第三存儲端發(fā)送的第三存儲端的狀態(tài)信息,在所述第三存儲端的狀態(tài)信息中包括活躍序號為第二序號,而第一存儲端的服務標識為存活,第一存儲端的第一序號小于第二序號,則第一存儲端判定活躍序號需要更新。
步驟s202:當所述活躍序號需要更新時,將所述活躍序號更新為當前的存儲端序號。
根據(jù)步驟s201的活躍序號更新的判定結果,第二存儲端判定需要進行序號更新時,將活躍序號更新為第二序號;第一存儲端判定需要進行序號更新時,則將活躍序號更新為第一序號。
步驟s203:以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。
步驟s204:當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。
本發(fā)明實施例與上述實施例的相同之處,可參見上述實施例的描述,在此不再贅述。
由上述實施例的描述可見,本發(fā)明實施例提供的另一種存儲集群系統(tǒng)的仲裁方法,各個存儲端之間進行相互校驗判斷,從而確定需要提供存儲服務的存儲端,進一步提高了仲裁判斷的可靠性;而且,上述仲裁方法,無需配置第三方仲裁盤或者服務器進行仲裁判斷,有效降低了仲裁部署成本。
通過以上的方法實施例的描述,所屬領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:只讀存儲器(rom)、隨機存取存儲器(ram)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
與本發(fā)明提供的存儲集群系統(tǒng)的仲裁方法實施例相對應,本發(fā)明還提供了一種存儲集群系統(tǒng)的仲裁裝置。
參見圖3,是本發(fā)明實施例提供的一種存儲集群系統(tǒng)的仲裁裝置的結構示意圖。如圖3所示,該裝置包括:
第一發(fā)送模塊11,用于當接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息;其中,狀態(tài)信息至少包括服務標識,用于描述存儲端能否提供存儲服務;
第二發(fā)送模塊12,用于當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息。
參見圖4,是本發(fā)明實施例提供的另一種存儲集群系統(tǒng)的仲裁裝置的結構示意圖。如圖4所示,該裝置包括:
更新模塊21,用于當所述狀態(tài)信息還包括活躍序號時,判斷所述活躍序號是否需要更新;其中,所述活躍序號用于指示存儲集群系統(tǒng)使用活躍序號對應的存儲端提供存儲服務;當所述活躍序號需要更新時,將所述活躍序號更新為當前的存儲端序號;
第一發(fā)送模塊22,用于當接收到上級存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向下級存儲端發(fā)送當前存儲端的狀態(tài)信息,以及當所述活躍序號需要更新時,將當前存儲端的服務標識和更新后的活躍序號以第一通信方式發(fā)送到下級存儲端;
第二發(fā)送模塊23,用于當收到反饋回來的通信失敗消息后,以第二通信方式向下級存儲端發(fā)送當前存儲端的狀態(tài)信息,以及將當前存儲端的服務標識和更新后的活躍序號以第二通信方式發(fā)送到下級存儲端。
為了判斷活躍序號是否需要更新,所述更新模塊21還用于,
當上級存儲端的服務標識為異常、且當前存儲端的服務標識為存活時,確定所述活躍序號需要更新;
或者,
如果當前存儲端的服務標識為存活,且當前存儲端序號小于所述活躍序號,確定所述活躍序號需要更新。
本發(fā)明實施例還提供一種存儲系統(tǒng),參見圖5,是本發(fā)明實施例提供的一種存儲系統(tǒng)的結構示意圖。如圖5所示,該存儲系統(tǒng)3包括多個存儲端;一示例性實施例中,所述存儲系統(tǒng)3包括第一存儲端31、第二存儲端32以及第三存儲端33;第一存儲端31與第二存儲端32之間、第二存儲端32與第三存儲端33之間、以及第三存儲端33與第一存儲端31之間均通過第一通信方式和第二通信方式通信連接。
以第二存儲端為例,第二存儲端接收到第一存儲端發(fā)送的狀態(tài)信息后,以第一通信方式,向第三存儲端發(fā)送第二存儲端的狀態(tài)信息;狀態(tài)信息至少包括服務標識,用于描述第二存儲端能否提供存儲服務;當收到反饋回來的通信失敗消息后,以第二通信方式向第三存儲端發(fā)送第二存儲端的狀態(tài)信息。
而且,上述存儲系統(tǒng)可執(zhí)行本發(fā)明實施例所提供的方法,具備執(zhí)行方法相應的功能模塊和有益效果。未在本實施例中詳盡描述的技術細節(jié),可參見本發(fā)明實施例所提供的方法。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置及系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
需要說明的是,在本文中,諸如“第一”和“第二”等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述僅是本發(fā)明的具體實施方式,使本領域技術人員能夠理解或?qū)崿F(xiàn)本發(fā)明。對這些實施例的多種修改對本領域的技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。