• 
    

    
    

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

      ?

      云存儲(chǔ)關(guān)鍵技術(shù)研究

      2018-04-03 06:05:57張文錦汪金虎藍(lán)芳萍錢振江
      關(guān)鍵詞:客戶機(jī)存儲(chǔ)系統(tǒng)客戶端

      張文錦,汪金虎,藍(lán)芳萍,錢振江

      (常熟理工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500)

      人們從邁入21世紀(jì)開(kāi)始,就進(jìn)入了信息社會(huì)時(shí)代,網(wǎng)絡(luò)數(shù)據(jù)化和信息化把“信息”這個(gè)詞逐漸推到一個(gè)至關(guān)重要的地位. 與此同時(shí),信息的數(shù)據(jù)量呈指數(shù)級(jí)增長(zhǎng),信息化時(shí)期的典型特征就是大數(shù)據(jù)[1-2]. 互聯(lián)網(wǎng)專家學(xué)者指出,將來(lái)的時(shí)代將不再是IT(Information Technology)時(shí)代,而是DT(Data Technology)的天下,可見(jiàn)大數(shù)據(jù)的重要性. 然而龐大的數(shù)據(jù)量需要相應(yīng)的存儲(chǔ)技術(shù)作為支撐.隨著個(gè)人、企業(yè)的數(shù)據(jù)不斷增長(zhǎng),本地磁盤已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足人們的需要. 這些數(shù)據(jù)往往呈現(xiàn)數(shù)據(jù)量大、使用頻率較低、長(zhǎng)期保存、多人共享、需要備份和版本控制等多個(gè)特點(diǎn)[3-4],所以云存儲(chǔ)系統(tǒng)應(yīng)運(yùn)而生.

      1 云存儲(chǔ)系統(tǒng)的架構(gòu)

      云存儲(chǔ)系統(tǒng)的架構(gòu)模式采用B/S架構(gòu)模式,架構(gòu)模型如圖1所示.

      服務(wù)器是整個(gè)系統(tǒng)的控制中心,具有組織架構(gòu)管理、用戶管理、用戶組群管理、用戶訪問(wèn)控制及文件存儲(chǔ)、版本控制、文件分享等功能. 人們可以方便地使用客戶端瀏覽器享受云存儲(chǔ)提供的服務(wù).管理組織架構(gòu),用戶和文件訪問(wèn)控制等信息由數(shù)據(jù)庫(kù)服務(wù)器保存,在數(shù)據(jù)庫(kù)服務(wù)器中建立虛擬文件目錄,用戶訪問(wèn)系統(tǒng)時(shí)只能看到自己有權(quán)訪問(wèn)的文件[2].

      圖1 云存儲(chǔ)系統(tǒng)的架構(gòu)模型

      2 云存儲(chǔ)系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)

      2.1 文件斷點(diǎn)續(xù)傳

      文件的上傳下載可能不是一次性完成的,當(dāng)文件非常大的時(shí)候,可能因?yàn)榫W(wǎng)絡(luò)故障或者計(jì)算機(jī)系統(tǒng)軟件問(wèn)題導(dǎo)致傳輸失敗,為此在下一次連接服務(wù)器的時(shí)候不是重新上傳整個(gè)文件而是能夠記錄上次上傳的位置,從斷點(diǎn)開(kāi)始繼續(xù)上傳文件.

      圖2 文件斷點(diǎn)續(xù)傳原理

      圖3 斷點(diǎn)上傳算法流程

      斷點(diǎn)實(shí)現(xiàn)的思路如圖2所示,即將文件進(jìn)行分片.傳輸之前告知服務(wù)器當(dāng)前需要下載第一個(gè)切片,然后從服務(wù)器下載數(shù)據(jù),最后拼接文件.

      斷點(diǎn)上傳算法流程如下:

      (1)分割文件,按照規(guī)定大?。ㄒ粋€(gè)單元)將文件分割為若干個(gè)文件塊;

      (2)連接服務(wù)器,提交給服務(wù)器待傳輸文件的屬性數(shù)據(jù),包含文件分塊大小和文件塊總數(shù). 服務(wù)端成功接收到待上傳文件信息并返回給客戶機(jī)正確應(yīng)答后轉(zhuǎn)第3步,否則轉(zhuǎn)第4步;

      (3)客戶端開(kāi)始傳輸文件,服務(wù)器接收文件,每成功接收一個(gè)數(shù)據(jù)塊便做一個(gè)標(biāo)記. 傳輸過(guò)程中遇到中斷,服務(wù)器停止接收文件,并保存?zhèn)鬏敂?shù)據(jù)現(xiàn)場(chǎng)轉(zhuǎn)第5步,否則轉(zhuǎn)第6步;

      (4)客戶端再次發(fā)送文件上傳請(qǐng)求;

      (5)客戶端再次發(fā)起上傳請(qǐng)求,服務(wù)器根據(jù)已經(jīng)下載的文件塊標(biāo)記,返回文件塊上傳的起始數(shù)據(jù)位置. 客戶端接收成功后轉(zhuǎn)到第3步;

      (6)全部文件塊傳輸成功,拼接文件并保存到服務(wù)器.整個(gè)流程如圖3所示.

      2.2 文件夾和文件訪問(wèn)權(quán)限控制

      為了實(shí)現(xiàn)嚴(yán)格的文件夾和文件權(quán)限控制,關(guān)鍵是對(duì)文件夾和文件做好權(quán)限標(biāo)記,我們?cè)谙到y(tǒng)中設(shè)計(jì)了文件記錄和文件夾存儲(chǔ)結(jié)構(gòu),如圖4所示.

      文件記錄和文件夾存儲(chǔ)結(jié)構(gòu)的前端是文件夾和文件的記錄信息,最后3個(gè)字段主要用來(lái)實(shí)現(xiàn)權(quán)限控制. 系統(tǒng)把權(quán)限分為3個(gè)類別,包括所有者、同組用戶和不同組的其他用戶.

      當(dāng)用戶訪問(wèn)云存儲(chǔ)系統(tǒng)的時(shí)候,系統(tǒng)根據(jù)用戶的類型和用戶所要訪問(wèn)的文件和文件夾的權(quán)限向用戶顯示和提供數(shù)據(jù)文件.

      2.3 信息安全傳輸

      HTTP是Web開(kāi)發(fā)經(jīng)常使用的協(xié)議,但使用HTTP協(xié)議傳輸?shù)男畔⒍际遣唤?jīng)過(guò)加密保護(hù)的,如果有人能監(jiān)聽(tīng)到客戶機(jī)和服務(wù)器的會(huì)話,那么數(shù)據(jù)就將原原本本呈現(xiàn)給別人. 毫無(wú)疑問(wèn),這樣的過(guò)程就像是郵寄明信片一樣,只要經(jīng)手的人都能看到所有的信息[5-6]. 正因?yàn)镠TTP的不安全性才誕生了HTTPS.

      HTTPS是以安全為主要目的的網(wǎng)絡(luò)傳輸協(xié)議,它實(shí)際就是HTTP和SSL/TLS組合,即在初始的HTTP協(xié)議上增加加密保護(hù)模塊. HTTPS協(xié)議傳輸?shù)恼麄€(gè)過(guò)程如圖5所示.

      信息安全傳輸?shù)木唧w流程如下:

      (1)客戶機(jī)發(fā)出HTTPS請(qǐng)求

      (2)服務(wù)端的配置

      使用HTTPS協(xié)議首先需要有數(shù)字證書(shū),數(shù)字證書(shū)能夠通過(guò)自己制作而獲取,也能夠通過(guò)向組織申請(qǐng)獲得證書(shū).

      (3)證書(shū)傳送

      實(shí)際上證書(shū)包括了很多信息,除了包括公鑰信息以外還有持有者真實(shí)身份信息,頒發(fā)證書(shū)機(jī)構(gòu)信息和證書(shū)到期時(shí)間信息等.訪問(wèn)之前,服務(wù)器會(huì)把證書(shū)傳輸給客戶機(jī).

      (4)客戶機(jī)證書(shū)解析

      圖4 文件記錄結(jié)構(gòu)和文件夾存儲(chǔ)結(jié)構(gòu)

      客戶端在接收到證書(shū)以后,第一步是驗(yàn)證證書(shū)信息的有效性,包括證書(shū)頒發(fā)機(jī)構(gòu)、到期時(shí)間等信息,假如發(fā)現(xiàn)證書(shū)信息存在問(wèn)題,就會(huì)跳出一個(gè)對(duì)話框,提示信息異常.反之證書(shū)信息正常的話,使用數(shù)字就生成一個(gè)隨機(jī)密碼,密碼用于加密接下來(lái)需要傳輸?shù)臄?shù)據(jù).

      圖5 HTTPS協(xié)議傳輸過(guò)程

      (5)傳送加密信息

      這個(gè)過(guò)程需要傳送的加密信息就是上述的隨機(jī)密碼,能夠讓服務(wù)器知道這個(gè)隨機(jī)密碼的值,方便以后通信過(guò)程中用隨機(jī)密碼加密解密數(shù)據(jù).當(dāng)然這個(gè)隨機(jī)密碼不能直接明文傳輸過(guò)去,需要使用證書(shū)的公鑰進(jìn)行加密,然后傳輸給服務(wù)端.

      (6)服務(wù)端解密信息

      服務(wù)端接受到客戶端傳遞過(guò)來(lái)的隨機(jī)密碼的加密密文,使用自己的私鑰對(duì)該密文進(jìn)行解密,就可以獲得這個(gè)隨機(jī)密碼值.

      (7)傳輸加密后的信息

      安全傳輸?shù)臏?zhǔn)備工作全部完成后,接下來(lái)是傳輸數(shù)據(jù).要傳輸?shù)臄?shù)據(jù)首先用這個(gè)隨機(jī)密碼進(jìn)行對(duì)稱加密,然后發(fā)送這些被加密保護(hù)過(guò)的數(shù)據(jù).

      (8)客戶端解密信息

      客戶端接收到服務(wù)器端傳遞過(guò)來(lái)的密文數(shù)據(jù),使用上面生成的隨機(jī)密碼對(duì)稱解密.當(dāng)客戶機(jī)需要傳遞給服務(wù)器數(shù)據(jù)時(shí)還是用這個(gè)隨機(jī)密碼加密.這樣的數(shù)據(jù)傳輸過(guò)程即使被第三方監(jiān)聽(tīng)到,也無(wú)法獲取傳輸信息的真實(shí)含義[7].

      2.4 文件極速上傳

      局域網(wǎng)內(nèi)部文件傳輸速率已經(jīng)是一個(gè)相當(dāng)高的量級(jí),本文所述的極速上傳的概念對(duì)傳輸速率而言,無(wú)論是幾個(gè)MB甚至幾個(gè)GB都能在短暫的幾秒鐘時(shí)間內(nèi)上傳到服務(wù)器.

      具體原理是:在局域網(wǎng)內(nèi)部正常帶寬的環(huán)境下,如果是一個(gè)很小的文件,那么直接上傳就是急速上傳.再分析一下大文件,超大類型文件往往是高清電影、軟件安裝包、系統(tǒng)鏡像或者內(nèi)部共享資料等,這類文件的特點(diǎn)是公共性很高,大部分用戶都會(huì)用到.那么再做一個(gè)推測(cè),這類文件可能被多個(gè)用戶上傳、并多次上傳,對(duì)于服務(wù)器來(lái)說(shuō),服務(wù)器只需要一個(gè)副本,那么實(shí)現(xiàn)的關(guān)鍵是,只要文件上傳的時(shí)候能判斷文件是否已經(jīng)存儲(chǔ),如果已經(jīng)存儲(chǔ)就直接在數(shù)據(jù)庫(kù)為用戶文件信息創(chuàng)建一條文件記錄,并賦予它文件真實(shí)存儲(chǔ)路徑.

      對(duì)文件進(jìn)行唯一標(biāo)識(shí)的方法可以采用MD5算法.MD5是一種數(shù)據(jù)摘要算法,能將任何長(zhǎng)度的數(shù)據(jù)信息轉(zhuǎn)化為固定長(zhǎng)度(128位)的字符串,并且不同的字符串計(jì)算出來(lái)的MD5值也會(huì)不同.MD5碰撞的可能也是存在的(即不同字符串計(jì)算產(chǎn)生的MD5值相同),但這個(gè)碰撞發(fā)生的概率相當(dāng)小.文件經(jīng)過(guò)MD5算法生成的字符串便是文件的唯一標(biāo)識(shí).

      急速上傳算法流程如下:

      (1)待上傳文件在客戶端用JS腳本生成MD5摘要值,并把MD5值提交到服務(wù)器,根據(jù)這個(gè)散列值查詢服務(wù)器上有沒(méi)有這個(gè)文件,若存在則轉(zhuǎn)第3步,若不存在則轉(zhuǎn)第2步;

      (2)返回給用戶信息,然后上傳文件,上傳成功以后保存MD5值到數(shù)據(jù)庫(kù)中;

      (3)在數(shù)據(jù)庫(kù)中生成一條用戶文件記錄,并把文件正式存儲(chǔ)路徑保存到該條記錄.返回給客戶端上傳成功的信息.

      算法流程圖如圖6所示.

      圖6 急速上傳算法流程

      2.5 高效率增量式文件同步實(shí)現(xiàn)

      在云存儲(chǔ)的實(shí)例中,有這樣一種情況,最原始的狀態(tài)服務(wù)器存儲(chǔ)著一個(gè)文件FileA,客戶機(jī)1和客戶機(jī)2都有這個(gè)文件的副本,并且內(nèi)容和服務(wù)器上的完全一致,客戶機(jī)1的使用者在使用過(guò)程中,因?yàn)楣ぷ餍枰薷牧薋ileA文件,并想要把這個(gè)修改同步到服務(wù)器.云存儲(chǔ)系統(tǒng)中常見(jiàn)這樣的數(shù)據(jù)同步問(wèn)題,常規(guī)思路比較簡(jiǎn)單,直接刪除服務(wù)器上面的文件FileA,然后直接從客戶機(jī)1獲取整個(gè)更新完成后的文件.這個(gè)思路簡(jiǎn)單易實(shí)現(xiàn),但是應(yīng)該注意到一個(gè)問(wèn)題:假設(shè)這個(gè)文件很大,比如1 GB甚至更大,然而這個(gè)文件被修改的部分只有僅僅的幾K大小,如果為了幾K的修改,同步時(shí)需要下載整個(gè)文件的話,無(wú)疑非常浪費(fèi)帶寬,同時(shí)也降低了同步的效率.

      解決上述問(wèn)題的核心就是將文件分塊處理.每一個(gè)文件塊就是一個(gè)單獨(dú)的部分,單獨(dú)處理更新部分,所以開(kāi)始的時(shí)候要求對(duì)文件約定一個(gè)統(tǒng)一的文件塊大?。缓蟀凑找?guī)定的文件塊大小把文件等分成多個(gè)文件塊,接下來(lái)每個(gè)文件塊就是一個(gè)單獨(dú)的實(shí)體.將文件拆分成文件塊以后,只更新變化的部分.

      具體實(shí)例分析:客戶端1按文件塊要求大小把這個(gè)待更新的文件FileA分割成若干個(gè)文件塊,然后分別計(jì)算出每塊的MD5摘要和Alder32校驗(yàn)和,最后一個(gè)分組數(shù)據(jù)長(zhǎng)度不夠一個(gè)文件塊大小的不做計(jì)算. 然后,客戶端把這些校驗(yàn)數(shù)據(jù)按照順序發(fā)送給服務(wù)器,其中還要包括最后不滿規(guī)定大小的部分?jǐn)?shù)據(jù).

      圖7 高效率增量式文件同步方法

      如圖7所示,服務(wù)器也做同樣的工作,把服務(wù)端保存的文件FileA從頭部開(kāi)始,按照約定的文件塊大小分塊,分別計(jì)算出Alder32校驗(yàn)碼,然后與客戶端傳輸過(guò)來(lái)的校驗(yàn)碼序列進(jìn)行比較,若Alder32校驗(yàn)碼是不相同的,就可以認(rèn)為這個(gè)文件塊所包含的內(nèi)容是不一致的,然后將文件往后移動(dòng)一個(gè)字節(jié)大小并再次分割文件形成文件塊,再次計(jì)算出每個(gè)文件塊的Alder32校驗(yàn)和,并與客戶端發(fā)送過(guò)來(lái)的校驗(yàn)碼對(duì)比,不斷重復(fù)此操作,直至找到Alder32校驗(yàn)和相同,然后計(jì)算這段文件塊的MD5值并與從客戶端接收的MD5值進(jìn)行比較,若不同則再次往后移動(dòng)一個(gè)字節(jié)重復(fù)計(jì)算Alder32校驗(yàn)和的比較操作;反之,則得到一個(gè)文件塊與客戶端文件塊一致(忽略這個(gè)數(shù)據(jù)塊).所有操作全部完成以后,按文件的順序發(fā)送給客戶端不能找到的文件塊信息,找到的部分用MD5和Alder32取代原來(lái)的數(shù)據(jù)塊屬性信息,還要加上不足數(shù)據(jù)塊大小的內(nèi)容.

      3 結(jié)束語(yǔ)

      本文介紹了云存儲(chǔ)系統(tǒng)的應(yīng)用背景,描述了網(wǎng)絡(luò)云存儲(chǔ)的系統(tǒng)架構(gòu),詳細(xì)闡述實(shí)現(xiàn)云存儲(chǔ)系統(tǒng)的關(guān)鍵技術(shù),包括文件斷點(diǎn)續(xù)傳、文件夾和文件訪問(wèn)權(quán)限控制、信息安全傳輸、文件極速上傳和高性能增量式文件同步.

      隨著云存儲(chǔ)的應(yīng)用場(chǎng)合日益擴(kuò)大,伴隨而來(lái)的快速在線查詢、云端安全訪問(wèn)等是未來(lái)努力的方向.

      參考文獻(xiàn):

      [1]郭平,王可,羅阿理,等.大數(shù)據(jù)分析中的計(jì)算智能研究現(xiàn)狀與展望[J].軟件學(xué)報(bào),2015,26(11):3010-3025.

      [2]李學(xué)龍,龔海剛.大數(shù)據(jù)系統(tǒng)綜述[J].中國(guó)科學(xué):信息科學(xué),2015,45(1):1-44.

      [3]傅穎勛,羅圣美,舒繼武.一種云存儲(chǔ)環(huán)境下的安全網(wǎng)盤系統(tǒng)[J].軟件學(xué)報(bào),2014,25(8):1831-1843.

      [4]譚霜,賈焰,韓偉紅.云存儲(chǔ)中的數(shù)據(jù)完整性證明研究及進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2015,38(1):164-177.

      [5]劉雅輝,張鐵贏,靳小龍,等.大數(shù)據(jù)時(shí)代的個(gè)人隱私保護(hù)[J].計(jì)算機(jī)研究與發(fā)展,2015,52(1):229-247.

      [6]孟小峰,張嘯劍.大數(shù)據(jù)隱私管理[J].計(jì)算機(jī)研究與發(fā)展,2015,52(2):265-281.

      [7]黃劉生,田苗苗,黃河.大數(shù)據(jù)隱私保護(hù)密碼技術(shù)研究綜述[J].軟件學(xué)報(bào),2015,26(4):945-959.

      猜你喜歡
      客戶機(jī)存儲(chǔ)系統(tǒng)客戶端
      Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
      分布式存儲(chǔ)系統(tǒng)在企業(yè)檔案管理中的應(yīng)用
      哈爾濱軸承(2020年2期)2020-11-06 09:22:36
      天河超算存儲(chǔ)系統(tǒng)在美創(chuàng)佳績(jī)
      縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      孵化垂直頻道:新聞客戶端新策略
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲(chǔ)系統(tǒng)
      一種基于STM32的具有斷電保護(hù)機(jī)制的采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
      客戶端空間數(shù)據(jù)緩存策略
      瘦客戶機(jī):安全與便捷的選擇
      祁连县| 五家渠市| 和平县| 宝鸡市| 沁水县| 南城县| 喀什市| 漠河县| 六枝特区| 浑源县| 东乌珠穆沁旗| 莒南县| 会昌县| 彰化市| 高邑县| 海门市| 定日县| 措美县| 苏尼特左旗| 容城县| 松江区| 麻栗坡县| 桐梓县| 罗源县| 木兰县| 闽侯县| 葵青区| 修水县| 巴青县| 乌海市| 涿鹿县| 任丘市| 淮安市| 南华县| 五寨县| 张家口市| 尼木县| 永嘉县| 明光市| 昌邑市| 普格县|