随着大数据平台和工业互联网的兴起,平台需要在大数据架构下为数据资源中心与外部数据系统提供服务,数据中心需要接入更多类型的数据。但在实际应用领域,系统中产生的数据各自存储、各自定义,无法做到共享交换协同,“数据孤岛”现象逐渐显现,主要原因有以下三点:
1.各部门分工明确,且各部门都会有业务数据产生,需要对这些数据进行存储和使用,不同部门对数据的定义和使用差异较大,所以数据不能互通。
2.各系统之间无法做到多维数据的碰撞,无法提高数据价值。
3.没有统一标准,无法做到信息系统建设的统一性。
所以数据治理、让数据流动起来、提高数据价值密度是未来大数据技术的重要发展趋势。
一、数据治理的定义
数据治理(Data Govemance)是组织中设计数据使用的一整套管理行为。由企业数据治理部门发起并推行,关于如何制定和实时针对整个企业内部数据的商业应用和技术管理的一系列政策和流程。安防领域的数据治理就是具备数据采集、整合、处理、治理能力,同时统一标准和口径,给实时性要求较高的业务应用提供数据支撑,并能实现安全防护、运维保障等一系列能力的数据平台,也就是所谓的数据中台。中台最早是由阿里在2015年提出的“大中台、小前台”战略中延伸出来的概念,从字面意思上理解,中台是基于前台和后台之间。
二、数据中台可以解决的问题
由于各用户之间的需求全然不同,为了积极响应用户需求的变化,发展新业务、提供新服务,这就给前端业务软件提出了新的挑战,必须做到快速响应。业务要想做到类型多样又灵活,必定需要后台数据平台统一标准架构的支撑。前端业务变化无常,后台为了支撑前台越来越多的业务,后台不断建设,系统不断庞大,所以后台系统需要稳定,不能随意改动,两者之间必然存在矛盾冲突。
随着企业规模的扩大,组织架构和层级扩张,各产品线、事业部之间形成部门墙、业务墙、数据墙,使得可以快速提供的业务无法快速拿出方案,耗费大量成本,原本可以共用的接口和服务被不同部门重复实现。安防行业大数据平台底层架构大同小异,差异也就是开源组件的多寡。而真正使企业具有核心竞争力的是产品和服务形态,也就是为用户解决了哪些问题,提升了多少工作效率,以及实现数据平台内部组件之间和周边系统及业务流程上的联通。
数据中台出现之前,大数据平台提供服务的方式可能是这样的:比如为了实现数据接入和查询的基本功能,由于数据接入和查询方不熟悉HBase提供的API,大数据开发就会在HBase提供的API之上封装一层SDK接口提供给数据接入和查询方。为了提升接口调用的安全性可能还会做一些权限管理之类的工作,由此来屏蔽一些高风险的操作。但数据接入和查询方需要先了解大数据内部HBase的表结构、字段定义等底层信息才能很好地运用这个SDK。再比如要实现一个研判任务,大数据平台需要提供任务的增删查接口和研判结果的查询接口,需要跟前端开发确定好接口的入参和出参。此功能的实现需要耗费很多人力成本。而数据中台极大程度减少了用户对底层系统了解的必要性,降低了业务开发的门槛。数据中台提供了一整套完整的解决方案,把业务流程实现抛给业务软件去考虑和实现。
三、数据中台的架构
数据中台主要包括设施层、服务层、数据层以及应用层。设施层是为感知前端、计算、存储、网络资源提供基础环境支持;服务层的视频联网共享服务和数据层的视频接入、处理等是平台的核心功能,服务层的视频图像分析服务实现了视频图像解析系统中信息分析能力的服务化,是视频图像智能化建设应用的关键服务;数据层的数据接入、数据治理和数据服务是按照公共安全大数据处理的技术要求对视频图像信息数据库功能进行扩展,为视频图像智能化建设应用提供视频图像数据服务能力;应用层对多平台应用功能进行了归纳梳理,在充分保护数据安全和个人隐私的前提下,更好地满足各部门视频图像智能化应用的需要。
数据服务平台主要包括数据服务层、数据开发套件、数据处理层以及数据源层四大板块。而数据应用软件也就是前端客户端的业务呈现。数据平台给业务软件开发者提供了离线、实时的开发工具以及任务管理、代码发布、运维、告警等一系列的集成工具,方便使用,提升其工作效率。
1.数据服务层主要是跟前端业务软件进行交互,提供多种通用业务接口,包括JDBC、REST以及订阅/推送,业务软件可以通过多条复杂的SQL语句实现用户需求,并且接口的调用要做到负载均衡,保证后台的稳定性。
2.跟数据服务层并行的是数据开发套件,包括作业编辑、版本控制、业务验证、数据资产、任务管理以及用户管理。作业编辑就是业务开发软件可以通过窗口实现业务需求的工作流(作业);通过版本控制可以保留多个调试版本的工作流(作业);业务验证提供了即时业务运行验证的功能,提供运行结果的查看功能;数据资产是指有价值的数据,包括数据地图、元数据管理、数据血缘、数据生命周期等管理和展示,更加直观地展现数据资产;任务管理即工作流(作业)的调度管理(Workflow Scheduler),负责底层物理资源的分配管理和作业的启动时间点,确保工作流(作业)可以按照既定的依赖关系准确及时地执行;用户管理是保证数据的安全性,防止误操作,是贯穿整个数据平台较为核心的部分,主要实现用户、表、权限的分层管理和全链路数据的权限控制。
3.数据处理层是为了提供上层的数据开发套件而依托的开源组件框架和作业调度框架,如oozie、azkaban、chronos、zeus等。离线计算就是实现一些实时性要求不高的研判业务,比如spark、Hive等,而像Flink、Flume、SparkStreaming等可以提供流式计算,实时性要求更高,诸如车辆、人员的布控业务等。SQL分析引擎实现了上层SQL交互式查询引擎与底层开源框架之间SQL语法的解析与执行。
4.数据源层,即数据存储层。为了适应上层不同的业务需求,底层数据存储的开源组件也是丰富多样的,主要包括MPP数据库、搜索引擎、NoSQL数据库(如HBase)、关系型数据库(RDBMS)、分布式文件存储以及消息队列等等,和数据层存在紧密的关系。
数据层包括数据接入、数据治理和数据服务。通过对视频图像数据进行智能处理,从中获取有价值的信息,从而实现视频图像数据的生命周期管理,对外提供视频图像的数据管理与服务能力。
数据接入根据接入数据种类的不同可以分为视频流接入、图像数据接入以及物联数据接入。视频流接入是指视频流的接入,包括实时视频流接入和历史视频录像接入;图像数据接入是指人员、车辆、物品以及事件等图像相关数据的接入,包括图片、特征值及结构化信息;物联数据接入是指除视频流和图像数据外的其他传感器接入的数据,如MAC、RFID、IMSI、IMEI等数据的接入。
四、如何进行数据治理
数据治理是指针对接入的各类视频图像数据,根据业务需要进行加工处理,从而提升数据的使用价值,满足用户的不同需求。数据治理还有助于提升业务的稳定性,进而间接提升数据正确性的服务建设。
数据治理主要包括收集信息、数据清洗、数据关联、数据回填等功能。收集信息是指对元数据信息的收集及展示。对数据开发平台来说,元数据主要包括:1.数据的表结构Schema信息。收集表结构信息是从平台管理和业务需求的角度考虑如何整理和归纳数据,方便系统集成,实现最终的业务价值;2.处于安全和运维角度,还需收集数据的统计信息,包括存储空间、读写记录、权限归属等;3.数据血缘关系信息,直白地说就是数据从哪里来到哪里去。收集数据血缘关系信息是为了帮助业务软件层更好地排查数据链路中哪个环节出现了问题。数据清洗是指对视频图像数据进行数据过滤、去重、格式转换、校验等操作,生成满足标准及质量要求的视频图像数据。数据关联是指根据视频图像数据的关联规则或算法,将视频图像数据和其它数据进行关联。数据回填是使标准化数据表中空缺字段值通过数据关联得到正确的值,通过填充对应空缺字段值来提升数据完整度。
数据服务是指基于接入和治理后的数据,为视频图像应用提供的数据服务能力,主要包括查询检索、比对订阅、模型分析、数据推送、数据鉴权、数据操作以及数据管理等。
基于以上数据层和服务层的处理,移动端、Web端、客户端等才能应对多样的用户需求,提供丰富的业务应用,比如以图搜图、多维碰撞等业务,从而提升各项公共安全工作的能力和水平。