CN114185554A - 软件产品部署方法、装置、可读介质及电子设备 - Google Patents

软件产品部署方法、装置、可读介质及电子设备 Download PDF

Info

Publication number
CN114185554A
CN114185554A CN202111514736.7A CN202111514736A CN114185554A CN 114185554 A CN114185554 A CN 114185554A CN 202111514736 A CN202111514736 A CN 202111514736A CN 114185554 A CN114185554 A CN 114185554A
Authority
CN
China
Prior art keywords
product
parameter
products
deployed
software
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
CN202111514736.7A
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111514736.7A priority Critical patent/CN114185554A/zh
Publication of CN114185554A publication Critical patent/CN114185554A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

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

Abstract

本申请属于通信技术领域,具体涉及一种软件产品部署方法、装置、可读介质及电子设备。本申请通过获取多个待部署产品的产品配置参数和参数定义规则,并基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息;再获取需要部署所述多个待部署产品的对象;最后将所述多个待部署产品部署在所述对象上。通过本申请的方法,利用获取到的产品配置参数和参数定义规则可以快速确定所述多个待部署产品的产品信息,因此,用户可以自定义产品配置参数,并快速获取到待部署的产品信息,而无需耗费大量的时间在庞大的产品库中挑选待部署产品,节省了时间,大大的提高了软件产品的部署效率。

Description

软件产品部署方法、装置、可读介质及电子设备
技术领域
本申请属于通信技术领域,具体涉及一种软件产品部署方法、软件产品部署装置、计算机可读介质以及电子设备。
背景技术
网络功能虚拟化(Network Functions Virtualiztion,以下简称NFV)是用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力,解决了将网络功能部署在通用硬件上的问题。
NFV***的不同层级或同层级不同的组件之间可能采用的是不同厂商的产品,而由于厂商和层级较多,导致需要选择的待部署产品数量庞大,现有的部署方法需要用户在庞大的软件产品中挑选出自己所需要的软件产品,往往需要耗费大量的时间才能够获取到所需的软件产品,降低了部署的效率。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种软件产品部署方法、软件产品部署装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中待部署产品的选择过程繁琐,浪费时间,部署效率低等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,本申请提供一种软件产品部署方法,包括:
获取多个待部署产品的产品配置参数和参数定义规则,所述参数定义规则用于指示所述产品配置参数所定义的软件产品类型;
基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息;
获取需要部署所述多个待部署产品的对象;
将所述多个待部署产品部署在所述对象上。
在本申请的一些实施例中,基于以上技术方案,基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息,包括:
基于所述参数定义规则所指示的软件产品类型建立所述产品配置参数与软件产品的映射关系;
根据所述映射关系,基于所述产品配置参数调用所述多个待部署产品,得到所述多个待部署产品的产品信息。
在本申请的一些实施例中,基于以上技术方案,所述产品配置参数包括软件产品的产品实体参数、产品类型参数和产品数值参数,所述产品类型参数用于表示所述产品实体参数的类型,所述产品数值参数用于表示所述产品实体参数的数值;
基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息,包括:
基于所述参数定义规则所指示的软件产品类型建立所述产品实体参数与软件产品的映射关系;
根据映射关系,基于所述产品实体参数调用所述多个待部署产品,得到所述多个待部署产品的产品信息。
在本申请的一些实施例中,基于以上技术方案,所述参数定义规则包括参数规则内容和参数规则类型,所述参数规则类型用于指示所述参数规则内容的类型,在基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息之前,所述方法还包括:
根据所述参数规则类型调用与所述参数规则类型相对应的解析工具;
利用所述参数规则类型相对应的解析工具对所述参数规则内容进行解析。
在本申请的一些实施例中,基于以上技术方案,所述产品配置参数还包括产品层级参数和产品标签参数,所述产品层级参数用于指示所述软件产品的部署层级,所述产品标签参数用于指示所述产品配置参数中除产品标签参数外其它参数的作用。
在本申请的一些实施例中,基于以上技术方案,所述产品配置参数还包括产品层级参数,
在基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息之前,所述方法还包括:
对所述产品配置参数进行解析,
以所述产品层级参数作为索引,提取所述产品配置参数。
在本申请的一些实施例中,基于以上技术方案,将所述多个待部署产品部署在所述对象上,包括:
通过产品依赖规则确定所述产品部署方案中多个软件产品的部署顺序;
基于所述部署顺序和所述多个待部署产品的产品信息构建工作流模板;
并根据所述工作流模板,将所述多个待部署产品分别部署到对应的所述对象上。
根据本申请实施例的一个方面,本申请提供一种软件产品部署装置,包括:
获取模块,用于获取多个待部署产品的产品配置参数和参数定义规则,所述参数定义规则用于指示所述产品配置参数所定义的软件产品类型,并用于获取需要部署所述多个待部署产品的对象;
产品解析模块,用于基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息;
部署模块,用于将所述多个待部署产品部署在所述对象上。
在本申请的一些实施例中,基于以上技术方案,所述产品解析模块包括:
产品映射单元,用于基于所述参数定义规则所指示的软件产品类型建立所述产品配置参数与软件产品的映射关系;
解析单元,用于根据所述映射关系,基于所述产品配置参数调用所述多个待部署产品,得到所述多个待部署产品的产品信息。
在本申请的一些实施例中,基于以上技术方案,所述参数定义规则包括参数规则内容和参数规则类型,所述参数规则类型用于指示所述参数规则内容的类型,所述产品解析模块还包括:
调用单元,用于根据所述参数规则类型调用与所述参数规则类型相对应的解析工具;
规则解析单元,用于利用所述参数规则类型相对应的解析工具对所述参数规则内容进行解析。
在本申请的一些实施例中,基于以上技术方案,所述产品配置参数包括软件产品的产品实体参数、产品类型参数和产品数值参数,所述产品类型参数用于表示所述产品实体参数的类型,所述产品数值参数用于表示所述产品实体参数的数值;所述产品解析模块包括:
实体映射单元,用于基于所述参数定义规则所指示的软件产品类型建立所述产品实体参数与软件产品的映射关系;
实体解析单元,用于根据映射关系,基于所述产品实体参数调用所述多个待部署产品,得到所述多个待部署产品的产品信息。
在本申请的一些实施例中,基于以上技术方案,所述产品配置参数还包括产品层级参数,
所述产品部署装置还包括参数解析模块,所述参数解析模块用于对所述产品配置参数进行解析,并以所述产品层级参数作为索引,提取所述产品配置参数。
在本申请的一些实施例中,基于以上技术方案,所述部署模块包括:
编排单元,用于通过产品依赖规则确定所述产品部署方案中多个软件产品的部署顺序;
工作流构建单元,用于基于所述部署顺序和所述多个待部署产品的产品信息构建工作流模板;
部署单元,用于根据所述工作流模板,将所述多个待部署产品分别部署到对应的所述对象上。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的软件产品部署方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的软件产品部署方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的软件产品部署方法。
在本申请实施例提供的技术方案中,本申请通过获取多个待部署产品的产品配置参数和参数定义规则,其中,所述参数定义规则用于指示所述产品配置参数所定义的软件产品类型;并基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息;再获取需要部署所述多个待部署产品的对象;最后将所述多个待部署产品部署在所述对象上。通过本申请的方法,利用获取到的产品配置参数和参数定义规则可以快速确定所述多个待部署产品的产品信息,因此,用户可以自定义产品配置参数,并快速获取到待部署的产品信息,而无需耗费大量的时间在庞大的产品库中挑选待部署产品,节省了时间,大大的提高了软件产品的部署效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
图2示意性地示出了本申请软件产品部署方法的流程图。
图3示意性的示出了本申请一种确定多个待部署产品的产品信息的方法流程图。
图4示意性的示出了本申请另一种确定多个待部署产品的产品信息的方法流程图。
图5示意性的示出了本申请一种对参数规则解析的方法流程图。
图6示意性的示出了本申请一种对参数提取方法的流程图。
图7示意性的示出了本申请将多个待部署产品进行部署的方法流程图。
图8示意性的示出了本申请的一种产品依赖规则表。
图9示意性的示出了图8对应的依赖规则所形成的工作流模板图。
图10示意性的示出了本申请软件产品部署装置的结构框图。
图11示意性的示出了本申请软件产品部署装置中各个模块的工作流程图。
图12示意性示出了适于用来实现本申请实施例的电子设备的计算机***结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的软件产品部署方法可以应用在需要进行软件产品挑选的***中,并不限于NFV***。以下具体介绍本申请在NFV***上的软件产品部署的方案。
网络功能虚拟化(Network Functions Virtualiztion,以下简称NFV)是用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。NFV使用标准的IT虚拟化技术来拆分网络功能模块,可以加速部署新的网络服务。
NFV的标准架构提出了三个关键标准,分别是解耦合,硬件和软件的分离;灵活性,自动化和可扩展的网络功能部署;动态操作,通过对网络状态的粒度控制和监控来控制网络功能的运行参数。基于这三个标准部署了以下三个主要模块。
网络功能虚拟化基础设施(NFV Infrastructure,简称NFVI)包含了虚拟化层以及物理资源,如COTS服务器、交换机、存储设备等。具体的,NFVI可以包括虚拟化软件层,虚拟化管理软件层和云管理软件层。NFVI可以跨越若干个物理位置进行部署,此时,为这些物理站点提供数据连接的网络也称为NFVI的一部分。为了兼容基于现有的网络架构,NFVI的网络接入点要能够跟其它物理网络互联互通。
虚拟网络功能模块(Virtual Network Functions,简称VNFs)指的是具体的虚拟网络功能,提供某种网络服务,是软件,利用NFVI提供的基础设施部署在虚拟机、容器或者物理机中。
管理和协调模块(Management and Orchestration,简称MANO)提供了NFV的整体管理和编排,通过MANO的合理编排下,在正确的时间做正确的事情,整个***才能发挥应有的作用。
NFV云化网络***的最终目标是实现三层解耦,而对于NFV以上的三个模块进行部署时,由于不同层级例如上述的NFVI层和VNFs层,或者相同层级内的不同层数,例如上述的NFVI层内的虚拟化软件层和虚拟化管理软件层;以及在相同层数内的不同的软件部署所使用的组件可能采用的是不同厂商的产品,例如使用的是华为的产品或中兴的产品。基于此,导致现有需要选择的待部署的软件产品数量庞大,而现有的部署方法需要用户在庞大的软件产品中挑选出自己所需要的软件产品,例如,用户想要部署NFVI层内的虚拟化软件层中某个位置的A产品,需要通过庞大的软件库挑选所需要的A产品,需要耗费大量的时间才能够获取到所需的软件产品,因此,导致整体的部署效率低下。
为了解决以上的技术问题,本申请公开了一种软件产品部署方法、软件产品部署装置、计算机可读介质以及电子设备。需要说明的是,本申请可以用于上述三个主要模块的软件产品部署,也可以用于上述三个主要模块任意一层模块单独的软件产品部署,还可以用于任意一层模块内某个层数中的软件产品部署。本申请对此不作限定。
下面将通过各个方面进一步说明本申请的内容。
本申请对应方法的实施终端可以是任何具有运算和处理功能的设备,该设备还可以与外部设备相连,用于传输数据,其可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施。
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
如图1所示,***架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的***架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
其中,本申请的服务器130或终端设备110中可以包含存储装置,并且在存储装置中保存有庞大的软件产品信息。本申请获取多个待部署产品的产品配置参数和参数定义规则可以通过终端设备110获取,用户可以在终端设备110中输入多个待部署产品的产品配置参数和参数定义规则,然后服务器130或终端设备110获取到多个待部署产品的产品配置参数和参数定义规则,可以基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息;并从服务器130或终端设备110的存储装置中调取出对应的多个待部署产品。而对于多个待部署产品的对象也可以通过终端设备110来获取,用户可以在终端设备110上输入多个待部署产品的对象。最后,服务器130或终端设备110可以将所述多个待部署产品部署在所述对象上,以完成NFV***的软件产品部署。
以上部分介绍了应用本申请技术方案的示例性***架构的内容,接下来继续介绍本申请的软件产品部署方法。
如图2所示,图2示意性地示出了本申请软件产品部署方法的流程图。
根据本申请实施例的一个方面,本申请提供一种软件产品部署方法,包括步骤S210-步骤S240。
在步骤S210中:获取多个待部署产品的产品配置参数和参数定义规则,其中,参数定义规则用于指示产品配置参数所定义的软件产品类型;
产品配置参数是用于配置软件产品所用到的参数,在本申请的一个实施例中,本申请的产品配置参数可以包括软件产品的产品实体参数、产品类型参数和产品数值参数,其中,产品类型参数用于表示产品实体参数的类型,产品数值参数用于表示产品实体参数的数值。这三个参数可以由数据的基础三元组结构,下面具体介绍这三个参数的内容。
本申请的产品实体参数对应数据三元组中的字段(KEY),可以用于表示产品的标识。其中,产品实体参数的具体表现形式有很多,例如,产品实体参数可以是文本,字符串,乱码等。例如,软件产品A其对应的产品实体参数可以是产品A,a1234或0x124。
而产品类型参数用于表示产品实体参数的数据类型(type),例如,产品实体参数在数据中可以是浮点型,字符型,布尔类型或int类型。类型代表该产品实体参数在服务器130或终端设备110的存储装置中的存储形式。而对应的产品数值参数(value)表示的是该产品实体参数对应数据类型所指示的值,也是基于数据的存储装置所使用的。例如,产品A对应的产品类型是int型,数值为10000000。
本申请的产品配置参数(level)不仅包括以上几种参数,在本申请的一个实施例中,本申请的产品配置参数还包括了产品层级参数,产品层级参数用于指示软件产品的部署层级,例如,对于NFV***来说,对应的NFVI层内的虚拟化软件层就是一个层级,表示产品A需要部署在NFVI层内的虚拟化软件层上。通过产品层级参数可以确定该软件产品需要部署的具体对象所在的层级。因此,也可以基于产品层级参数条件筛选出一部分软件产品。对于NFV***来说,各个层级所使用的产品均不同,如果通过产品层级参数确定了软件产品的部署层级,那么就可以将非该层级的软件产品都排除在外,而不会成为待部署产品。
在本申请的一个实施例中,本申请的产品配置参数还可以包括产品标签参数(Label),产品标签参数主要面向用户,用于指示产品配置参数中除产品标签参数外其它参数的作用,用于辅助参数的配置。例如,产品标签参数可以提示产品层级参数的作用是确定软件产品的部署层级,产品实体参数的作用是确定软件产品的标识。通过产品标签参数,用户可以更好的实现对软件产品的配置。
在本申请的一个实施例中,本申请的产品配置参数还可以包括产品组件参数,产品组件参数用于表示软件产品的组合。其中产品组件参数可以选择性的设置,因为对于NFV***具体需要部署软件产品的对象来说,有些只需要一个软件产品即可,因此,就不涉及产品组件参数。而当某个需要部署的对象需要多个软件产品组合进行部署时,对应的本申请的产品组件参数就可以体现其组合的信息。例如,对于某个待部署的对象,需要产品A,产品B进行组合部署。那么对应的产品组件参数可以是Component(A,B)。
以上介绍了本申请产品配置参数的信息,接下来介绍本申请的参数定义规则。参数定义规则用于指示产品配置参数所定义的软件产品类型。因此,通过参数定义规则就可以将产品配置参数转换成软件产品,因此,当用户通过终端设备110来输入产品配置参数,对应的终端设备110或者服务器130就可以将与产品配置参数对应的软件产品调用出来进行自动部署。
在本申请的一个实施例中,参数定义规则包括参数规则内容(rules)和参数规则类型(rules type),参数规则类型用于指示参数规则内容的类型。其中,参数规则内容包括了产品配置参数在配置、校验和解析过程中需要遵循的规则。可以理解为是将产品配置参数转换成软件产品所要遵循的规则。
例如,本申请可以利用简单的规则,也可以利用引擎规则。简单的规则可以用数值范围的方式。例如,将产品实体参数通过数字表现,例如为010190,其中,对于前两位可以代表层级,再往后两位代表厂商,再往后两位代表产品的型号。而利用数值范围的参数规则,可以根据层数来确定不同的数值范围,例如,对于NFVI层的数值范围是00-50,VNFs层的数值范围是51-75,MANO层的数值范围是76-99,由于NFVI层一般要部署的产品较多,因此,对应的数值范围的区间较大。而对应的还可以对NFVI层底下的层级进行细化,并在数值范围00-50之间进行继续分割不同的子区间。而再往后两位可以对应不同的厂商,一个数值代表一个厂商,01代表A厂商,02代表B厂商。再往后的数字可以代表产品型号,此处的型号可以根据厂商对应的产品数量来定于,如果数量较少,对应的后面的数字就较少,例如,A厂商少于100个软件产品,对应的最后可以只留两位数字。
因此,通过以上的规则,就可以实现将产品配置参数转换成软件产品,例如,产品实体参数010190可以表示位于NFVI层中虚拟化软件层中的A厂商的B型号软件产品。
而本申请的也可以利用引擎规则,引擎规则是如果则的条件关系,是一个条件判断规则,例如将产品实体参数通过字符表现,例如为abcdad,其中,对于前两位可以代表层级,再往后两位代表厂商,再往后两位代表产品的型号。而利用引擎规则可以判断如果首字母是a,则表示为NFVI层,如果再往后两位的首字母是cd,则可以表示为A厂商。
因此,本申请通过参数规则类型可以将产品配置参数转换成软件产品,当用户定义好产品配置参数之后,对应的本申请可以将产品配置参数转换成软件产品进行自动部署。而本申请的参数规则类型是用于区分规则的类型,可以理解为破解参数规则内容的密码本。当不知道参数规则内容时,是无法将参数规则内容转换成软件产品。通过获取到参数规则类后,就可以通过参数规则类型就可以调用不同的工具来进行参数校验和解析,以实现将参数规则内容转换成软件产品。
其中,本申请的参数规则内容(rules)和参数规则类型(rules type)也可以作为本申请产品配置参数的一部分,基于此,本申请就可以配置多元组的参数,利用多元组的参数可以配置庞大的软件产品,避免利用单一参数配置,导致不支持或仅支持有限的多层软件产品的配置,提高了参数配置的多样性,提高了部署效率。
以上介绍了本申请产品配置参数和参数定义规则的内容,接下来继续介绍本申请获取多个待部署产品的产品配置参数和参数定义规则的方法。本申请可以通过终端设备110来获取多个待部署产品的产品配置参数和参数定义规则。其中,用户可以通过终端设备110直接输入产品配置参数和参数定义规则,当通过用户自定义进行输入时,对应的产品配置参数可以不包括产品标签参数,用户可以根据自定义的产品配置参数来对应实现从产品配置参数到软件产品的映射。
当然,用户也可以通过终端设备110进行选择产品配置参数,此时产品配置参数可以包括产品标签参数,来供用户参考,以便用户更快捷的选择到需要部署的软件产品所对应的产品配置参数。例如,用户通过终端设备110选择了参数定义规则的参数规则内容为简单规则,然后输入了产品配置参数中的产品实体参数为010190,对应的终端设备110或者服务器130就可以根据产品实体参数来调取到位于NFVI层中虚拟化软件层中的A厂商的B型号软件产品,因此,可以使得用户快速精准的找到待部署的产品,提高了部署的效率。
在步骤S220中:基于产品配置参数和参数定义规则所指示的软件产品类型,分别确定多个待部署产品的产品信息。
当获取到产品配置参数之后,就可以基于该产品配置参数和对应的参数定义规则来确定多个待部署产品的产品信息。
在本申请的一个实施例中,如图3所示,图3示意性的示出了本申请一种确定多个待部署产品的产品信息的方法流程图。当产品配置参数包括软件产品的产品实体参数、产品类型参数和产品数值参数时,基于产品配置参数和参数定义规则所指示的软件产品类型,分别确定多个待部署产品的产品信息的方法,包括步骤S310-步骤S320。
步骤S310:基于参数定义规则所指示的软件产品类型建立产品实体参数与软件产品的映射关系。
本申请可以基于参数定义规则所指示的软件产品类型来直接建立产品实体参数与软件产品的映射关系。例如,产品实体参数010190可以表示位于NFVI层中虚拟化软件层中的A厂商的B型号软件产品。此时就可以建立产品实体参数010190与NFVI层中虚拟化软件层中的A厂商的B型号软件产品的映射关系,本申请的每一个产品实体参数都存在与之映射的一个软件产品,因此,通过产品实体参数就可以获取到对应的软件产品。
步骤S320:根据映射关系,基于产品实体参数调用多个待部署产品,得到多个待部署产品的产品信息。
当获得映射关系之后,就可以根据映射关系,将与产品实体参数相对应的软件产品调用出来,得到了多个待部署产品的产品信息。
步骤S310-步骤S320直接通过产品实体参数来与软件产品建立映射关系。而当本申请的产品配置参数多元时,例如,本申请的产品配置参数有七元组,确定多个待部署产品的产品信息的方法如下。
在本申请的一个实施例中,如图4所示,图4示意性的示出了本申请另一种确定多个待部署产品的产品信息的方法流程图。基于产品配置参数和参数定义规则所指示的软件产品类型,分别确定多个待部署产品的产品信息的方法,包括步骤S410-步骤S430。
步骤S410:将多个产品配置参数进行拼接形成映射参数。
当本申请的产品配置参数有多个时,例如包括:产品实体参数、产品类型参数、产品数值参数、产品层级参数和产品组件参数时,本申请可以将这些参数直接进行拼接,形成映射参数。
举例来说,当产品实体参数为00,产品类型参数为int,产品数值参数为20,产品层级参数为10,产品组件参数为A/B时,对应形成的映射参数就可以是:00int2010A/B,继续步骤S420。
步骤S420:基于参数定义规则所指示的软件产品类型建立映射参数与软件产品的映射关系。
其中参数定义规则定义了各个参数与产品的关系,例如,步骤S410中产品实体参数为00可以代表厂商A的B产品,产品类型参数为int和产品数值参数为20代表该参数在存储装置中的存储形式,产品层级参数为10代表该产品位于NFVI层中的虚拟化管理软件层,产品组件参数为A/B代表需要由A产品和B产品组成。因此,基于以上的参数定义规则,就可以建立映射参数00int2010A/B与厂商A的B产品与A产品的组合的映射关系,并将该产品设置在NFVI层中的虚拟化管理软件层。
步骤S430:根据映射关系,基于映射参数调用多个待部署产品,得到多个待部署产品的产品信息。
获知映射关系后,就可以基于映射关系从服务器130或终端设备110的存储装置将对应的软件产品调用出来,得到了多个待部署产品的产品信息。
在本申请的步骤S220之前,和步骤S210之后,本申请还可以包括一个解析参数的过程。具体的方法如下。
如图5所示,图5示意性的示出了本申请一种对参数规则解析的方法流程图。
在基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息之前,所述方法还包括步骤S510-步骤S520。
步骤S510:根据参数规则类型调用与参数规则类型相对应的解析工具。
对于不同的软件产品来说,各个厂商可以通过配置参数规则的方式来获得该厂商对应的产品,因此,就会形成不同的参数规则内容,即不同厂商会利用不同的规则来对软件产品定义参数配置、校验、解析的规则,而利用不同的参数规则类型就需要使用到不同的解析工具。然而,现有的各个厂商所使用的规则类型都大不相同,用户在进行软件产品配置时,需要获取熟记各个厂商的参数规则类型,大大的提高了产品配置的难度。
而本申请在进行软件产品配置时,可以根据参数规则类型调用与参数规则类型相对应的解析工具。在本申请的服务器130或终端设备110的存储装置中可以存储参数规则类型以及与其相对应的解析工具。当获取到用户的参数规则类型后,就可以调用与之对应的解析工具,进行步骤S520。
步骤S520:利用参数规则类型相对应的解析工具对参数规则内容进行解析。
获得对应的解析工具后,就可以对参数规则内容进行解析,通过解析就可以确定参数规则内容,从而继续步骤S220中,根据参数规则内容和产品配置参数来获得多个待部署产品的产品信息。
本申请利用步骤S510-步骤S520,可以实现跨层次和跨厂商的不同软件产品配置参数的灵活定义,可以自动调用不同层次和不同厂商的解析工具对参数规则内容进行解析,以确定参数规则。避免了现有方案中需要分别对不同厂商的产品单独开发参数配置页面和解析工具,而且避免了因同一产品的版本不同,配置参数都可能有差异,导致的适配统一解析模板困难的问题。本申请可以实现产品配置更简单快捷,提高了部署的效率。
以上部分公开的是对参数规则的解析过程。在本申请的步骤S220之前,和步骤S210之后,本申请还可以包括以下步骤。
如图6所示,图6示意性的示出了本申请一种对参数提取方法的流程图。
在本申请的一个实施例中本申请在基于产品配置参数和参数定义规则所指示的软件产品类型,分别确定多个待部署产品的产品信息之前,还包括步骤S610-步骤S620。
步骤S610:对产品配置参数进行解析。
其中,对产品配置参数进行解析的方法同步骤S520。
步骤S620:以产品层级参数作为索引,提取产品配置参数。
当解析完参数之后,可以以产品层级参数作为索引,提取产品配置参数,例如,通过解析后,当产品实体参数为00,产品类型参数为int,产品数值参数为20,产品层级参数为10,产品组件参数为A/B时,可以以产品的层级参数为索引,提取出所有的产品配置参数,例如,可以为1000int20A/B。由于该方法中是以产品的层级参数为索引,因此可以直接定位产品所部署的层级,在用户进行步骤S230时,可以直接将需要部署多个待部署产品的对象通过终端设备110展示出来,供用户选择,从而可以有效的缩短用户定位点击到对应层级的时间。而且,通过以产品层级参数作为索引,服务器130或终端设备110在确定多个待部署产品的产品信息时,也可以直接从对应层级目录下的产品中进行定位挑选,可以有效的减少服务器130或终端设备110确定多个待部署产品的产品信息的时间,有效的提高了产品配置的效率,提高了部署效率。
当完成步骤S210和步骤S220之后,可以确定多个待部署的产品信息。接下来可以继续步骤S230-步骤S240。
在步骤S230中:获取需要部署多个待部署产品的对象;
需要部署多个待部署产品的对象可以通过终端设备110来获取,用户可以直接在终端设备110中输入需要部署多个待部署产品的对象,例如,输入NFVI层的虚拟化软件层作为一个产品的部署对象,然后依次输入其它多个产品的部署对象。本申请的终端设备110中也可以根据用户的产品配置参数中的层级信息将部署的对象显示在终端设备110,供用户挑选。以此可以减少用户输入部署对象的时间。
当获取到需要部署多个待部署产品的对象后,继续进行步骤S240。
在步骤S240中:将多个待部署产品部署在对象上。
当终端设备110或服务器130确定多个待部署产品信息,并获取到需要部署多个待部署产品的对象后,就可以将多个待部署产品部署在对象上。具体的部署方法如下。
如图7所示,图7示意性的示出了本申请将多个待部署产品进行部署的方法流程图。
在本申请的一个实施例中,将多个待部署产品部署在对象上的方法,包括步骤S710-步骤S730。
步骤S710:通过产品依赖规则确定产品部署方案中多个软件产品的部署顺序。
产品之间的依赖规则是指产品之间存在相互依赖关系,对于软件产品来说,不同的软件分别存在不同的版本,而很多软件产品只能适应其它特定的软件产品或其它特定软件产品中特定版本的软件。下面将通过一个产品依赖规则来说明多个产品之间的依赖规则。
如图8所示,图8示意性的示出了本申请的一种产品依赖规则表。其中,产品B需要依赖产品A,而依赖规则是:当产品B的版本号小于产品B v 1.0时,对应的产品A的版本号需要小于产品A v 2.5;当产品B的版本号大于等于产品Bv 1.0时,对应的产品A的版本号需要大于等于产品Av 2.5;当产品C的版本号大于产品Cv 0.5时,对应的产品A的版本号需要大于产品Av 1.0。其中的大于和小于指的是版本的版本号。对于一款软件来说,随着不断的更新,版本号默认是依次增加,例如,v 1.0,v 1.1,v2.0等。以产品C为例,当产品C是产品Cv0.5以上版本时,对应的产品A就必须是产品Av 1.0以上版本,此时才能实现产品C的部署和兼容。因此,产品的依赖关系可以根据产品部署的依赖规则来定义。
而本申请产品之间的依赖规则存储在服务器130或终端设备110的存储装置中,其中,可以通过不同厂商所公开的数据来预先定义依赖规则,并进行存储。当然,也可以根据用户的自定义情况,来修改产品的依赖规则。
步骤S720:基于部署顺序和多个待部署产品的产品信息构建工作流模板。
当确定了部署顺序和多个待部署产品的产品信息后,就可以构建工作流模板,工作流模板包括了多个待部署产品的产品按照部署顺序分别部署到对应的对象上。例如,如图9所示,图9示意性的示出了图8对应的依赖规则所形成的工作流模板图。
例如,产品A需要部署在NFVI模块的存储设备的集群层上,产品B需要部署在NFVI模块的存储设备的主机层上,而产品C需要部署在NFVI模块的交换机的主机层上。因此,对应形成的工作流模板如图8所示。此时,在NFV***中,对这三个软件产品进行部署时,就会根据工作流模板的部署顺序和对象进行部署。
步骤S730:并根据工作流模板,将多个待部署产品分别部署到对应的对象上。
当确定了工作流模板之后,就可以基于工作流模板将多个待部署产品分别部署到对应的对象上,其中,本申请在对各个待部署产品进行部署时,可以根据各个待部署产品的厂商情况来调用不同的部署工具,实现将各个待部署产品部署到对应的对象上,完成对NFV***的软件产品部署。
在本申请实施例提供的技术方案中,本申请通过获取多个待部署产品的产品配置参数和参数定义规则,其中,参数定义规则用于指示产品配置参数所定义的软件产品类型;并基于产品配置参数和参数定义规则所指示的软件产品类型,分别确定多个待部署产品的产品信息;再获取需要部署多个待部署产品的对象;最后将多个待部署产品部署在对象上。通过本申请的方法,利用获取到的产品配置参数和参数定义规则可以快速确定多个待部署产品的产品信息,因此,用户可以自定义产品配置参数,并快速获取到待部署的产品信息,而无需耗费大量的时间在庞大的产品库中挑选待部署产品,节省了时间,大大的提高了软件产品的部署效率。
本申请对应的软件产品部署方法可以适用于云网建设中,适用于云网产品的统一集成部署的场景,为实现NFV架构全栈产品的自动化集成部署,需要定义不同层次下不同组件和厂商的各产品的产品配置参数和参数定义规则,利用参数定义规则即可实现全栈产品配置参数的定义、配置、校验和重组,实现产品配置方法简便,快捷的效果。
为了解决不同产品部署顺序编排的功能,本申请引入了部署依赖规则,其中添加了***内置或用户针对产品特点自定义的部署依赖规则,实现部署顺序的自动化推荐和按需编排,保证集成部署的灵活性与准确性,同时本申请还利用部署工具调度器根据部署顺序和产品配置参数完成部署工作流的实例化,依次分别调用不同的自动化部署工具,实现云网产品的统一集成部署能力,能够满足云网产品自动化集成部署各种复杂的应用场景需求。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以上部分介绍了本申请数据软件产品部署方法的内容,接下来继续介绍本申请软件产品部署装置1000的内容,产品部署装置1000可以用于执行本申请上述实施例中的软件产品部署方法。
根据本申请实施例的一个方面,如图10所示,图10示意性的示出了本申请软件产品部署装置的结构框图。本申请提供还一种软件产品部署装置1000,包括:
获取模块1010,用于获取多个待部署产品的产品配置参数和参数定义规则,参数定义规则用于指示产品配置参数所定义的软件产品类型,并用于获取需要部署多个待部署产品的对象;
产品解析模块1020,用于基于产品配置参数和参数定义规则所指示的软件产品类型,分别确定多个待部署产品的产品信息;
部署模块1030,用于将多个待部署产品部署在对象上。
在本申请的一个实施例中,产品解析模块1020包括:产品映射单元,用于基于参数定义规则所指示的软件产品类型建立产品配置参数与软件产品的映射关系;解析单元,用于根据映射关系,基于产品配置参数调用多个待部署产品,得到多个待部署产品的产品信息。
在本申请的一个实施例中,参数定义规则包括参数规则内容和参数规则类型,所述参数规则类型用于指示所述参数规则内容的类型,所述产品解析模块1020还包括:
调用单元,用于根据所述参数规则类型调用与所述参数规则类型相对应的解析工具;
规则解析单元,用于利用所述参数规则类型相对应的解析工具对所述参数规则内容进行解析。
在本申请的一个实施例中,产品配置参数包括软件产品的产品实体参数、产品类型参数和产品数值参数,产品类型参数用于表示产品实体参数的类型,产品数值参数用于表示产品实体参数的数值;产品解析模块1020包括:
实体映射单元,用于基于参数定义规则所指示的软件产品类型建立产品实体参数与软件产品的映射关系;
实体解析单元,用于根据映射关系,基于产品实体参数调用多个待部署产品,得到多个待部署产品的产品信息。
在本申请的一个实施例中,产品配置参数还包括产品层级参数,产品部署装置还包括参数解析模块,参数解析模块用于对产品配置参数进行解析,并以产品层级参数作为索引,提取产品配置参数。
在本申请的一个实施例中,部署模块1030包括:
编排单元,用于通过产品依赖规则确定产品部署方案中多个软件产品的部署顺序;
工作流构建单元,用于基于部署顺序和多个待部署产品的产品信息构建工作流模板;
部署单元,用于根据工作流模板,将多个待部署产品分别部署到对应的对象上。
接下来具体介绍本申请的软件产品部署装置中各个模块的工作流程。
如图11所示,图11示意性的示出了本申请软件产品部署装置中各个模块的工作流程图。
在本申请的一个实施例中,本申请利用软件产品部署装置对NFV***部署的流程包括步骤S1101-步骤S1107。其中,在步骤S1101中,通过获取模块1010获取多个待部署产品的产品配置参数和参数定义规则。然后在步骤S1102中,产品解析模块1020通过产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定多个待部署产品的产品信息。在步骤S1103中,产品解析模块1020将多个待部署产品的产品信息发送到部署模块1030的编排单元中。在步骤S1104中,编排模块编排好部署顺序后,将部署顺序和多个待部署产品的产品信息一起发送到工作流构建单元中。在步骤S1105中,工作流构建单元基于部署顺序和多个待部署产品的产品信息构建工作流模板。在步骤S1106中,工作流构建单元根据工作流模板调用不同的部署工具进行部署。在步骤S1107中,部署工具根据工作流模板将不同的待部署产品分别部署到对应的对象上,对象对应的就是具体在NFV***中的软件安装源,其最终指向硬件,一起构建完成NFV框架。完成整个NFV***软件产品的自动部署。
本申请各实施例中提供的软件产品部署装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
以上部分介绍了本申请产品部署装置的内容,接下来继续介绍本申请其它方面的内容。
根据本申请实施例的一个方面,本申请提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的软件产品部署方法。
根据本申请实施例的一个方面,本申请提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器被配置为经由执行可执行指令来执行如以上技术方案中的软件产品部署方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的软件产品部署方法。
图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.根据权利要求3所述的软件产品部署方法,其特征在于,所述产品配置参数还包括产品层级参数和产品标签参数,所述产品层级参数用于指示所述软件产品的部署层级,所述产品标签参数用于指示所述产品配置参数中除产品标签参数外其它参数的作用。
6.根据权利要求1所述的软件产品部署方法,其特征在于,所述产品配置参数还包括产品层级参数,
在基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息之前,所述方法还包括:
对所述产品配置参数进行解析;
以所述产品层级参数作为索引,提取所述产品配置参数。
7.根据权利要求1所述的软件产品部署方法,其特征在于,将所述多个待部署产品部署在所述对象上,包括:
通过产品依赖规则确定所述产品部署方案中多个软件产品的部署顺序;
基于所述部署顺序和所述多个待部署产品的产品信息构建工作流模板;
并根据所述工作流模板,将所述多个待部署产品分别部署到对应的所述对象上。
8.一种软件产品部署装置,其特征在于,包括:
获取模块,用于获取多个待部署产品的产品配置参数和参数定义规则,所述参数定义规则用于指示所述产品配置参数所定义的软件产品类型,并用于获取需要部署所述多个待部署产品的对象;
产品解析模块,用于基于所述产品配置参数和所述参数定义规则所指示的软件产品类型,分别确定所述多个待部署产品的产品信息;
部署模块,用于将所述多个待部署产品部署在所述对象上。
9.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任意一项所述的软件产品部署方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述的软件产品部署方法。
CN202111514736.7A 2021-12-13 2021-12-13 软件产品部署方法、装置、可读介质及电子设备 Pending CN114185554A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111514736.7A CN114185554A (zh) 2021-12-13 2021-12-13 软件产品部署方法、装置、可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111514736.7A CN114185554A (zh) 2021-12-13 2021-12-13 软件产品部署方法、装置、可读介质及电子设备

Publications (1)

Publication Number Publication Date
CN114185554A true CN114185554A (zh) 2022-03-15

Family

ID=80543361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111514736.7A Pending CN114185554A (zh) 2021-12-13 2021-12-13 软件产品部署方法、装置、可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN114185554A (zh)

Similar Documents

Publication Publication Date Title
CN109542399B (zh) 软件开发方法、装置、终端设备及计算机可读存储介质
CN108304201B (zh) 对象更新方法、装置及设备
CN110532020B (zh) 一种微服务编排的数据处理方法、装置及***
US20210208854A1 (en) System and method for enhancing component based development models with auto-wiring
CN108279882B (zh) 框架生成方法、装置、设备及计算机可读介质
CN111338657B (zh) 一种基于模板的helm参数批量配置方法
CN111309734B (zh) 自动生成表数据的方法及***
CN109684008A (zh) 卡片渲染方法、装置、终端及计算机可读存储介质
Bergmayr et al. Cloud modeling languages by example
CN108628733A (zh) 批量业务处理操作的测试方法及装置
CN114048415A (zh) 表单生成方法及装置、电子设备和计算机可读存储介质
CN112181419B (zh) 一种界面生成方法、装置及存储介质
CN113377342A (zh) 一种项目构建方法、装置、电子设备及存储介质
CN111625291A (zh) 数据处理模型自动迭代方法、装置及电子设备
CN115629763A (zh) 目标代码的生成方法、npu指令的显示方法及装置
CN114185554A (zh) 软件产品部署方法、装置、可读介质及电子设备
CN115080113A (zh) 项目代码检测方法和装置、可读存储介质、电子设备
CN114816672A (zh) 虚拟机的创建方法、装置、电子设备和存储介质
CN113849161A (zh) 应用控制方法、装置、存储介质及电子设备
CN114610648A (zh) 一种测试方法、装置及设备
CN114185557A (zh) 软件产品部署方法、装置、介质及电子设备
CN114187259A (zh) 视频质量分析引擎的创建方法、视频质量分析方法及设备
CN113377648A (zh) 软件***诊断方法、装置、电子设备及计算机可读介质
CN113360232A (zh) 任务处理方法、装置、电子设备及存储介质
CN111459608A (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