CN114968223A - 流水线编排方法、装置、设备及存储介质 - Google Patents

流水线编排方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114968223A
CN114968223A CN202111528358.8A CN202111528358A CN114968223A CN 114968223 A CN114968223 A CN 114968223A CN 202111528358 A CN202111528358 A CN 202111528358A CN 114968223 A CN114968223 A CN 114968223A
Authority
CN
China
Prior art keywords
atom
target
pipeline
atoms
preorder
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
CN202111528358.8A
Other languages
English (en)
Other versions
CN114968223B (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202111528358.8A priority Critical patent/CN114968223B/zh
Publication of CN114968223A publication Critical patent/CN114968223A/zh
Application granted granted Critical
Publication of CN114968223B publication Critical patent/CN114968223B/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/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level
    • G06F8/4452Software pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

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

本申请提供一种流水线编排方法、装置、设备及存储介质。该方法包括:获取待编排的流水线;接收客户端发送的用户输入的针对目标原子的原子工作区选择信息,其中目标原子为待编排的流水线中具有一个以上前序原子的原子,前序原子的输出与目标原子的输入关联;根据原子工作区选择信息以及待编排的流水线的原子排布,确定目标原子的前序原子列表,其中前序原子列表中包括多个前序原子的标识;将前序原子列表发送至客户端以进行显示;接收客户端发送的用户在前序原子列表中针对目标前序原子的选择信息,根据目标前序原子的选择信息对目标原子与目标前序原子的衔接关系进行配置,以完成流水线编排。本申请的方法,提高了流水线的运行效率。

Description

流水线编排方法、装置、设备及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种流水线编排方法、装置、设备及存储介质。
背景技术
当前客户产品需求的变化往往会导致程序更新迭代速度加快,这就需要互联网的软件开发和发布是要持续集成的,即频繁的将更新的代码集成至软件主干。
目前,持续集成可以通过使用持续集成工具将代码段转换为原子,并使用全局变量参数将原子紧密耦合得到流水线。
但是,目前持续集成工具得到的流水线中若有并行的前序原子,则后序原子无法识别应该接收哪个前序原子的数据,导致运行效率低。
发明内容
本申请提供一种流水线编排方法、装置、设备及存储介质,用以解决现有技术得到的流水线的运行效率低的问题。
第一方面,本申请提供一种流水线编排方法,包括:
获取待编排的流水线,其中待编排的流水线包括多个原子;接收客户端发送的用户输入的针对目标原子的原子工作区选择信息,其中目标原子为待编排的流水线中具有一个以上前序原子的原子,前序原子的输出与目标原子的输入关联;根据原子工作区选择信息以及待编排的流水线的原子排布,确定目标原子的前序原子列表,其中前序原子列表中包括多个前序原子的标识;将前序原子列表发送至客户端以进行显示;接收客户端发送的用户在前序原子列表中针对目标前序原子的选择信息,根据目标前序原子的选择信息对目标原子与目标前序原子的衔接关系进行配置,以完成流水线编排。
在一种可能的实现方式中,根据原子工作区选择信息以及待编排的流水线原子排布,确定目标原子的前序原子列表,包括:根据原子工作区选择信息以及流水线原子排布,确定与目标原子对应的所有前序原子;根据所有前序原子的原子标识,确定前序原子列表。
在一种可能的实现方式中,获取待编排的流水线,包括:接收客户端发送的用户输入的新增原子请求,根据新增原子请求以及原子的隐藏属性得到可增加的原子列表,其中隐藏属性是预先设置的可关联的原子种类;将可增加的原子列表发送至客户端以进行显示;接收客户端发送的用户在可增加的原子列表中对可增加的原子的选择信息,根据对可增加的原子的选择信息创建对应的原子,以得到待编排的流水线。
在一种可能的实现方式中,根据新增原子请求以及原子的隐藏属性得到可增加的原子列表,包括:根据新增原子请求以及所有原子的隐藏属性,查询得到相应的后序原子或前序原子,其中后序原子用于使用新增原子请求对应原子的输出结果;将所有后序原子的原子标识或所有前序原子的原子标识整理为可增加的原子列表。
在一种可能的实现方式中,接收客户端发送的用户在前序原子列表中针对目标前序原子的选择信息,根据目标前序原子的选择信息对目标原子与目标前序原子的衔接关系进行配置,以完成流水线编排之后,还包括:将流水线转换为流水线脚本,并调用Jenkins应用程序接口,以运行流水线。
在一种可能的实现方式中,在接收客户端发送的用户输入的新增原子请求之前,还包括:接收客户端发送的用户输入的创建原子指令,根据创建原子指令向客户端发送预设的新建原子界面;接收客户端发送的用户在预设的新建原子界面输入的原子属性设置信息,根据原子属性设置信息,对原子属性进行设置,其中原子属性包括基本属性、隐藏属性以及工作区。
第二方面,本申请提供一种流水线编排装置,包括:
获取模块,用于获取待编排的流水线,其中待编排的流水线包括多个原子;接收模块,用于接收客户端发送的用户输入的针对目标原子的原子工作区选择信息,其中目标原子为待编排的流水线中具有一个以上前序原子的原子,前序原子的输出与目标原子的输入关联;确定模块,用于根据原子工作区选择信息以及待编排的流水线的原子排布,确定目标原子的前序原子列表,其中前序原子列表中包括多个前序原子的标识;发送模块,用于将前序原子列表发送至客户端以进行显示;配置模块,用于接收客户端发送的用户在前序原子列表中针对目标前序原子的选择信息,根据目标前序原子的选择信息对目标原子与目标前序原子的衔接关系进行配置,以完成流水线编排。
在一种可能的实现方式中,确定模块,具体用于:根据原子工作区选择信息以及流水线原子排布,确定与目标原子对应的所有前序原子;根据所有前序原子的原子标识,确定前序原子列表。
第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如上述第一方面中的流水线编排方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述第一方面中的流水线编排方法。
本申请提供的流水线编排方法、装置、设备及存储介质,通过针对有多个前序原子的目标原子设置工作区,将目标原子与用户指定的前序原子关联,达到了目标原子只从用户指定的前序原子处获得数据的效果,解决了由于目标原子无法识别应该接收哪个前序原子的数据而导致的运行效率低的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的流水线编排方法的应用场景示意图;
图2为本申请实施例提供的流水线编排方法的流程示意图;
图3为本申请实施例提供的一种流水线示意图一;
图4为本申请实施例提供的一种流水线示意图二;
图5为本申请实施例提供的一种流水线编排装置示意图一;
图6为本申请实施例提供的一种流水线编排装置示意图二;
图7为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
当前社会信息化程度高,各类程序的用户常会对程序提出新的要求,这就需要程序及时作出更新以满足用户的需求,传统的编程方法难以实现程序的快速更新,所以当前对于需要快速更新的程序通常需要使用持续集成的方法,持续集成可以通过使用持续集成工具将代码段转换为原子,并使用全局变量参数将原子紧密耦合得到流水线。但是,目前持续集成工具得到的流水线中如果有并行的前序原子,那么后序原子就无法识别应该接收哪个前序原子的数据,导致出现运行效率低的问题。
为了解决上述运行效率低的问题,本申请提出如下技术构思:对于流水线中目标原子有一个以上的前序原子的状况,通过对目标原子的工作区进行设置,使目标原子的输入只与一个前序原子衔接,即目标原子的输入数据只从工作区指定的前序原子中获得。避免了目标原子无法确定该使用哪个前序原子的数据从而交替使用不同前序原子数据的状况,从而提高流水线运行效率。
图1为本申请实施例提供的流水线编排方法的应用场景示意图。如图1所示,该场景中,包括:客户端101和服务器102。
客户端101和服务器102之间连接方式可以是通过有线连接也可以通过无线网络连接,其中无线网络连接使用的网络可以包括各种类型的有线和无线网络,例如但不局限于:互联网、局域网、无线保真(Wireless Fidelity,WIFI)、无线局域网(Wireless LocalArea Networks,WLAN)、蜂窝通信网络(通用分组无线服务技术(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、2G/3G/4G/5G蜂窝网络)、卫星通信网络等等。其中客户端101可以包括计算机、服务器、平板、手机、掌上电脑(Personal Digital Assistant,PDA)以及笔记本等,它们可以进行数据的输入与信息的显示。而上述服务器则可以利用具有更强大处理能力和更高安全性的一个服务器或服务器组来实现。
客户端101,用于接收用户输入的信息,并将用户输入的信息发送至服务器102。
服务器102,用于接收客户端101发送的用户输入的信息,并根据用户输入的信息做出响应,向客户端101发送前序原子列表,以接收客户端101发送的针对目标前序原子的选择信息,并根据目标前序原子的选择信息对目标原子和目标前序原子的衔接关系进行配置,完成流水线的编排。
相应的,客户端102还用于显示前序原子列表。
可以理解的是,本申请实施例示意的结构并不构成对流水线编排方法的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的流水线编排方法的流程示意图。本申请实施例的执行主体可以是图1中的服务器,本实施例对此不作特别限制。如图2所示,该方法包括:
S201:获取待编排的流水线,其中待编排的流水线包括多个原子。
在本步骤中,获取待编排的流水线可以是从外界设备获取已有的流水线,也可以是创建新的流水线。原子可以是由脚本和原子属性等组合而成的。
S202:接收客户端发送的用户输入的针对目标原子的原子工作区选择信息,其中目标原子为待编排的流水线中具有一个以上前序原子的原子,前序原子的输出与目标原子的输入关联。
在本步骤中,原子工作区选择信息可以包括对原子工作区下拉框的点击信息,还可以是对原子工作区输入框的点击信息,也可以是对工作区按钮的点击信息,本申请对原子工作区选择信息的具体内容不作限制。前序原子的输出与目标原子的输入关联,意味着目标原子可以将前序原子的所有或部分输出值作为输入值。
图3为本申请实施例提供的一种流水线示意图一。如图3所示,当前待编排流水线中包含的原子有“拉取1”、“拉取2”、“编译1”、“制品上传1”、“部署1”以及发送邮件1六个原子,其中“拉取1”和“拉取2”是“编译1”的前序原子,“编译1”是“制品上传1”的前序原子,“制品上传1”是“部署1”的前序原子,此时目标原子可以是“编译1”。
图4为本申请实施例提供的一种流水线示意图二。如图4所示,当前待编排流水线中包含的原子有“拉取1”、“拉取2”、“编译1”、“编译2”、“制品上传1”、“制品上传2”、“部署1”、“部署2”、“发送邮件1”以及“发送邮件2”十个原子,其中“拉取1”和“拉取2”是“编译1”和“编译2”的前序原子,“编译1”和“编译2”是“制品上传1”和“制品上传2”的前序原子,“制品上传1”和“制品上传2”是“部署1”和“部署2”的前序原子,此时目标原子可以是除“拉取1”和“拉取2”外的其他原子。本申请对原子的标识以及原子中的脚本或代码内容不作限制。
S203:根据原子工作区选择信息以及待编排的流水线的原子排布,确定目标原子的前序原子列表,其中前序原子列表中包括多个前序原子的标识。
在一种可能的实现方式中,步骤S203中,根据原子工作区选择信息以及待编排的流水线原子排布,确定目标原子的前序原子列表,包括:
S2031:根据原子工作区选择信息以及流水线原子排布,确定与目标原子对应的所有前序原子。
其中,原子排布表示当前原子之间的关系。
S2032:根据所有前序原子的原子标识,确定前序原子列表。
其中,前序原子的标识可以包括前序原子的名称、前序原子种类的名称、前序原子种类的编号以及前序原子的编号中的一种或多种。
例如,若目标原子为图3中的“编译1”,则前序原子列表中可以包括“拉取1”以及“拉取2”。若目标原子为图4中的“制品上传1”,则前序原子列表中可以包括“编译1”以及“编译2”。
S204:将前序原子列表发送至客户端以进行显示。
在本步骤中,将前序原子列表发送至客户端可以包括对客户端当前浏览的网页内容中加入前序原子列表,还可以包括对客户端当前浏览的程序内容中加入前序原子列表,显示可以包括以下拉框的形式在屏幕中显示。
S205:接收客户端发送的用户在前序原子列表中针对目标前序原子的选择信息,根据目标前序原子的选择信息对目标原子与目标前序原子的衔接关系进行配置,以完成流水线编排。
在本步骤中,针对目标前序原子的选择信息可以包括对前序原子列表中前序原子标识的点击信息,对目标原子与目标前序原子的衔接关系进行配置可以是将目标前序原子的输出与目标原子的输入进行衔接。在接收到针对目标前序原子的选择信息前,目标原子有默认的工作区,默认的工作区可以包括目标原子所有前序原子中的一个或多个。
具体的,将目标前序原子的输出与目标原子的输入进行衔接还可以将目标原子的脚本拼接添加路径dir(“首个前序原子标识”),例如,若图3中“编译1”原子前没有拉取原子,则在“编译1”的stage(阶段)中添加dir(“”);若图3中的“编译1”前仅有“拉取1”衔接,可以是将编译1、制品上传1、部署1以及发送邮件1的脚本的stage中添加dir(“拉取1”),还可以同时为“制品上传1”、“部署1”以及“发送邮件1”的stage中都添加dir(“拉取1”);若图3中的“编译1”的前序原子有“拉取1”和“拉取2”,“编译1”的工作区选择为“拉取2”,此时由于所有原子通过递归的方式从逆向回溯找到的拉取原子都为“拉取2”,则为“编译1”、“制品上传1”、“部署1”以及“发送邮件1”的stage中都添加dir(“拉取2”)。
从上述实施例的描述可知,本申请实施例通过针对有多个前序原子的目标原子设置工作区,将目标原子与用户指定的前序原子关联,达到了目标原子只从用户指定的前序原子处获得数据的效果,解决了由于目标原子无法识别应该接收哪个前序原子的数据而导致的运行效率低的问题。
在一种可能的实现方式中,上述步骤S201中获取待编排的流水线,具体包括:
S2011:接收客户端发送的用户输入的新增原子请求,根据新增原子请求以及原子的隐藏属性得到可增加的原子列表,其中隐藏属性是预先设置的可关联的原子种类。
在本步骤中,新增原子请求可以包括对新增原子按钮的点击操作,隐藏属性用于规定原子可以从哪些原子种类获得输入数据,这也就规定了原子可以与哪些原子种类关联。隐藏属性的设置是由于原子的脚本或代码与其他原子或外界数据相关,即原子的脚本或代码需要其他原子的输出值或外界数据以运行或为其他原子产生输入值,因此隐藏属性为属性值来源于自身外的原子属性。
在一种可能的实现方式中,根据新增原子请求以及原子的隐藏属性得到可增加的原子列表,包括:
S20111:根据新增原子请求以及所有原子的隐藏属性,查询得到相应的后序原子或前序原子,其中后序原子用于使用新增原子请求对应原子的输出结果。
在本步骤中,当待编排流水线中有原子时,新增原子请求是针对流水线中任一个原子前或原子后的,若新增原子请求是针对原子前的,则得到的可增加的原子列表可以包括与新增原子请求对应原子隐藏属性中设置的可以关联的前序原子,若新增原子请求是针对原子后的,则得到的可增加的原子列表可以包括所有原子的隐藏属性中设置的可以与新增原子请求对应原子关联的后序原子。
具体的,例如在图3中,原子“拉取1”和原子“拉取2”属于同一原子种类,即“拉取”原子种类,原子“编译1”属于“编译”原子种类,原子“制品上传1”属于“制品上传”原子种类。“编译”原子种类的原子的隐藏属性都包括“拉取”,“制品上传”原子种类的原子的隐藏属性都包括“编译”。在图3中,若新增原子请求是针对原子“拉取2”后的,则得到的可增加的原子列表可以包括“编译”以及其他可增加的后序原子。
在一种可能的实现方式中,当流水线中没有原子时,接收客户端发送的用户输入的新增原子请求后,得到的可增加的原子列表可以包括所有原子种类的原子。
S20112:将所有后序原子的原子标识或所有前序原子的原子标识整理为可增加的原子列表。
其中,可增加的原子列表可以包括竖排的表格形式、横排的表格形式、下拉框形式以及矩阵的形式等。
S2012:将可增加的原子列表发送至客户端以进行显示。
在本步骤中,本申请对可增加的原子列表的列表形式不作限制。
S2013:接收客户端发送的用户在可增加的原子列表中对可增加的原子的选择信息,根据对可增加的原子的选择信息创建对应的原子,以得到待编排的流水线。
在本步骤中,对可增加的原子的选择信息可以包括对可增加的原子列表中的原子标识的点击、对可增加的原子列表中的原子标识的拖动以及对可增加的原子列表中的原子标识的框选等。
本申请对上述步骤S2011、S2012以及S2013的重复次数不作限制,以便进行多次新增原子的操作,以完成获取待编排的流水线的操作。
从上述实施例的描述可知,本申请实施例通过根据新增原子请求得到新增原子请求对应原子的前序原子,并向使用可增加的原子列表的形式向客户端反馈新增原子请求对应原子的前序原子,再根据用户在客户端输入的可增加的原子的选择信息实现在流水线中增加原子,最终完成获得待编排流水线,为后续对待编排流水线的编排提供了基础。
在一种可能的实现方式中,在上述步骤S2011之前,还包括:
S3011:接收客户端发送的用户输入的创建原子指令,根据创建原子指令向客户端发送预设的新建原子界面。
在本步骤中,创建原子指令可以包括对新建原子按钮的点击操作或创建原子的命令行等。
S3012:接收客户端发送的用户在预设的新建原子界面输入的原子属性设置信息,根据原子属性设置信息,对原子属性进行设置,其中原子属性包括基本属性、隐藏属性以及工作区。
在本步骤中,原子属性设置信息可以包括对属性的点击操作、在可输入位置输入的属性等。基本属性可以包括git工程、git分支以及git层级等特异性属性,其中git工程表示原子对应的git工程文件,git分枝表示原子所属git分枝,用于控制git版本,git层级表示pom文件路径,即git工程中指定的模块。基本属性还可以包括文件输出位置、输出文件的名称以及原子标识等,基本属性由于不与其他原子直接关联所以可以称为属性值来源于自身的属性。
例如,“编译”原子基本属性中包含的原子标识可以是编译,基本属性中还包含编译得到的文件的输出位置以及编译得到的文件的名称。
从上述实施例的描述可知,本申请实施例通过接收客户端发送的用户输入的创建原子指令以及原子属性设置信息,实现了原子的创建和原子属性的设置,为后续获取待编排的流水线以及流水线的编排过程提供了便利。
在一种可能的实现方式中,在上述步骤S205,接收客户端发送的用户在前序原子列表中针对目标前序原子的选择信息,根据目标前序原子的选择信息对目标原子与目标前序原子的衔接关系进行配置,以完成流水线编排之后,还包括:
S206:将流水线转换为流水线脚本,并调用Jenkins应用程序接口,以运行流水线。
在本步骤中,将流水线转换为流水线脚本可以是在接收到客户端发送的用户触发的流水线保存或运行后进行的。将流水线转换为流水线脚本可以是通过预设的程序或脚本等实现的。将流水线转换为流水线脚本需要先将原子的脚本进行拼接,在拼接时需要按照git层级的索引关系以及各个原子的工作区找到各个原子间的衔接关系,再根据需要的git层级内容将各个原子的脚本进行拼接。
具体的,流水线可以属于JSON数据格式类型,服务器使用预设的程序或脚本将JSON数据格式类型的流水线转换为pipeline脚本。
从上述实施例的描述可知,本申请实施例通过将流水线转换为流水线脚本并调用Jenkins应用程序接口,实现了能够运行编排好的流水线的效果。
图5为本申请实施例提供的一种流水线编排装置示意图一。如图5所示,流水线编排装置500包括:获取模块501、接收模块502、确定模块503、发送模块504以及配置模块505。
获取模块501,用于获取待编排的流水线,其中待编排的流水线包括多个原子。
接收模块502,用于接收客户端发送的用户输入的针对目标原子的原子工作区选择信息,其中目标原子为待编排的流水线中具有一个以上前序原子的原子,前序原子的输出与目标原子的输入关联。
确定模块503,用于根据原子工作区选择信息以及待编排的流水线的原子排布,确定目标原子的前序原子列表,其中前序原子列表中包括多个前序原子的标识。
发送模块504,用于将前序原子列表发送至客户端以进行显示。
配置模块505,用于接收客户端发送的用户在前序原子列表中针对目标前序原子的选择信息,根据目标前序原子的选择信息对目标原子与目标前序原子的衔接关系进行配置,以完成流水线编排。
在一种可能的实现方式中,确定模块503,具体用于:根据原子工作区选择信息以及流水线原子排布,确定与目标原子对应的所有前序原子。根据所有前序原子的原子标识,确定前序原子列表。
在一种可能的实现方式中,获取模块501,具体用于:接收客户端发送的用户输入的新增原子请求,根据新增原子请求以及原子的隐藏属性得到可增加的原子列表,其中隐藏属性是预先设置的可关联的原子种类。将可增加的原子列表发送至客户端以进行显示。接收客户端发送的用户在可增加的原子列表中对可增加的原子的选择信息,根据对可增加的原子的选择信息创建对应的原子,以得到待编排的流水线。
在一种可能的实现方式中,获取模块501,具体还用于:根据新增原子请求以及所有原子的隐藏属性,查询得到相应的后序原子或前序原子,其中后序原子用于使用新增原子请求对应原子的输出结果。将所有后序原子的原子标识或所有前序原子的原子标识整理为可增加的原子列表。
图6为本申请实施例提供的一种流水线编排装置示意图二。如图6所示,流水线编排装置500还包括:运行模块506。
运行模块506,用于将流水线转换为流水线脚本,并调用Jenkins应用程序接口,以运行流水线。
继续参考图6。如图6所示,流水线编排装置500还包括:创建模块507。
创建模块507,用于接收客户端发送的用户输入的创建原子指令,根据创建原子指令向客户端发送预设的新建原子界面。接收客户端发送的用户在预设的新建原子界面输入的原子属性设置信息,根据原子属性设置信息,对原子属性进行设置,其中原子属性包括基本属性、隐藏属性以及工作区。
图7为本申请实施例提供的一种电子设备的结构示意图。示例的,请参见图7所示,该电子设备700可以包括处理器701,以及与处理器通信连接的存储器702。
存储器702存储计算机执行指令。
处理器701执行存储器702存储的计算机执行指令,以实现如上述任一实施例提供的流水线编排方法。
可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。当存储器702是独立于处理器701之外的器件时,服务器还可以包括:总线,用于连接存储器702和处理器701。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现上述任一实施例中的流水线编排方法的技术方案,其实现原理以及有益效果与流水线编排方法的实现原理及有益效果类似,可参见流水线编排方法的实现原理及有益效果,此处不再进行赘述。
本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中的流水线编排方法的技术方案,其实现原理以及有益效果与流水线编排方法的实现原理及有益效果类似,可参见流水线编排方法的实现原理及有益效果,此处不再进行赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种流水线编排方法,其特征在于,包括:
获取待编排的流水线,其中所述待编排的流水线包括多个原子;
接收客户端发送的用户输入的针对目标原子的原子工作区选择信息,其中所述目标原子为所述待编排的流水线中具有一个以上前序原子的原子,所述前序原子的输出与所述目标原子的输入关联;
根据所述原子工作区选择信息以及所述待编排的流水线的原子排布,确定所述目标原子的前序原子列表,其中所述前序原子列表中包括多个前序原子的标识;
将所述前序原子列表发送至所述客户端以进行显示;
接收所述客户端发送的用户在所述前序原子列表中针对目标前序原子的选择信息,根据所述目标前序原子的选择信息对所述目标原子与所述目标前序原子的衔接关系进行配置,以完成流水线编排。
2.根据权利要求1所述的方法,其特征在于,所述根据所述原子工作区选择信息以及所述待编排的流水线原子排布,确定所述目标原子的前序原子列表,包括:
根据所述原子工作区选择信息以及所述流水线原子排布,确定与所述目标原子对应的所有前序原子;
根据所述所有前序原子的原子标识,确定所述前序原子列表。
3.根据权利要求1所述的方法,其特征在于,所述获取待编排的流水线,包括:
接收所述客户端发送的用户输入的新增原子请求,根据所述新增原子请求以及原子的隐藏属性得到可增加的原子列表,其中隐藏属性是预先设置的可关联的原子种类;
将所述可增加的原子列表发送至所述客户端以进行显示;
接收客户端发送的用户在所述可增加的原子列表中对可增加的原子的选择信息,根据所述对可增加的原子的选择信息创建对应的原子,以得到所述待编排的流水线。
4.根据权利要求3所述的方法,其特征在于,所述根据所述新增原子请求以及原子的隐藏属性得到可增加的原子列表,包括:
根据所述新增原子请求以及所有原子的隐藏属性,查询得到相应的后序原子或前序原子,其中所述后序原子用于使用所述新增原子请求对应原子的输出结果;
将所有后序原子的原子标识或所有前序原子的原子标识整理为可增加的原子列表。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述接收所述客户端发送的用户在所述前序原子列表中针对目标前序原子的选择信息,根据所述目标前序原子的选择信息对所述目标原子与所述目标前序原子的衔接关系进行配置,以完成流水线编排之后,还包括:
将流水线转换为流水线脚本,并调用Jenkins应用程序接口,以运行所述流水线。
6.根据权利要求3或4所述的方法,其特征在于,在所述接收所述客户端发送的用户输入的新增原子请求之前,还包括:
接收所述客户端发送的用户输入的创建原子指令,根据所述创建原子指令向客户端发送预设的新建原子界面;
接收所述客户端发送的用户在所述预设的新建原子界面输入的原子属性设置信息,根据所述原子属性设置信息,对原子属性进行设置,其中原子属性包括基本属性、隐藏属性以及所述工作区。
7.一种流水线编排装置,其特征在于,包括:
获取模块,用于获取待编排的流水线,其中所述待编排的流水线包括多个原子;
接收模块,用于接收客户端发送的用户输入的针对目标原子的原子工作区选择信息,其中所述目标原子为所述待编排的流水线中具有一个以上前序原子的原子,所述前序原子的输出与所述目标原子的输入关联;
确定模块,用于根据所述原子工作区选择信息以及所述待编排的流水线的原子排布,确定所述目标原子的前序原子列表,其中所述前序原子列表中包括多个前序原子的标识;
发送模块,用于将所述前序原子列表发送至所述客户端以进行显示;
配置模块,用于接收所述客户端发送的用户在所述前序原子列表中针对目标前序原子的选择信息,根据所述目标前序原子的选择信息对所述目标原子与所述目标前序原子的衔接关系进行配置,以完成流水线编排。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于:
根据所述原子工作区选择信息以及所述流水线原子排布,确定与所述目标原子对应的所有前序原子;
根据所述所有前序原子的原子标识,确定所述前序原子列表。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6中任一项所述的流水线编排方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6中任一项所述的流水线编排方法。
CN202111528358.8A 2021-12-14 2021-12-14 流水线编排方法、装置、设备及存储介质 Active CN114968223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111528358.8A CN114968223B (zh) 2021-12-14 2021-12-14 流水线编排方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111528358.8A CN114968223B (zh) 2021-12-14 2021-12-14 流水线编排方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114968223A true CN114968223A (zh) 2022-08-30
CN114968223B CN114968223B (zh) 2024-05-17

Family

ID=82974872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111528358.8A Active CN114968223B (zh) 2021-12-14 2021-12-14 流水线编排方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114968223B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597552A (zh) * 2019-09-04 2019-12-20 浙江大搜车软件技术有限公司 项目持续集成流水线的配置方法、装置、设备及存储介质
CN111512286A (zh) * 2017-12-29 2020-08-07 华为技术有限公司 编排程序的方法及电子设备
CN111722842A (zh) * 2020-05-29 2020-09-29 北京宝兰德软件股份有限公司 流水线编排方法、装置、电子设备和存储介质
CN111831340A (zh) * 2020-07-20 2020-10-27 北京简单一点科技有限公司 一种持续集成多流水线编排方法
CN112035110A (zh) * 2020-08-28 2020-12-04 腾讯科技(深圳)有限公司 一种参数调整方法、装置、客户端及存储介质
US11221727B1 (en) * 2020-09-08 2022-01-11 Avaya Management L.P. Visual interlocking block based programming method and system
CN114090244A (zh) * 2021-11-16 2022-02-25 中国联合网络通信集团有限公司 一种服务编排方法、装置、系统及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111512286A (zh) * 2017-12-29 2020-08-07 华为技术有限公司 编排程序的方法及电子设备
CN110597552A (zh) * 2019-09-04 2019-12-20 浙江大搜车软件技术有限公司 项目持续集成流水线的配置方法、装置、设备及存储介质
CN111722842A (zh) * 2020-05-29 2020-09-29 北京宝兰德软件股份有限公司 流水线编排方法、装置、电子设备和存储介质
CN111831340A (zh) * 2020-07-20 2020-10-27 北京简单一点科技有限公司 一种持续集成多流水线编排方法
CN112035110A (zh) * 2020-08-28 2020-12-04 腾讯科技(深圳)有限公司 一种参数调整方法、装置、客户端及存储介质
US11221727B1 (en) * 2020-09-08 2022-01-11 Avaya Management L.P. Visual interlocking block based programming method and system
CN114090244A (zh) * 2021-11-16 2022-02-25 中国联合网络通信集团有限公司 一种服务编排方法、装置、系统及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUAN CARBALLINI等: "Using synthetic aperture sonar as an effective tool for pipeline inspection survey projects", 《2015 IEEE/OES ACOUSTICS IN UNDERWATER GEOSCIENCES SYMPOSIUM (RIO ACOUSTICS)》, 19 May 2016 (2016-05-19), pages 1 - 5 *
郑云龙: "基于OpenStack的云自动化配置管理平台设计与实现", 《CNKI优秀硕士学位论文全文库 信息科技辑》, no. 02, 15 February 2018 (2018-02-15), pages 138 - 277 *

Also Published As

Publication number Publication date
CN114968223B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
CN109976761B (zh) 软件开发工具包的生成方法、装置及终端设备
CN109542399B (zh) 软件开发方法、装置、终端设备及计算机可读存储介质
CN107239392B (zh) 一种测试方法、装置、终端及存储介质
CN111068328A (zh) 游戏广告配置表格的生成方法、终端设备及介质
CN106557307B (zh) 业务数据的处理方法及处理系统
CN110928802A (zh) 基于自动生成用例的测试方法、装置、设备及存储介质
CN108171528A (zh) 一种归因方法及归因系统
US20160259657A1 (en) Dynamically binding data in an application
CN109542398B (zh) 一种业务系统生成方法、装置及计算机可读存储介质
CN103186384A (zh) 一种面向业务组件的软件设计分析系统及其使用方法
CN109324838B (zh) 单片机程序的执行方法、执行装置及终端
CN116185425B (zh) 基于节点组合的事件流程编排方法、装置、设备及介质
CN115984022B (zh) 分布式支付系统统一对账方法和装置
CN112579454A (zh) 一种任务数据的处理方法、装置以及设备
CN114968223A (zh) 流水线编排方法、装置、设备及存储介质
CN116049000A (zh) 环境参数配置方法、装置、设备、存储介质及产品
CN112905931B (zh) 页面信息的展示方法、装置、电子设备及存储介质
CN112650598B (zh) 一种用于工作流系统的多应用接入方法
CN113885996A (zh) 用户界面的生成方法及装置
CN114258012A (zh) Esim号码的预制方法及esim虚拟系统、设备及存储介质
CN113377652A (zh) 测试数据生成方法及装置
CN109542986B (zh) 网络数据的要素归一化方法、装置、设备及存储介质
CN112330304A (zh) 一种合同审批方法和装置
CN107506299B (zh) 一种代码分析方法及终端设备
CN111401020A (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