CN105100011B - 一种媒体流交换系统 - Google Patents
一种媒体流交换系统 Download PDFInfo
- Publication number
- CN105100011B CN105100011B CN201410203865.8A CN201410203865A CN105100011B CN 105100011 B CN105100011 B CN 105100011B CN 201410203865 A CN201410203865 A CN 201410203865A CN 105100011 B CN105100011 B CN 105100011B
- Authority
- CN
- China
- Prior art keywords
- data port
- media stream
- port
- flow data
- hair
- 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
本发明公开了一种媒体流交换系统,包括:内存、管理端口和数据端口;其中,管理端口的个数至少为一个,数据端口的个数至少为两个;管理端口,用于当接收到请求端发送来的取流请求后,从各数据端口中确定出作为媒体流发送方的发流数据端口和作为媒体流获取方的取流数据端口;取流数据端口,用于从发流端获取请求端所请求的媒体流,写入到内存中;发流数据端口,用于从内存中读取请求端所请求的媒体流,发送给请求端。应用本发明所述方案,能够简化网络部署等。
Description
技术领域
本发明涉及媒体流处理技术,特别涉及一种媒体流交换系统。
背景技术
在公安、安防等行业中,经常会需要进行媒体流的交换等,而随着技术的不断发展,媒体流的码率越来越高,规模越来越大,可能会有上万甚至几十万路媒体流需要进行交换等。
现有技术中,通常采用流转发服务器+多网卡绑定的方式来实现媒体流的交换。但是,这种方式下,需要用到大量的流转发服务器,从而使得网络部署比较复杂。
发明内容
有鉴于此,本发明提供了一种媒体流交换系统,能够简化网络部署。
为了达到上述目的,本发明的技术方案是这样实现的:
一种媒体流交换系统,包括:内存、管理端口和数据端口;
其中,所述管理端口的个数至少为一个,所述数据端口的个数至少为两个,每个数据端口具有一个与其它端口不同的IP地址;
所述管理端口,用于当接收到请求端发送来的取流请求后,从各数据端口中确定出作为媒体流发送方的发流数据端口和作为媒体流获取方的取流数据端口;
所述取流数据端口,用于从发流端获取所述请求端所请求的媒体流,写入到所述内存中;
所述发流数据端口,用于从所述内存中读取所述请求端所请求的媒体流,发送给所述请求端;
其中,所述请求端所请求的媒体流为M路,M为正整数;
所述管理端口针对每路媒体流,分别根据各数据端口的使用情况,从各数据端口中确定出该路媒体流的发流数据端口和取流数据端口。
可见,采用本发明所述方案,可利用具有多个数据端口的媒体流交换系统来实现媒体流的交换,从而简化了网络部署;而且,通过使用媒体流交换系统,可实现多个数据端口间的内存资源等的共享,从而提高了资源利用率。
附图说明
图1为本发明媒体流交换系统实施例的组成结构示意图。
图2为本发明媒体流交换系统与请求端和发流端的连接方式示意图。
图3为本发明媒体流交换方式示意图。
图4为本发明内存交换方式示意图。
具体实施方式
针对现有技术中存在的问题,本发明中根据媒体流多进多出的转发性质和内存复制速度极快的特性,提出了一种应用层的媒体流交换系统。
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
图1为本发明媒体流交换系统实施例的组成结构示意图。如图1所示,包括:内存、管理端口和数据端口。
其中,管理端口的个数至少为一个,数据端口的个数至少为两个;较佳地,管理端口的个数可为2个,数据端口的个数可为24个,每个端口均具有一个与其它端口不同的IP地址。
管理端口,用于当接收到请求端发送来的取流请求后,从各数据端口中确定出作为媒体流发送方的发流数据端口和作为媒体流获取方的取流数据端口;
取流数据端口,用于从发流端获取请求端所请求的媒体流,写入到内存中;
发流数据端口,用于从内存中读取请求端所请求的媒体流,发送给请求端。
在实际应用中,图1所示媒体流交换系统中还会进一步包括一些其它组成部分,如中央处理单元(CPU,Central Processing Unit),由于媒体流的转发主要依赖于内存和网络,与CPU无直接关系,故不作介绍。
图2为本发明媒体流交换系统与请求端和发流端的连接方式示意图。如图2所示,请求端可以通过接入交换机和汇集交换机接入媒体流交换系统,同样,发流端也可以通过接入交换机和汇集交换机接入媒体流交换系统;汇集交换机和媒体流交换系统之间可通过网线相连,假设媒体流交换系统中包括2个管理端口和24个数据端口,那么,汇集交换机和媒体流交换系统之间将连接有26根网线。
请求端所请求的媒体流可为M路,M为正整数,即可以为一路,也可以为多路。
相应地,管理端口可针对每路媒体流,分别从各数据端口中确定出该路媒体流的发流数据端口和取流数据端口。
其中,每路媒体流的发流数据端口和取流数据端口可以为同一数据端口,也可以为不同的数据端口;
任意不同两路媒体流的发流数据端口可以为同一数据端口,也可以为不同的数据端口;
任意不同两路媒体流的取流数据端口可以为同一数据端口,也可以为不同的数据端口。
在实际应用中,管理端口可以采用以下方式来确定每路媒体流的发流数据端口和取流数据端口。
1)最轻负载分配法
具体地,管理端口可针对每路媒体流,分别从各数据端口中选出当前总负载小于预定阈值的数据端口,并从选出的数据端口中进一步选出当前输出负载最小和当前输入负载最小的数据端口,将选出的当前输出负载最小的数据端口确定为该路媒体流的发流数据端口,将选出的当前输入负载最小的数据端口作为该路媒体流的取流数据端口。
相应地,可针对各数据端口,维护一个数据端口负载表,并可实时进行更新,其中可记录有每个数据端口的数据端口号、IP地址、输入路数、输入流量、输出路数和输出流量等;在此基础上,可基于路数和流量信息,辅以适当权重分别计算出每个数据端口的输入负载、输出负载和总负载。
具体计算方式可根据实际需要而定,所述阈值的具体取值同样可根据实际需要而定。
2)循环端口分配法
具体地,管理端口可针对每路媒体流,分别找出最近一次被确定为发流数据端口和取流数据端口的数据端口,并按照预定顺序,从找出的数据端口的下一个数据端口开始进行轮询,并在当每轮询到一个数据端口时,分别确定该数据端口的总负载是否小于预定阈值,如果是,则将该数据端口确定为该路媒体流的发流数据端口和取流数据端口。
举例说明:假设共存在24个数据端口,分别为数据端口1~数据端口24,并假设最近一次被确定为发流数据端口和取流数据端口的数据端口为数据端口10,那么则可从数据端口11开始进行轮询。
以上两种方式中,管理端口针对每路媒体流,分别根据各数据端口的使用情况,从各数据端口中确定出该路媒体流的发流数据端口和取流数据端口。
3)手动配置分配法
具体地,管理端口可针对每路媒体流,分别根据预先设定的不同媒体流与不同数据端口之间的对应关系,将该路媒体流对应的数据端口确定为该路媒体流的发流数据端口和取流数据端口。
上述对应关系可根据实际需要而定。
基于上述介绍,图3为本发明媒体流交换方式示意图。
如图3所示,同时作为发流数据端口和取流数据端口的数据端口S_data_1(IP1)获取来自发流端P1的媒体流,通过内存复制发送给请求端U1;
同时作为发流数据端口和取流数据端口的数据端口S_data_2(IP2)获取来自发流端P2的媒体流,通过内存复制发送给请求端U2;
作为取流数据端口的数据端口S_data_2(IP2)获取来自发流端P2的媒体流,通过内存复制由作为发流数据端口的数据端口S_data_3(IP3)发送给请求端U3;
相应地,数据端口S_data_1(IP1)需要分别与发流端P1和请求端U1建立媒体流连接,数据端口S_data_2(IP2)需要分别与发流端P2和请求端U2建立媒体流连接,数据端口S_data_3(IP3)需要与请求端U3建立媒体流连接。
以发流端P1和请求端U1之间的媒体流交换为例,其时序交互过程可包括:
A、请求端U1向管理端口发送取流请求;
取流请求中可携带有请求端U1的标识和请求端U1所请求的媒体流的标识等;
请求端U1发送的取流请求可以由管理端口S_Manage_1来处理,也可以由管理端口S_Manage_2来处理,两个管理端口之间如何协调工作为现有技术;
B、管理端口通过查询数据端口负载表,将数据端口S_data_1(IP1)确定为请求端U1所请求的媒体流的发流数据端口和取流数据端口;
C、管理端口将数据端口S_data_1(IP1)的IP地址发送给请求端U1;
D、请求端U1向数据端口S_data_1(IP1)发送取流请求;
E、数据端口S_data_1(IP1)从发流端P1获取请求端U1所请求的媒体流,通过内存复制发送给请求端U1;
F、当请求端U1请求中止取流时,数据端口S_data_1(IP1)停止取流和发流。
通过上述内存复制,可实现不同数据端口的数据交换,即实现了内存交换。
图4为本发明内存交换方式示意图。如图4所示,其中的实线箭头表示获取即写入内存的来自发流端的媒体流,虚线箭头表示从内存读取即发送给请求端的媒体流。
可以看出,在进行内存交换时,只是作了少量的媒体流数据缓冲;另外,在发送媒体流时,通常需要根据媒体连接相应地改变一下包头信息,具体实现为现有技术。
总之,采用本发明所述方案,可带来以下技术优势:
1)利用具有多个数据端口的媒体流交换系统来实现媒体流的交换,从而简化了网络部署;
以媒体流路数为1万路、每路媒体流的码率为8Mbps为例,如果按照现有方式,将需要配置约66个流转发服务器,而采用本发明所述方案后,假设每个媒体流交换系统中包括24个数据端口、网络利用率为60%、网络带宽为1Gbps,那么,一个媒体流交换系统可以处理的媒体流路数将为:24×1024×0.6/8=1834路,对于1万路媒体流,只需要配置6个媒体流交换系统就可以了;
2)通过使用媒体流交换系统,可实现多个数据端口间的内存资源等的共享,从而提高了资源利用率;
3)通过内存交换技术,进行应用层媒体流的交换,发挥了各数据端口的最大网络带宽,且各数据端口均独立传输,彼此不受影响;
4)可适用于实时取流、1对1回放取流、1对多同步回放取流、存储式取流和分析型取流等各种场景,具有广泛适用性;
5)可在实际的应用环境中同时设置多个本发明所述的媒体流交换系统,这样,当一个媒体流交换系统负荷超载时,如接收到管理端口返回的请求失败消息时,请求端可向另一个媒体流交换系统发送取流请求,从而实现了媒体流交换系统集群之间的负载均衡;
6)本发明所述方案中的请求端可以不是直接的用户,发流端也可以不是设备,都可以是中间的环节,也就是说,可以通过级联模式,达到应用层的路由功能,从而实现路径最短的多级转发取流交换。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种媒体流交换系统,其特征在于,包括:内存、管理端口和数据端口;
其中,所述管理端口的个数至少为一个,所述数据端口的个数至少为两个,每个数据端口具有一个与其它端口不同的IP地址;
所述管理端口,用于当接收到请求端发送来的取流请求后,从各数据端口中确定出作为媒体流发送方的发流数据端口和作为媒体流获取方的取流数据端口;
所述取流数据端口,用于从发流端获取所述请求端所请求的媒体流,写入到所述内存中;
所述发流数据端口,用于从所述内存中读取所述请求端所请求的媒体流,发送给所述请求端;
其中,所述请求端所请求的媒体流为M路,M为正整数;
所述管理端口针对每路媒体流,分别根据各数据端口的使用情况,从各数据端口中确定出该路媒体流的发流数据端口和取流数据端口。
2.根据权利要求1所述的媒体流交换系统,其特征在于,
每路媒体流的发流数据端口和取流数据端口为同一数据端口,或为不同的数据端口;
任意不同两路媒体流的发流数据端口为同一数据端口,或为不同的数据端口;
任意不同两路媒体流的取流数据端口为同一数据端口,或为不同的数据端口。
3.根据权利要求1所述的媒体流交换系统,其特征在于,
所述管理端口针对每路媒体流,分别从各数据端口中选出当前总负载小于预定阈值的数据端口,并从选出的数据端口中进一步选出当前输出负载最小和当前输入负载最小的数据端口,将选出的当前输出负载最小的数据端口确定为该路媒体流的发流数据端口,将选出的当前输入负载最小的数据端口作为该路媒体流的取流数据端口。
4.根据权利要求1所述的媒体流交换系统,其特征在于,
所述管理端口针对每路媒体流,分别找出最近一次被确定为发流数据端口和取流数据端口的数据端口,并按照预定顺序,从找出的数据端口的下一个数据端口开始进行轮询,并在当每轮询到一个数据端口时,分别确定该数据端口的总负载是否小于预定阈值,如果是,则将该数据端口确定为该路媒体流的发流数据端口和取流数据端口。
5.根据权利要求1所述的媒体流交换系统,其特征在于,
所述管理端口进一步用于,针对每路媒体流,分别根据预先设定的不同媒体流与不同数据端口之间的对应关系,将该路媒体流对应的数据端口确定为该路媒体流的发流数据端口和取流数据端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410203865.8A CN105100011B (zh) | 2014-05-14 | 2014-05-14 | 一种媒体流交换系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410203865.8A CN105100011B (zh) | 2014-05-14 | 2014-05-14 | 一种媒体流交换系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105100011A CN105100011A (zh) | 2015-11-25 |
CN105100011B true CN105100011B (zh) | 2018-06-15 |
Family
ID=54579570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410203865.8A Active CN105100011B (zh) | 2014-05-14 | 2014-05-14 | 一种媒体流交换系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105100011B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005370A (zh) * | 2006-01-16 | 2007-07-25 | 北京速能数码网络技术有限公司 | 一种非对称跨网段多路数据流动态复制分发设备 |
CN101695025A (zh) * | 2009-11-05 | 2010-04-14 | 中国电信股份有限公司 | 下一代网络中媒体资源广播实现方法、系统和广播服务器 |
CN101753580A (zh) * | 2010-01-08 | 2010-06-23 | 烽火通信科技股份有限公司 | 包处理芯片及其数据存储、转发方法 |
CN102347895A (zh) * | 2011-06-21 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种监控数据的传输方法和设备 |
CN102821166A (zh) * | 2012-07-20 | 2012-12-12 | 华为终端有限公司 | 多媒体数据通信的方法、设备及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100268761A1 (en) * | 2007-06-05 | 2010-10-21 | Steve Masson | Methods and systems for delivery of media over a network |
-
2014
- 2014-05-14 CN CN201410203865.8A patent/CN105100011B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005370A (zh) * | 2006-01-16 | 2007-07-25 | 北京速能数码网络技术有限公司 | 一种非对称跨网段多路数据流动态复制分发设备 |
CN101695025A (zh) * | 2009-11-05 | 2010-04-14 | 中国电信股份有限公司 | 下一代网络中媒体资源广播实现方法、系统和广播服务器 |
CN101753580A (zh) * | 2010-01-08 | 2010-06-23 | 烽火通信科技股份有限公司 | 包处理芯片及其数据存储、转发方法 |
CN102347895A (zh) * | 2011-06-21 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种监控数据的传输方法和设备 |
CN102821166A (zh) * | 2012-07-20 | 2012-12-12 | 华为终端有限公司 | 多媒体数据通信的方法、设备及系统 |
Non-Patent Citations (1)
Title |
---|
《网络实时视频监控系统改进方案的设计与实现》;赵静;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120815(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105100011A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929368B (zh) | 多业务单元负载均衡方法及装置 | |
CN102656850B (zh) | 用于处理多个数据的方法和用于交换通信分组的交换设备 | |
CN106302223B (zh) | 一种聚合组流量分流的方法和装置 | |
CA2100541C (en) | Distributed processing of route selection across networks and subnetworks | |
CN104429029B (zh) | 网络中通过中央控制器的基于延迟的业务速率控制 | |
CN104469261B (zh) | 一种基于cdn网络的视频会议系统及方法 | |
EP3496346B1 (en) | Data message forwarding method and apparatus | |
CN108322361B (zh) | 一种IPSec VPN隧道内业务流量统计方法及装置 | |
CN106416197A (zh) | 用于对任播数据业务进行负载均衡的方法和系统 | |
CN108009028A (zh) | 消息处理方法、装置、设备及计算机可读存储介质 | |
CN104092758B (zh) | 一种分布式高速云存储服务器集群系统的读取方法 | |
CN105610710A (zh) | 交换结构系统上部署的标准协议验证机制的方法和装置 | |
CN108306824B (zh) | 报文发送方法及装置 | |
CN102624916A (zh) | 云计算系统中均衡负载的方法、节点管理器及系统 | |
CN103716213A (zh) | 在固定接入网中和在用户设备中运行的方法 | |
CN106506701A (zh) | 一种服务器负载均衡方法及负载均衡器 | |
CN105556916A (zh) | 网络流的信息统计方法和装置 | |
Jahromi et al. | Online VNF placement and chaining for value-added services in content delivery networks | |
CN104052679B (zh) | 网络流量的负载均衡方法和装置 | |
CN104247342A (zh) | 网络设备冗余化系统、控制装置、网络设备冗余化方法及程序 | |
CN108243072A (zh) | 一种进行网络延时监控的方法与设备 | |
CN110445723A (zh) | 一种网络数据调度方法及边缘节点 | |
Liao et al. | Distributed FlowVisor: a distributed FlowVisor platform for quality of service aware cloud network virtualisation | |
Tkachov et al. | Method for transfer of data with intermediate storage | |
CN109889521A (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 |