[發明專利]一種文件上傳方法和裝置、電子設備及存儲介質有效
| 申請號: | 202110778008.0 | 申請日: | 2021-07-09 |
| 公開(公告)號: | CN113726842B | 公開(公告)日: | 2022-07-05 |
| 發明(設計)人: | 郭雯宇 | 申請(專利權)人: | 貝殼找房(北京)科技有限公司 |
| 主分類號: | H04L67/06 | 分類號: | H04L67/06;H04L49/9015 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 程琛 |
| 地址: | 100085 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 文件 上傳 方法 裝置 電子設備 存儲 介質 | ||
本發明提供一種文件上傳方法和裝置、電子設備及存儲介質,該方法包括:接收上傳文件指令;遍歷文件雙向鏈表,確定待上傳文件對應的代理對象;其中,所述文件雙向鏈表包括多個依次通過雙向指針鏈接的代理對象,所述代理對象包括對應文件的狀態數據和分片數據;根據待上傳文件的狀態數據,將待上傳文件對應的分片數據發送至服務器。本發明使用雙向鏈表結構對所有待處理文件進行集中統一調度和管理,實現多文件的簡便并行處理,使分片上傳過程不再需要依賴發布訂閱模式并可以對上傳狀態實時監管,使文件處理流程不丟失,為重試和斷點續傳做好準備,實現文件上傳的高效、穩定,同時提升用戶體驗。
技術領域
本發明涉及互聯網技術領域,尤其涉及一種文件上傳方法和裝置、電子設備及存儲介質。
背景技術
目前,由前端頁面上傳的視頻、圖片通常是不超過20M的小文件,不分片直接上傳即可。對于數據量較大的文件,采用分片上傳的方式。大文件上傳往往會出現上傳中斷的情形,為了實現斷點續傳,通常采用事件模型進行訂閱發布,實時監管文件分片處理情況,使文件處理流程不丟失。
其中,不分片直接上傳適用于數據量較小的文件,但是隨著文件數據的增加,上傳時間變長,加之網絡環境存在不穩定性,加大了文件上傳失敗的概率,所以上傳大文件通常采用分片上傳方式。利用訂閱發布模式實現文件斷點續傳的方式下,所用事件模型分為事件監聽、事件觸發并處理回調、事件銷毀,這三部分常常獨立存在于不同文件中,如果管理不當會造成瀏覽器內存泄漏的問題,而且處理過程也比較繁瑣,無法實現穩定、高效地多文件并行處理。
發明內容
本發明提供一種文件上傳方法和裝置,用以解決現有技術監管文件處理流程的過程繁瑣,以及因管理不當造成內存泄漏的問題,實現文件上傳的高效、穩定,同時提升用戶體驗。
本發明提供一種文件上傳方法,包括:
接收上傳文件指令;
遍歷文件雙向鏈表,確定待上傳文件對應的代理對象;其中,所述文件雙向鏈表包括多個依次通過雙向指針鏈接的代理對象,所述代理對象包括對應文件的狀態數據和分片數據;
根據所述待上傳文件的狀態數據,將所述待上傳文件對應的分片數據發送至服務器。
根據本發明提供的一種文件上傳方法,所述方法還包括:在接收上傳文件指令的情況下,若接收到新增文件,生成所述新增文件的代理對象;
根據所述狀態數據判斷所述文件雙向鏈表中是否存在中止文件;
若是,將所述新增文件的代理對象添加至首個中止文件之前;
若否,將所述新增文件的代理對象添加至文件雙向鏈表的尾部。
根據本發明提供的一種文件上傳方法,所述狀態數據包括:待處理分片隊列、成功隊列、失敗隊列、分片總數、中止標識符和文件唯一標識符;
根據所述待上傳文件的狀態數據,將所述待上傳文件對應的分片數據發送至服務器,包括:
根據所述待上傳文件的狀態數據,確定所述待上傳文件的狀態;
若所述待上傳文件的狀態為中止狀態,停止訪問后續的代理對象;
若所述待上傳文件的狀態為非中止狀態,且所述待上傳文件的分片總數為1,直接將所述待上傳文件對應的分片數據上傳至服務器,若上傳成功,將所述分片數據存儲至所述代理對象的成功隊列,若上傳失敗,將所述分片數據存儲至所述代理對象的失敗隊列;
若所述待上傳文件的狀態為非中止狀態,且所述待上傳文件的分片總數大于1,且文件唯一標識符為空,將所述待上傳文件的狀態設置為鎖定狀態,繼續訪問下一個待上傳文件的代理對象;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于貝殼找房(北京)科技有限公司,未經貝殼找房(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110778008.0/2.html,轉載請聲明來源鉆瓜專利網。





