一种面向海量监控数据的检索分析系统的制作方法

文档序号:14777656发布日期:2018-06-26 07:18阅读:335来源:国知局

本发明涉及一种数据处理系统,尤其是涉及一种面向海量监控数据的检索分析系统。



背景技术:

视频监控是安全防范系统的重要组成部分,传统的监控系统包括前端摄像机、传输线缆、视频监控平台。视频监控以其直观、准确、及时和信息内容丰富而广泛应用于许多场合。近年来,随着计算机、网络以及图像处理、传输技术的飞速发展,视频监控技术也有了长足的发展,因此产生的海量监控数据面临本地存储空间有限、异地检索分析效率低的问题。

海量监控数据具有如下特点:

1)监控文件数量大,文件大小各不相同;

2)监控文件会额外包含地理位置及时间信息;

3)监控文件种类繁多,通常来自于摄像头、城市传感器等,用于监控道路状态、人流密度、人群移动、安全防护、访问控制、环境状况等,解析方式各有不同,并且通常为非结构化数据。

因此,需要一种能够实现海量监控数据高效检索分析的系统,将海量监控数据统一管理,以提供高效的检索服务。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种高效的面向海量监控数据的检索分析系统。

本发明的目的可以通过以下技术方案来实现:

一种面向海量监控数据的检索分析系统,包括:

云存储模块,保存监控原始数据,所述的监控原始数据带有时间和地理位置信息;

计算服务模块,包括时空检索子模块、大数据计算子模块和匿名计算集群子模块,所述的时空检索子模块通过对监控原始数据进行时空检索,得到符合时空条件的数据,所述的大数据计算子模块或匿名计算集群子模块对符合时空条件的数据进行信息筛选,匿名计算集群子模块对筛选后的数据进行自定义计算,所述的自定义计算在数据请求中定义,各子模块分别将自身产生的数据发送给云存储模块;

分布式任务部署及监控模块,接收数据请求、生成任务并发送给计算服务模块、监控任务进度。

所述的时空检索子模块根据监控原始数据的时间和地理位置信息进行过滤,得到满足时空条件的监控原始数据。

所述的大数据计算子模块采用Spark集群或Hadoop集群对数据进行过滤。

所述的分布式任务部署及监控模块具有第三方服务接口。

系统中进程间的通讯通过分布式消息总线进行。

所述的系统还包括分布式应用程序协调器,为系统中各模块和子模块提供一致性服务。

所述的自定义计算在Docker容器中进行。

与现有技术相比,本发明具有以下优点:

(1)通过云存储模块存储带有时空索引信息的监控数据,存储容量大;数据检索、计算等任务分发给计算服务模块,计算服务模块中的子模块进行任务分工,检索速度快,可实现复杂多条件的数据检索及处理。

(2)分布式任务部署及监控模块生成任务并进行统一管理,有利于计算服务资源合理分配,还可以实现一定程度的计算任务分片、流程优化、并行计算、故障回滚和任务生命周期管理等更为细致的处理。

(3)大数据计算子模块采用Spark集群或Hadoop集群对数据进行过滤,可以实现几乎任意计算行为的云化操作,满足用户需求的多样性。

(4)分布式任务部署及监控模块具有第三方服务接口,可通过第三方服务实现更多功能,降低系统成本。

(5)自定义计算在Docker容器中进行,可以快速开启并运行用户自定义的计算服务。

附图说明

图1为本实施例系统的结构框图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例

如图1所示,一种面向海量监控数据的检索分析系统,包括:

1.云存储模块,保存监控原始数据,监控原始数据带有时间和地理位置信息;云存储模块作为核心的数据总线,用于保存海量原始数据以及各个组件产生的中间数据以及状态数据(应用失效重启时需要使用),还保管着一切数据的来源。

2.计算服务模块,包括时空检索子模块、大数据计算子模块和匿名计算集群子模块;

其中,时空检索子模块根据监控原始数据的时间和地理位置信息进行过滤,得到满足时空条件的监控原始数据;

大数据计算子模块基于Hadoop/Spark/Storm等常用的框架,提供基于Map-reduce的大数据计算服务,采用tensorflow集群(机器学习计算框架)对符合时空条件的数据进行信息筛选。

匿名计算集群子模块对筛选后的数据进行自定义计算,自定义计算在数据请求中定义,自定义计算在Docker容器中进行。各子模块分别将自身产生的数据发送给云存储模块。匿名表示并不对客户暴露计算究竟在哪里执行,整个计算的服务由后台统一控制和管理。

3.分布式任务部署及监控模块,接收数据请求、生成任务并发送给计算服务模块、监控任务进度。该模块按照用户的需求来划分任务,并向不同的应用组件提交任务并监控任务运行状态,每个独立的任务都需要定义任务的输入、输出及中间计算过程中应用到的计算服务资源,采用树状结构来描述具体的计算流程。分布式任务部署及监控模块具有第三方服务接口,由专业的第三方应用提供商提供服务器群,通过消息总线+云存储实现指令及数据的获取、存储及输出,第三方服务如人脸识别服务、情绪识别等智能API服务。

4.分布式消息总线,分布式消息总线作为核心通讯总线用于实现进程间通讯并确保数据的可达,是一种高性能持久化的分布式消息队列。

5.分布式应用程序协调器,为系统中各模块和子模块提供一致性服务,类似于zookeeper。

本实施例可实现如下需求:

分布式任务部署及监控集群获取到用户所需的计算请求(如判断某一地区部分摄像头在某一特定时间下的犯罪人员活动情况的排查)后,解析任务,并逐步完成下述操作:

1.调用时空信息检索服务,利用时空信息数据库对大量数据进行过滤(时空数据库极快地得到符合时空特征的数据),获取满足时空条件的数据结果;

2.对符合要求的数据用Spark/Hadoop等集群进行过滤/半透膜处理(比如分别获取公安部门的摄像头并去除隐私信息),定义Map Reduce函数体,并执行并行计算;

3.获得的结果后通过匿名计算服务使用用户自定义的函数进行处理(FaaS,Lambda),比如将警务加密视频数据解密并提取转换为标准视频格式文件格式MP4,将结果存放到云存储的某一位置处;

4.最后开放云存储的部分权限,授权第三方应用的调用并控制第三方应用进行人脸识别,获取在视频中出现的犯罪人物,得到最终结果,存入云存储中;

5.分布式任务部署及监控集群得知计算完成,通过匿名计算服务或消息总线,推送计算结果到目标处。

本实施例采用存储即服务的云存储技术作为核心数据交换的总线结构,配合分布式任务调度器,来实现复杂多条件的数据检索及处理。即所有的“计算”操作,都可以作为被分布式任务调度器通过消息总线派发到指定的计算服务上,分布式任务调度器还可以实现一定程度的计算任务分片、流程优化、并行计算、故障回滚和任务生命周期管理等更为细致的处理。

基于docker容器技术的lambda服务架构,通过与分布式任务调度器,实现自动扩展计算能力并能够秒级内开启计算任务。通过与hadoop等大数据计算框架的配合,可以实现几乎任意计算行为的云化操作。

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