一种基于iSCSI协议的传输速率控制方法和装置制造方法及图纸

技术编号:15726961 阅读:117 留言:0更新日期:2017-06-29 22:49
本发明专利技术实施例公开了一种基于iSCSI协议的传输速率控制方法,包括:获取iSCSI会话在当前时刻的会话传输速率;判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值;若为是,在所述iSCSI会话中增加新的TCP连接。本发明专利技术实施例还公开了一种基于iSCSI协议的传输速率控制装置。采用本发明专利技术,能根据传输需求自适应的调节iSCSI会话的传输速率。

【技术实现步骤摘要】
一种基于iSCSI协议的传输速率控制方法和装置
本专利技术涉及通信领域,尤其涉及一种基于iSCSI协议的传输速率控制方法和装置。
技术介绍
iSCSI(InternetSmallComputerSystemInterface,互联网小型计算机系统接口,简称iSCSI)技术可以实现在IP网络上运行SCSI协议,用户可利用目前成熟的IP网络来构建存储局域网络。参见图1,为基于iSCSI协议的系统结构图,发起端initiator作为客户端,目标端target作为服务器,发起端和目标端通过建立的iSCSI会话传输数据,iSCSI会话包括一个或多个TCP(TransmissionControlProtocol,传输控制协议,简称TCP)连接。由于iSCSI协议是承载在TCP协议上的,在建立iSCSI会话之前需要建立TCP连接。基于IP的iSCSI协议传输依赖于TCP连接,通过一个TCP连接发送的iSCSI请求,该iSCSI请求对应的响应和确认应答等数据必须经由同一个TCP连接返回。发起端和目标端通过该iSCSI会话传输数据时,为iSCSI分配一定的传输资源,在后续传输过程中,iSCSI会话占用的传输资源不再改变,然而发起端和目标端之间的数据量存在波动时,无法很好的适应复杂多变的传输环境。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种基于iSCSI协议的传输速率控制方法和装置。可根据传输要求自适应的调节iSCSI会话的传输速率。第一方面,本申请的实施例提供了一种基于iSCSI协议的传输速率控制方法,包括:实现本专利技术实施例的执行主体包括作为发送端,发送端可以是iSCSI协议中的发起端或目标端。发送端预设设定传输速率需求值,传输速率需求值为iSCSI会话需要达到的期望值,发送端周期性的获取iSCSI会话在当前时刻的会话传输速率,判断iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值;若为是,建立新的TCP连接,为新的TCP连接分配传输资源,在iSCSI会话中增加新的TCP连接,从而增加iSCSI会话的会话传输速率,使iSCSI会话的会话传输速率达到预设的传输速率需求值。发送端如果在当前时刻的会话传输速率大于或等于预设的传输速率需求值,表明满足传输需求,发送端停止向iSCSI会话中增加新的TCP连接。在一种设计中,发送端在判断iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值之前,发送端判断iSCSI会话在当前时刻的会话传输速率与上一时刻相比是否增加,若为是,执行判断iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值的步骤。发送端在向当前时刻向iSCSI会话中增加新的TCP连接后,如果系统的传输资源(例如内存、CPU或带宽)还有空闲,那么发送端在下一时刻获取该iSCSI会话时,该iSCSI会话的会话传输速率会相应的增加;如果下一时刻iSCSI会话的会话传输速率没有增加,表明系统的传输资源已饱和,没有空闲,继续在该iSCSI会话中增加新的TCP连接也不会提高会话传输速率。在另一种可能的设计中,发送端获取iSCSI会话在当前时刻的会话传输速率的方法可以是:首先发送端确定iSCSI会话包括哪些TCP连接;针对该iSCSI会话包括的每个TCP连接,发送端获取TCP连接在当前时刻接收的应答报文和上一时刻接收的应答报文,根据上述两个应答报文的时间戳和序列号计算出该TCP连接的的TCP传输速率,公式具体为:Sn=(ACKn-ACKn-1)/(Tn-Tn-1),ACKn表示当前时刻接收的应答报文的序列号,ACKn-1表示上一时刻接收的应答报文的序列号,Tn表示当前时刻接收的应答报文的时间戳,Tn-1表示上一时刻接收的应答报文的时间戳,Sn表示该TCP连接在当前时刻的TCP传输速率,按照上述公式发送端计算出iSCSI会话中包括的所有TCP连接的TCP传输速率,将所有的TCP连接的TCP传输速率进行求和得到iSCSI会话在当前时刻的会话传输速率Sn。在另一种设计中,发送端获取iSCSI会话在当前时刻的会话传输速率之后,需要根据公式α×Sn-1+β×Sn对iSCSI会话在当前时刻的会话传输速率进行平滑处理;其中,α和β为大于0的常数,α+β=1,Sn为iSCSI会话当前时刻的会话传输速率,Sn-1为iSCSI会话在上一时刻的会话传输速率。引入历史的会话传输速率,对当前时刻计算得到的会话传输速率进行平滑处理,避免会话传输速率播放过大。在另一种设计中,发送端需要降低iSCSI会话的会话传输速率时,首先将该ISCSI会话对应的预设的传输速率需求值由R1降低至R2,然后发送端周期性的获取iSCSI会话在当前时刻的会话传输速率,判断该iSCSI会话的会话传输速率能继续降低,判断的方法可以是:判断iSCSI会话在当前时刻的会话传输速率是否小于R2或iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于iSCSI会话中包括的任意一个TCP连接的TCP传输速率,若为是,表明可以继续降低。如果iSCSI会话的会话传输速率可以继续降低,将在当前时刻的TCP传输速率与T的差值的绝对值最小的TCP连接从iSCSI会话中移除,并释放移除的TCP连接占用的传输资源;T=R1-R2。在另一种可能的设计中,发送端判断iSCSI会话的会话传输速率是否需要降低的方法可以是:判断iSCSI会话在当前时刻的会话传输速率是否小于R2或iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于iSCSI会话中包括的任意一个TCP连接的TCP传输速率;若为是,iSCSI会话的会话传输速率不需要降低;若为否,iSCSI会话的会话传输速率需要降低。在另一种可能的设计中,发送端获取在当前时刻的负荷参数值;在负荷参数值大于预设值的情况下,减小预设的传输速率需求值;在负荷参数值小于或等于预设值的情况下,增加预设的传输速率需求值。第二方面,本申请的实施例提供了一种基于iSCSI协议的传输速率控制装置,该装置包括:获取模块、第一判断模块和调节模块。获取模块获取iSCSI会话在当前时刻的会话传输速率,第一判断模块判断获取模块获取的会话传输速率是否小于预设的传输速率需求值;若第一判断模块的判断结果为是,调节模块在iSCSI会话中增加新的TCP连接。在一种可能的设计中,该装置还包括:第二判断模块。第二判断模块判断iSCSI会话在当前时刻的会话传输速率与上一时刻相比是否增加,若判断结果为是,指示第一判断模块开始工作。在另一种可能的设计中,获取模块确定iSCSI会话包括的多个TCP连接;根据至少两个确认报文的序列号和时间戳分别计算多个TCP连接各自在当前时刻对应的TCP传输速率;将多个TCP连接各自在当前时刻对应的TCP传输速率进行求和得到iSCSI会话在当前时刻的会话传输速率Sn。在另一种可能的设计中,该装置还包括平滑处理模块。平滑处理模块根据公式α×Sn-1+β×Sn对iSCSI会话在当前时刻的会话传输速率进行平滑处理;其中,α和β为大于0的常数,α+β=1,Sn为iSCSI会话当前时刻的会话传输速率,Sn-1为iSCSI会话在上一时刻的会话传输速率。在另一种可能的设计中,该装置还包括降速模块。在需要对iSCS本文档来自技高网...
一种基于iSCSI协议的传输速率控制方法和装置

【技术保护点】
一种基于iSCSI协议的传输速率控制方法,其特征在于,包括:获取互联网小型计算机系统接口iSCSI会话在当前时刻的会话传输速率;判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值;若为是,在所述iSCSI会话中增加新的传输控制协议TCP连接。

【技术特征摘要】
1.一种基于iSCSI协议的传输速率控制方法,其特征在于,包括:获取互联网小型计算机系统接口iSCSI会话在当前时刻的会话传输速率;判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值;若为是,在所述iSCSI会话中增加新的传输控制协议TCP连接。2.如权利要求1所述的方法,其特征在于,所述判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值之前,还包括:判断所述iSCSI会话在当前时刻的会话传输速率与上一时刻相比是否增加,若为是,执行所述判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值的步骤。3.如权利要求1或2所述的方法,其特征在于,所述获取互联网小型计算机系统接口iSCSI会话在当前时刻的会话传输速率包括:确定所述iSCSI会话包括的多个TCP连接;根据至少两个确认报文的序列号和时间戳分别计算所述多个TCP连接各自在当前时刻对应的TCP传输速率;将所述多个TCP连接各自在当前时刻对应的TCP传输速率进行求和得到所述iSCSI会话在当前时刻的会话传输速率Sn。4.如权利要求3所述的方法,其特征在于,所述获取互联网小型计算机系统接口iSCSI会话在当前时刻的会话传输速率之后,还包括:根据公式α×Sn-1+β×Sn对所述iSCSI会话在当前时刻的会话传输速率进行平滑处理;其中,α和β为大于0的常数,α+β=1,Sn为所述iSCSI会话当前时刻的会话传输速率,Sn-1为所述iSCSI会话在上一时刻的会话传输速率。5.如权利要求1所述的方法,其特征在于,还包括:判断所述iSCSI会话在当前时刻的会话传输速率是否继续降低;其中,所述iSCSI会话对应的传输速率需求值预先由R1降低至R2;若为是,将在当前时刻的TCP传输速率与T的差值的绝对值最小的TCP连接从所述iSCSI会话中移除,并释放所述移除的TCP连接占用的传输资源;T=R1-R2。6.如权利要求5所述的方法,其特征在于,所述判断所述iSCSI会话在当前时刻的会话传输速率是否继续降低包括:判断所述iSCSI会话在当前时刻的会话传输速率是否小于R2或所述iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于所述iSCSI会话中包括的任意一个TCP连接的TCP传输速率;若为是,不需要降低所述iSCSI会话的会话传输速率;若为否,需要降低所述iSCSI会话的会话传输速率。7.如权利要求1-6任意一项所述的方法,其特征在于,还包括:获取在当前时刻的负荷参数值;在所述负荷参数值大于预设值的情况下,减小所述...

【专利技术属性】
技术研发人员:刘洪军吴勇
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1