面向视频流数据的分布式多内存副本存储系统及方法_2

文档序号:9238178阅读:来源:国知局
单元,每个链表单元包括适于写入视频流数据的缓冲分片和指向下一链表单元的指针。所述缓冲分片为存储容量可配置的连续存储区域,不可删除。进一步,所述缓冲分片的存储容量与实际配置文件的大小相关:配置文件设置得越大,所述缓冲分片的存储容量也设置得越大。对于主存储服务器,当前视频流数据只有一个正在写入的缓冲分片。缓冲分片被写满后,将该缓冲分片以指针的形式挂到写磁盘队列中。同时,从全局空闲缓冲分片链表中请求一个新的空闲缓冲分片,用于存放后续视频流数据。磁盘输入完成后,将缓冲分片重新加入到全局空闲缓冲分片链表中,以循环使用。
[0025]图4是本发明实施例的从存储服务器存储视频流数据的示意图。在当前视频流数据到来时,所述从存储服务器向其对应的全局空闲缓冲分片链表申请可用的缓冲分片用以写入当前视频流数据,并将写满视频流数据的缓冲分片存储在其对应的循环缓冲队列中,在循环缓冲队列已满时释放循环缓冲队列头部的缓冲分片。需要说明的是,所述从存储服务器对应的全局空闲缓冲分片链表是指所述从存储服务器中的全局空闲缓冲分片链表,所述从存储服务器对应的写磁盘队列是指所述从存储服务器中的写磁盘队列,所述从存储服务器对应的循环缓冲队列是指所述从存储服务器中的循环缓冲队列。
[0026]具体地,所述从存储服务器为当前视频流数据提供内存副本的服务。对于从存储服务器来说,仍然是先在全局空闲缓冲分片链表中申请一个空闲缓冲分片用于存储当前视频流数据。当缓冲分片被写满时,并不会将缓冲分片提交给写磁盘队列,而是将该缓冲分片以指针的形式挂到循环缓冲队列的尾部。循环缓冲队列的存储容量不小于XXL,其中,X为视频流码率,L为循环缓冲队列的预设容错时间,视频流码率为每秒传送的数据比特数。一段时间后,循环缓冲队列新到的缓冲分片会不断地替换旧的缓冲分片。遵守FIFO原则,被替换的缓冲分片会被加入到全局空闲缓冲分片链表中,该循环缓冲队列便记录了最近一段时间到达的连续视频流数据。
[0027]在所述主存储服务器出现故障时,所述元服务器10将任意一个从存储服务器切换为主存储服务器,切换后的主存储服务器将其对应的循环缓冲队列中的缓冲分片转存至其对应的写磁盘队列。具体地,假设所述元服务器10与各个数据服务器之间的心跳间隔时间为Th,所述元服务器10与各个数据服务器之间的通信延迟时间为Tr。若所述主存储服务器发生了网络故障,那么所述元服务器10将会在Th+At时间内发现所述主存储服务器已经离线,其中,At为所述元服务器10中定时器的触发延迟。此时,所述元服务器10经过检查时间Tl,决定将所述从存储服务器切换为主存储服务器,并立即下发切换任务。所述数据服务器12接到任务后经历时间T2,将其对应的循环缓冲队列中的视频流数据放入其对应的写磁盘队列中,所述从存储服务器切换为主存储服务器耗时T=Th+ Δ t+Tr+Tl+T2。在本实施例中,所述从存储服务器只有所述数据服务器12,即将所述数据服务器12切换为主存储服务器。在其他实施例中,若从存储服务器不止一个,则所述元服务器任意选择一个从存储服务器作为主存储服务器。
[0028]假设所述主存储服务器是在时刻Ts发生的网络故障,所述从存储服务器最迟会在Te=T+Ts时刻将循环缓冲队列中所有的视频流数据提交写磁盘队列。在切换自身为主存储服务器时,所述从存储服务器中拥有的视频流数据的时间段(Te-Y/X,Te),其中,Y为所述从存储服务器中的循环缓冲队列的存储容量。为了能够使当前视频流数据不出现数据丢帧,必须保证所述从存储服务器中的循环缓冲队列的预设容错时间Y/X大于从存储服务器切换为主存储服务器的耗时T。若视频流数据的码率为8 Mbit/s,所述循环缓冲队列的预设容错时间为60s,那么所述循环缓冲队列的存储容量为480 Mbit。
[0029]需要说明的是,在所述主存储服务器出现故障时,所述元服务器10还可以为当前视频流数据增加配置至少一个数据服务器作为从存储服务器,以保证它的内存副本数量符合系统的配置要求。在本实施例中,在所述数据服务器11作为主存储服务器出现故障时,所述元服务器10将所述数据服务器12切换为主存储服务器,并将所述数据服务器13增加配置为从存储服务器。
[0030]基于本实施例提供的面向视频流数据的分布式多内存副本存储系统,本发明实施例还提供一种面向视频流数据的分布式多内存副本存储方法,包括:在接收到存储服务请求时,所述元服务器为当前视频流数据配置一个数据服务器作为主存储服务器,为当前视频流数据配置至少一个数据服务器作为从存储服务器;所述主存储服务器向其对应的全局空闲缓冲分片链表申请可用的缓冲分片用以写入当前视频流数据,并将写满视频流数据的缓冲分片存储在其对应的写磁盘队列中,在磁盘输入完成后释放写磁盘队列中的缓冲分片;所述从存储服务器向其对应的全局空闲缓冲分片链表申请可用的缓冲分片用以写入当前视频流数据,并将写满视频流数据的缓冲分片存储在其对应的循环缓冲队列中,在循环缓冲队列已满时释放循环缓冲队列头部的缓冲分片;在所述主存储服务器出现故障时,所述元服务器将任意一个从存储服务器切换为主存储服务器,切换后的主存储服务器将其对应的循环缓冲队列中的缓冲分片转存至其对应的写磁盘队列。
[0031]所述面向视频流数据的分布式多内存副本存储方法的具体操作可参考前述实施例的描述,在此不再赘述。
[0032]以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
【主权项】
1.一种面向视频流数据的分布式多内存副本存储系统,其特征在于,包括一个元服务器和至少两个数据服务器,所述数据服务器包括全局空闲缓冲分片链表、写磁盘队列以及循环缓冲队列; 所述元服务器适于在接收到存储服务请求时,为当前视频流数据配置一个数据服务器作为主存储服务器,为当前视频流数据配置至少一个数据服务器作为从存储服务器; 所述全局空闲缓冲分片链表包括预定数量的链表单元,每个链表单元包括适于写入视频流数据的缓冲分片和指向下一链表单元的指针; 所述主存储服务器中写满视频流数据的缓冲分片适于存储在其对应的写磁盘队列中,所述从存储服务器中写满视频流数据的缓冲分片适于存储在其对应的循环缓冲队列中。2.根据权利要求1所述的面向视频流数据的分布式多内存副本存储系统,其特征在于,所述从存储服务器的数量与存储系统的可靠性等级相关。3.根据权利要求1所述的面向视频流数据的分布式多内存副本存储系统,其特征在于,所述缓冲分片为存储容量可配置的连续存储区域。4.根据权利要求3所述的面向视频流数据的分布式多内存副本存储系统,其特征在于,所述缓冲分片的存储容量与配置文件的大小相关。5.根据权利要求1所述的面向视频流数据的分布式多内存副本存储系统,其特征在于,所述主存储服务器中写满视频流数据的缓冲分片以指针形式存储在其对应的写磁盘队列中。6.根据权利要求1所述的面向视频流数据的分布式多内存副本存储系统,其特征在于,所述从存储服务器中写满视频流数据的缓冲分片以指针形式存储在其对应的循环缓冲队列中。7.根据权利要求1所述的面向视频流数据的分布式多内存副本存储系统,其特征在于,所述循环缓冲队列的存储容量不小于XX L,其中,X为视频流码率,L为所述循环缓冲队列的预设容错时间。8.一种基于权利要求1至7任一项所述的面向视频流数据的分布式多内存副本存储系统的存储方法,其特征在于,包括: 在接收到存储服务请求时,所述元服务器为当前视频流数据配置一个数据服务器作为主存储服务器,为当前视频流数据配置至少一个数据服务器作为从存储服务器; 所述主存储服务器向其对应的全局空闲缓冲分片链表申请可用的缓冲分片用以写入当前视频流数据,并将写满视频流数据的缓冲分片存储在其对应的写磁盘队列中,在磁盘输入完成后释放写磁盘队列中的缓冲分片; 所述从存储服务器向其对应的全局空闲缓冲分片链表申请可用的缓冲分片用以写入当前视频流数据,并将写满视频流数据的缓冲分片存储在其对应的循环缓冲队列中,在循环缓冲队列已满时释放循环缓冲队列头部的缓冲分片; 在所述主存储服务器出现故障时,所述元服务器将任意一个从存储服务器切换为主存储服务器,切换后的主存储服务器将其对应的循环缓冲队列中的缓冲分片转存至其对应的写磁盘队列。9.根据权利要求8所述的面向视频流数据的分布式多内存副本存储方法,其特征在于,在所述主存储服务器出现故障时,所述元服务器还适于为当前视频流数据增加配置至少一个数据服务器作为从存储服务器。
【专利摘要】一种面向视频流数据的分布式多内存副本存储系统及方法,所述系统包括一个元服务器和至少两个数据服务器,数据服务器包括全局空闲缓冲分片链表、写磁盘队列以及循环缓冲队列;元服务器在收到存储服务请求时,为当前视频流数据配置一个数据服务器作为主存储服务器,为当前视频流数据配置至少一个数据服务器作为从存储服务器;全局空闲缓冲分片链表包括预定数量的链表单元,每个链表单元包括写入视频流数据的缓冲分片和指向下一链表单元的指针;主存储服务器中写满视频流数据的缓冲分片存储在写磁盘队列中,从存储服务器中写满视频流数据的缓冲分片存储在循环缓冲队列中。本发明提供的存储系统及方法,以低成本方式避免视频流数据发生丢帧现象。
【IPC分类】H04L29/06, H04N21/61, H04N21/218
【公开号】CN104954388
【申请号】CN201510410720
【发明人】段翰聪, 闵革勇, 张建, 张博, 陈成, 钟红霞, 曾祥楷, 柳陆
【申请人】电子科技大学
【公开日】2015年9月30日
【申请日】2015年7月14日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1