Virtual positioning detection method and device
Through the target data set in the target data set in the virtual positioning detection, the virtual positioning detection of the virtual positioning detection in the existing technology has been solved, and the more efficient and accurate virtual positioning detection is achieved.
Patent Information
- Application Number
- CN202411520467.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-29
- Publication Date
- 2025-01-28
AI Technical Summary
In the prior art, virtual positioning detection methods have large losses to equipment and cannot effectively reduce equipment performance consumption.
By receiving the detection request of the target device, obtain the target data set in the target data set, determine it, and determine the positioning of the target device as a virtual positioning when the judgment results are not matched with the preset results.
Reduce the loss of equipment and improve the accuracy and efficiency of virtual positioning detection.
Smart Images

Figure CN119377700A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of virtual positioning technology, and in particular to a virtual positioning detection method and device. Background Art
[0002] With the development of Internet technology, GPS positioning function has also been widely used. A large number of APPs (Applications) developed based on positioning have penetrated into social, office, game, e-commerce and other fields. Many services (such as clocking in, route search, etc.) are based on the current positioning; and in some special cases, users will modify the real location information of the device, so that the positioning information obtained by the APP in the device is the modified false positioning information (i.e. virtual positioning). In order to ensure the authenticity of the positioning information, it is particularly important to prevent users from virtual positioning in positioning services.
[0003] Currently, the method for detecting the virtual positioning of a device is usually to repeatedly obtain the same type of positioning data multiple times, and determine whether the positioning data obtained multiple times has changed. If the positioning data is the same, the user is prompted to move the device and obtain it again multiple times. If the positioning data after acquisition has not changed, the positioning of the device is determined to be virtual positioning. However, frequently obtaining virtual positioning will greatly consume device performance. Summary of the invention
[0004] The embodiments of the present application provide a virtual positioning detection method and device to at least solve the problem of high equipment consumption in the virtual positioning detection method in the prior art.
[0005] According to one aspect of an embodiment of the present application, a virtual positioning detection method is provided, including: receiving a detection request of a target device, the detection request is used to request detection of the positioning of the target device, the detection request carries attribute information and data acquisition authority corresponding to the target device; acquiring a target data set according to the attribute information and the data acquisition authority; making a judgment on a target data subset in the target data set to obtain a judgment result, the target data subset being any data subset in the target data set; and determining, when the judgment result does not match a preset result, that the positioning of the target device is a virtual positioning.
[0006] According to another aspect of an embodiment of the present application, a virtual positioning detection device is also provided, including: a receiving unit, used to receive a detection request of a target device, the detection request is used to request the detection of the positioning of the target device, and the detection request carries attribute information and data acquisition authority corresponding to the target device; an acquisition unit, used to acquire a target data set according to the attribute information and the data acquisition authority; a determination unit, used to perform a determination on a target data subset in the target data set to obtain a determination result, the target data subset being any data subset in the target data set; a determination unit, used to determine that the positioning of the target device is a virtual positioning when the determination result does not match a preset result.
[0007] Optionally, the above-mentioned judgment unit includes: a first selection subunit, used to select a data subset from the target data set as the target data subset; an acquisition subunit, used to acquire a preset data set corresponding to the target data subset; a matching subunit, used to match the target data subset with the preset data set to obtain a matching result; a determination subunit, used to determine the judgment result according to the matching result when the matching result indicates that the target data subset does not match the preset data set; a second selection subunit, used to select a data subset from the target data set other than the target data subset as the target data subset when the matching result indicates that the target data subset matches the preset data set.
[0008] Optionally, the above-mentioned receiving unit includes: a receiving subunit, used to receive a detection request in a current time period, or after sending a notification message to the target device at a current timestamp, receive a detection request sent by the target device according to the notification message, and the current time period includes the current timestamp.
[0009] Optionally, the above-mentioned virtual positioning detection device also includes: a first acquisition unit, used to obtain the application account of the target application in the target device according to the attribute information, and the preset mobile area corresponding to the application account, the preset mobile area is an area that allows the target user to move within the target time period, the target user is the user corresponding to the application account, and the target time period includes the current time period; a sending unit, used to send early warning information to the monitoring device when the target data subset is a positioning data subset and the matching result indicates that the target data subset does not match the preset data set, the early warning information is used to indicate that the positioning of the target device is abnormal; a reduction unit, used to reduce the preset mobile area, and use the reduced area as the preset mobile area; a first determination unit, used to determine the reference time period as the current time period, and determine the reference timestamp as the current timestamp.
[0010] Optionally, the above-mentioned virtual positioning detection device also includes: a second acquisition unit, which is used to obtain a set of virtual positioning detection results corresponding to each of the multiple target accounts within the target time period, a detection timestamp corresponding to each virtual positioning detection result, and location information corresponding to each virtual positioning detection result, and the multiple target accounts are accounts of multiple users who use devices to log in to the target application; a first drawing unit, which is used to draw a detection result graph corresponding to each target account according to the multiple virtual positioning detection results and multiple detection timestamps in the virtual positioning detection result set; a second drawing unit, which is used to draw a position change graph corresponding to each target account according to multiple location information and multiple detection timestamps; a division unit, which is used to level each target account according to preset division rules based on the detection result graph and the position change graph.
[0011] Optionally, the acquisition unit includes: a first acquisition subunit, used to acquire a data acquisition method corresponding to the target device according to attribute information; a second acquisition subunit, used to acquire a target data set using the data acquisition method, and the target data set includes: a virtual data subset, a signal data subset, and a positioning data subset.
[0012] According to another aspect of an embodiment of the present application, a computer-readable storage medium is provided, characterized in that the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the above virtual positioning detection method.
[0013] According to another aspect of an embodiment of the present application, there is also provided an electronic device, including a memory and a processor, characterized in that the memory stores a computer program, and the processor is configured to execute the above virtual positioning detection method through the computer program.
[0014] The above-mentioned virtual positioning detection method of the present application solves the problem of large equipment loss caused by the virtual positioning detection method in the prior art, thereby reducing the loss to the equipment. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0016] Figure 1 is a schematic diagram of a hardware environment of an optional virtual positioning detection method according to an embodiment of the present invention;
[0017] Figure 2 is a flow chart of an optional virtual positioning detection method according to an embodiment of the present invention;
[0018] Figure 3 is a flow chart of another optional virtual positioning detection method according to an embodiment of the present invention;
[0019] Figure 4 is a structural schematic diagram of an optional virtual positioning detection device according to an embodiment of the present invention;
[0020] Figure 5 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0021] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0022] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions.
[0023] It should be noted that the embodiments in this application and all the required data in the embodiments are obtained and used by legitimate means with the consent of the user and relevant personnel, and the user's information security will be guaranteed during the acquisition and use process.
[0024] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0025] In order to solve the problem of large equipment loss caused by virtual positioning detection methods in the prior art, the present application provides a virtual positioning detection method. As an optional implementation, the above virtual positioning detection method can be but is not limited to being applied to Figure 1 In the virtual positioning detection system composed of terminal device 101, terminal device 102 and server 103 shown in FIG. Figure 1As shown, the server 103 is connected to the terminal device 101 and the terminal device 102 through the network 106. The above network may include but is not limited to: wired network, wireless network, wherein the wired network includes: local area network, metropolitan area network and wide area network, and the wireless network includes: Bluetooth, WIFI and other networks that realize wireless communication. The above terminal device may include but is not limited to at least one of the following: mobile phone (such as Android mobile phone, iOS mobile phone, etc.), laptop computer, tablet computer, PDA, MID (Mobile Internet Devices), PAD, desktop computer, smart TV, etc. A client is running on the above-mentioned terminal device, and an application can be installed in the client. Among them, the client running on the terminal device 101 can be installed with an application for triggering virtual positioning detection of the terminal device 101, such as a clock-in application, etc.; the client running on the above-mentioned terminal device 102 can be installed with a client application (such as a mobile application) for monitoring the terminal device 101, such as an application for monitoring the clock-in results of the clock-in application in the client running on the terminal device 101. The server application (such as a website) in the client running on the terminal device 102 can also monitor the above-mentioned clock-in application.
[0026] The terminal device 101 and the terminal device 102 are also provided with a display, a processor and a memory. The display can be used to display the program interface of the application program. The processor can be used to process the acquired data, for example, encryption, compression, filtering, etc. The memory is used to store the data to be processed and the processed data or application program, etc. It can be understood that, in the case where the terminal device 101 receives the detection request of the user, the terminal device 101 can send the detection request to the server 103 through the network 106, or the terminal device 102 can send a notification message to the terminal device 101 at a certain timestamp to notify the terminal device 101 to send the detection request. After receiving the notification message, the terminal device 101 sends the detection request to the server. When the server 103 receives the detection request, it performs a virtual positioning detection on the terminal device 101 according to the attribute information and data acquisition authority carried in the detection request; the terminal device 101 and the terminal device 102 can receive the detection result returned by the server 103 through the network 106.
[0027] The server 103 may be a single server, a server cluster consisting of multiple servers, or a cloud server. The server includes a database 104 and a processing engine 105. The processing engine 105 is used to process the detection request; the database 104 is used to store the detection request, the information carried in the detection request, the target data set, and the virtual positioning detection result of the device.
[0028] According to one aspect of an embodiment of the present invention, the above-mentioned virtual positioning detection system can also perform the following steps: the terminal device 101 performs step S102, and the first client running on the terminal device 101 sends a detection request to the server 103 through the network 106; the server 103 performs steps S104 to S110, receives the detection request of the target device, the detection request is used to request the detection of the positioning of the target device, and the detection request carries the attribute information and data acquisition authority corresponding to the target device; obtains the target data set according to the attribute information and the data acquisition authority; determines the target data subset in the target data set to obtain the determination result, and the target data subset is any data subset in the target data set; when the determination result does not match the preset result, determines that the positioning of the target device is virtual positioning. Then the server 103 performs S112, and sends the detection result to the terminal device 101 and the terminal device 102 through the network 106.
[0029] It should be further explained that the above-mentioned server 103 can be a server cluster for executing a variety of different tasks.
[0030] In the above-mentioned embodiment of the present invention, a target data subset in the target data set obtained in the present application is used for judgment, and the obtained judgment result is matched with the preset result, thereby overcoming the problem of repeated acquisition of the same data for virtual positioning detection in the related technology that easily degrades the performance of the equipment, and solving the technical problem of large equipment loss caused by virtual positioning detection in the related processing technology, thereby reducing the loss to the equipment.
[0031] The above is only an example and is not limited in this embodiment.
[0032] As an optional implementation, please refer to Figure 2 , which shows a flow chart of a virtual positioning detection method according to an embodiment of the present application. The method comprises the following steps:
[0033] S202, receiving a detection request of a target device, the detection request is used to request detection of the location of the target device, and the detection request carries attribute information and data acquisition authority corresponding to the target device;
[0034] S204, acquiring a target data set according to the attribute information and data acquisition authority;
[0035] S206, determining a target data subset in the target data set to obtain a determination result, where the target data subset is any data subset in the target data set;
[0036] S208: When the determination result does not match the preset result, determine that the positioning of the target device is virtual positioning.
[0037] It should be noted that the target device in the above S202 can be an Android device or an iOS device, and the device type can be a mobile phone, a computer, a smart watch, etc. The above detection request can be triggered when the target user uses the client running on the target device to open the target client application (hereinafter referred to as the target app) during a preset time period, or it can be triggered by the monitoring user using the client running on the monitoring device to send a notification message to the target app or reference client application (hereinafter referred to as the reference app) on the target device at a preset timestamp. After receiving the notification message, the client running on the target device sends a detection request according to the notification message. The above detection request is used to request to detect whether the positioning of the target device is virtual positioning. The above attribute information includes the device model, manufacturer, brand, device name, product name, motherboard name, device serial number, CPU instruction set architecture, memory size, etc. of the target device; the above data acquisition authority is used to indicate whether the user authorizes the server to obtain the attribute information of the target device, the signal information of the target device, and the positioning information of the target device. The above-mentioned target data set includes a virtual data subset, a signal data subset, and a positioning data subset, wherein the virtual data subset stores virtual data, which can be but is not limited to being understood as fields and field values corresponding to virtual positioning; the signal data subset stores signal data of the target device, which includes network signal data connected to the target device (such as WIFI signals, hotspot signals) and device signals of the target device (such as mobile phone signals), and the signal data is used to indicate the signal strength of the target device (the strength of the connected network signal or the device signal strength); the positioning data subset includes duration data, altitude data, and longitude and latitude data, and the duration data is the interface return duration when obtaining positioning information; the altitude data is the altitude data of the target device.
[0038] The determination of the target data subset in the above S206 can be understood, but not limited to, as determination of the above virtual data subset, signal data subset, and positioning data subset to obtain a determination result, which is used to indicate the system (any of the Android system, iOS system, and virtual machine system) where the target application (i.e., the above target app) in the target device is running; the above preset result includes the Android system and the iOS system; the determination result does not match the preset result, which can be understood, but not limited to, as: the preset result does not include the determination result, i.e., the determination result indicates that the target app is running in the virtual machine system. At this time, it is determined that the positioning of the target device is virtual positioning.
[0039] It can be understood that when the judgment result matches the preset result, the positioning of the target device is determined to be the real positioning. The above judgment result matches the preset result and can be understood, but not limited to, as the preset result including the judgment result, that is, the judgment result indicates that the target app is running on the Android system or the iOS system. At this time, the positioning of the target device can be determined to be the real positioning.
[0040] Through the above implementation of the present application, it is possible to ensure that the client and the server have very few interactions while accurately detecting the virtual positioning of the device, thereby avoiding damage to the device performance.
[0041] As an optional implementation, a determination is performed on a target data subset in a target data set to obtain a determination result, including:
[0042] S1, select a data subset from the target data set as the target data subset;
[0043] S2, obtaining a preset data set corresponding to the target data subset;
[0044] S3, matching the target data subset with the preset data set to obtain a matching result;
[0045] S4, when the matching result indicates that the target data subset does not match the preset data set, determining a determination result according to the matching result;
[0046] S5. When the matching result indicates that the target data subset does not match the preset data set, a data subset is selected from the target data set other than the target data subset as the target data subset.
[0047] The above S1 to S5 can be understood, but not limited to, as follows: select any data subset from the target data set as the target data subset; then obtain the preset data set corresponding to the target data subset (pre-set standard data corresponding to the target data subset); match the target data subset with the preset data set. The matching here can be understood, but not limited to, as judging whether the data in the target data subset is abnormal according to the preset data set. In the case of mismatch, it can be determined that the matching result indicates that the target app is running in a virtual machine system. At this time, it can be determined that the determination result is that the positioning of the target device is virtual positioning. In the case of matching, a subset is selected from other data subsets except the above target data subset as a new target data subset, and then the above S1 to S5 are re-executed until the multiple data subsets in the target data set are executed according to the steps in the above S1 to S5. If the multiple data subsets match their respective corresponding preset data sets, then it can be determined that the positioning of the target device is real positioning.
[0048] Through the above-mentioned implementation mode of the present application, the target device can be virtually positioned based on multiple data subsets, rather than using only one type of data (such as interface return time or altitude data) for virtual positioning detection, thereby ensuring the accuracy of the virtual positioning detection of the target device.
[0049] As an optional implementation, receiving a detection request of a target device includes: receiving a detection request in a current time period, receiving a detection request sent by the target device according to a notification message, and the current time period includes a current timestamp. That is, receiving a detection request of a target device can be understood, but not limited to, as: a detection request sent by a client running the target device in the current time period, or a notification message sent by a client running the monitoring device to a client running the target device, and the client running the target device sends a detection request according to the received notification message. For example, multiple users to be monitored are notified in advance to clock in through the target app on their respective devices from 8 to 9 a.m. every day, and at the same time, the monitoring personnel will also conduct spot checks through the monitoring device every day. That is, through the client running the monitoring device, a notification message is sent to the client application (target app: i.e., clock-in app; or reference app: such as text messages) running on the devices used by some of the multiple users. After the client running the user's device receives the notification message (e.g., clock-in within 30 minutes), the user needs to clock in again (i.e., spot check) using the target app running on the device according to the notification message.
[0050] Through the above implementation mode of the present application, the target device is allowed to send detection requests in a fixed time period (i.e. the above current time period) and a spot check time period, so as to achieve more accurate and effective supervision of the persons to be monitored who use the target device.
[0051] As an optional implementation, the above-mentioned virtual positioning detection method also includes: obtaining an application account of a target application in a target device and a preset mobile area corresponding to the application account according to the attribute information, wherein the preset mobile area is an area in which a target user is allowed to move within a target time period, the target user is a user corresponding to the application account, and the target time period includes a current time period; when the target data subset is a positioning data subset and the matching result indicates that the target data subset does not match the preset data set, sending an early warning message to a monitoring device, wherein the early warning message is used to indicate that the positioning of the target device is abnormal; reducing the preset mobile area, and using the reduced area as the preset mobile area.
[0052] It should be noted that the preset mobile area corresponding to the above-mentioned application account can be understood but not limited to the area where the target user is allowed to move within the target time period (for example, the target user A needs to be supervised for 30 days. During these 30 days, the target user A is only allowed to move in Province A and is not allowed to leave Province A); the above-mentioned target time period can be understood but not limited to the above-mentioned 30 days, the above-mentioned current time period can be understood but not limited to the pre-set time period in which the target user needs to use the client running his device to send a detection request, and the above-mentioned current time period is for example: 8 to 9 am every day within 30 days. The above-mentioned current timestamp can be understood but not limited to the time when the monitoring personnel uses the client running the monitoring device to send a notification message to the client running the device used by the user, that is, the time when the monitoring personnel conducts spot checks on certain users. The above-mentioned current timestamp can be any timestamp within the 30 days (that is, the target time period).
[0053] When the target data subset is a positioning data subset, and the matching result indicates that the target data subset does not match the preset data set, an early warning message is sent to the monitoring device. The above mismatch can be understood, but not limited to, as the positioning data corresponding to the target device in the positioning data subset (including the latitude and longitude of the target device, altitude, interface return time and other location information corresponding to the target device received by the server) is not in the preset mobile area, or the positioning data is abnormal (for example, the altitude data is 0). At this time, an early warning message is sent to the monitoring device (which can be understood, but not limited to, as sending an early warning message to the client running the monitoring device), and the early warning message indicates that the positioning of the target device is abnormal. At the same time, the early warning message also includes specific positioning abnormality information, that is, whether the virtual positioning is adopted or exceeds the preset mobile area, so as to facilitate the monitoring personnel to know the specific situation. However, whether the virtual positioning is adopted or exceeds the preset mobile area, as long as the positioning of the target device is abnormal, the preset mobile area corresponding to the application account will be reduced (for example, from Province A to City A), so that the mobile area of the target user can be more restricted, and an emergency warning is issued when the mobile range of the target user exceeds the preset mobile range, so as to further achieve the key monitoring of the target user.
[0054] The above-mentioned reference time period can be understood but not limited to being a time period adjacent to the target time period, and the above-mentioned reference timestamp can be understood but not limited to being any timestamp within the reference time period. For example: the target time period is 30 days (30 days of supervision of multiple users), the current time period is a certain day within the 30 days, and the current timestamp is any timestamp of that day (i.e. the above-mentioned day), then the above-mentioned reference time period is the second day of that day, and the above-mentioned reference timestamp is any timestamp within the second day.
[0055] It is understandable that the present application can also set rules for expanding the preset mobile area. For example, for users corresponding to devices whose positioning is real positioning for more than two-thirds of the target time period, the preset mobile area corresponding to the user can be expanded (for example, from City A to Province A). For example, if the monitoring time for user A is 30 days, and user A's punch-ins for 20 consecutive days are all real punch-ins and do not exceed the preset mobile area corresponding to user A, then the preset mobile area corresponding to user A can be expanded from City A to Province A.
[0056] Through the above-mentioned implementation of the present application, personnel who exceed the preset movement area or modify the device positioning can be more strictly monitored, so that multiple persons to be supervised can be supervised more effectively.
[0057] As an optional implementation, after multiple virtual positioning detections are completed within the target time period, a set of virtual positioning detection results corresponding to multiple target accounts within the time period, a detection timestamp corresponding to each virtual positioning detection result, and location information corresponding to each virtual positioning detection result can be obtained. The multiple target accounts are accounts of multiple users (users to be monitored) who each use a device to log in to the target application; based on the multiple virtual positioning detection results and multiple detection timestamps in the virtual positioning detection result set, a detection result graph corresponding to each target account is drawn; based on the multiple location information and multiple detection timestamps, a location change graph corresponding to each target account is drawn; based on the detection result graph and the location change graph, each target account is level-divided according to preset division rules.
[0058] The above-mentioned location information can be understood, but is not limited to, as the location information (including latitude, longitude and altitude) of the target device obtained by the server each time the target user sends a detection request through the client running on the device; the above-mentioned detection result graph and location change graph can be a bar graph or a line graph. Different detection results correspond to different detection weights (for example, the detection weight of a target user whose detection results are all normal within the target time period is 1, the detection weight of two-thirds of the detection results within the target time period are normal and continuous is 0.8, the detection weight of one-third of the detection results within the target time period are normal and continuous is 0.6, and so on). The detection weight corresponding to each target user can be determined according to the detection result graph corresponding to each target user; different position changes correspond to different position weights (for example, the position weight of a target user whose position information corresponding to all detection results within the target time period does not exceed the preset movement area is 1, the position weight of a target user whose position information corresponding to all detection results within the target time period exceeds the preset movement area only once is 0.95, the position weight of a target user whose position information corresponding to all detection results within the target time period exceeds the preset movement area twice is 0.90, the position weight of a target user whose position information corresponding to all detection results within the target time period exceeds the preset movement area three times is 0.85, and so on).
[0059] The preset division rules can be pre-set according to the comprehensive weight (the sum of the detection weight 1 and the location weight). For example, the preset division rules are as follows: the target account with a comprehensive weight greater than or equal to 1.8 and less than or equal to 2 is level 1; the target account with a comprehensive weight greater than or equal to 1.6 and less than 1.8 is level 2; the target account with a comprehensive weight greater than or equal to 1.4 and less than 1.6 is level 3; the target account with a comprehensive weight greater than or equal to 1.2 and less than 1.4 is level 4. It should be noted that after each target account is divided into levels, it can also be determined whether it is necessary to perform virtual positioning detection on the target account again in the target time period according to the level division results of multiple target accounts, for example: the user corresponding to the target account of level 3 and above is monitored again for thirty days, and the target user corresponding to the target account of level 3 and above (level 4, level 5, etc.) is notified to use the device to perform the punch-in (i.e., the act of sending a detection request) operation again for thirty days.
[0060] As an optional implementation, obtaining the target data set according to the attribute information and the data acquisition authority includes: obtaining the data acquisition method corresponding to the target device according to the attribute information; and obtaining the target data set using the data acquisition method. Different devices have different corresponding data acquisition methods (such as data acquisition interfaces), so it is necessary to use the data acquisition method corresponding to the device to obtain the target data set.
[0061] Through the above-mentioned implementation modes of the present application, the virtual positioning detection method in the present application can be applicable to a variety of different types of devices, thereby broadening the application scenarios of the virtual positioning detection method.
[0062] The following combination Figure 3 The virtual positioning detection method is generally described, including the following contents:
[0063] The above virtual positioning detection method can be applied to a variety of scenarios. The following uses the application and community correction Zhang Jing as an example to illustrate:
[0064] Community correction refers to monitoring eligible persons (i.e. the above-mentioned target users) in the community and correcting their psychological and behavioral bad habits during the monitoring period. Therefore, it is necessary to monitor the activity tracks of these persons through a positioning monitoring APP (i.e. the above-mentioned target application). During the monitoring process, it is necessary to restrict the activity area of its activity range (such as setting a preset mobile area for the target user as mentioned above, and not allowing the target user to move in areas outside the preset mobile area). The detection of virtual positioning in this application includes: the first is to directly detect the operating environment of the target application on the device used by the target user, and to judge whether the target application is running in a virtual machine (a virtual machine refers to a complete and independent operating system environment simulated by software on the device) (i.e. the above-mentioned judgment result) through the information that the device itself can obtain. If the target application runs in a virtual machine, the user can easily tamper with the device positioning data and return false positioning data. The detection of the target application running environment includes flag detection, WIFI information detection, mobile phone signal strength detection, and positioning data detection (using device positioning-related data to determine whether there are data anomalies, including the return time of the positioning operation interface, positioning altitude data, etc., and inferring whether the user has virtual positioning behavior through data anomalies). If it is detected that the device is running in a virtual machine, a virtual positioning warning will be issued directly. The second is to detect whether the user's positioning data exceeds the preset mobile area (that is, the user does not use virtual positioning, but exceeds the preset mobile area).
[0065] In general, the present application provides a simple and effective virtual positioning detection method for checking the virtual positioning of devices. Through device operating environment detection and positioning data analysis, virtual positioning behavior and users who are not in the preset mobile area can be discovered in a timely manner. The virtual positioning detection method of the present application obtains the judgment result for the target data subset in the target data set by comprehensively judging the multiple target data subsets in the target data set, and the present application does not make any specific restrictions on the judgment order of each target data subset. Figure 3 The above virtual positioning detection method is specifically described with respect to a preferred determination sequence in the present application, which specifically includes the following steps:
[0066] S302, the user opens the app;
[0067] It should be noted that when a user (i.e., the target user) opens the client application (i.e., the target app) running on the target device, the client running on the target device sends a detection request to the server, and then the server can send a data acquisition request to the client according to the attribute information and data acquisition authority carried in the detection request to obtain the target data set, and then the client sends the target data set to the server. The server first selects a virtual data subset in the target data set as the target data subset, and then executes S304.
[0068] S304, determine whether the virtual machine flag is included, if yes, execute S316, send a virtual location warning to the monitoring device, if no, execute S306;
[0069] It should be noted that the virtual machine flag is a piece of data included in the virtual data subset, and the virtual machine flag is used to indicate whether the target application is running in a virtual machine. If so, a virtual positioning warning message is directly sent to the monitoring device. However, sometimes the target device does not allow the acquisition of the virtual machine flag, or the acquired virtual machine flag is empty, then it can be determined that the virtual machine flag is not included, and S306 is executed at this time.
[0070] That is, when the target user opens the target app in the device, the server queries some hardware or system properties of the device to determine whether the target app is in a virtual machine. For example, in Android development, the Build class is mainly used to obtain some hardware and software related information of the device. Check some properties in the Build class of the device to determine whether the device is running in a virtual machine. These properties include fingerprint information used to unlock the device, device model, manufacturer corresponding to the device, device brand, device name, product name, motherboard name, device serial number, CPU instruction set architecture, etc. The characteristics of real devices and virtual machine devices are different. For example, if the device model is "virtual" or "emulator" or "Android SDK built for x86", the fingerprint information or motherboard name of the device is "unknow", the memory is less than 2G, the product name is "sdk", etc., it is determined that the target app is running in a virtual machine environment, and a virtual positioning warning is issued. The virtual machine may be different from the real device in some hardware information, such as CPU, memory configuration, etc. By checking these specific hardware features, it is possible to quickly detect that the device positioning is virtual positioning when these features exist.
[0071] S306, acquiring signal information; signal information is signal data in the signal data subset, and the signal data includes the WIFI (or hotspot data) to which the device is connected, the WIFI information around the device, and the device signal data. This acquisition operation can be understood as, but is not limited to, selecting a signal data subset from the target data set as the target data subset.
[0072] For example, the WifiManager instance in the Android system is mainly used to manage the device's Wi-Fi connection and related operations. Therefore, to obtain the device's Wi-Fi hotspot information, you can first obtain the WifiManager instance, and then call the getScanResults() method to scan the available Wi-Fi networks: you can initiate a scan of the available Wi-Fi networks around you and obtain the scan results, including the network name (SSID), signal strength and other information. The scan results of the Wi-Fi network in the virtual machine are simpler or incomplete than those in the real environment (that is, if the target app runs in the virtual machine system, the number of Wi-Fi networks near the device obtained is less than that of the target app running in the Android system or iOS system, and the length of the name of the Wi-Fi near the device obtained when the target app runs in the virtual machine system is also longer than that of the name of the Wi-Fi near the device obtained when the target app runs in the Android system or iOS system).
[0073] For example, TelephonyManager in Android is mainly used to obtain and manage information and functions related to telephone communications. Therefore, to obtain the device's mobile phone signal data (mobile phone signal strength), you can first obtain the TelephonyManager instance, and then use the getAllCellInfo() method to obtain the base station information of the currently available cells. Virtual machines usually cannot obtain real and valid cell information, or the information obtained may be abnormal, such as missing key fields, incorrect data format, etc. The cell signal strength, base station identifier and other information in the virtual machine may show a pattern that does not conform to the real physical environment, such as always remaining unchanged, being too regular, or not conforming to the common network distribution pattern.
[0074] S308, determine whether the signal information is abnormal, if yes, execute S316, if no, execute S310;
[0075] It should be noted that, among the multiple data subsets included in the target data set, each data subset contains at least one piece of data (for example, if the virtual data subset does not include the virtual machine flag, the field value corresponding to the virtual machine flag is empty). For example, if the above-mentioned virtual data subset exists, it includes one piece of virtual machine flag data; for example, the above-mentioned signal data subset includes at least two pieces of data, namely the WIFI (or hotspot data) to which the device is connected and the device signal data; for example, the above-mentioned positioning data subset includes at least two pieces of data, namely the interface duration data (interface return duration when obtaining the target data set) and altitude data. When judging whether the signal data is abnormal, it is necessary to judge each piece of data in the signal data subset. Only when each piece of data in the signal data subset is normal, it is determined that the signal information is normal. When any piece of data in the signal data subset is abnormal, it is determined that the signal information is abnormal.
[0076] S310, obtaining positioning information: that is, obtaining the above positioning data subset (including at least interface duration data and altitude data). This obtaining operation can be understood as, but not limited to, selecting a positioning data subset from a target data set as a target data subset;
[0077] S312, determine whether the interface duration is abnormal, if so, execute S316, if not, execute S314;
[0078] It should be noted that the above-mentioned interface duration can be understood, but is not limited to, as the return time of the app in the virtual machine calling the positioning interface, and there is a gap between the return time of the real call interface to obtain positioning. Determining whether the interface duration is abnormal includes: carrying the sending timestamp of the request when sending the data acquisition request, and when the target data set is obtained, saving the receiving timestamp when the target data set is obtained again, and calculating the interface return duration based on the receiving timestamp and the acquisition timestamp. Determine whether the target app is placed in a virtual environment based on the interface return duration. If it is in a virtual environment, it is directly determined that the judgment result is that the target app is running in a virtual system. At this time, the positioning of the target device is determined to be virtual positioning, and a virtual positioning warning is sent to the monitoring device.
[0079] S314, determine whether the altitude data is abnormal, if so, execute S316, if not, execute S318.
[0080] The operation in S314 above can be understood, but is not limited to, as determining whether the positioning of the target device is virtual positioning based on the altitude. Principle: The virtual positioning interface usually does not simulate the real altitude, but often only simulates the longitude and latitude. The operation in S314 above includes: setting the maximum and minimum warning values for the altitude of the region (the above-mentioned preset moving area) (that is, setting the altitude interval corresponding to the preset moving area). Stored in the altitude table of the database table; compare the altitude data in the positioning data with the preset altitude interval in the database table. If it is not within the preset altitude interval, it is abnormal data.
[0081] For example, on an Android device, use the SensorManager and Sensor classes provided by the Android system (the SensorManager class is used in Android to manage and access various sensors of the device) to obtain the altitude of the device, including: obtaining a SensorManager instance; obtaining an altitude sensor Sensor instance through the SensorManager; registering a sensor listener and implementing a callback method to obtain the altitude. In the above method, we first obtain an altitude sensor Sensor instance through the SensorManager, then register a sensor listener and implement the onSensorChanged callback method to obtain sensor data. In the onSensorChanged method, we calculate the altitude using the air pressure value returned by the sensor and use it for subsequent altitude abnormal data warnings. The unit of altitude is meters. Alarm for abnormal altitude data, such as an altitude of 0 or an altitude that is obviously inconsistent with the regional altitude. It is judged as virtual positioning, and a virtual positioning alarm is sent to the monitoring device.
[0082] S316, virtual positioning warning; the warning method may be to send warning information to the monitoring device, and the warning information includes the warning reason (such as abnormal altitude data, etc.);
[0083] S318, the positioning is true, that is, monitoring information indicating that the positioning is true is fed back to the monitoring device.
[0084] The above-mentioned virtual positioning detection method can reduce the number of interactions between the client and the server, thereby ensuring the performance of the device. At the same time, the device is virtually positioned through multi-layer and multi-directional data, thereby improving the accuracy of the virtual positioning detection.
[0085] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
[0086] According to another aspect of the embodiments of the present invention, a virtual positioning detection device for implementing the above virtual positioning detection method is also provided. Figure 4 As shown, the device comprises:
[0087] A receiving unit 402 is used to receive a detection request from a target device, where the detection request is used to request to detect the location of the target device, and the detection request carries attribute information and data acquisition authority corresponding to the target device;
[0088] An acquisition unit 404 is used to acquire a target data set according to the attribute information and the data acquisition authority;
[0089] A determination unit 406 is used to determine a target data subset in the target data set to obtain a determination result, where the target data subset is any data subset in the target data set;
[0090] The determination unit 408 is configured to determine that the positioning of the target device is a virtual positioning when the determination result does not match the preset result.
[0091] Optionally, in this embodiment, the embodiments to be implemented by the above-mentioned various unit modules can refer to the above-mentioned various method embodiments, which will not be repeated here.
[0092] According to another aspect of the embodiments of the present invention, an electronic device for implementing the above virtual positioning detection method is also provided. The electronic device may be Figure 5 The terminal device or server shown in the figure. This embodiment is described by taking the electronic device as a terminal device as an example. Figure 5 As shown, the electronic device includes a memory 502 and a processor 504. The memory 502 stores a computer program, and the processor 504 is configured to execute the steps in any of the above method embodiments through the computer program.
[0093] Optionally, in this embodiment, the electronic device may be located in at least one network device among a plurality of network devices of a computer network.
[0094] Optionally, in this embodiment, the processor may be configured to execute the virtual positioning detection method through a computer program.
[0095] Alternatively, a person skilled in the art may understand that: Figure 5 The structure shown is for illustration only, and the electronic device may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (Mobile Internet Devices, MID), a PAD, or other terminal devices. Figure 5 The structure of the electronic device is not limited. Figure 5 More or fewer components (such as network interfaces, etc.) as shown in 5, or having Figure 5 Different configurations are shown.
[0096] Among them, the memory 502 can be used to store software programs and modules, such as the program instructions / modules corresponding to the virtual positioning detection method and device in the embodiments of the present invention. The processor 504 executes various functional applications and data processing by running the software programs and modules stored in the memory 502, that is, to implement the above-mentioned virtual positioning detection method. The memory 502 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 502 may further include a memory remotely located relative to the processor 504, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 502 can be specifically, but not limited to, used to store file information such as target data sets. As an example, such as Figure 5 As shown, the memory 502 may include but is not limited to the receiving unit 402, the acquiring unit 404, the judging unit 406 and the determining unit 408 in the virtual positioning detection device. In addition, it may also include but is not limited to other module units in the virtual positioning detection device, which will not be repeated in this example.
[0097] Optionally, the transmission device 506 is used to receive or send data via a network. Specific examples of the network may include wired networks and wireless networks. In one example, the transmission device 506 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 506 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0098] In addition, the electronic device mentioned above further includes: a display 508, and a connection bus 510, which is used to connect various module components in the electronic device mentioned above.
[0099] In other embodiments, the terminal device or server may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes through network communication. Among them, the nodes may form a peer-to-peer (P2P, PeerTo Peer) network, and any form of computing device, such as a server, terminal or other electronic device, may become a node in the blockchain system by joining the peer-to-peer network.
[0100] According to one aspect of the present application, a computer program product is provided, the computer program product comprising a computer program / instruction, the computer program / instruction comprising a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication part, and / or installed from a removable medium. When the computer program is executed by a central processing unit, various functions provided by the embodiments of the present application are executed.
[0101] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0102] According to one aspect of the present application, a computer-readable storage medium is provided, and a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned virtual positioning detection method.
[0103] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for executing the virtual positioning detection method.
[0104] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing hardware related to the terminal device through a program, and the program may be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0105] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on such understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which can be personal computers, servers or network devices, etc.) to perform all or part of the steps of the above methods of various embodiments of the present invention.
[0106] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0107] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0108] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0109] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0110] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A virtual positioning detection method, characterized in that: include: Receive a detection request of a target device, the detection request is used to request detection of the location of the target device, and the detection request carries attribute information and data acquisition authority corresponding to the target device; Acquire a target data set according to the attribute information and the data acquisition authority; Performing a determination on a target data subset in the target data set to obtain a determination result, wherein the target data subset is any data subset in the target data set; In a case where the determination result does not match the preset result, it is determined that the positioning of the target device is virtual positioning.
2. The method according to claim 1, characterized in that A determination is performed on a target data subset in the target data set to obtain a determination result, including: Selecting a data subset from the target data set as the target data subset; Acquire a preset data set corresponding to the target data subset; Matching the target data subset with the preset data set to obtain a matching result; In a case where the matching result indicates that the target data subset does not match the preset data set, determining the determination result according to the matching result; In a case where the matching result indicates that the target data subset matches the preset data set, a data subset is selected from the target data set other than the target data subset as the target data subset.
3. The method according to claim 2, characterized in that Receive a detection request from the target device, including: The detection request is received in a current time period, or after sending notification information to the target device at a current timestamp, the detection request sent by the target device according to the notification information is received, and the current time period includes the current timestamp.
4. The method according to claim 3, characterized in that Also includes: Acquire, according to the attribute information, an application account of a target application in the target device and a preset movement area corresponding to the application account, wherein the preset movement area is an area where a target user is allowed to move within a target time period, the target user is a user corresponding to the application account, and the target time period includes the current time period; When the target data subset is a positioning data subset and the matching result indicates that the target data subset does not match the preset data set, sending a warning message to a monitoring device, wherein the warning message is used to indicate that the positioning of the target device is abnormal; Reducing the preset moving area, and using the reduced area as the preset moving area; A reference time period is determined as the current time period, and a reference timestamp is determined as the current timestamp.
5. The method according to claim 4, characterized in that Also includes: Obtain a set of virtual positioning detection results corresponding to each of the multiple target accounts within the target time period, a detection timestamp corresponding to each virtual positioning detection result, and location information corresponding to each of the virtual positioning detection results, wherein the multiple target accounts are accounts of multiple users who log in to the target application using their devices; Draw a detection result graph corresponding to each target account according to the multiple virtual positioning detection results and the multiple detection timestamps in the virtual positioning detection result set; Draw a location change graph corresponding to each target account according to the plurality of location information and the plurality of detection timestamps; According to the detection result graph and the position change graph, each target account is divided into levels according to preset division rules.
6. The method according to claim 1, characterized in that Acquiring the target data set according to the attribute information and the data acquisition authority includes: Acquire a data acquisition method corresponding to the target device according to the attribute information; The target data set is acquired by adopting the data acquisition method.
7. The method according to claim 6, characterized in that The target data set includes: a virtual data subset, a signal data subset, and a positioning data subset.
8. A virtual positioning detection device, characterized in that: include: A receiving unit, configured to receive a detection request of a target device, wherein the detection request is used to request detection of the location of the target device, and the detection request carries attribute information and data acquisition authority corresponding to the target device; An acquisition unit, configured to acquire a target data set according to the attribute information and the data acquisition authority; A determination unit, configured to determine a target data subset in the target data set to obtain a determination result, wherein the target data subset is any data subset in the target data set; The determination unit is used to determine that the positioning of the target device is virtual positioning when the determination result does not match the preset result.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method according to any one of claims 1 to 7.
10. An electronic device comprising a memory and a processor, characterized in that: The memory stores a computer program, and the processor is configured to execute the method according to any one of claims 1 to 7 through the computer program.