一种数据写命令处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:23557680 阅读:25 留言:0更新日期:2020-03-25 03:26
本申请公开了一种数据写命令处理方法,区别于现有存储系统一味追求数据可靠性、忽视可能对分布式存储集群整体运行造成严重影响的方式,本申请预先设置了短于超时时长的第一预设时长,并直接根据在该第一预设时长返回写完成命令的副本磁盘的数量是否过总数的半数,来提前判断得到本次数据写命令是否成功的结果。相比于现有技术,本申请由于该第一预设时长的设置,使得数据可靠性略有降低,但能够更好的保障分布式存储系统整体的持续、稳定运行。本申请还同时公开了一种数据写命令处理装置、电子设备及可读存储介质,具有上述有益效果。

A data write command processing method, device, electronic equipment and storage medium

【技术实现步骤摘要】
一种数据写命令处理方法、装置、电子设备及存储介质
本申请涉及分布式存储
,特别涉及一种数据写命令处理方法、装置、电子设备及可读存储介质。
技术介绍
在分布式存储系统中,一份相同数据将通过副本冗余机制将被同时存储在不同的存储节点中,以提升数据的可靠性。以三副本为例,现有存储系统为了充分保障数据的可靠性,在接收到上层业务系统下发的数据写命令时,会将待写数据分别写入第一副本磁盘、第二副本磁盘和第三副本磁盘,并在接收到全部副本磁盘返回的写完成信号后才判定得到本次数据写命令的成功与否,最终将判定结果反馈给业务系统(可参见如图1所示的流程示意图)。现有方案为了保障数据的可靠性,必须要依据所有副本磁盘返回的信号才能够判定得到本次数据写命令成功的结果,否则将一直等下去。由于系统的复杂性,待写数据写入任意副本磁盘的过程可能会出现各种问题,例如磁盘硬件故障、进程死锁、主机内存不足等原因引起将会导致IO卡慢,并进一步存储系统也需要等待一段时间才能收到反馈信号。而较长的等待时间将可能会对所处的运行环境造成严重影响,例如windows系统可能会在IO超过7秒仍不返回的情况下出现蓝屏、Oraclerac可能会在IO超过10多秒仍不返回的情况下宕机(请参见图2,图2在图1的基础上示出了由于IO卡慢导致副本磁盘2花费10秒才向存储系统返回信号的情况)。某一个出现卡慢的存储节点,不仅会对存储该节点的所有数据的读写都将造成影响,甚至还会影响到整个存储卷或存储集群。相比于对整个分布式存储系统带来的影响,数据的可靠性无疑显得不是那么重要。因此,如何克服上述技术缺陷,提供一种以保障分布式存储集群持续、稳定运行为最高目的的数据写命令处理方法,是本领域技术人员亟待解决的问题。
技术实现思路
本申请的目的是提供一种数据写命令处理方法、装置、电子设备及可读存储介质,旨在尽可能的保障分布式存储集群持续、稳定运行。为实现上述目的,本申请提供了一种数据写命令处理方法,该方法包括:根据接收到的数据写命令,将待写数据分别写入对应的每个副本磁盘;统计在第一预设时长内返回写完成信号的副本磁盘的实际数量;其中,所述第一预设时长短于导致所在存储集群产生异常的超时时长;判断所述实际数量是否超过所述副本磁盘的总数量的一半;若所述实际数量超过所述总数量的一半,则上报所述数据写命令完成的反馈信息。可选的,在上报所述数据写命令完成的反馈信息之后,还包括:将未在所述第一预设时长内返回所述写完成信号的副本磁盘标记为异常磁盘;将所述异常磁盘设置为静默状态,得到故障磁盘;通过预设路径上报针对所述故障磁盘的故障修复通知。可选的,将所述异常磁盘设置为静默状态之前,还包括:判断第二预设时长内是否存在返回所述写完成信号的异常磁盘;其中,所述第二预设时长的起始时刻为所述第一预设时长的结束时刻,所述第一预设时长和所述第二预设时长的时长总和短于所述超时时长;若存在返回所述写完成信号的异常磁盘,则去除所述异常磁盘的标记;若不存在返回所述写完成信号的异常磁盘,则执行所述将所述异常磁盘设置为静默状态,得到故障磁盘的步骤。可选的,当所述故障磁盘恢复正常时,还包括:控制恢复正常的副本磁盘向原副本磁盘组中的其它正常副本磁盘发起数据同步请求。可选的,统计在第一预设时长内返回写完成信号的副本磁盘的实际数量,包括:在起始时刻启动预设定时器;其中,所述起始时刻为将所述待写数据分别写入对应的每个副本磁盘的时刻,所述预设定时器将在目标时刻触发,所述目标时刻为在所述起始时刻之后经过所述第一预设时长的时刻;统计在所述预设定时器触发之前接收到的所述写完成信号的数量;将所述数量作为返回所述写完成信号的副本磁盘的实际数量。可选的,在将待写数据分别写入对应的每个副本磁盘之前,还包括:获取与所述待写数据对应的目标副本磁盘组;判断所述目标副本磁盘组中的在线副本磁盘是否超过目标副本磁盘总数的一半;若所述目标副本磁盘组中的在线副本磁盘未超过所述目标副本磁盘总数的一半,则返回数据写命令失败的通知。为实现上述目的,本申请还提供了一种数据写命令处理装置,该装置包括:命令接收及数据写入单元,用于根据接收到的数据写命令,将待写数据分别写入对应的每个副本磁盘;实际数量统计单元,用于统计在第一预设时长内返回写完成信号的副本磁盘的实际数量;其中,所述第一预设时长短于导致所在存储集群产生异常的超时时长;超半数判断单元,用于判断所述实际数量是否超过所述副本磁盘的总数量的一半;命令完成反馈单元,用于若所述实际数量超过所述总数量的一半,则上报所述数据写命令完成的反馈信息。可选的,该数据写命令处理装置还包括:异常磁盘标记单元,用于在上报所述数据写命令完成的反馈信息之后,将未在所述第一预设时长内返回所述写完成信号的副本磁盘标记为异常磁盘;静默状态设置单元,用于将所述异常磁盘设置为静默状态,得到故障磁盘;故障上报单元,用于通过预设路径上报针对所述故障磁盘的故障修复通知。可选的,该数据写命令处理装置还包括:短时异常判断单元,用于将所述异常磁盘设置为静默状态之前,判断第二预设时长内是否存在返回所述写完成信号的异常磁盘;其中,所述第二预设时长的起始时刻为所述第一预设时长的结束时刻,所述第一预设时长和所述第二预设时长的时长总和短于所述超时时长;标价去除单元,用于当存在返回所述写完成信号的异常磁盘时,去除所述异常磁盘的标记;静默状态设置执行单元,用于当不存在返回所述写完成信号的异常磁盘时,执行所述将所述异常磁盘设置为静默状态,得到故障磁盘的步骤。可选的,该数据写命令处理装置还包括:数据同步单元,用于当所述故障磁盘恢复正常时,控制恢复正常的副本磁盘向原副本磁盘组中的其它正常副本磁盘发起数据同步请求。可选的,所述实际数量统计单元包括:定时器启动子单元,用于在起始时刻启动预设定时器;其中,所述起始时刻为将所述待写数据分别写入对应的每个副本磁盘的时刻,所述预设定时器将在目标时刻触发,所述目标时刻为在所述起始时刻之后经过所述第一预设时长的时刻;数量统计子单元,用于统计在所述预设定时器触发之前接收到的所述写完成信号的数量;实际数量获得子单元,用于将所述数量作为返回所述写完成信号的副本磁盘的实际数量。可选的,该数据写命令处理装置还包括:目标副本磁盘组获取单元,用于在将待写数据分别写入对应的每个副本磁盘之前,获取与所述待写数据对应的目标副本磁盘组;在线副本磁盘超半数判断单元,用于判断所述目标副本磁盘组中的在线副本磁盘是否超过目标副本磁盘总数的一半;写命令失败通知信息返回单元,用于当所述目标副本磁盘组中的在线副本磁盘未超过所述目标副本磁盘总数的一半时,返回数据写命令失败的通知。为实现上述目的,本申请还提供了一种电子设备,该电子设本文档来自技高网
...

【技术保护点】
1.一种数据写命令处理方法,其特征在于,包括:/n根据接收到的数据写命令,将待写数据分别写入对应的每个副本磁盘;/n统计在第一预设时长内返回写完成信号的副本磁盘的实际数量;其中,所述第一预设时长短于导致所在存储集群产生异常的超时时长;/n判断所述实际数量是否超过所述副本磁盘的总数量的一半;/n若所述实际数量超过所述总数量的一半,则上报所述数据写命令完成的反馈信息。/n

【技术特征摘要】
1.一种数据写命令处理方法,其特征在于,包括:
根据接收到的数据写命令,将待写数据分别写入对应的每个副本磁盘;
统计在第一预设时长内返回写完成信号的副本磁盘的实际数量;其中,所述第一预设时长短于导致所在存储集群产生异常的超时时长;
判断所述实际数量是否超过所述副本磁盘的总数量的一半;
若所述实际数量超过所述总数量的一半,则上报所述数据写命令完成的反馈信息。


2.根据权利要求1所述的数据写命令处理方法,其特征在于,在上报所述数据写命令完成的反馈信息之后,还包括:
将未在所述第一预设时长内返回所述写完成信号的副本磁盘标记为异常磁盘;
将所述异常磁盘设置为静默状态,得到故障磁盘;
通过预设路径上报针对所述故障磁盘的故障修复通知。


3.根据权利要求2所述的数据写命令处理方法,其特征在于,将所述异常磁盘设置为静默状态之前,还包括:
判断第二预设时长内是否存在返回所述写完成信号的异常磁盘;其中,所述第二预设时长的起始时刻为所述第一预设时长的结束时刻,所述第一预设时长和所述第二预设时长的时长总和短于所述超时时长;
若存在返回所述写完成信号的异常磁盘,则去除所述异常磁盘的标记;
若不存在返回所述写完成信号的异常磁盘,则执行所述将所述异常磁盘设置为静默状态,得到故障磁盘的步骤。


4.根据权利要求2或3所述的数据写命令处理方法,其特征在于,当所述故障磁盘恢复正常时,还包括:
控制恢复正常的副本磁盘向原副本磁盘组中的其它正常副本磁盘发起数据同步请求。


5.根据权利要求1所述的数据写命令处理方法,其特征在于,统计在第一预设时长内返回写完成信号的副本磁盘的实际数量,包括:
在起始时刻启动预设定时器;其中,所述起始时刻为将所述待写数据分别写入对应的每个副本磁盘的时刻,所述预设定时器将在目标时刻触发,所述目标时刻为在所述起始时刻之后经过所述第一预设时长的时刻;
统计在所...

【专利技术属性】
技术研发人员:王正
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1