多维度数据融合算法及实现

(整期优先)网络出版时间:2020-12-14
/ 2

多维度数据融合算法及实现

南建军 石志忠 吕梦莎

中关村东升科技园 邮编: 100192

摘要:提出一种适应多维数据融合系统的多维数据融合算法。定义适应安保工作特点的信息共享策略,存储策略和应用模式。解决的就是多种数据资源、跨平台业务、非标系统等带来的数据壁垒问题。实际上,突破不同属地、不同数据源、不同网络、不同厂商的数据融合,打造可规模化实战应用的解决方案。实现车、卡口数据、特征值数据在同一平台下全面打通人、车、物多维数据的融合分析。

关键词:多维、大数据、融合、计算、辅助决策

  1. 引言

大数据以势不可挡的姿态进入人们的思想意识,并在社会的各个领域不断探索与落地实践。业界纷纷用大数据这个词来描述和定义信息爆炸时代产生的海量数据,数据相关的技术发展与创新成为大数据产业从业人员最为关心的话。

本方法开展了大数据分析关键技术的研究,通过多种数据源的结构特征,将数据最大程度的利用起来,以“数据分享 高效协同、科学研判、辅助决策、智能指挥”为目标,构造了多维数据融合平台,验证了方法及平台的有效性,实现立体化社会治安防控体系建设和事中可控,从过程管理到事前预测,从事前预演到态势感知的新型社会安全管理应用最佳实践,能够最大限度地把社会安全风险事件消灭在萌芽状态,为我国社会安全保障提供有力科技支撑。

  1. 大数据应用现状

1) 应用场景碎片化、成本高等困扰

当前大数据行业的应用侧重在单特定行业、单系统内的应用。比如我们曾经遇到过一个关于场景碎片化问题的经典案例,客户为了解决一个事情用到了五套系统平台,因为特定的数据分散到五个不同系统中去维护,比如通过视频监控系统可以查到相关的视频信息,再通过人脸识别系统完成识别,然后通过其他应用系统查找人员或车辆行走的路线,最后通过其他传感系统查找其他信息等。这些碎片化得场景不但增加了客户的工作量,还在开发、维护这么多系统的情况下增加了非常高的经济成本。

2) 数据价值未得到充分利用

大数据时代,数据已成为战略资产,但数据本身不会自动产生价值。海量信息本身价值低,各感知数据缺乏关联碰撞,使得海量“数据”价值挖掘不足,数据价值未得到充分利用。缺乏对已建设的设备、系统进行管控和数据融合应用,缺乏对采集数据进行整合、共享,缺乏协同作战大数据实战应用平台。

  1. 多维数据融合

    1. 多维度数据汇集

该文讲的多维度数据融合的算法主要是基于数据的“时空”条件下进行关联计算,所以我们接入的数据必须包含 “时间”,“经纬度”等属性值,否则在数据入库前会经过数据清洗进行过滤掉。

  1. 对时间维度的要求

计算数据融合首先要保证所有接入的数据时间都是校准 后的,所以要保证所有的接收服务器和数据存储的服务器进行时间同步设置。

简单的实现方法是配置一台专业的时钟服务器,将时钟服务器接入系统的局域网内,同时给局域网内的服务器和客户端授时。时钟服务器接收卫星导航系统的时间或者CDMA信号,满足服务器对时间的要求。

  1. 对数据空间点位的要求

数据的点位信息在具体的结构化数据中都是以经纬度值来体现的,目前常用的经纬度坐标系有WGS84国际坐标系、GCJ-02国家测绘局坐标系、BD-09坐标系等,由于数据可能通过不同数据源、不同网络、不同厂商、不同设备汇集而来,可能存在经纬度坐标系不统一的问题,所以数据在入库前要对数据经纬度进行统一转换。

理论上可以接入各种数据,比如:车辆、人脸、电瓶车等前端设备采集的日志数据,根据不同的数据类型进行分布式分类存储。通过大数据模型计算进行数据的融合。


    1. DASS层存储架构

基于Hadoop大数据架构技术,支持PB级数据处理能力和秒级响应。以Hadoop、Spark、HDFS等多种业界主流数据套件构建大数据平台,支撑PB级异构数据集成、高效存储、多场景计算和分析挖掘,满足多种数据类型(结构化、半结构化、非结构化数据)和多种计算场景(离线、交互、实时)的不同需求。

5fd6d97a2ffc9_html_b1eafda4387883c9.png

    1. 根据时空条件的数据融合计算

      1. 基于空间的计算逻辑与算法

大数据在进行数据融合计算时会根据其中的一种数据源的数据的点位,根据半径参数(按需配置),去计算半径范围内是否还存在其它数据类型的数据,所以首先要计算出两个点位的空间距离。

具体的计算两点之间距离公式如下:

5fd6d97a2ffc9_html_4833f3341476b819.gif

其中latitude是纬度,longitude是经度

a=latitude1 – latitude2为两点纬度之差 b=longitude1-longitude2 为两点经度之差;

6378.137(KM) 为地球半径,计算出来结果是两个点位的距离,为km。

使用java语言代码实现

public class PointUtil {


private static double EARTH_RADIUS = 6378.137;


private static double rad(double d) {

return d * Math.PI / 180.0;

}


/**

* 计算两个经纬度之间的距离

*

* @param lat1

* @param lng1

* @param lat2

* @param lng2

* @return km

*/

public static double getDistance(double lat1, double lng1, double lat2, double lng2) {

double radLat1 = rad(lat1);

double radLat2 = rad(lat2);

double a = radLat1 - radLat2;

double b = rad(lng1) - rad(lng2);

double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2),2) +Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));

s = s * EARTH_RADIUS;

DecimalFormat df = new DecimalFormat("#.000");

s = Double.parseDouble(df.format(s));

//返回距离默认为km,如果需要其他单位请记得换算

return s;

}

}


      1. 基于时间范围的逻辑条件

大数据在进行数据融合计算时会根据其中的一种数据源的数据的出现的时间,根据当前时间的上下间隔时间范围(时间间隔可以作为参数灵活配置),来判断上下间隔时间范围内是有同其他数据同时出现,如果有数据出现,我们既可作为,这几种数据源的数据是同一的时间点出现。

      1. 基于时空的融合计算

基于时空的条件下,我们可以根据某一个特定目标数据的路线信息,以下特定目标数据我们称呼“A”,可以融合计算出其他数据源的数据,通过匹配度的要求,筛选出匹配度比较高的数据,辅助用户去职能决策,研判出哪些是A未知的数据,哪些是和A同时出现的数据。

5fd6d97a2ffc9_html_928e1408e28fb23d.gif 如下图:














  1. 结论

该算法适用于多维数据融合应用计算平台,无需跨越多个系统,既可以实现多种数据源的自动融合关联,补齐了单一维度信息化技术手段的局限和不足,让数据融合应用的红利服务于平安城市治安防控、雪亮工程、智能交通、道路风险防范等多个领域。


参考文献如下:

[1]安防展览网 https://www.afzhan.com/news/detail/68946.html, 2018-08-23

[2]JeanCheng https://blog.csdn.net/gatieme/article/details/45599581,2015-05-09