一种媒体流交换系统的制作方法

文档序号:9380189
一种媒体流交换系统的制作方法
【技术领域】
[0001]本发明涉及媒体流处理技术,特别涉及一种媒体流交换系统。
【背景技术】
[0002]在公安、安防等行业中,经常会需要进行媒体流的交换等,而随着技术的不断发展,媒体流的码率越来越高,规模越来越大,可能会有上万甚至几十万路媒体流需要进行交换等。
[0003]现有技术中,通常采用流转发服务器+多网卡绑定的方式来实现媒体流的交换。但是,这种方式下,需要用到大量的流转发服务器,从而使得网络部署比较复杂。

【发明内容】

[0004]有鉴于此,本发明提供了一种媒体流交换系统,能够简化网络部署。
[0005]为了达到上述目的,本发明的技术方案是这样实现的:
[0006]一种媒体流交换系统,包括:内存、管理端口和数据端口 ;
[0007]其中,所述管理端口的个数至少为一个,所述数据端口的个数至少为两个;
[0008]所述管理端口,用于当接收到请求端发送来的取流请求后,从各数据端口中确定出作为媒体流发送方的发流数据端口和作为媒体流获取方的取流数据端口;
[0009]所述取流数据端口,用于从发流端获取所述请求端所请求的媒体流,写入到所述内存中;
[0010]所述发流数据端口,用于从所述内存中读取所述请求端所请求的媒体流,发送给所述请求端。
[0011]可见,采用本发明所述方案,可利用具有多个数据端口的媒体流交换系统来实现媒体流的交换,从而简化了网络部署;而且,通过使用媒体流交换系统,可实现多个数据端口间的内存资源等的共孚,从而提闻了资源利用率。
【附图说明】
[0012]图1为本发明媒体流交换系统实施例的组成结构示意图。
[0013]图2为本发明媒体流交换系统与请求端和发流端的连接方式示意图。
[0014]图3为本发明媒体流交换方式示意图。
[0015]图4为本发明内存交换方式示意图。
【具体实施方式】
[0016]针对现有技术中存在的问题,本发明中根据媒体流多进多出的转发性质和内存复制速度极快的特性,提出了一种应用层的媒体流交换系统。
[0017]为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
[0018]图1为本发明媒体流交换系统实施例的组成结构示意图。如图1所示,包括:内存、管理端口和数据端口。
[0019]其中,管理端口的个数至少为一个,数据端口的个数至少为两个;较佳地,管理端口的个数可为2个,数据端口的个数可为24个,每个端口均具有一个与其它端口不同的IP地址。
[0020]管理端口,用于当接收到请求端发送来的取流请求后,从各数据端口中确定出作为媒体流发送方的发流数据端口和作为媒体流获取方的取流数据端口 ;
[0021]取流数据端口,用于从发流端获取请求端所请求的媒体流,写入到内存中;
[0022]发流数据端口,用于从内存中读取请求端所请求的媒体流,发送给请求端。
[0023]在实际应用中,图1所示媒体流交换系统中还会进一步包括一些其它组成部分,如中央处理单元(CPU, Central Processing Unit),由于媒体流的转发主要依赖于内存和网络,与CPU无直接关系,故不作介绍。
[0024]图2为本发明媒体流交换系统与请求端和发流端的连接方式示意图。如图2所示,请求端可以通过接入交换机和汇集交换机接入媒体流交换系统,同样,发流端也可以通过接入交换机和汇集交换机接入媒体流交换系统;汇集交换机和媒体流交换系统之间可通过网线相连,假设媒体流交换系统中包括2个管理端口和24个数据端口,那么,汇集交换机和媒体流交换系统之间将连接有26根网线。
[0025]请求端所请求的媒体流可为M路,M为正整数,即可以为一路,也可以为多路。
[0026]相应地,管理端口可针对每路媒体流,分别从各数据端口中确定出该路媒体流的发流数据端口和取流数据端口。
[0027]其中,每路媒体流的发流数据端口和取流数据端口可以为同一数据端口,也可以为不同的数据端口;
[0028]任意不同两路媒体流的发流数据端口可以为同一数据端口,也可以为不同的数据端口 ;
[0029]任意不同两路媒体流的取流数据端口可以为同一数据端口,也可以为不同的数据端口。
[0030]在实际应用中,管理端口可以采用以下方式来确定每路媒体流的发流数据端口和取流数据端口。
[0031]I)最轻负载分配法
[0032]具体地,管理端口可针对每路媒体流,分别从各数据端口中选出当前总负载小于预定阈值的数据端口,并从选出的数据端口中进一步选出当前输出负载最小和当前输入负载最小的数据端口,将选出的当前输出负载最小的数据端口确定为该路媒体流的发流数据端口,将选出的当前输入负载最小的数据端口作为该路媒体流的取流数据端口。
[0033]相应地,可针对各数据端口,维护一个数据端口负载表,并可实时进行更新,其中可记录有每个数据端口的数据端口号、IP地址、输入路数、输入流量、输出路数和输出流量等;在此基础上,可基于路数和流量信息,辅以适当权重分别计算出每个数据端口的输入负载、输出负载和总负载。
[0034]具体计算方式可根据实际需要而定,所述阈值的具体取值同样可根据实际需要而定。
[0035]2)循环端口分配法
[0036]具体地,管理端口可针对每路媒体流,分别找出最近一次被确定为发流数据端口和取流数据端口的数据端口,并按照预定顺序,从找出的数据端口的下一个数据端口开始进行轮询,并在当每轮询到一个数据端口时,分别确定该数据端口的总负载是否小于预定阈值,如果是,则将该数据端口确定为该路媒体流的发流数据端口和取流数据端口。
[0037]举例说明:假设共存在24个数据端口,分别为数据端口 I?数据端口 24,并假设最近一次被确定为发流数据端口和取流数据端口的数据端口为数据端口 10,那么则可从数据端口 11开始进行轮询。
[0038]以上两种方式中,管理端口针对每路媒体流,分别根据各数据端口的使用情况,从各数据端口中确定出该路媒体流的发流数据端口和取流数据端口。
[0039]3)手动配置分配法
[0040]具体地,管理端口可针对每路媒体流,分别根据预先设定的不同媒体流与不同数据端口之间的对应关系,将该路媒体流对应的数据端口确定为该路媒体流的发流数据端口和取流数据端口。
[0041]上述对应关系可根据实际需要而定。
[0042]基于上述介绍,图3为本发明媒体流交换方式示意图。
[0043]如图3所示,同时作为发流数据端口和取流数据端口的数据端口 S_data_l (IPl)获取来自发流端Pl的媒体流,通过内存复制发送给请求端Ul ;
[0044]同时作为发流数据端口和取流数据端口的数据端口 S_data_2 (IP2)获取来自发流端P2的媒体流,通过内存复制发送给请求端U2 ;
[0045]作为取流数据端口的数据端口 S_data_2 (IP2)获取来自发流端P2的媒体流,通过内存复制由作为发流数据端口的数据端口 S_data
再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1