Method and device for determining image information

Through the address encoding algorithm of the in-memory database, the portrait information of group members around the community group buying group leader is obtained and analyzed, which solves the problem of group leader obtaining user portraits and improves the accuracy and efficiency of e-commerce recommendations.

CN113792037BActive Publication Date: 2025-01-17BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110146357.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-03
Publication Date
2025-01-17
Estimated Expiration
2041-02-03

AI Technical Summary

Technical Problem

It is difficult for community group buying team leaders to accurately and quickly obtain portraits and map data of surrounding group members, which affects the accuracy and efficiency of product recommendations.

Method used

Through the address encoding algorithm in the memory database, the address encoding of the target user's area is determined, and the image information of the reference user is obtained based on the encoding, and the image information of the target user is determined after analysis and processing, and a real-time query method is provided.

Benefits of technology

It improves the efficiency and accuracy of image information determination, supports personalized push information for users, and enhances the targetedness of e-commerce recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113792037B_ABST
    Figure CN113792037B_ABST
Patent Text Reader

Abstract

The present application discloses a method and device for determining portrait information. A specific implementation of the method includes: obtaining an acquisition request of a target user, wherein the acquisition request is used to characterize the acquisition of portrait information of a reference user within a specified range; determining the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; determining the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range. The present application provides an online real-time query method for portrait information, which improves the efficiency of determining portrait information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and specifically to a method and device for determining portrait information. Background Art

[0002] With the rapid development of e-commerce business, people's shopping methods have changed dramatically. At present, community group buying is an effective way to drive the growth of e-commerce business. Community group buying is an e-commerce model in which the group leader recommends products to group members. It conforms to the trend of social shopping and caters to the hierarchical and stratified needs of user consumption. In order to accurately and effectively recommend products, the group leader of community group buying needs to accurately and quickly obtain the portraits and map data of surrounding group members. Summary of the invention

[0003] The embodiments of the present application propose a method and device for determining portrait information.

[0004] In a first aspect, an embodiment of the present application provides a method for determining portrait information, including: obtaining an acquisition request for a target user, wherein the acquisition request is used to characterize the acquisition of portrait information of a reference user within a specified range; determining the address code of an area included in the specified range based on an address coding algorithm adopted by a memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; determining the portrait information of the target user based on the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0005] In some embodiments, the specified range represents a range determined by taking the location represented by the location information of the target user as the center and a specified length as the radius; the address coding algorithm adopted by the memory database is used to determine the address code of the area included in the specified range, including: encoding through the address coding algorithm; determining the number of layers of areas spatially surrounding the area where the target user is located based on the specified length and the size information corresponding to each area divided by the address coding algorithm; and determining the address code of the area within the number of layers as the address code of the area included in the specified range.

[0006] In some embodiments, the above-mentioned determination of the address code of the area within the number of layers as the address code of the area included in the specified range includes: performing the following operations: taking each area in the determined area set as the center, determining multiple areas spatially adjacent to the area, wherein the multiple areas include the area; deduplicating the determined areas to obtain an area set corresponding to the next operation, wherein the number of times the operation is performed matches the number of layers, and the area in the area set corresponding to the first operation is the area where the target user is located; determining the address code of the area included in the area set obtained after deduplication in the last operation as the address code of the area included in the specified range.

[0007] In some embodiments, before determining the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, it also includes: determining the address coding algorithm according to the density information of the reference user.

[0008] In some embodiments, the above-mentioned determining the portrait information of the target user based on the portrait information of the reference user corresponding to the address code of the area included in the specified range includes: determining multiple acquisition threads based on the address code of the area included in the specified range; acquiring the portrait information of the reference user corresponding to the address code of the area included in the specified range from the memory database through the multiple acquisition threads; and analyzing and processing the acquired portrait information of the reference user to obtain the portrait information of the target user.

[0009] In some embodiments, the above method also includes: determining push information for the target user based on the portrait information of the target user, and pushing the push information to a preset terminal of the target user.

[0010] In a second aspect, an embodiment of the present application provides a device for determining portrait information, comprising: an acquisition unit, configured to acquire an acquisition request of a target user, wherein the acquisition request is used to characterize the acquisition of portrait information of a reference user within a specified range; a first determination unit, configured to determine the address code of an area included in the specified range according to an address coding algorithm adopted by a memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; a second determination unit, configured to determine the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0011] In some embodiments, the specified range represents a range determined by a specified length as a radius and centered at the location represented by the location information of the target user; the first determination unit is further configured to: encode by an address coding algorithm; determine the number of layers of areas spatially surrounding the area where the target user is located based on the specified length and size information corresponding to each area divided by the address coding algorithm; and determine the address codes of the areas within the number of layers as the address codes of the areas included in the specified range.

[0012] In some embodiments, the first determination unit is further configured to: perform the following operations: taking each area in the determined area set as the center, determine multiple areas spatially adjacent to the area, wherein the multiple areas include the area; deduplicate the determined areas to obtain an area set corresponding to the next operation, wherein the number of executions of the operation matches the number of layers, and the area in the area set corresponding to the first operation is the area where the target user is located; determine the address code of the area included in the area set obtained after deduplication in the last operation as the address code of the area included in the specified range.

[0013] In some embodiments, the above-mentioned apparatus further includes: a third determination unit configured to determine an address coding algorithm according to density information of reference users.

[0014] In some embodiments, the second determination unit is further configured to: determine multiple acquisition threads based on the address codes of the areas included in the specified range; obtain portrait information of reference users corresponding to the address codes of the areas included in the specified range from the memory database through multiple acquisition threads; analyze and process the obtained portrait information of the reference users to obtain portrait information of the target user.

[0015] In some embodiments, the above-mentioned device also includes: a fourth determination unit, which is configured to determine the push information for the target user based on the portrait information of the target user, and push the push information to the preset terminal of the target user.

[0016] In a third aspect, an embodiment of the present application provides a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the first aspect is implemented.

[0017] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by one or more processors, the one or more processors implement the method described in any implementation manner of the first aspect.

[0018] The method and device for determining portrait information provided in the embodiments of the present application obtain an acquisition request from a target user, wherein the acquisition request is used to characterize the acquisition of portrait information of a reference user within a specified range; the address code of the area included in the specified range is determined according to the address coding algorithm adopted by the memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; the portrait information of the target user is determined according to the portrait information of the reference user corresponding to the address code of the area included in the specified range, thereby providing an online real-time query method for portrait information and improving the efficiency of determining portrait information. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:

[0020] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present application may be applied;

[0021] Figure 2 is a flow chart of an embodiment of a method for determining portrait information according to the present application;

[0022] Figure 3 is a schematic diagram of an area surrounding the area where the target user is located according to an embodiment of the present application

[0023] Figure 4 is a schematic diagram of an application scenario of the method for determining portrait information according to this embodiment;

[0024] Figure 5 is a flowchart of another embodiment of a method for determining portrait information according to the present application;

[0025] Figure 6 is a structural diagram of an embodiment of a device for determining portrait information according to the present application;

[0026] Figure 7 It is a structural diagram of a computer system suitable for implementing the embodiments of the present application. DETAILED DESCRIPTION

[0027] The present application will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It should also be noted that, for ease of description, only the parts related to the relevant invention are shown in the accompanying drawings.

[0028] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0029] Figure 1 An exemplary architecture 100 is shown to which the method and apparatus for determining portrait information of the present application can be applied.

[0030] like Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, 103, a network 104 and a server 105. The communication connection between the terminal devices 101, 102, 103 constitutes a topological network, and the network 104 is used to provide a medium for the communication link between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0031] Terminal devices 101, 102, 103 may be hardware devices or software that support network connection for data interaction and data processing. When terminal devices 101, 102, 103 are hardware, they may be various electronic devices that support network connection, information acquisition, interaction, display, processing and other functions, including but not limited to smart phones, tablet computers, e-book readers, laptop computers and desktop computers, etc. When terminal devices 101, 102, 103 are software, they may be installed in the electronic devices listed above. They may be implemented as multiple software or software modules for providing distributed services, or they may be implemented as a single software or software module. No specific limitation is made here.

[0032] The server 105 may be a server that provides various services, such as obtaining an acquisition request sent by a target person through the terminal devices 101, 102, and 103, and determining the target person's portrait information based on the portrait information of the reference user in the specified range specified by the acquisition request. Optionally, the server may feed back the determined portrait information of the target person to the terminal device of the target person. As an example, the server 105 may be a cloud server.

[0033] It should be noted that the server can be hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or it can be implemented as a single server. When the server is software, it can be implemented as multiple software or software modules (for example, software or software modules used to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.

[0034] It should also be noted that the method for determining the portrait information provided in the embodiments of the present disclosure can be executed by a server, or by a terminal device, or by a server and a terminal device in cooperation with each other. Accordingly, the various parts (e.g., various units) included in the apparatus for determining the portrait information can be all arranged in the server, or all arranged in the terminal device, or respectively arranged in the server and the terminal device.

[0035] It should be understood that Figure 1 The number of terminal devices, networks, and servers in the system is only illustrative. Depending on the implementation requirements, there may be any number of terminal devices, networks, and servers. When the electronic device on which the method for determining the portrait information runs does not need to transmit data with other electronic devices, the system architecture may only include the electronic device (e.g., server or terminal device) on which the method for determining the portrait information runs.

[0036] Continue to refer Figure 2 , a process 200 of an embodiment of a method for determining portrait information is shown, comprising the following steps:

[0037] Step 201: Obtain an acquisition request from a target user.

[0038] In this embodiment, the execution subject of the method for determining the portrait information (for example Figure 1 The server in the example may obtain a request for obtaining the target user. The request for obtaining the portrait information of the reference user within the specified range is used to represent the acquisition of the portrait information of the reference user within the specified range.

[0039] The target user can be the group leader in the community group buying e-commerce model. The group leader determines the community group buying centered on himself by specifying a range, and the reference users within the specified range are all members of the community group buying where the group leader is located.

[0040] The designated range may be a range of any size and shape (including but not limited to a rectangle and a circle) set by the target user according to his / her needs. The designated range may be a range defined in any manner, including but not limited to determining the designated range by longitude and latitude, determining the designated range by selecting an area on an electronic map, etc.

[0041] Taking the method of determining the designated range by longitude and latitude as an example, the target user can determine the endpoint coordinates of the designated range, and determine the area surrounded by the connecting endpoint coordinates as the designated range. Taking the method of determining the designated range by selecting an area on an electronic map as an example, the target user can select an administrative area on the electronic map as the designated range, and can also circle the area to determine the circled area as the designated range.

[0042] In some optional implementations of this embodiment, the specified range represents a range determined by taking the location represented by the location information of the target user as the center and taking the specified length as the radius. The specified length may be any length set by the target user according to his / her own needs. For example, the specified length may be 1000 meters.

[0043] In this embodiment, the portrait information represents the attribute information of the user, including but not limited to: the user's ID (Identity document); the user's natural attributes, including but not limited to age, gender, occupation, education, and location information; the user's behavioral attributes, including but not limited to the user's browsing, clicking, purchasing, and adding to cart behavior information on the e-commerce platform; the user's preference attributes, including but not limited to product preference, brand preference, and other preference information. Among them, the user's behavioral attributes and preference attributes are attribute information generated in the process of the user using the e-commerce platform.

[0044] Step 202: Determine the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database.

[0045] In this embodiment, the execution subject can determine the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database. The memory database stores the address code obtained by encoding the location information of each user through the address coding algorithm.

[0046] In this embodiment, the in-memory database stores the portrait information of all users. In addition, the in-memory database supports the address encoding algorithm, through which the stored location information of each user is encoded to obtain the address code. The in-memory database has a natural advantage in response speed, which can improve the query efficiency of the target user's portrait information. Commonly used in-memory databases include but are not limited to Redis (Remote Dictionary Server) and JIMDB (Jingdong In Memory Database). In this embodiment, the in-memory database has a load balancing function, and is deployed with plug-ins responsible for distributed load balancing, including but not limited to LVS (Linux Virtual Server) and Nignx (a load balancing service) to provide a highly concurrent and highly available distributed database, which provides effective protection for responding to inquiries about the portrait information of reference users within a specified range. In the in-memory database, the address codes and portrait information of all users are stored in the format of Key-Values ​​(key-value pairs). Among them, Key corresponds to the user's address code, and Values ​​represents the user's portrait information.

[0047] The address encoding algorithm can be any address encoding algorithm with geocoding function. As an example, the address encoding algorithm can be GeoHash algorithm. GeoHash can encode two-dimensional spatial longitude and latitude data into a string. In the geographic coordinate system, the longitude range is 180° east longitude to 180° west longitude, and the latitude range is 90° south latitude to 90° north latitude. We set the west longitude to negative and the south latitude to negative, so the longitude range on the earth is [-180°, 180°], and the latitude range is [-90°, 90°].

[0048] If the prime meridian is used as the boundary, the earth can be divided into 4 parts. The latitude range [-90°, 0°) is represented by binary 0, (0°, 90°) is represented by binary 1, and the longitude range [-180°, 0°) is represented by binary 0, and (0°, 180°) is represented by binary 1. Then the earth can be divided into the following 4 parts: the longitude range [-180°, 0°) and the latitude range [-90°, 0°) correspond to binary code 00; the longitude range [-180°, 0°) and the latitude range (0°, 90°) correspond to binary code 01; the longitude range (0°, 180°) and the latitude range [-90°, 0°] correspond to binary code 10; the longitude range (0°, 180°] and the latitude range (0°, 90°) correspond to binary code 11.

[0049] On this basis, recursively dividing the above-mentioned regions similar to the above process will result in more regions. It can be understood that when the number of regions is smaller, the size of the region is larger, and the number of bits of the binary code corresponding to the region is smaller; when the number of regions is larger, the size of the region is smaller, and the number of bits of the binary code corresponding to the region is more.

[0050] After obtaining the binary code of each region, the binary codes corresponding to the longitude and latitude are merged (longitude occupies even digits, latitude occupies odd digits) to obtain the merged binary code; the merged binary code is encoded according to Base32 to obtain the address code. Similarly, when the number of regions is smaller, the size of the region is larger, and the number of bits of the address code corresponding to the region is smaller; when the number of regions is larger, the size of the region is smaller, and the number of bits of the address code corresponding to the region is more.

[0051] Specifically, the relationship between the number of bits and size of the address code corresponding to the region is shown in the following table:

[0052] Number of digits Area Width Area Height 1 ≤5000KM 5000KM 2 ≤1250KM 625KM 3 ≤156KM 156KM 4 ≤39.1KM 19.5KM 5 ≤4.89KM 4.89KM 6 ≤1.22KM 0.61KM 7 ≤153M 153M 8 ≤38.2M 19.1M 9 ≤4.77M 4.77M 10 ≤1.19M 0.596M 11 ≤149MM 149MM 12 ≤37.2MM 18.6MM

[0053] In this embodiment, the address code of the area included in the specified range is determined according to the address coding algorithm adopted by the memory database, which indicates that the address coding algorithm with the same number of bits as the address coding algorithm adopted by the memory database is used to perform address coding on the geographical area, thereby determining the address code of the area included in the specified range. As an example, if the memory database adopts a 7-bit GeoHash algorithm, then in this embodiment, when performing address coding on the geographical area, a 7-bit GeoHash algorithm is also used.

[0054] In some optional implementations of this embodiment, for the case where the specified range represents a range determined by taking the location represented by the location information of the target user as the center and taking the specified length as the radius, the execution subject performs the step 202 in the following manner:

[0055] First, it is encoded using an address encoding algorithm.

[0056] In this implementation, the address encoding of the geographical area is performed by adopting an address encoding algorithm having the same number of digits as the address encoding algorithm adopted by the memory database.

[0057] Second, the number of layers of regions spatially surrounding the region where the target user is located is determined according to the specified length and the size information corresponding to each region divided by the address coding algorithm.

[0058] Specifically, the specified length is divided by the size information (eg, length, width) corresponding to the region, and the result is rounded up to obtain a calculation result, which is determined as the number of layers of regions spatially surrounding the region where the target user is located.

[0059] by Figure 3 For example, the number of digits corresponding to the address code is 7, and the length corresponding to each area is 153 meters. Among them, the designated length of the designated range 301 is 300 meters, and the address code of the area where the target user is located is 1. Then the number of layers of regions spatially surrounding the region where the target user is located is 2. The first layer is the region corresponding to 1-8, and the second layer is the region corresponding to 9-24.

[0060] It should be noted that Figure 3 The codes corresponding to each area are not the address codes obtained by the above address coding algorithm, but are digital codes used only for the convenience of explanation.

[0061] Third, the address code of the area within the layer number is determined as the address code of the area included in the specified range.

[0062] Continue with Figure 3 For example, the address code of the area within the two layers is 0-24.

[0063] In some optional implementations of this embodiment, the execution subject performs the third step in the following manner:

[0064] First, perform the following operations: taking each area in the determined area set as the center, determine multiple areas spatially adjacent to the area, wherein the multiple areas include the area; deduplicate the determined areas to obtain an area set corresponding to the next operation, wherein the number of executions of the operation matches the number of layers, and the area in the area set corresponding to the first operation is the area where the target user is located.

[0065] Continue with Figure 3 For example, the number of times the operation is performed matches the number of layers, which is two times. In the first operation, the area where the target user is located (the area corresponding to 0) is taken as the center to determine a region set including the areas corresponding to 0-8. This region set is the region set corresponding to the next operation. In the second operation, the areas corresponding to 0-8 in the region set are taken as the center to determine multiple areas spatially adjacent to the area. Taking the area corresponding to 1 as an example, the areas adjacent to the area include 1, 9, 10, 11, 2, 3, 0, 7, and 8; taking the area corresponding to 2 as an example, the areas adjacent to the area include 2, 10, 11, 12, 13, 14, 3, 0, and 1. After taking the areas corresponding to 0-8 in the region set as the center in turn, all the areas are obtained and then deduplication is performed to obtain the areas corresponding to 0-24 respectively.

[0066] Then, the address codes of the areas included in the area set obtained after deduplication in the last operation are determined as the address codes of the areas included in the specified range.

[0067] Continue with Figure 3 For example, the last operation is the second operation. In the second operation, the address codes of the areas included in the area set obtained after deduplication are 0-24, and the address codes of the areas included in the specified range are 0-24.

[0068] Step 203, determining the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0069] In this embodiment, the execution subject may determine the portrait information of the target user based on the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0070] In this embodiment, since the address encoding algorithm for encoding the geographic space is the same as the address encoding algorithm used by the memory database, the portrait information of the reference user corresponding to the address code can be obtained from the memory server according to the address code of the area included in the specified range. After obtaining the portrait information of the reference user, the above-mentioned execution subject can analyze, summarize, cluster, etc. the portrait information of the reference user to obtain the portrait information of the target user.

[0071] For example, the execution entity may summarize the preference attributes in the portrait information of the reference user to determine the brands or products preferred by the reference users within a specified range.

[0072] For another example, the execution subject may count the natural attributes in the portrait information of the reference user to determine the distribution ratio information of each natural attribute, such as the age distribution ratio information, gender distribution ratio information, occupation distribution ratio information, etc. of the reference user.

[0073] In this embodiment, when the data volume of the portrait information of the reference users within the determined specified range is large, the data volume can be compressed to improve the efficiency of network transmission by compressing the data volume.

[0074] In some optional implementations of this embodiment, the execution subject may perform step 203 in the following manner:

[0075] First, a plurality of acquisition threads are determined according to the address codes of the areas included in the specified range.

[0076] As an example, the number of acquisition threads may be the same as the number of regions included in the specified range, and the multiple acquisition threads correspond one-to-one to the multiple regions included in the specified range.

[0077] Second, through multiple acquisition threads, the portrait information of the reference user corresponding to the address code of the area included in the specified range is obtained from the memory database respectively.

[0078] Continuing with the above example, multiple acquisition threads correspond one-to-one to multiple areas included in the specified range. For each area included in the specified range, the acquisition thread corresponding to the area acquires the portrait information of the reference user matching the address code of the area.

[0079] Third, the acquired portrait information of the reference user is analyzed and processed to obtain the portrait information of the target user.

[0080] Continue to see Figure 4 , Figure 4 FIG4 is a schematic diagram 400 of an application scenario of the method for determining portrait information according to this embodiment. Figure 4In the application scenario, the group leader 401 sends an acquisition request to the server 403 through the terminal device 402. The acquisition request is used to represent the acquisition of the portrait information of the reference user within the specified range. First, the memory server 403 obtains the acquisition request of the target user 401. Then, the server 403 determines the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, as shown in 404. The address code obtained by encoding the location information of each user through the address coding algorithm is stored in the database 403. Finally, the server 403 determines the portrait information of the target user based on the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0081] The method provided by the above-mentioned embodiments of the present disclosure obtains an acquisition request of a target user, wherein the acquisition request is used to characterize the acquisition of portrait information of a reference user within a specified range; determines the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; determines the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range, thereby providing an online real-time query method for portrait information and improving the efficiency of determining portrait information.

[0082] In some optional implementations of this embodiment, before the above step 202, the above method further includes: determining an address coding algorithm according to density information of reference users.

[0083] As an example, the density information of the reference users is positively correlated with the number of bits of the address coding algorithm. When the density represented by the density information of the reference users is large, the address coding algorithm performs address coding based on a large number of bits, so that the size of each area is small and the number of reference users in each area is small; when the density represented by the density information of the reference users is small, the address coding algorithm performs address coding based on a small number of bits, so that the size of each area is large and the number of reference users in each area is large.

[0084] Continue to refer Figure 5 , shows a schematic process 500 of an embodiment of a method for determining portrait information according to the present application, comprising the following steps:

[0085] Step 501: Obtain an acquisition request from a target user.

[0086] The acquisition request is used to represent the acquisition of portrait information of reference users within a specified range.

[0087] Step 502: Determine the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database.

[0088] The memory database stores the address code obtained by encoding the location information of each user through an address coding algorithm.

[0089] Step 503, determining the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0090] In this embodiment, the above steps 501-503 can be performed in a manner similar to steps 201-203, and will not be described in detail here.

[0091] Step 504, determining the push information for the target user based on the portrait information of the target user, and pushing the push information to the preset terminal of the target user.

[0092] In this embodiment, the above-mentioned execution entity can determine the push information for the target user according to the portrait information of the target user, and push the push information to the preset terminal of the target user.

[0093] The portrait information matches the push information. For example, when the portrait information of the target user indicates that there are many student users among the reference users within the specified range specified by the target user, the push information may be push information indicating school supplies; when the portrait information of the target user indicates that there are many mother users among the reference users within the specified range specified by the target user, the push information may be push information indicating maternal and child supplies.

[0094] As another example, when the portrait information of the target user indicates that most of the reference users within the specified range designated by the target user are users who like brand A, the push information may be push information indicating products of brand A.

[0095] It can be seen from this embodiment that Figure 2 Compared with the corresponding embodiments, process 400 of the method for determining portrait information in this embodiment specifically illustrates the process of determining push information for a target user based on the portrait information of the target user, and pushing the push information to the preset terminal of the target user, thereby improving the pertinence and accuracy of information push.

[0096] Continue to refer Figure 6 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a device for determining portrait information. Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.

[0097] like Figure 6 As shown, the device for determining portrait information includes: including: an acquisition unit 601, configured to obtain an acquisition request for a target user, wherein the acquisition request is used to characterize the acquisition of portrait information of a reference user within a specified range; a first determination unit 602, configured to determine the address code of an area included in the specified range according to an address coding algorithm adopted by a memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; a second determination unit 603, configured to determine the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0098] In some optional implementations of the present embodiment, the specified range representation is a range determined by taking the position represented by the position information of the target user as the center and a specified length as the radius; the first determination unit 602 is further configured to: encode by an address coding algorithm; determine the number of layers of areas spatially surrounding the area where the target user is located based on the specified length and size information corresponding to each area divided by the address coding algorithm; and determine the address codes of the areas within the number of layers as the address codes of the areas included in the specified range.

[0099] In some optional implementations of the present embodiment, the first determination unit 602 is further configured to: perform the following operations: taking each area in the determined area set as the center, determine multiple areas spatially adjacent to the area, wherein the multiple areas include the area; deduplicate the determined areas to obtain an area set corresponding to the next operation, wherein the number of executions of the operation matches the number of layers, and the area in the area set corresponding to the first operation is the area where the target user is located; determine the address code of the area included in the area set obtained after deduplication in the last operation as the address code of the area included in the specified range.

[0100] In some optional implementations of this embodiment, the above-mentioned device further includes: a third determination unit (not shown in the figure), configured to determine an address coding algorithm according to density information of reference users.

[0101] In some optional implementations of this embodiment, the second determination unit 603 is further configured to: determine multiple acquisition threads based on the address codes of the areas included in the specified range; obtain, through the multiple acquisition threads, the portrait information of the reference users corresponding to the address codes of the areas included in the specified range from the memory database respectively; and analyze and process the obtained portrait information of the reference users to obtain the portrait information of the target user.

[0102] In some optional implementations of this embodiment, the above-mentioned device also includes: a fourth determination unit (not shown in the figure), which is configured to determine the push information for the target user based on the portrait information of the target user, and push the push information to the preset terminal of the target user.

[0103] In this embodiment, an acquisition unit in a portrait information determination device acquires an acquisition request of a target user, wherein the acquisition request is used to represent the acquisition of portrait information of a reference user within a specified range; a first determination unit determines the address code of an area included in the specified range according to an address coding algorithm adopted by a memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; a second determination unit determines the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range, thereby providing an online real-time query device for portrait information and improving the efficiency of determining portrait information.

[0104] Reference below Figure 7 , which shows a device suitable for implementing the embodiments of the present application (eg Figure 1 Schematic diagram of the structure of a computer system 700 of devices 101, 102, 103, 105) shown. Figure 7 The device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0105] like Figure 7 As shown, the computer system 700 includes a processor (e.g., CPU, central processing unit) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage part 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the system 700 are also stored. The processor 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0106] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, a mouse, etc.; an output section 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, a modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 710 as needed, so that a computer program read therefrom is installed into the storage section 708 as needed.

[0107] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 709, and / or installed from a removable medium 711. When the computer program is executed by the processor 701, the above-mentioned functions defined in the method of the present application are executed.

[0108] It should be noted that the computer-readable medium of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0109] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the client computer, partially on the client computer, as a separate software package, partially on the client computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the client computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0110] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the device, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0111] The units involved in the embodiments described in the present application may be implemented by software or by hardware. The described units may also be set in a processor, for example, may be described as: a processor comprising an acquisition unit, a first determination unit and a second determination unit. Among them, the names of these units do not constitute a limitation on the unit itself under certain circumstances. For example, the second determination unit may also be described as "a unit for determining the portrait information of the target user based on the portrait information of the reference user corresponding to the address code of the area included in the specified range."

[0112] As another aspect, the present application also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by the device, the computer device: obtains an acquisition request of the target user, wherein the acquisition request is used to characterize the acquisition of the portrait information of the reference user within the specified range; determines the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; determines the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range.

[0113] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above invention concept. For example, the above features are replaced with the technical features with similar functions disclosed in this application (but not limited to) by each other to form a technical solution.

Claims

1. A method for determining portrait information, comprising: Obtaining a request for obtaining a target user, wherein the request is used to represent obtaining portrait information of reference users within a specified range; Determine the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, wherein the address code obtained by encoding the location information of each user by the address coding algorithm is stored in the memory database; The portrait information of the target user is determined based on the portrait information of the reference user corresponding to the address code of the area included in the specified range.

2. The method according to claim 1, wherein: The specified range represents a range determined by taking the location represented by the location information of the target user as the center and taking the specified length as the radius; Determining the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database includes: Encoding by the address encoding algorithm; Determine the number of layers of regions spatially surrounding the region where the target user is located according to the specified length and size information corresponding to each region divided by the address coding algorithm; The address code of the area within the number of layers is determined as the address code of the area included in the specified range.

3. The method according to claim 2, wherein: The step of determining the address code of the area within the number of layers as the address code of the area within the specified range includes: Perform the following operations: taking each area in the determined area set as the center, determine multiple areas spatially adjacent to the area, wherein the multiple areas include the area; remove duplicates from the determined areas to obtain an area set corresponding to the next operation, wherein the number of times the operation is performed matches the number of layers, and the area in the area set corresponding to the first operation is the area where the target user is located; The address codes of the areas included in the area set obtained after deduplication in the last operation are determined as the address codes of the areas included in the specified range.

4. The method according to claim 1, wherein: Before determining the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, the method further includes: The address encoding algorithm is determined according to the density information of the reference user.

5. The method according to claim 1, wherein: The determining the portrait information of the target user according to the portrait information of the reference user corresponding to the address code of the area included in the specified range includes: Determining a plurality of acquisition threads according to address codes of areas included in the specified range; Acquire, through the multiple acquisition threads, the portrait information of the reference user corresponding to the address code of the area included in the specified range from the memory database respectively; The acquired portrait information of the reference user is analyzed and processed to obtain the portrait information of the target user.

6. The method according to any one of claims 1 to 5, wherein: Also includes: According to the portrait information of the target user, push information for the target user is determined, and the push information is pushed to a preset terminal of the target user.

7. A device for determining portrait information, comprising: An acquisition unit is configured to acquire an acquisition request of a target user, wherein the acquisition request is used to represent the acquisition of portrait information of reference users within a specified range; A first determining unit is configured to determine the address code of the area included in the specified range according to the address coding algorithm adopted by the memory database, wherein the address code obtained by encoding the location information of each user through the address coding algorithm is stored in the memory database; The second determining unit is configured to determine the portrait information of the target user based on the portrait information of the reference user corresponding to the address code of the area included in the specified range.

8. The device according to claim 7, wherein: The specified range represents a range determined by taking the location represented by the location information of the target user as the center and taking the specified length as the radius; The first determining unit is further configured to: Encoding is performed using the address coding algorithm; the number of layers of areas spatially surrounding the area where the target user is located is determined based on the specified length and size information corresponding to each area divided by the address coding algorithm; the address codes of the areas within the number of layers are determined as the address codes of the areas included in the specified range.

9. The device according to claim 8, wherein: The first determining unit is further configured to: Perform the following operations: taking each area in the determined area set as the center, determine multiple areas spatially adjacent to the area, wherein the multiple areas include the area; remove duplicates from the determined areas to obtain an area set corresponding to the next operation, wherein the number of times the operation is performed matches the number of layers, and the area in the area set corresponding to the first operation is the area where the target user is located; The address codes of the areas included in the area set obtained after deduplication in the last operation are determined as the address codes of the areas included in the specified range.

10. The device according to claim 7, wherein: Also includes: The third determining unit is configured to determine the address encoding algorithm according to the density information of the reference user.

11. The device according to claim 7, wherein: The second determining unit is further configured to: According to the address codes of the areas included in the specified range, multiple acquisition threads are determined; through the multiple acquisition threads, portrait information of reference users corresponding to the address codes of the areas included in the specified range are respectively acquired from the memory database; the acquired portrait information of the reference users is analyzed and processed to obtain the portrait information of the target user.

12. The device according to any one of claims 7 to 11, wherein: Also includes: The fourth determination unit is configured to determine the push information for the target user based on the portrait information of the target user, and push the push information to the preset terminal of the target user.

13. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

14. An electronic device comprising: one or more processors; a storage device having one or more programs stored thereon, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Advertisement pushing method and device

    CN106506696A

  • Positioning method and device

    CN106767835A