CN106095927B - 一种位置数据的处理方法和装置 - Google Patents
一种位置数据的处理方法和装置 Download PDFInfo
- Publication number
- CN106095927B CN106095927B CN201610408938.6A CN201610408938A CN106095927B CN 106095927 B CN106095927 B CN 106095927B CN 201610408938 A CN201610408938 A CN 201610408938A CN 106095927 B CN106095927 B CN 106095927B
- Authority
- CN
- China
- Prior art keywords
- user equipment
- current user
- position data
- current
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000012545 processing Methods 0.000 claims description 29
- 238000004088 simulation Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 2
- 238000007418 data mining Methods 0.000 abstract description 13
- 238000012549 training Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 20
- 230000008859 change Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 101150053844 APP1 gene Proteins 0.000 description 5
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 5
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 2
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000012466 permeate Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例提供了一种位置数据的处理方法和装置,其中的方法具体包括:获取当前用户设备的硬件信息;依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;或者,在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。本申请实施例可以鉴别出模拟位置数据,故在本申请实施例应用于位置相关APP时,可以使位置相关APP拦截或者阻止鉴别出模拟位置数据的上报;因此,可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
Description
技术领域
本申请涉及地理位置技术领域,特别是涉及一种位置数据的处理方法和装置。
背景技术
随着信息技术产业的迅猛发展,配备GPS(全球定位系统,Global PositioningSystem)功能的智能手机数量已经超过7.7亿部,位置数据及LBS(位置服务)已经开始渗透到健康、广告、天气预报、旅游、甚至购物等领域。
目前,智能手机大多具备位置数据的上报功能,也即将获取的位置数据上报至LBS系统的服务器。相应地,LBS系统的服务器可以将多个用户在不同时刻的位置信息汇聚起来形成海量的训练数据,并对该训练数据进行深度的数据挖掘,以得到相应的用户模型(如用户画像模型)。
同时,目前很多手机模拟器提供模拟GPS位置的功能,在具体实现中,该手机模拟器可以允许用户手动设置一个经纬度来模拟GPS位置,上述模拟GPS位置的功能可应用于应用的调试。另外,目前智能手机上的一些应用也可以提供模拟GPS位置的功能,以满足用户将智能手机的位置定位到想要的地方的需求。
由于上述手机模拟器模拟的GPS位置(以下简称模拟位置)为虚拟位置而非真实位置,而在实际应用中手机模拟器或者智能手机通常会将所获取的位置数据一并上报,这样模拟位置数据往往不可避免地被上报给服务器,故这些上报的模拟位置数据将成为训练数据中的脏数据、进而对训练数据造成污染。而训练数据的污染将影响数据挖掘的精度,从而影响LBS的准确度。
发明内容
本申请实施例所要解决的技术问题是提供一种位置数据的处理方法,能够鉴别出模拟位置数据。
相应的,本申请实施例还提供了一种位置数据的处理装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请公开了一种位置数据的处理方法,包括:
获取当前用户设备的硬件信息;依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;或者,
在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括:
将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据;或者
将所述当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述硬件信息包括如下信息中的至少一种:主板信息、序列号、设备名称和硬件制造商信息。
可选地,所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括:
从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信息;
将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配;
在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息的一种,作为新的待匹配硬件信息,并返回执行所述将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的步骤。
另一方面,本申请公开了一种位置数据的处理方法,包括:
获取当前用户设备的硬件信息;
依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述当前用户设备中是否存在具备模拟位置权限的应用程序;
在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述方法还包括:
在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
可选地,所述依据所述当前用户设备提供的当前位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括:
在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
在所述依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
可选地,所述SDK版本信息包括:SDK版本号,所述依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括:
在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述方法还包括:
在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述方法还包括:
针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;
依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证。
再一方面,本申请公开了一种位置数据的处理装置,包括:第一鉴别模块或者第二鉴别模块;
其中,所述第一鉴别模块,包括:
获取子模块,用于获取当前用户设备的硬件信息;以及
硬件鉴别子模块,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
所述第二鉴别模块,用于在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述硬件鉴别子模块,包括:
第一硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据;或者
第二硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述硬件信息包括如下信息中的至少一种:主板信息、序列号、设备名称和硬件制造商信息。
可选地,所述硬件鉴别子模块,包括:
第一选择单元,用于从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信息;
匹配单元,用于将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配;
判定单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;以及
第二选择单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息的一种,作为新的待匹配硬件信息,并触发所述匹配单元执行所述将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的操作。
又一方面,本申请公开了一种位置数据的处理装置,包括:
获取模块,用于获取当前用户设备的硬件信息;
第一鉴别模块,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
应用检测模块,用于在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述当前用户设备中是否存在具备模拟位置权限的应用程序;
第二鉴别模块,用于在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述装置还包括:
第三鉴别模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
可选地,所述第三鉴别模块,包括:
位置鉴别子模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
版本鉴别子模块,用于在所述依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
可选地,所述SDK版本信息包括:SDK版本号,所述版本鉴别子模块,包括:
第五判定单元,用于在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述装置还包括:
第四鉴别模块,用于在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
可选地,所述装置还包括:
预测模块,用于针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;
验证模块,用于依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例依据当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据,或者,在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;由于本申请实施例可以鉴别出模拟位置数据,故在本申请实施例应用于位置相关APP时,可以使位置相关APP拦截或者阻止鉴别出模拟位置数据的上报;因此,可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
并且,对于本申请实施例的基于当前用户设备的硬件信息的位置数据的鉴别而言,由于其利用的是“依据当前用户设备的硬件信息判断当前的设备环境”的原理,故其能够将虚拟设备环境提供的位置数据判定为模拟位置数据;而在实际应用中,模拟位置数据大多来源于例如模拟器的虚拟设备,据统计例如模拟器的虚拟设备能够产生大约80%的模拟位置数据,故应用本申请实施例,可以拦截大约80%的模拟位置数据,因此能够保证数据挖掘的精度和LBS的准确度。
附图说明
图1是本申请的一种位置数据的处理方法实施例一的步骤流程图;
图2是本申请的一种依据当前用户设备的硬件信息,鉴别当前用户设备提供的当前位置数据是否为模拟位置数据的方法的步骤流程图;
图3是本申请的一种位置数据的处理方法实施例三的步骤流程图;
图4是本申请的一种位置数据的处理方法实施例四的步骤流程图;
图5是本申请的一种位置数据的处理方法实施例五的步骤流程图;
图6是本申请的一种位置数据的处理方法实施例六的步骤流程图;
图7是本申请的一种位置数据的处理装置实施例一的结构框图;以及
图8是本申请的一种位置数据的处理装置实施例二的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例可以应用于位置数据的鉴别,也即,可以鉴别当前位置数据是否为模拟位置数据,这样,在判定当前位置数据为模拟位置数据时,可以拦截或者阻止模拟位置数据的上报,因此,可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
本申请实施例中的当前位置数据可由当前用户设备提供,其中,所述用户设备具体包括:物理设备和虚拟设备,这样,上述当前用户设备可以为物理设备和虚拟设备中的一种。
上述物理设备可以为配备GPS功能的设备。在实际应用中,上述物理设备可以设置有GPS功能模块,以通过该GPS功能模块提供当前位置数据,其中,上述物理设备提供的当前位置数据可能是模拟位置数据,也可能是真实位置数据。可选地,上述物理设备具体可以包括但不限:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、穿戴式设备等等。
上述虚拟设备具体可以包括:手机模拟器、位置模拟器等模拟器。例如,GenyMotion是一种常见的应用于android(安卓)操作系统的第三方模拟器,通过此软件可以在PC(个人计算机,Personal Computer)侧调试应用时模拟出对应的当前位置数据。可以看出,上述虚拟设备提供的当前位置数据通常为模拟位置数据。
方法实施例一
参照图1,示出了本申请的一种位置数据的处理方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101、获取当前用户设备的硬件信息;
步骤102、依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
本申请实施例可以适用于当前用户设备不确定的情形,也即可以在当前用户设备不确定的情形下进行当前位置数据的鉴别,上述当前用户设备不确定具体表示不确定当前用户设备为物理设备和虚拟设备中哪一种,此种情况下,可以依据当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
本申请实施例在进行当前位置数据的鉴别时,可以依据当前用户设备的硬件信息判断当前是否运行在虚拟设备环境中,进而依据判断结果对用户设备提供的当前位置数据是否为模拟位置数据进行鉴别,其中,在当前运行在虚拟设备环境时,可以判定用户设备提供的当前位置数据为模拟位置数据。
在实际应用中,物理设备或虚拟设备所运行的操作系统均可以具有对应的SDK(软件工具开发包,Software Development Kit),故上述步骤101可以基于物理设备或虚拟设备所运行的操作系统对应的SDK获取当前用户设备的硬件信息。其中,物理设备所运行的操作系统的安装包中可以包含上述SDK;虚拟设备的安装包中也可以包含上述SDK,或者,在虚拟设备的安装包中不包含上述SDK时,可以将所有版本的操作系统的SDK下载至PC的预设目录中,则当在该PC上运行虚拟设备时,可以从该预设目录中读取与虚拟设备所运行的操作系统的版本相匹配的SDK。
在本申请的一种可选实施例中,所述硬件信息具体可以包括如下信息中的至少一种:主板信息、序列号、设备名称和硬件制造商信息。
在此提供一种依据SDK获取的物理设备的硬件信息的示例。
在此提供一种依据SDK获取的虚拟设备的硬件信息的示例。
build=[HARDWARE=vbox86MODEL=Sony Xperia Z-4.3-API 18-1080x1920BRAND=generic MANUFACTURER=Genymotion其中,BRAND表示品牌,MANUFACTURER表示硬件制造商。
可以理解,上述硬件信息及其获取过程只是作为本申请的示例,实际上本申请实施例对于具体的硬件信息及其获取过程不加以限制。
在实际应用中,可以利用用户设备所运行的操作系统提供的API(应用编程接口,Application Program Interface)获取用户设备提供的当前位置数据。以安卓操作系统为例,其具有一个GPS的管理类,称为LocationManager,所有的GPS定位服务都由其对象产生并进行控制,则可以利用操作系统提供的LocationManager类的对象locationManager执行有关GPS的操作。例如,Location是一个代表位置信息的抽象类,通过该抽象类可以获取所有的位置数据,参照表1,示出了本申请的一种Location的方法的示意。
表1
方法 | 描述 |
double getAltitude() | 获取当前高度 |
float getBearing() | 获取当前方向 |
double getLatitude() | 获取当前纬度 |
double getLongitude() | 获取当前经度 |
float getSpeed() | 获取当前速度 |
可以理解,上述通过表1获取用户设备提供的当前位置数据的过程只是作为示例,实际上,本申请实施例对于获取用户设备提供的当前位置数据的具体过程不加以限制。
在本申请的一种可选实施例中,所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤102,具体可以包括:
步骤A1、将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据;或者
步骤A2、将所述当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
步骤A1中预置虚拟设备的第一硬件信息可用于区分虚拟设备和物理设备,在实际应用中,可以对收集的预置虚拟设备和预置物理设备的硬件信息进行比较,并依据比较结果将预置物理设备不具备而预置虚拟设备具备的硬件信息,作为上述第一硬件信息。可选地,预置虚拟设备的第一硬件信息具体可以包括:主板信息“unknown”,序列号“sdk”或“unknown”等,设备名称“generic”等。可以理解,本申请实施例对于预置虚拟设备的第一硬件信息的具体获取过程不加以限制。可选地,在步骤A1的匹配失败时,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤102输出的鉴别结果可以为不确定,此种情况下,需要继续对当前位置数据进一步鉴别,方可以得到确定的鉴别结果。
步骤A2中预置物理设备的第二硬件信息可用于区分虚拟设备和物理设备,在实际应用中,可以对收集的预置虚拟设备和预置物理设备的硬件信息进行比较,并依据比较结果将预置物理设备具备而预置虚拟设备不具备的硬件信息,作为上述第二硬件信息。可以理解,本申请实施例对于预置物理设备的第二硬件信息的具体获取过程不加以限制。可选地,在步骤A2的匹配成功时,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤102输出的鉴别结果可以为不确定,此种情况下,需要继续对当前位置数据进一步鉴别,方可以得到确定的鉴别结果。
在本申请的一种可选实施例中,所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤102,具体可以包括:
步骤B1、从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信息;
步骤B2、将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配;
步骤B3、在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
步骤B4、在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息的一种,作为新的待匹配硬件信息,并返回执行所述将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的步骤B2。
上述可选实施例在待匹配硬件信息的匹配过程中,若当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息相匹配,则可以判定所述当前用户设备提供的当前位置数据为模拟位置数据,否则可以选择新的待匹配硬件信息,并进行新的待匹配硬件信息的匹配。可以理解,本申请实施例对于主板信息、序列号、设备名称和硬件制造商信息在匹配过程中的先后顺序不加以限制。
参照图2,示出了本申请的一种依据当前用户设备的硬件信息,鉴别当前用户设备提供的当前位置数据是否为模拟位置数据的方法的步骤流程图,具体可以包括如下步骤:
步骤201、将当前用户设备的主板信息与预置虚拟设备的第一主板信息进行匹配,若匹配成功,则执行步骤202,若匹配失败,则执行步骤203;
步骤202、判定所述当前用户设备提供的当前位置数据为模拟位置数据;
步骤203、将所述当前用户设备的序列号与预置虚拟设备的第一序列号进行匹配,若匹配成功,则执行步骤202,若匹配失败,则执行步骤204;
步骤204、将所述当前用户设备的设备名称与预置虚拟设备的第一设备名称进行匹配,若匹配成功,则执行步骤202,若匹配失败,则执行步骤205;
步骤205、将所述当前用户设备的硬件制造商信息与预置虚拟设备的第一硬件制造商信息进行匹配,若匹配成功,则执行步骤202。
图2所示的鉴别方法可以分别利用主板信息、序列号、设备名称和硬件制造商信息进行当前位置数据的鉴别。可选地,在所述当前用户设备的硬件制造商信息与预置虚拟设备的第一硬件制造商信息匹配失败时,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤102输出的鉴别结果可以为不确定。
需要说明的是,上述主板信息、序列号、设备名称和硬件制造商信息对应的鉴别顺序只是作为可选实施例,实际上,上述主板信息、序列号、设备名称和硬件制造商信息对应的任一种排列顺序均可以适用于本申请实施例中位置顺序的鉴别,例如,主板信息、设备名称、序列号和硬件制造商信息的顺序也是可行的,本申请实施例上述主板信息、序列号、设备名称和硬件制造商信息对应的具体排列顺序不加以限制。
以前述的GenyMotion模拟器为例,在其所提供当前位置数据的鉴别过程。是知名的android第三方模拟器中,可以GenyMotion对应的硬件信息可以判断当前是否运行在模拟器环境中,进而对当前获取的当前位置数据进行鉴别。由于GenyMotion的硬件信息包括:主板信息“unknown”,序列号“sdk”,设备名称“generic”等,故通过上述图2,可以判断当前运行在模拟器环境中,并判定GenyMotion所提供的当前位置数据为模拟位置数据。
综上,本申请实施例依据当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据,由于本申请实施例可以鉴别出模拟位置数据,故在本申请实施例应用于位置相关APP(应用程序,Application Program)时,可以使位置相关APP对待上报的位置数据进行鉴别,并拦截或者阻止鉴别出模拟位置数据的上报;因此,可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
并且,对于本申请实施例的基于当前用户设备的硬件信息的位置数据的鉴别而言,由于其利用的是“依据当前用户设备的硬件信息判断当前的设备环境”的原理,故其能够将虚拟设备环境提供的位置数据判定为模拟位置数据;而在实际应用中,模拟位置数据大多来源于例如模拟器的虚拟设备,据统计例如模拟器的虚拟设备能够产生大约80%的模拟位置数据,故应用本申请实施例,可以拦截大约80%的模拟位置数据,因此能够有效保证数据挖掘的精度和LBS的准确度。
方法实施例二
本申请还提供了一种位置数据的处理方法实施例二,具体可以包括:在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
本申请实施例可以适用于当前用户设备不确定或者确定的情形,无论当前用户设备为虚拟设备还是物理设备,由于虚拟设备和物理设备上都可以安装APP,且两种用户设备上安装的APP均可以具备模拟位置权限,故本申请实施例可以依据当前用户设备中是否存在具备模拟位置权限的应用程序进行当前位置数据的鉴别。本申请实施例主要以物理设备为例对当前位置数据的鉴别过程进行说明,虚拟设备或者用户设备不确定时对应当前位置数据的鉴别过程相互参照即可。
目前,例如智能手机的物理设备上的一些APP也可以提供模拟GPS位置的功能,以满足用户主观地将智能手机的位置定位到想要的地方的需求。本申请实施例经研究发现,物理设备上的APP之所以能够模拟GPS位置,是因为其具备了模拟位置权限,故本申请实施例可以通过检测当前物理设备中存在具备模拟位置权限的应用程序,进行当前位置数据的鉴别。
以安卓操作系统对应的物理设备为例,模拟位置权限具体为android.permission.ACCESS_MOCK_LOCATION。则在实际应用中,可以在遍历当前物理设备中已安装APP的信息时,其中的每个APP都会具备一个所有需要申请的权限列表,则可以将模拟位置权限与该权限列表中的权限进行匹配,若匹配成功,则可以认为对应APP存在具备模拟位置权限,从而确定对应APP有能力模拟位置,从而可以将判定所述当前物理设备提供的当前位置数据为模拟位置数据。
需要说明的是,当前用户设备为物理设备对应的确定方式可以有多种。例如,可以利用方法实施例一判断当前是否运行在模拟器环境中,若是则确定当前用户设备为虚拟设备,否则判断当前用户设备为物理设备。又如,可以通过用户的反馈确定当前用户设备是否为物理设备,其中可以通过预置接口采集用户的反馈。或者,还可以通过当前用户设备的内存等信息确定当前用户设备是否为物理设备,其中,物理设备的内存分配较为均匀,虚拟设备的内存分配较为不均等。可以理解,本申请实施例对于当前用户设备为物理设备对应的具体确定方式不加以限制。
在本申请的一种可选实施例中,所述方法还可以包括:针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证。本可选实施例依据目标应用程序的操作的预测结果对其他应用程序的逻辑进行验证,若上述预测结果对其他应用程序的逻辑无影响或者无冲突,则验证通过,若上述预测结果对其他应用程序的逻辑有影响或者有冲突,则验证不通过,并且可以依据预测结果修改其他应用程序的逻辑,故可以防止其他应用程序的逻辑出现问题。
其中,上述预置权限可以为任意权限,例如,上述预置权限具体可以包括:上述模拟位置权限、或者拦截广播的权限等。
在本申请的一种应用示例中,智能手机中APP1需要接收系统广播,比如收到短信的广播,这个广播里携带的信息包括短信发送的时间、号码、收到的时间、短信内容等,以判断某号码是否为恶意诈骗号码。假设APP1的判断逻辑为:若1小时内连续收到5个以上同一个号码发来的信息、而且内容重复或者均包含特定关键词,则认为这个发送方为恶意诈骗号码。然而,智能手机中APP2具备拦截广播的权限,由于APP2拦截的短信将不会到达APP1,则将影响APP1的真实数据和判断逻辑,因此,APP1需要修改判断逻辑。
综上,本申请实施例在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据,由于本申请实施例可以鉴别出模拟位置数据,故在本申请实施例应用于位置相关APP时,可以使位置相关APP对待上报的位置数据进行鉴别,并拦截或者阻止鉴别出模拟位置数据的上报;因此,可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
并且,本申请实施例利用的是“模拟位置权限为APP模拟位置的条件”的原理,故其能够将存在具备模拟位置权限的APP提供的位置数据判定为模拟位置数据;而在实际应用中,物理设备提供的模拟位置数据大多来源于存在具备模拟位置权限的APP,故应用本申请实施例,可以拦截物理设备提供的大部分模拟位置数据,因此能够有效保证数据挖掘的精度和LBS的准确度。
方法实施例三
参照图3,示出了本申请的一种位置数据的处理方法实施例三的步骤流程图,具体可以包括如下步骤:
步骤301、获取当前用户设备的硬件信息;
步骤302、依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
步骤303、在所述步骤302输出的鉴别结果为不确定时,检测所述当前用户设备中是否存在具备模拟位置权限的应用程序;
步骤304、在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
本申请实施例可以为方法实施例一和方法实施例二的组合,具体地,可以首先利用方法实施例一对应的步骤301和步骤302进行当前位置数据的鉴别,并在步骤302输出的鉴别结果为不确定时,利用方法实施例二进行当前位置数据的鉴别。
对于本申请实施例步骤301和步骤302的基于当前用户设备的硬件信息的位置数据的鉴别而言,其能够将虚拟设备环境提供的位置数据判定为模拟位置数据;在实际应用中,模拟位置数据大多来源于例如模拟器的虚拟设备,故应用本申请实施例,可以拦截大约80%的模拟位置数据,因此能够有效保证数据挖掘的精度和LBS的准确度。
对于本申请实施例步骤303和步骤304的基于模拟位置权限的位置数据的鉴别而言,其能够将存在具备模拟位置权限的APP提供的位置数据判定为模拟位置数据;而在实际应用中,物理设备提供的模拟位置数据大多来源于存在具备模拟位置权限的APP,故应用本申请实施例,可以拦截物理设备提供的大部分模拟位置数据,因此能够有效保证数据挖掘的精度和LBS的准确度。
方法实施例四
参照图4,示出了本申请的一种位置数据的处理方法实施例四的步骤流程图,具体可以包括如下步骤:
步骤401、在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
步骤402、在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
相对于方法实施例二或者方法实施例三,本实施例通过增加的步骤402描述了在所述当前用户设备中不存在具备模拟位置权限的应用程序时、依据所述当前用户设备提供的当前位置数据的信息进行当前位置数据的鉴别过程。
在实际应用中,物理设备中的应用在模拟位置时,可以使用户随意更改自己的位置数据。然而,用户自行设置的位置数据可能存在不合理的情况,具体地,位置数据中经纬度可能存在不合理的值,如在上述位置数据中经度的绝对值大于90、或者纬度的绝对值大于180时,可以认为位置数据不合理,因此可以认为上述位置数据为模拟位置数据。
在本申请的其他实施例中,还可以依据所述当前用户设备提供的当前位置数据的精度,进行当前位置数据的鉴别。例如,通常GPS功能模块所提供位置数据的预置精度为10-7,而所述当前用户设备提供的当前位置数据的精度为10-3,由于这两个精度不一致,故可以认为上述位置数据为模拟位置数据。
在本申请的其他实施例中,还可以依据所述当前用户设备在预定时间段内提供的位置数据的变化,进行当前位置数据的鉴别。上述预定时间段的长度可由本领域技术人员依据实际应用需求确定,例如,上述预定时间段的长度可以为60分钟、30分钟、10分钟等。可选地,在所述当前用户设备在预定时间段内提供的位置数据的变化符合预置变化条件时,可以认为上述位置数据为模拟位置数据。上述预置变化条件可与距离或者变化速度或者变化次数相关,例如,在预定时间段内提供的位置数据的距离大于距离阈值时,可以认为上述位置数据为模拟位置数据。如某智能手机在30分钟内的位置数据从中国北京变化为英国伦敦,由于该变化大于该预定时间段内的变化的距离阈值,故可以认为预定时间段内提供的位置数据中除常用位置数据之外的位置数据为模拟位置数据。或者,某智能手机在30分钟内的位置数据从中国北京变化为日本东京又变化为韩国首尔,由于该变化大于该预定时间段内的变化次数阈值,故可以认为预定时间段内提供的位置数据中除常用位置数据之外的位置数据为模拟位置数据。
综上,本申请实施例可以在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的当前位置数据的信息进行当前位置数据的鉴别,由于本申请实施例可以鉴别出不合理或者异常的位置数据,故可以使位置相关APP拦截或者阻止鉴别出模拟位置数据的上报;因此可以避免模拟位置数据对于服务器的训练数据的污染,从而能够保证数据挖掘的精度和LBS的准确度。
方法实施例五
参照图5,示出了本申请的一种位置数据的处理方法实施例五的步骤流程图,具体可以包括如下步骤:
步骤501、在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
步骤502、在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
相对于方法实施例二或者方法实施例三,本实施例通过增加的步骤502描述了在所述当前用户设备中不存在具备模拟位置权限的应用程序时、依据当前用户设备的SDK版本信息进行当前位置数据的鉴别过程。
通常SDK版本信息越高,则为模拟位置提供的功能越多,故可以认为当前位置数据为模拟位置数据的概率较高。相应地,在本申请的一种可选实施例中,所述SDK版本信息具体可以包括:SDK版本号,则所述步骤502具体可包括:在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的当前位置数据为真实位置数据。其中,上述阈值可由本领域技术人员依据实际应用需求确定,可选地,该阈值可以为18。
在本申请的一种可选实施例中,所述方法还可以包括:在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
在本申请的一种应用示例中,操作系统在SDK为18以上的版本中,提供了位置数据是否为“虚拟提供者”提供的判断方法,故可以在这些版本中通过此判断方法进行位置数据的鉴别。以安卓操作系统为例,该判断方法具体可以为isFromMockProvide方法,则通过反射机制,调用isFromMockProvider方法,并根据该isFromMockProvider方法的返回值进行判断,若返回值为true,则可以判定所述当前用户设备提供的当前位置数据为模拟位置数据;若返回值为false,则可以判定所述当前用户设备提供的当前位置数据为真实拟位置数据。
需要说明的是,上述步骤402和步骤502可被同时使用,并且,二者之间的先后顺序可以为任意顺序。例如,可以依次执行上述步骤402和步骤502,也即,可以在所述当前用户设备中不存在具备模拟位置权限的应用程序时,执行步骤402依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;在所述步骤402输出的鉴别结果为不确定时,执行步骤502依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。可以理解,本申请实施例对于上述步骤402和步骤502之间的组合方式不加以限制。
综上,对操作系统的SDK版本在18以上的版本,可以通过操作系统提供的判断位置数据是否来源于虚拟提供者的方法精确实现位置数据的鉴别,因此能够提高位置数据鉴别的准确度。
方法实施例六
参照图6,示出了本申请的一种位置数据的处理方法实施例六的步骤流程图,具体可以包括如下步骤:
步骤601、获取当前用户设备的硬件信息;
步骤602、将当前用户设备的主板信息与第一主板信息unknown进行匹配,若匹配成功,则执行步骤603,若匹配失败,则执行步骤604;
步骤603、判定所述当前用户设备提供的当前位置数据为模拟位置数据;
步骤604、将所述当前用户设备的序列号与第一序列号unknown进行匹配,若匹配成功,则执行步骤603,若匹配失败,则执行步骤605;
步骤605、将所述当前用户设备的设备名称与第一设备名称generic进行匹配,若匹配成功,则执行步骤603,若匹配失败,则执行步骤606;
步骤606、将所述当前用户设备的硬件制造商信息与常见模拟器的硬件制造商信息进行匹配,若匹配成功,则执行步骤603,若匹配失败,则执行步骤607;
步骤607、遍历当前用户设备中已安装应用程序,以判断当前用户设备中是否存在具备模拟位置权限的应用程序,若是,执行步骤603,否则执行步骤608;
步骤608、判断所述当前用户设备提供的当前位置数据的信息是否合理或者是否异常,若是,则执行步骤603,否则执行步骤609;
步骤609、判断所述当前用户设备的SDK版本号是否超过阈值,若否,则执行步骤610,若是执行步骤611;
步骤610、判定所述当前用户设备提供的当前位置数据为真实位置数据;
步骤611、判断所述当前用户设备的的SDK提供的、位置数据是否为“虚拟提供者”的判断方法的返回值是否为true,若是则执行步骤603,否则执行步骤610。
本申请实施例在鉴别位置数据的过程中,采用的鉴别特征具体包括:当前用户设备的硬件信息、当前用户设备中是否存在具备模拟位置权限的应用程序、当前位置数据的信息(合理性或者异常性)、当前用户设备的SDK版本号、以及当前用户设备的的SDK提供的位置数据是否为“虚拟提供者”的判断方法等。需要说明的是,上述鉴别特征均为鉴别位置数据所需的关键特征,在具体实施过程中,本领域技术人员可以根据实际应用需求确定上述鉴别特征的使用顺序,也即,上述方法实施例一至方法实施例六所采用的使用顺序只是作为可选实施例,实际上本申请实施例对于上述鉴别特征的具体使用顺序不加以限制。
综上,本申请实施例具有如下优点:
第一,本申请实施例的基于当前用户设备的硬件信息的位置数据的鉴别而言,由于其利用的是“依据当前用户设备的硬件信息判断当前的设备环境”的原理,故其能够将虚拟设备环境提供的位置数据判定为模拟位置数据;而在实际应用中,当前使用模拟器开发和调试应用的人越来越多,而且此过程中不可避免的会用到位置信息及与后台交互,此种情况的判断有效的拦截了客户端的虚拟数据对后台位置信息的污染。
第二,能够鉴别出物理设备上很多应用允许用户创建的模拟位置数据,防止用户主观进行对位置数据的篡改造成的训练数据的污染;
第三,通过用于判断位置数据是否为“虚拟提供者”的系统API对位置数据的来源进行鉴别,进一步有效稳定地鉴别明确的模拟位置数据;
第四,能够提供众多情形下产生的模拟位置数据的鉴别策略,故能够大幅度地增加对模拟位置数据鉴别的成功率和准确度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
装置实施例一
参照图7,示出了本申请的一种位置数据的处理装置实施例一的结构框图,具体可以包括:第一鉴别模块701或者第二鉴别模块702;
其中,所述第一鉴别模块701,具体可以包括:
获取子模块711,用于获取当前用户设备的硬件信息;以及
硬件鉴别子模块712,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
所述第二鉴别模块702,用于在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
在本申请的一种可选实施例中,所述硬件鉴别子模块712,具体可以包括:
第一硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据;或者
第二硬件鉴别单元,用于将所述当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
在本申请的另一种可选实施例中,所述硬件信息具体可以包括如下信息中的至少一种:主板信息、序列号、设备名称和硬件制造商信息。
在本申请的再一种可选实施例中,所述硬件鉴别子模块712,具体可以包括:
第一选择单元,用于从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信息;
匹配单元,用于将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配;
判定单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;以及
第二选择单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息的一种,作为新的待匹配硬件信息,并触发所述匹配单元执行所述将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的操作。
装置实施例二
参照图8,示出了本申请的一种位置数据的处理装置实施例二的结构框图,具体可以包括:
获取模块801,用于获取当前用户设备的硬件信息;
第一鉴别模块802,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
应用检测模块803,用于在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述当前用户设备中是否存在具备模拟位置权限的应用程序;以及
第二鉴别模块804,用于在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据
在本申请的一种可选实施例中,所述装置还可以包括:
第三鉴别模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
在本申请的另一种可选实施例中,所述第三鉴别模块,具体可以包括:
位置鉴别子模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
版本鉴别子模块,用于在所述依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
在本申请的再一种可选实施例中,所述SDK版本信息具体可以包括:SDK版本号,所述版本鉴别子模块,具体可以包括:
第五判定单元,用于在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
在本申请的又一种可选实施例中,所述装置还可以包括:
第四鉴别模块,用于在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
在本申请的一种可选实施例中,所述装置还可以包括:
预测模块,用于针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;
验证模块,用于依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种位置数据的处理方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (16)
1.一种位置数据的处理方法,其特征在于,包括:
在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证;其中,所述对其操作进行预测是指,所述具备预置权限的目标应用程序是否会产生对所述位置数据的拦截,若不拦截,则验证通过,所述预测结果对其它应用程序的逻辑无影响;若发生拦截,则验证不通过,依据预测结果修改其它应用程序的逻辑;其中,所述预置权限包括所述模拟位置权限。
2.根据权利要求1所述的方法,其特征在于,还包括:
将当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
3.根据权利要求2所述的方法,其特征在于,硬件信息包括如下信息中的至少一种:主板信息、序列号、设备名称和硬件制造商信息。
4.根据权利要求3所述的方法,其特征在于,还包括:
从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信息;
将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配;
在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息的一种,作为新的待匹配硬件信息,并返回执行所述将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的步骤。
5.一种位置数据的处理方法,其特征在于,包括:
获取当前用户设备的硬件信息;
依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据,其中包括:将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据,其中所述第一硬件信息为预置物理设备不具备而预置虚拟设备具备的硬件信息;
在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述当前用户设备中是否存在具备模拟位置权限的应用程序;
在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;
在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
还包括:针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证;其中,所述对其操作进行预测是指,所述具备预置权限的目标应用程序是否会产生对所述位置数据的拦截,若不拦截,则验证通过,所述预测结果对其它应用程序的逻辑无影响;若发生拦截,则验证不通过,依据预测结果修改其它应用程序的逻辑;其中,所述预置权限包括所述模拟位置权限。
6.根据权利要求5所述的方法,其特征在于,所述依据所述当前用户设备提供的当前位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括:
在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
在所述依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
7.根据权利要求6所述的方法,其特征在于,所述SDK版本信息包括:SDK版本号,所述依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤,包括:
在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
9.一种位置数据的处理装置,其特征在于,包括:第二鉴别模块;
所述第二鉴别模块,用于在当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;以及针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证;其中,所述对其操作进行预测是指,所述具备预置权限的目标应用程序是否会产生对所述位置数据的拦截,若不拦截,则验证通过,所述预测结果对其它应用程序的逻辑无影响;若发生拦截,则验证不通过,依据预测结果修改其它应用程序的逻辑;其中,所述预置权限包括所述模拟位置权限。
10.根据权利要求9所述的装置,其特征在于,还包括:
第二硬件鉴别单元,用于将当前用户设备的硬件信息与预置物理设备的第二硬件信息进行匹配,若匹配失败,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
11.根据权利要求10所述的装置,其特征在于,硬件信息包括如下信息中的至少一种:主板信息、序列号、设备名称和硬件制造商信息。
12.根据权利要求11所述的装置,其特征在于,还包括:
第一选择单元,用于从主板信息、序列号、设备名称和硬件制造商信息中选择一种,作为待匹配硬件信息;
匹配单元,用于将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配;
判定单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配成功时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;以及
第二选择单元,用于在所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息匹配失败时,从主板信息、序列号、设备名称和硬件制造商信息中选择不同于所述待匹配硬件信息的一种,作为新的待匹配硬件信息,并触发所述匹配单元执行所述将所述当前用户设备的待匹配硬件信息与预置虚拟设备的第一硬件信息进行匹配的操作。
13.一种位置数据的处理装置,其特征在于,包括:
获取模块,用于获取当前用户设备的硬件信息;
第一鉴别模块,用于依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据,其中包括:将所述当前用户设备的硬件信息与预置虚拟设备的第一硬件信息进行匹配,若匹配成功,则判定所述当前用户设备提供的当前位置数据为模拟位置数据,其中所述第一硬件信息为预置物理设备不具备而预置虚拟设备具备的硬件信息;
应用检测模块,用于在所述依据所述当前用户设备的硬件信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,检测所述当前用户设备中是否存在具备模拟位置权限的应用程序;
第二鉴别模块,用于在所述当前用户设备中存在具备模拟位置权限的应用程序时,判定所述当前用户设备提供的当前位置数据为模拟位置数据;第三鉴别模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的位置数据的信息和/或所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
还包括:
预测模块,用于针对当前用户设备中存在具备预置权限的目标应用程序,对其操作进行预测;
验证模块,用于依据所述操作的预测结果对除所述目标应用程序之外的应用程序的逻辑进行验证;
其中,所述对其操作进行预测是指,所述具备预置权限的目标应用程序是否会产生对所述位置数据的拦截,若不拦截,则验证通过,所述预测结果对其它应用程序的逻辑无影响;若发生拦截,则验证不通过,依据预测结果修改其它应用程序的逻辑;其中,所述预置权限包括所述模拟位置权限所述预置权限包括所述模拟位置权限。
14.根据权利要求13所述的装置,其特征在于,所述第三鉴别模块,包括:
位置鉴别子模块,用于在所述当前用户设备中不存在具备模拟位置权限的应用程序时,依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据;
版本鉴别子模块,用于在所述依据所述当前用户设备提供的当前位置数据的信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据的步骤输出的鉴别结果为不确定时,依据所述当前用户设备的SDK版本信息,鉴别所述当前用户设备提供的当前位置数据是否为模拟位置数据。
15.根据权利要求14所述的装置,其特征在于,所述SDK版本信息包括:SDK版本号,所述版本鉴别子模块,包括:
第五判定单元,用于在所述当前用户设备的SDK版本号不超过阈值时,判定所述当前用户设备提供的当前位置数据为模拟位置数据。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第四鉴别模块,用于在所述当前用户设备的SDK版本号超过所述阈值时,依据所述当前用户设备的SDK,鉴别所述当前用户设备提供的当前位置数据的提供者是否为虚拟提供者,若是,则判定所述当前用户设备提供的当前位置数据为模拟位置数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610408938.6A CN106095927B (zh) | 2016-06-12 | 2016-06-12 | 一种位置数据的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610408938.6A CN106095927B (zh) | 2016-06-12 | 2016-06-12 | 一种位置数据的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095927A CN106095927A (zh) | 2016-11-09 |
CN106095927B true CN106095927B (zh) | 2019-06-21 |
Family
ID=57227922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610408938.6A Active CN106095927B (zh) | 2016-06-12 | 2016-06-12 | 一种位置数据的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095927B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804442B (zh) * | 2017-04-27 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 序列号生成方法和装置 |
CN110619210A (zh) * | 2019-08-27 | 2019-12-27 | 苏宁云计算有限公司 | 一种模拟器检测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182663A (zh) * | 2013-05-27 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 一种鉴别模拟器操作的方法及装置 |
CN104869638A (zh) * | 2015-05-28 | 2015-08-26 | 北京嘀嘀无限科技发展有限公司 | Gps坐标作弊的检测方法及装置 |
CN104883735A (zh) * | 2015-05-18 | 2015-09-02 | 彭春莲 | 一种基于移动互联网的精准位置判断方法 |
CN104966002A (zh) * | 2015-07-03 | 2015-10-07 | 北京数字联盟网络科技有限公司 | 识别虚假移动终端的方法和装置 |
CN105246155A (zh) * | 2015-10-26 | 2016-01-13 | 深圳市宏电技术股份有限公司 | 一种定位网络接入设备地理位置的方法及装置 |
-
2016
- 2016-06-12 CN CN201610408938.6A patent/CN106095927B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182663A (zh) * | 2013-05-27 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 一种鉴别模拟器操作的方法及装置 |
CN104883735A (zh) * | 2015-05-18 | 2015-09-02 | 彭春莲 | 一种基于移动互联网的精准位置判断方法 |
CN104869638A (zh) * | 2015-05-28 | 2015-08-26 | 北京嘀嘀无限科技发展有限公司 | Gps坐标作弊的检测方法及装置 |
CN104966002A (zh) * | 2015-07-03 | 2015-10-07 | 北京数字联盟网络科技有限公司 | 识别虚假移动终端的方法和装置 |
CN105246155A (zh) * | 2015-10-26 | 2016-01-13 | 深圳市宏电技术股份有限公司 | 一种定位网络接入设备地理位置的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106095927A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066478B (zh) | 一种虚假地址信息识别的方法及装置 | |
JP6609047B2 (ja) | アプリケーション情報リスクマネジメントのための方法及びデバイス | |
CN108933713B (zh) | 基于影子链路实现沙箱调试的方法、装置及业务服务器 | |
CN106469261B (zh) | 一种身份验证方法及装置 | |
CN107229559B (zh) | 针对业务系统的测试完整度的检测方法和装置 | |
CN107451819B (zh) | 一种基于用户操作行为特征的身份验证方法和装置 | |
CN111415158B (zh) | 一种基于区块链的风控方法和系统 | |
US20180150639A1 (en) | Security vulnerability detection | |
CN108431768B (zh) | 应用特征的受控部署 | |
CN109583224B (zh) | 一种用户隐私数据处理方法、装置、设备及系统 | |
CN110740356B (zh) | 基于区块链的直播数据的监控方法及系统 | |
CN113079200A (zh) | 一种数据处理的方法、装置及系统 | |
CN110956275A (zh) | 风险预测和风险预测模型的训练方法、装置及电子设备 | |
CN109309596A (zh) | 一种压力测试方法、装置及服务器 | |
CN112434348B (zh) | 数据的验证处理方法、装置及设备 | |
CN113496017B (zh) | 验证方法、装置、设备和存储介质 | |
CN109510874A (zh) | 基于lbs的电子凭证推送方法、装置及电子设备 | |
CN112182506A (zh) | 一种数据的合规检测方法、装置及设备 | |
CN106095927B (zh) | 一种位置数据的处理方法和装置 | |
CN106796587B (zh) | 用于验证分析结果的方法和系统 | |
CN109376927A (zh) | 一种用户年龄预测方法、装置及设备 | |
CN114745133A (zh) | 一种识别设备唯一性的方法及装置 | |
KR102192327B1 (ko) | 스몰 데이터를 이용한 신뢰지수 평가 및 예측 방법 | |
CN114138651A (zh) | 测试数据的生成方法及装置 | |
US10162488B1 (en) | Browser-based media scan |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |