【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及存儲(chǔ),特別是涉及一種元數(shù)據(jù)存儲(chǔ)方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)。
技術(shù)介紹
1、在存儲(chǔ)系統(tǒng)中,精簡(jiǎn)卷所實(shí)際占用的存儲(chǔ)空間會(huì)隨著用戶實(shí)際使用容量的增加而增長(zhǎng)、相較于全分配卷所占用的存儲(chǔ)空間更加靈活。
2、精簡(jiǎn)卷除了需要存儲(chǔ)用戶數(shù)據(jù)外、還產(chǎn)生和存儲(chǔ)元數(shù)據(jù)、用于將用戶可用空間地址和卷實(shí)際占用空間地址做地址映射;元數(shù)據(jù)也會(huì)存在硬盤中,但為防止訪問硬盤中的元數(shù)據(jù)成為性能瓶頸、需要將經(jīng)常用到的或新產(chǎn)生的元數(shù)據(jù)緩存在內(nèi)存中,元數(shù)據(jù)對(duì)正確找到用戶數(shù)據(jù)至關(guān)重要。
3、元數(shù)據(jù)鏡像機(jī)制可對(duì)位于內(nèi)存中的元數(shù)據(jù)做冗余保護(hù),即在一個(gè)存儲(chǔ)服務(wù)器中有兩個(gè)及以上控制器處于正常提供服務(wù)的狀態(tài)時(shí)、每?jī)蓚€(gè)控制器處于結(jié)隊(duì)狀態(tài),在寫入用戶數(shù)據(jù)過程中對(duì)一個(gè)控制器節(jié)點(diǎn)的元數(shù)據(jù)的新增/修改操作會(huì)通過事務(wù)方式同步到與之結(jié)隊(duì)的控制器節(jié)點(diǎn)以提供元數(shù)據(jù)備份。
4、當(dāng)有節(jié)點(diǎn)發(fā)生故障無法繼續(xù)提供服務(wù)時(shí)、與之結(jié)隊(duì)的節(jié)點(diǎn)就會(huì)落單,如果當(dāng)前能正常在線提供服務(wù)的節(jié)點(diǎn)數(shù)量大于等于兩個(gè),則會(huì)有新的節(jié)點(diǎn)與發(fā)生故障節(jié)點(diǎn)的結(jié)隊(duì)節(jié)點(diǎn)重新組隊(duì)結(jié)成新的鏡像對(duì),當(dāng)有此前故障節(jié)點(diǎn)發(fā)生恢復(fù)重新加入集群時(shí)、該節(jié)點(diǎn)也會(huì)與某個(gè)當(dāng)前在線節(jié)點(diǎn)結(jié)成鏡像對(duì),這個(gè)過程叫做重鏡像。
5、由于元數(shù)據(jù)保存著卷的用戶可用空間地址到真實(shí)空間地址的映射、對(duì)查找用戶數(shù)據(jù)至關(guān)重要、如果元數(shù)據(jù)丟失可能會(huì)導(dǎo)致一片用戶數(shù)據(jù)的丟失,元數(shù)據(jù)鏡像可以提供對(duì)元數(shù)據(jù)保護(hù)的同時(shí)盡可能的減少對(duì)性能的影響。但是,當(dāng)一個(gè)鏡像對(duì)的兩個(gè)控制器都同時(shí)故障時(shí),即使系統(tǒng)中還有多個(gè)存活節(jié)點(diǎn),整個(gè)系統(tǒng)也無法再繼續(xù)處理業(yè)務(wù)了,導(dǎo)致存儲(chǔ)
6、綜上所述,如何有效地解決提高存儲(chǔ)系統(tǒng)的業(yè)務(wù)可靠性等問題,是目前本領(lǐng)域技術(shù)人員急需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的目的是提供一種元數(shù)據(jù)存儲(chǔ)方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì),能夠有效解決元數(shù)據(jù)存儲(chǔ)問題,可以有效提升存儲(chǔ)系統(tǒng)的業(yè)務(wù)可靠性。
2、為解決上述技術(shù)問題,本申請(qǐng)?zhí)峁┤缦录夹g(shù)方案:
3、一種元數(shù)據(jù)存儲(chǔ)方法,包括:
4、響應(yīng)讀寫請(qǐng)求,確定出待鏡像同步的元數(shù)據(jù)記錄;
5、從與所述讀寫請(qǐng)求對(duì)應(yīng)的元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中,讀取待同步節(jié)點(diǎn)集合;其中,所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)與本地節(jié)點(diǎn)同屬于一個(gè)鏡像組;
6、向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像;
7、接收節(jié)點(diǎn)反饋的應(yīng)答消息后,從所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的未應(yīng)答節(jié)點(diǎn)集合中,刪除已應(yīng)答節(jié)點(diǎn);
8、確定節(jié)點(diǎn)故障的情況下,在所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的故障丟失節(jié)點(diǎn)集合添加故障節(jié)點(diǎn);
9、結(jié)合所述未應(yīng)答節(jié)點(diǎn)集合和所述故障丟失節(jié)點(diǎn)集合,進(jìn)行所述元數(shù)據(jù)記錄在所述鏡像組中同步完成確認(rèn)。
10、優(yōu)選地,向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像,包括:
11、向節(jié)點(diǎn)發(fā)送所述元數(shù)據(jù)操作鏡像;
12、接收關(guān)于所述元數(shù)據(jù)操作鏡像的回調(diào),并利用回調(diào)變量進(jìn)行回調(diào)計(jì)數(shù);
13、若所述回調(diào)次數(shù)與所述待同步節(jié)點(diǎn)集合的節(jié)點(diǎn)數(shù)一致,則完成發(fā)送。
14、優(yōu)選地,在響應(yīng)讀寫請(qǐng)求,確定出待鏡像同步的元數(shù)據(jù)記錄之前,還包括:
15、從系統(tǒng)中獲取所述鏡像組中節(jié)點(diǎn)的唯一標(biāo)識(shí);
16、將所述唯一標(biāo)識(shí)存入所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的待同步節(jié)點(diǎn)集合。
17、優(yōu)選地,包括:
18、在多線程操作場(chǎng)景下,修改所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)進(jìn)行修改過程中,利用線程鎖進(jìn)行數(shù)據(jù)保護(hù)。
19、優(yōu)選地,向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像,包括:
20、在向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像的過程中,獲取向每個(gè)節(jié)點(diǎn)發(fā)送的事務(wù)信息;
21、在所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的發(fā)送事務(wù)鏈表中記錄所述事務(wù)信息;
22、相應(yīng)的,記錄所述事務(wù)信息之后,在重鏡像過程中,包括:
23、在故障后恢復(fù)或節(jié)點(diǎn)新加入后,進(jìn)入節(jié)點(diǎn)擴(kuò)展階段;
24、在所述節(jié)點(diǎn)擴(kuò)展階段,從系統(tǒng)中獲取鏡像組配對(duì)關(guān)系;
25、利用所述鏡像組配對(duì)關(guān)系,確定新加入節(jié)點(diǎn)是否屬于所述鏡像組;
26、如果是,則獲取所述發(fā)送事務(wù)鏈表;
27、利用所述發(fā)送事務(wù)鏈表中記錄的事務(wù)信息,從所述鏡像組中確定存活的目標(biāo)節(jié)點(diǎn);
28、將所述目標(biāo)節(jié)點(diǎn)中的元數(shù)據(jù)信息同步到新加入節(jié)點(diǎn)中;
29、獲取所述新加入節(jié)點(diǎn)的唯一標(biāo)識(shí);
30、將所述唯一標(biāo)識(shí)存入所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的待同步節(jié)點(diǎn)集合;
31、在故障恢復(fù)的交換階段,調(diào)整鏡像組隊(duì)關(guān)系;
32、按照新鏡像組隊(duì)關(guān)系,將變動(dòng)節(jié)點(diǎn)從所述鏡像組中移除。
33、優(yōu)選地,確定節(jié)點(diǎn)故障的情況下,在所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的故障丟失節(jié)點(diǎn)集合添加故障節(jié)點(diǎn),包括:
34、從系統(tǒng)中獲取節(jié)點(diǎn)故障信息;
35、利用所述節(jié)點(diǎn)故障信息確定故障節(jié)點(diǎn);
36、利用所述發(fā)送事務(wù)鏈表中記錄的事務(wù)信息,判斷是否向所述故障節(jié)點(diǎn)發(fā)送所述元數(shù)據(jù)操作鏡像;
37、如果是,則在所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的故障丟失節(jié)點(diǎn)集合添加所述故障節(jié)點(diǎn),并從所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的未應(yīng)答節(jié)點(diǎn)集合中,刪除所述故障節(jié)點(diǎn)。
38、優(yōu)選地,結(jié)合所述未應(yīng)答節(jié)點(diǎn)集合和所述故障丟失節(jié)點(diǎn)集合,進(jìn)行所述元數(shù)據(jù)記錄在所述鏡像組中同步完成確認(rèn),包括:
39、判斷所述未應(yīng)答節(jié)點(diǎn)集合是否為空;
40、如果是,則確定在所述鏡像組中已同步完成所述元數(shù)據(jù)記錄;
41、如果否,則獲取所述故障丟失節(jié)點(diǎn)集合;
42、若所述未應(yīng)答節(jié)點(diǎn)集合中的節(jié)點(diǎn)均屬于所述故障丟失節(jié)點(diǎn)集合,則確定在所述鏡像組中已同步完成所述元數(shù)據(jù)記錄;
43、若所述未應(yīng)答節(jié)點(diǎn)集合中的節(jié)點(diǎn)不屬于所述故障丟失節(jié)點(diǎn)集合,則確定在所述鏡像組中未完成所述元數(shù)據(jù)記錄。
44、一種元數(shù)據(jù)存儲(chǔ)裝置,其特征在于,包括:
45、元數(shù)據(jù)更新模塊,用于響應(yīng)讀寫請(qǐng)求,確定出待鏡像同步的元數(shù)據(jù)記錄;
46、同步節(jié)點(diǎn)確定模塊,用于從與所述讀寫請(qǐng)求對(duì)應(yīng)的元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中,讀取待同步節(jié)點(diǎn)集合;其中,所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)與本地節(jié)點(diǎn)同屬于一個(gè)鏡像組;
47、消息發(fā)送模塊,用于向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像;
48、應(yīng)答管理模塊,用于接收節(jié)點(diǎn)反饋的應(yīng)答消息后,從所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的未應(yīng)答節(jié)點(diǎn)集合中,刪除已應(yīng)答節(jié)點(diǎn);
49、故障管理模塊,用于確定節(jié)點(diǎn)故障的情況下,在所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的故障丟失節(jié)點(diǎn)集合添加故障節(jié)點(diǎn);
50、同步完成確定模塊,用于在所述未應(yīng)答節(jié)點(diǎn)集合為空,或所述未應(yīng)答節(jié)點(diǎn)集合與所述故障丟失節(jié)點(diǎn)集合相等的情況下,確定所述元數(shù)據(jù)記錄在所述鏡像組中同步完成。
51、一種電子設(shè)備本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種元數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在響應(yīng)讀寫請(qǐng)求,確定出待鏡像同步的元數(shù)據(jù)記錄之前,還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,確定節(jié)點(diǎn)故障的情況下,在所述元數(shù)據(jù)操作事務(wù)描述結(jié)構(gòu)中的故障丟失節(jié)點(diǎn)集合添加故障節(jié)點(diǎn),包括:
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于,結(jié)合所述未應(yīng)答節(jié)點(diǎn)集合和所述故障丟失節(jié)點(diǎn)集合,進(jìn)行所述元數(shù)據(jù)記錄在所述鏡像組中同步完成確認(rèn),包括:
8.一種元數(shù)據(jù)存儲(chǔ)裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種可讀存儲(chǔ)介質(zhì),其特征在于,所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)
...【技術(shù)特征摘要】
1.一種元數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在響應(yīng)讀寫請(qǐng)求,確定出待鏡像同步的元數(shù)據(jù)記錄之前,還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,向所述待同步節(jié)點(diǎn)集合中的節(jié)點(diǎn)發(fā)送元數(shù)據(jù)操作鏡像,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,確定節(jié)點(diǎn)故障的情...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:朱宇宸,剛亞州,王艷清,
申請(qǐng)(專利權(quán))人:蘇州元腦智能科技有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。