CN114185557A - 软件产品部署方法、装置、介质及电子设备 - Google Patents
软件产品部署方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN114185557A CN114185557A CN202111533042.8A CN202111533042A CN114185557A CN 114185557 A CN114185557 A CN 114185557A CN 202111533042 A CN202111533042 A CN 202111533042A CN 114185557 A CN114185557 A CN 114185557A
- Authority
- CN
- China
- Prior art keywords
- products
- product
- deployment
- information
- workflow template
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
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
本申请属于新兴信息技术领域,尤其是云计算领域,具体涉及一种软件产品部署方法、软件产品部署装置、计算机可读介质以及电子设备。本申请通过获取待部署的多个产品的信息以及需要部署所述多个产品的对象,然后基于所述多个产品的信息,通过数据库加载所述多个产品之间的依赖规则,并验证所述依赖规则的可行性;若所述依赖规则可行,则基于所述依赖规则确定所述多个产品的部署顺序,最后根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板。利用本申请的方法,可以加载不同厂商软件产品的依赖规则,并基于依赖规则来确定部署顺序,能将用户预选的产品自动部署在NFV系统上,大大的减少了人员投入,降低成本的同时提高了部署的效率。
Description
技术领域
本申请属于新兴信息技术领域,尤其是云计算领域,具体涉及一种软件产品部署方法、软件产品部署装置、计算机可读介质以及电子设备。
背景技术
网络功能虚拟化(Network Functions Virtualiztion,以下简称NFV)是用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力,解决了将网络功能部署在通用硬件上的问题。
现有的NFV系统的不同层级或同层级不同的组件之间可能采用的是不同厂商的软件产品,目前无论是厂商提供的部署工具还是实现开源的部署工具,都只能实现部分软件产品的自动化部署。然而,在不同应用场景下,NFV系统的产品组合变化多样,现有的部署方法中,部署人员需要使用不同厂商的工具部署不同的软件产品,无法实现自动部署,整个过程需要人工多次的介入,大大的增加了人员投入,成本高,而且效率低下。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种软件产品部署方法、软件产品部署装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中网络功能虚拟化的部署需要人工多次的介入,成本高,效率低下等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,本申请提供一种软件产品部署方法,包括:
获取产品配置方案,所述产品配置方案包括待部署的多个产品的信息以及需要部署所述多个产品的对象;
基于所述多个产品的信息,通过数据库加载所述多个产品之间的依赖规则,并验证所述依赖规则的可行性;
若所述依赖规则可行,则基于所述依赖规则确定所述多个产品的部署顺序,根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板;
根据所述工作流模板,将所述多个产品部署在所述对象上。
在本申请的一些实施例中,基于以上技术方案,验证所述依赖规则的可行性,包括:
基于所述依赖规则构建所述多个产品的有向图;
若所述有向图为有向无环图,则所述依赖规则可行。
若所述有向图为有向循环图,则所述依赖规则不可行。
在本申请的一些实施例中,基于以上技术方案,所述方法还包括:
若所述依赖规则不可行,则生成提示信息,所述提示信息用于提示所述产品配置方案发生错误。
在本申请的一些实施例中,基于以上技术方案,获取产品配置方案,包括:
从所述数据库中加载产品信息;
从所述产品信息中获取待部署的多个产品信息;
获取需要部署所述多个产品的对象;
将所述待部署的多个产品信息与需要部署所述多个产品的对象进行绑定。
在本申请的一些实施例中,基于以上技术方案,在接收用户的产品配置方案之后,所述方法包括:
将所述产品配置方案保存到数据库中。
在本申请的一些实施例中,基于以上技术方案,在根据所述工作流模板,将所述多个目标产品部署在所述对象上之前,所述方法还包括:
接收用户的模板确认请求或模板调整请求,所述模板调整请求包括所述多个产品的部署顺序的调整指令;
根据所述模板确认请求确定所述工作流模板,或根据所述模板调整请求来调整所述工作流模板。
在本申请的一些实施例中,基于以上技术方案,在根据所述目标产品的部署顺序和所述产品配置方案构建工作流模板之后,所述方法还包括:
根据所述工作流模板创建工作流模板副本;
将所述工作流模板副本保存到数据库中。
根据本申请实施例的一个方面,本申请还提供一种软件产品部署装置,包括:
方案配置模块,用于获取产品配置方案,所述产品配置方案包括待部署的多个产品的信息以及需要部署所述多个产品的对象;
编排模块:基于所述多个产品的信息,通过数据库加载所述多个产品之间的依赖规则,并验证所述依赖规则的可行性,若所述依赖规则可行,则基于所述依赖规则确定所述多个产品的部署顺序,根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板;
部署模块:用于根据所述工作流模板,将所述多个产品部署在所述对象上。
在本申请的一些实施例中,基于以上技术方案,所述编排模块包括验证单元,所述验证单元用于验证所述依赖规则的可行性,所述验证单元包括有向验证单元,所述有向验证单元用于基于所述依赖规则构建所述多个产品的有向图;若所述有向图为有向无环图,则所述依赖规则可行。若所述有向图为有向循环图,则所述依赖规则不可行。
在本申请的一些实施例中,基于以上技术方案,所述软件产品部署装置还包括:
提示模块,所述提示模块用于在所述依赖规则不可行时,生成提示信息,所述提示信息用于提示所述产品配置方案发生错误。
在本申请的一些实施例中,基于以上技术方案,所述方案配置模块包括:
产品加载单元,用于从所述数据库中加载产品信息;
获取单元,用于从所述产品信息中获取待部署的多个产品信息;以及获取需要部署所述多个产品的对象;
绑定单元,用于将所述待部署的多个产品信息与需要部署所述多个产品的对象进行绑定。
在本申请的一些实施例中,基于以上技术方案,所述方案配置模块还用于将所述产品配置方案保存到数据库中。
在本申请的一些实施例中,基于以上技术方案,所述编排模块还包括:
工作流模板创建单元,用于根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板。
在本申请的一些实施例中,基于以上技术方案,所述编排模块还包括:
请求获取单元,用于接收用户的模板确认请求或模板调整请求,所述模板调整请求包括所述多个产品的部署顺序的调整指令;
模板执行单元,用于根据所述模板确认请求确定所述工作流模板,或根据所述模板调整请求来调整所述工作流模板。
在本申请的一些实施例中,基于以上技术方案,所述编排模块还包括:
模板副本创建单元,用于根据所述工作流模板创建工作流模板副本;并将所述工作流模板副本保存到数据库中。
根据本申请实施例的一个方面,本申请还提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权如上所述的软件产品部署方法。
根据本申请实施例的一个方面,本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的软件产品部署方法。
提供一种软件产品部署装置,
在本申请的一些实施例中,基于以上技术方案,
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的软件产品部署方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的软件产品部署方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的软件产品部署方法。
在本申请实施例提供的技术方案中,通过获取待部署的多个产品的信息以及需要部署所述多个产品的对象,然后基于所述多个产品的信息,通过数据库加载所述多个产品之间的依赖规则,并验证所述依赖规则的可行性;若所述依赖规则可行,则基于所述依赖规则确定所述多个产品的部署顺序,最后根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板,可以通过数据库加载不同厂商软件产品的依赖规则,并基于依赖规则来确定部署顺序,因此,本申请能够将用户预选的多个产品自动部署在NFV系统上,不需要人工多次的介入进行部署,大大的减少了人员投入,降低成本的同时提高了部署的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种软件产品部署方法的系统构架示意图。
图2示意性地示出了本申请软件产品部署方法的流程图。
图3示意性地示出了本申请获取产品配置方案的方法流程图。
图4示意性的示出了本申请的一种产品依赖规则表。
图5示意性的示出了验证依赖规则可行性的方法流程图
图6示意性的示出了图4对应的依赖规则中的一种有向图。
图7示意性的示出了一种依赖规则对应的有向循环图。
图8示意性的示出了图6对应的依赖规则所形成的工作流模板图。
图9示意性的示出了工作流模板被执行前的执行确认方法图。
图10示意性的示出了本申请软件产品部署装置的结构框图。
图11示意性的示出了本申请软件产品部署装置中各个模块的工作流程图。
图12示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的软件产品部署方法可以应用在需要根据部署顺序进行软件产品部署的系统中,并不限于NFV系统。以下具体介绍本申请在NFV系统上的软件产品部署的方案。
网络功能虚拟化(Network Functions Virtualiztion,以下简称NFV)是用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。NFV使用标准的IT虚拟化技术来拆分网络功能模块,可以加速部署新的网络服务。
NFV的标准架构提出了三个关键标准,分别是解耦合,硬件和软件的分离;灵活性,自动化和可扩展的网络功能部署;动态操作,通过对网络状态的粒度控制和监控来控制网络功能的运行参数。基于这三个标准部署了以下三个主要模块。
网络功能虚拟化基础设施(NFV Infrastructure,简称NFVI)包含了虚拟化层以及物理资源,如COTS服务器、交换机、存储设备等。NFVI可以跨越若干个物理位置进行部署,此时,为这些物理站点提供数据连接的网络也称为NFVI的一部分。为了兼容基于现有的网络架构,NFVI的网络接入点要能够跟其它物理网络互联互通。
虚拟网络功能模块(Virtual Network Functions,简称VNFs)指的是具体的虚拟网络功能,提供某种网络服务,是软件,利用NFVI提供的基础设施部署在虚拟机、容器或者物理机中。
管理和协调模块(Management and Orchestration,简称MANO)提供了NFV的整体管理和编排,通过MANO的合理编排下,在正确的时间做正确的事情,整个系统才能发挥应有的作用。
NFV云化网络系统的最终目标是实现三层解耦,而对于NFV以上的三个模块进行部署时,由于不同层级例如上述的NFVI层和VNFs层,或者相同层级内的不同层数,例如上述的NFVI层内的计算设备主机、存储设备主机或网络设置主机;以及在相同层级,相同层数内的不同的软件部署所使用的组件可能采用的是不同厂商的产品。因此,目前无论是厂商提供的部署工具还是开源实现的工具,都只能实现部分产品的自动化部署。而在不同应用场景下,NFV系统的产品组合变化多样,在现有的NFV系统部署过程中,部署人员使用不同厂商的工具部署不同的产品,而现有的部署方案是用户通过查看NFV系统所需的应用程序,然后根据各个厂商的部署工具,手动对各个应用程序进行部署按照。整个过程需要多次的人工介入,人员投入时间长,且部署的效率不高,无法实现自动部署。
为了解决以上的技术问题,本申请公开了一种软件产品部署方法、软件产品部署装置、计算机可读介质以及电子设备。需要说明的是,本申请可以用于上述三个主要模块的软件产品部署,也可以用于上述三个主要模块任意一层模块单独的软件产品部署,还可以用于任意一层模块内某个层数中的软件产品部署。本申请对此不作限定。
下面将通过各个方面进一步说明本申请的内容。
本申请对应方法的实施终端可以是任何具有运算和处理功能的设备,该设备还可以与外部设备相连,用于传输数据,其可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施。
图1是根据一示例性实施例示出的一种软件产品部署方法的系统构架示意图。
如图1所示,包括数据库110、服务器120以及用户终端130,其中,在本实施例中服务器120是本公开的实施终端,服务器120与数据库110之间通过通信链路进行连接,从而使服务器120可以对数据库110中存储的数据进行存取操作,数据库110中存储着预先置于其中的不同层级及厂家的软件产品之间的依赖规则。
服务器120与用户终端130之间也存在着通信链路的连接,服务器120可以向用户终端130获取产品配置方案,其中,产品配置方案包括待部署的多个产品的信息以及需要部署多个产品的对象。服务器120可以基于多个产品的信息,通过数据库加载多个产品之间的依赖规则,并验证依赖规则的可行性;同时服务器120判断依赖规则可行,则基于依赖规则确定多个产品的部署顺序,根据多个产品的部署顺序和多个产品的信息构建工作流模板;最后,根据工作流模板,将多个产品部署在对象上。其中,此处的对象包括需要部署软件产品的系统,例如NFV系统中涉及的物理或虚拟的服务器、路由器、交换机等设备,又或者是上述设备的操作系统上。其中,用户终端130包括处理器和存储器,存储器上存储有多个软件产品信息,处理器将多个软件产品信息配置到用户终端130的显示界面上,基于此,用户就可以在用户终端130上选择软件产品,同时,用户也可以将自定义的软件产品上传到用户终端130上,用户终端130通过处理器将其发送至服务器120中。
值得一提的是,图1仅是本公开的一个实施例,同时本公开的实施终端可以是上述的各种各样的设备,而用户终端也可以是各种终端设备,比如用户终端还可以是智能手机。因此本公开对此不作任何限定,本公开的保护范围也不应因此而受到任何限制。
以上部分介绍了应用本申请技术方案的示例性系统构架的内容,接下来继续介绍本申请的软件产品部署方法。
图2示意性地示出了本申请软件产品部署方法的流程图。
如图2所示,本申请提供一种软件产品部署方法,包括步骤S210-步骤S240。
在步骤S210中:获取产品配置方案,其中,产品配置方案包括待部署的多个产品的信息以及需要部署多个产品的对象。
产品配置方案可以是需要部署在NFV系统中的多个产品的信息,以及需要部署多个产品的对象。例如,需要在NFV系统的NFVI层中部署三个产品,对应的产品信息可以是产品A,产品B,产品C。其中,产品A部署在计算设备主机上,产品B部署在存储设备主机上,产品C部署在网络设备主机,如交换机上。因此,对应的需要部署多个产品的对象就是NFVI层内的各个层级。
本申请的产品配置方案可以通过图1中的用户终端130来获取,其中,用户终端130的存储器上可以预先存储有多个软件产品信息,然后用户就可以在用户终端130上选择需要的软件产品。当然,用户也可以将自定义的软件产品上传到用户终端130上,来完成产品配置方案。完成产品配置方案后,就可以获取产品配置方案,并获取到待部署的多个产品的信息以及需要部署多个产品的对象。
在本申请的一个实施例中,如图3所示,图3示意性地示出了本申请获取产品配置方案的方法流程图。
在图3对应的方案中,本申请的用户终端130也可以直接与数据库110连接,并且,在数据库110中存储有多个软件产品信息。本申请获取产品配置方案的方法,包括步骤S310-步骤S340。
步骤S310:从数据库中加载产品信息。
其中,本申请的数据库中保存有NFV系统中不同层级和不同厂商所用到的产品信息。因此,在进行加载时,本申请可以通过以层级对象作为目录进行加载,也可以通过以厂商作为目录进行加载,或者基于两者的结合来进行加载。例如,在以层级对象作为目录进行加载,本申请在加载产品信息时,可以为挑选产品信息的用户提供一个目录,其中最上层是顶级层级,例如,NFVI层,通过层级点击进去后,可以再到达各个模块具体的内部分层,例如,到达NFVI层的存储设备层,然后再往下可以到达计算设备主机,存储设备主机或网络设备主机,完成层级的选择。当以厂商作为目录进行加载,对应的顶级目录就是厂商名称,通过厂商名称往下选择具体的软件产品。当然,也可以将两者结合,在层级目录之下,自动不同厂商的产品做了分类,因此,当到达最底层层级时,可以提供厂商的目录,再点击进去就可以直接选择具体的软件产品。
通过以上的数据库加载产品信息,用户可以快速的选择到所需的软件产品,提高了产品配置方案的配置效率。
步骤S320:从产品信息中获取待部署的多个产品信息。
当用户从数据库加载的产品信息中选择好待部署的多个产品信息后,本申请就可以获取到待部署的多个产品信息。
步骤S330:获取需要部署多个产品的对象。
同时,本申请还可以获取到用户具体要部署的产品的对象。
步骤S340:将待部署的多个产品信息与需要部署多个产品的对象进行绑定。
获取到待部署的多个产品信息与需要部署多个产品的对象后,就可以将待部署的多个产品信息与需要部署多个产品的对象进行绑定,形成一个工作流任务,工作流任务包含了一个产品要部署在该产品对应的对象上。例如,产品A要部署在NFVI层的计算设备主机上。
利用以上的绑定流程,可以在后续对软件产品进行具体部署时,避免造成软件产品部署对象错误的情况发生,以提高部署的准确性。
通过以上的步骤S310-步骤S330完成了产品配置方案的构建。可以继续进行如下步骤。
在本申请的一个实施例中,在接收用户的产品配置方案之后,本申请的软件产品部署方法还可以包括:
将产品配置方案保存到数据库中。
产品配置方案是多个产品信息以及需要部署多个产品的对象的集合,当获取到产品配置方案后,可以将产品配置方案保存到数据库中。当下一次需要获取同类型的产品配置方案时,可以直接从数据库中加载。而在用户层面,用户在选择了产品配置方案后,下次可以直接调用该产品配置方案,而无需重复的配置,同时,用户还可以在保存的产品配置方案的基础上进行增删改,来提高产品配置方案的配置效率,提高整个部署的效率。
在步骤S220中:基于多个产品的信息,通过数据库加载多个产品之间的依赖规则,并验证该依赖规则的可行性。
产品之间的依赖规则是指产品之间存在相互依赖关系,对于软件产品来说,不同的软件分别存在不同的版本,而很多软件产品只能适应其它特定的软件产品或其它特定软件产品中特定版本的软件。下面将通过一个产品依赖规则来说明多个产品之间的依赖规则。
如图4所示,图4示意性的示出了本申请的一种产品依赖规则表。其中,产品B需要依赖产品A,而依赖规则是:当产品B的版本号小于产品B v1.0时,对应的产品A的版本号需要小于产品A v2.5;当产品B的版本号大于等于产品Bv1.0时,对应的产品A的版本号需要大于等于产品Av2.5;当产品C的版本号大于产品Cv0.5时,对应的产品A的版本号需要大于产品Av1.0。其中的大于和小于指的是版本的版本号。对于一款软件来说,随着不断的更新,版本号默认是依次增加,例如,v1.0,v1.1,v2.0等。以产品C为例,当产品C是产品Cv0.5以上版本时,对应的产品A就必须是产品Av1.0以上版本,此时才能实现产品C的部署和兼容。因此,产品的依赖关系可以根据产品部署的依赖规则来定义。
而本申请产品之间的依赖规则存储在数据库中,其中,可以通过不同厂商所公开的数据来预先定义依赖规则,并进行存储。当然,也可以根据用户的自定义情况,来修改产品的依赖规则。而本申请将依赖规则存储在数据库中的好处是不需要修改服务器本身,就可以根据在数据库中依赖规则的改变来改变多个产品的部署顺序,从而影响整体的部署情况,同样可以提高部署的效率。
在本申请的一些实施例中,如图5所示,图5示意性的示出了验证依赖规则可行性的方法流程图。验证依赖规则的可行性的方法,包括步骤S510-步骤S530。
步骤S510:基于产品依赖规则构建多个产品的有向图。
其中,全部由有向边构成图称为有向图,有向图可以用来表示若干对象之间的关系。对于本申请来说,本申请可以根据依赖规则来构建多个产品的有向图,其中,依赖关系就可以构成有向图的边,对于软件产品来说,只存在单向依赖关系,因此,通过产品的依赖关系就可以构建多个产品的有向图。
例如,如图6所示,图6示意性的示出了图4对应的依赖规则中的一种有向图。
在图6中,产品C v0.6依赖于产品A v1.5,产品B v0.7也依赖于产品A v1.5。因此,版本号为v0.6的产品C、版本号为v1.5的产品A和版本号为v0.7的产品B之间就形成了图6对应的有向图。
构建好有向图之后,就可以根据该有向图来判断依赖规则的可行性。具体如步骤S520-步骤S530.
步骤S520:若有向图为有向无环图,则依赖规则可行。
有向无环图(DAG,Directed Acyclic Graph)是一个无回路的有向图。在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图。如图6所示,图6就是一个有向无环图。通过图6可知,产品C v0.6和产品A v1.5存在依赖关系,产品B v0.7也和产品A v1.5存在依赖关系,因此,说明该依赖规则是可行的,因为在部署时,可以首先部署产品A v1.5,然后再部署产品C v0.6和产品B v0.7中任意一个即可,因此,本申请通过有向无环图的判断可以简化依赖规则的可行性验证步骤,而无需人工进行验证,提高部署的效率。
步骤S530:若有向图为有向循环图,则依赖规则不可行。
其中,对于有向图来说,还有一种是与有向无环图相对应的有向循环图。有向循环图可以从某个顶点出发经过若干条边回到该点。
如图7所示,图7示意性的示出了一种依赖规则对应的有向循环图。
假设三个产品,分别是产品D、产品E和产品F,而三者的依赖关系是,产品D依赖产品E,产品E依赖产品F,产品F又依赖产品D,对应的有向图如图7所示。当有向图是有向循环图时,说明不管先部署按照哪一个,都无法完成对系统的部署。因为,如果要部署D,由于产品D依赖产品E,因此,必须先部署产品E,而由于产品E又依赖于产品F,因此,就要先部署产品F。然而,由于产品F又依赖于产品D,因此,构成了一个循环,在实际部署过程中,如果遇到该情况,不管如何部署都无法完成系统的软件部署,此时说明该依赖规则是不可行的。
因此,本申请利用有向循环图的方式排除一些不可行的依赖规则,可以快速的确定用户所选择的产品配置方案中的多个产品是否是可行的。因此,可以提高部署的效率。
其中,本申请判断依赖规则可行性的方法不限于上述方法,本申请还可以通过人工智能验证的方式,即在服务器或者用户终端中嵌入依赖规则的一个规则确定模型,并且通过该人工智能模型机器学习并穷尽依赖规则,此时,基于产品配置方案的多个产品输入到规则确定模型中,规则确定模型可以穷尽依赖规则来确定这多个产品是否在模型的依赖规则内,最后输出该依赖规则是否可行。同时,本申请还可以通过其他方式来实现依赖规则可行性的判断,本申请对此不作限定。
当本申请的依赖规则可行时,对应的执行步骤S230的内容。
在步骤S230中:若该依赖规则可行,则基于依赖规则确定多个产品的部署顺序,再根据多个产品的部署顺序和多个产品的信息构建工作流模板。
如果本申请的依赖规则可行,那么就可以直接确定多个产品的部署顺序,其中,有依赖关系的两个产品中,被依赖的那个产品需要优先部署。例如,继续以图6为例,图6中必须先部署产品A v1.5,然后再部署产品C v0.6和产品B v0.7中任意一个。例如,本申请先部署完产品A v1.5之后,在部署产品C v0.6,最后部署产品B v0.7。同时将对应的要部署各个产品的对象也加入,就可以形成一个工作流模板,
如图8所示,图8示意性的示出了图6对应的依赖规则所形成的工作流模板图。
例如,产品A需要部署在NFVI层的计算设备的主机上,产品B需要部署在NFVI层的存储设备的主机上,而产品C需要部署在NFVI层的网络设备的主机(交换机)上。因此,对应形成的工作流模板如图8所示。此时,在NFV系统中,对这三个软件产品进行部署时,就会根据工作流模板的部署顺序和对象进行部署。
以上公开的是依赖规则可行,即多个产品可以被正确部署的情况,当依赖规则不可行时,对应的方法如下。
在本申请的一个实施例中,若依赖规则不可行,则生成提示信息,提示信息用于提示产品配置方案发生错误。
当依赖规则不可行,即出现如图7所示的有向循环图时,说明用户对应的产品配置方案发生错误,此时可以生成提示信息,并将提示信息反馈给用户,用户通过提示信息可以获知为何当前产品的依赖规则不可行,以及哪一步不可行。例如,以图7为例,由于产品F又要依赖于产品D,因此,是不可行的,此时,用户就可以重新配置产品配置方案,例如更换产品F,找到一个不需要依赖产品D的即可。因此,通过本申请的方案,可以快速的确定产品配置方案的可行性,并通知用户,使用户可以快速做出反馈和修改,提高了软件产品的部署效率。
其中,当本申请依照上述方法生成工作流模板之后,以及步骤S240之前,为了避免工作模板出错,以进一步提高效率,本申请还可以包括如下方案。
在本申请的一个实施例中,在根据工作流模板,将多个目标产品部署在对象上之前,
如图9所示,图9示意性的示出了工作流模板被执行前的执行确认方法图。软件产品部署方法还包括步骤S910-步骤S920。
步骤S910:接收用户的模板确认请求或模板调整请求,模板调整请求包括多个产品的部署顺序的调整指令。
步骤S920:根据模板确认请求确定工作流模板,或根据模板调整请求来调整工作流模板。
当通过步骤S230生成工作流模板后,本申请还可以将该工作流模板返回到用户终端中给用户进行确认,因此,用户通过确认工作流模板后,可以形成两种指令,第一种是模板确认请求,直接确认该模板无误,对应的服务器或者用户终端可以直接根据该工作流模板进行步骤S240。当然,如果用户发现该工作流模板有误,可以主动进行调整,对应的就是接受用户的模板调整请求,因此,根据模板调整请求就可以对工作流模板进行调整。以形成确定的工作流模板。
当形成确定的工作流模板之后,可以直接将工作流模板通过步骤S240进行部署,同时,在本申请的一个实施例中,在根据目标产品的部署顺序和产品配置方案构建工作流模板之后,本申请的部署方法还包括:
根据工作流模板创建工作流模板副本;将工作流模板副本保存到数据库中。
本申请通过步骤S230最终确定的工作流模板需要通过步骤S240进行部署,对应的工作流模板的格式是部署文件的格式。而为了保存部署的记录,本申请还将工作流模板转换成保存用的格式,以形成工作流模板副本,存储到数据库中,当工作流模板被执行后,用户可以通过数据库查询工作流模板副本。实现执行的可追溯性。因此,利用本申请的方案,可以快速查找和定位产品部署的情况,避免出现错误时难以定位部署出错点的问题,提高部署效率。
同时,本申请还可以在下一次需要部署同类型产品时,直接基于工作流模板副本调用工作流模板,同样可以节省部署时间,提高部署效率。
当完成以上步骤之后,就可以进行步骤S240的内容。
步骤S240:根据工作流模板,将多个产品部署在对象上。
本申请通过工作流模板,可以预先配置对应不同产品的部署工具,利用不同的部署工具将多个产品部署在对象上。
以图8对应的工作流模板为例,其中预先在服务器或者用户终端中保存有针对不同软件产品的部署工具。例如,产品A v1.5的部署工具是工具A,产品C v0.6的部署工具是工具C,产品B v0.7的部署工具是工具B。当执行图8对应的工作流模板时,首先调用工具A来将产品A v1.5部署在NFVI层的计算设备的主机上,再调用工具C将产品C v0.6部署在NFVI层的网络设备的主机(交换机)上,最后调用工具B将产品B v0.7部署在NFVI层的存储设备的主机上,完成NFV系统中软件产品的部署。
本申请通过获取待部署的多个产品的信息以及需要部署所述多个产品的对象,然后基于所述多个产品的信息,通过数据库加载所述多个产品之间的依赖规则,并验证所述依赖规则的可行性;若所述依赖规则可行,则基于所述依赖规则确定所述多个产品的部署顺序,最后根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板。
利用本申请的方法,可以通过数据库加载不同厂商软件产品的依赖规则,并基于依赖规则来确定部署顺序,因此,本申请能够将用户预选的多个产品自动部署在NFV系统上,不需要人工多次的介入进行部署,大大的减少了人员投入,降低成本的同时提高了部署的效率。
进一步的,本申请的每个产品信息及对应的需要部署产品的对象绑定后形成一个工作流任务,NFV方案中的多个产品会转化为多个工作流任务,多个工作流任务组生成一个工作流模板。利用多个工作流任务组成工作流模板的方式,可以在后续对软件产品进行具体部署时,避免造成软件产品部署对象错误的情况发生,以提高部署的准确性。
进一步的,本申请的产品依赖规则存储在数据库中,设置在服务器或者用户终端之外,不需要修改服务器本身,就可以根据在数据库中依赖规则的改变来改变多个产品的部署顺序,从而影响整体的部署情况,同样可以提高部署的效率。
进一步的,本申请的通过编排可以形成一个工作流模板,工作流模板可以重复使用。大大的提高了部署的效率,无需重复进行设置和调整。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以上部分介绍了本申请数据软件产品部署方法的内容,接下来继续介绍本申请软件产品部署装置的内容。
如图10所示,图10示意性的示出了本申请软件产品部署装置1000的结构框图。
根据本申请实施例的一个方面,本申请还提供一种软件产品部署装置1000,包括:
方案配置模块1010,用于获取产品配置方案,产品配置方案包括待部署的多个产品的信息以及需要部署多个产品的对象;
编排模块1020:基于多个产品的信息,通过数据库加载多个产品之间的依赖规则,并验证依赖规则的可行性,若依赖规则可行,则基于依赖规则确定多个产品的部署顺序,根据多个产品的部署顺序和多个产品的信息构建工作流模板;
部署模块1030:用于根据工作流模板,将多个产品部署在对象上。
在本申请的一个实施例中,编排模块1020包括验证单元,验证单元用于验证依赖规则的可行性,验证单元包括有向验证单元,有向验证单元用于基于依赖规则构建多个产品的有向图;若有向图为有向无环图,则依赖规则可行。若有向图为有向循环图,则依赖规则不可行。
在本申请的一个实施例中,软件产品部署装置1000还包括:
提示模块,提示模块用于在依赖规则不可行时,生成提示信息,提示信息用于提示产品配置方案发生错误。
在本申请的一个实施例中,方案配置模块1010包括:
产品加载单元,用于从数据库中加载产品信息;
获取单元,用于从产品信息中获取待部署的多个产品信息以及需要部署多个产品的对象;
绑定单元,用于将待部署的多个产品信息与需要部署多个产品的对象进行绑定。
在本申请的一个实施例中,方案配置模块1010还用于将产品配置方案保存到数据库中。
在本申请的一个实施例中,编排模块还包括:工作流模板创建单元,用于根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板
在本申请的一个实施例中,编排模块1020还包括:
请求获取单元,用于接收用户的模板确认请求或模板调整请求,模板调整请求包括多个产品的部署顺序的调整指令;
模板执行单元,用于根据模板确认请求确定工作流模板,或根据模板调整请求来调整工作流模板。
在本申请的一个实施例中,编排模块1020还包括:
模板副本创建单元,用于根据工作流模板创建工作流模板副本;并将工作流模板副本保存到数据库中。
如图11所示,图11示意性的示出了本申请软件产品部署装置中各个模块的工作流程图。
在本申请的一个实施例中,本申请利用软件产品部署装置对NFV系统部署的流程包括步骤S1101-步骤S1107。其中,在步骤S1101中,方案配置模块1010从数据库110中加载软件产品,然后用户可以通过方案配置模块1010进行选择,当选择完多个软件产品之后,同时选择需要部署多个产品的对象,形成了产品配置方案。在步骤S1102中,方案配置模块1010将已经形成的产品配置方案重新传输到数据库110中进行保存。在步骤S1103中,方案配置模块1010将产品配置方案传输给编排模块1020进行编排。在步骤S1104中,编排模块1020从数据库110中加载产品的依赖规则,然后形成工作流模板。在步骤S1105中,编排模块1020将工作流模板返回给方案配置模块1010,用户通过方案配置模块1010对工作流模板进行确认或调整,以形成最终的工作流模板。在步骤S1106中,编排模块1020将最终形成的工作流模板整理成工作流模板副本传输给数据库110保存。在步骤S1107,编排模块1020将最终形成的工作流模板发送给部署模块1030进行执行,完成整个NFV系统软件产品的自动部署。
本申请对应的装置的编排模块1020可以依赖规则来确定部署顺序,因此,本申请对应的装置可以将预选的多个产品自动部署在NFV系统上,不需要人工多次的介入进行部署,大大的减少了人员投入,降低成本的同时提高了部署的效率。
本申请各实施例中提供的软件产品部署装置1000的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
以上部分介绍了本申请软件产品部署装置的内容,接下来继续介绍本申请其它方面的内容。
根据本申请实施例的一个方面,本申请还提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权如上的软件产品部署方法。
根据本申请实施例的一个方面,本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储处理器的可执行指令;
其中,处理器配置为经由执行可执行指令来执行如上的软件产品部署方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的软件产品部署方法。
图12示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理器1201(Central Processing Unit,CPU),其可以根据存储在只读存储器1202(Read-Only Memory,ROM)中的程序或者从存储部分1208加载到随机访问存储器1203(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1203中,还存储有系统操作所需的各种程序和数据。中央处理器1201、在只读存储器1202以及随机访问存储器1203通过总线1204彼此相连。输入/输出接口1205(Input/Output接口,即I/O接口)也连接至总线1204。
以下部件连接至输入/输出接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至输入/输出接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理器1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种软件产品部署方法,其特征在于,包括:
获取产品配置方案,所述产品配置方案包括待部署的多个产品的信息以及需要部署所述多个产品的对象;
基于所述多个产品的信息,通过数据库加载所述多个产品之间的依赖规则,并验证所述依赖规则的可行性;
若所述依赖规则可行,则基于所述依赖规则确定所述多个产品的部署顺序,根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板;
根据所述工作流模板,将所述多个产品部署在所述对象上。
2.根据权利要求1所述的软件产品部署方法,其特征在于,验证所述依赖规则的可行性,包括:
基于所述依赖规则构建所述多个产品的有向图;
若所述有向图为有向无环图,则所述依赖规则可行。
若所述有向图为有向循环图,则所述依赖规则不可行。
3.根据权利要求1所述的软件产品部署方法,其特征在于,所述方法还包括:
若所述依赖规则不可行,则生成提示信息,所述提示信息用于提示所述产品配置方案发生错误。
4.根据权利要求1所述的软件产品部署方法,其特征在于,获取产品配置方案,包括:
从所述数据库中加载产品信息;
从所述产品信息中获取待部署的多个产品信息;
获取需要部署所述多个产品的对象;
将所述待部署的多个产品信息与需要部署所述多个产品的对象进行绑定。
5.根据权利要求1所述的软件产品部署方法,其特征在于,在接收用户的产品配置方案之后,所述方法包括:
将所述产品配置方案保存到数据库中。
6.根据权利要求1所述的软件产品部署方法,其特征在于,在根据所述工作流模板,将所述多个目标产品部署在所述对象上之前,所述方法还包括:
接收用户的模板确认请求或模板调整请求,所述模板调整请求包括所述多个产品的部署顺序的调整指令;
根据所述模板确认请求确定所述工作流模板,或根据所述模板调整请求来调整所述工作流模板。
7.根据权利要求1至6中任一项所述的软件产品部署方法,其特征在于,在根据所述目标产品的部署顺序和所述产品配置方案构建工作流模板之后,所述方法还包括:
根据所述工作流模板创建工作流模板副本;
将所述工作流模板副本保存到数据库中。
8.一种软件产品部署装置,其特征在于,包括:
方案配置模块,用于获取产品配置方案,所述产品配置方案包括待部署的多个产品的信息以及需要部署所述多个产品的对象;
编排模块:基于所述多个产品的信息,通过数据库加载所述多个产品之间的依赖规则,并验证所述依赖规则的可行性,若所述依赖规则可行,则基于所述依赖规则确定所述多个产品的部署顺序,根据所述多个产品的部署顺序和所述多个产品的信息构建工作流模板;
部署模块:用于根据所述工作流模板,将所述多个产品部署在所述对象上。
9.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任意一项所述的软件产品部署方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述的软件产品部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111533042.8A CN114185557A (zh) | 2021-12-15 | 2021-12-15 | 软件产品部署方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111533042.8A CN114185557A (zh) | 2021-12-15 | 2021-12-15 | 软件产品部署方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185557A true CN114185557A (zh) | 2022-03-15 |
Family
ID=80605113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111533042.8A Pending CN114185557A (zh) | 2021-12-15 | 2021-12-15 | 软件产品部署方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185557A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117289951A (zh) * | 2023-11-22 | 2023-12-26 | 华信咨询设计研究院有限公司 | 一种基于递归原则的软件系统多应用自动部署方法 |
-
2021
- 2021-12-15 CN CN202111533042.8A patent/CN114185557A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117289951A (zh) * | 2023-11-22 | 2023-12-26 | 华信咨询设计研究院有限公司 | 一种基于递归原则的软件系统多应用自动部署方法 |
CN117289951B (zh) * | 2023-11-22 | 2024-04-02 | 华信咨询设计研究院有限公司 | 一种基于递归原则的软件系统多应用自动部署方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8601433B2 (en) | Method and apparatus for generating virtual software platform based on component model and validating software platform architecture using the platform | |
CN105487892B (zh) | 一种Linux环境下的云中GIS服务部署系统 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN110750415B (zh) | 接口服务配置方法、装置、介质和计算机设备 | |
CN102572896A (zh) | 一种无线通讯系统升级方法及升级装置 | |
CN113342387A (zh) | 一种软件自动升级方法、更新客户端及更新服务器 | |
CN106484452B (zh) | 一种软件平台的统一配置管理方法和装置 | |
CN112114789B (zh) | 一种业务开发方法及设备 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN111413876A (zh) | 一种配置app的控制页面的方法及云平台、终端设备 | |
CN114185557A (zh) | 软件产品部署方法、装置、介质及电子设备 | |
CN114912897A (zh) | 工作流执行方法、工作流编排方法及电子设备 | |
CN113296742A (zh) | App数据处理方法、装置及移动终端 | |
CN115129574A (zh) | 一种代码测试方法和装置 | |
CN111897565A (zh) | 基于物联网的数据处理方法、装置和设备 | |
CN110764864A (zh) | 一种基于Terraform的可视化资源编排方法 | |
CN113254158B (zh) | 一种深度学习系统的部署方法和装置 | |
CN112418796B (zh) | 子流程任务节点激活方法、装置、电子设备及存储介质 | |
CN115185514A (zh) | 零代码建模的处理方法、装置及相关设备 | |
CN114546842A (zh) | 接口测试方法、装置和存储介质及电子设备 | |
CN113886008A (zh) | 一种虚拟机管理方法、系统、设备以及介质 | |
CN110050291B (zh) | 聚合平台、需求所有者及其方法 | |
CN111857744A (zh) | 一种超融合系统的安装方法、系统、设备以及介质 | |
CN110971665A (zh) | 一种对接多类型存储的管理方法、系统、设备及存储介质 | |
CN117270956B (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 |