一种基于对象读写时延调整数据恢复速度的方法及装置与流程

文档序号:16467626发布日期:2019-01-02 22:52阅读:125来源:国知局
一种基于对象读写时延调整数据恢复速度的方法及装置与流程

本发明涉及分布式存储系统技术领域,更具体地说,涉及一种基于对象读写时延调整数据恢复速度的方法、装置、设备及计算机可读存储介质。



背景技术:

随着云计算技术的兴起和普及,分布式存储系统越来越开始受到业界的关注。在分布式存储系统中,如果出现数据损坏或者数据丢失,则需要由对应备份中获取数据实现数据恢复。通常为了避免数据丢失,需要尽快完成数据恢复和均衡,但是数据恢复通常会对分布式存储系统的性能造成一定的影响,进而可能会影响数据访问业务。

综上所述,现有技术中实现数据恢复的技术方案存在可能会对数据访问业务造成不良影响的问题。



技术实现要素:

本发明的目的是提供一种基于对象读写时延调整数据恢复速度的方法、装置、设备及计算机可读存储介质,能够解决现有技术中实现数据恢复的技术方案存在的可能会对数据访问业务造成不良影响的问题。

为了实现上述目的,本发明提供如下技术方案:

一种基于对象读写时延调整数据恢复速度的方法,包括:

接收数据恢复请求,确定所述分布式系统中的任一需要实现数据恢复的存储节点为目标节点,并按照预先设定的所述目标节点的数据恢复速度进行所述目标节点的数据恢复;

获取所述目标节点当前的对象读写时延,判断所述当前的对象读写时延是否大于预先设定的所述目标节点的时延阈值,如果是,则降低所述目标节点进行数据恢复的数据恢复速度,如果否,则确定无需改变所述目标节点进行数据恢复的数据恢复速度。

优选的,预先设定所述目标节点的时延阈值,包括:

确定所述目标节点的当前初始阈值为0;

对于存储有数据的目标节点,确定当前接收的与所述目标节点对应的读写请求为当前读写请求,处理当前读写请求并获取该当前读写请求的对象读写时延,确定当前读写请求的对象读写时延与当前初始阈值中较大值为当前初始阈值,并返回执行确定当前接收的与所述目标节点对应的读写请求为当前读写请求的步骤,直至当前初始阈值不再变化为止;

确定当前初始阈值与预先设定的小于1的调节因子的乘积为所述目标节点的时延阈值。

优选的,预先设定所述目标节点的数据恢复速度,包括:

基于所述分布式系统当前的繁忙程度确定所述分布式系统的集群数据恢复速度,将所述目标节点需恢复数据个数与所述分布式系统需恢复数据个数的比值乘以所述集群数据恢复速度得到所述目标节点的数据恢复速度;其中,所述分布式系统越繁忙对应的集群数据恢复速度越低。

优选的,获取所述目标节点当前的对象读写时延,包括:

获取所述目标节点提供的距离当前时刻最近一次的数据访问对应读写请求的对象读写时延为所述目标节点当前的对象读写时延。

优选的,降低所述目标节点进行数据恢复的数据恢复速度之后,还包括:

返回执行获取所述目标节点当前的对象读写时延的步骤。

优选的,确定无需改变所述目标节点进行数据恢复的数据恢复速度之后,还包括:

经过预设时间段后返回执行获取所述目标节点当前的对象读写时延的步骤,直至确定所述目标节点的数据恢复完成。

优选的,确定所述目标节点的数据恢复完成之后,还包括:

输出所述目标节点的数据恢复完成的信息。

一种基于对象读写时延调整数据恢复速度的装置,包括:

请求响应模块,用于:接收数据恢复请求,确定所述分布式系统中的任一需要实现数据恢复的存储节点为目标节点,并按照预先设定的所述目标节点的数据恢复速度进行所述目标节点的数据恢复;

速度调整模块,用于:获取所述目标节点当前的对象读写时延,判断所述当前的对象读写时延是否大于预先设定的所述目标节点的时延阈值,如果是,则降低所述目标节点进行数据恢复的数据恢复速度,如果否,则确定无需改变所述目标节点进行数据恢复的数据恢复速度。

一种基于对象读写时延调整数据恢复速度的设备,包括:

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

处理器,用于执行所述计算机程序时实现如上任一项所述基于对象读写时延调整数据恢复速度的方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述基于对象读写时延调整数据恢复速度的方法的步骤。

本发明提供了一种基于对象读写时延调整数据恢复速度的方法、装置、设备及计算机可读存储介质,其中该方法包括:接收数据恢复请求,确定所述分布式系统中的任一需要实现数据恢复的存储节点为目标节点,并按照预先设定的所述目标节点的数据恢复速度进行所述目标节点的数据恢复;获取所述目标节点当前的对象读写时延,判断所述当前的对象读写时延是否大于预先设定的所述目标节点的时延阈值,如果是,则降低所述目标节点进行数据恢复的数据恢复速度,如果否,则确定无需改变所述目标节点进行数据恢复的数据恢复速度。本申请公开的技术方案中,在进行目标节点的数据恢复时,按照预先设定的数据恢复速度进行数据恢复后,获取目标节点当前的对象读写时延,并通过该对象读写时延与预先设定的时延阈值的比对,确定目标节点提供的数据访问业务是否受到了数据恢复的不良影响,即如果目标节点当前的对象读写时延大于预先设定的目标节点的时延阈值,则说明对象读写时延太长,对数据读写请求的响应速度太慢,也即数据恢复对数据访问业务造成了不良影响,此时则降低目标节点的数据恢复速度,以降低数据恢复对数据访问业务造成的不良影响,否则则无需改变目标节点的数据恢复速度。由此,在数据恢复对数据访问业务造成不良影响时,通过降低数据恢复速度保证正常的数据访问业务,而在数据恢复对数据访问业务未造成不良影响时,通过保持较高的数据恢复速度保证数据可以快速实现恢复。

附图说明

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

图1为本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法的流程图;

图2为本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置的结构示意图。

具体实施方式

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

请参阅图1,其示出了本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法的流程图,可以包括:

s11:接收数据恢复请求,确定分布式系统中的任一需要实现数据恢复的存储节点为目标节点,并按照预先设定的目标节点的数据恢复速度进行目标节点的数据恢复。

本申请中分布式系统即为分布式存储系统的简称。需要说明的是,本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法的执行主语可以为对应的装置,而该装置可以设置于分布式系统中,因此,本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法的执行主语可以为分布式系统。在分布式系统状态正常,即能够正常为客户端提供数据访问业务的过程中,可以判断是否需要进行数据恢复,也即判断是否接收到数据恢复请求,如果是,则确定出目标节点并执行后续步骤,如果否,则经过预先设定的一段时间后或者实时判断是否需要进行数据恢复。本申请中的目标节点可以为需要实现数据恢复的且需要提供数据访问业务的任一存储节点,确定出目标节点之后,指示目标节点按照预先设定的数据恢复速度进行数据恢复,其中,预先设定目标节点的数据恢复速度中的预先设定指预先根据实际需要或者其他具体原则设定的,在此不作具体限定。另外需要说明的是,本申请中每个存储节点对应一个磁盘。

s12:获取目标节点当前的对象读写时延,判断当前的对象读写时延是否大于预先设定的目标节点的时延阈值,如果是,则降低目标节点进行数据恢复的数据恢复速度,如果否,则确定无需改变目标节点进行数据恢复的数据恢复速度。

在目标节点按照预先设定的数据恢复速度进行数据恢复之后,则获取目标节点当前的对象读写时延,需要说明的是,本申请中分布式系统中存储的数据以对象的形式进行存储,对象读写时延即为存储接收到数据读写请求的时刻至处理完成数据读写请求的时刻之间的时间段,而预先设定的目标节点的时延阈值中的预先设定指预先根据实际需要或者其他具体原则设定的,在此不作具体限定;如果目标节点当前的对象读写时延大于预先设定的目标节点的时延阈值,则说明对象读写时延太长,对数据读写请求的响应速度太慢,也即数据恢复对数据访问业务造成了不良影响,因此,降低目标节点进行数据恢复的数据恢复速度,以降低上述不良影响,如果目标节点当前的对象读写时延不大于预先设定的目标节点的时延阈值,则说明对象读写时延、对应的对数据读写请求的响应速度在可接受的范围内,也即数据恢复对数据访问业务并未造成明显的不良影响,因此无需改变目标节点的数据恢复速度。

本申请公开的技术方案中,在进行目标节点的数据恢复时,按照预先设定的数据恢复速度进行数据恢复后,获取目标节点当前的对象读写时延,并通过该对象读写时延与预先设定的时延阈值的比对,确定目标节点提供的数据访问业务是否受到了数据恢复的不良影响,即如果目标节点当前的对象读写时延大于预先设定的目标节点的时延阈值,则说明对象读写时延太长,对数据读写请求的响应速度太慢,也即数据恢复对数据访问业务造成了不良影响,此时则降低目标节点的数据恢复速度,以降低数据恢复对数据访问业务造成的不良影响,否则则无需改变目标节点的数据恢复速度。由此,在数据恢复对数据访问业务造成不良影响时,通过降低数据恢复速度保证正常的数据访问业务,而在数据恢复对数据访问业务未造成不良影响时,通过保持较高的数据恢复速度保证数据可以快速实现恢复。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法,预先设定目标节点的时延阈值,可以包括:

确定目标节点的当前初始阈值为0;

对于存储有数据的目标节点,确定当前接收的与目标节点对应的读写请求为当前读写请求,处理当前读写请求并获取该当前读写请求的对象读写时延,确定当前读写请求的对象读写时延与当前初始阈值中较大值为当前初始阈值,并返回执行确定当前接收的与目标节点对应的读写请求为当前读写请求的步骤,直至当前初始阈值不再变化为止;

确定当前初始阈值与预先设定的小于1的调节因子的乘积为目标节点的时延阈值。

需要说明的是,时延阈值的设定过程可以是在对目标节点的加压测试过程中完成的,其中,对目标节点的加压测试过程中,首先可以对分布式系统进行初始化,然后在分布式系统的状态正常时对存储节点(包括目标节点)进行加压,加压即向对应的存储节点中存储数据,进而对存储有数据的存储节点进行本实施例中的各项步骤,从而确定出与存储节点对应的时延阈值。而调节因子的具体值可以根据实际需要进行设定,如可以设定为0.7或者0.8等,由此确定出目标节点可能出现的最大的对象读写时延后取该对象读写时延的调节因子比例的值作为时延阈值,保证了该时延阈值可以有效体现目标节点在不受不良影响的前提下能够实现的正常的对象读写时延,进而保证了对步骤s12中读取的对象读写时延是否表示目标节点的数据访问业务受到了不良影响的有效判断。

另外,返回执行确定当前接收的与目标节点对应的读写请求为当前读写请求的步骤可以是在当前初始阈值不再变化的情况下停止返回执行的动作,也可以是在指定确定当前接收的与目标节点对应的读写请求为当前读写请求的步骤达到预先设定的此时的情况下停止返回执行的动作,还可以是在执行本实施例中各项步骤所用时间达到预先设定的时间的情况下停止返回执行的动作,均在本发明的保护范围之内。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法,预先设定目标节点的数据恢复速度,可以包括:

基于分布式系统当前的繁忙程度确定分布式系统的集群数据恢复速度,将目标节点需恢复数据个数与分布式系统需恢复数据个数的比值乘以集群数据恢复速度得到目标节点的数据恢复速度;其中,分布式系统越繁忙对应的集群数据恢复速度越低。

集群恢复速度即为分布式系统的数据恢复速度,分布式系统的繁忙程度可以指当前客户端访问分布式系统所占用的分布式系统资源与分布式系统能够提供的全部资源的比值,该比值越大,说明分布式系统越繁忙,具体的分布式系统的繁忙程度与集群恢复速度的对应关系可以由工作人员根据实际需要进行设定,设定规则为集群恢复速度需为不会影响分布式系统的业务访问的值。确定出集群恢复速度后,可以确定分布式系统中每个需要实现数据恢复的存储节点的数据恢复速度;对应的,本申请中需要选取分布式系统中每个需恢复数据的存储节点作为目标节点实现对应数据恢复速度的确认,以使得为每个存储节点设置的数据恢复速度能够符合分布式系统的繁忙程度,即布式系统越繁忙,存储节点实现数据恢复的数据恢复速度越低,通过这种方式达到基于分布式系统当前的情况控制数据恢复速度的目的,进而保证了分布式系统繁忙时数据恢复速度较低、不影响分布式系统的业务,分布式系统不繁忙时能够快速实现数据恢复。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法,获取目标节点当前的对象读写时延,可以包括:

获取目标节点提供的距离当前时刻最近一次的数据访问对应读写请求的对象读写时延为目标节点当前的对象读写时延。

为了使得目标节点当前对象读写时延最能够体现出目标节点当前的数据访问业务的状态,可以采取距离当前时刻最近一次的数据访问对应读写请求的对象读写时延作为目标节点当前的对象读写时延,当然还可以根据实际需要进行其他设定,均在本发明的保护范围之内。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法,降低目标节点进行数据恢复的数据恢复速度之后,还可以包括:

返回执行获取目标节点当前的对象读写时延的步骤。

此处的返回执行相关步骤是为了保证降低速度后的数据恢复不会对数据访问业务造成不良的影响。另外需要说明的是,本申请中还可以根据实际需要为目标节点设置一最低数据恢复速度,从而在降低数据恢复速度时直接将数据恢复速度降低至最低的数据恢复速度,避免了上述步骤的多次循环造成的资源占用。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法,确定无需改变目标节点进行数据恢复的数据恢复速度之后,还可以包括:

经过预设时间段后返回执行获取目标节点当前的对象读写时延的步骤,直至确定目标节点的数据恢复完成。

其中,预设时间段可以根据实际需要进行设定,为了使得数据恢复在数据恢复的整个过程中都不对数据访问业务造成不良影响,可以每经过预设时间段则返回执行获取目标节点当前的对象读写时延及后续步骤,当然还可以根据实际需要进行其他设定,均在本发明的保护范围之内。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法,确定目标节点的数据恢复完成之后,还可以包括:

输出目标节点的数据恢复完成的信息。

将该信息进行输出能够使得用户可以直观的确定出目标节点的数据恢复情况,进而实现对应的操作,提升了用户的使用体验。当然具体输出方式可以是输出至用户对应终端,或者是直接进行显示、播放等,均在本发明的保护范围之内,在此不做具体限定。

本发明实施例还提供了一种基于对象读写时延调整数据恢复速度的装置,如图2所示,可以包括:

请求响应模块11,用于:接收数据恢复请求,确定分布式系统中的任一需要实现数据恢复的存储节点为目标节点,并按照预先设定的目标节点的数据恢复速度进行目标节点的数据恢复;

速度调整模块12,用于:获取目标节点当前的对象读写时延,判断当前的对象读写时延是否大于预先设定的目标节点的时延阈值,如果是,则降低目标节点进行数据恢复的数据恢复速度,如果否,则确定无需改变目标节点进行数据恢复的数据恢复速度。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置,还可以包括:

阈值设定模块,用于:确定目标节点的当前初始阈值为0;对于存储有数据的目标节点,确定当前接收的与目标节点对应的读写请求为当前读写请求,处理当前读写请求并获取该当前读写请求的对象读写时延,确定当前读写请求的对象读写时延与当前初始阈值中较大值为当前初始阈值,并返回执行确定当前接收的与目标节点对应的读写请求为当前读写请求的步骤,直至当前初始阈值不再变化为止;确定当前初始阈值与预先设定的小于1的调节因子的乘积为目标节点的时延阈值。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置,还可以包括:

速度设定模块,用于:基于分布式系统当前的繁忙程度确定分布式系统的集群数据恢复速度,将目标节点需恢复数据个数与分布式系统需恢复数据个数的比值乘以集群数据恢复速度得到目标节点的数据恢复速度;其中,分布式系统越繁忙对应的集群数据恢复速度越低。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置,速度调整模块可以包括:

时延获取单元,用于:获取目标节点提供的距离当前时刻最近一次的数据访问对应读写请求的对象读写时延为目标节点当前的对象读写时延。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置,还可以包括:

循环执行模块,用于:降低目标节点进行数据恢复的数据恢复速度之后,返回执行获取目标节点当前的对象读写时延的步骤。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置,还可以包括:

定时检测模块,用于:确定无需改变目标节点进行数据恢复的数据恢复速度之后,经过预设时间段后返回执行获取目标节点当前的对象读写时延的步骤,直至确定目标节点的数据恢复完成。

本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置,还包括:

信息输出模块,用于:确定目标节点的数据恢复完成之后,输出目标节点的数据恢复完成的信息。

本发明实施例还提供了一种基于对象读写时延调整数据恢复速度的设备,可以包括:

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

处理器,用于执行计算机程序时实现如上任一项基于对象读写时延调整数据恢复速度的方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项基于对象读写时延调整数据恢复速度的方法的步骤。

需要说明的是,本发明实施例提供的一种基于对象读写时延调整数据恢复速度的装置、设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的一种基于对象读写时延调整数据恢复速度的方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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