一种基于对象存储与Elasticsearch的视频Timeline存储方法技术

技术编号:29974984 阅读:18 留言:0更新日期:2021-09-08 09:57
本发明专利技术公开了一种基于对象存储与Elasticsearch的视频Timeline存储方法,包括Timeline的raw记录存储和Timeline的事件存储,Timeline的raw记录存储包括以下步骤:步骤一、配置对象存储生命周期策略,配置键前缀/raw_record过期策略,实现过期raw记录文件自动清理;步骤二、切割云存储摄像头上传的视频流,生成视频raw文件,根据raw记录的开始时间戳,按小时汇聚raw记录,生成raw记录文件,保存raw记录文件到至对象存储;步骤三、用户回放视频时,通过摄像头mac和播放时间反向生成raw记录文件的对象存储键,解析raw记录文件。本发明专利技术相比基于MySQL集群的存储技术,基于对象存储与Elasticsearch的存储技术不需要定时清理任务,其中,对象存储设置了过期策略会自动清理;Elasticsearch是按天建索引的,只需要删除过期的索引即可。期的索引即可。期的索引即可。

【技术实现步骤摘要】
一种基于对象存储与Elasticsearch的视频Timeline存储方法


[0001]本专利技术涉及视频timeline存储
,具体为一种基于对象存储与Elasticsearch的视频Timeline存储方法。

技术介绍

[0002]为了缩短视频回放的响应时间,通常将云存储摄像头的视频数据按一定的时间切割后存储,由此,不仅需要存储视频的raw文件,还需要存储额外的timeline数据,raw文件是切割后视频数据(约30~60秒),存储在对象存储中,timeline数据又可分为raw记录和事件,raw记录包含了相应raw文件在对象存储的键,通过键可下载raw文件,事件记录了摄像头在某段时间识别到的特定事件(如:运动,人脸等),timeline数据带有时间信息,在用户回放视频时,要求快速精确的定位到具体的raw文件进行播放,随着用户与摄像头数量的增长,存储与快速检索亿级的timeline数据是一个难题;目前,业内普遍将timeline数据存储在MySQL数据库中,并通过MyCat在用户维度进行分库,构建MySQL集群,这种存储方式有三方面的缺陷:一是负载不均衡,这是最主要的缺陷,它是由用户下挂载的摄像头数量不同与摄像头活跃度不同引起的,负载不均衡会导致热点数据库的产生,热点数据库影响甚至决定了整个MySQL集群的性能,这种特性,类似于木桶短板定律,是非常不健康的,在生产环境遇到负载不均衡引起的性能问题时,初期可通过提高数据库配置来解决,后期只能与其他机房换流甚至限流来缓解数据库压力;二是运维困难,随着用户增长,需要手动拓展MySQL集群,更新MyCat分库配置,这对于运维是不小的工作量,而且容易出错;三是timeline数据清理问题,视频的存储天数是用户购买的套餐的天数,过期的timeline数据需要定时任务进行清理,定时任务运行时会消耗可观的服务器资源,提高数据库的负载。

技术实现思路

[0003]本专利技术的目的在于提供一种基于对象存储与Elasticsearch的视频Timeline存储方法,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种基于对象存储与Elasticsearch的视频Timeline存储方法,包括Timeline的raw记录存储和Timeline的事件存储,Timeline的raw记录存储包括以下步骤:步骤一、配置对象存储生命周期策略,配置键前缀/raw_record过期策略,实现过期raw记录文件自动清理;步骤二、切割云存储摄像头上传的视频流,生成视频raw文件,根据raw记录的开始时间戳,按小时汇聚raw记录,生成raw记录文件,保存raw记录文件到至对象存储;
raw记录文件的对象存储键为 /raw_record/{mac}/{yyyyMMdd}/{HH},其中mac为摄像头的唯一标识,yyyyMMdd 为raw记录的年月日,HH为小时,图示为mac为123456的摄像头,将一条开始时间戳为161378646000的raw记录,汇聚到/raw_record/123456/20210220/02的raw记录文件;步骤三、用户回放视频时,通过摄像头mac和播放时间反向生成raw记录文件的对象存储键,解析raw记录文件;Timeline的事件存储包括以下步骤:步骤一、配置Elasticsearch集群,一个Elasticsearch集群至少有3个实例,在业务量增大时,可动态增加实例,设置Elasticsearch索引的分片数,分片数一般为实例数的2倍,这种配置即有高可用性,也不会浪费过多的存储资源;步骤二、配置Elasticsearch的索引模板,由于每天都会生成一个Elasticsearch索引,模板使得索引创建可以自动完成;步骤三、根据摄像头上报的事件的开始时间戳, 将时间戳转换为UTC时间,存储到Elasticsearch的Event

{yyyyMMdd}索引下,并通过mac进行分片路由,进行分片路由的好处是查询时不需要不需要在多个实例上搜索后汇总,查询速度更快;步骤四、查询事件时,根据查询时间定位到具体的Elasticsearch索引, 根据mac进行分片路由;步骤五、通过删除整个Elasticsearch索引的方式快速高效的进行过期事件清理。
[0005]优选的,Timeline的raw记录存储将视频raw记录, 以一小时为单位,汇聚在一个raw记录文件中,raw记录文件每行表示一条raw记录,上传至对象存储。
[0006]优选的,Elasticsearch是一个企业级的分布式搜索引擎,查询速度快,可靠性高,稳定性高,适合用来存储事件。
[0007]优选的,Elasticsearch的索引和分片技术,可以实现事件的存储负载均衡和快速清理,根据事件的时间,将其存储在Elasticsearch的Event

{yyyyMMdd}索引下,并通过摄像头的mac进行分片路由。
[0008]优选的,当需要对Elasticsearch进行扩容时,只需要增加新索引的分片数,而不会影响历史索引,通过删除过期的Elasticsearch索引就可以进行快速的过期事件清理。
[0009]本专利技术提出的一种基于对象存储与Elasticsearch的视频Timeline存储方法,有益效果在于:1、本专利技术相比基于MySQL集群的存储技术,基于对象存储与Elasticsearch的存储技术实现了负载均衡,其中raw记录负载均衡是由对象存储实现的;事件负载均衡是由Elasticsearch由分片路由和按天建索引实现的;2、本专利技术相比基于MySQL集群的存储技术,基于对象存储与Elasticsearch的存储技术运维更简单,其中,对象存储只需设置一次raw记录文件过期策略;Elasticsearch扩容时只需要增加服务器,不需要过多配置;3、本专利技术相比基于MySQL集群的存储技术,基于对象存储与Elasticsearch的存储技术不需要定时清理任务,其中,对象存储设置了过期策略会自动清理;Elasticsearch是按天建索引的,只需要删除过期的索引即可。
附图说明
[0010]图1为本专利技术的原理框图;图2为本专利技术的raw记录图。
具体实施方式
[0011]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0012]请参阅图1

2,本专利技术提供一种技术方案:一种基于对象存储与Elasticsearch的视频Timeline存储方法,包括Timeline的raw记录存储和Timeline的事件存储,Timeline的raw记录存储包括以下步骤:步骤一、配置对象存储生命周期策略,配置键前缀/raw_record过期策略,实现过期raw记录文件自本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于对象存储与Elasticsearch的视频Timeline存储方法,其特征在于:包括Timeline的raw记录存储和Timeline的事件存储;Timeline的raw记录存储包括以下步骤:步骤一、配置对象存储生命周期策略,配置键前缀/raw_record过期策略,实现过期raw记录文件自动清理;步骤二、切割云存储摄像头上传的视频流,生成视频raw文件,根据raw记录的开始时间戳,按小时汇聚raw记录,生成raw记录文件,保存raw记录文件到至对象存储;raw记录文件的对象存储键为 /raw_record/{mac}/{yyyyMMdd}/{HH},其中mac为摄像头的唯一标识,yyyyMMdd 为raw记录的年月日,HH为小时,图示为mac为123456的摄像头,将一条开始时间戳为161378646000的raw记录,汇聚到/raw_record/123456/20210220/02的raw记录文件;步骤三、用户回放视频时,通过摄像头mac和播放时间反向生成raw记录文件的对象存储键,解析raw记录文件;Timeline的事件存储包括以下步骤:步骤一、配置Elasticsearch集群,一个Elasticsearch集群至少有3个实例,在业务量增大时,可动态增加实例,设置Elasticsearch索引的分片数,分片数一般为实例数的2倍,这种配置即有高可用性,也不会浪费过多的存储资源;步骤二、配置Elasticsearch的索引模板,由于每天都会生成一个Elasticsearch索引,模板使得索引创建可以自动完成;步骤三、根据摄像头上报的事件的开始时间戳, 将时间戳转换为UTC时间,存储到Elasticsearch的Event<...

【专利技术属性】
技术研发人员:周莹方泽梁蒋泽飞
申请(专利权)人:杭州登虹科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1