本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),尤其涉及一種軟件處理方法、裝置及系統(tǒng)。
背景技術(shù):
平臺(tái)即服務(wù)(platformasaservice;簡(jiǎn)稱:paas)通常用來(lái)對(duì)虛擬機(jī)的軟件進(jìn)行設(shè)置。例如,使用軟件包將軟件部署到虛擬機(jī),或者使用軟件包對(duì)已部署的軟件進(jìn)行升級(jí)。
現(xiàn)有技術(shù)中,軟件包主要分為兩種類型:全量包和增量包。為了減小軟件包傳輸?shù)教摂M機(jī)的時(shí)間,針對(duì)不同的應(yīng)用場(chǎng)景可以選擇使用全量包或增量包。例如,對(duì)于將軟件部署到虛擬機(jī)的場(chǎng)景,可以使用全量包;而對(duì)于對(duì)已部署的軟件進(jìn)行升級(jí)的場(chǎng)景,可以使用增量包。舉例來(lái)說(shuō),以將軟件部署到虛擬機(jī)的場(chǎng)景為例,首先,使用者需要區(qū)分具體的應(yīng)用場(chǎng)景,并根據(jù)應(yīng)用場(chǎng)景確定出所選擇的軟件包的包標(biāo)識(shí),然后將軟件包的標(biāo)識(shí)輸入給paas,paas觸發(fā)軟件部署系統(tǒng)根據(jù)使用者所輸入的軟件包的包標(biāo)識(shí),從包管理系統(tǒng)獲取該包標(biāo)識(shí)對(duì)應(yīng)的軟件包,并使用獲取到的軟件包對(duì)虛擬機(jī)的軟件進(jìn)行部署。對(duì)虛擬機(jī)的軟件進(jìn)行升級(jí)的過(guò)程,與上述將軟件部署到虛擬機(jī)的過(guò)程類似,同樣需要使用者區(qū)分具體的應(yīng)用場(chǎng)景,并根據(jù)應(yīng)用場(chǎng)景確定出所選擇的軟件包的包標(biāo)識(shí)。
但是,由于采用現(xiàn)有技術(shù)中的軟件設(shè)置方式,即需要使用者在確定軟件包時(shí),區(qū)分具體的使用場(chǎng)景,并確定與該場(chǎng)景對(duì)應(yīng)的軟件包的包標(biāo)識(shí),因此,導(dǎo)致了使用者的操作工作量,且對(duì)使用者的技術(shù)要求也有一定的要求,從而導(dǎo)致軟件設(shè)置效率降低的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種軟件處理方法、裝置及系統(tǒng),用以解決現(xiàn)有技術(shù)中軟件 設(shè)置效率降低的問(wèn)題。
第一方面,本發(fā)明提供一種軟件處理方法,包括:
包管理系統(tǒng)接收設(shè)置系統(tǒng)發(fā)送的軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí);
所述包管理系統(tǒng)根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;
所述包管理系統(tǒng)將所述軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng),以使所述設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
結(jié)合第一方面,在第一方面的第一種可能實(shí)現(xiàn)的方式中,若所述場(chǎng)景類型為部署或者擴(kuò)展場(chǎng)景類型,則所述根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,包括:
查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
若存在,從軟件倉(cāng)庫(kù)中獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址。
本發(fā)明,通過(guò)當(dāng)所述場(chǎng)景類型為部署或擴(kuò)展類型時(shí),所述包管理系統(tǒng)判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí),則將所述軟件標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);若不存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí),則查詢軟件標(biāo)識(shí)與增量包的標(biāo)識(shí)的映射關(guān)系,并在確定存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí)時(shí),將所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址以及增量包的基礎(chǔ)包(也即,第二全量包)的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);實(shí)現(xiàn)了在升級(jí)或擴(kuò)展場(chǎng)景下,優(yōu)先使用全量包的方式,以減少向虛擬機(jī)傳輸軟件包的時(shí)間。
結(jié)合第一方面的第一種可能實(shí)現(xiàn)的方式,在第一方面的第二種可能實(shí)現(xiàn)的方式中,所述方法還包括:
若不存在,則查詢軟件標(biāo)識(shí)與增量包的標(biāo)識(shí)的映射關(guān)系,若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址;
獲取所述增量包的基礎(chǔ)包的版本,并根據(jù)所述軟件標(biāo)識(shí)、所述基礎(chǔ)包的版本,查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,獲取對(duì)應(yīng)的第二全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述第二全量包的標(biāo)識(shí)對(duì)應(yīng)的第二全量包的下載地址;
則所述包管理系統(tǒng)將所述軟件包的標(biāo)識(shí)攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng),包括:
所述包管理系統(tǒng)將所述增量包的下載地址以及所述第二全量包的下載地址攜帶在所述軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng)。
本發(fā)明,通過(guò)在不存在全量包包時(shí)也提供了使用增量包以及該增量包的基礎(chǔ)包來(lái)進(jìn)行軟件設(shè)置的方式,從而提高了軟件設(shè)置操作的成功率。
結(jié)合第一方面,在第一方面的第三種可能實(shí)現(xiàn)的方式中,若所述場(chǎng)景類型為升級(jí)場(chǎng)景類型,則所述根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,包括:
查詢軟件標(biāo)識(shí)和增量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí);
若存在,則從軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址。
本發(fā)明,通過(guò)當(dāng)所述場(chǎng)景類型為升級(jí)類型時(shí),所述包管理系統(tǒng)判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí);若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則將所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);若不存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,并在確定存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí)時(shí),將所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);實(shí)現(xiàn)了在升級(jí)場(chǎng)景下,優(yōu)先使用增量包的方式,以減少向虛擬機(jī)傳輸軟件包的時(shí)間。
結(jié)合第一方面的第三種可能實(shí)現(xiàn)的方式,在第一方面的第四種可能實(shí)現(xiàn)的方式中,所述方法還包括:
若不存在,則查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址。
本發(fā)明,通過(guò)在不存在增量包時(shí)也提供了使用全量包來(lái)進(jìn)行軟件設(shè)置的方式,從而提高了軟件設(shè)置操作的成功率
結(jié)合第一方面,在第一方面的第五種可能實(shí)現(xiàn)的方式中,所述方法還包括:
所述包管理系統(tǒng)接收上傳的增量包,并獲取所述上傳的增量包的包描述文件;所述包管理系統(tǒng)將所述上傳的增量包發(fā)送給軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述上傳的增量包,并將生成的所述上傳的增量包的標(biāo)識(shí)返回給所述包管理系統(tǒng);
所述包管理系統(tǒng)建立所述包描述文件中的軟件的標(biāo)識(shí)與所述上傳的增量包的標(biāo)識(shí)的映射關(guān)系;
所述包管理系統(tǒng)根據(jù)所述包描述文件中的軟件標(biāo)識(shí)和基礎(chǔ)包版本,獲取與所述上傳的增量包的基礎(chǔ)包的標(biāo)識(shí),并從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的基礎(chǔ)包的標(biāo)識(shí)對(duì)應(yīng)的基礎(chǔ)包;
所述包管理系統(tǒng)對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,獲取新版本的全量包,并將所述新版本的全量包發(fā)送給所述軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述新版本的全量包,并將生成的所述新版本的全量包的標(biāo)識(shí)返回給所述包管理系統(tǒng);
所述包管理系統(tǒng)建立所述包描述文件中的軟件的標(biāo)識(shí)與所述新版本全量包的標(biāo)識(shí)的映射關(guān)系。
本發(fā)明,通過(guò)所述包管理系統(tǒng)對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,獲取新版本的全量包;使得開(kāi)發(fā)人員在升級(jí)軟件時(shí),只需制作和維護(hù)增量包,而全量包可由包管理系統(tǒng)合并獲得,因此節(jié)省了軟件包的制作和維護(hù)成本。
結(jié)合第一方面的第五種可能實(shí)現(xiàn)的方式,在第一方面的第六種可能實(shí)現(xiàn)的方式中,所述包管理系統(tǒng)對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,包括:
所述包管理系統(tǒng)使用所述上傳的增量包的文件,對(duì)所述基礎(chǔ)包中與所述上傳的增量包的文件相應(yīng)的文件進(jìn)行覆蓋;
或者,所述包管理系統(tǒng)中根據(jù)所述上傳的增量包的包描述文件中的合并 方式描述,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并;
或者,所述包管理系統(tǒng)執(zhí)行所述上傳的增量包的合并腳本,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并。
第二方面,本發(fā)明提供一種軟件處理方法,包括:
設(shè)置系統(tǒng)向包管理系統(tǒng)發(fā)送軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí),以使所述包管理系統(tǒng)根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;
所述設(shè)置系統(tǒng)接收所述包管理系統(tǒng)發(fā)送的軟件設(shè)置響應(yīng),所述軟件設(shè)置響應(yīng)包括所述軟件包的下載地址;
所述設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
第三方面,本發(fā)明提供一種軟件處理裝置,包括:
接收模塊,用于接收設(shè)置系統(tǒng)發(fā)送的軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí);
獲取模塊,用于根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;
發(fā)送模塊,用于將所述軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng),以使所述設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
結(jié)合第三方面,在第三方面的第一種可能實(shí)現(xiàn)的方式中,若所述場(chǎng)景類型為部署或者擴(kuò)展場(chǎng)景類型,則所述獲取模塊,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,具體包括:
查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
若存在,從軟件倉(cāng)庫(kù)中獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址。
結(jié)合第三方面的第一種可能實(shí)現(xiàn)的方式,在第三方面的第二種可能實(shí)現(xiàn)的方式中,所述獲取模塊,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,還包括:
若不存在,則查詢軟件標(biāo)識(shí)與增量包的標(biāo)識(shí)的映射關(guān)系,若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo) 識(shí)對(duì)應(yīng)的增量包的下載地址;
獲取所述增量包的基礎(chǔ)包的版本,并根據(jù)所述軟件標(biāo)識(shí)、所述基礎(chǔ)包的版本,查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,獲取對(duì)應(yīng)的第二全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述第二全量包的標(biāo)識(shí)對(duì)應(yīng)的第二全量包的下載地址;
則發(fā)送模塊,具體用于:
將所述增量包的下載地址以及所述第二全量包的下載地址攜帶在所述軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng)。
結(jié)合第三方面,在第三方面的第三種可能實(shí)現(xiàn)的方式中,若所述場(chǎng)景類型為升級(jí)場(chǎng)景類型,則所述獲取模塊,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,具體包括:
查詢軟件標(biāo)識(shí)和增量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí);
若存在,則從軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址。
結(jié)合第三方面的第三種可能實(shí)現(xiàn)的方式,在第三方面的第四種可能實(shí)現(xiàn)的方式中,所述獲取模塊,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,還包括:
若不存在,則查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址。
結(jié)合第三方面,在第三方面的第五種可能實(shí)現(xiàn)的方式中,還包括:合并模塊,用于:
接收上傳的增量包,并獲取所述上傳的增量包的包描述文件;
將所述上傳的增量包發(fā)送給軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述上傳的增量包,并將生成的所述上傳的增量包的標(biāo)識(shí)返回給所述合并模塊;
建立所述包描述文件中的軟件的標(biāo)識(shí)與所述上傳的增量包的標(biāo)識(shí)的映射關(guān)系;
根據(jù)所述包描述文件中的軟件標(biāo)識(shí)和基礎(chǔ)包版本,獲取與所述上傳的增 量包的基礎(chǔ)包的標(biāo)識(shí),并從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的基礎(chǔ)包的標(biāo)識(shí)對(duì)應(yīng)的基礎(chǔ)包;
對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,獲取新版本的全量包,并將所述新版本的全量包發(fā)送給所述軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述新版本的全量包,并將生成的所述新版本的全量包的標(biāo)識(shí)返回給所述合并模塊;
建立所述包描述文件中的軟件的標(biāo)識(shí)與所述新版本全量包的標(biāo)識(shí)的映射關(guān)系。
結(jié)合第三方面的第五種可能實(shí)現(xiàn)的方式,在第三方面的第六種可能實(shí)現(xiàn)的方式中,所述合并模塊,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,具體包括:
使用所述上傳的增量包的文件,對(duì)所述基礎(chǔ)包中與所述上傳的增量包的文件相應(yīng)的文件進(jìn)行覆蓋;
或者,根據(jù)所述上傳的增量包的包描述文件中的合并方式描述,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并;
或者,執(zhí)行所述上傳的增量包的合并腳本,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并。
第四方面,本發(fā)明提供一種軟件處理裝置,包括:
發(fā)送模塊,用于向包管理系統(tǒng)發(fā)送軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí),以使所述包管理系統(tǒng)根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;
接收模塊,用于接收所述包管理系統(tǒng)發(fā)送的軟件設(shè)置響應(yīng),所述軟件設(shè)置響應(yīng)包括所述軟件包的下載地址;
設(shè)置模塊,用于根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
第五方面,本發(fā)明提供一種系統(tǒng),包括:第三方面或第三方面的第一種至第六種任一種所述的軟件處理裝置,以及第四方面所述的軟件處理裝置。
本發(fā)明提供的軟件處理方法、裝置及系統(tǒng);通過(guò)設(shè)置系統(tǒng)向包管理系統(tǒng)發(fā)送包括軟件標(biāo)識(shí)的軟件設(shè)置請(qǐng)求;包管理系統(tǒng)根據(jù)軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)場(chǎng)景類型獲取與軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;包管理系統(tǒng)將軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給設(shè)置系統(tǒng);設(shè)置系統(tǒng) 根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理;使得在軟件設(shè)置的過(guò)程中使用者不需要區(qū)分具體的使用場(chǎng)景以及確定與該場(chǎng)景對(duì)應(yīng)的軟件包的包標(biāo)識(shí)的操作;減少了使用者的操作工作量,且降低了對(duì)使用者的技術(shù)要求;從而提高了軟件設(shè)置的效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明軟件處理方法的應(yīng)用場(chǎng)景示意圖;
圖2為本發(fā)明軟件處理方法實(shí)施例一的流程圖;
圖3為本發(fā)明軟件處理方法實(shí)施例二的流程圖;
圖4為本發(fā)明軟件處理方法實(shí)施例三的流程圖;
圖5為本發(fā)明軟件處理方法實(shí)施例四的流程圖;
圖6為本發(fā)明軟件處理裝置實(shí)施例一的結(jié)構(gòu)示意圖;
圖7為本發(fā)明軟件處理裝置實(shí)施例四的結(jié)構(gòu)示意圖;
圖8為本發(fā)明軟件處理裝置實(shí)施例五的結(jié)構(gòu)示意圖;
圖9為本發(fā)明軟件處理裝置實(shí)施例六的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明軟件處理方法的應(yīng)用場(chǎng)景示意圖;如圖1所示,本發(fā)明的應(yīng)用場(chǎng)景包括:包管理系統(tǒng)、軟件部署系統(tǒng)、軟件升級(jí)系統(tǒng)和彈性伸縮系統(tǒng);其中,包管理系統(tǒng)、軟件部署系統(tǒng)、軟件升級(jí)系統(tǒng)和彈性伸縮系統(tǒng)都屬于paas; 所述軟件部署系統(tǒng),用于將軟件部署到已有虛擬機(jī);所述軟件升級(jí)系統(tǒng),用于對(duì)已部署到虛擬機(jī)的軟件進(jìn)行升級(jí);所述彈性伸縮系統(tǒng),用于創(chuàng)建新的虛擬機(jī),并將軟件部署到所創(chuàng)建的虛擬機(jī)。
需要說(shuō)明的是,彈性伸縮系統(tǒng)涉及擴(kuò)展場(chǎng)景,軟件部署系統(tǒng)涉及部署場(chǎng)景,軟件升級(jí)系統(tǒng)涉及升級(jí)場(chǎng)景。
本發(fā)明的應(yīng)用場(chǎng)景中可以僅包括軟件部署系統(tǒng)、軟件升級(jí)系統(tǒng)和彈性伸縮系統(tǒng)中的任一個(gè)或多個(gè)系統(tǒng)。
可選的,本發(fā)明的應(yīng)用場(chǎng)景還可以包括:軟件倉(cāng)庫(kù),用于存儲(chǔ)軟件包(包括全量包和增量包);所述軟件倉(cāng)庫(kù),還可以用于提供軟件包的下載地址。
可選的,本發(fā)明的應(yīng)用場(chǎng)景還可以包括:本地文件系統(tǒng),用于所述包管理系統(tǒng)根據(jù)增量包及該增量包的基礎(chǔ)包獲得全量包。
需要說(shuō)明的是,本發(fā)明中的設(shè)置系統(tǒng)可以為軟件部署系統(tǒng)、軟件升級(jí)系統(tǒng)或者彈性伸縮系統(tǒng)。
需要說(shuō)明的是,所述包管理系統(tǒng)、軟件部署系統(tǒng)、軟件升級(jí)系統(tǒng)、彈性伸縮系統(tǒng)和本地文件系統(tǒng)都為軟件系統(tǒng)。
需要說(shuō)明的是,所述包管理系統(tǒng)、軟件部署系統(tǒng)、軟件升級(jí)系統(tǒng)、彈性伸縮系統(tǒng)、軟件倉(cāng)庫(kù)和本地文件系統(tǒng)可以部署在同一服務(wù)器上,或者也可以以任意組合部署在多個(gè)服務(wù)器上。
圖2為本發(fā)明軟件處理方法實(shí)施例一的流程圖;如圖2所示,本實(shí)施例的方法可以包括:
步驟201、設(shè)置系統(tǒng)向包管理系統(tǒng)發(fā)送軟件設(shè)置請(qǐng)求;
其中,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí)。
步驟202、所述包管理系統(tǒng)根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;
步驟203、所述包管理系統(tǒng)將所述軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng),以使所述設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理;
步驟204、所述設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
本實(shí)施例中,通過(guò)設(shè)置系統(tǒng)向包管理系統(tǒng)發(fā)送包括軟件標(biāo)識(shí)的軟件設(shè)置 請(qǐng)求;包管理系統(tǒng)根據(jù)軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)場(chǎng)景類型獲取與軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;包管理系統(tǒng)將軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給設(shè)置系統(tǒng);設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理;使得在軟件設(shè)置的過(guò)程中使用者不需要區(qū)分具體的使用場(chǎng)景以及確定與該場(chǎng)景對(duì)應(yīng)的軟件包的包標(biāo)識(shí)的操作;減少了使用者的操作工作量,且降低了對(duì)使用者的技術(shù)要求;從而提高了軟件設(shè)置的效率。
圖3為本發(fā)明軟件處理方法實(shí)施例二的流程圖;本實(shí)施例在圖2所示實(shí)施例的基礎(chǔ)上,當(dāng)所述場(chǎng)景類型為部署或者擴(kuò)展場(chǎng)景類型時(shí),如圖3所示,步驟202、步驟203可以包括:
步驟301、所述包管理系統(tǒng)查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
若存在,則執(zhí)行步驟302;否則,執(zhí)行步驟304。
步驟302、所述包管理系統(tǒng)從軟件倉(cāng)庫(kù)中獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址;
具體的,所述包管理系統(tǒng)可以將與所述全量包的標(biāo)識(shí)發(fā)送至所述軟件倉(cāng)庫(kù);所述軟件倉(cāng)庫(kù)獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址,并將第一全量包的下載地址返回給包管理系統(tǒng)。
步驟303、所述包管理系統(tǒng)將所述第一全量包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng);
相應(yīng)的,步驟204具體可以為:所述設(shè)置系統(tǒng)根據(jù)所述第一全量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
可選的,當(dāng)所述場(chǎng)景類型為部署場(chǎng)景時(shí),所述設(shè)置系統(tǒng)根據(jù)所述第一全量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理,具體可以為:所述設(shè)置系統(tǒng)根據(jù)所述第一全量包的下載地址,獲取所述第一全量包,并根據(jù)所獲取的所述第一全量包向虛擬機(jī)的部署軟件。
可選的,當(dāng)所述場(chǎng)景類型為擴(kuò)展類型時(shí),所述設(shè)置系統(tǒng)根據(jù)所述第一全量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理,具體可以為:所述設(shè)置系統(tǒng)創(chuàng)建新的虛擬機(jī),根據(jù)所述全量包的下載地址獲取所述第一全量包,并根據(jù)所獲取的所述第一全量包向虛擬機(jī)部署軟件。
需要說(shuō)明的是,步驟303執(zhí)行完之后結(jié)束。
步驟304、所述包管理系統(tǒng)查詢軟件標(biāo)識(shí)與增量包的標(biāo)識(shí)的映射關(guān)系,若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址;
需要說(shuō)明的是,步驟304中包管理系統(tǒng)從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址,與步驟302中包管理系統(tǒng)從軟件倉(cāng)庫(kù)中獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址的具體方式類似,在此不再贅述。
步驟305、所述包管理系統(tǒng)獲取所述增量包的基礎(chǔ)包的版本,并根據(jù)所述軟件標(biāo)識(shí)、所述基礎(chǔ)包的版本,查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,獲取對(duì)應(yīng)的第二全量包的標(biāo)識(shí);
可選的,所述包管理系統(tǒng)可以從所述增量包的包描述文件中獲取所述增量包的基礎(chǔ)包的版本。
可選的,所述軟件標(biāo)識(shí)可以包括:版本和名稱。
相應(yīng)的,所述根據(jù)所述軟件標(biāo)識(shí)、所述基礎(chǔ)包的版本,查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,獲取對(duì)應(yīng)的第二全量包的標(biāo)識(shí),具體可以為:
根據(jù)所述軟件標(biāo)識(shí)中的名稱及所述基礎(chǔ)包的版本,確定出所述基礎(chǔ)包對(duì)應(yīng)的新軟件標(biāo)識(shí),并根據(jù)所述新軟件標(biāo)識(shí)查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,獲取對(duì)應(yīng)的第二全量包的標(biāo)識(shí)。
步驟306、所述包管理系統(tǒng)從所述軟件倉(cāng)庫(kù)中,獲取與所述第二全量包的標(biāo)識(shí)對(duì)應(yīng)的第二全量包的下載地址;
需要說(shuō)明的是,步驟306中包管理系統(tǒng)從所述軟件倉(cāng)庫(kù)中獲取與所述第二全量包的標(biāo)識(shí)對(duì)應(yīng)的第二全量包的下載地址,與步驟302中包管理系統(tǒng)從軟件倉(cāng)庫(kù)中獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址的具體方式類似,在此不再贅述。
步驟307、所述包管理系統(tǒng)將所述增量包的下載地址以及所述第二全量包的下載地址攜帶在所述軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng)。
相應(yīng)的,步驟204具體可以為:所述設(shè)置系統(tǒng)根據(jù)所述增量包的下載地址以及所述第二全量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
可選的,所述設(shè)置系統(tǒng)根據(jù)所述增量包的下載地址以及所述第二全量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理,包括:
所述設(shè)置系統(tǒng)根據(jù)所述增量包的下載地址以及所述第二全量包的下載地址,獲取所述增量包及所述第二全量包;
所述設(shè)置系統(tǒng)根據(jù)所述第二全量包向虛擬機(jī)部署軟件,并根據(jù)所述增量包對(duì)已部署的軟件進(jìn)行升級(jí)。
本實(shí)施例中,通過(guò)當(dāng)所述場(chǎng)景類型為部署或擴(kuò)展類型時(shí),所述包管理系統(tǒng)判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí),則將所述軟件標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);若不存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí),則查詢軟件標(biāo)識(shí)與增量包的標(biāo)識(shí)的映射關(guān)系,并在確定存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí)時(shí),將所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址以及增量包的基礎(chǔ)包(也即,第二全量包)的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);實(shí)現(xiàn)了在升級(jí)或擴(kuò)展場(chǎng)景下,優(yōu)先使用全量包的方式,以減少向虛擬機(jī)傳輸軟件包的時(shí)間;同時(shí),在不存在全量包包時(shí)也提供了使用增量包以及該增量包的基礎(chǔ)包來(lái)進(jìn)行軟件設(shè)置的方式,從而提高了軟件設(shè)置操作的成功率。
圖4為本發(fā)明軟件處理方法實(shí)施例三的流程圖;本實(shí)施例在圖2所示實(shí)施例的基礎(chǔ)上,當(dāng)所述場(chǎng)景類型為升級(jí)場(chǎng)景類型時(shí),如圖4所示,步驟202、步驟203可以包括:
步驟401、所述包管理系統(tǒng)查詢軟件標(biāo)識(shí)和增量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí);
若存在,則執(zhí)行步驟402;否則,執(zhí)行步驟404。
步驟402、所述包管理系統(tǒng)從軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址;
具體的,所述包管理系統(tǒng)可以將與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí)發(fā)送至所述軟件倉(cāng)庫(kù);所述軟件倉(cāng)庫(kù)獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址,并將增量包下載地址返回給包管理系統(tǒng)。
步驟403、所述包管理系統(tǒng)將所述增量包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng);
相應(yīng)的,步驟204具體可以為:所述設(shè)置系統(tǒng)根據(jù)所述增量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
可選的,當(dāng)所述場(chǎng)景類型為升級(jí)場(chǎng)景時(shí),所述設(shè)置系統(tǒng)根據(jù)所述增量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理,具體可以為:所述設(shè)置系統(tǒng)根據(jù)所述增量包的下載地址,獲取所述增量包,并根據(jù)所獲取的所述增量包對(duì)虛擬機(jī)的軟件進(jìn)行升級(jí)。
需要說(shuō)明的是,步驟403執(zhí)行完之后結(jié)束。
步驟404、所述包管理系統(tǒng)查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
步驟405、所述包管理系統(tǒng)從所述軟件倉(cāng)庫(kù)中,獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址;
需要說(shuō)明的是,步驟405中包管理系統(tǒng)從所述軟件倉(cāng)庫(kù)中獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址,與步驟402中包管理系統(tǒng)從軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址的具體方式類似,在此不再贅述。
步驟406、所述包管理系統(tǒng)將所述全量包的下載地址攜帶在所述軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng)。
相應(yīng)的,步驟204具體可以為:所述設(shè)置系統(tǒng)根據(jù)所述全量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
可選的,所述設(shè)置系統(tǒng)根據(jù)所述全量包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理,包括:
所述設(shè)置系統(tǒng)根據(jù)所述全量包的下載地址,獲取所述全量包;
所述設(shè)置系統(tǒng)根據(jù)所述全量包對(duì)虛擬機(jī)的軟件進(jìn)行升級(jí)。
本實(shí)施例中,通過(guò)當(dāng)所述場(chǎng)景類型為升級(jí)類型時(shí),所述包管理系統(tǒng)判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí);若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則將所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);若不存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,并在確定存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí)時(shí),將所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址通過(guò)軟件設(shè)置響應(yīng)返回給設(shè)置系統(tǒng);實(shí)現(xiàn)了在升級(jí)場(chǎng)景下,優(yōu)先使用增量包的方式,以減少向虛擬機(jī)傳輸軟件包的時(shí)間;同時(shí),在不存在增量包時(shí)也提供了使用全量包來(lái)進(jìn)行軟件設(shè)置的方式,從而提高了軟件設(shè)置操作的成功率。
需要說(shuō)明的是,本發(fā)明中包管理系統(tǒng)根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型的具體方式可以為:所述軟件設(shè)置請(qǐng)求還可以包括所述場(chǎng)景類型;相應(yīng)的,所述包管理系統(tǒng)可以從所述軟件設(shè)置請(qǐng)求中獲取所述場(chǎng)景類型。所述場(chǎng)景類型可以由設(shè)置系統(tǒng)來(lái)添加;例如,對(duì)于軟件升級(jí)系統(tǒng)其場(chǎng)景類型可以固定添加為0,用于指示升級(jí)場(chǎng)景;對(duì)于軟件部署系統(tǒng)其場(chǎng)景類型可以固定添加1,用于指示部署場(chǎng)景;對(duì)于彈性伸縮系統(tǒng)其場(chǎng)景類型可以固定添加為2,用于指示擴(kuò)展場(chǎng)景。
或者,具體可以為:所述包管理系統(tǒng)可以根據(jù)軟件設(shè)置請(qǐng)求的發(fā)送方,也即設(shè)置系統(tǒng),來(lái)確定場(chǎng)景類型。
圖5為本發(fā)明軟件處理方法實(shí)施例四的流程圖;如圖5所示,本實(shí)施例在圖2所示實(shí)施例的基礎(chǔ)上,還可以包括:
步驟501、所述包管理系統(tǒng)接收上傳的增量包,并獲取所述上傳的增量包的包描述文件;
其中,所述包描述文件中包括軟件標(biāo)識(shí)和基礎(chǔ)包版本。
步驟502、所述包管理系統(tǒng)將所述上傳的增量包發(fā)送給軟件倉(cāng)庫(kù);
步驟503、所述軟件倉(cāng)庫(kù)保存所述上傳的增量包,并生成所述上傳的增量包的標(biāo)識(shí);
步驟504、所述軟件倉(cāng)庫(kù)將生成的所述上傳的增量包的標(biāo)識(shí)返回給所述包管理系統(tǒng);
步驟505、所述包管理系統(tǒng)建立所述包描述文件中的軟件的標(biāo)識(shí)與所述上傳的增量包的標(biāo)識(shí)的映射關(guān)系;
步驟506、所述包管理系統(tǒng)根據(jù)所述包描述文件中的軟件標(biāo)識(shí)和基礎(chǔ)包版本,獲取與所述上傳的增量包的基礎(chǔ)包的標(biāo)識(shí);
步驟507、所述包管理系統(tǒng)將所述增量包的基礎(chǔ)包的標(biāo)識(shí)發(fā)送至所述軟件倉(cāng)庫(kù);
步驟508、所述軟件倉(cāng)庫(kù)將所述增量包的基礎(chǔ)包的標(biāo)識(shí)對(duì)應(yīng)的基礎(chǔ)包返回給所述包管理系統(tǒng);
步驟509、所述包管理系統(tǒng)對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,獲取新版本的全量包;
可選的,所述上傳的增量包和所述基礎(chǔ)包可以為壓縮包。
相應(yīng)的,步驟509具體可以包括:所述包管理系統(tǒng)將所述上傳的增量包及所述基礎(chǔ)包解壓到本地文件系統(tǒng)中的臨時(shí)目錄,并在所述本地文件系統(tǒng)的臨時(shí)目錄中對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并,獲得新版本的全量包。
可選的,所述對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并,具體可以為:
所述包管理系統(tǒng)使用所述上傳的增量包的文件,對(duì)所述基礎(chǔ)包中與所述上傳的增量包的文件相應(yīng)的文件進(jìn)行覆蓋。
或者,具體可以為:
所述包管理系統(tǒng)中根據(jù)所述上傳的增量包的包描述文件中的合并方式描述,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并。
或者,具體可以為:
所述包管理系統(tǒng)執(zhí)行所述上傳的增量包的合并腳本,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并。
步驟510、所述包管理系統(tǒng)將所述新版本的全量包發(fā)送給所述軟件倉(cāng)庫(kù);
步驟511、所述軟件倉(cāng)庫(kù)保存所述新版本的全量包,并生成所述新版本的全量包的標(biāo)識(shí);
步驟512、所述軟件倉(cāng)庫(kù)將生成的所述新版本的全量包的標(biāo)識(shí)返回給所述包管理系統(tǒng);
步驟513、所述包管理系統(tǒng)建立所述包描述文件中的軟件的標(biāo)識(shí)與所述新版本全量包的標(biāo)識(shí)的映射關(guān)系。
本實(shí)施例中,通過(guò)所述包管理系統(tǒng)對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,獲取新版本的全量包;使得開(kāi)發(fā)人員在升級(jí)軟件時(shí),只需制作和維護(hù)增量包,而全量包可由包管理系統(tǒng)合并獲得,因此節(jié)省了軟件包的制作和維護(hù)成本。
圖6為本發(fā)明軟件處理裝置實(shí)施例一的結(jié)構(gòu)示意圖;如圖6所示,本實(shí)施例的裝置可以包括:接收模塊601、獲取模塊602和發(fā)送模塊603。接收模塊601,用于接收設(shè)置系統(tǒng)發(fā)送的軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí);獲取模塊602,用于根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;發(fā)送模塊603,用于將所述軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系 統(tǒng),以使所述設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
本實(shí)施例的裝置,可以用于執(zhí)行圖2所示方法實(shí)施例包管理系統(tǒng)側(cè)的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
軟件處理裝置實(shí)施例二
可選的,在本發(fā)明軟件處理裝置實(shí)施例一的基礎(chǔ)上,若所述場(chǎng)景類型為部署或者擴(kuò)展場(chǎng)景類型,則獲取模塊602,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,具體包括:
查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
若存在,從軟件倉(cāng)庫(kù)中獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址。
可選的,獲取模塊602,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,還包括:
若不存在,則查詢軟件標(biāo)識(shí)與增量包的標(biāo)識(shí)的映射關(guān)系,若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址;
獲取所述增量包的基礎(chǔ)包的版本,并根據(jù)所述軟件標(biāo)識(shí)、所述基礎(chǔ)包的版本,查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,獲取對(duì)應(yīng)的第二全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述第二全量包的標(biāo)識(shí)對(duì)應(yīng)的第二全量包的下載地址;
相應(yīng)的,則發(fā)送模塊603,具體用于:將所述增量包的下載地址以及所述第二全量包的下載地址攜帶在所述軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng)。
本實(shí)施例的裝置,可以用于執(zhí)行圖3所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
軟件處理裝置實(shí)施例三
可選的,在本發(fā)明軟件處理裝置實(shí)施例一的基礎(chǔ)上,若所述場(chǎng)景類型為升級(jí)場(chǎng)景類型,則獲取模塊602,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,具體包括:
查詢軟件標(biāo)識(shí)和增量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí);
若存在,則從軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址。
可選的,獲取模塊602,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,還包括:
若不存在,則查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址。
本實(shí)施例的裝置,可以用于執(zhí)行圖4所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖7為本發(fā)明軟件處理裝置實(shí)施例四的結(jié)構(gòu)示意圖;如圖7所示,本實(shí)施的裝置在圖6所述裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步的,還可以包括:合并模塊604,用于:
接收上傳的增量包,并獲取所述上傳的增量包的包描述文件;
將所述上傳的增量包發(fā)送給軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述上傳的增量包,并將生成的所述上傳的增量包的標(biāo)識(shí)返回給所述合并模塊;
建立所述包描述文件中的軟件的標(biāo)識(shí)與所述上傳的增量包的標(biāo)識(shí)的映射關(guān)系;
根據(jù)所述包描述文件中的軟件標(biāo)識(shí)和基礎(chǔ)包版本,獲取與所述上傳的增量包的基礎(chǔ)包的標(biāo)識(shí),并從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的基礎(chǔ)包的標(biāo)識(shí)對(duì)應(yīng)的基礎(chǔ)包;
對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,獲取新版本的全量包,并將所述新版本的全量包發(fā)送給所述軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述新版本的全量包,并將生成的所述新版本的全量包的標(biāo)識(shí)返回給所述合并模塊;
建立所述包描述文件中的軟件的標(biāo)識(shí)與所述新版本全量包的標(biāo)識(shí)的映射關(guān)系。
可選的,合并模塊604,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,具體包括:
使用所述上傳的增量包的文件,對(duì)所述基礎(chǔ)包中與所述上傳的增量包的文件相應(yīng)的文件進(jìn)行覆蓋;
或者,根據(jù)所述上傳的增量包的包描述文件中的合并方式描述,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并;
或者,執(zhí)行所述上傳的增量包的合并腳本,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并。
本實(shí)施例的裝置,可以用于執(zhí)行圖5所示方法實(shí)施例包管理系統(tǒng)側(cè)的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖8為本發(fā)明軟件處理裝置實(shí)施例五的結(jié)構(gòu)示意圖;如圖8所述,本實(shí)施的裝置可以包括:發(fā)送模塊801、接收模塊802和設(shè)置模塊803。其中,發(fā)送模塊801,用于向包管理系統(tǒng)發(fā)送軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí),以使所述包管理系統(tǒng)根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;接收模塊802,用于接收所述包管理系統(tǒng)發(fā)送的軟件設(shè)置響應(yīng),所述軟件設(shè)置響應(yīng)包括所述軟件包的下載地址;設(shè)置模塊803,用于根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
本實(shí)施例的裝置,可以用于執(zhí)行圖2所示方法實(shí)施例設(shè)置系統(tǒng)側(cè)的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本發(fā)明還提供一種系統(tǒng),包括軟件處理裝置實(shí)施例一至軟件處理裝置實(shí)施例四中任一實(shí)施例所述的軟件處理裝置,以及軟件處理裝置實(shí)施例五所述的軟件處理裝置。
圖9為本發(fā)明軟件處理裝置實(shí)施例六的結(jié)構(gòu)示意圖;如圖9所示,本實(shí)施例的裝置可以包括:通信接口901和處理器902。通信接口901,用于接收設(shè)置系統(tǒng)發(fā)送的軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí);處理器902,用于根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;通信接口901,還用于將所述軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng),以使所述設(shè)置系統(tǒng)根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
本實(shí)施例的裝置,可以用于執(zhí)行圖2所示方法實(shí)施例包管理系統(tǒng)側(cè)的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
軟件處理裝置實(shí)施例七
可選的,在本發(fā)明軟件處理裝置實(shí)施例六的基礎(chǔ)上,若所述場(chǎng)景類型為部署或者擴(kuò)展場(chǎng)景類型,則處理器902,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,具體包括:
查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
若存在,從軟件倉(cāng)庫(kù)中獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的第一全量包的下載地址。
可選的,處理器902,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,還包括:
若不存在,則查詢軟件標(biāo)識(shí)與增量包的標(biāo)識(shí)的映射關(guān)系,若存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí),則從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載地址;
獲取所述增量包的基礎(chǔ)包的版本,并根據(jù)所述軟件標(biāo)識(shí)、所述基礎(chǔ)包的版本,查詢軟件標(biāo)識(shí)與全量包的標(biāo)識(shí)的映射關(guān)系,獲取對(duì)應(yīng)的第二全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述第二全量包的標(biāo)識(shí)對(duì)應(yīng)的第二全量包的下載地址;
相應(yīng)的,則通信接口901,將所述軟件包的下載地址攜帶在軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng),具體包括:將所述增量包的下載地址以及所述第二全量包的下載地址攜帶在所述軟件設(shè)置響應(yīng)中返回給所述設(shè)置系統(tǒng)。
本實(shí)施例的裝置,可以用于執(zhí)行圖3所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
軟件處理裝置實(shí)施例八
可選的,在本發(fā)明軟件處理裝置實(shí)施例六的基礎(chǔ)上,若所述場(chǎng)景類型為升級(jí)場(chǎng)景類型,則處理器902,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,具體包括:
查詢軟件標(biāo)識(shí)和增量包的標(biāo)識(shí)的映射關(guān)系,判斷是否存在與所述軟件標(biāo)識(shí)對(duì)應(yīng)的增量包的標(biāo)識(shí);
若存在,則從軟件倉(cāng)庫(kù)中獲取與所述增量包的標(biāo)識(shí)對(duì)應(yīng)的增量包的下載 地址。
可選的,處理器902,根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址,還包括:
若不存在,則查詢軟件標(biāo)識(shí)和全量包的標(biāo)識(shí)的映射關(guān)系,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的全量包的標(biāo)識(shí);
從所述軟件倉(cāng)庫(kù)中,獲取與所述全量包的標(biāo)識(shí)對(duì)應(yīng)的全量包的下載地址。
本實(shí)施例的裝置,可以用于執(zhí)行圖4所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
軟件處理裝置實(shí)施例九
可選的,在軟件處理裝置實(shí)施例六的基礎(chǔ)上,通信接口901,還用于接收上傳的增量包;
處理器902,還用于獲取所述上傳的增量包的包描述文件;
通信接口901,還用于將所述上傳的增量包發(fā)送給軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述上傳的增量包,并將生成的所述上傳的增量包的標(biāo)識(shí)返回給所通信接口901;
處理器902,還用于建立所述包描述文件中的軟件的標(biāo)識(shí)與所述上傳的增量包的標(biāo)識(shí)的映射關(guān)系;
處理器902,還用于根據(jù)所述包描述文件中的軟件標(biāo)識(shí)和基礎(chǔ)包版本,獲取與所述上傳的增量包的基礎(chǔ)包的標(biāo)識(shí),并從所述軟件倉(cāng)庫(kù)中獲取與所述增量包的基礎(chǔ)包的標(biāo)識(shí)對(duì)應(yīng)的基礎(chǔ)包;
處理器902,還用于對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,獲取新版本的全量包;
通信接口901,還用于將所述新版本的全量包發(fā)送給所述軟件倉(cāng)庫(kù),以供所述軟件倉(cāng)庫(kù)保存所述新版本的全量包,并將生成的所述新版本的全量包的標(biāo)識(shí)返回給通信接口901;
處理器902,還用于建立所述包描述文件中的軟件的標(biāo)識(shí)與所述新版本全量包的標(biāo)識(shí)的映射關(guān)系。
可選的,處理器902,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并處理,具體包括:
使用所述上傳的增量包的文件,對(duì)所述基礎(chǔ)包中與所述上傳的增量包的 文件相應(yīng)的文件進(jìn)行覆蓋;
或者,根據(jù)所述上傳的增量包的包描述文件中的合并方式描述,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并;
或者,執(zhí)行所述上傳的增量包的合并腳本,對(duì)所述上傳的增量包和所述基礎(chǔ)包進(jìn)行合并。
本實(shí)施例的裝置,可以用于執(zhí)行圖5所示方法實(shí)施例包管理系統(tǒng)側(cè)的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
軟件處理裝置實(shí)施例十
本實(shí)施例的軟件處理裝置與圖9所示的軟件處理裝置類似,同樣包括:通信接口和處理器;其中,所述通信接口,用于向包管理系統(tǒng)發(fā)送軟件設(shè)置請(qǐng)求,所述軟件設(shè)置請(qǐng)求包括軟件標(biāo)識(shí),以使所述包管理系統(tǒng)根據(jù)所述軟件設(shè)置請(qǐng)求,獲取場(chǎng)景類型,并根據(jù)所述場(chǎng)景類型,獲取與所述軟件標(biāo)識(shí)對(duì)應(yīng)的軟件包的下載地址;所述通信接口,還用于接收所述包管理系統(tǒng)發(fā)送的軟件設(shè)置響應(yīng),所述軟件設(shè)置響應(yīng)包括所述軟件包的下載地址;所述處理器,用于根據(jù)所述軟件包的下載地址,進(jìn)行相應(yīng)的軟件設(shè)置處理。
本實(shí)施例的裝置,可以用于執(zhí)行圖2所示方法實(shí)施例設(shè)置系統(tǒng)側(cè)的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。