一种存储任务分配方法、云存储系统及电子设备与流程

文档序号:20061878发布日期:2020-03-06 08:03阅读:233来源:国知局
一种存储任务分配方法、云存储系统及电子设备与流程

本发明涉及视频监控技术领域,特别是涉及一种存储任务分配方法、云存储系统及电子设备。



背景技术:

云存储系统中设置有多个云存储节点,管理平台可以通过云存储管理节点向这些云存储节点分配存储任务,存储任务中包括该存储任务所指定的数据源的标识信息,以及数据存储策略。云存储节点在分配到存储任务后,通过相绑定的云存储视频接入节点,根据存储任务中的数据源标识信息,从该存储任务所指定的数据源中,按照数据存储策略,获取并存储数据。

云存储系统中的云存储节点可能因为网络故障或者负载过高等原因,进入异常状态,无法正常完成所分配的存储任务。现有技术中,云存储管理节点在检测到云存储系统中存在异常云存储节点时,可以停止向异常云存储节点分配存储任务,并将原先分配给异常云存储节点,且尚未执行完成的待执行存储任务,重新分配至云存储系统中的其他云存储节点,具体的,可以是重新均分至其他云存储节点。

但是,待执行存储任务所指定的数据源和各个云存储节点之间的通信效率可能不同,因此将待执行存储任务均分至其他云存储节点时,可能会导致将待执行存储任务分配给,与所指定的数据源通信通信效率较差的云存储节点来执行,导致所指定的数据源与云存储节点之间的通信效率较低。



技术实现要素:

本发明实施例的目的在于提供一种存储任务分配方法、云存储系统及电子设备,以实现当云存储系统中存在有异常云存储节点时,就近分重新配该异常云存储节点的待执行存储任务,以降低完成待执行存储任务所消耗的通信成本。具体技术方案如下:

本发明实施例的第一方面,提供了一种存储任务分配方法,所述方法包括:

当云存储系统中存在有异常云存储节点时,获取所述异常云存储节点的待执行存储任务,所述云存储系统中的云存储节点,根据所述地理位置,被预先划分为多个存储域;

将所述待执行存储任务,重新分配至异常云存储节点所属存储域的正常云存储节点。

结合第一方面,在第一种可能的实现方式中,所述多个存储域中的每个存储域的云存储节点,根据所处地理位置,被预先划分为多个存储组;

所述将所述待执行存储任务,重新分配至异常云存储节点所属存储域的正常云存储节点,包括:

将所述待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述云存储系统中的云存储节点通过以下步骤被预先划分为多个存储域:

基于云存储节点所述地理位置之间的地理距离,将所述云存储系统中的云存储节点划分为多个存储域,以使得每个存储域中云存储节点的地理距离不超过第一距离阈值;

所述多个存储域中每个存储域的云存储节点,通过以下步骤被预先划分为多个存储组:

基于云存储节点所述地理位置之间的地理距离,将该存储域中的云存储节点划分为多个存储组,以使得每个存储组中云存储节点的地理距离不超过第二距离阈值,所述第二距离阈值小于所述第一距离阈值。

结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,在所述将所述待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点之前,所述方法还包括:

获取异常云存储节点所属存储组的负载信息,所述负载信息用于表示所述异常云存储节点所属存储组的正常云存储节点当前的负载能力;

确定所述负载信息所表示的负载能力,是否能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务;

如果所述负载信息所表示的负载能力,能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,执行所述将所述待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点的步骤;

如果所述负载信息所表示的负载能力,不能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,将所述待执行存储任务,重新分配至所述异常云存储节点所属存储域中,不属于所述异常云存储节点所属存储组的正常云存储节点。

结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述负载信息包括接入性能信息和存储资源信息,所述接入性能信息用于表示所述异常云存储节点所属存储组的正常云存储节点,当前空闲的接入带宽,所述存储资源信息,用于表示所述异常云存储节点所属存储组的正常云存储节点当前剩余的存储空间。

结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,在所述将所述待执行存储任务,重新分配至所述异常云存储节点所属存储域中,不属于所述异常云存储节点所属存储组的正常云存储节点之后,所述方法还包括:

监控所述异常云存储节点所属存储组的负载信息,和所述待执行存储任务;

如果所述异常云存储节点所属存储组的负载信息所表示的负载能力,能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,将所述待执行存储任务重新分配至所述异常云存储节点所属存储组的正常云存储节点。

在本发明实施例的第二方面,提供了一种云存储系统,所述系统包括:

云存储管理节点、多个云存储节点;

所述云存储节点,用于根据所述云存储管理节点所分配的存储任务,获取并保存所分配的存储任务所对应的数据;

所述云存储管理节点,用于当云存储系统中存在有异常云存储节点时,获取所述异常云存储节点的待执行存储任务,所述云存储系统中的云存储节点,根据所处地理位置,被预先划分为多个存储域;

并将所述待执行存储任务,重新分配至异常云存储节点所属存储域的正常云存储节点。

结合第二方面,在第一种可能的实现方式中,所述多个存储域中的每个存储域的云存储节点,根据所处地理位置,被预先划分为多个存储组;

所述计划分配模块,具体用于将所述待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述多个云存储节点通过以下步骤被预先划分为多个存储域:

基于云存储节点所述地理位置之间的地理距离,将所述多个云存储节点划分为多个存储域,以使得每个存储域中云存储节点的地理距离不超过第一距离阈值;

所述多个存储域中每个存储域的云存储节点,通过以下步骤被预先划分为多个存储组:

基于云存储节点所述地理位置之间的地理距离,将该存储域中的云存储节点划分为多个存储组,以使得每个存储组中云存储节点的地理距离不超过第二距离阈值,所述第二距离阈值小于所述第一距离阈值。

结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述云存储管理节点还用于在所述将所述待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点之前,获取异常云存储节点所属存储组的负载信息,所述负载信息用于表示所述异常云存储节点所属存储组的正常云存储节点当前的负载能力;

确定所述负载信息所表示的负载能力,是否能够支撑所述异常云存储节点所属存储组的正常存储涉笔完成所述待执行存储任务;

如果所述负载信息所表示的负载能力,能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,执行所述将所述待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点的步骤;

如果所述负载信息所表示的负载能力,不能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,将所述待执行存储任务,重新分配至所述异常云存储节点所属存储域中,不属于所述异常云存储节点所属存储组的正常云存储节点。

结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述负载信息包括接入性能信息和存储资源信息,所述接入性能信息用于表示所述异常云存储节点所属存储组的正常云存储节点,当前空闲的接入带宽,所述存储资源信息,用于表示所述异常云存储节点所属存储组的正常云存储节点当前剩余的存储空间。

结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述云存储管理节点还用于在所述将所述待执行存储任务,重新分配至所述异常云存储节点所属存储域中,不属于所述异常云存储节点所属存储组的正常云存储节点之后,监控所述异常云存储节点所属存储组的负载信息,和所述待执行存储任务;

如果所述异常云存储节点所属存储组的负载信息所表示的负载能力,能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,将所述待执行存储任务重新分配至所述异常云存储节点所属存储组的正常云存储节点。

本发明实施例的第三方面,提供了一种电子设备,包括:

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现权上述第一方面任一所述的存储任务分配方法。

本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利上述第一方面任一所述的存储任务分配方法。

在本发明实施例的第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的存储任务分配方法。

本发明实施例提供的一种存储任务分配方法、云存储系统及电子设备,由于存储域是根据云存储节点所处地理位置划分的,因此将异常云存储节点的待执行存储任务重新分配至所属存储域的正常云存储节点,可以有效降低将待执行存储任务分配至,与指定数据源距离过远的云存储节点的概率,提高完成待执行存储任务的效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的存储任务分配方法的一种流程示意图;

图2为本发明实施例提供的存储任务分配方法的另一种流程示意图;

图3为本发明实施例提供的存储任务分配方法的另一种流程示意图;

图4为本发明实施例提供的云存储系统的一种结构示意图;

图5为本发明实施例提供的存储任务分配电子设备的一种结构示意图。

具体实施方式

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

参加图1,图1所示为本发明实施例提供的存储任务分配方法的一种流程示意图,本发明实施例提供的存储任务分配方法可以由云存储系统中的云存储管理节点执行。

在一种可能的应用场景中,云存储系统可以是用于存储视频监控系统所产生的视频流,云存储系统中可以包括管理平台,一个或多个云存储管理节点,每个云存储管理节点用于管理多个云存储节点,其中,每个云存储节点对应一个云存储接入节点,该接入节点可以实体设备,也可以是通过软件实现的。管理平台可以在接收到视频监控系统发送的录像请求后生成录像计划,录像计划为存储任务的一种,并由云存储管理节点将所生成的录像计划分配至该云存储节点所管理的多个云存储节点上,录像计划中包括该录像计划所指定的ipc标识信息、以及视频流存储策略,云存储节点在分配到录像计划后,通过相对应的云存储视频接入节点,根据录像计划中的ipc标识信息,从该存储任务所指定的ipc中,按照视频流存储策略,获取并存储视频流,以实现对该ipc的录像。

方法可以包括:

s101,当云存储系统中存在有异常云存储节点时,获取异常云存储节点的待执行存储任务,云存储系统中的云存储节点,根据所处地理位置,被预先划分为多个存储域。

其中,异常云存储节点可以是指出现网络故障的云存储节点,也可以是负载过高的云存储节点,例如,当一个云存储节点的存储空间的占用率高于预设占用率阈值时,可以将该云存储节点确定为异常云存储节点。待执行存储任务,可以是已经分配给异常云存储节点的存储任务中,尚未执行完成的存储任务,例如已经将针对第一数据源的第一存储任务、第二存储任务分配给第一云存储节点,假设第一云存储节点在完成第一存储任务后,在第二存储任务完成之前,由于出现网络故障,被确定为异常云存储节点,则获取第二存储任务作为待执行存储任务。

根据所处地理位置,预先将云存储系统中的云存储节点划分为多个存储域,在一种可选的实施例中可以是基于云存储节点所处地理位置之间的地理距离,将云存储节点划分为多个存储域,以使得每个存储域中云存储节点所处地理位置之间的地理距离不超过第一距离阈值。第一距离阈值可以是用户根据实际经验设置的一个阈值,也可以是基于大数据分析得到的一个阈值。

其中,地理距离可以是指两个云存储节点所处地理位置之间的直线距离;在其他实施例中,也可以是基于云存储节点之间的直线距离经过加权后的综合距离,加权的权重可以取决于这两个云存储节点之间建立通信的成本,成本可以包括人工成本、时间成本、耗材成本中的一个或多个成本。人工成本可以用建立这两个云存储节点所需要花费的人员费用表示,时间成本可以用建立这两个云存储节点之间的通信所需要花费的时长表示,耗材成本可以用建立这两个云存储节点之间通信所需要的耗材的总价格表示。

在本实施例中,由于重新分配待执行存储任务时,不会分配至异常云存储节点所属存储域以外的其他存储域,因此为了降低构建云存储系统的成本,对于两个不同的存储域,可以是不打通之间的网络连接的,即两个处于不同的存储域的云存储节点之间,可以是无法直接通信的,需要借由其他中转节点进行通信。在其他实施例中,也可以根据实际需求,对于两个不同的存储域,也可以是打通之间的网络连接的。

s102,将待执行存储任务,重新分配至异常云存储节点所属存储域的正常云存储节点,异常云存储节点所属存储域为异常云存储节点所属的存储域。

其中,正常云存储节点可以是指不处于异常状态的云存储节点,重新分配至异常云存储节点所属存储域的正常云存储节点,可以是指将待执行存储任务,重新均分至异常云存储节点所属存储域中所有正常云存储节点,也可以是指将待执行存储任务,按照异常云存储节点所属存储域中每个正常云存储节点的设备性能和/或当前负载能力,以一定的权重分配给异常云存储节点所属存储域中所有正常云存储节点,示例性的,假设异常云存储节点所属存储域中存在第一正常云存储节点,和第二正常云存储节点,其中第一正常云存储节点的性能优于第二正常云存储节点,可以是将待执行存储任务的50%分配至第一正常云存储节点,50%分配至第二正常云存储节点,也可以是根据第一正常,也可以是将待执行存储任务的70%分配至第一正常云存储节点,30%分配至第二云存储节点。

在其他实施例,也可以是将待执行存储任务分配至异常云存储节点所属存储域中的部分正常云存储节点中,具体的,在一种可选的实施例中,异常云存储节点所属存储域中可以包括多个存储组,这多个存储组是所属存储域中的存储节点,根据所处地理位置预先划分得到的,进一步的,在一种可选的实施例中,。可以是基于云存储节点所处地理位置之间的地理距离,将该存储域中的

云存储节点划分为多个存储组,以使得每个存储组中云存储节点所处地理位置之间的地理距离不超过第二距离阈值,其中第二距离阈值小于前述第一距离阈值。

选用该实施例,可以有效降低将待执行存储任务分配至,与指定数据源距离过远的云存储节点的概率,提高完成待执行存储任务的效率。

参见图2,图2所示为本发明实施例提供的存储任务分配方法的另一种流程示意图,可以包括:

s201,当云存储系统中存在有异常云存储节点时,获取异常云存储节点的待执行存储任务,云存储系统中的云存储节点,根据所处地理位置,被预先划分为多个存储域。

该步骤与s101相同,可以参见前述关于s101的描述,在此不再赘述。

s202,获取异常云存储节点所属存储组的负载信息,负载信息用于表示异常云存储节点所属存储组的正常云存储节点当前的负载能力。

其中,负载能力用于衡量能够承担的负载能力,负载能力越高,则表示能够承担越多的负载,在本实施例中,可以将存储任务理解为一种负载。由于异常云存储节点所属存储组的正常云存储节点,可能已经分配有存储任务,并且正在执行,这些存储任务会占用异常云存储节点所属存储组的正常云存储节点的部分系统资源,因此异常云存储节点所属存储组的正常云存储节点当前的负载能力,可能并不等同于异常云存储节点所属存储组的正常云存储节点的额定负载能力。具体的,负载信息中可以包括:接入性能信息,和存储资源信息。其中,接入性能信息用于表示异常云存储节点所属存储组的正常云存储节点,当前空闲的接入带宽,存储资源信息,用于表示异常云存储节点所属存储组的正常云存储节点当前剩余的存储空间。可以理解的是,如果当前空闲的接入带宽越大,当前剩余的存储空间越大,则异常云存储节点所属存储组的正常云存储节点当前的负载能力越强。反之,当前空闲的接入带宽越小,当前剩余的存储空间越小,则异常云存储节点所属存储组的正常云存储节点当前的负载能力越小。使用接入性能信息和存储资源信息构成负载信息,可以使得负载信息表示负载能力时更加量化,以使得负载信息更准确地反映出异常云存储节点所属存储组的正常云存储节点负载能力。

s203,确定负载信息所表示的负载能力,是否能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,如果负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,执行s204,如果负载信息所表示的负载能力,不能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,执行s205。

以负载信息中包括:接入性能信息,和存储资源信息为例,可以是确定接入性能信息所表示的带宽,是否高于完成待执行存储任务所需要的带宽,并确定存储资源信息所表示的存储空间,是否大于完成待执行存储任务所需要的存储空间。如果接入性能信息所表示的带宽,高于完成待执行存储任务所需要的带宽,并且存储资源信息所表示的存储空间,大于完成待执行存储任务所需要的存储空间,则可以确定负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务。反之,如果接入性能信息所表示的带宽,不高于完成待执行存储任务所需要的带宽,或者,存储资源信息所表示的存储空间,不大于完成待执行存储任务所需要的存储空间,则可以确定负载信息所表示的复杂能力,不能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务。

s204,将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点。

具体的,可以是将待执行存储任务,重新均分至异常云存储节点所属存储组中的各个正常云存储节点,也可以是根据异常云存储节点所属存储组中各个云存储节点的设备性能和/或存储空间,确定如何将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点。

s205,将待执行存储任务,重新分配至异常云存储节点所属存储域中,不属于异常云存储节点所属存储组的存储组的正常云存储节点。

可以理解的是,当负载信息所表示的负载能力,不能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务时,可以认为即使将待执行存储任务分配至异常云存储节点所属存储组的正常云存储节点,这些正常云存储节点由于负载能力的限制,也难以完成待执行存储任务,此时为了使得待执行存储任务能够被顺利地完成,可以由异常云存储节点所属存储域中其他存储组的正常云存储节点来完成该待执行存储任务。

选用该实施例,可以在异常云存储节点所属存储组的负载能力难以完成待执行存储任务时,自动地将待执行存储任务分配至异常云存储节点所属存储域中其他存储组,以实现存储域中,各个存储组的组间负载均衡。

参见图3,图3所示为本发明实施例提供的存储任务分配方法的另一种流程示意图,可以包括:

s301,当云存储系统中存在有异常鵆设备时,获取异常云存储节点的待执行存储任务,云存储系统中的云存储节点,根据所处地理位置,被预先划分为多个存储域。

该步骤与s101相同,可以参见前述关于s101的描述,在此不再赘述。

s302,获取异常云存储节点所属存储组的负载信息,负载信息用于表示异常云存储节点所属存储组的正常云存储节点当前的负载能力。

该步骤与s202相同,可以参见前述关于s202的描述,在此不再赘述。

s303,确定负载信息所表示的负载能力,是否能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,如果负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,执行s304,如果负载信息所表示的负载能力,不能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,执行s305。

该步骤与s203相同,可以参见前述关于s203的描述,在此不再赘述。

s304,将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点。

该步骤与s204相同,可以参见前述关于s204的描述,在此不再赘述。

s305,将待执行存储任务,重新分配至异常云存储节点所属存储域中,不属于异常云存储节点所属存储组的正常云存储节点。

该步骤与s205相同,可以参见前述关于s205的描述,在此不再赘述。

s306,监控异常云存储节点所属存储组的负载信息,和待执行存储任务。

具体的,可以是每间隔预设的时间段,获取一次异常云存储节点所属存储组的负载信息,和待执行存储任务的完成情况。可以理解的是,当待执行存储任务已经完成后,或者当异常云存储节点恢复正常后,可以停止对异常云存储节点所属存储组的负载信息,以及待执行存储任务的监控。

s307,如果异常云存储节点所属存储组的负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,将待执行存储任务重新分配至异常云存储节点所属存储组的正常云存储节点。

可以理解的是,异常云存储节点所属存储组的正常云存储节点的负载能力可能发生变化,例如已经分配至异常云存储节点所属存储组的正常云存储节点的存储任务完成后,异常云存储节点所属存储组的正常云存储节点的负载能力可能会变大。当异常云存储节点所属存储组的负载信息所表示的负载能力,已经能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务时,出于降低就近分配的原则,可以将已经分配至异常云存储节点所属存储域中其他存储组的正常云存储节点的待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点。具体的,可以是一次性将待执行存储任务全部重新分配至异常云存储节点所属存储组的正常云存储节点,也可以是逐步地将待执行存储任务重新分配至异常云存储节点所属存储组的正常云存储节点。

参见图4,图4所示为本发明实施例提供的云存储系统的一种结构示意图,可以包括:

云存储管理节点401、多个云存储节点402;

所述云存储节点402,用于根据所述云存储管理节点所分配的存储任务,获取并保存所分配的存储任务所对应的数据;

所述云存储管理节点401,用于当多个云存储节点402中存在有异常云存储节点时,获取异常云存储节点的待执行存储任务,所述云存储系统中的云存储节点401,根据所处地理位置,被预先划分为多个存储域;并将所述待执行存储任务,重新分配至异常云存储节点所属存储域的正常云存储节点,所述异常云存储节点所属存储域为所述异常云存储节点所属的存储域。

在一种可选的实施例中,所述异常云存储节点所属存储域中的云存储节点,根据所处地理位置,被划分为多个存储组;

云存储管理节点401具体用于将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点,异常云存储节点所属存储组为异常云存储节点所属的存储组。

在一种可选的实施例中,可以是基于云存储节点所处地理位置之间的地理距离,将云存储系统中的云存储节点划分为多个存储组,以使得每个存储组中云存储节点所处地理位置之间的地理距离不超过第一距离阈值。并且基于云存储节点所处地理位置之间的地理距离,将各个存储域中的云存储节点划分为多个存储组,以使得每个存储组中云存储节点所处地理位置之间的地理距离不超过第二距离阈值,其中,第二距离阈值小于第一距离阈值。

在一种可选的实施例中,云存储管理节点401还用于在将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点之前,获取异常云存储节点所属存储组的负载信息,负载信息用于表示异常云存储节点所属存储组的正常云存储节点当前的负载能力;

确定负载信息所表示的负载能力,是否能够支撑异常云存储节点所属存储组的正常存储涉笔完成待执行存储任务;

如果负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,执行所述将所述待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点的步骤;

如果所述负载信息所表示的负载能力,不能够支撑所述异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务,将所述待执行存储任务,重新分配至所述异常云存储节点所属存储域中,不属于异常云存储节点所属存储组的正常云存储节点。

在一种可选的实施例中,负载信息包括接入性能信息和存储资源信息,接入性能信息用于表示异常云存储节点所属存储组的正常云存储节点,当前空闲的接入带宽,存储资源信息,用于表示异常云存储节点所属存储组的正常云存储节点当前剩余的存储空间。

在一种可选的实施例中,云存储管理节点401还用于在将待执行存储任务,重新分配至异常云存储节点所属存储域中,不属于异常云存储节点所属存储组的正常云存储节点之后,监控异常云存储节点所属存储组的负载信息,和待执行存储任务;

如果异常云存储节点所属存储组的负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,将待执行存储任务重新分配至异常云存储节点所属存储组的正常云存储节点。

本发明实施例还提供了一种电子设备,如图5所示,可以包括:

存储器501,用于存放计算机程序;

处理器502,用于执行存储器501上所存放的程序时,实现如下步骤:

当云存储系统中存在有异常云存储节点时,获取异常云存储节点的待执行存储任务,云存储系统中的云存储节点,根据所处地理位置,被预先划分为多个存储域;

将待执行存储任务,重新分配至异常云存储节点所属存储域的正常云存储节点,异常云存储节点所属存储域为异常云存储节点所属的存储域。

进一步的,所述多个存储域中的每个存储域中的云存储节点,根据所处地理位置,被预先划分为多个存储组;

将待执行存储任务,重新分配至异常云存储节点所属存储域的正常云存储节点,包括:

将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点,异常云存储节点所属存储组为异常云存储节点所属的存储组。

进一步的,云存储系统中的云存储节点通过以下步骤被预先划分为多个存储域:

基于云存储节点所处地理位置之间的地理距离,将云存储系统中的云存储节点划分为多个存储域,以使得每个存储域中云存储节点所处地理位置之间的地理距离不超过第一距离阈值。

存储域中的云存储节点通过以下步骤被预先划分为多个存储组:

基于云存储节点所处地理位置之间的地理距离,将存储域中的云存储节点划分为多个存储组,以使得每个存储组中云存储节点所处地理位置之间的地理距离不超过第二距离阈值,第二距离阈值小于第一距离阈值。

进一步的,在将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点之前,方法还包括:

获取异常云存储节点所属存储组的负载信息,负载信息用于表示异常云存储节点所属存储组的正常云存储节点当前的负载能力;

确定负载信息所表示的负载能力,是否能够支撑异常云存储节点所属存储组的正常云存储节点完成所述待执行存储任务;

如果负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,执行将待执行存储任务,重新分配至异常云存储节点所属存储组的正常云存储节点的步骤;

如果负载信息所表示的负载能力,不能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,将待执行存储任务,重新分配至异常云存储节点所属存储域中,不属于异常云存储节点所属存储组的正常云存储节点。

进一步的,负载信息包括接入性能信息和存储资源信息,接入性能信息用于表示异常云存储节点所属存储组的正常云存储节点,当前空闲的接入带宽,存储资源信息,用于表示异常云存储节点所属存储组的正常云存储节点当前剩余的存储空间。

进一步的,在将待执行存储任务,重新分配至异常云存储节点所属存储域中,不属于异常云存储节点所属存储组的正常云存储节点之后,方法还包括:

监控异常云存储节点所属存储组的负载信息,和待执行存储任务;

如果异常云存储节点所属存储组的负载信息所表示的负载能力,能够支撑异常云存储节点所属存储组的正常云存储节点完成待执行存储任务,将待执行存储任务重新分配至异常云存储节点所属存储组的正常云存储节点。

上述电子设备提到的存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的存储任务分配方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储节点。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于云存储系统、电子设备、计算机可读存储介质、包含指令的计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1