基于異步傳輸方式的文件上傳方法及系統的制作方法
【技術領域】
[0001]本發明涉及文件上傳方法及系統,更具體地,涉及基于異步傳輸方式的文件上傳方法及系統。
【背景技術】
[0002]目前,隨著計算機和網絡應用的日益廣泛以及不同領域的業務種類的日益豐富,通過瀏覽器經由互聯網向服務器上傳文件變得越來越重要。
[0003]在現有的技術方案中,通常采用同步方式上傳文件,其基本過程如下:用戶通過瀏覽器中的網頁選擇文件并將其上傳至服務器,隨之該網頁被鎖定,直至服務器在接收并處理完成所上傳的文件后返回響應結果。
[0004]然而,上述現有的技術方案存在如下問題:由于服務器接收和處理上傳文件所需的時間較長,在此期間用戶不能進行任何其他操作,故系統效率較低,此外,在現有的機制下難于實現文件的批量處理以及文件格式的靈活解析。
[0005]因此,存在如下需求:提供能夠基于異步方式進行文件上傳并且能夠實現文件的批量處理以及文件格式的靈活解析的基于異步傳輸方式的文件上傳方法及系統。
【發明內容】
[0006]為了解決上述現有技術方案所存在的問題,本發明提出了能夠基于異步方式進行文件上傳并且能夠實現文件的批量處理以及文件格式的靈活解析的基于異步傳輸方式的文件上傳方法及系統。
[0007]本發明的目的是通過以下技術方案實現的:
一種基于異步傳輸方式的文件上傳方法,所述基于異步傳輸方式的文件上傳方法包括下列步驟:
(Al)當根據用戶指令需要將文件上傳至服務器時,瀏覽器調用與該瀏覽器相關聯的文件上傳裝置提供的接口將待上傳文件傳遞至所述文件上傳裝置,并能夠繼續響應用戶隨后的指令;
(A2)所述文件上傳裝置接管針對所述待上傳文件的后續上傳任務,并以常規的同步方式將所述待上傳文件傳送到服務器;
(A3)所述服務器接收并處理所述待上傳文件,并且在所述接收和處理完成后向所述文件上傳裝置傳送回響應結果;
(A4)所述文件上傳裝置將所述響應結果傳遞回所述瀏覽器以供后續處理。
[0008]在上面所公開的方案中,優選地,所述文件上傳裝置以及其所執行的文件上傳過程在所述瀏覽器的頁面上不可見,并且在以常規的同步方式將所述待上傳文件傳送到服務器時將其自身標記為響應結果接收方。
[0009]在上面所公開的方案中,優選地,所述文件上傳裝置以如下方式將所述響應結果傳遞回所述瀏覽器:在接收到所述響應結果后自動觸發回調函數,所述回調函數隨之將所述響應結果傳遞回所述瀏覽器。
[0010]在上面所公開的方案中,優選地,所述回調函數在將所述響應結果傳遞回所述瀏覽器之前解析所述響應結果以使之符合所述瀏覽器支持的數據類型。
[0011]在上面所公開的方案中,優選地,所述瀏覽器能夠在文件上傳期間通過遮罩層遮罩頁面中與文件上傳相關的元素。
[0012]在上面所公開的方案中,優選地,所述瀏覽器能夠經由所述文件上傳裝置周期性地獲取文件上傳操作的當前進度,并且隨之在所述遮罩層上顯示文件上傳操作的當前進度。
[0013]在上面所公開的方案中,優選地,所述文件上傳裝置傳送的文件是包含文件頭和文件體或僅包含文件體的文本文件,所述文件體和文件頭均由記錄組成,并且所述記錄由域組成,所述記錄以行為單位。
[0014]在上面所公開的方案中,優選地,所述服務器基于文件解析規則解析接收到的文件,并且所述文件解析規則能夠根據實際需求被動態地配置和更新。
[0015]本發明的目的也可以通過以下技術方案實現:
一種基于異步傳輸方式的文件上傳方法,所述包括下列步驟:
(Al)當根據用戶指令需要將文件上傳至服務器時,瀏覽器調用與該瀏覽器相關聯的文件上傳裝置提供的接口將待上傳文件傳遞至所述文件上傳裝置,并能夠繼續響應用戶隨后的指令;
(A2)所述文件上傳裝置接管針對所述待上傳文件的后續上傳任務,并以常規的同步方式將所述待上傳文件傳送到服務器;
(A3)所述服務器接收所述待上傳文件,并且在所述接收完成后向所述文件上傳裝置傳送回響應結果;
(A4)所述文件上傳裝置將所述響應結果傳遞回所述瀏覽器以結束頁面上的上傳操作并供后續處理。
[0016]在上面所公開的方案中,優選地,所述服務器在接收完所述待上傳文件并且向所述文件上傳裝置傳送回響應結果后處理所述文件,并且將處理狀態存儲在處理狀態表中,其中,所述處理狀態表中的每個記錄對應于一個文件,并且所述服務器在接收完成一個文件后創建與該文件相關聯的記錄,并將該記錄的狀態域的值更新為“已上傳”,在處理該文件期間,將該記錄的狀態域的值更新為“處理中”,以及在該文件處理完畢后將該記錄的狀態域的值更新為“處理完成”。
[0017]在上面所公開的方案中,優選地,所述瀏覽器能夠基于用戶指令查詢所述處理狀態表以獲取相關文件的處理狀態。
[0018]本發明的目的也可以通過以下技術方案實現:
一種基于異步傳輸方式的文件上傳系統,所述系統包括:
瀏覽器,所述瀏覽器能夠在需要將文件上傳至服務器時調用與該瀏覽器相關聯的文件上傳裝置提供的接口將待上傳文件傳遞至所述文件上傳裝置,并能夠繼續響應用戶隨后的指令;
文件上傳裝置,所述文件上傳裝置在接收到所述待上傳文件后接管針對所述待上傳文件的后續上傳任務,并以常規的同步方式將所述待上傳文件傳送到服務器; 服務器,所述服務器接收并處理所述待上傳文件,并且在所述接收和處理完成后向所述文件上傳裝置傳送回響應結果。
[0019]本發明的目的也可以通過以下技術方案實現:
一種基于異步傳輸方式的文件上傳系統,所述系統包括:
瀏覽器,所述瀏覽器能夠在需要將文件上傳至服務器時調用與該瀏覽器相關聯的文件上傳裝置提供的接口將待上傳文件傳遞至所述文件上傳裝置,并能夠繼續響應用戶隨后的指令;
文件上傳裝置,所述文件上傳裝置在接收到所述待上傳文件后接管針對所述待上傳文件的后續上傳任務,并以常規的同步方式將所述待上傳文件傳送到服務器;
服務器,所述服務器在接收完成所述待上傳文件后立即向所述文件上傳裝置2傳送回響應結果。
[0020]本發明所公開的基于異步傳輸方式的文件上傳方法及系統具有以下優點:(1)能夠基于異步方式進行文件上傳(即在文件上傳期間頁面不被鎖定);(2)通過文件處理的延遲(即文件接收和處理相分離)而能夠實現文件的批量處理;(3)通過動態配置文件解析規則而實現對文件格式的靈活解析。
【附圖說明】
[0021]結合附圖,本發明的技術特征以及優點將會被本領域技術人員更好地理解,其中:
圖1是根據本發明的實施例的基于異步傳輸方式的文件上傳方法的流程圖;
圖2是根據本發明的實施例的基于異步傳輸方式的文件上傳系統的示意性結構圖。
【具體實施方式】
[0022]圖1是根據本發明的實施例的基于異步傳輸方式的文件上傳方法的流程圖。如圖1所示,本發明所公開的基于異步傳輸方式的文件上傳方法的第一實施例包括下列步驟:(Al)當根據用戶指令需要將文件上傳至服務器時,瀏覽器調用與該瀏覽器相關聯的文件上傳裝置提供的接口將待上傳文件傳遞至所述文件上傳裝置,并能夠繼續響應用戶隨后的指令(即不會導致當前頁面的刷新操作);(A2)所述文件上傳裝置接管針對所述待上傳文件的后續上傳任務,并以常規的同步方式將所述待上傳文件傳送到服務器;(A3)所述服務器接收并處理所述待上傳文件,并且在所述接收和處理完成后向所述文件上傳裝置傳送回響應結果;(A4)所述文件上傳裝置將所述響應結果傳遞回所述瀏覽器以供后續處理(例如顯示給用戶)。
[0023]優選地,在本發明所公開的基于異步傳輸方式的文件上傳方法的第一實施