发明内容
本发明提供一种数据传输方法和系统,以降低实况流点播流程中MS的性能压力。
为了达到以上目的,本发明实施例提供一种数据传输方法,应用于包括多媒体服务器MS、编码器EC、交换机以及至少两台监控客户端VC的视频监控系统,该方法包括:
VC向MS发送实况点播注册请求,其中携带有VC的IP地址和MAC地址以及目的EC的标识信息;
所述MS根据接收到的实况点播注册请求中携带的目的EC的标识信息为所述VC分配虚拟IP地址和MAC地址,并将该虚拟IP地址和MAC地址通知给所述EC和VC;
所述EC将实况流的目的IP地址和MAC地址分别设置为所述MS通知的虚拟IP地址和虚拟MAC地址,并将所述实况流发送给交换机;
所述交换机根据接收到的实况流中携带的虚拟MAC地址查询对应的MAC表项,并根据该MAC表项进行实况流转发;其中,所述VC接收到所述MS通知的虚拟IP地址和虚拟MAC地址后,定期向交换机发送源IP地址和源MAC地址分别为所述虚拟IP地址和虚拟MAC地址的保活报文,以使所述交换机根据该保活报文以及接收到该保活报文的端口信息建立或维护对应的MAC表项;
当所述VC接收到目的IP地址和目的MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流时,对接收到的实况流进行解析和解码。
所述MS根据接收到的实况点播注册请求中携带的目的EC的标识信息为所述VC分配虚拟IP地址和MAC地址,具体为:
所述MS接收到所述实况点播注册请求后,查询自身存储的转发表项,并判断是否存在对应所述EC的转发表项;若判断为否,则创建对应该EC的转发表项,为该EC分配虚拟IP地址和虚拟MAC地址,并将该虚拟IP地址和虚拟MAC地址分配给所述VC;若判断为是,则为所述VC分配对应该EC的转发表项中的虚拟IP地址和虚拟MAC地址。
所述交换机根据接收到的保活报文以及接收到该保活报文的端口信息建立或维护对应的MAC表项,具体为:
所述交换机查询自身是否存储有所述保活报文中携带的虚拟MAC地址以及接收到该保活报文的端口对应的MAC表项,若判断为否,则根据该虚拟MAC地址以及端口建立对应的MAC表项;若判断为是,则根据该虚拟MAC地址以及端口对对应的MAC表项进行保活。
所述交换机根据该MAC表项进行实况流转发,具体为:
所述交换机将所述目的IP地址和MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流进行单播复制,并向包含所述虚拟MAC地址的MAC表项中的所有端口转发该实况流;其中,所述交换机开启多端口MAC功能。
该方法还包括:
VC向所述MS发送实况点播注销请求,其中携带VC的IP地址和MAC地址以及目的EC的标识信息;
所述MS根据接收到的实况点播注销请求删除对应转发表项中的相应记录,并向所述VC返回注销完成消息;
所述VC接收到所述MS返回的注销完成消息后,停止向所述交换机发送保活报文,并丢弃接收到的目的IP地址和MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流;其中,当所述交换机在预设时长内未接收到VC发送的保活报文时,删除该VC的MAC地址对应的MAC表项。
该方法还包括:
VC向MS发送实况点播注销请求,其中携带VC的IP地址和MAC地址以及目的EC的标识信息;
所述MS根据所述实况点播注销请求中携带的MAC地址查询交换机中对应MAC表项中对应该MAC地址的端口,并判断该端口下是否有其他VC的MAC地址;若判断为否,则指示所述交换机删除该MAC表项;若判断为是,则不进行处理。
本发明实施例还提供一种数据传输系统,包括多媒体服务器MS、编码器EC、交换机以及至少两台监控客户端VC,其中:
MS用于,根据接收到的所述VC发送的实况点播注册请求中携带的目的EC的标识信息为所述VC分配虚拟IP地址和MAC地址,并将该虚拟IP地址和MAC地址通知给所述EC和VC;
所述EC用于,将实况流的目的IP地址和MAC地址分别设置为所述MS通知的虚拟IP地址和虚拟MAC地址,并将所述实况流发送给所述交换机;
所述交换机用于,根据接收到的实况流中携带的虚拟MAC地址查询对应的MAC表项,并根据该MAC表项进行实况流转发;
所述VC用于,接收到所述MS通知的虚拟IP地址和虚拟MAC地址后,定期向交换机发送源IP地址和源MAC地址分别为所述虚拟IP地址和虚拟MAC地址的保活报文,以使所述交换机根据该保活报文以及接收到该保活报文的端口信息建立或维护对应的MAC表项;当所述VC接收到目的IP地址和目的MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流时,对接收到的实况流进行解析和解码。
所述MS具体用于,接收到所述实况点播注册请求后,查询自身存储的转发表项,并判断是否存在对应所述EC的转发表项;若判断为否,则创建对应该EC的转发表项,为该EC分配虚拟IP地址和虚拟MAC地址,并将该虚拟IP地址和虚拟MAC地址分配给所述VC;若判断为是,则为所述VC分配对应该EC的转发表项中的虚拟IP地址和虚拟MAC地址。
所述交换机具体用于,查询自身是否存储有所述保活报文中携带的虚拟MAC地址以及接收到该保活报文的端口对应的MAC表项,若判断为否,则根据该虚拟MAC地址以及端口建立对应的MAC表项;若判断为是,则根据该虚拟MAC地址以及端口对对应的MAC表项进行保活。
所述交换机具体用于,将所述目的IP地址和MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流进行单播复制,并向包含所述虚拟MAC地址的MAC表项中的所有端口转发该实况流;其中,所述交换机开启多端口MAC功能。
所述VC还用于,向MS发送实况点播注销请求,其中携带VC的IP地址和MAC地址以及目的EC的标识信息;当接收到MS返回的注销完成消息后,停止向所述交换机发送保活报文,并丢弃接收到的目的IP地址和MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流;
所述MS还用于,根据接收到的实况点播注销请求删除对应转发表项中的相应记录,并向所述VC返回注销完成消息;
所述交换机还用于,当在预设时长内未接收到VC发送的保活报文时,删除该VC的MAC地址对应的MAC表项。
所述VC还用于,向MS发送实况点播注销请求,其中携带VC的IP地址和MAC地址以及目的EC的标识信息;
所述MS还用于,根据所述实况点播注销请求中携带的MAC地址查询交换机中对应MAC表项中对应该MAC地址的端口,并判断该端口下是否有其他VC的MAC地址;若判断为否,则指示所述交换机删除该MAC表项;若判断为是,则不进行处理。
本发明的有益技术效果包括:
在本发明中,MS为请求实况点播的VC分配虚拟IP地址和MAC地址,并将该虚拟IP地址和虚拟MAC地址通知给EC和VC,以使EC将实况流的目的IP地址和MAC地址分别设置为该虚拟IP地址和虚拟MAC地址,且VC接收到目的IP地址和MAC地址分别为该虚拟IP地址和虚拟MAC地址的实况流时,对该实况流进行解析和解码;其中,交换机设备根据VC发送的源IP地址和MAC地址分别为上述虚拟IP地址和虚拟MAC地址的保活报文,建立或维护该虚拟MAC地址对应的MAC表项,并根据该MAC表项对接收到的实况流进行转发,利用交换机强大的转发功能替代现有技术中的MS实现实况流分发,降低了MS的性能压力。
具体实施方式
针对上述现有技术中存在的问题,本发明实施例提供了一种数据传输的技术方案,应用于包括多媒体服务器MS、编码器EC、交换机以及至少两台监控客户端VC的视频监控系统。在该技术方案中,MS为请求实况点播的VC分配虚拟IP地址和MAC地址,并将该虚拟IP地址和虚拟MAC地址通知给EC和VC,以使EC将实况流的目的IP地址和MAC地址分别设置为该虚拟IP地址和虚拟MAC地址,且VC接收到目的IP地址和MAC地址分别为该虚拟IP地址和虚拟MAC地址的实况流时,对该实况流进行解析和解码;其中,交换机设备根据VC发送的源IP地址和MAC地址分别为上述虚拟IP地址和虚拟MAC地址的保活报文,建立或维护该虚拟MAC地址对应的MAC表项,并根据该MAC表项对接收到的实况流进行转发,利用交换机强大的转发功能替代现有技术中的MS实现实况流分发,降低了MS的性能压力。
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。
如图2所示,为本发明实施例提供的一种数据传输方法的流程示意图,该方法应用于包括MS、EC、交换机以及至少两台VC的视频监控系统(其示意图可以如图1所示),可以包括以下步骤:
步骤201、VC向MS发送实况点播注册请求,其中携带有VC的IP地址和MAC地址以及目的EC的标识信息。
具体的,在视频监控系统中,当监控组网中的VC想要申请实况点播时,需要向MS进行注册,即VC需要向MS发送实况点播注册请求。其中,该实况点播注册请求中至少需要携带VC的IP地址和MAC地址以及目的EC的标识信息(如EC的名称、EC的ID等)。
步骤202、MS根据接收到的实况点播注册请求中携带的目的EC的标识信息为VC分配虚拟IP地址和虚拟MAC地址,并将该虚拟IP地址和MAC地址通知给EC和VC。
具体的,MS接收到VC发送的实况点播注册请求后,MS可以获取该实况点播注册请求中携带的目的EC的标识信息,并判断自身存储的转发表项中是否存在对应该EC的转发表项;若判断为否,则可以创建对应该EC的转发表项,为该EC分配虚拟IP地址和虚拟MAC地址,并将该虚拟IP地址和虚拟MAC地址分配给VC;若判断为是,则为VC分配对应该EC的转发表项中的虚拟IP地址和虚拟MAC地址。
在本发明实施例中,MS中存储的转发表项中可以至少包括:EC的标识信息(如EC的名称)、注册成功的VC的IP地址(注册IP地址)、注册成功的VC的MAC地址(注册MAC地址)、MS为该EC分配的虚拟IP地址(虚拟IP地址)、MS为该EC分配的虚拟MAC地址(虚拟MAC地址),其具体形式可以如表1所示:
表1
其中,MS为申请点播同一EC的实况流的VC分配相同的虚拟IP地址和虚拟MAC地址。
例如,当MS接收到的实况点播请求中携带的目的EC的名称为EC2004206-0004,则MS根据该EC的名称查询自身存储的转发表项,确定自身存储有如表1所示的对应该EC的转发表项,则MS为该申请实况点播的VC分配该转发表项中的虚拟IP地址和虚拟MAC地址(即100.100.100.1和1111-1111-0001)。同时,MS将该VC自身的IP地址(如192.168.100.69)和MAC地址(如0f1b-3175-fd63)记录到该转发表项中,更新后的转发表项可以如表2所示:
表2
步骤203、EC将实况流的目的IP地址和MAC地址分别设置为MS通知的虚拟IP地址和虚拟MAC地址,并将该实况流发送给交换机。
具体的,在本发明实施例中,EC接收到MS通知的虚拟IP地址和虚拟MAC地址后,将实况流的目的IP地址和MAC地址分别封装为该虚拟IP地址和虚拟MAC地址,并将该实况流发送的交换机。
步骤204、交换机根据接收到的实况流中携带的虚拟MAC地址查询对应的MAC表项,并根据该MAC表项进行实况流转发。
具体的,在本发明实施例中,VC接收到MS通知的虚拟IP地址和虚拟MAC地址后(MS可以通过向VC返回携带分配的虚拟IP地址和虚拟MAC地址的注册成功消息的方式通知为该VC分配的虚拟IP地址和虚拟MAC地址),一方面,可以定期地向交换机发送源IP地址和MAC地址分别为虚拟IP地址和虚拟MAC地址的保活报文(如免费ARP(Address Resolution Protocol,地址解析协议)报文),以使交换机根据该保活报文建立或维护对应的MAC表项;另一方面,VC可以根据分配的虚拟IP地址和虚拟MAC地址进行相应配置,以使VC在接收到目的IP地址和MAC地址分别为该虚拟IP地址和虚拟MAC地址的实况流时,能够进行解析和解码。
其中,交换机接收到VC发送的保活报文后,获取其中携带的虚拟MAC地址,并判断自身是否存储有该虚拟MAC地址以及接收到该保活报文的端口对应的MAC表项,若判断为否,则根据该虚拟MAC地址以及端口建立对应的MAC表项;若判断为是,则根据该虚拟MAC地址以及端口对对应的MAC表现进行保活。
交换机接收到实况流后,可以根据该实况流中携带的虚拟MAC地址判断自身是否存储有对应的MAC表项,并当判断为是时,将该实况流进行单播复制,并向包含该虚拟MAC地址的MAC表项中的所有端口转发该实况流,以使所有分配了虚拟IP地址和虚拟MAC地址的VC都能接收到该实况流;否则,交换机可以不对该实况流进行处理。其中,在本发明实施例中,监控组网中的交换机开启多端口MAC功能,交换机接收到VC发送的保活报文时,相同的MAC地址可以同时对应多个端口。
步骤205、当VC接收到目的IP地址和目的MAC地址分别为虚拟IP地址和虚拟MAC地址的实况流时,对接收到的实况流进行解析和解码。
具体的,在本发明实施例中,当VC接收到MS分配的虚拟IP地址和虚拟MAC地址后,可以根据该虚拟IP地址和虚拟MAC地址进行相应的配置,并在接收到目的IP地址和MAC地址分别为该虚拟IP地址和虚拟MAC地址的实况流时,进行解析和解码。
通过以上描述可以看出,在本发明实施例中,MS为请求实况点播的VC分配虚拟IP地址和MAC地址,并将该虚拟IP地址和虚拟MAC地址通知给EC和VC,以使EC将实况流的目的IP地址和MAC地址分别设置为该虚拟IP地址和虚拟MAC地址,且VC接收到目的IP地址和MAC地址分别为该虚拟IP地址和虚拟MAC地址的实况流时,对该实况流进行解析和解码;其中,交换机设备根据VC发送的源IP地址和MAC地址分别为上述虚拟IP地址和虚拟MAC地址的保活报文,建立或维护该虚拟MAC地址对应的MAC表项,并根据该MAC表项对接收到的实况流进行转发,利用交换机强大的转发功能替代现有技术中的MS实现实况流分发,降低了MS的性能压力。同时,由于在本发明实施例中,MS只作为注册及管理设备,不参与实际流量转发,对设备性能要求降低,节约系统成本。
在本发明实施例中,当VC不再需要进行实况点播时,可以向MS请求实况点播注销,以取消相应的实况点播。
相应地,本发明实施例提供的技术方案还可以包括以下步骤,如图3所示:
步骤206、VC向MS发送实况点播注销请求,其中,携带VC的IP地址和MAC地址以及目的EC的标识信息。
步骤207、MS根据接收到的实况点播注销请求删除对应转发表项中的相应记录,并向VC返回注销完成消息。
具体的,MS接收到VC发送的实况点播注销请求后,根据该实况点播注销请求中携带的VC的IP地址和MAC地址以及目的EC的标识信息查询自身存储的转发表项中的相应记录,并将该记录删除。
例如,MS自身存储有表1所示的转发表项,接收到的实况点播注销请求中携带的IP地址和MAC地址以及目的EC的标识信息分别为:192.168.100.161和3127-2154-f1c5以及EC2004_206-0004,则MS删除转发表项中对应的记录,并向VC返回注销成功消息。其中,更新后的转发表项可以如表3所示:
表3
步骤208、VC接收到MS返回的注销完成消息后,停止向交换机发送保活报文,并丢弃接收到的目的IP地址和MAC地址分别为虚拟IP地址和虚拟MAC地址的实况流。
具体的,VC接收到MS返回的注销完成消息后,一方面,VC停止向交换机发送保活报文,以使交换机在MAC表项保活时间(60s)到达后,删除对应的MAC表项;另一方面,VC删除对应虚拟IP地址和虚拟MAC地址的配置,不对接收到的目的IP地址和MAC地址分别为该虚拟IP地址和虚拟MAC地址的实况流进行处理。
其中,在VC注销完成到交换机MAC表项保活时间达到的这一段时间内,EC发送的实况流还会经由相应端口发送至VC,但由于VC以删除对应IP地址和虚拟MAC地址的配置,该实况流将被直接丢弃。
需要注意的是,对于组网不复杂的二层网络(即MS可以直接控制与VC直连的交换机),可以通过MS管理交换机,并向交换机发送删除端口对应MAC表项的指令的方式,快速取消转发端口配置。
具体的,当MS接收到VC发送的实况点播注销请求时,MS可以获取该实况点播注销请求中携带的MAC地址,并根据该MAC地址查询交换机中对应MAC表项中对应该MAC的端口,并判断该端口下是否有其他VC的MAC地址,若判断为否,则指示交换机删除该MAC表项;若判断为是,则不进行处理。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种数据传输系统,可以应用于上述方法流程。
如图4所示,为本发明实施例提供的一种数据传输系统的结构示意图,可以包括:
多媒体服务器MS41、编码器EC42、交换机43以及至少两台监控客户端VC44,其中:
MS41用于,根据接收到的所述VC44发送的实况点播注册请求中携带的目的EC42的标识信息为所述VC44分配虚拟IP地址和MAC地址,并将该虚拟IP地址和MAC地址通知给所述EC42和VC44;
所述EC42用于,将实况流的目的IP地址和MAC地址分别设置为所述MS41通知的虚拟IP地址和虚拟MAC地址,并将所述实况流发送给所述交换机43;
所述交换机43用于,根据接收到的实况流中携带的虚拟MAC地址查询对应的MAC表项,并根据该MAC表项进行实况流转发;
所述VC44用于,接收到所述MS41通知的虚拟IP地址和虚拟MAC地址后,定期向交换机43发送源IP地址和源MAC地址分别为所述虚拟IP地址和虚拟MAC地址的保活报文,以使所述交换机43根据该保活报文以及接收到该保活报文的端口信息建立或维护对应的MAC表项;当所述VC44接收到目的IP地址和目的MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流时,对接收到的实况流进行解析和解码。
其中,所述MS41可以具体用于,接收到所述实况点播注册请求后,查询自身存储的转发表项,并判断是否存在对应所述EC42的转发表项;若判断为否,则创建对应该EC42的转发表项,为该EC42分配虚拟IP地址和虚拟MAC地址,并将该虚拟IP地址和虚拟MAC地址分配给所述VC44;若判断为是,则为所述VC44分配对应该EC的转发表项中的虚拟IP地址和虚拟MAC地址。
其中,所述交换机43可以具体用于,查询自身是否存储有所述保活报文中携带的虚拟MAC地址以及接收到该保活报文的端口对应的MAC表项,若判断为否,则根据该虚拟MAC地址以及端口建立对应的MAC表项;若判断为是,则根据该虚拟MAC地址以及端口对对应的MAC表项进行保活。
其中,所述交换机43可以具体用于,将所述目的IP地址和MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流进行单播复制,并向包含所述虚拟MAC地址的MAC表项中的所有端口转发该实况流;其中,所述交换机43开启多端口MAC功能。
其中,所述VC44还可以用于,向MS41发送实况点播注销请求,其中携带VC44的IP地址和MAC地址以及目的EC42的标识信息;当接收到MS41返回的注销完成消息后,停止向所述交换机43发送保活报文,并丢弃接收到的目的IP地址和MAC地址分别为所述虚拟IP地址和虚拟MAC地址的实况流;
相应地,所述MS41还可以用于,根据接收到的实况点播注销请求删除对应转发表项中的相应记录,并向所述VC44返回注销完成消息;
所述交换机43还用于,当在预设时长内未接收到VC44发送的保活报文时,删除该VC44的MAC地址对应的MAC表项。
其中,所述VC44还可以用于,向MS41发送实况点播注销请求,其中携带VC44的IP地址和MAC地址以及目的EC42的标识信息;
相应地,所述MS41还可以用于,根据所述实况点播注销请求中携带的MAC地址查询交换机中对应MAC表项中对应该MAC地址的端口,并判断该端口下是否有其他VC的MAC地址;若判断为否,则指示所述交换机43删除该MAC表项;若判断为是,则不进行处理。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。