国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于多客戶端協(xié)同文件上傳的設(shè)備和方法

      文檔序號:7803976閱讀:431來源:國知局
      用于多客戶端協(xié)同文件上傳的設(shè)備和方法
      【專利摘要】提供了一種用于多客戶端協(xié)同文件上傳的設(shè)備和方法。所述設(shè)備包括:分片上傳配置模塊,用于在接收到客戶端的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端;文件信息獲取模塊,用于從客戶端獲取包括客戶端期望分片上傳的文件的文件列表,并存儲所述文件列表中所包括的文件的文件信息;文件分片獲取模塊,用于基于文件信息獲取模塊存儲的與客戶端相應(yīng)的文件的文件信息,向客戶端指定需要客戶端上傳的文件分片并從客戶端接收指定的文件分片。
      【專利說明】用于多客戶端協(xié)同文件上傳的設(shè)備和方法
      【技術(shù)領(lǐng)域】
      [0001]本申請涉及一種文件上傳設(shè)備和方法,更具體地講,涉及一種用于多客戶端協(xié)同文件上傳的設(shè)備和方法。
      【背景技術(shù)】
      [0002]目前,在服務(wù)器(諸如用于查殺病毒的服務(wù)器)從客戶端收集文件時,對于單個文件,服務(wù)器通常只能從單個客戶端獲取,在這種情況下,如果文件過大,則需要花費(fèi)非常多的時間來上傳,并且還會占用長時間占用較大的帶寬,這會影響客戶端用戶的網(wǎng)絡(luò)體驗(yàn)。此夕卜,由于上傳時間過長,那么在上傳過程中如果網(wǎng)絡(luò)出現(xiàn)故障或者網(wǎng)絡(luò)狀況不佳,則可能難以完成文件上傳。因此,需要一種更有效的文件上傳方法。

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

      [0003]根據(jù)本發(fā)明的一方面,提供了一種用于多客戶端協(xié)同文件上傳的設(shè)備,所述設(shè)備包括:分片上傳配置模塊,用于在接收到客戶端的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端;文件信息獲取模塊,用于從客戶端獲取包括客戶端期望分片上傳的文件的文件列表,并存儲所述文件列表中所包括的文件的文件信息;文件分片獲取模塊,用于基于文件信息獲取模塊存儲的與客戶端相應(yīng)的文件的文件信息,向客戶端指定需要客戶端上傳的文件分片并從客戶端接收指定的文件分片。
      [0004]所述分片上傳配置模塊可包括:會話連接確定模塊,用于在接收到客戶端的文件上傳請求時,確定是否允許客戶端與所述設(shè)備進(jìn)行會話連接以上傳文件,并且如果允許客戶端與所述設(shè)備進(jìn)行會話連接,則將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端;注冊模塊,用于注冊允許會話連接的客戶端的標(biāo)識符、注冊時間、文件列表有效時間以及分配的通道密碼。
      [0005]會話連接確定模塊可確定當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量是否已達(dá)到可與所述設(shè)備同時會話的客戶端的最大數(shù)量。如果當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量未達(dá)到所述最大數(shù)量,則會話連接確定模塊可確定允許請求上傳文件的客戶端與所述設(shè)備進(jìn)行會話連接以上傳文件,并且將允許連接消息發(fā)送到請求上傳文件的客戶端。所述允許連接消息包括與文件分片上傳配置相關(guān)的信息。如果當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量已達(dá)到所述最大數(shù)量,則會話連接確定模塊可確定不允許請求上傳文件的客戶端與所述設(shè)備進(jìn)行會話連接,并且向請求上傳文件的客戶端發(fā)送等待消息。所述等待消息包括關(guān)于客戶端下一次發(fā)送文件上傳請求所需要等待的時間的信息。
      [0006]與文件分片上傳配置相關(guān)的信息可包括:分配給客戶端的通道密碼、分片大小、允許上傳的單個文件的最大大小、允許上傳的文件列表中文件的最大個數(shù)、以及文件列表有效時間中的至少一個。
      [0007]所述文件信息獲取模塊可包括:文件列表接收模塊,用于接收客戶端的文件列表,并從客戶端獲取客戶端的標(biāo)識符和用于加密解密的令牌;驗(yàn)證模塊,用于基于獲取的標(biāo)識符和令牌對客戶端進(jìn)行驗(yàn)證;文件信息存儲模塊,用于存儲包括在客戶端的文件列表中的文件的文件信息。如果驗(yàn)證模塊成功驗(yàn)證了客戶端,則可將包括在客戶端的文件列表中的文件的文件信息保存在文件信息存儲模塊中;如果驗(yàn)證模塊未能成功驗(yàn)證客戶端,則可刪除所接收的客戶端的文件列表。
      [0008]文件分片獲取模塊可包括:文件分片確定模塊,用于響應(yīng)于客戶端的文件分片上傳請求,基于文件信息獲取模塊中存儲的文件信息確定需要客戶端上傳的文件分片,并將與確定的文件分片相應(yīng)的片編號和確定的文件分片所屬文件的文件標(biāo)識一起發(fā)送到客戶端;文件分片存儲模塊,用于接收并存儲從客戶端發(fā)送的文件分片。
      [0009]文件信息獲取模塊還可基于文件分片獲取模塊的文件分片的接收和存儲狀況,更新存儲的每個文件的文件信息中的文件的狀態(tài)和文件分片的狀態(tài)。文件分片確定模塊可基于文件信息獲取模塊中存儲的文件的狀態(tài)和文件分片的狀態(tài)來確定需要客戶端上傳的分片。
      [0010]文件分片獲取模塊還可包括:計(jì)數(shù)模塊,用于在文件分片確定模塊從客戶端接收到文件分片上傳請求之后確定所述設(shè)備當(dāng)前同時接收的文件的數(shù)量是否超過預(yù)設(shè)閾值。如果計(jì)數(shù)模塊確定同時接收的文件數(shù)量達(dá)到預(yù)設(shè)閾值,并且文件分片確定模塊確定客戶端沒有正在上傳的文件,則文件分片確定模塊可向客戶端發(fā)送結(jié)束消息。如果計(jì)數(shù)模塊確定同時接收的文件數(shù)量未達(dá)到預(yù)設(shè)閾值,并且文件分片確定模塊確定客戶端當(dāng)前沒有上傳文件,則文件分片確定模塊可基于文件信息存儲模塊中存儲的文件信息,從屬于客戶端的文件之中選擇需要客戶端上傳的文件,從選擇文件的文件分片之中選擇需要客戶端上傳的文件分片的片編號,并將與選擇的文件分片相應(yīng)的片編號以及與選擇的文件對應(yīng)的文件標(biāo)識發(fā)送到客戶端。
      [0011]根據(jù)本發(fā)明的另一方面,提供了一種用于用于多客戶端協(xié)同文件上傳的的客戶端,所述客戶端包括:請求模塊,用于向接收文件的設(shè)備發(fā)送文件上傳請求并從所述設(shè)備接收響應(yīng)消息;文件分片配置模塊,用于在接收到的響應(yīng)消息是包括與文件分片上傳配置相關(guān)的信息的允許連接消息的情況下,基于與文件分片上傳配置相關(guān)的信息,對期望上傳的文件進(jìn)行分片,并將包括與期望上傳的文件及期望上傳的文件的文件分片相關(guān)的信息的文件列表發(fā)送到所述設(shè)備;文件分片上傳模塊,用于向所述設(shè)備發(fā)送文件分片上傳請求,從所述設(shè)備接收關(guān)于指定上傳的文件分片的信息,并基于接收的關(guān)于指定上傳的文件分片的信息上傳指定的文件分片。
      [0012]根據(jù)本發(fā)明的另一方面,提供了一種于多客戶端協(xié)同文件分片上傳的系統(tǒng),所述系統(tǒng)包括:客戶端,用于以分片的形式上傳文件;服務(wù)器設(shè)備,用于接收客戶端分片上傳的文件??蛻舳丝上蚍?wù)器設(shè)備發(fā)送文件上傳請求,服務(wù)器在接收到客戶端的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端,客戶端基于從服務(wù)器接收的與文件分片上傳配置相關(guān)的信息,對期望上傳的文件進(jìn)行分片,并將與期望分片上傳的文件及期望上傳的文件的文件分片相關(guān)的文件信息發(fā)送到服務(wù)器設(shè)備,服務(wù)器設(shè)備基于存儲在服務(wù)器設(shè)備中的與客戶端相應(yīng)的文件的文件信息指定需要客戶端上傳的文件分片,并從客戶端接收指定的文件分片。
      [0013]根據(jù)本發(fā)明的另一方面,提供了 一種用于多客戶端協(xié)同文件上傳的方法,所述方法包括:在接收到客戶端的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端;從客戶端獲取包括客戶端將要分片上傳的文件的文件列表,并存儲所述文件列表中包括的文件的文件信息;基于存儲的與客戶端相應(yīng)的文件的文件信息,向客戶端指定需要客戶端上傳的文件分片并從客戶端接收指定的文件分片。
      [0014]發(fā)送與文件分片上傳配置相關(guān)的信息的步驟可包括:在接收到客戶端的文件上傳請求時,確定是否允許客戶端與所述設(shè)備進(jìn)行會話連接以上傳文件,如果允許客戶端與所述設(shè)備進(jìn)行會話連接,則可將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端;注冊允許會話連接的客戶端的標(biāo)識符、注冊時間、文件列表有效時間以及分配的通道密碼。
      [0015]確定是否允許客戶端與所述設(shè)備進(jìn)行會話連接以上傳文件的步驟可包括:確定當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量是否已達(dá)到可與所述設(shè)備同時會話的客戶端的最大數(shù)量。如果當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量未達(dá)到所述最大數(shù)量,則可確定允許請求上傳文件的客戶端與所述設(shè)備進(jìn)行會話以上傳文件,并且將可允許連接消息發(fā)送到請求上傳文件的客戶端,其中,所述允許連接消息包括與文件分片上傳配置相關(guān)的信息。如果當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量已達(dá)到所述最大數(shù)量,則可確定不允許請求上傳文件的客戶端與所述設(shè)備進(jìn)行會話連接,并且可向請求上傳文件的客戶端發(fā)送等待消息,其中,所述等待消息包括關(guān)于客戶端下一次發(fā)送文件上傳請求所需要等待的時間的信肩、O
      [0016]與文件分片上傳配置相關(guān)的信息可包括:分配給客戶端的通道密碼、分片大小、允許上傳的單個文件的最大大小、允許上傳的文件列表中文件的最大個數(shù)、以及文件列表有效時間中的至少一個。
      [0017]所述文件信息獲取步驟可包括:接收客戶端的文件列表,并從客戶端獲取客戶端的標(biāo)識符和用于加密解密的令牌;基于獲取的標(biāo)識符和令牌對客戶端進(jìn)行驗(yàn)證。如果成功驗(yàn)證了客戶端,則保存包括在客戶端的文件列表中的文件的文件信息,如果未能成功驗(yàn)證客戶端,則可刪除所接收的客戶端的文件列表。
      [0018]文件分片獲取步驟可包括:響應(yīng)于客戶端的文件分片上傳請求,基于存儲的文件信息確定需要客戶端上傳的文件分片,并將與確定的文件分片相應(yīng)的片編號和確定的文件分片所屬文件的文件標(biāo)識一起發(fā)送到客戶端;接收并存儲從客戶端發(fā)送的文件分片。
      [0019]文件信息獲取步驟可還基于在文件分片獲取步驟中的文件分片的接收和存儲狀況,更新存儲的每個文件的文件信息中的文件的狀態(tài)和文件分片的狀態(tài)。確定文件分片的步驟可基于存儲的文件的狀態(tài)和文件分片的狀態(tài)來確定需要客戶端上傳的分片。
      [0020]文件分片獲取步驟還可包括:在從客戶端接收到文件分片上傳請求之后確定所述設(shè)備當(dāng)前同時接收的文件的數(shù)量是否超過預(yù)設(shè)閾值。如果確定同時接收的文件數(shù)量達(dá)到預(yù)設(shè)閾值,并且確定客戶端沒有正在上傳的文件,則可向客戶端發(fā)送結(jié)束消息;如果確定同時接收的文件數(shù)量未達(dá)到預(yù)設(shè)閾值,并且確定客戶端當(dāng)前沒有上傳文件,則可基于文件信息存儲模塊中存儲的文件信息,從屬于客戶端的文件之中選擇需要客戶端上傳的文件,從選擇文件的文件分片之中選擇需要客戶端上傳的文件分片的片編號,并將與選擇的文件分片相應(yīng)的片編號以及與選擇的文件對應(yīng)的文件標(biāo)識發(fā)送到客戶端。
      [0021]根據(jù)本發(fā)明的另一方面,提供了一種在客戶端實(shí)現(xiàn)的用于多客戶端協(xié)同文件上傳的方法,所述方法包括:向接收文件的設(shè)備發(fā)送文件上傳請求并從所述設(shè)備接收響應(yīng)消息;在接收到的響應(yīng)消息是包括與文件分片上傳配置相關(guān)的信息的允許連接消息的情況下,基于與文件分片上傳配置相關(guān)的信息,對期望上傳的文件進(jìn)行分片,并將包括與期望上傳的文件及期望上傳的文件的文件分片相關(guān)的信息的文件列表發(fā)送到所述設(shè)備;向所述設(shè)備發(fā)送文件分片上傳請求,從所述設(shè)備接收關(guān)于指定上傳的文件分片的信息,并基于接收的關(guān)于指定上傳的文件分片的信息上傳指定的文件分片。
      [0022]根據(jù)本發(fā)明的另一方面,提供了一種用于多客戶端協(xié)同文件上傳的方法,所述方法包括:由客戶端向服務(wù)器設(shè)備發(fā)送文件上傳請求;當(dāng)服務(wù)器設(shè)備在接收到客戶端的文件上傳請求時,由服務(wù)器設(shè)備將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端;由客戶端基于從服務(wù)器設(shè)備接收的與文件分片上傳配置相關(guān)的信息,對期望上傳的文件進(jìn)行分片,并將與期望分片上傳的文件及期望上傳的文件的文件分片相關(guān)的文件信息發(fā)送到服務(wù)器設(shè)備;由服務(wù)器設(shè)備基于存儲在服務(wù)器設(shè)備中的與客戶端相應(yīng)的文件的文件信息,向客戶端指定需要客戶端上傳的文件分片并從客戶端接收指定的文件分片。
      [0023]有益效果
      [0024]根據(jù)本發(fā)明的用于多客戶端協(xié)同文件上傳的設(shè)備和方法能夠利用多個客戶端同時在線協(xié)同上傳相同的文件,從而加速文件接收并節(jié)省所需要使用的帶寬。此外,由于采用了文件分片上傳,因此即使在文件當(dāng)前未能完全上傳而斷開了上傳通道的情況下,在之后再次建立起上傳通道時,可繼續(xù)上傳之前未能上傳的文件部分。
      【專利附圖】

      【附圖說明】
      [0025]通過下面結(jié)合示例性地示出一例的附圖進(jìn)行的描述,本發(fā)明的上述和其他目的和特點(diǎn)將會變得更加清楚,其中:
      [0026]圖1是示出根據(jù)本發(fā)明的實(shí)施例的用于多客戶端協(xié)同文件上傳的設(shè)備的框圖;
      [0027]圖2是示出根據(jù)本發(fā)明的實(shí)施例的用于多客戶端協(xié)同文件上傳的設(shè)備的配置的示例;
      [0028]圖3是示出根據(jù)本發(fā)明的示例性實(shí)施例的客戶端的框圖;
      [0029]圖4是示出根據(jù)本發(fā)明的示例性實(shí)施例的在用于多客戶端協(xié)同文件上傳的設(shè)備的操作的流程圖;
      [0030]圖5是示出根據(jù)本發(fā)明的示例性實(shí)施例客戶端的操作的流程圖;
      [0031]圖6是示出根據(jù)本發(fā)明的實(shí)施例的用于多客戶端協(xié)同文件上傳的設(shè)備和客戶端之間的交互的示例性示意圖。
      [0032]在附圖中,相同的標(biāo)號表示相同或相似的元件。
      【具體實(shí)施方式】
      [0033]提供以下參照附圖進(jìn)行的描述以幫助全面理解由權(quán)利要求及其等同物限定的本發(fā)明的示例性實(shí)施例。所述描述包括各種特定細(xì)節(jié)以幫助理解,但這些細(xì)節(jié)被認(rèn)為僅是示例性的。因此,本領(lǐng)域的普通技術(shù)人員將認(rèn)識到:在不脫離本發(fā)明的范圍和精神的情況下,可對這里描述的實(shí)施例進(jìn)行各種改變和修改。此外,為了清楚和簡明,可省略已知功能和構(gòu)造的描述。
      [0034]圖1是示出根據(jù)本發(fā)明的實(shí)施例的用于多客戶端協(xié)同文件上傳的設(shè)備100的框圖。[0035]參照圖1,設(shè)備100包括:分片上傳配置模塊110、文件信息獲取模塊120和文件分片獲取模塊130。所述設(shè)備100可被設(shè)置在用于多客戶端協(xié)同文件上傳的服務(wù)器中、或者本身可以是用于多客戶端協(xié)同文件上傳的服務(wù)器,或者是其他需要收集文件的設(shè)備。此外,本發(fā)明的用于多客戶端協(xié)同文件上傳的設(shè)備100和客戶端200可使用HTTP協(xié)議。然而,應(yīng)該理解,本發(fā)明不限于此,本發(fā)明還可適用于其他基于TCP協(xié)議的上層應(yīng)用協(xié)議。
      [0036]在本發(fā)明的實(shí)施例中,分片上傳配置模塊110可在接收到客戶端200的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端200。文件信息獲取模塊120可從客戶端200獲取包括客戶端200期望分片上傳的文件的文件列表,并存儲所述文件列表中所包括的文件的文件信息。文件分片獲取模塊130可基于文件信息獲取模塊120中存儲的與客戶端200相應(yīng)的文件的文件信息,向客戶端指定需要客戶端200上傳的文件分片并從客戶端200接收指定的文件分片。
      [0037]以下將參照圖2詳細(xì)描述根據(jù)本發(fā)明的示例性實(shí)施例的用于多客戶端協(xié)同文件上傳的設(shè)備100的配置。
      [0038]圖2是示出根據(jù)本發(fā)明的實(shí)施例的用于多客戶端協(xié)同文件上傳的設(shè)備100的配置的示例。
      [0039]如圖2中所示,根據(jù)本發(fā)明的示例性實(shí)施例的分片上傳配置模塊110可包括會話連接確定模塊111和注冊模塊112。
      [0040]在當(dāng)前示例性實(shí)施例中,會話連接確定模塊111可在接收到客戶端200的文件上傳請求時,確定是否允許客戶端200與設(shè)備100進(jìn)行會話連接以上傳文件。如果允許客戶端200與設(shè)備100進(jìn)行會話連接,則會話連接確定模塊111將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端200。此外,如果不允許客戶端200與設(shè)備100進(jìn)行會話連接,則會話連接確定模塊111可將其他響應(yīng)消息(例如,結(jié)束消息、等待消息等)發(fā)送到客戶端200。
      [0041]僅作為示例,考慮到服務(wù)器的能力,可與設(shè)備100同時會話的客戶端的總數(shù)應(yīng)該控制在合適的數(shù)量,以在保證文件上傳效率的同時不對設(shè)備100造成過重的負(fù)擔(dān)。因此,在本發(fā)明的實(shí)施例中,會話連接確定模塊111可確定當(dāng)前與設(shè)備100同時會話的客戶端的數(shù)量是否已達(dá)到可與設(shè)備100同時會話的客戶端的最大數(shù)量(可由用戶設(shè)置或可基于設(shè)備100的通信能力確定)。
      [0042]如果當(dāng)前與設(shè)備100同時會話的客戶端的數(shù)量已達(dá)到所述最大數(shù)量,則會話連接確定模塊111可確定不允許當(dāng)前請求上傳文件的客戶端200與設(shè)備100進(jìn)行會話連接,并且可向請求上傳文件的客戶端200發(fā)送等待消息。在所述等待消息中可包括關(guān)于客戶端200下一次發(fā)送文件上傳請求所需要等待的時間的信息。在這種情況下,接收到等待消息的客戶端200可在等待所述時間之后重復(fù)以上請求上傳文件的處理。
      [0043]此外,如果當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量未達(dá)到所述最大數(shù)量,則會話連接確定模塊111可確定允許請求上傳文件的客戶端200連接到所述設(shè)備100以上傳文件,并且可將允許連接消息發(fā)送到請求上傳文件的客戶端200。所述允許連接消息可包括與文件分片上傳的配置相關(guān)的信息,例如,分配給客戶端200的通道密碼(即,可以是由設(shè)備100隨機(jī)生成的一個字符串)、分片大小、允許上傳的單個文件的最大大小、允許上傳的文件列表中文件的最大個數(shù)、以及文件列表有效時間等??蛻舳?00的文件列表有效時間是指從客戶端200發(fā)送文件列表時起所述文件列表的有效時間。當(dāng)客戶端200向設(shè)備100發(fā)送文件列表之后經(jīng)過了文件列表有效時間之后,發(fā)送的文件列表失效,在這種情況下,客戶端200可再次發(fā)送新的文件列表。
      [0044]客戶端200可基于所接收的與文件分片上傳配置相關(guān)的信息配置文件(例如,將單個文件劃分為多個指定大小的文件分片),發(fā)送文件列表(包括關(guān)于客戶端200期望上傳的文件及其文件分片的信息,例如,想要上傳的文件的文件名或文件標(biāo)識(例如,文件hash)、文件分片的大小、所述文件的文件分片的數(shù)量及片編號范圍等等),并隨后基于設(shè)備100的指示上傳文件分片。
      [0045]注冊模塊112可注冊(例如,存儲)允許會話連接的客戶端的標(biāo)識符(例如,GUID)、注冊時間(即,注冊模塊112為客戶端200分配通道密碼時的客戶端ID開始有效的時間,并可用于在后續(xù)操作中判定客戶端200是否超過有效期)、分配的通道密碼以及文件列表有效時間。在本發(fā)明的示例性實(shí)施例中,客戶端200發(fā)送的文件上傳請求可包括客戶端200的標(biāo)識符,因此,注冊模塊112可從所述文件上傳請求提取客戶端200的標(biāo)識符。
      [0046]在圖2中,根據(jù)當(dāng)前示例性實(shí)施例的文件信息獲取模塊120可包括文件列表接收模塊121、驗(yàn)證模塊122和文件信息存儲模塊123。
      [0047]具體地講,文件列表接收模塊121可接收客戶端200的文件列表,并還可從客戶端200獲取客戶端的標(biāo)識符和用于加密解密的令牌(token)。在本發(fā)明的示例性實(shí)施例中,客戶端200可基于從設(shè)備100接收到的通道密碼來生成所述令牌,并且客戶端200可將所述令牌、自己的標(biāo)識符(GUID)以及文件列表一起發(fā)送給設(shè)備100的文件列表接收模塊121。
      [0048]驗(yàn)證模塊122可基于文件列表接收模塊121獲取的標(biāo)識符和令牌對客戶端進(jìn)行驗(yàn)證。例如,驗(yàn)證模塊122可基于獲取的客戶端200的標(biāo)識符從注冊模塊112提取分配給所述客戶端200的通道密碼,并基于提取的通道密碼對接收的令牌進(jìn)行解密,以對客戶端進(jìn)行驗(yàn)證。如果驗(yàn)證模塊122成功驗(yàn)證了客戶端(例如,如果對令牌解碼成功),則可將包括在客戶端200的文件列表中的每個文件的文件信息(包括例如,每個文件的文件名或文件標(biāo)識、文件MD5、文件大小、自定義文件類型(可用于設(shè)備100按類型調(diào)度待收集的文件)、自定義文件來源(可用于設(shè)備100按照來源調(diào)度待收集的文件)、文件分片的大小、文件的文件分片的數(shù)量及片編號范圍等等)與客戶端200的標(biāo)識符關(guān)聯(lián)地保存在文件信息存儲模塊123中,從而可便于基于客戶端的標(biāo)識符查找與該客戶端相應(yīng)的文件。如果未能成功驗(yàn)證客戶端(例如,如果對令牌解碼失敗),則刪除所接收的客戶端200的文件列表。在完成驗(yàn)證之后,驗(yàn)證模塊160還可將驗(yàn)證結(jié)果(驗(yàn)證成功或驗(yàn)證失敗)發(fā)送給客戶端200。
      [0049]應(yīng)理解,在本發(fā)明的實(shí)施例中,相同的文件應(yīng)具有相同的文件標(biāo)識以及文件分片。此外,盡管上述示例中僅以一個客戶端200為例說明了設(shè)備100存儲客戶端200的文件的文件信息的處理,但應(yīng)該理解,設(shè)備100可存儲多個客戶端的文件的文件信息,在這種情況下,對于文件信息存儲模塊123中存儲的文件的文件信息,同一個文件的文件信息可與多個客戶端相關(guān)聯(lián),同一個客戶端可與多個文件的文件信息相關(guān)聯(lián)。例如,如果客戶端200上傳的文件列表中包括的文件Fl的文件信息已存儲在文件信息存儲模塊123中,則文件信息存儲模塊123可將該文件Fl的文件信息標(biāo)記為還與客戶端200的標(biāo)識符關(guān)聯(lián),而無需再次存儲文件Fl的文件信息;如果客戶端200上傳的文件列表中包括的文件F2的文件信息未存儲在文件信息存儲模塊123中,則可將文件F的文件信息與客戶端200的標(biāo)識符關(guān)聯(lián)地存儲在文件信息存儲模塊123中。[0050]優(yōu)選地,通常分配給允許上傳文件的客戶端的通道密碼是有使用時限的,因此,在驗(yàn)證客戶端200之前,驗(yàn)證模塊170還可首先驗(yàn)證分配給該客戶端200的通道密碼是否過期,并將驗(yàn)證的結(jié)果發(fā)送給所述客戶端200。如果驗(yàn)證模塊170確定通道密碼過期,則可在注冊模塊112中重新注冊客戶端200的信息;如果通道密碼未過期,則使用所述通道密碼繼續(xù)進(jìn)行之后的驗(yàn)證(例如,對令牌的解密)。
      [0051]根據(jù)本發(fā)明的示例性實(shí)施例的文件分片獲取模塊130可包括:文件分片確定模塊131和文件分片存儲模塊132。
      [0052]在當(dāng)前實(shí)施例中,文件分片確定模塊131可響應(yīng)于客戶端的文件分片上傳請求,基于文件信息獲取模塊中存儲的文件信息確定需要客戶端上傳的文件分片,并將與確定的文件分片相應(yīng)的片編號和確定的文件分片所屬文件的文件標(biāo)識(例如,文件hash) —起發(fā)送到客戶端200,使得客戶端200可基于接收的文件標(biāo)識和片編號上傳相應(yīng)的文件分片。文件分片存儲模塊132可接收并存儲從客戶端發(fā)送的文件分片。
      [0053]具體地講,客戶端200的文件分片上傳請求可攜帶客戶端200的標(biāo)識符,從而文件分片確定模塊131可基于所述標(biāo)識符從文件信息存儲模塊123中存儲的文件信息之中搜索出屬于客戶端200的文件的文件信息,并基于搜索出的文件信息確定需要客戶端200上傳的文件分片。
      [0054]更具體地,在本發(fā)明的當(dāng)前示例性實(shí)施例中,文件信息存儲模塊123中存儲的文件信息還可包括文件的狀態(tài)(例如,O指示未開始上傳,I指示上傳完成,2指示正在上傳,3指示部分已上傳但目前客戶端未在上傳文件因而所述文件進(jìn)入低優(yōu)先級隊(duì)列)和文件分片的狀態(tài)(例如,O指示未開始上傳,I指示上傳完成,2指示正在上傳)。此外,文件的狀態(tài)還可包括文件多次上傳失敗進(jìn)入監(jiān)禁狀態(tài)等狀態(tài),文件分片的狀態(tài)還可包括文件分片已被調(diào)度、文件分片未被調(diào)度、文件分片調(diào)度多次失敗等狀態(tài)。文件信息存儲模塊123可基于文件分片獲取模塊130的文件分片的接收和存儲情況(例如,文件分片已被調(diào)度、文件分片未被調(diào)度、文件分片被調(diào)度的次數(shù)、文件分片被多次調(diào)度但仍未能上傳、文件分片正被上傳、文件分片已被上傳和存儲等),更新存儲的每個文件的文件信息中的文件的狀態(tài)和該文件的每個文件分片的狀態(tài),從而文件分片確定模塊131可基于文件信息存儲模塊123中存儲的文件的狀態(tài)和文件分片的狀態(tài)來確定需要客戶端上傳的分片。在本發(fā)明的示例性實(shí)施例中,如果某個文件分片被多次調(diào)度但仍不能上傳,則可降低相應(yīng)文件的上傳優(yōu)先級。
      [0055]例如,文件分片確定模塊131可基于文件信息存儲模塊123中存儲的屬于客戶端200的文件的文件信息,從客戶端200的還未上傳的某個文件(文件狀態(tài)為O)中選擇當(dāng)前將上傳的文件分片(文件分片狀態(tài)為O),或在所述客戶端正在上傳文件(文件狀態(tài)為2)的情況下,從正在上傳的文件的尚未上傳的文件分片(文件狀態(tài)為O)中隨機(jī)選擇將要上傳的分片。如果文件分片確定模塊131確定客戶端200當(dāng)前沒有還未上傳完的文件并且也沒有需要上傳的文件(即,屬于客戶端200的所有文件的文件狀態(tài)均為I),則向客戶端200發(fā)送指示該客戶端的所有文件上傳完畢的結(jié)束消息。
      [0056]此外,由于所述設(shè)備100所能同時接收的文件的個數(shù)通常是有限的,因此優(yōu)選地,根據(jù)本發(fā)明的當(dāng)前示例性實(shí)施例的文件分片獲取模塊130還可包括計(jì)數(shù)模塊(未示出)來在文件分片確定模塊131從客戶端接收到文件分片上傳請求之后確定設(shè)備100當(dāng)前同時接收的文件的數(shù)量是否超過預(yù)設(shè)閾值(例如,設(shè)備100所能同時接收的文件的最大個數(shù)或用戶設(shè)置的某個值)。
      [0057]如果計(jì)數(shù)模塊確定同時接收的文件數(shù)量達(dá)到預(yù)設(shè)閾值,并且文件分片確定模塊131確定客戶端200沒有正在上傳的文件,則文件分片確定模塊131向客戶端200發(fā)送指示當(dāng)前文件傳輸連接已滿的結(jié)束消息。
      [0058]如果計(jì)數(shù)模塊確定同時接收的文件的數(shù)量未達(dá)到預(yù)設(shè)閾值,并且文件分片確定模塊131確定客戶端200當(dāng)前沒有正在上傳文件,則文件分片確定模塊131基于文件信息存儲模塊123中存儲的文件信息,從屬于客戶端200的文件之中選擇需要客戶端200上傳的文件,從選擇的文件的文件分片之中選擇需要上傳的文件分片的片編號,并將與選擇的文件分片相應(yīng)的片編號以及與選擇的文件對應(yīng)的文件標(biāo)識發(fā)送到客戶端200。
      [0059]然而,應(yīng)理解,如果文件分片確定模塊131確定客戶端200正在上傳文件,則不管設(shè)備100同時接收的文件數(shù)量是否到預(yù)設(shè)閾值,文件分片確定模塊131都可基于文件信息存儲模塊123中存儲的文件信息,從客戶端200的正在上傳的文件的上傳隊(duì)列確定正在上傳的文件的還未上傳的分片,從還未上傳的分片之中隨機(jī)確定一個分片,并將與確定的分片相應(yīng)的片編號以及與正在上傳的文件對應(yīng)的文件標(biāo)識發(fā)送到客戶端200。
      [0060]以上已參照圖2詳細(xì)描述了根據(jù)本發(fā)明的示例性實(shí)施例的用于多客戶端協(xié)同文件上傳的設(shè)備100。然而,應(yīng)理解,圖2中示出的設(shè)備配置及其操作僅是示例,可根據(jù)需求添加其他模塊或者是減少或修改一些模塊。
      [0061]例如,如果對客戶端200與設(shè)備100進(jìn)行會話連接的會話連接數(shù)量沒有限制,則可會話連接確定模塊111可在接收到客戶端的文件上傳請求時直接將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端200。又例如,在另一實(shí)施例中,文件信息獲取模塊120可不包括驗(yàn)證模塊122,而是總是接收并存儲來自客戶端的文件列表中的文件信息,并定期清理所存儲的文件信息,例如,如果某個文件信息在一段預(yù)定時間期間沒有被更新或使用,則刪除所述文件信息。
      [0062]優(yōu)選地,在圖2中,當(dāng)文件分片存儲模塊132在存儲文件分片之前還可對文件分片進(jìn)行驗(yàn)證。例如,當(dāng)文件分片存儲模塊132接收到的文件分片所屬的客戶端不屬于注冊模塊112中注冊的允許會話連接的客戶端時,則文件分片存儲模塊132可不存儲所述文件分片,并向客戶端發(fā)送指示未要求該客戶端上傳文件的第一文件上傳失敗消息。
      [0063]又例如,當(dāng)文件分片存儲模塊132接收到的文件分片所屬的文件不屬于存儲在文件信息存儲模塊123中的文件時,文件分片存儲模塊132不存儲所述文件分片,并向客戶端發(fā)送指示接收到的文件分片所屬的文件在設(shè)備100上不存在的第二文件上傳失敗消息。
      [0064]又例如,如果文件分片存儲模塊132接收到的文件分片的大小與發(fā)送給客戶端的文件分片上傳的配置中規(guī)定的文件分片大小不一致并且所述文件分片不是最后一個分片(可通過所述文件分片的片編號和文件列表中所述文件分片所屬文件的片編號范圍來確定)時,文件分片存儲模塊132不存儲所述文件分片,并向客戶端發(fā)送指示接收到的文件分片的大小與規(guī)定的分片大小不一致的第三文件上傳失敗消息。
      [0065]圖3是示出根據(jù)本發(fā)明的示例性實(shí)施例的客戶端200的框圖。
      [0066]如圖3所示,所述客戶端包括:請求模塊210、文件分片配置模塊220和文件分片上傳模塊230。
      [0067]請求模塊210可向根據(jù)本發(fā)明的用于多客戶端協(xié)同文件上傳的設(shè)備100發(fā)送文件上傳請求并從所述設(shè)備100接收響應(yīng)消息。
      [0068]在本發(fā)明的實(shí)施例中,如果請求模塊210接收到的響應(yīng)消息是等待消息,則請求模塊210基于等待消息中所包括關(guān)于客戶端下一次發(fā)送文件上傳請求所需要等待的時間的信息,在經(jīng)過所述時間之后重新發(fā)送文件上傳請求。
      [0069]如果請求模塊310接收到的響應(yīng)消息是允許連接消息,則文件分片配置模塊220可基于允許連接消息中與文件分片上傳配置相關(guān)的信息,對想要上傳的文件進(jìn)行分片,并將包括關(guān)于客戶端想要上傳的文件及其文件分片的信息(例如,想要上傳的文件的文件名或文件標(biāo)識,所述文件的文件分片的數(shù)量及片編號范圍等等)的文件列表發(fā)送到設(shè)備100。
      [0070]然后,文件分片上傳模塊230可向設(shè)備100發(fā)送文件分片上傳請求,從設(shè)備100接收關(guān)于指定上傳的文件分片的信息(包括與指定上傳的文件分片相應(yīng)的片編號和指定上傳的文件分片所屬文件的文件標(biāo)識等信息),并基于接收的關(guān)于指定上傳的文件分片的信息上傳指定的文件分片。上傳的文件分片的大小等配置應(yīng)與客戶端200從設(shè)備100接收到的文件分片上傳配置一致。
      [0071]盡管在前面的實(shí)施例中描述了客戶端200上傳文件分片的處理,但應(yīng)該理解,如果客戶端200與其他客戶端都擁有某個文件A,則設(shè)備100在接收客戶端200上傳的文件A的分片時,還可指定具有文件A的其他客戶端上傳與客戶端200上傳的分片不同的文件A的分片。這樣,對于相同的文件,設(shè)備100可指定具有該文件的多個客戶端發(fā)送該文件的不同文件分片,從而實(shí)現(xiàn)多客戶端協(xié)同文件上傳。
      [0072]圖4是示出根據(jù)本發(fā)明的示例性實(shí)施例的在用于多客戶端協(xié)同文件上傳的設(shè)備100的操作的流程圖。
      [0073]在410,用于多客戶端協(xié)同文件上傳的設(shè)備100的分片上傳配置模塊110可在接收到客戶端200的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端200。
      [0074]具體地講,在410,分片上傳配置模塊110的會話連接確定模塊111可在接收到客戶端的文件上傳請求時,確定是否允許客戶端200與設(shè)備100進(jìn)行會話連接以上傳文件,如果允許客戶端200與設(shè)備100進(jìn)行會話連接,則將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端200。
      [0075]優(yōu)選地,為了將與設(shè)備100同時會話的客戶端的總數(shù)控制在合適的數(shù)量以不對設(shè)備造成更大的負(fù)擔(dān),在本發(fā)明的示例性實(shí)施例中,會話連接確定模塊111可確定當(dāng)前與設(shè)備100同時會話的客戶端的數(shù)量是否達(dá)到可與設(shè)備100同時會話的客戶端的最大數(shù)量。
      [0076]如果當(dāng)前與所述設(shè)備100同時會話的客戶端的數(shù)量已達(dá)到所述最大數(shù)量,則會話連接確定模塊111可確定不允許當(dāng)前請求上傳文件的客戶端200與所述設(shè)備100進(jìn)行會話連接,并且可向請求上傳文件的客戶端200發(fā)送等待消息。在所述等待消息中可包括關(guān)于客戶端200下一次發(fā)送文件上傳請求所需要等待的時間的信息,在這種情況下,接收到等待消息的客戶端200可在等待所述時間之后重復(fù)以上請求上傳文件的處理。
      [0077]如果當(dāng)前與所述設(shè)備同時會話的客戶端的數(shù)量未達(dá)到預(yù)定最大數(shù)量,則會話連接確定模塊111可確定允許請求上傳文件的客戶端200連接到所述設(shè)備100,并且可將允許連接消息發(fā)送到請求上傳文件的客戶端200。所述允許連接消息可包括與文件分片上傳的配置相關(guān)的信息,例如,分配給客戶端200的通道密碼、分片大小、允許上傳的單個文件的最大大小、允許上傳的文件列表中文件的最大個數(shù)、以及文件列表有效時間。[0078]此外,在410,如果允許客戶端200與設(shè)備100進(jìn)行會話連接,則還可在注冊模塊112中注冊允許會話連接的客戶端200的標(biāo)識符(例如,GUID)、注冊時間、分配的通道密碼以及文件列表有效時間。
      [0079]在420,設(shè)備100的文件信息獲取模塊120可從客戶端200獲取包括客戶端200將要分片上傳的文件的文件列表,并存儲所述文件列表中包括的文件的文件信息。
      [0080]具體地講,在420,文件信息獲取模塊120的文件列表接收模塊121可接收客戶端200的文件列表,并還可從客戶端200獲取客戶端200的標(biāo)識符和用于加密解密的令牌。然后文件信息獲取模塊120的驗(yàn)證模塊122可基于獲取的標(biāo)識符和令牌對客戶端200進(jìn)行驗(yàn)證。如果驗(yàn)證模塊122成功驗(yàn)證了客戶端200,則將包括在客戶端200的文件列表中的文件的文件信息保存在文件信息獲取模塊120的文件信息存儲模塊123中;如果驗(yàn)證模塊122未能成功驗(yàn)證客戶端200,則刪除所接收的客戶端的文件列表。
      [0081]在430,設(shè)備100的文件分片獲取模塊130可基于文件信息獲取模塊120存儲的與客戶端相應(yīng)的文件的文件信息,向客戶端指定需要客戶端200上傳的文件分片并從客戶端200接收指定的文件分片。
      [0082]具體地講,文件分片獲取模塊130的文件分片確定模塊131可響應(yīng)于客戶端的文件分片上傳請求,基于文件信息存儲模塊123中存儲的文件信息確定需要客戶端上傳的文件分片,并將與確定的文件分片相應(yīng)的片編號和確定的文件分片所屬文件的文件標(biāo)識一起發(fā)送到客戶端。之后,可由文件分片存儲模塊132接收并存儲從客戶端200發(fā)送的文件分片。
      [0083]優(yōu)選地,文件信息存儲模塊123還可基于在430中的文件分片的接收和存儲情況,更新存儲的每個文件的文件信息中的文件的狀態(tài)和文件分片的狀態(tài)。在這種情況下,在步驟430,文件分片確定模塊131可基于文件信息存儲模塊123中存儲的文件的狀態(tài)和文件分片的狀態(tài)來確定需要客戶端200上傳的分片。
      [0084]優(yōu)選地,在430中,在從客戶端接收到文件分片上傳請求之后,文件分片獲取模塊130的計(jì)數(shù)模塊(未示出)還可確定設(shè)備100當(dāng)前同時接收的文件的數(shù)量是否超過預(yù)設(shè)閾值。
      [0085]如果計(jì)數(shù)模塊確定同時接收的文件數(shù)量達(dá)到預(yù)設(shè)閾值,并且文件分片確定模塊131確定客戶端200沒有正在上傳的文件,則文件分片確定模塊131向客戶端200發(fā)送指示當(dāng)前文件傳輸連接已滿的結(jié)束消息。
      [0086]如果計(jì)數(shù)模塊確定同時接收的文件的數(shù)量未達(dá)到預(yù)設(shè)閾值,并且文件分片確定模塊131確定客戶端200當(dāng)前沒有正在上傳文件,則文件分片確定模塊131基于文件信息存儲模塊123中存儲的文件信息,從屬于客戶端200的文件之中選擇需要客戶端上傳的文件,從選擇的文件的文件分片之中選擇需要上傳的文件分片的片編號,并將與選擇的文件分片相應(yīng)的片編號以及與選擇的文件對應(yīng)的文件標(biāo)識發(fā)送到客戶端200。
      [0087]如果文件分片確定模塊131確定客戶端200正在上傳文件,則不管設(shè)備100同時接收的文件數(shù)量是否到預(yù)設(shè)閾值,文件分片確定模塊131都可基于文件信息存儲模塊123中存儲的文件信息,從客戶端200的正在上傳的文件的上傳隊(duì)列確定正在上傳的文件的還未上傳的分片,從還未上傳的分片之中隨機(jī)確定一個分片,并將與確定的分片相應(yīng)的片編號以及與正在上傳的文件對應(yīng)的文件標(biāo)識發(fā)送到客戶端。[0088]以上處理僅是示例,在圖2中已詳細(xì)描述了設(shè)備100的各個模塊可執(zhí)行的其他操作,因此,為了簡明,在此將不再進(jìn)行更加詳細(xì)的描述。然而,應(yīng)該理解,本領(lǐng)域技術(shù)人員可根據(jù)需要添加、減少或修改一些操作步驟,并改變一些步驟的執(zhí)行順序。
      [0089]圖5是示出根據(jù)本發(fā)明的示例性實(shí)施例客戶端200的操作的流程圖。
      [0090]參照圖5,在510,可由所述客戶端200的請求模塊310向設(shè)備100發(fā)送文件上傳請求并從所述設(shè)備100接收響應(yīng)消息。
      [0091]在520,可由所述客戶端200的文件分片配置模塊220基于響應(yīng)消息中包括的與文件分片上傳配置相關(guān)的信息,對想要上傳的文件進(jìn)行分片,并將包括與想要上傳的文件及其文件分片相關(guān)的信息的文件列表發(fā)送到所述設(shè)備100。
      [0092]然而,應(yīng)該理解,如果在510從設(shè)備100接收到的響應(yīng)消息是等待消息,則所述流程結(jié)束,并且客戶端在經(jīng)過等待消息中指定的一段時間之后重新進(jìn)行510。
      [0093]在530,可由所述客戶端的文件分配上傳模塊330向設(shè)備100發(fā)送文件分片上傳請求,從設(shè)備100接收關(guān)于指定上傳的文件分片的信息,并基于接收的關(guān)于指定上傳的文件分片的信息上傳指定的文件分片。
      [0094]圖6是示出根據(jù)本發(fā)明的實(shí)施例的協(xié)同文件分片上傳設(shè)備和客戶端之間的交互的示例性示意圖。
      [0095]為了簡明,圖6僅示 出客戶端200可向設(shè)備100 (在此假設(shè)可以是服務(wù)器設(shè)備)上傳文件分片的示例。然而應(yīng)該理解,客戶端200與服務(wù)器設(shè)備100的交互步驟不限于圖中示出的,可基于實(shí)踐在所述交互中添加、減少或改變一些步驟。
      [0096]如圖6中所示,首先,可由客戶端200向服務(wù)器設(shè)備100發(fā)送文件上傳請求(610)。
      [0097]服務(wù)器設(shè)備100可在接收到所述請求之后確定是否允許與所述客戶端200進(jìn)行會話連接以上傳文件。如果允許客戶端200與服務(wù)器設(shè)備100進(jìn)行會話連接,則服務(wù)器設(shè)備100可將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端200(620)。
      [0098]此外,服務(wù)器設(shè)備100還可注冊允許會話連接的客戶端200的標(biāo)識符(例如,GUID)、注冊時間、分配的通道密碼以及文件列表有效時間。此外,如果不允許客戶端200與服務(wù)器設(shè)備100進(jìn)行會話連接,則服務(wù)器設(shè)備100可將其他響應(yīng)消息(例如,結(jié)束消息、等待消息等)發(fā)送到客戶端200。
      [0099]客戶端200在接收到與文件分片上傳配置相關(guān)的信息之后,可按所述配置對期望上傳的文件進(jìn)行分片。然后,客戶端200可將與期望上傳的文件及期望上傳的文件的文件分片相關(guān)的文件信息發(fā)送到服務(wù)器設(shè)備100,并且還可一起發(fā)送自己的標(biāo)識符和token等信息(630)。
      [0100]此外,在本發(fā)明的實(shí)施例中,服務(wù)器設(shè)備100還可基于獲取的標(biāo)識符和令牌對客戶端進(jìn)行驗(yàn)證。如果成功驗(yàn)證了客戶端200,則服務(wù)器設(shè)備100保存包括在客戶端200的文件列表中的文件的文件信息,如果未能成功驗(yàn)證客戶端,則服務(wù)器設(shè)備100刪除所接收的客戶端的文件列表。
      [0101]之后,客戶端200可向服務(wù)器設(shè)備100發(fā)送文件分片上傳請求(640)。服務(wù)器設(shè)備100在接收到文件分片上傳請求之后,基于存儲的與客戶端相應(yīng)的文件的文件信息,指定需要客戶端上傳的文件分片,并將關(guān)于指定上傳的文件分片的信息(例如,與指定的文件分片相應(yīng)的片編號和指定的文件分片所屬文件的文件標(biāo)識等)發(fā)送到客戶端200(650)。[0102]更進(jìn)一步,在服務(wù)器設(shè)備100指定文件分片之前,還可先判斷當(dāng)前是否能夠接收來自客戶端100的文件分片。已結(jié)合圖2詳細(xì)描述了該判斷,因此為了簡明,在此將不再進(jìn)行詳細(xì)描述。
      [0103]客戶端200可基于接收的關(guān)于指定上傳的文件分片的信息上傳指定的文件分片(包括文件分片數(shù)據(jù)、文件分片所屬文件的文件標(biāo)識以及文件分片的片編號等)(660)。然后,客戶端200可發(fā)送下一文件分片上傳請求(670),隨后重復(fù)650至660的處理,直到所有文件分片傳送完畢為止(680)。
      [0104]以上已詳細(xì)描述了本發(fā)明,在根據(jù)本發(fā)明的用于多客戶端協(xié)同文件上傳的設(shè)備和方法中,因?yàn)楦鶕?jù)本發(fā)明的服務(wù)器設(shè)備可獲得多個客戶端的文件列表并指定每個客戶端上傳的文件分片,因此,對于多個客戶端均具有的相同文件的情況,根據(jù)本發(fā)明的服務(wù)器設(shè)備能夠指定并從這多個客戶端同時接收不同的文件分片,從而能夠利用多個客戶端同時在線協(xié)同上傳相同的文件,加速文件接收并節(jié)省了所需要使用的帶寬。此外,由于采用了文件分片上傳,因此即使在文件當(dāng)前未能完全上傳而斷開了上傳通道的情況下,在之后再次建立起上傳通道時,可繼續(xù)上傳之前未能上傳的文件部分。
      [0105]本發(fā)明示例性實(shí)施例可實(shí)現(xiàn)為計(jì)算機(jī)可讀記錄介質(zhì)上的計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀記錄介質(zhì)是可存儲其后可由計(jì)算機(jī)系統(tǒng)讀出的數(shù)據(jù)的任意數(shù)據(jù)存儲裝置。計(jì)算機(jī)可讀記錄介質(zhì)的示例包括:只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、CD-ROM、磁帶、軟盤、光數(shù)據(jù)存儲裝置和載波(諸如經(jīng)有線或無線傳輸路徑通過互聯(lián)網(wǎng)的數(shù)據(jù)傳輸)。計(jì)算機(jī)可讀記錄介質(zhì)也可分布于連接網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng),從而計(jì)算機(jī)可讀代碼以分布式存儲和執(zhí)行。此夕卜,完成本發(fā)明的功能程序、代碼和代碼段可容易地被與本發(fā)明相關(guān)的領(lǐng)域的普通程序員在本發(fā)明的范圍之內(nèi)解釋。
      [0106]盡管已經(jīng)參照其示例性實(shí)施例具體顯示和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對其進(jìn)行形式和細(xì)節(jié)上的各種改變。
      【權(quán)利要求】
      1.一種用于多客戶端協(xié)同文件上傳的設(shè)備,所述設(shè)備包括: 分片上傳配置模塊,用于在接收到客戶端的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端; 文件信息獲取模塊,用于從客戶端獲取包括客戶端期望分片上傳的文件的文件列表,并存儲所述文件列表中所包括的文件的文件信息; 文件分片獲取模塊,用于基于文件信息獲取模塊存儲的與客戶端相應(yīng)的文件的文件信息,向客戶端指定需要客戶端上傳的文件分片并從客戶端接收指定的文件分片。
      2.如權(quán)利要求1所述的設(shè)備,其中,所述分片上傳配置模塊包括: 會話連接確定模塊,用于在接收到客戶端的文件上傳請求時,確定是否允許客戶端與所述設(shè)備進(jìn)行會話連接以上傳文件,并且如果允許客戶端與所述設(shè)備進(jìn)行會話連接,則將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端; 注冊模塊,用于注冊允許會話連接的客戶端的標(biāo)識符、注冊時間、文件列表有效時間以及分配的通道密碼。
      3.如權(quán)利要求1所述的設(shè)備,其中,所述文件信息獲取模塊包括: 文件列表接收模塊,用于接收客戶端的文件列表,并從客戶端獲取客戶端的標(biāo)識符和用于加密解密的令牌; 驗(yàn)證模塊,用于基于獲取的標(biāo)識符和令牌對客戶端進(jìn)行驗(yàn)證; 文件信息存儲模塊,用于存儲包括在客戶端的文件列表中的文件的文件信息, 其中,如果驗(yàn)證模塊成功驗(yàn)證了客戶端,則將包括在客戶端的文件列表中的文件的文件信息保存在文件信息存儲模塊中, 如果驗(yàn)證模塊未能成功驗(yàn)證客戶端,則刪除所接收的客戶端的文件列表。
      4.如權(quán)利要求1所述的設(shè)備,其中,文件分片獲取模塊包括: 文件分片確定模塊,用于響應(yīng)于客戶端的文件分片上傳請求,基于文件信息獲取模塊中存儲的文件信息確定需要客戶端上傳的文件分片,并將與確定的文件分片相應(yīng)的片編號和確定的文件分片所屬文件的文件標(biāo)識一起發(fā)送到客戶端; 文件分片存儲模塊,用于接收并存儲從客戶端發(fā)送的文件分片。
      5.如權(quán)利要求4所述的設(shè)備,其中,文件信息獲取模塊還基于文件分片獲取模塊的文件分片的接收和存儲狀況,更新存儲的每個文件的文件信息中的文件的狀態(tài)和文件分片的狀態(tài), 其中,文件分片確定模炔基于文件信息獲取模塊中存儲的文件的狀態(tài)和文件分片的狀態(tài)來確定需要客戶端上傳的分片。
      6.一種用于多客戶端協(xié)同文件上傳的方法,所述方法包括: 在接收到客戶端的文件上傳請求時,將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端; 從客戶端獲取包括客戶端將要分片上傳的文件的文件列表,并存儲所述文件列表中包括的文件的文件信息; 基于存儲的與客戶端相應(yīng)的文件的文件信息,向客戶端指定需要客戶端上傳的文件分片并從客戶端接收指定的文件分片。
      7.如權(quán)利要求6所述的方法,其中,發(fā)送與文件分片上傳配置相關(guān)的信息的步驟包括:在接收到客戶端的文件上傳請求時,確定是否允許客戶端與所述設(shè)備進(jìn)行會話連接以上傳文件,如果允許客戶端與所述設(shè)備進(jìn)行會話連接,則將與文件分片上傳配置相關(guān)的信息發(fā)送到客戶端; 注冊允許會話連接的客戶端的標(biāo)識符、注冊時間、文件列表有效時間以及分配的通道密碼。
      8.如權(quán)利要求6所述的方法,其中,所述文件信息獲取步驟包括: 接收客戶端的文件列表,并從客戶端獲取客戶端的標(biāo)識符和用于加密解密的令牌; 基于獲取的標(biāo)識符和令牌對客戶端進(jìn)行驗(yàn)證; 其中,如果成功驗(yàn)證了客戶端,則保存包括在客戶端的文件列表中的文件的文件信息, 如果未能成功驗(yàn)證客戶端,則刪除所接收的客戶端的文件列表。
      9.如權(quán)利要求6所述的方法,其中,文件分片獲取步驟包括: 響應(yīng)于客戶端的文件分片上傳請求,基于存儲的文件信息確定需要客戶端上傳的文件分片,并將與確定的文件分片相應(yīng)的片編號和確定的文件分片所屬文件的文件標(biāo)識一起發(fā)送到客戶端; 接收并存儲從客戶端發(fā)送的文件分片。
      10.如權(quán)利要求9所述的 方法,其中,文件信息獲取步驟還基于在文件分片獲取步驟中的文件分片的接收和存儲狀況,更新存儲的每個文件的文件信息中的文件的狀態(tài)和文件分片的狀態(tài), 其中,確定文件分片的步驟基于存儲的文件的狀態(tài)和文件分片的狀態(tài)來確定需要客戶端上傳的分片。
      【文檔編號】H04L29/06GK103986764SQ201410208555
      【公開日】2014年8月13日 申請日期:2014年5月16日 優(yōu)先權(quán)日:2014年5月16日
      【發(fā)明者】岳華明 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1