一種基于存儲設備的文件掃描方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種基于存儲設備的文件掃描方法及裝置,所述方法包括:預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫稱為內(nèi)部數(shù)據(jù)庫,用于供掃描記錄和應用查詢;另一個數(shù)據(jù)庫是媒體數(shù)據(jù)庫,用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描;當所述存儲設備第一次掛載掃描時,將掃描到的媒體文件信息同時存儲在所述內(nèi)部數(shù)據(jù)庫和所述媒體數(shù)據(jù)庫;而當再次插拔所述存儲設備,進行重新掃描時,如果查詢到所述媒體數(shù)據(jù)庫中有需掃描的媒體文件信息,則直接從所述媒體數(shù)據(jù)庫中獲取需掃描的媒體文件信息,插入到所述內(nèi)部數(shù)據(jù)庫中,完成掃描。采用本發(fā)明可避免重復性掃描,最重要的是節(jié)省了大量的掃描時間,提高了掃描效率,大大節(jié)省了用戶的等待時間。
【專利說明】一種基于存儲設備的文件掃描方法及裝置
【技術領域】
[0001]本發(fā)明涉及電子存儲設備掃描【技術領域】,尤其涉及的是一種基于存儲設備的文件掃描方法及裝置。
【背景技術】
[0002]隨著技術的發(fā)展,現(xiàn)在的智能設備越來越多,從開始的個人電腦,平板電腦,到現(xiàn)在常用的智能系統(tǒng)和Android系統(tǒng),應用越來越多樣化,也就希望系統(tǒng)能提供更全面的文件信息,這就是需要文件掃描功能,在媒體文件中獲取stream (數(shù)據(jù)流)和format (格式)中的豐富信息,還可以解碼其中的幀可以給用戶直觀印象(縮略圖)。
[0003]但是隨著存儲設備趨于多樣化,特別是Android系統(tǒng)應用于電視以后,對于動輒數(shù)GB的高清影視,存儲設備更是從傳統(tǒng)的SDcard、USB設備,到現(xiàn)在常用的大容量移動硬盤。支持大容量移動硬盤后,掃描速度一直都是讓人煩惱的問題。特別是一個存儲設備插拔在多個設備間,每次都需要花費大量的時間掃描,費時費力,給用戶造成不便。
[0004]現(xiàn)有android系統(tǒng),媒體文件的掃描過程如圖1所示:
步驟S10、開始,掛載存儲設備。
[0005]步驟SI 1、存儲設備掛載后,Kernel (內(nèi)核)會發(fā)Mounted廣播并傳掃描路徑,通知掃描器開始掃描,進入步驟S12。
[0006]步驟S12、啟動掃描。
[0007]步驟S13、以遞歸方式進入掃描目錄,并進入步驟S14。
[0008]步驟S14、判斷是否有需要掃描的媒體文件?即從掃描路徑獲取文件,如果有文件并且是要求掃描的媒體文件,執(zhí)行第步驟S15 ;否則掃描結(jié)束到步驟S17。
[0009]步驟S15、掃描文件所述媒體文件,轉(zhuǎn)入步驟S16。
[0010]步驟S16、文件掃描后,將其掃描信息插入數(shù)據(jù)庫中,更新數(shù)據(jù)庫,當掃描的媒體文件信息已在所述媒體數(shù)據(jù)庫中存在,則更新時間,并返回步驟S14。
[0011]步驟S17、掃描后處理,刪除不存在的數(shù)據(jù)庫條目,并進入步驟S18。
[0012]步驟S18、掃描結(jié)束。
[0013]由上面步驟可以看出,掛載設備時,存入掃描信息和刪除不存在條目使數(shù)據(jù)庫保持動態(tài)更新。
[0014]分析現(xiàn)有技術的掃描過程可以發(fā)現(xiàn),掃描大容量的存儲設備過程中,由于掃描文件所述媒體文件數(shù)量多而花費了大量的時間。但是在掃描過程中真正花費大量時間和資源的是執(zhí)行單個文件掃描的這個過程,也就是在打開文件,獲取文件信息和解碼縮略圖。
[0015]在插上設備時,會掃描信息并將其添加到數(shù)據(jù)庫中,而在拔掉的時候,會把相應盤的數(shù)據(jù)清除掉。如此,要是反復插拔存儲設備,下次掃描還會重復這個過程,就會耗費大量資源重復掃描,而且掃描速度很慢。
[0016]因此,現(xiàn)有技術還有待于改進和發(fā)展。
【發(fā)明內(nèi)容】
[0017]本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的上述缺陷,提供一種基于存儲設備的文件掃描方法及裝置,提供了一種信息共享的快速掃描方法,可避免重復性掃描,也不會使大量的資源浪費在重復掃描上,最重要的是節(jié)省了大量的掃描時間,提高了掃描效率,大大節(jié)省了用戶的等待時間。
[0018]本發(fā)明解決技術問題所采用的技術方案如下:
一種基于存儲設備的文件掃描方法,其中,包括步驟:
A、預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫為用于供掃描記錄和應用查詢的內(nèi)部數(shù)據(jù)庫;另一個數(shù)據(jù)庫為用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描的媒體數(shù)據(jù)庫;
B、掃描步驟:第一次掃描存儲設備時,將掃描到的媒體文件信息同時存儲在所述內(nèi)部數(shù)據(jù)庫和所述媒體數(shù)據(jù)庫;
當下次重新掃描時,如果查詢到所述媒體數(shù)據(jù)庫中有需掃描的媒體文件信息,則直接從所述媒體數(shù)據(jù)庫中獲取需掃描的媒體文件信息,插入到所述內(nèi)部數(shù)據(jù)庫中,完成掃描。
[0019]所述的基于存儲設備的文件掃描方法,其中,所述步驟B具體包括:
B1、當?shù)谝淮螔呙璐鎯υO備時,判斷是否有需要掃描的媒體文件,當是時進入步驟B2,當否時進入步驟B6 ;
B2、查找所述媒體數(shù)據(jù)庫中是否有與所述需要掃描的媒體文件相同的文件;當否時進入步驟B3,當是時進入步驟B4 ;
B3、掃描所述媒體文件,并將掃描的媒體文件信息更新存儲到所述內(nèi)部數(shù)據(jù)庫中;并同時把掃描的媒體信息同步插入到媒體數(shù)據(jù)庫中,然后返回到步驟BI ;
B4、當查找媒體數(shù)據(jù)庫中有與所述需要掃描的媒體文件相同的文件,則在所述媒體數(shù)據(jù)庫中,查找出該相同文件的媒體信息和縮略圖地址,并進入步驟B5 ;
B5、把查詢到的媒體信息插入到所述內(nèi)部數(shù)據(jù)庫external, db中,并把縮略圖地址插A external, db中,并返回步驟BI ;
B6、掃描結(jié)束后處理,刪除所述內(nèi)部數(shù)據(jù)庫中不存在的數(shù)據(jù)庫條目。
[0020]所述的基于存儲設備的文件掃描方法,其中,所述步驟B2中的相同的文件為:文件名相同和文件大小相同。
[0021]所述的基于存儲設備的文件掃描方法,其中,所述步驟A具體包括:
Al、預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫稱為內(nèi)部數(shù)據(jù)庫,用于供掃描記錄和應用查詢,另一個數(shù)據(jù)庫是媒體數(shù)據(jù)庫,用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描;
A2、將所述內(nèi)部數(shù)據(jù)庫安裝在客戶端,將所述媒體數(shù)據(jù)庫安裝在服務器端。
[0022]所述的基于存儲設備的文件掃描方法,其中,所述步驟B具體包括:
BS1、當客戶端掛載所述存儲設備開始掃描時;系統(tǒng)內(nèi)核發(fā)廣播并上傳掃描路徑,以遞歸方式進入掃描路徑,并進入掃描目錄;
BS2、客戶端判斷是否有需要掃描的媒體文件,當是時進入步驟BS3,當否時進入步驟
BS6 ;
BS3、客戶端發(fā)指令在服務器的媒體數(shù)據(jù)庫中查找是否有與需要掃描的媒體文件相同的文件;當否時進入步驟BS4,當是時進入步驟BS5 ;
BS4、客戶端掃描所述媒體文件,并將掃描的媒體文件信息存儲到所述內(nèi)部數(shù)據(jù)庫中,以更新同步所述內(nèi)部數(shù)據(jù)庫,并返回步驟BSl ;
BS5、客戶端在服務器的媒體數(shù)據(jù)庫中,查找出該相同文件的媒體信息和縮略圖地址;并把查詢出與所述需要掃描的媒體文件相同的媒體信息同步到所述內(nèi)部數(shù)據(jù)庫,并把所述縮略圖地址同步到所述內(nèi)部數(shù)據(jù)庫中,返回步驟BSl ;
BS6、掃描后處理,客戶端刪除所述內(nèi)部數(shù)據(jù)庫中不存在的數(shù)據(jù)庫條目,并進入步驟
BS7 ;
BS7、客戶端掃描結(jié)束后,客戶端把本地的內(nèi)部數(shù)據(jù)庫中的新增的掃描信息也同步到服務器上的媒體數(shù)據(jù)庫中。
[0023]所述的基于存儲設備的文件掃描方法,其中,所述步驟BS3還包括:當判斷文件名相同和文件大小相同則認為是相同文件。
[0024]所述的基于存儲設備的文件掃描方法,其中,所述步驟BS7還包括:當客戶端的內(nèi)部數(shù)據(jù)庫與服務器端的媒體數(shù)據(jù)庫類型不同,則客戶端將其內(nèi)部數(shù)據(jù)庫轉(zhuǎn)換為與服務器端的媒體數(shù)據(jù)庫類型相同的數(shù)據(jù)庫,數(shù)據(jù)庫轉(zhuǎn)換后再把客戶端本地的內(nèi)部數(shù)據(jù)庫中的新增的掃描信息也同步到服務器上的媒體數(shù)據(jù)庫。
[0025]所述的基于存儲設備的文件掃描方法,其中,所述媒體文件包括:音視頻文件、圖片文件、WORD文件和EXCEL文件中的一種或多種。
[0026]一種采用上述任一項所述基于存儲設備的文件掃描方法的裝置,其中,包括: 數(shù)據(jù)建立模塊,用于預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫為用于供掃描記錄和應用
查詢的內(nèi)部數(shù)據(jù)庫;另一個數(shù)據(jù)庫為用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描的媒體數(shù)據(jù)庫;
掃描更新模塊,用于第一次掃描存儲設備時,將掃描到的媒體文件信息同時存儲在所述內(nèi)部數(shù)據(jù)庫和所述媒體數(shù)據(jù)庫;
當下次重新掃描時,如果查詢到所述媒體數(shù)據(jù)庫中有需掃描的媒體文件信息,則直接從所述媒體數(shù)據(jù)庫中獲取需掃描的媒體文件信息,插入到所述內(nèi)部數(shù)據(jù)庫中,完成掃描。
[0027]所述的文件掃描方法的裝置,其中,所述掃描更新模塊包括:
第一掃描單元,用于當?shù)谝淮螔呙璐鎯υO備時,判斷是否有需要掃描的媒體文件;
查找單元,用于查找所述媒體數(shù)據(jù)庫中是否有與所述需要掃描的媒體文件相同的文
件;
第二掃描單元,用于當查找媒體數(shù)據(jù)庫中有與所述需要掃描的媒體文件相同的文件,則在所述媒體數(shù)據(jù)庫中,查找出該相同文件的媒體信息和縮略圖地址,把查詢到的媒體信息插入到所述內(nèi)部數(shù)據(jù)庫中,并把縮略圖地址插入到所述內(nèi)部數(shù)據(jù)庫中;
同步更新單元,用于當所述媒體數(shù)據(jù)庫中是沒有與所述需要掃描的媒體文件相同的文件,掃描所述媒體文件,并將掃描的媒體文件信息更新存儲到所述內(nèi)部數(shù)據(jù)庫中;并同時把掃描的媒體信息同步插入到媒體數(shù)據(jù)庫中。
[0028]本發(fā)明所提供的一種基于存儲設備的文件掃描方法及裝置,可避免重復性掃描,也不會使大量的資源浪費在重復掃描上,最重要的是節(jié)省了大量的掃描時間,提高了掃描效率,大大節(jié)省了用戶的等待時間。并且避免了不穩(wěn)定因素的產(chǎn)生,而且在第二次掛載上設備以后,大大降低了掃描時間,節(jié)省了大量掃描所要耗費的大量資源,提高了掃描效率,保證了掃描的穩(wěn)定性?!緦@綀D】
【附圖說明】
[0029]圖1是現(xiàn)有技術的媒體文件的掃描過程流程圖。
[0030]圖2是本發(fā)明基于存儲設備的文件掃描方法的第一較佳實施例的流程圖。
[0031]圖3是本發(fā)明基于存儲設備的文件掃描方法的第二較佳實施例的網(wǎng)絡連接結(jié)構(gòu)示意圖。
[0032]圖4是本發(fā)明基于存儲設備的文件掃描方法的第二較佳實施例的流程圖。
[0033]圖5是本發(fā)明基于存儲設備的文件掃描方法的裝置的實施例原理框圖。
[0034]圖6是本發(fā)明基于存儲設備的文件掃描方法的裝置的實施例的掃描更新模塊原理框圖。
[0035]
【具體實施方式】
[0036]為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0037]針對現(xiàn)在大容量的存儲設備出現(xiàn)掃描速度慢的問題,本發(fā)明提供一種基于存儲設備的文件掃描方法,需要預先建立兩個數(shù)據(jù)庫,有一個數(shù)據(jù)庫是原有的,供掃描記錄和app(應用)查詢,稱為內(nèi)部數(shù)據(jù)庫external, db ;另一個數(shù)據(jù)庫是專門記錄媒體信息,輔助原有數(shù)據(jù)庫實現(xiàn)快速掃描,稱為媒體數(shù)據(jù)庫media, db。
[0038]例如當掃描一個存儲設備,里面有一個music是全是愛.mp3,本發(fā)明中采用在第一次掃描的時候,除了把它放在原有的內(nèi)部數(shù)據(jù)庫external, db中,還放在所述媒體數(shù)據(jù)庫media, db中。而當在插拔這個設備時,進行重新掃描時,如果查詢到媒體數(shù)據(jù)庫media, db中有這個文件,就不需要重新打開文件,獲取文件的信息了,直接共享媒體數(shù)據(jù)庫media, db中的信息,插入到內(nèi)部數(shù)據(jù)庫external, db中,就可以完成掃描,這個與打開文件,在stream、format里找信息,解碼得到縮略圖相比,節(jié)省了時間和資源。
[0039]本發(fā)明實施例中的媒體數(shù)據(jù)庫media, db是以文件為關鍵信息建立的,只要這個文件放在了媒體數(shù)據(jù)庫media, db里;如果另一個存儲設備上也要掃描相同文件,或這個盤上其它地址下要掃描相同文件,都可以直接在media, db中提取信息,不需要重新掃描了。本發(fā)明中認為相同文件的條件是文件名相同且文件大小相同。
[0040]以下將通過具體的應用實施例對本發(fā)明基于存儲設備的文件掃描方法做進一步說明:
請參見圖2,圖2是本發(fā)明基于存儲設備的文件掃描方法的較佳實施例的流程圖。如圖2所示,本發(fā)明基于存儲設備的文件掃描方法的實施例包括以下步驟:
步驟S100、預先建立兩個數(shù)據(jù)庫。其中有一個數(shù)據(jù)庫是原有的,供掃描記錄和app (應用)查詢,稱為內(nèi)部數(shù)據(jù)庫external, db ;另一個數(shù)據(jù)庫是專門記錄媒體信息,輔助原有數(shù)據(jù)庫實現(xiàn)快速掃描,稱為媒體數(shù)據(jù)庫media, db步驟S101、開始,掛載移動存儲設備。
[0041]步驟S102、存儲設備掛載到Android系統(tǒng)上后,Android系統(tǒng)的內(nèi)核(Kernel)發(fā)mounted廣播并上傳掃描路徑,通知掃描器開始掃描。
[0042]步驟S103、啟動掃描。
[0043]步驟S104、遞歸方式進入掃描路徑,進入掃描目錄。
[0044]步驟S105、判斷是否有需要掃描的媒體文件?當是時進入步驟S110,當否時進入步驟S120。即從掃描路徑獲取文件,如果有文件并且是需要掃描的媒體文件,則執(zhí)行步驟SllO ;否則到步驟S120。
[0045]步驟S110、查找媒體數(shù)據(jù)庫media.db中是否有與所述需要掃描的媒體文件相同的文件?當否時進入步驟S111,當是時進入步驟S112。
[0046]即針對需要掃描的媒體文件,在媒體數(shù)據(jù)庫media, db中進行查找,如果掃描發(fā)現(xiàn)文件名相同和文件大小相同的文件則認為是與上述需要掃描的的媒體文件相同的文件。如果需要掃描的媒體文件在所述媒體數(shù)據(jù)庫media, db中沒有相同文件,則執(zhí)行步驟Slll ;當有時則執(zhí)行第步驟SI 13。
[0047]步驟S111、掃描文件所述媒體文件,文件掃描后,將掃描的媒體文件信息存儲到所述內(nèi)部數(shù)據(jù)庫external, db中,即為更新內(nèi)部數(shù)據(jù)庫,并進入步驟S112。
[0048]步驟S112、同時把掃描的媒體信息同步更新到媒體數(shù)據(jù)庫media, db中,然后返回到步驟S105。
[0049]步驟S113、查找出該相同文件的媒體信息和縮略圖地址,并進入步驟S114。
[0050]步驟S114、把查詢到的媒體信息插入到所述內(nèi)部數(shù)據(jù)庫external, db中,并把縮略圖地址插入到所述內(nèi)部數(shù)據(jù)庫external, db中,并返回步驟S105。
[0051]步驟S120、掃描結(jié)束后處理,刪除內(nèi)部數(shù)據(jù)庫external, db中不存在的數(shù)據(jù)庫條目,并進入步驟S121。
[0052]步驟S121、結(jié)束流程。
[0053]由上可以看出來,本發(fā)明實施例的方法功能在于,只要掃描過的文件,信息放在了媒體數(shù)據(jù)庫media, db中,下次在同一臺設備上掃描時,就不需要執(zhí)行具體的操作,直接共享媒體數(shù)據(jù)庫media, db中的數(shù)據(jù)就可以了,也就是相當于建立了一個媒體中心。這樣,可避免重復性掃描,也不會使大量的資源浪費在重復掃描上,最重要的是節(jié)省了大量的掃描時間,提高了掃描效率,大大節(jié)省了用戶的等待時間。
[0054]而如果在網(wǎng)絡中,所有的設備都可以共享所述媒體數(shù)據(jù)庫media, db中的數(shù)據(jù),都不需要每個設備各自重新掃描,例如:把大容量的設備A盤插在設備I上,拔下直接插在設備2上,很快就可以使用,不用大量的掃描時間,提高了掃描效率。
[0055]進一步地,本發(fā)明還提供了第二實施例的基于存儲設備的文件掃描方法,所述第二實施例的【具體實施方式】為;主要采用預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫稱為內(nèi)部數(shù)據(jù)庫,用于供掃描記錄和應用查詢,另一個數(shù)據(jù)庫是媒體數(shù)據(jù)庫,用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描;并將所述內(nèi)部數(shù)據(jù)庫安裝在客戶端,將所述媒體數(shù)據(jù)庫安裝在服務器端,即本第二實施例主要是把媒體數(shù)據(jù)庫media, db放在了一個類似服務器的設備中,這樣可以避免同一設備中反復掃描浪費資源,節(jié)省掃描時間。
[0056]即如果把媒體數(shù)據(jù)庫media, db放在網(wǎng)絡的服務器上,只需要上述實施例一的基礎上略微改動,就可以提高網(wǎng)絡中能訪問的服務器所有設備的掃描速度。如圖3所示,本實施例二的基于與服務器相連接的存儲設備的文件掃描方法中,所述存儲設備客戶端包括PC60、智能手機50、平板電腦40、智能電視30等,本實施例的客戶端都可以通過網(wǎng)絡訪問服務器20中的媒體數(shù)據(jù)庫media, db。這樣每一個設備在掛載存儲設備時,都可以節(jié)省掃描媒體數(shù)據(jù)庫media, db中包括的文件的掃描時間,同時,也在不斷的擴充媒體數(shù)據(jù)庫media, db,這樣所有的設備的掃描時間都會大大縮短。
[0057]由于網(wǎng)絡中設備系統(tǒng)的差異,所以在各個設備中的數(shù)據(jù)庫的結(jié)構(gòu)可能會有所差異,因此,在本發(fā)明第二實施例的方法中在各設備訪問服務器設備時只需加入數(shù)據(jù)庫轉(zhuǎn)換模塊,就可以兼容不同數(shù)據(jù)庫的系統(tǒng)設備了。
[0058]如圖4所示,所述第二實施例的基于存儲設備的文件掃描方法包括以下步驟: 步驟S200、預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫稱為內(nèi)部數(shù)據(jù)庫,用于供掃描記錄
和應用查詢,另一個數(shù)據(jù)庫是媒體數(shù)據(jù)庫,用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描;并將所述內(nèi)部數(shù)據(jù)庫安裝在客戶端,將所述媒體數(shù)據(jù)庫安裝在服務器端。
[0059]步驟S201、開始,客戶端掛載移動存儲設備。
[0060]步驟S202、存儲設備掛載到Android系統(tǒng)上后,Android系統(tǒng)的內(nèi)核(Kernel)發(fā)mounted廣播并上傳掃描路徑,通知掃描器開始掃描。
[0061]步驟S203、啟動掃描。
[0062]步驟S204、遞歸方式進入掃描路徑,進入掃描目錄。
[0063]步驟S205、客戶端判斷是否有需要掃描的媒體文件?當是時進入步驟S206,當否時進入步驟S210。即從掃描路徑獲取文件,如果有文件并且是需要掃描的媒體文件,則執(zhí)行步驟S206 ;否則掃描結(jié)束到步驟S210。
[0064]步驟S206、在服務器的媒體數(shù)據(jù)庫media, db中查找是否有與需要掃描的媒體文件相同的文件?當否時進入步驟S207,當是時進入步驟S208。
[0065]即把需要掃描的媒體文件,在服務器轉(zhuǎn)換為當前系統(tǒng)可識別媒體數(shù)據(jù)庫media, db中進行查找,看是否有文件名相同的,如果文件名相同和文件大小相同則認為是相同文件。如果需要掃描的媒體文件在media, db中沒有相同文件,則執(zhí)行步驟S207 ;當有相同文件則執(zhí)行步驟S208。
[0066]步驟S207、掃描更新所述內(nèi)部數(shù)據(jù)庫external, db。即掃描所述媒體文件(即需要掃描的媒體文件),文件掃描后,將掃描的媒體文件的媒體信息更新存儲到所述內(nèi)部數(shù)據(jù)庫external, db中,并返回步驟204。
[0067]步驟S208、客戶端發(fā)指令在服務器的在媒體數(shù)據(jù)庫media, db中查找出該相同文件的媒體信息和縮略圖地址,并進入步驟S209。
[0068]步驟S209、把查詢到的媒體信息插入到所述內(nèi)部數(shù)據(jù)庫external, db中,并把縮略圖地址插入到所述內(nèi)部數(shù)據(jù)庫external, db中,并返回步驟S204。
[0069]步驟S210、掃描后處理,客戶端刪除所述內(nèi)部數(shù)據(jù)庫external, db中不存在的數(shù)據(jù)庫條目,并進入步驟S211。
[0070]步驟S211、用所述內(nèi)部數(shù)據(jù)external, db的數(shù)據(jù)同步服務器上的媒體數(shù)據(jù)庫media, db。即掃描結(jié)束后,客戶端把本地的內(nèi)部數(shù)據(jù)庫external, db中的新增的掃描信息也同步并更新到服務器上的媒體數(shù)據(jù)庫media, db中。本實施例二是由于將媒體數(shù)據(jù)庫media, db安裝在服務器上,采用在掃描結(jié)束后,客戶端把本地的內(nèi)部數(shù)據(jù)庫external, db中的新增的掃描信息同步到服務器上的媒體數(shù)據(jù)庫media, db中,而不像實施例一的本地數(shù)據(jù)庫掃描一個同步一個。本實施例二采用在掃描結(jié)束同步,可以有效提高掃描效率。
[0071]本實施例中,當客戶端的內(nèi)部數(shù)據(jù)庫與服務器端的媒體數(shù)據(jù)庫類型不同,則客戶端將其內(nèi)部數(shù)據(jù)庫轉(zhuǎn)換為與服務器端的媒體數(shù)據(jù)庫類型相同的數(shù)據(jù)庫,數(shù)據(jù)庫轉(zhuǎn)換后再把客戶端本地的內(nèi)部數(shù)據(jù)庫中的新增的掃描信息也同步到服務器上的媒體數(shù)據(jù)庫。即如果數(shù)據(jù)庫不同,需進行數(shù)據(jù)庫轉(zhuǎn)換后再把客戶端本地的內(nèi)部數(shù)據(jù)庫external, db中的新增的掃描信息也同步并更新到服務器上的媒體數(shù)據(jù)庫media, db中。
[0072]步驟S212、結(jié)束流程。
[0073]基于上述實施例,本發(fā)明實施例還提供了一種采用上述所述基于存儲設備的文件掃描方法的裝置,如圖5所示,本實施例的裝置包括:
數(shù)據(jù)建立模塊510,用于預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫為用于供掃描記錄和應用查詢的內(nèi)部數(shù)據(jù)庫;另一個數(shù)據(jù)庫為用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描的媒體數(shù)據(jù)庫;具體如上所述。
[0074]掃描模塊520,用于第一次掃描存儲設備時,將掃描到的媒體文件信息同時存儲在所述內(nèi)部數(shù)據(jù)庫和所述媒體數(shù)據(jù)庫;
當下次重新掃描時,如果查詢到所述媒體數(shù)據(jù)庫中有需掃描的媒體文件信息,則直接從所述媒體數(shù)據(jù)庫中獲取需掃描的媒體文件信息,插入到所述內(nèi)部數(shù)據(jù)庫中,完成掃描。具體如上所述。
[0075]其中,如圖6所示,所述掃描更新模塊包括:
第一掃描單元521,用于當?shù)谝淮螔呙璐鎯υO備時,判斷是否有需要掃描的媒體文件;具體如上所述。
[0076]查找單元522,用于查找所述媒體數(shù)據(jù)庫中是否有與所述需要掃描的媒體文件相同的文件;當否時進入步驟B3,當是時進入步驟B4 ;具體如上所述。
[0077]第二掃描單元523、,用于當查找媒體數(shù)據(jù)庫中有與所述需要掃描的媒體文件相同的文件,則在所述媒體數(shù)據(jù)庫中,查找出該相同文件的媒體信息和縮略圖地址,把查詢到的媒體信息插入到所述內(nèi)部數(shù)據(jù)庫中,并把縮略圖地址插入到所述內(nèi)部數(shù)據(jù)庫中;具體如上所述。
[0078]同步更新單元524,用于當所述媒體數(shù)據(jù)庫中是沒有與所述需要掃描的媒體文件相同的文件,掃描文件所述媒體文件,并將掃描的媒體文件信息更新存儲到所述內(nèi)部數(shù)據(jù)庫中;并同時把掃描的媒體信息同步插入到媒體數(shù)據(jù)庫中,具體如上所述。
[0079]綜上所述,本發(fā)明實施例的基于存儲設備的文件掃描方法是針對容量大的存儲設備反復插拔掃描時掃描速度太慢問題,以及反復掃描花費時間過長,消耗的資源過大問題,本發(fā)明改變了掃描方法:采用建立兩個數(shù)據(jù)庫,有一個數(shù)據(jù)庫是原有的,供掃描記錄和app查詢,稱為內(nèi)部數(shù)據(jù)庫external, db ;另一個數(shù)據(jù)庫是專門記錄媒體信息,輔助原有數(shù)據(jù)庫實現(xiàn)快速掃描,稱為媒體數(shù)據(jù)庫media, db,從而節(jié)省了相同文件的掃描時間,并節(jié)省了掃描所要耗費的大量資源。擴展到網(wǎng)絡中應用后,更可以節(jié)省整個網(wǎng)絡中所有設備對相同文件的掃描時間,大大提高了掃描效率。
[0080]應當理解的是,本發(fā)明的應用不限于上述的舉例,對本領域普通技術人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應屬于本發(fā)明所附權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種基于存儲設備的文件掃描方法,其特征在于,包括步驟: A、預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫為用于供掃描記錄和應用查詢的內(nèi)部數(shù)據(jù)庫;另一個數(shù)據(jù)庫為用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描的媒體數(shù)據(jù)庫; B、掃描步驟:第一次掃描存儲設備時,將掃描到的媒體文件信息同時存儲在所述內(nèi)部數(shù)據(jù)庫和所述媒體數(shù)據(jù)庫; 當下次重新掃描時,如果查詢到所述媒體數(shù)據(jù)庫中有需掃描的媒體文件信息,則直接從所述媒體數(shù)據(jù)庫中獲取需掃描的媒體文件信息,插入到所述內(nèi)部數(shù)據(jù)庫中,完成掃描。
2.根據(jù)權(quán)利要求1所述的基于存儲設備的文件掃描方法,其特征在于,所述步驟B具體包括: B1、當?shù)谝淮螔呙璐鎯υO備時,判斷是否有需要掃描的媒體文件,當是時進入步驟B2,當否時進入步驟B6; B2、查找所述媒體數(shù)據(jù)庫中是否有與所述需要掃描的媒體文件相同的文件;當否時進入步驟B3,當是時進入步驟B4 ; B3、掃描所述媒體文件,并將掃描的媒體文件信息更新存儲到所述內(nèi)部數(shù)據(jù)庫中;并同時把掃描的媒體信息同步插入到媒體數(shù)據(jù)庫中,然后返回到步驟BI ; B4、當查找媒體數(shù)據(jù)庫中有與所述需要掃描的媒體文件相同的文件,則在所述媒體數(shù)據(jù)庫中,查找出該相同文件的媒體信息和縮略圖地址,并進入步驟B5 ; B5、把查詢到的媒體信息插入到所述內(nèi)部數(shù)據(jù)庫external, db中,并把縮略圖地址插A external, db中,并返回步驟BI ; B6、掃描結(jié)束后處理,刪除所述內(nèi)部數(shù)據(jù)庫中不存在的數(shù)據(jù)庫條目。
3.根據(jù)權(quán)利要求2所述的基于存儲設備的文件掃描方法,其特征在于,所述步驟B2中的相同的文件為:文件名相同和文件大小相同。
4.根據(jù)權(quán)利要求1所述的基于存儲設備的文件掃描方法,其特征在于,所述步驟A具體包括: Al、預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫稱為內(nèi)部數(shù)據(jù)庫,用于供掃描記錄和應用查詢,另一個數(shù)據(jù)庫是媒體數(shù)據(jù)庫,用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描; A2、將所述內(nèi)部數(shù)據(jù)庫安裝在客戶端,將所述媒體數(shù)據(jù)庫安裝在服務器端。
5.根據(jù)權(quán)利要求4所述的基于存儲設備的文件掃描方法,其特征在于,所述步驟B具體包括: BS1、當客戶端掛載所述存儲設備開始掃描時;系統(tǒng)內(nèi)核發(fā)廣播并上傳掃描路徑,以遞歸方式進入掃描路徑,并進入掃描目錄; BS2、客戶端判斷是否有需要掃描的媒體文件,當是時進入步驟BS3,當否時進入步驟BS6 ; BS3、客戶端發(fā)指令在服務器的媒體數(shù)據(jù)庫中查找是否有與需要掃描的媒體文件相同的文件;當否時進入步驟BS4,當是時進入步驟BS5 ; BS4、客戶端掃描所述媒體文件,并將掃描的媒體文件信息存儲到所述內(nèi)部數(shù)據(jù)庫中,以更新同步所述內(nèi)部數(shù)據(jù)庫,并返回步驟BSl ; BS5、客戶端在服務器的媒體數(shù)據(jù)庫中,查找出該相同文件的媒體信息和縮略圖地址;并把查詢出與所述需要掃描的媒體文件相同的媒體信息同步到所述內(nèi)部數(shù)據(jù)庫,并把所述縮略圖地址同步到所述內(nèi)部數(shù)據(jù)庫中,返回步驟BSl ; BS6、掃描后處理,客戶端刪除所述內(nèi)部數(shù)據(jù)庫中不存在的數(shù)據(jù)庫條目,并進入步驟BS7 ; BS7、客戶端掃描結(jié)束后,客戶端把本地的內(nèi)部數(shù)據(jù)庫中的新增的掃描信息也同步到服務器上的媒體數(shù)據(jù)庫中。
6.根據(jù)權(quán)利要求5所述的基于存儲設備的文件掃描方法,其特征在于,所述步驟BS3還包括:當判斷文件名相同和文件大小相同則認為是相同文件。
7.根據(jù)權(quán)利要求5所述的基于存儲設備的文件掃描方法,其特征在于,所述步驟BS7還包括:當客戶端的內(nèi)部數(shù)據(jù)庫與服務器端的媒體數(shù)據(jù)庫類型不同,則客戶端將其內(nèi)部數(shù)據(jù)庫轉(zhuǎn)換為與服務器端的媒體數(shù)據(jù)庫類型相同的數(shù)據(jù)庫,數(shù)據(jù)庫轉(zhuǎn)換后再把客戶端本地的內(nèi)部數(shù)據(jù)庫中的新增的掃描信息也同步到服務器上的媒體數(shù)據(jù)庫。
8.根據(jù)權(quán)利要求1所述的基于存儲設備的文件掃描方法,其特征在于,所述媒體文件包括:音視頻文件、圖片文件、WORD文件和EXCEL文件中的一種或多種。
9.一種采用上述權(quán)利要求1-8任一項所述基于存儲設備的文件掃描方法的裝置,其特征在于,包括: 數(shù)據(jù)建立模塊,用于預先建立兩個數(shù)據(jù)庫,其中一個數(shù)據(jù)庫為用于供掃描記錄和應用查詢的內(nèi)部數(shù)據(jù)庫;另一個數(shù)據(jù)庫為用于記錄媒體信息,輔助內(nèi)部數(shù)據(jù)庫實現(xiàn)加速掃描的媒體數(shù)據(jù)庫; 掃描更新模塊,用于第一次掃描存儲設備時,將掃描到的媒體文件信息同時存儲在所述內(nèi)部數(shù)據(jù)庫和所述媒體數(shù)據(jù)庫; 當下次重新掃描時,如果查詢到所述媒體數(shù)據(jù)庫中有需掃描的媒體文件信息,則直接從所述媒體數(shù)據(jù)庫中獲取需掃描的媒體文件信息,插入到所述內(nèi)部數(shù)據(jù)庫中,完成掃描。
10.根據(jù)權(quán)利要求9所述的文件掃描方法的裝置,其特征在于,所述掃描更新模塊包括: 第一掃描單元,用于當?shù)谝淮螔呙璐鎯υO備時,判斷是否有需要掃描的媒體文件; 查找單元,用于查找所述媒體數(shù)據(jù)庫中是否有與所述需要掃描的媒體文件相同的文件; 第二掃描單元,用于當查找媒體數(shù)據(jù)庫中有與所述需要掃描的媒體文件相同的文件,則在所述媒體數(shù)據(jù)庫中,查找出該相同文件的媒體信息和縮略圖地址,把查詢到的媒體信息插入到所述內(nèi)部數(shù)據(jù)庫中,并把縮略圖地址插入到所述內(nèi)部數(shù)據(jù)庫中; 同步更新單元,用于當所述媒體數(shù)據(jù)庫中是沒有與所述需要掃描的媒體文件相同的文件,掃描所述媒體文件,并將掃描的媒體文件信息更新存儲到所述內(nèi)部數(shù)據(jù)庫中;并同時把掃描的媒體信息同步插入到媒體數(shù)據(jù)庫中。
【文檔編號】G06F17/30GK103473240SQ201210188590
【公開日】2013年12月25日 申請日期:2012年6月8日 優(yōu)先權(quán)日:2012年6月8日
【發(fā)明者】彭湃, 康輝 申請人:Tcl集團股份有限公司