TW201416892A - 文件自動分類方法及系統 - Google Patents
文件自動分類方法及系統 Download PDFInfo
- Publication number
- TW201416892A TW201416892A TW101140054A TW101140054A TW201416892A TW 201416892 A TW201416892 A TW 201416892A TW 101140054 A TW101140054 A TW 101140054A TW 101140054 A TW101140054 A TW 101140054A TW 201416892 A TW201416892 A TW 201416892A
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- user
- blocking
- block
- server
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一種文件自動分類方法及系統,該系統用於:讀取用戶文件的文件大小;當文件大小未超過設定值時,判定該用戶文件應該使用全文件分塊方法進行分塊,傳送至全文件分塊伺服器;當文件大小超過設定值時,讀取該用戶文件的文件頭資料,從中提取文件類型;根據提取的文件類型,分析該用戶文件應該使用固定長度分塊、可變長度分塊還是滑動塊分塊方法進行分塊,傳送至對應的固定長度分塊伺服器、可變長度分塊伺服器或者滑動塊分塊伺服器。本發明可以自動分析出文件適合的分塊方法。
Description
本發明涉及一種文件管理方法及系統,尤其是涉及一種雲儲存中的文件自動分類方法及系統。
在重復資料刪除過程中,文件分塊有四種主流方法,包括全文件分塊、固定長度分塊(FSP)、可變長度分塊(CDC)及滑動塊分塊(SB)。四種分塊方法處理對應類型的文件各有優勢:全文件分塊適用於較小的電子書、低清晰度個人照片等;固定長度分塊適用於高清晰度照片、電影、音樂等;可變長度分塊適用於光碟鏡像、系統備份等;滑動塊分塊適用於經常編輯的Word、Excel、代碼原始檔案、視頻剪輯等。四種分塊方法各有優缺點,目前沒有任何一種分塊方法能適合所有情況。我們無法得知用戶一定會儲存何種文件,因此不能快速得到最合適的分塊方法。
鑒於以上內容,有必要提供一種文件自動分類方法及系統,可以自動分析出文件適合的分塊方法。
所述文件自動分類方法包括:第一讀取步驟:當分配伺服器接收到用戶儲存的文件之後,讀取該用戶文件的文件大小;第一分析步驟:當該用戶文件的文件大小小於或等於設定值時,判定該用戶文件應該使用全文件分塊方法進行分塊,然後執行第一傳送步驟;第一傳送步驟:將該用戶文件傳送至全文件分塊伺服器;第二讀取步驟:當該用戶文件的文件大小大於設定值時,讀取該用戶文件的文件頭資料;提取步驟:從讀取的文件頭資料中提取該用戶文件的文件類型;第二分析步驟:根據提取的文件類型,分析該用戶文件應該使用固定長度分塊、可變長度分塊還是滑動塊分塊方法進行分塊;及第二傳送步驟:根據第二分析步驟的分析結果將該用戶文件傳送至對應的固定長度分塊伺服器、可變長度分塊伺服器或者滑動塊分塊伺服器。
所述文件自動分類系統包括:讀取模組,用於當分配伺服器接收到用戶儲存的文件之後,讀取該用戶文件的文件大小;分析模組,用於當該用戶文件的文件大小小於或等於設定值時,判定該用戶文件應該使用全文件分塊方法進行分塊;傳送模組,用於當判定該用戶文件應該使用全文件分塊方法進行分塊時,將該用戶文件傳送至全文件分塊伺服器;所述讀取模組,還用於當該用戶文件的文件大小大於設定值時,讀取該用戶文件的文件頭資料;提取模組,用於從讀取的文件頭資料中提取該用戶文件的文件類型;所述分析模組,還用於根據提取的文件類型,分析該用戶文件應該使用固定長度分塊、可變長度分塊還是滑動塊分塊方法進行分塊;及所述傳送模組,還用於根據分析模組的分析結果將該用戶文件傳送至對應的固定長度分塊伺服器、可變長度分塊伺服器或者滑動塊分塊伺服器。
相較於習知技術,本發明所述之文件自動分類方法及系統,能夠在進行重復資料刪除之前,根據文件大小和文件類型分析出用戶文件適合使用的分塊方法,將用戶文件自動分類,傳送至相應的分塊伺服器中進一步處理,從而達到提高效率以及負載均衡的作用。
參閱圖1所示,係為本發明文件自動分類系統較佳實施方式之運行環境圖。所述文件自動分類系統10運行於分配伺服器1中。所述分配伺服器1中還包括透過資料線或訊號線相連的處理器20及儲存器30,所述儲存器30用於儲存所述文件自動分類系統10的程式碼等資料,所述處理器20用於執行所述文件自動分類系統10的各功能模組,以完成本發明。所述分配伺服器1分別連接於全文件分塊伺服器2、固定長度分塊伺服器3、可變長度分塊伺服器4及滑動塊分塊伺服器5。在本實施方式中,上述五個伺服器可以屬於一個雲儲存系統,互相進行資料傳輸與分工合作。
所述全文件分塊伺服器2適合對較小電子書、低清晰度照片、個人錄音、種子文件、較小加密文件等較小的文件進行文件分塊和重復資料刪除的工作。所述固定長度分塊伺服器3適合對高清晰度照片、音樂、電影、軟體安裝包、較大加密文件等較大且不經常變動的文件進行文件分塊和重復資料刪除的工作。所述可變長度分塊伺服器4適合對光碟鏡像、系統定期備份、個人定期備份、個人作品等較大且經常少量修改的文件進行文件分塊和重復資料刪除的工作。所述滑動塊分塊伺服器5適合對公司或多人專案的作品、電影剪輯(編輯中)、大型軟體(製作中)等經常批量修改的文件進行文件分塊和重復資料刪除的工作。
參閱圖2所示,係為本發明文件自動分類系統較佳實施方式之功能模組圖。
所述文件自動分類系統10包括讀取模組100、判斷模組200、分析模組300、傳送模組400及提取模組500。
所述讀取模組100用於當分配伺服器1接收到用戶儲存的文件之後,讀取該用戶文件的文件大小。在本實施方式中,所述分配伺服器1、全文件分塊伺服器2、固定長度分塊伺服器3、可變長度分塊伺服器4及滑動塊分塊伺服器5均使用Linux作業系統,因此可以用fstat()函數讀取該用戶文件的文件屬性,該文件屬性中包括文件大小。
所述判斷模組200用於判斷該用戶文件的文件大小是否超過設定值。所述設定值為預先設置,例如512K。
所述分析模組300用於當該用戶文件的文件大小未超過(小於或等於)設定值時,判定該用戶文件應該使用全文件分塊方法進行分塊。
所述傳送模組400用於當判定該用戶文件應該使用全文件分塊方法進行分塊時,將該用戶文件傳送至所述全文件分塊伺服器2。
所述讀取模組100還用於當該用戶文件的文件大小超過(大於)設定值時,讀取該用戶文件的文件頭資料。在本實施方式中,可以用read()函數讀取該用戶文件的前十六位資料(即文件頭,16進制)。例如,jpg格式的文件前十六位資料為FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01,這十六位資料即為該文件的文件頭。
所述提取模組500用於從讀取的文件頭資料中提取該用戶文件的文件類型。例如,在上述jpg格式的文件的文件頭資料中,前三位“FF D8 FF”表示該文件的文件類型為jpg,所述提取模組500提取這前三位資料,即可得知該文件的文件類型。另外,常見文件類型如png格式的文件,表示文件類型的文件頭資料為前四位“89 50 4E 47”;xml格式的文件,表示文件類型的文件頭資料為前五位“47 3C 3F 78 6D 6C”;xls或doc格式的文件,表示文件類型的文件頭資料為前四位“D0 CF 11 E0”等。
所述分析模組300還用於根據提取的文件類型,分析該用戶文件應該使用固定長度分塊、可變長度分塊還是滑動塊分塊方法進行分塊。在本實施方式中,當該用戶文件的文件類型為avi、mp3、rar等較大(例如文件大小超過所述設定值)且不經常變動的文件時,應該使用固定長度分塊方法進行分塊;當該用戶文件的文件類型為ios、bak等較大且經常少量修改的文件時,應該使用可變長度分塊方法進行分塊;當該用戶文件的文件類型為doc、xls等經常批量修改(例如經常被用戶批量修改)的文件時,應該使用滑動塊分塊方法進行分塊。
所述傳送模組400還用於當分析出該用戶文件應該使用固定長度分塊方法進行分塊時,將該用戶文件傳送至所述固定長度分塊伺服器3。
所述傳送模組400還用於當分析出該用戶文件應該使用可變長度分塊方法進行分塊時,將該用戶文件傳送至所述可變長度分塊伺服器4。
所述傳送模組400還用於當分析出該用戶文件應該使用滑動塊分塊方法進行分塊時,將該用戶文件傳送至所述滑動塊分塊伺服器5。
參閱圖3所示,係為本發明文件自動分類方法較佳實施方式之流程圖。
步驟S10,當分配伺服器1接收到用戶儲存的文件之後,所述讀取模組100讀取該用戶文件的文件大小。在本實施方式中,可以用fstat()函數讀取該用戶文件的文件屬性,該文件屬性中包括文件大小。
步驟S12,所述判斷模組200判斷該用戶文件的文件大小是否超過設定值。所述設定值為預先設置,例如512K。若該用戶文件的文件大小未超過(小於或等於)設定值,則執行步驟S14-S16。若當該用戶文件的文件大小超過(大於)設定值,則執行步驟S18-S28。
步驟S14,所述分析模組300判定該用戶文件應該使用全文件分塊方法進行分塊。
步驟S16,所述傳送模組400將該用戶文件傳送至所述全文件分塊伺服器2。
步驟S18,所述讀取模組100讀取該用戶文件的文件頭資料。在本實施方式中,可以用read()函數讀取該用戶文件的前十六位資料(即文件頭,16進制)。
步驟S20,所述提取模組500從讀取的文件頭資料中提取該用戶文件的文件類型。
步驟S22,所述分析模組300根據提取的文件類型,分析該用戶文件應該使用固定長度分塊、可變長度分塊還是滑動塊分塊方法進行分塊。若分析出該用戶文件應該使用固定長度分塊方法進行分塊,則執行步驟S24。若分析出該用戶文件應該使用可變長度分塊方法進行分塊,則執行步驟S26。若分析出該用戶文件應該使用滑動塊分塊方法進行分塊,則執行步驟S28。
步驟S24,所述傳送模組400將該用戶文件傳送至所述固定長度分塊伺服器3。
步驟S26,所述傳送模組400將該用戶文件傳送至所述可變長度分塊伺服器4。
步驟S28,所述傳送模組400將該用戶文件傳送至所述滑動塊分塊伺服器5。
所述全文件分塊伺服器2、固定長度分塊伺服器3、可變長度分塊伺服器4及滑動塊分塊伺服器5接收到所述傳送模組400傳送的用戶文件之後,採用相應的方法執行文件分塊和重復資料刪除過程,然後將文件塊和計算出的每個文件塊的散列值(hash,一種校驗值)儲存至各伺服器對應的儲存區域(資料庫)中。
參閱圖4A所示,係為執行文件分塊和重復資料刪除過程之後儲存的文件索引列表較佳實施方式之示意圖。參閱圖4B所示,係為採用可變長度分塊(CDC)方法分塊的儲存文件列表較佳實施方式之示意圖。當用戶需要讀取其中某一文件時,可以透過文件ID(序列號,例如65020)從所述文件索引列表中查詢到該文件的相關資訊,然後根據該文件採用的分塊方法(例如CDC),查詢相應分塊方法的儲存文件列表,讀取各個塊,從而得到整個文件。
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅爲本發明之較佳實施方式,本發明之範圍並不以上述實施方式爲限,舉凡熟悉本案技藝之人士援依本發明之精神所作之等效修飾或變化,皆應涵蓋於以下申請專利範圍內。
1...分配伺服器
2...全文件分塊伺服器
3...固定長度分塊伺服器
4...可變長度分塊伺服器
5...滑動塊分塊伺服器
10...文件自動分類系統
20...處理器
30...儲存器
100...讀取模組
200...判斷模組
300...分析模組
400...傳送模組
500...提取模組
圖1係為本發明文件自動分類系統較佳實施方式之運行環境圖。
圖2係為本發明文件自動分類系統較佳實施方式之功能模組圖。
圖3係為本發明文件自動分類方法較佳實施方式之流程圖。
圖4A係為執行文件分塊和重復資料刪除過程之後儲存的文件索引列表較佳實施方式之示意圖。
圖4B係為採用可變長度分塊方法分塊的儲存文件列表較佳實施方式之示意圖。
10...文件自動分類系統
100...讀取模組
200...判斷模組
300...分析模組
400...傳送模組
500...提取模組
Claims (8)
- 一種文件自動分類方法,該方法包括:
第一讀取步驟:當分配伺服器接收到用戶儲存的文件之後,讀取該用戶文件的文件大小;
第一分析步驟:當該用戶文件的文件大小小於或等於設定值時,判定該用戶文件應該使用全文件分塊方法進行分塊,然後執行第一傳送步驟;
第一傳送步驟:將該用戶文件傳送至全文件分塊伺服器;
第二讀取步驟:當該用戶文件的文件大小大於設定值時,讀取該用戶文件的文件頭資料;
提取步驟:從讀取的文件頭資料中提取該用戶文件的文件類型;
第二分析步驟:根據提取的文件類型,分析該用戶文件應該使用固定長度分塊、可變長度分塊還是滑動塊分塊方法進行分塊;及
第二傳送步驟:根據第二分析步驟的分析結果將該用戶文件傳送至對應的固定長度分塊伺服器、可變長度分塊伺服器或者滑動塊分塊伺服器。 - 如申請專利範圍第1項所述之文件自動分類方法,其中,在所述第一讀取步驟中,利用fstat()函數讀取該用戶文件的文件屬性,該文件屬性中包括文件大小。
- 如申請專利範圍第1項所述之文件自動分類方法,其中,在所述第二讀取步驟中,利用read()函數讀取該用戶文件的前十六位資料,即為文件頭。
- 如申請專利範圍第1項所述之文件自動分類方法,其中,在所述第二分析步驟中:
當該用戶文件的文件類型為較大且不經常變動的文件時,使用固定長度分塊方法進行分塊;
當該用戶文件的文件類型為較大且經常少量修改的文件時,使用可變長度分塊方法進行分塊;
當該用戶文件的文件類型為經常批量修改的文件時,使用滑動塊分塊方法進行分塊。 - 一種文件自動分類系統,該系統包括:
讀取模組,用於當分配伺服器接收到用戶儲存的文件之後,讀取該用戶文件的文件大小;
分析模組,用於當該用戶文件的文件大小小於或等於設定值時,判定該用戶文件應該使用全文件分塊方法進行分塊;
傳送模組,用於當判定該用戶文件應該使用全文件分塊方法進行分塊時,將該用戶文件傳送至全文件分塊伺服器;
所述讀取模組,還用於當該用戶文件的文件大小大於設定值時,讀取該用戶文件的文件頭資料;
提取模組,用於從讀取的文件頭資料中提取該用戶文件的文件類型;
所述分析模組,還用於根據提取的文件類型,分析該用戶文件應該使用固定長度分塊、可變長度分塊還是滑動塊分塊方法進行分塊;及
所述傳送模組,還用於根據分析模組的分析結果將該用戶文件傳送至對應的固定長度分塊伺服器、可變長度分塊伺服器或者滑動塊分塊伺服器。 - 如申請專利範圍第5項所述之文件自動分類系統,其中,所述讀取模組利用fstat()函數讀取該用戶文件的文件屬性,該文件屬性中包括文件大小。
- 如申請專利範圍第5項所述之文件自動分類系統,其中,所述讀取模組利用read()函數讀取該用戶文件的前十六位資料,即為文件頭。
- 如申請專利範圍第5項所述之文件自動分類系統,其中,
當該用戶文件的文件類型為較大且不經常變動的文件時,使用固定長度分塊方法進行分塊;
當該用戶文件的文件類型為較大且經常少量修改的文件時,使用可變長度分塊方法進行分塊;
當該用戶文件的文件類型為經常批量修改的文件時,使用滑動塊分塊方法進行分塊。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210410185.4A CN103778268A (zh) | 2012-10-24 | 2012-10-24 | 文件自动分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201416892A true TW201416892A (zh) | 2014-05-01 |
TWI484360B TWI484360B (zh) | 2015-05-11 |
Family
ID=50486335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101140054A TWI484360B (zh) | 2012-10-24 | 2012-10-30 | 文件自動分類方法及系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140115038A1 (zh) |
CN (1) | CN103778268A (zh) |
TW (1) | TWI484360B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227852A (zh) * | 2016-07-28 | 2016-12-14 | 中国石油天然气集团公司 | 地震勘探成果数据文件的识别方法和装置 |
CN106227893A (zh) * | 2016-08-24 | 2016-12-14 | 乐视控股(北京)有限公司 | 一种文件类型获取方法及装置 |
CN106933967B (zh) * | 2017-02-09 | 2022-12-20 | 宇龙计算机通信科技(深圳)有限公司 | 文件内容的批量修改方法及批量修改装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018978A1 (en) * | 2001-03-02 | 2003-01-23 | Singal Sanjay S. | Transfer file format and system and method for distributing media content |
TW512597B (en) * | 2001-07-31 | 2002-12-01 | Inventec Appliances Corp | Method for electronic device using IR to transmit multimedia data |
TWI288918B (en) * | 2006-03-30 | 2007-10-21 | Sunplus Technology Co Ltd | Optical storage media for real-time recording AVI-format file and method therefor |
TW200947215A (en) * | 2008-05-07 | 2009-11-16 | Acer Inc | Method and computer system for accelerating file transmission |
US8140491B2 (en) * | 2009-03-26 | 2012-03-20 | International Business Machines Corporation | Storage management through adaptive deduplication |
US8719240B2 (en) * | 2009-06-19 | 2014-05-06 | International Business Machines Corporation | Apparatus and method to sequentially deduplicate groups of files comprising the same file name but different file version numbers |
US8396899B2 (en) * | 2009-11-23 | 2013-03-12 | Dell Products L.P. | Efficient segment detection for deduplication |
CN101957836B (zh) * | 2010-09-03 | 2012-07-11 | 清华大学 | 一种文件系统中可配置的实时透明压缩方法 |
CN102014150B (zh) * | 2010-09-29 | 2013-12-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于udp分布式小文件存储系统及其数据处理方法 |
CN102142006B (zh) * | 2010-10-27 | 2013-10-02 | 华为技术有限公司 | 分布式文件系统的文件处理方法及装置 |
US8380681B2 (en) * | 2010-12-16 | 2013-02-19 | Microsoft Corporation | Extensible pipeline for data deduplication |
US8510267B2 (en) * | 2011-03-08 | 2013-08-13 | Rackspace Us, Inc. | Synchronization of structured information repositories |
CN103034659B (zh) * | 2011-09-29 | 2015-08-19 | 国际商业机器公司 | 一种重复数据删除的方法和系统 |
US8959522B2 (en) * | 2012-01-30 | 2015-02-17 | International Business Machines Corporation | Full exploitation of parallel processors for data processing |
US9065704B1 (en) * | 2012-06-06 | 2015-06-23 | Sprint Communications Company L.P. | Parallel adaptation of digital content |
-
2012
- 2012-10-24 CN CN201210410185.4A patent/CN103778268A/zh active Pending
- 2012-10-30 TW TW101140054A patent/TWI484360B/zh not_active IP Right Cessation
-
2013
- 2013-10-17 US US14/055,916 patent/US20140115038A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN103778268A (zh) | 2014-05-07 |
US20140115038A1 (en) | 2014-04-24 |
TWI484360B (zh) | 2015-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11734125B2 (en) | Tiered cloud storage for different availability and performance requirements | |
KR102007070B1 (ko) | 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법 | |
US10430398B2 (en) | Data storage system having mutable objects incorporating time | |
US8458186B2 (en) | Systems and methods for processing and managing object-related data for use by a plurality of applications | |
US10437684B2 (en) | Similarity based deduplication for secondary storage | |
US8965852B2 (en) | Methods and apparatus for network efficient deduplication | |
TWI603211B (zh) | Construction of inverted index system based on Lucene, data processing method and device | |
US10545832B2 (en) | Similarity based deduplication for secondary storage | |
US10621144B2 (en) | Parallel deduplication using automatic chunk sizing | |
WO2017028690A1 (zh) | 一种基于etl的文件处理方法及系统 | |
CN103955530A (zh) | 一种在线重复数据删除系统的数据重建优化方法 | |
US10423495B1 (en) | Deduplication grouping | |
TWI484360B (zh) | 文件自動分類方法及系統 | |
US9424269B1 (en) | Systems and methods for deduplicating archive objects | |
EP3042316B1 (en) | Music identification | |
JP5444728B2 (ja) | ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム | |
Zuo et al. | Bandwidth and energy efficient image sharing for situation awareness in disasters | |
TWI677795B (zh) | 電腦化方法及使用元合併及/或元分組的索引的電腦化系統 | |
CN108228101B (zh) | 一种管理数据的方法和系统 | |
US9898485B2 (en) | Dynamic context-based data protection and distribution | |
US10540329B2 (en) | Dynamic data protection and distribution responsive to external information sources | |
Viji et al. | Hash-Indexing Block-Based Deduplication Algorithm for Reducing Storage in the Cloud. | |
Uehara | Split file model for big data in low throughput storage | |
US11526466B2 (en) | Uniform growth for differently sized files | |
WO2021131456A1 (ja) | データ管理計算機及びデータ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |