CN104954810B - 用于保证分布式视频流存储***数据连续性的切换方法 - Google Patents

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

Info

Publication number
CN104954810B
CN104954810B CN201510412097.1A CN201510412097A CN104954810B CN 104954810 B CN104954810 B CN 104954810B CN 201510412097 A CN201510412097 A CN 201510412097A CN 104954810 B CN104954810 B CN 104954810B
Authority
CN
China
Prior art keywords
server
video stream
data
time
cut
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510412097.1A
Other languages
English (en)
Other versions
CN104954810A (zh
Inventor
段翰聪
闵革勇
张建
李巧梅
王瑾
张�杰
林萌
吴玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201510412097.1A priority Critical patent/CN104954810B/zh
Publication of CN104954810A publication Critical patent/CN104954810A/zh
Application granted granted Critical
Publication of CN104954810B publication Critical patent/CN104954810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种用于保证分布式视频流存储***数据连续性的切换方法,包括:元服务器通过周期性心跳获得各数据服务器的状态信息,根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻;元服务器通知源服务器从截止时刻停止写入视频流数据,告知目标服务器将截止时刻开始缓存的视频流数据写入磁盘,视频流数据的缓存偏移量根据视频编码率和已写入视频流的起止时间戳之差确定;元服务器更新元数据,将截止时刻后的视频流数据定位至目标服务器;在下一个保存周期或下一个写入周期到来时,清空源服务器在截止时刻之后写入磁盘的视频流数据。本发明提供的用于保证分布式视频流存储***数据连续性的切换方法,能够保证进行调度切换时数据的连续性。

Description

用于保证分布式视频流存储***数据连续性的切换方法
技术领域
本发明涉及数据存储技术领域,特别涉及一种用于保证分布式视频流存储***数据连续性的切换方法。
背景技术
分布式存储***,是将数据分散存储在多***立设备上的存储***。传统的网络存储***采用集中的存储服务器存放所有数据,存储服务器成为***性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储***采用可扩展的***结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但提高了***的可靠性、可用性和存取效率,还易于扩展。
典型的分布式视频流存储***都由元服务器(MS,Meta Server)和若干台数据服务器(DS,Data Server)构成。元服务器主要负责对数据服务器进行监控和管理,保存并备份真实数据与数据服务器之间的映射关系。数据服务器则负责对数据进行实际的接收、存储和管理,同时还要将自身的硬件和负载状况通过心跳信息定时与元服务器进行通信。在这种分布式视频流存储***中,数据服务器的故障被视为一种常态。通常,为了提高分布式视频流存储***的可靠性,使用多个数据服务器进行备份来防止视频流数据丢帧。
随着***的运作,分布式视频流存储***中的数据服务器存在着故障和负载不均衡的现象,需要元服务器进行有效的调度,即将视频流存储由源服务器切换至目标服务器。其中,源服务器为存在着故障或者负载不均衡的数据服务器,目标服务器为接替源服务器存储视频流数据的数据服务器。由于视频文件通常很大,若数据存储切换时是以整个视频流为单位,那么就会造成大量数据的重复,既浪费了存储空间,又影响了用户体验。因此,分布式视频流存储***进行调度切换时保证数据的连续性是必不可少的。
发明内容
本发明所要解决的是分布式视频流存储***进行调度切换时数据不连续导致存储空间浪费、影响用户体验的问题。
为解决上述问题,本发明提供一种用于保证分布式视频流存储***数据连续性的切换方法,包括:元服务器通过周期性心跳获得各数据服务器的状态信息,并根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻;元服务器通知源服务器从所述截止时刻停止写入视频流数据,并告知目标服务器将所述截止时刻开始缓存的视频流数据写入磁盘,视频流数据的缓存偏移量根据视频编码率和已写入视频流的起止时间戳之差确定;元服务器更新元数据,将所述截止时刻后的视频流数据定位至目标服务器;在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据。
基于视频文件的编码率和时间是固定的这一特征,通过视频编码率和已写入视频流的起止时间戳之差就能计算出视频流数据的缓存偏移量,即视频流存储由源服务器切换至目标服务器过程中需要存储的视频流数据。因此,在不以整个流为单位的前提下,将目标服务器在截止时刻开始缓存的视频流数据写入磁盘不存在丢帧现象。并且,源服务器在截止时刻之后写入磁盘的视频流数据在下一个保存周期或者下一个写入周期到来时被清空,避免了重复帧的情况,提高***效率和增强用户体验的同时,又能保证视频流数据切换时的连续性。
可选的,源服务器为存在故障或者负载不均衡的数据服务器,负载不均衡包括磁盘冗余量和吞吐率不满足预设要求。
可选的,所述截止时刻采用分布式时钟同步算法进行确定。在分布式存储***中,凡是与时间相关的问题都牵涉到时钟偏移,它是分布式存储***中无法避免的问题,时间的不统一会造成数据存储的错误。采用分布式时钟同步算法确定所述截止时刻可以减小时钟偏差,使视频流数据的缓存偏移量更为准确。
可选的,所述截止时刻采用分布式时钟同步算法中的伯克利算法进行确定。
可选的,源服务器的从存储服务器作为目标服务器。
可选的,除源服务器的从存储服务器之外的数据服务器作为目标服务器,目标服务器在将视频流数据写入磁盘之前对视频流数据进行缓存处理。
可选的,视频流数据的缓存偏移量根据n=T×α÷8获得,其中,n为视频流数据的缓存偏移量,T为相邻两个视频流的时间戳之差,α为视频编码率。
可选的,所述用于保证分布式视频流存储***数据连续性的切换方法还包括:目标服务器在所述截止时刻的视频流数据写入磁盘后,更新存储在目标服务器上的元数据。
与现有技术相比,本发明具有以下优点:
本发明提供的用于保证分布式视频流存储***数据连续性的切换方法,元服务器通过心跳周期检测到需要切换的截止时刻,从而发送消息让源服务器停止写入视频流数据到磁盘,同时利用视频流的时间映射这一特征来计算出视频流数据的缓存偏移量,告知目标服务器缓存截止时刻之后的数据,当缓存到一定大小时进行磁盘写入。并在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据,从而避免了进行切换时数据出现掉帧或者重复帧的情况,保证了切换后数据的连续性。进一步,通过采用分布式时钟同步算法确定所述截止时刻可以减小时钟偏差,使视频流数据的缓存偏移量更为准确。
附图说明
图1是本发明实施例的用于保证分布式视频流存储***数据连续性的切换方法的流程示意图。
具体实施方式
考虑视频文件的编码率和时间是固定的这一特征,基于编码率和时间戳就能计算出相应的文件偏移量的特性,本发明实施例提供一种用于保证分布式视频流存储***数据连续性的切换方法,所述用于保证分布式视频流存储***数据连续性的切换方法包括:
步骤S11:元服务器通过周期性心跳获得各数据服务器的状态信息,并根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻;
步骤S12:元服务器通知源服务器从所述截止时刻停止写入视频流数据,并告知目标服务器将所述截止时刻开始缓存的视频流数据写入磁盘,视频流数据的缓存偏移量根据视频编码率和已写入视频流的起止时间戳之差确定;
步骤S13:元服务器更新元数据,将所述截止时刻后的视频流数据定位至目标服务器;
步骤S14:在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据。
下面结合实施例及附图,对本发明作进一步地的详细说明,但本发明的实施方式不限于此。
图1是本发明实施例的用于保证分布式视频流存储***数据连续性的切换方法的流程示意图。所述分布式视频流存储***包括元服务器和多台数据服务器,在本实施例中以元服务器11、源服务器12以及目标服务器13为例进行说明。
如步骤S11所述,元服务器通过周期性心跳获得各数据服务器的状态信息,并根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻。
具体地,所述元服务器11与各数据服务器通过周期性心跳进行信息交互。若在规定的时间内,所述元服务器11没有收到某一数据服务器相应的回复信息,则视为该数据服务器出现故障,需要将视频流数据切换到其他正常的数据服务器进行存储。另外,如果某一数据服务器的负载不均衡,将影响整个***的效率,也需要将视频流数据切换到其他正常的数据服务器进行存储。存在故障或者负载不均衡的数据服务器为所述源服务器12,在本实施例中,负载不均衡包括磁盘冗余量和吞吐率不满足预设要求。
所述截止时刻为所述元服务器11检测到数据服务器出现故障或者数据服务器的负载不均衡的时刻。由于***的视频流具有时间映射特征,各时间段都对应于视频流相应的数据信息,视频数据的流模式对应于时间的连续性。因此,所述截止时刻是由所述源服务器12返回至所述元服务器11的,即所述源服务器11从所述源服务器12获得所述截止时刻。考虑到分布式***中均存在时钟偏移这一问题,时间的不统一会造成数据存储的错误,因而本实施例采用分布式时钟同步算法统一确定所述截止时刻以减小时钟偏差,使视频流数据的缓存偏移量更为准确。进一步,所述截止时刻可以采用分布式时钟同步算法中的伯克利(Berkeley)算法进行确定。
如步骤S12所述,元服务器通知源服务器从所述截止时刻停止写入视频流数据,并告知目标服务器将所述截止时刻开始缓存的视频流数据写入磁盘,视频流数据的缓存偏移量根据视频编码率和已写入视频流的起止时间戳之差确定。
具体地,每个作为主存储服务器的数据服务器都有与之相对应的从存储服务器,用于防止主存储服务器损坏时数据的丢失,以及时对数据进行恢复。从存储服务器备份主存储服务器的数据信息,通过主存储服务器上面存储的从存储服务器的元数据信息进行维护。当主存储服务器上面数据变化时,及时更新从存储服务器数据和从存储服务器元数据信息。因此,所述源服务器12的从存储服务器可以作为目标服务器13,除所述源服务器12的从存储服务器之外的数据服务器也可以作为目标服务器13。
所述元服务器11通过消息机制通知所述源服务器12从所述截止时刻停止写入视频流数据,并通过消息机制告知所述目标服务器13准备写入视频流数据。若所述源服务器12的从存储服务器作为所述目标服务器13,所述目标服务器13已经缓存了相应的视频流数据,只需将缓存的视频流数据直接写入磁盘即可;若除所述源服务器12的从存储服务器之外的数据服务器作为所述目标服务器13,所述目标服务器13在将视频流数据写入磁盘之前需要对视频流数据进行缓存处理,再将缓存的视频流数据写入磁盘。
视频流数据本身具有时间映射特征,再加上视频编码率是固定的,因此可以根据视频编码率和已写入视频流的起止时间戳之差计算出视频流数据的缓存偏移量,确定所述目标服务器13需要写入磁盘的数据位置和大小。视频编码率越大,其文件大小也就越大。在本实施例中,视频流数据的缓存偏移量根据n=T×α÷8获得,其中,n为视频流数据的缓存偏移量,T为相邻两个视频流的时间戳之差,即数据服务器上记录的前后两个视频流开始写入的时间戳之差,亦即已写入视频流的起止时间戳之差,α为视频编码率,所述编码率包括音频编码率和视频编码率。
如步骤S13所述,元服务器更新元数据,将所述截止时刻后的视频流数据定位至目标服务器。具体地,所述元服务器11将更新元数据,将所述截止时刻之后的视频流数据的位置信息重新定位到目标服务器13。目标服务器13在所述截止时刻的视频流数据写入磁盘后,更新存储在目标服务器13上的元数据,例如磁盘块号、文件片号以及冗余磁盘大小等信息。
如步骤S14所述,在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据。具体地,所述元服务器11通知源服务器12停止写入视频流数据需要消耗时间,在这段时间中源服务器12会有部分所述截止时刻之后的数据写入磁盘,该数据会被视为垃圾数据,占用少量磁盘空间。在下一个写入周期或者下一个保存周期到来时,自动清空这些垃圾数据,从而避免了重复帧的情况。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (7)

1.一种用于保证分布式视频流存储***数据连续性的切换方法,其特征在于,包括:
元服务器通过周期性心跳获得各数据服务器的状态信息,并根据各数据服务器的状态信息记录源服务器写入视频流数据的截止时刻;
元服务器通知源服务器从所述截止时刻停止写入视频流数据,并告知目标服务器将所述截止时刻开始缓存的视频流数据写入磁盘,视频流数据的缓存偏移量根据视频编码率和已写入视频流的起止时间戳之差确定;
元服务器更新元数据,将所述截止时刻后的视频流数据定位至目标服务器;
在下一个保存周期或者下一个写入周期到来时,清空源服务器在所述截止时刻之后写入磁盘的视频流数据;源服务器为存在故障或者负载不均衡的数据服务器,负载不均衡包括磁盘冗余量和吞吐率不满足预设要求。
2.根据权利要求1所述的用于保证分布式视频流存储***数据连续性的切换方法,其特征在于,所述截止时刻采用分布式时钟同步算法进行确定。
3.根据权利要求1所述的用于保证分布式视频流存储***数据连续性的切换方法,其特征在于,所述截止时刻采用分布式时钟同步算法中的伯克利算法进行确定。
4.根据权利要求1所述的用于保证分布式视频流存储***数据连续性的切换方法,其特征在于,源服务器的从存储服务器作为目标服务器。
5.根据权利要求1所述的用于保证分布式视频流存储***数据连续性的切换方法,其特征在于,除源服务器的从存储服务器之外的数据服务器作为目标服务器,目标服务器在将视频流数据写入磁盘之前对视频流数据进行缓存处理。
6.根据权利要求1所述的用于保证分布式视频流存储***数据连续性的切换方法,其特征在于,视频流数据的缓存偏移量根据n=T×α÷8获得,其中,n为视频流数据的缓存偏移量,T为相邻两个视频流的时间戳之差,α为视频编码率。
7.根据权利要求1所述的用于保证分布式视频流存储***数据连续性的切换方法,其特征在于,还包括:目标服务器在所述截止时刻的视频流数据写入磁盘后,更新存储在目标服务器上的元数据。
CN201510412097.1A 2015-07-14 2015-07-14 用于保证分布式视频流存储***数据连续性的切换方法 Active CN104954810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510412097.1A CN104954810B (zh) 2015-07-14 2015-07-14 用于保证分布式视频流存储***数据连续性的切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510412097.1A CN104954810B (zh) 2015-07-14 2015-07-14 用于保证分布式视频流存储***数据连续性的切换方法

Publications (2)

Publication Number Publication Date
CN104954810A CN104954810A (zh) 2015-09-30
CN104954810B true CN104954810B (zh) 2018-04-24

Family

ID=54169101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510412097.1A Active CN104954810B (zh) 2015-07-14 2015-07-14 用于保证分布式视频流存储***数据连续性的切换方法

Country Status (1)

Country Link
CN (1) CN104954810B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108513162A (zh) * 2017-02-23 2018-09-07 中兴通讯股份有限公司 直播回看的缓存、播放方法及***
CN114125493B (zh) * 2021-11-22 2023-06-09 威创集团股份有限公司 一种流媒体的分布式存储方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693168A (zh) * 2011-03-22 2012-09-26 中兴通讯股份有限公司 一种数据备份恢复的方法、***和服务节点
CN103064635A (zh) * 2012-12-19 2013-04-24 华为技术有限公司 分布式存储方法和分布式存储装置
CN103532754A (zh) * 2013-10-12 2014-01-22 北京首信科技股份有限公司 一种通过高速内存、分布式处理海量日志的***及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693168A (zh) * 2011-03-22 2012-09-26 中兴通讯股份有限公司 一种数据备份恢复的方法、***和服务节点
CN103064635A (zh) * 2012-12-19 2013-04-24 华为技术有限公司 分布式存储方法和分布式存储装置
CN103532754A (zh) * 2013-10-12 2014-01-22 北京首信科技股份有限公司 一种通过高速内存、分布式处理海量日志的***及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A high-performance distributed file system for large-scale concurrent HD video streams;Hancong Duan,Wen Zhan,Geyong Min,Hui Guo,Shengmei Luo;《CONCURRENCY AND COMPUTATION:PRACTICE AND EXPERIENCE》;20150520;全文 *
CSTORE:A desktop-oriented distributed public cloud storage;HanCong Duan,Shiyao Yu,MeiMei,Wenhan Zhan,Lin Li;《Computers and Electrical Engineering》;20141127;正文第62页第9行、64页倒数第7-倒数第6行、65页第倒数第3行-66页第14行 *

Also Published As

Publication number Publication date
CN104954810A (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
USRE47852E1 (en) Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency
CN105338078B (zh) 用于存储***的数据存储方法和装置
US8108634B1 (en) Replicating a thin logical unit
US10565071B2 (en) Smart data replication recoverer
US8438135B1 (en) Mirroring metadata in a continuous data protection environment
CN104253860B (zh) 一种基于共享存储消息队列的虚拟机高可用实现方法
US9049349B2 (en) System and method for video recording and retention in a network
US10439917B2 (en) Recovering a replica in an operator in a data streaming processing system
CN105187464B (zh) 一种分布式存储***中的数据同步方法、装置及***
US11341140B2 (en) Unique identification generation for records in a data streaming processing system
US10972513B2 (en) Network data source time management for data streaming processing system
CN104954810B (zh) 用于保证分布式视频流存储***数据连续性的切换方法
CN107040576A (zh) 信息推送方法及装置、通讯***
CN104765661A (zh) 一种云存储服务中元数据服务节点的多节点热备方法
CN106919471A (zh) 用于快照建立的方法和***
CN107203443A (zh) 一种基于kvm虚拟化的虚拟机高可用的方法与装置
US20130080818A1 (en) Conversion of timestamps between multiple entities within a computing system
CN109542684A (zh) 一种存储远程复制方法、装置、设备及存储介质
US10530823B2 (en) Network stream processing to ensuring a guarantee that each record is accounted for exactly once
CN107005434B (zh) 一种同步虚拟网络功能vnf状态的方法、装置和设备
CN111382024B (zh) 一种数据库主备复制延迟监控方法、装置和***
CN105577825B (zh) 保证在线联机服务可用性的方法及装置
US8798086B2 (en) Time-preserved transmissions in asynchronous virtual machine replication
CN108897707A (zh) 一种多控制器的容量统计方法、装置及设备
CN109086169A (zh) 一种数据恢复方法、装置和计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant