路径构建方法及系统与流程

文档序号:20010794发布日期:2020-02-22 04:07阅读:485来源:国知局
路径构建方法及系统与流程
本申请涉及移动通信
技术领域
,尤其涉及一种路径构建方法及系统。
背景技术
:为了发现附近的接入点(accesspoint,ap),启用wifi(wirelessfidelity,无线保真)的移动设备(后文也称之为设备)通过广播探测请求(后文也称之为探测信息)来定期执行主动扫描。相关技术中心,探测请求包括设备的全局唯一物理mac(mediaaccesscontrol,媒体访问控制)地址。因此,嗅探路由器可以收集探测请求并按照时间顺序对物理mac地址进行排序。如果已知探测请求的位置,则可以随时追踪持有移动设备的用户。由于具有巨大的商业价值,这种追踪技术最近引起了人们的广泛关注。例如,购物中心可以利用该技术分析购物者的偏好,监控人群,计算顾客停留时间或热度图,或推断移动用户的社会关系。上述追踪技术引起了对用户隐私的严重关注。为了保护隐私,在相关技术中,在移动设备未接入ap时,移动设备的物理mac地址随机化。具体来说,移动设备在广播的探测请求中使用随机虚拟mac地址,并且重新生成另一随机虚拟mac地址的时间间隔(几秒到几分钟)不可预测。目前,运用该随机技术的系统包括ios8及以上版本、android6.0及以上版本(配置适当的硬件和驱动程序)、windows10和linux。mac地址随机化的结果是一个设备的所有探测请求不再共享相同的地址,因此,基于如上所述的按照时间顺序对mac地址进行排序,会导致短时间内有大量零碎且不相关的探测片段,从而破坏了追踪的连续性。随着时间的推移,探测片段给追踪设备带来了巨大挑战,这使得长期用户的分析工作受挫。技术实现要素:本申请为了解决现有设备在执行主动扫描过程中广播的mac地址随机变化,导致的设备的移动路径不可重建的问题,提供一种路径构建方法及系统。本申请实施例的一个方面,提供了一种路径构建方法,包括:获取探测请求,每个探测请求携带mac信息、时间戳信息、数据字段信息和序列号(sequencenumber,seq)信息;按时间先后顺序各自排列mac信息相同的探测请求,得到多个探测片段;分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合;以及,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径(后文也称之为结果路径)。可能的实施方式中,数据字段信息包括预设信息元素(informationelement,ie);分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合,包括:针对任一探测片段,根据包括的探测请求携带的预设信息元素,确定任一探测片段的设备指纹;以及,分别集合设备指纹相同的探测片段,得到多个探测片段集合。可能的实施方式中,预设信息元素包括支持速率、扩展支持速率、ht(hypertransport,超传输)能力、扩展能力、dsss(directsequencespreadspectrum,直接序列扩频)参数集、互通和供应商特定中的任意一个或多个。可能的实施方式中,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径,包括:针对任一探测片段集合中的任一探测片段,确定任一探测片段的前向片段(后文也称之为后续片段),其中,任一探测片段的前向片段的序列号信息与任一探测片段的序列号信息满足预设条件;以及,将各探测片段与各探测片段的前向片段的分别对应连接,得到一个或多个移动设备的构建路径。可能的实施方式中,确定任一探测片段的前向片段,包括:响应于确定任一探测片段集合中存在一个潜在前向片段,且该一个潜在前向片段对应的序列号与任一探测片段的序列号的差值满足第一条件,确定一个潜在前向片段为任一探测片段的前向片段;响应于确定任一探测片段集合中存在多个潜在前向片段,且每个潜在前向片段对应的序列号与任一探测片段的序列号的差值满足第一条件,从多个潜在前向片段中,确定对应的序列号与任一探测片段的序列号之间的增长率满足第二条件的任一探测片段的前向片段。可能的实施方式中,在确定任一探测片段集合中存在任一探测片段的一个或多个潜在前向片段之前,该方法还包括:针对任一探测片段的任一潜在前向片段,根据时间戳信息,确定任一潜在前向片段对应的时间与任一探测片段对应的时间的差值小于预设阈值。可能的实施方式中,确定任一潜在前向片段对应的时间与任一探测片段对应的时间的差值小于预设阈值,包括:确定任一潜在前向片段与任一探测片段满足以下关系:0<min(tb)-max(ta)<δt;其中,ta为任一探测片段包括的各个探测请求的时间戳,tb为任一潜在前向片段包括的各个探测请求的时间戳,δt为预先设置的设备连续两个主动扫描回合之间的时间间隔。可能的实施方式中,针对任一探测片段的任一潜在前向片段,确定任一潜在前向片段对应的序列号与任一探测片段的序列号的差值满足第一条件,包括:确定任一潜在前向片段与任一探测片段满足以下关系:1<g(lseqa,fseqb)<gapmax;其中,gapmax=max(a)+max(b)-lena-lenb+1;lena=g(fseqa,lseqa)+1;lenb=g(fseqb,lseqb)+1;max(a)=n*size(sa);max(b)=n*size(sb);sa表示任一探测片段,sb表示任一潜在前向片段;fseq表示探测片段中按时间先后顺序排列的第一个探测请求的序列号,lseq表示探测片段中按时间先后顺序排列的最后一个探测请求的序列号;n为预先获取的最大的可用信道数,size(s)为在探测片段的一个主动扫描回合中,通过同一信道连续发送的探测请求的个数;以及,g(m,n)表示n与m的差值除以4096的余数。可能的实施方式中,从多个潜在前向片段中,确定对应的序列号与任一探测片段的序列号之间的增长率满足第二条件的任一探测片段的前向片段,包括:从多个潜在前向片段中,确定对应的序列号与任一探测片段的序列号之间的增长率最小的任一探测片段的前向片段,其中,任一探测片段的任一潜在前向片段对应的序列号与任一探测片段的序列号之间的增长率为:其中,sa表示任一探测片段,sb表示任一潜在前向片段;以及,其中,fseq表示探测片段中按时间先后顺序排列的第一个探测请求的序列号,lseq表示探测片段中按时间先后顺序排列的最后一个探测请求的序列号;fnst表示探测片段中按时间先后顺序排列的第一个探测请求的时间戳,lnst表示探测片段中按时间先后顺序排列的最后一个探测请求的时间戳,以及,g(m,n)表示n与m的差值除以4096的余数。根据本申请实施例的又一个方面,提供的一种路径构建系统,包括传感器和服务器,其中:传感器,配置为获取探测请求,每个探测请求携带mac信息、时间戳信息、数据字段信息和序列号信息;以及将获取到的探测请求发送至服务器;服务器,配置为按时间先后顺序各自排列mac信息相同的探测请求,得到多个探测片段;分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合;以及,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径。本申请实施例提供的路径构建方法和系统,可获取探测请求,每个探测请求携带mac信息、时间戳信息、数据字段信息和序列号信息;按时间先后顺序各自排列mac信息相同的探测请求,得到多个探测片段;分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合;以及,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径。也就是说,在设备执行主动扫描过程中广播的mac地址随机变化的场景下,可首先根据虚拟mac地址和时间戳将各探测请求划分成多个探测片段,再根据数据字段信息对探测片段进行分组,从而可能来自同一设备的探测片段在同一组中,不可能来自相同设备的探测片段在不同组中;最后,根据序列号信息,将同一组中的探测片段连接成与设备一一对应的一个或多个路径。不仅解决了现有设备在执行主动扫描过程中广播的mac地址随机变化,导致的设备的移动路径不可重建的问题;而且整个路径构建的过程中,均不涉及任何设备的真实mac地址,即在不获取移动设备真实身份的前提下,重建移动设备的移动路径,保护了用户的隐私。附图说明图1a为根据本申请实施例提供的路径构建方法构建设备路径的由虚拟mac地址组成探测片段步骤的示意图;图1b为根据本申请实施例提供的路径构建方法构建设备路径的使用fieseq算法构造路径步骤的示意图;图2为本申请实施例提供的路径构建方法的整体系统流程图;图3为本申请实施例中的根据实验得到的回合间时间的积累分布图;图4a为本中请实施例中的根据实验得到的f-measure(f测量)与地铁站场景中ios追踪的macid(identification,身份)数量的关系图;图4b为本申请实施例中的根据实验得到的f-measure与食堂场景中ios追踪的macid数量的关系图;图5a为本申请实施例中的根据实验得到的doc(degreeofconcatenation,连接度)与地铁站场景中ios追踪的macid数量的关系图;图5b为本申请实施例中的根据实验得到的doc与食堂场景中ios追踪的macid数量的关系图;图6为本申请实施例中的根据实验得到的地铁站场景中设备的数量与f-measure的关系图;图7为本申请实施例中的根据实验得到的地铁站场景中设备的数量与doc的关系图;图8a为本申请实施例中的根据实验得到的地铁站场景中每个具有虚拟mac的探测片段包含的回合数的积累分布图;图8b为本申请实施例中的根据实验得到的地铁站场景中每个具有真实mac的探测片段包含的回合数的积累分布图;图9为本申请实施例中的根据实验得到的在食堂场景中ios追踪中f-measure与被删除的数据包的百分比之间的关系图;图10为本申请实施例中的ie指纹值的百分比分布图;图11a本申请实施例中的根据探测片段的ie指纹对探测片段进行分组得到的第一组的结果示意图;图11b本申请实施例中的根据探测片段的ie指纹对探测片段进行分组得到的第二组的结果示意图;图12为mac地址随机化的设备主动扫描过程的示意图;图13a为iphone6的两个连续回合之间的seq间隔的百分比分布图;图13b为iphonese的两个连续回合之间的seq间隔的百分比分布图;图14为iphone7和iphone8plus的探测请求的seq在一段时间内变化的曲线图;图15a为根据本申请实施例提供的路径构建方法构建设备路径的使用seq间隔构建部分路径步骤的示意图;图15b为根据本申请实施例提供的路径构建方法构建设备路径的使用seq增长率将部分路径连接成完整路径步骤的示意图;如图16所示为本申请实施例提供的路径构建方法的流程示意图;如图17所示为本申请实施例提供的路径构建系统的结构示意图。具体实施方式为使本领域技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本申请作进一步详细描述。为了保护隐私,在相关技术中,在移动设备未接入ap时,移动设备的物理mac地址随机化。具体来说,移动设备在广播的探测请求中使用随机虚拟mac地址,并且重新生成另一随机虚拟mac地址的时间间隔(几秒到几分钟)不可预测。mac地址随机化的结果是一个设备的所有探测请求不再共享相同的地址,因此,基于如上所述的按照时间顺序对mac地址进行排序,会导致短时间内有大量零碎且不相关的探测片段,从而破坏了追踪的连续性。为了解决上述技术问题,本申请实施例提供了一种路径构建方法。需要说明的是,当采用mac地址随机化的设备连接到wifi网络时,设备在探测过程中会使用其物理mac地址,在这种情况下,可以根据物理mac轻松实现追踪;因此,本申请实施例提供的路径构建方法主要涉及未与任何ap连接且设备在探测过程中广播虚拟mac地址的设备的追踪。本申请实施例提供的路径构建方法可根据设备划分(分组)此类使用虚拟mac地址的探测请求。可使用虚拟mac和时间戳作为节点来表示探测请求。一般而言,本申请实施例不假设节点的任何位置信息。可将路径定义为同一设备的各节点的按时间顺序排序的序列。本申请实施例提供的路径构建方法的目标是从由不知数量的设备中发出的有着各种虚拟mac的混合的探测请求中,构建出所有的路径。图1a中出了基于三个设备的实验观测到的随时间标记为macid的虚拟mac地址。每个节点都是一个探测请求,且相同macid的连续节点为一个探测片段。很显然,探测片段的数量远远大于设备的数量,探测片段非常频繁地每隔几次探测即随机化。考虑到可能由多个设备生成探测池,本申请实施例提供了一种通过连接探测片段来构建和恢复设备路径的路径构建方法。除了简单的时间戳,我们对探测请求的数据字段进行了敏锐的观察,并利用数据字段来识别可连接在一起的潜在探测片段。例如,在主动扫描中,设备将其功能,容量和配置压缩到探测请求中称为ie的帧中。这些ie可以用作指纹来区分不同设备的探测片段。此外,ieee802.11标准还要求每个mac层帧包含一个seq,对于每个新探测,seq增加1。需要说明的是,在扫描其附近的可用ap时,设备以重复的方式在所有可用信道上发送探测请求。因此,可以预见在每个扫描回合后,序列号的变化是相同的。所有上述信息都可用于连接来自同一设备的探测片段。基于以上所述内容,本申请实施例提出的路径构建方法可被简称为fieseq,fieseq通过使用基于ie的指纹以及分析seq来构建每个设备的路径。在图1a中应用fieseq,零碎的探测片段可以连接图1b所示的构建路径,并且可从中识别出三个设备。需要说明的是,尽管fieseq可对抗mac地址随机化,但它并未影响隐私的保护。这是因为,设备的身份与其全局唯一物理mac地址相关联,而在该路径构建方法中,既不推断也无法获得物理mac地址。然而,由连接的探测片段组成的结果路径,可以导出更多的长期聚合或个性化的统计数据集,例如停留时间、占用热度图、用户轨迹,或者购物者行为等。图2显示了fieseq的整体系统流程。wifi传感器首先收集设备发送的探测信息,并将探测信息传送到云服务器。在云服务器中,首先将具有相同(虚拟)mac地址的探测信息划分为一组以形成探测片段。然后,主要执行以下算法(1)和算法(2)。(1)ie指纹识别。识别ie中随时间保持相当不变的字段,并且可将该字段与设备唯一关联以作为设备指纹。指纹中的字段集合为区分不同的设备提供了更优的方式。以ie指纹相同为依据,对所有的探测片段进行分组;也就是说,将属于同一设备的探测信息放在同一个组中。(2)seq分析。在上述步骤之后,由于一个组还是有可能包含属于多个设备的探测信息;因此,在每个组中应用序列号分析算法来构建设备的完整路径。由于主动扫描是在可用信道上重复执行的,本申请实施例提供了一种公式来计算每个主动扫描回合后序列号的增量。该公式可计算序列号相对于一个国家或地区的可用频道数量的递增方式。根据序列号的计算增量,可以识别一个探测片段的潜在后续片段。由于可能不止一个后续片段可以满足序列号的计算增量,还可以比较连续片段的序列号的增长率以做出最终决定。然后将结果路径存储在数据库中。根据本申请提供的实施例,还可使用f-measure来评估构建路径的准确性,f-measure可测量每个构建路径中各探测片段的正确性。此外为了评估为单个设备形成多个路径的情况,本申请实施例还提供了一种称为doc的度量。doc用于测量属于同一设备的多个结果路径的碎片程度。doc基于整数划分原理并对f-measure进行补充,以全面评价fieseq算法的性能。根据本申请提供的实施例,在不同的现实和动态场景中评估fieseq,包括地铁站和大型食堂区域。通常,fieseq可实现非常高的f-measure值(约91%)和doc值(约93%)。此外,即便丢包率非常高,fieseq的表现依然良好。实验结果表明,fieseq可以有效地为mac地址随机化的移动设备构建路径。下面结合具体实例和实验,对本申请实施例提供的路径构建方法进行详细说明。为了发现可用的接入点,启用wifi的设备可定期广播探测请求。相关技术中,各探测请求携带了各设备的全局唯一物理地址。通过按照时间顺序对探测请求进行排序,可以随时间变化分析携带设备的用户的行为。但为了提供更好的隐私保护,最近的操作系统在探测信息中使用随机(虚拟)mac地址,随机mac地址以不可预测的间隔(从几秒到几分钟)进行改变。这使得用户的路径被分成短片段,从而打破了路径连续性,并影响了长时间内的行为分析。在本申请实施例中,提供了一种通过连接和排序发射虚拟地址的设备的探测信息,来将探测片段连接到路径中的路径构建方法。需要说明的是,本申请实施例对探测位置以及设备数量不作任何限定。根据本申请提供的实施例,基于fieseq构建设备路径,其中,fieseq基于探测请求中的ie和seq构建设备路径。首先确定要用作指纹的ie字段,以便将可能来自同一设备的探测请求划分为同一个组。由于一个组中可能包含属于多个设备的探测请求,因此,进一步使用探测请求中的序列号的增长量和增长率来构建每个设备的路径。除了f-measure之外,本申请实施例还提供了一种称为doc的度量,用于评价单个设备的构建路径的碎片程度。由多个真实数据集可知,fieseq对于追踪具有高精度的随机虚拟mac地址的设备非常有效。根据本申请提供的实施例,在两个不同的现实场景中进行了大量实验,两个场景分别为大食堂和地铁站。表1显示了这两个场景的统计信息,其中显示了30分钟内收集的虚拟mac地址和真实mac地址的数量。表1还显示了在探测信息中广播真实mac的设备的平均停留时间。停留时间可用来推断设备随机化其mac地址的行为。需要说明的是,真实mac的数量可以用来表示设备的实际数量。从表1中可以看出,位于食堂的用户的数量远远少于位于地铁站的用户的数量,但食堂中人们的平均停留时间远远大于地铁站中人们的平均停留时间。移动用户倾向于在食堂花费更长的时间是直观的。两种场景可给本申请实施例中的算法带来不同的挑战。食堂的长停留时间带来的挑战性在于需要长时间保证每个用户的准确性;地铁站人员的密集流量可带来更多的探测信息,会导致算法混乱,以及阻碍算法的正确性。表1:实验涉及的两种场景的相关信息项目地铁站食堂虚拟mac的数量3051845真实mac的数量2624253平均停留时间42s343s进一步地,在两个场景中均设计了两组实验。在第一组实验中,为人群中的一些已知ios设备(广播虚拟mac地址)构建路径,称为ios追踪;在第二组实验中,使用大量android设备进行模拟,这些android设备在探测信息中广播真实的mac地址,为方便起见,该模拟可称为android模拟。这两组实验的细节如下。ios追踪。在本组实验中,选择了5种不同型号的流行的ios设备作为目标设备,包括7,se,6s+,6s和6。为了得到基本事实,本申请实施例还提供了一种接收信号强度指示(receivedsignalstrengthindication,rssi)滤波路径构建方法。在这种路径构建方法中,将每个目标设备与一个路由器配对,并尽可能将配对的目标设备和路由器放置在一起。通过滤除具有小rssi的噪声探测信息,可获得每个目标设备发出的一组虚拟mac的实际情况。通过追踪人群中的目标设备可验证本申请实施例提供的路径构建方法的准确性。该实验的意义在于,选择各种型号的ios设备作为目标设备放入人群中,如图10所示,有许多其它设备与目标设备共享相同的ie指纹;如果利用本申请实施例中的路径构建方法能够以高精度追踪目标设备,则意味着对于其它设备也可以以相同级别的精度进行追踪。android模拟。由于需要为每个目标设备提供额外的传感器,因此第一组实验不能大规模进行。为了扩展设备规模,可通过为每一回合探测均分配虚拟mac地址来对未采用mac地址随机化的一些android设备进行仿真。设备更改其mac地址的频率越高,本申请实施例提供的路径构建方法面临的挑战就越大,因此,每一回合探测都更新虚拟mac地址以在最坏的情况模拟本申请实施例提供的路径构建方法。在本组实验中,可使用设备的真实mac地址作为基础事实来执行评估。在fieseq中,地铁站和食堂的实验持续时间均为30分钟。δt是一个探测片段试图找到其前一个探测片段的最大时间,δt为影响算法性能的主要参数之一。图3示出了移动设备的最大回合间时间(由同一设备发出的连续两个主动扫描回合之间的时间间隔)为350秒。也就是说,探测片段与其前一个探测片段之间的时间间隔小于350s。因此,可将δt默认设置为350s。为了进一步验证fieseq的有效性,本申请实施例还与相关的试图克服mac地址随机化的路径构建方法进行了比较。(一)ssng也使用ie和seq来追踪mac地址随机化的移动设备,由于该路径构建方法基于静态序列号间隔(staticsequencenumbergap),因此将其命名为ssng。(二)tam基于对802.11设备发送的探测信息的时序分析,防止mac地址随机化,其为一种时序攻击路径构建方法(timing-attackmethod),因此将其命名为tam。为了评估本申请实施例提供的路径构建方法的效果,还可引入两个评估指标,即f-measure和doc。此外,为了研究数据包丢失(数据包由设备发送而未被传感器接收到)如何影响该路径构建方法的性能,还可通过随机删除一小部分数据包进行模拟。根据本申请提供的实施例,具体可使用两个指标来评估算法的性能,第一个为f-measure;第二个为doc,用于补充f-measure。f-measure定义为精度和召回的调和平均值,即,f-measure=(2·precision·recall)/(precision+recall),其中,precision=tp/(tp+fp),recall=tp/(tp+fn)。在本申请实施例中,正确肯定tp,错误肯定fp和错误否定fn的定义如下:假设有一个设备d,d为设备d在实验持续期间发送的所有探测片段的集合。在对该数据集合进行计算之后,得到d的构建路径p,其中p为包括不同虚拟mac地址的探测片段链。如果为同一设备得到了多个p,则可选择包含最多的不同探测片段的p来表示此设备d。令p表示p中的探测片段集合。表2中定义了tp,fp和fn的定义。例如,假设有一个设备发送10个探测片段(即10个虚拟mac地址),根据本申请实施例中的路径构建方法,仅将其中的9个探测片段构建为该设备的构建路径,而该构建路径中不包括具有其它虚拟mac的其它探测片段;则在这种情况下,f-measure的值为94.7%。表2:tp,fp和fn的定义量度定义tp|p∩d|fp|p-p∩d|fn|d-p∩d|从f-measure的定义可以看出,f-measure只关注每个构建路径中各探测片段的正确性。如果同一设备得到了多个p,则f-measure不能描述本申请实施例中的路径构建方法可以在多大程度上将来自同一设备的探测片段压缩在一起。在实际中,为单个设备构建的路径的数量越少,且这些路径中最长的路径越长,算法的执行效果越好。因此,本申请实施例还提供了一种新的评估指标来补充f-measure。数论中的整数划分问题是找到一种将整数n写为正整数之和的路径构建方法。受整数划分的启发,本申请实施例还提供了doc。例如,如表3的第一列所示,如果加数可包括整数0,则可以用五种不同的方式对4进行划分。每个划分中仅顺序不同的各求和组合是相同的,例如,1+3和3+1是相同的划分。令p(n)表示整数n的划分的数量。相关技术给出了p(n)的闭式表达式。表3:“4”的整数划分在本申请实施例中,可将每种划分方式称为一个划分。假设n的一个划分具有q个加数,则该划分可以用p(n)的闭式表达式表示:其中,若1<i<j<q,则si>sj,si和sj为该划分的第i个和第j个加数。可通过先确定第一个加数,若确定的第一个加数可得到不同的划分,则再确定第二个加数,依此类推,按照各加数的大小呈降序排列得到所有的划分。可将最先确定出的划分(第一个加数最大)的评分记为p(n),将第二确定出的划分(第一个加数第二大)的评分记为p(n)-1,依此类推。例如,如表3所示,2+2的得分为3,而2+1+1的得分为2。根据上述定义,doc可定义为其中,sop为划分的得分(scoreofthepartition)。假设一个设备发送6个具有6个不同虚拟mac地址的探测片段,该算法构建出3个路径,第一个路径中有4个属于该设备的探测片段,而另外两个路径中分别有1个属于该设备的探测片段,并且这3个路径中均没有其它的探测片段,在这种情况下,f-measure的结果为80%;然而,doc的结果为72.7%,这表明该路径构建结果是存在缺陷的。可见,doc可以从不同的角度为算法提供补充评估。图4a和图4b分别示出了f-measure与地铁站和食堂中ios追踪的macid数量的关系,可用于说明未知设备发送的背景噪声虚拟mac地址如何影响构建路径的准确性。如图1所示,每个虚拟mac地址都标记为macid。地铁站的评估结果如图4a所示,fieseq的性能略有下降,即使当macid的数量非常高时,fieseq的性能仍可保持较佳的水平。相反,当存在较多虚拟mac地址时,ssng的f-measure急剧下降,这是因为当有更多设备发出更多虚拟mac时,相当大且静态的seq间隔是不够的。tam的f-measure的测量值始终较低,因为tam需要相当长的时间(在白天级别)来确定设备的指纹。食堂的评估结果如图4b所示,其所显示的趋势与图4a类似。需要注意的是,食堂中的macid的数量较少,因此ssng的性能略好于地铁站。由于上述相同的原因,tam的f-measure测量值远低于fieseq和ssng的f-measure的测量值。由此可见,本申请实施例提供的路径构建方法无论是应用在地铁站还是食堂,实验效果都大大优于ssng和tam。图5a和图5b分别示出了doc与地铁站和食堂中ios追踪的macid数量的关系,其中,图5a为地铁站,图5b为食堂。在地铁站和食堂,本申请实施例提供的路径构建方法都优于ssng和tam,该路径构建方法的doc测量值非常稳定;并且即使mac的数量增加很多,doc测量值也可保持在较高水平。相反地,随着mac数量的增加,ssng的doc测量值降低。由于在30分钟内收集的探测信息的数量远远不足以形成移动设备的基于时间的指纹,因此tam的doc测量值仍然保持很低的水平。地铁站和食堂中的android模拟结果与ios追踪的结果具有相似的趋势。因此,为简洁起见,本申请实施例仅显示地铁站的数据以供说明。在android模拟中,设备的真实mac地址是可知的,并且也可为每个真实的mac地址提供id。因此,macid的数量与android设备的数量是对应的。图6和图7分别描述了地铁站中设备的数量如何影响f-measure和doc。尽管本申请实施例中的路径构建方法的性能略有下降,但与ssng和tam相比,本算法始终保持最高的f-measure值和doc值。值得注意的是,在android模拟中,tam的f-measure测量结果是可以接受的,特别是在地铁站中;然而tam在ios追踪中的表现却很糟糕,其背后有两个主要原因。首先,tam的原理是在使用相同的mac地址的帧之间使用帧间到达时间(inter-framearrivaltime,ifat)来确定设备指纹。然而,图8a显示了地铁站中每个具有虚拟mac的探测片段包含的回合数的cdf(cumulativedistributionfunction,积累分布函数),可以推断出大多数ios设备每回合都改变mac地址,因此,探测片段的数量远远不足以确定设备指纹。其次,图8b显示了地铁站中每个具有真实mac的探测片段包含的回合数的cdf,超过一半的android设备在观察期间仅发送1个回合。基于tam,由1个回合组成的探测片段被分组到不同的组中,会导致非常高的f-measure值,有助于tam的总体平均准确度。然而,由于tam无法显示足够的证据来支持如此高的准确性,因此,该准确性并不可靠。由于食堂的android模拟结果类似,为简洁起见,本实施例在此不再赘述。为了研究数据包丢失如何影响本实施例申请的路径构建方法的性能,还可通过随机删除一小部分数据包来进行模拟。图9显示了在食堂的ios追踪中f-measure与被删除的数据包的百分比之间的关系。从图9可知,当超过60%的探测请求被随机移除时,ssng的f-measure值受到了严重的影响,而本路径构建方法的f-measure值仍保持在较高的水平。这是由于fieseq在seq间隔计算中是有效的,且fieseq仅考虑公式(4)和公式(8)中的1个回合中的第一个节点和最后一个节点。此外,在计算seq间隔时,公式(7)和公式(8)还可以自适应地处理一些方差。基于相似的原因,tam的f-measure值始终很低。其它实验结果也体现了相同的趋势,为简洁起见,本申请实施例在此不再赘述。当移动客户端想要发现附近可用的ap时,移动客户端会利用探测请求执行主动扫描过程。在探测请求中,802.11设备可以使用称为ie或标记参数的重要部分来向可访问ap广播其功能和配置。ieee802.11标准定义每个ie由1个八位字节的元素id字段(由标准分配),1个八位字节的长度字段(信息字段的长度)和元素特定信息字段组成。可以使用ie来区分设备的原因如下:1)一些ie是可选的,因此不同设备的ie集合可能会有所不同;2)不同设备的能力各不相同,因此不同设备的ie的内容不同;3)由于802.11标准允许非标准供应商特定ie来满足灵活性和不同约束的需求,有些供应商可以指定一些ie,这使得一些设备的ie与其它设备更加不同。为了进一步确定应该选择哪个ie来确定移动设备的指纹,可分别分析在地铁站和大食堂区域收集的两个数据集合中的探测信息包含的所有ie。统计结果如表4所示,其中ie及其唯一id的显示顺序与标准中提供的顺序相同。需要说明的是,由于设备在不同频段的功能和配置不同,因此同一设备在2.4g频段的ie和在5g频段的ie不同。为了避免混淆,本申请实施例仅以利于设备在2.4g频段的ie来确定设备的指纹为例,对确定ie指纹的具体路径构建方法进行说明。表4:在地铁站和食堂收集的两个数据集中的信息要素统计数据标注:“-”表示n/a;“*”表示需要分析。可确定探测信息与探测片段共用相同的mac地址。为了研究具有虚拟mac和真实mac的探测片段的ie的相似性和差异性,可将捕获到的探测信息分组为两组。第一组中的探测片段具有虚拟mac地址,第一组由vseg表示;另一组中的探测片段具有真实mac地址的段,第二组由tseg表示。由第一组可以看出,ie发生变化与否与根据观察设备是否改变mac地址无关。在表4中,我们定义了两个术语,即不变性和通用性。一个ie的不变性表示包含该ie的探测片段的百分比且该ie的值不随时间改变。一个ie的通用性表示在探测信息中包含该ie的探测片段所占的百分比。特别地,dsss参数集的信息字段是发送信道。一部分设备在探测信息中不包含该ie,使得这些设备与其它设备不同。因此,可使用该ie的存在性来计算不变性和通用性。一些供应商特定ie具有相同的id(221)但不同长度。此类ie的信息字段由组织标识符和某些供应商特定内容组成。分别分析这些ie的结果在表5的raw列中显示,其中,由于长度为7和8的ie与其它ie相比具有非常低的不变性,因此表5仅详细显示长度为7和8的ie,并将其余的ie分类为其它ie。由于保持元素id字段、长度字段和组织标识符字段随时间不变,因此,可通过保持元素id字段、长度字段和组织标识符字段来处理长度为7和8的ie。在表5的processed列中显示了已处理的ie的新不变性。使用这种方式,可使得每个供应商特定ie具有超过99%的不变性。表5:raw和processed的供应商特定ie(id:221)统计信息标注:“-”表示n/a。在本申请实施例中,仅考虑vseg和tseg中具有高不变性和高通用性的ie,以形成设备的指纹并将其称为ie指纹。具体来说,ie指纹可包括支持速率(supportedrates),扩展支持速率(extendedsupportedrates),ht能力(htcapabilities),扩展能力(extendedcapabilities),dsss参数集(dsssparameterset),互通(interworking)和供应商特定(vendorspecific)。一些ie以上述方式处理。多个设备可共享相同的ie指纹。如图10所示,广播真实mac地址的设备总数为4,965,但是不同ie指纹值的数量是747,这清楚地说明多个设备共享相同的ie指纹。实际上,根据图10可知,某几个ie指纹值所占的比重非常大。因此,可得出结论,ie指纹不能用于唯一识别设备。但是,如果根据探测片段的ie指纹对探测片段进行分组,则可有助于在寻找一个探测片段的下一个探测片段时,缩小寻找的范围,进而有助于提高构建路径的准确性。此外,根据探测片段的ie指纹对探测片段进行分组还有助于减小计算量,提高计算速度。用于信息元素指纹识别的算法1在表6中示出。令mac表示相同的mac地址,而ief表示相同的ie指纹值。首先,按时间顺序连接mac相同的探测信息以形成探测片段。然后我们将探测片段插入字典,由dief表示,其中ief为键。将得到的dief传递给随后的seq分析,以进行进一步的聚合。表6:算法1:信息元素指纹识别为了使其更直观,通过举例对算法1进行说明。假设有3个设备使用虚拟mac地址广播探测信息,可为每个mac地址分配一个id,并将共享相同虚拟mac地址的探测信息连接在一起以形成探测片段。分散和断开的探测片段如图1a所示。然后,可根据各探测片段的ie指纹对探测片段进行分组。结果如图11a和图11b所示。探测请求是一种管理帧。ieee802.11标准规定每个管理帧包含一个唯一的seq,位于一个12位的字段中,其值为4,096的模。802.11设备每发出一帧,seq增加1,并且每个分段帧的seq保持相同。因此,在利用探测请求的seq的单调增加和重复特性来追踪802.11设备过程中,seq起着重要作用。在执行主动扫描时,设备会重复在国家或地区允许的所有可用信道上发送探测请求,以发现尽可能多的ap。为方便起见,在本申请实施例中,可将每个具有时间戳的探测请求定义为节点(node),将在回送之前发送到不同信道的各探测请求的统一的序列作为一回合(round),以及将在一回合中被发送到同一信道的连续的探测请求作为一阵(burst)。实验证明,虚拟mac地址在同一回合内不会发生变化,并且在连续几回合内都会保持不变。因此,可定义共享相同虚拟mac地址的一个回合链作为一个探测片段。这里与先前的定义没有冲突,因为探测片段实际上也是具有相同mac地址的节点的连接链。基于上面的定义,图12直观地显示了设备的主动扫描过程。在一个回合中,阵在不同的信道(图12未示出不同信道)上发送。因此,可将设备的路径定义为按时间顺序连接的探测片段链。在一个路径中,对于给定的探测片段,定义前向片段为出现在该给定的探测片段之后的相邻探测片段。为了进一步研究seq的特征,根据本申请实施例进行了长时间的实验,捕获从智能手机传输的探测请求。由实验可观察到一些设备在每个主动扫描回合后重置其序列号,本申请实施例提供的路径构建方法可忽略这一特征,因为这种设备所占的比例非常小(约2.9%),如表7的row1所示。表7:seq观察的统计数据当设备未连接到ap时,同一设备的各个回合的seq是连续的,并且与该设备是否在两个连续回合之间改变mac地址无关。在同一回合中,阵的平均大小是常数,通常为一个或两个。由于一些未采用随机化的设备更倾向于在同一频道上广播更多携带有之前已连接的ap的ssid的探测请求,因此这些设备的阵的平均大小可能更大。然而,根据相关技术可知,这些设备所占的比例很低。如表7的第2行所示,发生在几个通道上没有探测信息发送的平均统计概率为1.5%。还得出结论,一个回合的最大长度与一个地区或国家允许的可用通道数成正比,该比率为该回合内阵的平均大小。至于为什么存在这种比例关系,可以直观地描述为设备在同一信道上连续发送多个探测信息并且在所有可用信道上重复执行相同的过程。因此,基于以上观察,可以使用一个回合的各seq来计算下一个回合的各seq的范围。另外,根据本中请实施例还可观察到主动扫描中的通道顺序略有不同但不随机化,因此一个通道中连续序列号之间的间隔分布很集中。例如,图13a和图13b分别显示了iphone6和iphonese的每两个连续回合之间的seq间隔的百分比分布。这里仅使用每个阵中最小的seq来计算间隔。出现双重或三重连续峰值是由于阵的大小(这两个设备的阵的大小都为2)和数据包丢失。明显的非均匀分布证明了非随机性。在未来,频道扫描的顺序也可以随机化。因此,本申请实施例提供的路径构建方法也可与可能的信道随机化兼容。此外,根据本申请实施例还可观察到不同设备的seq的增长率不同,并且各设备的seq增长率在一段时间内保持稳定。图14为通过比较两个智能手机(iphone7和iphone8plus)在一段时间内的探测请求而获得的典型示例。此外,当设备处于唤醒状态时,由于用户在设备上的操作或一些推送通知,与睡眠模式相比,seq的增长率有加快的趋势;也就是说最近的seq增长率可以代表设备的最近状态,因此可以用于区分不同的设备。设备的路径是连续探测片段链。因此,可以通过重复地找到当前探测片段的前向片段来实现为设备构建路径。为方便起见,使用sa来表示具有虚拟maca的探测片段,用sb来表示具有虚拟macb的探测片段,依此类推。为了检查sb是否是sa的前向片段,由于前向片段一定出现在给定片段(当前探测片段)之后,因此可首先检查两个探测片段的时间戳。可设置最大时间δt以排出不可能的候选者并找到前向片段。将sa和sb内的各个节点的时间戳分别描述为ta和tb。如果sb是sa的前向片段,则必须保持以下条件c1:c1:0<min(tb)-max(ta)<δt(3)。然而,由于除了sb之外还有许多满足条件c1的段,因此,仅满足条件c1远远不足以确定sb是否是sa的前向片段。因此,还需要通过检查sa和sb的seq来进一步排除满足条件c1但不可能为sa的前向片段的探测片段。如前所述,同一设备的各回合的seqs是连续的;因此,当寻找给定片段的前向片段时,只有给定片段的最后一回合和前向片段的第一回合可对寻找结果产生影响。用ira表示sa的最后一回合,frb表示sb的第一回合。用fseqa和lseqa分别表示在ira中接收的第一个节点和最后一个节点的seq。fseqb和lseqb以类似的方式定义。在ira中,seq的已知长度lena可以通过公式(4)计算得到:lena=g(fseqa,lseqa)+1(4),其中,g是两个序列数的间隔,可以通过公式(5)计算得到:g(seq1,seq2)=(seq2-seq1)%4096(5);在公式(5)中,两个序列数的间隔是4096的模,因此公式(5)可以处理环绕情况。lenb可以相同的方式计算得到。如前所述,一回合的长度与可用信道成比例,且比率的大小等于阵的平均大小。因此,该回合的最大长度max(r)可由下式计算得到:max(r)=n*size(r)(6),其中n为一个国家或地区中最大的可用信道数,而size(r)为一回合r内的阵的平均大小。对于给定的回合和给定的国家或地区,这些参数都为常数。fseqb和fseqa之间的最大seq间隔gapmax可由下式计算得到:gapmax=max(a)+max(b)-lena-lenb+1(7)。如果sb是sa的下一个片段(前向片段),则应满足以下条件:c2:1<g(lseqa,fseqb)<gapmax(8)因此,sb是否是sa的前向片段取决于以下条件是否成立:condition(sa,sb,δt)=c1&c2(9)。如前所述,目前通道的顺序不是随机的。通过精心选择传感器的嗅探通道的分布,可以使用公式(7)有效地降低gapmax。尽管可能出现通道随机化,并且有时在几个通道上没有发送探测请求,但由于公式(7)和公式(8)是自适应的并且通过给出最小和最大的seq间隙来考虑最坏的情况,因此公式(7)和公式(8)仍然可以正常工作。在公式(9)中,c1描述了时间要求;c2描述了seq要求,并且c2类似带宽滤波器,可在寻找给定片段的前向片段时有效地消除不可能的片段。如前所述,如果公式(9)中的条件成立,则找到前向片段。但有的时候不止一个前向片段符合条件。为了在这些可能的前向片段中进一步确定出最有可能实际上正确的前向片段,还可以使用seq的生长速率作为确定的标准。给定一个探测片段sa,用fnseqa和lnseqa分别表示第一个节点和最后一个节点的seq,以及用fnsta和lnsta分别表示第一个节点和最后一个节点的时间戳。可首先计算绝对seq增长率:其中,g(fnseqa,lnseqa)在公式(5)中定义。设γ(sa,sk)表示段sa与其可能的前向片段sk之间的相对seq增长率,则γ(sa,sk)可通过以下方式计算:根据本申请提供的实施例,可选择相对增长率最低的回合作为sa的前向片段。在应用算法1之后,我们通过ie指纹将各探测片段聚合成字典,由dief表示。对于具有相同键ief的每组探测片段,可应用表8中的算法2序列号分析(seqa),通过两次调用核函数来构建设备的完整路径。表8:算法2:序列号分析核函数在表9的算法3中显示,核函数是具有三个输入的深度优先算法:l为一个探测片段列表;δt为找到前向片段的最大时间;flag,为指示是否检查增长率条件的标志。由于seq增长率在很短的时间内相对波动可能很大,因此第一次调用核心函数的目的只是考虑seq间隔条件。因此,当找到多个前向片段时,可给予seq间隔优先级并使探测片段断开。在此调用中,可将flag设置为“假”。表9:算法3:核函数(core)在第一次调用之后,可获得部分构建的路径,可称为部分路径。每个部分路径都是一个探测片段链,表示设备的部分路径。然后,可再次在部分路径上调用核心函数,通过考虑seq增长率条件来构建设备的完整路径。此次,将flag设置为“真”。在第二次调用中,由于增长率在很长一段时间后可能变化很大,因此可选择一个探测片段与其可能的前向片段之间的一些最近的相邻回合来计算相对增长率。如果找到两个或多个部分路径有可能作为当前部分路径的下一个,可选择具有最小相对增长率的部分路径作为当前部分路径的下一个。为了使其更直观,本申请实施例通过举例具体说明seq分析算法。此示例基于图11所示的ie指纹识别的先前示例。可进一步应用seq分析来构建这些设备的路径。首先,可使用seq间隔构建部分路径,其结果如图15a所示。需要注意的是,有三个设备,但构建了5个部分路径;其原因是,当在基于seq间隔来寻找一个探测片段的前向片段时,得到多个后续片段(有可能为前向片段的片段),并且没有将这些片段连接起来。在检查seq间隔条件后,可比较每两个部分路径的增长率,以进一步将它们连接成完整路径。结果如图15b所示,部分路径被连接成完整路径。到目前为止,我们已完成所有路径构建过程,最终结果如图1b所示。至于本申请实施例提出的路径构建方法的时间复杂度,假设有k个ie指纹,由于核函数为深度优先算法,其时间复杂度为o(n2),因此总时间复杂度为o(kn2),其中n为探测片段的数量。综上所述,如图16所示,其为本申请实施例提供的路径构建方法的流程示意图,可包括步骤1601-步骤1604。在步骤1601中,获取探测请求,每个探测请求携带mac信息、时间戳信息、数据字段信息和序列号信息。在步骤1602中,按时间先后顺序各自排列mac信息相同的探测请求,得到多个探测片段。在步骤1603中,分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合。在本申请实施例中,数据字段信息可包括预设ie。在本申请实施例中,步骤1603分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合,可具体包括:针对任一探测片段,根据包括的探测请求携带的预设信息元素,确定任一探测片段的设备指纹;以及,分别集合设备指纹相同的探测片段,得到多个探测片段集合。在本申请实施例中,预设信息元素可包括支持速率、扩展支持速率、ht能力、扩展能力、dsss参数集、互通和供应商特定中的任意一个或多个。在步骤1604中,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径。在本申请实施例中,步骤1604针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径,可具体包括:针对任一探测片段集合中的任一探测片段,确定任一探测片段的前向片段,其中,任一探测片段的前向片段的序列号信息与任一探测片段的序列号信息满足预设条件;以及,将各探测片段与各探测片段的前向片段的分别对应连接,得到一个或多个移动设备的构建路径。在本申请实施例中,确定任一探测片段的前向片段,可具体包括:响应于确定任一探测片段集合中存在一个潜在前向片段,且该一个潜在前向片段对应的序列号与任一探测片段的序列号的差值满足第一条件,确定一个潜在前向片段为任一探测片段的前向片段;响应于确定任一探测片段集合中存在多个潜在前向片段,且每个潜在前向片段对应的序列号与任一探测片段的序列号的差值满足第一条件,从多个潜在前向片段中,确定对应的序列号与任一探测片段的序列号之间的增长率满足第二条件的任一探测片段的前向片段。在本申请实施例中,在确定任一探测片段集合中存在任一探测片段的一个或多个潜在前向片段之前,该方法还可包括:针对任一探测片段的任一潜在前向片段,根据时间戳信息,确定任一潜在前向片段对应的时间与任一探测片段对应的时间的差值小于预设阈值。在本申请实施例中,确定任一潜在前向片段对应的时间与任一探测片段对应的时间的差值小于预设阈值,可具体包括:确定任一潜在前向片段与任一探测片段满足以下关系:0<min(tb)-max(ta)<δt;其中,ta为任一探测片段包括的各个探测请求的时间戳,tb为任一潜在前向片段包括的各个探测请求的时间戳,δt为预先设置的设备连续两个主动扫描回合之间的时间间隔。在本申请实施例中,针对任一探测片段的任一潜在前向片段,确定任一潜在前向片段对应的序列号与任一探测片段的序列号的差值满足第一条件,可具体包括:确定任一潜在前向片段与任一探测片段满足以下关系:1<g(lseqa,fseqb)<gapmax;其中,gapmax=max(a)+max(b)-lena-lenb+1;lena=g(fseqa,lseqa)+1;lenb=g(fseqb,lseqb)+1;max(a)=n*size(sa);max(b)=n*size(sb);sa表示任一探测片段,sb表示任一潜在前向片段;fseq表示探测片段中按时间先后顺序排列的第一个探测请求的序列号,lseq表示探测片段中按时间先后顺序排列的最后一个探测请求的序列号;n为预先获取的最大的可用信道数,size(s)为在探测片段的一个主动扫描回合中,通过同一信道连续发送的探测请求的个数;以及,g(m,n)表示n与m的差值除以4096的余数。在本申请实施例中,从多个潜在前向片段中,确定对应的序列号与任一探测片段的序列号之间的增长率满足第二条件的任一探测片段的前向片段,可具体包括:从多个潜在前向片段中,确定对应的序列号与任一探测片段的序列号之间的增长率最小的任一探测片段的前向片段,其中,任一探测片段的任一潜在前向片段对应的序列号与任一探测片段的序列号之间的增长率为:其中,sa表示任一探测片段,sb表示任一潜在前向片段;以及,其中,fseq表示探测片段中按时间先后顺序排列的第一个探测请求的序列号,lseq表示探测片段中按时间先后顺序排列的最后一个探测请求的序列号;fnst表示探测片段中按时间先后顺序排列的第一个探测请求的时间戳,lnst表示探测片段中按时间先后顺序排列的最后一个探测请求的时间戳,以及,g(m,n)表示n与m的差值除以4096的余数。综上所述,本申请实施例提供的路径构建方法,可获取探测请求,每个探测请求携带mac信息、时间戳信息、数据字段信息和序列号信息;按时间先后顺序各自排列mac信息相同的探测请求,得到多个探测片段;分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合;以及,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径。也就是说,在设备执行主动扫描过程中广播的mac地址随机变化的场景下,可首先根据虚拟mac地址和时间戳将各探测请求划分成多个探测片段,再根据数据字段信息对探测片段进行分组,从而可能来自同一设备的探测片段在同一组中,不可能来自相同设备的探测片段在不同组中;最后,根据序列号信息,将同一组中的探测片段连接成与设备一一对应的一个或多个路径。不仅解决了现有设备在执行主动扫描过程中广播的mac地址随机变化,导致的设备的移动路径不可重建的问题;而且整个路径构建的过程中,均不涉及任何设备的真实mac地址,即在不获取移动设备真实身份的前提下,重建移动设备的移动路径,保护了用户的隐私。如图17所示,其为本申请实施例提供的路径构建系统的结构示意图,该路径构建系统可包括传感器1701和服务器1702。传感器1701,可配置为获取探测请求,每个探测请求携带mac信息、时间戳信息、数据字段信息和序列号信息;以及将获取到的探测请求发送至服务器1702。服务器1702,配置为按时间先后顺序各自排列mac信息相同的探测请求,得到多个探测片段;分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合;以及,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径。在本申请实施例中,传感器1701可用于执行本申请提供的路径构建方法中由传感器1701执行的方法步骤,服务器1702可用于执行本申请提供的路径构建方法中由服务器1702执行的方法步骤,路径构建方法的具体执行过程可参考前述各实施例,本申请在此不再赘述。本申请实施例提供的路径构建系统,传感器可获取探测请求,每个探测请求携带mac信息、时间戳信息、数据字段信息和序列号信息;服务器可按时间先后顺序各自排列mac信息相同的探测请求,得到多个探测片段;分别集合包括的探测请求的数据字段信息相同的探测片段,得到多个探测片段集合;以及,针对任一探测片段集合,连接包括的探测请求的序列号信息满足预设条件的各探测片段,得到一个或多个移动设备的构建路径。也就是说,在设备执行主动扫描过程中广播的mac地址随机变化的场景下,可首先根据虚拟mac地址和时间戳将各探测请求划分成多个探测片段,再根据数据字段信息对探测片段进行分组,从而可能来自同一设备的探测片段在同一组中,不可能来自相同设备的探测片段在不同组中;最后,根据序列号信息,将同一组中的探测片段连接成与设备一一对应的一个或多个路径。不仅解决了现有设备在执行主动扫描过程中广播的mac地址随机变化,导致的设备的移动路径不可重建的问题;而且整个路径构建的过程中,均不涉及任何设备的真实mac地址,即在不获取移动设备真实身份的前提下,重建移动设备的移动路径,保护了用户的隐私。应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、路径构建方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、路径构建方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1