海量小文件備份方法與云存儲(chǔ)網(wǎng)關(guān)的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及云計(jì)算領(lǐng)域,特別地,涉及一種海量小文件備份方法與云存儲(chǔ)網(wǎng)關(guān)。
【背景技術(shù)】
[0002]云網(wǎng)關(guān),又稱為云存儲(chǔ)網(wǎng)關(guān),該設(shè)備通常部署在企業(yè)數(shù)據(jù)中心,連接公有云存儲(chǔ)和本地存儲(chǔ),將專用云存儲(chǔ)接口協(xié)議轉(zhuǎn)換為傳統(tǒng)存儲(chǔ)訪問協(xié)議。
[0003]文件上傳至公有云存儲(chǔ)的過程需要經(jīng)過訪問權(quán)限驗(yàn)證、空間限額驗(yàn)證、數(shù)據(jù)校驗(yàn)等多個(gè)步驟,導(dǎo)致小文件(通常指64KB以下的文件)進(jìn)行云端存儲(chǔ)時(shí)額外開銷時(shí)長(zhǎng)占比過高,小文件數(shù)量越多備份效率越低。
[0004]另外,云存儲(chǔ)系統(tǒng)通常采用分布式對(duì)象存儲(chǔ)架構(gòu),對(duì)象由元數(shù)據(jù)和數(shù)據(jù)組成,對(duì)象數(shù)據(jù)是用戶的真實(shí)數(shù)據(jù),例如,Word、圖片及視頻等文件,對(duì)象元數(shù)據(jù)是關(guān)于數(shù)據(jù)的組織、數(shù)據(jù)域及其關(guān)系的信息,可以理解為關(guān)于數(shù)據(jù)的數(shù)據(jù)。每個(gè)文件上傳至云端存儲(chǔ)時(shí),都會(huì)生成與之對(duì)應(yīng)的元數(shù)據(jù)信息并保存至單獨(dú)的元數(shù)據(jù)服務(wù)器中。海量文件勢(shì)必將產(chǎn)生龐大的元數(shù)據(jù)信息,云存儲(chǔ)服務(wù)中要求元數(shù)據(jù)和數(shù)據(jù)分開管理,數(shù)據(jù)和元數(shù)據(jù)保存在不同的存儲(chǔ)介質(zhì)上,這樣訪問一個(gè)文件需要經(jīng)歷多次獨(dú)立的訪問,而由于小文件數(shù)據(jù)內(nèi)容較少,因此元數(shù)據(jù)的訪問性能對(duì)小文件訪問性能影響巨大。海量小文件將產(chǎn)生龐大的元數(shù)據(jù)信息,讀寫過程造成對(duì)元數(shù)據(jù)頻繁操作,服務(wù)器資源消耗大,進(jìn)而影響云存儲(chǔ)系統(tǒng)整體性能。
【發(fā)明內(nèi)容】
[0005]本公開鑒于以上問題中的至少一個(gè)提出了新的技術(shù)方案。
[0006]本公開在其一個(gè)方面提供了一種海量小文件備份方法,其提升了海量小文件的備份效率。
[0007]本公開在其另一方面提供了一種云存儲(chǔ)網(wǎng)關(guān),其提升了海量小文件的備份效率。
[0008]根據(jù)本公開,提供一種海量小文件備份方法,包括:
[0009]自用戶接口接收用戶待上傳的文件;
[0010]對(duì)用戶待上傳的文件進(jìn)行分析,判斷待上傳的文件是否滿足預(yù)先設(shè)定的海量小文件合并策略;
[0011]如果滿足,則對(duì)這些待上傳的文件進(jìn)行合并,并根據(jù)這些待上傳文件建立索引文件;
[0012]將合并后的文件上傳至云存儲(chǔ)。
[0013]在本公開的一些實(shí)施例中,索引文件包括每個(gè)被合并文件的ID、每個(gè)被合并文件的長(zhǎng)度以及每個(gè)被合并文件在整個(gè)合并文件中的偏移量。
[0014]在本公開的一些實(shí)施例中,該方法還包括:
[0015]接收用戶對(duì)文件的下載請(qǐng)求;
[0016]根據(jù)索引文件判斷待下載文件是否位于合并文件中;
[0017]如果在合并文件中,則根據(jù)索引文件確定請(qǐng)求下載的文件在合并文件中的偏移量和文件長(zhǎng)度;
[0018]根據(jù)確定的請(qǐng)求下載的文件在合并文件中的偏移量和文件長(zhǎng)度自云存儲(chǔ)中下載相應(yīng)文件;
[0019]將所下載的文件通過用戶接口發(fā)送給用戶。
[0020]在本公開的一些實(shí)施例中,海量小文件合并策略包括本次待上傳文件的數(shù)量門限、待上傳文件的大小門限以及小文件在本次所有待上傳文件中的占比。
[0021]在本公開的一些實(shí)施例中,海量小文件合并策略還包括設(shè)定文件類型。
[0022]根據(jù)本公開,還提供了一種云存儲(chǔ)網(wǎng)關(guān),包括:
[0023]文件接收單元,用于自用戶接口接收用戶待上傳的文件;
[0024]合并判斷單元,用于對(duì)用戶待上傳的文件進(jìn)行分析,判斷待上傳的文件是否滿足預(yù)先設(shè)定的海量小文件合并策略;
[0025]合并執(zhí)行單元,用于如果滿足,則對(duì)這些待上傳的文件進(jìn)行合并,并根據(jù)這些待上傳文件建立索引文件;
[0026]文件上傳單元,用于將合并后的文件上傳至云存儲(chǔ)。
[0027]在本公開的一些實(shí)施例中,索引文件包括每個(gè)被合并文件的ID、每個(gè)被合并文件的長(zhǎng)度以及每個(gè)被合并文件在整個(gè)合并文件中的偏移量。
[0028]在本公開的一些實(shí)施例中,云存儲(chǔ)網(wǎng)關(guān)還包括:
[0029]請(qǐng)求接收單元,用于接收用戶對(duì)文件的下載請(qǐng)求;
[0030]文件位置判斷單元,用于根據(jù)索引文件判斷待下載文件是否位于合并文件中;
[0031]存儲(chǔ)位置獲取單元,用于如果在合并文件中,則根據(jù)索引文件確定請(qǐng)求下載的文件在合并文件中的偏移量和文件長(zhǎng)度;
[0032]文件下載單元,用于根據(jù)確定的請(qǐng)求下載的文件在合并文件中的偏移量和文件長(zhǎng)度自云存儲(chǔ)中下載相應(yīng)文件;
[0033]文件發(fā)送單元,用于將所下載的文件通過用戶接口發(fā)送給用戶。
[0034]在本公開的一些實(shí)施例中,海量小文件合并策略包括本次待上傳文件的數(shù)量門限、待上傳文件的大小門限以及小文件在本次所有待上傳文件中的占比。
[0035]在本公開的一些實(shí)施例中,海量小文件合并策略還包括設(shè)定文件類型。
[0036]在本公開的技術(shù)方案中,在上傳至云存儲(chǔ)之前,由云存儲(chǔ)網(wǎng)關(guān)首先對(duì)海量小文件進(jìn)行了合并,并且在合并過程中構(gòu)建關(guān)于這些文件的索引文件,由于將海量小文件合并為較大文件進(jìn)行上傳,因此減少了元數(shù)據(jù)量,在上傳過程中降低了對(duì)元數(shù)據(jù)的頻繁操作,進(jìn)而降低了服務(wù)器資源的消耗,提升了云存儲(chǔ)系統(tǒng)的整體性能。
【附圖說明】
[0037]此處所說明的附圖用來(lái)提供對(duì)本公開的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分。在附圖中:
[0038]圖1是本公開一個(gè)實(shí)施例的海量小文件備份方法的流程示意圖。
[0039]圖2是本公開技術(shù)方案應(yīng)用場(chǎng)景示意圖。
[0040]圖3是本公開海量小文件處理模塊的結(jié)構(gòu)示意圖。
[0041]圖4是本公開另一實(shí)施例的海量小文件備份方法的流程示意圖。
[0042]圖5是本公開又一實(shí)施例的海量小文件備份方法的流程示意圖。
[0043]圖6是本公開再一實(shí)施例的海量小文件備份方法的流程示意圖。
[0044]圖7是本公開再一實(shí)施例的海量小文件備份方法的流程示意圖。
[0045]圖8是本公開一個(gè)實(shí)施例的云存儲(chǔ)網(wǎng)關(guān)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0046]下面將參照附圖描述本公開。要注意的是,以下的描述在本質(zhì)上僅是解釋性和示例性的,決不作為對(duì)本公開及其應(yīng)用或使用的任何限制。除非另外特別說明,否則,在實(shí)施例中闡述的部件和步驟的相對(duì)布置以及數(shù)字表達(dá)式和數(shù)值并不限制本公開的范圍。另外,本領(lǐng)域技術(shù)人員已知的技術(shù)、方法和裝置可能不被詳細(xì)討論,但在適當(dāng)?shù)那闆r下意在成為說明書的一部分。
[0047]本公開針對(duì)目前利用云存儲(chǔ)進(jìn)行海量小文件遠(yuǎn)程備份存在備份效率低、云存儲(chǔ)系統(tǒng)資源消耗大等問題,提出了一種通過在云存儲(chǔ)網(wǎng)關(guān)設(shè)備中增加對(duì)海量小文件處理的技術(shù)方案,在文件上傳階段對(duì)小文件進(jìn)行合并處理,生成索引文件并保存在云存儲(chǔ)網(wǎng)關(guān)中,合并后的文件傳輸?shù)皆拼鎯?chǔ)中備份;在文件下載階段,通過分離算法將經(jīng)過合并處理的文件進(jìn)行分離處理后發(fā)送給用戶。通過在云存儲(chǔ)網(wǎng)關(guān)設(shè)備中增加海量小文件處理模塊,在保持云端備份服務(wù)經(jīng)濟(jì)性、便利性的同時(shí),降低了云存儲(chǔ)系統(tǒng)的資源消耗,提升了海量小文件的備份效率。
[0048]圖1是本公開一個(gè)實(shí)施例的海量小文件備份方法的流程示意圖。
[0049]如圖1所示,該實(shí)施例可以包括以下步驟:
[0050]S102,自用戶接口接收用戶待上傳的文件;
[0051]具體地,用戶在需要對(duì)文件進(jìn)行上傳備份時(shí),首先通過用戶接口將待上傳的文件發(fā)送至云存儲(chǔ)網(wǎng)關(guān)。
[0052]S104,對(duì)用戶待上傳的文件進(jìn)行分析,判斷待上傳的文件是否滿足預(yù)先設(shè)定的海量小文件合并策略;
[0053]其中,海量小文件合并策略可以包括但不限于本次待上傳文件的數(shù)量門限、待上傳文件的大小門限以及小文件在本次所有待上傳文件中的占比。
[0054]具體地,云存儲(chǔ)網(wǎng)關(guān)在接收到用戶上傳的文件后,首先根據(jù)海量小文件合并策略所需的參數(shù)對(duì)這些文件進(jìn)行分析,例如,獲取這些文件的大小,需上傳的文件的數(shù)量等信息。接下來(lái),根據(jù)獲取的信息與預(yù)先設(shè)定的海量小文件合并策略判斷是否滿足將這些文件進(jìn)行合并的條件。例如,如果海量小文件合并策略中設(shè)置本次待上傳文件的數(shù)量大于500個(gè)、且待上傳文件的大小小于64KB的文件占比為90%,假設(shè)自用戶上傳的文件獲取的信息滿足該條件,則可以將用戶本次上傳的所有文件進(jìn)行合并。
[0055]進(jìn)一步地,海量小文件合并策略還可以包括但不限于設(shè)定文件類型。例如,可以設(shè)定針對(duì)文檔文件與圖片文件不執(zhí)行文件合并策略。即,在判斷文件數(shù)量、文件大小以及占比的情況下,再判斷文件類型是