一种灰度部署方法、装置、电子设备和存储介质与流程

文档序号:32492865发布日期:2022-12-10 03:35阅读:29来源:国知局
一种灰度部署方法、装置、电子设备和存储介质与流程

1.本技术涉及灰度部署领域,尤其涉及一种灰度部署方法、装置、电子设备和存储介质。


背景技术:

2.应用系统进行新功能开发后,需要完成上线部署,线上用户才能使用。虽然应用功能经过测试人员多轮测试和检验,但是因为没有经过真实用户使用,可能有潜在问题和缺陷无法暴露,所以在应用系统全部部署到线上给用户使用前,需要经过灰度部署过程,观察小部分用户的使用情况,决定是否全部部署线上。
3.现有灰度部署方法依靠简单监控指标,以及人工运维经验,观察灰度服务代码运行状态,判断灰度部署是否通过。
4.过多的人工经验参与,会导致隐含缺陷无法及时发现,灰度部署验证不够充分,灰度服务质量分析效果差。


技术实现要素:

5.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种灰度部署方法、装置、电子设备和存储介质。
6.第一方面,本技术提供了一种灰度部署方法,所述方法包括:
7.采集生产集群和灰度集群中至少一个维度的指标数据;
8.针对每个维度,通过对所述指标数据的分析,得到生产特征数据和灰度特征数据;
9.确定所述生产特征数据和所述灰度特征数据之间的相似度;
10.在每个维度的相似度均小于维度对应的相似度阈值的情况下,将所述灰度集群部署至所述生产集群中。
11.可选地,采集生产集群和灰度集群中至少一个维度的指标数据包括:
12.确定状态评估时间区间;
13.确定所述状态评估时间区间中的预设时段,其中,每个预设时段的起始时刻和最终时刻是相同的;
14.针对每个预设时段,采集生产集群和灰度集群中每个维度的指标数据。
15.可选地,针对每个维度,通过对所述指标数据的分析,得到生产特征数据和灰度特征数据包括:
16.针对每个维度,确定所述状态评估时间区间内指标数据的指数平均值;
17.对所述生产集群的指标平均值进行处理,生成生产特征值序列;
18.对所述灰度集群的指标平均值进行处理,生成灰度特征值序列。
19.可选地,采集生产集群和灰度集群中至少一个维度的指标数据包括:
20.确定状态评估时间单元,其中,所述状态评估时间单元为具有标志性意义的时段;
21.确定所述时间单元中的多类设定时段,其中,每类设定时段的起始时刻和最终时
刻不互相重叠;
22.针对每类设定时段,采集生产集群和灰度集群中每个维度的指标数据。
23.可选地,针对每个维度,通过对所述指标数据的分析,得到生产特征数据和灰度特征数据包括:
24.针对每个维度,确定所述状态评估时间单元内指标数据的指数平均值;
25.对所述生产集群的指标平均值进行处理,生成生产特征值序列;
26.对所述灰度集群的指标平均值进行处理,生成灰度特征值序列。
27.可选地,确定所述生产特征数据和所述灰度特征数据之间的相似度包括:
28.确定所述生产特征值序列和所述灰度特征值序列之间的余弦相似度。
29.可选地,至少一个维度的指标数据包括:崩溃率、异常日志、成功率、耗时和失败分布,其中,成功率为服务器接口请求成功的占比,所述失败分布为异常事件的异常占比。
30.第二方面,提供了一种灰度部署装置,所述装置包括:
31.采集模块,用于采集生产集群和灰度集群中至少一个维度的指标数据;
32.分析模块,用于针对每个维度,通过对所述指标数据的分析,得到生产特征数据和灰度特征数据;
33.确定模块,用于确定所述生产特征数据和所述灰度特征数据之间的相似度;
34.部署模块,用于在每个维度的相似度均小于维度对应的相似度阈值的情况下,将所述灰度集群部署至所述生产集群中。
35.第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
36.存储器,用于存放计算机程序;
37.处理器,用于执行存储器上所存放的程序时,实现任一所述的灰度部署方法步骤。
38.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的灰度部署方法步骤。
39.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
40.本技术实施例提供的该方法,服务器针对生产集群和灰度集群相同维度的指标数据进行分析和相似度计算,在每个维度的相似度均小于维度对应的相似度阈值时,表明生产集群和灰度集群之间的数据差异较小,灰度集群也可以像生产集群一样正常运行。
41.本技术无需人工依靠经验确定灰度部署的服务质量,能够从多维度进行数据分析,规范并量化灰度服务质量评估,提高灰度部署的服务质量,相对于人工也节省运维人力,提高了灰度部署效率。
附图说明
42.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1为本技术实施例提供的一种灰度部署方法的流程图;
45.图2为本技术实施例提供的一种灰度部署流程图;
46.图3为本技术实施例提供的一种灰度部署装置的结构示意图;
47.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本技术的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
50.本技术实施例提供了一种灰度部署方法,可以应用服务器,用于提高灰度部署的质量。
51.下面将结合具体实施方式,对本技术实施例提供的一种灰度部署方法进行详细的说明,如图1所示,具体步骤如下:
52.步骤101:采集生产集群和灰度集群中至少一个维度的指标数据。
53.在本技术实施例中,生产集群运行的是已经给用户提供服务的代码,灰度集群运行的是将要提供用户使用的新代码,生产集群和灰度集群的指标数据的维度是相同的。
54.指标数据的维度包括:崩溃率、异常日志、成功率、耗时和失败分布,其中,崩溃率:指客户端app异常退出,此时客户端会给服务器端发送通知,一定时长内异常退出和正常启动之前的比例。
55.成功率:指服务器端接口成功率,由服务器端监控程序统计一定时长内请求成功所占总请求的比例。
56.耗时:请求服务器接口到接口正常返回数据的时间,单位:毫秒。
57.失败分布:对异常日志中主要异常的分析,比如:http超时异常,空指针异常,用户任务列表为空等重点监控的异常占比。
58.步骤102:针对每个维度,通过对指标数据的分析,得到生产特征数据和灰度特征数据。
59.针对每个维度的指标数据,服务器通过对生产集群中指标数据的分析,得到生产特征数据;服务器通过对灰度集群中指标数据的分析,得到灰度特征数据。
60.步骤103:确定生产特征数据和灰度特征数据之间的相似度。
61.针对每个维度,服务器确定生产特征数据和灰度特征数据之间的相似度。其中,相似度计算方式可以采用皮尔逊相关系数,也可以采用余弦相似度,本技术对相似度的具体计算方式不做具体限定。
62.步骤104:在每个维度的相似度均小于维度对应的相似度阈值的情况下,将灰度集群部署至生产集群中。
63.每个维度具有对应的相似度阈值,若该维度下特征数据之间的相似度小于其对应的相似度阈值,且每个维度的相似度都满足小于相似度阈值,表示针对生产集群和灰度集
群之间的数据差异较小,由于生产集群是正常运行的,那么灰度集群也可以正常运行,此时灰度服务质量已达到全量部署标准,可以将灰度集群部署至生产集群中。
64.在本技术中,服务器针对生产集群和灰度集群相同维度的指标数据进行分析和相似度计算,在每个维度的相似度均小于维度对应的相似度阈值时,表明生产集群和灰度集群之间的数据差异较小,灰度集群也可以像生产集群一样正常运行。
65.本技术无需人工依靠经验确定灰度部署的服务质量,能够从多维度进行数据分析,规范并量化灰度服务质量评估,提高灰度部署的服务质量,相对于人工也节省运维人力,提高了灰度部署效率。
66.作为一种可选的实施方式,采集生产集群和灰度集群中至少一个维度的指标数据包括两种实施例:
67.在一种实施例中,确定状态评估时间区间;确定状态评估时间区间中的预设时段,其中,每个预设时段的起始时刻和最终时刻是相同的;针对每个预设时段,采集生产集群和灰度集群中每个维度的指标数据。
68.服务器确定状态评估时间区间,状态评估时间区间包括多个预设时段,每个预设时段的起始时刻和最终时刻是相同的,服务器针对每个预设时段,采集生产集群和灰度集群中每个维度的指标数据。
69.在该实施例中,针对每个维度,通过对指标数据的分析,得到生产特征数据和灰度特征数据包括:针对每个维度,确定状态评估时间区间内指标数据的指数平均值;对生产集群的指标平均值进行处理,生成生产特征值序列;对灰度集群的指标平均值进行处理,生成灰度特征值序列。
70.服务器针对每个维度执行如下操作:服务器确定状态评估时间区间内,多个预设时段的指标数据的指数平均值,然后对生产集群的指标平均值进行处理,生成生产特征值序列;对灰度集群的指标平均值进行处理,生成灰度特征值序列。其中,对指标平均值进行处理,可以是标准化处理或归一处理。
71.示例性的,服务器拉取最近7天18:00

21:00的指标记录,针对崩溃率,确定生产集群在最近7天18:00

21:00的指数平均值,然后生成生产特征值序列;确定灰度集群在最近7天18:00

21:00的指数平均值,生成灰度特征值序列。服务器根据生产集群针对崩溃率的生产特征值序列,和灰度集群针对崩溃率的灰度特征值序列,进行相似度计算。
72.不同时间区间内,访问服务压力和用户特征都可能不同,例如晚高峰服务访问压力可能是平常服务压力的1-2倍;另外不同的时间区间,有特定的任务系统,例如早上做用户签到任务的用户比较集中,所以有必要对不同时间区间范围的服务状态做分析和评估,以对比评估相同时间范围内灰度集群的服务状态。
73.在另一种实施例中,确定状态评估时间单元,其中,状态评估时间单元为具有标志性意义的时段;确定时间单元中的多类设定时段,其中,每类设定时段的起始时刻和最终时刻不互相重叠;针对每类设定时段,采集生产集群和灰度集群中每个维度的指标数据。
74.服务器确定状态评估时间单元,状态评估时间单元为具有标志性意义的时段,如除夕、情人节、中秋等。时间单元中包括多类设定时段,每类设定时段的起始时刻和最终时刻不互相重叠,如同一天中的7:00

9:00、11:00

1:00、18:00

22:00。服务器针对每类设定时段,采集生产集群和灰度集群中每个维度的指标数据。
75.在该实施例中,针对每个维度,通过对指标数据的分析,得到生产特征数据和灰度特征数据包括:针对每个维度,确定状态评估时间单元内指标数据的指数平均值;对生产集群的指标平均值进行处理,生成生产特征值序列;对灰度集群的指标平均值进行处理,生成灰度特征值序列。
76.服务器针对每个维度执行如下操作:服务器确定状态评估时间单元内指标数据的指数平均值,然后对生产集群的指标平均值进行处理,生成生产特征值序列;对灰度集群的指标平均值进行处理,生成灰度特征值序列。其中,对指标平均值进行处理,可以是标准化处理或归一处理。
77.示例性的,服务器拉取中秋那天7:00

9:00、11:00

1:00、18:00

22:00的指标记录,针对失败分布,确定生产集群在中秋三个时段内的指数平均值,然后生成生产特征值序列;确定灰度集群在中秋三个时段内的指数平均值,生成灰度特征值序列。服务器根据生产集群针对失败分布的生产特征值序列,和灰度集群针对失败分布的灰度特征值序列,进行相似度计算。
78.具有标志性意义的当天,访问服务压力和用户特征和平常日子可能不同,例如中秋当天的非工作时间内,服务访问压力可能是平常服务压力的2-3倍,所以有必要对具有标志性意义的当天的服务状态做分析和评估,以对比评估相同时间范围内灰度集群的服务状态。
79.基于相同的技术构思,本发明实施例还提供了一种灰度部署流程图,如图2所示,服务器收集生产集群中的指标数据,采用指标分析程序进行数据分析,将得到的生产特征数据存入数据库。服务器采用同样的方式采集分析灰度集群中的指标数据,得到灰度特征数据。服务器进行指标对比分析,具体采用相似度计算的方式,若通过(在每个维度的相似度均小于维度对应的相似度阈值),则将灰度集群部署至生产集群中。
80.基于相同的技术构思,本技术实施例还提供了一种灰度部署装置,如图3所示,该装置包括:
81.采集模块301,用于采集生产集群和灰度集群中至少一个维度的指标数据;
82.分析模块302,用于针对每个维度,通过对指标数据的分析,得到生产特征数据和灰度特征数据;
83.确定模块303,用于确定生产特征数据和灰度特征数据之间的相似度;
84.部署模块304,用于在每个维度的相似度均小于维度对应的相似度阈值的情况下,将灰度集群部署至生产集群中。
85.可选地,采集模块301用于:
86.确定状态评估时间区间;
87.确定状态评估时间区间中的预设时段,其中,每个预设时段的起始时刻和最终时刻是相同的;
88.针对每个预设时段,采集生产集群和灰度集群中每个维度的指标数据。
89.可选地,分析模块302用于:
90.针对每个维度,确定状态评估时间区间内指标数据的指数平均值;
91.对生产集群的指标平均值进行处理,生成生产特征值序列;
92.对灰度集群的指标平均值进行处理,生成灰度特征值序列。
93.可选地,采集模块301用于:
94.确定状态评估时间单元,其中,状态评估时间单元为具有标志性意义的时段;
95.确定时间单元中的多类设定时段,其中,每类设定时段的起始时刻和最终时刻不互相重叠;
96.针对每类设定时段,采集生产集群和灰度集群中每个维度的指标数据。
97.可选地,分析模块302用于:
98.针对每个维度,确定状态评估时间单元内指标数据的指数平均值;
99.对生产集群的指标平均值进行处理,生成生产特征值序列;
100.对灰度集群的指标平均值进行处理,生成灰度特征值序列。
101.可选地,确定模块303用于:
102.确定生产特征值序列和灰度特征值序列之间的余弦相似度。
103.可选地,至少一个维度的指标数据包括:崩溃率、异常日志、成功率、耗时和失败分布,其中,成功率为服务器接口请求成功的占比,失败分布为异常事件的异常占比。
104.基于相同的技术构思,本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
105.存储器403,用于存放计算机程序;
106.处理器401,用于执行存储器403上所存放的程序时,实现上述步骤。
107.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
108.通信接口用于上述电子设备与其他设备之间的通信。
109.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
110.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
111.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
112.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法。
113.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或
部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
114.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
115.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1