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

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

Info

Publication number
CN113741872B
CN113741872B CN202111032444.XA CN202111032444A CN113741872B CN 113741872 B CN113741872 B CN 113741872B CN 202111032444 A CN202111032444 A CN 202111032444A CN 113741872 B CN113741872 B CN 113741872B
Authority
CN
China
Prior art keywords
release
state
task
atomization
software application
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
CN202111032444.XA
Other languages
English (en)
Other versions
CN113741872A (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

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 (2)

1.一种基于作业调度的软件应用自动化发布方法,其特征在于,包括如下步骤:
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:结束发布。
2.如权利要求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 CN113741872A (zh) 2021-12-03
CN113741872B true 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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 中国银联股份有限公司 一种任务调度方法、装置及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788668B2 (en) * 2005-06-09 2010-08-31 Lockheed Martin Corporation System and method for implementing distributed priority inheritance

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (2)

* Cited by examiner, † Cited by third party
Title
Task scheduling techniques in cloud computing: A literature survey;AR. Arunarani等;Future Generation Computer Systems;20190228;第91卷;第407-415页 *
分布式环境下程序部署与监控系统中任务调度模型的研究;燕振斌;《中国优秀硕士学位论文全文数据库信息科技辑》;20140315(第3期);第I138-494页 *

Also Published As

Publication number Publication date
CN113741872A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN105183644A (zh) 一种多任务集成自动化测试系统及方法
JP2004326787A (ja) 故障復旧システムおよび方法のためのプラニングおよびスケジューリング
CN111538307B (zh) 一种制造执行系统的工艺路线建模方法及系统
EP2314424A2 (de) Verfahren und Vorrichtung zum Steuern einer Mehrmaschinenanordnung
CN110611707A (zh) 一种任务调度的方法及装置
CN113741872B (zh) 基于作业调度的软件应用自动化发布方法
CN112559152B (zh) 一种基于异步式编程的分布式任务注册及调度方法和系统
US20220413978A1 (en) Methods and apparatuses for automatic operational maintenance
CN106452878B (zh) 一种局域网中服务切换方法、装置和系统
CN101644923B (zh) 生产流程控制方法及系统
EP2120120B1 (en) Method for modelling and executing a production rule in a discrete manufacturing scenario
CN101770380A (zh) 企业内的客户端的软件更新方法
KR102000984B1 (ko) 복수의 서버에 자동 생성 기능을 제공하는 운영 자동화 시스템
CN102469118B (zh) 一种实现信息拉取的方法及装置
CN117591132B (zh) 一种服务的发布方法和发布系统
CN113204397A (zh) 一种批量作业管控方法和装置
CN110673934A (zh) 一种基于大数据的智能管控平台运行方法
CN118071076A (zh) 一种用于飞机维护的管理方法及系统
CN115473815B (zh) 基于设备变更的业务迁移系统及方法
CN114579162B (zh) 一种基于事件驱动和水平触发的灰度发布方法
US20050256597A1 (en) Method for transferring production lots for experiment
JP2012014498A (ja) セル制御プログラム実行方法およびセル制御装置
WO2023275588A1 (en) Methods and apparatuses for automatic operational maintenance
CN109522039A (zh) 基于大数据平台的工程机械gps终端固件批量升级方法
CN116610351A (zh) 服务端热升级方法、终端设备及计算机可读存储介质

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