如何依托腾讯云完成海量数据的存储和备份

在我们提供的安防监控体系中,每个监控系统每天会产生几个 T 的视频数据,这些未经处理的视频数据一般需要存储几个星期,经过剪辑和压缩处理的视频数据可能需要归档存储三个月至半年。如此大量的视频数据,如果在本地备份并归档,将长期占用硬盘存储空间,不仅扩容麻烦,而且很容易出现单点故障,难以保证数据备份/归档安全。因此,我们考虑依托公有云服务,来实现海量音视频监控数据的存储、备份以及归档。

由于业务特性(安防监控的数据存储要求安全、海量、上传下载快),所以我们对现有的公有云产品做了调研,了解到,腾讯云的对象存储目前可支持:1、理论上无限大的存储空间;2、可以存储无限大的单个文件;3、对每一个文件都进行3重文件备份,可确保文件不会因单点故障而损坏或丢失。除却业务需求之外,在价格上,由于我们的存储量较大,所以和客服取得了联系,并得到了一定的优惠。综合各方面考虑,我们决定使用腾讯云来实现数据迁移上云。

在我们的安防监控中,各类型的摄像头会采集音视频数据,然后将数据上传至本地服务器。监控中心从本地服务器调取音视频数据,进行日常监控以及定期备份。本地服务器承载了大量的存储压力,所以,云化改造的第一步,就是实现音视频数据的上传下载。

于是,我们基于腾讯云 COS 提供的 .NET SDK ,对现网的监控探头做了简单的二次开发,修改了“存储管理”和“网络传输”模块,使其能够将录好的音视频文件,通过公网直接上传至腾讯云 COS 。经过改造后的视频源生成系统,本地服务器只负责管理 COS 相关的签名鉴权和云端存储路径。只要视频源系统和腾讯云 COS 之间的网络畅通,监控所得的音视频、图片等数据,就可随时迁移上云。

对于监控中心,只需将原先配置中的本地服务器域名改为腾讯云 COS 的域名即可,对上层业务基本无影响。

对于移动端的(监督)用户,在云化改造之前,要想回放监控视频,必须去访问监控系统的本地服务器,限于物理距离和网络带宽,回放很容易出现卡顿。在云化改造之后,腾讯云提供了 CDN 来加速 COS 上的资源分发,使得移动端用户即使是在全国漫游时,也能流畅稳定的拉取到 COS 中的音视频资源,极大的提高了用户体验,并且,经 CDN 渠道拉取 COS 资源,费用比直接访问 COS 的 IDC 更为便宜。其改造过程和监控中心类似,只要配置得当,可以沿用以往的资源相对路径,仅需替换服务器域名即可。

在将存储和上传/下载业务迁移上云后,我们随之考虑引入关于智能语音、视频格式转化、万象优图图片处理和人脸识别等腾讯云大数据与 AI 产品,以期能拓展安防监控的业务领域,深挖行业潜力,通过集成创新来推动产品升级。

在这些产品中,对安防系统优化效果最显著的莫过于文件存储大小的压缩和智能语音识别。 其中,对于视频清晰度,腾讯云提供了“超清-高清-标清-手机”这四种选择,可以在云端自动对存储到 COS 中的视频进行清晰度转码。

当请求视频资源时,通过设定参数definition,即可取得对应清晰度的视频。

基于此功能,我们实现了视频的定期转码和归档存储。比如,每隔一个星期,将视频的清晰度降低一个级别,以节省存储空间,逐步进入归档存储。

同理,对于图片的存储,也可以采用腾讯云的格式转换功能,将图片由 jpeg 转为 webp 格式,这样,图片大小能够被压缩得很低但是清晰度仍然足够,从而实现图片文件的归档存储。

对于智能语音的应用场景,我们目前有三个:

  1. 对于外出巡察的值班人员,可以在巡察过程中口述巡察情况,安防系统将实时接收并存储音频文件。
  2. 对于单元楼门口的语音对讲门铃,安防系统将记录语音。
  3. 对于群众的求助、投诉或建议电话,我们将做录音。

这两个场景将产生大量的音频文件,在归档存储时,我们将该音频文件先经过腾讯云的智能语音识别,转化为文字,然后删除很久之前的语音文件,只归档存储文字。

在云端大数据技术的集成和应用方面,还有很多场景可供挖掘,未来,我们还将加入人脸识别、区域人流分析、自然语言呼救等功能,从而不断完善我们的产品,打造“监控-识别-告警-处理”快速反应的一体化防治系统。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

C#巧用Excel模版变成把Table打印出来

转载:http://blog.csdn.net/gwblue/article/details/38865525

1622
来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2549
来自专栏互联网开发者交流社区

WinForm之窗体应用程序

2103
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2700
来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1471
来自专栏菩提树下的杨过

MSDN官方的ASP.Net异步页面的经典示例代码

示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 using System; using System.Web; using S...

2135
来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

3176
来自专栏张善友的专栏

Using sqlite with .NET

The other day I found that there is a .NET wrapper for sqlite. sqlite is a very ...

2508
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

22210
来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

26810

扫码关注云+社区