CN115396345A - 流量测量方法、装置及相关设备 - Google Patents

流量测量方法、装置及相关设备 Download PDF

Info

Publication number
CN115396345A
CN115396345A CN202110573832.2A CN202110573832A CN115396345A CN 115396345 A CN115396345 A CN 115396345A CN 202110573832 A CN202110573832 A CN 202110573832A CN 115396345 A CN115396345 A CN 115396345A
Authority
CN
China
Prior art keywords
forwarding network
data stream
flow
network element
server
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
CN202110573832.2A
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.)
Peking University
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Peking University
Huawei Cloud Computing 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 Peking University, Huawei Cloud Computing Technologies Co Ltd filed Critical Peking University
Priority to CN202110573832.2A priority Critical patent/CN115396345A/zh
Priority to PCT/CN2022/071728 priority patent/WO2022247308A1/zh
Publication of CN115396345A publication Critical patent/CN115396345A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种流量测量方法、装置及相关设备,其中,方法包括:服务端接收与其连接的转发网元发送的报文并获取流量存储表,其中,报文包括数据流的标识和多个转发网元处理报文的信息,流量存储表用于存储数据流中报文的数量,然后服务端根据数据流的标识和多个转发网元处理报文的信息,将数据流中报文的数量统计到流量存储表,得到更新后的流量存储表,最后,服务端向流量分析设备发送更新后的流量存储表。该方法能够解决现有技术存在的测量的链路信息不完整的问题以及会消耗大量带宽资源和计算资源的问题。

Description

流量测量方法、装置及相关设备
技术领域
本申请涉及通信领域,尤其涉及一种流量测量方法、装置及相关设备。
背景技术
流量测量是网络管理的重要环节,为服务质量提升、容量规划、网络计费、拥塞控制、数据中心和主干网中的异常检测提供了不可或缺的信息。例如,当网络发生拥塞时,通过流量测量可以尽快找到造成拥塞的数据流的信息。
目前比较流行的流量测量方法为带内网络遥测(in-band network telemetry,INT)方法,但是,本申请发明人发现该方法存在着测量的链路信息不完整的问题,以及会消耗大量带宽资源和计算资源,测量成本高的问题。
发明内容
本申请提供了一种流量测量方法、装置及相关设备,可以解决现有技术存在的测量的链路信息不完整的问题以及会消耗大量带宽资源和计算资源的问题。
第一方面,提供了一种流量测量方法,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,所述服务端连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述方法包括:
所述服务端接收与其连接的转发网元发送的所述报文,所述报文包括所述数据流的标识和所述多个转发网元处理所述报文的信息;
所述服务端获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
所述服务端根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
所述服务端向所述流量分析设备发送所述更新后的流量存储表。
上述方案中,服务端接收的报文包括的多个转发网元处理报文的信息中,包含了与服务端连接的转发网元(即报文到达服务端之前经过的最后一个转发网元,以下简称为最后一个转发网元)处理报文的信息,也就是说,服务端在将数据流中的报文的数量统计到流量存储表时,统计了最后一个转发网元处理报文的信息,不像现有技术中,与服务端连接的最后一个转发网元在向流量分析设备发送信息时,并没有将自己处理报文的信息发送给流量分析设备,导致流量测量的链路信息不完整。
另外,上述方案中,服务端在接收到流标识和多个转发网元处理报文的信息后,根据流标识和多个转发网元处理报文的信息将数据流中报文的数量统计到流量存储表,得到更新后的流量存储表,然后向流量分析设备发送更新后的流量存储表,不像现有技术中,是由最后一个转发网元直接将流标识和多个转发网元处理报文的信息发送给流量分析设备,由流量分析设备根据最后一个转发网元发送的流标识和多个转发网元处理报文的信息进行流量统计。因此,上述方案相较于现有技术,可以减少向流量分析设备发送数据所需要消耗的带宽资源,以及无需流量分析设备进行流量统计,可以减少对流量分析设备的计算资源的消耗,起到降低测量成本的作用。
在一种可能的实现方式中,所述服务端向所述流量分析设备发送所述更新后的流量存储表之前,所述方法还包括:所述服务端对所述更新后的流量存储表进行封装。
上述方案中,服务端对更新后的流量存储表进行封装,然后向流量分析设备发送封装后的流量存储表,可以进一步减少向流量分析设备发送数据所需要消耗的带宽资源,进一步降低测量成本。
在一种可能的实现方式中,所述数据流的标识包括如下的一种或多种组合:所述客户端的互联协议(internet protocol,IP)地址、所述客户端发送所述数据流的端口号、所述服务端的IP地址、所述服务端接收所述数据流的端口号、所述客户端向所述服务端传输所述数据流所使用的传输层协议、虚拟局域网(virtual local area network,VLAN)标识。
上述方案中,数据流的标识有多种组合方式,因此可以实现不同维度的流量测量,如实现测量每个客户端发送的数据流的流量、实现测量每个客户端的每个端口发送的数据流的流量等。
在一种可能的实现方式中,所述每个转发网元处理所述报文的信息包括如下的一种或多种组合:所述每个转发网元的标识、所述每个转发网元接收所述报文的端口号、所述每个转发网元发送所述报文的端口号、所述报文进入的队列号、所述报文离开的队列号、所述每个转发网元接收所述报文的时间、所述每个转发网元发送所述报文的时间。
上述方案中,每个转发网元处理报文的信息有多种组合方式,因此可以实现不同维度的流量测量,如实现测量每个转发网元上经过的数据流的流量、实现测量每个转发网元的每个端口接收到的数据流的流量等。
第二方面,提供一种流量测量方法,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,统计设备连接所述多个转发网元中将所述数据流发送给所述服务端的最后一个转发网元,所述统计设备连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述方法包括:
所述统计设备接收所述最后一个转发网元发送的报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元处理所述报文的信息;
所述统计设备获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
所述统计设备根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
所述统计设备向所述流量分析设备发送所述更新后的流量存储表。
在一种可能的实现方式中,所述统计设备向所述流量分析设备发送所述更新后的流量存储表之前,所述方法还包括:所述统计设备对所述更新后的流量存储表进行封装。
在一种可能的实现方式中,所述数据流的标识包括如下的一种或多种组合:所述客户端的IP地址、所述客户端发送所述数据流的端口号、所述服务端的IP地址、所述服务端接收所述数据流的端口号、所述客户端向所述服务端传输所述数据流所使用的传输层协议、VLAN标识。
在一种可能的实现方式中,所述每个转发网元处理所述报文的信息包括如下的一种或多种组合:所述每个转发网元的标识、所述每个转发网元接收所述报文的端口号、所述每个转发网元发送所述报文的端口号、所述报文进入的队列号、所述报文离开的队列号、所述每个转发网元接收所述报文的时间、所述每个转发网元发送所述报文的时间。
第三方面,提供一种流量测量装置,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,具体应用于所述服务端,所述服务端还连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述装置包括:
接收模块,用于接收与所述服务端连接的转发网元发送的所述报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元处理所述报文的信息;
获取模块,用于获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
统计模块,用于根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
发送模块,用于向所述流量分析设备发送所述更新后的流量存储表。
在一种可能的实现方式中,所述装置还包括:封装模块,用于对所述更新后的流量存储表进行封装。
在一种可能的实现方式中,所述数据流的标识包括如下的一种或多种组合:所述客户端的IP地址、所述客户端发送所述数据流的端口号、所述服务端的IP地址、所述服务端接收所述数据流的端口号、所述客户端向所述服务端传输所述数据流所使用的传输层协议、VLAN标识。
在一种可能的实现方式中,所述每个转发网元处理所述报文的信息包括如下的一种或多种组合:所述每个转发网元的标识、所述每个转发网元接收所述报文的端口号、所述每个转发网元发送所述报文的端口号、所述报文进入的队列号、所述报文离开的队列号、所述每个转发网元接收所述报文的时间、所述每个转发网元发送所述报文的时间。
第四方面,提供一种流量测量装置,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,具体应用于统计设备,所述统计设备连接所述多个转发网元中将所述数据流发送给所述服务端的最后一个转发网元,所述统计设备还连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述装置包括:
接收模块,用于接收所述最后一个转发网元发送的报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元处理所述报文的信息;
获取模块,用于获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
统计模块,用于根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
发送模块,用于向所述流量分析设备发送所述更新后的流量存储表。
第五方面,提供了一种非瞬态计算机可读存储介质,所述非瞬态计算机可读介质存储有指令,所述指令用于实现如上述第一方面任意可能的实现方式或者第二方面任意可能的实现方式提供的方法。
第六方面,提供了一种计算机程序产品,包括计算机程序,当所述计算机程序被计算机设备集群读取并执行时,使得所述计算机设备集群执行如上述第一方面任意可能的实现方式或者第二方面任意可能的实现方式提供的方法。
第七方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得该计算设备执行如上述第一方面任意可能的实现方式或者第二方面任意可能的实现方式提供的方法。
在一种可能的实现方式中,该计算设备集群包括一个计算设备,该计算设备包括处理器和存储器;该处理器用于执行该存储器中存储的指令,以使得该计算设备执行如上述第一方面任意可能的实现方式或者第二方面任意可能的实现方式提供的方法。
在一种可能的实现方式中,该计算设备集群包括至少两个计算设备,每个计算设备包括处理器和存储器;该至少两个计算设备的处理器用于执行该至少两个计算设备的存储器中存储的指令,以使得该计算设备集群执行如上述第一方面任意可能的实现方式或者第二方面任意可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请涉及的第一流量存储表的示意图;
图2是本申请涉及的流量测量系统的结构示意图;
图3是本申请提供的一种流量测量方法的流程示意图;
图4是本申请提供的第一流量存储表的变化示意图;
图5是本申请提供的第二流量存储表的示意图;
图6是本申请提供的示例性的第一流量存储表和示例性的第二流量存储表的示意图;
图7是本申请提供的另一种流量测量方法的流程示意图;
图8是本申请提供的一种流量测量系统的结构示意图;
图9是本申请提供的一种流量查询过程的示意图;
图10是本申请提供的一种流量查询过程的示意图;
图11是本申请提供的一种流量测量装置的结构示意图;
图12是本申请提供的一种计算设备集群的结构示意图;
图13是本申请提供的一种计算设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下中的至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a、b、c、a-b、a-c、b-c或a-b-c,其中a、b、c可以是单个,也可以是多个。
下面先对本申请涉及的概念或者术语等进行介绍。
(1)数据流的流量,也可以称为数据流的长度,也可以简称为流量,指一条数据流中包括的报文(也可以称为数据包)的数量。
(2)五元组,是由源IP地址、源端口号、目的IP地址、目的端口号和传输层协议这五个参数组成的一个集合。其中,源IP地址指发送出数据流的客户端的IP地址,源端口号指客户端发送出数据流的端口号,目的IP地址指接收数据流的服务端的IP地址,目的端口号指服务端接收数据流的端口号,传输层协议指客户端和服务端在传输数据流时使用的协议。五元组能够区分不同的数据流,并且对应的数据流是唯一的。
(3)INT,是一种流量测量协议,它在数据平面收集每一个INT网元(指支持INT技术的交换机或者路由器等网络设备)处理报文的信息(如INT网元的标识(identitydocument,ID)、报文出入INT网元的端口号、报文出入INT网元的队列号、报文出入INT网元的时间等),然后由最后一个INT网元将收集到的链路上的INT网元处理报文的信息发送给流量分析设备,从而实现对网络状态细粒度的获取,这个过程没有控制层面的控制与参与,可以大大减少控制器的压力。
(4)概率数据结构,是一种基于哈希(也可以称为散列)的数据结构,概率数据结构以牺牲一定的流量测量准确度为代价,记录网络中每条数据流的信息而非每个报文的信息,可以减少内存开销。概率数据结构通过设置哈希函数(也可以称为散列函数),将具有相同哈希值(也可以称为散列值)的键值数据保存在第一流量存储表(参见图1)中相同的存储格中。存储格内的统计值作为流量测量结果,是每条数据流的真实流量的估计。忽略掉发生哈希碰撞(collision)的情况,错误可以在一定的阈值下得到很好的控制。与无错方法相比,这些算法使用的内存更少。简而言之,概率数据结构具备在理论上可证明的流量估计精度与内存的平衡特性。目前比较常用的概率数据结构包括:布隆过滤器(bloom filter)、基数估计法、sketch,其中,sketch有最小简图(count-min sketch,简称为cm sketch)、保守更新简图(conservative-update sketch,简称为cu sketch)、计数简图(count sketch)、FlowRadar、UnivMon等。目前,在流量测量领域最流行的概率数据结构为cm sketch。
(5)第一流量存储表,如图1所示,包括d个(行)存储层,每个存储层包括w个的存储格(也可以称为哈希桶)。第一流量存储表中的存储格的位数均为δ,因此,每个存储格可以记录的流量范围是相同的。每个存储层关联一个哈希函数,d个存储层关联的哈希函数h11、h12、…、h1d两两独立。其中,d、w均为大于0的自然数,通常,δ为8比特(bit),也就是说,存储格可以记录的流量范围为0~255。在初始状态下,第一流量存储表上所有存储格的初始值为0或者为空。
(6)cm sketch的工作原理为:当一个包括流标识的报文到达部署了cm sketch的设备时,设备使用h11、h12、…、h1d对报文包括的流标识进行哈希,从而在第一流量存储表中定位到d个存储格,然后设备将定位到的d个存储格中统计值未溢出的存储格的统计值增加1,统计值已溢出的存储格的统计值保持不变,从而得到更新后的第一流量存储表。当设备对一条数据流中的最后一个报文执行完上述操作的情况下,该d个存储格中的最小统计值即为设备对该数据流的真实流量的估计值。
其中,统计值未溢出,表示统计值小于统计值所在的存储格可以记录的最大值,统计值已溢出,表示统计值等于统计值所在的存储格可以记录的最大值,例如,假设存储格A的统计值A'为100,存储格B的统计值B'为1000,存储格A和B可以记录的最大值均为255,A'小于255,则A'未溢出,B'等于255,则B'已溢出。
其他概率数据结构的工作原理与cm sketch的工作原理相类似,此处不再展开赘述。
下面介绍本申请提供的流量测量方法、装置及相关设备可以应用的场景。
参见图2,图2为本申请涉及的一种流量测量系统,如图2所示,该系统包括:客户端110、多个转发网元120、服务端130和流量分析设备140,客户端110、多个转发网元120、服务端130和流量分析设备140之间可以通过网络进行通信,网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
客户端110,指发送出数据流的设备,客户端110发出的数据流可以经由多个转发网元120中的部分或者全部进行转发,最终到达服务端130。客户端110可以为终端设备,如智能手机、平板电脑、移动笔记本、可穿戴设备等,也可以为服务器,如个人计算机、云服务器等。客户端110的操作系统可以是IOS、Android、Windows、Linux等,此处不作具体限定。
转发网元120是用于实现数据流转发任务的网络设备,如交换机或者路由器等。
服务端130,指接收数据流的设备,可以为终端设备,如智能手机、平板电脑、移动笔记本、可穿戴设备等,也可以为个人计算机、服务器等。服务端130的操作系统可以是IOS、Android、Windows、Linux等,此处不作具体限定。
流量分析设备140,是用于实现流量分析功能的设备。流量分析设备140可以对数据流的传输过程进行监控,获得流量分析结果。流量分析设备140在获得流量分析结果后,可以接收用户输入的查询请求,向用户反馈流量查询结果。流量分析设备140可以为个人计算机、服务器等。
目前,图2所示的流量测量系统通常使用INT方法实现流量测量任务。在使用INT方法时,图2所示系统中的多个转发网元120是INT网元,图2所示系统实现流量测量的过程为:
当报文由客户端110发出到达第一个转发网元120时,第一个转发网元120会在报文上添加数据流的标识(以下简称为流标识)和第一个转发网元120处理报文的信息。其中,流标识可以为五元组包括的五个参数中的任意一个或者多个,还可以为VLAN标识(identity document,ID)等,转发网元120处理报文的信息可以为转发网元120的ID、报文出入转发网元120的端口号、报文出入转发网元120的队列号、报文出入转发网元120的时间等。通常,第一个转发网元120在属于同一条数据流的报文上添加的流标识是相同的。
在添加完流标识和第一个转发网元120处理报文的信息后,第一个转发网元120向中转网元120(指报文在第一个转发网元120之后,到达最后一个转发网元120之前经过的转发网元120)发送携带有第一个转发网元120处理报文的信息的报文。当报文转发至中转网元120时,中转网元120在报文上继续添加本网元处理报文的信息,然后将添加了本网元处理报文的信息的报文向下一个转发网元120转发。
当报文转发至最后一个转发网元120时,最后一个转发网元120将报文携带的报文经过的转发网元120(即第一个转发网元120和中转网元120)处理报文的信息(以下简称为第一携带信息)从报文上剥离,得到独立的第一携带信息和报文,然后将第一携带信息发送给流量分析设备140,并将报文转发到服务端130。
在具体实现中,最后一个转发网元120通常是在从多个报文上剥离得到多个第一携带信息后,将多个第一携带信息一起发送给流量分析设备140。流量分析设备140在接收到多个第一携带信息后,根据多个第一携带信息进行分析统计,得到流量统计结果,如每条数据流的流量、每个转发网元120上经过的每条数据流的流量等。
上述INT方法在实现流量测量时,最后一个转发网元120在将第一携带信息发送至流量分析设备140之前,并没有在报文上继续添加自身处理报文的信息,也就是说,第一携带信息中不包括最后一个转发网元120处理报文的信息,流量分析设备140接收的最后一个转发网元120发送的第一携带信息不包括最后一个转发网元120处理报文的信息,因此,该方法存在着测量的链路信息不完整的问题。
另外,最后一个转发网元120是将剥离得到的多个第一携带信息一起发送给流量分析设备140,若多个第一携带信息的数据量非常大,这不仅会消耗大量带宽资源,而且还会消耗流量分析设备140的大量计算资源,测量成本较高。
针对上述问题,本申请提供一种流量测量方法,该流量测量方法可以应用于图2所示的流量测量系统,图2所示系统中的多个转发网元120均为支持在数据流中的报文上添加其处理报文的信息的网元,如INT网元,服务端130上部署有概率数据结构,图2所示系统实现流量测量的过程为:
当报文由客户端110发出到达第一个转发网元120时,第一个转发网元120会在报文上添加流标识和第一个转发网元120处理报文的信息。
在添加完流标识和第一个转发网元120处理报文的信息后,第一个转发网元120向中转网元120发送携带有第一个转发网元120处理报文的信息的报文。当报文转发至中转网元120时,中转网元120在报文上继续添加本网元处理报文的信息,然后将添加了本网元处理报文的信息的报文向下一个转发网元120转发。
当报文转发至最后一个转发网元120时,最后一个转发网元120在报文上继续添加本网元处理报文的信息,然后将添加了本网元处理报文的信息的报文向服务端130转发。
当报文转发至服务端130时,服务端130将报文携带的报文经过的转发网元120(即第一个转发网元120、中转网元120和最后一个转发网元120)处理报文的信息(以下简称为第二携带信息)从报文上剥离,得到独立的第二携带信息和报文。
服务端130在剥离得到第二携带信息后,由于服务端130上部署有概率数据结构,因此服务端130可以根据第二携带信息将数据流的流量统计到第一流量存储表,得到更新后的第一流量存储表。然后,服务端130将获取的更新后的第一流量存储表发送给流量分析设备140。
在具体实现中,服务端130可以在从多个报文上剥离得到多个第二携带信息后,根据多个第二携带信息将数据流的流量统计到第一流量存储表,得到更新后的第一流量存储表,更新后的流量存储表中可以包括每条数据流的流量、每个转发网元120上经过的每条数据流的流量等。
可以看出,本申请提供的流量测量方法在实现流量测量时,并不是由最后一个转发网元120进行第二携带信息的剥离操作,而是由服务端130进行第二携带信息的剥离操作,且服务端130剥离得到的第二携带信息包括最后一个转发网元120处理报文的信息,因此,该方法可以解决现有的INT方法存在的测量的链路信息不完整的问题。
另外,在本申请提供的流量测量方法中,服务端130是根据第二携带信息将数据流的流量统计到第一流量存储表,得到更新后的第一流量存储表后,将更新后的第一流量存储表发送给流量分析设备140,不像现有的INT方法,是由最后一个转发网元120直接将第一携带信息发送给流量分析设备140,由流量分析设备140对第一携带信息进行分析汇总得到数据流的流量。由上文对概率数据结构和第一流量存储表的介绍可知,使用第一流量存储表统计数据流的流量可以减少内存开销,因此,服务端130得到的更新后的第一流量存储表的数据量要小于第二携带信息的数据量,服务端130将更新后的第一流量存储表发送给流量分析设备140,相较于现有技术,可以减少向流量分析设备140发送数据所需要消耗的带宽资源,而且更新后的第一流量存储表中已经包括数据流的流量,无需流量分析设备140进行分析,可以减少流量分析设备140侧的计算资源的消耗,降低测量成本。
为了便于更清楚地理解本申请提供的流量测量方法,这里以部署于服务端130的概率数据结构为cm sketch,服务端130接收到的最后一个转发网元120发送的报文序列为P1、P2、…、Pn为例,结合图3所示的流程示意图对本申请提供的流量测量方法进行详细描述,如图3所示,该方法包括:
S101、服务端130接收最后一个转发网元120发送的包括第二携带信息Pi'的报文Pi。
其中,i、n均为自然数,1≤i≤n。
具体地,服务端130在接收到包括第二携带信息Pi'的报文Pi后,会从报文Pi上剥离得到第二携带信息Pi',第二携带信息Pi'包括流标识IDPi
S102、服务端130使用哈希函数h11、h12、…、h1d对第二携带信息Pi'包括的IDPi进行哈希,得到d个第一哈希值。
其中,d个第一哈希值为h11(IDPi)、h12(IDPi)、…、h1d(IDPi)。
S103、服务端130根据d个第一哈希值,从第一流量存储表中确定第一目标存储格。
具体地,转发网元120可以先从第一流量存储表中确定d个与IDPi对应的存储格:第1个存储格=h11(IDPi)%w,第二个存储格=h12(IDPi)%w,…,第d个存储格=h1d(IDPi)%w,然后,将d个与IDPi对应的存储格中统计值未溢出的存储格确定为第一目标存储格。
S104、服务端130将第一目标存储格的统计值增加1。
举例来讲,假设转发网元120在接收到报文Pi之前包括的第一流量存储表为图4中的表A,第一流量存储表中的每个存储格可以记录的流量范围为0~255,转发网元120在接收到报文Pi后,根据第二携带信息Pi'包括的流标识IDPi定位到的5个存储格为h11(IDPi)%5=3,h12(IDPi)%5=1,h13(IDPi)%5=4,h14(IDPi)%5=1,h15(IDPi)%5=3,参见图4中的表B,表B中有阴影的表格表示定位到的存储格,从表B可以看出,统计值未溢出的存储格为第一个存储层中的第3个存储格、第三个存储层中的第4个存储格、第四个存储层中的第1个存储格和第五个存储层中的第3个存储格,其统计值对应为3、25、80、25,则转发网元120确定第一目标存储格为上述四个存储格,然后将上述四个存储格的统计值均增加1,更新后的第一流量存储表参见图4中的表C。
S105、服务端130对接收到的每个报文都执行步骤S101至步骤S104,得到更新后的第一流量存储表。
S106、服务端130向流量分析设备140发送更新后的第一流量存储表。
在本申请具体的实施例中,服务端130在向流量分析设备140发送更新后的第一流量存储表之前,还可以对更新后的第一流量存储表进行封装,以减少服务端130向流量分析设备140发送更新后的第一流量存储表时所占用的带宽。具体地,服务端130可以使用具有封装功能的算法(如elastic sketch),对更新后的第一流量存储表进行封装。
流量分析设备140在接收到服务端130发送的更新后的第一流量存储表之后,可以实现查询某条数据流的流量、查询显著流、查询某个时间窗口内服务端130接收到的数据流的条数或者查询某个时间窗口内服务端130接收到的报文的总数量等任务。以流量分析设备140实现查询某条数据流的流量为例,该过程参见图9以及下文对图9的相关描述。
本申请提供的流量测量方法也可以实现获取每个转发网元120上经过的每条数据流的流量,实现方式为:
由上文可知,服务端130接收到的第二携带信息除了包括流标识之外,还可以包括多个转发网元120处理报文的信息,多个转发网元120处理报文的信息可以为多个转发网元120的ID,因此,可以配置服务端130上部署的概率数据结构包括多个如图1所示的第一流量存储表,以及配置所述多个第一流量存储表关联一个哈希函数f1
当包括第二携带信息的报文到达了服务端130时,服务端130可以使用哈希函数f1对第二携带信息包括的每个转发网元120的ID进行哈希,从而在多个第一流量存储表中定位到与每个转发网元120对应的第一流量存储表,然后执行步骤S102至步骤S106,流量分析设备140便可以得到与每个转发网元120对应的更新后的第一流量存储表,从而实现每个转发网元120上经过的每条数据流的流量的获取。其中,在多个第一流量存储表中定位到与每个转发网元120对应的第一流量存储表T1的公式为:T1=f1(转发网元120的ID)%m1,m1表示多个第一流量存储表的数量。
可以理解,流量分析设备140在接收到服务端130发送的多个转发网元120各自对应的更新后的第一流量存储表之后,可以实现查询某个转发网元120上经过的某条数据流的流量、查询某个时间窗口内某个转发网元120接收到的数据流的条数或者查询某个时间窗口内某个转发网元120接收到的报文的总数量等任务。以流量分析设备140实现查询某个转发网元120上经过的某条数据流的流量为例,该过程参见图10以及下文对图10的相关描述。
由上文对第一流量存储表的描述可知,第一流量存储表包括的存储格的位数δ是一样的,通常为8bit,因此,可以理解,在本申请提供的流量测量方法中,若服务端130上部署的概率数据结构为现有的cm sketch或者cu sketch等,则本申请提供的流量测量方法无论是对大数据流的流量进行测量还是对小数据流的流量进行测量,使用的存储格的位数是一样的。
但是,在真实的网络流通中,流量大小分布是高度倾斜的,倾斜意味着大多数数据流都是小数据流,这类数据流包括的报文数通常只有几个到一二百个,通常被称为鼠流,只有极少数的数据流是大数据流,这类数据流包括的报文数有好几百甚至上千上万个,通常被称为大象流。因此,本申请提供的流量测量方法相较于INT方法,虽然已经起到了节省内存资源的作用,但是内存资源的利用率仍然不够高,而且,在对大数据流的流量进行测量时测量的准确性也不够高。
举例来讲,假设第一流量存储表包括的存储格的位数均为8bit,小数据流A包括的报文数量为2,大数据流B包括的报文数量为1000,转发网元120在对小数据流A的流量进行测量时,统计值为2,2远远小于存储格可以记录的最大值255,这时内存是浪费的,转发网元120在对大数据流B的流量进行测量时,统计值达到255之后已经溢出,因此,转发网元120对大数据流B的流量估计值为255,这与真实的大数据流B的流量1000相差较大,大数据流B的流量测量不准确。
为了解决上述问题,本申请还提供另一种流量测量方法,在该流量测量方法中,部署于服务端130的概率数据结构不是现有的概率数据结构,而是一种新的概率数据结构(即下文所述tower sketch),该概率数据结构可以提高内存利用率,以及提高大数据流流量测量的准确性。
tower sketch,通过设置哈希函数,将具有相同哈希值的键值数据保存在第二流量存储表中的相同的存储格中。存储格内的统计值作为流量测量结果,是每条数据流的真实流量的估计。
第二流量存储表,如图5所示,可以看出,第二流量存储表与图1所示的第一流量存储表相同的地方在于,均包括d个存储层。第二流量存储表与第一流量存储表不同的地方在于,第二流量存储表的每个存储层包括不同个数的存储格,不同存储层包括的存储格的位数是不相同的,第一个存储层包括的存储格的个数为w1,位数为δ1,第二个存储层包括的存储格个数为w2,位数为δ2,…,第d个存储层包括的存储格的个数为wd,位数为δd,因此,属于不同存储层的存储格可以记录的流量范围是不同的。每个存储层关联一个哈希函数,d个存储层关联的哈希函数h21、h22、…、h2d两两独立。在本实施例中,图5所示的第二流量存储表在初始状态下所有存储格的计数值均为0或者为空。
tower sketch的工作原理与上文所述cm sketch的工作原理相类似,具体可以参考上文对cm sketch的工作原理的相关描述。
下面以图6所示的流量存储表1和流量存储表2为例,对tower sketch可以提高内存利用率以及流量测量的准确性的原理进行解释说明。其中,图6所示的流量存储表1为一种示例性的第一流量存储表,图6所示的流量存储表2为一种示例性的第二流量存储表。从图6可以看出:
流量存储表1包括5个存储层,存储层11至存储层15均包括8个存储格,40个存储格的位数均为8bit,也就是说,该40个存储格可以记录的流量范围均为0~255。
流量存储表2也包括5个存储层,存储层21包括32个存储格,位数均为2bit,即存储层21包括的存储格可以记录的流量范围均为0~3,存储层22包括16个存储格,位数均为4bit,即存储层22包括的存储格可以记录的流量范围均为0~15,存储层23包括8个存储格,位数均为8bit,即存储层23包括的存储格可以记录的流量范围均为0~255,存储层24包括4个存储格,位数均为16bit,即存储层24包括的存储格可以记录的流量范围均为0~65535,存储层25包括2个存储格,位数均为32bit,即存储层25包括的存储格可以记录的流量范围均为0~4294967295。
由上述对流量存储表1的描述可以计算出,流量存储表1占用的内存=40*8bit=320bit,由上述对流量存储表2的描述可以计算出,流量存储表2占用的内存=2*32bit+4*16bit+8*8bit+16*4bit+32*2bit=320bit,也就是说,二者占用的内存是相同的。
在流量存储表1和流量存储表2占用的内存相同的情况下,由于流量存储表2每个存储层包括的存储格的位数是不同的,因此,设备在使用流量存储表2对小数据流的流量测量时,可以使用流量存储表2中与小数据流的流量匹配的存储格记录小数据流的流量,如在小数据流的流量为2时,使用占用内存为2bit的存储格记录该数据流的流量,如在小数据流的流量为12时,使用占用内存为4bit的存储格记录该数据流的流量,如在小数据流的流量为200时,使用占用内存为8bit的存储格记录该数据流的流量,相较于使用流量存储表1进行流量测量,减少了内存的浪费,提高了内存利用率。
同时,由于流量存储表2中的存储格可以记录的最大值为4294967295,因此,设备在使用流量存储表2对大数据流的流量测量时,可以使用与大数据流的流量匹配的存储格记录大数据流的流量,如在大数据流的流量为1000时,使用占用内存为16bit的存储格记录该数据流的流量,如在大数据流的流量为100000时,使用占用内存为32bit的存储格记录该数据流的流量,不会导致测量得到的大数据流的流量与真实流量相差较大,因此可以提高测量的大数据流的流量的准确性。
另外,由图6还可以看出,流量存储表2包括的存储格的个数多于流量存储表1包括的存储格的个数。可以理解,在流量存储表2包括的存储格的个数多于流量存储表1包括的存储格的个数的情况下,设备使用流量存储表2进行流量测量时发生哈希碰撞的几率也会低于使用流量存储表1进行流量测量时发生哈希碰撞的几率,因此,使用流量存储表2进行流量测量的准确性要高于使用流量存储表1进行流量测量的准确性。
这里以部署于服务端130的概率数据结构为tower sketch,服务端130接收到的最后一个转发网元120发送的报文序列为P1、P2、…、Pn为例,结合图7所示的流程示意图对本申请提供的另一种流量测量方法进行详细描述,如图7所示,该方法包括:
S201、服务端130接收最后一个转发网元120发送的包括第二携带信息Pi'的报文Pi。
S202、服务端130使用哈希函数h21、h22、…、h2d对第二携带信息Pi'包括的IDPi进行哈希,得到d个第二哈希值。
其中,d个第二哈希值为h21(IDPi)、h22(IDPi)、…、h2d(IDPi)。
S203、服务端130根据d个第二哈希值,从第二流量存储表中确定第二目标存储格。
具体地,服务端130可以先从第二流量存储表中确定d个与IDPi对应的存储格:第1个存储格=h21(IDPi)%w1、第2个存储格=h22(IDPi)%w2、…、第d个存储格=h2d(IDPi)%wd,然后将d个与IDPi对应的存储格中具有最小统计值且最小统计值未溢出的存储格确定为第二目标存储格。
S204、服务端130将第二目标存储格的统计值增加1。
S205、服务端130对接收到的每个报文都执行步骤S201至步骤S204,得到更新后的第二流量存储表。
S206、服务端130向流量分析设备140发送更新后的第二流量存储表。
本申请提供的另一种流量测量方法也可以实现获取每个转发网元120上经过的每条数据流的流量,实现方式为:
由上文可知,服务端130接收到的第二携带信息除了包括流标识之外,还可以包括多个转发网元120处理报文的信息,多个转发网元120处理报文的信息可以为多个转发网元120的ID,因此,可以配置服务端130上部署的概率数据结构包括多个如图5所示的第二流量存储表,以及配置所述多个第二流量存储表关联一个哈希函数f2
当包括携带信息的报文到达了服务端130时,服务端130可以使用哈希函数f2对携带信息包括的每个转发网元120的ID进行哈希,从而在多个第二流量存储表中定位到与每个转发网元120对应的第二流量存储表,然后执行步骤S202至步骤S206,流量分析设备140便可以得到与每个转发网元120对应的更新后的第二流量存储表,从而实现每个转发网元120上经过的每条数据流的流量的获取。其中,在多个第二流量存储表中定位到与每个转发网元120对应的第二流量存储表T2的公式为:T2=f2(转发网元120的ID)%m2,m2表示多个第二流量存储表的数量。
可以理解,流量分析设备140在接收到服务端130发送的多个转发网元120各自对应的更新后的第二流量存储表之后,可以实现查询某个转发网元120上经过的某条数据流的流量、查询某个时间窗口内某个转发网元120接收到的数据流的条数或者查询某个时间窗口内某个转发网元120接收到的报文的总数量等任务。
还可以理解,本申请提供的流量测量方法还可以实现获取每个转发网元120上的每个端口接收的每条数据流的流量、获取每个客户端110发送的每条数据流的流量、获取每个转发网元120上的每个队列经过的每条数据流的流量等,其具体实现方式与上文所述实现获取每个转发网元120上经过的每条数据流的流量的方式相类似,可以参考上文相关描述,此处不再展开赘述。
需要说明的是,虽然上文在对本申请提供的流量测量方法进行描述时,均以服务端130为执行主体,但是,在本申请具体的实施例中,还可以在图2所示流量测量系统中增加计算能力和存储能力均较强的统计设备150,作为本申请提供的流量测量方法的执行主体,如图8所示,统计设备150分别与最后一个转发网元120、流量分析设备140和服务端130连接。在具体实现中,统计设备150可以为个人计算机、服务器等。
统计设备150为执行主体时,其实现本申请提供的流量测量方法的过程与服务端130作为执行主体时的实现过程是相似的,具体可以参考上文中的相关描述,此处不再展开赘述。
图9为本申请提供的一种流量分析设备140实现查询某条数据流的流量的流程示意图,如图9所示,该过程包括如下步骤:
S301、流量分析设备140接收用户输入的包括数据流f的标识IDf的查询请求。
S302、流量分析设备140使用哈希函数h11、h12、…、h1d对IDf进行哈希,从而在更新后的第一流量存储表中确定d个与IDf对应的存储格。
S303、流量分析设备140将d个与IDf对应的存储格中的最小统计值确定为流量查询结果。
可以理解,流量查询结果为对真实的数据流f的流量的估计。
S304、流量分析设备140将流量查询结果反馈给用户。
图10为本申请提供的一种流量分析设备140实现查询某个转发网元120上经过的某条数据流的流量的流程示意图,如图10所示,该过程包括如下步骤:
S401、流量分析设备140接收用户输入的包括转发网元e的IDe和数据流f的标识IDf的查询请求。
S402、流量分析设备140使用哈希函数f1对IDe进行哈希,从而在多个更新后的第一流量存储表中确定与IDe对应的第一流量存储表。
S403、流量分析设备140使用哈希函数h11、h12、…、h1d对IDf进行哈希,从而在与IDe对应的第一流量存储表中确定d个与IDf对应的存储格。
S404、流量分析设备140将d个与IDf对应的存储格中的最小统计值确定为流量查询结果。
S405、流量分析设备140将流量查询结果反馈给用户。
上文详细阐述了本申请提供的流量测量方法,基于相同的发明构思,下面继续阐述本申请提供的流量测量装置。
参见图11,图11是本申请提供的一种流量测量装置200的结构示意图,在本申请提供的流量测量方法的执行主体为图2所示流量测量系统中的服务端130时,该流量测量装置200应用于服务端130,在本申请提供的流量测量方法的执行主体为图8所示流量测量系统中的统计设备150时,该流量测量装置200应用于统计设备150。如图11所示,流量测量装置200包括:
(1)在该流量测量装置200应用于服务端130的情况下:
接收模块210,用于接收与所述服务端130连接的转发网元120发送的所述报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元120处理所述报文的信息,即上文所述第二携带信息;
获取模块220,用于获取流量存储表,即第一流量存储表或者第二流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
统计模块230,用于根据所述数据流的标识和所述多个转发网元120处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
发送模块240,用于向所述流量分析设备140发送所述更新后的流量存储表。
(2)在该流量测量装置200应用于统计设备150的情况下:
接收模块210,用于接收与所述统计设备150连接的转发网元120发送的所述报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元120处理所述报文的信息,即上文所述第二携带信息;
获取模块220,用于获取流量存储表,即第一流量存储表或者第二流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
统计模块230,用于根据所述数据流的标识和所述多个转发网元120处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
发送模块240,用于向所述流量分析设备140发送所述更新后的流量存储表。
在一种可能的实现方式中,流量测量装置200还包括:封装模块250,用于对所述更新后的流量存储表进行封装。
在一种可能的实现方式中,所述数据流的标识包括如下的一种或多种组合:所述客户端的IP地址、所述客户端发送所述数据流的端口号、所述服务端的IP地址、所述服务端接收所述数据流的端口号、所述客户端向所述服务端传输所述数据流所使用的传输层协议、VLAN标识。
在一种可能的实现方式中,所述每个转发网元120处理所述报文的信息包括如下的一种或多种组合:
所述每个转发网元120的标识、所述每个转发网元120接收所述报文的端口号、所述每个转发网元120发送所述报文的端口号、所述报文进入的队列号、所述报文离开的队列号、所述每个转发网元120接收所述报文的时间、所述每个转发网元120发送所述报文的时间。
具体地,上述流量测量装置200执行各种操作的具体实现,可参照上述流量测量方法实施例中相关内容中的描述,为了说明书的简洁,这里不再赘述。
应当理解,流量测量装置200仅为本申请提供的一个例子,并且,流量测量装置200可具有比图11示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本申请还提供一种计算设备集群30,所述计算设备集群30可以用于部署图11所示的流量测量装置200,以执行本申请提供的流量测量方法。如图12所示,该计算设备集群30包括至少一个计算设备300。
具体地,在所述计算设备集群30仅包括一个计算设备300的情况下,可以在该一个计算设备300中部署图11所示流量测量装置中的全部模块:接收模块210、获取模块220、统计模块230、发送模块240和封装模块250。
在所述计算设备集群30包括多个计算设备300的情况下,多个计算设备300中的每个计算设备300可以用于部署图11所示流量测量装置200中的部分模块,或者,多个计算设备300中的两个或者两个以上的计算设备300共同用于部署图11所示流量测量装置200中的一个或者多个模块。
举例来讲,假设多个计算设备300包括计算设备300A和计算设备300B,则计算设备300A可以用于部署接收模块210和获取模块220,计算设备300B可以用于部署统计模块230、发送模块240和封装模块250,或者,计算设备300A上部署接收模块210、获取模块220和统计模块230,计算设备300B上部署统计模块230、发送模块240和封装模块250;假设多个计算设备300包括计算设备300A、300B、300C和300D,则计算设备300A可以用于部署接收模块210,计算设备300B可以用于部署获取模块220,计算设备300C可以用于部署统计模块230,计算设备300D可以用于部署发送模块240和封装模块250。
在具体实现中,所述计算设备集群30中包括的至少一个计算设备300可以全部是终端设备,也可以全部是云服务器,还可以部分是云服务器部分是终端设备,此处不作具体限定。
更具体地,所述计算设备集群30中的每个计算设备300可以包括处理器310、存储器320以及通信接口330等,所述计算设备集群30中的一个或者多个计算设备300中的存储器320可以存有相同的用于执行本申请实施例提供的流量测量方法的代码(也可以称为指令或者程序指令等),处理器310可以从存储器320中读取代码,并执行代码以实现本申请实施例提供的流量测量方法,通信接口330可以用于实现每个计算设备300与其他设备之间的通信。
在一些可能的实现方式中,计算设备集群30中的每个计算设备300也可以通过网络与其他设备连接进行通信。其中,所述网络可以是广域网或局域网等等。
下面以流量测量装置200的全部模块部署于一个计算设备300上为例,结合图13对本申请提供的计算设备300进行详细描述。
参见图13,计算设备300包括:处理器310、存储器320以及通信接口330,其中,处理器310、存储器320以及通信接口330之间可以通过总线340相互连接。其中,
处理器310可以读取存储器320中存储的代码,与通信接口330配合执行本申请上述实施例中由流量测量装置200执行的流量测量方法的部分或者全部步骤。
处理器310可以有多种具体实现形式,例如处理器310可以为中央处理器(centralprocessing unit,CPU)或图形处理器(graphics processing unit,GPU),处理器310还可以是单核处理器或多核处理器。处理器310可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器310也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processing,DSP)等。
存储器320可以存储有代码以及数据。其中,代码包括:接收模块210的代码、获取模块220的代码、统计模块230的代码、发送模块240的代码以及封装模块250的代码等,数据包括:第二携带信息、第一流量存储表、更新后的第一流量存储表、第二流量存储表、更新后的第二流量存储表等等。
在实际应用中,存储器320可以是非易失性存储器,例如,只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器320也可以是易失性存储器,易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。
通信接口330可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算节点或装置进行通信。当通信接口330为有线接口时,通信接口330可以采用传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)之上的协议族,例如,远程函数调用(remote function call,RFC)协议、简单对象访问协议(simple object access protocol,SOAP)协议、简单网络管理协议(simple network management protocol,SNMP)协议、公共对象请求代理体系结构(common object request broker architecture,CORBA)协议以及分布式协议等等。
总线340可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线340可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述计算设备300用于执行上述流量测量方法实施例中的方法,与上述方法实施例属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。
应当理解,计算设备300仅为本申请实施例提供的一个例子,并且,计算设备300可具有比图13示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本申请实施例还提供一种非瞬态计算机可读存储介质,非瞬态计算机可读存储介质中存储有代码,当其在处理器上运行时,可以实现上述实施例中记载的流量测量方法的部分或者全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品可以包含代码。当计算机程序产品被计算机读取并执行时,可以实现上述方法实施例中记载的数据表热度区分方法的部分或者全部步骤。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例装置中的单元可以根据实际需要进行划分、合并或删减。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种流量测量方法,其特征在于,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,所述服务端连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述方法包括:
所述服务端接收与其连接的转发网元发送的所述报文,所述报文包括所述数据流的标识和所述多个转发网元处理所述报文的信息;
所述服务端获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
所述服务端根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
所述服务端向所述流量分析设备发送所述更新后的流量存储表。
2.根据权利要求1所述的方法,其特征在于,所述服务端向所述流量分析设备发送所述更新后的流量存储表之前,所述方法还包括:
所述服务端对所述更新后的流量存储表进行封装。
3.根据权利要求1或2所述的方法,其特征在于,所述数据流的标识包括如下的一种或多种组合:所述客户端的互联协议IP地址、所述客户端发送所述数据流的端口号、所述服务端的IP地址、所述服务端接收所述数据流的端口号、所述客户端向所述服务端传输所述数据流所使用的传输层协议、虚拟局域网VLAN标识。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述每个转发网元处理所述报文的信息包括如下的一种或多种组合:
所述每个转发网元的标识、所述每个转发网元接收所述报文的端口号、所述每个转发网元发送所述报文的端口号、所述报文进入的队列号、所述报文离开的队列号、所述每个转发网元接收所述报文的时间、所述每个转发网元发送所述报文的时间。
5.一种流量测量方法,其特征在于,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,统计设备连接所述多个转发网元中将所述数据流发送给所述服务端的最后一个转发网元,所述统计设备连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述方法包括:
所述统计设备接收所述最后一个转发网元发送的报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元处理所述报文的信息;
所述统计设备获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
所述统计设备根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
所述统计设备向所述流量分析设备发送所述更新后的流量存储表。
6.一种流量测量装置,其特征在于,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,具体应用于所述服务端,所述服务端还连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述装置包括:
接收模块,用于接收与所述服务端连接的转发网元发送的所述报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元处理所述报文的信息;
获取模块,用于获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
统计模块,用于根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
发送模块,用于向所述流量分析设备发送所述更新后的流量存储表。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
封装模块,用于对所述更新后的流量存储表进行封装。
8.根据权利要求6或7所述的装置,其特征在于,所述数据流的标识包括如下的一种或多种组合:所述客户端的IP地址、所述客户端发送所述数据流的端口号、所述服务端的IP地址、所述服务端接收所述数据流的端口号、所述客户端向所述服务端传输所述数据流所使用的传输层协议、VLAN标识。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述每个转发网元处理所述报文的信息包括如下的一种或多种组合:
所述每个转发网元的标识、所述每个转发网元接收所述报文的端口号、所述每个转发网元发送所述报文的端口号、所述报文进入的队列号、所述报文离开的队列号、所述每个转发网元接收所述报文的时间、所述每个转发网元发送所述报文的时间。
10.一种流量测量装置,其特征在于,应用于客户端所生成的数据流经多个转发网元传输至服务端的传输过程,具体应用于统计设备,所述统计设备连接所述多个转发网元中将所述数据流发送给所述服务端的最后一个转发网元,所述统计设备还连接流量分析设备,所述多个转发网元中的每个转发网元为支持在所述数据流中的报文上添加其处理所述报文的信息的网络设备,所述装置包括:
接收模块,用于接收所述最后一个转发网元发送的报文,所述报文包括所述数据流的标识,所述报文携带有所述多个转发网元处理所述报文的信息;
获取模块,用于获取流量存储表,所述流量存储表用于存储所述数据流中报文的数量;
统计模块,用于根据所述数据流的标识和所述多个转发网元处理所述报文的信息,将所述数据流中报文的数量统计到所述流量存储表,得到更新后的流量存储表;
发送模块,用于向所述流量分析设备发送所述更新后的流量存储表。
11.一种非瞬态计算机可读存储介质,其特征在于,所述非瞬态计算机可读介质存储有指令,所述指令用于实现权利要求1至4任一项所述的方法。
12.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至4中任一项所述的方法。
CN202110573832.2A 2021-05-25 2021-05-25 流量测量方法、装置及相关设备 Pending CN115396345A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110573832.2A CN115396345A (zh) 2021-05-25 2021-05-25 流量测量方法、装置及相关设备
PCT/CN2022/071728 WO2022247308A1 (zh) 2021-05-25 2022-01-13 流量测量方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110573832.2A CN115396345A (zh) 2021-05-25 2021-05-25 流量测量方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN115396345A true CN115396345A (zh) 2022-11-25

Family

ID=84114345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110573832.2A Pending CN115396345A (zh) 2021-05-25 2021-05-25 流量测量方法、装置及相关设备

Country Status (2)

Country Link
CN (1) CN115396345A (zh)
WO (1) WO2022247308A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389322A (zh) * 2023-06-02 2023-07-04 腾讯科技(深圳)有限公司 流量数据处理方法、装置、计算机设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115988574B (zh) * 2023-03-15 2023-08-04 阿里巴巴(中国)有限公司 基于流表的数据处理方法、系统、设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199924B (zh) * 2018-01-26 2020-02-18 北京邮电大学 基于带内网络遥测的全网流量可视化方法及装置
US20200021490A1 (en) * 2018-07-10 2020-01-16 Cable Television Laboratories, Inc Systems and methods for advanced core network controls
US20200067792A1 (en) * 2018-08-21 2020-02-27 Argela Yazilim Ve Bilisim Teknolojileri San Ve Tic A S System and method for in-band telemetry target selection
CN112491661B (zh) * 2020-12-11 2022-12-13 苏州浪潮智能科技有限公司 数据中心交换机的时延探测方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389322A (zh) * 2023-06-02 2023-07-04 腾讯科技(深圳)有限公司 流量数据处理方法、装置、计算机设备和存储介质
CN116389322B (zh) * 2023-06-02 2023-08-15 腾讯科技(深圳)有限公司 流量数据处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2022247308A1 (zh) 2022-12-01

Similar Documents

Publication Publication Date Title
JP7039685B2 (ja) トラフィック測定方法、デバイス、およびシステム
US11888744B2 (en) Spin-leaf network congestion control method, node, system, and storage medium
CN111769998B (zh) 一种网络时延状态的探测方法及装置
WO2022247308A1 (zh) 流量测量方法、装置及相关设备
CN110971445B (zh) 一种网络的oam方法及装置
CN112039796B (zh) 数据包传输方法和装置、存储介质和电子设备
CN111163018B (zh) 网络设备及其降低传输时延的方法
US11316804B2 (en) Forwarding entry update method and apparatus in a memory
US20210036942A1 (en) Systems and methods for identifying persistently congested queues
CN113316212B (zh) 一种基站前传数据流的传输方法及装置
CN113328953A (zh) 网络拥塞调整的方法、装置和存储介质
Zhanikeev A holistic community-based architecture for measuring end-to-end QoS at data centres
CN112019492B (zh) 访问控制方法、装置及存储介质
CN113965492A (zh) 一种数据流统计方法及装置
CN115002808A (zh) 一种信息转发方法、装置、设备及存储介质
US11477126B2 (en) Network device and method for processing data about network packets
CN115277504A (zh) 一种网络流量监控方法、装置和系统
US9900207B2 (en) Network control protocol
CN115484202B (zh) 一种基于int的轻量化路径探测方法
US20210014138A1 (en) Data transmission method and related apparatus
WO2022227788A1 (zh) 网络切片资源信息的收集方法、装置及存储介质
WO2022111596A1 (zh) 数据流测量的方法和装置
WO2022179352A1 (zh) 采集周期确定方法、装置、系统、设备以及存储介质
CN108183832B (zh) 一种网络数据的获取方法
CN116820793A (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