999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FileSystem API的HDFS文件存取和副本選擇優化研究

2016-11-22 07:44:13賈會玲李英娜李萌萌
化工自動化及儀表 2016年6期
關鍵詞:信息

賈會玲 吳 晟 李英娜 李萌萌 楊 璽 李 川

(昆明理工大學信息工程與自動化學院,昆明 650500)

基于FileSystemAPI的HDFS文件存取和副本選擇優化研究

賈會玲 吳 晟 李英娜 李萌萌 楊 璽 李 川

(昆明理工大學信息工程與自動化學院,昆明 650500)

在對HDFS進行分析和研究的基礎上,在HDFS文件分布式系統中應用FileSystem API進行文件存儲和訪問,并通過改進的蟻群算法對副本選擇進行優化。HDFS API能夠有效完成海量數據的存儲和管理,提高海量數據存儲的效率。通過改進的蟻群算法提升了文件讀取時副本選擇的效率,進一步提高了系統效率并使負載均衡。

HDFS FileSystem API 改進的蟻群算法 副本選擇

互聯網特別是移動互聯網的發展,加快了信息化向社會經濟各方面和日常生活的滲透。無論是個人數據、家庭數據還是企業數據都呈指數增長的態勢,這些數據大多為非關系型數據,具有海量、復雜、多樣、異構及動態變化等特性。如何高效存儲和管理這些數據,使之得到高效利用已成為海量數據研究的熱點[1]。分布式技術的迅速發展,使它成為了一種解決海量數據與管理的有效方式。

HDFS(Hadoop Distributed File System)提供了一種高效、安全的海量數據分布式解決方案[2,3]。HDFS不僅提供了一個分布式環境,同時結合了FileSystem API,可大幅度提高文件上傳和下載的效率。副本技術是保證HDFS可靠性和性能的關鍵技術,它能在很大程度上減少傳輸延遲,提高數據訪問和處理效率[4]。而副本選擇是HDFS中數據訪問和管理的基礎,副本選擇策略的優劣將直接影響系統的性能、負載平衡和可靠性[5]。

在HDFS整體結構和讀寫原理研究的基礎之上,筆者在HDFS中應用FileSystem API進行文件存儲和訪問,介紹了系統設計和關鍵模塊的實現。并且,利用改進的蟻群算法對HDFS文件讀取時的副本選擇進行了優化。

HDFS是一個典型的主從(Master/Slave)架構(圖1),主要由一個名字結點(Namenode)、一個SecondaryNamenode、一個或多個數據結點(Datan-ode)組成。Namenode為Master結點,是HDFS文件目錄和分配的管理者,它主要負責名字空間和塊的管理。SecondaryNamenode實質上是Namenode的一個快照,用來保存Namenode中對HDFS的元數據備份,并減少Namenode的啟動時間。Datanode為Slave結點,是HDFS中真正存儲數據的地方,它是文件存儲的基本單元。

圖1 HDFS架構示意圖

2 HDFS讀寫原理

HDFS采用流式數據訪問方式存儲數據,對于客戶端寫入的數據先按照固定大小對這些數據進行分塊,然后把每一個數據塊的多個副本存放在不同的Datanode節點上。客戶端也是按照分塊來讀取文件的數據,客戶端總是選擇從距離它最近的可用的Datanode節點上讀取數據塊。

2.1文件讀流程

客戶端在讀文件時(圖2),首先通過FileSystem的open方法發出打開文件的請求;接著,客戶端調用read方法,開始從Datanode上讀取數據,當前Datanode的數據塊讀取完畢后,關閉此流與Datanode的連接;然后連接此文件的下一個數據塊的最近Datanode進行塊讀取。當客戶端讀取數據結束后,調用close方法,關閉該流。在讀取數據的過程中,若客戶端與Datanode節點通信出現錯誤時,客戶端會通知Namenode,然后試著連接下一個擁有此數據塊的Datanode進行數據讀取。

圖2 文件讀流程

2.2文件寫流程

客戶端在寫文件時(圖3),首先對文件進行分塊操作,同時通過create方法發出創建文件的請求,FileSystem通過RPC協議將請求發送給Namenode,在Namenode的Namespace里面創建一個新的文件,同時Namenode分配可用的Datanode。FileSystem返回一個FSDataOutputStream給客戶端,用于寫入數據,客戶端調用write方法,以流式方式將各塊寫入Datanode。當客戶端寫數據完成后,調用close函數,關閉該流。最后,FileSystem通知Namenode寫入完畢。

3 HDFS文件存儲系統的設計與實現

3.1系統架構

HDFS文件存儲系統基于JSP+JavaBean+Servlet模型,JSP充當視圖層,JavaBean充當模型層,Servlet充當控制層。模型層(Model)把上傳或下載抽象成一個JavaBean組件,負責完成文件的上傳或下載。視圖層(View)主要負責顯示所要上傳或下載的文件目錄。控制層(Controller)主要負責對前端JSP頁面傳進的參數進行處理,然后調用相應的JavaBean組件實現文件的上傳和下載。MVC模式的系統架構如圖4所示。

MVC模式的工作原理為:所有的請求都被發送給作為控制層的Servlet。Servlet接收請求,并根據請求信息將它們分發給相應的JSP頁面來響應;同時Servlet還根據JSP的需求生成相應的JavaBean對象并傳輸給JSP,JSP通過直接調用方法或利用UseBean的自定義標簽,得到 JavaBean中的數據。這種設計模式通過Servlet和JavaBean的合作來實現交互處理。

圖3 文件寫流程

圖4 HDFS文件存儲系統架構框圖

3.2主要功能模塊的設計與實現

筆者提出的HDFS存儲系統采用HDFS作為底層架構。HDFS的高可用性、高可靠性及容錯機制等特性增強了分布式云系統的穩定性、可靠性和可擴展性。為方便上層邏輯往底層文件系統中讀寫數據,設計并實現了文件上傳和下載模塊。另外,文件下載模塊又包括副本選擇優化模塊。HDFS文件的存儲是基于FileSystem API實現的。Hadoop類庫中最終面向用戶提供的接口類是FileSystem,該類是一抽象類,封裝了幾乎所有的文件操作。

用戶向Hadoop分布式文件系統中上傳文件時,首先由FileInputStream類創建本地文件的輸入流;然后由FileSystem類獲得URI對應的HDFS文件系統,以創建的方式打開Hadoop文件的輸出流,該輸出流指向HDFS目標文件;最后用IOUtils工具將文件從本地文件系統復制到HDFS目標文件中,并顯示當前HDFS目標文件中的所有文件目錄。文件上傳模塊流程如圖5所示。

圖5 基于FileSystem API的HDFS文件上傳流程

用戶從Hadoop分布式文件系統中下載文件到本地時,首先由Configuration類讀取Hadoop文件系統配置項;其次,由FileSystem類獲得URI對應的HDFS文件系統并打開一個URI對應的FSDataInputStream文件輸入流,讀取文件;最后用IOUtils工具將文件從HDFS目標文件中選定并保存到本地文件系統的指定路徑下,關閉輸入流和輸出流。文件下載模塊流程如圖6所示。

圖6 基于FileSystem API的HDFS文件下載流程

3.3副本選擇優化模塊

3.3.1數據模型

筆者應用蟻群算法設計出一種Hadoop集群環境下的副本選擇策略,該策略綜合考慮了磁盤的I/O速率、網絡帶寬、副本節點的負載狀況和物理距離d這4個主要因素[6,7]。對于客戶端來說,信息素濃度越大副本越佳。

當創建數據副本時,先初始化信息素濃度,具體如下:

(1)

式中Filesize——副本大小;

r——磁盤的讀取速度。

當副本發生變化時,副本的信息素濃度也會根據不同的情況做出相應的改變,變化規律為:

(2)

其中,ΔTj為信息素濃度改變量;ρ為信息素持久度,取ρ=0.8,該參數表示即使副本沒有發生變化,信息素濃度也會相應降低。副本信息素的變化規律包括以下3種情況:

b. 當副本被成功訪問時,信息素濃度會上升,上升值ΔTj=cek,其中ce=0.8;

c. 當副本被訪問失敗時,信息素濃度會降低,降低值ΔTj=-cpk,其中cp=1.1。

當副本被刪除時,將信息素濃度置為零并設置停用標志。當副本信息素濃度有所變化時,該副本被選擇的概率也會隨之增減,可利用公式計算出每一個副本被選擇的概率[8],具體如下:

(3)

其中,Tj(t)、Tu(t)分別為副本所在節點j、u的當前信息素濃度;ηj、ηu分別為相應節點的初始信息素濃度;α和β分別代表當前信息素和初始信息素的相對重要程度。筆者視二者權重相等,用于共同決定選擇概率,即α和β分別取為0.5。

若每次都選擇概率最大的副本,極易造成副本所在節點的負載不平衡。為保證節點的負載均衡,將計算出的選擇概率與該副本所在節點的負載完成率進行結合運算,使得每次被選中的副本節點不一定是計算概率最大的節點:

(4)

其中,f、fmax分別表示訪問同一個存儲節點上的相同數據副本的任務個數和最大個數。

3.3.2副本選擇算法流程

在上述信息素初始化和變化規律的基礎上,設計了副本選擇蟻群算法,具體步驟如下:

a. 初始化信息素。利用式(1)對新創建的副本進行信息素初始化。

b. 計算選擇概率。根據用戶的需求從副本中找出所有的可用副本,利用式(3)計算每個副本節點的選擇概率。

c. 選擇副本。將選擇概率與副本所在節點的負載完成率按照式(4)進行結合運算,將概率最大的副本節點作為訪問節點。

d. 更新信息素濃度。被選中作為訪問對象的節點進行副本傳送時,減少信息素。若副本傳輸成功,則信息素濃度上升;若副本傳輸失敗,則信息素濃度降低。

4 結束語

海量數據信息的存儲是當前信息時代面臨的問題,尋找到海量文檔的存儲解決方案對信息資源的有效存儲有著重要意義。HDFS提供了高效、穩定且存儲成本相對低廉的分布式存儲方案。筆者設計了一種基于FileSystem API的HDFS文件存儲系統,并通過改進的蟻群算法對文件讀取時的副本選擇進行了優化。該系統基于分布式文件系統HDFS,并部署運行在廉價的服務器集群之上,充分發揮了HDFS高可擴展性、高可靠性的特點,較好地利用了現有的存儲設施。但HDFS集群作為存儲環境也存在一些缺陷,如不適合于文件的隨機讀寫,對海量小文件的存儲也存在效率問題。

[1] 崔杰,李陶深,蘭紅星.基于Hadoop的海量數據存儲平臺設計與開發[J].計算機研究與發展,2012,49(z1):12~18.

[2] Ghemawat S,Cobioff H,Leung S T.The Google File System[C].Proceedings of the 19th ACM Symposium on Operating Systems Principles.New York:ACM Press,2003:29~43.

[3] Shvachko K,Kuang H,Radia S,et al.The Hadoop Distributed File System[C].2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).Washington DC, USA:IEEE,2010:1~10.

[4] 劉田甜,李超,胡慶成,等. 云環境下多副本管理綜述[J].計算機研究與發展,2011,48(z3):254~260.

[5] 羅鵬,龔勛.HDFS數據存放策略的研究與改進[J].計算機工程與設計,2014,35(4):1127~1131.

[6] 王彩亮,李浩,姚紹文.云環境中數據副本選擇策略研究[C].The 2nd Asia-Pacific Conference on Information Network and Digital Content Security. Paris: Atlantis Press,2011:12~17.

[7] 陳蕾,楊鵬.螞蟻算法在數據網格副本選擇中的應用研究[J].計算機工程與設計,2008,29(23):6157~6160.

[8] 王輝,錢鋒.群體智能優化算法[J].化工自動化及儀表,2007,34(5):7~13.

ResearchofHDFSFileSystemAccessandOptimizationofReplicaSelectionBasedonFileSystemAPI

JIA Hui-ling, WU Sheng, LI Ying-na, LI Meng-meng, YANG Xi, LI Chuan

(FacultyofInformationEngineeringandAutomation,KunmingUniversityofScienceandTechnology,Kunming650500,China)

Based on analysis and research of HDFS, having FileSystem API applied in HDFS to store and access files was implemented, including having the improved ant colony algorithm adopted to optimize the replica selection. HDFS API can effectively store and manage mass data and improve efficiency of mass data storage. Though making use of improved ant colony algorithm to promote efficiency of the file replica selection in reading files, the system efficiency and load balancing can be improved.

HDFS, FileSystem API, improved ant colony algorithm, replica selection

TP399

A

1000-3932(2016)06-0623-05

2016-04-28(修改稿)基金項目:國家自然科學基金項目(51467007)

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 波多野结衣二区| 午夜精品影院| 日韩激情成人| 欧美日韩国产成人在线观看| 久久国产成人精品国产成人亚洲| 久青草免费视频| 99在线免费播放| 99在线视频免费| a色毛片免费视频| 国产三级毛片| 福利片91| 中文字幕色在线| 国产一二三区视频| 日韩美一区二区| 国产在线观看精品| 99精品热视频这里只有精品7| 国产成人精品在线| 99精品国产高清一区二区| 国产天天射| 欧美成人a∨视频免费观看| 国产精品妖精视频| 一本大道视频精品人妻| 日本高清在线看免费观看| 亚洲欧美精品在线| 免费久久一级欧美特大黄| 91精品网站| 国产精品13页| 欧美国产菊爆免费观看| 亚洲欧美日本国产综合在线| AV熟女乱| 在线观看亚洲国产| 欧美第九页| 欧美午夜在线视频| 91娇喘视频| 在线免费不卡视频| 亚洲成a人片| 午夜精品久久久久久久无码软件| 欧美成人日韩| 国产男女免费视频| 激情成人综合网| 亚洲第一在线播放| 亚洲天堂色色人体| 一级片免费网站| 91精品视频在线播放| 国产爽妇精品| 99在线观看视频免费| 国产成年无码AⅤ片在线| 亚洲一级毛片免费观看| 亚洲精品777| 欧美综合成人| 亚洲免费福利视频| 无码专区第一页| 精品无码一区二区在线观看| 久久激情影院| 六月婷婷精品视频在线观看| 特黄日韩免费一区二区三区| 又爽又黄又无遮挡网站| 黄色网址手机国内免费在线观看| 午夜性刺激在线观看免费| 免费看a毛片| 国产在线小视频| 巨熟乳波霸若妻中文观看免费| 亚洲视屏在线观看| 亚洲IV视频免费在线光看| 国产日本欧美亚洲精品视| 国产人妖视频一区在线观看| 一本大道香蕉中文日本不卡高清二区| 成年人国产视频| 无码AV日韩一二三区| 成年av福利永久免费观看| 成人一级免费视频| 激情网址在线观看| 三上悠亚一区二区| 国产在线一区视频| 中文国产成人精品久久| 少妇高潮惨叫久久久久久| 亚洲区第一页| 四虎永久在线精品国产免费| 亚洲欧美在线精品一区二区| 精品三级网站| 久久青草免费91线频观看不卡| 丰满的熟女一区二区三区l|