两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)存儲方法、服務(wù)器以及存儲系統(tǒng)與流程

文檔序號:12665155閱讀:229來源:國知局
一種數(shù)據(jù)存儲方法、服務(wù)器以及存儲系統(tǒng)與流程

本發(fā)明實(shí)施例涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲方法、服務(wù)器以及存儲系統(tǒng)。



背景技術(shù):

隨著存儲容量的不斷增大,存儲系統(tǒng)中服務(wù)器、硬盤數(shù)量也在增加,如何保證在出現(xiàn)節(jié)點(diǎn)、硬盤或網(wǎng)絡(luò)等故障的情況下,還能保證新寫入存儲系統(tǒng)的數(shù)據(jù)的可靠性成為日益迫切的需求。

現(xiàn)有技術(shù)中,如圖1a所示,存儲系統(tǒng)1中任意一個(gè)服務(wù)器均包括多個(gè)邏輯分組,如圖1a所示,服務(wù)器10包括多個(gè)邏輯分組,例如,邏輯分組101、邏輯分組102以及邏輯分組103,每個(gè)邏輯分組包括一個(gè)或多個(gè)硬盤,例如,邏輯分組101包括硬盤(Disk)1011、Disk1012以及Disk1013。服務(wù)器10將待存入數(shù)據(jù)(包括M個(gè)原始數(shù)據(jù)和N個(gè)冗余數(shù)據(jù),其中,N個(gè)冗余數(shù)據(jù)為M個(gè)原始數(shù)據(jù)的校驗(yàn)和)以邏輯分組為粒度存入一個(gè)邏輯分組中,例如,如圖1b所示,服務(wù)器10將原始數(shù)據(jù)寫入Disk1011中,將冗余數(shù)據(jù)寫入Disk1012和Disk1013中。

但是,如圖1b所示,在Disk(硬盤)1011故障時(shí),原始數(shù)據(jù)則不能成功存入Disk1011中,使得存入邏輯分組101的數(shù)據(jù),會出現(xiàn)降級寫(指源數(shù)據(jù)由于邏輯分組中的硬盤故障不能寫入完整的原始數(shù)據(jù)和冗余數(shù)據(jù)),并且數(shù)據(jù)出現(xiàn)降級寫后,若在一個(gè)邏輯分組中再次出現(xiàn)硬盤故障,則會導(dǎo)致數(shù)據(jù)丟失,從而降低寫入該邏輯分組的數(shù)據(jù)的可靠性。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的實(shí)施例提供一種數(shù)據(jù)存儲方法、服務(wù)器以及存儲系統(tǒng),用以解決現(xiàn)有技術(shù)中若邏輯分組中任意一個(gè)硬盤故障時(shí),造成的存儲該邏輯分組的數(shù)據(jù)出現(xiàn)降級寫的問題。

為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:

第一方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲方法,應(yīng)用于存儲系統(tǒng)中,存儲系統(tǒng)包括多個(gè)服務(wù)器,多個(gè)服務(wù)器中每個(gè)服務(wù)器包括至少一個(gè)邏輯分組,至少一個(gè)邏輯分組中每個(gè)邏輯分組包括多個(gè)硬盤,本發(fā)明實(shí)施例提供方法包括:第一服務(wù)器在確定第一服務(wù)器的第一邏輯分組中的第一硬盤故障時(shí),獲取目標(biāo)硬盤的標(biāo)識;目標(biāo)硬盤為存儲系統(tǒng)包括的硬盤中與所述第一硬盤不同的硬盤,第一服務(wù)器為所述多個(gè)服務(wù)器中的一個(gè);第一服務(wù)器根據(jù)標(biāo)識,將目標(biāo)數(shù)據(jù)存儲至標(biāo)識所指示的目標(biāo)硬盤中;目標(biāo)數(shù)據(jù)為待存儲至第一服務(wù)器的源數(shù)據(jù)中待存儲至第一硬盤的數(shù)據(jù);第一服務(wù)器將源數(shù)據(jù)中除所述目標(biāo)數(shù)據(jù)之外的其余數(shù)據(jù),存儲至第一邏輯分組中除第一硬盤之外的其余硬盤中。

本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲方法,通過在確定第一邏輯分組中的第一硬盤故障時(shí),從存儲系統(tǒng)的管理模塊處獲取目標(biāo)硬盤的標(biāo)識,然后將該標(biāo)識指示的目標(biāo)硬盤作為臨時(shí)成員盤用于存儲待存入第一硬盤的數(shù)據(jù),這樣能夠在第一硬盤故障時(shí),及時(shí)將待存入第一硬盤的數(shù)據(jù)臨時(shí)記錄到目標(biāo)硬盤中,保證了源數(shù)據(jù)能夠在存儲系統(tǒng)中寫入完整份數(shù)的冗余數(shù)據(jù)和原始數(shù)據(jù),從而保證了源數(shù)據(jù)不存在降級寫(指源數(shù)據(jù)由于邏輯分組中的硬盤故障不能寫入完整的原始數(shù)據(jù)和冗余數(shù)據(jù),并且,目標(biāo)硬盤是從整個(gè)存儲系統(tǒng)包括的多個(gè)硬盤中選擇的,這樣所選擇的目標(biāo)硬盤可以位于第一邏輯分組中,也可以不位于第一邏輯分組中,能夠有效的平衡存儲系統(tǒng)的容量。

結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,源數(shù)據(jù)包括M份原始數(shù)據(jù)和N份冗余數(shù)據(jù),M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中每份數(shù)據(jù)均攜帶版本號;一份數(shù)據(jù)的版本號用于指示數(shù)據(jù)是否有效;N、M均為大于或等于1的正整數(shù);M大于N,第一服務(wù)器將源數(shù)據(jù)中除目標(biāo)數(shù)據(jù)之外的其余數(shù)據(jù),存儲至第一邏輯分組中除第一硬盤之外的其余硬盤中之后,本發(fā)明實(shí)施例提供的方法還包括:第一服務(wù)器接收客戶端發(fā)送的用于讀取源數(shù)據(jù)的讀數(shù)據(jù)業(yè)務(wù)請求;第一服務(wù)器根據(jù)讀數(shù)據(jù)業(yè)務(wù)請求,從第一邏輯分組以及目標(biāo)硬盤中分別讀取M份原始數(shù)據(jù)和N份冗余數(shù)據(jù),以及每份數(shù)據(jù)的版本號;第一服務(wù)器根據(jù)每份數(shù)據(jù)的版本號,從M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中確定至少M(fèi)份有效數(shù)據(jù);第一服務(wù)器根據(jù)至少M(fèi)份有效數(shù)據(jù)獲取源數(shù)據(jù),以及將源數(shù)據(jù)返回給客戶端。

結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,第一服務(wù)器根據(jù)每份數(shù)據(jù)的版本號,從M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中確定至少M(fèi)份有效數(shù)據(jù),包括:第一服務(wù)器若確定M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中存在M份或M份以上的數(shù)據(jù)的版本號一致,則確定M或M份以上的數(shù)據(jù)中的每份數(shù)據(jù)均為有效數(shù)據(jù)。

結(jié)合第一方面至第一方面的第二種可能的實(shí)現(xiàn)方式中的任意一種實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,第一服務(wù)器在其余硬盤中的每個(gè)硬盤以及所述目標(biāo)硬盤中存儲有操作日志,一個(gè)硬盤的操作日志用于指示存儲在所述一個(gè)硬盤中的數(shù)據(jù)的偏移量,一個(gè)數(shù)據(jù)的偏移量用于指示所述數(shù)據(jù)在其存儲的硬盤中的地址偏移量,本發(fā)明實(shí)施例提供的方法還包括:第一服務(wù)器在確定第一硬盤的狀態(tài)為正常時(shí),根據(jù)操作日志則將目標(biāo)數(shù)據(jù)從目標(biāo)硬盤中回遷至第一硬盤中。

結(jié)合第一方面至第一方面的第三種可能的實(shí)現(xiàn)方式中,在第一方面的第四種可能的實(shí)現(xiàn)方式中,從存儲系統(tǒng)的管理模塊處獲取目標(biāo)硬盤的標(biāo)識之前,本發(fā)明實(shí)施例提供的方法還包括:第一服務(wù)器向管理模塊發(fā)送用于指示所述管理模塊從所述存儲系統(tǒng)包括的多個(gè)硬盤或者所述多個(gè)硬盤中除屬于所述第一邏輯分組之外的其余硬盤中選擇一個(gè)用于存儲所述目標(biāo)數(shù)據(jù)的硬盤,作為目標(biāo)硬盤的第一請求消息;第一服務(wù)器接收所述管理模塊發(fā)送的攜帶有目標(biāo)硬盤標(biāo)識的第一響應(yīng)消息,目標(biāo)硬盤為所述管理模塊根據(jù)預(yù)設(shè)策略從所述多個(gè)硬盤或者所述多個(gè)硬盤中除屬于第一邏輯分組之外的其余硬盤中所選擇。

結(jié)合第一方面至第一方面的第四種可能的實(shí)現(xiàn)方式中,在第一方面的第五種可能的實(shí)現(xiàn)方式中,預(yù)設(shè)策略為按照多個(gè)硬盤中每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級,將多個(gè)硬盤中除第一硬盤之外的其余硬盤中預(yù)設(shè)優(yōu)先等級最高的硬盤確定為目標(biāo)硬盤。

第二方面,本發(fā)明實(shí)施例提供一種服務(wù)器,應(yīng)用于存儲系統(tǒng)中,存儲系統(tǒng)包括多個(gè)服務(wù)器,多個(gè)服務(wù)器中每個(gè)服務(wù)器包括至少一個(gè)邏輯分組,至少一個(gè)邏輯分組中每個(gè)邏輯分組包括多個(gè)硬盤,服務(wù)器包括:接收單元,用于在確定第一邏輯分組中的第一硬盤故障時(shí),從存儲系統(tǒng)的管理模塊處獲取目標(biāo)硬盤的標(biāo)識;目標(biāo)硬盤為管理模塊在接收到第一服務(wù)器發(fā)送的第一請求消息后,根據(jù)預(yù)設(shè)策略從所述存儲系統(tǒng)包括的多個(gè)硬盤中選擇的,第一邏輯分組位于第一服務(wù)器中,第一服務(wù)器為存儲系統(tǒng)包括的多個(gè)服務(wù)器中任意一個(gè);存儲單元,用于根據(jù)標(biāo)識,將目標(biāo)數(shù)據(jù)存儲至標(biāo)識所指示的目標(biāo)硬盤中;目標(biāo)數(shù)據(jù)為待存儲至第一服務(wù)器的源數(shù)據(jù)中待存儲至第一硬盤的數(shù)據(jù);存儲單元,還用于將源數(shù)據(jù)中除目標(biāo)數(shù)據(jù)之外的其余數(shù)據(jù),存儲至第一邏輯分組中除第一硬盤之外的其余硬盤中。

結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,源數(shù)據(jù)包括M份原始數(shù)據(jù)和N份冗余數(shù)據(jù),M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中每份數(shù)據(jù)均攜帶版本號;一份數(shù)據(jù)的版本號用于指示數(shù)據(jù)是否有效;N、M均為大于或等于1的正整數(shù),M大于N,接收單元,用于接收客戶端發(fā)送的用于讀取源數(shù)據(jù)的讀數(shù)據(jù)業(yè)務(wù)請求;讀取單元,用于根據(jù)讀數(shù)據(jù)業(yè)務(wù)請求,從第一邏輯分組以及目標(biāo)硬盤中分別讀取M份原始數(shù)據(jù)和N份冗余數(shù)據(jù),以及每份數(shù)據(jù)的版本號;確定單元,用于根據(jù)每份數(shù)據(jù)的版本號,從M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中確定至少M(fèi)份有效數(shù)據(jù);響應(yīng)單元,用于根據(jù)至少M(fèi)份有效數(shù)據(jù)獲取源數(shù)據(jù),以及將源數(shù)據(jù)返回給客戶端。

結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式中,在第二方面的第二種可能的實(shí)現(xiàn)方式中,獲取單元具體用于,若確定M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中存在M份或M份以上的數(shù)據(jù)的版本號一致,則確定M或M份以上的數(shù)據(jù)中的每份數(shù)據(jù)均為有效數(shù)據(jù)。

結(jié)合第二方面至第二方面的第二種可能的實(shí)現(xiàn)方式中,在第二方面的第三種可能的實(shí)現(xiàn)方式中,存儲單元還用于:在其余硬盤中的每個(gè)硬盤以及目標(biāo)硬盤中存儲有操作日志,一個(gè)硬盤的操作日志用于指示存儲在一個(gè)硬盤中的數(shù)據(jù)的偏移量,一個(gè)數(shù)據(jù)的偏移量用于指示所述數(shù)據(jù)在其存儲的硬盤中的地址偏移量,以及用于在確定第一硬盤的狀態(tài)為正常時(shí),根據(jù)操作日志則將所述目標(biāo)數(shù)據(jù)從所述目標(biāo)硬盤中回遷至所述第一硬盤中。

結(jié)合第二方面至第二方面的第三種可能的實(shí)現(xiàn)方式中,在第二方面的第四種可能的實(shí)現(xiàn)方式中,服務(wù)器還包括發(fā)送單元,用于向管理模塊發(fā)送第一請求消息,第一請求消息用于指示管理模塊從存儲系統(tǒng)包括的多個(gè)硬盤或者多個(gè)硬盤中除屬于第一邏輯分組之外的其余硬盤中選擇一個(gè)硬盤,作為目標(biāo)硬盤;接收單元,還用于接收管理模塊發(fā)送的攜帶有所述管理模塊根據(jù)預(yù)設(shè)策略從所述多個(gè)硬盤或者所述多個(gè)硬盤中除屬于所述第一邏輯分組之外的其余硬盤中所選擇的目標(biāo)硬盤的第一響應(yīng)消息。

結(jié)合第二方面至第二方面的第四種可能的實(shí)現(xiàn)方式中,第二方面的第五種可能的實(shí)現(xiàn)方式中,預(yù)設(shè)策略為按照多個(gè)硬盤中每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級,將多個(gè)硬盤中預(yù)設(shè)優(yōu)先等級最高的硬盤確定為目標(biāo)硬盤。

第三方面,本發(fā)明實(shí)施例提供一種服務(wù)器,服務(wù)器包括處理器、存儲器和通信總線,該處理器和存儲器通過通信總線連接,該存儲器用于存儲軟件程序以及模塊,該處理器用于運(yùn)行軟件程序以及模塊,從而執(zhí)行:第一方面至第一方面的第六種可能的實(shí)現(xiàn)方式中任意一種可能的實(shí)現(xiàn)方式所描述的數(shù)據(jù)存儲方法。

第四方面,本發(fā)明實(shí)施例提供一種存儲系統(tǒng),該存儲系統(tǒng)中包括多個(gè)服務(wù)器,多個(gè)服務(wù)器中每個(gè)服務(wù)器包括至少一個(gè)邏輯分組,所述至少一個(gè)邏輯分組中每個(gè)邏輯分組包括多個(gè)硬盤,其中,每個(gè)服務(wù)器采用如第二方面任意一種可能的實(shí)現(xiàn)方式所描述的服務(wù)器。

第五方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲介質(zhì),用于儲存為第一方面所描述的數(shù)據(jù)存儲方法所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行第三方面所描述的服務(wù)器所設(shè)計(jì)的程序。

附圖說明

圖1a為現(xiàn)有技術(shù)提供的一種存儲系統(tǒng)的結(jié)構(gòu)示意圖;

圖1b為現(xiàn)有技術(shù)提供的一種數(shù)據(jù)存儲示意圖;

圖2a為本發(fā)明實(shí)施例提供的一種存儲系統(tǒng)的結(jié)構(gòu)示意圖;

圖2b為本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;

圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲方法的流程示意圖一;

圖4a為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲結(jié)構(gòu)示意圖一;

圖4b為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲結(jié)構(gòu)示意圖二;

圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲方法的流程示意圖二;

圖6為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲方法的流程示意圖三;

圖7為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲方法的流程示意圖四;

圖8a為本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖一;

圖8b為本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖二;

圖8c為本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖三。

具體實(shí)施方式

如圖2a所示,本發(fā)明實(shí)施例提供一種存儲系統(tǒng),該存儲系統(tǒng)2包括多個(gè)服務(wù)器(例如,服務(wù)器21、服務(wù)器22以及服務(wù)器23,一個(gè)或多個(gè)服務(wù)器之間通過交換機(jī)241和交換機(jī)242進(jìn)行連接。該存儲系統(tǒng)2包括的多個(gè)服務(wù)器中每個(gè)服務(wù)器包括一個(gè)或多個(gè)邏輯分組(例如,邏輯分組211、邏輯分組212以及邏輯分組213),一個(gè)邏輯分組用于存儲一個(gè)或多個(gè)源數(shù)據(jù),一個(gè)邏輯分組包括多個(gè)硬盤,如圖2a所示,邏輯分組211包括硬盤2111、硬盤2112以及硬盤2113,邏輯分組212包括硬盤2112、硬盤2121以及硬盤2122,為了保證每個(gè)硬盤的占用率均衡,一個(gè)硬盤可以屬于多個(gè)邏輯分組,如圖2a所示,硬盤2112既屬于邏輯分組211又屬于邏輯分組212,硬盤2113既屬于邏輯分組213又屬于邏輯分組211。在圖2a中僅示出了三個(gè)服務(wù)器(服務(wù)器21、服務(wù)器22和服務(wù)器23)以及三個(gè)邏輯分組(分別為邏輯分組211、邏輯分組212和邏輯分組213),但是可以理解的是,本發(fā)明實(shí)施例提供的存儲系統(tǒng)還可以包括更多或者更少的服務(wù)器,每個(gè)服務(wù)器也可以包括更多或者更少的邏輯分組。

本發(fā)明實(shí)施例提供的如圖2a所示的存儲系統(tǒng)設(shè)置有管理模塊25,該管理模塊25與多個(gè)服務(wù)器中每個(gè)服務(wù)器相連,用于獲取每個(gè)服務(wù)器包括的多個(gè)硬盤的信息,例如,多個(gè)硬盤的容量信息,多個(gè)硬盤的硬盤標(biāo)識,多個(gè)硬盤中每個(gè)硬盤所屬的邏輯分組的標(biāo)識,多個(gè)硬盤中每個(gè)硬盤的狀態(tài)等(例如,故障或者正常狀態(tài))。管理模塊用于按照預(yù)設(shè)周期周期性的更新存儲系統(tǒng)中每個(gè)硬盤的信息,并將每個(gè)硬盤的信息上報(bào)給該硬盤所在的服務(wù)器,以及用于在接收到服務(wù)器的請求消息(例如,第一請求消息)之后,根據(jù)服務(wù)器的請求消息從存儲系統(tǒng)包括的多個(gè)硬盤中或者從多個(gè)硬盤中除屬于第一邏輯分組之外的其余硬盤中選擇一個(gè)硬盤作為目標(biāo)硬盤。示例性的,管理模塊25,在存儲系統(tǒng)初始化成功后,查詢該存儲系統(tǒng)包括的每個(gè)硬盤的信息,然后將查詢到的每個(gè)硬盤的信息記錄在管理模塊25中,并將查詢到的每個(gè)硬盤的信息上報(bào)給對應(yīng)硬盤所在的服務(wù)器。

其中,如圖2b中所描述的任意一個(gè)服務(wù)器也可以稱為節(jié)點(diǎn),至少一個(gè)服務(wù)器為可以為客戶端提供服務(wù)的網(wǎng)絡(luò)設(shè)備,比如,服務(wù)器21、服務(wù)器22以及服務(wù)器23可以是具有服務(wù)器功能的計(jì)算機(jī)等。由于每個(gè)服務(wù)器的硬件結(jié)構(gòu)相同,本發(fā)明實(shí)施例以服務(wù)器21為例介紹圖2a所示的存儲系統(tǒng)系統(tǒng)中每個(gè)服務(wù)器的硬件架構(gòu),參見圖2b,服務(wù)器21包括存儲器2031、處理器2032、系統(tǒng)總線2033、電源組件2034、輸入\輸出接口2035和通信組件2036等。其中,存儲器2031可用于存儲數(shù)據(jù)、軟件程序以及模塊,主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),存儲程序區(qū)可存儲操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序等,存儲數(shù)據(jù)區(qū)可存儲服務(wù)器203的使用所創(chuàng)建的數(shù)據(jù)等。處理器2032通過運(yùn)行或執(zhí)行存儲在存儲器2031內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器2031內(nèi)的數(shù)據(jù),執(zhí)行服務(wù)器203的各種功能和處理數(shù)據(jù)。系統(tǒng)總線2033包括地址總線、數(shù)據(jù)總線、控制總線,用于傳輸數(shù)據(jù)和指令;電源組件2034用于為服務(wù)器203的各個(gè)組件提供電源;輸入\輸出接口2035為處理器2032和外圍接口模塊之間提供接口;通信組件2036用于為服務(wù)器21和其他設(shè)備之間進(jìn)行有線或無線方式的通信。在通信系統(tǒng)中,服務(wù)器21承擔(dān)著數(shù)據(jù)的存儲、轉(zhuǎn)發(fā)、發(fā)布等關(guān)鍵任務(wù),是各類基于客戶機(jī)/服務(wù)器(Client/Server,簡稱:C/S)模式或者瀏覽器/服務(wù)器(Browser/Server,簡稱:B/S)模式網(wǎng)絡(luò)中不可或缺的重要組成部分。

如圖3所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲方法,應(yīng)用于如圖2a所示的存儲系統(tǒng)中,存儲系統(tǒng)包括多個(gè)服務(wù)器,所述多個(gè)服務(wù)器中每個(gè)服務(wù)器包括至少一個(gè)邏輯分組,所述至少一個(gè)邏輯分組中每個(gè)邏輯分組包括多個(gè)硬盤,本發(fā)明實(shí)施例提供的方法包括:

S101、第一服務(wù)器在確定第一服務(wù)器的第一邏輯分組中的第一硬盤故障時(shí),獲取目標(biāo)硬盤的標(biāo)識;目標(biāo)硬盤為所述存儲系統(tǒng)包括的硬盤中與所述第一硬盤不同的硬盤,第一服務(wù)器為所述多個(gè)服務(wù)器中的一個(gè)。

S102、第一服務(wù)器根據(jù)標(biāo)識,將目標(biāo)數(shù)據(jù)存儲至標(biāo)識所指示的目標(biāo)硬盤中;目標(biāo)數(shù)據(jù)為待存儲至第一服務(wù)器的源數(shù)據(jù)中待存儲至第一硬盤的數(shù)據(jù)。

S103、將源數(shù)據(jù)中除目標(biāo)數(shù)據(jù)之外的其余數(shù)據(jù),存儲至第一邏輯分組中除第一硬盤之外的其余硬盤中。

本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲方法,通過在確定第一邏輯分組中的第一硬盤故障時(shí),從存儲系統(tǒng)的管理模塊處獲取目標(biāo)硬盤的標(biāo)識,然后將該標(biāo)識指示的目標(biāo)硬盤作為臨時(shí)成員盤用于存儲待存入第一硬盤的數(shù)據(jù),這樣能夠在第一硬盤故障時(shí),及時(shí)將待存入第一硬盤的數(shù)據(jù)臨時(shí)記錄到目標(biāo)硬盤中,保證了源數(shù)據(jù)能夠在存儲系統(tǒng)中寫入完整份數(shù)的冗余數(shù)據(jù)和原始數(shù)據(jù),從而保證了源數(shù)據(jù)不存在降級寫(降級寫指源數(shù)據(jù)由于邏輯分組中的硬盤故障不能寫入完整的原始數(shù)據(jù)和冗余數(shù)據(jù)),并且,目標(biāo)硬盤是從整個(gè)存儲系統(tǒng)包括的多個(gè)硬盤中選擇的,這樣所選擇的目標(biāo)硬盤可以位于第一邏輯分組中,也可以不位于第一邏輯分組中,能夠有效的平衡存儲系統(tǒng)的容量。

本發(fā)明實(shí)施例中當(dāng)?shù)谝环?wù)器確定位于其內(nèi)的第一硬盤故障時(shí),則向管理模塊25上報(bào)第一硬盤故障的指示信息,這樣管理模塊25可以根據(jù)其存儲的多個(gè)硬盤中每個(gè)硬盤的信息,確定能夠存儲目標(biāo)數(shù)據(jù)的目標(biāo)硬盤,并將所確定的目標(biāo)硬盤的標(biāo)識發(fā)送給第一服務(wù)器,以使得第一服務(wù)器根據(jù)該標(biāo)識確定用于暫時(shí)替代第一硬盤的目標(biāo)硬盤。

其中,目標(biāo)硬盤的標(biāo)識用于唯一識別目標(biāo)硬盤,示例性的,可以為目標(biāo)硬盤的IP地址,也可以為目標(biāo)硬盤的物理地址,本發(fā)明實(shí)施例對此不進(jìn)行限定。

本發(fā)明實(shí)施例中第一服務(wù)器將源數(shù)據(jù)以數(shù)據(jù)冗余方式存儲在第一邏輯分組中,具體的,第一服務(wù)器將源數(shù)據(jù)分為M份原始數(shù)據(jù)和N份冗余數(shù)據(jù),該M的值和N的值可以根據(jù)第一邏輯分組中硬盤的數(shù)量進(jìn)行設(shè)置。示例性的,該源數(shù)據(jù)為2M數(shù)據(jù),則可以將該2M的源數(shù)據(jù)分為兩份大小各為1M的原始數(shù)據(jù),并根據(jù)該兩份大小各為1M的原始數(shù)據(jù)獲取1份校驗(yàn)和作為一份冗余數(shù)據(jù),將兩份大小各1M的原始數(shù)據(jù)和一份冗余數(shù)據(jù)存入一個(gè)邏輯分組中。具體的,可以將每份原始數(shù)據(jù)分別存儲在該邏輯分組中的一個(gè)硬盤中,將一份冗余數(shù)據(jù)存儲在該一個(gè)邏輯分組中的一個(gè)其他硬盤中。

具體的,M和N之和可以小于或等于第一邏輯分組所包括的硬盤的數(shù)量,M大于N。

如圖4a所示,本發(fā)明實(shí)施例以第一服務(wù)器為服務(wù)器21,以源數(shù)據(jù)包括兩份原始數(shù)據(jù)(即M=2)和一份冗余數(shù)據(jù)(即N=1)為例進(jìn)行說明,該服務(wù)器21將源數(shù)據(jù)中的兩份原始數(shù)據(jù)分別存儲在硬盤2111和硬盤2112中,并將一份冗余數(shù)據(jù)存儲在硬盤2113中。

示例性的,如圖4a所示,以故障硬盤為硬盤2113為例進(jìn)行說明:當(dāng)服務(wù)器21確定第一邏輯分組211中的硬盤2113(即第一硬盤)故障時(shí),則服務(wù)器201從管理模塊25處獲取目標(biāo)硬盤的標(biāo)識,并將該目標(biāo)硬盤作為臨時(shí)成員盤,以用于存儲待存入第一硬盤的數(shù)據(jù),如圖4b中所示,服務(wù)器21將硬盤2114作為目標(biāo)硬盤,其中,該硬盤2114可以屬于第一邏輯分組211,也可以不屬于第一邏輯分組211,例如,硬盤2114可以為如圖2a所示的存儲系統(tǒng)中服務(wù)器22中的一個(gè)硬盤,或者該硬盤2114也可以為如圖2a所示的存儲系統(tǒng)中服務(wù)器21的第二邏輯組2112中的任意一個(gè)硬盤等。服務(wù)器21將待存入硬盤2113的冗余數(shù)據(jù)存入目標(biāo)硬盤(即硬盤2114)中。

若目標(biāo)硬盤位于第一服務(wù)器中,則第一服務(wù)器直接將目標(biāo)數(shù)據(jù)存儲至目標(biāo)硬盤中。

若目標(biāo)硬盤屬于存儲系統(tǒng)中第一服務(wù)器之外的其余服務(wù)器(例如,第二服務(wù)器),則第一服務(wù)器通過交換機(jī)向該第二服務(wù)器發(fā)送請求消息,該請求消息中攜帶有目標(biāo)數(shù)據(jù),該請求消息用于指示第二服務(wù)器將目標(biāo)數(shù)據(jù)寫入目標(biāo)硬盤中。

需要說明的是,若待存入硬盤2113的數(shù)據(jù)為文件1、文件2、文件3和文件4,在向硬盤2113中存入文件1、文件2后,硬盤2113故障,則只需要將文件3和文件4存儲到硬盤2114中。在讀取數(shù)據(jù)時(shí),可以根據(jù)需要直接從硬盤2114中讀取文件3和文件4即可。

具體的,結(jié)合圖3,如圖5所示,本發(fā)明實(shí)施例在步驟S101之前還可以包括步驟S104a和S104b:

S104a、第一服務(wù)器向存儲系統(tǒng)的管理模塊發(fā)送第一請求消息,該第一請求消息用于指示管理模塊從存儲系統(tǒng)包括的多個(gè)硬盤或者多個(gè)硬盤中除屬于第一邏輯分組之外的其余硬盤中選擇一個(gè)硬盤,作為目標(biāo)硬盤。

S104b、第一服務(wù)器接收管理模塊發(fā)送的第一響應(yīng)消息,第一響應(yīng)消息中攜帶有所述目標(biāo)硬盤的標(biāo)識,目標(biāo)硬盤為所述管理模塊根據(jù)預(yù)設(shè)策略從多個(gè)硬盤或者所述多個(gè)硬盤中除屬于第一邏輯分組之外的其余硬盤中所選擇。

具體的,該第一請求消息中攜帶有指示信息,該指示信息攜帶有第一硬盤的標(biāo)識以及第一硬盤所處的狀態(tài)為故障狀態(tài),管理模塊在接收到該第一請求消息后,根據(jù)該第一請求消息確認(rèn)第一硬盤故障后,一方面,管理模塊按照預(yù)設(shè)策略從存儲系統(tǒng)包括的多個(gè)硬盤中除第一硬盤之外的其余硬盤中選擇一個(gè)硬盤作為目標(biāo)硬盤,這樣所選擇的目標(biāo)硬盤可以屬于第一服務(wù)器的第一邏輯分組,也可以為存儲系統(tǒng)中除第一服務(wù)器之外的其余服務(wù)器上的硬盤。另一方面,管理模塊可以按照預(yù)設(shè)策略從存儲系統(tǒng)包括的多個(gè)硬盤中除屬于第一邏輯分組之外的其余硬盤中選擇一個(gè)硬盤,作為目標(biāo)硬盤,這樣做的目的可以避免所選擇的目標(biāo)硬盤位于第一邏輯分組。又一方面,管理模塊可以按照預(yù)設(shè)策略從存儲系統(tǒng)包括的多個(gè)硬盤中除屬于第一服務(wù)器之外的其余硬盤中選擇一個(gè)硬盤,作為目標(biāo)硬盤。

可選的,本發(fā)明實(shí)施例中的預(yù)設(shè)策略為按照多個(gè)硬盤中每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級,將多個(gè)硬盤中除第一硬盤之外的其余硬盤中預(yù)設(shè)優(yōu)先等級最高的硬盤確定為目標(biāo)硬盤。

可選的,本發(fā)明實(shí)施例中管理模塊可以根據(jù)每個(gè)硬盤的容量或者容量占用率等確定每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級。

示例性的,可以將多個(gè)硬盤中容量最大的硬盤確定為預(yù)設(shè)優(yōu)先等級最高的硬盤,然后按照容量由大到小的順序,依次設(shè)置每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級,即容量最大的硬盤的預(yù)設(shè)優(yōu)先等級最高,容量最小的硬盤的預(yù)設(shè)優(yōu)先等級最低。

或者可以將多個(gè)硬盤中容量占用率最低的硬盤確定為預(yù)設(shè)優(yōu)先等級最高的硬盤,然后按照容量占用率由低到高的順序依次設(shè)置每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級,即容量占用率最低的硬盤的預(yù)設(shè)優(yōu)先等級最高,容量占用率最高的硬盤的預(yù)設(shè)優(yōu)先等級最低。

本發(fā)明實(shí)施例通過根據(jù)多個(gè)硬盤中每個(gè)硬盤的容量選擇容量最大的硬盤作為目標(biāo)硬盤,或者根據(jù)多個(gè)硬盤中每個(gè)硬盤的容量占用率選擇容量占用率最低的硬盤作為目標(biāo)硬盤,這樣根據(jù)存儲系統(tǒng)中每個(gè)硬盤的容量或者容量占用率去選擇目標(biāo)硬盤,能夠均衡存儲系統(tǒng)中每個(gè)硬盤的容量。

需要說明的是,當(dāng)任意兩個(gè)或兩個(gè)以上的硬盤容量相等時(shí),則可以根據(jù)該兩個(gè)或兩個(gè)以上的硬盤中每個(gè)硬盤對應(yīng)的容量占用率來確定該兩個(gè)或兩個(gè)以上的硬盤中每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級。示例性的,將兩個(gè)或兩個(gè)以上的容量相等的硬盤中容量占用率按照容量占用率由低到高的順序排序,將兩個(gè)或兩個(gè)以上的容量相等的硬盤中容量占用率最低的硬盤的預(yù)設(shè)優(yōu)先等級設(shè)置為最高(在兩個(gè)或兩個(gè)以上的容量相等的硬盤中),將兩個(gè)或兩個(gè)以上的容量相等的硬盤中容量占用率最高的硬盤的預(yù)設(shè)優(yōu)先等級設(shè)置為最低(在兩個(gè)或兩個(gè)以上的容量相等的硬盤中),。例如,硬盤A、硬盤B和硬盤C的容量分別為Q,但是硬盤A的容量占用率為50%,硬盤B的容量占用率為51%,硬盤C的容量占用率為49%,則在硬盤A、硬盤B和硬盤C中,可以設(shè)置硬盤C的預(yù)設(shè)優(yōu)先等級高于硬盤A的預(yù)設(shè)優(yōu)先等級,硬盤A的預(yù)設(shè)優(yōu)先等級高于硬盤B的預(yù)設(shè)優(yōu)先等級。

當(dāng)任意兩個(gè)或兩個(gè)以上的硬盤的容量占用率相等時(shí),則可以根據(jù)該兩個(gè)或兩個(gè)以上的容量占用率相等的硬盤中每個(gè)硬盤對應(yīng)的容量來確定兩個(gè)或兩個(gè)以上的容量占用率相等的硬盤中每個(gè)硬盤對應(yīng)的預(yù)設(shè)優(yōu)先等級。示例性的,可以將任意兩個(gè)或兩個(gè)以上的硬盤的容量占用率相等的硬盤中容量最大的硬盤確定為較高預(yù)設(shè)優(yōu)先等級的硬盤,然后按照兩個(gè)或兩個(gè)以上的容量占用率相等的硬盤中每個(gè)硬盤容量由高至低的順序依次設(shè)置每個(gè)硬盤的預(yù)設(shè)優(yōu)先等級。例如,硬盤A、硬盤B和硬盤C的預(yù)設(shè)優(yōu)先等級均為60%,但是硬盤A的容量為32G,硬盤B的容量為16G,硬盤C的容量為64G,則在硬盤A,硬盤B和硬盤C中,硬盤A的預(yù)設(shè)優(yōu)先等級高于硬盤B的預(yù)設(shè)優(yōu)先等級,但是,硬盤A的預(yù)設(shè)優(yōu)先等級低于硬盤C的預(yù)設(shè)優(yōu)先等級。

可選的,結(jié)合圖3,如圖6所示,本發(fā)明實(shí)施例提供的方法中,M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中每份數(shù)據(jù)均攜帶版本號,版本號用于指示每份數(shù)據(jù)是否有效,因此,在步驟S103之后,本發(fā)明實(shí)施例提供的方法還包括:

S105、第一服務(wù)器接收客戶端發(fā)送的讀數(shù)據(jù)業(yè)務(wù)請求,該讀數(shù)據(jù)業(yè)務(wù)請求用于讀取源數(shù)據(jù)。

具體的,該讀數(shù)據(jù)業(yè)務(wù)請求中攜帶有源數(shù)據(jù)的標(biāo)識。

可以理解的是,第一服務(wù)器中存儲有記錄表,該記錄表用于記錄源數(shù)據(jù)包括的M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)具體位于哪個(gè)邏輯分組。

S106、第一服務(wù)器根據(jù)讀數(shù)據(jù)業(yè)務(wù)請求,從第一邏輯分組以及目標(biāo)硬盤中分別讀取所述M份原始數(shù)據(jù)和所述N份冗余數(shù)據(jù),以及每份數(shù)據(jù)的版本號。

需要說明的是,此時(shí)若第一硬盤的狀態(tài)從故障狀態(tài)恢復(fù)為正常狀態(tài),則第一服務(wù)器還需要從該第一硬盤中獲取,在第一硬盤故障之前該源數(shù)據(jù)中已存儲在第一硬盤中的數(shù)據(jù),以及源數(shù)據(jù)中已存儲在第一硬盤中的數(shù)據(jù)的版本號。

S107、第一服務(wù)器根據(jù)每份數(shù)據(jù)的版本號,從M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中確定至少M(fèi)份有效數(shù)據(jù)。

示例性的,第一服務(wù)器在將源數(shù)據(jù)寫入第一邏輯分組時(shí),將源數(shù)據(jù)分為兩份原始數(shù)據(jù),然后根據(jù)EC(ErasureCode,數(shù)據(jù)校驗(yàn)擦除碼)算法計(jì)算出一份冗余數(shù)據(jù)。第一服務(wù)器在根據(jù)客戶端發(fā)送的用于讀取源數(shù)據(jù)的讀數(shù)據(jù)業(yè)務(wù)請求時(shí),只需要在這三份數(shù)據(jù)(即兩份原始數(shù)據(jù)和一份冗余數(shù)據(jù))中找出兩份有效數(shù)據(jù),就可以通過EC算法計(jì)算出源數(shù)據(jù)。

S108、第一服務(wù)器根據(jù)至少M(fèi)份有效數(shù)據(jù)獲取源數(shù)據(jù),以及將源數(shù)據(jù)返回給客戶端。

可選的,結(jié)合圖6,本發(fā)明實(shí)施例提供的步驟S107可以通過以下方式實(shí)現(xiàn):

S1071、第一服務(wù)器若確定所述M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中存在M份或M份以上的數(shù)據(jù)的版本號一致,則確定M或M份以上的數(shù)據(jù)中的每份數(shù)據(jù)均為有效數(shù)據(jù)。

本發(fā)明實(shí)施例通過設(shè)置源數(shù)據(jù)包括的M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中每份數(shù)據(jù)的版本號,這樣即使存儲至目標(biāo)硬盤中的目標(biāo)數(shù)據(jù)沒有回遷至第一硬盤之前,也可以根據(jù)版本號獲取M份原始數(shù)據(jù)和N份冗余數(shù)據(jù)中的至少M(fèi)份有效數(shù)據(jù),并根據(jù)至少M(fèi)份有效數(shù)據(jù)獲取源數(shù)據(jù),這樣使得客戶端能夠在目標(biāo)數(shù)據(jù)沒有回遷至第一硬盤之前,也可以讀取源數(shù)據(jù),增強(qiáng)了存儲系統(tǒng)可用性。

可選的,結(jié)合圖3所示,本發(fā)明實(shí)施例還包括步驟S109:

S109、第一服務(wù)器在其余硬盤中的每個(gè)硬盤以及目標(biāo)硬盤中存儲有操作日志,一個(gè)所述硬盤的操作日志用于指示存儲在一個(gè)硬盤中的數(shù)據(jù)的偏移量,一個(gè)數(shù)據(jù)的偏移量用于指示數(shù)據(jù)在其存儲的硬盤中的地址偏移量。

本發(fā)明實(shí)施例通過將操作日志存儲在每個(gè)硬盤中,這樣當(dāng)?shù)谝环?wù)器重啟時(shí),可以避免操作日志因?yàn)榈谝环?wù)器的重啟而丟失的問題,因?yàn)楝F(xiàn)有技術(shù)中將操作日志存儲在第一服務(wù)器的內(nèi)存中,這樣當(dāng)?shù)谝环?wù)器重啟后操作日志將丟失,第一服務(wù)器只能根據(jù)整盤重構(gòu)回遷目標(biāo)數(shù)據(jù),使得目標(biāo)數(shù)據(jù)回遷至第一硬盤的時(shí)間變長,因此,本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比,根據(jù)操作日志回遷目標(biāo)數(shù)據(jù),能夠降低目標(biāo)數(shù)據(jù)回遷至第一硬盤的時(shí)間。

本發(fā)明實(shí)施例中在執(zhí)行步驟S102和103的同時(shí)可以執(zhí)行S109,也可以在執(zhí)行完步驟S102和S103之后再執(zhí)行S109,本發(fā)明實(shí)施例對此不進(jìn)行限定,可以理解的是,該步驟102和103與S109的順序?qū)Ρ景l(fā)明實(shí)施例的技術(shù)方案不構(gòu)成影響,只有最終能夠保證每個(gè)硬盤中均存儲有操作日志即可。

可選的,結(jié)合圖3,如圖7所示,本發(fā)明實(shí)施例提供的方法還包括:

S110、第一服務(wù)器在確定第一硬盤的狀態(tài)為正常時(shí),根據(jù)操作日志則將所述目標(biāo)數(shù)據(jù)從目標(biāo)硬盤中回遷至第一硬盤中。

具體的,當(dāng)該目標(biāo)硬盤屬于第一服務(wù)器時(shí),該第一服務(wù)器可以直接將存儲在該目標(biāo)硬盤上的目標(biāo)數(shù)據(jù)回遷至第一硬盤中。

當(dāng)該目標(biāo)硬盤不屬于第一服務(wù)器(例如,該目標(biāo)硬盤屬于如圖2a所示的服務(wù)器22)時(shí),該第一服務(wù)器可以向該目標(biāo)硬盤所在的服務(wù)器(例如,如圖2a所示的服務(wù)器22)發(fā)送請求消息,該請求消息用于指示該目標(biāo)硬盤所在的服務(wù)器將目標(biāo)數(shù)據(jù)發(fā)送給第一服務(wù)器,然后第一服務(wù)器接收該目標(biāo)硬盤所在的服務(wù)器反饋的目標(biāo)數(shù)據(jù),并將目標(biāo)數(shù)據(jù)存儲在第一硬盤中。

本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲介質(zhì),用于儲存為第一方面所描述的數(shù)據(jù)存儲方法所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述實(shí)施例的服務(wù)器所設(shè)計(jì)的程序。

上述主要從服務(wù)器的角度對本發(fā)明實(shí)施例提供的方案進(jìn)行了介紹。可以理解的是,服務(wù)器等為了實(shí)現(xiàn)上述功能,其包含了執(zhí)行各個(gè)功能相應(yīng)的硬件結(jié)構(gòu)和/或軟件模塊。本領(lǐng)域技術(shù)人員應(yīng)該很容易意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,本發(fā)明能夠以硬件或硬件和計(jì)算機(jī)軟件的結(jié)合形式來實(shí)現(xiàn)。某個(gè)功能究竟以硬件還是計(jì)算機(jī)軟件驅(qū)動硬件的方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

本發(fā)明實(shí)施例可以根據(jù)上述方法示例對服務(wù)器等進(jìn)行功能模塊的劃分,例如,可以對應(yīng)各個(gè)功能劃分各個(gè)功能模塊,也可以將兩個(gè)或兩個(gè)以上的功能集成在一個(gè)處理模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。需要說明的是,本發(fā)明實(shí)施例中對模塊的劃分是示意性的,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。

在采用對應(yīng)各個(gè)功能劃分各個(gè)功能模塊的情況下,圖8a示出了上述實(shí)施例中所涉及的服務(wù)器的一種可能的結(jié)構(gòu)示意圖,服務(wù)器1包括:接收單元10,存儲單元11。接收單元10用于支持服務(wù)器1執(zhí)行上述實(shí)施例描述的過程S101,S104b,S105;存儲單元11用于支持服務(wù)器執(zhí)行上述實(shí)施例中所描述的步驟S102、S103,S109,S110,。當(dāng)然,本發(fā)明實(shí)施例提供的服務(wù)器1還可以包括讀取單元、響應(yīng)單元以及發(fā)送單元,發(fā)送單元用于支持服務(wù)器1執(zhí)行上述實(shí)施例中的S104a,確定單元,用于支持服務(wù)器執(zhí)行上述實(shí)施例中所描述的步驟S107(具體的,S1071),響應(yīng)單元,用于支持服務(wù)器執(zhí)行上述實(shí)施例中所描述的S108,該讀取單元用于支持服務(wù)器1執(zhí)行上述實(shí)施例中的過程S106。其中,上述方法實(shí)施例涉及的各步驟的所有相關(guān)內(nèi)容均可以援引到對應(yīng)功能模塊的功能描述,在此不再贅述。

在采用集成的單元的情況下,圖8b示出了上述實(shí)施例中所涉及的服務(wù)器的一種可能的結(jié)構(gòu)示意圖。服務(wù)器1包括:處理模塊102和通信模塊103。處理模塊102用于對服務(wù)器1的動作進(jìn)行控制管理,例如,處理模塊102用于支持服務(wù)器1執(zhí)行實(shí)施例中所描述的步驟S101、S102、S103、S104a、S104b、S105、S106、S107(具體的包括S1071)、S108、S109以及S110,和/或用于本文所描述的技術(shù)的其它過程。通信模塊103用于支持服務(wù)器與其他網(wǎng)絡(luò)實(shí)體的通信,(例如,與管理模塊25以及存儲系統(tǒng)中除第一服務(wù)器之外的其余服務(wù)器進(jìn)行通信以及與客戶端進(jìn)行通信),服務(wù)器1還可以包括存儲模塊101,用于存儲服務(wù)器1的程序代碼和數(shù)據(jù)。

其中,處理模塊102可以是處理器或控制器,例如可以是中央處理器(Central Processing Unit,CPU),通用處理器,數(shù)字信號處理器(Digital Signal Processor,DSP),專用集成電路(Application-Specific Integrated Circuit,ASIC),現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、晶體管邏輯器件、硬件部件或者其任意組合。其可以實(shí)現(xiàn)或執(zhí)行結(jié)合本發(fā)明公開內(nèi)容所描述的各種示例性的邏輯方框,模塊和電路。所述處理器也可以是實(shí)現(xiàn)計(jì)算功能的組合,例如包含一個(gè)或多個(gè)微處理器組合,DSP和微處理器的組合等等。通信模塊103可以是收發(fā)器、收發(fā)電路或通信接口1013等。存儲模塊101可以是存儲器。

當(dāng)處理模塊102為處理器1012,通信模塊103為通信接口1013,存儲模塊101為存儲器時(shí),本發(fā)明實(shí)施例所涉及的服務(wù)器1可以為圖8c所示的服務(wù)器。

參閱圖8c所示,該服務(wù)器1包括:處理器1012、通信接口1013、存儲器1011以及總線1014。其中,通信接口1013、處理器1012以及存儲器1011通過總線1014相互連接;總線1014可以是外設(shè)部件互連標(biāo)準(zhǔn)(Peripheral Component Interconnect,PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(Extended Industry Standard Architecture,EISA)總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖8c中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。

在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。所述存儲介質(zhì)是非短暫性(英文:non-transitory)介質(zhì),包括:快閃存儲器、移動硬盤、只讀存儲器、隨機(jī)存取存儲器、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
新密市| 安塞县| 五大连池市| 关岭| 澄江县| 潜江市| 枞阳县| 封丘县| 廊坊市| 杂多县| 延庆县| 肇庆市| 民县| 离岛区| 南郑县| 道孚县| 石首市| 西藏| 定结县| 大关县| 习水县| 新竹县| 阿克陶县| 彝良县| 商河县| 湖北省| 嵊泗县| 吴桥县| 黑河市| 扎囊县| 长武县| 奉化市| 陇川县| 庆城县| 丰县| 余姚市| 通河县| 宜黄县| 建水县| 谷城县| 长宁区|