Object Recommendation Method, Apparatus, Device, and Storage Medium

By using intimacy scores derived from historical assistance data, the method enhances the accuracy of friend recommendations in non-social networking platforms by sorting assistance objects based on their intimacy levels, addressing the challenge of low precision in existing methods.

CN114610990BActive Publication Date: 2025-07-15BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210182247.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-25
Publication Date
2025-07-15
Estimated Expiration
2042-02-25

AI Technical Summary

Technical Problem

The current support activities have low accuracy in friend recommendations, mainly due to the non-social attributes of e-commerce platforms and user address book privacy restrictions, resulting in insufficient social relationship data and inability to accurately recommend friends.

Method used

By receiving the target sharing object identification, query cache determines the help object identification set, and sorts it based on the intimacy score, generates a list of recommended object identifications, and uses offline and real-time intimacy indicators to process the help relational data, update the intimacy score, and improve recommendation accuracy.

Benefits of technology

Accurately determine the identification set of assisting objects and sort based on intimacy scores, improving the recommendation accuracy in assisting activities and meeting the recommendation needs of different event scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114610990B_ABST
    Figure CN114610990B_ABST
Patent Text Reader

Abstract

The object recommendation method, device, equipment and storage medium provided by the embodiments of the present application relate to the field of Internet technologies. The specific solution is as follows: Receive an object recommendation request of a target application, where the object recommendation request includes a target sharing object identifier. Then, according to the target sharing object identifier, query the cache to determine a set of assisting object identifiers corresponding to the target sharing object identifier. Subsequently, based on the intimacy scores between each assisting object identifier in the set of assisting object identifiers and the target sharing object identifier, sort each assisting object identifier in the set of assisting object identifiers to obtain a recommended object identifier list corresponding to the target sharing object identifier. Finally, push the recommended object identifier list of the target sharing object identifier to the target application. This technical solution can accurately determine the set of assisting object identifiers corresponding to the target sharing object identifier, and perform sorting based on the intimacy scores, improving the recommendation accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of Internet technologies, and in particular, to an object recommendation method, apparatus, device, and storage medium. Background Art

[0002] With the rapid development and popularization of Internet technologies, there are more and more network promotions and network activities. For example, a boosting activity launched on an e-commerce platform is one of them. The boosting activity can increase the daily active user (DAU) count of the e-commerce platform in the boosting activity and improve the exposure of platform products.

[0003] In the prior art, friend recommendation in a boosting activity is mainly achieved based on social relationships. Specifically, in the case where users have mutually confirmed and added each other as friends, by reading the contacts in the user's mobile phone address book and those who are platform users or second-degree connections of existing friends, a list of friends to be recommended is obtained, and then the recommendation is realized.

[0004] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art: Due to the non-social nature of the e-commerce platform, the existing friend relationship data is limited, and the user's address book is prohibited from being obtained and used without authorization due to user privacy concerns, resulting in inaccurate friend recommendation in the boosting activity and a problem of low recommendation accuracy. Summary of the Invention

[0005] Embodiments of the present application provide an object recommendation method, apparatus, device, and storage medium to solve the problem of low object recommendation accuracy in existing boosting activities.

[0006] According to a first aspect of the present application, embodiments of the present application provide an object recommendation method, including:

[0007] Receiving an object recommendation request of a target application, where the object recommendation request includes: a target sharing object identifier;

[0008] Querying a cache according to the target sharing object identifier to determine a set of boosting object identifiers corresponding to the target sharing object identifier, where the cache stores sets of boosting object identifiers corresponding to multiple sharing object identifiers;

[0009] Sorting each boosting object identifier in the set of boosting object identifiers based on the intimacy score between each boosting object identifier in the set of boosting object identifiers and the target sharing object identifier to obtain a list of recommended object identifiers corresponding to the target sharing object identifier;

[0010] Pushing the list of recommended object identifiers of the target sharing object identifier to the target application.

[0011] In a possible design of the first aspect, the object recommendation request further includes: an intimacy metric;

[0012] Correspondingly, sorting each assistance object identifier in the assistance object identifier set according to the intimacy score between each assistance object identifier in the assistance object identifier set and the target sharing object identifier to obtain a recommended object identifier list corresponding to the target sharing object identifier includes:

[0013] Determining, from the assistance object set, an assistance object subset corresponding to the intimacy metric;

[0014] Sorting each assistance object identifier in the assistance object subset according to the intimacy score between each assistance object identifier in the assistance object subset and the target sharing object identifier to obtain a recommended object identifier list corresponding to the target sharing object identifier.

[0015] In another possible design of the first aspect, the method further includes:

[0016] Receiving assistance relationship data reported by each application and transmitting it to a message middleware, where the assistance relationship data includes: a sharing object identifier, an assistance object identifier, an application identifier, an assistance time, and an assistance type;

[0017] Obtaining the assistance relationship data in the message middleware;

[0018] Processing the assistance relationship data based on a preset intimacy metric to determine an assistance object identifier set corresponding to the sharing object identifier and the intimacy score between the sharing object identifier and the assistance object identifier;

[0019] Storing the assistance object identifier set and the intimacy score between the sharing object identifier and the assistance object identifier in a cache.

[0020] As an example, the preset intimacy metric is an offline relationship intimacy metric;

[0021] Correspondingly, processing the assistance relationship data based on a preset intimacy metric to determine an assistance object identifier set corresponding to the sharing object identifier and the intimacy score between the sharing object identifier and the assistance object identifier includes:

[0022] Determining relationship increment data in a database within a preset processing period based on the assistance type, assistance time, application identifier, and assistance times of the assistance relationship data;

[0023] Determining an assistance object identifier set corresponding to the sharing object identifier according to the sharing object identifier and the assistance object identifier in the relationship increment data;

[0024] Query the cache according to the sharing object identifier and the assisting object identifier in the relationship incremental data to obtain the existing intimacy score corresponding to the offline relationship intimacy index;

[0025] Determine whether it is necessary to update the existing intimacy score according to the assisting type in the relationship incremental data;

[0026] When it is necessary to update the existing intimacy score, use the assisting type and the number of assisting times in the relationship incremental data to update the existing intimacy score.

[0027] Optionally, the key name of the offline relationship intimacy index is the sharing object identifier, and the key value of the offline relationship intimacy index includes: the assisting object identifier and the intimacy score, and the intimacy score is determined according to the assisting type and the actual number of assisting times.

[0028] As another example, the preset intimacy index is a real-time relationship intimacy index;

[0029] Correspondingly, based on the preset intimacy index, processing the assisting relationship data to determine the set of assisting object identifiers corresponding to the sharing object identifier and the intimacy score between the sharing object identifier and the assisting object identifier includes:

[0030] Group the assisting relationship data to obtain multiple groups of relationship data, and the sharing object identifier and the assisting object identifier of each group of relationship data are the same;

[0031] Use a stream processing program to calculate the most recent assisting time and the number of assisting times of each group of relationship data within a preset time period;

[0032] Determine the set of assisting object identifiers corresponding to the sharing object identifier according to the sharing object identifier and the assisting object identifier of each group of relationship data;

[0033] Query the cache according to the sharing object identifier and the assisting object identifier in each group of relationship data to obtain the existing intimacy score corresponding to the real-time relationship intimacy index;

[0034] Determine the intimacy score to be updated according to the activity end time, the most recent assisting time and the number of assisting times in each group of relationship data;

[0035] Use the intimacy score to be updated to update the existing intimacy score.

[0036] Optionally, the key names of the real-time relationship intimacy index include: sharing object identifier and application identifier, and the key values of the real-time relationship intimacy index include: assisted object identifier and intimacy score. The intimacy score is determined based on the number of seconds between the most recent assistance time and the end time of the activity corresponding to the application identifier and the actual number of assistance times.

[0037] According to a second aspect of the present application, an object recommendation device provided by an embodiment of the present application includes:

[0038] A receiving module, configured to receive an object recommendation request for a target application, where the object recommendation request includes: a target sharing object identifier;

[0039] A query module, configured to query a cache according to the target sharing object identifier to determine a set of assisted object identifiers corresponding to the target sharing object identifier. Multiple sets of assisted object identifiers corresponding to sharing object identifiers are stored in the cache;

[0040] A processing module, configured to sort each assisted object identifier in the set of assisted object identifiers based on the intimacy score between each assisted object identifier in the set of assisted object identifiers and the target sharing object identifier, to obtain a recommended object identifier list corresponding to the target sharing object identifier;

[0041] A pushing module, configured to push the recommended object identifier list of the target sharing object identifier to the target application.

[0042] In a possible design of the second aspect, the object recommendation request further includes: an intimacy index;

[0043] Correspondingly, the processing module is specifically configured to:

[0044] Determine a subset of assisted objects corresponding to the intimacy index from the set of assisted objects;

[0045] Sort each assisted object identifier in the subset of assisted objects based on the intimacy score between each assisted object identifier in the subset of assisted objects and the target sharing object identifier, to obtain a recommended object identifier list corresponding to the target sharing object identifier.

[0046] In another possible design of the second aspect, the receiving module is further configured to receive assistance relationship data reported by each application, where the assistance relationship data includes: sharing object identifier, assisted object identifier, application identifier, assistance time, and assistance type;

[0047] The processing module is further configured to:

[0048] Obtain the assistance relationship data in the message middleware;

[0049] Process the assistance relationship data based on a preset intimacy index to determine the set of assistance object identifiers corresponding to the sharing object identifier and the intimacy score between the sharing object identifier and the assistance object identifier;

[0050] Store the set of assistance object identifiers and the intimacy score between the sharing object identifier and the assistance object identifier in the cache.

[0051] As an example, the preset intimacy index is an offline relationship intimacy index;

[0052] Correspondingly, the processing module is specifically configured to:

[0053] Determine the relationship incremental data in the database within a preset processing period based on the assistance type, assistance time, application identifier, and number of assistance times in the assistance relationship data;

[0054] Determine the set of assistance object identifiers corresponding to the sharing object identifier according to the sharing object identifier and the assistance object identifier in the relationship incremental data;

[0055] Query the cache according to the sharing object identifier and the assistance object identifier in the relationship incremental data to obtain the existing intimacy score corresponding to the offline relationship intimacy index;

[0056] Determine whether the existing intimacy score needs to be updated according to the assistance type in the relationship incremental data;

[0057] When the existing intimacy score needs to be updated, update the existing intimacy score by using the assistance type and the number of assistance times in the relationship incremental data.

[0058] Optionally, the key name of the offline relationship intimacy index is the sharing object identifier, and the key value of the offline relationship intimacy index includes: the assistance object identifier and the intimacy score, and the intimacy score is determined according to the assistance type and the actual number of assistance times.

[0059] As another example, the preset intimacy index is a real-time relationship intimacy index;

[0060] Correspondingly, the processing module is specifically configured to:

[0061] Group the assistance relationship data to obtain multiple groups of relationship data, and the sharing object identifier and the assistance object identifier of each group of relationship data are the same;

[0062] Use a stream processing program to calculate the most recent assistance time and the number of assistance times of each group of relationship data within a preset time period;

[0063] Determine the set of assisted object identifiers corresponding to the sharing object identifier according to the sharing object identifier and the assisted object identifier in each group of relationship data;

[0064] Query the cache according to the sharing object identifier and the assisted object identifier in each group of relationship data, and obtain the existing intimacy score corresponding to the real-time relationship intimacy index;

[0065] Determine the intimacy score to be updated according to the activity end time, the most recent assistance time, and the number of assistance times in each group of relationship data;

[0066] Update the existing intimacy score by using the intimacy score to be updated.

[0067] Optionally, the key names of the real-time relationship intimacy index include: the sharing object identifier and the application identifier, the key values of the real-time relationship intimacy index include: the assisted object identifier and the intimacy score, and the intimacy score is determined according to the number of seconds between the most recent assistance time and the activity end time corresponding to the application identifier and the actual number of assistance times.

[0068] According to the third aspect of the present application, an object recommendation device is provided in an embodiment of the present application, including a processor, a memory, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the method described in the first aspect and various possible designs above is implemented.

[0069] According to the fourth aspect of the present application, a computer-readable storage medium is provided in an embodiment of the present application. A computer execution instruction is stored in the computer-readable storage medium, and when the computer execution instruction is executed by a processor, the method described in the first aspect and various possible designs above is implemented.

[0070] According to the fifth aspect of the present application, a computer program product is provided in an embodiment of the present application, including: a computer program, and when the computer program is executed by a processor, the method described in the first aspect and various possible designs above is implemented.

[0071] The object recommendation method, device, equipment, and storage medium provided by the embodiments of the present application receive an object recommendation request of a target application, where the object recommendation request includes: a target sharing object identifier. Then, according to the target sharing object identifier, the cache is queried to determine a set of assisting object identifiers corresponding to the target sharing object identifier. Subsequently, based on the intimacy scores between each assisting object identifier in the set of assisting object identifiers and the target sharing object identifier, each assisting object identifier in the set of assisting object identifiers is sorted to obtain a recommended object identifier list corresponding to the target sharing object identifier. Finally, the recommended object identifier list of the target sharing object identifier is pushed to the target application. This technical solution can accurately determine the set of assisting object identifiers corresponding to the target sharing object identifier and perform sorting based on the intimacy scores, improving the recommendation accuracy. Brief Description of the Drawings

[0072] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present disclosure and used together with the specification to explain the principles of the present disclosure.

[0073] Figure 1 Schematic diagram of the system architecture applicable to the object recommendation method provided by the embodiments of the present application;

[0074] Figure 2 Schematic flowchart of the first embodiment of the object recommendation method provided by the embodiments of the present application;

[0075] Figure 3 Schematic flowchart of the second embodiment of the object recommendation method provided by the embodiments of the present application;

[0076] Figure 4 Schematic diagram of the data flow of the third embodiment of the object recommendation method provided by the embodiments of the present application;

[0077] Figure 5 Schematic diagram of the structure of the embodiment of the object recommendation device provided by the embodiments of the present application;

[0078] Figure 6 Schematic diagram of the structure of the embodiment of the object recommendation equipment provided by the embodiments of the present application.

[0079] Through the above accompanying drawings, specific embodiments of the present disclosure have been shown, and there will be more detailed descriptions hereinafter. These drawings and written descriptions are not intended to limit the scope of the concept of the present disclosure in any way, but to illustrate the concept of the present disclosure to those skilled in the art by referring to specific embodiments. Detailed Embodiments

[0080] Exemplary embodiments will be described in detail herein, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. On the contrary, they are merely examples of apparatuses and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0081] First, the terms related to the embodiments of the present application will be explained:

[0082] MQ: A software product for point-to-point text message transmission;

[0083] Kafka: An open-source stream processing platform, a high-throughput distributed publish-subscribe messaging system that can process all action stream data of consumers in a website. The purpose of Kafka is to unify online and offline message processing through the parallel loading mechanism of Hadoop and to provide real-time messages through a cluster.

[0084] Hadoop: An open-source software product for distributed big data storage, analysis, and computing.

[0085] Redis: A memory-based non-relational database with extremely fast access speed, that is, a cache.

[0086] Hive: A software that executes queries, analyzes, and calculates tasks in Hadoop using a class-standard query language (Hive SQL). Specifically, Hive is an application tool based on a data warehouse used to process structured data in Hadoop. It is architected on top of Hadoop and operates on data through SQL.

[0087] Among them, the structured query language (SQL) is a special-purpose programming language, a database query and programming language used to access data and query, update, and manage relational database systems.

[0088] Flink: An open-source software product for a real-time data computing engine, the core of which is a distributed stream data flow engine written in Java and Scala. Flink executes any stream data program in a data parallel and pipelined manner, and the pipelined runtime system of Flink can execute batch processing and stream processing programs.

[0089] With the rapid development of artificial intelligence technology, intelligent recommendation plays an increasingly important role. The main task of intelligent recommendation is to determine the intimacy relationship between objects by analyzing the characteristics of the objects, and then achieve the purpose of accurate recommendation.

[0090] In the scenario of friend recommendation in the field of mobile Internet, the boosting activity is a form of reflecting user relationships. Optionally, the forms of boosting include but are not limited to: inviting people to boost, friend card collection and card exchange, ladder task boosting, and group buying boosting, etc. Therefore, how to determine the relationship between friends in the boosting scenario is the key to accurate recommendation.

[0091] Currently, friend recommendation in boosting activities is mainly achieved based on social relationships. However, since the application platform on which the boosting activity relies is a non-social platform, and because the user's address book involves user privacy and is prohibited from being obtained and used without authorization, the existing social relationships cannot accurately reflect the relationships between users, resulting in low accuracy of friend recommendation based on social relationships.

[0092] To address the above technical problems, the conceptual process of the technical solution of this application is as follows: The inventor analyzed the boosting activities in the mobile Internet and found that the current friend recommendation simply calculates the number of common friends to determine the intimacy, and cannot identify particularly close friend relationships in the activity scenario. For example, friends who have participated in group buying together may be closer in the activity scenario than those with more common friends. As a result, in the boosting activity, it is impossible to recommend accurate friends of the same platform users for the user. After the boosting interaction is completed between user friends, it is also impossible to promptly filter out the friends who have completed the boosting in the user's recommendation list. However, if, without adding friends in advance, friends with frequent interactions are analyzed from past or ongoing other boosting activities in a timely manner and recommended, the effect of the boosting activity can be expanded.

[0093] Moreover, by analyzing different boosting activity scenarios, identifying users with closer friend relationships, and taking into account the elements of the boosting activity scenario in the relationship ranking, friends who are more inclined to help users participate in the boosting activity can be recommended. Therefore, by processing the collected boosting relationship data, the intimacy score between the sharer and the booster can be determined, so that purposeful recommendation can be carried out in subsequent recommendation scenarios, and the recommendation accuracy can be improved.

[0094] Based on the above-mentioned conceptualization process, an embodiment of this application provides an object recommendation method. By receiving an object recommendation request of a target application, the object recommendation request includes: a target sharing object identifier. Then, according to the target sharing object identifier, the cache is queried to determine a set of booster object identifiers corresponding to the target sharing object identifier. Subsequently, based on the intimacy scores between each booster object identifier in the set of booster object identifiers and the target sharing object identifier, each booster object identifier in the set of booster object identifiers is sorted to obtain a recommended object identifier list corresponding to the target sharing object identifier. Finally, the recommended object identifier list of the target sharing object identifier is pushed to the target application. This technical solution can accurately determine the set of booster object identifiers corresponding to the target sharing object identifier, and perform sorting based on the intimacy scores, improving the recommendation accuracy.

[0095] Exemplarily, Figure 1 is a schematic diagram of the system architecture applicable to the object recommendation method provided by an embodiment of this application. As Figure 1 shown, the schematic diagram of the system architecture may include: at least one sharing object terminal, at least one booster object terminal, and an object recommendation device 10. Optionally, Figure 1 in the shown system, 1 sharing object terminal 11 and 1 booster object terminal 12 are used for explanation.

[0096] Optionally, at least one application is installed on both the sharing object terminal 11 and the booster object terminal 12. For example, when the same application A is installed on the sharing object terminal 11 and the booster object terminal 12, when the sharing object participates in a boosting activity on the application A through the sharing object terminal 11, the boosting task information and the account identifier are generated into a sharing object identifier, and are shared to the booster object terminal 12 in the form of a password text or a small program. Correspondingly, when the booster object copies the password text on the booster object terminal 12 and returns to the application A or opens the small program or other scenarios that can form a boost, boost relationship data is generated. Subsequently, the booster object terminal 12 can submit the boost relationship data to the object recommendation device 10 in the form of a message queue or an http request.

[0097] Correspondingly, the object recommendation device 10 can process the received boost relationship data, generate an intimacy score between the booster object identifier and the sharing object identifier, and store it in the cache.

[0098] Optionally, as Figure 1 shown, the object recommendation device 10 may include an object recommendation module 101, a message middleware 102, an offline processing module 103, a real-time processing module 104, and a cache 105.

[0099] Among them, after receiving the assistance relationship data generated and reported by the assisted object terminal through the relationship interface, the object recommendation module 101 transfers it to the message middleware 102. Correspondingly, the offline processing module 103 and the real-time processing module 104 consume the assistance relationship data from the message middleware 102, and the data consumed by both is the same and does not affect each other.

[0100] Optionally, the offline processing module 103 can process the assistance relationship data in the message middleware 102 to generate an intimacy index with priority for assistance activity types and store it in the cache 105; the real-time processing module 104 can process the assistance relationship data in the message middleware 102 to generate an intimacy index with priority for assistance activity time and store it in the cache 105, so that when the sharing object terminal 11 has an object recommendation request, it can obtain the set of assisted objects corresponding to the assisted object identifier from the cache 105, sort them based on the intimacy scores, and then push the determined list of recommended object identifiers to the sharing object terminal 11.

[0101] It can be understood that Figure 1 The shown scenario schematic diagram is only an exemplary illustration. In practical applications, other devices may also be included in this scenario schematic diagram, which can be specifically adjusted according to actual needs, and the embodiments of the present application do not limit it.

[0102] In the above Figure 1 In the shown scenario schematic diagram, the embodiments of the present application do not limit the specific forms of each device. For example, the object recommendation device 10 can be a single server or a server cluster, and this embodiment does not limit it.

[0103] Next, specific embodiments will be used to detail the technical solutions of the present application and how the technical solutions of the present application solve the above technical problems. These several specific embodiments can be combined with each other, and concepts or processes that are the same or similar may not be repeated in some embodiments. Next, the embodiments of the present application will be described with reference to the accompanying drawings.

[0104] Exemplarily, Figure 2 This is a schematic flowchart of the first embodiment of the object recommendation method provided by the embodiment of the present application. As Figure 2 shown, the object recommendation method may include the following steps:

[0105] S201. Receive an object recommendation request for a target application, where the object recommendation request includes: a target sharing object identifier.

[0106] In an embodiment of the present application, when a sharing object participates in a boosting activity through a target application (which can be referred to as a relationship chain consumer application) on the sharing object terminal, it needs to determine boosting objects that have an intimate relationship with the sharing object. At this time, the sharing object terminal can send an object recommendation request including at least the target sharing object identifier to an object recommendation device (which can be referred to as a relationship chain provider application) through the target application. Correspondingly, the object recommendation device can initiate a remote call through a software development kit (SDK) provided by the object recommendation device according to the received object recommendation request, and determine a target recommended object list.

[0107] S202. Query the cache according to the target sharing object identifier, and determine a set of boosting object identifiers corresponding to the target sharing object identifier.

[0108] Among them, the cache stores sets of boosting object identifiers corresponding to multiple sharing object identifiers.

[0109] Optionally, in an embodiment of the present application, the recommendation object device has a cache, and the cache stores sets of boosting object identifiers corresponding to multiple sharing object identifiers obtained by processing boosting relationship data before. Therefore, the object recommendation device can parse the received object recommendation request to obtain the target sharing object identifier, and then based on the target sharing object identifier, read the set of boosting object identifiers corresponding to the target sharing object identifier from the cache.

[0110] S203. Sort each boosting object identifier in the set of boosting object identifiers based on the intimacy score between each boosting object identifier in the set of boosting object identifiers and the target sharing object identifier, and obtain a list of recommended object identifiers corresponding to the target sharing object identifier.

[0111] In practical applications, each sharing object generally corresponds to many boosting objects, and the intimacy score between each boosting object and the sharing object may be different. Therefore, in order to improve the accuracy of recommendation, the object recommendation device can obtain the intimacy score between the target sharing object identifier and each boosting object identifier in the set of boosting object identifiers, and then sort each boosting object identifier in the set of boosting object identifiers based on the intimacy score to determine the order of boosting objects recommended to the target sharing object, that is, obtain a list of recommended object identifiers corresponding to the target sharing object identifier.

[0112] Optionally, in another implementation scenario of the present application, the object recommendation request may further include: an intimacy indicator; correspondingly, this S203 can be implemented through the following steps:

[0113] A1. Determine a subset of boosting objects corresponding to the intimacy indicator from the set of boosting objects;

[0114] A2. Sort each assistance object identifier in the assistance object subset according to the intimacy score between each assistance object identifier in the assistance object subset and the target sharing object identifier, so as to obtain a recommended object identifier list corresponding to the target sharing object identifier.

[0115] In the implementation scenario of this embodiment, the assistance objects in the cache can also be stored based on different intimacy metrics. For example, in the offline scenario, a first intimacy metric determined based on the type of assistance activity, and in the real-time scenario, a second intimacy metric determined based on the assistance time. Therefore, when the intimacy metric is also included in the object recommendation request, after the object recommendation device determines the assistance object set based on the assistance object identifier, it can also determine the assistance object subset corresponding to this intimacy metric based on this intimacy metric, so as to sort each assistance object identifier in the assistance object subset according to the intimacy score between the target sharing object identifier and each assistance object identifier in the assistance object subset, thereby obtaining a recommended object identifier list corresponding to the target sharing object identifier.

[0116] It can be understood that if the intimacy metric in the object recommendation request is the second intimacy metric based on the assistance time, but at this time the activity has just started or the number of assistance object identifiers corresponding to the target sharing object identifier stored in the cache is small, in order to improve the recommendation accuracy, the assistance object subset corresponding to the first intimacy metric can be used for supplementation.

[0117] S204. Push the recommended object identifier list of the target sharing object identifier to the target application.

[0118] In this embodiment, after the object recommendation device determines the recommended object identifier list corresponding to the target sharing object identifier based on the object recommendation request received from the target application, it can push it to the target application for recommendation.

[0119] The object recommendation method provided by the embodiments of this application receives an object recommendation request from a target application, where the object recommendation request includes: a target sharing object identifier. Then, according to the target sharing object identifier, the cache is queried to determine the assistance object identifier set corresponding to the target sharing object identifier. Subsequently, based on the intimacy score between each assistance object identifier in the assistance object identifier set and the target sharing object identifier, each assistance object identifier in the assistance object identifier set is sorted to obtain a recommended object identifier list corresponding to the target sharing object identifier. Finally, the recommended object identifier list of the target sharing object identifier is pushed to the target application. This technical solution can accurately determine the assistance object identifier set corresponding to the target sharing object identifier, sort based on the intimacy score, and improve the recommendation accuracy.

[0120] Optionally, on the basis of the above embodimentFigure 3 This is a schematic flowchart of the second embodiment of the object recommendation method provided by the embodiments of the present application. As Figure 3 shown, the object recommendation method may further include the following steps:

[0121] S301. Receive the assistance relationship data reported by each application and transmit it to the message middleware.

[0122] Among them, the assistance relationship data includes: sharing object identifier, assisted object identifier, application identifier, assistance time, and assistance type.

[0123] Optionally, when the assisted object copies the password text and returns to the application or opens the corresponding applet of the application or other scenarios that can form assistance (for example, after the assistant participates in the group purchase order and reports the assistance relationship data), the application on the assisted object terminal can parse the identifier of the sharing object from the password text copied by the assisted object, and determine parameter information such as the assistance type and assistance time. Subsequently, it can call the collection relationship interface to submit the parameter information such as the sharing object identifier, application identifier, assistance type, and assistance time to the object recommendation device in the form of a hyper text transfer protocol (Http) request or a message queue (MQ).

[0124] It can be understood that in the embodiments of the present application, the http request method means that when the sharing object shares the password text to the assisted object, the assisted object will call the http interface when opening the page, triggering the application to report the assistance relationship data to the object recommendation device. The message queue method means that the assisted object opens the password text and calls the password backend application of the application, triggering the application to report the assistance relationship data to the password backend application, and the password backend application then reports the assistance relationship data to the object recommendation device in the form of MQ.

[0125] Exemplarily, in this embodiment, when the object recommendation device processes the assistance relationship data reported in the Http form, the application account of the assisted object must be in the logged-in state, otherwise this piece of assistance relationship data will be regarded as invalid and discarded. When the object recommendation device obtains the personal identification number (PIN) of the currently logged-in object through the login state of the application, it converts the sharing object identifier into an application account. Correspondingly, the object recommendation device will integrate the relevant parameter information of the assistance relationship data, such as channel information, page information, assistance type information, application identifier, etc. into the assistance relationship data.

[0126] It can be understood that the assistance relationship data reported in the form of MQ has already determined the assistance object identifier. Therefore, there is no step of converting it into an application account in the assistance relationship data. What is reported is the sharing object identifier, that is, the PIN of the sharing object.

[0127] Optionally, in this embodiment, the support relationship data at least includes the sharing object identifier (sharing object PIN), the supporter PIN, the application identifier, the support type, and the support time. Other optional information includes channels (WeChat applet, H5, APP, etc.).

[0128] Furthermore, in this embodiment, since the assistance relationship data reported by the application at different times is unbalanced, in order to avoid the problem of low processing efficiency caused by too large or too small data volume, the object recommendation device can transmit the received assistance relationship data to the message middleware (Kafka message queue) for temporary storage, and then consume the data from the message middleware to improve processing efficiency.

[0129] S302: Obtain assistance relationship data in the message middleware.

[0130] Optionally, in an embodiment of the present application, the message middleware (Kafka queue) stores the assistance relationship data reported by each application, and thus, the object recommendation device can extract and consume the assistance relationship data from the message middleware.

[0131] Exemplarily, in an embodiment of the present application, the analysis and processing of the auxiliary relational data can be divided into two parts, one is offline relational data processing, and the other is real-time relational data processing. Both parts consume data from the Kafka queue, and the data consumed by the two parts are the same and do not affect each other.

[0132] Optionally, offline relationship data processing can generate indicator data for priority recommendation of assistance activity types (hereinafter referred to as offline relationship intimacy indicators), and real-time relationship data processing can generate indicators for priority recommendation of assistance time (hereinafter referred to as real-time relationship intimacy indicators).

[0133] Optionally, both the offline relationship intimacy index and the real-time relationship intimacy index are stored in Redis, and are of the ZSet type in Redis. ZSet is a non-repetitive ordered data set provided in Redis, and the elements in the set include a name and a score.

[0134] Optionally, in this embodiment, the offline relationship intimacy index is stored in the cache in the form of key-value pairs, where the key name (key) is the sharing object identifier, and the key value (value) includes: the helper object identifier and the intimacy score, which can be determined according to the helper type and the actual number of helper times. That is, the key-value of the offline relationship intimacy index is of the ZSet type.

[0135] Optionally, for the offline relationship intimacy index, the stored key is related to the PIN of the sharing object, and the stored key value (value), that is, the element name (name) in the ZSet is the PIN of the helper object, and the score is an 8-digit integer. The first two digits of these 8-digit integers represent the helper type, and the last six digits represent the actual number of helper times. If the number value exceeds 6 digits, it will not increase further. That is, the helper type can be used as the high position of the intimacy score, and the actual number of helper times can be used as the low position of the intimacy score.

[0136] Exemplarily, Table 1 shows the key values (value) of the exemplary offline relationship intimacy index. In Table 1, order represents the serial number, and user01, user04, and user06 in name refer to the helper object identifiers, and the score is the intimacy score between the helper object identifier and the sharing object identifier. For example, 11000358 in the first row is the intimacy score between the sharing object identifier and user01, 11000297 in the second row is the intimacy score between the sharing object identifier and user04, and 10000897 in the third row is the intimacy score between the sharing object identifier and user06.

[0137] Table 1 Key values (value) of the exemplary offline relationship intimacy index

[0138] Order Name score 1 User01 11000358 2 User04 11000297 3 User06 10000897

[0139] Optionally, in this embodiment, the real-time relationship intimacy index is also stored in the cache in the form of key-value pairs, where the key name (key) of the real-time relationship intimacy index includes: the sharing object identifier and the application identifier, and the key value (value) of the real-time relationship intimacy index includes: the helper object identifier and the intimacy score, which is determined according to the number of seconds between the time of the most recent helper and the end time of the activity corresponding to the application identifier and the actual number of helper times.

[0140] Optionally, for the real-time relationship intimacy index, the stored key is related to the sharing object PIN and the boost activity identifier. The name of the element in the ZSet is the boost object PIN, and the score is a 14-digit integer. The first 8 digits of these 14 digits represent the number of seconds between the most recent boost time and the end time of the activity represented by the activity identifier, and the last 6 digits represent the actual number of boosts. If the number of boosts exceeds 6 digits, it will not increase further.

[0141] Exemplarily, Table 2 shows the key values of the exemplary real-time relationship intimacy index. In Table 2, "order" represents the serial number. "user01", "user04", and "user06" in "name" refer to the boost object identifiers, and the score is the intimacy score between the boost object identifier and the sharing object identifier. For example, "11028901 000358" in the first row is the intimacy score between the sharing object identifier and user01, "000297 000781" in the second row is the intimacy score between the sharing object identifier and user04, and "97 000208" in the third row is the intimacy score between the sharing object identifier and user06.

[0142] Key values of the exemplary real-time relationship intimacy index in Table 2

[0143]

[0144]

[0145] As an example, the preset intimacy index in the above object recommendation request is the offline relationship intimacy index.

[0146] Optionally, the object recommendation device can consume the boost relationship data in the message middleware (Kafka) provided by the data platform through the message pipeline, and store the boost relationship data in Hadoop partitioned by the boosted time in units of a preset processing period (e.g., days).

[0147] As another example, the above preset intimacy index is the real-time relationship intimacy index.

[0148] Optionally, in this embodiment, the object recommendation device can consume the boost relationship data in the message middleware (Kafka) through Flink. For the relationship chain data with a specific activity identifier ID, the relationship chain data can be grouped by the sharing object PIN and the boost object PIN, and Flink can calculate the sharing object PIN, the boost object PIN, the most recent boost time, and the number of boosts within a period of time.

[0149] S303. Based on a preset intimacy index, the assistance relationship data is processed to determine the assistance object identifier set corresponding to the sharing object identifier and the intimacy score between the sharing object identifier and the assistance object identifier.

[0150] S304: Store the assisting object identifier set and the intimacy scores between the sharing object identifier and the assisting object identifier into a cache.

[0151] Optionally, the object recommendation device may update the assisting object identifier set corresponding to the shared object in the cache and the intimacy score between the shared object identifier and the assisting object identifier in a corresponding manner based on the composition of the preset intimacy index.

[0152] In a possible design of the embodiment of the present application, when the preset intimacy index is an offline relationship intimacy index, S303 can be implemented by the following steps:

[0153] B1. Determine the incremental relationship data of the database within a preset processing cycle based on the assistance type, assistance time, application identifier and assistance times of the assistance relationship data;

[0154] B2. Determine a set of assisting object identifiers corresponding to the sharing object identifiers according to the sharing object identifiers and assisting object identifiers in the incremental data of the relationship;

[0155] B3. According to the sharing object identifier and the assisting object identifier in the incremental relationship data, query the cache to obtain the existing intimacy score corresponding to the offline relationship intimacy index;

[0156] B4. Determine whether to update the existing intimacy score based on the type of support in the incremental relationship data;

[0157] B5. When the existing intimacy score needs to be updated, the existing intimacy score is updated using the assistance type and assistance times in the incremental data of the relationship.

[0158] Optionally, a scheduled task module is provided in the object recommendation device. Among them, the scheduled task module maintains two scheduled tasks. The first scheduled task can execute Hive SQL based on the preset processing cycle to aggregate the assistance relationship data of the previous preset processing cycle into the relationship incremental data of the previous preset processing cycle by sharing object PIN, assistance object PIN, assistance type, assistance number, etc., and push it to the database. After the first scheduled task is completed, the second scheduled task can update the incremental data in the database to the cache Redis.

[0159] Optionally, in this possible design, the update logic for the offline relationship intimacy index is as follows: The second scheduled task first obtains the existing intimacy score from the cache based on the sharer identifier and the booster identifier, and then determines whether to update the offline relationship intimacy index in the cache based on the existing intimacy score and the relationship incremental data in the database.

[0160] Exemplarily, Table 3 shows the update process of the exemplary offline relationship intimacy index.

[0161] As an example, if the retrieval is empty, that is, there is no existing intimacy score in the cache, the second scheduled task can write the intimacy score determined according to the to-be-updated booster type and the number of boosters in the booster relationship data into the ZSet. As shown in Table 3, when the existing intimacy score between the sharer identifier and the booster identifier User01 is 0, and the newly added intimacy score is 12000300, the final intimacy score is 12000300.

[0162] As another example, if the to-be-updated booster type is less than the first two digits in the existing intimacy score (score), there is no need to update the existing intimacy score; as shown in Table 3, when the existing intimacy score between the sharer identifier and the booster identifier User01 is 12000300, and the newly added intimacy score is 11000100, it is not updated, that is, the final intimacy score is 12000300.

[0163] As still another example, if the to-be-updated booster type is equal to the first two digits in the existing intimacy score (score), the first two digits of the existing intimacy score are not updated, and the to-be-updated number of boosters is directly added up to obtain the updated intimacy score. As shown in Table 3, when the existing intimacy score between the sharer identifier and the booster identifier User01 is 11000200, and the newly added intimacy score is 11000300, the final intimacy score is 11000500.

[0164] As yet another example, if the to-be-updated booster type is greater than the first two digits in the existing intimacy score (score), the existing intimacy score is set to the intimacy score combined by the to-be-updated booster type and the number of boosters. As shown in Table 3, when the existing intimacy score between the sharer identifier and the booster identifier User01 is 11000200, and the newly added intimacy score is 12000100, the final intimacy score is 12000100.

[0165] Table 3 Update process of the exemplary offline relationship intimacy index

[0166] Original value New value Final value User01 0 User01 12000300 User01 12000300 User01 12000300 User01 11000100 User01 12000300 User01 11000200 User01 11000300 User01 11000500 User01 11000200 User01 12000100 User01 12000100

[0167] In another possible design of the embodiment of the present application, when the preset intimacy index is the real-time relationship intimacy index, S303 can be implemented through the following steps:

[0168] C1. Group the assistance relationship data to obtain multiple groups of relationship data, where the sharing object identifier and the assisted object identifier of each group of relationship data are the same;

[0169] C2. Use the stream processing program to calculate the most recent assistance time and the number of assistance times of each group of relationship data within a preset time period;

[0170] C3. Determine the set of assisted object identifiers corresponding to the sharing object identifier according to the sharing object identifier and the assisted object identifier of each group of relationship data;

[0171] C4. Query the cache according to the sharing object identifier and the assisted object identifier in each group of relationship data to obtain the existing intimacy score corresponding to the real-time relationship intimacy index;

[0172] C5. Determine the intimacy score to be updated according to the activity end time, the most recent assistance time and the number of assistance times in each group of relationship data;

[0173] C6. Use the intimacy score to be updated to update the existing intimacy score.

[0174] Optionally, in this embodiment, the object recommendation device can consume the assistance relationship data in Kafka through a stream processing program (for example, Flink) to obtain the assistance relationship data, and then group the assistance relationship data by the sharing object PIN and the assisted object PIN. Flink calculates the sharing object PIN, the assisted exclusive PIN, the most recent assistance time, and the number of assistance times within a period of time.

[0175] Correspondingly, in this possible design, the update logic of the real-time relationship intimacy index is as follows: The stream processing program (for example, Flink) first obtains the existing intimacy score from the cache Redis according to the sharing object identifier and the assisted object identifier, and then calculates the new value of the existing intimacy score according to the assistance time and the number of assistance times carried in the assistance relationship data. Then, based on the existing intimacy score in the cache and the calculated new value, the real-time relationship intimacy index in the cache is updated.

[0176] Table 4 shows the update process of the example real-time relationship intimacy index.

[0177] As an example, if there is no existing intimacy score in the cache, the existing intimacy score in the cache and the calculated new value are directly updated to the final intimacy score. As shown in Table 4, when the existing intimacy score between the sharer identifier and the assisted object identifier User01 is 0 and the newly added intimacy score is 12334455000300, the final intimacy score is 12334455000300.

[0178] As another example, if there is an existing intimacy score in the cache, the time difference in seconds obtained by subtracting the most recent assistance time from the activity end time and the number of assistance times are used to determine the intimacy score to be updated. Then, the first 8 digits are updated to the new time difference in seconds, and the last 6 digits are added with the number of assistance times to obtain the final intimacy score. As shown in Table 4, when the existing intimacy score between the sharer identifier and the assisted object identifier User01 is 12334455000300 and the newly added intimacy score is 12004455000300, the final intimacy score is 12004455000600.

[0179] Update process of the real-time relationship intimacy index shown in Table 4

[0180]

[0181] It can be understood that the data platform in the embodiments of the present application can be replaced by Hadoop and Hive, and when Kafka messages land on Hadoop, it can be replaced by plumber, etc.; and in the process of real-time relationship processing, Flink consuming messages can also be replaced by an ordinary Java application program to consume Kafka messages and update the real-time relationship chain data to Redis. The embodiments of the present application do not limit specific components and will not be elaborated here.

[0182] The object recommendation method provided by the embodiments of the present application receives the assistance relationship data reported by each application and transmits it to the message middleware. Subsequently, the assistance relationship data in the message middleware is obtained. Finally, based on the preset intimacy index, the assistance relationship data is processed to determine the set of assisted object identifiers corresponding to the sharer identifier and the intimacy score between the sharer identifier and the assisted object identifier, and they are stored in the cache. This technical solution can perform multi-dimensional analysis such as offline and real-time on a large amount of assistance relationship data, and can determine relatively accurate offline relationship intimacy indexes and real-time relationship intimacy indexes. It can meet the different requirements of different activity scenarios for the quality of object relationships, and dynamically adjust the object recommendation order in real time to improve the recommendation accuracy in the assistance activity scenario.

[0183] Optionally, on the basis of the above embodiments, Figure 4 It is a schematic diagram of the data flow of the third embodiment of the object recommendation method provided by the embodiments of the present application. AsFigure 4 As shown in the figure, the sharing target terminal shares the assistance link of the application to the assisted target terminal in the form of a password text or a mini program for assistance. When the assisted target opens the link on the assisted target terminal and provides assistance, assistance relationship data can be generated. On the one hand, the application on the assisted target terminal can report the assistance relationship data to the backend application of the password text in the form of MQ, and then transmit it to the message middleware (kafka). On the other hand, the application on the assisted target terminal can directly report the assistance relationship data in the form of http and transmit it to the message middleware (kafka). Finally, the offline storage calculation and the real-time calculation engine respectively consume the assistance relationship data from the message middleware, generate the assistance object relationship list of the sharing object, and store it in the cache, so as to execute object recommendation when there is a recommendation requirement.

[0184] It can be understood that the offline storage calculation can, based on the built-in scheduled task, regularly push the generated assistance object relationship list of the sharing object to the cache.

[0185] For the specific implementation of each process in this embodiment, reference can be made to the descriptions in the above embodiments, and details will not be elaborated here.

[0186] The following is an embodiment of the device of the present application, which can be used to execute the method embodiment of the present application. For the details not disclosed in the embodiment of the device of the present application, reference can be made to the method embodiment of the present application.

[0187] Figure 5 It is a schematic structural diagram of an embodiment of an object recommendation device provided by an embodiment of the present application. This object recommendation device can be integrated in an object recommendation device or implemented by an object recommendation device. Referring to Figure 5 As shown in the figure, this object recommendation device may include:

[0188] A receiving module 501, configured to receive an object recommendation request of a target application, where the object recommendation request includes: a target sharing object identifier;

[0189] A query module 502, configured to query a cache according to the target sharing object identifier to determine a set of assisted object identifiers corresponding to the target sharing object identifier, where the cache stores sets of assisted object identifiers corresponding to multiple sharing object identifiers;

[0190] It can be understood that the query module 502 is configured to parse the object recommendation request received from the target application to determine the target sharing object identifier, application identifier, required index type, intimacy range of the required object, etc. included in the object recommendation request.

[0191] A processing module 503, configured to sort each assistance object identifier in the assistance object identifier set based on the intimacy score between each assistance object identifier in the assistance object identifier set and the target sharing object identifier, so as to obtain a recommended object identifier list corresponding to the target sharing object identifier;

[0192] It can be understood that the processing module 503 includes a real-time processing module and an offline processing module. Both of these modules consume the assistance relationship data to be processed from the message middleware. After processing the assistance relationship data, the real-time processing module directly pushes it to the cache of the query module.

[0193] It can be understood that since the offline processing module cannot immediately push the processed data to the cache of the query module, therefore, the offline processing module is also provided with a timing task, and the offline metric data obtained by the offline processing module is written into the cache of the query module through this timing task.

[0194] A pushing module 504, configured to push the recommended object identifier list of the target sharing object identifier to the target application.

[0195] In a possible design of this embodiment, the object recommendation request further includes: an intimacy metric;

[0196] Correspondingly, the processing module 503 is specifically configured to:

[0197] Determine an assistance object subset corresponding to the intimacy metric from the assistance object set;

[0198] Sort each assistance object identifier in the assistance object subset based on the intimacy score between each assistance object identifier in the assistance object subset and the target sharing object identifier, so as to obtain a recommended object identifier list corresponding to the target sharing object identifier.

[0199] In another possible design of this embodiment, the receiving module 501 is further configured to receive the assistance relationship data reported by each application and transmit it to the message middleware, where the assistance relationship data includes: a sharing object identifier, an assistance object identifier, an application identifier, an assistance time, and an assistance type;

[0200] It can be understood that the receiving module 501 has the meaning of collecting the assistance relationship data from the assistance object client and obtaining the assistance relationship data from other internal applications through the message queue. Both parts of the data will be transmitted to the message middleware (Kafka message queue).

[0201] The processing module 503 is further configured to obtain the assistance relationship data in the message middleware;

[0202] Process the assistance relationship data based on a preset intimacy index to determine the set of assistance object identifiers corresponding to the sharing object identifier and the intimacy score between the sharing object identifier and the assistance object identifier;

[0203] Store the set of assistance object identifiers and the intimacy score between the sharing object identifier and the assistance object identifier in the cache.

[0204] As an example, the preset intimacy index is an offline relationship intimacy index;

[0205] Correspondingly, the processing module 503 is specifically configured to:

[0206] Determine the relationship incremental data in the database within a preset processing period based on the assistance type, assistance time, application identifier, and number of assistance times in the assistance relationship data;

[0207] Determine the set of assistance object identifiers corresponding to the sharing object identifier according to the sharing object identifier and the assistance object identifier in the relationship incremental data;

[0208] Query the cache according to the sharing object identifier and the assistance object identifier in the relationship incremental data to obtain the existing intimacy score corresponding to the offline relationship intimacy index;

[0209] Determine whether the existing intimacy score needs to be updated according to the assistance type in the relationship incremental data;

[0210] When the existing intimacy score needs to be updated, update the existing intimacy score using the assistance type and the number of assistance times in the relationship incremental data.

[0211] Optionally, the key name of the offline relationship intimacy index is the sharing object identifier, and the key value of the offline relationship intimacy index includes: the assistance object identifier and the intimacy score, and the intimacy score is determined according to the assistance type and the actual number of assistance times.

[0212] As another example, the preset intimacy index is a real-time relationship intimacy index;

[0213] Correspondingly, the processing module 503 is specifically configured to:

[0214] Group the assistance relationship data to obtain multiple groups of relationship data, and the sharing object identifier and the assistance object identifier of each group of relationship data are the same;

[0215] Use a stream processing program to calculate the most recent assistance time and the number of assistance times of each group of relationship data within a preset time period;

[0216] Determine the set of assisted object identifiers corresponding to the sharing object identifier according to the sharing object identifier and the assisted object identifier of each group of relationship data;

[0217] Query the cache according to the sharing object identifier and the assisted object identifier in each group of relationship data, and obtain the existing intimacy score corresponding to the real-time relationship intimacy index;

[0218] Determine the intimacy score to be updated according to the activity end time, the most recent assistance time and the number of assistance times in each group of relationship data;

[0219] Update the existing intimacy score by using the intimacy score to be updated.

[0220] Optionally, the key names of the real-time relationship intimacy index include: the sharing object identifier and the application identifier, the key values of the real-time relationship intimacy index include: the assisted object identifier and the intimacy score, and the intimacy score is determined according to the number of seconds between the most recent assistance time and the activity end time corresponding to the application identifier and the actual number of assistance times.

[0221] The device provided in the embodiments of the present application can be used to execute the technical solutions of the above method embodiments, and its implementation principles and technical effects are similar, and will not be described in detail here.

[0222] It should be noted that it should be understood that the division of each module of the above device is only a logical function division. In actual implementation, it can be fully or partially integrated into a physical entity, or physically separated. And these modules can all be implemented in the form of software called by a processing element; they can also all be implemented in the form of hardware; or some modules can be implemented in the form of software called by a processing element, and some modules can be implemented in the form of hardware. In the implementation process, each step of the above method or each of the above modules can be completed by the integrated logic circuit of the hardware in the processor element or the instruction in the form of software.

[0223] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a dedicated computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that the computer can access or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)).

[0224] Figure 6 It is a schematic structural diagram of an object recommendation device embodiment provided by an embodiment of the present application. As Figure 6 shown, the object recommendation device may include: a processor 601 and a memory 602.

[0225] Among them, the memory 602 is used to store a computer program, and the processor 601 is used to execute the computer program to implement the technical solution of the above method embodiment.

[0226] Optionally, the object recommendation device may further include: a communication interface 603 and a system bus 604. The memory 602 and the communication interface 603 are connected to the processor 601 through the system bus 604 and complete communication with each other. The communication interface 603 is used to communicate with other devices.

[0227] The above-mentioned processor 601 can be a general-purpose processor, including a central processing unit CPU, a network processor (NP), etc.; it can also be a digital signal processor DSP, an application specific integrated circuit ASIC, a field programmable gate array FPGA, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0228] The memory 602 may include a random access memory (RAM), and may also include non-volatile memory, such as at least one disk memory.

[0229] The communication interface 603 may be specifically implemented by a transceiver. The system bus 604 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity, only a thick line is used to represent it in the figure, but it does not mean that there is only one bus or one type of bus.

[0230] According to an embodiment of the present application, the present application also provides a computer-readable storage medium, in which computer-executable instructions are stored, and when the computer-executable instructions are executed by a processor, they are used to implement the technical solutions of the above method embodiments.

[0231] According to an embodiment of the present application, the present application also provides a computer program product, including: a computer program, the computer program is stored in a readable storage medium, and when the computer program is executed by a processor, it is used to implement the technical solutions of the above method.

[0232] Those skilled in the art will readily think of other implementations of the present disclosure after considering the specification and practicing the application disclosed herein. The present application is intended to cover any variations, uses, or adaptations of the present disclosure, which follow the general principles of the present disclosure and include common general knowledge or conventional technical means in the technical field not disclosed in the present disclosure. The specification and embodiments are only regarded as exemplary, and the true scope and spirit of the present disclosure are pointed out by the following claims.

[0233] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is only limited by the appended claims.

Claims

1. An object recommendation method, characterized in that, Including: Receiving an object recommendation request of a target application, where the object recommendation request includes: a target sharing object identifier; Querying a cache according to the target sharing object identifier to determine a set of assisting object identifiers corresponding to the target sharing object identifier, and the cache stores sets of assisting object identifiers corresponding to multiple sharing object identifiers; Based on the intimacy scores between each assisting object identifier in the set of assisting object identifiers and the target sharing object identifier, sorting each assisting object identifier in the set of assisting object identifiers to obtain a recommended object identifier list corresponding to the target sharing object identifier; Pushing the recommended object identifier list of the target sharing object identifier to the target application; The method further includes: Obtaining assisting relationship data reported by each application, where the assisting relationship data includes: a sharing object identifier, an assisting object identifier, an application identifier, an assisting time, and an assisting type; When the preset intimacy metric is an offline relationship intimacy metric, determining relationship increment data in a preset processing period of the database based on the assisting type, assisting time, application identifier, and assisting times of the assisting relationship data, and determining a set of assisting object identifiers corresponding to the sharing object identifier according to the sharing object identifier and the assisting object identifier in the relationship increment data; Storing the set of assisting object identifiers into the cache.

2. The method according to claim 1, wherein The object recommendation request further includes: an intimacy metric; Correspondingly, the step of sorting each assisting object identifier in the set of assisting object identifiers based on the intimacy scores between each assisting object identifier in the set of assisting object identifiers and the target sharing object identifier to obtain a recommended object identifier list corresponding to the target sharing object identifier includes: Determining a subset of assisting objects corresponding to the intimacy metric from the set of assisting objects; Based on the intimacy scores between each assisting object identifier in the subset of assisting objects and the target sharing object identifier, sorting each assisting object identifier in the subset of assisting objects to obtain a recommended object identifier list corresponding to the target sharing object identifier.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Receiving assisting relationship data reported by each application and transmitting it to a message middleware; Obtaining the assisting relationship data in the message middleware; Processing the assisting relationship data based on a preset intimacy metric to determine the intimacy score between the sharing object identifier and the assisting object identifier; Storing the intimacy score between the sharing object identifier and the assisting object identifier into the cache.

4. The method according to claim 3, wherein The preset intimacy metric is an offline relationship intimacy metric; Correspondingly, the step of processing the assisting relationship data based on a preset intimacy metric to determine the intimacy score between the sharing object identifier and the assisting object identifier includes: Querying the cache according to the sharing object identifier and the assisting object identifier in the relationship increment data to obtain the existing intimacy score corresponding to the offline relationship intimacy metric; Determining whether to update the existing intimacy score according to the assisting type in the relationship increment data; When it is necessary to update the existing intimacy score, use the assistance type and the number of assistance times in the relationship increment data to update the existing intimacy score.

5. The method according to claim 4, wherein The key name of the offline relationship intimacy index is the sharing object identifier, and the key value of the offline relationship intimacy index includes: the assisted object identifier and the intimacy score, and the intimacy score is determined according to the assistance type and the actual number of assistance times.

6. The method according to claim 3, characterized in that The preset intimacy index is a real-time relationship intimacy index; Correspondingly, based on the preset intimacy index, processing the assistance relationship data to determine the intimacy score between the sharing object identifier and the assisted object identifier includes: Group the assistance relationship data to obtain multiple groups of relationship data, and the sharing object identifier and the assisted object identifier of each group of relationship data are the same; Use a stream processing program to calculate the most recent assistance time and the number of assistance times of each group of relationship data within a preset time period; According to the sharing object identifier and the assisted object identifier of each group of relationship data, determine the set of assisted object identifiers corresponding to the sharing object identifier; According to the sharing object identifier and the assisted object identifier in each group of relationship data, query the cache to obtain the existing intimacy score corresponding to the real-time relationship intimacy index; Determine the intimacy score to be updated according to the activity end time, the most recent assistance time and the number of assistance times in each group of relationship data; Use the intimacy score to be updated to update the existing intimacy score.

7. The method according to claim 6, wherein The key name of the real-time relationship intimacy index includes: the sharing object identifier and the application identifier, and the key value of the real-time relationship intimacy index includes: the assisted object identifier and the intimacy score, and the intimacy score is determined according to the number of seconds between the most recent assistance time and the activity end time corresponding to the application identifier and the actual number of assistance times.

8. An object recommendation device, characterized in that, including: A receiving module for receiving an object recommendation request of a target application, where the object recommendation request includes: a target sharing object identifier; A query module for querying a cache according to the target sharing object identifier to determine a set of assisted object identifiers corresponding to the target sharing object identifier, and the cache stores sets of assisted object identifiers corresponding to multiple sharing object identifiers; A processing module for sorting each assisted object identifier in the set of assisted object identifiers based on the intimacy score between each assisted object identifier in the set of assisted object identifiers and the target sharing object identifier to obtain a recommended object identifier list corresponding to the target sharing object identifier; A pushing module for pushing the recommended object identifier list of the target sharing object identifier to the target application; The processing module is further configured to obtain the assistance relationship data reported by each application, where the assistance relationship data includes: a sharing object identifier, an assisted object identifier, an application identifier, an assistance time, and an assistance type; When the preset intimacy index is the offline relationship intimacy index, based on the type of assistance, assistance time, application identifier, and number of assistance times in the assistance relationship data, determine the relationship increment data in the database within the preset processing cycle, and determine the set of assistance object identifiers corresponding to the sharing object identifier according to the sharing object identifier and assistance object identifier in the relationship increment data; Store the set of assistance object identifiers in the cache.

9. An object recommendation device, characterized in that, It includes a processor, a memory, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the method described in any one of claims 1-7 above is implemented.

10. A computer-readable storage medium, characterized in that, Computer-executable instructions are stored in the computer-readable storage medium, and when the computer-executable instructions are executed by the processor, they are used to implement the method described in any one of claims 1-7.

11. A computer program product, comprising: A computer program, characterized in that when the computer program is executed by a processor, it is used to implement the method described in any one of claims 1-7.

Citation Information

Patent Citations

  • Information sharing processing method and device and computer readable storage medium

    CN109245989A