视频数据存储方法及系统、视频接入方法及节点与流程

文档序号:14523196阅读:398来源:国知局
视频数据存储方法及系统、视频接入方法及节点与流程

本发明涉及视频数据处理及存储技术领域,特别涉及视频数据存储方法及系统、基于云存储的视频接入方法及节点。



背景技术:

随着视频监控技术的发展和广泛应用,视频监控数据体量越来越庞大,往往需要极大的存储空间。云存储是在云计算(cloudcomputing)概念上延伸和发展出来的新兴网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。由于云存储可以根据需要方便地扩大储存空间,特别适合于大容量存储,因此现在已经广泛地使用云存储技术来存储视频数据。

当前在将视频数据进行云存储时,一般会设定一个覆盖周期(每个视频要求保存的最短时间),当视频数据的保存时间达到覆盖周期时,就可以被覆盖或删除(即周期覆盖),释放云存储空间,从而可以进行循环录像。

在实现本发明的过程中,发明人发现上述方法至少存在以下缺点:

当出现存储的视频数据的码率高于预定的码率或者云存储空间因故减少等情况时,已存储的视频数据中下一个被周期覆盖的视频数据的保存时间尚未达到其覆盖周期(即没有存储数据可被删除),但存储空间已用尽,这时就会出现因存储空间不足而丢录像(视频数据)的情况。用户可以通过及时扩充云存储空间容量的方法来应对该情况。但是如果扩容不及时,那么在用户执行扩容之前,可能会有一段时间的录像因为没有足够的存储空间而丢失。



技术实现要素:

有鉴于此,本发明实施例提供了视频数据存储方法及系统、基于云存储的视频接入方法及节点,以在存储空间足够时能保存更高清晰的视频数据而在存储空间不足时能保存更长时间的视频数据。所述技术方案如下:

第一方面,提供了一种视频数据存储方法,应用于云存储系统,所述云存储系统包括管理节点和存储节点,该方法包括:

所述管理节点检测所述存储节点的可用剩余存储容量,所述可用剩余存储容量为能用于存储当前时刻到下一次周期覆盖的时刻之间的第一视频数据的存储容量;

所述管理节点将所述存储节点的可用剩余存储容量与第一阈值、第二阈值和/或第三阈值进行比较;

当判断可用剩余存储容量小于第一阈值时,所述存储节点接收并存储由前端设备产生的双码率视频数据,其中双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且第一码率高于所述第二码率;

当判断可用剩余存储容量小于第二阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第一码率视频数据;和/或当可用剩余存储容量大于第三阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第二码率视频数据。

第二方面,提供了一种视频数据存储系统,该系统包括管理节点和存储节点,其中,所述管理节点包括检测模块和比较模块;所述存储节点包括存储模块和删除模块;

所述检测模块用于检测所述存储节点的可用剩余存储容量,所述可用剩余存储容量为能用于存储当前时刻到下一次周期覆盖的时刻之间的第一视频数据的存储容量;

所述比较模块用于将所述存储节点的可用剩余存储容量与第一阈值、第二阈值和/或第三阈值进行比较;

所述存储模块,用于接收并存储双码率视频数据,其中双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且第一码率高于第二码率;

所述删除模块,用于当可用剩余存储容量小于第二阈值时,删除已存储的部分或全部双码率视频数据中的第一码率视频数据;和/或当可用剩余存储容量大于第三阈值时,删除已存储的部分或全部双码率视频数据中的第二码率视频数据。

第三方面,提供了一种基于云存储的视频接入方法,应用于视频接入节点,该方法包括:

当云存储系统的存储节点能用于存储当前时刻到下一次周期覆盖的时刻之间的可用剩余存储容量小于第一阈值时,所述视频接入节点从前端设备接入双码率视频数据并转发给所述存储节点,以使:当可用剩余存储容量小于第二阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第一码率视频数据;和/或当所述可用剩余存储容量大于第三阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第二码率视频数据,

其中,双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且所述第一码率高于所述第二码率。

第四方面,提供了基于云存储的视频接入节点,所述节点包括:

收发模块,用于当云存储系统的存储节点能用于存储当前时刻到下一次周期覆盖的时刻之间的可用剩余存储容量小于第一阈值时,接入双码率视频数据并转发给所述存储节点,以使:当可用剩余存储容量小于第二阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第一码率视频数据;和/或当所述可用剩余存储容量大于第三阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第二码率视频数据,

其中双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且所述第一码率高于所述第二码率。

本发明实施例提供的技术方案带来的有益效果是:

在存储空间不足、即用于存储当前时刻到下一次周期覆盖的时刻之间的第一视频数据的可用剩余存储容量小于第一阈值时,接收并存储双码率视频数据,双码率视频数据包括有内容相同的第一码率视频数据与第二码率视频数据,从而可以根据可用剩余存储容量的情况删除部分或全部的双码率视频数据中的第一码率视频数据或第二码率视频数据,即在存储空间足够时能保存更高清晰的视频数据而在存储空间不足时能保存更长时间的视频数据。

具体而言,在可用剩余存储容量不足、即小于第二阈值时可以删除双码率视频数据中的第一码率视频数据,由于第二码率小于第一码率,因此单位存储容量存储的视频时长更长,这样就能够在有限的存储空间内存储更长时间的视频数据,防止在一时难以扩充存储容量时导致一段时间的视频数据无法存储或者一部分视频数据在其保存时间没有达到覆盖周期时就被覆盖。

同时,由于双码率视频数据包括内容相同的第一码率视频数据和第二码率视频数据,即第一码率视频数据可以实现全时段的接收和存储,因此即使因为存储容量不足且不能及时扩容而需要删除第一码率视频数据,也可以在满足保存全时段的视频数据的前提下,保存尽可能长时间的第一码率视频数据,使有尽可能长时间的视频数据保持高清晰度。

再者,在可用剩余存储容量充足、即大于第三阈值时,可以停止接收双码率视频数据而仅存储第一码率视频数据并删除之前存储的作为备份的第二码率视频数据,从而减少了在存储空间充足的情况下操作的复杂度和传输及存储的数据量。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例的运行环境示意框图;

图2是本发明一实施例提供的视频数据存储方法的流程图;

图3是本发明一实施例提供的视频数据存储方法中阈值设置的流程图;

图4是本发明一实施例提供的视频数据存储系统的结构框图;

图5是发明一实施例提供的视频数据存储系统中用于阈值设置的模块结构框图;

图6是本发明一实施例提供的基于云存储的视频接入方法的流程图;

图7是本发明一实施例提供的基于云存储的视频接入节点的结构框图;

图8是本发明一实施例提供的视频接入和存储系统的结构框图;

图9是图8所示的系统的例示性工作流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明一实施例提供了基于云存储的视频接入方法和视频数据存储方法,图1示出了这两种方法所涉及的实施环境。该实施环境包括云存储系统1、视频接入节点2和前端设备3。视频接入节点2与一个或一个以上的前端设备3通信相连,并与云存储系统1通信相连。前端设备3是能提供至少两种不同码率(包括下文中提到的第一码率和第二码率)的视频流的设备,前端设备3如图1所示例如可为摄像头,应该理解,图1中示出的前端设备3的数量为三仅作为例示,实际上可以为一或一个以上。每个前端设备3为各自监控的场景实时录制视频,视频接入装置2从前端设备3接入视频数据,然后转发到云存储系统1。云存储系统1存储视频数据。视频接入装置2与前端设备3之间、视频接入节点2与云存储系统1之间可通过数据通道或网络来以有线或无线的形式传递数据。图1中示出的云存储系统1包括三个服务器,但实际上可以包括一个或一个以上的任意数量的服务器,其中一个服务器可以为管理节点,其他服务器可以为存储节点,需要说明的是,本发明实施例中的管理节点是指云存储系统中具有管理功能的服务器,在一些云存储系统的架构中,有时候管理节点也可以同时为存储节点。

云存储系统1的存储服务器中一般设置有覆盖周期,保存时间达到覆盖周期的视频数据可以被覆盖(即被删除或被新的视频数据覆盖)。为了回放录像时能更清楚显示监控信息,视频接入装置2优先接入高码率的视频数据存储到云存储系统1,但是有时候云存储系统1的存储空间会不足以保存当前时刻到下一次周期覆盖的时刻之间前端设备3录制的高码率视频数据。有鉴于此,在本实施例中相对于现有技术做了创造性改进。下面分别对本实施例中视频数据存储侧的视频数据存储方法及系统、视频接入侧的视频接入方法及节点和整体的视频接入和存储系统进行介绍。

本实施例首先提供了一种视频数据存储方法,应用于云存储系统,云存储系统包括管理节点和存储节点,如图2所示,该方法包括:

步骤s11:管理节点检测存储节点的可用剩余存储容量。可用剩余存储容量为能用于存储当前时刻到下一次周期覆盖的时刻之间的第一视频数据的存储容量;

一般管理节点只有一个,而存储节点可以为多个,每个或所有可用于存储视频的存储节点实时或周期性将其可用剩余存储容量发送给管理节点,本发明的一种实施方式中,管理节点通过统计同一时刻(或附近)检测到的所有可用剩余存储容量的总和来作为可用剩余存储容量。检测优选周期性进行,以减轻数据处理负担。

步骤s12:管理节点将检测到的可用剩余存储容量与第一阈值、第二阈值和/或第三阈值进行比较;

可用剩余存储容量小于第一阈值说明可用剩余存储容量已经达到警戒水平,需要存储双码率视频数据作为备用,因此转到步骤s13。注意,实际应用中,一般在之前已经检测到可用剩余存储容量小于第一阈值且已经转到步骤s13后,才将可用剩余存储容量与第二阈值和/或第三阈值进行比较;并且在存储双码率视频数据的过程中,一般不需要将可用剩余存储容量与第一阈值进行比较。这种比较优选周期性进行,以减轻数据处理负担,一般在检测完可用剩余存储容量之后即可进行比较。

第一阈值、第二阈值和/或第三阈值可以是根据实践所取的经验值,也可以是计算得到的,或兼而有之,具体可参见下文对设置第一阈值、第二阈值和/或第三阈值的具体描述。

步骤s13:当判断可用剩余存储容量小于第一阈值时,存储节点接收并存储由前端设备产生的双码率视频数据,其中双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且第一码率高于第二码率;

注意,在本发明中,使用“当…时”,并不意味着随后的操作马上执行,而是有可能滞后一段时间或需要达到另外的条件才执行。

当步骤s12的比较结果是可用剩余存储容量小于第一阈值时,则存储节点从视频接入节点接收并存储由前端设备产生的双码率视频数据。

码率又可称为比特率,应用于视频领域时一般指的是单位时长的视频数据需要占用的存储空间的大小。第一码率视频数据指的是码率为第一码率的视频数据,第二码率视频数据指的是码率为第二码率的视频数据。

显然,来自不同的视频源的视频数据的码率可能不同,同时,在时间轴上,码率也可能是有一定波动而非恒定不变的,因此,第一码率和第二码率主要是用来区分对应构成双码率视频数据的第一码率视频数据和第二码率视频数据的码率,在内容相同时前者高于前者,但并不一定指代两个固定的码率,也不意指任何一个第一码率视频数据的码率都高于任何一个第二码率视频数据的码率。

一般可以通过调节视频分辨率和/或视频帧率来得到不同码率的视频。例如第一码率对应的视频分辨率可以为1080p,而第二码率对应的视频分辨率可以为720p,在帧率都相同例如为30帧每秒时,单位时间视频数据占据的存储空间相比,显然后者小于前者;也可以这么设置:第一码率和第二码率对应的视频分辨率都为1080p,但前者的帧率为30帧每秒,后者可以为15帧每秒,此时后者也小于前者。

接收并存储双码率视频数据即对于同一路视频源,在接收并存储第一码率视频数据的同时还额外接收并存储第二码率视频数据,内容相同指的是两者来自于同一路视频源、且录制时段相同,从而两者的内容都是同一场景同一时段的录像,例如后者是从前者以某种减少码率的方式压缩产生,从而分辨率、画幅和/或帧率可能有所不同,后者可能降低了分辨率、对画幅进行了裁剪和/或减少了帧率。

双码率视频数据存储到存储节点时,一般是成对存储,即一个第二码率视频数据文件对应一个内容相同的第一码率视频数据文件,当然也可以是一个或多个第二码率视频数据文件对应多个内容相同的第一码率视频数据文件。应当理解,视频数据在传输和播放时一般呈现为视频数据流的形式,在存储时呈现为视频数据文件的形式,两者包含的内容实质是一致的,为了简便起见,在本发明中统称为视频数据,视频数据也可称之为录像。在本发明中,第一码率高于第二码率指的是内容相同的第一码率视频数据的码率高于第二码率视频数据的码率。本发明中的视频数据不限于单纯的视频,还可包括音频等其他相关数据。

步骤s14:根据可用剩余存储容量的情况,删除已存储的部分或全部双码率视频数据中的第一码率视频数据或第二码率视频数据。

注意,在本发明中,存储的双码率视频数据中一旦删去了第一码率视频数据或第二码率视频数据,就不能称之为双码率视频数据,因此在其周期覆盖的时刻到达之前,为了保存录像时间段的完整性,不能再对执行了删除操作的双码率视频数据中单剩下的第一码率视频数据或第二码率视频数据进行删除,在本发明中,计量已存储的双码率视频数据中的第二码率视频数据的存储容量时,也只考虑内容相同的第一码率视频数据已被保存的第二码率视频数据。

该步骤包括两种情况:

第一种:当可用剩余存储容量小于第二阈值时,删除已存储的部分或全部双码率视频数据中的第一码率视频数据;

第二种:当可用剩余存储容量大于第三阈值时,删除已存储的双码率视频数据中的第二码率视频数据。此时,存储节点还可停止存储第二码率视频数据但继续存储第一码率视频数据。

注意,两种情况并不会在一次比较后都出现。另外在本发明中,停止存储时可以相应停止接收。

本发明中,第一阈值、第二阈值或第三阈值可根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量而设置。下面以第三阈值为例进行说明。

如图3所示,第三阈值可根据如下步骤设定:

子步骤s121:每隔一个设定的监测周期检测剩余的存储容量;

监测周期例如可以设置为10分钟或其他时长。检测到的剩余的存储容量是指所有云存储装置中的剩余存储容量之和。

子步骤s122:根据前一监测周期中第一码率视频数据占用的存储容量与监测周期确定前一监测周期中的平均存储速度。

由于周期性监测,所以前一监测周期中新占用的存储容量可用前一次检测到的剩余的存储容量p1减去当前检测到的剩余的存储容量p2得到,但由于额外存储了第二码率视频数据,所以在计算平均存储速度和剩余存储空间不能计算它所占的空间p3。计算前一监测周期中第一码率视频数据占用的存储容量的一种可选的方式是,记录存储的每个第二码率视频数据的索引,根据索引可得到在前一监测周期中大小发生变化的第二码率视频数据,从而得到在前一监测周期中第二码率视频数据总共新占用的存储空间p3,同时设监测周期为t1,因此平均存储速度的计算公式为:s1=(p1-p2-p3)/t1。当然也可以记录第一码率视频数据的索引,根据索引可得到在前一监测周期中大小发生变化的第一码率视频数据,从而得到在前一监测周期中第一码率视频数据总共新占用的存储空间,直接用其除以监测周期t1即得到前一周期的平均存储速度。

子步骤s123:确定当前时刻到下一次周期覆盖的时刻之间的时长;

下一次周期覆盖的时刻一般指的是已存储的视频数据中最早保存的视频数据到达周期覆盖的时刻,即最早保存或下一个可被覆盖的视频数据可以被覆盖的时刻,此时存储容量可以通过删除到达周期覆盖的视频数据来进行扩充,因此可认为是执行下一次周期覆盖的时刻,当然也可以预先设置执行覆盖或删除操作的执行周期,隔一个预先设置的执行周期执行一次周期覆盖操作,删除保存时间达到或超过覆盖周期的视频数据。设当前时刻为t3,覆盖周期为t,最早保存的视频数据的保存时间起算的时刻为t2,则当前时刻到下一次周期覆盖的时刻之间的时长为t-(t3-t2)。

子步骤s124:根据平均存储速度与上述时长确定需要的存储容量;

根据平均存储速度s1与上述时长t-(t3-t2)确定需要的存储容量即为(t-(t3-t2))×s1;

子步骤s125:根据需要的存储容量到得到阈值。

即根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量来设置第三阈值,例如可以使之相等,或以设定幅度或设定裕量增大来得到第一阈值,一般不使其减小,但减小也应当认为是包含在本发明的范围之内。上述设置阈值的方式是例示的,实际中可以进行各种改变,例如求取平均存储速度时可以求取多个监测周期的平均存储速度,或者求取任意两个时刻之间的平均存储速度而不考虑监测周期。

作为本发明的一种实施方式,检测可用剩余存储容量的办法为:管理节点计算当前剩余的存储容量与已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和,得到可用剩余存储容量。此时的可用剩余存储容量即为当前剩余的存储容量加上已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和,这是因为存在内容相同的第一码率视频数据,因此必要时双码率视频数据中的第二码率视频数据可以被删除,从而其占据的存储容量可纳入可用剩余存储容量的范畴。

设当前剩余的存储容量为p2,已存储的双码率视频数据中的第二码率视频数据占据的存储容量为p3’,那么可用剩余存储容量为p2+p3’,可用剩余存储容量大于第一阈值的一个表达式即为p2+p3’>(t-(t3-t2))×s1,如前所述,右边还可设置裕量。一种得到p3’的可选方式是,记录存储的每个第二码率视频数据的索引,根据索引可得到所有第二码率视频数据占据的存储容量。注意,这里p3’不应当包含内容相同的第一码率视频数据已被删除的那部分第二码率视频数据占据的存储容量,因为该部分第二码率视频数据不可在到达其周期覆盖的时刻前被删除。

本发明的一种实施方式中,还可在满足可用剩余存储容量大于第三阈值的基础上设置附加条件,例如连续设定个监测周期都检测到满足可用剩余存储容量大于第三阈值,才执行后面的操作。

满足可用剩余存储容量大于第三阈值时,即表示在采取了例如人为扩充存储容量或删除了一部分数据等措施后,足以存储当前时刻到下一次周期覆盖的时刻之间所有接收的第一码率视频数据,因而无需删除第一码率视频数据,也无需再接收双码率视频数据,只需要接收第一码率视频数据,同时现有的第二码率视频数据可以删除。当然应当理解,在本发明中,只删除双码率视频数据中的第二码率视频数据,防止缺失某个场景在某个时段的视频数据。

第二阈值也可按照与第三阈值相同的步骤设定,具体参见上面结合图3进行的说明,即根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量来设置第二阈值,例如可以使之相等,或以设定幅度或设定裕量增大或减小得到第一阈值。

此时的可用剩余存储容量同样可为当前剩余的存储容量加上已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和。可用剩余存储容量小于第一阈值的一个表达式即为p2+p3’<(t-(t3-t2))×s1,右边还可增大或减小。

本发明的一种实施方式中,还可在满足可用剩余存储容量小于第二阈值的基础上设置附加条件,例如小于另一个设定的具体阈值时,才执行后面的操作。

满足可用剩余存储容量小于第二阈值即表示需要删除一些第一码率视频数据,否则可能来不及删除第一码率视频数据而存储空间用尽。因此,另一个设定的具体阈值可根据存储速度设置和调整,不能过小而出现来不及执行删除操作导致下一次周期覆盖的时刻未到但存储空间用尽的情况,同时也不宜过大而过早删除第一码率视频数据,因为实际上用户可能有时间采取增大存储容量等措施而不需要删除第一码率视频数据。

在满足可用剩余存储容量小于第二阈值时,删除与已经存储的第二码率视频数据相对应的第一码率视频数据的占据的存储容量优选大于当前时刻到下一次周期覆盖的时刻之间存储第一码率视频数据还缺少的存储容量,即大于(t-(t3-t2))×s1-p3’-p2。这样,删除处理后的可用剩余存储容量足以存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据,从而通常情况下不再需要接入双码率视频数据。当然,也可以隔一段时间检测到满足可用剩余存储容量小于第二阈值就删除一段第一码率视频数据,以在可用剩余存储容量随时可能被人为扩充的情况下尽可能保存更长时间的第一码率视频数据。删除时也可以选择从对应的监控场景重要性低的前端设备接入的第一码率视频数据进行删除,尽可能保存对应监控场景的重要性高的前端设备接入的第一码率视频数据,重要性可通过设置优先级来设定。应该理解,在本发明中,只删除已存储有内容相同的第二码率视频数据的第一码率视频数据,防止缺失某个场景在某个时段的视频数据。

监测可用剩余存储容量大于第三阈值和可用剩余存储容量小于第二阈值可以分别执行,例如设置不同的监测周期,但是也可以合并执行。

应该理解,在本发明中,初始时可以默认接收并存储第一码率视频数据,然后周期性检测可用剩余存储容量,与第一阈值进行比较,确定是否接收和存储双码率视频数据,也可以初始时检测可用剩余存储容量,与第一阈值进行比较,确定是否接收和存储双码率视频数据,再进行接收和存储。

在仅接收并存储第一码率视频数据时,可用剩余存储容量也可计算为当前剩余的存储容量与已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和,只是已存储的双码率视频数据中的第二码率视频数据占据的存储容量可能为零(因为之前没有接收并存储双码率视频数据)。同时第一阈值也可依照图3示出的方法确定,即根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量来设置第一阈值,例如可以使之相等,或以设定幅度或设定裕量增大或减小得到第一阈值。只是由于此时未接入双码率视频数据,因此计算当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量可以更简单,即p3=0,从而平均存储速度的计算公式可为:s1=(p1-p2)/t1,而p3’也为零,因此可用剩余存储容量小于第一阈值的一个表达式可以为p2<(t-(t3-t2))×s1。

满足可用剩余存储容量小于第一阈值即表示如果继续仅存储第一码率视频数据,那么就会出现因存储空间不足而丢掉一段时间的一些场景的录像或覆盖掉一部分保存时间未达到覆盖周期的录像。而在满足之后接收并存储双码率视频数据(即额外接入并存储第二码率视频数据),那么此后就可以删除部分或全部的双码率视频数据中的第一码率视频数据,保留第二码率视频数据。由于第二码率比第一码率低,单位存储容量存储的视频时长更长,这样就能够在有限的存储空间内存储更长时间的视频数据,防止在一时难以扩充存储容量时导致一段时间的视频无法存储或者一部分视频数据在其保存时间没有达到覆盖周期时就被覆盖;同时在未满足时,由于可用剩余存储容量能够存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据,因此也无需接入双码率视频数据,减少操作复杂性和数据传输量。

作为选择,也可在满足可用剩余存储容量小于第一阈值的基础上设置附加条件,例如在满足后过一段时间再次满足才执行后面的操作。

无论第一阈值、第二阈值和第三阈值如何设置,监测可用剩余存储容量是否小于第一阈值、小于第二阈值和大于第三阈值可优选为周期性的操作,具体可以如此进行:在满足小于第一阈值之前周期性监测是否小于第一阈值,无需检测是否大于第三阈值和小于第二阈值;在满足小于第一阈值而接收并存储双码率视频数据之后,周期性检测是否大于第三阈值和小于第二阈值,而不需要检测小于第一阈值是否满足;在满足大于第一阈值而执行删除操作之后,则回过来周期性监测是否小于第一阈值,无需检测是否大于第三阈值和小于第二阈值;满足小于第二阈值而执行删除操作之后,仍然周期性检测是否大于第三阈值和小于第二阈值而不需要检测是否小于第一阈值。

本实施例中的视频数据存储方法可由包含管理节点和一个或一个以上的存储节点的云存储系统执行。管理节点可以定时检测(例如10分钟一次,也即10分钟一个监测周期)所有存储节点的状态,获取存储节点的存储空间情况,如果此时接收视频数据则选择合适的(即有合适大小的剩余存储空间)存储节点来存储视频数据。存储节点则是被动的提供存储服务的服务器。当所有存储节点的可用剩余存储空间之和不足时,管理节点控制存储节点进行容量覆盖或者提示用户进行扩容,以保证视频数据的正常存储。在具体执行本方法时,管理节点可使用监测线程监测每一个监测周期中所有存储节点的始末存储容量,从而得到可用剩余存储容量和平均存储速度,因而可以确定是否小于第一阈值、小于第二阈值或大于第三阈值,由此执行存储或停止存储双码率视频数据的操作,并可控制存储服务器执行删除操作;同时管理节点保存有存储的每个视频数据的索引信息,可以找到每个双码率视频数据中第一码率视频数据对应的内容相同的第二码率视频数据,反之亦然,因而可以方便地指示存储节点删除哪些视频数据。注意,在本领域中,管理节点也可称之为元数据服务器或类似的名字,存储节点也可称之为存储服务器、数据服务器或类似的名字。管理节点与存储节点之间通过无线或有线进行通信。

本实施例提供的视频数据存储方法,在存储空间不足、即用于存储当前时刻到下一次周期覆盖的时刻之间的第一视频数据的可用剩余存储容量小于第一阈值时,存储节点接收并存储双码率视频数据,双码率视频数据包括有内容相同的第一码率视频数据与第二码率视频数据,从而可以根据可用剩余存储容量的情况删除部分或全部的双码率视频数据中的第一码率视频数据和/或第二码率视频数据,即在存储空间足够时能保存更高清晰的视频数据而在存储空间不足时能保存更长时间的视频数据。

具体而言,在可用剩余存储容量不足、即小于第二阈值时可以删除双码率视频数据中的第一码率视频数据,由于第二码率小于第一码率,因此单位存储容量存储的视频时长更长,这样就能够在有限的存储空间内存储更长时间的视频数据,防止在一时难以扩充存储容量时导致一段时间的视频数据无法存储或者一部分视频数据在其保存时间没有达到覆盖周期时就被覆盖。

同时,由于双码率视频数据包括内容相同的第一码率视频数据和第二码率视频数据,即第一码率视频数据可以实现全时段的接收和存储,因此即使因为存储容量不足且不能及时扩容而需要删除第一码率视频数据,也可以在满足保存全时段的视频数据的前提下,保存尽可能长时间的第一码率视频数据,使有尽可能长时间的视频数据保持高清晰度。

再者,在可用剩余存储容量充足、即大于第三阈值时,可以停止存储双码率视频数据而仅存储第一码率视频数据并删除之前存储的双码率视频数据中的第二码率视频数据,从而减少了在存储空间充足的情况下操作的复杂度和传输及存储的数据量。

本实施例还提供了一种视频数据存储系统,如图4所示,该系统包括管理节点1和存储节点2,其中管理节点包括检测模块11和比较模块12,存储节点包括存储模块13和删除模块14。

检测模块11用于检测所述存储节点的可用剩余存储容量,可用剩余存储容量为能用于存储当前时刻到下一次周期覆盖的时刻之间的第一视频数据的存储容量;

实际中,检测模块11具体用于计算当前剩余的存储容量与已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和,得到可用剩余存储容量。

比较模块12用于将所述存储节点的可用剩余存储容量与第一阈值、第二阈值和/或第三阈值进行比较;

存储模块13,用于接收并存储双码率视频数据,其中双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且第一码率高于第二码率;

删除模块14,用于根据可用剩余存储容量的情况,删除已存储的部分或全部双码率视频数据中的第一码率视频数据或第二码率视频数据。

根据可用剩余存储容量的情况,删除模块12可具体用于两种情形:

第一种:可用剩余存储容量小于第二阈值时,删除已存储的部分或全部双码率视频数据中的第一码率视频数据;

第二种:当可用剩余存储容量大于第三阈值时,删除已存储的部分或全部双码率视频数据中的第二码率视频数据。此时,此时,还可停止存储第二码率视频数据但继续存储第一码率视频数据。

删除模块12还用于当可用剩余存储容量大于第一阈值时,停止存储第二码率视频数据但继续存储第一码率视频数据。

其中,第一阈值、第二阈值和/或第三阈值可根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量而设置。如图5所示,设置阈值可通过下列模块实现,以第三阈值为例:

周期检测子模块121,用于每隔一个设定的监测周期检测剩余的存储容量;

速度确定子模块122,用于根据前一监测周期中第一码率视频数据占用的存储容量与监测周期确定前一监测周期中的平均存储速度;

时长确定子模块123,用于确定当前时刻到下一次周期覆盖的时刻之间的时长;

需求确定子模块124,用于根据平均存储速度与上述时长确定需要的存储容量

获取子模块125,用于根据需要的存储容量到得到阈值。

由上可知,第三阈值可以根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量来设置,例如可以使之相等,或以设定幅度或设定裕量增大得到第一阈值,一般不减小,但减小也应当认为是包含在本发明的范围之内。

此时的可用剩余存储容量可为当前剩余的存储容量加上已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和。

第二阈值也可通过调用图5的模块设置,即根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量来设置第二阈值,例如可以使之相等,或以设定幅度或设定裕量增大或减小得到第二阈值。作为选择,为了慎重起见,还可在满足可用剩余存储容量小于第二阈值的基础上设置附加条件,例如小于另一个设定的具体阈值时,才执行后面的操作。

此时的可用剩余存储容量同样可为当前剩余的存储容量加上已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和。

应该理解,在本发明中,存储模块初始时可以默认接收并存储第一码率视频数据,然后检测模块周期性检测可用剩余存储容量,比较模块将其与阈值进行比较,确定是否接收和存储双码率视频数据,也可以初始时检测可用剩余存储容量,与阈值进行比较,确定是否接收和存储对应双码率视频数据,再进行接收和存储。

在仅接收并存储第一码率视频数据时,可用剩余存储容量也可计算为当前剩余的存储容量与已存储的双码率视频数据中的第二码率视频数据占据的存储容量之和,只是已存储的双码率视频数据中的第二码率视频数据占据的存储容量有可能为零(一开始没有接收并存储双码率视频数据)。

同时第一阈值也可利用图5中的模块设置,即根据存储当前时刻到下一次周期覆盖的时刻之间的第一码率视频数据需要的存储容量来设置第三阈值,例如可以使之相等,或以设定幅度或设定裕量增大或减小得到第一阈值。只是由于此时未接入双码率视频数据,可以不需要考虑第二码率视频数据占据的存储容量。作为选择,也可在满足可用剩余存储容量小于第一阈值的基础上设置附加条件,例如在满足后过一段时间再次满足才执行后面的操作。

由于视频数据存储方法与视频数据存储系统相互对应,因此后者可以参照对前者的说明,在此不再赘述。

云存储系统一般具有元数据服务器(即管理节点)和一个或多个存储服务器(即存储节点),存储服务器用于存储视频数据,元数据即用于描述其他存储数据的数据,元数据服务器一般可用于记录存储的视频数据的索引,例如每个视频数据文件对应的时间段、录制的前端设备的id和存储地址(例如包括服务器id、块id、段id),从而可以找到双码率视频数据中第二码率视频数据对应的内容相同的第一码率视频数据,反之亦然。在云存储装置具有元数据服务器和一个或多个存储服务器时,存储服务器可以执行或被控制执行存储和删除视频数据的操作,元数据服务器可以执行检测、计算、确定、查找、控制等操作(具体可参见视频数据存储方法中的相应说明),但是本发明不限于此。

本实施例提供的视频数据存储系统,在存储空间不足、即用于存储当前时刻到下一次周期覆盖的时刻之间的第一视频数据的可用剩余存储容量小于第一阈值时接收并存储双码率视频数据,双码率视频数据包括有内容相同的第一码率视频数据与第二码率视频数据,从而可以根据可用剩余存储容量的情况删除部分或全部的双码率视频数据中的第一码率视频数据或第二码率视频数据,即在存储空间足够时能保存更高清晰的视频数据而在存储空间不足时能保存更长时间的视频数据。

具体而言,在可用剩余存储容量不足、即小于第二阈值时可以删除双码率视频数据中的第一码率视频数据,由于第二码率小于第一码率,因此单位存储容量存储的视频时长更长,这样就能够在有限的存储空间内存储更长时间的视频数据,防止在一时难以扩充存储容量时导致一段时间的视频数据无法存储或者一部分视频数据在其保存时间没有达到覆盖周期时就被覆盖。

同时,由于双码率视频数据包括内容相同的第一码率视频数据和第二码率视频数据,即第一码率视频数据可以实现全时段的接收和存储,因此即使因为存储容量不足且不能及时扩容而需要删除第一码率视频数据,也可以在满足保存全时段的视频数据的前提下,保存尽可能长时间的第一码率视频数据,使有尽可能长时间的视频数据保持高清晰度。

再者,在可用剩余存储容量充足、即大于第三阈值时,可以停止存储双码率视频数据而存储第一码率视频数据并删除之前存储的双码率视频数据中的第二码率视频数据,从而减少了在存储空间充足的情况下操作的复杂度和传输及存储的数据量。

本实施例还提供了一种基于云存储的视频接入方法,应用于视频接入节点,如图6所示,该方法包括:

步骤s21:当云存储系统的存储节点能用于存储当前时刻到下一次周期覆盖的时刻之间的可用剩余存储容量小于第一阈值时,视频接入节点从前端设备接入双码率视频数据并转发给所述存储节点,以使:当可用剩余存储容量小于第二阈值时,存储节点删除已存储的部分或全部双码率视频数据中的第一码率视频数据;和/或当可用剩余存储容量大于第三阈值时,存储节点删除已存储的部分或全部双码率视频数据中的第二码率视频数据,其中,双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且所述第一码率高于所述第二码率。

视频数据的来源可以为前端设备或其他合适的设备。应该理解,设从其接入视频数据的前端设备的数量为第一数量,接入双码率视频数据的前端设备(即除了接入第一码率数据之外额外从其接入第二码率视频数据的前端设备)的数量为第二数量,那么第一数量和第二数量都为大于或等于一的自然数,第二数量可以少于或等于第一数量。这样,可以选择性地从一些监控重要场景、优先级高的前端设备始终接入第一码率视频数据,存储时也是同样如此,以使在所有监控时间内都保存重要场景的高清晰度录像,即对应于第二数量少于第一数量的情形。

应该理解,在本发明中,初始时可以默认接入并转发第一码率视频数据,然后根据可用剩余存储容量与第一阈值比较的结果,确定是否接收和存储对应双码率视频数据,也可以初始时根据可用剩余存储容量与第一阈值比较的结果,确定是否接收和存储双码率视频数据后,再进行接收和存储。

如图6所示,该方法还可包括:

步骤s22:当可用剩余存储容量大于第三阈值时,停止转发双码率视频数据而转发第一码率视频数据。

注意,在本发明中,在停止转发双码率视频数据而转发第一码率视频数据时,可以继续接入双码率视频数据但不转发第二码率视频数据,但更优选的方式是不再接入第二码率视频数据而仅接入第一码率视频数据。

如上文所述,存储节点根据可用剩余存储容量的情况,删除已存储的部分或全部双码率视频数据中的第一码率视频数据或第二码率视频数据,可分为两种情况:

第一种情况:当可用剩余存储容量小于第二阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第一码率视频数据;

第二种情况:当可用剩余存储容量大于第三阈值时,所述存储节点删除已存储的部分或全部双码率视频数据中的第二码率视频数据。

这里的第一阈值、第二阈值和第三阈值的设置与视频数据存储方法中相同,具体可以参见上文,在此不再赘述。

本实施例提供的基于云存储的视频接入方法,当云存储系统的存储节点能用于存储当前时刻到下一次周期覆盖的时刻之间的可用剩余存储容量小于第一阈值时,视频接入节点从前端设备接入双码率视频数据并转发给存储节点,双码率视频数据包括有内容相同的第一码率视频数据与第二码率视频数据,从而使得云存储系统可以根据可用剩余存储容量的情况删除部分或全部的双码率视频数据中的第一码率视频数据或第二码率视频数据,即在存储空间足够时能保存更高清晰的视频数据而在存储空间不足时能保存更长时间的视频数据。

具体而言,在可用剩余存储容量不足、即小于第二阈值时,云存储装置删除双码率视频数据中的第一码率视频数据,由于第二码率小于第一码率,因此单位存储容量存储的视频时长更长,这样就能够在有限的存储空间内存储更长时间的视频数据,防止在一时难以扩充存储容量时导致一段时间的视频数据无法存储或者一部分视频数据在其保存时间没有达到覆盖周期时就被覆盖。

同时,由于双码率视频数据包括内容相同的第一码率视频数据和第二码率视频数据,即第一码率视频数据可以实现全时段的接收和存储,因此即使因为存储容量不足且不能及时扩容而需要删除第一码率视频数据,也可以在满足保存全时段的视频数据的前提下,保存尽可能长时间的第一码率视频数据,使有尽可能长时间的视频数据保持高清晰度。

再者,在可用剩余存储容量充足、即大于第三阈值时,可以停止转发(且还可以停止接入)双码率视频数据并且云存储系统可以删除之前存储的双码率视频数据中的第二码率视频数据,从而减少了在存储空间充足的情况下操作的复杂度和传输及存储的数据量。

对应于上述基于云存储的视频接入方法,如图7所示,本实施例提供的基于云存储的视频接入装置包括收发模块21。

收发模块21,用于当云存储系统的存储节点能用于存储当前时刻到下一次周期覆盖的时刻之间的可用剩余存储容量小于第一阈值时,接入双码率视频数据并转发给存储节点,以使:当可用剩余存储容量小于第二阈值时,存储节点删除已存储的部分或全部双码率视频数据中的第一码率视频数据;和/或当可用剩余存储容量大于第三阈值时,存储节点删除已存储的部分或全部双码率视频数据中的第二码率视频数据,其中双码率视频数据包括内容相同的第一码率视频数据与第二码率视频数据,且所述第一码率高于所述第二码率。

如图7所示,视频接入节点还可进一步包括:

转换模块22,用于当可用剩余存储容量大于第三阈值时,停止转发双码率视频数据而转发第一码率视频数据。

这是因为当可用剩余存储容量大于第三阈值时,云存储装置停止存储双码率视频数据而存储第一码率视频数据,因此相应地,视频接入节点可以停止转发双码率视频数据而转发第一码率视频数据,降低运行负荷。

由于基于云存储的视频接入方法与基于云存储的视频接入节点相互对应,因此后者可以参照对前者的说明,在此不再赘述。

本发明的视频接入节点可以为设置有上述功能模块的视频接入装置实体,例如视频接入网关,也可以为存储有相应的程序模块集合而成的软件的介质或载体,软件运行时能控制视频接入装置执行上述步骤。视频接入节点的各功能模块可以设置在视频接入装置之外,通过指令对视频接入装置进行操作,也可以设置在视频接入装置之中直接执行操作。

本实施例提供的基于云存储的视频接入节点,包括收发模块,用于当云存储系统的存储节点能用于存储当前时刻到下一次周期覆盖的时刻之间的可用剩余存储容量小于第一阈值时,视频接入节点从前端设备接入双码率视频数据并转发给存储节点,双码率视频数据包括有内容相同的第一码率视频数据与第二码率视频数据,从而使得云存储系统可以根据可用剩余存储容量的情况删除部分或全部的双码率视频数据中的第一码率视频数据或第二码率视频数据,即在存储空间足够时能保存更高清晰的视频数据而在存储空间不足时能保存更长时间的视频数据。

具体而言,在可用剩余存储容量不足、即小于第二阈值时,云存储装置删除双码率视频数据中的第一码率视频数据,由于第二码率小于第一码率,因此单位存储容量存储的视频时长更长,这样就能够在有限的存储空间内存储更长时间的视频数据,防止在一时难以扩充存储容量时导致一段时间的视频数据无法存储或者一部分视频数据在其保存时间没有达到覆盖周期时就被覆盖。

同时,由于双码率视频数据包括内容相同的第一码率视频数据和第二码率视频数据,即第一码率视频数据可以实现全时段的接收和存储,因此即使因为存储容量不足且不能及时扩容而需要删除第一码率视频数据,也可以在满足保存全时段的视频数据的前提下,保存尽可能长时间的第一码率视频数据,使有尽可能长时间的视频数据保持高清晰度。

再者,在可用剩余存储容量充足、即大于第三阈值时,可以停止转发(且还可以停止接入)双码率视频数据并且使得云存储系统可以删除之前存储的双码率视频数据中的第二码率视频数据,从而减少了在存储空间充足的情况下操作的复杂度和传输及存储的数据量。

本实施例的视频接入节点和视频数据存储系统可以配合工作,形成视频接入和存储系统。如图8所示,视频接入和存储系统包括本实施例提供的视频数据存储系统1和视频接入节点2。视频接入节点2例如从前端设备接入视频数据并转发到视频数据存储装置1,存储系统1接收并存储视频数据,具体可参见上面的描述。

图9示出了视频接入和存储系统的例示性工作流程图,其执行以下步骤:

在步骤s1,视频接入节点2接入第一码率视频数据并转发,视频数据存储系统1的存储节点存储第一码率视频数据,达到预定时间(例如一个监测周期)时,进入步骤s2;

在步骤s2,视频数据存储系统1的管理节点检测视频数据存储系统1的存储节点的可用剩余存储容量是否满足第一条件,若满足,转到步骤s3,否则转到步骤s1;

在步骤s3,由于满足第一条件,所以视频接入节点2接入双码率视频数据,视频数据存储系统1的存储节点则存储双码率视频数据,达到预定时间(例如一个监测周期)时,进入步骤s4;

在步骤s4,视频数据存储系统1的管理节点检测存储节点的可用剩余存储容量是否满足第二条件,若满足,转到步骤s5,否则转到步骤s6;

在步骤s5,由于满足第二条件(可以设定多个监测周期内连续满足才认为满足),所以视频数据存储系统1的存储节点删除已存储的双码率视频数据中的第一码率视频数据,在删除的量足够时(可用剩余存储空间能存储当前时刻到下一次周期覆盖的时刻之间的的第一码率视频数据),转到步骤s1来接入和存储第一码率视频数据(此种情形在图中未示出),在量不够时则继续接入和存储双码率视频数据,即回到步骤s3;

在步骤s6,视频数据存储系统1的管理节点检测存储节点的可用剩余存储容量是否满足第三条件,若满足,转到步骤s7,否则转到步骤s4,注意s4和s6可以在同一时刻进行,并且一般可以间隔一个监测周期执行一次s4和s6;

在步骤s7,视频数据存储系统1的存储节点删除已存储的部分或全部双码率视频数据中的第二码率视频数据,并转到步骤s1。

上述的第一条件可以为上文提到的可用剩余存储容量小于第一阈值,第二条件可以为上文提到的可用剩余存储容量小于第二阈值,第三条件可以为上文提到的可用剩余存储容量大于第三阈值,或者各条件还可以附加其他一些限制条件。

上述工作流程可以参见本实施例中对于视频数据存储方法及节点和视频接入方法及节点的说明,从而得到更好理解,并可互为补充,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤、模块可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1