一種應(yīng)用部署方法及裝置的制造方法
【專利摘要】本發(fā)明的實(shí)施例提供一種應(yīng)用部署方法及裝置,涉及軟件技術(shù)領(lǐng)域,可以識(shí)別出影響應(yīng)用運(yùn)行結(jié)果的配置項(xiàng),從而提高構(gòu)建出的生產(chǎn)環(huán)境的可靠性,降低應(yīng)用部署失敗的風(fēng)險(xiǎn)。該方法包括:獲取第一配置項(xiàng),該第一配置項(xiàng)為開(kāi)發(fā)環(huán)境在運(yùn)行應(yīng)用的可執(zhí)行代碼之前與運(yùn)行該應(yīng)用的可執(zhí)行代碼之后發(fā)生變化的數(shù)據(jù);獲取第二配置項(xiàng),該第二配置項(xiàng)為運(yùn)行該可執(zhí)行代碼之前的開(kāi)發(fā)環(huán)境與初始生產(chǎn)環(huán)境之間不相同的數(shù)據(jù);這樣,根據(jù)該第一配置項(xiàng)和該第二配置項(xiàng),可修正該初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,得到可靠性更高的修正生產(chǎn)環(huán)境;那么,將該應(yīng)用部署至該修正生產(chǎn)環(huán)境中后,可提高應(yīng)用部署的成功率。
【專利說(shuō)明】
一種應(yīng)用部署方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及軟件技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用部署方法及裝置。
【背景技術(shù)】
[0002] -個(gè)應(yīng)用從開(kāi)發(fā)到成功部署上線,首先需要經(jīng)歷源代碼的編寫(xiě)階段,進(jìn)而,需要在 開(kāi)發(fā)環(huán)境(即開(kāi)發(fā)人員所使用的環(huán)境)中對(duì)源代碼進(jìn)行編譯、安裝、調(diào)試和運(yùn)行,當(dāng)可執(zhí)行代 碼在開(kāi)發(fā)環(huán)境中成功運(yùn)行后,可以通過(guò)現(xiàn)有的自動(dòng)構(gòu)建系統(tǒng)構(gòu)建部署應(yīng)用的生產(chǎn)環(huán)境(即 應(yīng)用長(zhǎng)期實(shí)際運(yùn)行的環(huán)境),最終,在構(gòu)建的生產(chǎn)環(huán)境中對(duì)可執(zhí)行代碼進(jìn)行測(cè)試和運(yùn)行,得 到可以成功運(yùn)行的應(yīng)用。
[0003] 其中,開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境之間可能存在規(guī)模差異、部署區(qū)域差異等,例如,開(kāi)發(fā) 環(huán)境可能只有很少幾臺(tái)設(shè)備組成,而生產(chǎn)環(huán)境則可能由幾千臺(tái)設(shè)備組成;開(kāi)發(fā)環(huán)境中可能 包含開(kāi)發(fā)語(yǔ)言的一個(gè)或多個(gè)運(yùn)行庫(kù),而生產(chǎn)環(huán)境中則可能沒(méi)有應(yīng)用運(yùn)行所需的運(yùn)行庫(kù)。
[0004] 正是由于這些差異,導(dǎo)致可以成功在開(kāi)發(fā)環(huán)境中運(yùn)行的應(yīng)用卻可能無(wú)法在生產(chǎn)環(huán) 境中成功運(yùn)行,因此,在構(gòu)建部署應(yīng)用的生產(chǎn)環(huán)境時(shí),還需要設(shè)置影響應(yīng)用運(yùn)行結(jié)果的配置 項(xiàng)(Configuration Item),從而構(gòu)建出更加可靠的生產(chǎn)環(huán)境。
[0005] 然而,這些配置項(xiàng)都需要開(kāi)發(fā)人員手動(dòng)地配置,一旦開(kāi)發(fā)人員對(duì)配置項(xiàng)的識(shí)別未 能納入自動(dòng)構(gòu)建系統(tǒng),或者被自動(dòng)構(gòu)建系統(tǒng)錯(cuò)誤地納入,就會(huì)導(dǎo)致最終構(gòu)建出的生產(chǎn)環(huán)境 出現(xiàn)錯(cuò)誤,使應(yīng)用在生產(chǎn)環(huán)境中部署失敗。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明提供一種應(yīng)用部署方法及裝置,可以識(shí)別出影響應(yīng)用運(yùn)行結(jié)果的配置項(xiàng), 從而提高構(gòu)建出的生產(chǎn)環(huán)境的可靠性,降低應(yīng)用部署失敗的風(fēng)險(xiǎn)。
[0007] 為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0008] 第一方面,本發(fā)明提供一種應(yīng)用部署方法,包括:獲取第一配置項(xiàng),該第一配置項(xiàng) 為開(kāi)發(fā)環(huán)境在運(yùn)行應(yīng)用的可執(zhí)行代碼之前與運(yùn)行該應(yīng)用的可執(zhí)行代碼之后發(fā)生變化的數(shù) 據(jù);獲取第二配置項(xiàng),該第二配置項(xiàng)為運(yùn)行該可執(zhí)行代碼之前的開(kāi)發(fā)環(huán)境與初始生產(chǎn)環(huán)境 之間不相同的數(shù)據(jù);這樣,根據(jù)該第一配置項(xiàng)和該第二配置項(xiàng),可修正該初始生產(chǎn)環(huán)境的配 置項(xiàng)內(nèi)容,得到可靠性更高的修正生產(chǎn)環(huán)境;那么,將該應(yīng)用部署至該修正生產(chǎn)環(huán)境中后, 可提高應(yīng)用部署的成功率。
[0009] 另外,本次應(yīng)用部署時(shí)得到的修正生產(chǎn)環(huán)境,可以作為下一次應(yīng)用部署時(shí)的初始 生產(chǎn)環(huán)境,進(jìn)而通過(guò)再次獲取第一配置項(xiàng)和第一配置項(xiàng),又可以得到下一次應(yīng)用部署時(shí)的 配置項(xiàng),從而實(shí)現(xiàn)有效的反饋調(diào)節(jié)機(jī)制以重復(fù)部署應(yīng)用。
[0010] 在一種可能的設(shè)計(jì)中,獲取第一配置項(xiàng),包括:在該開(kāi)發(fā)環(huán)境中運(yùn)行該應(yīng)用的可執(zhí) 行代碼之前,保存該開(kāi)發(fā)環(huán)境的第一快照信息;在該開(kāi)發(fā)環(huán)境中成功運(yùn)行該應(yīng)用的可執(zhí)行 代碼之后,保存該開(kāi)發(fā)環(huán)境的第二快照信息;根據(jù)該第二快照信息中與該第一快照信息不 同的部分,確定該第一配置項(xiàng)。
[0011] 其中,根據(jù)該第二快照信息中與該第一快照信息不同的部分,確定該第一配置項(xiàng), 包括:將該第二快照信息中與該第一快照信息不同的差別數(shù)據(jù)作為第一配置項(xiàng)。
[0012] 或者,根據(jù)所述第二快照信息中與所述第一快照信息不同的差別數(shù)據(jù),在預(yù)設(shè)的 配置字典中查找與所述差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù),所述配置字典中存儲(chǔ)有所述差別數(shù)據(jù)與 差別內(nèi)容之間的映射關(guān)系;將查找到的與所述差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù)作為第一配置項(xiàng)。
[0013] 在一種可能的設(shè)計(jì)中,獲取第二配置項(xiàng),包括:在該初始生產(chǎn)環(huán)境中運(yùn)行該應(yīng)用的 可執(zhí)行代碼之前,保存該初始生產(chǎn)環(huán)境的第三快照信息;根據(jù)該第三快照信息中與該第一 快照信息不同的部分,確定該第二配置項(xiàng)。
[0014] 這樣,應(yīng)用部署裝置通過(guò)兩次快照對(duì)比,識(shí)別出影響應(yīng)用運(yùn)行結(jié)果的第一配置項(xiàng) 和第二配置項(xiàng),以便于后續(xù)為應(yīng)用構(gòu)建出更加可靠的修正生產(chǎn)環(huán)境。
[0015] 在一種可能的設(shè)計(jì)中,根據(jù)該第一配置項(xiàng)和該第二配置項(xiàng)修正該初始生產(chǎn)環(huán)境的 配置項(xiàng)內(nèi)容,得到修正生產(chǎn)環(huán)境,包括:若該第一配置項(xiàng)和該第二配置項(xiàng)中沒(méi)有公共配置 項(xiàng),則將該第一配置項(xiàng)復(fù)制到該配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境,該公共配置項(xiàng)為該第一 配置項(xiàng)和該第二配置項(xiàng)的交集。
[0016] 或者,根據(jù)該第一配置項(xiàng)和該第二配置項(xiàng)修正該初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,得 到修正生產(chǎn)環(huán)境,包括:若該第一配置項(xiàng)和該第二配置項(xiàng)中沒(méi)有公共配置項(xiàng),則在預(yù)設(shè)的配 置字典中查找與該第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng),該公共配置項(xiàng)為該第一配置項(xiàng)和該第二 配置項(xiàng)的交集;將查找到的與該第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到該配置項(xiàng)內(nèi)容中,得 到修正生產(chǎn)環(huán)境。
[0017] 相應(yīng)的,若該第一配置項(xiàng)和該第二配置項(xiàng)中包含公共配置項(xiàng),則還包括:將該第一 配置項(xiàng)中除該公共配置項(xiàng)外的配置項(xiàng),復(fù)制到該初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中,得到修正 生產(chǎn)環(huán)境。
[0018] 在一種可能的設(shè)計(jì)中,在將該第一配置項(xiàng)中除該公共配置項(xiàng)外的配置項(xiàng),復(fù)制到 該初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中之后,還包括:在預(yù)設(shè)的配置字典中查找與該公共配置項(xiàng) 對(duì)應(yīng)的替換配置項(xiàng);將查找到的與該公共配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到該配置項(xiàng)內(nèi)容 中,得到修正生產(chǎn)環(huán)境。
[0019] 在一種可能的設(shè)計(jì)中,在根據(jù)該第一配置項(xiàng)和該第二配置項(xiàng)修正該初始生產(chǎn)環(huán)境 的配置項(xiàng)內(nèi)容之后,還包括:對(duì)該修正生產(chǎn)環(huán)境進(jìn)行測(cè)試;若測(cè)試結(jié)果不符合預(yù)設(shè)的測(cè)試結(jié) 果,由于預(yù)先存儲(chǔ)有初始生產(chǎn)環(huán)境(即上一次成功部署應(yīng)用時(shí)構(gòu)建出的修正生產(chǎn)環(huán)境)的快 照,因此,可將上述修正生產(chǎn)環(huán)境還原至初始生產(chǎn)環(huán)境,以便于開(kāi)發(fā)人員在上一次成功部署 應(yīng)用時(shí)構(gòu)建出的修正生產(chǎn)環(huán)境的基礎(chǔ)上,進(jìn)行修改和調(diào)試。
[0020] 第二方面,本發(fā)明實(shí)施例提供一種應(yīng)用部署裝置,包括:獲取單元,用于獲取第一 配置項(xiàng)以及第二配置項(xiàng),其中,該第一配置項(xiàng)為開(kāi)發(fā)環(huán)境在運(yùn)行應(yīng)用的可執(zhí)行代碼之前與 運(yùn)行該應(yīng)用的可執(zhí)行代碼之后發(fā)生變化的數(shù)據(jù),該第二配置項(xiàng)為運(yùn)行該可執(zhí)行代碼之前的 開(kāi)發(fā)環(huán)境與初始生產(chǎn)環(huán)境之間不相同的數(shù)據(jù);環(huán)境構(gòu)建單元,用于根據(jù)該第一配置項(xiàng)和該 第二配置項(xiàng)修正該初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,得到修正生產(chǎn)環(huán)境;部署單元,用于將該應(yīng) 用部署至該修正生產(chǎn)環(huán)境中。
[0021] 在一種可能的設(shè)計(jì)中,該裝置還包括:快照單元,用于在該開(kāi)發(fā)環(huán)境中運(yùn)行該應(yīng)用 的可執(zhí)行代碼之前,保存該開(kāi)發(fā)環(huán)境的第一快照信息;以及,在該開(kāi)發(fā)環(huán)境中成功運(yùn)行該應(yīng) 用的可執(zhí)行代碼之后,保存該開(kāi)發(fā)環(huán)境的第二快照信息;對(duì)比單元,用于根據(jù)該第二快照信 息中與該第一快照信息不同的部分,確定該第一配置項(xiàng)。
[0022] 在一種可能的設(shè)計(jì)中,該對(duì)比單元,具體用于將該第二快照信息中與該第一快照 信息不同的差別數(shù)據(jù),以及該差別數(shù)據(jù)的內(nèi)容作為第一配置項(xiàng)。
[0023] 或者,該對(duì)比單元,具體用于根據(jù)該第二快照信息中與該第一快照信息不同的差 別數(shù)據(jù),在預(yù)設(shè)的配置字典中查找與該差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù),該配置字典中存儲(chǔ)有該 差別數(shù)據(jù)與替換數(shù)據(jù)之間的映射關(guān)系;將查找到的與該差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù)作為第一 配置項(xiàng)。
[0024] 在一種可能的設(shè)計(jì)中,該快照單元,還用于在該初始生產(chǎn)環(huán)境中運(yùn)行該應(yīng)用的可 執(zhí)行代碼之前,保存該初始生產(chǎn)環(huán)境的第三快照信息;該對(duì)比單元,還用于根據(jù)該第三快照 信息中與該第一快照信息不同的部分,確定該第二配置項(xiàng)。
[0025] 在一種可能的設(shè)計(jì)中,該環(huán)境構(gòu)建單元,具體用于若該第一配置項(xiàng)和該第二配置 項(xiàng)中沒(méi)有公共配置項(xiàng),則將該第一配置項(xiàng)復(fù)制到該配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境,該公 共配置項(xiàng)為該第一配置項(xiàng)和該第二配置項(xiàng)的交集。
[0026] 在一種可能的設(shè)計(jì)中,該環(huán)境構(gòu)建單元,具體用于若該第一配置項(xiàng)和該第二配置 項(xiàng)中沒(méi)有公共配置項(xiàng),則在預(yù)設(shè)的配置字典中查找與該第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng),該 公共配置項(xiàng)為該第一配置項(xiàng)和該第二配置項(xiàng)的交集;以及,將查找到的與該第一配置項(xiàng)對(duì) 應(yīng)的替換配置項(xiàng)復(fù)制到該配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境。
[0027] 在一種可能的設(shè)計(jì)中,該環(huán)境構(gòu)建單元,還用于若該第一配置項(xiàng)和該第二配置項(xiàng) 中包含公共配置項(xiàng),則將該第一配置項(xiàng)中除該公共配置項(xiàng)外的配置項(xiàng),復(fù)制到該初始生產(chǎn) 環(huán)境的配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境。
[0028] 在一種可能的設(shè)計(jì)中,該環(huán)境構(gòu)建單元,還用于在預(yù)設(shè)的配置字典中查找與該公 共配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng);將查找到的與該公共配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到該配置 項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境。
[0029] 在一種可能的設(shè)計(jì)中,該裝置還包括:測(cè)試單元,用于對(duì)該修正生產(chǎn)環(huán)境進(jìn)行測(cè) 試;回滾單元,用于若測(cè)試結(jié)果不符合預(yù)設(shè)的測(cè)試結(jié)果,則將該修正生產(chǎn)環(huán)境還原至該初始 生產(chǎn)環(huán)境。
[0030] 第三方面,本發(fā)明實(shí)施例提供了一種應(yīng)用管理設(shè)備,該應(yīng)用管理設(shè)備具有實(shí)現(xiàn)上 述方法中應(yīng)用部署裝置行為的功能。所述功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相 應(yīng)的軟件實(shí)現(xiàn)。所述硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。
[0031] 在一個(gè)可能的設(shè)計(jì)中,應(yīng)用管理設(shè)備的結(jié)構(gòu)中包括處理器和存儲(chǔ)器,所述存儲(chǔ)器 用于存儲(chǔ)支持應(yīng)用管理設(shè)備執(zhí)行上述方法的應(yīng)用程序代碼,所述處理器被配置為用于執(zhí)行 所述存儲(chǔ)器中存儲(chǔ)的應(yīng)用程序。所述應(yīng)用管理設(shè)備還可以包括通信接口,用于管理設(shè)備與 其他設(shè)備或通信網(wǎng)絡(luò)通信。
[0032] 第四方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述應(yīng)用部署 裝置所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面為管理設(shè)備所設(shè)計(jì)的程序。
[0033] 本發(fā)明中,應(yīng)用部署裝置的名字對(duì)設(shè)備本身不構(gòu)成限定,在實(shí)際實(shí)現(xiàn)中,這些設(shè)備 可以以其他名稱出現(xiàn)。只要各個(gè)設(shè)備的功能和本發(fā)明類(lèi)似,屬于本發(fā)明權(quán)利要求及其等同 技術(shù)的范圍之內(nèi)。
[0034] 另外,第二方面至第四方面中任一種設(shè)計(jì)方式所帶來(lái)的技術(shù)效果可參見(jiàn)第一方面 中不同設(shè)計(jì)方式所帶來(lái)的技術(shù)效果,此處不再贅述。
[0035] 本發(fā)明的這些方面或其他方面在以下實(shí)施例的描述中會(huì)更加簡(jiǎn)明易懂。
【附圖說(shuō)明】
[0036] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹。
[0037] 圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用部署裝置的結(jié)構(gòu)示意圖;
[0038] 圖2為本發(fā)明實(shí)施例提供的一種應(yīng)用部署裝置的原理示意圖;
[0039] 圖3為本發(fā)明實(shí)施例提供的一種應(yīng)用部署方法的流程示意圖;
[0040] 圖4為本發(fā)明實(shí)施例提供的一種應(yīng)用管理設(shè)備的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0041] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。
[0042] 另外,術(shù)語(yǔ)"第一"、"第二"僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性 或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有"第一"、"第二"的特征可以明示或者 隱含地包括一個(gè)或者更多個(gè)該特征。在本發(fā)明的描述中,除非另有說(shuō)明,"多個(gè)"的含義是兩 個(gè)或兩個(gè)以上。
[0043]本發(fā)明的實(shí)施例提供一種應(yīng)用部署方法,可應(yīng)用于基于DevOps(開(kāi)發(fā)運(yùn)維一體化, 是一組過(guò)程、方法與系統(tǒng)的統(tǒng)稱)技術(shù)的應(yīng)用開(kāi)發(fā)和部署過(guò)程中。
[0044] 具體的,一個(gè)互聯(lián)網(wǎng)應(yīng)用可以使用多種開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)方式完成源代碼的編寫(xiě)和 開(kāi)發(fā),同時(shí),為了使應(yīng)用能夠正確運(yùn)行,還需要設(shè)置應(yīng)用所在運(yùn)行環(huán)境的配置項(xiàng)內(nèi)容,例如, 應(yīng)用的修改腳本等。
[0045] 但是,應(yīng)用的開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境之間可能存在規(guī)模差異、部署區(qū)域差異等,因 此,開(kāi)發(fā)人員在開(kāi)發(fā)環(huán)境中成功運(yùn)行應(yīng)用后,并不能保證可以在實(shí)際投產(chǎn)的生產(chǎn)環(huán)境中成 功運(yùn)行該應(yīng)用,因此,在構(gòu)建生產(chǎn)環(huán)境時(shí)通常由開(kāi)發(fā)人員提前識(shí)別和設(shè)置配置項(xiàng)內(nèi)容中會(huì) 影響應(yīng)用運(yùn)行結(jié)果的配置項(xiàng),這種人工部署和調(diào)測(cè)不僅會(huì)導(dǎo)致重復(fù)投入問(wèn)題,而且,對(duì)于應(yīng) 用版本更新頻率較快,應(yīng)用部署規(guī)模較大的應(yīng)用場(chǎng)景,還會(huì)增加應(yīng)用部署失敗的風(fēng)險(xiǎn)。
[0046] 對(duì)此,本發(fā)明實(shí)施例提供的應(yīng)用部署方法及裝置,可以通過(guò)對(duì)比應(yīng)用在開(kāi)發(fā)前后 的運(yùn)行環(huán)境,自動(dòng)識(shí)別出影響應(yīng)用運(yùn)行結(jié)果的配置項(xiàng),從而構(gòu)建出更加可靠的生產(chǎn)環(huán)境,在 部署應(yīng)用的過(guò)程中形成有效的反饋調(diào)節(jié)機(jī)制,從而降低應(yīng)用部署失敗的風(fēng)險(xiǎn)。
[0047] 其中,本發(fā)明實(shí)施例提供的應(yīng)用部署方法,可應(yīng)用在圖1所示的應(yīng)用部署裝置100 中,該應(yīng)用部署裝置100包括快照單元11、與快照單元11相連的對(duì)比單元12,與對(duì)比單元12 相連的環(huán)境構(gòu)建單元02,以及與環(huán)境構(gòu)建單元02相連的部署單元03,其中,該環(huán)境構(gòu)建單元 02還可以與存儲(chǔ)有各個(gè)版本的應(yīng)用的版本庫(kù)04相連。
[0048] 具體的,如圖2所示,快照單元11可以在開(kāi)發(fā)前,即運(yùn)行應(yīng)用的可執(zhí)行代碼之前,保 存開(kāi)發(fā)環(huán)境的第一快照信息,并在開(kāi)發(fā)后,即成功運(yùn)行應(yīng)用的可執(zhí)行代碼之后,保存開(kāi)發(fā)環(huán) 境的第二快照信息,此時(shí),對(duì)比單元12用于對(duì)快照單元11中存儲(chǔ)的第一快照信息和第二快 照信息進(jìn)行對(duì)比,識(shí)別出應(yīng)用在開(kāi)發(fā)環(huán)境中成功運(yùn)行所需的第一配置項(xiàng),進(jìn)而,在部署準(zhǔn)備 階段,快照單元11還可以保存初始生產(chǎn)環(huán)境的第三快照信息;而對(duì)比單元12可用于比較第 一快照信息與第三快照信息之間的不同信息,識(shí)別出應(yīng)用在初始生產(chǎn)環(huán)境中成功運(yùn)行所需 的第二配置項(xiàng),并將第一配置項(xiàng)和第二配置項(xiàng)輸出到環(huán)境構(gòu)建單元02,這樣,在部署階段, 環(huán)境構(gòu)建單元02根據(jù)第一配置項(xiàng)和第二配置項(xiàng)設(shè)置初始生產(chǎn)環(huán)境中的配置項(xiàng)內(nèi)容,并從版 本庫(kù)04中得到應(yīng)用軟件,執(zhí)行自動(dòng)構(gòu)建功能,得到修正后的修正生產(chǎn)環(huán)境,最后,部署單元 03將應(yīng)用部署到修正生產(chǎn)環(huán)境上,完成應(yīng)用部署。
[0049] 可以看出,如果開(kāi)發(fā)環(huán)境和初始生產(chǎn)環(huán)境一致,可直接在初始生產(chǎn)環(huán)境的配置項(xiàng) 內(nèi)容中設(shè)置上述第一配置項(xiàng),得到修正生產(chǎn)環(huán)境,這樣便可以使應(yīng)用在修正生產(chǎn)環(huán)境中成 功運(yùn)行;當(dāng)開(kāi)發(fā)環(huán)境和初始生產(chǎn)環(huán)境不一致時(shí),需要在初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中同時(shí) 設(shè)置上述第一配置項(xiàng)和第二配置項(xiàng),得到修正生產(chǎn)環(huán)境,從而將應(yīng)用部署到上述修正生產(chǎn) 環(huán)境中,使應(yīng)用可以成功運(yùn)行。
[0050] 其中,快照單元11和對(duì)比單元12也可以由獲取單元01代替,此時(shí),獲取單元01用于 向環(huán)境構(gòu)建單元02提供影響應(yīng)用運(yùn)行結(jié)果的配置項(xiàng),例如,上述第一配置項(xiàng)和第二配置項(xiàng)。
[0051] 另外,本次應(yīng)用部署時(shí)得到的修正生產(chǎn)環(huán)境,可以作為下一次應(yīng)用部署時(shí)的初始 生產(chǎn)環(huán)境,進(jìn)而通過(guò)快照單元11和對(duì)比單元12,又可以得到下一次應(yīng)用部署時(shí)的各個(gè)配置 項(xiàng),從而實(shí)現(xiàn)有效的反饋調(diào)節(jié)機(jī)制以重復(fù)部署應(yīng)用。
[0052] 進(jìn)一步地,仍如圖1所示,應(yīng)用部署裝置100還可以包括測(cè)試單元05和回滾單元06, 其中,測(cè)試單元05,可用于對(duì)構(gòu)建的修正生產(chǎn)環(huán)境進(jìn)行測(cè)試,以驗(yàn)證修正生產(chǎn)環(huán)境是否正 常;此時(shí),用于若測(cè)試結(jié)果不正常,由于快照單元11內(nèi)存儲(chǔ)有初始生產(chǎn)環(huán)境(即上一次成功 部署應(yīng)用時(shí)構(gòu)建出的修正生產(chǎn)環(huán)境)的快照,因此,回滾單元06可用于將修正生產(chǎn)環(huán)境還原 至初始生產(chǎn)環(huán)境,以便于開(kāi)發(fā)人員在上一次成功部署應(yīng)用時(shí)構(gòu)建出的修正生產(chǎn)環(huán)境的基礎(chǔ) 上,進(jìn)行修改和調(diào)試。
[0053]需要說(shuō)明的是,在本發(fā)明實(shí)例中,上述應(yīng)用部署裝置100中的各個(gè)功能單元,例如, 快照單元11、對(duì)比單元12以及環(huán)境構(gòu)建單元02等,可以以邏輯功能模塊的形式集成在一個(gè) 實(shí)體設(shè)備中,又或者,上述各個(gè)功能單元可以以邏輯功能模塊的形式分別設(shè)置在一個(gè)或多 個(gè)實(shí)體設(shè)備中,此時(shí),應(yīng)用部署裝置100以系統(tǒng)的形式實(shí)現(xiàn)上述應(yīng)用部署方法,本發(fā)明實(shí)施 例對(duì)此不做限定。
[0054]進(jìn)一步地,為了更清楚地介紹本發(fā)明實(shí)施例提供的應(yīng)用部署方法,下文中均以邏 輯功能模塊作為執(zhí)行主體進(jìn)行說(shuō)明,本領(lǐng)域技術(shù)人員可以理解,邏輯功能模塊在具體實(shí)現(xiàn) 時(shí)需依賴于其所在的實(shí)體設(shè)備上的硬件資源。
[0055] 基于圖1以及圖2所示的應(yīng)用部署裝置,本發(fā)明實(shí)施例提供一種應(yīng)用部署方法,如 圖3所示,該應(yīng)用部署方法包括:
[0056] 101、在開(kāi)發(fā)環(huán)境內(nèi)運(yùn)行應(yīng)用的可執(zhí)行代碼之前,應(yīng)用部署裝置保存開(kāi)發(fā)環(huán)境的第 一快照信息。
[0057] 102、在開(kāi)發(fā)環(huán)境內(nèi)成功運(yùn)行該應(yīng)用的可執(zhí)行代碼之后,應(yīng)用部署裝置保存該開(kāi)發(fā) 環(huán)境的第二快照信息。
[0058] 103、應(yīng)用部署裝置比較第一快照信息與第二快照信息,根據(jù)第二快照信息中與第 一快照信息不同的部分,確定第一配置項(xiàng)。
[0059] 104、在初始生產(chǎn)環(huán)境中運(yùn)行該應(yīng)用的可執(zhí)行代碼之前,應(yīng)用部署裝置保存該初始 生產(chǎn)環(huán)境的第三快照信息。
[0060] 105、應(yīng)用部署裝置比較第一快照信息與第三快照信息,根據(jù)第三快照信息中與第 一快照信息不同的部分,確定第二配置項(xiàng)。
[0061] 106、應(yīng)用部署裝置判斷第一配置項(xiàng)和第二配置項(xiàng)中是否含有公共配置項(xiàng),該公共 配置項(xiàng)為第一配置項(xiàng)和第二配置項(xiàng)的交集。
[0062] 107a、若包括公共配置項(xiàng),則應(yīng)用部署裝置將第一配置項(xiàng)中除公共配置項(xiàng)外的配 置項(xiàng),復(fù)制到初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中。
[0063] 108a、(可選的)應(yīng)用部署裝置在預(yù)設(shè)的配置字典中查找與該公共配置項(xiàng)對(duì)應(yīng)的替 換配置項(xiàng);并將查找到的與該公共配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)也復(fù)制到上述配置項(xiàng)內(nèi)容中, 得到修正生產(chǎn)環(huán)境。
[0064] 107b、若不包括公共配置項(xiàng),則應(yīng)用部署裝置將第一配置項(xiàng)復(fù)制到初始生產(chǎn)環(huán)境 的配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境?;蛘?,
[0065] 108b、若不包括公共配置項(xiàng),則應(yīng)用部署裝置在預(yù)設(shè)的配置字典中查找與第一配 置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng);并將查找到的與第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到上述配置項(xiàng) 內(nèi)容中,得到修正生產(chǎn)環(huán)境。
[0066] 109、應(yīng)用部署裝置將應(yīng)用部署至上述修正生產(chǎn)環(huán)境中。
[0067] 110、應(yīng)用部署裝置對(duì)上述修正生產(chǎn)環(huán)境進(jìn)行測(cè)試。
[0068] 111、若測(cè)試結(jié)果不符合預(yù)設(shè)的測(cè)試結(jié)果,則應(yīng)用部署裝置將上述修正生產(chǎn)環(huán)境還 原至初始生產(chǎn)環(huán)境。
[0069] 其中,開(kāi)發(fā)環(huán)境,指的是應(yīng)用的開(kāi)發(fā)人員在進(jìn)行源代碼編譯以及測(cè)試過(guò)程中所使 用的環(huán)境,例如,開(kāi)發(fā)應(yīng)用A使用的測(cè)試服務(wù)器或測(cè)試手機(jī)等。
[0070] 在步驟101中,在開(kāi)發(fā)環(huán)境內(nèi)運(yùn)行應(yīng)用的可執(zhí)行代碼之前,快照單元11可以對(duì)此時(shí) 的開(kāi)發(fā)環(huán)境進(jìn)行快照,得到開(kāi)發(fā)環(huán)境的第一快照信息。
[0071] 例如,當(dāng)開(kāi)發(fā)人員使用計(jì)算機(jī)編寫(xiě)和運(yùn)行網(wǎng)頁(yè)服務(wù)這一應(yīng)用的可執(zhí)行代碼時(shí),這 臺(tái)計(jì)算機(jī)便可以作為開(kāi)發(fā)環(huán)境,在該計(jì)算機(jī)上運(yùn)行網(wǎng)頁(yè)服務(wù)的可執(zhí)行代碼之前,快照單元 11可以通過(guò)文件備份、數(shù)據(jù)庫(kù)備份技術(shù)等數(shù)據(jù)復(fù)制手段,將開(kāi)發(fā)環(huán)境(即該計(jì)算機(jī))的全部 信息完整地保存下來(lái),得到第一快照信息。
[0072]再例如,當(dāng)開(kāi)發(fā)人員使用計(jì)算機(jī)編寫(xiě)手機(jī)APP(Application,應(yīng)用)時(shí),開(kāi)發(fā)人員使 用的計(jì)算機(jī)不被認(rèn)為是所述開(kāi)發(fā)環(huán)境,只有使用的測(cè)試手機(jī)是開(kāi)發(fā)環(huán)境,在該測(cè)試手機(jī)上 運(yùn)行手機(jī)APP的可執(zhí)行代碼之前,快照單元11可以通過(guò)手機(jī)系統(tǒng)備份、文件備份、內(nèi)存導(dǎo)出 等數(shù)據(jù)復(fù)制手段,將開(kāi)發(fā)環(huán)境(即該測(cè)試手機(jī))的全部信息完整地保存下來(lái),得到第一快照 信息。
[0073]進(jìn)而,開(kāi)發(fā)人員可以在開(kāi)發(fā)環(huán)境內(nèi)對(duì)應(yīng)用的源代碼進(jìn)行編寫(xiě)、編譯、調(diào)試等,當(dāng)該 應(yīng)用在開(kāi)發(fā)環(huán)境內(nèi)成功運(yùn)行后,在步驟102中,快照單元11可以對(duì)此時(shí)的開(kāi)發(fā)環(huán)境再次進(jìn)行 快照,得到開(kāi)發(fā)環(huán)境的第二快照信息。
[0074]例如,當(dāng)上述網(wǎng)頁(yè)服務(wù)或手機(jī)APP可成功在開(kāi)發(fā)環(huán)境內(nèi)運(yùn)行時(shí),類(lèi)似的,快照單元 11可以通過(guò)文件備份、數(shù)據(jù)庫(kù)備份、內(nèi)存導(dǎo)出技術(shù)等數(shù)據(jù)復(fù)制手段,將此時(shí)計(jì)算機(jī)(或手機(jī)) 的全部信息完整地保存下來(lái),得到第二快照信息。
[0075] 那么,在步驟103中,對(duì)比單元12可進(jìn)一步比較上述第一快照信息與第二快照信 息,找到第二快照信息中與第一快照信息不同的數(shù)據(jù)(即差別數(shù)據(jù)),例如,經(jīng)過(guò)比較后可發(fā) 現(xiàn)第二快照信息中的參數(shù)發(fā)生了增減,或參數(shù)的數(shù)值發(fā)生變化,又或者,是某個(gè)文件(例如, 可執(zhí)行代碼、庫(kù)文件等)發(fā)生增刪,進(jìn)而,根據(jù)第二快照信息中與第一快照信息不同的數(shù)據(jù), 確定第一配置項(xiàng),即該應(yīng)用在開(kāi)發(fā)環(huán)境中成功運(yùn)行所需的配置項(xiàng)。
[0076] 例如,如表1所示,通過(guò)對(duì)比第一快照信息與第二快照信息,可確定參數(shù)A、B在成功 運(yùn)行應(yīng)用前后的取值發(fā)生了改變,并且,在成功運(yùn)行應(yīng)用后還增加了文件C,此時(shí),不在步驟 103中,可將第二快照信息中參數(shù)A、B、文件C以及參數(shù)A、B、文件C的取值這些差別數(shù)據(jù)作為 第一配置項(xiàng),也就是說(shuō),要想成功運(yùn)行該應(yīng)用,需要改變開(kāi)發(fā)環(huán)境中參數(shù)A、B的取值,并增加 文件C。
[0077] 表 1
[0079] 又或者,對(duì)比單元12在比較上述第一快照信息與第二快照信息之后,可確定出第 一快照信息與第二快照信息中發(fā)生變化的數(shù)據(jù)(即差別數(shù)據(jù)),例如上述參數(shù)A和B的取值改 變,且第二快照信息中新增加了文件C,此時(shí),參數(shù)A、B、C為上述差別數(shù)據(jù),那么,對(duì)比單元12 可進(jìn)一步在預(yù)設(shè)的配置字典中,根據(jù)上述差別數(shù)據(jù)的標(biāo)識(shí)和/或類(lèi)型,查找與該差別數(shù)據(jù)對(duì) 應(yīng)的替換數(shù)據(jù),例如,上述參數(shù)A的替換數(shù)據(jù)為1110;進(jìn)而,將查找到的與上述差別數(shù)據(jù)對(duì)應(yīng) 的替換數(shù)據(jù)作為第一配置項(xiàng)。
[0080] 其中,上述配置字典中預(yù)先存儲(chǔ)有至少一個(gè)數(shù)據(jù)(例如任意參數(shù)、配置項(xiàng)、文件或 程序),以及每個(gè)數(shù)據(jù)在生產(chǎn)環(huán)境中對(duì)應(yīng)的替換數(shù)據(jù)或替換配置的取值規(guī)則,即存儲(chǔ)有每個(gè) 數(shù)據(jù)與該數(shù)據(jù)的替換數(shù)據(jù)之間的映射關(guān)系,例如,配置項(xiàng)Y的替換配置項(xiàng)為配置項(xiàng)M;參數(shù)A 指示的是內(nèi)存大小,該配置字典中可以存儲(chǔ)參數(shù)A的取值規(guī)則為:將第二快照信息中參數(shù)A 的取值乘以5作為第一配置項(xiàng)中參數(shù)A的取值,即在生產(chǎn)環(huán)境中運(yùn)行該應(yīng)用時(shí)內(nèi)存的大小可 以設(shè)置為第二快照信息中參數(shù)A的取值的5倍。
[0081] 由于應(yīng)用實(shí)際運(yùn)行的環(huán)境(即生產(chǎn)環(huán)境),通常與開(kāi)發(fā)環(huán)境存在許多差異,因此,若 想要應(yīng)用在生產(chǎn)環(huán)境中成功運(yùn)行,不僅需要在生產(chǎn)環(huán)境中安裝應(yīng)用的可執(zhí)行代碼,還需要 對(duì)應(yīng)用運(yùn)行的生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容進(jìn)行相應(yīng)的設(shè)置,也就是說(shuō),當(dāng)應(yīng)用成功在開(kāi)發(fā)環(huán)境 中運(yùn)行后,還需為應(yīng)用構(gòu)建可靠的生產(chǎn)環(huán)境,這一階段可稱為應(yīng)用的部署準(zhǔn)備階段。
[0082] 其中,本發(fā)明實(shí)施例中將構(gòu)建前的生產(chǎn)環(huán)境稱為初始生產(chǎn)環(huán)境,將構(gòu)建后形成的 生產(chǎn)環(huán)境稱為修正生產(chǎn)環(huán)境。
[0083] 具體的,在部署準(zhǔn)備階段,如步驟104中所述,在初始生產(chǎn)環(huán)境中運(yùn)行該應(yīng)用的可 執(zhí)行代碼之前,快照單元11可以保存該初始生產(chǎn)環(huán)境的第三快照信息。
[0084] 進(jìn)而,在步驟105中,對(duì)比單元12比較上述第三快照信息與步驟101中存儲(chǔ)的第一 快照信息,也就是說(shuō),通過(guò)第一快照信息和第三快照信息對(duì)比開(kāi)發(fā)前的開(kāi)發(fā)環(huán)境與初始生 產(chǎn)環(huán)境之間的差異。例如,經(jīng)過(guò)比較后可發(fā)現(xiàn)第三快照信息中的參數(shù)發(fā)生了增減,或參數(shù)的 數(shù)值發(fā)生變化,又或者,是某個(gè)文件(例如,可執(zhí)行代碼、庫(kù)文件等)發(fā)生增刪等。
[0085]可以理解的是,如果第一快照信息和第三快照信息完全相同,則說(shuō)明該初始生產(chǎn) 環(huán)境與未運(yùn)行該應(yīng)用前的開(kāi)發(fā)環(huán)境相同,此時(shí),為了使應(yīng)用可以在初始生產(chǎn)環(huán)境中成功運(yùn) 行,僅需要按照步驟103中得到的第一配置項(xiàng)對(duì)初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容進(jìn)行修改,即可 構(gòu)建出修正生產(chǎn)環(huán)境。
[0086]例如,當(dāng)?shù)谝豢煺招畔⒑偷谌煺招畔⑼耆嗤瑫r(shí),可將表1內(nèi)第二快照信息中參 數(shù)A、B、以及文件C的取值,覆蓋第三快照信息中相應(yīng)的參數(shù)A、B、以及文件C的取值,即可構(gòu) 建出修正生產(chǎn)環(huán)境。
[0087]然而,開(kāi)發(fā)環(huán)境與初始生產(chǎn)環(huán)境一般是不相同的,例如,開(kāi)發(fā)環(huán)境中可能只有一臺(tái) 設(shè)備,而初始生產(chǎn)環(huán)境則可能是幾千臺(tái)設(shè)備組成,此時(shí),與步驟103類(lèi)似的,對(duì)比單元12可根 據(jù)第三快照信息中與第一快照信息不同的部分,確定第二配置項(xiàng),即應(yīng)用在初始生產(chǎn)環(huán)境 中成功運(yùn)行時(shí)需要保留的配置參數(shù)。
[0088]例如,可以直接將第三快照信息中與第一快照信息不同的部分,即發(fā)生變化的差 異數(shù)據(jù)作為第二配置項(xiàng)。
[0089] 例如,如表2所示,通過(guò)對(duì)比第一快照信息與第三快照信息,可確定參數(shù)A的取值發(fā) 生了改變,也就是說(shuō),初始生產(chǎn)環(huán)境與開(kāi)發(fā)前的開(kāi)發(fā)環(huán)境相比,參數(shù)A可反映初始生產(chǎn)環(huán)境 的固有屬性的參數(shù),即參數(shù)A是應(yīng)用在初始生產(chǎn)環(huán)境中成功運(yùn)行所必需的,例如,當(dāng)參數(shù)A為 IP地址信息時(shí),第一快照信息與第三快照信息中的IP地址信息不同,如果單一的將第一快 照信息中的IP地址信息復(fù)制到第三快照信息中,將導(dǎo)致應(yīng)用無(wú)法在初始生產(chǎn)環(huán)境中正常運(yùn) 行。
[0090] 此時(shí),可將第三快照信息中參數(shù)A的取值作為第二配置項(xiàng),也就是說(shuō),要想在初始 生產(chǎn)環(huán)境中成功運(yùn)行該應(yīng)用,需要保留第三快照信息中的參數(shù)A。
[0091] 表2
[0093]又或者,對(duì)比單元12在比較上述第一快照信息與第三快照信息之后,可確定出第 三快照信息與第一快照信息中發(fā)生變化的差別數(shù)據(jù),例如上述參數(shù)A,那么,由于上述配置 字典中存儲(chǔ)有參數(shù)A在生產(chǎn)環(huán)境中對(duì)應(yīng)的替換數(shù)據(jù)或替換數(shù)據(jù)的取值規(guī)則,因此,對(duì)比單元 12可進(jìn)一步在上述配置字典中查找與該差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù);進(jìn)而,將查找到的與差 別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù)作為第二配置項(xiàng)。
[0094] 這樣,經(jīng)過(guò)上述步驟101-105,應(yīng)用部署裝置可通過(guò)兩次快照對(duì)比,識(shí)別出影響應(yīng) 用運(yùn)行結(jié)果的第一配置項(xiàng)和第二配置項(xiàng),以便于后續(xù)環(huán)境構(gòu)建單元02為應(yīng)用構(gòu)建出更加可 靠的修正生產(chǎn)環(huán)境。
[0095] 進(jìn)一步地,在步驟106中,環(huán)境構(gòu)建單元02根據(jù)對(duì)比單元12得到的第一配置項(xiàng)和第 二配置項(xiàng),判斷該第一配置項(xiàng)和第二配置項(xiàng)中是否有相同的配置項(xiàng)(本發(fā)明實(shí)施例中稱為 公共配置項(xiàng)),即該公共配置項(xiàng)為第一配置項(xiàng)和第二配置項(xiàng)的交集。
[0096] 例如,在表1和表2所指示的第一配置項(xiàng)和第二配置項(xiàng)中,由于參數(shù)A是第一配置項(xiàng) 和第二配置項(xiàng)的交集,因此,參數(shù)A可作為上述公共配置項(xiàng)。
[0097] 進(jìn)而,若第一配置項(xiàng)和第二配置項(xiàng)中包括公共配置項(xiàng),則執(zhí)行上述步驟107a-108a;若第一配置項(xiàng)和第二配置項(xiàng)中不包括公共配置項(xiàng),則執(zhí)行上述步驟107b或108b。
[0098] 具體的,在步驟107a中,若第一配置項(xiàng)和第二配置項(xiàng)中包括上述公共配置項(xiàng),例如 上述參數(shù)A,那么,環(huán)境構(gòu)建單元02可以保留初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中的參數(shù)A,即第三 快照信息中的參數(shù)A,并將第一配置項(xiàng)中除了該公共配置項(xiàng)外的其他配置項(xiàng),例如,上述第 二快照中的參數(shù)B、文件C以及參數(shù)B、文件C的取值,復(fù)制到初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中, 從而構(gòu)建出修正生產(chǎn)環(huán)境。
[0099] 進(jìn)一步,可選的,對(duì)于第一配置項(xiàng)和第二配置項(xiàng)中共同的公共配置項(xiàng),在步驟108a 中,環(huán)境構(gòu)建單元02也可以在上述配置字典中查找與該公共配置項(xiàng)對(duì)應(yīng)的替換配置;并將 查找到的與該公共配置項(xiàng)對(duì)應(yīng)的替換配置也復(fù)制到上述配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán) 境。
[0?00]相應(yīng)的,若第一配置項(xiàng)和第二配置項(xiàng)中不包括上述公共配置項(xiàng),則在步驟107b中, 環(huán)境構(gòu)建單元02可直接將第一配置項(xiàng)復(fù)制到初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中,從而構(gòu)建出修 正生產(chǎn)環(huán)境。
[0101] 又或者,若第一配置項(xiàng)和第二配置項(xiàng)中不包括上述公共配置項(xiàng),在步驟108b中,環(huán) 境構(gòu)建單元02可以在上述配置字典中查找與第一配置項(xiàng)對(duì)應(yīng)的替換配置;并將查找到的與 第一配置項(xiàng)對(duì)應(yīng)的替換配置復(fù)制到上述配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境。
[0102] 最后,在步驟109中,部署單元03可以從版本庫(kù)04中獲取上述應(yīng)用的源代碼進(jìn)行編 譯得到可執(zhí)行代碼,并將該可執(zhí)行代碼部署至上述構(gòu)建出的修正生產(chǎn)環(huán)境中,實(shí)現(xiàn)應(yīng)用的 自動(dòng)部署上線功能。
[0103] 進(jìn)一步可選的,應(yīng)用部署裝置還可以設(shè)置測(cè)試單元05對(duì)上述修正生產(chǎn)環(huán)境進(jìn)行測(cè) 試,例如,在上述修正生產(chǎn)環(huán)境中試運(yùn)行上述應(yīng)用的可執(zhí)行代碼,以檢測(cè)步驟中構(gòu)建出的修 正生產(chǎn)環(huán)境是否正常。
[0104] 進(jìn)而,在步驟111中,若上述測(cè)試結(jié)果不符合預(yù)設(shè)的測(cè)試結(jié)果,還可以設(shè)置回滾單 元06將上述修正生產(chǎn)環(huán)境還原至初始生產(chǎn)環(huán)境,由于該初始生產(chǎn)環(huán)境即為上一次成功部署 應(yīng)用時(shí)構(gòu)建出的修正生產(chǎn)環(huán)境,因此,還原至初始生產(chǎn)環(huán)境后方便開(kāi)發(fā)人員在上一次成功 部署應(yīng)用時(shí)的修正生產(chǎn)環(huán)境的基礎(chǔ)上,進(jìn)行修改和調(diào)試。
[0105] 至此,本發(fā)明提供一種應(yīng)用部署方法,可獲取到成功運(yùn)行應(yīng)用時(shí)需要設(shè)置的第一 配置項(xiàng)和第二配置項(xiàng),其中,該第一配置項(xiàng)為開(kāi)發(fā)環(huán)境在運(yùn)行應(yīng)用的可執(zhí)行代碼之前與運(yùn) 行所述應(yīng)用的可執(zhí)行代碼之后發(fā)生變化的數(shù)據(jù),該第二配置項(xiàng)為運(yùn)行所述可執(zhí)行代碼之前 的開(kāi)發(fā)環(huán)境與初始生產(chǎn)環(huán)境之間不相同的數(shù)據(jù);這樣,應(yīng)用部署裝置根據(jù)該第一配置項(xiàng)和 第二配置項(xiàng)修正初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,可構(gòu)建出可靠性更高的修正生產(chǎn)環(huán)境,那么, 將應(yīng)用部署至該修正生產(chǎn)環(huán)境中后,可提高應(yīng)用部署的成功率。
[0106] 另外,本發(fā)明實(shí)施例提供的上述應(yīng)用部署裝置100,可應(yīng)用在任一種可實(shí)現(xiàn)應(yīng)用部 署的應(yīng)用管理設(shè)備中,如圖4所示,為本發(fā)明實(shí)施例提供的一種應(yīng)用管理設(shè)備200的結(jié)構(gòu)示 意圖,本發(fā)明實(shí)施例提供的應(yīng)用管理設(shè)備200可以用于實(shí)施上述圖4所示的本發(fā)明各實(shí)施例 實(shí)現(xiàn)的方法,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示 的,請(qǐng)參照?qǐng)D4所示的本發(fā)明各實(shí)施例。
[0107] 其中,應(yīng)用管理設(shè)備200包括至少一個(gè)處理器11,通信總線12,存儲(chǔ)器13以及至少 一個(gè)通信接口 14。
[0108] 示例性的,圖1中對(duì)比單元12、環(huán)境構(gòu)建單元02、測(cè)試單元05以及回滾單元06的各 項(xiàng)功能,可以由上述處理器11執(zhí)行;而快照單元11內(nèi)存儲(chǔ)的快照信息可存儲(chǔ)在存儲(chǔ)器13內(nèi)。
[0109] 處理器11可以是一個(gè)通用中央處理器(CPU),微處理器,特定應(yīng)用集成電路 (application-specific integrated circuit,ASIC),或一個(gè)或多個(gè)用于控制本發(fā)明方案 程序執(zhí)行的集成電路。
[0110] 通信總線12可包括一通路,在上述組件之間傳送信息。所述通信接口 14,使用任何 收發(fā)器一類(lèi)的裝置,用于與其他設(shè)備或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無(wú)線接入網(wǎng)(RAN),無(wú)線局 域網(wǎng)(Wireless Local Area Networks,WLAN)等。
[0111] 存儲(chǔ)器13可以是只讀存儲(chǔ)器(read-only memory,R0M)或可存儲(chǔ)靜態(tài)信息和指令 的其他類(lèi)型的靜態(tài)存儲(chǔ)設(shè)備,隨機(jī)存取存儲(chǔ)器(random access memory,RAM)或者可存儲(chǔ)信 息和指令的其他類(lèi)型的動(dòng)態(tài)存儲(chǔ)設(shè)備,也可以是電可擦可編程只讀存儲(chǔ)器(Electrically Erasable Programmable Read-Only Memory,EEPR0M)、只讀光盤(pán)(Compact Disc Read-Only Memory,⑶-ROM)或其他光盤(pán)存儲(chǔ)、光碟存儲(chǔ)(包括壓縮光碟、激光碟、光碟、數(shù)字通用 光碟、藍(lán)光光碟等)、磁盤(pán)存儲(chǔ)介質(zhì)或者其他磁存儲(chǔ)設(shè)備、或者能夠用于攜帶或存儲(chǔ)具有指 令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì),但不限于此。 存儲(chǔ)器可以是獨(dú)立存在,通過(guò)通信總線與處理器相連接。存儲(chǔ)器也可以和處理器集成在一 起。
[0112] 其中,所述存儲(chǔ)器13用于存儲(chǔ)執(zhí)行本發(fā)明方案的應(yīng)用程序代碼,并由處理器11來(lái) 控制執(zhí)行。所述處理器11用于執(zhí)行所述存儲(chǔ)器13中存儲(chǔ)的應(yīng)用程序代碼。
[0113] 在具體實(shí)現(xiàn)中,作為一種實(shí)施例,處理器11可以包括一個(gè)或多個(gè)CPU,例如圖4中的 CPU0和CPU1。
[0114] 在具體實(shí)現(xiàn)中,作為一種實(shí)施例,應(yīng)用管理設(shè)備200可以包括多個(gè)處理器,例如圖4 中的處理器11和處理器18。這些處理器中的每一個(gè)可以是一個(gè)單核(Single-CPU)處理器, 也可以是一個(gè)多核(multi-CPU)處理器。這里的處理器可以指一個(gè)或多個(gè)設(shè)備、電路、和/或 用于處理數(shù)據(jù)(例如計(jì)算機(jī)程序指令)的處理核。
[0115]在具體實(shí)現(xiàn)中,作為一種實(shí)施例,應(yīng)用管理設(shè)備200還可以包括輸出設(shè)備15和輸入 設(shè)備16。輸出設(shè)備15和處理器11通信,可以以多種方式來(lái)顯示信息。例如,輸出設(shè)備15可以 是液晶顯不器(liquid crystal display,LCD),發(fā)光二級(jí)管(light emitting diode,LED) 顯示設(shè)備,陰極射線管(cathode ray tube,CRT)顯示設(shè)備,或投影儀(projector)等。輸入 設(shè)備16和處理器11通信,可以以多種方式接受用戶的輸入。例如,輸入設(shè)備16可以是鼠標(biāo)、 鍵盤(pán)、觸摸屏設(shè)備或傳感設(shè)備等。
[0116]上述的應(yīng)用管理設(shè)備200可以是一個(gè)通用計(jì)算機(jī)設(shè)備或者是一個(gè)專用計(jì)算機(jī)設(shè) 備。在具體實(shí)現(xiàn)中,應(yīng)用管理設(shè)備200可以是臺(tái)式機(jī)、便攜式電腦、網(wǎng)絡(luò)服務(wù)器、掌上電腦 (Personal Digital Assistant,PDA)、移動(dòng)手機(jī)、平板電腦、無(wú)線終端設(shè)備、通信設(shè)備、嵌入 式設(shè)備或有圖4中類(lèi)似結(jié)構(gòu)的設(shè)備。本發(fā)明實(shí)施例不限定應(yīng)用管理設(shè)備200的類(lèi)型。
[0117]需要說(shuō)明的是,由于圖1中快照單元11、對(duì)比單元12以及環(huán)境構(gòu)建單元02等各個(gè)功 能單元,可以以邏輯功能模塊的形式分別設(shè)置在一個(gè)或多個(gè)實(shí)體設(shè)備中,因此,可以設(shè)置多 個(gè)如圖4所示的應(yīng)用管理設(shè)備200分別實(shí)現(xiàn)圖1中部署裝置100內(nèi)各個(gè)功能單元的功能。
[0118] 例如,可以設(shè)置第一應(yīng)用管理設(shè)備執(zhí)行快照單元11的相應(yīng)功能,設(shè)置第二應(yīng)用管 理設(shè)備執(zhí)行對(duì)比單元12的相應(yīng)功能,設(shè)置第三應(yīng)用管理設(shè)備執(zhí)行環(huán)境構(gòu)建單元02的相應(yīng)功 能,并設(shè)置第四應(yīng)用管理設(shè)備執(zhí)行測(cè)試單元05和回滾單元06的相應(yīng)功能,本發(fā)明實(shí)施例對(duì) 此不做限定。
[0119] 至此,本發(fā)明提供一種應(yīng)用管理設(shè)備,可獲取到成功運(yùn)行應(yīng)用時(shí)需要設(shè)置的第一 配置項(xiàng)和第二配置項(xiàng),其中,該第一配置項(xiàng)為開(kāi)發(fā)環(huán)境在運(yùn)行應(yīng)用的可執(zhí)行代碼之前與運(yùn) 行所述應(yīng)用的可執(zhí)行代碼之后發(fā)生變化的數(shù)據(jù),該第二配置項(xiàng)為運(yùn)行所述可執(zhí)行代碼之前 的開(kāi)發(fā)環(huán)境與初始生產(chǎn)環(huán)境之間不相同的數(shù)據(jù);這樣,應(yīng)用部署裝置根據(jù)該第一配置項(xiàng)和 第二配置項(xiàng)修正初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,可構(gòu)建出可靠性更高的修正生產(chǎn)環(huán)境,那么, 將應(yīng)用部署至該修正生產(chǎn)環(huán)境中后,可提高應(yīng)用部署的成功率。
[0120] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能 模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模 塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功 能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò) 程,在此不再贅述。
[0121] 在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以 通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或 單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元 或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所 顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的 間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0122] 所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè) 網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目 的。
[0123] 另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單 元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0124] 所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用 時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上 或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式 體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī) 設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè) 實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器 (ROM,Read_Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán) 等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0125]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種應(yīng)用部署方法,其特征在于,包括: 獲取第一配置項(xiàng),所述第一配置項(xiàng)為開(kāi)發(fā)環(huán)境在運(yùn)行應(yīng)用的可執(zhí)行代碼之前與運(yùn)行所 述應(yīng)用的可執(zhí)行代碼之后發(fā)生變化的數(shù)據(jù); 獲取第二配置項(xiàng),所述第二配置項(xiàng)為運(yùn)行所述可執(zhí)行代碼之前的開(kāi)發(fā)環(huán)境與初始生產(chǎn) 環(huán)境之間不相同的數(shù)據(jù); 根據(jù)所述第一配置項(xiàng)和所述第二配置項(xiàng)修正所述初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,得到修 正生產(chǎn)環(huán)境; 將所述應(yīng)用部署至所述修正生產(chǎn)環(huán)境中。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取第一配置項(xiàng),包括: 在所述開(kāi)發(fā)環(huán)境中運(yùn)行所述應(yīng)用的可執(zhí)行代碼之前,保存所述開(kāi)發(fā)環(huán)境的第一快照信 息; 在所述開(kāi)發(fā)環(huán)境中成功運(yùn)行所述應(yīng)用的可執(zhí)行代碼之后,保存所述開(kāi)發(fā)環(huán)境的第二快 照信息; 根據(jù)所述第二快照信息中與所述第一快照信息不同的部分,確定所述第一配置項(xiàng)。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述第二快照信息中與所述第一快照 信息不同的部分,確定所述第一配置項(xiàng),包括: 將所述第二快照信息中與所述第一快照信息不同的差別數(shù)據(jù)作為第一配置項(xiàng)。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述第二快照信息中與所述第一快照 信息不同的部分,確定所述第一配置項(xiàng),包括: 根據(jù)所述第二快照信息中與所述第一快照信息不同的差別數(shù)據(jù),在預(yù)設(shè)的配置字典中 查找與所述差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù),所述配置字典中存儲(chǔ)有所述差別數(shù)據(jù)與差別內(nèi)容之 間的映射關(guān)系; 將查找到的與所述差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù)作為第一配置項(xiàng)。5. 根據(jù)權(quán)利要求2-4中任一項(xiàng)所述的方法,其特征在于,獲取第二配置項(xiàng),包括: 在所述初始生產(chǎn)環(huán)境中運(yùn)行所述應(yīng)用的可執(zhí)行代碼之前,保存所述初始生產(chǎn)環(huán)境的第 二快照?目息; 根據(jù)所述第三快照信息中與所述第一快照信息不同的部分,確定所述第二配置項(xiàng)。6. 根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,根據(jù)所述第一配置項(xiàng)和所述第 二配置項(xiàng)修正所述初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,得到修正生產(chǎn)環(huán)境,包括: 若所述第一配置項(xiàng)和所述第二配置項(xiàng)中沒(méi)有公共配置項(xiàng),則將所述第一配置項(xiàng)復(fù)制到 所述配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境,所述公共配置項(xiàng)為所述第一配置項(xiàng)和所述第二配 置項(xiàng)的交集。7. 根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,根據(jù)所述第一配置項(xiàng)和所述第 二配置項(xiàng)修正所述初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容,得到修正生產(chǎn)環(huán)境,包括: 若所述第一配置項(xiàng)和所述第二配置項(xiàng)中沒(méi)有公共配置項(xiàng),則在預(yù)設(shè)的配置字典中查找 與所述第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng),所述公共配置項(xiàng)為所述第一配置項(xiàng)和所述第二配置 項(xiàng)的交集,所述配置字典中存儲(chǔ)有所述第一配置項(xiàng)與替換配置項(xiàng)之間的對(duì)應(yīng)關(guān)系; 將查找到的與所述第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到所述配置項(xiàng)內(nèi)容中,得到修正 生產(chǎn)環(huán)境。8. 根據(jù)權(quán)利要求6或7所述的方法,其特征在于,若所述第一配置項(xiàng)和所述第二配置項(xiàng) 中包含公共配置項(xiàng),則還包括: 將所述第一配置項(xiàng)中除所述公共配置項(xiàng)外的配置項(xiàng),復(fù)制到所述初始生產(chǎn)環(huán)境的配置 項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境。9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,在將所述第一配置項(xiàng)中除所述公共配置項(xiàng) 外的配置項(xiàng),復(fù)制到所述初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容中之后,還包括: 在預(yù)設(shè)的配置字典中查找與所述公共配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng),所述配置字典中存儲(chǔ) 有所述公共配置項(xiàng)與替換配置項(xiàng)之間的對(duì)應(yīng)關(guān)系; 將查找到的與所述公共配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到所述配置項(xiàng)內(nèi)容中,得到修正 生產(chǎn)環(huán)境。10. 根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,在根據(jù)所述第一配置項(xiàng)和所 述第二配置項(xiàng)修正所述初始生產(chǎn)環(huán)境的配置項(xiàng)內(nèi)容之后,還包括: 對(duì)所述修正生產(chǎn)環(huán)境進(jìn)行測(cè)試; 若測(cè)試結(jié)果不符合預(yù)設(shè)的測(cè)試結(jié)果,則將所述修正生產(chǎn)環(huán)境還原至所述初始生產(chǎn)環(huán) 境。11. 一種應(yīng)用部署裝置,其特征在于,包括: 獲取單元,用于獲取第一配置項(xiàng)以及第二配置項(xiàng),其中,所述第一配置項(xiàng)為開(kāi)發(fā)環(huán)境在 運(yùn)行應(yīng)用的可執(zhí)行代碼之前與運(yùn)行所述應(yīng)用的可執(zhí)行代碼之后發(fā)生變化的數(shù)據(jù),所述第二 配置項(xiàng)為運(yùn)行所述可執(zhí)行代碼之前的開(kāi)發(fā)環(huán)境與初始生產(chǎn)環(huán)境之間不相同的數(shù)據(jù); 環(huán)境構(gòu)建單元,用于根據(jù)所述第一配置項(xiàng)和所述第二配置項(xiàng)修正所述初始生產(chǎn)環(huán)境的 配置項(xiàng)內(nèi)容,得到修正生產(chǎn)環(huán)境; 部署單元,用于將所述應(yīng)用部署至所述修正生產(chǎn)環(huán)境中。12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 快照單元,用于在所述開(kāi)發(fā)環(huán)境中運(yùn)行所述應(yīng)用的可執(zhí)行代碼之前,保存所述開(kāi)發(fā)環(huán) 境的第一快照信息;以及,在所述開(kāi)發(fā)環(huán)境中成功運(yùn)行所述應(yīng)用的可執(zhí)行代碼之后,保存所 述開(kāi)發(fā)環(huán)境的第二快照信息; 對(duì)比單元,用于根據(jù)所述第二快照信息中與所述第一快照信息不同的部分,確定所述 第一配置項(xiàng)。13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述對(duì)比單元,具體用于將所述第二快照信息中與所述第一快照信息不同的差別數(shù)據(jù) 作為第一配置項(xiàng)。14. 根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述對(duì)比單元,具體用于根據(jù)所述第二快照信息中與所述第一快照信息不同的差別數(shù) 據(jù),在預(yù)設(shè)的配置字典中查找與所述差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù),所述配置字典中存儲(chǔ)有所 述差別數(shù)據(jù)與差別內(nèi)容之間的映射關(guān)系;將查找到的與所述差別數(shù)據(jù)對(duì)應(yīng)的替換數(shù)據(jù)作為 第一配置項(xiàng)。15. 根據(jù)權(quán)利要求12-14中任一項(xiàng)所述的裝置,其特征在于, 所述快照單元,還用于在所述初始生產(chǎn)環(huán)境中運(yùn)行所述應(yīng)用的可執(zhí)行代碼之前,保存 所述初始生產(chǎn)環(huán)境的第三快照信息; 所述對(duì)比單元,還用于根據(jù)所述第三快照信息中與所述第一快照信息不同的部分,確 定所述第二配置項(xiàng)。16. 根據(jù)權(quán)利要求11-15中任一項(xiàng)所述的裝置,其特征在于, 所述環(huán)境構(gòu)建單元,具體用于若所述第一配置項(xiàng)和所述第二配置項(xiàng)中沒(méi)有公共配置 項(xiàng),則將所述第一配置項(xiàng)復(fù)制到所述配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境,所述公共配置項(xiàng)為 所述第一配置項(xiàng)和所述第二配置項(xiàng)的交集。17. 根據(jù)權(quán)利要求11-15中任一項(xiàng)所述的裝置,其特征在于, 所述環(huán)境構(gòu)建單元,具體用于若所述第一配置項(xiàng)和所述第二配置項(xiàng)中沒(méi)有公共配置 項(xiàng),則在預(yù)設(shè)的配置字典中查找與所述第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng),所述公共配置項(xiàng)為 所述第一配置項(xiàng)和所述第二配置項(xiàng)的交集,所述配置字典中存儲(chǔ)有所述第一配置項(xiàng)與替換 配置項(xiàng)之間的對(duì)應(yīng)關(guān)系;將查找到的與所述第一配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到所述配置 項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境。18. 根據(jù)權(quán)利要求16或17所述的裝置,其特征在于, 所述環(huán)境構(gòu)建單元,還用于若所述第一配置項(xiàng)和所述第二配置項(xiàng)中包含公共配置項(xiàng), 則將所述第一配置項(xiàng)中除所述公共配置項(xiàng)外的配置項(xiàng),復(fù)制到所述初始生產(chǎn)環(huán)境的配置項(xiàng) 內(nèi)容中,得到修正生產(chǎn)環(huán)境。19. 根據(jù)權(quán)利要求18所述的裝置,其特征在于, 所述環(huán)境構(gòu)建單元,還用于在預(yù)設(shè)的配置字典中查找與所述公共配置項(xiàng)對(duì)應(yīng)的替換配 置項(xiàng),所述配置字典中存儲(chǔ)有所述公共配置項(xiàng)與替換配置項(xiàng)之間的對(duì)應(yīng)關(guān)系;將查找到的 與所述公共配置項(xiàng)對(duì)應(yīng)的替換配置項(xiàng)復(fù)制到所述配置項(xiàng)內(nèi)容中,得到修正生產(chǎn)環(huán)境。20. 根據(jù)權(quán)利要求11-19中任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括: 測(cè)試單元,用于對(duì)所述修正生產(chǎn)環(huán)境進(jìn)行測(cè)試; 回滾單元,用于若測(cè)試結(jié)果不符合預(yù)設(shè)的測(cè)試結(jié)果,則將所述修正生產(chǎn)環(huán)境還原至所 述初始生產(chǎn)環(huán)境。
【文檔編號(hào)】G06F9/445GK106095501SQ201610408133
【公開(kāi)日】2016年11月9日
【申請(qǐng)日】2016年6月12日
【發(fā)明人】俞前
【申請(qǐng)人】華為軟件技術(shù)有限公司