[發明專利]一種文件寫入方法和裝置有效
| 申請號: | 201510031102.4 | 申請日: | 2015-01-21 |
| 公開(公告)號: | CN104516988B | 公開(公告)日: | 2018-09-28 |
| 發明(設計)人: | 金友兵 | 申請(專利權)人: | 天津書生云科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京布瑞知識產權代理有限公司 11505 | 代理人: | 楊晞 |
| 地址: | 300308 天津市濱海新區空港經*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 文件寫入 包文件 方法和裝置 起點信息 寫入 待寫入文件 創建文件 存儲介質 寫入存儲 數據庫 存儲 合并 記錄 | ||
1.一種文件寫入方法,其特征在于,包括:
將多個待寫入文件合并寫入存儲介質中的一個包文件,并記錄每一個文件在該包文件中的寫入起點信息;
將各文件在該包文件中的寫入起點信息存儲在數據庫中;
將一待寫入文件合并寫入存儲介質中的一個包文件之前,進一步包括:
判斷當前包文件是否已被寫滿;
在當前包文件未被寫滿時,繼續向所述未寫滿的包文件中寫入所述待寫入文件;
其中,所述數據庫包括數據庫臨時表和數據庫全局表;
其中,所述數據庫臨時表存放未寫滿的包文件的文件信息;數據庫全局表存儲所有包文件的文件信息。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
當判斷當前包文件未存滿時,將所述待寫入文件的寫入起點信息分別寫入數據庫臨時表中所述包文件的文件信息以及數據庫全局表中所述包文件的文件信息;
當判斷當前包文件已存滿時,將所述待寫入文件的寫入起點信息寫入數據庫全局表中所述包文件的文件信息,并刪除所述數據庫臨時表中對應的所述包文件的文件信息。
3.根據權利要求1至2中任一所述的方法,其特征在于,通過打包實例隊列中的一打包實例控制將多個待寫入文件合并寫入存儲介質中的一個包文件,并記錄每一個文件在該包文件中的寫入起點信息;以及將各文件在該包文件中的寫入起點信息存儲在數據庫中。
4.根據權利要求3所述的方法,其特征在于,將多個待寫入文件合并寫入存儲介質中的一個包文件包括:
從所述打包實例隊列底部獲取一個打包實例;
判斷待寫入文件是否被成功寫入;
當待寫入文件被成功寫入時,將該打包實例歸還至隊列底部;當待寫入文件寫入失敗時,將該打包實例歸還至隊列頂部。
5.根據權利要求3所述的方法,其特征在于,在判斷待寫入文件是否被成功寫入之前,進一步包括:
判斷所述獲取的打包實例是否已打開一個文件句柄;
當判斷結果返回為否時,為該打包實例打開一個文件句柄。
6.根據權利要求5所述的方法,其特征在于,在將多個待寫入文件合并寫入存儲介質中的一個包文件之前,進一步包括:
從數據庫中加載所有未寫滿包文件的文件信息至內存;其中,所述包文件的文件信息包括已被寫入該包文件中所有文件的寫入起點信息;
從內存中提取當前獲取的打包實例所對應的包文件的文件信息;
若無法提取,則為該打包實例生成一個包文件的文件信息,將該文件信息存儲在數據庫中,根據所述生成的文件信息創建包文件。
7.根據權利要求1所述的方法,其特征在于,所述寫入起點信息包括用戶文件名、包文件名和數據起始地址信息。
8.根據權利要求7所述的方法,其特征在于,所述數據起始地址信息為數據存儲的起始指針位置信息。
9.根據權利要求8所述的方法,其特征在于,所述用戶文件名采用文件摘要字段表示;和/或,
所述包文件名采用全球通用唯一識別碼字段+PACK后綴表示;和/或,
所述數據起始地址信息采用當前待寫入文件在當前包文件中的存儲起點位置字段表示。
10.根據權利要求1至2、4至9中任一所述的方法,其特征在于,在將多個待寫入文件合并寫入存儲介質中的一個包文件之前,進一步包括:
判斷待寫入文件的文件大小是否小于等于一預設閾值;
當結果為是時,將待寫入文件與其他待寫入文件一起寫入存儲介質的一個包文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津書生云科技有限公司,未經天津書生云科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510031102.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:光纖光柵振動傳感器
- 下一篇:一種確定卸載鄰區的方法及裝置





