一种分布式系统部署方法、装置、电子设备及存储介质与流程

文档序号:30089234发布日期:2022-05-18 08:00阅读:106来源:国知局
一种分布式系统部署方法、装置、电子设备及存储介质与流程

1.本技术涉及信息技术领域,尤其涉及一种分布式系统部署方法、装置、电子设备及存储介质。


背景技术:

2.随着信息技术应用创新产业的发展,计算机中央处理器(central processing unit,cpu)基础架构的类型也日益丰富,如,精简指令集架构处理器(acorn risc machine,arm)架构、x86(the x86)架构,以及无互锁流水线微处理器(microprocessor without interlocked piped stages,mips)架构等等;进一步地,基于上述各类基础架构研发的云计算应用也逐渐增多。
3.云计算技术是一种基于互联网的分布式计算方式,云计算技术的实施需要一整套技术架构的支持,包括:网络、服务器、存储、虚拟化等。随着云计算技术逐渐可以兼容arm架构、x86架构以及mips架构等多种cpu基础架构,采用云计算技术获得的数据处理结果,需要根据cpu基础架构的类型进行分布式存储。
4.相关技术下,分布式存储系统可以基于无线通信技术,以集群形式实现,即集成采用不同类型的cpu基础架构的存储设备,从而实现以分布式形式部署且可动态扩展的存储资源。
5.为了分布式存储需求,针对不同类型的cpu基础架构,控制设备根据预先记录的,需要进行分布式存储的各个存储设备的互联网络协议(internet protocol,ip)地址,分别与各个存储设备进行免密通信,以使各个存储设备分别搭建相应的本地源;接着,各个存储设备分别基于各自的本地源,从控制设备下载全部类型的cpu基础架构的配置文件;最后,各个存储设备分别基于本地的cpu基础架构的类型,从获得的各个配置文件中,筛选出匹配的目标配置文件,并进行存储资源配置;这样,控制设备和各个存储设备之间通过相互配合,完成了分布式存储系统的部署。
6.然而,相关技术下,上述方式尚且存在以下缺陷:
7.1、配置文件分发效率低。
8.控制设备需要与大量存储设备进行免密通信,并且分别向各个存储设备分发全部类型的cpu基础架构的配置文件,那么,当存储设备数量和cpu基础架构的类型较多时,大量的分发操作会给控制设备带来严重的运行负荷;并且,如果分发不及时,会影响存储资源的配置。
9.2、运维成本高。
10.相关技术下,控制设备根据预先记录的,需要进行分布式存储的各个存储设备的ip地址,分别与各个存储设备进行免密通信,那么,当新增的存储设备的数量较多时,控制设备无法根据预先记录的ip地址,给新增的存储设备分发全部类型的cpu基础架构的配置文件;因此,新增的存储设备通常只能主动从网络侧下载目标配置文件,并进行存储资源配置,才能完成分布式存储系统的部署;这样,会因大量新增的存储设备的存在,而导致分布
式存储系统的部署运维成本显著增加。


技术实现要素:

11.本技术提供了一种分布式系统部署方法、装置、电子设备及存储介质,用以给不同cpu基础架构的存储设备,下发相应的资源配置文件,提高资源配置文件分发效率。
12.第一方面,本技术实施例提供了一种分布式系统部署方法,所述方法包括:
13.确定存在待部署的存储设备时,获取存储设备的中央处理器cpu基础架构的标识信息。
14.基于cpu基础架构的标识信息,确定存储设备的cpu基础架构的类型。
15.基于cpu基础架构的类型,获取对应的资源配置文件。
16.将资源配置文件发送给存储设备,以使存储设备基于获得的资源配置文件完成存储资源的配置。
17.第二方面,本技术实施例还提供了一种分布式系统部署装置,所述装置包括:
18.获取模块,用于在确定存在待部署的存储设备时,获取存储设备的中央处理器cpu基础架构的标识信息。
19.处理模块,用于基于cpu基础架构的标识信息,确定存储设备的cpu基础架构的类型;以及,基于cpu基础架构的类型,获取对应的资源配置文件。
20.通信模块,用于将资源配置文件发送给存储设备,以使存储设备基于获得的资源配置文件完成存储资源的配置。
21.一种可选的实施例中,在确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息之前,获取模块还用于:
22.获取预设的原始配置文件,基于设定的各个类型的cpu基础架构,分别对原始配置文件进行相应修改,获得相应的资源配置文件。
23.分别确定各个类型的cpu基础架构,各自对应的文件安装方式和数据压缩方式。
24.针对各个类型的cpu基础架构各自对应的资源配置文件,分别采用相应的数据压缩方式进行压缩处理,基于获得的各个压缩数据包,分别生成携带对应的文件安装方式的目标安装包。
25.一种可选的实施例中,在确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息之前,处理模块还用于:
26.基于设定的各个类型的cpu基础架构,分别设置各个类型的cpu基础架构各自对应的检测算法。
27.基于设置的各类检测算法,采用融合处理方式,生成第一脚本信息。
28.在确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息时,处理模块具体用于:
29.通过动态主机配置协议dhcp,获取存储设备的互联网络协议ip地址。
30.基于获得的ip地址,与存储设备建立通信连接。
31.基于通信连接,获取存储设备的cpu基础架构的标识信息。
32.一种可选的实施例中,在将资源配置文件发送给存储设备,以使存储设备基于获得的资源配置文件完成存储资源的配置时,通信模块具体用于:
33.将资源配置文件发送给存储设备,以使存储设备基于自身的cpu基础架构,搭建相应的本地源,并通过本地源加载资源配置文件,以及基于资源配置文件中记录的文件安装方式,配置相应的存储资源。
34.第三方面,本技术实施例还提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面中的任一种分布式系统部署方法。
35.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的存储自动化部署方法。
36.第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
37.本技术实施例中,基于获取目标存储设备的cpu基础架构的标识信息,分析出目标存储设备的cpu基础架构的类型,从而根据目标存储设备基础架构的类型,获取对应的资源配置文件,并将资源配置文件发送给目标存储设备。其中,基于获取目标存储设备的cpu基础架构的标识信息,分析出目标存储设备的cpu基础架构的类型,只需根据第一脚本信息中cpu基础架构的检测算法,就能准确判断出目标存储设备的cpu基础架构的类型,采用这种方式,避免了在未知目标存储设备的cpu基础架构的类型情况下,向目标存储设备分发全部类型的cpu基础架构的资源配置文件,减少了资源配置文件的分发操作,从而提高了资源配置文件分发效率。
附图说明
38.图1示例性示出了本技术实施例适用的系统架构示意图;
39.图2示例性示出了本技术实施例提供的生成目标安装包的方法流程图;
40.图3示例性示出了本技术实施例提供的生成配置资源文件的示意图;
41.图4示例性示出了本技术实施例提供的生成第一脚本信息的方法流程图;
42.图5示例性示出了本技术实施例提供的生成第一脚本信息的示意图;
43.图6示例性示出了本技术实施例提供的分布式系统部署的方法流程图;
44.图7示例性示出了本技术实施例提供的ip地址获取的方法示意图;
45.图8示例性示出了本技术实施例提供的一种分布式系统部署装置的结构示意图;
46.图9示例性示出了本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
47.为提高资源配置文件分发的效率,本技术实施例中,控制设备上预设保存了各个类型的cpu基础架构各自对应的检测算法以及资源配置文件,基于获取目标存储设备的cpu基础架构的标识信息,确定目标存储器的cpu基础架构的类型,从而将相应的资源配置文件发送给目标存储设备。
48.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本技术的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的
关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。a与b连接,可以表示:a与b直接连接和a与b通过c连接这两种情况。另外,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
49.为了更好地理解本技术实施例,下面首先对本技术实施例中涉及的技术术语进行说明。
50.(1)第一安装包,安装在控制设备上。所述第一安装包为携带原始配置文件的集合。为方便起见,本文中,以第一安装包为ansible安装包作为例子进行描述。
51.(2)目标安装包,由控制设备生成。所述目标安装包为携带目标存储设备的cpu基础架构相应的资源配置文件的集合。
52.(3)第一脚本信息,由控制设备生成。所述第一脚本信息具体包括各个类型的cpu基础架构各自对应的检测算法。
53.(4)第二脚本信息,由存储设备发出。所述第二脚本信息具体包括存储设备的cpu基础架构的标识信息。为方便起见,本文中,以第一脚本信息为shell脚本信息作为例子进行描述。
54.需要说明的是,上述技术术语命名方式仅为一种示例,本技术实施例对上述技术术语的命名方式不做限制。
55.下面将结合本发明实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.图1示例性示出了本技术实施例所适用的系统架构图,如图1所示,该分布式系统包括控制设备101和存储设备(102a,102b)。控制设备101与存储设备(102a,102b)之间可通过无线通信方式或有线通信方式进行信息交互。
57.示例性的,控制设备101可通过短距离无线通信方式接入网络,从而与存储设备(102a,102b)进行通信,所述短距离无线通信方式,比如,包括无线通信网络技术(wi-fi)。
58.本技术实施例对控制设备以及上述其他设备的数量不做限制,图1仅以一个控制设备为例进行描述。
59.控制设备101,用于确定存在待部署的存储设备时,获取存储设备的中央处理器cpu基础架构的标识信息;基于cpu基础架构的标识信息,确定存储设备的cpu基础架构的类型;基于cpu基础架构的类型,获取对应的资源配置文件;将资源配置文件发送给存储设备,以使存储设备基于获得的资源配置文件完成存储资源的配置。
60.在本技术的一些实施例中,控制设备101可为安装ansible安装包的控制设备。
61.存储设备(102a,102b),是一种可以向用户提供语音和/或数据连通性的设备,包括具有无线连接功能的手持式设备、车载设备等。
62.示例性的,存储设备可以是:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制中的无线存储设备、无人驾驶中的无线存储设备、智能电网中的无线存储设备、运输安全中的无线存储设备、智慧城市中的无线存
储设备,或智慧家庭中的无线存储设备等。
63.在本技术的一些实施例中,存储设备(102a,102b)可为不同cpu基础架构的存储设备,cpu基础架构具体包括arm架构、x86架构以及mips架构等。需要说明的是,虽然存储设备的cpu基础架构可能不同,但均可进行本地源的搭建和分布式存储系统ceph集群的部署,即,存储资源的配置。
64.进一步地,基于上述系统架构,参阅图2所示,本技术实施例中,目标安装包的生成过程,具体步骤如下:
65.s201:获取预设的原始配置文件。
66.具体的,在执行步骤s201时,控制设备首先在本地安装第一安装包,再根据第一安装包的压缩文件的文件格式,采用相应的文件解压方式,对第一安装包进行解压,最终获得原始配置文件。
67.示例性的,ansible安装包的压缩文件格式为罗谢尔的归档(roshal archive,rar)格式,则控制设备获得的ansible安装包的压缩文件格式为rar格式。紧接着,控制设备采用rar压缩文件的解压方式,对ansible安装包进行解压,以确保从ansible安装包中获得完整的原始配置文件。
68.原始配置文件是指用于在存储设备上完成数据的分布式存储的资源配置文件。可选的,原始配置文件为分布式存储ceph集群的资源配置文件。示例性的,计算机中的一个ceph集群的资源配置文件至少包括一个分布式存储监视器ceph monitor的配置文件,分布式存储管理器ceph managers的配置文件以及分布式存储对象存储守护进程(ceph object storage daemon,ceph osd)的配置文件,进一步地,当控制设备对数据进行分布式存储,调用ceph集群中的配置文件时,需要依赖元数据服务,故而需要分布式存储元数据服务器(ceph metadata server,ceph mds)的配置文件。
69.ceph monitor用于维护ceph集群状态的映射,包括monitor映射,manager映射,osd映射,mds映射和基于哈希的数据分布(controlled replication under scalable hashing,crush)映射。这些映射是ceph守护程序相互协调所需的关键群集状态;还负责管理守护程序和计算机之间的身份验证。通常至少需要3个ceph monitor才能实现冗余和高可用性。
70.ceph manager用于负责跟踪运行时指标和ceph集群的当前状态,包括存储利用率,当前性能指标和系统负载;还托管基于python的模块,以管理和公开ceph集群信息,包括基于web的ceph仪表板和表征性状态转移应用程序编程接口(representational state transfer application programming interface,rest api)。通常至少需要3个ceph manager才能实现高可用性。
71.ceph osd用于将数据以对象的形式存储到集群中每个节点的物理磁盘上,处理数据复制,恢复,重新平衡,并通过检查其他ceph osd守护程序的心跳信息来向ceph monitor和ceph manager提供一些监视信息。通常至少需要3个ceph osd才能实现冗余和高可用性。
72.ceph mds用于元数据的内存缓存,加快元数据的访问;保存了文件系统的元数据(对象里保存了子目录和子文件的名称和索引节点inode编号);还保存cephfs日志,日志是用来恢复ceph mds里的元数据缓存;重启ceph mds的时候会通过replay的方式从ceph osd上加载之前缓存的元数据。
73.ceph集群将数据作为对象存储在逻辑存储池中,使用crush算法,确定哪个放置组(placement group,pg)应包含该对象,并进一步计算哪个ceph osd守护程序应存储该pg,进而使ceph集群能够动态扩展,重新平衡和恢复。
74.s202:在获取预设的原始配置文件之后,基于设定的各个类型的cpu基础架构,分别对原始配置文件进行相应修改,获得相应的资源配置文件。
75.为了便于描述,本技术实施例中,以至少设定的各个类型的cpu基础架构中的任意一个cpu基础架构为例,进行相关说明,其他类型的cpu基础架构的原始配置文件的修改过程均采用相近的方式,将不再赘述。
76.具体的,在执行步骤s202时,控制设备可以基于预设的各个类型的cpu基础架构,分别确定原始配置文件需要做怎样的修改,并对原始资源配置文件做相应的修改,获得相应的资源配置文件。
77.例如,参阅图3所示,预设的cpu基础架构具体包括arm架构、x86架构以及mips架构,控制设备基于获取到的cpu基础架构的架构信息,分别修改原始配置文件的安装格式,以分别适应上述cpu基础架构,进而获得相应的资源配置文件,例如,资源配置文件.arm、资源配置文件.x86以及资源配置文件.mips。
78.采用上述方法,可以获得各个类型cpu基础架构的资源配置文件,假设控制设备从ansible安装包中获取到的原始配置文件共有6份,即,原始配置文件1、原始配置文件2、原始配置文件3、原始配置文件4、原始配置文件5以及原始配置文件6,每一份原始配置文件的格式根据相应的cpu基础架构修改后,均可在相应cpu基础架构的存储设备上完成分布式存储资源配置,各个类型cpu基础架构各自对应的资源配置文件生成情况如表1所示:
79.表1
[0080][0081]
由上述表格可知,原始配置文件1、原始配置文件2、原始配置文件3、原始配置文件4、原始配置文件5以及原始配置文件6,分别基于预设的cpu基础架构,相应的修改原始配置文件的格式,得到相应的资源配置文件。以原始配置文件1为例,针对arm架构的cpu基础架构,控制设备修改原始配置文件1的格式,生成可在arm架构的存储设备上完成分布式存储资源配置的资源配置文件.arm.1,以此类推。
[0082]
s203:在获得相应的资源配置文件之后,分别确定各个类型的cpu基础架构,各自对应的文件安装方式和数据压缩方式。
[0083]
具体的,在执行步骤s203时,控制设备可以基于预设的各个类型的cpu基础架构,分别确定相应的资源配置文件应该采取哪一种文件安装方式以及哪一种数据压缩方式。
[0084]
示例性的,资源配置文件在存储设备上的文件安装方式主要有三种,具体可包括
red hat软件包管理器(red-hat package manager,rpm)、shell前端软件包管理器(yellow dog updater modified,yum)以及源码包。为了提高文件安装方式在存储设备上的安装速度以及便于安装资源配置文件,本技术实施例中,采用rpm的文件安装方式。数据压缩方式按时效性可分为即时压缩和非即时压缩,即时压缩是将语音信号转化为数字信号,同时进行压缩,然后即时通过互联网internet传送出去,非即时压缩是在需要的情况下才进行,没有即时性。本技术实施例中,控制设备可以预先根据各个资源配置文件的时效性要求,分别对相应的资源配置文件进行压缩。仍以6份资源配置文件,即,资源配置文件.arm.1、资源配置文件.x86.1、资源配置文件.mips.1、资源配置文件.arm.2、资源配置文件.x86.2以及资源配置文件.mips.2为例,各个资源配置文件各自对应的时效性要求及数据压缩方式如表2所示:
[0085]
表2
[0086][0087]
由上述表格可知,资源配置文件可根据存储设备对资源配置文件需求的时效性,确定对相应的资源配置文件的数据压缩方式。以资源配置文件.arm.1为例,arm架构的存储设备需要在短时间内得到相应的资源配置文件的压缩数据包,则采用即时压缩的数据压缩方式;以资源配置文件.x86.1为例,x86架构的存储设备对获得相应的资源配置文件的压缩数据包没有时间要求,则采用非即时压缩的数据压缩方式。
[0088]
s204:在确定资源配置文件各自对应的文件安装方式和数据压缩方式之后,针对各个类型的cpu基础架构各自对应的资源配置文件,分别采用相应的数据压缩方式进行压缩处理。
[0089]
具体的,在执行步骤s204时,控制设备首先获得各个资源配置文件相应的数据压缩方式,再对资源配置文件进行相应的数据压缩处理,最终获得相应的压缩数据包。
[0090]
示例性的,如表2所示,若已知资源配置文件.mips.1采用即时压缩的数据压缩方式,则可知mips架构的目标存储设备需要在短时间内获得资源配置文件.mips.1,因此,在生成资源配置文件.mips.1的过程中,同时对资源配置文件.mips.1的数据进行压缩,生成相应的压缩数据包;若已知资源配置文件.arm.2采用非即时压缩的数据压缩方式,则可知arm架构的目标存储设备对资源配置文件的获取没有时间的要求,因此,控制设备可以先预先生成资源配置文件.arm.2,紧接着,再对资源配置文件.arm.2中的数据进行压缩,生成相应的压缩数据包。
[0091]
s205:在分别对相应的数据压缩方式进行压缩处理后,基于获得的各个压缩数据包,分别生成携带对应的文件安装方式的目标安装包。
[0092]
具体的,在执行步骤s205时,控制设备首先获得各个cpu基础架构各自相应的压缩数据包,分别确定应该采取哪一种文件压缩打包方式,对相应的数据压缩包进行打包,最终
获得各个cpu基础架构各自对应的目标安装包。
[0093]
示例性的,数据压缩包的打包方式具体可包括zlib压缩打包、zip压缩打包、gzip压缩打包、7z压缩打包以及rar压缩打包。为了实现不同格式的压缩数据包进行压缩打包以及提高压缩效率,本技术实施例中,采用zip压缩打包的方式。仍以6份压缩数据包,即,压缩数据包.arm.1、压缩数据包.x86.1、压缩数据包.mips.1、压缩数据包.arm.2、压缩数据包.x86.2以及压缩数据包.mips.2为例,各个压缩数据包各自对应的目标安装包如表3所示:
[0094]
表3
[0095][0096]
由上述表格可知,压缩数据包.arm.1、压缩数据包.x86.1、压缩数据包.mips.1、压缩数据包.arm.2、压缩数据包.x86.2以及压缩数据包.mips.2,分别基于控制设备的压缩打包方式,相应的对各个压缩数据包进行压缩打包,获得相应的目标安装包。例如,以压缩数据包.arm.1为例,控制设备采用zip压缩打包的方式,对压缩数据包进行压缩打包,生成目标安装包.arm.1.zip,以此类推。
[0097]
可选的,在本技术优选的实施例中,基于上述方法步骤,生成各个类型cpu基础架构各自对应的目标安装包之后,控制设备还用于生成第一脚本信息,参阅图4所示,第一脚本信息的生成过程,具体步骤如下:
[0098]
s401:基于设定的各个类型的cpu基础架构,分别设置各个类型的cpu基础架构各自对应的检测算法。
[0099]
为了便于描述,本技术实施例中,以至少设定的各个类型的cpu基础架构中的任意一个cpu基础架构为例,进行相关说明,其他类型的cpu基础架构的检测算法的设置过程均采用相近的方式,将不再赘述。
[0100]
具体的,在执行步骤s401时,控制设备可以基于设定的各个类型的cpu基础架构,分别设置用于检测相应的cpu基础架构的标识信息的检测算法。
[0101]
示例性的,控制设备基于设定的各个类型的cpu基础架构,分别对相应的cpu基础架构的标识信息进行字段匹配,匹配出各个类型的cpu基础架构的标识信息。为了提高检测cpu基础架构的效率,本技术实施例设置检测算法用于检测第二脚本,即,shell脚本中的cpu基础架构的标识信息。以3种cpu基础架构的shell脚本,即,arm.shell脚本、x86.shell脚本以及mips.shell脚本为例,各个类型的cpu基础架构各自对应的脚本信息及检测算法如表4所示:
[0102]
表4
[0103]
shell脚本类型arm.shell脚本x86.shell脚本mips.shell脚本检测算法类型检测算法.arm检测算法.x86检测算法.mips
检测结果arm架构x86架构mips架构
[0104]
由上述表格可知,控制设备可根据各个类型的cpu基础架构的标识信息的检测算法,分别对相应的shell脚本中的cpu基础架构的字段信息进行匹配,确定相应的cpu基础架构的类型。例如,以arm.shell脚本为例,控制设备基于arm架构的shell脚本中的cpu基础架构的标识信息的字段,设置检测算法.arm,紧接着,根据检测算法.arm,从cpu基础架构的标识信息的字段中,匹配出cpu基础架构的类型为arm架构。
[0105]
s402:在分别设置各个类型的cpu基础架构各自对应的检测算法之后,基于设置的各类检测算法,采用融合处理方式,生成第一脚本信息。
[0106]
具体的,在执行步骤s402时,控制设备基于获得各个类型的cpu基础架构的检测算法,确定应该使用哪一种算法融合方式,对各个类型的cpu基础架构的检测算法进行融合处理,再用相应的cpu基础架构的检测算法,获得第一脚本信息。
[0107]
示例性的,检测算法在控制设备上的算法融合方式主要有六种,具体可包括线性加权融合法,交叉融合(blending)法、瀑布融合法、多而不同之融合法、预测融合法以及加性融合法。为了满足控制设备通过第一脚本信息,检测出各个存储设备的cpu基础架构的类型,提高目标存储设备的cpu基础架构的检测速度,以及,确保各个cpu基础架构的检测算法之间相互独立,本技术实施例中,可采用预测融合法。
[0108]
例如,参阅图5所示,采用预测融合算法,将表3中的检测算法.arm、检测算法.x86以及检测算法.mips进行融合处理,生成第一脚本信息。需要说明的是,控制设备采用融合算法生成的第一脚本信息,可以对目标存储设备的shell脚本,推荐最接近shell脚本中cpu基础架构的检测算法。比如,控制设备接收到来自于arm架构的存储设备的shell脚本,预先推荐检测算法.arm。
[0109]
s403:在生成第一脚信息之后,基于第一脚本信息,分别采用各个类型的cpu基础架构各自对应的检测算法,对存储设备的cpu基础架构的标识信息,进行cpu基础架构检测,确定存储设备的cpu基础架构的类型。
[0110]
具体的,在执行步骤s403时,控制设备在接收到目标存储设备的shell脚本信息后,首先从第一脚本信息中,推荐最接近目标存储设备cpu基础架构的检测算法,再对目标存储设备的shell脚本信息中的cpu基础架构的字段信息进行匹配,获取目标存储设备的标识信息,得到目标存储设备的cpu基础架构的类型。
[0111]
示例性的,以x86架构的目标存储设备为例,控制设备接收目标存储设备的x86.shell脚本,获取x86.shell脚本中的字段信息;紧接着,为x86.shell脚本中的字段信息提供检测算法.x86,对x86.shell脚本中的字段信息进行匹配;最终匹配到shell脚本中包含x86架构的字段信息,确定目标存储设备的cpu基础架构的类型为x86架构。
[0112]
进一步地,基于上述的预操作处理,控制设备生成的各个类型cpu基础架构各自对应的资源配置文件,以及包含各个类型cpu基础架构的检测算法的第一脚本信息,参阅图6所示,本技术实施例中,目标存储设备相应的资源配置文件分发过程,具体步骤如下:
[0113]
s601:确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息。
[0114]
具体的,在执行步骤s601时,控制设备首先通过动态主机配置协议(dynamic host configuration protocol,dhcp),获取目标存储设备的ip地址,再基于该ip地址,与目标存储设备之间建立通信连接,最终接收目标存储设备发出的携带cpu基础架构信息的shell脚
本。
[0115]
示例性的,参阅图7所示,首先,目标存储设备采用广播方式,向控制设备7发送dhcp discover消息,即,ip地址租用申请消息,指示目标存储设备需要一个ip地址;紧接着,控制设备仍采用广播方式,向目标存储设备回应dhcp offer消息,即,ip地址租用提供消息,指示控制设备可以为目标存储设备提供ip地址;进一步地,目标存储设备向控制设备发送dhcp request消息,其中,dhcp request消息包括目标存储设备申请的ip地址;最终,控制设备向目标存储设备发送dhcp ack消息,其中,dhcp ack消息包括目标存储设备分配的ip地址以及ip地址的有效时长。
[0116]
进一步地,控制设备在获取到目标存储设备的ip地址之后,基于该ip地址,与目标存储设备之间建立网络通信。可选的,控制设备采用安全外壳协议(secure shell,ssh),配置与存储设备之间进行网络通信的各个密钥,从而实现免密通信。其中,ssh通过在网络中创建安全隧道,来实现控制设备与目标存储设备之间的连接,提高控制设备与目标存储设备之间的通信效率。
[0117]
进一步地,控制设备在与目标存储设备建立免密通信之后,便可以接收目标存储设备发送的携带cpu基础架构的标识信息的shell脚本。
[0118]
s602:基于cpu基础架构的标识信息,确定存储设备的cpu基础架构的类型。
[0119]
具体的,在执行步骤s602时,控制设备可以基于接收到目标存储设备的shell脚本,从shell脚本中提取字段信息,其中,字段信息中包括目标存储设备cpu基础架构的标识信息,再根据第一脚本信息的检测算法,对字段信息进行匹配,确定目标存储设备的cpu基础架构的类型。
[0120]
示例性的,控制设备基于目标存储设备的shell脚本,从第一脚本信息中,预测并推荐与目标存储设备的cpu基础架构最接近的检测算法,对shell脚本中指示cpu基础架构类型的字段信息进行匹配,最终确定出目标存储设备的cpu基础架构的类型。以6个目标存储设备的shell脚本,即,shell脚本1.arm、shell脚本2.x86、shell脚本3.mips、shell脚本4.arm、shell脚本5.x86以及shell脚本6.mips为例,各个目标存储设备的shell脚本各自对应的推荐检测算法及检测结果如表5所示:
[0121]
表5
[0122][0123][0124]
由上述表格可知,控制设备可根据第一脚本信息中的检测算法,对不同目标存储设备的shell,分别推荐最接近目标存储设备的cpu基础架构的检测算法,进而确定相应的目标存储设备的cpu基础架构的类型。例如,以shell脚本1.arm为例,控制设备基于第一脚本信息的检测算法,先为shell脚本1.arm推荐arm基础架构的检测算法.arm,再根据检测算
法.arm对shell脚本1.arm中的字段信息进行匹配,从而确定发送shell脚本1.arm的目标存储设备的cpu基础架构为arm架构。
[0125]
s603:基于cpu基础架构的类型,获取对应的资源配置文件。
[0126]
示例性的,在执行步骤s603时,控制设备可以基于获得的目标存储设备的cpu基础架构的类型,为目标存储设备配置相应的资源配置文件。以6个目标存储设备,即,目标存储设备1、目标存储设备2、目标存储设备3、目标存储设备4、目标存储设备5以及目标存储设备6为例,各个目标存储设备各自对应的cpu基础架构的类型及资源配置文件如表6所示:
[0127]
表6
[0128][0129]
由上述表格可知,控制设备可以根据各个目标存储设备的cpu基础架构的类型,分别提供相应的资源配置文件。例如,以目标存储设备1为例,控制设备通过第一脚本的检测算法,对目标存储设备1的shell脚本的字段信息进行匹配,确定了目标存储设备1的cpu基础架构为arm架构;紧接着,根据目标存储设备1的arm架构,将资源配置文件.arm.1的目标安装包,配置给目标存储设备1。
[0130]
s604:将资源配置文件发送给存储设备,以使存储设备基于获得的资源配置文件完成存储资源的配置。
[0131]
为了便于描述,本技术实施例中,以至少设定的各个类型的cpu基础架构中的任意一个cpu基础架构为例,进行相关说明,其他类型的cpu基础架构的存储资源的配置过程均采用相近的方式,将不再赘述。
[0132]
具体的,在执行步骤s604时,控制设备可以将相应的目标安装包发送给目标存储设备,以使目标存储设备基于自身的cpu基础架构,搭建相应的本地源,并通过本地源加载相应的资源配置文件,以及基于资源配置文件中记录的文件安装方式,配置相应的存储资源。
[0133]
示例性的,控制设备在确定目标存储设备的cpu基础架构后,将相应的资源配置文件发送给目标存储设备。进一步地,存储设备接收到相应的目标安装包以后,根据目标安装包的压缩文件的文件格式,采用相应的文件解压方式,对目标安装包进行解压,获得相应的资源配置文件;紧接着,基于自身的cpu基础架构,清除先前的本地源的配置文件,重新加载相应的本地源的配置文件,完成本地源的搭建;最终,在本地源执行安装资源配置文件的指令,加载相应的资源配置文件,完成目标存储设备的存储资源的配置。例如,如表6所示,若目标存储设备1已经接收到资源配置文件.arm.1的目标安装包,则采用zip的解压方式,对目标安装包进行解压,得到相应的压缩数据包;紧接着,再次采用zip解压方式,获得相应的资源配置文件和rpm;进一步地,清除先前的本地源的配置文件,再重新加载相应的本地源
的配置文件,进而完成本地源的搭建,并将资源配置文件和rpm存放在本地源中;最终,在本地源执行安装资源配置文件的指令,加载相应的资源配置文件,调用目标存储设备1的存储资源,完成分布式存储系统的部署。
[0134]
本技术实施例提供的分布式系统部署方法,基于获取目标存储设备的cpu基础架构的标识信息,确定目标存储设备的cpu基础架构的类型,只需要根据第一脚本信息中cpu基础架构的检测算法,就能准确判断出目标存储设备的cpu基础架构的类型,采用这种方式,避免了在未知目标存储设备的cpu基础架构的类型情况下,向目标存储设备分发全部类型的cpu基础架构的资源配置文件,减少了资源配置文件的分发操作,从而提高了资源配置文件的分发效率。
[0135]
基于相同的技术构思,本技术实施例还提供了一种分布式系统部署装置,该分布式系统部署装置可以实现本技术实施例的上述方法流程。
[0136]
图8示例性示出了本技术实施例提供的一种分布式系统部署装置的结构示意图。如图8所示,该存储自动化部署装置包括:获取模块801和处理模块802以及通信模块803,其中:
[0137]
获取模块801,用于在确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息。
[0138]
处理模块802,用于基于cpu基础架构的标识信息,确定存储设备的cpu基础架构的类型;以及,基于cpu基础架构的类型,获取对应的资源配置文件。
[0139]
通信模块803,用于将,资源配置文件发送给存储设备,以使存储设备基于获得的资源配置文件完成存储资源的配置。
[0140]
一种可选的实施例中,在确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息之前,获取模块801还用于:
[0141]
获取预设的原始配置文件,基于设定的各个类型的cpu基础架构,分别对原始配置文件进行相应修改,获得相应的资源配置文件。
[0142]
分别确定各个类型的cpu基础架构,各自对应的文件安装方式和数据压缩方式。
[0143]
针对各个类型的cpu基础架构各自对应的资源配置文件,分别采用相应的数据压缩方式进行压缩处理,基于获得的各个压缩数据包,分别生成携带对应的文件安装方式的目标安装包。
[0144]
一种可选的实施例中,在确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息之前,处理模块802还用于:
[0145]
基于设定的各个类型的cpu基础架构,分别设置各个类型的cpu基础架构各自对应的检测算法。
[0146]
基于设置的各类检测算法,采用融合处理方式,生成第一脚本信息。
[0147]
在确定存在待部署的存储设备时,获取存储设备的cpu基础架构的标识信息时,处理模块802具体用于:
[0148]
通过动态主机配置协议dhcp,获取存储设备的互联网络协议ip地址。
[0149]
基于获得的ip地址,与存储设备建立通信连接。
[0150]
基于通信连接,获取存储设备的cpu基础架构的标识信息。
[0151]
一种可选的实施例中,在将资源配置文件发送给存储设备,以使存储设备基于获
得的资源配置文件完成存储资源的配置时,通信模块803具体用于:
[0152]
将资源配置文件发送给存储设备,以使存储设备基于自身的cpu基础架构,搭建相应的本地源,并通过本地源加载资源配置文件,以及基于资源配置文件中记录的文件安装方式,配置相应的存储资源。
[0153]
在此需要说明的是,本技术实施例提供的上述分布式系统部署装置,能够实现上述方法实施例中控制设备所执行的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0154]
基于相同的技术构思,本技术实施例还提供了一种电子设备,该电子设备可实现本技术上述实施例提供的方法流程。在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。
[0155]
图9示例性示出了本技术实施例提供的一种电子设备的结构示意图。如图所示,该电子设备可包括:
[0156]
至少一个处理器901,以及与至少一个处理器901连接的存储器902,本技术实施例中不限定处理器901与存储器902之间的具体连接介质,图9中是以处理器901和存储器902之间通过总线900连接为例。总线900在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线900可以分为地址总线、数据总线、控制总线等,为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器901也可以称为控制器,对于名称不做限制。
[0157]
在本技术实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以执行前文论述的一种存储自动化部署方法。处理器901可以实现图8所示的装置中各个模块的功能。
[0158]
其中,处理器901是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
[0159]
在一种可能的设计中,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0160]
处理器901可以是通用处理器,例如cpu(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的一种存储自动化部署方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0161]
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存
储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0162]
通过对处理器901进行设计编程,可以将前述实施例中介绍的一种存储自动化部署方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图6所示的实施例的一种分布式系统部署方法的步骤。如何对处理器901进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
[0163]
基于同一发明构思,本技术实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种分布式系统部署方法。
[0164]
在一些可能的实施方式中,本技术提供一种分布式系统部署方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本技术各种示例性实施方式的一种分布式系统部署方法中的步骤。
[0165]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0166]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个服务器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0167]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0168]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0169]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围
之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1