一种流媒体数据缓存控制方法和装置的制作方法

文档序号:7691745阅读:240来源:国知局
专利名称:一种流媒体数据缓存控制方法和装置的制作方法
技术领域
本发明涉及计算机多媒体技术领域,更具体地说,涉及一种适合流媒体服务的数据緩存控制方法和装置。
背景技术
近段时间,流媒体作为一种新的媒体传送方式以其延时小、緩存容量要求低的特点而备受瞩目。
流媒体又叫流式媒体,具体指的是处于流媒体服务器把各种多^ 某体数
据处理成数据包后发送给同处于网络中的用户端,由该用户端对该数据包进
行接包,并播放。
具体的过程图1所示,包括以下步骤
步骤S101 、流士某体服务器接收用户端发送的请求信息。
步骤S102、根据该请求信息,为该用户端分配一个私有緩存区。
该私有緩存区仅可以由该用户端使用,而不能为其他用户端所用。
步骤S103、将相关流4某体数据交换进所述私有緩存区,并由该私有緩
存区提供给所述用户端。
可以看出,上述方法流程是为每个用户端分配一个私有緩存区,各用户
端都不能访问其他用户端的私有緩存区,这种方式至少存在以下问题
1、 緩存命中率较低
各緩存块的使用是随机的,意味着存储着被频繁访问的数据块的緩存块很有可能频繁变换。造成的后果就是緩存命中率较低。
2、 当同一数据被多个用户端访问时,由于各个用户端的私有緩存区不能共用,所以会存在多份相同的数据,从而导致緩存区数据的重复,并且需要为每个用户分配、维护、释放一个私有緩存区,工作量较大,工作效率较低。

发明内容
有鉴于此,本发明提供一种流媒体数据緩存控制方法和装置。以解决现有技术由于緩存区不能共用而导致緩存区数据重复、緩存命中率不能得到有效提升的问题。
本发明是这样实现的一种流媒体数据緩存控制方法,包括预处理步骤,包括
将流媒体数据分成若干数据块,并赋予不同标识;
将緩存按照数据块大小分成若干缓存块,根据使用情况为各緩存块确定权重,并将没有被用户锁定的緩存块按照权重大小进行排列;控制处理步骤,包括接收用户端发送的流媒体服务请求;
确定该流媒体服务请求对应的流媒体数据不存在緩存中,从没有被用户锁定的緩存块中选择权重最小的緩存块,将该流媒体数据交换进所述緩存块,提供给用户端。
优选的,按照以下步骤为各緩存块确定权重
确定该緩存块中的数据的新旧情况;
根据存储的数据的新旧情况确定緩存块的权重大小,数据越新,緩存块4又重越大;
优选的,按照以下步骤为各緩存块确定权重确定各緩存块的访问频率;
根据访问频率确定緩存块的权重大小,访问频率越高,緩存块权重越大。
优选的,确定緩存块的访问频率由以下方式实现计算前后两用户端离开緩存块的时间差;
根据时间差大小确定緩存块的权重大小,时间差越小,权重越大。优选的,为各緩存块确定权重由以下方式实现
根据緩存块中数据块热度高低确定緩存块的权重,数据块热度越高,緩存块权重越大。优选的,所述数据块热度为预先定义的,或者通过统计信息获得,所述统计信息指示预设时间段内的访问次数。
本发明同时还公开了 一种流媒体数据緩存控制装置,包括预处理单元,包括
第一处理单元,用于将流々某体数据分成若干it据块,并赋予不同标识;第二处理单元,用于将緩存按照数据块大小分成若干緩存块,根据使用
情况为各緩存块确定权重,并将没有被用户锁定的緩存块按照权重大小进行
排列;
信息接收单元,用于接收用户端发送的流媒体服务请求;
判断单元,用于判断该流媒体服务请求对应的流媒体数据是否存在緩存
中;
第三处理单元,用于获取所述判断单元的判断结果,当该判断结果指示緩存中不存在对应的流媒体数据时,从没有被用户锁定的緩存块中选择权重最小的緩存块,将该流媒体数据交换进所述緩存块,提供给用户端。
优选的,所述第二处理单元包括
緩存分块单元,用于按照数据块大小将緩存分成若干緩存块;权重确定单元,用于根据用户使用情况,为各緩存块确定权重;排列单元,用于将各緩存块按照权重大小排列。优选的,所述权重确定单元包括
第一确定单元,用于确定该緩存块中的数据的新旧情况,并根据存储的数据的新旧情况确定緩存块的权重大小;数据越新,緩存块权重越大。优选的,所述权重确定单元包括
第二确定单元,用于计算各緩存块的访问频率,根据访问频率确定緩存块的权重大小;
访问频率越高,緩存块权重越大。优选的,所述第二确定单元包括
频率计算单元,计算前后两用户端离开緩存块的时间差,并根据该时间差得出该凄t据块的访问频率;第三确定单元,用于比较各援存快访问频率大小,并依据大小顺序确定緩存块的权重大小。
优选的,所述权重确定单元包括
第四确定单元,用于根据緩存块中数据块热度高低确定緩存块的权重,数据块热度越高,緩存块权重越大。
从上述技术方案可知,与现有技术相比,本发明根据緩存块的使用情况,为各緩存块定义不同的权重,緩存块访问越频繁、緩存块存储数据块的热度越高,则表示其权重越大。而权重越大的緩存块中的数据被交换出去的概率越低。也就意味着用户端要求的流媒体数据存储在緩存中的概率就越大,即緩存命中率越高,也就意味着网络存储或本地磁盘和緩存之间的数据交换次数越少。
并且,本发明在对流媒体数据进行分块之后,赋予各流媒体数据块以独有的标识,从而使得在接收到用户端的流媒体服务请求时,根据其中的数据标识,较方便地判断其是否存在于緩存中, 一定程度上缩短了流媒体数据供给的耗时。
另外,同一緩存块能够同时为多个用户端提供数据,避免由于緩存块不能共用而可能带来的数据重叠的情况的发生,提高了緩存的使用效率。


图1为现有技术流程图2为本发明一种流媒体数据緩存控制方法的实现流程图;图3为可用于实现上述一些公开的实施例的装置的结构示意图;图4为上述实施例中第二处理单元的结构示意图;图5为一些实施例中权重确定单元的第一结构示意图;图6为一些实施例中权重确定单元的第二结构示意图;图7为一些实施例中权重确定单元的第三结构示意图。
具体实施例方式
为了解决现有技术存在的问题,本发明提供的技术方案的基本思想是将数据分块后赋予独有标识,将緩存按照数据块大小进行分块,赋予不同权重后,将没有用户锁定的自由緩存块进行排列,在接收到用户端的流媒体服务请求后,当对应的数据块不存在緩存中时,从没有用户锁定的自由緩存块中选择权重最小的緩存块,将本地硬盘或网络中的流媒体数据交换进緩存。
本文中的"緩存命中率"指的是用户要求的数据放置在緩存中的概率。由于缓存具有比内存更快的运行速度,如果把所有可能用到的数据都放进緩存,意味着用户的每次请求的数据都能够在缓存中找到,命中率就是
100% 了,那处理速度就会大大提高。但是这样做,需要较大的緩存,成本较高,所以緩存中只是存储最可能用到的一些数据。
为了使得本领域技术人员更好理解本发明技术方案,下面结合附图和实施例进行详细描述。
请参考图2,为本发明一种流媒体数据緩存控制方法的实现流程图。
预先进行流媒体数据分块及緩存分块操作。
其中,流媒体数据分块的具体过程为
将流媒体数据按照预设数据大d、进行分块,具体分块的方式可以是透明分块,所谓透明分块就是由底层软件或者硬件进行自动分块,上层应用及用户主7见上感觉不到。
所述预设数据大小可以根据网络运行情况进行调整。
进行数据分块后,对每个数据块进行标识,也即每个数据块都有自己独有的标识。假设流^ 某体数据标识为A,大小为10M,而所述预设数据大小为1M,则可以将该流媒体数据A分为10个数据块,其标识分别为A1、 A2、A3.......A10。
緩存分块操作的具体过程为
首先,针对上述流媒体数据分块,将全部緩存空间按照数据块大小划分成若干緩存块,以方便数据交换。
然后,为每个緩存块定义不同的权重,来表示各个緩存块的使用情况,存在多种方式定义緩存块的权重,下面仅介绍其中的几种
1、根据緩存块中数据的新旧程度来定义。可以定义数据越旧,权重越大,具体的定义可以根据用户需求或网络实际运行情况而定。
2、 根据緩存块访问频率来定义。
緩存块的访问频率越高,则意味着该緩存块的权重越大,緩存块的访问频率越低,则意味着该緩存块的权重越小。
根据緩存块的群聚特性来确定緩存块的访问频率
用户端对热点内容的访问具有高度可预见性和预知性,因此可以4巴前后两用户端离开某緩存块的时间差作为前一用户端离开该緩存块的可跟随性。緩存块的可跟随性越小,表示该緩存块的访问频率越高;緩存块的可跟随性越大,表示该緩存块的访问频率越低。
3、 根据緩存块緩存的数据块热度来定义。
所述数据块热度可以是预先定义的,也可以是根据统计緩存块的访问次数来确定的。数据块热度越高,则表示其被访问的频率越高,意味着存储该数据块的緩存块的权重越大;反之,数据块热度越低,则表示其被访问的频率也越低,意味着存储该数据块的緩存块的权重越小。
在向用户端提供流媒体数据时,需要为该用户端锁定一緩存块,然后将流媒体数据由该緩存块提供给所述用户端。因此,可以根据緩存块是否被锁
定来对緩存块进行分类,将未被锁定的緩存块定义为自由緩存块,将被锁定的緩存块定义为锁定緩存块。这就意味着,当緩存块从"未被锁定"转换为"被锁定"时,该緩存块即从自由緩存块转换为锁定緩存块;反之,当緩存块从"被锁定"转换为"未被锁定"时,该緩存块即从锁定緩存块转换为自由緩存块。
在完成緩存分块操作之后,将自由緩存块按照权重大小进行排序,可以从小到大排序,也可以从大到小排序,或者按照其他设定的顺序排序。
在预先完成上述所有操作之后,按照以下步骤进行流媒体数据緩存控

步骤S201、接收用户流媒体服务请求,确定目标流媒体数据。该服务请求中包含流^ 某体数据标识及关键参数,例如,包含标识A及关键参数为30s,该关键参数用于指示距离流媒体数据开头的播放时间,则根据该请求,确定目标流媒体数据为标识为A的流媒体数据,假设流媒体数据A总播放时间为5分钟,分为10个数据块(A1、 A2、 A3.......A10),每
一数据块对应30s,则可以确定其中的数据块A2为目标流媒体数据。
步骤S202、判断该流媒体数据是否存在緩存中,若是,进入步骤S203;否则,进入步骤S204。
根据流媒体数据的标识,确定其是否存在緩存中。步骤S203、锁定緩存块,并读取流媒体数据。
步骤S204、选择权重最小的自由緩存块,将流媒体数据交换进緩存。
在包含一个或多个自由緩存块的自由緩存块组中,选择权重最小的自由緩存块,将处于本地硬盘或者网络中的流媒体数据交换进内存。
当某一自由緩存块被选择,并存储流媒体数据时,其将变成锁定缓存块,从自由緩存块组中删除。于是,自由緩存块组中的自由緩存块按照权重大小重新排序。
步骤S205、锁定緩存块,并读取流媒体数据。
需要说明的是,上述流程中的步骤S203和步骤S205中的锁定緩存块的"锁定,,并不具有排他性,其锁定仅起到一个标识的作用,也就是说可以有多个用户同时锁定一个緩存块,同一个緩存块内的数据可以同时供多个用户端使用。
上述实施例与现有的流媒体数据緩存控制方法相比,至少具有以下优

1、緩存命中率高。
緩存块使用得越频繁,则表示其存储的数据块热度越高,被访问的频率越高,意味着越有可能受到用户端的关注。
现有技术没有区分緩存块的使用情况,也就是说,其緩存块的使用是随机的,对于各緩存块的选中频率都是一样,不论其存储的数据块的热度(访问频率),由此导致热度较高的数据块被频繁地读出读进,不利于緩存命中率的提升。
而本实施例根据緩存块的使用情况,为各緩存块定义不同的权重,緩存块访问越频繁、緩存块存储数据块的热度越高,则表示其权重越大。而权重越大的緩存块中的数据被交换出去的概率越低。也就意味着用户端要求的流媒体数据存储在緩存中的概率就越大,即緩存命中率越高,也就意味着网络存储或本地磁盘和緩存之间的数据交换次数越少。
2、 缩短流媒体数据供给的耗时。
本实施例在对流媒体数据进行分块之后,赋予各流媒体数据块以独有的标识,从而使得在接收到用户端的流媒体服务请求时,根据其中的数据标识,较方便地判断其是否存在于緩存中, 一定程度上缩短了流媒体数据供给的耗时。
另外上述緩存命中率高,也意味着流媒体数据的供给耗时缩短。
3、 同一緩存块能够同时为多个用户端提供数据,避免由于緩存块不能
共用而可能带来的数据重叠的情况的发生,提高了緩存的使用效率。
图3示出了可用于实现上述一些公开的实施例的装置的结构示意图。本装置包括预处理单元100、信息接收单元200、判断单元300和第三处理单元400。
所述预处理单元100包括第一处理单元111和第二处理单元112。其中,所述第一处理单元111用于将流々某体凄t据分成若干数据块,并赋
予不同标识;所述第二处理单元,用于将緩存按照数据块大小分成若干緩存
块,根据使用情况为各緩存块确定权重,并将没有被用户锁定的緩存块按照
权重大小进行排列。
所述信息接收单元200用于接收用户端发送的流媒体服务请求。所述判断单元300用于判断该流媒体服务请求对应的流媒体数据是否存
在緩存中。
所述第三处理单元400用于获取所述判断单元300的判断结果,当该判断结果指示緩存中不存在对应的流媒体数据时,从没有被用户锁定的自由緩存块中选择权重最小的緩存块,将该流媒体数据交换进所述缓存块,提供给用户端。
本装置具体的工作过程可参照前文方法部分的内容。图4示出了上述实施例中第二处理单元的结构示意图。第二处理单元112包括緩存分块单元113、权重确定单元114和排列单元115。其中,所述緩存分块单元113用于按照流媒体数据块将緩存分成若干緩存块;所述权重确定单元114用于根据用户使用情况,为各緩存块确定权重;所述排列单元115用于将各緩存块按照权重大小排列。
对于权重确定单元114来说,其确定緩存块的权重的方式可以存在多种。对应于各种方式,权重确定单元114具有不同的结构组成,下面通过几个实例进行:说明
图5为一些实施例中权重确定单元114的第一结构示意图。
如图所示,所述权重确定单元114包括
第一确定单元1141,用于确定该緩存块中的数据的新旧情况,并根据
存储的数据的新旧情况确定緩存块的权重大小。
可以根据要求进行设定,例如数据越新,緩存块权重越大,反之,数
据越旧,緩存块权重越小。
图6为 一些实施例中权重确定单元114的第二结构示意图。第二确定单元1142,用于确定各緩存块的访问频率,根据访问频率确
定緩存块的权重大小。
可以根据要求进行设定,例如访问频率越高,緩存块权重越大;反
之,访问频率越低,緩存块权重越小。
可以根据緩存块的群聚特性来确定緩存块的访问频率
用户端对热点内容的访问具有高度可预见性和预知性,因此可以把前后
两用户端离开某緩存块的时间差作为前一用户端离开该緩存块的可跟随性。
緩存块的可跟随性越小,表示该緩存块的访问频率越高;緩存块的可跟随性
越大,表示该緩存块的访问频率越低。
于是,第二确定单元1142可以由频率计算单元和第三确定单元组成。其中,所述频率计算单元用于计算前后两用户端离开緩存块的时间差,
并根据该时间差得出该数据块的访问频率。所述第三确定单元用于获取所述
频率计算单元的计算结果,比较各緩存快访问频率大小,并依据大小顺序确
定緩存块的权重大小。
图7为一些实施例中权重确定单元114的第三结构示意图。所述权重确定单元114包括第四确定单元1143用于根据緩存块中数据块热度高低确定緩存块的权重。
可以根据要求进行设定,例如数据块热度越高,緩存块权重越大;反之,数据块热度越低,緩存块权重越小。
本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
专业人员还可以进一步应能意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一 般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1、一种流媒体数据缓存控制方法,其特征在于,包括预处理步骤,包括将流媒体数据分成若干数据块,并赋予不同标识;将缓存按照数据块大小分成若干缓存块,根据使用情况为各缓存块确定权重,并将没有被用户锁定的缓存块按照权重大小进行排列;控制处理步骤,包括接收用户端发送的流媒体服务请求;确定该流媒体服务请求对应的流媒体数据不存在缓存中,从没有被用户锁定的缓存块中选择权重最小的缓存块,将该流媒体数据交换进所述缓存块,提供给用户端。
2、 如权利要求1所述控制方法,其特征在于,按照以下步骤为各緩存 块确定权重确定该緩存块中的数据的新旧情况;根据存储的数据的新旧情况确定緩存块的权重大小,数据越新,緩存块 权重越大。
3、 如权利要求1所述的控制方法,其特征在于,按照以下步骤为各緩 存块确定;K重确定各緩存块的访问频率;根据访问频率确定緩存块的权重大小,访问频率越高,緩存块权重越大。
4、 如权利要求3所述的控制方法,其特征在于,确定緩存块的访问频 率由以下方式实现计算前后两用户端离开緩存块的时间差;根据时间差大小确定緩存块的权重大小,时间差越小,权重越大。
5、 如权利要求1所述的控制方法,其特征在于,为各緩存块确定权重 由以下方式实现根据緩存块中数据块热度高低确定緩存块的权重,数据块热度越高,緩 存块权重越大。
6、 如权利要求5所述的控制方法,其特征在于,所述数据块热度为预先定义的,或者通过统计信息获得,所述统计信息指示预-没时间段内的访问次数。
7、 一种流媒体数据緩存控制装置,其特征在于,包括预处理单元,包括第一处理单元,用于将流媒体数据分成若干数据块,并赋予不同标识;第二处理单元,用于将缓存按照数据块大小分成若干緩存块,根据使用情况为各緩存块确定权重,并将没有被用户锁定的緩存块按照权重大'J 、进行排列;信息接收单元,用于接收用户端发送的流媒体服务请求;判断单元,用于判断该流媒体服务请求对应的流媒体数据是否存在緩存中;第三处理单元,用于获取所述判断单元的判断结果,当该判断结果指示緩存中不存在对应的流媒体数据时,从没有被用户锁定的緩存块中选择权重最小的緩存块,将该流媒体数据交换进所述緩存块,提供给用户端。
8、 如权利要求7所述的装置,其特征在于,所迷第二处理单元包括緩存分块单元,用于按照数据块大小将緩存分成若干緩存块;权重确定单元,用于根据用户使用情况,为各緩存块确定权重;排列单元,用于将各緩存块按照权重大小排列。
9、 如权利要求8所述的装置,其特征在于,所述权重确定单元包括第一确定单元,用于确定该緩存块中的数据的新旧情况,并根据存储的数据的新旧情况确定緩存块的权重大小;数据越新,緩存块权重越大。
10、 如权利要求8所述的装置,其特征在于,所述权重确定单元包括第二确定单元,用于计算各緩存块的访问频率,根据访问频率确定緩存块的权重大小;访问频率越高,緩存块权重越大。
11、 如权利要求10所述的装置,其特征在于,所述第二确定单元包括频率计算单元,计算前后两用户端离开緩存块的时间差,并根据该时间差得出该数据块的访问频率;第三确定单元,用于比较各緩存快访问频率大小,并依据大小顺序确定缓存块的权重大小。
12、如权利要求8所述的装置,其特征在于,所述权重确定单元包括第四确定单元,用于根据緩存块中数据块热度高低确定緩存块的权重,数据块热度越高,緩存块权重越大。
全文摘要
本发明公开了一种流媒体数据缓存控制方法,包括预处理步骤,包括将流媒体数据分成若干数据块,并赋予不同标识;将缓存按照数据块大小分成若干缓存块,根据使用情况为各缓存块确定权重,并将没有被用户锁定的缓存块按照权重大小进行排列;控制处理步骤,包括接收用户端发送的流媒体服务请求;确定该流媒体服务请求对应的流媒体数据不存在缓存中,从没有被用户锁定的缓存块中选择权重最小的缓存块,将该流媒体数据交换进所述缓存块,提供给用户端。本发明同时还公开了一种实现上述方法的装置。本发明实施例的缓存命中率较高,缩短流媒体数据供给的耗时,提高了缓存的使用效率。
文档编号H04L12/56GK101567840SQ200810094608
公开日2009年10月28日 申请日期2008年4月22日 优先权日2008年4月22日
发明者洪家明 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1