本发明涉及分布式存储,特别是涉及分布式存储方法、分布式存储系统及非易失性存储介质。
背景技术:
1、随着大数据、云计算和物联网的迅猛发展,数据的产生和存储需求不断增长,传统的集中式存储系统已经无法满足高并发、高可用性和弹性扩展的需求。分布式存储系统应运而生,成为解决大规模数据存储与管理问题的关键技术之一。分布式存储系统通过数据复制和冗余技术,确保即使在部分节点故障的情况下,数据依然可用。
2、目前在分布式存储系统中,为实现数据可靠性,通常采用单节点的服务器部署和多节点备份存储来满足不同地区的分布式存储需求,导致随着数据量增大,带来的服务器资源消耗和部署运维成本难以接受。且随着数据量的增加以及频繁更新,同步节点数据时会占用大量的网络资源和存储资源,严重时可能会导致存储服务无法访问,影响服务质量。
3、如何优化分布式存储系统的分布策略和数据访问路径,是本领域技术人员需要解决的技术问题。
技术实现思路
1、本发明的目的是提供分布式存储方法、分布式存储系统及非易失性存储介质,用于优化分布式存储系统的分布策略和数据访问路径,提高分布式存储系统的存储性能。
2、为解决上述技术问题,本发明提供一种分布式存储方法,包括:
3、根据分布式存储系统中各存储节点的区域信息,确定所述分布式存储系统中存储区域两两之间的节点访问延迟;
4、将所述存储区域构建为环形存储结构,以使所述环形存储结构中,节点访问延迟越低的所述存储区域之间距离越近;
5、在将数据均衡存储于各所述存储节点后,按照所述环形存储架构的排列顺序,将各所述存储区域所存储的原数据备份至相邻的下一所述存储区域;
6、当监控到无法访问的故障存储节点时,将针对所述故障存储节点的访问路径切换至所述故障存储节点所在的所述存储区域的下一所述存储区域中对应的备份存储节点。
7、一方面,所述将数据均衡存储于各所述存储节点,包括:
8、根据算力评价指标、存储评价指标和网络评价指标计算各所述存储节点的存储能力评分;
9、根据待存储的数据总量与各所述存储节点的所述存储能力评分,确定各所述存储节点需存储数据的大小;
10、按照需存储数据的大小将所述数据存储于各所述存储节点。
11、另一方面,所述根据算力评价指标、存储评价指标和网络评价指标计算各所述存储节点的存储能力评分,包括:
12、自所述分布式存储系统选择一个所述存储节点为基准存储节点;
13、根据所述存储节点的算力评价分数与所述基准存储节点的算力评价分数之间的比值、所述存储节点的存储评价分数与所述基准存储节点的存储评价分数之间的比值以及所述存储节点的网络评价分数与所述基准存储节点的网络评价分数之间的比值计算得到所述存储节点的所述存储能力评分。
14、另一方面,所述根据待存储的数据总量与各所述存储节点的所述存储能力评分,确定各所述存储节点需存储数据的大小,包括:
15、将各所述待存储数据的大小进行求和,得到所述待存储的数据总量;
16、将各所述存储节点的所述存储能力评分进行求和,得到所述分布式存储系统的存储能力评分总值;
17、以所述待存储的数据总量与所述存储能力评分总值的比值为所述存储节点需存储数据的大小。
18、另一方面,所述按照需存储数据的大小将所述数据存储于各所述存储节点,包括:
19、按照需存储数据的大小将所述数据存入所述存储节点,以使存入所述存储节点的所述数据的数据总量大于所述存储节点需存储数据的大小,且若在存入所述存储节点的所述数据中去掉一个所述数据时所述数据总量小于或等于所述存储节点需存储数据的大小。
20、另一方面,还包括:
21、当存在所述存储区域的存储负载不满足预设负载均衡条件时,触发所述分布式存储系统的区域负载均衡处理任务,以使各所述存储区域均满足所述预设负载均衡条件;
22、其中,所述预设负载均衡条件为所述存储区域的存储负载大于各所述存储区域的平均存储负载且所述存储区域的存储负载小于或等于各所述存储区域的平均负载的预设倍数,所述预设倍数大于1。
23、另一方面,还包括:
24、监控所述分布式存储系统中的数据访问热度;
25、当监控到满足热点数据条件的热点数据时,将所述热点数据拷贝多份部署于所在的所述存储区域多个所述存储节点;
26、当接收到对所述热点数据的访问请求时,根据存储所述热点数据的所述存储节点的信息对所述热点数据进行分片并发访问。
27、另一方面,所述在将数据均衡存储于各所述存储节点后,按照所述环形存储架构的排列顺序,将各所述存储区域所存储的原数据备份至相邻的下一所述存储区域,包括:
28、自所述分布式存储系统选择一个所述存储节点为基准存储节点;
29、根据所述存储节点的算力评价分数与所述基准存储节点的算力评价分数之间的比值、所述存储节点的存储评价分数与所述基准存储节点的存储评价分数之间的比值以及所述存储节点的网络评价分数与所述基准存储节点的网络评价分数之间的比值计算得到所述存储节点的存储能力评分;
30、将各所述待存储数据的大小进行求和,得到所述待存储的数据总量;
31、将各所述存储节点的所述存储能力评分进行求和,得到所述分布式存储系统的存储能力评分总值;
32、以所述待存储的数据总量与所述存储能力评分总值的比值为所述存储节点需存储数据的大小;
33、按照需存储数据的大小将所述数据存入所述存储节点,以使存入所述存储节点的所述数据的数据总量大于所述存储节点需存储数据的大小,且若在存入所述存储节点的所述数据中去掉一个所述数据时所述数据总量小于或等于所述存储节点需存储数据的大小;
34、分布式存储方法还包括:
35、监控所述分布式存储系统中的数据访问热度;
36、当监控到满足热点数据条件的热点数据时,将所述热点数据拷贝多份部署于所在的所述存储区域多个所述存储节点;
37、当接收到对所述热点数据的访问请求时,根据存储所述热点数据的所述存储节点的信息对所述热点数据进行分片并发访问。
38、为解决上述技术问题,本发明还提供一种一种分布式存储装置,包括:
39、模型创建模块,用于创建和维护分布式存储系统的模型库;
40、数据初始化模块,用于初始化所述模型库中的信息;
41、智能分配模块,用于根据所述模型库记载的所述分布式存储系统中各存储节点的区域信息,确定所述分布式存储系统中存储区域两两之间的节点访问延迟;将所述存储区域构建为环形存储结构,以使所述环形存储结构中,节点访问延迟越低的所述存储区域之间距离越近;在将数据均衡存储于各所述存储节点后,按照所述环形存储架构的排列顺序,将各所述存储区域所存储的原数据备份至相邻的下一所述存储区域;
42、实时监控模块,用于当监控到无法访问的故障存储节点时,将针对所述故障存储节点的访问路径切换至所述故障存储节点所在的所述存储区域的下一所述存储区域中对应的备份存储节点。
43、为解决上述技术问题,本发明还提供一种分布式存储系统,包括多个存储节点;
44、所述存储节点分属于多个存储区域,各所述存储区域构建为环形存储结构;所述环形存储结构中,节点访问延迟越低的所述存储区域之间距离越近;节点访问延迟根据所述存储节点的区域信息确定;
45、所述分布式存储系统的数据均衡存储于各所述存储节点,且按照所述环形存储架构的排列顺序,所述存储区域所存储的原数据备份至下一所述存储区域,以在存在无法访问的故障存储节点时,将针对所述故障存储节点的访问路径切换至所述故障存储节点所在的所述存储区域的下一所述存储区域中对应的备份存储节点。
46、为解决上述技术问题,本发明还提供一种非易失性存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述分布式存储方法的步骤。
47、本发明所提供的分布式存储方法,有益效果在于根据分布式存储系统中存储区域两两之间的节点访问延迟将分布式存储系统中的存储区域构建为环形存储结构,以使环形存储结构中,节点访问延迟越低的存储区域之间距离越近,从而在将数据均衡存储于各存储节点后,按照环形存储架构的排列顺序,将各存储区域所存储的原数据备份至相邻的下一存储区域,当监控到无法访问的故障存储节点时,将针对故障存储节点的访问路径切换至故障存储节点所在的存储区域的下一存储区域中对应的备份存储节点,相较于对所有数据采用单节点部署、多节点备份的方案显著降低了容灾备份成本,且在故障切换时可以平滑切换到下一区域的节点进行访问,减少了对数据表的访问及变更,且对用户来说访问延迟变化较小,实现无感知故障切换,从而从数据可靠性和资源利用优化的角度提高了分布式存储系统的存储性能。
48、本发明还提供一种分布式存储系统及非易失性存储介质,具有上述有益效果,在此不再赘述。
1.一种分布式存储方法,其特征在于,包括:
2.根据权利要求1所述的分布式存储方法,其特征在于,所述将数据均衡存储于各所述存储节点,包括:
3.根据权利要求2所述的分布式存储方法,其特征在于,所述根据算力评价指标、存储评价指标和网络评价指标计算各所述存储节点的存储能力评分,包括:
4.根据权利要求3所述的分布式存储方法,其特征在于,所述根据待存储的数据总量与各所述存储节点的所述存储能力评分,确定各所述存储节点需存储数据的大小,包括:
5.根据权利要求2所述的分布式存储方法,其特征在于,所述按照需存储数据的大小将所述数据存储于各所述存储节点,包括:
6.根据权利要求1所述的分布式存储方法,其特征在于,还包括:
7.根据权利要求1所述的分布式存储方法,其特征在于,还包括:
8.根据权利要求1所述的分布式存储方法,其特征在于,所述在将数据均衡存储于各所述存储节点后,按照所述环形存储架构的排列顺序,将各所述存储区域所存储的原数据备份至相邻的下一所述存储区域,包括:
9.一种分布式存储装置,其特征在于,包括:
10.一种分布式存储系统,其特征在于,包括多个存储节点;
11.一种非易失性存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述分布式存储方法的步骤。