CN114938348A - 一种数据流转发方法、装置、电子设备及存储介质 - Google Patents

一种数据流转发方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114938348A
CN114938348A CN202110158719.8A CN202110158719A CN114938348A CN 114938348 A CN114938348 A CN 114938348A CN 202110158719 A CN202110158719 A CN 202110158719A CN 114938348 A CN114938348 A CN 114938348A
Authority
CN
China
Prior art keywords
gateway
next hop
data stream
resource information
information
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.)
Pending
Application number
CN202110158719.8A
Other languages
English (en)
Inventor
马鹏程
袁其杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110158719.8A priority Critical patent/CN114938348A/zh
Publication of CN114938348A publication Critical patent/CN114938348A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种数据流转发方法、装置、电子设备及存储介质,数据流转发方法包括:若接收到对下一跳网关的查询请求,则获取满足查询请求的多个下一跳网关的网关状态信息,查询请求包含待转发数据流的流量类型;基于下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息;基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与流量类型对应的目标网关;发送对下一跳网关的查询响应,查询响应包括目标网关的网关信息。本发明实施例能够计算每个下一跳网关的剩余资源信息,按照流量类型选择剩余资源相适配的下一跳网关作为流量转发的目标网关,充分利用现有的网络链路资源,保证数据流的流畅传输,提高网络资源利用率。

Description

一种数据流转发方法、装置、电子设备及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种数据流转发方法、装置、电子设备及存储介质。
背景技术
目前,大部分云厂商在云产品中,采用的方法都是基于等价路由(Equal-CostMultipathRouting,ECMP)的策略实现负载均衡。ECMP存在于多条不同链路到达同一目的地址的网络环境中,路由交换设备进行ECMP选路是通过包头中的五元组(源IP地址,目的IP地址,源端口,目的端口及传输层协议)利用HASH算法匹配一条转发路径。ECMP不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。
然而,ECMP算法的一个主要缺点是当出现多个带宽要求高,传输时间长的数据流会因为哈希碰撞造成网络阻塞,从而降低整个网络链路利用率。ECMP适用于路径开销(PathCost)相同或者差距不大的场景,当多个路径质量相差悬殊的时候,部分数据流(五元组HASH值相同的报文为一个数据流)的传输仍然会收到堵塞,如:大象流很容易被调度到一条质量比较差的路径上,而质量较好的路径只有老鼠流。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据流转发方法、装置、电子设备及存储介质。
第一方面,本申请提供了一种数据流转发方法,应用于SDN控制器,所述方法包括:
若接收到对下一跳网关的查询请求,则获取满足所述查询请求的多个下一跳网关的网关状态信息,所述查询请求包含待转发数据流的流量类型;
针对每个所述下一跳网关,基于所述下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息;
基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与所述流量类型对应的目标网关;
发送对下一跳网关的查询响应,所述查询响应包括所述目标网关的网关信息。
可选地,所述获取满足所述查询请求的多个下一跳网关的网关状态信息,包括:
在所述查询请求中提取请求发送方的发送方标识及数据流流向;
在预设的与所述数据流流向对应的多个数据流转发路径中查询与所述发送方标识对应的多个下一跳网关;
获取多个下一跳网关的网关状态信息。
可选地,所述针对每个所述下一跳网关,基于所述下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息,包括:
针对每个所述下一跳网关,获取所述下一跳网关的预设资源信息;
将所述预设资源信息与对应的所述网关状态信息的差值作为所述下一跳网关的剩余资源信息。
可选地,所述在多个下一跳网关中选择与所述流量类型对应的目标网关,包括:
获取与所述流量类型对应的参考资源信息;
将所述参考资源信息分别与多个下一跳网关对应的剩余资源信息比较;
将大于所述参考资源信息的剩余资源信息所对应的下一跳网关确定为目标网关。
可选地,所述将大于所述参考资源信息的剩余资源信息所对应的下一跳网关确定为目标网关,包括:
若大于所述参考资源信息的剩余资源信息所对应的下一跳网关的数量为多个,将最大的剩余资源信息所对应的下一跳网关确定为目标网关。
第二方面,本申请提供了一种数据流转发方法,应用于网关,所述方法包括:
接收待转发数据流;
利用预设流量类型识别算法识别所述待转发数据流的流量类型;
向SDN控制器发送对下一跳网关的查询请求,所述查询请求包含所述流量类型;
接收所述SDN控制器对下一跳网关的查询响应,所述查询响应包括目标网关的网关信息;
按照所述网关信息向所述目标网关转发所述待转发数据流。
第三方面,本申请提供了一种数据流转发装置,应用于SDN控制器,所述装置包括:
负载监控模块,用于在接收到对下一跳网关的查询请求的情况下,获取满足所述查询请求的多个下一跳网关的网关状态信息,所述查询请求包含待转发数据流的流量类型;
阈值计算模块,用于针对每个所述下一跳网关,基于所述下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息;
路径计算模块,用于基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与所述流量类型对应的目标网关;
路径更新模块,用于发送对下一跳网关的查询响应,所述查询响应包括所述目标网关的网关信息。
第四方面,本申请提供了一种数据流转发装置,应用于网关,所述装置包括:
第一接收模块,用于接收待转发的数据流;
识别模块,用于利用预设流量类型识别算法识别所述数据流的流量类型;
发送模块,用于向SDN控制器发送对下一跳网关的查询请求,所述查询请求包含所述流量类型;
第二接收模块,用于接收所述SDN控制器对下一跳网关的查询响应,所述查询响应包括目标网关的网关信息;
转发模块,用于按照所述目标网关的网关信息向所述目标网关转发所述数据流。
第五方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面任一所述的数据流转发方法。
第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据流转发方法的程序,所述数据流转发方法的程序被处理器执行时实现第一方面或第二方面任一所述的数据流转发方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本发明实施例可以在接收到对下一跳网关的查询请求时,该查询请求包含待转发数据流的流量类型,先获取满足所述查询请求的多个下一跳网关的网关状态信息,然后针对每个所述下一跳网关,基于所述下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息,再基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与所述流量类型对应的目标网关,最后可以发送对下一跳网关的查询响应,所述查询响应包括所述目标网关的网关信息。
本发明实施例能够计算每个下一跳网关的剩余资源信息,按照流量类型选择剩余资源相适配的下一跳网关作为流量转发的目标网关,充分利用现有的网络链路资源,保证数据流的流畅传输,提高网络资源利用率,且避免下一跳网关和待转发数据流的流量类型不匹配导致数据流转发阻塞的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络架构图;
图2为本申请实施例提供的一种数据流转发方法的流程图;
图3为图2中步骤S101的流程图;
图4为图2中步骤S102的流程图;
图5为图2中步骤S103的流程图;
图6为本申请实施例提供的另一种数据流转发方法的流程图;
图7为本申请实施例提供的一种数据流转发装置的结构图;
图8为本申请实施例提供的另一种数据流转发装置的结构图;
图9为本申请实施例提供的一种电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于ECMP算法的一个主要缺点是当出现多个带宽要求高,传输时间长的数据流会因为哈希碰撞造成网络阻塞,从而降低整个网络链路利用率。ECMP适用于路径开销(PathCost)相同或者差距不大的场景,当多个路径质量相差悬殊的时候,部分数据流(五元组HASH值相同的报文为一个数据流)的传输仍然会收到堵塞,如:大象流很容易被调度到一条质量比较差的路径上,而质量较好的路径只有老鼠流。为此,本申请实施例提供一种数据流转发方法、装置、电子设备及存储介质,其中,数据流转发方法可以应用于SDN控制器,SDN控制器可以与预设的多个数据流转发路径中的任一跳通信,如图1所示,数据流转发路径中可以包括:计算节点、云网关、云边缘设备和客户端等,从计算中心到客户端的正向数据流和从客户端到计算中心的反向数据流对应不同的数据流转发路径,如:正向数据流对应的数据流转发路径001为{计算节点→云网关1→云边缘设备2→客户端},反向数据流对应的数据流转发路径002为{客户端→云边缘设备2→云网关1→计算节点},云网关可以为混合云网关,也可以为私有云网关;云边缘设备可以为混合云边缘设备,也可以为私有云边缘设备。
如图2所示,该数据流转发方法包括:
步骤S101,若接收到对下一跳网关的查询请求,则获取满足该查询请求的多个下一跳网关的网关状态信息;
在本发明实施例中,对下一跳网关的查询请求包含待转发数据流的流量类型,示例性的,流量类型可以为大象流类型或者老鼠流类型等等。
大象流类型是通过网络链路进行大量的,持续的传递数据的过程;老鼠流是通过网络链路进行少量的,短时间的数据传递过程。例如,发邮件、看网页、即时通讯等属于老鼠流;而虚拟机的迁移、数据的迁移、MapReduce(映射规约)等属于大象流。
由于数据流转发路径中的倒数第二跳只有唯一的下一跳,无需请求查询下一跳网关,所以,查询请求的发送方不为数据流转发路径中的倒数第二跳,同理,由于数据流转发路径中的最后一跳不存在下一跳,所以,查询请求的发送方不为数据流转发路径的最后一跳。
例如,对于从计算中心到客户端的正向数据流,数据流转发路径中的计算节点或者云网关可以作为请求发送方;对于从客户端到计算中心的反向数据流,数据流转发路径中的客户端或者云边缘设备可以作为请求发送方。
网关状态信息可以包括:当前负载信息、当前CPU使用率和当前内存使用率等多个种类中的一个或多个。
在该步骤中,可以根据查询请求在预设的多个数据流转发路径中查找对应的下一跳网关,并获取每个下一跳网关的网关状态信息。
步骤S102,针对每个下一跳网关,基于该下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息;
在该步骤中,可以将每个下一跳网关的网关状态信息,带入预设剩余资源信息计算公式,计算得到每个下一跳网关的网关状态信息。
示例性的,预设剩余资源信息计算公式可以如下:
剩余资源信息=总资源信息-网关状态信息;
在网关状态信息包含多个信息时,每个信息对应的剩余资源信息均可以参照该预设剩余资源信息计算公式进行计算,如:网关状态信息包括:当前负载信息、当前CPU使用率和当前内存使用率,则:
负载的剩余资源信息=总负载信息-当前负载信息;
CPU的剩余资源信息=CPU总量-当前CPU使用率;
内存的剩余资源信息=内存总量-当前内存使用率。
步骤S103,基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与待转发数据流的流量类型对应的目标网关;
由于每个下一跳网关的剩余资源信息不同,为了保证不同流量类型的数据流,能够充分有效的利用网络链路资源,所以可以按照流量类型选择对应的目标网关。
示例性的,若流量类型为大象流类型,则可以选择剩余资源信息较多且大于大象流类型所需资源的下一跳网关作为目标网关;若流量类型为老鼠流类型,则可以选择剩余资源信息较少且大于老鼠流类型所需的资源的下一跳网关作为目标网关。
步骤S104,发送对下一跳网关的查询响应,该查询响应包括目标网关的网关信息。
本发明实施例可以在接收到对下一跳网关的查询请求时,先获取满足该查询请求的多个下一跳网关的网关状态信息,然后针对每个下一跳网关,基于网关状态信息计算每个下一跳网关的剩余资源信息,再基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与待转发数据流的流量类型对应的目标网关,最后可以发送对下一跳网关的查询响应,该查询响应包括该目标网关的网关信息。
本发明实施例能够计算每个下一跳网关的剩余资源信息,按照流量类型选择剩余资源相适配的下一跳网关作为流量转发的目标网关,充分利用现有的网络链路资源,保证数据流的流畅传输,提高网络资源利用率,且避免下一跳网关和待转发数据流的流量类型不匹配导致数据流转发阻塞的问题。
在本发明的又一实施例中,如图3所示,步骤S101中获取满足查询请求的多个下一跳网关的网关状态信息,包括:
步骤S201,在查询请求中提取请求发送方的发送方标识及数据流流向;
示例性的,假设请求发送方为计算中心,发送方标识可以为“CENT1”;假设请求发送方为云网关,发送方标识可以为“GATW1”。
步骤S202,在预设的与数据流流向对应的多个数据流转发路径中查询与发送方标识对应的多个下一跳网关;
由于不同数据流向对应的数据流转发路径不同,所以首先需要查找出与数据流流向对应的多个数据流转发路径,再在查找到的多个数据流转发路径中查询与发送方标识对应的多个下一跳网关。
步骤S203,获取多个下一跳网关的网关状态信息。
在本发明实施例中,各数据流转发路径中每一跳的网关可以主动通过网络连接将网关状态信息发送至SDN控制器,也可以SDN控制器向各数据流转发路径中每一跳的网关发送状态信息获取请求,由各数据流转发路径中每一跳的网关反馈携带网关状态信息的信息获取响应。
本发明实施例中,可以自动根据发送方标识及数据流向获取多个下一跳网关的网关状态信息,获取方式简单、高效,便于后续基于网关状态信息计算剩余资源信息,进而选择与流量类型适配的目标网关。
在本发明的又一实施例中,如图4所示,步骤S102中针对每个下一跳网关,基于该下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息,包括:
步骤S301,针对每个下一跳网关,获取该下一跳网关的预设资源信息;
步骤S302,将该预设资源信息与对应的网关状态信息的差值作为该下一跳网关的剩余资源信息。
本发明实施例通过做差的方式计算得到每一个下一跳网关的剩余资源信息,计算方法简单、高效,便于后续基于身故资源信息选择与流量类型适配的目标网关。
在本发明的又一实施例中,如图5所示,步骤S103中,在多个下一跳网关中选择与待转发数据流的流量类型对应的目标网关,包括:
步骤S401,获取与待转发数据流的流量类型对应的参考资源信息;
在本发明实施例中,可以预设为每个流量类型设置对应的参考资源信息,如:大象流类型,可以设置其对应的参考资源信息为100,老鼠流类型,可以设置其对应的参考资源信息为2。
步骤S402,将该参考资源信息分别与多个下一跳网关对应的剩余资源信息比较;
在该步骤中,可以将每个下一跳网关对应的剩余资源信息分别与参考资源信息做差。
步骤S403,将大于该参考资源信息的剩余资源信息所对应的下一跳网关确定为目标网关。
在该步骤中,可以将差值按照递增或者递减的方式进行排序,在差值为正数的下一跳网关中选择目标网关。
若大于该参考资源信息的剩余资源信息所对应的下一跳网关的数量为多个,将最大的剩余资源信息所对应的下一跳网关确定为目标网关。
在本发明实施例中,可以根据各下一跳网关的剩余资源信息为不同流量类型选择适配的下一跳网关,充分利用现有的网络链路资源,保证数据流的流畅传输,提高网络资源利用率,且避免下一跳网关和待转发数据流的流量类型不匹配导致数据流转发阻塞的问题。
在本发明的又一实施例中,还提供一种数据流转发方法,应用于网关,该网关可以指云网关和云边缘设备等,而且由于计算中心本身也是一个网关,所以该方法也可以应用于计算中心中,如图6所示,该数据流转发方法包括:
步骤S501,接收待转发数据流;
步骤S502,利用预设流量类型识别算法识别该待转发数据流的流量类型;
在本发明实施例中,预设流量类型识别算法可以指Sample and Hold算法或者Multistage算法等。
步骤S503,向SDN控制器发送对下一跳网关的查询请求,该查询请求包含待转发数据流的流量类型;
步骤S504,接收SDN控制器对下一跳网关的查询响应,该查询响应包括目标网关的网关信息;
步骤S505,按照该网关信息向目标网关转发待转发数据流。
本发明实施例能够在接收到待转发数据流时,利用预设流量类型识别算法识别该待转发数据流的流量类型,然后向SDN控制器发送对下一跳网关的查询请求,在接收到SDN控制器对下一跳网关的查询响应后,由于该查询响应包括目标网关的网关信息,所以最后可以按照该网关信息向目标网关转发待转发数据流。
本发明实施例能够自动识别待转发数据流的流量类型,并向SDN控制器发送携带流量类型的查询请求,以便SDN控制器可以根据流量类型选择适配的目标网关,并将目标网关的网关信息返回,便于实现充分利用现有的网络链路资源,保证数据流的流畅传输,提高网络资源利用率,且避免下一跳网关和待转发数据流的流量类型不匹配导致数据流转发阻塞的问题。
为了便于理解,本发明实施例还提供了一种数据流转发方法在实际应用场景中,网关与SDN控制器交互的实施例,如下:
网关接收待转发数据流;
网关利用预设流量类型识别算法识别该待转发数据流的流量类型;
网关向SDN控制器发送对下一跳网关的查询请求;
若接收到对下一跳网关的查询请求,该查询请求包含待转发数据流的流量类型,SDN控制器获取满足该查询请求的多个下一跳网关的网关状态信息;
SDN控制器针对每个下一跳网关,基于网关状态信息计算每个下一跳网关的剩余资源信息;
SDN控制器基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与待转发数据流的流量类型对应的目标网关;
SDN控制器发送对下一跳网关的查询响应,该查询响应包括目标网关的网关信息。
网关接收SDN控制器对下一跳网关的查询响应,该查询响应包括目标网关的网关信息;
网关按照该网关信息向目标网关转发该待转发数据流。
在本发明的又一实施例中,还提供一种数据流转发装置,应用于SDN控制器,如图1和图7所示,该数据流转发装置包括:
负载监控模块11,用于在接收到对下一跳网关的查询请求的情况下,获取满足该查询请求的多个下一跳网关的网关状态信息,该查询请求包含待转发数据流的流量类型;
负载监控模块11的作用是查询,以及保存各云网关和云边缘设备的负载信息和一些常用的流信息,常用的流信息如:该云网关或云边缘设备自身某个专线转发的流量类型,如:HTTP请求对应的流量类型为老鼠流,mapreduce对应的流量类型为大象流)等。
负载监控模块11一方面周期性的轮询每一个客户在各云网关和云边缘设备上的流量负载情况,另一方面使用通知(notification)机制,监听网络路径中网关节点的报警信息,具体地,负载监控模块通过负载监控进程获取各云网关和云边缘设备的网关状态信息,具体地,该负载监控进程和各云网关和云边缘设备建立连接,监控进程可以向各云网关和云边缘设备请求当前的状态信息,各云网关和云边缘设备也可以利用通知机制,通过这个连接主动向监控进程发送自身的状态信息。然后,负载监控模块11获取到网关的状态信息以后,更新到数据库中。
阈值计算模块12,用于针对每个下一跳网关,基于该下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息;
阈值计算模块12负责统计各个云网关和云边缘设备的可用资源情况,能够判断当前路径的剩余资源信息是否满足要传输的数据流。阈值计算模块12可以对数据流进行检测分类,使得SDN控制器可以获取到整个网络的全局的剩余资源信息。
路径计算模块13,用于基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与该流量类型对应的目标网关;
路径计算首先对网络中的数据流的流量类型进行分析,当判断为大象流的时候,根据每个下一跳网关的剩余资源信息,采用基于网络负载的选择算法为数据流选择合适的路径,对于老鼠流,建议直接使用ECMP规则计算转发路径,最终得到与该流量类型对应的目标网关。
通过阈值计算模块12,SDN控制器清晰的知道每一个路径剩余的转发能力,然后路径计算模块13根据数据流类型(大象流还是老鼠流),为数据流调度一个可以满足业务需求的转发路径。
路径更新模块14,用于发送对下一跳网关的查询响应,该查询响应包括该目标网关的网关信息。
由于已经计算好目标网关,路径更新模块14通过openflow协议或者netconf协议发送对下一跳网关的查询响应,当数据流进入接收查询响应的网络设备时,根据新的路由规则将数据流转发至目标网关。
以图1中的从计算中心到客户端的正向数据流为例,负载监控模块11实时监控多个下一跳网关的网关状态信息,当有流量类型为大象流或者老鼠流的数据流出现的时候,计算节点给SDN控制器发送查询请求,请求查询一个合适的云网关作为转发的下一跳,SDN控制器中,阈值计算模块12基于各下一跳网关的网关状态信息,计算每个下一跳网关的剩余资源信息,再通过路径计算模块,计算最合适的转发路径,得到目标网关,然后通过路径更新模块,将目标网关的网关信息发送给计算节点。
在本发明的又一实施例中,该负载监控模块11,包括:
提取单元,用于在查询请求中提取请求发送方的发送方标识及数据流流向;
查询单元,用于在预设的与该数据流流向对应的多个数据流转发路径中查询与该发送方标识对应的多个下一跳网关;
第一获取单元,用于获取多个下一跳网关的网关状态信息。
在本发明的又一实施例中,该阈值计算模块12,包括:
第二获取单元,用于针对每个该下一跳网关,获取该下一跳网关的预设资源信息;
第一确定单元,用于将该预设资源信息与对应的该网关状态信息的差值作为该下一跳网关的剩余资源信息。
在本发明的又一实施例中,该路径计算模块13,包括:
第三获取单元,用于获取与该流量类型对应的参考资源信息;
比较单元,用于将该参考资源信息分别与多个下一跳网关对应的剩余资源信息比较;
第二确定单元,用于将大于该参考资源信息的剩余资源信息所对应的下一跳网关确定为目标网关。
在本发明的又一实施例中,该第二确定单元,还用于:
在大于该参考资源信息的剩余资源信息所对应的下一跳网关的数量为多个的情况下,将最大的剩余资源信息所对应的下一跳网关确定为目标网关。
在本发明的又一实施例中,还提供一种数据流转发装置,应用于网关,如图8所示,该数据流转发装置包括:
第一接收模块21,用于接收待转发的数据流;
识别模块22,用于利用预设流量类型识别算法识别该数据流的流量类型;
发送模块23,用于向SDN控制器发送对下一跳网关的查询请求,该查询请求包含待转发的数据流的流量类型;
第二接收模块24,用于接收SDN控制器对下一跳网关的查询响应,该查询响应包括目标网关的网关信息;
转发模块25,用于按照目标网关的网关信息向该目标网关转发待转发的数据流。
在本发明的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现前述任意方法实施例所述的数据流转发方法。
本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了可以在接收到对下一跳网关的查询请求时,先获取满足该查询请求的多个下一跳网关的网关状态信息,然后针对每个下一跳网关,基于该下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息,再基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与待转发数据流的流量类型对应的目标网关,最后可以发送对下一跳网关的查询响应,该查询响应包括目标网关的网关信息。本发明实施例能够计算每个下一跳网关的剩余资源信息,按照流量类型选择剩余资源相适配的下一跳网关作为流量转发的目标网关,充分利用现有的网络链路资源,保证数据流的流畅传输,提高网络资源利用率,且避免下一跳网关和待转发数据流的流量类型不匹配导致数据流转发阻塞的问题。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据流转发方法的程序,所述数据流转发方法的程序被处理器执行时实现前述任一方法实施例所述的数据流转发方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据流转发方法,其特征在于,应用于SDN控制器,所述方法包括:
若接收到对下一跳网关的查询请求,则获取满足所述查询请求的多个下一跳网关的网关状态信息,所述查询请求包含待转发数据流的流量类型;
针对每个所述下一跳网关,基于所述下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息;
基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与所述流量类型对应的目标网关;
发送对下一跳网关的查询响应,所述查询响应包括所述目标网关的网关信息。
2.根据权利要求1所述的数据流转发方法,其特征在于,所述获取满足所述查询请求的多个下一跳网关的网关状态信息,包括:
在所述查询请求中提取请求发送方的发送方标识及数据流流向;
在预设的与所述数据流流向对应的多个数据流转发路径中查询与所述发送方标识对应的多个下一跳网关;
获取多个下一跳网关的网关状态信息。
3.根据权利要求1所述的数据流转发方法,其特征在于,所述针对每个所述下一跳网关,基于所述下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息,包括:
针对每个所述下一跳网关,获取所述下一跳网关的预设资源信息;
将所述预设资源信息与对应的所述网关状态信息的差值作为所述下一跳网关的剩余资源信息。
4.根据权利要求1所述的数据流转发方法,其特征在于,所述在多个下一跳网关中选择与所述流量类型对应的目标网关,包括:
获取与所述流量类型对应的参考资源信息;
将所述参考资源信息分别与多个下一跳网关对应的剩余资源信息比较;
将大于所述参考资源信息的剩余资源信息所对应的下一跳网关确定为目标网关。
5.根据权利要求4所述的数据流转发方法,其特征在于,所述将大于所述参考资源信息的剩余资源信息所对应的下一跳网关确定为目标网关,包括:
若大于所述参考资源信息的剩余资源信息所对应的下一跳网关的数量为多个,将最大的剩余资源信息所对应的下一跳网关确定为目标网关。
6.一种数据流转发方法,其特征在于,应用于网关,所述方法包括:
接收待转发数据流;
利用预设流量类型识别算法识别所述待转发数据流的流量类型;
向SDN控制器发送对下一跳网关的查询请求,所述查询请求包含所述流量类型;
接收所述SDN控制器对下一跳网关的查询响应,所述查询响应包括目标网关的网关信息;
按照所述网关信息向所述目标网关转发所述待转发数据流。
7.一种数据流转发装置,其特征在于,应用于SDN控制器,所述装置包括:
负载监控模块,用于在接收到对下一跳网关的查询请求的情况下,获取满足所述查询请求的多个下一跳网关的网关状态信息,所述查询请求包含待转发数据流的流量类型;
阈值计算模块,用于针对每个所述下一跳网关,基于所述下一跳网关的网关状态信息计算每个下一跳网关的剩余资源信息;
路径计算模块,用于基于每个下一跳网关的剩余资源信息,在多个下一跳网关中选择与所述流量类型对应的目标网关;
路径更新模块,用于发送对下一跳网关的查询响应,所述查询响应包括所述目标网关的网关信息。
8.一种数据流转发装置,其特征在于,应用于网关,所述装置包括:
第一接收模块,用于接收待转发的数据流;
识别模块,用于利用预设流量类型识别算法识别所述数据流的流量类型;
发送模块,用于向SDN控制器发送对下一跳网关的查询请求,所述查询请求包含所述流量类型;
第二接收模块,用于接收所述SDN控制器对下一跳网关的查询响应,所述查询响应包括目标网关的网关信息;
转发模块,用于按照所述目标网关的网关信息向所述目标网关转发所述数据流。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1至5或6任一所述的数据流转发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据流转发方法的程序,所述数据流转发方法的程序被处理器执行时实现权利要求1至5或6任一所述的数据流转发方法的步骤。
CN202110158719.8A 2021-02-04 2021-02-04 一种数据流转发方法、装置、电子设备及存储介质 Pending CN114938348A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110158719.8A CN114938348A (zh) 2021-02-04 2021-02-04 一种数据流转发方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110158719.8A CN114938348A (zh) 2021-02-04 2021-02-04 一种数据流转发方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114938348A true CN114938348A (zh) 2022-08-23

Family

ID=82863297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110158719.8A Pending CN114938348A (zh) 2021-02-04 2021-02-04 一种数据流转发方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114938348A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116095008A (zh) * 2023-04-07 2023-05-09 深圳市科视通电子科技有限公司 数据传输方法、系统、网关设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090279426A1 (en) * 2008-05-07 2009-11-12 Mangal Premnath System and method for dead gateway detection
CN102217253A (zh) * 2011-05-05 2011-10-12 华为技术有限公司 报文转发方法、装置及网络设备
CN102917443A (zh) * 2012-10-23 2013-02-06 中国联合网络通信集团有限公司 网关选择及信息发送方法、装置及网络系统
CN104350714A (zh) * 2014-05-29 2015-02-11 华为技术有限公司 一种报文转发方法和VxLAN网关
US20170222932A1 (en) * 2016-01-29 2017-08-03 Deutsche Telekom Ag Enhanced load balancing in a mobile communication network
CN108234632A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种内容分发网络cdn的数据分发方法和装置
CN108512714A (zh) * 2017-02-28 2018-09-07 华为技术有限公司 一种报文传输方法、相关设备和系统
CN109495929A (zh) * 2017-09-12 2019-03-19 华为技术有限公司 一种业务处理方法、移动边缘计算设备及网络设备
US20200304399A1 (en) * 2018-02-20 2020-09-24 Anapaya Systems Ag Method and system for interfacing communication networks

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090279426A1 (en) * 2008-05-07 2009-11-12 Mangal Premnath System and method for dead gateway detection
CN102217253A (zh) * 2011-05-05 2011-10-12 华为技术有限公司 报文转发方法、装置及网络设备
CN102917443A (zh) * 2012-10-23 2013-02-06 中国联合网络通信集团有限公司 网关选择及信息发送方法、装置及网络系统
CN104350714A (zh) * 2014-05-29 2015-02-11 华为技术有限公司 一种报文转发方法和VxLAN网关
US20170222932A1 (en) * 2016-01-29 2017-08-03 Deutsche Telekom Ag Enhanced load balancing in a mobile communication network
CN108512714A (zh) * 2017-02-28 2018-09-07 华为技术有限公司 一种报文传输方法、相关设备和系统
CN109495929A (zh) * 2017-09-12 2019-03-19 华为技术有限公司 一种业务处理方法、移动边缘计算设备及网络设备
CN108234632A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种内容分发网络cdn的数据分发方法和装置
US20200304399A1 (en) * 2018-02-20 2020-09-24 Anapaya Systems Ag Method and system for interfacing communication networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116095008A (zh) * 2023-04-07 2023-05-09 深圳市科视通电子科技有限公司 数据传输方法、系统、网关设备及存储介质
CN116095008B (zh) * 2023-04-07 2023-06-20 深圳市科视通电子科技有限公司 数据传输方法、系统、网关设备及存储介质

Similar Documents

Publication Publication Date Title
EP3528440B1 (en) Path selection method and system, network acceleration node, and network acceleration system
US11876717B2 (en) Flow-based load balancing
EP1705845B1 (en) Load distributing method
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
CA2882535C (en) Control device discovery in networks having separate control and forwarding devices
JP4951717B2 (ja) バックアップリソースを選択する方法、システム
US9807016B1 (en) Reducing service disruption using multiple virtual IP addresses for a service load balancer
US10411972B2 (en) Determining impact of network failures
CN110890994B (zh) 一种报文转发路径的确定方法、设备和系统
JP7313480B2 (ja) スライスベースネットワークにおける輻輳回避
JP4797010B2 (ja) マルチキャスト経路構築方法および装置
CN112019395B (zh) 用于网络的测量的方法、网络设备和系统
US10153964B2 (en) Network routing using dynamic virtual paths in an overlay network
JP2018528695A (ja) リアルタイムユーザ監視データを用いてリアルタイムトラフィック誘導を行うための方法および装置
US10536368B2 (en) Network-aware routing in information centric networking
US8509233B2 (en) Method and apparatus for requesting multicast, processing and assisting multicast request
CN114938348A (zh) 一种数据流转发方法、装置、电子设备及存储介质
Nithin et al. Efficient load balancing for multicast traffic in data center networks using SDN
CN110838979A (zh) 流量转发控制方法、装置、系统和计算机可读存储介质
CN113676408A (zh) 虚拟专用网络的选路方法、系统、设备及存储介质
WO2018006619A1 (zh) 传输路径的负载信息的方法和网络节点
CN103004149B (zh) 用于在网络中确定等值路径的方法、网络装置和系统
JP2016154319A (ja) 通信システムおよび通信制御方法
Al-Mejibli et al. Enhancing Service Discovery Performance over Home networks
CN114884866A (zh) 一种路径确定方法、装置、系统、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination