CN116974716A - 调度任务的发布方法、装置、电子设备及存储介质 - Google Patents

调度任务的发布方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116974716A
CN116974716A CN202310121063.1A CN202310121063A CN116974716A CN 116974716 A CN116974716 A CN 116974716A CN 202310121063 A CN202310121063 A CN 202310121063A CN 116974716 A CN116974716 A CN 116974716A
Authority
CN
China
Prior art keywords
task
scheduling
file
storage
version
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.)
Pending
Application number
CN202310121063.1A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310121063.1A priority Critical patent/CN116974716A/zh
Publication of CN116974716A publication Critical patent/CN116974716A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种调度任务的发布方法、装置、电子设备以及存储介质,涉及计算机技术领域。调度任务的发布方法可以包括:接收针对调度任务的版本发布指令,将版本发布指令发送至持续集成CI工具;接收CI工具发送的升级任务请求;升级任务请求是基于CI工具接收到第一存储仓库返回的推送成功提示所触发的;响应于升级任务请求,发送升级任务至版本管理客户端;升级任务用于指示版本管理客户端调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件,并基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***中,以使调度***触发调度任务的执行。可以实现私有化用户服务器的调度任务的发布。

Description

调度任务的发布方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种调度任务的发布方法、装置、电子设备及存储介质。
背景技术
任务调度是指***为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力由***自动去执行任务。其常用在大数据离线计算任务中。调度任务的版本发布,需要将调度任务的代码和编排规则,发布到生产环境下。
在公有云的网络环境下,发布***可以通过网络请求调用基础组件的应用程序编程接口,实现生产环境的服务更新,达到调度任务的版本发布的目的。但在私有化环境下,出于网络安全考虑,私有化用户环境中的调度***与发布***是网络隔离的,导致不能实现调度任务的私有化发布。
发明内容
本申请实施例的目的旨在提供一种调度任务的发布方法、装置及电子设备,本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种调度任务的发布的方法,应用于发布***,该方法包括:
接收针对调度任务的版本发布指令,将版本发布指令发送至持续集成CI工具;
其中,版本发布指令用于指示CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
接收CI工具发送的升级任务请求;升级任务请求是基于CI工具接收到第一存储仓库返回的推送成功提示所触发的;
响应于升级任务请求,发送升级任务至版本管理客户端;
其中,升级任务用于指示版本管理客户端执行如下步骤:
调用容器编排引擎集群,从第一存储仓库中获取存储文件;
基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
在一些可能的实施方式中,方法还包括:
获取运营终端发送的针对用户服务器的配置信息;
接收版本管理客户端的配对请求;
响应于配对请求,基于配置信息校验版本管理客户端的合法性,若校验通过,则将版本管理客户端的状态设为可运行状态;
发送升级任务至版本管理客户端,包括:
获取版本管理客户端的状态,若版本管理客户端的状态为可运行状态,则发送升级任务至版本管理客户端。
在一些可能的实施方式中,流水线是基于如下方式创建的:
接收运营终端发送的针对流水线的创建指令;
响应于创建指令,基于配置信息和预设的初始流水线生成流水线的创建参数;
将创建参数发送至CI工具,以使CI工具基于创建参数创建流水线。
在一些可能的实施方式中,接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具之前,还包括:
若CI工具通过流水线检测到第二存储仓库中针对调度任务的代码文件符合预设条件,通过测试***对调度任务的代码文件和编排规则信息文件进行测试;
其中,调度任务的代码文件是开发终端发送至第二存储仓库中的;调度任务的编排规则信息文件是开发终端发送至测试***的;
接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具,包括:
接收针对调度任务的版本发布指令,若测试结果符合预设结果,将版本发布指令发送至CI工具。
在一些可能的实施方式中,存储文件包括容器镜像;
获取调度任务的对应的存储文件,包括:
从第二存储仓库中获取调度任务的代码文件,并从测试***中导出编排规则信息文件;
将代码文件和对应的编排规则信息文件打包生成容器镜像。
一方面,本申请实施例提供了一种调度任务的发布的方法,应用于CI工具,方法包括:
接收发布***发送的针对调度任务的版本发布指令;
响应于版本发布指令,通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
接收第一存储仓库返回的推送成功提示,响应于推送成功提示发送升级任务请求到发布***;
其中,升级任务请求用于指示发布***发送升级任务至版本管理客户端;升级任务用于指示版本管理客户端调用容器编排引擎集群,从第一存储仓库中获取存储文件,并基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
一方面,本申请实施例提供了一种调度任务的发布的方法,应用于版本管理客户端,方法包括:
接收发布***发送的升级任务;其中,升级任务发布***基于CI工具发送的升级任务请求触发的;升级任务请求是CI工具接收到第一存储仓库返回的针对存储文件的推送成功提示所触发的;存储文件是CI工具基于发布***发送的版本发布指令,通过已创建的流水线获取并推送至第一存储仓库的;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;版本管理客户端与发布***之间是网络隔离的;
调用容器编排引擎集群,从第一存储仓库中获取存储文件;
基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行。
另一方面,本申请实施例提供了一种调度任务的发布装置,装置包括:
第一接收模块,用于接收针对调度任务的版本发布指令,将版本发布指令发送至持续集成CI工具;
其中,版本发布指令用于指示CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
第二接收模块,用于接收CI工具发送的升级任务请求;升级任务请求是基于CI工具接收到第一存储仓库返回的推送成功提示所触发的;
第一发送模块,用于响应于升级任务请求,发送升级任务至版本管理客户端;
其中,升级任务用于指示版本管理客户端执行如下步骤:
调用容器编排引擎集群,从第一存储仓库中获取存储文件;
基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
在一些可能的实施方式中,装置还包括校验模块,用于:
接收运营终端发送的针对用户服务器的配置信息;
接收用户服务器的配对请求;用户服务器通过运营终端部署有用于执行调度任务的组件,且通过运营终端安装有版本管理客户端;
响应于配对请求,基于配置信息校验版本管理客户端的合法性,若校验通过,则将版本管理客户端的状态设为可运行状态;
第一发送模块在发送升级任务至版本管理客户端时,具体用于:
获取版本管理客户端的状态,若版本管理客户端的状态为可运行状态,则发送升级任务至版本管理客户端。
在一些可能的实施方式中,流水线是基于如下方式创建的:
接收运营终端发送的针对流水线的创建指令;
响应于创建指令,基于配置信息和初始流水线生成流水线的创建参数;
将创建参数发送至CI工具,以使CI工具基于创建参数创建流水线。
在一些可能的实施方式中,装置还包括测试模块,用于:
接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具之前,还包括:
若CI工具通过流水线检测到第二存储仓库中针对调度任务的代码文件符合预设条件,通过测试***对调度任务的代码文件和编排规则信息文件进行测试;
其中,调度任务的代码文件是开发终端发送至第二存储仓库中的;调度任务的编排规则信息文件是开发终端发送至测试***的;
第一接收模块在接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具时,具体用于:
接收针对调度任务的版本发布指令,若测试结果符合预设结果,将版本发布指令发送至CI工具。
另一方面,本申请实施例提供了一种调度任务的发布装置,装置包括:
第三接收模块,用于接收发布***发送的针对调度任务的版本发布指令;
第二获取模块,用于响应于版本发布指令,通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
第四接收模块,用于接收第一存储仓库返回的推送成功提示,响应于推送成功提示发送升级任务请求到发布***;
其中,升级任务请求用于指示发布***发送升级任务至版本管理客户端;升级任务用于指示版本管理客户端调用容器编排引擎集群,从第一存储仓库中获取存储文件,并基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
另一方面,本申请实施例提供了一种调度任务的发布装置,装置包括:
第五接收模块,用于接收发布***发送的升级任务;其中,升级任务发布***基于CI工具发送的升级任务请求触发的;升级任务请求是CI工具接收到第一存储仓库返回的针对存储文件的推送成功提示所触发的;存储文件是CI工具基于发布***发送的版本发布指令,通过已创建的流水线获取并推送至第一存储仓库的;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
调用模块,用于调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件;
导入模块,用于基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***中,以使调度***触发调度任务的执行。
另一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,存储器中存储有计算机程序,处理器执行该计算机程序以实现本申请任一可选实施例中提供的方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序被处理器执行时实现本申请任一可选实施例中提供的方法。
另一方面,本申请实施例还提供了一种计算机程序产品,该计算机产品包括计算机程序,该计算机程序被处理器执行时实现本申请任一可选实施例中提供的方法。
本申请实施例提供的技术方案带来的有益效果如下:
当发布***接收到升级任务请求时,发送升级任务版本至版本管理客户端,通过版本管理客户端调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***中,避免了发布***直接访问调度***网络受限的问题,从而实现了调度任务的发布。
此外,通过流水线先将调度任务的代码文件和对应的编排规则信息文件存储于第一存储仓库中,当需要发布调度任务时,从第一存储仓库中获取代码文件和对应的编排规则信息文件并导入到调度***中,代码和编排规则的发布可以自动执行,有效减少人工成本,并且提高了调度任务的版本发布的效率。
进一步的,通过预先设置初始流水线,根据不同的用户服务器对应的配置信息和初始流水线生成流水线的创建参数,进而创建对应的流水线,可以有效提高流水线的生成效率。
进一步的,借助于容器化技术,所有的版本都是一个容器镜像,当生产环境出现异常问题时,可以快速实现版本回滚,避免引发后续的问题,达到了调度任务一键回滚的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为一个示例中提供的调度任务的发布方法的应用环境示意图;
图2为本申请实施例提供的一种调度任务的发布方法的流程示意图;
图3为本申请一个示例中提供的一种配置信息的界面示意图;
图4为本申请一个示例中提供的版本管理客户端与发布***进行配对的方案的示意图;
图5为本申请一个示例中提供的创建流水线的方案的示意图;
图6为本申请一个示例中提供的版本管理客户端部署的方案的示意图;
图7为本申请一个示例中提供的调度任务的发布的方案的示意图;
图8为本申请一个示例中提供的调度任务的发布的方案的示意图;
图9为本申请一个示例中提供的调度任务的发布的方案的示意图;
图10为本申请实施例提供的一种调度任务的发布装置的结构示意图;
图11为本申请实施例所适用的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
为了更好的说明和理解本申请实施例提供的方案,首先对本申请实施例中所涉及的一些相关的技术用语进行介绍:
DolphinScheduler:一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。
HDFS:被设计成适合运行在通用硬件上的分布式文件***。
Kubernetes:一个开源的容器编排引擎,用来对容器化应用进行自动化部署、扩缩和管理。
发布***:软件工程师开发完代码后,代码需要经过发布***编译部署到生产环境服务器上,方能对外提供服务。开发人员通常只用关心代码实现和功能验证,部署过程由发布***自动化完成,从而达到持续集成和持续部署。
任务调度:指***为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力由***自动去执行任务。任务和任务之间存在前后置关系。
私有化部署:一般指的是把第三方应用部署到客户自己的服务器上。私有化部署是saas产品常用的一种对外服务方式。
任务编排:对任务流按照一定的逻辑串起来。任务包含两个要素,任务的前后置关系和任务本身的运行规则。对于一个工作任务,可能有不同的子任务串起来的,并且有些子任务是并行或者前后执行的。任务本身也包含自己的运行规则,如开始执行时间、调度周期等。
部署流水线:又称持续集成流水线、构建流水线,是指软件从制品库到用户的自动化交付过程。通常包括代码提交、构建、部署、测试、发布环节。
在大数据领域,调度任务对外提供服务,不仅包含代码开发,在代码部署完成后,还需要做任务编排。任务编排需要数据开发人员根据具体需求确定,无法自动化完成。由于此特点,大数据调度任务较难实现持续集成和持续部署。在私有化场景中,每家客户都拥有自己独享的运行环境。版本发布时,需要将调度任务发布到客户所在的私有运行环境下。如果没有调度任务的持续集成和持续部署,那么当版本发布时需要开发人员登录到每一家客户的私有化环境中,手动维护任务编排。当私有化客户较多时,需要花费开发人员大量的时间手动处理版本发布,并且还可能引入因人为疏忽导致的任务异常。本***提供了一种调度任务发布的方法,用来支持大数据调度任务的持续集成和持续部署。
当有新的私有化客户下单时,也需要开发人员手动部署和维护私有化环境。本***提供了一种方法,将大数据调度任务的持续集成和持续部署自动化应用到新的私有化环境中,以提高私有化环境生成和版本发布的效率。
在公有云的网络环境下,发布***可以通过网络请求调用基础组件(kubernetes)的API(Application Programming Interface,应用程序编程接口),实现生产环境的服务更新,达到版本发布的目的。但在私有化环境下,不同于公有云的网络设施,出于网络安全考虑,私有化客户环境与发布***是网络隔离的。发布***无法访问到客户私有化环境。本***提供了一种方法,在不打破网络隔离的情况下,实现调度任务的私有化发布。
目前的调度任务的发布中,开发人员在提交项目代码后,触发部署流水线构建,通过持续集成工具打包生成docker(应用容器引擎)镜像,持续集成工具调用kubernetes的API将打包的镜像部署到生产的kubernetes集群中。整个过程可以持续的自动化执行。
对于大数据调度任务而言,任务的完整运行,不仅包含任务的代码,还有任务编排。即大数据调度任务正常运转包含调度任务的代码,任务的编排规则。
对于大数据软件项目,数据开发人员开发完代码后需要在测试环境管理任务编排。发布完成后,如果只有代码的发布,则仍需要在生产环境管理任务编排,存在重复性工作。在私有化场景下,私有化环境数量是不固定的,通常会有上十家乃至上百家的私有化客户。如果每家私有化客户都需要开发人员在发布完成后,手动管理任务编排,对开发人员是很大的挑战。
其次每家私有化环境都是独立的,无法通过单一的部署流水线实现不同环境的服务部署。另外,由于网络安全的考虑,发布***无法触达到客户私有化环境,通过调用客户环境的组件API实现版本发布的方法也存在问题。
可选的,本申请实施例所涉及的数据处理可以基于云技术(Cloud technology)实现,比如,创建流水线等步骤可以采用云技术实现。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。云计算则是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
下面通过对几个可选的实施例的描述,对本申请提供的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
本申请实施例提供的调度任务的发布方法,可以由任意的计算机设备执行,可选的,可以由服务器执行,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。
图1为本申请实施例提供的调度任务的发布方法的应用环境示意图。
其中,应用环境可以包括发布终端101和用户服务器102,发布终端101中包括发布***和CI工具,用户服务器102中包括版本管理客户端、调度***和容器编排引擎集群。具体的,发布***接收针对调度任务的版本发布指令,将版本发布指令发送至持续集成CI工具;发布***接收CI工具发送的升级任务请求;发布***响应于升级任务请求,发送升级任务至版本管理客户端;版本管理客户端响应于升级任务,调用容器编排引擎集群,从第一存储仓库中获取存储文件;基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
上述应用场景中,发布***和CI工具均设置与发布终端中,在其他应用场景中,发布***也可以设置于服务器中,或发布***和CI工具也可以设置于不同的设备中,对此本申请不进行限制。
本技术领域技术人员可以理解,本技术领域技术人员可以理解,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、笔记本电脑、数字广播接收器、MID(Mobile Internet Devices,移动互联网设备)、PDA(个人数字助理)、台式计算机、智能家电、车载终端(例如车载导航终端、车载电脑等)、智能音箱、智能手表等,终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,但并不局限于此。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。具体也可基于实际应用场景需求确定,在此不作限定。
终端(也可以称为用户终端或用户设备)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、AR/VR设备、飞行器等,但并不局限于此。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
在一些可能的实施方式中,提供了一种调度任务的发布方法,可以由发布***执行,发布***可以设置于终端中,也可以设置于服务器中。
图2示出了本申请实施例提供的一种调度任务的发布方法的流程示意图,以执行主体为发布***为例,本申请提供的调度任务的发布方法,可以包括如下步骤:
步骤S201,接收针对调度任务的版本发布指令,将版本发布指令发送至持续集成CI工具。
具体的,发布***中的发布***接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具中的CI(Continuous Integration,持续集成)工具。
在本实施例中,发布***设置于发布终端中,发布***和CI工具可以设置于相同的终端中,在其他实施例中,发布***或CI工具也可以设置于服务器中,具体的发布***和CI工具的设置形式具体不再进行限定。
其中,版本发布指令用于指示CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中。
具体的,存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的,存储文件可以包括容器镜像。
步骤S202,接收CI工具发送的升级任务请求。
其中,升级任务请求是基于CI工具接收到第一存储仓库返回的推送成功提示所触发的。
具体的,当存储文件推送到第一存储仓库,推送成功时,CI工具发送升级任务请求到发布***。
步骤S203,响应于升级任务请求,发送升级任务至版本管理客户端。
其中,版本管理客户端可以是一种工具软件包,例如可以是由java(一种计算机语言)编写的工具软件包,运行在客户私有化环境特定服务器上,即运行于用户服务器中。版本管理客户端通过特定网络端口和签名,向发布***发送网络请求,避免了发布***直接访问私有化环境网络受限和网络安全问题。
其中,版本管理客户端可以配置于用户服务器中,用户服务器中还包括调度***和容器编排引擎集群。
具体的,版本管理客户端与发布***之间是网络隔离的,即发布***不能直接和调度***直接进行交互。
具体的,版本管理客户端接收到升级任务,则调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件,并基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***,调度***再发布调度任务。
上述实施例中,当发布***接收到升级任务请求时,发送升级任务版本至版本管理客户端,通过版本管理客户端调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***中,避免了发布***直接访问调度***网络受限的问题,从而实现了调度任务的发布。
此外,通过流水线先将调度任务的代码文件和对应的编排规则信息文件存储于第一存储仓库中,当需要发布调度任务时,从第一存储仓库中获取代码文件和对应的编排规则信息文件并导入到调度***中,代码和编排规则的发布可以自动执行,有效减少人工成本,并且提高了调度任务的版本发布的效率。
以下将结合实施例进一步阐述版本管理客户端的具体安装过程。
在一些可能的实施方式中,方法还包括:
(1)接收运营终端发送的针对用户服务器的配置信息。
其中,配置信息可以包括用户服务器,即用户的私有化环境的服务地址、API地址等。
如图3所示,在一个示例中,配置信息可以包括私有化环境中的对应业务、私有化配置名称、对应私有化生产环境的API地址、对应私有化环境API的token(令牌)、对应私有化环境界面地址等。
(2)接收用户服务器的配对请求。
其中,用户服务器通过运营终端部署有用于执行调度任务的组件,且通过运营终端安装有版本管理客户端。
(3)响应于配对请求,基于配置信息校验版本管理客户端的合法性,若校验通过,则将版本管理客户端的状态设为可运行状态。
步骤S203发送升级任务至版本管理客户端,可以包括:
获取版本管理客户端的状态,若版本管理客户端的状态为可运行状态,则发送升级任务至版本管理客户端。
其中,版本管理客户端的状态设置为可运行状态,即可以执行调度任务的发布过程。
具体的,基于配置信息校验版本管理客户端的合法性,可以包括:
版本管理客户端读取用户服务器的配置信息,版本管理客户端发送配对命令到发布***;
发布***响应于配对命令,将版本管理客户端发送的配置信息与运营终端发送的配置信息进行匹配,校验版本管理客户端是否合法,若是,则可以执行后续命令,将版本管理客户端设为可运行状态。
如图4所示,在一个示例中,用户服务器也可以称为客户私有化环境。版本管理客户端安装成功后,会使用分配的安全凭证信息,按照一定频率向发布***发送心跳连接。发布***接收到私有化环境的客户端,即版本管理客户端的请求,会通过签名验证,校验版本管理客户端的合法性。安全凭证校验通过,即代表发布***和客户私有化环境配对成功。发布***会记录客户端每次的请求时间,作为客户端是否在线的信息来源。如果在一定时间内没有收到客户端的心跳请求,发布***会触发该私有化环境的告警。
因为网络隔离的原因,发布***无法连接到客户的私有化环境。版本管理客户端可以是由Java(一种计算机语言)编写的工具软件包,私有化环境,即用户服务器的配置信息会被编译到该版本管理客户端中。版本管理客户端需要安装在可访问公网的指定服务器上,即用户服务器。版本管理客户端通过特定网络端口,主动向发布***发送网络请求。版本管理客户端和发布***构成了客户端/服务器架构,避免了发布***直接访问私有化环境网络受限的问题。客户内部网络无需暴露到公网,其次由于特定服务器、特定防火墙、服务端签名验证等机制,可保证客户端和服务端的网络安全性。
上述实施例中,通过将版本管理客户端安装于用户服务器中,避免了发布***直接访问调度***网络受限的问题,从而实现了调度任务的发布。此外,用户的私有化内部网络无需暴露到公网,可保证网络安全性。
以下将结合实施例进一步阐述流水线的部署过程。
在一些可能的实施方式中,流水线是基于如下方式创建的:
(1)接收运营终端发送的针对流水线的创建指令;
(2)响应于创建指令,基于配置信息和初始流水线生成流水线的创建参数;
(3)将创建参数发送至CI工具,以使CI工具基于创建参数创建流水线。
具体的,初始流水线可以是一种预先设置的流水线模板,发布***可以根据用户服务器的配置信息对初始流水线进行修改,生成针对流水线的创建参数,然后由CI工具根据创建参数创建流水线。
如图5所示,图中所示的发布***获取用户服务器的配置信息,即图中所示的获取私有化环境配置信息,发布***根据配置信息和初始流水线生成创建参数,并将创建参数发送至CI工具,即图中所示创建流水线命令发送至第三方CI平台,CI工具基于创建参数生成流水线,即图中所示的生成私有化环境流水线。
上述实施例中,通过预先设置初始流水线,根据不同的用户服务器对应的配置信息和初始流水线生成流水线的创建参数,进而创建对应的流水线,可以有效提高流水线的生成效率。
以下将结合示例阐述本申请的版本管理客户端的部署过程。
如图6,在一个示例中,版本管理客户端的部署过程,可以包括如下步骤:
运营终端在用户服务器(即图中所示的客户私有化环境)中部署用于执行调度任务的组件;
若运营终端接收到用户服务器发送的部署完成提示,则发送配置信息到发布***中;
运营终端在用户服务器中安装版本管理客户端,版本管理客户端向发布***发送配对请求;
发布***响应于配对请求跟版本管理客户端进行配对,若配对成功,则完成环境配置;
运营终端发送创建流水线命令到发布***,发布***基于配置信息和初始流水线,生成流水线参数,并发送携带流水线参数的创建请求到CI工具中;
CI工具基于创建请求生成流水线。
在一些可能的实施方式中,步骤S201接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具之前,还可以包括:
若CI工具通过流水线检测到第二存储仓库中针对调度任务的代码文件符合预设条件,通过测试***对调度任务的代码文件和编排规则信息文件进行测试。
其中,调度任务的代码文件是开发终端发送至第二存储仓库中的;调度任务的编排规则信息文件是开发终端提交至测试***的。
具体的,测试***可以是独立于发布终端和用户服务器设置的,是用于对开发终端发送的编排规则信息文件和代码文件进行测试的,若测试成功,则编排规则信息文件可以用于进行调度任务的发布。
步骤S201接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具,可以包括:
接收针对调度任务的版本发布指令,若测试结果符合预设结果,将版本发布指令发送至CI工具。
其中,测试结果符合预设结果,即编排规则信息文件是可以用于进行调度任务的发布的,即测试通过,则可以执行调度任务的发布过程。
在一些可能的实施方式中,存储文件包括容器镜像(container image);获取调度任务的对应的存储文件,可以包括:
从第二存储仓库中获取调度任务的代码文件,并从测试***中导出编排规则信息文件;
将代码文件和对应的编排规则信息文件打包生成容器镜像。
其中,容器镜像包含了一个打包的应用,以及它的依赖关系,还有它在启动时运行的进程信息。
上述实施例中,借助于容器化技术,所有的版本都是一个容器镜像,当生产环境出现异常问题时,可以快速实现版本回滚,避免引发后续的问题,达到了调度任务一键回滚的效果。
以下将结合示例阐述本申请的调度任务的发布过程。
如图7所示,在一个示例中,本申请的调度任务的发布过程,可以包括如下步骤:
发布***接收到针对调度任务的版本发布指令,即图中所示的接收发布命令,发送版本发布指令到CI工具,即图中所示的发送流水线执行请求到第三方CI工具;
CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;即图中所示的触发执行代码构建,并触发生成docker镜像,将生成的docker镜像推送到远程镜像仓库中;
发布***发送升级任务至版本管理客户端,版本管理客户端调用容器编排引擎集群,从第一存储仓库中获取存储文件;基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行,即图中所示的Kubernetes触发执行dockerstart(脚本),上传代码文件到HDFS(Hadoop DistributedFile System,分布式文件***),运行时调度任务将其从HDFS上拉取到调度***所在的用户服务器中执行。
图7所示的调度任务的发布过程,结合发布之前的测试过程,即如图8所示,在调度任务的发布之前,还包括:
版本仓库接收开发终端发送的调度任务的代码信息,测试***对调度任务的编排规则信息文件进行测试,若测试通过,则在调度任务的发布过程中,从版本仓库中获取调度任务的代码文件,并从测试***中导出编排规则信息文件。
图8中的导出模块,在部署流水线触发执行时,导出模块会作为插件被部署流水线执行。导出模块的作用是将任务编排的规则以及代码,打包成可以发布的容器镜像。调度***本身提供导出API,在导出模块中会调用调度***导出API将所有调度任务的编排规则以文件形式导出,然后和代码库中代码文件一起作为发布材料打包到docker容器镜像中。
图8中的导入模块,作用是部署编排规则。在镜像打包推送到远程仓库完成后,导入模块同样会作为插件被部署流水线执行。导入模块的作用是将打包的编排规则信息文件,通过调用生产环境调度***的导入API,将编排规则信息文件,导入到生产环境的调度***中。和代码发布类似,编排规则信息文件导入完成后,将之前的调度任务通过调度***删除API移除掉,从而完成版本的替换。
版本发布完成后,生产环境的任务代码、任务编排,都是测试环境的完整拷贝。如果测试环境功能验证通过,等同于生产环境也是通过验证的版本。其他流程,包括调度任务的版本回滚,参照代码发布的通用流程。
版本镜像推送成功后,部署流水线会使用安全凭证向发布***提交该私有化环境镜像更新请求。版本管理客户端定时请求发布***,当发布***存在版本更新时,发布***会下发镜像更新命令到版本管理客户端。版本管理客户端通过本地调用Kubernetes镜像更新命令,从镜像仓库中拉取之前推送的版本镜像。版本镜像中包含导入模块的逻辑,拉取完成后,容器开始执行上文中提到的导入模块。
以下将从分布***、CI工具和调度***进行交互的角度来阐述上述的调度任务的发布过程。
如图9所示,在一个示例中,本申请的调度任务的发布方法,可以包括:
发布***接收针对调度任务的版本发布指令,将版本发布指令发送至持续集成CI工具;
CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中,即图中所示的镜像仓库中;
CI工具接收到存储仓库返回的推送成功提示,创建并发送升级任务请求到发布***;即图中所示的创建镜像升级命令,创建镜像升级任务请求;
发布***响应于升级任务请求,发送升级任务至版本管理客户端;即图中所示的下发镜像升级任务到版本管理客户端;
版本管理客户端调用容器编排引擎集群,从第一存储仓库中获取存储文件;即图中所示的执行Kubernetes镜像更新命令,Kubernetes***从镜像仓库拉取发布版本镜像;
版本管理客户端基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;即图中所示的运行dockerstart(脚本),执行导入模块。
在一些可能的实施方式中,提供了一种调度任务的发布方法,应用于CI工具,方法包括:
接收发布***发送的针对调度任务的版本发布指令;
响应于版本发布指令,通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
接收第一存储仓库返回的推送成功提示,响应于推送成功提示发送升级任务请求到发布***;
其中,升级任务请求用于指示发布***发送升级任务至版本管理客户端;升级任务用于指示版本管理客户端调用容器编排引擎集群,从第一存储仓库中获取存储文件,并基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
具体的,版本管理客户端与发布***之间是网络隔离的,即发布***不能直接和调度***直接进行交互。
具体的,版本管理客户端接收到升级任务,则调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件,并基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***,后续由调度***来触发调度任务的执行。
具体的发布***与CI工具以及调度***之间的交互过程,上述以发布***为执行主体已经进行详细阐述,在此不再进行赘述。
在一些可能的实施方式中,提供了一种调度任务的发布方法,应用于版本管理客户端,方法包括:
接收发布***发送的升级任务;其中,升级任务发布***基于CI工具发送的升级任务请求触发的;升级任务请求是CI工具接收到第一存储仓库返回的针对存储文件的推送成功提示所触发的;存储文件是CI工具基于发布***发送的版本发布指令,通过已创建的流水线获取并推送至第一存储仓库的;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;版本管理客户端与发布***之间是网络隔离的;
调用容器编排引擎集群,从第一存储仓库中获取存储文件;
基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行。
具体的发布***与CI工具以及调度***之间的交互过程,上述以发布***为执行主体已经进行详细阐述,在此不再进行赘述。
上述的调度任务的发布方法,当发布***接收到升级任务请求时,发送升级任务版本至版本管理客户端,通过版本管理客户端调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***中,避免了发布***直接访问调度***网络受限的问题,从而实现了调度任务的发布。
此外,通过流水线先将调度任务的代码文件和对应的编排规则信息文件存储于第一存储仓库中,当需要发布调度任务时,从第一存储仓库中获取代码文件和对应的编排规则信息文件并导入到调度***中,代码和编排规则的发布可以自动执行,有效减少人工成本,并且提高了调度任务的版本发布的效率。
进一步的,通过预先设置初始流水线,根据不同的用户服务器对应的配置信息和初始流水线生成流水线的创建参数,进而创建对应的流水线,可以有效提高流水线的生成效率。
进一步的,借助于容器化技术,所有的版本都是一个容器镜像,当生产环境出现异常问题时,可以快速实现版本回滚,避免引发后续的问题,达到了调度任务一键回滚的效果。
如图10所示,在一些可能的实施方式中,提供了一种调度任务的发布装置,包括:
第一接收模块1001,第一接收模块,用于接收针对调度任务的版本发布指令,将版本发布指令发送至持续集成CI工具;
其中,版本发布指令用于指示CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
第二接收模块1002,用于接收CI工具发送的升级任务请求;升级任务请求是基于CI工具接收到第一存储仓库返回的推送成功提示所触发的;
第一发送模块1003,用于响应于升级任务请求,发送升级任务至版本管理客户端;
其中,升级任务用于指示版本管理客户端执行如下步骤:
调用容器编排引擎集群,从第一存储仓库中获取存储文件;
基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
在一些可能的实施方式中,装置还包括校验模块,用于:
接收运营终端发送的针对用户服务器的配置信息;
接收用户服务器的配对请求;用户服务器通过运营终端部署有用于执行调度任务的组件,且通过运营终端安装有版本管理客户端;
响应于配对请求,基于配置信息校验版本管理客户端的合法性,若校验通过,则将版本管理客户端的状态设为可运行状态;
第一发送模块在发送升级任务至版本管理客户端时,具体用于:
获取版本管理客户端的状态,若版本管理客户端的状态为可运行状态,则发送升级任务至版本管理客户端。
在一些可能的实施方式中,流水线是基于如下方式创建的:
接收运营终端发送的针对流水线的创建指令;
响应于创建指令,基于配置信息和初始流水线生成流水线的创建参数;
将创建参数发送至CI工具,以使CI工具基于创建参数创建流水线。
在一些可能的实施方式中,装置还包括测试模块,用于:
接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具之前,还包括:
若CI工具通过流水线检测到第二存储仓库中针对调度任务的代码文件符合预设条件,通过测试***对调度任务的代码文件和编排规则信息文件进行测试;
其中,调度任务的代码文件是开发终端发送至第二存储仓库中的;调度任务的编排规则信息文件是开发终端发送至测试***的;
第一接收模块1001在接收针对调度任务的版本发布指令,将版本发布指令发送至CI工具时,具体用于:
接收针对调度任务的版本发布指令,若测试结果符合预设结果,将版本发布指令发送至CI工具。
在一些可能的实施方式中,提供了一种调度任务的发布装置,装置包括:
第三接收模块,用于接收发布***发送的针对调度任务的版本发布指令;
第二获取模块,用于响应于版本发布指令,通过已创建的流水线获取调度任务的对应的存储文件,并将存储文件推送至第一存储仓库中;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
第四接收模块,用于接收第一存储仓库返回的推送成功提示,响应于推送成功提示发送升级任务请求到发布***;
其中,升级任务请求用于指示发布***发送升级任务至版本管理客户端;升级任务用于指示版本管理客户端调用容器编排引擎集群,从第一存储仓库中获取存储文件,并基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使调度***触发调度任务的执行;调度***与发布***是网络隔离的。
在一些可能的实施方式中,提供了一种调度任务的发布装置,装置包括:
第五接收模块,用于接收发布***发送的升级任务;其中,升级任务发布***基于CI工具发送的升级任务请求触发的;升级任务请求是CI工具接收到第一存储仓库返回的针对存储文件的推送成功提示所触发的;存储文件是CI工具基于发布***发送的版本发布指令,通过已创建的流水线获取并推送至第一存储仓库的;存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
调用模块,用于调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件;
导入模块,用于基于存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***中,以使调度***触发调度任务的执行。
上述的调度任务的发布装置,当发布***接收到升级任务请求时,发送升级任务版本至版本管理客户端,通过版本管理客户端调用用户服务器中的容器编排引擎集群,从第一存储仓库中获取存储文件,将调度任务的代码文件和对应的编排规则信息文件导入到用户服务器的调度***中,避免了发布***直接访问调度***网络受限的问题,从而实现了调度任务的发布。
此外,通过流水线先将调度任务的代码文件和对应的编排规则信息文件存储于第一存储仓库中,当需要发布调度任务时,从第一存储仓库中获取代码文件和对应的编排规则信息文件并导入到调度***中,代码和编排规则的发布可以自动执行,有效减少人工成本,并且提高了调度任务的版本发布的效率。
进一步的,通过预先设置初始流水线,根据不同的用户服务器对应的配置信息和初始流水线生成流水线的创建参数,进而创建对应的流水线,可以有效提高流水线的生成效率。
进一步的,借助于容器化技术,所有的版本都是一个容器镜像,当生产环境出现异常问题时,可以快速实现版本回滚,避免引发后续的问题,达到了调度任务一键回滚的效果。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行存储器中存储的计算机程序时可实现本申请任一可选实施例中的方法。
图11示出了本发明实施例所适用的一种电子设备的结构示意图,如图11所示,该电子设备可以为服务器或者用户终端,该电子设备可以用于实施本发明任一实施例中提供的方法。
如图11中所示,该电子设备1100主要可以包括至少一个处理器1101(图11中示出了一个)、存储器1102、通信模块1103和输入/输出接口1104等组件,可选的,各组件之间可以通过总线1105实现连接通信。需要说明的是,图11中示出的该电子设备1100的结构只是示意性的,并不构成对本申请实施例提供的方法所适用的电子设备的限定。
其中,存储器1102可以用于存储操作***和应用程序等,应用程序可以包括在被处理器1101调用时实现本发明实施例所示方法的计算机程序,还可以包括用于实现其他功能或服务的程序。存储器1102可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和计算机程序的其他类型的动态存储设备,也可以是EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(CompactDisc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器1101通过总线1105与存储器1102连接,通过调用存储器1102中所存储的应用程序实现相应的功能。其中,处理器1101可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
电子设备1100可以通过通信模块1103(可以包括但不限于网络接口等组件)连接到网络,以通过网络与其它设备(如用户终端或服务器等)的通信,实现数据的交互,如向其他设备发送数据或从其他设备接收数据。其中,通信模块1103可以包括有线网络接口和/或无线网络接口等,即通信模块可以包括有线通信模块或无线通信模块中的至少一项。
电子设备1100可以通过输入/输出接口1104可以连接所需要的输入/输出设备,如键盘、显示设备等,电子设备110自身可以具有显示设备,还可以通过接口1104外接其他显示设备。可选的,通过该接口1104还可以连接存储装置,如硬盘等,以可以将电子设备1100中的数据存储到存储装置中,或者读取存储装置中的数据,还可以将存储装置中的数据存储到存储器1102中。可以理解的,输入/输出接口1104可以是有线接口,也可以是无线接口。根据实际应用场景的不同,与输入/输出接口1104连接的设备,可以是电子设备1100的组成部分,也可以是在需要时与电子设备1100连接的外接设备。
用于连接各组件的总线1105可以包括一通路,在上述组件之间传送信息。总线1105可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。根据功能的不同,总线1105可以分为地址总线、数据总线、控制总线等。
可选的,对于本发明实施例所提供的方案而言,存储器1102可以用于存储执行本发明方案的计算机程序,并由处理器1101来运行,处理器1101运行该计算机程序时实现本发明实施例提供的方法或装置的动作。
基于与本申请实施例提供的方法相同的原理,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的相应内容。
本申请实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时可实现前述方法实施例的相应内容。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (13)

1.一种调度任务的发布方法,其特征在于,应用于发布***,所述方法包括:
接收针对调度任务的版本发布指令,将所述版本发布指令发送至持续集成CI工具;
其中,所述版本发布指令用于指示所述CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将所述存储文件推送至第一存储仓库中;所述存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
接收所述CI工具发送的升级任务请求;所述升级任务请求是基于CI工具接收到第一存储仓库返回的推送成功提示所触发的;
响应于所述升级任务请求,发送升级任务至版本管理客户端;
其中,所述升级任务用于指示所述版本管理客户端执行如下步骤:
调用容器编排引擎集群,从所述第一存储仓库中获取所述存储文件;
基于所述存储文件,将所述调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使所述调度***触发所述调度任务的执行;所述调度***与所述发布***是网络隔离的。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取运营终端发送的针对用户服务器的配置信息;
接收版本管理客户端的配对请求;
响应于所述配对请求,基于所述配置信息校验所述版本管理客户端的合法性,若校验通过,则将所述版本管理客户端的状态设为可运行状态;
所述发送升级任务至版本管理客户端,包括:
获取所述版本管理客户端的状态,若所述版本管理客户端的状态为可运行状态,则发送升级任务至版本管理客户端。
3.根据权利要求2所述的方法,其特征在于,所述流水线是基于如下方式创建的:
接收所述运营终端发送的针对流水线的创建指令;
响应于所述创建指令,基于所述配置信息和预设的初始流水线生成流水线的创建参数;
将所述创建参数发送至CI工具,以使所述CI工具基于所述创建参数创建所述流水线。
4.根据权利要求1所述的方法,其特征在于,所述接收针对调度任务的版本发布指令,将所述版本发布指令发送至CI工具之前,还包括:
若所述CI工具通过所述流水线检测到第二存储仓库中针对调度任务的代码文件符合预设条件,通过测试***对所述调度任务的代码文件和编排规则信息文件进行测试;
其中,所述调度任务的代码文件是开发终端发送至所述第二存储仓库中的;所述调度任务的编排规则信息文件是所述开发终端发送至所述测试***的;
所述接收针对调度任务的版本发布指令,将所述版本发布指令发送至CI工具,包括:
接收针对调度任务的版本发布指令,若测试结果符合预设结果,将所述版本发布指令发送至所述CI工具。
5.根据权利要求1所述的方法,其特征在于,所述存储文件包括容器镜像;
所述获取调度任务的对应的存储文件,包括:
从所述第二存储仓库中获取调度任务的代码文件,并从所述测试***中导出所述编排规则信息文件;
将所述代码文件和对应的编排规则信息文件打包生成所述容器镜像。
6.一种调度任务的发布方法,其特征在于,应用于CI工具,所述方法包括:
接收发布***发送的针对调度任务的版本发布指令;
响应于所述版本发布指令,通过已创建的流水线获取调度任务的对应的存储文件,并将所述存储文件推送至第一存储仓库中;所述存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
接收所述第一存储仓库返回的推送成功提示,响应于所述推送成功提示发送升级任务请求到所述发布***;
其中,所述升级任务请求用于指示所述发布***发送升级任务至版本管理客户端;所述升级任务用于指示所述版本管理客户端调用容器编排引擎集群,从所述第一存储仓库中获取所述存储文件,并基于所述存储文件,将所述调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使所述调度***触发所述调度任务的执行;所述调度***与所述发布***是网络隔离的。
7.一种调度任务的发布方法,其特征在于,应用于版本管理客户端,所述方法包括:
接收发布***发送的升级任务;其中,所述升级任务所述发布***基于CI工具发送的升级任务请求触发的;所述升级任务请求是所述CI工具接收到第一存储仓库返回的针对存储文件的推送成功提示所触发的;所述存储文件是CI工具基于发布***发送的版本发布指令,通过已创建的流水线获取并推送至所述第一存储仓库的;所述存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;所述版本管理客户端与所述发布***之间是网络隔离的;
调用容器编排引擎集群,从所述第一存储仓库中获取所述存储文件;
基于所述存储文件,将所述调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使所述调度***触发所述调度任务的执行。
8.一种调度任务的发布装置,其特征在于,所述装置包括:
第一接收模块,用于接收针对调度任务的版本发布指令,将所述版本发布指令发送至持续集成CI工具;
其中,所述版本发布指令用于指示所述CI工具通过已创建的流水线获取调度任务的对应的存储文件,并将所述存储文件推送至第一存储仓库中;所述存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
第二接收模块,用于接收所述CI工具发送的升级任务请求;所述升级任务请求是基于CI工具接收到第一存储仓库返回的推送成功提示所触发的;
第一发送模块,用于响应于所述升级任务请求,发送升级任务至版本管理客户端;
其中,所述升级任务用于指示所述版本管理客户端执行如下步骤:
调用容器编排引擎集群,从所述第一存储仓库中获取所述存储文件;
基于所述存储文件,将所述调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使所述调度***触发所述调度任务的执行;所述调度***与所述发布***是网络隔离的。
9.一种调度任务的发布装置,其特征在于,所述装置包括:
第三接收模块,用于接收发布***发送的针对调度任务的版本发布指令;
第二获取模块,用于响应于所述版本发布指令,通过已创建的流水线获取调度任务的对应的存储文件,并将所述存储文件推送至第一存储仓库中;所述存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
第四接收模块,用于接收所述第一存储仓库返回的推送成功提示,响应于所述推送成功提示发送升级任务请求到所述发布***;
其中,所述升级任务请求用于指示所述发布***发送升级任务至版本管理客户端;所述升级任务用于指示所述版本管理客户端调用容器编排引擎集群,从所述第一存储仓库中获取所述存储文件,并基于所述存储文件,将所述调度任务的代码文件和对应的编排规则信息文件导入到调度***中,以使所述调度***触发所述调度任务的执行;所述调度***与所述发布***是网络隔离的。
10.一种调度任务的发布装置,其特征在于,所述装置包括:
第五接收模块,用于接收发布***发送的升级任务;其中,所述升级任务所述发布***基于CI工具发送的升级任务请求触发的;所述升级任务请求是所述CI工具接收到第一存储仓库返回的针对存储文件的推送成功提示所触发的;所述存储文件是CI工具基于发布***发送的版本发布指令,通过已创建的流水线获取并推送至所述第一存储仓库的;所述存储文件是基于调度任务的代码文件和对应的编排规则信息文件生成的;
调用模块,用于调用所述用户服务器中的容器编排引擎集群,从所述第一存储仓库中获取所述存储文件;
导入模块,用于基于所述存储文件,将所述调度任务的代码文件和对应的编排规则信息文件导入到所述用户服务器的调度***中,以使所述调度***触发所述调度任务的执行。
11.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序以实现权利要求1至7中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
CN202310121063.1A 2023-01-31 2023-01-31 调度任务的发布方法、装置、电子设备及存储介质 Pending CN116974716A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310121063.1A CN116974716A (zh) 2023-01-31 2023-01-31 调度任务的发布方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310121063.1A CN116974716A (zh) 2023-01-31 2023-01-31 调度任务的发布方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116974716A true CN116974716A (zh) 2023-10-31

Family

ID=88473794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310121063.1A Pending CN116974716A (zh) 2023-01-31 2023-01-31 调度任务的发布方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116974716A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785266A (zh) * 2023-12-26 2024-03-29 无锡雪浪数制科技有限公司 应用程序的自动发布方法、调度服务器及低代码平台

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785266A (zh) * 2023-12-26 2024-03-29 无锡雪浪数制科技有限公司 应用程序的自动发布方法、调度服务器及低代码平台

Similar Documents

Publication Publication Date Title
US11023215B2 (en) Methods, systems, and portal for accelerating aspects of data analytics application development and deployment
CN110622129B (zh) 使用软件容器用于加速数据分析应用程序开发和部署的各方面的方法、***和门户
US10462018B2 (en) Managing a number of secondary clouds by a master cloud service manager
US20120203823A1 (en) Apparatus, systems and methods for deployment and management of distributed computing systems and applications
US11467951B2 (en) System and method for implementing mainframe continuous integration continuous development
CN109117170B (zh) 一种运行环境搭建方法及装置、代码合入方法及***
CN113220431B (zh) 跨云的分布式数据任务调度方法、设备及存储介质
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
CN113434158A (zh) 一种大数据组件的自定义管理方法、装置、设备及介质
US11392366B1 (en) Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms
CN111596928B (zh) 一种应用控制方法、装置及电子设备
CN111162953A (zh) 数据处理方法、***升级方法和服务器
CN113687858B (zh) 配置文件的检查方法、装置、电子设备及存储介质
CN110727575B (zh) 一种信息处理方法、***、装置、以及存储介质
CN116860266A (zh) 应用容器化部署方法、装置、电子设备及存储介质
CN116974716A (zh) 调度任务的发布方法、装置、电子设备及存储介质
US9141517B2 (en) Public solution model test automation framework
CN117112122A (zh) 一种集群部署方法和装置
EP3683675A1 (en) System, apparatus and method of integrated deployment
TW201407503A (zh) 雲端平台工作排程方法及系統
US9727311B2 (en) Generating a service definition including a common service action
CN111913721B (zh) 自动化部署方法、装置、设备及存储介质
US11010154B2 (en) System and method for implementing complex patching micro service automation
CN113628052A (zh) 基于预言机的区块链资产与合约处理方法、***及装置
CN112564979A (zh) 构建任务的执行方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication