CN101287002B - 一种提高流媒体服务器并发媒体流数量的方法 - Google Patents
一种提高流媒体服务器并发媒体流数量的方法 Download PDFInfo
- Publication number
- CN101287002B CN101287002B CN2008100477941A CN200810047794A CN101287002B CN 101287002 B CN101287002 B CN 101287002B CN 2008100477941 A CN2008100477941 A CN 2008100477941A CN 200810047794 A CN200810047794 A CN 200810047794A CN 101287002 B CN101287002 B CN 101287002B
- Authority
- CN
- China
- Prior art keywords
- media server
- streaming media
- media stream
- media
- server
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer And Data Communications (AREA)
Abstract
一种提高流媒体服务器并发媒体流数量的方法,属于计算机存储***媒体文件存取方法,目的在于充分利用媒体文件自身的特征,在满足一定的数据丢失约束条件的前提下,减小定位于其上的媒体流的带宽,从而在一定程度上提高流媒体服务器并发媒体流数量。本发明包括处理媒体流建立申请步骤、计算负载步骤、满载预判断步骤、媒体流建立步骤、带宽重分配步骤、满载判断步骤、(m,k)编码删除步骤。本发明充分利用媒体文件自身的特征减小了定位于其上的媒体流的带宽,从而在一定程度上提高了流媒体服务器并发媒体流数量。
Description
技术领域
本发明属于计算机存储***媒体文件存取方法,具体涉及一种提高流媒体服务器并发媒体流数量的方法。
背景技术
流媒体服务是存储***的一个典型应用,存储***所能支持的最大并发媒体流数量是存储***提供流媒体服务时衡量其性能好坏的一个重要标准。分布式存储***由多个流媒体服务器组成,单个流媒体服务器所能支持的并发媒体流数量直接决定了整个分布式存储***所能支持的并发媒体流数量。因此,提高单个流媒体服务器所能支持的并发媒体流数量是提高整个分布式存储***所能支持的并发媒体流数量的关键。
依据媒体文件被访问的顺序性,媒体文件一般被顺序地置于流媒体服务器上。一次媒体访问所需的数据一般被置于一个流媒体服务器上。提供流媒体服务的分布式存储***由客户端、元数据服务器和流媒体服务器三部分组成,这三方的通讯过程可以描述为:客户端向元数据服务器发送媒体流建立申请,元数据服务器返回欲建立的媒体流所对应的流媒体服务器,客户端与流媒体服务器之间建立媒体流连接。客户端与流媒体服务器之间的媒体流具有动态性,具体表现在客户端可以随时申请与流媒体服务器建立媒体流连接,也可以随时终止与流媒体服务器已建立的媒体流连接。当客户端与流媒体服务器建立媒体流连接时,流媒体服务器分配一定的磁盘带宽给特定的媒体流,以保证媒体流的服务质量;反之,当客户端终止与流媒体服务器已建立的媒体流连接时,流媒体服务器立即收回已分配给该媒体流的磁盘带宽。基于此特点,流媒体服务器的磁盘带宽分配以媒体流为单位,而不是以某一个具体媒体文件或某 一次具体的媒体数据请求为单位。
客户端与流媒体服务器之间建立的各个媒体流均有其服务质量需求。普通的数据读写不允许有任何的数据损失,与其不同的是,流媒体服务允许在满足一定约束条件下的数据丢失。每个媒体流均有其特定的服务质量需求,此特定的服务质量需求对应着特定的数据丢失约束条件。依据媒体文件的编解码特征以及媒体流的服务质量需求,一般以(m,k)约束来表示每个媒体流特定服务质量需求下的数据丢失约束条件;如果将媒体文件分割为N个大小相同的数据单元,(m,k)约束的含义为:任意k个连续的数据单元中,至少有m个数据单元能够在特定的时间点之前由流媒体服务器传输到客户端;表达式(m,k)中,m≤k;m<k时,表示某媒体流允许部分数据未在特定的时间点之前由流媒体服务器传输到客户端;m=k时,表示某媒体流要求任何数据都必须在特定的时间点之前由流媒体服务器传输到客户端。(m,k)是针对特定媒体流的最坏数据丢失约束条件,也是针对具有特定编解码特征的具体的媒体文件的最坏数据丢失约束条件。
现有的方法均利用缓存(Cache)替换算法的优化来提高流媒体服务器的并发媒体流数量。Renu Tewari等人分析了基于一个对象的两个视频流的时间间隔,通过时间间隔的大小判断是否将对象缓存以供其他流读取,从而避免过多的磁盘访问,但是该方案仅针对基于同一个对象的多个视频流的时间间隔进行优化,未针对同一个流媒体服务器的多个对象进行整体的优化,见Renu Tewari,Asit Dan,et al.“Bufferingand Caching in Large-Scale Video Servers”,Proceedings ofCOMPCON 1995。Weifeng Shi等人在Renu Tewari等人提出的方案的基础上明确指出了时间间隔的阈值,但是仍然没有将请求到达速率考虑在内,见Weifeng Shi et al,“Trading memory for disk bandwidthin Video on Demand”,Proceedings of 13th ACM Symposium on Applied Computing,Feb.1998。Y W Park等人通过对请求到达速率进行分类来动态判断哪些对象需要提前置于缓存,哪些对象不能提前置于缓存,见Y W Park,W Seo,K D Chung,“Multi-phase interval caching for anews on demand server”,IEEE International Conference on MultimediaComputing and Systems,Florence,1999。但是这些方法均未利用媒体文件自身的特征来提高流媒体服务器并发媒体流数量。
发明内容
本发明提出一种提高流媒体服务器并发媒体流数量的方法,目的在于充分利用媒体文件自身的特征,在满足一定的数据丢失约束条件的前提下,减小定位于其上的媒体流的带宽,从而在一定程度上提高流媒体服务器并发媒体流数量。
本发明的一种提高流媒体服务器并发媒体流数量的方法,在流媒体服务器上设置一个媒体流等待队列,包括:
(1)处理媒体流建立申请步骤;流媒体服务器每接收到客户端的媒体流建立申请,均将其置于媒体流等待队列队尾;
(2)计算负载步骤;判断媒体流等待队列是否为空,是则等待,否则从媒体流等待队列队头取出一个媒体流建立申请,计算流媒体服务器的负载R:
其中,N为流媒体服务器与客户端之间建立的媒体流的个数,Bi为第i个媒体流Si所占磁盘带宽,B为流媒体服务器所能提供的峰值总带宽;
(3)满载预判断步骤;判断R是否≥α,是则判定流媒体服务器满载,转步骤(5),否则判定流媒体服务器尚未满载,转步骤(4),α为***管理员预先设定的满载阈值,0<α<1;
(4)媒体流建立步骤;流媒体服务器建立客户端到流媒体服务器之 间的媒体流连接,转步骤(6);
(5)带宽重分配步骤;使部分媒体流定位到相应的编码之后的媒体文件,顺序包括下述过程:
(5.1)流媒体服务器判断是否所有对象均已存在相应的(m,k)编码,是则拒绝媒体流建立申请,否则进行过程(5.2);
(5.2)对象热度排序过程;首先,计算流媒体服务器上各个尚未进行(m,k)编码的对象Oi的热度LOi,LOi=SOi,SOi为定位于对象Oi之上的媒体流个数;其次,将对象Oi依其热度按从大到小的顺序排序,并将对象编号依次置于数组L[NUM_OBJECT]中,NUM_OBJECT为流媒体服务器上对象的总个数,i=1,…,M;M为流媒体服务器上尚未进行(m,k)编码的对象个数;
(5.3)从数组L[NUM_OBJECT]中依次取出前P个对象进行(m,k)编码,并将编码之后的对象置于流媒体服务器的空闲块,P为***管理员事先设定的一个整数值;
(5.4)将读取热点对象Oi的请求定位到(m,k)编码之后的对象MKOi上;进行步骤(6);
(6)满载判断步骤;重新计算流媒体服务器的负载R,判断是否R≥α,是则转步骤(5),否则转步骤(2);
(7)(m,k)编码删除步骤;流媒体服务器周期性的计算其负载R和所有对象的访问频率,当R<β时,依对象访问频率由低到高依次删除相应对象的(m,k)编码,β为***管理员预先设定的轻载阈值,0<β<1;
所述步骤(1)、步骤(2)~(6)、步骤(7)三者独立进行。
本发明充分利用了媒体文件自身的特征,在满足一定的数据丢失约束条件的前提下,减小了定位于其上的媒体流的带宽,从而在一定程度上提高了流媒体服务器并发媒体流数量。
附图说明
图1为本发明流程框图;
具体实施方式
下面结合实例对本发明做进一步说明。
设t时刻流媒体服务器支持100个媒体流(即取N=100),分别记为S1,S2,S3,......,S100。该100个媒体流所对应的带宽需求分别为B1,B2,B3,......,B100。假设B1=B2=B3=......=B100=1MB/s。流媒体服务器所能提供的峰值带宽为120MB/s(取B=120MB/s)。由于磁盘磁头定位延迟的存在,使得磁盘的实际带宽一般小于其峰值带宽。磁盘的实际带宽取决于请求所需数据在磁盘上的分布,如果请求所需数据在磁盘上连续分布,则磁盘实际带宽较高;反之,请求所需数据在磁盘上的随机离散分布将降低磁盘的实际带宽。假定流媒体服务器当前能够满足该100个媒体流的带宽需求。当第101个媒体流建立申请(设其所需带宽为2MB/s)到达时,首先将其置于流媒体服务器的媒体流等待队列队尾。此时流媒体服务器未处理任何的媒体流建立申请,进入计算负载步骤。流媒体服务器立即将该媒体流建立申请取出,并计算流媒体服务器的负载R,由 可知,R=100/120=0.833,进入满载预判断步骤。取α=0.9,R<α,此时流媒体服务器尚未满载,进入媒体流建立步骤。在媒体流建 立步骤,流媒体服务器首先建立客户端到流媒体服务器之间的媒体流连接,然后进入满载判断步骤。此时重新计算流媒体服务器的负载R,R=(100+2)/120=0.85,R<α,表明客户端到流媒体服务器之间的媒体流连接被接受。
当第102个媒体流建立申请(假设其所需带宽为10MB/s)到达时,假设之前的101个媒体流均尚未终止。首先将其置于流媒体服务器的媒体流等待队列队尾。此时流媒体服务器未处理任何的媒体流建立申请,进入计算负载步骤。流媒体服务器立即将该媒体流建立申请取出,并计算流媒体服务器的负载R,由 可知,R=102/120=0.85,进入满载预判断步骤。取α=0.9,R<α,此时流媒体服务器尚未满载,进入媒体流建立步骤。在媒体流建立步骤,流媒体服务器首先建立客户端到流媒体服务器之间的媒体流连接,然后进入满载判断步骤。此时重新计算流媒体服务器的负载R,R=(102+10)/120=0.933,R>α,因此进入带宽重分配步骤。首先流媒体服务器判断是否所有对象均已存在相应的(m,k)编码。判断的结果是所有对象均未存在(m,k)编码,此时进入对象热度排序过程,计算流媒体服务器上各个尚未进行(m,k)编码的对象的热度,将对象依其热度按从大到小的顺序排序,并将对象编号依次置于数组L中。假设排序之后的结果是LO1≥LO2≥LO3......≥LOH(H为流媒体服务器上当前对象个数)。当取P=10,且H个对象的(m,k)约束条件均为(9,10)时,为前P=10个对象O1,O2,……,O10创建(m,k)编码对象,并且将基于前10个对象O1,O2,……,O10的媒体流分别定位到MKO1,MKO2,MKO3,……,MKO10。假设媒体流S1,S2,S3,……,S10分别基于
O1,O2,O3,……,O10,且其他媒体流均未基于O1,O2,O3,……,O10中的任一个对象。记基于对象O1,O2,……,O10的媒体流分别为S1,S2,S3,……,S10,而基于MKO1,MKO2,MKO3,……,MKO10的媒体流分别为S1′,S2′,S3′……,S10′,占用的磁盘带宽分别为B1′,B2′,B3′,……,B10′。由(m,k)约束条件可知,Bi′≥0.9Bi,满足1≤i≤10。由此可知媒体流由S1,S2,S3,……,S10分别切换为S1′,S2′,S3′……,S10′之后,最多可节省0.9*10*1MB/s=9MB/s的磁盘带宽,然后进入满载判断步骤。此时重新计算流媒体服务器的负载R,R=102-9+10/120=0.8583,R<α,表明客户端到流媒体服务器之间的媒体流连接被接受。
在带宽重分配步骤,如果P取3,且H个对象的(m,k)约束条件均为(9,10)。则最多可节省0.9*3*1MB/s=2.7MB/s的磁盘带宽,然后进入满负载判断步骤。此时重新计算流媒体服务器的负载R,R=102-2.7+10/120=0.9108,易知R>α,此时再次进入带宽重分配步骤。首先流媒体服务器判断是否所有对象均已存在相应的(m,k)编码。判断的结果是并非所有对象均已存在相应的(m,k)编码,此时进入对象热度排序过程,计算流媒体服务器上所有尚未进行(m,k)编码的对象的热度,将对象依其热度按从大到小的顺序排序,并将对象编号依次置于数组L中。从数组L中顺次取P个对象进行(m,k)编码并将相应的媒体流定位到各个对象所对应的(m,k)编码对象上,最多可节省0.9*6*1MB/s=5.4MB/s的磁盘带宽,然后进入满负载判断步骤。此时重新计算流媒体服务器的负载R,R=102-5.4+10/120=0.8883,R<α,表明客户端到流媒体服务器之间的媒体流连接被接受。
Claims (1)
1.一种提高流媒体服务器并发媒体流数量的方法,在流媒体服务器上设置一个媒体流等待队列,包括:
(1)处理媒体流建立申请步骤;流媒体服务器每接收到客户端的媒体流建立申请,均将其置于媒体流等待队列队尾;
(2)计算负载步骤;判断媒体流等待队列是否为空,是则等待,否则从媒体流等待队列队头取出一个媒体流建立申请,计算流媒体服务器的负载R:
其中,N为流媒体服务器与客户端之间建立的媒体流的个数,Bi为第i个媒体流Si所占磁盘带宽,B为流媒体服务器所能提供的峰值总带宽;
(3)满载预判断步骤;判断R是否≥α,是则判定流媒体服务器满载,转步骤(5),否则判定流媒体服务器尚未满载,转步骤(4),α为***管理员预先设定的满载阈值,0<α<1;
(4)媒体流建立步骤;流媒体服务器建立客户端到流媒体服务器之间的媒体流连接,转步骤(6);
(5)带宽重分配步骤;使部分媒体流定位到相应的编码之后的媒体文件,顺序包括下述过程:
(5.1)流媒体服务器判断是否所有对象均已存在相应的(m,k)编码,是则拒绝媒体流建立申请,否则进行过程(5.2);
(5.2)对象热度排序过程;首先,计算流媒体服务器上各个尚未进行(m,k)编码的对象Oi的热度LOi,LOi=SOi,SOi为定位于对象Oi之上的媒体流个数;其次,将对象Oi依其热度按从大到小的顺序排序,并将对象编号依次置于数组L[NUM_OBJECT]中,NUM_OBJECT为流媒体服务器上对象的总个数,i=1,…,M;M为流媒体服务器上尚未进行(m,k)编码的对象个数;
(5.3)从数组L[NUM_OBJECT]中依次取出前P个对象进行(m,k)编码,并将编码之后的对象置于流媒体服务器的空闲块,P为***管理员事先设定的一个整数值;
(5.4)将读取热点对象Oi的请求定位到(m,k)编码之后的对象MKOi上;进行步骤(6);
(6)满载判断步骤;重新计算流媒体服务器的负载R,判断是否R≥α,是则转步骤(5),否则转步骤(2);
(7)(m,k)编码删除步骤;流媒体服务器周期性的计算其负载R和所有对象的访问频率,当R<β时,依对象访问频率由低到高依次删除相应对象的(m,k)编码,β为***管理员预先设定的轻载阈值,0<β<1;
所述步骤(1)、步骤(2)~(6)、步骤(7)三者独立进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100477941A CN101287002B (zh) | 2008-05-21 | 2008-05-21 | 一种提高流媒体服务器并发媒体流数量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100477941A CN101287002B (zh) | 2008-05-21 | 2008-05-21 | 一种提高流媒体服务器并发媒体流数量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101287002A CN101287002A (zh) | 2008-10-15 |
CN101287002B true CN101287002B (zh) | 2010-12-29 |
Family
ID=40058969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100477941A Expired - Fee Related CN101287002B (zh) | 2008-05-21 | 2008-05-21 | 一种提高流媒体服务器并发媒体流数量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101287002B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088486A (zh) * | 2010-12-31 | 2011-06-08 | 汉王科技股份有限公司 | 手写识别服务器及其处理方法和手写识别服务器集群*** |
CN103313094A (zh) * | 2012-03-14 | 2013-09-18 | 上海鱼游网络科技有限公司 | 一种基于流媒体的多媒体播放方法及*** |
CN107295080B (zh) * | 2017-06-19 | 2020-12-18 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
CN113296908B (zh) * | 2021-04-30 | 2022-07-29 | 重庆紫光华山智安科技有限公司 | 一种提高视频图像存取速度的方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688138A (zh) * | 2005-05-12 | 2005-10-26 | 复旦大学 | 大并发流媒体实时传送的方法 |
CN1744592A (zh) * | 2005-09-29 | 2006-03-08 | 西安交通大学 | 多源流媒体传输QoS控制方法 |
CN101026744A (zh) * | 2007-03-30 | 2007-08-29 | Ut斯达康通讯有限公司 | 分布式流媒体分发***及流媒体内存缓冲及调度分发方法 |
-
2008
- 2008-05-21 CN CN2008100477941A patent/CN101287002B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688138A (zh) * | 2005-05-12 | 2005-10-26 | 复旦大学 | 大并发流媒体实时传送的方法 |
CN1744592A (zh) * | 2005-09-29 | 2006-03-08 | 西安交通大学 | 多源流媒体传输QoS控制方法 |
CN101026744A (zh) * | 2007-03-30 | 2007-08-29 | Ut斯达康通讯有限公司 | 分布式流媒体分发***及流媒体内存缓冲及调度分发方法 |
Non-Patent Citations (1)
Title |
---|
徐光远等.面向并发服务的流媒体访问控制技术研究.《计算机与信息技术》.2005,(第12期),3-5. * |
Also Published As
Publication number | Publication date |
---|---|
CN101287002A (zh) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509276B (zh) | 一种边缘计算环境中的视频任务动态迁移方法 | |
Vin et al. | A statistical admission control algorithm for multimedia servers | |
Xiang et al. | Joint latency and cost optimization for erasurecoded data center storage | |
CN109547566B (zh) | 一种基于内存分配的多线程上传优化方法 | |
CN102857548B (zh) | 一种移动云计算资源优化配置方法 | |
CN103150347B (zh) | 基于文件热度的动态副本管理方法 | |
CN102055650B (zh) | 负载均衡方法及***和管理服务器 | |
CN103294548B (zh) | 一种基于分布式文件***的io请求调度方法和*** | |
CN102984280B (zh) | 针对社交类云存储网络应用的数据备份***和方法 | |
US10482084B2 (en) | Optimized merge-sorting of data retrieved from parallel storage units | |
CN102859961B (zh) | 具有自适应的文件处理的分布式视频转码*** | |
CN107249035B (zh) | 一种等级动态可变的共享重复数据存储和读取方法 | |
CN103986766A (zh) | 自适应负载均衡作业任务调度方法及装置 | |
JPWO2014061481A1 (ja) | 適応的圧縮アルゴリズムを用いたデータ転送装置及びデータ転送システム | |
CN107302561A (zh) | 一种云存储***中热点数据副本放置方法 | |
CN101287002B (zh) | 一种提高流媒体服务器并发媒体流数量的方法 | |
CN106933868A (zh) | 一种调整数据分片分布的方法及数据服务器 | |
CN103095788A (zh) | 一种基于网络拓扑的云资源调度策略 | |
CN104811646B (zh) | 基于连续存储模型的多视频流数据并发调制及缓冲的存储方法 | |
US8751750B2 (en) | Cache device, data management method, program, and cache system | |
CN102480502B (zh) | 一种i/o负载均衡方法及i/o服务器 | |
CN102970349B (zh) | 一种dht网络的存储负载均衡方法 | |
Huang et al. | Load balancing for clusters of VOD servers | |
CN107566341A (zh) | 一种基于联邦分布式文件存储***的数据持久化存储方法及*** | |
CN110247855B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101229 Termination date: 20200521 |
|
CF01 | Termination of patent right due to non-payment of annual fee |