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

基于Hadoop 的數據云盤的設計與實現

2019-06-27 00:38:58解騰剛馬毓杰
現代計算機 2019年13期
關鍵詞:界面用戶功能

解騰剛,馬毓杰

(西京學院信息工程學院,西安710123)

0 引言

隨著互聯網產業的飛速發展以及大數據技術的廣泛應用,目前已有許多網盤類似百度網盤、華為網盤等均采用大數據技術實現了用戶日常的數據上傳、存儲、下載等功能。但是在網盤內提供在線數據分析功能的網盤少之又少,使得用戶想要從大量的數據中獲取到有用的信息以及從數據中發現規律變得較為困難,數據的潛在價值難以被挖掘出來。

目前國內外比較常見的分布式文件系統有Google的GFS、Apache 的HDFS、SUN 的Lustre、MongoDB 的GridFS、IBM 的GPFS、淘 寶 的TFS 和 國 人 開 發 的FastDFS 等,各個分布式文件系統適用于不同的領域,其中HDFS 是Google GFS 的開源實現,通過網絡實現文件在多臺機器上的分布式存儲,HDFS 提供了在廉價服務器集群中進行大規模分布式文件存儲的能力,具有很好的容錯性和擴展性,可以以較低的成本利用現有機器實現大流量和大數據量的讀寫,較好地滿足了大規模數據存儲的需求[1]。

本文提出了基于Hadoop 的數據云盤設計與實現方法,使用者可以將其數據上傳存儲至該云盤中,并且可以隨時從云盤中下載數據,保證了數據存儲的安全性,又極大提高了數據的應用效率[2]。同時云盤中的數據分析功能可以幫助用戶分析數據的規律,讓數據的潛在價值被挖掘出來,為使用者帶來極大的價值和便利。

1 系統設計

1.1 功能模塊設計

本云盤系統按功能可分為兩大模塊——用戶模塊和文件管理模塊。其中,用戶模塊包含兩個功能實現:用戶注冊和用戶登錄;文件管理模塊包含五個功能實現:查看文件、上傳文件、下載文件、刪除文件和數據分析。本系統的功能模塊圖如圖1 所示。

圖1 系統功能模塊圖

1.2 運行流程設計

本云盤系統由最初的登錄界面開始,用戶需要判斷是否擁有賬戶,如果沒有即跳轉到注冊界面進行注冊,如果有則進行登錄操作。在注冊界面中用戶需輸入用戶名和密碼,在檢查用戶名是否重復、輸入兩次密碼是否相同后判斷是否注冊成功,成功即進入登錄界面,否則重復注冊操作。在登錄界面中,用戶需輸入用戶名和密碼,判斷是否登錄成功后進行下一步操作,成功則進入主界面,否則重新登錄。在主界面中,用戶可進行文件管理操作(查看文件、上傳文件、下載文件、刪除文件、數據分析),在操作結束后退出云盤即為結束使用。本系統的系統流程圖如圖2 所示。

圖2 系統運行流程圖

2 系統實現

本系統采用全分布式Hadoop 集群作為運行平臺,使用HDFS 分布式文件系統作為底層存儲,系統分為前臺和后臺兩部分,前臺采用JSP 編寫界面,后臺使用MySQL、HDFS Java API、MapReduce、AJAX 等實現云盤用戶注冊功能、用戶登錄功能,用戶在云盤主界面中對文件實現查看、上傳、下載、刪除以及數據分析功能。

2.1 注冊功能

在本云盤注冊界面中主要完成用戶注冊操作。用戶在進入注冊界面中可以完成如下功能:①要求輸入需要注冊的用戶名。②要求輸入兩次密碼,且輸入的兩次密碼的長度和內容相同,否則需要重新注冊。③注冊成功后跳轉至登錄界面。④用戶注冊成功會同時在HDFS 文件系統下創建名為該用戶的目錄。

2.2 登錄功能

在用戶擁有賬號之后,進入登錄界面進行登錄云盤操作。登錄界面可以實現如下功能:①可以判斷用戶是否擁有賬號,如果沒有可以跳轉至注冊界面。②輸入用戶名和密碼。③判斷用戶名和密碼是否正確,如果不正確則重新登錄。④登錄成功后跳轉至云盤主界面。

2.3 文件管理功能

(1)查看文件

用戶登錄成功后,系統的主界面會顯示該用戶的文件列表,實現過程是,系統提取到當前登錄用戶的用戶名,以此用戶名創建Path 對象,傳入此Path 對象并調用FileSystem 的getFileStatus()方法,得到一個FileStatus 對象,FileStatus 對象封裝了文件系統中文件和目錄的元數據,包括文件的長度、塊大小、備份數、修改時間、所有者以及權限等信息[3]。最后,格式化File Status 對象傳到前端頁面展示。關鍵代碼如下:public FileStatus[]ls(String folder)throws IOException{

Path path=new Path(folder);//根據當前登錄用戶名創建Path 對象

FileSystem fs = FileSystem.get(URI.create(hdfsPath),conf);//獲取FileSystem 實例

FileStatus[]list=fs.listStatus(path);

if(list!=null)

for(FileStatus f:list){

System.out.printf("%s,folder:%s,大小:%dK ",f.getPath().getName(),(f.isDir()?"目錄":"文件"),f.getLen()/1024);

}

fs.close();

return list;

}

(2)上傳文件

用戶點擊“選擇文件”按鈕后,在彈窗中選擇需要上傳的文件,點擊“上傳文件”按鈕即完成上傳操作。實現過程是,調用FileSystem 的copyFromLocalFile 方法,該方法需要傳入兩個參數,分別是本地文件的路徑和所需上傳到HDFS 文件系統的目標路徑。關鍵代碼如下:

public void copyFile(String local,String remote)throws IOException{

FileSystem fs = FileSystem.get(URI.create(hdfsPath),conf);//獲取FileSystem 實例fs.copyFromLocalFile(new Path(local),new Path(remote));//調用copyFromLocalFile 方法實現上傳

System.out.println("copy from:"+local+"to"+remote);

fs.close();

}

(3)下載文件

用戶在主界面選擇需要下載的文件,單擊文件后的“下載”字樣,向服務器提出下載請求,服務器找到該文件即將文件下載到本地默認目錄中。實現過程是,調用FileSystem 的copyToLocalFile 方法,該方法需要傳入兩個參數,分別是HDFS 文件系統中的該文件的路徑和所需下載到本地的目標路徑。關鍵代碼如下:

public void download(String remote,String local)throws IOException{

Path path=new Path(remote);

FileSystem fs = FileSystem.get(URI.create(hdfsPath),conf);//獲取FileSystem 實例

fs.copyToLocalFile(path,new Path(local));//調 用copy-FromLocalFile 方法實現文件下載

System.out.println("download:from"+remote+"to"+local);

fs.close();

}

(4)刪除文件

用戶在主界面選擇需要刪除的文件,單擊文件后的“刪除”字樣,系統會將此文件從HDFS 文件系統中該用戶的目錄下刪除。實現過程是,調用FileSystem的deleteOnExit 方法,該方法需要傳入的參數為所需刪除文件的路徑。關鍵代碼如下:

public void rmr(String folder)throws IOException{

Path path=new Path(folder);

FileSystem fs = FileSystem.get(URI.create(hdfsPath),conf);//獲 取FileSystem 實 例fs.deleteOnExit(path);//調 用deleteOnExit 方法實現文件刪除

fs.close();

}

(5)數據分析

用戶在主界面選擇待分析文件,單擊“分析”字樣,系統會提交該文件到MapReduce 程序,分析完成后會彈窗提示用戶查看分析結果,用戶點擊確認后,將分析結果用Echarts 進行可視化呈現。數據分析功能是通過MapReduce 技術實現的,根據系統需求編寫Map 階段和Reduce 階段的相關代碼即可,使用JSON 數據格式和AJAX 等技術實現分析結果的可視化。以流量統計為例,根據用戶流量數據文件,統計出每個用戶的上行總流量、下行總流量以及總流量。在流量統計案例中,Map 階段由map task 讀文件,通過TextInputFormat一次讀一行,返回(key,value),其中key 代表用戶手機號碼,value 代表對應手機號碼的流量信息;Shuffle 階段是從Map 結束到Reduce 開始之間的過程,Shuffle 階段完成了數據的分區、分組、排序的工作[4];Reduce 階段將與一個key 關聯的一組中間數值進行歸約,即對同一手機號的流量數據進行歸約。關鍵代碼如下:

protected void map(LongWritable key,Text line,Context context)throws IOException,InterruptedException{

String lineStr=line.toString();//返回字符串

String[]values=lineStr.split(" ");//以空格進行切割并存入數組

String upStr=values[values.length-3];

String downStr=values[values.length-2];

int up=Integer.parseInt(upStr);

int down=Integer.parseInt(downStr);

FlowBean flow=new FlowBean(up,down,0);//創建Flow-Bean 對象

context.write(new Text(values[1]),flow);}

protected void reduce(Text key,Iterable<FlowBean>flows,Context context)

throws IOException,InterruptedException{

int totalUp=0;//上行流量

int totalDown=0;//下行流量

for(FlowBean flow:flows){

totalUp+=flow.getUpFlow();

totalDown+=flow.getDownFlow();

}

int totalUpAndDown=totalUp+totalDown;//總流量

FlowBean flow=new FlowBean(totalUp,totalDown,totalUpAndDown);

context.write(key,flow);

}

3 系統運行效果

該系統注冊界面的運行效果如圖3 所示。

圖3 系統注冊界面運行效果圖

該系統登錄界面的運行效果如圖4 所示。

圖4 系統登錄界面運行效果圖

該系統主界面的運行效果如圖5 所示。顯示當前登錄用戶網盤內的文件信息,包括文件名、文件類型、文件大小和相應的操作,單擊文件名后的“刪除”、“下載”字樣,即可將對應文件進行刪除和下載。

圖5 系統主界面運行效果圖

點擊“選擇文件”按鈕,系統會彈出選擇文件的窗口,用戶選擇需要上傳的文件,點擊“上傳文件”按鈕,即可將文件上傳至云盤。上傳文件效果如圖6 所示。

圖6 上傳文件效果圖

單擊文件名后的“分析”字樣,系統會提交該文件到MapReduce 程序,分析完成后會彈窗提示用戶查看分析結果,用戶點擊確認后,分析結果會進行可視化呈現,以流量統計為例,可視化運行效果如圖7 所示。

圖7 分析結果可視化運行效果圖

4 結語

本文提出了基于Hadoop 的數據云盤的設計與實現詳細過程,為使用者提供了數據存儲以及數據分析的功能,在一定程度上為使用者帶來了極大的價值和便利,同時又將數據的潛在價值挖掘出來,具有一定的實際意義。隨著大數據技術的不斷發展,云存儲必然會被廣泛應用,云盤系統相比于傳統的存儲方式優勢也會更加明顯,也將會是未來主流的存儲方式。

猜你喜歡
界面用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機交互界面發展趨勢研究
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 国产乱人激情H在线观看| 黄色不卡视频| 91娇喘视频| 国产最爽的乱婬视频国语对白 | 色婷婷电影网| 99资源在线| 国产成熟女人性满足视频| 亚洲福利一区二区三区| 久久亚洲天堂| 国产精品yjizz视频网一二区| 精品视频第一页| 久久精品人人做人人爽| 在线观看免费AV网| 国产成人高清精品免费| 性激烈欧美三级在线播放| 精品国产网| 中文国产成人久久精品小说| 久久大香香蕉国产免费网站| 国产精品成人啪精品视频| 尤物午夜福利视频| 亚洲中文字幕久久精品无码一区| 欧美视频在线第一页| 国产精选小视频在线观看| 亚洲国产精品VA在线看黑人| 中文字幕亚洲综久久2021| 日本午夜精品一本在线观看| 久久黄色小视频| 中文字幕波多野不卡一区| 国产特级毛片aaaaaaa高清| 欧美福利在线| 亚洲av成人无码网站在线观看| 精品久久久久久成人AV| 久久久久青草线综合超碰| 久久综合伊人77777| 男女精品视频| 日韩在线2020专区| 亚洲91精品视频| 老色鬼欧美精品| 91在线视频福利| 曰AV在线无码| 国产成人高清在线精品| 国产女人爽到高潮的免费视频| 制服无码网站| 无码精品国产dvd在线观看9久| 一边摸一边做爽的视频17国产| 国产欧美精品一区二区| 91丝袜美腿高跟国产极品老师| 久久综合九九亚洲一区| 成人午夜网址| 亚洲高清中文字幕在线看不卡| 九九九精品成人免费视频7| 免费jjzz在在线播放国产| h网站在线播放| 精品福利视频网| 亚洲,国产,日韩,综合一区| 九九热这里只有国产精品| 少妇精品在线| 91福利在线看| 欧美一区二区精品久久久| 欧美成人午夜视频免看| 亚洲成肉网| 欧美精品色视频| 亚洲人人视频| 日本www色视频| 伊人狠狠丁香婷婷综合色| 88av在线| 亚洲动漫h| JIZZ亚洲国产| 午夜少妇精品视频小电影| 四虎免费视频网站| 国产国语一级毛片在线视频| 成人在线观看不卡| 国产免费a级片| 国产99在线| 成人免费网站久久久| 成人一级免费视频| 国产一线在线| 青青国产视频| 中文字幕在线一区二区在线| 国产欧美日韩综合一区在线播放| 国产精品视频导航| 不卡的在线视频免费观看|