一種動態(tài)副本一致性維護系統(tǒng)、方法及云存儲平臺的制作方法
【技術領域】
[0001]本發(fā)明涉及云存儲技術領域,特別涉及一種動態(tài)副本一致性維護系統(tǒng)、方法及云存儲平臺。
【背景技術】
[0002]目前,云存儲系統(tǒng)中通常會采用副本一致性維護方法,以實現(xiàn)副本之間的同步,例如基于強一致性或弱一致性的原則對副本進行一致性維護處理。然而,當前的云存儲系統(tǒng)中要么是基于強一致性的原則對副本進行一致性維護,要么是基于弱一致性的原則對副本進行一致性維護處理,其中,基于強一致性的副本維護過程雖然能夠確保副本中具有最新的數(shù)據(jù),從而有利于提升副本的訪問效率,但是卻會消耗大量的系統(tǒng)資源;而基于弱一致性的副本維護過程雖然消耗的系統(tǒng)資源較少,但是副本的訪問效率較低。
[0003]綜上所述可以看出,如何在副本的維護過程中,既要避免消耗過多的系統(tǒng)資源,也要保證一定的副本訪問效率是目前有待解決的問題。
【發(fā)明內容】
[0004]有鑒于此,本發(fā)明的目的在于提供一種動態(tài)副本一致性維護系統(tǒng)、方法及云存儲平臺,在副本的維護過程中,既避免了消耗過多的系統(tǒng)資源,也保證了一定的副本訪問效率。其具體方案如下:
[0005]—種動態(tài)副本一致性維護系統(tǒng),應用于云存儲平臺,所述云存儲平臺包括客戶端、元數(shù)據(jù)服務器端和存儲服務器端;所述系統(tǒng)包括:
[0006]請求接收模塊,用于接收所述客戶端以強一致性原則,向所述元數(shù)據(jù)服務器端發(fā)送的副本更新請求;
[0007]文件獲取模塊,用于當所述元數(shù)據(jù)服務器端對所述請求接收模塊接收到的副本更新請求進行響應后,獲取所述元數(shù)據(jù)服務器端中相應的更新文件隊列;
[0008]弱一致性維護模塊,用于利用所述更新文件隊列,在所述元數(shù)據(jù)服務器端與所述存儲服務器端之間執(zhí)行副本的弱一致性維護處理。
[0009]優(yōu)選的,所述弱一致性維護模塊包括:
[0010]熱度信息獲取子模塊,用于獲取所述存儲服務器端的訪問熱度文件列表;
[0011 ]文件排序子模塊,用于根據(jù)所述更新文件隊列與所述訪問熱度文件列表之間的交集文件,對所述更新文件隊列進行排序,相應地得到待更新文件優(yōu)先隊列;
[0012]副本節(jié)點定位子模塊,用于對所述待更新文件優(yōu)先隊列中的每一份待更新文件所對應的位于所述存儲服務器端的副本節(jié)點進行定位,相應地得到待更新副本節(jié)點列表;
[0013]弱一致性維護子模塊,用于利用所述待更新文件優(yōu)先隊列,對所述待更新副本節(jié)點列表中的每一副本節(jié)點進行一致性維護。
[0014]優(yōu)選的,所述文件排序子模塊包括:
[0015]第一排序單元,用于當所述更新文件隊列與所述訪問熱度文件列表之間交集文件的數(shù)量為O時,將所述更新文件隊列中的隊列順序確定為所述待更新文件優(yōu)先隊列的隊列順序;
[0016]第二排序單元,用于當所述更新文件隊列與所述訪問熱度文件列表之間交集文件的數(shù)量為I時,將該交集文件迀移至所述更新文件隊列的隊列頭部,剩余文件的相對位置保持不變,得到相應的待更新文件優(yōu)先隊列;其中,隊列頭部的優(yōu)先級高于隊列尾部的優(yōu)先級;
[0017]第三排序單元,用于當所述更新文件隊列與所述訪問熱度文件列表之間交集文件的數(shù)量大于I時,根據(jù)每一個交集文件的更新權重值,對所有的交集文件進行優(yōu)先級排序,并將排序后的所有交集文件迀移至所述更新文件隊列的隊列頭部,剩余文件的相對位置保持不變,得到相應的待更新文件優(yōu)先隊列。
[0018]優(yōu)選的,交集文件的更新權重值為根據(jù)熱度更新比以及未更新副本文件數(shù)進行確定的數(shù)值;其中,所述熱度更新比為副本文件的更新概率與副本文件的訪問熱度之間的比值。
[0019]優(yōu)選的,所述弱一致性維護子模塊包括:
[0020]節(jié)點負載信息收集單元,用于收集所述待更新副本節(jié)點列表中每一副本節(jié)點所對應的負載;
[0021]節(jié)點排序單元,用于基于負載越小優(yōu)先級越高的排序原則,相應地對所述待更新副本節(jié)點列表中的副本節(jié)點進行排序,得到待更新副本節(jié)點優(yōu)先隊列;
[0022 ] 一致性維護單元,用于按照所述待更新副本節(jié)點優(yōu)先隊列中每一副本節(jié)點的優(yōu)先級順序,通過利用所述待更新文件優(yōu)先隊列,依次對所述待更新副本節(jié)點優(yōu)先隊列中的每一副本節(jié)點進行一致性維護。
[0023]本發(fā)明還公開了一種動態(tài)副本一致性維護方法,應用于云存儲平臺,所述云存儲平臺包括客戶端、元數(shù)據(jù)服務器端和存儲服務器端;所述方法包括:
[0024]接收所述客戶端以強一致性原則,向所述元數(shù)據(jù)服務器端發(fā)送的副本更新請求;
[0025]當所述元數(shù)據(jù)服務器端對接收到的副本更新請求進行響應后,獲取所述元數(shù)據(jù)服務器端中相應的更新文件隊列;
[0026]利用所述更新文件隊列,在所述元數(shù)據(jù)服務器端與所述存儲服務器端之間執(zhí)行副本的弱一致性維護處理。
[0027]優(yōu)選的,所述利用所述更新文件隊列,在所述元數(shù)據(jù)服務器端與所述存儲服務器端之間執(zhí)行副本的弱一致性維護處理的過程,包括:
[0028]獲取所述存儲服務器端的訪問熱度文件列表;
[0029]根據(jù)所述更新文件隊列與所述訪問熱度文件列表之間的交集文件,對所述更新文件隊列進行排序,相應地得到待更新文件優(yōu)先隊列;
[0030]對所述待更新文件優(yōu)先隊列中的每一份待更新文件所對應的位于所述存儲服務器端的副本節(jié)點進行定位,相應地得到待更新副本節(jié)點列表;
[0031 ]利用所述待更新文件優(yōu)先隊列,對所述待更新副本節(jié)點列表中的每一副本節(jié)點進行一致性維護。
[0032]優(yōu)選的,所述根據(jù)所述更新文件隊列與所述訪問熱度文件列表之間的交集文件,對所述更新文件隊列進行排序,相應地得到待更新文件優(yōu)先隊列的過程,包括:
[0033]當所述更新文件隊列與所述訪問熱度文件列表之間交集文件的數(shù)量為O時,將所述更新文件隊列中的隊列順序確定為所述待更新文件優(yōu)先隊列的隊列順序;
[0034]當所述更新文件隊列與所述訪問熱度文件列表之間交集文件的數(shù)量為I時,將該交集文件迀移至所述更新文件隊列的隊列頭部,剩余文件的相對位置保持不變,得到相應的待更新文件優(yōu)先隊列;其中,隊列頭部的優(yōu)先級高于隊列尾部的優(yōu)先級;
[0035]當所述更新文件隊列與所述訪問熱度文件列表之間交集文件的數(shù)量大于I時,根據(jù)每一個交集文件的更新權重值,對所有的交集文件進行優(yōu)先級排序,并將排序后的所有交集文件迀移至所述更新文件隊列的隊列頭部,剩余文件的相對位置保持不變,得到相應的待更新文件優(yōu)先隊列;
[0036]其中,交集文件的更新權重值為根據(jù)熱度更新比以及未更新副本文件數(shù)進行確定的數(shù)值;所述熱度更新比為副本文件的更新概率與副本文件的訪問熱度之間的比值。
[0037]優(yōu)選的,所述利用所述待更新文件優(yōu)先隊列,對所述待更新副本節(jié)點列表中的每一副本節(jié)點進行一致性維護的過