CN115827028A - 系统的升级方法、装置、存储介质以及电子设备 - Google Patents
系统的升级方法、装置、存储介质以及电子设备 Download PDFInfo
- Publication number
- CN115827028A CN115827028A CN202211718746.7A CN202211718746A CN115827028A CN 115827028 A CN115827028 A CN 115827028A CN 202211718746 A CN202211718746 A CN 202211718746A CN 115827028 A CN115827028 A CN 115827028A
- Authority
- CN
- China
- Prior art keywords
- version information
- upgrading
- path
- upgrade
- version
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种系统的升级方法、装置、存储介质以及电子设备。该方法包括:获取系统的当前版本信息和目标版本信息;获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合;分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图;通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。通过本申请,解决了相关技术中按照版本序号进行数据库的版本升级的准确性和效率低的问题。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种系统的升级方法、装置、存储介质以及电子设备。
背景技术
数据库负责数据的存储功能,是很多应用的基础设施,随着数据库需要不断的进行优化,版本迭代也十分频繁,由于数据库用途十分广泛,因此数据库的版本升级与回退都需要非常谨慎的操作。当数据库需要随系统或者重要的系统应用升级或者回退时,如果出现异常,会给生产环境带来数据被破坏的风险,而且升级和回退效率较低。
当前在对数据库进行升级或回退的时候,通常方法为根据版本的序号进行升级或回退,例如,数据库由1.0升级到3.0版本,则按照1.0、2.0、3.0的升级顺序进行升级,但是,在中间版本过多的情况下,按照版本序号进行升级的方法虽然能保证升级顺序的准确性,但是如果某个中间版本出现异常,则会影响整个升级流程导致数据库升级或回退出现异常,同时,在升级流程较为繁琐的情况下,还会影响版本升级的效率,进而影响数据库的使用。
针对相关技术中按照版本序号进行数据库的版本升级的准确性和效率低的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供一种系统的升级方法、装置、存储介质以及电子设备,以解决相关技术中按照版本序号进行数据库的版本升级的准确性和效率低的问题。
根据本申请的一个方面,提供了一种系统的升级方法。该方法包括:获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息;获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合;分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图;通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。
可选地,分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系包括:获取版本集合中的任意两个版本信息,得到第一版本信息和第二版本信息;从系统的历史升级信息中确定第一版本信息与第二版本信息之间是否存在升级关系,其中,升级关系表征升级第一版本信息后得到第二版本信息,或升级第二版本信息后得到第一版本信息;在第一版本信息与第二版本信息之间存在升级关系的情况下,建立第一版本信息与第二版本信息之间的连通关系。
可选地,根据多组连通关系生成版本集合对应的连通图包括:分别将每组连通关系中的版本信息确定为节点,按照升级关系在节点之间添加有向边,得到多组有向图,其中,每组有向图中包括两个节点和一个有向边;将多组有向图中的相同节点进行合并,得到连通图。
可选地,通过连通图确定当前版本信息与目标版本信息之间的最短升级路径包括:在连通图中依次遍历当前版本信息与目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为当前版本信息,终止节点为目标版本信息;确定每个连通路径中包含的节点的数量,得到多个节点数量;将多个节点数量中的最小节点数量对应的连通路径确定为最短升级路径。
可选地,通过连通图确定当前版本信息与目标版本信息之间的最短升级路径包括:在连通图中依次遍历当前版本信息与目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为当前版本信息,终止节点为目标版本信息;获取连通图中的每个有向边的权值,得到多个权值;将每个连通路径中的多个有向边的权值进行求和,得到每个连通路径的权值;获取权值最小的连通路径,得到最短升级路径。
可选地,在按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息之后,该方法还包括:接收控制器发送的系统升级指令,并根据升级指令获取最短升级路径中的每个节点的版本信息,得到多个版本信息;将多个版本信息发送至控制器中,并接收控制器返回的升级程序集合,其中,升级程序集合中包括每个版本信息的升级程序;按照最短升级路径依次运行升级程序集合中的升级程序。
可选地,在按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息之后,该方法还包括:获取系统的升级结果;在升级结果表征系统升级异常的情况下,调整最短升级路径中的每个有向边的权值,并重新执行将每个连通路径中的多个有向边的权值进行求和,得到每个连通路径的权值,获取权值最小的连通路径,得到最短升级路径的步骤。
根据本申请的另一方面,提供了一种系统的升级装置。该装置包括:第一获取单元,用于获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息;第二获取单元,用于获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合;第一确定单元,用于分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图;第二确定单元,用于通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质用于存储程序,其中,程序运行时控制计算机存储介质所在的设备执行一种系统的升级方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包含一个或多个处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种系统的升级方法。
通过本申请,采用以下步骤:获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息;获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合;分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图;通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。解决了相关技术中按照版本序号进行数据库的版本升级的准确性和效率低的问题。通过确定当前版本和目标版本之间的多个版本的连通图,并根据连通图确定从当前版本升级到目标版本的最短升级路径,从而可以通过最短升级路径进行当前版本的升级,进而达到了快速准确的完成系统升级的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的系统的升级方法的流程图;
图2是根据本申请实施例提供的可选的连通图的示意图一;
图3是根据本申请实施例提供的可选的连通图的示意图二;
图4是根据本申请实施例提供的系统的升级装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
根据本申请的实施例,提供了一种系统的升级方法。
图1是根据本申请实施例的系统的升级方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息。
具体的,系统可以为数据库系统,也可以为任意的设备中的应用系统,在对某个系统进行升级的时候,可以从现有的多个升级程序中根据该系统需要升级到的目标版本信息进行升级程序的选择,其中,当前版本信息可以为该系统的初始版本,例如1.0版本,目标版本可以为应用在该系统上的最新版本,例如3.1版本,在1.0和3.1版本之间可能存在多个中间版本。
步骤S102,获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合。
具体的,在确定了当前版本信息和目标版本信息后,需要确定在当前版本信息和目标版本信息之间中间版本信息,例如,当前版本信息为1.0,目标版本信息为3.1,当前版本信息和目标版本信息之间存在的中间版本信息可以包括:2.0、2.1、3.0三个版本,此时,1.0、2.0、2.1、3.0、3.1这五个版本可以组成该系统的版本集合。
步骤S103,分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图。
具体的,由于中间版本可能不是按照版本序号的顺序进行生成的,因此,需要先确定版本集合中的每两个版本信息之间是否存在连通关系,其中,连通关系表示两个版本信息间可进行升级和回退,例如,1.0版本可以升级为2.0版本,则1.0和2.0之间存在连通关系。
进一步的,图2是根据本申请实施例提供的可选的连通图的示意图一,该系统的版本更新流程可以为:1.0、2.0、3.0,之后从3.0升级到3.1的同时,在2.0的基础上升级得到2.1版本,并由2.1版本再升级到3.0版本,此时,该系统的连通图可以如图2所示,可以由1.0、2.0、2.1、3.0、3.1的升级流程将系统从1.0升级到3.1,也可以由1.0、2.0、3.0、3.1的升级流程将系统从1.0升级到3.1。
步骤S104,通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。
具体的,在生成连通图后,可以确定图中存在的多个升级流程,并确定最短升级流程,例如,如图2所示,可以由1.0、2.0、2.1、3.0、3.1的升级流程将系统从1.0升级到3.1,也可以由1.0、2.0、3.0、3.1的升级流程将系统从1.0升级到3.1,此时,在每个升级步骤的权值相同的情况下,第二种升级流程存在4个升级版本,因此第二种流程为最短升级路径,由该路径进行系统的升级即可完成升级,并在2.1版本出现异常的情况下,也不会影响系统升级的结果。
进一步的,在对3.1版本进行升级的时候,还可以仅考虑最短路径上的版本信息对3.1版本进行升级,无需考虑其他版本,从而在新增升级系统时,只需要满足最短升级路径即可,可以节省大量的开发时间和人力资源。
本申请实施例提供的系统的升级方法,通过获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息;获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合;分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图;通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。解决了相关技术中按照版本序号进行数据库的版本升级的准确性和效率低的问题。通过确定当前版本和目标版本之间的多个版本的连通图,并根据连通图确定从当前版本升级到目标版本的最短升级路径,从而可以通过最短升级路径进行当前版本的升级,进而达到了快速准确的完成系统升级的效果。
可选地,在本申请实施例提供的系统的升级方法中,分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系包括:获取版本集合中的任意两个版本信息,得到第一版本信息和第二版本信息;从系统的历史升级信息中确定第一版本信息与第二版本信息之间是否存在升级关系,其中,升级关系表征升级第一版本信息后得到第二版本信息,或升级第二版本信息后得到第一版本信息;在第一版本信息与第二版本信息之间存在升级关系的情况下,建立第一版本信息与第二版本信息之间的连通关系。
具体的,在得到版本集合后,需要确定版本集合中的每两个版本信息之间是否存在升级或回退的关系,并在存在升级关系的情况下,将这两个版本信息进行连接,得到这两个版本信息之间的连通关系,从而确定该系统对应的全部版本信息之的连通关系,进而可以根据连通关系确定该系统的版本集合中的多个版本之间的升级路径。
例如,版本集合中可以包括1.0、2.0、2.1、3.0、3.1这五个版本信息,其中,1.0升级后为2.0,2.0升级后可以得到2.1和3.0,2.1升级后得到3.0,3.0升级后得到3.1,则1.0和2.0之间存在连通关系,2.0分别与2.1和3.0存在连通关系,2.1和3.0之间存在连通关系,3.0和3.1之间存在连通关系。
可选地,在本申请实施例提供的系统的升级方法中,根据多组连通关系生成版本集合对应的连通图包括:分别将每组连通关系中的版本信息确定为节点,按照升级关系在节点之间添加有向边,得到多组有向图,其中,每组有向图中包括两个节点和一个有向边;将多组有向图中的相同节点进行合并,得到连通图。
具体的,图3是根据本申请实施例提供的可选的连通图的示意图二,如图3所示,将每个版本信息转化为节点,得到每个版本信息对应的节点,并根据连通关系将各个节点进行连接,从而得到版本更新的连通图,其中,每个有向边指示的方向为连通关系中的升级方向。
可选地,在本申请实施例提供的系统的升级方法中,通过连通图确定当前版本信息与目标版本信息之间的最短升级路径包括:在连通图中依次遍历当前版本信息与目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为当前版本信息,终止节点为目标版本信息;确定每个连通路径中包含的节点的数量,得到多个节点数量;将多个节点数量中的最小节点数量对应的连通路径确定为最短升级路径。
具体的,在得到联通图后,可以根据连通图中当前版本节点与目标版本节点之间的每条通路的节点的数量确定每条通路的长短,并将包含节点数量最小的通路确定为最短升级路径,从而可以将系统按照最短升级路径由当前版本升级到目标版本。
例如,如图3所示,从节点1.0至节点3.1之间,存在两条通路,其中,一条通路中的节点数量为4个,另一条通路的节点数量为5个,则将节点数量为4个的通路确定为最短升级路径。
可选地,在本申请实施例提供的系统的升级方法中,通过连通图确定当前版本信息与目标版本信息之间的最短升级路径包括:在连通图中依次遍历当前版本信息与目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为当前版本信息,终止节点为目标版本信息;获取连通图中的每个有向边的权值,得到多个权值;将每个连通路径中的多个有向边的权值进行求和,得到每个连通路径的权值;获取权值最小的连通路径,得到最短升级路径。
具体的,上述确定最短路径的方法中,默认每个有向边的权值均相等,但是,由于不同版本升级的复杂度和重要性不同,因此,可以根据升级的复杂程度为每个有向边设置权值,例如,图3中的1号有向边的权值可以为1,2号有向边的权值可以为5,3号有向边的权值可以为2,4号有向边的权值可以为2,5号有向边的权值可以为1,此时,在进行最短升级路径的选择时,虽然1.0、2.0、3.0、3.1的升级路径的节点数量最少,但是在计算有向边的权值后,该升级路径的权值为7,而1.0、2.0、2.1、3.0、3.1的升级路径的权值为6,则将权值小的连通路径确定为最短升级路径。
可选地,在本申请实施例提供的系统的升级方法中,在按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息之后,该方法还包括:接收控制器发送的系统升级指令,并根据升级指令获取最短升级路径中的每个节点的版本信息,得到多个版本信息;将多个版本信息发送至控制器中,并接收控制器返回的升级程序集合,其中,升级程序集合中包括每个版本信息的升级程序;按照最短升级路径依次运行升级程序集合中的升级程序。
具体的,在确定了最短升级路径后,在接收到控制器发送的系统升级指令后,根据最短升级路径确定需要获取的升级程序对应的版本信息,并将版本信息发送到控制器中,从而从控制器中获取对应的升级程序,并将多个升级程序按照最短升级路径中的流程依次运行每个升级程序,从而将当前版本升级到目标版本。
可选地,在本申请实施例提供的系统的升级方法中,在按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息之后,该方法还包括:获取系统的升级结果;在升级结果表征系统升级异常的情况下,调整最短升级路径中的每个有向边的权值,并重新执行将每个连通路径中的多个有向边的权值进行求和,得到每个连通路径的权值,获取权值最小的连通路径,得到最短升级路径的步骤。
具体的,在系统升级后,需要获取系统的升级结果,在升级结果表征结果异常的情况下,需要确定异常发生原因,在异常发生原因为某个中间版本的升级程序出现异常的情况下,需要在连通图中将与该中间版本相关的有向边的权值进行修改,从而重新根据权值确定最短升级路径,进而达到在跳过该异常中间版本的情况下,还可以准确的进行系统升级的效果。
例如,如图3所示,在2.1版本出现异常的情况下,可以将2.1版本所在的最短升级路径中的每个权值进行提高,例如,由原本的1号有向边的权值可以为1,2号有向边的权值可以为5,3号有向边的权值可以为2,4号有向边的权值可以为2,5号有向边的权值可以为1,调整为1号有向边的权值可以为2,2号有向边的权值可以为5,3号有向边的权值可以为4,4号有向边的权值可以为4,5号有向边的权值可以为2,此时,在重新计算权值后,可以发现1.0、2.0、2.1、3.0、3.1的升级路径的权值为12,而1.0、2.0、3.0、3.1的升级路径的权值为9,此时,最短升级路径则由1.0、2.0、2.1、3.0、3.1变更为1.0、2.0、3.0、3.1,从而避免了经过存在异常的2.1版本。这种方法可以在某个版本存在丢失数据的风险,或者存在已知错误却已经发布的情况,规避错误、降低数据丢失的风险。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种系统的升级装置,需要说明的是,本申请实施例的系统的升级装置可以用于执行本申请实施例所提供的用于系统的升级方法。以下对本申请实施例提供的系统的升级装置进行介绍。
图4是根据本申请实施例提供的系统的升级装置的示意图。如图4所示,该装置包括:第一获取单元41,第二获取单元42,第一确定单元43,第二确定单元44。
第一获取单元41,用于获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息。
具体的,系统可以为数据库系统,也可以为任意的设备中的应用系统,在对某个系统进行升级的时候,可以从现有的多个升级程序中根据该系统需要升级到的目标版本信息进行升级程序的选择,其中,当前版本信息可以为该系统的初始版本,例如1.0版本,目标版本可以为应用在该系统上的最新版本,例如3.1版本,在1.0和3.1版本之间可能存在多个中间版本。
第二获取单元42,用于获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合。
具体的,在确定了当前版本信息和目标版本信息后,需要确定在当前版本信息和目标版本信息之间中间版本信息,例如,当前版本信息为1.0,目标版本信息为3.1,当前版本信息和目标版本信息之间存在的中间版本信息可以包括:2.0、2.1、3.0三个版本,此时,1.0、2.0、2.1、3.0、3.1这五个版本可以组成该系统的版本集合。
第一确定单元43,用于分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图。
具体的,由于中间版本可能不是按照版本序号的顺序进行生成的,因此,需要先确定版本集合中的每两个版本信息之间是否存在连通关系,其中,连通关系表示两个版本信息间可进行升级和回退,例如,1.0版本可以升级为2.0版本,则1.0和2.0之间存在连通关系。
进一步的,该系统的版本更新流程可以为:1.0、2.0、3.0,之后从3.0升级到3.1的同时,在2.0的基础上升级得到2.1版本,并由2.1版本再升级到3.0版本,此时,该系统的连通图可以如图2所示,可以由1.0、2.0、2.1、3.0、3.1的升级流程将系统从1.0升级到3.1,也可以由1.0、2.0、3.0、3.1的升级流程将系统从1.0升级到3.1。
第二确定单元44,用于通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。
具体的,在生成连通图后,可以确定图中存在的多个升级流程,并确定最短升级流程,例如,如图2所示,可以由1.0、2.0、2.1、3.0、3.1的升级流程将系统从1.0升级到3.1,也可以由1.0、2.0、3.0、3.1的升级流程将系统从1.0升级到3.1,此时,在每个升级步骤的权值相同的情况下,第二种升级流程存在4个升级版本,因此第二种流程为最短升级路径,由该路径进行系统的升级即可完成升级,并在2.1版本出现异常的情况下,也不会影响系统升级的结果。
本申请实施例提供的系统的升级装置,通过第一获取单元41,用于获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息。第二获取单元42,用于获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合。第一确定单元43,用于分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图。第二确定单元44,用于通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。解决了相关技术中按照版本序号进行数据库的版本升级的准确性和效率低的问题。通过确定当前版本和目标版本之间的多个版本的连通图,并根据连通图确定从当前版本升级到目标版本的最短升级路径,从而可以通过最短升级路径进行当前版本的升级,进而达到了快速准确的完成系统升级的效果。
可选地,在本申请实施例提供的系统的升级装置中,第一确定单元43包括:第一获取模块,用于获取版本集合中的任意两个版本信息,得到第一版本信息和第二版本信息;第一确定模块,用于从系统的历史升级信息中确定第一版本信息与第二版本信息之间是否存在升级关系,其中,升级关系表征升级第一版本信息后得到第二版本信息,或升级第二版本信息后得到第一版本信息;建立模块,用于在第一版本信息与第二版本信息之间存在升级关系的情况下,建立第一版本信息与第二版本信息之间的连通关系。
具体的,在得到版本集合后,需要确定版本集合中的每两个版本信息之间是否存在升级或回退的关系,并在存在升级关系的情况下,将这两个版本信息进行连接,得到这两个版本信息之间的连通关系,从而确定该系统对应的全部版本信息之的连通关系,进而可以根据连通关系确定该系统的版本集合中的多个版本之间的升级路径。
例如,版本集合中可以包括1.0、2.0、2.1、3.0、3.1这五个版本信息,其中,1.0升级后为2.0,2.0升级后可以得到2.1和3.0,2.1升级后得到3.0,3.0升级后得到3.1,则1.0和2.0之间存在连通关系,2.0分别与2.1和3.0存在连通关系,2.1和3.0之间存在连通关系,3.0和3.1之间存在连通关系。
可选地,在本申请实施例提供的系统的升级装置中,第一确定单元43包括:第二确定模块,用于分别将每组连通关系中的版本信息确定为节点,按照升级关系在节点之间添加有向边,得到多组有向图,其中,每组有向图中包括两个节点和一个有向边;合并模块,用于将多组有向图中的相同节点进行合并,得到连通图。
具体的,图3是根据本申请实施例提供的可选的连通图的示意图,如图3所示,将每个版本信息转化为节点,得到每个版本信息对应的节点,并根据连通关系将各个节点进行连接,从而得到版本更新的连通图,其中,每个有向边指示的方向为连通关系中的升级方向。
可选地,在本申请实施例提供的系统的升级装置中,第二确定单元44包括:第一遍历模块,用于在连通图中依次遍历当前版本信息与目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为当前版本信息,终止节点为目标版本信息;第三确定模块,用于确定每个连通路径中包含的节点的数量,得到多个节点数量;第四确定模块,用于将多个节点数量中的最小节点数量对应的连通路径确定为最短升级路径。
具体的,在得到联通图后,可以根据连通图中当前版本节点与目标版本节点之间的每条通路的节点的数量确定每条通路的长短,并将包含节点数量最小的通路确定为最短升级路径,从而可以将系统按照最短升级路径由当前版本升级到目标版本。
例如,如图3所示,从节点1.0至节点3.1之间,存在两条通路,其中,一条通路中的节点数量为4个,另一条通路的节点数量为5个,则将节点数量为4个的通路确定为最短升级路径。
可选地,在本申请实施例提供的系统的升级装置中,第二确定单元44包括:第二遍历模块,用于在连通图中依次遍历当前版本信息与目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为当前版本信息,终止节点为目标版本信息;第二获取模块,用于获取连通图中的每个有向边的权值,得到多个权值;计算模块,用于将每个连通路径中的多个有向边的权值进行求和,得到每个连通路径的权值;第三获取模块,用于获取权值最小的连通路径,得到最短升级路径。
具体的,上述确定最短路径的方法中,默认每个有向边的权值均相等,但是,由于不同版本升级的复杂度和重要性不同,因此,可以根据升级的复杂程度为每个有向边设置权值,例如,图3中的1号有向边的权值可以为1,2号有向边的权值可以为5,3号有向边的权值可以为2,4号有向边的权值可以为2,5号有向边的权值可以为1,此时,在进行最短升级路径的选择时,虽然1.0、2.0、3.0、3.1的升级路径的节点数量最少,但是在计算有向边的权值后,该升级路径的权值为7,而1.0、2.0、2.1、3.0、3.1的升级路径的权值为6,则将权值小的连通路径确定为最短升级路径。
可选地,在本申请实施例提供的系统的升级装置中,该装置还包括:第三获取单元,用于接收控制器发送的系统升级指令,并根据升级指令获取最短升级路径中的每个节点的版本信息,得到多个版本信息;发送单元,用于将多个版本信息发送至控制器中,并接收控制器返回的升级程序集合,其中,升级程序集合中包括每个版本信息的升级程序;运行单元,用于按照最短升级路径依次运行升级程序集合中的升级程序。
具体的,在确定了最短升级路径后,在接收到控制器发送的系统升级指令后,根据最短升级路径确定需要获取的升级程序对应的版本信息,并将版本信息发送到控制器中,从而从控制器中获取对应的升级程序,并将多个升级程序按照最短升级路径中的流程依次运行每个升级程序,从而将当前版本升级到目标版本。
可选地,在本申请实施例提供的系统的升级装置中,该装置还包括:第四获取单元,用于获取系统的升级结果;执行单元,用于在升级结果表征系统升级异常的情况下,调整最短升级路径中的每个有向边的权值,并重新执行将每个连通路径中的多个有向边的权值进行求和,得到每个连通路径的权值,获取权值最小的连通路径,得到最短升级路径的步骤。
具体的,在系统升级后,需要获取系统的升级结果,在升级结果表征结果异常的情况下,需要确定异常发生原因,在异常发生原因为某个中间版本的升级程序出现异常的情况下,需要在连通图中将与该中间版本相关的有向边的权值进行修改,从而重新根据权值确定最短升级路径,进而达到在跳过该异常中间版本的情况下,还可以准确的进行系统升级的效果。
例如,如图3所示,在2.1版本出现异常的情况下,可以将2.1版本所在的最短升级路径中的每个权值进行提高,例如,由原本的1号有向边的权值可以为1,2号有向边的权值可以为5,3号有向边的权值可以为2,4号有向边的权值可以为2,5号有向边的权值可以为1,调整为1号有向边的权值可以为2,2号有向边的权值可以为5,3号有向边的权值可以为4,4号有向边的权值可以为4,5号有向边的权值可以为2,此时,在重新计算权值后,可以发现1.0、2.0、2.1、3.0、3.1的升级路径的权值为12,而1.0、2.0、3.0、3.1的升级路径的权值为9,此时,最短升级路径则由1.0、2.0、2.1、3.0、3.1变更为1.0、2.0、3.0、3.1,从而避免了经过存在异常的2.1版本。这种方法可以在某个版本存在丢失数据的风险,或者存在已知错误却已经发布的情况,规避错误、降低数据丢失的风险。
上述系统的升级装置包括处理器和存储器,上述第一获取单元41,第二获取单元42,第一确定单元43,第二确定单元44等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决了相关技术中按照版本序号进行数据库的版本升级的准确性和效率低的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述系统的升级方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述系统的升级方法。
本发明实施例提供了一种电子设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息;获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合;分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图;通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取系统的当前版本信息和目标版本信息,其中,目标版本信息为系统待升级至的版本信息;获取创建时间位于当前版本信息与目标版本信息之间的多个中间版本信息,并将当前版本信息、目标版本信息和多个中间版本信息组合为版本集合;分别确定版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据多组连通关系生成版本集合对应的连通图;通过连通图确定当前版本信息与目标版本信息之间的最短升级路径,并按照最短升级路径将系统的版本信息由当前版本信息升级到目标版本信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种系统的升级方法,其特征在于,包括:
获取系统的当前版本信息和目标版本信息,其中,所述目标版本信息为所述系统待升级至的版本信息;
获取创建时间位于所述当前版本信息与所述目标版本信息之间的多个中间版本信息,并将所述当前版本信息、所述目标版本信息和所述多个中间版本信息组合为版本集合;
分别确定所述版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据所述多组连通关系生成所述版本集合对应的连通图;
通过所述连通图确定所述当前版本信息与所述目标版本信息之间的最短升级路径,并按照所述最短升级路径将所述系统的版本信息由所述当前版本信息升级到所述目标版本信息。
2.根据权利要求1所述的方法,其特征在于,分别确定所述版本集合中的每两个版本信息之间的连通关系,得到多组连通关系包括:
获取所述版本集合中的任意两个版本信息,得到第一版本信息和第二版本信息;
从所述系统的历史升级信息中确定所述第一版本信息与所述第二版本信息之间是否存在升级关系,其中,所述升级关系表征升级所述第一版本信息后得到所述第二版本信息,或升级所述第二版本信息后得到所述第一版本信息;
在所述第一版本信息与所述第二版本信息之间存在升级关系的情况下,建立所述第一版本信息与所述第二版本信息之间的连通关系。
3.根据权利要求2所述的方法,其特征在于,根据所述多组连通关系生成所述版本集合对应的连通图包括:
分别将每组连通关系中的版本信息确定为节点,按照升级关系在节点之间添加有向边,得到多组有向图,其中,每组有向图中包括两个节点和一个有向边;
将所述多组有向图中的相同节点进行合并,得到所述连通图。
4.根据权利要求1所述的方法,其特征在于,通过所述连通图确定所述当前版本信息与所述目标版本信息之间的最短升级路径包括:
在所述连通图中依次遍历所述当前版本信息与所述目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为所述当前版本信息,终止节点为所述目标版本信息;
确定每个连通路径中包含的节点的数量,得到多个节点数量;
将所述多个节点数量中的最小节点数量对应的连通路径确定为所述最短升级路径。
5.根据权利要求1所述的方法,其特征在于,通过所述连通图确定所述当前版本信息与所述目标版本信息之间的最短升级路径包括:
在所述连通图中依次遍历所述当前版本信息与所述目标版本信息之间的路径,得到多个连通路径,其中,每个连通路径的初始节点为所述当前版本信息,终止节点为所述目标版本信息;
获取所述连通图中的每个有向边的权值,得到多个权值;
将每个所述连通路径中的多个有向边的权值进行求和,得到每个所述连通路径的权值;
获取所述权值最小的连通路径,得到所述最短升级路径。
6.根据权利要求1所述的方法,其特征在于,在按照所述最短升级路径将所述系统的版本信息由所述当前版本信息升级到所述目标版本信息之后,所述方法还包括:
接收控制器发送的系统升级指令,并根据所述升级指令获取所述最短升级路径中的每个节点的版本信息,得到多个版本信息;
将所述多个版本信息发送至所述控制器中,并接收所述控制器返回的升级程序集合,其中,所述升级程序集合中包括每个版本信息的升级程序;
按照所述最短升级路径依次运行所述升级程序集合中的升级程序。
7.根据权利要求5所述的方法,其特征在于,在按照所述最短升级路径将所述系统的版本信息由所述当前版本信息升级到所述目标版本信息之后,所述方法还包括:
获取所述系统的升级结果;
在所述升级结果表征所述系统升级异常的情况下,调整所述最短升级路径中的每个有向边的权值,并重新执行所述将每个所述连通路径中的多个有向边的权值进行求和,得到每个所述连通路径的权值,获取所述权值最小的连通路径,得到所述最短升级路径的步骤。
8.一种系统的升级装置,其特征在于,包括:
第一获取单元,用于获取系统的当前版本信息和目标版本信息,其中,所述目标版本信息为所述系统待升级至的版本信息;
第二获取单元,用于获取创建时间位于所述当前版本信息与所述目标版本信息之间的多个中间版本信息,并将所述当前版本信息、所述目标版本信息和所述多个中间版本信息组合为版本集合;
第一确定单元,用于分别确定所述版本集合中的每两个版本信息之间的连通关系,得到多组连通关系,并根据所述多组连通关系生成所述版本集合对应的连通图;
第二确定单元,用于通过所述连通图确定所述当前版本信息与所述目标版本信息之间的最短升级路径,并按照所述最短升级路径将所述系统的版本信息由所述当前版本信息升级到所述目标版本信息。
9.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储程序,其中,所述程序运行时控制所述计算机存储介质所在的设备执行权利要求1至7中任意一项所述的系统的升级方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的系统的升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718746.7A CN115827028A (zh) | 2022-12-29 | 2022-12-29 | 系统的升级方法、装置、存储介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718746.7A CN115827028A (zh) | 2022-12-29 | 2022-12-29 | 系统的升级方法、装置、存储介质以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827028A true CN115827028A (zh) | 2023-03-21 |
Family
ID=85519512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211718746.7A Pending CN115827028A (zh) | 2022-12-29 | 2022-12-29 | 系统的升级方法、装置、存储介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827028A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820525A (zh) * | 2023-08-24 | 2023-09-29 | 新华三技术有限公司 | 组件升级方法、装置、电子设备和存储介质 |
-
2022
- 2022-12-29 CN CN202211718746.7A patent/CN115827028A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820525A (zh) * | 2023-08-24 | 2023-09-29 | 新华三技术有限公司 | 组件升级方法、装置、电子设备和存储介质 |
CN116820525B (zh) * | 2023-08-24 | 2024-01-26 | 新华三技术有限公司 | 组件升级方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3678068A1 (en) | Distributed system for executing machine learning and method therefor | |
US11055081B2 (en) | Recommending software project dependency upgrades | |
CN109670951B (zh) | 一种区块链智能合约调试发布方法及系统 | |
Ji et al. | ispan: Parallel identification of strongly connected components with spanning trees | |
CN107016016B (zh) | 一种数据处理的方法及装置 | |
CN111897539A (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
CN110599341A (zh) | 交易调用方法及系统 | |
US10824641B1 (en) | Deterministic query-based replication | |
CN112748993A (zh) | 任务执行方法、装置、存储介质及电子设备 | |
CN116090808A (zh) | 一种rpa断点重建方法、装置、电子设备和介质 | |
CN115827028A (zh) | 系统的升级方法、装置、存储介质以及电子设备 | |
CN116049207A (zh) | 应用程序sql脚本处理方法、装置、处理器及电子设备 | |
CN112712125A (zh) | 事件流的模式匹配方法、装置、存储介质及处理器 | |
CN111240987B (zh) | 移植程序检测方法、装置、电子设备及计算机可读存储介质 | |
CN113850675A (zh) | 用于企业交易关系数据的信息处理方法和装置 | |
US10901972B2 (en) | Table partition configuration method, apparatus and system for database system | |
US20220229689A1 (en) | Virtualization platform control device, virtualization platform control method, and virtualization platform control program | |
CN110928941A (zh) | 一种数据分片抽取方法及装置 | |
CN107291439B (zh) | 一种目标增量数据构建方法及装置 | |
CN114791884A (zh) | 测试环境的构建方法、装置、存储介质及电子设备 | |
CN114168389A (zh) | Cad文件的恢复方法、装置、存储介质及处理器 | |
CN110020288A (zh) | 一种页面刷新方法及装置 | |
CN112559444A (zh) | Sql文件迁移方法、装置、存储介质及设备 | |
US20230176831A1 (en) | Microservices recommendation framework | |
US20230359547A1 (en) | Targeted Testing for Modular Software Applications |
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 |