logo好方法网

一种数据转发方法、装置及可读存储介质


技术摘要:
本申请公开了一种数据转发方法、装置及可读存储介质,用以解决当业务流分担到不同的转发服务器时,基于单个转发服务器单独限速的方案无法实现满足流量限速的要求的问题。本申请的数据转发方法包括:第一转发服务器接收交换机转发的第一数据报文;所述第一数据报文的目  全部
背景技术:
在公有云中,弹性IP(elastic  internet  protoco,EIP)是面向公网的IP,租户使 用EIP提供面向公网的服务。而租户使用EIP业务的流量时,通常运营商会对租户的EIP业务 流量限制带宽上限,从而避免租户使用超出所付租用费用之外的流量。 为提升EIP业务的处理能力,现有提出基于分布式网关集群来实现EIP业务,通常 分布式网关集群包括多个转发服务器,用于对EIP业务的流量进行负载均衡。在一个分布式 网关集群中,同一个EIP业务的流量,可能会在多个转发服务器上进行转发处理。 为了实现对租用使用EIP业务的带宽进行限制,一种方式可以将租户租用的EIP业 务的最高带宽平均分配到每个转发服务器上,由每个转发服务器对租户进行的EIP业务的 一部分带宽进行限速,比如一个租户的EIP业务的最高带宽限制为200M,如果分布式网关集 群包括4个转发服务器,则可以让每个转发服务器分别对该租户进行的EIP业务进行50M带 宽的限制,这样如果当前只有1-3个转发服务器处理该EIP的业务,则当前EIP的流量最多能 达到50M-150M的带宽,无法到达租户购买的200M的带宽上限,影响租户的业务使用体验。 为解决无法达到租户购买的200M的带宽上限的问题,另一种方式可以为,将分布 式网关集群中的每个转发服务器中设置该EIP业务的限速为200M,这样虽然可以保证任意 时刻都可以实现该EIP的流量可以到达租户购买的200M带宽上限,但是,也导致另外一个问 题,即若分布式网关集群包括4个转发服务器,则实际该EIP对应的带宽上限达到了800M,远 远超过了租户实际购买的带宽上限,导致云服务商无法实现对租户带宽的准确限速。 综上,现有基于分布式网关集群中的转发服务器对EIP业务进行转发处理时,出于 EIP难以在分布式集群的转发服务器上对业务宽带进行精确限速,可能导致EIP无法达到租 户购买的带宽上限,或者EIP实际获得的带宽上限超过租户购买的带宽上限的问题。
技术实现要素:
本申请提供一种数据转发方法、装置及可读存储介质,用以解决当业务流的负载 分担到不同的转发服务器时,基于单个转发服务器单独限速的方案无法实现满足流量限速 的要求的问题。 第一方面,本申请提供一种数据转发方法,包括:第一转发服务器接收交换机转发 的第一数据报文;第一数据报文的目的IP地址为第一弹性EIP地址;第一转发服务器若确定 自身处理第一EIP地址对应的业务,则对第一数据报文进行转发处理;第一转发服务器若确 定自身不是处理第一EIP地址对应的业务的转发服务器,则根据第一EIP地址确定用于处理 第一EIP地址对应的业务的第二转发服务器,并将第一数据报文转发给第二转发服务器处 理。 5 CN 111585896 A 说 明 书 2/19 页 通过上述方法,第一转发服务器在接收到交换机发送的第一数据报文后,可以根 据第一数据报文对应的第一EIP地址,确定处理第一EIP地址对应的业务的转发服务器,例 如,处理第一EIP地址对应的业务可以为对第一EIP地址对应的业务的数据报文进行限速处 理。当第一转发服务器为处理第一EIP地址对应的业务的转发服务器,则第一转发服务器根 据第一EIP地址对应的带宽上限,确定是否对第一数据报文进行转发。当第一转发服务器确 定第二转发服务器为处理第一EIP地址对应的业务的转发服务器,则将第一数据报文转发 给第二转发服务器,实现了同一EIP地址的不同数据报文由对应的转发服务器进行处理,进 而,转发服务器可以根据接收到的同一EIP地址的所有数据报文,以确定在分布式转发服务 器集群中,同一EIP地址的数据报文的总流量,并在该转发服务器上实现对该EIP地址的所 有数据报文进行精确限速,避免现有技术中,通过多个转发服务器分别限速时所导致的问 题。 在一种可能的实现方式中,第一转发服务器若根据接收到的第一EIP地址的数据 报文的总流量,确定第一EIP地址对应的业务的数据报文产生的流量小于或等于第一EIP地 址对应的带宽上限时,再对第一数据报文进行转发处理。 通过上述方法,在确定处理第一EIP地址对应的业务的转发服务器为第一转发服 务器时,其他转发服务器也可能将第一EIP地址对应的其他数据报文转发给第一转发服务 器,进而,第一转发服务器可以根据从交换机和其他转发服务器接收到的第一EIP地址对应 的业务的所有数据报文,以确定在分布式转发集群中第一EIP地址的数据报文产生的流量, 以精确判断第一EIP地址对应的业务的数据报文产生的流量是否已达到第一EIP地址对应 的带宽上限,在未达到第一EIP地址对应的带宽上限时,才对第一数据报文进行转发处理, 进而,避免第一EIP地址对应的业务的数据报文在第一转发服务器处产生的流量已大于第 一EIP对应的带宽上限时,第一转发服务器仍对第一数据报文进行处理,浪费第一转发服务 器的处理资源的问题。相应的,在达到第一EIP地址对应的带宽上限时,则可以对第一数据 报文进行丢包处理或者也可以停止对第一数据报文的转发,以实现对第一EIP地址对应的 业务进行精确限速。 在一种可能的实现方式中,第一转发服务器可以但不限于根据以下至少一项确定 第一EIP地址对应的业务:第一数据报文的第一EIP地址、第一数据报文的虚拟可扩展局域 网(virtual  extensible  local  area  network,VxLan)标识。通过上述方法,可以通过第一 EIP地址或Vxlan标识,确定第一EIP地址对应的账户设置的带宽上限,有助于对同一账户下 的不同数据报文实现精确限速。 在一种可能的实现方式中,第一转发服务器还可以接收第二数据报文;第二数据 报文为交换机转发至发生故障前的第三转发服务器的待处理数据报文;第一转发服务器对 第二数据报文进行转发处理。 通过上述方法,可以将需要发生故障的第三转发服务器处理的数据报文转发给未 发生故障的第一转发服务器进行处理,避免由于第三转发服务器发生故障,导致丢失大量 的数据报文,降低系统的容错性能的问题。 在一种可能的实现方式中,第一转发服务器还可以接收来自交换机转发的第三数 据报文;第三数据报文的目的IP地址为第二EIP地址;第一转发服务器若确定自身能够在第 三转发服务器发生故障期间处理第二EIP地址对应的业务,则对第三数据报文进行转发处 6 CN 111585896 A 说 明 书 3/19 页 理;第一转发服务器若确定在第三转发服务器发生故障期间处理第二EIP地址对应的业务 的转发服务器为第四转发服务器,则将第三数据报文转发给第四转发服务器进行处理。 通过上述方法,可以将发生故障的第三转发服务器对应处理的第二EIP地址的业 务迁移至其他未发生故障的转发服务器上,避免影响对第二EIP地址的业务的处理,以提高 转发服务集群的转发性能,提高系统的容错性能。在第三转发服务器故障期间,若将处理的 第二EIP地址的业务迁移至第一转发服务器,则交换机发送的第二EIP地址的第三数据报文 由第一转发服务器处理,若将处理的第二EIP地址的业务迁移至第四转发服务器,则交换机 发送的第二EIP地址的第三数据报文由第一转发服务器转发至第四转发服务器处理。可以 实现在第三转发服务器故障期间,对第三数据报文的精确限速。 在一种可能的实现方式中,第一转发服务器还可以接收来自交换机转发的第五数 据报文;第五数据报文的目的IP地址为第二EIP地址;第一转发服务器若确定第三转发服务 器已恢复正常,则可以向第三转发服务器转发第五数据报文。 通过上述方法,在第三转发服务器恢复正常时,将原有的第三转发服务器处理的 第二EIP地址的业务恢复至第三转发服务器继续处理,从而有效利用转发服务器集群的处 理能力。 第二方面,本申请提供一种数据转发方法,第一转发服务器接收第二转发服务器 转发的第一数据报文;第一数据报文为第二转发服务器从交换机接收的数据报文;第一数 据报文的目的IP地址为第一弹性EIP地址、且第一转发服务器能够处理第一EIP地址对应的 业务;第一转发服务器对第一数据报文进行处理。 通过上述方法,第一转发服务器为处理第一EIP地址对应的业务的转发服务器,第 二转发服务器通过确定第一转发服务器为处理第一EIP地址对应的业务的转发服务器后, 将第一数据报文转发给第一转发服务器,使得第一转发服务器可以接收到交换机转发给所 有转发服务器的第一EIP地址的数据报文,进而可以通过第一转发服务器,对第一EIP地址 对应的业务的数据报文的流量进行精确限速。 一种可能的实现方式,第一转发服务器还可以在确定第一EIP地址的数据报文产 生的流量小于或等于第一EIP地址对应的带宽上限时,再对第一数据报文进行转发处理。 通过上述方法,第一转发服务器根据接收到的来自各转发服务器的第一EIP地址 的数据报文和交换机的第一EIP地址的数据报文,可以确定第一EIP地址的数据报文产生的 流量,进而可以实现对第一EIP地址的数据报文的流量进行精确限速。 第三方面,本申请提供一种数据转发装置用于实现上述各种方法。该通信装置可 以为上述第一方面中的第一转发服务器,或者包含上述第一转发服务器的装置,或者为具 有第一转发服务器的相应功能的芯片等;或者,该通信装置也可以为上述第二方面中的第 一转发服务器,或者包含上述第一转发服务器的装置,或者为具有第一转发服务器的相应 功能的芯片等。该装置包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、 或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件 包括一个或多个与上述功能相对应的模块或单元。 第四方面,本申请通过一种通信装置,包括:处理器和存储器;处理器,用于与存储 器耦合,通过调用并执行存储器中存储的存储器存储有计算机程序或指令,当该处理器执 行该计算机程序或指令时,以使该通信装置可以执行上述第一方面或第二方面的方法。该 7 CN 111585896 A 说 明 书 4/19 页 通信装置可以为上述第一方面中的第一转发服务器,或者包含上述第一转发服务器的装 置,或者为具有第一转发服务器的相应功能的芯片等;或者,该通信装置可以为上述第二方 面中的第一转发服务器,或者包含上述第一转发服务器的装置,或者为具有第一转发服务 器的相应功能的芯片等。 第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计 算机程序,计算机程序在被计算机调用时,使计算机执行第一方面或第二方面的方法。 第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得 计算机可以执行上述第一方面或第二方面的方法。 第七方面,提供了一种通信装置(例如,该通信装置可以是芯片或芯片系统),该通 信装置包括处理器,用于实现上述任一方面中所涉及的功能。在一种可能的设计中,该通信 装置还可以包括存储器,用于保存必要的程序指令和数据。该通信装置是芯片系统时,可以 由芯片构成,也可以包含芯片和其他分立器件。 其中,上述第三方面至第七方面中任一种可能的实现方式所带来的技术效果可参 见上述第一方面或第二方面中不同的实现方式所带来的技术效果,此处不再赘述。 附图说明 图1为本申请实施例中的系统架构图; 图2为本申请实施例中的系统架构图; 图3A为本申请实施例中转发设备的结构示意图; 图3B为本申请实施例中带宽分配的示意图; 图4为本申请实施例中数据转发方法流程示意图; 图5为本申请实施例中数据转发装置的结构示意图; 图6为本申请实施例中数据转发装置的结构示意图。
分享到:
收藏