CN105227422B - 一种基于聚合网口的视频数据传输方法和装置 - Google Patents
一种基于聚合网口的视频数据传输方法和装置 Download PDFInfo
- Publication number
- CN105227422B CN105227422B CN201510552682.1A CN201510552682A CN105227422B CN 105227422 B CN105227422 B CN 105227422B CN 201510552682 A CN201510552682 A CN 201510552682A CN 105227422 B CN105227422 B CN 105227422B
- Authority
- CN
- China
- Prior art keywords
- virtual network
- network port
- physical internet
- internet ports
- ports
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于聚合网口的视频数据传输方法和装置,该方法包括:接收视频数据;对视频数据中携带的地址信息和虚拟网口的数量进行HASH处理,根据HASH处理结果从多个虚拟网口中选择一个虚拟网口;通过已选择的虚拟网口查询预先配置的映射关系表;如果映射关系表中存在已选择的虚拟网口,则通过已选择的虚拟网口在映射关系表中对应的物理网口发送视频数据;如果映射关系表中不存在已选择的虚拟网口,则选择对应虚拟网口数量最少的物理网口,在映射关系表中记录已选择的虚拟网口与物理网口之间的对应关系,并通过所述物理网口发送所述视频数据。通过本发明的技术方案,避免出现HASH处理结果不均衡的问题,减少视频数据的丢包。
Description
技术领域
本发明涉及视频监控领域,尤其涉及一种基于聚合网口的视频数据传输方法和装置。
背景技术
如图1所示,为视频监控***的组网示意图。在视频监控***中,媒体服务器从监控设备(如前端摄像机和后端硬盘录像机等)采集视频数据,重新对视频数据进行封装,并将封装后的视频数据发送给网络设备。网络设备将视频数据发送给存储服务器,存储服务器存储自身收到的视频数据。
在通常情况下,为了实现链路保护和负载分担,网络设备上会配置多个与存储服务器连接的物理网口,并将这多个物理网口配置为聚合网口。基于此,则网络设备在向存储服务器发送视频数据时,将利用视频数据的源MAC(Media Access Control,媒体访问控制)地址、目的MAC地址、物理网口的数量进行HASH(散列)处理,例如,HASH((源MAC地址XOR目的MAC地址)%物理网口的数量),XOR表示异或。基于HASH处理结果,网络设备会通过聚合网口中的一个物理网口向存储服务器发送视频数据。
但是,在上述方式下,由于媒体服务器的数量不会很多,物理网口的数量也不会很多,基于HASH算法的特点,容易造成HASH处理结果的不均衡,最终会导致丢包。例如,媒体服务器的数量为4,物理网口的数量为4时,很可能会出现以下情况:媒体服务器1的视频数据和媒体服务器2的视频数据被网络设备通过物理网口1发送给存储服务器,媒体服务器3的视频数据和媒体服务器4的视频数据被网络设备通过物理网口2发送给存储服务器。因此,物理网口1和物理网口2会传输大量的视频数据,从而造成丢包,与此同时,物理网口3和物理网口4没有视频数据传输,造成资源的浪费。
发明内容
本发明的目的是提供一种基于聚合网口的视频数据传输方法和装置,使得网络设备能够均衡的从多个物理网口发送视频数据。
为实现上述目的,本发明提供一种基于聚合网口的视频数据传输方法,应用在网络设备上,在网络设备上配置多个虚拟网口,将多个物理网口配置为聚合网口,虚拟网口的数量大于物理网口的数量,所述方法包括以下步骤:
接收视频数据;
对所述视频数据中携带的地址信息和虚拟网口的数量进行HASH处理,并根据HASH处理结果从所述多个虚拟网口中选择一个虚拟网口;
通过已选择的虚拟网口查询预先配置的映射关系表,其中,所述映射关系表中记录了虚拟网口与物理网口之间的对应关系;
如果所述映射关系表中存在所述已选择的虚拟网口,则通过所述已选择的虚拟网口在所述映射关系表中对应的物理网口发送所述视频数据;
如果所述映射关系表中不存在所述已选择的虚拟网口,则选择对应虚拟网口数量最少的物理网口,在所述映射关系表中记录所述已选择的虚拟网口与所述物理网口之间的对应关系,并通过所述物理网口发送所述视频数据。
所述视频数据中携带的地址信息包括以下之一或者任意组合:源媒体访问控制MAC地址、目的MAC地址、源IP地址、目的IP地址。
所述方法进一步包括:当有物理网口发生故障时,通过故障的物理网口查询所述映射关系表,得到故障的物理网口所对应的虚拟网口,并从所述映射关系表中删除故障的物理网口与查询得到的虚拟网口之间的对应关系;为所述查询得到的虚拟网口选择对应虚拟网口数量最少的物理网口,并在所述映射关系表中记录所述查询得到的虚拟网口与选择的物理网口之间的对应关系。
所述方法进一步包括:在得到故障的物理网口所对应的虚拟网口之后,在预先配置的故障信息表中记录故障的物理网口与所述查询得到的虚拟网口之间的对应关系;当故障的物理网口已经故障恢复时,通过故障恢复的物理网口查询所述故障信息表,得到故障恢复的物理网口所对应的虚拟网口;
从所述故障信息表中删除故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,在所述映射关系表中记录故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,并从所述映射关系表中删除当前得到的虚拟网口与故障恢复的物理网口之外的其它物理网口之间的对应关系。
所述方法进一步包括:
当在所述聚合网口内配置新的物理网口时,确定对应虚拟网口数量最多的物理网口,并从所述对应虚拟网口数量最多的物理网口所对应的多个虚拟网口中选择虚拟网口;在所述映射关系表中记录所述新的物理网口与当前选择的虚拟网口之间的对应关系,并从所述映射关系表中删除所述对应虚拟网口数量最多的物理网口与当前选择的虚拟网口之间的对应关系。
本发明提供一种基于聚合网口的视频数据传输装置,应用在网络设备上,在所述网络设备上配置多个虚拟网口,并将多个物理网口配置为聚合网口,其中,虚拟网口的数量大于物理网口的数量,所述装置具体包括:
接收模块,用于接收视频数据;
HASH模块,用于对视频数据中携带的地址信息和虚拟网口的数量进行HASH处理,并根据HASH处理结果从多个虚拟网口中选择一个虚拟网口;
查询模块,用于通过已选择的虚拟网口查询预先配置的映射关系表,其中,所述映射关系表中记录了虚拟网口与物理网口之间的对应关系;
处理模块,用于当所述映射关系表中存在所述已选择的虚拟网口时,则通过所述已选择的虚拟网口在所述映射关系表中对应的物理网口发送所述视频数据;当所述映射关系表中不存在所述已选择的虚拟网口时,则选择对应虚拟网口数量最少的物理网口,在所述映射关系表中记录所述已选择的虚拟网口与所述物理网口之间的对应关系,并通过所述物理网口发送所述视频数据。
所述视频数据中携带的地址信息包括以下之一或者任意组合:源媒体访问控制MAC地址、目的MAC地址、源IP地址、目的IP地址。
所述处理模块,还用于当有物理网口发生故障时,通过故障的物理网口查询所述映射关系表,得到故障的物理网口所对应的虚拟网口,并从所述映射关系表中删除故障的物理网口与查询得到的虚拟网口之间的对应关系;为所述查询得到的虚拟网口选择对应虚拟网口数量最少的物理网口,并在所述映射关系表中记录所述查询得到的虚拟网口与选择的物理网口之间的对应关系。
所述处理模块,还用于在得到故障的物理网口所对应的虚拟网口之后,在预先配置的故障信息表中记录故障的物理网口与所述查询得到的虚拟网口之间的对应关系;当故障的物理网口已经故障恢复时,通过故障恢复的物理网口查询所述故障信息表,得到故障恢复的物理网口所对应的虚拟网口;
从所述故障信息表中删除故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,在所述映射关系表中记录故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,并从所述映射关系表中删除当前得到的虚拟网口与故障恢复的物理网口之外的其它物理网口之间的对应关系。
所述处理模块,还用于当在聚合网口内配置新的物理网口时,确定对应虚拟网口数量最多的物理网口,从所述对应虚拟网口数量最多的物理网口对应的多个虚拟网口中选择虚拟网口;在所述映射关系表中记录所述新的物理网口与当前选择的虚拟网口之间的对应关系,从所述映射关系表中删除所述对应虚拟网口数量最多的物理网口与当前选择的虚拟网口之间的对应关系。
基于上述技术方案,本发明实施例中,通过在网络设备上配置远大于物理网口的数量的多个虚拟网口,使得虚拟网口的数量会很多,基于HASH算法的特点,在利用虚拟网口的数量进行HASH处理时,基于HASH处理结果可以均衡的选择虚拟网口,避免出现HASH处理结果不均衡的问题。而且,针对选择的每个虚拟网口,均是选择对应虚拟网口数量最少的物理网口,因此,每个物理网口所对应的虚拟网口的数量是均衡的,从而使得网络设备能够均衡的从多个物理网口发送视频数据,减少视频数据的丢包。
附图说明
图1是视频监控***的组网示意图;
图2是本发明实施方式中基于聚合网口的视频数据传输方法的流程图;
图3是本发明实施方式中的网络设备的硬件结构图;
图4是本发明实施方式中基于聚合网口的视频数据传输装置的结构图。
具体实施方式
针对现有技术中存在的问题,本发明实施例中提出一种基于聚合网口的视频数据传输方法,该方法应用在网络设备上。以图1的视频监控***为本发明实施例的应用场景示意图,在视频监控***中可以包括监控设备(如前端摄像机和后端硬盘录像机等)、媒体服务器、网络设备(如交换机或者路由器等)和存储服务器。其中,媒体服务器的数量可以为多个,以4个媒体服务器为例进行说明。为了实现链路保护和负载分担,网络设备上会配置多个与存储服务器连接的物理网口,并将这多个物理网口配置为聚合网口。其中,物理网口的数量可以根据实际需要进行选择,以4个物理网口为例进行说明。
如图2所示,该基于聚合网口的视频数据传输方法可以包括以下步骤:
步骤201,接收视频数据。
其中,该视频数据是指需要通过聚合网口发送的视频数据。
其中,媒体服务器在从监控设备采集到视频数据后,重新对视频数据进行封装,并将封装后的视频数据发送给网络设备。在此基础上,网络设备可以接收到需要通过聚合网口发送的视频数据,该视频数据的源MAC地址为媒体服务器的MAC地址,目的MAC地址为聚合网口的MAC地址。
步骤202,对视频数据中携带的地址信息和虚拟网口的数量进行HASH处理,并根据HASH处理结果从多个虚拟网口中选择一个虚拟网口。
其中,视频数据中携带的地址信息具体包括但不限于以下之一或者任意组合:源MAC地址、目的MAC地址、源IP地址、目的IP地址。为了方便描述,以利用视频数据中携带的源MAC地址和目的MAC地址进行HASH处理为例,对于其它地址信息的组合,HASH处理过程类似,后续不再赘述。
本发明实施例中,在网络设备上配置多个虚拟网口,且虚拟网口的数量大于物理网口的数量,如虚拟网口的数量是物理网口的数量的N倍,如6倍。
在一种具体实现方式中,虚拟网口的数量可以根据实际经验任意选择,如选择的虚拟网口的数量是大于指定数值的数量,该指定数值的大小可以根据HASH算法的均衡需求决定。例如,HASH算法为HASH((源MAC地址XOR目的MAC地址)%特定数值)时,如果特定数值为大于20的数值时,可以保证HASH处理结果比较均衡,则指定数值可以为20,且选择的虚拟网口的数量是大于20的数量,如在网络设备上配置25个虚拟网口。
本发明实施例中,在对视频数据的源MAC地址、目的MAC地址和虚拟网口的数量进行HASH处理时,可以采用如下方式进行HASH处理:HASH((源MAC地址XOR目的MAC地址)%虚拟网口的数量),XOR表示异或。基于HASH处理结果,网络设备从多个虚拟网口中选择一个虚拟网口。
在上述方式下,虽然媒体服务器的数量(决定源MAC地址的数量)不会很多,而且目的MAC地址均为聚合网口的MAC地址,但是由于虚拟网口的数量很多,因此,基于HASH算法的特点、以及虚拟网口的数量的选择方式,可以保证HASH处理结果比较均衡,避免出现HASH冲突。
假设:媒体服务器1的MAC地址(即源MAC地址)为0x000fe26205d3,媒体服务器2的MAC地址为0x0019b9e31cf0,媒体服务器3的MAC地址为0x004423e44400,媒体服务器4的MAC地址为0x000423c9e0b3,且聚合网口的MAC地址(即目的MAC地址)为48:EA:63:01:8D:74。
在已知技术中,HASH((0x000fe26205d3 XOR 48:EA:63:01:8D:74)%4)的处理结果为3,HASH((0x0019b9e31cf0 XOR 48:EA:63:01:8D:74)%4)的处理结果为0,HASH((0x004423e44400 XOR 48:EA:63:01:8D:74)%4)的处理结果为0,HASH((0x000423c9e0b3XOR 48:EA:63:01:8D:74)%4)的处理结果为3。因此,来自媒体服务器1和媒体服务器4的视频数据的HASH处理结果为物理网口4,来自媒体服务器2和媒体服务器3的视频数据的HASH处理结果为物理网口1,HASH处理结果不均衡,出现HASH冲突。
而本发明中,HASH((0x000fe26205d3 XOR 48:EA:63:01:8D:74)%25)的处理结果为17,HASH((0x0019b9e31cf0 XOR 48:EA:63:01:8D:74)%25)的处理结果为1,HASH((0x004423e44400 XOR 48:EA:63:01:8D:74)%25)的处理结果为16,HASH((0x000423c9e0b3 XOR 48:EA:63:01:8D:74)%25)的处理结果为22,即四个HASH处理结果对应4个不同的虚拟网口。其中,来自媒体服务器1的视频数据的HASH处理结果为虚拟网口18,来自媒体服务器2的视频数据的HASH处理结果为虚拟网口2,来自媒体服务器3的视频数据的HASH处理结果为虚拟网口17,来自媒体服务器4的视频数据的HASH处理结果为虚拟网口23。基于此,由于虚拟网口的数量25比较多,因此可以保证HASH处理结果比较均衡,避免出现HASH冲突。
其中,%表示取余数。对源MAC地址和目的MAC地址进行XOR处理时,将源MAC地址转换为二进制数值,将目的MAC地址转换为二进制数值,对源MAC地址的二进制数值和目的MAC地址的二进制数值进行XOR处理。
步骤203,通过已选择的虚拟网口查询预先配置的映射关系表,其中,该映射关系表中记录了虚拟网口与物理网口之间的对应关系。
如果映射关系表中存在该已选择的虚拟网口,则执行步骤204;如果映射关系表中不存在该已选择的虚拟网口,则执行步骤205。
步骤204,通过已选择的虚拟网口在映射关系表中对应的物理网口发送视频数据。
步骤205,选择对应虚拟网口数量最少的物理网口,在映射关系表中记录已选择的虚拟网口与该物理网口之间的对应关系,并通过该物理网口发送视频数据。
例如,在第一次收到来自媒体服务器1的视频数据时,根据HASH处理结果选择虚拟网口18,由于映射关系表中不存在虚拟网口18,因此选择对应虚拟网口数量最少的物理网口。由于物理网口1、物理网口2、物理网口3和物理网口4均没有对应虚拟网口,即这4个物理网口对应虚拟网口数量均为0,因此从这4个物理网口中任意选择一个物理网口,假设选择物理网口1,则在映射关系表中记录虚拟网口18与物理网口1之间的对应关系,如表1所示,并通过物理网口1发送视频数据。再次收到来自媒体服务器1的视频数据时,根据HASH处理结果选择虚拟网口18,由于映射关系表中存在虚拟网口18,利用虚拟网口18在映射关系表中对应的物理网口1发送视频数据。
表1
物理网口 | 虚拟网口 |
物理网口1 | 虚拟网口18 |
物理网口2 | |
物理网口3 | |
物理网口4 |
在第一次接收到来自媒体服务器2的视频数据时,根据HASH处理结果选择虚拟网口2,由于映射关系表中不存在虚拟网口2,因此,选择对应虚拟网口数量最少的物理网口。由于物理网口2、物理网口3和物理网口4均没有对应虚拟网口,即这3个物理网口对应虚拟网口数量均为0,因此,从这3个物理网口中任意选择一个物理网口,假设选择物理网口2,则在映射关系表中记录虚拟网口2与物理网口2之间的对应关系,如表2所示,并通过该物理网口2发送视频数据。当再次收到来自媒体服务器2的视频数据时,根据HASH处理结果选择虚拟网口2,由于映射关系表中存在虚拟网口2,则利用该虚拟网口2在映射关系表中对应的物理网口2发送视频数据。
表2
物理网口 | 虚拟网口 |
物理网口1 | 虚拟网口18 |
物理网口2 | 虚拟网口2 |
物理网口3 |
物理网口4 |
在第一次接收到来自媒体服务器3的视频数据时,根据HASH处理结果选择虚拟网口17,由于映射关系表中不存在虚拟网口17,因此,选择对应虚拟网口数量最少的物理网口。由于物理网口3和物理网口4均没有对应虚拟网口,即这2个物理网口对应虚拟网口数量均为0,因此,从这2个物理网口中任意选择一个物理网口,假设选择物理网口3,则在映射关系表中记录虚拟网口17与物理网口3之间的对应关系,如表3所示,并通过该物理网口3发送视频数据。当再次接收到来自媒体服务器3的视频数据时,则根据HASH处理结果选择虚拟网口17,由于映射关系表中存在虚拟网口17,则利用该虚拟网口17在映射关系表中对应的物理网口3发送视频数据。
表3
物理网口 | 虚拟网口 |
物理网口1 | 虚拟网口18 |
物理网口2 | 虚拟网口2 |
物理网口3 | 虚拟网口17 |
物理网口4 |
在第一次收到来自媒体服务器4的视频数据时,根据HASH处理结果选择虚拟网口23,由于映射关系表中不存在虚拟网口23,因此选择对应虚拟网口数量最少的物理网口。由于物理网口4是对应虚拟网口数量最少的物理网口,在映射关系表中记录虚拟网口23与物理网口4之间的对应关系,如表4所示,并通过物理网口4发送视频数据。再次收到来自媒体服务器4的视频数据时,根据HASH处理结果选择虚拟网口23,由于映射关系表中存在虚拟网口23,利用虚拟网口23在映射关系表中对应的物理网口4发送视频数据。
表4
物理网口 | 虚拟网口 |
物理网口1 | 虚拟网口18 |
物理网口2 | 虚拟网口2 |
物理网口3 | 虚拟网口17 |
物理网口4 | 虚拟网口23 |
在维护表4所示的映射关系表之后,网络设备可以通过物理网口1将来自媒体服务器1的视频数据发送给存储服务器,通过物理网口2将来自媒体服务器2的视频数据发送给存储服务器,通过物理网口3将来自媒体服务器3的视频数据发送给存储服务器,通过物理网口4将来自媒体服务器4的视频数据发送给存储服务器。显然,不同的媒体服务器的视频数据被通过不同的物理网口发送给存储服务器,使得网络设备能够均衡的从多个物理网口发送视频数据,避免造成物理网口资源的浪费,减少视频数据的丢包。
基于上述技术方案,本发明实施例中,通过在网络设备上配置远大于物理网口的数量的多个虚拟网口,使得虚拟网口的数量会很多,基于HASH算法的特点,在利用虚拟网口的数量进行HASH处理时,基于HASH处理结果可以均衡的选择虚拟网口,避免出现HASH处理结果不均衡的问题。而且,针对选择的每个虚拟网口,均是选择对应虚拟网口数量最少的物理网口,因此,每个物理网口所对应的虚拟网口的数量是均衡的,从而使得网络设备能够均衡的从多个物理网口发送视频数据,减少视频数据的丢包。
本发明实施例中,当有物理网口发生故障(down)时,则通过故障的物理网口查询映射关系表,得到该故障的物理网口所对应的虚拟网口,并从映射关系表中删除该故障的物理网口与当前查询得到的虚拟网口之间的对应关系。为当前查询得到的虚拟网口选择对应虚拟网口数量最少的物理网口,并在映射关系表中记录当前查询得到的虚拟网口与当前选择的物理网口之间的对应关系。
当有物理网口发生故障时,由于虚拟网口的数量不会发生变化,因此,不同媒体服务器的视频数据对应的虚拟网口也不会发生变化,在此情况下,只需要调整物理网口与虚拟网口之间的对应关系即可,即将故障的物理网口对应的每一个虚拟网口分配给对应虚拟网口数量最少的物理网口。
假设映射关系表如表5所示,当物理网口1发生故障时,则通过物理网口1查询表5的映射关系表,得到物理网口1对应的虚拟网口为虚拟网口1、虚拟网口2和虚拟网口3。如表6所示,针对虚拟网口1,从映射关系表中删除物理网口1与虚拟网口1之间的对应关系,从对应虚拟网口数量最少的物理网口(即物理网口2、物理网口3、物理网口4)中为虚拟网口1选择一个物理网口2,在映射关系表中记录虚拟网口1与物理网口2之间的对应关系。针对虚拟网口2,从映射关系表中删除物理网口1与虚拟网口2之间的对应关系,从对应虚拟网口数量最少的物理网口(即物理网口3、物理网口4)中为虚拟网口2选择一个物理网口3,在映射关系表中记录虚拟网口2与物理网口3之间的对应关系。针对虚拟网口3,从映射关系表中删除物理网口1与虚拟网口3之间的对应关系,为虚拟网口3选择对应虚拟网口数量最少的物理网口4,在映射关系表中记录虚拟网口3与物理网口4之间的对应关系。
表5
物理网口 | 虚拟网口 |
物理网口1 | 虚拟网口1、虚拟网口2、虚拟网口3 |
物理网口2 | 虚拟网口4、虚拟网口5 |
物理网口3 | 虚拟网口6、虚拟网口7 |
物理网口4 | 虚拟网口8、虚拟网口9 |
表6
物理网口 | 虚拟网口 |
物理网口1 | |
物理网口2 | 虚拟网口4、虚拟网口5、虚拟网口1 |
物理网口3 | 虚拟网口6、虚拟网口7、虚拟网口2 |
物理网口4 | 虚拟网口8、虚拟网口9、虚拟网口3 |
本发明实施例中,当有物理网口发生故障时,在得到故障的物理网口所对应的虚拟网口之后,还可以在预先配置的故障信息表中记录故障的物理网口与查询得到的虚拟网口之间的对应关系。当故障的物理网口已经故障恢复(up)时,通过故障恢复的物理网口查询故障信息表,得到该故障恢复的物理网口所对应的虚拟网口。从故障信息表中删除该故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,并在映射关系表中记录该故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,并从映射关系表中删除当前得到的虚拟网口与该故障恢复的物理网口之外的其它物理网口之间的对应关系。
例如,当物理网口1发生故障时,在得到物理网口1对应的虚拟网口为虚拟网口1、虚拟网口2和虚拟网口3之后,在预先配置的故障信息表中记录物理网口1与虚拟网口1、虚拟网口2和虚拟网口3之间的对应关系。当物理网口1已经故障恢复时,则通过物理网口1查询故障信息表,得到物理网口1对应的虚拟网口为虚拟网口1、虚拟网口2和虚拟网口3,并从故障信息表中删除物理网口1与虚拟网口1、虚拟网口2和虚拟网口3之间的对应关系。基于表6所示的映射关系表,在映射关系表中重新记录物理网口1与虚拟网口1、虚拟网口2和虚拟网口3之间的对应关系,并从映射关系表中删除虚拟网口1与物理网口2之间的对应关系,并从映射关系表中删除虚拟网口2与物理网口3之间的对应关系,并从映射关系表中删除虚拟网口3与物理网口4之间的对应关系,最终得到表5所示的映射关系表。
本发明实施例中,当在聚合网口内配置新的物理网口时,则确定对应虚拟网口数量最多的物理网口,并从对应虚拟网口数量最多的物理网口所对应的多个虚拟网口中选择虚拟网口(一个或多个)。在映射关系表中记录新的物理网口与当前选择的虚拟网口之间的对应关系,并从映射关系表中删除对应虚拟网口数量最多的物理网口与当前选择的虚拟网口之间的对应关系。
当在聚合网口内配置新的物理网口时,由于虚拟网口的数量不会发生变化,因此,不同媒体服务器的视频数据对应的虚拟网口也不会发生变化,不需要删除该聚合网口,也不需要重新创建该聚合网口,只是将新的物理网口添加到该聚合网口即可。在此情况下,如果收到来自媒体服务器的视频数据,且根据HASH处理结果选择的虚拟网口在映射关系表中没有对应的物理网口,则在选择对应虚拟网口数量最少的物理网口时,可能会选择到该新的物理网口(此时新的物理网口对应虚拟网口数量为0);或者,从对应虚拟网口数量最多的物理网口所对应的多个虚拟网口中选择虚拟网口,将选择的虚拟网口迁移到该新的物理网口,即在映射关系表中记录新的物理网口与当前选择的虚拟网口之间的对应关系,并从映射关系表中删除对应虚拟网口数量最多的物理网口与当前选择的虚拟网口之间的对应关系。
综上所述,本发明实施例中,当聚合网口内有物理网口发生故障,或者在聚合网口内配置新的物理网口时,均不需要删除该聚合网口,也不需要重新创建该聚合网口,从而可以实现在线动态增删聚合网口内的物理网口。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种基于聚合网口的视频数据传输装置,应用在网络设备上。其中,该基于聚合网口的视频数据传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明提出的基于聚合网口的视频数据传输装置所在的网络设备的一种硬件结构图,除了图3所示的处理器、网络接口、内存以及非易失性存储器外,网络设备还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲,该网络设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图4所示,为本发明提出的基于聚合网口的视频数据传输装置的结构图,该基于聚合网口的视频数据传输装置应用在网络设备上,在网络设备上配置多个虚拟网口,并将多个物理网口配置为聚合网口,虚拟网口的数量大于物理网口的数量,所述基于聚合网口的视频数据传输装置具体包括:
接收模块11,用于接收视频数据;
HASH模块12,用于对视频数据中携带的地址信息和虚拟网口的数量进行HASH处理,并根据HASH处理结果从多个虚拟网口中选择一个虚拟网口;
查询模块13,用于通过已选择的虚拟网口查询预先配置的映射关系表,其中,所述映射关系表中记录了虚拟网口与物理网口之间的对应关系;
处理模块14,用于当所述映射关系表中存在所述已选择的虚拟网口时,则通过所述已选择的虚拟网口在所述映射关系表中对应的物理网口发送所述视频数据;当所述映射关系表中不存在所述已选择的虚拟网口时,则选择对应虚拟网口数量最少的物理网口,在所述映射关系表中记录所述已选择的虚拟网口与所述物理网口之间的对应关系,并通过所述物理网口发送所述视频数据。
所述视频数据中携带的地址信息包括以下之一或者任意组合:源媒体访问控制MAC地址、目的MAC地址、源IP地址、目的IP地址。
所述处理模块14,还用于当有物理网口发生故障时,通过故障的物理网口查询所述映射关系表,得到故障的物理网口所对应的虚拟网口,并从所述映射关系表中删除故障的物理网口与查询得到的虚拟网口之间的对应关系;为所述查询得到的虚拟网口选择对应虚拟网口数量最少的物理网口,并在所述映射关系表中记录所述查询得到的虚拟网口与选择的物理网口之间的对应关系。
所述处理模块14,还用于在得到故障的物理网口所对应的虚拟网口之后,在预先配置的故障信息表中记录故障的物理网口与所述查询得到的虚拟网口之间的对应关系;当故障的物理网口已经故障恢复时,通过故障恢复的物理网口查询所述故障信息表,得到故障恢复的物理网口所对应的虚拟网口;
从所述故障信息表中删除故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,在所述映射关系表中记录故障恢复的物理网口与当前得到的虚拟网口之间的对应关系,并从所述映射关系表中删除当前得到的虚拟网口与故障恢复的物理网口之外的其它物理网口之间的对应关系。
所述处理模块14,还用于在聚合网口内配置新的物理网口时,确定对应虚拟网口数量最多的物理网口,从所述对应虚拟网口数量最多的物理网口对应的多个虚拟网口中选择虚拟网口;在所述映射关系表中记录所述新的物理网口与当前选择的虚拟网口之间的对应关系,从所述映射关系表中删除所述对应虚拟网口数量最多的物理网口与当前选择的虚拟网口之间的对应关系。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种基于聚合网口的视频数据传输方法,应用在网络设备上,其特征在于,在网络设备上配置多个虚拟网口,并将多个物理网口配置为聚合网口,其中,虚拟网口的数量大于物理网口的数量,所述方法包括以下步骤:
接收视频数据;
对所述视频数据中携带的地址信息和虚拟网口的数量进行HASH处理,并根据HASH处理结果从所述多个虚拟网口中选择一个虚拟网口;
通过已选择的虚拟网口查询预先配置的映射关系表,其中,所述映射关系表中记录了虚拟网口与物理网口之间的对应关系;
如果所述映射关系表中存在所述已选择的虚拟网口与物理网口之间的对应关系,则通过所述已选择的虚拟网口在所述映射关系表中对应的物理网口发送所述视频数据;
如果所述映射关系表中不存在所述已选择的虚拟网口与物理网口之间的对应关系,则选择对应虚拟网口数量最少的物理网口,在所述映射关系表中记录所述已选择的虚拟网口与所述对应虚拟网口数量最少的物理网口之间的对应关系,并通过所述物理网口发送所述视频数据。
2.根据权利要求1所述的方法,其特征在于,
所述视频数据中携带的地址信息包括以下之一或者任意组合:源媒体访问控制MAC地址、目的MAC地址、源IP地址、目的IP地址。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当有物理网口发生故障时,通过故障的物理网口查询所述映射关系表,得到故障的物理网口所对应的虚拟网口,并从所述映射关系表中删除故障的物理网口与查询得到的虚拟网口之间的对应关系;
为所述查询得到的虚拟网口选择对应虚拟网口数量最少的物理网口,并在所述映射关系表中记录所述查询得到的虚拟网口与选择的物理网口之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
在得到故障的物理网口所对应的虚拟网口之后,在预先配置的故障信息表中记录故障的物理网口与所述查询得到的虚拟网口之间的对应关系;
当故障的物理网口已经故障恢复时,通过故障恢复的物理网口查询所述故障信息表,得到故障恢复的物理网口所对应的虚拟网口;
从所述故障信息表中删除故障恢复的物理网口与当前查询得到的虚拟网口之间的对应关系,在所述映射关系表中记录故障恢复的物理网口与当前查询得到的虚拟网口之间的对应关系,并从所述映射关系表中删除当前查询得到的虚拟网口与故障恢复的物理网口之外的其它物理网口之间的对应关系。
5.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当在所述聚合网口内配置新的物理网口时,确定对应虚拟网口数量最多的物理网口,并从所述对应虚拟网口数量最多的物理网口所对应的多个虚拟网口中选择虚拟网口;在所述映射关系表中记录所述新的物理网口与当前选择的虚拟网口之间的对应关系,并从所述映射关系表中删除所述对应虚拟网口数量最多的物理网口与当前选择的虚拟网口之间的对应关系。
6.一种基于聚合网口的视频数据传输装置,应用在网络设备上,其特征在于,在所述网络设备上配置多个虚拟网口,并将多个物理网口配置为聚合网口,其中,虚拟网口的数量大于物理网口的数量,所述装置具体包括:
接收模块,用于接收视频数据;
HASH模块,用于对视频数据中携带的地址信息和虚拟网口的数量进行HASH处理,并根据HASH处理结果从多个虚拟网口中选择一个虚拟网口;
查询模块,用于通过已选择的虚拟网口查询预先配置的映射关系表,其中,所述映射关系表中记录了虚拟网口与物理网口之间的对应关系;
处理模块,用于当所述映射关系表中存在所述已选择的虚拟网口与物理网口之间的对应关系时,则通过所述已选择的虚拟网口在所述映射关系表中对应的物理网口发送所述视频数据;当所述映射关系表中不存在所述已选择的虚拟网口与物理网口之间的对应关系时,则选择对应虚拟网口数量最少的物理网口,在所述映射关系表中记录所述已选择的虚拟网口与所述对应虚拟网口数量最少的物理网口之间的对应关系,并通过所述物理网口发送所述视频数据。
7.根据权利要求6所述的装置,其特征在于,
所述视频数据中携带的地址信息包括以下之一或者任意组合:源媒体访问控制MAC地址、目的MAC地址、源IP地址、目的IP地址。
8.根据权利要求6所述的装置,其特征在于,
所述处理模块,还用于当有物理网口发生故障时,通过故障的物理网口查询所述映射关系表,得到故障的物理网口所对应的虚拟网口,并从所述映射关系表中删除故障的物理网口与查询得到的虚拟网口之间的对应关系;为所述查询得到的虚拟网口选择对应虚拟网口数量最少的物理网口,并在所述映射关系表中记录所述查询得到的虚拟网口与选择的物理网口之间的对应关系。
9.根据权利要求8所述的装置,其特征在于,
所述处理模块,还用于在得到故障的物理网口所对应的虚拟网口之后,在预先配置的故障信息表中记录故障的物理网口与所述查询得到的虚拟网口之间的对应关系;当故障的物理网口已经故障恢复时,通过故障恢复的物理网口查询所述故障信息表,得到故障恢复的物理网口所对应的虚拟网口;
从所述故障信息表中删除故障恢复的物理网口与当前查询得到的虚拟网口之间的对应关系,在所述映射关系表中记录故障恢复的物理网口与当前查询得到的虚拟网口之间的对应关系,并从所述映射关系表中删除当前查询得到的虚拟网口与故障恢复的物理网口之外的其它物理网口之间的对应关系。
10.根据权利要求6所述的装置,其特征在于,
所述处理模块,还用于当在聚合网口内配置新的物理网口时,确定对应虚拟网口数量最多的物理网口,从所述对应虚拟网口数量最多的物理网口对应的多个虚拟网口中选择虚拟网口;在所述映射关系表中记录所述新的物理网口与当前选择的虚拟网口之间的对应关系,从所述映射关系表中删除所述对应虚拟网口数量最多的物理网口与当前选择的虚拟网口之间的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510552682.1A CN105227422B (zh) | 2015-09-01 | 2015-09-01 | 一种基于聚合网口的视频数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510552682.1A CN105227422B (zh) | 2015-09-01 | 2015-09-01 | 一种基于聚合网口的视频数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227422A CN105227422A (zh) | 2016-01-06 |
CN105227422B true CN105227422B (zh) | 2018-11-13 |
Family
ID=54996129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510552682.1A Active CN105227422B (zh) | 2015-09-01 | 2015-09-01 | 一种基于聚合网口的视频数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105227422B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341336B (zh) * | 2016-08-29 | 2019-10-25 | 锐捷网络股份有限公司 | 一种通过聚合口转发报文的方法和装置 |
CN114244723A (zh) * | 2021-09-29 | 2022-03-25 | 浙江国利网安科技有限公司 | 一种服务流量模拟方法、装置和服务流量模拟器 |
CN116248595B (zh) * | 2023-03-15 | 2024-02-02 | 安超云软件有限公司 | 一种云内网与物理网通信的方法、装置、设备以及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355483A (zh) * | 2008-08-27 | 2009-01-28 | 成都市华为赛门铁克科技有限公司 | 一种多网口发送数据包的方法和设备 |
CN101547154A (zh) * | 2009-05-06 | 2009-09-30 | 烽火通信科技股份有限公司 | 一种trunk分发方法 |
CN102437956A (zh) * | 2011-12-16 | 2012-05-02 | 福建星网锐捷网络有限公司 | 上链聚合端口的流量均衡方法、装置及设备 |
EP2784985A1 (en) * | 2011-12-29 | 2014-10-01 | Huawei Technologies Co., Ltd. | Cloud computing system and method for managing storage resources therein |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8036229B2 (en) * | 2007-10-08 | 2011-10-11 | Cisco Technology, Inc. | Switch with virtual network identifier re-write capability |
US8842670B2 (en) * | 2010-12-21 | 2014-09-23 | Cisco Technology, Inc. | Scaling number of virtual links in a fiber channel forwarder device |
-
2015
- 2015-09-01 CN CN201510552682.1A patent/CN105227422B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355483A (zh) * | 2008-08-27 | 2009-01-28 | 成都市华为赛门铁克科技有限公司 | 一种多网口发送数据包的方法和设备 |
CN101547154A (zh) * | 2009-05-06 | 2009-09-30 | 烽火通信科技股份有限公司 | 一种trunk分发方法 |
CN102437956A (zh) * | 2011-12-16 | 2012-05-02 | 福建星网锐捷网络有限公司 | 上链聚合端口的流量均衡方法、装置及设备 |
EP2784985A1 (en) * | 2011-12-29 | 2014-10-01 | Huawei Technologies Co., Ltd. | Cloud computing system and method for managing storage resources therein |
Non-Patent Citations (2)
Title |
---|
《云计算环境中多核多进程负载均衡技术的研究与应用》;吴和生;《中国博士学位论文全文数据库信息科技辑》;20140515;全文 * |
《基于网络处理器的高性能路由器转发面的设计与实现》;王鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105227422A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131379B (zh) | 一种分布式流量采集***和边缘计算方法 | |
US9998340B2 (en) | Method and system to monitor a network | |
CN105591923A (zh) | 一种转发表项的存储方法和装置 | |
CN109787827B (zh) | 一种cdn网络监控的方法及装置 | |
CN104640114B (zh) | 一种访问请求的验证方法及装置 | |
CN106027595A (zh) | 用于cdn节点的访问日志处理方法及*** | |
CN105227422B (zh) | 一种基于聚合网口的视频数据传输方法和装置 | |
CN109561164B (zh) | Nat表项的管理方法、装置及nat设备 | |
CN103731307A (zh) | 一种针对多业务的标准化数据面动态重构方法 | |
CN112887229B (zh) | 一种会话信息同步方法及装置 | |
CN104869155A (zh) | 数据审计方法及装置 | |
CN102130839B (zh) | 一种数据传输方法和设备 | |
CN105490843A (zh) | 一种信息处理方法及*** | |
CN111741508B (zh) | 建立通信连接的方法、控制器、转发设备、设备及介质 | |
CN109039764B (zh) | 一种分布式存储***的网络参数配置方法 | |
CN114830080B (zh) | 数据分发流程配置方法及装置、电子设备、存储介质 | |
WO2020078381A1 (zh) | 数据汇聚方法、装置、设备、存储介质和*** | |
CN106911769B (zh) | 云平台路由数据的处理方法和云平台的物理服务器 | |
US11425014B2 (en) | Scalable in-band telemetry metadata extraction | |
CN109982034A (zh) | 视频监控***中的访问请求处理方法及装置 | |
US11070614B2 (en) | Load balancing method and related apparatus | |
CN110708177B (zh) | 分布式***中的异常处理方法、***和装置 | |
CN107294986B (zh) | 一种访问https网站的方法、装置及*** | |
CN109714208A (zh) | 一种设备纳入网管的方法、存储介质及电子设备 | |
CN108768849A (zh) | 报文处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |