CN106059724A - 一种报文传输方法和装置 - Google Patents
一种报文传输方法和装置 Download PDFInfo
- Publication number
- CN106059724A CN106059724A CN201610354957.5A CN201610354957A CN106059724A CN 106059724 A CN106059724 A CN 106059724A CN 201610354957 A CN201610354957 A CN 201610354957A CN 106059724 A CN106059724 A CN 106059724A
- Authority
- CN
- China
- Prior art keywords
- transmission path
- message
- transmission
- numbering
- request message
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文传输方法和装置。该方法包括:接收上层应用的注册,并保存上层应用的回调机制;分别基于与每个物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径;在接收到上层应用发送的请求报文后,根据请求报文指定的对端控制器为请求报文分配目标传输路径;通过目标传输路径将请求报文发送给请求报文指定的对端控制器;在接收到对端控制器发送的响应报文后,根据回调机制将响应报文转给对应的上层应用。本申请控制器对上可以向上层应用提供调用接口,对下可以建立并维护与其他控制器进行通信的传输路径,降低了上层应用与传输层网络协议的紧耦合关系,进而大大降低了上层应用开发的复杂度。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法和装置。
背景技术
随着互联网技术的快速发展,越来越多的用户选择把数据保存在专门的存储系统。对于高端存储用户而言,对存储系统的可靠性要求比较高,而控制器是存储系统的核心部件,完成数据收发、数据存储、数据保护等关键功能。
目前,存储系统中的控制器之间通过内部网络进行通信,该内部网络支持不同的传输介质来组网。举例来说,控制器可以通过以太网总线、PCI-E(Peripheral ComponentInterconnection-Express,快速外设组件互连标准)总线、FC(Fibre Channel,光纤通道)总线等接入内部网络。然而,这就要求开发人员在开发控制器的上层应用时,要考虑支持不同的网络传输协议以及路径冗余功能,开发复杂度极高。
发明内容
有鉴于此,本申请提供一种报文传输方法和装置,可以降低多控存储系统中控制器上层应用开发的复杂度。
具体地,本申请是通过如下技术方案实现的:
一种报文传输方法,所述方法应用在多控存储系统的控制器中,所述控制器通过多个物理出口连接到所述多控存储系统的内部网络,所述方法包括:
接收上层应用的注册,并保存所述上层应用的回调机制;
分别基于与每个物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径;
在接收到上层应用发送的请求报文后,根据所述请求报文指定的对端控制器为所述请求报文分配目标传输路径;
通过所述目标传输路径将所述请求报文发送给所述请求报文指定的对端控制器;
在接收到对端控制器发送的响应报文后,根据所述回调机制将所述响应报文转给对应的上层应用。
一种报文传输装置,所述装置应用在多控存储系统的控制器中,所述控制器通过多个物理出口连接到所述多控存储系统的内部网络,所述装置包括:
注册保存单元,用于接收上层应用的注册,并保存所述上层应用的回调机制;
路径建立单元,用于分别基于与每个物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径;
路径分配单元,用于在接收到上层应用发送的请求报文后,根据所述请求报文指定的对端控制器为所述请求报文分配目标传输路径;
报文发送单元,用于通过所述目标传输路径将所述请求报文发送给所述请求报文指定的对端控制器;
报文转达单元,用于在接收到对端控制器发送的响应报文后,根据所述回调机制将所述响应报文转给对应的上层应用。
由以上描述可以看出,在本申请提供的报文传输方案中,控制器对上可以向上层应用提供调用接口,对下可以建立并维护与其他控制器进行通信的传输路径,降低了上层应用与传输层网络协议的紧耦合关系,进而大大降低了上层应用开发的复杂度。
附图说明
图1是本申请一示例性实施例示出的一种多控存储系统的组网示意图。
图2是本申请一示例性实施例示出的一种报文传输方法的流程示意图。
图3是本申请一示例性实施例示出的报文传输方法的网络分层示意图。
图4是本申请一示例性实施例示出的一种传输路径切换的流程示意图。
图5是本申请一示例性实施例示出的一种协商续传编号的流程示意图。
图6是本申请一示例性实施例示出的一种用于报文传输装置的一结构示意图。
图7是本申请一示例性实施例示出的一种报文传输装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对上述问题,本申请提供一种多控存储系统中的报文传输方案,应用在多控存储系统的控制器中,面向应用层,可以接收上层应用的注册,并保存所述上层应用的回调机制。面向传输层,可以基于物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径。当接收到上层应用发送的请求报文后,可以在建立的传输路径中为该请求报文分配目标传输路径,并将该请求报文通过该目标传输路径进行发送。当接收到对端控制器发的响应报文后,可以根据回调机制将该响应报文转给对应的上层应用。应用上述技术方案,降低了上层应用与传输层网络协议的紧耦合关系,进而大大降低了上层应用开发的复杂度。
请参考图1所示的多控存储系统的组网示意图,该多控存储系统包括有X个存储节点,其中,存储节点A和存储节点X均包括有两台控制器,这些控制器分别通过交换机连接到内部网络,以实现与其他控制器的通信。在本实施例中,各存储节点可以通过以太网总线、PCI-E总线、FC总线等连接到交换机,本申请对此不作特殊限制。
图2是本申请一示例性实施例示出的一种报文传输方法的流程示意图。
请参考图2,所述报文传输方法可以应用在多控存储系统的控制器中,所述控制器通过多个物理出口连接到所述多控存储系统的内部网络。从网络分层的角度来看,请进一步参考图3,所述报文传输方法可以理解为设置在控制器中传输层和应用层之间的多路径传输层执行的处理逻辑,包括有以下步骤:
步骤201,接收上层应用的注册,并保存所述上层应用的回调机制。
在本实施例中,多控存储系统中的控制器可以接收其上装载的各上层应用的注册,比如:上层应用可以在装载完成后通过预设的接口发送注册信息以及回调机制。其中,所述注册信息可以包括:应用类型、应用标识等应用的信息。所述回调机制是接收到对端控制器发送的响应报文后,将所述响应报文转给对应上层应用的处理机制,比如:所述回调机制可以为根据响应报文携带的应用标识进行回调,所述回调机制也可以为根据响应报文的目标端口号进行回调等,本申请对此不作特殊限制。
步骤202,分别基于与每个物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立的传输路径。
在本实施例中,多控存储系统中的各控制器可以在通过物理出口连接到内部网络后,基于物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径。当所述物理出口连接的物理链路为以太网总线时,其上使能的传输控制协议可以为TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)等。当所述物理出口连接的物理链路为FC总线时,其上使能的传输控制协议为FCP(Fibre Channel Protocol,光纤通道协议)。其中,所述传输路径的本质是与其他控制器建立的连接,比如:TCP连接、FCP连接等。
在一个例子中,管理员可以在物理链路连接好后为对应的物理出口使能匹配所述物理链路类型的传输控制协议。可选的,控制器也可以在物理链路连接好后基于所述物理链路的链路类型自动为对应的物理出口使能匹配的传输控制协议,本申请对此不作特殊限制。在本步骤中,针对每个对端控制器,通过每个物理出口本端控制器均可以与所述对端控制器建立传输路径。
在另一个例子中,控制器还可以在接收到上层应用的连接建立请求时,与上层应用指定的对端控制器建立传输路径,比如:通过每个物理出口分别与该对端控制器建立传输路径。
在本实施例中,以图1所示的多控存储系统为例,假设所述多控存储系统中包括有四台控制器,分别为:控制器A-1、控制器A-2、控制器X-1以及控制器X-2,以控制器A-1为例,假设控制器A-1通过两个物理出口连接到该多控存储系统的交换机上,请参考表1所示的传输路径表,控制器A-1可以建立6条传输路径,其中,传输路径1是通过物理出口1建立的,用于与控制器A-2通信,传输路径2也是通过物理出口1建立的,用于与控制器X-1通信等。
传输路径 | 物理出口 | 对端控制器 |
传输路径1 | 物理出口1 | 控制器A-2 |
传输路径2 | 物理出口1 | 控制器X-1 |
传输路径3 | 物理出口1 | 控制器X-2 |
传输路径4 | 物理出口2 | 控制器A-2 |
传输路径5 | 物理出口2 | 控制器X-1 |
传输路径6 | 物理出口2 | 控制器X-2 |
表1
当然,在图1所示的多控存储系统中,控制器A-2、控制器X-1以及控制器X-2中也会建立多条传输路径,比如:控制器X-1建立的传输路径中也包括有传输路径5,通过其某个物理出口连接到所述多控存储系统的交换机上,用于与控制器A-1通信,本申请在此不再一一赘述。
步骤203,在接收到上层应用发送的请求报文后,根据所述请求报文指定的对端控制器为所述请求报文分配目标传输路径。
在本实施例中,上层应用可以在注册后通过上述预设的接口发送请求报文,控制器可以根据所述请求报文指定的对端控制器为所述请求报文分配目标传输路径,比如:可以根据所述请求报文的目的IP地址确定所述请求报文要发往的对端控制器,然后在创建的传输路径中选择用于与所述对端控制器进行通信的传输路径。当本控制器与所述对端控制器进行通信的传输路径有多条时,还可以基于预设的负载均衡算法在多条传输路径中确定一条目标传输路径。
需要说明的是,在本实施例中,所述请求报文泛指由本控制器发往其他控制器的报文,后续的响应报文泛指本控制器接收到的来自其他控制器的报文。
仍以图1所示的多控存储系统为例,假设控制器A-1的上层应用调用预设的接口,要将一请求报文发送给控制器X-1,控制器A-1在通过所述接口接收到该请求报文后,查找到两条与控制器X-1建立的传输路径,分别为传输路径2和传输路径5,进而依据负载均衡策略将所述请求报文分配传输路径2。
步骤204,通过所述目标传输路径将所述请求报文发送给所述请求报文指定的对端控制器。
基于前述步骤203,在为所述请求报文分配目标传输路径后,可以为所述第一业务报文封装用于故障冗余处理的报文头部,并在所述报文头部携带传输编号、报文长度等信息。
表2
请参考表2所示的报文头部,该报文头部共计16个字节,前4个字节用于携带传输编号,中间4个字节用于携带报文长度,后8个字节为预留的字段。当然,在实际应用中,也可以为所述请求报文封装其他字节数量的报文头部,本申请对此不作特殊限制。
在本实施例中,所述传输编号为所述请求报文在所述目标传输路径中的发送顺序号。具体地,针对每条传输路径,控制器会为所述传输路径中发送的请求报文进行编号,较为简单的,可以从1开始顺序编号,即第一个通过所述传输路径发送的请求报文的传输编号为1,第二个通过所述传输路径发送的请求报文的传输编号为2等,依次类推。所述传输编号可以用来进行报文的确收,以TCP协议为例,对端控制器在接收到所述请求报文后,可以返回携带有该请求报文传输编号的ACK应答报文。所述传输编号还可以用于传输路径故障时的冗余处理,本文后续会进行相关描述。
在本实施例中,在为所述请求报文封装好报文头部后,可以将所述请求报文加入到所述目标传输路径的发送队列中,以等待发送。
步骤205,在接收到对端控制器发送的响应报文后,根据所述回调机制将所述响应报文转给对应的上层应用。
在本实施例中,控制器在接收到对端控制器发送的响应报文后,可以从所述响应报文的报文头部解析出所述响应报文的传输编号以及报文长度。其中,所述响应报文泛指本控制器接收到的来自其他控制器的报文,比如:来自其他控制器的请求报文等,本申请对此不作特殊限制。
在本实施例中,控制器可以基于所述响应报文的报文长度确定是否已完整接收到所述响应报文,如果已经完整接收到所述响应报文,则可以根据所述报文长度为所述响应报文分配缓存空间,然后将所述响应报文存储在所述缓存空间中,并通过回调机制通知对应的上层应用进行处理,以所述回调机制为根据应用标识进行回调为例,控制器可以从所述响应报文中解析出携带的应用标识,然后根据各上层应用的注册信息确定所述应用标识对应的上层应用,并通知该上层应用对所述响应报文进行处理。其中,所述响应报文中携带的应用标识可以由发送所述响应报文的上层应用添加,也可以由发送所述响应报文的控制器在接收到其上层应用发送的该响应报文后进行添加,本申请对此不作特殊限制。
另一方面,当控制器确认已经完整接收到所述响应报文后,还可以向发送该响应报文的控制器返回ACK应答报文,并在该应答报文中携带所述响应报文的传输编号,以进行所述响应报文的确收。
由以上描述可以看出,在本申请提供的报文传输方案中,控制器对上可以向上层应用提供调用接口,对下可以建立并维护与其他控制器进行通信的传输路径,降低了上层应用与传输层网络协议的紧耦合关系,进而大大降低了上层应用开发的复杂度。
可选的,在本申请另一个例子中,针对每条传输路径,控制器在接收到来自对端控制器的响应报文后,还可以保存从所述传输路口中最新成功接收到的响应报文的传输编号。仍以图1以及表1为例,控制器A-1可以分别为每条传输路径设置对应的缓存空间,用于缓存基于该传输路径最新成功接收到的响应报文的传输编号。以传输路径3为例,当基于传输路径3接收到传输编号为1的响应报文后,可以将传输编号1缓存在传输路径3对应的缓存空间,当基于传输路径3接收到传输编号为2的响应报文后,可以将传输路径3对应的缓存空间中缓存的传输编号1更新为传输编号2,依次类推。缓存的所述传输编号可以用于传输路径故障时的冗余处理。
请参考图4所示的传输路径切换的流程示意图,传输路径的切换过程可以包括以下步骤:
步骤401,当某一传输路径故障时,根据冗余算法确定故障传输路径的备份传输路径。
在本实施例中,当建立的某一传输路径故障时,比如:承载该传输路径的某条物理链路故障,则可以根据预设的冗余算法确定故障传输路径的备份传输路径。
仍以图1以及表1为例,假设控制器A-1中的传输路径2故障,传输路径2用于与控制器X-1通信,则控制器A-1可以确定所述传输路径2的备份传输路径为传输路径5。
步骤402,通过所述备份传输路径与所述备份传输路径的对端控制器协商续传编号。
在本实施例中,请参考图5,与对端控制器协商续传编号的过程可以包括以下步骤:
步骤4021,通过所述备份传输路径发送故障通知报文给所述故障传输路径的对端控制器,所述故障通知报文中携带有故障传输路径标识。
在本实施例中,在确定故障传输路径的备份传输路径后,可以构造故障通知报文,并在所述故障通知报文中携带故障传输路径标识,然后通过所述备份传输路径将所述故障通知报文发送给对端控制器。
表3
在本实施例中,可以为所述故障通知报文添加表3所示的报文头部,该报文头部共计16个字节,其中,第一个字节用于携带报文类型,比如:可以采用字符0来标识故障通知报文,字符1来标识故障应答报文等,第二到五字节用于携带故障路径标识。当然,本领域技术人员还可以采取其他的方式来标识所述故障通知报文,本申请对此不作特殊限制。
仍以前述步骤401中的举例为例,控制器A-1构造故障通知报文,该故障通知报文的报文头部的第一个字节中携带字符0,第二到五个字节中传输路径2的标识,然后将该故障通知报文通过传输路径5发送给控制器X-1。
较为简单的,开发人员还可以为请求报文和故障通知报文设置格式相互兼容的报文头部,比如:可以在请求报文头部的第一个字节中添加请求报文的标识,比如:字符2,然后参考表2,可以依次添加4个字节的传输编码以及4个字节的报文长度等。对端控制器在接收到任一报文后,均可以提取报文头部第一个字节中携带的字符对所述报文进行识别。
步骤4022,对端控制器在接收到所述故障通知报文后,根据所述故障通知报文中携带的故障传输路径标识获取通过所述故障传输路径最后成功接收到的响应报文的传输编号,作为续传编号。
在本实施例中,对端控制器在接收到所述故障通知报文后,可以从所述故障通知报文中提取出故障传输路径编号,然后在本地缓存中查找所述故障传输路径编号指向的故障传输路径所对应的缓存空间,并获取其中缓存的传输编号,该传输编号就是通过故障传输路径最后成功接收到的响应报文的传输编号,在本申请中,将其称为续传编号。
仍以前述步骤401中的举例为例,控制器X-1的多路径传输层在接收到控制器A-1通过传输路径5发送的故障通知报文后,从该故障通知报文的报文头部获取故障传输路径标识,然后根据该标识确定传输路径2故障,进而在传输路径2对应的缓存空间中获取故障中断编号。
步骤4023,对端控制器将所述续传编号携带在故障应答报文中返回给发送所述故障通知报文的控制器。
基于前述步骤4022,对端控制器在获取到续传编号后,可以将所述续传编号携带在故障应答报文中返回给发送所述故障通知报文的控制器。假设,控制器X-1获取到的续传编号为25,则将该续传编号添加到故障应答报文中,并将该故障应答报文通过传输路径5发送给控制器A-1。
表4
在本实施例中,基于表3所示的报文头部,控制器X-1可以为故障应答报文添加表4所示的报文头部,其中,报文类型为去,故障路径标识为传输路径2的标识,续传编号为25。
在本实施例中,在接收到对端控制器发送的故障应答报文后,从所述故障应答报文中提取出续传编号,以完成故障路径的续传编号协商过程。
步骤403,将所述故障传输路径的发送队列中传输编号大于所述续传编号的请求报文通过所述备份传输路径发送。
在本实施例中,控制器在提取出所述续传编号后,可以将故障传输路径中传输编号大于所述续传编号的请求报文通过所述备份传输路径发送,比如:将故障传输路径的发送队列中传输编号大于所述续传编号的请求报文加入到所述备份传输路径的发送队列中。需要说明的是,在将传输编号大于所述续传编号的请求报文加入到所述备份传输路径之前,通常还需要将这些请求报文的传输编号更新为其在备份传输路径中的发送顺序号。
基于前述步骤4023的举例,控制器A-1在接收到控制器X-1通过传输路径5返回的故障应答报文后,从中提取出续传编号25,然后从传输路径2的发送队列中提取传输编号大于25的请求报文,并在更新这些请求报文的传输编号后,将这些请求报文加入到传输路径5的发送队列中,以完成传输路径的切换。
由以上描述可以看出,本申请提供的多控存储系统的报文传输方案,通过为请求报文添加传输编号以实现对传输路径故障的冗余处理,整个过程对上层应用是透明的,降低了上层应用与传输层网络协议的紧耦合关系,进而大大降低了上层应用开发的复杂度。
与前述报文传输方法的实施例相对应,本申请还提供了报文传输装置的实施例。
本申请报文传输装置的实施例可以应用在多控存储系统的控制器中。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在控制器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请报文传输装置所在控制器的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的控制器通常根据该控制器的实际功能,还可以包括其他硬件,对此不再赘述。
图7是本申请一示例性实施例示出的一种报文传输装置的结构示意图。
请参考图7,所述报文传输装置600可以应用在前述图6所示的控制器中,所述控制器通过多个物理出口连接到所述多控存储系统的内部网络,所述装置600包括有:注册保存单元601、路径建立单元602、路径分配单元603、报文发送单元604、报文转达单元605、备份确定单元606、续传协商单元607、续传发送单元608以及编号缓存单元609。
其中,所述注册保存单元601,用于接收上层应用的注册,并保存所述上层应用的回调机制;
所述路径建立单元602,用于分别基于与每个物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径;
所述路径分配单元603,用于在接收到上层应用发送的请求报文后,根据所述请求报文指定的对端控制器为所述请求报文分配目标传输路径;
所述报文发送单元604,用于通过所述目标传输路径将所述请求报文发送给所述请求报文指定的对端控制器;
所述报文转达单元605,用于在接收到对端控制器发送的响应报文后,根据所述回调机制将所述响应报文转给对应的上层应用。
可选的,所述报文发送单元604,用于为所述请求报文封装传输编号,所述传输编号为所述请求报文在所述目标传输路径中的发送顺序号,并将封装好传输编号的所述请求报文加入所述目标传输路径的发送队列。
所述备份确定单元606,用于在某一传输路径故障时,根据冗余算法确定故障传输路径的备份传输路径;
所述续传协商单元607,用于通过所述备份传输路径与所述备份传输路径的对端控制器协商续传编号;
所述续传发送单元608,用于将所述故障传输路径的发送队列中传输编号大于所述续传编号的请求报文通过所述备份传输路径发送。
所述编号缓存单元609,用于在接收到所述响应报文后,解析并缓存所述响应报文的传输编号;
可选的,所述续传协商单元607,用于通过所述备份传输路径发送故障通知报文给所述故障传输路径的对端控制器,所述故障通知报文中携带有故障传输路径标识;在接收到对端控制器发送的故障通知报文后,根据所述故障通知报文中携带的故障传输路径标识获取通过所述故障传输路径最后成功接收到的响应报文的传输编号,作为所述续传编号;将所述续传编号携带在故障应答报文中返回给所述对端控制器。
可选的,所述报文转达单元605,用于解析所述响应报文携带的应用标识,根据上层应用的注册信息确定所述应用标识对应的上层应用,并将所述响应报文转给所述应用标识对应的上层应用。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种报文传输方法,其特征在于,所述方法应用在多控存储系统的控制器中,所述控制器通过多个物理出口连接到所述多控存储系统的内部网络,所述方法包括:
接收上层应用的注册,并保存所述上层应用的回调机制;
分别基于与每个物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径;
在接收到上层应用发送的请求报文后,根据所述请求报文指定的对端控制器为所述请求报文分配目标传输路径;
通过所述目标传输路径将所述请求报文发送给所述请求报文指定的对端控制器;
在接收到对端控制器发送的响应报文后,根据所述回调机制将所述响应报文转给对应的上层应用。
2.根据权利要求1所述的方法,其特征在于,所述通过所述目标传输路径将所述请求报文发送给所述请求报文指定的对端控制器,包括:
为所述请求报文封装传输编号,所述传输编号为所述请求报文在所述目标传输路径中的发送顺序号;
将封装好传输编号的所述请求报文加入所述目标传输路径的发送队列。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当某一传输路径故障时,根据冗余算法确定故障传输路径的备份传输路径;
通过所述备份传输路径与所述备份传输路径的对端控制器协商续传编号;
将所述故障传输路径的发送队列中传输编号大于所述续传编号的请求报文通过所述备份传输路径发送。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在接收到所述响应报文后,解析并缓存所述响应报文的传输编号;
所述通过所述备份传输路径与所述备份传输路径的对端控制器协商续传编号,包括:
通过所述备份传输路径发送故障通知报文给所述故障传输路径的对端控制器,所述故障通知报文中携带有故障传输路径标识;
在接收到对端控制器发送的故障通知报文后,根据所述故障通知报文中携带的故障传输路径标识获取通过所述故障传输路径最后成功接收到的响应报文的传输编号,作为所述续传编号;
将所述续传编号携带在故障应答报文中返回给所述对端控制器。
5.根据权利要求1所述的方法,其特征在于,所述根据所述回调机制将所述响应报文转给对应的上层应用,包括:
解析所述响应报文携带的应用标识;
根据上层应用的注册信息确定所述应用标识对应的上层应用;
将所述响应报文转给所述应用标识对应的上层应用。
6.一种报文传输装置,其特征在于,所述装置应用在多控存储系统的控制器中,所述控制器通过多个物理出口连接到所述多控存储系统的内部网络,所述装置包括:
注册保存单元,用于接收上层应用的注册,并保存所述上层应用的回调机制;
路径建立单元,用于分别基于与每个物理出口上使能的传输控制协议,通过所述物理出口与对端控制器建立传输路径;
路径分配单元,用于在接收到上层应用发送的请求报文后,根据所述请求报文指定的对端控制器为所述请求报文分配目标传输路径;
报文发送单元,用于通过所述目标传输路径将所述请求报文发送给所述请求报文指定的对端控制器;
报文转达单元,用于在接收到对端控制器发送的响应报文后,根据所述回调机制将所述响应报文转给对应的上层应用。
7.根据权利要求6所述的装置,其特征在于,
所述报文发送单元,用于为所述请求报文封装传输编号,所述传输编号为所述请求报文在所述目标传输路径中的发送顺序号,并将封装好传输编号的所述请求报文加入所述目标传输路径的发送队列。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
备份确定单元,用于在某一传输路径故障时,根据冗余算法确定故障传输路径的备份传输路径;
续传协商单元,用于通过所述备份传输路径与所述备份传输路径的对端控制器协商续传编号;
续传发送单元,用于将所述故障传输路径的发送队列中传输编号大于所述续传编号的请求报文通过所述备份传输路径发送。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
编号缓存单元,用于在接收到所述响应报文后,解析并缓存所述响应报文的传输编号;
所述续传协商单元,用于通过所述备份传输路径发送故障通知报文给所述故障传输路径的对端控制器,所述故障通知报文中携带有故障传输路径标识;在接收到对端控制器发送的故障通知报文后,根据所述故障通知报文中携带的故障传输路径标识获取通过所述故障传输路径最后成功接收到的响应报文的传输编号,作为所述续传编号;将所述续传编号携带在故障应答报文中返回给所述对端控制器。
10.根据权利要求6所述的装置,其特征在于,
所述报文转达单元,用于解析所述响应报文携带的应用标识,根据上层应用的注册信息确定所述应用标识对应的上层应用,并将所述响应报文转给所述应用标识对应的上层应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610354957.5A CN106059724B (zh) | 2016-05-25 | 2016-05-25 | 一种报文传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610354957.5A CN106059724B (zh) | 2016-05-25 | 2016-05-25 | 一种报文传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106059724A true CN106059724A (zh) | 2016-10-26 |
CN106059724B CN106059724B (zh) | 2019-04-05 |
Family
ID=57174535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610354957.5A Active CN106059724B (zh) | 2016-05-25 | 2016-05-25 | 一种报文传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106059724B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109701268A (zh) * | 2018-12-29 | 2019-05-03 | 北京金山安全软件有限公司 | 设备间的信息传输方法、装置、电子设备及存储介质 |
CN115118392A (zh) * | 2022-06-10 | 2022-09-27 | 网宿科技股份有限公司 | D-sack的确定方法、处理器与通信系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795596A (zh) * | 2014-03-03 | 2014-05-14 | 北京邮电大学 | 可编程控制的sdn网络测量系统和测量方法 |
CN103944974A (zh) * | 2014-04-02 | 2014-07-23 | 华为技术有限公司 | 一种协议报文处理方法、控制器故障处理方法及相关设备 |
CN104023006A (zh) * | 2014-05-09 | 2014-09-03 | 东北大学 | 一种基于应用层中继的多径传输系统及方法 |
WO2016015747A1 (en) * | 2014-07-28 | 2016-02-04 | Nokia Solutions And Networks Oy | Message-based path selection for transport protocols supporting multiple transport paths |
-
2016
- 2016-05-25 CN CN201610354957.5A patent/CN106059724B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795596A (zh) * | 2014-03-03 | 2014-05-14 | 北京邮电大学 | 可编程控制的sdn网络测量系统和测量方法 |
CN103944974A (zh) * | 2014-04-02 | 2014-07-23 | 华为技术有限公司 | 一种协议报文处理方法、控制器故障处理方法及相关设备 |
CN104023006A (zh) * | 2014-05-09 | 2014-09-03 | 东北大学 | 一种基于应用层中继的多径传输系统及方法 |
WO2016015747A1 (en) * | 2014-07-28 | 2016-02-04 | Nokia Solutions And Networks Oy | Message-based path selection for transport protocols supporting multiple transport paths |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109701268A (zh) * | 2018-12-29 | 2019-05-03 | 北京金山安全软件有限公司 | 设备间的信息传输方法、装置、电子设备及存储介质 |
CN115118392A (zh) * | 2022-06-10 | 2022-09-27 | 网宿科技股份有限公司 | D-sack的确定方法、处理器与通信系统 |
CN115118392B (zh) * | 2022-06-10 | 2024-05-28 | 网宿科技股份有限公司 | D-sack的确定方法、处理器与通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106059724B (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
CN108650182B (zh) | 网络通信方法、系统、装置、设备及存储介质 | |
CN107231221B (zh) | 数据中心间的业务流量控制方法、装置及系统 | |
US6529963B1 (en) | Methods and apparatus for interconnecting independent fibre channel fabrics | |
US8942085B1 (en) | System and method for routing around failed links | |
US9917743B2 (en) | Directing data flows in data centers with clustering services | |
CN101080915B (zh) | 用于使用移动网际协议旁路路由栈的方法、系统和计算机程序产品 | |
US20170063604A1 (en) | Method and apparatus for sve redundancy | |
US8954785B2 (en) | Redundancy and load balancing in remote direct memory access communications | |
US7055173B1 (en) | Firewall pooling in a network flowswitch | |
CN102771094B (zh) | 分布式路由架构 | |
CN102067533B (zh) | 与虚拟接口相关联的端口分组 | |
CN101156408B (zh) | 用于操作系统分区的网络通信 | |
CN101442493B (zh) | Ip报文分发方法、集群系统和负载均衡器 | |
US7839848B2 (en) | Method, device and system for message transmission | |
CN102792644B (zh) | 用于路由分组的系统和方法 | |
CN104539531A (zh) | 数据传输方法及装置 | |
CN111010340B (zh) | 数据报文转发控制方法、装置及计算装置 | |
CN102088448B (zh) | Ip报文的发送方法及边界隧道路由器 | |
CN115189920A (zh) | 跨网络域通信方法和相关装置 | |
WO2006065101A1 (en) | Method for balancing load among subsystems in communication network system of bus network structure | |
EP3750059B1 (en) | Server system | |
US6772221B1 (en) | Dynamically configuring and 5 monitoring hosts connected in a computing network having a gateway device | |
CN106059724A (zh) | 一种报文传输方法和装置 | |
WO2006068434A1 (en) | Communication network system of bus network structure and message routing method using the system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hangzhou City, Zhejiang Province, Binjiang District West Street 310053 Qianmo Road No. 482 building eleventh layer to the twelfth layer A Applicant after: Hangzhou Sequoia Polytron Technologies Inc Address before: Hangzhou City, Zhejiang Province, Binjiang District West Street 310053 Qianmo Road No. 482 building eleventh layer to the twelfth layer A Applicant before: Hangzhou MacroSAN Technologies Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |