CN113726871B - 一种自动化代码发布的调度方法及系统 - Google Patents

一种自动化代码发布的调度方法及系统 Download PDF

Info

Publication number
CN113726871B
CN113726871B CN202110995409.1A CN202110995409A CN113726871B CN 113726871 B CN113726871 B CN 113726871B CN 202110995409 A CN202110995409 A CN 202110995409A CN 113726871 B CN113726871 B CN 113726871B
Authority
CN
China
Prior art keywords
node
scheduling
update
release
cmdb
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.)
Active
Application number
CN202110995409.1A
Other languages
English (en)
Other versions
CN113726871A (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.)
Pig Bajie Co ltd
Original Assignee
Pig Bajie 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 Pig Bajie Co ltd filed Critical Pig Bajie Co ltd
Priority to CN202110995409.1A priority Critical patent/CN113726871B/zh
Publication of CN113726871A publication Critical patent/CN113726871A/zh
Application granted granted Critical
Publication of CN113726871B publication Critical patent/CN113726871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Abstract

本发明实施例公开了一种自动化代码发布的调度方法及系统,所述方法包括:通过服务器端制定调度发布规则;其中,所述服务器端包括预先建立的CMDB系统;通过该CMDB系统提供API接口,以供节点的Agent请求及回调;由Agent客户端通过所述API接口获取调度发布规则,执行更新并回调状态;通过所述CMDB系统,更新调度状态信息,以供其他Agent请求及回调;其有益效果是:通过制定调度发布规则,支持复杂场景根据不同更新策略制定具有针对性的发布方式,无需每次自动发布均对所有节点进行重启,同时又可对根据制定的发布规则,对节点进行调度管理;也克服了之前自动化代码发布导致服务不可用性的问题。

Description

一种自动化代码发布的调度方法及系统
技术领域
本发明涉及项目上线发布技术领域,具体涉及一种自动化代码发布的调度方法及系统。
背景技术
目前,项目上线时大多通过手工方式进行代码发布,其项目的可用性也是通过人为对应用依次进行重启及判断来解决这个问题,后来项目上线改造为自动发布代码后,每次自动发布代码的时候,有一定几率造成所有节点同时进行重启,从而导致项目无法进行访问,进而造成服务不可用的缺陷。
发明内容
针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种自动化代码发布的调度方法及系统,以克服现有技术中所存在的自动发布代码所造成服务不可用的缺陷。
为实现上述目的,第一方面,本发明实施例提供了一种自动化代码发布的调度方法,所述方法包括:
通过服务器端制定调度发布规则;其中,所述服务器端包括预先建立的CMDB系统;
通过所述CMDB系统提供API接口,以供节点的Agent客户端请求及回调;
由Agent客户端通过所述API接口获取调度发布规则,执行更新并回调状态;
通过所述CMDB系统,更新调度状态信息,提供其他Agent请求及回调。
优选地,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新。
优选地,项目发布上线时,所述CMDB系统将所述调度发布规则以API的形式提供,使得节点的Agent客户端开机时,即与项目进行关联。
优选地,所述方法还包括:
所有节点进行自动化代码发布后,在此过程中,通过所述CMDB系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
第二方面,本发明实施例提供了一种自动化代码发布的调度系统,包括服务器端和Agent客户端;
所述服务器端用于:
制定调度发布规则;其中,所述服务器端包括预先建立的CMDB系统;
所述CMDB系统,用于提供API接口,以供节点的Agent客户端请求及回调;
所述Agent客户端用于:
通过所述API接口获取调度发布规则,执行更新并回调状态;
所述CMDB系统还用于,更新调度状态信息,提供其他Agent请求及回调。
优选地,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新。
优选地,项目发布上线时,所述CMDB系统将所述调度发布规则以API的形式提供,使得节点的Agent客户端开机时,即与项目进行关联。
优选地,所有节点进行自动化代码发布后,在此过程中,通过所述CMDB系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
实施本发明实施例,通过制定调度发布规则,支持复杂场景根据不同更新策略制定具有针对性的发布方式,无需每次自动发布均对所有节点进行重启,同时又可对根据制定的发布规则,对节点进行调度管理;也克服了之前自动化代码发布导致服务不可用性的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种自动化代码发布的调度方法的流程图;
图2是本发明实施例提供的一种自动化代码发布的调度系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为更好地理解本发明实施例,先对所涉及的相关技术内容进行如下描述:
Agent是指能够自主活动的软件或者硬件实体,在IT领域表示代理的意思。
CMDB(Configuration Management Database,配置管理数据库)是一个逻辑数据库,包含了配置项全生命周期(包括物理关系、实时通信关系、非实时通信关系和依赖关系)。
请参考图1,本发明实施例提供的一种自动化代码发布的调度方法,所述方法包括:
S101,通过服务器端制定调度发布规则;其中,所述服务器端包括预先建立的CMDB系统。
具体地,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新;实施时,优选部分节点更新策略作为调度发布规则;其中:
单节点更新表示:单台节点依次进行更新;
所有节点更新表示:所有节点同时进行更新;
指定节点更新表示:选择指定节点数进行更新;
节点百分比更新表示:根据节点数自动决策百分比依次进行更新(节点数为n,当n<=10,取50%,当10<n<=50,取25%等,比例策略可调整)。
S102,通过所述CMDB系统提供API接口,以供节点的Agent客户端请求及回调。
具体地,所述调度发布规则包括调度策略;项目发布上线时,所述CMDB系统将所述调度发布规则中的调度策略以API的形式提供,使得节点的Agent客户端开机时,即与项目进行关联。
S103,由Agent客户端通过所述API接口获取调度发布规则,执行更新并回调状态。
S104,通过所述CMDB系统,更新调度状态信息,提供其他Agent请求及回调。
具体地,在本实施例中,Agent客户端调用CMDB的API接口,实时获取调度事件信息,如果Agent未获取到发布事件,就继续等待;若获取到发布事件后,则进行自动化代码发布操作,然后将状态回调至CMDB的API接口,等待来自其他节点(剩余节点)的Agent获取发布事件进行更新操作,以此类推;
需要说明的是,在本实施例中,Agent客户端与Agent含义相同。
进一步地,所有节点进行自动化代码发布后,在此过程中,通过所述CMDB系统收集项目发布的整体发布时间、节点更新耗时和状态更新等信息。
为更好的理解本发明,以一具体实例进行说明。
例如,项目名为demo,节点数为20,我们选择“节点百分比更新”的调度发布规则进行自动化代码发布。当demo项目发布上线的时候,CMDB系统中调度策略根据节点数计算为25%的比例进行发布,demo项目需要分4次进行发布,每次发布5节点数,调度策略以API的形式提供,节点的Agent客户端开机的时候与demo项目的就进行了关联;
接下来,Agent客户端调用CMDB的API接口,实时获取调度事件信息,如果Agent获取到发布事件,获取到发布事件后进行自动化代码发布操作,然后将状态回调至CMDB的API接口,等待来自其他节点的Agent获取发布事件进行更新操作,以此类推。
最后,所有节点进行自动化代码发布后,这个过程中,CMDB系统收集了项目发布的整体发布时间、节点更新耗时、更新状态等信息。
从以上描述可以得出,实施本发明实施例所提供的一种自动化代码发布的调度方法,通过制定调度发布规则,支持复杂场景根据不同更新策略制定具有针对性的发布方式,无需每次自动发布均对所有节点进行重启,同时又可对根据制定的发布规则,对节点进行调度管理;也克服了之前自动化代码发布导致服务不可用性的问题。
基于相同的发明构思,本发明实施例提供了一种自动化代码发布的调度系统。如图2所示,该系统包括服务器端和Agent客户端;所述Agent客户端的数量为多个,在此不做限制。
所述服务器端用于:
制定调度发布规则;其中,所述服务器端包括预先建立的CMDB系统;
所述CMDB系统,用于提供API接口,以供节点的Agent客户端请求及回调;
所述Agent客户端用于:
通过所述API接口获取调度发布规则,执行更新并回调状态;
所述CMDB系统还用于,更新调度状态信息,以提供其他Agent请求及回调。
应用时,所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新;
项目发布上线时,所述CMDB系统将所述调度发布规则以API的形式提供,使得节点的Agent客户端开机时,即与项目进行关联;
同时,所有节点进行自动化代码发布后,在此过程中,通过所述CMDB系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
需要说明的是,关于调度系统更为具体的工作流程,请参考前述方法实施例部分,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种自动化代码发布的调度方法,其特征在于,所述方法包括:
通过服务器端制定调度发布规则;其中,所述服务器端包括预先建立的CMDB系统;
通过所述CMDB系统提供API接口,以供节点的Agent客户端请求及回调;
由Agent客户端通过所述API接口获取调度发布规则,执行更新并回调状态;Agent客户端调用CMDB的API接口,实时获取调度事件信息;
通过所述CMDB系统,更新调度状态信息,提供其他Agent请求及回调;
所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新;其中,节点百分比更新表示:根据节点数自动决策百分比依次进行更新。
2.如权利要求1所述的一种自动化代码发布的调度方法,其特征在于,项目发布上线时,所述CMDB系统将所述调度发布规则以API的形式提供,使得节点的Agent客户端开机时,即与项目进行关联。
3.如权利要求2所述的一种自动化代码发布的调度方法,其特征在于,所述方法还包括:
所有节点进行自动化代码发布后,在此过程中,通过所述CMDB系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
4.一种自动化代码发布的调度系统,其特征在于,包括服务器端和Agent客户端;
所述服务器端用于:
制定调度发布规则;其中,所述服务器端包括预先建立的CMDB系统;
所述CMDB系统,用于提供API接口,以供节点的Agent客户端请求及回调;
所述Agent客户端用于:
通过所述API接口获取调度发布规则,执行更新并回调状态;
所述CMDB系统还用于,更新调度状态信息,提供其他Agent请求及回调;Agent客户端调用CMDB的API接口,实时获取调度事件信息;
所述调度发布规则包括单节点更新,所有节点更新,指定节点更新和节点百分比更新;其中,节点百分比更新表示:根据节点数自动决策百分比依次进行更新。
5.如权利要求4所述的一种自动化代码发布的调度系统,其特征在于,项目发布上线时,所述CMDB系统将所述调度发布规则以API的形式提供,使得节点的Agent客户端开机时,即与项目进行关联。
6.如权利要求5所述的一种自动化代码发布的调度系统,其特征在于,所有节点进行自动化代码发布后,在此过程中,通过所述CMDB系统收集项目发布的整体发布时间、节点更新耗时和状态更新信息。
CN202110995409.1A 2021-08-27 2021-08-27 一种自动化代码发布的调度方法及系统 Active CN113726871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110995409.1A CN113726871B (zh) 2021-08-27 2021-08-27 一种自动化代码发布的调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110995409.1A CN113726871B (zh) 2021-08-27 2021-08-27 一种自动化代码发布的调度方法及系统

Publications (2)

Publication Number Publication Date
CN113726871A CN113726871A (zh) 2021-11-30
CN113726871B true CN113726871B (zh) 2024-02-02

Family

ID=78678492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110995409.1A Active CN113726871B (zh) 2021-08-27 2021-08-27 一种自动化代码发布的调度方法及系统

Country Status (1)

Country Link
CN (1) CN113726871B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035780A (zh) * 2014-06-26 2014-09-10 北京京东尚科信息技术有限公司 一种发布apk文件的方法和装置
CN107870772A (zh) * 2017-10-09 2018-04-03 深圳前海微众银行股份有限公司 跨环境的应用部署方法、平台、系统及可读存储介质
CN108388622A (zh) * 2018-02-12 2018-08-10 平安科技(深圳)有限公司 Api接口动态生成方法、装置、计算机设备及存储介质
CN109918189A (zh) * 2017-12-12 2019-06-21 腾讯科技(深圳)有限公司 一种资源管理方法及相关设备
CN110278097A (zh) * 2018-03-14 2019-09-24 上海圣一信息技术有限公司 一种基于Android系统的服务器运维系统及方法
CN111142867A (zh) * 2019-12-31 2020-05-12 谷云科技(广州)有限责任公司 微服务架构下的服务可视化编排系统及方法
CN111290768A (zh) * 2020-01-22 2020-06-16 北京百度网讯科技有限公司 一种容器化应用系统的更新方法、装置、设备和介质
CN113242281A (zh) * 2021-04-26 2021-08-10 微梦创科网络科技(中国)有限公司 一种灰度发布方法、装置、设备及存储介质
CN113297181A (zh) * 2021-06-11 2021-08-24 建信金融科技有限责任公司 配置项管理数据库、数据处理方法和装置
CN113296828A (zh) * 2021-05-26 2021-08-24 北京京东振世信息技术有限公司 一种发布应用的方法、服务器和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733010B2 (en) * 2017-05-11 2020-08-04 Vmware, Inc. Methods and systems that verify endpoints and external tasks in release-pipeline prior to execution

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035780A (zh) * 2014-06-26 2014-09-10 北京京东尚科信息技术有限公司 一种发布apk文件的方法和装置
CN107870772A (zh) * 2017-10-09 2018-04-03 深圳前海微众银行股份有限公司 跨环境的应用部署方法、平台、系统及可读存储介质
CN109918189A (zh) * 2017-12-12 2019-06-21 腾讯科技(深圳)有限公司 一种资源管理方法及相关设备
CN108388622A (zh) * 2018-02-12 2018-08-10 平安科技(深圳)有限公司 Api接口动态生成方法、装置、计算机设备及存储介质
CN110278097A (zh) * 2018-03-14 2019-09-24 上海圣一信息技术有限公司 一种基于Android系统的服务器运维系统及方法
CN111142867A (zh) * 2019-12-31 2020-05-12 谷云科技(广州)有限责任公司 微服务架构下的服务可视化编排系统及方法
CN111290768A (zh) * 2020-01-22 2020-06-16 北京百度网讯科技有限公司 一种容器化应用系统的更新方法、装置、设备和介质
CN113242281A (zh) * 2021-04-26 2021-08-10 微梦创科网络科技(中国)有限公司 一种灰度发布方法、装置、设备及存储介质
CN113296828A (zh) * 2021-05-26 2021-08-24 北京京东振世信息技术有限公司 一种发布应用的方法、服务器和系统
CN113297181A (zh) * 2021-06-11 2021-08-24 建信金融科技有限责任公司 配置项管理数据库、数据处理方法和装置

Also Published As

Publication number Publication date
CN113726871A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
US7469219B2 (en) Order management system
CN109783218B (zh) 一种基于Kubernetes容器集群的与时间相关联的容器调度方法
US8392907B2 (en) Communication terminal
US20110167426A1 (en) Smart scheduler
Panagos et al. Reducing escalation-related costs in WFMSs
CN110119323A (zh) 一种基于时间轮执行延迟队列的方法及系统
WO2003102715A2 (en) Systems and methods for work list prediction
US20060136887A1 (en) Method, system, and storage medium for dynamically reordering resource participation in two-phase commit to heuristically optimize for last-agent optimization
CN110134533B (zh) 一种可批量调度数据的系统及方法
CN113726871B (zh) 一种自动化代码发布的调度方法及系统
CN113821322A (zh) 一种松耦合的分布式工作流协调系统和方法
CN109491767A (zh) 分布式事务的处理方法和分布式系统
CN112433830A (zh) 一种基于ZooKeeper的分布式任务调度方法、系统及存储介质
CN116149829B (zh) 任务管理方法、装置、设备及存储介质
JP2011145982A (ja) 開発プロセス評価管理システムおよび開発プロセス評価管理方法ならびに開発プロセス評価管理プログラム
CN116755849A (zh) 隐私计算任务的执行方法及隐私任务控制器、中心调度器
CN115333942A (zh) 事件重试方法及装置、存储介质及电子设备
EP1011045B1 (en) Object-oriented job scheduler
US20100122254A1 (en) Batch and application scheduler interface layer in a multiprocessor computing environment
CN111177232B (zh) 一种数据处理方法、装置、系统和存储介质
JP2002123657A (ja) 作業管理システム及び作業管理方法
US20030018683A1 (en) Method, system and program for deleting work flow item
CN111178823A (zh) 居住相关事务的取消方法和装置
CN117591132B (zh) 一种服务的发布方法和发布系统
US9026657B2 (en) Method and system for provisioning telecommunication services and equipment using sequential or parallel processing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant