本申請(qǐng)涉及計(jì)算機(jī),尤其涉及一種軟件包依賴(lài)關(guān)系檢測(cè)方法、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、軟件包是指具有特定的功能,用來(lái)完成特定任務(wù)的一個(gè)程序或一組程序。操作系統(tǒng)中存在多個(gè)軟件包,軟件包之間存在一定的依賴(lài)關(guān)系。當(dāng)在操作系統(tǒng)中安裝某一軟件包時(shí),若該軟件包缺少一依賴(lài)文件,會(huì)導(dǎo)致軟件包無(wú)法成功安裝。其中,軟件包依賴(lài)文件的相關(guān)信息可由requires(依賴(lài))表進(jìn)行表征,提供該依賴(lài)文件的相關(guān)信息可由provides(提供)表進(jìn)行表征。
2、現(xiàn)有技術(shù)在檢測(cè)軟件包依賴(lài)關(guān)系時(shí),可檢測(cè)指定的軟件包或用戶(hù)輸入的軟件包的依賴(lài)關(guān)系,自動(dòng)化程度較低,導(dǎo)致用戶(hù)體驗(yàn)較差。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┮环N軟件包依賴(lài)關(guān)系檢測(cè)方法、設(shè)備及存儲(chǔ)介質(zhì),用以解決現(xiàn)有技術(shù)對(duì)軟件包的依賴(lài)關(guān)系進(jìn)行檢測(cè)時(shí),自動(dòng)化程度較低,導(dǎo)致用戶(hù)體驗(yàn)較差的問(wèn)題。
2、第一方面,本申請(qǐng)?zhí)峁┮环N軟件包依賴(lài)關(guān)系檢測(cè)方法,包括:
3、獲取多個(gè)數(shù)據(jù)庫(kù)文件,數(shù)據(jù)庫(kù)文件包含依賴(lài)表和提供表;
4、遍歷每一數(shù)據(jù)庫(kù)文件,對(duì)遍歷到的數(shù)據(jù)庫(kù)文件,獲取數(shù)據(jù)庫(kù)文件對(duì)應(yīng)的至少一個(gè)第一文件名稱(chēng),其中,第一文件名稱(chēng)為:存在于數(shù)據(jù)庫(kù)文件的依賴(lài)表、但不存在于數(shù)據(jù)庫(kù)文件的提供表中的文件名稱(chēng);
5、若第一文件名稱(chēng)為復(fù)合名稱(chēng),則對(duì)第一文件名稱(chēng)進(jìn)行解析,其中,復(fù)合名稱(chēng)為攜帶版本區(qū)間的文件名稱(chēng),解析后得到待匹配的目標(biāo)文件名稱(chēng)、目標(biāo)文件名稱(chēng)對(duì)應(yīng)的版本區(qū)間和前置文件;
6、對(duì)于每一目標(biāo)文件名稱(chēng),在數(shù)據(jù)庫(kù)文件以及其他數(shù)據(jù)庫(kù)文件的提供表中進(jìn)行匹配操作,直至目標(biāo)文件名稱(chēng)與任一數(shù)據(jù)庫(kù)文件匹配成功,或者與所有數(shù)據(jù)庫(kù)文件均匹配失??;其中,目標(biāo)文件名稱(chēng)與任一提供表的匹配操作,包括:若待測(cè)試操作系統(tǒng)已安裝前置文件且目標(biāo)文件名稱(chēng)存在于提供表中,則判斷版本區(qū)間與提供表中,目標(biāo)文件名稱(chēng)對(duì)應(yīng)的版本信息是否匹配,以確定匹配結(jié)果;
7、根據(jù)各個(gè)目標(biāo)文件名稱(chēng)對(duì)應(yīng)的匹配結(jié)果,生成依賴(lài)關(guān)系檢測(cè)缺失結(jié)果并輸出。
8、第二方面,本申請(qǐng)?zhí)峁┮环N軟件包依賴(lài)關(guān)系檢測(cè)設(shè)備,包括:
9、獲取模塊,用于獲取多個(gè)數(shù)據(jù)庫(kù)文件,數(shù)據(jù)庫(kù)文件包含依賴(lài)表和提供表;
10、處理模塊,用于遍歷每一數(shù)據(jù)庫(kù)文件,對(duì)遍歷到的數(shù)據(jù)庫(kù)文件,獲取數(shù)據(jù)庫(kù)文件對(duì)應(yīng)的至少一個(gè)第一文件名稱(chēng),其中,第一文件名稱(chēng)為:存在于數(shù)據(jù)庫(kù)文件的依賴(lài)表、但不存在于數(shù)據(jù)庫(kù)文件的提供表中的文件名稱(chēng);
11、處理模塊,還用于若第一文件名稱(chēng)為復(fù)合名稱(chēng),則對(duì)第一文件名稱(chēng)進(jìn)行解析,其中,復(fù)合名稱(chēng)為攜帶版本區(qū)間的文件名稱(chēng),解析后得到待匹配的目標(biāo)文件名稱(chēng)、目標(biāo)文件名稱(chēng)對(duì)應(yīng)的版本區(qū)間和前置文件;
12、處理模塊,還用于對(duì)于每一目標(biāo)文件名稱(chēng),在數(shù)據(jù)庫(kù)文件以及其他數(shù)據(jù)庫(kù)文件的提供表中進(jìn)行匹配操作,直至目標(biāo)文件名稱(chēng)與任一數(shù)據(jù)庫(kù)文件匹配成功,或者與所有數(shù)據(jù)庫(kù)文件均匹配失??;其中,目標(biāo)文件名稱(chēng)與任一提供表的匹配操作,包括:若待測(cè)試操作系統(tǒng)已安裝前置文件且目標(biāo)文件名稱(chēng)存在于提供表中,則判斷版本區(qū)間與提供表中,目標(biāo)文件名稱(chēng)對(duì)應(yīng)的版本信息是否匹配,以確定匹配結(jié)果;
13、處理模塊,還用于根據(jù)各個(gè)目標(biāo)文件名稱(chēng)對(duì)應(yīng)的匹配結(jié)果,生成依賴(lài)關(guān)系檢測(cè)缺失結(jié)果并輸出。
14、第三方面,本申請(qǐng)?zhí)峁┮环N軟件包依賴(lài)關(guān)系檢測(cè)設(shè)備,包括:處理器、存儲(chǔ)器,存儲(chǔ)器中存儲(chǔ)代碼,處理器運(yùn)行存儲(chǔ)器中存儲(chǔ)的代碼,以執(zhí)行如第一方面中任一項(xiàng)的方法。
15、第四方面,本申請(qǐng)?zhí)峁┮环N計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)執(zhí)行指令,計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如第一方面任一項(xiàng)的方法。
16、本申請(qǐng)?zhí)峁┮环N軟件包依賴(lài)關(guān)系檢測(cè)方法、設(shè)備及存儲(chǔ)介質(zhì),獲取多個(gè)數(shù)據(jù)庫(kù)文件,遍歷每一數(shù)據(jù)庫(kù)文件,對(duì)遍歷到的數(shù)據(jù)庫(kù)文件,獲取數(shù)據(jù)庫(kù)文件對(duì)應(yīng)的至少一個(gè)第一文件名稱(chēng)。若第一文件名稱(chēng)是復(fù)合名稱(chēng),則對(duì)第一文件名稱(chēng)進(jìn)行解析,獲取待匹配的目標(biāo)文件名稱(chēng)、目標(biāo)文件名稱(chēng)對(duì)應(yīng)的版本區(qū)間和前置文件。對(duì)于每一目標(biāo)文件名稱(chēng),在數(shù)據(jù)庫(kù)文件以及其他數(shù)據(jù)庫(kù)文件的提供表中進(jìn)行匹配操作,直至目標(biāo)文件名稱(chēng)與任一數(shù)據(jù)庫(kù)文件匹配成功,或與所有數(shù)據(jù)庫(kù)文件均匹配失敗。根據(jù)各個(gè)目標(biāo)文件名稱(chēng)對(duì)應(yīng)的匹配結(jié)果,生成依賴(lài)關(guān)系檢測(cè)缺失結(jié)果并輸出。本申請(qǐng)實(shí)施例提供的方法能夠自動(dòng)化獲取待測(cè)試操作系統(tǒng)對(duì)應(yīng)的多個(gè)數(shù)據(jù)庫(kù)文件,并對(duì)每一數(shù)據(jù)庫(kù)文件中包含的文件名稱(chēng)進(jìn)行匹配操作,無(wú)需用戶(hù)指定即可實(shí)現(xiàn)待測(cè)試操作系統(tǒng)對(duì)應(yīng)的全部軟件包的依賴(lài)關(guān)系檢測(cè),提高了依賴(lài)關(guān)系檢測(cè)的自動(dòng)化程度,提升了用戶(hù)體驗(yàn)。本申請(qǐng)還能夠?qū)?fù)合名稱(chēng)進(jìn)行處理,再次對(duì)處理后的文件名稱(chēng)進(jìn)行檢測(cè),有利于提高檢測(cè)的精準(zhǔn)率。同時(shí),本申請(qǐng)對(duì)每一目標(biāo)文件名稱(chēng)進(jìn)行匹配時(shí),需目標(biāo)文件名稱(chēng)與任一數(shù)據(jù)庫(kù)文件匹配成功,或與所有數(shù)據(jù)庫(kù)文件均匹配失敗結(jié)束匹配操作,相較于僅與一個(gè)或部分?jǐn)?shù)據(jù)庫(kù)文件進(jìn)行匹配而言,有效提高了精準(zhǔn)率。在匹配過(guò)程中,本申請(qǐng)還能夠在測(cè)試系統(tǒng)已安裝前置文件的情況下,對(duì)目標(biāo)文件名稱(chēng)對(duì)應(yīng)的版本區(qū)間進(jìn)行匹配,進(jìn)一步提高了依賴(lài)關(guān)系檢測(cè)的精準(zhǔn)率。
1.一種軟件包依賴(lài)關(guān)系檢測(cè)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述匹配操作還包括:若所述待測(cè)試操作系統(tǒng)未安裝前置文件,則判斷所述目標(biāo)文件名稱(chēng)是否存在于所述提供表中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述根據(jù)各個(gè)目標(biāo)文件名稱(chēng)對(duì)應(yīng)的匹配結(jié)果,生成依賴(lài)關(guān)系檢測(cè)缺失結(jié)果并輸出,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取多個(gè)數(shù)據(jù)庫(kù)文件,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)替換后的待測(cè)試倉(cāng)庫(kù)的地址,獲取對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括:
8.一種軟件包依賴(lài)關(guān)系檢測(cè)設(shè)備,其特征在于,包括:
9.一種軟件包依賴(lài)關(guān)系檢測(cè)設(shè)備,包括:處理器、存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)代碼,所述處理器運(yùn)行所述存儲(chǔ)器中存儲(chǔ)的代碼,以執(zhí)行如權(quán)利要求1-7中任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的方法。