亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        私有云環(huán)境下基于HDFS的PDM數(shù)據(jù)備份策略

        2015-04-21 01:28:11夏秀峰
        關(guān)鍵詞:企業(yè)

        夏秀峰,王 濤

        (沈陽(yáng)航空航天大學(xué) a.遼寧省通用航空重點(diǎn)實(shí)驗(yàn)室;b.計(jì)算機(jī)學(xué)院,沈陽(yáng) 110136)

        ?

        私有云環(huán)境下基于HDFS的PDM數(shù)據(jù)備份策略

        夏秀峰a,b,王 濤b

        (沈陽(yáng)航空航天大學(xué) a.遼寧省通用航空重點(diǎn)實(shí)驗(yàn)室;b.計(jì)算機(jī)學(xué)院,沈陽(yáng) 110136)

        企業(yè)“大數(shù)據(jù)”時(shí)代的到來(lái),以及集中式存儲(chǔ)、訪問(wèn)和維護(hù)大數(shù)據(jù)帶來(lái)的困難,兼顧企業(yè)數(shù)據(jù)涉密性的實(shí)際需求,使得企業(yè)利用私有云來(lái)存儲(chǔ)PDM數(shù)據(jù)成為必然趨勢(shì),而如何備份企業(yè)私有云中的海量數(shù)據(jù)也成為一個(gè)新的問(wèn)題。以Hadoop分布式文件系統(tǒng)HDFS為企業(yè)數(shù)據(jù)存儲(chǔ)平臺(tái),提出了一種集中式的數(shù)據(jù)塊級(jí)增量備份策略,詳細(xì)描述了備份系統(tǒng)的體系結(jié)構(gòu)、相關(guān)概念定義及備份分組算法。該策略能夠解決系統(tǒng)故障、人為誤操作、存儲(chǔ)介質(zhì)故障等原因?qū)е碌钠髽I(yè)PDM數(shù)據(jù)丟失的問(wèn)題。實(shí)驗(yàn)結(jié)果表明,分組算法通過(guò)充分利用網(wǎng)絡(luò)帶寬,實(shí)現(xiàn)了數(shù)據(jù)的高效備份。

        PDM數(shù)據(jù);企業(yè)私有云;HDFS;備份策略

        作為裝備制造企業(yè)數(shù)據(jù)管理的核心系統(tǒng),產(chǎn)品數(shù)據(jù)管理(Product Data Management,PDM)是管理所有與產(chǎn)品相關(guān)的信息和過(guò)程的軟件,其主要功能包括產(chǎn)品文檔管理、產(chǎn)品結(jié)構(gòu)管理和工作流管理等[1]。企業(yè)“大數(shù)據(jù)”時(shí)代的到來(lái),以及集中式存儲(chǔ)、訪問(wèn)和維護(hù)大數(shù)據(jù)帶來(lái)的困難,兼顧企業(yè)數(shù)據(jù)涉密性的實(shí)際需求,利用企業(yè)私有云存儲(chǔ)PDM數(shù)據(jù)將是必然趨勢(shì)。例如,2010年李伯虎等人在文獻(xiàn)[2-3]中提出了云制造的概念,其作為一種基于知識(shí)、面向服務(wù)、高效低碳的網(wǎng)絡(luò)化智能制造新模式,強(qiáng)調(diào)產(chǎn)品全生命周期中各類制造資源的整合與高度共享。

        企業(yè)私有云存儲(chǔ)利用云計(jì)算、大數(shù)據(jù)管理等多項(xiàng)技術(shù)充分整合企業(yè)已有資源,可以有效解決海量數(shù)據(jù)存儲(chǔ)訪問(wèn)、高并發(fā)、高擴(kuò)展等問(wèn)題,能有效降低存儲(chǔ)成本,減少PDM系統(tǒng)的實(shí)施周期,提高生產(chǎn)效率[4]。存儲(chǔ)在私有云中的PDM數(shù)據(jù),由于人為誤操作、存儲(chǔ)介質(zhì)損壞、軟件錯(cuò)誤、自然災(zāi)害等多種因素導(dǎo)致重要數(shù)據(jù)的丟失,會(huì)給企業(yè)帶來(lái)無(wú)法彌補(bǔ)的損失。作為一種數(shù)據(jù)安全策略,備份是避免數(shù)據(jù)丟失的最基本方法[5]。

        在傳統(tǒng)的集中式環(huán)境下,要實(shí)現(xiàn)文件系統(tǒng)中PDM物理文檔數(shù)據(jù)的增量備份,所花費(fèi)的查詢時(shí)間代價(jià)、PDM文檔簽出對(duì)比的時(shí)間代價(jià)很大。因此,現(xiàn)在大多數(shù)大型制造企業(yè)只能采用一周一次的完全備份策略,這樣的備份策略不僅時(shí)間粒度大,而且備份時(shí)間特別長(zhǎng)。在企業(yè)私有云環(huán)境下,PDM數(shù)據(jù)的備份問(wèn)題迄今為止未見(jiàn)相關(guān)研究成果。

        本文以Hadoop[6-7]分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)[8]作為私有云存儲(chǔ)平臺(tái),研究PDM數(shù)據(jù)備份的策略。根據(jù)HDFS一次寫(xiě)入、多次讀取、不支持在已上傳文件的任意位置進(jìn)行修改等特點(diǎn),快速準(zhǔn)確定位到一日內(nèi)更新過(guò)的文件,進(jìn)而提出一種以日為粒度的增量備份方案。

        1 PDM數(shù)據(jù)的企業(yè)私有云存儲(chǔ)

        近幾年,國(guó)內(nèi)制造型企業(yè)經(jīng)過(guò)多年的積累、產(chǎn)品型號(hào)數(shù)量的不斷增加、“構(gòu)型”機(jī)制的逐步實(shí)施,以及MBD/MBE[9]概念的提出和應(yīng)用,使存儲(chǔ)在PDM中的數(shù)據(jù)越來(lái)越多,逐步呈現(xiàn)出“大數(shù)據(jù)”特征,使存儲(chǔ)與處理成本不斷增加、并發(fā)性和訪問(wèn)速度逐步下降、備份時(shí)間越來(lái)越長(zhǎng)。

        如何解決制造型企業(yè)海量MBD數(shù)據(jù)的存儲(chǔ)和共享問(wèn)題,是企業(yè)由制造向智造轉(zhuǎn)型的重要研究?jī)?nèi)容之一[10-12]。因此,為解決制造型企業(yè)面臨的大數(shù)據(jù)存儲(chǔ)問(wèn)題,兼顧企業(yè)高度保密性,私有云存儲(chǔ)[13]是個(gè)很好的解決方案。文獻(xiàn)[2]中提出基于企業(yè)私有云的PDM系統(tǒng)架構(gòu)可采用四層結(jié)構(gòu)模型:基礎(chǔ)設(shè)備層、存儲(chǔ)管理層、應(yīng)用接口層和訪問(wèn)層,如圖1所示。

        圖1 私有云存儲(chǔ)四層結(jié)構(gòu)模型

        在上述基于企業(yè)私有云的PDM系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,本文以Hadoop分布式文件系統(tǒng)HDFS作為私有云存儲(chǔ)平臺(tái),體系架構(gòu)如圖2所示[14]。

        圖2 HDFS架構(gòu)圖

        HDFS集群包含一個(gè)Namenode節(jié)點(diǎn)和多個(gè)datanode節(jié)點(diǎn)??蛻舳?c1ient)通過(guò)與Namenode和Datanode交互來(lái)訪問(wèn)整個(gè)文件系統(tǒng)。HDFS在讀取一個(gè)文件時(shí)默認(rèn)的算法是采用順序讀取方式,具體過(guò)程為:客戶端向Namenode節(jié)點(diǎn)申請(qǐng)讀操作,Namenode通過(guò)申請(qǐng)后會(huì)向客戶端返回一個(gè)包含文件所有數(shù)據(jù)塊信息的鏈表,客戶端按鏈表順序選擇合適的數(shù)據(jù)節(jié)點(diǎn),進(jìn)行與數(shù)據(jù)節(jié)點(diǎn)的連接和數(shù)據(jù)塊的讀取。當(dāng)一個(gè)數(shù)據(jù)塊讀取完成后,客戶端關(guān)閉與該數(shù)據(jù)節(jié)點(diǎn)的連接,并為下一個(gè)數(shù)據(jù)庫(kù)選擇數(shù)據(jù)節(jié)點(diǎn),直到所有數(shù)據(jù)塊都讀取完成。

        2 私有云存儲(chǔ)PDM數(shù)據(jù)增量備份方案

        本文提出的以日為時(shí)間粒度(備份時(shí)間粒度是指兩次備份之間的時(shí)間間隔)的備份方案采用的是以一周為周期,周一到周六進(jìn)行增量備份,周日做一次全備份。而要實(shí)現(xiàn)以日為時(shí)間粒度的增量備份,則需要查找到當(dāng)日HDFS中新建的文件和更新后重新上傳或者修改過(guò)屬性的文件。要完成文件的備份,則需要獲取文件在HDFS中的元信息,包括:文件名稱、文件最后修改時(shí)間、文件大小、文件源路徑、組成文件的數(shù)據(jù)塊ID、數(shù)據(jù)塊(包括副本)所在的節(jié)點(diǎn)信息。

        同時(shí),我們把上述元信息中的文件名稱、文件大小、最后修改時(shí)間、文件源路徑作為文件的備份元數(shù)據(jù),并把這些元數(shù)據(jù)信息以數(shù)據(jù)庫(kù)的方式進(jìn)行組織,以便恢復(fù)時(shí)快速查詢。對(duì)于HDFS而言,只要能夠備份出系統(tǒng)的文件目錄樹(shù)和具體的文件,配合文件的備份元數(shù)據(jù)信息就可以實(shí)現(xiàn)數(shù)據(jù)的恢復(fù)。

        2.1 體系結(jié)構(gòu)

        目前,常用的集中式備份系統(tǒng)體系結(jié)構(gòu)有:Host-based、LAN-Based和基于存儲(chǔ)區(qū)域網(wǎng)SAN(Storage area network)的LAN-Free等多種結(jié)構(gòu)[15]。Host-Based是傳統(tǒng)的數(shù)據(jù)備份結(jié)構(gòu),已經(jīng)不適合現(xiàn)在大型企業(yè)的數(shù)據(jù)備份要求;LAN-Based備份結(jié)構(gòu)的優(yōu)點(diǎn)是節(jié)省投資、磁帶庫(kù)共享、集中備份管理,而缺點(diǎn)在于對(duì)網(wǎng)絡(luò)傳輸壓力大。LAN-Free備份結(jié)構(gòu)徹底解決了LAN-Based方式占用網(wǎng)絡(luò)帶寬的問(wèn)題,但是其成本高、難度大、恢復(fù)能力弱,且只能針對(duì)于SAN這一特定的存儲(chǔ)架構(gòu)。

        考慮到LAN-Free的缺點(diǎn),并且由于實(shí)行冷備份,網(wǎng)絡(luò)帶寬資源全部用于備份,LAN-Based方式中網(wǎng)絡(luò)傳輸壓力大的問(wèn)題也將不存在,因此采用LAN-Based的集中式備份體系架構(gòu)。其體系架構(gòu)如圖3所示。

        圖3 數(shù)據(jù)備份體系結(jié)構(gòu)

        整個(gè)系統(tǒng)分為三部分:名字節(jié)點(diǎn)Namenode、數(shù)據(jù)節(jié)點(diǎn)Datenode和備份服務(wù)器Back server。各部分的功能如下:

        Namenode保存文件存儲(chǔ)系統(tǒng)中所有文件的相關(guān)信息、管理文件元數(shù)據(jù)、負(fù)責(zé)管理和協(xié)調(diào)各個(gè)Datenode。但Namenode不負(fù)責(zé)存儲(chǔ)文件,也不負(fù)責(zé)具體的文件上傳下載工作,這樣就大大減輕了Namenode的負(fù)擔(dān),避免Namenode成為系統(tǒng)的瓶頸。

        Datenode是文件存儲(chǔ)的基本單元,以數(shù)據(jù)塊的形式保存著HDFS中文件的內(nèi)容和數(shù)據(jù)塊的校驗(yàn)信息。備份恢復(fù)工程中,直接與備份服務(wù)器建立數(shù)據(jù)上傳和下載鏈接。

        Backup server是備份恢復(fù)系統(tǒng)的核心,負(fù)責(zé)具體備份恢復(fù)工作。備份文件時(shí),備份服務(wù)器首先從Namenode上獲得備份文件的相關(guān)信息,然后和存儲(chǔ)文件的Datenode建立連接,下載文件,在將文件存儲(chǔ)在備份介質(zhì)上之后,記錄備份文件的相關(guān)信息。

        2.2 備份分組算法思想及相關(guān)概念

        備份分組算法的思想就是:在多線程下載備份任務(wù)的前提下,為充分利用節(jié)點(diǎn)的網(wǎng)絡(luò)帶寬,使所有數(shù)據(jù)節(jié)點(diǎn)在同一時(shí)刻都有正在下載的數(shù)據(jù)塊。為進(jìn)一步描述備份分組算法,下面給出幾個(gè)基本概念定義描述。

        定義1:備份任務(wù)。設(shè)一個(gè)文件file由block1,block2…blockn n個(gè)數(shù)據(jù)塊組成,如式(1)所示,對(duì)該文件所有數(shù)據(jù)塊的下載任務(wù)之和稱為一個(gè)備份任務(wù),用Taskm(m為任務(wù)編號(hào))表示,形式化描述如式(2)所示:

        (1)

        (2)

        式(2)中,備份任務(wù)Taskm描述該文件所有數(shù)據(jù)塊的下載任務(wù),D(Blocki)為對(duì)數(shù)據(jù)塊的下載,稱為備份子任務(wù)。在進(jìn)行備份操作之前,對(duì)文件最后修改時(shí)間與當(dāng)天日期進(jìn)行匹配,如果一致,則確定一個(gè)備份任務(wù)。

        因?yàn)閿?shù)據(jù)塊在HDFS數(shù)據(jù)服務(wù)器中存在多個(gè)副本,所以需要確定下載哪個(gè)數(shù)據(jù)節(jié)點(diǎn)上的數(shù)據(jù)塊,即確定備份子任務(wù)。確定備份子任務(wù)的基本思想是:根據(jù)數(shù)據(jù)塊(包括副本)在數(shù)據(jù)節(jié)點(diǎn)上的實(shí)際物理分布情況,按照數(shù)據(jù)節(jié)點(diǎn)上映射的數(shù)據(jù)塊數(shù)量平均化策略,依次排除數(shù)量多的數(shù)據(jù)節(jié)點(diǎn)上的數(shù)據(jù)塊副本,從而篩選出需要下載的數(shù)據(jù)塊。

        定義2:備份任務(wù)組。所有的備份任務(wù)確立后(設(shè)任務(wù)數(shù)量為N),在備份子任務(wù)定義的基礎(chǔ)上,把n個(gè)數(shù)據(jù)節(jié)點(diǎn)dataNode上同時(shí)進(jìn)行的備份子任務(wù)的集合稱為備份任務(wù)組。因?yàn)閭浞萑蝿?wù)組是備份子任務(wù)的集合即數(shù)據(jù)塊備份的集合,因此在不同的時(shí)間段會(huì)有不同的任務(wù)組形成。形式化描述如式(3)所示:

        (3)

        式(3)中,n個(gè)數(shù)據(jù)節(jié)點(diǎn)上同時(shí)下載的數(shù)據(jù)塊可以全部屬于一個(gè)文件,也可以屬于不同的文件,即使任意兩個(gè)數(shù)據(jù)塊屬于同一個(gè)文件,即i=j,而p≠q時(shí),按照定義1的描述,篩選數(shù)據(jù)塊確立備份子任務(wù)的過(guò)程也能保證各數(shù)據(jù)節(jié)點(diǎn)所映射的數(shù)據(jù)塊的唯一性。根據(jù)數(shù)據(jù)節(jié)點(diǎn)與數(shù)據(jù)塊ID的映射,判斷數(shù)據(jù)節(jié)點(diǎn)上是否還有數(shù)據(jù)塊,若有則數(shù)據(jù)節(jié)點(diǎn)隨機(jī)選擇一個(gè)數(shù)據(jù)塊進(jìn)行下載,從而確定一個(gè)任務(wù)組。

        備份任務(wù)組確立以后,需要進(jìn)行備份任務(wù)組的初始化工作,即首先獲取備份子任務(wù)的信息,包括數(shù)據(jù)塊的ID、數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點(diǎn)、數(shù)據(jù)塊所屬文件源路徑和下載數(shù)據(jù)塊的目標(biāo)路徑??捎萌缡?4)所示的四元組InfoD(blocki)來(lái)描述。

        InfoD(blocki)=[x,y,z,t]

        (4)

        其中,x為下載數(shù)據(jù)塊的ID,y為所在的數(shù)據(jù)節(jié)點(diǎn),z為所屬文件的源路徑,t為下載的目標(biāo)路徑,z與t是鏡像關(guān)系,即在備份中心文件的邏輯組織方式與在HDFS中相同。設(shè)CblockIDs是備份子任務(wù)中要下載的數(shù)據(jù)塊ID集合;CdataNodes是數(shù)據(jù)節(jié)點(diǎn)集合;Csourcepaths是備份任務(wù)中要下載的文件源路徑集合;Ctartetpaths是備份任務(wù)要下載到的目標(biāo)路徑集合,則初始化的過(guò)程如下。首先,建立三個(gè)映射關(guān)系:

        CblockIDs到CdataNodes的映射關(guān)系:RblockIDsto DataNodes={[x,y|x∈CblockIDs,y∈CdataNodes};CblockIDs到Csourcepaths的映射關(guān)系:RblockIDstoSources={x,z|x∈CblockIDs,z∈Csourcepaths};Csourcepaths到Ctartetpaths的映射關(guān)系:RSourcestoTargets={z,t|z∈Csourcepaths,t∈Ctargetpaths}。

        然后,一旦一個(gè)任務(wù)組內(nèi)的數(shù)據(jù)塊IDx已定,根據(jù)映射關(guān)系RblockIDstoDataNodes和RblockIDstoSources可確定其所在的數(shù)據(jù)節(jié)點(diǎn)y和所屬文件的源路徑y(tǒng);根據(jù)映射關(guān)系RblockIDstoSources和RSourecestoTargets可確定其下載的目標(biāo)路徑z。

        備份窗口是指在不影響系統(tǒng)正常業(yè)務(wù)的情況下,用于備份的時(shí)間段。在保證數(shù)據(jù)全部備份完成的前提下,所花費(fèi)的最少時(shí)間稱為最小備份窗口。最小備份窗口與讀請(qǐng)求響應(yīng)時(shí)間、網(wǎng)絡(luò)傳輸速度以及磁盤(pán)讀寫(xiě)速度有關(guān)。以下給出最小備份窗口的明確定義和估算公式。

        定義3:最小備份窗口。完成所有備份任務(wù)所需要的時(shí)間,其估算公式如式(5)所示:

        (5)

        其中,n為HDFS中數(shù)據(jù)節(jié)點(diǎn)個(gè)數(shù);p(1≤p≤n)為不同備份任務(wù)組內(nèi)任務(wù)的個(gè)數(shù),p隨著備份的進(jìn)程而變化的;m表示備份任務(wù)組的數(shù)量;Sblock表示HDFS的數(shù)據(jù)塊大小(默認(rèn)為64M);v1為網(wǎng)絡(luò)傳輸速率(在百兆交換機(jī)的情況下,v1的均值為11M/S);v2為磁盤(pán)讀寫(xiě)速度;T0為讀請(qǐng)求相應(yīng)時(shí)間。其中,讀請(qǐng)求響應(yīng)時(shí)間T0可以忽略。根據(jù)映射關(guān)系RblockIDstoDataNodes能夠得到其反映射關(guān)系RDataNodestoblockIDs,從而計(jì)算出下載所有的備份任務(wù)所需要建立的備份任務(wù)組的數(shù)量m,即所有數(shù)據(jù)節(jié)點(diǎn)映射的數(shù)據(jù)塊數(shù)量的最大值,其計(jì)算公式如式(6)所示:

        (6)

        式(5)中,為了能夠計(jì)算,取p的最大值n,因此理論值會(huì)比實(shí)際測(cè)量值大。

        2.3 分組算法思想描述

        根據(jù)上述思想,分組算法的自然語(yǔ)言描述如下:

        (1)遍歷HDFS文件目錄,將文件最后修改日期與當(dāng)天日期進(jìn)行匹配,如果一致則確定一個(gè)備份任務(wù)并放入備份任務(wù)集合中,建立備份源路徑集合與目標(biāo)路徑集合的映射、數(shù)據(jù)節(jié)點(diǎn)與數(shù)據(jù)塊ID(包括副本)的映射和數(shù)據(jù)塊ID集合到備份源路徑的映射。

        (2)根據(jù)節(jié)點(diǎn)與數(shù)據(jù)塊ID(包括副本)的映射,確定數(shù)據(jù)節(jié)點(diǎn)中對(duì)應(yīng)的數(shù)據(jù)塊數(shù)量,然后根據(jù)某一數(shù)據(jù)塊A所在的數(shù)據(jù)節(jié)點(diǎn)中總的數(shù)據(jù)塊數(shù)量,選擇數(shù)量少的數(shù)據(jù)節(jié)點(diǎn)作為數(shù)據(jù)塊ID集合到數(shù)據(jù)節(jié)點(diǎn)集合映射中A的象,從而建立起數(shù)據(jù)塊ID集合到數(shù)據(jù)節(jié)點(diǎn)集合的映射,建立映射過(guò)程即為備份子任務(wù)篩選數(shù)據(jù)塊的過(guò)程。

        (3)根據(jù)數(shù)據(jù)塊ID集合到數(shù)據(jù)節(jié)點(diǎn)集合的映射,得到其逆映射關(guān)系即數(shù)據(jù)節(jié)點(diǎn)到數(shù)據(jù)塊ID集合的映射,計(jì)算數(shù)據(jù)節(jié)點(diǎn)映射的數(shù)據(jù)塊數(shù)量的最大值n。

        (4)根據(jù)數(shù)據(jù)節(jié)點(diǎn)到數(shù)據(jù)塊(不包括副本)ID集合的映射,建立一組備份任務(wù)組,若n=0,則轉(zhuǎn)到(7)。

        (5)根據(jù)建立的映射關(guān)系,得到備份任務(wù)組內(nèi)每個(gè)子任務(wù)信息,初始化備份任務(wù)組,進(jìn)行數(shù)據(jù)塊的下載。

        (6)一組備份任務(wù)所有備份子任務(wù)完成后,將每個(gè)數(shù)據(jù)節(jié)點(diǎn)映射的數(shù)據(jù)塊ID刪除,n減1并轉(zhuǎn)到(4)。

        (7)算法結(jié)束。

        形式化語(yǔ)言描述如下:

        輸入:HDFS根目錄dirpath;

        初始化:

        SetCfiles←new HashSet(FileInfos);

        //更新的文件集合(備份任務(wù)集合)

        RSourcetoTarget←new HashMap(string,string);

        //源路徑到目標(biāo)路徑的映射

        RblockIDstoSources←new HashMap(Long,Srting);

        //數(shù)據(jù)塊ID到源路徑的映射

        RdataNodestoAllblockIDS←new HashMap(String,HashSet);

        //數(shù)據(jù)節(jié)點(diǎn)到數(shù)據(jù)塊ID的映射

        RblockIDstoDataNodes←new HashMap(Long ,DataNodeInfo);

        //數(shù)據(jù)塊ID到數(shù)據(jù)節(jié)點(diǎn)的映射

        RdataNodestoblockIDs←new HashMap(String,HashSet);

        //數(shù)據(jù)節(jié)點(diǎn)到篩選后數(shù)據(jù)塊ID映射

        maxNum←0;

        //數(shù)據(jù)節(jié)點(diǎn)中數(shù)據(jù)塊(篩選后)數(shù)量的最大值

        dataNodeNum←0;

        //數(shù)據(jù)塊數(shù)量不為0的數(shù)據(jù)節(jié)點(diǎn)個(gè)數(shù)

        建立映射:

        (1)Cfiles←createFilesHashSet(dirpath);

        (2)RSourcetoTarget←createSourcetoTargetHashMap(Cfiles);

        (3)RblockIDstoSource←createBlockIDstoSourcesHashMap(Cfiles);

        (4)RdataNodestoAllBlockIDs←createDataNodestoAllBlockIDsHAshMap(Cfiles);

        為備份子任務(wù)篩選數(shù)據(jù)塊的過(guò)程(建立數(shù)據(jù)節(jié)點(diǎn)到篩選后數(shù)據(jù)塊ID的映射):

        (1)fori=0toCfiles.sizedo

        (2)locatedBlock←namenode.getBlockLocations(Cfiles.Get[i].getFilePath(),0,Cfiles.get[i].getFileSize());

        //獲得文件的數(shù)據(jù)塊信息

        (3)locatedBlockList←locatedBlock.getlocatedBlocks();

        //數(shù)據(jù)塊鏈表信息

        (4)forj=0 to locatedBlockList.size do

        (5)a←R.dataNodestoAllblockIDs.get(locatedBlck[j].getLocations()[0].getHost()).size();

        //將第一個(gè)數(shù)據(jù)塊副本所在的數(shù)據(jù)節(jié)點(diǎn)中數(shù)據(jù)塊數(shù)量賦值給a

        (6)b←R.dataNodestoAllblockIDs.get(locatedBlock[j].getLocations()[1].getHose()).size();

        //將第二個(gè)數(shù)據(jù)塊副本所在的數(shù)據(jù)節(jié)點(diǎn)中數(shù)據(jù)塊數(shù)量賦值給b

        (7)c←R.dataNodestoAllblockIDs.get(locatedBlock[j].getLocations()[2].getHose()).size();

        //將第三個(gè)數(shù)據(jù)塊副本所在的數(shù)據(jù)節(jié)點(diǎn)中數(shù)據(jù)塊數(shù)量賦值給c

        (8)←Mmin(a,b,c);

        (9) ifm==athen

        (10)RblockIDstoDataNodesHashMap.put(locatedBlock,getBlcok()

        .getBlcokID(),locatedBlcok.getLocations()[0]);

        //若a為最小值,則把第一個(gè)數(shù)據(jù)塊所對(duì)應(yīng)的數(shù)據(jù)節(jié)點(diǎn)放入數(shù)據(jù)塊ID到數(shù)據(jù)節(jié)點(diǎn)的映射中

        (11) end if

        (12) ifm==bthen

        (13)RblockIDstoDataNodesHashMap.put(locatedBlock,getBlcok()

        .getBlcokID(),locatedBlcok.getLocations()[1]);

        //若b為最小值,則把第一個(gè)數(shù)據(jù)塊所對(duì)應(yīng)的數(shù)據(jù)節(jié)點(diǎn)放入數(shù)據(jù)塊ID到數(shù)據(jù)節(jié)點(diǎn)的映射中

        (14) end if

        (15) ifm==cthen

        (16)RblockIDstoDataNodesHashMap.put(locatedBlock,getBlcok().getBlcokID(),

        locatedBlcok.getLocations()[2]);

        //若c為最小值,則把第一個(gè)數(shù)據(jù)塊所對(duì)應(yīng)的數(shù)據(jù)節(jié)點(diǎn)放入數(shù)據(jù)塊ID到數(shù)據(jù)節(jié)點(diǎn)的映射中

        (17) end if

        (18) end for

        (19)end for

        (20)RdataNodestoblockIDs←creatDataNodestoblockIDsHashMap(Cfiles,RblcokIDstoDataNodes);

        創(chuàng)建任務(wù)組并下載:

        (1)maxNum←max(RdataNodestoblockIDs); //獲得數(shù)據(jù)節(jié)點(diǎn)中數(shù)據(jù)塊(篩選后)數(shù)量的最大值

        (2)dataNodeNum←getDataNodeNum(RdataNodestoblockIDs);//獲得數(shù)據(jù)塊數(shù)量不為0的數(shù)據(jù)節(jié)點(diǎn)數(shù)

        (3)fori=0 to maxNum-1 do

        (4) forj=0 to dataNodeNum-1 do

        (5) ifRdataNodestoblockIDs.get(dataNode[j]).size>0 then

        TaskGroup[i].add(dataNode[j].block[i]);//

        (6)CblockID.add(dataNode[j].block[i]);

        (7) end if

        (8) end for

        (9)run(TaskGroup[i].RblockIDstoSources,RblockIDstodataNodes,RSourcestoTargets);//進(jìn)行任務(wù)組的下載

        (10)end for

        3 實(shí)驗(yàn)及結(jié)果分析

        實(shí)驗(yàn)環(huán)境為三臺(tái)機(jī)架服務(wù)器和一個(gè)磁盤(pán)陣列。三臺(tái)機(jī)架服務(wù)器中,一臺(tái)為12核、24線程、16G內(nèi)存,型號(hào)為A620r-G;另兩臺(tái)機(jī)架服務(wù)器為24核、48線程、64 G內(nèi)存,型號(hào)為A840r-G;磁盤(pán)陣列有10 T容量,型號(hào)為DS200-N10。在服務(wù)器上,搭建Hadoop云環(huán)境:1個(gè)namenode節(jié)點(diǎn),1個(gè)snamenode和8個(gè)datanode節(jié)點(diǎn)。Hadoop軟件版本為1.2.1,Java版本為jdk1.7.0_40。

        實(shí)驗(yàn)分別以5.09 G、11.86 G、14.11 G、30.25 G的備份任務(wù)量為例。備份介質(zhì)為普通臺(tái)式機(jī)磁盤(pán),其讀寫(xiě)速度在90 M/S-150 M/S之間,取128 M/S,得出分組算法中最小備份窗口的理論與實(shí)測(cè)值對(duì)比,如圖4所示。

        圖4 最小備份窗口估算值與實(shí)測(cè)值對(duì)比

        從圖4中可以看到,估算值與實(shí)測(cè)值相差不大。4次比較誤差依次為11秒、22秒、30秒、26秒。在備份任務(wù)量大的情況下,可以用公式(5)進(jìn)行估算。

        分別對(duì)單線程下載及多線程并行下載前提下的HDFS默認(rèn)算法和分組算法進(jìn)行時(shí)間效率對(duì)比,如圖5所示。

        圖5 備份時(shí)間效率對(duì)比

        對(duì)于單線程執(zhí)行備份,由于HDFS讀數(shù)據(jù)塊流程是順序的,節(jié)點(diǎn)帶寬只能利用1/8(8個(gè)節(jié)點(diǎn)),花費(fèi)的時(shí)間隨任務(wù)量增加基本呈線程增長(zhǎng),遠(yuǎn)比多線程要高得多。多線程方式下,Hadoop默認(rèn)算法隨著備份任務(wù)的進(jìn)行,讀請(qǐng)求集中在某幾個(gè)數(shù)據(jù)節(jié)點(diǎn),導(dǎo)致8個(gè)數(shù)據(jù)節(jié)點(diǎn)的帶寬得不到充分利用。而備份分組算法定位到數(shù)據(jù)塊,得到備份任務(wù)組里所有文件的數(shù)據(jù)塊信息,按N個(gè)數(shù)據(jù)節(jié)點(diǎn)里的數(shù)據(jù)塊建立備份子任務(wù)組,使所有節(jié)點(diǎn)時(shí)刻都有任務(wù),達(dá)到了帶寬近100%的利用。從圖4中看出,在任務(wù)量小的情況下,分組算法與默認(rèn)算法時(shí)間差距不大,隨著任務(wù)量的增加,分組算法的優(yōu)勢(shì)越來(lái)越明顯,在海量數(shù)據(jù)面前有著較高的下載效率。因而,該增量備份策略能夠解決日益增長(zhǎng)的企業(yè)海量PDM數(shù)據(jù)的備份問(wèn)題。

        4 總結(jié)

        本文在基于企業(yè)私有云存儲(chǔ)PDM數(shù)據(jù)的前提下,針對(duì)PDM數(shù)據(jù)如何備份這一新問(wèn)題,提出了一種以日為粒度的增量備份方案。該方案能夠?qū)⑵髽I(yè)私有云中的PDM數(shù)據(jù),以HDFS中相同的目錄組織方式,高效地備份到集中式的環(huán)境中,能夠解決企業(yè)海量PDM數(shù)據(jù)的備份問(wèn)題,同時(shí)在恢復(fù)時(shí),只要按照備份中心的目錄進(jìn)行恢復(fù)即可。

        [1]Miller E. PDM Today[J]. Computer Aided Design,1995,14(2):32-41.

        [2]李伯虎,張霖,王時(shí)龍.云制造—面向服務(wù)的網(wǎng)絡(luò)化制造新模式[J].計(jì)算機(jī)集成制造系統(tǒng),2010,16(1):1-7,16.

        [3]李伯虎,張霖.再論云制造[J].計(jì)算機(jī)集成制造系統(tǒng),2011,17(3):449-457.

        [4]夏秀峰,趙小磊,孔慶云.MBE與大數(shù)據(jù)給PDM帶來(lái)的思考[J].制造業(yè)自動(dòng)化,2013,10(35):71-72.

        [5]LI W J,LI L X,LI F L,et al.Design and implementation of backup system based on P2P network[J].Journal of Inform ation Engineering University,2010,11(3):351-355.

        [6]Apache Hadoop.Welcome to ApecheTM Hadoop(r)[EB/OL].下載地址:http:// Hadoop.apache.org/.

        [7]欒亞建,黃翀民,龔高晟.Hadoop平臺(tái)的性能優(yōu)化研究[J].計(jì)算機(jī)工程,2010,36(14):262-264.

        [8]Konstantin Shvachko,Hairong Kuang and Sanjay Radia.The hadoop distributed file system[C].Proceedings of the 26th IEEE Symposium on Mass Storage Systems and Technologies(MSST '10).Lake Tahoe,May 3-7,2010.1-10.IEEE,c2010.

        [9]梅中義.基于MBD的飛機(jī)數(shù)字化裝配技術(shù)[J].航空制造技術(shù),2010(18):42-43.

        [10]姜紅明,張豐華,吳慧杰.MBD技術(shù)實(shí)施研究[J].制造業(yè)自動(dòng)化,2012,134(12):1-3,12.

        [11]余定方.面向飛機(jī)全生命周期的MBD數(shù)據(jù)管理解決方案探討[J].航空制造技術(shù),2010(23):124-127.

        [12]Yin Haijun,Ning Junyi,Han Zhiren.Study on application technology of lightweight model oriented to no-drawing manufacturing[C].2012 2nd International Conference on Chemical,Material and Metallurgical Engineering,ICCMME 2012,December 15,2012-December 16,2012:3798-3801.

        [13]Ferraiolo D,Kuhn R,Sandhu R.RBAC standard rationale:Comments on “A critique of the ANSI standard on role-based access control”[J].IEEE Security &Privacy,2007,5(6):51-53.

        [14]楊帆.Hadoop平臺(tái)高可用性方案的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué)網(wǎng)絡(luò)技術(shù)研究院,2012:7-12.

        [15]王昌旭,許榕生.企業(yè)數(shù)據(jù)備份系統(tǒng)分析與研究[J].計(jì)算機(jī)應(yīng)用軟件,2008,25(10):122-123.

        (責(zé)任編輯:劉劃 英文審校:宋曉英)

        Backup strategy for PDM data in private cloud based on HDFS

        XIA Xiu-fenga,b,WANG Taob

        (a.Liaoning General Aviation Key Laboratory;b.College of Computer Science,Shenyang Aerospace University,Shenyang 110136,China)

        In the enterprise “Big Data” era,private cloud to store enterprise PDM data becomes an inevitable trend to deal with the difficulties of centralized storage,access and maintenance caused by “Big Data” and to meet the actual needs of secret characteristic of enterprise data.And how to back up large-scale data in enterprise private cloud has become a new problem.With Hadoop Distributed File System(HDFS)as the storage platform for enterprise data,a centralized block-level incremental backup strategy has been proposed,which gives the backup systematical structure,relevant definitions and grouping algorithm.The backup strategy can solve the problems of enterprise PDM data loss caused by system failures,human mistakes,storage media failure,etc.Experimental results show that the grouping algorithm can realize efficient data backup with sufficient network bandwidth.

        PDM data;enterprise private cloud;HDFS;backup strategy

        2014-10-20

        航空科學(xué)基金(項(xiàng)目編號(hào):2013ZG54032)

        夏秀峰(1964-),男,山東青島人,教授,主要研究方向:數(shù)據(jù)庫(kù)理論與技術(shù),E-mail:xiaxiufeng@163.com;王濤(1987-),男,山東萊蕪人,碩生研究生,主要研究方向:管理信息系統(tǒng)與數(shù)據(jù)庫(kù),E-mail:594608907@qq.com。

        2095-1248(2015)04-0071-07

        TP311

        A

        10.3969/j.issn.2095-1248.2013.04.12

        猜你喜歡
        企業(yè)
        企業(yè)
        企業(yè)
        企業(yè)
        企業(yè)
        企業(yè)
        企業(yè)
        企業(yè)
        企業(yè)
        企業(yè)
        敢為人先的企業(yè)——超惠投不動(dòng)產(chǎn)
        亚洲经典三级| 中文字幕乱码亚洲一区二区三区| 一区二区三区四区日韩亚洲| 国产精品国产传播国产三级| 国产狂喷水潮免费网站www| 亚洲成av人片在线观看ww| 中文字幕国产欧美| 中国少妇和黑人做爰视频| 中文字幕av永久免费在线| 日本高清视频永久网站www| 久久99久久99精品中文字幕| 亚洲av无码电影网| 色播在线永久免费视频网站| 中文字幕手机在线精品| 精品午夜福利在线观看| 又色又爽又高潮免费视频国产 | 久久精品一区二区三区av| 国产精品多人P群无码| 欧美精品v欧洲高清| 国产在线观看一区二区三区av| 美腿丝袜在线一区二区| 四虎影视久久久免费观看| 亚洲日韩一区二区一无码| 亚洲成a人v欧美综合天堂麻豆 | 天天躁日日躁狠狠躁一区| 久久亚洲aⅴ精品网站婷婷| 国产一级黄片久久免费看| 日本女优中文字幕在线播放| 亚洲欧洲免费无码| 男人进去女人爽免费视频 | 国产精品亚洲一区二区三区妖精| 精品人妻码一区二区三区剧情| 免费人妻无码不卡中文字幕系| 国产精品厕所| 91精品欧美综合在线观看| 精品黄色一区二区三区| 一边摸一边抽搐一进一出视频| 日日碰狠狠添天天爽超碰97| 图图国产亚洲综合网站| 国产一级黄色av影片| av在线不卡免费中文网|