專利名稱:一種軟件系統(tǒng)中引入第三方包的分析方法、系統(tǒng)及終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)軟件領(lǐng)域,尤其涉及一種軟件系統(tǒng)中引入第三方包的分析方法、系統(tǒng)及終端。
背景技術(shù):
第三方包指的是由某軟件公司以外的組織或者個(gè)人開發(fā)的一些實(shí)現(xiàn)某些功能的開發(fā)包,利用這些開源的開發(fā)包可以設(shè)計(jì)用戶自己的程序。例如sim公司以外的組織或者個(gè)人開發(fā)的.jar包。目前,許多軟件系統(tǒng)的開發(fā)都需要引入第三方包,但對(duì)于軟件系統(tǒng)中第三方包引入的分析,現(xiàn)有技術(shù)中主要是靠人工分析來確定。人為判斷軟件系統(tǒng)中是否已經(jīng)引入了第三方包,容易出現(xiàn)錯(cuò)誤,而且不能快速、準(zhǔn)確的知道哪些文件引入了第三方包,對(duì)后續(xù)第三方包的升級(jí)等操作造成影響。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種軟件系統(tǒng)中引入第三方包的分析方法,旨在解決現(xiàn)有技術(shù)中對(duì)軟件系統(tǒng)中第三方包引入的分析主要是靠人工分析來確定的問題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種軟件系統(tǒng)中引入第三方包的分析方法,所述方法包括下述步驟解析第三方包,獲取其文件路徑;將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表;解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑;比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否引入所述第三方包。本發(fā)明實(shí)施例的另一目的在于提供一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng),所述系統(tǒng)包括第三方包解析單元,用于解析第三方包,獲取其文件路徑;字符串列表獲取單元,用于將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表;文件解析單元,用于解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑;第三方包引入判斷單元,用于比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否引入所述第三方包。本發(fā)明實(shí)施例的另一目的在于提供一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng)的終端。在本發(fā)明實(shí)施例中,根據(jù)獲取的表示第三方包的字符串列表和軟件系統(tǒng)中文件的文件路徑,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷出所述軟件系統(tǒng)是否引入所述第三方包。本發(fā)明實(shí)施例可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息。在軟件系統(tǒng)中,由于可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息,從而方便后續(xù)對(duì)第三方包的維護(hù)、升級(jí)等操作。
圖1是本發(fā)明第一實(shí)施例提供的一種軟件系統(tǒng)中引入第三方包的分析方法的實(shí)現(xiàn)流程圖;圖2是本發(fā)明實(shí)施例提供的第三方包字符串列表獲取流程圖;圖3是本發(fā)明第二實(shí)施例提供的一種軟件系統(tǒng)中引入第三方包的分析的實(shí)現(xiàn)流程圖;圖4是本發(fā)明第三實(shí)施例提供的一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng)的結(jié)構(gòu)框圖;圖5是本發(fā)明第四實(shí)施例提供的一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在本發(fā)明實(shí)施例中,根據(jù)獲取的表示第三方包的字符串列表和軟件系統(tǒng)中文件的文件路徑,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷出所述軟件系統(tǒng)是否引入所述第三方包。本發(fā)明實(shí)施例可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息。在軟件系統(tǒng)中,由于可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息,從而方便后續(xù)對(duì)第三方包的維護(hù)、升級(jí)等操作。本發(fā)明實(shí)施例提供的方案如下一種軟件系統(tǒng)中引入第三方包的分析方法,所述方法包括下述步驟解析第三方包,獲取其文件路徑;將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表;解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑;比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否引入所述第三方包。一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng),所述系統(tǒng)包括第三方包解析單元,用于解析第三方包,獲取其文件路徑;字符串列表獲取單元,用于將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表;文件解析單元,用于解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑;第三方包引入判斷單元,用于比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否引入所述第三方包。
一種包含上述軟件系統(tǒng)中引入第三方包的分析系統(tǒng)的終端。在本發(fā)明實(shí)施例中,根據(jù)獲取的表示第三方包的字符串列表和軟件系統(tǒng)中文件的文件路徑,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷出所述軟件系統(tǒng)是否引入所述第三方包。本發(fā)明實(shí)施例可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息。在軟件系統(tǒng)中,由于可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息,從而方便后續(xù)對(duì)第三方包的維護(hù)、升級(jí)等操作。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。實(shí)施例一圖1示出了本發(fā)明第一實(shí)施例提供的第三方包的分析方法的實(shí)現(xiàn)流程圖,該實(shí)施例根據(jù)獲取的表示第三方包的字符串列表和軟件系統(tǒng)中文件的文件路徑,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,可自動(dòng)、快速、準(zhǔn)確的判斷出所述軟件系統(tǒng)是否引入所述第三方包。該方法詳細(xì)步驟如下所述在步驟SlOl中,解析第三方包,獲取其文件路徑。在本發(fā)明實(shí)施例中,所述第三方包以壓縮包的形式存在,通過解析所述第三方包, 采用遍歷算法獲取所述第三方包文件的文件路徑,當(dāng)然也可以采用類似的其他方法獲取, 在此不一一舉例。在步驟S102中,將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表;在本發(fā)明實(shí)施例中,將所述第三方包的文件路徑轉(zhuǎn)化為字符串,即將所述第三方包的文件路徑中的分隔符轉(zhuǎn)換為預(yù)設(shè)字符,獲取由所述第三方包的文件路徑中的目錄名及所述預(yù)設(shè)字符構(gòu)成的字符串,選取所述字符串中不重復(fù)的字符串,構(gòu)成所述字符串列表,用于表示所述第三方包。其中,獲取表示所述第三方包的字符串列表具體流程如圖2所示;在步驟S201中,將所述第三方包的文件路徑中的分隔符轉(zhuǎn)換為預(yù)設(shè)字符。在本發(fā)明實(shí)施例中,將所述第三方包的文件路徑中的分隔符轉(zhuǎn)換為預(yù)設(shè)字符,其中,所述第三方包文件的文件路徑是指能夠表示第三方包的文件路徑,并通過替換算法將所述第三方包文件的文件路徑中的“\”替換為“.”。在步驟S202中,獲取由所述第三方包的文件路徑中的目錄名及所述預(yù)設(shè)字符構(gòu)成的字符串。在步驟S203中,選取所述字符串中不重復(fù)的字符串,構(gòu)成所述字符串列表,用于表示所述第三方包。在本發(fā)明實(shí)施例中,因?yàn)橐粋€(gè)文件夾中可能包含多個(gè)文件,所以會(huì)生成多個(gè)相同的文件路徑,通過轉(zhuǎn)換后會(huì)生成多個(gè)相同的字符串,為了避免重復(fù),需要對(duì)相同字符串進(jìn)行刪除,將刪除后剩下的字符串存入字符串列表,該字符串列表即為表示第三方包的字符串列表。在步驟S103中,解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑。在本發(fā)明實(shí)施例中,解析軟件系統(tǒng)中的文件獲取其文件路徑采用遍歷算法獲取, 當(dāng)然也可以采用類似的其他方法獲取,在此不一一舉例。在步驟S104中,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否弓I入所述第三方包。
在本發(fā)明實(shí)施例中,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表包括 將所述軟件系統(tǒng)中文件的文件路徑分成多份,并行比較所述多份文件路徑的文件與所述字符串列表。根據(jù)比較后的結(jié)果,判斷所述軟件系統(tǒng)是否引入所述第三分包。以JAVA語言為例,但不局限于此。獲取所述軟件系統(tǒng)文件路徑后,還包括采用 size()方法得到所述文件路徑列表中包含文件路徑的總量,采用subList ()方法將列表平均分成η份。其中,η為多線程的并發(fā)數(shù)量,多線程指的是程序中并發(fā)執(zhí)行的多個(gè)指令流。η為10到100之間,具體可根據(jù)計(jì)算機(jī)的性能來配置,其中,subList ((i*sum)/n, ((i+l)*sum)/n)即為第i個(gè)列表。利用多線程同時(shí)分析上述η個(gè)文件路徑列表,通過新輸入輸出流操作讀取每個(gè)文件路徑下的文件,利用索引indexOf ()方法分析文件路徑下的文件是否包含表示第三方包的字符串。在本發(fā)明實(shí)施例中,根據(jù)獲取的表示第三方包的字符串列表和軟件系統(tǒng)中文件的文件路徑,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,可自動(dòng)、快速、準(zhǔn)確的判斷出所述軟件系統(tǒng)是否弓I入所述第三方包。實(shí)施例二 圖3示出了本發(fā)明第二實(shí)施例提供的一種軟件系統(tǒng)中引入第三方包的分析方法的實(shí)現(xiàn)流程圖,該實(shí)施例在第一實(shí)施例的基礎(chǔ)上增加步驟S305,即將所述軟件系統(tǒng)中文件的文件路徑中包含所述字符串列表中字符串的文件路徑輸出至日志文件。本發(fā)明實(shí)施例在自動(dòng)、快速、準(zhǔn)確的分析出軟件系統(tǒng)引入了第三方包后,將引入第三方包文件的文件路徑輸出至日志文件,通過日志文件中所述文件路徑可精確的分析出哪些文件引入了所述第三方包,從而方便后續(xù)對(duì)第三方包的維護(hù)、升級(jí)等操作。實(shí)施例三圖4示出了本發(fā)明第三實(shí)施例提供的一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng)的結(jié)構(gòu),為了便于說明,圖中僅出示與本發(fā)明實(shí)施例相關(guān)的部分,該軟件系統(tǒng)中引入第三方包的分析系統(tǒng)可以為內(nèi)置于終端的軟件單元、硬件單元或者軟硬件結(jié)合單元。其中終端可以為計(jì)算機(jī)終端、移動(dòng)終端等。該軟件系統(tǒng)中引入第三方包的分析系統(tǒng)通過系統(tǒng)中的第三包解析單元、字符串列表獲取單元、文件解析單元和第三方包引入判斷單元獲取的表示第三方包的字符串列表和軟件系統(tǒng)中文件的文件路徑,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,可自動(dòng)、快速、準(zhǔn)確的判斷出所述軟件系統(tǒng)是否引入所述第三方包。其中第三方包解析單元41,用于解析第三方包,獲取其文件路徑。在本發(fā)明實(shí)施例中,所述第三方包以壓縮包的形式存在,通過解析所述第三方包, 采用遍歷算法獲取所述第三方包文件的文件路徑,當(dāng)然也可以采用類似的其他方法獲取, 在此不一一舉例。字符串列表獲取單元42,用于將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表。在本發(fā)明實(shí)施例中,字符串列表獲取單元42包括預(yù)設(shè)字符轉(zhuǎn)換模塊421、預(yù)設(shè)字符串獲取模塊422、字符串列表獲取模塊423。其中預(yù)設(shè)字符轉(zhuǎn)換模塊421,用于將所述第三方包的文件路徑中的分隔符轉(zhuǎn)換為預(yù)設(shè)字符。
6
預(yù)設(shè)字符串獲取模塊422,用于獲取由所述第三方包的文件路徑中的目錄名及所述預(yù)設(shè)字符構(gòu)成的字符串。字符串列表獲取模塊423,用于選取所述字符串中不重復(fù)的字符串,構(gòu)成所述字符串列表,用于表示所述第三方包。文件解析單元43,用于解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑。在本發(fā)明實(shí)施例中,解析軟件系統(tǒng)中的文件獲取其文件路徑采用遍歷算法獲取, 當(dāng)然也可以采用類似的其他方法獲取,在此不一一舉例。第三方包引入判斷單元44,用于比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否引入所述第三方包。在本發(fā)明實(shí)施例中,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表還包括文件路徑劃分模塊431、比較模塊432。其中文件路徑劃分模塊431,用于將所述軟件系統(tǒng)中文件的文件路徑分成多份。比較模塊432,用于并行比較所述多份文件路徑的文件與所述字符串列表。根據(jù)比較后的結(jié)果,判斷判斷所述軟件系統(tǒng)是否引入所述第三方包。實(shí)施例四圖5示出了本發(fā)明第四實(shí)施例提供的一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng)的結(jié)構(gòu),為了便于說明,圖中僅出示與本發(fā)明實(shí)施例相關(guān)的部分。圖5所示的軟件系統(tǒng)中引入第三方包的分析系統(tǒng)在圖4所示的軟件系統(tǒng)中引入第三方包的分析系統(tǒng)的第三方包引入判斷單元后增加了輸出單元55。其中輸出單元55,用于將所述軟件系統(tǒng)中文件的文件路徑中包含所述字符串列表中字符串的文件路徑輸出至日志文件。本發(fā)明實(shí)施例在自動(dòng)、快速、準(zhǔn)確的分析出軟件系統(tǒng)引入了第三方包后,將引入第三方包文件的文件路徑輸出至日志文件,通過日志文件中所述文件路徑可精確的分析出哪些文件引入了所述第三方包,從而方便后續(xù)對(duì)第三方包的維護(hù)、升級(jí)等操作。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如ROM/RAM、磁盤、光盤等。在本發(fā)明實(shí)施例中,根據(jù)獲取的表示第三方包的字符串列表和軟件系統(tǒng)中文件的文件路徑,比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷出所述軟件系統(tǒng)是否引入所述第三方包。本發(fā)明實(shí)施例可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息。在軟件系統(tǒng)中,由于可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息,從而方便后續(xù)對(duì)第三方包的維護(hù)、升級(jí)等操作。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種軟件系統(tǒng)中引入第三方包的分析方法,其特征在于,所述方法包括以下步驟 解析第三方包,獲取其文件路徑;將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表; 解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑;比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否引入所述第三方包。
2.如權(quán)利要求1所述的方法,其特征在于,所述獲取表示所述第三方包的字符串列表的步驟具體為將所述第三方包的文件路徑中的分隔符轉(zhuǎn)換為預(yù)設(shè)字符;獲取由所述第三方包的文件路徑中的目錄名及所述預(yù)設(shè)字符構(gòu)成的字符串;選取所述字符串中不重復(fù)的字符串,構(gòu)成所述字符串列表,用于表示所述第三方包。
3.如權(quán)利要求1所述的方法,其特征在于,比較所述軟件系統(tǒng)中文件的文件路徑與所述字符串列表的步驟包括將所述軟件系統(tǒng)中文件的文件路徑分成多份; 并行比較所述多份文件路徑的文件與所述字符串列表。
4.如權(quán)利要求1所述的方法,其特征在于,還包括將所述軟件系統(tǒng)中文件的文件路徑中包含所述字符串列表中字符串的文件路徑輸出至日志文件。
5.一種軟件系統(tǒng)中引入第三方包的分析系統(tǒng),其特征在于,所述系統(tǒng)包括 第三方包解析單元,用于解析第三方包,獲取其文件路徑;字符串列表獲取單元,用于將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表;文件解析單元,用于解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑; 第三方包引入判斷單元,用于比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表, 判斷所述軟件系統(tǒng)是否弓I入所述第三方包。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述字符串列表獲取單元還包括 預(yù)設(shè)字符轉(zhuǎn)換模塊,用于將所述第三方包的文件路徑中的分隔符轉(zhuǎn)換為預(yù)設(shè)字符;預(yù)設(shè)字符串獲取模塊,用于獲取由所述第三方包的文件路徑中的目錄名及所述預(yù)設(shè)字符構(gòu)成的字符串;字符串列表獲取模塊,用于選取所述字符串中不重復(fù)的字符串,構(gòu)成所述字符串列表, 用于表示所述第三方包。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述第三方包引入判斷單元還包括 文件路徑劃分模塊,用于將所述軟件系統(tǒng)中文件的文件路徑分成多份;比較模塊,用于并行比較所述多份文件路徑的文件與所述字符串列表。
8.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述第三方包引入判斷單元后還包括輸出單元,用于將所述軟件系統(tǒng)中文件的文件路徑中包含所述字符串列表中字符串的文件路徑輸出至日志文件。
9.一種包括權(quán)利要求5至8任一項(xiàng)所述的第三方包的分析系統(tǒng)的終端。
全文摘要
本發(fā)明適用于計(jì)算機(jī)軟件領(lǐng)域,提供了一種軟件系統(tǒng)中引入第三方包的分析方法、系統(tǒng)及終端,所述方法包括以下步驟解析第三方包,獲取其文件路徑;將所述第三方包的文件路徑轉(zhuǎn)化為字符串,獲取表示所述第三方包的字符串列表;解析軟件系統(tǒng)中的文件,獲取所述文件的文件路徑;比較所述軟件系統(tǒng)文件路徑的文件與所述字符串列表,判斷所述軟件系統(tǒng)是否引入所述第三方包。本發(fā)明實(shí)施例可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息。在軟件系統(tǒng)中,由于可以自動(dòng)、快速、準(zhǔn)確的分析出引入第三方包的文件信息,從而方便后續(xù)對(duì)第三方包的維護(hù)、升級(jí)等操作。
文檔編號(hào)G06F9/45GK102411509SQ201010290420
公開日2012年4月11日 申請(qǐng)日期2010年9月25日 優(yōu)先權(quán)日2010年9月25日
發(fā)明者侯仁鵬 申請(qǐng)人:金蝶軟件(中國)有限公司