一种流媒体系统数据存储方法

文档序号:6552822阅读:724来源:国知局
专利名称:一种流媒体系统数据存储方法
技术领域
本发明涉及流媒体系统领域,具体来讲是一种流媒体系统数据存储方法。
背景技术
流媒体系统存储的是大容量的媒体数据,要对这些媒体数据完成大量并发的实时流传输,除了需要与之相应的网络IO带宽,还要有与之匹配的磁盘IO带宽。如何将数据存储在流媒体服务器上,在服务器上如何组织各个磁盘,直接决定了服务器的并发能力和媒体数据的安全性。在目前的一些流媒体分布式存储系统中,数据被分成很多切片,切片是按磁盘块大小,条带式地逐个存储在各个磁盘上,系统配置的磁盘数量很可能小于每个切片的块数, 也就是说切片在每个磁盘都存有内容,所有磁盘并发地读取,以提高系统的IO带宽。但磁盘是一个较容易损坏的设备,并且随着使用时间的延长,磁盘性能逐渐下降,导致读取有些磁盘块时间过长,明显降低系统IO带宽。如果某个磁盘出现故障,系统要停止运行,再重新启动提供服务,如果没有做数据备份,流媒体服务器上的绝大部分切片在此磁盘上的数据都将丢失,称之为垃圾数据,甚至可能造成重大损失。点播访问时,看到的将是跳跃的画面,更严重时,可能导致流媒体服务器的崩溃。为了恢复这部分数据,最简单有效的方法就是清空整个服务器上的内容,重新上载或者从别服务器拷贝过来,可是这个数据量非常庞大,将消耗很长的时间和很大的网络带宽。但是,如果只拷贝那些丢失的块数据,并重新生成访问时的索引记录,又对系统软件的复杂度要求较高,并不利于大规模的使用。

发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种流媒体系统数据存储方法,提高系统的IO能力,切片保存两份,分别位于不同磁盘,当其中一个磁盘出现故障时, 读取另一个磁盘的备份数据,数据恢复简单,不必消耗很长时间和较大网络带宽,对系统软件的复杂程度要求较低。为达到以上目的,本发明采取的技术方案是一种流媒体系统数据存储方法,包括如下步骤(1)将流媒体文件按相同的播放时间长度切成切片;(2)将服务器每个磁盘分成容量相同的内区和外区两部分,内区和外区均分成大小相等的磁盘块,并建立索引信息;(3)将所述切片按磁盘块大小,分成多个切片块,并均勻分配到所有磁盘的外区的磁盘块上;(4)将所述切片块均勻分配到所有磁盘的内区的磁盘块上,且保证同一切片块分配到不同磁盘的内区和外区;(5)将所述切片块写入其所在的外区和内区,并为切片块所在外区和内区分配的磁盘号和磁盘块号生成分配索引信息;(6)若切片块写入时,某一区磁盘块有错误,导致写入错误,则在该区重新分配磁盘块,并从另一区读取正确的切片块进行复制。在上述技术方案的基础上,所述切片的存储大小各不相同。在上述技术方案的基础上,所述切片分配磁盘时,根据磁盘剩余存储空间的大小, 先分配剩余存储空间最大的磁盘。在上述技术方案的基础上,存储后按照以下步骤读取①根据请求播放的时间点,确定系统访问的切片;②根据所述切片的分配索引信息,得到存储在外区和内区的磁盘号、磁盘块号;③若外区所在磁盘正常工作,且该磁盘块号有效,则优先读取外区;否则读取内区所在磁盘的磁盘块号;④若发现多次读取某一磁盘块出现错误,标记该磁盘块不可用,并重新分配磁盘块,发起复制。在上述技术方案的基础上,所述系统访问的切片由请求的播放时间点除以切片时间大小求得。在上述技术方案的基础上,若所述磁盘不能正常工作时,从其它磁盘的内区访问, 在线更换磁盘,从其它磁盘将数据复制到更换后的磁盘。本发明的有益效果在于I.将切片按磁盘块大小,分成很多个切片块,逐个存储在流媒体服务器的磁盘上, 磁盘并发地读写媒体内容,提高系统的整体磁盘IO能力。II.如果发现系统中磁盘出现故障,可在线拔出这个磁盘,位于这个磁盘上的所有数据,因为在别的磁盘上面均有备份数据,系统还能正常提供服务,保证播放画面平稳。III.当插入一个新磁盘后,根据切片索引的记录,将别的磁盘上本应存储在新磁盘上的切片,拷贝到新磁盘,数据恢复简单,保证数据块共有两份拷贝以备磁盘的损坏,不必消耗很长时间和较大网络带宽,对系统软件的复杂程度要求较低。
具体实施例方式以下对本发明的实施例作进一步详细说明。—种流媒体系统数据存储方法,本实施例中,流媒体服务器带有4块磁盘(D0、D1、 D2、D!3),每个磁盘的容量为1GB,磁盘存储块大小为2MB。本实施例存储时步骤如下(1)将流媒体文件按相同的播放时间长度切成切片,且所述不同实施例中切片的存储大小各不相同,本实施例中,切片大小为14MB。(2)分别将服务器每个磁盘(DO、DU D2、D3)分成外区和内区两部分,大小都是 500MB,外区地址为W,500MB),内区地址为[500MB,1000MB)。内区和外区均分成大小相等的磁盘块,以磁盘块为单位,为磁盘内区和外区建立索引信息,外区可用磁盘块号为[0, 249),内区可用磁盘块号为[250,499)。根据切片的大小和磁盘块确定切片块数量为7个, 存入外区的分别记为MO, Ml, WZ...., M6,存入内区的分别记为SO, Si,S2.…,S6。(3)存储时先分配外区,为切片块选择磁盘块时,要考虑磁盘的负载均衡,根据磁盘剩余存储空间的大小,选择外区剩余空间最大的磁盘进行分配。先将切片块MO分配在第一个磁盘DO的第一个磁盘块号B0,再将其他的切片块按此方法分配。(4)将切片块按照上述方法分配到内区,磁盘号的选择应与外区不能为同一个,再从剩下的磁盘中选择内区未用空间最大的磁盘,当有多个磁盘内区未用空间相等时,随机选择一个,不能按磁盘顺序选择,这样可避免两个磁盘互为备份的情况。(5)所述切片块写入其所在的外区和内区,并为切片块所在外区和内区分配的磁盘号、磁盘块号生成分配索引信息。例如切片的第一个切片块M0,分配在第一个磁盘DO的第一个磁盘块B0,记为{M0,D0,B0},后续分配的数据块记为{Ml,Dl,BO}、{M2,D2,B0}、{M3, D3,BO}、{M4,DO, Bi}、{M5,Dl, Bi}、{M6,D2,Bi}。在内区建立的索引信息可以为{SO, Dl, BO}、{Si, D2, BO}、{S2, D3, B0}、{S3, DO, Bi}、{S4, D2, Bi}、{S5, D3, Bi}、{S6, DO, Bi}。(6)若切片块写入时,某一区磁盘块有错误,导致写入错误,则在此区重新分配磁盘块,并从另一区读取正确的切片块进行复制。当流媒体服务器读取所述切片并播放时,切片存储在所有的磁盘,这些磁盘都会顺序收到读请求,并完成读操作。当流媒体服务器需要支持大量并发的不同切片读操作时, 系统磁盘10操作会被均勻分布到所有磁盘,很大地提高系统整体10吞吐量。且其读取顺序如下①根据请求播放的时间点,再除以切片时间大小,确定系统访问的切片。②根据所述切片的分配索引信息,得到存储在外区和内区的磁盘号、磁盘块号。③由于外区的10读比内区快,系统优先选择读外区的磁盘块。当外区磁盘块出故障或者此磁盘被拔出时,系统读取内区块所在的磁盘,保证系统平稳无间断运行。④若发现多次读取某一磁盘块出现错误,标记该磁盘块不可用,并重新分配磁盘块,发起复制。若所述磁盘不能正常工作时,从其它磁盘的内区访问,在线更换磁盘,从其它磁盘将数据复制到更换后的磁盘。本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。
权利要求
1.一种流媒体系统数据存储方法,其特征在于,包括如下步骤(1)将流媒体文件按相同的播放时间长度切成切片;(2)将服务器每个磁盘分成容量相同的内区和外区两部分,内区和外区均分成大小相等的磁盘块,并建立索引信息;(3)将所述切片按磁盘块大小,分成多个切片块,并均勻分配到所有磁盘的外区的磁盘块上;(4)将所述切片块均勻分配到所有磁盘的内区的磁盘块上,且保证同一切片块分配到不同磁盘的内区和外区;(5)将所述切片块写入其所在的外区和内区,并为切片块所在外区和内区分配的磁盘号和磁盘块号生成分配索引信息;(6)若切片块写入时,某一区磁盘块有错误,导致写入错误,则在该区重新分配磁盘块, 并从另一区读取正确的切片块进行复制。
2.如权利要求1所述的一种流媒体系统数据存储方法,其特征在于所述切片的存储大小各不相同。
3.如权利要求1所述的一种流媒体系统数据存储方法,其特征在于所述切片分配磁盘时,根据磁盘剩余存储空间的大小,先分配剩余存储空间最大的磁盘。
4.如权利要求1所述的一种流媒体系统数据存储方法,其特征在于存储后按照以下步骤读取①根据请求播放的时间点,确定系统访问的切片;②根据所述切片的分配索引信息,得到存储在外区和内区的磁盘号、磁盘块号;③若外区所在磁盘正常工作,且该磁盘块号有效,则优先读取外区;否则读取内区所在磁盘的磁盘块号;④若发现多次读取某一磁盘块出现错误,标记该磁盘块不可用,并重新分配磁盘块,发起复制。
5.如权利要求4所述的一种流媒体系统数据存储方法,其特征在于所述系统访问的切片由请求的播放时间点除以切片时间大小求得。
6.如权利要求4所述的一种流媒体系统数据存储方法,其特征在于若所述磁盘不能正常工作时,从其它磁盘的内区访问,在线更换磁盘,从其它磁盘将数据复制到更换后的磁 全文摘要
一种流媒体系统数据存储方法,包括(1)流媒体文件按相同播放时间长度切成切片;(2)将服务器每个磁盘分成容量相同的内、外区两部分,内、外区均分成大小相等的磁盘块,并建立索引信息;(3)将切片按磁盘块大小,分成多个切片块,均匀分配到所有磁盘的外区的磁盘块上;(4)将切片块均匀分配到所有磁盘的内区的磁盘块上,且保证同一切片块分配到不同磁盘的内、外区;(5)切片块写入其所在的内、外区,并为切片块所在内、外区分配的磁盘号、磁盘块号生成分配索引信息;(6)若写入出现某区磁盘块错误,导致写入错误,则此区重新分配磁盘块,从另一区读取正确的切片进行复制。该方法提高系统的IO能力,数据恢复简单,系统简单不复杂。
文档编号G06F11/14GK102200935SQ201110105679
公开日2011年9月28日 申请日期2011年4月27日 优先权日2011年4月27日
发明者冯军, 吴凌俊, 吴思欣 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1