一种处理报文的方法及系统技术方案

技术编号:12696553 阅读:119 留言:0更新日期:2016-01-13 15:17
本发明专利技术公开了一种处理报文的方法及系统,所述方法应用于一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡,第一网卡生成处理会话的其他报文时所依据的上下文,并将上下文发送给第一主机。然后在第一主机在第一网卡故障后,指示第二网卡获得上下文,这样,第二网卡根据上下文,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡发生故障,第二网卡能够获得上下文,所以第二网卡能够对接收到的报文进行处理。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别涉及一种处理报文的方法及系统
技术介绍
网卡是配置在主机中的一种物理硬件,网卡接收其他主机发送的报文并上送给主机,主机对该报文进行处理。为了提高主机的可靠性,可以配置两个或两个以上的网卡在主机中,这样,即使一个网卡发生故障,也可以由剩余网卡中的一个网卡接替已发生故障的网卡,不会影响主机对其他主机发送的报文进行处理。随着主机需要处理的报文越来越多,目前出现了具有卸载功能的网卡,对报文实现硬件卸载。如果具有卸载功能的网卡配置为主机所属的网卡,则原本需要主机处理的报文中的部分报文可以由具有卸载功能的网卡进行处理,因此,主机的工作量减少,性能提尚ο为了主机的可靠性,可以将至少两个具有卸载功能的网卡配置为主机所属的网卡,具有卸载功能的网卡需要依据最新的上下文,对接收到会话的报文进行处理。然而,最新的上下文通常存储在对该会话的报文进行处理的网卡中,其他网卡由于没有最新的上下文,所以无法对接收到的所述会话的报文进行处理。
技术实现思路
本专利技术实施例提供一种处理报文的方法及系统,用于解决现有技术中存在的配置为主机所属的网卡中具有卸载功能的第一网卡发生故障后,另一具有卸载功能的第二网卡无法对接收到的报文进行处理的问题。本专利技术实施例第一方面提供了一种处理报文的方法,应用于一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡,所述方法包括:所述第一网卡接收会话的第一报文,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的上下文;所述第一网卡将所述上下文发送给所述第一主机;所述第一主机确定所述第一网卡故障;所述第一主机指示所述第二网卡获取所述上下文。第一网卡接收会话的第一报文,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的上下文,并将所述上下文发送给第一主机;然后第一主机确定第一网卡故障,指示第二网卡获得第一主机中的上下文,这样,第二网卡根据上下文,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡发生故障,第二网卡能够获得上下文,所以第二网卡能够对接收到的报文进行处理。结合第一方面,在第一方面的第一种可能的实现方式中,所述第二网卡获取所述上下文后,所述方法还包括:所述第一主机通知交换机将所述会话的其他报文发送至所述第二网卡,所述交换机用于所述第一主机与第二主机之间的通信。第一主机确定第一网卡发生故障后,及时通知交换机将所述会话的报文发送到第二网卡,使交换机及时获知第一网卡发生了故障,避免了交换机确定第一网卡发生故障的过程,交换机根据第一主机发送的通知,将原本发送给第一网卡的所述会话的报文发送给第二网卡,使得第二网卡及时收到所述会话的报文,提高了网卡处理会话的报文的效率。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在生成处理所述会话的其他报文时所依据的上下文之后,所述方法还包括:所述第一网卡根据所述上下文生成第一校验值,并将所述第一校验值发送给所述第一主机;在所述第一主机指示所述第二网卡获取所述上下文之前,所述方法还包括:所述第一主机根据接收到的上下文生成第二校验值;当所述第二校验值与所述第一校验值相同时,所述第一主机确定所述上下文是完整的。第一主机在指示第二网卡获取上下文之前,通过校验值验证上下文的完整性,保证第二网卡获取到的上下文是完整的,使得第二网卡依据获取到的上下文,能够对接收到的会话的报文进行正确地处理。本专利技术实施例第二方面提供了一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡;其中,所述第一网卡用于:接收会话的第一报文,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的上下文;将所述上下文发送给所述第一主机;所述第一主机用于:确定所述第一网卡故障;指示所述第二网卡获取所述上下文。结合第二方面,在第二方面的第一种可能的实现方式中,所述第一主机还用于:通知交换机将所述会话的其他报文发送至所述第二网卡,所述交换机用于所述第一主机与第二主机之间的通信。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一网卡还用于:根据所述上下文生成第一校验值,并将所述第一校验值发送给所述第一主机;所述第一主机还用于:根据接收到的上下文生成第二校验值;当所述第二校验值与所述第一校验值相同时,确定所述上下文是完整的。本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本专利技术实施例中,第一网卡接收会话的第一报文,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的上下文,并将所述上下文发送给第一主机;然后第一主机确定第一网卡故障,指示第二网卡获得第一主机中的上下文,这样,第二网卡根据上下文,对接收到的所述会话的其他报文进行处理。因此,即使第一网卡发生故障,第二网卡能够获得上下文,所以第二网卡能够对接收到的报文进行处理,实现了网卡之间报文处理功能的灵活切换。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种处理报文的系统的结构示意图;图2为本专利技术实施例提供的系统执行处理报文的方法的信息交互示意图。【具体实施方式】为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。未经特别说明,本专利技术实施例提到的网卡都是具有卸载功能的网卡。通常在网卡上实现硬件卸载的报文遵循的协议有:TCP(中文:传输控制协议;英文transmiss1nControl Protocol)、iSCSI (中文:互联网小型计算机系统接口 ;英文:Internet SmallComputer System Interface)协议、FCoE (中文:以太网光纤通道;英文:Fibre Channelover Ethernet)协议等。上述协议都是有状态的协议,如果报文遵循的协议是有状态的协议,则报文之间有依赖关系,上下文用于记录报文之间的依赖关系,网卡依据上下文对报文进行处理。由于原始报文经网卡处理后变为已处理的报文,所以报文之间的依赖关系相应地发生改变,因此,网卡每次对报文进行处理之后,上下文都会相应地发生改变。网卡需要依据最新的上下文对报文进行处理,如果依据的上下文不是最新的,则网卡不能对报文进行正确地处理。卸载分为全卸载和半卸载。对于全卸载,完全由网卡对报文进行处理,主机不参与报文处理,因此,网卡在处理第一个报文时,没有最新的上下文可以依据,网卡处理完第一个报文之后,根据已处理的第一个报文,生成最新的上下文,网卡依据生成的最新的上下文,处理第一个报文之后的其他报文。对于半卸载,主机首先处理一部分简单的报文,然后将剩余一部分复杂的报文卸载到网卡上,由网卡对剩余一部分复杂的报文进行处理。因此,主机首先处本文档来自技高网...

【技术保护点】
一种处理报文的方法,其特征在于,应用于一种处理报文的系统,所述系统包括:第一主机、第一网卡和第二网卡,所述方法包括:所述第一网卡接收会话的第一报文,对所述第一报文进行处理,生成处理所述会话的其他报文时所依据的上下文;所述第一网卡将所述上下文发送给所述第一主机;所述第一主机确定所述第一网卡故障;所述第一主机指示所述第二网卡获取所述上下文。

【技术特征摘要】

【专利技术属性】
技术研发人员:卢胜文
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1