一种镜像数据的读写方法与流程

文档序号:11233955阅读:411来源:国知局
一种镜像数据的读写方法与流程

本发明涉及存储系统技术领域,更具体地说,涉及一种镜像数据的读写方法。



背景技术:

数据镜像使得主机数据能够实时存放于两个不同的存储池,一个是主存储池,一个是备份存储池,是一种更可靠的数据容灾方法。在数据镜像过程中设计到数据的读写策略,如何保证主机能够及时收到数据写入成功的确认信息以及保证两份镜像数据能够及时正确地处理主机的读请求是镜像数据读写策略的核心内容。

目前,镜像数据的读写策略一般为,在读过程中,镜像数据都会有一个默认的主存储池,主存储池负责优先处理主机的读请求,在主存储池无法访问后,主机读请求会转移到备份存储池处理。即使主存储池恢复正常,主机读请求依然会由备份存储池处理,只有等到备份存储池无法访问或者手动切换后,主存储池才能再次接管读请求。

在写过程中,主机数据同时写入两个存储池,当都写入成功后,主机才会认为数据写请求被正确响应。当一方数据写入失败,主机就会再次发起写请求,直到数据成功写入两个存储池。

由此可以看出,现有技术存在以下缺陷:在读过程中,由于备份存储池性能较低,在主存储池正常时读请求却无法接管读请求,导致系统处理性能下降。在写过程中,主机只有在数据成功写入两个存储池后才会认为写操作成功,如果有个存储池性能一直处于低水平,则会严重影响系统性能。因此,如何有效的实现镜像数据的读写操作是一项亟待解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种镜像数据的读写方法,能够有效的进行镜像数据的读写,保证数据镜像能够保持稳定性能。

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

一种镜像数据的读写方法,应用于存储系统,所述方法包括以下步骤:

当主机向主存储池和备份存储池写入数据时,记录主存储池和备份存储池向主机返回数据写入成功信息的时间;

当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间时,结束写操作,且在第一预设时间段内,发生故障的存储池不再接收写请求;

当主机向主存储池发送读请求时,记录所述主存储池的响应时间,当所述主存储池的响应时间大于第二预设时间时,在第二预设时间段内将所述读请求切换至备份存储池进行响应;

在第二预设时间段后,将读请求切换至所述主存储池进行响应。

优选地,所述方法还包括:

在第一预设时间段后,镜像数据开始同步;

在镜像数据同步过程中,当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间时,结束写操作,且在第一预设时间段内,发生故障的存储池不再接收写请求。

优选地,所述方法还包括:

判断主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数是否超过第一预设阈值;

当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数超过第一预设阈值时,生成第一警告信息。

优选地,所述方法还包括:

当主存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数超过第一预设阈值时,转换所述主存储池和备份存储池的角色。

优选地,所述方法还包括:

判断所述主存储池响应读请求的次数是否超过第二预设阈值;

当所述主存储池响应读请求的次数超过第二预设阈值时,转换所述主存储池和备份存储池的角色,并成第二警告信息。

从上述技术方案可以看出,本发明公开了一种镜像数据的读写方法,当需要进行镜像数据的读写操作时,当主机向主存储池和备份存储池写入数据时,记录主存储池和备份存储池向主机返回数据写入成功信息的时间;当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间时,结束写操作,且在第一预设时间段内,发生故障的存储池不再接收写请求;当主机向主存储池发送读请求时,记录主存储池的响应时间,当主存储池的响应时间大于第二预设时间时,在第二预设时间段内将读请求切换至备份存储池进行响应;在第二预设时间段后,将读请求切换至所述主存储池进行响应。相对于现有技术,能够有效的进行镜像数据的读写,保证数据镜像能够保持稳定性能。

附图说明

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

图1为本发明公开的一种镜像数据的读写方法实施例1的流程图;

图2为本发明公开的一种镜像数据的读写方法实施例2的流程图。

具体实施方式

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

如图1所示,为本发明公开的一种镜像数据的读写方法的实施例1的流程图,本方法应用于存储系统,可以包括以下步骤:

s101、当主机向主存储池和备份存储池写入数据时,记录主存储池和备份存储池向主机返回数据写入成功信息的时间;

对于主机的写请求,当主机写请求到达时会同时向主存储池和备份存储池写入数据,当主机向主存储池和备份存储池写入数据时开始计时,记录主存储池和备份存储池向主机返回数据写入成功信息的时间。

s102、当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间时,结束写操作,且在第一预设时间段内,发生故障的存储池不再接收写请求;

默认超时时间为第一预设时间t,当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,就会结束写操作,然后被置为故障状态,并记下数据非同步点。例如,当主存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,将主存储池置为故障状态;当备份存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,将备份存储池置为故障状态。

s103、当主机向主存储池发送读请求时,记录主存储池的响应时间,当主存储池的响应时间大于第二预设时间时,在第二预设时间段内将读请求切换至备份存储池进行响应;

对于主机读请求,主存储池会优先处理读请求,如果在处理读请求时相应时间超过第二预设时间,则会将读请求转到备份存储池上进行处理,并且在接下来的第二预设时间段t2内,主机的读请求都会由备份存储池持续处理。

s104、在第二预设时间段后,将读请求切换至主存储池进行响应。

当过了第二预设时间段t2后,读请求再次转到主存储池进行响应。

综上所述,在上述实施例中,当需要进行镜像数据的读写操作时,当主机向主存储池和备份存储池写入数据时,记录主存储池和备份存储池向主机返回数据写入成功信息的时间;当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间时,结束写操作,且在第一预设时间段内,发生故障的存储池不再接收写请求;当主机向主存储池发送读请求时,记录主存储池的响应时间,当主存储池的响应时间大于第二预设时间时,在第二预设时间段内将读请求切换至备份存储池进行响应;在第二预设时间段后,将读请求切换至所述主存储池进行响应。相对于现有技术,能够有效的进行镜像数据的读写,保证数据镜像能够保持稳定性能。

如图2所示,为本发明公开的一种镜像数据的读写方法的实施例2的流程图,本方法应用于存储系统,可以包括以下步骤:

s201、当主机向主存储池和备份存储池写入数据时,记录主存储池和备份存储池向主机返回数据写入成功信息的时间;

对于主机的写请求,当主机写请求到达时会同时向主存储池和备份存储池写入数据,当主机向主存储池和备份存储池写入数据时开始计时,记录主存储池和备份存储池向主机返回数据写入成功信息的时间。

s202、当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间时,结束写操作,且在第一预设时间段内,发生故障的存储池不再接收写请求;

默认超时时间为第一预设时间t,当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,就会结束写操作,然后被置为故障状态,并记下数据非同步点。例如,当主存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,将主存储池置为故障状态;当备份存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,将备份存储池置为故障状态。

s203、在第一预设时间段后,镜像数据开始同步;

在第一预设时间段t1后,开始进行镜像数据同步。

s204、在镜像数据同步过程中,当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间时,结束写操作,且在第一预设时间段内,发生故障的存储池不再接收写请求;

在镜像数据同步的过程中,当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,就会结束写操作,然后被置为故障状态,并记下数据非同步点。例如,当主存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,将主存储池置为故障状态;当备份存储池向主机返回数据写入成功信息的时间大于第一预设时间t时,将备份存储池置为故障状态。

s205、判断主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数是否超过第一预设阈值;

在整个数据写入过程中,记录主存储池和备份存储池返回数据写入成功信息的时间大于第一预设时间的次数,并判断主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数是否超过第一预设阈值。

s206、当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数超过第一预设阈值时,生成第一警告信息;

当主存储池或备份存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数超过第一预设阈值时,说明主存储池或备份存储池所在的磁盘系统出现了性能问题,此时系统会向用户发出第一警告信息。

s207、当主存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数超过第一预设阈值时,转换所述主存储池和备份存储池的角色;

如果主存储池向主机返回数据写入成功信息的时间大于第一预设时间的次数超过第一预设阈值时,系统将转换主存储池和备份存储池的角色。

s208、当主机向主存储池发送读请求时,记录主存储池的响应时间,当主存储池的响应时间大于第二预设时间时,在第二预设时间段内将读请求切换至备份存储池进行响应;

对于主机读请求,主存储池会优先处理读请求,如果在处理读请求时相应时间超过第二预设时间,则会将读请求转到备份存储池上进行处理,并且在接下来的第二预设时间段t2内,主机的读请求都会由备份存储池持续处理。

s209、在第二预设时间段后,将读请求切换至主存储池进行响应;

当过了第二预设时间段t2后,读请求再次转到主存储池进行响应。

s210、判断所述主存储池响应读请求的次数是否超过第二预设阈值;

s211、当主存储池响应读请求的次数超过第二预设阈值时,转换主存储池和备份存储池的角色,并成第二警告信息。

综上所述,本发明能够根据故障发生的频率动态转换镜像数据的主存储池和备份存储池,保证系统读写io性能的最大化;系统在故障处理后能够自动还原初始最优配置,有效防止系统在最优配置处于正常状态下而使用备用配置的情况发生;在故障频繁发生,系统性能受到影响时,用户能够及时得到相关警告信息,为用户提供决策依据。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

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

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