CN108282508B - Geographic position determining method and device and information pushing method and device - Google Patents

Geographic position determining method and device and information pushing method and device Download PDF

Info

Publication number
CN108282508B
CN108282508B CN201710011366.2A CN201710011366A CN108282508B CN 108282508 B CN108282508 B CN 108282508B CN 201710011366 A CN201710011366 A CN 201710011366A CN 108282508 B CN108282508 B CN 108282508B
Authority
CN
China
Prior art keywords
information
user
geographic position
priority
positioning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710011366.2A
Other languages
Chinese (zh)
Other versions
CN108282508A (en
Inventor
彭志成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710011366.2A priority Critical patent/CN108282508B/en
Publication of CN108282508A publication Critical patent/CN108282508A/en
Application granted granted Critical
Publication of CN108282508B publication Critical patent/CN108282508B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters

Abstract

A geographic position determining method, an information pushing method and a device thereof are provided, the user geographic position determining method can comprise the following steps: generating a geographic position index based on at least one user historical data associated with a user identifier, wherein the geographic position index contains first information used for determining a geographic position and a mapping relation between the first information and the user identifier; receiving a positioning request carrying a user identifier; querying the geographic position index corresponding to the user identifier in the positioning request; and providing the first information to a requester of the positioning request according to the inquired geographic position index. According to the method and the device, the accuracy and the reliability of determining the geographical position of the user can be improved, and the accuracy of information pushing can be effectively improved.

Description

Geographic position determining method and device and information pushing method and device
Technical Field
The present invention relates to the field of network technologies, and in particular, to a method and an apparatus for determining a geographic location, and a method and an apparatus for pushing information.
Background
Under the high-speed development of the current mobile internet, in order to more accurately place advertisements or push marketing information, the current position of a user needs to be sensed in real time. Therefore, to realize accurate pushing of advertisement or marketing information, it is necessary to acquire geographical location information of a user in real time, and in the related art, the acquisition means of the geographical location information of the user mainly includes installing an Application (APP) on a mobile terminal of the user and reporting the geographical location information of the user regularly through the APP.
At present, in the related art, a solution for pushing information to a user based on geographical location information of the user is implemented as follows:
firstly, periodically reporting the geographical location information of a user to an application Server (APP Server) through an APP on a mobile terminal of the user;
then, the application server caches the geographical position information of the user through a distributed message queue;
thirdly, a Location Based Service (LBS) engine in the information push system pulls the geographical position information of the user from the distributed message queue in real time, and a geographical position index is constructed in a memory;
fourthly, when a user browses a webpage on a computer or a mobile terminal or opens an APP, sending an information push request is triggered, and a browser or the APP sends the information push request;
fifthly, after a positioning engine in the information pushing system receives the information pushing request, querying a preset rule set which is in accordance with the user geographical position information through an LBS engine;
sixthly, a positioning engine in the information pushing system pushes information (such as advertisements, promotion information and the like) to a browser of the first user computer or an APP on the mobile terminal according to a pushing strategy corresponding to the preset rule set, and a webpage on the browser or the APP on the mobile terminal displays the information to the first user.
The above solutions of the related art have the following drawbacks:
1) the LBS engine strictly depends on the acquisition of the geographical position information of the mobile terminal side, and if the mobile terminal side shields the function of reporting the geographical position information, the LBS engine can directly cause that the LBS engine can not acquire the geographical position information of the user, thereby influencing the pushing of the information;
2) in a scene that a user browses a webpage by using a PC (personal computer), because a corresponding geographic position information reporting mechanism is not available, the geographic position information of the user cannot be acquired, so that information cannot be pushed according to the geographic position information of the user in the scene;
3) the geographic position information of the user has certain timeliness, and if the geographic position information reported by the mobile terminal side is overdue, the reliability of the geographic position is poor, and the accuracy of information push and the user experience are influenced through verification;
in summary, in the related art, the current geographic position of the user is determined completely by depending on the geographic position information reported by the mobile terminal side in real time, the application scenario is limited, the obtained result is poor in reliability, low in accuracy and low in coverage rate, and the information is pushed to the user based on the geographic position information reported by the mobile terminal in real time, so that the application scenario of information pushing is limited, the accuracy is low, and the user experience is also low.
Disclosure of Invention
The application provides a geographic position determining method and device and an information pushing method and device, which can improve the geographic position information coverage rate, accuracy and reliability of a user and improve the information pushing accuracy.
The technical scheme is as follows:
a method of geographic location determination, comprising:
generating a geographic position index based on at least one user historical data associated with a user identifier, wherein the geographic position index contains first information used for determining a geographic position and a mapping relation between the first information and the user identifier;
receiving a positioning request carrying a user identifier;
querying the geographic position index corresponding to the user identifier in the positioning request;
and providing the first information to a requester of the positioning request according to the inquired geographic position index.
Wherein the generating a geographic location index based on at least one user history data associated with the user identification comprises:
acquiring the first information based on at least one user historical data associated with user identification;
and generating the geographic position index by using the first information and the corresponding user identification.
Wherein the generating the geographic position index by using the first information and the corresponding user identifier comprises: and filtering the acquired first information, and generating the geographic position index by using the filtered first information and the corresponding user identification thereof.
Wherein the generating a geographic location index based on at least one user history data associated with the user identification further comprises: configuring a priority of the first information;
the providing geographic location information to the requester of the location request according to the queried geographic location index includes:
and according to the priority of the first information in the inquired geographic position index, extracting the first information from the inquired geographic position index and providing the first information to the requester of the positioning request.
Wherein the configuring the priority of the first information includes one or a combination of two of the following:
when the geographic position index contains a plurality of pieces of first information, sequencing the plurality of pieces of first information in the geographic position index according to a preset rule, and configuring the priority of the first information according to the sequencing result;
and when the geographical position index contains one piece of first information, configuring the priority of the first information as a preset value.
Wherein the first information is one of: receiving address information, Global Positioning System (GPS) information and position information corresponding to the IP address;
the at least one user history data is one of the following or any combination thereof: transaction data, application data, browsing data.
Wherein the generating the geographic location index comprises:
and extracting receiving address information from the transaction data corresponding to the same user identifier, and forming the geographic position index by taking the first identifier corresponding to the user identifier as a key and the filtered receiving address information as a value.
Wherein the generating the geographic location index further comprises:
when the receiving address information is multiple, configuring the priority of the receiving address information according to one or more of the updating time, the geographic region attribute and the using times of the receiving address information;
and when the receiving address information is one, configuring the priority of the receiving address information by a first preset value.
Wherein, before generating the geographic position index, the method further comprises: establishing an IP address information base, wherein the IP address information base comprises an IP address, position information and a mapping relation of the position information;
the generating the geographic location index comprises: and inquiring the position information corresponding to the IP address from the IP address information base based on the IP addresses in the browsing data corresponding to the same user identification and the access time information of each IP address, and forming the geographic position index by taking the first identification corresponding to the user identification, the access time information and the IP address as keys and the position information corresponding to the at least one IP address as values.
Wherein the generating the geographic location index further comprises:
when the geographic position index contains two or more pieces of position information corresponding to the IP addresses, sequencing the position information according to the access duration of each IP address, and configuring the priority of the position information according to the sequencing result;
and when the geographic position index contains a piece of position information corresponding to the IP address, configuring the priority of the position information corresponding to the IP address by a second preset value.
Wherein the generating the geographic location index comprises:
and forming the geographic position index by taking the first identifier corresponding to the user identifier, the access time information as a key and the GPS information as a value based on the GPS information and the access time information in the application data corresponding to the same user identifier.
Wherein the generating the geographic location index further comprises:
when the geographic position index contains two or more pieces of GPS information, sorting the GPS information according to the access duration corresponding to the GPS information, and configuring the priority of the GPS information according to the sorting result;
when the geographic position index contains one piece of the GPS information, configuring the priority of the GPS information by a third preset value.
Wherein the generating the geographic location index further comprises:
identifying associations between the user identifications in the browsing data, transaction data or application data;
generating the first identifier based on the associated user identifier, the first identifier comprising a first portion and a second portion, the first portion being indicative of the user identifier type, the second portion being derived with a predefined mapping algorithm based on the content of the associated user identifier.
Wherein, still include: and performing deduplication processing based on the associated first identifications generated by the user identifications of the same type.
An information push method, comprising:
sending a positioning request to a positioning server based on a triggering request from a user terminal, wherein the triggering request carries a user identifier, and the positioning request carries the user identifier;
receiving first information from the positioning server, wherein the first information is used for determining a geographic position;
and inquiring the push information matched with the first information, and providing the push information for the user terminal.
Wherein, the inquiring the push information matched with the first information comprises:
sending an information pushing request to a pushing server, wherein the information pushing request carries the first information;
and receiving the push information matched with the first information returned by the push server.
Wherein, before sending the positioning request to the positioning server, the method further comprises: verifying whether positioning data from the user terminal is received or not and whether the timeliness of the positioning data meets a preset condition or not;
the sending of the location request to the location server includes: and when the positioning data from the user terminal is not received or the timeliness of the positioning data does not meet the preset condition, sending a positioning request to a positioning server.
Wherein, after verifying whether the positioning data from the user terminal is received and whether the timeliness of the positioning data meets the predetermined condition, the method further comprises:
and when the positioning data is received and meets the preset conditions, inquiring the push information matched with the Global Positioning System (GPS) information in the positioning data, and providing the push information for the user terminal.
The preset condition is that the time length of the reporting time from the current time does not exceed the preset time length.
An apparatus for determining a geographic location of a user, comprising:
the generation module is used for generating a geographic position index based on at least one user historical data associated with the user identification, wherein the geographic position index contains first information used for determining a geographic position and a mapping relation between the first information and the user identification;
the first receiving module is used for receiving a positioning request carrying a user identifier;
the query module is used for querying the geographic position index corresponding to the user identifier in the positioning request;
and the first providing module is used for providing the first information to the requester of the positioning request according to the inquired geographic position index.
An apparatus for determining a geographic location of a user, comprising a processor and a memory, the memory storing computer-executable instructions that, when executed by the processor, implement a method comprising:
generating a geographic position index based on at least one user historical data associated with a user identifier, wherein the geographic position index contains first information used for determining a geographic position and a mapping relation between the first information and the user identifier;
receiving a positioning request carrying a user identifier;
querying the geographic position index corresponding to the user identifier in the positioning request;
and providing the first information to a requester of the positioning request according to the inquired geographic position index.
An information pushing apparatus comprising:
a sending module, configured to send a location request to a location server based on a trigger request from a user terminal, where the trigger request carries a user identifier, and the location request carries the user identifier;
a second receiving module, configured to receive first information from the positioning server, where the first information is used to determine a geographic location;
and the second providing module is used for inquiring the push information matched with the first information and providing the push information for the user terminal.
An information pushing apparatus comprising a processor and a memory, the memory storing computer-executable instructions that, when executed by the processor, implement a method comprising:
sending a positioning request to a positioning server based on a triggering request from a user terminal, wherein the triggering request carries a user identifier, and the positioning request carries the user identifier;
receiving first information from the positioning server, wherein the first information is used for determining a geographic position;
and inquiring the push information matched with the first information, and providing the push information for the user terminal.
The application includes the following advantages:
on one hand, the geographical position determining method and device form the geographical position index in combination with historical data (such as transaction data, browsing data, application data and the like) of the user, the geographical position index can be inquired based on the user identification when the positioning data of the user cannot be obtained or the positioning data of the user is insufficient in timeliness, the current geographical position of the user is determined through the first information in the geographical position index, the coverage rate, the accuracy and the reliability are higher, the geographical position determining method and device are not limited by a use scene, and convenience and rapidness are achieved.
On the other hand, the information pushing method and the information pushing device determine the geographical position of the user by inquiring the geographical position index related to the user identification from the positioning server, and provide corresponding pushing information to the user terminal based on the geographical position, so that the information pushing accuracy is higher, and the user experience of information pushing is effectively improved. Moreover, when the positioning data of the user cannot be acquired or the positioning data of the user is insufficient in timeliness (for example, the user shields the positioning function of the mobile terminal, and cannot perform positioning when using electronic equipment such as a PC), information can be pushed based on the position of the user, the limitation of the function of the electronic equipment is avoided, and the coverage range is wider during information pushing.
Of course, it is not necessary for any product to achieve all of the above-described advantages at the same time for the practice of the present application.
Drawings
FIG. 1 is a schematic flow chart of a method for determining a geographic location according to the present application;
FIG. 2 is a schematic structural diagram of a distributed system of the present application;
fig. 3 is a schematic flowchart of an implementation of the geographic position determining method according to the present application;
FIG. 4 is a schematic flow chart of an information pushing method according to the present application;
FIG. 5 is a schematic diagram of the structure of the geographic location determining apparatus of the present application;
fig. 6 is a schematic structural diagram of an information pushing apparatus according to the present application;
fig. 7 is a schematic diagram of an application scenario according to the present application.
Detailed Description
The technical solutions of the present application will be described in more detail below with reference to the accompanying drawings and embodiments.
It should be noted that, if not conflicted, the embodiments and the features of the embodiments can be combined with each other and are within the scope of protection of the present application. Additionally, while a logical order is shown in the flow diagrams, in some cases, the steps shown or described may be performed in an order different than here.
In a typical configuration, a computing device of a client or server may include one or more processors (CPUs), input/output interfaces, network interfaces, and memory (memory).
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium. The memory may include module 1, module 2, … …, and module N (N is an integer greater than 2).
Computer readable media include both permanent and non-permanent, removable and non-removable storage media. A storage medium may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory computer readable media (transient media), such as modulated data signals and carrier waves.
In the geographic location determining method provided in the embodiment of the present application, at least one user history data associated with a user identifier may be stored in advance, and when a positioning request carrying a user identifier of a certain user is received, all user history data of the user associated with the user identifier may be queried based on the user identifier, and a location of the user may be determined based on the history data. According to the method, under the condition that the geographic position of the user cannot be determined through positioning methods such as a global positioning system and a mobile positioning system, the position of the user can be determined based on historical user data of the user, and therefore different services can be provided for the user.
In practical application, the position of the user can be determined based on the historical data of the user after receiving the positioning request, or the geographical position of the user can be determined according to the historical data of the user, so that the geographical position of the user can be directly obtained in a query mode after receiving the request of the user. The technical solution of the present application will be described below by specific examples.
Example one
A method for determining a geographic location, as shown in fig. 1, includes the steps of:
step 101, generating a geographical position index based on at least one user historical data associated with a user identifier, wherein the geographical position index comprises first information used for determining a geographical position and a mapping relation between the first information and the user identifier;
102, receiving a positioning request carrying a user identifier;
103, inquiring the geographic position index corresponding to the user identifier in the positioning request;
and 104, providing the first information to the requester of the positioning request according to the inquired geographic position index.
In the embodiment, the geographic position index is formed by combining historical data (such as transaction data, browsing data, application data and the like) of the user, when the positioning data of the user cannot be acquired or the timeliness of the positioning data of the user is insufficient, the geographic position index is inquired based on the user identification, the current geographic position of the user is determined through the first information in the geographic position index, the coverage rate, the accuracy and the reliability are higher, the limitation of a use scene is avoided, and the method is convenient and fast.
In this embodiment, the first information may be one of the following: receiving address information, Global Positioning System (GPS) information and position information corresponding to the IP address; the at least one user history data may be one of the following or any combination thereof: transaction data, application data, browsing data.
In practical applications, the transaction data may be obtained from a transaction server or an application server, or by parsing a user browsing log or an application log, and the transaction data may include user identification (such as user ID, phone number, etc. registered on an e-commerce website or an application providing a transaction service) registered by a user, personal information (such as receiving address information) provided by the user, and information (such as category, quantity, etc.) related to an article object.
In practical applications, the application data mainly refers to data generated by a user using an application program on the mobile terminal, the application data may be obtained from a server providing the corresponding application program or obtained by parsing an application program log of the user, and the application data may include user identification (such as a user ID registered by the user on the application program, a filled-in phone number, and the like) registered by the user on the application program, global satellite positioning (GPS) information, and information generated when the user uses a function (such as a map, navigation, instant messaging, shopping, and the like) provided by the application program.
In practical application, browsing data mainly refers to data generated when a user browses a webpage through a device such as a mobile terminal or a PC, the browsing data can be acquired by analyzing a user browsing log and can also be acquired from a corresponding application server, and the browsing data includes user identification (such as user ID registered by the user, Cookie ID, IP address, Mac ID and the like), access time information (such as access duration, access time period and the like), webpage related information (such as website, webpage classification and webpage content) and the like generated when the user identifies and browses the webpage.
In some implementations, the geographic location index can be generated by: acquiring the first information based on at least one user historical data associated with user identification; and generating the geographic position index by using the first information and the corresponding user identification.
In this embodiment, the user history data associated with the user identifier refers to user history data corresponding to a plurality of user identifiers representing the same user. In practical applications, the association between the user identifiers can be identified by statistically analyzing the user history data (i.e., one of the browsing data, the transaction data, or the application data) carrying the user identifiers, so as to determine which user identifiers represent the same user. For example, the browsing data of the user may be statistically analyzed, and it is determined that the same user ID corresponds to a plurality of Cookie IDs, a plurality of IP addresses, and a plurality of Mac IDs, which indicates that there is a correlation between the user ID, the plurality of Cookie IDs, the plurality of IP addresses, and the plurality of Mac IDs, and actually represents the same user.
In practical application, the user history data has certain timeliness, and the first information with poor timeliness and low use frequency is poor in reliability. Therefore, the first information may be obtained based on the user history data which is closest to the current time and has a higher usage frequency, in this embodiment, after the first information is obtained, the obtained first information may be further filtered, and the geographic position index is generated by using the filtered first information and the user identifier corresponding to the filtered first information. In this way, part of the first information with poor timeliness and low use frequency can be filtered, and the first information with high timeliness and high use frequency is selected to generate the geographic position index, so that the reliability of the geographic position index is enhanced.
In this embodiment, in the process of generating the geographic position index, the priority of the first information may also be configured. The first information may be extracted from the queried geographical location index and provided to the requester of the positioning request according to a priority of the first information in the queried geographical location index. The accuracy of the first information is indicated through the priority, and the higher the priority value of the first information is, the higher the accuracy of the first information is, so that the first information with high accuracy can be accurately locked based on the priority value to improve the accuracy of the user geographic position.
In some implementations, the configuring the priority of the first information includes one or a combination of two of: 1) when the geographic position index contains a plurality of pieces of first information, sequencing the plurality of pieces of first information in the geographic position index according to a preset rule, and configuring the priority of the first information according to the sequencing result; 2) and when the geographical position index contains one piece of first information, configuring the priority of the first information as a preset value.
In practical applications, different predetermined values may be configured for different types of first information, for example, the first information may be configured as a second predetermined value when the first information is location information corresponding to an IP address, may be configured as a third predetermined value when the first information is GPS information, and may be configured as a first predetermined value when the first information is shipping address information.
In practical application, when the plurality of pieces of first information in the geographic position index are sorted according to a predetermined rule, different predetermined rules may be adopted for sorting different types of first information. For example, the receiving address information may be sorted according to the characteristics of the receiving address information, such as the frequency of use, timeliness, and regional attributes; for GPS information, the GPS information can be sorted according to timeliness, use frequency, use duration and the like; the location information corresponding to the IP address can be sorted according to characteristics such as timeliness, use frequency, access duration, and access duration. Different priority ranges can be configured for different types of first information based on the accuracy of the different types of first information, and then specific priority values are configured based on the sorting result of the first information.
In some implementations, when the first information is shipping address information, the geographic location index may be generated by: and extracting receiving address information from the transaction data corresponding to the same user identifier, and forming the geographic position index by taking the first identifier corresponding to the user identifier as a key and the filtered receiving address information as a value.
When the receiving address information is multiple, the priority of the receiving address information can be configured according to one or more of the updating time, the geographic area attribute and the using times of the receiving address information; when the receiving address information is one, the priority of the receiving address information can be configured according to a first preset value.
In some implementations, when the first information is location information of a corresponding IP address, the geographic location index may be generated by: before generating a geographical position index, establishing an IP address information base, wherein the IP address information base comprises an IP address, position information and a mapping relation of the position information; and inquiring the position information corresponding to the IP address from the IP address information base based on the IP addresses in the browsing data corresponding to the same user identification and the access time information of each IP address, and forming the geographic position index by taking the first identification corresponding to the user identification, the access time information and the IP address as keys and the position information corresponding to the at least one IP address as values.
When the geographic position index contains two or more pieces of position information corresponding to the IP addresses, the position information can be sequenced according to the access duration of each IP address, and the priority of the position information is configured according to the sequencing result; when the geographic position index contains a piece of position information corresponding to the IP address, the priority of the position information corresponding to the IP address can be configured by a second preset value.
In some implementations, when the first information is GPS information, the geographic location index may be generated by: and forming the geographic position index by taking the first identifier corresponding to the user identifier, the access time information as a key and the GPS information as a value based on the GPS information and the access time information in the application data corresponding to the same user identifier.
When the geographic position index contains two or more pieces of GPS information, the GPS information can be sorted according to the access duration corresponding to the GPS information, and the priority of the GPS information is configured according to the sorting result; when a piece of the GPS information is included in the geographical position index, the priority of the GPS information may be further configured by a third predetermined value.
In this embodiment, the generating the geographic position index may further include: identifying associations between the user identifications in the browsing data, transaction data or application data; generating the first identifier based on the associated user identifier, the first identifier comprising a first portion and a second portion, the first portion being indicative of the user identifier type, the second portion being derived with a predefined mapping algorithm based on the content of the associated user identifier.
In some implementations, the deduplication processing may be further performed based on the associated first identifiers generated by the user identifiers of the same type. In this embodiment, the associated user identifiers of the same type refer to user identifiers from historical data of users of the same type and having relevance. For example, by statistically analyzing the browsing data of the user and determining that the same user ID corresponds to a plurality of Cookie IDs, a plurality of IP addresses, and a plurality of Mac IDs, it is described that there is a correlation between the user ID, the plurality of Cookie IDs, the plurality of IP addresses, and the plurality of Mac IDs, and that the user ID, the plurality of Cookie IDs, the plurality of IP addresses, and the plurality of Mac IDs actually represent the same user.
In this embodiment, after the geographic location index is generated, the geographic location index may be stored as offline data, for example, the offline data may be stored in a database or a memory, so as to facilitate query at any time. In practical applications, the storage of the geographic position index may be separately stored according to different forms, or may be stored together. For example, a first geographic location index may be stored in the IP address information base, a second geographic location index may be stored via a designated first database, a third geographic location index may be stored via a designated second database, and so on. The specific storage manner of the geographic location index is not limited herein.
The following describes in detail the generation process of the first identifier in this embodiment by way of example:
and generating a first identifier according to an agreed format, and mapping all user identifiers for identifying the same user to one first identifier. That is, the first identifier corresponds to a class of user identifiers of a user, which may include but is not limited to: a user ID (user ID) registered by the user, a Mobile phone number, an International Mobile Equipment Identity (IMEI), a Mac ID, a Cookie ID, and the like.
In practical application, the first identifier may be generated as follows: the first identification comprises two parts, one part is configured as an identity category identification code, and the content of the other part of the user identification is obtained by a predefined mapping algorithm. In this way, a plurality of user identifications of the same type of the same user can be mapped to one first identification. The identification code of the identity category identifies the type of the user identifier, for example, when the same user ID in the transaction data corresponds to a plurality of mobile phone numbers, the plurality of mobile phone numbers belong to a plurality of user identifiers of the same type, the plurality of mobile phone numbers are mapped to the same first identifier, a first part of the first identifier is an identification code of the identity category such as 002 indicating that the user identifier is a mobile phone number, a second part of the first identifier comprises a plurality of identifiers, each identifier corresponds to one mobile phone number, and the identifiers are obtained by a predefined mapping algorithm based on the content of the mobile phone numbers.
For example, the first identifier may be generated in the following format: a first identifier is expressed by 64-bit data, and is named as NID (normalization id), and the NID is divided into two parts: one part is the first 8 bits and is configured into an identity class identification code; the other part is the last 56 bits, and the last 56 bits are incremented from 0x 0000000001, and can be obtained by the content of the user identifier in a predefined mapping algorithm. Thus, the same kind of user identifiers of the same user can be mapped into a first identifier.
In this embodiment, after the first identifier is generated, in order to ensure that the first identifier accurately corresponds to one user, deduplication processing may be performed on the first identifier. For example, when different first identifiers are generated for a user ID and a Cookie ID of the same user, and it can be determined that the user ID and the Cookie ID have a corresponding relationship, the first identifier corresponding to the user ID is covered by the first identifier corresponding to the Cookie ID. For example, if it is found that the Cookie ID is AAA and the user ID is BBB in the account that the user S has logged in historically, it may be determined that AAA and BBB both represent the same type of user identifier of the same user S, then the first identifier NID1 whose Cookie ID is AAA may be covered by the first identifier NID2 whose user ID is BBB, and after the covering, the second part of the first identifier NID2 is mapped based on "Cookie ID is AAA" and "user ID is BBB".
In practical application, if a first identifier corresponding to a certain type of user identifier of a user already exists and the type of user identifier of the user is updated, the mapping between the user identifier and the first identifier may be updated synchronously. For example, the second part of the first identifier may be modified according to the updated user identifier, so that a mapping is established between the first identifier and the updated user identifier.
The following describes in detail the generation process of the geographic position index in this embodiment by way of example:
in practical applications, the geographic location index may exist in three forms:
1) taking the IP address as a key and the position information corresponding to the IP address as a value;
2) taking a first identifier corresponding to the user identifier as a key and taking the receiving address information as a value;
3) and taking the first identifier, the IP address and the access time as keys and taking the GPS information or the position information of the corresponding IP address as values.
The geographical position index can be generated and stored in the following way:
1) generating a first geographic location index based on the browsing data of the user:
when the user identification is a user ID, a Cookie ID or a media access control identification (Mac ID) registered on a webpage by a user, the user ID, the Cookie ID or the Mac ID has a binding relationship with an IP address; in this case, a first geographical position index may be generated using the IP address as a Key (Key) and using the position information corresponding to the IP address as a Value (Value) with the position information corresponding to the IP address as the first information. Here, the IP address may be an IPv4 address, an IPv6 address, or the like, and a specific form of the IP address is not limited herein.
In some implementations, the location information corresponding to the IP address can be obtained from the outside. For example, the location information corresponding to the IP address may be periodically obtained from a database or a server (e.g., a server of an operator) for managing the information related to the IP address.
In some implementations, the first geographic location index described above may be stored in a dedicated information repository. For example, an IP address information base may be established in which the first geographical location index is stored.
In addition, the priority assigned to the geographical location information default configuration of the corresponding IP address in the first geographical location index may also be set, for example, when the priority is 100 at most, the priority may be set to a second predetermined value by default for each first information in the first geographical location index, and the second predetermined value is 10.
Wherein, the IP address can be an IPv4 address, an IPv6 address and the like.
2) Generating a second geographic location index based on the transaction data of the user:
receiving address information corresponding to the same user identification is extracted from transaction data, and the receiving address information corresponding to the same user identification is used as first information corresponding to the user identification; inquiring a first identifier corresponding to the user identifier; and generating a second geographic position index which takes the first identifier as a key and the receiving address information as a value.
The receiving address information may include, but is not limited to, receiving address, common address, etc. provided by the user to the transaction server or the application server.
In practical application, the receiving address information is sorted according to the using times and the degree that the using time is close to the current time, part of the receiving address information is reserved according to the sorting result, and the reserved part of the receiving address information is used as first information of a user. For example, when the receiving address information exceeds a certain number, the receiving address information of the previous certain number is retained, other receiving address information is removed, and the retained receiving address information can be directly used as the first information.
The long-term unused zombie addresses may exist in the delivery address information of the user, and in order to improve the processing efficiency, after the delivery address information is extracted and before the delivery address information is sorted, the delivery address information may be coarsely filtered according to the use frequency of the delivery address information, for example, the delivery address information that has not been used within 3 months from the current time may be directly filtered. In practical application, the receiving address information can be filtered in other modes. No limitation is placed on the particular filtration conditions or filtration mode.
In practical application, the priority can be configured for each receiving address information according to the sorting. Specifically, the highest priority may be configured for the first-ranked shipping address information, the second-ranked shipping address information, the third-ranked shipping address information, and the last-ranked shipping address information. In some implementations, configuring the priority may employ setting the specific priority values in a descending order. Specifically, the second highest priority differs from the highest priority by a predetermined difference, and the third highest priority differs from the second highest priority by the predetermined difference, so that the priority is assigned to each piece of the shipping address information in such a manner that the priority in order decreases. Of course, in practical applications, the receiving address information may be configured with priority in other manners, which is not limited herein.
For example, the delivery address information which is used most recently and has the most number of uses may be ranked first, and after ranking in this manner, if the delivery address information exceeds 10, only the delivery address information ranked first 10 is retained as the first information, the delivery address information ranked first is assigned with the priority of 10, the delivery address information ranked second is assigned with the priority of 9, and the delivery address information ranked tenth is assigned with the priority of 1.
In practical application, the type of the receiving address information can be set, and the priority of the receiving address information is dynamically adjusted according to the type of the receiving address information and the attribute of the current time. For example, when the current time is holiday, the priority of the receiving address information with the type of family property is increased by a fixed value, and the priority of the receiving address information with the type of unit property is decreased by a fixed value, wherein the specific value of the fixed value can be flexibly configured according to actual needs, different values can be configured for different situations, or an empirical value can be determined based on empirical data. For example, if the current time is holiday, the receiving address information priority of the family property is increased by 1, and the corresponding receiving address information priority of the unit property is decreased by 1. If the current time is the working day, the receiving address information priority of the family property is reduced by 1, and the corresponding receiving address information priority of the unit property is increased by 1.
Here, after the delivery address information is extracted, the type of the delivery address information may be determined according to other information of the user or the area attribute of the delivery address information, for example, the area attribute of the delivery address information is default to a home property when the area attribute is a cell, and the area attribute of the delivery address information is default to a unit property when the area attribute is an office building. As another example, if the user marks the type of the shipping address information (e.g., home address, unit address) when providing the shipping address information, the type marked by the user is used as the criterion.
In practical application, when the receiving address information is taken as the first information, the second geographic position index can be generated in the following way: and forming a second geographic position index by taking the first identifier of the user as a Key and the receiving address information as Value, wherein each Value is configured with a priority, and the mapping between the Key and the Value can be one-to-one, one-to-many and the like, that is, one Key can correspond to one Value or a group of values, and each Value is receiving address information with a priority. For a group of values, the values in the group may be sorted from high to low according to priority.
3) Generating a third geographic location index based on the application data or browsing data of the user:
extracting user identification (such as user ID registered on a webpage by a user, Cookie ID on the webpage, Mac ID and the like), an IP address and access time from browsing data; inquiring a first identifier corresponding to the user identifier; inquiring the position information corresponding to the IP address; and a third geographic position index taking the first identifier + the IP address + the access time as Key and the geographic position information as Value.
In the third geographic location index with the first identifier + IP address + access time as Key and the location information corresponding to the IP address as Value, the part of the IP address in the Key may be a full-segment IP address or a partial IP address (e.g., the first two segments of the IP address). In the data with the first identifier + IP address + access time as Key and the location information corresponding to the IP address as Value, the access time in the Key may be time period information (e.g., 8:00-10:00 am), duration information (e.g., 3 hours), and the like. For example, an example of Key may be: the first identification + the first two segments of the IP address +3 hours.
When the user uses the application program of the mobile terminal, the mobile terminal collects the GPS information of the user, and the GPS information is contained in the application data of the user. Extracting user identification (such as user ID registered on an application program by a user) and access time and GPS information from the application data; if the first identifier corresponding to the user identifier already exists, the first identifier corresponding to the user identifier can be inquired; and generating a third geographic position index with the first identifier + access time as Key and the GPS information as Value.
In the third geographic location index, Key and Value may be in a one-to-one or one-to-many mapping relationship. For the case that one Key corresponds to multiple values, that is, when the values are multivalued, the values may be sorted according to the access duration, and part of the values may be reserved according to the order obtained by the sorting and the priority of the reserved values may be indicated. For example, the values are sorted according to the access duration, the first 10 values are reserved, and the priorities are configured respectively, the first Value configuration priority is 10, the second Value configuration priority is 9, the third Value configuration priority is 8, and the tenth Value configuration priority is 1.
In practical application, the browsing data of the user can be obtained by collecting the browsing logs of the same user. Application logs of a user for approximately 1 month may be collected to obtain application data for the user. And reserving a part of data with higher occurrence probability after statistics and comparison of a large amount of data, and caching the part of data. In practical application, the geographical position index can be updated by periodically re-collecting the browsing log and the application program log according to business needs, so that the geographical position index has high timeliness and accuracy.
In practical application, the method of the present application may be implemented by a distributed system or a computer cluster, and the distributed system or the computer cluster may include a distributed message queue node, an LBS node, a control node, a front-end interaction node, and the like.
The distributed message queue nodes are cached with distributed message queues, the distributed message queues comprise geographical position information from user terminals, the distributed message queue nodes can be communicated with an application server, the geographical position information reported by each user terminal is obtained through the application server, and the geographical position information is obtained by the user terminals through a positioning function (such as GPS and the like).
The LBS node is responsible for providing LBS function, and can inquire the cached geographical position index of the distributed message queue node based on the user identification, and the inquiry action can be performed under the control of the control node or after receiving the request from the user terminal.
The front-end interaction node is responsible for interacting with the user terminal, providing an information push request from the user terminal to the control node, and providing the information pushed by the control node to the user terminal.
The control node is responsible for determining information to be pushed and a pushing strategy based on the information pushing request, and specifically, the control node can query a geographical position index through an LBS node according to a user identifier in the information pushing request to acquire first information, query a matched preset rule set based on the first information, determine pushing information and a pushing strategy according to the queried preset rule set, and finally provide the pushing information to a user terminal through the front-end interaction node according to the pushing strategy.
In this embodiment, the LBS node may generate and store the first identifier.
Or, as shown in fig. 2, an identity transformation node may be disposed in a distributed system or a computer cluster, where the identity transformation node is responsible for generating a first identifier and storing the first identifier and a mapping between the first identifier and each user identifier, the identity transformation node may communicate with the LBS node and the control node, the control node and the LBS node may query the identity transformation node for the first identifier according to the user identifier, and the identity transformation node may synchronize the regularly updated first identifier to the LBS node, the control node, and the like, so that the LBS node and the control node may update data related to the first identifier at the same time.
In practical application, the control node can extract the user identifier from the information push request from the user terminal and send the user identifier to the identity conversion node, and the identity conversion node can collect various user identifiers of the same user in this way, so as to establish mapping between the various user identifiers and the first identifier. In addition, the identity conversion node may also obtain the above-mentioned various user identifications of the user by communicating with an external application server or transaction server, etc. Of course, the identity transformation node may also obtain various user identifications of the user through other manners, which is not limited herein.
In practical applications, the identity transformation node may be implemented by one computing device or a plurality of computing devices in a distributed manner.
In this embodiment, the geographic position index may be stored in the LBS node, or may be stored in a separately configured geographic position index processing node, and the geographic position index processing node is responsible for generating, updating, storing, and the like of the geographic position index. In practical applications, as shown in fig. 2, the geographic position index processing node belongs to the above distributed system or computer cluster, and may be implemented by one computing device or a plurality of computing devices in a distributed manner.
In practical applications, the geographic position index processing node may communicate with the identity conversion node. Specifically, the geographic location index processing node may query the identity conversion node for the first identifier to form the geographic location index, and the identity conversion node may synchronize the first identifier updated at regular time to the geographic location index processing node.
The geographical position index processing node can communicate with the LBS node, the LBS node can actively inquire the geographical position index from the geographical position index processing node, and the geographical position index can also be pushed to the LBS node by the geographical position index processing node at regular time.
In practical applications, the distributed system or the computer cluster described above may also include other nodes, which is not limited herein. Each of the nodes may provide other functions in addition to the functions described above. For example, the control node may query its matching predetermined rule set based on other user information such as user personal characteristics, user preferences, etc., in addition to its matching predetermined rule set based on user geographical location information. Besides having the LBS function, the LBS node may also be responsible for other services related to the user geographical location information, such as querying a predetermined rule set matching based on the user geographical location information. The functions of the above nodes are not limited herein.
In practical applications, each of the nodes may be implemented by one computing device or a plurality of computing devices connected in a distributed manner.
As shown in fig. 3, the process of the LBS node determining the geographic location of the user in this embodiment may include the following steps:
step 301, receiving a positioning request, wherein the request carries a user identifier;
in practical applications, the request from the user terminal is sent by the user terminal to the LBS node via the front-end interaction node and the control node. The content and data format contained in the request may be different during the transmission process, but the content or format may be different in that it contains the user id.
Step 302, inquiring the positioning data corresponding to the user identification from the distributed message queue node;
step 303, verifying whether positioning data corresponding to the user identifier exists, if so, continuing to step 304, and if not, continuing to step 306;
step 304, determining whether the time length from the reporting time of the positioning data to the current time exceeds a predetermined time length (for example, 12 hours), if so, continuing to step 306, otherwise, continuing to step 305;
step 305, providing the GPS information in the positioning data to the requester of the positioning request.
Step 306, inquiring a corresponding first identifier from the identity conversion node according to the user identifier;
step 307, querying a geographical location index from a geographical location index processing node according to the queried first identifier, extracting first information from the geographical location index, and providing the first information to the requester of the positioning request.
In practical applications, the requesting party of the positioning request may be a user terminal, an application server, the control node, a push server of an information push party, and the like.
Example two
An information pushing method, as shown in fig. 4, may include:
step 401, based on a trigger request from a user terminal, sending a positioning request to a positioning server, where the trigger request carries a user identifier, and the positioning request carries the user identifier;
step 402, receiving first information from the positioning server, wherein the first information is used for determining a geographic position;
step 403, inquiring the push information matched with the first information, and providing the push information to the user terminal.
Specifically, the querying the push information matched with the first information may include: sending an information pushing request to a pushing server, wherein the information pushing request carries the first information; and receiving the push information matched with the first information returned by the push server. In practical applications, the push server may be a third-party server providing the push information or a control node in the system shown in fig. 3. In practical application, the push server may query a predetermined rule set matched with the first information, determine the push information and a push policy thereof according to the predetermined rule set, and return the push information and the push policy thereof, so as to provide the push information to the user terminal by using the push policy.
In some implementations, before sending the positioning request to the positioning server, it may be further verified whether positioning data from the user terminal is received and whether timeliness of the positioning data meets a predetermined condition; and when the positioning data from the user terminal is not received or the timeliness of the positioning data does not meet the preset condition, sending a positioning request to a positioning server.
In practical applications, after verifying whether the positioning data from the user terminal is received and whether the timeliness of the positioning data meets a predetermined condition, the method may further include: and when the positioning data is received and meets the preset conditions, inquiring the push information matched with the Global Positioning System (GPS) information in the positioning data, and providing the push information for the user terminal.
In some implementations, the predetermined condition may be that the time length from the report time to the current time does not exceed a predetermined time length. In practical applications, the predetermined condition may further include other contents, and specific contents thereof may be freely set according to actual needs, which is not limited herein.
In this embodiment, the information pushing method may be implemented by a control node, a front-segment interaction node, and the like in the system shown in fig. 2, and the positioning server may be one or a combination of an LBS node and a geographic location index processing node in the system shown in fig. 2.
In the embodiment, the geographical position of the user is determined by inquiring the geographical position index related to the user identification from the positioning server, and then the corresponding push information is provided for the user terminal based on the geographical position, so that the information push accuracy is higher, and the user experience of the information push is effectively improved. Moreover, when the positioning data of the user cannot be acquired or the positioning data of the user is insufficient in timeliness (for example, the user shields the positioning function of the mobile terminal, and cannot perform positioning when using electronic equipment such as a PC), information can be pushed based on the position of the user, the limitation of the function of the electronic equipment is avoided, and the coverage range is wider during information pushing.
EXAMPLE III
As shown in fig. 5, an apparatus for determining a geographic location of a user may include:
a generating module 51, configured to generate a geographic location index based on at least one user history data associated with a user identifier, where the geographic location index includes first information used for determining a geographic location and a mapping relationship between the first information and the user identifier;
a first receiving module 52, configured to receive a positioning request carrying a user identifier;
a query module 53, configured to query the geographic location index corresponding to the user identifier in the location request;
a first providing module 54, configured to provide the first information to the requester of the location request according to the queried geographic location index.
In this embodiment, the query module 53 is a part of the apparatus responsible for querying the first identifier corresponding to the user identifier to an external node (e.g., an identity conversion node) or locally, and querying the geographic location index based on the first identifier, and may be software, hardware, or a combination of the two.
In this embodiment, the generating module 51 is a part of the above apparatus that is responsible for the generation, update, storage, and other processing of the geographic position index, and may be software, hardware, or a combination of the two.
In this embodiment, the first providing module 54 is a part of the above apparatus that provides the first information for determining the geographic location to an external node (e.g., a control node, a front-end interaction node, a push server, an application server, etc.), and may be software, hardware, or a combination of the two.
In this embodiment, the first receiving module 52 is a part of the above apparatus responsible for receiving a positioning request of an external node (e.g., a control node, a front-end interaction node, a push server, an application server, etc.), and may be software, hardware, or a combination of the two.
The above determining apparatus of this embodiment may be, but is not limited to, disposed in the distributed system or the computer cluster described in the first embodiment. In some implementations, the generating module 51 may be distributed among the LBS nodes, the geographic location index processing node, and the identity conversion node of the system structure shown in fig. 2, and the first receiving module 52, the querying module 53, and the first providing module 54 may be disposed in the LBS nodes of the system structure shown in fig. 2.
Other implementation details of the present embodiment can refer to embodiment one.
Example four
An apparatus for determining a geographic location of a user, comprising a processor and a memory, the memory storing computer-executable instructions that, when executed by the processor, implement a method comprising:
generating a geographic position index based on at least one user historical data associated with a user identifier, wherein the geographic position index contains first information used for determining a geographic position and a mapping relation between the first information and the user identifier;
receiving a positioning request carrying a user identifier;
querying the geographic position index corresponding to the user identifier in the positioning request;
and providing the first information to a requester of the positioning request according to the inquired geographic position index.
The above determining apparatus of this embodiment may be, but is not limited to, disposed in the distributed system or the computer cluster described in the first embodiment. In some implementations, the above determining apparatus of this embodiment may be implemented by the LBS node in the distributed system or the computer cluster described in the first embodiment, or implemented by the LBS node, the geographic location index processing node, and the identity transformation node.
Other implementation details of the present embodiment can refer to embodiment one.
EXAMPLE five
As shown in fig. 6, an information pushing apparatus includes:
a sending module 61, configured to send a location request to a location server based on a trigger request from a user terminal, where the trigger request carries a user identifier, and the location request carries the user identifier;
a second receiving module 62, configured to receive first information from the positioning server, where the first information is used to determine a geographic location;
and a second providing module 63, configured to query the push information matched with the first information, and provide the push information to the user terminal.
In this embodiment, the sending module 61 is a part of the apparatus responsible for requesting information (e.g. the first information or GPS information in positioning data) indicating the geographical location of the user from an external node (e.g. LBS node, geographical location index processing node), and may be software, hardware or a combination of the two.
In this embodiment, the second receiving module 62 is a part of the above apparatus responsible for receiving information (e.g. the first information or GPS information in positioning data) indicating the geographical location of the user from an external node (e.g. LBS node, geographical location index processing node), and may be software, hardware or a combination of the two.
In this embodiment, the second providing module 63 is a part of the above apparatus that provides the push information to an external node (e.g. a front-end interaction node, an application server, a user terminal, etc.), and may be software, hardware, or a combination of the two.
The information pushing device of this embodiment may be, but is not limited to, disposed in the distributed system or the computer cluster described in the first embodiment. In some implementations, the sending module 61, the second receiving module 62, and the second providing module 63 may be disposed in a control node or a front-end interaction node of the system structure shown in fig. 2.
For details of other implementations of this embodiment, reference may be made to embodiment two.
EXAMPLE six
An information pushing apparatus comprising a processor and a memory, the memory storing computer-executable instructions that, when executed by the processor, implement a method comprising:
sending a positioning request to a positioning server based on a triggering request from a user terminal, wherein the triggering request carries a user identifier, and the positioning request carries the user identifier;
receiving first information from the positioning server, wherein the first information is used for determining a geographic position;
and inquiring the push information matched with the first information, and providing the push information for the user terminal.
The above determining apparatus of this embodiment may be, but is not limited to, disposed in the distributed system or the computer cluster described in the first embodiment. In some implementations, the determining apparatus of this embodiment may be implemented by a control node or a front-end interaction node in the distributed system or the computer cluster in the first embodiment.
For details of other implementations of this embodiment, reference may be made to embodiment two.
An application scenario of the present application is a process of pushing commodity object information to a user based on the current geographic location of the user:
the second user is used as a merchant, and needs to push the commodity object information of the second user to the first user with the current geographic position near the merchant in a specified time period.
As shown in fig. 7, the second user submits, via the second user terminal, a first request to the push server, where the first request carries the second user-defined commodity object information M1 and a push policy, and the push policy includes first time period information (for example, 8 pm to 10 pm) and first geographical range information (for example, includes a store geographical location L1 and distance range information 3 km).
And the push server receives the first request, verifies the identity of the second user, extracts and stores the commodity object information M1 and the push strategy in the first request after the verification is passed, and returns a response of successful submission to the second user terminal.
The method comprises the steps that a first user opens an application program A provided by an application server by using a first user terminal at 9 pm, but the positioning function of the first user terminal is closed currently, the first user terminal sends a trigger request to the application server, the trigger request carries a user identification ID1 registered on the application program A by the first user, and the application server receives the trigger request and sends the trigger request to a distributed system.
And the control node in the distributed system receives the trigger request, analyzes the trigger request to obtain the ID1, inquires the trigger request which does not carry the positioning data of the first user, inquires the positioning data submitted by the first user in the local distributed message queue node before, and sends the positioning request to the LBS node when the time from the reporting time of the positioning data to the current time exceeds the preset time (such as 3 hours), wherein the positioning request carries the ID 1.
The LBS node in the distributed system analyzes the ID1 from the positioning request, inquires a first identification NID1 corresponding to the ID1, inquires a geographic position index of which the Key contains NID1 and the time period in the Key contains the current time (9 pm), extracts first information with the highest priority (for example, GPS information of a geographic position L2, L2 is about 1.5km away from a shop geographic position L1) from the geographic position index after inquiring the geographic position index, and returns the first information to the control node. Here, the geographic location index is generated based on historical application data associated with the first user ID1, the geographic location index takes a NID1+ time period as a Key and takes at least one piece of first information as Value, the first information is GPS information of the time period in the Key in the historical application data associated with the first user ID1, and each piece of first information is configured with a priority. The priority is configured according to the number of times of use, the first information with the largest number of times of use configures the highest priority, and so on.
The control node receives the first information (for example, the GPS information of the geographic position L2), and sends an information pushing request to the pushing server, wherein the information pushing request carries the first information (for example, the GPS information of the geographic position L2).
The push server receives the information push request, inquires that the first information matches first geographical location range information (namely, the geographical location L2 is about 1.5km away from the shop geographical location L1), and returns commodity object information M1 corresponding to the first geographical location range information to the control node.
The control node receives the commodity object information M1 returned by the push server, provides the commodity object information M1 to the application server, and provides the commodity object information M1 to the first user terminal, and the first user terminal displays the commodity object information M1 on the user interface of the application program A.
It will be understood by those skilled in the art that all or part of the steps of the above methods may be implemented by instructing the relevant hardware through a program, and the program may be stored in a computer readable storage medium, such as a read-only memory, a magnetic or optical disk, and the like. Alternatively, all or part of the steps of the above embodiments may be implemented using one or more integrated circuits. Accordingly, each module/unit in the above embodiments may be implemented in the form of hardware, and may also be implemented in the form of a software functional module. The present application is not limited to any specific form of hardware or software combination.
There are, of course, many other embodiments of the invention that can be devised without departing from the spirit and scope thereof, and it will be apparent to those skilled in the art that various changes and modifications can be made herein without departing from the spirit and scope of the invention.

Claims (23)

1. A method of geographic location determination, comprising:
generating a geographic position index based on at least one user historical data associated with a user identifier, wherein the geographic position index comprises first information used for determining a geographic position, a mapping relation between the first information and the user identifier and a priority of the first information;
receiving a positioning request carrying a user identifier;
querying the geographic position index corresponding to the user identifier in the positioning request;
according to the priority of the first information in the inquired geographic position index, extracting the first information from the inquired geographic position index and providing the first information to the requester of the positioning request;
the method comprises the steps of sorting different types of first information by adopting different preset rules, and configuring priority values based on sorting results of the first information.
2. The method of claim 1, wherein generating a geographic location index based on at least one user history data associated with a user identity comprises:
acquiring the first information based on at least one user historical data associated with user identification;
and generating the geographic position index by using the first information and the corresponding user identification.
3. The determination method according to claim 2,
the generating the geographic position index by using the first information and the corresponding user identifier thereof comprises: and filtering the acquired first information, and generating the geographic position index by using the filtered first information and the corresponding user identification thereof.
4. The determination method according to claim 2,
the generating the geographic location index based on at least one user history data associated with the user identification further comprises: configuring a priority of the first information.
5. The determination method according to claim 4,
the configuring the priority of the first information includes one or a combination of two of the following:
when the geographic position index contains a plurality of pieces of first information, sequencing the plurality of pieces of first information in the geographic position index according to a preset rule, and configuring the priority of the first information according to the sequencing result;
and when the geographical position index contains one piece of first information, configuring the priority of the first information as a preset value.
6. The determination method according to any one of claims 1 to 5,
the first information is one of: receiving address information, Global Positioning System (GPS) information and position information corresponding to the IP address;
the at least one user history data is one of the following or any combination thereof: transaction data, application data, browsing data.
7. The method of claim 1, wherein generating the geographic location index comprises:
and extracting receiving address information from the transaction data corresponding to the same user identifier, and forming the geographic position index by taking the first identifier corresponding to the user identifier as a key and the filtered receiving address information as a value.
8. The method of determining according to claim 7, wherein said generating a geographic location index further comprises:
when the receiving address information is multiple, configuring the priority of the receiving address information according to one or more of the updating time, the geographic region attribute and the using times of the receiving address information;
and when the receiving address information is one, configuring the priority of the receiving address information by a first preset value.
9. The determination method according to claim 1,
before the generating the geographic position index, the method further comprises: establishing an IP address information base, wherein the IP address information base comprises an IP address, position information and a mapping relation of the position information;
the generating the geographic location index comprises: and inquiring the position information corresponding to the IP address from the IP address information base based on the IP addresses in the browsing data corresponding to the same user identification and the access time information of each IP address, and forming the geographic position index by taking the first identification corresponding to the user identification, the access time information and the IP address as keys and the position information corresponding to the at least one IP address as values.
10. The method of determining according to claim 9, wherein said generating the geographic location index further comprises:
when the geographic position index contains two or more pieces of position information corresponding to the IP addresses, sequencing the position information according to the access duration of each IP address, and configuring the priority of the position information according to the sequencing result;
and when the geographic position index contains a piece of position information corresponding to the IP address, configuring the priority of the position information corresponding to the IP address by a second preset value.
11. The method of claim 1, wherein generating the geographic location index comprises:
and forming the geographic position index by taking the first identifier corresponding to the user identifier, the access time information as a key and the GPS information as a value based on the GPS information and the access time information in the application data corresponding to the same user identifier.
12. The method of determining according to claim 10, wherein said generating the geographic location index further comprises:
when the geographic position index contains two or more pieces of GPS information, sorting the GPS information according to the access duration corresponding to the GPS information, and configuring the priority of the GPS information according to the sorting result;
when the geographic position index contains one piece of the GPS information, configuring the priority of the GPS information by a third preset value.
13. The method of determining according to any of claims 7 to 12, wherein the generating the geographical location index further comprises:
identifying associations between the user identifications in the browsing data, transaction data or application data;
generating the first identifier based on the associated user identifier, the first identifier comprising a first portion and a second portion, the first portion being indicative of the user identifier type, the second portion being derived with a predefined mapping algorithm based on the content of the associated user identifier.
14. The determination method according to claim 13, further comprising:
and performing deduplication processing based on the associated first identifications generated by the user identifications of the same type.
15. An information push method, comprising:
sending a positioning request to a positioning server based on a triggering request from a user terminal, wherein the triggering request carries a user identifier, and the positioning request carries the user identifier;
receiving first information from the positioning server, wherein the first information is used for determining a geographic position; the first information is obtained by the positioning server according to the priority inquiry of the first information in the geographical position index of the user identification; the priority of the first information is obtained by sequencing different types of first information by adopting different predetermined rules and configuring a priority value based on the sequencing result of the first information; the geographic position index is generated based on at least one user historical data associated with the user identification;
and inquiring the push information matched with the first information, and providing the push information for the user terminal.
16. The information pushing method according to claim 15, wherein the querying for the pushing information matching the first information includes:
sending an information pushing request to a pushing server, wherein the information pushing request carries the first information;
and receiving the push information matched with the first information returned by the push server.
17. The information pushing method according to claim 15,
before sending the positioning request to the positioning server, the method further includes: verifying whether positioning data from the user terminal is received or not and whether the timeliness of the positioning data meets a preset condition or not;
the sending of the location request to the location server includes: and when the positioning data from the user terminal is not received or the timeliness of the positioning data does not meet the preset condition, sending a positioning request to a positioning server.
18. The information pushing method according to claim 17, wherein after verifying whether the positioning data from the user terminal is received and whether the timeliness of the positioning data satisfies a predetermined condition, the method further comprises:
and when the positioning data is received and meets the preset conditions, inquiring the push information matched with the Global Positioning System (GPS) information in the positioning data, and providing the push information for the user terminal.
19. The information pushing method according to claim 17 or 18, wherein the predetermined condition is that a time length from a current time of the reporting time does not exceed a predetermined time length.
20. An apparatus for determining a geographic location of a user, comprising:
the generation module is used for generating a geographic position index based on at least one user historical data associated with a user identifier, wherein the geographic position index comprises first information used for determining a geographic position, a mapping relation between the first information and the user identifier and a priority of the first information;
the first receiving module is used for receiving a positioning request carrying a user identifier;
the query module is used for querying the geographic position index corresponding to the user identifier in the positioning request;
a first providing module, configured to extract first information from the queried geographic location index according to a priority of the first information in the queried geographic location index, and provide the first information to a requester of the positioning request;
the method comprises the steps of sorting different types of first information by adopting different preset rules, and configuring priority values based on sorting results of the first information.
21. An apparatus for determining a geographic location of a user, comprising a processor and a memory, wherein the memory stores computer-executable instructions that, when executed by the processor, implement a method comprising:
generating a geographic position index based on at least one user historical data associated with a user identifier, wherein the geographic position index comprises first information used for determining a geographic position, a mapping relation between the first information and the user identifier and a priority of the first information;
receiving a positioning request carrying a user identifier;
querying the geographic position index corresponding to the user identifier in the positioning request;
according to the priority of the first information in the inquired geographic position index, extracting the first information from the inquired geographic position index and providing the first information to the requester of the positioning request;
the method comprises the steps of sorting different types of first information by adopting different preset rules, and configuring priority values based on sorting results of the first information.
22. An information pushing apparatus comprising:
a sending module, configured to send a location request to a location server based on a trigger request from a user terminal, where the trigger request carries a user identifier, and the location request carries the user identifier;
a second receiving module, configured to receive first information from the positioning server, where the first information is used to determine a geographic location; the first information is obtained by the positioning server according to the priority inquiry of the first information in the geographical position index of the user identification; the priority of the first information is obtained by sequencing different types of first information by adopting different predetermined rules and configuring a priority value based on the sequencing result of the first information; the geographic position index is generated based on at least one user historical data associated with the user identification;
and the second providing module is used for inquiring the push information matched with the first information and providing the push information for the user terminal.
23. An information pushing apparatus comprising a processor and a memory, wherein the memory stores computer-executable instructions that, when executed by the processor, implement a method comprising:
sending a positioning request to a positioning server based on a triggering request from a user terminal, wherein the triggering request carries a user identifier, and the positioning request carries the user identifier;
receiving first information from the positioning server, wherein the first information is used for determining a geographic position; the first information is obtained by the positioning server according to the priority inquiry of the first information in the geographical position index of the user identification; the priority of the first information is obtained by sequencing different types of first information by adopting different predetermined rules and configuring a priority value based on the sequencing result of the first information; the geographic position index is generated based on at least one user historical data associated with the user identification;
and inquiring the push information matched with the first information, and providing the push information for the user terminal.
CN201710011366.2A 2017-01-06 2017-01-06 Geographic position determining method and device and information pushing method and device Active CN108282508B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710011366.2A CN108282508B (en) 2017-01-06 2017-01-06 Geographic position determining method and device and information pushing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710011366.2A CN108282508B (en) 2017-01-06 2017-01-06 Geographic position determining method and device and information pushing method and device

Publications (2)

Publication Number Publication Date
CN108282508A CN108282508A (en) 2018-07-13
CN108282508B true CN108282508B (en) 2021-08-03

Family

ID=62801067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710011366.2A Active CN108282508B (en) 2017-01-06 2017-01-06 Geographic position determining method and device and information pushing method and device

Country Status (1)

Country Link
CN (1) CN108282508B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881309A (en) * 2018-08-14 2018-11-23 北京奇虎科技有限公司 Access method, device, electronic equipment and the readable storage medium storing program for executing of big data platform
CN109151088A (en) * 2018-08-20 2019-01-04 下代互联网重大应用技术(北京)工程研究中心有限公司 The statistical method of IPv6 access user's geographical distribution ranking based on Http log
CN111523569B (en) * 2018-09-04 2023-08-04 创新先进技术有限公司 User identity determination method and device and electronic equipment
CN110138892B (en) * 2019-05-31 2021-12-07 秒针信息技术有限公司 Method and device for determining equipment regional information
CN111061691A (en) * 2019-12-25 2020-04-24 秒针信息技术有限公司 Method and device for determining fixed member
CN111372193A (en) * 2020-03-06 2020-07-03 深圳市和讯华谷信息技术有限公司 Method and device for accurately positioning activity area of user in rest period
CN112150317A (en) * 2020-08-21 2020-12-29 广州市标准化研究院 Tourist information management system and method based on O2O information cloud platform
CN115905445B (en) * 2022-12-16 2023-08-25 河南大学 Road element simplifying method based on Seq2Seq model

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259877A (en) * 2013-04-15 2013-08-21 北京百度网讯科技有限公司 IP address geographic position determination method and system
CN103297551A (en) * 2012-02-29 2013-09-11 腾讯科技(深圳)有限公司 Method, server and system for automatically obtaining address
CN106210163A (en) * 2016-06-30 2016-12-07 百度在线网络技术(北京)有限公司 IP address-based localization method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297551A (en) * 2012-02-29 2013-09-11 腾讯科技(深圳)有限公司 Method, server and system for automatically obtaining address
CN103259877A (en) * 2013-04-15 2013-08-21 北京百度网讯科技有限公司 IP address geographic position determination method and system
CN106210163A (en) * 2016-06-30 2016-12-07 百度在线网络技术(北京)有限公司 IP address-based localization method and device

Also Published As

Publication number Publication date
CN108282508A (en) 2018-07-13

Similar Documents

Publication Publication Date Title
CN108282508B (en) Geographic position determining method and device and information pushing method and device
US11956202B1 (en) Generating content based on search instances
US11115380B1 (en) Determining and utilizing one or more attributes of IP addresses
US9218503B2 (en) Collection and analysis of customer data from application programming interface usage
CN112398895B (en) Method and device for providing service information
CN108319598B (en) Data caching method, device and system
JP2009538094A (en) Provision of location-based services using user movement statistics
JP2009538095A (en) Auction of message delivery opportunities in location information service systems
US20130018886A1 (en) Effect measurement device, effect measurement method, and effect measurement program
US10049369B2 (en) Group targeting system and method for internet service or advertisement
KR20110095874A (en) Providing customized information to a user based on identifying a trend
JP2009538093A (en) Mobile-initiated location measurement
CN104427519B (en) IP address ownership place management method and device
US11930555B1 (en) Systems, methods, and apparatuses for providing content according to geolocation
CN107454126B (en) Message pushing method, server and terminal
US9661066B2 (en) System and method for address based locations
CN103944799A (en) Message processing method and system
US20150339720A1 (en) System and method for targeting users for content delivery
CN111782897A (en) User rights management method, server, system, device, and medium
CN111209487B (en) User data analysis method, server, and computer-readable storage medium
US11694222B1 (en) Generating content based on a captured IP address associated with a visit to an electronic resource
CN106789147B (en) Flow analysis method and device
CN111711668A (en) Method, device and computer equipment for pushing service in real time based on POI (Point of interest)
US11798032B1 (en) Determining IP addresses that are associated with physical locations with new occupants and providing advertisements tailored to new movers to one or more of those IP addresses
US10783169B1 (en) Inferring user interests from geo-location reports

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1258130

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant