CN116737393A - 资源部署方法、装置和存储介质及电子设备 - Google Patents
资源部署方法、装置和存储介质及电子设备 Download PDFInfo
- Publication number
- CN116737393A CN116737393A CN202311012492.1A CN202311012492A CN116737393A CN 116737393 A CN116737393 A CN 116737393A CN 202311012492 A CN202311012492 A CN 202311012492A CN 116737393 A CN116737393 A CN 116737393A
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- deployment
- data
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000003860 storage Methods 0.000 title claims abstract description 37
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 21
- 238000013500 data storage Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000013468 resource allocation Methods 0.000 claims 7
- 239000000758 substrate Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 18
- 230000006378 damage Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种资源部署方法、装置和存储介质及电子设备。其中,该方法包括:获取待执行的第一资源部署任务和第二资源部署任务,其中,第一资源部署任务和第二资源部署任务共用一个目标资源数据库,目标资源数据库中存储有执行第一资源部署任务和第二资源部署任务时所需的资源数据;调用目标资源数据库,并从目标资源数据库中提取出第一资源数据和第二资源数据;并行部署第一资源数据和第二资源数据,直至第一资源部署任务和第二资源部署任务执行完成。本申请可应用于大数据技术领域。本申请解决了资源部署的效率较低的技术问题。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种资源部署方法、装置和存储介质及电子设备。
背景技术
在现有的云资源部署方式中,往往采用串行部署方式,即不同的资源部署任务具有先后的执行顺序,且只有前一个资源部署任务完成后才能够进行下一个资源部署任务的执行,进而导致在遇到当前资源任务部署缓慢的情况下,将阻塞整个资源部署进程,从而使得资源部署效率较低的问题。
故,相关技术中存在资源部署效率较低的技术问题。
发明内容
本申请实施例提供了一种资源部署方法、装置和存储介质及电子设备,以至少解决相关技术中存在资源部署效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种资源部署方法,包括:获取待执行的第一资源部署任务和第二资源部署任务,其中,上述第一资源部署任务和上述第二资源部署任务共用一个目标资源数据库,上述目标资源数据库中存储有执行上述第一资源部署任务和上述第二资源部署任务时所需的资源数据;调用上述目标资源数据库,并从上述目标资源数据库中提取出第一资源数据和第二资源数据,其中,上述第一资源数据为执行上述第一资源部署任务时所需的资源数据,上述第二资源数据为执行上述第二资源部署任务时所需的资源数据;并行部署上述第一资源数据和上述第二资源数据,直至上述第一资源部署任务和上述第二资源部署任务执行完成。
根据本申请实施例的另一方面,还提供了一种资源部署装置,包括:获取单元,用于获取待执行的第一资源部署任务和第二资源部署任务,其中,上述第一资源部署任务和上述第二资源部署任务共用一个目标资源数据库,上述目标资源数据库中存储有执行上述第一资源部署任务和上述第二资源部署任务时所需的资源数据;调用单元,用于调用上述目标资源数据库,并从上述目标资源数据库中提取出第一资源数据和第二资源数据,其中,上述第一资源数据为执行上述第一资源部署任务时所需的资源数据,上述第二资源数据为执行上述第二资源部署任务时所需的资源数据;部署单元,用于并行部署上述第一资源数据和上述第二资源数据,直至上述第一资源部署任务和上述第二资源部署任务执行完成。
作为一种可选的方案,上述装置还包括:获取模块,用于在上述获取待执行的第一资源部署任务和第二资源部署任务之前,获取待执行的N个资源部署任务,其中,上述N个资源部署任务包括上述第一资源部署任务和上述第二资源部署任务,上述N个资源部署任务共用一个上述目标资源数据库,N为大于等于2的正整数;第一配置模块,用于在上述获取待执行的第一资源部署任务和第二资源部署任务之前,为上述N个资源部署任务中的各个资源部署任务分别配置任务执行优先级,其中,上述任务执行优先级用于指示上述各个资源部署任务在上述N个资源部署任务中的执行次序,上述第一资源部署任务和上述第二资源部署任务配置相同的上述任务执行优先级。
作为一种可选的方案,上述装置还包括:确定模块,用于在上述并行部署上述第一资源数据和上述第二资源数据的过程中,在上述第一资源数据已部署完成、而上述第二资源数据还未部署完成且上述N个资源部署任务中还存在其他资源部署任务的情况下,从上述N个资源部署任务中确定出第三资源部署任务,其中,上述第三资源部署任务配置有第一任务执行优先级,上述第一资源部署任务和上述第二资源部署任务配置有第二任务执行优先级,上述第一任务执行优先级指示的执行次序为上述第二任务执行优先级指示的下一执行次序;调用模块,用于在上述并行部署上述第一资源数据和上述第二资源数据的过程中,在上述第三资源部署任务与上述第一资源数据为依赖关系、而上述第三资源部署任务与上述第二资源数据非上述依赖关系的情况下,调用上述目标资源数据库,并从上述目标资源数据库中提取出第三资源数据,其中,上述依赖关系用于表示执行上述第三资源部署任务时所需依赖的数据,上述第三资源数据为执行上述第三资源部署任务时所需的资源数据;部署模块,用于在上述并行部署上述第一资源数据和上述第二资源数据的过程中,部署上述第三资源数据,直至上述第三资源部署任务执行完成。
上述装置还包括:执行模块,用于在上述获取待执行的N各资源部署任务之后,按照上述任务执行优先级,依次执行上述N个资源部署任务,直至上述N个资源部署任务对应的N个资源数据都部署完成,其中,上述任务执行优先级与上述各个资源部署任务在上述N个资源部署任务中的执行次序呈负相关关系;上述装置还包括:销毁模块,用于在上述按照上述任务执行优先级,依次执行上述N个资源部署任务,直至上述N个资源部署任务执行完成之后,按照上述任务执行优先级,依次销毁已部署的上述N个资源数据,其中,上述任务执行优先级与上述N个资源数据中的各个资源数据在上述N个资源数据中的销毁次序呈正关关系。
作为一种可选的方案,上述第一配置模块,包括:配置子模块,用于在上述N个资源部署任务中的第一目标资源部署任务执行时所需依赖的数据包括目标资源数据、且上述目标资源数据为上述N个资源部署任务中的第二目标资源部署任务执行完成后得到的资源数据的情况下,为上述第一目标资源部署任务配置第一目标任务执行优先级,以及为上述第二目标资源部署任务配置第二目标任务执行优先级,其中,上述第二目标任务执行优先级指示的执行次序小于上述第一目标任务执行优先级指示的执行次序。
作为一种可选的方案,上述装置还包括:调整模块,用于在上述为上述第一目标资源部署任务配置第一目标任务执行优先级,以及为上述第二目标资源部署任务配置第二目标任务执行优先级之后,响应于对上述第一目标资源部署任务触发的执行优先级调整请求,为上述第一目标资源部署任务重新配置第三目标任务执行优先级,其中,上述第二目标任务执行优先级指示的执行次序小于上述第三目标任务执行优先级指示的执行次序。
作为一种可选的方案,上述装置还包括:第二配置模块,用于在上述获取待执行的第一资源部署任务和第二资源部署任务之前,在上述第一资源数据和上述第二资源数据的数据总量大于上述目标资源数据库预设的数据存储上限的情况下,为上述目标资源数据库配置备用资源数据库,其中,上述备用资源数据库用于转存上述目标资源数据库中的部分资源数据。
根据本申请实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上资源部署方法。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的资源部署方法。
在本申请实施例中,获取待执行的第一资源部署任务和第二资源部署任务,其中,上述第一资源部署任务和上述第二资源部署任务共用一个目标资源数据库,上述目标资源数据库中存储有执行上述第一资源部署任务和上述第二资源部署任务时所需的资源数据;调用上述目标资源数据库,并从上述目标资源数据库中提取出第一资源数据和第二资源数据,其中,上述第一资源数据为执行上述第一资源部署任务时所需的资源数据,上述第二资源数据为执行上述第二资源部署任务时所需的资源数据;并行部署上述第一资源数据和上述第二资源数据,直至上述第一资源部署任务和上述第二资源部署任务执行完成。通过设置待执行的资源部署任务共用一个目标资源数据库,进而在对各个资源部署任务的解析处理后调用共用的目标资源数据库以提取各个资源部署任务在执行时所需的资源数据,用于并行部署,不仅达到了并行部署资源数据的目的,实现了提高资源部署效率的技术效果,还通过计算和存储分离的设计,实现解耦的效果,提高资源部署速度,从而实现了提高资源部署效率的技术效果,解决了相关技术中存在资源部署效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的资源部署方法的应用环境的示意图;
图2是根据本申请实施例的一种可选的资源部署方法的流程的示意图;
图3是根据本申请实施例的一种可选的资源部署方法的示意图;
图4是根据本申请实施例的另一种可选的资源部署方法的示意图;
图5是根据本申请实施例的又一种可选的资源部署方法的示意图;
图6是根据本申请实施例的又一种可选的资源部署方法的示意图;
图7是根据本申请实施例的又一种可选的资源部署方法的示意图;
图8是根据本申请实施例的又一种可选的资源部署方法的示意图;
图9是根据本申请实施例的又一种可选的资源部署方法的示意图;
图10是根据本申请实施例的又一种可选的资源部署方法的示意图;
图11是根据本申请实施例的又一种可选的资源部署方法的示意图;
图12是根据本申请实施例的又一种可选的资源部署方法的示意图;
图13是根据本申请实施例的又一种可选的资源部署方法的示意图;
图14是根据本申请实施例的又一种可选的资源部署方法的示意图;
图15是根据本申请实施例的又一种可选的资源部署装置的示意图;
图16是根据本申请实施例的又一种可选的资源部署装置的示意图;
图17根据本申请实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
根据本申请实施例的一个方面,提供了一种资源部署方法,可选地,作为一种可选的实施方式,上述资源部署方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括客户端102以及服务器112,该客户端102上可以但不限于包括显示器104、处理器106及存储器108,该服务器112包括数据库114以及处理引擎116。
具体过程可如下步骤:
步骤S102,客户端102获取待执行的第一资源部署任务和第二资源部署任务,其中,第一资源部署任务和第二资源部署任务共用数据库114,所述数据库114存储有执行第一资源部署任务和第二资源部署任务所需的资源数据;
步骤S104-S106,客户端102向服务器112发起资源调用请求,其中,资源调用请求用于从数据库114中获取执行第一资源部署任务时所需的第一资源数据和执行第二资源部署任务时所需的第二资源数据;
步骤S108,服务器112响应资源调用请求,通过处理引擎116从数据库114中获取第一资源数据和第二资源数据;
步骤S110-S112,通过网络110将第一资源数据和第二资源数据发送至客户端102;
步骤S114,客户端102通过处理器106利用第一资源数据和第二资源数据进行资源数据的并行部署,以及通过显示器104显示并行部署的进度,并将并行部署过程中产生的相关处理数据存储在存储器108。
除图1示出的示例之外,上述步骤可以由客户端或服务器独立完成,或由客户端和服务器共同协作完成,如由客户端102执行上述S108等步骤,从而减轻服务器112的处理压力。该客户端102包括但不限于笔记本电脑、平板电脑、台式电脑、智能电视等,本申请并不限制客户端102的具体实现方式。服务器112可以是单个的服务器或者是多个服务器构成的服务器集群,也可以是云服务器。
可选地,作为一种可选的实施方式,如图2所示,资源部署方法可以由客户端执行,如图1所示的客户端或服务器,具体步骤包括:
S202,获取待执行的第一资源部署任务和第二资源部署任务,其中,第一资源部署任务和第二资源部署任务共用一个目标资源数据库,目标资源数据库中存储有执行第一资源部署任务和第二资源部署任务时所需的资源数据;
S204,调用目标资源数据库,并从目标资源数据库中提取出第一资源数据和第二资源数据,其中,第一资源数据为执行第一资源部署任务时所需的资源数据,第二资源数据为执行第二资源部署任务时所需的资源数据;
S206,并行部署第一资源数据和第二资源数据,直至第一资源部署任务和第二资源部署任务执行完成。
可选地,在本实施例中,上述资源部署方法可以但不限于应用在云资源的自动化部署场景。在该场景下,可部署的运资源可以但不限于包括软硬件资源,例如云服务器CVM、云数据库MySQL等。可选地,通过声明书式语言定义云资源,将定义的云资源自动部署到用户的公用云环境下,即降低云资源的交付成本。
需要说明的是,在现有的云资源部署方式中,往往采用串行部署方式,即不同的资源部署任务具有先后的执行顺序,且只有前一个资源部署任务完成后才能够进行下一个资源部署任务的执行。进一步举例说明,如图3所示,现有的资源部署模式中存在多个部署服务模块,且每一个部署服务模块包括部署服务及其关联的数据库,如部署服务摸摸看302包括部署服务1和用于存储部署服务1的资源数据的数据库1。一方面,进而由于现有的资源部署模式中每一个部署服务(对应一个部署任务)都需要在运行时启动其对应的数据库,因此为了降低系统负载,因此使用资源的串行部署方式,以使得同一时间段只使用一个数据库以及其对应的部署服务,并在当前部署服务完成后进一步执行下一个部署服务。然而,该方式存在在遇到当前资源任务部署缓慢的情况下,将阻塞整个资源部署进程,从而使得资源部署效率较低的问题。
针对上述问题,利用上述资源部署方法,通过设置待执行的资源部署任务共用一个目标资源数据库,进而在对各个资源部署任务的解析处理后调用共用的目标资源数据库以提取各个资源部署任务在执行时所需的资源数据,用于并行部署,不仅达到了并行部署资源数据的目的,实现了提高资源部署效率的技术效果,还通过计算和存储分离的设计,实现解耦的效果,提高资源部署速度,从而实现了提高资源部署效率的技术效果,解决上述相关技术中存在资源部署效率较低的问题。
可选地,在本实施例中,待执行的资源部署任务可以但不限于用于指示将目标资源数据库中存储的对应资源数据部署到目标环境中,其中,待执行的资源部署任务包括第一资源部署任务和第二资源部署任务,对应的资源数据可以但不限于为对应的软硬件云资源,例如云服务器CVM、云数据库MySQL等,目标环境可以但不限于为用户的公有云环境,还可以但不限于为其他云平台环境。
可选地,在本实施例中,在获取到待执行的第一资源部署任务和第二资源部署任务之后,可以但不限于对第一资源部署任务和第二资源部署任务进行解析,并生成资源调用请求,其中,第一资源部署任务和第二资源部署任务可以但不限于为资源描述文件的形式,资源调用请求用于请求调用资源数据库以提取第一资源部署任务对应的第一资源数据和第二资源部署任务对应的第二资源数据。
可选地,在本实施例中,在从目标资源数据库中获取到第一资源数据和第二资源数据的情况下,并行部署第一资源数据和第二资源数据,直至对应的第一资源部署任务和第二资源部署任务执行完成。
进一步举例说明,一种基于上述资源部署方法的资源部署服务示意图如图4所示,其中,部署服务404提供集中式的服务,用于对传入的云资源描述文件402进行解析处理,以确定待部署云资源和待部署的目标网络环境,并将待部署的云资源自动化部署到目标网络环境,其中,在本实施例中,待部署云资源为云服务器CVM和云数据库MySQL,待部署的目标环境为用户公有云环境406。
进一步举例说明,一种基于上述部署服务404的资源部署服务架构图如图5所示,至少包括计算服务模块502和存储服务模块504,其中,计算服务模块502用于根据对云资源描述文件进行解析得到的域名信息,进行负载均衡后得到具体区域(例如区域A或区域B,还可以为其他区域,图中不再额外示意),并提供该具体区域对应的部署服务,以确定待部署的资源数据信息和相关其他部署信息(如待部署的网络环境)。存储服务模块504包括数据持久层、主数据库和备数据库,用于基于上述待部署的资源数据信息,将部署服务需要的资源数据进行返回,其中,主数据库可以但不限于用于存储第一数量上限的资源数据,备份数据可以但不限于用用于转存第二数量上限的资源数据。
需要说明的是,上述计算服务模块502可以但不限于提供资源部署的相关计算服务,可快速拓展,上述存储服务模块504可以但不限于用于提供资源部署的数据存储服务。通过将计算和存储分离的资源部署架构设计,能够提供更好的拓展性,支持更高的吞吐量,从而大大提高资源部署的速度,实现提高资源部署效率的技术效果。
通过本申请提供的实施例,获取待执行的第一资源部署任务和第二资源部署任务,其中,第一资源部署任务和第二资源部署任务共用一个目标资源数据库,目标资源数据库中存储有执行第一资源部署任务和第二资源部署任务时所需的资源数据;调用目标资源数据库,并从目标资源数据库中提取出第一资源数据和第二资源数据,其中,第一资源数据为执行第一资源部署任务时所需的资源数据,第二资源数据为执行第二资源部署任务时所需的资源数据;并行部署第一资源数据和第二资源数据,直至第一资源部署任务和第二资源部署任务执行完成。通过设置待执行的资源部署任务共用一个目标资源数据库,进而在对各个资源部署任务的解析处理后调用共用的目标资源数据库以提取各个资源部署任务在执行时所需的资源数据,用于并行部署,不仅达到了并行部署资源数据的目的,实现了提高资源部署效率的技术效果,还通过计算和存储分离的设计,实现解耦的效果,提高资源部署速度,从而实现了提高资源部署效率的技术效果,解决了相关技术中存在资源部署效率较低的技术问题。
作为一种可选的方案,在获取待执行的第一资源部署任务和第二资源部署任务之前,方法还包括:
S1,获取待执行的N个资源部署任务,其中,N个资源部署任务包括第一资源部署任务和第二资源部署任务,N个资源部署任务共用一个目标资源数据库;
S2,为N个资源部署任务中的各个资源部署任务分别配置任务执行优先级,其中,任务执行优先级用于指示各个资源部署任务在N个资源部署任务中的执行次序,第一资源部署任务和第二资源部署任务配置相同的任务执行优先级。
可选地,在本实施例中,获取待执行的N个资源部署任务,可以但不限于通过对传入的资源描述文件进行解析处理得到,其中,资源描述文件可以但不限于通过声明式语言定义的文件,用于指示待部署的资源和待部署的网络环境,可以但不限于为hcl格式、json格式、tf格式等。
可选地,在本实施例中,在获取到至少解析处理得到的N个资源部署任务的情况下,对各个资源部署任务分别配置任务执行优先级,其中,每一个资源部署任务用于指示将一个目标资源进行部署,第一资源部署任务和第二资源部署任务具有相同的任务执行优先级。
需要说明的是,上述第一资源部署任务和第二资源部署任务仅为实例,可以理解的是,在调用目标资源数据库之前,可以但不限于获取待执行的多个任务执行优先级相同的资源部署任务,以及在调用目标资源数据库之后,可以但不限于并行部署上述多个任务执行优先级相同的资源部署任务对应的资源数据,直至上述多个任务执行优先级相同的资源部署任务都执行完成。
进一步举例说明,基于基于上述资源部署方法的资源部署计划创建示意图如图6所示,包括:解析传入的资源描述文件602(如tf文件),得到用于指示待部署的多个资源及其依赖关系的拓扑结构604,并按照依赖关系得到序列化后的结构化数据(ADG模型),即资源列表606。
如图6所示,待部署的资源包括资源TKE、资源CVM、资源MySQL、资源subnet和资源VPC,其中,如拓扑结构604所示,资源TKE直接依赖于资源CVM和资源subnet,资源CVM直接依赖于资源subnet和资源VPC……资源VPC为最基础的资源。进一步,如资源列表606所示,资源VPC作为最基础最底层的资源,深度信息为0,同时资源VPC对应的任务执行优先级最高。同理,资源subnet依赖于资源VPC,且深度信息为1,对应的任务执行优先级低于资源VPC但高于资源CVM和资源MySQL。资源CVM和资源MySQL的深度信息都为2,对应的任务执行优先级相同。
需要说明的是,任务执行优先级可以但不限于与资源的深度信息成反比关系,深度信息越低的资源,任务执行优先级越高,待部署的顺序越靠前。
通过本申请提供的实施例,获取待执行的N个资源部署任务,其中,所述N个资源部署任务包括所述第一资源部署任务和所述第二资源部署任务,所述N个资源部署任务共用一个所述目标资源数据库;为所述N个资源部署任务中的各个资源部署任务分别配置任务执行优先级,其中,所述任务执行优先级用于指示所述各个资源部署任务在所述N个资源部署任务中的执行次序,所述第一资源部署任务和所述第二资源部署任务配置相同的所述任务执行优先级。通过在资源部署过程中,将任务执行优先级相同的资源部署任务并行执行,达到了并行部署资源数据的目的,实现了提高资源部署效率的技术效果。
作为一种可选的方案,在并行部署第一资源数据和第二资源数据的过程中,方法还包括:
S1,在第一资源数据已部署完成、而第二资源数据还未部署完成且N个资源部署任务中还存在其他资源部署任务的情况下,从N个资源部署任务中确定出第三资源部署任务,其中,第三资源部署任务配置有第一任务执行优先级,第一资源部署任务和第二资源部署任务配置有第二任务执行优先级,第一任务执行优先级指示的执行次序为第二任务执行优先级指示的下一执行次序;
S2,在第三资源部署任务与第一资源数据为依赖关系、而第三资源部署任务与第二资源数据非依赖关系的情况下,调用目标资源数据库,并从目标资源数据库中提取出第三资源数据,其中,依赖关系用于表示执行第三资源部署任务时所需依赖的数据,第三资源数据为执行第三资源部署任务时所需的资源数据;
S3,部署第三资源数据,直至第三资源部署任务执行完成。
可选地,在本实施例中,在并行部署的第一资源数据和第二资源数据中的第一资源先部署完成的情况下,获取任务执行优先级为第一资源数据对应的第一任务执行优先级的下一更低优先级(即第二任务执行优先级)的第三资源部署任务,其中,第三资源部署任务与第一资源数据为依赖关系,且第三资源部署任务依赖于第一资源数据,即至少在第一资源数据部署完成后才能够尝试进行第三资源部署任务的后续执行。
可选地,在本实施例中,在第三资源部署任务与第一资源数据为依赖关系且第三资源部署任务与第一任务执行优先级的其他资源数据非依赖关系的情况下,调用目标资源数据库,以及部署提取的第三资源数据直至第三资源部署任务完成。
需要说明的是,在第三资源部署任务作为第二任务执行优先级的第一个资源部署任务完成时,从N个资源部署任务中确定出第四资源部署任务,其中,第四资源部署任务配置对应的任务执行优先级指示的执行次序为第一任务执行优先级指示的下一执行次序。在第四资源部署任务与第三资源数据为依赖关系而第四资源部署任务与第一任务执行优先级的其他资源数据非依赖关系的情况下,开始调用并部署第四资源部署任务对应的资源数据。
进一步举例说明,以图6为例进行说明,在已经先后完成深度为0的资源VPC和深度为1的资源subnet的资源部署任务,进一步在步行部署深度为2的资源CVM和资源MySQL的过程中,在检测到资源CVM的资源部署任务完成但资源MySQL的资源部署任务还在进行的情况下,获取深度为3且依赖于资源CVM且不依赖于资源MySQL的新的资源部署任务,并开始执行,即资源TKE的部署任务开始执行。
需要说明的是,在当前深度的第一个资源部署完成但当前深度的其他资源还没部署完成后,获取下一深度的待部署资源的依赖关系,并确定能否提前开始部署符合条件的下一深度的待部署资源,实现不同两个深度的资源并行部署,能够进一步提高资源的部署速度,实现提高资源部署效率的技术效果。
通过本申请提供的实施例,在第一资源数据已部署完成、而第二资源数据还未部署完成且N个资源部署任务中还存在其他资源部署任务的情况下,从N个资源部署任务中确定出第三资源部署任务,其中,第三资源部署任务配置有第一任务执行优先级,第一资源部署任务和第二资源部署任务配置有第二任务执行优先级,第一任务执行优先级指示的执行次序为第二任务执行优先级指示的下一执行次序;在第三资源部署任务与第一资源数据为依赖关系、而第三资源部署任务与第二资源数据非依赖关系的情况下,调用目标资源数据库,并从目标资源数据库中提取出第三资源数据,其中,依赖关系用于表示执行第三资源部署任务时所需依赖的数据,第三资源数据为执行第三资源部署任务时所需的资源数据;部署第三资源数据,直至第三资源部署任务执行完成。实现不同两个深度的资源并行部署,能够进一步提高资源的部署速度,实现提高资源部署效率的技术效果。
作为一种可选的方案,在获取待执行的N个资源部署任务之后,方法还包括:
S1,按照任务执行优先级,依次执行N个资源部署任务,直至N个资源部署任务对应的N个资源数据都部署完成,其中,任务执行优先级与各个资源部署任务在N个资源部署任务中的执行次序呈负相关关系;
在按照任务执行优先级,依次执行N个资源部署任务,直至N个资源部署任务执行完成之后,方法还包括:
S2,按照任务执行优先级,依次销毁已部署的N个资源数据,其中,任务执行优先级与N个资源数据中的各个资源数据在N个资源数据中的销毁次序呈正关关系。
可选地,在本实施例中,按照任务执行优先级,执行各个待部署的资源部署任务,直至全部资源部署数据都部署完成,其中,任务执行优先级与各个资源部署任务的执行次序成负相关关系。
需要说明的是,上述执行次序为任务执行的启动时间信息,即在存在不同任务执行优先级的资源部署任务执行过程中,任务执行优先级高的资源部署任务的启动时间也晚于任务执行优先级低的资源部署任务。
进一步举例说明,结合图7中的(a)-(f)所示,一种基于上述资源部署方法的资源执行调度过程,包括:
步骤S702,初始化指针i=0;
步骤S704,获取指针 i 指向对应深度的资源集合X,其中,在资源集合X非空的情况下,如图7中的(a)所示,资源集合X包括资源VPC、资源subnet、资源CVM、资源MySQL、资源TKE,则继续执行步骤S706,否则在资源集合X为空的情况下跳转至步骤S712;
步骤S706,按照深度从低到高的顺序,对资源集合X中的资源,调用其对应Provider的创建接口,状态更新为Creating,以开始对该资源进行创建,如图7中的(a)所示,此时正在开始创建深度为0的VPC资源;
步骤S708,对所有状态为 Creating 的资源,调用其 Provider 的就绪检查接口进行轮训,如果此链路上有资源部署成功,则开启新的部署链路,跳转至步骤S710,直到此链路上的所有资源创建成功或创建失败,成功则跳转至步骤S712,失败则跳转至步骤S714;
步骤S710,新增部署链路,指针 j = i+1,重复步骤S704,此链路所有可部署资源(依赖的资源状态为 Ready)部署完成,删除部署链路;
步骤S712,指针 i自增,并跳转至步骤S704;
步骤S714,如果资源清单中有失败的资源,则更新部署状态为失败,否则更新部署状态为成功。
需要说明的是,如图7中的(b)所示,该资源列表状态下资源VPC已完成资源创建,并更新状态为Ready;如图7中的(c)所示,该资源列表状态下已经完成资源VPC和资源subnet的创建,在并行部署创建相同深度的资源CVM和资源MySQL;如图7中的(d)所示,该资源列表状态下资源VPC、资源sunbet和深度为2的资源CVM已经创建完成,但深度为2的资源MySQL仍在创建中,以及深度为3的资源TKE在等待创建中;如图7中的(e)所示,该资源列表状态下新增了部署链路,初始化指针j=2+1=3,以开始创建依赖于资源CVM但不依赖于资源MySQL的资源TKE的部署;如图7中的(f)所示,该资源列表状态下各个深度的资源均已执行部署完成。
需要说明的是,上述图7所示的资源列表为上述图6所示的资源列表606,对应的依赖关系如上述图6所示的拓扑结构604所示。
可选地,在本实施例中,按照任务执行优先级,执行各个待部署的资源销毁任务,直至全部资源部署数据都销毁完成,其中,任务执行优先级与各个资源部署任务的销毁次序成正相关关系。
需要说明的是,上述销毁次序为任务销毁的启动时间信息,即在存在不同任务执行优先级的资源部署任务销毁过程中,任务执行优先级高的资源部署任务的启动时间也早于任务执行优先级低的资源部署任务。
进一步举例说明,结合图8中的(a)-(d)所示,一种基于上述资源部署方法的资源销毁调度过程,销毁任务执行逻辑同部署任务,但是执行顺序相反,从依赖深度最大的资源开始销毁,以此类推。
需要说明的是,如图8中的(a)所示,该资源列表状态下初始化指针i=3(资源列表中深度的最大值),资源TKE出于资源销毁过程中;如图8中的(b)所示,该资源列表状态下资源TKE已完成资源销毁,并更新指针i=2;如图8中的(c)所示,该资源列表状态下正在更新最底层、最基础的资源VPC;如图8中的(d)所示,该资源列表状态下待销毁的全部资源已完成销毁。
需要说明的是,上述图8所示的资源列表为上述图6所示的资源列表606,对应的依赖关系如上述图6所示的拓扑结构604所示。
通过本申请提供的实施例,按照任务执行优先级,依次执行N个资源部署任务,直至N个资源部署任务对应的N个资源数据都部署完成,其中,任务执行优先级与各个资源部署任务在N个资源部署任务中的执行次序呈负相关关系;按照任务执行优先级,依次销毁已部署的N个资源数据,其中,任务执行优先级与N个资源数据中的各个资源数据在N个资源数据中的销毁次序呈正关关系。
作为一种可选的方案,为N个资源部署任务中的各个资源部署任务分别配置任务执行优先级,包括:
S1,在N个资源部署任务中的第一目标资源部署任务执行时所需依赖的数据包括目标资源数据、且目标资源数据为N个资源部署任务中的第二目标资源部署任务执行完成后得到的资源数据的情况下,为第一目标资源部署任务配置第一目标任务执行优先级,以及为第二目标资源部署任务配置第二目标任务执行优先级,其中,第二目标任务执行优先级指示的执行次序小于第一目标任务执行优先级指示的执行次序。
需要说明的是,在第一目标资源部署任务执行时所需要以来的数据包括第二目标资源部署任务执行完成后得到的目标资源数据的情况下,确定第一目标资源部署任务需要在第一目标资源部署任务执行完成之后进行,即第一目标资源部署任务对应的执行次序大于第二目标资源部署任务对应的执行次序。
作为一种可选的方案,在为第一目标资源部署任务配置第一目标任务执行优先级,以及为第二目标资源部署任务配置第二目标任务执行优先级之后,方法还包括:
S1,响应于对第一目标资源部署任务触发的执行优先级调整请求,为第一目标资源部署任务重新配置第三目标任务执行优先级,其中,第二目标任务执行优先级指示的执行次序小于第三目标任务执行优先级指示的执行次序。
可选地,在本实施例中,在第一目标资源部署任务触发执行优先级调整请求的情况下,为第一目标资源部署任务重新配置新的第三目标任务执行优先级,其中,新的第三目标任务执行优先级指示的执行次序大于第二目标任务执行优先级指示的执行次序。
需要说明的是,在根据实际需要对部分资源的优先级调整的情况下,也即更改部分资源在拓扑结构中的位置或更改部分资源在资源列表中的深度信息,以提高对资源部署的灵活性和可拓展性。
需要说明的是,在上述更改的过程中,无论是降低优先级或提高优先级,也即无论是增加还是降低在资源列表中的深度信息,都需要被依赖关系限制,即改变前后各个资源之间的依赖关系不能发生变化,否则则上述优先级调整请求不被允许执行。
进一步举例说明,如图9中的(a)所示,针对资源MySQL的优先级调整前的拓扑结构902与针对资源MySQL的优先级调整后的拓扑结构904,区别在于资源MySQL的待执行的次序发生了变化,对应的在资源列表中的深度信息发生了变化,但是各个资源之间的依赖关系并未发生任何改变。
通过本申请提供的实施例,响应于对第一目标资源部署任务触发的执行优先级调整请求,为第一目标资源部署任务重新配置第三目标任务执行优先级,其中,第二目标任务执行优先级指示的执行次序小于第三目标任务执行优先级指示的执行次序。不仅通过执行优先级调整达到了提高资源部署的灵活性和可拓展的目的,还通过依赖关系的限制,降低当前调整对其他资源的影响,进而保证资源部署的稳定性和安全性。
作为一种可选的方案,在获取待执行的第一资源部署任务和第二资源部署任务之前,方法还包括:
S1,在第一资源数据和第二资源数据的数据总量大于目标资源数据库预设的数据存储上限的情况下,为目标资源数据库配置备用资源数据库,其中,备用资源数据库用于转存目标资源数据库中的部分资源数据。
可选地,在本实施例中,备用资源数据库可以但不限于用于缓解目标资源数据库的资源数据存储压力,其中,目标资源数据库可以但不限于用于存储第一数量上限的资源数据,备用资源数据库可以但不限于用于存储第二数量上限的资源数据,其中,第一数量上限可但不限于大于第二数量上限,目标资源数据库中的资源数据与备用资源数据库中的资源数据的类型不同。
可选地,在本实施例中,备用资源数据库还可以但不限于避免目标资源数据库在发生异常时无法响应资源数据提取请求进而导致部署服务中断的情况,备用资源数据库可以但不限于存储与目标资源数据库相同数量和类型的资源数据,并在目标资源数据库无法正常使用时(如请求过多或被恶意攻击)进行启动或替代。
通过本申请提供的实施例,在第一资源数据和第二资源数据的数据总量大于目标资源数据库预设的数据存储上限的情况下,为目标资源数据库配置备用资源数据库,其中,备用资源数据库用于转存目标资源数据库中的部分资源数据。通过备用资源数据库的配置,能够实现对目标资源数据库的数据存储和提取响应的压力缓解,提高资源部署的效率,并保障资源部署的安全性和稳定性。
作为一种可选的方案,将上述资源部署方法应用在一种实现公有云软硬件资源自动化部署的场景下,例如将上述资源部署方法作为基础服务,集成在其他业务中,为其提供资源部署的能力,如图10所示:上游调用服务模块1002用于向部署服务模块1004下发资源描述文件,其中,资源描述文件用于初始化或调整用于部署服务的部署参数;部署服务模块1004用于部署资源、升级资源、以及销毁资源,分别对应部署任务、升级任务和销毁任务;在资源部署服务完成后,通过消息队列模块1006向下游消费系统1008提供已部署的服务资源。
进一步举例说明,基于上述图10中的部署服务模块1004,一种可选的资源部署周期可以但不限于包括:创建部署计划、执行部署任务、执行升级任务(可选)、执行销毁任务。完整的流程如图11所示:
步骤S1102,创建部署计划:解析传入的资源描述文件(如.tf文件),按照依赖关系将描述文件序列化成结构化数据(DAG模型),即待部署(或更新)的资源列表数据,具体实施例如图6及其对应说明所示;
步骤S1104,判断是否是第一次部署,以确定该部署计划为新的部署任务还是历史部署的升级任务;
步骤S1106,在为新的部署任务的情况下,通过调度算法,将计划好的资源进行部署,具体实施例如图7及其对应说明所示;
步骤S1108,在为历史部署的升级任务的情况下,将新传入的描述文件和上一个版本的描述文件进行对比,分别生成销毁资源清单、部署资源清单、升级资源清单;将销毁资源清单中的资源执行销毁任务,详见执行销毁任务,将部署资源清单中的资源执行部署任务,详见执行部署任务,将升级资源清单中的资源执行升级任务,过程同部署任务,详见执行部署任务;
步骤S1110,执行销毁任务,逻辑同部署任务,只是执行顺序相反,从依赖深度最大的资源开始销毁,以此类推,具体实施例见图8及其对应说明所示。
进一步举例说明,一种基于上述资源部署方法的资源部署系统如图12所示,其中,资源部署系统可以但不限于包括计算单元1202、存储单元1204和计算单元1206。计算单元1202可以但不限于用于资源部署任务的创建以及资源部署任务的调度,可以但不限于接收传入的应用描述文件1208并进行解析处理以得到拓扑结构1210,其中,应用描述文件1208可以但不限于通过声明式语言定义需要部署的资源以及资源属性,拓扑结构1210可以但不限于用于指示待部署的资源的部署任务执行优先级以及资源之间的依赖关系。存储单元1204可以但不限于用于存储基于上述基于拓扑结构1210以及解析数据得到的结构化的资源列表1212,其中,资源列表1212可以但不限于用于辅助生成计算单元1202中的资源部署任务数据1214,资源部署任务数据1214包括待部署的资源任务信息及其执行优先级信息。计算单元1206基于资源部署任务数据1214执行相应部署任务,如先完成步骤S1201执行VPC部署任务、在步骤S1201完成之后启动以步骤S1202subnet部署任务、在步骤S1202完成之后启动步骤S1203执行cvm部署任务和mysql部署任务、在步骤S1203完成以后启动步骤S1204执行tke部署任务。
进一步举例说明,上述图10中的部署服务模块1004可以但不限于处理两类对象:部署周期(Deployment)和部署资源(Resource,即部署任务),其中,部署周期代表部署的一个完整声明周期,包括从计划到销毁,部署资源代表部署中的单个资源(的任务)。
下面结合图13所示,根据不同的部署活动说明部署周期(Deployment)和部署资源(Resource)的状态变更。部署周期在步骤S1302创建部署计划后,进入准备状态(Planned),并进行判断接下来是执行步骤S1304或步骤S1306,其中,在执行步骤S1304执行部署任务的情况下,更新状态为执行中(Deploying),在执行步骤S1306执行升级任务的情况下,更新状态为升级中(Updating);并在步骤S1304或步骤S1306执行完成后判断是否完成成功,成功则更新状态为就绪(Ready),失败则更新状态为失败(Failed);在执行步骤S1308执行销毁任务的情况下,更新状态为销毁中(Destroying),并在执行完成后更新状态为已销毁(Destroyed)。
部署资源在步骤S1302创建部署计划后,进入准备状态(Planned),在步骤S1304执行部署任务的情况下进行资源分批次调度的新建。或在步骤S1306执行升级任务的情况下进行资源分批次调度的变配分配,其中,资源新建的情况下更新状态为创建中(Creating),资源变配的情况下更新状态为更新中(Updating),并在步骤S1304或步骤S1306执行完成后判断是否完成成功,成功则更新状态为就绪(Ready),失败则更新状态为失败(Failed);在执行步骤S1308执行销毁任务的情况下,更新状态为销毁准备就绪(DestroyPlanned),并对资源进行分配次的销毁,更新状态为销毁中(Destroying),以及在确认销毁完成(Confirmed)或达到一定时长(Timeout)的情况下并更新状态为已销毁(Destroyed)。
进一步举例说明,将上述资源部署方法,应用在云资源应用的产品中,提供的可视化界面包括:部署任务生命周期展示、部署任务详情展示等,其中,如可视化界面示意图14所示,可以但不限于包括部署任务对应的资源名称信息、资源类型信息、资源规格信息、可用区域信息、创建方式信息、状态信息等,以及如图15所示,还可以但不限于包括对各个资源部署任务进行实时管理操作。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,还提供了一种用于实施上述资源部署方法的资源部署装置。如图16所示,该装置包括:
获取单元1602,用于获取待执行的第一资源部署任务和第二资源部署任务,其中,上述第一资源部署任务和上述第二资源部署任务共用一个目标资源数据库,上述目标资源数据库中存储有执行上述第一资源部署任务和上述第二资源部署任务时所需的资源数据;
调用单元1604,用于调用上述目标资源数据库,并从上述目标资源数据库中提取出第一资源数据和第二资源数据,其中,上述第一资源数据为执行上述第一资源部署任务时所需的资源数据,上述第二资源数据为执行上述第二资源部署任务时所需的资源数据;
部署单元1606,用于并行部署上述第一资源数据和上述第二资源数据,直至上述第一资源部署任务和上述第二资源部署任务执行完成。
具体实施例可以参考上述资源部署装置中所示示例,本示例中在此不再赘述。
作为一种可选的方案,上述装置还包括:
获取模块,用于在上述获取待执行的第一资源部署任务和第二资源部署任务之前,获取待执行的N个资源部署任务,其中,上述N个资源部署任务包括上述第一资源部署任务和上述第二资源部署任务,上述N个资源部署任务共用一个上述目标资源数据库;
第一配置模块,用于在上述获取待执行的第一资源部署任务和第二资源部署任务之前,为上述N个资源部署任务中的各个资源部署任务分别配置任务执行优先级,其中,上述任务执行优先级用于指示上述各个资源部署任务在上述N个资源部署任务中的执行次序,上述第一资源部署任务和上述第二资源部署任务配置相同的上述任务执行优先级。
具体实施例可以参考上述资源部署方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,上述装置还包括:
确定模块,用于在上述并行部署上述第一资源数据和上述第二资源数据的过程中,在上述第一资源数据已部署完成、而上述第二资源数据还未部署完成且上述N个资源部署任务中还存在其他资源部署任务的情况下,从上述N个资源部署任务中确定出第三资源部署任务,其中,上述第三资源部署任务配置有第一任务执行优先级,上述第一资源部署任务和上述第二资源部署任务配置有第二任务执行优先级,上述第一任务执行优先级指示的执行次序为上述第二任务执行优先级指示的下一执行次序;
调用模块,用于在上述并行部署上述第一资源数据和上述第二资源数据的过程中,在上述第三资源部署任务与上述第一资源数据为依赖关系、而上述第三资源部署任务与上述第二资源数据非上述依赖关系的情况下,调用上述目标资源数据库,并从上述目标资源数据库中提取出第三资源数据,其中,上述依赖关系用于表示执行上述第三资源部署任务时所需依赖的数据,上述第三资源数据为执行上述第三资源部署任务时所需的资源数据;
部署模块,用于在上述并行部署上述第一资源数据和上述第二资源数据的过程中,部署上述第三资源数据,直至上述第三资源部署任务执行完成。
具体实施例可以参考上述资源部署方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,上述装置还包括:执行模块,用于在上述获取待执行的N个资源部署任务之后,按照上述任务执行优先级,依次执行上述N个资源部署任务,直至上述N个资源部署任务对应的N个资源数据都部署完成,其中,上述任务执行优先级与上述各个资源部署任务在上述N个资源部署任务中的执行次序呈负相关关系;
上述装置还包括:销毁模块,用于在上述按照上述任务执行优先级,依次执行上述N个资源部署任务,直至上述N个资源部署任务执行完成之后,按照上述任务执行优先级,依次销毁已部署的上述N个资源数据,其中,上述任务执行优先级与上述N个资源数据中的各个资源数据在上述N个资源数据中的销毁次序呈正关关系。
具体实施例可以参考上述资源部署方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,上述第一配置模块,包括:
配置子模块,用于在上述N个资源部署任务中的第一目标资源部署任务执行时所需依赖的数据包括目标资源数据、且上述目标资源数据为上述N个资源部署任务中的第二目标资源部署任务执行完成后得到的资源数据的情况下,为上述第一目标资源部署任务配置第一目标任务执行优先级,以及为上述第二目标资源部署任务配置第二目标任务执行优先级,其中,上述第二目标任务执行优先级指示的执行次序小于上述第一目标任务执行优先级指示的执行次序。
具体实施例可以参考上述资源部署方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,上述装置还包括:
调整模块,用于在上述为上述第一目标资源部署任务配置第一目标任务执行优先级,以及为上述第二目标资源部署任务配置第二目标任务执行优先级之后,响应于对上述第一目标资源部署任务触发的执行优先级调整请求,为上述第一目标资源部署任务重新配置第三目标任务执行优先级,其中,上述第二目标任务执行优先级指示的执行次序小于上述第三目标任务执行优先级指示的执行次序。
具体实施例可以参考上述资源部署方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,上述装置还包括:
第二配置模块,用于在上述获取待执行的第一资源部署任务和第二资源部署任务之前,在上述第一资源数据和上述第二资源数据的数据总量大于上述目标资源数据库预设的数据存储上限的情况下,为上述目标资源数据库配置备用资源数据库,其中,上述备用资源数据库用于转存上述目标资源数据库中的部分资源数据。
具体实施例可以参考上述资源部署方法中所示示例,本示例中在此不再赘述。
根据本申请实施例的又一个方面,还提供了一种用于实施上述资源部署方法的电子设备,该电子设备可以但不限于为图1中所示的客户端102或服务器112,本实施例以电子设备为客户端102为例说明,进一步如图17所示,该电子设备包括存储器1702和处理器1704,该存储器1702中存储有计算机程序,该处理器1704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取待执行的第一资源部署任务和第二资源部署任务,其中,第一资源部署任务和第二资源部署任务共用一个目标资源数据库,目标资源数据库中存储有执行第一资源部署任务和第二资源部署任务时所需的资源数据;
S2,调用目标资源数据库,并从目标资源数据库中提取出第一资源数据和第二资源数据,其中,第一资源数据为执行第一资源部署任务时所需的资源数据,第二资源数据为执行第二资源部署任务时所需的资源数据;
S3,并行部署第一资源数据和第二资源数据,直至第一资源部署任务和第二资源部署任务执行完成。
可选地,本领域普通技术人员可以理解,图17所示的结构仅为示意,图17其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图17中所示更多或者更少的组件(如网络接口等),或者具有与图17所示不同的配置。
其中,存储器1702可用于存储软件程序以及模块,如本申请实施例中的资源部署方法和装置对应的程序指令/模块,处理器1704通过运行存储在存储器1702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源部署方法。存储器1702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1702可进一步包括相对于处理器1704远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1702具体可以但不限于用于存储第一资源数据、第二资源数据等信息。作为一种示例,如图17所示,上述存储器1702中可以但不限于包括上述资源部署装置中的获取单元1602、调用单元1604、部署单元1606。此外,还可以包括但不限于上述资源部署装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1708,用于显示上述第一资源数据、第二资源数据等信息;和连接总线1710,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述客户端或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以构成点对点网络,任意形式的计算设备,比如服务器、客户端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请实施例提供的各种功能。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,电子设备的计算机系统仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
计算机系统包括中央处理器(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从存储部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器中,还存储有系统操作所需的各种程序和数据。中央处理器、在只读存储器以及随机访问存储器通过总线彼此相连。输入/输出接口(Input /Output接口,即I/O接口)也连接至总线。
以下部件连接至输入/输出接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至输入/输出接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请的系统中限定的各种功能。
根据本申请的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取待执行的第一资源部署任务和第二资源部署任务,其中,第一资源部署任务和第二资源部署任务共用一个目标资源数据库,目标资源数据库中存储有执行第一资源部署任务和第二资源部署任务时所需的资源数据;
S2,调用目标资源数据库,并从目标资源数据库中提取出第一资源数据和第二资源数据,其中,第一资源数据为执行第一资源部署任务时所需的资源数据,第二资源数据为执行第二资源部署任务时所需的资源数据;
S3,并行部署第一资源数据和第二资源数据,直至第一资源部署任务和第二资源部署任务执行完成。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令电子设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所记录的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (11)
1.一种资源部署方法,其特征在于,包括:
获取待执行的第一资源部署任务和第二资源部署任务,其中,所述第一资源部署任务和所述第二资源部署任务共用一个目标资源数据库,所述目标资源数据库中存储有执行所述第一资源部署任务和所述第二资源部署任务时所需的资源数据;
调用所述目标资源数据库,并从所述目标资源数据库中提取出第一资源数据和第二资源数据,其中,所述第一资源数据为执行所述第一资源部署任务时所需的资源数据,所述第二资源数据为执行所述第二资源部署任务时所需的资源数据;
并行部署所述第一资源数据和所述第二资源数据,直至所述第一资源部署任务和所述第二资源部署任务执行完成。
2.根据权利要求1所述的方法,其特征在于,在所述获取待执行的第一资源部署任务和第二资源部署任务之前,所述方法还包括:
获取待执行的N个资源部署任务,其中,所述N个资源部署任务包括所述第一资源部署任务和所述第二资源部署任务,所述N个资源部署任务共用一个所述目标资源数据库,N为大于等于2的正整数;
为所述N个资源部署任务中的各个资源部署任务分别配置任务执行优先级,其中,所述任务执行优先级用于指示所述各个资源部署任务在所述N个资源部署任务中的执行次序,所述第一资源部署任务和所述第二资源部署任务配置相同的所述任务执行优先级。
3.根据权利要求2所述的方法,其特征在于,在所述并行部署所述第一资源数据和所述第二资源数据的过程中,所述方法还包括:
在所述第一资源数据已部署完成、而所述第二资源数据还未部署完成且所述N个资源部署任务中还存在其他资源部署任务的情况下,从所述N个资源部署任务中确定出第三资源部署任务,其中,所述第三资源部署任务配置有第一任务执行优先级,所述第一资源部署任务和所述第二资源部署任务配置有第二任务执行优先级,所述第一任务执行优先级指示的执行次序为所述第二任务执行优先级指示的下一执行次序;
在所述第三资源部署任务与所述第一资源数据为依赖关系、而所述第三资源部署任务与所述第二资源数据非所述依赖关系的情况下,调用所述目标资源数据库,并从所述目标资源数据库中提取出第三资源数据,其中,所述依赖关系用于表示执行所述第三资源部署任务时所需依赖的数据,所述第三资源数据为执行所述第三资源部署任务时所需的资源数据;
部署所述第三资源数据,直至所述第三资源部署任务执行完成。
4.根据权利要求2所述的方法,其特征在于,
在所述获取待执行的N个资源部署任务之后,所述方法还包括:按照所述任务执行优先级,依次执行所述N个资源部署任务,直至所述N个资源部署任务对应的N个资源数据都部署完成,其中,所述任务执行优先级与所述各个资源部署任务在所述N个资源部署任务中的执行次序呈负相关关系;
在所述按照所述任务执行优先级,依次执行所述N个资源部署任务,直至所述N个资源部署任务执行完成之后,所述方法还包括:按照所述任务执行优先级,依次销毁已部署的所述N个资源数据,其中,所述任务执行优先级与所述N个资源数据中的各个资源数据在所述N个资源数据中的销毁次序呈正关关系。
5.根据权利要求2所述的方法,其特征在于,所述为所述N个资源部署任务中的各个资源部署任务分别配置任务执行优先级,包括:
在所述N个资源部署任务中的第一目标资源部署任务执行时所需依赖的数据包括目标资源数据、且所述目标资源数据为所述N个资源部署任务中的第二目标资源部署任务执行完成后得到的资源数据的情况下,为所述第一目标资源部署任务配置第一目标任务执行优先级,以及为所述第二目标资源部署任务配置第二目标任务执行优先级,其中,所述第二目标任务执行优先级指示的执行次序小于所述第一目标任务执行优先级指示的执行次序。
6.根据权利要求5所述的方法,其特征在于,在所述为所述第一目标资源部署任务配置第一目标任务执行优先级,以及为所述第二目标资源部署任务配置第二目标任务执行优先级之后,所述方法还包括:
响应于对所述第一目标资源部署任务触发的执行优先级调整请求,为所述第一目标资源部署任务重新配置第三目标任务执行优先级,其中,所述第二目标任务执行优先级指示的执行次序小于所述第三目标任务执行优先级指示的执行次序。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述获取待执行的第一资源部署任务和第二资源部署任务之前,所述方法还包括:
在所述第一资源数据和所述第二资源数据的数据总量大于所述目标资源数据库预设的数据存储上限的情况下,为所述目标资源数据库配置备用资源数据库,其中,所述备用资源数据库用于转存所述目标资源数据库中的部分资源数据。
8.一种资源部署装置,其特征在于,包括:
获取单元,用于获取待执行的第一资源部署任务和第二资源部署任务,其中,所述第一资源部署任务和所述第二资源部署任务共用一个目标资源数据库,所述目标资源数据库中存储有执行所述第一资源部署任务和所述第二资源部署任务时所需的资源数据;
调用单元,用于调用所述目标资源数据库,并从所述目标资源数据库中提取出第一资源数据和第二资源数据,其中,所述第一资源数据为执行所述第一资源部署任务时所需的资源数据,所述第二资源数据为执行所述第二资源部署任务时所需的资源数据;
部署单元,用于并行部署所述第一资源数据和所述第二资源数据,直至所述第一资源部署任务和所述第二资源部署任务执行完成。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序被电子设备运行时执行所述权利要求1至7任一项中所述的方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任一项中所述方法的步骤。
11.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311012492.1A CN116737393B (zh) | 2023-08-11 | 2023-08-11 | 资源部署方法、装置和存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311012492.1A CN116737393B (zh) | 2023-08-11 | 2023-08-11 | 资源部署方法、装置和存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116737393A true CN116737393A (zh) | 2023-09-12 |
CN116737393B CN116737393B (zh) | 2024-05-10 |
Family
ID=87904722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311012492.1A Active CN116737393B (zh) | 2023-08-11 | 2023-08-11 | 资源部署方法、装置和存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737393B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667208A (zh) * | 2024-02-01 | 2024-03-08 | 腾讯科技(深圳)有限公司 | 数据运算方法、存储器及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282944A1 (en) * | 2013-03-12 | 2014-09-18 | Stackinsider Technology LLC | Methods and systems of deploying cloud computing platforms |
US20190213044A1 (en) * | 2018-01-10 | 2019-07-11 | International Business Machines Corporation | Accelerating and maintaining large-scale cloud deployment |
CN115269117A (zh) * | 2022-07-26 | 2022-11-01 | 深圳华策辉弘科技有限公司 | 一种资源创建方法、装置、计算机设备及存储介质 |
CN115495107A (zh) * | 2022-10-08 | 2022-12-20 | 中银金融科技有限公司 | 一种版本部署方法、装置及电子设备 |
-
2023
- 2023-08-11 CN CN202311012492.1A patent/CN116737393B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282944A1 (en) * | 2013-03-12 | 2014-09-18 | Stackinsider Technology LLC | Methods and systems of deploying cloud computing platforms |
US20190213044A1 (en) * | 2018-01-10 | 2019-07-11 | International Business Machines Corporation | Accelerating and maintaining large-scale cloud deployment |
CN115269117A (zh) * | 2022-07-26 | 2022-11-01 | 深圳华策辉弘科技有限公司 | 一种资源创建方法、装置、计算机设备及存储介质 |
CN115495107A (zh) * | 2022-10-08 | 2022-12-20 | 中银金融科技有限公司 | 一种版本部署方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
蔡尊煌: ""大数据环境下任务调度和资源部署算法研究"", 《重庆科技学院学报(自然科学版)》, no. 01, 15 February 2020 (2020-02-15), pages 62 - 65 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667208A (zh) * | 2024-02-01 | 2024-03-08 | 腾讯科技(深圳)有限公司 | 数据运算方法、存储器及计算机设备 |
CN117667208B (zh) * | 2024-02-01 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 数据运算方法、存储器及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116737393B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614726B (zh) | 虚拟机创建方法及装置 | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN108572845B (zh) | 分布式微服务集群的升级方法及相关系统 | |
CN112470119B (zh) | 一种分布式系统中的业务升级方法、装置及分布式系统 | |
CN116737393B (zh) | 资源部署方法、装置和存储介质及电子设备 | |
CN106953746A (zh) | 集群节点升级系统及方法 | |
US20160314021A1 (en) | Enhanced command selection in a networked computing environment | |
CN112631680B (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
CN113033814A (zh) | 训练机器学习模型的方法、装置以及存储介质 | |
CN116127420A (zh) | 水印的添加方法和装置、存储介质、电子装置 | |
CN109032685A (zh) | 一种加速安卓系统启动的方法及终端 | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
US11467884B2 (en) | Determining a deployment schedule for operations performed on devices using device dependencies and predicted workloads | |
CN112564979A (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
CN111143033B (zh) | 基于可伸缩操作系统的操作执行方法及装置 | |
CN112685136A (zh) | 一种智能合约运行方法、装置、设备及存储介质 | |
CN114461399B (zh) | 资源的分配方法和装置、存储介质及电子装置 | |
CN114675872B (zh) | 一种对应用程序的数据处理方法、装置、设备及存储介质 | |
WO2023169815A1 (en) | In-band instantiation configuration for application workloads | |
US20240012630A1 (en) | Automated platform for managing, deploying and orchestrating highly distributed service applications | |
CN109660379B (zh) | 一种网络方法和系统、及终端 | |
KR102156656B1 (ko) | 가상머신 스택 생성 시스템 및 방법 | |
US20230370331A1 (en) | Parameter value setting system, control method of parameter value setting system and program | |
US11977926B1 (en) | Deployment of pod cohorts | |
US20210373991A1 (en) | Automated alert augmentation for deployments of software-defined storage |
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 |