本發(fā)明涉及存儲
技術(shù)領(lǐng)域:
,更具體地說,涉及一種多控存儲之間的緩存鏡像方法及裝置。
背景技術(shù):
:隨著業(yè)務(wù)的發(fā)展需要,尤其在云計算和大數(shù)據(jù)浪潮的推動下,各行業(yè)IT建設(shè)呈現(xiàn)出大集中、大整合、資源互通的建設(shè)趨勢,存儲不僅僅是數(shù)據(jù)的高效可靠載體,而且承擔(dān)著信息安全保障的作用,其地位更加突顯。由單控存儲系統(tǒng)向雙控存儲系統(tǒng)甚至多控存儲系統(tǒng)的改進(jìn)是提高存儲可靠性的重要技術(shù)。在多控存儲的大背景下,多控存儲系統(tǒng)之間的緩存鏡像算法就尤為重要。以四控為例說明現(xiàn)有技術(shù)中實現(xiàn)多空存儲系統(tǒng)之間的緩存鏡像算法:控制器1和控制器2為一對,控制器3和控制器4為一對,每對控制器的緩存互相鏡像。但是,當(dāng)控制器1出現(xiàn)故障時,控制器2的緩存就無法實現(xiàn)鏡像,因此控制器2便成為一個隱患;進(jìn)而導(dǎo)致多控存儲系統(tǒng)的數(shù)據(jù)可靠性較差。綜上所述,現(xiàn)有技術(shù)中提供的上述技術(shù)方案存在多控存儲系統(tǒng)的數(shù)據(jù)可靠性較差的問題。技術(shù)實現(xiàn)要素:本發(fā)明的目的是提供一種多控存儲之間的緩存鏡像方法及裝置,以解決現(xiàn)有技術(shù)中提供的技術(shù)方案中存在的多控存儲系統(tǒng)的數(shù)據(jù)可靠性較差的問題。為了實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種多控存儲之間的緩存鏡像方法,包括:將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個緩存條帶,其中,N為不小于2的偶數(shù);設(shè)置每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像;如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像。優(yōu)選的,還包括:如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于其他控制器緩存的緩存條帶中的鏡像數(shù)據(jù)刷寫到硬盤中。優(yōu)選的,設(shè)置每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像,包括:如果N為大于2的偶數(shù),則設(shè)置每個控制器緩存的第一個緩存條帶與一個其他控制器緩存的第一個緩存條帶互相鏡像,每個控制器緩存的第二個緩存條帶與一個其他控制器緩存的第二個緩存條帶互相鏡像,且第一個緩存條帶互相鏡像的兩個控制器緩存第二個緩存條帶并不互相鏡像;設(shè)置每個控制器緩存的剩余緩存條帶中第n-1個緩存條帶與與該控制器緩存的第一個緩存條帶互相鏡像的控制器緩存的第n-1個緩存條帶互相鏡像,第n個緩存條帶與與該控制器緩存的第二個緩存條帶互相鏡像的控制器緩存的第n個緩存條帶互相鏡像,其中,n為不大于N的偶數(shù)。優(yōu)選的,將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像,包括:按照預(yù)先為所述控制器排序所得的編號,將編號鄰近的兩個控制器的控制器緩存中與出現(xiàn)故障的控制器的控制器緩存的緩存條帶互相鏡像的緩存條帶設(shè)置為互相鏡像。優(yōu)選的,將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個緩存條帶,包括:將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個空間相同的緩存條帶。一種多控存儲之間的緩存鏡像裝置,包括:劃分模塊,用于將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個緩存條帶,其中,N為不小于2的偶數(shù);第一設(shè)置模塊,用于設(shè)置每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像;第二設(shè)置模塊,用于如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像。優(yōu)選的,還包括:刷寫模塊,用于如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于其他控制器緩存的緩存條帶中的鏡像數(shù)據(jù)刷寫到硬盤中。優(yōu)選的,第一設(shè)置模塊包括:第一設(shè)置單元,用于:如果N為大于2的偶數(shù),則設(shè)置每個控制器緩存的第一個緩存條帶與一個其他控制器緩存的第一個緩存條帶互相鏡像,每個控制器緩存的第二個緩存條帶與一個其他控制器緩存的第二個緩存條帶互相鏡像,且第一個緩存條帶互相鏡像的兩個控制器緩存第二個緩存條帶并不互相鏡像;設(shè)置每個控制器緩存的剩余緩存條帶中第n-1個緩存條帶與與該控制器緩存的第一個緩存條帶互相鏡像的控制器緩存的第n-1個緩存條帶互相鏡像,第n個緩存條帶與與該控制器緩存的第二個緩存條帶互相鏡像的控制器緩存的第n個緩存條帶互相鏡像,其中,n為不大于N的偶數(shù)。優(yōu)選的,第二設(shè)置模塊包括:第二設(shè)置單元,用于按照預(yù)先為所述控制器排序所得的編號,將編號鄰近的兩個控制器的控制器緩存中與出現(xiàn)故障的控制器的控制器緩存的緩存條帶互相鏡像的緩存條帶設(shè)置為互相鏡像。優(yōu)選的,劃分模塊包括:劃分單元,用于將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個空間相同的緩存條帶。本發(fā)明提供了一種多控存儲之間的緩存鏡像方法及裝置,其中該方法包括:將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個緩存條帶,其中,N為不小于2的偶數(shù);設(shè)置每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像;如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像。本申請公開的上述技術(shù)特征中,通過將控制器緩存劃分為N個緩存條帶,并為每個控制器緩存的每個緩存條帶均分配至少兩個其他控制器緩存的緩存條帶互相鏡像,從而在任一控制器故障時,能夠通過將與出現(xiàn)故障的控制器對應(yīng)的緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像,從而在任一控制器出現(xiàn)故障后,其他控制器的控制器緩存仍然能夠通過緩存條帶的兩兩組合互相鏡像實現(xiàn)控制器緩存的互相鏡像,保證了多控存儲系統(tǒng)中數(shù)據(jù)的可靠性。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像方法的流程圖;圖2為本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像裝置的結(jié)構(gòu)示意圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。請參閱圖1,其示出了本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像方法的流程圖,可以包括以下步驟:S11:將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個緩存條帶,其中,N為不小于2的偶數(shù)。其中,N可以根據(jù)實際需要進(jìn)行設(shè)定。通過上述劃分,每個控制器的控制器緩存均包括N個緩存條帶,簡單來說,緩存條帶可以理解為緩存區(qū)域,對應(yīng)的上述劃分可以理解為將每個控制器的控制器緩存分別劃分為N個緩存區(qū)域。另外需要說明的是,本發(fā)明實施例提供的技術(shù)方案中所涉及的多控存儲系統(tǒng)一般指包括至少3個控制器的存儲系統(tǒng)。S12:設(shè)置每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像。其中,鏡像是冗余的一種類型,一個磁盤上的數(shù)據(jù)在另一個磁盤上存在一個完全相同的副本即為鏡像。本申請中不同緩存條帶互相鏡像,即每個緩存條帶緩存自身數(shù)據(jù)的同時也緩存互相鏡像的另一個緩存條帶的數(shù)據(jù),從而實現(xiàn)數(shù)據(jù)備份。需要說明的是,每個控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像,即每個控制器緩存的每個緩存條帶均在其他控制器緩存上具有至少兩個對應(yīng)的數(shù)據(jù)備份,舉例說明,N為2即緩存條帶的數(shù)量為2且控制器的數(shù)量為4時,就每個控制器的第一個緩存條帶,可以設(shè)置控制器1和控制器2對應(yīng)的第一個緩存條帶互相鏡像,控制器3和控制器4對應(yīng)的第一個緩存條帶互相鏡像,就每個控制器的第二個緩存條帶,可以設(shè)置控制器2和控制3對應(yīng)的第二個緩存條帶互相鏡像,控制器1和控制器4的第二個緩存條帶互相鏡像,由此,每個控制器的每個緩存條帶均具有兩個互相鏡像的與其他控制器對應(yīng)的緩存條帶。S13:如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像。如果任一控制器出現(xiàn)故障,則該控制器的控制器緩存無法再與其他控制器緩存互相鏡像,因此,為了保證其他控制器緩存能夠存在互相鏡像的緩存,確定出出現(xiàn)故障的控制器對應(yīng)緩存條帶在其他控制器緩存中互相鏡像的緩存條帶,并將屬于不同控制器的任兩個確定出的上述緩存條帶互相鏡像。舉例說明,N為2即緩存條帶的數(shù)量為2且控制器的數(shù)量為4時,就每個控制器的第一個緩存條帶,可以設(shè)置控制器1和控制器2對應(yīng)的第一個緩存條帶互相鏡像,控制器3和控制器4對應(yīng)的第一個緩存條帶互相鏡像,就每個控制器的第二個緩存條帶,可以設(shè)置控制器2和控制3對應(yīng)的第二個緩存條帶互相鏡像,控制器1和控制器4的第二個緩存條帶互相鏡像,當(dāng)控制器出現(xiàn)故障時,控制器2的第一個緩存條帶和控制器4的第二個緩存條帶被設(shè)置為互相鏡像。本申請公開的上述技術(shù)特征中,通過將控制器緩存劃分為N個緩存條帶,并為每個控制器緩存的每個緩存條帶均分配至少兩個其他控制器緩存的緩存條帶互相鏡像,從而在任一控制器故障時,能夠通過將與出現(xiàn)故障的控制器對應(yīng)的緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像,從而在任一控制器出現(xiàn)故障后,其他控制器的控制器緩存仍然能夠通過緩存條帶的兩兩組合互相鏡像實現(xiàn)控制器緩存的互相鏡像,保證了多控存儲系統(tǒng)中數(shù)據(jù)的可靠性。另外,本發(fā)明實施例提供的上述技術(shù)方案緩存利用率能夠達(dá)到50%,即本申請公開的上述技術(shù)特征能夠在不影響緩存利用率的前提下保證系統(tǒng)中數(shù)據(jù)的可靠性。本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像方法,還可以包括:如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于其他控制器緩存的緩存條帶中的鏡像數(shù)據(jù)刷寫到硬盤中。當(dāng)任一控制器出現(xiàn)故障后,確定出與該控制器的控制器緩存的全部緩存條帶互相鏡像的屬于其他控制器緩存的緩存條帶,并將這些條帶中對出現(xiàn)故障的控制器對應(yīng)控制器緩存中緩存條帶鏡像得到的數(shù)據(jù)刷寫到硬盤中進(jìn)行保存,以避免數(shù)據(jù)丟失,便于實現(xiàn)后期對這部分?jǐn)?shù)據(jù)的恢復(fù),進(jìn)一步提高了系統(tǒng)中數(shù)據(jù)的可靠性。本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像方法,設(shè)置每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像,可以包括:如果N為大于2的偶數(shù),則設(shè)置每個控制器緩存的第一個緩存條帶與一個其他控制器緩存的第一個緩存條帶互相鏡像,每個控制器緩存的第二個緩存條帶與一個其他控制器緩存的第二個緩存條帶互相鏡像,且第一個緩存條帶互相鏡像的兩個控制器緩存第二個緩存條帶并不互相鏡像;設(shè)置每個控制器緩存的剩余緩存條帶中第n-1個緩存條帶與與該控制器緩存的第一個緩存條帶互相鏡像的控制器緩存的第n-1個緩存條帶互相鏡像,第n個緩存條帶與與該控制器緩存的第二個緩存條帶互相鏡像的控制器緩存的第n個緩存條帶互相鏡像,其中,n為不大于N的偶數(shù)。在N為大于2的偶數(shù)時,對應(yīng)于每個控制器緩存的第一個緩存條帶至第N個緩存條帶的互相鏡像的組合可以根據(jù)實際需要進(jìn)行設(shè)定,只要能夠滿足每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像即可。在一種具體實施方式中,可以按照上述步驟實現(xiàn),以N為4控制器的數(shù)量也為4為例進(jìn)行說明,如表1所示,控制器1的第一個緩存條帶和控制2的第一個緩存條帶互相鏡像,控制器3的第一個緩存條帶和控制器4的第一個緩存條帶互相鏡像,控制器1的第二個緩存條帶和控制器4的第二個緩存條帶互相鏡像,控制器2的第二個緩存條帶和控制器3的第二個緩存條帶互相鏡像,每個控制器的第三個緩存條帶的互相鏡像組合與每個控制器的第一個緩存條帶的互相鏡像組合相同,每個控制器的第四個緩存條帶的互相鏡像組合與每個控制器的第二個緩存條帶的互相鏡像組合相同,即控制器1的第三個緩存條帶和控制2的第三個緩存條帶互相鏡像,控制器3的第三個緩存條帶和控制器4的第三個緩存條帶互相鏡像,控制器1的第四個緩存條帶和控制器4的第四個緩存條帶互相鏡像,控制器2的第四個緩存條帶和控制器3的第四個緩存條帶互相鏡像,表中除控制器1至控制器4之外的其他數(shù)字代表互相鏡像組合,如數(shù)字1和數(shù)字1代表的區(qū)域互相鏡像,數(shù)字7和數(shù)字7代表的區(qū)域互相鏡像,以此類推。由此,只需要對每個控制器的前兩個緩存條帶進(jìn)行互相鏡像組合,其余均可按照前兩個緩存條帶的互相鏡像組合實現(xiàn)互相鏡像組合,簡單省時。表1控制器1控制器2控制器3控制器41122433455668778本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像方法,將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像,可以包括:按照預(yù)先為所述控制器排序所得的編號,將編號鄰近的兩個控制器的控制器緩存中與出現(xiàn)故障的控制器的控制器緩存的緩存條帶互相鏡像的緩存條帶設(shè)置為互相鏡像。其中,需要說明的是,上述所提到的編號鄰近是指存在與出現(xiàn)故障的控制器的控制器緩存的緩存條帶互相鏡像的緩存條帶的控制器緩存對應(yīng)控制器中編號鄰近,以表1為例進(jìn)行說明,當(dāng)控制器1出現(xiàn)故障時,不同控制器的當(dāng)前狀態(tài)如表2所示,其中,空出的區(qū)域即為其他控制器中與控制器1的緩存條帶互相鏡像的緩存條帶。其中,控制器2和控制器4均存在與控制器1的緩存條帶互相鏡像的緩存條帶,因此,控制器2和控制器4即為編號鄰近,由此,為表2中空出的區(qū)域進(jìn)行互相鏡像組合,如表3所示。再次舉例說明上述編號鄰近,如控制器的數(shù)量為8個,當(dāng)控制器1出現(xiàn)故障時,如果控制器2和控制器3均存在與控制器1的緩存條帶互相鏡像的緩存條帶,則說明控制器1和控制器2編號鄰近,如果控制器2和控制器5均存在與控制器1的緩存條帶互相鏡像的緩存條帶,而控制器3和控制器4均不存在,則說明控制器2和控制器5互相鏡像。由此,通過這種簡單易實現(xiàn)的組合原則實現(xiàn)了任一控制器出現(xiàn)故障時其他不同控制器緩存的緩存條帶之間的互相鏡像。當(dāng)然,也可以根據(jù)實際需要進(jìn)行其他設(shè)定,均在本發(fā)明的保護(hù)范圍之內(nèi)。表2表3本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像方法,將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個緩存條帶,可以包括:將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個空間相同的緩存條帶。通過將緩存條帶設(shè)置成空間相同的緩存條帶,能夠使得其對于數(shù)據(jù)具有相同的存儲功能,便于對其實現(xiàn)統(tǒng)一管理和控制。本發(fā)明實施例還提供了一種多控存儲之間的緩存鏡像裝置,如圖2所示,可以包括:劃分模塊11,用于將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個緩存條帶,其中,N為不小于2的偶數(shù);第一設(shè)置模塊12,用于設(shè)置每個所述控制器緩存的每個緩存條帶均與其他至少兩個控制器緩存的對應(yīng)緩存條帶互相鏡像;第二設(shè)置模塊13,用于如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于不同其他控制器緩存的緩存條帶設(shè)置為互相鏡像。本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像裝置,還可以包括:刷寫模塊,用于如果任一控制器出現(xiàn)故障,則將與對應(yīng)控制器緩存的全部緩存條帶互相鏡像的屬于其他控制器緩存的緩存條帶中的鏡像數(shù)據(jù)刷寫到硬盤中。本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像裝置,第一設(shè)置模塊可以包括:第一設(shè)置單元,用于:如果N為大于2的偶數(shù),則設(shè)置每個控制器緩存的第一個緩存條帶與一個其他控制器緩存的第一個緩存條帶互相鏡像,每個控制器緩存的第二個緩存條帶與一個其他控制器緩存的第二個緩存條帶互相鏡像,且第一個緩存條帶互相鏡像的兩個控制器緩存第二個緩存條帶并不互相鏡像;設(shè)置每個控制器緩存的剩余緩存條帶中第n-1個緩存條帶與與該控制器緩存的第一個緩存條帶互相鏡像的控制器緩存的第n-1個緩存條帶互相鏡像,第n個緩存條帶與與該控制器緩存的第二個緩存條帶互相鏡像的控制器緩存的第n個緩存條帶互相鏡像,其中,n為不大于N的偶數(shù)。本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像裝置,第二設(shè)置模塊可以包括:第二設(shè)置單元,用于按照預(yù)先為所述控制器排序所得的編號,將編號鄰近的兩個控制器的控制器緩存中與出現(xiàn)故障的控制器的控制器緩存的緩存條帶互相鏡像的緩存條帶設(shè)置為互相鏡像。本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像裝置,劃分模塊可以包括:劃分單元,用于將多控存儲系統(tǒng)中每個控制器的控制器緩存分別劃分為N個空間相同的緩存條帶。本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像裝置中相關(guān)部分的說明請參見本發(fā)明實施例提供的一種多控存儲之間的緩存鏡像方法中對應(yīng)部分的詳細(xì)說明,在此不再贅述。對所公開的實施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。當(dāng)前第1頁1 2 3