本發(fā)明實(shí)施例涉及計(jì)算機(jī)通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)遷移方法及系統(tǒng)。
背景技術(shù):
分布式存儲(chǔ)系統(tǒng)是將數(shù)據(jù)按照一定規(guī)則切分并打散存儲(chǔ)在多臺(tái)獨(dú)立通用存儲(chǔ)服務(wù)器上。傳統(tǒng)的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)采用集中的存儲(chǔ)服務(wù)器存放所有數(shù)據(jù),存儲(chǔ)服務(wù)器成為系統(tǒng)性能的瓶頸,也是可靠性和安全性的焦點(diǎn),不能滿足大規(guī)模存儲(chǔ)應(yīng)用的需要,而分布式存儲(chǔ)系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器分擔(dān)存儲(chǔ)負(fù)荷,利用位置服務(wù)器定位存儲(chǔ)信息,它不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展。存儲(chǔ)集群的成千上萬(wàn)臺(tái)服務(wù)器可以將數(shù)據(jù)充分冗余,從而可以顯著提高數(shù)據(jù)的安全性?,F(xiàn)有的云存儲(chǔ)廠商一般以分布式存儲(chǔ)作為底層存儲(chǔ)系統(tǒng),對(duì)外提供云存儲(chǔ)服務(wù)。
在實(shí)現(xiàn)本發(fā)明實(shí)施例的過(guò)程中,發(fā)明人發(fā)現(xiàn),用戶通常都會(huì)需要有數(shù)據(jù)遷移的需求,其數(shù)據(jù)遷移的方式主要有下述兩種:第一,從用戶的本地服務(wù)器遷移。第二,從其他云存儲(chǔ)廠商遷移,云存儲(chǔ)服務(wù)是企業(yè)級(jí)用戶在選擇任何云平臺(tái)都需要的,因?yàn)榇鎯?chǔ)是企業(yè)的基礎(chǔ)需求,基于云存儲(chǔ)服務(wù),企業(yè)級(jí)用戶如果對(duì)一家云服務(wù)廠商不滿意而切換到另外一家,則需要進(jìn)行大量數(shù)據(jù)遷移。單純依靠用戶的能力將會(huì)消耗用戶較大的時(shí)間和精力,用戶需要將存儲(chǔ)于廠商A的數(shù)據(jù)先下載下來(lái),再上傳到廠商B的云存儲(chǔ)服務(wù)。當(dāng)有較多數(shù)據(jù)遷移任務(wù)時(shí),可能會(huì)由于一些執(zhí)行任務(wù)較多的云服務(wù)節(jié)點(diǎn)資源不夠而導(dǎo)致任務(wù)需要等待,從而導(dǎo)致數(shù)據(jù)遷移需要較長(zhǎng)的時(shí)間。而另一些云服務(wù)節(jié)點(diǎn)還有巨大的剩余資源,這些資源白白浪費(fèi)而不能充分發(fā)揮其價(jià)值。
因此,如何提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間是現(xiàn)如今亟待解決的課題。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明實(shí)施例提供一種數(shù)據(jù)遷移方法及系統(tǒng)。
一方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)遷移方法,包括:
接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;
確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;
根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)遷移系統(tǒng),包括:
請(qǐng)求接收模塊,用于接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;
資源管理模塊,用于確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;
數(shù)據(jù)遷移模塊,用于根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中。
本發(fā)明實(shí)施例提供的數(shù)據(jù)遷移方法及系統(tǒng),通過(guò)將任務(wù)下發(fā)給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),以使云服務(wù)節(jié)點(diǎn)將待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至云服務(wù)節(jié)點(diǎn)的本地,并上傳至數(shù)據(jù)遷移目的地址中,提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖;
圖2為本發(fā)明另一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖;
圖3為本發(fā)明又一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖;
圖4為本發(fā)明再一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖;
圖5為本發(fā)明一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖;
圖6為本發(fā)明另一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖;
圖7為本發(fā)明又一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖;
圖8為本發(fā)明又一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)實(shí)體結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖,如圖1所示,所述方法,包括:
步驟101:接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;
具體地,系統(tǒng)接收用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到云服務(wù)廠商中的地址。
步驟102:確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;
具體地,系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要消耗的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于數(shù)據(jù)要遷移到的云服務(wù)廠商且用于執(zhí)行數(shù)據(jù)遷移任務(wù)??梢岳斫獾氖牵€可以是其他資源,本實(shí)施例對(duì)此不作具體限定。
步驟103:根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中。
具體地,系統(tǒng)根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。
例如,若用戶想要將存儲(chǔ)在云服務(wù)廠商A中的大量數(shù)據(jù)遷移到云服務(wù)廠商B,用戶可以通過(guò)電子設(shè)備向系統(tǒng)提交數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,請(qǐng)求信息中包括待遷移數(shù)據(jù)地址url1和數(shù)據(jù)遷移目的地址url2。此時(shí),系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息。系統(tǒng)確定本次數(shù)據(jù)遷移任務(wù)需要0.1個(gè)CPU、100M內(nèi)存和10M帶寬,以及從數(shù)據(jù)庫(kù)中查詢到各個(gè)云服務(wù)節(jié)點(diǎn)中的可用資源,根據(jù)本次數(shù)據(jù)遷移任務(wù)需要的資源和各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn);云服務(wù)節(jié)點(diǎn)接收到任務(wù)后開(kāi)始執(zhí)行,根據(jù)待遷移數(shù)據(jù)地址url1,將需要遷移的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,再?gòu)脑品?wù)節(jié)點(diǎn)的本地上傳至數(shù)據(jù)遷移目的地址url2中。
本發(fā)明實(shí)施例通過(guò)將任務(wù)下發(fā)給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),以使云服務(wù)節(jié)點(diǎn)將待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至云服務(wù)節(jié)點(diǎn)的本地,并上傳至數(shù)據(jù)遷移目的地址中,提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間。
在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步地,所述預(yù)設(shè)條件,包括:
所述云服務(wù)節(jié)點(diǎn)的可用資源大于所述數(shù)據(jù)遷移任務(wù)所需的資源。
具體地,數(shù)據(jù)庫(kù)中存儲(chǔ)所有云服務(wù)節(jié)點(diǎn)的可用資源的信息,系統(tǒng)根據(jù)用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)所需的資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給云服務(wù)節(jié)點(diǎn)的可用資源大于數(shù)據(jù)遷移任務(wù)所需資源??蛇x的,可以將數(shù)據(jù)遷移任務(wù)發(fā)送給云服務(wù)節(jié)點(diǎn)的可用資源大于數(shù)據(jù)遷移任務(wù)所需資源中可用資源最大的那個(gè)云服務(wù)節(jié)點(diǎn)。
本發(fā)明實(shí)施例通過(guò)將數(shù)據(jù)遷移任務(wù)發(fā)送給云服務(wù)節(jié)點(diǎn)的可用資源大于數(shù)據(jù)遷移任務(wù)所需資源的云服務(wù)節(jié)點(diǎn),合理分配了任務(wù),避免任務(wù)等待時(shí)間,從而減少了任務(wù)所需完成時(shí)長(zhǎng)。
圖2為本發(fā)明另一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖,如圖2所示,所述方法,包括:
步驟201:接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;
具體地,系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移的數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到云服務(wù)廠商中的地址。
步驟202:確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;
具體地,系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于廠商B且用于執(zhí)行數(shù)據(jù)遷移任務(wù)??梢岳斫獾氖?,還可以是其他資源,本實(shí)施例對(duì)此不作具體限定。
步驟203:根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中;
具體地,系統(tǒng)根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。
步驟204:接收所述各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中。
具體地,各云服務(wù)節(jié)點(diǎn)會(huì)定時(shí)上報(bào)可用資源,系統(tǒng)將接收到各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源存儲(chǔ)到數(shù)據(jù)庫(kù)中。
本發(fā)明實(shí)施例通過(guò)接收各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中,提高了系統(tǒng)判斷各云服務(wù)節(jié)點(diǎn)是否滿足預(yù)設(shè)條件的準(zhǔn)確性。
圖3為本發(fā)明又一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖,如圖3所示,所述方法,包括:
步驟301:接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;
具體地,系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移的數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到的云服務(wù)廠商中的地址。
步驟302:確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;
具體地,系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于廠商B且用于執(zhí)行數(shù)據(jù)遷移任務(wù)??梢岳斫獾氖?,還可以是其他資源,本實(shí)施例對(duì)此不作具體限定。
步驟303:根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中;
具體地,系統(tǒng)根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。
步驟304:接收所述各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中。
具體地,各云服務(wù)節(jié)點(diǎn)會(huì)定時(shí)上報(bào)可用資源,系統(tǒng)將接收到各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源存儲(chǔ)到數(shù)據(jù)庫(kù)中;
步驟305:所述將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)設(shè)置為第一任務(wù)狀態(tài);所述云服務(wù)節(jié)點(diǎn)將所述遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載并上傳至所述數(shù)據(jù)遷移目的地址中后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的第一任務(wù)狀態(tài)設(shè)置為第二任務(wù)狀態(tài)。
具體地,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第一任務(wù)狀態(tài),可選的,第一任務(wù)狀態(tài)可以為“已下發(fā)”。云服務(wù)節(jié)點(diǎn)接收到任務(wù)后開(kāi)始執(zhí)行,任務(wù)完成后,在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第二任務(wù)狀態(tài),可選的,第二任務(wù)狀態(tài)可以為“已完成”??梢岳斫獾氖牵谝蝗蝿?wù)狀態(tài)和第二任務(wù)狀態(tài)還不局限于本實(shí)施例所列舉的“已下發(fā)”和“已完成”。
本發(fā)明實(shí)施例通過(guò)將任務(wù)下發(fā)給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),以使云服務(wù)節(jié)點(diǎn)將待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至云服務(wù)節(jié)點(diǎn)的本地,并上傳至數(shù)據(jù)遷移目的地址中,提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間。
圖4為本發(fā)明再一實(shí)施例提供的一種數(shù)據(jù)遷移方法流程示意圖,如圖4所示,所述方法,包括:
步驟401:接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;
具體地,系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移的數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到云服務(wù)廠商B中的地址。
步驟402:確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;
具體地,系統(tǒng)接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于廠商B且用于執(zhí)行數(shù)據(jù)遷移任務(wù)??梢岳斫獾氖?,還可以是其他資源,本實(shí)施例對(duì)此不作具體限定。
步驟403:根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中;
具體地,系統(tǒng)根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。
步驟404:接收所述各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中。
具體地,各云服務(wù)節(jié)點(diǎn)會(huì)定時(shí)上報(bào)可用資源,系統(tǒng)將接收到各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源存儲(chǔ)到數(shù)據(jù)庫(kù)中;
步驟405:所述將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)設(shè)置為第一任務(wù)狀態(tài);所述云服務(wù)節(jié)點(diǎn)將所述遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載并上傳至所述數(shù)據(jù)遷移目的地址中后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的第一任務(wù)狀態(tài)設(shè)置為第二任務(wù)狀態(tài);
具體地,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第一任務(wù)狀態(tài),可選的,第一任務(wù)狀態(tài)可以為“已下發(fā)”。云服務(wù)節(jié)點(diǎn)接收到任務(wù)后開(kāi)始執(zhí)行,任務(wù)完成后,在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第二任務(wù)狀態(tài),可選的,第二任務(wù)狀態(tài)可以為“已完成”??梢岳斫獾氖?,第一任務(wù)狀態(tài)和第二任務(wù)狀態(tài)還不局限于本實(shí)施例所列舉的“已下發(fā)”和“已完成”。
步驟406:接收數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求,所述數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求包括所述待遷移數(shù)據(jù)地址,根據(jù)所述待遷移數(shù)據(jù)地址查詢所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài),并返回查詢到的所述任務(wù)狀態(tài)。
具體地,接收用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求,其中數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求包括待遷移數(shù)據(jù)地址,系統(tǒng)根據(jù)用戶通過(guò)電子設(shè)備提交的待遷移數(shù)據(jù)地址在數(shù)據(jù)庫(kù)中查詢待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài),并將查詢到的任務(wù)狀態(tài)返回給電子設(shè)備。例如:用戶通過(guò)電子設(shè)備向系統(tǒng)提交數(shù)據(jù)遷移狀態(tài)查詢的請(qǐng)求,請(qǐng)求中包括要查詢的待遷移數(shù)據(jù)地址url,系統(tǒng)根據(jù)url在數(shù)據(jù)庫(kù)中查詢,如果數(shù)據(jù)庫(kù)中的狀態(tài)為“已下發(fā)”,則向電子設(shè)備返回此url正在進(jìn)行中的消息;如果查詢數(shù)據(jù)庫(kù)中url對(duì)應(yīng)的狀態(tài)為“已完成”,則向電子設(shè)備返回此url對(duì)應(yīng)的任務(wù)已經(jīng)完成的消息;如果系統(tǒng)在數(shù)據(jù)庫(kù)中沒(méi)有查詢到url對(duì)應(yīng)的任務(wù)狀態(tài),則向電子設(shè)備返回沒(méi)有url對(duì)應(yīng)的任務(wù)的消息。
本發(fā)明實(shí)施例通過(guò)將任務(wù)下發(fā)給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),以使云服務(wù)節(jié)點(diǎn)將待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至云服務(wù)節(jié)點(diǎn)的本地,并上傳至數(shù)據(jù)遷移目的地址中,并可以根據(jù)用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求可以查詢到待遷移數(shù)據(jù)的任務(wù)狀態(tài),提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間的同時(shí),可以供用戶查詢待遷移數(shù)據(jù)的任務(wù)狀態(tài),提高了用戶體驗(yàn)。
圖5為本發(fā)明一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖,如圖5所示,所述系統(tǒng),包括請(qǐng)求接收模塊501、資源管理模塊502和數(shù)據(jù)遷移模塊503,其中:
請(qǐng)求接收模塊501用于接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;資源管理模塊502用于確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;數(shù)據(jù)遷移模塊503用于根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中。
具體地,請(qǐng)求接收模塊501接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移的數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到云服務(wù)廠商中的地址;資源管理模塊502確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于數(shù)據(jù)要遷移到的云服務(wù)廠商且用于執(zhí)行數(shù)據(jù)遷移任務(wù)??梢岳斫獾氖牵€可以是其他資源,本實(shí)施例對(duì)此不作具體限定。數(shù)據(jù)遷移模塊503根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。
本發(fā)明實(shí)施例通過(guò)將任務(wù)下發(fā)給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),以使云服務(wù)節(jié)點(diǎn)將待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至云服務(wù)節(jié)點(diǎn)的本地,并上傳至數(shù)據(jù)遷移目的地址中,提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間。
在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步地,所述預(yù)設(shè)條件,包括:
所述云服務(wù)節(jié)點(diǎn)的可用資源大于所述數(shù)據(jù)遷移任務(wù)所需的資源。
具體地,數(shù)據(jù)庫(kù)中存儲(chǔ)所有云服務(wù)節(jié)點(diǎn)的可用資源的信息,數(shù)據(jù)遷移模塊503根據(jù)用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)所需的資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給云服務(wù)節(jié)點(diǎn)的可用資源大于數(shù)據(jù)遷移任務(wù)所需資源??蛇x的,可以將數(shù)據(jù)遷移任務(wù)發(fā)送給云服務(wù)節(jié)點(diǎn)的可用資源大于數(shù)據(jù)遷移任務(wù)所需資源中可用資源最大的那個(gè)云服務(wù)節(jié)點(diǎn)。
本發(fā)明實(shí)施例通過(guò)數(shù)據(jù)遷移模塊將數(shù)據(jù)遷移任務(wù)發(fā)送給云服務(wù)節(jié)點(diǎn)的可用資源大于數(shù)據(jù)遷移任務(wù)所需資源的云服務(wù)節(jié)點(diǎn),合理分配了任務(wù),避免任務(wù)等待時(shí)間,從而減少了任務(wù)所需完成時(shí)長(zhǎng)。
圖6為本發(fā)明另一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖,如圖6所示,所述系統(tǒng),包括請(qǐng)求接收模塊601、資源管理模塊602、數(shù)據(jù)遷移模塊603和資源收集模塊604,其中:
請(qǐng)求接收模塊601用于接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;資源管理模塊602用于確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;數(shù)據(jù)遷移模塊603用于根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中,資源收集模塊604用于接收所述各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中。
具體地,請(qǐng)求接收模塊601接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移的數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到云服務(wù)廠商中的地址;資源管理模塊602確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于數(shù)據(jù)要遷移到的云服務(wù)廠商且用于執(zhí)行數(shù)據(jù)遷移任務(wù)??梢岳斫獾氖牵€可以是其他資源,本實(shí)施例對(duì)此不作具體限定。數(shù)據(jù)遷移模塊603根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。各云服務(wù)節(jié)點(diǎn)會(huì)定時(shí)上報(bào)可用資源,資源收集模塊604將接收到各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源存儲(chǔ)到數(shù)據(jù)庫(kù)中。
本發(fā)明實(shí)施例通過(guò)資源收集模塊接收各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中,提高了系統(tǒng)判斷各云服務(wù)節(jié)點(diǎn)是否滿足預(yù)設(shè)條件的準(zhǔn)確性。
圖7為本發(fā)明又一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖,如圖7所示,所述系統(tǒng),包括:請(qǐng)求接收模塊701、資源管理模塊702、數(shù)據(jù)遷移模塊703、資源收集模塊704和狀態(tài)設(shè)置模塊705,其中:
請(qǐng)求接收模塊701用于接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;資源管理模塊702用于確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;數(shù)據(jù)遷移模塊703用于根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中,資源收集模塊704用于接收所述各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中;狀態(tài)設(shè)置模塊705用于所述將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)設(shè)置為第一任務(wù)狀態(tài);所述云服務(wù)節(jié)點(diǎn)將所述遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載并上傳至所述數(shù)據(jù)遷移目的地址中后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的第一任務(wù)狀態(tài)設(shè)置為第二任務(wù)狀態(tài)。
具體地,請(qǐng)求接收模塊701接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移的數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到云服務(wù)廠商中的地址;資源管理模塊702確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于數(shù)據(jù)要遷移到的云服務(wù)廠商且用于執(zhí)行數(shù)據(jù)遷移任務(wù)??梢岳斫獾氖牵€可以是其他資源,本實(shí)施例對(duì)此不作具體限定。數(shù)據(jù)遷移模塊703根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。各云服務(wù)節(jié)點(diǎn)會(huì)定時(shí)上報(bào)可用資源,資源收集模塊704將接收到各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源存儲(chǔ)到數(shù)據(jù)庫(kù)中。將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,狀態(tài)設(shè)置模塊705在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第一任務(wù)狀態(tài),可選的,第一任務(wù)狀態(tài)可以為“已下發(fā)”。云服務(wù)節(jié)點(diǎn)接收到任務(wù)后開(kāi)始執(zhí)行,任務(wù)完成后,狀態(tài)設(shè)置模塊705在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第二任務(wù)狀態(tài),可選的,第二任務(wù)狀態(tài)可以為“已完成”??梢岳斫獾氖?,第一任務(wù)狀態(tài)和第二任務(wù)狀態(tài)還不局限于本實(shí)施例所列舉的“已下發(fā)”和“已完成”。
本發(fā)明實(shí)施例通過(guò)將任務(wù)下發(fā)給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),以使云服務(wù)節(jié)點(diǎn)將待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至云服務(wù)節(jié)點(diǎn)的本地,并上傳至數(shù)據(jù)遷移目的地址中,提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間。
圖8為本發(fā)明又一實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)示意圖,如圖8所示,所述系統(tǒng),包括請(qǐng)求接收模塊801、資源管理模塊802、數(shù)據(jù)遷移模塊803、資源收集模塊804、狀態(tài)設(shè)置模塊805和狀態(tài)查詢模塊806,其中:
請(qǐng)求接收模塊801用于接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;資源管理模塊802用于確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;數(shù)據(jù)遷移模塊803用于根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中,資源收集模塊804用于接收所述各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源,并存儲(chǔ)到數(shù)據(jù)庫(kù)中;狀態(tài)設(shè)置模塊805用于所述將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)設(shè)置為第一任務(wù)狀態(tài);所述云服務(wù)節(jié)點(diǎn)將所述遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載并上傳至所述數(shù)據(jù)遷移目的地址中后,將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的第一任務(wù)狀態(tài)設(shè)置為第二任務(wù)狀態(tài)。狀態(tài)查詢模塊806用于接收數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求,所述數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求包括所述待遷移數(shù)據(jù)地址,根據(jù)所述待遷移數(shù)據(jù)地址查詢所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài),并返回查詢到的所述任務(wù)狀態(tài)。
具體地,請(qǐng)求接收模塊801接收到用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息,其中,數(shù)據(jù)遷移任務(wù)的請(qǐng)求信息中包括待遷移的數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址。應(yīng)當(dāng)說(shuō)明的是,待遷移的數(shù)據(jù)地址是一個(gè)公網(wǎng)地址,待遷移的數(shù)據(jù)存儲(chǔ)在該公網(wǎng)地址中;數(shù)據(jù)遷移目標(biāo)地址是用戶打算將數(shù)據(jù)遷移到云服務(wù)廠商中的地址;資源管理模塊802確定該請(qǐng)求消息所需的資源,并在數(shù)據(jù)庫(kù)中查詢各個(gè)云服務(wù)節(jié)點(diǎn)的可用資源。應(yīng)當(dāng)說(shuō)明的是,請(qǐng)求消息所需的資源包括本次數(shù)據(jù)遷移任務(wù)所需要的CPU、內(nèi)存和帶寬。例如,用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息所需的資源為0.1個(gè)CPU、100M內(nèi)存和10M帶寬。所述云服務(wù)節(jié)點(diǎn)屬于數(shù)據(jù)要遷移到的云服務(wù)廠商且用于執(zhí)行數(shù)據(jù)遷移任務(wù)。可以理解的是,還可以是其他資源,本實(shí)施例對(duì)此不作具體限定。數(shù)據(jù)遷移模塊803根據(jù)數(shù)據(jù)遷移任務(wù)所需的資源和從數(shù)據(jù)庫(kù)中查詢到的各云服務(wù)節(jié)點(diǎn)的可用資源,將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),云服務(wù)節(jié)點(diǎn)接收到數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息后,根據(jù)數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息中攜帶的待遷移數(shù)據(jù)地址,將待遷移數(shù)據(jù)地址中的數(shù)據(jù)下載到云服務(wù)節(jié)點(diǎn)的本地,然后將待遷移的數(shù)據(jù)從本地上傳至數(shù)據(jù)遷移目的地址中。應(yīng)當(dāng)說(shuō)明的是,云服務(wù)節(jié)點(diǎn)的本地為云服務(wù)節(jié)點(diǎn)中的用于存放數(shù)據(jù)的云硬盤(pán)中,而不是用戶使用的物理磁盤(pán)。從云服務(wù)節(jié)點(diǎn)的本地向數(shù)據(jù)遷移目的地上傳數(shù)據(jù)是在內(nèi)網(wǎng)中進(jìn)行,此時(shí)不需要通過(guò)外網(wǎng)。各云服務(wù)節(jié)點(diǎn)會(huì)定時(shí)上報(bào)可用資源,資源收集模塊804將接收到各云服務(wù)節(jié)點(diǎn)上報(bào)的可用資源存儲(chǔ)到數(shù)據(jù)庫(kù)中。將數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn)后,狀態(tài)設(shè)置模塊805在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第一任務(wù)狀態(tài),可選的,第一任務(wù)狀態(tài)可以為“已下發(fā)”。云服務(wù)節(jié)點(diǎn)接收到任務(wù)后開(kāi)始執(zhí)行,任務(wù)完成后,狀態(tài)設(shè)置模塊805在數(shù)據(jù)庫(kù)中設(shè)置待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài)為第二任務(wù)狀態(tài),可選的,第二任務(wù)狀態(tài)可以為“已完成”。可以理解的是,第一任務(wù)狀態(tài)和第二任務(wù)狀態(tài)還不局限于本實(shí)施例所列舉的“已下發(fā)”和“已完成”。當(dāng)用于需要查詢待遷移數(shù)據(jù)的狀態(tài)時(shí),狀態(tài)查詢模塊806接收用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求,其中數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求包括待遷移數(shù)據(jù)地址,狀態(tài)查詢模塊806根據(jù)用戶通過(guò)電子設(shè)備提交的待遷移數(shù)據(jù)地址在數(shù)據(jù)庫(kù)中查詢待遷移數(shù)據(jù)地址對(duì)應(yīng)的任務(wù)狀態(tài),并將查詢到的任務(wù)狀態(tài)返回給電子設(shè)備。
本發(fā)明實(shí)施例通過(guò)將任務(wù)下發(fā)給滿足預(yù)設(shè)條件的云服務(wù)節(jié)點(diǎn),以使云服務(wù)節(jié)點(diǎn)將待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至云服務(wù)節(jié)點(diǎn)的本地,并上傳至數(shù)據(jù)遷移目的地址中,并可以根據(jù)用戶通過(guò)電子設(shè)備提交的數(shù)據(jù)遷移狀態(tài)查詢請(qǐng)求可以查詢到待遷移數(shù)據(jù)的任務(wù)狀態(tài),提高云服務(wù)節(jié)點(diǎn)的資源利用率,減少數(shù)據(jù)遷移所需時(shí)間的同時(shí),可以供用戶查詢待遷移數(shù)據(jù)的任務(wù)狀態(tài),提高了用戶體驗(yàn)。
圖9為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)遷移系統(tǒng)實(shí)體結(jié)構(gòu)示意圖,如圖9所示所述系統(tǒng)可以包括:處理器(processor)901、通信接口(Communications Interface)902、存儲(chǔ)器(memory)903和通信總線904,其中,處理器901,通信接口902,存儲(chǔ)器903通過(guò)通信總線904完成相互間的通信。通信接口902可以用于系統(tǒng)與電子設(shè)備之間的信息傳輸。處理器901可以調(diào)用存儲(chǔ)器903中的邏輯指令,以執(zhí)行如下方法:接收數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息,所述數(shù)據(jù)遷移任務(wù)的請(qǐng)求消息包括待遷移數(shù)據(jù)地址和數(shù)據(jù)遷移目的地址;確定所述數(shù)據(jù)遷移任務(wù)所需的資源,并查詢各云服務(wù)節(jié)點(diǎn)的可用資源;根據(jù)所述數(shù)據(jù)遷移任務(wù)所需的資源和所述各云服務(wù)節(jié)點(diǎn)的可用資源,將所述數(shù)據(jù)遷移任務(wù)發(fā)送給滿足預(yù)設(shè)條件的所述云服務(wù)節(jié)點(diǎn),以使所述云服務(wù)節(jié)點(diǎn)將所述待遷移數(shù)據(jù)地址對(duì)應(yīng)的文件下載至所述云服務(wù)節(jié)點(diǎn)的本地,并上傳至所述數(shù)據(jù)遷移目的地址中。
此外,上述的存儲(chǔ)器903中的邏輯指令可以通過(guò)軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。