掌桥专利:专业的专利平台
掌桥专利
首页

资源配置方法、系统、电子设备及存储介质

文献发布时间:2023-06-19 11:16:08


资源配置方法、系统、电子设备及存储介质

技术领域

本发明涉及通信技术领域,尤其涉及一种资源配置方法、系统、电子设备及存储介质。

背景技术

对于分布式存储系统,需要对外(用户)提供配置接口,实现配置资源等用户配置输入。

传统方案中,通常是采用同步语义,即命令式的资源配置方法来实现。用户发送请求资源配置的命令至分布式存储系统,以由分布式存储系统执行配置操作,并在执行完配置操作后,应答用户执行结果。然而,该种方案中,用户需要等待分布式存储系统的命令执行结果,在分布式存储系统应答用户执行结果之前,无法执行后续的业务,如接收用户请求配置的其他命令等,从而会阻塞用户请求,影响用户侧的易用性。

发明内容

本发明提供了一种资源配置方法、系统、电子设备及存储介质,以解决传统方案中资源配置会阻塞用户请求的问题。

第一方面,本发明提供了一种资源配置方法,应用于配置管理设备,包括:

接收用户的配置请求,所述配置请求中包含配置资源和配置操作;

生成与所述配置请求对应的配置项,以使目标存储节点根据所述配置项对所述配置资源执行所述配置操作,所述目标存储节点是分布式存储系统中的一个存储节点;

接收所述目标存储节点发送的与所述配置项对应的状态信息,其中,所述目标存储节点根据所述配置操作的执行结果生成所述状态信息;

响应于所述用户对所述配置资源的查询请求,向所述用户反馈所述状态信息。

第二方面,本发明提供了一种资源配置方法,应用于分布式存储系统中的目标存储节点,包括:

响应于配置管理设备发来的配置项,根据所述配置项对配置资源执行配置操作,其中,所述配置项是所述配置管理设备接收到的用户的配置请求后生成的,所述配置请求中包含所述配置资源及所述配置操作;

根据所述配置操作的执行结果生成与所述配置项对应的状态信息;

向所述配置管理设备发送所述状态信息,以使所述配置管理设备在接收到所述用户对所述配置资源的查询请求后向所述用户反馈所述状态信息。

第三方面,本发明提供了一种资源配置系统,包括配置管理设备及分布式存储系统,所述分布式存储系统中包括目标存储节点;

所述配置管理设备,用于接收用户的配置请求,所述配置请求中包含配置资源和配置操作;生成与所述配置请求对应的配置项,以使目标存储节点根据所述配置项对所述配置资源执行所述配置操作,所述目标存储节点是分布式存储系统中的一个存储节点;接收所述目标存储节点发送的与所述配置项对应的状态信息,其中,所述目标存储节点根据所述配置操作的执行结果生成所述状态信息;响应于所述用户对所述配置资源的查询请求,向所述用户反馈所述状态信息;

所述目标存储节点,用于响应于配置管理设备发来的配置项,根据所述配置项对配置资源执行配置操作,其中,所述配置项是所述配置管理设备接收到的用户的配置请求后生成的,所述配置请求中包含所述配置资源及所述配置操作;根据所述配置操作的执行结果生成与所述配置项对应的状态信息;向所述配置管理设备发送所述状态信息,以使所述配置管理设备在接收到所述用户对所述配置资源的查询请求后向所述用户反馈所述状态信息。

第四方面,本发明提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面所述的资源配置方法。

第五方面,本发明提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面或第二方面所述的资源配置方法。

本发明中,通过设置配置管理设备,由配置管理设备接收用户的配置请求,生成与该配置请求对应的配置项,以由分布式存储系统中的目标存储节点根据配置项对配置请求中包含的配置资源执行配置操作,并接收目标存储节点发送的与配置项对应的状态信息,并响应用户对配置资源的查询请求,向用户反馈状态信息,即可实现对用户配置请求的执行,解决了传统方案中由分布式存储系统直接接收用户的配置请求并执行配置操作,从而导致阻塞用户请求的问题,提升了用户侧的易用性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明提供的一种资源配置方法的一个实施例的流程图;

图1-1-a是本发明提供的一种配置视图的一个实施例的示意图;

图1-1-b是本发明提供的一种状态视图的一个实施例的示意图;

图1-2-a是本发明提供的与卷创建对应的写入配置的配置视图一个实施例的示意图;

图1-2-b是本发明提供的与卷创建对应的写入配置的状态视图一个实施例的示意图;

图1-3-a是本发明提供的与卷创建对应的应答配置写入成功的配置视图一个实施例的示意图;

图1-3-b是本发明提供的与卷创建对应的应答配置写入成功的状态视图一个实施例的示意图;

图1-4-a是本发明提供的与卷删除对应的移除配置的配置视图一个实施例的示意图;

图1-4-b是本发明提供的与卷删除对应的移除配置的状态视图一个实施例的示意图;

图1-5-a是本发明提供的与卷删除对应的应答配置移除成功的配置视图一个实施例的示意图;

图1-5-b是本发明提供的与卷删除对应的应答配置移除成功的状态视图一个实施例的示意图;

图2是本发明提供的一种资源配置方法的另一个实施例的流程图;

图3是本发明提供的一种资源配置系统的一个实施例的结构示意图;

图4是本发明提供的一种电子设备的一个实施例的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

分布式存储是一种数据存储技术,分布式存储系统,是将数据分散存储在多台独立的设备上。对于分布式存储系统来说,最简单的资源配置方案是采用同步语义(命令式),即用户使用远程过程调用(Remote Procedure Call,简称RPC)或者表征状态转移接口(restful Application Programming Interface,简称restful api)请求分布式存储系统需要执行配置操作,用户发送请求资源配置的命令至分布式存储系统,以由分布式存储系统执行配置操作,并在执行完配置操作后,应答用户执行结果。

然而,该种方案中,用户需要等待分布式存储系统的命令执行结果,在分布式存储系统应答用户执行结果之前,无法执行后续的业务,如接收用户请求配置的其他命令等,从而会阻塞用户请求,影响用户侧的易用性。

为此,发明人提出了本发明的技术方案,即一种资源配置方法,应用于配置管理设备,包括:接收用户的配置请求,所述配置请求中包含配置资源和配置操作;生成与所述配置请求对应的配置项,以使目标存储节点根据所述配置项对所述配置资源执行所述配置操作,所述目标存储节点是分布式存储系统中的一个存储节点;接收所述目标存储节点发送的与所述配置项对应的状态信息,其中,所述目标存储节点根据所述配置操作的执行结果生成所述状态信息;响应于所述用户对所述配置资源的查询请求,向所述用户反馈所述状态信息。

本发明中,通过设置配置管理设备,由配置管理设备接收用户的配置请求,生成与该配置请求对应的配置项,以由分布式存储系统中的目标存储节点根据配置项对配置请求中包含的配置资源执行配置操作,并接收目标存储节点发送的与配置项对应的状态信息,并响应用户对配置资源的查询请求,向用户反馈状态信息,即可实现对用户配置请求的执行,解决了传统方案中由分布式存储系统直接接收用户的配置请求并执行配置操作,从而导致阻塞用户请求的问题,提升了用户侧的易用性。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,为本发明提供的一种验证方法的一个实施例的流程图,该方法可以应用于配置管理设备,该方法可以包括以下几个步骤:

步骤101:接收用户的配置请求。

其中,配置请求中可以包含配置资源和配置操作。

本发明实施例中,配置管理设备可以为负责管理分布式配置信息的管理设备,可以采用分布式的,开放源码的分布式应用程序协调服务(zookeeper)等。在实际应用中,分布式存储系统可以包含多种配置资源,如存储池,卷,快照,策略等。其中,存储池是数据保护管理(Data Protection Manager,简称DPM)服务器在其中存储副本、卷影副本和传输日志的一组磁盘,可以包含池化的存储资源,可以包括固态硬盘(Solid State Disk或SolidState Drive,简称SSD)、硬盘驱动器(Hard Disk Drive,简称HDD)等。卷可以提供连续的地址空间,卷可以有所属的存储池,可以在存储池下创建卷。快照可以指卷影副本,是存储在DPM服务器上的副本的时间点副本,快照可以为卷的一种快速副本,通常可以基于卷创建快照。策略可以指定卷配置,可以包括服务质量(Quality of Service,简称QoS)策略等。

配置操作可以指对配置资源执行的操作指令,可以包括创建指令、删除指令、扩容指令等。以卷资源为例,配置操作可以包括如卷创建指令、卷删除指令、卷扩容指令等。

在实际应用中,以卷创建为例,该配置请求中可以包括创建指令、卷名称(可以称为卷ID)、卷大小、卷所属的存储池ID、冗余策略等配置信息。以卷删除为例,该配置请求中可以包括删除指令、卷ID等配置信息。以卷扩容为例,该配置请求中可以包括扩容指令、卷ID、扩容后的卷大小等配置信息。

该步骤中,接收用户的配置请求可以是接收用户所在客户端发送的配置请求。具体地,客户端可以响应于用户触发的请求配置的操作,生成包含配置资源和配置操作等配置信息的配置请求,并将该配置请求发送至配置管理设备,则该配置管理设备可以接收到用户的配置请求。

步骤102:生成与所述配置请求对应的配置项,以使目标存储节点根据所述配置项对所述配置资源执行所述配置操作。

其中,目标存储节点可以是分布式存储系统中的任一个存储节点。

接收到用户的配置请求之后,可以实现将配置请求中包含的配置资源写入到配置管理设备中。在实际应用中,配置管理设备中可以提供配置视图,以便于保存其配置信息。将配置资源写入配置管理设备可以是将配置资源写入该配置管理设备的配置视图中,该配置视图中写入的配置资源可以称为配置项。则将配置资源写入配置视图即可以表示生成配置项,该配置项的生成可以表明应答用户配置写入成功。

基于该配置项,分布式存储系统的目标存储节点可以对该配置项对应的配置资源执行配置操作。可选地,由于分布式存储系统包含较多的配置资源,则为了便于区分各配置资源,每个配置项都可以设置唯一的标识信息,该标识信息可以为通用唯一识别码(Universally Unique Identifier,简称uuid)。则分布式存储系统的目标存储节点可以根据uuid对配置项对应的配置资源执行配置操作。

步骤103:接收所述目标存储节点发送的与所述配置项对应的状态信息。

其中,所述目标存储节点根据所述配置操作的执行结果生成所述状态信息。

配置管理设备的配置项供分布式存储系统的目标存储节点对配置资源执行对应的配置操作。以卷创建为例,与该卷创建对应的配置项可以供目标存储节点获取对应的配置信息,如该卷的名称、大小、所属存储池及策略等信息,并向该卷所属的存储池申请创建对应策略、对应大小的卷,并在创建成功后,将卷名称等属性保存到该存储池中,完成配置操作。并且,目标存储节点还可以根据配置操作的执行结果生成与配置项的状态信息。

在实际应用中,除配置视图外,配置管理设备中还可以提供状态视图,该状态视图可以与配置视图进行对应,以便于分布式存储系统中的目标存储节点将状态信息写入该状态视图,从而保存用户配置项的状态。则该步骤中,接收目标存储节点发送的状态信息可以是接收目标存储节点在状态视图中写入的状态信息,该状态视图中写入的状态信息可以称为状态项。

在实际应用中,如图1-1-a所示,为配置管理设备提供的一种配置视图的示意图。与此对应的,如图1-1-b所示,为配置管理设备提供的一种状态视图的示意图。

步骤104:响应于所述用户对所述配置资源的查询请求,向所述用户反馈所述状态信息。

配置管理设备可以对状态信息进行存储,以用于用户对该状态信息的查询。具体地,该配置管理设备可以响应于用户对该配置资源的查询请求,将与该配置资源对应的状态信息反馈给用户。在实际应用中,用户可以通过轮询判断该配置资源在配置管理设备中的状态视图的状态项是否配置成功,若成功,即可以实现应答用户配置成功。

本实施例中,通过设置配置管理设备,由配置管理设备接收用户的配置请求,生成与该配置请求对应的配置项,以由分布式存储系统中的目标存储节点根据配置项对配置请求中包含的配置资源执行配置操作,并接收目标存储节点发送的与配置项对应的状态信息,并响应用户对配置资源的查询请求,向用户反馈状态信息,即可实现对用户配置请求的执行,解决了传统方案中由分布式存储系统直接接收用户的配置请求并执行配置操作,从而导致阻塞用户请求的问题,提升了用户侧的易用性。

在实际应用中,会存在用户配置请求不合法的情况,影响配置效率。则为了提高配置效率,接收用户的配置请求之后,还可以对用户的配置请求进行校验。因此,在某些实施例中,接收用户的配置请求的方法可以包括:

接收配置服务器发送的通过校验的配置请求,所述配置请求由所述配置服务器在接收到所述用户发送的所述配置请求后对所述配置请求进行校验。

本发明实施例中,配置服务器可以用于接收用户的配置请求。用户所在客户端可以将配置请求发送至配置服务器,从而使配置服务器对配置请求进行参数校验,如对名称、大小、其他属性等进行合法性校验。以卷创建为例,配置服务器接收到卷创建的配置请求后,可以对该配置请求中包含的卷大小进行校验,如校验其大小是否过大,若大小过大,则校验不通过;还可以对卷名称进行校验,如校验其名称是否重复,若重复,则校验不通过等。

若校验不通过,配置服务器可以直接将未通过校验的配置请求发送至用户,即实现返回用户失败。若校验通过,配置服务器可以将通过校验的配置请求发送至配置管理设备,如将通过校验的配置请求写入到配置管理设备的配置视图中,以生成配置项,即实现应答用户配置写入成功。此时,配置管理设备接收到的配置请求即为配置服务器发送的通过校验的配置请求。

通过设置配置服务器,实现对用户发送的配置请求进行优先校验,并将通过校验的配置请求写入配置管理设备,避免由配置管理设备执行校验操作,减少了配置管理设备的操作,提高了资源配置效率。

在实际应用中,考虑到目标存储节点对配置请求的执行情况,配置管理设备接收到目标存储节点发送的与配置项对应的状态信息可以有不同的实现方式。

作为一种可选的实现方式,当目标存储节点成功执行配置操作时,该状态信息可以为第一状态信息。

其中,该第一状态信息写入状态视图生成状态项时,可以用Active来表示。则状态项中的Active可以表明,与配置项对应的该状态已经就绪,即与该配置项对应的配置操作成功执行。

以卷创建为例,如图1-2-a所示,为卷创建对应的写入配置的配置视图的示意图。该配置视图中包含的“卷-0”可以表示与卷创建对应的配置项,“存储池-0”可以表示该卷所属的存储池。如图1-2-b所示,为卷创建对应的写入配置的状态视图的示意图。

在此基础上,如图1-3-a所示,为卷创建对应的应答配置写入成功的配置视图的示意图。该配置视图中包含的“卷-0”可以表示与卷创建对应的配置项,“存储池-0”可以表示该卷所属的存储池。如图1-3-b所示,为卷创建对应的应答配置写入成功的状态视图的示意图,该状态视图中包含的“卷-0-state(“Active”)”可以表示与“卷-0”配置项对应的状态项,“Active”可以表示配置执行成功。

以卷删除为例,如图1-4-a所示,为卷删除对应的移除配置的配置视图的示意图。该配置视图中包含的“存储池-0”可以表示存储池。如图1-4-b所示,为卷删除对应的移除配置的状态视图的示意图,该状态视图中包含的“卷-0-state(“Active”)”可以表示与“卷-0”配置项对应的状态项,“Active”可以表示配置执行成功。此时,配置视图中已移除“卷-0”配置项。

在此基础上,如图1-5-a所示,为卷删除对应的应答配置移除成功的配置视图的示意图。该配置视图中包含的“存储池-0”可以表示该卷所属的存储池。如图1-5-b所示,为卷删除对应的应答配置移除成功的状态视图的示意图,配置视图和状态视图中都不再包含“卷-0”配置项,此时,状态视图中已更新“卷-0”配置项的状态。

上述配置视图和状态视图的示意图是以卷资源的创建和删除为例进行说明,分布式存储系统中包含的其他配置资源的配置视图和状态视图可以参考上述示意图,此处不再一一举例说明。

作为另一种可选的实现方式,当目标存储节点未成功执行配置操作时,该状态信息可以为第二状态信息。

其中,该第二状态信息写入状态视图生成状态项时,可以用failed、broken等来表示。则状态项中的failed、broken等可以表明,与配置项对应的该状态未就绪,配置未成功执行。

在实际应用中,当目标存储节点未成功执行配置操作时,可能是由于系统出现异常,如网络异常、目标存储节点异常或设备异常等原因。由于分布式存储系统中,对配置资源执行配置操作时,会涉及元数据的更新。如,执行卷创建操作时,需要在卷所属的存储池下记录元数据,完成元数据落盘;执行卷删除操作时,需要更新卷所属的存储池下的元数据等。进一步地,如执行卷创建操作时,在卷所属的存储池下,元数据落盘采用的是异步落盘的方式,即元数据保存在内存中。此时,若出现系统异常,则内存中缓存的元数据可能会消失,从而无法实现配置操作成功执行。则当异常修复时,需要对未执行成功的配置操作进行回放以重新执行。因此,在某些实施例中,该资源配置方法还可以包括:

存储目标存储节点写入的与所述配置请求对应的事务,所述事务中包含所述配置资源及所述配置操作,所述事务是所述目标存储节点在执行所述配置操作前写入所述配置管理设备的。

为了实现在异常修复时,可以对未执行成功的配置操作进行回放以重新执行,目标存储节点在执行配置操作前,可以根据获取的配置项,启动与该配置项对应的事务,并将该事务写入到配置管理设备中,以记录该配置项以及对应的配置操作的内容,则配置管理设备可以存储与配置请求对应的事务。为了便于与该配置项进行对应,该事务也可以设置有唯一的事务号,如可以根据该配置项的uuid设置对应的事务号。其中,该事务中记录的配置操作的内容可以包含配置操作的执行进度,如以卷删除为例,可以记录卷删除的进度,如10%、20%、30%等。

配置管理设备对事务进行存储,以便于异常修复时,对事务中记录的配置操作进行回放,以重新执行未成功执行的配置操作。

在此基础上,若系统出现异常,则目标存储节点可以存在未执行完成的配置操作,对应的,配置管理设备中可以存在未执行完成的事务。因此,该方法还可以包括:

响应于所述目标存储节点在异常修复后触发的读取请求,将所述事务提供给所述目标存储节点,以使目标存储节点基于该事务执行未执行完成的配置请求,所述读取请求对应于未执行完成的配置请求;

接收所述目标存储节点发送的与所述配置项对应的第三状态信息;其中,目标存储节点可以基于该事务执行未执行完成的配置请求之后,生成第三状态信息;所述配置项对应于所述配置请求;

以所述第三状态信息更新所述第二状态信息。

配置管理设备在接收到目标存储节点发送的与未执行完成的配置请求相对应的事务读取请求时,可以将请求的事务提供至目标存储节点,以便于目标存储节点基于该事务对该事务中记录的配置操作进行回放,以重新执行该配置操作。

进一步地,在目标存储节点重新执行完配置操作后,可以生成与配置项对应的第三状态信息,则配置管理设备可以接收目标存储节点发送的该第三状态信息。由于该第三状态信息是目标存储节点在异常修复后根据配置操作的执行结果生成的,此时该配置操作没有受到系统异常的影响,则该第三状态信息可以是与配置项对应的表明配置成功的状态信息,因此配置管理设备可以根据该第三状态信息更新第二状态信息。

具体地,该第三状态信息的确定,可以有多种实现方式。作为一种可选的实现方式,若所述目标存储节点中存储有与所述事务对应的元数据,则根据所述元数据确定所述第三状态信息。

在实际应用中,目标存储节点可以优先判断该目标存储节点中是否存储有与配置操作对应的元数据。如以卷创建为例,若目标存储节点已经存储有与该卷创建对应的元数据,则表明系统异常并未影响到目标存储节点执行卷创建的配置操作时元数据的落盘存储,则无需重新存储元数据,可以直接根据已经存储的元数据生成与该配置项对应的第三状态信息。

作为另一种可选的实现方式,若所述目标存储节点中未存储有与所述事务对应的元数据,则重新执行所述事务,根据所述事务的执行结果确定所述第三状态信息。

以卷创建为例,若目标存储节点中并未存储有与该卷创建对应的元数据,则表明系统异常影响到了目标存储节点执行卷创建的配置操作时元数据的落盘存储,元数据没有成功落盘,则需要重新执行该事务,重新存储元数据,再根据事务的执行结果确定所述第三状态信息。

通过设置与配置项对应的事务,实现了在目标存储节点更新到配置管理设备的状态项之前,由于目标存储节点出现系统异常,导致目标存储节点存储的配置状态与配置管理设备中展示的配置状态不一致时,可以基于事务中记录的配置操作,回放以重新执行未完成的配置操作,保证了配置的一致性。

在实际应用中,考虑到分布式存储系统中包含多个存储节点,则为了提高资源配置效率,该方法还可以包括:

响应于协调器对所述配置项的监听,将所述配置项提供至所述协调器,以使所述协调器从所述分布式存储系统中确定出所述目标存储节点,并向所述目标存储节点发送包括所述配置项的标识信息的通知;

接收所述目标存储节点根据所述配置项的标识信息发送的读取请求;

根据所述标识信息将所述配置项发送至所述目标存储节点。

本发明实施例中,协调器可以指配置调度器,可以用于监听配置管理设备中配置项的更新,并确定执行该配置项的目标存储节点。协调器可以应用在配置服务器中,也可以独立使用单独的服务器并与配置管理设备建立长连接,以实现配置项更新的监听。则该配置管理设备可以响应于协调器对配置项的监听,并将配置项提供至该协调器,以便于协调器从分布式存储系统中确定出目标存储节点,并向目标存储节点发送包含配置项的标识信息的通知,以通告目标存储节点根据该配置项执行配置操作。其中,协调器根据配置项从分布式存储系统中确定出目标存储节点可以是根据预设的均衡策略,如随机、哈希或者指定节点,此处不做具体限定。

进一步地,配置管理设备可以接收到目标存储节点发送的与配置项对应的读取请求,并将该配置项发送至目标存储节点,以由目标存储节点进行配置操作。

通过设置协调器,实现了对与执行配置请求对应的存储节点的确定,无需用户指定需要执行配置的存储节点,避免暴露分布式存储系统的内部实现细节给用户,提高了存储侧的易用性。

如图2所示,为本发明实施例提供的一种资源配置方法的另一个实施例的流程图,该方法可以应用于目标存储节点,该方法可以包括以下几个步骤:

步骤201:响应于配置管理设备发来的配置项,根据该配置项对配置资源执行配置操作,其中,该配置项是配置管理设备接收到的用户的配置请求后生成的,配置请求中可以包含配置资源及配置操作。

响应于配置管理器发来的配置项,分布式存储系统的目标存储节点可以根据该配置项对该配置资源执行配置操作。其中,该配置项可以是由配置管理设备接收到用户的配置请求后生成并提供至该目标存储节点。配置请求中可以包含配置资源及配置操作。

在实际应用中,分布式存储系统可以包含多种配置资源,如存储池,卷,快照,策略等。与配置资源对应的配置操作,也可以包括多种操作指令,如创建指令、删除指令、扩容指令等。以卷创建为例,配置请求中可以包含创建指令、卷ID、卷大小、卷所属的存储池ID以及冗余策略等配置信息,配置管理设备可以基于该配置请求生成对应的配置项,并提供至目标存储节点。则目标存储节点可以获取与该配置项对应的配置信息,并根据该配置信息执行配置操作。具体地,目标存储节点可以向该卷所属的存储池申请创建对应策略、对应大小的卷,并在创建成功后,将卷ID等属性保存到该存储池中。

以卷删除为例,配置请求中可以包含删除指令、卷ID等配置信息,配置管理设备可以基于该配置请求生成配置项,并提供至目标存储节点,则目标存储节点可以获取与该配置项对应的配置信息,并执行配置操作。具体地,目标存储节点可以向该卷所属的存储池申请删除对应卷ID的卷,并在删除成功后,将卷ID等属性从该存储池中删除。

步骤202:根据所述配置操作的执行结果生成与所述配置项对应的状态信息。

本实施例中,配置管理设备中提供了配置视图和状态视图。其中,配置视图中写入的配置资源可以为配置项,便于用户保存其配置,与配置视图对应的,状态视图中可以写入与该配置项对应的状态信息,以便于目标存储节点保存用户配置项的状态。如可以包括配置成功状态、配置失败状态等。则目标存储节点根据配置操作的执行结果,可以生成与配置项对应的状态信息。

步骤203:向所述配置管理设备发送所述状态信息,以使所述配置管理设备在接收到所述用户对所述配置资源的查询请求后向所述用户反馈所述状态信息。

目标存储节点可以将生成的状态信息发送至配置管理设备,以便于配置管理设备向用户反馈该状态信息。具体地,目标存储节点可以将该状态信息写入到配置管理设备提供的状态视图中以生成状态项,该状态项可以供用户进行查询,如用户可以通过轮询判断该配置资源在配置管理设备中的状态视图的状态项是否配置成功,若成功,即可以实现应答用户配置成功。

本实施例中,基于配置管理设备和分布式存储系统,由分布式存储系统中的目标存储节点根据配置管理设备提供的与配置请求对应的配置项,对配置请求中包含的配置资源执行配置操作,根据配置操作的执行结果生成与配置项对应的状态信息,并将状态信息发送至配置管理设备,以响应用户对配置资源的查询请求,向用户反馈状态信息,解决了传统方案中由分布式存储系统直接接收用户的配置请求并执行配置操作,从而导致阻塞用户请求的问题,提升了用户侧的易用性。

在实际应用中,当目标存储节点成功执行配置操作时,根据配置操作的执行结果,生成与配置项对应的状态信息可以为第一状态信息。该第一状态信息在状态视图中可以用Active来表示。即状态项为Active时,可以表明与该配置项对应的配置操作执行成功。

当目标存储节点未成功执行配置操作时,根据配置操作的执行结果,生成与配置项对应的状态信息可以为第二状态信息。该第二状态信息在状态视图中可以用failed、broken等来表示。即状态项为failed、broken等时,可以表明与该配置项对应的配置操作未执行成功。

在实际应用中,当目标存储节点未成功执行配置操作时,可能是由于系统出现异常,如网络异常、目标存储节点异常或设备异常等原因。由于分布式存储系统中,对配置资源执行配置操作时,会涉及元数据的更新。如,执行卷创建操作时,需要在卷所属的存储池下记录元数据,完成元数据落盘;执行卷删除操作时,需要更新卷所属的存储池下的元数据等。进一步地,如执行卷创建操作时,在卷所属的存储池下,元数据落盘采用的是异步落盘的方式,即元数据保存在内存中。此时,若出现系统异常,则内存中缓存的元数据可能会消失,从而无法实现配置操作成功执行。则当异常修复时,需要对未执行成功的配置操作进行回放以重新执行。因此,在某些实施例中,该方法还可以包括:

在执行所述配置操作前,将与所述配置请求对应的事务写入所述配置管理设备,以供所述配置管理设备存储所述事务,所述事务中包含所述配置资源及所述配置操作。

目标存储节点在执行所述配置操作前,可以根据获取的配置项,启动与该配置项对应的事务,并将该事务写入配置管理设备,以记录该配置项以及对应的配置操作的内容。为了便于与该配置项进行对应,该事务也可以设置有唯一的事务号,如可以根据该配置项的uuid设置对应的事务号。则在执行与该配置项对应的配置操作时,可以将配置操作的过程记录到事务中。具体地,目标存储节点向该卷所属的存储池申请创建对应策略、对应大小的卷时,可以将该申请创建的执行进度记录至事务中,如开始申请创建、创建进行中、申请创建结束等。进一步地,在创建成功后,目标存储节点将卷ID等属性保存到该存储池时,可以将该保存的执行进度记录至事务中,如保存10%、保存50%、保存100%等。

目标存储节点将该事务写入到配置管理设备。由此可以实现,在异常修复时,目标存储节点可以基于事务中记录的配置操作进行回放,以重新执行未成功执行的配置操作。

在此基础上,若系统出现异常,则目标存储节点可以存在未执行完成的配置操作,对应的,配置管理设备中可以存在未执行完成的事务。因此,该方法还可以包括:

在异常修复后向所述配置管理设备发送读取请求,所述读取请求对应于未执行完成的配置请求;

接收所述配置管理设备提供的所述事务,及基于所述事务执行未执行完成的配置请求;

执行未执行完成的配置请求之后,确定与所述配置项对应的第三状态信息;所述配置项对应于所述配置请求;

将所述第三状态信息发送至所述配置管理设备,以使所述配置管理设备以所述第三状态信息更新第二状态信息。

在异常修复后,目标存储节点存在未执行完成的配置操作,则可以向配置管理设备发送对应于未执行完成的配置请求的读取请求,以获取与该配置请求对应的事务。获取配置管理设备提供的事务后,该目标存储节点可以确定出与配置项对应的第三状态信息。具体地,目标存储节点可以对该事务中记录的配置操作进行回放,以重新执行未完成的配置操作,并在配置完成后生成第三状态信息。由于该第三状态信息是在异常修复后根据配置操作的执行结果生成的,此时该配置操作没有受到系统异常的影响,则该第三状态信息可以是与配置项对应的表明配置成功的状态信息。之后,可以将该第三状态信息发送至配置管理设备,以供配置管理设备根据该第三状态信息更新第二状态信息。

具体地,确定与所述配置项对应的第三状态信息的方法,可以包括:

判断所述目标存储节点中是否存储有对应的元数据;

若是,则根据所述元数据确定与所述配置项对应的第三状态信息;

若否,重新执行所述事务,根据所述事务的执行结果确定所述第三状态信息。

目标存储节点在获取配置管理设备提供的未执行完成的事务后,可以优先判断目标存储节点中是否存储有对应的元数据。如以卷创建为例,若目标存储节点已经存储有与该卷创建对应的元数据,则表明系统异常并未影响到目标存储节点执行卷创建的配置操作时元数据的落盘存储,则无需重新存储元数据,可以直接根据已经存储的元数据生成与该配置项对应的第三状态信息。

若目标存储节点中并未存储有与该卷创建对应的元数据,则表明系统异常影响到了目标存储节点执行卷创建的配置操作时元数据的落盘存储,元数据没有成功落盘,则需要重新执行该事务,重新存储元数据,再根据事务的执行结果确定所述第三状态信息。

通过设置与配置项对应的事务,实现了在目标存储节点更新到配置管理设备的状态项之前,由于目标存储节点出现系统异常,导致目标存储节点存储的配置状态与配置管理设备中展示的配置状态不一致时,可以基于事务中记录的配置操作,回放以重新执行未完成的配置操作,保证了配置的一致性。

在实际应用中,考虑到分布式存储系统中包含多个存储节点,则为了提高资源配置效率,该方法还可以包括:

接收协调器发送的包括配置项的标识信息及目标存储节点的标识信息的通知,该目标存储节点由协调器根据配置项从分布式存储系统中确定,该配置项由配置管理设备提供至协调器;

根据所述标识信息向所述配置管理设备发送读取请求;

接收所述配置管理设备发送的所述配置项。

该协调器可以指配置调度器,可以用于监听配置管理设备中配置项的更新,并确定执行该配置项的存储节点。则目标存储节点可以接收协调器发送的包括配置项的标识信息的通知,并根据该标识信息向配置管理设备发送读取请求,以获取对应的配置项。其中,该通知还可以包括目标存储节点的标识信息,协调器可以基于配置管理设备提供的配置项从分布式存储系统中确定出目标存储节点,并通告该目标存储节点根据配置项执行配置操作。在实际应用中,协调器根据配置项从分布式存储系统中确定出目标存储节点可以是根据预设的均衡策略,如随机、哈希或者指定节点,此处不做具体限定。

进一步地,目标存储节点可以接收到配置管理设备发送的配置项,以进行配置操作。通过设置协调器,实现了对与执行配置请求对应的存储节点的确定,无需用户指定需要执行配置的存储节点,避免暴露分布式存储系统的内部实现细节给用户,提高了存储侧的易用性。

如图3所示,为本发明提供的一种资源配置系统的一个实施例的结构示意图,包括配置管理设备及分布式存储系统,所述分布式存储系统中包括目标存储节点;

所述配置管理设备,用于接收用户的配置请求,所述配置请求中包含配置资源和配置操作;生成与所述配置请求对应的配置项,以使目标存储节点根据所述配置项对所述配置资源执行所述配置操作,所述目标存储节点是分布式存储系统中的一个存储节点;接收所述目标存储节点发送的与所述配置项对应的状态信息,其中,所述目标存储节点根据所述配置操作的执行结果生成所述状态信息;响应于所述用户对所述配置资源的查询请求,向所述用户反馈所述状态信息;

所述目标存储节点,用于响应于配置管理设备发来的配置项,根据所述配置项对配置资源执行配置操作,其中,所述配置项是所述配置管理设备接收到的用户的配置请求后生成的,所述配置请求中包含所述配置资源及所述配置操作;根据所述配置操作的执行结果生成与所述配置项对应的状态信息;向所述配置管理设备发送所述状态信息,以使所述配置管理设备在接收到所述用户对所述配置资源的查询请求后向所述用户反馈所述状态信息。

本实施例中,通过设置配置管理设备,由配置管理设备接收用户的配置请求,生成与该配置请求对应的配置项,以由分布式存储系统中的目标存储节点根据配置项对配置请求中包含的配置资源执行配置操作,并接收目标存储节点发送的与配置项对应的状态信息,并响应用户对配置资源的查询请求,向用户反馈状态信息,即可实现对用户配置请求的执行,解决了传统方案中由分布式存储系统直接接收用户的配置请求并执行配置操作,从而导致阻塞用户请求的问题,提升了用户侧的易用性。

如图4所示,为本发明提供的一种电子设备的一个实施例的结构示意图,包括存储器401和处理器402;所述存储器401中存储有可在所述处理器上运行的计算机程序,所述处理器402执行所述计算机程序时实现上述图1或图2实施例中所示的资源配置方法。

本实施例中,通过设置配置管理设备,由配置管理设备接收用户的配置请求,生成与该配置请求对应的配置项,以由分布式存储系统中的目标存储节点根据配置项对配置请求中包含的配置资源执行配置操作,并接收目标存储节点发送的与配置项对应的状态信息,并响应用户对配置资源的查询请求,向用户反馈状态信息,即可实现对用户配置请求的执行,解决了传统方案中由分布式存储系统直接接收用户的配置请求并执行配置操作,从而导致阻塞用户请求的问题,提升了用户侧的易用性。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对传统方案做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 流域水土的资源优化配置方法、系统、电子设备及存储介质
  • 系统资源配置方法、装置、电子设备及存储介质
技术分类

06120112859772