Tcp连接的切换方法、装置和系统的制作方法

文档序号:9754710阅读:338来源:国知局
Tcp连接的切换方法、装置和系统的制作方法
【技术领域】
[0001 ] 本发明涉及通信领域,尤其涉及传输控制协议(transport control protocol,TCP)连接的切换方法、装置和系统。
【背景技术】
[0002]当前的存储阵列,对前端端口大多采用了冗余路径设计,在一个端口因为各种原因不可用的时候,存储阵列会通过一定的技术把业务切换到其他可用的端口上,比如网络协议(Internet Protocol,IP)地址漂移技术、网络小型计算机系统接口(Internet SmallComputer System Interface,iSCSI)重定向技术等。
[0003]现有技术中,客户端上的iS C SI启动器工具,按照协议都采用空操作(N ο0perat1n,N0P)机制来完成路径是否可用的探测,在NOP报文在一定时间内没有得到响应的情况下,认为连接故障,并断开原连接,重建一个新连接,这个时候存储阵列的冗余路径才会发挥作用。
[0004]当采用现有技术中的TCP连接的切换方法时,出于可靠性的要求,iSCSI启动器对NOP超时一般会设置得比较长,比如windows操作系统的启动器超时时间默认为15秒,I inux操作系统的启动器超时时间默认为5秒。在这段时间内,即使iSCSI连接已经故障,不能运行业务,也只能等到主机超时重试的时候才能重建连接,恢复业务。这个过程往往造成该连接上的业务有5-15秒的中断。

【发明内容】

[0005]本发明实施例提供TCP连接的切换方法、装置和系统,可以缩短连接切换的时间,相应缩短业务中断的时间。
[0006]—方面,本发明实施例提供一种TCP连接的切换方法,存储阵列包含第一存储控制器和第二存储控制器,当第一存储控制器与客户端之间的第一 TCP连接失败时,该方法用于切换存储阵列与客户端的TCP连接,该方法包括:第一存储控制器将第一 TCP连接的TCP信息发送至第二存储控制器;第二存储控制器根据从第一存储控制器接收到的TCP信息生成TCP中断报文;第二存储控制器将TCP中断报文发送至客户端。
[0007]该实施例中,当第一存储控制器与客户端之间的第一TCP连接失败时,通过第二存储控制器利用该连接的TCP信息向客户端发送TCP中断报文,从而快速结束了客户端上的iSCSI启动器的NOP探测过程,缩短了连接切换的时间。
[0008]在一个可能的设计中,第二存储控制器将TCP中断报文发送至客户端之后,接收来自客户端的TCP连接请求,并与客户端建立第二 TCP连接。
[0009]该实施例中,通过第二存储控制器与客户端快速重新连接,达到了业务快速切换的目的,缩短了业务中断的时间。
[0010]其中,存储阵列除了包括第一存储控制器和第二存储控制器,还可以包括其他的存储控制器,客户端在接收到第二存储控制器发送的TCP中断报文后,可以与第二存储控制器建立连接,也可以与其他的存储控制器建立连接。
[0011 ]在一个可能的设计中,当第一存储控制器确定第一TCP连接失败后,第一存储控制器把第一 TCP连接的TCP四元组和确定第一 TCP连接失败时的序列号发送给第二存储控制器;第二存储控制器根据接收到的TCP四元组和序列号,生成TCP中断报文。
[0012]该实施例中,由于当第一存储控制器确定第一TCP连接失败后,才向第二存储控制器发送该连接的TCP信息,该TCP信息为第一TCP连接的TCP四元组和确定第一TCP连接失败时的序列号,因此第二存储控制器根据该TCP信息只需生成一个TCP中断报文,并且能够保证该TCP中断报文被客户端确认为合法有效的TCP中断报文。
[0013]在一个可能的设计中,第一存储控制器在建立第一TCP连接后,将TCP四元组发送至第二存储控制器,并按照预设的周期向第二存储控制器发送序列号;当第二存储控制器确定第一TCP连接失败后,第二存储控制器根据TCP四元组和接收到的最新的序列号,生成TCP中断报文。
[0014]由于第一TCP连接失败可能不仅是端口故障,还包括第一存储控制器也发生故障,当第一 TCP连接失败后,第一存储控制器无法向第二存储控制器通告第一 TCP连接失败时的序列号,该实施例中,第一存储控制器周期性地向第二存储控制器发送序列号,当第二存储控制器确定第一 TCP连接失败后,第二存储控制器根据TCP四元组和接收到的最新的序列号,生成TCP中断报文。为了提高生成的TCP中断报文能够被客户端确认为合法有效的报文的概率,可以生成多个具有不同序列号的TCP中断报文。
[0015]在一个可能的设计中,第一存储控制器在建立第一TCP连接后,将TCP四元组发送至第二存储控制器;当第二存储控制器确定第一TCP连接失败后,第二存储控制器根据TCP四元组生成TCP中断报文。
[0016]该实施例中,第一存储控制器在建立第一TCP连接后,将TCP四元组发送至第二存储控制器,在第一TCP连接运行中不再通告序列号,从而减少了第一存储控制器和第二存储控制器之间的通信数量,为了提高生成的TCP中断报文能够被客户端确认为合法有效的报文的概率,可以生成多个具有不同序列号的TCP中断报文。
[0017]另一方面,本发明实施例提供一种TCP连接的切换系统,该系统包括存储阵列和客户端,存储阵列包含第一存储控制器和第二存储控制器,当第一存储控制器与客户端之间的第一 TCP连接失败时,该系统,用于切换存储阵列与客户端的TCP连接;
[0018]第一存储控制器,用于将第一TCP连接的TCP信息发送至第二存储控制器;
[0019]第二存储控制器,用于根据第一存储控制器发送的TCP信息生成TCP中断报文,并将TCP中断报文发送至客户端。
[0020]在一个可能的设计中,第二存储控制器,将TCP中断报文发送至客户端之后,还用于:接收来自客户端的TCP连接请求,并与客户端建立第二 TCP连接。
[0021]在一个可能的设计中,第一存储控制器,具体用于在确定第一TCP连接失败后,把第一 TCP连接的TCP四元组和确定第一 TCP连接失败时的序列号发送给第二存储控制器;
[0022]第二存储控制器,具体用于根据第一存储控制器发送的TCP四元组和序列号,生成TCP中断报文。
[0023]在一个可能的设计中,第一存储控制器,具体用于在建立第一TCP连接后,将TCP四元组发送至第二存储控制器,并按照预设的周期向第二存储控制器发送序列号;
[0024]第二存储控制器,具体用于在确定第一TCP连接失败后,根据TCP四元组和接收到的最新的序列号,生成TCP中断报文。
[0025]在一个可能的设计中,第一存储控制器,具体用于在建立第一TCP连接后,将TCP四元组发送至第二存储控制器;
[0026]第二存储控制器,具体用于在确定第一TCP连接失败后,根据TCP四元组生成TCP中断报文。
[0027]另一方面,本发明实施例提供了一种TCP连接的切换装置,该装置具有实现上述方法实际中存储阵列行为的功能。该装置可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0028]在一个可能的设计中,该装置的结构中包括第一控制单元、第二控制单元和发送单元,所述第一控制单元和所述第二控制单元被配置为支持该装置执行上述方法中相应的功能。所述发送单元用于支持该装置与客户端之间的通信,向客户端发送上述方法中所涉及的信息或者指令。
[0029]另一方面,本发明实施例提供了一种TCP连接的切换装置,所述装置包含第一控制单元、第二控制单元和发送单元,当所述第一控制单元与客户端之间存在的第一 TCP连接失败时,所述装置用于切换所述装置与所述客户端的TCP连接;
[0030]所述第一控制单元,用于将所述第一TCP连接的TCP信息发送至所述第二控制单元;
[0031]所述第二控制单元,用于根据所述第一控制单元发送的TCP信息生成TCP中断报文;
[0032]所述发送单元,用于将所述第二控制单元生成的TCP中断报文发送至所述客户端。
[0033]在一个可能的设计中,所述装置还包括:
[0034]接收单元,用于在所述发送单元将所述TCP中断报文发送至所述客户端之后,接收来自所述客户端的TCP连接请求;
[0035]所述第二控制单元,还用于与所述客户端建立第二TCP连接。
[0036]在一个可能的设计中,所述第一控制单元,具体用于在确定所述第一TCP连接失败后,把所述第一TCP连接的TCP四元组和确定所述第一TCP连接失败时的序列号发送给所述第二控制单元;
[0037]所述第二控制单元,具体用于根据所述第一控制单元发送的所述TCP四元组和所述序列号,生成所述TCP中断报文。
[0038]在一个可能的设计中,所述第一控制单元,具体用于在建立所述第一TCP连接后,将TCP四元组发送至所述第二控制单元,并按照预设的周期向所述第二控制单元发送序列号;
[0039]所述第二控制单元,具体用于在确定所述第一TCP连接失败后,根据所述TCP四元组和接收到的最新的所述序列号,生成所述TCP中断报文。
[0040]在一个可能的设计中,所述第一控制单元,具体用于在建立所述第一TCP连接后,将TCP四元组发送至所述第二控制单元;
[0041]所述第二控制单元,具体用于在确定所述第一TCP连接失败后,根据所述TCP四元组生成所述TCP中断报文。
[0042]另一方面,本发明实施例提供了一种存储控制器,该存储控制器具有实现上述方法实际中存储控制器行为的功能。所述存储控制器可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0043]在一个可能的设计中,存储控制器的结构中包括处理器和发射器,所述处理器被配置为支持存储控制器执行上述方法中相应的功能。所述发射器用于支持存储控制器与客户端之间的通信,向客户端发送上述方法中所涉及的信息或者指令。所述存储控制器还可以包
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1