一种程序文件自动上线方法及系统的制作方法

文档序号:6552148阅读:95来源:国知局
一种程序文件自动上线方法及系统的制作方法
【专利摘要】本发明涉及一种程序文件自动上线方法及系统,所述方法包括:步骤1,读取程序文件的上线文件列表,并从中选择当前要上线的程序文件;步骤2,判断当前要上线的程序文件是否在目标主机中存在,若是则在目标主机上按指定的文件格式备份该程序文件,否则在目标主机中存储该程序文件;步骤3,采用FTP方式将程序文件上传至目标主机指定的目标地址;步骤4,若程序文件为需要重启相关应用才能生效的文件,则在程序文件上传至目标地址对应的主机后,先依次停止该主机的NG端口和应用端口,再依次启动该主机的应用端口和NG端口。本发明解决了程序文件上线效率低、操作复杂、不易管理等问题。
【专利说明】一种程序文件自动上线方法及系统

【技术领域】
[0001] 本发明涉及软件上线【技术领域】,特别是涉及一种程序文件自动上线方法及系统。

【背景技术】
[0002] 在现有技术中,软件产品(程序)上线时存在上线主机多、上线程序多等问题。如 很多电子渠道生产主机都约有30多台,且这些生产主机又分为网厅、自助终端和短厅进行 应用。且上线程序多时,各应用需重新停启的进程也较多,一般来说网厅每台生产主机就有 两个应用端口和两个NG端口,且这四个端口均需要重新停启。
[0003] 因为上述原因,每次有程序需要上线时,所有开发人员、测试人员、用户都要通宵 熬夜,极其损耗体力和精力,长期以往,会有害身体健康。同时,因人工操作主机多,总会出 现错误,错误率较高。另外,上线的程序文件的溯源性差,对于原来的文件备份命名上没有 规律性,根本分不清是谁做的需求,没法在第一时间找到责任人进行修复和调整。如果遇到 上线出错情况,需要逐台登录主机手工恢复原状态,非常耗时,且上线以后需要对每台机子 每个端口进行测试,非常耗费时间。


【发明内容】

[0004] 本发明所要解决的技术问题是提供一种程序文件自动上线方法及系统,用于解决 程序文件上线效率低、操作复杂、不易管理等问题。
[0005] 本发明解决上述技术问题的技术方案如下:一种程序文件自动上线方法,包括:
[0006] 步骤1,读取程序文件的上线文件列表,并从中选择当前要上线的程序文件;
[0007] 步骤2,判断当前要上线的程序文件是否在目标主机中存在,若是则在目标主机上 按指定的文件格式备份该程序文件,否则在目标主机中存储该程序文件;
[0008] 步骤3,采用FTP方式将程序文件上传至目标主机指定的目标地址;
[0009] 步骤4,若程序文件为需要重启相关应用才能生效的文件,则在程序文件上传至目 标地址对应的主机后,先依次停止该主机的NG端口和应用端口,再依次启动该主机的应用 端口和NG端口。
[0010] 在上述技术方案的基础上,本发明还可以做如下改进。
[0011] 进一步,所述步骤2中将程序文件存储在创建的存储目录下时,按所述指定的文 件格式进行存储。
[0012] 进一步,所述指定的文件格式中需包括文件名称、开发人员名称和当前时间。
[0013] 进一步,所述步骤2中,在目标主机中存储该程序文件具体包括:根据上线文件列 表中该程序文件的文件路径,在目标主机上创建该程序文件的存储目录,将程序文件存储 在创建的存储目录下。
[0014] 进一步,所述步骤3中采用的FTP方式为基于二进制传输模式的FTP方式。
[0015] 进一步,还包括步骤5 :监测NG端口和应用端口的可用性。
[0016] 本发明的技术方案还包括一种程序文件自动上线系统,包括:
[0017] 选择模块,其用于读取程序文件的上线文件列表,并从中选择当前要上线的程序 文件;
[0018] 备份及存储模块,其用于判断当前要上线的程序文件是否在目标主机中存在,若 是则在目标主机上按指定的文件格式备份该程序文件,否则在目标主机中存储该程序文 件;
[0019] 上传模块,用于采用FTP方式将程序文件上传至目标主机指定的目标地址;
[0020] 端口启停模块,若程序文件为需要重启相关应用才能生效的文件,则在程序文件 上传至目标地址对应的主机后,先依次停止该主机的NG端口和应用端口,再依次启动该主 机的应用端口和NG端口。
[0021] 进一步,所述指定的文件格式中需包括文件名称、开发人员名称和当前时间。
[0022] 进一步,所述上传模块中采用的FTP方式为基于二进制传输模式的FTP方式。
[0023] 进一步,还包括端口监测模块,其用于监测NG端口和应用端口的可用性。
[0024] 本发明的有益效果可概括为以下几点:
[0025] -、科学备份文件:自动以"文件名称+开发人员名称+当前时间"形式的方式备 份文件,使程序文件能有据可查,改善了程序文件溯源性差的问题,能在第一时间找到责任 人对出现错误的程序文件进行修复和调整。
[0026] 二、自动上线处理:自动同步上传程序文件至多个主机,自动停启所有应用端口与 NG端口,自动测试所有端口的可用性。
[0027] 三、程序适应性较高:程序采用perl程序开发,不受主机环境影响。
[0028] 四、上线时间极大缩短:上线无需再熬夜,白天也可以安全上线。
[0029] 五、上线后恢复快:上线后出错时,仍使用本发明的方法,可较快完成功能恢复。
[0030] 六、程序配置方便:上线时只需把上线文件列表以及作者写入配置文件即完成配 置。

【专利附图】

【附图说明】
[0031] 图1为本发明所述程序文件自动上线方法的流程示意图;
[0032] 图2为本发明所述程序文件自动上线系统的结构示意图。

【具体实施方式】
[0033] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0034] 如图1所示,本实施例给出了一种程序文件自动上线方法,包括:
[0035] 步骤1,读取程序文件的上线文件列表,并从中选择当前要上线的程序文件;
[0036] 步骤2,判断当前要上线的程序文件是否在目标主机中存在,若是则在目标主机上 按指定的文件格式备份该程序文件,否则在目标主机中存储该程序文件;
[0037] 步骤3,采用FTP方式将程序文件上传至目标主机指定的目标地址;
[0038] 步骤4,若程序文件为需要重启相关应用才能生效的文件,则在程序文件上传至目 标地址对应的主机后,先依次停止该主机的NG端口和应用端口,再依次启动该主机的应用 端口和NG端口。
[0039] 此外,还包括有步骤5 :监测NG端口和应用端口的可用性。
[0040] 对应地,本实施例还给出了一种程序文件自动上线系统,包括:
[0041] 选择模块,其用于读取程序文件的上线文件列表,并从中选择当前要上线的程序 文件;
[0042] 备份及存储模块,其用于判断当前要上线的程序文件是否在目标主机中存在,若 是则在目标主机上按指定的文件格式备份该程序文件,否则在目标主机中存储该程序文 件;
[0043] 上传模块,用于采用FTP方式将程序文件上传至目标主机指定的目标地址;
[0044] 端口启停模块,若程序文件为需要重启相关应用才能生效的文件,则在程序文件 上传至目标地址对应的主机后,先依次停止该主机的NG端口和应用端口,再依次启动该主 机的应用端口和NG端口;
[0045] 端口监测模块,其用于监测NG端口和应用端口的可用性。
[0046] 本实施例中,进行程序文件备份时,执行cp命令,将其备份成指定的的文件格 式,为便于后续有据可查,该文件格式中需包括文件名称、开发人员名称和当前时间,具 体的格式设置没有要求,可采用"文件名称.当前时间.开发人员名称"的文件格式,如: a. jsp. 20120612. gaoxue〇
[0047] 当判断当前要上线的程序文件不在目标主机中存在时,在目标主机中存储该程序 文件具体包括:根据上线文件列表中该程序文件的文件路径,执行mkdir-p命令,在目标主 机上创建该程序文件的存储目录,将程序文件存储在创建的存储目录下。
[0048] 另外,采用FTP方式将程序文件上传至目标主机指定的目标地址时,为保证执行 FTP命令时文件字节大小保持不变,采用二进制传输模式的FTP方式。
[0049] 在实际应用中,程序文件分为需要重启相关应用才能生效的文件和不需要重启相 关应用就能生效的文件,前者如class文件,后者如jsp、html、css、图片、某些自定义的配 置文件、属性文件等。对于需要重启相关应用才能生效的文件,务必要按停止主机的NG端 口-停止主机的应用端口-启动主机的应用端口 -启动主机的NG端口的次序进行其端口 的启停,具体的过程如下:
[0050] 1)停止 NG 端口。
[0051] 执行 killall ngnix 命令,停止 NG 端口。
[0052] 2)停止应用端口。
[0053] 采用以下命令执行,停止两个应用端口 :
[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,执行命令:
[0058] sh/ehome/domains/adomain/start41001. sh
[0059] 4)启动另一个应用端口。
[0060] 如应用端口 41002,执行命令:
[0061] sh/ehome/domains/adomain/start41002. sh
[0062] 5)启动 NG 端口。
[0063] 执行命令:
[0064] /eweb/nginxl/sbin/nginx
[0065] /eweb/nginx2/sbin/nginx
[0066] 在进行端口启停的同时,还可以监测NG端口和应用端口的可用性,并向各主机返 回监测的情况。
[0067] 本实施例中涉及的各指令采用perl程序开发,不受主机环境影响,程序适应性较 商。
[〇〇68] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种程序文件自动上线方法,其特征在于,包括: 步骤1,读取程序文件的上线文件列表,并从中选择当前要上线的程序文件; 步骤2,判断当前要上线的程序文件是否在目标主机中存在,若是则在目标主机上按指 定的文件格式备份该程序文件,否则在目标主机中存储该程序文件; 步骤3,采用FTP方式将程序文件上传至目标主机指定的目标地址; 步骤4,若程序文件为需要重启相关应用才能生效的文件,则在程序文件上传至目标地 址对应的主机后,先依次停止该主机的NG端口和应用端口,再依次启动该主机的应用端口 和NG端口。
2. 根据权利要求1所述的程序文件自动上线方法,其特征在于,所述步骤2中将程序文 件存储在创建的存储目录下时,按所述指定的文件格式进行存储。
3. 根据权利要求1所述的程序文件自动上线方法,其特征在于,所述指定的文件格式 中需包括文件名称、开发人员名称和当前时间。
4. 根据权利要求1所述的程序文件自动上线方法,其特征在于,所述步骤2中,在目标 主机中存储该程序文件具体包括:根据上线文件列表中该程序文件的文件路径,在目标主 机上创建该程序文件的存储目录,将程序文件存储在创建的存储目录下。
5. 根据权利要求1所述的程序文件自动上线方法,其特征在于,所述步骤3中采用的 FTP方式为基于二进制传输模式的FTP方式。
6. 根据权利要求1至6中任一所述的程序文件自动上线方法,其特征在于,还包括步骤 5 :监测NG端口和应用端口的可用性。
7. -种程序文件自动上线系统,其特征在于,包括: 选择模块,其用于读取程序文件的上线文件列表,并从中选择当前要上线的程序文 件; 备份及存储模块,其用于判断当前要上线的程序文件是否在目标主机中存在,若是则 在目标主机上按指定的文件格式备份该程序文件,否则在目标主机中存储该程序文件; 上传模块,用于采用FTP方式将程序文件上传至目标主机指定的目标地址; 端口启停模块,若程序文件为需要重启相关应用才能生效的文件,则在程序文件上传 至目标地址对应的主机后,先依次停止该主机的NG端口和应用端口,再依次启动该主机的 应用端口和NG端口。
8. 根据权利要求7所述的程序文件自动上线系统,其特征在于,所述指定的文件格式 中需包括文件名称、开发人员名称和当前时间。
9. 根据权利要求7所述的程序文件自动上线系统,其特征在于,所述上传模块中采用 的FTP方式为基于二进制传输模式的FTP方式。
10. 根据权利要求7至9中任一所述的程序文件自动上线系统,其特征在于,还包括端 口监测模块,其用于监测NG端口和应用端口的可用性。
【文档编号】G06F11/14GK104111879SQ201410314756
【公开日】2014年10月22日 申请日期:2014年7月3日 优先权日:2014年7月3日
【发明者】高学 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1