1.本发明涉及计算机技术领域,尤其涉及一种版本管理方法、系统、电子设备及介质。
背景技术:2.随着互联网技术的快速发展,获取用户对业务的反馈意见越来越方便。用户的业务需求变化快,为了满足用户的业务需求,需要对业务版本进行变更。在传统互联网中,大多数场景下的业务版本管理都是依赖于管理员的手工操作,缺乏对业务版本统一、有效地管理,导致一个产品的多个微服务之间版本不统一,从而提高了业务版本管理的复杂性和易错性。此外,对于不同版本的变更也没有进行有效地记录,使得版本的溯源和回滚也需要依靠人工操作才能完成,从而造成大量人力、物力的浪费。
技术实现要素:3.本发明提供一种版本管理方法、系统、电子设备及介质,以解决现有技术中版本管理方式不合理的问题。
4.本发明提供的版本管理方法,包括:
5.获取系统需求数据,并根据所述系统需求数据部署版本资源集,所述版本资源集包括若干个应用的目标版本;
6.根据所述版本资源集生成期望版本,并实时监控所述期望版本;
7.将所述期望版本与所述目标版本进行比对,得到资源比对结果;
8.根据所述资源比对结果更新所述期望版本,以使在同一个应用下所述目标版本与更新后的期望版本一致;
9.根据所述更新后的期望版本部署运行版本。
10.可选地,所述根据所述更新后的期望版本部署运行版本之后还包括:
11.实时监控所述运行版本,并将所述运行版本与所述更新后的期望版本进行比对,得到版本比对结果;
12.根据所述版本比对结果更新所述运行版本,以使更新后的运行版本与所述更新后的期望版本一致。
13.可选地,所述根据所述系统需求数据部署版本资源集包括:
14.根据所述系统需求确定所述若干个应用以及应用的目标版本数据;
15.获取所述应用的helm chart模板,并根据所述目标版本数据和所述helm chart模板部署所述版本资源集。
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.图1是本发明实施例中版本管理方法的流程示意图;
44.图2是本发明实施例中版本资源集的部署方法的流程示意图;
45.图3是本发明实施例中版本管理系统的结构示意图;
46.图4是本发明实施例中电子设备的结构示意图。
具体实施方式
47.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
48.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
49.为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
50.图1是本发明在一实施例中提供的版本管理方法的流程示意图。
51.如图1所示,版本管理方法,包括步骤s110-s140:
52.s110,获取系统需求数据,并根据系统需求数据部署版本资源集,版本资源集包括若干个应用的目标版本;
53.s120,根据版本资源集生成期望版本,并实时监控期望版本;
54.s130,将期望版本与目标版本进行比对,得到资源比对结果;
55.s140,根据资源比对结果更新期望版本,以使在同一应用下目标版本与更新后的期望版本一致;
56.s150,根据更新后的期望版本部署运行版本。
57.在本实施例的步骤s110中,系统需求数据包括但不限于实现系统功能需要的应用
以及每个应用的版本号,若同一应用的多个版本均能实现系统功能,则在根据系统需求需求数据部署版本资源集时,选取这个应用的其中一个版本来进行版本资源集部署,具体地,可以选择这个应用的最新版本来进行版本资源集部署,也可以选择这个应用的最优版本来进行版本资源集部署,版本资源集包括若干个应用的目标版本。
58.在一实施例中,根据系统需求数据部署版本资源集的具体实现方法请参见图2,图2是本发明在一实施例中版本资源集的部署方法的流程示意图。
59.如图2所示,版本资源集的部署方法可以包括以下步骤s210-s220:
60.s210,根据系统需求确定所述若干个应用以及应用的目标版本数据;
61.s220,获取应用的helm chart模板,并根据目标版本数据和helm chart模板部署版本资源集。
62.在一实施例中,根据系统需求数据所确定的应用为实现系统功能所需要的应用,应用的目标版本数据包括应用的目标版本号,一个应用只有一个相对应的目标版本号,因此根据目标版本数据和helm chart模板所部署的版本资源集中每一个应用只有一个版本即目标版本。
63.在一实施例中,helm是一个命令行下的客户端工具,helm为kubernetes的包管理器,每个包称为一个chart。其中,kubernetes是一个开源的、用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效。helm主要用于kubernetes应用程序chart的创建、打包、发布以及创建和管理本地和远程的chart仓库。chart仓库中一个应用对应一个helm chart模板,因此可以通过获取应用的helm chart模板,再根据目标版本数据和helm chart模板部署版本资源集。通过系统需求数据部署版本资源集,版本资源集包括多个应用以及每个应用相对应的版本,从而实现了版本资源的统一管理,达到了降低了业务版本管理的复杂性和易错性的目的。
64.在本实施例的步骤s120中,根据版本资源集生成期望版本的具体实现方法包括:接收期望版本的生成请求,并根据生成请求生成期望版本和期望版本的chart。具体地,tiller是helm的服务端,部署在kubernetes集群中,tiller用于接收helm的请求,helm的请求包括期望版本的生成请求,chart为kubernetes中期望版本的部署文件(在helm中期望版本称为release)。可以基于kuerbuilder框架开发的operator对期望版本进行监控。根据版本资源集生成期望版本后,可能由于期望版本被管理人员删除、应用权限等原因导致期望版本与根据版本资源集生成的期望版本不一致,因此需要对期望版本进行监控。
65.在本实施例的步骤s130中,将期望版本与目标版本进行比对,得到资源比对结果的具体实现方法包括:分别获取期望版本与目标版本的同一应用,将期望版本与目标版本的同一应用进行比对;然后获取同一应用下期望版本的版本数据和目标版本的版本数据,并将同一应用下期望版本的版本数据和目标版本的版本数据进行比对,得到资源比对结果。
66.在本实施例的步骤s140中,根据资源比对结果更新期望版本,以使在同一个应用下目标版本与更新后的期望版本一致的具体实现方法包括:若资源比对结果为异常,则更新期望版本,以使在同一个应用下目标版本与更新后的期望版本一致;若资源比对结果为正常,则不对期望版本进行更新。
67.在一实施例中,若期望版本与目标版本一致,则资源比对结果为正常;期望版本与
means聚类算法。获取目标用户的数量,可以根据目标用户的数量设定k值,目标用户的数量越大,对应的k值越大。采用k-means聚类算法对样本用户数据进行分类处理,得到分类结果,分类结果包括不同的簇类,对不同的簇类进行标记得到对应的用户类别。通过对样本用户数据进行分类处理后,得到若干个用户类别,再根据目标用户数据和若干个用户类别确定目标类别数据,并基于此用户类别数据配置灰度发布策略,充分考虑到了目标用户的个体应用使用差异,使得配置的灰度发布策略更符合目标用户的应用使用习惯,进而保证了灰度发布过程中目标用户的使用黏度。
73.在一实施例中,根据目标更新数据和用户类别数据配置灰度发布策略的具体实现方法包括:根据用户类别数据获取目标用户类别的用户量和目标用户类别的数量;获取目标用户类别与目标更新数据的匹配度,并根据目标用户类别的用户量和匹配度确定版本权重;根据目标用户类别的数量和相匹配度确定灰度用户。其中,目标用户类别的数量为目标用户类别的个数,目标用户类别的用户量为每一个用户类别的用户。先确定目标用户类别,再获取目标用户类别与目标更新数据的匹配度,不需要单独获取每个目标用户与目标更新数据的匹配度,便于更快速地配置灰度发布策略,从而提高了数据处理效率。
74.在一实施例中,获取目标用户类别与目标更新数据的匹配度的实现方法包括:获取目标用户类别所对应的应用,得到第三目标应用;获取第三目标应用与目标更新数据的应用相似度,并确定同一用户类别下最大应用相似度的第三目标应用,得到第四目标应用;获取第四目标应用的目标用户行为数据,根据用户行为数据和最大应用相似度生成匹配度。根据用户行为数据和最大应用相似度生成匹配度步骤中得到的是一个目标用户类别与目标更新数据的匹配度,重复获取目标用户类别与目标更新数据的匹配度的实现方法,可以得到不同目标用户类别与目标更新数据的匹配度。目标用户行为数据包括但不限于目标用户对第四目标应用的使用数据,使用数据包括但不限于使用频次、单次使用时间和总使用时间。可以根据第三目标应用的功能数据与目标更新数据的相似度获取应用相似度,具体地,应用相似度包括第三目标应用能够实现的功能与目标更新数据能够实现的功能的相似度。
75.在一实施例中,根据用户行为数据和最大应用相似度生成匹配度的实现方法包括设置用户权重和应用权重,根据用户权重和目标用户行为数据确定第一匹配参数,根据应用权重和最大相似度确定第二匹配参数,根据第一匹配参数和第二匹配参数生成匹配度。具体地,可以根据实际应用设置用户权重和应用权重,也可以根据第一目标应用的期望版本的更新次数以及运行版本的更新次数设置用户权重和应用权重,更新次数越大则用户权重越大,应用权重越小;更新次数越大表明第一目标应用在期望版本、运行版本生成以及运行中出问题的概率越大,相对应地,将此时的用户权重设置得越大、应用权重设置得越大,从而保证了目标用户对第一目标应用的使用黏度。具体地,可以根据用户权重和目标用户行为数据的乘积,得到第一匹配参数;根据应用权重和最大相似度的乘积,得到第二匹配参数;根据第一匹配参数和第二匹配参数之和,得到匹配度。
76.在一实施例中,根据用户权重和目标用户行为数据确定第一匹配参数可以根据目标用户行为数据中的频次数据、时间数据以及用户权重共同确定第一匹配参数,也可以根据频次数据和用户权重共同确定第一匹配参数,还可以根据时间数据和用户权重共同确定第一匹配参数,根据频次数据、时间数据和用户权重共同确定第一匹配参数包括获取同一
目标用户类别下目标用户使用第四目标应用的频次之和,得到若干个目标用户类别所对应的第一目标频次;获取同一目标用户类别下目标用户使用第四目标应用的时间之和,得到若干个目标用户类别所对应的第一目标时间;获取目标用户使用所有第四目标应用的频次之和,得到第二目标频次;获取目标用户使用所有第四目标应用的时间之和,得到第二目标时间;第一目标频次与第二频次的比值,得到频次比值;第一目标时间与第二时间的比值,得到时间比值;频次比值与时间比值之和,得到目标比值;目标比值和用户权重的乘积,得到第一匹配参数。
77.在一实施例中,根据目标用户类别的用户量和匹配度确定版本权重包括获取最大匹配度和最大匹配度下目标用户类别的用户量;根据最大匹配度的数值和最大匹配度下目标用户类别的用户量确定版本权重;最大匹配度的数值越大,则在灰度发布过程中第一目标应用更新后的版本的权重越大,最大匹配度下目标用户类别的用户量越大,则在灰度发布过程中第一目标应用更新后的版本的权重越大。通过匹配度和用户量确定版本权重,从而实现了合理地匹配灰度发布策略。
78.在一实施例中,根据目标用户类别的数量和相匹配度确定灰度用户,若目标用户类别的数量小于第一预设数量,则调整聚类参数,并采用调整后的聚类参数对样本用户数据进行再次分类处理,得到分类结果,并重复步骤根据目标用户数据和分类结果得到用户类别数据以及步骤根据目标更新数据和用户类别数据配置灰度发布策略。若目标用户类别的数量大于或等于第一预设数量,则获取最大匹配度,并确定最大匹配度下的目标用户为灰度用户。第一预设数量可以根据实际情况进行设定,例如,第一预设数量为3、4、5等。获取灰度用户量与总目标用户量的比值,若比值大于第一预设比值,则调整聚类参数,例如增大k-means聚类算法中的k值,并根据调整后的聚类参数配置灰度发布策略。若比值小于第二预设比值,则调整聚类参数,例如减小k-means聚类算法中的k值,并根据调整后的聚类参数配置灰度发布策略。第一预设比值大于第二预设比值。通过调整聚类参数,并根据调整后的聚类参数配置灰度发布策略,从而得到合理的灰度用户,避免了灰度用户量过大或者过小的问题。
79.在一实施例中,可以通过配置ingress实现应用的灰度发布。ingress是一种向kubernetes集群外部的客户端访问接入点,承载着集群内服务访问的所有流量。ingress是kubernetes中的一个资源对象,用来管理集群外部访问集群内部服务的方式。nginx-ingress-controller是基于nginx作为反向代理和负载均衡器的kubernetes ingress控制器,根据编写的ingress规则动态的去更改nginx服务的配置文件。通过配置ingress规则可以实现基于request header的流量切分、基于服务权重的流量切分和基于cookie的流量切分。
80.在一实施例中,根据更新后的期望版本部署运行版本之后还包括接收第二目标应用的版本回滚请求,并根据版本回滚请求确定待回滚版本和目标回滚版本;根据目标回滚版本获取目标版本资源;采用目标版本资源替换待回滚版本,完成版本回滚过程。采用目标版本资源替换待回滚版本包括将目标版本资源发送给kubernetes替换待回滚版本。其中,第二目标应用为需要回滚的应用,通过采用上述回滚方法,使得版本的溯源和回滚也需要不需要依靠人工操作才能完成,从而降低了大量人力、物力的浪费。
81.本施例提供了一种版本管理方法,该方法首先获取系统需求数据,并通过系统需
求数据部署版本资源集,版本资源集包括多个应用以及每个应用相对应的版本,从而实现了版本资源的统一管理;再根据系统数据部署版本资源集并根据版本资源集生成期望版本,进一步实现了对系统中多个应用版本的统一管理;然后实时监控期望版本,将期望版本与目标版本进行比对,得到资源比对结果,根据资源比对结果更新期望版本,以使在同一个应用下目标版本与更新后的期望版本一致;通过将期望版本与需求资源进行比对,并根据比对结果对期望版本进行更新避免了由权限等问题所导致的期望版本生成有误以及生成的期望版本被人员删除等问题,确保了在同一个应用下目标版本与期望版本一致;最后根据更新后的运行版本部署运行版本,也确保了在同一个应用下目标版本与运行版本的一致性,使得运行版本能够实现系统的需求功能。
82.基于与版本管理方法相同的发明构思,相应的,本实施例还提供了一种版本管理系统。在本实施例中,该版本管理系统执行上述任一实施例的版本管理方法,具体功能和技术效果参照上述实施例即可,此处不再赘述。
83.图3为本发明提供的版本管理系统的结构示意图。
84.如图3所示,所示版本管理系统包括:31版本集部署模块、32期望版本模块、33资源比对模块、34版本更新以及35运行版本模块。
85.其中,版本集部署模块,用于获取系统需求数据,并根据系统需求数据部署版本资源集,版本资源集包括若干个应用的目标版本;
86.期望版本模块,用于根据版本资源集生成期望版本,并实时监控期望版本;
87.资源比对模块,用于将期望版本与目标版本进行比对,得到资源比对结果;
88.版本更新模块,用于根据资源比对结果更新期望版本,以使在同一个应用下目标版本与更新后的期望版本一致;
89.运行版本模块,用于根据更新后的期望版本部署运行版本,版本集部署模块、期望版本模块、资源比对模块、版本更新模块和运行版本模块相连接。
90.在一些示例性实施例中,版本更新模块包括:
91.版本比对单元,用于实时监控运行版本,并将运行版本与更新后的期望版本进行比对,得到版本比对结果;
92.运行版本更新单元,用于根据版本比对结果更新运行版本,以使更新后的运行版本与更新后的期望版本一致。
93.在一些示例性实施例中,版本集部署模块包括:
94.版本数据确定单元,用于根据系统需求确定若干个应用以及应用的目标版本数据;
95.版本集部署单元,用于获取应用的helm chart模板,并根据目标版本数据和helm chart模板部署版本资源集。
96.在一些示例性实施例中,上述版本管理系统还包括:
97.更新数据确定模块,用于接收第一目标应用的版本更新请求数据,并根据版本更新请求数据确定目标更新数据;
98.发布策略配置模块,用于获取目标用户数据,并根据目标用户数据和目标更新数据配置灰度发布策略;
99.灰度发布模块,用于根据灰度发布策略对第一目标应用进行灰度发布。
100.在一些示例性实施例中,发布策略配置模块包括:
101.分类单元,用于获取样本用户数据,并采用聚类算法对样本用户数据进行分类处理,得到分类结果,分类结果包括若干个用户类别;
102.类别数据单元,用于根据目标用户数据和分类结果得到用户类别数据;
103.发布策略配置单元,用于根据目标更新数据和用户类别数据配置灰度发布策略。
104.在一些示例性实施例中,发布策略配置单元还包括:
105.发布策略配置子单元,用于根据用户类别数据获取目标用户类别的用户量和目标用户类别的数量;
106.获取目标用户类别与目标更新数据的匹配度,并根据目标用户类别的用户量和匹配度确定版本权重;
107.根据目标用户类别的数量和匹配度确定灰度用户。
108.在一些示例性实施例中,运行版本模块还包括:
109.回滚请求单元,用于接收第二目标应用的版本回滚请求,并根据版本回滚请求确定待回滚版本和目标回滚版本;
110.版本资源单元,用于根据目标回滚版本获取目标版本资源;
111.回滚单元,用于将目标版本资源发送给kubernetes替换待回滚版本,完成版本回滚过程。
112.在一个实施例中,请参见图4,本实施例还提供了一种电子设备400,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序,所述处理器402执行所述计算机程序时实现如上任一项实施例所述方法的步骤。
113.本实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
114.本实施例提供的电子设备,包括处理器、存储器、收发器和通信接口,存储器和通信接口与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,使电子设备执行如上方法的各个步骤。
115.在本实施例中,存储器可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
116.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
117.在上述实施例中,说明书对“本实施例”、“一实施例”、“另一实施例”、“在一些示例性实施例”或“其他实施例”的提及表示结合实施例说明的特定特征、结构或特性包括在至少一些实施例中,但不必是全部实施例。“本实施例”、“一实施例”、“另一实施例”的多次出现不一定全部都指代相同的实施例。
118.在上述实施例中,尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变形对本领域普通技术人员来说将是显而易见的。例如,其他存储结构(例如,动态ram(dram))可以使用所讨论的实施例。本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。
119.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
120.本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
121.本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
122.上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
技术特征:1.一种版本管理方法,其特征在于,包括:获取系统需求数据,并根据所述系统需求数据部署版本资源集,所述版本资源集包括若干个应用的目标版本;根据所述版本资源集生成期望版本,并实时监控所述期望版本;将所述期望版本与所述目标版本进行比对,得到资源比对结果;根据所述资源比对结果更新所述期望版本,以使在同一个应用下所述目标版本与更新后的期望版本一致;根据所述更新后的期望版本部署运行版本。2.根据权利要求1所述的版本管理方法,其特征在于,所述根据所述更新后的期望版本部署运行版本之后还包括:实时监控所述运行版本,并将所述运行版本与所述更新后的期望版本进行比对,得到版本比对结果;根据所述版本比对结果更新所述运行版本,以使更新后的运行版本与所述更新后的期望版本一致。3.根据权利要求1所述的版本管理方法,其特征在于,所述根据所述系统需求数据部署版本资源集包括:根据所述系统需求确定所述若干个应用以及应用的目标版本数据;获取所述应用的helm chart模板,并根据所述目标版本数据和所述helm chart模板部署所述版本资源集。4.根据权利要求1所述的版本管理方法,其特征在于,所述根据所述更新后的期望版本部署运行版本之后还包括:接收第一目标应用的版本更新请求数据,并根据所述版本更新请求数据确定目标更新数据;获取目标用户数据,并根据所述目标用户数据和所述目标更新数据配置灰度发布策略;根据所述灰度发布策略对所述第一目标应用进行灰度发布。5.根据权利要求4所述的版本管理方法,其特征在于,所述根据所述目标用户数据和所述目标更新数据配置灰度发布策略包括:获取样本用户数据,并采用聚类算法对所述样本用户数据进行分类处理,得到分类结果,所述分类结果包括若干个用户类别;根据所述目标用户数据和所述分类结果得到用户类别数据;根据所述目标更新数据和所述用户类别数据配置灰度发布策略。6.根据权利要求5所述的版本管理方法,其特征在于,所述灰度发布策略包括灰度用户和版本权重,所述根据所述目标更新数据和所述用户类别数据配置灰度发布策略包括:根据所述用户类别数据获取目标用户类别的用户量和目标用户类别的数量;获取所述目标用户类别与所述目标更新数据的匹配度,并根据所述目标用户类别的用户量和所述匹配度确定版本权重;根据所述目标用户类别的数量和所述匹配度确定灰度用户。7.根据权利要求1所述的版本管理方法,其特征在于,所述根据所述更新后的期望版本
部署运行版本之后还包括:接收第二目标应用的版本回滚请求,并根据所述版本回滚请求确定待回滚版本和目标回滚版本;根据所述目标回滚版本获取目标版本资源;采用所述目标版本资源替换所述待回滚版本,完成版本回滚过程。8.一种版本管理系统,其特征在于,包括:版本集部署模块,用于获取系统需求数据,并根据所述系统需求数据部署版本资源集,所述版本资源集包括若干个应用的目标版本;期望版本模块,用于根据所述版本资源集生成期望版本,并实时监控所述期望版本;资源比对模块,用于将所述期望版本与所述目标版本进行比对,得到资源比对结果;版本更新模块,用于根据所述资源比对结果更新所述期望版本,以使在同一个应用下所述目标版本与更新后的期望版本一致;运行版本模块,用于根据所述更新后的期望版本部署运行版本,所述版本集部署模块、所述期望版本模块、所述资源比对模块、所述版本更新模块和所述运行版本模块相连接。9.一种电子设备,其特征在于,包括处理器、存储器和通信总线;所述通信总线用于将所述处理器和存储器连接;所述处理器用于执行所述存储器中存储的计算机程序,以实现如权利要求1-7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序用于使所述计算机执行如权利要求1-7中任一项所述的方法。
技术总结本发明适用于计算机技术领域,提供了一种版本管理方法、系统、电子设备及介质,该方法包括:获取系统需求数据,并根据系统需求数据部署版本资源集,版本资源集包括若干个应用的目标版本;根据版本资源集生成期望版本,并实时监控期望版本;将期望版本与目标版本进行比对,得到资源比对结果;根据资源比对结果更新期望版本,以使在同一个应用下目标版本与更新后的期望版本一致;根据更新后的期望版本部署运行版本;通过采用该方法解决了现有技术中版本管理方式不合理的问题。本管理方式不合理的问题。本管理方式不合理的问题。
技术研发人员:王晓虎 薛治华
受保护的技术使用者:浙江吉利控股集团有限公司
技术研发日:2022.04.19
技术公布日:2022/7/5