著录项信息
专利名称 | WEB网站系统服务器终端程序的版本自动发布方法 |
申请号 | CN200910034830.5 | 申请日期 | 2009-09-04 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2010-01-27 | 公开/公告号 | CN101635640 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/24 | IPC分类号 | H;0;4;L;1;2;/;2;4;;;H;0;4;L;1;2;/;1;8;;;G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 江苏天智互联科技有限公司 | 申请人地址 | 江苏省南京市南昌路40号长江科技园7层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 江苏天智互联科技股份有限公司 | 当前权利人 | 江苏天智互联科技股份有限公司 |
发明人 | 张文良 |
代理机构 | 南京苏科专利代理有限责任公司 | 代理人 | 何朝旭 |
摘要
本发明涉及一种WEB网站系统服务器终端程序的版本自动发布方法,属于软件版本控制和发布技术领域。该方法的步骤为:在客户开发服务器端形成针对需解决问题的新VSS版本文件;并将需解决问题与新VSS版本文件相关联;编译生成更新版目标程序文件;上传到网站服务器端;网站服务器端自动获得更新版目标程序,与Web服务器配置信息组装成预定格式的数据结构后,分发含有更新版目标程序文件的拷贝到Web网站的各台服务器;自动重启Web网站的各台服务器上的Web服务,完成所需的WEB网站版本自动发布更新。采用本发明后,可以显著提高版本发布工作效率,大幅度减轻版本发布人员的工作量,大大减少出错率,使版本发布过程可控、安全可靠、有据可查。
WEB网站系统服务器终端程序的版本自动发布方法\n技术领域\n[0001] 本发明涉及一种WEB网站系统服务器终端程序的版本自动发布方法,属于软件版本控制和发布技术领域。\n背景技术\n[0002] 当今的互联网信息时代,web网站系统得到广泛的应用。由于用户的业务需求变化快,因而经常需要对网站的页面功能进行修改和扩充,结果催生网站新的版本的不断诞生。\n[0003] 对于大中型网站而言,一般由多个程序员开发完成,对于网站每一个待发布的新版本,都存在如何将VSS(版本控制工具)上程序员修改过的版本文件整理出待发布版本的问题。同时,一般大中型网站是由几十台或上百台web服务器组成,如何发布版本文件到多台web服务器成为需要解决的问题。现有新版本的发布方式均为手工:首先,所有参与待发布版本修改的程序员在VSS上CheckIn自己修改的程序文件,并手工记录VSS上被修改文件的全路径名,然后程序员将手工记录的文件修改内容通过邮件或其它方式通知版本管理人员,版本管理人员根据程序员提供的文件修改内容从VSS下载被修改的版本文件到本地计算机上的某个目录,然后手工调用编译工具将此目录下的JAVA源程序文件编译生成目标程序文件,然后手工将待发布版本的版本文件打包成一个压缩文件包,然后手工调用FTP(文件传输协议)工具将此压缩文件包上传到Web网站运行环境,然后手工解压缩版本文件包,手工拷贝解压缩后的版本文件到web网站运行环境的所有web服务器,然后手工重启所有web服务器上的web服务,并检查web服务器上的web服务是否运行正常。\n[0004] 上述采用手工方式对web网站系统进行版本发布的方法存在版本管理人员的工作量大、效率低、出错率高、版本发布失败后不容易回滚的缺点。\n发明内容\n[0005] 本发明的目的在于:针对上述现有技术存在的问题,提出一种可以显著减小工作量、提高效率、降低出错率的Web网站系统服务器终端程序的版本自动发布方法。\n[0006] 为了达到以上目的,本发明的WEB网站系统服务器终端程序的版本自动发布方法包括以下步骤:\n[0007] 第一步、在客户开发服务器端和WEB网站服务器端分别加载版本自动发布工具,并分别建立开发版本发布信息数据库和WEB版本发布信息数据库;所述客户开发服务器端装载有J IRA(缺陷跟踪工具)和VSS(版本控制工具),所述WEB版本发布信息数据库中存储有Web服务器的版本发布配置信息;\n[0008] 第二步、确定待发布版本需解决问题,借助VSS,在客户开发服务器端修改原VSS版本文件,形成针对需解决问题的新VSS版本文件;\n[0009] 第三步、借助JIRA,在客户开发服务器端制定待发布版本号,将所述待发布版本号与需解决问题相关联,并将所述需解决问题与解决该问题的新VSS版本文件相关联;\n[0010] 第四步、以预定数据结构将待发布版本号、需解决问题和相应的新VSS版本文件的关联关系保存到客户开发服务器端的开发版本发布信息数据库中,并生成含有待发布版本号、新VSS版本文件路径信息的新版本发布标志文件;\n[0011] 第五步、客户开发服务器端定时检测开发版本发布信息数据库,当发现有新版本发布标志文件时,自动沿新VSS版本文件路径从VSS上将新VSS版本文件下载到本地计算机上的预定目录,然后编译JAVA(由Sun Microsystems公司推出的程序设计语言)源程序文件,并生成更新版目标程序文件;\n[0012] 第六步、客户开发服务器端自动将更新版目标程序文件以及新版本发布标志文件压缩成文件包,上传到网站服务器端;\n[0013] 第七步、网站服务器端定时检测FTP(文件传输协议)上传目录下的上传文件,当发现有新上传的压缩文件包后,自动解压缩此文件包,并将解压缩后得到的待发布版本号、更新版目标程序文件的路径存入WEB版本发布信息数据库;\n[0014] 第八步、网站服务器端自动从WEB版本发布信息数据库中读取更新版目标程序文件的路径,并按此路径获得更新版目标程序,与Web服务器配置信息组装成预定格式的数据结构后,分发含有更新版目标程序文件的拷贝到Web网站的各台服务器;\n[0015] 第九步、自动重启Web网站的各台服务器上的Web服务,完成所需的WEB网站版本自动发布更新。\n[0016] 本发明进一步的完善是,所述第七步中,网站服务器端自动解压缩版本文件包后,自动备份版本更新时将被替换的所有原版本文件;在第九步自动重启Web网站的各台服务器上的Web服务之后,网站服务器端自动检测Web网站各台服务器上重启的Web服务,如果发现异常(版本发布失败),则自动回滚版本文件到新版本发布前状态。\n[0017] 本发明再进一步的完善是,所述第八步中,网站服务器端自动从WEB版本发布信息数据库中读取更新版目标程序文件的路径,与Web服务器配置信息组装成预定格式的数据结构后,先拷贝更新版目标程序文件到做为Web网站的测试服务器,当测试发布成功后,再分发含有更新版目标程序文件的拷贝到Web网站的各台服务器。\n[0018] 本发明更进一步的完善是,所述第九步在完成所需的WEB网站版本自动发布更新之后,网站服务器端自动将新版本号、新版本发布结果保存到WEB版本发布信息数据库。\n[0019] 本发明的上述方法通过将WEB网站系统服务器终端程序的待发布版本问题和VSS中的版本文件进行关联,并将关联结果保存到开发版本发布信息数据库中,使版本管理人员可以查询任意一个已发布版本所修改的VSS版本文件。同时将原先手工操作的下载VSS版本文件、手工编译JAVA源程序文件生成目标程序文件、手工压缩打包上传版本文件的步骤全部由计算机代替实现。在Web网站运行环境下执行版本自动发布时,备份将要替换的原版本文件,然后将新的版本文件发布到测试web服务器,当测试服务器发布成功后,再分发到所有web服务器;此外,还具有版本发布失败后的自动回滚操作功能,以保证每次版本文件发布的正确性、可靠性。\n[0020] 因此,采用本发明后,可以显著提高Web网站系统服务器终端程序的版本发布工作效率,大幅度减轻版本发布人员的工作量,大大减少人工操作的出错率,取得版本发布操作简单、版本发布过程可控、版本文件发布安全可靠、版本发布历史有据可查的效果。\n附图说明\n[0021] 下面结合附图对本发明作进一步的说明。\n[0022] 图1为本发明一个实施例的硬件环境示意图。\n[0023] 图2为图1实施例的版本自动发布过程示意图。\n[0024] 图3为图1实施例的版本自动发布的流程图。\n具体实施方式\n[0025] 实施例一\n[0026] 本实施例WEB网站系统服务器终端程序的版本自动发布方法的硬件环境参见图\n1,及如下第一步。\n[0027] 第一步、在客户开发服务器端和WEB网站服务器端分别加载版本自动发布工具,并分别建立开发版本发布信息数据库和WEB版本发布信息数据库;所述客户开发服务器端装载有JIRA(缺陷跟踪工具)和VSS(版本控制工具),所述WEB版本发布信息数据库中存储有Web服务器的版本发布配置信息。\n[0028] 第二步、确定待发布版本需解决问题,借助VSS,在客户开发服务器端修改原VSS版本文件,形成针对需解决问题的新VSS版本文件。具体过程为:制定待发布的版本号:首先由版本管理人员通过JIRA(Atlassian公司的用于项目管理、任务管理和缺陷管理的系统)创建一个WEB网站服务器终端程序的待发布版本号,版本号的命名规则为:Web工程英文缩写名.年月日,其中年月目的格式为YYYYMMDD。\n[0029] 第三步、借助JIRA,在客户开发服务器端制定待发布版本号,将所述待发布版本号与需解决问题相关联,并将所述需解决问题与解决该问题的新VSS版本文件名相关联。具体操作为:创建关联待发布版本号的需解决问题:由WEB网站的项目负责人在JIRA中创建需要解决的问题,并选择此问题所属的待发布版本号;待发布版本号的需解决问题关联VSS(美国微软公司的版本控制系统Visual SourceSafe的简称)中的文件:在本实施例开发的版本自动发布系统中,程序员通过系统提供的操作界面,根据待发布版本号查询出此版本包含的所有问题,然后选择一个问题,并在VSS目录文件列表中选择为了解决此问题而修改的版本文件,然后点击“关联”按钮,将待发布版本号的某个问题和VSS文件进行关联。\n[0030] 第四步、以预定数据结构将待发布版本号、需解决问题和相应的新VSS版本文件的关联关系保存到客户开发服务器端的开发版本发布信息数据库中,并生成含有待发布版本号、新VSS版本文件路径信息的新版本发布标志文件。具体操作为:待发布版本号的某个问题和VSS版本文件关联成功后,系统先将待发布版本号、需解决问题ID、VSS中绑定版本号的版本文件三者之间的关系保存到数据结构TRec_DEPLOYVERSIONFILE中,TRec_DEPLOYVERSIONFILE的具体结构如下:\n[0031] TRec_DEPLOYVERSIONFILE=record //定义一个结构体\n[0032] ID:Double; //唯一的ID\n[0033] ISSUEID:Double; //问题ID\n[0034] USERID:Double; //操作者ID\n[0035] OPERATETIME:TDatetime; //操作时间\n[0036] FILEPATH:String; //VSS版本文件在\n[0037] VSS中的全路径\n[0038] VSSVERSIONNUMBER:Integer; //VSS文件在VSS中的文件版本号[0039] VERSIONNUMBER:String; //待发布版本号\n[0040] STATUS:Double //版本文件的状态\n[0041] end;\n[0042] 然后将待发布版本号、问题ID、VSS中绑定版本号的版本文件三者之间的关系保存到开发版本发布信息数据库中。\n[0043] 第五步、客户开发服务器端定时检测开发版本发布信息数据库,当发现有新版本发布标志文件时,自动沿新VSS版本文件路径从VSS上将新VSS版本文件下载到本地计算机上的预定目录,然后编译JAVA(由Sun Microsystems公司推出的程序设计语言)源程序文件,并生成更新版目标程序文件。具体操作为:客户开发服务器端通过定时器,每隔一段时间自动检测版本文件管理数据库,检查最新待发布版本号下的JIRA问题是否存在已经关联VSS版本文件,如果存在,则从开发版本发布信息数据库中查询最新待发布版本号包含的VSS版本文件,然后通过调用VSS的应用程序接口,直接从VSS版本文件库中下载指定的版本文件到本地计算机上的某个目录;然后通过命令行调用JAVA程序ant命令,将下载到本地目录的待发布版本中所包含的JAVA(由Sun Microsystems公司推出的程序设计语言)源程序文件编译生成更新版目标程序文件。\n[0044] 第六步、客户开发服务器端自动将更新版目标程序文件以及新版本发布标志文件压缩成文件包,上传到网站服务器端。具体操作包括:客户开发服务器端通过定时器,每隔一定时间自动检测待发布版本号关联的JIRA问题是否都已被解决,如果都已解决,则先生成一个包含待发布版本号、更新版目标程序文件路径的特定格式内容的标志文件,文件名为verinfo.ini,文件内容如下:\n[0045] [VER_INFO]\n[0046] VER_NO=Web工程英文缩写名.年月日\n[0047] DEPLOY_FLAG=发布\n[0048] [FILE_INFO]\n[0049] 1=更新版目标程序文件1的路径\n[0050] 2=更新版目标程序文件2的路径\n[0051] n=更新版目标程序文件n的路径\n[0052] 其中的VER_NO表示待发布的是某个web工程的某个版本号,DEPLOY_FLAG表示此版本号是否可以发布,然后通过命令行调用rar(windows平台下的一种文件压缩工具)命令,将此标志文件和待发布的版本文件一起打包压缩成一个文件包;打包完成后,客户开发服务器端使用FTP(文件传输协议)协议,将待发布版本文件压缩包上传到Web网站运行环境中的版本发布服务器的上。\n[0053] 第七步、网站服务器端定时检测FTP(文件传输协议)上传目录下的上传文件,当发现有新上传的压缩文件包后,自动解压缩此文件包,并将解压缩后得到的待发布版本号、更新版目标程序文件的路径存入WEB版本发布信息数据库。具体操作为:在Web网站运行环境中,网站服务器端通过定时器,在用户设定的版本自动发布的时间,先检查指定目录下是否存在最新待发布版本的文件压缩包,如果存在,则自动解压缩版本文件包,读取ver info.ini标志文件中的待发布版本号和发布标志,然后从版本发布管理数据库中读取当前web工程英文缩写名,然后判断此工程英文缩写名称是否和标志文件中的版本号包含的web工程英文缩写名一致,如果名称一致,且标志文件中的发布标志为“发布”,则读取verinfo.ini标志文件中更新版目标程序文件的路径,然后从web测试服务器中拷贝所有需要被替换的老的版本文件到版本文件备份目录下,并保存更新版目标程序文件路径信息到web版本发布信息数据库中。\n[0054] 第八步、网站服务器端自动从WEB版本发布信息数据库中读取更新版目标程序文件的路径,并按此路径获得更新版目标程序,与Web服务器配置信息组装成预定格式的数据结构后,分发含有更新版目标程序文件的拷贝到Web网站的各台服务器。具体过程为:在开始自动发布前,网站服务器端先从版本发布管理数据库中读取所有需要发布的Web服务器配置信息,具体的数据表结构如下:\n[0055] \n 字段名称 字段类型 约束 说明\n NOT 主键\n ID NUMBER(10)\n NULL\n IP_ADDRESS VARCHAR2(15) NOT Web服务器的IP\n NULL\n NOT Web服务器的描述\n DESCRIPTION VARCHAR2(30)\n NULL\n Web服务器类型:\n NOT\n SERVER_TYPE CHAR(1) W-Web服务器;T-测试服\n NULL\n 务器;P-图片服务器;\n NOT Web服务所在目录路径\n WEB_PATH VARCHAR2(50)\n NULL\n IS_ABSOLUTE_P Web服务路径类型:0-相\n VARCHAR(3) NULL\n ATH 对路径;-1-绝对路径\n NOT 0-直接拷贝;1-ftp上传\n COPY_MODE INTEGER\n NULL 拷贝\n FTP_USER_NAME VARCHAR(20) NULL ftp上传登录用户名\n FTP_PASSWORD VARCHAR2(100) NULL ftp上传登录密码\n BAT_FILE VARCHAR2(50) NULL 特殊处理的批处理文件\n 检测web服务器是否正常\n WEB_CHECK_URL VARCHAR2(100) NULL\n 的url\n NOT 是否需要升级标志:\n STATUS CHAR(1)\n NULL A-有效;U-无效\n[0056] 然后将每台web服务器的配置信息装入TRec_VER_IP_ADDRESS数据结构中,TRec_VER_IP_ADDRESS数据结构如下:\n[0057] TRec_VER_IP_ADDRESS=record\n[0058] ID:Double;\n[0059] IP_ADDRESS:String;\n[0060] WEB_PATH:String;\n[0061] DESCRIPTION:String;\n[0062] BAT_FILE:String;\n[0063] SERVER_TYPE:String;\n[0064] STATUS:String;\n[0065] COPY_MODE:Integer;\n[0066] FTP_USER_NAME:String;\n[0067] FTP_PASSWORD:String;\n[0068] WEB_CHECK_URL:String;\n[0069] IS_ABSOLUTE_PATH:String\n[0070] end;\n[0071] 之后判断当前web服务器中是否存在web测试服务器,如果存在,则先拷贝当前待发布版本下的版本文件到web测试服务器,然后调用测试url检查web服务是否正常,如果不正常,则自动回滚版本文件到web测试服务器;否则拷贝版本文件到所有的web服务器。\n[0072] 第九步、自动重启Web网站的各台服务器上的Web服务,完成所需的WEB网站版本自动发布更新。具体操作包括:当拷贝版本文件到某台web服务器后,版本自动发布系统通过TCP/IP(传输控制协议/互联网络协议)协议和此web服务器上的监控子系统进行通讯,发送重启指令,监控子系统接受到重启指令后,调用批处理命令重启web服务,重启完成后,版本自动发布系统调用检测web服务是否正常的URL,测试web服务器上的web服务是否运行正常;如果不正常,则向监控子系统发送回滚指令,监控子系统接受到回滚指令后,先从版本文件备份目录下拷贝老的版本文件到web服务器,然后调用批处理命令重启web服务,恢复web服务器到发布前状态。\n[0073] 第十步、发布完成后,自动保存版本号、版本发布结果到版本发布管理数据库中。\n即当发布版本文件到所有web服务器成功后,系统保存当前待发布版本号到版本发布管理数据库的(VER_NO)版本号日志表,然后保存每台web服务器的发布结果到版本升级日志表(VER_LOG)。\n[0074] 以上过程参见图2和图3。\n[0075] 实践证明,采用本实施例后,显著提高了Web网站系统服务器终端程序的版本发布工作效率,大幅度减轻了工作量,并减少了出错率,使版本发布操作简单、过程可控、安全可靠、有据可查。\n[0076] 除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |