本申请涉及大数据数据采集与分析领域,特别是涉及一种轨迹分析方法、装置、电子设备及存储介质。
背景技术:
目前,基于wifi(wirelessfidelity,无线保真)探针等探测装置来探测电子设备的mac(mediaaccesscontrol,媒体访问控制)地址,并生成关于mac地址的采集记录,进而,利用各条采集记录,来生成具有mac地址的电子设备的运行轨迹,是一种常用的轨迹分析手段。其中,该条采集记录中除了包括mac地址,还包括mac地址对应的探测时间和mac地址对应的探测装置的探测位置,以及探测装置的标识信息等信息,其中,mac地址对应的探测时间为探测到mac地址的时间,而mac地址对应的探测装置为探测到mac地址的探测装置。
现有技术中,轨迹分析方法包括:获取关于mac地址的采集记录,以采集记录中的探测位置,作为驻留位置,按照探测时间的先后顺序,排列各个驻留位置,从而生成具有该mac地址的电子设备的运动轨迹。
然而,由于一个地区通常设置有多个探测装置,因此,可能会存在重叠采集的问题,即一个mac地址在一个采集周期内被多个探测装置采集到,从而形成多条采集记录。那么,在按照现有技术生成轨迹时,发生重叠采集的各个探测装置的探测位置会重复的作为不同的驻留位置,这样无疑导致运动轨迹较为混乱。
技术实现要素:
本申请实施例的目的在于提供一种轨迹分析方法、装置、电子设备及存储介质,以解决现有技术中运动轨迹混乱的问题。具体技术方案如下:
第一方面,本申请实施例提供了一种轨迹分析方法,包括:
获取关于媒体访问控制mac地址的目标序列,其中,所述目标序列中包括按照探测时间排序的关于所述mac地址的多条采集记录;
根据所述采集记录中的探测位置,得到位置集合,所述位置集合中包括符合探测位置合并条件的各条采集记录中的各个探测位置;
根据所述符合探测位置合并条件的采集记录的探测时间,生成所述位置集合对应的第一探测时间;
基于所述位置集合和目标探测位置,以及所述位置集合对应的第一探测时间和所述目标探测位置对应的第二探测时间,生成具有所述mac地址的电子设备的运动轨迹;
其中,所述目标探测位置为未进行探测位置合并处理的采集记录中的探测位置,所述第二探测时间为所述未进行探测位置合并处理的采集记录中的探测时间。
第二方面,本申请实施例提供了一种轨迹分析装置,包括:
序列获取模块,用于获取关于媒体访问控制mac地址的目标序列,其中,所述目标序列中包括按照探测时间排序的关于所述mac地址的多条采集记录;
集合确定模块,用于根据所述采集记录中的探测位置,得到位置集合,所述位置集合中包括符合探测位置合并条件的各条采集记录中的各个探测位置;
时间生成模块,用于根据所述符合探测位置合并条件的采集记录的探测时间,生成所述位置集合对应的第一探测时间;
轨迹生成模块,用于基于所述位置集合和目标探测位置,以及所述位置集合对应的第一探测时间和所述目标探测位置对应的第二探测时间,生成具有所述mac地址的电子设备的运动轨迹;
其中,所述目标探测位置为未进行探测位置合并处理的采集记录中的探测位置,所述第二探测时间为所述未进行探测位置合并处理的采集记录中的探测时间。
第三方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本申请所提供的轨迹分析方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请所提供的轨迹分析方法的步骤。
本发明实施例所提供的方案中,根据目标序列所包括采集记录中的探测位置,进行探测位置合并处理,得到位置集合,进而,利用位置集合和未进行探测位置合并处理的采集记录中的探测位置,以及两类位置各自对应的探测时间,来生成具有该mac地址的电子设备的运动轨迹。相对于现有技术而言,本方案中,通过对探测位置进行合并,可以将属于重叠采集的采集记录中的探测位置合并至同一位置集合中,进而,在生成轨迹时,利用位置集合和未进行探测位置合并处理的采集记录中的探测位置来生成运动轨迹,可以避免发生重叠采集的各个探测装置的探测位置重复的作为不同的驻留位置。因此,通过本方案可以解决现有技术中轨迹混乱的问题。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1(a)为存在重叠区域的两个探测装置的区域关系示意图;
图1(b)为存在重叠区域的两个探测装置的另一区域关系示意图;
图1(c)为一个探测装置进行重复采集的示意图;
图1(d)为按照现有技术所生成的运动轨迹的地图示意图;
图1(e)为按照本申请实施例所提供的方法对图1(d)所依据的各个探测位置进行合并后,所形成的合并区域的地图示意图;
图1(f)为按照本申请实施例所提供的轨迹分析方法所生成的运动轨迹的地图示意图;
图2为本申请实施例所提供的一种轨迹分析方法的流程图;
图3为本申请实施例所提供的一种轨迹分析方法的另一流程图;
图4为本申请实施例所提供的一种轨迹分析方法的时序图;
图5为本申请实施例所提供的一种轨迹分析装置的结构示意图;
图6为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,轨迹分析方法包括:获取关于mac地址的采集记录,以采集记录中的探测位置,作为驻留位置,按照探测时间的先后顺序,排列各个驻留位置,从而生成具有该mac地址的电子设备的运动轨迹。
然而,由于一个地区通常设置有多个探测装置,因此,可能会存在重叠采集的问题,即一个mac地址在一个采集周期内被多个探测装置采集到,从而形成多条采集记录。示例性的,参见图1(a)所示,在一个地区中设置有探测装置1和探测装置2,探测装置1的探测区域和探测装置2的探测区域存在部分重叠,那么,针对目标设备而言,当该目标设备进入重叠区域时,该目标设备的mac地址在一个采集周期内可能被探测装置1和探测装置2采集到,从而形成多条采集记录;类似的,参见图1(b)所示,在一个地区中设置探测装置1和探测装置2,探测装置2的探测区域全部包含于探测装置1的探测区域中,那么,针对目标设备而言,当目标设备进入探测装置2的探测区域时,该目标设备的mac地址在一个采集周期内可能被探测装置1和探测装置2采集到,从而形成多条采集记录。
由于存在上述的重叠采集的问题,因此,在按照现有技术生成轨迹时,发生重叠采集的各个探测装置的探测位置会重复的作为不同的驻留位置,这样无疑导致运动轨迹较为混乱。示例性的,图1(d)给出了按照现有技术所生成的位于地图中的一条运动轨迹,其中,图1(d)所示地图中的各个黑色圆点为设备的驻留位置,设备的运动轨迹为通过将各个驻留位置按照时间顺序相连接所得到。可见,该条件运动轨迹的轨迹较为混乱。
为了解决现有技术问题,本申请实施例提供了一种轨迹分析方法、装置、电子设备及存储介质。
其中,本申请实施例所提供的一种轨迹分析方法可以应用于终端设备或服务器。具体而言,该轨迹分析方法的执行主体可以为运行于终端或服务器中的轨迹分析装置。
示例性的,该轨迹分析装置可以为was(wireless-fidelityanalysisservice,无线保真分析服务)平台,或者,也可以为运行于电子设备中的其他用于实现轨迹分析的分析装置。需要说明的是,was平台可以与wbp(wireless-fidelitybasisplatform,无线保真基础平台)、ude(unifieddevelopmentenvironment,跨平台发组件)检索模块、es(elasticsearch,弹性搜索)模块以及hbase(hadoopdatabase,分布式数据库)协同工作,完成关于mac地址的采集记录的存储以及分析处理。
其中,was也称为探针大数据服务平台,其用于为用户的操作提供结果展示,例如,was可以用于展示采集记录的查询结果、轨迹查询结果或者统计查询结果等。wbp也称为探针大数据基础服务平台,其用于实现数据采集、采集记录检索、轨迹检索、统计计算等功能。ude为关系型检索组件,其用于对非关系型数据做关系型检索。es为一个分布式多用户能力的全文搜索引擎。hbase为一个分布式的、面向列的开源数据库,其具有可靠性高、性能高、面向列和可伸缩等优点。
为了方案清楚及布局清晰,下文中详细介绍was平台如何与wbp、ude、es、hbase各个功能模块协同工作,完成轨迹分析的过程。如图2所示,本申请实施例提供了一种轨迹分析方法,可以包括如下步骤:
s201,获取关于媒体访问控制mac地址的目标序列;
其中,该目标序列中包括按照探测时间排序的关于该mac地址的多条采集记录。
在关于该mac地址的采集记录被预先存储后,为了实现对mac地址的轨迹分析,可以首先获取关于该mac地址的、按照探测时间排序的目标序列,进而利用该目标序列进行后续的轨迹分析处理。其中,关于该mac地址的采集记录中除了包括该mac地址,还可以包括该mac地址对应的探测时间和该mac地址对应的探测装置的探测位置等信息,其中,该mac地址对应的探测时间为探测到该mac地址的时间,而该mac地址对应的探测装置为探测到该mac地址的探测装置,例如:wifi(wirelessfidelity,无线保真)探针,或者其他具有mac地址探测功能的装置。
其中,任一种获取关于mac地址的目标序列的方式均可以应用于本申请实施例中。
示例性地,在一种实现方式中,获取关于媒体访问控制mac地址的目标序列,可以包括:从与该轨迹分析装置相通信的其他装置,例如:wbp,获取关于mac地址的目标序列;其中,该其他装置获取到数据库中存储的关于mac地址的多条采集记录后,基于关于mac地址的多条采集记录,生成目标序列。
示例性的,在另一种实现方式中,获取关于媒体访问控制mac地址的目标序列,可以包括:获取数据库中存储的关于mac地址的多条采集记录;基于关于mac地址的多条采集记录,生成目标序列。其中,该轨迹分析装置可以直接访问该数据库,从而获取到关于mac地址的多条采集记录;当然,该轨迹分析装置可以通过相通信的其他装置,例如:wbp,从数据库中获取到关于mac地址的多条采集记录。
针对上述任一种实现方式而言,获取关于该mac地址的多条采集记录的方式可以包括:从用于存储各mac地址的采集记录的数据库中,以该mac地址作为查询信息,读取关于媒体访问控制mac地址的多条采集记录。并且,当需要分析具有该mac地址的电子设备在指定时间范围内的运动轨迹时,所获取到的多条采集记录可以为指定时间范围内的采集记录,即每条采集记录中的探测时间位于该指定时间范围内。
针对上述任一种实现方式而言,基于关于mac地址的多条采集记录,生成目标序列的方式可以包括:按照采集记录中的探测时间的升序顺序,对多条采集记录进行排序,得到目标序列;或者,按照采集记录中的探测时间的升序顺序,对多条采集记录进行排序,得到初始序列;对该初始序列进行预处理,得到目标序列。需要说明的是,对该初始序列进行预处理,目的在于对所获取到的多条采集记录进行数据清洗,这样,在对目标序列进行处理时,减少数据处理量。为了方案清楚及布局清晰,下文对于对该初始序列进行预处理的具体实现方式进行介绍。
s202,根据该采集记录中的探测位置,得到位置集合,该位置集合中包括符合探测位置合并条件的各条采集记录中的各个探测位置;
考虑到发生重叠采集的各个探测装置的探测位置会重复作为驻留位置,从而导致现有技术所生成的运动轨迹较为混乱,因此,本实施例中,在获取到关于该mac地址的目标序列后,并不是直接基于该目标序列中各条采集记录中的探测时间和探测位置,来生成具有该mac地址的电子设备的运动轨迹,而是,对目标序列中的采集记录进行探测位置合并分析。可以理解的是,通过s202的处理后,所得到的位置集合的数量可以一个或多个,后续针对每个位置集合的处理均相同。
具体而言,本实施例中,在获取到目标序列后,对目标序列中符合探测位置合并条件的采集记录中的探测位置进行合并处理,得到位置集合,这样,后续生成运动轨迹时,通过在一个位置集合中选取一个探测位置,来避免发生重叠采集的各个探测装置的探测位置重复作为不同的驻留位置。可以理解的是,由于每一探测位置具有一探测区域,因此,通过对探测位置的合并,可以实现探测区域合并的效果,从而,后续在选择驻留位置时,一个探测区域中选取一个驻留位置即可。示例性地,在对图1(d)所示的各个探测位置所属的采集记录进行探测位置合并后,可以形成三个位置集合,参见图1(e)所示,每个圆圈内所包含的各个位置构成一个位置集合,且每个位置集合中的探测位置对应的探测区域构成一个合并区域,即每个圆圈所包含的区域,这样,在后续生成轨迹时,每个圆圈内可以选取一个驻留位置即可。
需要说明的是,在探测位置合并的过程中,可以保持目标序列中的多条采集记录不变,仅仅是对目标采集记录中各个探测位置进行合并处理,形成目标序列以外的位置集合。这样,可以保证后续可以依据目标序列进行关于该mac地址的其他分析处理。当然,在探测位置合并过程中,可以对目标序列中的采集记录进行变更,例如:当前后两条采集记录中的探测位置符合探测位置合并条件时,可以将后一条的采集记录中的探测位置添加至前一条采集记录中,在前一条采集记录中形成位置集合,此时,可以删除后一条采集记录,或者,将后一条采集记录进行标记,以使得该后一条记录不继续作为待分析的采集记录。
并且,根据该采集记录中的探测位置,得到位置集合的具体实现方式存在多种。示例性地,在一种实现方式中,将目标序列的各条采集记录中的探测位置,均作为待分析位置数据,得到多组待分析位置数据,其中,每组待分析位置数据包含相邻的两个待分析位置数据,且不同组别的待分析位置数据不同;针对每组待分析位置数据,判断该组待分析位置数据中探测位置是否符合探测位置合并条件;如果是,将该组待分析位置数据作为新的待分析位置数据;在产生新的待分析位置数据后,得到新的多组待分析位置数据,继续执行针对每组待分析位置数据,判断该组待分析位置数据中探测位置是否符合探测位置合并条件,直至不再产生新的待分析位置数据。这样,包含至少两个探测地址的待分析数据,即为一个位置集合。其中,关于探测位置合并条件的具体内容可以参见图3所示实施例中所给出的内容。
示例性的,另一种实现方式中,可以选取一个采集记录中探测位置作为当前位置数据的初始值,按照目标序列的顺序,依次判断当前位置数据与相邻的待分析位置数据是否符合探测位置合并条件,进而得到位置集合。
为了方案清楚及布局清晰,后续结合具体实施例,对该另一种实现方式中所述的根据该采集记录中的探测位置,得到位置集合的具体过程进行介绍。
s203,根据该符合探测位置合并条件的采集记录的探测时间,生成该位置集合对应的第一探测时间;
由于后续生成运动轨迹时,针对位置集合而言,该位置集合中的一个探测位置可以作为驻留位置,因此,可以为该位置集合,选取与该驻留位置相匹配的探测时间,从而为该驻留位置在运动轨迹中的排序位置提供时间依据。
其中,根据该符合探测位置合并条件的采集记录的探测时间,生成该位置集合对应的第一探测时间的生成方式,可以存在多种。
示例性的,在一种实现方式中,根据该符合探测位置合并条件的采集记录的探测时间,生成该位置集合对应的第一探测时间,可以包括:
对该符合探测位置合并条件的采集记录的探测时间进行求平均,得到平均值,作为该位置集合对应的第一探测时间。
示例性的,在一种实现方式中,根据该符合探测位置合并条件的采集记录的探测时间,生成该位置集合对应的第一探测时间,可以包括:
从该符合探测位置合并条件的采集记录的探测时间中,确定时间最早的探测时间,作为该位置集合对应的第一探测时间。
在该种实现方式中,选取时间最早的探测时间,不但可以为该驻留位置在运动轨迹中的排序位置提供时间依据,而且,针对在运动轨迹上体现时间信息的情况,能够展示出具有该mac地址的电子设备进入到该位置集合对应合并区域的起始时间,从而对于具有该mac地址的电子设备的行踪更加精细化。
上述的根据该符合探测位置合并条件的采集记录的探测时间,生成该位置集合对应的第一探测时间的仅仅作为示例。在保证能够为该驻留位置在运动轨迹中的排序位置提供时间依据的前提下,还可以采用其他实现方式,例如:确定从该符合探测位置合并条件的采集记录的探测时间中,确定时间最晚的探测时间,作为该位置集合对应的第一探测时间。
s204,基于该位置集合和目标探测位置,以及该位置集合对应的第一探测时间和该目标探测位置对应的第二探测时间,生成具有该mac地址的电子设备的运动轨迹;
其中,该目标探测位置为未进行探测位置合并处理的采集记录中的探测位置,该第二探测时间为该未进行探测位置合并处理的采集记录中的探测时间。
具体而言,基于该位置集合和目标探测位置,以及该位置集合对应的第一探测时间和该目标探测位置对应的第二探测时间,生成具有该mac地址的电子设备的运动轨迹,可以包括:
从构成该位置集合的多个探测位置中,选取一个中心位置,作为该位置集合对应的驻留位置,并以该位置集合对应的第一探测时间作为该驻留位置的探测时间;
根据该驻留位置和目标探测位置,以及该第一探测时间和该目标探测位置对应的第二探测时间,生成具有该mac地址的电子设备的运动轨迹。
其中,根据该驻留位置和目标探测位置,以及该第一探测时间和该目标探测位置对应的第二探测时间,生成具有该mac地址的电子设备的运动轨迹的具体实现方式,与现有技术中根据各个探测位置和各个探测位置所属采集记录中的探测时间,来生成运动轨迹的任一方式相同,在此不做限定。
另外,示例性的,在一种实现方式中,从构成该位置集合的多个探测位置中,选取一个中心位置,可以包括:
针对该位置集合中的每一探测位置,计算该探测位置与该位置集合中其他探测位置的总距离;
从该位置集合中,选取总距离最短的探测位置,作为该位置集合的中心位置。
考虑到总距离最短的探测位置对应的探测区域,可能为具有该mac地址的电子设备实际需要进入的探测区域,而同一位置集合中其他探测位置上的探测装置,可能在处于该总距离最短的探测位置处探测装置的基础上,发生了重叠采集,因此,本实现方式中,选取总距离最短的探测位置,作为该位置集合的中心位置,更贴合具有该mac地址的电子设备的实际运行轨迹。
需要强调的是,上述的从构成该位置集合的多个探测位置中,选取一个中心位置的具体实现方式仅仅作为示例,并不应该构成对本申请的限定。例如:可以从构成该位置集合的多个探测位置中,随机选取一个探测位置,作为中心位置;或者,从构成该位置集合的多个探测位置中,选取所属采集记录中探测时间最早的一个探测位置,作为中心位置。
为了方便理解轨迹分析效果,图1(f)给出对图1(e)所示轨迹中各个探测地址,按照本申请所提供的方案处理后的运动轨迹,其中,在图1(f)中,通过细线所示出的轨迹为按照现有技术所生成的,通过粗线所示出的轨迹为按照本申请所提供的方法所生成的。可见,按照本申请所提供的方法所生成的轨迹较为清晰,不存在混乱的问题。
本发明实施例所提供的方案中,根据目标序列所包括采集记录中的探测位置,进行探测位置合并处理,得到位置集合,进而,利用位置集合和未进行探测位置合并处理的采集记录中的探测位置,以及两类位置各自对应的探测时间,来生成具有该mac地址的电子设备的运动轨迹。相对于现有技术而言,本方案中,通过对探测位置进行合并,可以将属于重叠采集的采集记录中的探测位置合并至同一位置集合中,进而,在生成轨迹时,利用位置集合和未进行探测位置合并处理的采集记录中的探测位置来生成运动轨迹,可以避免发生重叠采集的各个探测装置的探测位置重复的作为不同的驻留位置。因此,通过本方案可以解决现有技术中轨迹混乱的问题。
为了方案清楚及布局清晰,下面对该初始序列进行预处理的具体实现方式进行介绍。
可选地,在一种实现方式中,对该初始序列进行预处理,可以包括:
如果该初始序列中相邻两条采集记录的探测装置的标识信息相同,则删除后一条记录;和/或,
如果该初始序列中相邻两条采集记录的探测装置的标识信息不同,则当判断出前一条采集记录中的探测时间与后一条采集记录中的探测时间的时间间隔小于预定的时间间隔阈值时,删除后一条采集记录。
考虑到针对该mac地址的采集可能存在重复采集问题,即该mac地址在一个探测区域内,连续多次被同一个探测装置采集到,从而形成多条采集记录,因此,如果该初始序列中相邻两条采集记录的探测装置的标识信息相同,则删除后一条记录,减少关于重复记录的分析。关于重复采集的问题,可以参见图1(c)所示的示意图,同一目标设备在探测装置的探测区域内由一个位置移动到另一位置,该探测装置3可以连续多次采集到该目标设备的mac地址,从而形成两条采集记录。
另外,由于同一个地区内可能存在多个探测装置,而多个探测装置可能存在重叠采集,因此,考虑到重叠采集的采集记录中的探测时间的时间间隔会很短,因此,可以从时间维度,对发生重叠采集的记录进行清洗处理。基于该种思想,如果该初始序列中相邻两条采集记录的探测装置的标识信息不同,则当判断出前一条采集记录中的探测时间与后一条采集记录中的探测时间的时间间隔小于预定的时间间隔阈值时,删除后一条采集记录。其中,该预定的时间间隔阈值可以基于探测装置的采集周期来设定,例如:设置为采集周期的周期时长,或者,小于采集周期的时长。当多个探测装置的采集周期的时长不同时,可以基于比例最大的采集周期来设定时间间隔阈值。
可选地,在另一种实现方式中,采集记录中还可以包括:关于该mac地址的最后探测时间,该最后探测时间的初始值为该条采集记录中的探测时间;
对该初始序列进行预处理,可以包括:
如果该初始序列中相邻两条采集记录的探测装置的标识信息相同,则将前一条采集记录中的最后探测时间,修改为后一条采集记录中的探测时间,并删除后一条采集记录;和/或,
如果该初始序列中相邻两条采集记录的探测装置的标识信息不同,则当判断出前一条采集记录中的最后探测时间与后一条采集记录中的探测时间的时间间隔小于预定的时间间隔阈值时,删除下一条采集记录。
在该种实现方式中,与上述实现方式类似,区别在于:以前一条采集记录中的最后探测时间和后一条采集记录中探测时间,作为从时间维度上判断两条采集记录是否属于重叠采集的依据。
下面结合具体实施例,对本申请实施例所提供的一种轨迹分析方法进行介绍。
如图3所示,本申请实施例提供了一种轨迹分析方法,可以包括如下步骤:
s301,获取关于媒体访问控制mac地址的目标序列;
其中,该目标序列中包括按照探测时间排序的关于所述mac地址的多条采集记录。
步骤s301与上述实施例中的步骤s201相同,在此不作赘述。
s302,根据当前位置数据所包含的探测位置,以及根据该目标序列的排序,与该当前位置数据相邻的待分析位置数据所包含的探测位置,确定该待分析位置数据与该当前位置数据是否符合探测位置合并条件;若符合,将该待分析位置数据与该当前位置数据的探测位置进行合并,作为更新后的当前位置数据;若不符合,将该待分析位置数据作为更新后的当前位置数据;
其中,该当前位置数据、该待分析位置数据分别为位置集合或目标探测位置;其中,该当前位置数据的初始值为该目标序列中的任意一条采集记录中的探测位置;该待分析位置数据的初始值为根据所述目标序列的排序,与该任一条采集记录相邻的采集记录中的探测位置。
在本步骤中,根据目标序列中各条采集记录的排序,来进行探测位置合并的处理。具体而言:选取目标序列中的任一条采集记录中的探测位置,作为当前位置数据的初始值;并且,在当前位置数据的初始值后,可以根据该目标序列的排序,选取与该任一条采集记录相邻的采集记录中的探测位置,作为待分析位置数据的初始值;进而,根据当前位置数据所包含的探测位置,与该当前位置数据相邻的待分析位置数据所包含的探测位置,确定该待分析位置数据与该当前位置数据是否符合探测位置合并条件。
若确定该待分析位置数据与该当前位置数据符合探测位置合并条件,执行探测位置的合并,并作为更新后的当前位置数据,继续返回执行确定该待分析位置数据与该当前位置数据是否符合探测位置合并条件。可以理解的是,在当前位置数据更新后,与该更新后的当前位置数据相邻的待分析位置数据也发生更新,更新后的待分析位置数据为:根据该目标序列的排序,与更新之前待分析位置数据相邻的、未进行探测位置的合并分析的探测位置,即与更新之前待分析位置数据所属采集记录相邻的采集记录中的探测位置。
若确定该待分析位置数据与该当前位置数据不否符合探测位置合并条件,将该待分析位置数据作为更新后的当前位置数据,并继续返回执行确定该待分析位置数据与该当前位置数据是否符合探测位置合并条件。可以理解的是,由于当前位置数据发生了更新,那么,与该更新后的当前位置数据相邻的待分析位置数据也发生更新,更新后的待分析位置数据为:根据该目标序列的排序,与更新之前待分析位置数据相邻的、未进行探测位置的合并分析的探测位置,即与更新之前待分析位置数据所属采集记录相邻的采集记录中的探测位置。
示例性的,在一种实现方式中,当前位置数据的初始值可以为目标序列的第一条采集记录中的探测位置,此时,待分析位置数据的初始值可以为目标序列的第二条采集记录的初始值,后续按照目标序列的排序,从前到后依次判断目标序列中的各条采集记录是否符合探测位置合并条件。举例而言:
假设目标序列为abcdef,以a的探测位置作为当前位置数据的初始值,b的探测位置作为待分析位置数据的初始值,判断a的探测位置与b的探测位置是否符合探测位置合并条件;
如果是,将a的探测位置和b的探测位置进行合并,作为更新后的当前位置数据,并继续判断更新后的当前位置数据中的探测位置与c的探测位置是否符合探测位置合并条件;
否则,将b的探测位置作为更新后的当前位置数据,并继续判断更新后的当前位置数据中的探测位置与c的探测位置是否符合探测位置合并条件;
直至以目标序列中的f的探测位置被作为待分析位置数据,完成关于f的探测位置与当前位置数据的合并,或判断得到f的探测位置与当前位置数据不合并的判断结果,为止。
示例性的,在另一种实现方式中,当前位置数据的初始值也可以为目标序列中的最后一条采集记录中的探测位置,此时,待分析位置数据的初始值可以为目标序列的倒数第二条采集记录中的探测位置,后续按照目标序列的排序,从后到前依次判断目标序列中的各条采集记录是否符合探测位置合并条件。举例而言:
假设目标序列为abcdef,以f的探测位置作为当前位置数据的初始值,e的探测位置作为待分析位置数据的初始值,判断f的探测位置与e的探测位置是否符合探测位置合并条件;
如果是,将f的探测位置和e的探测位置进行合并,作为更新后的当前位置数据,并继续判断更新后的当前位置数据中的探测位置与d的探测位置是否符合探测位置合并条件;
否则,将e的探测位置作为更新后的当前位置数据,并继续判断更新后的当前位置数据与d的探测位置是否符合探测位置合并条件;
直至以目标序列中的a的探测位置被作为待分析位置数据,完成关于a的探测位置与当前位置数据的合并,或判断得到a的探测位置与当前位置数据不合并的判断结果,为止。
示例性的,在另外一种实现方式中,当前位置数据的初始值也可以为目标序列中的处于中间位置的一条采集记录中的探测位置,为了描述方便,将处于中间位置的一条采集记录命名为目标记录;此时,待分析位置数据的初始值可以为位于目标记录之前的相邻采集记录的探测位置。针对该种选取方式,存在第一阶段的处理过程和第二阶段的处理过程。具体而言,在第一阶段的处理过程中,按照目标序列的排序,以当前位置数据为开始,从后到前依次判断目标序列中的各条采集记录是否符合探测位置合并条件,直至完成对于第一条采集记录的探测位置的合并处理。
在第二阶段的处理过程中,在第一种方式中,以该目标记录之后的相邻采集记录的探测位置,作为待分析位置数据,以包含目标记录的探测位置的位置数据作为当前位置数据,进而,按照目标序列的排序,以当前位置数据开始,从前到后依次判断目标序列中的各条采集记录是否符合探测位置合并条件,直至完成对于最后一条采集记录的探测位置的合并处理。可以理解的是,由于在第一阶段的处理过程中,之前一部分采集记录均进行了探测位置的合并分析,因此,包含目标记录的探测位置的位置数据可能为一个探测位置,也可能是位置集合。具体而言,如果对目标记录的探测位置进行过位置合并,则包含目标记录的探测位置的位置数据为:该目标记录的探测位置所属的位置集合;而如果对目标记录的探测位置未进行过位置合并,则包含目标记录的探测位置的位置数据为:该目标记录的探测位置。
在第二阶段的处理过程中,在第二种方式中,以该目标记录之后的相邻采集记录的探测位置,作为当前位置数据,以当前位置数据所属采集记录的下一条采集记录中的探测位置,作为待分析位置数据,进而,按照目标序列的排序,以当前位置数据开始,从前到后依次判断目标序列中的各条采集记录是否符合探测位置合并条件,直至完成对于最后一条采集记录的探测位置的合并处理;进而,以包含该目标记录的探测位置的位置数据,作为当前位置数据,同时,以包含该目标记录之后的相邻采集记录的探测位置的位置数据,作为待分析位置数据,判断待分析位置数据和当前位置数据是否符合探测区域合并条件。可以理解的是,如果对该目标记录的探测位置未发生过位置合并,则包含该目标记录的探测位置的位置数据为:该目标记录的探测位置;如果对该目标记录的探测位置发生过位置合并,则包含该目标记录的探测位置的位置数据为:该目标记录的探测位置所属的位置集合。类似的,包含该目标记录之后的相邻采集记录的探测位置的位置数据也可以为:该目标记录之后的相邻采集记录的探测位置,或者,该目标记录之后的相邻采集记录的探测位置所属的位置集合。
举例而言:假设目标序列为abcdef,以d的探测位置作为当前位置数据的初始值,c的探测位置作为待分析位置数据的初始值;
在第一阶段的处理过程中,判断d的探测位置与c的探测位置是否符合探测位置合并条件;
如果是,将d的探测位置和c的探测位置进行合并,作为更新后的当前位置数据,并继续判断更新后的当前位置数据中的探测位置与b的探测位置是否符合探测位置合并条件;
否则,将c的探测位置作为更新后的当前位置数据,并继续判断更新后的当前位置数据与b的探测位置是否符合探测位置合并条件;
直至完成关于a的探测位置的合并处理;
第二阶段的处理过程中,在第一种方式中,以e的探测位置作为待分析位置数据,如果d的探测位置未发生过合并,则d的探测位置作为当前位置数据,如果d的探测位置发生过合并,则以包含d的位置集合作为当前位置数据;
按照目标序列的顺序,以e的探测位置开始,判断待分析位置数据与当前位置数据是否符合探测位置合并条件,如果是,将当前位置数据与待分析位置数据进行合并,作为更新后的当前位置数据,并继续判断更新后的位置数据与f的探测位置是否符合探测位置合并条件;否则,将待分析位置数据作为更新后的当前位置数据,继续判断更新后的当前位置数据与f的探测位置是否符合探测位置合并条件。
第二阶段的处理过程中,在第二种方式中,以e的探测位置作为当前位置数据,f的探测位置作为待分析位置数据,判断e的探测位置和f的探测位置是否符合探测位置合并条件,如果符合,将e的探测位置和f的探测位置进行合并;进而,以包含d的探测位置的位置数据,作为当前位置数据,同时,以包含e的探测位置的位置数据,作为待分析位置数据,判断待分析位置数据和当前位置数据是否符合探测区域合并条件,如果合并,将当前位置数据和待分析位置数据进行合并。其中,如果d的探测位置发生了位置合并,则包含d的探测位置的位置数据为:d的探测位置所属的位置集合,如果d的探测位置未发生合并,则包含d的探测位置的位置数据为:d的探测位置;类似的,如果e的探测位置发生了位置合并,则包含e的探测位置的位置数据为:e的探测位置所属的位置集合,如果e的探测位置未发生合并,则包含e的探测位置的位置数据为:e的探测位置。
可以理解的是,针对选取目标序列中的处于中间位置的一条采集记录中的探测位置,作为当前位置数据的初始值的情况,可以选取位于目标采集记录之后的采集记录中的探测位置作为待分析位置数据,这样,在第一阶段的处理过程中,按照目标序列的排序,则可以从前到后依次判断目标序列中的各条采集记录是否符合探测位置合并条件;相应的,在第二阶段的处理过程中,按照目标序列的排序,从后到前依次判断目标序列中未进行合并分析的其他采集记录是否符合探测位置合并条件。
另外,根据当前位置数据所包含的探测位置,以及根据该目标序列的排序,与该当前位置数据相邻的待分析位置数据所包含的探测位置,确定所述待分析位置数据与所述当前位置数据是否符合探测位置合并条件,可以包括:
若该待分析位置数据中只有一个探测位置,则根据该当前位置数据对应的第一数量以及该当前位置数据所包含的探测位置的总数量,确定该待分析位置数据与该当前位置数据是否符合探测位置合并条件;该当前位置数据对应的第一数量为该当前位置数据中,与该待分析位置数据所包含的探测位置的距离符合预设条件的探测位置的数量;
若该待分析位置数据中至少包括两个探测位置,则针对所述当前位置数据与所述待分析位置数据中的任一位置数据,根据该位置数据对应的第一数量以及该位置数据所包含的探测位置的总数量,确定所述待分析位置数据与所述当前位置数据是否符合探测位置合并条件;其中,该位置数据对应的第一数量为该位置数据中,与另一位置数据所包含的其中一个探测位置的距离符合预设条件的探测位置的数量。
其中,该预设条件为该距离小于预设距离阈值。示例性的,该预设距离阈值可以根据探测装置的探测直径来设定。例如:将探测装置的探测直径作为该预设距离阈值,或者,将小于探测装置的探测直径的距离值作为该预设距离阈值。另外,由于同一地区的多个探测装置的探测直径存在差异,此时,可以基于最大比例的探测直径来设定预设距离阈值。当然,该预设距离阈值也可以通过分析探测装置的发射功率以及采集间隔等信息,根据人工经验来设定。
并且,关于是否符合探测位置合并条件的设定可以包括:若该第一数量与该总数量的比值超过预设比值,则确定该待分析位置数据与该当前位置数据符合探测位置合并条件。该预设比值可以根据实际情况设定,例如:该预设比值可以为1/2,或者,2/3,3/4,等等,这都是合理的。
s303,根据该符合探测位置合并条件的采集记录的探测时间,生成该位置集合对应的第一探测时间;
s304,基于该位置集合和目标探测位置,以及该位置集合对应的第一探测时间和该目标探测位置对应的第二探测时间,生成具有该mac地址的电子设备的运动轨迹;
其中,所述目标探测位置为未进行探测位置合并处理的采集记录中的探测位置,所述第二探测时间为所述未进行探测位置合并处理的采集记录中的探测时间。
本实施例中,步骤s305-s306与上述实施例中的步骤s203-s204相同,在此不做赘述。
下面以was作为轨迹分析方法的执行主体为例,对本申请实施例所提供的一种轨迹分析方法的整体流程进行介绍。
可选的,如图4图所示,本申请实施例所提供的一种轨迹分析方法,可以包括如下步骤:
s401,was接收针对具有目标mac地址的目标设备的轨迹分析指令。
其中,轨迹分析指令可以为用户输入的用于请求分析具有该目标mac地址的目标设备的轨迹的指令。
轨迹分析指令中携带了查询条件,例如,起始时间、终止时间和该目标mac地址等。
s402,was向wbp发送记录调用请求,相应的,wbp接收was发送的记录调用请求。
其中,was可以通过发送携带查询条件的记录调用请求,向wbp请求调用符合查询条件的采集记录,即目标设备的行动轨迹数据,当was向wbp发送记录调用请求后,was可以等待wbp返回的采集记录。
s403,wbp针对was发送的记录调用请求进行参数校验。
其中,wbp可以对was发送的记录调用请求中携带的查询条件进行参数校验,例如,起始时间和终止时间是否在预设的时间段内,mac地址是否是一合法字符串。
s404,若wbp针对was发送的记录调用请求进行参数校验成功,则wbp向ude发送发起包含查询条件的记录查询请求,相应的,ude接收wbp发送的记录查询请求。
其中,记录查询请求用于请求获取符合查询条件的采集记录。
s405,ude解析记录查询请求中的查询条件。
s406,ude向es发送包含该查询条件的rowkey(关键词)查询请求,相应的,es接收ude发送的rowkey查询请求。
其中,rowkey可以用于在hbase中检索特定数据,在本申请实施例中,rowkey可以用于检索hbase中目标设备对应的行动轨迹数据。
s407,es根据查询条件查询rowkey,并向ude返回数据查询结果,相应的,ude接收es返回的数据查询结果。
其中,es返回的数据查询结果中包括查询条件对应的rowkey。es中存储有mac地址、探测时间、探测装置的标识信息等基本信息与rowkey的对应关系,es可根据查询条件和上述对应关系查询到rowkey。
s408,ude向hbase发送针对该查询条件的数据请求,相应的,hbase接收ude发送的查询数据请求。
在本申请实施例中,ude向hbase发送的针对该查询条件的数据请求中包括rowkey,且该数据请求可以用于在hbase检索该查询条件对应的采集记录,即目标设备的行动轨迹数据。
s409,hbase针对数据请求进行数据查询,并向ude返回记录查询结果,相应的,ude接收hbase返回的记录查询结果。
s410,ude基于hbase返回的记录查询结果,向wap返回关于目标mac地址的多条采集记录。
s411,wbp接收到ude发送的关于目标mac地址的多条采集记录后,基于关于目标mac地址的多条采集,生成关于该目标mac地址的目标序列;
其中,基于关于目标mac地址的多条采集,生成关于该目标mac地址的目标序列,可以包括:
按照采集记录中的探测时间的升序顺序,对多条采集记录进行排序,得到初始序列;对该初始序列进行预处理,得到目标序列。
s412,wbp向was返回目标序列,相应的,was接收返回的目标序列。
s413,was在获取到目标序列后,利用该目标序列,生成具有目标mac地址的电子设备的运行轨迹。
其中,利用该目标序列,生成具有目标mac地址的电子设备的运行轨迹,可以包括:
根据目标序列中的采集记录中的探测位置,得到位置集合;
根据该符合探测位置合并条件的采集记录的探测时间,生成该位置集合对应的第一探测时间;
基于该位置集合和目标探测位置,以及该位置集合对应的第一探测时间和该目标探测位置对应的第二探测时间,生成具有该mac地址的电子设备的运动轨迹。
相对于现有技术而言,本方案中,通过对探测位置进行合并,可以将属于重叠采集的采集记录中的探测位置合并至同一位置集合中,进而,在生成轨迹时,利用位置集合和未进行探测位置合并处理的采集记录中的探测位置来生成运动轨迹,可以避免发生重叠采集的各个探测装置的探测位置重复的作为不同的驻留位置,因此,通过本方案可以解决现有技术中轨迹混乱的问题。并且,在生成目标序列的过程中,对采集记录进行预处理,达到数据清洗的效果,从而在对目标序列进行处理时,减少数据处理量。
相应于上述方法实施例,本申请实施例还提供了一种轨迹分析装置。如图5所示,本申请实施例所提供的一种轨迹分析装置,可以包括:
序列获取模块510,用于获取关于媒体访问控制mac地址的目标序列,其中,所述目标序列中包括按照探测时间排序的关于所述mac地址的多条采集记录;
集合确定模块520,用于根据所述采集记录中的探测位置,得到位置集合,所述位置集合中包括符合探测位置合并条件的各条采集记录中的各个探测位置;
时间生成模块530,用于根据所述符合探测位置合并条件的采集记录的探测时间,生成所述位置集合对应的第一探测时间;
轨迹生成模块540,用于基于所述位置集合和目标探测位置,以及所述位置集合对应的第一探测时间和所述目标探测位置对应的第二探测时间,生成具有所述mac地址的电子设备的运动轨迹;
其中,所述目标探测位置为未进行探测位置合并处理的采集记录中的探测位置,所述第二探测时间为所述未进行探测位置合并处理的采集记录中的探测时间。
本发明实施例所提供的方案中,根据目标序列所包括采集记录中的探测位置,进行探测位置合并处理,得到位置集合,进而,利用位置集合和未进行探测位置合并处理的采集记录中的探测位置,以及两类位置各自对应的探测时间,来生成具有该mac地址的电子设备的运动轨迹。相对于现有技术而言,本方案中,通过对探测位置进行合并,可以将属于重叠采集的采集记录中的探测位置合并至同一位置集合中,进而,在生成轨迹时,利用位置集合和未进行探测位置合并处理的采集记录中的探测位置来生成运动轨迹,可以避免发生重叠采集的各个探测装置的探测位置重复的作为不同的驻留位置。因此,通过本方案可以解决现有技术中轨迹混乱的问题。
可选地,在一种实现方式中,所述集合确定模块520,可以包括:
确定子模块,用于根据当前位置数据所包含的探测位置,以及根据所述目标序列的排序,与所述当前位置数据相邻的待分析位置数据所包含的探测位置,确定所述待分析位置数据与所述当前位置数据是否符合探测位置合并条件;其中,所述当前位置数据、所述待分析位置数据分别为位置集合或目标探测位置;
第一处理子模块,用于若确定所述待分析位置数据与所述当前位置数据符合所述探测位置合并条件,则将所述待分析位置数据与所述当前位置数据的探测位置进行合并,作为更新后的当前位置数据;
第二处理子模块,用于若确定所述待分析位置数据与所述当前位置数据不符合所述探测位置合并条件,则将所述待分析位置数据作为更新后的当前位置数据;
其中,所述当前位置数据的初始值为所述目标序列中的任意一条采集记录中的探测位置;所述待分析位置数据的初始值为根据所述目标序列的排序,与所述任一条采集记录相邻的采集记录中的探测位置。
可选地,在一种实现方式中,所述确定子模块具体用于:
若所述待分析位置数据中只有一个探测位置,则根据所述当前位置数据对应的第一数量以及所述当前位置数据所包含的探测位置的总数量,确定所述待分析位置数据与所述当前位置数据是否符合探测位置合并条件;所述当前位置数据对应的第一数量为所述当前位置数据中,与所述待分析位置数据所包含的探测位置的距离符合预设条件的探测位置的数量;
若所述待分析位置数据中至少包括两个探测位置,则针对所述当前位置数据与所述待分析位置数据中的任一位置数据,根据该位置数据对应的第一数量以及该位置数据所包含的探测位置的总数量,确定所述待分析位置数据与所述当前位置数据是否符合探测位置合并条件;其中,该位置数据对应的第一数量为该位置数据中,与另一位置数据所包含的其中一个探测位置的距离符合预设条件的探测位置的数量。
可选地,若所述第一数量与所述总数量的比值超过预设比值,则确定所述待分析位置数据与所述当前位置数据符合探测位置合并条件。
可选地,在一种实现方式中,所述轨迹生成模块540具体用于:
从构成所述位置集合的多个探测位置中,选取一个中心位置,作为所述位置集合对应的驻留位置,并以所述位置集合对应的第一探测时间作为所述驻留位置的探测时间;
根据所述驻留位置和目标探测位置,以及所述第一探测时间和所述目标探测位置对应的第二探测时间,生成具有所述mac地址的电子设备的运动轨迹。
本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现本申请实施例所提供的轨迹分析方法的步骤。
上述网络设备提到的通信总线可以是外设部件互连标准(英文:peripheralcomponentinterconnect,简称:pci)总线或扩展工业标准结构(英文:extendedindustrystandardarchitecture,简称:eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述网络设备与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:randomaccessmemory,简称:ram),也可以包括非易失性存储器(英文:non-volatilememory,简称:nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:centralprocessingunit,简称:cpu)、网络处理器(英文:networkprocessor,简称:np)等;还可以是数字信号处理器(英文:digitalsignalprocessing,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)、现场可编程门阵列(英文:field-programmablegatearray,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述轨迹分析方法步骤。
基于相同的技术构思,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述轨迹分析方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。