一種面向aws平臺(tái)的分布式數(shù)據(jù)管理方法
【專利摘要】本發(fā)明公開(kāi)一種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法,屬于信息技術(shù)處理領(lǐng)域。本方法公開(kāi)了面向AWS(AmazonWebServices亞馬遜網(wǎng)絡(luò)服務(wù)系統(tǒng))平臺(tái),進(jìn)行快速且廉價(jià)的數(shù)據(jù)分布方法。本發(fā)明明確了基于AWS所提供的EC2(ElasticComputeCloud彈性計(jì)算云)和EBS(ElasticBlockStorage彈性塊存儲(chǔ))服務(wù),采用集中式數(shù)據(jù)劃分與分配、并行配對(duì)掛載、存儲(chǔ)與處理服務(wù)分離等手段,實(shí)現(xiàn)了在大規(guī)模集群內(nèi)進(jìn)行批量快速的數(shù)據(jù)導(dǎo)入準(zhǔn)備,同時(shí)在集群計(jì)算資源被回收后,實(shí)現(xiàn)低成本的數(shù)據(jù)存儲(chǔ)與復(fù)用,從而將集群數(shù)據(jù)的準(zhǔn)備時(shí)間與費(fèi)用成本降到最低。
【專利說(shuō)明】—種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及一種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法,屬于信息技術(shù)處理領(lǐng)域。
【背景技術(shù)】
[0003]AffSCAmazon Web Services亞馬遜網(wǎng)絡(luò)服務(wù)系統(tǒng))是由亞馬遜公司于2002年開(kāi)始運(yùn)營(yíng)的云計(jì)算平臺(tái),提供多種類型的遠(yuǎn)端Web服務(wù)。其中的EC2 (Elastic Compute Cloud彈性計(jì)算云)服務(wù)可以讓用戶以租用虛擬計(jì)算機(jī)(實(shí)例)方式,遠(yuǎn)程使用不同類型的計(jì)算機(jī)系統(tǒng),并且運(yùn)行任何自己所需要的軟件。租用虛擬計(jì)算機(jī)的價(jià)格隨提供的硬件資源多少而區(qū)分,并且用戶可以隨時(shí)創(chuàng)建、運(yùn)行和終止服務(wù),因此AWS EC2被視為一個(gè)靈活的、相對(duì)廉價(jià)的云計(jì)算平臺(tái)。EBS (Elastic Block Storage彈性塊存儲(chǔ))服務(wù)亦是由AWS提供的,用于支持持久性數(shù)據(jù)塊級(jí)存儲(chǔ)需求。EBS卷組獨(dú)立于EC2實(shí)例的生命周期,通過(guò)網(wǎng)絡(luò)驅(qū)動(dòng)偽裝成塊設(shè)備的方式使其能夠成為任意實(shí)例的虛擬存儲(chǔ)設(shè)備,并可在實(shí)例終止后繼續(xù)存在,實(shí)現(xiàn)數(shù)據(jù)復(fù)用。AWS同時(shí)提供了 S3 (Simple Storage Service)服務(wù)來(lái)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ),但其更適用于靜態(tài)的數(shù)據(jù)存儲(chǔ),S3設(shè)備可以轉(zhuǎn)換為EBS卷組來(lái)進(jìn)行使用。
[0004]由于受到AWS自身服務(wù)的限制,在利用申請(qǐng)大量EC2實(shí)例組建計(jì)算機(jī)集群時(shí),實(shí)例內(nèi)的EBS卷組資源在實(shí)例被暫停或終止后即被收回,相應(yīng)地存儲(chǔ)在EBS卷組內(nèi)的數(shù)據(jù)也會(huì)同時(shí)丟失。
[0005]針對(duì)這一問(wèn)題,常見(jiàn)的解決方法是待集群建立完畢后,再利用主實(shí)例進(jìn)行數(shù)據(jù)的導(dǎo)入與分布。在這一過(guò)程中,其它實(shí)例因?yàn)闆](méi)有參與到實(shí)際的數(shù)據(jù)處理過(guò)程當(dāng)中,處于被動(dòng)等待狀態(tài),因此造成了大量計(jì)算資源的浪費(fèi)。
[0006]最后,當(dāng)集群被終止后,產(chǎn)生的并行數(shù)據(jù)結(jié)果也需要再收集到額外的EBS或S3設(shè)備中去,同樣造成了 AWS資源的浪費(fèi)。
[0007]因此,這種EC2實(shí)例內(nèi)部EBS的不穩(wěn)定性,造成了在大規(guī)模實(shí)例集群是進(jìn)行數(shù)據(jù)分布與保存的技術(shù)難點(diǎn)。
[0008]目前,也沒(méi)有公開(kāi)發(fā)表的技術(shù)或手段來(lái)對(duì)此問(wèn)題加以解決。
【發(fā)明內(nèi)容】
[0009]發(fā)明目的:針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題與不足,本發(fā)明提供一種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法。首先采用集中式的數(shù)據(jù)劃分與分配,利用一臺(tái)EC2實(shí)例來(lái)完成所有的數(shù)據(jù)分布任務(wù),降低了整體AWS資源的使用。其次通過(guò)并行配對(duì)掛載的方法,將大量實(shí)例資源與已分配數(shù)據(jù)的EBS卷組進(jìn)行配對(duì)掛載,快速構(gòu)建起可用的計(jì)算機(jī)集群。最后待處理任務(wù)結(jié)束后,統(tǒng)一卸載外部掛載的EBS卷組,達(dá)到了計(jì)算資源與存儲(chǔ)設(shè)備的分離,在不消耗額外計(jì)算與存儲(chǔ)資源的前提下實(shí)現(xiàn)了數(shù)據(jù)復(fù)用的目的。
[0010]技術(shù)方案:一種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法,包括如下步驟: 步驟1,創(chuàng)建單臺(tái)實(shí)例并掛載大量小容量EBS卷組,實(shí)現(xiàn)大數(shù)據(jù)的劃分與分配,具體方法為:
步驟1-1,依據(jù)卷組標(biāo)簽掃描所需EBS卷組ID,采用循環(huán)模式分配存儲(chǔ)設(shè)備名稱,在實(shí)例外部利用EC2命令行工具進(jìn)行掛載后向?qū)嵗峤凰性O(shè)備名;
步驟1-2,實(shí)例內(nèi)部創(chuàng)建所有掛載文件路徑并賦予相應(yīng)權(quán)限,與接收到的存儲(chǔ)設(shè)備進(jìn)行系統(tǒng)級(jí)別掛載;
步驟1-3,利用用戶自定義方法對(duì)集群數(shù)據(jù)進(jìn)行劃分,并對(duì)應(yīng)轉(zhuǎn)移到相應(yīng)的小容量存儲(chǔ)設(shè)備中去;
步驟2,創(chuàng)建全部集群實(shí)例,與得到數(shù)據(jù)分配后的EBS卷組進(jìn)行并行匹配掛載;
步驟2-1,依據(jù)資源標(biāo)簽掃描可用的EBS卷組與集群實(shí)例ID,利用循環(huán)模式進(jìn)行配對(duì)掛載后,對(duì)每一實(shí)例上傳分配的存儲(chǔ)設(shè)備名;
步驟2-2,并行訪問(wèn)所有實(shí)例,創(chuàng)建掛載文件路徑并賦予讀寫權(quán)限,在系統(tǒng)級(jí)別掛載設(shè)備;
步驟3,待計(jì)算任務(wù)結(jié)束后,對(duì)存儲(chǔ)服務(wù)與計(jì)算服務(wù)進(jìn)行分離,卸載所有EBS卷組并終止集群實(shí)例,將并行數(shù)據(jù)結(jié)果單獨(dú)存留在EBS卷組中。
[0011]以上
【發(fā)明內(nèi)容】
中所述的EC2命令行工具是指由AWS EC2服務(wù)提供的,通過(guò)文本命令方式來(lái)運(yùn)行服務(wù)的腳本;所述EBS卷組是指由AWS提供的,具有獨(dú)立生命周期的網(wǎng)絡(luò)存儲(chǔ)設(shè)備,可以與EC2實(shí)例通過(guò)網(wǎng)絡(luò)驅(qū)動(dòng)的方式的連接,來(lái)提供持久性的數(shù)據(jù)塊級(jí)存儲(chǔ)。每個(gè)EBS卷組與EC2實(shí)例,都具有惟一的ID編號(hào),并可通過(guò)添加標(biāo)簽的方式來(lái)進(jìn)行語(yǔ)義上的區(qū)分。
[0012]本發(fā)明采用上述技術(shù)方案,具有以下有益效果:
1、方法在集群建立之前就可利用一臺(tái)EC2實(shí)例來(lái)完成所有的數(shù)據(jù)分布任務(wù),顯著降低了整體AWS的資源消耗;
2、待集群創(chuàng)建后,方法采用并行配對(duì)掛載的方法,可將所需數(shù)據(jù)快速分布到整個(gè)集群系統(tǒng)內(nèi),提高了數(shù)據(jù)分布準(zhǔn)備的效率;
3、存儲(chǔ)有并行處理結(jié)果數(shù)據(jù)的EBS卷組,可以在處理任務(wù)結(jié)束后,繼續(xù)持久保存,以極低的成本達(dá)到了數(shù)據(jù)復(fù)用的目的。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1為本發(fā)明實(shí)施例的面向AWS平臺(tái)的分布式數(shù)據(jù)的劃分與配置流程圖。
【具體實(shí)施方式】
[0014]下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
[0015]利用面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法進(jìn)行并行處理系統(tǒng)的數(shù)據(jù)分配與并行掛載的最小對(duì)象為一臺(tái)設(shè)置有EC2命令行工具的可聯(lián)網(wǎng)的計(jì)算機(jī)設(shè)備和一個(gè)可以有效申請(qǐng)AWS各類資源的Amazon賬號(hào)。
[0016]在對(duì)數(shù)據(jù)進(jìn)行分布管理之前,需要進(jìn)行預(yù)處理,具體操作如下:檢測(cè)當(dāng)前計(jì)算機(jī)系統(tǒng)內(nèi)是否準(zhǔn)備有EC2命令行工具,工具均為可執(zhí)行的系統(tǒng)腳本,以“ec2_”為命名前綴,也可通過(guò)命令如“ec2-describe_reg1ns”來(lái)進(jìn)行實(shí)地驗(yàn)證,此命令用于打印所有可用的EC2數(shù)據(jù)中心名稱;檢測(cè)當(dāng)前計(jì)算機(jī)內(nèi)是否存在AWS EC2賬戶私有密鑰,如不存在,則可通過(guò)訪問(wèn)EC2圖形化網(wǎng)頁(yè)界面來(lái)獲取。
[0017]通過(guò)上述預(yù)處理后,即可按照?qǐng)D1所示的流程圖,實(shí)現(xiàn)面向AWS平臺(tái)的分布式數(shù)據(jù)的劃分與配置流程,包括以下步驟:
步驟1,利用EC2命令行工具或AWS提供的網(wǎng)頁(yè)控制終端,啟動(dòng)一臺(tái)EC2實(shí)例與若干小容量EBS卷組,卷組的數(shù)量由用戶自行定義并添加描述標(biāo)簽(如“data”),用以實(shí)現(xiàn)大數(shù)據(jù)的劃分與分配,具體方法為:
步驟1-1,利用EC2命令行工具中的“ec2-describe-volumes”,依據(jù)卷組標(biāo)簽掃描所需EBS卷組ID,采用循環(huán)模式分配存儲(chǔ)設(shè)備名稱,在實(shí)例外部利用EC2命令行工具進(jìn)行掛載后向?qū)嵗峤凰性O(shè)備名,設(shè)備名稱一般由“sd”開(kāi)頭,加上f-p之間單個(gè)字母,以及由1-15內(nèi)的數(shù)字;
步驟1-2,實(shí)例內(nèi)部創(chuàng)建所有掛載文件路徑并賦予相應(yīng)權(quán)限,利用mount指令與接收到的存儲(chǔ)設(shè)備進(jìn)行系統(tǒng)級(jí)別掛載;
步驟1-3,導(dǎo)入大數(shù)據(jù)后,利用用戶自定義的劃分方法對(duì)數(shù)據(jù)進(jìn)行分割,并將相應(yīng)需要的文件--拷貝入掛載后的小容量EBS卷組內(nèi);
步驟1-4,卸載所有已分配數(shù)據(jù)的EBS卷組;
步驟2,利用EC2命令行工具或AWS提供的網(wǎng)頁(yè)控制終端來(lái)創(chuàng)建大量EC2實(shí)例,來(lái)構(gòu)建計(jì)算機(jī)集群,并與步驟2中產(chǎn)生的EBS卷組進(jìn)行并行匹配掛載,具體方法為:
步驟2-1,依據(jù)資源標(biāo)簽掃描可用的EBS卷組與集群實(shí)例ID,利用EC2命令行工具中的“ec2-describe_instances,,以及 “ec2-describe_volumes,,,
步驟2-2,利用EC2命令行工具“ec2-attach_volume ”,基于循環(huán)模式對(duì)實(shí)例與卷組進(jìn)行配對(duì)掛載,對(duì)每一實(shí)例上傳分配的存儲(chǔ)設(shè)備名,每個(gè)終端在保證設(shè)備名稱惟一性的前提下可以獲得一個(gè)或多個(gè)卷組,匹配后的設(shè)備名被上傳至實(shí)例中的特定文件“/tmp/.matchedVolumes,,;
步驟2-3,并行訪問(wèn)所有實(shí)例,上傳集群內(nèi)加密傳輸?shù)拿荑€,得以從控制端在無(wú)需密碼下的情況下遠(yuǎn)程訪問(wèn)所有相關(guān)實(shí)例;
步驟2-4,在每個(gè)實(shí)例中,創(chuàng)建掛載文件路徑并賦予讀寫權(quán)限,讀取上傳的卷組匹配文件并利用mount指令在系統(tǒng)級(jí)別對(duì)相關(guān)設(shè)備進(jìn)行掛載。
[0018]步驟3,待計(jì)算任務(wù)結(jié)束后,對(duì)存儲(chǔ)服務(wù)與計(jì)算服務(wù)進(jìn)行分離,卸載所有EBS卷組并終止集群實(shí)例,將并行數(shù)據(jù)結(jié)果單獨(dú)存留在EBS卷組中。
【權(quán)利要求】
1.一種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法,其特征在于,利用集中式數(shù)據(jù)分配與批量式數(shù)據(jù)掛載的方式來(lái)進(jìn)行大規(guī)模集群數(shù)據(jù)準(zhǔn)備,包括如下步驟: 步驟1,創(chuàng)建單臺(tái)實(shí)例并掛載大量小容量EBS卷組,實(shí)現(xiàn)大數(shù)據(jù)的劃分與分配; 步驟2,創(chuàng)建全部集群實(shí)例,與得到數(shù)據(jù)分配后的EBS卷組進(jìn)行并行匹配掛載; 步驟3,待計(jì)算任務(wù)結(jié)束后,對(duì)存儲(chǔ)服務(wù)與計(jì)算服務(wù)進(jìn)行分離,卸載所有EBS卷組并終止集群實(shí)例,將并行數(shù)據(jù)結(jié)果單獨(dú)存留在EBS卷組中。
2.根據(jù)權(quán)利要求1所述的一種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法,其特征在于,步驟I的數(shù)據(jù)分配,具體步驟為: 步驟1-1,依據(jù)卷組標(biāo)簽掃描所需EBS卷組ID,采用循環(huán)模式分配存儲(chǔ)設(shè)備名稱,在實(shí)例外部利用EC2命令行工具進(jìn)行掛載后向?qū)嵗峤凰性O(shè)備名; 步驟1-2,實(shí)例內(nèi)部創(chuàng)建所有掛載文件路徑并賦予相應(yīng)權(quán)限,與接收到的存儲(chǔ)設(shè)備進(jìn)行系統(tǒng)級(jí)別掛載; 步驟1-3,利用用戶自定義方法對(duì)集群數(shù)據(jù)進(jìn)行劃分,并對(duì)應(yīng)轉(zhuǎn)移到相應(yīng)的小容量存儲(chǔ)設(shè)備中去。
3.根據(jù)權(quán)利要求1所述的一種面向AWS平臺(tái)的分布式數(shù)據(jù)管理方法,其特征在于步驟2的并行配對(duì)掛載,具體步驟為: 步驟2-1,依據(jù)資源標(biāo)簽掃描可用的EBS卷組與集群實(shí)例ID,利用循環(huán)模式進(jìn)行配對(duì)掛載后,對(duì)每一實(shí)例上傳分配的存儲(chǔ)設(shè)備名; 步驟2-2,并行訪問(wèn)所有實(shí)例,創(chuàng)建掛載文件路徑并賦予讀寫權(quán)限,在系統(tǒng)級(jí)別掛載設(shè)備。
【文檔編號(hào)】G06F17/30GK104243564SQ201410444864
【公開(kāi)日】2014年12月24日 申請(qǐng)日期:2014年9月3日 優(yōu)先權(quán)日:2014年9月3日
【發(fā)明者】陸佳民, 馮鈞 申請(qǐng)人:河海大學(xué)