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

數(shù)據(jù)拷貝方法和裝置制造方法

文檔序號(hào):6623476閱讀:214來(lái)源:國(guó)知局
數(shù)據(jù)拷貝方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)拷貝方法和裝置,其中方法包括:根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程,拷出線程從源卷中讀出拷貝數(shù)據(jù)塊加入順序任務(wù)隊(duì)列,如果拷貝數(shù)據(jù)塊中有優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入優(yōu)先任務(wù)隊(duì)列;若優(yōu)先任務(wù)隊(duì)列有優(yōu)先拷貝數(shù)據(jù)塊,拷入線程從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。本發(fā)明通過(guò)拷出線程和拷入線程并行進(jìn)行拷貝數(shù)據(jù)的讀出和寫(xiě)入,提高數(shù)據(jù)拷貝的效率,通過(guò)順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列,實(shí)現(xiàn)數(shù)據(jù)沖突情況下的優(yōu)先拷貝,并保證拷貝數(shù)據(jù)一致性。
【專利說(shuō)明】數(shù)據(jù)拷貝方法和裝置

【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及災(zāi)備存儲(chǔ)【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)拷貝方法和裝置。

【背景技術(shù)】
[0002]隨著信息技術(shù)的發(fā)展,企業(yè)越來(lái)越依賴于數(shù)據(jù)處理來(lái)進(jìn)行商業(yè)行為,因此,數(shù)據(jù)處理的高可靠性和高可用性越來(lái)越成為關(guān)鍵。盡管隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)的可靠性日益增加,但是由地震、洪水、火災(zāi)、戰(zhàn)爭(zhēng)等天災(zāi)人禍或由于軟硬件故障而使網(wǎng)絡(luò)設(shè)備整體無(wú)法正常工作等情況所造成的損失依然可以輕而易舉地摧毀企業(yè)賴以生成的IT系統(tǒng)。所以,建立災(zāi)備系統(tǒng)對(duì)于極度依賴IT系統(tǒng)的企業(yè)便成了必然的選擇。
[0003]數(shù)據(jù)拷貝是災(zāi)備系統(tǒng)中處理數(shù)據(jù)備份的一項(xiàng)基本內(nèi)容,它是將數(shù)據(jù)從網(wǎng)絡(luò)設(shè)備的一個(gè)數(shù)據(jù)卷復(fù)制到另一個(gè)數(shù)據(jù)卷,從而達(dá)到備份的目的。在數(shù)據(jù)拷貝的過(guò)程中,包括一次數(shù)據(jù)讀出和一次數(shù)據(jù)寫(xiě)入。目前,數(shù)據(jù)拷貝采用串行方式進(jìn)行數(shù)據(jù)讀出和數(shù)據(jù)寫(xiě)入,例如,設(shè)定數(shù)據(jù)讀出的卷為源卷,數(shù)據(jù)寫(xiě)入的卷為目標(biāo)卷,當(dāng)進(jìn)行數(shù)據(jù)拷貝時(shí),從源卷將全部需要備份的數(shù)據(jù)讀出,然后將全部讀出的數(shù)據(jù)再寫(xiě)入目標(biāo)卷。進(jìn)行災(zāi)備操作時(shí)往往需要備份大量數(shù)據(jù),串行方式勢(shì)必造成長(zhǎng)時(shí)間的數(shù)據(jù)拷貝。另外,如果涉及到重要數(shù)據(jù)需要優(yōu)先備份,目前也無(wú)法實(shí)現(xiàn)。
[0004]有鑒于此,需要一種改進(jìn)的數(shù)據(jù)拷貝方法來(lái)解決現(xiàn)有技術(shù)的問(wèn)題。


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

[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種數(shù)據(jù)拷貝方法和裝置,能夠提高數(shù)據(jù)拷貝的效率,以及保證數(shù)據(jù)沖突情況下數(shù)據(jù)的一致性。
[0006]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種數(shù)據(jù)拷貝方法,包括:網(wǎng)絡(luò)設(shè)備根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程,拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷ID和目標(biāo)卷ID;拷出線程根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,拷出線程根據(jù)目標(biāo)卷ID查找到目標(biāo)卷;拷出線程從源卷中讀出拷貝數(shù)據(jù)塊,將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中;在優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),拷入線程從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。
[0007]進(jìn)一步地,該方法之前還包括:網(wǎng)絡(luò)設(shè)備接收拷貝請(qǐng)求,根據(jù)接收到的拷貝請(qǐng)求設(shè)置拷貝任務(wù),以及設(shè)置與拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
[0008]進(jìn)一步地,拷貝任務(wù)中的拷貝數(shù)據(jù)信息包括拷貝數(shù)據(jù)起始位置和結(jié)束位置,以及將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊的基本單位;根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,包括:根據(jù)拷貝數(shù)據(jù)信息中的拷貝數(shù)據(jù)起始位置和結(jié)束位置確定拷貝數(shù)據(jù),并根據(jù)拷貝數(shù)據(jù)信息中的基本單位將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊。
[0009]進(jìn)一步地,該方法之前還包括:網(wǎng)絡(luò)設(shè)備設(shè)置順序任務(wù)隊(duì)列的存儲(chǔ)個(gè)數(shù)上限和第一間隔時(shí)間;拷出線程從源卷中讀出拷貝數(shù)據(jù)塊,將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,包括:拷出線程根據(jù)排列順序從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,若順序任務(wù)隊(duì)列中拷貝數(shù)據(jù)塊個(gè)數(shù)達(dá)到存儲(chǔ)個(gè)數(shù)上限,拷出線程暫停從源卷中讀出拷貝數(shù)據(jù)塊,經(jīng)過(guò)預(yù)先設(shè)置的第一間隔時(shí)間,拷出線程啟動(dòng)從源卷中讀出拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中。
[0010]進(jìn)一步地,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中,包括:
[0011]進(jìn)一步地,如果接收到數(shù)據(jù)讀寫(xiě)請(qǐng)求,根據(jù)數(shù)據(jù)讀寫(xiě)請(qǐng)求中請(qǐng)求數(shù)據(jù)的起始位置和結(jié)束位置,查找對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊,并將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中。
[0012]進(jìn)一步地,該方法之前還包括:網(wǎng)絡(luò)設(shè)備設(shè)置第二時(shí)間間隔;拷入線程從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,包括:拷入線程判斷優(yōu)先任務(wù)隊(duì)列是否為空,如果優(yōu)先任務(wù)隊(duì)列不為空,從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果優(yōu)先任務(wù)隊(duì)列為空,判斷順序任務(wù)隊(duì)列是否為空;如果順序任務(wù)隊(duì)列不為空,從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果順序任務(wù)隊(duì)列為空,判斷是否所有拷貝數(shù)據(jù)塊都拷貝完成;如果還有未拷貝完成的拷貝數(shù)據(jù)塊,經(jīng)過(guò)第二間隔時(shí)間,再次判斷所有數(shù)據(jù)塊是否都拷貝完成,如果所有拷貝數(shù)據(jù)塊都拷貝完成,停止拷出線程和拷入線程。
[0013]進(jìn)一步地,停止所述拷出線程和所述拷入線程后,該方法還包括:網(wǎng)絡(luò)設(shè)備刪除拷貝任務(wù),以及和拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
[0014]本發(fā)明提供了一種數(shù)據(jù)拷貝裝置,包括:啟動(dòng)模塊,用于根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程,拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷ID和目標(biāo)卷ID ;拷出線程,用于根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊;從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中;拷入線程,用于在優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。
[0015]進(jìn)一步地,該裝置還包括:接收模塊,用于接收拷貝請(qǐng)求;設(shè)置模塊,用于根據(jù)拷貝請(qǐng)求設(shè)置拷貝任務(wù),以及設(shè)置與拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
[0016]進(jìn)一步地,拷貝任務(wù)中的拷貝數(shù)據(jù)信息包括拷貝數(shù)據(jù)起始位置和結(jié)束位置,以及將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊的基本單位;拷出線程,用于根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,具體為:拷出線程用于根據(jù)拷貝數(shù)據(jù)信息中的拷貝數(shù)據(jù)起始位置和結(jié)束位置確定拷貝數(shù)據(jù),并根據(jù)拷貝數(shù)據(jù)信息中的基本單位將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊。
[0017]進(jìn)一步地,所述設(shè)置模塊,還用于設(shè)置順序任務(wù)隊(duì)列的存儲(chǔ)個(gè)數(shù)上限和第一間隔時(shí)間;拷出線程,用于從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,具體為:拷出線程用于根據(jù)排列順序從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,若順序任務(wù)隊(duì)列中拷貝數(shù)據(jù)塊個(gè)數(shù)達(dá)到存儲(chǔ)個(gè)數(shù)上限,暫停從源卷中讀出拷貝數(shù)據(jù)塊,經(jīng)過(guò)預(yù)先設(shè)置的第一間隔時(shí)間后,啟動(dòng)從源卷中讀出拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中。
[0018]進(jìn)一步地,拷出線程,用于如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中,具體為:拷出線程用于如果接收到數(shù)據(jù)讀寫(xiě)請(qǐng)求,根據(jù)數(shù)據(jù)讀寫(xiě)請(qǐng)求中請(qǐng)求數(shù)據(jù)的起始位置和結(jié)束位置,查找對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊,并將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中。
[0019]進(jìn)一步地,設(shè)置模塊,還用于設(shè)置第二時(shí)間間隔;拷入線程,用于在優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,具體為:拷入線程用于判斷優(yōu)先任務(wù)隊(duì)列是否為空,如果優(yōu)先任務(wù)隊(duì)列不為空,從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果優(yōu)先任務(wù)隊(duì)列為空,判斷順序任務(wù)隊(duì)列是否為空;如果順序任務(wù)隊(duì)列不為空,從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果順序任務(wù)隊(duì)列為空,判斷是否所有拷貝數(shù)據(jù)塊都拷貝完成;如果還有未拷貝完成的拷貝數(shù)據(jù)塊,經(jīng)過(guò)第二間隔時(shí)間后,再次判斷所有數(shù)據(jù)塊是否都拷貝完成,如果所有拷貝數(shù)據(jù)塊都拷貝完成,停止拷出線程和拷入線程。
[0020]進(jìn)一步地,該裝置還包括:刪除模塊,用于在停止拷出線程和拷入線程后,刪除拷貝任務(wù),以及和拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明包括:網(wǎng)絡(luò)設(shè)備根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程,該拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷ID和目標(biāo)卷ID ;拷出線程根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,拷出線程根據(jù)目標(biāo)卷ID查找到目標(biāo)卷;拷出線程從源卷中讀出拷貝數(shù)據(jù)塊,將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中;若優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊,拷入線程從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。本發(fā)明通過(guò)設(shè)置拷出線程和拷入線程,在進(jìn)行數(shù)據(jù)拷貝時(shí),拷出線程從源卷讀出拷貝數(shù)據(jù)和拷入線程將拷貝數(shù)據(jù)寫(xiě)入目標(biāo)卷可以并行進(jìn)行,從而提高數(shù)據(jù)拷貝的效率。此外,在拷出線程和拷入線程之間設(shè)置順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列,拷出線程將讀出拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列,拷入線程從順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入到目標(biāo)卷,如此保證拷貝數(shù)據(jù)在源卷和目標(biāo)卷的排列順序的一致性;若需要對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行優(yōu)先處理,將請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列,拷入線程優(yōu)先從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入到目標(biāo)卷,從而實(shí)現(xiàn)數(shù)據(jù)沖突情況下的優(yōu)先拷貝,并能夠保證拷貝數(shù)據(jù)一致性。

【專利附圖】

【附圖說(shuō)明】
[0022]圖1是本發(fā)明數(shù)據(jù)拷貝方法的流程示意圖。
[0023]圖2是本發(fā)明拷入線程將拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的流程示意圖。
[0024]圖3是本發(fā)明數(shù)據(jù)拷貝裝置的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0025]以下將結(jié)合附圖所示的【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0026]圖1是本發(fā)明數(shù)據(jù)拷貝方法的流程示意圖,如圖1所示,包括:
[0027]步驟11,網(wǎng)絡(luò)設(shè)備接收拷貝請(qǐng)求,根據(jù)該拷貝請(qǐng)求設(shè)置拷貝任務(wù),以及設(shè)置與該拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列,其中拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷身份標(biāo)識(shí)(ID, identificat1n)和目標(biāo)卷ID。
[0028]在本步驟中,網(wǎng)絡(luò)設(shè)備接收來(lái)自用戶的拷貝請(qǐng)求,根據(jù)該拷貝請(qǐng)求設(shè)置拷貝任務(wù),該拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷ID和目標(biāo)卷ID,其中,拷貝數(shù)據(jù)信息包括拷貝數(shù)據(jù)起始位置和結(jié)束位置,以及將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊的基本單位。
[0029]網(wǎng)絡(luò)設(shè)備還設(shè)置與該拷貝任務(wù)對(duì)應(yīng)的拷出線程和拷入線程,其中,拷出線程用于從源卷讀出拷貝數(shù)據(jù),拷入線程用于將拷貝數(shù)據(jù)寫(xiě)入目標(biāo)卷,則數(shù)據(jù)拷貝的過(guò)程包括拷出線程從源卷讀出拷貝數(shù)據(jù)和拷入線程將拷貝數(shù)據(jù)寫(xiě)入目標(biāo)卷。
[0030]網(wǎng)絡(luò)設(shè)備還預(yù)先在源卷和目標(biāo)卷之間設(shè)置順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列,此外,網(wǎng)絡(luò)設(shè)備還可以設(shè)置該順序任務(wù)隊(duì)列的存儲(chǔ)個(gè)數(shù)上限和第一間隔時(shí)間,例如設(shè)置順序任務(wù)隊(duì)列的存儲(chǔ)個(gè)數(shù)上限為200,第一間隔時(shí)間為1ms。
[0031]步驟12,網(wǎng)絡(luò)設(shè)備根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程。
[0032]在本步驟中,網(wǎng)絡(luò)設(shè)備可以并行啟動(dòng)拷出線程和拷入線程,如此,拷出線程從源卷讀出拷貝數(shù)據(jù)和拷入線程將拷貝數(shù)據(jù)寫(xiě)入目標(biāo)卷可以并行進(jìn)行,從而提高數(shù)據(jù)拷貝的效率。
[0033]步驟13,拷出線程根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊;拷出線程根據(jù)目標(biāo)卷ID查找到目標(biāo)卷。
[0034]在本步驟中,拷出線程根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息中的拷貝數(shù)據(jù)起始位置和結(jié)束位置確定拷貝數(shù)據(jù),并根據(jù)拷貝數(shù)據(jù)信息中的基本單位將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊。
[0035]步驟14,拷出線程從源卷中讀出拷貝數(shù)據(jù)塊。
[0036]在本步驟中,拷出線程可以根據(jù)排列順序從源卷中進(jìn)行拷貝數(shù)據(jù)塊的讀出。
[0037]步驟15,拷出線程將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,則將該優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中。
[0038]在本步驟中,拷出線程將拷貝數(shù)據(jù)塊根據(jù)讀出順序加入到順序任務(wù)隊(duì)列中。如果順序任務(wù)隊(duì)列中拷貝數(shù)據(jù)塊個(gè)數(shù)達(dá)到存儲(chǔ)個(gè)數(shù)上限,拷出線程暫停從源卷中讀出拷貝數(shù)據(jù)塊,因?yàn)榭饺刖€程可以并行從順序任務(wù)隊(duì)列中將拷貝任務(wù)塊寫(xiě)入到目標(biāo)卷,所以經(jīng)過(guò)第一間隔時(shí)間后,順序任務(wù)隊(duì)列的拷貝數(shù)據(jù)塊會(huì)在存儲(chǔ)個(gè)數(shù)上限以下,拷出線程可以再次并行啟動(dòng)從源卷中讀出拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中。
[0039]如果在數(shù)據(jù)拷貝的過(guò)程中,網(wǎng)絡(luò)設(shè)備接收到用戶的數(shù)據(jù)讀寫(xiě)請(qǐng)求,則請(qǐng)求數(shù)據(jù)需要優(yōu)先進(jìn)行拷貝。該數(shù)據(jù)讀寫(xiě)請(qǐng)求包括請(qǐng)求數(shù)據(jù)的起始位置和結(jié)束位置,根據(jù)該請(qǐng)求數(shù)據(jù)的起始位置和結(jié)束位置,在拷貝數(shù)據(jù)塊中查找對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊,并將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中。
[0040]步驟16,當(dāng)優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),拷入線程從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。
[0041]本步驟具體可如圖2所示,圖2是本發(fā)明拷入線程將拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的流程示意圖,包括:
[0042]步驟161,拷入線程判斷優(yōu)先任務(wù)隊(duì)列是否為空,如果否,進(jìn)入步驟162 ;如果是,進(jìn)入步驟163。
[0043]步驟162,若判斷出優(yōu)先任務(wù)隊(duì)列不為空,則拷入線程從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊,并將優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置。
[0044]在本步驟中,拷貝數(shù)據(jù)塊在源卷和目標(biāo)卷的排列順序是一致的,所以拷入線程從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊后,會(huì)將優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,從而能夠保證數(shù)據(jù)沖突情況下的拷貝數(shù)據(jù)一致性。
[0045]步驟163,若判斷出優(yōu)先任務(wù)隊(duì)列為空,拷入線程判斷順序任務(wù)隊(duì)列是否為空,如果否,進(jìn)入步驟164 ;如果是,進(jìn)入步驟165。
[0046]步驟164,若判斷出順序任務(wù)隊(duì)列不為空,則拷入線程從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊,并分別將拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置。
[0047]步驟165,若判斷出順序任務(wù)隊(duì)列為空,拷入線程判斷是否所有拷貝數(shù)據(jù)塊都拷貝完成,如果否,進(jìn)入步驟166 ;如果是,進(jìn)入步驟167。
[0048]步驟166,拷入線程經(jīng)過(guò)第二間隔時(shí)間,返回步驟161。
[0049]在本步驟中,網(wǎng)絡(luò)設(shè)備預(yù)先設(shè)置第二間隔時(shí)間,例如第二間隔時(shí)間為1ms。
[0050]拷出線程和拷入線程對(duì)拷貝數(shù)據(jù)塊的處理并不是同速的,有可能拷入線程將拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的速度比較快,拷出線程還沒(méi)有將拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列或順序任務(wù)隊(duì)列中,出現(xiàn)優(yōu)先任務(wù)隊(duì)列或順序任務(wù)隊(duì)列都為空,但還存在沒(méi)有拷貝完成的拷貝數(shù)據(jù)塊,因此,在等待的第二間隔時(shí)間內(nèi),拷出線程和拷入線程都不會(huì)停止??饺刖€程經(jīng)過(guò)第二間隔時(shí)間后,返回步驟161,直到所有拷貝數(shù)據(jù)塊都拷貝完成。
[0051]步驟167,停止拷出線程和拷入線程。
[0052]在本步驟中,如果判斷出所有拷貝數(shù)據(jù)塊都拷貝完成,停止拷出線程和拷入線程,數(shù)據(jù)拷貝結(jié)束。
[0053]步驟17,停止拷出線程和拷入線程后,網(wǎng)絡(luò)設(shè)備刪除拷貝任務(wù),以及和該拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
[0054]本發(fā)明通過(guò)設(shè)置拷出線程和拷入線程,在進(jìn)行數(shù)據(jù)拷貝時(shí),并行啟動(dòng)拷出線程和拷入線程,如此,拷出線程從源卷讀出拷貝數(shù)據(jù)和拷入線程將拷貝數(shù)據(jù)寫(xiě)入目標(biāo)卷可以并行進(jìn)行,從而提高數(shù)據(jù)拷貝的效率。
[0055]此外,拷出線程和拷入線程之間還設(shè)置順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列,拷出線程將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,當(dāng)從源卷中讀出拷貝數(shù)據(jù)塊后,將拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,拷入線程從順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入到目標(biāo)卷,如此,可以保證拷貝數(shù)據(jù)在源卷和目標(biāo)卷的排列順序的一致性。值得注意地,若在接收到數(shù)據(jù)讀寫(xiě)請(qǐng)求需要對(duì)請(qǐng)求數(shù)據(jù)優(yōu)先進(jìn)行拷貝時(shí),拷入線程根據(jù)請(qǐng)求數(shù)據(jù)將從源卷中讀出的相應(yīng)拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列,拷入線程優(yōu)先從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入到目標(biāo)卷,從而實(shí)現(xiàn)數(shù)據(jù)沖突情況下的優(yōu)先拷貝,并能夠保證拷貝數(shù)據(jù)一致性。
[0056]圖3是本發(fā)明數(shù)據(jù)拷貝裝置的結(jié)構(gòu)示意圖,如圖3所示,包括:
[0057]接收模塊,用于接收拷貝請(qǐng)求。
[0058]設(shè)置模塊,用于根據(jù)拷貝請(qǐng)求設(shè)置拷貝任務(wù),以及與該拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列,其中拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷ID和目標(biāo)卷ID。
[0059]具體地,拷貝任務(wù)中的拷貝數(shù)據(jù)信息包括拷貝數(shù)據(jù)起始位置和結(jié)束位置,以及將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊的基本單位。
[0060]設(shè)置模塊還可以用于分別設(shè)置該順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列的存儲(chǔ)個(gè)數(shù)上限、第一間隔時(shí)間和第二時(shí)間間隔。
[0061]啟動(dòng)模塊,用于根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程。
[0062]拷出線程,用于根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊;從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,則將該優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中。
[0063]具體地,拷出線程用于根據(jù)拷貝數(shù)據(jù)信息中的拷貝數(shù)據(jù)起始位置和結(jié)束位置確定拷貝數(shù)據(jù),并根據(jù)拷貝數(shù)據(jù)信息中的基本單位將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊。
[0064]拷出線程根據(jù)排列順序從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,若順序任務(wù)隊(duì)列中拷貝數(shù)據(jù)塊個(gè)數(shù)達(dá)到存儲(chǔ)個(gè)數(shù)上限,拷出線程暫停從源卷中讀出拷貝數(shù)據(jù)塊,經(jīng)過(guò)設(shè)置模塊設(shè)置的第一間隔時(shí)間后,啟動(dòng)從源卷中讀出拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中。
[0065]如果接收到數(shù)據(jù)讀寫(xiě)請(qǐng)求,拷出線程根據(jù)數(shù)據(jù)讀寫(xiě)請(qǐng)求中請(qǐng)求數(shù)據(jù)的起始位置和結(jié)束位置,查找對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊,并將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中。
[0066]拷入線程,用于根據(jù)目標(biāo)卷ID查找到目標(biāo)卷;在優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。
[0067]具體地,拷入線程判斷優(yōu)先任務(wù)隊(duì)列是否為空,如果優(yōu)先任務(wù)隊(duì)列不為空,從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果優(yōu)先任務(wù)隊(duì)列為空,判斷順序任務(wù)隊(duì)列是否為空;如果順序任務(wù)隊(duì)列不為空,從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果順序任務(wù)隊(duì)列為空,判斷是否所有拷貝數(shù)據(jù)塊都拷貝完成;如果還有未拷貝完成的拷貝數(shù)據(jù)塊,經(jīng)過(guò)設(shè)置模塊設(shè)置的第二間隔時(shí)間后,再次判斷是否所有數(shù)據(jù)塊都拷貝完成,如果所有拷貝數(shù)據(jù)塊都拷貝完成,停止拷出線程和拷入線程,數(shù)據(jù)拷貝結(jié)束。
[0068]刪除模塊,用于停止拷出線程和拷入線程后,刪除拷貝任務(wù),以及和該拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
[0069]本發(fā)明通過(guò)設(shè)置拷出線程和拷入線程,在進(jìn)行數(shù)據(jù)拷貝時(shí),拷出線程從源卷讀出拷貝數(shù)據(jù)和拷入線程將拷貝數(shù)據(jù)寫(xiě)入目標(biāo)卷可以并行進(jìn)行,從而提高數(shù)據(jù)拷貝的效率。此夕卜,在拷出線程和拷入線程之間設(shè)置順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列,拷出線程將讀出拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列,拷入線程從順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入到目標(biāo)卷,如此保證拷貝數(shù)據(jù)在源卷和目標(biāo)卷的排列順序的一致性;若需要對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行優(yōu)先處理,將請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列,拷入線程優(yōu)先從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入到目標(biāo)卷,從而實(shí)現(xiàn)數(shù)據(jù)沖突情況下的優(yōu)先拷貝,并能夠保證拷貝數(shù)據(jù)一致性。
[0070]應(yīng)當(dāng)理解,雖然本說(shuō)明書(shū)根據(jù)實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說(shuō)明書(shū)的這種敘述方式僅僅是為清楚起見(jiàn),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說(shuō)明書(shū)作為一個(gè)整體,各實(shí)施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。
[0071]上文所列出的一系列的詳細(xì)說(shuō)明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說(shuō)明,它們并非用于限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)拷貝方法,其特征在于,包括: 網(wǎng)絡(luò)設(shè)備根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程,所述拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷身份標(biāo)識(shí)ID和目標(biāo)卷ID ; 所述拷出線程根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,拷出線程根據(jù)目標(biāo)卷ID查找到目標(biāo)卷; 所述拷出線程從源卷中讀出拷貝數(shù)據(jù)塊,將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中; 在優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),所述拷入線程從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)拷貝方法,其特征在于,該方法之前還包括: 所述網(wǎng)絡(luò)設(shè)備接收拷貝請(qǐng)求,根據(jù)接收到的拷貝請(qǐng)求設(shè)置所述拷貝任務(wù),以及設(shè)置與所述拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)拷貝方法,其特征在于,所述拷貝任務(wù)中的拷貝數(shù)據(jù)信息包括拷貝數(shù)據(jù)起始位置和結(jié)束位置,以及將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊的基本單位; 所述根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,包括: 根據(jù)所述拷貝數(shù)據(jù)信息中的拷貝數(shù)據(jù)起始位置和結(jié)束位置確定拷貝數(shù)據(jù),并根據(jù)所述拷貝數(shù)據(jù)信息中的基本單位將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)拷貝方法,其特征在于,該方法之前還包括:所述網(wǎng)絡(luò)設(shè)備設(shè)置順序任務(wù)隊(duì)列的存儲(chǔ)個(gè)數(shù)上限和第一間隔時(shí)間; 所述拷出線程從源卷中讀出拷貝數(shù)據(jù)塊,將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,包括: 所述拷出線程根據(jù)排列順序從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,若所述順序任務(wù)隊(duì)列中拷貝數(shù)據(jù)塊個(gè)數(shù)達(dá)到存儲(chǔ)個(gè)數(shù)上限,所述拷出線程暫停從源卷中讀出拷貝數(shù)據(jù)塊,經(jīng)過(guò)預(yù)先設(shè)置的第一間隔時(shí)間,所述拷出線程啟動(dòng)從源卷中讀出拷貝數(shù)據(jù)塊加入到所述順序任務(wù)隊(duì)列中。
5.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)拷貝方法,其特征在于,所述如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中,包括: 如果接收到數(shù)據(jù)讀寫(xiě)請(qǐng)求,根據(jù)所述數(shù)據(jù)讀寫(xiě)請(qǐng)求中請(qǐng)求數(shù)據(jù)的起始位置和結(jié)束位置,查找對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊,并將所述優(yōu)先拷貝數(shù)據(jù)塊加入到所述優(yōu)先任務(wù)隊(duì)列中。
6.根據(jù)權(quán)利要求1或5所述的數(shù)據(jù)拷貝方法,其特征在于,該方法之前還包括:所述網(wǎng)絡(luò)設(shè)備設(shè)置第二時(shí)間間隔; 所述拷入線程從優(yōu)先任務(wù)隊(duì)列獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從所述順序任務(wù)隊(duì)列獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,包括: 所述拷入線程判斷優(yōu)先任務(wù)隊(duì)列是否為空,如果所述優(yōu)先任務(wù)隊(duì)列不為空,從所述優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果所述優(yōu)先任務(wù)隊(duì)列為空,判斷所述順序任務(wù)隊(duì)列是否為空; 如果所述順序任務(wù)隊(duì)列不為空,從所述順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果所述順序任務(wù)隊(duì)列為空,判斷是否所有拷貝數(shù)據(jù)塊都拷貝完成;如果還有未拷貝完成的拷貝數(shù)據(jù)塊,經(jīng)過(guò)所述第二間隔時(shí)間,再次判斷所有數(shù)據(jù)塊是否都拷貝完成,如果所有拷貝數(shù)據(jù)塊都拷貝完成,停止所述拷出線程和所述拷入線程。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)拷貝方法,其特征在于,所述停止所述拷出線程和所述拷入線程后,該方法還包括: 所述網(wǎng)絡(luò)設(shè)備刪除所述拷貝任務(wù),以及和所述拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
8.一種數(shù)據(jù)拷貝裝置,其特征在于,包括: 啟動(dòng)模塊,用于根據(jù)拷貝任務(wù),并行啟動(dòng)拷出線程和拷入線程,所述拷貝任務(wù)包括拷貝數(shù)據(jù)信息,源卷ID和目標(biāo)卷ID; 拷出線程,用于根據(jù)源卷ID查找到源卷,根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊;從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中; 拷入線程,用于在優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)拷貝裝置,其特征在于,該裝置還包括: 接收模塊,用于接收拷貝請(qǐng)求; 設(shè)置模塊,用于根據(jù)所述拷貝請(qǐng)求設(shè)置拷貝任務(wù),以及設(shè)置與所述拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
10.根據(jù)權(quán)利要求8或9所述的數(shù)據(jù)拷貝裝置,其特征在于,所述拷貝任務(wù)中的拷貝數(shù)據(jù)信息包括拷貝數(shù)據(jù)起始位置和結(jié)束位置,以及將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊的基本單位; 所述拷出線程,用于根據(jù)拷貝數(shù)據(jù)信息確定拷貝數(shù)據(jù),并將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊,具體為: 所述拷出線程用于根據(jù)所述拷貝數(shù)據(jù)信息中的拷貝數(shù)據(jù)起始位置和結(jié)束位置確定拷貝數(shù)據(jù),并根據(jù)所述拷貝數(shù)據(jù)信息中的基本單位將拷貝數(shù)據(jù)劃分為拷貝數(shù)據(jù)塊。
11.根據(jù)權(quán)利要求9所述的數(shù)據(jù)拷貝裝置,其特征在于,所述設(shè)置模塊,還用于設(shè)置順序任務(wù)隊(duì)列的存儲(chǔ)個(gè)數(shù)上限和第一間隔時(shí)間; 所述拷出線程,用于從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,具體為: 所述拷出線程用于根據(jù)排列順序從源卷中讀出拷貝數(shù)據(jù)塊,并將讀出的拷貝數(shù)據(jù)塊加入到順序任務(wù)隊(duì)列中,若所述順序任務(wù)隊(duì)列中拷貝數(shù)據(jù)塊個(gè)數(shù)達(dá)到存儲(chǔ)個(gè)數(shù)上限,暫停從源卷中讀出拷貝數(shù)據(jù)塊,經(jīng)過(guò)預(yù)先設(shè)置的第一間隔時(shí)間后,啟動(dòng)從源卷中讀出拷貝數(shù)據(jù)塊加入到所述順序任務(wù)隊(duì)列中。
12.根據(jù)權(quán)利要求8或9所述的數(shù)據(jù)拷貝裝置,其特征在于,所述拷出線程,用于如果拷貝數(shù)據(jù)塊中存在優(yōu)先拷貝數(shù)據(jù)塊,將優(yōu)先拷貝數(shù)據(jù)塊加入到優(yōu)先任務(wù)隊(duì)列中,具體為: 所述拷出線程用于如果接收到數(shù)據(jù)讀寫(xiě)請(qǐng)求,根據(jù)所述數(shù)據(jù)讀寫(xiě)請(qǐng)求中請(qǐng)求數(shù)據(jù)的起始位置和結(jié)束位置,查找對(duì)應(yīng)的拷貝數(shù)據(jù)塊作為優(yōu)先拷貝數(shù)據(jù)塊,并將所述優(yōu)先拷貝數(shù)據(jù)塊加入到所述優(yōu)先任務(wù)隊(duì)列中。
13.根據(jù)權(quán)利要求9或12所述的數(shù)據(jù)拷貝裝置,其特征在于,所述設(shè)置模塊,還用于設(shè)置第二時(shí)間間隔; 所述拷入線程,用于在優(yōu)先任務(wù)隊(duì)列中有優(yōu)先拷貝數(shù)據(jù)塊時(shí),從優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,并從順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷,具體為: 所述拷入線程用于判斷優(yōu)先任務(wù)隊(duì)列是否為空,如果所述優(yōu)先任務(wù)隊(duì)列不為空,從所述優(yōu)先任務(wù)隊(duì)列中獲取優(yōu)先拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果所述優(yōu)先任務(wù)隊(duì)列為空,判斷所述順序任務(wù)隊(duì)列是否為空;如果所述順序任務(wù)隊(duì)列不為空,從所述順序任務(wù)隊(duì)列中獲取拷貝數(shù)據(jù)塊寫(xiě)入目標(biāo)卷的相應(yīng)位置,如果所述順序任務(wù)隊(duì)列為空,判斷是否所有拷貝數(shù)據(jù)塊都拷貝完成;如果還有未拷貝完成的拷貝數(shù)據(jù)塊,經(jīng)過(guò)所述第二間隔時(shí)間后,再次判斷所有數(shù)據(jù)塊是否都拷貝完成,如果所有拷貝數(shù)據(jù)塊都拷貝完成,停止所述拷出線程和所述拷入線程。
14.根據(jù)權(quán)利要求13所述的數(shù)據(jù)拷貝裝置,其特征在于,該裝置還包括: 刪除模塊,用于在所述停止所述拷出線程和所述拷入線程后,刪除拷貝任務(wù),以及和所述拷貝任務(wù)對(duì)應(yīng)的拷出線程、拷入線程、順序任務(wù)隊(duì)列和優(yōu)先任務(wù)隊(duì)列。
【文檔編號(hào)】G06F12/02GK104298609SQ201410400157
【公開(kāi)日】2015年1月21日 申請(qǐng)日期:2014年8月14日 優(yōu)先權(quán)日:2014年8月14日
【發(fā)明者】王倩, 孫承碧, 王旭 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
晋城| 乌什县| 鞍山市| 诏安县| 广德县| 固始县| 北海市| 西吉县| 金塔县| 托里县| 中江县| 桑日县| 哈巴河县| 莱州市| 金门县| 前郭尔| 石柱| 遂川县| 旬邑县| 建昌县| 阿鲁科尔沁旗| 新河县| 乌鲁木齐市| 广汉市| 通海县| 安阳市| 盖州市| 伊金霍洛旗| 和田市| 东海县| 紫云| 长治县| 吴川市| 庆元县| 彰化县| 南澳县| 防城港市| 澄迈县| 铜川市| 宣汉县| 汝州市|