欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)重分布方法及裝置的制造方法

文檔序號(hào):9217127閱讀:262來源:國(guó)知局
一種數(shù)據(jù)重分布方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)重分布方法及裝置。
【背景技術(shù)】
[0002]隨著大數(shù)據(jù)時(shí)代的到來,對(duì)于海量數(shù)據(jù)的存儲(chǔ)處理越來越重要。目前,主流的海量數(shù)據(jù)存儲(chǔ)技術(shù)是采用分布式存儲(chǔ)系統(tǒng)。
[0003]分布式存儲(chǔ)系統(tǒng)中有多個(gè)存儲(chǔ)節(jié)點(diǎn)和一個(gè)數(shù)據(jù)管理節(jié)點(diǎn),數(shù)據(jù)管理節(jié)點(diǎn)也可以和存儲(chǔ)節(jié)點(diǎn)合設(shè),通常按照一定的算法將數(shù)據(jù)塊分散存儲(chǔ)在各個(gè)存儲(chǔ)節(jié)點(diǎn)上,常用的算法有哈希算法、輪轉(zhuǎn)算法和隨機(jī)算法等,在數(shù)據(jù)管理節(jié)點(diǎn)中存儲(chǔ)所有存儲(chǔ)節(jié)點(diǎn)中所有數(shù)據(jù)塊的數(shù)據(jù)塊標(biāo)識(shí)及其對(duì)應(yīng)的地址。數(shù)據(jù)塊在各個(gè)存儲(chǔ)節(jié)點(diǎn)上分散存儲(chǔ),可以充分利用各個(gè)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)能力,也避免產(chǎn)生熱點(diǎn)。分布式存儲(chǔ)系統(tǒng)之所以用來存儲(chǔ)海量數(shù)據(jù),主要是因?yàn)槠錂M向擴(kuò)展能力強(qiáng),可以通過增加存儲(chǔ)節(jié)點(diǎn)數(shù)量進(jìn)一步擴(kuò)展系統(tǒng)的存儲(chǔ)能力和數(shù)據(jù)處理能力。當(dāng)分布式存儲(chǔ)系統(tǒng)擴(kuò)展后,需要對(duì)原有的存儲(chǔ)數(shù)據(jù)進(jìn)行重分布,以充分利用新增的存儲(chǔ)節(jié)點(diǎn)。數(shù)據(jù)重分布的過程需要按照最新的存儲(chǔ)節(jié)點(diǎn)數(shù)量,采用一定的算法重新計(jì)算,部分?jǐn)?shù)據(jù)會(huì)被遷移到新增的存儲(chǔ)節(jié)點(diǎn)上。
[0004]在數(shù)據(jù)重分布過程中,確定需要遷移的數(shù)據(jù)塊后,將該數(shù)據(jù)塊從原始存儲(chǔ)節(jié)點(diǎn)復(fù)制到目標(biāo)存儲(chǔ)節(jié)點(diǎn),然后將原始存儲(chǔ)節(jié)點(diǎn)中的該數(shù)據(jù)塊刪除,最后將數(shù)據(jù)管理節(jié)點(diǎn)中存儲(chǔ)的該數(shù)據(jù)塊的存儲(chǔ)地址更新為該數(shù)據(jù)塊在目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,則結(jié)束數(shù)據(jù)重分布的過程。在整個(gè)數(shù)據(jù)重分布過程中,如果在將原始存儲(chǔ)節(jié)點(diǎn)中的數(shù)據(jù)塊刪除之后,且還未將數(shù)據(jù)管理節(jié)點(diǎn)中該數(shù)據(jù)塊的存儲(chǔ)地址更新之前,此時(shí)訪問該數(shù)據(jù)塊,從數(shù)據(jù)管理節(jié)點(diǎn)中獲取的該數(shù)據(jù)塊的地址仍然是原始存儲(chǔ)節(jié)點(diǎn)中的地址,而原始存儲(chǔ)節(jié)點(diǎn)中的該數(shù)據(jù)塊已經(jīng)刪除,那么必將出現(xiàn)訪問錯(cuò)誤。
[0005]現(xiàn)有技術(shù)中,為了防止在數(shù)據(jù)重分布過程中,數(shù)據(jù)訪問錯(cuò)誤的出現(xiàn),通常會(huì)在數(shù)據(jù)重分布過程中將分布式存儲(chǔ)系統(tǒng)服務(wù)設(shè)置為不可用,即中斷分布式存儲(chǔ)系統(tǒng)的服務(wù)。然而數(shù)據(jù)重分布的過程,大量數(shù)據(jù)的遷移需要花費(fèi)很長(zhǎng)時(shí)間,這樣,又造成了分布式存儲(chǔ)系統(tǒng)服務(wù)的中斷時(shí)間較長(zhǎng)。

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

[0006]本發(fā)明實(shí)施例提供一種數(shù)據(jù)重分布方法及裝置,用以解決現(xiàn)有技術(shù)中存在的數(shù)據(jù)重分布過程中分布式存儲(chǔ)系統(tǒng)服務(wù)的中斷時(shí)間較長(zhǎng)的問題。
[0007]本發(fā)明實(shí)施例提供一種數(shù)據(jù)重分布方法,包括:
[0008]確定需要遷移的數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址和目標(biāo)存儲(chǔ)節(jié)點(diǎn);
[0009]在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)所述數(shù)據(jù)塊對(duì)應(yīng)的指針,所述數(shù)據(jù)塊對(duì)應(yīng)的指針指向所述數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址;
[0010]將數(shù)據(jù)管理節(jié)點(diǎn)中所述數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址,更新為所述數(shù)據(jù)塊對(duì)應(yīng)的指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址;
[0011]當(dāng)滿足遷移所述數(shù)據(jù)塊的預(yù)設(shè)觸發(fā)條件時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針;
[0012]將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址。
[0013]本發(fā)明實(shí)施例提供的方法,針對(duì)需要遷移的數(shù)據(jù)塊,在該數(shù)據(jù)塊的目標(biāo)存儲(chǔ)節(jié)點(diǎn)添加指向該數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址的指針,并將數(shù)據(jù)管理節(jié)點(diǎn)中該數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址更新為該指針在該目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,當(dāng)滿足預(yù)設(shè)觸發(fā)條件時(shí),將該數(shù)據(jù)塊進(jìn)行遷移。該過程中,如果是在數(shù)據(jù)管理節(jié)點(diǎn)更新地址之前,訪問該數(shù)據(jù)塊,從數(shù)據(jù)管理節(jié)點(diǎn)中獲取到的是該數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址,此時(shí)該存儲(chǔ)地址中仍存儲(chǔ)有該數(shù)據(jù)塊,則從該存儲(chǔ)地址中可以成功訪問該數(shù)據(jù)塊;如果是在數(shù)據(jù)管理節(jié)點(diǎn)更新地址之后,且未滿足預(yù)設(shè)觸發(fā)條件,該數(shù)據(jù)塊還未遷移到目標(biāo)存儲(chǔ)節(jié)點(diǎn)中之前,訪問該數(shù)據(jù)塊,從數(shù)據(jù)管理節(jié)點(diǎn)中獲取到的是該數(shù)據(jù)塊對(duì)應(yīng)的指針在目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,然后獲取該指針,也可以從該指針指向的地址中訪問到該數(shù)據(jù)塊;如果是在滿足預(yù)設(shè)觸發(fā)條件,該數(shù)據(jù)塊已經(jīng)遷移到目標(biāo)存儲(chǔ)節(jié)點(diǎn)之后,訪問該數(shù)據(jù)塊,那么從數(shù)據(jù)管理節(jié)點(diǎn)中獲取到目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,即可以訪問到該數(shù)據(jù)塊。因此,采用本發(fā)明實(shí)施例提供的方案,在上述幾種情況下訪問數(shù)據(jù)均不會(huì)出現(xiàn)訪問錯(cuò)誤,無需中斷存儲(chǔ)系統(tǒng)服務(wù),從而避免了存儲(chǔ)系統(tǒng)服務(wù)中斷時(shí)間較長(zhǎng)的問題。
[0014]進(jìn)一步的,當(dāng)滿足遷移所述數(shù)據(jù)塊的預(yù)設(shè)觸發(fā)條件時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針,具體包括:
[0015]當(dāng)?shù)竭_(dá)預(yù)設(shè)遷移周期時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針,或者
[0016]當(dāng)接收到遷移指令時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針,或者
[0017]當(dāng)接收到對(duì)所述數(shù)據(jù)塊的修改指令時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針。
[0018]進(jìn)一步的,在到達(dá)預(yù)設(shè)遷移周期之后,從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針之前,還包括:
[0019]確定當(dāng)前系統(tǒng)負(fù)載未超過預(yù)設(shè)負(fù)載閾值。
[0020]進(jìn)一步的,在接收到遷移指令之后,從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針之前,還包括:
[0021]確定當(dāng)前系統(tǒng)負(fù)載未超過預(yù)設(shè)負(fù)載閾值。
[0022]這樣,根據(jù)當(dāng)前系統(tǒng)負(fù)載情況確定是否進(jìn)行數(shù)據(jù)塊的遷移,有助于利用閑時(shí)資源,也避免導(dǎo)致負(fù)載過高,使系統(tǒng)資源的整體利用趨于平穩(wěn)。
[0023]進(jìn)一步的,在接收到對(duì)所述數(shù)據(jù)塊的修改指令,從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針之后,還包括:
[0024]根據(jù)所述修改指令,對(duì)所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊進(jìn)行修改;
[0025]將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,具體包括:
[0026]將所述指針指向的地址中存儲(chǔ)的最新的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址。
[0027]進(jìn)一步的,將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,具體包括:
[0028]將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,復(fù)制到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址;
[0029]在所述指針指向的地址中將存儲(chǔ)的數(shù)據(jù)塊刪除。
[0030]進(jìn)一步的,將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址之后,還包括:
[0031]將所述指針刪除。
[0032]這樣,數(shù)據(jù)遷移完成后,將原來的數(shù)據(jù)塊以及指針刪除,才能使存儲(chǔ)資源得到更充分的利用。
[0033]相應(yīng)的,本發(fā)明實(shí)施例還提供一種數(shù)據(jù)重分布裝置,包括:
[0034]計(jì)算單元,用于確定需要遷移的數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址和目標(biāo)存儲(chǔ)節(jié)點(diǎn);
[0035]指針創(chuàng)建單元,用于在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)所述數(shù)據(jù)塊對(duì)應(yīng)的指針,所述數(shù)據(jù)塊對(duì)應(yīng)的指針指向所述數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址;
[0036]地址更新單元,用于將數(shù)據(jù)管理節(jié)點(diǎn)中所述數(shù)據(jù)塊當(dāng)前的存儲(chǔ)地址,更新為所述數(shù)據(jù)塊對(duì)應(yīng)的指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址;
[0037]管理單元,用于當(dāng)滿足遷移所述數(shù)據(jù)塊的預(yù)設(shè)觸發(fā)條件時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針;并將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址。
[0038]進(jìn)一步的,所述管理單元,具體用于當(dāng)?shù)竭_(dá)預(yù)設(shè)遷移周期時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針,或者
[0039]當(dāng)接收到遷移指令時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針,或者
[0040]當(dāng)接收到對(duì)所述數(shù)據(jù)塊的修改指令時(shí),從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針。
[0041]進(jìn)一步的,所述管理單元,在到達(dá)預(yù)設(shè)遷移周期之后,從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針之前,還用于確定當(dāng)前系統(tǒng)負(fù)載未超過預(yù)設(shè)負(fù)載閾值。
[0042]進(jìn)一步的,所述管理單元,在接收到遷移指令之后,從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針之前,還用于確定當(dāng)前系統(tǒng)負(fù)載未超過預(yù)設(shè)負(fù)載閾值。
[0043]進(jìn)一步的,所述管理單元,在接收到對(duì)所述數(shù)據(jù)塊的修改指令,從所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中,獲取所述數(shù)據(jù)塊對(duì)應(yīng)的指針之后,還用于根據(jù)所述修改指令,對(duì)所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊進(jìn)行修改;
[0044]所述管理單元,將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,具體用于將所述指針指向的地址中存儲(chǔ)的最新的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址。
[0045]進(jìn)一步的,所述管理單元,將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,遷移到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址,具體用于將所述指針指向的地址中存儲(chǔ)的數(shù)據(jù)塊,復(fù)制到所述指針在所述目標(biāo)存儲(chǔ)節(jié)點(diǎn)中的存儲(chǔ)地址;并在所述指針指向的地址中將存儲(chǔ)的數(shù)據(jù)塊刪除。
[0046
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
岑溪市| 静海县| 青河县| 呼图壁县| 平舆县| 汝南县| 安阳市| 左云县| 红安县| 梧州市| 东港市| 黑龙江省| 铜陵市| 通城县| 霍州市| 格尔木市| 浏阳市| 南投县| 滕州市| 罗城| 新巴尔虎右旗| 清河县| 仪陇县| 六枝特区| 峨山| 仙桃市| 花莲市| 亳州市| 洪洞县| 安新县| 奉新县| 勃利县| 犍为县| 丹江口市| 双牌县| 十堰市| 裕民县| 建平县| 台北县| 页游| 苏州市|