一種程序文件自動上線方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種程序文件自動上線方法及系統(tǒng),所述方法包括:步驟1,讀取程序文件的上線文件列表,并從中選擇當前要上線的程序文件;步驟2,判斷當前要上線的程序文件是否在目標主機中存在,若是則在目標主機上按指定的文件格式備份該程序文件,否則在目標主機中存儲該程序文件;步驟3,采用FTP方式將程序文件上傳至目標主機指定的目標地址;步驟4,若程序文件為需要重啟相關應用才能生效的文件,則在程序文件上傳至目標地址對應的主機后,先依次停止該主機的NG端口和應用端口,再依次啟動該主機的應用端口和NG端口。本發(fā)明解決了程序文件上線效率低、操作復雜、不易管理等問題。
【專利說明】一種程序文件自動上線方法及系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及軟件上線【技術領域】,特別是涉及一種程序文件自動上線方法及系統(tǒng)。
【背景技術】
[0002] 在現(xiàn)有技術中,軟件產(chǎn)品(程序)上線時存在上線主機多、上線程序多等問題。如 很多電子渠道生產(chǎn)主機都約有30多臺,且這些生產(chǎn)主機又分為網(wǎng)廳、自助終端和短廳進行 應用。且上線程序多時,各應用需重新停啟的進程也較多,一般來說網(wǎng)廳每臺生產(chǎn)主機就有 兩個應用端口和兩個NG端口,且這四個端口均需要重新停啟。
[0003] 因為上述原因,每次有程序需要上線時,所有開發(fā)人員、測試人員、用戶都要通宵 熬夜,極其損耗體力和精力,長期以往,會有害身體健康。同時,因人工操作主機多,總會出 現(xiàn)錯誤,錯誤率較高。另外,上線的程序文件的溯源性差,對于原來的文件備份命名上沒有 規(guī)律性,根本分不清是誰做的需求,沒法在第一時間找到責任人進行修復和調(diào)整。如果遇到 上線出錯情況,需要逐臺登錄主機手工恢復原狀態(tài),非常耗時,且上線以后需要對每臺機子 每個端口進行測試,非常耗費時間。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術問題是提供一種程序文件自動上線方法及系統(tǒng),用于解決 程序文件上線效率低、操作復雜、不易管理等問題。
[0005] 本發(fā)明解決上述技術問題的技術方案如下:一種程序文件自動上線方法,包括:
[0006] 步驟1,讀取程序文件的上線文件列表,并從中選擇當前要上線的程序文件;
[0007] 步驟2,判斷當前要上線的程序文件是否在目標主機中存在,若是則在目標主機上 按指定的文件格式備份該程序文件,否則在目標主機中存儲該程序文件;
[0008] 步驟3,采用FTP方式將程序文件上傳至目標主機指定的目標地址;
[0009] 步驟4,若程序文件為需要重啟相關應用才能生效的文件,則在程序文件上傳至目 標地址對應的主機后,先依次停止該主機的NG端口和應用端口,再依次啟動該主機的應用 端口和NG端口。
[0010] 在上述技術方案的基礎上,本發(fā)明還可以做如下改進。
[0011] 進一步,所述步驟2中將程序文件存儲在創(chuàng)建的存儲目錄下時,按所述指定的文 件格式進行存儲。
[0012] 進一步,所述指定的文件格式中需包括文件名稱、開發(fā)人員名稱和當前時間。
[0013] 進一步,所述步驟2中,在目標主機中存儲該程序文件具體包括:根據(jù)上線文件列 表中該程序文件的文件路徑,在目標主機上創(chuàng)建該程序文件的存儲目錄,將程序文件存儲 在創(chuàng)建的存儲目錄下。
[0014] 進一步,所述步驟3中采用的FTP方式為基于二進制傳輸模式的FTP方式。
[0015] 進一步,還包括步驟5 :監(jiān)測NG端口和應用端口的可用性。
[0016] 本發(fā)明的技術方案還包括一種程序文件自動上線系統(tǒng),包括:
[0017] 選擇模塊,其用于讀取程序文件的上線文件列表,并從中選擇當前要上線的程序 文件;
[0018] 備份及存儲模塊,其用于判斷當前要上線的程序文件是否在目標主機中存在,若 是則在目標主機上按指定的文件格式備份該程序文件,否則在目標主機中存儲該程序文 件;
[0019] 上傳模塊,用于采用FTP方式將程序文件上傳至目標主機指定的目標地址;
[0020] 端口啟停模塊,若程序文件為需要重啟相關應用才能生效的文件,則在程序文件 上傳至目標地址對應的主機后,先依次停止該主機的NG端口和應用端口,再依次啟動該主 機的應用端口和NG端口。
[0021] 進一步,所述指定的文件格式中需包括文件名稱、開發(fā)人員名稱和當前時間。
[0022] 進一步,所述上傳模塊中采用的FTP方式為基于二進制傳輸模式的FTP方式。
[0023] 進一步,還包括端口監(jiān)測模塊,其用于監(jiān)測NG端口和應用端口的可用性。
[0024] 本發(fā)明的有益效果可概括為以下幾點:
[0025] -、科學備份文件:自動以"文件名稱+開發(fā)人員名稱+當前時間"形式的方式備 份文件,使程序文件能有據(jù)可查,改善了程序文件溯源性差的問題,能在第一時間找到責任 人對出現(xiàn)錯誤的程序文件進行修復和調(diào)整。
[0026] 二、自動上線處理:自動同步上傳程序文件至多個主機,自動停啟所有應用端口與 NG端口,自動測試所有端口的可用性。
[0027] 三、程序適應性較高:程序采用perl程序開發(fā),不受主機環(huán)境影響。
[0028] 四、上線時間極大縮短:上線無需再熬夜,白天也可以安全上線。
[0029] 五、上線后恢復快:上線后出錯時,仍使用本發(fā)明的方法,可較快完成功能恢復。
[0030] 六、程序配置方便:上線時只需把上線文件列表以及作者寫入配置文件即完成配 置。
【專利附圖】
【附圖說明】
[0031] 圖1為本發(fā)明所述程序文件自動上線方法的流程示意圖;
[0032] 圖2為本發(fā)明所述程序文件自動上線系統(tǒng)的結(jié)構示意圖。
【具體實施方式】
[0033] 以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。
[0034] 如圖1所示,本實施例給出了一種程序文件自動上線方法,包括:
[0035] 步驟1,讀取程序文件的上線文件列表,并從中選擇當前要上線的程序文件;
[0036] 步驟2,判斷當前要上線的程序文件是否在目標主機中存在,若是則在目標主機上 按指定的文件格式備份該程序文件,否則在目標主機中存儲該程序文件;
[0037] 步驟3,采用FTP方式將程序文件上傳至目標主機指定的目標地址;
[0038] 步驟4,若程序文件為需要重啟相關應用才能生效的文件,則在程序文件上傳至目 標地址對應的主機后,先依次停止該主機的NG端口和應用端口,再依次啟動該主機的應用 端口和NG端口。
[0039] 此外,還包括有步驟5 :監(jiān)測NG端口和應用端口的可用性。
[0040] 對應地,本實施例還給出了一種程序文件自動上線系統(tǒng),包括:
[0041] 選擇模塊,其用于讀取程序文件的上線文件列表,并從中選擇當前要上線的程序 文件;
[0042] 備份及存儲模塊,其用于判斷當前要上線的程序文件是否在目標主機中存在,若 是則在目標主機上按指定的文件格式備份該程序文件,否則在目標主機中存儲該程序文 件;
[0043] 上傳模塊,用于采用FTP方式將程序文件上傳至目標主機指定的目標地址;
[0044] 端口啟停模塊,若程序文件為需要重啟相關應用才能生效的文件,則在程序文件 上傳至目標地址對應的主機后,先依次停止該主機的NG端口和應用端口,再依次啟動該主 機的應用端口和NG端口;
[0045] 端口監(jiān)測模塊,其用于監(jiān)測NG端口和應用端口的可用性。
[0046] 本實施例中,進行程序文件備份時,執(zhí)行cp命令,將其備份成指定的的文件格 式,為便于后續(xù)有據(jù)可查,該文件格式中需包括文件名稱、開發(fā)人員名稱和當前時間,具 體的格式設置沒有要求,可采用"文件名稱.當前時間.開發(fā)人員名稱"的文件格式,如: a. jsp. 20120612. gaoxue〇
[0047] 當判斷當前要上線的程序文件不在目標主機中存在時,在目標主機中存儲該程序 文件具體包括:根據(jù)上線文件列表中該程序文件的文件路徑,執(zhí)行mkdir-p命令,在目標主 機上創(chuàng)建該程序文件的存儲目錄,將程序文件存儲在創(chuàng)建的存儲目錄下。
[0048] 另外,采用FTP方式將程序文件上傳至目標主機指定的目標地址時,為保證執(zhí)行 FTP命令時文件字節(jié)大小保持不變,采用二進制傳輸模式的FTP方式。
[0049] 在實際應用中,程序文件分為需要重啟相關應用才能生效的文件和不需要重啟相 關應用就能生效的文件,前者如class文件,后者如jsp、html、css、圖片、某些自定義的配 置文件、屬性文件等。對于需要重啟相關應用才能生效的文件,務必要按停止主機的NG端 口-停止主機的應用端口-啟動主機的應用端口 -啟動主機的NG端口的次序進行其端口 的啟停,具體的過程如下:
[0050] 1)停止 NG 端口。
[0051] 執(zhí)行 killall ngnix 命令,停止 NG 端口。
[0052] 2)停止應用端口。
[0053] 采用以下命令執(zhí)行,停止兩個應用端口 :
[0054] ps~ef|grep ehn|grep java|grep410011kill-9'awk' {print$2}' '
[0055] ps_ef|grep ehn|grep java|grep41002|kill-9'awk, {print$2}''
[0056] 3)啟動一個應用端口。
[0057] 如應用端口 41001,執(zhí)行命令:
[0058] sh/ehome/domains/adomain/start41001. sh
[0059] 4)啟動另一個應用端口。
[0060] 如應用端口 41002,執(zhí)行命令:
[0061] sh/ehome/domains/adomain/start41002. sh
[0062] 5)啟動 NG 端口。
[0063] 執(zhí)行命令:
[0064] /eweb/nginxl/sbin/nginx
[0065] /eweb/nginx2/sbin/nginx
[0066] 在進行端口啟停的同時,還可以監(jiān)測NG端口和應用端口的可用性,并向各主機返 回監(jiān)測的情況。
[0067] 本實施例中涉及的各指令采用perl程序開發(fā),不受主機環(huán)境影響,程序適應性較 商。
[〇〇68] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1. 一種程序文件自動上線方法,其特征在于,包括: 步驟1,讀取程序文件的上線文件列表,并從中選擇當前要上線的程序文件; 步驟2,判斷當前要上線的程序文件是否在目標主機中存在,若是則在目標主機上按指 定的文件格式備份該程序文件,否則在目標主機中存儲該程序文件; 步驟3,采用FTP方式將程序文件上傳至目標主機指定的目標地址; 步驟4,若程序文件為需要重啟相關應用才能生效的文件,則在程序文件上傳至目標地 址對應的主機后,先依次停止該主機的NG端口和應用端口,再依次啟動該主機的應用端口 和NG端口。
2. 根據(jù)權利要求1所述的程序文件自動上線方法,其特征在于,所述步驟2中將程序文 件存儲在創(chuàng)建的存儲目錄下時,按所述指定的文件格式進行存儲。
3. 根據(jù)權利要求1所述的程序文件自動上線方法,其特征在于,所述指定的文件格式 中需包括文件名稱、開發(fā)人員名稱和當前時間。
4. 根據(jù)權利要求1所述的程序文件自動上線方法,其特征在于,所述步驟2中,在目標 主機中存儲該程序文件具體包括:根據(jù)上線文件列表中該程序文件的文件路徑,在目標主 機上創(chuàng)建該程序文件的存儲目錄,將程序文件存儲在創(chuàng)建的存儲目錄下。
5. 根據(jù)權利要求1所述的程序文件自動上線方法,其特征在于,所述步驟3中采用的 FTP方式為基于二進制傳輸模式的FTP方式。
6. 根據(jù)權利要求1至6中任一所述的程序文件自動上線方法,其特征在于,還包括步驟 5 :監(jiān)測NG端口和應用端口的可用性。
7. -種程序文件自動上線系統(tǒng),其特征在于,包括: 選擇模塊,其用于讀取程序文件的上線文件列表,并從中選擇當前要上線的程序文 件; 備份及存儲模塊,其用于判斷當前要上線的程序文件是否在目標主機中存在,若是則 在目標主機上按指定的文件格式備份該程序文件,否則在目標主機中存儲該程序文件; 上傳模塊,用于采用FTP方式將程序文件上傳至目標主機指定的目標地址; 端口啟停模塊,若程序文件為需要重啟相關應用才能生效的文件,則在程序文件上傳 至目標地址對應的主機后,先依次停止該主機的NG端口和應用端口,再依次啟動該主機的 應用端口和NG端口。
8. 根據(jù)權利要求7所述的程序文件自動上線系統(tǒng),其特征在于,所述指定的文件格式 中需包括文件名稱、開發(fā)人員名稱和當前時間。
9. 根據(jù)權利要求7所述的程序文件自動上線系統(tǒng),其特征在于,所述上傳模塊中采用 的FTP方式為基于二進制傳輸模式的FTP方式。
10. 根據(jù)權利要求7至9中任一所述的程序文件自動上線系統(tǒng),其特征在于,還包括端 口監(jiān)測模塊,其用于監(jiān)測NG端口和應用端口的可用性。
【文檔編號】G06F11/14GK104111879SQ201410314756
【公開日】2014年10月22日 申請日期:2014年7月3日 優(yōu)先權日:2014年7月3日
【發(fā)明者】高學 申請人:北京思特奇信息技術股份有限公司