国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種文件比較方法

      文檔序號:6538316閱讀:191來源:國知局
      專利名稱:一種文件比較方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及文件處理技術(shù)領(lǐng)域,具體涉及一種文件比較方法。
      背景技術(shù)
      文件比較工具,通過對兩個文件內(nèi)容進行比較來確定兩個文件是否完全相同,在確定兩個文件的內(nèi)容不相同時,文件比較工具通常還可以輸出兩個文件的不同之處。
      目前,文件比較工具如Windows平臺下的文件比較程序fc.exe file1 file2實現(xiàn)文件比較的方法主要為將兩個需要比較的文件file1(文件1)、file2(文件2)分別讀入緩存,然后從file1、file2的文件頭開始對兩個文件進行逐字節(jié)的比較,直到文件尾。比較完成后,輸出兩個文件的比較結(jié)果,如文件相同、文件不相同、文件的不同之處等。
      在需要進行比較的文件較大時,如文件的大小超過計算機緩存大小幾倍以上,計算機系統(tǒng)會將所有的空閑緩存都分配給文件比較程序使用,使系統(tǒng)緩存幾乎被完全耗盡,并且占用了大量的CPU資源,使計算機系統(tǒng)中運行的其他程序會由于緩存不足而被掛起,導(dǎo)致其他程序不能正常運行。
      由于文件比較是逐字節(jié)比較的,所以,在比較的文件較大的情況下,文件比較的時間會很長,可能需要數(shù)分鐘乃至數(shù)十分鐘,計算機長時間的被文件比較程序占用,無法正常運行其他程序,影響了計算機的正常使用。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于,提供一種文件比較方法,通過設(shè)置文件比較時需要占用的系統(tǒng)資源,有效控制了文件比較時占用的計算機資源,實現(xiàn)了提高計算機系統(tǒng)性能的目的。
      為達到上述目的,本發(fā)明提供的一種文件比較方法,包括a、設(shè)置文件比較需要占用的系統(tǒng)資源;b、根據(jù)所述文件比較需要占用的系統(tǒng)資源進行文件比較。
      所述系統(tǒng)資源包括緩存空間。
      所述步驟a包括在文件比較命令中設(shè)置文件比較需要占用的緩存空間參數(shù)。
      所述步驟a包括將需要比較的文件中的其中一個文件在文件比較過程中需要占用的緩存空間設(shè)置于文件比較命令的緩存空間參數(shù)中。
      所述步驟a還包括設(shè)置所述參數(shù)的缺省值。
      所述步驟b包括判斷文件比較命令的各參數(shù)是否設(shè)置正確;如果設(shè)置正確,從所述緩存空間參數(shù)中獲取文件比較需要占用的緩存空間,并根據(jù)所述緩存空間進行文件比較;如果設(shè)置不正確,輸出命令行幫助信息。
      所述文件比較命令的各參數(shù)包括需要進行文件比較的各文件的地址信息參數(shù)、緩存空間參數(shù)。
      所述根據(jù)所述緩存空間進行文件比較的步驟具體包括判斷需要進行文件比較的文件大小是否超過所述緩存空間;如果未超過所述緩存空間,將需要比較的文件中的所有數(shù)據(jù)讀入緩存,并進行比較;
      如果超過所述緩存空間,根據(jù)所述緩存空間依次將需要比較的文件中的相應(yīng)數(shù)據(jù)讀入緩存,并分別進行比較。
      所述方法還包括輸出文件比較結(jié)果;且所述文件比較結(jié)果為文件相同或文件不同和/或文件不同之處。
      所述文件包括基于ASCII的文件或基于二進制的文件。
      通過上述技術(shù)方案的描述可知,本發(fā)明通過設(shè)置文件比較時占用的系統(tǒng)資源,如緩存空間,使文件在比較過程中占用的計算機資源能夠被有效控制,避免了由于文件比較占用所有空閑的緩存空間的現(xiàn)象,使其他程序不會因文件比較而被掛起,使計算機的正常使用不會受到文件比較的影響;通過在文件比較命令參數(shù)中設(shè)置文件比較需要占用的緩存空間,使本發(fā)明設(shè)置文件比較需要占用的緩存空間的方法靈活、且易于實現(xiàn);從而通過本發(fā)明提供的技術(shù)方案實現(xiàn)了提高計算機系統(tǒng)性能的目的。


      圖1是本發(fā)明的文件比較方法流程圖1;圖2是本發(fā)明的文件比較方法流程圖2。
      具體實施例方式
      在計算機系統(tǒng)進行文件比較時,如果使計算機系統(tǒng)的資源能夠被有計劃的占用,使計算機系統(tǒng)能夠在進行文件比較的同時,還能夠為其他程序提供可利用的資源,就能夠避免文件比較時,尤其是在進行較大文件的比較時,因文件比較程序過多的占用計算機資源而影響計算機正常使用的現(xiàn)象。
      因此,本發(fā)明的核心是設(shè)置文件比較需要占用的系統(tǒng)資源,根據(jù)所述文件比較需要占用的系統(tǒng)資源進行文件比較。
      下面基于本發(fā)明的核心思想對本發(fā)明提供的技術(shù)方案做進一步的描述。
      本發(fā)明中的文件包括基于ASCII的文件或基于二進制的文件。
      本發(fā)明中的系統(tǒng)資源包括計算機系統(tǒng)的緩存空間,即計算機系統(tǒng)的內(nèi)存空間。
      本發(fā)明首先需要設(shè)置文件比較時需要占用的緩存空間。設(shè)置文件比較時需要占用的緩存空間的方法可以為在文件比較命令中增加一個參數(shù),該參數(shù)可以表明文件比較需要占用的緩存空間,如1KB。本發(fā)明還可以設(shè)置該參數(shù)的缺省值,如果在沒有明確指定文件比較時需要占用的緩存空間的大小時,根據(jù)缺省值如2KB來確定文件比較時需要占用的緩存空間大小。
      下面通過一個具體的文件比較命令來說明通過文件比較命令的參數(shù)設(shè)置文件比較需要占用的緩存空間的方法文件比較命令為Sanfc-s source_filename-d destinct_filename[-k K byte ofbuffer_length|-m M byte of buffer_length],其中source_filename為源文件文件名,源文件即被比較的文件,destinct_filename為目標文件名,目標文件即源文件的對比文件。參數(shù)-k與參數(shù)-m為可選參數(shù),當設(shè)置了參數(shù)-k,-k后面的數(shù)值為文件比較時源文件占用緩存空間的大小,其單位為KB,當設(shè)置了參數(shù)-m,-m后面的數(shù)值為文件比較時源文件占用緩存空間的大小,其單位為MB。當不設(shè)置-k或-m及其后面的數(shù)值時,文件比較時源文件占用緩存空間為預(yù)先設(shè)定的缺省值。計算機系統(tǒng)在根據(jù)該文件比較命令進行文件比較時,源文件和目的文件共需要占用的緩存空間為參數(shù)-k或參數(shù)-m后面數(shù)值的2倍,或缺省值的2倍。
      通過文件比較命令中的參數(shù)設(shè)置使本發(fā)明可以根據(jù)需要控制文件比較時占用的計算機緩存空間,使計算機系統(tǒng)能夠在為文件比較提供緩存的同時,還能夠為其他程序提供可利用的緩存空間。
      在文件比較命令中設(shè)置了參數(shù),并執(zhí)行該命令時,需要判斷文件比較命令的參數(shù)是否設(shè)置正確,如參數(shù)格式是否符合要求等,如果參數(shù)設(shè)置有誤,計算機系統(tǒng)可以輸出命令行幫助信息;如果參數(shù)設(shè)置正確,則可以根據(jù)參數(shù)設(shè)置的緩存空間進行文件比較過程。
      在開始進行文件比較時,如果需要比較的文件的大小不超過本發(fā)明設(shè)置的緩存空間的大小,則可以直接將需要比較的文件中的所有數(shù)據(jù)都讀入計算機緩存,并從文件頭到文件尾進行逐字節(jié)的比較;如果需要比較的文件的大小超過本發(fā)明設(shè)置的緩存空間的大小,則應(yīng)當根據(jù)緩存空間的大小將文件中的數(shù)據(jù)分批次的讀入到緩存,并分別對每次讀入的文件中的數(shù)據(jù)進行逐字節(jié)的比較。
      在文件比較結(jié)束時,輸出文件比較結(jié)果,如輸出文件完全相同的比較結(jié)果或輸出文件不相同的比較結(jié)果。在輸出文件不相同的比較結(jié)果時,還可以輸出文件的不同之處。
      下面以2個文件進行比較為例,結(jié)合附圖1、附圖2對本發(fā)明的文件比較方法進行詳細說明。
      在圖1中,步驟100,開始本發(fā)明的文件比較方法。
      到步驟101,接收文件比較命令中的參數(shù)。
      到步驟102,判斷文件比較命令中的參數(shù)是否正確,即在設(shè)置了緩存空間參數(shù)時,判斷文件比較命令中的文件1即源文件的地址參數(shù)、文件2即目標文件的地址參數(shù)、緩存空間參數(shù)是否都符合要求,在沒有設(shè)置緩存空間參數(shù)時,判斷文件比較命令中的文件1的地址參數(shù)、文件2的地址參數(shù)是否都符合要求,如果其中有一個不符合要求,到步驟103,輸出命令行幫助信息,然后到步驟101。
      在步驟102,如果文件比較命令中設(shè)置的參數(shù)都符合要求,到步驟104,根據(jù)文件比較命令中的文件1的地址參數(shù)打開文件1。
      到步驟105,判斷文件1是否打開出錯,如果出錯,到步驟106,關(guān)閉已打開的文件,并輸出錯誤信息,結(jié)束文件比較過程。
      在步驟105,如果文件1打開正確,到步驟107,根據(jù)文件比較命令中的文件2的地址參數(shù)打開文件2。
      到步驟108,判斷文件2是否打開出錯,如果出錯,到步驟106,關(guān)閉已打開的文件,并輸出錯誤信息,結(jié)束文件比較過程。
      在步驟108,如果文件2打開正確,到步驟109,判斷文件1是否結(jié)束,即判斷文件1是否已從文件頭開始逐字節(jié)的比較到文件尾,如果文件1結(jié)束,到步驟110,設(shè)置文件1的結(jié)束標志,然后到步驟112。
      在步驟109,如果文件1沒有結(jié)束,到步驟111,根據(jù)文件比較命令中緩存空間參數(shù)的數(shù)值或缺省數(shù)值確定文件比較可以占用的緩存空間大小,根據(jù)該緩存空間大小將文件1中的相應(yīng)數(shù)據(jù)讀入緩存1。
      到步驟112,判斷文件2是否結(jié)束,即判斷文件2是否已從文件頭開始逐字節(jié)的比較到文件尾,如果文件2結(jié)束,到步驟113,設(shè)置文件2的結(jié)束標志,然后到步驟115。
      在步驟112,如果文件2沒有結(jié)束,到步驟114,根據(jù)文件比較命令中緩存空間參數(shù)的數(shù)值或缺省數(shù)值確定文件比較可以占用的緩存空間大小,根據(jù)該緩存空間大小將文件2中的相應(yīng)數(shù)據(jù)讀入緩存2。
      到步驟115,根據(jù)文件中的結(jié)束標志判斷文件1和文件2中是否有文件已經(jīng)結(jié)束,如果有文件已經(jīng)結(jié)束,到步驟116,根據(jù)結(jié)束標志判斷文件1和文件2是否都結(jié)束,如果文件1和文件2都結(jié)束了,到步驟117,輸出文件1和文件2相同的比較結(jié)果。
      在步驟116,如果文件1和文件2中有一個沒有結(jié)束,到步驟120,輸出文件1和文件2不相同的比較結(jié)果。
      在步驟115,如果文件1和文件2都沒有結(jié)束,到步驟118,對緩存1和緩存2中的數(shù)據(jù)進行逐字節(jié)的比較。
      到步驟119,判斷緩存1和緩存2中的數(shù)據(jù)是否相同,如果相同,到步驟109,繼續(xù)判斷文件1是否結(jié)束。
      在步驟119,如果緩存1和緩存2中的數(shù)據(jù)不相同,到步驟120,輸出文件1和文件2不相同的比較結(jié)果。
      到步驟121,關(guān)閉文件1和文件2。
      到步驟122,完成文件1和文件2比較過程,本發(fā)明的文件比較方法結(jié)束。
      在圖2中,步驟200,開始本發(fā)明的文件比較方法。
      到步驟201,接收文件比較命令中的參數(shù)。
      到步驟202,判斷文件比較命令中的參數(shù)是否正確,即在設(shè)置了緩存空間參數(shù)時,判斷文件比較命令中的文件1的地址參數(shù)、文件2的地址參數(shù)、緩存空間參數(shù)是否都符合要求,在沒有設(shè)置緩存空間參數(shù)時,判斷文件比較命令中的文件1的地址參數(shù)、文件2的地址參數(shù)是否都符合要求,如果其中有一個不符合要求,到步驟203,輸出命令行幫助信息,然后到步驟201。
      在步驟202,如果文件比較命令中的設(shè)置參數(shù)都符合要求,到步驟204,根據(jù)文件比較命令中的文件1的地址參數(shù)打開文件1。
      到步驟205,判斷文件1是否打開出錯,如果出錯,到步驟206,關(guān)閉已打開的文件,并輸出錯誤信息,結(jié)束文件比較過程。
      在步驟205,如果文件1打開正確,到步驟207,根據(jù)文件比較命令中的文件2的地址參數(shù)打開文件2。
      到步驟208,判斷文件2是否打開出錯,如果出錯,到步驟206,關(guān)閉已打開的文件,并輸出錯誤信息,結(jié)束文件比較過程。
      在步驟208,如果文件2打開正確,到步驟209,根據(jù)文件比較命令中的參數(shù)設(shè)置或缺省值確定緩存1和緩存2的大小,并分配緩存空間。
      到步驟210,判斷文件1是否結(jié)束,即判斷文件1是否已從文件頭開始逐字節(jié)的比較到文件尾,如果文件1結(jié)束,到步驟211,設(shè)置文件1的結(jié)束標志,然后到步驟213。
      在步驟210,如果文件1沒有結(jié)束,到步驟212,將文件1中相應(yīng)大小的數(shù)據(jù)讀入緩存1,到步驟213。
      在步驟213,判斷文件2是否結(jié)束,即判斷文件2是否已從文件頭開始逐字節(jié)的比較到文件尾,如果文件2結(jié)束,到步驟214,設(shè)置文件2的結(jié)束標志,然后到步驟216。
      在步驟213,如果文件2沒有結(jié)束,到步驟215,將文件2中的相應(yīng)大小的數(shù)據(jù)讀入緩存2,到步驟216。
      在步驟216,根據(jù)文件中的結(jié)束標志判斷文件1和文件2中是否有文件已經(jīng)結(jié)束,如果文件1和文件2都沒有結(jié)束,到步驟217,對緩存1和緩存2中的數(shù)據(jù)進行逐字節(jié)的比較。
      到步驟218,判斷緩存1和緩存2中的數(shù)據(jù)是否相同,如果相同,到步驟210,繼續(xù)判斷文件1是否結(jié)束。
      在步驟218,如果緩存1和緩存2中的數(shù)據(jù)不相同,到步驟219,輸出文件1和文件2的不同之處,并設(shè)置文件1和文件2不相同的標志,到步驟210,繼續(xù)判斷文件1是否結(jié)束。
      在步驟216,如果文件1和文件2中有文件結(jié)束了,到步驟220,根據(jù)結(jié)束標志判斷文件1和文件2是否都結(jié)束,如果文件1和文件2都結(jié)束了,到步驟221,判斷是否設(shè)置了文件1和文件2不相同的標志,如果沒有設(shè)置文件1和文件2不相同的標志,到步驟223,輸出文件1和文件2相同的比較結(jié)果,到步驟224。
      在步驟221,如果設(shè)置了文件1和文件2不相同的標志,到步驟222,輸出文件1和文件2不相同的比較結(jié)果,到步驟224。
      在步驟220,如果文件1和文件2沒有都結(jié)束,到步驟220,輸出文件1和文件2不相同的比較結(jié)果,到步驟224。
      在步驟224,關(guān)閉已打開的文件。
      到步驟225,本發(fā)明的文件比較方法結(jié)束。
      雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,本發(fā)明的申請文件的權(quán)利要求包括這些變形和變化。
      權(quán)利要求
      1.一種文件比較方法,其特征在于,包括a、設(shè)置文件比較需要占用的系統(tǒng)資源;b、根據(jù)所述文件比較需要占用的系統(tǒng)資源進行文件比較。
      2.如權(quán)利要求1所述的一種文件比較方法,其特征在于,所述系統(tǒng)資源包括緩存空間。
      3.如權(quán)利要求2所述的一種文件比較方法,其特征在于,所述步驟a包括在文件比較命令中設(shè)置文件比較需要占用的緩存空間參數(shù)。
      4.如權(quán)利要求3所述的一種文件比較方法,其特征在于,所述步驟a包括將需要比較的文件中的其中一個文件在文件比較過程中需要占用的緩存空間設(shè)置于文件比較命令的緩存空間參數(shù)中。
      5.如權(quán)利要求3或4所述的一種文件比較方法,其特征在于,所述步驟a還包括設(shè)置所述緩存空間參數(shù)的缺省值。
      6.如權(quán)利要求3或4所述的一種文件比較方法,其特征在于,所述步驟b包括判斷文件比較命令的各參數(shù)是否設(shè)置正確;如果設(shè)置正確,從所述緩存空間參數(shù)中獲取文件比較需要占用的緩存空間,并根據(jù)所述緩存空間進行文件比較;如果設(shè)置不正確,輸出命令行幫助信息。
      7.如權(quán)利要求6所述的一種文件比較方法,其特征在于,所述文件比較命令的各參數(shù)包括需要進行文件比較的各文件的地址信息參數(shù)、緩存空間參數(shù)。
      8.如權(quán)利要求6所述的一種文件比較方法,其特征在于,所述根據(jù)所述緩存空間進行文件比較的步驟具體包括判斷需要進行文件比較的文件大小是否超過所述緩存空間;如果未超過所述緩存空間,將需要比較的文件中的所有數(shù)據(jù)讀入緩存,并進行比較;如果超過所述緩存空間,根據(jù)所述緩存空間依次將需要比較的文件中的相應(yīng)數(shù)據(jù)讀入緩存,并分別進行比較。
      9.如權(quán)利要求1、2、3或4所述的一種文件比較方法,其特征在于,所述方法還包括輸出文件比較結(jié)果;且所述文件比較結(jié)果為文件相同或文件不同和/或文件不同之處。
      10.如權(quán)利要求1、2、3或4所述的一種文件比較方法,其特征在于,所述文件包括基于ASCII的文件或基于二進制的文件。
      全文摘要
      本發(fā)明提供一種文件比較方法,其核心為設(shè)置文件比較需要占用的系統(tǒng)資源,根據(jù)所述文件比較需要占用的系統(tǒng)資源進行文件比較;本發(fā)明能夠有效控制文件在比較過程中占用的計算機資源,避免了由于文件比較占用所有空閑的緩存空間的現(xiàn)象,使其他程序不會因文件比較而被掛起,使計算機的正常使用不會受到文件比較的影響;從而實現(xiàn)了提高計算機系統(tǒng)性能的目的。
      文檔編號G06F9/44GK1831759SQ20051005368
      公開日2006年9月13日 申請日期2005年3月10日 優(yōu)先權(quán)日2005年3月10日
      發(fā)明者鄭成明, 余俊武 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1