CN113360706A - 一种基于对象存储与Elasticsearch的视频Timeline存储方法 - Google Patents

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

Info

Publication number
CN113360706A
CN113360706A CN202110682128.0A CN202110682128A CN113360706A CN 113360706 A CN113360706 A CN 113360706A CN 202110682128 A CN202110682128 A CN 202110682128A CN 113360706 A CN113360706 A CN 113360706A
Authority
CN
China
Prior art keywords
raw
storage
record
elasticissearch
timeline
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.)
Pending
Application number
CN202110682128.0A
Other languages
English (en)
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.)
Hangzhou Denghong Technology Co ltd
Original Assignee
Hangzhou Denghong Technology Co ltd
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 Hangzhou Denghong Technology Co ltd filed Critical Hangzhou Denghong Technology Co ltd
Priority to CN202110682128.0A priority Critical patent/CN113360706A/zh
Publication of CN113360706A publication Critical patent/CN113360706A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/732Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

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

Description

一种基于对象存储与Elasticsearch的视频Timeline存储 方法
技术领域
本发明涉及视频timeline存储技术领域,具体为一种基于对象存储与Elasticsearch的视频Timeline存储方法。
背景技术
为了缩短视频回放的响应时间,通常将云存储摄像头的视频数据按一定的时间切割后存储,由此,不仅需要存储视频的raw文件,还需要存储额外的timeline数据,raw文件是切割后视频数据(约30~60秒),存储在对象存储中,timeline数据又可分为raw记录和事件,raw记录包含了相应raw文件在对象存储的键,通过键可下载raw文件,事件记录了摄像头在某段时间识别到的特定事件(如:运动,人脸等),timeline数据带有时间信息,在用户回放视频时,要求快速精确的定位到具体的raw文件进行播放,随着用户与摄像头数量的增长,存储与快速检索亿级的timeline数据是一个难题;
目前,业内普遍将timeline数据存储在MySQL数据库中,并通过MyCat在用户维度进行分库,构建MySQL集群,这种存储方式有三方面的缺陷:
一是负载不均衡,这是最主要的缺陷,它是由用户下挂载的摄像头数量不同与摄像头活跃度不同引起的,负载不均衡会导致热点数据库的产生,热点数据库影响甚至决定了整个MySQL集群的性能,这种特性,类似于木桶短板定律,是非常不健康的,在生产环境遇到负载不均衡引起的性能问题时,初期可通过提高数据库配置来解决,后期只能与其他机房换流甚至限流来缓解数据库压力;
二是运维困难,随着用户增长,需要手动拓展MySQL集群,更新MyCat分库配置,这对于运维是不小的工作量,而且容易出错;
三是timeline数据清理问题,视频的存储天数是用户购买的套餐的天数,过期的timeline数据需要定时任务进行清理,定时任务运行时会消耗可观的服务器资源,提高数据库的负载。
发明内容
本发明的目的在于提供一种基于对象存储与Elasticsearch的视频Timeline存储方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于对象存储与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索引的方式快速高效的进行过期事件清理。
优选的,Timeline的raw记录存储将视频raw记录, 以一小时为单位,汇聚在一个raw记录文件中,raw记录文件每行表示一条raw记录,上传至对象存储。
优选的,Elasticsearch是一个企业级的分布式搜索引擎,查询速度快,可靠性高,稳定性高,适合用来存储事件。
优选的,Elasticsearch的索引和分片技术,可以实现事件的存储负载均衡和快速清理,根据事件的时间,将其存储在Elasticsearch的Event-{yyyyMMdd}索引下,并通过摄像头的mac进行分片路由。
优选的,当需要对Elasticsearch进行扩容时,只需要增加新索引的分片数,而不会影响历史索引,通过删除过期的Elasticsearch索引就可以进行快速的过期事件清理。
本发明提出的一种基于对象存储与Elasticsearch的视频Timeline存储方法,有益效果在于:
1、本发明相比基于MySQL集群的存储技术,基于对象存储与Elasticsearch的存储技术实现了负载均衡,其中raw记录负载均衡是由对象存储实现的;事件负载均衡是由Elasticsearch由分片路由和按天建索引实现的;
2、本发明相比基于MySQL集群的存储技术,基于对象存储与Elasticsearch的存储技术运维更简单,其中,对象存储只需设置一次raw记录文件过期策略;Elasticsearch扩容时只需要增加服务器,不需要过多配置;
3、本发明相比基于MySQL集群的存储技术,基于对象存储与Elasticsearch的存储技术不需要定时清理任务,其中,对象存储设置了过期策略会自动清理;Elasticsearch是按天建索引的,只需要删除过期的索引即可。
附图说明
图1为本发明的原理框图;
图2为本发明的raw记录图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:一种基于对象存储与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索引的方式快速高效的进行过期事件清理;
Timeline的raw记录存储:将视频raw记录,以一小时为单位,汇聚在一个raw记录文件中,raw记录文件每行表示一条raw记录,上传至对象存储,键为/raw_record/{mac}/{yyyyMMdd}/{HH},当用户回放摄像头某个时间点的视频时,只需要根据时间组装出对象存储的键,就可以快速下载到对应一小时的整个raw记录文件,由于单个raw记录文件一般只包含数十条raw记录,在其中检索特定时间点的raw记录是十分迅速的,因此服务器的吞吐量主要取决于服务器访问对象存储的网络性能,而几乎不会受设备量增长的影响,借助对象存储提供的生命周期策略,对前缀为/raw_record的键配置过期策略,就可以实现过期raw记录文件的自动清理;
Timeline的事件存储:相比raw记录一旦生成就不会再修改,事件需要进行少量的修改和删除操作,而且查询条件复杂多变,因此将事件存储在对象存储中不太合适,Elasticsearch是一个企业级的分布式搜索引擎,查询速度快,可靠性高,稳定性高,适合用来存储事件,借助Elasticsearch的索引和分片技术,可以实现事件的存储负载均衡和快速清理,根据事件的时间,将其存储在Elasticsearch的Event-{yyyyMMdd}索引下,并通过摄像头的mac进行分片路由,由于索引是按天创建的,当需要对Elasticsearch进行扩容时,只需要增加新索引的分片数,而不会影响历史索引,通过删除过期的Elasticsearch索引就可以进行快速的过期事件清理。
通过本领域人员,将本案中所有电气件与其适配的电源通过导线进行连接,并且应该根据实际情况,选择合适的控制器,以满足控制需求,具体连接以及控制顺序,应参考上述工作原理中,各电气件之间先后工作顺序完成电性连接,其详细连接手段,为本领域公知技术,上述主要介绍工作原理以及过程,不在对电气控制做说明。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (5)

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-{yyyyMMdd}索引下,并通过mac进行分片路由,进行分片路由的好处是查询时不需要不需要在多个实例上搜索后汇总,查询速度更快;
步骤四、查询事件时,根据查询时间定位到具体的Elasticsearch索引, 根据mac进行分片路由;
步骤五、通过删除整个Elasticsearch索引的方式快速高效的进行过期事件清理。
2.根据权利要求1所述的一种基于对象存储与Elasticsearch的视频Timeline存储方法,其特征在于:Timeline的raw记录存储将视频raw记录, 以一小时为单位,汇聚在一个raw记录文件中,raw记录文件每行表示一条raw记录,上传至对象存储。
3.根据权利要求1所述的一种基于对象存储与Elasticsearch的视频Timeline存储方法,其特征在于:Elasticsearch是一个企业级的分布式搜索引擎,查询速度快,可靠性高,稳定性高,适合用来存储事件。
4.根据权利要求1所述的一种基于对象存储与Elasticsearch的视频Timeline存储方法,其特征在于:Elasticsearch的索引和分片技术,可以实现事件的存储负载均衡和快速清理,根据事件的时间,将其存储在Elasticsearch的Event-{yyyyMMdd}索引下,并通过摄像头的mac进行分片路由。
5.根据权利要求1所述的一种基于对象存储与Elasticsearch的视频Timeline存储方法,其特征在于:当需要对Elasticsearch进行扩容时,只需要增加新索引的分片数,而不会影响历史索引,通过删除过期的Elasticsearch索引就可以进行快速的过期事件清理。
CN202110682128.0A 2021-06-20 2021-06-20 一种基于对象存储与Elasticsearch的视频Timeline存储方法 Pending CN113360706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110682128.0A CN113360706A (zh) 2021-06-20 2021-06-20 一种基于对象存储与Elasticsearch的视频Timeline存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110682128.0A CN113360706A (zh) 2021-06-20 2021-06-20 一种基于对象存储与Elasticsearch的视频Timeline存储方法

Publications (1)

Publication Number Publication Date
CN113360706A true CN113360706A (zh) 2021-09-07

Family

ID=77535104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110682128.0A Pending CN113360706A (zh) 2021-06-20 2021-06-20 一种基于对象存储与Elasticsearch的视频Timeline存储方法

Country Status (1)

Country Link
CN (1) CN113360706A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325856A (zh) * 2016-08-10 2017-01-11 杭州玳数科技有限公司 一种实现Elasticsearch Dsl规则可视化编辑和数据展现的方法与系统
CN108509437A (zh) * 2017-02-24 2018-09-07 南京烽火星空通信发展有限公司 一种ElasticSearch查询加速方法
CN111400362A (zh) * 2020-02-19 2020-07-10 北京值得买科技股份有限公司 一种基于Elasticsearch的分布式搜索系统搭建方法以及装置
CN111858831A (zh) * 2020-07-07 2020-10-30 杭州安恒信息技术股份有限公司 一种基于APT分析的Elasticsearch索引方法、装置和计算机设备
CN112434039A (zh) * 2020-11-30 2021-03-02 浙江大华技术股份有限公司 数据的存储方法、装置、存储介质以及电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325856A (zh) * 2016-08-10 2017-01-11 杭州玳数科技有限公司 一种实现Elasticsearch Dsl规则可视化编辑和数据展现的方法与系统
CN108509437A (zh) * 2017-02-24 2018-09-07 南京烽火星空通信发展有限公司 一种ElasticSearch查询加速方法
CN111400362A (zh) * 2020-02-19 2020-07-10 北京值得买科技股份有限公司 一种基于Elasticsearch的分布式搜索系统搭建方法以及装置
CN111858831A (zh) * 2020-07-07 2020-10-30 杭州安恒信息技术股份有限公司 一种基于APT分析的Elasticsearch索引方法、装置和计算机设备
CN112434039A (zh) * 2020-11-30 2021-03-02 浙江大华技术股份有限公司 数据的存储方法、装置、存储介质以及电子装置

Similar Documents

Publication Publication Date Title
CN110764706B (zh) 存储系统、数据管理方法及存储介质
CN110134723A (zh) 一种存储数据的方法和数据库
CN106033324B (zh) 一种数据存储的方法和装置
CN102244758A (zh) 一种基于录像文件的数据获取方法和设备
CN105989048B (zh) 一种数据记录处理方法、设备及系统
CN110704453A (zh) 一种数据查询方法、装置、存储介质及电子设备
CN103473229A (zh) 一种内存检索系统和方法、以及实时检索系统和方法
CN109299115A (zh) 一种数据存储方法、装置、服务器及存储介质
CN109698965B (zh) 一种视频同步播放方法、装置、设备及计算机存储介质
CN104270605A (zh) 一种视频监控数据的处理方法及装置
CN111143158A (zh) 一种监控数据实时存储方法、系统、电子设备及存储介质
CN113612306A (zh) 一种分布式配电柜及其控制系统
CN112905638A (zh) 一种基于喇叭状的时间切片处理方法
WO2017000592A1 (zh) 数据处理方法、装置及系统
CN111782618B (zh) 一种数据同步系统
CN112840334A (zh) 管理分区表的数据的方法、装置、管理节点及存储介质
CN114090631A (zh) 一种数据查询方法、装置、电子设备及存储介质
CN113360706A (zh) 一种基于对象存储与Elasticsearch的视频Timeline存储方法
CN112667747B (zh) 支持自定义插件的动态配置多数据库分布式持久化方法
CN104915376B (zh) 一种云存储中文件的归档压缩方法
CN102104581A (zh) 一种网络卡拉ok的点歌系统及其方法
CN106919574B (zh) 一种实时处理远程同步文件的方法
CN115525603A (zh) 存储统计方法、装置、计算机可读存储介质与ai设备
CN110866068A (zh) 一种基于hdfs的公告数据存储方法及其装置
CN110399095A (zh) 一种存储空间的统计方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210907