Object Recommendation Method, Apparatus, Electronic Device, and Storage Medium

Through blockchain technology, the user behavior data is stored and processed, combined with the recommendation algorithm of the implicit factor model, the information overload problem is solved and efficient and safe object recommendation is achieved.

CN114398553BActive Publication Date: 2025-06-03BEIJING BOE TECH DEV CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210046031.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-14
Publication Date
2025-06-03
Estimated Expiration
2042-01-14

AI Technical Summary

Technical Problem

Information overload makes it difficult for users to efficiently screen and integrate required information on the Internet, and it is difficult for existing technology to effectively use user behavior data for object recommendations.

Method used

Through the blockchain network, the target object is generated and recommended through smart contracts and distributed node consensus algorithms, and combined with the recommendation algorithm based on the hidden factor model, the target object is determined.

Benefits of technology

It improves the accuracy and efficiency of object recommendations, ensures data security and traceability, and enhances the credibility and user participation of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114398553B_ABST
    Figure CN114398553B_ABST
Patent Text Reader

Abstract

The present disclosure provides an object recommendation method, apparatus, electronic device, and storage medium. The method includes: in response to receiving target user behavior data of a target user from a target client, determining a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users; sending the target object to the target client for recommending the target object to the target user, wherein each candidate user behavior data is stored in a predetermined blockchain, each candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes in a blockchain network, and each candidate user behavior data is used to characterize the preference degree of a candidate user for at least one candidate object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the fields of blockchain and artificial intelligence technologies, and more particularly, to an object recommendation method, apparatus, electronic device, and storage medium. Background Art

[0002] With the development of science and technology, the scale and coverage of the Internet are getting larger and larger, and the amount of information data generated by it shows an explosive growth. Excessive information forces users to screen information heavily when surfing the Internet, spending time on information filtering and integration. Information overload is one of the adverse effects brought by information abundance in the information age. To improve the information utilization efficiency, an object recommendation method can be used to achieve information filtering. Summary of the Invention

[0003] In view of this, the present disclosure provides an object recommendation method, apparatus, electronic device, and storage medium.

[0004] One aspect of the present disclosure provides an object recommendation method, including: in response to receiving target user behavior data of a target user from a target client, determining a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users; and sending the target object to the target client for recommending the target object to the target user, wherein each of the candidate user behavior data is stored in a predetermined blockchain, each of the candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes in a blockchain network, and each of the candidate user behavior data is used to characterize the preference degree of a candidate user for at least one candidate object.

[0005] Another aspect of the present disclosure provides an object recommendation method, which is applied to a blockchain network. The blockchain network includes multiple blockchain nodes, and the multiple blockchain nodes include blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client. The method includes: for each blockchain node among the multiple blockchain nodes, in response to receiving at least one data on-chain request of a candidate user from the client corresponding to the blockchain node, parsing the at least one data on-chain request to obtain candidate user behavior data corresponding to the at least one candidate user; processing the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data; and storing the at least one block in a predetermined blockchain, so that the server sends a target object recommended to the target user to the target client, where the target object is determined by the server according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and the target user behavior data is the user behavior data of the target user received by the server in response to receiving from the target client.

[0006] Another aspect of the present disclosure provides an object recommendation method, including: for the clients corresponding to multiple blockchain nodes in a blockchain network, in response to detecting that a data on-chain operation for at least one candidate user corresponding to the client is triggered, obtaining candidate user behavior data corresponding to the at least one candidate user; generating a data on-chain request corresponding to the at least one candidate user according to the candidate user behavior data corresponding to the at least one candidate user; and sending the at least one data on-chain request to the blockchain node corresponding to the client, so that the blockchain node uses the at least one data on-chain request to generate a block corresponding to the at least one candidate user behavior data, and stores the at least one block in a predetermined blockchain, so that the server sends a target object recommended to the target user to the target client, where the target object is determined by the server according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and the target user behavior data is the user behavior data of the target user received by the server in response to receiving from the target client.

[0007] According to another aspect of the present disclosure, an object recommendation device is provided, including: a first determination module configured to determine a target object according to the target user behavior data received from a target client of a target user and at least one candidate user behavior data corresponding to a plurality of candidate users; and a first sending module configured to send the target object to the target client so as to recommend the target object to the target user, wherein each of the candidate user behavior data is stored in a predetermined blockchain, and each of the candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes in the blockchain network, and each of the candidate user behavior data is used to characterize the preference degree of the candidate user for at least one candidate object.

[0008] According to another aspect of the present disclosure, an object recommendation device is provided, which is arranged in a blockchain network. The blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes include blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client; the device includes: a first obtaining module configured to, for each blockchain node among the plurality of blockchain nodes, in response to receiving a data uploading request of at least one candidate user from a client corresponding to the blockchain node, parse the at least one data uploading request to obtain candidate user behavior data corresponding to the at least one candidate user; a first generating module configured to process the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data; and a first storage module configured to store the at least one block in a predetermined blockchain so that the server sends a target object recommended to the target user to the target client, wherein the target object is determined by the server according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of the candidate users, and the target user behavior data is the user behavior data of the target user received by the server in response to receiving from the target client.

[0009] Another aspect of the present disclosure provides an object recommendation device, including: a second acquisition module configured to, for clients corresponding to multiple blockchain nodes in a blockchain network, in response to detecting that a data uploading operation for at least one candidate user corresponding to the client is triggered, obtain candidate user behavior data corresponding to the at least one candidate user; a second generation module configured to generate a data uploading request corresponding to the at least one candidate user according to the candidate user behavior data corresponding to the at least one candidate user; and a second sending module configured to send at least one of the data uploading requests to the blockchain node corresponding to the client, so that the blockchain node uses at least one of the data uploading requests to generate a block corresponding to at least one of the candidate user behavior data, and stores at least one of the blocks in a predetermined blockchain, so that the server sends a target object recommended for a target user to the target client, where the target object is determined by the server according to target user behavior data and at least one candidate user behavior vector corresponding to multiple candidate users, and the target user behavior data is the user behavior data of the target user received by the server in response to receiving from the target client.

[0010] Another aspect of the present disclosure provides an electronic device, including: one or more processors; a memory configured to store one or more programs, where, when the one or more programs are executed by the one or more processors, the one or more processors implement the method of the present disclosure as described above.

[0011] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the method of the present disclosure as described above when executed.

[0012] Another aspect of the present disclosure provides a computer program product, which includes computer-executable instructions, and the instructions are used to implement the method of the present disclosure as described above when executed. Description of the Drawings

[0013] Through the following description of the embodiments of the present disclosure with reference to the drawings, the above and other objects, features and advantages of the present disclosure will become clearer. In the drawings:

[0014] Figure 1 Schematically shows an exemplary system architecture to which the object recommendation method according to an embodiment of the present disclosure can be applied;

[0015] Figure 2 Schematically shows a flowchart of the object recommendation method according to an embodiment of the present disclosure;

[0016] Figure 3Schematically shows a flowchart for determining a target object based on target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users;

[0017] Figure 4 Schematically shows a flowchart for determining a target object based on target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users according to another embodiment of the present disclosure;

[0018] Figure 5 Schematically shows a flowchart of an object recommendation method according to another embodiment of the present disclosure;

[0019] Figure 6 Schematically shows a flowchart of an object recommendation method according to another embodiment of the present disclosure;

[0020] Figure 7 Schematically shows an example diagram of an object recommendation process according to an embodiment of the present disclosure;

[0021] Figure 8 Schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure;

[0022] Figure 9 Schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure;

[0023] Figure 10 Schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure; and

[0024] Figure 11 Schematically shows a block diagram of an electronic device suitable for implementing an object recommendation method according to an embodiment of the present disclosure. Detailed implementation manners

[0025] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the following detailed description, for the sake of explanation, many specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. However, it is obvious that one or more embodiments can be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily obscuring the concepts of the present disclosure.

[0026] The terms used herein are merely for describing specific embodiments and are not intended to limit the present disclosure. The terms "including", "comprising", etc. used herein indicate the presence of the described features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0027] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those of ordinary skill in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.

[0028] In cases where expressions such as "at least one of A, B, and C, etc." are used, generally, it should be interpreted according to the meaning that those of ordinary skill in the art usually understand such expressions (for example, "a system having at least one of A, B, and C" should include, but not be limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). In cases where expressions such as "at least one of A, B, or C, etc." are used, generally, it should be interpreted according to the meaning that those of ordinary skill in the art usually understand such expressions (for example, "a system having at least one of A, B, or C" should include, but not be limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.).

[0029] Embodiments of the present disclosure provide an object recommendation scheme based on blockchain. In response to receiving target user behavior data of a target user from a target client, a target object is determined according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users. The target object is sent to the target client for recommending the target object to the target user. Each candidate user behavior data is stored in a predetermined blockchain. Each candidate user behavior data corresponds to at least one blockchain node included in a plurality of blockchain nodes in a blockchain network. Each candidate user behavior data is used to characterize the preference degree of a candidate user for at least one candidate.

[0030] For ease of understanding, the relevant concepts involved in the embodiments of the present disclosure are first described below.

[0031] Blockchain is a solution that uses a block-chain data structure to verify and store data, uses a distributed node consensus algorithm to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses smart contracts composed of automated script codes to collectively maintain a reliable database. Therefore, blockchain has basic characteristics such as openness, decentralization, information sharing, tamper-proofing, and traceability. Blockchain can replace the dependence on a central server with blocks.

[0032] A block can be a container data structure that aggregates data and is included in a blockchain. A block can include a block header and a block body. The block header can include a version, a timestamp, a parent block hash value, a nonce, a difficulty coefficient, and a Merkle root. The timestamp can characterize the moment when the block is created. The parent block hash value can be used to reference the previous block. The block body can include transaction details, a transaction counter, and a block size.

[0033] A smart contract is executable code stored in a blockchain. The executable code determines the execution conditions and business processing logic of the smart contract, that is, determines the conditions for starting the smart contract and how to process the received business processing requests after the smart contract is started. After being stored in the blockchain, it is difficult to edit or modify a smart contract. For example, the execution operation of a smart contract can be triggered according to an event. For example, the execution of a smart contract will be recorded as a transaction on the blockchain and recorded in the blockchain.

[0034] According to the network scope, blockchains can be divided into public blockchains, private blockchains, consortium blockchains, and hybrid blockchains. A consortium blockchain refers to a blockchain jointly participated in and managed by several institutions, and each institution can run at least one blockchain node. The data of a consortium blockchain only allows the institutions in the consortium blockchain system to read, write, and transact, and realizes an identity management system based on PKI (Public Key Infrastructure), the initiation of transactions or proposals through digital certificates, and reaches a consensus through the joint signature verification of participants. In the embodiments of the present disclosure, the type of blockchain can be determined according to actual business needs, which is not limited herein. For example, the blockchain network is a consortium blockchain.

[0035] A blockchain network can include multiple blockchain nodes. Blockchain nodes communicate through P2P (Peer to Peer). A blockchain node can be either a client or a server, that is, a blockchain node can request services from other blockchain nodes and can also provide services for other blockchain nodes or external applications.

[0036] Figure 1 Schematically shows an exemplary system architecture to which the object recommendation method according to the embodiments of the present disclosure can be applied. It should be noted that Figure 1 What is shown is only an example of the system architecture to which the embodiments of the present disclosure can be applied, to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.

[0037] Such as Figure 1As shown, the system architecture 100 according to this embodiment may include a server 101, a blockchain network 102, and a client network 103. The blockchain network 102 may include 4 blockchain nodes, namely, blockchain node 102_1, blockchain node 102_2, blockchain node 102_3, and blockchain node 102_4. The client network 103 may include 4 clients, namely, client 103_1, client 103_2, client 103_3, and client 103_4.

[0038] The 4 blockchain nodes in the blockchain network 102 are pairwise communicatively connected. The blockchain node corresponding to client 103_1 is blockchain node 102_1. The blockchain node corresponding to client 103_2 is blockchain node 102_2. The blockchain node corresponding to client 103_3 is blockchain node 102_3. The blockchain node corresponding to client 103_4 is blockchain node 103_4.

[0039] The server 101 can be communicatively connected to the blockchain network 102 and the client network 103 respectively.

[0040] The blockchain node can be a client or a server. The client can be various electronic devices with a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop computers, and desktop computers, etc. The server can be various types of servers providing various services. For example, the server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, solving the defects of difficult management and weak business scalability in traditional physical hosts and VPS services (Virtual Private Server, VPS). The server can also be an edge server. The server can also be a server of a distributed system, or a server combined with a blockchain.

[0041] Clients 103_1, 103_2, 103_3, and 103_4 can be various electronic devices with a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop computers, and desktop computers, etc.

[0042] For example, in response to detecting that the data uploading operation for at least one candidate user corresponding to client 103_1 is triggered, the candidate user behavior data corresponding to the at least one candidate user is obtained. According to the candidate user behavior data corresponding to each of the at least one candidate user, a data uploading request corresponding to each of the at least one candidate user is generated.

[0043] The blockchain node 102_1, in response to receiving a data on-chain request of at least one candidate user from the client 103_1, parses the at least one data on-chain request to obtain candidate user behavior data corresponding to the at least one candidate user. Processes the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data. Stores the at least one block in a predetermined blockchain.

[0044] The server 101, in response to receiving target user behavior data of a target user from the target client 103_2, determines a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users. Sends the target object to the target client 103_2 for recommending the target object to the target user.

[0045] Figure 2 Schematically shows a flowchart of an object recommendation method according to an embodiment of the present disclosure.

[0046] As Figure 2 shown, the method 200 includes operations S210 to S220.

[0047] In operation S210, in response to receiving target user behavior data of a target user from a target client, a target object is determined according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.

[0048] In operation S220, the target object is sent to the target client for recommending the target object to the target user.

[0049] According to an embodiment of the present disclosure, each candidate user behavior data can be stored in a predetermined blockchain. Each candidate user behavior data can correspond to at least one blockchain node among a plurality of blockchain nodes in a blockchain network. Each candidate user behavior data can be used to characterize the preference degree of a candidate user for at least one candidate object.

[0050] According to embodiments of the present disclosure, clients can be divided into different types according to different classification perspectives. For example, according to the service functions provided by the clients, the clients can be divided into personal clients and service clients. A personal client can refer to a client that a user uses to consume using the functions provided by the client. A service client can refer to a client that supports a user to perform transaction services. According to the development framework of the clients, the clients can be divided into program clients and web clients. A program client can refer to a client that loads an application (APP). A web client can refer to a Web client. A Web client can include a Web browser. According to whether a user has performed a registration operation, the clients can be divided into registered clients and unregistered clients. A registered client can refer to a client in which a user has performed a registration operation during the process of using at least one of the functions provided by the client itself and the functions provided by the applications loaded on the client. An unregistered client can refer to a client in which a user has not performed a registration operation during the process of using the functions provided by the client itself and the functions provided by the applications loaded on the client. A program client can be a personal client, a service client, a registered client, or an unregistered client. A web client can be a personal client, a service client, a registered client, or an unregistered client.

[0051] According to embodiments of the present disclosure, a target user can refer to a user who needs object recommendation. The target user has target user behavior data corresponding to the target user. A candidate user can refer to a user who participates in the operation of determining a target object. Each candidate user can have at least one candidate user behavior data corresponding to the candidate user. Each candidate user can be associated with the candidate user behavior data corresponding to the candidate user. The number of candidate users participating in the operation of determining a target object can include multiple. The candidate user behavior data of each candidate user can include at least one.

[0052] According to embodiments of the present disclosure, both the candidate user behavior data and the target user behavior data can include at least one dimension. The number of dimensions included in the candidate user behavior data and the target user behavior data can be the same. Each dimension can correspond to a candidate object. The candidate user behavior data can include the user behavior data of at least one candidate object. One or more dimensions in the candidate user behavior data and the target user behavior data may be null values. That is, the user behavior data of a candidate user corresponding to the candidate user behavior data for one or more candidate objects has not been obtained.

[0053] According to an embodiment of the present disclosure, the target user behavior data may include user behavior data of at least one candidate object. The candidate user behavior data may be used to characterize the preference degree of the candidate user for at least one candidate object. The target user behavior data may be used to characterize the preference degree of the target user for at least one candidate object. The preference degree may be characterized by an evaluation value. For example, the evaluation value may be a non - negative number greater than or equal to 0 and less than or equal to 1.

[0054] According to an embodiment of the present disclosure, at least one candidate object may include at least one of the following: user - related object, item - related object, and client - related object. The user - related object may include at least one of the following: user attribute information, user social information, and user credit information. The item - related object may include at least one of the following: item attribute information and item function information. The client - related object may include at least one of the following: client attribute information, client function information, client credit information, client user information, and client media information.

[0055] According to an embodiment of the present disclosure, the user attribute information may include at least one of the following: user identification information and user auxiliary information. The user identification information may include at least one of the following: user name, user ID number, and IP (Internet Protocol Address) address. The user auxiliary information may include current location information, user gender, user native place, user age, user weight, birthday constellation, user specialty, and user's frequent activity place. The user interaction information may include at least one of the following: user browsing record, user order record, and user social information. The user social information may include at least one of the following: following, rewarding, commenting, bullet chatting, liking, collecting, sharing, and forwarding. The user credit information may be characterized by the user's credit rating.

[0056] According to an embodiment of the present disclosure, the item attribute information may include at least one of the following: item identification information and item auxiliary information. The item identification information may include at least one of the following: item name and item barcode. The item auxiliary information may include at least one of the following: item category, item price, item price, item ingredients, item standard number, item manufacturer, item origin, item sales place, item production date, and item shelf life. The item function information may refer to the functions that the item has. For example, the item function information includes at least one of the following: the item has native functions, the item has asset - supporting functions, and the item has non - fungible functions.

[0057] According to an embodiment of the present disclosure, the client attribute information may include client identification information. The client identification information may include the client name, the MAC (Media Access Control) address of the client, and the IP address of the client. The client function information may refer to the functions that the client can provide. For example, the client function information includes at least one of the following: the client emphasizes native functions, the client emphasizes asset support functions, and the client emphasizes non-fungible functions. The client credit information may be characterized by the credit rating of the client. The client user information may refer to the information related to the user who uses the client. The client user information may include at least one of the following: the user group of the client, the usage frequency of the client, and the usage time period of the client. The client media information may refer to the media information related to the client. The client media information may include at least one of the following: news type, news keywords, and the number of news views.

[0058] According to an embodiment of the present disclosure, according to whether the data can be used for transactionalization, the user behavior data can be divided into transactionable data and non-transactionable data. Transactionable data may refer to the data that requires user authorization to be used for participating in object recommendation. Non-transactionable data may refer to the data that can be used for participating in object recommendation without user authorization. For example, transactionable data may include confidential data.

[0059] According to an embodiment of the present disclosure, the transactionable data can be divided into multiple transaction levels according to the usage rights of the transactionable data. That is, the transactionable data may include multiple transaction levels. Each transactionable data may have a transaction level corresponding to the transactionable data. Different transaction levels have different usage rights. For example, if the transaction level of the transactionable data is higher, the usage right of the transactionable data is greater.

[0060] For example, tradable data includes four tradable levels, namely, the first tradable level, the second tradable level, the third tradable level, and the fourth tradable level. The usage permissions for the first tradable level, the second tradable level, the third tradable level, and the fourth tradable level increase in sequence. If the tradable level of the tradable data is the first tradable level, the user may have the usage permission to use at least one of the user attribute information, item attribute information, and client attribute information included in the tradable data. If the tradable level of the tradable data is the second tradable level, on the basis of having the usage permission of the first tradable level, the user may also have the usage permission to use at least one of the user social information, client function information, and client media information. If the tradable level of the tradable data is the third tradable level, on the basis of having the usage permissions of the first tradable level and the second tradable level, the user may also have the usage permission to use at least one of the user credit information and client credit information. If the tradable level of the tradable data is the fourth tradable level, on the basis of having the usage permissions of the first tradable level, the second tradable level, and the third tradable level, the user may also have the usage permission to use the client user information.

[0061] According to an embodiment of the present disclosure, the tradable data may include at least one of the following: personal tradable data and non-personal tradable data.

[0062] According to an embodiment of the present disclosure, the personal tradable data may refer to the tradable data of the user himself / herself. The non-personal tradable data may refer to the tradable data of other users. The other users may include users having an associated relationship with the user. The personal tradable data may include at least one tradable level. The non-personal tradable data may include at least one tradable level. The relationship between the tradable levels of the personal tradable data and the non-personal tradable data may be configured according to actual business requirements and is not limited herein. For example, the lowest tradable level of the personal tradable data may be higher than the highest tradable level of the non-personal tradable data. Alternatively, the highest tradable level of the personal tradable data may be lower than the lowest tradable level of the non-personal tradable data. Alternatively, some tradable levels of the personal tradable data may be higher than some tradable levels of the non-personal tradable data.

[0063] According to an embodiment of the present disclosure, if the user behavior data is target user behavior data, the tradable data included in the target user behavior data may be referred to as target tradable data. The target tradable data may refer to the data that can be used to participate in object recommendation only after being authorized by the target user. The target tradable data may include multiple tradable levels. The target tradable data may include at least one of the following: target personal tradable data and target non-personal tradable data. If the user behavior data is candidate user behavior data, the tradable data included in the candidate user behavior data may be referred to as candidate tradable data. The candidate tradable data may refer to the data that can be used to participate in object recommendation only after being authorized by the candidate user. The candidate tradable data may include multiple tradable levels. The candidate tradable data may include at least one of the following: candidate personal tradable data and candidate non-personal tradable data.

[0064] According to an embodiment of the present disclosure, users may be divided into registered users and unregistered users according to whether they have performed a registration operation. A registered user may refer to a user who has performed a registration operation. An unregistered user may refer to a user who has not performed a registration operation. Registered users may include anonymous registered users and non-anonymous registered users. An anonymous registered user may refer to a user who has not used real user information to perform the registration operation. A non-anonymous registered user may refer to a user who has used real user information to perform the registration operation.

[0065] According to an embodiment of the present disclosure, one of the candidate user and the target user may include an unregistered user. That is, the candidate user may include an unregistered user. The target user may include an unregistered user. Both the candidate user and the target user may include an unregistered user. In addition, the candidate user may further include a registered user. The target user may further include a registered user.

[0066] According to an embodiment of the present disclosure, a predetermined blockchain may store at least one candidate user behavior data of each of multiple candidate users. The predetermined blockchain may be obtained by processing the candidate user behavior data of the candidate users received by each of the multiple blockchain nodes included in the blockchain. Each candidate user behavior data may correspond to at least one of the multiple blockchain nodes. That is, each candidate user behavior data may be stored in the predetermined blockchain by at least one of the blockchain nodes. The target user behavior data may be stored in the predetermined blockchain. That is, the blockchain node corresponding to the target client may store the target user behavior data in response to receiving a data on-chain request of the target user from the target client.

[0067] According to an embodiment of the present disclosure, the server may receive target user behavior data from a target client. For example, the server may send an executable file to the target client so that the target client can call the executable file and use the executable file to obtain the target user behavior data of the target user in response to detecting that a data uploading operation of the target user behavior data for the target user is triggered. The executable file may be determined by the server according to a data embedding strategy. The data embedding strategy may refer to a strategy for collecting user behavior data. The executable file may include routines required for collecting user behavior data. The file format of the executable file may include JSON (JavaScript Object Notation).

[0068] For example, the target client may be a target web browser. The server sends an executable file to the target web browser. The target web browser may store the executable file locally. For example, the target web browser may store the executable file in the browser cache and a target folder corresponding to the target web browser. The target web browser may detect whether a data uploading operation of the target user behavior data for the target user is triggered. For example, whether the data uploading operation is triggered may include whether a determination control for consenting to the target authorization protocol is triggered. The target authorization protocol may be a protocol for exchanging data for object recommendations. The target authorization protocol may be obtained through a target plugin. The target plugin may be deployed in the target web browser. If the target web browser detects that the determination control for consenting to the target authorization protocol is triggered, it may call the executable file and use the executable file to obtain the target user behavior data.

[0069] According to an embodiment of the present disclosure, the routines included in the executable file may include a text recognition model. The text recognition model may be obtained by training a predetermined neural network model using training samples. The routines may include variable names. For example, username / password / history / time. Using the executable file to obtain the target user behavior data of the target user may include: determining, using the variable names in the routines included in the executable file, that there is predetermined data related to the target user behavior data in the data corresponding to the IP address of the browser. For example, the predetermined data includes data related to a predetermined page. The predetermined page may include a shopping page. Obtaining the target user behavior data using the text recognition model in the routines included in the executable file. Packing the target user behavior data using the executable file to obtain a target data packet. The target web browser sends the target data packet including the target user behavior data to the server.

[0070] According to an embodiment of the present disclosure, when the server obtains the target user behavior data, it may determine a target object from at least one candidate object according to the target user behavior data and at least one candidate user behavior data corresponding to each of the multiple candidate users. For example, based on a user recommendation algorithm, a target object may be determined from at least one candidate object according to the target user behavior data and at least one candidate user behavior data corresponding to each of the multiple candidate users.

[0071] According to an embodiment of the present disclosure, determining a target object from at least one candidate object according to the target user behavior data and at least one candidate user behavior data corresponding to each of the multiple candidate users may include: processing the target user behavior data to obtain first user behavior data; processing at least one candidate user behavior data corresponding to each of the multiple candidate users to obtain at least one second user behavior data corresponding to each of the multiple candidate users; and determining a target object from at least one candidate object according to the first user behavior data and at least one second user behavior data corresponding to each of the multiple candidate users.

[0072] According to an embodiment of the present disclosure, processing the target user behavior data to obtain first user behavior data may include: determining first user behavior data corresponding to a predetermined dimension from the target user behavior data. The predetermined dimension may include one or more dimensions. The predetermined dimension may be configured according to actual business requirements and is not limited herein. Alternatively, the target user behavior data is normalized to obtain first user behavior data. Alternatively, the target user behavior data is vectorized to obtain a target user behavior vector, and the target user behavior vector is determined as the first user behavior data.

[0073] According to an embodiment of the present disclosure, processing at least one candidate user behavior data corresponding to each of multiple candidate users to obtain at least one second user behavior data corresponding to each of the multiple candidate users may include: for each candidate user behavior data, determining second user behavior data corresponding to a predetermined dimension from the candidate user behavior data. Alternatively, performing normalization processing on at least one candidate user behavior data corresponding to each of the multiple candidate users to obtain at least one second user behavior data corresponding to each of the multiple candidate users. Alternatively, performing vectorization processing on each candidate user behavior data to obtain each candidate user behavior vector. Determining each candidate user behavior vector as each second user behavior data. According to an embodiment of the present disclosure, the server determines a target object for recommending to the target user based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. Each candidate user behavior data is stored in a predetermined blockchain, and each candidate user behavior data corresponds to at least one blockchain node among multiple blockchain nodes included in the blockchain network, realizing object recommendation using traceable and highly credible data obtained by means of multi-source on-chain, and improving the accuracy of object recommendation.

[0074] According to an embodiment of the present disclosure, the target user behavior data may include target tradable data. The target tradable data may be stored in the predetermined blockchain. The blockchain node corresponding to the target client stores the target tradable data in response to receiving a data on-chain request of the target user from the target client.

[0075] For the description of the target tradable data according to an embodiment of the present disclosure, reference may be made to the relevant part above, and details are not described herein again.

[0076] According to an embodiment of the present disclosure, at least one candidate object corresponding to the candidate user behavior data includes at least one of the following: client attribute information, client function information, and client credit information of the client corresponding to the candidate user behavior data, and item attribute information of the item corresponding to the candidate user behavior data.

[0077] For the description of at least one candidate corresponding to the candidate user behavior data according to an embodiment of the present disclosure, reference may be made to the relevant part above, and details are not described herein again.

[0078] According to an embodiment of the present disclosure, the target object may include multiple candidate objects.

[0079] According to an embodiment of the present disclosure, the target user can determine "exchanging tradable data for the recommended target object" at one time, and the server can feedback the required recommended target object at one time, improving the processing efficiency of object recommendation.

[0080] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0081] Generate an object recommendation graph based on the target objects corresponding to respective multiple time periods. Send the object recommendation graph to a target client so as to recommend the object recommendation graph to a target user.

[0082] According to an embodiment of the present disclosure, for each of the multiple time periods, the object recommendation method described in the embodiments of the present disclosure can be used to determine the target object corresponding to that time period, whereby the target objects corresponding to respective multiple time periods can be obtained.

[0083] According to an embodiment of the present disclosure, after obtaining the target objects corresponding to respective multiple time periods, an object recommendation graph can be generated based on the target objects of respective multiple time periods. The object recommendation graph can be used to represent the association relationship between the target objects and the time periods.

[0084] According to an embodiment of the present disclosure, the server can send the object recommendation graph to a target client so that the target user can obtain the process of change in the user's preferences based on the object recommendation graph.

[0085] According to an embodiment of the present disclosure, there can be multiple target users.

[0086] According to an embodiment of the present disclosure, operation S210 may include the following operations.

[0087] In response to receiving the target user behavior data of multiple target users from at least one target client, batch process the multiple target behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and determine the target object of each of the multiple target users;

[0088] According to an embodiment of the present disclosure, operation S220 may include the following operations.

[0089] Send the target objects of each of the multiple target users to at least one target client so as to recommend the respective target objects to the multiple target users.

[0090] According to an embodiment of the present disclosure, in the case where there are multiple target users, the target objects for each of the multiple target users can be batch processed. Each target user can have target user behavior data corresponding to that target user and at least one candidate user behavior data corresponding to multiple candidate users. The multiple target users can send their respective target user behavior data to the server through the same or different target clients.

[0091] According to an embodiment of the present disclosure, the server may, in response to receiving the target user behavior data of multiple target users from at least one target client, batch process the user behavior data sets corresponding to the multiple target users respectively to determine the target objects of the multiple target users respectively. The user behavior data set corresponding to each target user may include the target user behavior data corresponding to each target user and at least one candidate user behavior data of multiple candidate users corresponding to each target user behavior data.

[0092] According to an embodiment of the present disclosure, by batch processing the target objects for multiple target users respectively, the processing efficiency of object recommendation is improved.

[0093] According to an embodiment of the present disclosure, operation S210 may include the following operations.

[0094] In response to directly receiving the target user behavior data of a target user from a target client, determine the target object according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users.

[0095] According to an embodiment of the present disclosure, the target client may directly send the target user behavior data of the target user to the server when the target user agrees to exchange data for target object recommendation.

[0096] According to an embodiment of the present disclosure, the target client directly sending the target user behavior data to the server can effectively avoid data transfer through intermediate nodes, making data transmission more secure.

[0097] According to an embodiment of the present disclosure, operation S210 may include the following operations.

[0098] In response to receiving the target user behavior data of a target user from a target client through the blockchain node corresponding to the target client, determine the target object according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users.

[0099] According to an embodiment of the present disclosure, when the target user agrees to exchange data for target object recommendation, the target client may also send the target user behavior data of the target user to the server through the blockchain node corresponding to the target client.

[0100] According to an embodiment of the present disclosure, the target client sending the target object to the server through the blockchain node corresponding to the target client can reduce the probability of data being cracked in the case of the asymmetric encryption being cracked, improving the security of data transmission.

[0101] According to an embodiment of the present disclosure, operation S220 may include the following operations.

[0102] Send the target object directly to the target client to recommend the target object to the target user.

[0103] According to an embodiment of the present disclosure, operation S220 may include the following operations.

[0104] Send the target object to the target client through the blockchain node corresponding to the target client to recommend the target object to the target user.

[0105] According to an embodiment of the present disclosure, the server may directly send the target object to the target client. It may also send the target object to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client sends the target object recommended to the target user to the target client.

[0106] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0107] Encrypt the target object using the first public key to obtain a first encrypted target object.

[0108] According to an embodiment of the present disclosure, directly sending the target object to the target client to recommend the target object to the target user may include the following operations.

[0109] Directly send the first encrypted target object to the target client so that the target client decrypts the first encrypted target object using the first private key to obtain the target object recommended to the target user.

[0110] According to an embodiment of the present disclosure, the first public key and the first private key may be generated by the target client processing the user identification information of the target user using the first encryption algorithm. The first public key may be stored in a predetermined blockchain through the blockchain node corresponding to the target client.

[0111] According to an embodiment of the present disclosure, the user identification information may be used to characterize the user. The user identification information may include at least one of the following: user name and user ID number. In addition, the user identification information may further include at least one of the following: user's native place, user's gender, and user's age, etc.

[0112] According to an embodiment of the present disclosure, the first encryption algorithm may include an asymmetric encryption algorithm. For example, the asymmetric encryption algorithm may include the RSA algorithm, the DSA (Digital Signature Algorithm) algorithm, or the knapsack encryption algorithm.

[0113] According to an embodiment of the present disclosure, a target client may generate a first public key and a first private key based on a first encryption algorithm according to user identification information of a target user. The target client may send the first public key to a server. The server may encrypt a target object using the first public key to obtain a first encrypted target object. After obtaining the first encrypted target object, the server may send the first encrypted target object to the target client so that the target client may process the first encrypted target object using the first private key to obtain the target object recommended to the target user.

[0114] According to an embodiment of the present disclosure, the target client, the blockchain node, and the server jointly utilize the same set of encryption systems, that is, the target client, the blockchain node, and the server all utilize the first public key and the first private key, which can effectively avoid data transfer and make data transmission more secure.

[0115] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0116] Encrypt the target object using a second public key to obtain a second encrypted target object.

[0117] According to an embodiment of the present disclosure, sending the target object to the target client through the blockchain node corresponding to the target client to recommend the target object to the target user may include the following operations.

[0118] Send the second encrypted target object to the target client through the blockchain node corresponding to the target client so that the target client may decrypt the third encrypted target object using a third private key to obtain the target object recommended to the target user.

[0119] According to an embodiment of the present disclosure, the third encrypted target object may be obtained by encrypting the target object obtained by decrypting the second encrypted target object using a second private key by the blockchain node corresponding to the target client using a third public key. The second public key and the second private key may be generated by the blockchain node corresponding to the target client processing the user identification information of the target user using a second encryption algorithm. The third public key and the third private key may be generated by the target client processing the user identification information of the target user using a third encryption algorithm.

[0120] According to an embodiment of the present disclosure, both the second encryption algorithm and the third encryption algorithm may include an asymmetric encryption algorithm.

[0121] According to an embodiment of the present disclosure, the target client can process the user identification information of the target user using a third encryption algorithm to generate a third public key and a third private key. The target client can send the user identification information of the target user and the third public key to the blockchain node corresponding to the target client. The blockchain node corresponding to the target client can process the user identification information of the target user using a second encryption algorithm to generate a second public key and a second private key. The blockchain node corresponding to the target client can send the second private key to the target client.

[0122] According to an embodiment of the present disclosure, the server can encrypt the target object using the second public key to obtain a second encrypted target object. The second encrypted target object can be sent to the blockchain node corresponding to the target client. The blockchain node corresponding to the target client can decrypt the second encrypted target object using the second private key to obtain the target object recommended to the target user. The blockchain node corresponding to the target client can encrypt the target object using the third public key to obtain a third encrypted target object. The blockchain node corresponding to the target client can send the third encrypted target object to the target client. The target client can decrypt the third encrypted target object using the third private key to obtain the target object.

[0123] According to an embodiment of the present disclosure, the target client, the blockchain node, and the server utilize different encryption systems. That is, data transmission is performed between the target client and the blockchain node using the third public key and the third private key, and data transmission is performed between the blockchain node and the server using the second public key and the second private key. This can reduce the probability that all the data of the target client, the blockchain node, and the server is cracked in the case where the encrypted data obtained by using the asymmetric encryption algorithm is cracked, and improve the security of data transmission.

[0124] The following refers to Figures 3 - 4 , and further illustrates the object recommendation method according to the embodiment of the present disclosure in combination with specific embodiments.

[0125] Figure 3 Schematically shows a flowchart for determining a target object according to target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.

[0126] As Figure 3 shown, the method 300 includes operations S311 to S312.

[0127] In operation S311, in response to receiving the target user behavior data of the target user from the target client, the target user behavior data is processed to obtain a target user behavior vector.

[0128] In operation S312, a target object is determined according to the target user behavior vector and at least one candidate user behavior vector corresponding to each of multiple candidate users. Each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector.

[0129] According to an embodiment of the present disclosure, the candidate user behavior vector may be obtained by the server processing the candidate user behavior data. For example, the candidate user behavior vector set may be obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector using a feature extraction model. Alternatively, the candidate user behavior vector set may be obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector using a model-based recommendation algorithm.

[0130] According to an embodiment of the present disclosure, after obtaining the target user behavior data, the server may encode the target user behavior data to obtain a target user behavior vector. The encoding may include unique encoding. Feature extraction may be performed on the target user behavior data to obtain a target user behavior vector. For example, the target user behavior data may be processed using a feature extraction model to obtain a target user behavior vector.

[0131] According to an embodiment of the present disclosure, that each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector may include the following operations.

[0132] Each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector using a model-based recommendation algorithm.

[0133] According to an embodiment of the present disclosure, the model-based recommendation algorithm may include at least one of the following: a recommendation algorithm based on matrix factorization, a recommendation algorithm based on association rules, a recommendation algorithm based on clustering, and a recommendation algorithm based on a graph.

[0134] According to an embodiment of the present disclosure, a recommendation algorithm based on matrix factorization may model users and objects respectively using vectors of latent features, and map users and objects to their respective latent spaces. Therefore, the interaction between a user and an object is modeled as the inner product of vectors. The recommendation algorithm based on matrix factorization may include at least one of the following: a recommendation algorithm based on Singular Value Decomposition (SVD), a recommendation algorithm based on normalized Singular Value Decomposition (i.e., Funk-SVD), a recommendation algorithm based on Singular Value Decomposition with bias terms (i.e., Biased-SVD), a recommendation algorithm based on Singular Value Decomposition incorporating neighborhood information (i.e., SVD++), and a recommendation algorithm based on Singular Value Decomposition with time information (i.e., TimeSVD++). The recommendation algorithm based on normalized Singular Value Decomposition may also be referred to as a recommendation algorithm based on the Latent Factor Model (LFM).

[0135] According to an embodiment of the present disclosure, each candidate user behavior vector is obtained by processing candidate user behavior data corresponding thereto by a recommendation algorithm based on a model, and may include the following operations.

[0136] Each candidate user behavior vector is determined based on a user latent factor matrix and an object latent factor matrix obtained under a predetermined condition. The user latent factor matrix and the object latent factor matrix obtained under the predetermined condition are obtained by adjusting the element values of an initial user latent factor matrix and an initial object latent factor matrix according to an output value. The output value is determined based on a predetermined objective function using the initial user latent factor matrix, the initial object latent factor matrix, and a true user behavior vector. The true user behavior vector is determined based on the candidate user behavior data.

[0137] According to an embodiment of the present disclosure, the user latent factor matrix may include a plurality of first element values. The first element value may represent the evaluation value of the user for the latent factor. The object latent factor matrix may include a plurality of second element values. The second element value may represent the evaluation value of the latent factor for the candidate object.

[0138] According to an embodiment of the present disclosure, the predetermined objective function may be configured according to actual business requirements and is not limited herein. For example, the predetermined objective function may include a cost function. Alternatively, the predetermined objective function may include a cost function and a regularization term. Meeting the predetermined condition may mean that the output value converges or the number of solution rounds reaches the maximum number of rounds.

[0139] According to an embodiment of the present disclosure, the real user behavior vector may refer to the result of processing the evaluation values of a candidate user for each of at least one candidate object. It should be noted that for the candidate user behavior data, the evaluation values of the candidate user for some or several candidate objects included in the candidate user behavior data may be missing.

[0140] According to an embodiment of the present disclosure, the real user behavior vector corresponding to the candidate user behavior data can be determined. An initial user latent factor matrix and an initial object latent factor matrix are obtained based on a random initialization method. Based on a predetermined objective function, an output value is obtained by using the initial user latent factor matrix, the initial object latent factor matrix, and the real user behavior vector. The element values of the initial user latent factor matrix and the initial object latent factor matrix are adjusted according to the output value until a predetermined condition is satisfied. For example, an initial candidate user behavior vector can be obtained according to the initial user latent factor matrix and the initial object latent factor matrix. The initial candidate user behavior vector and the real user behavior vector are input into the predetermined objective function to obtain an output value. Then, based on the least squares method or the gradient descent method, according to the output value, the element values of the initial user latent factor matrix and the initial object latent factor matrix are adjusted until a predetermined condition is satisfied.

[0141] According to an embodiment of the present disclosure, the candidate user behavior vector is determined according to the user latent factor matrix and the object latent factor matrix obtained when the predetermined condition is satisfied. For example, the user factor matrix and the object factor matrix obtained when the predetermined condition is satisfied can be multiplied to obtain a candidate user behavior matrix. The candidate user behavior vector is determined according to the candidate user behavior matrix.

[0142] For example, the user latent factor matrix can be represented by The object latent factor matrix can be represented by The user behavior matrix can be represented by The relationship among the three can be determined according to the following formula (1).

[0143]

[0144] According to an embodiment of the present disclosure, represents the number of candidate users. represents the number of candidate objects. represents the number of latent factors. is rows and is rows and includes According to an embodiment of the present disclosure, by using a latent factor model to process a candidate user behavior data set to obtain a candidate user behavior vector set, the candidate user behavior vectors can standardize the candidate user behavior data in the case of sparse and scattered candidate user behavior data, thereby improving the accuracy of object recommendation.

[0145] Figure 4 Schematically shows a flowchart for determining a target object according to target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users according to another embodiment of the present disclosure.

[0146] As Figure 4 shown, the method 400 includes operations S411 to S412.

[0147] In operation S411, according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users, a set of similar users is determined from the plurality of candidate users.

[0148] In operation S412, according to the similar user behavior data set, a target object is determined from at least one candidate object corresponding to the similar user behavior data set. The similar user behavior data set includes at least one candidate user behavior data corresponding to the set of similar users.

[0149] According to an embodiment of the present disclosure, the set of similar users may include at least one similar user. A similar user may refer to a user whose similarity degree with the target user meets a predetermined similarity condition. The target object may include at least one.

[0150] According to an embodiment of the present disclosure, based on a predetermined selection strategy, a set of similar users may be determined from a plurality of candidate users according to the target user behavior vector and at least one candidate user behavior vector corresponding to the plurality of candidate users. The predetermined selection strategy may include how to determine the content of the candidate user behavior vector set according to the target user behavior vector and the candidate user behavior vector set. The target user behavior vector may be obtained by processing the target user behavior data. Each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector.

[0151] According to an embodiment of the present disclosure, after determining a similar user set, a similar user behavior data set corresponding to the similar user set may be determined. At least one target object may be determined from a plurality of candidate objects included in the similar user behavior data set. For example, an evaluation statistic corresponding to the candidate object may be determined for each of the plurality of candidate objects included in the similar user behavior data set to obtain a plurality of evaluation statistics. Based on the plurality of evaluation statistics, at least one target object may be determined from the plurality of candidate objects. The evaluation statistic may be obtained by processing at least one evaluation value corresponding to the candidate object in at least one similar user behavior data set. The evaluation statistic may include an evaluation mean, an evaluation maximum, an evaluation median, or the like.

[0152] According to an embodiment of the present disclosure, determining at least one target object from a plurality of candidate objects according to a plurality of evaluation statistics may include: sorting a plurality of candidate objects according to a plurality of evaluation statistics to obtain a first sorting result. According to the first sorting result, determining at least one target object from a plurality of candidate objects. The sorting may include sorting from large to small according to the evaluation statistics or sorting from small to large according to the periodic evaluation statistics. It may be configured according to actual business needs and is not limited here. For example, in the case of sorting from large to small according to the evaluation statistics, a first predetermined number of candidate objects that are ranked first or last may be determined from a plurality of candidate objects according to the first sorting result. The first predetermined number of candidate objects that are ranked first or last are determined as at least one target object. The ranking may be determined according to the numerical value of the evaluation statistics corresponding to the candidate object and the relationship with the possibility of the candidate object being recommended. The numerical value of the first predetermined number may be configured according to actual business needs and is not limited here.

[0153] According to an embodiment of the present disclosure, determining at least one target object from a plurality of candidate objects according to a plurality of evaluation statistics may include: determining at least one target object from a plurality of candidate objects according to a plurality of evaluation statistics sets and predetermined evaluation statistics thresholds corresponding to the plurality of evaluation statistics. For example, for each candidate object among the plurality of candidate objects, if it is determined that the larger the numerical value of the evaluation statistics corresponding to the candidate object, the higher the possibility that the candidate object is recommended, then the candidate object may be determined as the target object when it is determined that the evaluation statistics corresponding to the candidate object is greater than or equal to the evaluation statistics threshold corresponding to the predetermined evaluation statistics. If it is determined that the smaller the numerical value of the evaluation statistics corresponding to the candidate object, the higher the possibility that the candidate object is recommended, then the candidate object may be determined as the target object when it is determined that the evaluation statistics corresponding to the candidate object is less than or equal to the predetermined evaluation statistics threshold corresponding to the candidate object. The predetermined evaluation statistics threshold may be configured according to actual business needs and is not limited here.

[0154] According to an embodiment of the present disclosure, operation S411 may include the following operations.

[0155] Determine the similarity between the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users to obtain multiple similarities. Determine a similar user set from the multiple candidate users based on the multiple similarities.

[0156] According to an embodiment of the present disclosure, determining a similar user set from candidate users according to a target user behavior vector and a candidate user behavior vector set corresponding to the candidate user may include the following operations.

[0157] Determine the similarity between the target user behavior vector and each of the plurality of candidate user behavior vectors corresponding to the candidate user to obtain a plurality of similarities. Determine the similar user set from the candidate users based on the plurality of similarities.

[0158] According to an embodiment of the present disclosure, similarity can characterize the degree of similarity between a candidate user and a target user. The relationship between similarity and similarity can be configured according to actual business needs and is not limited here. For example, the greater the similarity, the greater the similarity. Alternatively, the greater the similarity, the smaller the similarity. The similarity can include cosine similarity, Pearson correlation coefficient, Euclidean distance, or Jaccard distance.

[0159] According to an embodiment of the present disclosure, determining the similarity between the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and obtaining multiple similarities may include: determining the similarity between the target user behavior vector and at least one candidate user behavior vector corresponding to multiple candidate users, and obtaining multiple similarities.

[0160] According to an embodiment of the present disclosure, for each candidate user behavior vector in a plurality of candidate user behavior vectors, the similarity between the candidate user behavior vector and the target user behavior vector is determined to obtain a plurality of similarities. At least one target similarity may be determined from the plurality of similarities according to a similarity condition. Candidate users corresponding to each of the at least one target similarity are determined as similar users to obtain a set of similar users. The similarity condition may include content on how to determine at least one target similarity from the plurality of similarities. The target similarity may refer to a similarity that satisfies the similarity condition. For example, the similarity condition may include a similarity greater than or equal to a similarity threshold. Alternatively, the similarity condition may include a second predetermined number of similarities that are ranked first or ranked last.

[0161] According to an embodiment of the present disclosure, determining a similar user set from a plurality of candidate users according to a plurality of similarities may include the following operations.

[0162] Sort multiple candidate users according to multiple similarity degrees to obtain a sorting result. Determine a predetermined number of candidate users from the multiple candidate users as a similar user set according to the sorting result.

[0163] According to an embodiment of the present disclosure, multiple candidate users corresponding to multiple similarity degrees can be sorted according to the multiple similarity degrees to obtain a second sorting result. Then, according to the second sorting result, a second predetermined number of candidate users are determined from the multiple candidate users. The sorting can include sorting in ascending order or descending order of the similarity degree. For example, in the case where the greater the similarity degree, the greater the similarity, if sorted in ascending order of the similarity degree, the second predetermined number of candidate users ranked at the end of the sorting can be determined as similar users. The above-mentioned second predetermined number can refer to the predetermined number. The second sorting result can refer to the sorting result. The value of the second predetermined number can be configured according to actual business requirements and is not limited herein. For example, the second predetermined number can be 3.

[0164] According to an embodiment of the present disclosure, determining a similar user set from multiple candidate users according to multiple similarity degrees may include the following operations.

[0165] Determine a similar user set from multiple candidate users according to a predetermined similarity threshold and multiple similarity degrees.

[0166] According to an embodiment of the present disclosure, the predetermined similarity threshold can be used as one of the bases for determining a similar user set from multiple candidate users. The value of the predetermined similarity threshold can be configured according to actual business requirements and is not limited herein. For example, the predetermined similarity threshold can be 0.8.

[0167] According to an embodiment of the present disclosure, for each of the multiple similarity degrees, in the case where it is determined that the similarity degree is greater than or equal to the predetermined similarity threshold, the candidate user corresponding to the similarity degree can be determined as a similar user.

[0168] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0169] In response to receiving a data optimization request, optimize the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to the data optimization method indicated by the data optimization request, so as to determine a target object to be recommended to the target user according to the optimized target behavior data and candidate user behavior data.

[0170] According to an embodiment of the present disclosure, a data optimization request may refer to a request for optimizing user behavior data. The data optimization request may be generated by a client according to a data optimization method. The data optimization method may be determined by the client in response to detecting that a data on-chain operation is triggered. The data on-chain operation may include a click operation on a determination control for agreeing to a target authorization protocol or a selection operation for agreeing to a target authorization protocol.

[0171] According to an embodiment of the present disclosure, a data optimization request may include a data optimization identifier. The data optimization identifier may indicate a data optimization method. For example, the data optimization identifier may include an identifier for a dimension for optimizing user behavior data. The data optimization identifier may include at least one of the following: an identifier for adding a dimension of user behavior data, an identifier for merging dimensions of user behavior data, and an identifier for deleting a dimension of user behavior data. The identifier for adding a dimension of user behavior data may be used to add a dimension of user behavior data. The identifier for merging dimensions of user behavior data may be used to merge dimensions of user behavior data. The identifier for deleting a dimension of user behavior data may be used to delete a dimension of user behavior data.

[0172] According to an embodiment of the present disclosure, the server may respond to receiving a data optimization request from a client corresponding to a blockchain node. Alternatively, the server may also respond to receiving a data optimization request from a client through a blockchain node corresponding to the client. The server may parse the data optimization request to obtain a data optimization identifier. Determine a data optimization method according to the data optimization identifier. Optimize the target user behavior data and at least one candidate user behavior data of multiple candidate users according to the data optimization method to obtain optimized target user behavior data and candidate user behavior data. The server may recommend a target object to the target user according to the optimized target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. That is, the server may determine an optimized target user behavior vector according to the optimized target user behavior data. Determine at least one optimized candidate user behavior vector corresponding to multiple candidate users according to the at least one candidate user behavior data corresponding to multiple candidate users after optimization. Determine a target object for recommending to the target user according to the optimized target user behavior vector and at least one candidate user behavior vector corresponding to multiple candidate users.

[0173] For example, when a user corresponding to a client registers for an application loaded on the client, the user does not consent to the request to use user behavior data for object recommendation. After the user has used the application for some time, the user is relatively satisfied with the functions provided by the application and also wants to further understand other functions of the application. Some of these other functions can only be used when the user consents to the above request. Therefore, the user consents to the above request. In this case, the user triggers a data uploading operation. In response to detecting that the data uploading operation is triggered, the client determines that the data optimization identifier is an identifier for adding a dimension of user behavior data. That is, an identifier for adding the dimension of "time difference between the authorization moment and the registration moment" in user behavior data. According to the data optimization identifier, a data optimization method is generated. A data optimization request is generated according to the data optimization method. The server can, in response to receiving the data optimization request from the client, optimize the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to the data optimization method indicated by the data optimization request. The "time difference between the authorization moment and the registration moment" can represent the preference degree of the user for the application. The smaller the value of the time difference, the higher the preference degree of the user for the application.

[0174] According to an embodiment of the present disclosure, the server improves the data quality by optimizing the target user behavior data and the candidate user behavior data, thereby improving the accuracy of object recommendation.

[0175] Figure 5 A flowchart of an object recommendation method according to another embodiment of the present disclosure is schematically shown.

[0176] According to an embodiment of the present disclosure, the object recommendation method can be applied to a blockchain network. The blockchain network includes multiple blockchain nodes. The multiple blockchain nodes include blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client.

[0177] As Figure 5 shown, the method 500 includes operations S510 to S530.

[0178] In operation S510, for each blockchain node among the multiple blockchain nodes, in response to receiving at least one data uploading request of at least one candidate user from the client corresponding to the blockchain node, the at least one data uploading request is parsed to obtain candidate user behavior data corresponding to the at least one candidate user.

[0179] In operation S520, the candidate user behavior data corresponding to the at least one candidate user is processed to generate a block corresponding to the at least one candidate user behavior data.

[0180] In operation S530, at least one block is stored in a predetermined blockchain so that the server can send a target object recommended to a target user to the target client. The target object is determined by the server based on the target user behavior vector and at least one candidate user behavior vector corresponding to multiple candidate users. The target user behavior data is the user behavior data of the target user of the target client received by the server in response.

[0181] According to an embodiment of the present disclosure, a blockchain node in a blockchain network can be used to store the candidate user behavior data of at least one candidate user from each client corresponding to the blockchain node in their respective predetermined blockchains.

[0182] According to an embodiment of the present disclosure, a blockchain node can obtain the candidate user behavior data of at least one candidate user from each client corresponding to the blockchain node. The blockchain node can broadcast the candidate user behavior data of at least one candidate user in the blockchain network so that a first other blockchain node in the blockchain network can receive the candidate user behavior data of at least one candidate user. The blockchain network uses a consensus algorithm to determine a first bookkeeping blockchain node with the right to bookkeeping in the blockchain network. The first bookkeeping blockchain node packages the candidate user behavior data of at least one candidate user and creates a block corresponding to the candidate user behavior data of at least one candidate user. The first bookkeeping blockchain node broadcasts the block corresponding to the candidate user behavior data of at least one candidate user so that a second other blockchain node in the blockchain network can verify it. When it is determined that the verification result is passed, the second other blockchain node receives the block and links the block at the tail of their respective predetermined blockchains. After it is determined that all blockchain nodes have received the block, the storage of candidate user behavior data in the predetermined blockchains corresponding to multiple blockchain nodes is realized. Different blockchain nodes can be used to maintain the same predetermined blockchain.

[0183] According to an embodiment of the present disclosure, the candidate user behavior data of each client corresponding to each blockchain node can be stored in the predetermined blockchain in the above manner so that the server can obtain at least one candidate user behavior vector corresponding to multiple candidate users from the predetermined blockchain. In addition, the blockchain node corresponding to the target client is also a blockchain node in the blockchain network. The target user behavior data of the target user of the target client can also be stored in the predetermined blockchain of the blockchain node corresponding to the target client.

[0184] According to an embodiment of the present disclosure, the above operations S510-S530 can be implemented using a smart contract related to storing user behavior data.

[0185] According to an embodiment of the present disclosure, operation S520 may further include the following operations.

[0186] For each candidate user among at least one candidate user, when it is determined that there is a block corresponding to the user identification information in a predetermined blockchain according to the user identification information corresponding to the candidate user, the candidate user behavior data corresponding to the candidate user is processed to generate a block corresponding to the candidate user behavior data.

[0187] According to an embodiment of the present disclosure, if it is determined that there is a block corresponding to the user identification information of a candidate user in a predetermined blockchain, the candidate user behavior data corresponding to the candidate user can be packaged and processed to generate a block corresponding to the candidate user behavior data. And no longer trace the candidate user behavior data of the candidate user before the current timestamp.

[0188] According to an embodiment of the present disclosure, through the degenerate processing of the candidate user behavior data with the same user identification information, the amount of data processing is reduced and the data processing efficiency is improved.

[0189] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0190] Determine the blocks of candidate users corresponding to the same user identification information. According to the blocks of candidate users corresponding to the same user identification information, generate a user portrait set corresponding to the user identification information. Send the user portrait set to the client corresponding to the user identification information so that the candidate users corresponding to the user identification information can obtain the user portrait set.

[0191] According to an embodiment of the present disclosure, the user portrait set can be used to characterize the change situation of the preference degree for candidate objects in different time periods.

[0192] According to an embodiment of the present disclosure, the blocks of candidate users corresponding to the same user identification information can be determined. Process the blocks of candidate users corresponding to the same user identification information to obtain the candidate user behavior data of the candidate users corresponding to the same user identification information. The candidate behavior data can be used to characterize the preference degrees of the candidate objects for at least one candidate object respectively. According to the candidate user behavior data of the candidate users corresponding to the same user identification information, generate a user portrait set of the candidate users corresponding to the user identification information.

[0193] According to an embodiment of the present disclosure, according to the candidate user behavior data of the candidate users corresponding to the same user identification information, generate a user portrait set of the candidate users corresponding to the user identification information so that the user can obtain the preference change process of the user according to the user portrait set.

[0194] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0195] Visually display the user portrait set.

[0196] According to an embodiment of the present disclosure, the visualization display method may include at least one of the following: bar chart, pie chart, polygon chart, and heat map.

[0197] According to an embodiment of the present disclosure, the user portrait set may be displayed in a visual form so that the user can obtain the process of change in the user's preferences based on the user portrait set.

[0198] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0199] Batch store at least one block in a predetermined blockchain.

[0200] According to an embodiment of the present disclosure, the blockchain is concatenated with timestamps, and batch blockchain uploading can cooperate to process data more efficiently and quickly. In addition, the batch blockchain uploading operation can be implemented by using a smart contract related to storing user behavior data. Since the smart contract is replicable, the object recommendation method according to the embodiment of the present disclosure can be used to efficiently expand the clients participating in object recommendation and can quickly integrate clients with type functions. For example, a client that can support item trading. The above batch blockchain uploading operation is beneficial to clients that batch disclose the tradable data under their own names. According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0201] In response to receiving a data blockchain uploading request of a new candidate user from a client corresponding to a blockchain node, parse the data blockchain uploading request of the new candidate user to obtain candidate user behavior data corresponding to the new candidate user. Process the candidate user behavior data corresponding to the new candidate user to generate a block corresponding to the candidate user behavior data of the new candidate user. Update the predetermined blockchain according to the block corresponding to the candidate user behavior data of the new candidate user.

[0202] According to an embodiment of the present disclosure, the blockchain node may detect whether a data blockchain uploading request from a client is received so as to update the predetermined blockchain according to the data blockchain uploading request, thereby realizing the management of the predetermined blockchain.

[0203] According to an embodiment of the present disclosure, a blockchain node in a blockchain network may obtain candidate user behavior data of a new candidate user from a client corresponding to the blockchain node. The blockchain node may broadcast the candidate user behavior data of the new candidate user in the blockchain network so that at least one other blockchain node in the blockchain network receives the candidate user behavior data of each candidate user. The blockchain network uses a consensus algorithm to determine a second bookkeeping blockchain node having the right to keep accounts in the blockchain network. The second bookkeeping blockchain node packages the candidate user behavior data of the new candidate user and creates a block corresponding to the candidate user behavior data of the new candidate user. The second bookkeeping blockchain node broadcasts the block corresponding to the candidate user behavior data of the new candidate user so that a fourth other blockchain node in the blockchain network can verify it. In the case where it is determined that the verification result is passed, the fourth other blockchain node receives the block and links the block to the tail of its respective predetermined blockchain.

[0204] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0205] In response to receiving a first public key from a target client, a blockchain node corresponding to the target client stores the first public key in a predetermined blockchain so that the server can encrypt a target object using the first public key to obtain a first encrypted target object. The first public key is generated by the target client processing the user identification information of the target user using a first encryption algorithm.

[0206] According to an embodiment of the present disclosure, the server may send the first encrypted target object to the target client. The target client may decrypt the first encrypted target object using a first private key to obtain the target object.

[0207] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0208] In response to receiving a second encrypted target object from the server, a blockchain node corresponding to the target client decrypts the second encrypted target object using a second private key to obtain the target object. The second encrypted target object is encrypted by the server using a second public key for the target object. The target object is encrypted using a third public key to obtain a third encrypted target object. The third encrypted target object is sent to the target client so that the target client can decrypt the third encrypted target object using a third private key to obtain the target object recommended to the target user.

[0209] According to an embodiment of the present disclosure, the second public key and the second private key may be generated by the blockchain node processing the user identification information of the target user using a second encryption algorithm. The third public key and the third private key may be generated by the target client processing the user identification information of the target user using a third encryption algorithm.

[0210] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0211] The blockchain node corresponding to the target client responds to receiving the target user behavior data of the target user from the target client, and sends the target user behavior data to the server.

[0212] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0213] The blockchain node corresponding to the target client responds to receiving the recommendation feedback data of the target user from the target client, and sets a feedback dimension so as to add the feedback dimension to the dimension of the candidate user behavior data.

[0214] According to an embodiment of the present disclosure, the recommendation feedback data may be used to characterize the response of the target user to the target object. For example, the recommendation feedback data may include at least one of the following: data capable of characterizing that the target user has purchased the recommended target object, data capable of characterizing that the target user has browsed but not purchased the recommended target object, and data capable of characterizing that the target user has not browsed the recommended target object.

[0215] According to an embodiment of the present disclosure, the target client may respond to detecting the recommendation feedback data from the target user, and send the recommendation feedback data to the blockchain node corresponding to the target client. The blockchain node corresponding to the target client may respond to detecting the recommendation feedback data from the target client, set the feedback dimension, and add the feedback dimension to the dimension of the candidate user behavior data.

[0216] According to an embodiment of the present disclosure, by adding a feedback dimension to the user behavior data when receiving the recommendation feedback data from the target user, the quality of the user behavior data can be improved, and the enthusiasm of the user to participate in object recommendation can be improved.

[0217] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0218] Determine the data of the feedback dimension in the candidate user behavior data corresponding to the target object according to the recommendation feedback data.

[0219] According to an embodiment of the present disclosure, the candidate user corresponding to the target object may be determined according to the target object. According to the recommendation feedback data, determine the data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object. The data of the feedback dimension may be characterized by the degree of recognition.

[0220] For example, the recognition degree can be a numerical value greater than or equal to 0 and less than or equal to 1. If it is determined according to the recommendation feedback data that the target user has purchased the recommended target object, the recognition degree can be set to 1, that is, the data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object can be 1. If it is determined according to the recommendation feedback data that the target user has browsed but not purchased the recommended target object, the recognition degree can be set to 0.5, that is, the data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object can be 0.5. If it is determined according to the recommendation feedback data that the target user has not browsed the recommended target object, the recognition degree can be set to 0, that is, the data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object can be 0.

[0221] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0222] Update the reward information of the candidate user corresponding to the target object according to the recommendation feedback data.

[0223] According to an embodiment of the present disclosure, the reward information may include at least one of the following: points, preferential amount.

[0224] For example, taking the reward information as points as an example for illustration. If it is determined according to the recommendation feedback data that the target user has purchased the recommended target object, 100 points can be added on the basis of the original reward information of the candidate user corresponding to the target object to update the reward information of the candidate user corresponding to the target object. If it is determined according to the recommendation feedback data that the target user has browsed but not purchased the recommended target object, 50 points can be added on the basis of the original reward information of the candidate user corresponding to the target object to update the reward information of the candidate user corresponding to the target object. If it is determined according to the recommendation feedback data that the target user has not browsed the recommended target object, 10 points can be deducted on the basis of the original reward information of the candidate user corresponding to the target object to update the reward information of the candidate user corresponding to the target object.

[0225] According to an embodiment of the present disclosure, by updating the reward information of the candidate user corresponding to the target object according to the recommendation feedback data, the enthusiasm of the user to participate in object recommendation can be improved.

[0226] Figure 6 The flowchart of the object recommendation method according to another embodiment of the present disclosure is schematically shown.

[0227] As shown in 6, the method 600 includes operations S610 to S630.

[0228] In operation S610, for clients corresponding to multiple blockchain nodes in a blockchain network, in response to detecting that a data uploading operation for at least one candidate user corresponding to a client is triggered, candidate user behavior data corresponding to the at least one candidate user is obtained.

[0229] In operation S620, based on the candidate user behavior data corresponding to the at least one candidate user, a data uploading request corresponding to the at least one candidate user is generated.

[0230] In operation S630, at least one data uploading request is sent to the blockchain node corresponding to the client, so that the blockchain node generates blocks corresponding to the at least one candidate user behavior data by using the at least one data uploading request, and stores the at least one block in a predetermined blockchain, so that the server sends a target object recommended to a target user to the target client. The target object is determined by the server according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. The target user behavior data is the user behavior data of the target user received by the server in response to receiving from the target client.

[0231] According to an embodiment of the present disclosure, the data uploading operation may refer to an operation for triggering the storage of user behavior data in a predetermined blockchain. The data uploading operation may include a click operation or a selection operation. For example, the client displays a page related to data uploading, and the page includes a determination control. The candidate user clicks the "determination control" to trigger the "determination control". The client obtains candidate user behavior data corresponding to the candidate user in response to detecting that the determination control in the display page related to data uploading is triggered. The candidate user behavior data may be associated with a timestamp and a client identifier.

[0232] According to an embodiment of the present disclosure, a candidate user corresponding to a client may, when registering a user account for an application or a browser, based on a unified agreement reached between the candidate user and a service provider, in the case where the candidate user agrees to a request for using user behavior data for object recommendation, the client may send the candidate user behavior data of the candidate user to the blockchain node corresponding to the client to implement data uploading. Thus, it is possible to effectively avoid the blockchain node making an agreement with the candidate user separately, simplify the operation of uploading the candidate user behavior data to the blockchain, and enable the candidate user behavior data to be effectively protected.

[0233] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0234] For a target client corresponding to a target user, process the user identification information of the target user using a first encryption algorithm to generate a first public key and a first private key. Send the first public key to the blockchain node corresponding to the target client so that the blockchain node corresponding to the target client stores the first public key in a predetermined blockchain. In response to receiving a first encrypted target object from the server, decrypt the first encrypted target object using the first private key to obtain the target object recommended to the target client. The first encrypted target object is obtained by the server encrypting the target object using the first public key.

[0235] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0236] For a target client corresponding to a target user, process the user identification information of the target user using a third encryption algorithm to generate a third public key and a third private key. Send the third public key to the blockchain node corresponding to the target client so that the blockchain node corresponding to the target client encrypts the target object using the third public key to obtain a third encrypted target object. The target object is obtained by the blockchain node corresponding to the target client decrypting a second encrypted target object using a second private key, and the second encrypted target object is obtained by the server encrypting the target object using a second public key. In response to receiving the third encrypted target object from the blockchain node corresponding to the target client, decrypt the third encrypted target object using the third private key to obtain the target object recommended to the target user.

[0237] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0238] In response to detecting that a data on-chain operation for a new candidate user corresponding to the client is triggered, obtain candidate user behavior data corresponding to the new candidate user. Generate a data on-chain request for the new candidate user according to the candidate user behavior data corresponding to the new candidate user. Send the data on-chain request for the new candidate user to the blockchain node corresponding to the client so that the blockchain node corresponding to the client updates the predetermined blockchain using the candidate user behavior data of the new candidate user obtained by processing the data on-chain request for the new candidate user.

[0239] According to an embodiment of the present disclosure, the client may detect whether a data on-chain request operation is triggered so that the blockchain corresponding to the client can update the predetermined blockchain using the data on-chain request generated based on the data request operation, thereby realizing the management of the predetermined blockchain.

[0240] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0241] In response to detecting that a data upload operation is triggered, determine a data optimization method. Generate a data optimization request according to the data optimization method. Send the data optimization request to a server so that the server optimizes target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to the data optimization method indicated by the data optimization request.

[0242] According to an embodiment of the present disclosure, the data optimization request may include a data optimization identifier. The data optimization identifier may indicate the data optimization method. For example, the data optimization identifier may include an identifier for the dimension used to optimize user behavior data. The data optimization identifier may include at least one of the following: an identifier for adding a dimension of user behavior data, an identifier for merging dimensions of user behavior data, and an identifier for deleting a dimension of user behavior data.

[0243] According to an embodiment of the present disclosure, the client may detect whether a data upload request operation is triggered. If it is detected that the data upload request is triggered, the data optimization method may be determined according to the trigger time. Generate a data optimization identifier according to the data optimization method. Generate a data optimization request according to the data optimization identifier. For example, if it is determined that the time difference between the trigger time and the registration time is greater than or equal to a time difference threshold, it may be determined that the data optimization method is to add a dimension of user behavior data. If it is determined that the trigger time is the time of a predetermined time period, it may be determined that the data optimization method is to add a dimension of user behavior data.

[0244] According to an embodiment of the present disclosure, the client may directly send the data optimization request to the server, or may also send the data optimization request to the server through a blockchain node corresponding to the client so that the server can receive the data optimization request. The server may parse the data optimization request to obtain the data optimization identifier. Determine the data optimization method according to the data optimization identifier. Optimize the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to the data optimization method to obtain optimized target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. The server may recommend a target object to the target user according to the optimized target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users.

[0245] According to an embodiment of the present disclosure, the above object recommendation method may further include the following operations.

[0246] In response to receiving recommendation feedback data from the target user, the target client corresponding to the target user sends the recommendation feedback data to the blockchain node corresponding to the target client so that the blockchain node corresponding to the target client sets a feedback dimension according to the recommendation feedback data of the target user to add the feedback dimension to the dimension of the candidate user behavior data.

[0247] The following refers to Figure 7 and further describes the object recommendation method according to the embodiments of the present disclosure in combination with specific embodiments.

[0248] Figure 7 FIG. schematically shows an example diagram of an object recommendation process according to an embodiment of the present disclosure.

[0249] As Figure 7 shown, 700 includes a client network 701, a blockchain network 702, and a server 703. The client network 701 may include clients, that is, client 701_1, client 701_2,..., client 701_l,..., client 701_L-1, and client 701_L. The blockchain network 302 may include blockchain nodes, that is, blockchain node 702_1, blockchain node 702_2,..., blockchain node 702_l,..., blockchain node 702_L-1, and blockchain node 702_L. The blockchain node corresponding to client 701_l is blockchain node 702_l. The predetermined blockchain corresponding to blockchain node 702_1 is area 704_1. The predetermined blockchain corresponding to blockchain node 702_2 is area 704_2. The predetermined blockchain corresponding to blockchain node 702_l is area 704_l. The predetermined blockchain corresponding to blockchain node 702_L-1 is area 704_L-1. The predetermined blockchain corresponding to blockchain node 702_L is area 704_L. . is an integer greater than 1. The target client is client 701_1.

[0250] Client 701_l may, in response to detecting that a data uploading operation for at least one candidate user corresponding to client 701_l is triggered, obtain candidate user behavior data corresponding to the at least one candidate user. Generate a data uploading request corresponding to the at least one candidate user according to the candidate user behavior data corresponding to the at least one candidate user. Send at least one data uploading request to the blockchain node 702_l corresponding to client 701_l.

[0251] Blockchain node 702_l may, in response to receiving at least one data uploading request for at least one candidate user from client 701_l corresponding to the blockchain node, parse the at least one data uploading request to obtain candidate user behavior data corresponding to the at least one candidate user. Process the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data. Store the at least one block in the predetermined blockchain 704_l.

[0252] The server 703 can process the target user behavior data 705 in response to receiving the target user behavior data 705 of the target user from the target client 701_1 to obtain a target user behavior vector. According to the target user behavior vector and at least one candidate user behavior vector corresponding to multiple candidate users, a set of similar users 707 is determined from the multiple candidate users. According to the similar user behavior data set corresponding to the set of similar users 707, a target object 708 is determined from at least one candidate object corresponding to the similar user behavior data set. Each candidate user behavior vector can be obtained by the server 703 processing the candidate user behavior data 706 corresponding to the candidate user behavior vector. The server 703 sends the target object 708 to the target client 701_1 to recommend the target object 708 to the target user.

[0253] According to an embodiment of the present disclosure, it is possible to implement the recommendation of a target object for a target user based on the tradable data of the user's historical behavior habits, which is beneficial for different fields to select corresponding user behavior data for object recommendation. For example, the financial field and the medical field.

[0254] By using the solution of the embodiment of the present disclosure, valuable investment advice can be obtained.

[0255] Taking the example of physician recommendation in the medical field, the multiple candidate objects corresponding to the candidate user behavior data can include objects related to the user's illness experience, objects related to the user's surgical experience, objects related to the user's cure experience, and objects related to physicians. The physician is related to the user. The server 703 can determine a target object from the multiple candidate objects according to the target user behavior data 705 of the target user and at least one candidate user behavior data corresponding to multiple candidate users. The target object can include a target physician.

[0256] By using the solution of the embodiment of the present disclosure, valuable medical information can be obtained, which also has relatively important value for social welfare.

[0257] Figure 8 Schematically shows a block diagram of an object recommendation device according to an embodiment of the present disclosure.

[0258] As Figure 8 shown, the object recommendation device 800 can include a first determination module 810 and a first sending module 820.

[0259] The first determination module 810 is configured to, in response to receiving the target user behavior data of the target user from the target client, determine a target object according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users.

[0260] The first sending module 820 is configured to send a target object to a target client so as to recommend the target object to a target user.

[0261] According to an embodiment of the present disclosure, each candidate user behavior data is stored in a predetermined blockchain. Each candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes included in the blockchain network. Each candidate user behavior data is used to characterize the preference degree of a candidate user for at least one candidate object.

[0262] According to an embodiment of the present disclosure, the target user behavior data includes target tradable data, and the target tradable data is stored in a predetermined blockchain, wherein the blockchain node corresponding to the target client stores the target tradable data in response to receiving a data on-chain request of the target user from the target client.

[0263] According to an embodiment of the present disclosure, the target tradable data includes a plurality of tradable levels.

[0264] According to an embodiment of the present disclosure, the first determination module 810 may include a first acquisition sub-module and a first determination sub-module.

[0265] The first acquisition sub-module is configured to, in response to receiving target user behavior data of a target user from the target client, process the target user behavior data to obtain a target user behavior vector.

[0266] The first determination sub-module is configured to determine a target object according to the target user behavior vector and at least one candidate user behavior vector corresponding to each of a plurality of candidate users. Each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector.

[0267] According to an embodiment of the present disclosure, each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector, and may include: each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector based on a model-based recommendation algorithm.

[0268] According to an embodiment of the present disclosure, each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector based on a model-based recommendation algorithm, and may include:

[0269] Each candidate user behavior vector is determined based on a user latent factor matrix and an object latent factor matrix obtained under a predetermined condition. The user latent factor matrix and the object latent factor matrix obtained under the predetermined condition are obtained by adjusting the element values of an initial user latent factor matrix and an initial object latent factor matrix according to an output value. The output value is determined based on a predetermined objective function, using the initial user latent factor matrix, the initial object latent factor matrix, and a true user behavior vector. The true user behavior vector is determined based on candidate user behavior data.

[0270] According to an embodiment of the present disclosure, the first determination module 810 may include a second determination sub-module and a third determination sub-module.

[0271] The second determination sub-module is configured to determine a set of similar users from multiple candidate users according to target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users.

[0272] The third determination sub-module is configured to determine a target object from at least one candidate object corresponding to the similar user behavior data set according to the similar user behavior data set. The similar user behavior data set includes at least one candidate user behavior data corresponding to the set of similar users.

[0273] According to an embodiment of the present disclosure, the second determination sub-module may include a first acquisition unit and a first determination unit.

[0274] The first acquisition unit is configured to determine the similarity between the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and obtain multiple similarities.

[0275] The first determination unit is configured to determine a set of similar users from multiple candidate users according to the multiple similarities.

[0276] According to an embodiment of the present disclosure, the first determination unit may include a first acquisition sub-unit and a first determination sub-unit.

[0277] The first acquisition sub-unit is configured to sort multiple candidate users according to the multiple similarities, and obtain a sorting result.

[0278] The first determination sub-unit is configured to determine a predetermined number of candidate users from multiple candidate users as a set of similar users according to the sorting result.

[0279] According to an embodiment of the present disclosure, the first determination unit may include a second determination sub-unit.

[0280] The second determination sub-unit is configured to determine a set of similar users from multiple candidate users according to a predetermined similarity threshold and the multiple similarities.

[0281] According to an embodiment of the present disclosure, the above object recommendation device 800 may further include a first optimization module.

[0282] The first optimization module is configured to, in response to receiving a data optimization request, optimize the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to the data optimization method indicated by the data optimization request, so as to determine a target object recommended to the target user based on the optimized target behavior data and candidate user behavior data.

[0283] According to an embodiment of the present disclosure, the first sending module 820 may include a first sending sub-module or a second sending sub-module.

[0284] The first sending sub-module is configured to directly send the target object to the target client, so as to recommend the target object to the target user. Or

[0285] The second sending sub-module is configured to send the target object to the target client through a blockchain node corresponding to the target client, so as to recommend the target object to the target user.

[0286] According to an embodiment of the present disclosure, the above object recommendation device 800 may further include a third obtaining module.

[0287] The third obtaining module is configured to encrypt the target object using a first public key to obtain a first encrypted target object.

[0288] According to an embodiment of the present disclosure, the first sending sub-module may include a first sending unit.

[0289] The first sending unit is configured to directly send the first encrypted target object to the target client, so that the target client decrypts the first encrypted target object using a first private key to obtain the target object recommended to the target user. The first public key and the first private key are generated by the target client processing the user identification information of the target user using a first encryption algorithm. The first public key is stored in a predetermined blockchain through a blockchain node corresponding to the target client.

[0290] According to an embodiment of the present disclosure, the above object recommendation device 800 may further include a fourth obtaining module.

[0291] The fourth obtaining module is configured to encrypt the target object using a second public key to obtain a second encrypted target object.

[0292] According to an embodiment of the present disclosure, the second sending sub-module may include a second sending unit.

[0293] A second sending unit, configured to send a second encrypted target object to a target client through a blockchain node corresponding to the target client, so that the target client decrypts the third encrypted target object by using a third private key to obtain the target object recommended for the target user. The third encrypted target object is an object obtained by encrypting, by using a third public key, the target object obtained by decrypting the second encrypted target object by using a second private key by a blockchain node corresponding to the target client. The second public key and the second private key are generated by a blockchain node corresponding to the target client by processing user identification information of the target user by using a second encryption algorithm. The third public key and the third private key are generated by the target client by processing user identification information of the target user by using a third encryption algorithm.

[0294] According to an embodiment of the present disclosure, the first determination module 810 may include a fourth determination sub-module or a fifth determination sub-module.

[0295] The fourth determination sub-module is configured to, in response to directly receiving target user behavior data of a target user from a target client, determine a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.

[0296] The fifth determination sub-module is configured to, in response to receiving target user behavior data of a target user from a target client through a blockchain node corresponding to the target client, determine a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.

[0297] According to an embodiment of the present disclosure, at least one candidate object corresponding to the candidate user behavior data includes at least one of the following: client attribute information, client function information, and client credit information of a client corresponding to the candidate user behavior data, and item attribute information of an item corresponding to the candidate user behavior data.

[0298] According to an embodiment of the present disclosure, the target object includes a plurality of candidate objects.

[0299] According to an embodiment of the present disclosure, the above object recommendation device 800 may further include a third generation module and a third sending module.

[0300] The third generation module is configured to generate an object recommendation graph according to target objects corresponding to respective multiple time periods.

[0301] The third sending module is configured to send the object recommendation graph to the target client so as to recommend the object recommendation graph to the target user.

[0302] According to an embodiment of the present disclosure, there are multiple target users.

[0303] According to an embodiment of the present disclosure, the first determination module 810 may include a sixth determination sub-module.

[0304] The sixth determination sub-module is configured to, in response to receiving target user behavior data of multiple target users from at least one target client, perform batch processing on the multiple target behavior data and at least one candidate user behavior data corresponding to the multiple candidate users, and determine the target objects of the multiple target users respectively.

[0305] According to an embodiment of the present disclosure, the first sending module 820 may include a third sending sub-module.

[0306] The third sending sub-module is configured to send the target objects of the multiple target users to at least one target client, so as to recommend the target objects of the multiple target users to the multiple target users respectively.

[0307] According to an embodiment of the present disclosure, one of the target users and the candidate users includes a non-registered user.

[0308] Figure 9 A block diagram of an object recommendation device according to another embodiment of the present disclosure is schematically shown.

[0309] According to an embodiment of the present disclosure, the object recommendation device may be disposed in a blockchain network. The blockchain network may include multiple blockchain nodes. The multiple blockchain nodes may include blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client.

[0310] As Figure 9 shown, the object recommendation device 900 may include a first acquisition module 910, a first generation module 920, and a first storage module 930.

[0311] The first acquisition module 910 is configured to, for each of the multiple blockchain nodes, in response to receiving a data on-chain request of at least one candidate user from a client corresponding to the blockchain node, parse the at least one data on-chain request to obtain candidate user behavior data corresponding to the at least one candidate user.

[0312] The first generation module 920 is configured to process the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data.

[0313] The first storage module 930 is configured to store at least one block in a predetermined blockchain so that the server can send a target object recommended for a target user to the target client. The target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users. The target user behavior data is the user behavior data of the target user received by the server in response to the target client.

[0314] According to an embodiment of the present disclosure, the above object recommendation device 900 may further include a fifth acquisition module, a fourth generation module, and a first update module.

[0315] The fifth acquisition module is configured to, in response to receiving a data on-chain request of a new candidate user from a client corresponding to a blockchain node, parse the data on-chain request of the new candidate user to obtain candidate user behavior data corresponding to the new candidate user.

[0316] The fourth generation module is configured to process the candidate user behavior data corresponding to the new candidate user to generate a block corresponding to the candidate user behavior data of the new candidate user.

[0317] The first update module is configured to update the predetermined blockchain according to the block corresponding to the candidate user behavior data of the new candidate user.

[0318] According to an embodiment of the present disclosure, the above object recommendation device 900 may further include a second storage module.

[0319] The second storage module is configured to store the first public key in a predetermined blockchain in response to receiving the first public key from the target client by the blockchain node corresponding to the target client, so that the server can encrypt the target object using the first public key to obtain a first encrypted target object. The first public key is generated by the target client using a first encryption algorithm to process the user identification information of the target user.

[0320] According to an embodiment of the present disclosure, the above object recommendation device 900 may further include a sixth acquisition module, a seventh acquisition module, and a fourth sending module.

[0321] The sixth acquisition module is configured to decrypt the second encrypted target object using a second private key in response to receiving the second encrypted target object from the server by the blockchain node corresponding to the target client to obtain the target object. The second encrypted target object is obtained by the server encrypting the target object using a second public key.

[0322] The seventh acquisition module is configured to encrypt the target object using a third public key to obtain a third encrypted target object.

[0323] A fourth sending module, configured to send a third encrypted target object to a target client, so that the target client decrypts the third encrypted target object by using a third private key to obtain a target object recommended to a target user. The second public key and the second private key are generated by a blockchain node by processing user identification information of the target user by using a second encryption algorithm. The third public key and the third private key are generated by the target client by processing user identification information of the target user by using a third encryption algorithm.

[0324] According to an embodiment of the present disclosure, the object recommendation device 900 may further include a fifth sending module.

[0325] The fifth sending module is configured to, in response to receiving target user behavior data of a target user from the target client, send the target user behavior data to a server to a blockchain node corresponding to the target client.

[0326] According to an embodiment of the present disclosure, the object recommendation device 900 may further include a setting module.

[0327] The setting module is configured to, in response to receiving recommendation feedback data of a target user from the target client, set a feedback dimension to add the feedback dimension to dimensions of candidate user behavior data to a blockchain node corresponding to the target client.

[0328] According to an embodiment of the present disclosure, the object recommendation device 900 may further include a second determination module.

[0329] The second determination module is configured to determine data of a feedback dimension in candidate user behavior data of a candidate user corresponding to a target object according to the recommendation feedback data.

[0330] According to an embodiment of the present disclosure, the object recommendation device 900 may further include a second update module.

[0331] The second update module is configured to update reward information of a candidate user corresponding to a target object according to the recommendation feedback data.

[0332] According to an embodiment of the present disclosure, the first generation module 920 may include a generation sub-module.

[0333] The generation sub-module is configured to, for each candidate user among at least one candidate user, in a case where it is determined that there is a block corresponding to the user identification information in a predetermined blockchain according to the user identification information corresponding to the candidate user, process candidate user behavior data corresponding to the candidate user to generate a block corresponding to the candidate user behavior data.

[0334] According to an embodiment of the present disclosure, the object recommendation device 900 may further include a third determination module, a fourth determination module, and a sixth sending module.

[0335] A third determination module, configured to determine blocks of candidate users corresponding to the same user identification information.

[0336] A fourth determination module, configured to generate a user portrait set corresponding to the user identification information according to the blocks of candidate users corresponding to the same user identification information.

[0337] A sixth sending module, configured to send the user portrait set to the client corresponding to the user identification information, so that the candidate users corresponding to the user identification information can obtain the user portrait set.

[0338] According to an embodiment of the present disclosure, the above object recommendation device 900 may further include a display module.

[0339] A display module, configured to visually display the user portrait set.

[0340] According to an embodiment of the present disclosure, the first storage module 930 may include a storage sub-module.

[0341] A storage sub-module, configured to batch store at least one block in a predetermined blockchain.

[0342] Figure 10 Schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure.

[0343] As Figure 10 shown, the object recommendation device 1000 may further include a second obtaining module 1010, a second generating module 1020, and a second sending module 1030.

[0344] The second obtaining module 1010 is configured to, for clients corresponding to multiple blockchain nodes in the blockchain network, in response to detecting that a data uploading operation for at least one candidate user corresponding to the client is triggered, obtain candidate user behavior data corresponding to the at least one candidate user.

[0345] The second generating module 1020 is configured to generate a data uploading request corresponding to the at least one candidate user according to the candidate user behavior data corresponding to the at least one candidate user.

[0346] A second sending module 1030, configured to send at least one data on-chain request to a blockchain node corresponding to the client, so that the blockchain node generates a block corresponding to at least one candidate user behavior data by using the at least one data on-chain request, and stores the at least one block in a predetermined blockchain, so that the server sends a target object recommended for the target user to the target client. The target object is determined by the server according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users, and the target user behavior data is user behavior data of the target user received by the server from the target client.

[0347] According to an embodiment of the present disclosure, the above object recommendation device 1000 may further include a fifth generation module, a seventh sending module, and an eighth obtaining module.

[0348] The fifth generation module is configured to use a first encryption algorithm to process the user identification information of the target user for the target client corresponding to the target user, and generate a first public key and a first private key.

[0349] The seventh sending module is configured to send the first public key to a blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client stores the first public key in a predetermined blockchain.

[0350] The eighth obtaining module is configured to, in response to receiving a first encrypted target object from the server, decrypt the first encrypted target object by using the first private key to obtain the target object recommended for the target client. The first encrypted target object is obtained by the server encrypting the target object by using the first public key.

[0351] According to an embodiment of the present disclosure, the above object recommendation device 1000 may further include a sixth generation module, an eighth sending module, and a ninth obtaining module.

[0352] The sixth generation module is configured to use a third encryption algorithm to process the user identification information of the target user for the target client corresponding to the target user, and generate a third public key and a third private key.

[0353] The eighth sending module is configured to send the third public key to a blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client encrypts the target object by using the third public key to obtain a third encrypted target object. The target object is obtained by the blockchain node corresponding to the target client decrypting a second encrypted target object by using a second private key, and the second encrypted target object is obtained by the server encrypting the target object by using a second public key.

[0354] A ninth acquisition module, configured to, in response to receiving a third encrypted target object from a blockchain node corresponding to a target client, decrypt the third encrypted target object by using a third private key to obtain a target object recommended to the target user.

[0355] According to an embodiment of the present disclosure, the above object recommendation device 1000 may further include a tenth acquisition module, a seventh generation module, and a ninth sending module.

[0356] A tenth acquisition module, configured to, in response to detecting that a data uploading operation for a new candidate user corresponding to a client is triggered, obtain candidate user behavior data corresponding to the new candidate user.

[0357] A seventh generation module, configured to generate a data uploading request for the new candidate user according to the candidate user behavior data corresponding to the new candidate user.

[0358] A ninth sending module, configured to send a data uploading request for the new candidate user to a blockchain node corresponding to the client, so that the blockchain node corresponding to the client updates a predetermined blockchain by using the candidate user behavior data of the new candidate user obtained by processing the data uploading request for the new candidate user.

[0359] According to an embodiment of the present disclosure, the above object recommendation device 1000 may further include a fifth determination module, an eighth generation module, and a tenth sending module.

[0360] A fifth determination module, configured to, in response to detecting that a data uploading operation is triggered, determine a data optimization method.

[0361] An eighth generation module, configured to generate a data optimization request according to the data optimization method.

[0362] A tenth sending module, configured to send a data optimization request to a server, so that the server optimizes target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to the data optimization method indicated by the data optimization request.

[0363] According to an embodiment of the present disclosure, the above object recommendation device 1000 may further include an eleventh sending module.

[0364] An eleventh sending module, configured to, in response to a target client corresponding to a target user receiving recommendation feedback data from the target user, send the recommendation feedback data to a blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client sets a feedback dimension according to the recommendation feedback data of the target user, so as to add the feedback dimension to the dimension of the candidate user behavior data.

[0365] Any of a plurality of modules, sub-modules, units, and sub-units according to embodiments of the present disclosure, or at least part of the functions of any of them, may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to embodiments of the present disclosure may be split into multiple modules for implementation. Any one or more of the modules, sub-modules, units, and sub-units according to embodiments of the present disclosure may be at least partially implemented as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on chip, a system on substrate, a system on package, an Application Specific Integrated Circuit (ASIC), or may be implemented by any other reasonable way of integrating or packaging circuits in hardware or firmware, or may be implemented in any one of the three implementation manners of software, hardware, and firmware, or in an appropriate combination of any several of them. Alternatively, one or more of the modules, sub-modules, units, and sub-units according to embodiments of the present disclosure may be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding functions may be executed.

[0366] For example, any combination of the first determination module 810 and the first sending module 820, the first acquisition module 910, the first generation module 920, and the first storage module 930, and the second acquisition module 1010, the second generation module 1020, and the second sending module 1030 can be combined and implemented in one module / unit / sub-unit, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functions of one or more of these modules / units / sub-units can be combined with at least part of the functions of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the first determination module 810 and the first sending module 820, the first acquisition module 910, the first generation module 920, and the first storage module 930, and the second acquisition module 1010, the second generation module 1020, and the second sending module 1030 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or any other reasonable way of integrating or packaging circuits, etc., implemented by hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in an appropriate combination of any several of them. Alternatively, at least one of the first determination module 810 and the first sending module 820, the first acquisition module 910, the first generation module 920, and the first storage module 930, and the second acquisition module 1010, the second generation module 1020, and the second sending module 1030 can be at least partially implemented as a computer program module, and when the computer program module runs, it can execute the corresponding functions.

[0367] It should be noted that the data processing system part in the embodiments of the present disclosure corresponds to the object recommendation method part in the embodiments of the present disclosure. For the description of the object recommendation device part, please refer to the object processing method part specifically, and details will not be repeated here.

[0368] The embodiments of the present disclosure also provide an object recommendation system.

[0369] According to an embodiment of the present disclosure, the object recommendation system may include clients corresponding to multiple blockchain nodes in the blockchain network, the blockchain network, and a server.

[0370] The clients corresponding to multiple blockchain nodes in the blockchain network are configured to:

[0371] In response to detecting that a data uploading operation for at least one candidate user corresponding to the client is triggered, candidate user behavior data corresponding to the at least one candidate user is obtained. Each candidate user behavior data is used to characterize the preference degree of the candidate user for at least one candidate object.

[0372] Based on the candidate user behavior data corresponding to the at least one candidate user, a data uploading request corresponding to the at least one candidate user is generated.

[0373] Send at least one data uploading request to the blockchain node corresponding to the client.

[0374] Each blockchain node among multiple blockchain nodes is configured to:

[0375] In response to receiving at least one data uploading request of a candidate user from the client corresponding to the blockchain node, parse the at least one data uploading request to obtain candidate user behavior data corresponding to the at least one candidate user.

[0376] Process the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data.

[0377] Store at least one block in a predetermined blockchain.

[0378] The server is configured to:

[0379] In response to receiving target user behavior data of a target user from the target client, determine a target object according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users.

[0380] Send the target object to the target client for recommending the target object to the target user.

[0381] According to an embodiment of the present disclosure, the client, blockchain node, and server included in the object recommendation system can be used to implement the object recommendation method described in the embodiments of the present disclosure. For details, reference can be made to the corresponding parts above, and details will not be repeated here.

[0382] Figure 11 Schematically shows a block diagram of an electronic device suitable for implementing the object recommendation method according to an embodiment of the present disclosure. Figure 11 The shown electronic device is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present disclosure.

[0383] Such as Figure 11As shown, the electronic device 1100 according to an embodiment of the present disclosure includes a processor 1101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1102 or a program loaded from a storage section 1108 into a random access memory (RAM) 1103. The processor 1101 can include, for example, a general-purpose microprocessor (e.g., CPU), an instruction set processor, and / or a related chipset, and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), and so on. The processor 1101 can also include on-board memory for caching purposes. The processor 1101 can include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0384] In the RAM 1103, various programs and data required for the operation of the electronic device 1100 are stored. The processor 1101, the ROM 1102, and the RAM 1103 are connected to each other via a bus 1104. The processor 1101 performs various operations of the method flow according to an embodiment of the present disclosure by executing the programs in the ROM 1102 and / or the RAM 1103. It should be noted that the program can also be stored in one or more memories other than the ROM 1102 and the RAM 1103. The processor 1101 can also perform various operations of the method flow according to an embodiment of the present disclosure by executing the programs stored in the one or more memories.

[0385] According to an embodiment of the present disclosure, the electronic device 1100 can further include an input / output (I / O) interface 1105, and the input / output (I / O) interface 1105 is also connected to the bus 1104. The system 1100 can further include one or more of the following components connected to the I / O interface 1105: an input section 1106 including a keyboard, a mouse, etc.; an output section 1107 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1108 including a hard disk, etc.; and a communication section 1109 including a network interface card such as a LAN card, a modem, etc. The communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to the I / O interface 1105 as needed. A removable medium 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1110 as needed so that a computer program read from it can be installed into the storage section 1108 as needed.

[0386] According to an embodiment of the present disclosure, the method flow according to the embodiments of the present disclosure 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 storage medium, and the computer program includes program codes 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 1109, and / or installed from the removable medium 1111. When the computer program is executed by the processor 1101, the above functions defined in the system of the embodiments of the present disclosure are executed. According to an embodiment of the present disclosure, the above-described systems, devices, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0387] The present disclosure also provides a computer-readable storage medium, which can be included in the device / device / system described in the above embodiments; or can exist alone without being assembled into the device / device / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiments of the present disclosure is implemented.

[0388] According to an embodiment of the present disclosure, the computer-readable storage medium can be a non-volatile computer-readable storage medium. For example, it can include but is not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM (Erasable Programmable Read Only Memory, EPROM) or flash memory), portable compact disk read-only memory (Computer Disc Read-Only Memory, CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or device.

[0389] For example, according to an embodiment of the present disclosure, the computer-readable storage medium can include the above-described ROM 1102 and / or RAM 1103 and / or one or more memories other than ROM 1102 and RAM 1103.

[0390] An embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program includes program codes for executing the method provided by the embodiments of the present disclosure. When the computer program product runs on an electronic device, the program codes are used to enable the electronic device to implement the object recommendation method provided by the embodiments of the present disclosure.

[0391] When the computer program is executed by the processor 1101, the above functions defined in the system / apparatus of the embodiments of the present disclosure are executed. According to the embodiments of the present disclosure, the systems, apparatuses, modules, units, etc. described above can be implemented by computer program modules.

[0392] In one embodiment, the computer program can rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program can also be transmitted and distributed in the form of signals on a network medium, and be downloaded and installed through the communication part 1109, and / or be installed from the removable medium 1111. The program code included in the computer program can be transmitted by any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0393] According to the embodiments of the present disclosure, the program code for executing the computer program provided by the embodiments of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level procedures and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include but are not limited to, such as Java, C++, Python, the "C" language, or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., by using an Internet service provider to connect through the Internet).

[0394] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions. Those skilled in the art will appreciate that the features recited in the various embodiments and / or claims of the present disclosure can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly recited in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features recited in the various embodiments and / or claims of the present disclosure can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present disclosure.

[0395] The embodiments of the present disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments have been described separately above, this does not mean that the measures in each embodiment cannot be used advantageously in combination. The scope of the present disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present disclosure.

Claims

1. An object recommendation method, comprising: responding to receiving target user behavior data of a target user from a target client, and determining a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users; and sending the target object to the target client so as to recommend the target object to the target user, wherein each candidate user behavior data is stored in a predetermined blockchain, each candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes included in the blockchain network, and each candidate user behavior data is used to characterize the preference degree of a candidate user for at least one candidate object; the target object is determined according to a target user behavior vector corresponding to the target user behavior data and a candidate user behavior vector corresponding to the candidate user behavior data; each candidate user behavior vector is determined according to a user latent factor matrix and an object latent factor matrix obtained under a predetermined condition; wherein, the user latent factor matrix and the object latent factor matrix obtained under the predetermined condition are obtained by adjusting the element values of an initial user latent factor matrix and an initial object latent factor matrix according to an output value; the output value is determined based on a predetermined objective function, using the initial user latent factor matrix, the initial object latent factor matrix and a true user behavior vector; the true user behavior vector is determined according to the candidate user behavior data.

2. The method according to claim 1, wherein, the target user behavior data includes target tradable data, and the target tradable data is stored in the predetermined blockchain, wherein the blockchain node corresponding to the target client stores the target tradable data in response to receiving a data on-chain request of the target user from the target client.

3. The method according to claim 2, wherein, the target tradable data includes a plurality of tradable levels.

4. The method according to any one of claims 1 to 3, wherein, the step of responding to receiving target user behavior data of a target user from a target client, and determining a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users includes: responding to receiving target user behavior data of a target user from the target client, processing the target user behavior data to obtain the target user behavior vector; and determining the target object according to the target user behavior vector and at least one candidate user behavior vector corresponding to each of the plurality of candidate users, wherein each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector.

5. The method according to claim 4, wherein, the step that each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector includes: Each of the candidate user behavior vectors is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector based on a model-based recommendation algorithm.

6. The method according to any one of claims 1 to 3, wherein, the determining of the target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users includes: determining a set of similar users from the plurality of candidate users according to the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users; and determining a target object from at least one candidate object corresponding to the similar user behavior data set, wherein the similar user behavior data set includes at least one candidate user behavior data corresponding to the set of similar users.

7. The method according to claim 6, wherein, the determining of the set of similar users from the plurality of candidate users according to the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users includes: determining the similarity between each of the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users, to obtain a plurality of similarities; and determining the set of similar users from the plurality of candidate users according to the plurality of similarities.

8. The method according to claim 7, wherein, the determining of the set of similar users from the plurality of candidate users according to the plurality of similarities includes: sorting the plurality of candidate users according to the plurality of similarities, to obtain a sorting result; and determining a predetermined number of candidate users from the plurality of candidate users as the set of similar users according to the sorting result.

9. The method according to claim 8, wherein, the determining of the set of similar users from the plurality of candidate users according to the plurality of similarities includes: determining the set of similar users from the plurality of candidate users according to a predetermined similarity threshold and the plurality of similarities.

10. The method according to any one of claims 1 to 3, further includes: in response to receiving a data optimization request, optimizing the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users according to the data optimization method indicated by the data optimization request, so as to determine a target object recommended to the target user according to the optimized target behavior data and candidate user behavior data.

11. The method according to any one of claims 1 to 3, wherein, the sending of the target object to the target client so as to recommend the target object to the target user includes: directly sending the target object to the target client so as to recommend the target object to the target user; or sending the target object to the target client through a blockchain node corresponding to the target client so as to recommend the target object to the target user.

12. The method according to claim 11, further includes: encrypting the target object using a first public key to obtain a first encrypted target object; Among them, directly sending the target object to the target client for recommending the target object to the target user includes: Directly sending the first encrypted target object to the target client so that the target client decrypts the first encrypted target object by using the first private key to obtain the target object recommended to the target user. Among them, the first public key and the first private key are generated by the target client by processing the user identification information of the target user by using the first encryption algorithm, and the first public key is stored in the predetermined blockchain through the blockchain node corresponding to the target client.

13. The method according to claim 11, further including: Encrypting the target object by using the second public key to obtain a second encrypted target object; Among them, sending the target object to the target client through the blockchain node corresponding to the target client for recommending the target object to the target user includes: Sending the second encrypted target object to the target client through the blockchain node corresponding to the target client so that the target client decrypts the third encrypted target object by using the third private key to obtain the target object recommended to the target user. Among them, the third encrypted target object is obtained by encrypting the target object obtained by decrypting the second encrypted target object by the blockchain node corresponding to the target client by using the third public key after decrypting it by using the second private key. The second public key and the second private key are generated by the blockchain node corresponding to the target client by processing the user identification information of the target user by using the second encryption algorithm, and the third public key and the third private key are generated by the target client by processing the user identification information of the target user by using the third encryption algorithm.

14. The method according to any one of claims 1 to 3, wherein, responding to receiving the target user behavior data of the target user from the target client, and determining the target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users includes: responding to directly receiving the target user behavior data of the target user from the target client, and determining the target object according to the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users; or responding to receiving the target user behavior data of the target user from the target client through the blockchain node corresponding to the target client, and determining the target object according to the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users.

15. The method according to any one of claims 1 to 3, wherein, at least one candidate object corresponding to the candidate user behavior data includes at least one of the following: client attribute information, client function information, and client credit information of the client corresponding to the candidate user behavior data, and item attribute information of the item corresponding to the candidate user behavior data.

16. The method according to any one of claims 1 to 3, wherein, the target object includes a plurality of the candidate objects.

17. The method according to any one of claims 1 to 3, further comprising: generating an object recommendation graph according to the target object corresponding to each of a plurality of time periods; and sending the object recommendation graph to the target client, so as to recommend the object recommendation graph to the target user.

18. The method according to any one of claims 1 to 3, wherein, there are a plurality of the target users; the determining the target object according to the target user behavior data of the target user received from the target client and at least one candidate user behavior data corresponding to a plurality of candidate users includes: in response to receiving the target user behavior data of a plurality of target users from at least one target client, batch-processing the plurality of target behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users, and determining the target object of each of the plurality of target users; wherein, the sending the target object to the target client, so as to recommend the target object to the target user, includes: sending the target object of each of the plurality of target users to the at least one target client, so as to recommend the target object of each of the plurality of target users to the plurality of target users.

19. The method according to any one of claims 1 to 3, wherein, one of the target user and the candidate user includes a non-registered user.

20. An object recommendation method, applied to a blockchain network, the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes include blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client; the method comprises: for each blockchain node in the plurality of blockchain nodes, in response to receiving a data on-chain request of at least one candidate user from a client corresponding to the blockchain node, parsing the at least one data on-chain request to obtain candidate user behavior data corresponding to the at least one candidate user; processing the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to at least one of the candidate user behavior data; and storing at least one of the blocks in a predetermined blockchain, so that a server sends a target object recommended to a target user to a target client, wherein the target object is determined by the server according to a target user behavior vector corresponding to target user behavior data and candidate user behavior vectors of at least one candidate user behavior data corresponding to a plurality of the candidate users, and the target user behavior data is user behavior data of a target user received by the server from the target client; Each of the candidate user behavior vectors is determined based on a user latent factor matrix and an object latent factor matrix obtained under a predetermined condition; wherein, the user latent factor matrix and the object latent factor matrix obtained under the predetermined condition are obtained by adjusting the element values of an initial user latent factor matrix and an initial object latent factor matrix according to an output value; the output value is determined based on a predetermined objective function using the initial user latent factor matrix, the initial object latent factor matrix, and a true user behavior vector; and the true user behavior vector is determined based on the candidate user behavior data.

21. The method according to claim 20, further comprises: In response to receiving a data uploading request of a new candidate user from a client corresponding to the blockchain node, parsing the data uploading request of the new candidate user to obtain candidate user behavior data corresponding to the new candidate user; Processing the candidate user behavior data corresponding to the new candidate user to generate a block corresponding to the candidate user behavior data of the new candidate user; and Updating the predetermined blockchain according to the block corresponding to the candidate user behavior data of the new candidate user.

22. The method according to claim 20 or 21, further comprises: In response to receiving a first public key from the target client, the blockchain node corresponding to the target client stores the first public key in the predetermined blockchain so that the server uses the first public key to encrypt the target object to obtain a first encrypted target object, wherein the first public key is generated by the target client processing user identification information of the target user using a first encryption algorithm.

23. The method according to claim 20 or 21, further comprises: In response to receiving a second encrypted target object from the server, the blockchain node corresponding to the target client decrypts the second encrypted target object using a second private key to obtain the target object, wherein the second encrypted target object is obtained by the server encrypting the target object using a second public key; encrypting the target object using a third public key to obtain a third encrypted target object; and Sending the third encrypted target object to the target client so that the target client decrypts the third encrypted target object using a third private key to obtain the target object recommended to the target user, wherein the second public key and the second private key are generated by the blockchain node processing user identification information of the target user using a second encryption algorithm, and the third public key and the third private key are generated by the target client processing user identification information of the target user using a third encryption algorithm.

24. The method according to claim 20 or 21, further comprises: In response to receiving target user behavior data of a target user from the target client, the blockchain node corresponding to the target client sends the target user behavior data to the server.

25. The method according to claim 20 or 21, further comprises: The blockchain node corresponding to the target client, in response to receiving the recommended feedback data of the target user from the target client, sets a feedback dimension so as to add the feedback dimension to the dimensions of the candidate user behavior data.

26. The method according to claim 25, further comprises: Determining data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object according to the recommended feedback data.

27. The method according to claim 25, further comprises: Updating the reward information of the candidate user corresponding to the target object according to the recommended feedback data.

28. The method according to claim 20 or 21, wherein processing the candidate user behavior data corresponding to at least one candidate user to generate a block corresponding to at least one of the candidate user behavior data includes: For each candidate user among the at least one candidate user, when it is determined that there is a block corresponding to the user identification information in the predetermined blockchain according to the user identification information corresponding to the candidate user, processing the candidate user behavior data corresponding to the candidate user to generate a block corresponding to the candidate user behavior data.

29. The method according to claim 20 or 21, further comprises: Determining the blocks of candidate users corresponding to the same user identification information; Generating a user portrait set corresponding to the user identification information according to the blocks of candidate users corresponding to the same user identification information; and Sending the user portrait set to the client corresponding to the user identification information so that the candidate user corresponding to the user identification information can obtain the user portrait set.

30. The method according to claim 29, further comprises: Visually displaying the user portrait set.

31. The method according to claim 20 or 21, wherein storing at least one of the blocks in a predetermined blockchain includes: Storing at least one of the blocks in the predetermined blockchain in batches.

32. An object recommendation method, comprises: For the clients corresponding to multiple blockchain nodes in the blockchain network, in response to detecting that the data on-chain operation for at least one candidate user corresponding to the client is triggered, obtaining the candidate user behavior data corresponding to the at least one candidate user; Generating a data on-chain request corresponding to the at least one candidate user according to the candidate user behavior data corresponding to the at least one candidate user; and Send at least one of the data on-chain requests to the blockchain node corresponding to the client, so that the blockchain node generates blocks corresponding to at least one of the candidate user behavior data by using at least one of the data on-chain requests, and stores at least one of the blocks in a predetermined blockchain, so that the server sends a target object recommended to a target user to the target client, where the target object is determined by the server according to the target user behavior vector corresponding to the target user behavior data and the candidate user behavior vectors of at least one candidate user corresponding to the multiple candidate user behavior data, and the target user behavior data is the user behavior data of the target user received by the server from the target client; Each of the candidate user behavior vectors is determined according to a user latent factor matrix and an object latent factor matrix obtained under a predetermined condition; wherein, the user latent factor matrix and the object latent factor matrix obtained under the predetermined condition are obtained by adjusting the element values of the initial user latent factor matrix and the initial object latent factor matrix according to an output value; the output value is determined based on a predetermined objective function by using the initial user latent factor matrix, the initial object latent factor matrix, and a true user behavior vector; the true user behavior vector is determined according to the candidate user behavior data.

33. The method according to claim 32, further comprises: For the target client corresponding to the target user, process the user identification information of the target user by using a first encryption algorithm to generate a first public key and a first private key; Send the first public key to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client stores the first public key in the predetermined blockchain; and In response to receiving a first encrypted target object from the server, decrypt the first encrypted target object by using the first private key to obtain the target object recommended to the target client, where the first encrypted target object is obtained by the server encrypting the target object by using the first public key.

34. The method according to claim 32, further comprises: For the target client corresponding to the target user, process the user identification information of the target user by using a third encryption algorithm to generate a third public key and a third private key; Send the third public key to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client encrypts the target object by using the third public key to obtain a third encrypted target object, where the target object is obtained by the blockchain node corresponding to the target client decrypting a second encrypted target object by using a second private key, and the second encrypted target object is obtained by the server encrypting the target object by using a second public key; and In response to receiving the third encrypted target object from the blockchain node corresponding to the target client, decrypt the third encrypted target object by using the third private key to obtain the target object recommended to the target user.

35. The method according to any one of claims 32 to 34, further comprises: Upon detecting that a data on-chain operation for a new candidate user corresponding to the client is triggered, obtaining candidate user behavior data corresponding to the new candidate user; Generating a data on-chain request for the new candidate user according to the candidate user behavior data corresponding to the new candidate user; And Sending the data on-chain request for the new candidate user to a blockchain node corresponding to the client, so that the blockchain node corresponding to the client updates the predetermined blockchain by using the candidate user behavior data of the new candidate user obtained by processing the data on-chain request for the new candidate user.

36. The method according to any one of claims 32 to 34, further comprises: Upon detecting that a data on-chain operation is triggered, determining a data optimization method; Generating a data optimization request according to the data optimization method; And Sending the data optimization request to the server, so that the server optimizes the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users according to the data optimization method indicated by the data optimization request.

37. The method according to any one of claims 32 to 34, further comprises: In response to receiving recommendation feedback data from the target user, the target client corresponding to the target user sends the recommendation feedback data to a blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client sets a feedback dimension according to the recommendation feedback data of the target user, so as to add the feedback dimension to the dimensions of the candidate user behavior data.

38. An object recommendation device, comprises: A first determination module configured to, upon receiving target user behavior data of a target user from a target client, determine a target object according to the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users; And A first sending module configured to send the target object to the target client, so as to recommend the target object to the target user, wherein each candidate user behavior data is stored in a predetermined blockchain, each candidate user behavior data corresponds to at least one blockchain node among multiple blockchain nodes in a blockchain network, and each candidate user behavior data is used to characterize the preference degree of a candidate user for at least one candidate object; The target object is determined according to a target user behavior vector corresponding to the target user behavior data and a candidate user behavior vector corresponding to the candidate user behavior data; Each of the candidate user behavior vectors is determined according to a user latent factor matrix and an object latent factor matrix obtained under the condition of meeting a predetermined condition; wherein, the user latent factor matrix and the object latent factor matrix obtained under the condition of meeting the predetermined condition are obtained by adjusting the element values of an initial user latent factor matrix and an initial object latent factor matrix according to an output value; the output value is determined based on a predetermined objective function by using the initial user latent factor matrix, the initial object latent factor matrix, and a true user behavior vector; the true user behavior vector is determined according to the candidate user behavior data.

39. An object recommendation device is provided in a blockchain network, and the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes include blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client; The device includes: A first obtaining module, configured to, for each blockchain node among the plurality of blockchain nodes, in response to receiving at least one data on-chain request from a client corresponding to the blockchain node, parse the at least one data on-chain request to obtain candidate user behavior data corresponding to the at least one candidate user; A first generating module, configured to process the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data; and A first storage module, configured to store at least one of the blocks in a predetermined blockchain, so that a server sends a target object recommended to a target user to a target client, where the target object is determined by the server according to a target user behavior vector corresponding to target user behavior data and candidate user behavior vectors of at least one candidate user behavior data corresponding to a plurality of the candidate users, and the target user behavior data is user behavior data of a target user of the server in response to receiving from a target client; Each of the candidate user behavior vectors is determined according to a user latent factor matrix and an object latent factor matrix obtained under the condition of meeting a predetermined condition; wherein, the user latent factor matrix and the object latent factor matrix obtained under the condition of meeting the predetermined condition are obtained by adjusting the element values of an initial user latent factor matrix and an initial object latent factor matrix according to an output value; the output value is determined based on a predetermined objective function by using the initial user latent factor matrix, the initial object latent factor matrix, and a true user behavior vector; the true user behavior vector is determined according to the candidate user behavior data.

40. An object recommendation device includes: A second obtaining module, configured to, for clients corresponding to a plurality of blockchain nodes in a blockchain network, in response to detecting that a data on-chain operation for at least one candidate user corresponding to the client is triggered, obtain candidate user behavior data corresponding to the at least one candidate user; A second generation module, configured to generate a data on-chain request corresponding to the at least one candidate user according to the candidate user behavior data corresponding to the at least one candidate user; And A second sending module, configured to send at least one of the data on-chain requests to a blockchain node corresponding to the client, so that the blockchain node uses at least one of the data on-chain requests to generate a block corresponding to at least one of the candidate user behavior data, and stores at least one of the blocks in a predetermined blockchain, so that the server sends a target object recommended to a target user to the target client, where the target object is determined by the server according to a target user behavior vector corresponding to target user behavior data and candidate user behavior vectors of at least one candidate user corresponding to a plurality of candidate users, and the target user behavior data is user behavior data of a target user received by the server from the target client; Each of the candidate user behavior vectors is determined according to a user latent factor matrix and an object latent factor matrix obtained under a predetermined condition; wherein, the user latent factor matrix and the object latent factor matrix obtained under the predetermined condition are obtained by adjusting the element values of an initial user latent factor matrix and an initial object latent factor matrix according to an output value; the output value is determined based on a predetermined objective function, using the initial user latent factor matrix, the initial object latent factor matrix, and a true user behavior vector; and the true user behavior vector is determined according to the candidate user behavior data.

41. An electronic device, Comprising: One or more processors; A memory, configured to store one or more programs, Wherein, 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 37.

42. A computer-readable storage medium, on which executable instructions are stored, and when the instructions are executed by a processor, the processor implements the method according to any one of claims 1 to 37.

43. A computer program product, the computer program product includes a computer program, and when the computer program is executed by a processor, it is used to implement the method according to any one of claims 1 to 37.

Citation Information

Patent Citations

  • Data file security privacy storage and sharing method based on a block chain

    CN109768987A

  • Course recommendation method and device, computer equipment and storage medium

    CN113220734A