本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種文件存儲(chǔ)處理方法和系統(tǒng)。
背景技術(shù):
混合云存儲(chǔ)融合了公有云和私有云,是近年來云計(jì)算的主要模式和發(fā)展方向。我們已經(jīng)知道私企業(yè)主要是面向企業(yè)用戶,出于安全考慮,企業(yè)更愿意將數(shù)據(jù)存放在私有云中,但是同時(shí)又希望可以獲得公有云的計(jì)算資源,在這種情況下混合云被越來越多的采用,它將公有云和私有云進(jìn)行混合和匹配,以獲得最佳的效果,這種個(gè)性化的解決方案,達(dá)到了既省錢又安全的目的。
目前,在混合云存儲(chǔ)系統(tǒng)中文件的保存主要通過文件的訪問頻度、訪問時(shí)間等數(shù)據(jù)進(jìn)行冷熱判斷,將熱點(diǎn)文件保存在用戶終端本地,將冷文件上傳到云端,實(shí)現(xiàn)文件的分層存儲(chǔ),并未充分考慮文件之間的關(guān)聯(lián)性。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn),現(xiàn)有的文件存儲(chǔ)處理方法至少存在以下問題:
現(xiàn)有的文件存儲(chǔ)處理方法僅通過文件的訪問時(shí)間和訪問頻度來確定熱點(diǎn)文件,當(dāng)用戶在需要訪問與當(dāng)前訪問文件內(nèi)容關(guān)聯(lián)度較高但近段時(shí)間未訪問過的其他文件時(shí),這些與當(dāng)前訪問文件內(nèi)容關(guān)聯(lián)度較高的文件可能只存儲(chǔ)在云端,不在用戶終端本地,此時(shí),需要用戶去云端下載,導(dǎo)致用戶體驗(yàn)不好,整個(gè)混合云存儲(chǔ)系統(tǒng)的數(shù)據(jù)訪問性能不高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提出一種文件存儲(chǔ)處理方法和系統(tǒng),以提升混合云存儲(chǔ)系統(tǒng)的數(shù)據(jù)訪問性能。
本發(fā)明實(shí)施例提供的一種文件存儲(chǔ)處理方法,包括:
獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度、目標(biāo)文件的文件訪問時(shí)間和目標(biāo)文件的文件訪問頻度;其中,內(nèi)容關(guān)聯(lián)度為目標(biāo)文件與熱點(diǎn)文件在文件內(nèi)容上的關(guān)聯(lián)程度;文件訪問頻度和文件訪問時(shí)間在目標(biāo)文件被創(chuàng)建或訪問時(shí)更新;
根據(jù)目標(biāo)文件的內(nèi)容關(guān)聯(lián)度、文件訪問時(shí)間和文件訪問頻度,獲取目標(biāo)文件的熱點(diǎn)權(quán)重;
判斷目標(biāo)文件的熱點(diǎn)權(quán)重是否滿足本地存儲(chǔ)條件;
若目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件,將目標(biāo)文件存儲(chǔ)在用戶終端本地;
否則,若目標(biāo)文件的熱點(diǎn)權(quán)重滿足不本地存儲(chǔ)條件,將目標(biāo)文件存儲(chǔ)在云端存儲(chǔ)系統(tǒng)。
基于上述文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,當(dāng)目標(biāo)文件存儲(chǔ)在用戶終端本地時(shí),還將目標(biāo)文件上傳存儲(chǔ)在云端存儲(chǔ)系統(tǒng)中。
基于上述任一文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件包括:
目標(biāo)文件的熱點(diǎn)權(quán)重大于預(yù)設(shè)熱點(diǎn)權(quán)重;或者
目標(biāo)文件的熱點(diǎn)權(quán)重屬于同一用戶所有文件中熱點(diǎn)權(quán)重較大的前N個(gè),其中,N為大于1的整數(shù)。
基于上述任一文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,還包括:
響應(yīng)于用戶終端本地或用戶終端的用戶在云端存儲(chǔ)系統(tǒng)創(chuàng)建文件、或用戶終端本地或云端存儲(chǔ)系統(tǒng)的文件被訪問時(shí),以該創(chuàng)建或被訪問的文件作為目標(biāo)文件,更新文件訪問時(shí)間列表中目標(biāo)文件的文件訪問時(shí)間信息和文件訪問頻度列表中目標(biāo)文件的文件訪問頻度信息,文件訪問時(shí)間列表包括用戶在用戶終端本地與云端存儲(chǔ)系統(tǒng)中所有文件的訪問時(shí)間信息,文件訪問頻度列表中包括所有文件的訪問頻度信息。
基于上述文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,還包括:
響應(yīng)于監(jiān)測(cè)到目標(biāo)文件的文件內(nèi)容被更改,更新目標(biāo)文件的文件內(nèi)容。
基于上述文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,還包括:
創(chuàng)建目標(biāo)文件時(shí),記錄目標(biāo)文件的文件名和文件內(nèi)容。
基于上述任一文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,還包括:
預(yù)先創(chuàng)建熱點(diǎn)文件列表,熱點(diǎn)文件列表中包括一個(gè)以上熱點(diǎn)文件的標(biāo)識(shí)信息;或者,進(jìn)一步對(duì)熱點(diǎn)文件列表進(jìn)行更新。
基于上述文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,預(yù)先創(chuàng)建熱點(diǎn)文件列表包括:從用戶終端本地存儲(chǔ)的文件中選擇M個(gè)訪問頻度較高的文件作為熱點(diǎn)文件,并在熱點(diǎn)文件列表中記錄熱點(diǎn)文件的標(biāo)識(shí)信息;其中,M為大于0的整數(shù);
對(duì)所述熱點(diǎn)文件列表進(jìn)行更新包括:
獲取到目標(biāo)文件的熱點(diǎn)權(quán)重時(shí),對(duì)所述熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中所述熱點(diǎn)文件的標(biāo)識(shí)更新為所述用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件的標(biāo)識(shí);或者
周期性地對(duì)所述熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中所述熱點(diǎn)文件的標(biāo)識(shí)更新為所述用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件的標(biāo)識(shí)。
基于上述任一文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度包括:
獲取目標(biāo)文件與熱點(diǎn)文件的文件內(nèi)容中相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重;
根據(jù)相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重計(jì)算目標(biāo)文件的內(nèi)容關(guān)聯(lián)度。
基于上述文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,獲取目標(biāo)文件與熱點(diǎn)文件的文件內(nèi)容中相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重還包括:
對(duì)當(dāng)前文件進(jìn)行預(yù)處理,去除當(dāng)前文件的文件內(nèi)容中的無效詞匯,當(dāng)前文件包括目標(biāo)文件和熱點(diǎn)文件。
基于上述文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,具體通過以下公式計(jì)算目標(biāo)文件的內(nèi)容關(guān)聯(lián)度R:
其中,n為目標(biāo)文件和熱點(diǎn)文件中相同的特征詞匯的數(shù)量,W1k、W2k分別為相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重。
基于上述任一文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,具體通過以下公式計(jì)算目標(biāo)文件的熱點(diǎn)權(quán)重X:
Wr+Wt+Wp=1
其中,Wr為預(yù)設(shè)內(nèi)容關(guān)聯(lián)度的權(quán)重比例參數(shù),Wt為預(yù)設(shè)文件訪問時(shí)間的權(quán)重比例參數(shù),Wp為預(yù)設(shè)文件訪問頻度的權(quán)重比例參數(shù),Wr、Wt和Wp的取值為[0,1]之間的正實(shí)數(shù);Rmax為所述目標(biāo)文件與多個(gè)熱點(diǎn)文件的所述內(nèi)容關(guān)聯(lián)度R中的最大值,Tmax為所述目標(biāo)文件的最近一次訪問時(shí)間,Pmax為在預(yù)設(shè)周期內(nèi)所述目標(biāo)文件的最大訪問次數(shù)。
基于上述文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,前端應(yīng)用為多種類型且所述用戶的文件之間的文件數(shù)據(jù)差異較大時(shí),Wr的取值較小,Wt和Wp的取值較大;
否則,當(dāng)所述前端應(yīng)用為網(wǎng)盤類應(yīng)用或企業(yè)郵箱時(shí),Wr的取值較大,Wt和Wp的取值較小。
本發(fā)明實(shí)施例還提供一種文件存儲(chǔ)處理系統(tǒng),包括:
獲取模塊,用于獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度、目標(biāo)文件的文件訪問時(shí)間和目標(biāo)文件的文件訪問頻度;其中,內(nèi)容關(guān)聯(lián)度為目標(biāo)文件與熱點(diǎn)文件在文件內(nèi)容上的關(guān)聯(lián)程度;文件訪問頻度和文件訪問時(shí)間在目標(biāo)文件被創(chuàng)建或訪問時(shí)更新;
熱點(diǎn)權(quán)重獲取模塊,用于根據(jù)獲取模塊獲取的目標(biāo)文件的內(nèi)容關(guān)聯(lián)度、文件訪問時(shí)間和文件訪問頻度,獲取目標(biāo)文件的熱點(diǎn)權(quán)重;
執(zhí)行模塊,用于判斷熱點(diǎn)權(quán)重獲取模塊計(jì)算得到的目標(biāo)文件的熱點(diǎn)權(quán)重是否滿足本地存儲(chǔ)條件;若目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件,將目標(biāo)文件存儲(chǔ)在用戶終端本地;否則,若目標(biāo)文件的熱點(diǎn)權(quán)重滿足不本地存儲(chǔ)條件,將目標(biāo)文件存儲(chǔ)在云端存儲(chǔ)系統(tǒng)。
基于上述文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,所述執(zhí)行模塊,還用于當(dāng)所述目標(biāo)文件存儲(chǔ)在用戶終端本地時(shí),還將所述目標(biāo)文件上傳存儲(chǔ)在云端存儲(chǔ)系統(tǒng)中。
基于上述任一文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件包括:
目標(biāo)文件的熱點(diǎn)權(quán)重大于預(yù)設(shè)熱點(diǎn)權(quán)重;或者
目標(biāo)文件的熱點(diǎn)權(quán)重屬于同一用戶所有文件中熱點(diǎn)權(quán)重較大的前N個(gè),其中,N為大于1的整數(shù)。
基于上述任一文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,還包括:
更新模塊,用于響應(yīng)于用戶終端本地或用戶終端的用戶在云端存儲(chǔ)系統(tǒng)創(chuàng)建文件、或用戶終端本地或云端存儲(chǔ)系統(tǒng)的文件被訪問時(shí),以該創(chuàng)建或被訪問的文件作為目標(biāo)文件,更新文件訪問時(shí)間列表中目標(biāo)文件的文件訪問時(shí)間信息和文件訪問頻度列表中目標(biāo)文件的文件訪問頻度信息,文件訪問時(shí)間列表包括用戶在用戶終端本地與云端存儲(chǔ)系統(tǒng)中所有文件的訪問時(shí)間信息,文件訪問頻度列表中包括所有文件的訪問頻度信息。
基于上述文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,
更新模塊,還用于響應(yīng)于監(jiān)測(cè)到目標(biāo)文件的文件內(nèi)容被更改,更新目標(biāo)文件的文件內(nèi)容。
基于上述任一文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,還包括:
記錄模塊,用于在創(chuàng)建目標(biāo)文件時(shí),記錄目標(biāo)文件的文件名和文件內(nèi)容。
基于上述任一文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,還包括:
文件列表處理模塊,用于預(yù)先創(chuàng)建熱點(diǎn)文件列表,所述熱點(diǎn)文件列表中包括M個(gè)熱點(diǎn)文件的標(biāo)識(shí)信息;或者,進(jìn)一步對(duì)所述熱點(diǎn)文件列表 進(jìn)行更新;其中,M為大于0的整數(shù)。
基于上述文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,所述文件列表處理模塊,還用于所述獲取模塊獲取到一個(gè)目標(biāo)文件的熱點(diǎn)權(quán)重時(shí),對(duì)所述熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中所述熱點(diǎn)文件的標(biāo)識(shí)更新為所述用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件的標(biāo)識(shí);或者周期性地對(duì)所述熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中所述熱點(diǎn)文件的標(biāo)識(shí)更新為所述用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件的標(biāo)識(shí)。
基于上述任一文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,所述獲取模塊獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度時(shí),具體獲取所述目標(biāo)文件與所述熱點(diǎn)文件的文件內(nèi)容中相同的特征詞匯分別在所述目標(biāo)文件與所述熱點(diǎn)文件中的特征權(quán)重,并根據(jù)相同的特征詞匯分別在所述目標(biāo)文件與所述熱點(diǎn)文件中的特征權(quán)重計(jì)算所述目標(biāo)文件的內(nèi)容關(guān)聯(lián)度。
基于上述文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,還包括文件預(yù)處理模塊,用于對(duì)當(dāng)前文件進(jìn)行預(yù)處理,去除所述當(dāng)前文件的文件內(nèi)容中的無效詞匯,得到有效文件內(nèi)容,所述當(dāng)前文件包括所述目標(biāo)文件和所述熱點(diǎn)文件;
所述獲取模塊具體獲取所述目標(biāo)文件與所述熱點(diǎn)文件的有效文件內(nèi)容中相同的特征詞匯分別在所述目標(biāo)文件與所述熱點(diǎn)文件中的特征權(quán)重。
基于上述文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,獲取模塊具體通過以下公式計(jì)算目標(biāo)文件的內(nèi)容關(guān)聯(lián)度R:
其中,n為目標(biāo)文件和熱點(diǎn)文件中相同的特征詞匯的數(shù)量,W1k、W2k分別為相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重。
基于上述任一文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,獲取模塊具體通過以下公式計(jì)算目標(biāo)文件的熱點(diǎn)權(quán)重X:
Wr+Wt+Wp=1
其中,Wr為預(yù)設(shè)內(nèi)容關(guān)聯(lián)度的權(quán)重比例參數(shù),Wt為預(yù)設(shè)文件訪問時(shí)間的權(quán)重比例參數(shù),Wp為預(yù)設(shè)文件訪問頻度的權(quán)重比例參數(shù),Wr、Wt和Wp的取值為[0,1]之間的正實(shí)數(shù);Rmax為所述目標(biāo)文件與多個(gè)熱點(diǎn)文件的所述內(nèi)容關(guān)聯(lián)度R中的最大值,Tmax為所述目標(biāo)文件的最近一次訪問時(shí)間,Pmax為在所述預(yù)設(shè)周期內(nèi)所述目標(biāo)文件的最大訪問次數(shù)。
本發(fā)明實(shí)施例提出的上述文件存儲(chǔ)處理方法和系統(tǒng),通過獲取混合云存儲(chǔ)系統(tǒng)中待分析文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度、待分析文件的文件訪問時(shí)間和文件訪問頻度,計(jì)算得到目標(biāo)文件的熱點(diǎn)權(quán)重,將熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件的目標(biāo)文件存儲(chǔ)在用戶終端本地,將熱點(diǎn)權(quán)重不滿足本地存儲(chǔ)條件的目標(biāo)文件上傳至云端存儲(chǔ)系統(tǒng),在充分考慮文件之間的關(guān)聯(lián)性的基礎(chǔ)上實(shí)現(xiàn)了文件的分層管理,在用戶讀取一個(gè)文件時(shí),可直接從用戶終端本地讀取與之關(guān)聯(lián)性較高的其他文件,無需從云端下載,提高了用戶體驗(yàn),有效地提升了混合云存儲(chǔ)系統(tǒng)中的數(shù)據(jù)訪問性能;另外,將熱點(diǎn)權(quán)重不滿足本地存儲(chǔ)條件的目標(biāo)文件上傳至云端存儲(chǔ)系統(tǒng)可節(jié)省本地存儲(chǔ)空間,降低存儲(chǔ)成本。
附圖說明
構(gòu)成說明書的一部分的附圖描述了本發(fā)明的實(shí)施例,并且連同描述一起用于解釋本發(fā)明的原理。
參照附圖,根據(jù)下面的詳細(xì)描述,可以更加清楚地理解本發(fā)明,其中:
圖1為本發(fā)明文件存儲(chǔ)處理方法一個(gè)實(shí)施例的流程示意圖。
圖2為本發(fā)明文件存儲(chǔ)處理方法另一個(gè)實(shí)施例的流程示意圖。
圖3為本發(fā)明文件存儲(chǔ)處理方法又一個(gè)實(shí)施例的流程示意圖。
圖4為本發(fā)明文件存儲(chǔ)處理系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
圖5為本發(fā)明文件存儲(chǔ)處理系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
圖6為本發(fā)明文件存儲(chǔ)處理系統(tǒng)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
現(xiàn)在將參照附圖來詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。
以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說明書的一部分。
在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
圖1為本發(fā)明文件存儲(chǔ)處理方法一個(gè)實(shí)施例的流程示意圖,如圖1所示,該實(shí)施例的文件存儲(chǔ)處理方法包括:
101,獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度、目標(biāo)文件的文件訪問時(shí)間和文件訪問頻度。
本發(fā)明實(shí)施例中的目標(biāo)文件,是指將要通過本發(fā)明實(shí)施例的文件存儲(chǔ)處理方法進(jìn)行處理的文件,稱為待分析文件,例如,可以是剛被創(chuàng)建或被訪問的文件,也可以是按照預(yù)設(shè)周期或處理處理順利將要通過本發(fā)明實(shí)施例的文件存儲(chǔ)處理方法進(jìn)行處理的文件。
其中,熱點(diǎn)文件是指通過一定方式,例如通過訪問頻率和本發(fā)明實(shí)施例的文件存儲(chǔ)處理方法確定經(jīng)常被訪問或可能經(jīng)常被訪問的文件,這 些文件都被保存在用戶終端本地,初始可以通過文件的訪問頻率確定,從用戶終端本地存儲(chǔ)的文件中選擇一個(gè)以上訪問頻度較高的文件作為熱點(diǎn)文件,并形成一個(gè)初步的熱點(diǎn)文件列表,在熱點(diǎn)文件列表中記錄一個(gè)以上熱點(diǎn)文件的標(biāo)識(shí)(ID)信息,例如文件名稱、編號(hào)、存儲(chǔ)位置等唯一標(biāo)識(shí)一個(gè)的信息,后續(xù)可以通過本發(fā)明實(shí)施例的文件存儲(chǔ)處理方法進(jìn)行更新,以熱點(diǎn)權(quán)重最大的M個(gè)文件作為熱點(diǎn)文件。
內(nèi)容關(guān)聯(lián)度是目標(biāo)文件與熱點(diǎn)文件在文件內(nèi)容上的關(guān)聯(lián)程度。在本發(fā)明文件存儲(chǔ)處理方法實(shí)施例的一個(gè)具體示例中,可以通過如下方式獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度:獲取目標(biāo)文件與熱點(diǎn)文件的文件內(nèi)容中相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重,其中,特征權(quán)重可以通過相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中所占的比例表示;根據(jù)相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重計(jì)算目標(biāo)文件的內(nèi)容關(guān)聯(lián)度。
文件訪問頻度可以是用戶在一段時(shí)間內(nèi)訪問文件的次數(shù)。文件訪問時(shí)間即用戶訪問文件時(shí)的時(shí)刻信息。文件訪問頻度和文件訪問時(shí)間在文件被創(chuàng)建或訪問時(shí)更新,文件訪問頻度也可以根據(jù)用戶需求在預(yù)設(shè)周期內(nèi)實(shí)時(shí)或周期性更新。
該操作101可實(shí)時(shí)或按照一定的周期執(zhí)行針對(duì)同一用戶的全部文件執(zhí)行,也可以基于一定的觸發(fā)條件對(duì)某個(gè)文件執(zhí)行,例如某個(gè)文件被創(chuàng)建或訪問時(shí)執(zhí)行,或者,還可以由用戶根據(jù)實(shí)際需要觸發(fā)對(duì)該用戶的全部或部分文件執(zhí)行,每個(gè)被執(zhí)行操作101的文件均作為目標(biāo)文件。
102,根據(jù)目標(biāo)文件的內(nèi)容關(guān)聯(lián)度、文件訪問時(shí)間和文件訪問頻度,獲取目標(biāo)文件的熱點(diǎn)權(quán)重。
103,判斷目標(biāo)文件的熱點(diǎn)權(quán)重是否滿足本地存儲(chǔ)條件。
若目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件,則執(zhí)行步驟104,否則執(zhí)行步驟105。
104,將目標(biāo)文件存儲(chǔ)在用戶終端本地。
可選地,當(dāng)目標(biāo)文件存儲(chǔ)在用戶終端本地時(shí),還可以同時(shí)將該目標(biāo)文件上傳存儲(chǔ)在云端存儲(chǔ)系統(tǒng)(即:云端)中,以實(shí)現(xiàn)目標(biāo)文件在用戶 終端本地和云端存儲(chǔ)系統(tǒng)的同時(shí)存儲(chǔ)。即:混合云存儲(chǔ)系統(tǒng)的所有文件都會(huì)上傳到云端,因用戶終端本地存儲(chǔ)空間有限,僅熱點(diǎn)權(quán)重較高的文件會(huì)被保存在本地。
之后,不執(zhí)行本發(fā)明實(shí)施例的后續(xù)流程。
105,將目標(biāo)文件存儲(chǔ)在云端存儲(chǔ)系統(tǒng)。
本發(fā)明實(shí)施例提出的上述文件存儲(chǔ)處理方法,通過獲取混合云存儲(chǔ)系統(tǒng)中的目標(biāo)文件與熱點(diǎn)文件之間內(nèi)容關(guān)聯(lián)度、目標(biāo)文件的文件訪問時(shí)間和文件訪問頻度,計(jì)算得到目標(biāo)文件的熱點(diǎn)權(quán)重,將熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件的目標(biāo)文件存儲(chǔ)在用戶終端本地,將熱點(diǎn)權(quán)重不滿足本地存儲(chǔ)條件的目標(biāo)文件上傳至云端存儲(chǔ)系統(tǒng),在充分考慮文件之間內(nèi)容關(guān)聯(lián)性的基礎(chǔ)上實(shí)現(xiàn)了文件的分層管理,在用戶讀取一個(gè)文件時(shí),可直接從用戶終端本地讀取與之關(guān)聯(lián)性較高的其他文件,無需從云端下載,提高了用戶體驗(yàn),有效地提升了混合云存儲(chǔ)系統(tǒng)中的數(shù)據(jù)訪問性能;另外,將熱點(diǎn)權(quán)重不滿足本地存儲(chǔ)條件的目標(biāo)文件上傳至云端存儲(chǔ)系統(tǒng)可節(jié)省本地存儲(chǔ)空間,降低存儲(chǔ)成本。
文件存儲(chǔ)處理方法在本發(fā)明文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,監(jiān)測(cè)到用戶在用戶終端本地或云端存儲(chǔ)系統(tǒng)中創(chuàng)建文件時(shí),記錄文件的文件名和文件內(nèi)容。
另外,在本發(fā)明文件存儲(chǔ)處理方法的又一個(gè)實(shí)施例中,還可以包括:
用戶終端本地或用戶終端的用戶在云端存儲(chǔ)系統(tǒng)創(chuàng)建文件、或用戶終端本地或云端存儲(chǔ)系統(tǒng)的文件被訪問時(shí),以該創(chuàng)建或被訪問的文件作為目標(biāo)文件,更新文件訪問時(shí)間列表中該目標(biāo)文件的文件訪問時(shí)間信息和文件訪問頻度列表中該目標(biāo)文件的文件訪問頻度信息,其中,文件訪問時(shí)間列表包括該用戶在用戶終端本地與云端存儲(chǔ)系統(tǒng)中所有文件的訪問時(shí)間信息,文件訪問頻度列表中包括該用戶所有文件的訪問頻度信息。
進(jìn)一步地,監(jiān)測(cè)到該目標(biāo)文件的文件內(nèi)容被更改(例如,增加了部分內(nèi)容、或部分內(nèi)容被刪除或更新)時(shí),還更新該目標(biāo)文件的文件內(nèi)容。
在本發(fā)明文件存儲(chǔ)處理方法的再一個(gè)實(shí)施例中,可以根據(jù)預(yù)先設(shè)置,在通過本發(fā)明各實(shí)施例計(jì)算出目標(biāo)文件(包括執(zhí)行本發(fā)明文件存儲(chǔ)處理 方法實(shí)施例某一個(gè)文件、用戶混合云存儲(chǔ)系統(tǒng)中的部分或全部文件)的熱點(diǎn)權(quán)重后,可以根據(jù)同一用戶所有文件的最新熱點(diǎn)權(quán)重,對(duì)已有熱點(diǎn)文件列表進(jìn)行更新,具體可以通過如下所示的任一方式實(shí)現(xiàn):
獲取到目標(biāo)文件的熱點(diǎn)權(quán)重時(shí),對(duì)熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中熱點(diǎn)文件的標(biāo)識(shí)信息更新為用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件;或者
周期性地對(duì)熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中熱點(diǎn)文件的標(biāo)識(shí)信息更新為用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件的標(biāo)識(shí)。
圖2為本發(fā)明文件存儲(chǔ)處理方法另一個(gè)實(shí)施例的流程示意圖,如圖2所示,該實(shí)施例的文件存儲(chǔ)處理方法包括:
201,在文件被創(chuàng)建或更新時(shí),記錄該文件的文件名和文件內(nèi)容。
其中的文件包括待通過本發(fā)明文件存儲(chǔ)處理方法實(shí)施例進(jìn)行處理的目標(biāo)文件,也包括熱點(diǎn)文件。文件名是指保存在用戶終端本地或云端中的文件的名稱,文件內(nèi)容指保存在用戶終端本地或云端中的文件的具體內(nèi)容,特指文本內(nèi)容。
202,對(duì)目標(biāo)文件和熱點(diǎn)文件的文件內(nèi)容進(jìn)行預(yù)處理,去除目標(biāo)文件和熱點(diǎn)文件的文件內(nèi)容中的無效詞匯,得到有效文件內(nèi)容。
其中,無效詞匯是指目標(biāo)文件和熱點(diǎn)文件的文件內(nèi)容中無意義的詞匯,例如,這個(gè),那個(gè),這些,那些等指示代詞,以及非常,特別,十分等詞匯。
203,從目標(biāo)文件和熱點(diǎn)文件的有效文件內(nèi)容中選取相同的詞匯作為特征詞匯。
204,統(tǒng)計(jì)上述相同的特征詞匯分別在目標(biāo)文件和熱點(diǎn)文件中的特征權(quán)重。
其中,特征權(quán)重以特征詞匯分別在目標(biāo)文件或熱點(diǎn)文件的總詞匯中所占的比例表示。
205,根據(jù)上述相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重計(jì)算目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度。
206,獲取目標(biāo)文件的文件訪問時(shí)間和文件訪問頻度。
207,根據(jù)目標(biāo)文件的內(nèi)容關(guān)聯(lián)度、文件訪問時(shí)間和文件訪問頻度,獲取目標(biāo)文件的熱點(diǎn)權(quán)重。
208,判斷目標(biāo)文件的熱點(diǎn)權(quán)重是否滿足本地存儲(chǔ)條件。
若目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件,則執(zhí)行步驟209,否則執(zhí)行步驟210。
209,將目標(biāo)文件存儲(chǔ)在用戶終端本地。
具體地,若目標(biāo)文件在云端,則操作209中,便是將目標(biāo)文件從云端下載到用戶終端本地;否則,若目標(biāo)文件在用戶終端本地,則無需執(zhí)行該操作209。
之后,不執(zhí)行本實(shí)施例的后續(xù)流程。
210,將目標(biāo)文件存儲(chǔ)在云端存儲(chǔ)系統(tǒng)。
具體地,若目標(biāo)文件在云端,則無需執(zhí)行該操作210中,否則,若目標(biāo)文件在用戶終端本地,便是將目標(biāo)文件從用戶終端本地上傳到云端。
圖3為本發(fā)明文件存儲(chǔ)處理方法再一個(gè)實(shí)施例的流程示意圖,如圖3所示,該實(shí)施例的文件存儲(chǔ)處理方法包括:
301,在文件(包括目標(biāo)文件和熱點(diǎn)文件)被創(chuàng)建或更新時(shí),記錄文件的文件名和文件內(nèi)容。
302,對(duì)目標(biāo)文件和熱點(diǎn)文件的文件內(nèi)容進(jìn)行預(yù)處理,去除目標(biāo)文件和熱點(diǎn)文件的文件內(nèi)容中的無效詞匯,得到有效文件內(nèi)容。
具體地,可以通過C++編程語言中的Set容器去除文件內(nèi)容中的無效詞匯,Set容器是C++標(biāo)準(zhǔn)庫(kù)中的一種關(guān)聯(lián)容器,是通過鍵(key)來讀取和修改元素,它是單純鍵的集合,其主要功能為結(jié)合無效詞匯表,去除無效詞匯,實(shí)現(xiàn)特征詞匯的選擇。
303,從目標(biāo)文件和熱點(diǎn)文件的有效文件內(nèi)容中選取相同的詞匯作為特征詞匯。
304,統(tǒng)計(jì)上述相同的特征詞匯分別在目標(biāo)文件和熱點(diǎn)文件中的特征權(quán)重。
其中,特征權(quán)重為相同的特征詞匯在目標(biāo)文件或預(yù)設(shè)熱點(diǎn)文件的總詞匯中所占的比例。具體地,可以以特征向量D=D(W1,W2,…,Wn) 表示一個(gè)文件的n個(gè)特征權(quán)重。
操作303和304具體可以通過C++編程語言中的Map容器實(shí)現(xiàn)。Map容器是一個(gè)關(guān)聯(lián)容器,它提供一對(duì)一(其中第一個(gè)可以稱為關(guān)鍵字,每個(gè)關(guān)鍵字只能在Map中出現(xiàn)一次,第二個(gè)可稱為該關(guān)鍵字的值)的數(shù)據(jù)處理能力,由于這個(gè)特性,它能夠在我們處理一對(duì)一數(shù)據(jù)的時(shí)候,在編程上提供快速通道。Map內(nèi)部自建一顆紅黑樹(一種非嚴(yán)格意義上的平衡二叉樹),這顆樹具有對(duì)數(shù)據(jù)自動(dòng)排序的功能,所以在Map內(nèi)部所有的數(shù)據(jù)都是有序的。Map容器的主要功能為記錄文件中特征詞匯出現(xiàn)的次數(shù),并按照特征詞匯在文件中出現(xiàn)的次數(shù)進(jìn)行排序。
上述特征權(quán)重根據(jù)特征詞匯在文件中出現(xiàn)的次數(shù)計(jì)算,例如文件中的“信貸資產(chǎn)”一詞作為特征詞匯出現(xiàn)了10次,占到了有效文件內(nèi)容中所有詞匯的10%,那這個(gè)特征詞匯“信貸資產(chǎn)”的特征權(quán)重就是0.1。
305,根據(jù)以下公式計(jì)算目標(biāo)文件的內(nèi)容關(guān)聯(lián)度R:
其中,n為目標(biāo)文件和熱點(diǎn)文件中相同的特征詞匯的數(shù)量,W1k、W2k為相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重。
在一個(gè)應(yīng)用實(shí)施例中,假設(shè)目標(biāo)文件中出現(xiàn)的特征詞為:Z1c1,Z1c2,Z1c3,Z1c4……Z1cn;它們?cè)谀繕?biāo)文件的有效文件內(nèi)容的總詞匯M中的個(gè)數(shù)分別為:Z1n1,Z1n2,Z1n3……Z1nn;
熱點(diǎn)文件中出現(xiàn)的特征詞為:Z2c1,Z2c2,Z2c3,Z2c4……Z2cn;它們?cè)跓狳c(diǎn)文件的有效文件內(nèi)容的總詞匯T中的個(gè)數(shù)分別為:Z2n1,Z2n2,Z2n3……Z2nn。
其中,Z1c1和Z2c1表示目標(biāo)文件和熱點(diǎn)文件中相同的一個(gè)特征詞匯,Z1n1和Z2n1分別為它們?cè)谀繕?biāo)文件和熱點(diǎn)文件的有效文件內(nèi)容中出現(xiàn)的數(shù)量。
則可以通過如下公式計(jì)算目標(biāo)文件與熱點(diǎn)文件的內(nèi)容關(guān)聯(lián)度R:
306,獲取目標(biāo)文件的文件訪問時(shí)間和文件訪問頻度。
307,通過以下公式計(jì)算目標(biāo)文件的熱點(diǎn)權(quán)重X:
Wr+Wt+Wp=1
其中,Wr為預(yù)設(shè)內(nèi)容關(guān)聯(lián)度的權(quán)重比例參數(shù),Wt為預(yù)設(shè)文件訪問時(shí)間的權(quán)重比例參數(shù),Wp為預(yù)設(shè)文件訪問頻度的權(quán)重比例參數(shù),Wr、Wt和Wp的取值為[0,1]之間的正實(shí)數(shù);Rmax為目標(biāo)文件與多個(gè)熱點(diǎn)文件的內(nèi)容關(guān)聯(lián)度R中的最大值,Tmax為目標(biāo)文件的最近一次訪問時(shí)間(即:最近一次訪問時(shí)刻),Pmax為在預(yù)設(shè)周期內(nèi)目標(biāo)文件的最大訪問次數(shù)。
在具體應(yīng)用中,Wr、Wt和Wp的取值大小具體可根據(jù)混合云存儲(chǔ)系統(tǒng)中存儲(chǔ)文件的具體情況來設(shè)定。例如,當(dāng)文件所屬的前端應(yīng)用為多種類型且用戶的文件之間的文件數(shù)據(jù)差異較大時(shí),可以設(shè)置Wr的取值較小,Wt和Wp的取值較大。否則,當(dāng)前端應(yīng)用為網(wǎng)盤類應(yīng)用或企業(yè)郵箱等混合云存儲(chǔ)場(chǎng)景時(shí),可以設(shè)置Wr的取值較大,Wt和Wp的取值較小。其中前端應(yīng)用是指在用戶終端本地運(yùn)行的前端應(yīng)用。
網(wǎng)盤類應(yīng)用或企業(yè)郵箱所產(chǎn)生的文件相似度高,如用戶的某些文檔內(nèi)容會(huì)十分類似,甚至一系列文件是主題類似的文件,在訪問其中一份文件時(shí),會(huì)馬上讀取該主題下的其他文件,此時(shí)將Wr適當(dāng)增大,以將內(nèi)容上較為相關(guān)的文件存儲(chǔ)在用戶終端本地,可以更好地提高混合云存儲(chǔ)系統(tǒng)的數(shù)據(jù)訪問性能。
308,判斷目標(biāo)文件的熱點(diǎn)權(quán)重是否滿足本地存儲(chǔ)條件。
若目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件,則執(zhí)行步驟309,否則執(zhí)行步驟310。
309,將目標(biāo)文件存儲(chǔ)在用戶終端本地。
具體地,若目標(biāo)文件在云端,則操作309中,便是將目標(biāo)文件從云端下載到用戶終端本地;否則,若目標(biāo)文件在用戶終端本地,則無需執(zhí)行該操作309。
之后,不執(zhí)行本實(shí)施例的后續(xù)流程。
310,將目標(biāo)文件上傳至云端存儲(chǔ)系統(tǒng),并從用戶終端本地刪除。
具體地,若目標(biāo)文件在云端,則無需執(zhí)行該操作310中,否則,若目標(biāo)文件在用戶終端本地,便是將目標(biāo)文件從用戶終端本地上傳到云端。
在上述各實(shí)施例的文件存儲(chǔ)處理方法中,目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件包括但不限于以下條件之一:
(1)目標(biāo)文件的熱點(diǎn)權(quán)重大于預(yù)設(shè)熱點(diǎn)權(quán)重;其中,預(yù)設(shè)熱點(diǎn)權(quán)重根據(jù)用戶需求可自定義。例如,不同的前端應(yīng)用使用的文件特點(diǎn)不同,預(yù)設(shè)熱點(diǎn)權(quán)重也可以不同。
(2)目標(biāo)文件的熱點(diǎn)權(quán)重屬于同一用戶所有文件中熱點(diǎn)權(quán)重較大的前N個(gè),其中,N為大于1的整數(shù)。在該條件中,基于本發(fā)明上述實(shí)施例獲得目標(biāo)文件的熱點(diǎn)權(quán)重X后,可以對(duì)該用戶所有文件按照熱點(diǎn)權(quán)重X值由大到小的順序排序,然后從排序后的文件中選擇前N個(gè)文件作為熱點(diǎn)文件。
例如,在圖3所示的實(shí)施例中,可以先對(duì)步驟307計(jì)算的熱點(diǎn)權(quán)重從大到小的順序排序,將云端中熱點(diǎn)權(quán)重高于預(yù)設(shè)熱點(diǎn)權(quán)重且不在本地終端的目標(biāo)文件下載至用戶終本地端,將本地終端中熱點(diǎn)權(quán)重不高于預(yù)設(shè)熱點(diǎn)權(quán)重的目標(biāo)文件上傳至云端,并從用戶終端本地中刪除;其中,預(yù)設(shè)熱點(diǎn)權(quán)重由用戶自定義或由系統(tǒng)根據(jù)本地終端的存儲(chǔ)情況自動(dòng)設(shè)定。
圖4為本發(fā)明文件存儲(chǔ)處理系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。本發(fā)明實(shí)施例的文件存儲(chǔ)處理系統(tǒng)可用于實(shí)現(xiàn)本發(fā)明上述各實(shí)施例的文件存儲(chǔ)處理方法如圖4所示,該實(shí)施例的文件存儲(chǔ)處理系統(tǒng)包括獲取模塊、熱點(diǎn)權(quán)重獲取模塊和執(zhí)行模塊,其中:
獲取模塊,用于獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度、目標(biāo)文件的文件訪問時(shí)間和文件訪問頻度。
熱點(diǎn)權(quán)重獲取模塊,用于根據(jù)獲取模塊獲取的目標(biāo)文件的內(nèi)容關(guān)聯(lián)度、文件訪問時(shí)間和文件訪問頻度,獲取目標(biāo)文件的熱點(diǎn)權(quán)重。
執(zhí)行模塊,用于判斷熱點(diǎn)權(quán)重獲取模塊計(jì)算得到的目標(biāo)文件的熱點(diǎn)權(quán)重是否滿足本地存儲(chǔ)條件;若目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件,將目標(biāo)文件存儲(chǔ)在用戶終端本地,另外還可以選擇性地將目標(biāo)文件上傳存儲(chǔ)在云端存儲(chǔ)系統(tǒng)中;否則,若目標(biāo)文件的熱點(diǎn)權(quán)重不滿足本地存儲(chǔ)條件,將目標(biāo)文件存儲(chǔ)在云端存儲(chǔ)系統(tǒng)。
混合云存儲(chǔ)系統(tǒng)的所有文件都會(huì)上傳到云端,因用戶終端本地存儲(chǔ)空間有限,所以,只在用戶終端本地保存熱點(diǎn)權(quán)重滿足一定條件的文件。
本發(fā)明實(shí)施例提出的上述文件存儲(chǔ)處理系統(tǒng),通過獲取混合云存儲(chǔ)系統(tǒng)中的目標(biāo)文件與熱點(diǎn)文件之間內(nèi)容關(guān)聯(lián)度、目標(biāo)文件的文件訪問時(shí)間和文件訪問頻度,計(jì)算得到目標(biāo)文件的熱點(diǎn)權(quán)重,將熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件的目標(biāo)文件存儲(chǔ)在用戶終端本地,將熱點(diǎn)權(quán)重不滿足本地存儲(chǔ)條件的目標(biāo)文件上傳至云端存儲(chǔ)系統(tǒng),在充分考慮文件之間的關(guān)聯(lián)性的基礎(chǔ)上實(shí)現(xiàn)了文件的分層管理,在用戶讀取一個(gè)文件時(shí),可直接從用戶終端本地讀取與之關(guān)聯(lián)性較高的其他文件,無需從云端下載,提高了用戶體驗(yàn),有效地提升了混合云存儲(chǔ)系統(tǒng)中的數(shù)據(jù)訪問性能;另外,將熱點(diǎn)權(quán)重不滿足本地存儲(chǔ)條件的目標(biāo)文件上傳至云端存儲(chǔ)系統(tǒng)可節(jié)省本地存儲(chǔ)空間,降低存儲(chǔ)成本。
基于本發(fā)明上述任一文件存儲(chǔ)處理方法的另一個(gè)實(shí)施例中,目標(biāo)文件的熱點(diǎn)權(quán)重滿足本地存儲(chǔ)條件以下兩點(diǎn)其中之一:
(1)目標(biāo)文件的熱點(diǎn)權(quán)重大于預(yù)設(shè)熱點(diǎn)權(quán)重。
其中,預(yù)設(shè)熱點(diǎn)權(quán)重根據(jù)用戶需求可自定義,不同的前端應(yīng)用使用的文件特點(diǎn)不同,預(yù)設(shè)熱點(diǎn)權(quán)重也有所不同。
(2)目標(biāo)文件的熱點(diǎn)權(quán)重屬于同一用戶所有文件中熱點(diǎn)權(quán)重較大的前N個(gè),其中,N為大于1的整數(shù)。
圖5為本發(fā)明文件存儲(chǔ)處理系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖5所示,與圖4實(shí)施例相比,該實(shí)施例的文件存儲(chǔ)處理系統(tǒng)還包括更新模塊,用于響應(yīng)于用戶終端本地或用戶終端的用戶在云端存儲(chǔ)系統(tǒng)創(chuàng)建文 件、或用戶終端本地或云端存儲(chǔ)系統(tǒng)的文件被訪問時(shí),以該創(chuàng)建或被訪問的文件作為目標(biāo)文件,更新文件訪問時(shí)間列表中目標(biāo)文件的文件訪問時(shí)間信息和文件訪問頻度列表中目標(biāo)文件的文件訪問頻度信息,文件訪問時(shí)間列表包括用戶在用戶終端本地與云端存儲(chǔ)系統(tǒng)中所有文件的訪問時(shí)間信息,文件訪問頻度列表中包括所有文件的訪問頻度信息。
另外,更新模塊還可以在監(jiān)測(cè)到目標(biāo)文件的文件內(nèi)容被更改時(shí),更新目標(biāo)文件的文件內(nèi)容。
進(jìn)一步地,再參見圖5,在本發(fā)明文件存儲(chǔ)處理系統(tǒng)的再一個(gè)實(shí)施例中,還可以包括記錄模塊,用于在創(chuàng)建目標(biāo)文件時(shí),記錄目標(biāo)文件的文件名和文件內(nèi)容。
圖6為本發(fā)明文件存儲(chǔ)處理系統(tǒng)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖所示,與上述實(shí)施例相比,該實(shí)施例的文件存儲(chǔ)處理系統(tǒng)還包括文件列表處理模塊,用于根據(jù)用戶操作預(yù)先創(chuàng)建熱點(diǎn)文件列表,該熱點(diǎn)文件列表中包括M個(gè)熱點(diǎn)文件的標(biāo)識(shí)信息,其中,M為大于0的整數(shù);或者,根據(jù)用戶操作進(jìn)一步對(duì)熱點(diǎn)文件列表進(jìn)行更新。
例如,文件列表處理模塊對(duì)熱點(diǎn)文件列表進(jìn)行更新時(shí),具體可以在獲取模塊獲取到一個(gè)目標(biāo)文件的熱點(diǎn)權(quán)重時(shí),對(duì)熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中熱點(diǎn)文件的標(biāo)識(shí)更新為用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件的標(biāo)識(shí);或者周期性地對(duì)熱點(diǎn)文件列表進(jìn)行更新,將熱點(diǎn)文件列表中熱點(diǎn)文件的標(biāo)識(shí)更新為用戶所有文件中熱點(diǎn)權(quán)重較大的前M個(gè)文件的標(biāo)識(shí)。
基于本發(fā)明上述任一文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中,獲取模塊獲取目標(biāo)文件與熱點(diǎn)文件之間的內(nèi)容關(guān)聯(lián)度時(shí),具體獲取目標(biāo)文件與熱點(diǎn)文件的文件內(nèi)容中相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重,該特征權(quán)重以相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中所占的比例表示;并根據(jù)相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重計(jì)算目標(biāo)文件的內(nèi)容關(guān)聯(lián)度。
在一個(gè)具體示例中,獲取模塊可以通過C++編程語言中的Map容器獲取目標(biāo)文件與熱點(diǎn)文件的文件內(nèi)容中相同的特征詞匯分別在目標(biāo)文件 與熱點(diǎn)文件中的特征權(quán)重;Map容器是一個(gè)關(guān)聯(lián)容器,它提供一對(duì)一(其中第一個(gè)可以稱為關(guān)鍵字,每個(gè)關(guān)鍵字只能在Map中出現(xiàn)一次,第二個(gè)可稱為該關(guān)鍵字的值)的數(shù)據(jù)處理能力,由于這個(gè)特性,它能夠在我們處理一對(duì)一數(shù)據(jù)的時(shí)候,在編程上提供快速通道。Map內(nèi)部自建一顆紅黑樹(一種非嚴(yán)格意義上的平衡二叉樹),這顆樹具有對(duì)數(shù)據(jù)自動(dòng)排序的功能,所以在Map內(nèi)部所有的數(shù)據(jù)都是有序的。Map容器的主要功能為記錄文件中特征詞匯出現(xiàn)的次數(shù),并按照特征詞匯在文件中出現(xiàn)的次數(shù)進(jìn)行排序。
再參見圖6,在本發(fā)明文件存儲(chǔ)處理系統(tǒng)的另一個(gè)實(shí)施例中還包括文件預(yù)處理模塊,用于對(duì)當(dāng)前文件的文件內(nèi)容進(jìn)行預(yù)處理,去除當(dāng)前文件的文件內(nèi)容中的無效詞匯,得到有效文件內(nèi)容。其中,當(dāng)前文件包括目標(biāo)文件和熱點(diǎn)文件。相應(yīng)地,該實(shí)施例中,獲取模塊具體獲取目標(biāo)文件與熱點(diǎn)文件的有效文件內(nèi)容中相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重。
其中,無效詞匯是指目標(biāo)文件和熱點(diǎn)文件的文件內(nèi)容中無意義的詞匯,例如這個(gè),那個(gè),這些,那些等指示代詞,以及非常,特別,十分等詞匯。
在一個(gè)具體示例中,去除無效詞匯可以通過C++編程語言中的Set容器實(shí)現(xiàn),Set容器是C++標(biāo)準(zhǔn)庫(kù)中的一種關(guān)聯(lián)容器,關(guān)聯(lián)容器是通過鍵(key)來讀取和修改元素。它是單純鍵的集合,其主要功能為結(jié)合無效詞匯表,去除無效詞匯,實(shí)現(xiàn)特征詞匯的選擇。
在另一個(gè)具體示例中,獲取模塊具體通過以下公式計(jì)算目標(biāo)文件的內(nèi)容關(guān)聯(lián)度R:
其中,n為目標(biāo)文件和熱點(diǎn)文件中相同的特征詞匯的數(shù)量,W1k、W2k分別為相同的特征詞匯分別在目標(biāo)文件與熱點(diǎn)文件中的特征權(quán)重。
另外,在本發(fā)明上述各實(shí)施例的文件存儲(chǔ)處理系統(tǒng)中,獲取模塊具體可以通過以下公式計(jì)算目標(biāo)文件的熱點(diǎn)權(quán)重X:
Wr+Wt+Wp=1
其中,Wr為預(yù)設(shè)內(nèi)容關(guān)聯(lián)度的權(quán)重比例參數(shù),Wt為預(yù)設(shè)文件訪問時(shí)間的權(quán)重比例參數(shù),Wp為預(yù)設(shè)文件訪問頻度的權(quán)重比例參數(shù),Wr、Wt和Wp的取值為[0,1]之間的正實(shí)數(shù);Rmax為所述目標(biāo)文件與多個(gè)熱點(diǎn)文件的所述內(nèi)容關(guān)聯(lián)度R中的最大值,Tmax為所述目標(biāo)文件的最近一次訪問時(shí)間,Pmax為在所述預(yù)設(shè)周期內(nèi)所述目標(biāo)文件的最大訪問次數(shù)。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
可能以許多方式來實(shí)現(xiàn)本發(fā)明的方法、系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的方法和系統(tǒng)。用于所述方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對(duì)于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實(shí)施例是為了更好說明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。