亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)處理方法和系統(tǒng)的制作方法

文檔序號(hào):9579003閱讀:248來源:國(guó)知局
一種數(shù)據(jù)處理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到SAN存儲(chǔ)系統(tǒng)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法和系統(tǒng)。
【背景技術(shù)】
[0002]緩存在存儲(chǔ)系統(tǒng)的地位不言而喻,由于內(nèi)存訪問的延時(shí)比磁盤快5-6個(gè)數(shù)量級(jí),因此通常的做法是使用內(nèi)存作為存儲(chǔ)系統(tǒng)的緩存,用來直接存儲(chǔ)來自主機(jī)的10,而不直接訪問磁盤介質(zhì)。由于內(nèi)存與磁盤存在的性能差異,通過緩存系統(tǒng)可以非常明顯的提高存儲(chǔ)系統(tǒng)的讀寫性能,但是對(duì)主機(jī)端并發(fā)訪問多個(gè)控制器緩存所造成的數(shù)據(jù)不一致問題卻無能為力。

【發(fā)明內(nèi)容】

[0003]為了解決上述問題,本發(fā)明提出了一種數(shù)據(jù)處理方法和系統(tǒng),能夠保證分布在各個(gè)控制器上的緩存數(shù)據(jù),在并發(fā)訪問的情況下仍能保證最終一致,防止由此造成的數(shù)據(jù)不一致問題。
[0004]為了達(dá)到上述目的,本發(fā)明提出了一種數(shù)據(jù)處理方法,該方法包括:
[0005]接收數(shù)據(jù)讀寫請(qǐng)求。
[0006]將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Leader控制器。
[0007]由Leader控制器根據(jù)預(yù)設(shè)的控制器狀態(tài)位圖決策能否將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Follower控制器直接進(jìn)行處理。
[0008]當(dāng)Follower控制器能夠?qū)υ摂?shù)據(jù)讀寫請(qǐng)求直接處理時(shí),將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給Follower控制器直接進(jìn)行處理,并反饋能夠直接處理的反饋信息;當(dāng)Follower控制器不能夠?qū)υ摂?shù)據(jù)讀寫請(qǐng)求直接處理時(shí),將該數(shù)據(jù)讀寫請(qǐng)求記錄為等待信息,并將等待信息廣播給全部Follower控制器。
[0009]優(yōu)選地,該方法還包括:當(dāng)有等待消息存在時(shí),在任意一個(gè)Follower控制器對(duì)當(dāng)前處理的數(shù)據(jù)讀寫請(qǐng)求處理完畢以后,將Follower控制器對(duì)數(shù)據(jù)讀寫請(qǐng)求處理完畢的消息通知Leader控制器。
[0010]由Leader控制器向該Follower控制器分配記錄為等待消息的數(shù)據(jù)讀寫請(qǐng)求。
[0011]優(yōu)選地,控制器狀態(tài)位圖包含存儲(chǔ)系統(tǒng)中全部控制器的狀態(tài)信息和等級(jí)信息。
[0012]其中,全部控制器包括Leader控制器和一個(gè)或多個(gè)Follower控制器;Leader控制器決策數(shù)據(jù)讀寫請(qǐng)求能否被處理以及處理該數(shù)據(jù)讀寫請(qǐng)求的Follower控制器。
[0013]控制器的狀態(tài)信息是指:控制器異常與否的信息以及該控制器當(dāng)前應(yīng)用情況的信息。
[0014]控制器的等級(jí)信息是指:控制器當(dāng)前的角色權(quán)限是Leader控制器還是Follower控制器的信息。
[0015]優(yōu)選地,該方法還包括:
[0016]每一個(gè)控制器定時(shí)向除自身以外的其它控制器發(fā)送第一心跳信息,并隨時(shí)接收其它控制器發(fā)出的第二心跳信息;通過第二心跳信息判斷其它控制器的狀態(tài)信息和等級(jí)信息;并根據(jù)第二心跳信息更新自身存儲(chǔ)的控制器狀態(tài)位圖。
[0017]優(yōu)選地,該方法還包括:
[0018]將數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Leader控制器之前,通過控制器狀態(tài)位圖確定全部控制器中的Leader控制器和Follower控制器,并確定每一個(gè)控制器是否異常。
[0019]當(dāng)檢測(cè)到控制器出現(xiàn)異常時(shí),確定出現(xiàn)異常的控制器是Leader控制器還是Follower控制器;當(dāng)出現(xiàn)異常的控制器是Leader控制器時(shí),根據(jù)預(yù)設(shè)的選擇策略重新選擇Leader控制器;當(dāng)出現(xiàn)異常的控制器是Fo 1 lower控制器時(shí),直接剔除出現(xiàn)異常的Fo 1 lower控制器。
[0020]為了達(dá)到上述目的,本發(fā)明還提出了一種數(shù)據(jù)處理系統(tǒng),該系統(tǒng)包括:接收模塊、發(fā)送模塊、決策模塊和處理模塊。
[0021]接收模塊,用于接收數(shù)據(jù)讀寫請(qǐng)求。
[0022]發(fā)送模塊,用于將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Leader控制器。
[0023]決策模塊,用于根據(jù)預(yù)設(shè)的控制器狀態(tài)位圖決策能否將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Follower控制器直接進(jìn)行處理。
[0024]處理模塊,用于當(dāng)Follower控制器能夠?qū)υ摂?shù)據(jù)讀寫請(qǐng)求直接處理時(shí),將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給Follower控制器直接進(jìn)行處理,并反饋能夠直接處理的反饋信息;當(dāng)Follower控制器不能夠?qū)υ摂?shù)據(jù)讀寫請(qǐng)求直接處理時(shí),將該數(shù)據(jù)讀寫請(qǐng)求記錄為等待信息,并將等待信息廣播給全部Follower控制器。
[0025]優(yōu)選地,該系統(tǒng)還包括:通知模塊和分配模塊。
[0026]通知模塊,用于當(dāng)有等待消息存在時(shí),在任意一個(gè)Follower控制器對(duì)當(dāng)前處理的數(shù)據(jù)讀寫請(qǐng)求處理完畢以后,將Follower控制器對(duì)數(shù)據(jù)讀寫請(qǐng)求處理完畢的消息通知Leader控制器。
[0027]分配模塊,用于向該Follower控制器分配記錄為等待消息的數(shù)據(jù)讀寫請(qǐng)求。
[0028]優(yōu)選地,控制器狀態(tài)位圖包含存儲(chǔ)系統(tǒng)中全部控制器的狀態(tài)信息和等級(jí)信息。
[0029]其中,全部控制器包括Leader控制器和一個(gè)或多個(gè)Follower控制器;Leader控制器決策數(shù)據(jù)讀寫請(qǐng)求能否被處理以及處理該數(shù)據(jù)讀寫請(qǐng)求的Follower控制器。
[0030]控制器的狀態(tài)信息是指:控制器異常與否的信息以及該控制器當(dāng)前應(yīng)用情況的信息。
[0031]控制器的等級(jí)信息是指:控制器當(dāng)前的角色權(quán)限是Leader控制器還是Follower控制器的信息。
[0032]優(yōu)選地,該系統(tǒng)還包括:心跳模塊;心跳模塊位于每一個(gè)控制器中。
[0033]心跳模塊,用于定時(shí)向除自身以外的其它控制器發(fā)送第一心跳信息,并隨時(shí)接收其它控制器發(fā)出的第二心跳信息;通過第二心跳信息判斷其它控制器的狀態(tài)信息和等級(jí)信息;并根據(jù)第二心跳信息更新自身存儲(chǔ)的控制器狀態(tài)位圖。
[0034]優(yōu)選地,該系統(tǒng)還包括:第一確定模塊和第二確定模塊。
[0035]第一確定模塊,用于將數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Leader控制器之前,通過控制器狀態(tài)位圖確定全部控制器中的Leader控制器和Follower控制器,并確定每一個(gè)控制器是否異常。
[0036]第二確定模塊,用于當(dāng)檢測(cè)到控制器出現(xiàn)異常時(shí),確定出現(xiàn)異常的控制器是Leader控制器還是Follower控制器;當(dāng)出現(xiàn)異常的控制器是Leader控制器時(shí),根據(jù)預(yù)設(shè)的選擇策略重新選擇Leader控制器;當(dāng)出現(xiàn)異常的控制器是Follower控制器時(shí),直接剔除出現(xiàn)異常的Follower控制器。
[0037]與現(xiàn)有技術(shù)相比,本發(fā)明包括:接收數(shù)據(jù)讀寫請(qǐng)求。將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Leader控制器。由Leader控制器根據(jù)預(yù)設(shè)的控制器狀態(tài)位圖決策能否將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給預(yù)設(shè)的Follower控制器直接進(jìn)行處理。當(dāng)Follower控制器能夠?qū)υ摂?shù)據(jù)讀寫請(qǐng)求直接處理時(shí),將該數(shù)據(jù)讀寫請(qǐng)求發(fā)送給Follower控制器直接進(jìn)行處理,并反饋能夠直接處理的反饋信息;當(dāng)Follower控制器不能夠?qū)υ摂?shù)據(jù)讀寫請(qǐng)求直接處理時(shí),將該數(shù)據(jù)讀寫請(qǐng)求記錄為等待信息,并將等待信息廣播給全部Follower控制器。通過本發(fā)明的方案,能夠保證分布在各個(gè)控制器上的緩存數(shù)據(jù),在并發(fā)訪問的情況下仍能保證最終一致,防止由此造成的數(shù)據(jù)不一致問題。
【附圖說明】
[0038]下面對(duì)本發(fā)明實(shí)施例中的附圖進(jìn)行說明,實(shí)施例中的附圖是用于對(duì)本發(fā)明的進(jìn)一步理解,與說明書一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制。
[0039]圖1為本發(fā)明的數(shù)據(jù)處理方法流程圖;
[0040]圖2為本發(fā)明實(shí)施例的控制器連接示意圖;
[0041]圖3為本發(fā)明的數(shù)據(jù)處理系統(tǒng)框圖。
【具體實(shí)施方式】
[0042]為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述,并不能用來限制本發(fā)明的保護(hù)范圍。
[0043]鑒于分布式存儲(chǔ)中緩存一致性所存在的問題,本發(fā)明提出了一種基于消息機(jī)制的緩存一致性決策方法,保證分布在各個(gè)控制器上緩存數(shù)據(jù),在并發(fā)訪問的情況
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1