数据复制方法和存储控制器及系统技术方案

技术编号:10396874 阅读:130 留言:0更新日期:2014-09-07 17:22
提供了一种数据复制方法。该数据复制方法包括:标签控制器接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期(11);若当前不存在已启动的接收子周期,标签控制器启动当前生成的标签对应的接收子周期,并根据接收子周期对应的标签标识写I/O数据(12);若当前存在已启动的接收子周期,根据接收子周期对应的标签标识写I/O数据(13);在接收子周期结束时,将接收子周期对应的标签标识的写I/O数据复制到目的端(14)。在接收到主机下发的写I/O数据时,标签控制器启动新的接收子周期的条件是:存在新生成的标签且不存在已启动的接收子周期。因此,该数据复制方法解决了在上一个缓存周期的发送子周期结束后才能启动下一个缓存周期的接收子周期这一技术问题。还提供了一种存储控制器及系统。所述数据复制方法、存储控制器及系统能够降低阻塞写I/O数据的概率。

【技术实现步骤摘要】
【国外来华专利技术】数据复制方法和存储控制器及系统
本专利技术实施例涉及计算机技术,尤其涉及一种数据复制方法和存储控制器及系统。
技术介绍
基于存储设备的复制方案是一种存储设备之间的数据复制方案,主要用于容灾,数据迁移和数据备份以及基于用户目的的数据远程传输。发送数据的一端可以称为:生产中心,接收数据的一端称为:灾备中心或容灾中心。基于存储设备的复制方案适用于从单个存储设备向其它节点发送数据,尤其适用于从集群存储系统向其它节点发送数据。当到达一个时间点时,接收端的数据与发送端的数据相同,那么视为接收端和发送端的数据保持一致。基于缓存周期的复制方案是基于存储设备的一种复制方案,其流程如下:主机发送写输入输出(Input/Output,以下简称I/O)到存储设备A,存储设备A中开辟缓存空间接收写I/O,该缓存空间接收写I/O的时间称为接收子周期。在接收子周期内,所有访问地址相同的写I/O被合并到最后一次接收到的写I/O。当接收子周期结束后,进入发送子周期。发送子周期为发送用于接收子周期接收到写I/O数据的周期。一个接收子周期和一个发送子周期,组成了一个完整向存储设备B复制数据的缓存周期。为了使存储设备B中数据与存储数据A中数据保持一致性,在发送子周期内存储设备A不再接收主机下发的写I/O,而是直接丢弃主机下发的写I/O,导致写I/O阻塞,只向存储设备B复制在接收子周期接收到的写I/O。只有发送子周期结束后,也就是在接收子周期接收到的写I/O发送完毕后,才进入下一个接收子周期,继续接收主机下发的写I/O。为了提高数据一致性的粒度,可以尽可能地缩短接收子周期,这样发送子周期也会缩短,但是写I/O阻塞的概率还是比较高。
技术实现思路
本专利技术实施例提供一种数据复制方法和存储控制器及系统,可以降低写I/O发生阻塞的概率。第一方面,本专利技术实施例提供一种数据复制方法,包括:标签控制器接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;若当前不存在已启动的接收子周期,所述标签控制器启动当前生成的标签对应的接收子周期,并根据所述接收子周期对应的标签标识所述写I/O数据;若当前存在已启动的接收子周期,所述标签控制器根据所述接收子周期对应的标签标识所述写I/O数据;在所述接收子周期结束时,所述标签控制器将所述接收子周期对应的标签标识的所述写I/O数据复制到目的端。结合第一方面,在第一种可能的实现方式中,还包括:所述标签控制器在标签生成时间点到达时生成标签,不同的标签生成时间点生成的标签不相同。结合第一方面,或第一方面的第一种可能的实现方式,在第二种可能实现方式中,还包括:所述标签控制器向集群存储系统中各非标签控制器广播包括所述标签的标签启动消息。第二方面,本专利技术实施例还提供一种数据复制方法,包括:非标签控制器接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;若当前不存在已启动的接收子周期,所述非标签控制器启动当前接收的标签对应的接收子周期,并根据所述接收子周期对应的标签标识所述写I/O数据;若当前存在已启动的接收子周期,所述非标签控制器根据所述接收子周期对应的标签标识所述写I/O数据;在所述接收子周期结束时,所述非标签控制器将所述接收子周期对应的标签标识的所述写I/O数据复制到目的端。结合第二方面,在第一种可能的实现方式中,所述非标签控制器接收集群存储系统中标签控制器广播的标签启动消息,所述标签启动消息包括所述标签,并且不同的标签生成时间点所述标签控制器广播的标签不相同。结合第二方面,或第二方面的第一种可能实现方式,在第二种可能的实现方式中,在所述接收子周期结束时,或,接收到所述标签控制器广播的针对结束的接收子周期对应标签的标识停止消息时,所述非标签控制器停止根据所述结束的接收子周期对应的标签标识所述主机下发的写I/O数据。第三方面,本专利技术实施例提供一种存储控制器,包括:判断模块,用于接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;标识模块,用于若当前不存在已启动的接收子周期,启动当前生成的标签对应的接收子周期,并根据所述接收子周期对应的标签标识所述写I/O数据;所述标识模块,还用于若当前存在已启动的接收子周期,根据所述接收子周期对应的标签标识所述写I/O数据;复制模块,用于在所述接收子周期结束时,将所述接收子周期对应的标签标识的所述写I/O数据复制到目的端。结合第三方面。在第一种可能的实现方式中,还包括:标签控制模块,用于在标签生成时间点到达时生成标签,不同的标签生成时间点生成的标签不相同。结合第三方面。或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述标签控制模块,还用于向集群存储系统中各非标签控制器广播包括所述标签的标签启动消息。第四方面,本专利技术实施例还提供一种存储控制器,包括:判断模块,用于接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;标识模块,用于若当前不存在已启动的接收子周期,启动当前接收的标签对应的接收子周期,并根据所述接收子周期对应的标签标识所述写I/O数据;所述标识模块,还用于若当前存在已启动的接收子周期,根据所述接收子周期对应的标签标识所述写I/O数据;复制模块,用于在所述接收子周期结束时,将所述接收子周期对应的标签标识的所述写I/O数据复制到目的端。结合第四方面,在第一种可能的实现方式中,还包括:标签控制模块,用于在标签生成时间点到达时生成标签,不同的标签生成时间点生成的标签不相同。结合第四方面,或第四方面的第一种可能实现方式,在第二种可能的实现方式中,所述标签控制模块,还用于向集群存储系统中各非标签控制器广播包括所述标签的标签启动消息。第五方面,本专利技术实施例提供一种数据复制系统,包括:第三方面提供的存储控制器和第四方面提供的存储控制器。第六方面,本专利技术实施例还提供一种存储控制器,包括:存储器、处理器、总线以及通信接口;其中所述处理器、所述通信接口、所述存储器通过所述总线完成相互间的通信;所述存储器,用于存储程序;所述处理器,用于执行所述程序;所述程序所包括的指令用于执行上述第一方面各实施例所提供的方法。第七方面,本专利技术实施例还提供一种存储控制器,包括:存储器、处理器、总线以及通信接口;其中所述处理器、所述通信接口、所述存储器通过所述总线完成相互间的通信;所述存储器,用于存储程序;所述处理器,用于执行所述程序;所述程序所包括的指令用于执行上述第二方面各实施例所提供的方法。上述技术方案中,存储控制器接收到主机下发到缓存的写I/O数据时、如果不存在已启动的接收子周期,存储控制器就可以启动当前生成的标签对应的新的接收子周期,并根据该接收子周期对应的标签标识当前主机下发的写I/O数据,存储控制器只需要判断是否存在已启动的接收子周期,而并不需要判断发送子周期的状态。如果存在已启动的接收子周期,则直接根据该接收子周期对应的标签标识当前主机下发的写I/O数据。在任一个接收子周期结束后,相应的发送子周期开始,即开始将根据该标签标识的写I/O数据复制到目的端。接收到主机下发的写I/O数据时,启动新的接收子周期的条件是:存在新生成的标签且不存在已启动的接收子周期。而不是在上一个缓存周期的发送子周期结束后,才能启动下一个缓存周期的接收子周期。因此,上一个缓存周本文档来自技高网
...
数据复制方法和存储控制器及系统

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种数据复制方法,其特征在于,包括:标签控制器接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;若当前不存在已启动的接收子周期,所述标签控制器启动当前生成的标签对应的接收子周期,并根据所述接收子周期对应的标签标识所述写I/O数据;若当前存在已启动的接收子周期,所述标签控制器根据已启动的接收子周期对应的标签标识所述写I/O数据;在所述接收子周期结束时,所述标签控制器将所述接收子周期对应的标签标识的所述写I/O数据复制到目的端。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述标签控制器在标签生成时间点到达时生成标签,不同的标签生成时间点生成的标签不相同。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述标签控制器向集群存储系统中各非标签控制器广播包括所述标签的标签启动消息。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述接收子周期结束时,所述标签控制器向所述各非标签控制器广播针对结束的接收子周期对应标签的标识停止消息,所述标识停止消息,用于通知所述各非标签控制器停止根据所述结束的接收子周期对应的标签标识所述主机下发的写I/O数据。5.根据权利要求2、3或4所述的方法,其特征在于,所述方法还包括:在生成标签时,如果没有所述主机下发的写I/O数据,所述标签控制器丢弃所述生成的标签。6.一种数据复制方法,其特征在于,包括:非标签控制器接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;若当前不存在已启动的接收子周期,所述非标签控制器启动当前接收的标签对应的接收子周期,并根据所述接收子周期对应的标签标识所述写I/O数据;若当前存在已启动的接收子周期,所述非标签控制器根据已启动的接收子周期对应的标签标识所述写I/O数据;在所述接收子周期结束时,所述非标签控制器将所述接收子周期对应的标签标识的所述写I/O数据复制到目的端。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:所述非标签控制器接收集群存储系统中标签控制器广播的标签启动消息,所述标签启动消息包括所述标签,并且不同的标签生成时间点所述标签控制器广播的标签不相同。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在所述接收子周期结束时,或,接收到所述标签控制器广播的针对结束的接收子周期对应标签的标识停止消息时,所述非标签控制器停止根据所述结束的接收子周期对应的标签标识所述主机下发的写I/O数据。9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:在接收到所述标签启动消息时,如果没有所述主机下发的写I/O数据,所述非标签控制器丢弃所述标签启动消息中的标签。10.一种存储控制器,其特征在于,包括:判断模块,用于接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;标识模块,用于若当前不存在已启动的接收子周期,启动当前生成的标签对应的接收子周期,并根据所述接收子周期对应的标签标识所述写I/O数据;所述标识模块,还用于若当前存在已启动的接收子周期,根据已启动的接收子周期对应的标签标识所述写I/O数据;复制模块,用于在所述接收子周期结束时,将所述接收子周期对应的标签标识的所述写I/O数据复制到目的端。11.根据权利要求10所述的控制器,其特征在于,还包括:标签控制模块,用于在标签生成时间点到达时生成标签,不同的标签生成时间点生成的标签不相同。12.根据权利要求11所述的控制器,其特征在于,所述标签控制模块,还用于向集群存储系统中各非标签控制器广播包括所述标签的标签启动消息。13.根据权利要求12所述的控制器,其特征在于,所述标签控制模块,还用于在所述接收子周期结束时,向所述各非标签控制器广播针对结束的接收子周期对应标签的标识停止消息,所述标识停止消息,用于通知所述各非标签控制器停止根据所述结束的接收子周期对应的标签标识所述主机下发的写I/O数据。14.根据权利要求11、12或13所述的控制器,其特征在于,所述判断模块,还用于在生成标签时,如果没有所述主机下发的写I/O数据,丢弃所述生成的标签。15.一种存储控制器,其特征在于,包括:判断模块,用于接收主机下发的写I/O数据时,判断当前是否存在已启动的接收子周期;标识模块,用于若当前不存在已启动的接收子周期,启动当前接收的...

【专利技术属性】
技术研发人员:李熠斌
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1