1.一種文件比較方法,其特征在于,包括:
將比較文件和被比較文件中的相應(yīng)數(shù)據(jù)采用自定義的替換內(nèi)容進(jìn)行替換;
對(duì)經(jīng)過(guò)替換后得到的比較文件和被比較文件執(zhí)行行間比較,得到一一對(duì)應(yīng)不同的數(shù)據(jù)行;
對(duì)所述比較文件和被比較文件中一一對(duì)應(yīng)的不同數(shù)據(jù)行執(zhí)行行內(nèi)比較。
2.根據(jù)權(quán)利要求1所述的文件比較方法,其特征在于,當(dāng)所述比較文件和被比較文件為文本文件或者表數(shù)據(jù)逗號(hào)分隔值文件時(shí),所述將比較文件和被比較文件中的相應(yīng)數(shù)據(jù)采用自定義的替換內(nèi)容進(jìn)行替換,包括:
將所述比較文件和被比較文件中相應(yīng)數(shù)據(jù)列的內(nèi)容采用所述替換內(nèi)容進(jìn)行替換。
3.根據(jù)權(quán)利要求1所述的文件比較方法,其特征在于,當(dāng)所述比較文件和被比較文件為二進(jìn)制文件時(shí),所述將比較文件和被比較文件中的相應(yīng)數(shù)據(jù)采用自定義的替換內(nèi)容進(jìn)行替換,包括:
將所述比較文件和被比較文件中的相應(yīng)字節(jié)的內(nèi)容采用所述替換內(nèi)容進(jìn)行替換。
4.根據(jù)權(quán)利要求1所述的文件比較方法,其特征在于,所述對(duì)經(jīng)過(guò)替換后得到的比較文件和被比較文件執(zhí)行行間比較,包括:
獲取預(yù)配置的默認(rèn)載入行數(shù)的信息;所述默認(rèn)載入行數(shù)包括預(yù)設(shè)數(shù)量的比較行數(shù)的信息;
基于預(yù)配置的默認(rèn)載入行數(shù)的信息,對(duì)所述比較文件和被比較文件執(zhí)行行間比較。
5.根據(jù)權(quán)利要求4所述的文件比較方法,其特征在于,所述基于預(yù)配置的默認(rèn)載入行數(shù)的信息,對(duì)所述比較文件和被比較文件執(zhí)行行間比較,包括:
分別獲取所述比較文件與所述被比較文件的當(dāng)前比較窗口中的數(shù)據(jù)行;所述當(dāng)前比較窗口內(nèi)的數(shù)據(jù)行大于預(yù)設(shè)的第一閾值且小于預(yù)設(shè)的第二閾值,所述第一閾值小于所述默認(rèn)載入行數(shù),所述第二閾值大于所述默認(rèn)載入行數(shù);
將所述比較文件與所述被比較文件的當(dāng)前比較窗口中的數(shù)據(jù)行進(jìn)行比較。
6.根據(jù)權(quán)利要求5所述的文件比較方法,其特征在于,所述將所述比較文件與所述被比較文件的當(dāng)前比較窗口中的數(shù)據(jù)行進(jìn)行比較,包括:
對(duì)所述比較文件的當(dāng)前比較窗口中數(shù)據(jù)行進(jìn)行遍歷,獲取所述比較文件的當(dāng)前比較窗口中當(dāng)前位序的數(shù)據(jù)行,并與所述被比較文件的當(dāng)前比較窗口內(nèi)的數(shù)據(jù)行逐一進(jìn)行比較;
當(dāng)從所述被比較文件當(dāng)前比較窗口內(nèi)未查找到與所述比較文件當(dāng)前比較窗口內(nèi)的當(dāng)前位序的數(shù)據(jù)行相同數(shù)據(jù)行時(shí),獲取所述比較文件的當(dāng)前比較窗口內(nèi)的下一位序的數(shù)據(jù)行,并執(zhí)行所述與所述被比較文件的當(dāng)前比較窗口內(nèi)的數(shù)據(jù)行逐一進(jìn)行比較的操作。
7.根據(jù)權(quán)利要求6所述的文件比較方法,其特征在于,當(dāng)從所述被比較文件當(dāng)前比較窗口內(nèi)查找到與所述比較文件當(dāng)前比較窗口內(nèi)的當(dāng)前位序的數(shù)據(jù)行相同的目標(biāo)位序的數(shù)據(jù)行時(shí),所述將所述比較文件與所述被比較文件的當(dāng)前比較窗口中的數(shù)據(jù)行進(jìn)行比較,還包括:
將所述比較文件當(dāng)前比較窗口內(nèi)的當(dāng)前位序的數(shù)據(jù)行與所述被比較文件當(dāng)前比較窗口內(nèi)的目標(biāo)位序的數(shù)據(jù)行標(biāo)記為相同;
判斷所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)的目標(biāo)位序之前的數(shù)據(jù)行的數(shù)量是否相同;
當(dāng)確定所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)目標(biāo)位序之前的數(shù)據(jù)行的數(shù)量相同時(shí),分別將當(dāng)前比較窗口內(nèi)所述前位序及之前的數(shù)據(jù)行,與所述被比較文件的當(dāng)前比較窗口內(nèi)所述目標(biāo)位序及之前的數(shù)據(jù)行移除;
當(dāng)確定所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)的目標(biāo)位序之前的數(shù)據(jù)行的數(shù)量不同時(shí),為數(shù)據(jù)行數(shù)量較少的所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序與上一位序之間或者所述被比較文件的當(dāng)前比較窗口內(nèi)目標(biāo)位序與上一位序之間添加對(duì)應(yīng)數(shù)量的空數(shù)據(jù)行,以使得所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)的目標(biāo)位序之前的數(shù)據(jù)行一一對(duì)應(yīng),并將所述比較文件中當(dāng)前比較窗口內(nèi)當(dāng)前位序及之前的數(shù)據(jù)行,以及所述被比較文件中目標(biāo)位序的數(shù)據(jù)行及之前的數(shù)據(jù)行移除。
8.根據(jù)權(quán)利要求7所述的文件比較方法,其特征在于,當(dāng)從所述比較文件或者被比較文件的當(dāng)前比較窗口移除相應(yīng)的數(shù)據(jù)行之后,還包括:
判斷所述比較文件或被比較文件當(dāng)前比較窗口中剩余數(shù)據(jù)行的數(shù)量是否小于預(yù)設(shè)的第一閾值;
當(dāng)確定所述比較文件或被比較文件當(dāng)前比較窗口中剩余數(shù)據(jù)行的數(shù)量小于所述第一閾值時(shí),獲取所述比較文件中下一所述默認(rèn)載入行數(shù)的數(shù)據(jù)行并添加至所述比較文件中當(dāng)前比較窗口末尾,作為所述比較文件的當(dāng)前比較窗口,或者將所述比較文件的中下一默認(rèn)載入行數(shù)的數(shù)據(jù)行添加至所述被比較文件中當(dāng)前比較窗口末尾,作為所述被比較文件的當(dāng)前比較窗口,直至所述比較文件或者被比較文件的所有數(shù)據(jù)行遍歷完成。
9.根據(jù)權(quán)利要求1-8任一項(xiàng)所述的文件比較方法,其特征在于,所述對(duì)所述比較文件和被比較文件中一一對(duì)應(yīng)的不同數(shù)據(jù)行執(zhí)行行內(nèi)比較,包括:
判斷所述比較文件和被比較文件中一一對(duì)應(yīng)的不同數(shù)據(jù)行是否均為非空數(shù)據(jù)行;
當(dāng)確定所述比較文件和被比較文件中一一對(duì)應(yīng)的不同數(shù)據(jù)行均為非空數(shù)據(jù)行時(shí),對(duì)所述比較文件和被比較文件中一一對(duì)應(yīng)的非空數(shù)據(jù)行執(zhí)行行內(nèi)比較。
10.根據(jù)權(quán)利要求9所述的文件比較方法,其特征在于,將所述比較文件和被比較文件中一一對(duì)應(yīng)的非空數(shù)據(jù)行中一個(gè)作為比較行,另一個(gè)作為被比較行,所述對(duì)所述比較文件和被比較文件中一一對(duì)應(yīng)的非空數(shù)據(jù)行執(zhí)行行內(nèi)比較,包括:
分別對(duì)所述比較行和被比較行的字符從尾至頭進(jìn)行遍歷并比較,直至所述比較行與所述被比較行中相應(yīng)位序的字符不同;
將通過(guò)從尾至頭遍歷得到的所比較文件和所述被比較文件中相應(yīng)位序的字符之后的字符標(biāo)記為相同并分別從所述比較行和所述被比較行中移除;
將所述比較行與所述被比較行中剩余的字符從頭至尾進(jìn)行比較,得到對(duì)應(yīng)的比較結(jié)果。
11.根據(jù)權(quán)利要求10所述的文件比較方法,其特征在于,所述將所述比較行與所述被比較行中剩余的字符從頭至尾進(jìn)行比較,包括:
從頭至尾遍歷所述比較行的剩余字符;
將遍歷至的所述比較行的剩余字符中的當(dāng)前位序的字符與所述被比較行中的剩余字符逐一進(jìn)行比較;
判斷所述被比較行的剩余字符中是否存在與所述遍歷至的比較行的剩余字符中的當(dāng)前位序的字符相同的目標(biāo)位序的字符;
當(dāng)確定所述被比較行的剩余字符中不存在與所述遍歷至的比較行的剩余字符中的當(dāng)前位序的字符相同的目標(biāo)位序的字符時(shí),獲取比較行的剩余字符中下一位序字符,并從所述將遍歷至的所述比較行的剩余字符中的當(dāng)前位序的字符與所述被比較行中的剩余字符逐一進(jìn)行比較開(kāi)始執(zhí)行,直至所述比較行的剩余字符遍歷完畢。
12.根據(jù)權(quán)利要求11所述的文件比較方法,其特征在于,當(dāng)確定所述被比較行的剩余字符中存在與所述遍歷至的比較行的剩余字符中的當(dāng)前位序的字符相同的目標(biāo)位序的字符時(shí),還包括:
將所述比較行的剩余字符中當(dāng)前位序的字符與所述被比較行的剩余字符中目標(biāo)位序的字符標(biāo)記為相同;
將所述比較行和所述被比較行的剩余字符中當(dāng)前位序至所述目標(biāo)位序的字符,分別作為所述比較行的剩余字符和所述被比較行的剩余字符,并從所述從頭至尾遍歷所述比較行的剩余字符開(kāi)始執(zhí)行,以找到其他的相同字符并記錄,直至所述比較行和所述被比較行的剩余字符中當(dāng)前位序至所述目標(biāo)位序的字符全部遍歷完成;
獲取最后一次記錄的相同字符的信息,并將對(duì)應(yīng)的比較行中的字符記為第一相同位序的字符,對(duì)應(yīng)的被比較行中的字符記為第二相同位序的字符;
將所述比較行的剩余字符中所述第一相同位序之后的字符作為所述比較行的剩余字符,將所述被比較行的剩余字符中所述第二相同位序之后的字符作為所述被比較行的剩余字符,并從所述從頭至尾遍歷所述比較行的剩余字符開(kāi)始執(zhí)行,以找到所述比較行的剩余字符中所述第一相同位序之后的字符中與所述被比較行的剩余字符中所述第二相同位序之后的字符中相同的字符并記錄,直至所述比較行中所述第一相同位序之后的字符或者所述被比較行的剩余字符中當(dāng)前位序至所述目標(biāo)位序的字符遍歷完成。
13.根據(jù)權(quán)利要求1所述的文件比較方法,其特征在于,還包括:按照預(yù)設(shè)的報(bào)表格式生成對(duì)應(yīng)的比較報(bào)告并輸出。
14.一種文件比較裝置,其特征在于,包括:
替換單元,適于將比較文件和被比較文件中的相應(yīng)數(shù)據(jù)采用自定義的替換內(nèi)容進(jìn)行替換;
行間比較單元,適于對(duì)經(jīng)過(guò)替換后得到的比較文件和被比較文件執(zhí)行行間比較,得到一一對(duì)應(yīng)不同的數(shù)據(jù)行;
行內(nèi)比較單元,適于對(duì)所述比較文件和被比較文件中一一對(duì)應(yīng)的不同數(shù)據(jù)行執(zhí)行行內(nèi)比較。
15.根據(jù)權(quán)利要求14所述的文件比較裝置,其特征在于,所述替換單元,適于當(dāng)所述比較文件和被比較文件為文本文件或者表數(shù)據(jù)逗號(hào)分隔值文件時(shí),將所述比較文件和被比較文件中相應(yīng)數(shù)據(jù)列的內(nèi)容采用所述替換內(nèi)容進(jìn)行替換。
16.根據(jù)權(quán)利要求14所述的文件比較裝置,其特征在于,所述替換單元,適于當(dāng)所述比較文件和被比較文件為二進(jìn)制文件時(shí),將所述比較文件和被比較文件中的相應(yīng)字節(jié)的內(nèi)容采用所述替換內(nèi)容進(jìn)行替換。
17.根據(jù)權(quán)利要求14所述的文件比較裝置,其特征在于,所述行間比較單元,包括第一獲取子單元和第一比較子單元;
所述第一獲取子單元,適于獲取預(yù)配置的默認(rèn)載入行數(shù)的信息;所述默認(rèn)載入行數(shù)包括預(yù)設(shè)數(shù)量的比較行數(shù)的信息;
所述第一比較子單元,適于基于預(yù)配置的默認(rèn)載入行數(shù)的信息,對(duì)所述比較文件和被比較文件執(zhí)行行間比較。
18.根據(jù)權(quán)利要求17所述的文件比較裝置,其特征在于,所述第一比較子單元,包括第一獲取模塊和第一比較模塊;
所述第一獲取模塊,適于分別獲取所述比較文件與所述被比較文件的當(dāng)前比較窗口中的數(shù)據(jù)行;所述當(dāng)前比較窗口內(nèi)的數(shù)據(jù)行大于預(yù)設(shè)的第一閾值且小于預(yù)設(shè)的第二閾值,所述第一閾值小于所述默認(rèn)載入行數(shù),所述第二閾值大于所述默認(rèn)載入行數(shù);
所述第一比較模塊,適于將所述比較文件與所述被比較文件的當(dāng)前比較窗口中的數(shù)據(jù)行進(jìn)行比較。
19.根據(jù)權(quán)利要求18所述的文件比較裝置,其特征在于,所述第一比較模塊,包括:
第一遍歷子模塊,適于對(duì)所述比較文件的當(dāng)前比較窗口中數(shù)據(jù)行進(jìn)行遍歷,獲取所述比較文件的當(dāng)前比較窗口中當(dāng)前位序的數(shù)據(jù)行,并與所述被比較文件的當(dāng)前比較窗口內(nèi)的數(shù)據(jù)行逐一進(jìn)行比較;
第一比較子模塊,適于當(dāng)從所述被比較文件當(dāng)前比較窗口內(nèi)未查找到與所述比較文件當(dāng)前比較窗口內(nèi)的當(dāng)前位序的數(shù)據(jù)行相同數(shù)據(jù)行時(shí),獲取所述比較文件的當(dāng)前比較窗口內(nèi)的下一位序的數(shù)據(jù)行,并執(zhí)行所述與所述被比較文件的當(dāng)前比較窗口內(nèi)的數(shù)據(jù)行逐一進(jìn)行比較的操作。
20.根據(jù)權(quán)利要求19所述的文件比較裝置,其特征在于,所述第一比較模塊,還包括:
第一標(biāo)記子模塊,適于當(dāng)從所述被比較文件當(dāng)前比較窗口內(nèi)查找到與所述比較文件當(dāng)前比較窗口內(nèi)的當(dāng)前位序的數(shù)據(jù)行相同的目標(biāo)位序的數(shù)據(jù)行時(shí),將所述比較文件當(dāng)前比較窗口內(nèi)的當(dāng)前位序的數(shù)據(jù)行與所述被比較文件當(dāng)前比較窗口內(nèi)的目標(biāo)位序的數(shù)據(jù)行標(biāo)記為相同;
第一判斷子模塊,適于判斷所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)的目標(biāo)位序之前的數(shù)據(jù)行的數(shù)量是否相同;
第一移除子模塊,適于當(dāng)確定所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)目標(biāo)位序之前的數(shù)據(jù)行的數(shù)量相同時(shí),分別將當(dāng)前比較窗口內(nèi)所述前位序及之前的數(shù)據(jù)行,與所述被比較文件的當(dāng)前比較窗口內(nèi)所述目標(biāo)位序及之前的數(shù)據(jù)行移除;
第一添加子模塊,適于當(dāng)確定所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)的目標(biāo)位序之前的數(shù)據(jù)行的數(shù)量不同時(shí),為數(shù)據(jù)行數(shù)量較少的所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序與上一位序之間或者所述被比較文件的當(dāng)前比較窗口內(nèi)目標(biāo)位序與上一位序之間添加對(duì)應(yīng)數(shù)量的空數(shù)據(jù)行,以使得所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)的目標(biāo)位序之前的數(shù)據(jù)行一一對(duì)應(yīng);
所述第一移除子模塊,還適于當(dāng)所述比較文件當(dāng)前比較窗口內(nèi)當(dāng)前位序之前的數(shù)據(jù)行與所述被比較文件的當(dāng)前比較窗口內(nèi)的目標(biāo)位序之前的數(shù)據(jù)行一一對(duì)應(yīng)時(shí),將所述比較文件中當(dāng)前比較窗口內(nèi)當(dāng)前位序及之前的數(shù)據(jù)行,以及所述被比較文件中目標(biāo)位序的數(shù)據(jù)行及之前的數(shù)據(jù)行移除。
21.根據(jù)權(quán)利要求20所述的文件比較裝置,其特征在于,所述第一比較模塊,還包括:
第二判斷子模塊,適于在所述比較文件或者被比較文件的當(dāng)前比較窗口移除相應(yīng)的數(shù)據(jù)行之后,判斷所述比較文件或被比較文件當(dāng)前比較窗口中剩余數(shù)據(jù)行的數(shù)量是否小于預(yù)設(shè)的第一閾值;
第二添加子模塊,適于當(dāng)確定所述比較文件或被比較文件當(dāng)前比較窗口中剩余數(shù)據(jù)行的數(shù)量小于所述第一閾值時(shí),獲取所述比較文件中下一所述默認(rèn)載入行數(shù)的數(shù)據(jù)行并添加至所述比較文件中當(dāng)前比較窗口末尾,作為所述比較文件的當(dāng)前比較窗口,或者將所述比較文件的中下一默認(rèn)載入行數(shù)的數(shù)據(jù)行添加至所述被比較文件中當(dāng)前比較窗口末尾,作為所述被比較文件的當(dāng)前比較窗口,直至所述比較文件或者被比較文件的所有數(shù)據(jù)行遍歷完成。
22.根據(jù)權(quán)利要求14-21任一項(xiàng)所述的文件比較裝置,其特征在于,所述行內(nèi)比較單元,包括:
第三判斷子單元,適于判斷所述比較文件和被比較文件中一一對(duì)應(yīng)的不同數(shù)據(jù)行是否均為非空數(shù)據(jù)行;
行內(nèi)比較子單元,適于當(dāng)確定所述比較文件和被比較文件中一一對(duì)應(yīng)的不同數(shù)據(jù)行均為非空數(shù)據(jù)行時(shí),對(duì)所述比較文件和被比較文件中一一對(duì)應(yīng)的非空數(shù)據(jù)行執(zhí)行行內(nèi)比較。
23.根據(jù)權(quán)利要求22所述的文件比較裝置,其特征在于,將所述比較文件和被比較文件中一一對(duì)應(yīng)的非空數(shù)據(jù)行中一個(gè)作為比較行,另一個(gè)作為被比較行,所述行內(nèi)比較子單元包括:
移除模塊,適于分別對(duì)所述比較行和被比較行的字符從尾至頭進(jìn)行遍歷并比較,直至所述比較行與所述被比較行中相應(yīng)位序的字符不同;將通過(guò)從尾至頭遍歷得到的所比較文件和所述被比較文件中相應(yīng)位序的字符之后的字符標(biāo)記為相同并分別從所述比較行和所述被比較行中移除;
第二比較模塊,將所述比較行與所述被比較行中剩余的字符從頭至尾進(jìn)行比較,得到對(duì)應(yīng)的比較結(jié)果。
24.根據(jù)權(quán)利要求23所述的文件比較裝置,其特征在于,所述第二比較模塊,包括:
第一遍歷子模塊,適于從頭至尾遍歷所述比較行的剩余字符;
第二比較子模塊,將遍歷至的所述比較行的剩余字符中的當(dāng)前位序的字符與所述被比較行中的剩余字符逐一進(jìn)行比較;當(dāng)確定所述被比較行的剩余字符中不存在與所述遍歷至的比較行的剩余字符中的當(dāng)前位序的字符相同的目標(biāo)位序的字符時(shí),獲取比較行的剩余字符中下一位序字符,并從所述將遍歷至的所述比較行的剩余字符中的當(dāng)前位序的字符與所述被比較行中的剩余字符逐一進(jìn)行比較開(kāi)始執(zhí)行,直至所述比較行的剩余字符遍歷完畢。
25.根據(jù)權(quán)利要求24所述的文件比較裝置,其特征在于,所述第二比較模塊,還包括:
第二標(biāo)記子模塊,適于當(dāng)確定所述被比較行的剩余字符中存在與所述遍歷至的比較行的剩余字符中的當(dāng)前位序的字符相同的目標(biāo)位序的字符時(shí),將所述比較行的剩余字符中當(dāng)前位序的字符與所述被比較行的剩余字符中目標(biāo)位序的字符標(biāo)記為相同;
第一更新子模塊,適于將所述比較行和所述被比較行的剩余字符中當(dāng)前位序至所述目標(biāo)位序的字符,分別作為所述比較行的剩余字符和所述被比較行的剩余字符;
第三比較子模塊,適于從所述從頭至尾遍歷所述比較行的剩余字符開(kāi)始執(zhí)行,以找到其他的相同字符并記錄,直至所述比較行和所述被比較行的剩余字符中當(dāng)前位序至所述目標(biāo)位序的字符全部遍歷完成;
獲取子模塊,適于獲取最后一次記錄的相同字符的信息,并將對(duì)應(yīng)的比較行中的字符記為第一相同位序的字符,對(duì)應(yīng)的被比較行中的字符記為第二相同位序的字符;
第二更新子模塊,適于將所述比較行的剩余字符中所述第一相同位序之后的字符作為所述比較行的剩余字符,將所述被比較行的剩余字符中所述第二相同位序之后的字符作為所述被比較行的剩余字符;
第四比較子模塊,適于從所述從頭至尾遍歷所述比較行的剩余字符開(kāi)始執(zhí)行,以找到所述比較行的剩余字符中所述第一相同位序之后的字符中與所述被比較行的剩余字符中所述第二相同位序之后的字符中相同的字符并記錄,直至所述比較行中所述第一相同位序之后的字符或者所述被比較行的剩余字符中當(dāng)前位序至所述目標(biāo)位序的字符遍歷完成。
26.根據(jù)權(quán)利要求14所述的文件比較裝置,其特征在于,還包括:輸出單元,適于按照預(yù)設(shè)的報(bào)表格式生成對(duì)應(yīng)的比較報(bào)告并輸出。