本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,更具體的說是涉及一種數(shù)據(jù)處理方法和裝置。
背景技術(shù):
現(xiàn)有的存儲(chǔ)系統(tǒng)大多數(shù)為雙節(jié)點(diǎn)存儲(chǔ)系統(tǒng),在一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),可以使用另一個(gè)節(jié)點(diǎn)來緩存數(shù)據(jù),從而保證業(yè)務(wù)的正常進(jìn)行。
近年來,為了進(jìn)一步提高數(shù)據(jù)緩存的安全性,在雙節(jié)點(diǎn)存儲(chǔ)系統(tǒng)的基礎(chǔ)上,提出了多節(jié)點(diǎn)存儲(chǔ)系統(tǒng),多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)仍沿用雙節(jié)點(diǎn)方式來進(jìn)行數(shù)據(jù)的緩存。具體的,針對(duì)某一數(shù)據(jù)進(jìn)行緩存時(shí),該數(shù)據(jù)的數(shù)據(jù)流會(huì)被轉(zhuǎn)發(fā)到任一節(jié)點(diǎn)上,從而出現(xiàn)數(shù)據(jù)不一致的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種數(shù)據(jù)處理方法和裝置,以解決現(xiàn)有技術(shù)中數(shù)據(jù)不一致的技術(shù)問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種數(shù)據(jù)處理方法,包括:
當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);所述目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,所述第一存儲(chǔ)單元為所述第一數(shù)據(jù)的寫入單元;
如果否,確定所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將所述第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至所述目的節(jié)點(diǎn),由所述目的節(jié)點(diǎn)將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
如果是,將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
優(yōu)選的,所述判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)之前,還包括:
判斷本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn);
如果是,觸發(fā)所述判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)的步驟;
如果否,觸發(fā)所述確定所述第一數(shù)據(jù)流的目的節(jié)點(diǎn)的步驟。
優(yōu)選的,所述將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層之后,還包括:
當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);
當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn);
其中,所述本節(jié)點(diǎn)的前置節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。
優(yōu)選的,所述確定所述第一數(shù)據(jù)流的目的節(jié)點(diǎn)包括:
從所述所屬節(jié)點(diǎn)和所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選取數(shù)據(jù)處理能力大的節(jié)點(diǎn)為目的節(jié)點(diǎn)。
優(yōu)選的,所述從所述所屬節(jié)點(diǎn)和所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選取數(shù)據(jù)處理能力大的節(jié)點(diǎn)為目的節(jié)點(diǎn),包括:
從所述所屬節(jié)點(diǎn)和所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中確定上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn);
確定除所述上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn)的另一節(jié)點(diǎn)為目的節(jié)點(diǎn)。
一種數(shù)據(jù)處理裝置,包括:
第一判斷單元,用于當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);所述目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,所述第一存儲(chǔ)單元為所述第一數(shù)據(jù)的寫入單元;
確定轉(zhuǎn)發(fā)單元,用于當(dāng)本節(jié)點(diǎn)不是所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),確定所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將所述第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至所述目的節(jié)點(diǎn),由所述目的節(jié)點(diǎn)將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
第一發(fā)送單元,用于當(dāng)本節(jié)點(diǎn)是所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
優(yōu)選的,還包括:
第二判斷單元,用于當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn);
第一觸發(fā)單元,用于當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn)時(shí),觸發(fā)所述第一判斷單元執(zhí)行判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)的操作;
第二觸發(fā)單元,用于當(dāng)本節(jié)點(diǎn)不是第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn)時(shí),觸發(fā)所述確定轉(zhuǎn)發(fā)單元執(zhí)行確定所述第一數(shù)據(jù)流的目的節(jié)點(diǎn)的操作。
優(yōu)選的,還包括:
第一鏡像單元,用于當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);
第二鏡像單元,用于當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn);
其中,所述本節(jié)點(diǎn)的前置節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。
優(yōu)選的,所述確定轉(zhuǎn)發(fā)單元包括:
第一確定模塊,用于當(dāng)本節(jié)點(diǎn)不是所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),從所述所屬節(jié)點(diǎn)和所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選取數(shù)據(jù)處理能力大的節(jié)點(diǎn)為目的節(jié)點(diǎn);
第一轉(zhuǎn)發(fā)模塊,用于將所述第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至所述目的節(jié)點(diǎn),由所述目的節(jié)點(diǎn)將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
優(yōu)選的,所述第一確定模塊具體用于從所述所屬節(jié)點(diǎn)和所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中確定上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn),從而確定除所述上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn)的另一節(jié)點(diǎn)為目的節(jié)點(diǎn)。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明公開提供了一種數(shù)據(jù)處理方法,具體的,當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,所第一存儲(chǔ)單元為所述第一數(shù)據(jù)的寫入單元;如果否,則確定出第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),最終由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。由此可見,本申請(qǐng)中的第一數(shù)據(jù)的數(shù)據(jù)流會(huì)轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)上,由目的節(jié)點(diǎn)緩存到緩存層,保證了數(shù)據(jù)的一致性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明公開的一種多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例一公開的一種數(shù)據(jù)處理方法的流程示意圖;
圖3為本發(fā)明實(shí)施例二公開的一種數(shù)據(jù)處理方法的流程示意圖;
圖4為本發(fā)明實(shí)施例三公開的一種數(shù)據(jù)處理方法的流程示意圖;
圖5為本發(fā)明實(shí)施例四公開的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例五公開的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例六公開的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
本發(fā)明實(shí)施一公開了一種數(shù)據(jù)處理方法,該數(shù)據(jù)處理方法應(yīng)用于多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中,具體的,圖1示出了本發(fā)明公開的一種多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖,如圖1所示,客戶端host與n個(gè)節(jié)點(diǎn)相連,n個(gè)節(jié)點(diǎn)組成一個(gè)節(jié)點(diǎn)組,其中,一個(gè)節(jié)點(diǎn)為與其相鄰的前一個(gè)節(jié)點(diǎn)的合作節(jié)點(diǎn),為與其相鄰的后一個(gè)節(jié)點(diǎn)的前置節(jié)點(diǎn)。也就是說,兩個(gè)相鄰的節(jié)點(diǎn)之間是單方合作關(guān)系,并不是互為合作關(guān)系。即,node1為node0的合作節(jié)點(diǎn),為node2的前置節(jié)點(diǎn);node2為node1的合作節(jié)點(diǎn),為node3的前置節(jié)點(diǎn),…以此類推。
需說明的是,多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)包括至少一個(gè)節(jié)點(diǎn)組,圖1以客戶端對(duì)應(yīng)一個(gè)節(jié)點(diǎn)組為例,當(dāng)然客戶端可以對(duì)應(yīng)多個(gè)節(jié)點(diǎn)組,本發(fā)明對(duì)此并不做限定。而每個(gè)節(jié)點(diǎn)組包括至少兩個(gè)節(jié)點(diǎn)。
圖2示出了一種數(shù)據(jù)處理方法的流程示意圖,如圖2所示,該方法包括以下步驟:
步驟201:當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);若否,進(jìn)入步驟202;若是,進(jìn)入步驟203;
本節(jié)點(diǎn)指代為其轉(zhuǎn)發(fā)層上接收到第一數(shù)據(jù)的數(shù)據(jù)流的節(jié)點(diǎn)。
其中,目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)。
第一存儲(chǔ)單元為第一數(shù)據(jù)的寫入單元,具體的,第一存儲(chǔ)單元為lun(logicalunitnumber,邏輯單元號(hào)),一個(gè)lun可以由一塊磁盤構(gòu)成,也可以由幾塊磁盤構(gòu)成,還可以由一塊磁盤上的部分空間構(gòu)成等等。
第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為擁有該第一存儲(chǔ)單元的節(jié)點(diǎn),該節(jié)點(diǎn)為第一存儲(chǔ)單元的指定節(jié)點(diǎn),用于將需要寫入第一存儲(chǔ)單元的數(shù)據(jù)寫入到第一存儲(chǔ)單元中。第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)為與第一存儲(chǔ)單元的所屬節(jié)點(diǎn)相鄰的節(jié)點(diǎn),由前文關(guān)于多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)的描述可知,第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)之間為單方向合作關(guān)系,第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)的前置節(jié)點(diǎn)。
當(dāng)客戶端下發(fā)的第一數(shù)據(jù)的數(shù)據(jù)流到達(dá)某一節(jié)點(diǎn)的轉(zhuǎn)發(fā)層后,該節(jié)點(diǎn)會(huì)判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)。
具體的,多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中每一節(jié)點(diǎn)上存儲(chǔ)有本節(jié)點(diǎn)的節(jié)點(diǎn)索引以及所有節(jié)點(diǎn)的位圖信息,因此,基于本節(jié)點(diǎn)的節(jié)點(diǎn)索引以及所有節(jié)點(diǎn)的位圖信息能夠判斷出本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)。例如,位圖信息為32位的整型值,即針對(duì)節(jié)點(diǎn)0-31。本節(jié)點(diǎn)的節(jié)點(diǎn)索引為第n位,那么,如果位圖信息的第n位置1則表示節(jié)點(diǎn)n上接收到的第一存儲(chǔ)單元的數(shù)據(jù)流需要轉(zhuǎn)發(fā),即節(jié)點(diǎn)n不是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),如果位圖信息的第n為置0則表示節(jié)點(diǎn)n上接收到的第一存儲(chǔ)單元的數(shù)據(jù)流不需要轉(zhuǎn)發(fā),即節(jié)點(diǎn)n是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)。也就是說,位圖信息中除了第一數(shù)據(jù)的數(shù)據(jù)流所屬的第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的位以及合作節(jié)點(diǎn)的位置0外,其余位均置1。
步驟202:確定第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送至緩存層;
當(dāng)確定本節(jié)點(diǎn)不是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),則可以從第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為目的節(jié)點(diǎn),從而將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn)的轉(zhuǎn)發(fā)層,由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送至目的節(jié)點(diǎn)的緩存層。
步驟203:將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
當(dāng)確定本節(jié)點(diǎn)是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),則直接由本節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到本節(jié)點(diǎn)的緩存層。需說明的是,在第一節(jié)點(diǎn)的轉(zhuǎn)發(fā)層和緩存層之間可能還具有其他數(shù)據(jù)處理層,但是,該第一數(shù)據(jù)的數(shù)據(jù)流最終會(huì)被發(fā)送到緩存層中,即將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層并不一定指代為由轉(zhuǎn)發(fā)層直接下發(fā)到緩存層,而可以指代為由轉(zhuǎn)發(fā)層下發(fā)到其他數(shù)據(jù)處理層經(jīng)過數(shù)據(jù)處理后最終發(fā)送到緩存層。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,所第一存儲(chǔ)單元為所述第一數(shù)據(jù)的寫入單元;如果否,則確定出第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),最終由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。由此可見,本申請(qǐng)中的第一數(shù)據(jù)的數(shù)據(jù)流會(huì)轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)上,由目的節(jié)點(diǎn)緩存到緩存層,保證了數(shù)據(jù)的一致性。
實(shí)施例二
本發(fā)明實(shí)施例二還公開了一種數(shù)據(jù)處理方法,如圖3所示,該方法包括以下步驟:
步驟301:當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn);若是,進(jìn)入步驟302;若否,進(jìn)入步驟303;
第一存儲(chǔ)單元為第一數(shù)據(jù)的寫入單元,具有擁有該第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。在多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中,每一節(jié)點(diǎn)均屬于一個(gè)節(jié)點(diǎn)組,相應(yīng)的,第一存儲(chǔ)單元所屬節(jié)點(diǎn)組為具有第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的節(jié)點(diǎn)組。
具體的,多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中每一節(jié)點(diǎn)上存儲(chǔ)有本節(jié)點(diǎn)的節(jié)點(diǎn)索引以及所有節(jié)點(diǎn)的位圖信息,因此,基于本節(jié)點(diǎn)的節(jié)點(diǎn)索引以及所有節(jié)點(diǎn)的位圖信息能夠判斷出本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn)。
步驟302:判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);若否,進(jìn)入步驟303,若是,進(jìn)入步驟304;
步驟303:確定所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將所述第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至所述目的節(jié)點(diǎn),由所述目的節(jié)點(diǎn)將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
作為一種具體的實(shí)現(xiàn)方式,確定所述第一數(shù)據(jù)流的目的節(jié)點(diǎn)包括:從所屬節(jié)點(diǎn)和所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選取數(shù)據(jù)處理能力大的節(jié)點(diǎn)為目的節(jié)點(diǎn)。
具體的,從所屬節(jié)點(diǎn)和所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選取數(shù)據(jù)處理能力大的節(jié)點(diǎn)為目的節(jié)點(diǎn),包括:從所屬節(jié)點(diǎn)和所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中確定上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn),從而確定除上一次數(shù)據(jù)處理的節(jié)點(diǎn)的另一節(jié)點(diǎn)為目的節(jié)點(diǎn)。
其中,第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中,確定出上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn),若上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn),那么則確定第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)為目的節(jié)點(diǎn);若上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn),那么則確定第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為目的節(jié)點(diǎn)。
步驟304:將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn),若本節(jié)點(diǎn)是第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn),那么則需判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),如果本節(jié)點(diǎn)不是第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn),那么則可以直接確定第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),從而實(shí)現(xiàn)由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到的緩存層,保證了數(shù)據(jù)的一致性。
實(shí)施例三
本發(fā)明實(shí)施例三還公開了一種數(shù)據(jù)處理方法,如圖4所示,該方法包括以下步驟:
步驟401:當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);若否,進(jìn)入步驟402;若是,進(jìn)入步驟403;
其中,目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)。
第一存儲(chǔ)單元為第一數(shù)據(jù)的寫入單元。
步驟402:確定第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送至緩存層;
當(dāng)確定本節(jié)點(diǎn)不是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),則可以從第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為目的節(jié)點(diǎn),從而將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn)的轉(zhuǎn)發(fā)層,由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送至目的節(jié)點(diǎn)的緩存層。
步驟403:將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
步驟404:當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)鏡像到所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);
步驟405:當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn)。
其中,本節(jié)點(diǎn)的前置節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)為兩個(gè)相鄰的節(jié)點(diǎn),且第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)的前置節(jié)點(diǎn),當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn)后,則相當(dāng)于將第一數(shù)據(jù)鏡像到第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。
在本實(shí)施例中,當(dāng)數(shù)據(jù)流達(dá)到緩存層后,當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn),當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn),從而保證當(dāng)一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),能夠通過另一個(gè)節(jié)點(diǎn)進(jìn)行來緩存數(shù)據(jù)。并且,由于第一數(shù)據(jù)分別保存在第一存儲(chǔ)單元的所屬節(jié)點(diǎn)以及所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中,因此能夠保證通過第一存儲(chǔ)單元的所屬節(jié)點(diǎn)下發(fā)到第一存儲(chǔ)單元的數(shù)據(jù)為最新的數(shù)據(jù)。
與上述一種數(shù)據(jù)處理方法對(duì)應(yīng)的,本發(fā)明還提供了一種數(shù)據(jù)處理裝置,該裝置應(yīng)用于多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中。具體的,通過以下實(shí)施例進(jìn)行詳細(xì)描述:
實(shí)施例四
本發(fā)明實(shí)施例四公開了一種數(shù)據(jù)處理裝置,如圖5所示,該裝置包括:第一判斷單元501、確定轉(zhuǎn)發(fā)單元502、第一發(fā)送單元503;其中:
第一判斷單元501,用于當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);
目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,第一存儲(chǔ)單元為所述第一數(shù)據(jù)的寫入單元。
第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為擁有該第一存儲(chǔ)單元的節(jié)點(diǎn),該節(jié)點(diǎn)為第一存儲(chǔ)單元的指定節(jié)點(diǎn),用于將需要寫入第一存儲(chǔ)單元的數(shù)據(jù)寫入到第一存儲(chǔ)單元中。第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)為與第一存儲(chǔ)單元的所屬節(jié)點(diǎn)相鄰的節(jié)點(diǎn),由前文關(guān)于多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)的描述可知,第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)之間為單方向合作關(guān)系,第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)的前置節(jié)點(diǎn)。
第一判斷單元501用于當(dāng)客戶端下發(fā)的第一數(shù)據(jù)的數(shù)據(jù)流到達(dá)某一節(jié)點(diǎn)的轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)。具體的,多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中每一節(jié)點(diǎn)上存儲(chǔ)有與第一存儲(chǔ)單元相關(guān)的信息,該信息包含有第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn),因此第一判斷單元基于該信息能夠確定出本節(jié)點(diǎn)是否為目的節(jié)點(diǎn)。
確定轉(zhuǎn)發(fā)單元502,用于當(dāng)本節(jié)點(diǎn)不是所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),確定所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將所述第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至所述目的節(jié)點(diǎn),由所述目的節(jié)點(diǎn)將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
當(dāng)確定本節(jié)點(diǎn)不是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),確定轉(zhuǎn)發(fā)單元?jiǎng)t可以從第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為目的節(jié)點(diǎn),從而將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn)的轉(zhuǎn)發(fā)層,由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送至目的節(jié)點(diǎn)的緩存層。
具體的,作為一種實(shí)現(xiàn)方式,確定轉(zhuǎn)發(fā)單元502包括:第一確定模塊和第一轉(zhuǎn)發(fā)模塊。其中,第一確定模塊,用于當(dāng)本節(jié)點(diǎn)不是所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),從所述所屬節(jié)點(diǎn)和所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中選取數(shù)據(jù)處理能力大的節(jié)點(diǎn)為目的節(jié)點(diǎn);第一轉(zhuǎn)發(fā)模塊,用于將所述第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至所述目的節(jié)點(diǎn),由所述目的節(jié)點(diǎn)將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
其中,第一確定模塊具體用于從所述所屬節(jié)點(diǎn)和所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中確定上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn),從而確定除所述上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn)的另一節(jié)點(diǎn)為目的節(jié)點(diǎn)。也就是說,若上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn),那么第一確定模塊則確定第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)為目的節(jié)點(diǎn);若上一次進(jìn)行數(shù)據(jù)處理的節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn),那么第一確定模塊則確定第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為目的節(jié)點(diǎn)。
第一發(fā)送單元503,用于當(dāng)本節(jié)點(diǎn)是所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,所第一存儲(chǔ)單元為所述第一數(shù)據(jù)的寫入單元;如果否,則確定出第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),最終由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。由此可見,本申請(qǐng)中的第一數(shù)據(jù)的數(shù)據(jù)流會(huì)轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)上,由目的節(jié)點(diǎn)緩存到緩存層,保證了數(shù)據(jù)的一致性。
實(shí)施例五
本發(fā)明實(shí)施例五公開了一種數(shù)據(jù)處理裝置,如圖6所示,該裝置包括:第二判斷單元601、第一觸發(fā)單元602、第二觸發(fā)單元603、第一判斷單元604、確定轉(zhuǎn)發(fā)單元605、第一發(fā)送單元606;其中:
第二判斷單元601,用于當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn);
第一存儲(chǔ)單元為第一數(shù)據(jù)的寫入單元,具有擁有該第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。在多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中,每一節(jié)點(diǎn)均屬于一個(gè)節(jié)點(diǎn)組,相應(yīng)的,第一存儲(chǔ)單元所屬節(jié)點(diǎn)組為具有第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的節(jié)點(diǎn)組。
具體的,多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中每一節(jié)點(diǎn)上存儲(chǔ)有與第一存儲(chǔ)單元相關(guān)的信息,該信息包含有第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn),還包含有第一存儲(chǔ)單元所屬節(jié)點(diǎn)組標(biāo)識(shí);多節(jié)點(diǎn)存儲(chǔ)系統(tǒng)中每一節(jié)點(diǎn)上還存儲(chǔ)有其所屬節(jié)點(diǎn)組的標(biāo)識(shí)。因此,第二判斷單元可以通過判斷本節(jié)點(diǎn)所屬節(jié)點(diǎn)組的標(biāo)識(shí)與第一存儲(chǔ)單元所屬節(jié)點(diǎn)組標(biāo)識(shí)是否一致來確定本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn)。
第一觸發(fā)單元602,用于當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn)時(shí),觸發(fā)第一判斷單元604執(zhí)行判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)的操作;
第二觸發(fā)單元603,用于當(dāng)本節(jié)點(diǎn)不是第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn)時(shí),觸發(fā)確定轉(zhuǎn)發(fā)單元605執(zhí)行確定第一數(shù)據(jù)流的目的節(jié)點(diǎn)的操作;
第一判斷單元604,用于判斷本節(jié)點(diǎn)是否為第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);
目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,第一存儲(chǔ)單元為第一數(shù)據(jù)的寫入單元。
確定轉(zhuǎn)發(fā)單元605,用于當(dāng)本節(jié)點(diǎn)不是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),確定第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
第一發(fā)送單元606,用于當(dāng)本節(jié)點(diǎn)是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層。
在本實(shí)施例中,當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,先判斷本節(jié)點(diǎn)是否為第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn),若本節(jié)點(diǎn)是第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn),那么則再判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),如果本節(jié)點(diǎn)不是第一存儲(chǔ)單元所屬節(jié)點(diǎn)組中的節(jié)點(diǎn),則直接確定第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),從而實(shí)現(xiàn)由目的節(jié)點(diǎn)將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到的緩存層,保證了數(shù)據(jù)的一致性。
實(shí)施例六
本發(fā)明實(shí)施例六公開了一種數(shù)據(jù)處理裝置,如圖7所示,該裝置包括:第一判斷單元701、確定轉(zhuǎn)發(fā)單元702、第一發(fā)送單元703、第一鏡像單元704以及第二鏡像單元705;其中:
第一判斷單元701,用于當(dāng)?shù)谝粩?shù)據(jù)的數(shù)據(jù)流到達(dá)轉(zhuǎn)發(fā)層后,判斷本節(jié)點(diǎn)是否為所述第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn);
目的節(jié)點(diǎn)包括第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);其中,所述第一存儲(chǔ)單元為第一數(shù)據(jù)的寫入單元。
確定轉(zhuǎn)發(fā)單元702,用于當(dāng)本節(jié)點(diǎn)不是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),確定第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn),將第一數(shù)據(jù)的數(shù)據(jù)流轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),由目的節(jié)點(diǎn)將所述第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
第一發(fā)送單元703,用于當(dāng)本節(jié)點(diǎn)是第一數(shù)據(jù)的數(shù)據(jù)流的目的節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)的數(shù)據(jù)流發(fā)送到緩存層;
第一鏡像單元704,用于當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)鏡像到所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn);
第二鏡像單元705,用于當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn);
其中,本節(jié)點(diǎn)的前置節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。第一存儲(chǔ)單元的所屬節(jié)點(diǎn)和第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)為兩個(gè)相鄰的節(jié)點(diǎn),且第一存儲(chǔ)單元的所屬節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)的前置節(jié)點(diǎn),當(dāng)本節(jié)點(diǎn)為第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn)后,則相當(dāng)于將第一數(shù)據(jù)鏡像到第一存儲(chǔ)單元的所屬節(jié)點(diǎn)。
在本實(shí)施例中,當(dāng)數(shù)據(jù)流達(dá)到緩存層后,當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到所述所屬節(jié)點(diǎn)的合作節(jié)點(diǎn),當(dāng)本節(jié)點(diǎn)為所述第一存儲(chǔ)單元的所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)時(shí),將所述第一數(shù)據(jù)鏡像到本節(jié)點(diǎn)的前置節(jié)點(diǎn),從而保證當(dāng)一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),能夠通過另一個(gè)節(jié)點(diǎn)進(jìn)行來緩存數(shù)據(jù)。并且,由于第一數(shù)據(jù)分別保存在第一存儲(chǔ)單元的所屬節(jié)點(diǎn)以及所屬節(jié)點(diǎn)的合作節(jié)點(diǎn)中,因此能夠保證通過第一存儲(chǔ)單元的所屬節(jié)點(diǎn)將第一數(shù)據(jù)下發(fā)到第一存儲(chǔ)單元的數(shù)據(jù)為最新的數(shù)據(jù)。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。