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

        ?

        基于Openstack的云計(jì)算技術(shù)與應(yīng)用專業(yè)Web云盤設(shè)計(jì)與實(shí)現(xiàn)

        2018-11-15 01:33:54曾新洲
        電腦知識與技術(shù) 2018年20期

        曾新洲

        摘要:Openstack Swift是一個(gè)高度可用的、分布式的、最終一致的對象存儲。組織可以使用Swift高效、安全、廉價(jià)地存儲大量數(shù)據(jù)[1]。高職云計(jì)算技術(shù)與應(yīng)用專業(yè)學(xué)生可利用openstack對象存儲技術(shù),搭建Swift服務(wù)器,并在該服務(wù)器上開發(fā)Web云盤系統(tǒng),實(shí)現(xiàn)用戶注冊、登錄,文件上傳、下載、復(fù)制、移動、刪除、搜索等功能,極大地方便了高職院校師生遠(yuǎn)程管理個(gè)人數(shù)據(jù),節(jié)約存儲成本。

        關(guān)鍵詞:Openstack;Swift;云計(jì)算技術(shù)與應(yīng)用專業(yè);Web云盤

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)20-0265-03

        Design and Implementation of Web Cloud Disk for Cloud Computing Technology and Application Based on Openstack

        ZENG Xin-zhou

        (Changsha Commerce&tourism; College, Changsha 410116, China)

        Abstract: Openstack Swift is a highly available, distributed, eventually consistent object/blob store. Organizations can use Swift to store lots of data efficiently, safely, and cheaply. The students of cloud computing technology and application in higher vocational colleges can use openstack object storage technology to build Swift server, and develop Web cloud disk system on the server to realize the functions of user registration, login, file uploading, downloading, copying, moving, deleting, searching and so on, which greatly facilitates the remote management of personal data by teachers and students in higher vocational colleges and saves storage costs.

        Key words: Openstack; Swift; Cloud computing technology and Application Major; Web Cloud Disk

        隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,全球數(shù)據(jù)量以每2年翻一番的速度快速增長,近2年產(chǎn)生的數(shù)據(jù)量相當(dāng)于人類有史以來所有數(shù)量的總和,預(yù)計(jì)到2020年,全球數(shù)據(jù)量將達(dá)到35ZB,大容量網(wǎng)絡(luò)存儲已經(jīng)成為網(wǎng)民緊缺的需求。近年來,基于Openstack的云計(jì)算技術(shù)快速發(fā)展,思科、IBM、阿里云、華為等各大廠商紛紛加入Openstack項(xiàng)目,基于Openstack平臺的阿里云、騰訊云、華為云、百度云紛至沓來,基于云存儲的網(wǎng)盤技術(shù)得到了長足的應(yīng)用[2]。通過使用云盤,用戶可以隨時(shí)隨地辦公,并能實(shí)現(xiàn)數(shù)據(jù)的快速備份和恢復(fù),避免可能出現(xiàn)的數(shù)據(jù)風(fēng)險(xiǎn)[3-4], Openstack中有三個(gè)與存儲相關(guān)的組件:swift對象存儲、glance鏡像存儲和cinder塊存儲[5]。

        2015年10月教育部將“云計(jì)算技術(shù)與應(yīng)用”專業(yè)列入高職專業(yè)目錄,高職“云計(jì)算技術(shù)與應(yīng)用”專業(yè)主要培養(yǎng)云計(jì)算系統(tǒng)規(guī)劃、云平臺搭建、云平臺部署與運(yùn)維和云計(jì)算應(yīng)用開發(fā)等崗位的高素質(zhì)技術(shù)技能型人才,高職云計(jì)算機(jī)技術(shù)與應(yīng)用專業(yè)學(xué)生利用所學(xué)專業(yè)知識,搭建openstack swift服務(wù)器,并在該服務(wù)器上開發(fā)出基于B/S架構(gòu)的web云盤系統(tǒng),實(shí)現(xiàn)用戶注冊、登錄、文件上傳/下載、新建文件夾、文件/文件夾的復(fù)制/移動/重命名/刪除等功能。高職師生可將個(gè)人數(shù)據(jù)保存在web云盤中,方便師生管理個(gè)人數(shù)據(jù),節(jié)約存儲成本,并可實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程備份和遷移。

        1 系統(tǒng)功能設(shè)計(jì)

        web云盤具有用戶管理、文件夾管理、文件管理和回收站管理四大功能,其中用戶管理包括用戶注冊、用戶登錄和修改用戶信息。文件夾管理功能包括新建、復(fù)制、移動文件夾等,文件管理功能由文件分類管理、文件上傳、下載、復(fù)制、移動、搜索等構(gòu)成,回收站管理包括還原文件/文件夾和清空回收站兩大功能,web云盤系統(tǒng)功能設(shè)計(jì)如圖1所示。

        2 數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)

        Web云盤系統(tǒng)包含兩類數(shù)據(jù)信息:用戶信息和文件信息,文件保存在swift服務(wù)器內(nèi)以用戶名命名的容器中,無須創(chuàng)建文件信息表,web云盤系統(tǒng)采用MySQL數(shù)據(jù)庫,使用t_user數(shù)據(jù)表保存用戶信息,如表1所示。

        3 功能實(shí)現(xiàn)

        3.1 程序架構(gòu)

        Web云盤系統(tǒng)采用jsp+hibernate+spring實(shí)現(xiàn),圖2為系統(tǒng)的包結(jié)構(gòu)圖,表2為包對應(yīng)的功能。

        3.2 用戶管理

        用戶注冊成功后,采用MD5算法將用戶密碼加密后保存在數(shù)據(jù)表t_user的password字段中,同時(shí),在swift服務(wù)器中創(chuàng)建兩個(gè)容器:主容器、垃圾箱容器,主容器以“登錄用戶名”命名,垃圾箱容器以“garbage_登錄用戶名”命名,用戶登錄時(shí),輸入的用戶名、密碼提交給后臺的控制邏輯UserController.java進(jìn)行處理,控制邏輯根據(jù)用戶輸入的用戶名獲得User對象,如果User對象為空,表明用戶不存在,彈出“該用戶不存在”對話框;如果User對象不為空,則采用MD5算法將用戶輸入的密碼轉(zhuǎn)換成密文,再與User對象中的密碼進(jìn)行比較,密碼一致,則進(jìn)入主界面,否則,彈出“密碼錯(cuò)誤”對話框。

        3.3 文件夾管理

        為了便于存儲和提取web云盤中的文件,需將所有的文件分類保存在文件夾中,實(shí)現(xiàn)文件的分類管理,同時(shí)文件夾管理還包括新建、重命名、復(fù)制、移動、刪除文件夾等功能。

        3.3.1 新建文件夾

        用戶點(diǎn)擊“新建文件夾”按鈕,彈出對話框提示用戶輸入文件夾名,文件夾名不能包含“/”“.”等特殊字符,且不能為空,用戶輸入的文件夾名以ajax的方式傳遞給后臺的createdir.action進(jìn)行處理,后臺頁面采用spring MVC模式中的請求注解@RequestMapping獲得文件夾名,并調(diào)用SwiftDFS的createDir方法在swift服務(wù)器的用戶主容器中創(chuàng)建該文件夾。

        3.3.2 復(fù)制文件夾

        在進(jìn)行文件夾復(fù)制操作時(shí),需要將源文件夾下的整個(gè)文件系統(tǒng)復(fù)制到目標(biāo)文件夾,包括源文件夾下的所有文件和文件夾,文件夾的復(fù)制操作采用遞歸方式實(shí)現(xiàn)。文件夾復(fù)制流程如圖3所示。

        3.4 文件管理

        3.4.1 文件分類管理

        Web云盤可根據(jù)文件類型進(jìn)行管理,文件類型包括全部文件、我的文檔、我的圖片、我的視頻、我的音樂、垃圾箱等。用戶點(diǎn)擊“全部文件”可顯示所有的文件/文件夾信息,在該界面中可進(jìn)行文件/文件夾的所有操作,包括上傳、下載、新建文件夾、復(fù)制、移動、刪除、搜索等,用戶登錄成功后,后臺頁面將文件/文件夾列表信息返回給前臺main.jsp頁面,在main.jsp頁面中,通過標(biāo)簽循環(huán)遍歷文件/文件夾列表,并將列表信息以表格的形式顯示出來,每行顯示一個(gè)文件/文件夾信息,顯示內(nèi)容包括文件名、文件位置、大小、修改日期和復(fù)選框,如圖4所示。

        3.4.2 文件重命名

        用戶選中某個(gè)文件/文件夾時(shí),顯示“刪除”“下載”“重命名”“復(fù)制”“移動”按鈕,用戶點(diǎn)擊“重命名”按鈕后,彈出重命名對話框。在前臺頁面main.jsp中需要對用戶的輸入的新文件名做以下出錯(cuò)處理:

        1) 新文件名中不能包含“/”等特殊字符;

        2) 新文件名不能為空;

        3) 同時(shí)只能對一個(gè)文件進(jìn)行重命名操作;

        4) 新文件類型與老文件類型必須一致。

        用戶輸入的信息正確時(shí),將用戶輸入的信息傳遞給后臺的rename.action進(jìn)行處理,后臺程序調(diào)用SwiftDFS的renameDir方法或renameFile方法更新swift服務(wù)器中的相應(yīng)文件名。

        3.4.3 下載

        下載是云盤的一個(gè)重要功能,分為單文件下載和多文件下載,下載單個(gè)文件時(shí),首先將云盤中的文件寫入到字符數(shù)組中,然后再構(gòu)建response響應(yīng)對象,設(shè)置響應(yīng)的MIME類型和響應(yīng)頭,最后將字符數(shù)組輸出到客戶端瀏覽器界面。主要代碼如下所示:

        byte[] b = swiftStorageService.download(userName, filepath);

        response.setContentType("application/octet-stream");

        response.setHeader("Content-disposition", "attachment; filename="

        + new String(filename.getBytes("UTF-8"),"ISO-8859-1"));

        outputStream = new BufferedOutputStream(response.getOutputStream());

        outputStream.write(b);

        下載多個(gè)文件時(shí),需要將多個(gè)文件放在以第一個(gè)文件命名的文件夾中,并將文件夾進(jìn)行打包處理,最后將打包文件作為響應(yīng)返回給客戶端瀏覽器。

        3.5 回收站管理

        回收站中用于存放用戶刪除的文件夾和文件,用戶可一次還原多個(gè)文件或文件夾,同時(shí)也可清空回收站中的文件。

        3.5.1 還原文件/文件夾

        在回收站中,以表格形式呈現(xiàn)已刪除的文件和文件夾,每一個(gè)文件/文件夾占據(jù)表格的一行(在這我們將每一行稱為一條記錄),每條記錄包含以下信息:復(fù)選框、文件名/文件夾名、文件大小、文件修改日期。在恢復(fù)文件/文件夾時(shí),遍歷表格中的所有行,找出選中的行,將選中行的文件名/文件夾名(含路徑,路徑名與文件名之間用大于號隔開)保存在一個(gè)字符串中,多個(gè)文件名/文件夾名之間用逗號隔開,并將該字符串傳遞給后臺頁面處理,后臺頁面分離出需要恢復(fù)的文件/文件夾名,再調(diào)用backGarbageFile方法將文件/文件夾恢復(fù)到用戶容器中,核心代碼如下:

        User user = getSessionUser(request);

        String userName = user.getUsername();

        String[] strs = filePath.split(",");

        for(int i=0; i

        {

        String[] temp = strs[i].split(">");

        swiftStorageService.backGarbageFile(userName, temp[0], temp[1]);

        }

        4 結(jié)束語

        隨著云計(jì)算技術(shù)的飛速發(fā)展,云存儲技術(shù)得到廣泛應(yīng)用,本文基于Openstack的swift云存儲技術(shù)開發(fā)了一套web云盤系統(tǒng),用戶登錄云盤系統(tǒng)后,便可通過瀏覽器在云盤上存儲和管理文件,文件保存在用戶的私人空間中,系統(tǒng)采用MD5算法對用戶密碼進(jìn)行加密處理,確保了用戶的數(shù)據(jù)安全。

        參考文獻(xiàn):

        [1] [EB/OL]https://docs.openstack.org/swift/latest/api/object_api_v1_overview.html.

        [2] GU Gen-qiang, LI Qing-chun, WEN Xiao-long, et al. An overview of newly open-source cloud storage platforms[C]// Proceedings -2012 IEEE International Conference on Granular Computing, 2012:142-147.

        [3] Puttaswamy Krishna P N, Thyaga N, Murali K. Frugal storage for cloud file systems [C]//EuroSys12 – Proceedings of the EuroSys 2012 Conference, 2012:71-84.

        [4] Maxim S, Christoph M. Implementation of cloud-RAID: A secure and reliable storage above the clouds [C]//Lecture Notes in Computer Science, 2013:91-102.

        [5] John Rhoton .[EB/OL]https://www.ibm.com/developerworks/cloud/library/ cl-openstack-overview/index.html.

        亚洲一区二区三区中文字幂| 亚洲av无一区二区三区综合| 久久亚洲道色宗和久久| 久久精品国产亚洲AV高清wy| 日本一区二区三区女优在线| 亚洲成a人v欧美综合天堂| 欲色天天网综合久久| 亚洲成a∨人片在线观看无码| 亚洲国产精品综合久久20| 81久久免费精品国产色夜| 国产乱子伦精品无码专区| 最新国产乱人伦偷精品免费网站| 国内视频偷拍一区,二区,三区| 中文字幕人妻激情在线视频| 中文字幕日韩精品有码视频| 无码a∨高潮抽搐流白浆| 亚洲AⅤ男人的天堂在线观看| 91精品国产高清久久福利| 超碰色偷偷男人的天堂| 国产免费一区二区三区在线观看| 第九色区Aⅴ天堂| 日本按摩偷拍在线观看| 九色综合九色综合色鬼| 亚洲国产成人久久综合一区77| 亚洲av网一区天堂福利| 国产精品一区二区av不卡| 痉挛高潮喷水av无码免费| 中文字幕大屁股熟女乱| 日本一区二区视频免费在线观看| 久久人人爽av亚洲精品| 久久精品成人欧美大片| 国产av91在线播放| 人妖av手机在线观看| 丰满岳妇乱一区二区三区| 欧美精品日韩一区二区三区| 国产三区三区三区看三区| 国产md视频一区二区三区| 午夜一级成人| 亚洲女同性恋激情网站| 亚洲人成网线在线播放va蜜芽| 又爽又黄无遮挡高潮视频网站|