Data processing method, device, computer equipment and storage medium
By storing recommended data in the preset storage space and generating graph nodes, and building target data graphs to determine push data, the inefficiency problem of storing and filtering massive data in traditional data recommendation methods is solved, and efficient data recommendation is achieved.
Patent Information
- Application Number
- CN202111536335.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-14
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2041-12-14
AI Technical Summary
When storing and filtering massive recommended data, traditional data recommendation methods require a large amount of storage space and computing resources, resulting in a low data recommendation rate.
By storing the recommended data in a preset storage space and generating a graph node based on the storage address of each recommended data and its associated target recommendation data, a target data graph is constructed to determine the push data sent to the client.
It effectively improves the speed of data recommendation, avoids traversing all recommended data in the preset storage space, saves storage resources and improves the efficiency of data recommendation.
Smart Images

Figure CN114186101B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a data processing method, apparatus, computer equipment and storage medium. Background Art
[0002] With the vigorous development of Internet technology, people can obtain a variety of information from the Internet according to their needs. In actual application scenarios, data that meets user needs is usually filtered out from related data based on certain label information, so as to achieve data recommendation for users. In the process of data recommendation, it is usually necessary to filter data from a large amount of recommended data. Traditional data recommendation methods usually require a large amount of storage space when storing these recommended data, which also leads to a large amount of computing resources required for data filtering, which in turn leads to the problem of low data recommendation rate. Therefore, how to improve the efficiency of data recommendation has become a current research hotspot. Summary of the invention
[0003] The embodiments of the present application provide a data processing method, apparatus, computer device and storage medium, which can improve the efficiency of data recommendation.
[0004] On the one hand, an embodiment of the present application provides a data processing method, including:
[0005] Acquire a plurality of recommendation data, and store the plurality of recommendation data in a preset storage space, wherein each recommendation data in the plurality of recommendation data is associated with at least one other recommendation data;
[0006] Determining target recommended data associated with each of the recommended data from the plurality of recommended data, and acquiring a storage address of the target recommended data in the preset storage space;
[0007] Generate a graph node based on each of the recommended data and a storage address of the target recommended data associated with each of the recommended data to obtain a plurality of graph nodes;
[0008] A target data graph is constructed according to the multiple graph nodes, and the target data graph is used to determine push data sent to the client, and the push data exists in the multiple recommendation data.
[0009] On the one hand, an embodiment of the present application provides a data processing device, including:
[0010] An acquiring unit, configured to acquire a plurality of recommendation data and store the plurality of recommendation data in a preset storage space, wherein each recommendation data in the plurality of recommendation data is associated with at least one other recommendation data;
[0011] a determining unit, configured to determine target recommended data associated with each of the recommended data from the plurality of recommended data, and obtain a storage address of the target recommended data in the preset storage space;
[0012] A generating unit, configured to generate a graph node based on each of the recommended data and a storage address of a target recommended data associated with each of the recommended data, so as to obtain a plurality of graph nodes;
[0013] A processing unit is used to construct a target data graph according to the multiple graph nodes, wherein the target data graph is used to determine push data sent to the client, and the push data exists in the multiple recommendation data.
[0014] In one aspect, an embodiment of the present application provides a computer device, including:
[0015] a processor adapted to implement one or more computer programs;
[0016] Computer storage medium, the computer storage medium storing one or more computer programs, the one or more computer programs being suitable for being loaded and executed by a processor:
[0017] Acquire multiple recommendation data, and store the multiple recommendation data in a preset storage space, each recommendation data in the multiple recommendation data is associated with at least one other recommendation data; determine the target recommendation data associated with each recommendation data from the multiple recommendation data, and obtain the storage address of the target recommendation data in the preset storage space; generate a graph node based on each recommendation data and the storage address of the target recommendation data associated with each recommendation data to obtain a plurality of graph nodes; construct a target data graph according to the multiple graph nodes, and the target data graph is used to determine the push data sent to the client, and the push data exists in the multiple recommendation data.
[0018] In one aspect, an embodiment of the present application further provides a computer storage medium, wherein the computer storage medium stores one or more computer programs, and the one or more computer programs are suitable for being loaded and executed by a processor:
[0019] Acquire multiple recommendation data, and store the multiple recommendation data in a preset storage space, each recommendation data in the multiple recommendation data is associated with at least one other recommendation data; determine the target recommendation data associated with each recommendation data from the multiple recommendation data, and obtain the storage address of the target recommendation data in the preset storage space; generate a graph node based on each recommendation data and the storage address of the target recommendation data associated with each recommendation data to obtain a plurality of graph nodes; construct a target data graph according to the multiple graph nodes, and the target data graph is used to determine the push data sent to the client, and the push data exists in the multiple recommendation data.
[0020] In one aspect, an embodiment of the present application further provides a computer program product or a computer program, wherein the computer program product includes a computer program, and the computer program is suitable for being loaded and executed by a processor:
[0021] Acquire multiple recommendation data, and store the multiple recommendation data in a preset storage space, each recommendation data in the multiple recommendation data is associated with at least one other recommendation data; determine the target recommendation data associated with each recommendation data from the multiple recommendation data, and obtain the storage address of the target recommendation data in the preset storage space; generate a graph node based on each recommendation data and the storage address of the target recommendation data associated with each recommendation data to obtain a plurality of graph nodes; construct a target data graph according to the multiple graph nodes, and the target data graph is used to determine the push data sent to the client, and the push data exists in the multiple recommendation data.
[0022] In the embodiment of the present application, the recommended data are all stored in a preset storage space. Therefore, after the relevant device executing the data processing method provided in the embodiment of the present application obtains the target recommended data corresponding to each recommended data, it can generate a graph node based on the recommended data and the storage address of the corresponding target recommended data in the preset storage space. Among them, the target recommended data corresponding to any recommended data refers to the recommended data that has an associated relationship with the any recommended data among the multiple recommended data obtained by the relevant device, that is, the relevant device can obtain at least two recommended data with an associated relationship based on each graph node in the embodiment of the present application. Then, it is not difficult to understand that when the relevant device adopts the data processing method provided in the embodiment of the present application to implement data recommendation, it can obtain push data based on a certain node in the target data graph, avoiding the traversal of all recommended data in the preset storage space. Therefore, the data processing method provided in the embodiment of the present application can effectively improve the rate of data recommendation. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0024] Figure 1a It is a schematic diagram of the structure of a target data graph provided in an embodiment of the present application;
[0025] Figure 1b is a schematic diagram of a data processing system provided in an embodiment of the present application;
[0026] Figure 2 is a schematic flow chart of a data processing method provided in an embodiment of the present application;
[0027] Figure 3 is a schematic flow chart of another data processing method provided in an embodiment of the present application;
[0028] Figure 4 is a structural schematic diagram of a data processing device provided in an embodiment of the present application;
[0029] Figure 5 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0030] An embodiment of the present application provides a data processing method, which points out that: all recommended data can be stored in a preset storage space, and then a graph node can be generated based on a recommended data and the storage address of the target recommended data that has an associated relationship with the recommended data (that is, the storage address of the target recommended data in the preset storage space), and further a target data graph can be generated based on the graph node corresponding to each recommended data. Then, when making data recommendations for the client, relevant recommended data can be obtained from the target data graph and sent to the corresponding client as push data. Since each graph node in the target data graph stores recommended data with an associated relationship, the determination of push data based on the target data graph can have a higher rate, that is, when making data recommendations based on the target data graph, the data recommendation efficiency is higher.
[0031] Among them, the push data refers to: the recommended data that the computer device determines from the recommended data included in the preset storage space and needs to be pushed to the client. The recommended data can be business data in any recommendation business related to the client, and the data type of the recommended data can include but is not limited to: image type, text type, audio type, video type, etc. Exemplarily, taking the client as a shopping client as an example, the recommended data can be business data in the commodity recommendation business, such as: the commodity name corresponding to the commodity that can be purchased in the shopping client, or the store information corresponding to the store opened in the shopping client (such as: store video introduction, store promotion image), etc. The target recommended data of any recommended data can be understood as: the recommended data that has an associated relationship with any recommended data among all the recommended data included in the preset storage space. Optionally, the situation where the recommended data A and the recommended data B have an association relationship may include but are not limited to any one or two of the following: (1) the feature similarity between the data features of the recommended data A and the data features of the recommended data B is greater than the similarity threshold; (2) after a selection behavior for any recommended data (i.e., recommended data A or recommended data B) is generated in the client, there is a high probability (e.g., 80% or more) that a selection behavior for the corresponding other recommended data (i.e., recommended data B or recommended data A) is generated. Taking data recommendation in a product recommendation scenario as an example, if a user browses the product XX camera, there is an 85% probability that the user will browse XX photo paper, then it can be considered that the product data corresponding to the XX camera (e.g., product name) and the product data corresponding to the XX photo paper have an association relationship. The preset storage space can be a local storage space (e.g., a memory of a terminal device where the client is located) or a cloud storage space (e.g., a database of a server where the client is located). The method for determining the target recommended data corresponding to any recommended data can be referred to the detailed description in the subsequent embodiments, and the embodiments of this application will not be repeated here.
[0032] In a specific embodiment, the recommended data in the preset storage space may be stored in the form of a data table. Then, in this case, the storage address of the recommended data may be used to indicate the specific location of the recommended data in the data table, such as: row X, column X of the XX data table in the preset storage space. In addition, the target data graph refers to a graph in a mathematical sense, which is a data structure, which can essentially be understood as a two-dimensional array. A graph can be used to describe the relationship between a group of objects, and any object in this group of objects can be called a node or a point. Then, if there is a connection relationship between any two nodes in the graph, it is considered that the two data corresponding to the two nodes have an association relationship, and correspondingly, the element value used to represent the association relationship between the two nodes in the two-dimensional array corresponding to the graph is a non-zero value. Exemplarily, the structure of the graph may be as follows Figure 1a shown. Figure 1a Each circle in (such as: Figure 1a The circle marked with 101 or Figure 1a The circle marked by 103 in the figure represents a graph node in the figure, and the edge between the circles is used to indicate that the two corresponding graph nodes have a connection relationship. It can be understood that if there is an edge between two circles, it means that the two data corresponding to the two graph nodes have an association relationship. In conjunction with the embodiment of the present application, suppose Figure 1a The graph shown is used to represent the target data graph in the embodiment of the present application. Then, each graph node may include a recommended data and a storage address of the target recommended data having an associated relationship with the recommended data, and the edge between any two graph nodes may represent that the corresponding two recommended data have an associated relationship. Then, that is to say, because there is an edge marked by 102 between the node marked by 101 (hereinafter referred to as: node 101) and the node marked by 103 (hereinafter referred to as: node 103), it can be considered that there is an associated relationship between node 101 and node 103, and it can be further considered that there is an associated relationship between the recommended data stored in node 101 and the recommended data stored in node 103. Among them, it is not difficult to understand that if a graph node stores the storage address of the recommended data corresponding to another graph node, it means that the two graph nodes have a connection relationship in the target data graph. Then, based on this, the connection relationship between each graph node can be determined according to the storage address stored in the graph node corresponding to each recommended data, so that a meshed target data graph can be constructed based on these graph nodes and the connection relationship between graph nodes. It can also be understood that in actual applications, the device for performing data recommendation can push the recommended data stored in other nodes that have a connection relationship with node 101 (such as: the recommended data stored in node 103) to the client after detecting that the client has browsed the recommended data stored in node 101, thereby realizing data recommendation for the client.
[0033] In one embodiment, the data processing method provided in the embodiment of the present application can be performed by a computer device. Among them, the computer device can be a terminal device or a server, and the embodiment of the present application does not specifically limit this. Then, when the data processing method provided in the embodiment of the present application is performed by a computer device, the general principle of the embodiment of the present application can be as follows: the computer device first stores the acquired recommended data in a preset storage space, and then the computer device can determine the target recommended data corresponding to each recommended data, and after the computer device determines the target recommended data of any recommended data, obtain the storage address of the target recommended data. Further, the computer device can generate a graph node based on any recommended data and the acquired storage address. Then, based on this, the computer device can generate multiple graph nodes based on the acquired multiple recommended data, so that the computer device can construct a target data graph based on multiple graph nodes. Then, after the computer device constructs the target data graph, the computer device can determine the push data that needs to be sent to the client based on the target data graph, thereby realizing data recommendation for the client.
[0034] In another embodiment, the data processing method provided in the embodiment of the present application can be applied to Figure 1b The data processing system shown. Figure 1b It can be seen that the system includes a data recommendation module 111, a data security management module 112, a data transmission module 113 and a data application module 114. Among them, the data recommendation module 111 is used to determine the push data for the client, and the data recommendation module 111 may include one or more servers, and a data connection can be established between any two servers. Exemplarily, the one or more servers may specifically include any one or more of the following: IM (Instant Messaging) server, recommended data filtering server, data recommendation server, AI (Artificial Intelligence) computing server. In practical applications, the data connection between any two servers in the data recommendation module 111 can be implemented by a computer device based on the Netty framework. The Netty framework refers to an asynchronous event-driven network application framework that supports the rapid development of maintainable, high-performance, protocol-oriented servers and clients. In order to facilitate a clear understanding of the data processing system provided in the embodiment of the present application, the following is a detailed introduction to each server that the data recommendation module 111 may include.
[0035] (1) IM server: A communication connection is established between the IM server and the client, and the IM server can be used to exchange information with the client, such as sending push data to the client. In practical applications, the communication connection between the IM server and the client can also be implemented based on the Netty framework. In addition, the IM server can also be used to obtain the object data of the target object corresponding to the client, and perform data analysis on the obtained object data, so that other servers in the data recommendation module 111 can provide data recommendation services to the client based on the data analysis results. In the embodiment of the present application, the IM server can also provide unique reporting, feedback and other functions, so that the data processing system provided by the embodiment of the present application can support the user corresponding to the client to directly report other users who have violated regulations and laws through the IM server. Then, the supervisory operator of the data recommendation system can view the reporting information on the operation management platform, and can perform operations such as banning illegal users on the operation management platform, so that the data processing system provided by the embodiment of the present application can achieve a perfect combination of technology and operation management, and maximize the health of the client's use environment.
[0036] (2) Data recommendation server: The data recommendation server can be used to obtain business data in the recommended business, and determine the business data that may need to be pushed to the client from the redundant business data, and further use the determined business data as recommended data. In addition, the data recommendation server can also be used to construct a target data graph corresponding to the recommended data, so that the AI computing server and the recommended data filtering server can provide data recommendation services to the client based on the target data graph. In a specific implementation, the data recommendation server can implement the construction of the target data graph by defining annotations. Among them, annotations (Annotation), also known as annotations, are an annotation mechanism introduced by JDK5.0 (Java Development Kit, Java language software development kit). In this annotation mechanism, annotations can be defined using @interface (a way to implement custom annotations). It should be noted that in the embodiment of the present application, annotations can be understood as a software package, which stores code data corresponding to the code logic for implementing the construction of the target data graph. In addition, it should be noted that in actual applications, the annotations in the embodiment of the present application can be called by other applications. That is to say, the data processing system provided in the embodiment of the present application may include terminal devices and background servers corresponding to other applications. Among them, the way other applications call the annotations provided in the embodiment of the present application can be specifically referred to the relevant description of the recommended data filtering server in (3).
[0037] (3) Recommended data filtering server: The recommended data filtering server can be used to determine part or all of the pushed data, and can also establish data connections with other applications. In the process of recommending data filtering servers to achieve data connections with other applications, relevant technicians can encapsulate the annotations in the embodiment of the present application into a Jar package (Java Archive, Java Archive), and then store the Jar package in a data warehouse (taking Maven warehouse as an example). In this case, when there are other applications that want to call the data processing method provided by the embodiment of the present application, the business party where the application is located can encapsulate the application into a Jar package and upload it to the Maven warehouse. Then, the business party can add the GAV (GroupId organization / top-level project, ArtifactId project / library, Version unique release version number) coordinates of the Jar package of the application in the configuration file pom.xml (the file name of a configuration file in the Maven warehouse) of the Maven warehouse, so that the recommended data filtering server can establish a dependency relationship between the Jar package of the application and the Jar package corresponding to the annotation, thereby realizing the application's call to the annotation, which also enables the business party's application to adopt the data processing method provided by the embodiment of the present application.
[0038] (4) AI computing server: The AI computing server can be used to determine the push data corresponding to the client based on the object data obtained by the IM server and the target data graph in the data recommendation server. It should be noted that when the data processing system detects that the client has a data recommendation requirement, the data recommendation module 111 will first determine the push data in the AI computing server. However, in order to ensure the accuracy of the push data, the AI computing server can also send the determined push data to the recommended data filtering server for secondary screening, so that the data recommendation module 111 can determine the recommended data that better meets the client's business needs.
[0039] The following is a description of other components included in the data processing system. Among them, the data security management module 112 is used to ensure the security of the recommended data and client-related data. The data security management module 112 can be implemented based on firewall technology. Firewall technology refers to: a technology that helps computer networks build a relatively isolated protection barrier between their internal and external networks by organically combining various software and hardware devices for security management and screening to protect the security of user data and information. The data transmission module 113 is used to transmit client-related data (such as: the object data mentioned later) and recommended data between the data recommendation module 111 and the data application module 114. The data transmission module 113 can be composed of a wide area network and / or a local area network. Both wide area networks and local area networks can be used for data transmission. Among them, a wide area network refers to: a remote network used to connect multiple regions, cities and countries, or across several continents, and provide long-distance communication; a local area network refers to: a computer network that can connect computers in a limited area such as a residence, school, laboratory, university campus or office building. The data application module 114 is used to receive the push data determined by the data recommendation module 111. In actual applications, the data application module 114 mainly includes one or more terminal devices, and a client with data recommendation requirements can be run in any terminal device.
[0040] Then, when the data processing method provided in the embodiment of the present application is applied to Figure 1b In the data processing system shown in FIG. 1 , the data processing method can be specifically performed by Figure 1b The various modules in the data processing system are executed collaboratively. Then, in this case, the general principle of the data processing method can be as follows: the data recommendation module 111 obtains the recommended data, and constructs a target data graph based on the obtained recommended data. Then, when the data recommendation module 111 detects that the client running in the data application module 114 has a data recommendation demand, it determines the push data for the client from the constructed target data graph, and sends it to the client in the data application module 114 through the data transmission module 113, thereby realizing data recommendation for the client. Among them, in the process of transmitting the recommended data by the data processing system, the data security management module 112 can also perform security detection on the data source of the transmitted recommended data or the related data sent by the client (such as: the object data mentioned in the subsequent embodiments). This method can effectively prevent malicious intrusion, the spread of malicious code, etc., thereby ensuring the security of the client and the data recommendation module 111, and to a certain extent can improve the user experience of the client and reduce the maintenance cost of the data processing system.
[0041] It should be noted that the terminal devices in the embodiments of the present application may include but are not limited to: smart phones, tablet computers, laptop computers, desktop computers, vehicle-mounted terminals, smart TVs, etc. A variety of clients (applications, APPs) can be run in the terminal devices, such as multimedia playback clients, social clients, browser clients, information flow clients, education clients, and shopping clients, etc. In addition, the server may include but is not limited to: an independent physical server, a server cluster or distributed system consisting of multiple physical servers, and a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms, etc. This application does not make specific restrictions on this.
[0042] For the convenience of description, unless otherwise specified, the following takes a computer device executing the above data processing method alone as an example to describe in detail each step involved in the data processing method provided in the embodiment of the present application.
[0043] See also Figure 2 , Figure 2 is a flow chart of a data processing method provided in an embodiment of the present application, and the data processing method can be executed by a computer device. Figure 2 As shown, the data processing method includes the following steps S201-S204:
[0044] S201, obtaining a plurality of recommendation data, and storing the plurality of recommendation data in a preset storage space.
[0045] In practical applications, the recommendation data may be data related to the recommendation service, and the recommendation service may be any type that the computer device can provide to the client. Then, the computer device may obtain the recommendation data from the service data of the recommendation service. For example, in the user recommendation service in the network social scenario, the recommendation data may be user information (such as user preference information or user location information, etc.); in the music recommendation service in the music playback scenario, the recommendation data may be song information, playlist information or singer information, etc. It is not difficult to understand that by sending the recommendation data to the client, the computer device can enable the target object corresponding to the client to obtain the service data that meets the needs of the object more quickly, which can improve the target object's satisfaction with the client to a certain extent, thereby improving the product competitiveness of the client. Specifically, taking the social application scenario as an example, the client in the social application scenario may be a social application for providing social services, and the target object may be a user using the social application. Then, when the recommendation data is user information, the computer device pushes the user information of other users to the user corresponding to the client, which can enable the user corresponding to the client to find like-minded friends more quickly, which can improve the user's experience of the social application to a certain extent. It should be noted that when the embodiments of the present application are applied to specific products or technologies, if it involves a computer device obtaining data related to user information, the computer device needs to obtain user permission or consent, and the user information obtained by the computer device needs to comply with the laws, regulations and standards of relevant countries and regions.
[0046] The preset storage space can be a memory of a computer device, or a database with a data connection to the computer device. In a specific application, the computer device can establish a data table in the preset storage space, and use the data table to store the obtained recommendation data. Optionally, the computer device can establish one or more data tables, each of which is used to store a category of recommendation data. Taking the recommended data in the commodity recommendation business as the name of the commodity, if the commodities in this scenario are divided into daily necessities, school supplies, clothing and fresh food, then the computer device can construct 4 data tables in the preset storage space, and one data table is used to store the commodity names under one category. Optionally, the computer device can also only establish one data table and use the data table to store all the recommended data. Of course, in other embodiments, the computer device can also determine the number of constructed data tables in other ways, and the embodiments of the present application do not impose specific restrictions on this.
[0047] S202: Determine target recommended data associated with each recommended data from the plurality of recommended data, and obtain a storage address of the target recommended data in a preset storage space.
[0048] Among them, the computer device can obtain any recommended data from the preset storage space according to the storage address of any recommended data. Among the multiple recommended data obtained by the computer device, each recommended data has an association relationship with at least one other recommended data. It can also be understood that each recommended data in the embodiment of the present application corresponds to at least one target recommended data. Since any target recommended data is determined from multiple recommended data, that is, any target recommended data is a recommended data stored in the preset storage space, then, when the computer device uses multiple data tables to store the recommended data obtained by the computer device from the recommendation service, the storage location of the target recommended data can be the location of the data table storing the target recommended data in the preset storage space (such as: XX data table). In this case, the computer device can obtain one or more recommended data included in the corresponding data table according to a storage location. When the computer device uses a data table to store the recommended data obtained by the computer device from the recommendation service, the storage location of the target recommended data can be the location of the target recommended data in the data table (such as: XX row XX column).
[0049] It should be noted that in order to more clearly describe the data processing method provided in the embodiment of the present application, unless otherwise specified, the following uses an example in which a computer device uses a data table to store all recommended data to explain in detail the relevant steps involved in the embodiment of the present application.
[0050] S203 , generating a graph node based on each recommended data and a storage address of target recommended data associated with each recommended data, to obtain a plurality of graph nodes.
[0051] After the computer device obtains any recommended data and the target recommended data corresponding to the any recommended data, the computer device can construct a graph node based on the obtained data, which means that the computer device can construct multiple graph nodes based on multiple recommended data. In a specific embodiment, in order to facilitate the computer device to quickly obtain other recommended data associated with the recommended data (that is, the target recommended data corresponding to the recommended data) based on a recommended data, the computer device can use different storage methods to store the recommended data and the storage address of the corresponding target recommended data. Exemplarily, the computer device can use a byte array to store the recommended data, and a bidirectional linked list to store the storage address of the corresponding target recommended data. It should be noted that the specific method in which the computer device constructs the graph node will be described in detail in the subsequent embodiments, and the embodiments of the present application will not be repeated here.
[0052] It can be seen from the above description that the computer device can construct multiple graph nodes based on the multiple recommendation data obtained. Then, since there is only one recommendation data stored in the graph node, the storage resources occupied by each graph node are relatively small. It can be seen that when the computer device adopts the data processing method provided in the embodiment of the present application to construct a graph node for storing recommendation data in the recommendation business, there is no need to allocate a large amount of storage space for the recommendation business, which can save the development cost of the recommendation business to a certain extent.
[0053] S204, constructing a target data graph according to multiple graph nodes, where the target data graph is used to determine the push data to be sent to the client.
[0054] Among them, as can be seen from the above, push data refers to: the recommended data that the computer device determines from all the recommended data and needs to be sent to the client. Then, it is not difficult to understand that the push data exists in the multiple recommended data obtained by the computer device. Based on the description of the relevant embodiment of step S203, it can be understood that each recommended data has a corresponding graph node. Then, since the target recommended data of any recommended data exists in the multiple recommended data obtained by the computer device, it can also be understood that any target recommended data also has a corresponding graph node. Based on this, it is not difficult to understand that since any graph node stores a recommended data and the storage address of the target recommended data having an associated relationship with the recommended data, then the computer device can obtain the target recommended data having an associated relationship with the recommended data stored in the graph node based on any graph node, and since any target recommended data also has a corresponding graph node, then to some extent, it can be considered that there is an associated relationship between the graph node where the corresponding target recommended data is located, so that the computer device can construct a target data graph based on the association relationship between each graph node in multiple graph nodes.
[0055] In an embodiment of the present application, after obtaining the recommended data, the computer device stores all the recommended data in a preset storage space. Therefore, after the computer device obtains the target recommended data corresponding to each recommended data, the computer device can generate a graph node based on the recommended data and the storage address of the corresponding target recommended data in the preset storage space. Under normal circumstances, the storage space required for a computer device to store a storage address is much smaller than the storage space required to store a recommended data. Therefore, it is not difficult to understand that the computer device adopts this method to construct a target data graph according to the graph node corresponding to each recommended data, which can enable the computer device to allocate a smaller storage space to store the target data graph, and can effectively save storage resources. In addition, since the target recommended data corresponding to any recommended data refers to the recommended data that has an associated relationship with the any recommended data among the multiple recommended data obtained by the computer device, that is, the computer device can obtain at least two recommended data with an associated relationship based on each graph node in the embodiment of the present application. Then, it is not difficult to understand that when a computer device adopts the data processing method provided in the embodiment of the present application to implement data recommendation, it can obtain push data based on a certain node in the target data graph, avoiding traversal of all recommended data in the preset storage space. Therefore, the computer device adopts the data processing method provided in the embodiment of the present application to effectively improve the rate of data recommendation.
[0056] See also Figure 3 , Figure 3 FIG. 1 is a schematic flow chart of another data processing method provided in an embodiment of the present application, which method can also be executed by a computer device. Figure 3 As shown, the method includes the following steps S301-S306:
[0057] S301, obtaining a plurality of recommendation data, and storing the plurality of recommendation data in a preset storage space.
[0058] In one embodiment, the specific implementation of step S301 can refer to the description of the relevant implementation in step S201, and the embodiment of the present application will not be repeated here.
[0059] S302: Determine target recommended data associated with each recommended data from the plurality of recommended data, and obtain a storage address of the target recommended data in a preset storage space.
[0060] In one embodiment, when a computer device obtains target recommended data corresponding to any recommended data among multiple recommended data, the computer device may first extract features from each recommended data among the multiple recommended data to obtain data features of each recommended data. Wherein, for the sake of convenience, any recommended data among the multiple recommended data is referred to as recommended data A below. Based on this, further, the computer device may calculate the feature similarity between the data features of recommended data A and the data features of other recommended data, and determine whether there is an association relationship between the corresponding two recommended data according to the feature similarity, thereby determining the corresponding target recommended data. Wherein, other recommended data refers to: any recommended data among the multiple recommended data except recommended data A. Similarly, for the sake of convenience, other recommended data is referred to as recommended data B below. Then, based on this, if the computer device determines that the feature similarity between the data features of recommended data A and the data features of recommended data B is greater than or equal to the similarity threshold (such as: 80%), the computer device may determine that there is an association relationship between recommended data B and recommended data A, so that the computer device may further use recommended data B as the target recommended data corresponding to recommended data A. Then, it is not difficult to understand that if the computer device determines the association between the corresponding two recommendation features based on the feature similarity between the recommended data, then in the actual data recommendation scenario, the push data pushed by the computer device to the client can be similar recommended data similar to a certain recommended data, and the similar recommended data is the target recommended data corresponding to the recommended data. In this case, the target object corresponding to the client can obtain the required data more quickly, which improves the user experience.
[0061] In another embodiment, the computer device can also determine the association relationship between the recommended data based on the behavior data of the target object corresponding to the client. Specifically, the computer device can first obtain the behavior data of each target object among all the target objects corresponding to the client, and then the computer device can perform data analysis on the obtained behavior data, so that the computer device can determine the association relationship between the recommended data in the process of performing data analysis on the obtained behavior data. In order to facilitate a clear description of the specific way in which the computer device determines the association relationship between the recommended data, the following takes the game recommendation scenario as an example to elaborate on the corresponding steps. In the game recommendation scenario, the recommended data can be the name of the game (such as: Game A and Game B mentioned later), the target object can be a user with an account in the game client, and the behavior data of the target object can include but is not limited to: game purchase records, game search records, game review data, etc. Taking the behavioral data as game purchase records as an example, in this case, the computer device can first obtain the game purchase records of one or more users, and then the computer device can perform data analysis based on the obtained game purchase records to determine whether a certain game purchase behavior generated by the corresponding user is related to one or more other game names. If so, the computer device can deem that the corresponding games have an associated relationship, thereby enabling the computer device to determine the associated relationship between the corresponding recommendation data.
[0062] For example, if the computer device finds in the process of data analysis of the user's game purchase record that the user has a greater probability of purchasing game B after purchasing game A (that is, the probability of the user purchasing game B after purchasing game A is greater than or equal to the probability threshold). Then, in this case, the computer device can determine that there is an association relationship between the recommended data of game A and the recommended data of game B, and then determine that the target recommended data corresponding to game A includes game B. It is not difficult to understand that in actual applications, the feature similarity between game A and game B may be less than the feature similarity threshold, such as: game A can be a puzzle game, and game B can be a competitive game. Then, based on the characteristics of the game itself, it can be determined that game A and game B are not similar. Based on this, it is not difficult to understand that the computer device can make each recommended data correspond to richer target recommended data by performing data analysis on behavioral data to determine the association relationship between recommended data, so that the computer device can push richer and more diverse recommended data to the client in the actual data recommendation scenario, and further enable the target object corresponding to the client to obtain more diverse data, which can improve the fun of the corresponding client.
[0063] S303: Generate a graph node based on each recommended data and the storage address of the target recommended data associated with each recommended data to obtain a plurality of graph nodes.
[0064] In practical applications, for any recommended data, when a computer device generates a graph node of the recommended data, it can first perform reversible compression coding on the recommended data to obtain the coded data; further, after obtaining the coded data, the computer device can use a byte array to store the coded data, thereby realizing the storage of the recommended data. Among them, reversible compression coding, also known as lossless data compression, refers to a technology in which a computer device can completely restore the compressed recommended data to its original state before compression after decompression. In other words, in the process of data compression of the recommended data by the computer device using the reversible compression coding method, the information corresponding to the recommended data is not lost. This compression coding method ensures the consistency of the recommended data before and after compression. In practical applications, the computer device can specifically use reversible compression coding technologies such as Shannon-Fanno coding, Huffman coding, dictionary coding or arithmetic coding to perform reversible compression coding on the recommended data, and the embodiments of the present application are not limited to this. Then, it is not difficult to understand that when the computer device generates a graph node, the computer device uses reversible compression coding plus byte array to store the recommended data, which can reduce the storage space occupied by the graph node while ensuring the integrity of the recommended data, thereby effectively saving the storage resources of the computer device. In addition, in the process of the computer device constructing a graph node corresponding to any recommended data, the computer device can also use a bidirectional linked list to store the storage address of the target recommended data corresponding to any recommended data, so that the computer device can further generate a graph node based on the bidirectional linked list and the byte array. Among them, the bidirectional linked list can be a non-circular bidirectional linked list or a circular bidirectional linked list (or: a ring bidirectional linked list). A bidirectional linked list is a type of linked list, and each of its data nodes has two pointers, pointing to the direct successor and the direct predecessor respectively.
[0065] In an embodiment of the present application, each data node in a doubly linked list is used to store a storage address of a target recommended data. Any data node includes two pointers, which point to the previous data node and the next data node respectively. Based on this, the computer device can start traversing the doubly linked list from any node in the doubly linked list. Specifically, the computer device can access its predecessor node and successor node from any node in the doubly linked list, so that the computer device can access all nodes in the entire doubly linked list. It should be noted that if the computer device uses a circular doubly linked list, the computer device can also add a gap pointer in the circular doubly linked list. The so-called gap pointer can be understood as a node mark, which is used to mark the corresponding linked list node as the start and end nodes in the circular doubly linked list, so that the computer device can start traversing the circular doubly linked list from the linked list node corresponding to the identifier, and stop traversing the circular doubly linked list when the computer device accesses the linked list node again. It is not difficult to understand that adding a gap pointer in a bidirectional linked list can prevent the computer device from repeatedly traversing the bidirectional linked list, or it can be understood that it can prevent the computer device from repeatedly obtaining storage addresses and obtaining corresponding target recommendation data based on the storage addresses. Then, it is not difficult to understand that adding a gap pointer in a bidirectional linked list can improve the speed of the computer device when performing data recommendation to a certain extent. And illustratively, the circular bidirectional linked list can be List (a computer professional term, which can be understood as a collection of data stored in a linear column), then the computer device can use the iterator of List to implement the traversal of the circular bidirectional linked list (such as depth-first traversal, breadth-first traversal, etc.).
[0066] In one embodiment, the bidirectional linked list in any graph node can also be used to store the association between the recommended data. Specifically, the bidirectional linked list can also be used to store the association between the target recommended data corresponding to each storage address and the recommended data corresponding to the graph node. Based on the above, it can be known that the association relationship between the recommended data can be determined based on the feature similarity between the recommended data, so the association stored in the bidirectional linked list can be the feature similarity. In practical applications, for the construction of the bidirectional linked list in the graph node corresponding to any recommended data, the computer device can first obtain the feature similarity between the any recommended data and the target recommended data corresponding to the any recommended data, and then use the obtained feature similarity as the association between the target recommended data and the any recommended data. Further, the computer device can associate the obtained association and the storage address of the target recommended data to a linked list node of the bidirectional linked list, that is, the computer device can use the association corresponding to the target recommended data to represent the weight of the corresponding linked list node, so that the computer device can determine the push data that needs to be pushed to the client according to the association corresponding to each storage address in the actual data recommendation process. For example, when there is a browsing behavior for recommended data A in the client, the computer device can determine the storage address whose correlation with recommended data A is greater than or equal to the correlation threshold from the bidirectional linked list of the graph node corresponding to the recommended data A. Further, the computer device can obtain the corresponding recommended data based on the determined storage address and send it to the client as push data. It is not difficult to understand that this method of determining push data can make the push data received by the client have a stronger correlation with the historical browsing data, so that the computer device can send more accurate recommended data to the client.
[0067] S304, constructing a target data graph according to multiple graph nodes.
[0068] In one embodiment, the specific manner in which the computer device constructs the target data graph based on multiple graph nodes can be found in the relevant embodiments of step S204, and this application will not go into details here.
[0069] S305: Obtain object data of a target object corresponding to the target client, and determine an object tag of the target object according to the object data.
[0070] Among them, the target client refers to a client existing on a terminal device of a certain user, such as: a social client X existing on the smartphone of user A, or, a social client X existing on the laptop of user B. In actual applications, in the process of a computer device obtaining the object data of the target object corresponding to the target client, the computer device can first obtain the label parameters corresponding to the target client, and then obtain the object data of the target object based on the label parameters corresponding to the target client. Among them, the label parameters include a first label parameter and / or a second label parameter, and the first label parameter is used to indicate that the object data that the computer device needs to obtain is object portrait data (such as: the city where the object is located, the age of the object, etc.); the second label parameter is used to indicate that the object data that the computer device needs to obtain is object behavior data (such as: historical browsing records, historical purchase records, etc.). Exemplarily, the label parameter can be pre-set by the client for the corresponding target object, or it can be pre-set by the computer device for all clients. The embodiments of the present application do not limit this.
[0071] It should be noted that when the embodiments of the present application are applied to specific products or technologies, if it involves a computer device obtaining data related to user information (such as object behavior data, object portrait data, etc.), the computer device needs to obtain user permission or consent, and the user information obtained by the computer device needs to comply with the laws, regulations and standards of relevant countries and regions.
[0072] S306: Acquire first data to be recommended that matches the object tag from the target data graph, and determine push data to be sent to the target client based on the first data to be recommended.
[0073] The push data may be one or more, and the push data may include recommendation data determined by the computer device from the target data graph, and may also include recommendation data determined by the computer device from business data newly generated by the recommended business.
[0074] In one embodiment, when the push data includes the recommended data determined by the computer device from the target data graph, the computer device may first determine the first feature information corresponding to the object tag (such as the semantic information of the object tag), and then the computer device may obtain the second feature information of the recommended data stored in any graph node from the target graph data (such as the semantic information of the recommended data). Further, the computer device may use the recommended data corresponding to the second feature information as the first data to be recommended after determining that the matching degree between the first feature information and the second feature information is greater than or equal to the matching degree threshold. In this case, when determining the push data, the computer device may first obtain the bidirectional linked list in the graph node of the first data to be recommended, and then the computer device may obtain the corresponding recommended data based on the storage address in the bidirectional linked list; further, the computer device may send the recommended data obtained based on the bidirectional linked list and the first data to be recommended together as the determined push data to the target client. Optionally, when the computer device determines the push data from the target data graph, the way in which the computer device determines the first data to be recommended may also be as follows: the computer device sequentially obtains the feature information of the recommended data in each graph node, and then the computer device matches the feature information of the object tag with the feature information of each recommended data. After the computer device determines that the matching degree between the characteristic information of the object tag and the characteristic information of the corresponding recommended data is greater than or equal to the matching degree threshold, the recommended data is used as the first data to be recommended. That is, in this case, the computer device can sequentially determine whether the recommended data stored in each graph node in the target data graph is the first recommended data, thereby determining all the first data to be recommended included in the target data graph, and further enabling the computer device to send all the determined first data to be recommended as push data to the target client.
[0075] In another embodiment, when the recommendation service generates new service data, the computer device can store the generated service data as recommendation data in a preset storage space, so that the computer device can determine more comprehensive push data based on the newly generated recommendation data. Then, when the push data includes the recommendation data determined by the computer device from the target data graph, and the recommendation data determined by the computer device from the newly generated service data of the recommendation service, the computer device determines the push data in the following manner: after the computer device detects that there are other recommendation data in the preset storage space except for the multiple recommendation data included in the target data graph, the computer device can determine the second data to be recommended that matches the object tag from the other recommendation data. Among them, the number of the second data to be processed can be one or more. Then, the computer device can determine the push data that needs to be sent to the target client based on the acquired second data to be recommended and the first data to be recommended. Specifically, the computer device can determine all the push data that needs to be pushed to the client in the target data graph based on the first data to be recommended, and then the computer device can send the push data determined from the target data graph and the second data to be recommended together as the final push data to the target client.
[0076] In a specific embodiment, the computer device can also update and improve the target data graph based on the newly generated recommended data. It can be understood that with the development of the times and the innovation of Internet technology, the recommended data required by the client is advancing with the times. Therefore, the computer device updates the target data graph to ensure that the pushed data meets the business needs of the client, thereby maintaining the validity of the recommended data. Specifically, the computer device can update the target data graph in the following way: the computer device first obtains the feature similarity between the second data to be recommended and any recommended data among the multiple recommended data; if the computer device determines that the feature similarity is greater than or equal to the similarity threshold, then establishes an association relationship between the any recommended data and the second data to be recommended; further, the computer device can update the target data graph based on the association relationship between the any recommended data and the second data to be recommended.
[0077] Among them, when the computer device establishes an association relationship between any recommended data and the second data to be recommended, it can include the following steps: the computer device obtains the storage location of the second data to be recommended in a preset storage space; the computer device adds the obtained storage location to the bidirectional linked list of the graph node corresponding to the any recommended data; the computer device determines the recommended data that has an association relationship with the second data to be recommended from the recommended data included in the target data graph, and then the computer device obtains the storage address of the recommended data that has an association relationship with the second data to be recommended, and further generates a graph node corresponding to the second data to be recommended based on the obtained storage address and the second data to be recommended; finally, the computer device adds the graph node to the target data graph to update the target data graph.
[0078] In an embodiment of the present application, a computer device may use a circular bidirectional linked list with a gap pointer to store the storage address of the recommended data, and the gap pointer may be used to indicate the starting access node and the ending access node when the computer device obtains the storage address from the circular bidirectional linked list. In other words, the computer device may obtain the storage address starting from the linked list node marked by the gap pointer, and then obtain the corresponding recommended data based on the storage address, and stop obtaining the storage address when the computer device accesses the linked list node marked by the gap pointer next time. Such a processing method can avoid the computer device from repeatedly obtaining the same storage address in a graph node, thereby ensuring the rate at which the computer device obtains the recommended data, and further ensuring the efficiency of the computer device when performing data recommendation. In addition, since the computer device compresses the storage data in each graph node based on the reversible compression coding technology, the integrity of the recommended data when it is stored in the graph node in the form of a byte array can be guaranteed, thereby ensuring the accuracy of the computer device when performing data recommendation.
[0079] Based on the relevant description of the above data processing method, the present application also discloses a data processing device. The data processing device may be a computer program (including program code) running in the above-mentioned computer device. The data processing device may execute the following steps: Figure 2 and Figure 3 For the data processing method shown, see Figure 4 The data processing device may at least include: an acquisition unit 401, a determination unit 402, a generation unit 403 and a processing unit 404.
[0080] An acquisition unit 401 is used to acquire a plurality of recommendation data and store the plurality of recommendation data in a preset storage space, wherein each recommendation data in the plurality of recommendation data is associated with at least one other recommendation data;
[0081] A determining unit 402 is configured to determine target recommended data associated with each of the recommended data from the plurality of recommended data, and obtain a storage address of the target recommended data in the preset storage space;
[0082] A generating unit 403 is used to generate a graph node based on each recommended data and a storage address of target recommended data associated with each recommended data, so as to obtain a plurality of graph nodes;
[0083] The processing unit 404 is used to construct a target data graph according to the multiple graph nodes, and the target data graph is used to determine the push data sent to the client, and the push data exists in the multiple recommendation data.
[0084] In one implementation, the generating unit 403 may be configured to execute:
[0085] Performing reversible compression encoding processing on any of the recommended data to obtain encoded data, and using a byte array to store the encoded data;
[0086] A bidirectional linked list is used to store the storage address of the target recommended data corresponding to any recommended data;
[0087] A graph node is generated based on the doubly linked list and the byte array.
[0088] In yet another embodiment, the processing unit 404 may also be configured to execute:
[0089] Obtaining a correlation between target recommended data corresponding to any recommended data and any recommended data;
[0090] The acquired association degree and the storage address of the target recommended data corresponding to any recommended data are associated and stored in the bidirectional linked list.
[0091] In yet another embodiment, the processing unit 404 may also be configured to execute:
[0092] Acquire object data of a target object corresponding to a target client, and determine an object tag of the target object according to the object data;
[0093] The first data to be recommended that matches the object tag is acquired from the target data graph, and push data to be sent to the target client is determined based on the first data to be recommended.
[0094] In yet another implementation, the acquisition unit 401 may be configured to execute:
[0095] Obtain label parameters corresponding to the target client;
[0096] Obtain object data of the target object based on the tag parameters corresponding to the target client; wherein the tag parameters include a first tag parameter and / or a second tag parameter, the first tag parameter is used to indicate that the object data to be obtained is object portrait data, and the second tag parameter is used to indicate that the object data to be obtained is object behavior data.
[0097] In yet another embodiment, the processing unit 404 may also be configured to execute:
[0098] After detecting that other recommended data other than the plurality of recommended data included in the target data graph exist in the preset storage space, determining second to-be-recommended data matching the object tag from the other recommended data;
[0099] The push data to be sent to the target client is determined based on the second data to be recommended and the first data to be recommended.
[0100] In yet another embodiment, the processing unit 404 may also be configured to execute:
[0101] Obtaining feature similarity between the second data to be recommended and any recommended data among the plurality of recommended data;
[0102] If the feature similarity is greater than or equal to the similarity threshold, establishing an association relationship between any recommended data and the second data to be recommended;
[0103] Based on the association relationship between the any recommended data and the second data to be recommended, the target data graph is updated.
[0104] In yet another embodiment, the processing unit 404 may also be configured to execute:
[0105] constructing a new graph node based on the storage address of any recommended data in the preset storage space and the second data to be recommended;
[0106] The new graph node is added to the target data graph.
[0107] According to one embodiment of the present application, Figure 2 and Figure 3 The various steps involved in the method shown can be performed by Figure 4 The data processing device shown in FIG. 1 is executed by each unit in the data processing device shown in FIG. Figure 2 Step S201 shown can be performed by Figure 4 The acquisition unit 401 in the data processing device shown in FIG. 4 is executed; step S202 can be performed by Figure 4 The determination unit 402 in the data processing device shown in FIG. 1 is executed; step S203 can be performed by Figure 4The data processing device shown in FIG. 4 is used to generate the generating unit 403; step S204 can be performed by Figure 4 The processing unit 404 of the data processing device shown in the figure is used for execution. Figure 3 Step S301 shown can be performed by Figure 4 The acquisition unit 401 in the data processing device shown in FIG. 4 is executed; step S302 can be performed by Figure 4 The determination unit 402 in the data processing device shown in FIG. 4 is executed; step S303 can be performed by Figure 4 The data processing device shown in FIG. 4 is used to generate the generating unit 403; Steps S304 to S306 can be performed by Figure 4 The data processing unit 404 is shown to execute the above-mentioned operations.
[0108] According to another embodiment of the present application, Figure 4 The various units in the data processing device shown are divided based on logical functions, and the above-mentioned various units can be separately or all combined into one or several other units to constitute, or one (some) of the units can be further divided into multiple smaller functional units to constitute, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. In other embodiments of the present application, the above-mentioned data processing device can also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented by the collaboration of multiple units.
[0109] According to another embodiment of the present application, the program can be executed by running on a general computing device such as a computer including a central processing unit (CPU), a random access memory medium (RAM), a read-only memory medium (ROM), and other processing elements and storage elements. Figure 2 or Figure 3 A computer program (including program code) for each step of the method shown in FIG. Figure 4 The data processing device shown in the embodiment of the present application is used to implement the data processing method of the embodiment of the present application. The computer program can be recorded on a computer storage medium, for example, and loaded into the above-mentioned computer device through the computer storage medium and run therein.
[0110] In the embodiment of the present application, the recommended data are all stored in a preset storage space. Therefore, after the data processing device obtains the target recommended data corresponding to each recommended data, it can generate a graph node based on the recommended data and the storage address of the corresponding target recommended data in the preset storage space. Among them, the target recommended data corresponding to any recommended data refers to the recommended data that has an associated relationship with the any recommended data among the multiple recommended data obtained by the data processing device. That is to say, the data processing device can obtain at least two recommended data with an associated relationship based on each graph node in the embodiment of the present application. Then, it is not difficult to understand that when the data processing device adopts the data processing method provided in the embodiment of the present application to implement data recommendation, it can obtain push data based on a certain node in the target data graph, avoiding traversal of all recommended data in the preset storage space. Therefore, the data processing device adopts the data processing method provided in the embodiment of the present application to effectively improve the rate of data recommendation.
[0111] Based on the relevant description of the above method embodiment and the device embodiment, the present application embodiment also provides a computer device, see Figure 5 The computer device at least includes a processor 501 and a computer storage medium 502, and the processor 501 and the computer storage medium 502 of the computer device may be connected via a bus or other means.
[0112] Among them, the computer storage medium 502 mentioned above is a memory device in a computer device for storing programs and data. It is understandable that the computer storage medium 502 here can include both the built-in storage medium in the computer device and the extended storage medium supported by the computer device. The computer storage medium 502 provides a storage space, which stores the operating system of the computer device. In addition, one or more computer programs suitable for being loaded and executed by the processor 501 are also stored in the storage space, and these computer programs can be one or more program codes. It should be noted that the computer storage medium here can be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory; optionally, it can also be at least one storage medium located away from the aforementioned processor. The processor 501 (or CPU (Central Processing Unit)) is the computing core and control core of the computer device, which is suitable for implementing one or more computer programs, and is specifically suitable for loading and executing one or more computer programs to realize the corresponding method flow or corresponding function.
[0113] In one embodiment, the processor 501 may load and execute one or more computer programs stored in the computer storage medium 502 to implement the above-mentioned Figure 2 and Figure 3 Corresponding method steps in the method embodiment shown; in a specific implementation, one or more computer programs in the computer storage medium 502 are loaded by the processor 501 and execute the following steps:
[0114] Acquire a plurality of recommendation data, and store the plurality of recommendation data in a preset storage space, wherein each recommendation data in the plurality of recommendation data is associated with at least one other recommendation data;
[0115] Determining target recommended data associated with each of the recommended data from the plurality of recommended data, and acquiring a storage address of the target recommended data in the preset storage space;
[0116] Generate a graph node based on each of the recommended data and a storage address of the target recommended data associated with each of the recommended data to obtain a plurality of graph nodes;
[0117] A target data graph is constructed according to the multiple graph nodes, and the target data graph is used to determine push data sent to the client, and the push data exists in the multiple recommendation data.
[0118] In one implementation, the processor 501 may be configured to load and execute:
[0119] Performing reversible compression encoding processing on any of the recommended data to obtain encoded data, and using a byte array to store the encoded data;
[0120] A bidirectional linked list is used to store the storage address of the target recommended data corresponding to any recommended data;
[0121] A graph node is generated based on the doubly linked list and the byte array.
[0122] In yet another implementation, the processor 501 may be configured to load and execute:
[0123] Obtaining a correlation between target recommended data corresponding to any recommended data and any recommended data;
[0124] The acquired association degree and the storage address of the target recommended data corresponding to any recommended data are associated and stored in the bidirectional linked list.
[0125] In yet another implementation, the processor 501 may be configured to load and execute:
[0126] Acquire object data of a target object corresponding to a target client, and determine an object tag of the target object according to the object data;
[0127] The first data to be recommended that matches the object tag is acquired from the target data graph, and push data to be sent to the target client is determined based on the first data to be recommended.
[0128] In yet another implementation, the processor 501 may be configured to load and execute:
[0129] Obtain label parameters corresponding to the target client;
[0130] Obtain object data of the target object based on the tag parameters corresponding to the target client; wherein the tag parameters include a first tag parameter and / or a second tag parameter, the first tag parameter is used to indicate that the object data to be obtained is object portrait data, and the second tag parameter is used to indicate that the object data to be obtained is object behavior data.
[0131] In yet another implementation, the processor 501 may be configured to load and execute:
[0132] After detecting that other recommended data other than the plurality of recommended data included in the target data graph exist in the preset storage space, determining second to-be-recommended data matching the object tag from the other recommended data;
[0133] The push data to be sent to the target client is determined based on the second data to be recommended and the first data to be recommended.
[0134] In yet another implementation, the processor 501 may be configured to load and execute:
[0135] Obtaining feature similarity between the second data to be recommended and any recommended data among the plurality of recommended data;
[0136] If the feature similarity is greater than or equal to the similarity threshold, establishing an association relationship between any recommended data and the second data to be recommended;
[0137] Based on the association relationship between the any recommended data and the second data to be recommended, the target data graph is updated.
[0138] In yet another implementation, the processor 501 may be configured to load and execute:
[0139] constructing a new graph node based on the storage address of any recommended data in the preset storage space and the second data to be recommended;
[0140] The new graph node is added to the target data graph.
[0141] In an embodiment of the present application, after obtaining the recommended data, the computer device stores all the recommended data in a preset storage space. Therefore, after the computer device obtains the target recommended data corresponding to each recommended data, the computer device can generate a graph node based on the recommended data and the storage address of the corresponding target recommended data in the preset storage space. Under normal circumstances, the storage space required for a computer device to store a storage address is much smaller than the storage space required to store a recommended data. Therefore, it is not difficult to understand that the computer device adopts this method to construct a target data graph according to the graph node corresponding to each recommended data, which can enable the computer device to allocate a smaller storage space to store the target data graph, and can effectively save storage resources. In addition, since the target recommended data corresponding to any recommended data refers to the recommended data that has an associated relationship with the any recommended data among the multiple recommended data obtained by the computer device, that is, the computer device can obtain at least two recommended data with an associated relationship based on each graph node in the embodiment of the present application. Then, it is not difficult to understand that when a computer device adopts the data processing method provided in the embodiment of the present application to implement data recommendation, it can obtain push data based on a certain node in the target data graph, avoiding traversal of all recommended data in the preset storage space. Therefore, the computer device adopts the data processing method provided in the embodiment of the present application to effectively improve the rate of data recommendation.
[0142] The present application also provides a computer storage medium, in which one or more computer programs corresponding to the above-mentioned data processing method are stored. When one or more processors load and execute the one or more computer programs, the description of the data processing method in the embodiment can be implemented, which will not be repeated here. The description of the beneficial effects of adopting the same method will not be repeated here. It is understood that the computer program can be deployed on one or more devices that can communicate with each other for execution.
[0143] It should be noted that according to one aspect of the present application, a computer program product or a computer program is also provided, the computer program product includes a computer program, and the computer program is stored in a computer storage medium. A processor in a computer device reads the computer program from the computer storage medium and then executes the computer program, thereby enabling the computer device to perform the above Figure 2 and Figure 3 The methods provided in various optional aspects of the data processing method embodiments are shown.
[0144] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment method can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer storage medium. When the computer program is executed, it can include the process of the embodiment of the above-mentioned data processing method. Among them, the computer storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0145] What is disclosed above is only a partial embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. A person skilled in the art can understand that the entire or partial process of implementing the above embodiment and the equivalent changes made according to the claims of the present application are still within the scope of the invention.
Claims
1. A data processing method, characterized in that: include: Acquire a plurality of recommendation data, and store the plurality of recommendation data in a preset storage space, wherein each recommendation data in the plurality of recommendation data is associated with at least one other recommendation data; Determining target recommended data associated with each recommended data from the plurality of recommended data, and acquiring a storage address of the target recommended data in the preset storage space; Generate a graph node based on each recommended data and the storage address of the target recommended data associated with each recommended data to obtain a plurality of graph nodes, including: reversibly compress and encode any recommended data to obtain encoded data, and use a byte array to store the encoded data; use a bidirectional linked list to store the storage address of the target recommended data corresponding to any recommended data; generate a graph node based on the bidirectional linked list and the byte array, each graph node including one recommended data and the storage address of the target recommended data associated with the one recommended data; A target data graph is constructed according to the multiple graph nodes, and the target data graph is used to determine push data sent to the client, and the push data exists in the multiple recommendation data.
2. The method according to claim 1, characterized in that The method further comprises: Obtaining a correlation between target recommended data corresponding to any recommended data and any recommended data; The acquired association degree and the storage address of the target recommended data corresponding to any recommended data are associated and stored in the bidirectional linked list.
3. The method according to claim 1, characterized in that The method further comprises: Acquire object data of a target object corresponding to a target client, and determine an object tag of the target object according to the object data; The first data to be recommended that matches the object tag is acquired from the target data graph, and push data to be sent to the target client is determined based on the first data to be recommended.
4. The method according to claim 3, characterized in that The obtaining of the object data of the target object corresponding to the target client includes: Obtain label parameters corresponding to the target client; Obtain object data of the target object based on the tag parameters corresponding to the target client; wherein the tag parameters include a first tag parameter and / or a second tag parameter, the first tag parameter is used to indicate that the object data to be obtained is object portrait data, and the second tag parameter is used to indicate that the object data to be obtained is object behavior data.
5. The method according to claim 3, characterized in that: The method further comprises: After detecting that other recommended data other than the plurality of recommended data included in the target data graph exist in the preset storage space, determining second to-be-recommended data matching the object tag from the other recommended data; The push data to be sent to the target client is determined based on the second data to be recommended and the first data to be recommended.
6. The method according to claim 5, characterized in that The method further comprises: Obtaining feature similarity between the second data to be recommended and any recommended data among the plurality of recommended data; If the feature similarity is greater than or equal to the similarity threshold, establishing an association relationship between any recommended data and the second data to be recommended; Based on the association relationship between the any recommended data and the second data to be recommended, the target data graph is updated.
7. The method according to claim 6, characterized in that The updating of the target data graph based on the association relationship between the any recommended data and the second data to be recommended includes: constructing a new graph node based on the storage address of any recommended data in the preset storage space and the second data to be recommended; The new graph node is added to the target data graph.
8. A data processing device, the device being used to execute the method according to any one of claims 1 to 7, characterized in that: include: An acquiring unit, configured to acquire a plurality of recommendation data and store the plurality of recommendation data in a preset storage space, wherein each recommendation data in the plurality of recommendation data is associated with at least one other recommendation data; a determining unit, configured to determine target recommended data associated with each of the recommended data from the plurality of recommended data, and obtain a storage address of the target recommended data in the preset storage space; A generating unit, configured to generate a graph node based on each of the recommended data and a storage address of a target recommended data associated with each of the recommended data, so as to obtain a plurality of graph nodes; A processing unit is used to construct a target data graph according to the multiple graph nodes, wherein the target data graph is used to determine push data sent to the client, and the push data exists in the multiple recommendation data.
9. A computer device, characterized in that: include: a processor adapted to implement one or more computer programs; A computer storage medium storing one or more computer programs, wherein the one or more computer programs are suitable for being loaded by the processor and executing the data processing method according to any one of claims 1 to 7.
10. A computer storage medium, characterized in that: The computer storage medium stores one or more computer programs, and the one or more computer programs are suitable for being loaded by a processor and executing the data processing method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Product pushing method and device
CN112184370A
Item handling intelligent recommendation method based on data graph and service graph
CN112330307A