一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种云平台资源集的创建方法、系统、设备及存储介质与流程

2021-11-05 22:43:00 来源:中国专利 TAG:


1.本发明涉及服务器技术领域,特别是涉及一种云平台资源集的创建方法、系统、设备及存储介质。


背景技术:

2.在云计算平台中,资源集是一个基础概念,用户想使用云平台的计算、网络、存储等功能,需要先创建自己的资源集,然后在资源集内创建云主机、网络、云硬盘等资源。
3.在创建资源集时,需要先在管理平台例如openstack平台上创建一个项目,然后,为了限制用户的使用额度,需要为资源集设置配额,每种服务都要单独设置多个资源的配额,例如计算服务要设置云主机个数、cpu个数等;网络服务需要设置子网个数、路由器个数等;存储服务需要设置云硬盘个数。在目前的方案中,创建资源集时,是由基础服务串行调用计算服务接口、网络服务接口、存储服务接口,等待各个服务依次配置完成之后,资源集才创建成功。这样的资源集创建方式不够灵活,资源集的创建时长非常长。
4.综上所述,如何快速有效地进行资源集的创建,是目前本领域技术人员急需解决的技术问题。


技术实现要素:

5.本发明的目的是提供一种云平台资源集的创建方法、系统、设备及存储介质,以快速有效地进行资源集的创建。
6.为解决上述技术问题,本发明提供如下技术方案:
7.一种云平台资源集的创建方法,包括:
8.创建资源集的基础信息并进行存储;
9.构造出与所述资源集的基础信息对应的消息;
10.将所述消息发送至预设的消息中间件中,以使得每一个配置服务分别从所述消息中间件中接收所述消息,并基于接收到的所述消息中携带的配额信息,进行该配置服务所管理的各项资源的配额;
11.在接收到表示资源集项目创建成功的信息,且接收到由每一个配置服务反馈的表示资源配额完成的信息时,完成对所述资源集的创建。
12.优选的,所述配置服务的类型至少包括:计算服务,网络服务,存储服务。
13.优选的,所述计算服务所管理的各项资源至少包括:云主机资源、cpu资源、内存资源;所述网络服务所管理的各项资源至少包括:子网资源,路由器资源,所述存储服务所管理的各项资源至少包括:云硬盘资源。
14.优选的,任意一个所述配置服务从所述消息中间件中接收所述消息之后,还包括:
15.判断所述消息是否满足预设的接口幂等性规则;
16.如果是,则执行所述基于接收到的所述消息中携带的配额信息,进行该配置服务所管理的各项资源的配额的操作。
17.优选的,任意一个所述配置服务在判断出所述消息满足预设的接口幂等性规则之后,还包括:
18.构建出一条携带有该配置服务的名称以及所述消息的id的数据,并存储至预设的目标存储中;
19.相应的,判断所述消息是否满足预设的接口幂等性规则,包括:
20.遍历所述目标存储中的各条数据,并且判断是否至少存在一条数据所携带的配置服务的名称与该配置服务的名称一致,并且该数据所携带的消息的id与当前被判断的该消息的id一致;
21.如果不存在,则判断出所述消息满足预设的接口幂等性规则。
22.优选的,在完成对所述资源集的创建之后,还包括:
23.显示所述资源集的创建结果。
24.优选的,任意一个所述配置服务从所述消息中间件中接收所述消息,包括:
25.任意一个所述配置服务从所述消息中间件中接收经过了分布式锁处理之后的所述消息。
26.一种云平台资源集的创建系统,包括:基础服务,消息中间件以及各个配置服务;
27.所述基础服务用于:创建资源集的基础信息并进行存储;构造出与所述资源集的基础信息对应的消息;将所述消息发送至预设的消息中间件中;在接收到表示资源集项目创建成功的信息,且接收到由每一个配置服务反馈的表示资源配额完成的信息时,完成对所述资源集的创建;
28.每一个所述配置服务用于:分别从所述消息中间件中接收所述消息,并基于接收到的所述消息中携带的配额信息,进行该配置服务所管理的各项资源的配额。
29.一种云平台资源集的创建设备,包括:
30.存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序以实现上述任一项所述的云平台资源集的创建方法的步骤。
32.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的云平台资源集的创建方法的步骤。
33.应用本发明实施例所提供的技术方案,通过预设的消息中间件,将创建资源集的发起方与各个配置服务进行解耦,各个配置服务可以各自从消息中间件中订阅消息,互不影响,从而实现资源集的快速创建。具体的,在创建出资源集的基础信息并进行存储之后,本技术的方案会构造出与资源集的基础信息对应的消息,并且将消息发送至预设的消息中间件中。每一个配置服务可以分别从消息中间件中接收消息,也就是说,每一个配置服务可以独立地进行消息的接收,进而基于接收到的消息中携带的配额信息,进行该配置服务所管理的各项资源的配额。由于各个配置服务可以并行执行,因此有效地缩短了资源集的创建时长。当接收到表示资源集项目创建成功的信息,且接收到由每一个配置服务反馈的表示资源配额完成的信息时,说明资源集成功创建完成。综上所述,本技术的方案可以快速有效地进行资源集的创建。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本发明中一种云平台资源集的创建方法的实施流程图;
36.图2为本发明中一种云平台资源集的创建系统的结构示意图。
具体实施方式
37.本发明的核心是提供一种云平台资源集的创建方法,可以快速有效地进行资源集的创建。
38.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.请参考图1,图1为本发明中一种云平台资源集的创建方法的实施流程图,该云平台资源集的创建方法可以包括以下步骤:
40.步骤s101:创建资源集的基础信息并进行存储。
41.具体的,云计算平台是一个微服务架构的平台,里面有基础服务、计算服务、网络服务、存储服务等,分别提供相应的功能。基础服务可以提供资源集的生命周期管理,负责创建或者删除资源集。
42.本技术的方案中,可以通过云平台的基础服务创建资源集的基础信息,进而存储到云平台中的数据库中。
43.步骤s102:构造出与资源集的基础信息对应的消息。
44.对于构造出的消息,其内容中至少需要携带有配额信息,后续各个配置服务才能够基于该消息进行该配置服务所管理的各项资源的配额。此外,为了进行各个不同的消息的区分,消息中通常还需要携带有该消息的唯一id。
45.当然,在其他场合中,构造出的消息所携带的内容项,可以根据需要进行设定和调整,例如一种场合中,构造出的消息所携带的内容项包括:消息的id、动作、项目名称、配额信息。动作可以用于表示消息的类型,例如该消息是创建资源集的消息,动作的具体数值则为001,该消息是删除资源集的消息,动作的具体数值则为011,该消息是修改资源集的消息,动作的具体数值则为010。当然,本技术的方案中,仅对云平台资源集的创建过程进行解释说明。项目名称表示的是该资源集所属于的项目名称。
46.步骤s103:将消息发送至预设的消息中间件中,以使得每一个配置服务分别从消息中间件中接收消息,并基于接收到的消息中携带的配额信息,进行该配置服务所管理的各项资源的配额。
47.构造出了与资源集的基础信息对应的消息之后,便需要将消息发送至预设的消息中间件中。
48.本技术需要预先设置一个消息中间件,从而将创建资源集的发起方与各个配置服
务进行解耦,即,通过消息中间件将创建资源集的基础服务与各个配置服务的调用关系进行解耦。
49.消息中间件通常可以选择为开源的消息中间件,例如可以具体选取为消息中间件rabbitmq。当然,其他具体场合中可以根据需要选择其他类型的消息中间件,并不影响本发明的实施。
50.在实际应用中,为了使得基础服务能够将消息发送至预设的消息中间件,可以在yaml配置文件中配置rabbitmq相关的参数,例如配置好rabbitmq服务地址、用户名密码、交换机和队列等,然后增加spring cloud stream配置类,从而通过该组件发送构造出的消息。而为了使得各个配置服务能够从消息中间件中接收消息,则可以分别在各个配置服务的配置文件中配置上rabbitmq的相关信息,主要是交换机和队列,启动服务后即可从rabbitmq中接收消息。
51.在正常情况下,构造出的任意一条消息,会被每一个配置服务接收一次,并且该操作是并行执行的,也即各个配置服务可以分别基于接收到的消息中携带的配额信息,进行该配置服务所管理的各项资源的配额,从而有效地降低本技术的创建资源集的耗时。
52.本技术描述的配置服务,具体可以是计算服务,网络服务等微服务,在本发明的一种具体实施方式中,配置服务的类型至少包括:计算服务,网络服务,存储服务。该种实施方式也是最为常用的实施方式,具体由计算服务,网络服务以及存储服务进行各自所管理的各项资源的配额。
53.每一个配置服务具体所管理的资源项也可以根据需要进行设定,例如在本发明的一种具体实施方式中,计算服务所管理的各项资源至少包括:云主机资源、cpu资源、内存资源;网络服务所管理的各项资源至少包括:子网资源,路由器资源,存储服务所管理的各项资源至少包括:云硬盘资源。
54.该种实施方式中,计算服务,网络服务,存储服务各自所管理的资源项,是较为常用的实施方式。当然,在其他实施方式,还可以设置有其他类型的配置服务,并且各个配置服务所管理的具体的资源项,可以根据需要进行设定和调整。
55.此外需要指出的是,由于本技术的方案中,各个配置服务之间是相互独立的,即可以分别从消息中间件中进行消息的获取,独立处理,互不影响。因此,如果需要增加,删除,修改配置服务,会非常的方便。
56.步骤s104:在接收到表示资源集项目创建成功的信息,且接收到由每一个配置服务反馈的表示资源配额完成的信息时,完成对资源集的创建。
57.当任意一个配置服务基于接收到的消息中携带的配额信息,进行该配置服务所管理的各项资源的配额之后,便可以向基础服务反馈表示资源配额完成的信息。因此,当接收到由每一个配置服务反馈的表示资源配额完成的信息时,说明资源集的各资源项都被配额完毕。
58.此外,基础服务还需要接收表示资源集项目创建成功的信息,该信息通常可以由管理平台生成,例如具体选取为openstack,是一种开源的管理平台。此外需要指出的是,资源集项目创建的触发时机可以根据需要进行设定,但是在实际应用中,通常是选择在执行了步骤s101之后,便可以创建openstack的资源集项目,这是因为如果创建不成功,可以通过相关应用将该情况告知各个配置服务,从而使得各个配置服务无需执行步骤s103的操
作,也就是说,只有在资源集项目创建成功时,才会触发步骤s103进行对应的消息的接收。在资源集项目创建成功时,管理平台也会向基础服务反馈一个表示资源集项目创建成功的信息。
59.可以看出,在接收到表示资源集项目创建成功的信息,且接收到由每一个配置服务反馈的表示资源配额完成的信息时,说明资源集被成功创建了,因此可以完成对资源集的创建。
60.在本发明的一种具体实施方式中,为了使得用户能够及时方便地获知情况,可以在完成对资源集的创建之后,显示资源集的创建结果,即显示资源集被成功创建的提示信息。
61.当然,如果资源集创建失败了,也可以向用户显示相应的结果。例如由于创建资源集时存在不允许的字符名,导致资源集项目创建失败,可以显示资源集创建失败并显示失败原因。
62.在本发明的一种具体实施方式中,考虑到本技术使用的是消息中间件进行消息的发送,由于网络阻塞等原因,会有小概率出现消息中间件重复发送同一消息的行为,进而可能导致出错。针对这种情况,在本发明的一种具体实施方式中,任意一个配置服务从消息中间件中接收消息之后,还包括:
63.判断消息是否满足预设的接口幂等性规则;
64.如果是,则执行步骤s103中描述的基于接收到的消息中携带的配额信息,进行该配置服务所管理的各项资源的配额的操作。
65.接口幂等性表示的是一个接口在多次收到相同的请求后,无论处理多少次,对资源的最终影响都一样,不会发生错误,因此,当消息满足预设的接口幂等性规则时,说明可以进行该消息的处理,即配置服务可以执行步骤s103中描述的基于接收到的消息中携带的配额信息,进行该配置服务所管理的各项资源的配额的操作。反之,如果一个消息不满足预设的接口幂等性规则,说明不需要进行处理。
66.实现接口幂等性的具体方式可以根据实际需要进行设定,即,接口幂等性规则的具体内容可以根据需要进行设定和调整,在本发明的一种具体实施方式中,任意一个配置服务在判断出消息满足预设的接口幂等性规则之后,还包括:
67.构建出一条携带有该配置服务的名称以及消息的id的数据,并存储至预设的目标存储中;
68.相应的,判断消息是否满足预设的接口幂等性规则,包括:
69.遍历目标存储中的各条数据,并且判断是否至少存在一条数据所携带的配置服务的名称与该配置服务的名称一致,并且该数据所携带的消息的id与当前被判断的该消息的id一致;
70.如果不存在,则判断出消息满足预设的接口幂等性规则。
71.该种实施方式中,直接通过消息的id以及配置服务的名称,便可以实现接口幂等性,方案简单方便。
72.具体的,以网络服务为例,网络服务接收了一条消息之后,例如该消息的id为a,则网络服务会遍历目标存储中的各条数据,判断是否至少存在一条数据所携带内容为:网络服务 消息id

a。
73.如果有,说明该消息是重复发送的,不满足预设的接口幂等性规则,可以直接忽略该消息。
74.反之,如果没有,说明该消息是首次接收,满足预设的接口幂等性规则,可以正常处理,即可以基于该消息中携带的配额信息,进行该配置服务所管理的各项资源的配额的操作。并且,由于该消息满足预设的接口幂等性规则,需要构建出一条携带有该配置服务的名称以及消息的id的数据,并存储至预设的目标存储中,该例子中,也就是需要将携带有“网络服务 消息id

a”的这一数据存储至预设的目标存储中,使得网络服务如果后续再接收到消息id为a的消息,可以无需处理,避免发生错误。
75.在本发明的一种具体实施方式中,任意一个配置服务从消息中间件中接收消息,包括:
76.任意一个配置服务从消息中间件中接收经过了分布式锁处理之后的消息。
77.该种实施方式中,考虑到如果在极短的时间内,同时接收到重复发送的相同消息,前述的接口幂等性规则可能无法应对这种情况,仍然有出错概率。例如在极短的时间内,同时接收到重复发送的相同消息,此时,由于没有在目标存储中进行相应的数据存储,对于这两条消息而言,都会被判断为满足预设的接口幂等性规则,从而可能引发错误。
78.因此,该种实施方式中,任意一个配置服务从消息中间件中接收的是经过了分布式锁处理之后的消息。由于进行了分布式锁,例如可以选取为redis分布式锁解,可以有效地处理极端情况下的并发问题,即如果同时接收到多个并发的id一致的消息,且这些消息发往同一个配置服务,则可以通过分布式锁进行限制,使得只有一个消息被发送至该配置服务。
79.应用本发明实施例所提供的技术方案,通过预设的消息中间件,将创建资源集的发起方与各个配置服务进行解耦,各个配置服务可以各自从消息中间件中订阅消息,互不影响,从而实现资源集的快速创建。具体的,在创建出资源集的基础信息并进行存储之后,本技术的方案会构造出与资源集的基础信息对应的消息,并且将消息发送至预设的消息中间件中。每一个配置服务可以分别从消息中间件中接收消息,也就是说,每一个配置服务可以独立地进行消息的接收,进而基于接收到的消息中携带的配额信息,进行该配置服务所管理的各项资源的配额。由于各个配置服务可以并行执行,因此有效地缩短了资源集的创建时长。当接收到表示资源集项目创建成功的信息,且接收到由每一个配置服务反馈的表示资源配额完成的信息时,说明资源集成功创建完成。综上所述,本技术的方案可以快速有效地进行资源集的创建。
80.相应于上面的方法实施例,本发明实施例还提供了一种云平台资源集的创建系统,可与上文相互对应参照。
81.参见图2所示,为本发明中一种云平台资源集的创建系统的结构示意图,包括:基础服务201,消息中间件202以及各个配置服务203;
82.基础服务201用于:创建资源集的基础信息并进行存储;构造出与资源集的基础信息对应的消息;将消息发送至预设的消息中间件202中;在接收到表示资源集项目创建成功的信息,且接收到由每一个配置服务203反馈的表示资源配额完成的信息时,完成对资源集的创建;
83.每一个配置服务203用于:分别从消息中间件202中接收消息,并基于接收到的消
息中携带的配额信息,进行该配置服务203所管理的各项资源的配额。
84.在本发明的一种具体实施方式中,配置服务203的类型至少包括:计算服务,网络服务,存储服务。
85.在本发明的一种具体实施方式中,计算服务所管理的各项资源至少包括:云主机资源、cpu资源、内存资源;网络服务所管理的各项资源至少包括:子网资源,路由器资源,存储服务所管理的各项资源至少包括:云硬盘资源。
86.在本发明的一种具体实施方式中,任意一个配置服务203从消息中间件202中接收消息之后,还用于:
87.判断消息是否满足预设的接口幂等性规则;
88.如果是,则执行基于接收到的消息中携带的配额信息,进行该配置服务203所管理的各项资源的配额的操作。
89.在本发明的一种具体实施方式中,任意一个配置服务203在判断出消息满足预设的接口幂等性规则之后,还用于:
90.构建出一条携带有该配置服务203的名称以及消息的id的数据,并存储至预设的目标存储中;
91.相应的,判断消息是否满足预设的接口幂等性规则,包括:
92.遍历目标存储中的各条数据,并且判断是否至少存在一条数据所携带的配置服务203的名称与该配置服务203的名称一致,并且该数据所携带的消息的id与当前被判断的该消息的id一致;
93.如果不存在,则判断出消息满足预设的接口幂等性规则。
94.在本发明的一种具体实施方式中,还包括:
95.显示模块,用于在完成对资源集的创建之后,显示资源集的创建结果。
96.在本发明的一种具体实施方式中,任意一个配置服务203从消息中间件202中接收消息,包括:
97.任意一个配置服务203从消息中间件202中接收经过了分布式锁处理之后的消息。
98.相应于上面的方法和系统实施例,本发明实施例还提供了一种云平台资源集的创建设备以及一种计算机可读存储介质,可与上文相互对应参照。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的云平台资源集的创建方法的步骤。这里所说的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质。
99.该云平台资源集的创建设备可以包括:
100.存储器,用于存储计算机程序;
101.处理器,用于执行计算机程序以实现上述任一项的云平台资源集的创建方法的步骤。
102.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
103.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
104.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献