分布式集群存储方法、系统、装置及计算机可读存储介质与流程

文档序号:19605124发布日期:2020-01-03 13:27阅读:254来源:国知局
分布式集群存储方法、系统、装置及计算机可读存储介质与流程

本发明涉及分布式存储领域,特别涉及一种分布式集群存储方法、系统、装置及计算机可读存储介质。



背景技术:

在当今的大数据时代,海量的数据存储占用大量的存储空间。在分布式系统中,数据存储算法主要有两个依据:均匀性和稳定性。其中均匀性保证不同节点负载均衡,稳定性保证分布结果稳定。目前,分布式系统中数据存储技术主要有以下几种方式hash、一致性hash、带负载上限的一致性hash、带虚拟节点的一致性hash和分片,但上述几种数据分配方法,均无法保证数据存储的均匀性和稳定性,无法确保数据能够分配到最优的节点。

为此,需要进一步改进的使数据能够分配到最优的节点,确保数据存储的均匀性和稳定性的分布式集群存储方法。



技术实现要素:

有鉴于此,本发明的目的在于提供一种分布式集群存储方法、系统、装置及计算机可读存储介质,使数据能够分配到最优的节点,保证数据存储的均匀性和稳定性。其具体方案如下:

一种分布式集群存储方法,包括:

获取存储集群中每个节点的存储性能信息;

利用每个节点的存储性能信息,得到每个节点的奖励值;

获取存储集群中每个节点的状态信息;

利用智能代理模型接收每个节点的奖励值和状态信息,所述智能代理模型利用每个节点的奖励值和状态信息,输出与当前每个节点的奖励值和状态信息对应的数据存储分配任务,完成数据的存储分配;

其中,所述智能代理模型为基于神经网络模型,利用策略梯度算法和所述存储集群中节点的奖励值优化神经网络参数,利用历史节点的状态信息进行训练而成的模型。

可选的,所述获取存储集群中每个节点的存储性能信息的过程,包括:

获取存储集群中每个节点单位时间内的i/o数据量和带宽。

可选的,所述利用每个节点的存储性能信息,得到每个节点的奖励值的过程,包括:

利用每个节点的单位时间内的i/o数据量和带宽之和,作为每个节点的奖励值。

可选的,所述智能代理模型包括分别由全连接网络组成的输入层、隐藏层和输出层。

可选的,所述智能代理模型包括输入层、一层隐藏层和输出层,其中,隐藏层包括64个节点。

可选的,所述智能代理模型基于策略梯度算法,利用参数更新公式更新神经网络参数;

其中,所述参数更新公式为:θn=θ+α▽θlogπθ(st,at)vt;

式中,θn表示更新后的神经网络参数,θ表示更新前的神经网络参数,a表示预设的学习率,πθ表示智能代理模型,st表示t时刻环境的状态,at表示t时刻智能代理模型输出的数据存储分配任务,vt表示在t时刻πθ在单位时间内所获得的所述存储集群各节点的累积奖励值。

可选的,所述获取存储集群中每个节点的状态信息的过程,包括:

获取存储集群中每个节点的真实状态信息;

利用归一化公式对每个节点的真实状态信息进行归一化,得到每个节点的状态信息;

其中,所述归一化公式为:

式中,d表示归一化后的每个节点的状态信息,dr表示真实状态信息,μd表示各节点的真实状态信息的均值,σd表示各节点的真实状态信息的标准差。

本发明还公开了一种分布式集群存储系统,包括:

性能信息获取模块,用于获取存储集群中每个节点的存储性能信息;

奖励值计算模块,用于利用每个节点的存储性能信息,得到每个节点的奖励值;

状态信息获取模块,用于获取存储集群中每个节点的状态信息;

任务分配模块,用于利用智能代理模型接收每个节点的奖励值和状态信息,所述智能代理模型利用每个节点的奖励值和状态信息,输出与当前每个节点的奖励值和状态信息对应的数据存储分配任务,完成数据的存储分配;

其中,所述智能代理模型为基于神经网络模型,利用策略梯度算法和所述存储集群中节点的奖励值优化神经网络参数,利用历史节点的状态信息进行训练而成的模型。

本发明还公开了一种分布式集群存储装置,包括:

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

处理器,用于执行所述计算机程序以实现如前述的分布式集群存储方法。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的分布式集群存储方法。

本发明中,分布式集群存储方法,包括:获取存储集群中每个节点的存储性能信息;利用每个节点的存储性能信息,得到每个节点的奖励值;获取存储集群中每个节点的状态信息;利用智能代理模型接收每个节点的奖励值和状态信息,智能代理模型利用每个节点的奖励值和状态信息,输出与当前每个节点的奖励值和状态信息对应的数据存储分配任务,完成数据的存储分配;其中,智能代理模型为基于神经网络模型,利用策略梯度算法和存储集群中节点的奖励值优化神经网络参数,利用历史节点的状态信息进行训练而成的模型。

本发明根据存储集群中各节点的存储性能信息设置奖励值,综合各节点的状态信息,利用基于神经网络模型,利用策略梯度算法和存储集群中节点的奖励值优化神经网络参数,利用历史节点的状态信息进行训练而成的智能代理模型进行分析,输出数据存储分配任务,完成数据存储的分配工作,使数据能够分配到最优的节点,确保了各节点负载均衡,分配结果稳定,保证了数据存储的均匀性和稳定性。

附图说明

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

图1为本发明实施例公开的一种分布式集群存储方法流程示意图;

图2为本发明实施例公开的另一种分布式集群存储方法流程示意图;

图3为本发明实施例公开的一种智能代理模型结构示意图;

图4为本发明实施例公开的一种分布式集群存储系统结构示意图。

具体实施方式

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

本发明实施例公开了一种分布式集群存储方法,参见图1所示,该方法包括:

s11:获取存储集群中每个节点的存储性能信息。

具体的,节点的存储性能信息可以包括节点单位时间内i/o次数、i/o数据量和带宽(即读取的速率)等能够反映当前节点的运行状况,利用节点的存储性能信息能够分析出节点是否能够胜任对大量数据存储的要求,是否能够高效执行当前存储任务,因此,在决定将数据存储在哪个节点时,需要获取需要节点的存储性能信息,以进行进一步的判断。

s12:利用每个节点的存储性能信息,得到每个节点的奖励值。

具体的,为了使后续的智能代理模型逐渐输出最优结果,将数据存储至最优的节点,输出最优的数据存储分配任务,完成数据的存储分配,设置奖励值。

可以理解的是,一个节点在存储一定数据后会出现存储性能下降,说明该节点的存储负荷过大,出现存储分配不合理的情况,因此,在分配数据存储任务时,应根据节点的存储性能来进行分配,一个存储性能好的节点在不影响其存储性能的情况下能够存储更多更大的数据,一个存储性能稍差的节点,则适合存储少量的数据量小的数据,所以设置能够反映当前节点存储性能信息的奖励值,奖励值越高说明节点的存储性能越不受影响,当前数据分配的结果越合理,通过让后续的智能代理模型追求高奖励值,可以使智能代理模型输出数据存储分配任务越合理越高效。

s13:获取存储集群中每个节点的状态信息。

具体的,仅依靠奖励值无法得到一个综合多种因素得到的最优结果,还需获取存储集群中每个节点的状态信息,状态信息可以包括节点的硬件配置和节点数量,还可以获取节点的存储性能信息以便从另一角度综合考虑,不将存储性能信息仅用于奖励值分析,其中,节点的硬件配置可以包括节点中控制器的数量、处理器的数量和性能和剩余的存储空间。

需要说明的是,s13与s11和s12之间没有执行先后顺序,可以同时执行,也可以依次执行,在此不做限定。

s14:利用智能代理模型接收每个节点的奖励值和状态信息,智能代理模型利用每个节点的奖励值和状态信息,输出与当前每个节点的奖励值和状态信息对应的数据存储分配任务,完成数据的存储分配。

具体的,智能代理模型为基于神经网络模型,利用策略梯度算法和存储集群中节点的奖励值优化神经网络参数,利用历史节点的状态信息进行训练而成的模型,因此,智能代理模型接收每个节点的奖励值和状态信息,能够利用当前的神经网络参数输出最优的数据存储分配任务,完成数据的存储分配。

进一步的,智能代理模型可以利用策略梯度算法和存储集群中节点的奖励值不断优化自身神经网络参数,使智能代理模型能够根据存储集群中各节点的运行状态进行变化,而不会固定不变,确保智能代理模型能够跟随存储集群的状态进行改变,确保了各节点负载均衡,分配结果稳定,保证了数据存储的均匀性和稳定性。

其中,数据存储分配任务中记载了将数据存储至那个节点,依据数据存储分配任务可以完成数据的存储。

可见,本发明实施例根据存储集群中各节点的存储性能信息设置奖励值,综合各节点的状态信息,利用基于神经网络模型,利用策略梯度算法和存储集群中节点的奖励值优化神经网络参数,利用历史节点的状态信息进行训练而成的智能代理模型进行分析,输出数据存储分配任务,完成数据存储的分配工作,使数据能够分配到最优的节点,确保了各节点负载均衡,分配结果稳定,保证了数据存储的均匀性和稳定性。

本发明实施例公开了一种具体的分布式集群存储方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:

s21:获取存储集群中每个节点单位时间内的i/o数据量和带宽。

具体的,可以选择节点单位时间内的i/o数据量和带宽来反映节点的存储性能,i/o数据量能够直接体现节点单位时间能够存储的数据量,带宽能够反映数据最大传输速度。

s22:利用每个节点的单位时间内的i/o数据量和带宽之和,作为每个节点的奖励值;

s23:获取存储集群中每个节点的真实状态信息;

s24:利用归一化公式对每个节点的真实状态信息进行归一化,得到每个节点的状态信息。

具体的,由于存储集群的状态信息的数值范围相差较大,导致智能代理模型训练不稳定,难以收敛,所以需要对数据进行归一化处理,以确保智能代理模型能够收敛,为此,利用归一化公式对每个节点的真实状态信息进行归一化,得到每个节点的状态信息。

其中,归一化公式为:

式中,d表示归一化后的每个节点的状态信息,dr表示真实状态信息,μd表示各节点的真实状态信息的均值,σd表示各节点的真实状态信息的标准差。

s25:利用智能代理模型接收每个节点的奖励值和状态信息,智能代理模型利用每个节点的奖励值和状态信息,输出与当前每个节点的奖励值和状态信息对应的数据存储分配任务,完成数据的存储分配。

具体的,参见图3所示,智能代理模型可以包括分别由全连接网络组成的输入层11、隐藏层12和输出层13;因存储集群的状态信息没有局部相关性等特性,所以采用全连接层作为模型的结果,输入层11、隐藏层12和输出层13均采用全连接结构;其中,隐藏层12可以包括64个节点,在此提出的智能代理模型结构,为通过实验得出的处理效率较高的模型结构,当然,可以根据实际应用需求,增加隐藏层12层数或通过调整神经网络参数修改隐藏层12的节点数。

具体的,智能代理模型基于策略梯度算法,利用参数更新公式更新神经网络参数;

其中,参数更新公式为:θn=θ+α▽θlogπθ(st,at)vt;

式中,θn表示更新后的神经网络参数,θ表示更新前的神经网络参数,a表示预设的学习率,πθ表示智能代理模型,st表示t时刻环境的状态,at表示t时刻智能代理模型输出的数据存储分配任务,vt表示在t时刻πθ在单位时间内所获得的存储集群各节点的累积奖励值。

其中,学习率为预先设定的值,可以根据智能代理模型实际运行情况进行调整;πθ相当于智能代理模型的执行策略。

需要说明的是,存储集群需要提供可持续,稳定的服务,在相对短时间内无法检测到存储集群停止服务的阶段,所以本发明实施例假设每隔24小时集群到达终止状态,然后计算各个时间段的累积奖励,更新智能代理模型的神经网络参数,即单位时间可以为24小时。

相应的,本发明实施例还公开了一种分布式集群存储系统,参见图4所示,该系统包括:

性能信息获取模块,用于获取存储集群中每个节点的存储性能信息;

奖励值计算模块,用于利用每个节点的存储性能信息,得到每个节点的奖励值;

状态信息获取模块,用于获取存储集群中每个节点的状态信息;

任务分配模块,用于利用智能代理模型接收每个节点的奖励值和状态信息,智能代理模型利用每个节点的奖励值和状态信息,输出与当前每个节点的奖励值和状态信息对应的数据存储分配任务,完成数据的存储分配;

其中,智能代理模型为基于神经网络模型,利用策略梯度算法和存储集群中节点的奖励值优化神经网络参数,利用历史节点的状态信息进行训练而成的模型。

具体的,性能信息获取模块,具体用于获取存储集群中每个节点单位时间内的i/o数据量和带宽。

具体的,奖励值计算模块,具体用于利用每个节点的单位时间内的i/o数据量和带宽之和,作为每个节点的奖励值。

具体的,智能代理模型包括分别由全连接网络组成的输入层、隐藏层和输出层;其中,智能代理模型可以包括输入层、一层隐藏层和输出层,其中,隐藏层包括64个节点。

具体的,智能代理模型基于策略梯度算法,利用参数更新公式更新神经网络参数;

其中,参数更新公式为:θn=θ+α▽θlogπθ(st,at)vt;

式中,θn表示更新后的神经网络参数,θ表示更新前的神经网络参数,a表示预设的学习率,πθ表示智能代理模型,st表示t时刻环境的状态,at表示t时刻智能代理模型输出的数据存储分配任务,vt表示在t时刻πθ在单位时间内所获得的存储集群各节点的累积奖励值。

具体的,状态信息获取模块,包括真实信息获取单元和信息归一化单元;其中,

真实信息获取单元,用于获取存储集群中每个节点的真实状态信息;

信息归一化单元,用于利用归一化公式对每个节点的真实状态信息进行归一化,得到每个节点的状态信息;

其中,归一化公式为:

式中,d表示归一化后的每个节点的状态信息,dr表示真实状态信息,μd表示各节点的真实状态信息的均值,σd表示各节点的真实状态信息的标准差。

此外,本发明实施例还公开了一种分布式集群存储装置,包括:

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

处理器,用于执行计算机程序以实现如前述的分布式集群存储方法。

另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的分布式集群存储方法。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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