数字世界里的时空交错 - 时空智能(智慧城市系列)
数字世界里的时空交错 - 时空智能(智慧城市系列)
作者:刘跃 00564907
说起时空大数据,有些人可能不甚了解,但是提起智慧城市、智慧交通基本是众所周知了。时空大数据是智慧系列应用(智慧交通,智慧水利,智慧农业,智慧气象,智慧楼宇,智慧园区,乃至于更广泛意义上的智慧城市)中的关键技术。本文讲述时空大数据的场景、业界现状、华为目前的实践、在智慧城市系列中时空大数据遇到的问题和挑战。
时空大数据即对含有空间位置信息的海量数据进行多维查询与分析,获得与空间和时间有关洞察和分析。通常有二维和三维空间数据的区分。智慧城市的发展自IBM提出由来已久,但是至今还没有达到概念提出时的愿景。其中的原因除了数据繁杂部门众多难以打通,传感器硬件体系尚未完善,软硬件架构体系复杂之外,还有时空大数据关键技术相关的痛点和问题:
- 传统的关系数据库之上的时空插件,由于数据量的急速膨胀,需要大数据技术体系的支撑。但是在大数据技术体系,Geomesa+HBase的组合并不能覆盖大部分应用场景。
- 多样的数据类型:二维(矢量、栅格、带空间位置的业务数据),三维(三维模型、倾斜摄影、点云),多样的查询和分析需求,导致技术体系复杂,加上本身问题领域的专业性,整个解决方案需要多方深度参与共建。
一、时空场景
以下讲述一些从华为内部看到的时空大数据场景,让大家对时空大数据有直观的理解。
电信时空大数据
电信运营商的无线网络规划网络优化场景下,收集到服务侧的基站网元和移动端收集的序列数据,运营部门需要基于这些数据进行选取站点/增加站点/寻优以及通过价值区域的识别来进行精准的有数据依据的规划。
以一个典型的空间查询场景为例:查询某天3000个相邻小区的无线信号强度(电平值RSRP)。业务数据是从基站网元设备采集到的无线信号强度值,也就是对应到某一个经度和纬度的空间位置有一个浮点值,这个业务数据表的数据量庞大。然后需要用三千个小区作为输入条件对数据进行过滤查询。考虑到业务的数据量每天14TB,一般存15天,且这个查询的返回时间不能超过5秒。此类问题需要引入高性能分布式的时空数据库来解决。
另外一个场景是重点赛事保障,或者5G智慧园区,需要支持无线网络实时监控和异常识别,给网络保障人员提供准确的网络问题说明,指导网络运维及时解决网络问题,需要在指定的区域内对无线网络实况进行格网化监控、异常识别和空间定位。
这个场景有以下几类数据。
维度 |
维度子类 |
维度示例 |
说明 |
时间 |
时间数据 |
15分钟、30分钟,小时,天 |
常用小时,天 |
空间 |
空间栅格数据 |
栅格(50/20米),点位置, |
常用50米 |
空间矢量数据 |
小区多边形,行政区域 |
点、线、面数据 |
|
空间属性数据 |
网元软硬件 |
网元在空间分布,具有空间属性 |
|
业务 |
用户/终端对象 |
用户ID,设备识别码,呼叫ID |
用户和终端相关数据 |
业务对象 |
服务类型,失败原因 |
业务特性强相关 |
对这些数据的处理包含:
- 数据ETL和治理:采集、关联、定位、编码
- 业务指标汇聚
- 时序时空指标和详单查询
- 批处理分析:网络规划与优化,交叠分析、轨迹推理、空间采样、聚类分析、话务预测、邻域分析
- 实时分析:轨迹纠偏,实时聚类
- 数据开放
手机终端时空大数据
手机终端的定位手段多样,有基站定位、GPS定位、Wifi定位、蓝牙定位等多种手段,目前这些定位数据脱敏后在云端形成了巨量位置数据湖。针对这些海量位置数据,利用时空分析技术,构建轨迹、围栏/人群画像能力,探索位置智能。其中:
- 围栏画像应用:识别区域范围内的人数、人流、热力和流动趋势
- 用户画像应用:按地域识别人群的地域标签和兴趣标签。
比如,查询某天1平方公里区域内的到过此地的人群,对这些人群的当天的轨迹趋势进行分析,查询结果返回记录数在10万~100万条。
地图大数据
地图业务如果针对全球或者中国的数据,很容易构成时空大数据场景。比如全球道路数据的准入检测。对于地图数据点的更新,需要检测数据点的经纬度上报的是否准确,如果经纬度位置落入道路内部,可能就是不准确的位置数据。假设全球PoI点(Point of Interest)数据的规模在10亿,全球道路线段的数据规模在3亿,这个场景的问题就抽象成了:寻找落入道路内部的那些可能的异常数据点。注意道路的宽度不一(10~200米不等)。这是个点和线段缓冲区的交集问题。
车联网
车联网的架构中有云端的云控平台,边侧的RSU(路侧单元,Road Side Unit),端侧的车机单元(OBU, On Boarding Unit)。目前路侧单元的建设,还处在基础设施的试点阶段。比如在高速公路上每个100~200米设置路侧单元,目前还没有数字化的规划手段在指导在哪些点布置路侧单元是更合理的,主要还是人工靠车流量分析来布置,车流量大的路段就布置稍密些。这个问题类似于电信时空中的网络规划问题,需要对历史车流量、路段属性进行时空建模,规划合理的点状分布。
在云端的运控平台,有时空大数据的更多场景,云端可以将城市多维数据进行融合,提供时空大数据服务,支撑应用场景创新及优化。
智慧城市数字孪生
数字孪生的概念最近几年很火热,大意是讲物理世界映射到数字世界,然后进行数据分析和AI学习后反馈到物理世界。主要应用于智慧城市、智慧工业等智慧系列场景。在智慧城市场景,对城市运行状态实时感知,依托5G、边缘计算,以及云边协同等技术,依托多维异构数据的实时信息模型处理,实现城市运行管理数据的实时感知呈现。对城市运行管理具有实时报警、提前预警和快速处置能力。
城市智能体(IOC- Intelligent Operations Center) 是新型智慧城市建设的核心要素之一,华为也在大力发展这个领域。目前这个领域的现状是:
- 应用目前还主要是展示为主
- 城市二维三维数据的多模存储、关联查询和分布式加速分析是目前和将来能够看到的技术挑战
政府自然资源规划
土地利用现状变化分析:比较两年全量矢量图斑,找出变化部分,计算变化部分面积,然后将结果按照市县汇总统计
建设用地审批场景:单个审批地块和多个土地现状等全省覆盖图层进行多种空间分析比对,比如和土地规划、耕地保护、权属、生态红线等图层进行叠加分析操作。
二、基础知识
由于时空大数据的领域专业性较强,我们必须先普及一些概念有助于大家的理解。
空间二维数据
1. 矢量数据
- 点: point, multiPoint,比如手机位置、车位置,可用于轨迹分析
- 线: lineString, multipleLineString,比如公路路线,高铁路线
- 多边形: polygon, multiplePolygon,比如小区边界,行政区边界
2. 栅格数据
- GeoTiff,比如把地球平摊开划分成500米*500米的栅格,每个格子里面放一个有业务属性的浮点值,形成矩阵。可用于大空间范围的趋势和分布的展示和分析
3. 业务数据(带空间位置)
- 业务宽表,带经纬度。可用于多维数据查询与分析,支持空间查询(比如polygon内数据查询,polyline缓冲区的查询)
空间三维数据
1. 三维建模数据(BIM / CIM)
- BIM(Building Information Modeling,建筑信息模型)以建筑工程项目的各项相关信息数据作为模型基础,详细、准确记录了建筑物构件的几何、属性信息,并以三维模型方式展
2. 倾斜摄影
- 通过同一飞行器的多台传感设备同时从垂直、倾斜多个角度采集影像,通过全自动批量建模生成倾斜摄影模型值,数据格式OSGB
3. 点云数据
- 高精度激光点云数据,数据格式:.las,.txt,.xyz,.ply,.laz
空间索引与编码
- 编码:一种地理网格编码,几种编码方案:
-
- Geohash:简单来讲,把经纬度奇偶位交叉形成一个long型数值或者转换为字符串来作为这个经纬度对于的geohash编码。
- GeoSOT:北京大学发明的网格编码算法,已成为国家标准
- Google S2编码
-
- 几种索引实现:R-tree 四叉树
- 空间填充曲线:Z-order(经纬度奇偶位交叉的结果就是按照线性的geohashId来遍历,会形成Z性的曲线) Hilbert
- 比如目前华为MRS CarbonData的空间索引实现为:四叉树geohash + Z-order
Z-order和Hilbert-order的示意图如下:
- 坐标系统,坐标体系有很多,仅列两个常用的:
-
- WGS84
- Web Mercator:常用在地图展示环节
-
空间展示、查询与分析
空间查询与分析方法非常之多,仅列举部分供参考和了解:
- GeoHash多边形范围查询
左图是建立GeoHash索引的四叉树,右图是一个多边形被分解成多个网格区域,对应到四叉树中的某个结点。
- 多边形并交差查询
比如查询某几个相交区域内的业务数据,用多边形并集对业务数据进行过滤。
- 线段缓冲区查询
比如查询高铁线路500米附近的业务数据
- 金字塔:栅格数据分层展示
- 矢量包含相交分析:点是否在多边形中,多边形是否相交,是否包含
- 掩膜:按照区域提前栅格像元
- 密度分析:核密度分析、线密度分析、点密度分析
- 遥感图像识别:地物识别
- 图表:栅格图,热力图,海量矢量点图
- 前端展示组件:leaflet,openlayers,webGL,three.js,D3.js,Cesium
- PoI:point of interests
- AoI:area of interests
空间数据标准与规范
此处不展开,关于空间数据标准、规范或接口实现有:OpenGIS,OGC,GeoTools,GeoAPI,JTS,GDAL
三、技术体系
GIS作为一个古老的信息产业存在了几十年之久了,因为自信息化、数字化以来对地理空间数据的呈现、查询、分析需求一直都在而且越来越旺盛,传统的厂商和技术有Oracle Spatial, Esri ArcGIS和PostgreSQL PostGIS,对空间分析有丰富的接口支撑。本身这件事情是GIS厂商的领域,为什么现在大家都要讲时空大数据,阿里Ganos和京东JUST推出完整的时空数据引擎解决方案?根本原因是空间数据的数据量越来越大,传统的GIS架构,无论是存储架构还是计算架构越来越撑不住了。所以大家都在寻求时空大数据方案来解决这个矛盾和痛点问题。
遗憾的是时空大数据发展并不像大家预想的那么顺利,GeoMesa + HBase的方案是时空数据引擎的典型方案,但是这个组合并不能覆盖大部分的应用场景。
这就和大数据本身体系架构的发展困境如出一辙,大数据引擎的大数据技术发展至今,百花齐放是好事,但是也导致技术体系过于复杂,一个开源组件在做好自己的优势场景后都会去想覆盖尽可能多的其他场景,批处理、流处理、交互式查询、AI分析、CDC、实时入湖、多维查询等等,开源组件都想做通吃,但是至今未有成功案例。同样的场景有也会多个开源组件竞争式发展。于是MPP数据引擎重回大家视野。这些暂且不表。
时空数据引擎的技术架构里面,除了GeoMesa + HBase,通常我们还会组合其他数据引擎,比如一个PostGreSQL关系数据库,一个MPP OLAP引擎。这也是智慧城市技术方案复杂性的来源之一。
总体来讲,传统的GIS架构在功能性上空间分析接口和算法异常丰富,架构上相对内聚,而时空大数据的架构需要适用于不同场景的组件来形成整体解决方案,架构上相对松散,接口和算法的丰富度上不如传统GIS软件。
时空与时序的融合也是一个未来的方向,目前来看时序数据库和时空数据库都在走各自独立的技术体系,都有自己的侧重点和针对性目标场景的优化。我们发现智慧城市、物联网这些场景都同时有时空和时序的特征,在技术方案上的融合,目前来看更为可行的还是统一的接口和服务,底层采用不同的存储引擎。同一个引擎包打天下还是只存在与梦想之中。
四、业界在做什么
在OpenGIS的标准和规范、传统GIS厂商和开源大数据架构中,对一个空间数据体系的定义如下
阿里Ganos架构:
京东JUST架构:
以上的阿里Ganos和京东JUST的架构图来自官网。可以看到在时空引擎的整体方案中,存储方案都提供了多种选择,大数据存储采用的是HBase,中小数据量提供了PostgreSQL PostGIS(关系数据库PG和MPP数据库PolarDB for PG)。PostGIS在中小数据量的空间查询上具有更丰富的接口支持和更高的性能。GeoMesa和HBase的组合用来提供大数据量的存储、实时点查的能力。
关于时空数据,目前有以下技术体系:
- 关系数据库:PostgreSQL PostGIS,Oracle Spatial, ArcGIS Data Store
- MPP数据库:通用OLAP引擎支持PostGIS插件,或支持部分空间查询接口
- 数据湖存储:支持空间存储、查询和分析的大数据存储引擎,如GeoMesa + HBase,Spark + CarbonData。
在这些技术体系中,目前尚无能够覆盖大部分时空场景的方案。比如关系数据库,优势在查询性能和接口丰富度,但是数据量的支持有限,难以满足智慧城市场景对于未来大数据量的需求。MPP数据库能够支持TB级以上的数据,不过在数据量未能达到数据湖的需求,集群成本也居高不下。基于大数据方案的数据湖存储在数据量支持和成本上有优势,但是也需要多个数据库来组合覆盖不同的场景,比如HBase适合实时点查,但由于对二级索引、聚合分析上没有优势,对于多维查询、分析类应用,还是需要借助Spark + CarbonData或其他湖内存储引擎来解决。
时空场景因近些年我国对于智慧城市精细化、网格化管理和运营的迫切需求而变得越来越多样化和数据巨量化,对于传统GIS行业提出了越来越高的要求。可以预见这个行业会出现更能满足未来需求的技术方案,在统一存储和统一空间接口上能有所突破,提供开发和使用更简单但功能强大的时空引擎,支撑智慧城市系列的多源数据融合、实时空间查询和建模分析、AI类时空预测和推理等真正能够实现空天地一体化的技术方案。
五、华为在做什么
MRS时空引擎
FusionInsight MRS是华为提供的数据湖平台,包含了大部分的开源大数据组件,在组件部署管理和组件功能增强上形成了自己的竞争力,覆盖批处理分析、流处理分析、交互式分析、数据入湖、湖内建仓场景。形态为混合云和公有云(定期连线和长期连线)。目前在MRS平台在逐步构建时空数据引擎,架构构想如下:
技术架构构想图,其中某些组件还在规划阶段:
目前在MRS CarbonData存储引擎上形成了空间查询的能力,主要面向带空间位置信息的业务宽表数据,进行多维业务查询和空间查询的场景。采用GeoHash编码(GeoSOT国标码的支持也在进行中),支持对业务数据进行区域多边形查询和线路缓冲区查询。
GridMesa
GridMesa是2012实验室服务Lab创建的创新联合研究项目,联合高校和公司内部的业务部门共同形成时空大数据引擎的整体方案。目前这个研究项目有多个合作部门参与:高校方面有武汉大学和北京大学,公司内部有2012服务Lab、CNBG精品网、CBG HMS和CloudBU EI产品部,上面的MRS时空引擎是这个联合研究项目的落地产品。整体的架构如下:
Gauss PostGIS
华为云数仓GaussDB(DWS)支持PostGIS扩展,提供了空间对象、空间索引、空间操作函数和空间操作符等相关空间信息服务功能。在通用的OLAP MPP数据存储架构的基础上,支持了满足OGC API标准的PostGIS时空类查询和分析接口。
GaussDB(DWS)对PostGIS做了深度适配。目前GaussDB对PostGIS中绝大多数函数均已支持下推至DataNode处理。因此对于绝大多数地理数据运算,都可以充分利用GaussDB的分布式计算优势,带来相比于时空关系数据库的分布式性能加速,满足客户在大数据场景的地理数据处理和分析需求。
Gauss for InfluxDB
InfluxDB本身是时序数据库,Gauss for InfluxDB主要也是公有云上面向时序场景的数据库。不过Gauss for InfluxDB在把自己的场景往时空场景扩展。
通过一个存储引擎将时序和时空两个场景进行融合支持,提供统一的存储、查询、分析方案,看起来确实是一个很诱人很有吸引力的方案。Gauss for InfluxDB做了一个很好的尝试。不过融合的挑战是巨大的,时序场景面向物联网和金融有不少针对时间的优化,时空场景的场景更加多样化,目前主流的方案中HBase擅长实时点差场景,Spark+Geo开源组件擅长分析类场景。用一种引擎来支持时序和时空,会面临多样化场景支撑对引擎本身的存储、查询和分析机制上的技术挑战。
EI遥感智能体
EI遥感智能体是华为公有云上的面向遥感数据处理和分析的服务,提供高效的影像数据云存储管理、时空检索与在线多维动态展示能力。因遥感数据本质上是栅格数据,所以EI遥感智能体主要是针对栅格数据的处理,包括:
- 遥感影像拼接镶嵌、整体匀色:其核心步骤包括影像数据均匀任务划分 -> 格网映射 -> 瓦片重采样切分 -> 瓦片镶嵌融合 -> 全局直方图融合 -> 瓦片匀色拉伸 -> 迭代金字塔影像生成
- 遥感图像地位识别:识别遥感影像中的目标,比如农田、水面,森林。面向特定场景提供端到端自动化地表信息智能提取服务,为国土执法、资源普查、灾害监测、生态环保等领域提供检测算法服务。
- 基于容器的遥感数据分析,提供类似于DigitalGlobe公司的GDBX的遥感数据分布式计算框架。
华为云CloudTable
CloudTable是华为公有云上提供的时序时空数据存储服务。基本的技术框架是底层存储使用HBase,上层时空组件使用GeoMesa,时序组件使用OpenTSDB。从架构上来讲使用HBase统一时空和时序的存储,是个很好的方案,但是由于HBase在聚合查询、二级索引上的短板,也导致了这个方案在某些场景上的局限性。
时序数据库目前的发展可谓百花齐放,OpenTSDB算老牌的了,比较新的InfluxDB、IotDB、DolphinDB都采用了自主设计的存储引擎,并针对时序场景做各种优化。
时空数据库目前正处于技术体系的彷徨期,GeoMesa+HBase不能覆盖大部分的时空场景,所以需要搭配时空关系数据库或MPP数据库来形成整体的解决方案。
EBG智慧城市CIM
时空场景下的三维场景是近几年兴起的热点,利用BIM建模、倾斜摄影和点云技术构建起来的三维数据,在web端进行呈现,建立城市级别的智慧城市CIM系统,对城市管理和精细化运营提供辅助决策。
目前的应用主要还是集中在呈现环节,即使用三维技术将城市的三维建筑、街景、绿化模型进行展示,为城市规划、招商提供信息支撑。随着呈现环节的应用越来越多,现有的仅展示也越来越不能满足场景的需求,需要将三维模型数据和二维数据、业务表格数据进行关联查询和分析。
总体来讲,城市CIM目前看到的挑战:
- 三维展示的性能:在渲染、网络、数据存取方面优化展示的体系,减少卡顿和卡死,避免需要将数据存储在本地来提高展示性能。
- 三维数据与二维数据、业务表格数据能够更为流畅的联动查询与分析,推动大屏展示与业务应用场景的结合
- 三维分析模型的建立,比如城市内涝分析、水坝蔓延和淹没分析,提高模型的精准度和适用性,真正在城市管理中提供辅助决策。
综上,华为自身看到了智慧城市系列的巨大市场,开始在针对不同时空数据和场景做各种突破,并在云上、混合云和私有部署形态都取得了很好的进展。但是不得不说的是华为目前的时空引擎,距离阿里Ganos和京东JUST两个多年打造的业界时空大数据标杆还尚远。主要还是没有形成统一的覆盖大部分时空场景(空间矢量、业务数据、遥感栅格数据、三维数据)的整体方案,华为目前需要集中优势力量继续前行:
1. 集合OpenGauss和时空数据湖引擎的优势形成整体方案
2. 在方案二次开发的易用性和时空性能上,取得相对于阿里Ganos和京东JUST的优势和亮点。
3. 争取在技术方案的统一,包括对外接口的统一和标准化,存储方案的统一和尽量简化。
4. 随着智慧城市传感器网络基础设施的逐步建立,时序数据纳入时空数据湖并参与查询分析应用,探索对时序引擎与时空引擎融合方案
- 点赞
- 收藏
- 关注作者
评论(0)