国产精品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>

      一種文件分片傳輸方法及裝置的制作方法

      文檔序號:7764450閱讀:440來源:國知局
      專利名稱:一種文件分片傳輸方法及裝置的制作方法
      技術領域
      本申請涉及計算機技術領域,特別是涉及一種文件分片傳輸方法及裝置。
      背景技術
      傳統(tǒng)的文件分發(fā)方式為,以單個設備為中心,將文件分發(fā)到多個設備上。傳統(tǒng)的 文件分發(fā),是單線程分發(fā),每個文件由一個進程或線程負責從頭到尾順序同步,在如今多核 CPU價格逐漸降低的時代,傳統(tǒng)的文件傳輸過程不能有效的利用系統(tǒng)的CPU資源。

      發(fā)明內容
      為解決上述技術問題,本申請實施例提供一種文件分片傳輸方法及裝置,對文件 進行分片后采用多線程方式進行文件傳輸,有效的提高了系統(tǒng)CPU的利用率。技術方案如下一種文件分片傳輸方法,優(yōu)選的,包括獲取客戶端需要上傳的文件;將所述文件分為指定大小的碎片文件;啟動多線程以非堵塞形式將所述碎片文件傳輸至CPU。上述的方法,優(yōu)選的,在所述碎片文件傳輸至CPU前還包括為所述碎片文件分配 校驗碼。上述的方法,優(yōu)選的,還包括所述CPU對所述碎片文件進行組合的過程。上述的方法,優(yōu)選的,所述CPU對所述碎片文件進行組合的具體過程為請求校驗碼;將所述請求的校驗碼與所述碎片文件中的校驗碼進行校驗;若校驗成功,將碎片文件寫入正式文件;否則,放棄所述碎片文件并對所述碎片文 件進行重新獲取。上述的方法,優(yōu)選的,所述碎片文件的指定大小不超過1MB。上述的方法,優(yōu)選的,所述非堵塞形式為CUP在IO操作發(fā)生實際可操作事件時進 行有效操作。一種文件分片傳輸裝置,包括文件獲取單元、文件分割單元和文件傳輸單元;所述文件獲取單元用于獲取客戶端需要上傳的文件;所述文件分割單元用于將所述文件獲取單元獲取的文件分為指定大小的碎片文 件;所述發(fā)送單元用于啟動多線程將所述文件分割單元分割的碎片文件以非堵塞形 式傳輸至CPU。上述的裝置,優(yōu)選的,所述文件分割單元包括校驗碼分配組件;所述校驗碼分配組件為所述文件分割單元分割的碎片文件分配校驗碼并在所述 CPU接收到所述發(fā)送單元發(fā)送的碎片文件后響應所述CPU請求,為所述CPU發(fā)送校驗所需的校驗碼。上述的裝置,優(yōu)選的,所述發(fā)送單元發(fā)送碎片文件的非堵塞形式為CUP在IO操作 發(fā)生實際可操作事件時進行有效操作。上述的裝置,優(yōu)選的,所述分割單元將文件分割成碎片文件的大小不超過1MB。由以上本申請實施例提供的技術方案可見,本發(fā)明提供的一種文件分片傳輸方法 及裝置,在獲取客戶端上傳的文件后,將所述文件分割成為指定大小的碎片文件,在多線程 下,將分割的碎片文件同時發(fā)送至CPU,CPU接收到碎片文件后將所述碎片文件組合成原文 件;有效的提高了 CPU的利用率,充分的利用了系統(tǒng)的CPU資源。


      為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 申請中記載的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下, 還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請實施例提供的文件分片傳輸方法的流程圖;圖2為本申請實施例提供的文件分片傳輸方法的一詳細流程圖;圖3為本申請實施例提供的文件分片傳輸方法的又一詳細流程圖;圖4為本申請實施例提供的CPU對碎片文件進行組合的過程流程圖;圖5為本申請實施例提供的文件分片傳輸裝置的結構示意圖;圖6為本申請實施例提供的文件分片傳輸裝置的一詳細結構示意圖。
      具體實施例方式本申請實施例提供一種文件分片傳輸方法及裝置,將文件分割為適合在多線程方 式下傳輸?shù)淖宇愇募?,對所述子類文件同時進行傳輸,然后進行組裝,以達到有效利用系統(tǒng) CPU資源的目的。以上是本申請的核心思想,為了使本技術領域的人員更好地理解本申請方案。下 面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯 然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶?施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應 當屬于本申請保護的范圍。本申請實施例提供的文件分片傳輸方法的流程圖如圖1所示,包括步驟SlOl 獲取客戶端需要上傳的文件;步驟S102 將上述文件分為指定大小的碎片文件;步驟S103 啟動多線程以非堵塞形式將上述碎片文件傳輸至CPU。需要說明的是傳輸文件的過程中,將文件分割為指定大小的碎片文件,分片進行傳輸,每個碎片 文件的大小不超過1MB,在傳輸時,啟動多線程以非堵塞形式進行每個碎片文件的傳輸。充 分有效的利用了多核CPU的計算能力。對文件的分割過程中,分割原則為根據(jù)文件的內容,對文件內部的內容進行分段處理,保證每段文件中的內容的連貫性,在保證連貫性的同時確保文件的大小不超過1MB。 若文件的內容在連貫性的基礎上超過1MB,則可對超過1MB的文件進行再次分片得到子分 片內容,在子分片的文件上增加標識,依順序的方式按標識進行傳輸,接收到子分片文件 后,按標識對子分片文件進行組合;如果順序傳輸?shù)淖臃制募?,前面的子分片文件傳輸發(fā) 送失敗,則依據(jù)其標識,在該完整分片內容下進行標識分片的其它所有子分片內容均處于 等待狀態(tài),在傳輸失敗的子分片文件重新發(fā)送后,再與處于等待的其它子分片內容進行組
      I=I O其中,非堵塞是中CPU在IO操作發(fā)生實際可操作事件的時候才進行操作,不會浪 費時間等待IO事件的發(fā)生,提高了 CPU的利用率,同時傳輸?shù)倪^程為并行傳輸,提高了傳輸 的速度。本申請實施例提供的文件傳輸方法的一詳盡流程圖如圖2所示,相對于圖1所示 的流程而言,在步驟S102與步驟S103之間還包括步驟S112 為所述分為指定大小的碎片 文件分配校驗碼。為碎片文件分配校驗碼的主要目的是在將碎片文件發(fā)送至CPU后,CPU可以利用 校驗過程,有序的對接收的碎片文件進行組合,以得到傳輸過程中的整體文件。本申請實施例提供的文件分片傳輸方法的又一詳細流程圖如圖3所示,還包括步 驟S104 :CPU對所述碎片文件進行組合;結合圖4所示的CPU對碎片文件進行組合的過程流 程圖,CPU對碎片文件進行組合的具體過程為步驟S201 請求校驗碼;步驟S202 將請求的校驗碼與接收的碎片文件中的校驗碼進行校驗;步驟S203 對校驗結果進行判斷,若校驗成功,執(zhí)行步驟S204;否則執(zhí)行步驟 S205 ;步驟S204 將碎片文件寫入正式文件;步驟S205 說明該碎片文件在傳輸過程中出現(xiàn)異常,放棄該校驗失敗的碎片文 件,返回整體步驟中S103重新對該碎片文件進行傳輸。例如系統(tǒng)在傳輸文件過程中,將文件分割為指定大小的碎片文件,大小為512K, 為每個碎片文件分配一個校驗碼,分好以后,啟動多個線程,每個CPU分配5個,同時將碎 片文件向外進行發(fā)送,因為網(wǎng)絡發(fā)送延遲時間比較大,所以在發(fā)送的空閑時間,系統(tǒng)會利用 CPU對下一個碎片文件進行Hash校驗,當接收方收到碎片文件后,同樣會請求一個Hash校 驗碼,對接收的碎片進行校驗,如果校驗成功將碎片文件寫入正式文件中,否則,放棄該碎 片文件,重新對該碎片文件進行傳輸。本申請實施例提供的文件分片傳輸裝置的結構示意圖如圖5所示,包括文件獲 取單元301、文件分割單元302和文件傳輸單元303 ;所述文件獲取單元301用于獲取客戶端需要上傳的文件;所述文件分割單元302用于將文件獲取單元301獲取的文件分為指定大小的碎片 文件;所述發(fā)送單元303用于啟動多線程將文件分割單元302分割的碎片文件以非堵塞 形式傳輸至CPU。其中文件分割單元302將文件分割成碎片文件的大小不超過1MB。
      發(fā)送單元303發(fā)送碎片文件的非堵塞形式為CPU在IO操作發(fā)生實際可操作事件 時進行有效操作。本申請實施例提供的文件分片傳輸裝置的一詳細結構示意圖如圖6所示,文件分 割單元302包括校驗碼分配組件304 ;校驗碼分配組件304為所述文件分割單元302分割的碎片文件分配校驗碼并在所 述CPU接收到所述發(fā)送單元303發(fā)送的碎片文件后響應所述CPU請求,為所述CPU發(fā)送校 驗所需的校驗碼。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部 分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。以上所述僅是本 申請的具體實施方式
      ,應當指出,對于本技術領域的普通技術人員來說,在不脫離本申請原 理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。
      權利要求
      一種文件分片傳輸方法,其特征在于,包括獲取客戶端需要上傳的文件;將所述文件分為指定大小的碎片文件;啟動多線程以非堵塞形式將所述碎片文件傳輸至CPU。
      2.根據(jù)權利要求1所述的方法,其特征在于,在所述碎片文件傳輸至CPU前還包括為所 述碎片文件分配校驗碼。
      3.根據(jù)權利要求2所述的方法,其特征在于,還包括所述CPU對所述碎片文件進行組合 的過程。
      4.根據(jù)權利要求3所述的方法,其特征在于,所述CPU對所述碎片文件進行組合的具體 過程為請求校驗碼;將所述請求的校驗碼與所述碎片文件中的校驗碼進行校驗;若校驗成功,將碎片文件寫入正式文件;否則,放棄所述碎片文件并對所述碎片文件進 行重新獲取。
      5.根據(jù)權利要求1所述的方法,其特征在于,所述碎片文件的指定大小不超過1MB。
      6.根據(jù)權利要求1所述的方法,其特征在于,所述非堵塞形式為CUP在IO操作發(fā)生實 際可操作事件時進行有效操作。
      7.一種文件分片傳輸裝置,其特征在于,包括文件獲取單元、文件分割單元和文件傳 輸單元;所述文件獲取單元用于獲取客戶端需要上傳的文件;所述文件分割單元用于將所述文件獲取單元獲取的文件分為指定大小的碎片文件; 所述發(fā)送單元用于啟動多線程將所述文件分割單元分割的碎片文件以非堵塞形式傳 輸至CPU。
      8.根據(jù)權利要求7所述的裝置,其特征在于,所述文件分割單元包括校驗碼分配組件; 所述校驗碼分配組件為所述文件分割單元分割的碎片文件分配校驗碼并在所述CPU接收到所述發(fā)送單元發(fā)送的碎片文件后響應所述CPU請求,為所述CPU發(fā)送校驗所需的校驗碼。
      9.根據(jù)權利要求7所述的裝置,其特征在于,所述發(fā)送單元發(fā)送碎片文件的非堵塞形 式為CUP在IO操作發(fā)生實際可操作事件時進行有效操作。
      10.根據(jù)權利要求7所述的裝置,其特征在于,所述分割單元將文件分割成碎片文件的 大小不超過1MB。
      全文摘要
      本申請公開了一種文件分片傳輸方法,包括獲取客戶端需要上傳的文件;將所述文件分為指定大小的碎片文件;啟動多線程以非堵塞形式將所述碎片文件傳輸至CPU;本申請實施例針對該方法實施例還公開一種文件分片傳輸裝置。本申請實施例提供的一種文件分片傳輸方法及裝置,在獲取客戶端上傳的文件后,將所述文件分割成為指定大小的碎片文件,在多線程下,將分割的碎片文件同時發(fā)送至CPU,CPU接收到碎片文件后將所述碎片文件組合成原文件;有效的提高了CPU的利用率,充分的利用了系統(tǒng)的CPU資源。
      文檔編號H04L29/08GK101980509SQ20101053450
      公開日2011年2月23日 申請日期2010年11月5日 優(yōu)先權日2010年11月5日
      發(fā)明者劉賓, 周福, 楊凡, 蔣建平 申請人:北京云快線軟件服務有限公司;北京世紀互聯(lián)工程技術服務有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1