一种复制过程调整方法及装置制造方法

文档序号:6499705阅读:263来源:国知局
一种复制过程调整方法及装置制造方法
【专利摘要】本发明提供一种复制过程调整方法及装置,其中,该方法包括:步骤A、复制源设备启动一次复制并转步骤B;步骤B、启动具有预设定时时长的定时器,并统计当前定时时长内复制源设备的数据发送参数Psent以及复制容量参数Psucc;步骤C、在所述定时器启动后使用复制源设备内部保存的复制发送窗口继续向复制目标设备发送复制命令;步骤D、在所述定时器超时后判断Psent/Psucc的比值是否达到第一预设阈值,如果没有达到则增大复制源设备内部保存的复制发送窗口;然后转步骤B。本发明既可以有效避免复制带宽恶化时持续发送大量数据导致发生严重拥塞和丢包的情况,也可以有效避免复制带宽状况良好时不能充分利用复制带宽的情况。
【专利说明】一种复制过程调整方法及装置
【技术领域】
[0001]本发明涉及存储【技术领域】,尤其涉及一种复制过程调整方法及装置。
【背景技术】
[0002]远程复制可以将生产中心的数据通过远程链路(比如IP或者FC)传输到灾难备份中心,这样可以保证当生产中心发生故障时,可以通过灾难备份中心的数据进行恢复。
[0003]在常见的数据中心数据保护方案中,远程复制是一种典型的技术方案。通过远程复制,管理者可以将生产中心的数据通过远程链路(比如IP或者Fe)传输到灾难备份中心(灾备中心),这样可以保证当生产中心发生故障时,可以通过灾备中心的数据进行恢复。图1是一个典型的远程复制解决方案,在该方案中,生产中心的存储设备用于日常业务运行,灾备中心的存储设备作为备份,二者之间通过网络连接,通过复制功能传输数据。同时,应用服务器通过网络连接到两个数据中心,一旦生产中心发生灾难,应用立即可以切换到灾备中心去。
[0004]存储设备制造商通常会通过私有的复制协议来实现生产中心到灾备中心的数据传输,这个过程被称为复制过程。在复制过程中,其中一个比较关键的参数是复制并发命令数(也称为复制发送窗口)。假设该参数取值为64,则复制源设备可以同时发送64个命令。但是只有任意一个命令被复制目标设备处理完成并返回后,复制源设备才可以发送下一个命令,也就是说当前并发处理的命令数不能超过64。
[0005]在很多情况下,存储设备会采用默认的复制并发命令数,即采用默认复制发送窗口进行复制。然而有时候默认复制发送窗口的大小未必能满足实际业务需要,而管理员可以结合网络实际情况通过存储设备提供的配置接口手工修改该复制发送窗口。由管理员来设置合理的复制发送窗口,对管理员要求较高;如果参数设置不合理,将影响复制的性能和功能,比如复制心跳报文无法及时发送等。

【发明内容】

[0006]有鉴于此,本发明提供一种复制过程调整装置,应用于作为复制源设备的存储设备上,以控制该复制源设备向复制目标设备发送复制命令的过程,该装置包括复制执行单元、业务统计单元、压力分析单元以及复制调整单元,其中:
[0007]复制执行单元,用于在启动一次复制时触发所述业务统计单元启动定时器,并在定时器启动后根据业务统计单元的通知使用复制源设备内部保存的复制发送窗口继续向复制目标设备发送复制命令;
[0008]业务统计单元,用于启动具有预设定时时长的定时器,在所述定时器启动后通知复制执行单元继续复制,并统计当前定时时长内复制源设备的数据发送参数Psent以及复制容量参数Psucc ;
[0009]压力分析单元,用于在所述定时器超时后判断Psent/Psucc的比值是否达到第一预设阈值,如果没有达到,则通知复制调整单元进行正向调整;[0010]复制调整单元,用于根据压力分析单元的通知对所述复制发送窗口进行调整,并在调整完成后转业务统计单元处理,其中当压力分析单元的通知为正向调整通知时,所述调整为增大复制源设备内部保存的复制发送窗口。
[0011]本发明还提供一种复制过程调整方法,应用于作为复制源设备的存储设备上,以控制该复制源设备向复制目标设备发送复制命令的过程,该方法包括:
[0012]步骤A、复制源设备启动一次复制并转步骤B ;
[0013]步骤B、启动具有预设定时时长的定时器,并统计当前定时时长内复制源设备的数据发送参数Psent以及复制容量参数Psucc ;
[0014]步骤C、在所述定时器启动后使用复制源设备内部保存的复制发送窗口继续向复制目标设备发送复制命令;
[0015]步骤D、在所述定时器超时后判断Psent/Psucc的比值是否达到第一预设阈值,如果没有达到则增大复制源设备内部保存的复制发送窗口 ;然后转步骤B。
[0016]无论是广域网链路带宽发生变化,还是复制目标设备发生任何变化而导致复制带宽变化,本发明均可以让复制源设备很快地适应这种变化,既可以有效避免复制带宽恶化时持续发送大量数据导致发生严重拥塞和丢包的情况,也可以有效避免复制带宽状况良好时不能充分利用复制带宽的情况。
【专利附图】

【附图说明】
[0017]图1是一种典型的数据复制过程示意图。
[0018]图2是本发明一种实施方式中复制过程调整装置的逻辑结构图。
[0019]图3是本发明一种实施方式中复制过程调整方法的流程图。
【具体实施方式】
[0020]请参考图1,生产中心与灾备中心通常会通过广域网相连,而广域网的特点是环境复杂多变。当广域网的网络环境发生变化时,比如说当广域网链路发生拥塞、或者网络中某个交换机/路由器故障是,其可能导致原来相对高速的链路突然变为低速链路。这种情况需要管理员来调低复制发送窗口,否则只会导致加剧链路拥塞。一种可以考虑改进方案是定期检测广域网链路的情况,根据广域网链路的状况来动态调整参数。然而这种方式效果依然不理想,首先对广域网链路的探测需要在已有的通信协议上进行再次开发,其次探测结果存在一定的不可靠性。举例来说,广域网沿途海量网络设备或者防火墙等设备上部署的安全策略可能会把复制源设备发送的探测报文丢弃掉,但同时允许携带复制命令的业务报文通过。这就会导致探测的结果是链路带宽下降,但实际上对于复制业务来说,链路带宽未有变化。这是一种典型的探测结果不可信的情况,最后,为了更为实时地了解广域网链路的状况,无疑需要采用更高频率的探测机制,但这种高频率的链路探测无疑也是在占用广域网宝贵的带宽资源。
[0021]本发明并不是从网络的维度来解决复制发送窗口调整的问题,而是从复制业务本身着手。在一种优选的实施方式中,本发明提供一种复制过程调整装置,该装置应用于作为复制源设备的存储设备上;该装置包括:复制执行单元、业务统计单元、压力分析单元以及复制调整单元。在优选的方案中,该装置可以通过计算机软件实现,其运行在存储设备上时执行如下的处理流程。
[0022]步骤101,复制执行单元在启动一次复制时触发所述业务统计单元执行步骤102 ;
[0023]步骤102,业务统计单元启动具有预设定时时长的定时器,通知复制执行单元执行步骤103,并转步骤104继续处理;
[0024]步骤103,复制执行单元使用复制源设备内部保存的复制发送窗口向复制目标设备发送复制命令,并在本次复制结束时通知业务统计单元转入步骤107处理;
[0025]步骤104,业务统计单元统计该定时时长内复制源设备的数据发送参数Psent以及当前定时时长内的复制容量参数Psucc;并在当前定时时长结束时通知复制执行单元将复制过程暂停,转步骤105处理;
[0026]步骤105,压力分析单元在所述定时器超时后判断Psent与Psucc的比值是否达到第一预定阈值,如果没有达到,则通知复制调整单元进行正向调整;如果达到则转步骤106 ;
[0027]步骤106,压力分析单元进一步判断Psent与Psucc的比值是否达到第二预定阈值,如果达到,则通知复制调整单元进行反向调整,如果没有达到,则返回步骤102。
[0028]步骤107,业务统计单元在收到复制执行单元的复制结束通知时,清除定时器并结束当前处理流程。
[0029]事实上在复制过程中,链路带宽是一个重要参考,但不是全部。假设灾备中心的复制目标设备处理性能低下,那么即便链路带宽再好,复制过程依然很缓慢。其次,即便复制目标设备处理性能强劲,但如果其承担了很多其他业务,导致其无法分配更多资源给复制过程,这同样会造成成功复制过程缓慢。最后,即便复制目标设备一切正常,从整个网络来看,如果承载复制的广域网链路上任何一个节点性能下降同样会引发复制过程缓慢。为规避这些复杂的因素,本发明引入复制容量参数Psucc这一新的概念,Psucc并不像链路带宽或者设备性能等固定参数那样,其是一个动态的参数。这一动态参数可能被很多前述因素所影响,但对于本发明而言,影响Psucc的那些参数不再重要,本发明着重关注Psucc本身。
[0030]第一次启动复制时,本发明也可以使用一个默认的复制发送窗口作为第一个统计周期内的复制发送窗口。当然此时无法得知这个复制发送窗口是否是为最佳的复制发送窗口。复制开始的时候,可以启动一个统计定时器,其定时时长可以理解为一个统计周期的长度,大小可以根据经验预设,在优选的方式中推荐使用秒这样的时间量级,比如5秒或者10秒。接下来复制源设备会根据当前保存的复制发送窗口大小开始发送复制命令(数据写入命令)。在定时器开启的同时,业务统计单元会实时统计更新本定时时长内的Psent以及Psucc这两个参数。假设复制过程中每个复制命令的大小是固定的,Psent可以是本统计周期内复制发送命令计数;如果复制过程中复制命令大小不是固定的,则业务执行单元需要统计本统计周期内每个复制命令大小,并累加得到Psent。同样的道理,对于Psucc,如果复制命令大小固定,则Psucc可以是本统计周期内复制目标设备返回的复制处理成功的命令计数,如果复制命令大小不固定,则业务执行单元需要统计本统计周期内每个复制目标设备返回的复制处理成功的命令大小,然后累加得到Psucc。
[0031]在定时器超时的时候,业务统计单元可以通知复制执行单元暂停发送复制命令。此时压力分析单元将判断Psent与Psucc的比值是否达到第一预定阈值,在优选的方式中,为了最大限度的利用复制带宽,第一预定阈值通常大于等于I。所谓复制带宽是一个业务层面的概念,也就是单位时间内可以成功完成复制的数据量。假设第一预设阈值为1.2,当Psent/Psucc小于1.2时,说明全部或者大部分的复制命令都可以被复制目标设备及时成功处理,复制带宽有相当大的可能性进一步被扩大。此时可以通知复制调整单元进行正向调整,复制执行单元可以按照一个预设百分比的步长值或者固定值的步长值增大设备内部当前保存的复制发送窗口,比如按照8为步长将复制发送窗口的大小从64增大到72等。这个修改后的复制的发送窗口将在后续复制数据过程作为新的复制发送窗口被使用,相当于持续压榨出可能剩余的复制带宽。
[0032]当Psent/Psucc大于等于1.2时,说明复制带宽已经被充分利用。在Psent/Psucc没有达到第二预设阈值(比如1.5)时,可以保持当前的复制发送窗口,如此一来既可以保证复制带宽可以被充分利用,也不会造成对复制带宽的过度压榨。如前所述,链路带宽以及复制目标设备性能等很多因素会影响到复制的成功率(也就是影响复制带宽)。比如刚刚过去的定时时长内(假设是5秒)发生链路质量下降事件,或者复制目标设备CPU负载过重等意外情况都可能严重影响这个定时时长内的复制带宽大小,可能会导致复制带宽有较大幅度的下降。此时压力分析单元可能会发现Psent/Psucc的数值已经达到了第二预设阈值(t匕如1.5),而且Psent/Psucc很可能会远大于1.5,比如3。在这种状况下如果按照一个预设步长去做反向调整,显然需要经过多个统计周期才能将Psent/Psucc调整到一个正常值,无法及时响应复制带宽的突发变化。因此,在优选的实施方式中,本发明反向调整的步长是一个动态步长,该动态步长与当前定时时长中统计到的Psucc/Psent这一比值相关联,其中该比值越小,则所述动态步长越大;即根据最近一个定时时长的复制命令的完成比例来动态调整复制发送窗口。Psucc/Psent越小则说明复制带宽恶化越严重,此时应当使用更大的动态步长将复制发送窗口迅速调低。一种优选的计算方法为:新的复制发送窗口的计算放法为:前复制发送窗口乘以Psucc/Psent,然后对该乘积取整;而动态步长则等于原复制发送窗口减去新的复制发送窗口。
[0033]在本发明中复制发送窗口通常是一步一步按照预定步长调整上来的,达到第一预设阈值之后,比如Psent/Psucc达到1.2之后,如果没有发生异常情况,则复制发送窗口可以在相当长的一段时间内保持相对稳定的状态,至少其大小的抖动的幅度会很小。Psent/Psucc这个比值在相当长的时间内也会保持比较稳定的状态,不会有太大的波动。如果合理设置第二预设阈值,Psent/Psucc的正常波动不会突然达到第二预设阈值的。反过来说,一旦Psent/Psucc突然跳变第二预设阈值,则说明有一些因素发生了较大的变化导致复制带宽有突发的恶化,此时本发明可以用一个动态步长的反向调整方式及时去响应这种突发变化,避免了持续发送大量数据导致链路或者复制目标设备处理的拥塞。进一步来说,复制带宽也可能会正向的突发变化,比如用户如果对广域网带宽进行扩容,比如租用了更高速率的接入线路,或者对复制目标设备进行升级,比如增加了更多的内存或者业务缓存等。此时Psent/Psucc可能会突然间变小,在下一个统计周期中,本发明均可以自动适应这种变化,完全无需人工干预。
[0034]需要补充说明的是,业务统计单元通知复制执行单元暂停复制并不是必须的,其实复制执行单元未必一定要暂停复制。从本质上说,这个通知只是要求复制执行单元使用更新后的复制发送窗口即可。上述实施方式只是一种优选的方式,在软件设计中,使用新的复制发送窗口这样的参数,最好是先将复制任务短暂地暂停一下,避免可能发生任何错误,有利于简化软件设计而已。另外,上述优选的方式中,每次调整复制发送窗口之后都会立刻再重新启动定时器,但是这并不是必须的,定时器的启动时机是可以灵活设定。比如说每一次复制过程仅仅启用一次定时器,或者启用少数几次,这同样可以实现本发明的目的,因为经过几次复制之后,复制发送窗口就会调整到一个比较好的状况,只是实时性比上述实施方式略差。从以上的描述可以知道,无论是广域网链路带宽发生变化,还是复制目标设备发生任何变化而导致复制带宽变化,本发明均可以让复制源设备很快地适应这种变化,既可以有效避免复制带宽恶化时持续发送大量数据导致发生严重拥塞和丢包的情况,也可以有效避免复制带宽状况良好时不能充分利用复制带宽的情况。
[0035]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种复制过程调整装置,应用于作为复制源设备的存储设备上,以控制该复制源设备向复制目标设备发送复制命令的过程,该装置包括复制执行单元、业务统计单元、压力分析单元以及复制调整单元,其特征在于: 复制执行单元,用于在启动一次复制时触发所述业务统计单元启动定时器,并在定时器启动后根据业务统计单元的通知使用复制源设备内部保存的复制发送窗口继续向复制目标设备发送复制命令; 业务统计单元,用于启动具有预设定时时长的定时器,在所述定时器启动后通知复制执行单元继续复制,并统计当前定时时长内复制源设备的数据发送参数Psent以及复制容量参数Psucc ; 压力分析单元,用于在所述定时器超时后判断Psent/Psucc的比值是否达到第一预设阈值,如果没有达到,则通知复制调整单元进行正向调整; 复制调整单元,用于根据压力分析单元的通知对所述复制发送窗口进行调整,并在调整完成后转业务统计单元处理,其中当压力分析单元的通知为正向调整通知时,所述调整为增大复制源设备内部保存的复制发送窗口。
2.如权利要求1所述的装置,其特征在于,所述压力分析单元进一步用于在Psent/Psucc的比值达到第一预设阈值时进一步判断该比值是否达到第二预设阈值,如果有则通知复制调整单元进行反向调整; 所述复制调整单元进一步用于根据压力分析单元的反向调整通知,减小复制源设备内部保存的复制发送窗口。
3.如权利要求1所述的装置,其特征在于,其中所述复制调整单元进一步用于在进行正向调整时按照预设的步长增大所述复制发送窗口。
4.如权利要求2所述的装置,其特征在于,其中所述复制调整单元进一步用于在进行反向调整时,按照动态步长减小所述复制发送窗口,其中该动态步长与当前定时时长中统计到的Psucc/Psent相关联,其中该Psucc/Psent越小,贝U所述动态步长越大。
5.如权利要求1所述的装置,其特征在于,所述业务统计单元进一步用于在定时器超时的时候通知复制执行单元暂停发送复制命令。
6.一种复制过程调整方法,应用于作为复制源设备的存储设备上,以控制该复制源设备向复制目标设备发送复制命令的过程,其特征在于,该方法包括: 步骤A、复制源设备启动一次复制并转步骤B ; 步骤B、启动具有预设定时时长的定时器,并统计当前定时时长内复制源设备的数据发送参数Psent以及复制容量参数Psucc ; 步骤C、在所述定时器启动后使用复制源设备内部保存的复制发送窗口继续向复制目标设备发送复制命令; 步骤D、在所述定时器超时后判断Psent/Psucc的比值是否达到第一预设阈值,如果没有达到则增大复制源设备内部保存的复制发送窗口 ;然后转步骤B。
7.如权利要求6所述的方法,其特征在于,所述步骤D进一步包括: 在Psent/Psucc的比值达到第一预设阈值时进一步判断该比值是否达到第二预设阈值,如果达到则减小复制源设备内部保存的复制发送窗口。
8.如权利要求6所述的方法,其特征在于,其中所述增大复制源设备内部保存的复制发送窗口具体为: 按照预设的步长增大所述复制发送窗口。
9.如权利要求7所述的方法,其特征在于,其中所述减小复制源设备内部保存的复制发送窗口具体为: 按照动态步长减小所述复制发送窗口;其中该动态步长与当前定时时长中统计到的Psucc/Psent相关联,其中该Psucc/Psent越小,则所述动态步长越大。
10.如权利要求6所述的方法,其特征在于,所述步骤B进一步包括: 在定时器超时的时候通知复制执行单元暂停发送复制命令。
【文档编号】G06F11/14GK103970622SQ201310040761
【公开日】2014年8月6日 申请日期:2013年1月30日 优先权日:2013年1月30日
【发明者】龚飞, 上官应兰 申请人:杭州宏杉科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1