项目的发布方法及系统、控制终端、存储器与流程

文档序号:14072380阅读:103来源:国知局

本发明属于计算机软件技术领域,尤其涉及一种项目的发布方法及系统、控制终端、存储器。



背景技术:

在软件研发过程中,产品研发中心不断地进行新需求的开发和完善,并将开发的程序代码发送给项目,项目需要及时进行程序的发布,即将程序文件上传到应用服务器的指定目录下。这项工作在中小型项目,同时项目部署较为简单的情况下可手工完成,但是在大型的分布式系统中,通常将一套产品划分为非常多的应用,同时项目部署比较复杂,每个应用可能部署在一到多台服务器上,这使得该项工作的工作量成倍增加,并且手工操作容易出现疏忽错误等,造成了产品发布的困难。

传统的项目发布过程中,通过会使用脚本来进行系统发布,例如底层利用scp/ftp中转的方式将代码包传到服务器上去,然后重启应用。此时需要一台台比所发布的项目包是否一致来保证项目发布的一致性,操作过程比较繁琐。



技术实现要素:

本发明实施例提供了一种项目的发布方法及系统、控制终端、存储器,旨在解决现有技术中需要人工逐个比对每个机器上的项目包是否一致导致操作过程繁琐,效率低的问题。

本发明实施例是这样实现的,一种项目的发布方法,包括:

接收项目的发布指示;

根据所述发布指示打包对应的项目,形成项目包;

将所述项目包传送至两台以上机器;

自动监测所述两台以上机器接收的项目包是否均一致;

当监测到所述两台以上机器接收的项目包均一致时,进行项目的发布。

优选地,所述项目包携带预设版本号,所述自动监测所述两台以上机器接收的项目包是否均一致具体为:

基于所述预设版本号自动监测所述两台以上机器接收的项目包是否均一致。

优选地,所述基于所述预设版本号自动监测所述两台以上机器接收的项目包是否均一致具体包括:

自动将预设版本号与所述两台以上机器中的每一机器接收的项目包的版本号进行比较;

在所述两台以上机器中的每一机器接收的项目包的版本号均与所述预设版本号一致时,确认所述两台以上机器接收的项目包均一致;

在所述两台以上机器中的至少一台机器接收的项目包的版本号与所述预设版本号不一致时,确认所述两台以上机器接收的项目包不一致。

优选地,确认所述两台以上机器接收的项目包不一致之后还包括:

获取所述至少一台机器中的每一台机器的信息。

优选地,所述获取所述至少一台机器中的每一台机器的信息之后还包括:

重新为所述至少一台机器中的每一台机器传送所述项目包。

优选地,所述当监测到所述两台以上机器接收的项目包一致时,进行项目的发布之后还包括:

判断发布是否成功;

在判断发布成功时,接收并展示所述两台以上机器中的每一机器反馈的指标信息。

优选地,所述判断发布是否成功之后还包括:

在判断发布失败时,进行回滚处理。

本发明还提供一种项目的发布系统,包括:

接收模块,用于接收项目的发布指示;

打包模块,用于根据所述发布指示打包对应的项目,形成项目包;

传送模块,用于将所述项目包传送至两台以上机器;

监测模块,用于自动监测所述两台以上机器接收的项目包是否均一致;

发布模块,用于当监测到所述两台以上机器接收的项目包均一致时,进行项目的发布。

本发明还提供一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:

接收项目的发布指示;

根据所述发布指示打包对应的项目,形成项目包;

将所述项目包传送至两台以上机器;

自动监测所述两台以上机器接收的项目包是否均一致;

当监测到所述两台以上机器接收的项目包均一致时,进行项目的发布。

本发明还提供一种控制终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

接收项目的发布指示;

根据所述发布指示打包对应的项目,形成项目包;

将所述项目包传送至两台以上机器;

自动监测所述两台以上机器接收的项目包是否均一致;

当监测到所述两台以上机器接收的项目包均一致时,进行项目的发布。

在本发明实施例中,自动监测比对项目包的版本是否一致,在确认一致后才进行项目发布,无需人工逐一比对,提高项目发布效率。

附图说明

图1是本发明第一实施例提供的一种项目的发布方法的流程图;

图2是本发明第一实施例提供的一种项目的发布方法的一优选方案的流程图;

图3是本发明第一实施例提供的一种项目的发布方法的步骤s4的具体流程图;

图4是本发明第二实施例提供的一种项目的分布系统的结构图;

图5是本发明第三实施例提供的一种控制终端的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,一种项目的发布方法,包括:接收项目的发布指示;根据所述发布指示打包对应的项目,形成项目包;将所述项目包传送至两台以上机器;自动监测所述两台以上机器接收的项目包是否均一致;当监测到所述两台以上机器接收的项目包均一致时,进行项目的发布。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种项目的发布方法的流程图,包括:

步骤s1,接收项目的发布指示;

具体地,在需要发布项目时,用户或者管理者(或维护人员)在前端页面选择要发布的项目,以按按钮或者鼠标点击的方式发出项目的发布指示。

步骤s2,根据发布指示打包对应的项目,形成项目包;

具体地,用户打开选择的项目的页面,直接编译或者操作按钮的方式进一步发出编译指示,根据该编译指示将对应的项目进行打包处理,形成项目包,该项目包携带项目的预设版本号,或者是根据项目生成一个预设的版本号,用于后续的发布。

步骤s3,将项目包传送至两台以上机器;

具体地,首先预设一个项目对应的机器(例如受控机器),通常情况下,对应的机器为两个以上,根据预设的对应信息(包括每一对应的机器的型号或者识别码、连接地址等,此处对此不作限制)找到对应的机器,并为每一上述机器传送该项目包。进一步地,用户可在页面上点击传送按钮即可进行项目包的传送操作。

步骤s4,自动监测两台以上机器接收的项目包是否均一致;

具体地,在传送之后或者在传送过程中,自动监测每一上述机器接收的项目包是否均为同一个项目包。进一步地,基于上述预设版本号自动监测两台以上机器接收的项目包是否均一致。

步骤s5,当监测到两台以上机器接收的项目包均一致时,进行项目的发布;

具体地,当两台以上机器接收的项目包均一致时,表示通过一致性检测,可进行项目的发布。

本实施例中,自动监测比对项目包的版本是否一致,在确认一致后才进行项目发布,提高项目发布效率。

在本实施例的一个优选方案中(见图2),该步骤s5之后还包括:

步骤s6,判断发布是否成功;

具体地,通过检查进程启动及日志有无报错来判断发布是否成功,在无报错时,确认发布成功,转到步骤s7,否则确认不成功,转到步骤s8,本实施例中,在实际运行过程中,可能会出现一些问题,核实是否发布成功,根据核实结果执行相应操作,可提高项目发布的可靠性;

步骤s7,接收并展示两台以上机器中的每一机器反馈的指标信息。

具体地,在发布之后,每一机器会反馈对应的指标信息,该指标信息至少包括以下一个:磁盘、内存、cpu、负载等信息,此处对此不作限制。接收到每一机器反馈的指标信息后,对其进行展示。

步骤s8,进行回滚处理;

具体地,预先为所有受控的机器预设一个稳定的项目版本号,在发布失败时,接收用户的回滚指示(用户点击回滚按钮),根据预设的回滚对应的稳定的项目版本号,将每一机器的项目版本号回归至该稳定的项目版本号。在一个变形方案中,首先为每一受控的机器分别预设一个以上稳定的项目版本号,在需要进行回归时,用户可根据需求选择回滚的项目版本号,执行回滚操作后回归到指定的版本号(即有指定版本号的项目部署包),贴近用户实际需求。

在本实施例的进一步优选方案中,该步骤s7之后还可包括:

验证项目是否达到预期功能;

具体地,通过人工验证的方式来对项目逻辑进行验证,验证其是否可实现预期功能;需要说明的是,该步骤还可与步骤s7同步进行,或者步骤s7在该步骤之后,此处对此不作限制。

在达到预期功能时,停止进程;

在未达到预期功能时,表示为满足预期,转到步骤s8进行回滚操作。

在本实施例的一个优选方案中,如图3所示,为本发明第一实施例提供的一种项目的发布方法的步骤s4的具体流程图,该步骤s4具体包括:

步骤s41,自动将预设版本号与两台以上机器中的每一机器接收的项目包的版本号进行比较;

具体地,自动检测每一台上述机器,将预设版本号与每一台机器接收的项目包的版本号进行比较,当每一台机器接收的项目包的版本号均与预设版本号一致时,确认两台以上机器接收的项目包均一致,转到步骤s5;在有一台以上机器接收的项目包的版本号与预设版本号不一致时,确认两台以上机器接收的项目包不一致,转到步骤s42。

步骤s42,获取至少一台机器中的每一台机器的信息;

具体地,获取每一版本号与预设版本号不一致的机器的信息,该信息包括该机器的识别码或者编号等,接着转到步骤s43。

步骤s43,重新为至少一台机器中的每一台机器传送项目包;

具体地,根据所获取的信息为对应的机器重新传送打包后的项目包,然后重新执行步骤s4,再次监测是否所有机器接收的项目包均一致,直到实现所有机器接收的项目包均一致目的。

本实施例中,自动监测比对项目包的版本是否一致,在确认一致后才进行项目发布,无需人工逐个比对,提高项目发布效率。

其次,可预先设置回滚的项目版本号,根据实际需求回归至指定版本号,贴近项目发布需求。

再者,统一对受控机器反馈的指标信息进行展示,可直观看到各受控机器的状态。

实施例二:

图4示出了本发明第二实施例提供的一种项目的分布系统的结构图,该系统包括:接收模块1、与接收模块1连接的打包模块2、与打包模块2连接的传送模块3、与传送模块3连接的监测模块4、与监测模块4连接的发布模块5,其中:

接收模块1,用于接收项目的发布指示;

具体地,在需要发布项目时,用户或者管理者(或维护人员)在前端页面选择要发布的项目,以按按钮或者鼠标点击的方式发出项目的发布指示。

打包模块2,用于根据发布指示打包对应的项目,形成项目包;具体地,用户打开选择的项目的页面,直接编译或者操作按钮的方式进一步发出编译指示,根据该编译指示将对应的项目进行打包处理,形成项目包,该项目包携带项目的预设版本号,或者是根据项目生成一个预设的版本号,用于后续的发布。

传送模块3,用于将项目包传送至两台以上机器;

具体地,首先预设一个项目对应的机器(例如受控机器),通常情况下,对应的机器为两个以上,根据预设的对应信息(包括每一对应的机器的型号或者识别码、连接地址等,此处对此不作限制)找到对应的机器,并为每一上述机器传送该项目包。进一步地,用户可在页面上点击传送按钮即可进行项目包的传送操作。

监测模块4,用于自动监测两台以上机器接收的项目包是否均一致;

具体地,在传送之后或者在传送过程中,自动监测每一上述机器接收的项目包是否均为同一个项目包。进一步地,基于上述预设版本号自动监测两台以上机器接收的项目包是否均一致。

发布模块5,用于当监测到两台以上机器接收的项目包均一致时,进行项目的发布;

具体地,当两台以上机器接收的项目包均一致时,表示通过一致性检测,可进行项目的发布。

本实施例中,自动监测比对项目包的版本是否一致,在确认一致后才进行项目发布,提高项目发布效率。

在本实施例的一个优选方案中,该系统还可包括:与发布模块5连接的判断模块6、与判断模块6连接的展示模块7及回滚模块8,其中:

判断模块6,用于判断发布是否成功;

具体地,通过检查进程启动及日志有无报错来判断发布是否成功,在无报错时,确认发布成功时反馈给展示模块7,否则反馈给回滚模块8;

展示模块7,用于接收并展示两台以上机器中的每一机器反馈的指标信息。

具体地,在发布之后,每一机器会反馈对应的指标信息,该指标信息至少包括以下一个:磁盘、内存、cpu、负载等信息,此处对此不作限制。接收到每一机器反馈的指标信息后,对其进行展示。

回滚模块8,用于进行回滚处理;

具体地,首先为所有受控的机器预设一个稳定的项目版本号,在发布失败时,接收用户的回滚指示(用户点击回滚按钮),根据预设的回滚对应的稳定的项目版本号,将每一机器的项目版本号回归至该稳定的项目版本号。在一个变形方案中,首先为每一受控的机器分别预设一个以上稳定的项目版本号,在需要进行回归时,用户可根据需求选择回滚的项目版本号,执行回滚操作后回归到指定的版本号(即有指定版本号的项目部署包),贴近用户实际需求。

在本实施例的进一步优选方案中,该系统还可包括:与判断模块6连接的验证模块,其中:

验证模块,用于验证项目是否达到预期功能;

具体地,通过人工验证的方式来对项目逻辑进行验证,验证其是否可实现预期功能。

在达到预期功能时,停止进程,不进行后续操作;

在未达到预期功能时,表示为满足预期,反馈给回滚模块8。

在本实施例的一个优选方案中,该监测模块4具体包括:比较单元、与比较单元连接的获取单元,其中:

比较单元,用于自动将预设版本号与两台以上机器中的每一机器接收的项目包的版本号进行比较;

具体地,自动检测每一台上述机器,将预设版本号与每一台机器接收的项目包的版本号进行比较,当每一台机器接收的项目包的版本号均与预设版本号一致时,确认两台以上机器接收的项目包均一致,将结果反馈给发布模块5,在有一台以上机器接收的项目包的版本号与预设版本号不一致时,确认两台以上机器接收的项目包不一致,反馈给获取单元;

获取单元,用于获取至少一台机器中的每一台机器的信息;

具体地,获取每一版本号与预设版本号不一致的机器的信息,该信息包括该机器的识别码或者编号等,将获取信息反馈给传送模块3;

在本实施例的一个优选方案中,该传送模块3还用于重新为至少一台机器中的每一台机器传送项目包;

具体地,根据所获取的信息为对应的机器重新传送打包后的项目包,然后将结果反馈给比较单元,再次监测是否所有机器接收的项目包均一致,直到实现所有机器接收的项目包均一致目的。

本实施例中,自动监测比对项目包的版本是否一致,在确认一致后才进行项目发布,无需人工逐个比对,提高项目发布效率。

其次,可预先设置回滚的项目版本号,根据实际需求回归至指定版本号,贴近项目发布需求。

再者,统一对受控机器反馈的指标信息进行展示,可直观看到各受控机器的状态。

实施例三:

图5示出了本发明第三实施例提供的一种控制终端的结构图,该控制终端包括:存储器(memory)51、处理器(processor)52、通信接口(communicationsinterface)53和总线54,该处理器52、存储器51、通信接口53通过总线54完成相互之间的交互通信。

存储器51,用于存储各种数据;

具体地,存储器51用于存储各种数据,例如通信过程中的数据、接收的数据等,此处对此不作限制,该存储器还包括有多个计算机程序。

通信接口53,用于该服务终端的通信设备之间的信息传输;

处理器52,用于调用存储器51中的各种计算机程序,以执行上述实施例一所提供的一种项目的发布方法,例如:

接收项目的发布指示;

根据所述发布指示打包对应的项目,形成项目包;

将所述项目包传送至两台以上机器;

自动监测所述两台以上机器接收的项目包是否均一致;

当监测到所述两台以上机器接收的项目包均一致时,进行项目的发布。

进一步地,还可执行下述步骤:

判断发布是否成功;

在判断发布成功时,接收并展示所述两台以上机器中的每一机器反馈的指标信息;

在判断发布失败时,进行回滚处理。

本实施例中,自动监测比对项目包的版本是否一致,在确认一致后才进行项目发布,提高项目发布效率。

本发明还提供一种存储器,该存储器存储有多个计算机程序,该多个计算机程序被处理器调用执行上述实施例一所述的一种项目的发布方法。

本发明中,自动监测比对项目包的版本是否一致,在确认一致后才进行项目发布,无需人工逐个比对,提高项目发布效率。

其次,可预先设置回滚的项目版本号,根据实际需求回归至指定版本号,贴近项目发布需求。

再者,统一对受控机器反馈的指标信息进行展示,可直观看到各受控机器的状态。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1