CN113867736A - 部署方案生成方法及装置 - Google Patents

部署方案生成方法及装置 Download PDF

Info

Publication number
CN113867736A
CN113867736A CN202111032187.XA CN202111032187A CN113867736A CN 113867736 A CN113867736 A CN 113867736A CN 202111032187 A CN202111032187 A CN 202111032187A CN 113867736 A CN113867736 A CN 113867736A
Authority
CN
China
Prior art keywords
software
deployed
deployment
combinations
independent
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
CN202111032187.XA
Other languages
English (en)
Other versions
CN113867736B (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.)
Research Institute of War of PLA Academy of Military Science
Original Assignee
Research Institute of War of PLA Academy of Military Science
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 Research Institute of War of PLA Academy of Military Science filed Critical Research Institute of War of PLA Academy of Military Science
Priority to CN202111032187.XA priority Critical patent/CN113867736B/zh
Publication of CN113867736A publication Critical patent/CN113867736A/zh
Application granted granted Critical
Publication of CN113867736B publication Critical patent/CN113867736B/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/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Physiology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的实施例提供了部署方案生成方法及装置。所述方法包括:获取多个待部署软件,组成部署软件集合;将所述部署软件集合划分为多个互不依赖软件组合;基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案。以此方式,可利用软件组合以及软件之间的关系,完成软件部署方案的自动生成,而不需要依赖人工部署,可有效提高部署效率和成功率。

Description

部署方案生成方法及装置
技术领域
本公开的实施例一般涉及软件部署技术领域,并且更具体地,涉及部署方案生成方法及装置。
背景技术
目前,大型信息系统部署之前,通常依据待部署软件的种类、数量、规模以及对环境资源量要求等信息,并结合软件实际部署经验,由人工完成部署方案的规划,再依据部署方案完成系统部署。具体地,系统运维人员在确定需要部署的节点后,通过询问待部署软件研制单位有关软件部署所需资源、端口、集群等多项需求后,再由运维人员依据目标环境的软、硬件资源情况,人工给出一个初步的软件部署方案,并与各软件研制单位多轮次交互,形成最终的软件部署方案,进而运维人员依据该软件部署方案尝试部署,若部署失败,运维人员需召集相关软件研制单位商讨修改部署方案,同步考虑部署失败原因,重新调整软件部署方案。这种部署方案生成方式显然需要过多依赖人为操作,同时部署方式不够自动化,部署效率低,尤其是面临需要部署由上百个软件组成的大型信息系统时,人工部署过程就更显得复杂,部署效率就更低了。
发明内容
根据本公开的实施例,提供了一种部署方案生成方案。
在本公开的第一方面,提供了一种部署方案生成方法。该方法包括:
获取多个待部署软件,组成部署软件集合;
将所述部署软件集合划分为多个互不依赖软件组合;
基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述将所述部署软件集合划分为多个互不依赖软件组合,包括:
确定所述多个待部署软件中各待部署软件的软件属性特征;
依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述各待部署软件的软件属性特征包括以下至少一项:
所述各待部署软件所需的CPU资源;
所述各待部署软件所需的内存资源;
所述各待部署软件所需的网络资源;
所述各待部署软件所需的端口资源;
所述各待部署软件的本地依赖;
所述各待部署软件的软件互斥关系;
所述各待部署软件是否需要进行集群部署。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述依据各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合,包括:
依据所述各待部署软件所需的端口资源,将所述部署软件集合中具有相同端口资源需求的待部署软件标记为端口互斥;
基于标记的端口互斥、所述各待部署软件的软件互斥关系以及所述各待部署软件的本地依赖,得到互不依赖的多个目标软件组;
基于所述多个目标软件组,得到所述多个互不依赖软件组合。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述基于所述多个目标软件组,得到所述多个互不依赖软件组合,包括:
确定所述多个目标软件组中各目标软件组中被依赖的软件;
按照被依赖的软件的出现次数最小原则,将所述各目标软件组重新进行划分,以得到所述多个互不依赖软件组合。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获取多个待部署软件,组成部署软件集合,包括:
根据部署系统能力要求,从软件信息系统中选择所述多个待部署软件,并确定所述多个待部署软件的软件安装规模;
所述依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合,包括:
依据所述各待部署软件的软件属性特征以及所述软件安装规模,将所述部署软件集合进行分组,得到所述多个互不依赖软件组合。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述部署约束条件包括:所述各待部署软件的软件属性特征、各部署节点的节点属性特征、部署节点的数目;
所述基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案,包括:
基于所述多个互不依赖软件组合、所述各待部署软件的软件属性特征、各部署节点的节点属性特征以及所述部署节点的数目,通过遗传基因算法,生成所述多个待部署软件的部署方案,其中,所述部署节点的数目可变,且所述数目小于或等于预设最大数量。
在本公开的第二方面,提供了一种部署方案生成装置。该装置包括:获取模块,用于获取多个待部署软件,组成部署软件集合;
划分模块,用于将所述部署软件集合划分为多个互不依赖软件组合;
生成模块,用于基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本公开的实施例的部署方案生成方法的流程图;
图2示出了根据本公开的实施例的部署方案生成装置的方框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本公开中,通过将多个待部署软件划分为多个互不依赖软件组合,进而生成所述多个待部署软件的部署方案,可利用软件组合以及软件之间的关系,完成软件部署方案的自动生成,而不需要依赖人工部署,可有效提高部署效率和成功率。
图1示出了根据本公开实施例的部署方案生成方法100的流程图。方法100包括:
步骤110,获取多个待部署软件,组成部署软件集合;
步骤120,将所述部署软件集合划分为多个互不依赖软件组合;
步骤130,基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案。
通过生成部署软件集合,然后将部署软件集合划分为多个互不依赖软件组合,可基于这些互不依赖软件组合以及部署约束条件,自动生成这些待部署软件的部署方案,如此,可利用软件组合以及软件之间的关系,完成软件部署方案的自动生成,而不需要依赖人工部署,可有效提高部署效率和成功率,尤其是当面临大的部署系统时,部署速度明显加快、部署效率明显得到提升。
在一个实施例中,所述将所述部署软件集合划分为多个互不依赖软件组合,包括:
确定所述多个待部署软件中各待部署软件的软件属性特征;
依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合。
根据各待部署软件的软件属性特征,可将部署软件集合进行自动分组,以得到多个互相没有依赖关系的软件组合,从而为软件部署方案的自动生成奠定基础。
在一个实施例中,所述各待部署软件的软件属性特征包括以下至少一项:
所述各待部署软件所需的CPU资源;
所述各待部署软件所需的内存资源;
所述各待部署软件所需的网络资源;如各待部署软件所需的带宽。
所述各待部署软件所需的端口资源;
所述各待部署软件的本地依赖;如各待部署软件在本地必须依赖哪些软件才能安装。
所述各待部署软件的软件互斥关系;软件互斥关系用于表征各待部署软件与哪些软件安装构成互斥关系,且一旦构成互斥关系,则安装在同一个节点上时会报错。
所述各待部署软件是否需要进行集群部署,即各待部署软件是需要部署在单个节点还是集群(即多个节点构成的集群)上。
各待部署软件的软件属性特征包括但不限于以上特征,例如:还可以包括各待部署软件所需的硬盘资源等。
在一个实施例中,所述依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合,包括:
依据所述各待部署软件所需的端口资源,将所述部署软件集合中具有相同端口资源需求的待部署软件标记为端口互斥;
基于标记的端口互斥、所述各待部署软件的软件互斥关系以及所述各待部署软件的本地依赖,得到互不依赖的多个目标软件组;
基于所述多个目标软件组,得到所述多个互不依赖软件组合。
基于各待部署软件的本地依赖,可将具有依赖关系的待部署软件分在同一个组内,然后根据各待部署软件的软件互斥关系、所标记的端口互斥将有相互排斥影响的软件分在不同的组内,从而得到互不依赖的多个较大的软件组即目标软件组,进而可将多个目标软件组进行进一步细分,从而得到多个互不依赖软件组合,以便能够更快地生成软件部署方案。
另外,通过明确软件之间的关系然后基于此生成软件部署方案,可避免将有冲突关系的软件划分在一个组内,进而避免将有冲突关系的软件部署在相同的节点或者关系比较密切的集群上,如此,可减少后期实际部署时发生软件冲突的现象,提高后期实际部署时的部署效率和成功率。
在一个实施例中,所述基于所述多个目标软件组,得到所述多个互不依赖软件组合,包括:
确定所述多个目标软件组中各目标软件组中被依赖的软件;
按照被依赖的软件的出现次数最小原则,将所述各目标软件组重新进行划分,以得到所述多个互不依赖软件组合。
在得到多个目标软件组之后,通过确定各目标软件组中被依赖的软件,可计算被依赖的软件的出现次数,然后按照被出现次数最小原则,将各目标软件组进行重新划分,以确保划分后的多个互不依赖软件组合中每个被依赖软件的出现次数均最小,从而使得互不依赖软件组合的划分更加合理,避免软件组的划分更加繁琐、不简练。
关于被依赖的软件的出现次数最小原则的解释如下:
例如:存在a软件、b软件、c软件,且a软件依赖c软件,b软件也依赖c软件,则a软件、b软件和c软件的分组方案可以有两种:
第一种分组方案为ac一组与bc一组,第二种分组方案为abc为一组,
但如果采用第一种分组方案,则被依赖软件c就会出现2次,占用2个部署节点,这种分组方式显然不如将abc作为一组的分组方案,而将abc作为一组的分组方案就使得被依赖软件c在这两种分组方案中出现次数最小。
另外,从上述举例中也可见,按照被依赖的软件的出现次数最小原则,将所述各目标软件组重新进行划分,包括但不限于在各目标软件组内部重新划分软件组合,还可能会涉及到在目标软件组之间进行软件组别的调整,如将某个目标软件组中的一个软件调整至另一个目标软件组中。
多个互不依赖软件组合中各互不依赖软件组合中有多个软件,不同软件之间存在相互依赖关系或者没有关系,而不同软件组合之间是互斥关系或者没有关系。
互不依赖的多个目标软件组中各目标软件组中也有若干个软件,不同软件之间存在相互依赖关系或者没有关系,而不同目标软件组之间是互斥关系或者没有关系,只不过目标软件组中软件数量通常多于互不依赖软件组合中软件数量。
在一个实施例中,所述获取多个待部署软件,组成部署软件集合,包括:
根据部署系统能力要求,从软件信息系统中选择所述多个待部署软件,并确定所述多个待部署软件的软件安装规模;软件信息系统由很多软件构成。
部署系统能力要求即软件对运行环境的要求。以部署系统能力要求为办公能力为例,就需要从软件信息系统中选择wps、word、ppt、office、outlook等办公软件作为待部署软件,然后确定这些待部署软件中每个办公软件需要安装在哪些节点上,即每个办公软件的安装数量以及对应的安装节点等。
上述多个待部署软件就组成了部署软件集合。
软件安装规模即软件安装数量,如需要安装多大的集群上,在几个节点上。
所述依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合,包括:
依据所述各待部署软件的软件属性特征以及所述软件安装规模,将所述部署软件集合进行分组,得到所述多个互不依赖软件组合。
通过依据各待部署软件的软件属性特征以及所述软件安装规模,可自动地将所述部署软件集合进行分组,以得到所述多个互不依赖软件组合,从而软件的分组使得软件之间的关系更加明确,在此基础上,生成软件部署方案也更加准确,可避免软件之间的冲突,部署成功率更高,同时便于部署效率自然更高。
在一个实施例中,所述部署约束条件包括:所述各待部署软件的软件属性特征、各部署节点的节点属性特征、部署节点的数目;
各待部署软件的软件属性特征的特征值应该小于或等于各部署节点的节点属性特征的特征值。
部署节点的数目可根据部署需求来设置,也可根据各部署软件部署在各部署节点后,各部署节点的性能使用率来动态调整。
所述基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案,包括:
基于所述多个互不依赖软件组合、所述各待部署软件的软件属性特征、各部署节点的节点属性特征以及所述部署节点的数目,通过遗传基因算法,生成所述多个待部署软件的部署方案,其中,所述部署节点的数目可变,且所述数目小于或等于预设最大数量。
通过综合上述4项因素,可利用遗传基因算法,自动生成哪个软件装在哪个节点上最符合该节点的要求以及最能最大化发挥节点的性能且尽可能避免冲突的部署方案。
另外,部署节点的数目可动态变化,如此更有利于充分发挥各节点的性能。
各部署节点可以是资源固定的物理机,如机房的服务器、客户机等,也可以是资源可调的具有云环境的机子,如虚拟机。
下面将结合其他实施例进一步详细说明本发明的技术方案:
第一步:构建软件部署属性模型。软件部署属性模型包括资源属性和安装属性两部分。其中,资源属性包括计算资源、存储资源、网络资源和端口资源;安装属性包括本地依赖、互斥关系、单台/集群。
第二步:构建部署节点模型。部署节点模型包括节点类型、节点标识、CPU、内存、硬盘和网络资源情况。其中,节点类型包括物理机、云化节点(虚拟机云和容器云)。
第三步:明确部署的软件集合和规模。依据系统能力要求,选定需要安装的软件集合,软件安装规模(集群部署数量,如某软件需要装3个)。
第四步:软件集合划分为互斥的多组。依据软件集合和软件规模,利用软件部署属性模型,将软件集合划分为不同的软件分组(这些软件分组之间是互斥关系),用于后续软件部署。
软件集合划分为互斥组的过程:依据软件部署属性,明确每个待部署软件的资源属性和安装属性,包括CPU、内存、网络、所需端口、本地依赖、互斥关系、集群等进行软件分组。
将待部署软件中具有相同所需端口的软件标记为互斥(冲突的或者都对硬盘要求比较高等)关系;
基于端口互斥、软件互斥和本地依赖关系利用深度优先搜索算法将待部署软件分成一些互不相交的最大连通分支组合;
利用被依赖软件出现次数最小原则结合贪心算法对每个最大连通分支所包含的软件重新划分,得到一群具有互斥关系或没有关系的软件组合;分组后知道了各种各样的关系可以,规避关系,提高部署效率和成功率。
第五步:部署规划方案生成。利用软件部署属性模型和部署节点模型的各种约束条件,构建基于资源利用最优目标的算法完成部署规划方案生成。
物理机:基于资源最优算法直接计算部署规划方案。资源是固定的根据资源去部署,物理机如机房中的机器,资源都是实际的。
云环境(虚拟机、容器云):通过比较云资源和待部署软件所需资源的大小,如果云资源足够那么将软件部署至相关的云服务器,如果不够,那么就不部署,提示资源不足,云环境根据部署规划方案调度资源再部署,软件部署在云上。
资源最优算法
根据上述分组方案得到的软件分类关系(即软件分组)和对应的软件资源属性结合待部署节点的资源状况,量化得到对应的目标函数和限制条件;
利用遗传算法对得到的优化问题进行求解,得到一个基于依赖和排斥关系的资源最优的部署方案;
对待部署软件和待部署物理节点的相关属性给出对应的数学描述待部署的软件集合X={x1,x2,…,xn}有下列属性:
ci表示每个软件xi运行所需的CPU核大小,i=1,2,…,n;
mi表示每个软件xi运行所需的内存大小,i=1,2,…,n;
ni表示每个软件xi运行所需的硬盘大小,i=1,2,…,n;
rij表示软件xi和软件xj之间的依赖或者排斥关系,i,j=1,2,…,n;
di表示每个软件xi运行所需的端口,i=1,2,…,n;
ti表示每个软件xi所需安装的个数,i=1,2,…,n;
待部署的节点H={h1,h2,…,hn}有下列属性:
hci表示第i个节点hiCPU核大小,i=1,2,…,m;
hmi表示第i个节点hi内存大小,i=1,2,…,m;
hni表示第i个节点hi硬盘大小,i=1,2,…,m;
资源最优算法的具体实现:
将具有相同端口的软件xi和xj标记为排斥关系,并将该关系添加至rij
基于软件之间的关系rij利用深度优先搜索算法将软件集合划分成一些互不相交的最大连通分支组合,然后再依据被依赖软件出现次数最小原则将每个最大连通分支组合进一步划分,从而得到一群具有互斥关系/没有关系的软件组合,假设一种一个软件组合为Y={y1,y2,…,yk};
深度优先搜索算法:
Figure BDA0003245777250000131
根据重新划分得到的软件组合Y={y1,y2,…,yk},不妨设对应的CPU核数、内存大小、硬盘大小、软件需要安装的个数仍用上述的数学符号表示,另外用lij表示第i个软件部署在第j个部署节点,1≤i≤k,1≤j≤m,从而模型的目标函数为:
Figure BDA0003245777250000132
其中max表示最大化,qc、qm、qn表示根据实验确定的量纲参数,这些量纲参数依据软件属性特征以及部署节点的的节点属性特征来确定,目的是使得部署方案的精度更高,lij的取值为0或者1,具体地,若第i个软件装在第j个部署节点上,就取1,否则,就取0,j可自动调整,以实现分散部署
对应的约束条件为:
Figure BDA0003245777250000141
其中lij的取值为0或者1,表示该问题是一个整数规划问题。
利用遗传算法求解上述整数规划优化问题,具体的伪代码如下:
随机生成初始生命种群;
循环
利用给定的适应函数评价种群中的每个个体适应度;
以比例原则(分数高的挑中几率也较高)选择产生下一个种群;
利用交叉和变异两种方式生成新的种群元素;
直到停止循环的条件满足.
种群中元素的形式为p={p,p2,…,pm};,其中pi的取值为0或者1.
利用该算法可以给出软件部署最优模型的一个解,基于该解可以得到资源利用率最高的软件部署方案,从而使得系统资源的有效利用,安装速度最快,资源分配也更合理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图2示出了根据本公开的实施例的部署方案生成装置500的方框图。
如图2所示,装置200包括:
获取模块210,用于获取多个待部署软件,组成部署软件集合;
划分模块220,用于将所述部署软件集合划分为多个互不依赖软件组合;
生成模块230,用于基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (8)

1.一种部署方案生成方法,其特征在于,包括:
获取多个待部署软件,组成部署软件集合;
将所述部署软件集合划分为多个互不依赖软件组合;
基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案。
2.根据权利要求1所述的方法,其特征在于,
将所述部署软件集合划分为多个互不依赖软件组合,包括:
确定所述多个待部署软件中各待部署软件的软件属性特征;
依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合。
3.根据权利要求2所述的方法,其特征在于,
所述各待部署软件的软件属性特征包括以下至少一项:
所述各待部署软件所需的CPU资源;
所述各待部署软件所需的内存资源;
所述各待部署软件所需的网络资源;
所述各待部署软件所需的端口资源;
所述各待部署软件的本地依赖;
所述各待部署软件的软件互斥关系;
所述各待部署软件是否需要进行集群部署。
4.根据权利要求3所述的方法,其特征在于,
所述依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合,包括:
依据所述各待部署软件所需的端口资源,将所述部署软件集合中具有相同端口资源需求的待部署软件标记为端口互斥;
基于标记的端口互斥、所述各待部署软件的软件互斥关系以及所述各待部署软件的本地依赖,得到互不依赖的多个目标软件组;
基于所述多个目标软件组,得到所述多个互不依赖软件组合。
5.根据权利要求4所述的方法,其特征在于,
所述基于所述多个目标软件组,得到所述多个互不依赖软件组合,包括:
确定所述多个目标软件组中各目标软件组中被依赖的软件;
按照被依赖的软件出现次数最小原则,将所述各目标软件组重新进行划分,以得到所述多个互不依赖软件组合。
6.根据权利要求2所述的方法,其特征在于,
所述获取多个待部署软件,组成部署软件集合,包括:
根据部署系统能力要求,从软件信息系统中选择所述多个待部署软件,并确定所述多个待部署软件的软件安装规模;
所述依据所述各待部署软件的软件属性特征将所述部署软件集合进行分组,得到所述多个互不依赖软件组合,包括:
依据所述各待部署软件的软件属性特征以及所述软件安装规模,将所述部署软件集合进行分组,得到所述多个互不依赖软件组合。
7.根据权利要求1至6中任一项所述的方法,其特征在于,
所述部署约束条件包括:所述各待部署软件的软件属性特征、各部署节点的节点属性特征、部署节点的数目;
所述基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案,包括:
基于所述多个互不依赖软件组合、所述各待部署软件的软件属性特征、各部署节点的节点属性特征以及所述部署节点的数目,通过遗传基因算法,生成所述多个待部署软件的部署方案,其中,所述部署节点的数目可变,且所述数目小于或等于预设最大数量。
8.一种部署方案生成装置,其特征在于,包括:
获取模块,用于获取多个待部署软件,组成部署软件集合;
划分模块,用于将所述部署软件集合划分为多个互不依赖软件组合;
生成模块,用于基于所述多个互不依赖软件组合以及部署约束条件,生成所述多个待部署软件的部署方案。
CN202111032187.XA 2021-09-03 2021-09-03 部署方案生成方法及装置 Active CN113867736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111032187.XA CN113867736B (zh) 2021-09-03 2021-09-03 部署方案生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111032187.XA CN113867736B (zh) 2021-09-03 2021-09-03 部署方案生成方法及装置

Publications (2)

Publication Number Publication Date
CN113867736A true CN113867736A (zh) 2021-12-31
CN113867736B CN113867736B (zh) 2022-11-08

Family

ID=78989468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111032187.XA Active CN113867736B (zh) 2021-09-03 2021-09-03 部署方案生成方法及装置

Country Status (1)

Country Link
CN (1) CN113867736B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289951A (zh) * 2023-11-22 2023-12-26 华信咨询设计研究院有限公司 一种基于递归原则的软件系统多应用自动部署方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100095297A1 (en) * 2008-10-15 2010-04-15 International Business Machines Corporation Method, system and computer program product for solution replication
US20150207758A1 (en) * 2014-01-21 2015-07-23 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
CN105099739A (zh) * 2014-05-15 2015-11-25 中国移动通信集团公司 一种基于插件式软件部署方法、装置及应用服务器
CN105100267A (zh) * 2015-08-24 2015-11-25 用友网络科技股份有限公司 大企业私有云的部署装置和方法
CN105260203A (zh) * 2015-09-25 2016-01-20 福州大学 一种基于模型的Hadoop部署以及配置方法
US20180165122A1 (en) * 2016-12-09 2018-06-14 Vmware, Inc. Methods and apparatus to automate deployments of software defined data centers
CN108268301A (zh) * 2016-12-30 2018-07-10 中国移动通信集团上海有限公司 虚拟网络功能的虚拟机部署方法及装置
CN108776589A (zh) * 2018-06-04 2018-11-09 中国电子科技集团公司第十四研究所 雷达信号处理软件组件的部署方法
CN110727446A (zh) * 2019-09-25 2020-01-24 光通天下网络科技股份有限公司 自动部署方法、装置、设备及介质
CN111984403A (zh) * 2020-08-05 2020-11-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种分布式系统下软件构件的分配部署方法及系统
CN112699041A (zh) * 2021-01-04 2021-04-23 中车青岛四方车辆研究所有限公司 一种嵌入式软件自动部署方法、系统及设备
CN113238766A (zh) * 2021-05-28 2021-08-10 浪潮电子信息产业股份有限公司 一种软件部署方法、装置及相关设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100095297A1 (en) * 2008-10-15 2010-04-15 International Business Machines Corporation Method, system and computer program product for solution replication
US20150207758A1 (en) * 2014-01-21 2015-07-23 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
CN105099739A (zh) * 2014-05-15 2015-11-25 中国移动通信集团公司 一种基于插件式软件部署方法、装置及应用服务器
CN105100267A (zh) * 2015-08-24 2015-11-25 用友网络科技股份有限公司 大企业私有云的部署装置和方法
CN105260203A (zh) * 2015-09-25 2016-01-20 福州大学 一种基于模型的Hadoop部署以及配置方法
US20180165122A1 (en) * 2016-12-09 2018-06-14 Vmware, Inc. Methods and apparatus to automate deployments of software defined data centers
CN108268301A (zh) * 2016-12-30 2018-07-10 中国移动通信集团上海有限公司 虚拟网络功能的虚拟机部署方法及装置
CN108776589A (zh) * 2018-06-04 2018-11-09 中国电子科技集团公司第十四研究所 雷达信号处理软件组件的部署方法
CN110727446A (zh) * 2019-09-25 2020-01-24 光通天下网络科技股份有限公司 自动部署方法、装置、设备及介质
CN111984403A (zh) * 2020-08-05 2020-11-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种分布式系统下软件构件的分配部署方法及系统
CN112699041A (zh) * 2021-01-04 2021-04-23 中车青岛四方车辆研究所有限公司 一种嵌入式软件自动部署方法、系统及设备
CN113238766A (zh) * 2021-05-28 2021-08-10 浪潮电子信息产业股份有限公司 一种软件部署方法、装置及相关设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SÖREN FREY 等: "Search-based genetic optimization for deployment and reconfiguration of software in the cloud", 《 2013 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING》 *
WUCHAO226: "组件化介绍和环境自动部署配置", 《HTTPS://WWW.JIANSHU.COM/P/36480F26C394》 *
骆慧: "一种基于部署方案的软件性能建模与优化方法", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289951A (zh) * 2023-11-22 2023-12-26 华信咨询设计研究院有限公司 一种基于递归原则的软件系统多应用自动部署方法
CN117289951B (zh) * 2023-11-22 2024-04-02 华信咨询设计研究院有限公司 一种基于递归原则的软件系统多应用自动部署方法

Also Published As

Publication number Publication date
CN113867736B (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN108829494B (zh) 基于负载预测的容器云平台智能资源优化方法
CN108564164B (zh) 一种基于spark平台的并行化深度学习方法
CN112148484B (zh) 一种基于耦合度的微服务在线分配方法与系统
CN108965014A (zh) QoS感知的服务链备份方法及系统
CN116260720A (zh) 网络资源部署方法、装置、电子设备及存储介质
CN104506669A (zh) 一种面向分布式网络仿真平台的ip地址分配系统及方法
CN110297713A (zh) 一种云主机的配置管理系统和方法
CN113867736B (zh) 部署方案生成方法及装置
CN111371616A (zh) 一种面向numa架构服务器的虚拟网络功能链部署方法和系统
CN111090401B (zh) 存储设备性能预测方法及装置
CN108833592A (zh) 云主机调度器优化方法、装置、设备及存储介质
CN105630601A (zh) 基于实时计算的资源分配方法及系统
CN117762591B (zh) 任务控制方法、任务控制装置、计算机设备和存储介质
CN113568759A (zh) 一种基于云计算的大数据处理方法及其系统
CN115866059B (zh) 一种区块链节点调度方法和装置
CN110879753B (zh) 基于自动化集群资源管理的gpu加速性能优化方法和系统
CN112328332A (zh) 一种面向云计算环境的数据库配置优化方法
CN117033170A (zh) 测试任务分配方法、装置、设备、存储介质和程序产品
CN111783487A (zh) 一种读卡器设备的故障预警方法及装置
CN113795032B (zh) 室分隐形故障的判断方法、装置、存储介质及设备
CN115664988A (zh) 一种面向Kubernetes的复杂服务部署和调度方法
CN107104829B (zh) 一种基于网络拓扑数据的物理设备匹配分配方法及装置
CN111885159B (zh) 数据采集方法、装置、电子设备及存储介质
CN110647381B (zh) 一种虚拟机资源均衡和部署优化方法
CN115509749A (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