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

基于Java 的網盤系統的設計與實現

2022-11-17 00:22:35孫詩軍段元梅
無線互聯科技 2022年1期
關鍵詞:數據庫用戶

孫詩軍,段元梅

(湖南科技學院 信息工程學院,湖南 永州 425199)

0 引言

隨著當今計算機技術與互聯網技術的高速發展,現代社會正以不可想象的速度產生各種各樣的數據,根據IDC 預測,全球數據量將由2016 年的16.1ZB 增長至2025 年的163.0ZB。在這種情況下,云端存儲逐漸地體現出了其優越性。云盤的數據是存放在云端的服務器上的,用戶要使用到云盤的數據服務就必須以互聯網為入口,訪問互聯網的最簡單的方式就是通過Web 瀏覽器。B/S 架構的主要特點是分布性強,維護、開發方便,本文所做的網盤系統就是基于B/S 架構,以實現一款實用、可靠、可擴展的輕量級網盤為目標[1]。

1 網盤的設計與實現

1.1 需求分析

用戶模塊主要是對自己的賬號擁有注冊、登錄、修改密碼的功能,新用戶的密碼要加密存儲在后臺。在用戶注冊完成時網盤系統要為新的用戶分配兩塊權限不同的文件空間,加以私有/公開的權限控制,私有空間中的文件和目錄只有自己能查看修改,公有空間中的文件和目錄可以分享給他人查看并下載。用戶的賬號要有存儲空間的限制,不能無限制地向網盤上傳文件[2]。

在文件模塊,最重要的功能是上傳文件。要保證用戶的使用體驗,就要具備上傳速度快的特性,上傳中的文件需要有暫停的功能,并且由于網絡的不穩定性,很有可能發生文件上傳到一半就失敗的情況,因此要能夠支持斷點續傳功能。對于硬件設備來說,重復的文件會降低空間利用率,上傳的文件必須能夠去重,相同的文件保證在服務器端只存儲一份[3]。

目錄模塊,是用戶對于自己網盤中的文件以及目錄,需要有創建、刪除、移動、重命名功能。用戶訪問目錄要能像在電腦上訪問文件夾一樣,頁面以列表的方式顯示出目錄下的子目錄、文件,能對列表中的目錄和文件進行操作,還要有一條能夠進行目錄導航的路徑,點擊路徑上的目錄進行目錄跳轉[4]。

1.2 用戶模塊的實現

1.2.1 注冊

前臺需要傳入用戶名、密碼、郵箱字段。初始化用戶的屬性,為用戶分配初始的私有空間根目錄和公有空間根目錄。設置密碼方面,為了保證用戶的密碼以密文形式存儲,需要進行加鹽加密,使用當前時間戳作為鹽值,為用戶的密碼進行加密。如果前臺傳入的用戶名或郵箱在數據庫中有重復,前臺需要有相應的提示。注冊成功后,頁面跳轉到登錄頁面。

1.2.2 登錄

前臺需要傳入用戶名、密碼字段。后臺需要進行兩次校驗,分別是校驗用戶的賬號是否存在,賬號密碼是否匹配。驗證密碼時,需要從數據庫中取出該用戶注冊時使用的鹽值,對前臺傳進來的明文密碼進行加密,然后再與數據庫中的密文比對。登錄失敗時,前臺要有相應的提示,登錄成功后,頁面跳轉道網站的首頁。

1.3 目錄模塊的實現

1.3.1 訪問目錄

前臺需要傳入一個目錄的ID,后臺需要返回給前臺當前目錄的路徑信息,以及當前目錄下的所有文件和目錄。后臺拿到前臺傳過來的目錄ID 后,去數據庫中的DIR 表找到該ID 對應的記錄,如果找不到需要報錯。如果能找到,使用pDirId 字段遞歸查找到根目錄,得到該目錄的路徑。在DIR 表和USER_FILE 表中使用目錄id 以及當前用戶ID 找出當前目錄下所有目錄和文件。

1.3.2 創建目錄

前臺需要傳入當前目錄的ID,新目錄的目錄名,在當前目錄下創建一個新的目錄。后臺首先對目錄名進行格式校驗,如果有非法字符則創建失敗并返回錯誤信息給前臺。若目錄名沒有問題,將當前目錄的ID 作為新目錄的pDirId,記錄創建用戶的ID,存入數據庫。新目錄的權限跟隨父目錄及當前目錄的權限。

1.3.3 目錄重命名

目錄重命名功能在點擊重命名按鈕后,打開Bootstrap 提供的Modal 窗口,綁定目錄ID 參數為一個表單參數,輸入新的目錄名后,點擊確認按鈕,提交目錄ID 和新目錄名到后臺。與創建目錄一樣,后臺對新的目錄名也進行格式校驗。校驗通過后,拿到目錄的ID,找到數據庫中對應的記錄,更改DIR_NAME 字段即可。

1.3.4 刪除目錄

因為此操作不可恢復,刪除目錄后會連帶目錄下的所有文件一起刪除,因此在調用后臺接口前,需要彈出二次確認的提示。調用接口后,前臺向后臺傳入刪除的目錄的ID。后臺要在DIR 表中遞歸刪除該目錄下所有的子目錄,并且在刪除子目錄的過程中要刪除掉USER_FILE 表中子目錄下的文件。后臺執行完后,前臺跳轉到之前所在目錄。刪除的文件,只在數據庫里取消與用戶的關聯,并不在硬盤上將文件真的刪掉。通過每周一次的輪詢,將硬盤上與用戶關聯數為零的文件刪除。

1.4 文件模塊的實現

1.4.1 上傳文件

這個功能是本項目中需要研究的一個重點。首先將上傳文件的關鍵點和可能遇到的一些問題列出來:如何提高上傳的速度,怎樣判斷上傳的文件數據中心是否已存在,傳輸到一半網絡異常要如何解決。第一,解決提高文件上傳的速度問題。文件的上傳分為兩個步驟,第一個階段是在前端對文件進行MD5 序列化,獲取文件的MD5 值,這個在后面的文件判重時需要用到。第二個階段是將文件上傳至服務器。對于文件上傳速度的優化,就可以從這兩個階段入手。

對于第一個階段,對數據量不大的小文件進行MD5計算是比較快的,通常在幾秒內就能完成,但對于100 MB 以上的文件,計算其MD5 值就很慢了。通過測試一個300 MB 的文件,發現對其進行MD5 加密的總用時超過了2 分鐘,如果文件再大一些,用時還會更長。

對于第二階段來說,要優化上傳的速度,可以采取提高上傳并發量這一策略,這一策略主要可以加快大文件的上傳速度。在前端使用JavaScript 腳本,對即將上傳的文件進行分片,上傳的過程中可以通過并發的方式,同時上傳多個分片,并且每個分片都要加上當前是第幾塊分片這一參數,服務器在接收到這些分片后,對其進行組裝,還原成上傳的文件。

1.4.2 刪除文件

前端向后臺傳遞一個文件ID 參數,后臺在USER_FILE 表中對對應的記錄進行刪除,同時更新USER 表中的SIZE_USED 字段。因為同一個FILE 可能被多個用戶所引用,因此通過一個每周一次的輪詢,檢查FILE表中如果有的記錄被USER_FILE 表引用的次數為0,就刪除這條記錄,并且刪除對應的存儲文件,釋放空間。

2 測試

通過對每個功能模塊、前端的顯示、邊界數據的檢測、數據庫的數據正確性進行測試,測試結果表明該項目所完成的功能均能正常運行。

3 結語

本文完成了基于Java 的網盤系統設的設計與實現。針對上傳這一功能不夠完善的缺點,設計了一個方便實用的網盤系統。該網盤前端使用Bootstrap、WebUploader 兩款插件,通過Bootstrap 的柵格系統、內置樣式進行頁面的布局以及美化,通過WebUploader 配置了文件分片上傳,完成文件上傳的暫停、續傳、秒傳功能在前端的實現。后臺使用SpringBoot 進行快速搭建,以Mysql 作為數據庫,通過Mybatis 框架將Java 中的實體類與數據庫的表進行映射,最終實現了所設計的網盤系統。

猜你喜歡
數據庫用戶
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 欧美综合中文字幕久久| 日韩午夜福利在线观看| 色悠久久综合| 亚洲va欧美ⅴa国产va影院| 99热这里只有精品免费国产| 亚洲激情99| 日本成人精品视频| 日韩欧美国产中文| 最新亚洲人成网站在线观看| 国产一级二级在线观看| 亚洲天堂777| 免费精品一区二区h| 国产美女无遮挡免费视频| 国产特一级毛片| 欧美成人二区| 国产成人91精品| 色综合狠狠操| 亚洲AⅤ永久无码精品毛片| 国产国模一区二区三区四区| 综合久久久久久久综合网| 波多野结衣久久精品| 人人妻人人澡人人爽欧美一区| h网址在线观看| 国产精品久久久久久久久久久久| 成人国产免费| 午夜久久影院| AV色爱天堂网| 中文字幕在线观看日本| 久久这里只有精品免费| 亚洲精品制服丝袜二区| av一区二区三区高清久久| 亚洲一区免费看| 狠狠v日韩v欧美v| 人妻出轨无码中文一区二区| 激情乱人伦| 色婷婷亚洲十月十月色天| 欧美一区二区啪啪| 国产永久在线观看| AV不卡在线永久免费观看| 亚洲精品无码久久毛片波多野吉| 操操操综合网| 99久久精彩视频| 亚洲丝袜中文字幕| 国产色婷婷视频在线观看| 国产激情无码一区二区三区免费| 波多野结衣一区二区三区四区视频| 欧美三級片黃色三級片黃色1| 亚洲一级无毛片无码在线免费视频| 亚洲成a人片在线观看88| 草草线在成年免费视频2| 免费三A级毛片视频| 在线观看热码亚洲av每日更新| 国产性精品| 免费在线a视频| 精品少妇人妻无码久久| 99re这里只有国产中文精品国产精品| 亚洲午夜综合网| 在线观看欧美国产| 精品成人一区二区三区电影| 亚洲综合激情另类专区| 91精品免费高清在线| 日韩精品一区二区三区swag| 久久成人免费| 婷婷综合在线观看丁香| AV在线天堂进入| 麻豆精品国产自产在线| 91精品啪在线观看国产60岁| 澳门av无码| 中文字幕免费在线视频| 欧美第一页在线| 色老头综合网| 波多野结衣久久精品| 亚洲一区二区精品无码久久久| 亚洲电影天堂在线国语对白| 71pao成人国产永久免费视频| 精品视频91| 黑人巨大精品欧美一区二区区| 亚洲欧美成人综合| 欧美日韩北条麻妃一区二区| 国内精品免费| 日韩中文无码av超清| 欧美日韩国产在线人|