一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置,包括數(shù)據(jù)傳輸模塊、數(shù)據(jù)摘要計(jì)算模塊、塊存儲(chǔ)模塊、文件表和文件數(shù)據(jù)塊關(guān)系表;所述數(shù)據(jù)傳輸模塊接收并處理客戶(hù)端發(fā)送的請(qǐng)求,所述數(shù)據(jù)摘要計(jì)算模塊以所述文件表中文件已上傳部分的摘要和所述數(shù)據(jù)傳輸模塊接收的新上傳的數(shù)據(jù)塊計(jì)算新的文件已上傳部分的摘要,并且新的文件已上傳部分的摘要存入到所述文件表中;所述塊存儲(chǔ)模塊用來(lái)存儲(chǔ)文件的每個(gè)數(shù)據(jù)塊,同時(shí)所述文件數(shù)據(jù)塊關(guān)系表存儲(chǔ)著所述塊存儲(chǔ)模塊中文件與該文件上傳的所有數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系。因此,本發(fā)明能夠大幅度提高云存儲(chǔ)文件上傳的效率。
【專(zhuān)利說(shuō)明】一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是指一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置。
【背景技術(shù)】
[0002]隨著云存儲(chǔ)技術(shù)的研究與實(shí)踐,云盤(pán),網(wǎng)盤(pán)系統(tǒng)正在逐漸的被研發(fā)、實(shí)施和使用。有的部署在互聯(lián)網(wǎng)上以公有云的方式提供服務(wù),有的部署在企業(yè)內(nèi)部以私有云的方式提供服務(wù),還有就是混合云。不管是哪種形式的云都會(huì)接收用戶(hù)或者其他系統(tǒng)上傳的數(shù)據(jù)。由于面對(duì)的網(wǎng)絡(luò)通信環(huán)境不一樣,文件上傳的效率也不一樣。由于各種原因,往往會(huì)出現(xiàn)文件上傳中途停止,造成文件需要重新上傳,所以用戶(hù)體驗(yàn)非常差。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明的目的在于提出一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置,能夠大幅度提聞z?存儲(chǔ)文件上傳的效率。
[0004]基于上述目的本發(fā)明提供的云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置,包括數(shù)據(jù)傳輸模塊、數(shù)據(jù)摘要計(jì)算模塊、塊存儲(chǔ)模塊、文件表和文件數(shù)據(jù)塊關(guān)系表;所述數(shù)據(jù)傳輸模塊接收并處理客戶(hù)端發(fā)送的請(qǐng)求,所述數(shù)據(jù)摘要計(jì)算模塊以所述文件表中文件已上傳部分的摘要和所述數(shù)據(jù)傳輸模塊接收的新上傳的數(shù)據(jù)塊計(jì)算新的文件已上傳部分的摘要,并且新的文件已上傳部分的摘要存入到所述文件表中;所述塊存儲(chǔ)模塊用來(lái)存儲(chǔ)文件的每個(gè)數(shù)據(jù)塊,同時(shí)所述文件數(shù)據(jù)塊關(guān)系表存儲(chǔ)著所述塊存儲(chǔ)模塊中文件與該文件上傳的所有數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系。
[0005]可選地,所述塊存儲(chǔ)模塊存儲(chǔ)的每個(gè)數(shù)據(jù)塊有一個(gè)唯一的索引,通過(guò)該索引可以找到所述的數(shù)據(jù)塊。
[0006]進(jìn)一步地,所述 文件表包括文件唯一標(biāo)識(shí),文件整體唯一摘要,文件已上傳部分的摘要,文件整體大小和文件已上傳大小;
[0007]所述文件數(shù)據(jù)塊關(guān)系表包括所述數(shù)據(jù)塊的索引,所屬文件的唯一標(biāo)識(shí),數(shù)據(jù)塊在文件中的位置編號(hào)和數(shù)據(jù)塊大小。
[0008]進(jìn)一步地,所述數(shù)據(jù)摘要計(jì)算模塊在文件上傳的過(guò)程中計(jì)算文件的摘要,當(dāng)文件上傳完成了,文件的摘要就計(jì)算完成。
[0009]還有,本發(fā)明還提供了一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳方法,包括步驟:
[0010]第一步,所述數(shù)據(jù)傳輸模塊接收客戶(hù)端發(fā)送的文件上傳請(qǐng)求;
[0011]第二步,所述數(shù)據(jù)傳輸模塊根據(jù)所述文件表判斷該上傳文件的云存儲(chǔ)狀態(tài);若文件已經(jīng)完整上傳,則直接退出該過(guò)程;若文件已上傳了一部分,則執(zhí)行步驟三;若文件沒(méi)有上傳記錄,則執(zhí)行步驟四;
[0012]第三步,所述數(shù)據(jù)傳輸模塊跳過(guò)所述文件表中記錄的該請(qǐng)求上傳文件的已上傳的部分,然后執(zhí)行步驟五;
[0013]第四步,在所述文件表中創(chuàng)建該上傳文件的信息,然后執(zhí)行步驟五;
[0014]第五步,所述數(shù)據(jù)傳輸模塊從該文件上傳請(qǐng)求中讀取一定大小的數(shù)據(jù)塊;[0015]第六步,所述數(shù)據(jù)傳輸模塊將該數(shù)據(jù)塊傳送給所述數(shù)據(jù)摘要計(jì)算模塊和所述塊存儲(chǔ)模塊;
[0016]第七步,所述數(shù)據(jù)摘要計(jì)算模塊利用所述文件表中的該文件已上傳部分的摘要以及接收的新讀取的該數(shù)據(jù)塊一起計(jì)算新的文件已上傳部分的摘要,并且將新的摘要傳送給所述文件表;同時(shí),所述塊存儲(chǔ)模塊接收并保存該數(shù)據(jù)塊;
[0017]第八步,所述文件表接收新的文件已上傳部分的摘要,并且更新該文件的文件已上傳部分的摘要信息;
[0018]第九步,所述文件表判斷是否已經(jīng)完成文件的上傳,如果是就退出該過(guò)程,如果否就返回步驟三。
[0019]可選地,在步驟一中所述數(shù)據(jù)傳輸模塊接收客戶(hù)端發(fā)送過(guò)來(lái)的請(qǐng)求,該請(qǐng)求包括文件、文件的唯一標(biāo)識(shí)、文件的摘要以及文件的大小。
[0020]進(jìn)一步地,在步驟二中所述數(shù)據(jù)傳輸模塊根據(jù)上傳請(qǐng)求中的文件唯一標(biāo)識(shí)在所述文件表中查找是否已存在該文件,若沒(méi)有該文件唯一標(biāo)識(shí)則說(shuō)明沒(méi)有上傳過(guò)該文件,執(zhí)行步驟四;
[0021]若存在該文件唯一標(biāo)識(shí),則說(shuō)明該文件曾經(jīng)上傳過(guò);其中,將所述文件表中存儲(chǔ)的該文件的文件整體唯一摘要和文件已上傳部分的摘要進(jìn)行對(duì)比,若所述的兩個(gè)摘要相同則說(shuō)明該文件已經(jīng)完整上傳,可以退出該上傳過(guò)程;若兩摘要不相同則說(shuō)明文件已上傳了一部分,則執(zhí)行步驟三。
[0022]進(jìn)一步地,在步驟九中所述文件表通過(guò)比較新的文件已上傳部分的摘要與文件整體唯一摘要,若相同則說(shuō)明已經(jīng)完成文件的上傳,退出該過(guò)程;若不相同則說(shuō)明還沒(méi)有完成文件的上傳,返回步驟三。
[0023]進(jìn)一步地,所述數(shù)據(jù)摘要計(jì)算模塊在計(jì)算文件摘要時(shí)使用MD5摘要算法。
[0024]另外,本發(fā)明還根據(jù)上面所述的云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置提供了下載文件的方法,包括步驟:
[0025]所述數(shù)據(jù)傳輸模塊接收到客戶(hù)端的下載請(qǐng)求,并且所述數(shù)據(jù)傳輸模塊將該請(qǐng)求中要下載的文件信息傳送給文件表;
[0026]所述文件表根據(jù)接收的文件信息查詢(xún)是否存在該文件,若不存在則直接退出該過(guò)程;若存在則將文件信息傳送給所述文件數(shù)據(jù)塊關(guān)系表;
[0027]所述文件數(shù)據(jù)塊關(guān)系表根據(jù)接收的文件信息查詢(xún)到該文件的所有上傳的數(shù)據(jù)塊,并將所有上傳的數(shù)據(jù)塊信息發(fā)送給所述塊存儲(chǔ)模塊;
[0028]所述塊存儲(chǔ)模塊找到存儲(chǔ)的該文件所有上傳的數(shù)據(jù)塊,然后傳送給所述數(shù)據(jù)傳輸模塊;
[0029]所述數(shù)據(jù)傳輸模塊將該文件所有上傳的數(shù)據(jù)塊發(fā)送給客戶(hù)端。
[0030]從上面所述可以看出,本發(fā)明提供的一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置,通過(guò)所述數(shù)據(jù)摘要計(jì)算模塊以所述文件表中文件已上傳部分的摘要和所述數(shù)據(jù)傳輸模塊接收的新上傳的數(shù)據(jù)塊計(jì)算新的文件已上傳部分的摘要,并且新的文件已上傳部分的摘要存入到所述文件表中。從而,本發(fā)明所述云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置明顯提高云存儲(chǔ)上傳文件的可用性,用戶(hù)體驗(yàn)更佳?!緦?zhuān)利附圖】
【附圖說(shuō)明】
[0031]圖1為本發(fā)明實(shí)施例一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置的結(jié)構(gòu)示意圖;
[0032]圖2為本發(fā)明實(shí)施例一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳方法的流程示意圖;
[0033]圖3為本發(fā)明實(shí)施例從云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置下載文件的流程示意圖。
【具體實(shí)施方式】
[0034]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
[0035]參閱圖1所示,為本發(fā)明實(shí)施例一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置的結(jié)構(gòu)示意圖,所述云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置包括數(shù)據(jù)傳輸模塊101、數(shù)據(jù)摘要計(jì)算模塊102、塊存儲(chǔ)模塊103和數(shù)據(jù)關(guān)系存儲(chǔ)模塊104。其中,塊存儲(chǔ)模塊103用來(lái)存儲(chǔ)數(shù)據(jù)塊,數(shù)據(jù)塊可能是一個(gè)整個(gè)文件,或者是文件的一部分。數(shù)據(jù)塊的大小沒(méi)有限制也不需要固定。較佳地,每個(gè)數(shù)據(jù)塊有一個(gè)唯一的索引,通過(guò)該索引可以找到所述的數(shù)據(jù)塊。
[0036]作為本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)關(guān)系存儲(chǔ)模塊104包括文件表105和文件數(shù)據(jù)塊關(guān)系表106,文件表105中存儲(chǔ)文件的基本信息,其中包括文件唯一標(biāo)識(shí),文件整體唯一摘要(推薦使用MD5摘要算法),文件已上傳部分的摘要,文件整體大小,文件已上傳大小。文件數(shù)據(jù)塊關(guān)系表106存儲(chǔ)著塊存儲(chǔ)模塊103中文件與該文件上傳的所有數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系。其中,文件數(shù)據(jù)塊關(guān)系表106包括數(shù)據(jù)塊的索引,所屬文件的唯一標(biāo)識(shí),數(shù)據(jù)塊在文件中的位置編號(hào),數(shù)據(jù)塊大小。
[0037]另外,數(shù)據(jù)摘要計(jì)算模塊102以文件表105中文件已上傳部分的摘要和新上傳的數(shù)據(jù)塊為輸入計(jì)算新的文件已上傳部分的摘要,數(shù)據(jù)摘要計(jì)算模塊102可以在文件上傳的過(guò)程中計(jì)算文件的摘要,當(dāng)文件上傳完成了,文件的摘要也就計(jì)算完了??梢钥闯觯@時(shí)數(shù)據(jù)摘要計(jì)算模塊102就可以結(jié)合文件大小一并校驗(yàn)文件的完整性和正確性,而不需要重新在云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置中讀取文件所有的數(shù)據(jù)塊來(lái)計(jì)算摘要。
[0038]參閱圖2所示,為本發(fā)明實(shí)施例一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳方法的流程示意圖,所述云存儲(chǔ)文件斷點(diǎn)續(xù)傳方法包括:
[0039]步驟201,數(shù)據(jù)傳輸模塊101接收客戶(hù)端發(fā)送的文件上傳請(qǐng)求。
[0040]在實(shí)施例中,數(shù)據(jù)傳輸模塊101接收客戶(hù)端發(fā)送過(guò)來(lái)的請(qǐng)求,該請(qǐng)求包括文件和相關(guān)參數(shù)。其中,該請(qǐng)求的參數(shù)可以是文件的唯一標(biāo)識(shí)、文件的摘要以及文件的大小。較佳地,文件是數(shù)據(jù)流的形式或者數(shù)據(jù)塊的形式。
[0041]步驟202,數(shù)據(jù)傳輸模塊101根據(jù)文件表105判斷該上傳文件的云存儲(chǔ)狀態(tài)。若文件已經(jīng)完整上傳,則直接退出該過(guò)程。若文件已上傳了一部分,則執(zhí)行步驟203。若文件沒(méi)有上傳記錄,則執(zhí)行步驟204。
[0042]作為本發(fā)明的一個(gè)實(shí)施例,數(shù)據(jù)傳輸模塊101根據(jù)上傳請(qǐng)求中的文件唯一標(biāo)識(shí)在文件表105中查找是否已存在該文件,若沒(méi)有該文件唯一標(biāo)識(shí)則說(shuō)明沒(méi)有上傳過(guò)該文件,可以執(zhí)行步驟204。若存在該文件唯一標(biāo)識(shí),則說(shuō)明該文件曾經(jīng)上傳過(guò)。其中,將文件表105中存儲(chǔ)的該文件的文件整體唯一摘要和文件已上傳部分的摘要進(jìn)行對(duì)比,若所述的兩個(gè)摘要相同則說(shuō)明該文件已經(jīng)完整上傳,可以退出該上傳過(guò)程,同時(shí)可以提示客戶(hù)端文件已完整上傳過(guò)。若兩摘要不相同則說(shuō)明文件已上傳了一部分,則執(zhí)行步驟203。[0043]步驟203,數(shù)據(jù)傳輸模塊101跳過(guò)文件表105中記錄的該請(qǐng)求上傳文件的已上傳的部分,然后執(zhí)行步驟205。
[0044]步驟204,在文件表105中創(chuàng)建該上傳文件的信息,然后執(zhí)行步驟205。
[0045]其中,在文件表105中創(chuàng)建新的上傳文件信息,需要記錄該上傳文件的唯一標(biāo)識(shí),文件整體唯一摘要,文件整體大小。另外,此時(shí)文件已上傳部分的摘要和文件已上傳大小都不需要,因?yàn)樵撋蟼魑募€沒(méi)有上傳過(guò)。
[0046]步驟205,數(shù)據(jù)傳輸模塊101從該文件上傳請(qǐng)求中讀取一定大小的數(shù)據(jù)塊。
[0047]步驟206,數(shù)據(jù)傳輸模塊101將該數(shù)據(jù)塊傳送給數(shù)據(jù)摘要計(jì)算模塊102和塊存儲(chǔ)模塊 103。
[0048]步驟207,數(shù)據(jù)摘要計(jì)算模塊102利用文件表105中的該文件已上傳部分的摘要以及接收的新讀取的該數(shù)據(jù)塊一起計(jì)算新的文件已上傳部分的摘要,并且將新的摘要傳送給文件表105 ;同時(shí),塊存儲(chǔ)模塊103接收并保存該數(shù)據(jù)塊。
[0049]作為本發(fā)明的另一個(gè)實(shí)施例,塊存儲(chǔ)模塊103保存?zhèn)魉偷脑摂?shù)據(jù)塊,并且設(shè)置該文件的該數(shù)據(jù)塊的索引。優(yōu)選地,塊存儲(chǔ)模塊103將存儲(chǔ)的數(shù)據(jù)塊與文件之間的對(duì)應(yīng)關(guān)系在文件數(shù)據(jù)塊關(guān)系表106中建立,文件數(shù)據(jù)塊關(guān)系表106記錄文件唯一標(biāo)識(shí)、該文件每個(gè)上傳數(shù)據(jù)塊的索引、每個(gè)數(shù)據(jù)塊在該文件中的位置編號(hào)、每個(gè)數(shù)據(jù)塊大小。
[0050]較佳地,數(shù)據(jù)摘要計(jì)算模塊102在計(jì)算文件摘要時(shí)可以使用MD5摘要算法。
[0051]步驟208,文件表105接收新的文件已上傳部分的摘要,并且更新該文件的文件已上傳部分的摘要信息。
[0052]其中,文件表105根據(jù)該文件的唯一標(biāo)識(shí)找到該文件的信息,然后更新該文件信息中的文件已上傳部分的摘要和文件已上傳的大小。
[0053]步驟209,文件表105判斷是否已經(jīng)完成文件的上傳,如果是就退出該過(guò)程,如果否就返回步驟203。
[0054]在實(shí)施例中,文件表105通過(guò)比較新的文件已上傳部分的摘要與文件整體唯一摘要,若相同則說(shuō)明已經(jīng)完成文件的上傳,退出該過(guò)程;若不相同則說(shuō)明還沒(méi)有完成文件的上傳,返回步驟203。較佳地,若已經(jīng)完成了文件的上傳,可以提示客戶(hù)端已完成上傳。
[0055]還需要說(shuō)明的是,若客戶(hù)端需要從該云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置中下載文件時(shí),參閱圖3所示:
[0056]步驟301,數(shù)據(jù)傳輸模塊101接收到客戶(hù)端的下載請(qǐng)求,并且數(shù)據(jù)傳輸模塊101將該請(qǐng)求中要下載的文件信息傳送給文件表105。
[0057]步驟302,文件表105根據(jù)接收的文件信息查詢(xún)是否存在該文件,若不存在則直接退出該過(guò)程,當(dāng)然可以提示客戶(hù)端不存在要下載的文件;若存在則將文件信息傳送給文件數(shù)據(jù)塊關(guān)系表106。
[0058]步驟303,文件數(shù)據(jù)塊關(guān)系表106根據(jù)接收的文件信息查詢(xún)到該文件的所有上傳的數(shù)據(jù)塊,并將所有上傳的數(shù)據(jù)塊信息發(fā)送給塊存儲(chǔ)模塊103。
[0059]步驟304,塊存儲(chǔ)模塊103找到存儲(chǔ)的該文件所有上傳的數(shù)據(jù)塊,然后傳送給數(shù)據(jù)傳輸模塊101。
[0060]步驟305,數(shù)據(jù)傳輸模塊101將該文件所有上傳的數(shù)據(jù)塊發(fā)送給客戶(hù)端。
[0061]由此可以看出,本發(fā)明實(shí)現(xiàn)的云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置,創(chuàng)造性的提出了文件上傳中斷后可以繼續(xù)進(jìn)行;當(dāng)客戶(hù)端上傳文件中途由于某種原因中止或者暫停,重啟上傳過(guò)程后能夠接著前一次上傳的進(jìn)度繼續(xù)上傳,而無(wú)論兩次操作間隔多長(zhǎng)時(shí)間;另外,當(dāng)客戶(hù)端上傳已經(jīng)上傳過(guò)的文件時(shí)(即之前的上傳進(jìn)度為100%),本發(fā)明不用再次接收數(shù)據(jù),而跳過(guò)上傳過(guò)程,并且可以提示成功;與此同時(shí),本發(fā)明提高了云存儲(chǔ)文件上傳效率,在可用性和用戶(hù)體驗(yàn)上明顯提高,并且由于存儲(chǔ)的形式是數(shù)據(jù)塊而不是整個(gè)文件,所以也提高了存儲(chǔ)文件的安全性;最后,整個(gè)所述云存儲(chǔ)文件斷點(diǎn)續(xù)傳的方法和裝置簡(jiǎn)便、緊湊,易于實(shí)現(xiàn)。
[0062]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置,其特征在于,包括數(shù)據(jù)傳輸模塊、數(shù)據(jù)摘要計(jì)算模塊、塊存儲(chǔ)模塊、文件表和文件數(shù)據(jù)塊關(guān)系表;所述數(shù)據(jù)傳輸模塊接收并處理客戶(hù)端發(fā)送的請(qǐng)求,所述數(shù)據(jù)摘要計(jì)算模塊以所述文件表中文件已上傳部分的摘要和所述數(shù)據(jù)傳輸模塊接收的新上傳的數(shù)據(jù)塊計(jì)算新的文件已上傳部分的摘要,并且新的文件已上傳部分的摘要存入到所述文件表中;所述塊存儲(chǔ)模塊用來(lái)存儲(chǔ)文件的每個(gè)數(shù)據(jù)塊,同時(shí)所述文件數(shù)據(jù)塊關(guān)系表存儲(chǔ)著所述塊存儲(chǔ)模塊中文件與該文件上傳的所有數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述塊存儲(chǔ)模塊存儲(chǔ)的每個(gè)數(shù)據(jù)塊有一個(gè)唯一的索引,通過(guò)該索引可以找到所述的數(shù)據(jù)塊。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述文件表包括文件唯一標(biāo)識(shí),文件整體唯一摘要,文件已上傳部分的摘要,文件整體大小和文件已上傳大??; 所述文件數(shù)據(jù)塊關(guān)系表包括所述數(shù)據(jù)塊的索引,所屬文件的唯一標(biāo)識(shí),數(shù)據(jù)塊在文件中的位置編號(hào)和數(shù)據(jù)塊大小。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的裝置,其特征在于,所述數(shù)據(jù)摘要計(jì)算模塊在文件上傳的過(guò)程中計(jì)算文件的摘要,當(dāng)文件上傳完成了,文件的摘要就計(jì)算完成。
5.一種云存儲(chǔ)文件斷點(diǎn)續(xù)傳方法,其特征在于,包括步驟: 第一步,所述數(shù)據(jù)傳輸模塊接收客戶(hù)端發(fā)送的文件上傳請(qǐng)求; 第二步,所述數(shù)據(jù)傳輸模塊根據(jù)所述文件表判斷該上傳文件的云存儲(chǔ)狀態(tài);若文件已經(jīng)完整上傳,則直接退出該過(guò)程;若文件已上傳了一部分,則執(zhí)行步驟三;若文件沒(méi)有上傳記錄,則執(zhí)行步驟四; 第三步,所述數(shù)據(jù)傳輸模塊跳過(guò)所述文件表中記錄的該請(qǐng)求上傳文件的已上傳的部分,然后執(zhí)行步驟五; 第四步,在所述文件表中創(chuàng)建該上傳文件的信息,然后執(zhí)行步驟五; 第五步,所述數(shù)據(jù)傳輸模塊從該文件上傳請(qǐng)求中讀取一定大小的數(shù)據(jù)塊; 第六步,所述數(shù)據(jù)傳輸模塊將該數(shù)據(jù)塊傳送給所述數(shù)據(jù)摘要計(jì)算模塊和所述塊存儲(chǔ)模塊; 第七步,所述數(shù)據(jù)摘要計(jì)算模塊利用所述文件表中的該文件已上傳部分的摘要以及接收的新讀取的該數(shù)據(jù)塊一起計(jì)算新的文件已上傳部分的摘要,并且將新的摘要傳送給所述文件表;同時(shí),所述塊存儲(chǔ)模塊接收并保存該數(shù)據(jù)塊; 第八步,所述文件表接收新的文件已上傳部分的摘要,并且更新該文件的文件已上傳部分的摘要信息; 第九步,所述文件表判斷是否已經(jīng)完成文件的上傳,如果是就退出該過(guò)程,如果否就返回步驟三。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在步驟一中所述數(shù)據(jù)傳輸模塊接收客戶(hù)端發(fā)送過(guò)來(lái)的請(qǐng)求,該請(qǐng)求包括文件、文件的唯一標(biāo)識(shí)、文件的摘要以及文件的大小。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在步驟二中所述數(shù)據(jù)傳輸模塊根據(jù)上傳請(qǐng)求中的文件唯一標(biāo)識(shí)在所述文件表中查找是否已存在該文件,若沒(méi)有該文件唯一標(biāo)識(shí)則說(shuō)明沒(méi)有上傳過(guò)該文件,執(zhí)行步驟四; 若存在該文件唯一標(biāo)識(shí),則說(shuō)明該文件曾經(jīng)上傳過(guò);其中,將所述文件表中存儲(chǔ)的該文件的文件整體唯一摘要和文件已上傳部分的摘要進(jìn)行對(duì)比,若所述的兩個(gè)摘要相同則說(shuō)明該文件已經(jīng)完整上傳,可以退出該上傳過(guò)程;若兩摘要不相同則說(shuō)明文件已上傳了一部分,則執(zhí)行步驟三。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在步驟九中所述文件表通過(guò)比較新的文件已上傳部分的摘要與文件整體唯一摘要,若相同則說(shuō)明已經(jīng)完成文件的上傳,退出該過(guò)程;若不相同則說(shuō)明還沒(méi)有完成文件的上傳,返回步驟三。
9.根據(jù)權(quán)利要求5至8任意一項(xiàng)所述的方法,其特征在于,所述數(shù)據(jù)摘要計(jì)算模塊在計(jì)算文件摘要時(shí)使用MD5摘要算法。
10.一種從權(quán)利要求1至4中任意一項(xiàng)所述的云存儲(chǔ)文件斷點(diǎn)續(xù)傳裝置中下載文件的方法,其特征在于,包括步驟: 所述數(shù)據(jù)傳輸模塊接收到客戶(hù)端的下載請(qǐng)求,并且所述數(shù)據(jù)傳輸模塊將該請(qǐng)求中要下載的文件信息傳送給文件表; 所述文件表根據(jù)接收的文件信息查詢(xún)是否存在該文件,若不存在則直接退出該過(guò)程;若存在則將文件信息傳送給所述文件數(shù)據(jù)塊關(guān)系表; 所述文件數(shù)據(jù)塊關(guān)系表根據(jù)接 收的文件信息查詢(xún)到該文件的所有上傳的數(shù)據(jù)塊,并將所有上傳的數(shù)據(jù)塊信息發(fā)送給所述塊存儲(chǔ)模塊; 所述塊存儲(chǔ)模塊找到存儲(chǔ)的該文件所有上傳的數(shù)據(jù)塊,然后傳送給所述數(shù)據(jù)傳輸模塊; 所述數(shù)據(jù)傳輸模塊將該文件所有上傳的數(shù)據(jù)塊發(fā)送給客戶(hù)端。
【文檔編號(hào)】H04L29/08GK103634407SQ201310675109
【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2013年12月11日 優(yōu)先權(quán)日:2013年12月11日
【發(fā)明者】李劍峰, 吳烜 申請(qǐng)人:北京榮之聯(lián)科技股份有限公司