Tag service system, method, device and medium based on SaaS model

The SaaS-based label service system addresses high maintenance costs and low efficiency by using real-time updates and a distributed framework for label calculation, enhancing efficiency and reducing downtime.

CN113868574BActive Publication Date: 2025-01-03BEIJING RENKE INTERACTIVE NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing label systems have high maintenance costs and low calculation efficiency due to frequent updates requiring server shutdowns, which is inefficient and costly.

Method used

A label service system based on the SaaS model that includes a data acquisition node, label management node, and label calculation node, utilizing agile development languages to generate or update label engines in real-time without shutdowns, and a distributed stream processing framework for high throughput calculations.

Benefits of technology

Reduces maintenance costs and improves label calculation efficiency by enabling real-time updates and high throughput processing without downtime, ensuring timely and accurate label generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113868574B_ABST
    Figure CN113868574B_ABST
Patent Text Reader

Abstract

The present invention relates to a label service system, method, electronic device, and storage medium based on a SaaS model, the system comprising: a data acquisition node for acquiring a user behavior data stream of a first tenant; a label management node for generating a label engine metadata stream according to label information configured by the first tenant; a label calculation node for generating label data of the user behavior data using a label engine according to user behavior data acquired from the user behavior data stream; wherein the label calculation node has multiple child nodes, and the label engine is generated or updated in real time according to the label engine metadata stream based on an agile development language. In the present invention, the label engine does not need to be shut down for maintenance, and can be updated in real time at low cost and convenience, and the entire system constitutes a distributed stream processing framework, which can perform label calculations in real time with high throughput, thereby improving the efficiency of label calculations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of Internet technology, and in particular to a label service system, method, electronic device, and storage medium based on a SaaS model. Background Art

[0002] User tags are descriptions of certain dimensional characteristics of users. Many data products, such as personalized recommendation systems, intelligent operation platforms, advertising systems, CRM, etc., require user tags.

[0003] In the current labeling system, part of it is built through web programs. Since different users have different labeling calculation requirements, each user's labeling calculation requirements will change over time, so the labeling algorithm / labeling engine needs to be updated frequently. Under the existing web program architecture, it is usually necessary to shut down the server for update, which has high maintenance costs and low labeling calculation efficiency.

[0004] The tag system in the prior art has high maintenance costs and low tag calculation efficiency, and a solution with low maintenance costs and high tag calculation efficiency is urgently needed. Summary of the invention

[0005] The present invention provides a label service system, method, electronic device, and storage medium based on the SaaS model, which are used to solve the defects of high maintenance cost and low label calculation efficiency of the label system in the prior art, and achieve low maintenance cost and high label calculation efficiency.

[0006] The present invention provides a label service system based on the SaaS model, comprising:

[0007] A data acquisition node, used to acquire the user behavior data stream of the first tenant;

[0008] A label management node, configured to generate a label engine metadata stream according to the label information configured by the first tenant;

[0009] A label calculation node is used to generate label data of the user behavior data based on the user behavior data obtained from the user behavior data stream using a label engine; wherein the label calculation node has multiple child nodes, and the label engine is generated or updated in real time based on the label engine metadata stream based on an agile development language.

[0010] A label service system provided according to the present invention also includes:

[0011] The management distribution node is used to distribute the user behavior data in the user behavior data stream of the first tenant to a child node of the label calculation node; the management distribution node is also used to broadcast the label engine metadata stream to all child nodes of the label calculation node.

[0012] According to a label service system provided by the present invention, the management distribution node includes:

[0013] A first publish-subscribe node is used to classify and store user behavior data streams of multiple tenants; the first tenant is one of the multiple tenants;

[0014] A second publish-subscribe node, configured to classify and store the tag engine metadata streams configured by the multiple tenants;

[0015] The distribution subnode is used to distribute the user behavior data in the user behavior data stream of the multiple tenants to a subnode of the label calculation node according to the bucketing rule; the distribution subnode is also used to broadcast the label engine metadata stream configured by the multiple tenants to each subnode of the label calculation node.

[0016] According to a label service system provided by the present invention, the label engine is a Groovy engine; the first publish-subscribe node and the second publish-subscribe node are publish-subscribe nodes based on kafka; and the distribution subnode is a distribution node based on flink.

[0017] A label service system provided according to the present invention also includes:

[0018] A storage node is used to associate and store the user behavior data with label data of the user behavior data.

[0019] The present invention also provides a label calculation method based on the SaaS model, comprising:

[0020] Obtain the user behavior data stream of the first tenant;

[0021] Using a tag engine, generating tag data of the user behavior data according to the user behavior data in the user behavior data stream;

[0022] The tag engine is generated or updated in real time according to the tag engine metadata stream based on an agile development language, and the tag engine metadata stream is generated according to the tag information configured by the first tenant.

[0023] According to a label calculation method provided by the present invention, after obtaining the user behavior data stream of the first tenant and before using the label engine to generate label data of the user behavior data according to the user behavior data in the user behavior data stream, the method further includes:

[0024] Distribute the user behavior data in the user behavior data stream of the first tenant to a child node of a label calculation node; wherein the label calculation node includes a plurality of child nodes; and

[0025] The tag engine metadata stream is broadcasted to all child nodes of the tag computing node.

[0026] According to a label calculation method provided by the present invention, distributing the user behavior data in the user behavior data stream of the first tenant to a child node of the label calculation node; and broadcasting the label engine metadata to all child nodes of the label calculation node, comprises:

[0027] Using a first publish-subscribe node, classifying and storing user behavior data streams of multiple tenants; the first tenant is one of the multiple tenants;

[0028] Using the second publish-subscribe node, classify and store the tag engine metadata streams configured by the multiple tenants;

[0029] Using the distribution sub-node, the user behavior data in the user behavior data streams of the multiple tenants are distributed to a sub-node of the label calculation node according to the bucketing rule; and the label engine metadata streams configured by the multiple tenants are broadcast to each sub-node of the label calculation node.

[0030] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, all or part of the steps of any of the above-described label calculation methods based on the SaaS model are implemented.

[0031] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements all or part of the steps of any of the above-described label calculation methods based on the SaaS model.

[0032] The present invention provides a label service system, method, electronic device, and storage medium based on the SaaS model. The label management node can automatically generate a label engine metadata stream according to the label information configured by the first tenant. The label calculation node runs a label engine based on the agile development language to generate or update the label engine in real time according to the label engine metadata stream. The label engine is used to process the user behavior data in the user behavior data stream of the first tenant to obtain the label data. The label engine in the present invention does not need to be shut down for maintenance, and can be updated in real time at low cost and convenience. The entire system constitutes a distributed stream processing framework, which can perform label calculations in real time with high throughput, thereby improving the efficiency of label calculations. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0034] Figure 1 This is one of the structural diagrams of a label service system based on the SaaS model provided by the present invention;

[0035] Figure 2 This is the second structural diagram of a label service system based on the SaaS model provided by the present invention;

[0036] Figure 3 This is the third structural diagram of a label service system based on the SaaS model provided by the present invention;

[0037] Figure 4 It is a flowchart of a tag calculation method based on the SaaS model provided by the present invention;

[0038] Figure 5 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION

[0039] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0040] SaaS is the abbreviation of Software-as-a-Service, which is a brand-new software application model. It is a model of providing software services through the Internet. Manufacturers deploy application software uniformly on their own servers. Customers can order the required application software services from manufacturers through the Internet according to their actual needs, pay the manufacturers according to the amount of services ordered and the length of time, and obtain the services provided by the manufacturers through the Internet. Users no longer need to purchase software, but instead rent Web-based software from providers to manage business activities, and there is no need to maintain the software. Service providers will fully manage and maintain the software. While providing Internet applications to customers, software manufacturers also provide offline operation of the software and local data storage, allowing users to use the software and services they ordered anytime and anywhere. For many small businesses, SaaS is the best way to adopt advanced technology. It eliminates the need for enterprises to purchase, build and maintain infrastructure and applications.

[0041] The label service system based on the SaaS model in the present invention provides a set of label calculation and management technical procedures to many tenants in the SaaS model (Software-as-a-Service), providing customized label calculation and service capabilities for different tenants. Tenants can be enterprises, individuals, etc. Tenants can calculate the required labels according to their own different scenarios. These labels can be concepts that reflect objective facts or abstract behavioral labels.

[0042] Combine the following Figure 1-Figure 5 The present invention describes a label service system, method, electronic device, and storage medium based on the SaaS model.

[0043] Figure 1 This is one of the structural diagrams of a label service system based on the SaaS model provided by the present invention, such as Figure 1 As shown, the system includes: a data acquisition node 11, a label management node 12, and a label calculation node 13;

[0044] Data acquisition node 11, used to acquire the user behavior data stream of the first tenant;

[0045] Specifically, the data acquisition node 11 obtains user data from the first tenant, such as user behavior data uploaded by an enterprise, or user behavior data of an individual tenant. The user behavior data is uploaded by the tenant in the form of a data stream, and the system processes the user behavior data uploaded by the tenant in real time. The user behavior data in the user behavior data stream specifically describes the user's behavior, and the tenant can define the attributes of the user behavior data to be uploaded. User behavior data includes, for example, the user's IP, event name, time of occurrence, tenant ID, user desensitization number ID (data after deformation protection of user sensitive information), etc. For example, user h1 tried on a brand of shoes of tenant H in the store and evaluated it through a mobile phone APP. At this time, the user behavior data of user h1 can be "the network access point IP address when the user uploaded the evaluation", "try-on behavior", "try-on time", "tenant H's ID" and "user h1's desensitization number ID".

[0046] The label management node 12 is used to generate a label engine metadata stream according to the label information configured by the first tenant;

[0047] Specifically, the operator of the first tenant can configure or adjust the tag information on the page. The tag information describes the hierarchical structure and calculation method of the tag. The tag information is preferably recorded in json format. The tag information configured by the first tenant includes: tag type, name, id number, trigger event name, triggered tag type and logical relationship, etc. The tag information of the example is explained as follows:

[0048] Tag type: When generating tags, you can evaluate user behavior from different perspectives. Different tag types represent different evaluation perspectives, such as age segmentation, consumption tendency, geographic distribution, etc.

[0049] Name: the specific name of the label, for example: "youth", "middle-aged", "high-frequency consumer users", "low-frequency consumer users", etc.

[0050] Event name: An abstract definition of the user's behavior, i.e. the name of the event. For example, if a user tries on a pair of shoes in a store, the action of "trying on" is an active behavior of the user, and "trying on" is a defined event.

[0051] Triggered event name: In the tag engine, the tag calculation is triggered for the specified event, and the specified event name is the triggered event name. For example, if all users who have tried on shoes are marked as VIP users, then the triggered event name is "try on", and the corresponding tag is "VIP user".

[0052] The types of triggered tags include: event triggering, rule triggering, and model triggering. Event triggering means directly triggering the corresponding tag for the specified event in the user behavior data, rule triggering means triggering the corresponding tag calculation for the user behavior data that meets the preset rules, and model triggering means generating tags by performing model statistics on the user behavior data.

[0053] Logical relationship: that is, the logical rules for determining specific tags based on user behavior data and other tag information. For example, based on the user's IP address, the logical rules for determining the user's geographical area are determined in combination with the correspondence between the IP interval and the geographical area.

[0054] The tag management node automatically generates a tag engine metadata stream based on the tag information configured by the first tenant. The tag engine metadata is generated based on an agile development language. The metadata can be loaded by the tag calculation node based on the agile development language to generate a tag engine, which is used to perform tag calculations. The tag engine metadata stream means that the tag management node continuously receives tag information from multiple tenants in the form of a data stream and generates or updates the tag engine metadata in real time.

[0055] It should be noted that the core of agile development is iterative development. Iterative development breaks down a large task into multiple continuous developments, gradually improves and iterates on the basis of the initial version, and perfects the product form through frequent releases and tracking feedback from the previous iteration.

[0056] The label management node in the present invention uses agile development languages ​​(such as Groovy and JavaScript) to automatically generate a label engine metadata stream based on the label information configured by the first tenant, which can be used to generate a label engine in a label calculation node or update the label engine in real time, thereby eliminating the need to shut down the label service system for maintenance.

[0057] The label calculation node 13 is used to use a label engine to generate label data of the user behavior data based on the user behavior data obtained from the user behavior data stream; wherein the label calculation node has multiple child nodes, and the label engine is generated or updated in real time based on the label engine metadata stream based on an agile development language.

[0058] Specifically, the label calculation node is equipped with an operating environment of an agile development language. After obtaining the label engine metadata stream based on the agile development language, the label engine metadata can be loaded to generate or update the label engine. After receiving the user behavior data, the label calculation node can trigger the corresponding rules in the label engine and generate labels according to the rules. The label calculation node includes multiple sub-nodes to improve the label calculation capability. The sub-nodes of each label calculation node generate or update their own label engines based on the received label engine metadata stream. Since the label service system based on the Saas model is facing multiple tenants, it can be understood that each sub-node of the label calculation node in the label service system has multiple label engines, and each label engine can provide label calculation services to the corresponding tenants.

[0059] In this embodiment, the tag management node can automatically generate a tag engine metadata stream according to the tag information configured by the first tenant, and the tag calculation node runs a tag engine based on the agile development language to generate or update the tag engine in real time according to the tag engine metadata stream. The tag engine is used to process the user behavior data in the user behavior data stream of the first tenant to obtain the tag data. In this embodiment, the tag engine does not need to be shut down for maintenance, and can be updated in real time at low cost and convenience. The entire system constitutes a distributed stream processing framework, which can perform tag calculations in real time with high throughput, thereby improving the efficiency of tag calculations.

[0060] Figure 2 This is a second structural diagram of a label service system based on the SaaS model provided by the present invention, such as Figure 2 As shown, based on any of the above embodiments, in one embodiment, the label service system further includes:

[0061] The management distribution node 14 is used to distribute the user behavior data in the user behavior data stream of the first tenant to a child node of the label calculation node; the management distribution node is also used to broadcast the label engine metadata stream to all child nodes of the label calculation node.

[0062] Specifically, since the user behavior data stream has a large amount of user behavior data to be processed, and the label calculation node has multiple sub-nodes for label calculation, the user behavior data in the user behavior data stream is distributed to a sub-node of the label calculation node according to the preset bucketing rule through the management distribution node 14, and each sub-node in the label calculation node receives the assigned user behavior data and performs its own label calculation task. For example: the user behavior data x1 in the user behavior data stream is distributed to the label calculation sub-node A, the user behavior data x2 in the user behavior data stream is distributed to the label calculation sub-node B, and the user behavior data x3 in the user behavior data stream is distributed to the label calculation sub-node C, and the label calculation sub-nodes A, B, and C respectively use the corresponding label engines to perform label calculation on the user behavior data received by each. Specifically, the bucketing rule can be set according to actual needs, for example, according to the order in which the user behavior data is distributed to multiple label calculation sub-nodes, and for example, the user behavior data is distributed according to the event name, and the user behavior data with the same event name are centrally distributed to the same label calculation sub-node.

[0063] At the same time, the management distribution node 14 also broadcasts the label engine metadata stream to all child nodes of the label computing node, so as to generate or update the label engine of each child node in real time. For example, the label engine metadata stream includes label engine metadata S1 generated according to the label information configured by tenant H1 and label engine metadata S2 generated according to the performance information configured by tenant H2. Then, the management distribution node 14 broadcasts the label engine metadata S1 and the label engine metadata S2 to all child nodes of the label computing node, and each child node generates or updates the label engine corresponding to tenant H1 in real time according to the label engine metadata S1, and generates or updates the label engine corresponding to tenant H2 in real time according to the label engine metadata S2.

[0064] In this embodiment, the user behavior data in the user behavior data stream of the first tenant is distributed to a child node of the label calculation node through the management distribution node, and the user behavior data to be calculated for the label is distributed in an orderly manner, thereby improving the efficiency of label calculation. The label engine metadata stream is also broadcast to all child nodes of the label calculation node through the management distribution node, and the label engine of each child node of the label calculation node is generated or updated in real time, without the need for downtime maintenance, thereby reducing maintenance costs.

[0065] Figure 3 This is a third structural diagram of a label service system based on the SaaS model provided by the present invention, such as Figure 3 As shown, based on any of the above embodiments, in one embodiment, the management distribution node includes:

[0066] The first publish-subscribe node 141 is used to classify and store user behavior data streams of multiple tenants; the first tenant is one of the multiple tenants;

[0067] The second publish-subscribe node 142 is used to classify and store the tag engine metadata streams configured by the multiple tenants;

[0068] The distribution subnode 143 is used to distribute the user behavior data in the user behavior data stream of the multiple tenants to a subnode of the label calculation node according to the bucketing rule; the distribution subnode is also used to broadcast the label engine metadata stream configured by the multiple tenants to each subnode of the label calculation node.

[0069] Specifically, the publish-subscribe model is actually a one-to-many dependency relationship between objects. When the state of an object changes, all objects that depend on it will be notified of the state change. In the publish-subscribe model, the message sender called the publisher will not send the message directly to the subscriber, and the publisher and subscriber do not know each other's existence. There is a third component between the publisher and the subscriber, called the message agent or scheduling center or middleware, which maintains the connection between the publisher and the subscriber, filters all messages incoming from the publisher and distributes them to the corresponding subscribers. In this embodiment, the first publish-subscribe node 141 classifies and stores the user behavior data streams of multiple tenants, and cooperates with the distribution subnode 143 to distribute the user behavior data in the user behavior data streams of multiple tenants to a subnode of the label computing node according to the bucketing rule, that is, to distribute the user behavior data to be processed; the second publish-subscribe node 142 classifies and stores the label engine metadata streams configured by multiple tenants, and cooperates with the distribution subnode 143 to broadcast the label engine metadata streams configured by multiple tenants to each subnode of the label computing node.

[0070] In this embodiment, user behavior data is distributed in an orderly manner through the first publish-subscribe node, the second publish-subscribe node, and the distribution sub-node, and the tag engine metadata is broadcast to all sub-nodes of the tag calculation node, ensuring the timely production or update of the tag engine.

[0071] Based on any of the above embodiments, in one embodiment, the label engine is a Groovy engine; the first publish-subscribe node and the second publish-subscribe node are publish-subscribe nodes based on Kafka; and the distribution subnode is a distribution node based on Flink.

[0072] Specifically, the label engine in this embodiment is a Groovy engine. Groovy is an agile development dynamic language based on JVM (Java virtual machine). It has some features similar to Python, Ruby and Smalltalk. It can be used as a scripting language for the Java platform, can be well combined with Java code, and can also be used to expand existing code. It is a mature object-oriented programming language that can be used for object-oriented programming and can be used as a pure scripting language. The label engine in this embodiment is based on Groovy. The label engine metadata Groovy code is loaded through JVM to generate or update in real time. There is no need to shut down to update the label engine, which does not affect the label calculation business of many tenants and reduces maintenance costs. In addition, the first publish-subscribe node and the second publish-subscribe node in this embodiment are publish-subscribe nodes based on kafka, and the distribution subnode is a distribution node based on flink. Specifically, the user behavior data stream is written to a Kafka topic, and the label engine metadata stream converted into Groovy code by the label management node is written to another Kafka topic, and then distributed to each child node of the label calculation node through Flink. When the label engine is updated, it is updated based on the version judgment. If the versions are the same, the update is ignored; if the versions are different, a new Groovy engine is loaded and generated, and the previous Groovy engine is replaced. The whole process is real-time and does not affect production business.

[0073] In this embodiment, Flink, as a framework for distributed streaming processing, can better ensure the accuracy, real-time and low-cost maintenance of data. The Groovy label calculation engine is built and integrated based on Flink, following the principle of migrating calculations rather than migrating data, and the calculation of business processing is integrated into the label engine. Through the dynamic construction of the label engine, the changes in business are met, data is processed in real time, and the label quality and data empowerment capabilities are steadily improved in conjunction with traffic distribution.

[0074] Based on any of the above embodiments, in one embodiment, the label service system further includes a storage node for storing the user behavior data in association with label data of the user behavior data.

[0075] Specifically, the storage node associates and stores the user behavior data with the tag data of the user behavior data for easy reference and retrieval.

[0076] Based on any of the foregoing embodiments, in one embodiment, the tag management node generates a tag engine metadata stream according to the tag information configured by the first tenant, including:

[0077] Determine the tag type according to the tag information configured by the first tenant; wherein the tag type includes event triggering, rule triggering, and model triggering;

[0078] Automatically generate Groovy code tag engine metadata corresponding to the tag type according to the tag type and the tag information configured by the first tenant.

[0079] Specifically, the tag management node automatically converts different types of tag information into corresponding types of Groovy code tag engine metadata according to a preset program, so that in the subsequent process, the tag calculation node loads, generates or updates the Groovy tag engine according to the Groovy code tag engine metadata.

[0080] In this embodiment, the tag type is determined based on the tag information and the tag engine metadata of the corresponding type is automatically generated, and the tag calculation process is managed differently, thereby improving the accuracy and efficiency of the tag calculation.

[0081] Based on any of the above embodiments, in one embodiment, the label calculation node performs label calculation according to the following label calculation logic:

[0082] Determine the tag type according to the user behavior data, where the tag types include event triggering, rule triggering, and model triggering;

[0083] In the case where the tag type of the user behavior data belongs to event triggering, marking the user behavior data with a tag corresponding to the triggering event name;

[0084] In the case where the tag type of the user behavior data belongs to rule triggering, the user behavior data and the user's historical behavior data are loaded, and corresponding tags are marked for users whose behavior frequency and behavior type meet the preset conditions;

[0085] When the tag type of the user behavior data belongs to model triggering, the user behavior features are loaded, the distribution of user behavior features of multiple users is obtained, and corresponding tags are added to users in the corresponding feature value range.

[0086] In this embodiment, the tag type is judged according to the user behavior data, the tag calculation is performed using the corresponding type of tag engine, and different tag calculation processes are managed separately, thereby improving the accuracy and efficiency of tag calculation.

[0087] A label calculation method based on the Saas model provided by the present invention is described below. The label calculation method based on the Saas model described below and the label service system based on the Saas model described above can refer to each other.

[0088] Figure 4The present invention provides a tag calculation method based on the SaaS model, which is applied to any of the above-mentioned tag service systems based on the SaaS model, such as Figure 4 As shown, the method includes:

[0089] S41. Obtaining a user behavior data stream of the first tenant;

[0090] S42, using a tag engine to generate tag data for the user behavior data according to the user behavior data in the user behavior data stream;

[0091] The tag engine is generated or updated in real time according to the tag engine metadata stream based on an agile development language, and the tag engine metadata stream is generated according to the tag information configured by the first tenant.

[0092] In this embodiment, the tag engine metadata stream is automatically generated according to the tag information configured by the first tenant, and the tag calculation node runs a tag engine based on the agile development language to generate or update the tag engine in real time according to the tag engine metadata stream. The tag engine is used to process the user behavior data in the user behavior data stream of the first tenant to obtain the tag data. In this embodiment, the tag engine does not need to be shut down for maintenance, and can be updated in real time at low cost and convenience. The entire system constitutes a distributed stream processing framework, which can perform tag calculations in real time with high throughput, thereby improving the efficiency of tag calculations.

[0093] Based on any of the above embodiments, in one embodiment, after acquiring the user behavior data stream of the first tenant and before using the tag engine to generate tag data of the user behavior data according to the user behavior data in the user behavior data stream, the method further includes:

[0094] Distribute the user behavior data in the user behavior data stream of the first tenant to a child node of the label computing node; wherein the label computing node includes multiple child nodes; and broadcast the label engine metadata stream to all child nodes of the label computing node.

[0095] In this embodiment, the user behavior data in the user behavior data stream of the first tenant is distributed to a child node of the label calculation node, and the user behavior data of the label to be calculated is distributed in an orderly manner, thereby improving the efficiency of label calculation. The label engine metadata stream is also broadcast to all child nodes of the label calculation node through the management distribution node, and the label engine of each child node of the label calculation node is generated or updated in real time, without downtime for maintenance, thereby reducing maintenance costs.

[0096] Based on any of the above embodiments, in one embodiment, distributing the user behavior data in the user behavior data stream of the first tenant to a child node of the label computing node; and broadcasting the label engine metadata to all child nodes of the label computing node include:

[0097] Using a first publish-subscribe node, classifying and storing user behavior data streams of multiple tenants; the first tenant is one of the multiple tenants;

[0098] Using the second publish-subscribe node, classify and store the tag engine metadata streams configured by the multiple tenants;

[0099] Using the distribution sub-node, the user behavior data in the user behavior data streams of the multiple tenants are distributed to a sub-node of the label calculation node according to the bucketing rule; and the label engine metadata streams configured by the multiple tenants are broadcast to each sub-node of the label calculation node.

[0100] In this embodiment, user behavior data is distributed in an orderly manner through the first publish-subscribe node, the second publish-subscribe node, and the distribution sub-node, and the tag engine metadata is broadcast to all sub-nodes of the tag calculation node, ensuring the timely production or update of the tag engine.

[0101] Based on any of the above embodiments, in one embodiment, the label engine is a Groovy engine; the first publish-subscribe node and the second publish-subscribe node are publish-subscribe nodes based on Kafka; and the distribution subnode is a distribution node based on Flink.

[0102] In this embodiment, Flink, as a framework for distributed streaming processing, can better ensure the accuracy, real-time and low-cost maintenance of data. The Groovy label calculation engine is built and integrated based on Flink, following the principle of migrating calculations rather than migrating data, and the calculation of business processing is integrated into the label engine. Through the dynamic construction of the label engine, the changes in business are met, data is processed in real time, and the label quality and data empowerment capabilities are steadily improved in conjunction with traffic distribution.

[0103] Based on any of the above embodiments, in one embodiment, after using the tag engine to generate tag data for the user behavior data according to the user behavior data in the user behavior data stream, the method further includes: storing the user behavior data in association with the tag data for the user behavior data.

[0104] In this embodiment, the user behavior data is stored in association with the tag data of the user behavior data, which facilitates reference and retrieval.

[0105] Based on any of the above embodiments, in one embodiment, before obtaining the user behavior data stream of the first tenant, the method further includes:

[0106] Determine the tag type according to the tag information configured by the first tenant; wherein the tag type includes event triggering, rule triggering, and model triggering;

[0107] Automatically generate Groovy code tag engine metadata corresponding to the tag type according to the tag type and the tag information configured by the first tenant.

[0108] In this embodiment, the tag type is determined based on the tag information and the tag engine metadata of the corresponding type is automatically generated, and the tag calculation process is managed differently, thereby improving the accuracy and efficiency of the tag calculation.

[0109] Based on any of the above embodiments, in one embodiment, the step of using a tag engine to generate tag data of the user behavior data according to the user behavior data in the user behavior data stream includes:

[0110] Determine the tag type according to the user behavior data; wherein the tag type includes event triggering, rule triggering and model triggering;

[0111] In the case where the tag type of the user behavior data belongs to event triggering, marking the user behavior data with a tag corresponding to the triggering event name;

[0112] In the case where the tag type of the user behavior data belongs to rule triggering, the user behavior data and the user's historical behavior data are loaded, and corresponding tags are marked for users whose behavior frequency and behavior type meet the preset conditions;

[0113] When the tag type of the user behavior data belongs to model triggering, the user behavior features are loaded, the distribution of user behavior features of multiple users is obtained, and corresponding tags are added to users in the corresponding feature value range.

[0114] In this embodiment, the tag type is judged according to the user behavior data, the tag calculation is performed using the corresponding type of tag engine, and different tag calculation processes are managed separately, thereby improving the accuracy and efficiency of tag calculation.

[0115] Figure 5 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 5As shown, the electronic device may include: a processor 510, a communication interface 520, a memory 530 and a communication bus 540, wherein the processor 510, the communication interface 520 and the memory 530 communicate with each other through the communication bus 540. The processor 510 may call the logic instructions in the memory 530 to execute all or part of the steps of the above-mentioned tag calculation method based on the SaaS mode, the method comprising: obtaining the user behavior data stream of the first tenant; using the tag engine to generate the tag data of the user behavior data according to the user behavior data in the user behavior data stream; wherein the tag engine is generated or updated in real time according to the tag engine metadata stream based on the agile development language, and the tag engine metadata stream is generated according to the tag information configured by the first tenant.

[0116] In addition, the logic instructions in the above-mentioned memory 530 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0117] On the other hand, the present invention also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute all or part of the steps of the above-mentioned SaaS-based label calculation method, the method including: obtaining a user behavior data stream of a first tenant; using a label engine to generate label data of the user behavior data according to the user behavior data in the user behavior data stream; wherein the label engine is generated or updated in real time according to a label engine metadata stream based on an agile development language, and the label engine metadata stream is generated according to the label information configured by the first tenant.

[0118] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute all or part of the steps of the above-mentioned label calculation method based on the SaaS model, the method comprising: obtaining a user behavior data stream of a first tenant; using a label engine to generate label data of the user behavior data according to the user behavior data in the user behavior data stream; wherein the label engine is generated or updated in real time according to the label engine metadata stream based on an agile development language, and the label engine metadata stream is generated according to the label information configured by the first tenant.

[0119] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0120] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0121] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A label service system based on SaaS mode, characterized in that: include: A data acquisition node, used to acquire the user behavior data stream of the first tenant; A label management node, configured to generate a label engine metadata stream according to the label information configured by the first tenant; A label calculation node, used to generate label data of the user behavior data according to the user behavior data obtained from the user behavior data stream using a label engine; wherein the label calculation node has multiple child nodes, and the label engine is generated or updated in real time according to the label engine metadata stream based on an agile development language; The child nodes of each label computing node generate or update their own label engines according to the received label engine metadata stream. The child nodes of each label computing node have multiple label engines, and each label engine can provide label computing services to the corresponding tenants.

2. The label service system according to claim 1, characterized in that: Also includes: A management distribution node, configured to distribute the user behavior data in the user behavior data stream of the first tenant to a child node of the label calculation node; The management distribution node is also used to broadcast the label engine metadata stream to all child nodes of the label calculation node.

3. The label service system according to claim 2, characterized in that: The management distribution node includes: A first publish-subscribe node is used to classify and store user behavior data streams of multiple tenants; the first tenant is one of the multiple tenants; A second publish-subscribe node, configured to classify and store the tag engine metadata streams configured by the multiple tenants; The distribution subnode is used to distribute the user behavior data in the user behavior data stream of the multiple tenants to a subnode of the label calculation node according to the bucketing rule; the distribution subnode is also used to broadcast the label engine metadata stream configured by the multiple tenants to each subnode of the label calculation node.

4. The label service system according to claim 3, characterized in that: The label engine is a Groovy engine; the first publish-subscribe node and the second publish-subscribe node are publish-subscribe nodes based on Kafka; and the distribution subnode is a distribution node based on Flink.

5. The label service system according to claim 1, characterized in that: Also includes: A storage node is used to associate and store the user behavior data with label data of the user behavior data.

6. A tag calculation method based on the SaaS model, applied to the tag service system according to any one of claims 1 to 5, characterized in that: include: Obtain the user behavior data stream of the first tenant; Using a tag engine, generating tag data of the user behavior data according to the user behavior data in the user behavior data stream; Wherein, the tag engine is generated or updated in real time according to the tag engine metadata stream based on an agile development language, and the tag engine metadata stream is generated according to the tag information configured by the first tenant; After acquiring the user behavior data stream of the first tenant and before using the tag engine to generate tag data of the user behavior data according to the user behavior data in the user behavior data stream, the method further includes: Distribute the user behavior data in the user behavior data stream of the first tenant to a child node of a label calculation node; wherein the label calculation node includes a plurality of child nodes; and Broadcasting the tag engine metadata stream to all child nodes of the tag computing node; The child nodes of each label computing node generate or update their own label engines according to the received label engine metadata stream. The child nodes of each label computing node have multiple label engines, and each label engine can provide label computing services to the corresponding tenants.

7. The tag calculation method according to claim 6, characterized in that: distributing the user behavior data in the user behavior data stream of the first tenant to a child node of the label computing node; And, broadcasting the tag engine metadata to all child nodes of the tag computing node includes: Using a first publish-subscribe node, classifying and storing user behavior data streams of multiple tenants; the first tenant is one of the multiple tenants; Using the second publish-subscribe node, classify and store the tag engine metadata streams configured by the multiple tenants; Using the distribution sub-node, the user behavior data in the user behavior data streams of the multiple tenants are distributed to a sub-node of the label calculation node according to the bucketing rule; and the label engine metadata streams configured by the multiple tenants are broadcast to each sub-node of the label calculation node.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, all or part of the steps of the tag calculation method based on the SaaS model as described in claim 6 or 7 are implemented.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by the processor, all or part of the steps of the tag calculation method based on the SaaS model as described in claim 6 or 7 are implemented.