一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分布式存储模式控制方法、装置、设备以及存储介质与流程

2022-04-27 08:58:32 来源:中国专利 TAG:


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.图1为本发明实施例所提供的一种分布式存储模式控制方法的流程图;
30.图2为本发明实施例所提供的一种数据存储系统的整体架构图;
31.图3为本发明实施例所提供的一种存储模式设置的原理示意图;
32.图4为本发明实施例所提供的一种近期状态判别的算法流程图;
33.图5为本发明实施例所提供的一种长期趋势预测的流程图;
34.图6为本发明实施例所提供的一种综合决策模块的决策流程图;
35.图7为本发明实施例所提供的一种决策执行转化模块的算法流程图;
36.图8为本发明实施例所提供的一种分布式存储模式控制装置的结构示意图;
37.图9为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
39.应用上云,实现云化部署已成为大势所趋。云存储是云计算集群的核心性能,云计算集群的存储读写能力,对集群性能有着至关重要的影响。现有的分布式对象存储能够以传统的副本模式或编码模式存储非结构化数据。但是这两种方式均有各自的局限性。
40.其中,副本模式,也称为纯副本模式,是一种普遍应用的存储模式,可以提供一定的数据容灾能力,但是此种模式占用的存储资源是倍增的,这会带来很大的云存储开销,导致存储成本越来越高。而编码模式,也称为纯编码模式,多见于分布式文件存储系统,比如ceph(一个统一的分布式存储系统)等;通过编码模式实现数据容灾,可以节省一定的存储空间,但是在数据读取时需要进行数据重构,计算资源消耗较大;并且,发生数据损失而进行重构时,节点会被降级导致响应缓慢,不如副本模式响应快。
41.相关技术中,存储方式通常由运维人员设定,之后很少改动。但是,根据“二八原理”与实际观察情况,分布式对象存储中只有一部分用户数据是读写活跃的数据,大部分数据长期处于睡眠状态,而以副本方式存储不断增多的长期处于睡眠状态的数据,会造成存储资源利用效率下降,导致资源浪费。
42.基于上述内容,为了实现提高存储空间的使用效率的同时,兼顾存储数据的读写性能,本发明实施例提供了一种分布式存储模式控制方法、装置、设备以及存储介质。
43.下面首先对本发明实施例所提供的一种分布式存储模式控制方法进行介绍。
44.本发明实施例所提供的一种分布式存储模式控制方法可以应用于电子设备。示例性的,在一种实现方式中,该电子设备可以为独立于存储集群中的主控制节点的设备,并且,与存储集群中的主控制节点相通信。该种实现方式中,电子设备与主控制节点相独立,
物理上与集群存储层分离,不会占用存储集群的机器资源。并且,在具体应用中,该电子设备可以为服务器,也可以为终端设备,例如:智能手机、平板电脑、台式电脑,这都是合理的。
45.示例性的,在另一种实现方式中,该电子设备也可以为存储集群中的主控制节点。该种实现方式中,主控制节点在具有针对存储集群中的各个存储节点的管理功能的前提下,还可以实现对于用户数据的存储模式的智能控制。
46.具体而言,该分布式存储模式控制方法的执行主体可以为分布式存储模式控制装置。示例性的,当该分布式存储模式控制方法应用于主控制节点时,该分布式存储模式控制装置可以为运行于主控制节点中的计算机程序,该计算机程序可以用于实现存储模式的切换控制。示例性的,当该分布式存储模式控制方法应用于与主控节点相互独立的终端设备时,该分布式存储模式控制装置可以为运行于终端设备中的功能软件,例如:存储模式控制软件。示例性的,当该分布式存储模式控制方法应用于与主控制节点相互独立的服务器时,该分布式存储模式控制装置可以为运行于服务器中的计算机程序,该计算机程序可以用于实现存储模式的切换控制。可以理解的是,无论该分布式存储模式控制方法应用于与主控节点相互独立的终端设备还是服务器,该分布式存储模式控制装置均属于单独部署在一设备中,物理上与集群的存储层分离,即与存储集群中的存储节点分离,从而不占用存储集群的机器资源。
47.需要说明的是,本发明实施例所提供的存储层,是分布式对象存储集群存储数据的核心场所,可实现对大规模图片、视频、语音等非结构化数据的分布式存储。本发明实施例提供三种存储模式,供运维人员根据用户需求进行选择、配置:
48.存储模式一:副本模式,此模式下,数据始终以副本模式存储;其中,副本数量,本发明实施例并不做限定,例如:副本模式可以为三副本的副本模式。
49.存储模式二:编码模式,其中,编码模式可以为纠删码模式,纠删码模式的编码过程:通过将原始数据构成的矩阵与可逆变换矩阵相乘,获得冗余矩阵,将冗余矩阵转化为冗余数据块,冗余数据块与原始数据块组合在一起,共同实现对原始数据的冗余备份;
50.存储模式三:编码与副本相结合的模式,也称为编码-副本快速响应模式,数据以编码模式存储的同时,重构一个原始数据的副本存储,以确保高频率的用户访问读写不会因突发的数据读写异常,例如:数据传输中断或数据损失,而出现迟滞或终断。
51.其中,本发明实施例所提供的一种分布式存储模式控制方法,可以包括如下步骤:
52.确定待进行存储模式控制的目标用户数据;其中,所述目标用户数据为存储集群中所存储的用户数据,所述存储模式的种类包括编码模式、副本模式,以及编码与副本相结合的模式;
53.利用所述目标用户数据在第一历史时段内的读写状态信息,识别所述目标用户数据对应的第一存储模式;其中,所述第一存储模式为在所述第一历史时段内与所述目标用户数据相适配的存储模式;
54.利用所述目标用户数据在第二历史时段内的读写状态信息,预测所述目标用户数据对应的第二存储模式;其中,所述第二存储模式为在当前时间之后的指定时段内与所述目标用户数据相适配的存储模式;
55.判断所述第一存储模式和第二存储模式是否相同,得到判断结果;
56.基于所述判断结果,确定所述目标用户数据待适配的目标存储模式;
57.若所述目标存储模式与所述目标用户数据的当前存储模式不同,基于所述目标存储模式,对所述目标用户数据进行存储模式转换处理。
58.本发明实施例所提供的方案中,利用目标用户数据在第一历史时段内的读写状态信息,识别目标用户数据对应的第一存储模式;接着,利用目标用户数据在第二历史时段内的读写状态信息,预测目标用户数据对应的第二存储模式;通过判断该第一存储模式和第二存储模式是否相同,得到判断结果;基于该判断结果,确定目标用户数据待适配的目标存储模式;若目标存储模式与目标用户数据的当前存储模式不同,向主控制节点发送存储模式转换指令,以使该主控制节点在接收到存储模式转换指令后,将用户数据的存储模式转换为目标存储模式。可见,本方案中,基于用户数据的读写状态信息,动态地对存储模式进行控制,即智能切换存储模式,这样,可以缓解由于存储模式与用户数据的访问情况不匹配,所带来的存储空间浪费或读写性能无法被满足的问题。因此,通过本方案,可以提高存储空间的使用效率并兼顾存储数据的读写性能。
59.下面结合附图,对本发明实施例所提供的分布式存储模式控制方法进行介绍。
60.如图1所示,本发明实施例所提供的分布式存储模式控制方法,应用于电子设备;所述方法可以包括步骤s101-s106:
61.s101,确定待进行存储模式控制的目标用户数据;其中,该目标用户数据为存储集群中所存储的用户数据,该存储模式的种类包括编码模式、副本模式,以及编码与副本相结合的模式;
62.本实施例中,该目标用户数据可以是存储的任一用户数据,确定该目标用户数据的方式可以是:按照存储集群中各用户数据的存储时间,依次确定各用户数据作为目标用户数据,或者,按照存储集群中各用户数据的重要程度,依次确定各用户数据作为目标用户数据,等等,从而选取到当前需要进行存储模式控制的目标用户数据。另外,本发明并不对目标用户数据的具体确定方式进行限定。
63.其中,存储集群中所存储的用户数据,其初始的存储模式可以采用默认配置的存储模式,例如:副本模式;也可以由运维人员根据用户需求,设定所需要的存储模式。另外,针对初始的存储模式,运维人员的设置权重可以高于默认配置的权重,若运维人员不进行主动设置,则按默认配置的存储模式来作为用户数据初始的存储模式。
64.示例性的,在一种具体的实现方式中,该目标用户数据初始的存储模式可以为按照系统默认存储规则所设置的存储模式;其中,该系统默认存储规则包括:
65.若目标用户数据的安全等级为第一级别,初始的存储模式为副本模式;若目标用户数据的安全等级为第二级别,初始的存储模式为编码与副本相结合的模式;若目标用户的安全等级为第三级别,初始的存储模式为编码模式;其中,所述第一级别高于所述第二级别,所述第二级别高于第三级别。运维人员可以根据客户需求及数据的实际产生及应用场景,综合判断数据存储所需要的安全等级需求。可以理解的是,上述的“第一级别”“第二级别”和“第三级别”仅仅用于从命名上区分不同的安全等级,在具体应用中,“第一级别”“第二级别”和“第三级别”所采用的具体命名依次可以为“高级”“中级”“低级”,当然并不局限于此。
66.另外,需要说明的是,本实施例中的分布式存储模式控制方法中,针对目标用户数据的存储模式控制,可以周期性执行,在进入每一周期时,可以执行s101-s106。
67.s102,利用该目标用户数据在第一历史时段内的读写状态信息,识别该目标用户数据对应的第一存储模式;其中,该第一存储模式为在该第一历史时段内与该目标用户数据相适配的存储模式;
68.其中,该读写状态信息可以包括:表征发生读写的频率的信息,此时,该读写状态信息可以为每个单位时长内的读写频率,例如,每天的读写频率;当然,读写状态信息并不局限于上述的关于读写的频率的信息,例如:读写状态信息可以包括:读写的数据量的信息,这也是合理的。该第一历史时间段可以为以当前时间点为起点,某个近期的历史时间段,例如:前一周、前三周、前五周,等等。并且,第一存储模式可以是:副本模式、编码模式或编码与副本相结合的模式,通过对目标用户数据在第一历史时段内的读写状态信息进行分析,识别出在第一历史时段内与该目标用户数据相适配的存储模式,作为第一存储模式。
69.可以理解的是,由于目标用户数据在第一历史时间段内的读写状态信息,表征了该第一历史时间段内该目标用户数据发生的读写状态,因此,可以通过对该目标用户数据在第一历史时间段内的读写状态信息进行分析,识别出在该第一历史时间段内与该目标用户数据的读写状态相适配的存储模式。
70.示例性的,若该第一历史时间段内读写频率较高,则与该目标用户数据近期读写状态相适配的存储模式可以为副本模式,以满足读写响应快的需要;若该第一历史时间段内读写频率较低,则与该目标用户数据近期读写状态相适配的存储模式可以为编码模式,以满足节省存储空间的需要;若该第一历史时间段内的读写频率适中,则与该目标用户数据近期读写状态相适配的存储模式可以为编码与读本相结合的存储模式,以确保高频率的用户访问读写不会因突发的数据损失而出现迟滞或终断。
71.需要说明的是,该目标用户数据在第一历史时段内的读写状态信息可以是从该目标用户数据的历史日志信息中获取,具体的获取方式,本发明实施例对此不做限定。
72.s103,利用该目标用户数据在第二历史时段内的读写状态信息,预测该目标用户数据对应的第二存储模式;其中,该第二存储模式为在当前时间之后的指定时段内与该目标用户数据相适配的存储模式;
73.其中,第二历史时段可以为以当前时间点为起点,某个长期的历史时间段,例如:前半年、前一年,等等。第二存储模式可以是:副本模式、编码模式或编码与副本相结合的模式,通过对目标用户数据在第二历史时段内的读写状态信息进行分析,预测出在当前时间之后的指定时段内与该目标用户数据相适配的存储模式,作为第二存储模式。示例性的,该指定时段可以是与当前时间邻近的一个时段,例如:当前时间之后的一周、两周,等等。
74.可以理解的是,由于目标用户数据在第二历史时间段内的读写状态信息,表征了该第二历史时间段内该目标用户数据发生的读写状态,通过对该目标用户数据在第二历史时间段内的读写状态信息进行分析,可以挖掘出该目标用户数据在第二历史时间段内的读写状态变化的规律,从而基于该读写状态变化的规律,预测出在当前时间之后的指定时段内与该目标用户数据的读写状态相适配的存储模式。
75.可选地,在一种实现方式中,利用该目标用户数据在第二历史时段内的读写状态信息,预测该目标用户数据对应的第二存储模式的过程,可以是:将该目标用户数据在第二历史时段内的读写状态信息,输入到预先训练的模式预测模型中,得到模式预测结果,作为该目标用户数据对应的第二存储模式;
76.其中,该模式预测模型是基于样本读写状态信息,以及对应的标签值所训练得到的模型,所述样本读写状态信息为:样本用户数据在样本时段内的读写状态信息,所述标签值为在所述样本时段之后的所述指定时段内,与所述样本用户数据相适配的存储模式。另外,该样本时段的时长可以与前述的第二历史时段的时长相同,使得训练出的模式预测模型可以对该第二历史时段内的读写状态信息进行预测。
77.示例性的,该模式预测模型可以为用于实现分类的机器学习模型,例如:深度神经网络模型,该样本时段内的读写状态信息可以是:样本用户数据在前n-1年-前n年内的读写频率,其中,n为任意的正整数;样本数据的标签值,为在该样本时段之后的一周内,该样本用户数据的存储模式的真值。该模型的训练过程可以是:将该样本时段内的读写状态信息输入初始的深度神经网络模型,得到在该样本时段之后的一周内,与该样本用户数据相适配的存储模式的输出结果,通过最小化该输出结果与标签值的差异,调整该深度神经网络模型的参数,得到满足要求的模式预测模型。其中,输入至模型的样本读写状态信息的具体表征形式可以为向量形式,当然并不局限于此。
78.示例性的,该模式预测模型还可以为用于实现存储模式预测的数学模型,该样本时段内的读写状态信息可以是:样本用户数据在前n-1年-前n年内的读写频率,其中,n为任意的正整数;样本数据的标签值,为在该样本时段之后的一周内,该样本用户数据的存储模式的真值。该模型的训练过程可以是:建立模型的输出和输入之间的数学表达式,其中,模型的输入为样本时段内的读写状态信息,模型的输出为样本时段之后的一周内,与该样本用户数据相适配的存储模式的输出结果,通过将模型的输出结果与标签值进行比较,验证模型是否准确,基于模型的输出结果与标签值之间的误差,修改数学表达式中的参数,从而训练出符合要求的数学模型。
79.s104,判断该第一存储模式和第二存储模式是否相同,得到判断结果;
80.可以理解的是,若通过上述步骤得到的第一存储模式与第二存储模式相同,则说明该目标用户数据的近期读写频率与长期的读写频率规律相符合,此时认为预测的第二存储模式可靠。若第一存储模式与第二存储模式不同,则说明该目标用户数据的近期读写频率与长期的读写频率规律有明显区别,此时认为预测的第二存储模式不可靠。
81.s105,基于该判断结果,确定该目标用户数据待适配的目标存储模式;
82.本实施例中,目标存储模式为该目标用户数据待设置的存储模式,该目标存储模式可以是预测的第二存储模式,或者,该目标用户数据当前的存储模式。
83.示例性的,在一种具体的实现方式中,基于该判断结果,确定该目标用户数据待适配的目标存储模式,可以包括步骤a1-a2:
84.a1,若该判断结果表明该第一存储模式和第二存储模式不同,将该目标用户数据的当前存储模式,确定为该目标用户数据待适配的目标存储模式;
85.a2,若该判断结果表明该第一存储模式和第二存储模式相同,将该第二存储模式,确定为该目标用户数据待适配的目标存储模式。
86.可以理解的是,由于步骤s104的判断结果,表征该目标用户数据的近期读写频率与长期的读写频率规律是否符合,即预测的第二存储模式是否可靠,因此,可以根据判断结果,将第二存储模式或者该目标用户数据的当前存储模式作为目标存储模式。
87.s106,若该目标存储模式与该目标用户数据的当前存储模式不同,基于该目标存
储模式,对该目标用户数据进行存储模式转换处理。
88.可以理解的是,用户数据在存储过程中,会发生读写频率的变化,可能存在某段时间读写频率高,而另段时间读写频率低的情况。若以固定的存储模式存储用户数据,可能会导致用户数据的存储模式与用户数据的读写频率不匹配的情况,从而带来存储空间的浪费、读写性能无法被满足的问题。因此,在通过步骤s105确定了目标存储模式后,若该目标存储模式与该目标用户数据的当前存储模式不同,可以将用户数据的存储模式转换为目标存储模式,以使得用户数据的存储模式与用户数据的读写状态相匹配。
89.可选的,在一种实现方式中,若该分布式存储模式控制方法所应用于的电子设备为与主控制节点相互独立的设备,那么,基于该目标存储模式,对该目标用户数据进行存储模式转换处理,可以包括:
90.向主控制节点发送关于目标用户数据的、携带有该目标存储模式的存储模式转换指令,以使该主控制节点在接收到该存储模式转换指令后,将该目标用户数据的存储模式转换为目标存储模式。
91.可选的,在另一种实现方式中,若该分布式存储模式控制方法所应用于的电子设备为主控制节点,那么,基于该目标存储模式,对该目标用户数据进行存储模式转换处理,可以包括:
92.将目标用户数据的存储模式转换为该目标存储模式。
93.可以理解的是,由于用户数据存储在存储集群中的各个存储节点上,通过存储集群中的主控制节点控制用户数据的存储模式,因此,若该分布式存储模式控制方法所应用于的电子设备为与主控制节点相互独立的设备,则可以通过与该主控制节点相通信的接口,向该主控制节点发送存储模式转换指令,以使该主控制节点在接收到该存储模式转换指令后,将该目标用户数据的存储模式转换为目标存储模式;若该分布式存储模式控制方法所应用于的电子设备为主控制节点,那么,可以直接将目标用户数据的存储模式转换为该目标存储模式。
94.另外,为了方便理解方案,下述以不同的目标存储模式作为示例,介绍下将该目标用户数据的存储模式转换为该目标存储模式的具体实现方式。
95.示例性的,若目标用户数据的当前存储模式为副本模式,目标存储模式为编码模式,则将该目标用户数据的存储模式转换为目标存储模式的过程可以是:将目标用户数据的数据矩阵与编码矩阵进行点积运算生成冗余矩阵,将冗余矩阵与数据矩阵进行拼接并分块存储,从而转化为编码模式的存储方式。
96.示例性的,若目标用户数据的当前存储模式为编码模式,目标存储模式为副本模式,则可以通过数据重构将该目标用户数据的存储模式转换为目标存储模式,具体转换过程可以是:将以编码矩阵和数据矩阵存储的数据块进行拼接,将拼接后的矩阵与上述编码矩阵的逆矩阵进行点积运算,得到目标用户数据的原始数据,然后生成该目标用户数据的副本。
97.需要说明的是,在将目标用户数据的存储模式转换为目标存储模式后,该目标用户数据的原存储模式下的存储数据可以被删除。
98.当然,上述展示的存储模式的具体转换过程仅仅作为示例,本发明实施例对该存储模式的转换过程不做限定。
99.本实施例所提供的方案中,利用目标用户数据在第一历史时段内的读写状态信息,识别目标用户数据对应的第一存储模式;接着,利用目标用户数据在第二历史时段内的读写状态信息,预测目标用户数据对应的第二存储模式;通过判断该第一存储模式和第二存储模式是否相同,得到判断结果;基于该判断结果,确定目标用户数据待适配的目标存储模式;若目标存储模式与目标用户数据的当前存储模式不同,向主控制节点发送存储模式转换指令,以使该主控制节点在接收到存储模式转换指令后,将用户数据的存储模式转换为目标存储模式。可见,本方案中,基于用户数据的读写状态信息,动态地对存储模式进行控制,即智能切换存储模式,这样,可以缓解由于存储模式与用户数据的访问情况不匹配,所带来的存储空间浪费或读写性能无法被满足的问题。因此,通过本方案,可以提高存储空间的使用效率并兼顾存储数据的读写性能。
100.可选的,在一种实现方式中,利用该目标用户数据在第一历史时段内的读写状态信息,识别该目标用户数据对应的第一存储模式,可以包括步骤b1-b5:
101.b1,确定该目标用户数据在各个目标子时段内的读写状态信息;其中,该各个目标子时段为第一历史时段所包括的各个子时段;其中,各个目标子时段可以是第一历史时段进行均匀分割得到的各个子时段;
102.示例性的,若第一历史时段的时长为三周,则可以将其均匀分割分为三个目标子时段,每个目标子时段的时长为一周。
103.b2,针对每一目标子时段,基于该目标用户数据在该目标子时段内的读写状态信息,计算该目标子时段内、关于读写状态的评判指标值;
104.其中,该读写频率的评判指标值可以为用于评判目标用户数据在该目标子时段内读写状态的指标值。若读写状态信息包括表征发生读写的频率的信息,那么,评判指标值可以是该目标子时段内读写频率数据的平均值、中位数,等等。并且,本发明实施例对该评判指标值的具体形式不做限定。
105.示例性的,在一种具体的实现方式中,若目标子时段为一周,该目标子时段内的评判指标值可以为一周内的读写频率的平均值。示例性的,在另一种具体的实现方式中,若目标子时段为一周,该目标子时段内的评判指标值可以为该一周内各天的读写频率的中位数。
106.b3,若所确定出的评判指标值中,符合第一条件的评判指标值的数量大于目标数量,则确定该目标用户数据对应的第一存储模式为编码模式;其中,该第一条件为小于第一预设阈值,该目标数量为所确定出的评判指标值的数量的一半;
107.本实现方式中,第一预设阈值可以设置为目标用户数据读写频率的一个较低的数值。可以理解的是,在通过步骤b2计算出各个目标子时段内、关于读写状态的评判指标值后,若该多个指标值中,有多于半数的评判指标值小于第一预设阈值,则该第一历史时段内目标用户数据的读写频率较低,此时,确定该目标用户数据对应的第一存储模式为编码模式,以节约存储空间。
108.b4,若确定出的评判指标值中,符合第二条件的评判指标值的数量大于所述目标数量,则确定该目标用户数据对应的第一存储模式为副本模式;该第二条件为大于第二预设阈值,该第二预设阈值大于该第一预设阈值;
109.本实现方式中,第二预设阈值可以设置为目标用户数据读写频率的一个较高的数
值。可以理解的是,在通过步骤b2计算出各个目标子时段内、关于读写状态的评判指标值后,若该多个指标值中,有多于半数的评判指标值大于该第二预设阈值,则该第一历史时段内目标用户数据的读写频率较高,此时,确定该目标用户数据对应的第一存储模式为副本模式,以提升数据的读写性能。
110.b5,否则,确定该目标用户数据对应的第一存储模式为编码与副本相结合的模式。
111.也就是,若该第一历史时段内目标用户数据的读写频率处于适中的状态,确定第一存储模式为编码与副本相结合的存储模式。可以理解的是,编码与副本相结合的存储模式在兼顾读写性能与存储空间利用率的同时,可以确保高频率的用户访问读写,不会因突发的数据损失而出现迟滞或终断。
112.可见,通过本实现方式,可以通过第一历史时段内用户数据的读写状态信息,快速有效地确定与该第一历史时段内目标用户数据相适配的第一存储模式。
113.为了更好的阐述本发明实施例的内容,下面结合图2-图7对本发明实施例的内容进行介绍。
114.图2展示了包含多存储模式智能控制系统的数据存储系统的整体架构图。如图2所示,应用侧客户端通过分布式存储集群网关与分布式对象存储系统进行挂载,实现数据存储和访问的功能。其中,分布式对象存储系统中包括分布式存储层和多存储模式智能控制系统,分布式存储层为用于存储用户数据的存储层,在存储层中,为用户创建专门的存储池pool,并设定好相关参数及资源配置,用户数据的存储模式是针对数据存储池pool来设定的。多存储模式智能控制系统为实现上述实施例中分布式存储模式控制方法的系统,其由读写状态信息采集模块和智能控制系统组成。具体而言,智能控制系统即为实现本发明实施例上述的分布式存储模式控制方法的电子设备。
115.其中,读写状态信息采集模块可以部署在存储层,用于采集各个存储模式下的用户数据的读写状态信息,并通过通信接口将采集的读写状态信息传送给智能控制系统,供近期状态判别模块及长期趋势预测模块进行分析。
116.智能控制系统可以单独部署在一台服务器上,物理上与存储层分离。其用于结合存储层中各个用户数据的历史及实时读写状态信息,进行近期状态判别与长期趋势预测,从而做出针对各个用户数据存储的最佳存储模式的决策,并通过决策执行转化模块将综合决策模块的决策信息转化为具体的实施步骤。最终通过存储模式控制模块,按照具体的实施步骤,生成具体的执行指令,并通过通信接口传送给分布式存储层,即传送给存储集群中的主控制节点,使之执行相应的存储模式的切换操作,从而,实现存储模式的智能切换。
117.在分布式存储层中,通过初始化存储模式设置模块,设置用户数据存储的初始存储模式。如图3所示,初始存储模式可以采用系统默认配置的存储模式,例如:副本模式,也可以由运维人员根据用户需求设定所需要的存储模式。其中,可供运维人员根据用户需求进行选择、配置的存储模式,可以包括存储模式一、存储模式二、存储模式三,分别为:副本模式、编码模式,编码-副本快速响应模式。
118.其中,运维人员的设置权重高于系统默认配置的权重。运维人员根据客户需求及数据的实际产生及应用场景,综合判断数据存储所需要的安全等级需求,系统中安全等级设置为三个等级:高级(对应于上文中的第一级别)、中级(对应于上文中的第二级别)和一般(对应于上文中的第三级别)。其中,“高级”对应的初始存储模式为:存储模式一,即副本
模式;“一般”对应的初始存储模式为:存储模式二,即编码模式;“中级”对应的初始存储模式为:存储模式三,即编码-副本快速响应模式,对应于上文中的编码与副本相结合的存储模式。如果运维人员此处不进行主动设置,系统将按系统默认配置的存储模式来作为数据存储的初始存储模式。之后将由智能控制系统智能化决策合适的存储模式,并自动进行存储模式的转换。
119.图4展示了近期状态判别模块的一个具体算法的判别流程图,如图4所示,包括如下步骤:
120.(1)从存储读写状态信息采集模块获取用户数据存储的前三周读写频率(对应于上文中的第一历史时段内的读写状态信息),将该前三周读写频率中每周的读写频率平均值(对应于上文中的评判指标值)作为输入,即x={x1,x2,x3};
121.(2)判断输入x中是否有两个或多于两个数据大于模式阈值m2(对应于上文中的第二预设阈值),若是,输出mode1=t1,即存储模式mode1(对应于上文中的第一存储模式)为存储模式一;若否,执行步骤(3);
122.(3)判断输入x中是否有两个或多于两个数据小于模式阈值m1(对应于上文中的第一预设阈值),若是,输出mode1=t2,即存储模式mode1为存储模式二;
123.(4)否则,输入x中有两个或多于两个数据大于模式阈值m1且小于模式阈值m2,输出mode1=t3,即存储模式mode1为存储模式三。
124.图5展示了长期趋势预测模块进行预测的一个流程示意图。如图5所示,包括如下步骤:
125.(1)从存储读写状态信息采集模块中获取用户数据过去一年的读写频率(对应于上文中的第二历史时段内的读写状态信息),作为输入数据;
126.(2)接着,将该输入数据输入长期趋势预测模型(对应于上文中的模式预测模型);其中,该长期趋势预测模型可以为基于过去一年内用户数据的读写频率进行数学建模,挖掘出该用户数据在过去一年内读写频率的变化规律,从而建立的预测模型;
127.(3)模型输出结果为与当前时间之后一周内的读写频率相匹配的存储模式,即mode2(对应于上文中的第二存储模式)。
128.图6展示了“综合决策模块”进行决策的一种流程图。如图6所示,综合决策模块的核心算法逻辑如下:
129.输入:近期状态判别模块的输出值mode1、长期趋势预测模块的输出值mode2;
130.核心算法公式:
131.输出:待转换的存储模式mode,(对应于上文中的目标存储模式)。
132.mode1与mode2进行异或运算,如果y
mode
的值为1,说明近期状态判别模块的输出值mode1反映出的最近三周存储模式,与根据过去一年内用户数据存储的读写频率规律有明显区别,该种情况下继续保持原有模式,等到下一判别周期再做判断,此时输出mode=0;
133.如果y
mode
的值为0,说明近期状态判别模块与长期趋势预测模块对未来一周的存储模式判别结果相一致。反映出最近三周,用户数据存储的读写频率与过去一年内的使用规律基本相符合,此时对下一周的存储模式的判断较为可信。此时输出为:mode=mode1=mode2,其值为三种存储模式t1、t2、t3中的一个,该种情况下可以进行存储模式的切换,切换到相应的t1、t2或t3。
134.图7展示了决策执行转换模块进行决策转换的一种流程图。如图7所示,决策执行转化模块的内部执行的算法逻辑如下:
135.输入:待转换的存储模式mode和原存储模式mode0;其中,mode={0,t1,t2,t3};
136.mode=0时,表示当前的用户数据保持原存储模式不变;
137.当接收到综合决策模块的输出:mode=t1、t2、t3中的某一个值时,会与当前用户数据的原存储模式mode0进行对比:
138.当mode0=mode时,存储模式不发生改变;
139.当mode0≠mode时,原存储模式变更为当前mode的值所对应存储模式。
140.为了更加清楚的理解本发明实施例的内容,下面结合一个具体示例对存储模式控制的具体实现步骤进行介绍。
141.本示例中,分布式存储系统采用分布式对象存储,例如:分布式文件存储系统ceph。存储模式控制的具体实现步骤如下:
142.步骤1:完成客户端与分布式存储系统的挂载。在存储层,为用户创建专门的存储池pool,并设定好相关参数及资源配置,用户数据的存储模式针对数据存储池pool进行设定。
143.步骤2:“初始化存储模式设置模块”设置用户数据存储池pool的初始存储模式。
144.步骤3:采集各个存储模式下的数据存储池pool的读写状态信息,并通过通信接口传送给“存储模式决策与执行系统”,供“近期状态判别模块”及“长期趋势预测模块”进行分析。
145.步骤:4:“近期状态判别模块”根据获取的分布式存储层中各个数据存储池pool的历史读写状态数据,统计、提取出各个pool前三周的存储模式变化情况。“长期趋势预测模块”基于分布式存储层的各个数据存储池的历史状态数据,通过数学建模生成各个数据存储池pool的读写状态预测模型,对当前以后一周的数据读写情况进行预测。
146.步骤5:基于“近期状态判别模块”与“长期趋势预测模块”,做出针对各个数据存储池pool最佳存储模式的决策。
147.步骤6:通过“决策执行转化模块”将“综合决策模块”的决策信息转化为具体的实施步骤。
148.步骤7:通过“存储模式控制模块”,按照实施步骤,生成具体的执行指令,并通过通信接口传送给存储集群的主控制节点,使其执行相应命令,完成存储模式的切换。
149.可见,通过本方案,可以在三种存储模式之间进行自动切换,以实现在保障较高数据容灾备份安全性的同时最大程度的节约存储空间,即提高存储空间的使用效率并兼顾存储数据的读写性能;另外,通过本方案,还具有如下优势:
150.通过设置编码与副本相结合的存储模式,在编码数据块损坏超过容灾冗余量的情况下,由于存在副本数据,用户读写亦不受影响,做到客户无感知,提升用户体验;通过独立部署存储模式控制系统,该系统与分布式存储集群的主控制节点相通信,发送指令即可操作用户数据存储模式的转换,同时,运维人员为分布式存储集群采取增加读写缓存来提升读写速率等提升性能的操作,不受该系统的影响;通过存储模式控制系统与原分布式存储集群存储性能解耦合,在增加原分布式存储集群智能化属性的同时,不影响原分布式存储集群的数据一致性。
151.相应于上述方法的实施例,本发明实施例还提供了一种分布式存储模式控制装置,应用于电子设备,如图8所示,所述装置包括:
152.第一确定模块810,用于确定待进行存储模式控制的目标用户数据;其中,所述目标用户数据为存储集群中所存储的用户数据,所述存储模式的种类包括编码模式、副本模式,以及编码与副本相结合的模式;
153.识别模块820,用于利用所述目标用户数据在第一历史时段内的读写状态信息,识别所述目标用户数据对应的第一存储模式;其中,所述第一存储模式为在所述第一历史时段内与所述目标用户数据相适配的存储模式;
154.预测模块830,用于利用所述目标用户数据在第二历史时段内的读写状态信息,预测所述目标用户数据对应的第二存储模式;其中,所述第二存储模式为在当前时间之后的指定时段内与所述目标用户数据相适配的存储模式;
155.判断模块840,用于判断所述第一存储模式和第二存储模式是否相同,得到判断结果;
156.第二确定模块850,用于基于所述判断结果,确定所述目标用户数据待适配的目标存储模式;
157.转换模块860,用于若所述目标存储模式与所述目标用户数据的当前存储模式不同,基于所述目标存储模式,对所述目标用户数据进行存储模式转换处理。
158.可选地,所述电子设备与所述存储集群中的主控制节点相通信;所述转换模块具体用于:
159.若所述目标存储模式与所述目标用户数据的当前存储模式不同,向所述主控制节点发送关于所述目标用户数据的、携带有所述目标存储模式的存储模式转换指令,以使所述主控制节点在接收到所述存储模式转换指令后,将所述目标用户数据的存储模式转换为所述目标存储模式。
160.可选地,所述第二确定模块,包括:
161.第一判断子模块,用于若所述判断结果表明所述第一存储模式和第二存储模式不同,将所述目标用户数据的当前存储模式,确定为所述目标用户数据待适配的目标存储模式;
162.第二判断子模块,用于若所述判断结果表明所述第一存储模式和第二存储模式相同,将所述第二存储模式,确定为所述目标用户数据待适配的目标存储模式。
163.可选地,所述识别模块,包括:
164.确定子模块,用于确定所述目标用户数据在各个目标子时段内的读写状态信息;其中,所述各个目标子时段为第一历史时段所包括的各个子时段;
165.计算子模块,用于针对每一目标子时段,基于所述目标用户数据在该目标子时段内的读写状态信息,计算该目标子时段内、关于读写状态的评判指标值;
166.第一设定子模块,用于若所确定出的评判指标值中,符合第一条件的评判指标值的数量大于目标数量,则确定所述目标用户数据对应的第一存储模式为所述编码模式;其中,所述第一条件为小于第一预设阈值,所述目标数量为所确定出的评判指标值的数量的一半;
167.第二设定子模块,用于若确定出的评判指标值中,符合第二条件的评判指标值的
processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
187.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的分布式存储模式控制方法的步骤。
188.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的分布式存储模式控制方法。
189.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
190.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
191.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
192.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献