用于保证分布式视频流存储系统数据连续性的切换方法

文档序号:9238593阅读:688来源:国知局
用于保证分布式视频流存储系统数据连续性的切换方法
【技术领域】
[0001]本发明涉及数据存储技术领域,特别涉及一种用于保证分布式视频流存储系统数据连续性的切换方法。
【背景技术】
[0002]分布式存储系统,是将数据分散存储在多台独立设备上的存储系统。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
[0003]典型的分布式视频流存储系统都由元服务器(MS,Meta Server)和若干台数据服务器(DS,Data Server)构成。元服务器主要负责对数据服务器进行监控和管理,保存并备份真实数据与数据服务器之间的映射关系。数据服务器则负责对数据进行实际的接收、存储和管理,同时还要将自身的硬件和负载状况通过心跳信息定时与元服务器进行通信。在这种分布式视频流存储系统中,数据服务器的故障被视为一种常态。通常,为了提高分布式视频流存储系统的可靠性,使用多个数据服务器进行备份来防止视频流数据丢帧。
[0004]随着系统的运作,分布式视频流存储系统中的数据服务器存在着故障和负载不均衡的现象,需要元服务器进行有效的调度,即将视频流存储由源服务器切换至目标服务器。其中,源服务器为存在着故障或者负载不均衡的数据服务器,目标服务器为接替源服务器存储视频流数据的数据服务器。由于视频文件通常很大,若数据存储切换时是以整个视频流为单位,那么就会造成大量数据的重复,既浪费了存储空间,又影响了用户体验。因此,分布式视频流存储系统进行调度切换时保证数据的连续性是必不可少的。

【发明内容】

[0005]本发明所要解决的是分布式视频流存储系统进行调度切换时数据不连续导致存储空间浪费、影响用户体验的问题。
[0006]为解决上述问题,本发明提供一种用于保证分布式视频流存储系统数据连续性的切换方法,包括:元服务器通过周期性心跳获得各数据服务器的状态信息,并根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻;元服务器通知源服务器从所述截止时刻停止写入视频流数据,并告知目标服务器将所述截止时刻开始缓存的视频流数据写入磁盘,视频流数据的缓存偏移量根据视频编码率和已写入视频流的起止时间戳之差确定;元服务器更新元数据,将所述截止时刻后的视频流数据定位至目标服务器;在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据。
[0007]基于视频文件的编码率和时间是固定的这一特征,通过视频编码率和已写入视频流的起止时间戳之差就能计算出视频流数据的缓存偏移量,即视频流存储由源服务器切换至目标服务器过程中需要存储的视频流数据。因此,在不以整个流为单位的前提下,将目标服务器在截止时刻开始缓存的视频流数据写入磁盘不存在丢帧现象。并且,源服务器在截止时刻之后写入磁盘的视频流数据在下一个保存周期或者下一个写入周期到来时被清空,避免了重复帧的情况,提高系统效率和增强用户体验的同时,又能保证视频流数据切换时的连续性。
[0008]可选的,源服务器为存在故障或者负载不均衡的数据服务器,负载不均衡包括磁盘冗余量和吞吐率不满足预设要求。
[0009]可选的,所述截止时刻采用分布式时钟同步算法进行确定。在分布式存储系统中,凡是与时间相关的问题都牵涉到时钟偏移,它是分布式存储系统中无法避免的问题,时间的不统一会造成数据存储的错误。采用分布式时钟同步算法确定所述截止时刻可以减小时钟偏差,使视频流数据的缓存偏移量更为准确。
[0010]可选的,所述截止时刻采用分布式时钟同步算法中的伯克利算法进行确定。
[0011]可选的,源服务器的从存储服务器作为目标服务器。
[0012]可选的,除源服务器的从存储服务器之外的数据服务器作为目标服务器,目标服务器在将视频流数据写入磁盘之前对视频流数据进行缓存处理。
[0013]可选的,视频流数据的缓存偏移量根据n = TX α +8获得,其中,η为视频流数据的缓存偏移量,T为相邻两个视频流的时间戳之差,α为视频编码率。
[0014]可选的,所述用于保证分布式视频流存储系统数据连续性的切换方法还包括:目标服务器在所述截止时刻的视频流数据写入磁盘后,更新存储在目标服务器上的元数据。
[0015]与现有技术相比,本发明具有以下优点:
[0016]本发明提供的用于保证分布式视频流存储系统数据连续性的切换方法,元服务器通过心跳周期检测到需要切换的截止时刻,从而发送消息让源服务器停止写入视频流数据到磁盘,同时利用视频流的时间映射这一特征来计算出视频流数据的缓存偏移量,告知目标服务器缓存截止时刻之后的数据,当缓存到一定大小时进行磁盘写入。并在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据,从而避免了进行切换时数据出现掉帧或者重复帧的情况,保证了切换后数据的连续性。进一步,通过采用分布式时钟同步算法确定所述截止时刻可以减小时钟偏差,使视频流数据的缓存偏移量更为准确。
【附图说明】
[0017]图1是本发明实施例的用于保证分布式视频流存储系统数据连续性的切换方法的流程示意图。
【具体实施方式】
[0018]考虑视频文件的编码率和时间是固定的这一特征,基于编码率和时间戳就能计算出相应的文件偏移量的特性,本发明实施例提供一种用于保证分布式视频流存储系统数据连续性的切换方法,所述用于保证分布式视频流存储系统数据连续性的切换方法包括:
[0019]步骤Sll:元服务器通过周期性心跳获得各数据服务器的状态信息,并根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻;
[0020]步骤S12:元服务器通知源服务器从所述截止时刻停止写入视频流数据,并告知目标服务器将所述截止时刻开始缓存的视频流数据写入磁盘,视频流数据的缓存偏移量根据视频编码率和已写入视频流的起止时间戳之差确定;
[0021]步骤S13:元服务器更新元数据,将所述截止时刻后的视频流数据定位至目标服务器;
[0022]步骤S14:在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据。
[0023]下面结合实施例及附图,对本发明作进一步地的详细说明,但本发明的实施方式不限于此。
[0024]图1是本发明实施例的用于保证分布式视频流存储系统数据连续性的切换方法的流程示意图。所述分布式视频流存储系统包括元服务器和多台数据服务器,在本实施例中以元服务器11、源服务器12以及目标服务器13为例进行说明。
[0025]如步骤Sll所述,元服务器通过周期性心跳获得各数据服务器的状态信息,并根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻。
[0026]具体地,所述元服务器11与各数据服务器通过周期性心跳进行信息交互。若在规定的时间内,所述元服务器11没有收到某一数据服务器相应的回复信息,则视为该数据服务器出现故障,需要将视频流数据切换到其他正常的数据服务器进
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1