一种位置数据的处理方法和装置的制造方法

文档序号:10725052阅读:497来源:国知局
一种位置数据的处理方法和装置的制造方法
【专利摘要】本申请实施例提供了一种位置数据的处理方法和装置,其中的方法具体包括:获取当前用户设备的硬件信息;依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;或者,在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。本申请实施例可以鉴别出模拟位置数据,故在本申请实施例应用于位置相关APP时,可以使位置相关APP拦截或者阻止鉴别出模拟位置数据的上报;因此,可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
【专利说明】
一种位置数据的处理方法和装置
技术领域
[0001] 本申请涉及地理位置技术领域,特别是涉及一种位置数据的处理方法和装置。
【背景技术】
[0002] 随着信息技术产业的迅猛发展,配备GPS(全球定位系统,Global Positioning System)功能的智能手机数量已经超过7.7亿部,位置数据及LBS(位置服务)已经开始渗透 到健康、广告、天气预报、旅游、甚至购物等领域。
[0003] 目前,智能手机大多具备位置数据的上报功能,也即将获取的位置数据上报至LBS 系统的服务器。相应地,LBS系统的服务器可以将多个用户在不同时刻的位置信息汇聚起来 形成海量的训练数据,并对该训练数据进行深度的数据挖掘,以得到相应的用户模型(如用 户画像模型)。
[0004] 同时,目前很多手机模拟器提供模拟GPS位置的功能,在具体实现中,该手机模拟 器可以允许用户手动设置一个经炜度来模拟GPS位置,上述模拟GPS位置的功能可应用于应 用的调试。另外,目前智能手机上的一些应用也可以提供模拟GPS位置的功能,以满足用户 将智能手机的位置定位到想要的地方的需求。
[0005] 由于上述手机模拟器模拟的GPS位置(以下简称模拟位置)为虚拟位置而非真实位 置,而在实际应用中手机模拟器或者智能手机通常会将所获取的位置数据一并上报,这样 模拟位置数据往往不可避免地被上报给服务器,故这些上报的模拟位置数据将成为训练数 据中的脏数据、进而对训练数据造成污染。而训练数据的污染将影响数据挖掘的精度,从而 影响LBS的准确度。

【发明内容】

[0006] 本申请实施例所要解决的技术问题是提供一种位置数据的处理方法,能够鉴别出 模拟位置数据。
[0007] 相应的,本申请实施例还提供了一种位置数据的处理装置,用以保证上述方法的 实现及应用。
[0008] 为了解决上述问题,本申请公开了一种位置数据的处理方法,包括:
[0009] 获取当前用户设备的硬件信息;依据所述当前用户设备的硬件信息,鉴别所述当 前用户设备提供的当前位置数据是否为模拟位置数据;或者,
[0010]在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备 提供的当前位置数据为模拟位置数据。
[0011] 可选地,所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的 当前位置数据是否为模拟位置数据的步骤,包括:
[0012] 将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹 配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据;或者
[0013] 将所述当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹 配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0014] 可选地,所述硬件信息包括如下信息中的至少一种:主板信息、序列号、设备名称 和硬件制造商信息。
[0015] 可选地,所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的 当前位置数据是否为模拟位置数据的步骤,包括:
[0016] 从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信 息;
[0017] 将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹 配;
[0018] 在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成 功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
[0019] 在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失 败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息 的一种,作为新的待匹配硬件信息,并返回执行所述将所述当前用户设备的待匹配硬件信 息与预置虚拟设备的第一硬件信息进行匹配的步骤。
[0020] 另一方面,本申请公开了一种位置数据的处理方法,包括:
[0021 ]获取当前用户设备的硬件信息;
[0022] 依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据 是否为模拟位置数据;
[0023] 在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位 置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述当前用户设备中 是否存在具备模拟位置权限的应用程序;
[0024]在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户 设备提供的当前位置数据为模拟位置数据。
[0025] 可选地,所述方法还包括:
[0026] 在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用 户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户 设备提供的当前位置数据是否为模拟位置数据。
[0027] 可选地,所述依据所述当前用户设备提供的当前位置数据的信息和/或所述当前 用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数 据的步骤,包括:
[0028] 在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用 户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模 拟位置数据;
[0029] 在所述依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设 备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,依据所述 当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位 置数据。
[0030] 可选地,所述SDK版本信息包括:SDK版本号,所述依据所述当前用户设备的SDK版 本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括:
[0031]在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的 当前位置数据为模拟位置数据。
[0032] 可选地,所述方法还包括:
[0033]在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的 SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判 定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0034] 可选地,所述方法还包括:
[0035]针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;
[0036]依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验 证。
[0037]再一方面,本申请公开了一种位置数据的处理装置,包括:第一鉴别模块或者第二 鉴别模块;
[0038]其中,所述第一鉴别模块,包括:
[0039] 获取子模块,用于获取当前用户设备的硬件信息;以及
[0040] 硬件鉴别子模块,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设 备提供的当前位置数据是否为模拟位置数据;
[0041] 所述第二鉴别模块,用于在当前用户设备中存在具备模拟位置权限的应用程序 时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0042] 可选地,所述硬件鉴别子模块,包括:
[0043] 第一硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置虚拟设备的第一 硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位 置数据;或者
[0044] 第二硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置物理设备的第二 硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位 置数据。
[0045] 可选地,所述硬件信息包括如下信息中的至少一种:主板信息、序列号、设备名称 和硬件制造商信息。
[0046] 可选地,所述硬件鉴别子模块,包括:
[0047] 第一选择单元,用于从主板信息、序列号、设备名称和硬件制造商信息中选择一 种,作为待匹配硬件信息;
[0048] 匹配单元,用于将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬 件信息进行匹配;
[0049] 判定单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬 件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;以及
[0050] 第二选择单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第 一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所 述待匹配硬件信息的一种,作为新的待匹配硬件信息,并触发所述匹配单元执行所述将所 述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的操作。
[0051] 又一方面,本申请公开了一种位置数据的处理装置,包括:
[0052] 获取模块,用于获取当前用户设备的硬件信息;
[0053] 第一鉴别模块,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备 提供的当前位置数据是否为模拟位置数据;
[0054] 应用检测模块,用于在所述依据所述当前用户设备的硬件信息,鉴别所述当前用 户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测 所述当前用户设备中是否存在具备模拟位置权限的应用程序;
[0055] 第二鉴别模块,用于在所述当前用户设备中存在具备模拟位置权限的应用程序 时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0056] 可选地,所述装置还包括:
[0057]第三鉴别模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序 时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信 息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
[0058]可选地,所述第三鉴别模块,包括:
[0059] 位置鉴别子模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程 序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的 当前位置数据是否为模拟位置数据;
[0060] 版本鉴别子模块,用于在所述依据所述当前用户设备提供的当前位置数据的信 息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结 果为不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前 位置数据是否为模拟位置数据。
[0061 ]可选地,所述SDK版本信息包括:SDK版本号,所述版本鉴别子模块,包括:
[0062]第五判定单元,用于在所述当前用户设备的SDK版本号不超过阈值时,判定所述当 前用户设备提供的当前位置数据为模拟位置数据。
[0063] 可选地,所述装置还包括:
[0064]第四鉴别模块,用于在所述当前用户设备的SDK版本号超过所述阈值时,依据所述 当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提 供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0065] 可选地,所述装置还包括:
[0066] 预测模块,用于针对当前用户设备中存在具备预置权限的目标应用程序,对其操 作进行预测;
[0067] 验证模块,用于依据所述操作的预测结果对除所述目标应用程序之外的应用程序 的逻辑进行验证。
[0068] 与现有技术相比,本申请实施例包括以下优点:
[0069] 本申请实施例依据当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前 位置数据是否为模拟位置数据,或者,在当前用户设备中存在具备模拟位置权限的应用程 序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;由于本申请实施例可 以鉴别出模拟位置数据,故在本申请实施例应用于位置相关APP时,可以使位置相关APP拦 截或者阻止鉴别出模拟位置数据的上报;因此,可以避免模拟位置数据对于服务器的训练 数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
[0070] 并且,对于本申请实施例的基于当前用户设备的硬件信息的位置数据的鉴别而 言,由于其利用的是"依据当前用户设备的硬件信息判断当前的设备环境"的原理,故其能 够将虚拟设备环境提供的位置数据判定为模拟位置数据;而在实际应用中,模拟位置数据 大多来源于例如模拟器的虚拟设备,据统计例如模拟器的虚拟设备能够产生大约80 %的模 拟位置数据,故应用本申请实施例,可以拦截大约80%的模拟位置数据,因此能够保证数据 挖掘的精度和LBS的准确度。
【附图说明】
[0071] 图1是本申请的一种位置数据的处理方法实施例一的步骤流程图;
[0072] 图2是本申请的一种依据当前用户设备的硬件信息,鉴别当前用户设备提供的当 前位置数据是否为模拟位置数据的方法的步骤流程图;
[0073]图3是本申请的一种位置数据的处理方法实施例三的步骤流程图;
[0074] 图4是本申请的一种位置数据的处理方法实施例四的步骤流程图;
[0075] 图5是本申请的一种位置数据的处理方法实施例五的步骤流程图;
[0076] 图6是本申请的一种位置数据的处理方法实施例六的步骤流程图;
[0077] 图7是本申请的一种位置数据的处理装置实施例一的结构框图;以及
[0078] 图8是本申请的一种位置数据的处理装置实施例二的结构框图。
【具体实施方式】
[0079] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本申请作进一步详细的说明。
[0080] 本申请实施例可以应用于位置数据的鉴别,也即,可以鉴别当前位置数据是否为 模拟位置数据,这样,在判定当前位置数据为模拟位置数据时,可以拦截或者阻止模拟位置 数据的上报,因此,可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数 据挖掘的精度和LBS的准确度。
[0081] 本申请实施例中的当前位置数据可由当前用户设备提供,其中,所述用户设备具 体包括:物理设备和虚拟设备,这样,上述当前用户设备可以为物理设备和虚拟设备中的一 种。
[0082]上述物理设备可以为配备GPS功能的设备。在实际应用中,上述物理设备可以设置 有GPS功能模块,以通过该GPS功能模块提供当前位置数据,其中,上述物理设备提供的当前 位置数据可能是模拟位置数据,也可能是真实位置数据。可选地,上述物理设备具体可以包 括但不限:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3, Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准 音频层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算 机、车载电脑、台式计算机、机顶盒、智能电视机、穿戴式设备等等。
[0083]上述虚拟设备具体可以包括:手机模拟器、位置模拟器等模拟器。例如, GenyMotion是一种常见的应用于android(安卓)操作系统的第三方模拟器,通过此软件可 以在PC(个人计算机,Personal Computer)侧调试应用时模拟出对应的当前位置数据。可以 看出,上述虚拟设备提供的当前位置数据通常为模拟位置数据。
[0084] 方法实施例一
[0085]参照图1,示出了本申请的一种位置数据的处理方法实施例一的步骤流程图,具体 可以包括如下步骤:
[0086] 步骤101、获取当前用户设备的硬件信息;
[0087] 步骤102、依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前 位置数据是否为模拟位置数据。
[0088] 本申请实施例可以适用于当前用户设备不确定的情形,也即可以在当前用户设备 不确定的情形下进行当前位置数据的鉴别,上述当前用户设备不确定具体表示不确定当前 用户设备为物理设备和虚拟设备中哪一种,此种情况下,可以依据当前用户设备的硬件信 息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
[0089] 本申请实施例在进行当前位置数据的鉴别时,可以依据当前用户设备的硬件信息 判断当前是否运行在虚拟设备环境中,进而依据判断结果对用户设备提供的当前位置数据 是否为模拟位置数据进行鉴别,其中,在当前运行在虚拟设备环境时,可以判定用户设备提 供的当前位置数据为模拟位置数据。
[0090] 在实际应用中,物理设备或虚拟设备所运行的操作系统均可以具有对应的SDK(软 件工具开发包,Software Development Kit),故上述步骤101可以基于物理设备或虚拟设 备所运行的操作系统对应的SDK获取当前用户设备的硬件信息。其中,物理设备所运行的操 作系统的安装包中可以包含上述SDK;虚拟设备的安装包中也可以包含上述SDK,或者,在虚 拟设备的安装包中不包含上述SDK时,可以将所有版本的操作系统的SDK下载至PC的预设目 录中,则当在该PC上运行虚拟设备时,可以从该预设目录中读取与虚拟设备所运行的操作 系统的版本相匹配的SDK。
[0091] 在本申请的一种可选实施例中,所述硬件信息具体可以包括如下信息中的至少一 种:主板信息、序列号、设备名称和硬件制造商信息。
[0092]在此提供一种依据SDK获取的物理设备的硬件信息的示例。
[0094]在此提供一种依据SDK获取的虚拟设备的硬件信息的示例。
[0095] bu i 1 d =[ HARDWARE = vbo x86M0DEL = Sony Xperia Z-4.3-API 18- 1080xl920BRAND = generic MANUFACTURER = Genymotion其中,BRAM)表示品牌, MANUFACTURER表示硬件制造商。
[0096] 可以理解,上述硬件信息及其获取过程只是作为本申请的示例,实际上本申请实 施例对于具体的硬件信息及其获取过程不加以限制。
[0097] 在实际应用中,可以利用用户设备所运行的操作系统提供的API(应用编程接口, Application Program Interface)获取用户设备提供的当前位置数据。以安卓操作系统为 例,其具有一个GPS的管理类,称为LocationManager,所有的GPS定位服务都由其对象产生 并进行控制,则可以利用操作系统提供的LocationManager类的对象locationManager执行 有关GPS的操作。例如,Location是一个代表位置信息的抽象类,通过该抽象类可以获取所 有的位置数据,参照表1,示出了本申请的一种Location的方法的示意。
[0098] 表 1
[0100] 可以理解,上述通过表1获取用户设备提供的当前位置数据的过程只是作为示例, 实际上,本申请实施例对于获取用户设备提供的当前位置数据的具体过程不加以限制。
[0101] 在本申请的一种可选实施例中,所述依据所述当前用户设备的硬件信息,鉴别所 述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤102,具体可以包括:
[0102] 步骤A1、将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹 配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据;或者
[0103] 步骤A2、将所述当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹 配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0104] 步骤A1中预置虚拟设备的第一硬件信息可用于区分虚拟设备和物理设备,在实际 应用中,可以对收集的预置虚拟设备和预置物理设备的硬件信息进行比较,并依据比较结 果将预置物理设备不具备而预置虚拟设备具备的硬件信息,作为上述第一硬件信息。可选 地,预置虚拟设备的第一硬件信息具体可以包括:主板信息"unknown",序列号"sdk"或 "unknown"等,设备名称"generic"等。可以理解,本申请实施例对于预置虚拟设备的第一硬 件信息的具体获取过程不加以限制。可选地,在步骤A1的匹配失败时,鉴别所述当前用户设 备提供的当前位置数据是否为模拟位置数据的步骤102输出的鉴别结果可以为不确定,此 种情况下,需要继续对当前位置数据进一步鉴别,方可以得到确定的鉴别结果。
[0105] 步骤A2中预置物理设备的第二硬件信息可用于区分虚拟设备和物理设备,在实际 应用中,可以对收集的预置虚拟设备和预置物理设备的硬件信息进行比较,并依据比较结 果将预置物理设备具备而预置虚拟设备不具备的硬件信息,作为上述第二硬件信息。可以 理解,本申请实施例对于预置物理设备的第二硬件信息的具体获取过程不加以限制。可选 地,在步骤A2的匹配成功时,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置 数据的步骤102输出的鉴别结果可以为不确定,此种情况下,需要继续对当前位置数据进一 步鉴别,方可以得到确定的鉴别结果。
[0106] 在本申请的一种可选实施例中,所述依据所述当前用户设备的硬件信息,鉴别所 述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤102,具体可以包括:
[0107] 步骤B1、从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹 配硬件信息;
[0108] 步骤B2、将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息 进行匹配;
[0109] 步骤B3、在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息 匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
[0110] 步骤M、在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息 匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬 件信息的一种,作为新的待匹配硬件信息,并返回执行所述将所述当前用户设备的待匹配 硬件信息与预置虚拟设备的第一硬件信息进行匹配的步骤B2。
[0111] 上述可选实施例在待匹配硬件信息的匹配过程中,若当前用户设备的待匹配硬件 信息与预置虚拟设备的第一硬件信息相匹配,则可以判定所述当前用户设备提供的当前位 置数据为模拟位置数据,否则可以选择新的待匹配硬件信息,并进行新的待匹配硬件信息 的匹配。可以理解,本申请实施例对于主板信息、序列号、设备名称和硬件制造商信息在匹 配过程中的先后顺序不加以限制。
[0112] 参照图2,示出了本申请的一种依据当前用户设备的硬件信息,鉴别当前用户设备 提供的当前位置数据是否为模拟位置数据的方法的步骤流程图,具体可以包括如下步骤:
[0113] 步骤201、将当前用户设备的主板信息与预置虚拟设备的第一主板信息进行匹配, 若匹配成功,则执行步骤202,若匹配失败,则执行步骤203;
[0114] 步骤202、判定所述当前用户设备提供的当前位置数据为模拟位置数据;
[0115] 步骤203、将所述当前用户设备的序列号与预置虚拟设备的第一序列号进行匹配, 若匹配成功,则执行步骤202,若匹配失败,则执行步骤204;
[0116] 步骤204、将所述当前用户设备的设备名称与预置虚拟设备的第一设备名称进行 匹配,若匹配成功,则执行步骤202,若匹配失败,则执行步骤205;
[0117] 步骤205、将所述当前用户设备的硬件制造商信息与预置虚拟设备的第一硬件制 造商信息进行匹配,若匹配成功,则执行步骤202。
[0118] 图2所示的鉴别方法可以分别利用主板信息、序列号、设备名称和硬件制造商信息 进行当前位置数据的鉴别。可选地,在所述当前用户设备的硬件制造商信息与预置虚拟设 备的第一硬件制造商信息匹配失败时,鉴别所述当前用户设备提供的当前位置数据是否为 模拟位置数据的步骤102输出的鉴别结果可以为不确定。
[0119] 需要说明的是,上述主板信息、序列号、设备名称和硬件制造商信息对应的鉴别顺 序只是作为可选实施例,实际上,上述主板信息、序列号、设备名称和硬件制造商信息对应 的任一种排列顺序均可以适用于本申请实施例中位置顺序的鉴别,例如,主板信息、设备名 称、序列号和硬件制造商信息的顺序也是可行的,本申请实施例上述主板信息、序列号、设 备名称和硬件制造商信息对应的具体排列顺序不加以限制。
[0120] 以前述的GenyMotion模拟器为例,在其所提供当前位置数据的鉴别过程。是知名 的android第三方模拟器中,可以GenyMotion对应的硬件信息可以判断当前是否运行在模 拟器环境中,进而对当前获取的当前位置数据进行鉴别。由于GenyMotion的硬件信息包括: 主板信息"unknown",序列号"sdk",设备名称"generic"等,故通过上述图2,可以判断当前 运行在模拟器环境中,并判定GenyMotion所提供的当前位置数据为模拟位置数据。
[0121] 综上,本申请实施例依据当前用户设备的硬件信息,鉴别所述当前用户设备提供 的当前位置数据是否为模拟位置数据,由于本申请实施例可以鉴别出模拟位置数据,故在 本申请实施例应用于位置相关APP(应用程序,Application Program)时,可以使位置相关 APP对待上报的位置数据进行鉴别,并拦截或者阻止鉴别出模拟位置数据的上报;因此,可 以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS 的准确度。
[0122] 并且,对于本申请实施例的基于当前用户设备的硬件信息的位置数据的鉴别而 言,由于其利用的是"依据当前用户设备的硬件信息判断当前的设备环境"的原理,故其能 够将虚拟设备环境提供的位置数据判定为模拟位置数据;而在实际应用中,模拟位置数据 大多来源于例如模拟器的虚拟设备,据统计例如模拟器的虚拟设备能够产生大约80 %的模 拟位置数据,故应用本申请实施例,可以拦截大约80%的模拟位置数据,因此能够有效保证 数据挖掘的精度和LBS的准确度。
[0123] 方法实施例二
[0124] 本申请还提供了一种位置数据的处理方法实施例二,具体可以包括:在当前用户 设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据 为模拟位置数据。
[0125] 本申请实施例可以适用于当前用户设备不确定或者确定的情形,无论当前用户设 备为虚拟设备还是物理设备,由于虚拟设备和物理设备上都可以安装APP,且两种用户设备 上安装的APP均可以具备模拟位置权限,故本申请实施例可以依据当前用户设备中是否存 在具备模拟位置权限的应用程序进行当前位置数据的鉴别。本申请实施例主要以物理设备 为例对当前位置数据的鉴别过程进行说明,虚拟设备或者用户设备不确定时对应当前位置 数据的鉴别过程相互参照即可。
[0126] 目前,例如智能手机的物理设备上的一些APP也可以提供模拟GPS位置的功能,以 满足用户主观地将智能手机的位置定位到想要的地方的需求。本申请实施例经研究发现, 物理设备上的APP之所以能够模拟GPS位置,是因为其具备了模拟位置权限,故本申请实施 例可以通过检测当前物理设备中存在具备模拟位置权限的应用程序,进行当前位置数据的 鉴别。
[0127] 以安卓操作系统对应的物理设备为例,模拟位置权限具体为 android .permission .ACCESS_M0CK_L0CATI0N。则在实际应用中,可以在遍历当前物理设备 中已安装APP的信息时,其中的每个APP都会具备一个所有需要申请的权限列表,则可以将 模拟位置权限与该权限列表中的权限进行匹配,若匹配成功,则可以认为对应APP存在具备 模拟位置权限,从而确定对应APP有能力模拟位置,从而可以将判定所述当前物理设备提供 的当前位置数据为模拟位置数据。
[0128] 需要说明的是,当前用户设备为物理设备对应的确定方式可以有多种。例如,可以 利用方法实施例一判断当前是否运行在模拟器环境中,若是则确定当前用户设备为虚拟设 备,否则判断当前用户设备为物理设备。又如,可以通过用户的反馈确定当前用户设备是否 为物理设备,其中可以通过预置接口采集用户的反馈。或者,还可以通过当前用户设备的内 存等信息确定当前用户设备是否为物理设备,其中,物理设备的内存分配较为均匀,虚拟设 备的内存分配较为不均等。可以理解,本申请实施例对于当前用户设备为物理设备对应的 具体确定方式不加以限制。
[0129] 在本申请的一种可选实施例中,所述方法还可以包括:针对当前用户设备中存在 具备预置权限的目标应用程序,对其操作进行预测;依据所述操作的预测结果对除所述目 标应用程序之外的应用程序的逻辑进行验证。本可选实施例依据目标应用程序的操作的预 测结果对其他应用程序的逻辑进行验证,若上述预测结果对其他应用程序的逻辑无影响或 者无冲突,则验证通过,若上述预测结果对其他应用程序的逻辑有影响或者有冲突,则验证 不通过,并且可以依据预测结果修改其他应用程序的逻辑,故可以防止其他应用程序的逻 辑出现问题。
[0130] 其中,上述预置权限可以为任意权限,例如,上述预置权限具体可以包括:上述模 拟位置权限、或者拦截广播的权限等。
[0131] 在本申请的一种应用示例中,智能手机中APP1需要接收系统广播,比如收到短信 的广播,这个广播里携带的信息包括短信发送的时间、号码、收到的时间、短信内容等,以判 断某号码是否为恶意诈骗号码。假设APP1的判断逻辑为:若1小时内连续收到5个以上同一 个号码发来的信息、而且内容重复或者均包含特定关键词,则认为这个发送方为恶意诈骗 号码。然而,智能手机中APP2具备拦截广播的权限,由于APP2拦截的短信将不会到达APP1, 则将影响APP1的真实数据和判断逻辑,因此,APP1需要修改判断逻辑。
[0132] 综上,本申请实施例在当前用户设备中存在具备模拟位置权限的应用程序时,判 定所述当前用户设备提供的当前位置数据为模拟位置数据,由于本申请实施例可以鉴别出 模拟位置数据,故在本申请实施例应用于位置相关APP时,可以使位置相关APP对待上报的 位置数据进行鉴别,并拦截或者阻止鉴别出模拟位置数据的上报;因此,可以避免模拟位置 数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
[0133] 并且,本申请实施例利用的是"模拟位置权限为APP模拟位置的条件"的原理,故其 能够将存在具备模拟位置权限的APP提供的位置数据判定为模拟位置数据;而在实际应用 中,物理设备提供的模拟位置数据大多来源于存在具备模拟位置权限的APP,故应用本申请 实施例,可以拦截物理设备提供的大部分模拟位置数据,因此能够有效保证数据挖掘的精 度和LBS的准确度。
[0134] 方法实施例三
[0135] 参照图3,示出了本申请的一种位置数据的处理方法实施例三的步骤流程图,具体 可以包括如下步骤:
[0136] 步骤301、获取当前用户设备的硬件信息;
[0137] 步骤302、依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前 位置数据是否为模拟位置数据;
[0138] 步骤303、在所述步骤302输出的鉴别结果为不确定时,检测所述当前用户设备中 是否存在具备模拟位置权限的应用程序;
[0139] 步骤304、在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述 当前用户设备提供的当前位置数据为模拟位置数据。
[0140] 本申请实施例可以为方法实施例一和方法实施例二的组合,具体地,可以首先利 用方法实施例一对应的步骤301和步骤302进行当前位置数据的鉴别,并在步骤302输出的 鉴别结果为不确定时,利用方法实施例二进行当前位置数据的鉴别。
[0141] 对于本申请实施例步骤301和步骤302的基于当前用户设备的硬件信息的位置数 据的鉴别而言,其能够将虚拟设备环境提供的位置数据判定为模拟位置数据;在实际应用 中,模拟位置数据大多来源于例如模拟器的虚拟设备,故应用本申请实施例,可以拦截大约 80%的模拟位置数据,因此能够有效保证数据挖掘的精度和LBS的准确度。
[0142] 对于本申请实施例步骤303和步骤304的基于模拟位置权限的位置数据的鉴别而 言,其能够将存在具备模拟位置权限的APP提供的位置数据判定为模拟位置数据;而在实际 应用中,物理设备提供的模拟位置数据大多来源于存在具备模拟位置权限的APP,故应用本 申请实施例,可以拦截物理设备提供的大部分模拟位置数据,因此能够有效保证数据挖掘 的精度和LBS的准确度。
[0143] 方法实施例四
[0144] 参照图4,示出了本申请的一种位置数据的处理方法实施例四的步骤流程图,具体 可以包括如下步骤:
[0145] 步骤401、在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前 用户设备提供的当前位置数据为模拟位置数据;
[0146] 步骤402、在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所 述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据 是否为模拟位置数据。
[0147] 相对于方法实施例二或者方法实施例三,本实施例通过增加的步骤402描述了在 所述当前用户设备中不存在具备模拟位置权限的应用程序时、依据所述当前用户设备提供 的当前位置数据的信息进行当前位置数据的鉴别过程。
[0148] 在实际应用中,物理设备中的应用在模拟位置时,可以使用户随意更改自己的位 置数据。然而,用户自行设置的位置数据可能存在不合理的情况,具体地,位置数据中经炜 度可能存在不合理的值,如在上述位置数据中经度的绝对值大于90、或者炜度的绝对值大 于180时,可以认为位置数据不合理,因此可以认为上述位置数据为模拟位置数据。
[0149] 在本申请的其他实施例中,还可以依据所述当前用户设备提供的当前位置数据的 精度,进行当前位置数据的鉴别。例如,通常GPS功能模块所提供位置数据的预置精度为10 而所述当前用户设备提供的当前位置数据的精度为ΠΓ3,由于这两个精度不一致,故可 以认为上述位置数据为模拟位置数据。
[0150] 在本申请的其他实施例中,还可以依据所述当前用户设备在预定时间段内提供的 位置数据的变化,进行当前位置数据的鉴别。上述预定时间段的长度可由本领域技术人员 依据实际应用需求确定,例如,上述预定时间段的长度可以为60分钟、30分钟、10分钟等。可 选地,在所述当前用户设备在预定时间段内提供的位置数据的变化符合预置变化条件时, 可以认为上述位置数据为模拟位置数据。上述预置变化条件可与距离或者变化速度或者变 化次数相关,例如,在预定时间段内提供的位置数据的距离大于距离阈值时,可以认为上述 位置数据为模拟位置数据。如某智能手机在30分钟内的位置数据从中国北京变化为英国伦 敦,由于该变化大于该预定时间段内的变化的距离阈值,故可以认为预定时间段内提供的 位置数据中除常用位置数据之外的位置数据为模拟位置数据。或者,某智能手机在30分钟 内的位置数据从中国北京变化为日本东京又变化为韩国首尔,由于该变化大于该预定时间 段内的变化次数阈值,故可以认为预定时间段内提供的位置数据中除常用位置数据之外的 位置数据为模拟位置数据。
[0151] 综上,本申请实施例可以在所述当前用户设备中不存在具备模拟位置权限的应用 程序时,依据所述当前用户设备提供的当前位置数据的信息进行当前位置数据的鉴别,由 于本申请实施例可以鉴别出不合理或者异常的位置数据,故可以使位置相关APP拦截或者 阻止鉴别出模拟位置数据的上报;因此可以避免模拟位置数据对于服务器的训练数据的污 染,从而能够保证数据挖掘的精度和LBS的准确度。
[0152] 方法实施例五
[0153] 参照图5,示出了本申请的一种位置数据的处理方法实施例五的步骤流程图,具体 可以包括如下步骤:
[0154] 步骤501、在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前 用户设备提供的当前位置数据为模拟位置数据;
[0155] 步骤502、在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所 述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟 位置数据。
[0156] 相对于方法实施例二或者方法实施例三,本实施例通过增加的步骤502描述了在 所述当前用户设备中不存在具备模拟位置权限的应用程序时、依据当前用户设备的SDK版 本信息进行当前位置数据的鉴别过程。
[0157] 通常SDK版本信息越高,则为模拟位置提供的功能越多,故可以认为当前位置数据 为模拟位置数据的概率较高。相应地,在本申请的一种可选实施例中,所述SDK版本信息具 体可以包括:SDK版本号,则所述步骤502具体可包括:在所述当前用户设备的SDK版本号不 超过阈值时,判定所述当前用户设备提供的当前位置数据为真实位置数据。其中,上述阈值 可由本领域技术人员依据实际应用需求确定,可选地,该阈值可以为18。
[0158] 在本申请的一种可选实施例中,所述方法还可以包括:在所述当前用户设备的SDK 版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴别所述当前用户设备提供的当前 位置数据的提供者是否为虚拟提供者,若是,则判定所述当前用户设备提供的当前位置数 据为模拟位置数据。
[0159]在本申请的一种应用示例中,操作系统在SDK为18以上的版本中,提供了位置数据 是否为"虚拟提供者"提供的判断方法,故可以在这些版本中通过此判断方法进行位置数据 的鉴别。以安卓操作系统为例,该判断方法具体可以为isFromMockProvide方法,贝lj通过反 射机制,调用isFromMockProvider方法,并根据该isFromMockProvider方法的返回值进行 判断,若返回值为true,则可以判定所述当前用户设备提供的当前位置数据为模拟位置数 据;若返回值为false,则可以判定所述当前用户设备提供的当前位置数据为真实拟位置数 据。
[0160]需要说明的是,上述步骤402和步骤502可被同时使用,并且,二者之间的先后顺序 可以为任意顺序。例如,可以依次执行上述步骤402和步骤502,也即,可以在所述当前用户 设备中不存在具备模拟位置权限的应用程序时,执行步骤402依据所述当前用户设备提供 的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数 据;在所述步骤402输出的鉴别结果为不确定时,执行步骤502依据所述当前用户设备的SDK 版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。可以理解,本 申请实施例对于上述步骤402和步骤502之间的组合方式不加以限制。
[0161] 综上,对操作系统的SDK版本在18以上的版本,可以通过操作系统提供的判断位置 数据是否来源于虚拟提供者的方法精确实现位置数据的鉴别,因此能够提高位置数据鉴别 的准确度。
[0162] 方法实施例六
[0163] 参照图6,示出了本申请的一种位置数据的处理方法实施例六的步骤流程图,具体 可以包括如下步骤:
[0164] 步骤601、获取当前用户设备的硬件信息;
[0165] 步骤602、将当前用户设备的主板信息与第一主板信息unknown进行匹配,若匹配 成功,则执行步骤603,若匹配失败,则执行步骤604;
[0166] 步骤603、判定所述当前用户设备提供的当前位置数据为模拟位置数据;
[0167] 步骤604、将所述当前用户设备的序列号与第一序列号unknown进行匹配,若匹配 成功,则执行步骤603,若匹配失败,则执行步骤605;
[0168] 步骤605、将所述当前用户设备的设备名称与第一设备名称generic进行匹配,若 匹配成功,则执行步骤603,若匹配失败,则执行步骤606;
[0169] 步骤606、将所述当前用户设备的硬件制造商信息与常见模拟器的硬件制造商信 息进行匹配,若匹配成功,则执行步骤603,若匹配失败,则执行步骤607;
[0170] 步骤607、遍历当前用户设备中已安装应用程序,以判断当前用户设备中是否存在 具备模拟位置权限的应用程序,若是,执行步骤603,否则执行步骤608;
[0171]步骤608、判断所述当前用户设备提供的当前位置数据的信息是否合理或者是否 异常,若是,则执行步骤603,否则执行步骤609;
[0172]步骤609、判断所述当前用户设备的SDK版本号是否超过阈值,若否,则执行步骤 610,若是执行步骤611;
[0173] 步骤610、判定所述当前用户设备提供的当前位置数据为真实位置数据;
[0174] 步骤611、判断所述当前用户设备的的SDK提供的、位置数据是否为"虚拟提供者" 的判断方法的返回值是否为true,若是则执行步骤603,否则执行步骤610。
[0175] 本申请实施例在鉴别位置数据的过程中,采用的鉴别特征具体包括:当前用户设 备的硬件信息、当前用户设备中是否存在具备模拟位置权限的应用程序、当前位置数据的 信息(合理性或者异常性)、当前用户设备的SDK版本号、以及当前用户设备的的SDK提供的 位置数据是否为"虚拟提供者"的判断方法等。需要说明的是,上述鉴别特征均为鉴别位置 数据所需的关键特征,在具体实施过程中,本领域技术人员可以根据实际应用需求确定上 述鉴别特征的使用顺序,也即,上述方法实施例一至方法实施例六所采用的使用顺序只是 作为可选实施例,实际上本申请实施例对于上述鉴别特征的具体使用顺序不加以限制。 [0176]综上,本申请实施例具有如下优点:
[0177] 第一,本申请实施例的基于当前用户设备的硬件信息的位置数据的鉴别而言,由 于其利用的是"依据当前用户设备的硬件信息判断当前的设备环境"的原理,故其能够将虚 拟设备环境提供的位置数据判定为模拟位置数据;而在实际应用中,当前使用模拟器开发 和调试应用的人越来越多,而且此过程中不可避免的会用到位置信息及与后台交互,此种 情况的判断有效的拦截了客户端的虚拟数据对后台位置信息的污染。
[0178] 第二,能够鉴别出物理设备上很多应用允许用户创建的模拟位置数据,防止用户 主观进行对位置数据的篡改造成的训练数据的污染;
[0179]第三,通过用于判断位置数据是否为"虚拟提供者"的系统API对位置数据的来源 进行鉴别,进一步有效稳定地鉴别明确的模拟位置数据;
[0180]第四,能够提供众多情形下产生的模拟位置数据的鉴别策略,故能够大幅度地增 加对模拟位置数据鉴别的成功率和准确度。
[0181]需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组 合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依 据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该 知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施 例所必须的。
[0182] 装置实施例一
[0183] 参照图7,示出了本申请的一种位置数据的处理装置实施例一的结构框图,具体可 以包括:第一鉴别模块701或者第二鉴别模块702;
[0184] 其中,所述第一鉴别模块701,具体可以包括:
[0185] 获取子模块711,用于获取当前用户设备的硬件信息;以及
[0186] 硬件鉴别子模块712,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户 设备提供的当前位置数据是否为模拟位置数据;
[0187] 所述第二鉴别模块702,用于在当前用户设备中存在具备模拟位置权限的应用程 序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0188] 在本申请的一种可选实施例中,所述硬件鉴别子模块712,具体可以包括:
[0189] 第一硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置虚拟设备的第一 硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位 置数据;或者
[0190] 第二硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置物理设备的第二 硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位 置数据。
[0191] 在本申请的另一种可选实施例中,所述硬件信息具体可以包括如下信息中的至少 一种:主板信息、序列号、设备名称和硬件制造商信息。
[0192] 在本申请的再一种可选实施例中,所述硬件鉴别子模块712,具体可以包括:
[0193] 第一选择单元,用于从主板信息、序列号、设备名称和硬件制造商信息中选择一 种,作为待匹配硬件信息;
[0194] 匹配单元,用于将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬 件信息进行匹配;
[0195] 判定单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬 件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;以及
[0196] 第二选择单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第 一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所 述待匹配硬件信息的一种,作为新的待匹配硬件信息,并触发所述匹配单元执行所述将所 述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的操作。
[0197] 装置实施例二
[0198] 参照图8,示出了本申请的一种位置数据的处理装置实施例二的结构框图,具体可 以包括:
[0199] 获取模块801,用于获取当前用户设备的硬件信息;
[0200] 第一鉴别模块802,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设 备提供的当前位置数据是否为模拟位置数据;
[0201] 应用检测模块803,用于在所述依据所述当前用户设备的硬件信息,鉴别所述当前 用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检 测所述当前用户设备中是否存在具备模拟位置权限的应用程序;以及
[0202] 第二鉴别模块804,用于在所述当前用户设备中存在具备模拟位置权限的应用程 序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据
[0203] 在本申请的一种可选实施例中,所述装置还可以包括:
[0204] 第三鉴别模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序 时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信 息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
[0205]在本申请的另一种可选实施例中,所述第三鉴别模块,具体可以包括:
[0206] 位置鉴别子模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程 序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的 当前位置数据是否为模拟位置数据;
[0207] 版本鉴别子模块,用于在所述依据所述当前用户设备提供的当前位置数据的信 息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结 果为不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前 位置数据是否为模拟位置数据。
[0208]在本申请的再一种可选实施例中,所述SDK版本信息具体可以包括:SDK版本号,所 述版本鉴别子模块,具体可以包括:
[0209] 第五判定单元,用于在所述当前用户设备的SDK版本号不超过阈值时,判定所述当 前用户设备提供的当前位置数据为模拟位置数据。
[0210] 在本申请的又一种可选实施例中,所述装置还可以包括:
[0211] 第四鉴别模块,用于在所述当前用户设备的SDK版本号超过所述阈值时,依据所述 当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提 供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
[0212] 在本申请的一种可选实施例中,所述装置还可以包括:
[0213] 预测模块,用于针对当前用户设备中存在具备预置权限的目标应用程序,对其操 作进行预测;
[0214] 验证模块,用于依据所述操作的预测结果对除所述目标应用程序之外的应用程序 的逻辑进行验证
[0215] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。
[0216] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0217] 本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算 机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和 硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可 用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上 实施的计算机程序产品的形式。
[0218] 在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出 接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储 器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算 机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以 由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或 其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读 存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或 其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照 本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如 调制的数据信号和载波。
[0219] 本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图 中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中 指定的功能的装置。
[0220] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能。
[0221] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得 在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在 计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的步骤。
[0222] 尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为 包括优选实施例以及落入本申请实施例范围的所有变更和修改。
[0223] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包 括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品 或者终端设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要 素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0224] 以上对本申请所提供的一种位置数据的处理方法和装置,进行了详细介绍,本文 中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮 助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思 想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对 本申请的限制。
【主权项】
1. 一种位置数据的处理方法,其特征在于,包括: 获取当前用户设备的硬件信息;依据所述当前用户设备的硬件信息,鉴别所述当前用 户设备提供的当前位置数据是否为模拟位置数据;或者, 在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供 的当前位置数据为模拟位置数据。2. 根据权利要求1所述的方法,其特征在于,所述依据所述当前用户设备的硬件信息, 鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括: 将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹配成 功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据;或者 将所述当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹配失 败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。3. 根据权利要求1或2所述的方法,其特征在于,所述硬件信息包括如下信息中的至少 一种:主板信息、序列号、设备名称和硬件制造商信息。4. 根据权利要求3所述的方法,其特征在于,所述依据所述当前用户设备的硬件信息, 鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括: 从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信息; 将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配; 在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成功时, 判定所述当前用户设备提供的当前位置数据为模拟位置数据; 在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失败时, 从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息的一 种,作为新的待匹配硬件信息,并返回执行所述将所述当前用户设备的待匹配硬件信息与 预置虚拟设备的第一硬件信息进行匹配的步骤。5. -种位置数据的处理方法,其特征在于,包括: 获取当前用户设备的硬件信息; 依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否 为模拟位置数据; 在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数 据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述当前用户设备中是否 存在具备模拟位置权限的应用程序; 在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备 提供的当前位置数据为模拟位置数据。6. 根据权利要求5所述的方法,其特征在于,所述方法还包括: 在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设 备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备 提供的当前位置数据是否为模拟位置数据。7. 根据权利要求6所述的方法,其特征在于,所述依据所述当前用户设备提供的当前位 置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前 位置数据是否为模拟位置数据的步骤,包括: 在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设 备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位 置数据; 在所述依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提 供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,依据所述当前 用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数 据。8. 根据权利要求7所述的方法,其特征在于,所述SDK版本信息包括:SDK版本号,所述依 据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为 模拟位置数据的步骤,包括: 在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的当前 位置数据为模拟位置数据。9. 根据权利要求8所述的方法,其特征在于,所述方法还包括: 在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴 别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判定所述 当前用户设备提供的当前位置数据为模拟位置数据。10. 根据权利要求5至9任一所述的方法,其特征在于,所述方法还包括: 针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测; 依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证。11. 一种位置数据的处理装置,其特征在于,包括:第一鉴别模块或者第二鉴别模块; 其中,所述第一鉴别模块,包括: 获取子模块,用于获取当前用户设备的硬件信息;以及 硬件鉴别子模块,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提 供的当前位置数据是否为模拟位置数据; 所述第二鉴别模块,用于在当前用户设备中存在具备模拟位置权限的应用程序时,判 定所述当前用户设备提供的当前位置数据为模拟位置数据。12. 根据权利要求11所述的装置,其特征在于,所述硬件鉴别子模块,包括: 第一硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件 信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数 据;或者 第二硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置物理设备的第二硬件 信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数 据。13. 根据权利要求11或12所述的装置,其特征在于,所述硬件信息包括如下信息中的至 少一种:主板信息、序列号、设备名称和硬件制造商信息。14. 根据权利要求13所述的装置,其特征在于,所述硬件鉴别子模块,包括: 第一选择单元,用于从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作 为待匹配硬件信息; 匹配单元,用于将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信 息进行匹配; 判定单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信 息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;以及 第二选择单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬 件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待 匹配硬件信息的一种,作为新的待匹配硬件信息,并触发所述匹配单元执行所述将所述当 前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的操作。15. -种位置数据的处理装置,其特征在于,包括: 获取模块,用于获取当前用户设备的硬件信息; 第一鉴别模块,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供 的当前位置数据是否为模拟位置数据; 应用检测模块,用于在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设 备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述 当前用户设备中是否存在具备模拟位置权限的应用程序; 第二鉴别模块,用于在所述当前用户设备中存在具备模拟位置权限的应用程序时,判 定所述当前用户设备提供的当前位置数据为模拟位置数据。16. 根据权利要求15所述的装置,其特征在于,所述装置还包括: 第三鉴别模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序时, 依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴 别所述当前用户设备提供的当前位置数据是否为模拟位置数据。17. 根据权利要求16所述的装置,其特征在于,所述第三鉴别模块,包括: 位置鉴别子模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序 时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当 前位置数据是否为模拟位置数据; 版本鉴别子模块,用于在所述依据所述当前用户设备提供的当前位置数据的信息,鉴 别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为 不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置 数据是否为模拟位置数据。18. 根据权利要求17所述的装置,其特征在于,所述SDK版本信息包括:SDK版本号,所述 版本鉴别子t吴块,包括: 第五判定单元,用于在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用 户设备提供的当前位置数据为模拟位置数据。19. 根据权利要求18所述的装置,其特征在于,所述装置还包括: 第四鉴别模块,用于在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前 用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者, 若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。20. 根据权利要求15至19中任一所述的装置,其特征在于,所述装置还包括: 预测模块,用于针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进 行预测; 验证模块,用于依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻 辑进行验证。
【文档编号】H04L29/08GK106095927SQ201610408938
【公开日】2016年11月9日
【申请日】2016年6月12日
【发明人】周京辰, 段航
【申请人】北京三快在线科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1