基于信令大数据的用户出行轨迹提取方法和系统技术方案

技术编号:24331034 阅读:22 留言:0更新日期:2020-05-29 19:36
本发明专利技术公布了一种基于信令大数据的用户出行轨迹提取方法和系统,用于从海量信令数据中挖掘用户出行轨迹序列,在离线轨迹提取的过程中获取用户位置切换数据序列,利用停留时间检测用户驻留点并提取用户离线轨迹;在实时轨迹提取中,利用流式计算和Geohash计算,记录每个用户当前所处的Geohash网格,使用Geohash网格作为驻留点,并生成新的驻留点,从而获取实时轨迹数据。采用本发明专利技术提供的技术方案,能够提取用户实时轨迹和离线轨迹,灵活性高。

Method and system of user travel path extraction based on signaling big data

【技术实现步骤摘要】
基于信令大数据的用户出行轨迹提取方法和系统
本专利技术涉及一种基于信令大数据的实时和离线双对照用户出行轨迹提取方法和系统,用于从海量信令数据中挖掘用户出行轨迹序列,属于计算机软件技术和信令大数据挖掘

技术介绍
无线通信技术的发展使得手机等移动设备使用率日益增高,进入5G时代,手机等移动设备在使用无线通信服务过程中产生的信令大数据又将迎来爆发式增长。信令数据包含了用户通话、位置更新、上网等丰富的信息,特别是其中的位置信息,由于其用户覆盖率高、数据连续性好,可以为城市人口统计、用户出行方式识别、人群聚集预警等应用提供服务。用户轨迹的提取是信令数据基于位置的服务(LocationBasedService,简称LBS)的基础,如何高效、准确地从信令大数据中提取用户轨迹序列具有重要意义。彭大芹、谷勇等人提出了一种基于聚类的用户轨迹提取方法,用于识别用户驻留点。这是一种离线的轨迹提取方法,且基于聚类算法进行轨迹提取,在海量信令数据的分析中计算复杂度较高。在信令大数据的基于位置的服务系统中,一方面会有诸如城市人口统计、人口职住识别等离线轨迹提取可以满足的应用,另一方面也有安全部门特定人员轨迹实时查询、城市交通实时预测等依赖实时轨迹数据的应用。而且,根据统计,每天的信令数据接近千亿,如何在海量信令数据中提取用户轨迹数据,满足实时和离线的LBS应用,具有重要研究意义。
技术实现思路
为了克服上述现有技术存在的不足,解决百亿信令大数据基于位置的服务LBS系统中轨迹数据提取的问题,本专利技术提出了一种基于信令大数据的实时和离线双对照用户轨迹提取方法和系统,能够提取用户实时轨迹和离线轨迹,灵活性高。本专利技术在离线轨迹提取的过程中获取用户位置切换数据序列,利用停留时间检测用户驻留点并提取用户离线轨迹,在千亿量级信令大数据中能够以较低计算复杂度完成用户轨迹提取。实时轨迹提取中,利用流式计算和Geohash计算(Geohash是一种地理编码系统,把地理空间分为网格,把二维的经纬度转换为一维的字符串序列,字符串长度越长,表示的精度越高),记录每个用户当前所处的Geohash网格,使用Geohash网格作为驻留点,只有当用户位置移动超出当前网格范围时,才生成新的驻留点,从而获取实时轨迹数据。实时和离线双对照轨迹提取使用简单的比较运算,在千亿量级信令大数据中,高效快速获取用户轨迹,实时轨迹服务于即时、快速的模糊查询,离线轨迹适用于准确、完整的用户轨迹刻画场景。本专利技术提供的技术方案是:一种基于信令大数据的实时和离线用户轨迹提取方法,包括以下步骤:首先,通过Kafka消息队列接入实时信令数据,并对实时信令数据进行存储。Kafka是Apache开源的流处理平台,是一种高吞吐量的分布式发布订阅消息系统。第二步,对一段时间内的全量信令数据按照用户ID进行分组计算,并在每个用户组内按照信令生成时间对该用户的全部信令数据进行排序,得到该用户的有序信令数据。时间段可以选择一小时到24小时;一段时间内的全量信息数据是这段时间的实时信令数据汇集后的数据。第三步,对每个用户的有序信令数据,按照基站或位置生成用户基站或位置(经纬度坐标)切换数据,具体方法是:比较用户有序信令数据前后相邻数据的基站或位置,当且仅当基站或位置发生变化时才生成一条新的数据,并认为用户在当前基站或位置的出现时间是用户离开上一个基站或位置的时间,两个时间之差是用户在上一个基站或位置的停留时间;由此得到每个用户的基站或位置切换数据。第四步,基于每个用户的基站或位置切换数据,检测用户驻留点:比较用户在每个基站或位置的停留时间与给定阈值(阈值可取100秒)的大小,仅当停留时间大于给定阈值时,才认为该基站或位置是用户驻留点。如果用户在某个基站或位置的停留时间小于等于给定阈值,则比较该基站或位置与用户上一个基站或位置、下一个基站或位置的距离,把用户在该基站或位置的停留时间累加到距离其较近的那个基站或位置点上。第五步,根据用户驻留点检测结果,得到每个用户的离线轨迹数据,包括:用户ID、基站或位置信息、出现时间、离开时间、停留时间。第六步,对用户离线轨迹数据进行存储,可以存储在分布式文件系统或数据仓库中,按天、小时进行分区以便于检索;同时为方便交互式快速查询和分析,离线轨迹数据可以存入OLAP数据库。第七步,通过Kafka消息队列订阅实时信令数据,对每个用户的数据维护一个状态(用户状态数据),记录当前驻留点、用户在当前驻留点的出现时间、上一个驻留点(geohash字符串)。实时轨迹数据中,用基站经纬度计算geohash,并选择6-8位长度的geohash作为用户驻留点,这样用户在一定范围内活动时,均被认为是在同一个驻留点,只有较大距离的位置移动,才会产生新的驻留点。第八步,基于第七步的用户状态数据,每当到来一条新的该用户信令数据时,比较新的该用户信令数据与用户状态数据的指定长度的geohash字符串是否相同,当前仅当指定长度的geohash字符串发生变化时,更新该用户的状态为新的该用户信令数据的指定长度的geohash字符串、出现时间和上一个geohash字符串。第九步,基于第八步的结果,每当用户状态发生变化时,输出一条用户当前实时轨迹数据日志,包括:驻留点、出现时间、离开时间、停留时间、上一个驻留点及下一个驻留点信息,从而得到用户包含当前最新位置的实时轨迹序列。第十步,用户实时轨迹数据存储,可以存储在分布式文件系统或数据仓库中,按天、小时进行分区以便于检索;同时为方便快速查询,实时轨迹数据可以存入Key-Value数据库中,以用户ID为Key。基于上述方法,本专利技术具体实现了一种基于信令大数据的实时和离线用户轨迹大数据提取系统,包括以下模块:信令数据接入模块:通过Kafka消息队列等方式接入实时信令数据,并对实时信令数据进行存储。用户离线轨迹提取模块:对一段时间内的全量信令数据按照用户ID进行分组,并在每个用户组内按照信令产生时间进行排序,得到每个用户的有序信令数据。基于用户信令数据中基站或位置提取用户驻留点,并得到用户在每个驻留点的出现时间、离开时间、停留时间、上一个驻留点及下一个驻留点信息,从而得到用户在这一段时间的离线轨迹序列。用于计算离线轨迹的信令数据时间周期可选择从一小时到24小时。用户离线轨迹存储模块:用户离线轨迹数据可以存储在分布式文件系统或数据仓库中,按天、小时进行分区以便于检索;同时为方便交互式快速查询和分析,离线轨迹数据可以存入OLAP数据库。用户实时轨迹提取模块:通过Kafka消息队列订阅实时信令数据,对每个用户的数据维护一个状态,记录当前位置、出现入时间、上一个位置,当到来一条新的该用户信令数据时,比较位置,当前仅当位置发生变化时,更新该用户的状态为最新位置(驻留点)、出现时间和上一个位置,并输出一条该用户日志,包括:驻留点、出现时间、离开时间、停留时间、上一个驻留点及下一个驻留点信息,从而得到用户包含当前最新位置的实时轨迹序列。用户实时轨迹存储模本文档来自技高网...

【技术保护点】
1.一种基于信令大数据的实时和离线用户轨迹提取方法,包括以下步骤:/n首先,通过流处理平台Kafka消息队列接入实时信令数据,并对实时信令数据进行存储;/n第二步,对一段时间内实时信令数据汇集后得到的全量信令数据,按照用户ID进行分组计算,并在每个用户组内按照信令生成时间对该用户的全部信令数据进行排序,得到该用户的有序信令数据;/n第三步,对每个用户的有序信令数据,按照基站或经纬度坐标位置生成用户基站或位置切换数据;/n第四步,基于每个用户的基站或位置切换数据,检测用户驻留点;/n具体方法是:比较用户在每个基站或位置的停留时间与给定阈值的大小,仅当停留时间大于给定阈值时,该基站或位置是用户驻留点;如果用户在某个基站或位置的停留时间小于等于给定阈值,则比较该基站或位置与用户上一个基站或位置、下一个基站或位置的距离,把用户在该基站或位置的停留时间累加到距离其较近的那个基站或位置点上;/n第五步,根据用户驻留点检测结果,得到每个用户的离线轨迹数据,包括:用户ID、基站或位置信息、出现时间、离开时间、停留时间;/n第六步,对用户离线轨迹数据进行存储;/n第七步,通过Kafka消息队列订阅实时信令数据,维护用户状态数据,记录当前驻留点、用户在当前驻留点的出现时间、上一个驻留点;采用实时轨迹数据中的基站经纬度进行驻留点的geohash计算,并选择设定长度的geohash字符串作为用户驻留点;/n第八步,基于第七步的用户状态数据,每当到来一条新的该用户信令数据时,比较新的该用户信令数据与用户状态数据的指定长度的geohash字符串是否相同,当前仅当指定长度的geohash字符串发生变化时,更新该用户的状态为新的该用户信令数据的指定长度的geohash字符串、出现时间和上一个geohash字符串;/n第九步,每当用户状态发生变化时,输出一条用户当前实时轨迹数据日志,包括:驻留点、出现时间、离开时间、停留时间、上一个驻留点及下一个驻留点信息,从而得到用户包含当前最新位置的实时轨迹序列;/n第十步,存储用户实时轨迹数据;/n通过上述步骤,实现基于信令大数据的实时和离线用户轨迹提取。/n...

【技术特征摘要】
1.一种基于信令大数据的实时和离线用户轨迹提取方法,包括以下步骤:
首先,通过流处理平台Kafka消息队列接入实时信令数据,并对实时信令数据进行存储;
第二步,对一段时间内实时信令数据汇集后得到的全量信令数据,按照用户ID进行分组计算,并在每个用户组内按照信令生成时间对该用户的全部信令数据进行排序,得到该用户的有序信令数据;
第三步,对每个用户的有序信令数据,按照基站或经纬度坐标位置生成用户基站或位置切换数据;
第四步,基于每个用户的基站或位置切换数据,检测用户驻留点;
具体方法是:比较用户在每个基站或位置的停留时间与给定阈值的大小,仅当停留时间大于给定阈值时,该基站或位置是用户驻留点;如果用户在某个基站或位置的停留时间小于等于给定阈值,则比较该基站或位置与用户上一个基站或位置、下一个基站或位置的距离,把用户在该基站或位置的停留时间累加到距离其较近的那个基站或位置点上;
第五步,根据用户驻留点检测结果,得到每个用户的离线轨迹数据,包括:用户ID、基站或位置信息、出现时间、离开时间、停留时间;
第六步,对用户离线轨迹数据进行存储;
第七步,通过Kafka消息队列订阅实时信令数据,维护用户状态数据,记录当前驻留点、用户在当前驻留点的出现时间、上一个驻留点;采用实时轨迹数据中的基站经纬度进行驻留点的geohash计算,并选择设定长度的geohash字符串作为用户驻留点;
第八步,基于第七步的用户状态数据,每当到来一条新的该用户信令数据时,比较新的该用户信令数据与用户状态数据的指定长度的geohash字符串是否相同,当前仅当指定长度的geohash字符串发生变化时,更新该用户的状态为新的该用户信令数据的指定长度的geohash字符串、出现时间和上一个geohash字符串;
第九步,每当用户状态发生变化时,输出一条用户当前实时轨迹数据日志,包括:驻留点、出现时间、离开时间、停留时间、上一个驻留点及下一个驻留点信息,从而得到用户包含当前最新位置的实时轨迹序列;
第十步,存储用户实时轨迹数据;
通过上述步骤,实现基于信令大数据的实时和离线用户轨迹提取。


2.如权利要求1所述的基于信令大数据的实时和离线用户轨迹提取方法,其特征是,第三步生成用户基站或位置切换数据,具体方法是:
比较用户有序信令数据前后相邻数据的基站或位置,当且仅当基站或位置发生变化时,则生成一条新的数据,且用户在当前基站或位置的出现时间是用户离开...

【专利技术属性】
技术研发人员:司俊俊羊晋刘智超夏水军涂波
申请(专利权)人:邑客得上海信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1