CN106899510B - 一种基于iSCSI协议的传输速率控制方法和装置 - Google Patents

一种基于iSCSI协议的传输速率控制方法和装置 Download PDF

Info

Publication number
CN106899510B
CN106899510B CN201510957174.1A CN201510957174A CN106899510B CN 106899510 B CN106899510 B CN 106899510B CN 201510957174 A CN201510957174 A CN 201510957174A CN 106899510 B CN106899510 B CN 106899510B
Authority
CN
China
Prior art keywords
session
transmission rate
iscsi
current moment
tcp
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.)
Active
Application number
CN201510957174.1A
Other languages
English (en)
Other versions
CN106899510A (zh
Inventor
刘洪军
吴勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510957174.1A priority Critical patent/CN106899510B/zh
Priority to PCT/CN2016/110470 priority patent/WO2017101875A1/zh
Publication of CN106899510A publication Critical patent/CN106899510A/zh
Application granted granted Critical
Publication of CN106899510B publication Critical patent/CN106899510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/16Flow control; Congestion control in connection oriented networks, e.g. frame relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例公开了一种基于iSCSI协议的传输速率控制方法,包括:获取iSCSI会话在当前时刻的会话传输速率;判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值;若为是,在所述iSCSI会话中增加新的TCP连接。本发明实施例还公开了一种基于iSCSI协议的传输速率控制装置。采用本发明,能根据传输需求自适应的调节iSCSI会话的传输速率。

Description

一种基于iSCSI协议的传输速率控制方法和装置
技术领域
本发明涉及通信领域,尤其涉及一种基于iSCSI协议的传输速率控制方法和装置。
背景技术
iSCSI(Internet Small Computer System Interface,互联网小型计算机***接口,简称iSCSI)技术可以实现在IP网络上运行SCSI协议,用户可利用目前成熟的IP网络来构建存储局域网络。
参见图1,为基于iSCSI协议的***结构图,发起端initiator作为客户端,目标端target作为服务器,发起端和目标端通过建立的iSCSI会话传输数据,iSCSI会话包括一个或多个TCP(Transmission Control Protocol,传输控制协议,简称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会话在上一时刻的会话传输速率。
在另一种可能的设计中,该装置还包括降速模块。在需要对iSCSI会话的会话传输速率进行降速处理的情况下,对iSCSI会话对应的传输速率需求值降低,由R1减小至R2,R1>R2。降速模块周期性的判断iSCSI会话在当前时刻的会话传输速率是否继续降低,若为是,将在当前时刻的TCP传输速率与T的差值的绝对值最小的TCP连接从iSCSI会话中移除,并释放移除的TCP连接占用的传输资源;T=R1-R2。
在另一种可能的设计中,降速模块判断iSCSI会话在当前时刻的会话传输速率是否小于R2或iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于iSCSI会话中包括的任意一个TCP连接的TCP传输速率;若为是,不需要降低iSCSI会话的会话传输速率;若为否,需要降低iSCSI会话的会话传输速率。
在另一种可能的设计中,该装置还包括:阈值调节模块。
阈值调节模块获取在当前时刻的负荷参数值;在负荷参数值大于预设值的情况下,减小预设的传输速率需求值;在负荷参数值小于或等于预设值的情况下,增加预设的传输速率需求值。
第三方面,本申请实施例提供了一种终端设备,包括上述所有的基于iSCSI协议的传输速率控制装置中的任意种装置。
第四方面,本申请实施例提供了一种基于iSCSI协议的传输速率控制装置,包括:
一个或多个处理器、存储器、总线***、收发器以及一个或多个程序,处理器、存储器和收发器通过总线***相连;
其中一个或多个程序被存储在存储器中,一个或多个程序包括指令,指令当被该装置执行时使该装置执行如第一方面和第一方面的第五种可能的实现方式中任一项的方法。
第五方面,本申请实施例提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当被该装置执行时使该装置执行第一方面至第一方面的第六种可能的实现方式中的任意一种的方法。
实施本发明实施例,具有如下有益效果:
实时的获取iSCSI会话的会话传输速率,在会话传输速率小于预设的传输速率需求值的情况下,在iSCSI会话中增加新的TCP连接,充分利用空闲的传输资源,从而提高iSCSI会话的传输速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的一种基于iSCSI协议的传输***的架构示意图;
图2是本发明实施例提供的一种基于iSCSI协议的传输速率控制方法的流程示意图;
图3是本发明实施例提供的一种基于iSCSI协议的传输速率控制方法的另一流程示意图;
图4是本发明实施例提供的一种基于iSCSI协议的传输速率控制方法的又一流程示意图;
图5是本发明实施例提供的一种基于iSCSI协议的传输速率控制装置的结构示意图;
图6是本发明实施例提供的一种基于iSCSI协议的传输速率控制装置的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图2,为本发明实施例提供的一种基于iSCSI协议的传输速率控制方法,在本发明实施例中,执行主体为发送端,发送端可以是发起端或目标端,以下发起端进行说明,所述方法包括:
S201、获取iSCSI会话在当前时刻的会话传输速率。
具体的,iSCSI会话中包括多个TCP连接,发起端(initiator)通过iSCSI会话中包括多个TCP连接向目标端(target)传输协议数据单元(PDU,Protocol Data Unit)。当前时刻表示序号为n的时刻,例如,发起端每隔一段时间获取iSCSI会话的会话传输速率,首个获取时刻为时刻1,第2个获取时刻为时刻2,依次类推,第多个获取时刻为当前时刻,其中,发起端获取iSCSI会话的会话传输速率可以是周期性的获取也可以是非周期性的获取,本发明不作限制。优选的,发起端采用周期性的获取iSCSI会话的传输速率,即当前时刻和下一时刻之间的时间间隔是固定值。
S202、判断iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值。
具体的,传输速率需求值表示iSCSI会话期望达到的传输速率,根据根据需要预先设置具体的传输速率需求值。发起端判断iSCCI会话在当前时刻的会话传输速率和预设的传输速率需求值的大小关系。
S203、在判断结果为是的情况下,在iSCSI会话中增加新的TCP连接。
具体的,在S102的判断结果为是的情况下,发起端重建一个新的TCP连接,为新的TCP连接分配传输资源,将新的TCP连接加入到iSCSI会话中,以提高iSCSI会话的传输速率。
其中,在S102的判断结果为否的情况下,发起端不增加新的TCP连接,退出iSCSI会话的传输速率控制流程。
从上述可以看出,实时的获取iSCSI会话的会话传输速率,在会话传输速率小于预设的传输速率需求值的情况下,在iSCSI会话中增加新的TCP连接,充分利用空闲的传输资源,从而提高iSCSI会话的传输速率。
参见图3,为本发明实施例提供的一种基于iSCSI协议的传输速率控制方法的另一流程示意图,在本发明实施例中,所述方法包括:
S301、确定iSCSI会话在当前时刻包括的多个TCP连接。
具体的,iSCSI会话包括多个TCP连接,在不同的时刻,由于传输的需求不同,iSCSI会话中包括的TCP连接的数量会动态变化,不同的TCP连接具有不同的ID身份标识,发起端可以根据TCP连接的身份标识确定当前时刻iSCSI会话包括的多个TCP连接。
S302、根据至少两个确认报文的序列号和时间戳分别计算多个TCP连接各自在当前时刻对应的TCP传输速率。
具体的,发起端计算iSCSI会话包括的多个TCP连接各自对应的TCP传输速率,计算一个TCP连接的TCP传输速率的方法可以是:发起端对待发送的协议数据单元PDU进行编号,发起端通过TCP连接向目的端发送协议数据单元时,协议数据单元中携带序列号,目的端通过该TCP连接成功接收该协议数据单元时,目的端获取协议数据单元中携带的序列号,向发起端返回携带该序列号的应答报文,发起端接收该应答报文,记录接收到该应答报文的时间戳,获取该应答报文中携带的序列号。发起端通过接收至少两个应答报文,获取各个应答报文对应的时间戳和序列号,根据时间戳和序列号计算该TCP连接在当前时刻的TCP传输速率:Sn=(ACKn-ACKn-1)/(Tn-Tn-1),ACKn表示当前时刻接收的应答报文的序列号,ACKn-1表示上一时刻接收的应答报文的序列号,Tn表示当前时刻接收的应答报文的时间戳,Tn-1表示上一时刻接收的应答报文的时间戳,Sn表示该TCP连接在当前时刻的TCP传输速率,上述举例是根据两个连续接收的应答报文的序列号和时间戳计算当前时刻TCP连接的TCP传输速率,但是TCP传输速率的计算方法并不限于此,例如,发起端可以根据两个以上的应答报文的序列号和时间戳计算TCP连接的TCP传输速率,以接收的两个应答报文为一组,按照上述公式进行计算,将计算得到的多组TCP传输速率进行加权平均后得到该TCP连接在当前时刻的TCP传输速率。
S303、将多个TCP连接各自在当前时刻对应的TCP传输速率进行求和得到iSCSI会话在当前时刻的会话传输速率。
具体的,发起端根据S302的方法计算得到iSCSI会话中包括的各个TCP连接的TCP传输速率,将各个TCP传输速率进行求和后得到iSCSI会话在当前时刻的TCP传输速率。
S304、对iSCSI会话在当前时刻的会话传输速率进行平滑处理。
具体的,由于应答报文的延时确认机制、网络拥塞等原因,发起端在当前时刻计算出来的iSCSI会话的会话传输速率存在波动大的问题,为了使计算出来的会话传输速率便于处理,发起端引入iSCSI会话历史的会话传输速率对当前时刻的会话传输速率进行平滑处理。平滑处理的方式可以是:根据公式α×Sn-1+β×Sn对iSCSI会话在当前时刻的会话传输速率进行平滑处理;其中,α和β为大于0的常数,α+β=1,Sn为iSCSI会话当前时刻的会话传输速率,Sn-1为所述iSCSI会话在上一时刻的会话传输速率,α和β的值可以根据需要进行调整,本发明不作限制。例如,α=0.9,β=0.1。
S305、对iSCSI会话在当前时刻的会话传输速率与上一时刻的会话传输相比是否增加。
具体的,iSCSI会话在当前时刻的会话传输速率和上一时刻的会话传输速率为经过S304平滑处理后的会话传输速率,也可以是不经过平滑处理的会话传输速率,发起端判断iSCSI会话在当前时刻的会话传输速率与上一时刻的会话传输速率相比是否增加,如果判断结果为是,表明iSCSI会话的会话传输速率具有进一步增加的可能性,执行S306;如果判断结果为否,表明iSCSI会话的会话传输速率没有进一步增加的可能性,执行S307。
S306、iSCSI会话在当前时刻的传输速率是否小于预设的传输速率需求值。
具体的,传输速率需求值为设置的iSCSI会话的会话传输速率的期望值,可以根据需要预设设置具体的值。发起端判断S304得到的iSCSI会话在当前时刻的传输速率是否小于预设的传输速率需求值,如果判断结果为是,表明iSCSI会话在当前时刻的会话传输速率未达到期望值,需要进一步提高其会话传输速率;如果判断结果为否,达到期望值。
S307、停止在iSCSI会话中增加TCP连接。
具体的,在iSCSI会话中增加TCP连接的目的在于提高iSCSI会话的会话传输速率,iSCSI会话在当前时刻的会话传输速率和上一时刻的会话传输速率相比没有增加,表明网络带宽已饱和,继续向iSCSI会话中增加TCP连接并不会增加其会话传输速率,发起端此时停止向iSCSI会话中增加新的TCP连接;或者,iSCSI会话的会话传输速率已经达到预设的传输速率需求值,此时发起端也会停止向iSCSI会话中增加新的TCP连接。
S308、在iSCSI会话中增加新的TCP连接。
其中,S301-S308为循环执行的步骤,发起端周期性的执行S301和S308的步骤,直到退出流程。发起端确定需要在iSCSI会话中增加新的TCP连接时,发起端建立新的TCP连接,为建立的新的TCP连接分配传输资源,将新的TCP连接加入到iSCSI会话中,增加新的TCP连接后,iSCSI会话中TCP连接的数量增加,在下一时刻达到时,发起端继续根据上述描述执行S301-S308。
从上述可以看出,实时的获取iSCSI会话的会话传输速率,在会话传输速率小于预设的传输速率需求值的情况下,在iSCSI会话中增加新的TCP连接,充分利用空闲的传输资源,从而提高iSCSI会话的传输速率。
参见图4,为本发明实施例提供的一种基于iSCSI协议的传输速率控制方法的又一流程示意图,在本发明实施例中,所述方法包括:
S401、确定iSCSI会话在当前时刻包括的多个TCP连接。
具体的,iSCSI会话包括多个TCP连接,在不同的时刻,由于传输的需求不同,iSCSI会话中包括的TCP连接的数量会动态变化,不同的TCP连接具有不同的ID身份标识,发起端可以根据TCP连接的身份标识确定当前时刻iSCSI会话包括的多个TCP连接。
S402、根据至少两个确认报文的序列号和时间戳分别计算多个TCP连接各自在当前时刻对应的TCP传输速率。
具体的,发起端计算iSCSI会话包括的多个TCP连接各自对应的TCP传输速率,计算一个TCP连接的TCP传输速率的方法可以是:发起端对待发送的协议数据单元PDU进行编号,发起端通过TCP连接向目的端发送协议数据单元时,协议数据单元中携带序列号,目的端通过该TCP连接成功接收该协议数据单元时,目的端获取协议数据单元中携带的序列号,向发起端返回携带该序列号的应答报文,发起端接收该应答报文,记录接收到该应答报文的时间戳,获取该应答报文中携带的序列号。发起端通过接收至少两个应答报文,获取各个应答报文对应的时间戳和序列号,根据时间戳和序列号计算该TCP连接在当前时刻的TCP传输速率:Sn=(ACKn-ACKn-1)/(Tn-Tn-1),ACKn表示当前时刻接收的应答报文的序列号,ACKn-1表示上一时刻接收的应答报文的序列号,Tn表示当前时刻接收的应答报文的时间戳,Tn-1表示上一时刻接收的应答报文的时间戳,Sn表示该TCP连接在当前时刻的TCP传输速率,上述举例是根据两个连续接收的应答报文的序列号和时间戳计算当前时刻TCP连接的TCP传输速率,但是TCP传输速率的计算方法并不限于此,例如,发起端可以根据两个以上的应答报文的序列号和时间戳计算TCP连接的TCP传输速率,以接收的两个应答报文为一组,按照上述公式进行计算,将计算得到的多组TCP传输速率进行加权平均后得到该TCP连接在当前时刻的TCP传输速率。
S403、将多个TCP连接各自在当前时刻对应的TCP传输速率进行求和得到iSCSI会话在当前时刻的会话传输速率。
具体的,发起端根据S402的方法计算得到iSCSI会话中包括的各个TCP连接的TCP传输速率,将各个TCP传输速率进行求和后得到iSCSI会话在当前时刻的TCP传输速率。
S404、iSCSI会话在当前时刻的会话传输速率是否继续降低。
具体的,iSCSI会话中包括的多个TCP连接可能是在***的负荷降低时创建的,占用了较多的传输资源,此时如果需要创建新的iSCSI会话,新的iSCSI会话可能会分配不动足够多的传输资源,这种情况下需要将原来的iSCSI会话中的部分TCP连接进行移除,使原来的iSCSI会话的传输速率需求值由R1降低至R2,R1>R2。
iSCSI会话的发起端判断iSCSI会话在当前时刻的传输速率是否需要降低,如果判断结果为是,执行S405,如果判断结果为否,执行S407。发起端判断当前时刻的会话传输速率是否需要降低的方法是:判断iSCSI会话在当前时刻的会话传输速率是否小于R2或所述iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于所述iSCSI会话中包括的任意一个TCP连接的TCP传输速率;若为是,iSCSI会话在当前时刻的会话传输速率已满足传输速率需求值R2的要求不需要调节所述iSCSI会话的会话传输速率;若为否,iSCSI会话在当前时刻的会话传输速率不满足传输速率需求值R2的要求,需要调节iSCSI会话的会话传输速率。
S405、在iSCSI会话中选择一个TCP连接进行移除。
具体的,将在当前时刻的TCP传输速率与T的差值的绝对值最小的TCP连接从所述iSCSI会话中移除T=R1-R2。
S406、释放移除的TCP连接占用的传输资源。
具体的,传输资源包括CPU资源、内存资源和带宽资源中的一种或多种。
S407、停止移除iSCSI会话中包括的TCP连接。
从上述可以看出,实时的获取iSCSI会话的会话传输速率,在会话传输速率小于预设的传输速率需求值的情况下,在iSCSI会话中增加新的TCP连接,充分利用空闲的传输资源,从而提高iSCSI会话的传输速率。
可选,在本发明的一些实施例中,获取在当前时刻的负荷参数值;
在所述负荷参数值大于预设值的情况下,减小所述预设的传输速率需求值;
在所述负荷参数值小于或等于所述预设值的情况下,增加所述预设的传输速率需求值。
其中,负荷参数值表示***的负荷程度的参数值,负荷参数值的大小和负荷程度呈正相关性,在负荷参数值大于预设值的情况下,发起端需要降低iSCSI会话的会话传输速率,减小该iSCSI会话对应的传输速率需求值,以减轻***的负荷程度,在负荷参数值小于或等于预设值的情况下,发起端需要提高iSCSI会话的传输速率,增加预设的传输速率需求值,以提高***传输资源的利用率。在更改该iSCSI会话的传输速率需求值后,按照上述实施例的方法使该iSCSI会话的传输速率达到调节后的传输速率需求值。
参见图5,为本发明实施例提供的一种基于iSCSI协议的传输速率控制装置的结构示意图,以下简称装置,本发明实施例的装置用于执行图1所示的一种基于基于iSCSI协议的传输速率控制方法,其中所涉及的示例和术语可参照图2的描述。装置5包括:获取模块501、第一判断模块502和调节模块503。
获取模块501,用于获取iSCSI会话在当前时刻的会话传输速率。
第一判断模块502,用于判断所述获取模块获取的会话传输速率是否小于预设的传输速率需求值。
调节模块503,用于若所述第一判断模块的判断结果为是,在所述iSCSI会话中增加新的TCP连接。
本发明实施例和方法实施例一基于同一构思,其带来的技术效果也相同,具体原理可参照图2方法实施例一的描述,此处不再赘述。
可选的,装置5还包括:第一判断模块。
第二判断模块,用于判断所述iSCSI会话在当前时刻的会话传输速率与上一时刻相比是否增加,
若所述第二判断模块的判断结果为是,指示所述第一判断模块开始工作。
可选的,获取模块501用于:
确定所述iSCSI会话包括的多个TCP连接;
根据至少两个确认报文的序列号和时间戳分别计算所述多个TCP连接各自在当前时刻对应的TCP传输速率;
将所述多个TCP连接各自在当前时刻对应的TCP传输速率进行求和得到所述iSCSI会话在当前时刻的会话传输速率Sn
可选的,装置5还包括:平滑处理模块。
平滑处理模块,用于根据公式α×Sn-1+β×Sn对所述iSCSI会话在当前时刻的会话传输速率进行平滑处理;其中,α和β为大于0的常数,α+β=1,Sn为所述iSCSI会话当前时刻的会话传输速率,Sn-1为所述iSCSI会话在上一时刻的会话传输速率。
可选的,装置5还包括:降速模块。
降速模块,用于判断所述iSCSI会话在当前时刻的会话传输速率是否继续降低;其中,所述iSCSI会话对应的传输速率需求值预先由R1降低至R2;
若为是,将在当前时刻的TCP传输速率与T的差值的绝对值最小的TCP连接从所述iSCSI会话中移除,并释放所述移除的TCP连接占用的传输资源;T=R1-R2。
可选的,降速模块用于:
判断所述iSCSI会话在当前时刻的会话传输速率是否小于R2或所述iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于所述iSCSI会话中包括的任意一个TCP连接的TCP传输速率;
若为是,不需要降低所述iSCSI会话的会话传输速率;
若为否,需要降低所述iSCSI会话的会话传输速率。
可选的,装置5还包括:阈值调节模块。
阈值调节模块,用于获取在当前时刻的负荷参数值;在所述负荷参数值大于预设值的情况下,减小所述预设的传输速率需求值;在所述负荷参数值小于或等于所述预设值的情况下,增加所述预设的传输速率需求值。
本发明实施例和方法实施例二和三基于同一构思,其带来的技术效果也相同,具体原理可参照方法图3和图4实施例的描述,此处不再赘述。
参见图6,为本发明实施例提供的一种基于iSCSI协议的传输速率控制装置的另一结构示意图,以下简称装置,装置6包括处理器601、存储器602和收发器603。收发器603用于与外部设备之间收发数据。装置6中的处理器601的数量可以是一个或多个。本发明的一些实施例中,处理器601、存储器602和收发器603可通过总线***或其他方式连接。装置6可以用于执行图2所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图2对应的实施例。此处不再赘述。
其中,存储器602中存储程序代码。处理器601用于调用存储器602中存储的程序代码,用于执行以下操作:
获取iSCSI会话在当前时刻的会话传输速率;
判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值;
若为是,在所述iSCSI会话中增加新的TCP连接。
在本发明的一些实施例中,处理器601执行所述判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值之前,还用于执行:
判断所述iSCSI会话在当前时刻的会话传输速率与上一时刻相比是否增加,
若为是,执行所述判断所述iSCSI会话在当前时刻的会话传输速率是否小于预设的传输速率需求值的步骤。
在本发明的一些实施例中,处理器601执行所述获取iSCSI会话在当前时刻的会话传输速率包括:
确定所述iSCSI会话包括的多个TCP连接;
根据至少两个确认报文的序列号和时间戳分别计算所述多个TCP连接各自在当前时刻对应的TCP传输速率;
将所述多个TCP连接各自在当前时刻对应的TCP传输速率进行求和得到所述iSCSI会话在当前时刻的会话传输速率Sn
在本发明的一些实施例中,处理器601执行所述获取iSCSI会话在当前时刻的会话传输速率之后,还用于执行:
根据公式α×Sn-1+β×Sn对所述iSCSI会话在当前时刻的会话传输速率进行平滑处理;其中,α和β为大于0的常数,α+β=1,Sn为所述iSCSI会话当前时刻的会话传输速率,Sn-1为所述iSCSI会话在上一时刻的会话传输速率。
在本发明的一些实施例中,处理器601还用于执行:
判断所述iSCSI会话在当前时刻的会话传输速率是否继续降低;其中,所述iSCSI会话对应的传输速率需求值预先由R1降低至R2;
若为是,将在当前时刻的TCP传输速率与T的差值的绝对值最小的TCP连接从所述iSCSI会话中移除,并释放所述移除的TCP连接占用的传输资源;T=R1-R2。
在本发明的一些实施例中,处理器601执行所述判断所述iSCSI会话在当前时刻的会话传输速率是否继续降低包括:
判断所述iSCSI会话在当前时刻的会话传输速率是否小于R2或所述iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于所述iSCSI会话中包括的任意一个TCP连接的TCP传输速率;
若为是,不需要降低所述iSCSI会话的会话传输速率;
若为否,需要降低所述iSCSI会话的会话传输速率。
在本发明的一些实施例中,处理器601还用于执行:
获取在当前时刻的负荷参数值;
在所述负荷参数值大于预设值的情况下,减小所述预设的传输速率需求值;
在所述负荷参数值小于或等于所述预设值的情况下,增加所述预设的传输速率需求值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (12)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510957174.1A CN106899510B (zh) 2015-12-18 2015-12-18 一种基于iSCSI协议的传输速率控制方法和装置
PCT/CN2016/110470 WO2017101875A1 (zh) 2015-12-18 2016-12-16 一种基于iSCSI协议的传输速率控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510957174.1A CN106899510B (zh) 2015-12-18 2015-12-18 一种基于iSCSI协议的传输速率控制方法和装置

Publications (2)

Publication Number Publication Date
CN106899510A CN106899510A (zh) 2017-06-27
CN106899510B true CN106899510B (zh) 2020-04-03

Family

ID=59055782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510957174.1A Active CN106899510B (zh) 2015-12-18 2015-12-18 一种基于iSCSI协议的传输速率控制方法和装置

Country Status (2)

Country Link
CN (1) CN106899510B (zh)
WO (1) WO2017101875A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110391953B (zh) * 2018-04-19 2023-03-28 德科仕通信(上海)有限公司 提高tcp kpi计算准确度的方法
CN108880938A (zh) * 2018-06-19 2018-11-23 成都网丁科技有限公司 一种端到端tcp会话测速方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448022A (zh) * 2008-09-09 2009-06-03 创新科存储技术(深圳)有限公司 互联网小型计算机***接口接收端窗口控制方法及装置
CN101483671A (zh) * 2009-02-12 2009-07-15 杭州华三通信技术有限公司 提高iSCSI会话传输速率的方法、***和发起端装置
CN102281263A (zh) * 2010-06-13 2011-12-14 杭州华三通信技术有限公司 一种建立iSCSI会话的方法和iSCSI发起方

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289509B2 (en) * 2002-02-14 2007-10-30 International Business Machines Corporation Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections
US7369570B2 (en) * 2003-03-03 2008-05-06 Nec Corporation iSCSI apparatus and communication control method for the same
JP2007537550A (ja) * 2004-05-11 2007-12-20 ミスルトウ テクノロジーズ, インコーポレイテッド デジタルセマンティックプロセッサを用いたストレージサーバーのアーキテクチャ
CN101136929B (zh) * 2007-10-19 2010-08-25 杭州华三通信技术有限公司 因特网小型计算机***接口数据传输方法及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448022A (zh) * 2008-09-09 2009-06-03 创新科存储技术(深圳)有限公司 互联网小型计算机***接口接收端窗口控制方法及装置
CN101483671A (zh) * 2009-02-12 2009-07-15 杭州华三通信技术有限公司 提高iSCSI会话传输速率的方法、***和发起端装置
CN102281263A (zh) * 2010-06-13 2011-12-14 杭州华三通信技术有限公司 一种建立iSCSI会话的方法和iSCSI发起方

Also Published As

Publication number Publication date
CN106899510A (zh) 2017-06-27
WO2017101875A1 (zh) 2017-06-22

Similar Documents

Publication Publication Date Title
CN109905259B (zh) 通信连接维持方法、***和相关设备
US11166330B2 (en) Data-stream allocation method for link aggregation and related devices
CN106034084B (zh) 一种数据传输方法及装置
WO2017050015A1 (zh) 数据传输方法、装置以及终端
CN106685748B (zh) 一种心跳信息发送方法、服务器及终端
CN110620738B (zh) 带宽分配方法、装置、设备及存储介质
CN101635678A (zh) 一种p2p终端流量控制的方法及***
CN106899510B (zh) 一种基于iSCSI协议的传输速率控制方法和装置
CN105393590B (zh) 一种终端设备及d2d资源管理方法
JP2020080059A (ja) 評価装置、評価方法および評価プログラム
CN110460491B (zh) 基于rdma的性能测试方法及装置
CN110581976B (zh) 远程会议方法、装置、计算机***及可读存储介质
CN109274550B (zh) 一种iSCSI自适应IO队列深度匹配方法
CN106101468B (zh) 传输链路的确定方法及装置
CN106027599B (zh) 一种数据传输通道建立方法、***和服务器
CN113328906B (zh) 一种流量实时监控方法、装置、存储介质及电子设备
EP3360388A1 (en) Wireless data-acknowledgement communication using frame aggregation
JP2011172150A (ja) 通信装置および通信システム
US10819582B2 (en) Traffic optimization device and traffic optimization method
WO2017080363A1 (zh) 一种数据传输的方法及wap设备
CN109756464B (zh) 一种通信方法及服务器、客户端
CN105391712A (zh) 一种基于tcp协议的数据快速传输方法和装置
CN112714081A (zh) 一种数据处理方法及其装置
CN116319569A (zh) 网络参数更新方法、网络参数更新装置、介质及电子设备
CN108024350B (zh) 一种动态时间分配方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant