欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種文件合并方法和裝置制造方法

文檔序號:6487488閱讀:180來源:國知局
一種文件合并方法和裝置制造方法
【專利摘要】本發(fā)明涉及數(shù)據(jù)處理【技術領域】,特別是涉及一種文件合并方法和裝置,所述方法包括:當有新文件生成時,確定所述新文件的類別,根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略;根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件,如果滿足,選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。本發(fā)明實施例提供的方法可以對文件進行分類處理,使得不同的文件有不同的合并處理策略,相對于現(xiàn)有技術提供的方法,使得文件的合并開銷始終保持可控。
【專利說明】一種文件合并方法和裝置
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術領域】,特別是涉及一種文件合并方法和裝置。
【背景技術】
[0002]增量數(shù)據(jù)庫(incremental database)是一種基于增量文件的數(shù)據(jù)庫技術,其特點是以追加而非修改文件的方式持久化新數(shù)據(jù),從而可以避免對存儲介質(zhì)的隨機寫操作。而在增量數(shù)據(jù)庫中,對同一條記錄的更新和刪除操作,可能造成該記錄的數(shù)據(jù)分布在多個文件中。而隨著數(shù)據(jù)庫更新、刪除操作產(chǎn)生的文件數(shù)量越多,數(shù)據(jù)讀取時就需要搜索更多的數(shù)據(jù)文件,由此造成磁盤隨機讀性能下降。
[0003]為了解決隨機讀操作性能問題,增量數(shù)據(jù)庫引入了文件合并機制,即將分散在多個文件中的記錄合并到一個文件中。文件合并過程包含讀取舊文件、計算和寫入新文件等步驟,因此本身也會造成CPU、內(nèi)存和磁盤讀寫的開銷。參與合并的文件容量越大,造成的開銷就越大。為了降低文件合并對增量數(shù)據(jù)庫性能的影響,必須設計合理的文件合并觸發(fā)和開銷控制機制。
[0004]現(xiàn)有技術中存在的文件合并方法,主要采用基于實時數(shù)量的觸發(fā)機制。在這種方法中,當文件數(shù)量達到一定閾值時觸發(fā)對這些文件的合并操作,生成一個新的文件替代舊文件。然而,現(xiàn)有技術提供的方法中,始終以將所有歷史數(shù)據(jù)合并到一起為目標,所有的歷史文件均參與實時合并,而文件合并的開銷是與合并的文件數(shù)據(jù)容量成正比的,隨著文件數(shù)據(jù)容量的積累,數(shù)據(jù)合并到新文件的開銷將越來越大,直到數(shù)據(jù)容量達到存儲的上限?,F(xiàn)有技術提供的方法將導致在大容量磁盤上部署的增量數(shù)據(jù)庫,最終無法承受數(shù)據(jù)量的增長導致的合并開銷的增長,因此存在合并開銷不可控的缺陷。

【發(fā)明內(nèi)容】

[0005]為解決上述技術問題,本發(fā)明實施例提供了一種文件合并方法和裝置,可以控制、降低文件合并的開銷。
[0006]一方面,本發(fā)明實施例提供了一種文件合并的方法,所述方法包括:
[0007]當有新文件生成時,確定所述新文件的類別,根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略;
[0008]根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件;
[0009]如果滿足,選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。
[0010]優(yōu)選地,所述文件合并策略包括以下任意一種或多種策略:
[0011]第一文件合并策略,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件;
[0012]第二文件合并策略,所述第二文件合并策略以時間作為觸發(fā)條件。
[0013]優(yōu)選地,所述文件類別包括第一類文件、第二類文件和第三類文件,其中,[0014]所述第一類文件為新生成且未參與文件合并的文件或根據(jù)第一合并策略生成的文件;
[0015]所述第二類文件為根據(jù)第二文件合并策略生成的文件;
[0016]所述第三類文件為數(shù)據(jù)容量大于第二設定閾值的文件。
[0017]優(yōu)選地,所述根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件包括:
[0018]當有新的第一類文件生成時,觸發(fā)合并判斷,根據(jù)第一文件合并策略判斷是否滿足合并觸發(fā)條件;
[0019]在所有第一類文件中文件數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件。
[0020]優(yōu)選地,所述根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件包括:
[0021]根據(jù)第二文件合并策略判斷是否滿足預設的時間觸發(fā)條件;
[0022]所述選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理為:
[0023]在滿足預設的時間觸發(fā)條件時,對第一類文件和第二類文件進行合并。
[0024]優(yōu)選地,所述方法還包括:
[0025]當對所述第一類文件和所述第二類文件進行合并后,將合并后的文件中數(shù)據(jù)容量大于第二設定閾值的文件作為第三類文件,對所述第三類文件進行歸檔處理。
[0026]另一方面,本發(fā)明實施例提供了一種文件合并裝置,所述裝置包括:
[0027]獲取單元,用于當有新文件生成時,確定所述新文件的類別,根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略;
[0028]觸發(fā)判斷單元,用于根據(jù)獲取單元發(fā)送的所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件;
[0029]合并執(zhí)行單元,用于在觸發(fā)判斷單元判斷滿足與所述文件合并策略對應的文件合并觸發(fā)條件時選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。
[0030]優(yōu)選地,所述文件合并策略包括以下任意一種或多種策略:
[0031]第一文件合并策略,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件;
[0032]第二文件合并策略,所述第二文件合并策略以時間作為觸發(fā)條件。
[0033]優(yōu)選地,所述文件類別包括第一類文件、第二類文件和第三類文件,其中,
[0034]所述第一類文件為新生成且未參與文件合并的文件或根據(jù)第一合并策略生成的文件;
[0035]所述第二類文件為根據(jù)第二文件合并策略生成的文件;
[0036]所述第三類文件為數(shù)據(jù)容量大于第二設定閾值的文件。
[0037]優(yōu)選地,所述觸發(fā)判斷單元為:
[0038]第一觸發(fā)判斷子單元,用于當有新的第一類文件生成時,觸發(fā)合并判斷,根據(jù)第一文件合并策略判斷是否滿足合并觸發(fā)條件;在所有第一類文件中文件數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件。
[0039]優(yōu)選地,所述觸發(fā)判斷單元具體為:[0040]第二觸發(fā)判斷子單元,用于根據(jù)第二文件合并策略判斷是否滿足預設的時間觸發(fā)條件;
[0041]則所述合并執(zhí)行單元用于在第二觸發(fā)判斷單元判斷滿足預設的觸發(fā)條件時,對第一類文件和第二類文件進行合并。
[0042]優(yōu)選地,所述裝置還包括:
[0043]歸檔處理單元,用于當對所述第一類文件和所述第二類文件進行合并后,對合并后的文件中數(shù)據(jù)容量大于第二設定閾值的文件作為第三類文件,對所述第三類文件進行歸檔處理。
[0044]本發(fā)明實施例能夠達到的有益效果為:在本發(fā)明實施例中,不同于現(xiàn)有技術中對所有文件均進行實時合并處理的方案,對增量數(shù)據(jù)庫中的文件進行分類處理,根據(jù)不同的文件類別制定了不同的合并處理策略。當有新的文件生成時,首先確定新文件的類別,并根據(jù)文件的類別獲取與其對應的合并策略。其中,第一類文件參與以文件數(shù)量作為觸發(fā)條件的實時合并,第一類文件和第二類文件參與以時間作為觸發(fā)條件的定時合并,第三類文件進行歸檔處理不參與合并,使得文件的合并開銷始終保持可控。由于對文件進行分類處理,使得不同的文件有不同的合并處理策略,相對于現(xiàn)有技術提供的方法,使得文件的合并開銷始終保持可控。
【專利附圖】

【附圖說明】
[0045]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0046]圖1為本發(fā)明實施例提供的文件合并方法第一實施例流程圖;
[0047]圖2為本發(fā)明實施例提供的文件合并方法第二實施例流程圖;
[0048]圖3為本發(fā)明實施例增量數(shù)據(jù)庫示意圖;
[0049]圖4為本發(fā)明實施例提供的文件合并方法第三實施例流程圖;
[0050]圖5為本發(fā)明一實施例提供的文件合并裝置示意圖;
[0051]圖6為本發(fā)明又一實施例提供的文件合并裝置示意圖。
【具體實施方式】
[0052]本發(fā)明實施例提供了一種文件合并的方法和裝置,可以根據(jù)文件的類別執(zhí)行不同的文件合并策略,使得文件的合并開銷始終保持可控,且進一步降低了文件合并的開銷。
[0053]為了使本【技術領域】的人員更好地理解本發(fā)明中的技術方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
[0054]本發(fā)明實施例提供的方法可以應用于所有文件數(shù)據(jù)的合并,包括但不限于磁盤文件、非磁盤文件存儲的數(shù)據(jù)、文件系統(tǒng)的增量數(shù)據(jù)、非典型文件系統(tǒng)的增量數(shù)據(jù)等。[0055]下面以增量數(shù)據(jù)庫為例,對本發(fā)明實施例提供的文件合并方法進行說明。前面提至IJ,在增量數(shù)據(jù)庫中,數(shù)據(jù)是以追加而非修改的方式保存在數(shù)據(jù)庫中的,數(shù)據(jù)的修改、刪除和更新操作,均會導致新的文件產(chǎn)生。數(shù)據(jù)入庫和文件的生成是一個持續(xù)性的過程,隨著數(shù)據(jù)量的增加,文件合并的開銷會越來越大。因此亟需一種文件合并方法既能夠在數(shù)據(jù)持續(xù)增長的過程中有效減少磁盤隨機輸入輸出,同時能夠盡可能地避免影響數(shù)據(jù)庫讀寫性能。
[0056]參見圖1,為本發(fā)明提供的文件合并方法第一實施例流程圖,所述方法包括:
[0057]S101,當有新文件生成時,確定所述新文件的類別,根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略。
[0058]在本發(fā)明第一實施例中,新文件為新生成的文件,可以是內(nèi)存數(shù)據(jù)持久化生成的文件(即入數(shù)據(jù)庫時直接生成的文件),也可以是文件合并生成的文件。在本發(fā)明第一實施例中,可以根據(jù)文件生成的方式對文件進行分類。當然,還可以根據(jù)文件數(shù)據(jù)容量大小對文件進行分類。本發(fā)明對具體的文件分類方式不進行限定,文件分類的主要目的是對文件進行分流處理,以保證參與某一類合并(例如實時合并)的文件數(shù)量較少,不占用系統(tǒng)資源,以使得合并開銷可控。
[0059]當確定新文件的類別后,即根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略。在本發(fā)明第一實施例中,不同的文件類別對應不同的文件合并策略。這樣,可以使得某一類別的文件參與對應的文件合并策略,使得參與某一類文件合并策略的文件數(shù)量保持可控,進而使得合并開銷可控。
[0060]S102,根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足文件合并觸發(fā)條件。
[0061]S103,如果滿足,選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。
[0062]不同的文件合并策略有不同的合并觸發(fā)條件,當滿足合并觸發(fā)條件時,選取滿足所述合并觸發(fā)條件的文件,觸發(fā)合并處理流程對滿足條件的文件進行合并。具體地,滿足文件合并觸發(fā)條件的文件與所述新文件屬于同一類別,其包括與所述新文件屬于同一類別的、滿足合并觸發(fā)條件的所有文件。在本發(fā)明第一實施例中,可以通過發(fā)送合并操作指令觸發(fā)對符合條件的文件的合并。其中,合并操作指令可以包括參與合并的文件的范圍以及合并操作的類型,例如定時合并或?qū)崟r合并。本發(fā)明對觸發(fā)合并的方式不進行限定,本領域技術人員在不付出創(chuàng)造性勞動下獲取的其他實施方式均屬于本發(fā)明的保護范圍。
[0063]在本發(fā)明第一實施例中,不同于現(xiàn)有技術中對所有文件均進行實時合并處理的方案,對增量數(shù)據(jù)庫中的文件進行分類處理,根據(jù)不同的文件類別制定了不同的合并處理策略。當有新的文件生成時,首先確定新文件的類別,并根據(jù)文件的類別獲取與其對應的合并策略。由于對文件進行分類處理,使得不同的文件有不同的合并處理策略,對文件進行了分流處理,以保證參與某一類合并(例如實時合并)的文件數(shù)量較少,不占用系統(tǒng)資源,相對于現(xiàn)有技術提供的方法,使得文件的合并開銷始終保持可控。
[0064]下面參照附圖2,對本發(fā)明第二實施例進行詳細介紹。
[0065]在本發(fā)明第二實施例中,在現(xiàn)有技術由文件數(shù)量觸發(fā)的文件合并(又可稱為實時合并)的基礎上,引入了由時間觸發(fā)的文件合并(定時合并)機制,即在指定時刻觸發(fā)文件合并操作。并針對不同類別的文件制定不同的合并策略,保證文件合并開銷可控,提高了數(shù)據(jù)庫讀寫性能。
[0066]參見圖2,為本發(fā)明實施例提供的文件合并方法第二實施例流程圖。[0067]S201,當有新的第一類文件生成時或滿足預設的時間觸發(fā)條件時,觸發(fā)合并判斷。
[0068]在本發(fā)明第二實施例中,仍以增量數(shù)據(jù)庫為例進行說明。參見圖3,為增量數(shù)據(jù)庫的四個功能模塊:數(shù)據(jù)緩沖模塊301,文件存儲模塊302,數(shù)據(jù)讀取模塊303,文件合并管理模塊304。如圖3所示,當執(zhí)行對數(shù)據(jù)庫的寫操作時,數(shù)據(jù)緩沖模塊301用于將新寫入的數(shù)據(jù)存儲到內(nèi)存緩沖區(qū)并觸發(fā)內(nèi)存數(shù)據(jù)的全部或部分持久化到非易失存儲介質(zhì),如生成磁盤文件。其中,緩沖區(qū)數(shù)據(jù)持久化的觸發(fā)條件可能是緩沖區(qū)數(shù)據(jù)容量、持續(xù)時間、操作數(shù)等達到特定條件。當緩沖區(qū)數(shù)據(jù)完成已持久化,則從緩沖區(qū)清除,從而保持數(shù)據(jù)緩沖模塊容量的持續(xù)可用性。在本發(fā)明第二實施例中,將緩沖區(qū)觸發(fā)持久化生成的文件被歸類為第一類文件。文件存儲模塊302用于保存由數(shù)據(jù)緩沖模塊301生成的持久化數(shù)據(jù)文件以及維護數(shù)據(jù)文件的分類信息。每當新的數(shù)據(jù)文件生成,文件存儲模塊302獲取該文件的分類信息,并將其與文件同步持久化。持久化文件分類信息的方法,可以是寫入到文件名、生成伴隨文件,或同步寫入獨立分類信息文件等;或者為文件添加標識信息,以代表文件不同的分類等。下面對本發(fā)明實施例中文件分類的方法進行介紹。
[0069]在本發(fā)明第二實施例中,文件合并策略包括:
[0070]第一文件合并策略,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件,即實時合并策略。第一設定閾值N為當進行實時合并處理時,判斷是否滿足觸發(fā)條件的一個閾值,當文件的數(shù)量大于第一設定閾值N時,則滿足觸發(fā)條件;當文件的數(shù)量小于第一設定閾值N時,則不滿足觸發(fā)條件。第一設定閾值N可以保證每次進行實時合并處理時至少包含N個文件,避免參與合并的文件數(shù)量過少造成合并過于頻繁,進而造成資源的占用。
[0071]第二文件合并策略,所述第二文件合并策略以時間作為觸發(fā)條件,即定時合并策略。
[0072]在本發(fā)明第二實施例中,還包括歸檔策略,即當文件數(shù)據(jù)容量大于第二設定閾值的文件不參與合并,進行歸檔處理。第二設定閾值為歸檔閾值,當文件的數(shù)據(jù)容量大于第二設定閾值A時,則對文件進行歸檔處理,歸檔文件不參與合并。
[0073]與文件合并策略對應的,在本發(fā)明第二實施例中,根據(jù)文件生成的方式將文件劃分為三類。具體的,可以將文件分為以下三類:
[0074](I)第一類文件為新生成且未參與文件合并的文件或根據(jù)第一文件合并策略生成的文件。也就是說,第一類文件包括內(nèi)存數(shù)據(jù)持久化生成的文件,即入庫時直接生成的文件。第一類文件還包括根據(jù)第一文件合并策略生成的文件,也就是實時合并生成的新文件。
[0075](2)第二類文件為根據(jù)第二文件合并策略生成的且文件數(shù)據(jù)容量小于第三設定閾值的文件。具體的,對于定時合并生成的文件,如果文件大小小于第三設定閾值A,標記為第二類文件。
[0076](3)第三類文件為根據(jù)第二文件合并策略生成的且文件數(shù)據(jù)容量大于第三設定閾值的文件,也就是由定時合并生成的文件容量大于等于第三設定閾值A,標記為第三類文件(歸檔類)。文件合并操作的最后,新生成的文件取代參與合并的舊文件,成為數(shù)據(jù)讀取模塊讀取的對象。
[0077]文件合并管理模塊用于從文件存儲模塊獲取文件的類別以及生成實時合并操作指令。下面將具體進行說明。在本發(fā)明第二實施例中,包含觸發(fā)判斷步驟,當有新的第一類文件生成時或滿足預設的時間觸發(fā)條件時,觸發(fā)合并判斷。其中,文件的類別是在文件生成時即根據(jù)文件生成的方式確定的。預設的時間觸發(fā)條件可以是到達預設的時刻或者達到預設的時間間隔等,本發(fā)明對此不進行限定。
[0078]S202,當判斷新文件的類別為第一類文件時,根據(jù)第一文件合并策略判斷是否滿足合并觸發(fā)條件。
[0079]具體的,在本發(fā)明第二實施例中,第一文件合并策略為以文件數(shù)量達到第一設定閾值作為觸發(fā)條件,即實時合并策略。每當有新的第一類文件生成時,觸發(fā)一次實時合并判斷,在所有第一類文件中,當文件的數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件,則生成“將這些文件合并為第一類文件”的指令,發(fā)送給文件存儲模塊。
[0080]也就是說,判斷是否滿足合并觸發(fā)條件需要同時滿足以下兩個條件:
[0081](I)文件的數(shù)據(jù)容量滿足預設容量條件。
[0082](2)滿足條件(I)的文件的數(shù)量大于第一設定閾值N。
[0083]具體的,在本發(fā)明實施例中,預設容量條件為文件的數(shù)據(jù)容量大于0.5S且小于1.5S。S為一個設定的容量值,一般的,S大于50MB。預設容量條件可以由系統(tǒng)設定,也可以是根據(jù)需要設置其他條件。設定預設容量條件的目的是為了使得相近大小的文件優(yōu)先進行合并,有利于減少文件合并的次數(shù),進而降低合并開銷。在這里,第一設定閾值N可以通過系統(tǒng)設定,以保證每次實時合并時至少包含N個文件,避免參與合并文件數(shù)量過少導致合并過于頻繁。設置容量值S使得相近大小的文件優(yōu)先進行合并,有利于減少文件合并的次數(shù)。
[0084]S203,在所有第一類文件中文件數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件。
[0085]S204,選取滿足合并觸發(fā)條件的第一類文件,執(zhí)行文件合并處理。
[0086]具體地,在本發(fā)明第二實施例中,合并處理流程具體如下:首先每個文件中的數(shù)據(jù)是排序的,打開待合并文件的讀取文件流以及一個新文件的寫入文件流。其中,每個文件流包含一個游標,以便于按順序從頭至尾獲取數(shù)據(jù)記錄。合并處理流程從所有打開的文件流中,查找主鍵值最小(或主鍵值最大,取決于數(shù)據(jù)排序規(guī)則)的數(shù)據(jù)。若存在多個主鍵值相等的數(shù)據(jù)(例如同一條記錄在兩個文件中的更新信息),則對著多條數(shù)據(jù)合并(非主鍵字段按照時間戳較大優(yōu)先原則選取),否則直接選取該數(shù)據(jù)。將上一步驟選取的數(shù)據(jù)追加到新的文件中,以實現(xiàn)文件合并。
[0087]S205,當滿足預設的時間觸發(fā)條件時,對第一類文件和第二類文件進行合并。
[0088]在本發(fā)明第二實施例中,在實時合并基礎上,引入了定時合并機制,當滿足預設的時間觸發(fā)條件時,則觸發(fā)合并判斷。預設的時間觸發(fā)條件可以是系統(tǒng)預設的時刻Tl到達時觸發(fā)定時合并,也可以是每隔T2個時間段則執(zhí)行一次定時合并,也可以是其他時間觸發(fā)條件,本發(fā)明對此不進行限定。由于定時合并需要第一類文件和第二類文件的參與,因此,合并的數(shù)據(jù)量總量較大,因此定時合并執(zhí)行的開銷也較大。具體地,可以選擇數(shù)據(jù)庫業(yè)務最空閑的時刻,例如每天深夜的時刻執(zhí)行定時合并。
[0089]S206,判斷由定時合并產(chǎn)生的合并后的文件的數(shù)據(jù)容量是否大于第二設定閾值A0如果大于,進入步驟S208,如果不大于,進入步驟S207。[0090]S207,如果否,將合并后的文件作為第二類文件進行存儲。
[0091]當預設的時間條件滿足時,則會觸發(fā)對新生成的第二類文件的定時合并。
[0092]S208,如果是,將合并后的文件作為第三類文件進行歸檔處理。
[0093]如果經(jīng)過定時合并生成的文件數(shù)據(jù)容量大于第二設定閾值,則將其作為第三類文件,進行歸檔處理。第三類文件將不再參與文件的合并。一般的,第二設定閾值是一個較大的閾值,例如200G。設置該參數(shù)的目的在于避免過大文件參與合并,從而避免了合并造成CPU和磁盤IO開銷隨著數(shù)據(jù)庫容量增長而無限增加。
[0094]在本發(fā)明第二實施例中,在現(xiàn)有技術由文件數(shù)量觸發(fā)的文件合并(又可稱為實時合并)的基礎上,引入了由時間觸發(fā)的文件合并(定時合并)機制,即在指定時刻觸發(fā)文件合并操作。例如,可以在數(shù)據(jù)庫業(yè)務最空閑的時刻觸發(fā)文件合并,可以有效地緩解數(shù)據(jù)庫業(yè)務繁忙時文件合并造成的硬件資源競爭壓力,提高數(shù)據(jù)庫性能。
[0095]另一方面,在本發(fā)明第二實施例中,只有新入庫和參與實時合并生成的文件才參與實時合并,而由定時合并產(chǎn)生的大容量文件則不參與實時合并,使得參與定時合并的文件數(shù)量大大縮小,其文件數(shù)據(jù)量保持可控,進一步保證了合并開銷可控。
[0096]再一方面,由于設置了第三設定閾值A,即歸檔閾值,對大于文件數(shù)據(jù)容量歸檔閾值的文件進行歸檔處理,不參與文件合并,避免了大文件參與合并,從而避免了合并造成CPU和磁盤IO開銷隨著數(shù)據(jù)庫容量增長而無限增加,從而保證合并開銷可控。
[0097]現(xiàn)有技術中,現(xiàn)有技術提供的方法中,始終以將所有歷史數(shù)據(jù)合并到一起為目標,所有的歷史文件均參與實時合并,這樣處理帶來的另一個問題則是會在業(yè)務繁忙時加劇硬件資源競爭。通常數(shù)據(jù)庫操作繁忙的時段,新數(shù)據(jù)文件增長速度最快,按照現(xiàn)有技術提供的方法,此時由數(shù)量閾值觸發(fā)的合并操作將最為頻繁。這一現(xiàn)象導致了現(xiàn)有技術的合并操作會在數(shù)據(jù)庫業(yè)務高峰時段與主功能競爭硬件資源,例如CPU和磁盤I/O等,嚴重影響數(shù)據(jù)庫本身的性能?,F(xiàn)有技術在數(shù)據(jù)庫業(yè)務空閑時段,合并任務也相對空閑,從而浪費了閑時的硬件處理能力。
[0098]為了解決這一問題,在本發(fā)明第三實施例中,與第二實施例不同的是,只在數(shù)據(jù)庫相對空閑的時刻進行定時合并。當由定時合并產(chǎn)生的文件數(shù)據(jù)容量大于第三設定閾值A時,對文件進行歸檔處理。與第二實施例實時合并加定時合并的合并策略不同的是,在本發(fā)明第三實施例中,只包括定時合并策略以及歸檔處理策略。
[0099]參見圖4,為本發(fā)明實施例提供的文件合并方法第三實施例流程圖。
[0100]S401,當有新的文件生成時,確定新文件的類別。
[0101]在本發(fā)明這一實施例中,將文件劃分為歸檔文件和非歸檔文件。文件數(shù)據(jù)容量大于設定閾值的被標記為歸檔文件,不參與合并處理。文件數(shù)據(jù)容量小于設定閾值的文件才參與定時合并。
[0102]S402,當滿足預設的時間觸發(fā)條件時,對非歸檔文件進行合并。
[0103]在本發(fā)明第三實施例中,將文件劃分為歸檔文件和非歸檔文件,并為不同類別的文件制定了不同的合并策略。對于歸檔文件,不參與定時合并處理。對于非歸檔文件,參與由時間閾值觸發(fā)的定時合并。這里,預設的時間觸發(fā)條件可以是系統(tǒng)預設的時刻Tl到達時觸發(fā)定時合并,也可以是每隔T2個時間段則執(zhí)行一次定時合并,也可以是其他時間觸發(fā)條件,本發(fā)明對此不進行限定。[0104]S403,判斷由定時合并產(chǎn)生的合并后的文件的數(shù)據(jù)容量是否大于第二設定閾值A0如果不大于,進入步驟S404,如果大于,進入步驟S405。
[0105]S404,如果否,將合并后的文件作為非歸檔文件進行存儲。
[0106]當預設的時間條件滿足時,則會觸發(fā)對新生成的非歸檔文件的定時合并。
[0107]S405,如果是,將合并后的文件作為歸檔文件進行歸檔處理,歸檔文件不參與文件
I=I TT O
[0108]在本發(fā)明第三實施例中,在數(shù)據(jù)庫業(yè)務空閑的時刻對文件進行合并處理,解決了現(xiàn)有技術業(yè)務繁忙時導致資源競爭的缺點。另一方面,將合并后的文件中數(shù)據(jù)容量大于設定閾值的文件進行歸檔處理,使得合并的開銷在一個歸檔周期內(nèi)遞增,而達到歸檔條件后則會回落到最低值,使得合并開銷可控。
[0109]參見圖5,為本發(fā)明實施例提供的文件合并的裝置示意圖。
[0110]所述裝置包括:
[0111]獲取單元501,用于當有新文件生成時,確定所述新文件的類別;根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略。
[0112]觸發(fā)判斷單元502,用于根據(jù)獲取單元發(fā)送的所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件。
[0113]合并執(zhí)行單元503,用于在觸發(fā)判斷單元502判斷滿足與所述文件合并策略對應的文件合并觸發(fā)條件時,選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。
[0114]進一步地,所述文件合并策略包括以下任意一種或多種策略:
[0115]第一文件合并策略,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件;
[0116]第二文件合并策略,所述第二文件合并策略以時間作為觸發(fā)條件。
[0117]進一步地,所述文件類別包括第一類文件、第二類文件和第三類文件,其中,
[0118]所述第一類文件為新生成且未參與文件合并的文件或根據(jù)第一合并策略生成的文件,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件;
[0119]所述第二類文件為根據(jù)第二文件合并策略生成的文件,所述第二文件合并策略以時間作為觸發(fā)條件;
[0120]所述第三類文件為數(shù)據(jù)容量大于第二設定閾值的文件。
[0121]進一步地,所述觸發(fā)判斷單元為:
[0122]第一觸發(fā)判斷子單元,用于當有新的第一類文件生成時,觸發(fā)合并判斷,根據(jù)第一文件合并策略判斷是否滿足合并觸發(fā)條件;在所有第一類文件中文件數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件。
[0123]所述合并執(zhí)行單元用于在第一觸發(fā)判斷單元根據(jù)第一文件合并策略判斷滿足合并觸發(fā)條件時,選取滿足條件的第一類文件,觸發(fā)合并處理流程,對滿足所述合并觸發(fā)條件的文件進行合并。
[0124]進一步地,所述觸發(fā)判斷單元具體為:
[0125]第二觸發(fā)判斷子單元,用于根據(jù)第二文件合并策略判斷是否滿足預設的時間觸發(fā)條件。
[0126]所述合并執(zhí)行單元用于在第二觸發(fā)判斷單元判斷滿足預設的時間觸發(fā)條件時,對第一類文件和第二類文件進行合并。
[0127] 進一步地,所述裝置還包括:
[0128]歸檔處理單元,用于當對所述第一類文件和所述第二類文件進行合并后,對合并后的文件中數(shù)據(jù)容量大于第二設定閾值的文件作為第三類文件,對所述第三類文件進行歸檔處理。
[0129]參見圖6,為本發(fā)明又一實施例提供的文件合并裝置示意圖。
[0130]所述裝置包括:
[0131]存儲器601,用于存儲文件類別與文件合并策略的對應關系;
[0132]處理器602,用于當有新文件生成時,確定所述新文件的類別,根據(jù)所述存儲器601存儲的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略;根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件;如果滿足,選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。
[0133]進一步地,所述文件合并策略包括:
[0134]第一文件合并策略,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件;
[0135]第二文件合并策略,所述第二文件合并策略以時間作為觸發(fā)條件。
[0136]所述文件類別包括第一類文件、第二類文件和第三類文件,其中,
[0137]所述第一類文件為新生成且未參與文件合并的文件或根據(jù)第一文件合并策略生成的文件;
[0138]所述第二類文件為根據(jù)第二文件合并策略生成的文件;
[0139]所述第三類文件為數(shù)據(jù)容量大于第二設定閾值的文件。
[0140]進一步地,所述處理器602具體用于當有新的第一類文件生成時,觸發(fā)合并判斷,根據(jù)第一文件合并策略判斷是否滿足合并觸發(fā)條件;在所有第一類文件中文件數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件;以及選取滿足條件的第一類文件,觸發(fā)合并處理流程,對滿足所述合并觸發(fā)條件的文件進行合并。
[0141]進一步地,所述處理器602還用于根據(jù)第二文件合并策略判斷是否滿足預設的時間觸發(fā)條件,當判斷滿足預設的時間觸發(fā)條件時,對第一類文件和第二類文件進行合并。
[0142]進一步地,所述處理器602還用于當對所述第一類文件和所述第二類文件進行合并后,對合并后的文件中數(shù)據(jù)容量大于第二設定閾值的文件作為第三類文件,對所述第三類文件進行歸檔處理。
[0143]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0144]本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
[0145]以上所述僅是本發(fā)明的【具體實施方式】,應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
【權利要求】
1.一種文件合并的方法,其特征在于,所述方法包括: 當有新文件生成時,確定所述新文件的類別,根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略; 根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件; 如果滿足,選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。
2.根據(jù)權利要求1所述的方法,其特征在于,所述文件合并策略包括以下任意一種或多種策略: 第一文件合并策略,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件; 第二文件合并策略,所述第二文件 合并策略以時間作為觸發(fā)條件。
3.根據(jù)權利要求2所述的方法,其特征在于,所述文件類別包括第一類文件、第二類文件和第三類文件,其中, 所述第一類文件為新生成且未參與文件合并的文件或根據(jù)第一文件合并策略生成的文件; 所述第二類文件為根據(jù)第二文件合并策略生成的文件; 所述第三類文件為數(shù)據(jù)容量大于第二設定閾值的文件。
4.根據(jù)權利要求3所述的方法,其特征在于,所述根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件包括: 當有新的第一類文件生成時,觸發(fā)合并判斷,根據(jù)第一文件合并策略判斷是否滿足合并觸發(fā)條件; 在所有第一類文件中文件數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件。
5.根據(jù)權利要求3所述的方法,其特征在于,所述根據(jù)所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件包括: 根據(jù)第二文件合并策略判斷是否滿足預設的時間觸發(fā)條件; 所述選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理為: 在滿足預設的時間觸發(fā)條件時,對第一類文件和第二類文件進行合并。
6.根據(jù)權利要求5所述的方法,其特征在于,所述方法還包括: 當對所述第一類文件和所述第二類文件進行合并后,將合并后的文件中數(shù)據(jù)容量大于第二設定閾值的文件作為第三類文件,對所述第三類文件進行歸檔處理。
7.一種文件合并的裝置,其特征在于,所述裝置包括: 獲取單元,用于當有新文件生成時,確定所述新文件的類別,根據(jù)預存的文件類別與文件合并策略的對應關系,獲取與所述新文件的類別對應的文件合并策略; 觸發(fā)判斷單元,用于根據(jù)獲取單元發(fā)送的所述文件合并策略,觸發(fā)合并判斷,判斷是否滿足與所述文件合并策略對應的文件合并觸發(fā)條件; 合并執(zhí)行單元,用于在觸發(fā)判斷單元判斷滿足與所述文件合并策略對應的文件合并觸發(fā)條件時,選取滿足文件合并觸發(fā)條件的文件,執(zhí)行文件合并處理。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述文件合并策略包括以下任意一種或多種策略: 第一文件合并策略,所述第一文件合并策略以文件數(shù)量達到第一設定閾值作為觸發(fā)條件; 第二文件合并策略,所述第二文件合并策略以時間作為觸發(fā)條件。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述文件類別包括第一類文件、第二類文件和第三類文件,其中, 所述第一類文件為新生成且未參與文件合并的文件或根據(jù)第一合并策略生成的文件; 所述第二類文件為根據(jù)第二文件合并策略生成的文件; 所述第三類文件為數(shù)據(jù)容量大于第二設定閾值的文件。
10.根據(jù)權利要求9所述的裝置,其特征在于,所述觸發(fā)判斷單元為: 第一觸發(fā)判斷子單元,用于當有新的第一類文件生成時,觸發(fā)合并判斷,根據(jù)第一文件合并策略判斷是否滿足合并觸發(fā)條件;在所有第一類文件中文件數(shù)據(jù)容量滿足預設容量條件的文件的數(shù)量大于第一設定閾值時,確定滿足合并觸發(fā)條件。
11.根據(jù)權利要求9所述的裝置,其特征在于,所述觸發(fā)判斷單元具體為: 第二觸發(fā)判斷子單元,用于根據(jù)第二文件合并策略判斷是否滿足預設的時間觸發(fā)條件; 則所述合并執(zhí)行單元用于在第二觸發(fā)判斷單元判斷滿足預設的時間觸發(fā)條件時,對第一類文件和第二類文件進行合并。
12.根據(jù)權利要求11所述的裝置,其特征在于,所述裝置還包括: 歸檔處理單元,用于當對所述第一類文件和所述第二類文件進行合并后,對合并后的文件中數(shù)據(jù)容量大于第二設定閾值的文件作為第三類文件,對所述第三類文件進行歸檔處理。
【文檔編號】G06F17/30GK103577454SQ201210270365
【公開日】2014年2月12日 申請日期:2012年8月1日 優(yōu)先權日:2012年8月1日
【發(fā)明者】程實, 梁曉豪 申請人:華為技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
公主岭市| 庐江县| 蒙自县| 临泉县| 玉环县| 合阳县| 盘山县| 新干县| 墨玉县| 象山县| 治多县| 呼和浩特市| 甘泉县| 温泉县| 玉林市| 天柱县| 娄烦县| 安徽省| 宜城市| 扶余县| 南投市| 定南县| 集贤县| 丹寨县| 恭城| 双辽市| 禹州市| 渝北区| 江山市| 长垣县| 大田县| 独山县| 谷城县| 黄山市| 修武县| 恭城| 江都市| 手游| 河源市| 上杭县| 榆中县|