1.本发明涉及变更编排规划技术领域,特别涉及云网络大规模变更发布编排方法、装置、设备和存储介质。
背景技术:2.现如今,云网络设备由于规模巨大,影响范围大,为了保障与网络的稳定性,一次版本升级需要多个周期才可完成。但是较长的发布将导致云上用户难以享受底层基础设施特性升级和系统优化带来的好处,如何尽快在较短的周期内以最低风险完成发布成为了急需解决的问题。而且,网络设备的发布必须遵守一定的发布约束,例如设备的最大发布量,主备不可同时发布等约束。如何将各种各样的发布约束转为统一的数学模型,并能从中找出满足约束的最小发布时长则是云网络发布必须面对的问题。
3.云网络的大规模、长周期发布导致运维人员面临给出一份详细发布规划的问题,合理的发布规划可以将发布风险降到最低。因此云网络的发布要解决发布规划的风险评估问题,并从中找出风险最小的发布规划。
4.现有技术往往使用人工分析的方式,进行变更编排规划,有如下缺点:
5.(1)现有技术需要人工进行变更编排,这会导致大量的人力开销,而且人工编排出的发布规划难以实现最优。
6.(2)现有方法往往没有考虑历史变更数据计算变更风险,这导致编排得到的规划难以保证变更成功率。
技术实现要素:7.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
8.为此,本发明的第一个目的在于提出一种云网络大规模变更发布编排方法,解决发布规划的风险评估问题,并从中找出风险最小的发布规划,针对云网络中的各类组件需要进行版本变更以提升服务质量的场景。
9.为达到上述目的,本发明一方面实施例提出了一种云网络大规模变更发布编排方法,包括以下步骤:
10.将所有待发布的云网络设备对应设置为无向图上的点集,根据所述无向图上的点集对应的云网络设备之间的互斥关系,获取所述云网络设备的独立发布单元;根据历史发布成功率计算每个独立发布单元的发布风险;基于所述每个独立发布单元的发布风险,对所述每个独立发布单元的发布顺序进行建模,基于所述发布顺序的不同排列对所述发布风险的影响因素,构建目标函数;对所述目标函数进行计算,得到所有独立发布单元的最优发布顺序。
11.本发明实施例的云网络大规模变更发布编排方法,解决发布规划的风险评估问题,并从中找出风险最小的发布规划,针对云网络中的各类组件需要进行版本变更以提升服务质量的场景。
12.另外,根据本发明上述实施例的云网络大规模变更发布编排方法还可以具有以下附加的技术特征:
13.进一步地,在本发明的一个实施例中,所述根据所述无向图上的点集对应的云网络设备之间的互斥关系,获取所述云网络设备的独立发布单元,包括:使用图着色模型,设置着色所述无向图上的点集的每种颜色的可使用次数;基于所述可使用次数,求解得到所述点集可使用的最少颜色数量;基于所述最少颜色数量,求解得到所述所有独立发布单元和最小发布次数。
14.进一步地,在本发明的一个实施例中,所述根据历史发布成功率计算每个所述独立发布单元的发布风险,包括:获取设备风险指标和用户经济风险指标,并根据所述设备风险指标和用户经济风险指标计算独立发布单元的发布风险。
15.进一步地,在本发明的一个实施例中,所述设备风险指标,包括发布包版本、操作系统版本、cpu型号、上联交换机版本和流量大小因素中的多种;所述用户经济风险指标,包括设备实例数量和用户数量因素。
16.本发明的第二个目的在于提出一种云网络大规模变更发布编排装置。
17.为达到上述目的,本发明一方面实施例提出了一种云网络大规模变更发布编排装置,包括:
18.单元获取模块,用于将所有待发布的云网络设备对应设置为无向图上的点集,根据所述无向图上的点集对应的云网络设备之间的互斥关系,获取所述云网络设备的独立发布单元;风险计算模块,用于根据历史发布成功率计算每个独立发布单元的发布风险;单元排列模块,用于基于所述每个独立发布单元的发布风险,对所述每个独立发布单元的发布顺序进行建模,基于所述发布顺序的不同排列对所述发布风险的影响因素,构建目标函数;顺序计算模块,用于对所述目标函数进行计算,得到所有独立发布单元的最优发布顺序。
19.本发明实施例的云网络大规模变更发布编排装置,解决发布规划的风险评估问题,并从中找出风险最小的发布规划,针对云网络中的各类组件需要进行版本变更以提升服务质量的场景。
20.本发明的第三个目的在于提出一计算机设备,包括处理器和存储器;
21.其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现云网络大规模变更发布编排方法。
22.本发明的第四个目的在于提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现云网络大规模变更发布编排方法。
23.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
24.本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
25.图1为根据本发明一个实施例的云网络大规模变更发布编排方法的流程图;
26.图2为根据本发明一个实施例的变更编排示意图;
27.图3为根据本发明一个实施例的云网络大规模变更发布编排装置结构示意图;
28.图4为根据本发明一个实施例的单元获取模块的结构示意图;
29.图5为根据本发明一个实施例的计算机设备。
具体实施方式
30.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
31.下面参照附图描述根据本发明实施例提出的云网络大规模变更发布编排方法、装置、设备和存储介质。
32.图1是本发明一个实施例的云网络大规模变更发布编排方法的流程图。
33.如图1所示,该方法包括以下步骤:
34.步骤s1,将所有待发布的云网络设备对应设置为无向图上的点集,根据无向图上的点集对应的云网络设备之间的互斥关系,获取云网络设备的独立发布单元。
35.具体的,将所有待发布设备描述为无向图上的点集,如果两个设备发布之间存在互斥的关系,则在两个点之间连接一条边,如此便构成了一张图。
36.可以理解的是,本发明实施例将步骤s1中的图看做图着色问题,设置每种颜色的可使用次数,通过dsatur algorithm启发式算法求解可使用的最少颜色数量。即可求解出所有能独立发布的单元和最小发布次数。
37.作为一种示例,将发布约束转换为图着色问题的示例:根据变更设备之间的互斥关系,获取变更独立发布单元的过程如图2所示,一次变更共需变更9台设备,连线表示互斥关系。通过将问题转化为图着色问题,可以获取图中的独立变更单元为:
38.(1)红色:1,3,5,7,9};
39.(2)黄色:{2,6,8};
40.(3)绿色:{4}。
41.步骤s2,根据历史发布成功率计算每个独立发布单元的发布风险。
42.具体的,根据历史发布成功率计算步骤s2中每一个独立发布单元的发布风险。单个独立发布单元的风险:
[0043][0044]
其中,k为固定值,建议取历史样本数,p(u-δ《x《u+δ)取小是百介于高斯分布中的1倍方差内,实际中可根据实际情况调整。其现实意义是单个发布单元发布风险与历史已发布设备相似数量成反比。
[0045]
进一步地,p(x)可以是影响发布成功率的多维指标组合成的多维高斯模型例如:
[0046]
p(x)=p(xa,xb)
[0047]
其中,xa为设备风险指标,xb为用户经济风险指标。xa设备风险指标考虑了多种因素,如发布包版本,操作系统版本,cpu型号,上联交换机版本,流量大小等。xb用户经济风险指标考虑的因素包括设备实例数量、用户数量等。设备风险指标在具体定义时分别考虑了虚拟交换机和负载均衡器两种变更场景,并根据指标因素取值范围划分为离散值和连续值两种指标,它们的指标因素定义如表1所示。用户经济风险指标在具体定义时也分别考虑了
虚拟交换机和负载均衡器两种变更场景,它们的指标因素如表2所示。
[0048]
表1设备风险指标
[0049][0050][0051]
表2用户经济风险指标
[0052][0053]
步骤s3,基于每个独立发布单元的发布风险,对每个独立发布单元的发布顺序进行建模,基于发布顺序的不同排列对所述发布风险的影响因素,构建目标函数。
[0054]
可以理解的是,将步骤s3所获得的每个单元顺序看做一个排列问题,使用最优化模型对其进行建模,目标函数为:
[0055][0056][0057]
[0058][0059]
其中,n为发布单元总个数,即需要多少次完成发布;x表示第i个发布单元是否在第j个发布窗口进行发布,只能取0或1,并且每个发布窗口至多能进行一次发布,每一个发布单元必须进行一次发布;f(x
ij
)表示第i个发布单元在第j个发布窗口进行发布时的风险,其值等于:
[0060][0061]
其中c为常量,建议取本次发布的总设备数,x
ij
(c)表示第i个发布单元在窗口j需要发的设备数量;f(x
ij
)现实意义表示第i个发布单元在窗口j进行发布的风险与第j个窗口之前已发布的设备数量成反比,与第i个发布单元的发布数量成正比。该模型兼顾了每个发布单元的风险,同时也考虑了发布顺序的不同排列对发布风险的影响,将前序发布的累计成功效应叠加到对后续的发布风险影响当中。
[0062]
步骤s4,对目标函数进行计算,得到所有独立发布单元的最优发布顺序。
[0063]
具体的,用启发式算法求解上面的模型,计算出x
ij
的取值,则可以得到最优发布排列顺序。
[0064]
综上,本发明将发布约束转换为图着色问题,使用图着色模型寻找云网络设备发布单元,通过提取历史发布数据中的发布影响因子,评估每个发布单元的发布风险函数,基于累计成功叠加效应并考虑发布设备量建立云网络整体发布风险评估函数,通过最优化方法求解出风险最低的发布规划。
[0065]
通过本发明实施例的云网络大规模变更发布编排方法,在云网络变更场景下,提高变更自动化程度,减少人力开销;更客观地评估变更风险,提高变更成功率;更合理地编排、发布规划,缩短变更所需时间。
[0066]
其次参照附图描述根据本发明实施例提出的云网络大规模变更发布编排装置。
[0067]
图3是本发明一个实施例的云网络大规模变更发布编排装置的结构示意图。
[0068]
如图3所示,该编排装置10包括:单元获取模块100、风险计算模块200、单元排列模块300和顺序计算模块400。
[0069]
单元获取模块100,用于将所有待发布的云网络设备对应设置为无向图上的点集,根据无向图上的点集对应的云网络设备之间的互斥关系,获取云网络设备的独立发布单元;
[0070]
风险计算模块200,用于根据历史发布成功率计算每个独立发布单元的发布风险;
[0071]
单元排列模块300,用于基于每个独立发布单元的发布风险,对每个独立发布单元的发布顺序进行建模,基于发布顺序的不同排列对发布风险的影响因素,构建目标函数;
[0072]
顺序计算模块400,用于对目标函数进行计算,得到所有独立发布单元的最优发布顺序。
[0073]
进一步地,如图4所示,单元获取模块100,包括:
[0074]
点集着色模块101,用于使用图着色模型,设置着色无向图上的点集的每种颜色的可使用次数;
[0075]
颜色计算模块102,用于基于可使用次数,求解得到点集可使用的最少颜色数量;
[0076]
单元计算模块103,用于基于最少颜色数量,求解得到所有独立发布单元和最小发
布次数。
[0077]
进一步地,上述风险计算模块200,还用于:获取设备风险指标和用户经济风险指标,并根据设备风险指标和用户经济风险指标计算独立发布单元的发布风险。
[0078]
进一步地,上述风险计算模块200的设备风险指标,包括发布包版本、操作系统版本、cpu型号、上联交换机版本和流量大小因素等;用户经济风险指标,包括设备实例数量和用户数量因素等。
[0079]
根据本发明实施例提出的本发明实施例的云网络大规模变更发布编排装置,在云网络变更场景下,提高变更自动化程度,减少人力开销;更客观地评估变更风险,提高变更成功率;更合理地编排、发布规划,缩短变更所需时间。
[0080]
为了实现上述实施例的方法,本发明还提供了一种计算机设备,如图5所示,该计算机设备600包括存储器601、处理器602;其中,所述处理器602通过读取所述存储器601中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现上文所述方法的各个步骤。
[0081]
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如前述实施例所述的云网络大规模变更发布编排方法。
[0082]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0083]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0084]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:1.一种云网络大规模变更发布编排方法,其特征在于,包括以下步骤:将所有待发布的云网络设备对应设置为无向图上的点集,根据所述无向图上的点集对应的云网络设备之间的互斥关系,获取所述云网络设备的独立发布单元;根据历史发布成功率计算每个独立发布单元的发布风险;基于所述每个独立发布单元的发布风险,对所述每个独立发布单元的发布顺序进行建模,基于所述发布顺序的不同排列对所述发布风险的影响因素,构建目标函数;对所述目标函数进行计算,得到所有独立发布单元的最优发布顺序。2.根据权利要求1所述的方法,其特征在于,所述根据所述无向图上的点集对应的云网络设备之间的互斥关系,获取所述云网络设备的独立发布单元,包括:使用图着色模型,设置着色所述无向图上的点集的每种颜色的可使用次数;基于所述可使用次数,求解得到所述点集可使用的最少颜色数量;基于所述最少颜色数量,求解得到所述所有独立发布单元和最小发布次数。3.根据权利要求1所述的方法,其特征在于,所述根据历史发布成功率计算每个所述独立发布单元的发布风险,包括:获取设备风险指标和用户经济风险指标,并根据所述设备风险指标和用户经济风险指标计算独立发布单元的发布风险。4.根据权利要求3所述的方法,其特征在于,所述设备风险指标,包括发布包版本、操作系统版本、cpu型号、上联交换机版本和流量大小因素中的多种;所述用户经济风险指标,包括设备实例数量和用户数量因素。5.一种云网络大规模变更发布编排装置,其特征在于,包括:单元获取模块,用于将所有待发布的云网络设备对应设置为无向图上的点集,根据所述无向图上的点集对应的云网络设备之间的互斥关系,获取所述云网络设备的独立发布单元;风险计算模块,用于根据历史发布成功率计算每个独立发布单元的发布风险;单元排列模块,用于基于所述每个独立发布单元的发布风险,对所述每个独立发布单元的发布顺序进行建模,基于所述发布顺序的不同排列对所述发布风险的影响因素,构建目标函数;顺序计算模块,用于对所述目标函数进行计算,得到所有独立发布单元的最优发布顺序。6.根据权利要求5所述的装置,其特征在于,所述单元获取模块,包括:点集着色模块,用于使用图着色模型,设置着色所述无向图上的点集的每种颜色的可使用次数;颜色计算模块,用于基于所述可使用次数,求解得到所述点集可使用的最少颜色数量;单元计算模块,用于基于所述最少颜色数量,求解得到所述所有独立发布单元和最小发布次数。7.根据权利要求5所述的装置,其特征在于,所述风险计算模块,还用于:获取设备风险指标和用户经济风险指标,并根据所述设备风险指标和用户经济风险指标计算独立发布单元的发布风险。8.根据权利要求7所述的装置,其特征在于,所述风险计算模块的设备风险指标,包括
发布包版本、操作系统版本、cpu型号、上联交换机版本和流量大小因素中的多种;所述用户经济风险指标,包括设备实例数量和用户数量因素。9.一种计算机设备,其特征在于,包括处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-4中任一项所述的云网络大规模变更发布编排方法。10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的云网络大规模变更发布编排方法。
技术总结本发明提出云网络大规模变更发布编排方法、装置、设备和存储介质,其中,方法包括:将所有待发布的云网络设备对应设置为无向图上的点集,根据无向图上的点集对应的云网络设备之间的互斥关系,获取云网络设备的独立发布单元;根据历史发布成功率计算每个独立发布单元的发布风险;基于每个独立发布单元的发布风险,对每个独立发布单元的发布顺序进行建模,基于发布顺序的不同排列对发布风险的影响因素,构建目标函数;对目标函数进行计算,得到所有独立发布单元的最优发布顺序。本发明解决发布规划的风险评估问题,并从中找出风险最小的发布规划,针对云网络中的各类组件需要进行版本变更以提升服务质量的场景。本变更以提升服务质量的场景。本变更以提升服务质量的场景。
技术研发人员:杨家海 祝顺民 张世泽 贺鑫 董恩焕 王之梁 吕彪 党浩
受保护的技术使用者:阿里云计算有限公司
技术研发日:2022.05.13
技术公布日:2022/11/1