一种数据转发方法、装置、容灾系统及存储介质与流程

文档序号:18629976发布日期:2019-09-06 23:29阅读:120来源:国知局
一种数据转发方法、装置、容灾系统及存储介质与流程
本发明涉及容灾
技术领域
,具体涉及一种数据转发方法、装置、容灾系统及存储介质。
背景技术
:容灾技术是指在某一个系统内设置多个(至少两个)具备相同功能的设备,在系统工作时,根据主备模式或者单机模式选择一个设备执行对应功能,在该设备故障时,从新选择其他设备执行对应功能;容灾技术可以最大程度的保证业务正常运行。如图1所示,lvs(linuxvirtualserver,开源负载均衡系统)基于ld(linuxdirector,提供负载均衡功能的数据转发设备),可以自动根据各rs(realserver,实际跑业务程序的服务器)的负载,将来自客户端的业务请求分配至负载最小的rs进行处理,这样就可以提供负载均衡功能,在该系统中,ld是实现负载均衡功能的主要设备,若发生故障则会导致系统不能继续服务;因此,在图1所示的lvs系统中,包括2个ld(主ld和备ld),使用active/standby模式,即一个时刻只能有一台ld负责转发数据,这种容灾方式因为一个时刻只能有一台ld来承载业务数据,另外一台为闲置状态,造成了ld资源的浪费,降低了数据转发设备的资源利用率。技术实现要素:本发明实施例提供一种数据转发方法、装置、容灾系统及存储介质,可以提高ld资源利用率。为解决上述技术问题,本发明实施例提供以下技术方案:一种数据转发方法,适用于容灾系统中的交换机,包括:接收待转发数据包;获取所述待转发数据包的源地址和目标地址;根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识;所述本地路由表包括数据转发设备的路由地址和设备标识;向所述数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包。一种数据转发方法,适用于容灾系统中的数据转发设备,包括:从第一网络的第一交换机获取待转发数据包;将所述待转发数据包进行数据包类型转换处理,得到转换后数据包;所述数据包类型包括隧道包、或非隧道包;向第二网络的第二交换机转发所述转换后数据包。一种数据转发装置,适用于容灾系统中的交换机,包括:接收模块,用于接收待转发数据包;第一获取模块,用于获取所述待转发数据包的源地址和目标地址;选择模块,用于根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识;所述本地路由表包括数据转发设备的路由地址和设备标识;第一发送模块,用于向所述数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包。一种数据转发装置,适用于容灾系统中的数据转发设备,包括:第二获取模块,用于从第一网络的第一交换机获取待转发数据包;处理模块,用于将所述待转发数据包进行数据包类型转换处理,得到转换后数据包;所述数据包类型包括隧道包、或非隧道包;第二发送模块,用于向第二网络的第二交换机转发所述转换后数据转换后数据包。一种容灾系统,所述容灾系统包括第一交换机、第二交换机、以及数据转发设备集群,其中:所述第一交换机用于接收待转发数据包,获取所述待转发数据包的源地址和目标地址,根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识,向数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包;所述本地路由表包括数据转发设备的路由地址和设备标识;所述数据转发设备集群中的目标数据转发设备用于将所述待转发数据包进行数据包类型转换处理,得到转换后数据包,向所述第二交换机转发所述转换后数据包;所述数据包类型包括隧道包、或非隧道包;所述第二交换机用于发送所述转换后数据包。一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述数据转发方法中的步骤。本发明实施例中的交换机在接收待转发数据包后,获取待转发数据包的源地址和目标地址,进而根据源地址和目标地址,从路由表中选择待转发数据包的下一跳设备标识,向数据转发设备集群中与下一跳设备标识对应的目标数据转发设备转发待转发数据包,通过目标数据转发设备处理转发该数据包;该选择方式根据数据包的源地址和目标地址选择数据转发设备处理数据包,这样集群内的每个数据转发设备都可以对数据包进行转发数据,而不是在同一时刻仅有一个ld工作,提高了ld资源利用率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中lvs系统的组网示意图;图2是本发明实施例提供的容灾系统的组网示意图;图3是本发明实施例提供的数据转发方法的第一种流程示意图;图4是本发明实施例提供的数据转发装置的第一种结构示意图;图5是本发明实施例提供的数据转发方法的第二种流程示意图;图6是本发明实施例提供的数据转发装置的第二种结构示意图;图7是本发明实施例提供的数据转发方法的第三种流程示意图;图8是本发明实施例提供的lvs系统的组网示意图;图9是本发明实施例提供的lvs系统的第一种数据流示意图;图10是本发明实施例提供的lvs系统的第二种数据流示意图;图11是本发明实施例提供的终端的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅图2,图2为本发明实施例所提供的容灾系统的场景示意图,该容灾系统可以包括交换机(包括图2中的第一交换机21和第二交换机22)和数据转发设备集群23,交换机具体可以集成在一个或多个实体中,第一交换机21位于第一网络,第二交换机22位于第二网络;其中,所述第一交换机21用于接收待转发数据包,获取所述待转发数据包的源地址和目标地址,根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识,向数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包;所述本地路由表包括数据转发设备的路由地址和设备标识;在此基础上,可以将所述待转发数据包转发至任意的数据转发设备进行转发处理,以实现数据转发设备集群中资源的合理利用,提高资源使用率;所述数据转发设备集群23中的目标数据转发设备用于将所述待转发数据包进行数据包类型转换处理,得到转换后数据包,向所述第二交换机转发所述转换后数据包;所述数据包类型包括隧道包、或非隧道包;所述第二交换机22用于发送所述转换后数据包至目标设备,如外网中的客户端,或者内网中的服务器等。此外,该容灾系统还可以包括客户端以及服务器等。其中,第一网络和第二网络是相对概念,一个为内网,一个为外网,在本发明实施例中,内网是指服务器所在的局域网,外网是指客户端所在的广域网。当数据包来自客户端时,第一网络为外网,第二网络为内网;当数据包来自业务服务器时,第一网络为内网,第二网络为外网。需要说明的是,图2所示的系统场景示意图仅仅是一个示例,本发明实施例描述的容灾系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。以下分别针对数据转发方法、装置在交换机与数据转发设备上的体现进行详细说明。图3是本发明实施例提供的数据转发方法的第一种流程示意图,请参阅图3,该适用于交换机的数据转发方法包括以下步骤:s301:接收待转发数据包。这个数据包可以是来自客户端的原始请求包,或者来讲业务服务器的业务数据包等。s302:获取所述待转发数据包的源地址和目标地址。针对不同类型的数据包,本步骤存在不同的实现方式,具体的本步骤包括:获取所述待转发数据包的数据包类型;在所述数据包类型为非隧道包时,将所述待转发数据包在第一网络中的源网络地址作为所述源地址,将所述待转发数据包在第一网络中的目的网络地址作为所述目标地址;在所述数据包类型为隧道包时,将所述待转发数据包在第二网络中的源网络地址作为所述源地址,将所述待转发数据包在第二网络中的目的网络地址作为所述目标地址。例如,当待转发数据包的数据包类型为非隧道包时,该数据包来自客户端,此时第一网络为外网,该数据包在第一网络中的源网络地址为clientip(客户端网络地址),在第一网络中的目的网络地址为vip(数据转发设备向客户端发布的网络地址)。例如,当待转发数据包的数据包类型为隧道包时,该数据包来自服务器,此时第二网络为内网,该数据包在第二网络中的源网络地址为rsip(服务器网络地址),在第二网络中的目的网络地址为tunnelip(数据转发设备向服务器发布的网络地址)。s303:根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识。路由表包括数据转发设备集群中数据转发设备的路由地址和设备标识,可以如下表1所示:路由地址设备标识路由地址设备标识ip1mac1ip1mac2ip1mac3ip1mac4ip2mac5ip2mac6ip2mac7ip2mac8表1设备标识可以是交换机能唯一确定数据转发设备的任意标识,例如全网唯一标识等,如mac(mediaaccesscontrol,媒体访问控制)地址等,还可以是其在集群内的编号等,集群对外使用相同的ip地址。本步骤具体的可以包括:在所述本地路由表中,查找所述目标地址对应的设备标识,作为待选择设备标识;根据所述源地址和所述目标地址,获取选择参考值;使用所述选择参考值与所述待选择设备标识的个数,从所述待选择设备标识中确定目标设备标识;将所述目标设备标识作为所述待转发数据包的下一跳设备标识。可选的,所述选择参考值为所述源地址和所述目标地址的哈希值,所述使用所述选择参考值与所述待选择设备标识的个数,从所述待选择设备标识中确定目标设备标识的步骤包括:将所述哈希值与所述待选择设备标识的个数进行取模计算;根据取模结果,确定目标设备标识在所述待选择设备标识中的位置;将所述待选择设备标识中对应位置的设备标识,确定为所述目标设备标识。例如,目标地址为ip1,在表1查找到4个mac(mac1至mac4),然后计算所述源地址和所述目标地址的哈希值(例如为98),然后进行取模(98/4)=2,此时确定目标设备标识在所述待选择设备标识中的位置为第2个,将mac2作为目标设备标识,将该mac2对应的ld2作为目标数据转发设备。s304:向数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包,不再赘述。不同业务类型可能对应不同的处理规则,此时,图3所示的方法还包括:获取所述待转发数据包对应业务的业务类型;判断所述业务类型是否需要数据转发设备进行端口转换;将判断结果发送至所述待转发数据包对应的目标数据转发设备,以触发所述目标数据转发设备处理所述待转发数据包。为了实现对数据转发设备集群内资源的充分利用,在初期可以仅激活部分的数据转发设备,那么此时,图3所示的方法还包括:获取剩余待转发数据包所需要的需求设备处理能力;获取所述数据转发设备集群中已激活数据转发设备的剩余设备处理能力;在所述剩余设备处理能力低于所述需求设备处理能力时,激活所述数据转发设备集群中的未激活数据转发设备。设备处理能力是指设备能够处理的数据包个数或者数据量,例如一个数据转发设备在单位时间内最大可以处理10个数据包或者10m的数据,若某时刻该数据转发设备已经在处理3个数据包,这3个数据包总量为2m,那么该数据转发设备的剩余设备处理能力为7个数据包或者8m的数据。对应的,剩余待转发数据包所需要的需求设备处理能力由剩余待转发数据包的总数据包个数和总数据量来确定。具体的为:获取所有尚未转发的待转发数据包的总数据包个数和总数据量,确定所有尚未转发的待转发数据包所需要的设备处理能力;获取所述数据转发设备集群处于激活状态的所有数据转发设备的剩余设备处理能力;在所述剩余设备处理能力低于所述所有尚未转发的待转发数据包所需要的设备处理能力时,计算需要新激活的数据转发设备;向所述数据转发设备集群中对应的数据转发设备发送激活指令;接收新激活的数据转发设备发送的路由通知;解析所述路由通知,获取数据转发设备的路由地址和设备标识,并对应更新至所述本地路由表中。为了实现对集群内设备的负载控制,此时,图3所示的方法还包括:获取各数据转发设备的负载状态;根据所述负载状态选择目标数据转发设备;根据所述待转发数据包的数据量,更新所述目标数据转发设备的负载状态。具体的,根据所述负载状态选择目标数据转发设备的步骤的实现方式包括以下方式中的一种:方式1、根据数据包的源地址和目标地址,从数据转发设备中选择一个,作为待确定目标数据转发设备;若所述待确定目标数据转发设备的负载状态低于预值,则将所述待确定目标数据确定为所述目标数据转发设备;若所述待确定目标数据转发设备的负载状态不低于预值,则从其他的数据转发设备中重新选择一个作为所述待确定目标数据,直至待确定目标数据转发设备的负载状态低于预值;方式2、从数据转发设备中,筛选负载状态低于预值的数据转发设备,作为可选数据转发设备;根据数据包的源地址和目标地址,从所述可选数据转发设备中选择一个,作为所述目标数据转发设备。相应的,图4是本发明实施例提供的数据转发装置的第一种结构示意图,请参阅图4,该适用于交换机的数据转发装置包括以下模块:接收模块41,用于接收待转发数据包;第一获取模块42,用于获取所述待转发数据包的源地址和目标地址;选择模块43,用于根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识;第一发送模块44,用于向数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包。可选地,第一获取模块42具体用于:获取所述待转发数据包的数据包类型;在所述数据包类型为非隧道包时,将所述待转发数据包在第一网络中的源网络地址作为所述源地址,将所述待转发数据包在第一网络中的目的网络地址作为所述目标地址;在所述数据包类型为隧道包时,将所述待转发数据包在第二网络中的源网络地址作为所述源地址,将所述待转发数据包在第二网络中的目的网络地址作为所述目标地址。可选地,选择模块43用于在所述本地路由表中,查找路由地址为所述目标地址的数据转发设备的设备标识,作为待选择设备标识;根据所述源地址和所述目标地址,获取选择参考值;使用所述选择参考值与所述待选择设备标识的个数,从所述待选择设备标识中确定目标设备标识;将所述目标设备标识对应的数据转发设备,作为所述目标数据转发设备。可选地,选择模块43具体用于计算源地址和所述目标地址的哈希值,将所述哈希值与所述待选择设备标识的个数进行取模计算;根据取模结果,确定目标设备标识在所述待选择设备标识中的位置;将所述待选择设备标识中对应位置的设备标识,确定为所述目标设备标识。可选地,数据转发装置还包括激活模块,用于获取所有尚未转发的待转发数据包的总数据包个数和总数据量,确定所有尚未转发的待转发数据包所需要的设备处理能力、数据转发设备集群处于激活状态的所有数据转发设备的剩余设备处理能力;在所述剩余设备处理能力低于所述所有尚未转发的待转发数据包所需要的设备处理能力时,计算需要新激活的数据转发设备;向所述数据转发设备集群中对应的数据转发设备发送激活指令;接收新激活的数据转发设备发送的路由通知;解析所述路由通知,获取数据转发设备的路由地址和设备标识,并对应更新至所述本地路由表中。可选地,选择模块43还用于获取所述待转发数据包对应业务的业务类型;判断所述业务类型是否需要数据转发设备进行端口转换;将判断结果发送至所述待转发数据包对应的目标数据转发设备,以触发所述目标数据转发设备处理所述待转发数据包。图5是本发明实施例提供的数据转发方法的第二种流程示意图,请参阅图5,该适用于数据转发设备的数据转发方法包括以下步骤:s501:从第一网络的第一交换机获取待转发数据包。s502:将所述待转发数据包进行数据包类型转换处理,得到转换后数据包;所述数据包类型包括隧道包、或非隧道包。可选的,本步骤包括:在所述待转发数据包的数据包类型为非隧道包时,获取在第二网络中所述待转发数据包对应业务服务器的负载参数;根据所述业务服务器的负载参数,从所述业务服务器中选择所述待转发数据包的目标服务器;将所述目标服务器的业务路由地址作为第二网络的目的地址、将所述待转发数据包作为第一网络数据包封装为隧道包,作为所述转换后数据包。可选的,在将所述待转发数据包作为第一网络数据包封装为隧道包之后,还包括:根据所述待转发数据包的业务类型,判断是否需要对所述隧道包进行端口转换;若是,则将所述第一网络数据包的目的端口转换所述目标服务器的业务路由端口。在所述待转发数据包的数据包类型为隧道包时,删除所述待转发数据包在第一网络的路由数据,得到所述待转发数据包在第二网络的第二网络数据包;将所述第二网络数据包作为所述转换后数据包。可选的,在得到所述第二网络数据包之后,还包括:判断所述第二网络数据包的源端口是否为第一网络的业务服务器的业务路由端口;若是,则查找数据转发设备在第二网络的路由端口,将所述第二网络数据包的源端口转换为所述数据转发设备在第二网络的路由端口。例如,当待转发数据包的数据包类型为非隧道包时,该数据包来自客户端,此时第一网络为外网,第二网络为内网,该数据包在第一网络中的源网络地址为clientip,在第一网络中的目的网络地址为vip,将其进行隧道封装得到隧道包,第一网络数据包就是指没有进行转换处理的待转发数据包,第一网络数据包的源ip为clientip,目的ip为vip,源端口为clientport,目的端口为vport;隧道包在第二网络中的源ip为tunnelip,目的ip为rs1ip。例如,当待转发数据包的数据包类型为隧道包时,该数据包来自服务器,此时第一网络为内网,第二网络为外网,该数据包在第一网络中的源网络地址为rsip,在第一网络中的目的网络地址为tunnelip;进行转换处理后得到隧道包在第二网络的第二网络数据包,第二网络数据包的源ip为vip,目的ip为clientip,源端口为vport,目的端口为clientport。s503:向第二网络的第二交换机转发所述转换后数据转换后数据包。可选的,在所述第一网络为外网、且不需要进行端口转换时,步骤s502具体包括:获取在第二网络中所述待转发数据包对应业务服务器的业务路由地址;获取数据转发设备在外网的第一路由地址以及第一路由端口,以及在内网的第二路由地址以及第二路由端口;将所述待转发数据包封装为隧道包,生成处转换后数据包;所述隧道包的隧道外层源地址为所述第二路由地址、隧道外层目的地址为所述业务路由地址,内层源地址为所述待转发数据包对应客户端的客户端路由地址,内层目的地址为所述第一路由地址,内层源端口为所述客户端的客户端路由端口,内层目的端口为所述第一路由端口。隧道包包括两层路由信息,第一层路由信息记为隧道外层路由信息(即下文的外层),第二层路由信息记为内层路由信息(即下文的内层)。可选的,在所第一网络为外网、且需要进行端口转换时,步骤s502具体包括:获取第二网络(此时为内网)中所述待转发数据包对应业务服务器的业务路由地址以及业务路由端口;获取数据转发设备在外网的第一路由地址以及第一路由端口,在内网的第二路由地址以及第二路由端口;将所述待转发数据包封装为隧道包,生成处理后的待转发数据包;所述隧道包的隧道外层源地址为所述第二路由地址、隧道外层目的地址为所述业务路由地址,内层源地址为所述待转发数据包对应客户端的客户端路由地址,内层目的地址为所述第一路由地址,内层源端口为所述客户端的客户端路由端口,内层目的端口为所述业务路由端口。可选的,在第一网络为内网、且不需要进行端口转换时,步骤s502具体包括:解析所述待转发数据包;该待转发数据包来自业务服务器,为隧道包,所述待转发数据包的隧道外层源地址为业务路由地址、隧道外层目的地址为第二路由地址,内层源地址为第一路由地址,内层目的地址为客户端路由地址,内层源端口为第一路由端口,内层目的端口为客户端路由端口;所述业务路由地址为生成所述待转发数据包的业务服务器的路由地址,所述第二路由地址为数据转发设备对所述内网上联交换机的路由地址,所述第一路由地址以及第一路由端口分别为数据转发设备对外网上联交换机的路由地址以及路由端口,所述客户端路由地址以及所述客户端路由端口分别为请求所述待转发数据包对应业务的客户端的路由地址以及路由端口;删除所述待转发数据包的隧道外层源地址和隧道外层目的地址,生成非隧道包(即隧道包在第二网络中的第二网络数据包),作为处理后的待转发数据包;所述非隧道包的源地址为所述第一路由地址,目的地址为所述客户端路由地址,源端口为所述第一路由端口,目的端口为所述客户端路由端口。可选的,在第一网络为内网、且需要进行端口转换时,步骤s502具体包括:解析所述待转发数据包;所述待转发数据包的隧道外层源地址为业务路由地址、隧道外层目的地址为第二路由地址,内层源地址为第一路由地址,内层目的地址为客户端路由地址,内层源端口为业务路由端口,内层目的端口为客户端路由端口;所述业务路由地址及业务路由端口分别为生成所述待转发数据包的业务服务器的路由地址和路由端口,所述第二路由地址为数据转发设备对所述内网上联交换机的路由地址,所述第一路由地址数据转发设备对外网上联交换机的路由地址,所述客户端路由地址以及所述客户端路由端口分别为请求所述待转发数据包对应业务的客户端的路由地址以及路由端口;剥掉所述待转发数据包的隧道外层源地址和隧道外层目的地址,生成非隧道包,作为处理后的待转发数据包;所述非隧道包的源地址为所述第一路由地址,目的地址为所述客户端路由地址,源端口为所述第一路由端口,目的端口为所述客户端路由端口,所述第一路由端口为数据转发设备对外网上联交换机的路由端口。可选的,在所述转换后数据包的数据包类型为隧道包时,表征步骤s502进行的是将数据包从非隧道包封装为隧道包,为了便于后续进行隧道包的去封装,需要进行信息同步,因此,图5所示方法在得到转换后数据包的步骤之后,还包括:获取所述转换后数据包的数据包类型;在所述转换后数据包的数据包类型为隧道包时,获取所述转换后数据包对应的路由信息;向数据转发设备集群中的其他数据转发设备同步所述路由信息。可选的,在所述第一网络为外网、且不需要进行端口转换时,转换后数据包对应的路由信息包括:所述客户端路由地址、所述第一路由地址、所述客户端路由端口、所述第一路由端口、所述业务路由地址,以及通信协议标识。可选的,在所述第一网络为外网、且需要进行端口转换时,转换后数据包对应的路由信息包括:所述客户端路由地址、所述第一路由地址、所述客户端路由端口、所述业务路由端口、所述业务路由地址,以及通信协议标识。相应的,图6是本发明实施例提供的数据转发装置的第二种结构示意图,请参阅图6,该适用于数据转发设备的数据转发装置包括以下模块:第二获取模块61,用于从第一网络的第一交换机获取待转发数据包;处理模块62,用于将所述待转发数据包进行数据包类型转换处理,得到转换后数据包;所述数据包类型包括隧道包、或非隧道包;第二发送模块63,用于向第二网络的第二交换机转发所述转换后数据转换后数据包。可选的,处理模块62具体用于:在所述待转发数据包的数据包类型为非隧道包时,获取在第二网络中所述待转发数据包对应业务服务器的负载参数;根据所述业务服务器的负载参数,从所述业务服务器中选择所述待转发数据包的目标服务器;将所述目标服务器的业务路由地址作为第二网络的目的地址、将所述待转发数据包作为第一网络数据包封装为隧道包,作为所述转换后数据包。可选的,在将所述待转发数据包作为第一网络数据包封装为隧道包之后,还用于:根据所述待转发数据包的业务类型,判断是否需要对所述隧道包进行端口转换;若是,则将所述第一网络数据包的目的端口转换所述目标服务器的业务路由端口。在所述待转发数据包的数据包类型为隧道包时,删除所述待转发数据包在第一网络的路由数据,得到所述待转发数据包在第二网络的第二网络数据包;将所述第二网络数据包作为所述转换后数据包。可选的,在得到所述第二网络数据包之后,还用于:判断所述第二网络数据包的源端口是否为第一网络的业务服务器的业务路由端口;若是,则查找数据转发设备在第二网络的路由端口,将所述第二网络数据包的源端口转换为所述数据转发设备在第二网络的路由端口。可选的,为了进行信息同步,如图6所示,适用于数据转发设备的数据转发装置还包括同步模块64,用于获取所述转换后数据包的数据包类型,在所述转换后数据包的数据包类型为隧道包时,获取所述转换后数据包对应的路由信息,向数据转发设备集群中的其他数据转发设备同步所述路由信息。可选的,同步模块64具体用于:在所述第一网络为外网、且不需要进行端口转换时,获取所述客户端路由地址、所述第一路由地址、所述客户端路由端口、所述第一路由端口、所述业务路由地址,以及通信协议标识,作为所述路由信息。在所述第一网络为外网、且需要进行端口转换时,获取所述客户端路由地址、所述第一路由地址、所述客户端路由端口、所述业务路由端口、所述业务路由地址,以及通信协议标识,作为所述路由信息。现结合图7对容灾系统的整体流程进行说明,在本实施例中,第一网络为客户端所在的外网,第二网络为服务器所在的内网,此时图2中的第一交换机为外网上联交换机,第二交换机为内网上联交换机;图7是本发明实施例提供的数据转发方法的第三种流程示意图,请参阅图7并结合图2,该数据转发方法包括以下步骤:s701:客户端(client)发送业务请求。用户在需要请求某个业务时,通过客户端发送业务请求,该业务请求的源ip为clientip,目的ip为vip(virtulip,业务暴露给客户端访问的虚拟ip,即上文的第一路由地址),源端口为clientport,目的端口为vport(virtulport,业务暴露给客户端访问的虚拟端口,即上文中的第一路由端口)。s702:外网上联交换机获取业务请求的源地址和目标地址。交换机在接收到业务请求后,将其作为待转发数据包,获取clientip和vip。s703:外网上联交换机根据业务请求的源地址和目标地址,选择目标数据转发设备。外网上联交换机在表1所示的路由表中,查找路由地址为vip的数据转发设备的设备标识,作为待选择设备标识;计算客户端ip和vip的哈希值;使用哈希值与待选择设备标识的个数进行取模;根据取模结果,从待选择设备标识中确定目标设备标识;将目标设备标识对应的数据转发设备,作为目标数据转发设备,例如选择数据转发设备1作为业务请求的目标数据转发设备。s704:外网上联交换机发送业务请求至数据转发设备1。s705:数据转发设备1将该业务调度给服务器1。数据转发设备1根据各服务器的负载,选择服务器1(rs1)处理该业务请求。s706:数据转发设备1将业务请求封装为隧道包1。数据转发设备1将业务请求封装成ipip(ipinip,将一层ip数据包封装在另外一层ip头内的隧道技术)隧道包,记为隧道包1,其隧道外层源ip为tunnelip(数据转发设备1向内网上联交换机发布的路由地址,即上文的第二路由地址),外层目的ip为rs1ip,内层源ip为clientip,内层目的ip为vip,内层源端口为clientport,内层目的端口为vport;同时保存下路由信息clientip+vip+clientport+vport+rsip+protocol,然后将路由信息使用组播同步给集群内其他设备(数据转发设备2至数据转发设备4)。protocol为网络数据交换规则的通信协议标识,在因特网上,通用tcp/ip协议,它由以下部分组成:传输控制协议(tcp),使用一组规则与其他的因特网节点在数据包水平上交换信息,因特网协议(ip),使用一套规则来在因特网地址水平上发送和接收消息,另外还包括超文本传输协议(http)和文件传输协议(ftp),以及边界网关协议(bgp)和动态主机配置协议(dhcp)等。s707:数据转发设备1将隧道包1发送给内网上联交换机。s708:内网上联交换机将隧道包1发送至服务器1。内网上联交换机匹配rs1主机路由,将隧道包1转发给rs1,该转发不修改数据包。s709:服务器1生成隧道包1对应隧道包2。隧道包到rs1后,匹配ipiptunnel,自动剥掉ipip隧道包1头后,内层目的ip为vip,由于lo口为vip,所以数据包匹配本地路由表,将该请求包送给正在监听vip+vport的应用程序socket;应用程序socket查找业务请求对应的业务数据,并生成携带业务数据的隧道包2,其源ip为vip,匹配策略路由,通过ipiptunnel发出隧道包,隧道包外层源ip为rs1ip,外层目的ip为tunnelip,内层源ip为vip,内层目的ip为clientip,内层源端口为vport,内层目的端口为clientport。s710:服务器1发送隧道包2至内网上联交换机。s711:内网上联交换机获取隧道包2的外层源地址和外层目标地址。内网上联交换机获取作为外层源地址的rs1ip、和作为外层目的地址的tunnelip。s712:内网上联交换机根据隧道包2的外层源地址和外层目标地址,选择目标数据转发设备。内网上联交换机在表1所示的路由表中,查找路由地址为tunnelip的数据转发设备的设备标识,作为待选择设备标识;计算rs1ip和tunnelip的哈希值;使用哈希值与待选择设备标识的个数进行取模;根据取模结果,从待选择设备标识中确定目标设备标识;将目标设备标识对应的数据转发设备,作为目标数据转发设备,例如选择数据转发设备3作为隧道包2的目标数据转发设备。s713:内网上联交换机发送隧道包2至数据转发设备3。s714:数据转发设备3将隧道包2转换为业务数据。数据转发设备3将隧道包2的外层ip头剥掉,生成业务数据,该业务数据的源ip为vip,目的ip为clientip,源端口为vport,目的端口为clientport。s715:数据转发设备3发送业务数据到外网上联交换机。s716:外网上联交换机将业务数据发送至客户端。平台级负载均衡产品对容灾和性能要求非常高,而图1所示的业界传统负载均衡系统只有单机模式或主备模式,容灾能力较低,无法满足平台级负载均衡产品的需求;至少存在3个缺点:1)负载均衡集群无法扩容;当业务流量/包量过大时,负载均衡器会成为系统瓶颈,并且只能通过升级更高性能的ld来提升负载均衡的整体性能;2)资源浪费;一个时刻只能有一台ld来承载业务流量,另外一台为闲置状态;3)容灾等级低;该方案只能保证负载均衡ld单机故障时业务的容灾,若两台机器同时故障,则业务受损。图8是本发明实施例提供的lvs系统的组网示意图;由图8可知,本发明实施例提供的lvs系统包括客户端81、外网上联交换机82、ld集群83(包括ld1至ld4)、内网上联交换机84、业务服务器85(包括rs1和rs2);具体的,在图8所示系统中,负载均衡集群需要对接内网和外网两侧,外网侧与客户端交互数据,内网侧与rs端交互数据,集群内每台ld同时与外网交换机和内网交换机建立邻居关系,对外网发布vip路由,对内网发布tunnelip路由;内网和外网上联交换机分别学习到vip和tunnelip的路由,该路由从4台ld发布出来,当交换机接收到目的ip是vip或tunnelip的流量后,使用数据包的源ip和目的ip来做哈希,然后对不同的源、目的ip,流量ecmp转发给4台ld;若其中一台或多台ld故障后,ospf协议会自动将故障ld剔除路由下一跳,从而实现流量的切换。同时,ld配置前端负载均衡转发规则为vip+vport+protocol,后端业务服务器rsip1和rsip2;rs配置ipiptunnel,remoteip为ld的tunnelip,localip为rsip,将vip起在lo口上,还需要配置一条策略路由,匹配源ip为vip的数据包走ipiptunnel出去,关闭rp_filter,业务程序监听vip+vport。当ld集群内的所有ld均正常时,系统数据流如图9所示:若客户端所请求的业务不需要特殊处理,图9所示各步骤如下:步骤①,客户端client从外网发起对vip的访问,源ip为clientip,目的ip为vip,源端口为clientport,目的端口为vport;步骤②,外网上联交换机收到client的请求包以后,匹配vip路由,使用clientip+vip哈希,命中ld1作为下一跳,将数据包发给ld1,该转发不修改数据包;步骤③,ld1匹配转发规则,将连接调度给rs1,将原始请求包封装成ipip隧道包发送给内网上联交换机,隧道外层源ip为tunnelip,外层目的ip为rs1ip,内层源ip为clientip,内层目的ip为vip,内层源端口为clientport,内层目的端口为vport;同时ld1保存下路由信息clientip+vip+clientport+vport+rsip+protocol,然后将路由信息使用组播同步给集群内其他ld;步骤④,内网上联交换机匹配rs1主机路由,将隧道包转发给rs1,该转发不修改数据包;步骤⑤,隧道包到rs1后,匹配ipiptunnel,自动剥掉ipip隧道包头后,内层目的ip为vip,由于lo口起着vip,所以数据包匹配本地路由表,将该请求包送给正在监听vip+vport的应用程序socket;应用程序socket查找业务请求对应的业务数据,回包源ip为vip,匹配策略路由,通过ipiptunnel发出隧道包,隧道包外层源ip为rs1ip,外层目的ip为tunnelip,内层源ip为vip,内层目的ip为clientip,内层源端口为vport,内层目的端口为clientport;步骤⑥,内网上联交换机收到rs1发过来的隧道包后,匹配tunnelip路由,使用rs1ip+tunnelip哈希,命中ld3作为下一跳,将隧道包发给ld3,该转发不修改数据包;步骤⑦,ld3根据隧道包中的vip+vport+rsip+protocol匹配转发规则,然后将隧道包的外层ip头剥掉,再发给外网上联交换机;剥离后的数据包源ip为vip,目的ip为clientip,源端口为vport,目的端口为clientport;步骤⑧,外网上联交换机根据路由信息将数据包转发给client,该转发不修改数据包。若客户端所请求的业务需要特殊处理,如要转发规则的vport和rsport(即上文中的第二路由端口)不相同,此时,ld的负载均衡转发规则为vip+vport+protocol,后端业务服务器rsip1+rsport和rsip2+rsport,需要增加一个规则限制,即vip+rsip+rsport+protocol只能唯一映射一个vport,rs上的业务程序监听rsip和rsport;此时,图9所示各步骤如下:步骤①,客户端client从外网发起对vip的访问,源ip为clientip,目的ip为vip,源端口为clientport,目的端口为vport;步骤②,外网上联交换机收到client的请求包以后,匹配vip路由,使用clientip+vip哈希,命中ld1作为下一跳,将数据包发给ld1,该转发不修改数据包;步骤③,ld1匹配转发规则,将连接调度给rs1,将原始请求包封装成ipip隧道包发送给内网上联交换机,隧道外层源ip为tunnelip,外层目的ip为rs1ip,内层源ip为clientip,内层目的ip为vip,内层源端口为clientport,内层目的端口为rsport;同时ld1保存下路由信息clientip+vip+clientport+rsport+rsip+protocol,然后将路由信息使用组播同步给集群内其他ld;步骤④,内网上联交换机匹配rs1主机路由,将隧道包转发给rs1,该转发不修改数据包;步骤⑤,隧道包到rs1后,匹配ipiptunnel,自动剥掉ipip隧道包头后,内层目的ip为vip,由于lo口起着vip,所以数据包匹配本地路由表,将该请求包送给正在监听vip+vport的应用程序socket;应用程序socket查找业务请求对应的业务数据,回包源ip为vip,匹配策略路由,通过ipiptunnel发出隧道包,隧道包外层源ip为rs1ip,外层目的ip为tunnelip,内层源ip为vip,内层目的ip为clientip,内层源端口为rsport,内层目的端口为clientport;步骤⑥,内网上联交换机收到rs1发过来的隧道包后,匹配tunnelip路由,使用rs1ip+tunnelip哈希,命中ld3作为下一跳,将隧道包发给ld3,该转发不修改数据包;步骤⑦,ld3使用隧道包里的vip+rsip+rsport+protocol作为索引,查找出唯一vport,将剥掉ipiptunnel后的数据包的源端口从rsport修改成vport,再发给外网上联交换机;剥离后的数据包源ip为vip,目的ip为clientip,源端口为vport,目的端口为clientport;步骤⑧,外网上联交换机根据路由信息将数据包转发给client,该转发不修改数据包。当ld集群内的ld1和ld3故障时,上联交换机将故障的ld1和ld3从vip和tunnelip的下一跳中剔除,前端和后端流量可以任意由存活的ld承载,只要有一台ld正常,都不会影响业务提供服务,并且对于存量连接,由于有会话同步,所以也不会受影响;此时,系统数据流如图10所示:若客户端所请求的业务不需要特殊处理,图10所示各步骤如下:步骤①,客户端client从外网发起对vip的访问,源ip为clientip,目的ip为vip,源端口为clientport,目的端口为vport;步骤②,外网上联交换机收到client的请求包以后,匹配vip路由,使用clientip+vip哈希,命中ld2作为下一跳,将数据包发给ld2,该转发不修改数据包;步骤③,ld2匹配转发规则,将连接调度给rs1,将原始请求包封装成ipip隧道包发送给内网上联交换机,隧道外层源ip为tunnelip,外层目的ip为rs1ip,内层源ip为clientip,内层目的ip为vip,内层源端口为clientport,内层目的端口为vport;同时ld1保存下路由信息clientip+vip+clientport+vport+rsip+protocol,然后将路由信息使用组播同步给集群内其他ld;步骤④,内网上联交换机匹配rs1主机路由,将隧道包转发给rs1,该转发不修改数据包;步骤⑤,隧道包到rs1后,匹配ipiptunnel,自动剥掉ipip隧道包头后,内层目的ip为vip,由于lo口起着vip,所以数据包匹配本地路由表,将该请求包送给正在监听vip+vport的应用程序socket;应用程序socket查找业务请求对应的业务数据,回包源ip为vip,匹配策略路由,通过ipiptunnel发出隧道包,隧道包外层源ip为rs1ip,外层目的ip为tunnelip,内层源ip为vip,内层目的ip为clientip,内层源端口为vport,内层目的端口为clientport;步骤⑥,内网上联交换机收到rs1发过来的隧道包后,匹配tunnelip路由,使用rs1ip+tunnelip哈希,命中ld4作为下一跳,将隧道包发给ld4,该转发不修改数据包;步骤⑦,ld4根据隧道包中的vip+vport+rsip+protocol匹配转发规则,然后将隧道包的外层ip头剥掉,再发给外网上联交换机;剥离后的数据包源ip为vip,目的ip为clientip,源端口为vport,目的端口为clientport;步骤⑧,外网上联交换机根据路由信息将数据包转发给client,该转发不修改数据包。若客户端所请求的业务需要特殊处理,如要转发规则的vport和rsport不相同,此时,ld的负载均衡转发规则为vip+vport+protocol,后端业务服务器rsip1+rsport和rsip2+rsport,需要增加一个规则限制,即vip+rsip+rsport+protocol只能唯一映射一个vport,rs上的业务程序监听rsip和rsport;此时,图10所示各步骤如下:步骤①,客户端client从外网发起对vip的访问,源ip为clientip,目的ip为vip,源端口为clientport,目的端口为vport;步骤②,外网上联交换机收到client的请求包以后,匹配vip路由,使用clientip+vip哈希,命中ld2作为下一跳,将数据包发给ld2,该转发不修改数据包;步骤③,ld2匹配转发规则,将连接调度给rs1,将原始请求包封装成ipip隧道包发送给内网上联交换机,隧道外层源ip为tunnelip,外层目的ip为rs1ip,内层源ip为clientip,内层目的ip为vip,内层源端口为clientport,内层目的端口为rsport;同时ld1保存下路由信息clientip+vip+clientport+rsport+rsip+protocol,然后将路由信息使用组播同步给集群内其他ld;步骤④,内网上联交换机匹配rs1主机路由,将隧道包转发给rs1,该转发不修改数据包;步骤⑤,隧道包到rs1后,匹配ipiptunnel,自动剥掉ipip隧道包头后,内层目的ip为vip,由于lo口起着vip,所以数据包匹配本地路由表,将该请求包送给正在监听vip+vport的应用程序socket;应用程序socket查找业务请求对应的业务数据,回包源ip为vip,匹配策略路由,通过ipiptunnel发出隧道包,隧道包外层源ip为rs1ip,外层目的ip为tunnelip,内层源ip为vip,内层目的ip为clientip,内层源端口为rsport,内层目的端口为clientport;步骤⑥,内网上联交换机收到rs1发过来的隧道包后,匹配tunnelip路由,使用rs1ip+tunnelip哈希,命中ld4作为下一跳,将隧道包发给ld4,该转发不修改数据包;步骤⑦,ld4使用隧道包里的vip+rsip+rsport+protocol作为索引,查找出唯一vport,将剥掉ipiptunnel后的数据包的源端口从rsport修改成vport,再发给外网上联交换机;剥离后的数据包源ip为vip,目的ip为clientip,源端口为vport,目的端口为clientport;步骤⑧,外网上联交换机根据路由信息将数据包转发给client,该转发不修改数据包。根据以上描述可知,本实施例提供的方案使用ipip隧道加路由发布的集群方案,实现负载均衡器的多机容灾,不仅能满足高等级的容灾需求,还可以根据需求平行扩容/缩容集群性能,满足平台级负载均衡的弹性需求;并且使用多主的方式,充分利用集群内ld资源,能支持更高的峰值突发流量,在业务访问数据流中,同时部署于业务rs之前,为rs提供四层tcp/udp负载均衡能力,并实时检查rs健康状态,将异常rs剔除资源池,保证业务可用性;即本发明至少有以下效果:负载均衡集群可平行扩展;即根据业务负载均衡规则的包量和流量,灵活定制集群内ld数量;资源充分利用;集群内每台ld都跑流量,不会有闲置资源;容灾能力强;集群内多台ld同时故障,只要存活有1台ld,则业务都能正常转发;支持变端口功能;vport和rsport可以不相同,业务配置更灵活。相应的,本发明实施例还提供一种终端,如图11所示,该终端可以包括射频(rf,radiofrequency)电路1101、包括有一个或一个以上计算机可读存储介质的存储器1102、输入单元1103、显示单元1104、传感器1105、音频电路1106、无线保真(wifi,wirelessfidelity)模块1107、包括有一个或者一个以上处理核心的处理器1108、以及电源1109等部件。本领域技术人员可以理解,图11中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:rf电路1101可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1108处理;另外,将涉及上行的数据发送给基站。通常,rf电路1101包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim,subscriberidentitymodule)卡、收发信机、耦合器、低噪声放大器(lna,lownoiseamplifier)、双工器等。此外,rf电路1101还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(gsm,globalsystemofmobilecommunication)、通用分组无线服务(gprs,generalpacketradioservice)、码分多址(cdma,codedivisionmultipleaccess)、宽带码分多址(wcdma,widebandcodedivisionmultipleaccess)、长期演进(lte,longtermevolution)、电子邮件、短消息服务(sms,shortmessagingservice)等。存储器1102可用于存储软件程序以及模块,处理器1108通过运行存储在存储器1102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1102还可以包括存储器控制器,以提供处理器1108和输入单元1103对存储器1102的访问。输入单元1103可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元1103可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1108,并能接收处理器1108发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元1103还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元1104可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1104可包括显示面板,可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器1108以确定触摸事件的类型,随后处理器1108根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图11中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。终端还可包括至少一种传感器1105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。音频电路1106、扬声器,传声器可提供用户与终端之间的音频接口。音频电路1106可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路1106接收后转换为音频数据,再将音频数据输出处理器1108处理后,经rf电路1101以发送给比如另一终端,或者将音频数据输出至存储器1102以便进一步处理。音频电路1106还可能包括耳塞插孔,以提供外设耳机与终端的通信。wifi属于短距离无线传输技术,终端通过wifi模块1107可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了wifi模块1107,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。处理器1108是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1108可包括一个或多个处理核心;优选的,处理器1108可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1108中。终端还包括给各个部件供电的电源1109(比如电池),优选的,电源可以通过电源管理系统与处理器1108逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1109还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器1108会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1102中,并由处理器1108来运行存储在存储器1102中的应用程序,从而实现各种功能:接收待转发数据包;获取所述待转发数据包的源地址和目标地址;根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识;所述本地路由表包括数据转发设备的路由地址和设备标识;向数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包。可选地,获取所述待转发数据包的数据包类型;在所述数据包类型为非隧道包时,将所述待转发数据包在第一网络中的源网络地址作为所述源地址,将所述待转发数据包在第一网络中的目的网络地址作为所述目标地址;在所述数据包类型为隧道包时,将所述待转发数据包在第二网络中的源网络地址作为所述源地址,将所述待转发数据包在第二网络中的目的网络地址作为所述目标地址。可选地,在所述本地路由表中,查找所述目标地址对应的设备标识,作为待选择设备标识;根据所述源地址和所述目标地址,获取选择参考值;使用所述选择参考值与所述待选择设备标识的个数,从所述待选择设备标识中确定目标设备标识;将所述目标设备标识作为所述待转发数据包的下一跳设备标识。可选地,所述选择参考值为所述源地址和所述目标地址的哈希值,将所述哈希值与所述待选择设备标识的个数进行取模计算;根据取模结果,确定目标设备标识在所述待选择设备标识中的位置;将所述待选择设备标识中对应位置的设备标识,确定为所述目标设备标识。可选地,获取剩余待转发数据包所需要的需求设备处理能力;获取所述数据转发设备集群中已激活数据转发设备的剩余设备处理能力;在所述剩余设备处理能力低于所述需求设备处理能力时,激活所述数据转发设备集群中的未激活数据转发设备。或者,在本实施例中,终端中的处理器1108会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1102中,并由处理器1108来运行存储在存储器1102中的应用程序,从而实现各种功能:从第一网络的第一交换机获取待转发数据包;将所述待转发数据包进行数据包类型转换处理,得到转换后数据包;所述数据包类型包括隧道包、或非隧道包;向第二网络的第二交换机转发所述转换后数据转换后数据包。可选的,在所述待转发数据包的数据包类型为非隧道包时,获取在第二网络中所述待转发数据包对应业务服务器的负载参数;根据所述业务服务器的负载参数,从所述业务服务器中选择所述待转发数据包的目标服务器;将所述目标服务器的业务路由地址作为第二网络的目的地址、将所述待转发数据包作为第一网络数据包封装为隧道包,作为所述转换后数据包。可选的,在将所述待转发数据包作为第一网络数据包封装为隧道包之后,根据所述待转发数据包的业务类型,判断是否需要对所述隧道包进行端口转换;若是,则将所述第一网络数据包的目的端口转换所述目标服务器的业务路由端口。可选的,在所述待转发数据包的数据包类型为隧道包时,删除所述待转发数据包在第一网络的路由数据,得到所述待转发数据包在第二网络的第二网络数据包;将所述第二网络数据包作为所述转换后数据包。可选的,在得到所述第二网络数据包之后,判断所述第二网络数据包的源端口是否为第一网络的业务服务器的业务路由端口;若是,则查找数据转发设备在第二网络的路由端口,将所述第二网络数据包的源端口转换为所述数据转发设备在第二网络的路由端口。可选的,在得到转换后数据包之后,获取所述转换后数据包的数据包类型;在所述转换后数据包的数据包类型为隧道包时,获取所述转换后数据包对应的路由信息;向数据转发设备集群中的其他数据转发设备同步所述路由信息。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据转发方法的详细描述,此处不再赘述。本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种数据转发方法中的步骤。例如,该指令可以执行如下步骤:接收待转发数据包;获取所述待转发数据包的源地址和目标地址;根据所述源地址和所述目标地址,从本地路由表中选择所述待转发数据包的下一跳设备标识;所述本地路由表包括数据转发设备的路由地址和设备标识;向数据转发设备集群中与所述下一跳设备标识对应的目标数据转发设备转发所述待转发数据包。可选地,获取所述待转发数据包的数据包类型;在所述数据包类型为非隧道包时,将所述待转发数据包在第一网络中的源网络地址作为所述源地址,将所述待转发数据包在第一网络中的目的网络地址作为所述目标地址;在所述数据包类型为隧道包时,将所述待转发数据包在第二网络中的源网络地址作为所述源地址,将所述待转发数据包在第二网络中的目的网络地址作为所述目标地址。可选地,在所述本地路由表中,查找所述目标地址对应的设备标识,作为待选择设备标识;根据所述源地址和所述目标地址,获取选择参考值;使用所述选择参考值与所述待选择设备标识的个数,从所述待选择设备标识中确定目标设备标识;将所述目标设备标识作为所述待转发数据包的下一跳设备标识。可选地,所述选择参考值为所述源地址和所述目标地址的哈希值,将所述哈希值与所述待选择设备标识的个数进行取模计算;根据取模结果,确定目标设备标识在所述待选择设备标识中的位置;将所述待选择设备标识中对应位置的设备标识,确定为所述目标设备标识。可选地,获取剩余待转发数据包所需要的需求设备处理能力;获取所述数据转发设备集群中已激活数据转发设备的剩余设备处理能力;在所述剩余设备处理能力低于所述需求设备处理能力时,激活所述数据转发设备集群中的未激活数据转发设备。或者,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种数据转发方法中的步骤。例如,该指令可以执行如下步骤:从第一网络的第一交换机获取待转发数据包;将所述待转发数据包进行数据包类型转换处理,得到转换后数据包;所述数据包类型包括隧道包、或非隧道包;向第二网络的第二交换机转发所述转换后数据转换后数据包。可选的,在所述待转发数据包的数据包类型为非隧道包时,获取在第二网络中所述待转发数据包对应业务服务器的负载参数;根据所述业务服务器的负载参数,从所述业务服务器中选择所述待转发数据包的目标服务器;将所述目标服务器的业务路由地址作为第二网络的目的地址、将所述待转发数据包作为第一网络数据包封装为隧道包,作为所述转换后数据包。可选的,在将所述待转发数据包作为第一网络数据包封装为隧道包之后,根据所述待转发数据包的业务类型,判断是否需要对所述隧道包进行端口转换;若是,则将所述第一网络数据包的目的端口转换所述目标服务器的业务路由端口。可选的,在所述待转发数据包的数据包类型为隧道包时,删除所述待转发数据包在第一网络的路由数据,得到所述待转发数据包在第二网络的第二网络数据包;将所述第二网络数据包作为所述转换后数据包。可选的,在得到所述第二网络数据包之后,判断所述第二网络数据包的源端口是否为第一网络的业务服务器的业务路由端口;若是,则查找数据转发设备在第二网络的路由端口,将所述第二网络数据包的源端口转换为所述数据转发设备在第二网络的路由端口。可选的,在得到转换后数据包之后,获取所述转换后数据包的数据包类型;在所述转换后数据包的数据包类型为隧道包时,获取所述转换后数据包对应的路由信息;向数据转发设备集群中的其他数据转发设备同步所述路由信息。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种数据转发方法中的步骤,因此,可以实现本发明实施例所提供的任一种数据转发方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上对本发明实施例所提供的一种数据转发方法、装置、容灾系统及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1