WO2021175021A1 - Product push method and apparatus, computer device, and storage medium - Google Patents

Product push method and apparatus, computer device, and storage medium Download PDF

Info

Publication number
WO2021175021A1
WO2021175021A1 PCT/CN2021/071803 CN2021071803W WO2021175021A1 WO 2021175021 A1 WO2021175021 A1 WO 2021175021A1 CN 2021071803 W CN2021071803 W CN 2021071803W WO 2021175021 A1 WO2021175021 A1 WO 2021175021A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
node
protocol data
protocol
matching
Prior art date
Application number
PCT/CN2021/071803
Other languages
French (fr)
Chinese (zh)
Inventor
刘继武
Original Assignee
深圳壹账通智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Publication of WO2021175021A1 publication Critical patent/WO2021175021A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Definitions

  • This application relates to the field of data classification, in particular to a product push method, device, computer equipment and storage medium.
  • the push of a certain business product of the company is either initiated by the seller of the business or purchased related information services from the supplier. Either way, it will increase the cost.
  • Traditional companies generally have a large customer resource database, and the degree of authenticity and data integrity are relatively high. If they buy products that are intelligently recommended by a third party, there will be certain information leakage problems.
  • the user information is classified, and then the information is matched based on the classified information. In this way, the product information matched by the user or the object is too single.
  • a product data push method based on machine learning disclosed by the publication number CN109447685 is to classify the obtained user information and add category tags, and then obtain the corresponding product data according to the category tags, and finally follow the preset rules After generating the corresponding resource allocation result, pushing the information to the user indicates the corresponding user terminal.
  • the inventor realizes that although this product push method can achieve targeted product push to specific users, the generated product push information is too single and cannot solve the singular information push in the prior art.
  • a product push method includes:
  • a product pushing device comprising:
  • the attribute extraction module is used to obtain preset protocol data, and extract the node attributes of the preset protocol data
  • a factor generating module configured to generate a calculation factor for screening protocol data according to the node attribute
  • the data screening module is used to obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
  • a data mapping module configured to map the matching node data to the corresponding data node
  • An information generation module which is used to generate product push information according to the data node
  • the object data acquisition module is configured to acquire a specified data type, and obtain matching node data from the data node according to the specified data type, as object matching data;
  • the data matching module is configured to obtain the target push object from the object database according to the object matching data, and filter the product push information according to the specified data type to obtain the target push information;
  • the information push module is used to push the target push information to the target push object.
  • a computer device including a memory and a processor, and a computer program stored in the memory and capable of running on the processor, and when the processor executes the computer program, the product push method described below is implemented step:
  • a computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the product push method described below are realized:
  • the above-mentioned product push methods, devices, computer equipment and storage media through purposeful screening of the protocol data in the protocol data acquisition stage, and then store the filtered protocol data according to the data node, and finally obtain the specified type of protocol data
  • the matching of the target push objects and the screening of the push information solve the technical problem of the single type of products pushed by the target push objects in the prior art.
  • Figure 1 is a schematic diagram of the application environment of the product push method
  • Figure 2 is a schematic flow diagram of the product push method
  • FIG. 3 is a schematic flowchart of step 204 in FIG. 2;
  • FIG. 4 is a schematic flowchart of step 206 in FIG. 2;
  • FIG. 5 is another schematic diagram of the process of step 206 in FIG. 2;
  • FIG. 6 is a schematic flowchart of step 208 in FIG. 2;
  • FIG. 7 is a schematic flowchart of step 212 in FIG. 2;
  • FIG. 8 is a schematic flowchart of step 214 in FIG. 2;
  • Figure 9 is a schematic diagram of a product pushing device
  • Figure 10 is a schematic diagram of a computer device in an embodiment.
  • the application environment may include a terminal 102, a network 106, and a server 104.
  • the network 106 is used to provide a communication link medium between the terminal 102 and the server 104.
  • the network 106 may include various connection types, such as wired and wireless communications. Link or fiber optic cable, etc.
  • the user can use the terminal 102 to interact with the server 104 through the network 106 to receive or send messages and so on.
  • Various communication client applications such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc., may be installed on the terminal 102.
  • the terminal 102 may be various electronic devices with a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, moving picture experts compress standard audio Level 3), MP4 (Moving Picture Experts Group Audio Layer IV, Motion Picture Experts compress standard audio level 4) Players, laptop portable computers and desktop computers, etc.
  • MP3 players Moving Picture Experts Group Audio Layer III, moving picture experts compress standard audio Level 3
  • MP4 Motion Picture Experts compress standard audio level 4
  • laptop portable computers and desktop computers etc.
  • the server 104 may be a server that provides various services, for example, a background server that provides support for pages displayed on the terminal 102.
  • the product pushing method provided in the embodiments of the present application is generally executed by the server/terminal, and accordingly, the product pushing device is generally set in the server/terminal device.
  • terminals, networks, and servers in FIG. 1 are merely illustrative. There can be any number of terminal devices, networks, and servers according to implementation needs.
  • the terminal 102 communicates with the server 104 through the network.
  • the server 104 obtains the protocol data from the terminal 102, and filters the protocol data according to calculation factors to obtain matching node data, and then generates product push information based on the matching node data, matches the target push object, and then pushes the product push information to the target Push the object to realize the push of the product.
  • the terminal 102 and the server 104 are connected through a network.
  • the network can be a wired network or a wireless network.
  • the terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablets, and portable wearable devices.
  • the server 104 can be implemented by an independent server or a cluster of multiple servers.
  • a product push method is provided. Taking the method applied to the server in FIG. 1 as an example for description, the method includes the following steps:
  • Step 202 Obtain preset protocol data, and extract node attributes of the preset protocol data.
  • the preset protocol data may be obtained according to actual business scenarios, and the actual business scenarios depend on the type of product pushed this time and the target of the product push. For example, it is known that the information of objects with the following three types of characteristics is used as the preset agreement data: age: 20-35; work location: remote area; whether or not a certain type of product has been purchased: yes.
  • Step 204 Generate calculation factors for filtering protocol data according to the node attributes.
  • Node attributes are dimensional features and values extracted from the structured data after structuring the preset protocol data. Specifically, it may be data information corresponding to the object, and the data information includes several dimensional features and data corresponding to the dimensional features. For example, Table 1 shows examples of some dimensional features in the preset protocol data and their corresponding data:
  • the calculation factor is obtained based on the node data.
  • a calculation factor includes an attribute generated based on the node attribute. For example, if you perform a cluster analysis on the obtained node attribute, and obtain 10 node attributes from the preset protocol data, then Performing cluster analysis on the node attributes of the three dimensions of Behavior_area: North China, Behavior_type: 3, and Item_category: 7350, the calculated factor can be that 7,350 products are purchased in North China.
  • the preset agreement data includes the consumer users’ insurance areas: Henan, Hubei, and Hunan, and these provinces are in turn It belongs to Central China; for example, including Beijing, Tianjin, Shanxi province, Hebei province or Inner Mongolia Autonomous Region, these belong to North China; it can also extract the age of the user, such as 18-45 for young and middle-aged, 46-65 for Middle-aged people, over 66 belong to old age and other attributes, which can be the node attributes of the preset protocol data.
  • the calculation factor can be obtained as: health insurance in North China.
  • clustering is a process of classifying data into different classes or clusters, so objects in the same cluster have great similarities, while objects between different clusters have great differences. Then it can be aggregated according to the similarity between different tags to generate a calculation factor.
  • the number of calculation factors is not limited to one. Multiple calculation factors form a screening template, which is dedicated to the screening of agreement data of a specific business, and then the agreement data can be screened according to the screening template.
  • Step 206 Obtain protocol data, and filter the protocol data by calculation factors to obtain matching node data.
  • the protocol data includes historical protocol data and real-time protocol data.
  • the historical agreement data is the agreement data of the previous purchase users, which can be obtained from other resource pools.
  • the resource pool is a storage pool that stores data in different latitudes established according to specified rules. Its function is to make it easier for the server to extract data through Hadoop2. Then carry out data analysis, because the data structure will be extremely complicated with different types of insurance policies. Without classification and sorting, it is difficult to use the data effectively.
  • Historical protocol data are all structured data, which can be directly retrieved for analysis and use.
  • both real-time agreement data and historical agreement data include characteristic data of various dimensions of the user object, such as age, occupation, income, location, family members, types of goods purchased, and so on.
  • RSA encryption is a kind of asymmetric encryption, which can complete the decryption without directly transferring the key. This can ensure the security of the information and avoid the risk of being cracked caused by the direct transfer of the key.
  • the specific encryption process is current. There are technologies that will not be repeated here.
  • the encrypted protocol data needs to be structured through Redis, and then the structured protocol data is saved in the resource pool for later use.
  • Redis is an open source high-performance key-value database developed in C language. It adapts to storage needs in different scenarios by providing a variety of key-value data types. So far, the key-value data types supported by Redis are as follows :
  • Cache data query, short connection, news content, product content, etc.
  • session separation in distributed cluster architecture online friend list in chat room
  • task queue spike, snap-up, 12306, etc.
  • application ranking online friend list in chat room
  • website Access statistics data expiration processing (can be accurate to milliseconds).
  • Step 208 Map the matching node data to the corresponding data node.
  • a data node is a node in a data node library set up separately, such as the product type (Enterprise Edition, Home Edition or Professional Edition) of the user object in the agreement data, purchase period (regular, lifetime), income, age, family members , Address, etc.
  • product type Enterprise Edition, Home Edition or Professional Edition
  • purchase period regular, lifetime
  • income income
  • age family members
  • Address etc.
  • Each data node stores a unique identifier of the protocol data that meets the calculation factor, and the unique identifier is generated based on the order number and channel number of the protocol data.
  • one protocol data can correspond to multiple data nodes, for example, it can be under the product type (Professional Edition) node, or under the data node that is regularly purchased.
  • the advantage of mapping and saving the protocol data through different attributes of the protocol data is that the protocol data can be classified into categories, which is convenient for subsequent generation of product types that need to be pushed to the user based on the protocol data under the data node.
  • each data node can have multiple sub-nodes.
  • the Professional Edition node it can be divided into two nodes of the same level, the regular node and the lifetime node.
  • the regular node Under the regular node, there can be different age groups of purchasing users.
  • Sub-nodes, etc. the structure of the specific data node needs to be determined according to the specific situation, and it is not limited here.
  • Step 210 Generate product push information according to the data node.
  • Combining different data nodes can map multiple product push information, such as purchasing users who are older than 22 and lower than 28, address in first-tier cities, and income meets the preset value of these data nodes, and can push Professional Edition, etc.
  • Product push information Users who are older than 22 and lower than 28, live in a mountainous area, and whose income is not higher than a certain preset value are combined to get a free edition.
  • Age group gender, occupation, income, etc.
  • Step 212 Obtain the specified data type, and obtain the protocol data from the data node according to the specified data type as the object matching data.
  • protocol data can be obtained through Hadoop2, which improves the efficiency of data processing.
  • Hadoop2 is a server cluster.
  • the purpose of object matching data acquisition according to the specified data type obtained, and target push object acquisition according to the object matching data is that the amount of protocol data under the data node is large. If you want to achieve targeted push products for users, then It is possible to select a certain type or several types of protocol data from the protocol data under the data node by formulating the data type as the object matching data.
  • the server submits a job request through the client (for example, grabs all specified types of Free edition products), and then the server schedules specified resources from the resource pool, and the specified data type is obtained according to the specified product type .
  • the Scheduler on the server is responsible for scheduling the specified resources (specify which product node data to capture) , Then, ApplicationsManager receives the data under the specific product node and executes the operation of fetching the data through a container (container).
  • the ApplicationMaster will be responsible for the application of the new container and the monitoring of the operation (subsequent data capture of this type will be operated and captured by the ApplicationMaster, and the monitoring of the capture situation).
  • the HDFS function in Hadoop2 can be used to collect protocol data scattered and stored under each data node.
  • HDFS is a distributed file system with high reliability and high throughput.
  • Step 214 Obtain the target push object from the object database according to the object matching data, and filter the product push information according to the specified data type to obtain the target push information.
  • the object matching data includes some attribute data of the user object, such as age, income, date of birth, or identity information.
  • Obtain objects that match the above attribute data from the object database as the target push objects for example, objects that match the age of 20-30, income of 1W or more, unfixed occupation, and address in a certain area.
  • Step 216 Push the target push information to the target push object.
  • the relevant order payment is made.
  • the background uses the activeMQ message middleware to asynchronously transmit the information to the background .
  • the target push information generated for the user can be pushed to the user's terminal in the form of a drift bottle in the form of a product drift bottle.
  • the calculation factor for user screening protocol data is obtained according to the protocol data of the specified user group, and the protocol data is filtered, and the appropriate protocol data is selected and inserted under the corresponding data node, which is targeted
  • the massive data processing capability of the drifting bottle is able to efficiently filter and sort the data for accurate push, and the data used during the period are all real order cases, and it is more persuasive to recommend to relevant users.
  • step 204 includes:
  • Step 302 Perform vectorization processing on the node attributes through the one-hot algorithm to obtain the vectorized attributes.
  • One-Hot expression is a structured way of text classification. It is the most intuitive and the most commonly used word expression so far. Specifically, a dictionary of node attributes is generated; for example: insurance type, insured user address, age, income, and the resulting dictionary is [insurance, land, household, category, age, year, income, income, investment, insurance, type, Use, address] (can be arranged in the order of pinyin, skipped here), 13 characters are obtained, and the three characters are expressed as ont-hot vectors in the following form:
  • Age and income are the node attributes and so on, so I won’t repeat them here.
  • Step 304 Calculate the Manhattan distance between the vectorized attributes.
  • Manhattan distance is a kind of distance between vectors. For example, the Manhattan distance between two points a(x1,y1) and b(x2,y2) in a two-dimensional plane:
  • x1 is the X-axis coordinate of point a
  • y1 is the Y-axis coordinate
  • x2 is the X-axis coordinate of point b
  • y2 is the Y-axis coordinate.
  • k indicates that the point a or b is located in which dimension, and k is a positive integer.
  • the Manhattan distance between two vector attributes can be calculated by formula (2) to obtain the similarity between the two vector attributes.
  • Step 306 If the number of vectorized attributes whose Manhattan distance is less than the preset distance is greater than the preset value, set the vectorized attributes whose Manhattan distance is less than the preset distance as the core attribute cluster.
  • Step 308 Integrate the core attribute clusters to obtain calculation factors.
  • the purchase age is 25-35
  • the purchased product type is free edition
  • the user income is less than 5Kw
  • the activity area is a critical area (mountain, ocean, desert, etc.) as a core attribute cluster
  • a data screening template composed of calculation factors can be generated.
  • This screening template is It can be obtained by combining multiple calculation factors.
  • the calculation factor can be health insurance in North China, health insurance in Central China, accident insurance in North China, and so on.
  • the selection of preset protocol data needs to be based on specific application scenarios.
  • the insurance policy data of some elderly users who have purchased accident insurance can be obtained as the preset agreement data, and the final calculation factor generated according to the above method can be: age 65 or more Accident insurance, cancer insurance for age 65 and above, etc.
  • the generated calculation factor can be: the nodes in the calculation factor are age, insurance type, and occupation. Several nodes related to the accident insurance product comparison are used as calculation factors.
  • the protocol data is filtered by the calculation factor, and the protocol data that also includes the nodes in the calculation factor are inserted under the corresponding data node.
  • Different nodes can be included in different calculation factors to ensure the diversity of the selected protocol data. For example, in a certain protocol data, there are only node information such as protocol data type, user address, age, etc., but no node information such as income and family members, but the data of the income node is related to whether the user purchases the possibility and what type of purchase The possibility of the product, etc., may miss the protocol data because the data of a certain node is not considered.
  • the agreement data may be the agreement data generated after the user purchases the product, which includes the type of the purchased product of the user, and the user Identity information, address, income, home address and other data.
  • the background will use the activeMQ message middleware to asynchronously transmit the user’s protocol data to the background Perform storage and analysis.
  • the general user completes this step and the purchase process has ended.
  • the user's agreement data has certain reference significance for pushing suitable products to suitable user groups.
  • step 206 includes:
  • Step 402 Obtain historical protocol data and store it in HDFS.
  • the historical protocol data is the protocol data that has been obtained before a certain point in time, and the historical protocol data may be the protocol data that has been screened by the calculated factor, or it may be the protocol data that has not been screened by the calculated factor.
  • Step 404 Analyze historical protocol data through MapReduce to obtain historical analysis results.
  • MapReduce is a programming model for parallel operations on large-scale data sets (greater than 1TB).
  • the reason for using MapReduce is its high fault tolerance. For example, if one of the machines is down, it can transfer the above computing tasks to another node to run, so that the task will not fail.
  • the analysis of historical protocol data through MapReduce is mainly to analyze whether the historical protocol data meets the calculation factor.
  • the calculation factor is "the free version of young adults living in remote areas for a long time", then it is necessary to compare whether the historical agreement data meets the three attributes of long-term active in dangerous areas, young adults and free version.
  • Step 406 If the historical analysis result is that the historical protocol data meets the calculation factor, it is detected whether there is a key-value pair between the historical protocol data and the data node.
  • the key-value pair is a verification condition used to indicate whether the historical protocol data already exists under the data node (for example, the data node Free edition). If the historical protocol data has already appeared under the data node, a key-value pair will be generated to point to the data node.
  • Step 408 If the key-value pair does not exist, map the historical protocol data to the corresponding data node as screening data.
  • the screening data is the data used to screen the real-time protocol data.
  • the screening data obtained in this way is used to screen the protocol data to obtain higher data similarity.
  • the historical agreement data is analyzed and inserted under the data node, and the purchase type, payment method, purchase frequency, etc. of the previous purchaser can be obtained, as a kind of screening data, and used as the basis for subsequent real-time agreement data processing.
  • Step 410 Screen the real-time protocol data sent through the activeMQ message middleware according to the screening data, and map the real-time protocol data that meets the screening data to the corresponding data node as matching node data.
  • this embodiment can use the asynchronous message function of the activeMQ message queue to increase the continuity of the protocol data transfer to the back-end server during the purchase process, but the failure of this additional service will not affect the main purchase process.
  • the matching node data is used to
  • the historical protocol data is filtered in advance to obtain the screening data, and the screening data is used as the screening condition for the real-time protocol data, so that the subsequent received real-time protocol data can be calculated without calculation factors, but directly compared with
  • the fit of the screening data such as the similarity of income, age, address, family members, etc., has improved
  • step 206 further includes:
  • Step 502 If there is a key-value pair, obtain real-time protocol data sent through the activeMQ middleware.
  • Step 504 Filter the real-time protocol data according to the calculation factor to obtain matching node data.
  • the real-time protocol data can be directly filtered by calculation factors to obtain matching node data.
  • the real-time protocol data is filtered by calculation factors to obtain matching node data, which ensures the real-time performance of the data and improves the real-time performance of the obtained data.
  • step 208 includes:
  • Step 602 Obtain the protocol code and channel code of the filtered protocol data.
  • the protocol code of the protocol data can be the order number of the purchasing user. Taking the order number of a website integrating multiple e-commerce platforms as an example, it can be: GP0200000000310241.
  • the channel number can be the channel source of the order data, such as Order data of e-commerce company A or order data of e-commerce company B.
  • Step 604 Generate an index code of the filtered protocol data according to the protocol code and the channel code.
  • the index code is the unique identification of the order data, and the reason for adding the channel code is that some small e-commerce companies use the same rules for the generated order numbers, there is a low probability of repetition, and the channel source of the protocol data can ensure the protocol data The uniqueness of the number.
  • Step 606 Map the filtered protocol data to the corresponding data node through index coding.
  • the same index code can be stored under multiple data nodes, and the index code is mapped to a specific protocol data on the protocol database, saving storage space .
  • step 212 includes:
  • Step 702 Receive a data capture request, where the data capture request includes a specified data type.
  • Step 704 Obtain matching node data from the data node according to the specified data type as object matching data.
  • the server receives a data extraction request submitted by a client (client).
  • the data extraction request includes a specified data type.
  • the specified data type may be: grab all specified types of Home Edition orders (such as specified types). Yes: Periodic, lifetime), and then the Scheduler on the server is responsible for scheduling the specified resources (specify which Home Edition node data is to be captured), and then obtain the specific Home Edition protocol data from the data node.
  • the operation in this embodiment can use the HDFS function (what algorithm in the HDFS function) in Hadoop2 to collect distributed stored protocol data.
  • HDFS is a distributed file system with high reliability and high throughput.
  • the data capture speed through Hadoop2 is high, which can improve the speed of data acquisition.
  • step 214 includes:
  • Step 802 Obtain at least one attribute value of the specified data type from the object matching data.
  • the specified data types are age, income, and Home Edition types
  • the corresponding values under the same attribute obtained from the object matching data can be: age 30, income 2w/month, and Home Edition regular.
  • at least one attribute value in the data type is specified.
  • Step 804 Obtain the user object from the object database, where the user object includes an attribute map having the same attribute as the attribute value. Based on the attribute value obtained above, an object with the same value or a similar value to the attribute value is obtained from the object database.
  • Step 806 Use the user corresponding to the attribute map that matches the attribute value as the target push object.
  • the object in the specified direction is obtained from the object database by specifying the data type, and the object is pushed as the target, so that the obtained object is more targeted.
  • steps in the flowcharts of FIGS. 2 to 8 are displayed in sequence as indicated by the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless specifically stated in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least some of the steps in Figure 2-8 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. These sub-steps or The order of execution of the stages does not have to be carried out sequentially, but may be executed alternately or alternately with at least a part of other steps or sub-steps or stages of other steps.
  • the matching node data may also be stored in a node of a blockchain.
  • the blockchain referred to in this application is a new application mode of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.
  • Blockchain essentially a decentralized database, is a series of data blocks associated with cryptographic methods. Each data block contains a batch of network transaction information for verification. The validity of the information (anti-counterfeiting) and the generation of the next block.
  • the blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
  • This application can be applied in the field of smart communities to push products to community members in smart communities, thereby promoting the construction of smart cities.
  • a product pushing device is provided, and the product pushing device corresponds to the product pushing method in the foregoing embodiment one-to-one.
  • the product push device includes:
  • the attribute extraction module 902 is used to obtain preset protocol data and extract node attributes of the preset protocol data.
  • the factor generation module 904 is configured to generate calculation factors for screening protocol data according to the node attributes.
  • the data screening module 906 is used to obtain protocol data, and filter the protocol data by calculation factors to obtain matching node data.
  • the data mapping module 908 is used to map the matching node data to the corresponding data node.
  • the information generating module 910 is configured to generate product push information according to the data node.
  • the object data obtaining module 912 is configured to obtain a specified data type, and obtain matching node data from the data node according to the specified data type as object matching data.
  • the data matching module 914 is configured to obtain the target push object from the object database according to the object matching data, and filter the product push information according to the specified data type to obtain the target push information.
  • the information push module 916 is used to push the target push information to the target push object.
  • the factor generation module 904 includes:
  • the vectorization sub-module is used to vectorize the node attributes through the one-hot algorithm to obtain the vectorized attributes.
  • the distance calculation sub-module is used to calculate the Manhattan distance between each vectorized attribute.
  • the core cluster determination sub-module is used to set the vectorized attribute with Manhattan distance less than the preset distance as the core attribute cluster if the number of vectorized attributes with Manhattan distance less than the preset distance is greater than the preset value.
  • the attribute cluster integration sub-module is used to integrate the core attribute clusters to obtain calculation factors.
  • the data screening module 906 includes:
  • the historical data acquisition sub-module is used to acquire historical protocol data and store it in HDFS.
  • the historical analysis sub-module is used to analyze historical protocol data through MapReduce to obtain historical analysis results.
  • the mapping detection sub-module is used to detect whether there is a key-value pair between the historical protocol data and the data node if the historical analysis result is that the historical protocol data meets the calculation factor.
  • the filtering data acquisition sub-module is used to map the historical protocol data to the corresponding data node if there is no key-value pair, as the filtering data.
  • the first data mapping sub-module is used to screen the real-time protocol data sent through the activeMQ message middleware according to the screening data, and map the real-time protocol data that meets the screening data to the corresponding data node as matching node data.
  • the data screening module 906 further includes:
  • the real-time data acquisition sub-module is used to acquire real-time protocol data sent through the activeMQ middleware if there is a key-value pair.
  • the second data mapping sub-module is used to filter the real-time protocol data according to the calculation factor to obtain matching node data.
  • the data mapping module 908 includes:
  • the code obtaining sub-module is used to obtain the protocol code and channel code of the protocol data obtained by screening.
  • the index code generation sub-module is used to generate the index code of the filtered protocol data according to the protocol code and the channel code.
  • the coding mapping sub-module is used to map the filtered protocol data to the corresponding data node through index coding.
  • the object data acquisition module 912 includes:
  • the request receiving sub-module is used to receive a data capture request, where the data capture request includes a specified data type.
  • the object data acquisition sub-module is used to obtain the matching node data from the data node according to the specified data type, as the object matching data.
  • the data matching module 914 includes:
  • the attribute value obtaining sub-module is used to obtain at least one attribute value of the specified data type from the object matching data.
  • the object acquisition sub-module is used to acquire user objects from the object database, where the user objects include attribute mappings that have the same attributes as the attribute values.
  • the product push sub-module is used to target the user corresponding to the attribute mapping that matches the attribute value as the target push object.
  • the above-mentioned product push device obtains the calculation factor of user screening protocol data according to the protocol data of the specified user group, filters the protocol data, selects the appropriate protocol data and inserts it under the corresponding data node, in a targeted manner
  • a computer device is provided.
  • the computer device may be a server, and its internal structure diagram may be as shown in FIG. 10.
  • the computer equipment includes a processor, a memory, a network interface, and a database connected through a system bus. Among them, the processor of the computer device is used to provide calculation and control capabilities.
  • the memory of the computer device includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium stores an operating system, a computer program, and a database.
  • the internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium.
  • the database of the computer equipment is used to store user order data.
  • the network interface of the computer device is used to communicate with an external terminal through a network connection.
  • a product push method is realized.
  • the calculation factor of the user screening protocol data is obtained according to the protocol data of the specified user group, and the protocol data is screened, and the appropriate protocol data is selected and inserted Go to the corresponding data node, obtain the node attributes of the preset protocol data of a certain type of object in a targeted manner, and generate calculation factors for the node attributes to filter the protocol data, and specify the target push information and slave protocol by specifying the data type. Selecting objects in the data to filter data improves the ability to process massive amounts of drifting bottle data, so that the data can be efficiently filtered and sorted for accurate push, and the data used during the period are real purchase cases, and it is more persuasive to recommend to relevant users .
  • the computer device here is a device that can automatically perform numerical calculation and/or information processing in accordance with pre-set or stored instructions.
  • Its hardware includes, but is not limited to, a microprocessor, a dedicated Integrated Circuit (Application Specific Integrated Circuit, ASIC), Programmable Gate Array (Field-Programmable Gate Array, FPGA), Digital Processor (Digital Signal Processor, DSP), embedded equipment, etc.
  • FIG. 10 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied.
  • the specific computer device may Including more or fewer parts than shown in the figure, or combining some parts, or having a different arrangement of parts.
  • a computer device including a memory, a processor, and a computer program stored on the memory and running on the processor.
  • the processor executes the computer program to implement the steps of the product push method in the above embodiment For example, step 202 to step 216 shown in FIG. 2, or when the processor executes the computer program, the function of each module/unit of the product pushing device in the above embodiment is realized, for example, the function of module 902 to module 916 shown in FIG. 9. To avoid repetition, I won’t repeat them here.
  • a computer-readable storage medium on which a computer program is stored.
  • the steps of the product pushing method in the above-mentioned embodiment are implemented, for example, steps 202 to 2 shown in FIG. Step 216, or, when the processor executes the computer program, the function of each module/unit of the product pushing device in the above-mentioned embodiment is realized.
  • the user filters the calculation factors of the protocol data, and filters the protocol data, selects the appropriate protocol data and inserts it under the corresponding data node, and obtains the node attributes of the preset protocol data of a certain type of object in a targeted manner, and Generate calculation factors for node attributes to filter protocol data, and also specify data types to specify targets to push information and select objects from protocol data to filter data, which improves the ability to process massive amounts of drifting bottle data so that data can be efficiently filtered and sorted. Accurate push, and the data used during the period are real purchase cases, it is more convincing to recommend to relevant users.
  • Non-volatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Channel (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A product push method and apparatus, a computer device, and a readable storage medium. The method comprises: obtaining preset protocol data, extracting node attributes of the preset protocol data (202); generating calculation factors according to the node attributes (204); obtaining protocol data and screening the protocol data by means of the calculation factors to obtain matching node data (206); mapping the matching node data to corresponding data nodes (208); generating product push information according to the data nodes (210); obtaining a specified data type and obtaining the matching node data from the data nodes according to the specified data type as object matching data (212); obtaining target push objects from an object database according to the object matching data and screening the product push information according to the specified data type to obtain target push information (214); pushing the target push information to the target push objects (216). The matching node data can be stored in a blockchain. The present method solves the problem that the types of product push in the prior art is too few.

Description

产品推送方法、装置、计算机设备和存储介质Product push method, device, computer equipment and storage medium
本申请以2020年3月6日提交的申请号为202010151325.5,名称为“产品推送方法、装置、计算机设备和存储介质”的中国发明专利申请为基础,并要求其优先权。This application is based on the Chinese invention patent application filed on March 6, 2020 with the application number 202010151325.5 and titled "Product push method, device, computer equipment and storage medium", and claims its priority.
技术领域Technical field
本申请涉及数据分类领域,特别是涉及一种产品推送方法、装置、计算机设备和存储介质。This application relates to the field of data classification, in particular to a product push method, device, computer equipment and storage medium.
背景技术Background technique
目前对于公司某业务产品的推送要么由业务售卖方发起的,要么向供应商购买相关的信息服务,无论哪种方式都会增加成本。传统公司一般都拥有大量的客户资源库,且真实程度、资料完善程度都较高,如购入第三方智能推荐的产品,会有一定的信息泄露问题。传统技术中还有通过对用户信息进行分类,然后根据分类后的信息进行信息匹配的,这种方式为用户或者对象匹配到的产品信息过于单一。比如公开号为CN109447685的一种基于机器学习的产品数据推送方法所公开的,通过对获取到的用户信息进行分类并添加类别标签,然后根据该类别标签获取对应的产品数据,最后按照预设规则生成对应的资源分配结果后将信息推送给用户表示对应的用户终端。发明人意识到这种产品推送的方式虽然可以实现有针对性的对特定用户进行产品推送,但由于生成的产品推送信息过于单一,无法解决现有技术中的单一化的信息推送。At present, the push of a certain business product of the company is either initiated by the seller of the business or purchased related information services from the supplier. Either way, it will increase the cost. Traditional companies generally have a large customer resource database, and the degree of authenticity and data integrity are relatively high. If they buy products that are intelligently recommended by a third party, there will be certain information leakage problems. In the traditional technology, the user information is classified, and then the information is matched based on the classified information. In this way, the product information matched by the user or the object is too single. For example, a product data push method based on machine learning disclosed by the publication number CN109447685 is to classify the obtained user information and add category tags, and then obtain the corresponding product data according to the category tags, and finally follow the preset rules After generating the corresponding resource allocation result, pushing the information to the user indicates the corresponding user terminal. The inventor realizes that although this product push method can achieve targeted product push to specific users, the generated product push information is too single and cannot solve the singular information push in the prior art.
发明内容Summary of the invention
基于此,有必要针对上述技术问题,本申请提供一种产品推送方法、装置、计算机设备及存储介质,以解决现有技术中产品推送的类型过于单一的技术问题。Based on this, it is necessary to address the above technical problems, and this application provides a product push method, device, computer equipment, and storage medium to solve the technical problem that the type of product push in the prior art is too single.
一种产品推送方法,所述方法包括:A product push method, the method includes:
获取预设协议数据,提取所述预设协议数据的节点属性;Acquiring preset protocol data, and extracting node attributes of the preset protocol data;
根据所述节点属性生成用于筛选协议数据的计算因子;Generating a calculation factor for screening protocol data according to the node attribute;
获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;Obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
将所述匹配节点数据映射到对应的数据节点下;Mapping the matching node data to the corresponding data node;
根据所述数据节点生成产品推送信息;Generating product push information according to the data node;
获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;Acquiring a designated data type, and acquiring matching node data from the data node according to the designated data type as object matching data;
根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;Acquiring the target push object from the object database according to the object matching data, and filtering the product push information according to the specified data type to obtain the target push information;
将所述目标推送信息推送给所述目标推送对象Push the target push information to the target push object
一种产品推送装置,所述装置包括:A product pushing device, the device comprising:
属性提取模块,用于获取预设协议数据,提取所述预设协议数据的节点属性;The attribute extraction module is used to obtain preset protocol data, and extract the node attributes of the preset protocol data;
因子生成模块,用于根据所述节点属性生成用于筛选协议数据的计算因子;A factor generating module, configured to generate a calculation factor for screening protocol data according to the node attribute;
数据筛选模块,用于获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;The data screening module is used to obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
数据映射模块,用于将所述匹配节点数据映射到对应的数据节点下;A data mapping module, configured to map the matching node data to the corresponding data node;
信息生成模块,用于根据所述数据节点生成产品推送信息;An information generation module, which is used to generate product push information according to the data node;
对象数据获取模块,用于获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;The object data acquisition module is configured to acquire a specified data type, and obtain matching node data from the data node according to the specified data type, as object matching data;
数据匹配模块,用于根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;The data matching module is configured to obtain the target push object from the object database according to the object matching data, and filter the product push information according to the specified data type to obtain the target push information;
信息推送模块,用于将所述目标推送信息推送给所述目标推送对象。The information push module is used to push the target push information to the target push object.
一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下所述的产品推送方法的步骤:A computer device, including a memory and a processor, and a computer program stored in the memory and capable of running on the processor, and when the processor executes the computer program, the product push method described below is implemented step:
获取预设协议数据,提取所述预设协议数据的节点属性;Acquiring preset protocol data, and extracting node attributes of the preset protocol data;
根据所述节点属性生成用于筛选协议数据的计算因子;Generating a calculation factor for screening protocol data according to the node attribute;
获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;Obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
将所述匹配节点数据映射到对应的数据节点下;Mapping the matching node data to the corresponding data node;
根据所述数据节点生成产品推送信息;Generating product push information according to the data node;
获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;Acquiring a designated data type, and acquiring matching node data from the data node according to the designated data type as object matching data;
根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;Acquiring the target push object from the object database according to the object matching data, and filtering the product push information according to the specified data type to obtain the target push information;
将所述目标推送信息推送给所述目标推送对象。Push the target push information to the target push object.
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下所述的产品推送方法的步骤:A computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the product push method described below are realized:
获取预设协议数据,提取所述预设协议数据的节点属性;Acquiring preset protocol data, and extracting node attributes of the preset protocol data;
根据所述节点属性生成用于筛选协议数据的计算因子;Generating a calculation factor for screening protocol data according to the node attribute;
获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;Obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
将所述匹配节点数据映射到对应的数据节点下;Mapping the matching node data to the corresponding data node;
根据所述数据节点生成产品推送信息;Generating product push information according to the data node;
获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;Acquiring a designated data type, and acquiring matching node data from the data node according to the designated data type as object matching data;
根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;Acquiring the target push object from the object database according to the object matching data, and filtering the product push information according to the specified data type to obtain the target push information;
将所述目标推送信息推送给所述目标推送对象。Push the target push information to the target push object.
上述产品推送方法、装置、计算机设备和存储介质,通过在协议数据获取阶段通过对协议数据进行有目的性的筛选,再将筛选得到的协议数据按照数据节点进行存储,最后获取指定类型的协议数据进行目标推送对象的匹配以及推送信息的筛选,解决了现有技术中对目标推送对象推送的产品的类型较为单一的技术问题。The above-mentioned product push methods, devices, computer equipment and storage media, through purposeful screening of the protocol data in the protocol data acquisition stage, and then store the filtered protocol data according to the data node, and finally obtain the specified type of protocol data The matching of the target push objects and the screening of the push information solve the technical problem of the single type of products pushed by the target push objects in the prior art.
附图说明Description of the drawings
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the following will briefly introduce the drawings that need to be used in the description of the embodiments of the present application. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative labor.
图1为产品推送方法的应用环境示意图;Figure 1 is a schematic diagram of the application environment of the product push method;
图2为产品推送方法的流程示意图;Figure 2 is a schematic flow diagram of the product push method;
图3为图2中步骤204的流程示意图;FIG. 3 is a schematic flowchart of step 204 in FIG. 2;
图4为图2中步骤206的流程示意图;FIG. 4 is a schematic flowchart of step 206 in FIG. 2;
图5为图2中步骤206的另一流程示意图;FIG. 5 is another schematic diagram of the process of step 206 in FIG. 2;
图6为图2中步骤208的流程示意图;FIG. 6 is a schematic flowchart of step 208 in FIG. 2;
图7为图2中步骤212的流程示意图;FIG. 7 is a schematic flowchart of step 212 in FIG. 2;
图8为图2中步骤214的流程示意图;FIG. 8 is a schematic flowchart of step 214 in FIG. 2;
图9为产品推送装置的示意图;Figure 9 is a schematic diagram of a product pushing device;
图10为一个实施例中计算机设备的示意图。Figure 10 is a schematic diagram of a computer device in an embodiment.
具体实施方式Detailed ways
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。Unless otherwise defined, all technical and scientific terms used herein have the same meanings as commonly understood by those skilled in the technical field of the application; the terms used in the specification of the application herein are only for describing specific embodiments. The purpose is not to limit the application; the terms "including" and "having" in the specification and claims of the application and the above-mentioned description of the drawings and any variations thereof are intended to cover non-exclusive inclusions. The terms "first", "second", etc. in the specification and claims of the present application or the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific sequence.
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。The reference to "embodiments" herein means that a specific feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art clearly and implicitly understand that the embodiments described herein can be combined with other embodiments.
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the objectives, technical solutions, and advantages of this application clearer, the following further describes the application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of this application.
本申请实施例提供的产品推送方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、网络106以及服务端104,网络106用于在终端102和服务端104之间提供通信链路介质,网络106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。The product push method provided in the embodiment of the present application can be applied to the application environment as shown in FIG. 1. Among them, the application environment may include a terminal 102, a network 106, and a server 104. The network 106 is used to provide a communication link medium between the terminal 102 and the server 104. The network 106 may include various connection types, such as wired and wireless communications. Link or fiber optic cable, etc.
用户可以使用终端102通过网络106与服务端104交互,以接收或发送消息等。终端102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。The user can use the terminal 102 to interact with the server 104 through the network 106 to receive or send messages and so on. Various communication client applications, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc., may be installed on the terminal 102.
终端102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。The terminal 102 may be various electronic devices with a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, moving picture experts compress standard audio Level 3), MP4 (Moving Picture Experts Group Audio Layer IV, Motion Picture Experts compress standard audio level 4) Players, laptop portable computers and desktop computers, etc.
服务端104可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。The server 104 may be a server that provides various services, for example, a background server that provides support for pages displayed on the terminal 102.
需要说明的是,本申请实施例所提供的产品推送方法一般由服务端/终端执行,相应地,产品推送装置一般设置于服务端/终端设备中。It should be noted that the product pushing method provided in the embodiments of the present application is generally executed by the server/terminal, and accordingly, the product pushing device is generally set in the server/terminal device.
应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。It should be understood that the numbers of terminals, networks, and servers in FIG. 1 are merely illustrative. There can be any number of terminal devices, networks, and servers according to implementation needs.
其中,终端102通过网络与服务端104进行通信。服务端104从终端102上获取协议数据,并根据计算因子对协议数据进行筛选,得到匹配节点数据,再根据匹配节点数据生成产品推送信息、匹配目标推送对象,然后再将产品推送信息推送给目标推送对象,实现产品的推送。其中,终端102和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104可以用独立的服务器或者是多个组成的服务器集群来实现。Among them, the terminal 102 communicates with the server 104 through the network. The server 104 obtains the protocol data from the terminal 102, and filters the protocol data according to calculation factors to obtain matching node data, and then generates product push information based on the matching node data, matches the target push object, and then pushes the product push information to the target Push the object to realize the push of the product. Among them, the terminal 102 and the server 104 are connected through a network. The network can be a wired network or a wireless network. The terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablets, and portable wearable devices. , The server 104 can be implemented by an independent server or a cluster of multiple servers.
在一个实施例中,如图2所示,提供了一种产品推送方法,以该方法应用于图1中的服务端为例进行说明,包括以下步骤:In one embodiment, as shown in FIG. 2, a product push method is provided. Taking the method applied to the server in FIG. 1 as an example for description, the method includes the following steps:
步骤202,获取预设协议数据,提取预设协议数据的节点属性。Step 202: Obtain preset protocol data, and extract node attributes of the preset protocol data.
预设协议数据可以是根据实际业务场景获得,实际业务场景是视本次产品推送的产品类型以及产品推送的对象而定的。比如已知要为具有以下三类特征的对象的信息作为预设协议数据:年龄:20-35;工作地点:偏远地区;是否曾购买某类产品:是。The preset protocol data may be obtained according to actual business scenarios, and the actual business scenarios depend on the type of product pushed this time and the target of the product push. For example, it is known that the information of objects with the following three types of characteristics is used as the preset agreement data: age: 20-35; work location: remote area; whether or not a certain type of product has been purchased: yes.
步骤204,根据节点属性生成用于筛选协议数据的计算因子。Step 204: Generate calculation factors for filtering protocol data according to the node attributes.
节点属性是对预设协议数据进行结构化处理后,从结构化数据中提取出来的维度特征和数值。具体地,可以是与对象相对应的数据信息,该数据信息里包括若干维度特征以及与维 度特征对应的数据。比如表1中所示为预设协议数据中部分维度特征及其对应的数据的示例:Node attributes are dimensional features and values extracted from the structured data after structuring the preset protocol data. Specifically, it may be data information corresponding to the object, and the data information includes several dimensional features and data corresponding to the dimensional features. For example, Table 1 shows examples of some dimensional features in the preset protocol data and their corresponding data:
Figure PCTCN2021071803-appb-000001
Figure PCTCN2021071803-appb-000001
表1Table 1
计算因子是根据节点数据得到的,一个计算因子中包括一种根据节点属性生成的属性,比如对得到的节点属性进行聚类分析,从预设协议数据中获得了10个节点属性,则对包括Behavior_area:North China、Behavior_type:3以及Item_category:7350这3个维度的节点属性进行聚类分析,则得到的计算因子可以是华北地区购买了7350类产品。The calculation factor is obtained based on the node data. A calculation factor includes an attribute generated based on the node attribute. For example, if you perform a cluster analysis on the obtained node attribute, and obtain 10 node attributes from the preset protocol data, then Performing cluster analysis on the node attributes of the three dimensions of Behavior_area: North China, Behavior_type: 3, and Item_category: 7350, the calculated factor can be that 7,350 products are purchased in North China.
具体地,可以将本实施例应用对用户进行保险产品信息推荐上,预设协议数据(预设保单数据)中包括极客用户的投保地区:河南省、湖北省、湖南省,而这些省又是属于华中地区;再比如,包括北京市、天津市、山西省、河北省或者内蒙古自治区,这些是属于华北地区;还可以提取出用户的年龄,比如18-45属于青壮年,46-65属于中年,66以上属于老年等等这些属性特征,这些都可以是预设协议数据的节点属性。通过以上方式可以得到计算因子为:华北地区意健险。Specifically, this embodiment can be applied to recommend insurance product information to users. The preset agreement data (preset insurance policy data) includes the geek users’ insurance areas: Henan, Hubei, and Hunan, and these provinces are in turn It belongs to Central China; for example, including Beijing, Tianjin, Shanxi Province, Hebei Province or Inner Mongolia Autonomous Region, these belong to North China; it can also extract the age of the user, such as 18-45 for young and middle-aged, 46-65 for Middle-aged people, over 66 belong to old age and other attributes, which can be the node attributes of the preset protocol data. Through the above method, the calculation factor can be obtained as: health insurance in North China.
其中,聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇之间的对象有很大的相异性。那么就可以根据不同标签之间的相似性进行聚合,生成计算因子。计算因子的数量不限于一个,多个计算因子组成一个筛选模板,专用于特定业务的协议数据筛选,那么就可以根据该筛选模板对协议数据进行筛选。Among them, clustering is a process of classifying data into different classes or clusters, so objects in the same cluster have great similarities, while objects between different clusters have great differences. Then it can be aggregated according to the similarity between different tags to generate a calculation factor. The number of calculation factors is not limited to one. Multiple calculation factors form a screening template, which is dedicated to the screening of agreement data of a specific business, and then the agreement data can be screened according to the screening template.
步骤206,获取协议数据,并通过计算因子对协议数据进行筛选,得到匹配节点数据。Step 206: Obtain protocol data, and filter the protocol data by calculation factors to obtain matching node data.
协议数据包括历史协议数据和实时协议数据。历史协议数据为以往购买用户的协议数据,可以从其他资源池中获得,其中,资源池是按指定规则设立的不同纬度进行数据存储的一个存储池,其作用为更方便服务器通过Hadoop2抽取数据,然后进行数据分析,因为随着保单的类型不同,数据结构将极其复杂,如不进行归类整理,很难将数据进行有效的利用起来。The protocol data includes historical protocol data and real-time protocol data. The historical agreement data is the agreement data of the previous purchase users, which can be obtained from other resource pools. Among them, the resource pool is a storage pool that stores data in different latitudes established according to specified rules. Its function is to make it easier for the server to extract data through Hadoop2. Then carry out data analysis, because the data structure will be extremely complicated with different types of insurance policies. Without classification and sorting, it is difficult to use the data effectively.
历史协议数据都是已经被结构化的数据,可以直接取过来进行分析使用。其中,不论是实时协议数据还是历史协议数据都包括用户对象的各种维度的特征数据,比如年龄、职业、收入、所在地、家庭成员、曾购买商品的类型等等。Historical protocol data are all structured data, which can be directly retrieved for analysis and use. Among them, both real-time agreement data and historical agreement data include characteristic data of various dimensions of the user object, such as age, occupation, income, location, family members, types of goods purchased, and so on.
对于实时协议数据,若后台服务器接收到实时协议数据,会对实时协议数据进行RSA数据加密处理。RSA加密是一种非对称加密,可以在不直接传递密钥的情况下,完成解密,这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险,具体加密过程为现有技术此处不再赘述。For real-time protocol data, if the back-end server receives real-time protocol data, it will perform RSA data encryption processing on the real-time protocol data. RSA encryption is a kind of asymmetric encryption, which can complete the decryption without directly transferring the key. This can ensure the security of the information and avoid the risk of being cracked caused by the direct transfer of the key. The specific encryption process is current. There are technologies that will not be repeated here.
对实时协议数据进行加密后,需要通过Redis对加密后的协议数据进行结构化处理,然后将结构化处理后的协议数据保存到资源池中备用。After the real-time protocol data is encrypted, the encrypted protocol data needs to be structured through Redis, and then the structured protocol data is saved in the resource pool for later use.
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:Redis is an open source high-performance key-value database developed in C language. It adapts to storage needs in different scenarios by providing a variety of key-value data types. So far, the key-value data types supported by Redis are as follows :
字符串类型;散列类型;列表类型;集合类型;有序集合类型。String type; hash type; list type; collection type; ordered collection type.
应用场景可以是:Application scenarios can be:
缓存(数据查询,短连接,新闻内容,商品内容等等)、分布式集群架构中的session分离、聊天室的在线好友列表、任务队列(秒杀,抢购,12306等等)、应用排行榜、网站访问统计、数据过期处理(可以精确到毫秒)。Cache (data query, short connection, news content, product content, etc.), session separation in distributed cluster architecture, online friend list in chat room, task queue (spike, snap-up, 12306, etc.), application ranking, website Access statistics, data expiration processing (can be accurate to milliseconds).
步骤208,将匹配节点数据映射到对应的数据节点下。Step 208: Map the matching node data to the corresponding data node.
数据节点是另外设置的一个数据节点库中的节点,比如可以是协议数据中用户对象的商品类型(Enterprise Edition、Home Edition或者Professional Edition)、购买期限(定期、终身)、收入、年龄、家庭成员、住址等等。A data node is a node in a data node library set up separately, such as the product type (Enterprise Edition, Home Edition or Professional Edition) of the user object in the agreement data, purchase period (regular, lifetime), income, age, family members , Address, etc.
每一个数据节点下保存有符合计算因子的协议数据的唯一标识,该唯一标识是根据协议 数据的订单号和渠道号生成的。其中,一个协议数据可以对应多个数据节点的,比如既可以在产品的类型(Professional Edition)节点下,又可以在定期购买这个数据节点下。通过协议数据的不同属性对协议数据进行映射保存的好处是可以对协议数据进行分门别类,便于后续根据数据节点下的协议数据生成需要给用户推送的产品类型。Each data node stores a unique identifier of the protocol data that meets the calculation factor, and the unique identifier is generated based on the order number and channel number of the protocol data. Among them, one protocol data can correspond to multiple data nodes, for example, it can be under the product type (Professional Edition) node, or under the data node that is regularly purchased. The advantage of mapping and saving the protocol data through different attributes of the protocol data is that the protocol data can be classified into categories, which is convenient for subsequent generation of product types that need to be pushed to the user based on the protocol data under the data node.
进一步地而,每个数据节点下又可以有多个子节点比如Professional Edition节点下又可以分为定期节点和终身节点这两个同级节点,定期节点下又可以有不同年龄层的购买用户的年龄子节点等等,具体的数据节点的结构需要根据具体情况而定,此处不做限定。Furthermore, each data node can have multiple sub-nodes. For example, under the Professional Edition node, it can be divided into two nodes of the same level, the regular node and the lifetime node. Under the regular node, there can be different age groups of purchasing users. Sub-nodes, etc., the structure of the specific data node needs to be determined according to the specific situation, and it is not limited here.
步骤210,根据数据节点生成产品推送信息。Step 210: Generate product push information according to the data node.
将不同数据节点进行组合可以映射多个产品推送信息,比如年龄大于22低于28、住址在一线城市、收入符合预设值这几个数据节点组合得到的购买用户,可以给其推送Professional Edition等产品推送信息。年龄大于22低于28、住址在山区、收入不高于一定预设值这几个数据节点组合得到的用户可以给其推送Free edition。Combining different data nodes can map multiple product push information, such as purchasing users who are older than 22 and lower than 28, address in first-tier cities, and income meets the preset value of these data nodes, and can push Professional Edition, etc. Product push information. Users who are older than 22 and lower than 28, live in a mountainous area, and whose income is not higher than a certain preset value are combined to get a free edition.
数据节点与产品推送信息是多对多的关系,细节根据具体应用场景而定。比如可以按照以下维度,给对应潜在客户推送产品信息:There is a many-to-many relationship between data nodes and product push information, and the details depend on specific application scenarios. For example, you can push product information to corresponding potential customers according to the following dimensions:
年龄段、性别、职业、收入情况等等。Age group, gender, occupation, income, etc.
步骤212,获取指定数据类型,并根据指定数据类型从数据节点下获取协议数据,作为对象匹配数据。Step 212: Obtain the specified data type, and obtain the protocol data from the data node according to the specified data type as the object matching data.
本实施例可以通过Hadoop2获取协议数据,提升数据处理的效率,Hadoop2是一种服务器集群。根据获取到的指定数据类型进行对象匹配数据获取,并根据对象匹配数据进行目标推送对象获取的目的在于,数据节点下的协议数据的数量很多,若要实现为用户有针对性地推送产品,则可以通过制定数据类型,从数据节点下的协议数据中选取某一类型或某几类型的协议数据进行作为对象匹配数据。In this embodiment, protocol data can be obtained through Hadoop2, which improves the efficiency of data processing. Hadoop2 is a server cluster. The purpose of object matching data acquisition according to the specified data type obtained, and target push object acquisition according to the object matching data is that the amount of protocol data under the data node is large. If you want to achieve targeted push products for users, then It is possible to select a certain type or several types of protocol data from the protocol data under the data node by formulating the data type as the object matching data.
可选地,若需要更改产品的产品只需要调整指定数据类型即可,不必重新对数据进行筛选和分类,大大降低了产品推送的效率。Optionally, if you need to change the product of the product, you only need to adjust the specified data type, and there is no need to filter and classify the data again, which greatly reduces the efficiency of product push.
具体地,服务端通过客户端(client)提交作业请求(例如抓取所有指定类型的Free edition产品),然后服务端从资源池中调度指定资源,该指定数据类型是根据指定产品类型来获取的。Specifically, the server submits a job request through the client (for example, grabs all specified types of Free edition products), and then the server schedules specified resources from the resource pool, and the specified data type is obtained according to the specified product type .
进一步地,接收客户端(client)提交的抓取所有指定类型的用户对象的协议数据的作业请求,然后服务端上的Scheduler(调度程序)负责调度指定资源(指定要抓哪个产品节点的数据),然后,ApplicationsManager接收到了具体的产品节点下的数据,并通过一个container(容器)来执行抓取数据的操作。Further, it receives the job request submitted by the client to capture the protocol data of all specified types of user objects, and then the Scheduler on the server is responsible for scheduling the specified resources (specify which product node data to capture) , Then, ApplicationsManager receives the data under the specific product node and executes the operation of fetching the data through a container (container).
最后,ApplicationMaster会负责作业新的container的申请及作业的监控(后续该类型的数据抓取,均由该ApplicationMaster操作并抓取,及其监控抓取情况)。Finally, the ApplicationMaster will be responsible for the application of the new container and the monitoring of the operation (subsequent data capture of this type will be operated and captured by the ApplicationMaster, and the monitoring of the capture situation).
其中,可以利用Hadoop2中的HDFS功能对分散存储在各个数据节点下的协议数据进行了收集,其中,HDFS是具有高可靠性、高吞吐量的分布式文件系统。Among them, the HDFS function in Hadoop2 can be used to collect protocol data scattered and stored under each data node. Among them, HDFS is a distributed file system with high reliability and high throughput.
步骤214,根据对象匹配数据从对象数据库中获取目标推送对象,并根据指定数据类型对产品推送信息进行筛选,得到目标推送信息。Step 214: Obtain the target push object from the object database according to the object matching data, and filter the product push information according to the specified data type to obtain the target push information.
对象匹配数据中包括用户对象的一些属性数据,比如年龄、收入情况、出生年月或者身份信息。从对象数据库中获取与以上属性数据相匹配的对象作为目标推送对象,比如,符合年龄在20-30岁、收入在1W以上、职业不固定、住址在某地区的对象。然后还可以从上述得到的产品推送信息中选取符合指定数据类型的产品推送信息,比如,年龄在20-30、收入1W以上、职业不固定、住址在某地区的对象已购买的产品,并将该产品作为目标推送信息推送给目标推送对象。The object matching data includes some attribute data of the user object, such as age, income, date of birth, or identity information. Obtain objects that match the above attribute data from the object database as the target push objects, for example, objects that match the age of 20-30, income of 1W or more, unfixed occupation, and address in a certain area. Then you can also select product push information that meets the specified data type from the product push information obtained above, for example, products purchased by objects aged 20-30, income above 1W, unfixed occupation, and residential address in a certain area, and The product is pushed to the target push target as the target push information.
步骤216,将目标推送信息推送给目标推送对象。Step 216: Push the target push information to the target push object.
在对用户对象进行相关订单信息录入后,然后进行相关订单支付,该移动展业功能在支付完成后,如果用户勾选产品漂流瓶复选框,后台则利用activeMQ消息中间件将信息异步传 到后台。后续则可以通过产品漂流瓶的形式将为该用户生成的目标推送信息以漂流瓶的形式推送到用户的终端。After entering the relevant order information for the user object, then the relevant order payment is made. After the payment is completed, if the user checks the product drift bottle check box, the background uses the activeMQ message middleware to asynchronously transmit the information to the background . Subsequently, the target push information generated for the user can be pushed to the user's terminal in the form of a drift bottle in the form of a product drift bottle.
上述产品推送方法中,通过根据指定的用户群体的协议数据得到用户筛选协议数据的计算因子,并对协议数据进行筛选,选出合适的协议数据将其插入到对应的数据节点下,有针对性地获取某一类对象的预设协议数据的节点属性,并给节点属性生成计算因子对协议数据进行筛选,还通过指定数据类型指定目标推送信息以及从协议数据中选取对象筛选数据,提升了对海量漂流瓶数据处理能力,以便能够高效筛选整理数据,从而进行精准推送,而且期间所使用的数据都是真实的订单案例,推荐给相关用户更具有说服力。In the above product push method, the calculation factor for user screening protocol data is obtained according to the protocol data of the specified user group, and the protocol data is filtered, and the appropriate protocol data is selected and inserted under the corresponding data node, which is targeted Obtain the node attributes of the preset protocol data of a certain type of object, and generate calculation factors for the node attributes to filter the protocol data, and also specify the target push information by specifying the data type and select the object from the protocol data to filter the data, which improves the The massive data processing capability of the drifting bottle is able to efficiently filter and sort the data for accurate push, and the data used during the period are all real order cases, and it is more persuasive to recommend to relevant users.
在一个实施例中,如图3所示,步骤204包括:In one embodiment, as shown in FIG. 3, step 204 includes:
步骤302,通过one-hot算法对节点属性进行向量化处理,得到向量化属性。Step 302: Perform vectorization processing on the node attributes through the one-hot algorithm to obtain the vectorized attributes.
One-Hot表达是文本分类的一种结构化方式,是最直观,也是目前为止最常用的词表示方式。具体地,生成节点属性的字典;比如:保险类型、投保用户地址、年龄、收入,则得到的字典为[保,地,户,类,龄,年,入,收,投,险,型,用,址](可以按照拼音顺序排列,此处略过),得到13个字,这3个字依次表示为ont-hot向量的形式如下:One-Hot expression is a structured way of text classification. It is the most intuitive and the most commonly used word expression so far. Specifically, a dictionary of node attributes is generated; for example: insurance type, insured user address, age, income, and the resulting dictionary is [insurance, land, household, category, age, year, income, income, investment, insurance, type, Use, address] (can be arranged in the order of pinyin, skipped here), 13 characters are obtained, and the three characters are expressed as ont-hot vectors in the following form:
“保”:[1,0,0,0,0,0,0,0,0,0,0,0,0]"Guarantee": [1,0,0,0,0,0,0,0,0,0,0,0,0]
“险”:[0,0,0,0,0,0,0,0,0,1,0,0,0]"Risk": [0,0,0,0,0,0,0,0,0,1,0,0,0]
……...
“址”:[0,0,0,0,0,0,1,0,0,0,0,0,0]"Address": [0,0,0,0,0,0,1,0,0,0,0,0,0]
此时上面的节点属性的表示如下:At this time, the above node attributes are represented as follows:
保险类型:1,0,0,1,0,0,0,0,0,1,1,0,0Insurance type: 1,0,0,1,0,0,0,0,0,1,1,0,0
投保用户地址:1,1,1,0,0,0,0,0,1,0,0,1,1Insured user address: 1,1,1,0,0,0,0,0,1,0,0,1,1
……...
收入:0,0,0,0,0,1,1,0,0,0,0,0Income: 0,0,0,0,0,1,1,0,0,0,0,0
年龄、收入当节点属性以此类推,此处不再赘述。Age and income are the node attributes and so on, so I won’t repeat them here.
步骤304,计算各向量化属性之间的曼哈顿距离。Step 304: Calculate the Manhattan distance between the vectorized attributes.
曼哈顿距离(Manhattan Di stance)是向量之间的距离的一种。比如,在二维平面中两个点a(x1,y1)与b(x2,y2)间的曼哈顿距离:Manhattan distance (Manhattan Di stance) is a kind of distance between vectors. For example, the Manhattan distance between two points a(x1,y1) and b(x2,y2) in a two-dimensional plane:
d 12=|x 1-x 2|+|y 1-y 2|      公式(1) d 12 =|x 1 -x 2 |+|y 1 -y 2 | Formula (1)
其中,x1是点a的X轴坐标,y1是Y轴坐标;x2是点b的X轴坐标,y2是Y轴坐标。Among them, x1 is the X-axis coordinate of point a, y1 is the Y-axis coordinate; x2 is the X-axis coordinate of point b, and y2 is the Y-axis coordinate.
两个n维向量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的曼哈顿距离的表示方式:Representation of the Manhattan distance between two n-dimensional vectors a(x11,x12,...,x1n) and b(x21,x22,...,x2n):
Figure PCTCN2021071803-appb-000002
Figure PCTCN2021071803-appb-000002
其中,k表示点a或者b为位于第几维,且k为正整数。Among them, k indicates that the point a or b is located in which dimension, and k is a positive integer.
本实施例可以通过公式(2)计算两向量属性之间的曼哈顿距离,得到两向量属性之间的相似性。In this embodiment, the Manhattan distance between two vector attributes can be calculated by formula (2) to obtain the similarity between the two vector attributes.
步骤306,若曼哈顿距离小于预设距离的向量化属性的数量大于预设数值,则将曼哈顿距离小于预设距离的向量化属性设为核心属性簇。Step 306: If the number of vectorized attributes whose Manhattan distance is less than the preset distance is greater than the preset value, set the vectorized attributes whose Manhattan distance is less than the preset distance as the core attribute cluster.
本实施例需要获取曼哈顿距离小于预设距离,且曼哈顿距离小于预设距离的向量化属性数量大于预设数值的簇,作为核心属性簇。曼哈顿距离越小说明两个向量之间的相似性越高,数量越多,说明该属性簇作为计算因子的可能性越高。In this embodiment, it is necessary to obtain a cluster whose Manhattan distance is less than a preset distance, and the number of vectorized attributes whose Manhattan distance is less than the preset distance is greater than a preset value, as the core attribute cluster. The smaller the Manhattan distance, the higher the similarity between the two vectors, and the greater the number, which indicates that the attribute cluster is more likely to be used as a calculation factor.
步骤308,对核心属性簇进行整合,得到计算因子。Step 308: Integrate the core attribute clusters to obtain calculation factors.
本实施例中若得到购买年龄为25-35、购买的产品类型是free edition、用户收入5Kw以下,以及活动地区为险要之地(山区、海洋、沙漠等地)为一个核心属性簇,则得到的计算因子可以为:长期生活在偏远地带的青壮年的免费版。In this embodiment, if the purchase age is 25-35, the purchased product type is free edition, the user income is less than 5Kw, and the activity area is a critical area (mountain, ocean, desert, etc.) as a core attribute cluster, then The calculation factor of can be: a free version for young adults who live in remote areas for a long time.
进一步地,已知需要对极客、冒险人群推送保险产品,如给一些浏览极客、冒险网站的用户推荐意外保险产品,则可以生成以计算因子为单位组成的数据筛选模板,这个筛选模板 是可以通过多个计算因子组合得到。其中,计算因子可以是华北地区意健险、华中地区意健险、华北地区意外险等等。选取预设协议数据时需要根据具体地应用场景。Furthermore, it is known that it is necessary to push insurance products to geeks and adventurous people. For example, to recommend accident insurance products to some users who browse geeks and adventurous websites, a data screening template composed of calculation factors can be generated. This screening template is It can be obtained by combining multiple calculation factors. Among them, the calculation factor can be health insurance in North China, health insurance in Central China, accident insurance in North China, and so on. The selection of preset protocol data needs to be based on specific application scenarios.
可选地,若是对某老年用户群推荐保险产品,则可以获取一些已经购买了意外险的老年用户的保单数据作为预设协议数据,最后根据上述方式生成的计算因子就可以是:年龄65以上的意外险、年龄65以上的防癌险等等。Optionally, if an insurance product is recommended for a certain elderly user group, the insurance policy data of some elderly users who have purchased accident insurance can be obtained as the preset agreement data, and the final calculation factor generated according to the above method can be: age 65 or more Accident insurance, cancer insurance for age 65 and above, etc.
比如要给某一特定用户推荐意外保险产品,则生成的计算因子可以是:计算因子里的节点是年龄、险种、职业。将与该意外保险产品比较相关的几个节点作为计算因子。For example, if you want to recommend accident insurance products to a specific user, the generated calculation factor can be: the nodes in the calculation factor are age, insurance type, and occupation. Several nodes related to the accident insurance product comparison are used as calculation factors.
本实施例通过计算因子筛选协议数据,将同时包含上述计算因子中的节点的协议数据插入到相应的数据节点下。不同计算因子中可以包括不同节点,以保证筛选出的协议数据的多样性。例如,在某一协议数据中,只有协议数据类型、用户地址、年龄等节点信息,而无收入、家庭成员等节点信息,但收入节点的数据又关系到用户是否购买的可能性、购买什么类型的产品的可能性等,就可能因为某节点的数据没有顾虑到而错失该协议数据。In this embodiment, the protocol data is filtered by the calculation factor, and the protocol data that also includes the nodes in the calculation factor are inserted under the corresponding data node. Different nodes can be included in different calculation factors to ensure the diversity of the selected protocol data. For example, in a certain protocol data, there are only node information such as protocol data type, user address, age, etc., but no node information such as income and family members, but the data of the income node is related to whether the user purchases the possibility and what type of purchase The possibility of the product, etc., may miss the protocol data because the data of a certain node is not considered.
本实施例以推送某产品为例,用以说明该基于Hadoop2的产品推送方法,具体地,协议数据可以是购买用户的购买商品后生成的协议数据,里面包括购买用户的购买商品的类型、用户身份信息、地址、收入情况、家庭住址等等数据,用户在支付完成后,如果勾选产品推荐漂流瓶复选框,点击完成,后台则利用activeMQ消息中间件将用户的协议数据异步传到后台进行存储和分析。一般用户完成该步骤,购买流程已经结束,该用户的协议数据对于将适合的产品推送给合适的用户群体具有一定的参考意义。This embodiment takes the push of a product as an example to illustrate the Hadoop2-based product push method. Specifically, the agreement data may be the agreement data generated after the user purchases the product, which includes the type of the purchased product of the user, and the user Identity information, address, income, home address and other data. After the user completes the payment, if the user selects the product recommendation drift bottle check box and clicks Finish, the background will use the activeMQ message middleware to asynchronously transmit the user’s protocol data to the background Perform storage and analysis. The general user completes this step and the purchase process has ended. The user's agreement data has certain reference significance for pushing suitable products to suitable user groups.
在一个实施例中,如图4所示,步骤206包括:In one embodiment, as shown in FIG. 4, step 206 includes:
步骤402,获取历史协议数据,并存储到HDFS中。Step 402: Obtain historical protocol data and store it in HDFS.
历史协议数据是在某时间点之前已经获得的协议数据,历史协议数据可以是已经经过计算因子筛选,也可能是未经计算因子筛选的协议数据。The historical protocol data is the protocol data that has been obtained before a certain point in time, and the historical protocol data may be the protocol data that has been screened by the calculated factor, or it may be the protocol data that has not been screened by the calculated factor.
步骤404,通过MapReduce对历史协议数据进行分析,得到历史分析结果。Step 404: Analyze historical protocol data through MapReduce to obtain historical analysis results.
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。使用MapReduce原因是它具有很高的容错性。比如,其中一台机器宕机了,它可以把上面的计算任务转移到另一个节点上运行,不至于这个任务运行失败。MapReduce is a programming model for parallel operations on large-scale data sets (greater than 1TB). The reason for using MapReduce is its high fault tolerance. For example, if one of the machines is down, it can transfer the above computing tasks to another node to run, so that the task will not fail.
通过MapReduce对历史协议数据进行分析主要是分析历史协议数据是否符合计算因子。比如计算因子是“长期生活在偏远地带的青壮年的免费版”,那么需要对比该历史协议数据是否符合长期活跃在危险地带、青壮年以及免费版这三条属性。当然,还可以有其他计算因子与“长期生活在偏远地带的青壮年的免费版”这个计算因子进行结合筛选历史协议数据,以保证得到的协议数据的准确率较高。The analysis of historical protocol data through MapReduce is mainly to analyze whether the historical protocol data meets the calculation factor. For example, the calculation factor is "the free version of young adults living in remote areas for a long time", then it is necessary to compare whether the historical agreement data meets the three attributes of long-term active in dangerous areas, young adults and free version. Of course, there can also be other calculation factors combined with the calculation factor "Free version of young adults living in remote areas for a long time" to filter historical agreement data to ensure that the accuracy of the obtained agreement data is high.
步骤406,若历史分析结果为历史协议数据符合计算因子,则检测历史协议数据与数据节点之间是否存在键值对。Step 406: If the historical analysis result is that the historical protocol data meets the calculation factor, it is detected whether there is a key-value pair between the historical protocol data and the data node.
键值对是用于表示该历史协议数据是否已经在数据节点(比如Free edition这个数据节点)下存在的验证条件。若是该历史协议数据已经在该数据节点下出现过,则会生成一个键值对,用于指向数据节点。The key-value pair is a verification condition used to indicate whether the historical protocol data already exists under the data node (for example, the data node Free edition). If the historical protocol data has already appeared under the data node, a key-value pair will be generated to point to the data node.
步骤408,若不存在所述键值对,则将所述历史协议数据映射到相应的数据节点下,作为筛选数据。Step 408: If the key-value pair does not exist, map the historical protocol data to the corresponding data node as screening data.
如果不存在指向数据节点的键值对,则将该历史协议数据插入该数据节点下,作为筛选数据。筛选数据是用于筛选实时协议数据的数据,通过这种方式得到的筛选数据来筛选协议数据得到的数据相似度更高。而且对历史协议数据进行分析并插入到数据节点下,可以得到之前购买用户的购买类型、缴费方式、购买频率等,作为筛选数据的一种,用作对后续实时协议数据进行处理的基础。If there is no key-value pair pointing to the data node, insert the historical protocol data under the data node as the screening data. The screening data is the data used to screen the real-time protocol data. The screening data obtained in this way is used to screen the protocol data to obtain higher data similarity. Moreover, the historical agreement data is analyzed and inserted under the data node, and the purchase type, payment method, purchase frequency, etc. of the previous purchaser can be obtained, as a kind of screening data, and used as the basis for subsequent real-time agreement data processing.
步骤410,根据筛选数据对通过activeMQ消息中间件发送的实时协议数据进行筛选,将符合筛选数据的实时协议数据映射到相应的数据节点下,作为匹配节点数据。Step 410: Screen the real-time protocol data sent through the activeMQ message middleware according to the screening data, and map the real-time protocol data that meets the screening data to the corresponding data node as matching node data.
进一步地,本实施例可以利用activeMQ消息队列异步消息功能,增加购买过程中协议数 据向后台服务器传递的连续性,但是此附加业务的失败不会影响购买主流程。匹配节点数据是用于对Further, this embodiment can use the asynchronous message function of the activeMQ message queue to increase the continuity of the protocol data transfer to the back-end server during the purchase process, but the failure of this additional service will not affect the main purchase process. The matching node data is used to
本实施例通过预先对历史协议数据进行筛选,得到筛选数据,将筛选数据作为对实时协议数据的筛选条件,使得后续接收到的实时协议数据可以不必通过计算因子进行计算,而是直接对比其与筛选数据的契合度,比如收入、年龄、住址、家庭成员等的相似程度,提高了In this embodiment, the historical protocol data is filtered in advance to obtain the screening data, and the screening data is used as the screening condition for the real-time protocol data, so that the subsequent received real-time protocol data can be calculated without calculation factors, but directly compared with The fit of the screening data, such as the similarity of income, age, address, family members, etc., has improved
数据筛选的精度。The precision of data filtering.
在一个实施例中,如图5所示,步骤206还包括:In one embodiment, as shown in FIG. 5, step 206 further includes:
步骤502,若存在键值对,则获取通过activeMQ中间件发送的实时协议数据。Step 502: If there is a key-value pair, obtain real-time protocol data sent through the activeMQ middleware.
若存在键值对,则说明该协议数据已经通过了计算因子的筛选,并插入到对应的数据节点下。If there is a key-value pair, it means that the protocol data has passed the filter of the calculation factor and is inserted under the corresponding data node.
步骤504,根据计算因子对实时协议数据进行筛选,得到匹配节点数据。Step 504: Filter the real-time protocol data according to the calculation factor to obtain matching node data.
若不存在新插入的历史协议数据,则可以通过计算因子直接对实时协议数据进行筛选,得到匹配节点数据。If there is no newly inserted historical protocol data, the real-time protocol data can be directly filtered by calculation factors to obtain matching node data.
本实施例中通过计算因子对实时协议数据进行筛选,得到匹配节点数据,保证了数据的实时性,提高得到的数据的实时性。In this embodiment, the real-time protocol data is filtered by calculation factors to obtain matching node data, which ensures the real-time performance of the data and improves the real-time performance of the obtained data.
在一个实施例中,如图6所示,步骤208包括:In one embodiment, as shown in FIG. 6, step 208 includes:
步骤602,获取筛选得到的协议数据的协议编码和渠道编码。Step 602: Obtain the protocol code and channel code of the filtered protocol data.
协议数据的协议编码,本实施例可以是购买用户的订单号,以某整合了多个电商平台的网站的订单号码为例可以是:GP0200000000310241,渠道号可以是该订单数据的渠道来源,比如A电商公司的订单数据或者B电商公司的订单数据。The protocol code of the protocol data. In this embodiment, it can be the order number of the purchasing user. Taking the order number of a website integrating multiple e-commerce platforms as an example, it can be: GP0200000000310241. The channel number can be the channel source of the order data, such as Order data of e-commerce company A or order data of e-commerce company B.
步骤604,根据协议编码和渠道编码生成筛选得到的协议数据的索引编码。Step 604: Generate an index code of the filtered protocol data according to the protocol code and the channel code.
索引编码是该订单数据的唯一标识,而加入渠道编码的原因是有些小电商公司运用生成的订单号规则是一致的,有低概率的重复情况,加上协议数据的渠道来源可以确保协议数据编号的唯一性。The index code is the unique identification of the order data, and the reason for adding the channel code is that some small e-commerce companies use the same rules for the generated order numbers, there is a low probability of repetition, and the channel source of the protocol data can ensure the protocol data The uniqueness of the number.
步骤606,通过索引编码将筛选得到的协议数据映射到对应的数据节点下。Step 606: Map the filtered protocol data to the corresponding data node through index coding.
本实施例通过只在数据节点下存储协议数据的索引编码,所以可以有多个数据节点下保存有同一个索引编码,而该索引编码映射到协议数据库上的具体某一协议数据,节省存储空间。In this embodiment, only the index code of the protocol data is stored under the data node, so the same index code can be stored under multiple data nodes, and the index code is mapped to a specific protocol data on the protocol database, saving storage space .
在一个实施例中,如图7所示,步骤212包括:In one embodiment, as shown in FIG. 7, step 212 includes:
步骤702,接收数据抓取请求,其中,数据抓取请求中包括指定数据类型。Step 702: Receive a data capture request, where the data capture request includes a specified data type.
步骤704,根据指定数据类型从数据节点下获取匹配节点数据,作为对象匹配数据。Step 704: Obtain matching node data from the data node according to the specified data type as object matching data.
具体地,本实施例中,服务端接收客户端(client)提交数据榨取请求,该数据榨取请求中包括指定数据类型,指定数据类型可以是:抓取所有指定类型的Home Edition订单(比如指定类型是:定期、终身),然后服务端上的Scheduler(调度程序)负责调度指定资源(指定要抓哪个Home Edition节点下的数据),然后,从该数据节点下获取具体的Home Edition协议数据。Specifically, in this embodiment, the server receives a data extraction request submitted by a client (client). The data extraction request includes a specified data type. The specified data type may be: grab all specified types of Home Edition orders (such as specified types). Yes: Periodic, lifetime), and then the Scheduler on the server is responsible for scheduling the specified resources (specify which Home Edition node data is to be captured), and then obtain the specific Home Edition protocol data from the data node.
本实施例中的操作可以利用Hadoop2中的HDFS功能(HDFS功能中的什么算法)对分散存储的协议数据进行了收集,HDFS是具有高可靠性、高吞吐量的分布式文件系统。通过Hadoop2的数据抓取速度高,可以提高数据获取的速度。The operation in this embodiment can use the HDFS function (what algorithm in the HDFS function) in Hadoop2 to collect distributed stored protocol data. HDFS is a distributed file system with high reliability and high throughput. The data capture speed through Hadoop2 is high, which can improve the speed of data acquisition.
在一个实施例中,如图8所示,步骤214包括:In one embodiment, as shown in FIG. 8, step 214 includes:
步骤802,从对象匹配数据中获取指定数据类型的至少一个属性数值。Step 802: Obtain at least one attribute value of the specified data type from the object matching data.
若指定数据类型为年龄、收入以及Home Edition类型,则从对象匹配数据中获取相同属性下所对应的数值可以是:年龄30、收入2w/月、Home Edition定期。一般都会指定数据类型中的属性数值至少为一个。If the specified data types are age, income, and Home Edition types, the corresponding values under the same attribute obtained from the object matching data can be: age 30, income 2w/month, and Home Edition regular. Generally, at least one attribute value in the data type is specified.
步骤804,从对象数据库中获取用户对象,其中,用户对象包括与属性数值具有相同属性的属性映射。基于上述得到的属性数值,从对象数据库获取与该属性数值具有相同数值或 者相近数值的对象。Step 804: Obtain the user object from the object database, where the user object includes an attribute map having the same attribute as the attribute value. Based on the attribute value obtained above, an object with the same value or a similar value to the attribute value is obtained from the object database.
步骤806,将与属性数值相符的属性映射所对应的用户作为目标推送对象。Step 806: Use the user corresponding to the attribute map that matches the attribute value as the target push object.
本实施例通过指定数据类型从对象数据库中获取指定方向的对象,作为目标推送对象,使得得到的对象的针对性更强。In this embodiment, the object in the specified direction is obtained from the object database by specifying the data type, and the object is pushed as the target, so that the obtained object is more targeted.
应该理解的是,虽然图2-图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。It should be understood that, although the steps in the flowcharts of FIGS. 2 to 8 are displayed in sequence as indicated by the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless specifically stated in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least some of the steps in Figure 2-8 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. These sub-steps or The order of execution of the stages does not have to be carried out sequentially, but may be executed alternately or alternately with at least a part of other steps or sub-steps or stages of other steps.
需要强调的是,为进一步保证上述匹配节点数据的私密和安全性,上述匹配节点数据还可以存储于一区块链的节点中。It should be emphasized that, in order to further ensure the privacy and security of the matching node data, the matching node data may also be stored in a node of a blockchain.
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。The blockchain referred to in this application is a new application mode of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. Blockchain, essentially a decentralized database, is a series of data blocks associated with cryptographic methods. Each data block contains a batch of network transaction information for verification. The validity of the information (anti-counterfeiting) and the generation of the next block. The blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
本申请可应用于智慧社区领域中,在智慧社区中对社区人员进行产品推送,从而推动智慧城市的建设。This application can be applied in the field of smart communities to push products to community members in smart communities, thereby promoting the construction of smart cities.
在一个实施例中,如图9所示,提供了一种产品推送装置,该产品推送装置与上述实施例中产品推送方法一一对应。该产品推送装置包括:In one embodiment, as shown in FIG. 9, a product pushing device is provided, and the product pushing device corresponds to the product pushing method in the foregoing embodiment one-to-one. The product push device includes:
属性提取模块902,用于获取预设协议数据,提取预设协议数据的节点属性。The attribute extraction module 902 is used to obtain preset protocol data and extract node attributes of the preset protocol data.
因子生成模块904,用于根据节点属性生成用于筛选协议数据的计算因子。The factor generation module 904 is configured to generate calculation factors for screening protocol data according to the node attributes.
数据筛选模块906,用于获取协议数据,并通过计算因子对协议数据进行筛选,得到匹配节点数据。The data screening module 906 is used to obtain protocol data, and filter the protocol data by calculation factors to obtain matching node data.
数据映射模块908,用于将匹配节点数据映射到对应的数据节点下。The data mapping module 908 is used to map the matching node data to the corresponding data node.
信息生成模块910,用于根据数据节点生成产品推送信息。The information generating module 910 is configured to generate product push information according to the data node.
对象数据获取模块912,用于获取指定数据类型,并根据指定数据类型从数据节点下获取匹配节点数据,作为对象匹配数据。The object data obtaining module 912 is configured to obtain a specified data type, and obtain matching node data from the data node according to the specified data type as object matching data.
数据匹配模块914,用于根据对象匹配数据从对象数据库中获取目标推送对象,并根据指定数据类型对产品推送信息进行筛选,得到目标推送信息。The data matching module 914 is configured to obtain the target push object from the object database according to the object matching data, and filter the product push information according to the specified data type to obtain the target push information.
信息推送模块916,用于将目标推送信息推送给目标推送对象。The information push module 916 is used to push the target push information to the target push object.
进一步地,因子生成模块904包括:Further, the factor generation module 904 includes:
向量化子模块,用于通过one-hot算法对节点属性进行向量化处理,得到向量化属性。The vectorization sub-module is used to vectorize the node attributes through the one-hot algorithm to obtain the vectorized attributes.
距离计算子模块,用于计算各向量化属性之间的曼哈顿距离。The distance calculation sub-module is used to calculate the Manhattan distance between each vectorized attribute.
核心簇确定子模块,用于若曼哈顿距离小于预设距离的向量化属性的数量大于预设数值,则将曼哈顿距离小于预设距离的向量化属性设为核心属性簇。The core cluster determination sub-module is used to set the vectorized attribute with Manhattan distance less than the preset distance as the core attribute cluster if the number of vectorized attributes with Manhattan distance less than the preset distance is greater than the preset value.
属性簇整合子模块,用于对核心属性簇进行整合,得到计算因子。The attribute cluster integration sub-module is used to integrate the core attribute clusters to obtain calculation factors.
进一步地,数据筛选模块906包括:Further, the data screening module 906 includes:
历史数据获取子模块,用于获取历史协议数据,并存储到HDFS中。The historical data acquisition sub-module is used to acquire historical protocol data and store it in HDFS.
历史分析子模块,用于通过MapReduce对历史协议数据进行分析,得到历史分析结果。The historical analysis sub-module is used to analyze historical protocol data through MapReduce to obtain historical analysis results.
映射检测子模块,用于若历史分析结果为历史协议数据符合计算因子,则检测历史协议 数据与数据节点之间是否存在键值对。The mapping detection sub-module is used to detect whether there is a key-value pair between the historical protocol data and the data node if the historical analysis result is that the historical protocol data meets the calculation factor.
筛选数据获取子模块,用于若不存在键值对,则将历史协议数据映射到相应的数据节点下,作为筛选数据。The filtering data acquisition sub-module is used to map the historical protocol data to the corresponding data node if there is no key-value pair, as the filtering data.
第一数据映射子模块,用于根据筛选数据对通过activeMQ消息中间件发送的实时协议数据进行筛选,将符合筛选数据的实时协议数据映射到相应的数据节点下,作为匹配节点数据。The first data mapping sub-module is used to screen the real-time protocol data sent through the activeMQ message middleware according to the screening data, and map the real-time protocol data that meets the screening data to the corresponding data node as matching node data.
进一步地,数据筛选模块906还包括:Further, the data screening module 906 further includes:
实时数据获取子模块,用于若存在键值对,则获取通过activeMQ中间件发送的实时协议数据。The real-time data acquisition sub-module is used to acquire real-time protocol data sent through the activeMQ middleware if there is a key-value pair.
第二数据映射子模块,用于根据计算因子对实时协议数据进行筛选,得到匹配节点数据。The second data mapping sub-module is used to filter the real-time protocol data according to the calculation factor to obtain matching node data.
进一步地,数据映射模块908包括:Further, the data mapping module 908 includes:
编码获取子模块,用于获取筛选得到的协议数据的协议编码和渠道编码。The code obtaining sub-module is used to obtain the protocol code and channel code of the protocol data obtained by screening.
索引编码生成子模块,用于根据协议编码和所述渠道编码生成筛选得到的协议数据的索引编码。The index code generation sub-module is used to generate the index code of the filtered protocol data according to the protocol code and the channel code.
编码映射子模块,用于通过索引编码将筛选得到的协议数据映射到对应的数据节点下。The coding mapping sub-module is used to map the filtered protocol data to the corresponding data node through index coding.
进一步地,对象数据获取模块912包括:Further, the object data acquisition module 912 includes:
请求接收子模块,用于接收数据抓取请求,其中,数据抓取请求中包括指定数据类型。The request receiving sub-module is used to receive a data capture request, where the data capture request includes a specified data type.
对象数据获取子模块,用于根据指定数据类型从数据节点下获取匹配节点数据,作为对象匹配数据。The object data acquisition sub-module is used to obtain the matching node data from the data node according to the specified data type, as the object matching data.
进一步地,数据匹配模块914包括:Further, the data matching module 914 includes:
属性数值获取子模块,用于从对象匹配数据中获取指定数据类型的至少一个属性数值。The attribute value obtaining sub-module is used to obtain at least one attribute value of the specified data type from the object matching data.
对象获取子模块,用于从对象数据库中获取用户对象,其中,用户对象包括与属性数值具有相同属性的属性映射。The object acquisition sub-module is used to acquire user objects from the object database, where the user objects include attribute mappings that have the same attributes as the attribute values.
产品推送子模块,用于将与属性数值相符的属性映射所对应的用户作为目标推送对象。The product push sub-module is used to target the user corresponding to the attribute mapping that matches the attribute value as the target push object.
上述产品推送装置,通过根据指定的用户群体的协议数据得到用户筛选协议数据的计算因子,并对协议数据进行筛选,选出合适的协议数据将其插入到对应的数据节点下,有针对性地获取某一类对象的预设协议数据的节点属性,并给节点属性生成计算因子对协议数据进行筛选,还通过指定数据类型指定目标推送信息以及从协议数据中选取对象筛选数据,提升了对海量漂流瓶数据处理能力,以便能够高效筛选整理数据,从而进行精准推送,而且期间所使用的数据都是真实的购买案例,推荐给相关用户更具有说服力。The above-mentioned product push device obtains the calculation factor of user screening protocol data according to the protocol data of the specified user group, filters the protocol data, selects the appropriate protocol data and inserts it under the corresponding data node, in a targeted manner Obtain the node attributes of the preset protocol data of a certain type of object, and generate calculation factors for the node attributes to filter the protocol data, and also specify the target push information by specifying the data type and select the object from the protocol data to filter the data, which improves the mass Drift bottle data processing capabilities, so that the data can be efficiently filtered and sorted for accurate push, and the data used during the period are real purchase cases, and it is more convincing to recommend to relevant users.
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户订单数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种产品推送方法,通过根据指定的用户群体的协议数据得到用户筛选协议数据的计算因子,并对协议数据进行筛选,选出合适的协议数据将其插入到对应的数据节点下,有针对性地获取某一类对象的预设协议数据的节点属性,并给节点属性生成计算因子对协议数据进行筛选,还通过指定数据类型指定目标推送信息以及从协议数据中选取对象筛选数据,提升了对海量漂流瓶数据处理能力,以便能够高效筛选整理数据,从而进行精准推送,而且期间所使用的数据都是真实的购买案例,推荐给相关用户更具有说服力。In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. 10. The computer equipment includes a processor, a memory, a network interface, and a database connected through a system bus. Among them, the processor of the computer device is used to provide calculation and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database of the computer equipment is used to store user order data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a product push method is realized. The calculation factor of the user screening protocol data is obtained according to the protocol data of the specified user group, and the protocol data is screened, and the appropriate protocol data is selected and inserted Go to the corresponding data node, obtain the node attributes of the preset protocol data of a certain type of object in a targeted manner, and generate calculation factors for the node attributes to filter the protocol data, and specify the target push information and slave protocol by specifying the data type. Selecting objects in the data to filter data improves the ability to process massive amounts of drifting bottle data, so that the data can be efficiently filtered and sorted for accurate push, and the data used during the period are real purchase cases, and it is more persuasive to recommend to relevant users .
其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入 式设备等。Among them, those skilled in the art can understand that the computer device here is a device that can automatically perform numerical calculation and/or information processing in accordance with pre-set or stored instructions. Its hardware includes, but is not limited to, a microprocessor, a dedicated Integrated Circuit (Application Specific Integrated Circuit, ASIC), Programmable Gate Array (Field-Programmable Gate Array, FPGA), Digital Processor (Digital Signal Processor, DSP), embedded equipment, etc.
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。Those skilled in the art can understand that the structure shown in FIG. 10 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may Including more or fewer parts than shown in the figure, or combining some parts, or having a different arrangement of parts.
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中产品推送方法的步骤,例如图2所示的步骤202至步骤216,或者,处理器执行计算机程序时实现上述实施例中产品推送装置的各模块/单元的功能,例如图9所示模块902至模块916的功能。为避免重复,此处不再赘述。In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored on the memory and running on the processor. The processor executes the computer program to implement the steps of the product push method in the above embodiment For example, step 202 to step 216 shown in FIG. 2, or when the processor executes the computer program, the function of each module/unit of the product pushing device in the above embodiment is realized, for example, the function of module 902 to module 916 shown in FIG. 9. To avoid repetition, I won’t repeat them here.
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中产品推送方法的步骤,例如图2所示的步骤202至步骤216,或者,处理器执行计算机程序时实现上述实施例中产品推送装置的各模块/单元的功能,例如图9所示模块902至模块916的功能,通过根据指定的用户群体的协议数据得到用户筛选协议数据的计算因子,并对协议数据进行筛选,选出合适的协议数据将其插入到对应的数据节点下,有针对性地获取某一类对象的预设协议数据的节点属性,并给节点属性生成计算因子对协议数据进行筛选,还通过指定数据类型指定目标推送信息以及从协议数据中选取对象筛选数据,提升了对海量漂流瓶数据处理能力,以便能够高效筛选整理数据,从而进行精准推送,而且期间所使用的数据都是真实的购买案例,推荐给相关用户更具有说服力。In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the product pushing method in the above-mentioned embodiment are implemented, for example, steps 202 to 2 shown in FIG. Step 216, or, when the processor executes the computer program, the function of each module/unit of the product pushing device in the above-mentioned embodiment is realized. For example, the functions of modules 902 to 916 shown in FIG. The user filters the calculation factors of the protocol data, and filters the protocol data, selects the appropriate protocol data and inserts it under the corresponding data node, and obtains the node attributes of the preset protocol data of a certain type of object in a targeted manner, and Generate calculation factors for node attributes to filter protocol data, and also specify data types to specify targets to push information and select objects from protocol data to filter data, which improves the ability to process massive amounts of drifting bottle data so that data can be efficiently filtered and sorted. Accurate push, and the data used during the period are real purchase cases, it is more convincing to recommend to relevant users.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage. In the medium, when the computer program is executed, it may include the processes of the above-mentioned method embodiments. Wherein, any reference to memory, storage, database, or other media used in the embodiments provided in this application may include non-volatile and/or volatile memory. Non-volatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not a limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Channel (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the division of the above functional units and modules is used as an example. In practical applications, the above functions can be allocated to different functional units and modules as needed. Module completion, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above.
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, they should be It is considered as the range described in this specification.
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本申请个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。The above-mentioned embodiments only express several implementation manners of the present application, and the description is relatively specific and detailed, but it should not be understood as a limitation on the scope of the invention patent. It should be pointed out that for those of ordinary skill in the art, without departing from the concept of this application, several modifications, improvements, or equivalent substitutions of some technical features can be made, and these modifications or substitutions are not To make the essence of the same technical solution deviate from the spirit and scope of the technical solutions of the embodiments of this application belongs to the protection scope of this application. Therefore, the scope of protection of the patent of this application shall be subject to the appended claims.

Claims (20)

  1. 一种产品推送方法,所述方法包括:A product push method, the method includes:
    获取预设协议数据,提取所述预设协议数据的节点属性;Acquiring preset protocol data, and extracting node attributes of the preset protocol data;
    根据所述节点属性生成用于筛选协议数据的计算因子;Generating a calculation factor for screening protocol data according to the node attribute;
    获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;Obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
    将所述匹配节点数据映射到对应的数据节点下;Mapping the matching node data to the corresponding data node;
    根据所述数据节点生成产品推送信息;Generating product push information according to the data node;
    获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;Acquiring a designated data type, and acquiring matching node data from the data node according to the designated data type as object matching data;
    根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;Acquiring the target push object from the object database according to the object matching data, and filtering the product push information according to the specified data type to obtain the target push information;
    将所述目标推送信息推送给所述目标推送对象。Push the target push information to the target push object.
  2. 根据权利要求1所述的方法,其中,所述根据所述节点属性生成用于筛选协议数据的计算因子,包括:The method according to claim 1, wherein said generating a calculation factor for screening protocol data according to said node attribute comprises:
    通过one-hot算法对所述节点属性进行向量化处理,得到向量化属性;Performing vectorization processing on the node attributes by one-hot algorithm to obtain vectorized attributes;
    计算各所述向量化属性之间的曼哈顿距离;Calculating the Manhattan distance between each of the vectorized attributes;
    若所述曼哈顿距离小于预设距离的向量化属性的数量大于预设数值,则将所述曼哈顿距离小于所述预设距离的向量化属性设为核心属性簇;If the number of vectorized attributes whose Manhattan distance is less than the preset distance is greater than a preset value, set the vectorized attributes whose Manhattan distance is less than the preset distance as a core attribute cluster;
    对所述核心属性簇进行整合,得到所述计算因子。The core attribute clusters are integrated to obtain the calculation factor.
  3. 根据权利要求1所述的方法,其中,所述获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据,包括:The method according to claim 1, wherein said acquiring protocol data and filtering said protocol data by said calculation factor to obtain matching node data comprises:
    获取历史协议数据,并存储到HDFS中;Obtain historical protocol data and store it in HDFS;
    通过MapReduce对所述历史协议数据进行分析,得到历史分析结果;Analyze the historical protocol data through MapReduce to obtain historical analysis results;
    若所述历史分析结果为所述历史协议数据符合所述计算因子,则检测所述历史协议数据与所述数据节点之间是否存在键值对;If the historical analysis result is that the historical protocol data meets the calculation factor, detecting whether there is a key-value pair between the historical protocol data and the data node;
    若不存在所述键值对,则将所述历史协议数据映射到相应的数据节点下,作为筛选数据;If the key-value pair does not exist, map the historical protocol data to the corresponding data node as screening data;
    根据所述筛选数据对通过activeMQ消息中间件发送的实时协议数据进行筛选,将符合所述筛选数据的实时协议数据映射到相应的数据节点下,作为匹配节点数据。The real-time protocol data sent through the activeMQ message middleware is screened according to the screening data, and the real-time protocol data that meets the screening data is mapped to the corresponding data node as matching node data.
  4. 根据权利要求3所述的方法,其中,所述获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据,还包括:The method according to claim 3, wherein said acquiring protocol data and filtering said protocol data by said calculation factor to obtain matching node data further comprises:
    若存在所述键值对,则获取通过activeMQ中间件发送的所述实时协议数据;If the key-value pair exists, obtain the real-time protocol data sent through the activeMQ middleware;
    根据所述计算因子对所述实时协议数据进行筛选,得到所述匹配节点数据。The real-time protocol data is screened according to the calculation factor to obtain the matching node data.
  5. 根据权利要求1所述的方法,其中,所述将筛选得到的协议数据映射到对应的数据节点下,包括:The method according to claim 1, wherein the mapping the filtered protocol data to the corresponding data node comprises:
    获取筛选得到的协议数据的协议编码和渠道编码;Obtain the protocol code and channel code of the filtered protocol data;
    根据所述协议编码和所述渠道编码生成筛选得到的协议数据的索引编码;Generating an index code of the filtered protocol data according to the protocol code and the channel code;
    通过所述索引编码将筛选得到的协议数据映射到对应的数据节点下。Map the filtered protocol data to the corresponding data node through the index coding.
  6. 根据权利要求1所述的方法,其中,所述获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据,包括:The method according to claim 1, wherein said obtaining a specified data type, and obtaining matching node data from the data node according to the specified data type, as object matching data, comprises:
    接收数据抓取请求,其中,所述数据抓取请求中包括所述指定数据类型;Receiving a data capture request, wherein the data capture request includes the specified data type;
    根据所述指定数据类型从所述数据节点下获取所述匹配节点数据,作为所述对象匹配数据。Obtain the matching node data from the data node according to the specified data type as the object matching data.
  7. 根据权利要求1所述的方法,其中,所述根据所述对象匹配数据从对象数据库中获取目标推送对象,包括:The method according to claim 1, wherein the obtaining the target push object from the object database according to the object matching data comprises:
    从所述对象匹配数据中获取所述指定数据类型的至少一个属性数值;Obtaining at least one attribute value of the specified data type from the object matching data;
    从所述对象数据库中获取用户对象,其中,所述用户对象包括与所述属性数值具有相同属性的属性映射;Obtaining a user object from the object database, wherein the user object includes an attribute map having the same attribute as the attribute value;
    将与所述属性数值相符的属性映射所对应的用户作为目标推送对象。The user corresponding to the attribute mapping that matches the attribute value is used as the target push object.
  8. 一种产品推送装置,包括:A product push device, including:
    属性提取模块,用于获取预设协议数据,提取所述预设协议数据的节点属性;The attribute extraction module is used to obtain preset protocol data, and extract the node attributes of the preset protocol data;
    因子生成模块,用于根据所述节点属性生成用于筛选协议数据的计算因子;A factor generating module, configured to generate a calculation factor for screening protocol data according to the node attribute;
    数据筛选模块,用于获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;The data screening module is used to obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
    数据映射模块,用于将所述匹配节点数据映射到对应的数据节点下;A data mapping module, configured to map the matching node data to the corresponding data node;
    信息生成模块,用于根据所述数据节点生成产品推送信息;An information generation module, which is used to generate product push information according to the data node;
    对象数据获取模块,用于获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;The object data acquisition module is configured to acquire a specified data type, and obtain matching node data from the data node according to the specified data type, as object matching data;
    数据匹配模块,用于根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;The data matching module is configured to obtain the target push object from the object database according to the object matching data, and filter the product push information according to the specified data type to obtain the target push information;
    信息推送模块,用于将所述目标推送信息推送给所述目标推送对象。The information push module is used to push the target push information to the target push object.
  9. 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如下所述的产品推送方法的步骤:A computer device includes a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, the steps of the product push method described below are implemented:
    获取预设协议数据,提取所述预设协议数据的节点属性;Acquiring preset protocol data, and extracting node attributes of the preset protocol data;
    根据所述节点属性生成用于筛选协议数据的计算因子;Generating a calculation factor for screening protocol data according to the node attribute;
    获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;Obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
    将所述匹配节点数据映射到对应的数据节点下;Mapping the matching node data to the corresponding data node;
    根据所述数据节点生成产品推送信息;Generating product push information according to the data node;
    获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;Acquiring a designated data type, and acquiring matching node data from the data node according to the designated data type as object matching data;
    根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;Acquiring the target push object from the object database according to the object matching data, and filtering the product push information according to the specified data type to obtain the target push information;
    将所述目标推送信息推送给所述目标推送对象。Push the target push information to the target push object.
  10. 根据权利要求9所述的计算机设备,其中,所述根据所述节点属性生成用于筛选协议数据的计算因子,包括:The computer device according to claim 9, wherein said generating a calculation factor for filtering protocol data according to said node attribute comprises:
    通过one-hot算法对所述节点属性进行向量化处理,得到向量化属性;Performing vectorization processing on the node attributes by one-hot algorithm to obtain vectorized attributes;
    计算各所述向量化属性之间的曼哈顿距离;Calculating the Manhattan distance between each of the vectorized attributes;
    若所述曼哈顿距离小于预设距离的向量化属性的数量大于预设数值,则将所述曼哈顿距离小于所述预设距离的向量化属性设为核心属性簇;If the number of vectorized attributes whose Manhattan distance is less than the preset distance is greater than a preset value, set the vectorized attributes whose Manhattan distance is less than the preset distance as a core attribute cluster;
    对所述核心属性簇进行整合,得到所述计算因子。The core attribute clusters are integrated to obtain the calculation factor.
  11. 根据权利要求9所述的计算机设备,其中,所述获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据,包括:The computer device according to claim 9, wherein said acquiring protocol data and filtering said protocol data by said calculation factor to obtain matching node data comprises:
    获取历史协议数据,并存储到HDFS中;Obtain historical protocol data and store it in HDFS;
    通过MapReduce对所述历史协议数据进行分析,得到历史分析结果;Analyze the historical protocol data through MapReduce to obtain historical analysis results;
    若所述历史分析结果为所述历史协议数据符合所述计算因子,则检测所述历史协议数据与所述数据节点之间是否存在键值对;If the historical analysis result is that the historical protocol data meets the calculation factor, detecting whether there is a key-value pair between the historical protocol data and the data node;
    若不存在所述键值对,则将所述历史协议数据映射到相应的数据节点下,作为筛选数据;If the key-value pair does not exist, map the historical protocol data to the corresponding data node as screening data;
    根据所述筛选数据对通过activeMQ消息中间件发送的实时协议数据进行筛选,将符合所述筛选数据的实时协议数据映射到相应的数据节点下,作为匹配节点数据。The real-time protocol data sent through the activeMQ message middleware is screened according to the screening data, and the real-time protocol data that meets the screening data is mapped to the corresponding data node as matching node data.
  12. 根据权利要求11所述的计算机设备,其中,所述获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据,还包括:The computer device according to claim 11, wherein said acquiring protocol data and filtering said protocol data by said calculation factor to obtain matching node data further comprises:
    若存在所述键值对,则获取通过activeMQ中间件发送的所述实时协议数据;If the key-value pair exists, obtain the real-time protocol data sent through the activeMQ middleware;
    根据所述计算因子对所述实时协议数据进行筛选,得到所述匹配节点数据。The real-time protocol data is screened according to the calculation factor to obtain the matching node data.
  13. 根据权利要求9所述的计算机设备,其中,所述将筛选得到的协议数据映射到对应的 数据节点下,包括:The computer device according to claim 9, wherein the mapping the filtered protocol data to the corresponding data node comprises:
    获取筛选得到的协议数据的协议编码和渠道编码;Obtain the protocol code and channel code of the filtered protocol data;
    根据所述协议编码和所述渠道编码生成筛选得到的协议数据的索引编码;Generating an index code of the filtered protocol data according to the protocol code and the channel code;
    通过所述索引编码将筛选得到的协议数据映射到对应的数据节点下。Map the filtered protocol data to the corresponding data node through the index coding.
  14. 根据权利要求9所述的计算机设备,其中,所述获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据,包括:8. The computer device according to claim 9, wherein said obtaining a specified data type and obtaining matching node data from the data node according to the specified data type as object matching data comprises:
    接收数据抓取请求,其中,所述数据抓取请求中包括所述指定数据类型;Receiving a data capture request, wherein the data capture request includes the specified data type;
    根据所述指定数据类型从所述数据节点下获取所述匹配节点数据,作为所述对象匹配数据。Obtain the matching node data from the data node according to the specified data type as the object matching data.
  15. 根据权利要求9所述的计算机设备,其中,所述根据所述对象匹配数据从对象数据库中获取目标推送对象,包括:The computer device according to claim 9, wherein said obtaining the target push object from the object database according to the object matching data comprises:
    从所述对象匹配数据中获取所述指定数据类型的至少一个属性数值;Obtaining at least one attribute value of the specified data type from the object matching data;
    从所述对象数据库中获取用户对象,其中,所述用户对象包括与所述属性数值具有相同属性的属性映射;Obtaining a user object from the object database, wherein the user object includes an attribute map having the same attribute as the attribute value;
    将与所述属性数值相符的属性映射所对应的用户作为目标推送对象。The user corresponding to the attribute mapping that matches the attribute value is used as the target push object.
  16. 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下所述的产品推送方法的步骤:A computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the product pushing method described below are realized:
    获取预设协议数据,提取所述预设协议数据的节点属性;Acquiring preset protocol data, and extracting node attributes of the preset protocol data;
    根据所述节点属性生成用于筛选协议数据的计算因子;Generating a calculation factor for screening protocol data according to the node attribute;
    获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据;Obtain protocol data, and filter the protocol data by the calculation factor to obtain matching node data;
    将所述匹配节点数据映射到对应的数据节点下;Mapping the matching node data to the corresponding data node;
    根据所述数据节点生成产品推送信息;Generating product push information according to the data node;
    获取指定数据类型,并根据所述指定数据类型从所述数据节点下获取匹配节点数据,作为对象匹配数据;Acquiring a designated data type, and acquiring matching node data from the data node according to the designated data type as object matching data;
    根据所述对象匹配数据从对象数据库中获取目标推送对象,并根据所述指定数据类型对所述产品推送信息进行筛选,得到目标推送信息;Acquiring the target push object from the object database according to the object matching data, and filtering the product push information according to the specified data type to obtain the target push information;
    将所述目标推送信息推送给所述目标推送对象。Push the target push information to the target push object.
  17. 根据权利要求16所述的计算机可读存储介质,其中,所述根据所述节点属性生成用于筛选协议数据的计算因子,包括:The computer-readable storage medium according to claim 16, wherein said generating a calculation factor for filtering protocol data according to said node attribute comprises:
    通过one-hot算法对所述节点属性进行向量化处理,得到向量化属性;Performing vectorization processing on the node attributes by one-hot algorithm to obtain vectorized attributes;
    计算各所述向量化属性之间的曼哈顿距离;Calculating the Manhattan distance between each of the vectorized attributes;
    若所述曼哈顿距离小于预设距离的向量化属性的数量大于预设数值,则将所述曼哈顿距离小于所述预设距离的向量化属性设为核心属性簇;If the number of vectorized attributes whose Manhattan distance is less than the preset distance is greater than a preset value, set the vectorized attributes whose Manhattan distance is less than the preset distance as a core attribute cluster;
    对所述核心属性簇进行整合,得到所述计算因子。The core attribute clusters are integrated to obtain the calculation factor.
  18. 根据权利要求16所述的计算机可读存储介质,其中,所述获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据,包括:The computer-readable storage medium according to claim 16, wherein said acquiring protocol data and filtering said protocol data by said calculation factor to obtain matching node data comprises:
    获取历史协议数据,并存储到HDFS中;Obtain historical protocol data and store it in HDFS;
    通过MapReduce对所述历史协议数据进行分析,得到历史分析结果;Analyze the historical protocol data through MapReduce to obtain historical analysis results;
    若所述历史分析结果为所述历史协议数据符合所述计算因子,则检测所述历史协议数据与所述数据节点之间是否存在键值对;If the historical analysis result is that the historical protocol data meets the calculation factor, detecting whether there is a key-value pair between the historical protocol data and the data node;
    若不存在所述键值对,则将所述历史协议数据映射到相应的数据节点下,作为筛选数据;If the key-value pair does not exist, map the historical protocol data to the corresponding data node as screening data;
    根据所述筛选数据对通过activeMQ消息中间件发送的实时协议数据进行筛选,将符合所述筛选数据的实时协议数据映射到相应的数据节点下,作为匹配节点数据。The real-time protocol data sent through the activeMQ message middleware is screened according to the screening data, and the real-time protocol data that meets the screening data is mapped to the corresponding data node as matching node data.
  19. 根据权利要求18所述的计算机可读存储介质,其中,所述获取协议数据,并通过所述计算因子对所述协议数据进行筛选,得到匹配节点数据,还包括:18. The computer-readable storage medium according to claim 18, wherein said acquiring protocol data and filtering said protocol data by said calculation factor to obtain matching node data further comprises:
    若存在所述键值对,则获取通过activeMQ中间件发送的所述实时协议数据;If the key-value pair exists, obtain the real-time protocol data sent through the activeMQ middleware;
    根据所述计算因子对所述实时协议数据进行筛选,得到所述匹配节点数据。The real-time protocol data is screened according to the calculation factor to obtain the matching node data.
  20. 根据权利要求16所述的计算机可读存储介质,其中,所述将筛选得到的协议数据映射到对应的数据节点下,包括:The computer-readable storage medium according to claim 16, wherein the mapping the filtered protocol data to the corresponding data node comprises:
    获取筛选得到的协议数据的协议编码和渠道编码;Obtain the protocol code and channel code of the filtered protocol data;
    根据所述协议编码和所述渠道编码生成筛选得到的协议数据的索引编码;Generating an index code of the filtered protocol data according to the protocol code and the channel code;
    通过所述索引编码将筛选得到的协议数据映射到对应的数据节点下。Map the filtered protocol data to the corresponding data node through the index coding.
PCT/CN2021/071803 2020-03-06 2021-01-14 Product push method and apparatus, computer device, and storage medium WO2021175021A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010151325.5 2020-03-06
CN202010151325.5A CN111476595A (en) 2020-03-06 2020-03-06 Product pushing method and device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2021175021A1 true WO2021175021A1 (en) 2021-09-10

Family

ID=71747376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/071803 WO2021175021A1 (en) 2020-03-06 2021-01-14 Product push method and apparatus, computer device, and storage medium

Country Status (2)

Country Link
CN (1) CN111476595A (en)
WO (1) WO2021175021A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237806A (en) * 2021-12-29 2022-03-25 瀚云科技有限公司 Page information display method and device, electronic equipment and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476595A (en) * 2020-03-06 2020-07-31 深圳壹账通智能科技有限公司 Product pushing method and device, computer equipment and storage medium
CN112488863B (en) * 2020-12-01 2024-05-28 中国人寿保险股份有限公司 Dangerous seed recommendation method and related equipment in user cold start scene
CN116796056B (en) * 2022-03-15 2024-08-30 腾讯科技(深圳)有限公司 Content transmitting method, device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166561A1 (en) * 2010-12-28 2012-06-28 Julius Kelly Multi-Channel Dynamic Response Communication Engine
CN110135890A (en) * 2019-04-15 2019-08-16 深圳壹账通智能科技有限公司 The product data method for pushing and relevant device of knowledge based relation excavation
CN110147821A (en) * 2019-04-15 2019-08-20 中国平安人寿保险股份有限公司 Targeted user population determines method, apparatus, computer equipment and storage medium
CN110334274A (en) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 Information-pushing method, device, computer equipment and storage medium
CN111476595A (en) * 2020-03-06 2020-07-31 深圳壹账通智能科技有限公司 Product pushing method and device, computer equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166561A1 (en) * 2010-12-28 2012-06-28 Julius Kelly Multi-Channel Dynamic Response Communication Engine
CN110135890A (en) * 2019-04-15 2019-08-16 深圳壹账通智能科技有限公司 The product data method for pushing and relevant device of knowledge based relation excavation
CN110147821A (en) * 2019-04-15 2019-08-20 中国平安人寿保险股份有限公司 Targeted user population determines method, apparatus, computer equipment and storage medium
CN110334274A (en) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 Information-pushing method, device, computer equipment and storage medium
CN111476595A (en) * 2020-03-06 2020-07-31 深圳壹账通智能科技有限公司 Product pushing method and device, computer equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237806A (en) * 2021-12-29 2022-03-25 瀚云科技有限公司 Page information display method and device, electronic equipment and storage medium
CN114237806B (en) * 2021-12-29 2024-03-12 瀚云科技有限公司 Page information display method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN111476595A (en) 2020-07-31

Similar Documents

Publication Publication Date Title
WO2021175021A1 (en) Product push method and apparatus, computer device, and storage medium
US11475143B2 (en) Sensitive data classification
Serafino et al. True scale-free networks hidden by finite size effects
CN112148987B (en) Message pushing method based on target object activity and related equipment
US10948526B2 (en) Non-parametric statistical behavioral identification ecosystem for electricity fraud detection
CN112613917B (en) Information pushing method, device, equipment and storage medium based on user portrait
US20190199519A1 (en) Detecting and treating unauthorized duplicate digital content
CN109906451A (en) Use the similarity searching of polyphone
WO2022126901A1 (en) Commodity recommendation method and related device thereof
JP2017515184A (en) Determining temporary transaction limits
CN104077723B (en) A kind of social networks commending system and method
CN111026858B (en) Project information processing method and device based on project recommendation model
Hariharakrishnan et al. Survey of pre-processing techniques for mining big data
Voit et al. Big data processing for full-text search and visualization with Elasticsearch
CN113836131A (en) Big data cleaning method and device, computer equipment and storage medium
CN110929125A (en) Search recall method, apparatus, device and storage medium thereof
Nair et al. An introduction to clustering algorithms in big data
CN111046237A (en) User behavior data processing method and device, electronic equipment and readable medium
Pan et al. Recommendation of crowdsourcing tasks based on word2vec semantic tags
CN113051480A (en) Resource pushing method and device, electronic equipment and storage medium
CN116340366A (en) Block chain-based data sharing storage method, device, equipment and medium
WO2021119230A1 (en) Intelligent conversion of internet domain names to vector embeddings
CN116304228A (en) Block chain-based data storage method, device, equipment and medium
CN110443264A (en) A kind of method and apparatus of cluster
CN114219664A (en) Product recommendation method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21763831

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09/01/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21763831

Country of ref document: EP

Kind code of ref document: A1