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

文档序号:7738960阅读:126来源:国知局
专利名称:用于提供缓冲器管理机构的方法和系统的制作方法
技术领域
本发明涉及流播媒体技术领域。具体地说,本发明涉及用于提供点播环境中缓冲器管理机构的方法和系统。
背景技术
随着数字媒体技术的出现,通过地理上分布式的网络向大量客户提供点播服务 (诸如视频点播(VoD)服务)是可行的。为了保证向客户连续传送视频流,将流播服务器用于存储资源。视频流播服务器是能够向顾客所在地的机顶盒或移动终端流播成百上千视频流的装置。内容本身可驻留在CD、常规旋转盘、闪存盘乃至RAM上。由于其每数据量的低价格,今天使用最多的存储装置是常规盘。在视频点播应用中,流行内容在热点时段期间可被许多用户流播。对于服务器、特别是对于盘I/O的要求可能非常高,原因在于存在大量用户。同时流播数千个流执行许多盘I/O和网络1/0,并引入了巨大的CPU使用率。各种软件系统采用的传统缓冲器管理策略基于数据“热点集”的概念,而数据“热点集”的概念不适合于视频点播环境。为了最小化CPU使用率,直接I/O可在大多数操作系统中应用于执行许多盘I/O 的应用。使用直接I/O是指应用将旁路操作系统高速缓存;因此,引入应用级高速缓存是非常重要的,以便减少热点内容的可重复盘1/0,并改进VoD应用性能。在大多数VoD应用中,盘的输入和输出是媒体流播的瓶颈。为了克服这个问题,本领域技术人员引入名为缓冲器高速缓存机构的一种机构来改进流播服务器的性能。当前, 大多数VoD流播服务器采纳通用内容缓冲器再用机构。在这个机构中,一般而言,根据用户的需要,每次只会从常规盘加载一段内容。然而,整个VoD文件大小通常对于服务器太大而无法加载到服务器存储器。因此,一个VoD文件通常被分成多个分段,并以分段的形式存储在VoD内容存储装置中。在一个内容分段被加载到一个缓冲存储器之后,这个分段能够被流播给需要这个内容分段的任何用户。当这个分段不再被任何用户请求时,这个分段将被清除,并且这个缓冲存储器可用另一个分段刷新。然而,上面例证的解决方案有问题。主要是,在现有VoD应用解决方案中的缓冲机构中存在下面所列出的一些缺陷。对于VoD应用,存在所有最终用户中的80 %在某一时段期间将观看20 %的热点内容的统计规则。根据当前解决方案,一个热点内容分段在没有用户需要它时将被释放,并且将不再存储在服务器存储器中。然而,这个热点内容可能在它被释放之后很快就被需要了, 原因在于这个内容分段是非常流行的。这将导致同一内容分段的可重复盘1/0,这在某一时段期间将仍是很高的。根据现有解决方案的一个方面,当应用服务器在空闲时间期间没有工作载荷时, 所有缓冲器都将被释放,并且所有内容分段都将被清除。如果服务器再次遇到高业务,则所有内容分段都需要从盘重新加载,这为服务器带来了更重的负担。
从而,将期望提供一种用于提供点播环境中的有效缓冲器管理机构的方法和系统以克服上述缺点。

发明内容
因此,本发明的一个目的是通过提供一种在点播环境中用于提供TV解决方案中缓冲器管理机构以保持服务器存储器中的流行内容分段以便减少可重复盘I/O并改进服务器性能的方法和系统来解决上述缺点。根据本发明的一个方面,提供一种管理在点播环境中的流播服务器中配置的缓冲器的方法,其中在流播服务器的存储池中分配多个缓冲器以存储点播文件的分段,所述方法包括当存储在缓冲器中的文件分段被任何用户请求时,将缓冲器的状态设置成活动; 当用户不再请求存储在缓冲器中的文件分段时,将缓冲器的状态设置成不活动,处于不活动状态的缓冲器具有生存时间;当生存时间降到0时,将缓冲器的状态从不活动改变为自根据上述实施例的一个方面,其中当缓冲器处于活动或不活动状态时,缓冲器中的文件分段不可释放,并且当缓冲器处于自由状态时,缓冲器中的文件分段可释放。根据上述实施例的一个方面,其中处于不活动状态的缓冲器可由请求存储在这个缓冲器中的文件分段的任何用户再调用;并且处于自由状态的缓冲器当请求时可用任何文件分段重新填充。根据上述实施例的一个方面,其中所述生存时间当这个缓冲器的状态从不活动改变为活动时立即中止,并且在缓冲器处于活动状态期间保持不变。根据上述实施例的一个方面,其中所述生存时间在缓冲器处于不活动状态期间每间隔ts下降预定时间td。根据上述实施例的一个方面,其中根据文件分段的大小、存储池的大小和文件分段中含有的内容的流行度确定时间td和间隔ts。根据上述实施例的一个方面,其中当缓冲器的状态从活动改变为不活动时,根据如下公式确定存储点播文件的文件分段的缓冲器的生存时间tl = tc+PeakUser*influence coefficient*ts其中tl表示缓冲器的生存时间,tc表示缓冲器的当前生存时间,PeakUser是当缓冲器处于活动状态时请求所述文件分段的用户总数量,influence coefficient (影响系数)是第一文件分段后面的分段数量,ts是下降tl的间隔。根据上述实施例的一个方面,其中当存储文件分段的缓冲器的状态从活动改变为不活动时,根据如下公式确定存储点播文件中的所述分段后面的一个参考文件分段的一个参考缓冲器的生存时间tin = tcn+PeakUser*(influence coefficient-n)*ts其中tin表示参考缓冲器的生存时间,ten表示参考缓冲器的当前生存时间,η是文件分段与参考文件分段之间的距离,其中0 < η < influencecoefficient-1。根据上述实施例的一个方面,其中当缓冲器的状态从活动改变为不活动时, PeakUser的值被设置为0。根据上述实施例的一个方面,其中当缓冲器的状态从不活动改变为活动时,缓冲器的生存时间被指定为tc。根据上述实施例的一个方面,其中当参考缓冲器的状态从活动改变为不活动时, 参考缓冲器的生存时间tin被加到当前生存时间ten。根据本发明的另一个方面,提供一种用于管理在点播环境中的流播服务器中配置的缓冲器的系统,其中在流播服务器的存储池中分配多个缓冲器以存储点播文件的分段, 所述系统包括至少一个检测器,用于检测请求存储在缓冲器中的文件分段的用户数量,并为处理器提供检测结果;处理器,用于根据检测结果确定缓冲器的状态,并为至少一个状态设置单元提供指令;至少一个状态设置单元,用于基于来自处理器的指令设置缓冲器的状态,其中状态设置单元当文件分段被任何用户请求时将缓冲器的状态设置成活动,当用户不再请求存储在缓冲器中的文件分段时将缓冲器的状态设置成不活动,并且当处于不活动状态的缓冲器的生存时间降到0时将缓冲器的状态从不活动改变为自由。根据上述实施例的一个方面,其中在每个缓冲器中配置缓冲器数据信息存储器以保持有关当前用户的值以及处于不活动状态的缓冲器的生存时间的信息,当检测器检测到请求存储在所述缓冲器中的文件分段的用户数量时,当前用户的值由检测器检测。根据上述实施例的一个方面,其中如果缓冲器处于活动或不活动状态,则处理器确定缓冲器中的文件分段不可释放,并且如果缓冲器处于自由状态,则处理器确定缓冲器中的文件分段可释放。根据上述实施例的一个方面,其中处理器确定处于不活动状态的缓冲器可由请求存储在这个缓冲器中的文件分段的任何用户再调用;并且处理器确定当被请求时可用任何文件分段重新填充处于自由状态的缓冲器。根据上述实施例的一个方面,其中生存时间当状态设置单元将这个缓冲器的状态从不活动改变为活动时立即中止,并且这个缓冲器的状态在缓冲器处于活动状态期间保持不变。根据上述实施例的一个方面,其中所述系统还包括与存储池连接的定时器以便在缓冲器处于不活动状态期间将所述生存时间每间隔ts下降预定时间td。所述生存时间在缓冲器处于不活动状态期间每间隔ts下降预定时间td。根据上述实施例的一个方面,其中处理器根据文件分段的大小、存储池的大小和文件分段中含有的内容的流行度确定时间td和间隔ts。根据上述实施例的一个方面,其中当状态设置单元将缓冲器的状态从活动改变为不活动时,处理器根据如下公式确定存储点播文件的文件分段的缓冲器的生存时间tl = tc+PeakUser*influence coefficient*ts其中tl表示缓冲器的生存时间,tc表示缓冲器的当前生存时间,PeakUser是当缓冲器处于活动状态时请求所述文件分段的用户总数量,influence coefficient是第一文件分段后面的分段数量,ts是下降tl的间隔。根据上述实施例的一个方面,其中当状态设置单元将存储文件分段的缓冲器的状态从活动改变为不活动时,处理器根据如下公式确定存储点播文件中的分段后面的一个参考文件分段(Oln)的一个参考缓冲器的生存时间tin = tcn+PeakUser*(influence coefficient-n)*ts其中tin表示参考缓冲器的生存时间,ten表示参考缓冲器的当前生存时间,η是文件分段与参考文件分段(Oln)之间的距离,其中0 < η < influence coefficient-1。根据上述实施例的一个方面,其中当状态设置单元将缓冲器的状态从活动改变为不活动时,PeakUser的值降到0。根据上述实施例的一个方面,其中当状态设置单元将缓冲器的状态从不活动改变为活动时,处理器将缓冲器的生存时间指定为tc。根据上述实施例的一个方面,其中当状态设置单元第一次将缓冲器的状态从活动改变为不活动时,当前生存时间tcO为0。根据本发明的又一方面,提供一种用于提供包括在以上实施例中所定义的系统的缓冲器管理机构的流播服务器。根据本发明的又一方面,提供一种用于通过通信网络提供点播服务的通信系统, 包括用于存储点播文件的内容存储装置和如上所述的流播服务器。根据本发明的又一方面,提供一种包含用于管理在点播环境中的流播服务器中配置的缓冲器的逻辑的计算机可读介质,其中在流播服务器的存储池中分配多个缓冲器以存储点播文件的分段,所述逻辑可操作以当存储在缓冲器中的文件分段被任何用户请求时, 将缓冲器的状态设置成活动;当用户不再请求存储在缓冲器中的文件分段时,将缓冲器的状态设置成不活动,处于不活动状态的缓冲器配置有生存时间、;当生存时间、降到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”包括但不限于随机存取存储器;术语“⑶”包括但不限于光盘;术语“VoD”包括但不限于视频点播;术语“MT”包括但不限于移动终端。如本领域技术人员已知的,VoD文件按时间线帧顺序存储在VoD内容存储装置中。 为了易于管理,并且此外,为了易于传输,如现有技术中所提供的一样,VoD文件在逻辑上被分成多个连续的内容分段,每个内容分段对应于VoD文件的每个部分,并且配置有固定大小。这个分区命名索引文件(partition naming index file)可使用离线工具生成,并与 VoD文件一起存储在存储装置中。在本发明的一个实施例中,如在图1中所示的,VoD文件 201按照内容分段(例如分段O到分段η)存储在VoD内容存储装置200中,各分段对应于 vod索引地图中的一项。参考图1,当用户(未示出)通过通信网络(未示出)向流播服务器100提交关于流播VoD文件201的请求时,流播服务器100尝试发现并定位存储在VoD内容存储装置 200中的VoD文件201。然后,VoD应用中的结构VoD索引地图将加载VoD索引文件,其中 vodindexmap^oD索引地图)中的每个元素都描述有关VoD内容分段的信息-分段相关流帧的开始时间和停止时间;-VoD文件中的分段相对位置;-从盘加载分段的缓冲器指针;指针一开始是空的,原因在于真实的分段直到任何用户需要流播该分段才会被加载。一般而言,当请求VoD文件201的一个分段时,服务器100将从存储池112借缓冲器,以从视频内容存储装置200加载被请求分段;然后,流播传送模块120将向最终用户传送正在请求的分段,其中每个用户可布置有流传送时间表。具体而言,如在图1中所示的,VoD文件201及其索引文件vodindexmap在第一用户请求它时将被打开。如果有多于一个用户同时请求同一 VoD内容,则这些用户将共享同一 VoD索引地图和含有被请求内容分段的同一缓冲器。
当流播服务器100开始流播被请求内容分段(例如分段0)时,在服务器100中将建立具有可配置大小的存储池112以便以后存储VoD分段。另一方面,在流播服务器100 的存储池112中分配多个缓冲器(诸如000到OOn),以便进一步存储VoD文件201的被请求分段。这里,根据本发明的一个优选实施例,提供了用于管理池中这些缓冲器的管理机构。具体而言,缓冲器可配置有不同状态,如图2所示。存储池112中的缓冲器000、 001......OOn的不同状态定义如下-活动SlOO是指用户正在请求存储在缓冲器中的文件分段;-不活动S200是指用户不再请求存储在缓冲器中的文件分段,但该缓冲器仍具有不等于0的生存时间;-自由S300是指缓冲器中没有内容分段,或缓冲器含有一个内容分段,但缓冲器的生存时间是0。以缓冲器000和分段010为例,当缓冲器000中没有内容分段时,缓冲器000的状态是自由S300 ;当内容分段010被一个用户请求时,这个分段将被加载到缓冲器000中,并且缓冲器000的状态从自由S300改变为活动S100,如步骤Tl'所例证的。当用户不再请求内容分段010时,缓冲器000的状态从活动SlOO改变为不活动S200,如在步骤T2所示的, 并且同时缓冲器000配置有生存时间。当处于不活动状态S200的缓冲器000中的分段010 被一个用户再次请求时,缓冲器000的状态改变回活动S100。这在步骤Tl中指示了。当处于不活动S200状态的缓冲器000的生存时间降到0时,缓冲器100的状态从不活动S200 改变为自由S300,这在步骤T3中示出了。那意味着,生存时间为0的不活动缓冲器000在任何用户想要加载尚未加载到存储池112中的新VoD分段情况下可用新VoD分段重新填充并且可被移动到活动SlOO状态。应该理解到,在如图2所示的实施例中,当缓冲器000处于活动SlOO状态或不活动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处于活动SlOO状态时,当前用户的数量应该大于0,用户的总数量也应该大于0。当缓冲器000的状态从活动SlOO转变为不活动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处于活动SlOO状态或不活动S200状态,则处理器131确定缓冲器000中的文件分段010不可释放,并且如果缓冲器000处于自由S300状态,则处理器131 确定缓冲器000中的文件分段010可释放。此外,如果缓冲器000处于活动SlOO状态或不活动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,并CN 102550037 A
且用户峰值也将增加到3。这里,当第一次加载这个分段时,分段010的生存时间应该为0。当三个用户全都离开分段010时,同时存在的用户计数将降到0,但用户峰值仍保持为3,以标记这个内容分段的流行程度。然后,根据上面所描述的原理,含有分段010的缓冲器000的状态应该从活动移动到不活动,并且根据用户峰值和影响系数(influence coefficent)计算生存时间。这里引入这个参数影响系数来解决如下情形如果VoD文件 201的分段010是热点,则VoD文件的随后分段是热点的可能性也很高。具体而言,当缓冲器000的状态从活动转变成不活动时,根据公式(1)计算缓冲器 000的生存时间tl = tc+PeakUser*infIuencecoefficient^ts (1)其中tl表示缓冲器000的生存时间,tc表示缓冲器000的当前生存时间, PeakUser是当缓冲器000处于活动状态时请求文件分段010的用户总数量,influence coefficient是文件分段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改变为活动SlOO时,并且在缓冲器000处于活动SlOO状态期间保持不变。在缓冲器000的生存时间期间,如果直到缓冲器000的生存时间降到0,才再有用户需要分段010,则缓冲器000将被标记为自由,但仍填充有分段010,直到用新VoD分段刷新缓冲器000为止。以这种方式,只要服务器存储池未完全被占用,VoD分段就可存在于服务器存储池112中。这是有利的,原因在于在应用中因此延长了 VoD分段的再用。因此,如果任何用户后来将请求分段010,则这个分段不必从内容存储装置200重新加载。因此,避免了可重复盘I/O。根据以上实施例,当存储文件分段010的缓冲器000的状态从活动SlOO改变为不活动S200时,也可根据如下公式同时计算一个参考缓冲器(诸如存储分段010后面的参考文件分段Oln的OOn)的生存时间tin = tcn+PeakUser*(influence coefficient-n)*ts (2)其中tin表示参考缓冲器的生存时间,ten表示参考缓冲器的当前生存时间,η是文件分段010与参考文件分段之间的距离,其中0 < η < influence coefficient-1。当存储文件分段010的缓冲器000的状态从活动SlOO改变为不活动S200时,计算参数tin,其指的是含有内容分段Oln的缓冲器OOn的生存时间。参考缓冲器OOn的生存时间tin将保持为更新的当前生存时间ten。
图4示出了生存时间计算的示例。当缓冲器000处于活动SlOO状态时,当前用户计数1,并且用户峰值计数2。当前生存时间为0。当最后的用户离开分段010时,当前用户计数0。在这个时间,根据公式(1),用为0的当前生存时间、为2的用户峰值和预定影响参数和预定时隙计算缓冲器000的生存时间。同时还根据公式( 计算后面缓冲器(即缓冲器001到OOn)的生存时间。应该理解到,第一处理单元301、第二处理单元302、确定单元303、计数器304、生成单元305和定时器Tscn 306中的一个或多个可包括硬件、软件或它们的任何组合。在至少一个实施例中,这些部分包含执行与如上论述的方法步骤对应的操作的指令。这种指令可实施为包括存储元件(例如存储器)中存储的程序指令的一个或多个计算机程序。应该认识到,本发明可实现为计算机可读介质,计算机可读介质包含用于管理在点播环境中的流播服务器100中配置的缓冲器的逻辑,其中在流播服务器100的存储池112 中分配多个缓冲器以存储点播文件201的分段,该逻辑可操作以当存储在缓冲器000中的文件分段010被任何用户请求时,将缓冲器000的状态设置成活动SlOO ;当用户不再请求存储在缓冲器000中的文件分段010时,将缓冲器000的状态设置成不活动S200,处于不活动S200状态的缓冲器000配置有生存时间tl ;当生存时间tl降到0时,将缓冲器000的状态从不活动S200改变为自由S300。根据本发明的另一个实施例,还提供一种用于提供包括上面所定义的系统的缓冲器管理机构的流播服务器100。根据本发明的另一个实施例,还提供一种用于通过通信网络提供点播服务的通信系统,包括用于存储点播文件的内容存储装置200和上面所描绘的流播服务器100。在这个申请文件的说明书和权利要求书的通篇,词语“包括”、“包含”以及这些词语的变型意思是“包含但不限于”,并且不打算(并且不)排除其它组件、整数或步骤。在这个申请文件的说明书和权利要求书通篇,单数包含多个,除非上下文另外要求。具体地说,在使用不定冠词的情况下,该申请文件要理解为考虑了复数以及单数,除非上下文另外要求。将理解到,为了例证和说明目的,已经给出了本发明实施例的以上说明。这个说明不是详尽的,并且不将所要求的发明局限于所公开的准确形式。修改和改变根据以上说明是可能的,或者可从实施本发明中获取。权利要求书及其等效方案定义了本发明的范围。
权利要求
1.一种用于管理在点播环境中的流播服务器(100)中配置的缓冲器的方法,其中在所述流播服务器(100)的存储池(112)中分配多个缓冲器以存储点播文件O01)的分段,所述方法包括当存储在缓冲器(000)中的文件分段(010)被任何用户请求时,将所述缓冲器(000) 的状态设置(Tl)成活动(S100);当用户不再请求存储在所述缓冲器(000)中的所述文件分段(010)时,将所述缓冲器 (000)的状态设置(1 成不活动(S200),处于不活动(S200)状态的所述缓冲器(000)具有生存时间;当所述生存时间降到0时,将所述缓冲器(000)的状态从不活动(S200)改变(T3)为自由(S300)。
2.如权利要求1所述的方法,其中当所述缓冲器(000)处于活动(S100)状态或不活动(S200)状态时,所述缓冲器(000)中的所述文件分段(010)不可释放,并且当所述缓冲器(000)处于自由(S300)状态时,所述缓冲器(000)中的所述文件分段(010)可释放。
3.如权利要求1所述的方法,其中处于不活动(S200)状态的所述缓冲器(000)可由请求存储在这个缓冲器(000)中的所述文件分段(010)的任何用户再调用;并且当被请求时可用任何文件分段重新填充处于自由(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)时,根据如下公式确定存储所述点播文件O01)的所述文件分段(010)的所述缓冲器(000)的生存时间tl = tc+PeakUser^influence coefficient's其中tl表示所述缓冲器(000)的生存时间,tc表示所述缓冲器(000)的当前生存时间,PeakUser是当所述缓冲器(000)处于活动(S100)状态时请求所述文件分段(010)的用户总数量,influence coefficient是第一文件分段(010)后面的分段数量,ts是下降tl 的间隔。
8.如权利要求7所述的方法,其中当存储所述文件分段(010)的所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,根据如下公式确定存储所述点播文件(201) 中的所述分段(010)后面的一个参考文件分段(Oln)的一个参考缓冲器(OOn)的生存时间tin = tcn+PeakUser*(influence coefficient-n)*ts其中tin表示所述参考缓冲器(OOn)的生存时间,ten表示所述参考缓冲器(OOn)的当前生存时间,η是所述文件分段(010)与所述参考文件分段(Oln)之间的距离,其中0 < η < influence coefficient_l。
9.如权利要求7所述的方法,其中当所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,PeakUser的值被设置为0。
10.如权利要求7所述的方法,其中当所述缓冲器(000)的状态从不活动(S200)改变为活动(SlOO)时,所述缓冲器(000)的生存时间被指定为tc。
11.如权利要求8所述的方法,其中当所述参考缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,所述参考缓冲器(OOn)的生存时间tin被加到所述当前生存时间 tcn0
12.一种用于管理在点播环境中的流播服务器(100)中配置的缓冲器的系统,其中在所述流播服务器(100)的存储池(11 中分配多个缓冲器(000,001...)以存储点播文件 (201)的分段,所述系统包括至少一个检测器(132),用于检测请求存储在所述缓冲器(000)中的文件分段(010)的用户数量,并为处理器(131)提供检测结果;所述处理器(131),用于根据所述检测结果确定所述缓冲器(000)的状态,并为至少一个状态设置单元(13 提供指令;至少一个状态设置单元(133),用于基于来自所述处理器(131)的指令设置所述缓冲器(000)的状态,其中所述状态设置单元(13 当所述文件分段(010)被任何用户请求时将所述缓冲器 (000)的状态设置成活动(S100),当用户不再请求存储在所述缓冲器(000)中的所述文件分段(010)时将所述缓冲器(000)的状态设置成不活动(S200),并且当处于不活动状态的所述缓冲器(000)的生存时间降到0时将所述缓冲器(000)的状态从不活动(S200)改变为自由(S300)。
13.如权利要求12所述的系统,其中在每个缓冲器(000,001...)中配置缓冲器数据信息存储器以保持有关当前用户的值以及处于不活动状态的缓冲器的生存时间的信息,当所述检测器(13 检测到请求存储在所述缓冲器(000)中的文件分段(010)的用户数量时, 所述当前用户的值由所述检测器(132)检测。
14.如权利要求12所述的系统,其中如果所述缓冲器(000)处于活动(S100)状态或不活动(S200)状态,则所述处理器(131)确定所述缓冲器(000)中的所述文件分段(010) 不可释放,并且如果所述缓冲器(000)处于自由(S300)状态,则所述处理器(131)确定所述缓冲器(000)中的所述文件分段(010)可释放。
15.如权利要求12所述的系统,其中所述处理器(131)确定处于不活动(S200)状态的所述缓冲器(000)可由请求存储在这个缓冲器(000)中的所述文件分段(010)的任何用户再调用;并且所述处理器(131)确定当被请求时可用任何文件分段重新填充处于自由 (S300)状态的所述缓冲器(000)。
16.如权利要求12所述的系统,其中所述生存时间当所述状态设置单元(133)将这个缓冲器(000)的状态从不活动(S200)改变为活动(S100)时立即中止,并且这个缓冲器 (000)的状态在所述缓冲器(000)处于活动(S100)状态期间保持不变。
17.如权利要求12所述的系统,还包括与所述存储池(112)连接的定时器(134)以便在所述缓冲器(000)处于不活动状态期间将所述生存时间每间隔ts下降预定时间td。
18.如权利要求17所述的系统,其中所述处理器(131)根据所述文件分段(010)的大小、所述存储池(11 的大小和所述文件分段(010)中含有的内容的流行度确定时间td和间隔ts。
19.如权利要求12所述的系统,其中所述处理器(131)当所述状态设置单元(133)将所述缓冲器(000)的状态从活动(S100)改变为不活动(S200)时,根据如下公式确定存储所述点播文件O01)的所述文件分段(010)的所述缓冲器(000)的生存时间tl = tc+PeakUser^influence coefficient's其中tl表示所述缓冲器(000)的生存时间,tc表示所述缓冲器(000)的当前生存时间,PeakUser是当所述缓冲器(000)处于活动(S100)状态时请求所述文件分段(010)的用户总数量,influence coefficient是第一文件分段(010)后面的分段数量,ts是下降tl 的间隔。
20.如权利要求19所述的系统,其中所述处理器(131)当所述状态设置单元(133)将存储所述文件分段(010)的所述缓冲器(000)的状态从活动(S100)改变为不活动(S200) 时,根据如下公式确定存储所述点播文件001)中的所述分段(010)后面的一个参考文件分段(Oln)的一个参考缓冲器(OOn)的生存时间tin = tcn+PeakUser^ (influence coefficient-n)^ts其中tin表示所述参考缓冲器(OOn)的生存时间,ten表示所述参考缓冲器(OOn)的当前生存时间,η是所述文件分段(010)与所述参考文件分段(Oln)之间的距离,其中0 < η < influence coefficient_l。
21.如权利要求19所述的系统,其中当所述状态设置单元(133)将所述缓冲器(000) 的状态从活动(S100)改变为不活动(S200)时,PeakUser的值降到0。
22.如权利要求19所述的系统,其中所述处理器(131)当所述状态设置单元(133)将所述缓冲器(000)的状态从不活动(S200)改变为活动(S100)时将所述缓冲器(000)的生存时间指定为tc。
23.如权利要求20所述的系统,其中当所述状态设置单元(13 第一次将所述缓冲器 (000)的状态从活动(S100)改变为不活动(S200)时,当前生存时间tcO为0。
24.一种包含用于管理在点播环境中的流播服务器(100)中配置的缓冲器的逻辑的计算机可读介质,其中在所述流播服务器(100)的存储池(11 中分配多个缓冲器以存储点播文件001)的分段,所述逻辑可操作以当存储在缓冲器(000)中的文件分段(010)被任何用户请求时,将所述缓冲器(000) 的状态设置成活动(Sioo);当用户不再请求存储在所述缓冲器(000)中的所述文件分段(010)时,将所述缓冲器 (000)的状态设置成不活动(S200),处于不活动(S200)状态的所述缓冲器(000)配置有生存时间ti ;当所述生存时间、降到0时,将所述缓冲器(000)的状态从不活动(S200)改变为自由(S300)。
25.一种流播服务器(100),用于提供包括如权利要求12所述的系统的缓冲器管理机构。
26.一种用于通过通信网络提供点播服务的通信系统,包括用于存储点播文件(201) 的内容存储装置(200)和如权利要求25所述的流播服务器(100)。
全文摘要
本发明提供了一种用于提供点播环境中缓冲器管理机构以保持服务器存储器中的流行内容分段以便减少可重复盘I/O并改进服务器性能的方法和系统。该方法包括当存储在缓冲器中的文件分段被任何用户请求时,将缓冲器的状态设置成活动;当用户不再请求存储在缓冲器中的文件分段时,将缓冲器的状态设置成不活动,处于不活动状态的缓冲器具有生存时间;当生存时间降到0时,将缓冲器的状态从不活动改变为自由。该系统包括至少一个检测器,用于检测请求存储在缓冲器中的文件分段的用户的数量,并为处理器提供检测结果;一个处理器,用于根据检测结果确定缓冲器的状态,并为至少一个状态设置单元提供指令;以及至少一个状态设置单元,用于基于来自处理器的指令设置缓冲器的状态。
文档编号H04N21/426GK102550037SQ200980159992
公开日2012年7月4日 申请日期2009年4月16日 优先权日2009年4月16日
发明者凌捷, 唐文虎, 谢锦扬, 陈琨 申请人:爱立信(中国)通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1