CN105786640A - 一种拷贝速率的调节方法及装置 - Google Patents
一种拷贝速率的调节方法及装置 Download PDFInfo
- Publication number
- CN105786640A CN105786640A CN201410775930.4A CN201410775930A CN105786640A CN 105786640 A CN105786640 A CN 105786640A CN 201410775930 A CN201410775930 A CN 201410775930A CN 105786640 A CN105786640 A CN 105786640A
- Authority
- CN
- China
- Prior art keywords
- storage array
- transmission rate
- local terminal
- remote storage
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种拷贝速率的调节方法及装置,涉及计算机技术领域,能够自动调节拷贝速率,使得调节后的拷贝速率更适应当前链路带宽。该方法包括:本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,并确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率,若该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,若该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大该第一预设调整量。应用于数据备份技术中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种拷贝速率的调节方法及装置。
背景技术
随着计算机技术的飞速发展,数据备份技术的重要性也日渐突出。在计算机技术中,数据备份技术是指将本端存储阵列中的数据从本端存储阵列拷贝到远端存储阵列中的技术。
目前,在数据备份技术中,通常根据链路(本端与远端之间的通信链路)带宽对数据的拷贝速率进行估算,以确定合适的拷贝速率,从而完成数据备份的过程。具体的,在本端存储阵列中预先设置多个固定的拷贝速率,当用户需要进行数据备份时,用户需根据当前的链路带宽对数据的拷贝速率进行估算,并从预先设置的固定的拷贝速率中选择合适的拷贝速率,以使本端存储阵列完成将数据拷贝到远端存储阵列中的过程。
然而,在上述数据备份过程中,由于用户根据链路带宽对数据的拷贝速率的估算存在较大误差,因此,若用户选择的拷贝速率小于当前链路带宽能够支持的拷贝速率,则可能会造成链路带宽的浪费;若用户选择的拷贝速率大于当前链路带宽能够支持的拷贝速率,则可能会导致链路超负荷。
发明内容
本发明的提供一种拷贝速率的调节方法及装置,能够自动调节拷贝速率,使得调节后的拷贝速率既不会造成链路带宽的浪费,又不会导致链路超负荷。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种拷贝速率的调节方法,包括:
本端存储阵列获取所述本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,所述第一发送速率为所述本端存储阵列对所述本端存储阵列上一次向所述远端存储阵列发送数据的速率调节后的速率;
所述本端存储阵列确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率;
若所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小第一预设调整量;
若所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量。
在第一方面的第一种可能的实现中,
所述第一发送速率为所述本端存储阵列对所述本端存储阵列上一次向所述远端存储阵列发送数据的速率调节后的速率。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,当所述本端存储阵列与所述远端存储阵列首次建立连接时,所述方法还包括:
所述本端存储阵列向所述远端存储阵列发送探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次向所述远端存储阵列发送第一拷贝数据;
所述本端存储阵列确定预设探测时间内,所述本端存储阵列向所述远端存储阵列拷贝的探测数据量,所述探测数据量为所述本端存储阵列在所述预设探测时间内接收的所述远端存储阵列发送的探测数据响应的个数与所述探测数据的大小的乘积;
所述本端存储阵列根据所述探测数据量和所述预设探测时间,确定所述本端存储阵列向所述远端存储阵列拷贝所述探测数据的初始链路传输速率;
所述本端存储阵列将所述初始链路传输速率和第一预设等级系数的乘积作为所述初始发送速率,所述第一预设等级系数小于1。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述本端存储阵列确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,包括:
所述本端存储阵列确定向所述远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间;
所述本端存储阵列根据所述预设数据量和所述拷贝时间,确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述本端存储阵列确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,包括:
所述本端存储阵列确定预设拷贝周期内,本端存储阵列向所述远端存储阵列拷贝的第一拷贝数据量,所述第一拷贝数据量为所述本端存储阵列在所述预设拷贝周期内接收的所述远端存储阵列发送的第一拷贝数据响应的个数与所述第一拷贝数据的大小的乘积;
所述本端存储阵列根据所述预设拷贝周期和所述第一拷贝数据量,确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
结合第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,所述方法还包括:
所述本端存储阵列向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述本端存储阵列接收所述远端存储阵列发送的负荷检测响应,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷;
所述若所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小第一预设调整量,包括:
若所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量;
所述若所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,包括:
若所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
结合第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中的任一种实现方式,在第六种可能的实现方式中,所述方法还包括:
所述本端存储阵列向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述若所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小第一预设调整量,包括:
若在预设响应时间内,所述本端存储阵列未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量;
所述若所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,包括:
若在预设响应时间内,所述本端存储阵列未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
结合第一方面的第一种可能的实现方式至第一方面的第六种可能的实现方式中的任一种实现方式,在第七种可能的实现方式中,当所述本端存储阵列向所述远端存储阵列同时拷贝所述第一拷贝数据和第二拷贝数据时,所述第二拷贝数据为所述本端存储阵列在接收到所述第二拷贝数据后的预设拷贝时间内需向所述远端存储阵列拷贝的拷贝数据,
所述第一发送速率为所述本端存储阵列对所述本端存储阵列上一次向所述远端存储阵列发送数据的速率调节后的速率与第二预设等级系数的乘积,所述第二预设等级系数小于1。
第二方面,本发明提供一种拷贝速率的调节方法,包括:
远端存储阵列接收本端存储阵列发送的负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述远端存储阵列根据所述负荷检测指令,检测所述远端存储阵列的当前负荷;
所述远端存储阵列向所述本端存储阵列发送负荷检测响应,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷,所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷,用于调节所述本端存储阵列向所述远端存储阵列发送拷贝数据的速率。
在第二方面的第一种可能的实现方式中,所述远端存储阵列接收本端存储阵列发送的负荷检测指令之前,所述方法还包括:
所述远端存储阵列接收所述本端存储阵列发送的探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次向所述远端存储阵列发送拷贝数据;
所述远端存储阵列向所述本端存储阵列发送探测数据响应,所述探测数据响用于确定所述初始发送速率,所述初始发送速率用于所述本端存储阵列首次向所述远端存储阵列发送所述拷贝数据。
第三方面,本发明提供一种存储阵列,包括:
获取单元,用于获取发送单元本次向远端存储阵列发送第一拷贝数据的第一发送速率;
确定单元,用于确定所述发送单元本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率;
调节单元,用于若所述获取单元获取的所述第一发送速率大于等于所述确定单元确定的所述链路传输速率,则将所述第一发送速率减小第一预设调整量,若所述获取单元获取的所述第一发送速率小于所述确定单元确定的所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量。
在第三方面的第一种可能的实现方式中,
所述获取单元获取的所述第一发送速率为所述调节单元对所述发送单元上一次向所述远端存储阵列发送数据的速率调节后的速率。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储阵列还包括接收单元,
所述发送单元,还用于当所述存储阵列与所述远端存储阵列首次建立连接时,向所述远端存储阵列发送探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述发送单元首次向所述远端存储阵列发送第一拷贝数据;
所述确定单元,还用于确定预设探测时间内,所述发送单元向所述远端存储阵列拷贝的探测数据量,并根据所述探测数据量和所述预设探测时间,确定所述发送单元向所述远端存储阵列拷贝所述探测数据的初始链路传输速率,以及将所述初始链路传输速率和第一预设等级系数的乘积作为所述初始发送速率,所述探测数据量为所述接收单元在所述预设探测时间内接收的所述远端存储阵列发送的探测数据响应的个数与所述探测数据的大小的乘积,所述第一预设等级系数小于1。
结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述确定单元,具体用于确定所述发送单元向所述远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间,并根据所述预设数据量和所述拷贝时间,确定所述发送单元本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
结合第三方面的第二种可能的实现方式,在第四种可能的实现方式中,
所述确定单元,具体用于确定预设拷贝周期内,所述发送单元向所述远端存储阵列拷贝的第一拷贝数据量,并根据所述预设拷贝周期和所述第一拷贝数据量,确定所述发送单元本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,所述第一拷贝数据量为所述接收单元在所述预设拷贝周期内接收的所述远端存储阵列发送的第一拷贝数据响应的个数与所述第一拷贝数据的大小的乘积。
结合第三方面的第二种可能的实现方式或第三方面的第四种可能的实现方式,在第五种可能的实现方式中,
所述发送单元,还用于向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述接收单元,还用于接收所述远端存储阵列发送的负荷检测响应,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷;
所述调节单元,具体用于若所述接收单元接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若所述接收单元接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
结合第三方面的第二种可能的实现方式或第三方面的第四种可能的实现方式,在第六种可能的实现方式中,
所述发送单元,还用于向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述调节单元,具体用于若在预设响应时间内,所述接收单元未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若在预设响应时间内,所述接收单元未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
结合第三方面的第二种可能的实现方式或第三方面的第四种可能的实现方式至第三方面六种可能的实现方式中的任一种实现方式,在第七种可能的实现方式中,当所述发送单元向所述远端存储阵列同时拷贝所述第一拷贝数据和第二拷贝数据时,所述第二拷贝数据为所述接收单元在接收到所述第二拷贝数据后的预设拷贝时间内所述发送单元需向所述远端存储阵列拷贝的拷贝数据,
所述获取单元获取的所述第一发送速率为所述调节单元对所述发送单元上一次向所述远端存储阵列发送数据的速率调节后的速率与第二预设等级系数的乘积,所述第二预设等级系数小于1。
第四方面,本发明提供一种存储阵列,包括:
接收单元,用于接收本端存储阵列发送的负荷检测指令,所述负荷检测指令用于指示检测单元检测所述存储阵列的当前负荷;
所述检测单元,用于根据所述接收单元接收的所述负荷检测指令,检测所述存储阵列的当前负荷;
发送单元,用于向所述本端存储阵列发送负荷检测响应,所述负荷检测响应中携带所述检测单元检测的所述存储阵列的当前负荷和所述存储阵列的额定负荷,所述存储阵列的当前负荷和所述存储阵列的额定负荷,用于调节所述本端存储阵列发送拷贝数据的速率。
在第四方面的第一种可能的实现方式中,
所述接收单元,还用于在所述接收单元接收本端存储阵列发送的负荷检测指令之前,接收所述本端存储阵列发送的探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次发送拷贝数据;
所述发送单元,还用于向所述本端存储阵列发送探测数据响应,所述探测数据响用于确定所述初始发送速率,所述初始发送速率用于所述本端存储阵列首次发送所述拷贝数据。
本发明提供一种拷贝速率的调节方法及装置,具体为本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,并确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率,若该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,若该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大该第一预设调整量。通过本发明提供一种拷贝速率的调节方法及装置,本端存储阵列在完成本次向远端存储阵列拷贝第一拷贝数据后,本端存储阵列既能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低本端存储阵列向远端存储阵列发送第一拷贝数据的速率,以避免链路超负荷;又能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低本端存储阵列向远端存储阵列发送第一拷贝数据的速率,以减小对链路带宽的浪费,因此,根据本发明提供的拷贝速率的调节方法及装置,本端存储阵列能够自动调节拷贝速率,使得调节后的拷贝速率更适应当前的链路带宽。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例的附图,而不是全部的实施例的附图。
图1为本发明实施例提供的一种拷贝速率的调节方法的流程图一;
图2为本发明实施例提供的一种拷贝速率的调节方法的流程图二;
图3为本发明实施例提供的一种拷贝速率的调节方法的交互图一;
图4为本发明实施例提供的一种拷贝速率的调节方法的交互图二;
图5为本发明实施例提供的一种拷贝速率的调节方法的交互图三;
图6为本发明实施例提供的一种拷贝速率的调节方法的交互图四;
图7为本发明实施例提供的一种存储阵列的结构示意图一;
图8为本发明实施例提供的一种存储阵列的结构示意图二;
图9为本发明实施例提供的另一种存储阵列的结构示意图;
图10为本发明实施例提供的一种存储阵列的硬件结构示意图;
图11为本发明实施例提供的另一种存储阵列的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
在说明本发明实施例之前,为了更好的说明本发明实施例提供的拷贝速率的调节方法,首先对本发明实施例涉及的拷贝速率,发送速率,链路带宽,链路传输速率,及其之间的关系进行简要说明。
示例性的,以本端存储阵列向远端存储阵列拷贝一个数据来说,本端存储阵列向远端存储阵列拷贝该数据的过程可以包括:本端存储阵列向远端存储阵列发送该数据,该数据通过本端存储阵列与远端存储阵列之间的通信链路传输到远端存储阵列,远端存储阵列接收到该数据后,向本端存储阵列发送与该数据对应的响应。其中,本端存储阵列接收到该响应,表示本端存储阵列向远端存储阵列拷贝完成该数据。
本端存储阵列向远端存储阵列的拷贝该数据的拷贝速率为该数据的大小除以从本端存储阵列发送该数据到接收到远端存储阵列发送的与该数据对应的响应这一过程的时间,获得的值。
进一步的,在上述本端存储阵列向远端存储阵列拷贝该数据的过程中,本端存储阵列向远端存储阵列发送该数据可以理解为本端存储阵列以一定的发送速率将该数据发送至本端存储阵列与远端存储阵列之间的通信链路上。进而该数据以该通信链路的链路带宽能够支持的传输速率从该通信链路传输至远端存储阵列,远端存储阵列接收到该数据后返回与该数据对应的响应。
可以理解的是,本端存储阵列向远端存储阵列发送该数据的速率和该通信链路的链路带宽能够支持的传输速率都影响本端存储阵列向远端存储阵列的拷贝该数据的拷贝速率。
进一步的,若本端存储阵列向远端存储阵列发送该数据的速率大于该通信链路的链路带宽能够支持的传输速率,则会造成链路超负荷。若本端存储阵列向远端存储阵列发送该数据的速率小于该通信链路的链路带宽能够支持的传输速率,则会使得造成链路带宽的浪费。且本端存储阵列向远端存储阵列发送该数据的速率小于该通信链路的链路带宽能够支持的传输速率的情况下,本端存储阵列向远端存储阵列发送该数据的速率越大,本端存储阵列向远端存储阵列的拷贝该数据的拷贝速率也越大。
实施例一
本发明实施例提供一种拷贝速率的调节方法,如图1所示,该方法可以包括:
S101、本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率。
其中,第一发送速率为本端存储阵列对本端存储阵列上一次向远端存储阵列发送数据的速率调节后的速率。
需要说明的是,在本发明实施例中,本端存储阵列向远端存储阵列进行一次数据的拷贝,可以理解为本端存储阵列向远端存储阵列拷贝完成一定数据量的数据,也可以理解为本端存储阵列在一定周期内向远端存储阵列拷贝数据。即在本发明实施例中,本端存储阵列可以在本端存储阵列每向远端存储阵列拷贝完成一定数据量的数据后,对本端存储阵列向远端存储阵列发送数据的速率进行一次调节。本端存储阵列也可以在本端存储阵列向远端存储阵列拷贝数据的每个周期结束后,对本端存储阵列向远端存储阵列发送数据的速率进行一次调节。
其中,在每一次本端存储阵列向远端存储阵列的拷贝数据的拷贝过程中,本端存储阵列均以一定的速率向远端存储阵列发送数据。且每次本端存储阵列向远端存储阵列发送数据的速率可能相同也可能不同。
具体的,在本发明实施例中,本端存储阵列首次向远端存储阵列发送第一拷贝数据的第一发送速率(可以称为初始发送速率),为本端存储阵列向远端存储阵列发送第一拷贝数据之前,本端存储阵列向远端存储阵列发送拷贝探测数据的速率调整之后的速率。
本端存储阵列第二次向远端存储阵列发送第一拷贝数据的第一发送速率,为初始发送速率调节后的速率;本端存储阵列第三次向远端存储阵列发送第一拷贝数据的第一发送速率,为本端存储阵列第二次向远端存储阵列发送第一拷贝数据的速率调节后的速率,以此类推,直至本端存储阵列将第一拷贝数据全部向远端存储阵列拷贝。
其中,本端存储阵列通过向远端存储阵列发送拷贝探测数据确定初始发送速率的具体方式,将在下述实施例中详细说明,此处不再赘述。
S102、本端存储阵列确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率。
具体的,本端存储阵列可以先确定本次向远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间,并根据该预设数据量和该拷贝时间的比值,确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率。
其中,预设数据量可以为在本端存储阵列中预先设置的,也可以为初始发送速率和单位时间的乘积。例如,若初始发送速率为100M/s,则预设数据量为100M。
可以理解的是,在本发明实施例中,本端存储阵列向远端存储阵列拷贝完成预设数据量的第一拷贝数据,即为本端存储阵列向远端存储阵列进行一次第一拷贝数据的拷贝。且每当本端存储阵列向远端存储阵列拷贝完成该预设数据量的第一拷贝数据后,本端存储阵列对该第一发送速率进行一次调节。
本端存储阵列也可以先确定在预设拷贝周期内向远端存储阵列拷贝的第一拷贝数据量,并根据该第一拷贝数据量与该预设拷贝周期的比值,确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率。
其中,该预设拷贝周期可以为在本端存储阵列中设置的周期,本领域技术人员可以根据经验确定合适的拷贝周期设置在本端存储阵列中。
可以理解的是,在本发明实施例中,本端存储阵列在预设拷贝周期内向远端存储阵列拷贝第一拷贝数据,即为本端存储阵列向远端存储阵列进行一次第一拷贝数据的拷贝。且每当本端存储阵列向远端存储阵列拷贝第一拷贝数据的一个预设拷贝周期结束后,本端存储阵列对该第一发送速率进行一次调节。
S103、若该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量。
S104、若该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大该第一预设调整量。
在本发明实施例中,本端存储阵列在本次向远端存储阵列拷贝完成第一拷贝数据后,本端存储阵列会确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率,并根据该链路传输速率和本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,对该第一发送速率进行调节,确定将该第一发送速率调节后的速率,以供本端存储阵列在下一次向远端存储阵列发送第一拷贝数据时使用。
具体的,若该第一发送速率大于等于该链路传输速率,说明当前的链路带宽不足,则本端存储阵列将该第一发送速率减小第一预设调整量,即将该第一发送速率降低,从而当本端存储阵列在下一次向远端存储阵列拷贝第一拷贝数据时,降低本端存储阵列向远端存储阵列发送第一拷贝数据的速率,从而避免链路超负荷。
若该第一发送速率小于该链路传输速率,说明当前的链路带宽充足,则本端存储阵列将该第一发送速率增大第一预设调整量,即将该第一发送速率增大,从而当本端存储阵列在下一次向远端存储阵列拷贝第一拷贝数据时,增大本端存储阵列向远端存储阵列发送第一拷贝数据的速率,从而减小链路带宽的浪费。
其中,第一预设调整量为在本端存储阵列中设置的值,本领域技术人员可以根据经验确定合适的第一预设调整量设置在本端存储阵列中。
本发明实施例提供一种拷贝速率的调节方法,具体为本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,并确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率,若该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,若该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大该第一预设调整量。通过该方法,本端存储阵列在完成本次向远端存储阵列拷贝第一拷贝数据后,本端存储阵列既能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低本端存储阵列向远端存储阵列发送第一拷贝数据的速率,以避免链路超负荷;又能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低本端存储阵列向远端存储阵列发送第一拷贝数据的速率,以减小对链路带宽的浪费,因此,根据本发明实施例提供的拷贝速率的调节方法,本端存储阵列能够自动调节拷贝速率,使得调节后的拷贝速率更适应当前的链路带宽。
本发明实施例提供一种拷贝速率的调节方法,如图2所示,该方法可以包括:
S201、远端存储阵列接收本端存储阵列发送的负荷检测指令,该负荷检测指令用于指示远端存储阵列检测该远端存储阵列的当前负荷。
S202、远端存储阵列根据该负荷检测指令,检测该远端存储阵列的当前负荷。
在本发明实施例中,远端存储阵列接收到本端存储阵列发送的负荷检测指令后,根据该负荷检测指令检测该远端存储阵列的当前负荷。
具体的,远端存储阵列检测该远端存储阵列的当前负荷的方式有多种,示例性的,远端存储阵列可以通过检测该远端存储阵列的中央处理器(英文:centralprocessingunit,缩写:CPU)的当前使用率,确定该远端存储阵列的当前负荷,例如,若远端存储阵列检测到该远端存储阵列的CPU的当前使用率为90%,则远端存储阵列确定该远端存储阵列的当前负荷为90%;远端存储阵列也可以通过检测该远端存储阵列接收数据的速率与该远端存储阵列的磁盘转速能够支持的接收速率的比值,确定该远端存储阵列的当前负荷,例如,该远端存储阵列接收数据的速率为100M/s,该远端存储阵列的磁盘转速能够支持的接收速率为200M/s,则该远端存储阵列的当前负荷为100M/s与200M/s的比值,即该远端存储阵列的当前负荷为50%。
进一步的,远端存储阵列检测该远端存储阵列的当前负荷的其他方式,均在本发明的保护范围之内,此处不再一一列举。
S203、远端存储阵列向本端存储阵列发送负荷检测响应,该负荷检测响应中携带该远端存储阵列的当前负荷和该远端存储阵列的额定负荷,该远端存储阵列的当前负荷和该远端存储阵列的额定负荷用于调节本端存储阵列向远端存储阵列发送拷贝数据的速率。
其中,远端存储阵列检测到该远端存储阵列的当前负荷后,远端存储将该当前负荷和该远端存储阵列的额定负荷包含在负荷检测响应中发送至本端存储阵列,以使本端存储阵列根据远端存储阵列的当前负荷和远端存储阵列的额定负荷自动调节本端存储阵列向该远端存储阵列发送拷贝数据的速率,从而避免本端存储阵列向远端存储阵列发送拷贝数据的速率过大,使得远端存储阵列不能及时数据接收的拷贝数据,从而导致远端存储阵列超负荷。
具体的,本端存储阵列根据远端存储阵列的当前负荷和远端存储阵列的额定负荷自动调节本端存储阵列向该远端存储阵列发送拷贝数据的速率的方式,将在下述实施例中详细说明,此处不再赘述。
本发明实施例提供一种拷贝速率的调节方法,具体为远端存储阵列接收本端存储阵列发送的负荷检测指令,根据该负荷检测指令,检测该远端存储阵列的当前负荷,并向本端存储阵列发送负荷检测响应,该负荷检测指令用于指示远端存储阵列检测该远端存储阵列的当前负荷,该负荷检测响应中包含该远端存储阵列的当前负荷和该远端存储阵列的额定负荷。通过该方法,本端存储阵列能够根据远端存储阵列反馈的负荷检测响应,自动调节本端存储阵列向远端存储阵列发送拷贝数据的速率,使得调节后的拷贝速率更适应远端存储阵列需求链路带宽,从而避免远端存储阵列超负荷。
实施例二
本发明实施例提供一种拷贝速率的调节方法,如图3所示,该方法可以包括:
S301、本端存储阵列向远端存储阵列发送探测数据,该探测数据用于确定初始发送速率,该初始发送速率用于本端存储阵列首次向远端存储阵列发送第一拷贝数据。
具体的,当本端存储阵列与远端存储阵列首次建立连接时,本端存储阵列可以自发进行链路带宽的探测,向远端存储阵列发送探测数据;也可以由用户触发本端存储阵列进行链路带宽的探测,向远端存储阵列发送探测数据。
S302、远端存储阵列根据接收的探测数据确定与该探测数据对应的探测数据响应。
S303、远端存储阵列向本端存储阵列发送探测数据响应。
S304、本端存储阵列确定预设探测时间内,本端存储阵列向远端存储阵列拷贝的探测数据量。
其中,本端存储阵列向远端存储阵列拷贝的探测数据量是指,在预设探测时间内,本端存储阵列能够接收的远端存储阵列发送的探测数据响应的个数与探测数据的大小的乘积。
示例性的,假设预设探测时间为5s,一个探测数据的大小为2M,从预设探测时间开始,本端存储阵列向远端存储阵列发送第一个探测数据,远端存储阵列接收到该探测数据后,向本端存储阵列发送与该探测数据对应的探测数据响应,本端存储阵列接收到第一个探测数据响应后向远端存储阵列发送第二个探测数据,当本端接收到第二个探测数据响应后,再向远端存储阵列发送第三个探测数据,以此类推,直到5s的预设探测时间结束,本端存储阵列统计5s内接收的探测数据响应的个数为10个,则本端存储阵列向远端存储阵列拷贝的探测数据量为20M。
具体的,在本发明实施例中,本端存储阵列确定预设探测时间内,本端存储阵列向远端存储阵列拷贝的探测数据量的方式由多种,以下提供两种可能的实现方式(方式一和方式二)进行示例性的说明,本端存储阵列确定预设探测时间内,本端存储阵列向远端存储阵列拷贝的探测数据量的其他方式,均在本发明的保护范围之内,此处不再一一列举。
方式一,可以在本端存储阵列中设置探测计数器,当本端存储阵列开始进行链路带宽的探测时,将探测计数器置0。当本端存储阵列向远端存储阵列发送第一个探测数据时,记录发送第一个探测数据的发送时间,每当本端存储阵列接收一个探测数据响应,本端存储阵列记录接收该探测数据响应的接收时间,且探测计数器自动加1。本端存储阵列每记录一次接收探测数据响应的接收时间,本端存储阵列判断该接收时间与发送时间之差是否小于预设探测时间,若是,则本端存储阵列继续发送探测数据,并等待接收下一个探测数据响应。若否,则表示本次探测结束,本端存储阵列计算预设探测时间内,本端存储阵列向远端存储阵列拷贝的探测数据量,即探测计数器的统计值与探测数据的大小的乘积。
方式二,可以在本端存储阵列中设置探测计数器和探测倒计时器,则将倒计时器初始值设置为预设探测时间。当本端存储阵列进行链路带宽的探测时,将探测计数器置0,当本端存储阵列开始向远端存储阵列发送探测数据时,定时器开始计时。当探测倒计时器没有归0时,每当本端存储阵列接收一个探测数据响应,探测计数器自动加1。当定时器归0时,探测计数器停止计数。进一步的,本端存储阵列计算预设探测时间内,本端存储阵列向远端存储阵列拷贝的探测数据量,即探测计数器的统计值与探测数据的大小的乘积。
S305、本端存储阵列根据该探测数据量和该预设探测时间,确定本端存储阵列向远端存储阵列拷贝探测数据的初始链路传输速率。
具体的,本端存储阵列确定的本端存储阵列向远端存储阵列拷贝探测数据的初始链路传输速率为该探测数据量除以该预设探测时间。该初始链路传输速率为当前的链路带宽。
示例性的,根据上述S302中的举例,若预设探测时间为5s,该探测数据量为100M,则本端存储阵列向远端存储阵列拷贝探测数据的初始链路传输速度为20M/s。
可以理解的是,本端存储阵列向远端存储阵列发送探测数据的速度等于本端存储阵列向远端存储阵列拷贝探测数据的初始链路传输速度。
S306、本端存储阵列将该初始链路传输速率和第一预设等级系数的乘积作为初始发送速率,该第一预设等级系数小于1。
在本发明实施例中,当本端存储阵列通过向远端存储阵列发送探测数据,并根据在预设探测时间内本端存储阵列向远端存储阵列拷贝的探测数据量确定初始链路传输速率后,为了为本端存储阵列与远端存储阵列之间的传输其他数据留有备用的链路带宽,本端存储阵列将初始链路传输速率和第一预设等级系数的乘积作为初始发送速率。
示例性的,假设在本端存储阵列中设置了3个预设等级系数,分别为80%、60%和30%,这三个等级系数可分别表征本端存储阵列以最快速度向远端存储阵列发送第一拷贝数据,本端存储阵列以中等速度向远端存储阵列发送第一拷贝数据,以及本端存储阵列以最慢速度向远端存储阵列发送第一拷贝数据。
在本端存储阵列向远端存储阵列拷贝第一拷贝数据之前,用户从预设等级系数中选择第一预设等级系数,与初始链路传输速率相乘,确定本端存储阵列向远端存储阵列首次发送第一拷贝数据的初始发送速率。假设用户选择的第一预设等级系数80%,该初始链路传输速率为20M/s,则本端存储阵列将该第一预设等级系数和该初始链路传输速率的乘积16M/s作为本端存储阵列首次向远端存储阵列发送第一拷贝数据的初始发送速率。
S307、本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率。
其中,第一发送速率为本端存储阵列对本端存储阵列上一次向远端存储阵列发送数据的速率调节后的速率。
具体的,当本端存储阵列首次向远端存储阵列拷贝第一拷贝数据时,本端存储阵列获取的本端存储阵列首次向远端存储阵列发送第一拷贝数据的第一发送速率,为本端存储阵列对本端存储阵列上一次向远端存储阵列发送数据(即为上述探测数据)的速率(即为上述初始链路连接速率)调节后的速率(即为上述初始发送速率)。
当本端存储阵列第二次向远端存储阵列拷贝第一拷贝数据时,本端存储阵列获取的本端存储阵列第二次向远端存储阵列发送第一拷贝数据的第一发送速率,为本端存储阵列对本端存储阵列第一次向远端存储阵列发送数据(即为第一拷贝数据)的速率(即为本端存储阵列首次向远端存储阵列发送第一拷贝数据的第一发送速率)调节后的速率。
当本端存储阵列第三次向远端存储阵列拷贝第一拷贝数据时,本端存储阵列获取的本端存储阵列第三次向远端存储阵列发送第一拷贝数据的第一发送速率,为本端存储阵列对本端存储阵列第一次向远端存储阵列发送数据(即为第一拷贝数据)的速率(即为本端存储阵列第二次向远端存储阵列发送第一拷贝数据的第一发送速率)调节后的速率,以此类推,直至本端存储阵列向远端存储阵列拷贝完成所有的第一拷贝数据。
S308、本端存储阵列向远端存储阵列发送第一拷贝数据。
需要说明的是,本端存储阵列在本次向远端存储阵列拷贝第一拷贝数据的过程中,本端存储阵列采用S305中获取的第一发送速率向远端存储阵列发送第一拷贝数据。
S309、远端存储阵列根据接收的第一拷贝数据确定与该第一拷贝数据对应的第一拷贝数据响应。
S310、远端存储阵列向本端存储阵列发送第一拷贝数据响应。
S311、本端存储阵列确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率。
在本发明实施例中,本端存储阵列确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率的方式有两种(方式三和方式四)。
方式三,在本发明实施例中,若本端存储阵列在本端存储阵列向远端存储阵列拷贝完成预设数据量的第一拷贝数据后,对该第一发送速率进行调节,则上述S311具体可以包括:
S311a本端存储阵列确定向远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间。
具体的,在本发明实施例中,本端存储阵列确定向远端存储阵列拷贝预设数据量的第一拷贝数据的拷贝时间的方式由多种,以下提供两种可能的实现方式进行示例性的说明,本端存储阵列确定向远端存储阵列拷贝预设数据量的第一拷贝数据的拷贝时间的其他方式,均在本发明的保护范围之内,此处不再一一列举。
(1)本端存储阵列记录本次开始向远端存储阵列发送第一拷贝数据的开始时间,和本端存储阵列接收最后一个第一拷贝数据响应的完成时间。本端存储阵列确定该完成时间与该开始时间的差为向远端存储阵列拷贝预设数据量的第一拷贝数据的拷贝时间。具体的,可以在本端存储阵列中设置和拷贝计数器,本端存储阵列获取本次向远端存储阵列发送第一拷贝数据的第一发送速率时,将拷贝计数器清0,每当本端存储阵列接收一个远端存储阵列发送的第一拷贝数据响应时,拷贝计数器加1,本端存储阵列判断已拷贝完成的第一拷贝数据量(即拷贝计数器的计数与一个第一拷贝数据的大小的乘积)与该设数据量的大小。若拷贝完成的第一拷贝数据量小于预设数据量,则本端存储阵列继续向远端存储阵列发送第一拷贝数据;若已拷贝完成的第一拷贝数据量大于等于预设数据量,则本端存储阵列根据本端存储阵列接收最后一个第一拷贝数据响应的完成时间和该开始时间的差确定向远端存储阵列拷贝预设数据量的第一拷贝数据的拷贝时间。
(2),在本端存储阵列中设置拷贝正计时器和拷贝计数器,本端存储阵列获取本次向远端存储阵列发送第一拷贝数据的第一发送速率时,将该拷贝正计时器和拷贝计数器清0,并在本次开始向远端存储阵列发送第一拷贝数据时启动拷贝正计时器开始计时。每当本端存储阵列接收一个远端存储阵列发送的第一拷贝数据响应时,拷贝计数器加1,本端存储阵列判断已拷贝完成的第一拷贝数据量与该设数据量的大小。若拷贝完成的第一拷贝数据量小于预设数据量,则本端存储阵列继续向远端存储阵列发送第一拷贝数据;若拷贝完成的第一拷贝数据量大于等于预设数据量,则拷贝正计时器停止计时,该拷贝正计时器的计时时间为本端存储阵列确定向远端存储阵列拷贝预设数据量的第一拷贝数据的拷贝时间。
需要说明的是,该拷贝时间即为本次本端存储阵列向远端存储阵列拷贝第一拷贝数据的时间,且在该拷贝时间内,本端存储阵列以该第一发送速率向远端存储阵列发送第一拷贝数据。
S311b、本端存储阵列根据该预设数据量和该拷贝时间,确定本端存储阵列向远端存储阵列拷贝第一拷贝数据的链路传输速率。
具体的,本端存储阵列确定的本端存储阵列向远端存储阵列拷贝该预设数据量的第一拷贝数据的链路传输速率等于该预设数据量除以该拷贝时间。
方式四,在本发明实施例中,若本端存储阵列在本端存储阵列向远端存储阵列拷贝第一拷贝数据的一个预设拷贝周期结束后,对该第一发送速率进行调节,则上述S311具体可以包括:
S311c、本端存储阵列确定预设拷贝周期内,本端存储阵列向远端存储阵列拷贝的第一拷贝数据量。
其中,本端存储阵列向远端存储阵列拷贝的第一拷贝数据量是指,在预设拷贝周期内,本端存储阵列能够接收的远端存储阵列发送的第一拷贝数据响应的个数与第一拷贝数据的大小的乘积。
具体的,本端存储阵列确定预设拷贝周期内,向远端存储阵列拷贝的第一拷贝数据量的方式,与上述S304中本端存储阵列确定预设探测时间内,本端存储阵列向远端存储阵列拷贝的探测数据量的方式类似,具体可参见如上述S304中的相关描述,此处不再赘述。
需要说明的是,该预设拷贝周期即为本次本端存储阵列向远端存储阵列拷贝第一拷贝数据的时间,且在该预设拷贝周期内,本端存储阵列以该第一发送速率向远端存储阵列发送第一拷贝数据。
S311d、本端存储阵列根据该预设拷贝周期和该第一拷贝数据量,确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率。
具体的,本端存储阵列确定本端存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率等于该第一拷贝数据量除以该预设拷贝周期。
S312、若该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量。
S313、若该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大该第一预设调整量。
需要说明的是,S312和S313择一执行。
进一步的,结合图3,如图4所示,在上述S312或S313之前,本发明实施例提供的拷贝速率的调节方法还可以包括:
S314、本端存储阵列发送负荷检测指令至远端存储阵列,该负荷检测指令用于指示远端存储阵列检测远端存储阵列的当前负荷。
具体的,本端存储阵列可以周期性的向远端存储阵列发送负荷检测指令,指示远端存储阵列检测远端存储阵列的当前负荷。
S315、远端存储阵列根据负荷检测指令检测该远端存储阵列的当前负荷。
具体的,远端存储阵列根据负荷检测指令检测该远端存储阵列的当前负荷的方式,具体可参见如图2所示实施例中的相关描述,此处不再赘述。
S316、远端存储阵列发送负荷检测响应至本端存储阵列,该负荷检测响应中携带该远端存储阵列的当前负荷和该远端存储阵列的额定负荷。
需要说明的是,本端存储阵列可以周期性的执行上述S314-S315,且上述S314-S315并不限定在S311之后执行,本端存储阵列也可以在执行上述S307-S311的过程中执行上述S314-S315,本发明不作限制。
进一步的,如图4所示,上述S312-S313具体可以为:
S312a、若远端存储阵列的当前负荷大于等于远端存储阵列的额定负荷,且该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,并减小第二预设调整量。
S313a、若远端存储阵列的当前负荷大于等于远端存储阵列的额定负荷,且该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大第一预设调整量,并减小第二预设调整量。
需要说明的是,上述S312a和S313a择一执行。
具体的,在本发明实施例中,若本端存储阵列向远端存储阵列发送了负荷检测指令,且接收到远端存储阵列发送的负荷检测响,则本端存储阵列在本端存储阵列完成本次向远端存储阵列拷贝第一拷贝数据后,对该第一发送速率进行调节时,本端存储阵列需判读远端存储阵列的当前负荷与远端存储阵列的额定负荷的大小,和该第一发送速率与该链路传输速率的大小。
若远端存储阵列的当前负荷大于等于远端存储阵列的额定负荷,且该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,并减小第二预设调整量。具体的,本端存储阵列将第一发送速率减小第一预设调整量,再将减小后的第一发送速率减小第二预设调整量;或者,本端存储阵列将第一发送速率减小第二预设调整量,再将减小后的第一发送速率减小第一预设调整量。
若远端存储阵列的当前负荷大于等于远端存储阵列的额定负荷,且该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大第一预设调整量,并减小第二预设调整量。具体的,本端存储阵列将第一发送速率增大第一预设调整量,再将增大后的第一发送速率减小第二预设调整量;或者,本端存储阵列将第一发送速率减小第二预设调整量,再将减小后的第一发送速率增大第一预设调整量。
可以理解的是,若远端存储阵列的当前负荷大于等于远端存储阵列的额定负荷,即远端存储阵列超负荷,说明远端存储阵列不能及时处理该远端存储阵列接收的数据。因此,需降低远端存储阵列单位时间内接收的数据量。在本发明实施例中,通过在调节本端存储阵列向远端存储阵列发送第一拷贝数据的第一发送速率时,将第一发送速率减小,从而降低远端存储阵列在单位时间内接收的数据量,以避免远端存储阵列长时间超负荷。
进一步的,若远端存储阵列的当前负荷小于远端存储阵列的额定负荷,说明远端存储阵列能够及时处理该远端存储阵列接收的数据,因此,则本端存储阵列可以不对该第一发送速率减小第二预设调整量,只需根据该第一发送速率与该链路传输速率的大小,对该第一发送速率增大或减小第一预设调整量,调节第一发送速率。
可选的,结合图3,如图5所示,在执行上述S312或S313之前,本发明实施例提供的拷贝速率的调节方法还可以包括:
S314、本端存储阵列向远端存储阵列发送负荷检测指令,该负荷检测指令用于指示远端存储阵列检测远端存储阵列的当前负荷。
需要说明的是,本端存储阵列可以周期性的执行上述S314,且上述S314并不限定在S311之后执行,本端存储阵列也可以在执行上述S307-S311的过程中执行上述S314,本发明不作限制。
进一步的,如图5所示,上述S312-S313具体可以为:
S312b、若在预设响应时间内,本端存储阵列未接收到远端存储阵列发送的负荷检测响应,且该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,并减小第二预设调整量。
S313b、若在预设响应时间内,本端存储阵列未接收到远端存储阵列发送的负荷检测响应,且该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大第一预设调整量,并减小第二预设调整量。
需要说明的是,上述S312b和S313b择一执行。
具体的,在本发明实施例中,若本端存储阵列向远端存储阵列发送了负荷检测指令,则本端存储阵列在本端存储阵列完成本次向远端存储阵列拷贝第一拷贝数据后,对该第一发送速率进行调节时,本端存储阵列需判读在预设响应时间内是否接收到远端存储阵列发送的负荷检测响应,和该第一发送速率与该链路传输速率的大小。
若在预设响应时间内,本端存储阵列未接收到远端存储阵列发送的负荷检测响应,且该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,并减小第二预设调整量。具体的,本端存储阵列将第一发送速率减小第一预设调整量,再将减小后的第一发送速率减小第二预设调整量;或者,本端存储阵列将第一发送速率减小第二预设调整量,再将减小后的第一发送速率减小第一预设调整量。
若在预设响应时间内,本端存储阵列未接收到远端存储阵列发送的负荷检测响应,且该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大第一预设调整量,并减小第二预设调整量。具体的,本端存储阵列将第一发送速率增大第一预设调整量,再将增大后的第一发送速率减小第二预设调整量;或者,本端存储阵列将第一发送速率减小第二预设调整量,再将减小后的第一发送速率增大第一预设调整量。
可以理解的时,当本端存储阵列将负荷检测指令发送至远端存储阵列后,若在预设响应时间内,本端存储阵列为接收到远端存储阵列发送的负荷检测响应,说明远端存储阵列未能及时处理该负荷检测指令,即远端存储阵列超负荷。因此,需降低远端存储阵列单位时间内接收的数据量。在本发明实施例中,通过在调节本端存储阵列向远端存储阵列发送第一拷贝数据的第一发送速率时,将第一发送速率减小,从而降低远端存储阵列在单位时间内接收的数据量,以避免远端存储阵列长时间超负荷。
进一步的,当本端存储阵列向远端存储阵列同时拷贝第一拷贝数据和第二拷贝数据时,结合图3,如图6所示,上述S307,具体可以为:
S307a、本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,该第一发送速率为本端存储阵列对本端存储阵列上一次向远端存储阵列发送数据的速率调节后的速率与第二预设等级系数的乘积,该第二预设等级系数小于1。
其中,该第二拷贝数据为本端存储阵列在接收到第二拷贝数据后的预设拷贝时间内需向远端存储阵列拷贝的拷贝数据,即可以理解为当本端存储阵列接收到第二拷贝数据后,需及时拷贝到远端存储阵列。
该第二拷贝数据具体可以为本端存储阵列需同步复制到远端存储阵列的拷贝数据。其中,本端存储阵列将第二拷贝数据同步复制到远端存储阵列,是指本端存阵列接收到主机的第二拷贝数据后,将主机的第二拷贝数据存储到本端存储阵列中的同时(可以理解为在极短的预设拷贝时间内)向远端存储阵列拷贝该第二拷贝数据。
第二预设等级系数可以为如图3所示实施例中的3个预设等级系数中,表征本端存储阵列以最慢速度向远端存储阵列发送第一拷贝数据的预设等级系数。
示例性的,假设,本端存储阵列对上一次向远端存储阵列发送第一拷贝数据的速率调节后的速率为10M/s,第二预设等级系数为30%。当本端存储阵列向远端存储阵列同时拷贝第一拷贝数据和第二拷贝数据时,本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,该第一发送速率为10M/s与30%的乘积,即本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率为3M/s。
进一步的,在本发明实施例中,当本端存储阵列向远端存储阵列同时拷贝第一拷贝数据和第二拷贝数据时,本端存储阵列能够自动降低向远端存储阵列发送第一拷贝数据的速率,从而降低本端存储阵列向远端存储阵列拷贝第一拷贝数据时占用的链路带宽,进而提高本端存储阵列向远端存储阵列拷贝第二拷贝数据时的链路带宽,保证本端存储阵列向远端存储阵列拷贝第二拷贝数据的拷贝速率。
本发明实施例提供一种拷贝速率的调节方法,具体为本端存储阵列获取本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,并确定本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,该第一发送速率为本端存储阵列对本端存储阵列上一次向远端存储阵列发送数据的速率调节后的速率,若该第一发送速率大于等于该链路传输速率,则本端存储阵列将该第一发送速率减小第一预设调整量,若该第一发送速率小于该链路传输速率,则本端存储阵列将该第一发送速率增大该第一预设调整量。通过该方法,本端存储阵列在本次向远端存储阵列拷贝完成第一拷贝数据后,本端存储阵列既能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低本端存储阵列向远端存储阵列发送第一拷贝数据的速率,以避免链路超负荷;又能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低本端存储阵列向远端存储阵列发送第一拷贝数据的速率,以减小对链路带宽的浪费,因此,根据本发明实施例提供的拷贝速率的调节方法,本端存储阵列能够自动调节拷贝速率,使得调节后的拷贝速率更适应当前的链路带宽。
实施例三
如图7所示,本发明实施例提供一种存储阵列,该存储阵列可以包括:
获取单元10,用于获取发送单元11本次向远端存储阵列发送第一拷贝数据的第一发送速率。
确定单元12,用于确定所述发送单元11本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
调节单元13,用于若所述获取单元10获取的所述第一发送速率大于等于所述确定单元12确定的所述链路传输速率,则将所述第一发送速率减小第一预设调整量,若所述获取单元10获取的所述第一发送速率小于所述确定单元12确定的所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量。
其中,发送单元11用于向远端存储阵列发送数据,既可以理解为向远端存储阵列拷贝数据。
可选的,所述获取单元10获取的所述第一发送速率为所述调节单元13对所述发送单元11上一次向所述远端存储阵列发送数据的速率调节后的速率。
可选的,结合图7,如图8所示,所述存储阵列还包括接收单元14。
所述发送单元11,还用于当所述存储阵列与所述远端存储阵列首次建立连接时,向所述远端存储阵列发送探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述发送单元11首次向所述远端存储阵列发送第一拷贝数据。
所述确定单元12,还用于确定预设探测时间内,所述发送单元11向所述远端存储阵列拷贝的探测数据量,并根据所述探测数据量和所述预设探测时间,确定所述发送单元11向所述远端存储阵列拷贝所述探测数据的初始链路传输速率,以及将所述初始链路传输速率和第一预设等级系数的乘积作为所述初始发送速率,所述探测数据量为所述接收单元14在所述预设探测时间内接收的所述远端存储阵列发送的探测数据响应的个数与所述探测数据的大小的乘积,所述第一预设等级系数小于1。
可选的,所述确定单元12,具体用于确定所述发送单元11向所述远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间,并根据所述预设数据量和所述拷贝时间,确定所述发送单元11本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
可选的,所述确定单元12,具体用于确定预设拷贝周期内,所述发送单元11向所述远端存储阵列拷贝的第一拷贝数据量,并根据所述预设拷贝周期和所述第一拷贝数据量,确定所述发送单元11本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,所述第一拷贝数据量为所述接收单元14在所述预设拷贝周期内接收的所述远端存储阵列发送的第一拷贝数据响应的个数与所述第一拷贝数据的大小的乘积。
可选的,所述发送单元11,还用于向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷。
所述接收单元14,还用于接收所述远端存储阵列发送的负荷检测响应,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷。
所述调节单元13,具体用于若所述接收单元14接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若所述接收单元14接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
可选的,所述发送单元11,还用于向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷。
所述调节单元13,具体用于若在预设响应时间内,所述接收单元14未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若在预设响应时间内,所述接收单元14未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
可选的,当所述发送单元11向所述远端存储阵列同时拷贝所述第一拷贝数据和第二拷贝数据时,所述获取单元10获取的所述第一发送速率为所述调节单元对所述发送单元上一次向所述远端存储阵列发送数据的速率调节后的速率与第二预设等级系数的乘积,所述第二拷贝数据为所述接收单元14在接收到所述第二拷贝数据后的预设拷贝时间内所述发送单元11需向所述远端存储阵列拷贝的拷贝数据,所述第二预设等级系数小于1。
需要说明的是,本发明实施例提供的存储阵列可以为一个存储设备,具体可以为存储区域网络(英文:storageareanetwork,缩写:SAN)存储。
本发明实施例提供一种存储阵列,该存储阵列获取该存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,并确定该存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率,该第一发送速率为该存储阵列对本端存储阵列上一次向远端存储阵列发送数据的速率调节后的速率,若该第一发送速率大于等于该链路传输速率,则该存储阵列将该第一发送速率减小第一预设调整量,若该第一发送速率小于该链路传输速率,则该存储阵列将该第一发送速率增大该第一预设调整量。通过本发明实施例提供的存储阵列,在本次向远端存储阵列拷贝完成第一拷贝数据后,该存储阵列既能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低该存储阵列向远端存储阵列发送第一拷贝数据的速率,以避免链路超负荷;又能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低该存储阵列向远端存储阵列发送第一拷贝数据的速率,以减小对链路带宽的浪费,因此,根据本发明实施例提供的存储阵列,能够自动调节拷贝速率,使得调节后的拷贝速率更适应当前的链路带宽。
如图9所示,本发明实施例提供另一种存储阵列,该存储阵列可以包括:
接收单元20,用于接收本端存储阵列发送的负荷检测指令,所述负荷检测指令用于指示检测单元21检测所述存储阵列的当前负荷。
所述检测单元21,用于根据所述接收单元20接收的所述负荷检测指令,检测所述存储阵列的当前负荷。
发送单元22,用于向所述本端存储阵列发送负荷检测响应,所述负荷检测响应中携带所述检测单元21检测的所述存储阵列的当前负荷和所述存储阵列的额定负荷,所述存储阵列的当前负荷和所述存储阵列的额定负荷,用于调节所述本端存储阵列发送拷贝数据的速率。
可选的,所述接收单元20,还用于在所述接收单元20接收本端存储阵列发送的负荷检测指令之前,接收所述本端存储阵列发送的探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次发送拷贝数据。
所述发送单元22,还用于向所述本端存储阵列发送探测数据响应,所述探测数据响用于确定所述初始发送速率,所述初始发送速率用于所述本端存储阵列首次发送所述拷贝数据。
需要说明的是,本发明实施例提供的存储阵列可以为一个存储设备,具体可以为SAN存储。
本发明实施例提供一种存储阵列,该存储阵列能够接收本端存储阵列发送的负荷检测指令,根据该负荷检测指令,检测该存储阵列的当前负荷,并向本端存储阵列发送负荷检测响应,该负荷检测指令用于指示该存储阵列检测该存储阵列的当前负荷,该负荷检测响应中包含该存储阵列的当前负荷和该存储阵列的额定负荷。通过本发明实施例提供的存储阵列,能够向本端存储阵列反馈负荷检测响应,使得本端存储阵列根据该负荷检测响应自动调节本端存储阵列向远端存储阵列发送拷贝数据的速率,使得调节后的拷贝速率更适应该存储阵列需求链路带宽,从而避免该存储阵列超负荷。
实施例四
如图10所示,本发明实施例提供一种存储阵列,该存储阵列可以包括:处理器30、通信接口31、存储器32,以及系统总线33。所述处理器30、通信接口31,以及存储器32之间通过所述系统总线33连接并完成相互之间的通信。
所述处理器30可以是一个中央处理器(英文:CentralProcessingUnit,缩写:CPU),或者是特定集成电路(英文:ApplicationSpecificIntegratedCircuit,缩写:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信接口31,用于所述处理器30与其他设备进行通信,例如与其他存储阵列进行通信。
所述存储器32可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:RAM);所述存储器32也可以包括非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:ROM),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:HDD)或固态硬盘(英文:solid-statedrive,缩写:SSD);所述存储器32还可以包括上述种类的存储器的组合。
当所述存储阵列运行时,所述处理器30、通信接口31,以及存储器32,可以执行图1、或图3至图6任意之一所述的方法流程,具体包括:
处理器30,用于获取本次向远端存储阵列发送第一拷贝数据的第一发送速率,并确定所述本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,以及若所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小第一预设调整量,若所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量;所述存储器32,用于存储所述第一发送速率的代码、所述链路传输速率的代码、所述预设数据量的代码、所述第一拷贝数据、所述第一预设调整量的代码,以及控制所述处理器30完成上述过程的软件程序,从而所述处理器30通过执行所述软件程序,并调用所述第一发送速率的代码、所述链路传输速率的代码、所述预设数据量的代码、所述第一拷贝数据,以及所述第一预设调整量的代码,完成上述过程。
需要说明的是,所述处理器30通过所述通信接口31向远端存储阵列发送第一拷贝数据。
可选的,所述处理器30获取的所述第一发送速率为处理器30对上一次向所述远端存储阵列发送数据的速率调节后的速率。
可选的,所述处理器30,还用于当所述存储阵列与所述远端存储阵列首次建立连接时,向所述远端存储阵列发送探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于首次向所述远端存储阵列发送第一拷贝数据。
所述处理器30,还用于确定预设探测时间内,向所述远端存储阵列拷贝的探测数据量,并根据所述探测数据量和所述预设探测时间,确定向所述远端存储阵列拷贝所述探测数据的初始链路传输速率,以及将所述初始链路传输速率和第一预设等级系数的乘积作为所述初始发送速率,所述探测数据量为在所述预设探测时间内接收的所述远端存储阵列发送的探测数据响应的个数与所述探测数据的大小的乘积,所述第一预设等级系数小于1。
可选的,所述处理器30,具体用于确定向所述远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间,并根据所述预设数据量和所述拷贝时间,确定向所述远端存储阵列拷贝预设数据量的第一拷贝数据的链路传输速率。
可选的,所述处理器30,具体用于确定预设拷贝周期内,向所述远端存储阵列拷贝的第一拷贝数据量,并根据所述预设拷贝周期和所述第一拷贝数据量,确定本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,所述第一拷贝数据量为在所述预设拷贝周期内接收的所述远端存储阵列发送的第一拷贝数据响应的个数与所述第一拷贝数据的大小的乘积。
可选的,所述处理器30,还用于向所述远端存储阵列发送负荷检测指令,并接收所述远端存储阵列发送的负荷检测响应,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷。
所述处理器30,还用于若接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
可选的,所述处理器30,还用于向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷。
所述处理器30,还用于若在预设响应时间内,若在预设响应时间内,未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若在预设响应时间内,未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
可选的,当所述处理器30向所述远端存储阵列同时拷贝所述第一拷贝数据和第二拷贝数据时,所述处理器30获取的所述第一发送速率为对上一次向所述远端存储阵列发送数据的速率调节后的速率与第二预设等级系数的乘积,所述第二拷贝数据为所述处理器30在接收到所述第二拷贝数据后的预设拷贝时间内需向所述远端存储阵列拷贝的拷贝数据,所述第二预设等级系数小于1。
本发明实施例提供一种存储阵列,该存储阵列获取该存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率,并确定该存储阵列本次向远端存储阵列拷贝第一拷贝数据的链路传输速率,该第一发送速率为该存储阵列对本端存储阵列上一次向远端存储阵列发送数据的速率调节后的速率,若该第一发送速率大于等于该链路传输速率,则该存储阵列将该第一发送速率减小第一预设调整量,若该第一发送速率小于该链路传输速率,则该存储阵列将该第一发送速率增大该第一预设调整量。通过本发明实施例提供的存储阵列,在本次向远端存储阵列拷贝完成第一拷贝数据后,该存储阵列既能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低该存储阵列向远端存储阵列发送第一拷贝数据的速率,以避免链路超负荷;又能够在本次向远端存储阵列发送第一拷贝数据的第一发送速率大于等于本次向远端存储阵列拷贝第一拷贝数据的链路传输速率时,降低该存储阵列向远端存储阵列发送第一拷贝数据的速率,以减小对链路带宽的浪费,因此,根据本发明实施例提供的存储阵列,能够自动调节拷贝速率,使得调节后的拷贝速率更适应当前的链路带宽。
如图11所示,本发明实施例提供另一种存储阵列,该存储阵列可以包括:处理器40、通信接口41、存储器42,以及系统总线43。所述处理器40、通信接口41,以及存储器42之间通过所述系统总线43连接并完成相互之间的通信。
所述处理器40可以是一个CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
所述通信接口41,用于所述处理器40与其他设备进行通信,例如与其他存储阵列进行通信。
所述存储器42可以包括易失性存储器,例如,RAM;所述存储器42也可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD;所述存储器42还可以包括上述种类的存储器的组合。
当所述存储阵列运行时,所述处理器40、通信接口41,以及存储器42,可以执行图2至图6任意之一所述的方法流程,具体包括:
所述处理器40,用于通过所述通信接口41接收本端存储阵列发送的负荷检测指令,并根据所述负荷检测指令,检测所述存储阵列的当前负荷,以及向所述本端存储阵列发送负荷检测响应,所述负荷检测指令用于指示所述处理器40检测所述存储阵列的当前负荷,所述负荷检测响应中携带所述存储阵列的当前负荷和所述存储阵列的额定负荷,所述存储阵列的当前负荷和所述存储阵列的额定负荷用于调节所述本端存储阵列发送拷贝数据的速率;所述存储器42,用于存储所述负荷检测指令的代码、所述负荷检测响应的代码、所述存储阵列的当前负荷的代码、所述存储阵列的额定负荷的代码,以及控制所述处理器40完成上述过程的软件程序,从而所述处理器40通过执行所述软件程序,并调用所述负荷检测指令的代码、所述负荷检测响应的代码、所述存储阵列的当前负荷的代码,以及所述存储阵列的额定负荷的代码,完成上述过程
可选的,所述处理器40,还用于在通过所述通信接口41接收本端存储阵列发送的负荷检测指令之前,接收所述本端存储阵列发送的探测数据,并向所述本端存储阵列发送探测数据响应,所述探测数据和所述探测数据响应用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次发送拷贝数据。
本发明实施例提供一种存储阵列,该存储阵列能够接收本端存储阵列发送的负荷检测指令,根据该负荷检测指令,检测该存储阵列的当前负荷,并向本端存储阵列发送负荷检测响应,该负荷检测指令用于指示该存储阵列检测该存储阵列的当前负荷,该负荷检测响应中包含该存储阵列的当前负荷和该存储阵列的额定负荷。通过本发明实施例提供的存储阵列,能够向本端存储阵列反馈负荷检测响应,使得本端存储阵列根据该负荷检测响应自动调节本端存储阵列向远端存储阵列发送拷贝数据的速率,使得调节后的拷贝速率更适应该存储阵列需求链路带宽,从而避免该存储阵列超负荷。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种拷贝速率的调节方法,其特征在于,包括:
本端存储阵列获取所述本端存储阵列本次向远端存储阵列发送第一拷贝数据的第一发送速率;
所述本端存储阵列确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率;
若所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小第一预设调整量;
若所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量。
2.根据权利要求1所述的方法,其特征在于,
所述第一发送速率为所述本端存储阵列对所述本端存储阵列上一次向所述远端存储阵列发送数据的速率调节后的速率。
3.根据权利要求2所述的方法,其特征在于,当所述本端存储阵列与所述远端存储阵列首次建立连接时,所述方法还包括:
所述本端存储阵列向所述远端存储阵列发送探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次向所述远端存储阵列发送第一拷贝数据;
所述本端存储阵列确定预设探测时间内,所述本端存储阵列向所述远端存储阵列拷贝的探测数据量,所述探测数据量为所述本端存储阵列在所述预设探测时间内接收的所述远端存储阵列发送的探测数据响应的个数与所述探测数据的大小的乘积;
所述本端存储阵列根据所述探测数据量和所述预设探测时间,确定所述本端存储阵列向所述远端存储阵列拷贝所述探测数据的初始链路传输速率;
所述本端存储阵列将所述初始链路传输速率和第一预设等级系数的乘积作为所述初始发送速率,所述第一预设等级系数小于1。
4.根据权利要求2或3所述的方法,其特征在于,所述本端存储阵列确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,包括:
所述本端存储阵列确定向所述远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间;
所述本端存储阵列根据所述预设数据量和所述拷贝时间,确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
5.根据权利要求2或3所述的方法,其特征在于,所述本端存储阵列确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,包括:
所述本端存储阵列确定预设拷贝周期内,本端存储阵列向所述远端存储阵列拷贝的第一拷贝数据量,所述第一拷贝数据量为所述本端存储阵列在所述预设拷贝周期内接收的所述远端存储阵列发送的第一拷贝数据响应的个数与所述第一拷贝数据的大小的乘积;
所述本端存储阵列根据所述预设拷贝周期和所述第一拷贝数据量,确定所述本端存储阵列本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
6.根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
所述本端存储阵列向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述本端存储阵列接收所述远端存储阵列发送的负荷检测响应,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷;
所述若所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小第一预设调整量,包括:
若所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量;
所述若所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,包括:
若所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
7.根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
所述本端存储阵列向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述若所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小第一预设调整量,包括:
若在预设响应时间内,所述本端存储阵列未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率大于等于所述链路传输速率,则所述本端存储阵列将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量;
所述若所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,包括:
若在预设响应时间内,所述本端存储阵列未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率小于所述链路传输速率,则所述本端存储阵列将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
8.根据权利要求2-7任一项所述的方法,其特征在于,当所述本端存储阵列向所述远端存储阵列同时拷贝所述第一拷贝数据和第二拷贝数据时,所述第二拷贝数据为所述本端存储阵列在接收到所述第二拷贝数据后的预设拷贝时间内需向所述远端存储阵列拷贝的拷贝数据,
所述第一发送速率为所述本端存储阵列对所述本端存储阵列上一次向所述远端存储阵列发送数据的速率调节后的速率与第二预设等级系数的乘积,所述第二预设等级系数小于1。
9.一种拷贝速率的调节方法,其特征在于,包括:
远端存储阵列接收本端存储阵列发送的负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述远端存储阵列根据所述负荷检测指令,检测所述远端存储阵列的当前负荷;
所述远端存储阵列向所述本端存储阵列发送负荷检测响应,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷,所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷,用于调节所述本端存储阵列向所述远端存储阵列发送拷贝数据的速率。
10.根据权利要求9所述的方法,其特征在于,所述远端存储阵列接收本端存储阵列发送的负荷检测指令之前,所述方法还包括:
所述远端存储阵列接收所述本端存储阵列发送的探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次向所述远端存储阵列发送拷贝数据;
所述远端存储阵列向所述本端存储阵列发送探测数据响应,所述探测数据响用于确定所述初始发送速率,所述初始发送速率用于所述本端存储阵列首次向所述远端存储阵列发送所述拷贝数据。
11.一种存储阵列,其特征在于,包括:
获取单元,用于获取发送单元本次向远端存储阵列发送第一拷贝数据的第一发送速率;
确定单元,用于确定所述发送单元本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率;
调节单元,用于若所述获取单元获取的所述第一发送速率大于等于所述确定单元确定的所述链路传输速率,则将所述第一发送速率减小第一预设调整量,若所述获取单元获取的所述第一发送速率小于所述确定单元确定的所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量。
12.根据权利要求11所述的存储阵列,其特征在于,
所述获取单元获取的所述第一发送速率为所述调节单元对所述发送单元上一次向所述远端存储阵列发送数据的速率调节后的速率。
13.根据权利要求12所述的存储阵列,其特征在于,所述存储阵列还包括接收单元,
所述发送单元,还用于当所述存储阵列与所述远端存储阵列首次建立连接时,向所述远端存储阵列发送探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述发送单元首次向所述远端存储阵列发送第一拷贝数据;
所述确定单元,还用于确定预设探测时间内,所述发送单元向所述远端存储阵列拷贝的探测数据量,并根据所述探测数据量和所述预设探测时间,确定所述发送单元向所述远端存储阵列拷贝所述探测数据的初始链路传输速率,以及将所述初始链路传输速率和第一预设等级系数的乘积作为所述初始发送速率,所述探测数据量为所述接收单元在所述预设探测时间内接收的所述远端存储阵列发送的探测数据响应的个数与所述探测数据的大小的乘积,所述第一预设等级系数小于1。
14.根据权利要求12或13所述的存储阵列,其特征在于,
所述确定单元,具体用于确定所述发送单元向所述远端存储阵列拷贝完成预设数据量的第一拷贝数据的拷贝时间,并根据所述预设数据量和所述拷贝时间,确定所述发送单元本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率。
15.根据权利要求13所述的存储阵列,其特征在于,
所述确定单元,具体用于确定预设拷贝周期内,所述发送单元向所述远端存储阵列拷贝的第一拷贝数据量,并根据所述预设拷贝周期和所述第一拷贝数据量,确定所述发送单元本次向所述远端存储阵列拷贝第一拷贝数据的链路传输速率,所述第一拷贝数据量为所述接收单元在所述预设拷贝周期内接收的所述远端存储阵列发送的第一拷贝数据响应的个数与所述第一拷贝数据的大小的乘积。
16.根据权利要求13或15所述的存储阵列,其特征在于,
所述发送单元,还用于向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述接收单元,还用于接收所述远端存储阵列发送的负荷检测响应,所述负荷检测响应中携带所述远端存储阵列的当前负荷和所述远端存储阵列的额定负荷;
所述调节单元,具体用于若所述接收单元接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若所述接收单元接收的所述远端存储阵列的当前负荷大于等于所述远端存储阵列的额定负荷,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
17.根据权利要求13或15所述的存储阵列,其特征在于,
所述发送单元,还用于向所述远端存储阵列发送负荷检测指令,所述负荷检测指令用于指示所述远端存储阵列检测所述远端存储阵列的当前负荷;
所述调节单元,具体用于若在预设响应时间内,所述接收单元未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率大于等于所述链路传输速率,则将所述第一发送速率减小所述第一预设调整量,并减小第二预设调整量,若在预设响应时间内,所述接收单元未接收到所述远端存储阵列发送的负荷检测响应,且所述第一发送速率小于所述链路传输速率,则将所述第一发送速率增大所述第一预设调整量,并减小所述第二预设调整量。
18.根据权利要求13或15-17任一项所述的存储阵列,其特征在于,当所述发送单元向所述远端存储阵列同时拷贝所述第一拷贝数据和第二拷贝数据时,所述第二拷贝数据为所述接收单元在接收到所述第二拷贝数据后的预设拷贝时间内所述发送单元需向所述远端存储阵列拷贝的拷贝数据,
所述获取单元获取的所述第一发送速率为所述调节单元对所述发送单元上一次向所述远端存储阵列发送数据的速率调节后的速率与第二预设等级系数的乘积,所述第二预设等级系数小于1。
19.一种存储阵列,其特征在于,包括:
接收单元,用于接收本端存储阵列发送的负荷检测指令,所述负荷检测指令用于指示检测单元检测所述存储阵列的当前负荷;
所述检测单元,用于根据所述接收单元接收的所述负荷检测指令,检测所述存储阵列的当前负荷;
发送单元,用于向所述本端存储阵列发送负荷检测响应,所述负荷检测响应中携带所述检测单元检测的所述存储阵列的当前负荷和所述存储阵列的额定负荷,所述存储阵列的当前负荷和所述存储阵列的额定负荷,用于调节所述本端存储阵列发送拷贝数据的速率。
20.根据权利要求19所述的存储阵列,其特征在于,
所述接收单元,还用于在所述接收单元接收本端存储阵列发送的负荷检测指令之前,接收所述本端存储阵列发送的探测数据,所述探测数据用于确定初始发送速率,所述初始发送速率用于所述本端存储阵列首次发送拷贝数据;
所述发送单元,还用于向所述本端存储阵列发送探测数据响应,所述探测数据响用于确定所述初始发送速率,所述初始发送速率用于所述本端存储阵列首次发送所述拷贝数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410775930.4A CN105786640A (zh) | 2014-12-15 | 2014-12-15 | 一种拷贝速率的调节方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410775930.4A CN105786640A (zh) | 2014-12-15 | 2014-12-15 | 一种拷贝速率的调节方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105786640A true CN105786640A (zh) | 2016-07-20 |
Family
ID=56374623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410775930.4A Pending CN105786640A (zh) | 2014-12-15 | 2014-12-15 | 一种拷贝速率的调节方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786640A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406763A (zh) * | 2016-09-21 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种后台拷贝方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040192260A1 (en) * | 2003-03-31 | 2004-09-30 | Seiko Epson Corporation | Data backup system and data backup method, wearable computer, mail transmission system, image-information transmission system, and data backup program |
CN1691590A (zh) * | 2004-04-19 | 2005-11-02 | 华为技术有限公司 | 无线链路数据传输中接收端发送窗口大小调整信息的方法 |
CN1759554A (zh) * | 2003-03-17 | 2006-04-12 | 艾利森电话股份有限公司 | 获得有关传输容量的信息的方法 |
WO2013091180A1 (zh) * | 2011-12-21 | 2013-06-27 | 华为技术有限公司 | 文件初始传输速率的确定方法、装置和系统 |
CN103970622A (zh) * | 2013-01-30 | 2014-08-06 | 杭州宏杉科技有限公司 | 一种复制过程调整方法及装置 |
-
2014
- 2014-12-15 CN CN201410775930.4A patent/CN105786640A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1759554A (zh) * | 2003-03-17 | 2006-04-12 | 艾利森电话股份有限公司 | 获得有关传输容量的信息的方法 |
US20040192260A1 (en) * | 2003-03-31 | 2004-09-30 | Seiko Epson Corporation | Data backup system and data backup method, wearable computer, mail transmission system, image-information transmission system, and data backup program |
CN1691590A (zh) * | 2004-04-19 | 2005-11-02 | 华为技术有限公司 | 无线链路数据传输中接收端发送窗口大小调整信息的方法 |
WO2013091180A1 (zh) * | 2011-12-21 | 2013-06-27 | 华为技术有限公司 | 文件初始传输速率的确定方法、装置和系统 |
CN103970622A (zh) * | 2013-01-30 | 2014-08-06 | 杭州宏杉科技有限公司 | 一种复制过程调整方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406763A (zh) * | 2016-09-21 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种后台拷贝方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6888772B2 (ja) | 無線バッテリー管理システム及びこれを含むバッテリーパック | |
EP3279794B1 (en) | Time-based node election method and apparatus | |
KR101209918B1 (ko) | 반도체 저장 장치를 위한 프로그램 가능한 인터페이스를 가지는 raid 컨트롤러 | |
CN102135927B (zh) | 一种基于nand flash的系统引导方法和装置 | |
CN105700901A (zh) | 一种启动方法、装置和计算机系统 | |
KR101410596B1 (ko) | 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법 | |
CN108509157A (zh) | 一种应用于分布式文件系统的数据均衡方法及装置 | |
US10120590B2 (en) | Method for providing read data flow control or error reporting using a read data strobe | |
US20160196226A1 (en) | Method and Apparatuses for Monitoring System Bus | |
US7698524B2 (en) | Apparatus and methods for controlling output of clock signal and systems including the same | |
CN106575169B (zh) | 消除充电器对触摸屏的干扰的方法和移动终端 | |
US20060277339A1 (en) | Communication apparatus, switching method, and switching program | |
US20080133695A1 (en) | Information processing system and backing up data method | |
CN104185216A (zh) | 一种文件的传输方法和装置 | |
JP6754693B2 (ja) | 異なる通信技術を用いるネットワークで送受信されるデータ及びイベントギャップの整合方法 | |
WO2016183918A1 (zh) | 存储空间处理方法及装置 | |
CN105260655A (zh) | 一种应用程序启动保护的方法、装置及系统 | |
CN103902408A (zh) | 使用布隆过滤器检测副本之间的偏差 | |
CN102637139A (zh) | 嵌入式系统喂狗的方法、装置及单板 | |
CN105786640A (zh) | 一种拷贝速率的调节方法及装置 | |
KR101200997B1 (ko) | 멀티 pci 버스 스위칭을 갖는 raid 컨트롤러 | |
US7752471B1 (en) | Adaptive USB mass storage devices that reduce power consumption | |
KR20170027556A (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
CN103902301A (zh) | 读取bios的方法、装置以及处理器 | |
CN113131543A (zh) | 充电控制方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160720 |