一种组播流转发方法及其设备和系统转让专利

申请号 : CN201010611541.X

文献号 : CN102098167B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任俊峰陈乾业顾雷雷周英

申请人 : 浙江宇视科技有限公司

摘要 :

本发明公开了一种组播流转发方法及其设备和系统,本发明针对VC和EC在同一网段的情况,VM通过通知EC进行动态组播VLAN声明以及通知VC进行动态组播VLAN声明,可建立起从EC到VC的通道,组播流可沿该通道从组播源转发到VC,避免了不必要的组播泛洪,减少了带宽资源的占用。针对VC和EC不在同一网段的情况,VM通过通知EC进行动态组播VLAN声明以及通知网关路由器进行动态组播VLAN声明,可建立起从EC到网关路由器,再从网关路由器到VC的通道,组播流可沿该通道从组播源转发到VC,避免了不必要的组播泛洪,减少了带宽资源的占用。

权利要求 :

1.一种组播流转发方法,其特征在于,应用于包含有视频管理服务器VM、视频编码器EC、视频客户端VC、二层设备和三层设备的网络,其中,VM上注册有EC的网关路由器地址,二层设备上启用互联网组管理协议窥探IGMP snooping协议,并在二层交换网络全局启用未知组播广播功能,在EC所在的二层交换网络启用虚拟局域网通用属性注册协议GVRP,该方法包括:VM接收到VC点播EC组播流的请求后,通知所述EC发送组播流,所述EC根据所述通知使用组播VLAN发送组播流,并发送GVRP注册报文以声明所述组播VLAN;

所述VM判断所述VC与所述EC是否在同一网段;如果判断为是,则通知所述VC发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述VC;如果判断为否,则根据所述EC注册到所述VM中的网关路由器地址,通知相应网关路由器发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述网关路由器,然后经三层组播路由达到所述VC。

2.如权利要求1所述的方法,其特征在于,连接网关路由器或VC的二层设备的端口被设置为Hybrid接口,并且允许所有VLAN报文通过,其中,对于动态注册的组播VLAN默认使用untag方式通过,其他接口使用Trunk方式通过。

3.如权利要求1所述的方法,其特征在于,还包括:

所述VM接收所述VC发送的停止点播所述EC的视频流的请求后,若判断所述VC与所述EC在同一个网段,则通知所述VC使用GVRP注销所述组播VLAN;

若所述VM判断所述VC与所述EC不在同一个网段,且不存在其他VC实况调阅所述EC的视频流,或者,虽然存在其他VC实况调阅所述EC的视频流,但该所有其他VC都与该EC在同一个网段,则通知所述EC的网关路由器使用GVRP注销所述组播VLAN。

4.如权利要求1所述的方法,其特征在于,还包括:若所述VM判断不存在其他VC在实况调阅所述EC的视频流,则通知所述EC使用GVRP注销所述组播VLAN。

5.一种VM设备,应用于包含有视频管理服务器VM、编码器EC、视频客户端VC、二层设备和三层设备的网络,其中,所述VM上注册有EC的网关路由器地址,二层设备上启用IGMP snooping协议,并在二层交换网络全局启用未知组播广播功能,在EC所在的二层交换网络上启用GVRP,该VM包括:接口模块,用于接收到VC点播EC的组播流的请求;

判断模块,用于根据所述接口模块接收到的所述请求,判断所述VC与所述EC是否在同一网段;

通知模块,用于在所述接口模块接收到所述请求后,通知所述EC发送组播流,以使所述EC根据该通知使用组播VLAN发送组播流并声明所述组播VLAN;以及,在所述判断模块判断为是时,通知所述VC发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述VC;在所述判断模块判断为否时,根据所述EC注册到该VM中的网关路由器地址,通知相应网关路由器发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述网关路由器,然后经三层组播路由达到所述VC。

6.如权利要求5所述的VM设备,其特征在于,

所述接口模块还用于,接收所述VC发送的停止点播所述EC的视频流的请求;

所述判断模块还用于,在所述接口模块接收到所述VC发送的停止点播所述EC的视频流的请求后,判断所述VC与所述EC是否在同一个网段,并在判断为否时,判断是否存在其他VC实况调阅所述EC的视频流,以及在判断为存在时还判断所述其他VC与该EC是否在同一个网段;

所述通知模块还用于,若所述判断模块判断所述VC与所述EC在同一个网段,则通知所述VC使用GVRP注销所述组播VLAN;若所述判断模块判断所述VC与所述EC不在同一个网段,且不存在其他VC实况调阅所述EC的视频流,或者,虽然存在其他VC实况调阅所述EC的视频流,但该所有其他VC都与该EC在同一个网段,则通知所述EC的网关路由器使用GVRP注销所述组播VLAN。

7.如权利要求5所述的VM设备,其特征在于,所述通知模块还用于,在所述判断模块判断不存在其他VC在实况调阅所述EC的视频流时,通知所述EC使用GVRP注销所述组播VLAN。

8.一种视频监控系统,其特征在于,包括视频管理服务器VM、编码器EC、视频客户端VC、二层设备和三层设备,其中:VM上注册有EC的网关路由器地址,所述VM用于在接收到VC点播EC组播流的请求后,通知所述EC发送组播流;以及,判断所述VC与所述EC是否在同一网段;如果判断为是,则通知所述VC声明发送GVRP注册报文;如果判断为否,则根据所述EC注册到所述VM中的网关路由器地址,通知相应网关路由器发送GVRP注册报文;

所述EC,用于根据所述发送组播流的通知,使用组播VLAN发送组播流,并声明所述组播VLAN;

所述VC,用于根据所述声明加入组播VLAN的通知,对所述组播VLAN进行动态声明;

所述网关路由器,用于根据所述声明加入组播VLAN的通知,使用GVRP报文声明注册所述组播VLAN;

所述二层设备上启用IGMP snooping协议,并启用未知组播广播功能,在连接EC的二层设备上启用GVRP;所述二层设备用于根据所述组播VLAN转发所述EC的组播流;

所述三层设备,用于使用三层路由协议转发所述EC的组播流。

9.如权利要求8所述的视频监控系统,其特征在于,所述EC具体用于,在接收到所述EC对所述组播VLAN的声明后,将接收到该声明的端口作为所述EC的组播流在该二层设备上的入端口加入到所述组播VLAN中;在接收到所述VC对所述组播VLAN的声明后,将接收到该声明的端口作为所述EC的组播流在该二层设备上的出端口加入到所述组播VLAN中;

在接收到所述网关路由器注册所述组播VLAN的声明后,将接收到该声明的端口作为所述EC的组播流在该二层设备上的出端口加入到所述组播VLAN中。

10.如权利要求8所述的视频监控系统,其特征在于,连接网关路由器或VC的二层设备的端口被设置为Hybrid接口,并且允许所有VLAN报文通过,其中,对于动态注册的组播VLAN默认使用untag方式通过,其他接口使用Trunk方式通过。

11.如权利要求8所述的视频监控系统,其特征在于,所述VM还用于,在接收所述VC发送的停止点播所述EC的视频流的请求后,若判断所述VC与所述EC在同一个网段,则通知所述VC使用GVRP注销所述组播VLAN;若所述VM判断所述VC与所述EC不在同一个网段,且不存在其他VC实况调阅所述EC的视频流,或者,虽然存在其他VC实况调阅所述EC的视频流,但该所有其他VC都与该EC在同一个网段,则通知所述EC的网关路由器使用GVRP注销所述组播VLAN。

12.如权利要求8所述的视频监控系统,所述VM还用于,若所述VM判断不存在其他VC在实况调阅所述EC的视频流,则通知所述EC使用GVRP注销所述组播VLAN。

说明书 :

一种组播流转发方法及其设备和系统

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种组播流转发方法及其设备和系统。 背景技术
[0002] 随着标准化且易扩展的网络技术和IP技术不断发展,基于IP和网络的智能监控技术得到快速发展。IP监控已经成为目前监控的主流,而组播在IP监控中得到了广泛的运用。
[0003] 在部分监控组播网络中,存在大二层组网,图1示出了一种典型的监控组网结构,其中,分支区域1和分支区域2是二层组网,二层组网中包括较多的二层交换机;各分支区域之间是三层组网(即图中的中心区域)。在部署了监控业务后,监控管理中心会放在中心区域,中心区域中还包括MS(MediaServer,媒体交换服务器),用来接收EC(EnCoder,编码器)发送的单播/组播媒体流,以单播/组播的方式转发和分发给VC(Video Client,视频客户端)进行解码播放;每一个分支区域都会有EC摄像头接入和VC点播者。其中,EC是监控系统中位于前端的视频编码器,可以将模拟视频信号按照指定格式、指定码率进行编码,可以单播或组播给其他客户端点播。VC为监控客户端,可以通过VC进行实况视频监控,也可以对EC指定时间段回放历史视频,也可以通过VC对EC制定存储计划。 [0004] 如果要使用组播监控流,用户需要如下部署:在三层网络,包括每个分支区域的出口路由器和中心区域,启用PIM(Protocol Independent Multicast,协议无关组播)动态路由协议,一般会使用PIM-SM(Protocol IndependentMulticast-Sparse Mode,协议无关组播-稀疏模式);在二层网络,全部配置IGMP snooping(Internet Group Management Protocol Snooping,互联网组管理 协议窥探)协议,防止组播流量在VLAN(Virtual Local Area Network,虚拟局域网)内泛洪。
[0005] 发明人在实现本发明的过程中,发现现有视频监控系统中的组播流转发技术至少存在以下问题:
[0006] 对于运行了IGMP snooping协议的交换机,其收到组播数据时,除了需要向接收者端口转发,也需要向路由端口转发。在这种环境下就会存在带宽浪费和不必要的流量冲击。如图2所示,针对其中的一个分支区域,在FHR(首跳路由器)前面存在部分交换机,当视频点播者VC和视频源EC在同一个二层交换机下面时,视频流除了向视频点播者VC转发外,还会向着路由器端口方向转发,这样流量会被泛洪到其他的交换机和首跳路由器,在没有外网段用户点播时,这些流量其实是不必要的,其所导致的问题主要包括: [0007] (1)第一跳交换机和首跳路由器间的带宽被严重浪费;
[0008] (2)监控流量存在较大的burst(突发)时,交换机的出口缓冲被严重浪费,会影响到网络延时、丢包和抖动;
[0009] (3)不必要的组播流转发会增加能源消耗。
[0010] 因此可以说,在用户网络的接入层存在大量的二层交换机,且视频源和接收者在同一个二层网络中时,网络中会存在不必要的组播泛洪现象。
[0011] 发明内容
[0012] 本发明的目的在于提供一种组播流转发方法及其设备和系统,以避免现有组播流转发过程中不必要的组播泛洪现象,为此,本发明采用如下技术方案: [0013] 一种组播流转发方法,应用于包含有VM、EC、VC、二层设备和三层设备的网络,其中,VM上注册有EC的网关路由器地址,二层设备上启用IGMPsnooping协议,并在二层交换网络全局启用未知组播广播功能,在EC所在的二层交换网络启用GVRP,该方法包括: [0014] VM接收到VC点播EC组播流的请求后,通知所述EC发送组播流,所述 EC根据所述通知使用组播VLAN发送组播流,并发送GVRP注册报文以声明所述组播VLAN; [0015] 所述VM判断所述VC与所述EC是否在同一网段;如果判断为是,则通知所述VC发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述VC;如果判断为否,则根据所述EC注册到所述VM中的网关路由器地址,通知相应网关路由器发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述网关路由器,然后经三层组播路由达到所述VC。
[0016] 上述方法中,连接网关路由器或VC的二层设备的端口被设置为Hybrid接口,并且允许所有VLAN报文通过,其中,对于动态注册的组播VLAN默认使用untag方式通过,其他接口使用Trunk方式通过。
[0017] 上述方法中,还包括:
[0018] 所述VM接收所述VC发送的停止点播所述EC的视频流的请求后,若判断所述VC与所述EC在同一个网段,则通知所述VC使用GVRP注销所述组播VLAN;
[0019] 若所述VM判断所述VC与所述EC不在同一个网段,且不存在其他VC实况调阅所述EC的视频流,或者,虽然存在其他VC实况调阅所述EC的视频流,但该所有其他VC都与该EC在同一个网段,则通知所述EC的网关路由器使用GVRP注销所述组播VLAN。 [0020] 上述方法中,还包括:若所述VM判断不存在其他VC在实况调阅所述EC的视频流,则通知所述EC使用GVRP注销所述组播VLAN。
[0021] 一种VM设备,应用于包含有VM、EC、VC、二层设备和三层设备的网络,其中,所述VM上注册有EC的网关路由器地址,二层设备上启用IGMP snooping协议,并在二层交换网络全局启用未知组播广播功能,在EC所在的二层交换网络上启用GVRP,该VM包括: [0022] 接口模块,用于接收到VC点播EC的组播流的请求;
[0023] 判断模块,用于根据所述接口模块接收到的所述请求,判断所述VC与所 述EC是否在同一网段;
[0024] 通知模块,用于在所述接口模块接收到所述请求后,通知所述EC发送组播流,以使所述EC根据该通知使用组播VLAN发送组播流并声明所述组播VLAN;以及,在所述判断模块判断为是时,通知所述VC发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述VC;在所述判断模块判断为否时,根据所述EC注册到该VM中的网关路由器地址,通知相应网关路由器发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述网关路由器,然后经三层组播路由达到所述VC。
[0025] 上述VM设备中,所述接口模块还用于,接收所述VC发送的停止点播所述EC的视频流的请求;
[0026] 所述判断模块还用于,在所述接口模块接收到所述VC发送的停止点播所述EC的视频流的请求后,判断所述VC与所述EC是否在同一个网段,并在判断为否时,判断是否存在其他VC实况调阅所述EC的视频流,以及在判断为存在时还判断所述其他VC与该EC是否在同一个网段;
[0027] 所述通知模块还用于,若所述判断模块判断所述VC与所述EC在同一个网段,则通知所述VC使用GVRP注销所述组播VLAN;若所述判断模块判断所述VC与所述EC不在同一个网段,且不存在其他VC实况调阅所述EC的视频流,或者,虽然存在其他VC实况调阅所述EC的视频流,但该所有其他VC都与该EC在同一个网段,则通知所述EC的网关路由器使用GVRP注销所述组播VLAN。
[0028] 上述VM设备中,所述通知模块还用于,在所述判断模块判断不存在其他VC在实况调阅所述EC的视频流时,通知所述EC使用GVRP注销所述组播VLAN。
[0029] 一种视频监控系统,包括VM、EC、VC、二层设备和三层设备,其中: [0030] VM上注册有EC的网关路由器地址,所述VM用于在接收到VC点播EC组播流的请求后,通知所述EC发送组播流;以及,判断所述VC与所述EC 是否在同一网段;如果判断为是,则通知所述VC声明发送GVRP注册报文;如果判断为否,则根据所述EC注册到所述VM中的网关路由器地址,通知相应网关路由器发送GVRP注册报文;
[0031] 所述EC,用于根据所述发送组播流的通知,使用组播VLAN发送组播流,并声明所述组播VLAN;
[0032] 所述VC,用于根据所述声明加入组播VLAN的通知,对所述组播VLAN进行动态声明;
[0033] 所述网关路由器,用于根据所述声明加入组播VLAN的通知,使用GVRP报文声明注册所述组播VLAN;
[0034] 所述二层设备上启用IGMP snooping协议,并启用未知组播广播功能,在连接EC的二层设备上启用GVRP;所述二层设备用于根据所述组播VLAN转发所述EC的组播流; [0035] 所述三层设备,用于使用三层路由协议转发所述EC的组播流。 [0036] 上述视频监控系统中,所述EC具体用于,在接收到所述EC对所述组播VLAN的声明后,将接收到该声明的端口作为所述EC的组播流在该二层设备上的入端口加入到所述组播VLAN中;在接收到所述VC对所述组播VLAN的声明后,将接收到该声明的端口作为所述EC的组播流在该二层设备上的出端口加入到所述组播VLAN中;在接收到所述网关路由器注册所述组播VLAN的声明后,将接收到该声明的端口作为所述EC的组播流在该二层设备上的出端口加入到所述组播VLAN中。
[0037] 上述视频监控系统中,连接网关路由器或VC的二层设备的端口被设置为Hybrid接口,并且允许所有VLAN报文通过,其中,对于动态注册的组播VLAN默认使用untag方式通过,其他接口使用Trunk方式通过。
[0038] 上述视频监控系统中,所述VM还用于,在接收所述VC发送的停止点播所述EC的视频流的请求后,若判断所述VC与所述EC在同一个网段,则通知所述VC使用GVRP注销所述组播VLAN;若所述VM判断所述VC与所述 EC不在同一个网段,且不存在其他VC实况调阅所述EC的视频流,或者,虽然存在其他VC实况调阅所述EC的视频流,但该所有其他VC都与该EC在同一个网段,则通知所述EC的网关路由器使用GVRP注销所述组播VLAN。 [0039] 上述视频监控系统中,所述VM还用于,若所述VM判断不存在其他VC在实况调阅所述EC的视频流,则通知所述EC使用GVRP注销所述组播VLAN。
[0040] 本发明的有益技术效果包括:
[0041] 针对VC和EC在同一网段的情况,VM通过通知EC进行动态组播VLAN声明以及通知VC进行动态组播VLAN声明,可建立起从EC到VC的通道,组播流可沿该通道从组播源转发到VC,与现有技术相比,避免了不必要的组播泛洪,减少了带宽资源的占用。针对VC和EC不在同一网段的情况,VM通过通知EC进行动态组播VLAN声明以及通知网关路由器进行动态组播VLAN声明,可建立起从EC到网关路由器,再从网关路由器到VC的通道,组播流可沿该通道从组播源转发到VC,与现有技术相比,避免了不必要的组播泛洪,减少了带宽资源的占用。

附图说明

[0042] 图1为现有技术的IP视频监控网络的通用组网结构示意图;
[0043] 图2为图1所示的组网结构中分支区域组播部署的示意图;
[0044] 图3为本发明实施例提供的组网结构示意图;
[0045] 图4A、图4B和图4C为本发明实施例提供的点播者VC和组播源EC不在同一网段时的组播流转发示意图;
[0046] 图5A、图5B和图5C为本发明实施例提供的点播者VC和组播源EC在同一网段时的组播流转发流程示意图;
[0047] 图6为本发明实施例提供的停止点播的流程示意图;
[0048] 图7为本发明实施例提供的视频管理服务器的结构示意图。

具体实施方式

[0049] 为了避免现有组播流转发过程中的不必要的组播泛洪,本发明实施例提供了一种使用GVRP(GARP VLAN Registration Protocol,GARP VLAN注册协议)进行动态VLAN注册的方法。其中,GARP是Generic Attribute RegistrationProtocol的简称,即通用属性注册协议,可以用来传播属性,GVRP用于注册和注销VLAN属性。
[0050] 总体而言,本发明实施例首先在二层交换网络中启用GVRP功能,在EC上配置组播VLAN,EC在VM注册时将其网关路由器IP地址信息注册到VM上;当VC用户点播视频流时,VM通知EC使用组播VLAN发送组播流,EC在发送组播流的同时,发送声明报文进行组播VLAN注册。如果点播者VC和组播源EC在同一个网段,则VM会通知VC发送GVRP声明,以声明加入该组播VLAN,这样组播流量会经过该组播VLAN到达点播者VC;如果点播者VC和组播源EC不在同一个网段,则VM会通知EC的网关路由器发送GVRP声明,以声明加入该组播VLAN,这样组播流量会经过该组播VLAN到达首跳路由器,然后经三层组播路由达到点播者VC。
[0051] 下面以图3所示的组网结构为例,对本发明实施例进行详细描述。 [0052] 如图3所示,在FHR(首跳路由器)前端有1个或者多个接入二层交换机,如图3中示出的switch1和switch2,其中,switch1的端口port10上连接有EC。VC A与EC不在同一网段,VC B与EC在同一网段。
[0053] 在初始环境下,进行如下配置和规定:
[0054] (1)FHR与其他的路由器(如图3中的Router2)之间运行现有的三层组播路由协议,比如PIM SM(Protocol Independent Multicast-Sparse Mode,协议无关组播-稀疏模式),当然也可以是其他路由协议;
[0055] (2)二层网络全部配置IGMP snooping协议;
[0056] (3)二层交换机上全局启用未知组播广播功能,在静态配置的VLAN中 启用未知组播丢弃功能,这样对于动态VLAN接收到的未知组播报文会向本VLAN内的其他接口转发出去,对于静态VLAN内收到的未知组播报文会被丢弃;
[0057] (4)EC在VM上注册的消息中携带本设备的网关路由器IP地址、本设备的IP地址掩码;
[0058] (5)VC在VM上登录注册时,需要携带本设备的IP地址及掩码;
[0059] (6)连接EC的交换网络中启用GVRP功能;
[0060] (7)预先在VM上为存在组播泛洪网络的EC通道配置组播VLAN。EC在注册时,VM会将该组播VLAN下发给EC。用户通过所在VC点播该EC通道时,EC使用组播VLAN发送组播流。如果是非泛洪网络的EC,则VM上可不需要配置组播VLAN,而是使用现有机制运行即可。
[0061] 进一步的,交换网络中连接路由器或者VC的接口设置为Hybrid口,并且允许所有的VLAN通过,对于动态注册的VLAN默认使用untag的方式通过,其他的所有接口使用Trunk方式通过。
[0062] 下面结合图4A、图4B和图4C对点播者VC和组播源EC不在同一网段时的组播流转发流程进行描述。
[0063] 如图4A所示,该流程可包括:
[0064] 步骤401,VC A向VM发送请求,以请求点播EC的视频流,该请求中携带有VC A的IP地址及其掩码(表示为IP地址/掩码)。
[0065] 步骤402,VM收到该请求后,通知EC发送组播流。
[0066] EC收到通知后,由于其上配置有组播VLAN,因此EC可以以该组播VLAN发送组播流,EC还使用GVRP报文对该VLAN进行动态的声明,接收到该声明的二层设备,将接收到该声明的端口作为该组播流在该二层设备上的入端口加入到所述组播VLAN中。声明完成后,如图4B所示,二层交换机的部分接口(如图4B中的switch1的port10,switch2的port20)加入到该动态VLAN中。但组播流无法向其他的接口上进行转发,因为直连交换机上只有一个入接 口加入了该VLAN(如图4B中的switch1的port10),VLAN内没有出接口。 [0067] 步骤403,VM收到该请求后,还根据VC A的IP地址/掩码与EC的IP地址/掩码判断VC用户是否与EC在同一个网段,如果不在同一网段,则转入步骤404;否则转入图5A所示流程的步骤504。本实施例中,判断结果为不是同一网段。
[0068] 其中,EC在向VM注册时,将其IP地址/掩码,以及该EC的网关路由器(即图中的FHR)IP地址注册到VM上,VM可将EC的IP地址/掩码以及该EC的网关IP地址存储在数据库中。
[0069] 步骤404,VM从数据库中获取该EC的网关路由器IP地址,并使用SNMP(Simple Network Management Protocol,简单网络管理协议)报文通知该网关路由器使用GVRP声明注册该组播VLAN,EC的组播流通过该组播VLAN发送到VC A。
[0070] 接收到该网关路由器声明的二层设备,将接收到该声明的端口作为所述EC的组播流在该二层设备上的出端口加入到所述组播VLAN中。注册成功后,如图4C所示,switch2的端口port21和switch1的端口port12接收到网关路由器的声明报文后,将port21和port12作为组播流的出接口加入到组播VLAN中,这样从EC到FHR之间就建立了一条组播VLAN的隧道。EC的组播流到达直连交换机switch1后,会由于未知组播广播功能,向组播VLAN中所有的接口广播,这样,组播流会经过该VLAN隧道到达FHR,FHR收到组播流后,经过其运行的三层的组播协议转发到VC A。
[0071] 其中,在直连FHR的交换机的出接口上(如图中的switch2的port21),组播报文会由于hybrid接口的untag功能,剥离组播VLAN的tag,让报文以untag的方式发送到FHR,从而使FHR可以正常接收该组播报文。
[0072] 需要说明的是,上述流程中,VM通知EC发送组播流,与VM判断VC和EC是否在同一网段以及根据判断结果所进行的后续处理,在时序上没有严格要求。 [0073] 从以上流程可以看出,在点播者VC和组播源EC不在同一网段的情况下,VM通过通知EC进行动态组播VLAN声明,可在接收到该声明的二层设备上,将该组播流入端口加入到组播VLAN中,通过通知网关路由器进行动态组播声明,可在接收到该声明的二层设备上,将该组播流出端口接入到组播VLAN中,从而建立起从组播源EC到网关路由器,再从网关路由器到点播者VC的通道,组播流可沿该通道从组播源转发到点播者VC,与现有技术相比,避免了不必要的组播泛洪,减少了带宽资源的占用。
[0074] 下面结合图5A和图5B和图5C对点播者VC和组播源EC在同一网段时的组播流转发流程进行描述。
[0075] 如图5A所示,该流程可包括:
[0076] 步骤501,VC B向VM发送请求,以请求点播EC的视频流,该请求中携带有VC A的IP地址及其掩码(表示为IP地址/掩码)。
[0077] 步骤502,VM收到该请求后,通知EC发送组播流。
[0078] EC收到通知后,由于其上配置有组播VLAN,因此EC可以以组播VLAN发送组播流,EC还使用GVRP报文对该VLAN进行动态的声明,接收到该声明的二层设备,将接收到该声明的端口作为该组播流在该二层设备上的入端口加入到所述组播VLAN中。声明完成后,如图5B所示,二层交换机的部分接口(如图5B中的switch1的port10,switch2的port20)加入到该动态VLAN中。但组播流无法向其他的接口上进行转发,因为直连交换机只有一个接口加入了该VLAN(如图5B中的switch1的port10)。
[0079] 步骤503,VM收到该请求后,还根据VC B的IP地址/掩码与EC的IP地址/掩码判断VC用户是否与EC在同一个网段,如果在同一网段,则转入步骤504;否则转入图4A所示流程的步骤404。本实施例中,判断结果为在同一网段。
[0080] 其中,EC在向VM注册时,将其IP地址/掩码,以及该EC的网关路由器IP地址注册到VM上。
[0081] 步骤504,VM通知VC B使用GVRP对该组播VLAN进行动态声明,EC的组播流通过该组播VLAN发送到VC B。
[0082] 接收到VC B声明的二层设备,将接收到该声明的端口作为该组播流在该二层设备上的出端口加入到所述组播VLAN中。声明完成后,交换机的出接口动态注册到VLAN中。如图5C所示,switch1的端口port11接收到VC B的声明报文后,将port11作为组播流的出接口加入到组播VLAN中,这样从EC到VC B之间就建立了一条组播VLAN的隧道。EC的组播流在该组播VLAN内转发到VC B,而不会转到其他的交换机上。
[0083] 其中,在直连VC B的交换机的出接口上(如图中的switch1的port11),组播报文会由于hybrid接口的untag功能,剥离组播VLAN的tag,让报文以untag的方式发送到VC B,从而使VC B可以正常接收该组播报文。
[0084] 需要说明的是,上述流程中,VM通知EC发送组播流,与VM判断VC和EC是否在同一网段以及根据判断结果所进行的后续处理,在时序上没有严格要求。 [0085] 从以上流程可以看出,在点播者VC和组播源EC在同一网段的情况下,VM通过通知EC进行动态组播VLAN声明,可在接收到该声明的二层设备上,将该组播流入端口加入到组播VLAN中,通过通知点播者VC进行动态组播声明,可在接收到该声明的二层设备上,将该组播流出端口接入到组播VLAN中,从而建立起从组播源EC到点播者VC的通道,组播流可沿该通道从组播源转发到点播者VC,与现有技术相比,避免了不必要的组播泛洪,减少了带宽资源的占用。
[0086] 当点播者VC请求停止点视频流时,需要考虑进行动态VLAN的注销,同时也需要考虑是否存在其他的用户在使用该动态VLAN。具体的,该流程可如图6所示,包括: [0087] 步骤601,点播者VC向VM发送请求,以请求停止点播EC的视频流,该请求中携带有该VC的IP地址及其掩码(表示为IP地址/掩码)。
[0088] 步骤602,VM收到该请求后,作如下判断,并根据判断结果进行相应处理: [0089] 步骤603A,VM根据该VC的IP地址/掩码与EC的IP地址/掩码判断该VC与EC在同一个网段,则通知该VC使用GVRP注销该动态的组播VLAN;如果判断为不在同一个网段则不需要通知VC;
[0090] 步骤603B,VM根据该VC的IP地址/掩码与EC的IP地址/掩码判断该VC与EC不在同一个网段,且不存在其他VC实况调阅该EC的视频流(即请求了该EC的视频流),则通知EC的网关路由器使用GVRP注销该动态的组播VLAN;其他情况不需要通知网关路由器;
[0091] 步骤603C,VM根据该VC的IP地址/掩码与EC的IP地址/掩码判断该VC与EC不在同一个网段,虽然存在其他VC实况调阅调阅该EC的视频流,但该所有其他VC都与EC在同一个网段,则通知EC的网关路由器使用GVRP注销该动态的组播VLAN;其他情况不需要通知网关路由器。
[0092] 进一步的,如果不存在其他的VC在实况调阅该EC的视频流,还需要通知EC使用GVRP注销该组播VLAN,其他情况(如存在其他VC实况调阅该EC的视频流时)不通知该EC的网关路由器使用GVRP注销该动态的组播VLAN。
[0093] 基于相同的技术构思,本发明实施例还提供了一种可应用于上述组网结构和流程的视频管理服务器。
[0094] 参见图7,为本发明实施例提供的视频管理服务器(VM)的结构示意图。该VM上注册有EC的网关路由器地址,该VM可包括:
[0095] 接口模块701,用于接收到VC点播EC的组播流的请求;
[0096] 判断模块702,用于根据接口模块701接收到的所述请求,判断所述VC与所述EC是否在同一网段;
[0097] 通知模块703,用于在接口模块701接收到所述请求后,通知所述EC发送组播流,以使所述EC根据该通知使用组播VLAN发送组播流并声明所述组 播VLAN;以及,在判断模块702判断为是时,通知所述VC发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达所述VC;在判断模块702判断为否时,根据所述EC注册到该VM中的网关路由器地址,通知相应网关路由器发送GVRP注册报文,以使所述EC的组播流经所述组播VLAN到达该网关路由器(即首跳路由器),然后经三层组播路由达到所述VC。
[0098] 上述VM设备中,接口模块701还可接收所述VC发送的停止点播所述EC的视频流的请求;相应的,判断模块702还可在接口模块701接收到所述VC发送的停止点播所述EC的视频流的请求后,判断所述VC与所述EC是否在同一个网段,并在判断为否时,判断是否存在其他VC实况调阅所述EC的视频流,以及在判断为存在时还判断所述其他VC与该EC是否在同一个网段;通知模块703还用于:若判断模块702判断所述VC与所述EC在同一个网段,则通知所述VC使用GVRP注销所述组播VLAN;若判断模块702判断所述VC与所述EC不在同一个网段,且不存在其他VC实况调阅所述EC的视频流,或者,虽然存在其他VC实况调阅所述EC的视频流,但该所有其他VC都与该EC在同一个网段,则通知所述EC的网关路由器使用GVRP注销所述组播VLAN。进一步的,通知模块703还可在判断模块702判断不存在其他VC在实况调阅所述EC的视频流时,通知所述EC使用GVRP注销所述组播VLAN。 [0099] 上述VM设备中,所述VM上注册有EC的网关路由器的IP地址及其掩码,所述VC点播EC组播流的请求中携带有该VC的IP地址及其掩码;相应的,判断模块702可根据所述VC的IP地址及其掩码,以及EC的网关路由器的IP地址及其掩码,判断所述VC与所述EC是否在同一网段。
[0100] 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。 [0101] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明 可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0102] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。