CN102550037B - 用于提供缓冲器管理机构的方法和系统 - Google Patents

用于提供缓冲器管理机构的方法和系统 Download PDF

Info

Publication number
CN102550037B
CN102550037B CN200980159992.XA CN200980159992A CN102550037B CN 102550037 B CN102550037 B CN 102550037B CN 200980159992 A CN200980159992 A CN 200980159992A CN 102550037 B CN102550037 B CN 102550037B
Authority
CN
China
Prior art keywords
buffer
state
life span
inertia
file fragmentation
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
Application number
CN200980159992.XA
Other languages
English (en)
Other versions
CN102550037A (zh
Inventor
陈琨
凌捷
唐文虎
谢锦扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson China Communications Co Ltd
Original Assignee
Ericsson China Communications Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ericsson China Communications Co Ltd filed Critical Ericsson China Communications Co Ltd
Publication of CN102550037A publication Critical patent/CN102550037A/zh
Application granted granted Critical
Publication of CN102550037B publication Critical patent/CN102550037B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2408Monitoring of the upstream path of the transmission network, e.g. client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种用于提供点播环境中缓冲器管理机构以保持服务器存储器中的流行内容分段以便减少可重复盘I/O并改进服务器性能的方法和系统。该方法包括:当存储在缓冲器中的文件分段被任何用户请求时,将缓冲器的状态设置成活动;当用户不再请求存储在缓冲器中的文件分段时,将缓冲器的状态设置成不活动,处于不活动状态的缓冲器具有生存时间;当生存时间降到0时,将缓冲器的状态从不活动改变为自由。该系统包括:至少一个检测器,用于检测请求存储在缓冲器中的文件分段的用户的数量,并为处理器提供检测结果;一个处理器,用于根据检测结果确定缓冲器的状态,并为至少一个状态设置单元提供指令;以及至少一个状态设置单元,用于基于来自处理器的指令设置缓冲器的状态。

Description

用于提供缓冲器管理机构的方法和系统
技术领域
本发明涉及流播媒体技术领域。具体地说,本发明涉及用于提供点播环境中缓冲器管理机构的方法和系统。
背景技术
随着数字媒体技术的出现,通过地理上分布式的网络向大量客户提供点播服务(诸如视频点播(VoD)服务)是可行的。为了保证向客户连续传送视频流,将流播服务器用于存储资源。
视频流播服务器是能够向顾客所在地的机顶盒或移动终端流播成百上千视频流的装置。内容本身可驻留在CD、常规旋转盘、闪存盘乃至RAM上。由于其每数据量的低价格,今天使用最多的存储装置是常规盘。在视频点播应用中,流行内容在热点时段期间可被许多用户流播。
对于服务器、特别是对于盘I/O的要求可能非常高,原因在于存在大量用户。同时流播数千个流执行许多盘I/O和网络I/O,并引入了巨大的CPU使用率。各种软件系统采用的传统缓冲器管理策略基于数据“热点集”的概念,而数据“热点集”的概念不适合于视频点播环境。
为了最小化CPU使用率,直接I/O可在大多数操作系统中应用于执行许多盘I/O的应用。使用直接I/O是指应用将旁路操作系统高速缓存;因此,引入应用级高速缓存是非常重要的,以便减少热点内容的可重复盘I/O,并改进VoD应用性能。
在大多数VoD应用中,盘的输入和输出是媒体流播的瓶颈。为了克服这个问题,本领域技术人员引入名为缓冲器高速缓存机构的一种机构来改进流播服务器的性能。当前,大多数VoD流播服务器采纳通用内容缓冲器再用机构。在这个机构中,一般而言,根据用户的需要,每次只会从常规盘加载一段内容。然而,整个VoD文件大小通常对于服务器太大而无法加载到服务器存储器。因此,一个VoD文件通常被分成多个分段,并以分段的形式存储在VoD内容存储装置中。在一个内容分段被加载到一个缓冲存储器之后,这个分段能够被流播给需要这个内容分段的任何用户。当这个分段不再被任何用户请求时,这个分段将被清除,并且这个缓冲存储器可用另一个分段刷新。然而,上面例证的解决方案有问题。主要是,在现有VoD应用解决方案中的缓冲机构中存在下面所列出的一些缺陷。
对于VoD应用,存在所有最终用户中的80%在某一时段期间将观看20%的热点内容的统计规则。根据当前解决方案,一个热点内容分段在没有用户需要它时将被释放,并且将不再存储在服务器存储器中。然而,这个热点内容可能在它被释放之后很快就被需要了,原因在于这个内容分段是非常流行的。这将导致同一内容分段的可重复盘I/O,这在某一时段期间将仍是很高的。
根据现有解决方案的一个方面,当应用服务器在空闲时间期间没有工作载荷时,所有缓冲器都将被释放,并且所有内容分段都将被清除。如果服务器再次遇到高业务,则所有内容分段都需要从盘重新加载,这为服务器带来了更重的负担。
从而,将期望提供一种用于提供点播环境中的有效缓冲器管理机构的方法和系统以克服上述缺点。
发明内容
因此,本发明的一个目的是通过提供一种在点播环境中用于提供TV解决方案中缓冲器管理机构以保持服务器存储器中的流行内容分段以便减少可重复盘I/O并改进服务器性能的方法和系统来解决上述缺点。
根据本发明的一个方面,提供一种管理在点播环境中的流播服务器中配置的缓冲器的方法,其中在流播服务器的存储池中分配多个缓冲器以存储点播文件的分段,所述方法包括:当存储在缓冲器中的文件分段被任何用户请求时,将缓冲器的状态设置成活动;当用户不再请求存储在缓冲器中的文件分段时,将缓冲器的状态设置成不活动,处于不活动状态的缓冲器具有生存时间;当生存时间降到0时,将缓冲器的状态从不活动改变为自由。
根据上述实施例的一个方面,其中当缓冲器处于活动或不活动状态时,缓冲器中的文件分段不可释放,并且当缓冲器处于自由状态时,缓冲器中的文件分段可释放。
根据上述实施例的一个方面,其中处于不活动状态的缓冲器可由请求存储在这个缓冲器中的文件分段的任何用户再调用;并且处于自由状态的缓冲器当请求时可用任何文件分段重新填充。
根据上述实施例的一个方面,其中所述生存时间当这个缓冲器的状态从不活动改变为活动时立即中止,并且在缓冲器处于活动状态期间保持不变。
根据上述实施例的一个方面,其中所述生存时间在缓冲器处于不活动状态期间每间隔ts下降预定时间td。
根据上述实施例的一个方面,其中根据文件分段的大小、存储池的大小和文件分段中含有的内容的流行度确定时间td和间隔ts。
根据上述实施例的一个方面,其中当缓冲器的状态从活动改变为不活动时,根据如下公式确定存储点播文件的文件分段的缓冲器的生存时间:
tl=tc+PeakUser*influencecoefficient*ts
其中tl表示缓冲器的生存时间,tc表示缓冲器的当前生存时间,PeakUser是当缓冲器处于活动状态时请求所述文件分段的用户总数量,influencecoefficient(影响系数)是第一文件分段后面的分段数量,ts是下降tl的间隔。
根据上述实施例的一个方面,其中当存储文件分段的缓冲器的状态从活动改变为不活动时,根据如下公式确定存储点播文件中的所述分段后面的一个参考文件分段的一个参考缓冲器的生存时间:
tln=tcn+PeakUser*(influencecoefficient-n)*ts
其中tln表示参考缓冲器的生存时间,tcn表示参考缓冲器的当前生存时间,n是文件分段与参考文件分段之间的距离,其中0<n<influencecoefficient-1。
根据上述实施例的一个方面,其中当缓冲器的状态从活动改变为不活动时,PeakUser的值被设置为0。
根据上述实施例的一个方面,其中当缓冲器的状态从不活动改变为活动时,缓冲器的生存时间被指定为tc。
根据上述实施例的一个方面,其中当参考缓冲器的状态从活动改变为不活动时,参考缓冲器的生存时间tln被加到当前生存时间tcn。
根据本发明的另一个方面,提供一种用于管理在点播环境中的流播服务器中配置的缓冲器的系统,其中在流播服务器的存储池中分配多个缓冲器以存储点播文件的分段,所述系统包括:至少一个检测器,用于检测请求存储在缓冲器中的文件分段的用户数量,并为处理器提供检测结果;处理器,用于根据检测结果确定缓冲器的状态,并为至少一个状态设置单元提供指令;至少一个状态设置单元,用于基于来自处理器的指令设置缓冲器的状态,其中状态设置单元当文件分段被任何用户请求时将缓冲器的状态设置成活动,当用户不再请求存储在缓冲器中的文件分段时将缓冲器的状态设置成不活动,并且当处于不活动状态的缓冲器的生存时间降到0时将缓冲器的状态从不活动改变为自由。
根据上述实施例的一个方面,其中在每个缓冲器中配置缓冲器数据信息存储器以保持有关当前用户的值以及处于不活动状态的缓冲器的生存时间的信息,当检测器检测到请求存储在所述缓冲器中的文件分段的用户数量时,当前用户的值由检测器检测。
根据上述实施例的一个方面,其中如果缓冲器处于活动或不活动状态,则处理器确定缓冲器中的文件分段不可释放,并且如果缓冲器处于自由状态,则处理器确定缓冲器中的文件分段可释放。
根据上述实施例的一个方面,其中处理器确定处于不活动状态的缓冲器可由请求存储在这个缓冲器中的文件分段的任何用户再调用;并且处理器确定当被请求时可用任何文件分段重新填充处于自由状态的缓冲器。
根据上述实施例的一个方面,其中生存时间当状态设置单元将这个缓冲器的状态从不活动改变为活动时立即中止,并且这个缓冲器的状态在缓冲器处于活动状态期间保持不变。
根据上述实施例的一个方面,其中所述系统还包括与存储池连接的定时器以便在缓冲器处于不活动状态期间将所述生存时间每间隔ts下降预定时间td。
所述生存时间在缓冲器处于不活动状态期间每间隔ts下降预定时间td。
根据上述实施例的一个方面,其中处理器根据文件分段的大小、存储池的大小和文件分段中含有的内容的流行度确定时间td和间隔ts。
根据上述实施例的一个方面,其中当状态设置单元将缓冲器的状态从活动改变为不活动时,处理器根据如下公式确定存储点播文件的文件分段的缓冲器的生存时间:
tl=tc+PeakUser*influencecoefficient*ts
其中tl表示缓冲器的生存时间,tc表示缓冲器的当前生存时间,PeakUser是当缓冲器处于活动状态时请求所述文件分段的用户总数量,influencecoefficient是第一文件分段后面的分段数量,ts是下降tl的间隔。
根据上述实施例的一个方面,其中当状态设置单元将存储文件分段的缓冲器的状态从活动改变为不活动时,处理器根据如下公式确定存储点播文件中的分段后面的一个参考文件分段(01n)的一个参考缓冲器的生存时间:
tln=tcn+PeakUser*(influencecoefficient-n)*ts
其中tln表示参考缓冲器的生存时间,tcn表示参考缓冲器的当前生存时间,n是文件分段与参考文件分段(01n)之间的距离,其中0<n<influencecoefficient-1。
根据上述实施例的一个方面,其中当状态设置单元将缓冲器的状态从活动改变为不活动时,PeakUser的值降到0。
根据上述实施例的一个方面,其中当状态设置单元将缓冲器的状态从不活动改变为活动时,处理器将缓冲器的生存时间指定为tc。
根据上述实施例的一个方面,其中当状态设置单元第一次将缓冲器的状态从活动改变为不活动时,当前生存时间tc0为0。
根据本发明的又一方面,提供一种用于提供包括在以上实施例中所定义的系统的缓冲器管理机构的流播服务器。
根据本发明的又一方面,提供一种用于通过通信网络提供点播服务的通信系统,包括用于存储点播文件的内容存储装置和如上所述的流播服务器。
根据本发明的又一方面,提供一种包含用于管理在点播环境中的流播服务器中配置的缓冲器的逻辑的计算机可读介质,其中在流播服务器的存储池中分配多个缓冲器以存储点播文件的分段,所述逻辑可操作以:当存储在缓冲器中的文件分段被任何用户请求时,将缓冲器的状态设置成活动;当用户不再请求存储在缓冲器中的文件分段时,将缓冲器的状态设置成不活动,处于不活动状态的缓冲器配置有生存时间t1;当生存时间t1降到0时,将缓冲器的状态从不活动改变为自由。
根据如上所述的方法和系统,可容易理解,已经避免了可重复I/O读取,并且通过提供如下改进已经大大增强了服务器性能:
-当所有用户都完成流播一个流行VoD文件分段时,VoD文件分段不会从存储器中立即移除。使用预报机构计算VoD文件分段的生存时间。更多同时存在的用户需要VoD文件分段,该生存时间将比其它的更长。在当新用户需要流播该分段的生存时间期间,可立即供应它,无需从存储装置加载它。
-引入生存时间影响系数来延长后面VoD文件分段的生存时间,以防止后面分段在最终用户流播它们之前被移除。
-当流播服务器处于空闲状态时,其存储池仍保留流行的VoD文件分段以减少当服务器再次忙时的I/O读取。
-服务器根据VoD内容分段生存时间能够给出在任何运行时间的流行内容状态的图表。
附图说明
本发明的以上和其它方面、特征和优点根据结合附图给出的如下更具体描述将更明显,附图中:
图1是例证点播系统的简化系统体系结构的示意视图;
图2是示出根据本发明一个实施例在缓冲器不同状态之间变换的流程图;
图3是示出图2中所例证的详细变换的图解;以及
图4是与用于计算生存时间的预报机构相关的框图。
对应的附图标记在附图的几个视图中指示对应的组件。
具体实施方式
如上面讨论的,现有解决方案没将如何延长流行的VoD内容分段再用的可能性考虑进去。而且,现有解决方案没利用当前内容分段与其它内容分段、特别是当前分段后面的分段之间的关系。具体而言,如果一个内容的一个分段是非常热门的,则随后的分段可能也是流行的。在这点上,存在对于提供可应用于VoD应用的定义良好的预报机构的需要。
然而,对于本领域技术人员而言,如何执行对流行VoD内容再用的动态优化以便减少流播服务器的I/O读取,总是富有挑战性的问题。下面实施例提供了解决上面描绘的技术问题的解决方案。
下面阐述的实施例表示使本领域技术人员能够实施本发明的必要信息,并例证了实施本发明的最佳模式。在按照所附的附图阅读了如下描述后,本领域的技术人员应该理解本发明的概念,并将认识到本文未具体提出的这些概念的应用。
根据本发明的方法和系统不仅可用在视频点播服务中,而且可在其它多媒体点播服务中被采用。在如下描述中,在VoD环境中例证了本发明的方法和系统,然而,本领域技术人员可理解,采纳根据本发明的方法和/或系统的任何其它点播服务都落在本公开和所附权利要求书的范围内。
在这个申请文件的说明书和权利要求书通篇中,术语“STB”包括但不限于机顶盒;术语“RAM”包括但不限于随机存取存储器;术语“CD”包括但不限于光盘;术语“VoD”包括但不限于视频点播;术语“MT”包括但不限于移动终端。
如本领域技术人员已知的,VoD文件按时间线帧顺序存储在VoD内容存储装置中。为了易于管理,并且此外,为了易于传输,如现有技术中所提供的一样,VoD文件在逻辑上被分成多个连续的内容分段,每个内容分段对应于VoD文件的每个部分,并且配置有固定大小。这个分区命名索引文件(partitionnamingindexfile)可使用离线工具生成,并与VoD文件一起存储在存储装置中。在本发明的一个实施例中,如在图1中所示的,VoD文件201按照内容分段(例如分段0到分段n)存储在VoD内容存储装置200中,各分段对应于vod索引地图中的一项。
参考图1,当用户(未示出)通过通信网络(未示出)向流播服务器100提交关于流播VoD文件201的请求时,流播服务器100尝试发现并定位存储在VoD内容存储装置200中的VoD文件201。然后,VoD应用中的结构VoD索引地图将加载VoD索引文件,其中vodindexmap(VoD索引地图)中的每个元素都描述有关VoD内容分段的信息:
-分段相关流帧的开始时间和停止时间;
-VoD文件中的分段相对位置;
-从盘加载分段的缓冲器指针;指针一开始是空的,原因在于真实的分段直到任何用户需要流播该分段才会被加载。
一般而言,当请求VoD文件201的一个分段时,服务器100将从存储池112借缓冲器,以从视频内容存储装置200加载被请求分段;然后,流播传送模块120将向最终用户传送正在请求的分段,其中每个用户可布置有流传送时间表。
具体而言,如在图1中所示的,VoD文件201及其索引文件vodindexmap在第一用户请求它时将被打开。如果有多于一个用户同时请求同一VoD内容,则这些用户将共享同一VoD索引地图和含有被请求内容分段的同一缓冲器。
当流播服务器100开始流播被请求内容分段(例如分段0)时,在服务器100中将建立具有可配置大小的存储池112以便以后存储VoD分段。另一方面,在流播服务器100的存储池112中分配多个缓冲器(诸如000到00n),以便进一步存储VoD文件201的被请求分段。
这里,根据本发明的一个优选实施例,提供了用于管理池中这些缓冲器的管理机构。
具体而言,缓冲器可配置有不同状态,如图2所示。存储池112中的缓冲器000、001......00n的不同状态定义如下:
-活动S100是指用户正在请求存储在缓冲器中的文件分段;
-不活动S200是指用户不再请求存储在缓冲器中的文件分段,但该缓冲器仍具有不等于0的生存时间;
-自由S300是指缓冲器中没有内容分段,或缓冲器含有一个内容分段,但缓冲器的生存时间是0。
以缓冲器000和分段010为例,当缓冲器000中没有内容分段时,缓冲器000的状态是自由S300;当内容分段010被一个用户请求时,这个分段将被加载到缓冲器000中,并且缓冲器000的状态从自由S300改变为活动S100,如步骤T1′所例证的。当用户不再请求内容分段010时,缓冲器000的状态从活动S100改变为不活动S200,如在步骤T2所示的,并且同时缓冲器000配置有生存时间。当处于不活动状态S200的缓冲器000中的分段010被一个用户再次请求时,缓冲器000的状态改变回活动S100。这在步骤T1中指示了。当处于不活动S200状态的缓冲器000的生存时间降到0时,缓冲器100的状态从不活动S200改变为自由S300,这在步骤T3中示出了。那意味着,生存时间为0的不活动缓冲器000在任何用户想要加载尚未加载到存储池112中的新VoD分段情况下可用新VoD分段重新填充并且可被移动到活动S100状态。
应该理解到,在如图2所示的实施例中,当缓冲器000处于活动S100状态或不活动S200状态时,缓冲器000中的文件分段010不可释放,并且当缓冲器000处于自由S300状态时,缓冲器000中的文件分段010可释放。处于不活动S200状态的缓冲器000可由请求存储在这个缓冲器000中的文件分段010的任何用户再调用;并且当被请求时可用任何文件分段重新填充处于自由S300状态的缓冲器000。
根据前述实施例,当缓冲器000中的内容分段010不再被任何用户请求时,缓冲器000中的内容分段010不会被立即清除。相反,缓冲器000将在逻辑上移动到命名生存时间大于0的处于不活动状态的具有分段的缓冲器的列表。用全局定时器134管理不活动缓冲器。
图3指示以上例证的实施例的更详细说明。在每个缓冲器中提供有缓冲器数据信息存储器以存储有关每个缓冲器的状态的参数。例如,这些参数可以是当前请求内容分段010的用户数量、是指请求内容分段010的用户总数量的用户峰值、缓冲器的当前生存时间等等。当存储分段010的缓冲器000处于活动S100状态时,当前用户的数量应该大于0,用户的总数量也应该大于0。当缓冲器000的状态从活动S100转变为不活动S200时,当前用户的数量以及用户峰值被改变为0。另一方面,将基于这些参数计算这个缓冲器的生存时间,如下面进一步例证的。生存时间由定时器134管理。定时器134与存储池112连接以便在缓冲器处于不活动状态期间将生存时间每间隔ts下降预定时间td。具体而言,当定时器134期满时,生存时间将减小一个值。当生存时间降到0时,则状态S200将改变为自由S300。当缓冲器处于S300状态时,在缓冲器数据信息存储器中没有参数。当缓冲器000被任何用户再调用时,S200状态或S300状态可改变为S100。
转回到图1,为了实现缓冲器管理机构,在流播服务器100中提供了包括处理器131、检测器132和状态设置单元133的系统130。检测器132用于检测请求存储在缓冲器000中的文件分段010的用户数量,并为处理器131提供检测结果。处理器131用于根据检测结果确定缓冲器000的状态,并为状态设置单元133提供指令。状态设置单元133配置用于基于来自处理器131的指令设置缓冲器000的状态。
状态设置单元133当文件分段010被任何用户请求时将缓冲器000的状态设置成活动S100,当用户不再请求存储在缓冲器000中的文件分段010时将缓冲器000的状态设置成不活动S200,并且当处于不活动状态的缓冲器000的生存时间降到0时将缓冲器000的状态从不活动S200改变为自由S300。
此外,在每个缓冲器(000,001...)中配置缓冲器数据信息存储器(未示出)以保持有关当前用户的值以及处于不活动状态的缓冲器的生存时间的信息,当检测器132检测到请求存储在缓冲器000中的文件分段010的用户的数量时,当前用户的值由检测器132检测。
如果缓冲器000处于活动S100状态或不活动S200状态,则处理器131确定缓冲器000中的文件分段010不可释放,并且如果缓冲器000处于自由S300状态,则处理器131确定缓冲器000中的文件分段010可释放。此外,如果缓冲器000处于活动S100状态或不活动S200状态,则处理器131确定缓冲器000中的文件分段010不可释放,并且如果缓冲器000处于自由S300状态,则处理器131确定缓冲器000中的文件分段010可释放。处理器131还确定处于不活动S200状态的缓冲器000可由请求存储在缓冲器000中的文件分段010的任何用户再调用;并且处理器131确定当被请求时可用任何文件分段重新填充处于自由S300状态的缓冲器000。
在上面提到的实施例中,引入了新概念“生存时间”。主要是,如上面例证的,当缓冲器000的状态转变到不活动时,缓冲器000将配置有参数“生存时间”。这里,在本发明中,“生存时间”是指缓冲器将处于不活动状态多久。事实上,“生存时间”是不活动缓冲器的生存。至于不活动缓冲器,每当对应于这个缓冲器的定时器期满时,其生存时间就下降预定值td。如上所述,在流播服务器100中提供有定时器134。当缓冲器转变成不活动状态时,定时器起动。当定时器134期满时,假定处于不活动状态的缓冲器000的生存时间下降预定值。此后定时器134重新起动并再次计数。当生存时间降到0时,不活动缓冲器将为自由,并且可用于填充新分段。另一方面,如果不活动缓冲器中的VoD分段在生存时间期间被任何用户请求,则缓冲器将移动回状态“活动”。
处于不活动状态的一个缓冲器的生存时间计算如下。
在一个优选实施例中,一个最终用户需要一个VoD文件201,并且该用户将从VoD文件的开头开始。然后,使用缓冲器000将VoD文件201的分段010加载到存储池112。在这个时刻,同时存在的用户计数是1,并且用户峰值是1。在当分段010被第一用户流播时的时段期间,另两个用户也需要分段010。然后,当前,同时存在的用户计数将增加到3,并且用户峰值也将增加到3。这里,当第一次加载这个分段时,分段010的生存时间应该为0。
当三个用户全都离开分段010时,同时存在的用户计数将降到0,但用户峰值仍保持为3,以标记这个内容分段的流行程度。然后,根据上面所描述的原理,含有分段010的缓冲器000的状态应该从活动移动到不活动,并且根据用户峰值和影响系数(influencecoefficent)计算生存时间。这里引入这个参数影响系数来解决如下情形:如果VoD文件201的分段010是热点,则VoD文件的随后分段是热点的可能性也很高。
具体而言,当缓冲器000的状态从活动转变成不活动时,根据公式(1)计算缓冲器000的生存时间:
tl=tc+PeakUser*influencecoefficient*ts(1)
其中tl表示缓冲器000的生存时间,tc表示缓冲器000的当前生存时间,PeakUser是当缓冲器000处于活动状态时请求文件分段010的用户总数量,influencecoefficient是文件分段010后面的分段数量,ts是下降tl的间隔。
根据文件分段010的大小、存储池112的大小和文件分段010中含有的内容流行度确定间隔ts和td。
含有分段010的处于不活动状态的缓冲器000的生存时间由全局定时器134管理。定时器134每间隔ts期满。无论何时全局定时器ts超时,每个不活动缓冲器(例如缓冲器000)的生存时间就将下降预定值td,例如“1”。根据内容分段的大小、存储池112的大小和文件分段的流行度确定定时器td和间隔ts。
在缓冲器000的生存时间期间,也就是说,当缓冲器000处于不活动状态时,如果有任何用户请求流分段010,则缓冲器000的状态将从不活动移动到活动。在这个时刻,生存时间立即中止,并且生存时间值被保存和保持,同时用户峰值将从0重新计算。当缓冲器000再次回到不活动状态时,保存的生存时间将用作当前生存时间,其用在公式(1)中。当缓冲器000的状态从不活动S200改变为活动S100时,并且在缓冲器000处于活动S100状态期间保持不变。
在缓冲器000的生存时间期间,如果直到缓冲器000的生存时间降到0,才再有用户需要分段010,则缓冲器000将被标记为自由,但仍填充有分段010,直到用新VoD分段刷新缓冲器000为止。以这种方式,只要服务器存储池未完全被占用,VoD分段就可存在于服务器存储池112中。这是有利的,原因在于在应用中因此延长了VoD分段的再用。因此,如果任何用户后来将请求分段010,则这个分段不必从内容存储装置200重新加载。因此,避免了可重复盘I/O。
根据以上实施例,当存储文件分段010的缓冲器000的状态从活动S100改变为不活动S200时,也可根据如下公式同时计算一个参考缓冲器(诸如存储分段010后面的参考文件分段01n的00n)的生存时间:
tln=tcn+PeakUser*(influencecoefficient-n)*ts(2)
其中tln表示参考缓冲器的生存时间,tcn表示参考缓冲器的当前生存时间,n是文件分段010与参考文件分段之间的距离,其中0<n<influencecoefficient-1。
当存储文件分段010的缓冲器000的状态从活动S100改变为不活动S200时,计算参数tln,其指的是含有内容分段01n的缓冲器00n的生存时间。参考缓冲器00n的生存时间tln将保持为更新的当前生存时间tcn。
图4示出了生存时间计算的示例。当缓冲器000处于活动S100状态时,当前用户计数1,并且用户峰值计数2。当前生存时间为0。当最后的用户离开分段010时,当前用户计数0。在这个时间,根据公式(1),用为0的当前生存时间、为2的用户峰值和预定影响参数和预定时隙计算缓冲器000的生存时间。同时还根据公式(2)计算后面缓冲器(即缓冲器001到00n)的生存时间。
应该理解到,第一处理单元301、第二处理单元302、确定单元303、计数器304、生成单元305和定时器Tscn306中的一个或多个可包括硬件、软件或它们的任何组合。在至少一个实施例中,这些部分包含执行与如上论述的方法步骤对应的操作的指令。
这种指令可实施为包括存储元件(例如存储器)中存储的程序指令的一个或多个计算机程序。
应该认识到,本发明可实现为计算机可读介质,计算机可读介质包含用于管理在点播环境中的流播服务器100中配置的缓冲器的逻辑,其中在流播服务器100的存储池112中分配多个缓冲器以存储点播文件201的分段,该逻辑可操作以:当存储在缓冲器000中的文件分段010被任何用户请求时,将缓冲器000的状态设置成活动S100;当用户不再请求存储在缓冲器000中的文件分段010时,将缓冲器000的状态设置成不活动S200,处于不活动S200状态的缓冲器000配置有生存时间tl;当生存时间tl降到0时,将缓冲器000的状态从不活动S200改变为自由S300。
根据本发明的另一个实施例,还提供一种用于提供包括上面所定义的系统的缓冲器管理机构的流播服务器100。
根据本发明的另一个实施例,还提供一种用于通过通信网络提供点播服务的通信系统,包括用于存储点播文件的内容存储装置200和上面所描绘的流播服务器100。
在这个申请文件的说明书和权利要求书的通篇,词语“包括”、“包含”以及这些词语的变型意思是“包含但不限于”,并且不打算(并且不)排除其它组件、整数或步骤。
在这个申请文件的说明书和权利要求书通篇,单数包含多个,除非上下文另外要求。具体地说,在使用不定冠词的情况下,该申请文件要理解为考虑了复数以及单数,除非上下文另外要求。
将理解到,为了例证和说明目的,已经给出了本发明实施例的以上说明。这个说明不是详尽的,并且不将所要求的发明局限于所公开的准确形式。修改和改变根据以上说明是可能的,或者可从实施本发明中获取。权利要求书及其等效方案定义了本发明的范围。

Claims (26)

1.一种用于管理在点播环境中的流播服务器(100)中配置的缓冲器的方法,其中在所述流播服务器(100)的存储池(112)中分配多个缓冲器以存储点播文件(201)的分段,所述方法包括:
当存储在缓冲器(000)中的文件分段(010)被任何用户请求时,将所述缓冲器(000)的状态设置(T1)成活动(S100);
当用户不再请求存储在所述缓冲器(000)中的所述文件分段(010)时,将所述缓冲器(000)的状态设置(T2)成不活动(S200),处于不活动(S200)状态的所述缓冲器(000)具有生存时间,其中所述生存时间是指所述缓冲器(000)将处于不活动状态多久;以及
当所述生存时间降到0时,将所述缓冲器(000)的状态从不活动(S200)改变(T3)为自由(S300),
其中当所述缓冲器(000)处于不活动(S200)状态时,所述缓冲器(000)中的所述文件分段(010)不可释放,以及
其中处于不活动(S200)状态的所述缓冲器(000)可由请求存储在这个缓冲器(000)中的所述文件分段(010)的任何用户再调用。
2.如权利要求1所述的方法,其中当所述缓冲器(000)处于活动(S100)状态时,所述缓冲器(000)中的所述文件分段(010)不可释放,并且当所述缓冲器(000)处于自由(S300)状态时,所述缓冲器(000)中的所述文件分段(010)可释放。
3.如权利要求1所述的方法,其中当处于自由(S300)状态的所述缓冲器(000)被请求时,可用任何文件分段重新填充处于自由(S300)状态的所述缓冲器(000)。
4.如权利要求1所述的方法,其中所述生存时间当这个缓冲器(000)的状态从不活动(S200)改变为活动(S100)时立即中止,并且在所述缓冲器(000)处于活动(S100)状态期间保持不变。
5.如权利要求1所述的方法,其中所述生存时间在所述缓冲器(000)处于不活动状态期间每时间间隔ts下降预定时间td。
6.如权利要求5所述的方法,其中根据所述文件分段(010)的大小、所述存储池(112)的大小和所述文件分段(010)中含有的内容的流行度确定时间td和时间间隔ts。
7.如权利要求1所述的方法,其中当所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,根据如下公式确定存储所述点播文件(201)的所述文件分段(010)的所述缓冲器(000)的生存时间:
其中tl表示所述缓冲器(000)的生存时间,tc表示所述缓冲器(000)的当前生存时间,PeakUser是当所述缓冲器(000)处于活动(S100)状态时请求所述文件分段(010)的用户总数量,influencecoefficient是所述文件分段(010)后面的分段数量,ts是下降tl的时间间隔。
8.如权利要求7所述的方法,其中当存储所述文件分段(010)的所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,根据如下公式确定存储所述点播文件(201)中的所述文件分段(010)后面的一个参考文件分段(01n)的一个参考缓冲器(00n)的生存时间:
其中tln表示所述参考缓冲器(00n)的生存时间,tcn表示所述参考缓冲器(00n)的当前生存时间,n是所述文件分段(010)与所述参考文件分段(01n)之间的距离,其中0<n<influencecoefficient-1。
9.如权利要求7所述的方法,其中当所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,PeakUser的值被设置为0。
10.如权利要求7所述的方法,其中当所述缓冲器(000)的状态从不活动(S200)改变为活动(S100)时,所述缓冲器(000)的生存时间被指定为tc。
11.如权利要求8所述的方法,其中当所述参考缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,所述参考缓冲器(00n)的生存时间tln被加到所述当前生存时间tcn。
12.一种用于管理在点播环境中的流播服务器(100)中配置的缓冲器的系统,其中在所述流播服务器(100)的存储池(112)中分配多个缓冲器(000,001...)以存储点播文件(201)的分段,所述系统包括:
至少一个检测器(132),用于检测请求存储在所述缓冲器(000)中的文件分段(010)的用户数量,并为处理器(131)提供检测结果;所述处理器(131),用于根据所述检测结果确定所述缓冲器(000)的状态,并为至少一个状态设置单元(133)提供指令;
至少一个状态设置单元(133),用于基于来自所述处理器(131)的指令设置所述缓冲器(000)的状态,其中所述状态设置单元(133)当所述文件分段(010)被任何用户请求时将所述缓冲器(000)的状态设置成活动(S100),当用户不再请求存储在所述缓冲器(000)中的所述文件分段(010)时将所述缓冲器(000)的状态设置成不活动(S200),处于不活动(S200)状态的所述缓冲器(000)具有生存时间,其中所述生存时间是指所述缓冲器(000)将处于不活动状态多久,并且当处于不活动状态的所述缓冲器(000)的生存时间降到0时将所述缓冲器(000)的状态从不活动(S200)改变为自由(S300),
其中如果所述缓冲器(000)处于不活动(S200)状态,则所述处理器(131)确定所述缓冲器(000)中的所述文件分段(010)不可释放,以及
其中所述处理器(131)确定处于不活动(S200)状态的所述缓冲器(000)可由请求存储在这个缓冲器(000)中的所述文件分段(010)的任何用户再调用。
13.如权利要求12所述的系统,其中在每个缓冲器(000,001...)中配置缓冲器数据信息存储器以保持有关请求存储在所述缓冲器(000)中的所述文件分段(010)的用户数量以及处于不活动状态的缓冲器的生存时间的信息。
14.如权利要求12所述的系统,其中如果所述缓冲器(000)处于活动(S100)状态,则所述处理器(131)确定所述缓冲器(000)中的所述文件分段(010)不可释放,并且如果所述缓冲器(000)处于自由(S300)状态,则所述处理器(131)确定所述缓冲器(000)中的所述文件分段(010)可释放。
15.如权利要求12所述的系统,其中所述处理器(131)确定当处于自由(S300)状态的所述缓冲器(000)被请求时可用任何文件分段重新填充处于自由(S300)状态的所述缓冲器(000)。
16.如权利要求12所述的系统,其中所述生存时间当所述状态设置单元(133)将这个缓冲器(000)的状态从不活动(S200)改变为活动(S100)时立即中止,并且这个缓冲器(000)的状态在所述缓冲器(000)处于活动(S100)状态期间保持不变。
17.如权利要求12所述的系统,还包括与所述存储池(112)连接的定时器(134)以便在所述缓冲器(000)处于不活动状态期间将所述生存时间每时间间隔ts下降预定时间td。
18.如权利要求17所述的系统,其中所述处理器(131)根据所述文件分段(010)的大小、所述存储池(112)的大小和所述文件分段(010)中含有的内容的流行度确定时间td和时间间隔ts。
19.如权利要求12所述的系统,其中所述处理器(131)当所述状态设置单元(133)将所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,根据如下公式确定存储所述点播文件(201)的所述文件分段(010)的所述缓冲器(000)的生存时间:
其中tl表示所述缓冲器(000)的生存时间,tc表示所述缓冲器(000)的当前生存时间,PeakUser是当所述缓冲器(000)处于活动(S100)状态时请求所述文件分段(010)的用户总数量,influencecoefficient是所述文件分段(010)后面的分段数量,ts是下降tl的时间间隔。
20.如权利要求19所述的系统,其中所述处理器(131)当所述状态设置单元(133)将存储所述文件分段(010)的所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,根据如下公式确定存储所述点播文件(201)中的所述文件分段(010)后面的一个参考文件分段(01n)的一个参考缓冲器(00n)的生存时间:
其中tln表示所述参考缓冲器(00n)的生存时间,tcn表示所述参考缓冲器(00n)的当前生存时间,n是所述文件分段(010)与所述参考文件分段(01n)之间的距离,其中0<n<influencecoefficient-1。
21.如权利要求19所述的系统,其中当所述状态设置单元(133)将所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,PeakUser的值降到0。
22.如权利要求19所述的系统,其中所述处理器(131)当所述状态设置单元(133)将所述缓冲器(000)的状态从不活动(S200)改变为活动(S100)时将所述缓冲器(000)的生存时间指定为tc。
23.如权利要求20所述的系统,其中当所述状态设置单元(133)第一次将所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,当前生存时间tc0为0。
24.一种用于管理在点播环境中的流播服务器(100)中配置的缓冲器的设备,其中在所述流播服务器(100)的存储池(112)中分配多个缓冲器以存储点播文件(201)的分段,所述设备包括:
用于当存储在缓冲器(000)中的文件分段(010)被任何用户请求时,将所述缓冲器(000)的状态设置(T1)成活动(S100)的装置;
用于当用户不再请求存储在所述缓冲器(000)中的所述文件分段(010)时,将所述缓冲器(000)的状态设置(T2)成不活动(S200)的装置,处于不活动(S200)状态的所述缓冲器(000)具有生存时间,其中所述生存时间是指所述缓冲器(000)将处于不活动状态多久;以及
用于当所述生存时间降到0时,将所述缓冲器(000)的状态从不活动(S200)改变(T3)为自由(S300)的装置,
其中当所述缓冲器(000)处于不活动(S200)状态时,所述缓冲器(000)中的所述文件分段(010)不可释放,以及
其中处于不活动(S200)状态的所述缓冲器(000)可由请求存储在这个缓冲器(000)中的所述文件分段(010)的任何用户再调用。
25.一种流播服务器(100),用于提供包括如权利要求12所述的系统的缓冲器管理机构。
26.一种用于通过通信网络提供点播服务的通信系统,包括用于存储点播文件(201)的内容存储装置(200)和如权利要求25所述的流播服务器(100)。
CN200980159992.XA 2009-04-16 2009-04-16 用于提供缓冲器管理机构的方法和系统 Expired - Fee Related CN102550037B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2009/000404 WO2010118556A1 (en) 2009-04-16 2009-04-16 A method of and a system for providing buffer management mechanism

Publications (2)

Publication Number Publication Date
CN102550037A CN102550037A (zh) 2012-07-04
CN102550037B true CN102550037B (zh) 2015-12-09

Family

ID=42982105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980159992.XA Expired - Fee Related CN102550037B (zh) 2009-04-16 2009-04-16 用于提供缓冲器管理机构的方法和系统

Country Status (4)

Country Link
US (1) US9060192B2 (zh)
EP (1) EP2420056B1 (zh)
CN (1) CN102550037B (zh)
WO (1) WO2010118556A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483970B (zh) * 2016-06-08 2020-09-18 华为技术有限公司 一种确定热门直播视频的方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0739136A2 (en) * 1995-04-07 1996-10-23 International Business Machines Corporation Multi-node media server with efficient work scheduling
CN1914844A (zh) * 2003-12-29 2007-02-14 韩国电子通信研究院 移动通信系统中重传分组的方法和其上记录程序的计算机可读介质
CN101356777A (zh) * 2005-12-21 2009-01-28 英特尔公司 在交换结构网络中管理芯片上队列

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461415A (en) * 1994-03-15 1995-10-24 International Business Machines Corporation Look-ahead scheduling to support video-on-demand applications
WO1998028915A2 (en) * 1996-12-23 1998-07-02 Koninklijke Philips Electronics N.V. Method and system for supplying data streams
WO2003005674A1 (en) * 2001-07-06 2003-01-16 Sharp Kabushiki Kaisha Packet communication method, communication system, communication apparatus, communication program and recording medium containing communication program
US20040128346A1 (en) * 2001-07-16 2004-07-01 Shmuel Melamed Bandwidth savings and qos improvement for www sites by catching static and dynamic content on a distributed network of caches
US7631239B2 (en) 2003-12-29 2009-12-08 Electronics And Telecommunications Research Institute Method for retransmitting packet in mobile communication system and computer-readable medium recorded program thereof
JP4950295B2 (ja) * 2006-08-21 2012-06-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) エンドユーザにトリプルプレイサービスを提供するための分散型サーバネットワーク
US8438603B2 (en) * 2006-12-22 2013-05-07 Time Warner Cable Inc. Methods and apparatus for supporting content distribution
US7996483B2 (en) * 2007-06-20 2011-08-09 Microsoft Corporation Adaptive caching in broadcast networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0739136A2 (en) * 1995-04-07 1996-10-23 International Business Machines Corporation Multi-node media server with efficient work scheduling
CN1914844A (zh) * 2003-12-29 2007-02-14 韩国电子通信研究院 移动通信系统中重传分组的方法和其上记录程序的计算机可读介质
CN101356777A (zh) * 2005-12-21 2009-01-28 英特尔公司 在交换结构网络中管理芯片上队列

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Pinned demand paging based on the access frequency of video files in video servers;Yin-Fu Huang et al.;《The Journal of Systems and Software》;20051231;第78卷(第3期);第225页右栏第1段,第4.1节,图2,4-6 *

Also Published As

Publication number Publication date
EP2420056A4 (en) 2013-01-23
EP2420056A1 (en) 2012-02-22
US20120030722A1 (en) 2012-02-02
CN102550037A (zh) 2012-07-04
US9060192B2 (en) 2015-06-16
EP2420056B1 (en) 2015-01-21
WO2010118556A1 (en) 2010-10-21

Similar Documents

Publication Publication Date Title
Kamath et al. Continuous Media Sharing in Multimedia Database Systems.
US8010985B2 (en) Method and system for resource management in a video on-demand server
US20080016220A1 (en) File system and method for administrating storage space and bandwidth in a computer system serving media assets
CA2142380C (en) Buffer management policy for an on-demand video server
US8239573B2 (en) Off-peak background delivery
CN104469391B (zh) 一种基于云平台的数字电视内容分发系统及方法
US20150149622A1 (en) Scheduling Requests for Data Transfers in a Multi-Device Storage System
CN102687112A (zh) 在分布式存储系统中管理文件的装置及方法
CN106445409A (zh) 一种分布式块存储的数据写入方法及装置
CN102550037B (zh) 用于提供缓冲器管理机构的方法和系统
CN107329695A (zh) 一种分布式存储内存管理方法、系统及计算机存储介质
Huang et al. Load balancing for clusters of VOD servers
Chen et al. SRB: Shared running buffers in proxy to exploit memory locality of multiple streaming media sessions
Leung et al. Use of analytical performance models for system sizing and resource allocation in interactive video-on-demand systems employing data sharing techniques
Chang et al. Medic: A memory and disk cache for multimedia clients
Wu et al. Optimal scheduling for parallel CBR video servers
WO2009090163A1 (en) A method for data storage means and a system with data storage means
KR101431198B1 (ko) 미디어 서버 및 미디어 데이터 선반입 방법
Sarhan et al. An integrated resource sharing policy for multimedia storage servers based on network-attached disks
Hollfelder et al. An admission control framework for applications with variable consumption rates in client-pull architectures
Wujuan et al. A client-assisted interval caching strategy for video-on-demand systems
Christodoulakis et al. The KYDONIA multimedia information server
Gollapudi et al. Buffer model and management in distributed multimedia presentation systems
Garcı́a-Martı́nez et al. Efficient memory management in video on demand servers
CN112671666B (zh) Io处理方法及装置

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: 20151209

Termination date: 20170416

CF01 Termination of patent right due to non-payment of annual fee