城市的视频监控系统正从单个部门或领域安防业务的支撑系统转变为整个城市信息化建设和管理应用的支撑系统,其前端录像设备已达到数十万级的规模,定位于对整个城市范围的视频资源和相关信息进行有效管理和应用,以为各类部门如公安、城管、交通、环保、能源、安监等的业务领域提供服务支持。而现有的视频监控系统大多为部门自建或独立项目建设,存在着各个系统相互孤立、标准不一、系统可扩展性不强、各部门之间难以协同工作等缺点。这就迫切需要把现有系统升级为可适应大规模信息共享需求和多元化业务需求的广域级视频监控综合业务平台,实现各业务间的集成和整合,以消除信息孤岛,提升系统整体运行效率。目前视频监控技术已进入网络和全数字时代,网络视频监控技术及其应用不断发展,但基本都采用基于局域网架构下的集中式管理模式,不能解决广域级系统中面临的问题。云计算可通过虚拟化、分布式存储、并行数据处理等各种手段对各种计算和存储资源进行统一组织和管理,并以服务的形式按需提供给云端用户。SOA是对云计算中资源服务化的理念上的承接,提供了把云计算服务集成为系统平台的解决方案。这种集成正在走向现实应用,文献中提出了一种结合SOA与云计算系统构建的云服务平台模型Nebula,能将分布在互联网中各个图书馆的资源和服务整合为一个整体,支持馆际资源共享、服务共享和任务协同。但Nebula平台不需管理广域级中大量异构硬件,也没有提供对基于海量视频数据的并行计算业务支持。本文设计了一个基于SOA和云计算系统构建的广域级视频监控综合业务平台(以下简称视监平台),可实现对广域范围内的视频监控设备及有关计算资源和视频监控数据的统一组织和管理,具有灵活的可扩展性,弹性的业务能力,并以服务的形式向平台用户提供多元化业务服务。
1.关键技术概述
面对广域范围密集监控下不断增长的海量视频数据以及多个城市管理部门的多元业务需要,广域级视监平台需要解决数据中心管理、底层资源虚拟化、海量数据存储与分析、多元业务集成与融合等关键问题。
1.1数据中心与虚拟化技术
数据中心与虚拟化技术为广域级视监平台统一组织管理密集分布在城市范围内的大量异构硬件资源提供了有效的手段。在1万路的视频监控项目中,若有10%的设备需要保留24小时连续的视频编码数据,则每天产生的数据量约为10TB。因此,海量的存储资源和数目巨大、品牌各异、分布范围广泛的摄像枪、监控器等各种异构视频I/O设备是本视监平台的管理重点。云计算的数据中心技术为广域范围内包括计算节点、存储节点、视频I/O节点在内的各种底层异构物理资源提供低成本、高带宽、高可靠的网络连接,并快速有效地存储由监控业务产生的海量视频数据资源。在此基础上,采用云计算虚拟化技术对其进行统一的抽象管理。虚拟化技术可分为基础设施虚拟化和系统虚拟化。基础设施虚拟化技术包括CPU虚拟化、内存虚拟化和I/O设备虚拟化,可用于对平台底层各种异构资源按大类进行整合,并通过构建资源池实现标准化表示,向上层提供访问这些物理资源的统一接口。系统虚拟化技术是对基础设施虚拟化技术的进一步扩展,应用传统虚拟化技术VMWare可实现资源定制,为视监平台上不同部门多元化的业务应用需求提供相应的虚拟机运行环境。而新的系统虚拟化技术,支持虚拟机快速部署和在线迁移,可进一步提高虚拟机的可靠性。
1.2分布式文件系统和分布式编程框架
Hadoop是由Apache基金会管理的一个开源项目,其组成部分HDFS、HBase和MapReduce分别是云计算技术下分布式文件系统和分布式编程框架的开源实现。这三者互相配合,可以实现本视监平台中海量数据的分布式存储管理及并行处理,并具有以下优点:①可扩展性强,在存储和计算两个层面上都可实现可扩展的分布式处理;②经济性好,系统可以运行在廉价的大规模服务器集群上;③可靠性高,HDFS的设备恢复机制以及MapReduce的任务监控机制保证了分布式处理的可靠性。
1.2.1 HDFS分布式文件系统
HDFS主要用于对以视频数据为主的海量数据提供分布式存储和管理,以利于在数据规模日益庞大的情况下实现有效的分布式并行调度。本视监平台上视频数据的存储管理具有如下特点:①需要存储大量GB级甚至TB级的大文件;②文件具有一次写多次读的特点;③文件读操作以大规模的流式读和小规模的随机读构成;④系统需要有效处理并发的追加写操作;;⑤权衡高持续I/O带宽与低传输延迟时倾向于前者。
为了满足系统的上述特点,在HDFS分布式文件系统中,大文件被拆分为大小相等的若干固定块分散存储于计算节点的本地硬盘中,并通过较大的分块粒度(如64MB)保证HDFS对PB级超大文件的存储能力。此外,为保证数据和文件的可靠性,HDFS系统设置了元数据管理节点管理文件和数据块副本的元数据,为每一个数据块维持多个副本。通过文件的分布式存储,HDFS可并行读取文件,提供高I/O吞吐率,同时还简化了数据块副本问的数据同步问题。
1.2.2 HBase分布式存储系统
在HDFS文件系统基础上,进一步建设了HBase分布式存储架构,适用于广域级视监平台上的各种应用,如视频实时预览、视频录像回放等数据存储与查询服务。HBase架构的数据模型方面,数据表中的数据项可由无结构的字节数组表示,可以以行名、列名、时间戳为数据表建立索引,以便于对视频流数据为主的非结构化数据的进行存储管理;在数据存储上,HBase可将规模巨大的整张数据表拆分成多个HDFS文件子表,由HDFS系统保证其健壮性和扩展性,同时采用分布式锁机制Chubby负责多个子表间的数据同步,保证其可用性。
1.2.3 MapReduce分布式编程框架
MapReduce是由Google提出的一个软件架构,是目前云计算平台上实际公认的并行编模型标准,运行于HDFS和HBase系统之上。HDFS和HBase实现了对海量视频数据高效的分布式存储,MapReduce在此基础上提供由编程框架自动控制的、对用户透明的计算资源和数据资源的并行调度和数据同步机制,可根据业务规模自动伸缩、从而为程序开发者屏了底层的复杂性,简化了分布式并行处理业务的编程开发工作。一个典型的MapReduce计算处理通常可以分布到上千个计算节点中来处理上TB的数据,这对海量视频数据业务的并行处理尤为重要。
1.3 SOA架构与云计算系统的整合
云计算系统和SOA架构分别完成用户功能实现和服务提供,形成完整的基于SOA的云计算框架模型。如图1所示。
图1 基于SOA的云计算框架模型
作为服务提供者,云计算系统涵盖如前所述的数据中心、虚拟化、分布式文件系统和分布式编程框架等各项基本技术,统一组织管理各种资源并把用户所需功能实现为云服务。云计算系统由云服务接口层、云计算服务层、云计算资源层和云服务管理层组成。其中,云服务接El层通过对外提供统一的绑定接口而实现各种云服务的输出;云计算服务层提供了云服务应用程序的运行环境,由开发语言和相应的软件工具组成,可根据应用程序开发者上传的程序代码和数据提供相应服务,完成各种底层资源如网络、存储、计算等的调度工作及操作系统管理。云计算资源层为上层提供各项基础设施。云服务管理层负责进行服务资源调度和管理过程操作,并对云服务的可用性、可靠性和安全性提供保障。
SOA架构是一种系统的建模思想和软件构建方法,侧重于采用服务的形式进行系统的构建,其结构包括服务提供者、服务消费者和服务代理三部分。在云计算系统对外提供多种云服务的基础上,SOA架构下的云服务可部署在各种分布式平台上,通过网络以统一的Web接口形式对最终用户提供各种服务。基于SOA架构,可以根据视监平台各使用部门的多元化业务用户需要对任意内部和外部的云服务进行统一组织整合,快速地构建和部署新的应用程序和服务,提供最终服务与任务协同,从而解决特定的业务需求。
2.综合平台的架构与实现
2.1综合平台的架构
本文提出的基于SOA与云计算技术的广域级视频综合业务平台由物理资源层、功能服务层、SOA构建层、服务中心和服务管理层组成,其具体架构如图2所示。
图2 广域级视频监控综合业务平台的架构
2.1.1 物理资源层
视监平台的物理资源层的主要任务是统一组织管理平台涉及的各种物理资源,包括摄像枪,网络视频服务器,数字硬盘录像机,各种服务器,集中式/分布式存储设备,网络传输设备,传感设备,定位设备等,将硬件资源封装成服务,分别提供给中间服务层和用户使用。本层依次解决以下两个问题。首先建立以广域网络技术为基础的、低成本、高效能的数据中心,采用高带宽、高可靠性、兼容大量异构设备和计算节点的二层网络结构,连接各种异构硬件资源,存放海量数据。其次,应用虚拟化技术,为系统整体管理、配置、检索所有的设备提供统一的标准,保证品牌繁多、架构各异、视频码流格式不同的众多设备被抽象成相同的接口,使上层调用可忽略底层的复杂物理特性,透明地访问各种类型的设备,从而为上层提供弹性、可靠的基础设施服务。同时,通过对系统中现有的集中式/分布式存储设备的虚拟化,物理资源层建立界面统一的海量存储硬件资源池,供上层云计算服务按需取用。
2.1.2 功能服务层
视监平台的功能服务层对资源进行了更进一步的抽象,提供用户应用程序的运行环境,负责资源的动态扩展和容错管理。基于底层的硬件资源,本层向上屏蔽底层系统的复杂性,优化存储系统的I/O性能,提高文件系统的可靠性与可用性,完成存储、管理与调度海量视频数据的任务,实现强大的计算能力。为此,本层采用HDFS技术和HBase技术,实现对海量视频数据高效的分布式存储;并在此基础上基于MapReduce技术进一步向上层提供面向服务架构的并行编程框架。由于本平台建立在大规模硬件资源上,所以该编程框架支持规模扩展、屏蔽底层细节并且简单易用。同时,该编程框架从两方面提供对数据资源的高效的分布式并行处理。第一方面是根据业务规模并行地调度下层的数据和计算资源,通过统一的抽象接口访问各种资源,包括业务数据,视频数据,设备信息等,实现视频数据业务的并行处理。第二方面是向上层提供简单的、屏蔽下层复杂细节的、使并行调度对用户透明的编程环境和编程模型SDK。用户使用本层SDK开发各种基本功能,如视频实时预览、视频录像回放、图像相似度计算、平台管理和设备的控制、配置和查询、平台管理等。通过在本层中统一实现各种基本功能,并供上层不同应用程序调用,使上层尽量使用底层中统一的服务功能,可消除软件上的重复建设、相互孤立和标准不一。
2.1.3 SOA构建层与服务中心
视监平台的SOA构建层将下层实现的功能封装成标准的Web服务,并通过SOA架构进行管理和使用。作为服务提供者,本层可提供诸如监控、回放、搜索等业务的使用界面和应用软件,用户只需要直接使用或通过配置进行组合集成使用,而不需要编程。同时,本层还提供更高层次的业务领域软件,可供用户根据特定的业务使用,例如:人脸识别,移动目标跟踪,危险行为分析,传感器上传的数据统计分析,人流车流物流统计分析等。
作为服务提供者和服务消费者间的联系纽带,服务中心面向终端用户,为SOA构建层封装的服务完成注册、查找、访问、绑定和构建服务工作流等工作,并通过既定的通信协议实现各服务间的互操作,最终提供基于网络的软件应用。需要特别指出的是,基于业务领域的整合及服务提供商复杂多变等原因,服务中心可连接多个云计算系统,即,各云计算系统为服务中心提供了多元的远端服务,本平台同时为每个服务提供了统一的接口,用户通过SOA架构能有效的进行服务的组合以生成新的业务流程和应用系统,各种业务可以跨云计算系统实现,而新生成的系统同样可以被当作新的服务进行注册、发布。对于视监平台的服务对象一工作地点在城域范围内随时变换的城市管理部门来说,这种可通过网络随时发现和绑定服务的应用管理机制有着重要的实际应用意义。
2.1.4 服务管理层
服务管理层完成系统资源管理,任务调度,用户管理和安全机制等工作。资源管理模块负责均衡地调度各物理资源,实时更新可用资源库,并对使用情况进行统计和监测。任务管理模块负责分析、执行用户提交的任务,包括任务的分解和映射,任务调度,任务执行、任务生命期管理等。用户管理模块包括用户交互接口,用户程序执行环境创建及回收、计费等。安全机制主要通过各种措施保障本系统的整体安全,包括防火墙,身份认证,访问授权、安全审计等,是保证本系统可靠性、可用性、安全性的基础。
2.2 综合平台上并行业务处理的实现
本视监平台的核心功能是基于大规模硬件资源实现并行处理海量视频数据的各项基本功能,包括:本地/远程实时监控,视频数据存储、转发、检索,设备管理和设置,数据分析、统计,各种信息系统的整合等。用户可通过本平台提供的二次开发接口,开发自己所需要的业务,也可以直接使用本平台提供的应用程序和业务流程,通过组合和集成,直接形成自己的业务。
以视频检索功能的实现为例,例如人脸识别,移动目标跟踪,危险行为分析等属于数据分析功能的业务需求,无一例外都需要调用视频检索的基本功能图像匹配,即计算图片的相似度。
可利用视监平台的功能服务层提供的MapReduce编程环境编写算法,实现图像匹配基本功能。如图3所示,图像匹配算法在MapReduce框架下的执行可分为以下几个阶段:
图3 MapReduce下图像匹配并行计算流程
(1)初始化阶段。客户端向视监平台中的任务控制节点提交一个包含某视频片段的图像匹配MapReduce作业,任务控制节点据此进行检索条件的初始化工作。包括:①对此视频片段进行内容分析,抽取包含有效数据的帧作为示例图像(例如人脸),求得此示例图像特征数据的分片(图像的特征包括形状、纹理、颜色等,特征数据以文本形式表示),并作为检索条件存入本地HDFS中。②MapRe—duee程序初始化。由检索条件、检索方式和相似度匹配算法决定图像检索的MapReduce程序,即相关Map()函数和Reduce()函数,形成任务文件。③调度初始化。任务控制节点根据业务规模决定并行执行MapReduce程序的计算节点,即确定任务执行节点,并将每个特征数据分片和任务文件一起分发到各个任务执行节点中去。
(2)Map阶段。任务执行节点将特征数据分片复制到本地的文件系统中,并把任务文件中的程序本地化,形成实例运行任务,由Map任务读取数据分片,提取图像特征数据,以键/值对的形式传递给Map函数。Map函数从HDFS中读取本地视频图像的相关特征数据并进行判断,如满足检索条件则进行相似度计算,得到中间结果是以相似度和特征库中的图像名作为Key/Value对,并输出到本地文件系统中。由于Map函数的检索内容一般都是本地存储的HDFS文件,从而降低了网络传输所带来的带宽消耗,减小了系统的阻塞。
(3)Reduce阶段。在各任务执行节点上,对Map任务输出的中间结果Key/Value对进行分区,将Key值相同的结果合并及排序,然后传递Reduce任务。Reduce任务接收Map输出的键值对中间结果,对收集的中间结果进行汇总、按相似度的大小进行排序,最终得到图像检索的结果,并将结果写入HDFS中。在Map和Reduce阶段中,任务控制节点要同时进行相关的任务调度工作,包括协调各节点以及主节点之间的信息交互,及实现监控和容错机制。
(4)结束阶段。当任务控制节点收到作业完成信息,则将任务标识为成功,通知用户。最后,清空作业的工作状态和相关中间输出,并把最终的检索结果发送给用户。由以上MapReduce作业的执行过程可见,通过任务控制节点的控制调度可支持业务的规模扩展,简化了大规模数据处理的难度,实现业务并行计算的伸缩性。各个任务计算节点上的Map任务和Reduce任务都可以并发执行,并可在计算节点规模扩展时提高处理性能。因此,一些与数据的智能分析有关的业务,如人脸识别、移动目标跟踪和危险行为分析等,都可以通过MapReduee编框架提供的并行计算获得其所需要的计算能力,有利于任务的实时完成。任务控制节点在调度完成并行处理的同时,还负责各任务执行状态的监测工作,并根据监测结果重新执行异常状态任务。任务控制节点实际上为程序开发者屏蔽了并行和容错等繁琐的细节问题。
进一步地,SOA构建层提供独立于硬件平台、操作系统和编程语言的、采用中立方式定义的统一接1:3,与图像匹配基本功能一起封装为web服务。最后,服务中心对此web服务进行注册管理,供位于网络上不同节点的服务消费者视监平台上各部门各客户端程序查找、绑定和组合,最终形成各种业务应用系统,如安防部门的人脸识别,交通部门的移动目标跟踪,城管部门的危险行为分析等。一个业务应用系统可能是由位于不同网络节点上的云服务动态配置而成。
3.结束语
云计算技术在处理海量数据和分布式计算方面有着自己独特的优势,SOA是一种建模思想和软件构建方法,SOA与云计算技术的结合,为广域级的此类业务平台提供了一个新的解决思路和实现方案。一方面,可以把服务的消费者和服务的提供者分开,业务部门不需要去管理底层的视频资源,可更加的专注于自身的特长,从而使得BT(建设转让)、BOT(建设一经营一转让)等商务模式得到逐步的推广,实现信息化系统的运维外包。另一方面,基于此种架构,多元化业务领域中的各种新需求、新技术可以得到快速的部署。同时,随着城市信息化水平的不断提高,基于SOA和云计算技术的视频综合平台可很容易的与物联网结合在一起,向公众开放运营型业务,推进数字城市、智慧城市的建设,从更高的层上提升城市的运营水平。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于云计算的广域级视频监控综合业务平台