CN106059805A - 一种流量分布的分析方法及装置 - Google Patents

一种流量分布的分析方法及装置 Download PDF

Info

Publication number
CN106059805A
CN106059805A CN201610367077.1A CN201610367077A CN106059805A CN 106059805 A CN106059805 A CN 106059805A CN 201610367077 A CN201610367077 A CN 201610367077A CN 106059805 A CN106059805 A CN 106059805A
Authority
CN
China
Prior art keywords
message
uninterrupted
path
flow
storage node
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
Application number
CN201610367077.1A
Other languages
English (en)
Other versions
CN106059805B (zh
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201610367077.1A priority Critical patent/CN106059805B/zh
Publication of CN106059805A publication Critical patent/CN106059805A/zh
Application granted granted Critical
Publication of CN106059805B publication Critical patent/CN106059805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种流量分布的分析方法及装置,应用于集群中的软件定义网络SDN控制器,SDN控制器包含至少一个虚拟存储节点,该方法包括:获取每一流量的首个报文,将首个报文存储到目标虚拟存储节点;获取第一流量集合;接收所述集群中的至少一个其他SDN控制器发送的第二流量集合;根据第一流量集合与第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。应用本发明实施例,部署网络资源和网络设备,提高了流量处理速度,提高了用户体验。

Description

一种流量分布的分析方法及装置
技术领域
本发明涉及网络技术领域,特别涉及一种流量分布的分析方法及装置。
背景技术
在传统数据中心中,用户发送的流量在网络中经至少一个网络设备转发给目的用户。网络设备在转发流量时,均为其本身的自行转发,用户并不能直观地了解到每一流量在各个网络设备及网络设备间的路径中的分布情况,流量可能集中在某些路径和网络设备上,进而使得这些路径和网络设备上运行的流量达到饱和,流量处理速度慢,用户体验不佳。
发明内容
本发明实施例公开了一种流量分布的分析方法及装置,以提高流量处理速度,提高用户体验。
为达到上述目的,本发明实施例公开了一种流量分布的分析方法,应用于集群中的软件定义网络SDN控制器,所述SDN控制器包含至少一个虚拟存储节点,所述方法包括:
获取每一流量的首个报文,将所述首个报文存储到目标虚拟存储节点;
获取第一流量集合,其中,所述第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
接收所述集群中的至少一个其他SDN控制器发送的第二流量集合,其中,所述第二流量集合包含:所述其他SDN控制器的本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
根据所述第一流量集合与所述第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。
为达到上述目的,本发明实施例还公开了一种流量分布的分析装置,应用于集群中的软件定义网络SDN控制器,所述SDN控制器包含至少一个虚拟存储节点,所述装置包括:
报文存储模块,用于获取每一流量的首个报文,将所述首个报文存储到目标虚拟存储节点;
集合获得模块,用于获取第一流量集合,其中,所述第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
集合接收模块,用于接收所述集群中的至少一个其他SDN控制器发送的第二流量集合,其中,所述第二流量集合包含:所述其他SDN控制器的本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
结果生成模块,用于根据所述第一流量集合与所述第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。
由上可知,本发明实施例中,SDN控制器将获取的每一首个报文,存储到目标虚拟存储节点,获取第一流量集合,该第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和,同时,接收该SDN控制器所属集群中至少一个其他SDN控制器发送的第二流量集合,根据第一流量集合与第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,进而生成分析结果。这里,SDN控制器根据首个报文可以确定出路径,另外,根据首个报文对应的流量大小确定出每条路径中运行流量的总流量大小,生成分析结果,根据该分析结果部署网络资源和网络设备,可以使得网络中各条路径的负载均衡,进而提高了流量处理速度,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流量分布的分析系统的结构示意图;
图2为本发明实施例提供的一种链路节点的拓扑结构图;
图3为本发明实施例提供的一种流量分布的分析方法的流程示意图;
图4为本发明实施例提供的一种首个报文存储形式示意图;
图5为本发明实施例提供的第一次MapReduce运算的过程示意图;
图6为本发明实施例提供的第二次MapReduce运算的过程示意图;
图7为本发明实施例提供的一种流量分布的分析装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细说明。
参考图1,图1为本发明实施例提供的一种流量分布的分析系统的结构示意图,该分析系统应用于数据中心的一个集群,该集群包含至少两个SDN(Software DefinedNetwork,软件定义网络)控制器101,每一SDN控制器101包含至少一个虚拟存储节点102;
其中,SDN控制器101,获取每一流量的首个报文,将首个报文存储到目标虚拟存储节点;这里,首个报文中携带有源地址和目的地址;
SDN控制器101获取首个报文后,根据首个报文中携带的源地址和目的地址,结合该集群所属数据中心的拓扑结构,计算出该首个报文对应流量需要经过的链路节点,进而确定出该首个报文对应流量需要的路径。这里路径包括:源地址对应设备、经过链路节点和目的地址对应的设备。
这里,链路节点可以为网络中的交换机、路由器等具有网络通信功能的设备。
在本发明的一种实现方式中,在数据中心进行组网时,可以对网络中的链路节点进行编号,每一链路节点的编号在该数据中心中能够唯一表示该链路节点,这样通过经过的链路节点就可以唯一确定出一条路径。
假设,可参考图2,图2为本发明实施例提供的一种链路节点的拓扑结构图,设备125X-1编号为11,设备125X-2编号为26,设备125X-3编号为22,设备125X-4编号为24,设备125X-5编号为15,若首个报文中包含的经过的链路节点为:24-26-11,则可以确定出路径为:源地址对应设备-设备125X-4-设备125X-2-设备125X-1-目的地址对应设备。
SDN控制器101,获取第一流量集合;这里,第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
虚拟存储节点102,用于计算路径相同的首个报文对应的流量大小之和;
在本发明的一种实现方式中,在计算路径相同首个报文对应的流量大小时,本地每一虚拟存储节点102将相同路径的首个报文对应的流量大小存储在同一地址文件中,再将该地址文件中存储的流量大小进行加和,获得路径相同的首个报文对应的流量大小。
假设,虚拟存储节点N获得的首个报文有4个,分别为:X1、X2、X3、X4,这4个首个报文的源地址、目的地址和经过链路节点分别为:{X1:源地址a1,目的地址b1,经过链路节点c1}、{X2:源地址a1,目的地址b1,经过链路节点c1}、{X3:源地址a1,目的地址b1,经过链路节点c2}、{X4:源地址a1,目的地址b1,经过链路节点c1},此时,X1、X2、X4都包含源地址a1、目的地址b1和经过链路节点c1,X3与其他3个首个报文的经过链路节点c2不同,因此X1、X2、X4对应的路径相同,X3对应的一条路径,则虚拟存储节点N可以将X1对应的流量大小20Kbytes、X2对应的流量大小15Kbytes、X4对应的流量大小30Kbytes存储在文件名为a1b1c1的地址文件中,将X3对应的流量大小20Kbytes存储在文件名为a1b1c2的地址文件中,这样,文件名为a1b1c1的地址文件中包含:20Kbytes、15Kbytes、30Kbytes;文件名为a1b1c2的地址文件中包含:20Kbytes。对每一地址文件中包含的力量大小进行加和,获得文件名为a1b1c1的地址文件中流量大小之和为:20Kbytes+15Kbytes+30Kbytes=75Kbytes;获得文件名为a1b1c2的地址文件中流量大小之和为:20Kbytes。此时可以确定出路径相同的首个报文对应的流量大小为:路径(a1-b1-c1)相同的首个报文对应的流量大小为75Kbytes;路径(a1-b1-c2)相同的首个报文对应的流量大小为20Kbytes。
SDN控制器101,还会接收与其处于同一集群中的至少一个其他SDN控制器101发送的第二流量集合;
这里,第一、二流量集合包含:源地址、目的地址、经过链路节点、以及路径相同的首个报文对应的流量大小之和。
SDN控制器101,根据第一流量集合与第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。
在本发明的一种实现方式中,集群中的任意一个SDN控制器101都可以通过上述过程确定每条路径的总流量大小,进而生成分析结果。
在本发明的一种实现方式中,在SDN控制器101上部署DataNode(这里,DataNode相当于虚拟存储节点)和HDFS(Hadoop Distributed File System,分布式文件系统)客户端,这样,SDN控制器101在接收到首个报文后,就可以通过HDFS客户端,将首个报文存储至目标虚拟存储节点。另外,SDN控制器101还可以通过HDFS客户端读取存储在虚拟存储节点中的首个报文。
具体地,参考图3,图3为本发明实施例提供的一种流量分布的分析方法的流程示意图,应用于集群中的SDN控制器,该SDN控制器包含至少一个虚拟存储节点,该方法包括:
S301:获取每一流量的首个报文,将所获取的首个报文存储到目标虚拟存储节点;
每条流量在申请流表时,会向SDN控制器发送首个报文,该首个报文中携带有源地址和目的地址。另外,SDN控制器获取首个报文后,根据首个报文中携带的源地址和目的地址,结合该集群所属数据中心的拓扑结构,计算出该首个报文对应流量需要经过的链路节点,进而确定出该首个报文对应流量需要的路径。这里路径包括:源地址对应设备、经过链路节点和目的地址对应的设备。
上述目标虚拟存储节点可以是SDN控制器中的虚拟存储节点,也可以是与SDN控制器属于同一集群的其他SDN控制器中的虚拟存储节点。
在本发明的一种实现方式中,SDN控制器在接收到首个报文后,从SDN控制器所属集群对应的各个虚拟存储节点中,确定出一个目标虚拟存储节点。在本发明的一个实施例中,确定出一个目标虚拟存储节点可以为:将存储的内容最少的虚拟存储节点确定为目标虚拟存储节点;确定出一个目标虚拟存储节点也可以为:将存储接收得到的首个报文最快的虚拟存储节点确定为目标虚拟存储节点。本发明的另一个实施例中,该SDN控制器上的HDFS客户端可以根据Hadoop存储规则,将接收到的首个报文存储至一个目标虚拟存储节点,这里Hadoop存储规则为现有技术,此处不再赘述。
在本发明的一种实现方式中,将所获取的首个报文存储到目标虚拟存储节点,可以为:将所获取的首个报文与SDN控制器的标识对应存储至目标虚拟存储节点中。这样,当需要读取虚拟存储节点中存储的首个报文时,可以根据SDN控制器的标识,快速地获得与该SDN控制器的标识对应存储的首个报文。
另外,将所述首个报文存储到目标虚拟存储节点,还可以为将首个报文与该首个报文对应的流量大小对应存储至目标虚拟存储节点。这里,流量大小可以从SDN控制器的流表中获得。SDN控制器的流表中记录有首个报文对应的流量大小,并随着首个报文对应流量的运行,流表中该首个报文对应的流量大小不断发送变化(即流表老化),本地虚拟存储节点可以定时从SDN控制器的流表中获取首个报文对应的流量大小,并根据获取的流量大小,更新本地虚拟存储节点中与首个报文对应存储的流量大小。
在本发明的另一种实现方式中,虚拟存储节点中可以预先创建有报文文件。此时,上述将所获取的首个报文与SDN控制器的标识对应存储至目标虚拟存储节点中,可以为:按照时间,将所获得的首个报文与SDN控制器的标识对应存储在同一报文文件中,如:2015年4月11日的SDN控制器接收的首个报文都存储在同一报文文件中,避免一个报文文件包含来自多个SDN控制器和/或多个日期的首个报文的内容,使得该报文文件中存储了过多的首个报文,导致用户不能快速获得到需要的首个报文,而将SDN控制器接收的首个报文按照时间存储在同一报文文件,用户就可以根据SDN控制器的标识、时间,快速地获得需要的首个报文。在本发明的一个实施例中,报文文件的命名方式可以为:SDN控制器的标识+年月日+序号。假设,当前有一个名为A201504110001的报文文件,其中,A为SDN控制器的标识,20150411为年月日,0001为序号,其存储的内容如表1所示。
表1
上述表1中每一行代表一个首个报文的信息,首个报文的信息包括:首个报文的发送时间、源地址、目的地址、流量大小、经过链路节点和首个报文内容,其中,首个报文的发送时间包括:年、月、日、时、分、秒、毫秒,首个报文内容可以包括:源地址对应设备的接口标识、目的地址对应设备的接口标识、网络标识等信息。在一个实施例中,首个报文的信息以文本的形式存储在报文文件中,为了便于区分出各个首个报文的信息,首个报文信息以行的形式存储在报文文件中,也就是,每一行存储一个首个报文的信息,如表1中的首个报文以文本形式存储时,其存储形式如图4所示。
S302:获取第一流量集合;
其中,第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和。
在本发明的一种实现方式中,为了进一步加快计算的速度,在计算路径相同首个报文对应的流量大小时,先由各个虚拟存储节点计算路径相同首个报文对应的流量大小,SDN控制器再统计本地各个虚拟存储节点计算出的路径相同首个报文对应的流量大小之和。这里,各个虚拟存储节点计算路径相同的首个报文对应的流量大小之和,具体过程可以包括:
S1、根据预设的首个报文获取条件,从本地已存储的首个报文中获取至少一个首个报文;
在本发明的一种实现方式中,SDN控制器中可以预先设置一个时间点t1和时间段T2,预设的首个报文获取条件为:若当前时刻为时间点t1,根据首个报文中携带的发送时间,获取发送时间在时间段T2内的首个报文。例如,时间点t1为凌晨00:00,时间段T2为时间点t1前的24小时,也就是,时间段T2为前一天的凌晨00:00到当天的凌晨00:00,若当前时刻为时间点凌晨00:00,获取发送时间在时间段T2内的本虚拟存储节点已存储的首个报文。
优选的,时间点t1为00:00,因为一般情况下,00:00时SDN控制器处理的流量转发业务都比较少,这样,可以加快SDN控制器对流量分析速度,并且不影响SDN控制器对流量转发业务的处理。
S2、分析每个首个报文的路径,计算路径相同首个报文对应的流量大小。
在本发明的一种实现方式中,步骤S2可以包括:
S21、将相同路径的首个报文对应的流量大小存储在同一地址文件中;
假设,虚拟存储节点N1获得首个报文4个,每个首个报文携带的源地址和目的地址,以及首个报文对应的流量大小和经过链路节点如表2所示。
表2
分析表2获得,A、B这2个首个报文的源地址10.1.1.10、目的地址20.1.1.10、经过链路节点01-05-06相同,A、B的路径相同,因此虚拟存储节点N1将A、B对应的流量大小15Kbytes、20Kbytes存储在文件名为10.1.1.10-20.1.1.10-010506的地址文件中,该地址文件中包含{15Kbytes,20Kbytes};C与其他首个报文的路径都不同,因此虚拟存储节点N1将C对应的流量大小20Kbytes存储在文件名为10.1.1.10-10.3.1.10-020507的地址文件中,该地址文件中包含{20Kbytes};D与其他首个报文的路径都不同,因此虚拟存储节点N1将D对应的流量大小30Kbytes存储在文件名为10.1.1.11-10.1.2.10-020507的地址文件中,该地址文件中包含{30Kbytes}。
S22、加和每一地址文件中的流量大小,获得路径相同的首个报文对应的流量大小。
如S21中假设,文件名为10.1.1.10-20.1.1.10-010506的地址文件中包含{15Kbytes,20Kbytes},文件名为10.1.1.10-10.3.1.10-020507的地址文件中包含{20Kbytes},文件名为10.1.1.11-10.1.2.10-020507的地址文件中包含{30Kbytes},对每一地址文件中的流量大小进行加和,获得路径相同的首个报文对应的流量大小,如表3所示。
表3
源地址 目的地址 经过链路节点 流量大小(Kbytes)
10.1.1.10 20.1.1.10 01-05-06 35
10.1.1.10 10.3.1.10 02-05-07 20
10.1.1.11 10.1.2.10 02-05-07 30
虚拟存储节点,在确定了路径相同的首个报文对应的流量大小后,将源地址、目的地址、经过链路节点、以及确定的首个报文对应的流量大小发送给SDN控制器,SDN控制器对本地各个虚拟存储节点确定的首个报文对应的流量大小进行加和,获得第一流量集合。
假设,SDN控制器除包含S21中的虚拟存储节点N1外,还包含一个虚拟存储节点N2中,该虚拟存储节点N2获取一条路径L1为:源地址10.1.1.10-经过链路节点01-05-06-目的地址20.1.1.10,确定路径L1相同的首个报文对应的流量大小为20Kbytes,结合上述表3中得到的首个报文对应的流量大小,假设,路径L2为:源地址10.1.1.10-经过链路节点02-05-07-目的地址10.3.1.10,路径L3为:源地址10.1.1.11-经过链路节点02-05-07-目的地址10.1.2.10,可以最终确定:路径L1的首个报文对应的流量大小为35Kbytes+20Kbytes=55Kbytes,路径L2的首个报文对应的流量大小为20Kbytes,路径L3的首个报文对应的流量大小为30Kbytes;根据该最终确定的首个报文对应的流量大小,获得第一流量集合。
在本发明的一种实现方式中,虚拟存储节点可以采用映射规约MapReduce算法确定源地址、目的地址、经过链路节点相同的首个报文对应的流量大小。
具体地,在采用MapReduce算法确定的路径相同的首个报文对应的流量大小时,需要进行两次MapReduce运算:
第一次MapReduce运算:
将所获取的每一首个报文以键/值对方式作为Map的第一输入值,其中,键为首个报文的信息的起始存储位置在本虚拟存储节点中的偏移量(如:首个报文的信息存储在报文文件中,键可以为该首个报文的信息的起始存储位置在该报文文件中的偏移量),值为首个报文的信息。Map处理了第一输入值后,获得首个报文的信息中的源地址、目的地址、经过链路节点(源地址、目的地址、经过链路节点确定一条路径)和流量大小,并将获得的源地址、目的地址、经过链路节点和流量大小发送给Reduce,Reduce将源地址、目的地址、经过链路节点全部相同(即路径相同)的项合并,将路径相同项的首个报文的信息存储在指定的地址文件中。
这里,地址文件中的首个报文的信息包含:流量大小;另外,地址文件中的首个报文的信息还可以包含:目的地址、源地址和经过链路节点中一个或多个。
第二次MapReduce运算:
将第一次MapReduce运算得到的地址文件中的首个报文的信息以键/值对方式作为Map的第二输入值,其中,键为地址文件中流量大小的起始存储位置在地址文件中的偏移量,值为首个报文的信息。Map处理了第二输入值后,每一键/值对中的键变为目的地址,值变为流量大小,在经过Shuffie变形后,合并具有相同键的键/值对,并将合并后的键/值对发送给Reduce,Reduce遍历各个键,将各个键对应的值统计加和。此时,根据地址文件对应的路径(源地址、目的地址、经过链路节点)、统计加和后值中的流量大小、以及统计加和后值中的数值,确定出路径相同的首个报文对应的流量大小。
下面以地址文件中的首个报文的信息包含流量大小和目的地址为例,说明MapReduce运算的过程。
假设,虚拟存储节点在计算路径相同的首个报文对应的流量大小时,获得的首个报文为如图4所示的4个首个报文,进行第一次MapReduce运算的过程如图5所示,具体地,确定第一输入值,如(0,20151020101010000010001001010020001001010000015010506…),其中,键中的“0”为该键/值对对应的首个报文的信息的起始存储位置在报文文件中的偏移量,值中的“20151020101010000010001001010020001001010000015010506…”为首个报文的信息;将第一输入值发送给Map,Map从第一输入值中获得每一首个报文的信息中的源地址、目的地址、经过链路节点和流量大小,如“010001001010,020001001010,010506,000015”,其中,010001001010为源地址,020001001010为目的地址,010506为经过链路节点,000015为流量大小;将获得的源地址、目的地址、经过链路节点和流量大小发送给Reduce,Reduce将源地址、目的地址、经过链路节点全部相同(路径相同)的项合并后,获得3个地址文件,分别为:文件名为010001001010-020001001010-010506的地址文件、文件名为010001001010-010003001010-020507的地址文件和文件名为010001001011-010001002010-020507的地址文件,其中,文件名为010001001010-020001001010-010506的地址文件包含{020001001010000015,020001001010000020},文件名为010001001010-010003001010-020507的地址文件包含{010003001010000020},文件名为010001001011-010001002010-020507的地址文件包含{010001002010000030};
对这三个地址文件进行第二次MapReduce运算,其过程如图6所示,具体地,确定第二输入值,如(0,020001001010000015),其中,键中的“0”为该键/值对对应的首个报文的信息的起始存储位置在地址文件中的偏移量,值中的“020001001010000015”为首个报文的信息(即目的地址和流量大小);将第二输入值发送给Map,Map对第二输入值中的键/值对进行变换,将每一键/值对中的键变为目的地址,值变为流量大小,如将(0,020001001010000015)变换为(020001001010,000015),经过Shuffie变形后,合并具有相同键的键/值对,如,变换后有两个键/值对的键为“020001001010”,经过Shuffie变形后,可以变形为(020001001010,[000015,000020]);将变形后的键/值对发送给Reduce,Reduce遍历各个键,将各个键对应的值统计加和,如,对该(020001001010,[000015,000020])键/值对的值统计加和,可以获得(020001001010,000035)。
此时,结合地址文件对应的路径(源地址、目的地址、经过链路节点)、统计加和后值中的流量大小,以及统计加和后值中的数值,确定出路径相同的首个报文对应的流量大小:路径L1(源地址10.1.1.10-经过链路节点01-05-06-目的地址20.1.1.10)的首个报文对应的流量大小为35Kbytes,路径L2(源地址10.1.1.10-经过链路节点02-05-07-目的地址10.3.1.10)的首个报文对应的流量大小为20Kbytes,路径L3(源地址10.1.1.11-经过链路节点02-05-07-目的地址10.1.2.10)的首个报文对应的流量大小为30Kbytes。
S303:接收集群中的至少一个其他SDN控制器发送的第二流量集合;
这里,SDN控制器可以接收其所在集群中的所有其他SDN控制器发送的第二流量集合,也可以接收任意一个或多个SDN控制器发送的第二流量集合。
值得一提的是,获得第二流量集合的方法与获得第一流量集合的方法相同,第一、二流量集合中包括:源地址、目的地址、经过链路节点以及路径相同的首个报文对应的流量大小。
S304:根据第一流量集合与第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。
这里,分析结果包含:源地址、目的地址、经过链路节点、以及路径相同的首个报文对应的总流量大小。此处,源地址、目的地址和经过链路节点全部相同可以确定出一条路径,根据分析结果中包含的源地址、目的地址、经过链路节点以及总流量大小的对应关系,用户就能获得每一条路径的总流量大小了。
在本发明的一种实现方式中,生成分析结果,可以包括:
按照每条路径的总流量大小,确定每条路径所属的颜色群;
结合该集群所属数据中心的拓扑结构,将每一颜色群对应的路径设置为该颜色群对应的颜色,进而生成分析结果。
如S302中所述,路径L1的首个报文对应的流量大小为35Kbytes,路径L2的首个报文对应的流量大小为20Kbytes,路径L3的首个报文对应的流量大小为30Kbytes,若流量大小0-24Kbytes的链路属于绿色群,流量大小25-34Kbytes的链路属于黄色群,流量大小35-50Kbytes的链路属于红色群,结合该集群所属数据中心的拓扑结构,将路径L1设置为红色,将路径L2设置为绿色,将路径L3设置为黄色,进而生成分析结果。用户根据该分析结果可以直观的了解到各条路径的运行状况,进而合理部署网络资源和网络设备,保证网络中能够高效的处理流量。
另外,若用户需要了解源地址对应的设备在访问的某一网站中做了什么,SDN控制器可以通过HDFS客户端获取虚拟存储节点中存储的一条路径对应的首个报文,从获得的首个报文中获得用户需要的信息。
应用上述各个实施例,SDN控制器将获取的每一首个报文,存储到目标虚拟存储节点,获取第一流量集合,该第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和,同时,接收该SDN控制器所属集群中至少一个其他SDN控制器发送的第二流量集合,根据第一流量集合与第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,进而生成分析结果。这里,SDN控制器根据首个报文可以确定出路径,另外,根据首个报文对应的流量大小确定出每条路径中运行流量的总流量大小,生成分析结果,根据该分析结果部署网络资源和网络设备,可以使得网络中各条路径的负载均衡,进而提高了流量处理速度,提高了用户体验。
参考图7,图7为本发明实施例提供的一种流量分布的分析装置的结构示意图,应用于集群中的软件定义网络SDN控制器,该SDN控制器包含至少一个虚拟存储节点,该装置包括:
报文存储模块701,用于获取每一流量的首个报文,将所述首个报文存储到目标虚拟存储节点;
集合获得模块702,用于获取第一流量集合,其中,所述第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
集合接收模块703,用于接收所述集群中的至少一个其他SDN控制器发送的第二流量集合,其中,所述第二流量集合包含:所述其他SDN控制器的本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
结果生成模块704,用于根据所述第一流量集合与所述第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。
在本发明的一种实现方式中,目标虚拟存储节点为:SDN控制器中的虚拟存储节点或所述集群中的其他SDN控制器中的虚拟存储节点。
在本发明的一种实现方式中,报文存储模块701,具体用于:
获得每一流量的首个报文,将首个报文与该首个报文对应的流量大小对应存储至目标虚拟存储节点;
上述分析装置还可以包括:
流量更新模块,用于当SDN控制器中的流表老化时,根据该流表中的流量大小更新与首个报文对应存储的流量大小(图7中未示出)。
在本发明的一种实现方式中,集合获得模块703,可以包括:
流量计算子模块,设置于所述虚拟存储节点中,用于根据预设的首个报文获取条件,从本地已存储的首个报文中获取至少一个首个报文;分析每个首个报文的路径,计算路径相同首个报文对应的流量大小;
集合获得子模块,设置于所述SDN控制器中,用于获取本地各个虚拟存储节点计算得到的路径相同首个报文对应的流量大小,对本地各个虚拟存储节点计算得到的流量大小进行加和,获得第一流量集合(图7中未示出)。
在本发明的一种实现方式中,流量计算子模块,包括:
报文获取单元,用于根据预设的首个报文获取条件,从本地已存储的首个报文中获取至少一个首个报文;
流量计算单元,用于将路径相同的首个报文对应的流量大小存储在同一地址文件中;加和每一地址文件中的流量大小,获得路径相同的首个报文对应的流量大小(图7中未示出)。
在本发明的一种实现方式中,结果生成模块704,还用于:
按照每条路径的总流量大小,确定每条路径所属的颜色群;结合所述集群所属数据中心的拓扑结构,将每一颜色群对应路径设置为该颜色群对应的颜色,进而生成分析结果。
应用上述各个实施例,SDN控制器将获取的每一首个报文,存储到目标虚拟存储节点,获取第一流量集合,该第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和,同时,接收该SDN控制器所属集群中至少一个其他SDN控制器发送的第二流量集合,根据第一流量集合与第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,进而生成分析结果。这里,SDN控制器根据首个报文可以确定出路径,另外,根据首个报文对应的流量大小确定出每条路径中运行流量的总流量大小,生成分析结果,根据该分析结果部署网络资源和网络设备,可以使得网络中各条路径的负载均衡,进而提高了流量处理速度,提高了用户体验。
对于系统、装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种流量分布的分析方法,应用于集群中的软件定义网络SDN控制器,其特征在于,所述SDN控制器包含至少一个虚拟存储节点,所述方法包括:
获取每一流量的首个报文,将所述首个报文存储到目标虚拟存储节点;
获取第一流量集合,其中,所述第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
接收所述集群中的至少一个其他SDN控制器发送的第二流量集合,其中,所述第二流量集合包含:所述其他SDN控制器的本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
根据所述第一流量集合与所述第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。
2.根据权利要求1所述的方法,其特征在于,所述目标虚拟存储节点为:所述SDN控制器中的虚拟存储节点或所述集群中的其他SDN控制器中的虚拟存储节点。
3.根据权利要求1所述的方法,其特征在于,所述将所述首个报文存储到目标虚拟存储节点,包括:
将所述首个报文与该首个报文对应的流量大小对应存储至目标虚拟存储节点;
所述方法还包括:
当所述SDN控制器中的流表老化时,根据所述流表中的流量大小更新与所述首个报文对应存储的流量大小。
4.根据权利要求1所述的方法,其特征在于,所述获取第一流量集合,包括:
所述虚拟存储节点根据预设的首个报文获取条件,从本地已存储的首个报文中获取至少一个首个报文;分析每个首个报文的路径,计算路径相同首个报文对应的流量大小;
所述SDN控制器获取本地各个虚拟存储节点计算得到的路径相同首个报文对应的流量大小,对本地各个虚拟存储节点计算得到的流量大小进行加和,获得第一流量集合。
5.根据权利要求4所述的方法,其特征在于,所述分析每个首个报文的路径,计算路径相同首个报文对应的流量大小,包括:
将路径相同的首个报文对应的流量大小存储在同一地址文件中;加和每一地址文件中的流量大小,获得路径相同的首个报文对应的流量大小。
6.根据权利要求1所述的方法,其特征在于,所述生成分析结果,包括:
按照每条路径的总流量大小,确定每条路径所属的颜色群;
结合所述集群所属数据中心的拓扑结构,将每一颜色群对应的路径设置为该颜色群对应的颜色,进而生成分析结果。
7.一种流量分布的分析装置,应用于集群中的软件定义网络SDN控制器,其特征在于,所述SDN控制器包含至少一个虚拟存储节点,所述装置包括:
报文存储模块,用于获取每一流量的首个报文,将所述首个报文存储到目标虚拟存储节点;
集合获得模块,用于获取第一流量集合,其中,所述第一流量集合包含:本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
集合接收模块,用于接收所述集群中的至少一个其他SDN控制器发送的第二流量集合,其中,所述第二流量集合包含:所述其他SDN控制器的本地各个虚拟存储节点计算出的路径相同的首个报文对应的流量大小之和;
结果生成模块,用于根据所述第一流量集合与所述第二流量集合,统计路径相同的首个报文对应的总流量大小,确定每条路径的总流量大小,生成分析结果。
8.根据权利要求7所述的装置,其特征在于,所述目标虚拟存储节点为:所述SDN控制器中的虚拟存储节点或所述集群中的其他SDN控制器中的虚拟存储节点。
9.根据权利要求7所述的装置,其特征在于,所述报文存储模块,具体用于:
获得每一流量的首个报文,将所述首个报文与该首个报文对应的流量大小对应存储至目标虚拟存储节点;
所述装置还包括:
流量更新模块,用于当所述SDN控制器中的流表老化时,根据所述流表中的流量大小更新与所述首个报文对应存储的流量大小。
10.根据权利要求7所述的装置,其特征在于,所述集合获得模块,包括:
流量计算子模块,设置于所述虚拟存储节点中,用于根据预设的首个报文获取条件,从本地已存储的首个报文中获取至少一个首个报文;分析每个首个报文的路径,计算路径相同首个报文对应的流量大小;
集合获得子模块,设置于所述SDN控制器中,用于获取本地各个虚拟存储节点计算得到的路径相同首个报文对应的流量大小,对本地各个虚拟存储节点计算得到的流量大小进行加和,获得第一流量集合。
11.根据权利要求10所述的装置,其特征在于,所述流量计算子模块,包括:
报文获取单元,用于根据预设的首个报文获取条件,从本地已存储的首个报文中获取至少一个首个报文;
流量计算单元,用于将路径相同的首个报文对应的流量大小存储在同一地址文件中;加和每一地址文件中的流量大小,获得路径相同的首个报文对应的流量大小。
12.根据权利要求7所述的装置,其特征在于,所述结果生成模块,还用于:
按照每条路径的总流量大小,确定每条路径所属的颜色群;结合所述集群所属数据中心的拓扑结构,将每一颜色群对应的路径设置为该颜色群对应的颜色,进而生成分析结果。
CN201610367077.1A 2016-05-27 2016-05-27 一种流量分布的分析方法及装置 Active CN106059805B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610367077.1A CN106059805B (zh) 2016-05-27 2016-05-27 一种流量分布的分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610367077.1A CN106059805B (zh) 2016-05-27 2016-05-27 一种流量分布的分析方法及装置

Publications (2)

Publication Number Publication Date
CN106059805A true CN106059805A (zh) 2016-10-26
CN106059805B CN106059805B (zh) 2020-10-02

Family

ID=57174971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610367077.1A Active CN106059805B (zh) 2016-05-27 2016-05-27 一种流量分布的分析方法及装置

Country Status (1)

Country Link
CN (1) CN106059805B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800142A (zh) * 2020-12-15 2021-05-14 赛尔网络有限公司 Mr作业处理方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588298A (zh) * 2009-07-07 2009-11-25 杭州华三通信技术有限公司 一种堆叠系统中流量切换的方法和堆叠系统
CN102916900A (zh) * 2012-10-09 2013-02-06 中国联合网络通信集团有限公司 业务流转发方法和装置
CN103581044A (zh) * 2013-11-04 2014-02-12 汉柏科技有限公司 一种流量统计方法和装置
CN103636175A (zh) * 2013-03-07 2014-03-12 华为技术有限公司 一种基于服务等级流量信息的流量矩阵的计算方法及装置
CN103685057A (zh) * 2013-12-26 2014-03-26 华为技术有限公司 流量统计方法和装置
US20150236968A1 (en) * 2014-02-14 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) Denial of service prevention in a software defined network
CN105471755A (zh) * 2014-09-03 2016-04-06 中兴通讯股份有限公司 网络流量均衡的方法及超级控制器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588298A (zh) * 2009-07-07 2009-11-25 杭州华三通信技术有限公司 一种堆叠系统中流量切换的方法和堆叠系统
CN102916900A (zh) * 2012-10-09 2013-02-06 中国联合网络通信集团有限公司 业务流转发方法和装置
CN103636175A (zh) * 2013-03-07 2014-03-12 华为技术有限公司 一种基于服务等级流量信息的流量矩阵的计算方法及装置
CN103581044A (zh) * 2013-11-04 2014-02-12 汉柏科技有限公司 一种流量统计方法和装置
CN103685057A (zh) * 2013-12-26 2014-03-26 华为技术有限公司 流量统计方法和装置
US20150236968A1 (en) * 2014-02-14 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) Denial of service prevention in a software defined network
CN105471755A (zh) * 2014-09-03 2016-04-06 中兴通讯股份有限公司 网络流量均衡的方法及超级控制器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800142A (zh) * 2020-12-15 2021-05-14 赛尔网络有限公司 Mr作业处理方法、装置、电子设备及存储介质
CN112800142B (zh) * 2020-12-15 2023-08-08 赛尔网络有限公司 Mr作业处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106059805B (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
US8730819B2 (en) Flexible network measurement
CN103348638B (zh) 通信系统、控制装置、通信节点以及通信方法
CN104660700B (zh) 一种内容分发网络的方法和系统
CN106161610A (zh) 一种分布式存储的方法和系统
CN103036792B (zh) 一种最大化最小公平多数据流传输调度方法
CN109213792A (zh) 数据处理的方法、服务端、客户端、装置及可读存储介质
CN101753455B (zh) 转发方法及装置
CN109327401B (zh) 一种sdn网络的流量调度方法与系统
CN102098740A (zh) 链路聚合选路方法及装置
CN107317764A (zh) 流量负载均衡的方法和系统
Liu et al. Distributed consensus of multi‐agent networks via event‐triggered pinning control
CN106789147B (zh) 一种流量分析方法及装置
Wang et al. CDLB: a cross-domain load balancing mechanism for software defined networks in cloud data centre
CN107454630A (zh) 负载均衡方法及负载均衡路由器
CN107317890A (zh) 一种智能车载网的数据传输实现方法
CN106059805A (zh) 一种流量分布的分析方法及装置
CN112543145A (zh) 发送数据的设备节点通信路径选择方法及装置
CN107040466A (zh) 基于物联网分层架构的多域协同数据传输的路径选择方法
US20170118083A1 (en) Validating routing tables of routing devices
CN109409883A (zh) 基于智能合约的协同处理方法、家电设备及服务器
CN114157595B (zh) 一种通信系统、数据处理方法以及相关设备
Liu et al. A hybrid virtual network mapping algorithm based on threshold load
CN104580456B (zh) 一种用于分布式系统的动态消息分发方法及系统
Qureshi et al. Fuzzy logic‐based efficient interest forwarding (FLEIF) in named data networking
CN113923166B (zh) 负载均衡方法和分布式集群系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou science and Technology Industrial Park, high tech Industrial Development Zone, Zhejiang Province, No. six and road, No. 310

Applicant before: Huasan Communication Technology Co., Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant