[发明专利]流媒体双缓存技术中填充数据的方法及装置有效

游戏网编2023-10-24 08:221520

技术领域

本发明涉及流媒体技术,尤其涉及一种流媒体双缓存技术中填充数据的方法及装置。

点播钻代码_点播钻显示到期时间会掉吗_点播钻怎么刷

背景技术

流媒体()又称为流式媒体,流媒体技术是一种使音频、视频和其它多媒体元素在因特网()及无线网络上以实时的、无需下载等待的方式进行播放的技术。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗、在线直播系统、以及互动电视系统等。

作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速发展。流媒体服务器是流媒体技术应用的核心系统,是运营商向用户提供视频服务的关键平台。而限制流媒体服务系统的性能,特别是读取数据进行服务的速度和质量的主要因素包括:1)硬盘技术带来的网络存储瓶颈;2)流媒体点播技术瓶颈;3)互联网带宽瓶颈。

目前,市场上主流7200转硬盘的读取速度为150MB/s左右,磁盘阵列的IO吞吐量一般为400MB/s左右。与以前的硬盘技术相比,目前的硬盘技术虽然有了很大提高,但相比较计算机其它方面的性能提高和数字信息量的增长速度,硬盘技术仍相对落后。硬盘技术的缓慢发展,限制了网络存储能力,它成为影响流媒体服务速度的主要因素之一。根据硬盘特定的盘片结构,增大每次读写的数据量可提高硬盘访问效率。

点播钻显示到期时间会掉吗_点播钻怎么刷_点播钻代码

为了提高流媒体服务系统的性能,在与存储相关的系统和实现方面,多数技术方案均是以多个磁盘构成RAID组通过磁盘阵列来获得高的吞吐能力,即获得高的硬盘读写效率,这样,会带来高的运营成本。

从用户角度来看,在播放流媒体时,大多数情况下,用户的习惯是按顺序观看,即使有跳跃观看操作,在短时间内,多数也是按顺序播放的。

点播钻代码_点播钻显示到期时间会掉吗_点播钻怎么刷

根据计算机存储的分级结构、磁盘适合大数据量顺序读写的特点、以及用户大部分时间内进行连续播放的习惯,针对硬盘整体读取速度偏低和访问效率不高的现状,提出了一种知情式文件预读取方法,可应用于网络流媒体等服务,能提高硬盘读取效率,从而增加这些应用的服务能力。这里,知情式文件预读方法是指:按照媒体文件存储的顺序选择预读的内容,系统把将来可能用到的数据预先读取到缓存中。基于此预读取方法,可以在流媒体应用程序里预设缓存,每次读取大量连续的数据,从而提高硬盘访问效率,而且与用户播放流媒体的习惯相符合。当预设缓存的数据用完后,需要从硬盘中读取下一部分数据,此时,存在延时,为解决延时带来的影响,知情式预读取方法往往采用双缓存技术。这里,所述双缓存技术是指:采用两个动态申请的且大小相同的缓存空间。两个缓存轮流为用户提供服务。双缓存结构中会记录缓存总大小、剩余数据量、当前服务的单缓存、两个单缓存起始地址、以及下次发送数据的地址大小等信息。

双缓存技术的一个关键点是何时填充缓存。目前常用的方法包括:

点播钻显示到期时间会掉吗_点播钻怎么刷_点播钻代码

(1)随机填充式策略:主要思想是当双缓存切换后,不是立即填充空缓存,而随机选择一个填充时间,并保证在下次双缓存切换之前完成。这种策略最大的特点是随机化,宏观来看,可以做到使读磁盘操作平均分布于时间轴之上。图1为双缓存的动作时间轴示意图,如图1所示,时间点T1表示开始使用该缓存的时间,时间点T2表示填充另一个空缓存的时间,时间点T3表示为空缓存预留的安全时间,时间点T4表示当前缓存数据用完并切换至另一缓存的时间,同时也是另一缓存开始使用的时间;其中,时间点T3存在的目的是:防止由于系统忙碌、或时间点T2离时间点T4太近,而导致在时间点T4到来之前还没有完成空缓存的填充。切换动作就是指:将会话结点中缓存结构的发送指针指向另一缓存,并更新相关的统计数据。

空缓存的随机化填充在时间点T1和T3之间进行。具体实现是:首先计算时间点T3至时间点T1的时间间隔所经历的定时器中断次数;然后,在时间点T4进行缓存切换时,为每个用户会话的新空缓存生成随机魔数m,且0<m<;每当定时器超时时,都在中断处理函数中将m减1,如果m等于0,则进行空缓存的填充,即:构造消息传递至读(read)消息队列,由read线程池执行具体的读磁盘操作。其中,为每个用户会话的新空缓存生成随机魔数m的目的是:避免所有的用户会话同时填充空缓存,从而避免了磁盘的大量并发读操作所带来的负荷,实现了磁盘I/O的负载均衡。

评论区