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

        ?

        一種支持?jǐn)?shù)據(jù)去冗和擴(kuò)容的多媒體文件云存儲(chǔ)系統(tǒng)實(shí)現(xiàn)

        2018-05-28 03:46:01呂江花汪溁鶴吳繼芳馬世龍
        關(guān)鍵詞:多媒體系統(tǒng)

        汪 帥 呂江花 汪溁鶴 吳繼芳 馬世龍

        1(中國空間技術(shù)研究院 北京 100086) 2(北京航空航天大學(xué)計(jì)算機(jī)學(xué)院 北京 100191) (buaashuai@buaa.edu.cn)

        互聯(lián)網(wǎng)的高速發(fā)展產(chǎn)生了海量數(shù)據(jù),導(dǎo)致海量數(shù)據(jù)的傳輸和存儲(chǔ)場(chǎng)景日益增多,在這種背景下數(shù)據(jù)存儲(chǔ)技術(shù)得到了快速發(fā)展[1-3].過去10多年在多個(gè)應(yīng)用領(lǐng)域產(chǎn)生的多媒體文件數(shù)量增長(zhǎng)非常迅速,多媒體文件在互聯(lián)網(wǎng)信息中占有很大比重,所以海量多媒體文件存儲(chǔ)技術(shù)是一個(gè)重要研究課題[4-5],分布式文件系統(tǒng)成為了當(dāng)今的研究熱點(diǎn).目前,在分布式文件系統(tǒng)中存儲(chǔ)海量多媒體文件時(shí),還普遍存在著存儲(chǔ)性能不高、存儲(chǔ)空間利用率低、性能瓶頸及單點(diǎn)故障等問題,因此,如何解決海量多媒體文件在存儲(chǔ)和傳輸過程中存在的諸多實(shí)際問題,是當(dāng)前計(jì)算機(jī)存儲(chǔ)技術(shù)研究領(lǐng)域非常重要的工作[6].

        隨著云計(jì)算技術(shù)的廣泛應(yīng)用,越來越多的應(yīng)用程序?yàn)橛脩籼峁﹫D片、視頻、音頻等多媒體文件的存儲(chǔ)和查詢服務(wù),這類型文件通常具有存儲(chǔ)周期長(zhǎng)、轉(zhuǎn)載復(fù)制頻繁、文件內(nèi)容不宜分割等特點(diǎn)[7],運(yùn)用分布式存儲(chǔ)雖然可以提高多媒體文件的訪問效率,避免網(wǎng)絡(luò)傳輸瓶頸對(duì)多媒體文件造成的訪問延遲和磁盤存儲(chǔ)空間瓶頸對(duì)多媒體文件存儲(chǔ)造成的吞吐性能下降.但是,很多應(yīng)用程序向用戶提供的多媒體文件上傳入口會(huì)使云存儲(chǔ)平臺(tái)積累大量重復(fù)的多媒體文件,這樣既給應(yīng)用程序開發(fā)商增加了存儲(chǔ)成本,也降低了多媒體文件的訪問效率[8].因此,為了滿足這類應(yīng)用程序?qū)Χ嗝襟w文件存儲(chǔ)和管理的需求,對(duì)多媒體文件進(jìn)行分布式存儲(chǔ)、刪除重復(fù)的多媒體文件、保護(hù)用戶隱私、支持對(duì)存儲(chǔ)目錄動(dòng)態(tài)邏輯擴(kuò)容,對(duì)于提高系統(tǒng)性能、降低存儲(chǔ)成本、提升用戶體驗(yàn)具有重要意義.

        本文提出一種分布式存儲(chǔ)目錄動(dòng)態(tài)建模方案,用來描述整個(gè)數(shù)據(jù)中心的存儲(chǔ)目錄邏輯結(jié)構(gòu),應(yīng)用程序基于此模型可以方便地管理用戶上傳的多媒體文件,簡(jiǎn)化存儲(chǔ)文件和獲取文件的過程.基于此建模方案實(shí)現(xiàn)的多媒體文件云存儲(chǔ)系統(tǒng),支持對(duì)指定存儲(chǔ)目錄中的多媒體文件進(jìn)行數(shù)據(jù)去冗,并且該系統(tǒng)可以在運(yùn)行過程中對(duì)存儲(chǔ)目錄進(jìn)行動(dòng)態(tài)邏輯擴(kuò)容.應(yīng)用程序可以自定義存儲(chǔ)目錄樹的邏輯結(jié)構(gòu),應(yīng)用程序通過該云存儲(chǔ)系統(tǒng)保存文件時(shí),不必?fù)?dān)心某個(gè)存儲(chǔ)目錄的磁盤占用空間已達(dá)到存儲(chǔ)上限的問題,該云存儲(chǔ)系統(tǒng)解決了數(shù)據(jù)冗余度高的應(yīng)用程序在低存儲(chǔ)成本條件下對(duì)多媒體文件進(jìn)行分布式存儲(chǔ)的問題.

        1 相關(guān)工作

        云計(jì)算的發(fā)展使越來越多的信息被數(shù)據(jù)化,大量數(shù)據(jù)密集型的應(yīng)用程序每天產(chǎn)生的體積較小的多媒體文件呈幾何級(jí)增長(zhǎng)[9].Facebook這類大型社交軟件每周產(chǎn)生的圖片數(shù)據(jù)高達(dá)60TB[10],淘寶網(wǎng)的圖片存儲(chǔ)量已經(jīng)達(dá)到2PB[11],如何對(duì)海量多媒體小文件進(jìn)行有效的存儲(chǔ)與管理,減輕應(yīng)用程序的負(fù)擔(dān),已是存儲(chǔ)領(lǐng)域必須要面對(duì)的一個(gè)重要課題.

        Ross等人[12]提出的PVFS(parallel virtual file system)是一個(gè)高性能、可擴(kuò)展的分布式并行文件系統(tǒng),PVFS將文件分散到多個(gè)存儲(chǔ)結(jié)點(diǎn)的多塊磁盤上,實(shí)現(xiàn)了對(duì)文件的條帶化存儲(chǔ),消除了單個(gè)存儲(chǔ)結(jié)點(diǎn)引發(fā)的瓶頸問題,但是它缺乏必要的容錯(cuò)機(jī)制并且配置不夠靈活,適用于對(duì)文本文件進(jìn)行并行訪問和分析.Lustre文件系統(tǒng)[13]是基于對(duì)象存儲(chǔ)的大規(guī)模分布式文件系統(tǒng),它把數(shù)據(jù)劃分成條帶存儲(chǔ)在多個(gè)對(duì)象存儲(chǔ)服務(wù)器(object storage server, OSS)上,當(dāng)某個(gè)OSS發(fā)生故障時(shí)仍能保證存儲(chǔ)在該服務(wù)器上的數(shù)據(jù)不丟失.它是基于Linux內(nèi)核級(jí)的分布式文件系統(tǒng),多數(shù)用于高性能計(jì)算中.Lustre文件系統(tǒng)不支持?jǐn)?shù)據(jù)去冗,同時(shí)數(shù)據(jù)的條帶化導(dǎo)致它在小文件存取時(shí)表現(xiàn)較差,每次讀取小文件都需要從多個(gè)存儲(chǔ)服務(wù)器結(jié)點(diǎn)上獲取文件的每個(gè)數(shù)據(jù)塊,然后把這些數(shù)據(jù)塊拼接成一個(gè)完整的小文件返回給應(yīng)用程序.

        Google文件系統(tǒng)(Google file system, GFS)[14]是一個(gè)支持?jǐn)?shù)據(jù)密集型應(yīng)用的、高度容錯(cuò)且具有高吞吐量的分布式文件系統(tǒng),GFS支持多個(gè)客戶端并行的對(duì)同一個(gè)文件進(jìn)行內(nèi)容追加操作,同時(shí)它能夠保證每個(gè)客戶端在在給同一個(gè)文件內(nèi)容進(jìn)行追加操作時(shí)的原子性,GFS會(huì)把文件切分成相同大小的數(shù)據(jù)塊存儲(chǔ)在不同的數(shù)據(jù)結(jié)點(diǎn).對(duì)于多媒體文件來說,如果把它的內(nèi)容切分成不同的數(shù)據(jù)塊分布式存儲(chǔ),那么在訪問這些多媒體文件內(nèi)容時(shí),就需要從多個(gè)數(shù)據(jù)結(jié)點(diǎn)把數(shù)據(jù)塊全部取到然后返回給應(yīng)用程序,這樣會(huì)額外消耗很多資源,而且GFS不支持通過HTTP協(xié)議訪問多媒體文件.基于GFS的設(shè)計(jì)思想,Konstantin等人[15]實(shí)現(xiàn)了開源的HDFS(Hadoop distributed file system),HDFS也不支持通過HTTP協(xié)議訪問多媒體文件,HDFS的命名空間結(jié)點(diǎn)把系統(tǒng)中所有的元數(shù)據(jù)都放置在內(nèi)存中,如果系統(tǒng)中存在海量的體積比較小的多媒體文件,會(huì)降低整個(gè)存儲(chǔ)系統(tǒng)的存儲(chǔ)效率和存儲(chǔ)能力.

        淘寶文件系統(tǒng)(Taobao file system, TFS)[16]是一個(gè)構(gòu)建在普通的Linux機(jī)器集群上的、對(duì)外提供高可靠和高并發(fā)訪問的分布式文件系統(tǒng).TFS為阿里巴巴提供海量小文件存儲(chǔ),滿足了阿里巴巴對(duì)小文件存儲(chǔ)的需求,被廣泛地應(yīng)用在阿里巴巴各項(xiàng)應(yīng)用中.TFS采用扁平化的數(shù)據(jù)組織結(jié)構(gòu),一方面它把多個(gè)小文件壓縮在一個(gè)數(shù)據(jù)塊中進(jìn)行存儲(chǔ),另一方面它把文件名映射到文件的物理地址,簡(jiǎn)化了文件的訪問流程,一定程度上為TFS提供了良好的讀寫性能.當(dāng)TFS客戶端需要讀取文件內(nèi)容時(shí),它將文件名轉(zhuǎn)換為文件塊號(hào)和文件號(hào),然后在命名空間結(jié)點(diǎn)上取得文件塊號(hào)所對(duì)應(yīng)的數(shù)據(jù)結(jié)點(diǎn)信息,之后客戶端通過數(shù)據(jù)結(jié)點(diǎn)獲取數(shù)據(jù)塊內(nèi)容,然后根據(jù)文件號(hào)找到文件的具體內(nèi)容.TFS不支持?jǐn)?shù)據(jù)去冗,它把圖片編號(hào)作為元數(shù)據(jù)存儲(chǔ)在外部數(shù)據(jù)庫中,TFS對(duì)數(shù)據(jù)庫比較依賴而且要求數(shù)據(jù)庫具有很高的性能,每次獲取圖片信息時(shí)都要進(jìn)行讀取數(shù)據(jù)庫操作,然后去確定圖片的存儲(chǔ)位置.

        表1直觀地顯示了上述4個(gè)文件系統(tǒng)之間的差異和不足:

        Table 1 Different Feature of File Systems表1 文件系統(tǒng)對(duì)比

        ① Large: File size greater than 10 MB.

        ② Small: File size less than 10 MB.

        在具備擴(kuò)展性的高性能文件系統(tǒng)研究方面,OceanStore[17]和Farsite[18]可以提供TB級(jí)別的高可靠文件存儲(chǔ),同時(shí)支持幾千個(gè)客戶端并發(fā)訪問文件內(nèi)容,但是它們由于命名空間結(jié)點(diǎn)的瓶頸,不能支持客戶端高并發(fā)訪問小文件.Ceph[19]是一個(gè)擴(kuò)展性較強(qiáng)的高性能分布式文件系統(tǒng),Ceph文件系統(tǒng)為異構(gòu)的并且擁有不可靠對(duì)象存儲(chǔ)設(shè)備的動(dòng)態(tài)集群設(shè)計(jì)了偽隨機(jī)數(shù)據(jù)分發(fā)函數(shù),通過替換分配表來最大化分離數(shù)據(jù)和元數(shù)據(jù)管理之間的耦合關(guān)系,但是它在安全性和POSIX調(diào)用[20]方面還有待進(jìn)一步完善.Chung等人[21]提出的分布式文件系統(tǒng)雖然可以降低存儲(chǔ)成本并且擁有不錯(cuò)的性能,但它在擴(kuò)展性方面表現(xiàn)較差.Hao等人[22]提出的鏈接分布式文件系統(tǒng)支持對(duì)文件進(jìn)行多版本管理,但擴(kuò)展性和實(shí)用性較差.Xiong等人[23]、Cao等人[24]和Chao等人[25]在實(shí)用性方面各自研究了分布式存儲(chǔ)策略,但他們的研究方向偏向于文件副本策略.在小文件管理方面,Dong等人[26-27]、Chandrasekar等人[28]和Chatuporn等人[29]在HDFS的基礎(chǔ)上優(yōu)化了小文件的存儲(chǔ)策略,一定程度上提高了HDFS在小文件存儲(chǔ)和訪問方面的性能,但他們對(duì)多媒體文件去冗方面研究較少.

        在多媒體文件數(shù)據(jù)去冗領(lǐng)域,根據(jù)去冗粒度的不同,去冗方式可以分為字節(jié)級(jí)的去冗、數(shù)據(jù)塊級(jí)的去冗和文件級(jí)的去冗,不同的去冗方式各有利弊.1)對(duì)于字節(jié)級(jí)去冗,一般在字節(jié)層面查找和刪除重復(fù)的數(shù)據(jù),通常使用差異壓縮策略生成差異部分內(nèi)容,它的優(yōu)點(diǎn)是去冗率很高,缺點(diǎn)是去冗的速度比較慢,不適合對(duì)數(shù)據(jù)實(shí)時(shí)去冗.2)數(shù)據(jù)塊級(jí)的去冗方式將文件按一定的策略劃分成多個(gè)數(shù)據(jù)塊,把數(shù)據(jù)塊視為去冗的基本單位,它的優(yōu)勢(shì)是計(jì)算速度較快,去重效率也較高,但對(duì)數(shù)據(jù)變化比較敏感.3)文件級(jí)的去冗方式把整個(gè)文件當(dāng)作檢測(cè)和去冗的基本單位,首先計(jì)算整個(gè)文件的指紋,然后根據(jù)文件指紋在存儲(chǔ)系統(tǒng)中查找是否存在具有相同指紋信息的文件,這種去冗方式的去冗速度非常快,缺點(diǎn)是即使2個(gè)文件中存在很多相同數(shù)據(jù),也無法刪除文件內(nèi)的重復(fù)數(shù)據(jù)[30].

        主流的開源分布式文件系統(tǒng)大多針對(duì)大文件讀寫而專門設(shè)計(jì),企業(yè)級(jí)的多媒體文件管理系統(tǒng)因商業(yè)利益無法公開.本文重點(diǎn)研究數(shù)據(jù)冗余度高的應(yīng)用程序如何對(duì)多媒體文件進(jìn)行分布式存儲(chǔ)的問題,與主流的分布式文件系統(tǒng)相比,本文實(shí)現(xiàn)的MFCSS(multimedia file cloud storage system)系統(tǒng)能夠運(yùn)行在Windows或Linux下,不依賴數(shù)據(jù)庫,支持對(duì)多媒體文件進(jìn)行數(shù)據(jù)去冗,支持對(duì)存儲(chǔ)目錄進(jìn)行運(yùn)行時(shí)動(dòng)態(tài)邏輯擴(kuò)容.

        2 分布式存儲(chǔ)目錄建模方法及MFCSS系統(tǒng)

        數(shù)據(jù)中心是一整套復(fù)雜的設(shè)施,它不僅包括計(jì)算機(jī)系統(tǒng)和其它與之配套的設(shè)備,還包含冗余的數(shù)據(jù)通信連接、環(huán)境控制設(shè)備、監(jiān)控設(shè)備以及各種安全裝置[31].一個(gè)數(shù)據(jù)中心通常會(huì)包含多臺(tái)存儲(chǔ)服務(wù)器,存儲(chǔ)服務(wù)器自身會(huì)存在一些受保護(hù)的應(yīng)用程序數(shù)據(jù)文件和存儲(chǔ)目錄,為了隔離不同應(yīng)用程序的存儲(chǔ)區(qū)域,防止應(yīng)用程序上傳的文件對(duì)存儲(chǔ)服務(wù)器自身的重要文件造成破壞,存儲(chǔ)服務(wù)器需要指定一些存儲(chǔ)目錄供應(yīng)用程序存儲(chǔ)文件.

        圖1描述了一個(gè)數(shù)據(jù)中心的分布式存儲(chǔ)目錄結(jié)構(gòu)圖,它由多棵存儲(chǔ)目錄樹構(gòu)成,不同的應(yīng)用程序在保存用戶文件時(shí)通常具有不同的存儲(chǔ)目錄樹邏輯結(jié)構(gòu),存儲(chǔ)目錄樹中結(jié)點(diǎn)的層次關(guān)系取決于應(yīng)用程序,本節(jié)將給出分布式存儲(chǔ)目錄建模方案中各結(jié)點(diǎn)的詳細(xì)定義.

        Fig. 1 Distributed directory tree structure圖1 分布式存儲(chǔ)目錄結(jié)構(gòu)圖

        定義1. 存儲(chǔ)目錄結(jié)點(diǎn)(directory node,DN).用來描述存儲(chǔ)服務(wù)器上的存儲(chǔ)目錄信息,它定義為(id,naming,storePath,(parent,ChildNodes)),其中:

        1)id表示DN的編號(hào),編號(hào)具有唯一性.

        2)naming表示DN的命名規(guī)則.它定義為三元組(nameType,staticName,dynamicName),其中:

        ①nameType∈{static,dynamic}表示DN的命名方式,static表示DN采用靜態(tài)命名方式,dynamic表示DN采用動(dòng)態(tài)命名方式.

        ②staticName表示DN采用靜態(tài)命名方式時(shí)候的文件名是staticName,例如:staticName=“Z1”,則該目錄的文件名為“Z1”.

        ③dynamicName表示DN采用動(dòng)態(tài)命名方式時(shí),將應(yīng)用程序運(yùn)行時(shí)傳遞的dynamicName所對(duì)應(yīng)的參數(shù)的值作為DN的文件名,例如:dynamic-Name=“userId”,且應(yīng)用程序運(yùn)行時(shí)傳遞的參數(shù)userId=“U10”,則該目錄的文件名為“U10”.

        3)storePath表示DN的初始設(shè)置結(jié)點(diǎn)的磁盤存儲(chǔ)路徑,初始設(shè)置結(jié)點(diǎn)AN(ancestor node)的定義參見下文.

        4) (parent,ChildNodes)表示DN的直連結(jié)點(diǎn)的屬性信息,其中:

        ①parent表示DN的直接父結(jié)點(diǎn).

        ②ChildNodes={node1,node2…,nodem}(m≥0)表示DN直接子結(jié)點(diǎn)的集合,其中nodei(0≤i≤m)可以是DN,也可以是文件結(jié)點(diǎn)(file node,FN),F(xiàn)N的定義參見下文.

        根據(jù)定義1,下面行文中定義靜態(tài)目錄結(jié)點(diǎn)SDN(static directory node),它是DN的特殊實(shí)例,其名稱staticName在系統(tǒng)未運(yùn)行時(shí)指定,為了防止同一個(gè)存儲(chǔ)目錄中出現(xiàn)2個(gè)具有相同文件名的存儲(chǔ)目錄,不同編號(hào)的SDN具有不同的目錄名稱;定義動(dòng)態(tài)目錄結(jié)點(diǎn)DDN(dynamic directory node),它也是DN的特殊實(shí)例,其編號(hào)在系統(tǒng)未運(yùn)行時(shí)指定,但其名稱取決于系統(tǒng)運(yùn)行過程中應(yīng)用程序傳遞的dynamicName所對(duì)應(yīng)的參數(shù)的值,一個(gè)DDN在系統(tǒng)運(yùn)行過程中會(huì)產(chǎn)生多個(gè)具有不同文件名的DN,這些DN具有相同的父目錄;定義初始設(shè)置結(jié)點(diǎn)AN,它也是DN的特殊實(shí)例,它代表存儲(chǔ)服務(wù)器結(jié)點(diǎn)在應(yīng)用程序運(yùn)行之初提供的用來存放文件的存儲(chǔ)目錄,AN必須是實(shí)際存在的存儲(chǔ)目錄,其中AN.parent是存儲(chǔ)服務(wù)器結(jié)點(diǎn),AN.storePath是該初始設(shè)置結(jié)點(diǎn)在磁盤上的絕對(duì)路徑.

        例1. 在圖1所示的分布式存儲(chǔ)目錄結(jié)構(gòu)圖中,“圖書”和“場(chǎng)景”分別是“電子書存儲(chǔ)服務(wù)器”和“場(chǎng)景存儲(chǔ)服務(wù)器”的初始設(shè)置結(jié)點(diǎn),每個(gè)存儲(chǔ)服務(wù)器可以具有多個(gè)初始設(shè)置結(jié)點(diǎn),但是每個(gè)存儲(chǔ)目錄結(jié)點(diǎn)只能隸屬于唯一的初始設(shè)置結(jié)點(diǎn).

        定義2. 存儲(chǔ)服務(wù)器結(jié)點(diǎn)(server node,SN).用來描述數(shù)據(jù)中心內(nèi)存儲(chǔ)服務(wù)器的屬性信息、訪問信息和它所提供的初始設(shè)置結(jié)點(diǎn)信息,它定義為(id,property,access,AncestorNodes,url),其中:

        1)id表示SN的編號(hào),編號(hào)具有唯一性.

        2)property定義為(ip,ftpPort,serverPort),表示SN的屬性.

        ①ip表示SN的IP地址.

        ②ftpPort表示通過FTP協(xié)議訪問SN的端口號(hào).

        ③serverPort表示SN提供的外部TCP協(xié)議訪問端口號(hào).

        3)access定義為(userName,password),表示SN的訪問信息.

        ①userName表示訪問SN的用戶名.

        ②password表示訪問SN的密碼.

        4)AncestorNodes={AN1,AN2…,ANn}(n≥1)表示SN提供的可以存儲(chǔ)文件的初始設(shè)置結(jié)點(diǎn)集合.

        5)url表示通過HTTP協(xié)議訪問SN的地址.

        定義3. 文件結(jié)點(diǎn).FN用來描述文件的相關(guān)信息,它定義為(id,fileName,fileType,property),其中:

        1)id表示FN的編號(hào).

        2)fileName表示文件名.

        3)fileType表示文件類型.

        4)property定義為(fingerprint,directory-NodeId),它表示文件的屬性.其中:

        ①fingerprint表示文件的指紋信息,它在系統(tǒng)中可以是MD5,也可以是SHA-1等摘要算法.

        ②directoryNodeId表示FN的父存儲(chǔ)目錄結(jié)點(diǎn)的編號(hào).

        根據(jù)上文中對(duì)一些結(jié)點(diǎn)的定義,下面將給出存儲(chǔ)目錄子樹、存儲(chǔ)目錄樹和分布式存儲(chǔ)目錄的相關(guān)定義.

        定義4. 存儲(chǔ)目錄子樹(SubTree).用于描述某一個(gè)存儲(chǔ)目錄結(jié)點(diǎn)及其嵌套子結(jié)點(diǎn)之間的關(guān)系,以存儲(chǔ)目錄結(jié)點(diǎn)node為根結(jié)點(diǎn)的存儲(chǔ)目錄子樹SubTree(node)定義為:

        1) 如果node是文件結(jié)點(diǎn),則SubTree(node)=node.

        2) 如果node是存儲(chǔ)目錄結(jié)點(diǎn),并且該存儲(chǔ)目錄結(jié)點(diǎn)沒有直接子結(jié)點(diǎn),即node.ChildNodes=?,則SubTree(node)=node.

        3) 如果node是存儲(chǔ)目錄結(jié)點(diǎn),并且該存儲(chǔ)目錄結(jié)點(diǎn)具有直接子結(jié)點(diǎn),假設(shè):node.ChildNodes={node1,node2,…,nodem}(m≥1),則SubTree(node)是由以node為根結(jié)點(diǎn)的m棵子樹{SubTree(node1),SubTree(node2),…,SubTree(nodem)}按從左到右順序構(gòu)成的樹.

        4) 用SubTree(node).id表示存儲(chǔ)目錄子樹的編號(hào),且SubTree(node).id=node.id.

        定義5. 存儲(chǔ)目錄樹(DirectoryTree).用于描述某一個(gè)存儲(chǔ)服務(wù)器結(jié)點(diǎn)(SN)及其嵌套子結(jié)點(diǎn)之間的關(guān)系,設(shè)SN.AncestorNodes={AN1,AN2,…,ANn}(n≥1),則存儲(chǔ)目錄樹DirectoryTree(SN)是由以SN為根結(jié)點(diǎn)和n棵存儲(chǔ)目錄子樹SubTree(AN1),SubTree(AN2),…,SubTree(ANn)按從左到右順序構(gòu)成的樹,用DirectoryTree.id表示存儲(chǔ)目錄樹DirectoryTree的編號(hào),且DirectoryTree.id=SN.id.

        定義6. 數(shù)據(jù)中心.可以看作一個(gè)分布式存儲(chǔ)目錄(DistributeTrees),它由若干棵存儲(chǔ)目錄樹構(gòu)成,即DistributeTrees={DirectoryTree(SN1),DirectoryTree(SN2),…,DirectoryTree(SNk)}(k≥1).

        通過以上定義,整個(gè)數(shù)據(jù)中心可以被建模形成一棵分布式存儲(chǔ)目錄,分布式存儲(chǔ)目錄中的存儲(chǔ)目錄結(jié)點(diǎn)都是邏輯結(jié)點(diǎn),應(yīng)用程序可以通過該建模方案定義每個(gè)邏輯結(jié)點(diǎn)之間的關(guān)系以及邏輯結(jié)點(diǎn)的相關(guān)屬性,系統(tǒng)會(huì)在運(yùn)行過程中根據(jù)應(yīng)用程序傳遞的參數(shù),把每個(gè)邏輯結(jié)點(diǎn)實(shí)例化為相應(yīng)的物理存儲(chǔ)結(jié)點(diǎn),應(yīng)用程序在保存文件時(shí)只需要指定邏輯結(jié)點(diǎn)的編號(hào),系統(tǒng)會(huì)把文件保存到邏輯結(jié)點(diǎn)對(duì)應(yīng)的物理存儲(chǔ)結(jié)點(diǎn)中.

        在分布式存儲(chǔ)目錄模型的基礎(chǔ)上實(shí)現(xiàn)的多媒體文件云存儲(chǔ)系統(tǒng)(MFCSS)解決了數(shù)據(jù)中心內(nèi)多媒體文件的數(shù)據(jù)去冗問題,它可以給應(yīng)用程序提供便捷的管理分布式存儲(chǔ)目錄的接口,簡(jiǎn)化應(yīng)用程序管理分布式存儲(chǔ)環(huán)境中多媒體文件的過程.整個(gè)系統(tǒng)的架構(gòu)如圖2所示,MFCSS系統(tǒng)向應(yīng)用程序提供多媒體文件云存儲(chǔ)服務(wù),它由存儲(chǔ)接口管理子系統(tǒng)(storage interface management subsystem, SIMSS)、集群管理子系統(tǒng)(cluster management sub-system, CMSS)和存儲(chǔ)管理子系統(tǒng)(storage manage-ment subsystem, SMSS)構(gòu)成,每個(gè)應(yīng)用程序各集成一個(gè)存儲(chǔ)接口管理子系統(tǒng),存儲(chǔ)接口管理子系統(tǒng)以JAR文件格式包的形式集成在應(yīng)用程序中.

        Fig. 2 System architecture of MFCSS圖2 多媒體文件云存儲(chǔ)系統(tǒng)架構(gòu)

        存儲(chǔ)接口管理子系統(tǒng)給應(yīng)用程序提供操作數(shù)據(jù)文件的接口,包括文件操作相關(guān)接口和目錄操作相關(guān)接口等,同時(shí)負(fù)責(zé)生成操作指令與集群管理子系統(tǒng)和存儲(chǔ)管理子系統(tǒng)進(jìn)行通信.它還負(fù)責(zé)管理應(yīng)用程序自定義的存儲(chǔ)目錄樹,生成多媒體文件的存儲(chǔ)路徑和訪問路徑,當(dāng)存儲(chǔ)服務(wù)器的存儲(chǔ)負(fù)荷達(dá)到一定閾值之后,存儲(chǔ)接口管理子系統(tǒng)會(huì)向集群管理子系統(tǒng)發(fā)送指令,對(duì)相應(yīng)的存儲(chǔ)目錄進(jìn)行邏輯擴(kuò)容.

        數(shù)據(jù)中心的每臺(tái)存儲(chǔ)服務(wù)器上都會(huì)部署一個(gè)存儲(chǔ)管理子系統(tǒng),它負(fù)責(zé)管理其所在存儲(chǔ)服務(wù)器上所有文件元數(shù)據(jù)、文件引用信息和擴(kuò)容狀態(tài)信息,并提供查詢文件元數(shù)據(jù)、查詢存儲(chǔ)目錄引用信息和查詢存儲(chǔ)目錄擴(kuò)容狀態(tài)信息等服務(wù).多個(gè)存儲(chǔ)管理子系統(tǒng)在查找文件指紋信息所對(duì)應(yīng)文件元數(shù)據(jù)時(shí)是并行執(zhí)行的,它們將各自的查找結(jié)果通過通信指令傳輸給集群管理子系統(tǒng),集群管理子系統(tǒng)匯總各個(gè)存儲(chǔ)管理子系統(tǒng)發(fā)來的查找結(jié)果,并將結(jié)果返回給存儲(chǔ)接口管理子系統(tǒng)做后續(xù)的業(yè)務(wù)處理.

        當(dāng)存儲(chǔ)接口管理子系統(tǒng)在驗(yàn)證多媒體文件是否屬于冗余文件時(shí),通過集群管理子系統(tǒng)與不同的存儲(chǔ)管理子系統(tǒng)通信,當(dāng)存儲(chǔ)接口管理子系統(tǒng)在保存多媒體文件時(shí),它直接與存儲(chǔ)管理子系統(tǒng)通信.

        集群管理子系統(tǒng)部署在單獨(dú)的服務(wù)器上,負(fù)責(zé)管理新接入的存儲(chǔ)服務(wù)器,監(jiān)控各臺(tái)存儲(chǔ)服務(wù)器的運(yùn)行狀態(tài),提供對(duì)存儲(chǔ)目錄進(jìn)行邏輯擴(kuò)容的服務(wù),同時(shí)還提供文件指紋信息匹配驗(yàn)證服務(wù).集群管理子系統(tǒng)中實(shí)現(xiàn)了一個(gè)布隆過濾器[32]負(fù)責(zé)管理MFCSS系統(tǒng)保存的所有文件指紋信息,在接收到存儲(chǔ)接口管理子系統(tǒng)發(fā)來的驗(yàn)證文件指紋信息指令之后,它通過布隆過濾器判斷文件指紋信息的存在性,如果文件指紋信息不存在于布隆過濾器中,集群管理子系統(tǒng)判定用戶上傳文件不屬于冗余文件,否則,就將查找該指紋信息所對(duì)應(yīng)文件元數(shù)據(jù)的指令發(fā)送給各個(gè)存儲(chǔ)管理子系統(tǒng),進(jìn)一步確定冗余文件的具體位置.每個(gè)存儲(chǔ)管理子系統(tǒng)根據(jù)指紋信息迅速在內(nèi)存中找出該指紋信息所對(duì)應(yīng)的文件元數(shù)據(jù),集群管理子系統(tǒng)匯總所有存儲(chǔ)管理子系統(tǒng)發(fā)送給它的匹配結(jié)果,并把結(jié)果反饋給應(yīng)用程序,由應(yīng)用程序根據(jù)該反饋結(jié)果做后續(xù)的業(yè)務(wù)處理.

        Fig. 3 The process of logical expansion圖3 邏輯擴(kuò)容流程圖

        數(shù)據(jù)中心的每臺(tái)存儲(chǔ)服務(wù)器都開啟了FTP訪問服務(wù),供存儲(chǔ)接口管理子系統(tǒng)操作文件和目錄.應(yīng)用程序在集成了存儲(chǔ)接口管理子系統(tǒng)之后,可以自定義分布式存儲(chǔ)目錄模型,然后調(diào)用存儲(chǔ)接口管理子系統(tǒng)提供的文件操作接口和目錄操作接口就可以完成對(duì)多媒體文件的存儲(chǔ)和查詢過程,存儲(chǔ)的過程中MFCSS系統(tǒng)會(huì)根據(jù)應(yīng)用程序的需求對(duì)指定的存儲(chǔ)目錄或者整個(gè)存儲(chǔ)服務(wù)器中的數(shù)據(jù)進(jìn)行去冗,當(dāng)某個(gè)存儲(chǔ)服務(wù)器的磁盤空間利用率在超過一定的閾值之后,MFCSS系統(tǒng)會(huì)自動(dòng)給該存儲(chǔ)服務(wù)器中的存儲(chǔ)目錄進(jìn)行邏輯擴(kuò)容,應(yīng)用程序在存儲(chǔ)文件時(shí)不必?fù)?dān)心存儲(chǔ)目錄會(huì)出現(xiàn)磁盤存儲(chǔ)空間不足的情況.

        MFCSS系統(tǒng)中的每個(gè)存儲(chǔ)服務(wù)器都由部署在其上的Apache提供多媒體文件的Web訪問服務(wù),為了提高用戶文件的存儲(chǔ)安全性和訪問安全性,避免用戶文件被網(wǎng)絡(luò)爬蟲按照一定規(guī)則竊取,同時(shí)還要保證MFCSS系統(tǒng)保存的文件不被第三方應(yīng)用程序訪問.存儲(chǔ)接口管理子系統(tǒng)會(huì)對(duì)用戶上傳的每個(gè)文件都生成一個(gè)時(shí)間戳并分配一個(gè)隨機(jī)數(shù)存儲(chǔ)于文件名中,它相當(dāng)于每個(gè)多媒體文件的“私人秘鑰”,該秘鑰可以保證所有獲取文件的請(qǐng)求都是經(jīng)過MFCSS系統(tǒng)“批準(zhǔn)”的,可以有效防止網(wǎng)絡(luò)爬蟲根據(jù)某些已知文件的訪問路徑通過暴力破解的方式非法獲取到其他文件的訪問路徑.同時(shí),應(yīng)用程序在系統(tǒng)初始化時(shí)MFCSS系統(tǒng)會(huì)給它授權(quán)一個(gè)訪問編號(hào),在保存文件和訪問文件時(shí)應(yīng)用程序需要給MFCSS系統(tǒng)提供該編號(hào),該編號(hào)相當(dāng)于應(yīng)用程序的“身份證”,可以有效防止第三方應(yīng)用程序在知道了存儲(chǔ)目錄樹結(jié)構(gòu)的情況下非法竊取MFCSS系統(tǒng)中的用戶文件.

        3 存儲(chǔ)目錄邏輯擴(kuò)容策略

        為了提高系統(tǒng)的擴(kuò)展性,保證文件系統(tǒng)服務(wù)的連續(xù)性,需要在系統(tǒng)運(yùn)行過程中實(shí)時(shí)地給存儲(chǔ)目錄邏輯擴(kuò)容.對(duì)于應(yīng)用程序而言,它通過分布式存儲(chǔ)目錄模型可以定義存儲(chǔ)目錄的邏輯結(jié)構(gòu),在保存文件時(shí)應(yīng)用程序只需要提供存儲(chǔ)目錄的邏輯結(jié)點(diǎn)編號(hào)以及相應(yīng)的保存參數(shù),MFCSS系統(tǒng)會(huì)維護(hù)邏輯結(jié)點(diǎn)到物理存儲(chǔ)結(jié)點(diǎn)之間的映射關(guān)系.應(yīng)用程序可以源源不斷地把文件保存在某個(gè)存儲(chǔ)目錄邏輯結(jié)點(diǎn)中,不需要擔(dān)心該結(jié)點(diǎn)對(duì)應(yīng)的磁盤空間出現(xiàn)不足的問題,MFCSS系統(tǒng)在保存文件時(shí)如果發(fā)現(xiàn)某個(gè)磁盤的存儲(chǔ)空間出現(xiàn)不足,會(huì)自動(dòng)的給相應(yīng)的存儲(chǔ)目錄邏輯擴(kuò)容.

        圖3所示是MFCSS系統(tǒng)邏輯擴(kuò)容的具體流程,主要步驟如下:

        1) 存儲(chǔ)接口管理子系統(tǒng)發(fā)送獲取擴(kuò)容存儲(chǔ)目錄指令給集群管理子系統(tǒng);

        2) 集群管理子系統(tǒng)收到獲取擴(kuò)容存儲(chǔ)目錄指令,發(fā)送獲取服務(wù)器運(yùn)行狀態(tài)指令給所有的存儲(chǔ)管理子系統(tǒng);

        3) 每個(gè)存儲(chǔ)管理子系統(tǒng)收到獲取服務(wù)器運(yùn)行狀態(tài)指令,將服務(wù)器運(yùn)行狀態(tài)返回給集群管理子系統(tǒng);

        4) 集群管理子系統(tǒng)匯總所有的存儲(chǔ)服務(wù)器運(yùn)行狀態(tài),確定空閑的存儲(chǔ)服務(wù)器并生成擴(kuò)容存儲(chǔ)目錄,然后保存擴(kuò)容信息,并將擴(kuò)容存儲(chǔ)目錄信息返回給存儲(chǔ)接口管理子系統(tǒng).

        圖4所示為一個(gè)具有擴(kuò)容狀態(tài)的分布式存儲(chǔ)目錄示意圖,假設(shè)應(yīng)用程序通過MFCSS系統(tǒng)向存儲(chǔ)目錄樹DirectoryTree(SN2)中的靜態(tài)目錄結(jié)點(diǎn)F14添加一個(gè)文件結(jié)點(diǎn)fileNode1,則MFCSS系統(tǒng)進(jìn)行2項(xiàng)判斷:

        1) 如果存儲(chǔ)服務(wù)器結(jié)點(diǎn)SN2的磁盤存儲(chǔ)空間利用率未超過其存儲(chǔ)上限,那么fileNode1會(huì)被保存到結(jié)點(diǎn)F14中;

        2) 如果存儲(chǔ)服務(wù)器結(jié)點(diǎn)SN2的磁盤存儲(chǔ)空間利用率超過了其存儲(chǔ)上限,此時(shí)系統(tǒng)會(huì)為結(jié)點(diǎn)F14分配一個(gè)擴(kuò)容結(jié)點(diǎn)并把fileNode1保存到該擴(kuò)容結(jié)點(diǎn)中.

        Fig. 4 Distributed directory tree structure with expand status圖4 具有擴(kuò)容狀態(tài)的分布式存儲(chǔ)目錄示意圖

        任何一個(gè)存儲(chǔ)服務(wù)器結(jié)點(diǎn)的磁盤存儲(chǔ)空間利用率超過了其存儲(chǔ)上限之后,MFCSS系統(tǒng)會(huì)給映射在其上的存儲(chǔ)目錄結(jié)點(diǎn)進(jìn)行邏輯擴(kuò)容,如果應(yīng)用程序需要獲取某個(gè)被擴(kuò)容過的存儲(chǔ)目錄結(jié)點(diǎn)中的所有文件,MFCSS系統(tǒng)會(huì)自動(dòng)把該存儲(chǔ)目錄結(jié)點(diǎn)對(duì)應(yīng)的實(shí)際磁盤目錄中的文件,還有存放在其擴(kuò)容結(jié)點(diǎn)對(duì)應(yīng)的實(shí)際磁盤目錄中的文件一起返回給應(yīng)用程序.該存儲(chǔ)目錄邏輯擴(kuò)容機(jī)制使每個(gè)邏輯存儲(chǔ)目錄結(jié)點(diǎn)都能映射到多個(gè)實(shí)際磁盤存儲(chǔ)目錄,保證了文件系統(tǒng)服務(wù)的連續(xù)性,同時(shí)有效利用了存儲(chǔ)服務(wù)器的磁盤空間.

        4 數(shù)據(jù)去冗策略

        Fig. 5 The process of deleting redundant files圖5 數(shù)據(jù)去冗流程圖

        隨著集群規(guī)模的擴(kuò)大和存儲(chǔ)多媒體文件的數(shù)量增加,為了降低整個(gè)云存儲(chǔ)系統(tǒng)的運(yùn)行成本,需要對(duì)系統(tǒng)中保存的多媒體文件進(jìn)行數(shù)據(jù)去冗,節(jié)省磁盤占用空間.圖5所示是多媒體文件云存儲(chǔ)系統(tǒng)數(shù)據(jù)去冗的具體流程,整個(gè)去冗流程主要分為3個(gè)階段:判定階段、確認(rèn)階段和存儲(chǔ)階段.在判定階段,應(yīng)用程序?qū)⑽募讣y信息發(fā)送給多媒體文件云存儲(chǔ)系統(tǒng),系統(tǒng)中的布隆過濾器快速判定該指紋信息是否存在,如果布隆過濾器中不存在該文件的指紋信息,系統(tǒng)就認(rèn)為該文件不屬于冗余文件,否則就進(jìn)入確認(rèn)階段進(jìn)一步確定文件的存在性.在確認(rèn)階段,系統(tǒng)通過通信指令告訴所有存儲(chǔ)服務(wù)器上的客戶端,使它們各自查找該指紋信息所對(duì)應(yīng)的文件元數(shù)據(jù),并將查找結(jié)果匯總反饋給應(yīng)用程序,只要某個(gè)客戶端找到了該指紋信息所對(duì)應(yīng)的文件元數(shù)據(jù),系統(tǒng)就認(rèn)為該文件屬于冗余文件.系統(tǒng)在以上2個(gè)階段運(yùn)行結(jié)束之后進(jìn)入存儲(chǔ)階段,在該階段系統(tǒng)保存相關(guān)的文件引用信息和文件指紋信息等核心數(shù)據(jù).

        具體的數(shù)據(jù)去冗步驟如下:

        步驟1. 針對(duì)用戶上傳的多媒體文件,通過瀏覽器計(jì)算該多媒體文件的指紋信息并傳輸給應(yīng)用程序.

        用戶在通過瀏覽器訪問應(yīng)用程序并上傳文件時(shí),應(yīng)用程序提供的瀏覽器頁面上的JavaScript腳本首先計(jì)算文件的指紋信息并將它發(fā)送給應(yīng)用程序.

        步驟2. 應(yīng)用程序獲取到該多媒體文件的指紋信息,調(diào)用存儲(chǔ)接口管理子系統(tǒng)的接口生成驗(yàn)證文件指紋信息指令.

        應(yīng)用程序通過存儲(chǔ)接口管理子系統(tǒng)向集群管理子系統(tǒng)發(fā)送驗(yàn)證文件指紋信息指令;應(yīng)用程序在存儲(chǔ)文件和訪問文件時(shí)需要提供MFCSS系統(tǒng)授權(quán)給它的編號(hào),只有經(jīng)過MFCSS系統(tǒng)認(rèn)證才能進(jìn)行后續(xù)的文件操作和目錄操作,存儲(chǔ)接口管理子系統(tǒng)對(duì)用戶上傳的每個(gè)文件都生成一個(gè)時(shí)間戳并分配一個(gè)隨機(jī)數(shù)存儲(chǔ)在文件名中,這種設(shè)計(jì)可以在不影響MFCSS系統(tǒng)服務(wù)效率的同時(shí)保證用戶數(shù)據(jù)的訪問安全.

        步驟3. 存儲(chǔ)接口管理子系統(tǒng)把驗(yàn)證文件指紋信息指令發(fā)送給集群管理子系統(tǒng).

        步驟4. 集群管理子系統(tǒng)在收到驗(yàn)證文件指紋信息指令后,判斷該多媒體文件的指紋信息是否存在,如果存在,進(jìn)入步驟5;否則,生成文件指紋信息驗(yàn)證結(jié)果,進(jìn)入步驟7.

        如果集群管理子系統(tǒng)通過布隆過濾器判斷得出該指紋信息已存在,則系統(tǒng)需要進(jìn)一步找到該指紋信息所對(duì)應(yīng)的文件元數(shù)據(jù),在查找指紋信息所對(duì)應(yīng)的文件元數(shù)據(jù)過程中,集群管理子系統(tǒng)給每個(gè)存儲(chǔ)管理子系統(tǒng)發(fā)送查找文件元數(shù)據(jù)的指令,把存儲(chǔ)管理子系統(tǒng)返回的查找結(jié)果匯總并發(fā)送給存儲(chǔ)接口管理子系統(tǒng),否則,生成文件指紋信息驗(yàn)證結(jié)果并發(fā)送給存儲(chǔ)接口管理子系統(tǒng).

        集群管理子系統(tǒng)在找到與用戶上傳的多媒體文件具有相同指紋信息的文件后,會(huì)把文件元數(shù)據(jù)返回給應(yīng)用程序,由應(yīng)用程序根據(jù)文件元數(shù)據(jù)進(jìn)行后續(xù)的業(yè)務(wù)處理,防止用戶無法訪問到該文件的情況發(fā)生;

        步驟5. 集群管理子系統(tǒng)發(fā)送查找該指紋信息對(duì)應(yīng)的文件元數(shù)據(jù)指令給所有的存儲(chǔ)管理子系統(tǒng).

        在查找文件指紋信息所對(duì)應(yīng)文件元數(shù)據(jù)的過程中,每個(gè)存儲(chǔ)管理子系統(tǒng)的查找過程是并行的,有效提高了定位冗余文件的速度,提升了用戶體驗(yàn).

        步驟6. 每個(gè)存儲(chǔ)管理子系統(tǒng)收到查找文件元數(shù)據(jù)指令,在各自的內(nèi)存中查找該多媒體文件指紋對(duì)應(yīng)的文件元數(shù)據(jù),并生成文件指紋信息驗(yàn)證結(jié)果返回給集群管理子系統(tǒng).

        步驟7. 集群管理子系統(tǒng)匯總文件指紋信息驗(yàn)證結(jié)果,并發(fā)送給存儲(chǔ)接口管理子系統(tǒng).

        步驟8. 存儲(chǔ)接口管理子系統(tǒng)獲取文件指紋信息驗(yàn)證結(jié)果,根據(jù)結(jié)果判斷MFCSS系統(tǒng)中是否存在相同文件,如果存在,進(jìn)入步驟9;否則,進(jìn)入步驟10.

        步驟9. 向存儲(chǔ)管理子系統(tǒng)發(fā)送添加文件引用信息指令和增加文件引用頻率指令,并生成文件上傳結(jié)果;然后進(jìn)入步驟14.

        存儲(chǔ)接口管理子系統(tǒng)根據(jù)集群管理子系統(tǒng)發(fā)來的消息判斷用戶上傳的文件是否屬于冗余文件,如果MFCSS系統(tǒng)中的存儲(chǔ)服務(wù)器SNi上已經(jīng)存在一個(gè)文件filex和用戶上傳的文件具有相同的指紋信息,則應(yīng)用程序把它分配的用來保存該多媒體文件的存儲(chǔ)目錄結(jié)點(diǎn)編號(hào)idx傳遞給存儲(chǔ)接口管理子系統(tǒng),然后存儲(chǔ)接口管理子系統(tǒng)向idx所在的存儲(chǔ)管理子系統(tǒng)發(fā)送添加文件引用信息的指令,收到該指令之后,存儲(chǔ)管理子系統(tǒng)會(huì)保存idx和filex之間的映射關(guān)系;之后存儲(chǔ)接口管理子系統(tǒng)向filex所在的存儲(chǔ)管理子系統(tǒng)發(fā)送增加文件引用頻率的指令,收到該指令之后,存儲(chǔ)管理子系統(tǒng)會(huì)找到filex的元數(shù)據(jù)并對(duì)其引用頻率加1.如果MFCSS系統(tǒng)中已經(jīng)存在某個(gè)文件與用戶上傳的文件具有相同的指紋信息,則中斷用戶文件的上傳過程并提示文件秒傳成功,減少了用戶上傳文件需要消耗的平均時(shí)間,同時(shí)降低了存儲(chǔ)服務(wù)器的存儲(chǔ)負(fù)載和數(shù)據(jù)中心的存儲(chǔ)成本;如果MFCSS系統(tǒng)內(nèi)不存在某個(gè)文件與用戶上傳的文件具有相同的指紋信息,則存儲(chǔ)接口管理子系統(tǒng)向應(yīng)用程序請(qǐng)求文件的二進(jìn)制流.

        步驟10. 應(yīng)用程序獲取用戶待上傳的多媒體文件流,并傳輸文件流和應(yīng)用程序指定的存儲(chǔ)目錄結(jié)點(diǎn)編號(hào)給存儲(chǔ)接口管理子系統(tǒng).

        步驟11. 存儲(chǔ)接口管理子系統(tǒng)生成存儲(chǔ)目錄結(jié)點(diǎn)編號(hào)對(duì)應(yīng)的存儲(chǔ)目錄對(duì)象,并獲取該存儲(chǔ)目錄的磁盤存儲(chǔ)空間利用率,之后根據(jù)磁盤存儲(chǔ)空間利用率判斷該存儲(chǔ)目錄是否需要擴(kuò)容,如果存儲(chǔ)目錄需要擴(kuò)容,則存儲(chǔ)接口管理子系統(tǒng)獲取擴(kuò)容存儲(chǔ)目錄,然后生成文件保存路徑;否則,直接生成文件保存路徑.

        存儲(chǔ)接口管理子系統(tǒng)根據(jù)應(yīng)用程序指定的存儲(chǔ)目錄編號(hào)生成保存文件流的存儲(chǔ)目錄對(duì)象,之后存儲(chǔ)接口管理子系統(tǒng)通過該存儲(chǔ)目錄編號(hào)所在存儲(chǔ)管理子系統(tǒng)獲取該存儲(chǔ)目錄的磁盤存儲(chǔ)空間利用率,如果此時(shí)存儲(chǔ)接口管理子系統(tǒng)發(fā)現(xiàn)該存儲(chǔ)目錄所在的存儲(chǔ)服務(wù)器的磁盤空間利用率已經(jīng)達(dá)到指定的閾值,則存儲(chǔ)接口管理子系統(tǒng)根據(jù)圖4描述的邏輯擴(kuò)容流程,向集群管理子系統(tǒng)發(fā)送給該存儲(chǔ)目錄邏輯擴(kuò)容的指令,然后獲取到擴(kuò)容的存儲(chǔ)目錄對(duì)象,之后存儲(chǔ)接口管理子系統(tǒng)就會(huì)把文件流保存到擴(kuò)容存儲(chǔ)目錄中.

        步驟12. 存儲(chǔ)接口管理子系統(tǒng)對(duì)用戶待上傳的多媒體文件類型進(jìn)行識(shí)別,并判斷文件類型是否合法,如果合法,則生成文件名,進(jìn)入步驟13,否則,生成文件上傳結(jié)果,進(jìn)入步驟14.

        存儲(chǔ)接口管理子系統(tǒng)根據(jù)文件流識(shí)別用戶上傳多媒體文件的文件類型,如果文件類型合法,則存儲(chǔ)接口管理子系統(tǒng)生成一個(gè)時(shí)間戳并分配一個(gè)隨機(jī)數(shù)作為文件名;如果文件類型不合法,則生成相應(yīng)的文件上傳結(jié)果.

        步驟13. 存儲(chǔ)接口管理子系統(tǒng)保存文件,并向集群管理子系統(tǒng)發(fā)送添加文件指紋信息指令,同時(shí)向存儲(chǔ)管理子系統(tǒng)發(fā)送添加文件元數(shù)據(jù)指令,并生成文件上傳結(jié)果.

        如果應(yīng)用程序分配的保存該多媒體文件的存儲(chǔ)目錄idx不需要擴(kuò)容,則存儲(chǔ)接口管理子系統(tǒng)把用戶上傳的多媒體文件流保存到應(yīng)用程序指定的存儲(chǔ)目錄idx中,否則,集群管理子系統(tǒng)會(huì)給存儲(chǔ)目錄idx分配一個(gè)擴(kuò)容存儲(chǔ)目錄idy并記錄相關(guān)擴(kuò)容信息,然后存儲(chǔ)接口管理子系統(tǒng)把用戶上傳的多媒體文件流保存到擴(kuò)容后的存儲(chǔ)目錄idy中.文件流被保存之后,存儲(chǔ)接口管理子系統(tǒng)向集群管理子系統(tǒng)發(fā)送添加文件指紋信息指令,集群管理子系統(tǒng)收到指令之后會(huì)把該文件的指紋信息添加到布隆過濾器中.如果idx沒有被擴(kuò)容,則存儲(chǔ)接口管理子系統(tǒng)向idx所在的存儲(chǔ)管理子系統(tǒng)發(fā)送添加文件元數(shù)據(jù)指令,否則,存儲(chǔ)接口管理子系統(tǒng)向擴(kuò)容存儲(chǔ)目錄idy所在的存儲(chǔ)管理子系統(tǒng)發(fā)送添加文件元數(shù)據(jù)指令.存儲(chǔ)管理子系統(tǒng)收到指令之后會(huì)保存該文件的元數(shù)據(jù)信息.

        步驟14. 應(yīng)用程序獲取文件上傳結(jié)果,并發(fā)送文件上傳結(jié)果給用戶.

        步驟15. 用戶查看文件上傳結(jié)果,多媒體文件被保存到了MFCSS系統(tǒng)中.

        為了快速地確定數(shù)據(jù)中心內(nèi)是否存在某個(gè)文件與用戶上傳的文件具有相同的指紋信息,效率最高的方案是將所有的文件元數(shù)據(jù)都加載到服務(wù)器的內(nèi)存中,每次查詢時(shí)在內(nèi)存中進(jìn)行匹配,但是考慮到服務(wù)器內(nèi)存大小的限制,以及MFCSS系統(tǒng)在運(yùn)行的過程中文件數(shù)量會(huì)快速增長(zhǎng),所有的文件元數(shù)據(jù)很難全部加載到一臺(tái)服務(wù)器的內(nèi)存中.在MFCSS系統(tǒng)中,每個(gè)存儲(chǔ)管理子系統(tǒng)都將它所管理的存儲(chǔ)服務(wù)器上的全部文件元數(shù)據(jù)從磁盤預(yù)加載到內(nèi)存中,并維護(hù)文件指紋信息和文件元數(shù)據(jù)之間的映射關(guān)系,這樣整個(gè)數(shù)據(jù)中心內(nèi)全部的文件元數(shù)據(jù)都分散存儲(chǔ)于各臺(tái)存儲(chǔ)服務(wù)器的內(nèi)存中,充分利用了每臺(tái)服務(wù)器的內(nèi)存空間,并且在匹配文件指紋信息的過程中多個(gè)存儲(chǔ)管理子系統(tǒng)的匹配過程是并行執(zhí)行的,有效的提高了冗余文件的定位速度,提升了用戶存儲(chǔ)文件的交互體驗(yàn).

        5 實(shí)驗(yàn)結(jié)果與分析

        為了評(píng)估MFCSS系統(tǒng)的各項(xiàng)性能指標(biāo),對(duì)系統(tǒng)做了如下測(cè)試:寫性能測(cè)試、系統(tǒng)響應(yīng)時(shí)間測(cè)試、系統(tǒng)吞吐量測(cè)試、集群管理子系統(tǒng)和存儲(chǔ)管理子系統(tǒng)內(nèi)存使用情況測(cè)試以及磁盤占用空間測(cè)試.為了比較MFCSS與HDFS在保存具有不同冗余度的多媒體文件時(shí)性能的差異,在相同的測(cè)試環(huán)境下搭建了HDFS原型系統(tǒng).集成了存儲(chǔ)接口管理子系統(tǒng)的應(yīng)用程序服務(wù)器具有4 GB內(nèi)存,處理器是Intel?CoreTM2 Duo CPU P9400@2.40 GHz;部署集群管理子系統(tǒng)的服務(wù)器具有16 GB內(nèi)存,處理器是Intel?CoreTMi7-4610M CPU@3.00 GHz,同時(shí)它還作為HDFS命名空間結(jié)點(diǎn);2臺(tái)部署存儲(chǔ)管理子系統(tǒng)的服務(wù)器具有2 GB內(nèi)存,處理器是Intel?CoreTM2 Duo CPU E7500@2.93 GHz,同時(shí)這2臺(tái)服務(wù)器還作為HDFS數(shù)據(jù)結(jié)點(diǎn).整個(gè)實(shí)驗(yàn)環(huán)境都在以太網(wǎng)交換機(jī)構(gòu)建的局域網(wǎng)中,使用的交換機(jī)是傳輸速率為100 Mbps的TP-LINK TL-SF1008.

        5.1 寫性能測(cè)試

        為了評(píng)估MFCSS系統(tǒng)在用戶上傳不同大小多媒體文件情況下系統(tǒng)的寫性能,實(shí)驗(yàn)過程中使用了具有不同大小的17類多媒體文件,每類文件都由數(shù)據(jù)冗余度為0%,25%,40%,50%的樣本構(gòu)成,實(shí)驗(yàn)過程中對(duì)各類型的文件分別做了10次實(shí)驗(yàn),分析寫性能時(shí)使用的是這10次實(shí)驗(yàn)結(jié)果的平均值.北京理工大學(xué)的焦晨宇[33]在2015年研究了一種可伸縮的分布式文件系統(tǒng)SDFS,并針對(duì)海量小文件存儲(chǔ)進(jìn)行了性能優(yōu)化.為了對(duì)比不同文件系統(tǒng)寫性能的差異,本文對(duì)HDFS,SDFS,MFCSS系統(tǒng)的寫性能做了對(duì)比,圖6顯示了這3個(gè)文件系統(tǒng)之間寫性能的差異,其中SDFS的實(shí)驗(yàn)數(shù)據(jù)來源于焦晨宇的論文.

        Fig. 6 The writing performance of MFCSS圖6 MFCSS系統(tǒng)寫性能

        MFCSS系統(tǒng)在保存非冗余文件時(shí)需要由存儲(chǔ)接口管理子系統(tǒng)動(dòng)態(tài)生成文件的保存路徑,集群管理子系統(tǒng)需要保存文件指紋信息,存儲(chǔ)管理子系統(tǒng)需要保存文件元數(shù)據(jù),同時(shí)存儲(chǔ)接口管理子系統(tǒng)需要把文件流傳輸?shù)酱鎯?chǔ)服務(wù)器上,這些操作結(jié)束之后文件就保存成功了.如果MFCSS系統(tǒng)保存的是冗余文件,那么系統(tǒng)只需保存相關(guān)的引用信息就會(huì)提示用戶文件保存成功.HDFS和SDFS由于沒有數(shù)據(jù)去冗措施,因此在保存數(shù)據(jù)冗余度較高的多媒體文件時(shí),本文實(shí)現(xiàn)的MFCSS系統(tǒng)的性能要優(yōu)于其他2個(gè)文件系統(tǒng),而且MFCSS系統(tǒng)的性能優(yōu)勢(shì)隨著數(shù)據(jù)冗余度的提高會(huì)變得更加顯著.

        5.2 系統(tǒng)響應(yīng)時(shí)間測(cè)試

        為了評(píng)估MFCSS系統(tǒng)在保存多媒體文件時(shí)系統(tǒng)的響應(yīng)時(shí)間,實(shí)驗(yàn)過程中使用了大量?jī)?nèi)容不同的小文件,這些文件的平均大小為100 KB,實(shí)驗(yàn)過程中分別對(duì)HDFS和MFCSS系統(tǒng)執(zhí)行讀寫操作各200次,統(tǒng)計(jì)系統(tǒng)讀寫的平均響應(yīng)時(shí)間,其中SDFS的實(shí)驗(yàn)數(shù)據(jù)來源于焦晨宇同學(xué)的論文[33].

        圖7所示為HDFS,SDFS,MFCSS系統(tǒng)響應(yīng)時(shí)間的差異.從圖7中可以看出本文實(shí)現(xiàn)的多媒體文件云存儲(chǔ)系統(tǒng)MFCSS在小文件的讀寫上相較于HDFS和SDFS有更好的性能優(yōu)勢(shì),平均響應(yīng)時(shí)間遠(yuǎn)低于HDFS,同時(shí)也優(yōu)于SDFS.

        Fig. 7 The system response time圖7 系統(tǒng)響應(yīng)時(shí)間

        5.3 系統(tǒng)吞吐量測(cè)試

        為了測(cè)試存儲(chǔ)目錄邏輯擴(kuò)容策略的有效性,證明此方法可以有效提高系統(tǒng)的運(yùn)行效率,實(shí)驗(yàn)過程中采用的數(shù)據(jù)集是100個(gè)具有不同內(nèi)容的1MB大小的文件,模擬了多用戶并發(fā)上傳文件的場(chǎng)景,測(cè)試了系統(tǒng)從1臺(tái)存儲(chǔ)服務(wù)器逐漸擴(kuò)容到3臺(tái)存儲(chǔ)服務(wù)器時(shí)各個(gè)階段的吞吐量,每次實(shí)驗(yàn)都做了10次并取平均值作為實(shí)驗(yàn)結(jié)果.

        圖8所示是系統(tǒng)吞吐量的測(cè)試結(jié)果,隨著MFCSS系統(tǒng)存儲(chǔ)服務(wù)器的增加,系統(tǒng)的吞吐量逐漸提高,但增加了存儲(chǔ)服務(wù)器后系統(tǒng)的吞吐量?jī)?yōu)勢(shì)并非立刻展現(xiàn)出來,因?yàn)樵黾哟鎯?chǔ)服務(wù)器的同時(shí)系統(tǒng)會(huì)增加內(nèi)存資源、CPU資源和網(wǎng)絡(luò)等資源的消耗,隨著并發(fā)用戶數(shù)的增加吞吐量的優(yōu)勢(shì)才能得以展現(xiàn).在實(shí)驗(yàn)環(huán)境下,當(dāng)云存儲(chǔ)系統(tǒng)的存儲(chǔ)服務(wù)器數(shù)量從1臺(tái)擴(kuò)展到2臺(tái)時(shí),并發(fā)用戶數(shù)在9以內(nèi)并不能顯示出擴(kuò)容優(yōu)勢(shì),只有并發(fā)用戶數(shù)超過了9個(gè),具有2臺(tái)存儲(chǔ)服務(wù)器的系統(tǒng)才會(huì)比具有1臺(tái)存儲(chǔ)服務(wù)器的系統(tǒng)具有更高的吞吐量.當(dāng)云存儲(chǔ)系統(tǒng)的存儲(chǔ)服務(wù)器數(shù)量從2臺(tái)擴(kuò)展到3臺(tái)時(shí),系統(tǒng)的吞吐量?jī)?yōu)勢(shì)在并發(fā)用戶數(shù)為5時(shí)就開始展現(xiàn)出來,并隨著并發(fā)用戶數(shù)的增加,具有3臺(tái)存儲(chǔ)服務(wù)器的系統(tǒng)具有更加明顯的性能優(yōu)勢(shì).

        Fig. 8 The throughput of MFCSS圖8 系統(tǒng)吞吐量

        5.4 內(nèi)存使用測(cè)試

        在評(píng)估MFCSS系統(tǒng)的內(nèi)存使用情況時(shí),分別測(cè)試了用戶上傳2 000,4 000,6 000,8 000,10 000個(gè)文件的情況下,集群管理子系統(tǒng)和存儲(chǔ)管理子系統(tǒng)各自的內(nèi)存占用情況,在相同測(cè)試環(huán)境下測(cè)試了HDFS原型系統(tǒng)在保存這些文件時(shí)命名空間結(jié)點(diǎn)和數(shù)據(jù)結(jié)點(diǎn)的內(nèi)存使用情況.其中圖9(a)表示集群管理子系統(tǒng)與HDFS命名空間結(jié)點(diǎn)的內(nèi)存使用實(shí)驗(yàn)結(jié)果,圖9(b)表示存儲(chǔ)管理子系統(tǒng)與HDFS數(shù)據(jù)結(jié)點(diǎn)的內(nèi)存使用實(shí)驗(yàn)結(jié)果.

        Fig. 9 The memory usage of MFCSS comparing with HDFS圖9 MFCSS與HDFS的內(nèi)存使用對(duì)比

        從圖9(a)可知,在保存相同個(gè)數(shù)文件的情況下,集群管理子系統(tǒng)使用的內(nèi)存少于HDFS命名空間結(jié)點(diǎn),主要是因?yàn)镠DFS命名空間結(jié)點(diǎn)保存了HDFS集群中所有的文件元數(shù)據(jù),而MFCSS系統(tǒng)的集群管理子系統(tǒng)僅保存了文件元數(shù)據(jù)中的文件指紋信息,因此HDFS命名空間結(jié)點(diǎn)消耗更多的內(nèi)存.從圖9(b)可知,即使存儲(chǔ)管理子系統(tǒng)把它所在的存儲(chǔ)服務(wù)器上所有文件元數(shù)據(jù)都加載到內(nèi)存中,它需要使用的內(nèi)存空間依然少于HDFS數(shù)據(jù)結(jié)點(diǎn),主要是因?yàn)镠DFS原型系統(tǒng)的數(shù)據(jù)結(jié)點(diǎn)需要維護(hù)每個(gè)數(shù)據(jù)塊的塊報(bào)告(block report)以及其他數(shù)據(jù)塊相關(guān)信息,因此它需要消耗更多的內(nèi)存空間.

        5.5 磁盤占用空間測(cè)試

        為了評(píng)估MFCSS系統(tǒng)在節(jié)省磁盤占用空間方面的性能,實(shí)驗(yàn)過程中把系統(tǒng)部署在課題組局域網(wǎng)后,供課題組的其他成員通過本系統(tǒng)上傳多媒體文件,圖10所示為10周之內(nèi)課題組成員通過MFCSS系統(tǒng)累計(jì)上傳的多媒體文件總量和這些文件實(shí)際占用磁盤空間的對(duì)比圖.

        Fig. 10 The disk usage of MFCSS圖10 磁盤占用空間

        在剛開始的幾周里,MFCSS系統(tǒng)積累的用戶數(shù)據(jù)較少,因此用戶上傳的多媒體文件都需要保存到磁盤中,過一段時(shí)間之后MFCSS系統(tǒng)積累了大量用戶數(shù)據(jù),因此用戶上傳的多媒體文件會(huì)越來越多的被系統(tǒng)判定為冗余文件,此時(shí)系統(tǒng)只會(huì)記錄相關(guān)的文件引用信息,并不會(huì)重復(fù)的保存用戶數(shù)據(jù),因此用戶累計(jì)上傳的文件大小和這些文件的實(shí)際磁盤占用空間之間的差距逐漸增大,而且差距越來越明顯.

        6 總 結(jié)

        本文分析了目前主流的分布式文件系統(tǒng)的優(yōu)點(diǎn)和不足,為了解決數(shù)據(jù)冗余度高的應(yīng)用程序在低存儲(chǔ)成本條件下對(duì)多媒體文件進(jìn)行分布式存儲(chǔ)的難題,提出了一種分布式存儲(chǔ)目錄建模方案,該建模方案具有很高的靈活性,允許應(yīng)用程序自定義存儲(chǔ)目錄樹的結(jié)構(gòu).為了去除數(shù)據(jù)中心內(nèi)重復(fù)的多媒體文件數(shù)據(jù),提出了一種數(shù)據(jù)去冗方案,并在降低了存儲(chǔ)成本且不影響用戶體驗(yàn)的情況下,解決了多媒體文件在MFCSS系統(tǒng)內(nèi)的數(shù)據(jù)去冗難題.在識(shí)別重復(fù)數(shù)據(jù)的過程中,使用布隆過濾器加快了識(shí)別冗余文件的速度.基于分布式存儲(chǔ)目錄建模方案實(shí)現(xiàn)的MFCSS系統(tǒng),簡(jiǎn)化了應(yīng)用程序管理分布式環(huán)境中多媒體文件的過程,在保存數(shù)據(jù)冗余度較高的多媒體文件時(shí)具有良好的寫性能,可以有效提高磁盤的存儲(chǔ)效率,同時(shí)具備良好的擴(kuò)展性,還可以加快用戶與MFCSS系統(tǒng)之間傳輸文件的平均速度.

        在未來的工作中,為提高系統(tǒng)的可靠性,將會(huì)使用副本策略保護(hù)MFCSS系統(tǒng)中存儲(chǔ)的文件,提高系統(tǒng)的可靠性,同時(shí)將會(huì)對(duì)多媒體文件進(jìn)行分類,不同類型的多媒體文件由不同的布隆過濾器進(jìn)行管理,進(jìn)一步提高冗余文件的定位速度.

        [1]Fu Yinxun, Luo Shengmei, Shu Jiwu. Survey of secure cloud storage system and key technologies[J]. Journal of Computer Research and Development, 2013, 50(1): 136-145 (in Chinese)

        (傅穎勛, 羅圣美, 舒繼武. 安全云存儲(chǔ)系統(tǒng)與關(guān)鍵技術(shù)綜述[J]. 計(jì)算機(jī)研究與發(fā)展, 2015, 50(1): 136-145)

        [2]Liu Jian, Huang Kun, Rong Hong, et al. Privacy-preserving public auditing for regenerating-code-based cloud storage[J]. IEEE Trans on Information Forensics and Security, 2015, 10(7): 1513-1528

        [3]Lü Yisheng, Duan Yanjie, Kang Wenwen, et al. Traffic flow prediction with big data: A deep learning approach[J]. IEEE Trans on Intelligent Transportation Systems, 2015, 16(2): 865-873

        [4]Vandenbroucke K, Ferreira D, Goncalves J, et al. Mobile cloud storage: A contextual experience[C] //Proc of the 16th Int Conf on Human-computer Interaction with Mobile Devices & Services. New York: ACM, 2014: 101-110

        [5]Eyben F, Weninger F, Gross F, et al. Recent developments in opensmile, the munich open-source multimedia feature extractor[C] //Proc of the 21st ACM Int Conf on Multimedia. New York: ACM, 2013: 835-838

        [6]Armbrust M, Fox A, Griffith R, et al. A view of cloud computing[J]. Communications of the ACM, 2010, 53(4): 50-58

        [7]Zhao Zhenpeng, Badam S K, Chandrasegaran S, et al. A multimedia sketching system for collaborative creativity[C] //Proc of the 32nd Annual ACM Conf on Human Factors in Computing Systems. New York: ACM, 2014: 1235-1244

        [8]Dinh H T, Lee C, Niyato D, et al. A survey of mobile cloud computing: architecture, applications, and approaches[J]. Wireless Communications and Mobile Computing, 2013, 13(18): 1587-1611

        [9]Kwon S J. A cache-based flash translation layer for TLC-based multimedia storage devices[J]. ACM Trans on Embedded Computing Systems, 2016, 15(1): 11-12

        [10]Levi A, Mokryn O, Diot C, et al. Finding a needle in a haystack of reviews: Cold start context-based hotel recommender system[C] //Proc of the 6th ACM Conf on Recommender Systems. New York: ACM, 2012: 115-122

        [11]Duan Huiying, Liu Feifei. Building and managing reputation in the environment of Chinese e-commerce: A case study on Taobao[C] //Proc of the 2nd Int Conf on Web Intelligence, Mining and Semantics. New York: ACM, 2012: 43-49

        [12]Ross R B, Thakur R. PVFS: A parallel file system for Linux clusters[C] //Proc of the 4th Annual Linux Showcase and Conf. Berkeley, CA: USENIX Association, 2000: 391-430

        [13]Piernas J, Nieplocha J, Felix E J. Evaluation of active storage strategies for the lustre parallel file system[C] //Proc of ACM/IEEE Conf on Supercomputing. New York: ACM, 2007: 28-30

        [14]Ghemawat S, Gobioff H, Leung S T. The Google file system[J]. ACM SIGOPS Operating Systems Review, 2003, 37(5): 29-43

        [15]Shvachko K, Kuang H, Radia S, et al. The hadoop distributed file system[C] //Proc of the 26th IEEE Conf on Mass Storage Systems and Technologies. Piscataway, NJ: IEEE, 2010: 7-13

        [16]Chu Yu. Taobao file system[OL]. [2016-05-06] http://code.taobao.org/p/tfs/wiki/intro/

        [17]Kubiatowicz J, Bindel D, Chen Y, et al. Oceanstore: An architecture for global-scale persistent storage[J]. ACM SIGPLAN Notices, 2000, 35(11): 190-201

        [18]Adya A, Bolosky W J, Castro M, et al. FARSITE: Federated, available, and reliable storage for an incompletely trusted environment[J]. ACM SIGOPS Operating Systems Review, 2002, 36(1): 9-14

        [19]Weil S A, Brandt S A, Miller E L, et al. Ceph: A scalable, high-performance distributed file system[C] //Proc of the 7th Symp on Operating Systems Design and Implementation. Berkeley: USENIX Association, 2006: 307-320

        [20]Burns A, Wellings A. Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX[M]. Boston: Addison-Wesley Educational Publishers Inc, 2009

        [21]Chung C-Y, Lee C-L, Liu T-J. A high performance and low cost distributed file system[C] //Proc of the 2nd Int Conf on Software Engineering and Service Science (ICSESS). Piscataway, NJ: IEEE, 2011: 47-50

        [22]Hao Peng, Wang Lirong, Wang Jiacai, et al. Design and implement of file linked distributed file system[C] //Proc of Conf on the Computer Science and Information Engineering. Piscataway, NJ: IEEE, 2009: 305-309

        [23]Xiong Jin, Li Jianyu, Tang Rongfeng, et al. Improving data availability for a cluster file system through replication[C] //Proc of the 6th Conf on the Parallel and Distributed Processing. Piscataway, NJ: IEEE, 2008: 7-15

        [24]Cao Liang, Wang Yu, Xiong Jin. Building highly available cluster file system based on replication[C] //Proc of the 7th Conf on the Parallel and Distributed Computing. Piscataway, NJ: IEEE, 2009: 94-101

        [25]Chao H-C, Liu T-J, Kong-H, et al. A seamless and reliable distributed network file system utilizing webspace[C] //Proc of the 10th Int Symp on Web Site Evolution. Piscataway, NJ: IEEE, 2008: 65-68

        [26]Dong Bo, Qiu Jie, Zheng Qinghua, et al. A novel approach to improving the efficiency of storing and accessing small files on Hadoop: A case study by PowerPoint files[C] //Proc of Conf on the Services Computing (SCC). Piscataway, NJ: IEEE, 2010: 65-72

        [27]Dong Bo, Zheng Qinghua, Tian Feng, et al. An optimized approach for storing and accessing small files on cloud storage[J]. Journal of Network and Computer Applications, 2012, 35(6): 1847-1862

        [28]Chandrasekar S, Dakshinamurthy R, Seshakumar P G, et al. A novel indexing scheme for efficient handling of small files in hadoop distributed file system[C] //Proc of Conf on the Computer Communication and Informatics (ICCCI). Piscataway, NJ: IEEE, 2008: 5-9

        [29]Vorapongkitipun C, Nupairoj N. Improving performance of small-file accessing in Hadoop[C] //Proc the 11th of Conf on Computer Science and Software Engineering (JCSSE). Piscataway, NJ: IEEE, 2014: 200-205

        [30]Fu Yinjin, Xiao Nong, Liu Fang. Research and development on key techniques of data deduplication[J]. Journal of Computer Research and Development, 2012, 49(1): 12-20 (in Chinese)

        (付印金, 肖儂, 劉芳. 重復(fù)數(shù)據(jù)刪除關(guān)鍵技術(shù)研究進(jìn)展[J]. 計(jì)算機(jī)研究與發(fā)展, 2012, 49(1): 12-20)

        [31]Boucher T D, Auslander D M, Bash C E, et al. Viability of dynamic cooling control in a data center environment[J]. Journal of Electronic Packaging, 2006, 128(2): 137-144

        [32]Song Haoyu, Dharmapurikar S, Turner J, et al. Fast Hash table lookup using extended bloom filter: An aid to network processing[J]. ACM SIGCOMM Computer Communication Review, 2005, 35(4): 181-192

        [33]Jiao Chenyu. The design and application of a scalable distributed file system [D]. Beijing: Beijing Institute of Technology, 2015 (in Chinese)

        (焦晨宇. 可伸縮分布式文件系統(tǒng)及其應(yīng)用[D]. 北京: 北京理工大學(xué), 2015)

        猜你喜歡
        多媒體系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        借助多媒體探尋有效設(shè)問的“四度”
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        多媒體在《機(jī)械制圖》課中的應(yīng)用
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        初中化學(xué)因多媒體而綻放光彩
        巧用多媒體 讓課堂練筆更加有效
        亚洲av色香蕉一区二区三区潮| 国产啪精品视频网站丝袜| a级国产精品片在线观看| 国产农村妇女毛片精品久久麻豆| 亚洲国产av自拍一区| 99久久婷婷国产综合精品电影| 人妻少妇精品无码专区二| 久久伊人中文字幕有码久久国产| 国产色婷婷久久又粗又爽| 97久久草草超级碰碰碰| 一本大道香蕉视频在线观看| 亚洲精品二区三区在线观看| 91精品国产综合久久久密臀九色| 男人进去女人爽免费视频| 久久99欧美| 俺来也三区四区高清视频在线观看 | 国产成人av无码精品| 99久久久精品免费观看国产| av深夜福利在线| 亚洲av日韩精品一区二区| 国内精品久久久久久99| 亚洲av无码成人精品区在线观看| 中文字幕高清无码不卡在线| 日本在线观看不卡一区二区| 人妻少妇乱子伦精品| 人妻无码视频| 手机在线中文字幕av| 体验区试看120秒啪啪免费| 欧美孕妇xxxx做受欧美88| 精品视频在线观看一区二区三区| 亚洲伊人久久大香线蕉| 老师露出两个奶球让我吃奶头| 欧美日韩在线观看免费| 亚洲av高清在线一区二区三区 | 乱人妻中文字幕| 亚洲AV成人片色在线观看高潮| 久久老熟女乱色一区二区| 亚洲av综合色区无码专区桃色| 国产肉丝袜在线观看| 无遮挡很爽视频在线观看| 日本中文一区二区在线|