本發(fā)明涉及服務(wù)器端版本升級(jí)技術(shù)領(lǐng)域,特別是涉及一種服務(wù)器端程序編譯和發(fā)布的管理方法及系統(tǒng)。
背景技術(shù):
在實(shí)際開(kāi)發(fā)項(xiàng)目當(dāng)中,如何有效率的開(kāi)發(fā)、編譯和發(fā)布服務(wù),成為一個(gè)迫在眉睫的問(wèn)題。很多軟件公司開(kāi)發(fā)軟件過(guò)程中,編譯發(fā)布靠人力去完成,費(fèi)時(shí)費(fèi)力,而且容易出錯(cuò)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種服務(wù)器端程序編譯和發(fā)布的管理方法及系統(tǒng),實(shí)現(xiàn)了版本信息的自動(dòng)編譯發(fā)布,且記錄編譯發(fā)布的狀態(tài)信息,提高了服務(wù)器端版本升級(jí)的效率。
本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種服務(wù)器端程序編譯和發(fā)布的管理方法,包括:
步驟1、預(yù)設(shè)查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)的時(shí)間表;
步驟2、根據(jù)所述時(shí)間表,查詢(xún)所述服務(wù)器端版本信息數(shù)據(jù)庫(kù),獲取待測(cè)試版本列表和已測(cè)試版本列表;
步驟3、根據(jù)所述待測(cè)試版本列表,對(duì)待測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到測(cè)試環(huán)境;
步驟4、根據(jù)所述已測(cè)試版本列表,對(duì)已測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到生產(chǎn)環(huán)境;
步驟5、獲取狀態(tài)信息并保存,所述狀態(tài)信息包括預(yù)設(shè)時(shí)間表狀態(tài)信息、獲取版本列表狀態(tài)信息以及編譯并發(fā)布程序文件狀態(tài)信息。
本發(fā)明的有益效果是:通過(guò)預(yù)設(shè)查詢(xún)時(shí)間表,可在到達(dá)時(shí)間后,自動(dòng)查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù),獲取版本列表,實(shí)現(xiàn)了自動(dòng)化獲取,省時(shí)省力,且自動(dòng)獲取版本列表,避免了需要程序編譯的版本信息的遺漏問(wèn)題,保障了版本升級(jí)的效率。同時(shí),在預(yù)設(shè)時(shí)間表、獲取版本列表以及程序編譯及發(fā)布的過(guò)程中,實(shí)時(shí)監(jiān)控記錄狀態(tài)信息,實(shí)現(xiàn)狀態(tài)信息的可視化,管理員可通過(guò)查看狀態(tài)信息,獲取版本程序編譯和版本發(fā)布過(guò)程的狀態(tài),進(jìn)而可定位問(wèn)題,提高了服務(wù)器端版本升級(jí)的效率,其中,狀態(tài)信息中的獲取版本列表狀態(tài)信息是指在獲取待測(cè)試版本列表和已測(cè)試版本列表過(guò)程中的狀態(tài)信息,狀態(tài)信息中的預(yù)設(shè)時(shí)間表狀態(tài)信息是指在預(yù)設(shè)時(shí)間表過(guò)程中的狀態(tài)信息,狀態(tài)信息中的編譯并發(fā)布程序文件狀態(tài)信息是指在程序編譯和發(fā)布程序文件過(guò)程中的狀態(tài)信息。
進(jìn)一步,所述方法還包括:
步驟5:將所述狀態(tài)信息發(fā)送至管理員終端,其中,所述狀態(tài)信息還包括故障原因。
本發(fā)明的進(jìn)一步有益效果是:在發(fā)布服務(wù)器端新版本并在服務(wù)器端版本升級(jí)過(guò)程中,實(shí)時(shí)記錄狀態(tài)信息,并將狀態(tài)信息向管理員終端發(fā)送,方便系統(tǒng)管理員及時(shí)獲知服務(wù)器端版本升級(jí)過(guò)程中出現(xiàn)的問(wèn)題,并第一時(shí)間解決該發(fā)版問(wèn)題,化被動(dòng)為主動(dòng),提高了版本升級(jí)效率。
進(jìn)一步,所述步驟1還包括:
獲取服務(wù)器端版本信息和其對(duì)應(yīng)的第一xml配置信息,并將所述服務(wù)器端版本信息和所述第一xml配置信息保存至服務(wù)器端版本信息數(shù)據(jù)庫(kù),以便進(jìn)行程序編譯并發(fā)布。
本發(fā)明進(jìn)一步的有益效果是:便于根據(jù)預(yù)設(shè)時(shí)間表,自動(dòng)獲取版本列表,提高了版本升級(jí)的效率。
進(jìn)一步,所述步驟3中具體包括:
步驟3.1、根據(jù)所述待測(cè)試版本列表,獲取待測(cè)試版本對(duì)應(yīng)的版本信息;
步驟3.2、根據(jù)所述版本信息,獲取第一xml配置信息,所述第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;
步驟3.3、關(guān)閉所述應(yīng)用程序服務(wù)器中所述服務(wù)器端的運(yùn)行程序并備份所述服務(wù)器端對(duì)應(yīng)的原程序文件;
步驟3.4、在所述第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將所述程序文件和所述第二xml配置信息保存至所述應(yīng)用程序服務(wù)器;
步驟3.5、根據(jù)所述文件發(fā)布清單,檢查所述應(yīng)用程序服務(wù)器中的所述程序文件是否正確,若正確,在所述應(yīng)用程序服務(wù)器中重啟所述服務(wù)器端,如重啟成功,則完成程序編譯和測(cè)試環(huán)境發(fā)布的任務(wù),如重啟不成功,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù);否則,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù)。
進(jìn)一步,所述步驟4具體包括:
步驟4.1、根據(jù)所述已測(cè)試版本列表,獲取已測(cè)試版本對(duì)應(yīng)的版本信息;
步驟4.2、根據(jù)所述版本信息,獲取第一xml配置信息,所述第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;
步驟4.3、關(guān)閉所述應(yīng)用程序服務(wù)器中所述服務(wù)器端的運(yùn)行程序并備份所述服務(wù)器端對(duì)應(yīng)的原程序文件;
步驟4.4、在所述第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將所述程序文件和所述第二xml配置信息保存至所述應(yīng)用程序服務(wù)器;
步驟4.5、根據(jù)所述文件發(fā)布清單,檢查所述應(yīng)用程序服務(wù)器中的所述程序文件是否正確,如正確,在所述應(yīng)用程序服務(wù)器中重啟所述服務(wù)器端,如重啟成功,檢測(cè)服務(wù)器端之間通信是否成功,如是,則完成程序編譯和生成環(huán)境發(fā)布的任務(wù),如重啟不成功,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù);否則,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù)。
本發(fā)明的進(jìn)一步有益效果是:待測(cè)試的版本信息先經(jīng)過(guò)程序編譯環(huán)境測(cè)試,測(cè)試該版本信息經(jīng)程序編譯后,其對(duì)應(yīng)的程序文件是否運(yùn)行正常,若運(yùn)行正常,在測(cè)試結(jié)束,版本狀態(tài)成為已測(cè)試后,直接對(duì)該版本信息進(jìn)行程序編譯生產(chǎn)測(cè)試,在程序編譯生產(chǎn)測(cè)試中需要再次對(duì)該版本信息進(jìn)行程序編譯,并將程序文件保存到應(yīng)用程序服務(wù)器,在測(cè)試服務(wù)器端可正常運(yùn)行后,需要對(duì)該服務(wù)器端進(jìn)行通信檢查,檢查兩個(gè)或多個(gè)該服務(wù)器端之間是否通信正常,如通信正常,則該版本信息成功生成版本發(fā)布信息,無(wú)需對(duì)版本信息進(jìn)行修改。如果在程序編譯環(huán)境測(cè)試時(shí),程序文件運(yùn)行不正常,則需要對(duì)該版本信息進(jìn)行修改,在測(cè)試結(jié)束,版本狀態(tài)成為已測(cè)試后,下一次查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)時(shí),對(duì)該版本信息進(jìn)行上述程序編譯生產(chǎn)測(cè)試。其中,版本信息對(duì)應(yīng)的xml配置信息包括文件發(fā)布清單,該文件發(fā)布清單為版本信息經(jīng)編譯后的版本發(fā)布信息的清單,根據(jù)文件發(fā)布清單檢查編譯后的程序文件是否齊全準(zhǔn)確,提高了服務(wù)器端發(fā)版的準(zhǔn)確率。
一種服務(wù)器端程序編譯和發(fā)布的管理系統(tǒng),包括:
時(shí)間表預(yù)設(shè)模塊,用于預(yù)設(shè)查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)的時(shí)間表;
版本列表獲取模塊,用于根據(jù)所述時(shí)間表預(yù)設(shè)模塊預(yù)設(shè)的所述時(shí)間表,查詢(xún)所述服務(wù)器端版本信息數(shù)據(jù)庫(kù),獲取待測(cè)試版本列表和已測(cè)試版本列表;
程序編譯及發(fā)布模塊,用于根據(jù)所述版本列表獲取模塊獲取的所述待測(cè)試版本列表,對(duì)待測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到測(cè)試環(huán)境;根據(jù)所述版本列表獲取模塊獲取的所述已測(cè)試版本列表,對(duì)已測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到生產(chǎn)環(huán)境;
狀態(tài)信息保存模塊,用于獲取狀態(tài)信息并保存,所述狀態(tài)信息包括所述時(shí)間表預(yù)設(shè)模塊預(yù)設(shè)時(shí)間表狀態(tài)信息、所述版本列表獲取模塊獲取版本列表狀態(tài)信息以及所述程序編譯及發(fā)布模塊編譯并發(fā)布程序文件狀態(tài)信息。
本發(fā)明的有益效果是:通過(guò)時(shí)間表預(yù)設(shè)模塊預(yù)設(shè)查詢(xún)時(shí)間表,可在到達(dá)時(shí)間后,版本列表列表獲取模塊查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù),獲取版本列表列表,實(shí)現(xiàn)了自動(dòng)化獲取,省時(shí)省力,且自動(dòng)獲取版本列表,避免了需要程序編譯的版本信息的遺漏問(wèn)題,保障了版本升級(jí)的效率。同時(shí),在預(yù)設(shè)時(shí)間表、獲取版本列表以及程序編譯及發(fā)布的過(guò)程中,狀態(tài)信息保存模塊實(shí)時(shí)監(jiān)控記錄狀態(tài)信息,實(shí)現(xiàn)狀態(tài)信息的可視化,管理員可通過(guò)查看狀態(tài)信息,獲取版本程序編譯和版本發(fā)布過(guò)程的狀態(tài),進(jìn)而可定位問(wèn)題,提高了服務(wù)器端版本升級(jí)的效率。
進(jìn)一步,所述狀態(tài)信息保存模塊還用于將所述狀態(tài)信息發(fā)送至管理員終端,其中,所述狀態(tài)信息還包括故障原因。
進(jìn)一步,所述時(shí)間表預(yù)設(shè)模塊還用于獲取服務(wù)器端版本信息和其對(duì)應(yīng)的第一xml配置信息,并將所述服務(wù)器端版本信息和所述第一xml配置信息保存至服務(wù)器端版本信息數(shù)據(jù)庫(kù),以便進(jìn)行程序編譯并發(fā)布。
進(jìn)一步,所述程序編譯及發(fā)布模塊的進(jìn)行程序編譯并發(fā)布到測(cè)試環(huán)境具體包括:
根據(jù)所述待測(cè)試版本列表,獲取待測(cè)試版本對(duì)應(yīng)的版本信息;根據(jù)所述版本信息,獲取第一xml配置信息,所述第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;關(guān)閉所述應(yīng)用程序服務(wù)器中所述服務(wù)器端的運(yùn)行程序并備份所述服務(wù)器端對(duì)應(yīng)的原程序文件;在所述第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將所述程序文件和所述第二xml配置信息保存至所述應(yīng)用程序服務(wù)器;根據(jù)所述文件發(fā)布清單,檢查所述應(yīng)用程序服務(wù)器中的所述程序文件是否正確,如正確,在所述應(yīng)用程序服務(wù)器中重啟所述服務(wù)器端,如重啟成功,則完成程序編譯和測(cè)試環(huán)境發(fā)布的版本列表,如重啟不成功,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù);否則,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù)。
進(jìn)一步,所述程序編譯及發(fā)布模塊的進(jìn)行程序編譯并發(fā)布到生產(chǎn)環(huán)境具體包括:
根據(jù)所述已測(cè)試版本列表,獲取已測(cè)試版本對(duì)應(yīng)的版本信息;根據(jù)所述版本信息,獲取第一xml配置信息,所述第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;關(guān)閉所述應(yīng)用程序服務(wù)器中所述服務(wù)器端的運(yùn)行程序并備份所述服務(wù)器端對(duì)應(yīng)的原程序文件;在所述第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將所述程序文件和所述第二xml配置信息保存至所述應(yīng)用程序服務(wù)器;根據(jù)所述文件發(fā)布清單,檢查所述應(yīng)用程序服務(wù)器中的所述程序文件是否正確,如是,在所述應(yīng)用程序服務(wù)器中重啟所述服務(wù)器端,如重啟成功,檢測(cè)服務(wù)器端之間通信是否成功,如是,則完成程序編譯和生成環(huán)境發(fā)布的任務(wù),如重啟不成功,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù);否則,根據(jù)所述原程序文件,還原并開(kāi)啟所述服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù)。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例一提供的一種服務(wù)器端程序編譯和發(fā)布的管理方法的流程示意圖;
圖2為本發(fā)明實(shí)施例二提供的一種服務(wù)器端程序編譯和發(fā)布的管理方法的流程示意圖;
圖3為圖2中的步驟130的流程示意圖;
圖4為圖2中的步驟140的流程示意圖;
圖5為本發(fā)明實(shí)施例三提供的一種服務(wù)器端程序編譯和發(fā)布的管理系統(tǒng)的示意性結(jié)構(gòu)圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
實(shí)施例一
一種服務(wù)器端程序編譯和發(fā)布的管理方法100,如圖1所示,包括:
步驟110、預(yù)設(shè)查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)的時(shí)間表;
步驟120、根據(jù)時(shí)間表,查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù),獲取待測(cè)試版本列表和已測(cè)試版本列表;
步驟130、根據(jù)待測(cè)試版本列表,對(duì)待測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到測(cè)試環(huán)境;
步驟140、根據(jù)已測(cè)試版本列表,對(duì)已測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到生產(chǎn)環(huán)境;
步驟150、獲取狀態(tài)信息并保存,狀態(tài)信息包括預(yù)設(shè)時(shí)間表狀態(tài)信息、獲取版本列表狀態(tài)信息以及編譯并發(fā)布程序文件狀態(tài)信息。
需要說(shuō)明的是,步驟130和步驟140可同時(shí)進(jìn)行,也可先后先進(jìn)行。
實(shí)施例二:
可選地,作為本發(fā)明的一個(gè)實(shí)施例,如圖2所示,方法100,包括:
步驟110、預(yù)設(shè)查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)的時(shí)間表;
步驟120、根據(jù)時(shí)間表,查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù),獲取待測(cè)試版本列表和已測(cè)試版本列表;
步驟130、根據(jù)待測(cè)試版本列表,對(duì)待測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到測(cè)試環(huán)境;
步驟140、根據(jù)已測(cè)試版本列表,對(duì)已測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到生產(chǎn)環(huán)境;
步驟150、獲取狀態(tài)信息并保存,狀態(tài)信息包括預(yù)設(shè)時(shí)間表狀態(tài)信息、獲取版本列表狀態(tài)信息以及編譯并發(fā)布程序文件狀態(tài)信息;
步驟160、將狀態(tài)信息發(fā)送至管理員終端,其中,狀態(tài)信息還包括故障原因。
具體的,步驟110還包括:獲取服務(wù)器端版本信息和其對(duì)應(yīng)的第一xml配置信息,并將服務(wù)器端版本信息和第一xml配置信息保存至服務(wù)器端版本信息數(shù)據(jù)庫(kù),,以便進(jìn)行程序編譯并發(fā)布。用于在到達(dá)時(shí)間表中設(shè)定的時(shí)間時(shí),查詢(xún)服務(wù)器端版本信息,進(jìn)行后續(xù)的發(fā)布版本的操作執(zhí)行。其中,上述時(shí)間表為查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)的時(shí)間表,即發(fā)版時(shí)間表(發(fā)布版本時(shí)間表)。
服務(wù)器端版本信息包括版本狀態(tài),版本狀態(tài)分為開(kāi)發(fā)中、待測(cè)試、已測(cè)試和已發(fā)布。初始版本的版本狀態(tài)為開(kāi)發(fā)中,待測(cè)試版本狀態(tài)的發(fā)布版本列表為需要對(duì)服務(wù)器端版本信息進(jìn)行程序編譯并對(duì)編譯出的程序文件進(jìn)行單一服務(wù)器端的運(yùn)行測(cè)試,已測(cè)試版本狀態(tài)的發(fā)布版本列表為需要對(duì)服務(wù)器端版本信息進(jìn)行程序編譯且對(duì)編譯出的程序文件進(jìn)行單一服務(wù)器端的運(yùn)行測(cè)試以及檢測(cè)多個(gè)服務(wù)器端之間的通信是否正常。
例如,上述時(shí)間表設(shè)定為8點(diǎn)30分查詢(xún)一次和10點(diǎn)查詢(xún)一次。那么在8點(diǎn)30分時(shí)查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù),根據(jù)數(shù)據(jù)庫(kù)中的版本信息,找出版本狀態(tài)為待測(cè)試的待測(cè)試版本列表,找出版本狀態(tài)為已測(cè)試的已測(cè)試版本列表,分別對(duì)這兩個(gè)表中的版本進(jìn)行版本信息的程序編譯和發(fā)布,若數(shù)據(jù)庫(kù)中不存在已測(cè)試版本和待測(cè)試版本,則在10點(diǎn)時(shí)再一次查詢(xún)?cè)摲?wù)器端版本信息數(shù)據(jù)庫(kù)。實(shí)現(xiàn)版本信息的程序編譯和發(fā)布的自動(dòng)化,提高了版本發(fā)布的效率。
具體的,如圖3所示,實(shí)施例二中步驟130包括:
步驟131、根據(jù)待測(cè)試版本列表,獲取待測(cè)試版本對(duì)應(yīng)的版本信息;
步驟132、根據(jù)版本信息,獲取第一xml配置信息,第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;
步驟133、關(guān)閉應(yīng)用程序服務(wù)器中服務(wù)器端的運(yùn)行程序并備份服務(wù)器端對(duì)應(yīng)的原程序文件;
步驟134、在第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將程序文件和第二xml配置信息保存至應(yīng)用程序服務(wù)器;
步驟135、根據(jù)文件發(fā)布清單,檢查應(yīng)用程序服務(wù)器中的程序文件是否正確,若正確,在應(yīng)用程序服務(wù)器中重啟服務(wù)器端,如重啟成功,則完成程序編譯和測(cè)試環(huán)境發(fā)布的任務(wù),如重啟不成功,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù);否則,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù)。
具體的,如圖4所示,實(shí)施例二中步驟140包括:
步驟141、根據(jù)已測(cè)試版本列表,獲取已測(cè)試版本對(duì)應(yīng)的版本信息;
步驟142、根據(jù)版本信息,獲取第一xml配置信息,第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;
步驟143、關(guān)閉應(yīng)用程序服務(wù)器中服務(wù)器端的運(yùn)行程序并備份服務(wù)器端對(duì)應(yīng)的原程序文件;
步驟144、在第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將程序文件和第二xml配置信息保存至應(yīng)用程序服務(wù)器;
步驟145、根據(jù)文件發(fā)布清單,檢查應(yīng)用程序服務(wù)器中的程序文件是否正確,如正確,在應(yīng)用程序服務(wù)器中重啟服務(wù)器端,如重啟成功,檢測(cè)服務(wù)器端之間通信是否成功,如是,則完成程序編譯和生成環(huán)境發(fā)布的任務(wù),如重啟不成功,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù);否則,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù)。
待測(cè)試的版本信息先經(jīng)過(guò)程序編譯環(huán)境測(cè)試,測(cè)試該版本信息經(jīng)程序編譯后,程序文件是否運(yùn)行正常,若運(yùn)行正常,在測(cè)試結(jié)束,版本狀態(tài)成為已測(cè)試后,直接對(duì)該版本信息進(jìn)行程序編譯生產(chǎn)測(cè)試,在程序編譯生產(chǎn)測(cè)試中需要再次對(duì)該版本信息進(jìn)行程序編譯,并將程序文件保存到應(yīng)用程序服務(wù)器,在測(cè)試服務(wù)器端可正常運(yùn)行后,需要對(duì)該服務(wù)器端進(jìn)行通信檢查,檢查兩個(gè)或多個(gè)該服務(wù)器端之間是否通信正常,如通信正常,則該版本信息成功生成版本發(fā)布信息,無(wú)需對(duì)版本信息進(jìn)行修改。
如果在程序編譯環(huán)境測(cè)試時(shí),程序文件運(yùn)行不正常,則需要對(duì)該版本信息進(jìn)行修改,在測(cè)試結(jié)束,版本狀態(tài)成為已測(cè)試后,下一次查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)時(shí),對(duì)該版本信息進(jìn)行上述程序編譯生產(chǎn)測(cè)試。因此,一個(gè)服務(wù)器端版本信息需要經(jīng)過(guò)兩次程序編譯和發(fā)布。
其中,版本信息對(duì)應(yīng)的第一xml配置信息包括文件發(fā)布清單,該文件發(fā)布清單為版本信息經(jīng)編譯后的版本發(fā)布信息的清單,根據(jù)文件發(fā)布清單檢查編譯后的程序文件是否齊全準(zhǔn)確,提高了服務(wù)器端程序編譯發(fā)布的準(zhǔn)確率。
例如,a服務(wù)器端的版本信息的版本狀態(tài)為待測(cè)試,那么接下來(lái)會(huì)發(fā)布程序編譯環(huán)境測(cè)試版本列表,版本信息經(jīng)編譯后,程序文件和配置信息分別保存至應(yīng)用程序服務(wù)器(即目標(biāo)服務(wù)器),完成環(huán)境測(cè)試,版本狀態(tài)改為已測(cè)試。在根據(jù)發(fā)布狀態(tài)信息,得知該版本信息編譯后的程序文件運(yùn)行正常時(shí),下次在查詢(xún)數(shù)據(jù)庫(kù)時(shí),a服務(wù)器端的版本信息的版本狀態(tài)是已測(cè)試狀態(tài),那么接下來(lái)會(huì)發(fā)布程序編譯生產(chǎn)測(cè)試版本列表,版本信息再次進(jìn)行編譯,程序文件和配置信息再次保存到目標(biāo)服務(wù)器,完成生產(chǎn)測(cè)試。其中,在根據(jù)發(fā)布狀態(tài)信息,得知版本信息編譯后的程序文件在環(huán)境測(cè)試時(shí)運(yùn)行不正常,a服務(wù)器端的版本信息需要修改,下次查詢(xún)數(shù)據(jù)庫(kù)時(shí),a服務(wù)器端的版本信息的版本狀態(tài)是已測(cè)試狀態(tài),那么接下來(lái)會(huì)發(fā)布程序編譯生產(chǎn)測(cè)試版本列表。因此,一個(gè)服務(wù)器端版本信息需要經(jīng)過(guò)兩次程序編譯和發(fā)布。
需要說(shuō)明的是,在進(jìn)行程序編譯環(huán)境測(cè)試和程序編譯生產(chǎn)測(cè)試時(shí),對(duì)待測(cè)試版本列表中的版本信息進(jìn)行逐一程序編譯和環(huán)境測(cè)試,對(duì)已測(cè)試版本列表中的版本信息進(jìn)行逐一程序編譯和生成測(cè)試,例如,待測(cè)試版本列表中有a服務(wù)器端版本信息和b服務(wù)器端版本信息,那么可按照獲取的順序,先進(jìn)行a服務(wù)器端版本信息的程序編譯和環(huán)境測(cè)試,再進(jìn)行b服務(wù)器端版本信息的程序編譯和環(huán)境測(cè)試。另外,進(jìn)行程序編譯環(huán)境測(cè)試和程序編譯生產(chǎn)測(cè)試可同步進(jìn)行。
另外,需要說(shuō)明的是,在服務(wù)器端版本升級(jí)過(guò)程中,實(shí)時(shí)記錄狀態(tài)信息,且每完成一個(gè)版本信息的環(huán)境測(cè)試和生成測(cè)試,將狀態(tài)信息向管理員終端發(fā)送,方便系統(tǒng)管理員及時(shí)獲知服務(wù)器端版本升級(jí)過(guò)程中出現(xiàn)的問(wèn)題,并第一時(shí)間解決該問(wèn)題,化被動(dòng)為主動(dòng),提高了版本升級(jí)效率。
實(shí)施例三:
一種服務(wù)器端程序編譯和發(fā)布的管理系統(tǒng)200,如圖5所示,包括:
時(shí)間表預(yù)設(shè)模塊,用于預(yù)設(shè)查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù)的時(shí)間表;
版本列表獲取模塊,用于根據(jù)時(shí)間表預(yù)設(shè)模塊預(yù)設(shè)的時(shí)間表,查詢(xún)服務(wù)器端版本信息數(shù)據(jù)庫(kù),獲取待測(cè)試版本列表和已測(cè)試版本列表;
程序編譯及發(fā)布模塊,用于根據(jù)版本列表獲取模塊獲取的待測(cè)試版本列表,對(duì)待測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到測(cè)試環(huán)境;根據(jù)版本列表獲取模塊獲取的所述已測(cè)試版本列表,對(duì)已測(cè)試版本逐一進(jìn)行程序編譯并發(fā)布到生成環(huán)境;
狀態(tài)信息保存模塊,用于獲取并保存狀態(tài)信息,狀態(tài)信息包括時(shí)間表預(yù)設(shè)模塊預(yù)設(shè)時(shí)間表狀態(tài)信息、版本列表獲取模塊獲取版本列表狀態(tài)信息以及編譯和發(fā)布程序文件狀態(tài)信息。
其中,狀態(tài)信息保存模塊還用于將狀態(tài)信息發(fā)送至管理員終端,其中,狀態(tài)信息還包括故障原因。
時(shí)間表預(yù)設(shè)模塊還用于獲取服務(wù)器端版本信息和其對(duì)應(yīng)的第一xml配置信息,并將服務(wù)器端版本信息和第一xml配置信息保存至服務(wù)器端版本信息數(shù)據(jù)庫(kù),以便進(jìn)行程序編譯并發(fā)布。
程序編譯及發(fā)布模塊的進(jìn)行程序編譯并發(fā)布到測(cè)試環(huán)境具體包括:
根據(jù)待測(cè)試版本列表,獲取待測(cè)試版本對(duì)應(yīng)的版本信息;根據(jù)版本信息,獲取第一xml配置信息,第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;關(guān)閉應(yīng)用程序服務(wù)器中服務(wù)器端的運(yùn)行程序并備份服務(wù)器端對(duì)應(yīng)的原程序文件;在第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將程序文件和第二xml配置信息保存至應(yīng)用程序服務(wù)器;根據(jù)文件發(fā)布清單,檢查應(yīng)用程序服務(wù)器中的程序文件是否正確,如正確,在應(yīng)用程序服務(wù)器中重啟服務(wù)器端,如重啟成功,則完成程序編譯和測(cè)試環(huán)境發(fā)布的任務(wù),如重啟不成功,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù);否則,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束測(cè)試環(huán)境發(fā)布的任務(wù)。
程序編譯及發(fā)布模塊的進(jìn)行程序編譯并發(fā)布到生產(chǎn)環(huán)境具體包括:
根據(jù)已測(cè)試版本列表,獲取已測(cè)試版本對(duì)應(yīng)的版本信息;根據(jù)版本信息,獲取第一xml配置信息,第一xml配置信息包括應(yīng)用程序服務(wù)器和文件發(fā)布清單;關(guān)閉應(yīng)用程序服務(wù)器中服務(wù)器端的運(yùn)行程序并備份服務(wù)器端對(duì)應(yīng)的原程序文件;在第一xml配置信息經(jīng)編譯并生成程序文件和其對(duì)應(yīng)的第二xml配置信息后,將程序文件和第二xml配置信息保存至應(yīng)用程序服務(wù)器;根據(jù)文件發(fā)布清單,檢查應(yīng)用程序服務(wù)器中的程序文件是否正確,如正確,在應(yīng)用程序服務(wù)器中重啟服務(wù)器端,如重啟成功,檢測(cè)服務(wù)器端之間通信是否成功,如是,則完成程序編譯和生成環(huán)境發(fā)布的任務(wù),如重啟不成功,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù);否則,根據(jù)原程序文件,還原并開(kāi)啟服務(wù)器端,結(jié)束生產(chǎn)環(huán)境發(fā)布的任務(wù)。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。