CN103729195A - 一种软件版本的控制方法及系统 - Google Patents

一种软件版本的控制方法及系统 Download PDF

Info

Publication number
CN103729195A
CN103729195A CN201410017266.7A CN201410017266A CN103729195A CN 103729195 A CN103729195 A CN 103729195A CN 201410017266 A CN201410017266 A CN 201410017266A CN 103729195 A CN103729195 A CN 103729195A
Authority
CN
China
Prior art keywords
code
server
software
task scheduling
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410017266.7A
Other languages
English (en)
Other versions
CN103729195B (zh
Inventor
李钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410017266.7A priority Critical patent/CN103729195B/zh
Publication of CN103729195A publication Critical patent/CN103729195A/zh
Application granted granted Critical
Publication of CN103729195B publication Critical patent/CN103729195B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种软件版本的控制方法和系统,代码服务器接收到任务调度服务器发送的新运营代码或者开发机发送的新开发代码;代码服务器将新运营代码或新开发代码保存在代码版本库中,并进行相应的版本更新处理;当代码服务器接收到从任务调度服务器或开发机发送的新版本发布请求时,从代码版本库中生成最新版本的软件,并将最新版本的软件返回给任务调度服务器或开发机。本发明的方法及系统,使得运营代码和开发代码在统一的代码版本库中进行配置管,解决了开发人员和运营人员共同维护一个完整的项目代码的问题,通过同样的代码管理方式进行统一维护,可以使项目代码完整且版本正确,并使开发人员能用最熟悉的环境,提高开发效率。

Description

一种软件版本的控制方法及系统
技术领域
本发明涉及软件版本管理技术领域,尤其涉及一种软件版本的控制方法及系统。
背景技术
目前,随着互联网的快速发展,出现了很多具有大量用户的网络应用,这些网络应用为用户提供大量的信息,因此需要大量人员来维护网站的运营。目前可以将网站的工作人员分为两种类型的人员,第一种类型的人员为Web开发工程师,开发工程师负责网站程序部分的开发,主要包括后端php工程师及前端js、css开发工程师。另一类人员是网站运营人员:他们利用网站开发工程师所提供的网站程序来维护Web页面链接、数据,通过运营方式使得Web页面内容不断更新。
利用这种方式,现在的网站大多数都实现了开发和运营的分离。然而网站运营人员在维护的时候,可能Web开发工程师也修改代码,Web开发工程师进行开发和运营人员修改代码之间是独立进行的,并且各自维护代码,工程代码分离,需要运营维护的数据代码。从现有工程中分离出去,这样不利于项目的统一管理、维护,无法提供工程师一个有效率的开发环境。代码的上线无法和项目上线方式保持一致,这会给项目的维护工作带来很多问题。例如,网络运营人员通过cms系统更新内容时,往往一次只能提交一个或者少数几个内容,并且在数次操作中完成整个内容的更新,当网站为具有大量用户的网站时,用户甚至会在更新期间访问网站,从而会看见更新不完整的内容,降低对网站的满意度。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种软件版本的控制方法,运营代码和开发代码在统一的代码版本库中进行配置管理。
一种软件版本的控制方法,包括:所述代码服务器接收到任务调度服务器发送的新运营代码或者开发机发送的新开发代码;所述代码服务器将所述新运营代码或新开发代码保存在代码版本库中,并进行相应的版本更新处理;当所述代码服务器接收到从所述任务调度服务器或所述开发机发送的新版本发布请求时,从所述代码版本库中生成最新版本的软件,并将最新版本的软件返回给所述任务调度服务器或所述开发机。
根据本发明的一个实施例,进一步的,后台Web服务器提供修改运营代码的界面,并将新运营代码转发给所述任务调度服务器;所述后台Web服务器提供发布新版本的界面,用于向所述任务调度服务器发送软件发布请求;所述任务调度服务器向所述代码服务器发送新版本发布请求,并将所述代码服务器返回的所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
根据本发明的一个实施例,进一步的,所述任务调度服务器接收从后台Web服务器发送的请求,并将所述请求对应的任务发送给工作进程,所述请求包括:更新运营代码请求和软件发布请求;运行在所述任务调度服务器中的所述工作进程执行所述任务,所述任务包括:将新运营代码转发到所述代码服务器、接收所述代码服务器返回的所述最新版本的软件、将所述最新版本的软件发布到前端Web服务器。
根据本发明的一个实施例,进一步的,所述开发机中运行版本控制工具维护所述代码版本库中的开发代码;当检测到所述代码版本库中有修改时,所述开发机将与所述修改相对应的新开发代码发送到所述代码服务器;所述开发机向所述代码服务器发送新版本发布请求,并通过命令行脚本工具将所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
根据本发明的一个实施例,进一步的,所述代码服务器中的代码版本库为SVN代码库;通过所述工作机中运行的SVN客户端维护所述SVN代码库中的开发代码,所述工作机中的操作系统为linux并提供代码编辑器;所述任务调度服务器为Gearman服务器。
本发明要解决的一个技术问题是提供一种软件版本的控制系统,运营代码和开发代码在统一的代码版本库中进行配置管理。
一种软件版本的控制系统,包括:任务调度服务器,用于向代码服务器发送新运营代码;开发机,用于向代码服务器发送新开发代码;代码服务器,将接收到的所述新运营代码或新开发代码保存在代码版本库中,并进行相应的版本更新处理;当接收到从所述任务调度服务器或所述开发机发送的新版本发布请求时,从所述代码版本库中生成最新版本的软件,并将最新版本的软件返回所述任务调度服务器或所述开发机。
根据本发明的一个实施例,进一步的,还包括:后台Web服务器,用于提供修改运营代码的界面,并将新运营代码转发给任务调度服务器;提供发布新版本的界面,所述界面用于向所述任务调度服务器发送软件发布请求;其中,所述任务调度服务器,还用于向所述代码服务器发送新版本发布请求,并将所述代码服务器返回的所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
根据本发明的一个实施例,进一步的,所述任务调度服务器,具体用于接收从后台Web服务器发送的请求,并将所述请求对应的任务发送到工作进程,所述消息包括:更新运营代码请求和软件发布请求;运行在所述任务调度服务器中的工作进程执行所述任务,所述任务包括:将新运营代码转发到所述代码服务器、接收所述代码服务器返回的所述最新版本的软件、将所述最新版本的软件发布到前端Web服务器。
根据本发明的一个实施例,进一步的,所述开发机,,具体用于通过运行版本控制工具维护所述代码版本库中的开发代码;当检测到版本库中有修改时,将与所述修改相对应的新开发代码发送到所述代码服务器;向所述代码服务器发布请求新版本发布请求,并通过命令行脚本工具将所述代码服务器返回的所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
根据本发明的一个实施例,进一步的,所述代码服务器中的代码版本库为SVN代码库;所述工作机,具体用于通过SVN客户端维护所述SVN代码中的开发代码;所述工作机中的操作系统为linux并提供代码编辑器;所述任务调度服务器为Gearman服务器。
本发明的软件版本的控制方法及系统,运营代码和开发代码在统一的代码版本库中进行配置管理解决了开发人员和运营人员共同维护一个完整的项目代码的问题,可以使项目代码完整且版本正确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明的软件版本的控制方法的一个实施例的流程图;
图2为根据本发明的软件版本的控制方法的一个实施例中运营人员维护、发布软件的流程图;
图3为根据本发明的软件版本的控制方法的一个实施例中开发人员维护、发布软件的流程图;
图4为根据本发明的软件版本的控制系统的一个实施例的示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中的运营代码是指由运营人员进行修改、维护的代码或文件,包括:HTML文件、照片、图片、视频等等。例如,运营人员修改网页HTML文件中的图片、标题、链接等等,可以通过工具来完成。
本发明中的开发代码是指由开发人员开发的代码或文件,例如有css,java文件、php页面等等。
图1为根据本发明的软件版本的控制方法的一个实施例的流程图,如图1所示:
步骤101,代码服务器接收到任务调度服务器发送的新运营代码或者开发机发送的新开发代码。
新运营代码是指由运营人员修改、新建的代码或文件,包括:HTML文件、照片、图片、视频等等。例如,运营人员修改了网页HTML文件中的图片、标题、链接等等。新开发代码是指由开发人员开发的新代码或文件以及修改的代码或文件,包括:css,java文件、php页面等等。
步骤102,代码服务器将新运营代码或新开发代码保存在代码版本库中,并进行相应的版本更新处理。
步骤103,当代码服务器接收到从任务调度服务器或开发机发送的新版本发布请求时,从代码版本库中生成最新版本的软件,并将最新版本的软件返回给任务调度服务器或开发机。
代码版本控制是现代软件开发中必不可少的管理机制之一,通常借助版本配置管理软件来实现。版本配置管理软件在软件开发中的重要作用如下:作为代码仓库有效的管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取。对开发小组中对源代码的访问进行有效的协调(不同的版本控制软件采取不同的协调策略)。版本配置管理软件包括:clearcase、SVN、git等等。
根据本发明的一个实施例,在代码服务器中设置代码版本库,即通过版本配置管理软件建立的代码仓库。例如,在代码服务器上运行SVN建立代码仓库,管理不同版本的源代码和文档。当要生成最新的软件版本时,在代码服务器上运行的SVN根据源代码和文档的版本信息,从源代码和文档的版本分支中获取最新的源代码和文档,进行编译、集成,生成最新版本的软件,包括:jar包、exe文件等等。
运营人员将新的HTML文件发送到任务调度服务器,由任务调度服务器发送到代码服务器。任务调度服务器包括:Gearman服务器、Kafka服务器等等。例如,运营人员通过后台Web服务器将新修改的HTML文件转发给任务调度服务器,任务调度服务器将接收到的新修改的HTML文件发送到代码服务器。后台Web服务器、任务调度服务器和代码服务器之间可以采用ftp等方式传输新运营代码。
代码服务器中运行版本配置管理软件,版本配置管理软件对源代码和文档进行配置、管理。在代码服务器中设置代码版本库,即通过版本配置管理软件建立的代码仓库,管理不同版本的源代码和文档。代码服务器将新运营代码保存在代码版本库中,并进行相应的版本更新处理,例如对文件标识版本号等等。开发机是指开发人员进行软件开发的设备,可以通过telnet登录使用,或配备外设键盘和显示器等,由开发人员直接使用。开发人员修改了开发代码,开发机将开发代码发送到代码服务器上,代码服务器将新开发代码保存在代码版本库中,并进行相应的版本更新处理,例如对文件标识版本号等等。
根据本发明的一个实施例,Web工程师通过命令行脚本工具完成上线工作。网站运营人员也可以完成上线工作。Web工程师和网站运营人员都能够获取同一个代码版本库中生成的最新版本软件进行发布,实现版本的更新一致,改善用户访问网站的体验。
根据本发明的一个实施例,后台Web服务器提供修改运营代码的界面,可以是网页,并将新运营代码转发给任务调度服务器。后台Web服务器提供发布新版本的界面,可以是网页,用于向任务调度服务器发送软件发布请求。
图2为根据本发明的软件版本的控制方法的一个实施例中运营人员维护、发布软件的流程图,如图2所示:
步骤201,运营人员通过后台Web服务器提供的修改运营代码的界面,将新运营代码转发给任务调度服务器。
步骤202,任务调度服务器将新运营代码发送给代码服务器。代码服务器将新运营代码保存在代码版本库中,并进行相应的版本更新处理。
步骤203,运营人员通过后台Web服务器提供的发布新版本的界面,向任务调度服务器发送软件发布请求。
步骤204,任务调度服务器向代码服务器发送新版本发布请求,代码服务器从代码版本库中生成最新版本的软件,并将最新版本的软件返回给任务调度服务器。
步骤205,任务调度服务器将代码服务器返回的最新版本的软件发布到前端Web服务器,完成最新版本的软件的发布、上线,并给后端Web服务器发送完成任务的结果。
根据本发明的一个实施例,任务调度服务器也可以是任务调度服务系统,任务调度服务器可以是Gearman服务器、Kafka服务器等等。例如,Gearman提供通用的应用程序框架,主要用来把任务转发给到其他机器或进程。使用Gearman的程序由3个部分组成:客户端(client)、执行端(worker)和任务服务器(job server)。Client的职责是创建任务Job并发送给Job server。Job server会找到适合的Worker并转发job。Worker执行client的请求,然后通过jobserver把处理结果返给client。
根据本发明的一个实施例,任务调度服务器和后台Web服务器之间采用消息机制传送请求,任务调度服务器接收从后台Web服务器发送的请求,并将请求对应的任务发送给工作进程,请求包括:更新运营代码请求和软件发布请求等。
运行在任务调度服务器中的工作进程执行任务,任务包括:将新运营代码转发到代码服务器、接收代码服务器返回的最新版本的软件、将最新版本的软件发布到前端Web服务器等。
图3为根据本发明的软件版本的控制方法的一个实施例中开发人员维护、发布软件的流程图,如图3所示:
步骤301,开发人员通过开发机将新开发代码发送到代码服务器。新开发代码可以是根据项目或进度等开发的新代码或修改已有的代码,或者当检测到版本库中有修改时,开发人员开发的与此修改相对应的新开发代码或修改已有的代码。
步骤302,开发机向代码服务器发送新版本发布请求,代码服务器集成最新版本的软件包,并将最新版本的软件包返回开发机。
步骤303,开发人员使用开发机通过命令行脚本工具将最新版本的软件发布到前端Web服务器,完成最新版本的软件的发布、上线。
根据本发明的一个实施例,开发人员通过版本控制工具维护代码版本库中的开发代码。当检测到版本库中有修改时,开发机将与修改相对应的新开发代码发送到代码服务器,并保存在代码版本库中。
在开发机上安装版本控制工具的客户端,例如,SVN客户端,可以将新代码加入代码版本库中,或者对已有的版本进行修改,通过checkout、checkin等操作更新代码。工作机中的操作系统为linux并提供代码编辑器。
开发机向代码服务器发送新版本发布请求,代码服务器使用build、ant命令等集成最新版本的软件包。使用开发机通过命令行脚本工具将最新版本的软件发布到前端Web服务器,完成最新版本的软件的发布、上线。例如,Web工程师使用自己熟悉的环境进行开发(如linux+vim),通过版本控制工具(如svn)维护代码,并通过命令行脚本工具完成上线工作。
根据本发明的一个实施例,在前端Web服务器中部署了一个管理系统,此管理系统的源代码和文档都存储在代码服务器中。
在代码服务器上运行版本配置管理工具,例如SVN,建立代码仓库,即代码版本库,将此管理系统的源代码和文档都存储在代码版本库中,SVN可以对每个代码文件和文档都建立独立的分支,并对源代码和文档的不同版本进行管理。
运营人员对管理系统进行修改,例如,修改了一个网页文件a1.htm中的链接,并更换了一个新增的图片image.jpg。运营人员通过后台Web服务器提供的修改运营代码的界面,将新修改的a1.htm和新增的image.jpg发送给任务调度服务器,并标识a1.htm为修改状态以及image.jpg为新增状态。
任务调度服务器中运行的工作进行接收新修改的a1.htm和新增的image.jpg,并转发给代码服务器,标识a1.htm为修改状态、image.jpg为新增状态。
代码服务器上运行的一个工作进程接收新修改的a1.htm和新增的image.jpg,并调用SVN为代码版本库中原有的a1.htm建立新的版本分支,并将此新版本的文件设置为运营人员新修改的a1.htm,并标注新的版本号,调用SVN为image.jpg在代码版本库中建立新分支及版本号,并存储image.jpg。
开发人员对代码进行修改,例如,新增了一个java文件d2.java,开发人员通过SVN客户端检测到代码版本库中有新修改的a1.htm和新增的image.jpg,针对代码版本库中的修改,开发人员修改了代码版本库中原有的CSS文件c1.css。
开发机通过SVN客户端将d2.java和c1.css发送给代码服务器,并标识c1.css为修改状态和d2.java为新增状态。代码服务器接收新修改的c1.css和新增的d2.java,调用SVN为代码版本库中原有的c1.css建立新的版本分支,将此新版本的文件设置为开发人员新修改的c1.css,并标识新的版本号,调用SVN为d2.java在代码版本库中建立新分支及版本号,并存储d2.java。
当运营人员通过后台Web服务器提供的发布新版本的界面向任务调度服务器发送软件发布请求,任务调度服务器向代码服务器发送新版本发布请求,或者,开发人员通过开发机向代码服务器发送新版本发布请求时,代码服务器上的工作进程调用SVN、或者SVN根据接收的SVN客户端发送的指令生成软件版本。
代码服务器上运行的SVN根据代码版本库中各个源代码和文档分支的版本号信息,获取代码版本库中各个源代码文件和文档带有最新版本号的文件,并进行编译、打包等操作生成新的软件包,软件包中包含新修改的a1.htm、c1.css和新增的image.jpg、d2.java。
代码服务器将软件包返回给任务调度服务器,任务调度服务器将代码服务器返回的软件包发布到前端Web服务器,或者代码服务器将软件包返回开发机,开发机通过命令行脚本工具将软件包发布到前端Web服务器,完成最新版本的软件的发布、上线。运营人员和开发人员都能获取同一个代码版本库中生成的最新版本软件包并进行发布,实现了软件版本的更新一致。
本发明的软件版本的控制方法,可以使项目代码完整,能通过同样的代码管理方式进行统一维护,使得开发人员能用最熟悉的环境,提高开发效率,提供运营人员交互、友好的界面,例如Web界面,能和开发人员协同工作,共同维护项目代码。
图4为根据本发明的软件版本的控制系统的一个实施例的示意图,如图4所示,软件版本的控制系统包括:任务调度服务器42、开发机43和代码服务器41。
任务调度服务器42向代码服务器41发送新运营代码。开发机43向代码服务器发送新开发代码。
代码服务器41将接收到的新运营代码或新开发代码保存在代码版本库中,并进行相应的版本更新处理,例如,更改或添加版本号等等。
当接收到从任务调度服务器42或开发机43发送的新版本发布请求时,代码服务器41从代码版本库中生成最新版本的软件,并将最新版本的软件返回任务调度服务器42或开发机43。
根据本发明的一个实施例,在代码服务器上运行的版本配置管理软件建立代码仓库,管理各个不同版本的源代码和文档。例如SVN,当生成软件版本时,在代码服务器上运行的SVN根据源代码和文档的版本信息,从源代码和文档的版本分支中获取最新的源代码和文档,进行编译、集成,生成最新版本的软件,包括:jar包、exe文件等等。
根据本发明的一个实施例,运营人员使用笔记本电脑46、47访问后台Web服务器44,后台Web服务器44对运营人员提供修改运营代码的Web界面,并将新运营代码转发给任务调度服务器42。
后台Web服务器44也可以向运营人员提供发布新版本的Web界面,通过Web界面向任务调度服务器42发送软件发布请求。
任务调度服务器42向代码服务器41发送新版本发布请求,并将代码服务器41返回的最新版本的软件发布到前端Web服务器48,完成最新版本的软件的发布、上线,并向后台Web服务器44返回执行的结果。
根据本发明的一个实施例,任务调度服务器42接收从后台Web服务器44发送的请求,并将请求对应的任务发送到工作进程,请求包括:更新运营代码请求和软件发布请求等。
运行在任务调度服务器42中的工作进程执行任务,任务包括:将新运营代码转发到代码服务器、接收代码服务器返回的最新版本的软件、将最新版本的软件发布到前端Web服务器等。
根据本发明的一个实施例,当检测到版本库中有修改时,开发人员使用个人笔记本电脑45登录开发机43,或直接使用开发机43将与修改相对应的新开发代码发送到代码服务器41,通过版本控制工具维护代码版本库中的开发代码。
开发机43向代码服务器41发布请求新版本发布请求,开发人员通过开发机中的命令行脚本工具将代码服务器41返回的最新版本的软件发布到前端Web服务器48,完成最新版本的软件的发布、上线。
代码服务器41中的代码版本库可以为SVN代码库。开发人员通过开发机43上的SVN客户端维护SVN代码中的开发代码。开发机43中的操作系统为linux并且开发人员通过vim编辑器进行开发代码。任务调度服务器42为Gearman服务器。
本发明的软件版本的控制系统,解决了开发人员和运营人员共同维护一个完整的项目代码的问题,可以使项目代码完整且版本正确,能通过同样的代码管理方式进行统一维护,使得开发人员能用最熟悉的环境,提高开发效率,提供运营人员交互、友好的界面,例如Web界面,能和开发人员协同工作,共同维护项目代码。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1.一种软件版本的控制方法,其包括:
代码服务器接收到任务调度服务器发送的新运营代码或者开发机发送的新开发代码;
所述代码服务器将所述新运营代码或新开发代码保存在代码版本库中,并进行相应的版本更新处理;
当所述代码服务器接收到从所述任务调度服务器或所述开发机发送的新版本发布请求时,从所述代码版本库中生成最新版本的软件,并将最新版本的软件返回给所述任务调度服务器或所述开发机。
2.如权利要求1所述的方法,其中:
后台Web服务器提供修改运营代码的界面,并将新运营代码转发给所述任务调度服务器;
所述后台Web服务器提供发布新版本的界面,用于向所述任务调度服务器发送软件发布请求;
所述任务调度服务器向所述代码服务器发送新版本发布请求,并将所述代码服务器返回的所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
3.如权利要求2所述的方法,其中:
所述任务调度服务器接收从后台Web服务器发送的请求,并将所述请求对应的任务发送给工作进程,所述请求包括:更新运营代码请求和软件发布请求;
运行在所述任务调度服务器中的所述工作进程执行所述任务,所述任务包括:将新运营代码转发到所述代码服务器、接收所述代码服务器返回的所述最新版本的软件、将所述最新版本的软件发布到前端Web服务器。
4.如权利要求3所述的方法,其中:
所述开发机中运行版本控制工具维护所述代码版本库中的开发代码;
当检测到所述代码版本库中有修改时,所述开发机将与所述修改相对应的新开发代码发送到所述代码服务器;
所述开发机向所述代码服务器发送新版本发布请求,并通过命令行脚本工具将所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
5.如权利要求4所述的方法,其中:
所述代码服务器中的代码版本库为SVN代码库;通过所述工作机中运行的SVN客户端维护所述SVN代码库中的开发代码;所述工作机中的操作系统为linux并提供代码编辑器;所述任务调度服务器为Gearman服务器。
6.一种软件版本的控制系统,其包括:
任务调度服务器,用于向代码服务器发送新运营代码;
开发机,用于向代码服务器发送新开发代码;
代码服务器,用于将接收到的所述新运营代码或新开发代码保存在代码版本库中,并进行相应的版本更新处理;当接收到从所述任务调度服务器或所述开发机发送的新版本发布请求时,从所述代码版本库中生成最新版本的软件,并将最新版本的软件返回所述任务调度服务器或所述开发机。
7.如权利要求6所述的系统,其中,还包括:
后台Web服务器,用于提供修改运营代码的界面,并将新运营代码转发给任务调度服务器;提供发布新版本的界面,所述界面用于向所述任务调度服务器发送软件发布请求;
其中,所述任务调度服务器,还用于向所述代码服务器发送新版本发布请求,并将所述代码服务器返回的所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
8.如权利要求7所述的系统,其中:
所述任务调度服务器,具体用于接收从后台Web服务器发送的请求,并将所述请求对应的任务发送到工作进程,所述请求包括:更新运营代码请求和软件发布请求;运行在所述任务调度服务器中的工作进程执行所述任务,所述任务包括:将新运营代码转发到所述代码服务器、接收所述代码服务器返回的所述最新版本的软件、将所述最新版本的软件发布到前端Web服务器。
9.如权利要求8所述的系统,其中:
所述开发机,具体用于通过运行版本控制工具维护所述代码版本库中的开发代码;当检测到版本库中有修改时,将与所述修改相对应的新开发代码发送到所述代码服务器;向所述代码服务器发布请求新版本发布请求,并通过命令行脚本工具将所述代码服务器返回的所述最新版本的软件发布到前端Web服务器,完成所述最新版本的软件的发布、上线。
10.如权利要求9所述的系统,其中:
所述代码服务器中的代码版本库为SVN代码库;
所述工作机,具体用于通过SVN客户端维护所述SVN代码中的开发代码;所述工作机中的操作系统为linux并提供代码编辑器;
所述任务调度服务器为Gearman服务器。
CN201410017266.7A 2014-01-15 2014-01-15 一种软件版本的控制方法及系统 Active CN103729195B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410017266.7A CN103729195B (zh) 2014-01-15 2014-01-15 一种软件版本的控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410017266.7A CN103729195B (zh) 2014-01-15 2014-01-15 一种软件版本的控制方法及系统

Publications (2)

Publication Number Publication Date
CN103729195A true CN103729195A (zh) 2014-04-16
CN103729195B CN103729195B (zh) 2017-04-05

Family

ID=50453281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410017266.7A Active CN103729195B (zh) 2014-01-15 2014-01-15 一种软件版本的控制方法及系统

Country Status (1)

Country Link
CN (1) CN103729195B (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008441A (zh) * 2014-05-06 2014-08-27 烽火通信科技股份有限公司 一种自动提交版本库归档的任务管理系统及方法
CN104199667A (zh) * 2014-09-10 2014-12-10 南靖万利达科技有限公司 一种新建mtk工程和提交代码的方法及系统
CN104536890A (zh) * 2014-12-26 2015-04-22 小米科技有限责任公司 测试系统、方法和装置
CN105094851A (zh) * 2015-09-06 2015-11-25 浪潮软件股份有限公司 一种基于Git随时发布代码的实现方法
CN105446729A (zh) * 2014-11-18 2016-03-30 国网山东省电力公司 基于sap平台的代码更新自动传输实现方法及系统
CN105653263A (zh) * 2015-12-25 2016-06-08 中国银联股份有限公司 应用程序开发及运营系统
CN106326372A (zh) * 2016-08-12 2017-01-11 北京创新乐知信息技术有限公司 Git中央仓库管理系统及控制方法
CN106325871A (zh) * 2016-08-25 2017-01-11 乐视控股(北京)有限公司 一种服务器的维护方法及装置
CN106445541A (zh) * 2016-09-30 2017-02-22 华胜信泰信息产业发展有限公司 软件构建方法、软件构建装置和软件构建系统
CN106648812A (zh) * 2016-08-31 2017-05-10 上海锐鸿通信技术有限公司 自动编译的方法和系统
CN106790463A (zh) * 2016-12-08 2017-05-31 广州杰赛科技股份有限公司 Web配置文件重载过程的访问方法和系统
CN106775860A (zh) * 2016-12-08 2017-05-31 广州杰赛科技股份有限公司 Web配置文件的重载方法和系统
CN107357559A (zh) * 2016-05-10 2017-11-17 北京京东尚科信息技术有限公司 远端执行服务器的信息控制方法和装置
CN108182111A (zh) * 2018-01-23 2018-06-19 百度在线网络技术(北京)有限公司 任务调度系统、方法和装置
CN108574720A (zh) * 2017-05-09 2018-09-25 北京金山云网络技术有限公司 一种服务上线方法及装置
CN109359028A (zh) * 2018-08-22 2019-02-19 平安科技(深圳)有限公司 代码质量监控方法、装置、计算机设备及存储介质
CN109445839A (zh) * 2018-09-25 2019-03-08 平安普惠企业管理有限公司 一种模块管理包发布方法、装置及终端设备
CN109683955A (zh) * 2018-12-29 2019-04-26 北京奇艺世纪科技有限公司 版本库复制方法及系统
CN110119393A (zh) * 2016-04-29 2019-08-13 清华大学 代码版本管理系统及方法
CN110532000A (zh) * 2019-09-06 2019-12-03 程延辉 一种用于运营发布的kbroker分布式操作系统和运营发布系统
CN110633095A (zh) * 2018-12-07 2019-12-31 完美世界(北京)软件科技发展有限公司 一种用于代码管理的系统和方法
CN110750243A (zh) * 2019-09-20 2020-02-04 中国联合网络通信集团有限公司 项目代码开发方法和系统
CN111596953A (zh) * 2020-05-08 2020-08-28 Oppo(重庆)智能科技有限公司 版本管理系统、开发数据传输控制方法及相关装置
CN112799716A (zh) * 2021-02-09 2021-05-14 广州锦行网络科技有限公司 一种代码管理方法及系统
CN112817616A (zh) * 2021-03-02 2021-05-18 福州汇思博信息技术有限公司 一种pkg文件的管理方法及终端
CN112947907A (zh) * 2020-03-23 2021-06-11 深圳市明源云科技有限公司 一种创建代码分支的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101635640A (zh) * 2009-09-04 2010-01-27 江苏天智互联科技有限公司 Web网站系统服务器终端程序的版本自动发布方法
CN101661388A (zh) * 2008-08-29 2010-03-03 国际商业机器公司 版本管理系统和方法以及同步控制设备和方法
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
CN102195804A (zh) * 2011-03-10 2011-09-21 易程(苏州)软件股份有限公司 软件自动更新方法及其系统
WO2011129049A1 (ja) * 2010-04-14 2011-10-20 株式会社ソニー・コンピュータエンタテインメント ユーザ支援システム、ユーザ支援方法、管理サーバ及び携帯情報端末

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661388A (zh) * 2008-08-29 2010-03-03 国际商业机器公司 版本管理系统和方法以及同步控制设备和方法
CN101635640A (zh) * 2009-09-04 2010-01-27 江苏天智互联科技有限公司 Web网站系统服务器终端程序的版本自动发布方法
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
WO2011129049A1 (ja) * 2010-04-14 2011-10-20 株式会社ソニー・コンピュータエンタテインメント ユーザ支援システム、ユーザ支援方法、管理サーバ及び携帯情報端末
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
CN102195804A (zh) * 2011-03-10 2011-09-21 易程(苏州)软件股份有限公司 软件自动更新方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
符宁: "Web应用程序开发技术及工具的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008441A (zh) * 2014-05-06 2014-08-27 烽火通信科技股份有限公司 一种自动提交版本库归档的任务管理系统及方法
CN104199667A (zh) * 2014-09-10 2014-12-10 南靖万利达科技有限公司 一种新建mtk工程和提交代码的方法及系统
CN105446729B (zh) * 2014-11-18 2019-05-28 国网山东省电力公司 基于sap平台的代码更新自动传输实现方法及系统
CN105446729A (zh) * 2014-11-18 2016-03-30 国网山东省电力公司 基于sap平台的代码更新自动传输实现方法及系统
CN104536890A (zh) * 2014-12-26 2015-04-22 小米科技有限责任公司 测试系统、方法和装置
CN104536890B (zh) * 2014-12-26 2018-02-13 小米科技有限责任公司 测试系统、方法和装置
CN105094851A (zh) * 2015-09-06 2015-11-25 浪潮软件股份有限公司 一种基于Git随时发布代码的实现方法
CN105653263A (zh) * 2015-12-25 2016-06-08 中国银联股份有限公司 应用程序开发及运营系统
CN110119393B (zh) * 2016-04-29 2021-04-09 清华大学 代码版本管理系统及方法
CN110119393A (zh) * 2016-04-29 2019-08-13 清华大学 代码版本管理系统及方法
CN107357559B (zh) * 2016-05-10 2021-05-25 北京京东尚科信息技术有限公司 远端执行服务器的信息控制方法和装置
CN107357559A (zh) * 2016-05-10 2017-11-17 北京京东尚科信息技术有限公司 远端执行服务器的信息控制方法和装置
CN106326372A (zh) * 2016-08-12 2017-01-11 北京创新乐知信息技术有限公司 Git中央仓库管理系统及控制方法
CN106325871A (zh) * 2016-08-25 2017-01-11 乐视控股(北京)有限公司 一种服务器的维护方法及装置
CN106648812A (zh) * 2016-08-31 2017-05-10 上海锐鸿通信技术有限公司 自动编译的方法和系统
CN106445541A (zh) * 2016-09-30 2017-02-22 华胜信泰信息产业发展有限公司 软件构建方法、软件构建装置和软件构建系统
CN106790463B (zh) * 2016-12-08 2020-09-15 广州杰赛科技股份有限公司 Web配置文件重载过程的访问方法和系统
CN106775860A (zh) * 2016-12-08 2017-05-31 广州杰赛科技股份有限公司 Web配置文件的重载方法和系统
CN106790463A (zh) * 2016-12-08 2017-05-31 广州杰赛科技股份有限公司 Web配置文件重载过程的访问方法和系统
CN106775860B (zh) * 2016-12-08 2020-09-15 广州杰赛科技股份有限公司 Web配置文件的重载方法和系统
CN108574720B (zh) * 2017-05-09 2021-07-20 北京金山云网络技术有限公司 一种服务上线方法及装置
CN108574720A (zh) * 2017-05-09 2018-09-25 北京金山云网络技术有限公司 一种服务上线方法及装置
CN108182111A (zh) * 2018-01-23 2018-06-19 百度在线网络技术(北京)有限公司 任务调度系统、方法和装置
CN109359028A (zh) * 2018-08-22 2019-02-19 平安科技(深圳)有限公司 代码质量监控方法、装置、计算机设备及存储介质
CN109359028B (zh) * 2018-08-22 2024-05-03 平安科技(深圳)有限公司 代码质量监控方法、装置、计算机设备及存储介质
CN109445839A (zh) * 2018-09-25 2019-03-08 平安普惠企业管理有限公司 一种模块管理包发布方法、装置及终端设备
CN110633095B (zh) * 2018-12-07 2023-07-14 完美世界(北京)软件科技发展有限公司 一种用于软件开发的系统和方法
CN110633095A (zh) * 2018-12-07 2019-12-31 完美世界(北京)软件科技发展有限公司 一种用于代码管理的系统和方法
CN109683955B (zh) * 2018-12-29 2022-07-05 北京奇艺世纪科技有限公司 版本库复制方法及系统
CN109683955A (zh) * 2018-12-29 2019-04-26 北京奇艺世纪科技有限公司 版本库复制方法及系统
CN110532000A (zh) * 2019-09-06 2019-12-03 程延辉 一种用于运营发布的kbroker分布式操作系统和运营发布系统
CN110532000B (zh) * 2019-09-06 2023-01-10 程延辉 一种用于运营发布的kbroker分布式操作系统和运营发布系统
CN110750243A (zh) * 2019-09-20 2020-02-04 中国联合网络通信集团有限公司 项目代码开发方法和系统
CN112947907A (zh) * 2020-03-23 2021-06-11 深圳市明源云科技有限公司 一种创建代码分支的方法
CN111596953B (zh) * 2020-05-08 2023-05-26 Oppo(重庆)智能科技有限公司 版本管理系统、开发数据传输控制方法及相关装置
CN111596953A (zh) * 2020-05-08 2020-08-28 Oppo(重庆)智能科技有限公司 版本管理系统、开发数据传输控制方法及相关装置
CN112799716B (zh) * 2021-02-09 2022-04-01 广州锦行网络科技有限公司 一种代码管理方法及系统
CN112799716A (zh) * 2021-02-09 2021-05-14 广州锦行网络科技有限公司 一种代码管理方法及系统
CN112817616A (zh) * 2021-03-02 2021-05-18 福州汇思博信息技术有限公司 一种pkg文件的管理方法及终端

Also Published As

Publication number Publication date
CN103729195B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
CN103729195A (zh) 一种软件版本的控制方法及系统
CA3003773C (en) User interface for automated flows within a cloud based developmental platform
US20200090052A1 (en) Decision tables and enterprise rules for object linking within an application platform as a service environment
US9934007B2 (en) Method for operating tool in working environment and machine using such method
US20180321833A1 (en) User interface for automated flows within a cloud based developmental platform
US20060184933A1 (en) Integration of software into an existing information technology (IT) infrastructure
US8335773B2 (en) Stable linking and patchability of business processes through hierarchical versioning
AU2019201100B2 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US9396090B2 (en) System overview diagram generator
CN102650952A (zh) 基于mvc框架的建模工具命令调用方法及系统
US20200272958A1 (en) Deploying dispatch form with implied workflows to mobile devices
KR20220132459A (ko) 디자인 시스템을 구비한 사용자 인터페이스 플랫폼 통합 개발 시스템 및 방법
US20160085544A1 (en) Data management system
Dery-Pinna et al. Component model and programming: a first step to manage Human Computer Interaction Adaptation
CN110647349B (zh) 一种实现iOS APP持续交付的方法
EP3624027A1 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
KR101762861B1 (ko) 하나 이상의 기능 모듈을 이용한 확장형 연산 처리 시스템, 하나 이상의 기능 모듈을 이용한 정보 처리 방법 및 이를 위한 컴퓨터 프로그램
JP2008243070A (ja) 環境移行サーバ装置、端末装置、環境移行方法及び環境移行プログラム
JP2007179209A (ja) 業務プロセスやドキュメントの記録・管理方法
CN104239308A (zh) 一种页面广告请求的访问、整合与优化方法
KR20170080773A (ko) 경량형 PaaS 시스템 및 그 제공 방법
US20130117700A1 (en) Landscape Delta Path Calculation
Budiardja et al. Library function tracking with XALT
WO2016000635A1 (en) Method for operating tool in working environment and machine using such method
CN102768721A (zh) 控制白名单的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right