基於http協議的大文件頁面斷點續傳的方法
2023-10-09 07:46:34 1
基於http協議的大文件頁面斷點續傳的方法
【專利摘要】本發明公開了一種基於HTTP協議的大文件頁面斷點續傳的方法和系統,包括網頁瀏覽器,文件索引伺服器,文件傳輸存儲伺服器和大文件上傳插件。網頁瀏覽器,基於HTTP協議,作為所述大文件上傳插件的載體。文件索引伺服器用於存儲欲上傳文件的傳輸索引值。文件傳輸存儲伺服器,用於存儲欲上傳文件的上傳成功的文件塊信息。大文件上傳插件,用於發出HTTP請求到所述文件索引伺服器,查詢傳輸索引值的文件是否存在於文件傳輸存儲伺服器中;從文件傳輸存儲伺服器上獲取上傳成功的文件塊信息;獲取創建上傳線程。本發明主要解決了瀏覽器上傳大文件性能問題,以友好的界面實時顯示文件上傳的進度和速度,方便快捷的控制多上傳任務的暫停、取消、恢復。
【專利說明】基於HTTP協議的大文件頁面斷點續傳的方法
【技術領域】
[0001]本發明涉及一種基於HTTP協議的大文件頁面斷點續傳的方法。
【背景技術】
[0002]當前,網際網路成為人們生活工作不可或缺的元素。人們通過網際網路進行數據的下載和上傳,現在網絡上上傳文件所使用的含斷點續傳技術的工具主要是基於FTP的,續傳的步驟包括上傳和下載,但是很多網絡上通用的防火牆不允許FTP上傳,所以只能使用基於HTTP協議開發的上傳工具。大多文件下載服務支持商提供了大文件的下載斷點續傳功能,如百度、迅雷、螞蟻等等。但是,對於基於HTTP協議的大文件上傳,但是基於HTTP協議的上傳軟體卻是一個空缺並且具有很多不足,滿足不了社會的需要。
[0003]HTTP是Web協議集中的重要協議,它是從客戶機/伺服器模型發展起來的。客戶機/伺服器是運行一對相互通信的程序,客戶與伺服器連接時,首先,向伺服器提出請求,伺服器根據客戶的請求,完成處理並給出響應。因此,開發一種基於HTTP協議的大文件頁面斷點續傳的工具,是廣大普通網際網路用戶所期望的。
【發明內容】
[0004]本發明所要解決的技術問題是提供一種基於HTTP協議的大文件頁面斷點續傳的方法,以克服現有技術不支持大文件頁面斷點續傳的缺陷。
[0005]為解決上述技術問題,本發明所提出的基於HTTP協議的大文件頁面斷點續傳的方法,涉及文件索引伺服器,文件傳輸存儲伺服器,大文件上傳插件,包括以下步驟:
[0006]開啟網頁瀏覽器,所述大文件上傳插件自啟動;
[0007]所述大文件上傳插件獲取欲上傳文件的傳輸索引值,發送查詢HTTP請求到所述文件索引伺服器,查詢所述傳輸索引值的文件是否存在於所述文件傳輸存儲伺服器中,
[0008]如果所述傳輸索引值存在,則結束文件上傳;
[0009]如果所述傳輸索引值不存在,則從所述文件傳輸存儲伺服器上獲取上傳成功的文件塊息;
[0010]所述大文件上傳插件根據返回的上傳成功的文件塊信息,取到文件的續傳位置,開始對文件進行斷點續傳處理;
[0011]所述大文件上傳插件創建基於HTTP協議的上傳線程,對文件沒有上傳的部份,進行分塊讀取,將相應沒有上傳成功的文件塊上傳至所述文件傳輸存儲伺服器,並調用JS回調函數更新界面上傳任務的進度和速度;
[0012]上傳完最後一個文件塊時,向所述文件傳輸存儲伺服器發送文件塊信息合併的HTTP請求,由所述文件傳輸存儲伺服器合併相應的文件塊信息,生成完整的文件。
[0013]進一步優化的方案是,生成完整的文件後,所述文件傳輸存儲伺服器對生成的完整文件通過傳輸索引值進行文件校驗;
[0014]如果校驗一致,則上傳成功結束;如果校驗不一致,則返回錯誤提示用戶文件檢驗失敗,上傳結束。
[0015]更優選的,所述上傳線程將相應沒有上傳成功的文件塊上傳至所述文件傳輸存儲伺服器的同時,調用JS回調函數更新界面上傳任務的進度和速度。
[0016]優選的,所述大文件上傳插件為Activex插件或NPAPI插件。
[0017]優選的,所述文件傳輸存儲伺服器上獲取上傳成功的文件塊以IM為單位。所述傳輸索引值為MD5值。
[0018]一種基於HTTP協議的大文件頁面斷點續傳的方法的系統,包括網頁瀏覽器,文件索弓I伺服器,文件傳輸存儲伺服器和大文件上傳插件,
[0019]所述網頁瀏覽器,基於HTTP協議,用於所述大文件上傳插件的載體,
[0020]所述文件索引伺服器,用於存儲欲上傳文件的傳輸索引值;
[0021]所述文件傳輸存儲伺服器,用於存儲欲上傳文件的上傳成功的文件塊信息;
[0022]所述大文件上傳插件,用於發出HTTP請求到所述文件索引伺服器,查詢所述傳輸索引值的文件是否存在於所述文件傳輸存儲伺服器中;從所述文件傳輸存儲伺服器上獲取上傳成功的文件塊信息;獲取創建上傳線程。
[0023]進一步的,所述大文件上傳插件,用於上傳完最後一個文件塊時,向所述文件傳輸存儲伺服器發送文件塊信息合併的HTTP請求;
[0024]所述文件傳輸存儲伺服器,用於合併相應的文件塊信息,生成完整的文件。
[0025]所述文件傳輸存儲伺服器,還用於對生成的完整文件通過傳輸索引值進行文件校驗。
[0026]本發明通過對大文件分塊讀取上傳,使得瀏覽器上傳文件的性能優化,克服了以往瀏覽器中大文件上傳不了的缺陷。利用通用的HTTP協議上傳小文件塊,避免上傳時對客戶端網絡環境的苛刻要求,提高了文件傳輸成功率。運用斷點續傳方法,避免再次上傳已傳輸的數據部分,減少了傳輸量,進一步節省了上傳超大文件到文件傳輸存儲伺服器的時間。
【專利附圖】
【附圖說明】
[0027]下面結合附圖和【具體實施方式】對本發明的技術方案作進一步具體說明。
[0028]圖1為本發明的結構框圖。
[0029]圖2為本發明的流程圖。
【具體實施方式】
[0030]如圖1所示,基於HTTP協議的大文件頁面斷點續傳的系統,包括網頁瀏覽器,文件索引伺服器,文件傳輸存儲伺服器和大文件上傳插件,網頁瀏覽器,基於HTTP協議,作為所述大文件上傳插件的載體。文件索引伺服器用於存儲欲上傳文件的傳輸索引值。文件傳輸存儲伺服器,用於存儲欲上傳文件的上傳成功的文件塊信息。
[0031]大文件上傳插件,用於發出HTTP請求到所述文件索引伺服器,查詢傳輸索引值的文件是否存在於文件傳輸存儲伺服器中;從文件傳輸存儲伺服器上獲取上傳成功的文件塊信息;獲取創建上傳線程。上傳完最後一個文件塊時,向所述文件傳輸存儲伺服器發送文件塊信息合併的HTTP請求;
[0032]文件傳輸存儲伺服器,用於合併相應的文件塊信息,生成完整的文件。對生成的完整文件通過傳輸索引值進行文件校驗。
[0033]結合圖2所示,基於HTTP協議的大文件頁面斷點續傳的方法,涉及文件索引伺服器,文件傳輸存儲伺服器,大文件上傳插件,大文件上傳插件為Activex插件或NPAPI插件。包括以下步驟:
[0034]步驟1、開啟網頁瀏覽器,大文件上傳插件自啟動;大文件上傳插件獲取欲上傳文件的MD5值,發送HTTP請求到文件索引伺服器,
[0035]步驟2、查詢MD5值的文件是否存在於文件傳輸存儲伺服器中,
[0036]步驟3、如果所述文件存在,則顯示文件傳輸方式為極速上傳,傳輸結束;
[0037]步驟4、如果所述文件不存在,則,先從文件傳輸存儲伺服器上獲取上傳成功的文件塊信息;文件傳輸存儲伺服器上獲取上傳成功的文件塊以IM為單位。
[0038]步驟5、大文件上傳插件根據返回的文件塊信息,取到文件的續傳位置,開始對文件進行斷點續傳處理。
[0039]步驟6、大文件上傳插件創建上傳線程,對文件沒有上傳的部份,進行分塊讀取,基於HTTP協議將相應沒有上傳成功的文件塊上傳至文件傳輸存儲伺服器,並調用JS回調函數更新界面上傳任務的進度和速度;
[0040]步驟7、上傳完最後一個文件塊時,向所述文件傳輸存儲伺服器發送HTTP請求,由文件傳輸存儲伺服器合併相應的文件塊信息,生成完整的文件,
[0041]步驟8、對生成的完整文件通過MD5值進行文件校驗;
[0042]步驟9、如果校驗一致,則上傳成功結束;
[0043]步驟10、如果校驗不一致,則返回錯誤提示用戶文件檢驗失敗,上傳結束。
[0044]本發明通過對大文件分塊讀取上傳,提高優化了瀏覽器上傳大文件的性能。利用通用的HTTP協議上傳小文件塊,避免上傳時對客戶端網絡環境的苛刻要求,提高了文件傳輸成功率。運用斷點續傳方法,避免再次上傳已傳輸的數據部分,減少了傳輸量,進一步節省了上傳超大文件到文件傳輸存儲伺服器的時間。
[0045]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上。可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。因此,本發明不限制於任何特定的硬體和軟體結合。
[0046]最後所應說明的是,以上【具體實施方式】僅用以說明本發明的技術方案而非限制,儘管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和範圍,其均應涵蓋在本發明的權利要求範圍當中。
【權利要求】
1.一種基於HTTP協議的大文件頁面斷點續傳的方法,其特徵在於,涉及文件索引伺服器,文件傳輸存儲伺服器,大文件上傳插件,包括以下步驟: 開啟網頁瀏覽器,所述大文件上傳插件自啟動; 所述大文件上傳插件獲取欲上傳文件的傳輸索引值,發送查詢HTTP請求到所述文件索引伺服器,查詢所述傳輸索引值的文件是否存在於所述文件傳輸存儲伺服器中, 如果所述傳輸索引值存在,則結束文件上傳; 如果所述傳輸索引值不存在,則從所述文件傳輸存儲伺服器上獲取上傳成功的文件塊信息; 所述大文件上傳插件根據返回的上傳成功的文件塊信息,取到文件的續傳位置,開始對文件進行斷點續傳處理; 所述大文件上傳插件創建基於HTTP協議的上傳線程,對文件沒有上傳的部份,進行分塊讀取,將相應沒有上傳成功的文件塊上傳至所述文件傳輸存儲伺服器,並調用JS回調函數更新界面上傳任務的進度和速度; 上傳完最後一個文件塊時,向所述文件傳輸存儲伺服器發送文件塊信息合併的HTTP請求,由所述文件傳輸存儲伺服器合併相應的文件塊信息,生成完整的文件。
2.根據權利要求1所述的基於HTTP協議的大文件頁面斷點續傳的方法,其特徵在於,還包括步驟, 生成完整的文件後,所述文件傳輸存儲伺服器對生成的完整文件通過傳輸索引值進行文件校驗; 如果校驗一致,則上傳成功結束;如果校驗不一致,則返回錯誤提示用戶文件檢驗失敗,上傳結束。
3.根據權利要求2所述的基於HTTP協議的大文件頁面斷點續傳的方法,其特徵在於,所述上傳線程將相應沒有上傳成功的文件塊上傳至所述文件傳輸存儲伺服器的同時,調用JS回調函數更新界面上傳任務的進度和速度。
4.根據權利要求3所述的基於HTTP協議的大文件頁面斷點續傳的方法,其特徵在於,所述大文件上傳插件為Activex插件或NPAPI插件。
5.根據權利要求4述的基於HTTP協議的大文件頁面斷點續傳的方法,其特徵在於,所述文件傳輸存儲伺服器上獲取上傳成功的文件塊以IM為單位。
6.根據權利要求5所述的基於HTTP協議的大文件頁面斷點續傳的方法,其特徵在於,所述傳輸索引值為MD5值。
7.—種權利要求1至6之一所述基於HTTP協議的大文件頁面斷點續傳的方法的系統,其特徵在於,包括網頁瀏覽器,文件索引伺服器,文件傳輸存儲伺服器和大文件上傳插件, 所述網頁瀏覽器,基於HTTP協議,用於所述大文件上傳插件的載體, 所述文件索引伺服器,用於存儲欲上傳文件的傳輸索引值; 所述文件傳輸存儲伺服器,用於存儲欲上傳文件的上傳成功的文件塊信息; 所述大文件上傳插件,用於發出HTTP請求到所述文件索引伺服器,查詢所述傳輸索引值的文件是否存在於所述文件傳輸存儲伺服器中;從所述文件傳輸存儲伺服器上獲取上傳成功的文件塊信息;獲取創建上傳線程。
8.根據權利要求7所述基於HTTP協議的大文件頁面斷點續傳的方法的系統,其特徵在於, 所述大文件上傳插件,用於上傳完最後一個文件塊時,向所述文件傳輸存儲伺服器發送文件塊信息合併的HTTP請求; 所述文件傳輸存儲伺服器,用於合併相應的文件塊信息,生成完整的文件。
9.根據權利要求8所述基於HTTP協議的大文件頁面斷點續傳的方法的系統,其特徵在於,所述文件傳輸存儲伺服器,還用於對生成的完整文件通過傳輸索引值進行文件校驗。
【文檔編號】H04L29/06GK104253816SQ201410499818
【公開日】2014年12月31日 申請日期:2014年9月25日 優先權日:2014年9月25日
【發明者】江潮, 徐全憲 申請人:武漢傳神信息技術有限公司