一种自动化代码发布的调度方法及系统与流程

文档序号:27682571发布日期:2021-12-01 00:14阅读:197来源:国知局
一种自动化代码发布的调度方法及系统与流程

1.本发明涉及项目上线发布技术领域,具体涉及一种自动化代码发布的调度方法及系统。


背景技术:

2.目前,项目上线时大多通过手工方式进行代码发布,其项目的可用性也是通过人为对应用依次进行重启及判断来解决这个问题,后来项目上线改造为自动发布代码后,每次自动发布代码的时候,有一定几率造成所有节点同时进行重启,从而导致项目无法进行访问,进而造成服务不可用的缺陷。


技术实现要素:

3.针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种自动化代码发布的调度方法及系统,以克服现有技术中所存在的自动发布代码所造成服务不可用的缺陷。
4.为实现上述目的,第一方面,本发明实施例提供了一种自动化代码发布的调度方法,所述方法包括:
5.通过服务器端制定调度发布规则;其中,所述服务器端包括预先建立的cmdb系统;
6.通过所述cmdb系统提供api接口,以供节点的agent客户端请求及回调;
7.由agent客户端通过所述api接口获取调度发布规则,执行更新并回调状态;
8.通过所述cmdb系统,更新调度状态信息,提供其他agent请求及回调。
9.优选地,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新。
10.优选地,项目发布上线时,所述cmdb系统将所述调度发布规则以api的形式提供,使得节点的agent客户端开机时,即与项目进行关联。
11.优选地,所述方法还包括:
12.所有节点进行自动化代码发布后,在此过程中,通过所述cmdb系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
13.第二方面,本发明实施例提供了一种自动化代码发布的调度系统,包括服务器端和agent客户端;
14.所述服务器端用于:
15.制定调度发布规则;其中,所述服务器端包括预先建立的cmdb系统;
16.所述cmdb系统,用于提供api接口,以供节点的agent客户端请求及回调;
17.所述agent客户端用于:
18.通过所述api接口获取调度发布规则,执行更新并回调状态;
19.所述cmdb系统还用于,更新调度状态信息,提供其他agent请求及回调。
20.优选地,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新。
21.优选地,项目发布上线时,所述cmdb系统将所述调度发布规则以api的形式提供,使得节点的agent客户端开机时,即与项目进行关联。
22.优选地,所有节点进行自动化代码发布后,在此过程中,通过所述cmdb系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
23.实施本发明实施例,通过制定调度发布规则,支持复杂场景根据不同更新策略制定具有针对性的发布方式,无需每次自动发布均对所有节点进行重启,同时又可对根据制定的发布规则,对节点进行调度管理;也克服了之前自动化代码发布导致服务不可用性的问题。
附图说明
24.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
25.图1是本发明实施例提供的一种自动化代码发布的调度方法的流程图;
26.图2是本发明实施例提供的一种自动化代码发布的调度系统的结构框图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.为更好地理解本发明实施例,先对所涉及的相关技术内容进行如下描述:
29.agent是指能够自主活动的软件或者硬件实体,在it领域表示代理的意思。
30.cmdb(configuration management database,配置管理数据库)是一个逻辑数据库,包含了配置项全生命周期(包括物理关系、实时通信关系、非实时通信关系和依赖关系)。
31.请参考图1,本发明实施例提供的一种自动化代码发布的调度方法,所述方法包括:
32.s101,通过服务器端制定调度发布规则;其中,所述服务器端包括预先建立的cmdb系统。
33.具体地,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新;实施时,优选部分节点更新策略作为调度发布规则;其中:
34.单节点更新表示:单台节点依次进行更新;
35.所有节点更新表示:所有节点同时进行更新;
36.指定节点更新表示:选择指定节点数进行更新;
37.节点百分比更新表示:根据节点数自动决策百分比依次进行更新(节点数为n,当n<=10,取50%,当10<n<=50,取25%等,比例策略可调整)。
38.s102,通过所述cmdb系统提供api接口,以供节点的agent客户端请求及回调。
39.具体地,所述调度发布规则包括调度策略;项目发布上线时,所述cmdb系统将所述调度发布规则中的调度策略以api的形式提供,使得节点的agent客户端开机时,即与项目
进行关联。
40.s103,由agent客户端通过所述api接口获取调度发布规则,执行更新并回调状态。
41.s104,通过所述cmdb系统,更新调度状态信息,提供其他agent请求及回调。
42.具体地,在本实施例中,agent客户端调用cmdb的api接口,实时获取调度事件信息,如果agent未获取到发布事件,就继续等待;若获取到发布事件后,则进行自动化代码发布操作,然后将状态回调至cmdb的api接口,等待来自其他节点(剩余节点)的agent获取发布事件进行更新操作,以此类推;
43.需要说明的是,在本实施例中,agent客户端与agent含义相同。
44.进一步地,所有节点进行自动化代码发布后,在此过程中,通过所述cmdb系统收集项目发布的整体发布时间、节点更新耗时和状态更新等信息。
45.为更好的理解本发明,以一具体实例进行说明。
46.例如,项目名为demo,节点数为20,我们选择“节点百分比更新”的调度发布规则进行自动化代码发布。当demo项目发布上线的时候,cmdb系统中调度策略根据节点数计算为25%的比例进行发布,demo项目需要分4次进行发布,每次发布5节点数,调度策略以api的形式提供,节点的agent客户端开机的时候与demo项目的就进行了关联;
47.接下来,agent客户端调用cmdb的api接口,实时获取调度事件信息,如果agent获取到发布事件,获取到发布事件后进行自动化代码发布操作,然后将状态回调至cmdb的api接口,等待来自其他节点的agent获取发布事件进行更新操作,以此类推。
48.最后,所有节点进行自动化代码发布后,这个过程中,cmdb系统收集了项目发布的整体发布时间、节点更新耗时、更新状态等信息。
49.从以上描述可以得出,实施本发明实施例所提供的一种自动化代码发布的调度方法,通过制定调度发布规则,支持复杂场景根据不同更新策略制定具有针对性的发布方式,无需每次自动发布均对所有节点进行重启,同时又可对根据制定的发布规则,对节点进行调度管理;也克服了之前自动化代码发布导致服务不可用性的问题。
50.基于相同的发明构思,本发明实施例提供了一种自动化代码发布的调度系统。如图2所示,该系统包括服务器端和agent客户端;所述agent客户端的数量为多个,在此不做限制。
51.所述服务器端用于:
52.制定调度发布规则;其中,所述服务器端包括预先建立的cmdb系统;
53.所述cmdb系统,用于提供api接口,以供节点的agent客户端请求及回调;
54.所述agent客户端用于:
55.通过所述api接口获取调度发布规则,执行更新并回调状态;
56.所述cmdb系统还用于,更新调度状态信息,以提供其他agent请求及回调。
57.应用时,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新;
58.项目发布上线时,所述cmdb系统将所述调度发布规则以api的形式提供,使得节点的agent客户端开机时,即与项目进行关联;
59.同时,所有节点进行自动化代码发布后,在此过程中,通过所述cmdb系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
60.需要说明的是,关于调度系统更为具体的工作流程,请参考前述方法实施例部分,在此不再赘述。
61.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
62.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
63.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1