一种基于多层结构的低延时、高并发媒体流分发方法

文档序号:8266703阅读:202来源:国知局
一种基于多层结构的低延时、高并发媒体流分发方法
【技术领域】
[0001]本发明涉及一种流媒体分发方法,特别是涉及一种基于多层结构的低延时、高并发媒体流分发方法。
【背景技术】
[0002]在多媒体课堂环境中,网络在线直播时需要传输摄像头和麦克风采集的数据给视频接收者。而当在线人数很多时,单台服务器的处理能力就不足以支持所有用户实时播放视频的要求。这种情况下一般会采用服务器集群,即一台主服务器带多台从服务器的结构,主服务器将音视频流推送给其下的从服务器,相当于数据流的广播。但是采用这种方式下仍然会产生一些问题,比如在同时进行多条直播流的情况下,主从服务器之间的带宽需求就很大,同时主从服务器强绑定不够灵活。

【发明内容】

[0003]针对现有技术的不足,本发明的目的是提供一种基于多层结构的低延时、高并发媒体流分发方法,解决现有技术在高并发情况下要求主从服务器间宽带宽问题。
[0004]本发明的技术方案是这样的,一种基于多层结构的低延时、高并发媒体流分发方法,包括存储并提供媒体流的若干核心服务器,所述媒体流设有用于互相区分的ID ;至少两台交换服务器,每台交换服务器与全部核心服务器连接;若干用户服务器,每台用户服务器与至少两台交换服务器连接,用户机与用户服务器连接;用户机获取媒体流的过程是:
[0005]I)用户机发送请求给其连接的用户服务器,请求信息中包含媒体流的ID和目录;
[0006]2)用户服务器收到请求后,按照如下步骤进行处理:
[0007]2a)查询本用户服务器正在服务的媒体流列表,根据媒体流ID判断该媒体流是否已经存在,如果已经存在,直接将该媒体流发送给用户机,结束流程;如果不存在,进入步骤2b);
[0008]2b)查询本用户服务器的交换服务器列表中交换服务器的状态,选择状态为可用的交换服务器,进入步骤2c);如果交换服务器列表中所有交换服务器状态均不可用,返回错误信息,结束流程;
[0009]2c)用户服务器向选择的交换服务器发起请求,请求信息中包含媒体流的ID和目录;
[0010]3)交换服务器收到请求后,按照如下步骤进行处理:
[0011]3a)查询本交换服务器正在服务的媒体流列表,根据媒体流ID判断该媒体流是否已经存在,如果已经存在,直接将该媒体流发送给用户服务器,结束流程;如果不存在,进入步骤3b);
[0012]3b)根据请求信息中的目录信息,选择对应的核心服务器,并将媒体流的ID和目录发送给该对应的核心服务器;
[0013]4)核心服务器收到请求后,根据请求信息中媒体流的ID和目录信息,确定请求的媒体流,并将该媒体流发送给请求服务的交换服务器;
[0014]5)交换服务器收到媒体流后,将媒体流发送给用户服务器;
[0015]6)用户服务器收到媒体流后,将媒体流发送给用户机,结束流程。
[0016]进一步的,所述步骤2b)为依次查询本用户服务器的交换服务器列表中交换服务器的状体,选择第一台状态为可用的交换服务器,进入步骤2c);如果所有交换服务器状态均为不可用,返回错误信息,结束流程。
[0017]本发明所提供的技术方案,在极少增加时延的情况下,大大增加课堂流媒体的并发用户数,同时提高各级服务器的利用率,降低各级服务器之间的带宽,具有以下效果:
[0018]a)流媒体从源到达接收方的过程中,消耗在服务器上的时延很低,几乎可以忽略不计。
[0019]b)单个媒体流的计算资源占用很低,单台服务器在足够带宽的支持下,能够支持千人以上的并发。
[0020]c)整个系统能够支持百万级的并发。
[0021]d)按需请求,多层交互时,需要时从上层服务器上主动获取,不需要时不占上层服务器的资源。
[0022]e)单台用户服务器的故障只会影响其下的用户,不会影响其他用户。
[0023]f)多路备份,当主链路故障时能够快速切换到备用链路,使服务不间断。
【附图说明】
[0024]图1为网络拓扑示意图。
[0025]图2为本发明媒体流请求分发过程示意图。
【具体实施方式】
[0026]下面结合实施例对本发明作进一步说明,但不作为对本发明的限定。
[0027]请结合图1及图2,本实施例涉及的服务器分层布置,具体分为:
[0028]核心服务层:由四台核心服务器组成,核心服务器是媒体流的源头,该层服务器提供不同的媒体流,媒体流通过ID区分,ID是一个从I开始的64位整数。
[0029]交换服务层:由三台交换服务器组成,负责桥接核心服务层和用户服务层,形成服务器的集群,订阅所有核心服务层上所有核心服务器的媒体流资源,向用户服务层提供完整的媒体流列表。
[0030]用户服务层:由六台用户服务器组成,负责实际用户机的连接,并把媒体流发送给用户机。该层每台服务器连接至少两台交换服务器,组成多路链路备份机制,当正在使用的交换服务器不可用时,可以快速启用某条备用链路的交换服务器,实现不断流的作用。
[0031]媒体流的请求分发过程如图2所示,其过程如下:
[0032]I)当用户通过用户机选择某个媒体流后,用户机发送请求给其连接的用户服务器,请求信息中包含媒体流的ID和目录。
[0033]2)用户服务器收到请求后,用户服务器按照如下步骤进行处理:
[0034]2a)查询媒体流:查询本用户服务器正在服务的媒体流列表,根据媒体流ID判断该媒体流是否已经存在。如果已经存在,直接将该媒体流发送给用户机,处理结束;如果不存在,进入步骤2b)。
[0035]2b)选择交换服务器:依次查询本用户服务器的交换服务器列表中交换服务器的状态,如果其状态为可用,则选择该交换服务器;如果不可用,判断其后的交换服务器状态,直至交换服务器列表中的最后一台服务器。如果选到了可用交换服务器,进入步骤2c);如果没有选到,返回错误信息,结束流程。
[0036]2c)用户服务器向选择的可用交换服务器发起请求,请求信息中包含媒体流的ID和目录。
[0037]3)交换服务器收到请求后,按照如下步骤进行处理:
[0038]3a)查询媒体流:查询本交换服务器正在服务的媒体流列表,根据媒体流ID判断该媒体流是否已经存在。如果已经存在,直接将该媒体流发送给用户服务器,处理结束;如果不存在,进入步骤3b)。
[0039]3b)选择核心服务器:根据请求信息中的目录信息,选择哪台核心服务器来提供服务,并将媒体流的ID和目录发送给选择核心服务器。
[0040]4)核心服务器收到请求后,根据请求信息中媒体流的ID和目录信息,确定请求的媒体流,并将该媒体流发送给请求服务的交换服务器。
[0041]5)交换服务器收到媒体流后,将媒体流发送给用户服务器。
[0042]6)用户服务器收到媒体流后,将媒体流发送给用户机,结束流程。
【主权项】
1.一种基于多层结构的低延时、高并发媒体流分发方法,其特征在于,包括存储并提供媒体流的若干核心服务器,所述媒体流设有用于互相区分的ID ;至少两台交换服务器,每台交换服务器与全部核心服务器连接;若干用户服务器,每台用户服务器与至少两台交换服务器连接,用户机与用户服务器连接;用户机获取媒体流的过程是: 1)用户机发送请求给其连接的用户服务器,请求信息中包含媒体流的ID和目录; 2)用户服务器收到请求后,按照如下步骤进行处理: 2a)查询本用户服务器正在服务的媒体流列表,根据媒体流ID判断该媒体流是否已经存在,如果已经存在,直接将该媒体流发送给用户机,结束流程;如果不存在,进入步骤2b); 2b)查询本用户服务器的交换服务器列表中交换服务器的状体,选择状态为可用的交换服务器,进入步骤2c);如果交换服务器列表中所有交换服务器状态均不可用,返回错误信息,结束流程; 2c)用户服务器向选择的交换服务器发起请求,请求信息中包含媒体流的ID和目录; 3)交换服务器收到请求后,按照如下步骤进行处理: 3a)查询本交换服务器正在服务的媒体流列表,根据媒体流ID判断该媒体流是否已经存在,如果已经存在,直接将该媒体流发送给用户服务器,结束流程;如果不存在,进入步骤3b); 3b)根据请求信息中的目录信息,选择对应的核心服务器,并将媒体流的ID和目录发送给该对应的核心服务器; 4)核心服务器收到请求后,根据请求信息中媒体流的ID和目录信息,确定请求的媒体流,并将该媒体流发送给请求服务的交换服务器; 5)交换服务器收到媒体流后,将媒体流发送给用户服务器; 6)用户服务器收到媒体流后,将媒体流发送给用户机,结束流程。
2.根据权利要求1所述的基于多层结构的低延时、高并发媒体流分发方法,其特征在于,所述步骤2b)为依次查询本用户服务器的交换服务器列表中交换服务器的状态,选择第一台状态为可用的交换服务器,进入步骤2c);如果所有交换服务器状态均为不可用,返回错误信息,结束流程。
【专利摘要】本发明公开了一种基于多层结构的低延时、高并发媒体流分发方法,包括核心服务器层、交换服务器层和用户服务器层,用户机请求媒体流后,用户服务器先确定请求的媒体流是否已在本服务器服务列表,如已存在则直接给用户机发送媒体流,如不存在则向交换服务器发送请求,交换服务器先确定请求的媒体流是否已在本服务器服务列表,如已存在则给用户服务器发送媒体流再向下传递给用户机,如不存在则向核心服务器请求媒体流,核心服务器将媒体流下发。本方法大大增加课堂流媒体的并发用户数,同时提高各级服务器的利用率,降低各级服务器之间的带宽。
【IPC分类】H04N21-262, H04N21-231, H04N21-437
【公开号】CN104581192
【申请号】CN201410850172
【发明人】周维丰, 张福新, 吴少刚, 金晓晨, 管斌
【申请人】江苏中科梦兰电子科技有限公司
【公开日】2015年4月29日
【申请日】2014年12月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1