CN111669337A - 一种流量控制的方法和装置 - Google Patents

一种流量控制的方法和装置 Download PDF

Info

Publication number
CN111669337A
CN111669337A CN202010323518.4A CN202010323518A CN111669337A CN 111669337 A CN111669337 A CN 111669337A CN 202010323518 A CN202010323518 A CN 202010323518A CN 111669337 A CN111669337 A CN 111669337A
Authority
CN
China
Prior art keywords
flow control
target
strategy
data message
identifier
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
CN202010323518.4A
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.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information 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 Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN202010323518.4A priority Critical patent/CN111669337A/zh
Publication of CN111669337A publication Critical patent/CN111669337A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种流量控制的方法和装置,所述方法包括:通过创建多个流量控制策略,其中,每个流量控制策略对应一策略标识,以及建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系,以在接收到数据报文时,可以确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识,还采用预置的视联网协议,对所述数据报文进行封装,最终根据所述目标策略标识,对所述数据报文进行流量控制,实现了对视联网进行流量控制,避免了由于视联网服务器负荷处理数据流量而导致视联网路由器和其他视联网设备的使用异常,提升了视联网的稳定性。

Description

一种流量控制的方法和装置
技术领域
本发明涉及视联网技术领域,特别是涉及一种流量控制的方法和装置。
背景技术
视联网协议是为了支持超大规模、高带宽、实时通信网络而设计的一整套完整的网络通信协议体系,可以独立于IP协议之外建立不同终端之间的寻址与通信,是一种大规模高带宽实时交换网络通信技术。
目前,当存在大量的数据流量通过视联网路由器进入视联网时,可能会导致视联网服务器出现满负荷处理,会影响视联网中其他设备的业务,如影响其他设备的入网以及数据流的丢包等,进而可能导致视联网路由器和其他视联网设备的使用异常,降低了视联网的稳定性。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种流量控制的方法和装置,包括:
一种流量控制的方法,应用于路由设备,包括:
创建多个流量控制策略;其中,每个流量控制策略对应一策略标识;
建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系;
在接收到数据报文时,确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识;
根据所述目标策略标识,对所述数据报文进行流量控制。
可选地,在所述根据所述目标策略标识,对所述数据报文进行流量控制之前,还包括:
采用所述目标策略标识,对所述数据报文进行标记;
所述根据所述目标策略标识,对所述数据报文进行流量控制包括:
确定所述目标策略标识对应的目标流量控制策略;
按照所述目标流量控制策略,对所述数据报文进行流量控制。
可选地,所述采用所述目标策略标识,对所述数据报文进行标记包括:
确定所述数据报文中的目标结构成员;
采用所述目标策略标识,对所述目标结构成员进行赋值。
可选地,所述数据报文为位于互联网中的第一设备针对位于视联网中的第二设备发送的报文,在所述根据所述目标策略标识,对所述数据报文进行流量控制之前,还包括:
采用预置的视联网协议,对所述数据报文进行封装。
可选地,每个流量控制策略对应一HTB队列,所述策略标识为所述HTB队列的队列标识。
可选地,所述流量控制策略包括流量控制范围。
可选地,所述路由设备的操作系统为Linux系统。
一种流量控制的装置,应用于路由设备,包括:
流量控制策略创建模块,用于创建多个流量控制策略;其中,每个流量控制策略对应一策略标识;
策略标识关系建立模块,用于建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系;
目标策略标识确定模块,用于在接收到数据报文时,确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识;
流量控制模块,用于根据所述目标策略标识,对所述数据报文进行流量控制。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的流量控制的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的流量控制的方法的步骤。
本发明实施例具有以下优点:
在本发明实施例中,通过创建多个流量控制策略,其中,每个流量控制策略对应一策略标识,以及建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系,以在接收到数据报文时,可以确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识,还采用预置的视联网协议,对所述数据报文进行封装,最终根据所述目标策略标识,对所述数据报文进行流量控制,实现了对视联网进行流量控制,避免了由于视联网服务器负荷处理数据流量而导致视联网路由器和其他视联网设备的使用异常,提升了视联网的稳定性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种视联网的组网示意图;
图2是本发明一实施例提供的一种节点服务器的硬件结构示意图;
图3是本发明一实施例提供的一种接入交换机的硬件结构示意图;
图4是本发明一实施例提供的一种以太网协转网关的硬件结构示意图;
图5是本发明一实施例提供的一种流量控制的方法的步骤流程图;
图6是本发明一实施例提供的另一种流量控制的方法的步骤流程图
图7a是本发明一实施例提供的一种流量控制实例的示意图;
图7b是本发明一实施例提供的另一种流量控制实例的示意图;
图8是本发明一实施例提供的一种流量控制的装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
1、视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frametype,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA SA Reserved Payload CRC
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA SA Reserved 标签 Payload CRC
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
参照图5,示出了本发明一实施例提供的一种流量控制的方法的步骤流程图,该方法可以应用于路由设备。
作为一示例,路由设备的操作系统可以为Linux系统,该路由设备可以与位于视联网中一个或多个视联网设备进行通信连接,也可以与位于互联网中一个或多个终端设备进行通信连接。
具体的,可以包括如下步骤:
步骤501,创建多个流量控制策略;其中,每个流量控制策略对应一策略标识;
针对可能存在大量的数据流量进入视联网的情况,可以在路由设备中创建多个不同的流量控制策略,进而可以按照不同的流量控制策略对流量进行控制,以对即将进入视联网的数据流量进行流量控制。
步骤502,建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系;
其中,虚拟隧道可以为建立在互联网网络中的基础设施之间传递数据的虚拟链路,也可以为建立在视联网网络中的基础设施之间传递数据的虚拟链路,而隧道则可以为一种通过使用视联网的基础设施在视联网之间传递数据的方式。
在创建多个流量控制策略时,可以针对路由设备中其中一个或多个虚拟隧道创建不同的流量控制策略,也即是虚拟隧道可以与流量控制策略进行对应,进而路由设备可以根据虚拟隧道确定不同流量控制策略,以及确定流量控制策略的策略标识,以建立策略标识与虚拟隧道的对应关系。
步骤503,在接收到数据报文时,确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识;
在实际应用中,视联网中的路由设备可以接收其他设备发送的数据报文,如可以接收位于互联网中的第一设备针对位于视联网中的第二设备发送的报文,进而确定针对该数据报文的目标虚拟隧道。
例如,可以通过协议栈来确定针对该数据报文的目标虚拟隧道。
由于预先建立虚拟隧道与策略标识的对应关系,则在确定目标虚拟隧道后,可以确定该目标虚拟隧道对应的策略标识,以确定针对该数据报文的目标策略标识。
步骤504,根据所述目标策略标识,对所述数据报文进行流量控制。
在确定目标策略标识后,路由设备可以根据目标策略标识确定对应的流量控制策略,并将数据报文通过目标虚拟隧道进行发送。
在发送数据报文的时候,可以按照流量控制策略对数据报文进行流量控制。
在本申请一实施例中,在步骤504之前,还可以包括如下步骤:
采用预置的视联网协议,对所述数据报文进行封装。
在发送数据报文之前,可以采用路由设备中预置的视联网协议,在接收的数据报文上添加视联网报文头,进而可以将数据报文进行视联网报文的封装。
在本发明实施例中,通过创建多个流量控制策略,其中,每个流量控制策略对应一策略标识,以及建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系,以在接收到数据报文时,可以确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识,还采用预置的视联网协议,对所述数据报文进行封装,最终根据所述目标策略标识,对所述数据报文进行流量控制,实现了对视联网进行流量控制,避免了由于视联网服务器负荷处理数据流量而导致视联网路由器和其他视联网设备的使用异常,提升了视联网的稳定性。
参照图6,示出了本发明一实施例提供的另一种流量控制的方法的步骤流程图,该方法可以应用于路由设备。
具体的,可以包括如下步骤:
步骤601,创建多个流量控制策略;其中,每个流量控制策略对应一策略标识;
在本申请一实施例中,每个流量控制策略可以包括流量控制范围,每个流量控制策略可以对应一HTB(HierarchyToken Bucket,分层次的令牌桶)队列,HTB为一种Linux系统流量控制的算法,HTB队列为一种可分类的队列。
具体的,HTB队列可以包括根队列和子队列,子队列可以包括子队列的队列标识,策略标识可以为HTB队列的队列标识,如HTB子队列的队列标识。
在实际应用中,路由设备可以包括视联网接口,可以针对路由设备的视联网接口创建多个流量控制策略,在创建流量控制策略时,具体可以对路由设备的视联网接口进行HTB队列配置。
在进行HTB队列配置时,可以在HTB队列中创建一个设置有最大允许带宽流量的根队列,以及在根队列中创建多个与不同流量控制策略对应的子队列,具体可以将子队列确定为流量控制策略,可以将HTB队列的队列标识,如子队列的队列标识确定为流量控制策略对应的策略标识。
例如,可以采用以下指令进行HTB队列配置:
1、可以在路由设备的视联网接口中配置一个HTB队列:
tc qdisc add dev eth0 root handle 1:htb
其中,tc为Linux系统配置流量控制的命令行,视联网接口为eth0,HTB队列为1:htb。
2、可以创建一个设置有最大允许带宽流量的根队列:
tc class add dev eth0 parent 1:classid 1:1htb rate 100mibps
其中,根队列的队列标识为classid 1:1,该根队列设置的最大允许带宽流量为100mibps。
3、可以创建与流量控制策略对应的子队列:
tcclass add dev eth0 parent 1:1classid 1:10htb rate 80mibps ceil100mibps
其中,该子队列包括最低限速为80mibps至最高限速为100mibps的流量控制范围,也即是与流量控制策略对应的流量控制范围,而classid 1:10为子队列的队列标识。
步骤602,建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系;
其中,虚拟隧道可以为建立在视联网网络中的基础设施之间传递数据的虚拟链路,虚拟隧道可以包括一个虚拟接口,虚拟接口可以包括一个私有结构成员。
在创建多个流量控制策略后,可以建立多个策略标识与路由设备中多个虚拟隧道的对应关系,具体的,建立过程可以如下:
由于在路由设备的视联网接口中创建多个流量控制策略时,可以创建多个与不同流量控制策略对应的子队列,具体的,可以是针对路由设备中其中一个或多个虚拟隧道创建不同的子队列,其中,可以将子队列确定为流量控制策略,可以将子队列的队列标识确定为流量控制策略对应的策略标识。
在创建子队列后,也即在创建多个流量控制策略后,可以通过与路由设备中的内核态进行交互,进而可以确定与子队列对应的虚拟隧道,以及确定虚拟隧道中虚拟接口的私有结构成员。
例如,路由设备可以确定子队列的队列标识,进而可以通过与路由设备中的内核态进行交互,如可以通过netlink,一种用于实现用户进程与内核进程之间通信的特殊的进程间通信方式,将包含队列标识的netlink消息传输至内核态,内核态可以通过解析netlink消息,进而可以根据netlink消息里的队列标识确定与子队列对应的虚拟隧道,以及确定虚拟隧道中虚拟接口的私有结构成员。
在确定虚拟隧道中虚拟接口的私有结构成员后,路由设备可以对子队列的队列标识进行解析,以生成一个数值,进而可以将该数值对私有结构成员进行赋值。
在对私有结构成员赋值后,路由设备可以通过确定虚拟隧道中私有结构成员的值,进而确定对应的子队列的队列标识,也即策略标识,从而可以建立策略标识与路由设备中虚拟隧道的对应关系。
步骤603,在接收到数据报文时,确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识;
其中,数据报文可以为位于互联网中的第一设备针对位于视联网中的第二设备发送的报文,也可以为位于视联网中的第三设备针对位于视联网中的第二设备发送的报文。
在实际应用中,路由设备可以接受数据报文,在接收到数据报文时,可以通过Linux内核网络协议栈对数据报文进行查询,进而可以给数据报文选择需要进行发送的虚拟接口。
在获得需要进行发送的虚拟接口后,可以确定对应的虚拟隧道,进而将虚拟隧道确定为目标虚拟隧道。
由于预先建立虚拟隧道与策略标识的对应关系,则可以确定目标虚拟隧道对应的策略标识,也即是子队列标识,进而可以将对应的子队列标识确定为目标策略标识。
步骤604,采用所述目标策略标识,对所述数据报文进行标记;
在确定目标策略标识后,可以采用目标策略标识对数据报文进行标记,进而可以在对数据报文进行发送时,可以通过该数据报文中的标记确定策略标识,也即是子队列标识,进而可以确定与子队列标识对应的虚拟隧道,以及确定对应的子队列。
在本申请一实施例中,步骤604可以包括如下子步骤:
子步骤11,确定所述数据报文中的目标结构成员;
在接收到数据报文时,可以通过Linux内核网络协议栈为数据报文中专门用于流量控制的结构成员分配一个成员标识,进而在接收到数据报文后,可以根据成员标识确定数据报文中的目标结构成员。
子步骤12,采用所述目标策略标识,对所述目标结构成员进行赋值。
在确定数据报文中的目标结构成员后,可以采用目标策略标识,对目标结构成员进行赋值,具体在对目标结构成员进行赋值时,可以确定与目标策略标识对应的虚拟隧道,进而可以确定虚拟隧道中虚拟接口的私有结构成员的值,可以将私有结构成员的值对数据报文中的目标结构成员进行赋值,以对数据报文进行标记。
步骤605,确定所述目标策略标识对应的目标流量控制策略;
在对数据报文进行标记后,路由设备可以指定数据报文通过视联网接口进行流量控制处理,并在进行流量控制处理时,可以根据数据报文中的标记确定目标策略标识,以及确定与目标策略标识对应的目标流量控制策略。
其中,路由设备可以包括一个发送函数,发送函数可以将数据报文指定给视联网接口进行发送,流量控制处理可以为按照HTB算法进行处理。
在实际应用中,确定目标流量控制策略的过程可以如下:
在进行发送处理时,可以根据数据报文中的标记,也即是数据报文中目标结构成员的值,进而确定对应的策略标识,也即是子队列的队列标识,以确定配置在视联网接口中对应的子队列,由于子队列可以确定为流量控制策略,则确定目标流量控制策略可以是确定对应的子队列。
步骤606,按照所述目标流量控制策略,对所述数据报文进行流量控制。
在实际应用中,由于确定目标流量控制策略可以是确定对应的子队列,则可以在确定配置在视联网接口中对应的子队列后,按照子队列对数据报文进行流量控制处理。
在完成流量控制处理后,视联网接口可以选择目标虚拟隧道,进而可以将流量控制处理后的数据报文进行发送。
在本申请一实施例中,在完成流量控制处理后,视联网接口可以对超出范围的数据报文进行部分报文的丢弃。
在本发明实施例中,通过创建多个流量控制策略,其中,每个流量控制策略对应一策略标识,以及建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系,以在接收到数据报文时,可以确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识,进而采用所述目标策略标识,对所述数据报文进行标记,确定所述目标策略标识对应的目标流量控制策略,最终根据所述目标策略标识,对所述数据报文进行流量控制,实现了对视联网进行流量控制,能够精准地控制流入视联网的数据大小,进而更好地对流量进行管控和规划,避免了由于视联网服务器负荷处理数据流量而导致视联网路由器和其他视联网设备的使用异常,提升了视联网的稳定性。
为了使本领域技术人员能够更好地理解上述步骤,以下结合图7a与图7b对本发明实施例加以示例性说明,但应当理解的是,本发明实施例并不限于此。
如图7a所示:
1、配置下发:可以根据实际流量控制需求创建多个流量控制策略;
2、下发流量控制:可以根据多个流量控制策略,创建流量控制指令以进行流量控制配置;
3、tc下发htb配置:在进行流量控制配置时,可以使用Linux系统配置流量控制的命令行tc创建多个对应的HTB队列;
4、流量控制模块:在创建多个HTB队列后,可以将HTB队列配置给视联网接口;
5、将classid下发:在创建多个HTB队列后,可以将HTB队列的队列标识通过netlink方式将netlink消息传给内核态;
6、隧道虚接口:内核态在获得netlink消息后,可以对netlink进行解析,进而可以确定虚拟隧道的虚拟接口,以将HTB队列的队列标识赋值给虚拟接口。
如图7b所示:
1、隧道对应的虚拟子接口:在接受到数据报文后,可以通过Linux内核网络协议栈确定数据报文需要进行发送的虚拟隧道,进而可以确定对应的虚拟接口;
2、封装视联网报文:在确定虚拟接口后,对数据报文进行视联网报文封装;
3、给报文打标记:在进行视联网报文的封装后,对视联网报文进行标记;
4、交给视联网接口发送:将视联网报文指定给视联网接口进行发送;
5、接口发送处理:视联网接口在接收到发送视联网报文的指定后,确定视联网报文的标记,进而确定对应的HTB队列;
6、Linux内核流量控制模块:在确定HTB队列,可以根据HTB队列对视联网报文进行流量控制处理;
7、视联网接口:在进行流量控制处理后,可以对处理后的视联网报文通过视联网接口进行发送。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明一实施例提供的一种流量控制的装置的结构框图,该装置可以应用于路由设备,所述路由设备的操作系统为Linux系统,具体可以包括如下模块:
流量控制策略创建模块801,用于创建多个流量控制策略;其中,每个流量控制策略对应一策略标识;
策略标识关系建立模块802,用于建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系;
目标策略标识确定模块803,用于在接收到数据报文时,确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识;
流量控制模块804,用于根据所述目标策略标识,对所述数据报文进行流量控制。
在本发明一实施例中,所述装置还包括:
数据报文标记模块,用于采用所述目标策略标识,对所述数据报文进行标记。
所述流量控制模块804包括:
目标流量控制策略确定子模块,用于确定所述目标策略标识对应的目标流量控制策略;
数据报文流量控制子模块,用于按照所述目标流量控制策略,对所述数据报文进行流量控制。
在本发明一实施例中,所述数据报文标记模块包括:
目标结构成员确定子模块,用于确定所述数据报文中的目标结构成员;
目标结构成员赋值子模块,用于采用所述目标策略标识,对所述目标结构成员进行赋值。
在本发明一实施例中,所述装置还包括:
视联网报文封装模块,用于采用预置的视联网协议,对所述数据报文进行封装。
在本发明实施例中,通过创建多个流量控制策略,其中,每个流量控制策略对应一策略标识,以及建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系,以在接收到数据报文时,可以确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识,进而采用所述目标策略标识,对所述数据报文进行标记,确定所述目标策略标识对应的目标流量控制策略,最终根据所述目标策略标识,对所述数据报文进行流量控制,实现了对视联网进行流量控制,能够精准地控制流入视联网的数据大小,进而更好地对流量进行管控和规划,避免了由于视联网服务器负荷处理数据流量而导致视联网路由器和其他视联网设备的使用异常,提升了视联网的稳定性。
本发明一实施例还提供了电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上流量控制的方法的步骤。
本发明一实施例还提供了计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上流量控制的方法的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种流量控制的方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种流量控制的方法,其特征在于,应用于路由设备,包括:
创建多个流量控制策略;其中,每个流量控制策略对应一策略标识;
建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系;
在接收到数据报文时,确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识;
根据所述目标策略标识,对所述数据报文进行流量控制。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述目标策略标识,对所述数据报文进行流量控制之前,还包括:
采用所述目标策略标识,对所述数据报文进行标记;
所述根据所述目标策略标识,对所述数据报文进行流量控制包括:
确定所述目标策略标识对应的目标流量控制策略;
按照所述目标流量控制策略,对所述数据报文进行流量控制。
3.根据权利要求2所述的方法,其特征在于,所述采用所述目标策略标识,对所述数据报文进行标记包括:
确定所述数据报文中的目标结构成员;
采用所述目标策略标识,对所述目标结构成员进行赋值。
4.根据权利要求1或2或3所述的方法,其特征在于,所述数据报文为位于互联网中的第一设备针对位于视联网中的第二设备发送的报文,在所述根据所述目标策略标识,对所述数据报文进行流量控制之前,还包括:
采用预置的视联网协议,对所述数据报文进行封装。
5.根据权利要求1所述的方法,其特征在于,每个流量控制策略对应一HTB队列,所述策略标识为所述HTB队列的队列标识。
6.根据权利要求1所述的方法,其特征在于,所述流量控制策略包括流量控制范围。
7.根据权利要求1所述的方法,其特征在于,所述路由设备的操作系统为Linux系统。
8.一种流量控制的装置,其特征在于,应用于路由设备,包括:
流量控制策略创建模块,用于创建多个流量控制策略;其中,每个流量控制策略对应一策略标识;
策略标识关系建立模块,用于建立多个策略标识与所述路由设备中多个虚拟隧道的对应关系;
目标策略标识确定模块,用于在接收到数据报文时,确定针对所述数据报文的目标虚拟隧道,并确定所述目标虚拟隧道对应的目标策略标识;
流量控制模块,用于根据所述目标策略标识,对所述数据报文进行流量控制。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的流量控制的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的流量控制的方法的步骤。
CN202010323518.4A 2020-04-22 2020-04-22 一种流量控制的方法和装置 Pending CN111669337A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010323518.4A CN111669337A (zh) 2020-04-22 2020-04-22 一种流量控制的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010323518.4A CN111669337A (zh) 2020-04-22 2020-04-22 一种流量控制的方法和装置

Publications (1)

Publication Number Publication Date
CN111669337A true CN111669337A (zh) 2020-09-15

Family

ID=72382766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010323518.4A Pending CN111669337A (zh) 2020-04-22 2020-04-22 一种流量控制的方法和装置

Country Status (1)

Country Link
CN (1) CN111669337A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422395A (zh) * 2020-10-28 2021-02-26 视联动力信息技术股份有限公司 一种数据传输方法、装置、终端设备和存储介质
CN113709056A (zh) * 2021-08-26 2021-11-26 无锡沐创集成电路设计有限公司 内存流量控制方法、装置、存储介质及电子设备
CN114301772A (zh) * 2021-12-28 2022-04-08 中国电信股份有限公司 流量控制方法、装置、电子设备和可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034029A1 (zh) * 2014-09-01 2016-03-10 华为技术有限公司 业务流量的处理方法和装置
WO2017124708A1 (zh) * 2016-01-18 2017-07-27 中兴通讯股份有限公司 一种隧道流量控制方法、装置和网络管理系统
CN107547432A (zh) * 2017-08-28 2018-01-05 新华三信息安全技术有限公司 一种流量控制方法及装置
CN108092909A (zh) * 2016-11-21 2018-05-29 中国移动通信有限公司研究院 数据流量控制方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034029A1 (zh) * 2014-09-01 2016-03-10 华为技术有限公司 业务流量的处理方法和装置
WO2017124708A1 (zh) * 2016-01-18 2017-07-27 中兴通讯股份有限公司 一种隧道流量控制方法、装置和网络管理系统
CN108092909A (zh) * 2016-11-21 2018-05-29 中国移动通信有限公司研究院 数据流量控制方法、装置及系统
CN107547432A (zh) * 2017-08-28 2018-01-05 新华三信息安全技术有限公司 一种流量控制方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422395A (zh) * 2020-10-28 2021-02-26 视联动力信息技术股份有限公司 一种数据传输方法、装置、终端设备和存储介质
CN113709056A (zh) * 2021-08-26 2021-11-26 无锡沐创集成电路设计有限公司 内存流量控制方法、装置、存储介质及电子设备
CN114301772A (zh) * 2021-12-28 2022-04-08 中国电信股份有限公司 流量控制方法、装置、电子设备和可读介质

Similar Documents

Publication Publication Date Title
CN109547163B (zh) 一种数据传输速率的控制方法和装置
CN109818960B (zh) 数据处理方法和装置
CN110049341B (zh) 视频处理方法和装置
CN111669337A (zh) 一种流量控制的方法和装置
CN110602039A (zh) 一种数据获取方法和系统
CN110557319B (zh) 一种基于视联网的报文处理方法及装置
CN110113557B (zh) 一种多级会议实现方法和视联网系统
CN109347844B (zh) 一种设备接入互联网的方法及装置
CN110650147A (zh) 数据获取方法和系统
CN110545244A (zh) 一种报文分发的方法及装置
CN111478791B (zh) 一种数据管理方法和装置
CN110830826A (zh) 视频转码设备调度方法及系统
CN111211982B (zh) 数据转发方法及装置、电子设备、存储介质
CN110266577B (zh) 一种隧道建立方法和视联网系统
CN110336710B (zh) 一种终端的测试方法、系统及装置和存储介质
CN110740087B (zh) 报文传输方法、终端、网关设备、电子设备及存储介质
CN110493149B (zh) 一种报文处理的方法和装置
CN109889516B (zh) 一种会话通道的建立方法及装置
CN109862439B (zh) 数据处理方法和装置
CN109769012B (zh) 一种Web服务器的访问方法和装置
CN110677315A (zh) 一种状态监控的方法和系统
CN110650169A (zh) 一种终端设备升级方法和装置
CN110636110B (zh) 一种监控数据调流方法和装置
CN110557687B (zh) 一种组播数据包的处理方法、装置及存储介质
CN110493311B (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