CN113741872A - 基于作业调度的软件应用自动化发布方法 - Google Patents

基于作业调度的软件应用自动化发布方法 Download PDF

Info

Publication number
CN113741872A
CN113741872A CN202111032444.XA CN202111032444A CN113741872A CN 113741872 A CN113741872 A CN 113741872A CN 202111032444 A CN202111032444 A CN 202111032444A CN 113741872 A CN113741872 A CN 113741872A
Authority
CN
China
Prior art keywords
task
publishing
state
software application
setting
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
CN202111032444.XA
Other languages
English (en)
Other versions
CN113741872B (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.)
Shanghai New Torch Network Information Technology Ltd By Share Ltd
Original Assignee
Shanghai New Torch Network Information Technology Ltd By Share 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 Shanghai New Torch Network Information Technology Ltd By Share Ltd filed Critical Shanghai New Torch Network Information Technology Ltd By Share Ltd
Priority to CN202111032444.XA priority Critical patent/CN113741872B/zh
Publication of CN113741872A publication Critical patent/CN113741872A/zh
Application granted granted Critical
Publication of CN113741872B publication Critical patent/CN113741872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于作业调度的软件应用自动化发布方法,包括如下步骤:S1)按软件应用的发布场景编排设置至少一个发布节点;S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。本发明提供的基于作业调度的软件应用自动化发布方法,无需人工管理,过程高效且能保证准确性。

Description

基于作业调度的软件应用自动化发布方法
技术领域
本发明涉及一种软件应用发布方法,尤其涉及一种基于作业调度的软件应用自动化发布方法。
背景技术
在软件应用发布过程中通常会涉及到多个服务的发布部署,且服务与服务间存在串行与并行的发布依赖关系,以及在服务发布部署前或发布后,需要进行与服务发布相关的额外操作以保证发布过程中不出现告警、业务不连续等现象。
目前对于应用发布,在发布前会先制定发布方案以描述本次发布涉及到的部署服务,以及发布过程中的操作步骤,并在发布时刻一般通过以下两种方式进行:
1、手工发布
发布过程中即使知道各服务的发布顺序,但不同任务间的串并行执行操作、失败异常的跳过、重新执行,下一步骤的开始执行等所有操作均通过手工人为去控制。
2、借助开源工具(如jenkins)
一般会在发布前期根据发布方案的操作内容及步骤,把一切考虑到的情况通过编码的方式提前形成可发布执行的任务,在发布阶段则按照任务中的逻辑方法进行发布。但是现有技术依赖于人工控制,效率低下,且准确性不可控。
发明内容
本发明所要解决的技术问题是提供一种基于作业调度的软件应用自动化发布方法,无需人工管理,过程高效且能保证准确性,解决大型系统的复杂发布场景。
本发明为解决上述技术问题而采用的技术方案是提供一种基于作业调度的软件应用自动化发布方法,包括如下步骤:S1)按软件应用的发布场景编排设置至少一个发布节点;S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。
上述的基于作业调度的软件应用自动化发布方法,其中,每个原子化任务存在以下过程状态:
状态0:初始化;
状态1:执行中;
状态2:成功;
状态3:失败;
状态4:终止;
状态5:人为暂停;
状态6:待执行。
上述的基于作业调度的软件应用自动化发布方法,其中,所述步骤S3还包括在发布前,将所有节点中的原子化任务置为“待执行”状态。
上述的基于作业调度的软件应用自动化发布方法,其中,所述步骤S3中发布开始,按如下作业调度方式执行所有发布节点中的原子化任务:
S31:发布人员点开始执行操作时,将所有节点的原子化任务置为“初始化”状态;
S32:将当前节点中的所有任务状态全部设置为“执行中”;
S33:并行执行状态为“执行中”的所有任务;
S34:循环获取状态为“执行中”的任务执行结果;
如果执行结果为成功,将原子化任务的状态置为“成功”并转到S35,否则状态置为“失败”并转到S37;
S35:实时检查当前节点中所有任务的状态是否都为“成功”;
如果都为成功状态,转到S36,否则转到S34;
S36:检查是否还存在下一发布节点;
如存在,转到S32,否则转到S38结束发布;
S37:对于失败的任务提供三种处理方式:
i、进行“重新执行”该原子化任务操作,转到S34;
ii、进行“跳过”当前原子化任务操作,并将此原子任务状态置为“成功”,表示对失败的问题已进行线下处理,并转到S35;
iii、进行“终止发布”操作,则转到S38;
S38:结束发布。
上述的基于作业调度的软件应用自动化发布方法,其中,所述软件应用的发布过程中涉及到多个服务的发布部署,且服务与服务间存在串行与并行的发布依赖关系。
本发明对比现有技术有如下的有益效果:本发明提供的基于作业调度的软件应用自动化发布方法,原子化任务的状态按作业调度方式进行管控,通过不同状态决定后续操作,无需人工管理;系统只需根据不同的状态做出不同的操作,其过程高效且准确性得到保证。
附图说明
图1为本发明的软件应用发布部署示意图;
图2为本发明基于作业调度的软件应用自动化发布流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
本发明提供的基于作业调度的软件应用自动化发布方法,包括如下步骤:
S1)按软件应用的发布场景编排设置至少一个发布节点;
S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;
S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。
在发布期间的每一个操作步骤为一个原子化任务,如何控制和保证每个原子化任务间的开始、终止、等待、等待重新执行、异常跳过,失败重新执行等准确性对应用发布过程及其结果至关重要。本发明在发布前期由相应人员准备好各环节的发布任务并将其按实际情况进行编排如图1所示。
应用发布从开始到结束,根据发布执行情况的不同,本发明的原子化任务存在以下过程状态:
状态0:初始化;
状态1:执行中;
状态2:成功;
状态3:失败;
状态4:终止;
状态5:人为暂停;
状态6:待执行。
请继续参见图2,本发明发布过程中通过以下调度方法实现发布过程的管控:
发布前将所有节点中的原子化任务置为6-“待执行”状态。
发布开始:
【S31】发布人员点开始执行操作时,将所有节点的原子任务置为0-“初始化”状态;
【S32】将当前节点中的所有任务状态全部设置为1-“执行中”;
【S33】并行执行状态为1-“执行中”的所有任务;
【S34】循环获取状态为1-“执行中”的任务执行结果;
如执行结果为成功,将原子任务的状态置为2-“成功”并转到【S35】,否则状态置为3-“失败”并转到【S37】
【S35】实时检查当前节点中所有任务的状态是否都为2-“成功”;
如都为成功状态,转到【S36】,否则转到【S34】
【S36】检查是否还存在下一发布节点;
如存在,转到【S32】,否则转到【S38】结束发布。
【S37】对于失败的任务提供三种处理方式
如,进行“重新执行”该原子化任务操作,则转到【S34】;
如,进行“跳过”当前原子化任务操作,并将此原子化任务状态置为2-“成功”,表示对失败的问题已进行线下处理,并转到【S35】;
如,进行“终止发布”操作,则转到【S38】;
【S38】结束发布。
本发明通过作业调度的思想或方法解决现有在自动化发布过程中高度依赖于人工控制每个发布原子化任务的串并行执行、何时执行下一阶段的原子任务、原子任务失败的异常操作处理的问题;无需人工管理,过程高效且能保证准确性,解决大型系统的复杂发布场景。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (5)

1.一种基于作业调度的软件应用自动化发布方法,其特征在于,包括如下步骤:
S1)按软件应用的发布场景编排设置至少一个发布节点;
S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;
S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。
2.如权利要求1所述的基于作业调度的软件应用自动化发布方法,其特征在于,每个原子化任务存在以下过程状态:
状态0:初始化;
状态1:执行中;
状态2:成功;
状态3:失败;
状态4:终止;
状态5:人为暂停;
状态6:待执行。
3.如权利要求2所述的基于作业调度的软件应用自动化发布方法,其特征在于,所述步骤S3还包括在发布前,将所有节点中的原子化任务置为“待执行”状态。
4.如权利要求3所述的基于作业调度的软件应用自动化发布方法,其特征在于,所述步骤S3中发布开始,按如下作业调度方式执行所有发布节点中的原子化任务:
S31:发布人员点开始执行操作时,将所有节点的原子化任务置为“初始化”状态;
S32:将当前节点中的所有任务状态全部设置为“执行中”;
S33:并行执行状态为“执行中”的所有任务;
S34:循环获取状态为“执行中”的任务执行结果;
如果执行结果为成功,将原子化任务的状态置为“成功”并转到S35,否则状态置为“失败”并转到S37;
S35:实时检查当前节点中所有任务的状态是否都为“成功”;
如果都为成功状态,转到S36,否则转到S34;
S36:检查是否还存在下一发布节点;
如存在,转到S32,否则转到S38结束发布;
S37:对于失败的任务提供三种处理方式:
i、进行“重新执行”该原子化任务操作,转到S34;
ii、进行“跳过”当前原子化任务操作,并将此原子任务状态置为“成功”,表示对失败的问题已进行线下处理,并转到S35;
iii、进行“终止发布”操作,则转到S38;
S38:结束发布。
5.如权利要求1所述的基于作业调度的软件应用自动化发布方法,其特征在于,所述软件应用的发布过程中涉及到多个服务的发布部署,且服务与服务间存在串行与并行的发布依赖关系。
CN202111032444.XA 2021-09-03 2021-09-03 基于作业调度的软件应用自动化发布方法 Active CN113741872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111032444.XA CN113741872B (zh) 2021-09-03 2021-09-03 基于作业调度的软件应用自动化发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111032444.XA CN113741872B (zh) 2021-09-03 2021-09-03 基于作业调度的软件应用自动化发布方法

Publications (2)

Publication Number Publication Date
CN113741872A true CN113741872A (zh) 2021-12-03
CN113741872B CN113741872B (zh) 2024-04-23

Family

ID=78735373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111032444.XA Active CN113741872B (zh) 2021-09-03 2021-09-03 基于作业调度的软件应用自动化发布方法

Country Status (1)

Country Link
CN (1) CN113741872B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282836A1 (en) * 2005-06-09 2006-12-14 Barker Thomas N System and method for implementing distributed priority inheritance
CN104035780A (zh) * 2014-06-26 2014-09-10 北京京东尚科信息技术有限公司 一种发布apk文件的方法和装置
CN105893122A (zh) * 2015-08-25 2016-08-24 乐视网信息技术(北京)股份有限公司 数据处理作业调度方法、装置及系统
CN108833497A (zh) * 2018-05-25 2018-11-16 徐工集团工程机械有限公司 分布式发布方法和系统、用户终端、服务器和发布设备
CN108958920A (zh) * 2018-07-13 2018-12-07 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统
CN110096377A (zh) * 2019-04-29 2019-08-06 重庆天蓬网络有限公司 一种定制化软件发布的实现方法
CN111290854A (zh) * 2020-01-20 2020-06-16 腾讯科技(深圳)有限公司 任务管理方法、装置、系统、计算机存储介质及电子设备
CN111400017A (zh) * 2020-03-26 2020-07-10 华泰证券股份有限公司 一种分布式复杂任务调度方法
CN111736969A (zh) * 2020-06-16 2020-10-02 中国银行股份有限公司 分布式作业调度方法及装置
CN112559159A (zh) * 2021-01-05 2021-03-26 广州华资软件技术有限公司 一种基于分布式部署的任务调度方法
CN112948099A (zh) * 2021-05-13 2021-06-11 太平金融科技服务(上海)有限公司 任务发布流程方法、装置、计算机设备和存储介质
CN113238838A (zh) * 2021-04-22 2021-08-10 中国银联股份有限公司 一种任务调度方法、装置及计算机可读存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282836A1 (en) * 2005-06-09 2006-12-14 Barker Thomas N System and method for implementing distributed priority inheritance
CN104035780A (zh) * 2014-06-26 2014-09-10 北京京东尚科信息技术有限公司 一种发布apk文件的方法和装置
CN105893122A (zh) * 2015-08-25 2016-08-24 乐视网信息技术(北京)股份有限公司 数据处理作业调度方法、装置及系统
CN108833497A (zh) * 2018-05-25 2018-11-16 徐工集团工程机械有限公司 分布式发布方法和系统、用户终端、服务器和发布设备
CN108958920A (zh) * 2018-07-13 2018-12-07 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统
CN110096377A (zh) * 2019-04-29 2019-08-06 重庆天蓬网络有限公司 一种定制化软件发布的实现方法
CN111290854A (zh) * 2020-01-20 2020-06-16 腾讯科技(深圳)有限公司 任务管理方法、装置、系统、计算机存储介质及电子设备
CN111400017A (zh) * 2020-03-26 2020-07-10 华泰证券股份有限公司 一种分布式复杂任务调度方法
CN111736969A (zh) * 2020-06-16 2020-10-02 中国银行股份有限公司 分布式作业调度方法及装置
CN112559159A (zh) * 2021-01-05 2021-03-26 广州华资软件技术有限公司 一种基于分布式部署的任务调度方法
CN113238838A (zh) * 2021-04-22 2021-08-10 中国银联股份有限公司 一种任务调度方法、装置及计算机可读存储介质
CN112948099A (zh) * 2021-05-13 2021-06-11 太平金融科技服务(上海)有限公司 任务发布流程方法、装置、计算机设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AR. ARUNARANI等: "Task scheduling techniques in cloud computing: A literature survey", FUTURE GENERATION COMPUTER SYSTEMS, vol. 91, 28 February 2019 (2019-02-28), pages 407 - 415 *
MZJNUMBER1: "大数据平台作业调度系统详解-理论篇", pages 1, Retrieved from the Internet <URL:https://www.cnblogs.com/muzhongjiang/p/12641027.html> *
燕振斌: "分布式环境下程序部署与监控系统中任务调度模型的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 3, 15 March 2014 (2014-03-15), pages 138 - 494 *

Also Published As

Publication number Publication date
CN113741872B (zh) 2024-04-23

Similar Documents

Publication Publication Date Title
JP4786139B2 (ja) 故障復旧システムおよび方法のためのプラニングおよびスケジューリング
CN105183644A (zh) 一种多任务集成自动化测试系统及方法
CN103221891A (zh) 用于分布式控制系统的智能接口
CN104461562A (zh) 一种任务创建的方法及系统
EP2314424A2 (de) Verfahren und Vorrichtung zum Steuern einer Mehrmaschinenanordnung
CN109154809A (zh) 生产规划系统和方法
CN110611707A (zh) 一种任务调度的方法及装置
US9389604B2 (en) Method and system for the dynamic allocation of program functions in distributed control systems
CN113741872A (zh) 基于作业调度的软件应用自动化发布方法
EP0880094A2 (en) Control system
US20130085583A1 (en) Method for Setting an Operating Status
CN112559152B (zh) 一种基于异步式编程的分布式任务注册及调度方法和系统
CN111562773A (zh) 一种制造执行系统与产线一体化虚拟调试的方法及系统
US20220413978A1 (en) Methods and apparatuses for automatic operational maintenance
CN101644923B (zh) 生产流程控制方法及系统
CN106452878B (zh) 一种局域网中服务切换方法、装置和系统
CN108399096A (zh) 一种电池管理系统多任务调度时序监控方法及系统
CN113553163A (zh) 一种基于调度器的Jenkins应用部署方法及装置
CN108614713B (zh) 一种自动化应用发布的方法、系统及装置
CN101770380A (zh) 企业内的客户端的软件更新方法
CN112000451A (zh) 批量作业调度系统、方法、设备及存储介质
CN113204397A (zh) 一种批量作业管控方法和装置
EP2879083A1 (en) Asynchronous generation of a production request for the production of a product according to a customer request
JPH05108138A (ja) 製造計画作成装置
WO2023275588A1 (en) Methods and apparatuses for automatic operational maintenance

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