CN112379906A - 服务的更新方法、装置、存储介质以及电子装置 - Google Patents
服务的更新方法、装置、存储介质以及电子装置 Download PDFInfo
- Publication number
- CN112379906A CN112379906A CN202011315198.4A CN202011315198A CN112379906A CN 112379906 A CN112379906 A CN 112379906A CN 202011315198 A CN202011315198 A CN 202011315198A CN 112379906 A CN112379906 A CN 112379906A
- Authority
- CN
- China
- Prior art keywords
- services
- updating
- service
- update
- directed graph
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种服务的更新方法、装置、存储介质以及电子装置,该方法包括:获取待更新的多个服务之间的关联关系,按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,按照更新顺序依次对多个更新层级中包括的服务进行更新,可以解决相关技术中存在的服务更新的效率较低的技术问题,达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种服务的更新方法、装置、存储介质以及电子装置。
背景技术
目前的相关技术中,对集合系统实体执行服务更新的过程中,一般是管理员向集合中所有系统实体下发并行升级任务或串行升级任务。当升级任务是并行升级任务时,控制所有的系统实体同时使用匹配的升级包进行系统升级;当升级任务是串行升级任务时,控制各个系统实体依次使用匹配的升级包进行系统升级。
例如,目前集群中服务更新顺序需要根据服务配置来确定最终的更新顺序,因此,当前服务更新的过程中主要存在以下问题:当某个服务更新失败后,会导致后续所有服务的更新失败;当需要更新服务节点增多时,更新耗时过长。
针对相关技术中存在的服务的更新效率较低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种服务的更新方法、装置、存储介质以及电子装置,以至少解决相关技术中存在的服务更新的效率较低的技术问题。
根据本发明的一个实施例,提供了一种服务的更新方法,包括:获取待更新的多个服务之间的关联关系;按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个所述服务;按照所述更新顺序依次对多个所述更新层级中包括的服务进行更新。
根据本发明的另一个实施例,提供了一种服务的更新装置,包括:获取模块,用于获取待更新的多个服务之间的关联关系;排序模块,用于按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个所述服务;更新模块,用于按照所述更新顺序依次对多个所述更新层级中包括的服务进行更新。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法实施例中的步骤。
通过本发明,采用获取待更新的多个服务之间的关联关系,按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,按照更新顺序依次对多个更新层级中包括的服务进行更新,可以解决相关技术中存在的服务更新的效率较低的技术问题,达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的服务的更新方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种可选的服务的更新方法的流程示意图;
图3是根据本发明实施例的一种可选的服务的更新方法的示意图;
图4是根据本发明实施例的另一种可选的服务的更新方法的示意图;
图5是根据本发明实施例的又一种可选的服务的更新方法的示意图;
图6是根据本发明实施例的另一种可选的服务的更新方法的流程示意图;
图7是根据本发明实施例的一种可选的服务的更新装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种服务的更新方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的服务的更新方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的服务的更新方法,图2是根据本发明实施例的一种可选的服务的更新方法的流程示意图,如图2所示,该流程包括如下步骤:
S202,获取待更新的多个服务之间的关联关系;
S204,按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个服务;
S206,按照更新顺序依次对多个更新层级中包括的服务进行更新。
可选地,在本实施例中,上述待更新的多个服务可以包括但不限于MSCS(Microsoft Cluster Service,微软集群服务)中等待更新的多个服务,上述多个服务中每个服务之间可以包括但不限于存在关联关系,也可以包括但不限于为独立的服务。
可选地,在本实施例中,上述关联关系可以包括但不限于上述多个服务中某一个服务的更新依赖于上述多个服务中的另一个服务,还可以包括但不限于在上述多个服务中某一个服务更新后,上述多个服务中另一个服务则无需再进行更新等关联关系。
可选地,在本实施例中,上述按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级可以通过包括但不限于有向图来确定。
例如,图3是根据本发明实施例的一种可选的服务的更新方法的示意图,如图3所示,其中,节点A、节点B、节点C表示上述多个服务中不同的服务,有向边302表示节点A与节点B相关联,且节点A关联于节点B,有向边304表示节点B与节点C相关联,且节点B关联于节点C,有向边306表示节点A与节点C相关联,且节点A关联于节点C,上述节点A关联于节点B表示节点B对应的服务在更新之前需要更新节点A对应的服务,以此类推,因此,由于上述节点B对应的服务需要节点A对应的服务更新后才能更新,而节点C对应的服务需要节点A或节点B任意一个更新后才能更新,可以确定节点A为更新的第一层级、节点B、C为第二层级,进而,得到上述多个按照更新顺序排列的更新层级。
可选地,在本实施例中,上述按照更新顺序依次对多个更新层级中包括的服务进行更新可以包括但不限于先更新上述第一层级中包括的服务,再并行更新上述第二层级中包括的服务。换言之,通过串行更新上述多个更新层级对应的服务集合,在并行更新每一个服务集合中包含的服务,能够达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
通过本发明,采用获取待更新的多个服务之间的关联关系,按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,按照更新顺序依次对多个更新层级中包括的服务进行更新,可以解决相关技术中存在的服务更新的效率较低的技术问题,达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
作为一种可选的方案,所述按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,包括:按照所述关联关系将所述多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图,其中,所述目标有向图的一个顶点对应于所述多个服务中的一个服务,所述目标有向图中的有向边用于表示所述关联关系;根据所述目标有向图对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级。
可选地,在本实施例中,可以通过包括但不限于采用例如图论中的邻接矩阵方式对服务之间的关联关系进行存储,上述存储的形式可以包括但不限于上述有向图邻接矩阵。
可选地,在本实施例中,上述目标有向图中一个顶点对应于上述多个服务中的一个服务可以包括但不限于如图4所示,通过配置多个顶点以及通过使用有向边的形式连接上述多个顶点,以得到上述目标有向图,用于表示上述多个顶点之间的关联关系。
可选地,在本实施例中,可以根据服务的个数初始化顶点总数,并根据生成的顶点总数得到顶点总数维度大小的二维数组。
通过本实施例,采用按照关联关系将多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图,根据目标有向图对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,可以根据关联关系来实现更新服务的过程,进而,解决相关技术中存在的服务更新的效率较低的技术问题,达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
作为一种可选的方案,按照所述关联关系将所述多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图,包括:基于所述多个服务中包含的服务的数量生成二维数组,其中,所述二维数组用于表示所述多个服务中包括的两个服务之间是否存在关联关系,所述二维数组的维度为所述目标有向边中顶点总数,所述顶点总数与所述多个服务中包含服务的数量相等;按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点建立有向边,得到所述目标有向图。
可选地,在本实施例中,上述二维数组中的维度与上述顶点总数相对应,根据服务的个数初始化顶点总数,生成顶点总数维度大小的二维数组,及其边的初始值。将每个顶点关系边初始值设置为0,表示不存在关联关系。假设本一个顶点对应的服务依赖其他服务的个数为入度,使用数组indegreep[n]储存各顶点的入度;根据顶点之间的关系(即:服务之间依赖关系)建立有向边。
作为一种可选的方案,按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点建立有向边,得到所述目标有向图,包括:按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点逐个建立有向边;在所述多个服务中存在互相关联的第一服务和第二服务的情况下,保留用于指示所述第二服务关联于所述第一服务的所述第一有向边,并删除用于指示所述第一服务关联于所述第二服务的第二有向边,其中,所述第一有向边建立在所述第二有向边建立之后。
可选地,在本实施例中,上述第一服务与上述第二服务为互相关联的两个服务,也即,上述第一服务关联于上述第二服务,上述第二服务也关联于上述第一服务,而由于上述第一服务关联于第二服务对应的第一有向边建立在上述第二服务关联于第一服务对应的第二有向边之后,因此,保留靠后添加的关联关系,并删除靠前添加的关联关系。
例如,在加入有向关系边的过程中,当两个顶点相互关联时,则保留后入的关系,将之前的有向边去除。设edges[n][n]为顶点二维数组。当edges[0][1]=1时,表示顶点数组中,位置0与位置1的对象存在依赖关系,且位置1对象依赖位置0对象;当edges[1][0]=0时,表示顶点数组中,位置0对象不依赖位置1对象。
通过本实施例,采用按照关联关系为二维数组所指示的目标有向图中的顶点逐个建立有向边;在多个服务中存在互相关联的第一服务和第二服务的情况下,保留用于指示第二服务关联于第一服务的第一有向边,并删除用于指示第一服务关联于第二服务的第二有向边,其中,第一有向边建立在第二有向边建立之后,可以将重复的关联关系删除,能够降低计算量,避免重复计算,提高计算效率,进而,解决相关技术中存在的服务更新的效率较低的技术问题,达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
作为一种可选的方案,按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,包括:确定所述目标有向图中各个顶点的入度;将所述入度为0的顶点从所述目标有向图中移除,并将移除的顶点所对应的服务确定为同一层级中的服务;对所述入度不为0的顶点循环执行以下操作,直到顶点入度均为0为止:将入度不为0的顶点的入度减1,并将减1之后入度为0的顶点从所述目标有向图中移除,并将当次移除的顶点对应的服务确定为同一层级中的服务;对确定出的多个层级按照所述更新顺序进行排序,以得到多个所述更新层级。
可选地,在本实施例中,可以通过包括但不限于如下方式:
S1,每次从上述目标有向图中移除入度indegreep[n]中大小为0的顶点,将同一轮移除的顶点算作同层;
S2,当顶点还有剩余且不存在入度为0的顶点时,表示存在环状结构。需要说明的是,在排序时对其进行环状结构破坏,可以通过如下方式处理:
S2-1,遍历上一轮移除顶点中是否与环中顶点存在关联,若不存在,则对环中节点按序进行入度减1,同时判断减1后顶点入度是否为0,当存在时则跳转至步骤S1);
S2-2当环中存在上一轮移除顶点的关联顶点,则将关联顶点的入度减1,同时判断减1后顶点入度是否为0,当存在时则跳转至步骤S1);
S3,判断当前有向图中是否还存在顶点,若存在,则跳转至步骤S1。
通过本实施例,采用确定目标有向图中各个顶点的入度,将入度为0的顶点从目标有向图中移除,并将移除的顶点所对应的服务确定为同一层级中的服务,对入度不为0的顶点循环执行以下操作,直到顶点入度均为0为止:将入度不为0的顶点的入度减1,并将减1之后入度为0的顶点从目标有向图中移除,并将当次移除的顶点对应的服务确定为同一层级中的服务,对确定出的多个层级按照更新顺序进行排序,以得到多个更新层级,可以根据关联关系来实现更新服务的过程,进而,解决相关技术中存在的服务更新的效率较低的技术问题,达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
作为一种可选的方案,按照所述更新顺序依次对多个所述更新层级中包括的服务进行更新,包括:按照所述更新顺序依次对每一个所述更新层级中包括的服务采用并行更新的方式进行更新。
通过本实施例,采用按照更新顺序依次对每一个更新层级中包括的服务采用并行更新的方式进行更新,可以按照层级关系进行串行更新,对每一层级中包含的服务进行并行更新,充分考虑到服务之间的关联关系,进而,解决相关技术中存在的服务更新的效率较低的技术问题,达到提高服务的更新效率、增加服务更新的准确率、加快了服务更新的速度,并且能够灵活确定更新顺序的技术效果。
下面结合具体的示例,对本发明进行进一步的解释说明:
针对目前对象服务与平台运维解耦,集群中服务安装顺序需要根据服务配置进行计算出最终安装顺序的现象,为了进一步保证服务安装的准确性,上述服务的更新方法可以包括但不限于采用图论中的邻接矩阵(即二维数组)方式对服务依赖关联进行存储,然后通过层次排序算法对其进行排序,对从底层到高层中的服务进行并发升级。
通过本实施例,较目前根据配置列表的固定顺序进行安装的方法而言,增加了灵活性,服务依赖发现分层并行升级较原有方法提升了升级效率。
图4是根据本发明实施例的一种可选的服务的更新方法的流程示意图,如图4所示本,具体计算步骤如下:
S402,开始;
S404,图初始化,获得顶点及顶点个数,入度等数组信息,其中,根据服务个数初始化顶点总数,生成顶点总数维度大小的二维数组,及其边的初始值。将每个顶点关系边初始值设置为0,表示不存在关联关系。设本服务依赖其他服务的个数为入度,使用数组indegreep[n]储存各顶点的入度;
S406,根据顶点之间的关系(即:服务之间依赖关系)建立有向边,在加入有向关系边的过程中,当两个顶点相互关联时,则保留后入的关系,将之前的有向边去除。设edges[n][n]为顶点二维数组。当edges[0][1]=1时,表示顶点数组中,位置0与位置1的对象存在依赖关系,且位置1对象依赖位置0对象;当edges[1][0]=0时,表示顶点数组中,位置0对象不依赖位置1对象;
S408,根据顶点入度和有向边矩阵对建立的关系图进行层次排序,每次从图中移除入度indegreep[n]中大小为0的顶点,将同一轮移除的顶点算作同层;
S410,判断是否存在环状结构,当顶点还有剩余且不存在入度为0的顶点时,表示存在环状结构。在排序时对其进行环状结构破坏,破坏规则如下:
S412,遍历上一轮移除顶点中是否与环中顶点存在关联,若不存在,则对环中节点按序进行入度减1,同时判断减1后顶点入度是否为0,当存在时则跳转至步骤S408;
当环中存在上一轮移除顶点的关联顶点,则将关联顶点的入度减1,同时判断减1后顶点入度是否为0,当存在时则跳转至步骤S408,若不存在,则执行步骤S414;
S414,判断当前图中是否还存在顶点,若不存在,则跳转至步骤S408;
S416,根据分好的排序层级,由低层到高层依次执行同一层中的服务并行升级。
例如,图5是根据本发明实施例的另一种可选的服务的更新方法的示意图,如图5所示,其中,包括5个服务存在依赖关系,在图5所示的服务集群中,服务A的入度为0,不依赖任何服务;服务B的入度为0,不依赖任何服务;服务C的初始入度为1,依赖于服务A,当服务A从图中移除后,入度为0;服务D的初始入度为3,当服务A与B从图中移除后的入度为1,当服务C也移除后,服务D的入度为0;服务D的初始入度为4,当服务A、B和C从图中移除后,入度为0。
图6是根据本发明实施例的又一种可选的服务的更新方法的示意图,对服务分层后的结果如图6所示,根据分层结果,按分层顺序由低到高对所处同一层的服务并行升级,也即,先对第一层中包含的服务A和服务D进行并行升级,再对第二层的服务C进行升级,直至集群中全部服务升级完毕。
通过本实施例,能够基于服务关联依赖关系,使用图结构,使集群中服务关系根据服务配置自动发现,获得服务升级具体顺序,不需人为计算升级顺序,增加了灵活性,此外,通过对服务进行分层划分,由低层到高层依次对同层级的服务并行升级,对比按照配置文件中顺序对各服务串行升级速度得到了提升。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种服务的更新装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的一种可选的服务的更新装置的结构框图,如图7所示,该装置包括:
获取模块702,用于获取待更新的多个服务之间的关联关系;
排序模块704,用于按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个所述服务;
更新模块706,用于按照所述更新顺序依次对多个所述更新层级中包括的服务进行更新。
作为一种可选的方案,所述排序模块,包括:存储单元,用于按照所述关联关系将所述多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图,其中,所述目标有向图的一个顶点对应于所述多个服务中的一个服务,所述目标有向图中的有向边用于表示所述关联关系;排序单元,用于根据所述目标有向图对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级。
作为一种可选的方案,所述存储单元用于通过如下方式按照所述关联关系将所述多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图:基于所述多个服务中包含的服务的数量生成二维数组,其中,所述二维数组用于表示所述多个服务中包括的两个服务之间是否存在关联关系,所述二维数组的维度为所述目标有向边中顶点总数,所述顶点总数与所述多个服务中包含服务的数量相等;按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点建立有向边,得到所述目标有向图。
作为一种可选的方案,所述存储单元用于通过如下方式按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点建立有向边,得到所述目标有向图,包括:按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点逐个建立有向边;在所述多个服务中存在互相关联的第一服务和第二服务的情况下,保留用于指示所述第二服务关联于所述第一服务的所述第一有向边,并删除用于指示所述第一服务关联于所述第二服务的第二有向边,其中,所述第一有向边建立在所述第二有向边建立之后。
作为一种可选的方案,所述存储单元用于通过如下方式按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,包括:确定所述目标有向图中各个顶点的入度;将所述入度为0的顶点从所述目标有向图中移除,并将移除的顶点所对应的服务确定为同一层级中的服务;对所述入度不为0的顶点循环执行以下操作,直到顶点入度均为0为止:将入度不为0的顶点的入度减1,并将减1之后入度为0的顶点从所述目标有向图中移除,并将当次移除的顶点对应的服务确定为同一层级中的服务;对确定出的多个层级按照所述更新顺序进行排序,以得到多个所述更新层级。
作为一种可选的方案,所述更新模块,包括:更新单元,用于按照所述更新顺序依次对每一个所述更新层级中包括的服务采用并行更新的方式进行更新。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取待更新的多个服务之间的关联关系;
S2,按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个服务;
S3,按照更新顺序依次对多个更新层级中包括的服务进行更新。
计算机可读存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,获取待更新的多个服务之间的关联关系;
S2,按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个服务;
S3,按照更新顺序依次对多个更新层级中包括的服务进行更新。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取待更新的多个服务之间的关联关系;
S2,按照关联关系对多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个服务;
S3,按照更新顺序依次对多个更新层级中包括的服务进行更新。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种服务的更新方法,其特征在于,包括:
获取待更新的多个服务之间的关联关系;
按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个所述服务;
按照所述更新顺序依次对多个所述更新层级中包括的服务进行更新。
2.根据权利要求1所述的方法,其特征在于,按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,包括:
按照所述关联关系将所述多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图,其中,所述目标有向图的一个顶点对应于所述多个服务中的一个服务,所述目标有向图中的有向边用于表示所述关联关系;
根据所述目标有向图对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级。
3.根据权利要求2所述的方法,其特征在于,按照所述关联关系将所述多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图,包括:
基于所述多个服务中包含的服务的数量生成二维数组,其中,所述二维数组用于表示所述多个服务中包括的两个服务之间是否存在关联关系,所述二维数组的维度为所述目标有向边中顶点总数,所述顶点总数与所述多个服务中包含服务的数量相等;
按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点建立有向边,得到所述目标有向图。
4.根据权利要求3所述的方法,其特征在于,按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点建立有向边,得到所述目标有向图,包括:
按照所述关联关系为所述二维数组所指示的所述目标有向图中的顶点逐个建立有向边;
在所述多个服务中存在互相关联的第一服务和第二服务的情况下,保留用于指示所述第二服务关联于所述第一服务的所述第一有向边,并删除用于指示所述第一服务关联于所述第二服务的第二有向边,其中,所述第一有向边建立在所述第二有向边建立之后。
5.根据权利要求2所述的方法,其特征在于,按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,包括:
确定所述目标有向图中各个顶点的入度;
将所述入度为0的顶点从所述目标有向图中移除,并将移除的顶点所对应的服务确定为同一层级中的服务;
对所述入度不为0的顶点循环执行以下操作,直到顶点入度均为0为止:
将入度不为0的顶点的入度减1,并将减1之后入度为0的顶点从所述目标有向图中移除,并将当次移除的顶点对应的服务确定为同一层级中的服务;
对确定出的多个层级按照所述更新顺序进行排序,以得到多个所述更新层级。
6.根据权利要求1所述的方法,其特征在于,按照所述更新顺序依次对多个所述更新层级中包括的服务进行更新,包括:
按照所述更新顺序依次对每一个所述更新层级中包括的服务采用并行更新的方式进行更新。
7.一种服务的更新装置,其特征在于,包括:
获取模块,用于获取待更新的多个服务之间的关联关系;
排序模块,用于按照所述关联关系对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级,其中,一个更新层级中包括有一个或多个所述服务;
更新模块,用于按照所述更新顺序依次对多个所述更新层级中包括的服务进行更新。
8.根据权利要求7所述的装置,其特征在于,所述排序模块,包括:
存储单元,用于按照所述关联关系将所述多个服务以有向图邻接矩阵的形式进行存储,得到目标有向图,其中,所述目标有向图的一个顶点对应于所述多个服务中的一个服务,所述目标有向图中的有向边用于表示所述关联关系;
排序单元,用于根据所述目标有向图对所述多个服务进行更新层级排序,得到多个按照更新顺序排列的更新层级。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至6任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至6任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011315198.4A CN112379906A (zh) | 2020-11-20 | 2020-11-20 | 服务的更新方法、装置、存储介质以及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011315198.4A CN112379906A (zh) | 2020-11-20 | 2020-11-20 | 服务的更新方法、装置、存储介质以及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112379906A true CN112379906A (zh) | 2021-02-19 |
Family
ID=74588011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011315198.4A Pending CN112379906A (zh) | 2020-11-20 | 2020-11-20 | 服务的更新方法、装置、存储介质以及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112379906A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495735A (zh) * | 2021-06-30 | 2021-10-12 | 东风商用车有限公司 | 升级包安装方法、装置、设备及可读存储介质 |
CN116781519A (zh) * | 2023-08-23 | 2023-09-19 | 北京中电普华信息技术有限公司 | 系统升级方法及装置、存储介质及电子设备 |
-
2020
- 2020-11-20 CN CN202011315198.4A patent/CN112379906A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495735A (zh) * | 2021-06-30 | 2021-10-12 | 东风商用车有限公司 | 升级包安装方法、装置、设备及可读存储介质 |
CN116781519A (zh) * | 2023-08-23 | 2023-09-19 | 北京中电普华信息技术有限公司 | 系统升级方法及装置、存储介质及电子设备 |
CN116781519B (zh) * | 2023-08-23 | 2024-02-23 | 北京中电普华信息技术有限公司 | 系统升级方法及装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112379906A (zh) | 服务的更新方法、装置、存储介质以及电子装置 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
CN110442480B (zh) | 一种镜像数据清理方法、装置及系统 | |
CN104636286A (zh) | 用于数据访问的方法和设备 | |
CN109508912B (zh) | 一种业务调度方法、装置、设备和存储介质 | |
CN108365989A (zh) | 事件处理方法及装置 | |
CN112470119B (zh) | 一种分布式系统中的业务升级方法、装置及分布式系统 | |
CN114462582A (zh) | 基于卷积神经网络模型的数据处理方法及装置、设备 | |
CN111831452A (zh) | 任务执行方法、装置、存储介质及电子装置 | |
US20230289165A1 (en) | Data processing method and apparatus for application, device, and storage medium | |
CN115729590A (zh) | 服务部署方法、装置、设备和计算机可读存储介质 | |
CN116737393B (zh) | 资源部署方法、装置和存储介质及电子设备 | |
CN111142965A (zh) | 语言配置方法、装置、电子设备及存储介质 | |
CN112506991B (zh) | 并行处理的方法、系统、电子装置和存储介质 | |
CN113722014B (zh) | 应用程序配置方法、装置、设备、存储介质及程序产品 | |
CN113064720B (zh) | 对象分配方法、装置、服务器及存储介质 | |
CN110851169B (zh) | 一种补丁信息更新的方法及系统、介质、电子设备 | |
US11281494B2 (en) | Business operation method, apparatus, and system for determining and executing operation tasks in cloud computing | |
CN116436797A (zh) | 任务调度模型训练方法、装置、任务调度方法及电子设备 | |
CN115129604A (zh) | 一种数据测试方法、装置、电子设备及计算机可读介质 | |
CN114444157A (zh) | 部品的替换方法、装置、存储介质和电子装置 | |
CN111489194A (zh) | 地图信息处理方法、装置、可读存储介质和电子设备 | |
CN114115902A (zh) | 软件安装包的处理方法、装置、电子装置和存储介质 | |
CN112506580A (zh) | 数据融合方法及装置,存储介质及电子装置 | |
CN117349013A (zh) | 一种任务执行处理方法、装置、设备及存储介质 |
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 |