两层私网下媒体流控制方法及装置转让专利

申请号 : CN201410116432.9

文献号 : CN103888734B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周迪任俊峰

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

摘要 :

本发明提供一种两层私网下媒体流控制方法及装置,该方法包括:在接收到监控平台设备的注册响应报文时,从该响应报文中获取监控前端设备的公网IP地址,并通过UPnP协议获取路由器出口IP地址,保存本地IP地址、路由器出口IP地址以及公网IP地址对应关系;在接收到监控平台设备的地址请求报文时,从该请求报文中获取监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址;将所述监控前端设备的IP地址与所述监控客户端设备的IP地址进行比较,确定所述监控前端设备发送媒体流报文的目的IP地址。本发明自适应的选择收发流的IP地址,让流量以最短的路径建立连接,以便降低网络延时及带宽浪费。

权利要求 :

1.一种两层私网下媒体流控制装置,该装置应用于监控系统的监控前端设备上,所述监控系统包括监控前端设备、监控平台设备以及监控客户端设备,其特征在于,该装置包括:

前端地址获取单元,用于在接收到监控平台设备的注册响应报文时,判断所述注册响应报文中是否携带所述监控前端设备的公网IP地址,若所述注册响应报文中携带所述监控前端设备的公网IP地址,则从该注册响应报文中获取监控前端设备的公网IP地址,若所述注册响应报文中未携带所述监控前端设备的公网IP地址,则将所述监控前端设备的本地IP地址作为所述监控前端设备的公网IP地址,并通过UPnP协议获取路由器出口IP地址,保存本地IP地址、路由器出口IP地址以及公网IP地址对应关系,其中,所述注册响应报文中携带的监控前端设备的公网IP地址为所述监控平台设备在接收到所述监控前端设备发送的注册报文后,确定所述监控前端设备处于私网中时,将所述监控前端设备的公网IP地址携带在所述注册响应报文中发送给所述监控前端设备;

客户端地址接收单元,用于在接收到监控平台设备的地址请求报文时,从该请求报文中获取监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址,其中,所述监控客户端设备的公网IP地址为所述监控平台设备在接收到所述监控客户端设备发送的注册报文后,确定所述监控客户端设备处于私网中时,将所述监控客户端设备的公网IP地址携带在发送给所述监控客户端设备的注册响应报文中,若所述监控客户端设备确认接收到的注册响应报文中携带所述监控客户端设备的公网IP地址,则从该注册响应报文中获取监控客户端设备的公网IP地址,若所述监控客户端设备确认接收到的注册响应报文中未携带所述监控客户端设备的公网IP地址,则将所述监控客户端设备的本地IP地址作为所述监控客户端设备的公网IP地址,所述监控客户端设备通过UPnP协议获取所述监控客户端设备的路由器出口IP地址,保存所述监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址对应关系,当所述监控平台设备接收到所述监控客户端设备的实况请求报文时,向所述监控客户端设备发送地址请求报文,所述监控客户端设备根据接收到的地址请求报文向所述监控平台设备返回携带所述监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址的地址响应报文;

媒体流路径确认单元,用于将所述监控前端设备的IP地址与所述监控客户端设备的IP地址进行比较,若所述监控前端设备的公网IP地址与所述监控客户端设备的公网IP地址不同,则将所述监控客户端设备的公网IP地址作为目的IP地址发送媒体流报文;若所述监控前端设备的公网IP地址与所述监控客户端设备的公网IP地址相同,所述监控前端设备的路由器出口IP地址与所述监控客户端设备的路由器出口IP地址不同,则将所述监控客户端设备的路由器出口IP地址作为目的IP地址发送媒体流报文;若所述监控前端设备的公网IP地址与所述监控客户端设备的公网IP地址相同,所述监控前端设备的路由器出口IP地址与所述监控客户端设备的路由器出口IP地址相同,所述监控前端设备的本地IP地址与所述监控客户端设备的本地IP地址不同,则将所述监控客户端设备的本地IP地址作为目的IP地址发送媒体流报文。

2.一种两层私网下媒体流控制方法,该方法应用于监控系统的监控前端设备上,所述监控系统包括监控前端设备、监控平台设备以及监控客户端设备,其特征在于,该方法包括:

步骤A,在接收到监控平台设备的注册响应报文时,判断所述注册响应报文中是否携带所述监控前端设备的公网IP地址,若所述注册响应报文中携带所述监控前端设备的公网IP地址,则从该注册响应报文中获取监控前端设备的公网IP地址,若所述注册响应报文中未携带所述监控前端设备的公网IP地址,则将所述监控前端设备的本地IP地址作为所述监控前端设备的公网IP地址,并通过UPnP协议获取路由器出口IP地址,保存本地IP地址、路由器出口IP地址以及公网IP地址对应关系,其中,所述注册响应报文中携带的监控前端设备的公网IP地址为所述监控平台设备在接收到所述监控前端设备发送的注册报文后,确定所述监控前端设备处于私网中时,将所述监控前端设备的公网IP地址携带在所述注册响应报文中发送给所述监控前端设备;

步骤B,在接收到监控平台设备的地址请求报文时,从该请求报文中获取监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址,其中,所述监控客户端设备的公网IP地址为所述监控平台设备在接收到所述监控客户端设备发送的注册报文后,确定所述监控客户端设备处于私网中时,将所述监控客户端设备的公网IP地址携带在发送给所述监控客户端设备的注册响应报文中,若所述监控客户端设备确认接收到的注册响应报文中携带所述监控客户端设备的公网IP地址,则从该注册响应报文中获取监控客户端设备的公网IP地址,若所述监控客户端设备确认接收到的注册响应报文中未携带所述监控客户端设备的公网IP地址,则将所述监控客户端设备的本地IP地址作为所述监控客户端设备的公网IP地址,所述监控客户端设备通过UPnP协议获取所述监控客户端设备的路由器出口IP地址,保存所述监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址对应关系,当所述监控平台设备接收到所述监控客户端设备的实况请求报文时,向所述监控客户端设备发送地址请求报文,所述监控客户端设备根据接收到的地址请求报文向所述监控平台设备返回携带所述监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址的地址响应报文;

步骤C,将所述监控前端设备的IP地址与所述监控客户端设备的IP地址进行比较,若所述监控前端设备的公网IP地址与所述监控客户端设备的公网IP地址不同,则将所述监控客户端设备的公网IP地址作为目的IP地址发送媒体流报文;若所述监控前端设备的公网IP地址与所述监控客户端设备的公网IP地址相同,所述监控前端设备的路由器出口IP地址与所述监控客户端设备的路由器出口IP地址不同,则将所述监控客户端设备的路由器出口IP地址作为目的IP地址发送媒体流报文;若所述监控前端设备的公网IP地址与所述监控客户端设备的公网IP地址相同,所述监控前端设备的路由器出口IP地址与所述监控客户端设备的路由器出口IP地址相同,所述监控前端设备的本地IP地址与所述监控客户端设备的本地IP地址不同,则将所述监控客户端设备的本地IP地址作为目的IP地址发送媒体流报文。

说明书 :

两层私网下媒体流控制方法及装置

技术领域

[0001] 本发明涉及视频监控领域,尤其涉及一种两层私网下媒体流控制方法及装置。

背景技术

[0002] 随着监控行业的发展,跨广域网的监控互联需求日益增加,而广域网接入必然会使用NAT技术,甚至会出现多层NAT的现象。如图1所示,存在多层NAT时,视频管理服务器VM能获取到监控前端IPC和监控客户端XP的最外层注册IP地址,而IPC和XP仅知道自己的私网地址。
[0003] XP需要实况IPC的图像时,首先向VM发送实况请求报文,VM接收到该实况请求报文后,向XP发送地址请求报文,XP向VM发送自己的接收流IP地址和端口号。VM再向IPC发送地址请求报文,IPC向VM发送自己的发送流IP地址和端口号。当两个IP地址都为私网地址时,若VM直接将这两个IP地址通知对方,则无法建立实况连接,譬如图1中的IPC1和XP2分别处于不同的二级私网中,使用私网地址无法直接进行通讯。若VM将IPC和XP注册的公网地址通知对方,则会导致相同私网下的媒体流在公网上进行绕行,譬如图1中的IPC1和XP1。

发明内容

[0004] 有鉴于此,本发明提供了一种两层私网下媒体流控制装置,该装置应用于监控系统的监控前端设备上,所述监控系统包括监控前端设备、监控平台设备以及监控客户端设备,该装置包括:
[0005] 前端地址获取单元,用于在接收到监控平台设备的注册响应报文时,从该响应报文中获取监控前端设备的公网IP地址,并通过UPnP协议获取路由器出口IP地址,保存本地IP地址、路由器出口IP地址以及公网IP地址对应关系;
[0006] 客户端地址接收单元,用于在接收到监控平台设备的地址请求报文时,从该请求报文中获取监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址;
[0007] 媒体流路径确认单元,用于将所述监控前端设备的IP地址与所述监控客户端设备的IP地址进行比较,确定所述监控前端设备发送媒体流报文的目的IP地址。
[0008] 本发明提供了一种两层私网下媒体流控制方法,该方法应用于监控系统的监控前端设备上,所述监控系统包括监控前端设备、监控平台设备以及监控客户端设备,该方法包括:
[0009] 步骤A,在接收到监控平台设备的注册响应报文时,从该响应报文中获取监控前端设备的公网IP地址,并通过UPnP协议获取路由器出口IP地址,保存本地IP地址、路由器出口IP地址以及公网IP地址对应关系;
[0010] 步骤B,在接收到监控平台设备的地址请求报文时,从该请求报文中获取监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址;
[0011] 步骤C,将所述监控前端设备的IP地址与所述监控客户端设备的IP地址进行比较,确定所述监控前端设备发送媒体流报文的目的IP地址。
[0012] 本发明根据监控前端和监控客户端的位置,自适应的选择收发流的IP地址,让流量以最短的路径建立连接,以便降低网络延时及带宽浪费。

附图说明

[0013] 图1是双私网监控系统图以及现有技术方案中媒体流绕行示意图。
[0014] 图2是本发明一种实施方式中监控前端设备上两层私网下媒体流控制装置的逻辑结构及其基础硬件环境的示意图。
[0015] 图3是本发明一种实施方式中监控前端设备上两层私网下媒体流控制方法的流程图。
[0016] 图4是本发明一种实施方式中监控系统的系统图。
[0017] 图5是本发明一种实施方式中监控系统的媒体流路径选择示意图。

具体实施方式

[0018] 以下结合附图对本发明进行详细说明。
[0019] 本发明提供一种两层私网下媒体流控制装置,该装置应用于监控系统的监控前端设备上,该监控系统包括监控前端设备、监控平台设备以及监控客户端设备,以下以软件实现为例进行说明,但是本发明并不排除诸如硬件或者逻辑器件等其他实现方式。如图2所示,该监控前端设备包括CPU、内存、非易失性存储器以及其他硬件。该两层私网下媒体流控制装置作为一个逻辑层面的虚拟装置,其通过CPU来运行。该装置包括前端地址获取单元、客户端地址接收单元以及媒体流路径确认单元。请参考图3,该装置的使用和运行过程包括以下步骤:
[0020] 步骤101,前端地址获取单元用于在接收到监控平台设备的注册响应报文时,从该响应报文中获取监控前端设备的公网IP地址,并通过UPnP协议获取路由器出口IP地址,保存本地IP地址、路由器出口IP地址以及公网IP地址对应关系;
[0021] 步骤102,客户端地址接收单元用于在接收到监控平台设备的地址请求报文时,从该请求报文中获取监控客户端设备的本地IP地址、路由器出口IP地址以及公网IP地址;
[0022] 步骤103,媒体流路径确认单元用于将所述监控前端设备的IP地址与所述监控客户端设备的IP地址进行比较,确定所述监控前端设备发送媒体流报文的目的IP地址。
[0023] 请参考图4,该图给出了示例性系统图,根据实际组网需求会有所变化。该监控系统主要包括视频管理VM服务器、路由器、监控前端设备IPC以及监控客户端设备XP。现以该监控系统为例介绍本发明的具体实施过程。
[0024] 首先,启动IPC和出口路由器的UPnP功能,IPC通过UPnP协议自动获取路由器的出口IP地址,若IPC处于公网中,无对应的出口路由器,则路由器出口IP地址默认为IPC的本地IP地址。
[0025] IPC在进行实况前需向VM服务器发起注册,发送的注册报文中携带IPC的本地IP地址和路由器出口IP地址。VM服务器接收到该注册报文后,判断该IPC所处网络位置,若IPC处于私网中,则VM服务器在应答报文中携带IPC注册时的公网IP地址发送给IPC。
[0026] 由于VM服务器只针对私网中的IPC设备,在其应答报文中携带注册的公网IP地址,因此,当IPC接收到VM服务器的应答报文时,若该应答报文中携带公网IP地址,则记录该公网IP地址,若该应答报文没有携带公网IP地址,则说明IPC处于公网中,注册的公网IP地址默认为IPC的本地IP地址。
[0027] IPC在获取到本地IP地址、路由器出口IP地址以及公网IP地址后,保存上述IP地址。如图4所示,处于二级私网中的IPC1,其本地IP地址为IP01,路由器出口IP地址为IP11,公网IP地址为IP21。
[0028] 同理,XP在进行实况前也需要向VM服务器发起注册,处理过程同IPC,通过注册过程获取XP的本地IP地址、路由器出口IP地址以及公网IP地址,并保存上述IP地址。如图4所示,处于二级私网中的XP4,其本地IP地址为XP08,路由器出口IP地址为IP14,公网IP地址为IP22。
[0029] 当XP需要实况IPC时,首先向VM服务器发送实况请求报文。同时,XP分配一个本地端口号,并通过UPnP协议获得路由器出口的端口号,公网端口号的获取通过向VM服务器发送媒体流路径探测报文,VM服务器将该报文的源端口号发送给XP,作为XP的公网端口号。
[0030] 同理,IPC在接收到VM服务器的实况请求时,采用与XP同样的处理方法,获取本地端口号、路由器出口端口号以及公网端口号。
[0031] VM服务器在接收到XP的实况请求后,向XP发送地址请求报文,以获取XP的地址信息。XP将本地IP地址和端口号、路由器出口IP地址和端口号以及公网IP地址和端口号携带在响应报文中发送给VM服务器。
[0032] VM服务器在获取到XP的地址信息后,将上述地址信息携带在地址请求报文中发送给IPC,IPC接收到该报文后,将报文中携带的XP的地址信息与其自身的地址信息进行比较,最终确定IPC发送媒体流报文时的目的IP地址和端口号,以及XP可以接收的媒体流报文的源IP地址和端口号,并将该结果发送给VM服务器。VM服务器将XP可以接收的媒体流报文的源IP地址和端口号发送给XP,通知XP接收该源IP地址和端口号发送的媒体流,再通知IPC向已确定的目的IP地址和端口号发送媒体流报文。
[0033] 在上述IPC与XP地址比较过程中,将IPC的公网IP地址与XP的公网IP地址进行对比,IPC的路由器出口IP地址与XP的路由器出口IP地址进行对比,IPC的本地IP地址与XP的本地IP地址进行对比,参见表1。
[0034]
[0035] 表1为媒体流报文IP地址确定关系表。在进行比较时,从IPC和XP的公网IP地址开始比较,若公网IP地址不同,说明IPC与XP之间的实况传输需跨越公网,则以XP的公网IP地址和端口号作为媒体流报文的目的IP地址和端口号发送媒体流报文,同时,监控平台设备在接收到IPC返回的确认结果后,通知XP接收该IPC公网IP地址和端口号作为源IP地址和端口号的媒体流报文;若公网IP地址相同,则进一步比较路由器出口IP地址,若路由器出口IP地址不同,说明IPC与XP之间的实况传输需跨越一级私网,则以XP的路由器出口IP地址和端口号作为媒体流报文的目的IP地址和端口号发送媒体流报文,同时,监控平台设备在接收到IPC返回的确认结果后,通知XP接收该IPC路由器出口IP地址和端口号作为源IP地址和端口号的媒体流报文;若公网IP地址和路由器出口IP地址都相同,则进一步比较本地IP地址,若本地IP地址不同,说明IPC与XP处于同一私网内,则以XP的本地IP地址和端口号作为媒体流报文的目的IP地址和端口号发送媒体流报文,同时,监控平台设备在接收到IPC返回的确认结果后,通知XP接收该IPC本地IP地址和端口号作为源IP地址和端口号的媒体流报文。
[0036] 现以具体实施例说明媒体流路径选择的过程。如图4所示,XP1、XP2以及XP4在对IPC1进行实况请求前,获取本地IP地址,并向VM服务器发起注册,通过注册获取公网IP地址,通过UPnP协议获取路由器出口IP地址,XP1、XP2以及XP4将地址信息通过VM服务器转发给IPC1,IPC1将接收的地址信息分别与自身的IP地址进行比较,选择最佳的媒体流传输路径,参见表2。
[0037]设备名称 本地IP地址 路由器出口IP地址 公网IP地址
IPC1 IP01 IP11 IP21
XP1 IP02 IP11 IP21
XP2 IP04 IP12 IP21
XP4 IP08 IP14 IP22
[0038] 表2为监控设备的IP地址对应关系表。当XP4请求实况IPC1时,首先比较公网IP地址,公网IP地址不同,因此,IPC1将XP4的公网IP地址IP22作为目的IP地址发送媒体流报文,同时,XP4在接收到媒体流报文时,判断该报文的源IP地址是否为IPC1的公网IP地址IP21,若是,则接收该媒体流报文;当XP2请求实况IPC1时,公网IP地址相同,路由器出口IP地址不同,因此,IPC1将XP2的路由器出口IP地址IP12作为目的IP地址发送媒体流报文,同时,XP2在接收到媒体流报文时,判断该报文的源IP地址是否为IPC1的路由器出口IP地址IP11,若是,则接收该媒体流报文;当XP1请求实况IPC1时,公网IP地址和路由器出口IP地址都相同,本地IP地址不同,因此,IPC1将XP1的本地IP地址IP02作为目的IP地址发送媒体流报文,同时,XP1在接收到媒体流报文时,判断该报文的源IP地址是否为IPC1的本地IP地址IP01,若是,则接收该媒体流报文。连接示意图如图5所示。
[0039] 通过上述处理过程可以看出,本发明根据监控前端和监控客户端的位置,自适应的选择收发流的IP地址,让流量以最短的路径建立连接,以便降低网络延时及带宽浪费。
[0040] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。