Detailed Description
Illustrative embodiments of the application include, but are not limited to, a geographic location based information recommendation method, apparatus, product, and electronic device. For a better understanding of the present solution, the names to which the present application relates are explained below. The technical scheme of the application obtains, stores, uses, processes and the like the data, which all meet the relevant regulations of national laws and regulations.
Fig. 1 is an application scenario diagram of an information recommendation method based on a geographic location, and as shown in fig. 1, a user equipment 100 includes a service device 110 and a privacy protecting device 120. Wherein the service device 110 may be a service platform provided by the service provider 200 for the user, such as a service platform providing merchant location information. The privacy protecting apparatus 120 is used for performing privacy protection processing on the real location information of the user that the service apparatus 110 needs to transmit to the facilitator 200.
As described in the background art, in general, in order to avoid disclosure of geographical location information of a user, the user device 100 used by the user randomly generates a plurality of virtual location information within a certain threshold range from real location information of the user by using the privacy protection apparatus 120 of a third party, and randomly outputs one location information from the real location information and the plurality of virtual location information as service location information. When the service location information is virtual location information and the deviation between the real location information and the virtual location information is large, the service information provided by the service provider 200 is easy to be inaccurate, and the user experience is affected.
Illustratively, assuming that the privacy securing apparatus 120 is centered on the user's real location and a certain threshold range from the user's real location is a radius, a location protection range is generated in the two-dimensional space, and a plurality of virtual locations and real locations located at the center of the location protection range are included in the location protection range. Each virtual position corresponds to one piece of virtual position information, and the real position corresponds to one piece of real position information. Specifically, the virtual position information and the real position information may be coordinate information.
Specifically, fig. 2 is a schematic diagram of filtering virtual location information according to some embodiments of the present application, referring to fig. 2, a virtual location corresponding to virtual location information Z sent by the user equipment 100 to the service provider 200 is located outside an actual query area RA, and real location information X of a user is located in the actual query area RA. If the randomly output location information is the virtual location information Z, the server 200 may deviate greatly from the location information of the hotel relative to the user (for example, the hotel a is located at the west direction of the user by 50 meters) and the location information of the hotel relative to the real location of the user (for example, the hotel a is located at the east direction of the user by 100 meters) in the actual query area provided by the virtual location information Z, which may result in inaccurate relative location information between the hotel location and the user location provided by the server 200, so that the user experience is poor. For example, the service provider 200 displays that there are no hotels around based on the hotel location information obtained by the virtual location information Z, such as 100 meters nearby, but the reality is that the user is in the surroundings of the real location. For another example, if the hotel location is located between the real location and the virtual location, the user moves 50 meters in the west direction based on the location information of the hotel relative to the user provided by the service provider 200, and the user cannot reach the hotel just opposite to the direction in which the user actually needs to move (e.g., 100 meters in the east direction).
The application provides an information recommendation method based on geographic position, which is characterized in that virtual position information is generated in a position protection range based on real position information of a user, and when the real position information and the virtual position information are not simultaneously positioned in an actual query area or are not simultaneously positioned outside the actual query area, the virtual position information is deleted, and one of the real position information and the reserved virtual position information is randomly output to a service position information for a service provider 200. The service provider 200 provides the user with a desired service according to the received service location information.
According to the geographic indistinguishability position privacy protection method provided by the application, on the premise of ensuring the safety of the real position information of the user, the generated virtual position information is screened by using the limiting condition of the actual query area, and the virtual position information which is easy to influence the service quality of the service provider 200 in the position protection range is deleted. That is, when the real position information is located in the real query area, the virtual position information in the real query area is reserved, and when the real position information is located outside the real query area, the virtual position information outside the real query area is reserved. The number and the position of the virtual position information are controllable, so that the deviation between the virtual position information and the real position information is reduced, and the accuracy of providing services for users by the service provider 200 is improved. The situation that when the real position information and the virtual position information are not simultaneously located in the actual query area or are not simultaneously located outside the actual query area, after the user side sends the virtual position information to the service provider 200, the service provider 200 generates larger deviation between the information such as the merchant position and the like provided by the virtual position information and the relative position information between the user position and the real relative position information between the information and the user position, so that the user can obtain wrong judgment based on the relative position information provided by the service provider 200, for example, the judgment that the walking route is wrong, and the merchant position cannot be found is avoided.
Fig. 3 is a schematic diagram of another method for screening virtual location information according to some embodiments of the application. In order to facilitate understanding of the technical solution of the present application, a brief description of a screening rule of virtual location information related to the technical solution of the present application is provided below with reference to fig. 2 and 3.
In the case where the actual query area RA is within the location protection area RX, as shown in fig. 2, virtual location information (e.g., virtual location information Z) outside the actual query area RA may be removed, and one may be randomly outputted as service location information from the actual location information X and the reserved virtual location information.
In the case where the real location information X is within the real query area RA, as shown in fig. 3, virtual location information (e.g., virtual location information Z1) within the overlapped portion may be removed, and one may be randomly outputted as service location information from the real location information and the reserved virtual location information.
When the actual query area RA and the location protection area RX overlap (not shown), if the actual location information X is within the actual query area RA, virtual location information other than the overlapping portion is removed, and one of the actual location information X and the virtual location information that is retained is randomly outputted as service location information.
It can be seen that, with the above embodiment, the relative positions of the real location information X and the real query area RA are similar to the relative positions of the service location information and the real query area RA, so that the service provided to the user by the service provider 200 based on the service location information is close to the service provided to the user based on the real location information X.
The flow of location privacy protection is illustrated in detail below in conjunction with fig. 1 and 2.
Illustratively, referring to FIG. 1, a user sends the user's real location information X (shown in FIG. 2) and a query target request (1, send query target request), e.g., hotel location information within the real query area RA (shown in FIG. 2), to the privacy protecting device 120 via the service device 110.
Referring to fig. 1, the privacy securing apparatus 120 performs privacy securing processing on the real location information of the user to obtain service location information, and transmits the service location information and the query request to the facilitator 200 (2, transmits the service location information and the query request). Wherein the query request contains a query target of the user and a preset query range RC (rc=5 km as shown in fig. 2) that is larger than the actual query area RA of the user (ra=0.6 km as shown in fig. 2). For example, the query target request is hotel location information within a preset query range RC. The service location information may be the real location information of the user or the virtual location information Z (shown in fig. 2) generated by the privacy securing means 120.
With continued reference to fig. 1, the facilitator 200 obtains query data based on the service location information and transmits the query data to the privacy securing means 120 (3, transmit query data). For example, the service provider 200 obtains hotel location information within a preset query range RC based on the service location information, and transmits the hotel location information within the preset query range RC to the privacy protecting apparatus 120.
With continued reference to fig. 1, the privacy securing apparatus 120 transmits the query data to the service apparatus 110 (4, transmits the query data). The service device 110 screens the query data for RA in the actual query area of the user. For example, the service device 110 screens out hotel location information in the actual query area RA from the hotel location information. As described above, the hotel location information is location information with respect to the service location information, so that in the case where the virtual location information deviates too much from the real location information, the hotel location information is inaccurate. There is therefore a need for improvements in location privacy preserving methods.
The geographic location-based information recommendation method provided by the application is further described in detail below with reference to the accompanying drawings.
Fig. 4 shows a flowchart of an information recommendation method based on a geographical location, and the information push method shown in fig. 4 will be described with reference to fig. 1 to 3.
The privacy securing apparatus 120 receives the real location information X of the user and the real query area RA of the user S401.
Illustratively, the user sends the actual query area RA to 120 through the service device 110, for example, RA is a circular area centered around point a as shown in fig. 2 and 3.
The privacy securing apparatus 120 generates virtual location information within a preset location protection scope RX based on the real location information S402.
In some embodiments of the present application, the user presets the location protection scope RX through the privacy protection apparatus 120, for example, the preset location protection scope RX is 1 km. I.e. the user's real location information X needs to be protected within 1 km from the real location.
In some embodiments of the present application, the location protection scope RX may be transmitted to the privacy protection device 120 by the user through the service device 100. So the user can set up position protection scope RX by oneself based on self demand, improves user's privacy protection experience.
The privacy protecting apparatus 120 determines the location protecting area RX, for example, rx=1 km, based on the planar laplace function distribution shown in fig. 5, with the real location information X of the user as the center, and performs discrete processing on the location protecting area RX to obtain all noise points in the location protecting area RX, i.e., one virtual location information, because the planar laplace function distribution is continuous distribution, in order to ensure the discrete distribution of the virtual location information.
The above planar laplace function is shown in the following formula (1):
f(XO)=f(X)+[lap(Δf/RX)]d (1)
Wherein f (X O) is virtual position information, f (X) is real position information of a user, RX is a radius of a position protection range, d is a distance between the virtual position information and the real position information, Δf is a sensitivity value, and the larger Δf is, the larger noise is, namely the larger the difference between the virtual position information and the real position information is.
As shown in fig. 5, the real position information of the user corresponds to the projection of the tip of the laplace function distribution on the above plane. The denser the noise points formed closer to the tip in the planar laplace function distribution, i.e. the more virtual position information is formed, so that the virtual position information output by the privacy protecting apparatus 120 is closer to the real position information, and the service provider 200 can provide more accurate service information.
Illustratively, the privacy protecting apparatus 120 associates the identity information of the user with the real location information X, the real query area RA, and the location protection scope RX of the user to provide location privacy protection services for a plurality of users.
S403, the privacy protecting apparatus 120 screens the virtual location information in the location protection scope RX based on the actual query area RA to obtain the virtual location information meeting the preset location condition.
In some embodiments of the present application, as shown in fig. 2, in the case where the actual query area RA is within the location protection scope RX, virtual location information outside the actual query area RA is removed.
In some embodiments of the present application, in the case where the actual query area RA partially overlaps the location protection area RX, if the actual location information X is within the actual query area RA, the virtual location information outside the overlapping portion is removed, and if the actual location information X is within the actual query area RA (as shown in fig. 3), the virtual location information inside the overlapping portion is removed.
In some embodiments of the present application, new virtual location information is generated at the intersection of the removed virtual location information and the real location information, and the actual query area. For example, after the virtual position information Z shown in fig. 2 is deleted, new virtual position information M is generated at the intersection point of the connection line of the virtual position information and the real position information X and the boundary of the real query area RA. Similarly, after the virtual position information Z1 shown in fig. 3 is deleted, new virtual position information M1 is generated. The problem of insufficient privacy protection degree caused by uneven distribution of the virtual position information is solved.
For example, the virtual location information Z shown in fig. 2 may be deleted by cleaning the noise point first. For example, RA and RX in fig. 5 are schematic diagrams of the actual query area RA and the location protection area RX in the plane laplace function shown in fig. 2, respectively, and the noise point corresponding to the virtual location information Z is deleted, so as to generate the noise point corresponding to the new virtual location information M.
By the above embodiment, the relative positions of the real position information X and the actual query area RA are approximate to the relative positions of the service position information and the actual query area RA, while also protecting the real position information of the user.
The privacy securing apparatus 120 randomly outputs one as service location information from the real location information and the virtual location information satisfying the preset location condition through a random function S404.
The random function is the planar laplace distribution function, and the probability that the position information output by the planar laplace distribution function is the real position information and the virtual position information is the same when the real position is input.
The privacy securing apparatus 120 transmits the service location information to the facilitator 200S 405.
Through the above-described embodiment, the relative positions of the real location information X and the actual query area RA are similar to those of the service location information and the actual query area RA, so that the service provided to the user by the service provider 200 based on the service location information is close to the service provided to the user based on the real location information X.
The embodiment of the application provides an information recommendation device based on a geographic position, which comprises an acquisition module, a generation module and a pushing module, wherein the acquisition module is used for acquiring real position information of a user and an actual query area of the user, the generation module is used for generating a plurality of pieces of virtual position information within a preset position protection range based on the real position information, and the pushing module is used for randomly outputting one piece of service position information to be pushed from the real position information and the virtual position information meeting the preset position condition under the condition that the preset position protection range at least partially covers the actual query area.
Embodiments of the present application provide a computer program product comprising instructions for implementing a method of pushing information of a geographical location as described above.
Embodiments of the present application provide a readable medium having instructions stored thereon that, when executed on an electronic device, cause the electronic device to perform a geographic location based information recommendation method as described above.
An embodiment of the application provides an electronic device comprising a memory for storing instructions for execution by one or more processors of the electronic device, and the processor, which is one of the processors of the electronic device, for performing the geographic location based information recommendation method as described above.
Referring now to FIG. 6, shown is a block diagram of a location privacy preserving device 600 in accordance with one embodiment of the present application. The location privacy preserving device 600 may be implemented by one or more electronic devices. The location privacy protection device 600 may include one or more processors 602, system control logic 608 coupled to at least one of the processors 602, system memory 604 coupled to the system control logic 608, non-volatile memory (NVM) 606 coupled to the system control logic 608, and a network interface 610 coupled to the system control logic 608.
The processor 602 may include one or more single-core or multi-core processors. The processor 602 may include any combination of general-purpose and special-purpose processors (e.g., graphics processor, application processor, baseband processor, etc.). In embodiments herein, the processor 602 may be configured to perform one or more embodiments in accordance with various embodiments as shown in fig. 1-5.
In some embodiments, system control logic 608 may include any suitable interface controller to provide any suitable interface to at least one of processors 602 and/or any suitable device or component in communication with system control logic 608.
In some embodiments, system control logic 608 may include one or more memory controllers to provide an interface to system memory 604. The system memory 604 may be used to load and store data and/or instructions. The memory 604 in which the privacy preserving device 600 is located may comprise any suitable volatile memory, such as a suitable Dynamic Random Access Memory (DRAM), in some embodiments.
NVM/memory 606 may include one or more tangible, non-transitory computer-readable media for storing data and/or instructions. In some embodiments, NVM/memory 606 may include any suitable nonvolatile memory, such as flash memory, and/or any suitable nonvolatile storage device, such as at least one of a HDD (HARD DISK DRIVE ), CD (Compact Disc) drive, DVD (DIGITAL VERSATILE DISC ) drive.
The NVM/memory 606 may include a portion of a storage resource installed on the apparatus of the location privacy preserving device 600 or it may be accessed by, but not necessarily part of, the device. For example, NVM/memory 606 may be accessed over a network via network interface 610.
In particular, system memory 604 and NVM/storage 606 may include a temporary copy and a permanent copy of instructions 620, respectively. The instructions 620 may include instructions that when executed by at least one of the processors 602 cause the location privacy preserving device 600 to implement a location privacy preserving method as shown in fig. 2. In some embodiments, instructions 620, hardware, firmware, and/or software components thereof may additionally/alternatively be disposed in system control logic 608, network interface 610, and/or processor 602.
The network interface 610 may include a transceiver to provide a radio interface for the location privacy protection device 600 to communicate with any other suitable device (e.g., front end module, antenna, etc.) over one or more networks. In some embodiments, the network interface 610 may be integrated with other components of the location privacy preserving device 600. For example, the network interface 610 may be integrated into at least one of the processor 602, the system memory 604, the nvm/storage 606, and a firmware device (not shown) having instructions that, when executed by at least one of the processor 602, implement one or more of the various embodiments shown in fig. 2-5.
The network interface 610 may further include any suitable hardware and/or firmware to provide a multiple-input multiple-output radio interface. For example, network interface 610 may be a network adapter, a wireless network adapter, a telephone modem, and/or a wireless modem.
In one embodiment, at least one of the processors 602 may be packaged together with logic for one or more controllers of the system control logic 608 to form a System In Package (SiP). In one embodiment, at least one of the processors 602 may be integrated on the same die with logic for one or more controllers of the system control logic 608 to form a system on a chip (SoC).
The location privacy protection device 600 may further include an input/output (I/O) device 612. The I/O device 612 may include a user interface to enable a user to interact with the location privacy preserving device 600, and the peripheral component interface is designed to enable peripheral components to also interact with the location privacy preserving device 600. In some embodiments, the location privacy preserving device 600 further includes a sensor for determining at least one of environmental conditions and location information associated with the location privacy preserving device 600.
In some embodiments, the user interface may include, but is not limited to, a display (e.g., a liquid crystal display, a touch screen display, etc.), a speaker, a microphone, one or more cameras (e.g., still image cameras and/or video cameras), a flashlight (e.g., light emitting diode flash), and a keyboard.
In some embodiments, the peripheral component interface may include, but is not limited to, a non-volatile memory port, an audio jack, and a power interface.
In some embodiments, the sensors may include, but are not limited to, gyroscopic sensors, accelerometers, proximity sensors, ambient light sensors, and positioning units. The positioning unit may also be part of the network interface 610 or interact with the network interface 610 to communicate with components of a positioning network, such as Global Positioning System (GPS) satellites.
It will be appreciated that the illustrated structure of embodiments of the present application does not constitute a particular limitation on the location privacy preserving apparatus 600. In other embodiments of the application, the location privacy preserving apparatus 600 may include more or less components than illustrated, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Program code may be applied to input instructions to perform the functions described herein and generate output information. The output information may be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system having a processor such as, for example, a Digital Signal Processor (DSP), a microcontroller, an Application Specific Integrated Circuit (ASIC), or a microprocessor.
The program code may be implemented in a high level procedural or object oriented programming language to communicate with a processing system. Program code may also be implemented in assembly or machine language, if desired. Indeed, the mechanisms described herein are not limited in scope to any particular programming language. In either case, the language may be a compiled or interpreted language.
One or more aspects of at least one embodiment may be implemented by representative instructions stored on a computer readable storage medium, which represent various logic in a processor, which when read by a machine, cause the machine to fabricate logic to perform the techniques described herein. These representations, referred to as "IP cores," may be stored on a tangible computer readable storage medium and provided to a plurality of customers or production facilities for loading into the manufacturing machine that actually manufactures the logic or processor.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the above description of exemplary embodiments of the application, various features of the application are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed application requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this application.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the application and form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination.