文件傳輸方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種文件傳輸方法和系統(tǒng)。所述方法包括:通過移動客戶端上傳分塊數(shù)據(jù);獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址;根據(jù)所述存儲地址判斷所述分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則返回所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟。所述系統(tǒng)包括:上傳模塊,用于上傳分塊數(shù)據(jù);地址獲取模塊,用于獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址;上傳判斷模塊,用于根據(jù)所述分塊數(shù)據(jù)的存儲地址判斷所述分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則通知所述上傳模塊。采用本發(fā)明能提高弱網(wǎng)絡(luò)環(huán)境下文件傳輸?shù)某晒β省?br>
【專利說明】文件傳輸方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù),特別是涉及一種文件傳輸方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動終端處理能力的提升,移動終端作為移動互聯(lián)網(wǎng)的入口,被越來越多的人們所應(yīng)用,進(jìn)而依賴于移動互聯(lián)網(wǎng)進(jìn)行實現(xiàn)各種文件的傳輸。例如,在人們使用移動互聯(lián)網(wǎng)的過程中,對上傳文件的需求更為強(qiáng)烈,常常希望通過移動終端將某些文件上傳至位于移動互聯(lián)網(wǎng)中的某一服務(wù)器中進(jìn)行存儲,以便與其他人分享上傳的文件。
[0003]但是,對于移動終端所接入的移動互聯(lián)網(wǎng)而言,網(wǎng)絡(luò)帶寬窄小,且不穩(wěn)定,在這一弱網(wǎng)絡(luò)環(huán)境之下文件傳輸被迫中斷和失敗的情況時常發(fā)生,從而使得文件傳輸?shù)某晒β史浅5?,無法滿足人們對移動互聯(lián)網(wǎng)中的傳輸需求。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對弱網(wǎng)絡(luò)環(huán)境下文件傳輸?shù)某晒β实偷膯栴},提供一種能提高傳輸成功率的文件傳輸方法。
[0005]此外,還有必要提供一種能提高傳輸成功率的文件傳輸系統(tǒng)。
[0006]一種文件傳輸方法,包括如下步驟:
[0007]通過移動客戶端上傳分塊數(shù)據(jù);
[0008]獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址;
[0009]根據(jù)所述存儲地址判斷所述分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則返回所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟。
[0010]一種文件傳輸系統(tǒng),包括移動客戶端,所述移動客戶端包括:
[0011]上傳模塊,用于上傳分塊數(shù)據(jù);
[0012]地址獲取模塊,用于獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址;
[0013]上傳判斷模塊,用于根據(jù)所述分塊數(shù)據(jù)的存儲地址判斷所述分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則通知所述上傳模塊。
[0014]上述文件傳輸方法和系統(tǒng)中,在移動客戶端中上傳分塊數(shù)據(jù),并按照存儲地址將上傳的分塊數(shù)據(jù)存儲于服務(wù)端中,直至分塊數(shù)據(jù)所在文件上傳完畢,在這一文件傳輸過程中,整個文件是通過分塊數(shù)據(jù)的形式進(jìn)行逐一傳輸?shù)?,因此,在弱網(wǎng)絡(luò)環(huán)境下若發(fā)生文件傳輸中斷時不需要重新進(jìn)行文件的傳輸,只需要再次傳輸相應(yīng)的分塊數(shù)據(jù)即可,提高了弱網(wǎng)絡(luò)環(huán)境下文件傳輸?shù)某晒β省?br>
【專利附圖】
【附圖說明】
[0015]圖1為一個實施例中文件傳輸方法的流程圖;
[0016]圖2為另一個實施例中文件傳輸方法的流程圖;
[0017]圖3為另一個實施例中文件傳輸方法的流程圖;[0018]圖4為另一個實施例中文件傳輸方法的流程圖;
[0019]圖5為一個實施例中文件傳輸方法的應(yīng)用不意圖;
[0020]圖6為另一個實施例中文件傳輸方法的應(yīng)用示意圖;
[0021]圖7為一個實施例中文件傳輸系統(tǒng)的結(jié)構(gòu)不意圖;
[0022]圖8為另一個實施例中文件傳輸系統(tǒng)的結(jié)構(gòu)示意圖;
[0023]圖9為另一個實施例中文件傳輸系統(tǒng)的結(jié)構(gòu)示意圖;
[0024]圖10為另一個實施例中文件傳輸系統(tǒng)的結(jié)構(gòu)示意圖;
[0025]圖11為另一個實施例中文件傳輸系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0026]如圖1所示,在一個實施例中,一種文件傳輸方法,包括如下步驟:
[0027]步驟S110,通過移動客戶端上傳分塊數(shù)據(jù)。
[0028]本實施例中,移動客戶端是運(yùn)行于移動終端中的客戶端。將劃分的若干個分塊數(shù)據(jù)逐一上傳到服務(wù)端,其中,分塊數(shù)據(jù)是對需上傳的文件按照一定的大小劃分得到的,一系列的分塊數(shù)據(jù)組成了完整的文件,該文件可以是各種多媒體文件或者其它形式的文件。
[0029]步驟S130,獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址。
[0030]本實施例中,在上傳了某一分塊數(shù)據(jù)之后將會在服務(wù)端存儲上傳的分塊數(shù)據(jù),此時,獲取服務(wù)端中下一分塊數(shù)據(jù)所對應(yīng)的存儲地址,并返回給移動客戶端,以使得移動客戶端獲取到待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址。具體的,存儲地址可以是網(wǎng)絡(luò)地址,即IP地址,也可以是分塊數(shù)據(jù)中開始位置所對應(yīng)的偏移量。
[0031]步驟S150,根據(jù)存儲地址判斷分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則返回步驟S110,若是,則結(jié)束。
[0032]本實施例中,若判斷到分塊數(shù)據(jù)已經(jīng)上傳完畢時,將不再進(jìn)行分塊數(shù)據(jù)的上傳,若判斷到分塊數(shù)據(jù)還未上傳完畢,則需繼續(xù)逐一上傳余下的分塊數(shù)據(jù),直至分塊數(shù)據(jù)被完全上傳。
[0033]在一個實施例中,存儲地址為待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量,上述步驟S150的具體過程為:獲取文件長度,判斷待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量是否達(dá)到獲取的文件長度,若否,則返回步驟S110,若是,則組裝上傳的分塊數(shù)據(jù),還原得到對應(yīng)的文件。
[0034]本實施例中,待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量是服務(wù)端下發(fā)的,用于標(biāo)識了待上傳分塊數(shù)據(jù)在服務(wù)端的存儲位置,表征了待上傳分塊數(shù)據(jù)在服務(wù)端的開始位置以及與上一分塊數(shù)據(jù)之間的鏈接。通過待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量可以獲知在由若干個分塊數(shù)據(jù)組成的文件中已經(jīng)上傳的數(shù)據(jù)量,其中,該數(shù)據(jù)量為偏移量和I之間的差值。
[0035]在判斷到待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量已經(jīng)達(dá)到了獲取的文件長度時,將通知服務(wù)端文件上傳完畢,此時,服務(wù)端將向移動客戶端下發(fā)完成標(biāo)識,以方便用戶獲知文件已經(jīng)上傳完畢。
[0036]如圖2所示,在另一個實施例中,上述步驟SllO之前還包括如下步驟:
[0037]步驟S210,獲取移動客戶端發(fā)起的上傳請求,根據(jù)上傳請求建立文件的索引信息。
[0038]本實施例中,在用戶需要經(jīng)由移動客戶端上傳文件時,將通過移動客戶端發(fā)起上傳請求建立移動客戶端和服務(wù)端之間的連接,該上傳請求中記錄了文件信息和/或用戶信息,此時,將首先根據(jù)接收到的上傳請求建立文件的索引信息。該索引信息中記錄的內(nèi)容可以根據(jù)上傳請求中的信息確定,例如,索引信息中可以包括了文件信息,也可以包括了文件信息和用戶信息。
[0039]以分塊數(shù)據(jù)這一形式上傳到服務(wù)端的文件將會以索引信息中記錄的內(nèi)容為索引進(jìn)行存儲的,例如,若索引信息中記錄的內(nèi)容為文件名,則上傳的文件與文件名相關(guān)聯(lián),在后續(xù)的查找過程中根據(jù)文件名快速地查找到相應(yīng)文件;若索引信息中記錄的內(nèi)容為文件名和用戶標(biāo)識,則上傳的文件將同時關(guān)聯(lián)文件名和用戶標(biāo)識,在后續(xù)的文件查找過程中可根據(jù)文件名或用戶標(biāo)識快速地查找到相應(yīng)文件。這將使得索引信息和若干個分塊數(shù)據(jù)能夠分離存儲,進(jìn)而通過分離存儲這一存儲海量數(shù)據(jù)的最佳方式實現(xiàn)海量數(shù)據(jù)的有序管理。
[0040]步驟S230,根據(jù)索引信息生成文件的校驗信息和存儲地址,并返回至移動客戶端。
[0041]本實施例中,從索引信息中可以獲取到相應(yīng)的文件信息和/或用戶信息,進(jìn)而根據(jù)獲取到的文件信息和/或用戶信息生成校驗信息。由于對于存儲于服務(wù)端的文件而言,每一文件所關(guān)聯(lián)的索引信息均是唯一的,因此根據(jù)索引信息所得到的校驗信息也將是唯一的,每一文件所對應(yīng)的校驗信息各不相同,因此,可通過校驗信息標(biāo)識文件以及文件中的分塊數(shù)據(jù),也就是說,則一文件中的若干個分塊數(shù)據(jù)所對應(yīng)的校驗信息是一致的。
[0042]上述步驟SllO的具體過程為:封裝分塊數(shù)據(jù)和校驗信息,并通過移動客戶端按照存儲地址上傳封裝的分塊數(shù)據(jù)和校驗信息。
[0043]本實施例中,在服務(wù)端根據(jù)上傳請求向移動終端下發(fā)了校驗信息和存儲地址之后,移動終端將對分塊數(shù)據(jù)和校驗信息進(jìn)行封裝,并按照下發(fā)的存儲地址進(jìn)行上傳。
[0044]如圖3所示,在另一個實施例中,上述步驟SllO之后還包括如下步驟:
[0045]步驟S310,根據(jù)接收到的校驗信息進(jìn)行驗證,判斷接收到的分塊數(shù)據(jù)是否屬于與索引信息所對應(yīng)的文件,若是,則進(jìn)入步驟S330,若否,則進(jìn)入步驟S350。
[0046]本實施例中,由于校驗信息唯一地標(biāo)識了文件中的分塊數(shù)據(jù),因此通過校驗信息驗證上傳的若干個分塊數(shù)據(jù)是否為同一文件和/或同一用戶所對應(yīng)的分塊數(shù)據(jù),若是,則說明接收到的分塊數(shù)據(jù)無誤,可進(jìn)行存儲,若否,則說明接收到的分塊數(shù)據(jù)有問題,須重新上傳。
[0047]步驟S330,存儲分塊數(shù)據(jù)。
[0048]步驟S350,清除分塊數(shù)據(jù)。
[0049]如圖4所示,在另一個實施例中,上述步驟SllO之前還包括:
[0050]步驟S410,通過移動客戶端獲取用戶標(biāo)識和文件信息,根據(jù)用戶標(biāo)識和文件信息生成上傳請求,并發(fā)起生成的上傳請求。
[0051]本實施例中,在用戶需要上傳某一文件時,從移動客戶端中獲取當(dāng)前所登錄的用戶標(biāo)識以及待上傳文件的文件信息,該文件信息可以是文件名等信息,進(jìn)而向服務(wù)端發(fā)起包含了用戶標(biāo)識和文件信息的上傳請求。
[0052]步驟S430,從接收的上傳請求中提取用戶標(biāo)識和文件信息。
[0053]步驟S450,在索引信息中查找文件信息是否存在,若是,則進(jìn)入步驟S470,若否,則進(jìn)入步驟SI 10。
[0054]本實施例中,在服務(wù)端中存儲了海量的文件,這些文件可以是通過移動客戶端上傳得到的,也可以是通過其它終端中運(yùn)行的客戶端上傳得到的,并且是以索引信息中記錄的用戶信息或文件信息為索引的。因此,在接收到上傳請求時,將首先根據(jù)上傳請求中的文件信息在服務(wù)端存儲的索引信息所記錄的文件信息中查找是否存在與上傳請求中的文件信息相一致的文件信息,若存在,則不需要進(jìn)行文件的上傳,只需將這一索引信息所關(guān)聯(lián)的文件與上傳請求中的用戶標(biāo)識關(guān)聯(lián)即可,若不存在,則需要以分塊數(shù)據(jù)的方式完成整個文件的上傳。
[0055]步驟S470,獲取索引信息對應(yīng)的文件。
[0056]步驟S490,將用戶標(biāo)識和索引信息對應(yīng)的文件相關(guān)聯(lián)。
[0057]本實施例中,上述步驟S490的具體過程為:根據(jù)上傳請求中提取的用戶標(biāo)識和文件信息建立新的索引信息,進(jìn)而將索引信息和獲取到的文件相關(guān)聯(lián),使得索引信息中的用戶標(biāo)識與文件建立對應(yīng)關(guān)系,此是,用戶不需要上傳文件,大大節(jié)省了系統(tǒng)資源和網(wǎng)絡(luò)資源,無須受到弱網(wǎng)絡(luò)環(huán)境下丟包和連接易斷開的影響。
[0058]下面結(jié)合一個具體的實施例來詳細(xì)闡述上述文件傳輸方法。該實施例中,如圖5所示,用戶在移動終端510中運(yùn)行的移動客戶端發(fā)起文件的上傳請求,控制服務(wù)器530接收到上傳請求之后將在云存儲服務(wù)器550中根據(jù)上傳請求建立文件的索引信息,此時,云存儲服務(wù)器550將根據(jù)索引信息生成文件的校驗信息和存儲地址,并通過控制服務(wù)器530返回給移動客戶端,移動客戶端將分塊數(shù)據(jù)和校驗信息封裝在一起,按照返回的存儲地址上傳封裝的分塊數(shù)據(jù)和校驗信息。
[0059]云存儲服務(wù)器550在接收到移動客戶端上傳的分塊數(shù)據(jù)和校驗信息時,將根據(jù)校驗信息來驗證分塊數(shù)據(jù)的一致性,進(jìn)而在驗證通過時存儲上傳的分塊數(shù)據(jù)。
[0060]在文件中的分塊數(shù)據(jù)上傳完畢之后,云存儲服務(wù)器550將對若干個分塊數(shù)據(jù)進(jìn)行組裝,以還原文件,進(jìn)而實現(xiàn)了文件在云存儲服務(wù)器550中的存儲。
[0061]如圖6所示,在一個文件分享場景中,用戶B通過便攜電腦610將電影Ml經(jīng)由控制服務(wù)器530上傳到云存儲服務(wù)器550進(jìn)行存儲,并生成相應(yīng)的索引信息與上傳的電影Ml相關(guān)聯(lián)。
[0062]用戶A通過移動終端510中運(yùn)行的移動客戶端510發(fā)起電影Ml的上傳請求,此時,控制服務(wù)器530將在云存儲服務(wù)器550存儲的索引信息中查找是否存在文件名為Ml,若是,則獲取這一文件名為Ml的索引信息所關(guān)聯(lián)的文件,即電影M1,并將其與用戶A所對應(yīng)的用戶標(biāo)識相關(guān)聯(lián)。
[0063]如圖7所不,在一個實施例中,一種文件傳輸系統(tǒng),包括移動客戶端10,該移動客戶端10包括上傳模塊110、地址獲取模塊130以及上傳判斷模塊150。
[0064]上傳模塊110,用于上傳分塊數(shù)據(jù)。
[0065]本實施例中,移動客戶端10是運(yùn)行于移動終端中的客戶端。上傳模塊110將劃分的若干個分塊數(shù)據(jù)逐一上傳到服務(wù)端,其中,分塊數(shù)據(jù)是對需上傳的文件按照一定的大小劃分得到的,一系列的分塊數(shù)據(jù)組成了完整的文件,該文件可以是各種多媒體文件或者其它形式的文件。
[0066]地址獲取模塊130,用于獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址。
[0067]本實施例中,在上傳了某一分塊數(shù)據(jù)之后地址獲取模塊130將會在服務(wù)端存儲上傳的分塊數(shù)據(jù),此時,獲取服務(wù)端中下一分塊數(shù)據(jù)所對應(yīng)的存儲地址,并返回給移動客戶端10,以使得地址獲取模塊130獲取到待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址。具體的,存儲地址可以是網(wǎng)絡(luò)地址,即IP地址,也可以是分塊數(shù)據(jù)中開始位置所對應(yīng)的偏移量。
[0068]上傳判斷模塊150,用于根據(jù)分塊數(shù)據(jù)的存儲地址判斷分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則通知上傳模塊110。
[0069]本實施例中,若上傳判斷模塊150判斷到分塊數(shù)據(jù)已經(jīng)上傳完畢時,將不再進(jìn)行分塊數(shù)據(jù)的上傳,若判斷到分塊數(shù)據(jù)還未上傳完畢,則需通知上傳模塊110繼續(xù)逐一上傳余下的分塊數(shù)據(jù),直至分塊數(shù)據(jù)被完全上傳。
[0070]如圖8所示,在一個實施例中,存儲地址為待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量,上述文件傳輸系統(tǒng)還包括文件還原模塊210。
[0071]上述上傳判斷模塊150還用于獲取文件長度,判斷待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量是否達(dá)到獲取的文件長度,若否,則通知上傳模塊110,若是,則通知文件還原模塊。
[0072]文件還原模塊用于組裝上傳的分塊數(shù)據(jù),還原得到對應(yīng)的文件。
[0073]本實施例中,待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量是服務(wù)端下發(fā)的,用于標(biāo)識了待上傳分塊數(shù)據(jù)在服務(wù)端的存儲位置,表征了待上傳分塊數(shù)據(jù)在服務(wù)端的開始位置以及與上一分塊數(shù)據(jù)之間的鏈接。上傳判斷模塊150通過待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量可以獲知在由若干個分塊數(shù)據(jù)組成的文件中已經(jīng)上傳的數(shù)據(jù)量,其中,該數(shù)據(jù)量為偏移量和I之間的差值。
[0074]在上傳判斷模塊150判斷到待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量已經(jīng)達(dá)到了獲取的文件長度時,將通知服務(wù)端文件上傳完畢,此時,服務(wù)端將向移動客戶端10下發(fā)完成標(biāo)識,以方便用戶獲知文件已經(jīng)上傳完畢。
[0075]如圖9所示,在另一個實施例中,上述文件傳輸系統(tǒng)還包括請求處理模塊310以及信息返回模塊330。
[0076]請求處理模塊310,用于獲取移動客戶端10發(fā)起的上傳請求,根據(jù)上傳請求建立文件的索引信息。
[0077]本實施例中,在用戶需要經(jīng)由移動客戶端10上傳文件時,將通過移動客戶端10發(fā)起上傳請求建立移動客戶端10和服務(wù)端之間的連接,該上傳請求中記錄了文件信息和/或用戶信息,此時,請求處理模塊310將首先根據(jù)接收到的上傳請求建立文件的索引信息。該索引信息中記錄的內(nèi)容可以根據(jù)上傳請求中的信息確定,例如,索引信息中可以包括了文件信息,也可以包括了文件信息和用戶信息。
[0078]以分塊數(shù)據(jù)這一形式上傳到服務(wù)端的文件將會以索引信息中記錄的內(nèi)容為索引進(jìn)行存儲的,例如,若索引信息中記錄的內(nèi)容為文件名,則上傳的文件與文件名相關(guān)聯(lián),在后續(xù)的查找過程中根據(jù)文件名快速地查找到相應(yīng)文件;若索引信息中記錄的內(nèi)容為文件名和用戶標(biāo)識,則上傳的文件將同時關(guān)聯(lián)文件名和用戶標(biāo)識,在后續(xù)的文件查找過程中可根據(jù)文件名或用戶標(biāo)識快速地查找到相應(yīng)文件。這將使得索引信息和若干個分塊數(shù)據(jù)能夠分離存儲,進(jìn)而通過分離存儲這一存儲海量數(shù)據(jù)的最佳方式實現(xiàn)海量數(shù)據(jù)的有序管理。
[0079]信息返回模塊330,用于根據(jù)索引信息生成文件的校驗信息和存儲地址,并返回至移動客戶端10。
[0080]本實施例中,信息返回模塊330從索引信息中可以獲取到相應(yīng)的文件信息和/或用戶信息,進(jìn)而根據(jù)獲取到的文件信息和/或用戶信息生成校驗信息。由于對于存儲于服務(wù)端的文件而言,每一文件所關(guān)聯(lián)的索引信息均是唯一的,因此根據(jù)索引信息所得到的校驗信息也將是唯一的,每一文件所對應(yīng)的校驗信息各不相同,因此,可通過校驗信息標(biāo)識文件以及文件中的分塊數(shù)據(jù),也就是說,則一文件中的若干個分塊數(shù)據(jù)所對應(yīng)的校驗信息是
一致的。
[0081]上述上傳模塊110還用于封裝分塊數(shù)據(jù)和校驗信息,并按照存儲地址上傳封裝的分塊數(shù)據(jù)和校驗信息。
[0082]本實施例中,在服務(wù)端根據(jù)上傳請求向移動終端下發(fā)了校驗信息和存儲地址之后,上傳模塊110將對分塊數(shù)據(jù)和校驗信息進(jìn)行封裝,并按照下發(fā)的存儲地址進(jìn)行上傳。
[0083]如圖10所示,在另一個實施例中,上述文件傳輸系統(tǒng)還包括存儲驗證模塊410。該存儲驗證模塊410用于根據(jù)接收到的校驗信息進(jìn)行驗證,判斷接收到的分塊數(shù)據(jù)是否屬于與索引信息所對應(yīng)的文件,若是,則存儲分塊數(shù)據(jù),若否,則清除分塊數(shù)據(jù)。
[0084]本實施例中,由于校驗信息唯一地標(biāo)識了文件中的分塊數(shù)據(jù),因此存儲驗證模塊410通過校驗信息驗證上傳的若干個分塊數(shù)據(jù)是否為同一文件和/或同一用戶所對應(yīng)的分塊數(shù)據(jù),若是,則說明接收到的分塊數(shù)據(jù)無誤,可進(jìn)行存儲,若否,則說明接收到的分塊數(shù)據(jù)有問題,須重新上傳。
[0085]在另一個實施例中,上述移動客戶端10還包括請求發(fā)起模塊。該請求發(fā)起模塊用于獲取用戶標(biāo)識和文件信息,根據(jù)用戶標(biāo)識和文件信息生成上傳請求,并發(fā)起生成的上傳請求。
[0086]如圖11所示,上述文件傳輸系統(tǒng)還包括提取模塊510、查找模塊530以及關(guān)聯(lián)模塊550。
[0087]提取模塊510,用于從接收的上傳請求中提取用戶標(biāo)識和文件信息。
[0088]本實施例中,在用戶需要上傳某一文件時,從移動客戶端10中獲取當(dāng)前所登錄的用戶標(biāo)識以及待上傳文件的文件信息,該文件信息可以是文件名等信息,進(jìn)而向服務(wù)端發(fā)起包含了用戶標(biāo)識和文件信息的上傳請求。
[0089]查找模塊530,用于在索引信息中查找文件信息是否存在,若是,則獲取索引信息所對應(yīng)的文件。
[0090]本實施例中,在服務(wù)端中存儲了海量的文件,這些文件可以是通過移動客戶端10上傳得到的,也可以是通過其它終端中運(yùn)行的客戶端上傳得到的,并且是以索引信息中記錄的用戶信息或文件信息為索引的。因此,查找模塊430在接收到上傳請求時,將首先根據(jù)上傳請求中的文件信息在服務(wù)端存儲的索引信息所記錄的文件信息中查找是否存在與上傳請求中的文件信息相一致的文件信息,若存在,則不需要進(jìn)行文件的上傳,只需將這一索引信息所關(guān)聯(lián)的文件與上傳請求中的用戶標(biāo)識關(guān)聯(lián)即可,若不存在,則需要以分塊數(shù)據(jù)的方式完成整個文件的上傳。
[0091]關(guān)聯(lián)模塊550,用于將用戶標(biāo)識和索引信息對應(yīng)的文件相關(guān)聯(lián)。
[0092]本實施例中,關(guān)聯(lián)模塊550根據(jù)上傳請求中提取的用戶標(biāo)識和文件信息建立新的索引信息,進(jìn)而將索引信息和獲取到的文件相關(guān)聯(lián),使得索引信息中的用戶標(biāo)識與文件建立對應(yīng)關(guān)系,此是,用戶不需要上傳文件,大大節(jié)省了系統(tǒng)資源和網(wǎng)絡(luò)資源,無須受到弱網(wǎng)絡(luò)環(huán)境下丟包和連接易斷開的影響。
[0093]上述文件傳輸系統(tǒng)中,請求處理模塊、信息返回模塊、存儲驗證模塊、提取模塊、查找模塊和關(guān)聯(lián)模塊可設(shè)置于服務(wù)端,即后臺服務(wù)器中。[0094]上述文件傳輸方法和系統(tǒng)中,在移動客戶端中上傳分塊數(shù)據(jù),并按照存儲地址將上傳的分塊數(shù)據(jù)存儲于服務(wù)端中,直至分塊數(shù)據(jù)所在文件上傳完畢,在這一文件傳輸過程中,整個文件是通過分塊數(shù)據(jù)的形式進(jìn)行逐一傳輸?shù)?,因此,在弱網(wǎng)絡(luò)環(huán)境下若發(fā)生文件傳輸中斷時不需要重新進(jìn)行文件的傳輸,只需要再次傳輸相應(yīng)的分塊數(shù)據(jù)即可,提高了弱網(wǎng)絡(luò)環(huán)境下文件傳輸?shù)某晒β省?br>
[0095]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random AccessMemory, RAM)等。
[0096]以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種文件傳輸方法,包括如下步驟: 通過移動客戶端上傳分塊數(shù)據(jù); 獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址; 根據(jù)所述存儲地址判斷所述分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則返回所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟。
2.根據(jù)權(quán)利要求1所述的文件傳輸方法,其特征在于,所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟之前還包括: 獲取所述移動客戶端發(fā)起的上傳請求,根據(jù)所述上傳請求建立文件的索引信息; 根據(jù)所述索引信息生成所述文件的校驗信息和存儲地址,并返回至所述移動客戶端。
3.根據(jù)權(quán)利要求2所述的文件傳輸方法,其特征在于,所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟為: 封裝所述分塊數(shù)據(jù)和校驗信息,并通過所述移動客戶端按照所述存儲地址上傳所述封裝的分塊數(shù)據(jù)和校驗信息。
4.根據(jù)權(quán)利要求3所述的文件傳輸方法,其特征在于,所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟之后還包括: 根據(jù)所述接收到的校驗信息進(jìn)行驗證,判斷所述接收到的分塊數(shù)據(jù)是否屬于索引信息所對應(yīng)的文件,若是,則存儲所述分塊數(shù)據(jù),若否,則清除所述分塊數(shù)據(jù)。`
5.根據(jù)權(quán)利要求1所述的文件傳輸方法,其特征在于,所述存儲地址為待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量,所述根據(jù)所述存儲地址判斷所述分塊數(shù)據(jù)所在文件是否上傳完畢的具體過程為: 獲取文件長度,判斷所述待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量是否達(dá)到所述獲取的文件長度,若否,則返回所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟,若是,則組裝所述上傳的分塊數(shù)據(jù),還原得到對應(yīng)的文件。
6.根據(jù)權(quán)利要求2所述的文件傳輸方法,其特征在于,所述通過移動客戶端上傳分塊數(shù)據(jù)的步驟之前還包括: 通過所述移動客戶端獲取用戶標(biāo)識和文件信息,根據(jù)所述用戶標(biāo)識和文件信息生成上傳請求,并發(fā)起所述生成的上傳請求; 從所述接收的上傳請求中提取用戶標(biāo)識和文件信息; 在所述索引信息中查找所述文件信息是否存在,若是,則獲取所述索引信息所對應(yīng)的文件; 將所述用戶標(biāo)識和所述索引信息對應(yīng)的文件相關(guān)聯(lián)。
7.一種文件傳輸系統(tǒng),其特征在于,包括移動客戶端,所述移動客戶端包括: 上傳模塊,用于上傳分塊數(shù)據(jù); 地址獲取模塊,用于獲取待上傳的分塊數(shù)據(jù)所對應(yīng)的存儲地址; 上傳判斷模塊,用于根據(jù)所述分塊數(shù)據(jù)的存儲地址判斷所述分塊數(shù)據(jù)所在文件是否上傳完畢,若否,則通知所述上傳模塊。
8.根據(jù)權(quán)利要求7所述的文件傳輸系統(tǒng),其特征在于,所述系統(tǒng)還包括: 請求處理模塊,用于獲取所述移動客戶端發(fā)起的上傳請求,根據(jù)所述上傳請求建立文件的索引信息; 信息返回模塊,用于根據(jù)所述索引信息生成所述文件的校驗信息和存儲地址,并返回至所述移動客戶端。
9.根據(jù)權(quán)利要求8所述的文件傳輸系統(tǒng),其特征在于,所述上傳模塊還用于封裝所述分塊數(shù)據(jù)和校驗信息,并按照所述存儲地址上傳所述封裝的分塊數(shù)據(jù)和校驗信息。
10.根據(jù)權(quán)利要求9所述的文件傳輸系統(tǒng),其特征在于,所述系統(tǒng)?還包括: 存儲驗證模塊,用于根據(jù)所 述接收到的校驗信息進(jìn)行驗證,判斷所述接收到的分塊數(shù)據(jù)是否屬于與索引信息所對應(yīng)的文件,若是,則存儲所述分塊數(shù)據(jù),若否,則清除所述分塊數(shù)據(jù)。
11.根據(jù)權(quán)利要求7所述的文件傳輸系統(tǒng),其特征在于,所述存儲地址為待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量,所述系統(tǒng)還包括文件還原模塊; 所述上傳判斷模塊還用于獲取文件長度,判斷所述待上傳分塊數(shù)據(jù)所對應(yīng)的偏移量是否達(dá)到所述獲取的文件長度,若否,則通知上傳模塊,若是,則通知文件還原模塊; 所述文件還原模塊還用于組裝所述上傳的分塊數(shù)據(jù),還原得到對應(yīng)的文件。
12.根據(jù)權(quán)利要求8所述的文件傳輸系統(tǒng),其特征在于,所述移動客戶端還包括: 請求發(fā)起模塊,用于獲取用戶標(biāo)識和文件信息,根據(jù)所述用戶標(biāo)識和文件信息生成上傳請求,并發(fā)起所述生成的上傳請求; 所述系統(tǒng)還包括: 提取模塊,用于從接收的上傳請求中提取用戶標(biāo)識和文件信息; 查找模塊,用于在所述索引信息中查找所述文件信息是否存在,若是,則獲取所述索引信息所對應(yīng)的文件; 關(guān)聯(lián)模塊,用于將所述用戶標(biāo)識和所述索引信息對應(yīng)的文件相關(guān)聯(lián)。
【文檔編號】H04L29/08GK103685343SQ201210321800
【公開日】2014年3月26日 申請日期:2012年9月3日 優(yōu)先權(quán)日:2012年9月3日
【發(fā)明者】龍海建, 張凱, 范世青 申請人:騰訊科技(深圳)有限公司