• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Hadoop的校園網(wǎng)盤的設(shè)計與實現(xiàn)

      2015-05-30 07:55:58閆偉陳滿林白云鶴班海濤
      科技創(chuàng)新與應(yīng)用 2015年16期
      關(guān)鍵詞:網(wǎng)盤云計算

      閆偉 陳滿林 白云鶴 班海濤

      摘 要:目前,大多數(shù)學(xué)生均使用U盤進行數(shù)據(jù)存儲,但這種方式存在數(shù)據(jù)容易中毒、U盤容易丟失、無法在實驗室和寢室間同步等弊端,為此,需要開發(fā)一個以校園局域網(wǎng)為依托,可供學(xué)生使用的校園網(wǎng)盤。利用該網(wǎng)盤,學(xué)生可不再使用U盤進行數(shù)據(jù)存儲,在校期間所涉及的所有數(shù)字化文件均可存儲其中,同時,還可實現(xiàn)教學(xué)區(qū)域與寢室的數(shù)據(jù)同步,既保證了數(shù)據(jù)存儲的安全性,又極大地提高了數(shù)據(jù)的應(yīng)用效率。此外,校園網(wǎng)盤采用Hadoop架構(gòu)完成整個底層系統(tǒng)的搭建,屬于“云計算”應(yīng)用的技術(shù)范疇,能夠充分利用學(xué)校目前已有的PC機資源,降低項目投入。

      關(guān)鍵詞:Hadoopp;HDFS;網(wǎng)盤;云計算

      隨著計算機在高校教學(xué)中的普及,各種文檔、數(shù)據(jù)、程序等數(shù)字化文件成為了高校學(xué)生非常重要的學(xué)習(xí)資料和學(xué)習(xí)成果,大到畢業(yè)設(shè)計文檔、畢業(yè)設(shè)計項目,小到課程PPT、作業(yè),涵蓋了學(xué)生學(xué)習(xí)生活的各個方面,如何安全、高效的存儲這些文件就變得非常重要。因此,以“云計算”架構(gòu)Hadoop為基礎(chǔ),依托校園網(wǎng)環(huán)境,設(shè)計并實現(xiàn)校園網(wǎng)盤,就成為了一種可行之道。

      1 方案論證

      1.1 技術(shù)可行性

      由Hadoop HDFS為網(wǎng)盤提供高可用,分布式的存儲架構(gòu)支撐。HDFS(Hadoop Distributed File System)是Hadoop項目的核心子項目,是分布式計算中數(shù)據(jù)存儲管理的基礎(chǔ),是基于流數(shù)據(jù)模式訪問和處理超大文件的需求而開發(fā)的,可以運行于廉價的商用服務(wù)器上。其具有的高容錯、高可靠性、高可擴展性、高獲得性、高吞吐率等特征為海量數(shù)據(jù)提供了不怕故障的存儲,為超大數(shù)據(jù)集(Large Data Set)的應(yīng)用處理帶來了很多便利。

      1.2 操作可行性

      基于HDFS的分布式存儲相關(guān)研究,主要包括HDFS集群中小文件處理,副本存放策略和機架感知以及NameNode備份恢復(fù)機制和拓展機制。HDFS集群中小文件處理包括三種方案,分別是Hadoop Archive,Sequence File和CombineFileInputormat。副本存放策略和機架感知能夠讓NameNode獲取DataNode的網(wǎng)絡(luò)拓撲圖,然后根據(jù)DataNode之間的關(guān)系來確定副本存放的位置,保證數(shù)據(jù)可靠性的同時兼顧了數(shù)據(jù)傳輸速率。NameNode備份恢復(fù)機制通過定期對NameNode中元數(shù)據(jù)信息備份合并形成新的檢查點checkpoint保證NameNode元數(shù)據(jù)的安全。如果NameNode出現(xiàn)宕機故障,可以節(jié)省NameNode重啟時間,甚至恢復(fù)丟失的數(shù)據(jù)。HDFS的可拓展性體現(xiàn)在動態(tài)新增DataNode,能夠滿足大規(guī)模數(shù)據(jù)增長的需求。

      2 系統(tǒng)架構(gòu)設(shè)計與實現(xiàn)

      2.1 系統(tǒng)結(jié)構(gòu)設(shè)計

      系統(tǒng)主要由四部分構(gòu)成,分別是用戶層,系統(tǒng)管理層,數(shù)據(jù)存儲層和基礎(chǔ)設(shè)施層,(1)用戶層:用戶通過WebApp服務(wù)器發(fā)送Ajax請求,服務(wù)器響應(yīng)相應(yīng)的json數(shù)據(jù)到瀏覽器,前端通過Angular JS框架調(diào)用響應(yīng)功能REST接口返回數(shù)據(jù),最后通過Angular JS雙向數(shù)據(jù)綁定自動完成對頁面數(shù)據(jù)進行渲染。(2)系統(tǒng)管理層:負責(zé)應(yīng)用程序與底層數(shù)據(jù)操作連接,采用JFinal MVC框架對大量文件,用戶操作封裝為REST接口,提供前端Web頁面的接口的數(shù)據(jù)返回,把用戶需要的數(shù)據(jù)結(jié)果以json格式傳回客戶端。主要提供用戶管理,目錄管理,文件管理等服務(wù)。(3)存儲數(shù)據(jù)層:Hadoop集群工作在這一層,由HDFS,Jetty構(gòu)成,HDFS提供分布式存儲支撐,一個NameNode存儲文件的元數(shù)據(jù),多個DataNode為文件提供存儲實現(xiàn), Jetty服務(wù)器提供外部REST接口調(diào)用功能。同時這一層也大量封裝了對HDFS的操作。(4)基礎(chǔ)設(shè)施層:即搭載Linux系統(tǒng)的硬件基礎(chǔ)設(shè)施,主要包括磁盤,服務(wù)器等。

      2.2 系統(tǒng)功能實現(xiàn)

      本系統(tǒng)旨在一個在校大學(xué)校的一個存儲服務(wù)。系統(tǒng)設(shè)計包括用戶文件管理模塊和管理員模塊。用戶文件管理模塊:為在校師生提供用戶登陸,文件上傳,下載,刪除,重命名,目錄查看,創(chuàng)建等功能。管理員模塊:主要提供用戶管理(添加,刪除),文件管理。

      2.3 關(guān)鍵技術(shù)實現(xiàn)

      系統(tǒng)在實現(xiàn)過程中,主要實現(xiàn)了對文件的上傳,下載。瀏覽器通過調(diào)取REST接口,Controller通過調(diào)用相應(yīng)的Service來返回相應(yīng)的數(shù)據(jù),Service調(diào)用DAO,而DAO的核心代碼都是通過HDFS的相應(yīng)API來完成的。

      上傳功能的核心代碼:

      public boolean upLoad(InputStream in, String hdfsPath){

      Path p=new Path(hdfsPath);

      try{

      if(fs.exists(p)){

      System.out.println(“文件已經(jīng)存在”);

      return false;

      }

      FileSystem fs = FileSystem.get(URI.create(hdfsPath),conf);

      OutputStream out = fs.create(new Path(hdfsPath));

      IOUtils.copyBytes(in, out, 4096,true);

      in.close();

      }catch(Exception e){

      e.printStackTrace();

      }

      return true;

      }

      下載功能的核心代碼:

      public boolean downLoad(String hdfsPath,String localPath ){

      Path path = new Path(hdfsPath);

      try {

      if(!fs.exists(path)){

      System.out.println(“文件不存在”);

      return false;

      }

      FileSystem hdfs = FileSystem.get(conf);

      Path dstPath = new Path(localPath);

      hdfs.copyToLocalFile(true,path, dstPath);

      } catch (Exception e) {

      e.printStackTrace();

      return false;

      }

      return true;

      }

      3 結(jié)束語

      HDFS作為一種分布式文件系統(tǒng),有著高容錯性的特點,設(shè)計用來部署在低廉的硬件上,而且它提供高吞吐量來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序。HDFS放寬了POSIX的要求可以實現(xiàn)流的形式訪問文件系統(tǒng)中的數(shù)據(jù)。為了保證開發(fā)速度與系統(tǒng)的可維護性,選用JFinal來當(dāng)做Web開發(fā)的MVC框架,同時這個框架的學(xué)習(xí)成本也比較低,輕量級,易拓展。

      參考文獻

      [1]文艾,王磊. 高可用性的HDFS:Hadoop分布式文件系統(tǒng)深度實踐[M].北京:清華大學(xué)出版社,2012,5.

      [2]蔡斌,陳湘萍,董西成. Hadoop技術(shù)內(nèi)幕[M].北京:機械工業(yè)出版社,2010:10-200.

      [3]TomWhite.Hadoop:The Definitive Guide,3rd Edition[M].清華大學(xué)出版社,2015.

      作者簡介:閆偉(1992-),男,大二學(xué)生,專業(yè):計算機科學(xué)與技術(shù)。

      白云鶴(1992-),男,大二學(xué)生,專業(yè):計算機科學(xué)與技術(shù)。

      班海濤(1992-),男,大二學(xué)生,專業(yè):計算機科學(xué)與技術(shù)。

      *通訊作者:陳滿林(1982-),男,講師,主要研究方向:計算機應(yīng)用與智能系統(tǒng)。

      猜你喜歡
      網(wǎng)盤云計算
      網(wǎng)盤存儲服務(wù)商的版權(quán)義務(wù)探析
      志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
      云計算與虛擬化
      基于云計算的移動學(xué)習(xí)平臺的設(shè)計
      實驗云:理論教學(xué)與實驗教學(xué)深度融合的助推器
      云計算中的存儲虛擬化技術(shù)應(yīng)用
      科技視界(2016年20期)2016-09-29 13:34:06
      網(wǎng)盤關(guān)停
      新民周刊(2016年19期)2016-05-25 10:49:21
      網(wǎng)盤資源集中管理
      電腦迷(2014年8期)2014-04-29 08:53:03
      網(wǎng)盤如何知道你在分享侵權(quán)文件
      基于Web的網(wǎng)盤系統(tǒng)的設(shè)計與實現(xiàn)
      鄂托克前旗| 汶川县| 泉州市| 汉寿县| 乳山市| 松江区| 德令哈市| 庆阳市| 长沙市| 长春市| 瓮安县| 芦溪县| 二连浩特市| 化州市| 营口市| 克什克腾旗| 南阳市| 渭南市| 洮南市| 尼木县| 昆山市| 陆河县| 德州市| 琼结县| 黎平县| 南昌县| 台安县| 宽城| 宁远县| 金昌市| 昌黎县| 开原市| 吉安市| 陆河县| 阿坝| 陆川县| 浙江省| 海门市| 湘乡市| 楚雄市| 商南县|