CN106899510A - 一种基于iSCSI协议的传输速率控制方法和装置 - Google Patents
一种基于iSCSI协议的传输速率控制方法和装置 Download PDFInfo
- Publication number
- CN106899510A CN106899510A CN201510957174.1A CN201510957174A CN106899510A CN 106899510 A CN106899510 A CN 106899510A CN 201510957174 A CN201510957174 A CN 201510957174A CN 106899510 A CN106899510 A CN 106899510A
- Authority
- CN
- China
- Prior art keywords
- transmission rate
- iscsi
- current time
- session
- sessions
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/16—Flow control; Congestion control in connection oriented networks, e.g. frame relay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation 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(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,ProtocolData 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 Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (14)
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任意一项所述的方法,其特征在于,还包括:
获取在当前时刻的负荷参数值;
在所述负荷参数值大于预设值的情况下,减小所述预设的传输速率需求值;
在所述负荷参数值小于或等于所述预设值的情况下,增加所述预设的传输速率需求值。
8.一种基于iSCSI协议的传输速率控制装置,其特征在于,包括:
获取模块,用于获取iSCSI会话在当前时刻的会话传输速率;
第一判断模块,用于判断所述获取模块获取的会话传输速率是否小于预设的传输速率需求值;
调节模块,用于若所述第一判断模块的判断结果为是,在所述iSCSI会话中增加新的TCP连接。
9.如权利要求8所述的装置,其特征在于,还包括:
第二判断模块,用于判断所述iSCSI会话在当前时刻的会话传输速率与上一时刻相比是否增加,
若所述第二判断模块的判断结果为是,指示所述第一判断模块开始工作。
10.如权利要求8或9所述的方法,其特征在于,所述获取模块用于:
确定所述iSCSI会话包括的多个TCP连接;
根据至少两个确认报文的序列号和时间戳分别计算所述多个TCP连接各自在当前时刻对应的TCP传输速率;
将所述多个TCP连接各自在当前时刻对应的TCP传输速率进行求和得到所述iSCSI会话在当前时刻的会话传输速率Sn。
11.如权利要求10所述的方法,其特征在于,还包括:
平滑处理模块,用于根据公式α×Sn-1+β×Sn对所述iSCSI会话在当前时刻的会话传输速率进行平滑处理;其中,α和β为大于0的常数,α+β=1,Sn为所述iSCSI会话当前时刻的会话传输速率,Sn-1为所述iSCSI会话在上一时刻的会话传输速率。
12.如权利要求8所述的装置,其特征在于,还包括:
降速模块,用于判断所述iSCSI会话在当前时刻的会话传输速率是否继续降低;其中,所述iSCSI会话对应的传输速率需求值预先由R1降低至R2;
若为是,将在当前时刻的TCP传输速率与T的差值的绝对值最小的TCP连接从所述iSCSI会话中移除,并释放所述移除的TCP连接占用的传输资源;T=R1-R2。
13.如权利要求12所述的装置,其特征在于,所述降速模块用于:
判断所述iSCSI会话在当前时刻的会话传输速率是否小于R2或所述iSCSI会话在当前时刻的会话传输速率与R2的差值是否小于所述iSCSI会话中包括的任意一个TCP连接的TCP传输速率;
若为是,不需要降低所述iSCSI会话的会话传输速率;
若为否,需要降低所述iSCSI会话的会话传输速率。
14.如权利要求7-13任意一项所述的装置,其特征在于,还包括:
阈值调节模块,用于获取在当前时刻的负荷参数值;在所述负荷参数值大于预设值的情况下,减小所述预设的传输速率需求值;在所述负荷参数值小于或等于所述预设值的情况下,增加所述预设的传输速率需求值。
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 true CN106899510A (zh) | 2017-06-27 |
CN106899510B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108880938A (zh) * | 2018-06-19 | 2018-11-23 | 成都网丁科技有限公司 | 一种端到端tcp会话测速方法 |
CN110391953A (zh) * | 2018-04-19 | 2019-10-29 | 德科仕通信(上海)有限公司 | Tcp下载速率计算优化方法及提高tcp kpi计算准确度的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040174893A1 (en) * | 2003-03-03 | 2004-09-09 | Nec Corporation | iSCSI apparatus and communication control method for the same |
WO2005111813A2 (en) * | 2004-05-11 | 2005-11-24 | Mistletoe Technologies, Inc. | Semantic processor storage server architecture |
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 (2)
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 |
CN101136929B (zh) * | 2007-10-19 | 2010-08-25 | 杭州华三通信技术有限公司 | 因特网小型计算机***接口数据传输方法及设备 |
-
2015
- 2015-12-18 CN CN201510957174.1A patent/CN106899510B/zh active Active
-
2016
- 2016-12-16 WO PCT/CN2016/110470 patent/WO2017101875A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040174893A1 (en) * | 2003-03-03 | 2004-09-09 | Nec Corporation | iSCSI apparatus and communication control method for the same |
WO2005111813A2 (en) * | 2004-05-11 | 2005-11-24 | Mistletoe Technologies, Inc. | Semantic processor storage server architecture |
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发起方 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110391953A (zh) * | 2018-04-19 | 2019-10-29 | 德科仕通信(上海)有限公司 | Tcp下载速率计算优化方法及提高tcp kpi计算准确度的方法 |
CN110391953B (zh) * | 2018-04-19 | 2023-03-28 | 德科仕通信(上海)有限公司 | 提高tcp kpi计算准确度的方法 |
CN108880938A (zh) * | 2018-06-19 | 2018-11-23 | 成都网丁科技有限公司 | 一种端到端tcp会话测速方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017101875A1 (zh) | 2017-06-22 |
CN106899510B (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714268B (zh) | 一种虚拟私有云的流量控制方法及相关装置 | |
CN104714851B (zh) | 一种实现资源分配的方法及装置 | |
CN110602156A (zh) | 一种负载均衡调度方法及装置 | |
EP3547625B1 (en) | Method and system for sending request for acquiring data resource | |
CN105227489B (zh) | 一种带宽管理方法及电子设备 | |
CN108449286A (zh) | 网络带宽资源分配方法及装置 | |
MXPA05006550A (es) | Control de flujo en dispositivos de red. | |
CN106034153B (zh) | 带宽资源分配方法、数据传输方法、装置及*** | |
CN109982159A (zh) | 在线播放流媒体的方法和终端 | |
CN110012324A (zh) | 一种嵌入式无线视频传输的码率自适应方法及*** | |
CN103856558B (zh) | 一种用于终端应用的数据处理方法和装置 | |
CN106899510A (zh) | 一种基于iSCSI协议的传输速率控制方法和装置 | |
CN113328906B (zh) | 一种流量实时监控方法、装置、存储介质及电子设备 | |
CN114116207A (zh) | 流量控制方法、装置、设备及*** | |
CN111897659B (zh) | 业务处理频率的控制方法、***、装置、电子设备 | |
CN111343046B (zh) | 产生压力流量的方法、装置、电子设备及计算机可读存储介质 | |
US9674093B2 (en) | Method and apparatus for ripple rate sensitive and bottleneck aware resource adaptation for real-time streaming workflows | |
CN106789709B (zh) | 一种负载均衡的方法及装置 | |
EP3148130A1 (en) | Traffic flow switching method and device | |
CN106407636A (zh) | 集成结果统计方法及装置 | |
CN110955504B (zh) | 智能分配渲染任务的方法、服务器、***及存储介质 | |
WO2016173133A1 (zh) | 一种实现负荷分担的方法、接口机、业务处理机及*** | |
CN112350954B (zh) | 过载保护方法、***、计算机可读存储介质及电子设备 | |
CN105656794A (zh) | 数据分发方法及装置 | |
CN110191362B (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 |