1.本发明涉及大数据处理技术领域,尤其涉及一种集群数据的处理方法、装置、电子设备和存储介质。
背景技术:
2.随着大数据技术的成熟发展,大数据应用在交易欺诈识别、精准营销、信贷风险评估、供应链金融等多领域得到广泛应用,大数据应用通常由大数据集群资源支持,由此大数据集群资源的需求日益增多,大数据集群的搭建、配置也成为了常态化需求。现有技术中,大数据集群的搭建、配置主要由系统运维人员手工操作完成,但是这种方式通常需要花费较长时间,从而导致大数据集群搭建和配置的实现效率较低。
技术实现要素:
3.有鉴于此,本发明实施例提供一种集群数据的处理方法、装置、电子设备和存储介质,能够解决由系统运维人员手工操作实现大数据集群的搭建、配置,需要花费较长时间,导致实现效率较低的问题。
4.为实现上述目的,根据本发明实施例的一个方面,提供了一种集群数据的处理方法。
5.本发明实施例的一种集群数据的处理方法包括:响应于目标集群的构建请求,获取所述构建请求中的集群类型和需求参数;查询所述集群类型对应的资源核算模型,以基于所述需求参数计算所述目标集群对应的目标资源数据;获取当前可用的资源数据,以判断是否大于所述目标资源数据;若否,则发送资源不足提示信息;若是,则触发集群构建任务,以基于所述目标资源数据创建所述目标集群对应的虚拟机,获取所述构建请求中集群配置信息,进而对所述虚拟机进行集群配置,得出构建的目标集群并发送。
6.在一个实施例中,所述需求参数包括所需存储空间;
7.基于所述需求参数计算所述目标集群对应的目标资源数据,包括:
8.查询所述集群类型对应单个虚拟机的资源参数,以基于所述目标集群所需存储空间和所述单个虚拟机的资源参数计算所述目标集群对应的虚拟机数量。
9.在又一个实施例中,所述需求参数包括目标集群存储的单位数据大小和存储的单位数据数量;
10.基于所述需求参数计算所述目标集群对应的目标资源数据,包括:
11.基于所述单位数据大小和所述单位数据数量,计算所述目标集群存储数据的所需存储空间;
12.查询所述集群类型对应单个虚拟机的资源参数,以基于所述目标集群所需存储空间和所述单个虚拟机的资源参数计算所述目标集群对应的虚拟机数量。
13.在又一个实施例中,基于所述目标资源数据创建所述目标集群对应的虚拟机,包括:
14.调用预设的统一接口,以将所述目标资源数据传输至资源层,使所述资源层基于所述目标资源数据创建所述目标集群对应的虚拟机,并将所述虚拟机的信息通过所述统一接口返回。
15.在又一个实施例中,获取所述构建请求中集群配置信息,进而对所述虚拟机进行集群配置,包括:
16.获取所述集群配置信息中的集群安装信息,查询所述集群类型对应的安装文件,以基于所述集群安装信息和所述安装文件生成所述虚拟机的安装配置文件,进而对所述虚拟机进行安装配置;
17.获取所述集群配置信息中的集群运行配置信息,以查询对应配置资源,进而对所述虚拟机进行运行配置,得出构建的目标集群。
18.在又一个实施例中,所述集群构建任务包括虚拟机创建任务和集群配置任务;
19.基于所述目标资源数据创建所述目标集群对应的虚拟机,获取所述构建请求中集群配置信息,进而对所述虚拟机进行集群配置,得出构建的目标集群,包括:
20.触发虚拟机创建任务,以基于所述目标资源数据创建所述目标集群对应的虚拟机,返回虚拟机的创建结果;
21.基于所述创建结果触发集群配置任务,以获取所述构建请求中集群配置信息,对所述虚拟机进行集群配置,返回集群配置结果,进而基于所述集群配置结果,确定构建的目标集群信息。
22.在又一个实施例中,基于所述创建结果触发集群配置任务,包括:
23.基于所述创建结果判断所述虚拟机是否创建成功;若是,则将所述虚拟机创建任务的处理状态设置为完成,触发集群配置任务;若否,则将所述虚拟机创建任务的处理状态设置为未完成;
24.基于所述集群配置结果,确定构建的目标集群,包括:
25.基于所述集群配置结果判断集群配置是否成功;若是,则确定构建的目标集群信息,将所述集群配置任务的处理状态设置为完成;若否,则将所述集群配置任务的处理状态设置为未完成。
26.在又一个实施例中,所述方法还包括:
27.若所述虚拟机创建任务的处理状态为未完成,或者所述集群配置任务的处理状态为未完成,则删除创建的虚拟机,发送目标集群构建失败消息。
28.为实现上述目的,根据本发明实施例的另一方面,提供了一种集群数据的处理装置。
29.本发明实施例的一种集群数据的处理装置包括:响应单元,用于响应于目标集群的构建请求,获取所述构建请求中的集群类型和需求参数;核算单元,用于查询所述集群类型对应的资源核算模型,以基于所述需求参数计算所述目标集群对应的目标资源数据;判断单元,用于获取当前可用的资源数据,以判断是否大于所述目标资源数据;处理单元,用于若否,则发送资源不足提示信息;若是,则触发集群构建任务,以基于所述目标资源数据创建所述目标集群对应的虚拟机,获取所述构建请求中集群配置信息,进而对所述虚拟机进行集群配置,得出构建的目标集群并发送。
30.为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。
31.本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的集群数据的处理方法。
32.为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
33.本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的集群数据的处理方法。
34.为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机程序产品。
35.本发明实施例的一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的集群数据的处理方法。
36.上述发明中的一个实施例具有如下优点或有益效果:本发明实施例中,目标集群的构建请求中包括了集群类型和需求参数,所以响应构建请求后,可以基于集群类型查询出对应的资源核算模型,以对目标集群所需的集群资源进行核算,得出目标资源数据,进而在确定当前可用的资源数据可以满足目标资源数据后,即可触发集群构建任务,以实现对目标集群的构建,得出目标集群。如此本发明实施例中,可以在接收构建请求后可以基于目标集群的集群类型和需求参数自动为目标集群创建虚拟机,并进行对应的集群配置,从而得出所需的集群,实现集群的自动化处理,无需系统人员手动操作,提高集群构建的效率。同时,本发明实施例中,对于不同集群类型的集群可以配置对应的资源核算模型,进而可以为不同类型的集群准确的确定对应的资源数据,从而实现对应集群的准确构建,提高集群构建的准确性。
37.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
38.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
39.图1是根据本发明实施例的集群数据处理系统的一种系统架构的示意图;
40.图2是根据本发明实施例的集群数据的处理方法的一种主要流程的示意图;
41.图3是根据本发明实施例的集群数据的处理方法的又一种主要流程的示意图;
42.图4是根据本发明实施例的集群数据的处理装置的主要单元的示意图;
43.图5是本发明实施例可以应用于其中的又一种示例性系统架构图;
44.图6是适于用来实现本发明实施例的计算机系统的结构示意图。
具体实施方式
45.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
46.需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以互相组合。本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
47.本发明实施例提供一种集群数据处理系统,该系统可以用于对大数据集群的数据处理场景,尤其是大数据集群的构建场景,例如公有云中大数据集群的构建。
48.图1所示为本发明实施例中一种集群数据处理系统的系统架构示意图。如图1所示,集群数据处理系统可以包括显示界面、资源交付管理平台和资源层(iaas资源层)。其中,显示界面可以用于信息显示和输入;资源交付管理平台可以用于对集群构建,以及集群信息的处理;资源层可以为集群提供iaas资源,iaas(infrastructure as a service,即基础设施即服务),指把it基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。
49.具体的,显示界面可以用于与用户进行交互,可以为web界面通过vue实现,用户可以通过显示界面输入指令,也可以通过显示界面展示所需的信息,如展示集群配置信息、集群构建信息、集群构建进度查询、集群信息查询、集群信息导出和异常信息处理等等。资源交付管理平台可以包括资源核算模块、调度管理模块和任务管理模块。资源核算模块可以用于对不同集群类型的集群进行资源核算,以确定集群构建所需的资源数据。调度管理模块可以用于集群构建的总体调度及集群信息的管理,例如可以将集群构建进行细粒度拆分,形成一个个独立的任务传输至任务管理模块处理,并通过流程管理来对各任务的执行进行控制;同时还可以收集各任务执行的信息,以对任务处理状态和结果进行监测和异常场景的恢复;还可以向显示界面提供所需的集群信息,以使显示界面进行显示。任务管理模块可以用于集群构建、配置等任务的创建、执行和管理,本发明实施例中各任务可以为自描述的且支持幂等性,通过调度管理模块下发的信息,来执行任务的生命周期;同时,为了提高系统性能,各任务可以并发执行,以提高执行效率,并且各任务可以可在一定阈值内自动进行报错重试,并在任务执行过程中向调度管理模块上送执行过程中的信息,如处理状态、处理结果等等。iaas资源层可以包括cvm、cfs、lb、安全组等集群构建所需的资源。
50.本发明实施例提供了一种集群数据的处理方法,该方法可由图1所示集群数据处理系统执行,如图2所示,该方法包括:
51.s201:响应于目标集群的构建请求,获取构建请求中的集群类型和需求参数。
52.其中,目标集群表示需要构建的集群,构建请求可以为用户通过显示界面输入的,用户通过显示界面输入构建请求后,显示界面将构建请求传输至资源交付管理平台,资源交付管理平台接收构建请求后可以对其进行响应。构建请求中可以包括集群类型和需求参数,集群类型表示了目标集群所属的类型,具体的集群类型可以包括hadoop、kafka、elasticsearch等等,需求参数表示目标集群所需要的参数,具体可以为目标集群所需存储空间或者可以确定目标集群所需存储空间的参数,例如,目标集群存储的单位数据大小和存储的单位数据数量。
53.具体的,本发明实施例中,可以为各集群类型配置对应的集群类型标识,用户输入构建请求中可以携带目标集群对应的集群类型标识,所以本步骤中可以通过构建请求中携带的集群类型标识,来确定目标集群对应的集群类型。
54.s202:查询集群类型对应的资源核算模型,以基于需求参数计算目标集群对应的目标资源数据。
55.其中,本发明实施例中对不同的集群类型设置了对应的资源核算模型,以用于对目标集群所需的iaas资源进行核算。资源核算模型可以为通过代码实现计算逻辑的模型,
将需求参数输入资源核算模型后可以计算出目标集群对应的目标资源数据。
56.大数据集群通常是由多个虚拟机组合形成,各虚拟机的总体资源组成了目标集群的资源,所以本步骤中目标资源数据可以具体为所需虚拟机的数量。而不同集群类型对应的单个虚拟机的资源参数通常不同,例如,hadoop类型对应单个虚拟机的资源参数:cpu为16c、内存为64g、磁盘为2tb,kafka和elasticsearch对应虚拟机的资源参数:cpu为16c、内存为32g、磁盘为1tb,所以本步骤中可以基于各集群类型对应的单个虚拟机的资源参数来确定目标集群所需虚拟机的数量,即目标资源数据。
57.具体的,需求参数可以包括目标集群所需存储空间,所以本步骤可以执行为:查询集群类型对应单个虚拟机的资源参数,以基于目标集群所需存储空间和单个虚拟机的资源参数计算目标集群对应的虚拟机数量。例如将目标集群所需存储空间除以单个虚拟机的资源参数(磁盘参数)可以得出目标集群对应的虚拟机数量。
58.在一些实施例中,需求参数可以包括目标集群存储的单位数据大小和存储的单位数据数量,所以此时需要先基于单位数据大小和单位数据数量计算出目标集群存储数据的所需存储空间,进而在结合单个虚拟机的资源参数来确定目标集群对应的虚拟机数量。
59.需要说明的是,由于对于集群构建,主要是需要满足目标集群的数据存储空间,集群的数据存储空间基于磁盘空间实现,所以本步骤中单个虚拟机的资源参数可以具体为存储空间,即磁盘空间。为了保证集群运行的稳定性,通常要求磁盘的使用率不得超过预设阈值(如75%),所以在确定目标集群对应的虚拟机数量时还需要考虑预设阈值。并且对于有些集群类型,还需进行副本存储,所以在确定目标集群对应的虚拟机数量时还需要考虑副本存储的数量。
60.例如,以集群类型为hadoop为例,预设对应单个虚拟机的资源参数为:cpu为16c、内存为64g、磁盘为2tb(即磁盘空间为2tb),存储副本数量为3,磁盘空间使用率的预设阈值为75%,步骤s201获取需求参数为hdfs存储需求量,即所需存储空间,所以本步骤中基于需求参数计算目标集群对应的目标资源数据可以执行为:通过hdfs存储需求量*3/75%/2计算出目标集群对应的虚拟机数量,即目标集群对应的虚拟机数量=hdfs存储需求量*3/75%/2。具体的,本发明实施例中可以基于上述计算公式开发对应的代码模型,即资源核算模型,进而将hdfs存储需求量输入资源核算模型,以计算出目标集群对应的虚拟机数量。
61.再例如,以集群类型为kafka为例,预设对应单个虚拟机的资源参数为:cpu为16c、内存为32g、磁盘为1tb,存储副本数量为1,磁盘空间使用率的预设阈值为75%,步骤s201获取需求参数包括保存消息的最大条数(即存储的单位数据数量)和每个保存消息的大小(即目标集群存储的单位数据大小),所以可以计算出目标集群对应的虚拟机数量=保存消息的最大条数*消息大小/75%/1。以集群类型为elasticsearch为例,预设对应单个虚拟机的资源参数为:cpu为16c、内存为32g、磁盘为1tb,存储分区(副本)数量为1,磁盘空间使用率的预设阈值为75%,步骤s201获取需求参数包括保存文档数(即存储的单位数据数量)和每个保存文档的大小(即目标集群存储的单位数据大小),所以可以计算出目标集群对应的虚拟机数量=保存文档数*文档大小/75%/1。
62.需要说明的是,本发明实施例中为了减少系统的处理流程,在执行本步骤之前,还可以对预设的历史时间段内的集群构建记录进行查询,以查询在历史时间段内是否执行了与目标集群相同的集群构建,具体的,可以基于集群类型和需求参数查询集群构建记录,以
判断是否存储在与集群类型和需求参数均相同的历史集群构建记录。若是,则可以获取该历史集群构建记录中计算的目标资源数据,以确定为本步骤中目标资源数据,从而简化集群构建的计算过程;若否,则可以继续执行本步骤。
63.s203:获取当前可用的资源数据,以判断是否大于目标资源数据。
64.其中,为了避免因资源不足而导致集群构建失败,所以可以先对资源是否能够满足目标资源需求进行判断。本步骤中可以先获取当前可用的资源数据,进而判断是否大于目标资源数据,如果大于,则可以说明可用资源能够满足目标集群需求,可以进行目标集群的构建;如果不大于,则可以说明可用资源不能够满足目标集群需求,无法进行目标集群的构建。
65.由于对于集群构建,主要是需要满足目标集群的数据存储空间,集群的数据存储空间基于磁盘空间实现,而目标集群均通过虚拟机构成,所以本步骤中资源数据可以具体为虚拟机的数量。由于每个集群类型对应的虚拟机通常会预先配置对应单个虚拟机的资源参数,也就是每个虚拟机所需存储空间的大小,如此本步骤中获取当前可用的资源数据可以具体执行为:查询当前可用的存储空间和集群类型对应单个虚拟机的存储空间,以计算出当前可创建集群类型对应虚拟机的个数,进而判断当前可创建集群类型对应虚拟机的个数是否大于目标资源数据,即判断当前可创建集群类型对应虚拟机的个数是否大于目标集群对应的虚拟机数量。具体的,本步骤中存储空间可以为所需的磁盘空间。
66.s204:若否,则发送资源不足提示信息;若是,则触发集群构建任务,以基于目标资源数据创建目标集群对应的虚拟机,获取构建请求中集群配置信息,进而对虚拟机进行集群配置,得出构建的目标集群并发送。
67.其中,若否,则说明可用资源不能够满足目标集群需求,无法进行目标集群的构建,可以发送资源不足提示信息,资源不足提示信息可以通过显示界面进行显示,以提示用户及时添加资源。若是,则说明可用资源能够满足目标集群需求,可以触发集群构建任务,以执行对目标集群的构建,得出构建的目标集群后可以进行发送,以通过显示界面进行显示。
68.集群构建可以包括虚拟机创建和集群配置。
69.目标资源数据中包括了创建虚拟机所需的数据,如虚拟机数量、虚拟机的资源参数等等,然后可以通过异步接口调用来下发给资源层,以实现对应规则虚拟机的创建。
70.需要说明的是,本发明实施例中,资源层中可以预设api接口,以通过预设api接口调用来将目标资源数据传输至资源层,使资源层进行虚拟机创建。进一步的为了提高系统适用性,本发明实施例还可以使用门面设计模式(facade pattern),即为资源层的api接口调用提供了统一接口,以通过统一接口实现与资源层的数据交互,从而可以实现资源层不同接口的切换,所以创建所述目标集群对应的虚拟机可以具体执行为:调用预设的统一接口,以将目标资源数据传输至资源层,使资源层基于目标资源数据创建目标集群对应的虚拟机,并将虚拟机的信息通过统一接口返回。虚拟机创建成功,可以确定出各虚拟机的ip信息、资源参数等信息,以便于后续的处理。
71.在完成虚拟机创建后,则可以获取构建请求中集群配置信息来进行集群配置。具体的,集群配置可以包括虚拟机的安装配置和运行配置。具体可以执行为:获取集群配置信息中的集群安装信息,查询集群类型对应的安装文件,以基于集群安装信息和安装文件生
成虚拟机的安装配置文件,进而对虚拟机进行安装配置;获取集群配置信息中的集群运行配置信息,以查询对应配置组件,进而对虚拟机进行运行配置,得出构建的目标集群。
72.大数据集群中通常包括管理节点和数据存储节点,用于执行对应的功能。虚拟机创建后,每个虚拟机可以相当于一个节点,基于目标集群的需求为各虚拟机配置对应的节点类型,进而进行安装配置。集群安装信息可以包括管理节点信息、数据存储节点信息、主节点信息和从节点信息等等,各节点西悉尼与虚拟机向对应,以实现各节点与虚拟机的ip绑定、ssh互信、应用用户创建等配置操作。虚拟机可以通过安装介质完成,不同集群类型的安装介质可以预先存储,所以本步骤中可以查询集群类型对应的安装文件,以将集群安装信息更新至安装配置信息中,即生成虚拟机的安装配置文件,对所述虚拟机进行安装配置,如hadoop集群的namenode/datanode配置,yarn集群的resoucemanager配置,kafka集群的zookeeper地址集群,elasticsearch集群的服务端口集群等信息。
73.为了使集群能够安全、合理的运行,通常还需要对集群进行运行配置,例如为集群配置安全组资源和负载均衡资源,安全组资源和负载均衡资源等均可以在资源层预先设置,所以本步骤中可以通过调用预设的统一接口来实现对虚拟机进行运行配置,得出构建的目标集群。
74.需要说明的是,本发明实施例中,在目标集群构建完成后,可以对目标集群进行测试,在测试通过后将目标集群的集群信息存储至数据库中,以支持后续的信息查询,同时还可以生成集群交付报告,以完成目标集群的构建。
75.本发明实施例中,调度管理模块可以将集群构建进行任务拆分,以通过任务的执行来实现。具体的,集群构建任务包括虚拟机创建任务和集群配置任务。所以步骤s204中触发集群构建任务可以具体执行为:触发虚拟机创建任务,以基于目标资源数据创建目标集群对应的虚拟机,返回虚拟机的创建结果;基于创建结果触发集群配置任务,以获取构建请求中集群配置信息,对虚拟机进行集群配置,返回集群配置结果,进而基于集群配置结果,确定构建的目标集群信息。
76.需要说明的是,触发虚拟机创建任务后,调度管理模块可以通过轮询的方式查询虚拟机创建结果。返回的虚拟机的创建结果可以包括创建成功和创建失败,如果创建结果为成功,说明虚拟机创建成功,则可以将虚拟机创建任务的处理状态设置为完成,触发集群配置任务;如果创建结果不为成功,说明虚拟机创建失败,则可以将虚拟机创建任务的处理状态设置为未完成,并不在触发集群配置任务。集群配置结果可以包括配置成功或者配置失败,如果配置成功,说明目标集群构建成功,则可以确定构建的目标集群信息,将所述集群配置任务的处理状态设置为完成;如果配置失败,说明目标集群构建失败,则可以将集群配置任务的处理状态设置为未完成。在上述任务处理过程中,如果虚拟机创建任务的处理状态为未完成,或者集群配置任务的处理状态为未完成,通常说明无法完成目标集群的构建,则可以认为发生了不可恢复的异常,所以可以删除创建的虚拟机,以避免资源浪费,并发送目标集群构建失败消息。
77.本发明实施例中,可以在接收构建请求后可以基于目标集群的集群类型和需求参数自动为目标集群创建虚拟机,并进行对应的集群配置,从而得出所需的集群,实现集群的自动化处理,无需系统人员手动操作,提高集群构建的效率。同时,本发明实施例中,对于不同集群类型的集群可以配置对应的资源核算模型,进而可以为不同类型的集群准确的确定
对应的资源数据,从而实现对应集群的准确构建,提高集群构建的准确性。
78.需要说明的是,由于集群创建可以为分布式任务并行进行,可以视为一个事务,对于一些异常情况,需进行已发生操作的回滚,避免资源未有效释放导致的浪费。为保证任务执行的强一致性,本发明实施例中可以使用三阶段提交协议(3pc,three-phase commit)进行集群构建控制。调度管理模块可以作为协调者,将集群创建过程划分为cancommit、precommit和docommit三个阶段,并引入超时机制。
79.具体的,协调者可以通过事务询问,向任务发送cancommit请求,如任务正常结束,则返回yes响应,进入precommit阶段,否则事务中断;然后协调者进行事务的预执行,向事务参与者发送precommit请求,执行事务操作,并记录undo和redo信息,成功响应后返回ack信息到协调者,如果有参与者未返回成功响应,则协调者发送abort到所有参与者,事务中断;进一步的,协调者可以发送docmmit进行真正事务提交。
80.下面结合图1所示的系统架构,对本发明实施例中集群构建任务处理方法进行具体说明,如图3所示,该方法包括:
81.s301:响应于目标集群的构建请求,获取构建请求中的集群类型和需求参数。
82.s302:查询集群类型对应的资源核算模型,以基于需求参数计算目标集群对应的目标资源数据。
83.s303:获取当前可用的资源数据,以判断是否大于目标资源数据,若否,则发送资源不足提示信息;若是,则执行步骤s304。
84.s304:触发虚拟机创建任务,以基于目标资源数据创建目标集群对应的虚拟机,返回创建结果。
85.s305:基于创建结果判断虚拟机是否创建成功,若是,则执行步骤s306;若否,则删除已创建虚拟机。
86.s306:触发集群构建任务,获取构建请求中集群配置信息,对虚拟机进行集群配置,返回配置结果。
87.s307:基于配置结果判断集群配置是否成功,若是,则执行步骤s308;若否,则删除已创建虚拟机。
88.s308:输出构建的目标集群。
89.需要说明的是,本发明实施例中的数据处理原理与图2所示实施例中对应的数据处理原理相同,在此不做限定。
90.本发明实施例中,可以在接收构建请求后可以基于目标集群的集群类型和需求参数自动为目标集群创建虚拟机,并进行对应的集群配置,从而得出所需的集群,实现集群的自动化处理,无需系统人员手动操作,提高集群构建的效率。同时,本发明实施例中,对于不同集群类型的集群可以配置对应的资源核算模型,进而可以为不同类型的集群准确的确定对应的资源数据,从而实现对应集群的准确构建,提高集群构建的准确性。
91.为了解决现有技术存在的问题,本发明实施例提供了一种集群数据的处理装置400,如图4所示,该装置400包括:
92.响应单元401,用于响应于目标集群的构建请求,获取所述构建请求中的集群类型和需求参数;
93.核算单元402,用于查询所述集群类型对应的资源核算模型,以基于所述需求参数
计算所述目标集群对应的目标资源数据;
94.判断单元403,用于获取当前可用的资源数据,以判断是否大于所述目标资源数据;
95.处理单元404,用于若否,则发送资源不足提示信息;若是,则触发集群构建任务,以基于所述目标资源数据创建所述目标集群对应的虚拟机,获取所述构建请求中集群配置信息,进而对所述虚拟机进行集群配置,得出构建的目标集群并发送。
96.应理解的是,实施本发明实施例的方式与实施图2所示实施例的方式相同,在此不再赘述。
97.在一个实施例中,所述需求参数包括所需存储空间;
98.所示核算单元402,具体用于:
99.查询所述集群类型对应单个虚拟机的资源参数,以基于所述目标集群所需存储空间和所述单个虚拟机的资源参数计算所述目标集群对应的虚拟机数量。
100.在又一个实施例中,所述需求参数包括目标集群存储的单位数据大小和存储的单位数据数量;
101.所示核算单元402,具体用于:
102.基于所述单位数据大小和所述单位数据数量,计算所述目标集群存储数据的所需存储空间;
103.查询所述集群类型对应单个虚拟机的资源参数,以基于所述目标集群所需存储空间和所述单个虚拟机的资源参数计算所述目标集群对应的虚拟机数量。
104.在又一个实施例中,所示处理单元404,具体用于:
105.调用预设的统一接口,以将所述目标资源数据传输至资源层,使所述资源层基于所述目标资源数据创建所述目标集群对应的虚拟机,并将所述虚拟机的信息通过所述统一接口返回。
106.在又一个实施例中,所示处理单元404,具体用于:
107.获取所述集群配置信息中的集群安装信息,查询所述集群类型对应的安装文件,以基于所述集群安装信息和所述安装文件生成所述虚拟机的安装配置文件,进而对所述虚拟机进行安装配置;
108.获取所述集群配置信息中的集群运行配置信息,以查询对应配置资源,进而对所述虚拟机进行运行配置,得出构建的目标集群。
109.在又一个实施例中,所述集群构建任务包括虚拟机创建任务和集群配置任务;
110.所示处理单元404,具体用于:
111.触发虚拟机创建任务,以基于所述目标资源数据创建所述目标集群对应的虚拟机,返回虚拟机的创建结果;
112.基于所述创建结果触发集群配置任务,以获取所述构建请求中集群配置信息,对所述虚拟机进行集群配置,返回集群配置结果,进而基于所述集群配置结果,确定构建的目标集群信息。
113.在又一个实施例中,所示处理单元404,具体用于:
114.基于所述创建结果判断所述虚拟机是否创建成功;若是,则将所述虚拟机创建任务的处理状态设置为完成,触发集群配置任务;若否,则将所述虚拟机创建任务的处理状态
设置为未完成;
115.所示处理单元404,具体用于:
116.基于所述集群配置结果判断集群配置是否成功;若是,则确定构建的目标集群信息,将所述集群配置任务的处理状态设置为完成;若否,则将所述集群配置任务的处理状态设置为未完成。
117.在又一个实施例中,所示处理单元404,具体用于:
118.若所述虚拟机创建任务的处理状态为未完成,或者所述集群配置任务的处理状态为未完成,则删除创建的虚拟机,发送目标集群构建失败消息。
119.应理解的是,实施本发明实施例的方式与实施图2或图3所示实施例的方式相同,在此不再赘述。
120.本发明实施例中,可以在接收构建请求后可以基于目标集群的集群类型和需求参数自动为目标集群构建虚拟机,并进行对应的集群配置,从而得出所需的集群,实现集群的自动化处理,无需系统人员手动操作,提高集群构建和配置的效率。同时,本发明实施例中,对于不同集群类型的集群可以配置对应的资源核算模型,进而可以为不同类型的集群准确的确定对应的资源数据,从而实现对应集群的准确构建,提高集群构建的准确性。
121.根据本发明的实施例,本发明实施例还提供了一种电子设备和一种可读存储介质。
122.本发明实施例的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明实施例所提供的集群数据的处理方法。
123.图5示出了可以应用本发明实施例的集群数据的处理方法或集群数据的处理装置的示例性系统架构500。
124.如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
125.用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种客户端应用。
126.终端设备501、502、503可以是但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
127.服务器505可以是提供各种服务的服务器,服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如产品信息
‑‑
仅为示例)反馈给终端设备。
128.需要说明的是,本发明实施例所提供的集群数据的处理方法一般由服务器505执行,相应地,集群数据的处理装置一般设置于服务器505中。
129.应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
130.下面参考图6,其示出了适于用来实现本发明实施例的计算机系统600的结构示意图。图6示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
131.如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有系统600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
132.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
133.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本发明的系统中限定的上述功能。
134.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
135.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,上述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规
定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
136.描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括响应单元、核算单元、判断单元和处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,响应单元还可以被描述为“构建请求响应功能的单元”。
137.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行本发明所提供的集群数据的处理方法。
138.作为另一方面,本发明还提供了一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的集群数据的处理方法。
139.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-328.html