基于Spark集群的多数据源位置信息融合方法及系统与流程

文档序号:12666736阅读:390来源:国知局
基于Spark集群的多数据源位置信息融合方法及系统与流程

本发明属于大数据处理技术领域,具体地涉及一种基于Spark集群的多数据源位置信息融合方法及系统。



背景技术:

随着基于位置信息的应用在各行业的推广,应用前景广阔,各行业需求强烈,无论是旅游行业,还是交通、民政、统计局等政府机关还是零售等行业,都有非常迫切的需求,为大数据应用提供了非常好的落地场景。

位置信息基于用户电信2、3、4G网络信令位置、无线侧话单数据、WIFI上网记录、用户上网行为记录中提取的GPS数据及用户相关的属性数据。提供特定区域人口密度监测、人群归属地分析、人群特征分析、客流量预测、停留时长分析、客流对比分析、人群轨迹分析、目标区域关联的服务。

用户的位置信息数据来源多,数据量大且实时性非常高,需要实时准确的对多种数据源进行融合处理并输出结果。

Spark是UC伯克利大学AMP Labs开发的新的分布式计算协议栈(BDAS)的计算系统,它充分利用内存,因此运行快;它释放了更多的API,因此编写简单(Scala语言)。它很可能在将来替代Hadoop中的MapReduce。其他技术在处理时效性方面都无法达到实时或准实时的地步,但是在某些场景,比如算法交易、欺诈检测、实时处理等方面,需要从大量的信息中及时发现潜在模式,这种情况下,就要使用流处理的技术——Stream。Lambda架构提供了一个流处理和批处理联合的最佳实践。

因此,有必要提供出一种可以对各种数据源中的位置数据进行采集分析、记录所有相关的位置,根据各个位置获取时间及相关事件通过特定的算法,将所有的位置信息进行整合,为上层应用提供最准确、最实时的位置数据的基于Spark集群的多数据源位置信息融合方法。



技术实现要素:

本发明的目的在于提供一种可以对各种数据源中的位置数据进行采集分析、记录所有相关的位置,根据各个位置获取时间及相关事件通过特定的算法,将所有的位置信息进行整合,为上层应用提供最准确、最实时的位置数据的基于Spark集群的多数据源位置信息融合方法。

本发明的技术方案如下:一种基于Spark集群的多数据源位置信息融合方法,包括如下步骤:

一、通过接口接收海量位置信息数据,所述位置信息数据来源于省级运营商的信令采集系统以及互联网用户行为大数据平台;

二、通过预处理程序将采集到的文本文件进行加密、清洗,剔除无效数据,处理后的数据实时放入Kafka中;

三、通过Spark Streaming对实时的数据进行处理,包括对实时位置的计算、融合、统计、轨迹生成操作获得全量位置信息,并将处理后的所述全量位置信息存入到Redis数据库中;

四、在所述Redis数据库中,按设定的周期对所述全量位置信息进行切片导出,将导出的数据存入到HDFS中,通过Spark SQL接口提供给上层应用调用查询历史数据。

优选地,在步骤二中通过预处理程序将采集到的文本文件进行加密、清洗,剔除无效数据步骤包括如下步骤:

通过Socket接口,从信令共享平台接收实时的信令数据,从无线网优平台获取无线网优话单数据;

对每一条信令数据进行判断处理,收取与位置相关的信令信息;

对信令数据进行清洗过滤,剔除字段缺失、字段异常等错误或无效的数据;

对获取的位置信令信息与标准化的基站基础信息进行匹配关联,得到经纬度信息。

优选地,所述步骤一中,所述位置信息数据包括基站位置数据、通话短信数据、无线话单数据信息、GPS数据、Wifi上网记录数据和4G信令数据。

优选地,在步骤三中,融合遵循数据准确度优先级,越精确的数据优先级最高,数据精确性优先级从高到低为GPS数据、4G数据、2G/3G基站位置数据。

优选地,在步骤四中,对于Redis中的实时位置数据,可以提供实时的API查询统计数据,供上层应用使用。

一种根据上述基于Spark集群的多数据源位置信息融合方法的系统,包括:实时数据采集过滤模块、实时数据融合模块和数据分析扩散模块,所述实时数据采集过滤模块,用于通过接口接收海量位置信息数据,并通过预处理程序将采集到的文本文件进行加密、清洗,剔除无效数据,处理后的数据实时放入Kafka中;所述实时数据融合模块,用于通过Spark Streaming对实时的数据进行处理,包括对实时位置的计算、融合、统计、轨迹生成操作获得全量位置信息,并将处理后的所述全量位置信息存入到Redis数据库中;所述数据分析扩散模块,用于按设定的周期对所述全量位置信息进行切片导出,将导出的数据存入到HDFS中,通过Spark SQL接口提供给上层应用调用查询历史数据。

优选地,在所述实时数据融合模块中,融合遵循数据准确度优先级,越精确的数据优先级最高,数据精确性优先级从高到低为GPS数据、4G数据、2G/3G基站位置数据。

优选地,在所述数据分析扩散模块中,基于融合性数据源,利用Spark集群离线计算能力,对HDFS中的存量数据进行分析、统计、扩样,并封装成相应的API接口。

本发明提供的技术方案具有如下有益效果:

1.基于位置信息形成融合的、标准化的位置输出能力。通过从移动网DPI中提取基站小区位置、从移动网DPI中提取GPS位置信息、从4G信令数据中提取基站位置信息,弥补单一从2G基站获取的位置信息精度不高及实时性不高的问题。融合多数据源后,形成的位置数据基础能力,提高用户位置信息的精确度、持续性、完整性,形成完整的位置信息能力输出。

2.利用Spark计算集群的实时处理能力,对海量的多数据源实现不间断的连续在线处理分析,处理能力达到每秒20000条以上记录,处理的时延小于5min,而传统的数据入库-处理-分析的流程,至少有3-6个小时的时延,无法提供实时准确的位置数据。同时,使用Spark的离线数据分析处理能力对历史存量数据进行挖掘分析,相较于传统的Map/Reduce的方式提高了10倍以上的性能。

3.形成基于位置数据的实时应用能力。基于实时的位置数据,以系统的方式提供:实时客流分析,游客来源地分析,游客属性分析,停留时间统计,客流对比分析,客流预测分析,景区关联分析等实时分析功能。

附图说明

图1是本发明实施例提供的基于Spark集群的多数据源位置信息融合方法的流程示意图;

图2是图1所示基于Spark集群的多数据源位置信息融合方法的数据处理流程示意图;

图3是图1所示基于Spark集群的多数据源位置信息融合方法的实时数据采集过滤的流程示意图;

图4是图1所示基于Spark集群的多数据源位置信息融合方法的实时数据融合的流程示意图;

图5是基于图1所示基于Spark集群的多数据源位置信息融合方法的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。

请同时参阅图1和图2,本发明实施例提供的基于Spark集群的多数据源位置信息融合方法包括如下步骤:

一、通过接口接收海量位置信息数据,所述位置信息数据来源于省级运营商的信令采集系统以及互联网用户行为大数据平台。

具体地,在步骤一中,所述位置信息数据包括基站位置数据、通话数据、无线话单数据信息、GPS数据、Wifi上网记录数据和4G信令数据。

如图3所示,所述基站位置数据包括用户的号码、IMSI、上报时间、基站小区等基础信息;所述通话短信数据包括主被叫用户号码、IMSI、时间、基站小区等基础信息;所述无线话单数据信息包括包括用户IMSI、时间、基站信息、相邻基站(用于三点定位);所述GPS数据提取自DPI中APP软件(如百度地图等)上报的用户实时GPS经纬度;所述Wifi上网记录数据包括使用公共Wifi用户号码、时间、热点位置等信息;所述4G信令数据包括用户号码、IMSI、4G基站、时间等信息。

二、通过预处理程序将采集到的文本文件进行加密、清洗,剔除无效数据,处理后的数据实时放入Kafka中。

具体地,步骤二中通过预处理程序将采集到的文本文件进行加密、清洗,剔除无效数据步骤包括如下步骤:

通过Socket接口,从信令共享平台接收实时的信令数据,从无线网优平台获取无线网优话单数据;

对每一条信令数据进行判断处理,收取与位置相关的信令信息;

对信令数据进行清洗过滤,剔除字段缺失、字段异常等错误或无效的数据;

对获取的位置信令信息与标准化的基站基础信息进行匹配关联,得到经纬度信息。

其中,所述信令信息包括包括2\3G周期性位置更新、通话、短信,4G的S1MME控制信令,而且信令中包含的基站小区编号(2、3G为CI,4G为ECI)标识了当前记录所在的位置。进一步的,在对所述信令数据处理过程中,可以实现每秒8000条的处理性能。

三、通过Spark Streaming对实时的数据进行处理,包括对实时位置的计算、融合、统计、轨迹生成操作获得全量位置信息,并将处理后的所述全量位置信息存入到Redis数据库中。

具体地,基于单一数据源的位置数据并不能包含准确全面的信息,因此需要进行多数据源的整合。在步骤三中,位置数据融合多数据源的数据,包括基站位置数据、通话数据、短信数据、GPS数据以及4G信令数据等。

而且,在步骤三中,融合遵循数据准确度优先级,越精确的数据优先级最高,数据精确性优先级从高到低为GPS数据、4G数据、2G/3G基站位置数据。此外,最近更新的数据也拥有高优先级,位置融合需满足的规则如图4所示。

四、在所述Redis数据库中,按设定的周期对所述全量位置信息进行切片导出,将导出的数据存入到HDFS中,通过Spark SQL接口提供给上层应用调用查询历史数据。

具体地,在步骤四中,对于Redis中的实时位置数据,可以提供实时的API查询统计数据,供上层应用使用。

进一步的,在步骤四中,还可以基于融合性数据源,利用Spark集群离线计算能力,对HDFS中的存量数据进行分析、统计、扩样,以形成一些固化的业务能力,封装成相应的API接口,供其他业务系统使用。

如图5所示,一种根据图1所示的基于Spark集群的多数据源位置信息融合方法的系统,包括:实时数据采集过滤模块10、实时数据融合模块20和数据分析扩散模块30。

其中,所述实时数据采集过滤模块10用于通过接口接收海量位置信息数据,并通过预处理程序将采集到的文本文件进行加密、清洗,剔除无效数据,处理后的数据实时放入Kafka中。

具体地,在所述实时数据采集过滤模块10中,通过Socket接口、FTP传输方式,将原始的清单数据实时收集到采集接口机上,在采集机上通过预处理程序对不同源的数据进行格式和加密预处理,形成统一格式的位置信息源文件。同时,对原始信息中的无效、错误数据进行过滤。

所述实时数据融合模块20用于通过Spark Streaming对实时的数据进行处理,包括对实时位置的计算、融合、统计、轨迹生成操作获得全量位置信息,并将处理后的所述全量位置信息存入到Redis数据库中。

具体地,在所述实时数据融合模块20中,利用Spark集群的处理能力,对采集并预处理之后的文件进行实时处理,根据数据源的类型的准确度,依据GPS、WiFi、无线话单、4G信令、2G信令的优先级进行排序,如用户在同一时间片(5min内)收到多个数据源的数据,将以上述优先级提取用户的位置信息。并且根据每种数据源的特点,都有设置相应的有效时长,在有效时间内,除非有更高优先级的数据源数据被采集到,否则不会更新用户当前位置。融合后的数据保存在Redis数据库中,并且按周期导出到HDFS中存储。

所述数据分析扩散模块30用于按设定的周期对所述全量位置信息进行切片导出,将导出的数据存入到HDFS中,通过Spark SQL接口提供给上层应用调用查询历史数据。

具体地,在所述数据分析扩散模块30中,基于融合性数据源,利用Spark集群离线计算能力,对HDFS中的存量数据进行分析、统计、扩样,并封装成相应的API接口。

需要说明的是,在所述数据分析扩散模块30中,由样本用户到全量用户的反推,具备较高的精确度。样本估计值的精确度,与样本量的绝对大小关系密切,与样本在总体中的比例关系不大,在实际抽样过程中,抽样的样本量是总体的25%(电信的市场占有量)抽样准确度达到99.9%。因此理论上,具备反推全量可行性。

基于统计分析与数据挖掘方法,建立反推模型,进而计算指定区域全量用户流量。

基于多种算法进行训练建模。选定一元及多元线性回归进行算法拟合,计算最优解;利用n-fold交叉验证及均方误差(MSE)进行算法调优。基于更多的训练数据,可以进行省内各地市及省外的多元线性与非线性回归进行算法拟合,训练效果可以有一定的提高。

在本实施例中,所述系统基于融合的位置数据源,能够提供如下基础的位置能力输出:

一、实时客流量

基于融合后用户的位置信息,选定指定的区域范围(如风景区、商圈、交通枢纽等)的实时用户数量及指定时间范围内(一天、一周等)的用户数量。

二、轨迹合成与输出

以用户号码为主键,时间轴的5分钟或1分钟为时间间隔,数据集为某一点位置,位置信息包含了2/3/4G的CI经纬度,覆盖区域,DPI经纬度信息,景点或商圈信息,以及在这个点的其他扩展信息,例如停留时长,为后续应用提供过滤条件。

轨迹可分为实时的轨迹与每天的轨迹,每天的轨迹数据都保存在Hadoop等大数据平台内,实时数据保存在内存数据库Redis内。对外输出提供Restful等API,提供大数据平台通过Spark离线分析来计算。

三、位置信息切片输出

实现全量的用户实时位置数据定时导出并入库,供用户位置轨迹查询时使用,同时也可以通过ftp方式共享,供其它应用系统使用。

四、实时位置查询

基于用户位置信息,查询用户实时的位置信息,以及用户当天(前N小时)的轨迹查询。查询的结果一方面可以通过API接口提供给其他应用,也可以在平台的地图上进行呈现。对于特定的区域(如商圈、酒店、风景区等)范围内的实时用户,查询其之前一段时间在城市的分布区域及来源轨迹。

五、网格化地理位置

由于各种数据源的位置是不标准、不统一的,基于融合数据后的位置信息,都要使用统一为经纬度的方式,最后将所有的区域已网格化的方式进行输出,应用系统可通过网格化的数据进行统计分析及展现。

六、位置数据核准

通过对DPI上网数据的挖掘与分析,可从中获取用户上网时,所在的精确位置,通过长久大量的数据分析,可比较精确的画出无线基站的覆盖范围。最终可用于无线基站无线范围覆盖的清晰范围,为故障定位,设备维护等提供了方便。并为位置的相关应用提供了基础数据。

七、用户出行及速度计算

通过用户轨迹、位置数据,结合道路和基站分布、公交、轨道交通等分布信息,根据用户实时位置变动信息,测算用户移动速度,进而确定用户出行方式。

应用点有交通枢纽的人流、速度计算,拥堵的情况的预测等。

相较于现有技术,本发明实施例具有如下有益效果:

1.基于位置信息形成融合的、标准化的位置输出能力。通过从移动网DPI中提取基站小区位置、从移动网DPI中提取GPS位置信息、从4G信令数据中提取基站位置信息,弥补单一从2G基站获取的位置信息精度不高及实时性不高的问题。融合多数据源后,形成的位置数据基础能力,提高用户位置信息的精确度、持续性、完整性,形成完整的位置信息能力输出。

2.利用Spark计算集群的实时处理能力,对海量的多数据源实现不间断的连续在线处理分析,处理能力达到每秒20000条以上记录,处理的时延小于5min,而传统的数据入库-处理-分析的流程,至少有3-6个小时的时延,无法提供实时准确的位置数据。同时,使用Spark的离线数据分析处理能力对历史存量数据进行挖掘分析,相较于传统的Map/Reduce的方式提高了10倍以上的性能。

3.形成基于位置数据的实时应用能力。基于实时的位置数据,以系统的方式提供:实时客流分析,游客来源地分析,游客属性分析,停留时间统计,客流对比分析,客流预测分析,景区关联分析等实时分析功能。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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