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

基于多云架构的云资源管理系统和电子设备的制作方法

2022-02-19 10:26:08 来源:中国专利 TAG:


1.本技术涉及多云架构下的互联网运维领域,具体而言,涉及一种基于多云架构的云资源管理系统和电子设备。


背景技术:

2.随着云计算技术的发展,企业为了满足自身业务需求,大多数互联网企业大多同时采用多家云厂商产品。
3.由于各云厂商存在产品差异,使得多云架构的运维工作变的很繁杂。目前,各企业接入多云平台后,通常由企业it人员来人工操作各个云平台,执行购买、启动主机并将主机录入到各个相关联的系统中,耗时耗力。
4.现有的云管平台,多以资源录入/发现的能力为主,并未涉及资源的启动、初始化配置等,对业务需求的资产初始化能力支持不足。
5.因此,对一种能够实现自动化的批量多云云主机采购、启动、完成初始化配置的解决方案的需求愈发明显。


技术实现要素:

6.本技术提供了一种基于多云架构的云资源管理系统和电子设备,用于解决现有技术中多云架构中云主机的解决方案不能满足企业需求的问题。
7.根据本技术的一方面,提出一种基于多云架构的云资源管理系统,包括云资源获取模块,用于获取需要管理的云资源;云资源查询模块,用于查询所述云资源对应的服务节点信息,所述服务节点信息包括所述云资源可配置的至少一个服务节点;执行服务节点模块,用于为所述云资源配置所述至少一个服务节点,所述至少一个服务节点包括第一服务节点和第二服务节点,所述第一服务节点和所述第二服务节点配置过程无顺序关系,所述第一服务节点的配置结果不影响所述第二服务节点;服务节点配置状态获取模块,用于获取所述至少一个服务节点的配置状态;服务节点配置状态显示模块,用于显示所述至少一个服务节点的配置状态;服务节点配置完成判断模块,用于判断所述至少一个服务节点的是否配置完成;云资源入库模块,用于将配置完成的所述云资源持久化。
8.根据一些实施,所述云资源包括云主机、rds、redis。
9.根据一些实施,所述云资源管理系统还包括云资源创建模块,用于根据用户需求创建所述云资源。
10.根据一些实施,所述创建云资产模块,包括云资源需求获取单元,用于获取用户的云资源需求;云资源列表获取单元,用于获取至少一个云厂商的云资源列表;云资源选择单元,用于从所述云资源列表中选择满足所述云资源需求的云资源;云资源确认单元,用于确认所述云资源选择单元选择的所述云资源信息;云资源快照单元,用于保存所述云资源信息。
11.根据一些实施,所述云资源信息包括所述云资源启动时所依赖的服务详情、所述
云资源的数量、所述云资源的硬件信息、所述云资源的软件信息和/或所述云资源的价格。
12.根据一些实施,所述至少一个服务节点包括初始化主机脚本服务、加入堡垒机系统服务、加入zabbix服务、加入配置管理系统服务、加入容器管理平台服务和/或加入kubernetes集群服务。
13.根据一些实施,所述执行服务节点模块包括消息队列模块,用于存储需要执行的所述至少一个服务节点任务;和/或服务节点脚本调度模块,用于根据所述至少一个服务节点任务调用所述至少一个服务节点对应的任务脚本。
14.根据一些实施,所述云资源管理模块还包括云资源入库状态更新模块,用于更新所述云资源的入库信息,以确保和云厂商持久化的所述云资源信息保持一致。
15.根据一些实施,所述云资源管理模块还包括云资源启动模块,用于在所述云资源配置所述至少一个服务节点前启动所述云资源。
16.根据申请的一方面,提出一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得一个或多个处理器实现如前所述的云资源管理系统所实现的功能。
17.根据本技术的一些示例实施例,通过为云主机灵活配置服务节点,实现在不同的应用场景下配置不同的服务节点组合,以实现不同的应用场景下的所需要的不同的云资源初始化效果。
18.根据本技术的一些实施例,通过将各云厂商的云资源共性内容抽象为统一模板,在采购云资源时,只需根据模板进行采购主机,避免了用户需要单个采购云资源的问题,节约了时间,降低了人力成本。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
20.图1示出根据本技术示例实施例的系统架构图。
21.图2示出根据本技术示例实施例的一种基于多云架构的云资源管理系统框图。
22.图3示出根据本技术示例实施例的一种基于多云架构的创建云资产模块框图。
23.图4示出根据本技术示例性实施例的一种电子设备的框图。
具体实施方式
24.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
25.所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有这些特定细节中的一个或更多,或者可以采用其它的方式、组元、材料、装置或操作等。在这些情况下,将不详细示出或描述公知结构、方法、装置、实现、材料或者操作。
26.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
27.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
28.图1示出根据本技术示例实施例的系统架构图。下面参照图1,对根据本技术示例实施例的系统架构进行详细说明。
29.如图1所示的云资源为从云厂商购买的云主机。云厂商包括阿里、腾讯、华为等。
30.用户通过前端参看操作。
31.后端api接口用于为前端提供数据查。
32.后端api接口还用于接收系统脚本定时任务发出的请求查询入库的主机状态,以保证和云厂商提供的主机信息一致;后端api接口还用于调用接口去查询系统支持的服务节点信息并发给前端显示以供配置选择。
33.后端api接口还用于调用云厂商的api接口获取主机列表,并根据用户需求选择需要购买的云主机。之后,发送初始化主机消息给rabbitmq消息队列。
34.rabbitmq消息队列将消息发给脚本调度中心,启动初始化任务。 脚本调度中心根据mysql中查询到的主机配置服务节点信息,调取对应的脚本执行。待主机配置的服务节点执行完成后,脚本调度中心调用后端api接口将新生成的主机录入到资产库中。
35.根据图1所示的根据本技术示例实施例的系统架构,通过前端和后端对于数据的配合,以及调度中心对于任务执行的调度,使得用户通过前端页面的展示查看当前任务的执行状态。脚本调度中心的每一次调度、执行都会将服务节点执行状态的当前状态及时变更,执行失败会将错误信息写入,以做到当前状态的及时展示和可视化。
36.图2示出根据本技术示例实施例的一种基于多云架构的云资源管理系统框图。下面参照图2,对根据本技术示例实施例的一种基于多云架构的云资源管理系统进行详细说明。
37.如图2所示,一种基于多云架构的云资源管理系统包括云资源获取模块201、云资源查询模块203、执行服务节点模块205、服务节点配置状态获取模块207、服务节点配置状态显示模块209、服务节点配置完成判断模块211、云资源入库模块213。
38.云资源获取模块201用于获取需要管理的云资源。根据一些实施例,云资源包括云主机、rds、redis。
39.根据本技术的一些实施例,云资源获取模块201用于获取从各云厂商已经购买且尚未配置的云资源。
40.云资源查询模块203用于查询云资源对应的服务节点信息。前述服务节点信息包括所述云资源可配置的至少一个服务节点。
41.根据本技术的一些实施例,服务节点包括初始化主机脚本服务、加入堡垒机系统
服务、加入zabbix服务、加入配置管理系统服务、加入容器管理平台服务和/或加入kubernetes集群服务。
42.执行服务节点模块205用于为云资源配置至少一个服务节点,所述至少一个服务节点包括第一服务节点和第二服务节点,所述第一服务节点和所述第二服务节点配置过程无顺序关系,所述第一服务节点的配置结果不影响所述第二服务节点。
43.根据一些实施例,为云资源的配置多个服务节点之间没有执行顺序的限制,且其中一个服务节点是否执行成功不影响其他服务节点的执行。
44.根据一些实施例,若服务节点配置失败,会在间隔一定时间后,例如10分钟,再次验证服务节点是否配置成功。如果仍旧不成功,则将服务节点配置状态及配置失败原因存入数据库中供工作人员查看,并手动配置服务节点。例如,使用paramiko调用服务节点的服务脚本,并将该消息存入消息队列中等待验证脚本执行结果,例如,rabbitmq,如果验证通过,该服务节点执行完成,如果验证不通过,循环调起验证。
45.根据一些实施例,初始化主机脚本服务以通过执行使用paramiko远程执行shell脚本完成。该shell脚本包含主机初始化命令。paramiko是基于python实现的ssh2远程安全连接,支持认证及密钥方式。可以实现远程命令执行、文件传输、中间ssh代理等功能。
46.根据一些实施例,堡垒机系统包括jumpsserver。jumpsserver是一款由python编写的跳板机/堡垒机系统,是一个包含认证、授权、账号和审计的运维安全审计系统,jumpserver 通过软件订阅服务或者软硬件一体机的方式,满足企业在多云环境下对云资源的管理需求。
47.根据本技术的一些实施例,加入堡垒机系统服务是通过调用http接口将云资源的配置信息加入到堡垒机中,使得需求方可以在添加机器后登陆系统使用机器。
48.zabbix是一个基于web界面的分布式网络监视管理系统。根据一些实施例,加入zabbix是通过调用zabbix系统,将新创建的云资源加入到zabbix中。
49.加入配置管理系统是利用salt将存储有云资源通用的配置信息指令文件下发到各个云资源,通过http接口的形式,将云资源加入到配置管理系统中。salt是利用pathon实现,可以帮助运维人员根据自己的生产环境来管理配置文件。
50.根据一些实施例,容器管理平台用来管理每个云资源所拥有的容器,例如docker,显示各个容器内容。根据一些实施例,加入容器管理平台服务通过http接口的形式将云资源加入到容器的资源组中,方便后续在容器管理平台中实现对云资源的管理。例如,启动容器、销毁容器。
51.kubernetes是一款用于自动部署、扩展和管理容器化应用程序的开源系统。目前,各云厂商都有自建的kubernetes集群。根据一些实施例,加入kubernetes集群服务是将云资源加入到kubernetes集群中,实现自动化的操作。
52.服务节点配置状态获取模块207用于获取所述至少一个服务节点的配置状态。
53.根据一些实施例,服务节点的配置状态包括配置中、配置完成。根据一些实施例,配置完成包括配置成功和配置失败。
54.根据本技术的一些实施例,服务节点配置状态获取模块207获取的服务节点的配置状态是为服务节点配置状态显示模块209提供数据,以实现服务节点当前的执行状态的及时展示和可视化。
55.服务节点配置状态显示模块209用于显示至少一个服务节点的配置状态。
56.根据本技术的一些实施例,服务节点配置状态显示模块209用于显示服务节点的配置状态,以实现服务节点当前的执行状态的及时展示和可视化。根据一些实施例,服务节点配置状态显示模块209还用于显示云资源查询模块203查询的云资源对应的服务节点信息,将云资源需要执行的服务节点信息显示出来。
57.服务节点配置完成判断模块211用于判断至少一个服务节点的是否配置完成。
58.根据一些实施例,服务节点配置完成判断模块213用于判断服务节点是否配置完成。根据一些实施例,无论服务节点是否配置状态是否成功,只要执行完成,就记为配置完成。根据一些实施例,待云资源所需要配置的服务节点全部执行完成后,将云资源入库。
59.云资源入库模块213用于将配置完成的所述云资源持久化。
60.根据一些实施例,云资源入库模块213用于将服务节点全部执行完的云资源持久化到数据库中。
61.根据一些实施例,云资源管理系统还包括云资源入库状态更新模块,用于更新云资源的入库信息,以确保和云厂商持久化的云资源信息保持一致。例如,通过调用云厂商提供的云资源列表接口获取云厂商持久化的云资源信息,并和入库的云资源信息进行比对,实现云资源数据的同步。
62.根据一些实施例,云资源管理系统还包括消息队列模块,用于存储需要执行的至少一个服务节点任务。
63.根据一些实施例,云资源管理系统还包括服务节点脚本调度模块,用于根据至少一个服务节点任务调用至少一个服务节点对应的任务脚本。
64.根据一些实施例,云资源管理系统还包括云资源启动模块,用于在云资源配置至少一个服务节点前启动云资源。
65.根据一些实施例,云资源管理系统还包括云资源创建模块,用于根据用户需求创建云资源。
66.根据图2所述的云资源管理系统,通过为云主机灵活配置服务节点,实现在不同的应用场景下配置不同的服务节点组合,以实现不同的应用场景下的所需要的不同的云资源初始化效果。
67.图3示出根据本技术示例实施例的一种基于多云架构的创建云资产模块框图。下面参照图3,对根据本技术示例实施例的一种基于多云架构的创建云资产模块进行详细说明。
68.参见图3,一种基于多云架构的创建云资产模块包括云资源需求获取单元301、云资源列表获取单元303、云资源选择单元305、云资源确认单元307和云资源快照单元309。
69.云资源需求获取单元301用于获取用户的云资源需求。
70.根据一些实施例,根据各云厂商云资源描述信息制定云资源信息描述模板。根据云资源信息描述模板,配置云资源需求。
71.根据一些实施例,由于各云厂商的云资源描述名称不统一。因此,制定云资源信息描述模板时,需要和各云厂商云资源描述名称对应。
72.云资源列表获取单元303用于获取至少一个云厂商的云资源列表。
73.根据一些实施例,云资源列表获取单元303利用各云厂商的云资源列表接口,将各
云厂商的云资源列表汇总在一起,方便根据云资源需求获取单元301获取的云资源需求选择云资源。
74.云资源选择单元305用于从所述云资源列表中选择满足所述云资源需求的云资源。
75.根据一些实施例,云资源选择单元305根据云资源需求获取单元301获取的云资源需求及云资源列表获取单元303获取的云资源类别,从各云厂商云资源中选择满足需求的云资源。
76.云资源确认单元307用于确认云资源选择单元选择的云资源信息。
77.根据一些实施例,云资源信息包括云资源启动时所依赖的服务详情、云资源的数量、云资源的硬件信息、云资源的软件信息和/或所述云资源的价格。
78.根据一些实施例,云资源信息还包括为云资源配置的服务节点信息。
79.云资源快照单元309用于保存云资源信息。
80.根据一些实施例,云资源确认后,云资源快照单元309为创建好的云资源创建快照,方便对资产的追溯。
81.根据图3所述的创建云资产模块,通过将各云厂商的云资源共性内容抽象为统一模板,在采购云资源时,只需根据模板进行采购主机,避免了用户需要单个采购云资源的问题,节约了时间,降低了人力成本。
82.下面参照图4来描述根据本技术的这种实施方式的电子设备200。图4显示的电子设备200仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
83.如图4所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。其中,存储单元存储有程序代码,程序代码可以被处理单元210执行,使得处理单元210执行本说明书描述的根据本技术各种示例性实施方式的方法。例如,处理单元210可以执行如图2中所示的云资源管理系统。
84.存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(rom)2203。
85.存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
86.总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
87.电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限
于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
88.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本技术实施方式的上述方法。
89.软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
90.计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
91.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
92.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现前述功能。
93.本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
94.根据本技术的一些示例实施例,通过为云主机灵活配置服务节点,实现在不同的应用场景下配置不同的服务节点组合,以实现不同的应用场景下的所需要的不同的云资源初始化效果。
95.根据本技术的一些实施例,通过将各云厂商的云资源共性内容抽象为统一模板,在采购云资源时,只需根据模板进行采购主机,避免了用户需要单个采购云资源的问题,节约了时间,降低了人力成本。
96.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及
实施方式进行了阐述,以上实施例的说明仅用于帮助理解本技术的方法及其核心思想。同时,本领域技术人员依据本技术的思想,基于本技术的具体实施方式及应用范围上做出的改变或变形之处,都属于本技术保护的范围。综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

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

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

相关文献