本申請(qǐng)涉及數(shù)據(jù)存儲(chǔ),尤其涉及一種存儲(chǔ)集群、系統(tǒng)、數(shù)據(jù)處理方法、設(shè)備、介質(zhì)以及產(chǎn)品。
背景技術(shù):
1、存儲(chǔ)的寫緩存技術(shù),常規(guī)采用一框四控的標(biāo)準(zhǔn)在控制器的動(dòng)態(tài)隨機(jī)存取內(nèi)存(dynamic?random?access?memory,dram)內(nèi)存中進(jìn)行擴(kuò)展,32控則是以8個(gè)4控機(jī)框?qū)崿F(xiàn),機(jī)框與機(jī)框之間采用外部網(wǎng)絡(luò)互連方式。在對(duì)控制器數(shù)量和數(shù)據(jù)副本數(shù)量的擴(kuò)展增加時(shí),需要修改軟件程序的復(fù)雜部署,數(shù)據(jù)副本數(shù)量擴(kuò)展增加dram內(nèi)存的內(nèi)存空間和成本,且只能實(shí)現(xiàn)每個(gè)框內(nèi)的控制器同時(shí)故障1個(gè)。機(jī)框與機(jī)框之間的互連性較差于機(jī)框內(nèi)部的互連性能,且副本數(shù)量的擴(kuò)展導(dǎo)致框內(nèi)與框外的數(shù)據(jù)傳輸增加,降低存儲(chǔ)系統(tǒng)的高可用性。
2、因此,如何在擴(kuò)展控制器數(shù)量和副本數(shù)量的情況下提高存儲(chǔ)系統(tǒng)的高可用性是本領(lǐng)域技術(shù)人員亟需要解決的。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┝艘环N存儲(chǔ)集群、系統(tǒng)、數(shù)據(jù)處理方法、設(shè)備、介質(zhì)以及產(chǎn)品,以至少解決相關(guān)技術(shù)中控制器數(shù)量和副本數(shù)量擴(kuò)展性較差導(dǎo)致的存儲(chǔ)系統(tǒng)的高可用性降低的問(wèn)題。
2、本申請(qǐng)?zhí)峁┝艘环N存儲(chǔ)集群,包括控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元,控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元內(nèi)的器件數(shù)量為多個(gè),且各自單元內(nèi)存在各自對(duì)應(yīng)的冗余器件;
3、控制器單元的多個(gè)控制器均與主機(jī)連接,且分別與交換機(jī)單元的多個(gè)交換機(jī)連接;
4、交換機(jī)單元的多個(gè)交換機(jī)對(duì)應(yīng)連接擴(kuò)展內(nèi)存單元的多個(gè)擴(kuò)展內(nèi)存,且在多個(gè)擴(kuò)展內(nèi)存中各自存儲(chǔ)多個(gè)控制器的副本數(shù)據(jù);
5、在控制器、交換機(jī)和/或擴(kuò)展內(nèi)存故障,且主機(jī)下發(fā)數(shù)據(jù)訪問(wèn)請(qǐng)求時(shí),控制各自單元內(nèi)控制器、交換機(jī)和/或擴(kuò)展內(nèi)存對(duì)應(yīng)的冗余器件根據(jù)數(shù)據(jù)訪問(wèn)請(qǐng)求進(jìn)行控制器的副本數(shù)據(jù)處理。
6、本申請(qǐng)還提供了一種存儲(chǔ)系統(tǒng),包括主機(jī)和至少一個(gè)由上述所述的存儲(chǔ)集群;
7、所述主機(jī)與至少一個(gè)存儲(chǔ)集群連接,用于下發(fā)數(shù)據(jù)訪問(wèn)請(qǐng)求至存儲(chǔ)集群,以便于存儲(chǔ)集群內(nèi)的控制器的副本數(shù)據(jù)處理。
8、本申請(qǐng)還提供了一種數(shù)據(jù)處理方法,應(yīng)用于存儲(chǔ)集群,包括控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元,控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元內(nèi)的器件數(shù)量為多個(gè),且各自單元內(nèi)存在各自對(duì)應(yīng)的冗余器件;控制器單元的多個(gè)控制器均與主機(jī)連接,且分別與交換機(jī)單元的多個(gè)交換機(jī)連接;交換機(jī)單元的多個(gè)交換機(jī)對(duì)應(yīng)連接擴(kuò)展內(nèi)存單元的多個(gè)擴(kuò)展內(nèi)存,且在多個(gè)擴(kuò)展內(nèi)存中各自存儲(chǔ)多個(gè)控制器的副本數(shù)據(jù);所述方法包括:
9、接收由主機(jī)下發(fā)的數(shù)據(jù)訪問(wèn)請(qǐng)求;
10、在控制器、交換機(jī)和/或擴(kuò)展內(nèi)存故障時(shí),控制各自單元內(nèi)控制器、交換機(jī)和/或擴(kuò)展內(nèi)存對(duì)應(yīng)的冗余器件根據(jù)所述數(shù)據(jù)訪問(wèn)請(qǐng)求進(jìn)行控制器的副本數(shù)據(jù)處理。
11、本申請(qǐng)還提供了一種電子設(shè)備,包括:存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;處理器,用于執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述任一種數(shù)據(jù)處理方法的步驟。
12、本申請(qǐng)還提供了一種非易失性存儲(chǔ)介質(zhì),非易失性存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一種數(shù)據(jù)處理方法的步驟。
13、本申請(qǐng)還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一種數(shù)據(jù)處理方法的步驟。
14、通過(guò)本申請(qǐng),首先,通過(guò)控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元內(nèi)的多個(gè)器件數(shù)量,各自單元內(nèi)存在各自對(duì)應(yīng)的冗余器件,打破一框四控的標(biāo)準(zhǔn)擴(kuò)展的常規(guī)方案,通過(guò)交換機(jī)單元和擴(kuò)展內(nèi)存單元這樣的器件,將常規(guī)的一控四的方案控制器的內(nèi)存緩存數(shù)據(jù)從控制器內(nèi)部的dram內(nèi)存解耦到外部的擴(kuò)展內(nèi)存。擴(kuò)展內(nèi)存的硬件延時(shí)相比于dram內(nèi)存來(lái)說(shuō)較小,避免常規(guī)方案的框與框之間的交互以及框內(nèi)的各dram內(nèi)存的交互對(duì)應(yīng)的硬件延時(shí),提高數(shù)據(jù)處理效率。擴(kuò)展內(nèi)存的成本相比于dram內(nèi)存成本較低,節(jié)省器件成本的同時(shí),提高內(nèi)存的占用空間。其次,控制器單元的多個(gè)控制器均與主機(jī)連接,且分別與交換機(jī)單元的多個(gè)交換機(jī)連接,控制器單元的多個(gè)控制器的橫向擴(kuò)展,無(wú)需考慮復(fù)雜的數(shù)據(jù)分布結(jié)構(gòu)以及修改復(fù)雜的軟件程序,直接以硬件設(shè)備的方式進(jìn)行擴(kuò)展,同時(shí),也無(wú)需受限于內(nèi)存空間大小問(wèn)題,通過(guò)交換機(jī)實(shí)現(xiàn)將控制器的緩存數(shù)據(jù)存儲(chǔ)在外部的擴(kuò)展內(nèi)存上。再次,交換機(jī)單元的多個(gè)交換機(jī)對(duì)應(yīng)連接擴(kuò)展內(nèi)存單元的多個(gè)擴(kuò)展內(nèi)存,且在多個(gè)擴(kuò)展內(nèi)存中各自存儲(chǔ)多個(gè)控制器的副本數(shù)據(jù),以便于在控制器、交換機(jī)和/或擴(kuò)展內(nèi)存故障,且主機(jī)下發(fā)數(shù)據(jù)訪問(wèn)請(qǐng)求時(shí),控制各自單元內(nèi)控制器、交換機(jī)和/或擴(kuò)展內(nèi)存對(duì)應(yīng)的冗余器件根據(jù)數(shù)據(jù)訪問(wèn)請(qǐng)求進(jìn)行控制器的副本數(shù)據(jù)處理。在實(shí)現(xiàn)控制器的橫向擴(kuò)展的基礎(chǔ)上,擴(kuò)展內(nèi)存對(duì)應(yīng)的副本數(shù)量也實(shí)現(xiàn)了擴(kuò)展,無(wú)需經(jīng)過(guò)復(fù)雜的軟件程序部署,若增加副本數(shù)量,則只需要額外增加擴(kuò)展內(nèi)存設(shè)備即可,簡(jiǎn)化部署操作的同時(shí),提高部署效率。本申請(qǐng)?jiān)诳刂破鞴收蠒r(shí),無(wú)需受限于數(shù)據(jù)副本數(shù)量的設(shè)置,而是實(shí)現(xiàn)n-1個(gè)控制器同時(shí)故障可以通過(guò)其他控制器在擴(kuò)展內(nèi)存的副本數(shù)據(jù)進(jìn)行存儲(chǔ),且擴(kuò)展內(nèi)存的數(shù)量多個(gè)的情況下,不會(huì)丟失副本數(shù)據(jù)。在控制器故障的基礎(chǔ)上,還可以做到交換機(jī)和/或擴(kuò)展內(nèi)存故障時(shí),由于副本數(shù)量較多,只要留有一個(gè)副本數(shù)據(jù),即可完成數(shù)據(jù)訪問(wèn)存儲(chǔ),也就實(shí)現(xiàn)m-1個(gè)交換機(jī)同時(shí)故障、p-1個(gè)擴(kuò)展內(nèi)存同時(shí)故障在對(duì)應(yīng)的冗余器件中進(jìn)行副本數(shù)據(jù)存儲(chǔ)即可,提高存儲(chǔ)系統(tǒng)的高可用。
15、因此,可以解決常規(guī)的技術(shù)方案均是以一框四控的標(biāo)準(zhǔn)對(duì)控制器數(shù)量和數(shù)據(jù)副本數(shù)量的擴(kuò)展,導(dǎo)致增加控制器內(nèi)存空間和成本,受限于機(jī)框的限制,互連性較差且存儲(chǔ)系統(tǒng)的高可用較差的技術(shù)問(wèn)題,達(dá)到打破一框四控的標(biāo)準(zhǔn)擴(kuò)展,控制器的內(nèi)存緩存數(shù)據(jù)從控制器內(nèi)部的dram內(nèi)存解耦到外部的擴(kuò)展內(nèi)存。節(jié)省器件成本的同時(shí),提高內(nèi)存的占用空間,實(shí)現(xiàn)控制器和數(shù)據(jù)副本的橫向擴(kuò)展的同時(shí),簡(jiǎn)化部署操作,允許n-1個(gè)控制器同時(shí)故障,m-1個(gè)交換機(jī)同時(shí)故障和/或p-1個(gè)數(shù)據(jù)副本對(duì)應(yīng)的擴(kuò)展內(nèi)存故障的情況下能夠完成數(shù)據(jù)訪問(wèn)處理,提高存儲(chǔ)系統(tǒng)的高可用性的技術(shù)效果。
1.一種存儲(chǔ)集群,其特征在于,包括控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元,控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元內(nèi)的器件數(shù)量為多個(gè),且各自單元內(nèi)存在各自對(duì)應(yīng)的冗余器件;
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)集群,其特征在于,所述交換機(jī)單元的多個(gè)交換機(jī)處于并列關(guān)系,各控制器均連接多個(gè)交換機(jī),多個(gè)交換機(jī)與多個(gè)擴(kuò)展內(nèi)存呈一對(duì)一的連接關(guān)系。
3.根據(jù)權(quán)利要求2所述的存儲(chǔ)集群,其特征在于,一個(gè)擴(kuò)展內(nèi)存中內(nèi)保存所有控制器的副本數(shù)據(jù),擴(kuò)展內(nèi)存的數(shù)量、交換機(jī)的數(shù)量與所述控制器的數(shù)據(jù)副本數(shù)量相同。
4.根據(jù)權(quán)利要求1所述的存儲(chǔ)集群,其特征在于,所述交換機(jī)單元的多個(gè)交換機(jī)處于級(jí)聯(lián)關(guān)系,各控制器均連接第一級(jí)聯(lián)交換機(jī),第一級(jí)聯(lián)交換機(jī)的部分端口連接第二級(jí)聯(lián)交換機(jī)和部分?jǐn)U展內(nèi)存;第二級(jí)聯(lián)交換機(jī)連接剩余擴(kuò)展內(nèi)存,以將各控制器的副本數(shù)據(jù)存儲(chǔ)至多個(gè)擴(kuò)展內(nèi)存。
5.一種存儲(chǔ)系統(tǒng),其特征在于,包括主機(jī)和至少一個(gè)由上述權(quán)利要求1至4任意一項(xiàng)所述的存儲(chǔ)集群;
6.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于存儲(chǔ)集群,包括控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元,控制器單元、交換機(jī)單元和擴(kuò)展內(nèi)存單元內(nèi)的器件數(shù)量為多個(gè),且各自單元內(nèi)存在各自對(duì)應(yīng)的冗余器件;控制器單元的多個(gè)控制器均與主機(jī)連接,且分別與交換機(jī)單元的多個(gè)交換機(jī)連接;交換機(jī)單元的多個(gè)交換機(jī)對(duì)應(yīng)連接擴(kuò)展內(nèi)存單元的多個(gè)擴(kuò)展內(nèi)存,且在多個(gè)擴(kuò)展內(nèi)存中各自存儲(chǔ)多個(gè)控制器的副本數(shù)據(jù);所述方法包括:
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理方法,其特征在于,所述數(shù)據(jù)訪問(wèn)請(qǐng)求對(duì)應(yīng)的處理過(guò)程,具體包括:
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)處理方法,其特征在于,根據(jù)所述寫入成功指令對(duì)所述目標(biāo)緩存數(shù)據(jù)進(jìn)行異步刷寫處理,以寫入至硬盤,包括:
9.根據(jù)權(quán)利要求7或8所述的數(shù)據(jù)處理方法,其特征在于,在根據(jù)所述寫入成功指令對(duì)所述目標(biāo)緩存數(shù)據(jù)進(jìn)行異步刷寫處理,以寫入至硬盤之后,還包括:
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理方法,其特征在于,在響應(yīng)主機(jī)的寫入硬盤成功指令之后,還包括:
11.根據(jù)權(quán)利要求7所述的數(shù)據(jù)處理方法,其特征在于,在目標(biāo)控制器故障時(shí),控制目標(biāo)控制器對(duì)應(yīng)的冗余器件根據(jù)所述數(shù)據(jù)訪問(wèn)請(qǐng)求進(jìn)行目標(biāo)控制器的副本數(shù)據(jù)處理,包括:
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理方法,其特征在于,根據(jù)所述接管控制器的邏輯地址對(duì)所述目標(biāo)控制器的物理內(nèi)存地址進(jìn)行接管處理,包括:
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理方法,其特征在于,控制其余控制器修改自身的邏輯地址,包括:
14.根據(jù)權(quán)利要求11至13任意一項(xiàng)所述的數(shù)據(jù)處理方法,其特征在于,在目標(biāo)控制器故障恢復(fù)之后,還包括:
15.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理方法,其特征在于,在目標(biāo)擴(kuò)展內(nèi)存和/或目標(biāo)交換機(jī)故障時(shí),控制目標(biāo)擴(kuò)展內(nèi)存和/或目標(biāo)交換機(jī)對(duì)應(yīng)的冗余器件根據(jù)所述數(shù)據(jù)訪問(wèn)請(qǐng)求進(jìn)行目標(biāo)控制器的副本數(shù)據(jù)處理,包括:
16.根據(jù)權(quán)利要求15所述的數(shù)據(jù)處理方法,其特征在于,目標(biāo)擴(kuò)展內(nèi)存和/或目標(biāo)交換機(jī)故障恢復(fù)處理過(guò)程,包括:
17.根據(jù)權(quán)利要求15所述的數(shù)據(jù)處理方法,其特征在于,所述目標(biāo)控制器的故障數(shù)量允許范圍小于或者等于控制器的總數(shù)量減1;所述目標(biāo)交換機(jī)的故障數(shù)量允許范圍小于或者等于交換機(jī)的總數(shù)量減1;所述目標(biāo)擴(kuò)展內(nèi)存的故障數(shù)量允許范圍小于或者等于擴(kuò)展內(nèi)存的總數(shù)量減1;在所述目標(biāo)控制器、所述目標(biāo)交換機(jī)和/或所述目標(biāo)擴(kuò)展內(nèi)存各自的同時(shí)故障數(shù)量達(dá)到對(duì)應(yīng)的故障數(shù)量允許范圍的最大范圍時(shí),所述目標(biāo)控制器、所述目標(biāo)交換機(jī)和所述目標(biāo)擴(kuò)展內(nèi)存各自對(duì)應(yīng)的冗余器件為1個(gè)。
18.一種電子設(shè)備,其特征在于,包括:
19.一種非易失性存儲(chǔ)介質(zhì),其特征在于,所述非易失性存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求6至17任一項(xiàng)所述數(shù)據(jù)處理方法的步驟。
20.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求6至17任一項(xiàng)所述數(shù)據(jù)處理方法的步驟。