嵌入式跨云智能存贮方法和系统与流程

文档序号:16403714发布日期:2018-12-25 20:17阅读:339来源:国知局
嵌入式跨云智能存贮方法和系统与流程

本发明涉及视频数据存储技术领域,特别涉及一种嵌入式跨云智能存贮方法和系统。

背景技术

随着监控摄像头的快速发展和普及,普通家庭的监控摄像头也急剧增加,然而视频数据的安全存储却跟不上用户的需求,同时家庭用户监控视频中还存在着许多隐私问题,许多人为及存储设备的老化会导致重要或隐私的数据丢失。对于这一尖锐而又突出的问题,本地的数据存储方式已经无法满足人们对数据存储的需求,越来越多的企业和个人将目光投向新生的基于嵌入式的云存储方案。

嵌入式的云存储是云存储的新的运用模式,然而现有的嵌入式的云存储作为云存储新的场景的运用,也存在着云存储所存在的一些弊端,如:如何保证云存储的和上传时的数据安全,防止数据泄露?如何降低海量数据对云存储空间的占用?以及如何使数据库与操作的命令保证同步。因此,亟待开发一种新的云存储方法。



技术实现要素:

本发明提供一种嵌入式跨云智能存贮方法和系统,解决现有上述的问题。

为解决上述问题,本发明实施例提供一种嵌入式跨云智能存贮方法,包括以下步骤:

通过分布式采集系统采集视频数据,自动分配节点,并保存至各个节点的固定路径下,生成视频文件;

将上述步骤的事件信息写入并更新数据库;

获取并根据数据库中关于视频文件的key和事件信息中的操作信息生成消息队列;

响应消息队列,对视频文件进行数据切割和加密处理;

将切割和加密后的视频文件随机上传至若干个云服务存储节点进行存储。

作为一种实施方式,所述通过分布式采集系统采集视频数据步骤,包括以下步骤:

采集视频数据可通过实时检测或事件驱动检测两种方式,事件驱动检测包括图像驱动检测和音频驱动检测。

作为一种实施方式,所述图像驱动检测包括以下步骤:

采集待检测区域的图像数据;

根据高斯混合概率模型和颜色空间模型对比图像每一帧的区别;

当检测到有人性轮廓时,则启动相应摄像头进行视频采集;

当人性轮廓消失时,则关闭摄像头,停止视频采集。

作为一种实施方式,所述音频驱动检测包括以下步骤:

采集待检测区域的声音信号;

当有声音信号输入时,将采集到的声音信号转化为频域信号;

根据马尔科夫链检测到频域信号与先前时间片内信号进行比较;

当出现大幅波动时,则启动相应摄像头进行视频采集;

当频域信号恢复到正常波动水平时,则关闭摄像头,停止视频采集。

作为一种实施方式,还包括以下步骤:

获取事件信息中的操作信息,并将所述操作信息写入binlog日志中。

作为一种实施方式,所述对视频文件进行数据切割和加密处理步骤,包括以下步骤:

判断视频文件类型和大小;

若视频文件为内容频繁更新且重复率高的文件,则使用基于内容的数据切分算法,用数据指纹将文件分割成长度大小不相等的分块策略;

若视频文件为内部冗余数据极少的文件,则使用基于文件的切分算法,使用完整的文件进行去重检测后进行切割。

作为一种实施方式,还包括以下步骤:

切割和加密后的视频文件上传云服务存储节点成功后,则返回存储节点地址信息;

若存储节点地址信息返回不成功,则通过多个节点返回的信息启动事务回滚操作机制,重新对视频文件进行切割、加密以及上传;

若存储节点地址信息返回成功,则删除本地的文件缓存。

本发明还提供一种嵌入式跨云智能存贮系统,包括:

采集单元,用于通过分布式采集系统采集视频数据,自动分配节点,并保存至各个节点的固定路径下,生成视频文件;

更新单元,用于将采集单元中发生的事件信息写入并更新数据库;

队列单元,用于获取并根据数据库中关于视频文件的key和事件信息中的操作信息生成消息队列;

切割加密单元,用于响应消息队列,对视频文件进行数据切割和加密处理;

跨云存储单元,用于将切割和加密后的视频文件随机上传至若干个云服务存储节点进行存储。

作为一种实施方式,还包括:

日志单元,用于获取事件信息中的操作信息,并将所述操作信息写入binlog日志中。

作为一种实施方式,还包括:

验证单元,用于切割和加密后的视频文件上传云服务存储节点成功后,则返回存储节点地址信息;

若存储节点地址信息返回不成功,则通过多个节点返回的信息启动事务回滚操作机制,重新对视频文件进行切割、加密以及上传;

若存储节点地址信息返回成功,则删除本地的文件缓存。

本发明相比于现有技术的有益效果在于:通过对采集的视频数据缓存、数据库更新及相关操作信息的提取,在分布式节点读取视频文件缓存后,将其数据做切割加密处理,然后分别随机上传到不同的云服务存储节点进行备份,这样即使一个节点的视频信息损坏或者丢失,也能恢复整个视频文件,相对于简单的加密进一步提高可靠性,有较高的隐私保护能力使用户放心安心。

附图说明

图1为本发明的嵌入式跨云智能存贮方法的流程图;

图2为本发明的嵌入式跨云智能存贮系统的模块连接图。

附图标注:1、采集单元;2、更新单元;3、日志单元;4、队列单元;5、切割加密单元;6、跨云存储单元;7、验证单元。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

如图1所示,一种嵌入式跨云智能存贮方法,包括以下步骤:

s100:通过分布式采集系统采集视频数据,自动分配节点,并保存至各个节点的固定路径下,生成视频文件;

s200:将s100步骤的事件信息写入并更新数据库,事件信息包括操作信息、视频位置、所属节点与账户权限等。操作信息是具体作业层面操作产生的信息,就是系统对视频文件做了哪些操作;每个视频文件会自动分配节点,有各自的所属节点;账户权限涉及用户的权利,能对视频文件进行哪些操作,包括修改和删除等,还能根据文件的重要程度或者个人需要设置文件的加密等级;

s300:获取并根据数据库中关于视频文件的key和事件信息中的操作信息生成消息队列,key为根据文件内容自动生成,获得的key用于文件上传下载的加密解密;

s400:响应消息队列,对视频文件进行数据切割和加密处理;

s500:将切割和加密后的视频文件随机上传至若干个云服务存储节点进行存储。

其中,步骤s100中,分布式采集系统的摄像头可有多个,可通过操作选择调用的摄像头,同时采集系统也可以有多个,由此,可防止单系统故障和人为破坏,大大提升整个系统的稳定性。

采集视频数据可通过实时检测或事件驱动检测两种方式,事件驱动检测包括图像驱动检测和音频驱动检测。图像驱动检测包括以下步骤:采集待检测区域的图像数据;根据高斯混合概率模型和颜色空间模型对比图像每一帧的区别;当检测到有人性轮廓时,则启动相应摄像头进行视频采集;当人性轮廓消失时,则关闭摄像头,停止视频采集。音频驱动检测包括以下步骤:采集待检测区域的声音信号;当有声音信号输入时,将采集到的声音信号转化为频域信号;根据马尔科夫链检测到频域信号与先前时间片内信号进行比较;当出现大幅波动时,则启动相应摄像头进行视频采集;当频域信号恢复到正常波动水平时,则关闭摄像头,停止视频采集。

对于采集很快、数据大,并且处理加密和上传很慢的情况,本实施例采用消息队列机制,使采集与上传过程解耦,使数据异步缓存后处理,避免数据丢失。异步解耦降低了程序耦合度,保证数据与操作同步,使数据库不受此瓶颈限制。可以有效防止高并发缓存击穿。缓存击穿就是大量请求直接透过缓存,访问到数据库,容易出现大量请求的压力压到数据库,导致数据库相应变慢甚至崩溃,限制了数据库瓶颈。

在步骤s400对视频文件进行数据切割和加密处理,包括以下步骤:

判断视频文件类型和大小;

若视频文件为内容频繁更新且重复率高的文件,则使用基于内容的数据切分算法,用数据指纹(如rabin指纹)将文件分割成长度大小不相等的分块策略;

若视频文件为内部冗余数据极少的文件,则使用基于文件的切分算法,使用完整的文件进行去重检测后进行切割;

切割后的数据块通过aes(advancedencryptionstandard,高级加密标准)加密算法进行加密,保证数据的安全性。

在步骤s500将切割和加密后的视频文件随机上传至若干个云服务存储节点进行存储,包括以下步骤:

视频文件经处理过后,按照先进先出的顺序上传至云服务存储节点,上传时数据随机分配到不同的云服务存储节点进行安全备份,上传数据的函数支持两种输入:文件file和byte数组。上传的方法封装在cloudservice类当中,其中都包含两个参数,objectname是上传数据块的在云端(云服务存储节点)的索引,object是要上传的数据块本身。返回值都是remoteobjectinfo类,用于返回云端是否成功或失败状态信息,以及文件在云服务存储节点上的路径信息。

除上述步骤外,还包括以下步骤:

s600:获取事件信息中的操作信息,并将操作信息写入binlog日志中。binlog作为一个二进制文件,用于记录用户对数据库更新的sql语句信息。当数据库服务器故障,就可以通过binlog进行数据恢复,可提高系统的稳定性。

s701:切割和加密后的视频文件上传云服务存储节点成功后,则返回存储节点地址信息;

s702:若存储节点地址信息返回不成功,则通过多个节点返回的信息启动事务回滚操作机制,重新对视频文件进行切割、加密以及上传;

s703:若存储节点地址信息返回成功,则删除本地的文件缓存,删除本地的文件缓存可释放本地缓存空间。

如图2所示,一种嵌入式跨云智能存贮系统,包括采集单元1、更新单元2、日志单元3、队列单元4、切割加密单元5、跨云存储单元6以及验证单元7。采集单元1用于通过分布式采集系统采集视频数据,自动分配节点,并保存至各个节点的固定路径下,生成视频文件;更新单元2用于将采集单元中发生的事件信息写入并更新数据库;日志单元3用于获取事件信息中的操作信息,并将所述操作信息写入binlog日志中;队列单元4用于获取并根据数据库中关于视频文件的key和事件信息中的操作信息生成消息队列;切割加密单元5用于响应消息队列,对视频文件进行数据切割和加密处理;跨云存储单元6用于将切割和加密后的视频文件随机上传至若干个云服务存储节点进行存储;验证单元7用于切割和加密后的视频文件上传云服务存储节点成功后,则返回存储节点地址信息;若存储节点地址信息返回不成功,则通过多个节点返回的信息启动事务回滚操作机制,重新对视频文件进行切割、加密以及上传;若存储节点地址信息返回成功,则删除本地的文件缓存,删除本地的文件缓存可释放本地缓存空间。

本发明嵌入式跨云智能存贮方法和系统通过对采集的视频数据缓存、数据库更新及相关操作信息的提取,在分布式节点读取视频文件缓存后,将其数据做切割加密处理,然后分别随机上传到不同的云服务存储节点进行备份,这样即使一个节点的视频信息损坏或者丢失,也能恢复整个视频文件,相对于简单的加密进一步提高可靠性,有较高的隐私保护能力使用户放心安心。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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