欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種云存儲系統(tǒng)中大文件的處理方法及系統(tǒng)的制作方法

文檔序號:9471097閱讀:209來源:國知局
一種云存儲系統(tǒng)中大文件的處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及云存儲領(lǐng)域,特別涉及一種云存儲系統(tǒng)中大文件的處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著技術(shù)的發(fā)展,人們對云存儲系統(tǒng)中大文件的處理方法越來越關(guān)注。
[0003]目前,Swift對象存儲系統(tǒng)可以存儲的最大對象為5GB,超過這個大小的文件將不能上傳到Swift中,同時GB級的大文件上傳和下載比較慢。Swift己有的大文件解決方案:靜態(tài)大對象(Static Large Objects)存儲方案和動態(tài)大對象(Dynamic Large Objects)存儲方案,都是Swift服務(wù)端的存儲方案,在靈活性、擴(kuò)展性等方面存在一定的不足。
[0004]因此,如何有效的對云存儲系統(tǒng)中大文件進(jìn)行處理,解決云存儲系統(tǒng)中Switf無法上傳大于5GB的文件的問題是本領(lǐng)域技術(shù)人員目前需要解決的技術(shù)問題。

【發(fā)明內(nèi)容】

[0005]本申請所要解決的技術(shù)問題是提供一種云存儲系統(tǒng)中大文件的處理方法及系統(tǒng),解決了現(xiàn)有技術(shù)中云存儲系統(tǒng)中Switf無法上傳大于5GB的文件的問題。
[0006]其具體方案如下:
[0007]—種云存儲系統(tǒng)中大文件的處理方法,該方法包括:
[0008]確定目標(biāo)文件的大??;
[0009]當(dāng)目標(biāo)文件的大小超過預(yù)設(shè)大小時,對所述目標(biāo)文件進(jìn)行分割,轉(zhuǎn)換成一組片段對象和一個清單對象;
[0010]將所述一組片段對象和一個清單對象均上傳到云存儲系統(tǒng)中。
[0011]上述的方法,優(yōu)選的,將所述一組片段對象和一個清單對象均上傳到云存儲系統(tǒng)中,包括:
[0012]計算所述一組片段對象中每個片段的MD5校驗值;
[0013]異步上傳每個片段對象;
[0014]當(dāng)所有片段對象均上傳完畢時,計算整個目標(biāo)文件的MD5校驗值;
[0015]上傳所述清單對象。
[0016]上述的方法,優(yōu)選的,所述上傳所述清單對象,包括:
[0017]將所述一組片段對象中的所有信息序列化為JSON格式的字符串,作為所述清單對象的內(nèi)容;
[0018]計算所述JSON格式的字符串的MD5校驗值;
[0019]上傳所述清單對象的內(nèi)容。
[0020]上述的方法,優(yōu)選的,還包括:
[0021]從所述云存儲系統(tǒng)中獲取對象元數(shù)據(jù);
[0022]當(dāng)所述對象元數(shù)據(jù)為清單對象元數(shù)據(jù)時,解析JSON格式的片段對象信息;
[0023]下載所述JSON格式的片段對象信息中對應(yīng)的所有片段對象;
[0024]將下載的所有片段對象合并成一個大文件。
[0025]上述的方法,優(yōu)選的,還包括:
[0026]校驗磁盤上的文件的MD5校驗值與上傳時記錄的整個文件的MD5校驗值。
[0027]—種云存儲系統(tǒng)中大文件的處理系統(tǒng),該系統(tǒng)包括:
[0028]確定單元,用于確定目標(biāo)文件的大?。?br>[0029]分割單元,用于當(dāng)目標(biāo)文件的大小超過預(yù)設(shè)大小時,對所述目標(biāo)文件進(jìn)行分割,轉(zhuǎn)換成一組片段對象和一個清單對象;
[0030]上傳單元,用于將所述一組片段對象和一個清單對象均上傳到云存儲系統(tǒng)中。
[0031]上述的系統(tǒng),優(yōu)選的,所述上傳單元包括:
[0032]第一計算單元,用于計算所述一組片段對象中每個片段的MD5校驗值;
[0033]第一上傳子單元,用于異步上傳每個片段對象;
[0034]第二計算單元,用于當(dāng)所有片段對象均上傳完畢時,計算整個目標(biāo)文件的MD5校驗值;
[0035]第二上傳子單元,用于上傳所述清單對象。
[0036]上述的系統(tǒng),優(yōu)選的,所述第二上傳子單元包括:
[0037]序列化單元,用于將所述一組片段對象中的所有信息序列化為JSON格式的字符串,作為所述清單對象的內(nèi)容;
[0038]第三計算單元,用于計算所述JSON格式的字符串的MD5校驗值;
[0039]第三上傳子單元,用于上傳所述清單對象的內(nèi)容。
[0040]上述的系統(tǒng),優(yōu)選的,還包括:
[0041]獲取單元,用于從所述云存儲系統(tǒng)中獲取對象元數(shù)據(jù);
[0042]解析單元,用于當(dāng)所述對象元數(shù)據(jù)為清單對象元數(shù)據(jù)時,解析JSON格式的片段對象信息;
[0043]下載單元,用于下載所述JSON格式的片段對象信息中對應(yīng)的所有片段對象;
[0044]合并單元,用于將下載的所有片段對象合并成一個大文件。
[0045]上述的系統(tǒng),優(yōu)選的,還包括:
[0046]校驗單元,用于校驗磁盤上的文件的MD5校驗值與上傳時記錄的整個文件的MD5校驗值。
[0047]本申請?zhí)峁┑囊环N云存儲系統(tǒng)中大文件的處理方法中,確定目標(biāo)文件的大??;當(dāng)目標(biāo)文件的大小超過預(yù)設(shè)大小時,對所述目標(biāo)文件進(jìn)行分割,轉(zhuǎn)換成一組片段對象和一個清單對象;將所述一組片段對象和一個清單對象均上傳到云存儲系統(tǒng)中。本申請中將大文件分割成一組片段對象的形式,每個片段對象的大小均滿足云存儲系統(tǒng)中對文件大小的要求,這樣,就可以將超過云存儲系統(tǒng)中預(yù)設(shè)大小的文件上傳到云存儲系統(tǒng)中,所述清單對象記錄了所有片段對象的信息,所述一組片段對象和一個清單對象即代表了整個大文件,解決了現(xiàn)有技術(shù)中云存儲系統(tǒng)中Switf無法上傳大于5GB的文件的問題。
【附圖說明】
[0048]為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0049]圖1是本申請的一種云存儲系統(tǒng)中大文件的處理方法實施例1的流程圖;
[0050]圖2是本申請的一種云存儲系統(tǒng)中大文件的處理方法具體實現(xiàn)的流程圖;
[0051]圖3是本申請的一種云存儲系統(tǒng)中大文件的處理方法實施例2的流程圖;
[0052]圖4是本申請的一種云存儲系統(tǒng)中大文件的處理系統(tǒng)實施例1的結(jié)構(gòu)示意圖;
[0053]圖5是本申請的一種云存儲系統(tǒng)中大文件的處理系統(tǒng)實施例2的結(jié)構(gòu)示意圖。
【具體實施方式】
[0054]下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。
[0055]參考圖1,示出了本申請一種云存儲系統(tǒng)中大文件的處理方法實施例1的流程圖,可以包括以下步驟:
[0056]步驟SlOl:確定目標(biāo)文件的大小。
[0057]本申請中,在將目標(biāo)文件上傳到云存儲系統(tǒng)中之前,需要確定文件的大小,當(dāng)文件屬于小文件范疇時,不需要對文件進(jìn)行分割等處理,而是直接把文件上傳到云存儲系統(tǒng)即可,在上傳之前,還需要計算文件的MD5校驗值;當(dāng)文件屬于大文件的范疇時,按照后續(xù)大文件的處理方法對文件進(jìn)行處理。
[0058]步驟S102:當(dāng)目標(biāo)文件的大小超過預(yù)設(shè)大小時,對所述目標(biāo)文件進(jìn)行分割,轉(zhuǎn)換成一組片段對象和一個清單對象。
[0059]片段對象:把一個大文件拆分成小的片段,分別作為一個單獨的對象上傳這些片段,這些對象稱為片段對象。
[0060]在具體的實現(xiàn)中,并不一定要將大文件拆分成小文件再上傳到云存儲系統(tǒng)中,而是通過直接讀取大文件指定字節(jié)區(qū)間的數(shù)據(jù)。
[0061]清單對象:清單對象的功能是記錄構(gòu)成一個大文件的所有片段對象的信息,包括片段對象所在的容器名稱、片段對象的名字、片段對象在大文件中的偏移量(Offset),片段對象的二進(jìn)制數(shù)據(jù)長度。
[0062]當(dāng)文件的大小超過預(yù)設(shè)大小時,則目標(biāo)文件為大文件,不能直接將這個文件上傳到云存儲系統(tǒng)中,此時,需要對所述文件進(jìn)行處理。
[0063]根據(jù)片段對象和清單對象兩種對象信息,可以把一個大文件拆分為一組片段,并且可以把一組片段重新合成為原文件。
[0064]片段對象與一般的對象沒有任何區(qū)別,但是清單對象很特別,它代表了磁盤中的大文件。當(dāng)下載清單對象時,需要把所有的片段對象連接成一個整體返回給用戶;當(dāng)查詢清單對象的信息時,清單對象的元數(shù)據(jù)代表了大文件的相關(guān)屬性。
[0065]步驟S103:將所述一組片段對象和一個清單對象均上傳到云存儲系統(tǒng)中。
[0066]—個大文件在云存儲端由唯一的清單對象和一組片段對象構(gòu)成。
[0067]文件往往有一些屬性需要存儲在云存儲端,由于清單對象與原文件是一一對應(yīng)關(guān)系,因此可以用清單對象的元數(shù)據(jù)代表原文件的元數(shù)據(jù),即原文件的相關(guān)屬性。
[0068]本申請?zhí)峁┑囊环N云存儲系統(tǒng)中大文件的處理方法中,將大文件分割成一組片段對象的形式,每個片段對象的大小均滿足云存儲系統(tǒng)中對文件大小的要求,這樣,就可以將超過云存儲系統(tǒng)中預(yù)設(shè)大小的文件上傳到云存儲系統(tǒng)中,所述清單對象記錄了所有片段對象的信息,所述一組片段對象和一個清單對象即代表了整個大文件,解決了現(xiàn)有技術(shù)中云存儲系統(tǒng)中Switf無法上傳大于5GB的文件的問題。
[0069]參考圖2,示出了本申請一種云存儲系統(tǒng)中大文件的處理方法具體實現(xiàn)的流程圖。
[0070]在具體實現(xiàn)過程中,所述將所述一組片段對象和一個清單對象均上傳到云存儲系統(tǒng)中,包括:
[0071]計算所述一組片段對象中每個片段的MD5校驗值。
[0072]異步上傳每個片段對象。
[0073]當(dāng)所有片段對象均上傳完畢時,計算整個目標(biāo)文件的MD5校驗值;
[0074]上傳所述清單對象。
[0075]所述上傳所述清單對象,包括:
[0076]將所述一組片段對象中的所有信息序列化為JSON格式的字符串,作為所述清單對象的內(nèi)容。
[0077]為了便于組織信息,把所有的片段對象信息序列化為JSON格式的字符串,作為清單對象的內(nèi)容。所以清單對象的內(nèi)容就是JSON格式的所有片段對象信息的列表。根據(jù)容器名稱和片段對象的名稱,可以定位云存儲端片段對象的位置,根據(jù)偏移量和片段大小,可以定位片段對象在原文件中的位置,所以JSON格式的片段信息列表中,片段信息不需要按照它們在原文件中的順序排列。
[0078]計算所述JSON格式的字符串的MD5校驗值。
[0079]上傳所述清單對象的內(nèi)容。
[0080]為了便于進(jìn)行文件的校驗和下載,清單對象必須具備以下兩個自定義:
[0081]元數(shù)據(jù)。
[0082]Object-Meta-Echk:原始文件的MD5校驗值,用于下載文件后對下載到磁盤上的文件進(jìn)行MD5校驗。
[0083]Object-Meta-Length:原始文件的總長度。
[0084]對象存儲服務(wù)Swift定義了對象的很多固有元數(shù)據(jù),除此之外,所有對象(包括片段對象和清單對象)必須具備以下兩個元數(shù)據(jù):
[0085]Content
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
昭通市| 平舆县| 靖安县| 巍山| 祥云县| 武邑县| 行唐县| 金秀| 通城县| 南安市| 琼海市| 涞源县| 岗巴县| 上高县| 德钦县| 华坪县| 海宁市| 新安县| 灵丘县| 奈曼旗| 监利县| 拉孜县| 南川市| 东阿县| 昌平区| 苍溪县| 黎川县| 贡嘎县| 寿阳县| 仁化县| 商都县| 卓尼县| 天全县| 南和县| 札达县| 秦皇岛市| 北辰区| 儋州市| 卢龙县| 勐海县| 迭部县|