本公开涉及计算机,尤其涉及一种应用程序更新方法及相关设备。
背景技术:
1、目前,应用程序的版本更新环节(简称为发版)不仅通常耗时较长,需要较多的人工操作,而且在发版出现问题时会对线上服务的稳定性带来极大的隐患。因此,目前亟需一种应用程序更新方法,可以实现应用程序高效以及稳定的自动化更新。
技术实现思路
1、有鉴于此,本公开的实施例提供一种应用程序更新方法及相关设备,可以实现应用程序高效以及稳定的自动化更新。
2、本公开实施例所述的应用程序更新方法可以包括:接收至少一个应用程序更新请求;其中,所述应用程序更新请求包括:至少一项更新内容以及所述至少一项更新内容与其他应用程序内容之间的耦合关系;基于所述至少一个应用程序更新请求所包含的更新内容与其他应用程序内容之间的耦合关系对所述至少一个应用程序更新请求进行分组,得到至少一个应用程序更新请求分组;针对每个应用程序更新请求分组,基于其所包含的更新内容以及所述更新内容与其他应用程序内容之间的耦合关系分别确定与每个应用程序更新请求分组对应的应用程序更新计划;以及以所述应用程序更新请求分组为单位,分别执行与每个应用程序更新请求分组对应的应用程序更新计划。
3、在本公开的一些实施例中,基于所述至少一个应用程序更新请求所包含的更新内容与其他应用程序内容之间的耦合关系对所述至少一个应用程序更新请求进行分组包括:将所述至少一个应用程序更新请求所包含的更新内容中具有耦合关系的更新内容所属的应用程序更新请求划分至同一个应用程序更新请求分组,以得到所述至少一个应用程序更新请求分组。
4、在本公开的一些实施例中,将所述至少一个应用程序更新请求所包含的更新内容中具有耦合关系的更新内容所属的应用程序更新请求划分至同一个应用程序更新请求分组包括:分别将所述至少一个应用程序更新请求抽象为一个节点;对于所述至少一个节点中的每个第一节点,响应于确定其包含的更新内容与其他第二节点所包含的更新内容之间存在耦合关系时,建立从第二节点到第一节点的边,得到包含至少一个依赖子图的节点依赖关系图;以及基于所述节点依赖关系图,分别将其中包含的至少一个依赖子图所对应的节点分成一组。
5、在本公开的一些实施例中,所述应用程序更新请求进一步包括:与所述至少一项更新内容对应的测试列表以及回滚策略。
6、在本公开的一些实施例中,上述方法可以进一步包括:针对每个应用程序更新请求分组,基于其所包含的更新内容对应的测试列表以及回滚策略分别确定与每个应用程序更新请求分组对应的测试列表以及回滚方案;以及响应于基于所述每个应用程序更新请求分组对应的测试列表确定一个应用程序更新请求分组对应的应用程序更新计划执行结果不符合预期,执行所述应用程序更新请求分组对应的回滚方案。
7、在本公开的一些实施例中,在接收到至少一个应用程序更新请求之后,所述方法进一步包括:接收针对所述至少一个应用程序更新请求的测试结果;对于通过测试的应用程序更新请求,继续执行所述基于所述至少一个应用程序更新请求所包含的更新内容与其他应用程序内容之间的耦合关系对所述至少一个应用程序更新请求进行分组的步骤;以及对于没有通过测试的应用程序更新请求,指示需求提出方在指定的第一期限内重新提交应用程序更新请求。
8、在本公开的一些实施例中,在分别执行与每个应用程序更新请求分组对应的应用程序更新计划执行之前,所述方法进一步包括:接收针对所述至少一个应用程序更新请求分组对应的应用程序更新计划的测试结果;对于通过测试的应用程序更新计划,继续执行以应用程序更新请求分组为单位,分别执行与每个应用程序更新请求分组对应的应用程序更新计划的步骤;以及对于没有通过测试的应用程序更新计划,指示应用程序更新请求分组管理员在指定的第二期限内重新提交应用程序更新计划。
9、在本公开的一些实施例中,以应用程序更新请求分组为单位,分别执行与每个应用程序更新请求分组对应的应用程序更新计划包括:由运维平台以应用程序更新请求分组为单位,并行执行与每个应用程序更新请求分组对应的应用程序更新计划。
10、在本公开的一些实施例中,上述方法可以进一步包括:接收应用程序执行环境信息;其中,基于所述至少一个应用程序更新请求所包含的更新内容与其他应用程序内容之间的耦合关系对所述至少一个应用程序更新请求进行分组包括:基于所述至少一个应用程序更新请求所包含的更新内容与其他应用程序内容之间的耦合关系以及所述应用程序执行环境信息对所述至少一个应用程序更新请求进行分组;以及针对每个应用程序更新请求分组,基于其所包含的更新内容以及所述更新内容与其他应用程序内容之间的耦合关系分别确定与每个应用程序更新请求分组对应的应用程序更新计划包括:针对每个应用程序更新请求分组,基于其所包含的更新内容、所述更新内容与其他应用程序内容之间的耦合关系以及所述应用程序执行环境信息分别确定与每个应用程序更新请求分组对应的应用程序更新计划。
11、对应上述应用程序更新方法,本公开实施例所述的应用程序更新平台可以包括:
12、请求接收模块,用于从项目管理平台接收需求提出方提交的应用程序更新请求;其中,所述应用程序更新请求包括:至少一项更新内容以及所述至少一项更新内容与其他应用程序内容之间的耦合关系;
13、分组模块,用于基于所述至少一个应用程序更新请求所包含的更新内容与其他应用程序内容之间的耦合关系对所述至少一个应用程序更新请求进行分组,得到至少一个应用程序更新请求分组;
14、计划生成模块,用于针对每一个应用程序更新请求分组,根据当前组内各个应用程序更新请求所包含的更新内容以及各项更新内容与其他应用程序内容之间的耦合关系分别确定各个应用程序更新请求分组对应的应用程序更新计划;以及
15、计划提交模块,用于将各个应用程序更新请求分组对应的应用程序更新计划提交至运维平台,由所述运维平台以所述应用程序更新请求分组为单位,分别执行与每个应用程序更新请求分组对应的应用程序更新计划。
16、在本公开的一些实施例中,所述计划生成模块进一步用于针对每一个应用程序更新请求分组,根据当前组内各项更新内容对应的测试列表以及回滚策略分别确定所述应用程序更新请求分组对应的测试列表以及回滚方案;以及所述计划提交模块进一步用于将各个应用程序更新请求分组对应的测试列表以及回滚方案提交至运维平台。
17、对应上述应用程序更新平台,本公开的实施例进一步公开了一种应用程序更新系统,包括:上述的应用程序更新平台、项目管理平台以及运维平台;其中,所述项目管理平台用于接收需求提出方提交的应用程序更新请求,并将接收的应用程序更新请求转发至应用程序更新平台;以及所述运维平台用于以应用程序更新请求分组为单位,分别执行与每个应用程序更新请求分组对应的应用程序更新计划。
18、此外,本公开的实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述应用程序更新方法。
19、本公开的实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述应用程序更新方法。
20、本公开的实施例还提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述应用程序更新方法。
21、本公开实施例所述的应用程序更新方法及相关设备中,应用程序的更新或者应用程序的回滚操作都是以各个应用程序更新请求分组为单位进行的。其中,任一应用程序更新请求分组出现问题并不会影响其他应用程序更新请求分组。
22、此外,在上述应用程序更新方法中,对于应用程序的更新操作最低只需要提交一次申请,应用程序更新平台可以托管后续流程。应用程序更新提出方只需要负责明确自己变更部分的变更内容、耦合关系、测试列表以及回滚策略。应用程序更新平台可以自动确定应用程序更新请求分组,并分别确定每个应用程序更新请求分组的应用程序更新计划、测试列表以及回滚方案,大大降低了人工成本,也大大提高了应用程序的发版效率。
23、而且,在上述应用程序更新过程中,业务管理平台和应用程序更新平台打通,能够覆盖线上所有变更的需求,当状态流转后可自动触发表单填写,并为所有操作生成日志记录。
1.一种应用程序更新方法,包括:
2.根据权利要求1所述的方法,其中,基于所述至少一个应用程序更新请求所包含的更新内容与其他应用程序内容之间的耦合关系对所述至少一个应用程序更新请求进行分组包括:
3.根据权利要求2所述的方法,其中,将所述至少一个应用程序更新请求所包含的更新内容中具有耦合关系的更新内容所属的应用程序更新请求划分至同一个应用程序更新请求分组包括:
4.根据权利要求1所述的方法,其中,所述应用程序更新请求进一步包括:与所述至少一项更新内容对应的测试列表以及回滚策略。
5.根据权利要求4所述的方法,进一步包括:
6.根据权利要求1所述的方法,其中,在接收到至少一个应用程序更新请求之后,所述方法进一步包括:
7.根据权利要求1所述的方法,其中,在分别执行与每个应用程序更新请求分组对应的应用程序更新计划执行之前,所述方法进一步包括:
8.根据权利要求1所述的方法,其中,以应用程序更新请求分组为单位,分别执行与每个应用程序更新请求分组对应的应用程序更新计划包括:由运维平台以应用程序更新请求分组为单位,并行执行与每个应用程序更新请求分组对应的应用程序更新计划。
9.根据权利要求1所述的方法,进一步包括:接收应用程序执行环境信息;其中,
10.一种应用程序更新平台,包括:
11.根据权利要求10所述的装置,其中,
12.一种应用程序更新系统,包括:如权利要求10或11所述的应用程序更新平台、项目管理平台以及运维平台;其中,
13.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-9中任意一项所述的应用程序更新方法。
14.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1-9任意一项所述的应用程序更新方法。
15.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-9中任意一项所述的应用程序更新方法。
