CN110825391B - 服务管理方法、装置、电子设备及存储介质 - Google Patents
服务管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110825391B CN110825391B CN201911054615.1A CN201911054615A CN110825391B CN 110825391 B CN110825391 B CN 110825391B CN 201911054615 A CN201911054615 A CN 201911054615A CN 110825391 B CN110825391 B CN 110825391B
- Authority
- CN
- China
- Prior art keywords
- map data
- target service
- data structure
- deployment
- deployed
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了服务管理方法、装置、电子设备及存储介质,应用于计算机技术领域,该方法包括:获取待部署的各目标服务及各目标服务的关联关系,其中,关联关系包括多个地图数据结构,地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;利用预设线程组,按照各地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各地图数据结构的目标服务。本申请实施例的服务管理方法,按照地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各地图数据结构的目标服务,能够实现各目标服务的自动部署,减少人工工作量,提高服务部署效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及服务管理方法、装置、电子设备及存储介质。
背景技术
企业云的上层业务***包含两大子***,分别是租户控制台、业务运营平台。上层业务***涵盖了多个业务线,多个支撑平台等上百个服务,并且各服务所使用的语言也不同,例如,包含JAVA、Python、Golang、PHP(Hypertext Preprocessor,超文本预处理器)、JS(JavaScript)等语言的服务,各服务的部署的环境和方法也多种多样,技术栈存在也不统一等。
相关技术中,需要运营人员人工将各服务编译、打包、部署到用户的私有环境中,人工工作量大。
发明内容
本申请实施例的目的在于提供一种服务管理方法、装置、电子设备及存储介质,以实现减少人工工作量。具体技术方案如下:
第一方面,本申请实施例提供了一种服务管理方法,所述方法包括:
获取待部署的各目标服务及各所述目标服务的关联关系,其中,所述关联关系包括多个地图数据结构,所述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;
利用预设线程组,按照各所述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各所述地图数据结构的目标服务。
在一种可能的实施方式中,所述预设线程组包括多个线程,其中,所述多个线程用于并行部署各所述地图数据结构的目标服务。
在一种可能的实施方式中,所述方法还包括:
获取所述关联关系中地图数据结构的数量,得到目标数量;
按照所述目标数量,建立包括所述目标数量的线程的预设线程组。
在一种可能的实施方式中,所述利用预设线程组,按照各所述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各所述地图数据结构的目标服务,包括:
确定所述预设线程组中每个线程各自对应的地图数据结构;
针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署该地图数据结构的目标服务。
在一种可能的实施方式中,所述针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署各所述地图数据结构的目标服务,包括:
针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务;
若该地图数据结构中当前待部署的目标服务已经编译及打包过,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
若该地图数据结构中当前待部署的目标服务尚未编译及打包过,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务;
返回上述针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务的步骤继续执行,直至各所述地图数据结构的目标服务均部署完成。
在一种可能的实施方式中,所述方法还包括:
将编译及打包后的目标服务存储进行缓存,并将各已缓存的编译及打包后的目标服务的标识存储到指定位置;
所述若该地图数据结构中当前待部署的目标服务已经编译及打包过,包括:
若所述指定位置中存储有该地图数据结构中当前待部署的目标服务的标识;
所述若该地图数据结构中当前待部署的目标服务尚未编译及打包过,包括:
若所述指定位置中未存储有该地图数据结构中当前待部署的目标服务的标识。
在一种可能的实施方式中,所述方法还包括:
在满足预设备份规则时,记录各所述目标服务的部署状态;
当获取到部署状态恢复指令时,按照所述部署状态,继续对各所述目标服务进行部署。
第二方面,本申请实施例提供了一种服务管理装置,所述装置包括:
关联关系获取模块,用于获取待部署的各目标服务及各所述目标服务的关联关系,其中,所述关联关系包括多个地图数据结构,所述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;
目标服务部署模块,用于利用预设线程组,按照各所述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各所述地图数据结构的目标服务。
在一种可能的实施方式中,所述预设线程组包括多个线程,其中,所述多个线程用于并行部署各所述地图数据结构的目标服务。
在一种可能的实施方式中,所述装置还包括:
目标数据获取模块,用于获取所述关联关系中地图数据结构的数量,得到目标数量;
线程组建立模块,用于按照所述目标数量,建立包括所述目标数量的线程的预设线程组。
在一种可能的实施方式中,所述目标服务部署模块,包括:
对应关系确定子模块,用于确定所述预设线程组中每个线程各自对应的地图数据结构;
目标服务部署子模块,用于针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署该地图数据结构的目标服务。
在一种可能的实施方式中,所述目标服务部署子模块,包括:
当前服务确定单元,用于针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务;
第一部署单元,用于若该地图数据结构中当前待部署的目标服务已经编译及打包过,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
第二部署单元,用于若该地图数据结构中当前待部署的目标服务尚未编译及打包过,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务;
返回执行单元,返回上述当前服务确定单元继续执行,直至各所述地图数据结构的目标服务均部署完成。
在一种可能的实施方式中,所述装置还包括:
数据缓存模块,用于将编译及打包后的目标服务存储进行缓存,并将各已缓存的编译及打包后的目标服务的标识存储到指定位置;
所述第一部署单元,具体用于:若所述指定位置中存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
所述第二部署单元,具体用于若所述指定位置中未存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务。
在一种可能的实施方式中,所述装置还包括:
部署状态记录模块,用于在满足预设备份规则时,记录各所述目标服务的部署状态;
部署状态恢复模块,用于当获取到部署状态恢复指令时,按照所述部署状态,继续对各所述目标服务进行部署。
第三方面,本申请实施例提供了一种电子设备,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面任一所述的服务管理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的服务管理方法。
本申请实施例提供的服务管理方法、装置、电子设备及存储介质,获取待部署的各目标服务及各目标服务的关联关系,其中,关联关系包括多个地图数据结构,地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;利用预设线程组,按照各地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各地图数据结构的目标服务。按照地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各地图数据结构的目标服务,能够实现各目标服务的自动部署,减少人工工作量,提高服务部署效率。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的服务管理方法的第一种示意图;
图2为本申请实施例的服务管理方法的第二种示意图;
图3为本申请实施例的服务管理方法的第三种示意图;
图4为本申请实施例的服务管理方法的第四种示意图;
图5为本申请实施例的服务管理装置的一种示意图;
图6为本申请实施例的电子设备的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,在私有云环境建立的过程中,需要运营人员人工将各服务编译、打包、部署到用户的私有环境中,人工工作量大,部署效率低。
有鉴于此,本申请提供了一种服务管理方法,参见图1,该方法包括:
S101,获取待部署的各目标服务及各上述目标服务的关联关系,其中,上述关联关系包括多个地图数据结构,上述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序。
本申请实施例的服务管理方法可以通过上层业务***实现,具体可以通过上层业务***中的服务器实现。
各目标服务的关联关系包括多个MAP Data Structure(地图数据结构),地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序。在一种可能的实施方式中,在S101之前,上述方法还包括:获取各目标服务的依赖关系,按照各目标服务的依赖关系,确定各目标服务的关联关系。具体的,可以利用预设脚本,例如deploy脚本,梳理各目标服务的依赖关系,对于存在依赖关系的目标服务,采用链表的数据结构存储,形成依赖链,对于无依赖关系的目标服务使用MAP Data Structure(以下简称MAP)的数据结构存储,从而得到多个MAP的链表,即各目标服务的关联关系。
S102,利用预设线程组,按照各上述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各上述地图数据结构的目标服务。
预设线程组中包括线程,通过线程完成各目标服务的部署。在一种可能的实施方式中,上述预设线程组包括多个线程,其中,上述多个线程用于并行部署各上述地图数据结构的目标服务。利用各线程并行部署各地图数据结构的目标服务,能够增加整体服务的部署效率,节约服务部署时间。
针对每个地图数据结构,分别按照该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,依次部署各目标服务。
例如,地图数据结构A中记录了有依赖关系的目标服务链式部署的先后顺序为:目标服务1→目标服务8→目标服务3→目标服务4,则依次部署目标服务1、目标服务8、目标服务3及目标服务4。
对于存在支路的情况,并不限定各支路的部署顺序,例如,地图数据结构B中记录了有依赖关系的目标服务链式部署的先后顺序为:目标服务目标服务4,支路1包括目标服务8,支路2包括目标服务3及目标服务5,支路1与支路2之间部署的先后顺序不做限定。但是支路1与支路2均需要在目标服务1部署完成后部署、且需要在目标服务4部署前部署。
在本申请实施例中,按照地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各地图数据结构的目标服务,能够实现各目标服务的自动部署,减少人工工作量,提高服务部署效率。
在一种可能的实施方式中,参见图2,上述方法还包括:
S201,获取上述关联关系中地图数据结构的数量,得到目标数量。
有依赖关系的各目标服务以链表的方式存储在一个地图数据结构中,不同地图数据结构中的目标服务间不存在依赖关系。获取关联关系中地图数据结构的数量,作为目标数量。
S202,按照上述目标数量,建立包括上述目标数量的线程的预设线程组。
按照目标数量,建立目标数量的线程,目标数量的线程组成预设线程组。获取地图数据结构的数量,通过线程组的方式采用多线程并行执行。具体的,每个线程均可以负责一个地图数据结构中各目标服务的部署。利用各线程,按照各地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各地图数据结构的目标服务。采用多线程并发部署的方法,对目标服务进行并行部署。而在每个线程内部,获取该线程对应的链表,针对该链表结构,可以采用for循环等方式,依次进行编译、打包、部署,以提高服务的整体部署效率。
在一种可能的实施方式中,上述利用预设线程组,按照各上述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各上述地图数据结构的目标服务,包括:
步骤一,确定上述预设线程组中每个线程各自对应的地图数据结构。
预设线程组包括多个线程,每个线程负责部署不同地图数据结构中的目标服务。线程与地图数据结构的对应方式可以利用相关负载均衡技术进行确定,例如,可以为每个线程随机分配对应的地图数据结构,或可以为每个线程平均分配对应的地图数据结构等。
步骤二,针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署该地图数据结构的目标服务。
本申请实施例中,利用多个线程并行部署各地图数据结构的目标服务,能够增加整体服务的部署效率,节约服务部署时间。
在一种可能的实施方式中,参见图3,上述针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署该地图数据结构的目标服务,包括:
S301,针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务。
针对任一地图数据结构,按照该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务。
S302,若该地图数据结构中当前待部署的目标服务已经编译及打包过,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署。
若该地图数据结构中当前待部署的目标服务已经编译及打包过,便不可以不再重新编译及打包该目标服务,直接获取编译及打包后目标服务部署即可。
S303,若该地图数据结构中当前待部署的目标服务尚未编译及打包过,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务。
若该地图数据结构中当前待部署的目标服务尚未编译及打包过,则需要编译及打包该目标服务,然后在部署编译及打包后目标服务部署。
S304,返回上述S301继续执行,直至各上述地图数据结构的目标服务均部署完成。
一个目标服务部署完成后,照地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,继续选取当前待部署的目标服务,重复执行上述步骤S301-S303,直至地图数据结构的目标服务均部署完成。本领域人员可以理解的是,在实际执行过程中,需要针对每个地图数据结构均执行本申请实施例的方法步骤。
在本申请实施例中,已经编译及打包过的目标服务直接获取使用即可,不用每次加载一个服务时均重新编译及打包,减少编译及打包的时间,节约***资源,并且可以进一步提升服务部署的效率。
可以通过判断指定存储位置中是否存在当前待部署的目标服务的打包标识,来确定其是否已经编译及打包过。在一种可能的实施方式中,上述方法还包括:将编译及打包后的目标服务存储进行缓存,并将各已缓存的编译及打包后的目标服务的标识存储到指定位置;
上述若该地图数据结构中当前待部署的目标服务已经编译及打包过,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署,包括:
若上述指定位置中存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
上述若该地图数据结构中当前待部署的目标服务尚未编译及打包过,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务,包括
若上述指定位置中未存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务。
每个目标服务均有唯一的标识,例如Tag(标签)号等。在缓存编译及打包后的目标服务存储的同时,还可以将该编译及打包后的目标服务的标识存储到指定位置,例如内存中等,在判断当前待部署的目标服务是否已经编译及打包过时,直接查询内存中的相应位置,判断是否存在当前待部署的目标服务的标识即可。
在一种可能的方式中,参见图4,上述方法还包括:
S401,在满足预设备份规则时,记录各上述目标服务的部署状态。
预设备份规则可以根据实际情况进行设定,例如设置为没间隔预设时间,便记录一次各目标服务的部署状态;或每完成一定数量的目标服务的部署,便记录一次各目标服务的部署状态,也可以实时记录各目标服务的部署状态等。目标服务的部署状态表示各目标服务的部署情况,例如可以针对目标服务的每个状态,包括编译、打包、部署等,设置一个Point值,通过目标服务Point值确定目标服务的部署状态。
S402,当获取到部署状态恢复指令时,按照上述部署状态,继续对各上述目标服务进行部署。
部署状态恢复指令可以为用户输入的,也可以为***自动生成的。例如,在服务部署过程中,当***从断电或宕机等意外情况恢复后,自动生成部署状态恢复指令。可以通过缓存机制以及代码遍历等方式,直接从各目标服务的部署状态表示的阶段处往下继续执行,从而快速实现断点处继续执行的效果。进一步增加部署的效率。
本申请实施例还提供了一种服务管理装置,参见图5,该装置包括:
关联关系获取模块501,用于获取待部署的各目标服务及各上述目标服务的关联关系,其中,上述关联关系包括多个地图数据结构,上述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;
目标服务部署模块502,用于利用预设线程组,按照各上述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各上述地图数据结构的目标服务。
在一种可能的方式中,上述预设线程组包括多个线程,其中,上述多个线程用于并行部署各上述地图数据结构的目标服务。
在一种可能的方式中,上述装置还包括:
目标数据获取模块,用于获取上述关联关系中地图数据结构的数量,得到目标数量;
线程组建立模块,用于按照上述目标数量,建立包括上述目标数量的线程的预设线程组。
在一种可能的实施方式中,上述目标服务部署模块502,包括:
对应关系确定子模块,用于确定上述预设线程组中每个线程各自对应的地图数据结构;
目标服务部署子模块,用于针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署该地图数据结构的目标服务。
在一种可能的实施方式中,上述目标服务部署子模块,包括:
当前服务确定单元,用于针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务;
第一部署单元,用于若该地图数据结构中当前待部署的目标服务已经编译及打包过,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
第二部署单元,用于若该地图数据结构中当前待部署的目标服务尚未编译及打包过,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务;
返回执行单元,返回上述当前服务确定单元继续执行,直至各上述地图数据结构的目标服务均部署完成。
在一种可能的实施方式中,上述装置还包括:
数据缓存模块,用于将编译及打包后的目标服务存储进行缓存,并将各已缓存的编译及打包后的目标服务的标识存储到指定位置;
上述第一部署单元,具体用于:若上述指定位置中存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
上述第二部署单元,具体用于若上述指定位置中未存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务。
本申请实施例还提供了一种电子设备,包括:处理器及存储器;
上述存储器,用于存放计算机程序;
上述处理器用于执行上述存储器存放的计算机程序时,实现如下步骤:
获取待部署的各目标服务及各上述目标服务的关联关系,其中,上述关联关系包括多个地图数据结构,上述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;
利用预设线程组,按照各上述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各上述地图数据结构的目标服务。
可选的,参见图6,本申请实施例的电子设备还包括通信接口602和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
可选的,上述处理器用于执行上述存储器存放的计算机程序时,还能够实现上述任一服务管理方法。
上述电子设备提到的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现如下步骤:
获取待部署的各目标服务及各上述目标服务的关联关系,其中,上述关联关系包括多个地图数据结构,上述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;
利用预设线程组,按照各上述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各上述地图数据结构的目标服务。
可选的,上述计算机程序被处理器执行时,还能够实现上述任一服务管理方法。
需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (6)
1.一种服务管理方法,其特征在于,所述方法包括:
获取待部署的各目标服务及各所述目标服务的关联关系,其中,所述关联关系包括多个地图数据结构,所述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;
利用预设线程组,按照各所述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各所述地图数据结构的目标服务;
所述方法还包括:
在满足预设备份规则时,记录各所述目标服务的部署状态;
当获取到部署状态恢复指令时,按照所述部署状态,继续对各所述目标服务进行部署;
所述预设线程组包括多个线程,其中,所述多个线程用于并行部署各所述地图数据结构的目标服务;
所述利用预设线程组,按照各所述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各所述地图数据结构的目标服务,包括:
确定所述预设线程组中每个线程各自对应的地图数据结构;
针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署该地图数据结构的目标服务;
所述针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署各所述地图数据结构的目标服务,包括:
针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务;
若该地图数据结构中当前待部署的目标服务已经编译及打包过,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
若该地图数据结构中当前待部署的目标服务尚未编译及打包过,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务;
返回上述针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务的步骤继续执行,直至各所述地图数据结构的目标服务均部署完成;
所述方法还包括:
将编译及打包后的目标服务存储进行缓存,并将各已缓存的编译及打包后的目标服务的标识存储到指定位置,每个目标服务均有唯一的标识;
所述若该地图数据结构中当前待部署的目标服务已经编译及打包过,包括:
若所述指定位置中存储有该地图数据结构中当前待部署的目标服务的标识;
所述若该地图数据结构中当前待部署的目标服务尚未编译及打包过,包括:
若所述指定位置中未存储有该地图数据结构中当前待部署的目标服务的标识。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述关联关系中地图数据结构的数量,得到目标数量;
按照所述目标数量,建立包括所述目标数量的线程的预设线程组。
3.一种服务管理装置,其特征在于,所述装置包括:
关联关系获取模块,用于获取待部署的各目标服务及各所述目标服务的关联关系,其中,所述关联关系包括多个地图数据结构,所述地图数据结构表示有依赖关系的各目标服务链式部署的先后顺序;
目标服务部署模块,用于利用预设线程组,按照各所述地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,部署各所述地图数据结构的目标服务;
所述装置还包括:
部署状态记录模块,用于在满足预设备份规则时,记录各所述目标服务的部署状态;
部署状态恢复模块,用于当获取到部署状态恢复指令时,按照所述部署状态,继续对各所述目标服务进行部署;
所述预设线程组包括多个线程,其中,所述多个线程用于并行部署各所述地图数据结构的目标服务;
所述目标服务部署模块,包括:
对应关系确定子模块,用于确定所述预设线程组中每个线程各自对应的地图数据结构;
目标服务部署子模块,用于针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,利用该地图数据结构对应的线程,部署该地图数据结构的目标服务;
所述目标服务部署子模块,包括:
当前服务确定单元,用于针对每个地图数据结构,基于该地图数据结构中有依赖关系的各目标服务链式部署的先后顺序,确定该地图数据结构中当前待部署的目标服务;
第一部署单元,用于若该地图数据结构中当前待部署的目标服务已经编译及打包过,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
第二部署单元,用于若该地图数据结构中当前待部署的目标服务尚未编译及打包过,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务;
返回执行单元,返回上述当前服务确定单元继续执行,直至各所述地图数据结构的目标服务均部署完成;
所述装置还包括:
数据缓存模块,用于将编译及打包后的目标服务存储进行缓存,并将各已缓存的编译及打包后的目标服务的标识存储到指定位置;
所述第一部署单元,具体用于:若所述指定位置中存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,获取编译及打包后的当前待部署的目标服务并进行部署;
所述第二部署单元,具体用于若所述指定位置中未存储有该地图数据结构中当前待部署的目标服务的标识,利用该地图数据结构对应的线程,编译、打包及部署当前待部署的目标服务。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
目标数据获取模块,用于获取所述关联关系中地图数据结构的数量,得到目标数量;
线程组建立模块,用于按照所述目标数量,建立包括所述目标数量的线程的预设线程组。
5.一种电子设备,其特征在于,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-2任一所述的服务管理方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述的服务管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911054615.1A CN110825391B (zh) | 2019-10-31 | 2019-10-31 | 服务管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911054615.1A CN110825391B (zh) | 2019-10-31 | 2019-10-31 | 服务管理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825391A CN110825391A (zh) | 2020-02-21 |
CN110825391B true CN110825391B (zh) | 2023-10-13 |
Family
ID=69552135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911054615.1A Active CN110825391B (zh) | 2019-10-31 | 2019-10-31 | 服务管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825391B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11467947B2 (en) * | 2020-10-19 | 2022-10-11 | EMC IP Holding Company LLC | Automated mocking of computer system deployments |
CN113098960A (zh) * | 2021-03-31 | 2021-07-09 | 北京三快在线科技有限公司 | 服务运行方法、装置、服务器及存储介质 |
CN113094052A (zh) * | 2021-06-09 | 2021-07-09 | 中电金信软件有限公司 | 应用构建方法、装置、计算机设备和存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487881A (zh) * | 2015-08-20 | 2016-04-13 | 广州爱九游信息技术有限公司 | 一种软件安装包打包方法、装置及*** |
CN106156198A (zh) * | 2015-04-22 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 基于分布式数据库的任务执行方法及装置 |
CN106547613A (zh) * | 2016-10-20 | 2017-03-29 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
CN107368359A (zh) * | 2017-05-31 | 2017-11-21 | 杭州大搜车汽车服务有限公司 | 一种异步任务执行方法及其存储介质、装置 |
CN107784479A (zh) * | 2017-02-16 | 2018-03-09 | 平安科技(深圳)有限公司 | 一种业务流程处理方法和装置 |
CN107870845A (zh) * | 2017-10-19 | 2018-04-03 | 北京工业大数据创新中心有限公司 | 面向微服务架构应用的管理方法及*** |
CN108595180A (zh) * | 2018-03-14 | 2018-09-28 | 广东能龙教育股份有限公司 | 一种基于依赖链的微服务自动部署方法 |
CN108762769A (zh) * | 2018-06-04 | 2018-11-06 | 万惠投资管理有限公司 | 微服务应用编排和部署方法、装置及计算机终端 |
CN109327490A (zh) * | 2017-07-31 | 2019-02-12 | 杭州华为数字技术有限公司 | 一种部署云服务组件的方法和装置 |
CN109491763A (zh) * | 2018-11-14 | 2019-03-19 | 北京奇艺世纪科技有限公司 | 一种***部署方法、装置及电子设备 |
CN109542462A (zh) * | 2018-10-17 | 2019-03-29 | 平安科技(深圳)有限公司 | 一种***环境部署方法、存储介质和服务器 |
CN109558237A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种任务状态管理方法及装置 |
CN109725785A (zh) * | 2018-05-08 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 任务执行情况追踪方法、装置、设备及可读存储介质 |
CN109901926A (zh) * | 2019-01-25 | 2019-06-18 | 平安科技(深圳)有限公司 | 基于大数据行为调度应用任务的方法、服务器及存储介质 |
CN110347398A (zh) * | 2018-04-08 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种应用程序的打包方法和装置 |
CN110391938A (zh) * | 2019-07-26 | 2019-10-29 | 北京百度网讯科技有限公司 | 用于部署服务的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294364A1 (en) * | 2006-06-15 | 2007-12-20 | International Business Machines Corporation | Management of composite software services |
US8806014B2 (en) * | 2010-03-19 | 2014-08-12 | Novell, Inc. | Techniques for intelligent service deployment |
US20150378701A1 (en) * | 2014-06-26 | 2015-12-31 | Microsoft Corporation | Cross-environment orchestration of deployment activities |
US9979779B2 (en) * | 2015-08-19 | 2018-05-22 | International Business Machines Corporation | Scheduling software deployment |
US10778810B2 (en) * | 2016-09-25 | 2020-09-15 | Salesforce.Com, Inc. | Staging and deployment to multiple service clouds |
CN110673936B (zh) * | 2019-09-18 | 2022-05-17 | 平安科技(深圳)有限公司 | 编排业务的断点续作方法、装置、存储介质及电子设备 |
-
2019
- 2019-10-31 CN CN201911054615.1A patent/CN110825391B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156198A (zh) * | 2015-04-22 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 基于分布式数据库的任务执行方法及装置 |
CN105487881A (zh) * | 2015-08-20 | 2016-04-13 | 广州爱九游信息技术有限公司 | 一种软件安装包打包方法、装置及*** |
CN106547613A (zh) * | 2016-10-20 | 2017-03-29 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
CN107784479A (zh) * | 2017-02-16 | 2018-03-09 | 平安科技(深圳)有限公司 | 一种业务流程处理方法和装置 |
CN107368359A (zh) * | 2017-05-31 | 2017-11-21 | 杭州大搜车汽车服务有限公司 | 一种异步任务执行方法及其存储介质、装置 |
CN109327490A (zh) * | 2017-07-31 | 2019-02-12 | 杭州华为数字技术有限公司 | 一种部署云服务组件的方法和装置 |
CN109558237A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种任务状态管理方法及装置 |
CN107870845A (zh) * | 2017-10-19 | 2018-04-03 | 北京工业大数据创新中心有限公司 | 面向微服务架构应用的管理方法及*** |
CN108595180A (zh) * | 2018-03-14 | 2018-09-28 | 广东能龙教育股份有限公司 | 一种基于依赖链的微服务自动部署方法 |
CN110347398A (zh) * | 2018-04-08 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种应用程序的打包方法和装置 |
CN109725785A (zh) * | 2018-05-08 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 任务执行情况追踪方法、装置、设备及可读存储介质 |
CN108762769A (zh) * | 2018-06-04 | 2018-11-06 | 万惠投资管理有限公司 | 微服务应用编排和部署方法、装置及计算机终端 |
CN109542462A (zh) * | 2018-10-17 | 2019-03-29 | 平安科技(深圳)有限公司 | 一种***环境部署方法、存储介质和服务器 |
CN109491763A (zh) * | 2018-11-14 | 2019-03-19 | 北京奇艺世纪科技有限公司 | 一种***部署方法、装置及电子设备 |
CN109901926A (zh) * | 2019-01-25 | 2019-06-18 | 平安科技(深圳)有限公司 | 基于大数据行为调度应用任务的方法、服务器及存储介质 |
CN110391938A (zh) * | 2019-07-26 | 2019-10-29 | 北京百度网讯科技有限公司 | 用于部署服务的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110825391A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825391B (zh) | 服务管理方法、装置、电子设备及存储介质 | |
US20190324772A1 (en) | Method and device for processing smart contracts | |
CN105490860B (zh) | 部署应用程序运行环境的方法、装置及*** | |
CN110187914B (zh) | 应用开发方法、***及装置 | |
CN106371940B (zh) | 一种程序崩溃解决方法及装置 | |
US8627293B2 (en) | Detecting applications in a virtualization environment | |
JP2014523026A5 (zh) | ||
CN105468529A (zh) | 一种安卓应用ui控件精准遍历方法和装置 | |
CN111949899B (zh) | 业务集成方法及业务平台 | |
CN109933350B (zh) | 在应用中嵌入代码的方法、装置及电子设备 | |
US9141363B2 (en) | Application construction for execution on diverse computing infrastructures | |
CN105955805A (zh) | 一种应用容器迁移的方法及装置 | |
US20150186124A1 (en) | Merging weighted recommendations for installation and configuration of software products | |
US10216502B2 (en) | System module deployment optimization | |
CN112579099A (zh) | 代码的部署方法、装置、存储介质及电子设备 | |
US8397217B2 (en) | Integrating templates into tests | |
CN114595461B (zh) | 一种数据处理的方法和装置 | |
CN110442399B (zh) | 应用的React Native业务执行方法、装置、存储介质及终端设备 | |
US20160364258A1 (en) | Method for generating upgrade campaigns to upgrade virtualization facilities | |
CN114546432A (zh) | 一种多应用的部署方法、装置、设备及可读存储介质 | |
CN104504331A (zh) | 虚拟化安全检测方法与*** | |
CN115297024B (zh) | 网络安全设备的性能测试方法、装置及电子设备 | |
CN110750270A (zh) | 一种套装软件的部署方法及装置 | |
CN111367796B (zh) | 应用程序调试方法及装置 | |
CN106648788A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |