首页> 中国专利> 高效流媒体数据读写系统

高效流媒体数据读写系统

摘要

本发明提供了一种高效流媒体数据读写系统,包括磁盘优化模块、控制管理模块和数据管理模块,其中:磁盘优化模块,用于将磁盘读写数据子块单元大小设置为大于16kb的固定值,优选为48kb;控制管理模块,用于在每个磁盘的分条单元上设置相同数量的数据子块,并保持各种带宽的文件读取的数据量基本均衡;数据管理模块,用于将编码带宽相同的媒体文件保存在同一个磁盘的分条单元中,将读写频度高的媒体文件保存在同一个分条单元中,将码率高的文件置于磁盘磁道内圈。本发明在现有的RAID存储方式基础上进行优化,将媒体数据依据流媒体属性分布存储,可以针对流媒体数据读写的特点,充分发挥RAID方式的优势,提高流媒体数据的读写效率。

著录项

  • 公开/公告号CN101055509A

    专利类型发明专利

  • 公开/公告日2007-10-17

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200610072152.8

  • 发明设计人 李凤军;

    申请日2006-04-14

  • 分类号G06F3/06;

  • 代理机构北京安信方达知识产权代理有限公司;

  • 代理人许志勇

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部

  • 入库时间 2023-12-17 19:11:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-01

    未缴年费专利权终止 IPC(主分类):G06F3/06 授权公告日:20100512 终止日期:20150414 申请日:20060414

    专利权的终止

  • 2010-05-12

    授权

    授权

  • 2007-12-12

    实质审查的生效

    实质审查的生效

  • 2007-10-17

    公开

    公开

说明书

技术领域

本发明涉及电子通信技术领域,特别涉及一种高效流媒体数据读写系统。

背景技术

在宽带网络条件较好的情况下,网络传输已不再成为系统性能瓶颈,磁盘读写效率愈来愈成为系统性能提高的瓶颈及关键技术难题。

现有的流媒体读写存储通常采用RAID(经济磁盘冗余阵列,RedundantArray of Inexpensive Disks RAID)方式,比如:RAID0,RAID5等读写存储方式。RAID方式是一种数据存储技术,按此技术,数据按分布方式存储在多个磁盘驱动器中,以获得冗余度和提高数据转移速率。

对于小数据量的文件读写,RAID方式还比较实用,但对于高并发、大数据量的流媒体业务,显得力不从心。主要缺点在于:条带化分割最大才128kbytes,最大的读写数据块仅有4kbytes,媒体数据分布不能依据流媒体属性进行优化。因此,很难充分发挥RAID方式的读写存储的效率。本发明对现有的RAID存储系统进行优化,针对流媒体数据读写的特点,提高流媒体数据读写效率。

发明内容

本发明提供了一种高效流媒体数据读写系统,采用加大条带化分割读写数据块的方法对高并发、大数据量的流媒体业务媒体数据分布依据流媒体属性进行优化,充分发挥了RAID方式的读写存储的效率,并针对流媒体数据读写的特点,提高了流媒体数据读写效率。

为解决上述技术问题,本发明提供了一种高效流媒体数据读写系统,包括磁盘优化模块、控制管理模块和数据管理模块,其中:

磁盘优化模块,用于将磁盘读写数据子块单元大小设置为大于16kb的固定值,优选为48kb;

控制管理模块,用于在每个磁盘的分条单元上设置相同数量的数据子块,并保持各种带宽的文件读取的数据量基本均衡;

数据管理模块,用于将编码带宽相同的媒体文件保存在同一个磁盘的分条单元中,将读写频度高的媒体文件保存在同一个分条单元中,将码率高的文件置于磁盘磁道内圈,码率低的文件置于磁盘磁道外圈,提高磁盘整体读写性能。

本发明在现有的RAID存储系统基础上进行优化,将媒体数据依据流媒体属性分布存储,可以针对流媒体数据读写的特点,充分发挥RAID方式的优势,提高流媒体数据的读写效率。

附图说明

图1为根据本发明实施例所述系统的文件存储流程图;

图2为根据本发明实施例所述系统的文件读取流程图。

具体实施方式

本发明的实施例提供了一种高效流媒体数据读写系统,包括磁盘优化模块、控制管理模块和数据管理模块,其中:

磁盘优化模块,用于将磁盘读写数据子块单元大小设置为大于16kb的固定值,优选为48kb,以提高磁盘的单次操作效率;

控制管理模块,用于在每个磁盘的分条单元上设置相同数量的数据子块,并保持各种带宽的文件读取的数据量基本均衡;

数据管理模块,用于将编码带宽相同的媒体文件保存在同一个磁盘的分条单元中,将读写频度高的媒体文件保存在同一个分条单元中,将码率高的文件置于磁盘磁道内圈,码率低的文件置于磁盘磁道外圈,提高磁盘整体读写性能。

应当注意,48kb只是优选数值,事实上,只要大于16kb,例如24kbytes,32kbptes或48kbytes都可以。

所述数据管理模块可以进一步用于,将读写频度高的媒体文件保存在同一个分条单元中,如果读写频度高的媒体文件大小超过一个分条单元的存储容量,将读写频度高的媒体文件的剩余部分保存在其它分条单元中。

所述数据管理模块可以进一步用于,保持一个分条单元中,媒体文件类型大于两种。

所述数据管理模块可以进一步用于,根据媒体文件的编码带宽以及时长,计算出媒体内容的大小,以数据子块大小对文件进行分割,保持每个磁盘上的分条单元保存相同数量的数据子块。

所述数据管理模块可以进一步用于,采用raid5方式将所述数据子块分散保存在各磁盘上。

所述控制管理模块可以进一步用于,在并发访问文件数量较大时,访问编码带宽较宽的媒体文件。

所述控制管理模块可以进一步用于,在并发访问文件数量不大时,访问编码带宽不宽的媒体文件。

所述控制管理模块可以进一步用于,在被访问的文件为编码带宽不宽的媒体文件时,将文件块读取速度设置为文件块写入速度的一半或者低于一半。

如图1所示,为根据本发明实施例所述系统的文件存储流程图,本实施例中,设置磁盘数目为5个,条带化深度为64,数据子块为。

具体步骤如下:

步骤101,根据文件编码带宽、播放时长以及数据子块大小,得到文件需要占用多少个数据子块。以一个编码带宽为100kbps,时长480秒为例,文件大小为5.86Mbytes.按照48kbytes分割,可得到125个数据子块,如果文件大小除以数据子块大小得到带小数数值,将小数的整数部分增加一即为需要的数据子块数目。5个硬盘,按照raid5方式,一个作校验盘。有4个为有效盘,其中三个硬盘中占用31个有效数据子块,最后一个占用32个有效数据子块。

步骤102,如果此节目为热点节目,即为读写频度高的媒体文件,则需要将此节目的所有数据块放入一个分条中。按照每个分条单元写入32个数据子块,其中无效的数据子块以特殊数据补齐。本例中以oxoc补齐无效数据子块。其余32个数据子块可保存其他带宽的媒体内容。

步骤103,如果此节目非热点节目,即为读写频度不高的媒体文件,则不需要将媒体文件放在一个分条中,可将媒体文件分散在两个或者多个分条中,这样可提高系统的并发处理文件的响应速度。但是文件太分散,必然导致文件存储和读取效率很低,本例中将媒体内容分散在两个分条中保存,两个分条中的写入子块数目block_w分别为16个数据子块。

步骤104,如果此节目为高编码带宽的媒体文件,则文件内容尽量放在磁盘内圈,如果此节目为低编码带宽的媒体文件,则文件内容尽量放在磁盘外圈。媒体文件的编码带宽是高还是低,是与所保存的媒体文件的平均带宽比较的结果,本例中采用的标准是:如果是平均带宽的2倍以上,可认为是高编码带宽的文件。相应的如果编码带宽是平均带宽的一半,则认为是低编码带宽。

步骤105,完成媒体文件的保存后,将block_w信息保存,便于文件读取使用。

如图2所示,为根据本发明实施例所述系统的文件读取流程图,文件读取操作的具体步骤是:

步骤201,从文件的编码带宽及播放时长,可计算出文件的大小,对文件进行数据子块分割。得知文件共占用的数据子块数目。以文件存储实施例中的文件为例,文件总共占用的数据子块数目为125。

步骤202,读取文件的block_w值。

步骤203,如果文件为普通的高带宽文件,假设文件的block_w为16,则在读取文件时,读取文件以当时的系统繁忙程度而定,如果系统的并发访问量较大,则将读出子块数目block_r设置为8,或者更小些,但要保证磁盘对该文件的i/o带宽(输入/输出带宽)大于编码带宽。如果系统并发访问量不大,将block_r设为16。满足对当前文件处理的高效率。

步骤204,如果文件为热点文件,即为读写频度高的媒体文件,读取block_w为32,则block_r设置为32,保证文件快速被读取出来。

步骤205,如果文件为普通的非高带宽文件,在保证磁盘对该文件的i/o带宽大于编码带宽的情况下,block_r小一些。假设当前block_w为8,则读取文件可将block_r设为4,保证系统对其他带宽文件的响应能力。

本发明的另一实施例为一种高效流媒体数据读写系统的数据存储方法,实现步骤如下:

步骤301,设置磁盘的分条单元深度:strip_len范围为16-256。,本例中可设为64,设置数据子块大小为48kbytes。

步骤302,读取媒体文件的编码带宽以及时长,大致计算出媒体内容的大小。以数据子块大小对文件进行分割,让每个磁盘上的分条单元保存相同数量的数据子块。按raid5方式将这些数据子块分散在各磁盘上。

步骤303,对于编码带宽相同的或者相近的媒体内容,尽量放在同一个分条单元中,保持一个分条单元中媒体内容种类大于2。如果分条单元中包含的媒体种类太多,则媒体文件过于分散,降低文件存储效率。

步骤304,对于热点节目,由于需要提高热点节目的吞吐量,需要将分割后的热点节目放在一个分条单元。提高热点节目的响应速度。如果一个分条不能完全容纳节目内容,可在多个分条中保存。如果一个热点节目不能完全占满分条单元,则分条单元的剩余空间可容纳其他文件内容。

步骤305,对于码率高的媒体内容,尽量存放在磁盘磁道的内圈,对于码率低的媒体内容,尽量存放在磁盘磁道的外圈。

本发明的再一实施例为一种高效流媒体数据读写系统的数据读取方法,具体步骤如下:

步骤401,设置磁盘的分条单元深度:strip_len范围为16-256。,本例中可设为64,设置数据子块大小为48kbytes。

步骤402,根据文件存储的连续数据子块的数目block_w,文件编码带宽以及文件是否热点节目,调整block_r值,block_r值可动态调整。

步骤403,当访问节目为热点节目时,设置block_r与block_w相等。

步骤404,在并发访问文件数量较大时,访问编码带宽较宽的媒体文件,采用较小的block_r值,避免由于媒体带宽较大文件的访问,而导致媒体带宽较小的文件不能访问,或者延迟访问,提高系统的整体响应速度。

步骤405,在并发访问文件数量不大时,对媒体带宽较大的文件,可采用适当的block_r值,保持对文件访问的快速响应。

步骤406,当被访问的文件为普通的非高带宽文件时,尽量将block_r设置为block_w的一半或者更小,以便保证系统对其他文件的响应能力。

本发明实施例,减小了数据块的大小,提高了磁盘空间的利用率。在存储媒体内容时,对于热点节目,媒体内容尽量占用每个分条单元。对于非热点节目,各分条单元中,至少保证包含两种媒体内容,在进行媒体数据读取时,降低高带宽媒体内容的block_r值,提高系统整体的文件访问响应速度。对于热点节目需要特别对待,使block_r与block_w相等。

流媒体的读写与存储是对应的,只有合理的将媒体内容放置在磁盘系统中,才能提高媒体的读写效率。本发明实施例从五个方面进行提高流媒体数据的读写效率:

第一:加大每次读写数据子块单元大小,由于流媒体数据量较大,可将数据子块单元大小定为48kbytes,提高磁盘的单次操作效率。

第二:将媒体文件保存在磁盘分条时,保证每个磁盘上的分条单元包含相同数量的数据子块,对于热点节目,尽量在一个分条单元中完全包含此热点节目,对于非热点节目,在一个分条单元中可包含两种以上。

第三:读取媒体文件时,保证各种媒体带宽的文件读取的数据量保持平衡,避免读取媒体带宽大的文件时,导致媒体带宽较小的文件不能读取。

第四:为了提高磁盘整体的读写性能,可将码率大的文件放在磁盘磁道的内圈,将码率低的文件放在磁盘磁道的外圈。

第五:编码带宽相同的媒体内容尽量放置在同一个磁盘的分条单元中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号