A data recommendation method, device, electronic device, and storage medium

The kernel-plugin mechanism in data recommendation systems addresses the challenge of balancing stability and flexibility by separating kernel and plugin responsibilities, ensuring quick and stable data recommendations with adaptable business logic.

CN114297512BActive Publication Date: 2025-07-15AGRICULTURAL BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210100998.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-27
Publication Date
2025-07-15
Estimated Expiration
2042-01-27

AI Technical Summary

Technical Problem

When existing data recommendation systems face complex and changing business needs, it is difficult to achieve fast and stable data recommendation. There are difficulties in modifying policy management and rule engine methods and conflict risks, making it difficult to meet the needs of users for rapid response and complex logic adjustment.

Method used

The kernel-plugin mechanism is adopted. The kernel is responsible for generating routing codes and selecting plug-in call data from the orchestration definition database. The plug-in is responsible for the specific recommendation logic. Data recommendation is achieved through the decoupling of the kernel-plugin. The kernel is stable and unchanged, and the plug-in is flexible and modifiable.

Benefits of technology

The stability and flexibility of the data recommendation system are realized. The kernel-plugin mechanism can meet the needs of fast and stableness, and at the same time supports complex and changeable business logic adjustments, improving development efficiency and system response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114297512B_ABST
    Figure CN114297512B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a data recommendation method, apparatus, electronic device, and storage medium, which relate to the field of artificial intelligence technology. Among them, the method includes: receiving a user request and determining the parameters of the request; generating a routing code corresponding to the parameters; selecting plug-in call data from an orchestration definition database according to the routing code; sequentially calling corresponding plug-ins according to the plug-in call data to obtain a recommended data set, and sending the recommended data set to the user. The technical solution provided by the embodiments of the present application can meet both the requirements of quickness and stability and the complex and changeable requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of artificial intelligence technology, and in particular, to a data recommendation method, apparatus, electronic device, and storage medium. Background Art

[0002] The data recommendation service refers to a service that establishes an association between users and content. This service realizes targeted content distribution by predicting users.

[0003] In the prior art, there are usually two solutions for data recommendation services: policy management and rule engine. Policy management refers to the modification function reserved by developers for some parameters in the rules implemented by their coding. Business experts can adjust the rules implemented in the system by modifying the parameters of the rules. For example, changing "age > 10" to "age > 20". The rule engine is a more complex solution. Business experts can add, delete, or modify some rule parameters and rule combinations through some operation sets implemented in the system. For example, for the rule "age > 20", "and gender = male" can be added.

[0004] However, for policy management, it is required that developers have implemented specific rules or rule combinations before business experts can modify them. The adjustments that business experts can make to the system are very limited, and complex modifications require the participation of developers. For the rule engine, in order to consider system complexity, the basic operations supported by this method are usually limited to size comparison, basic logic, simple process judgment, etc., such as greater than, less than, or, etc. Business experts need to perform permutations and combinations within the basic operations supported by the system. Usually, as business accumulates, the rule combinations will become very complex and difficult to modify, or there will be conflicts with other logics after modification and it is difficult to troubleshoot. Therefore, it is urgent to design a data recommendation method that can meet both the requirements of fast and stable operation and the requirements of complex and variable systems. Summary of the Invention

[0005] Embodiments of the present application provide a data recommendation method, apparatus, electronic device, and storage medium, which can meet both the requirements of fast and stable operation and the requirements of complex and variable systems.

[0006] In a first aspect, embodiments of the present application provide a data recommendation method, which includes:

[0007] Receiving a user request and determining the parameters of the request;

[0008] Generating a routing code corresponding to the parameters;

[0009] Selecting plugin call data from an orchestration definition database according to the routing code;

[0010] Call the corresponding plug-ins in sequence according to the plug-in call data, and send the recommended data set to the user.

[0011] In a second aspect, an embodiment of the present application provides a data recommendation device, which includes:

[0012] A parameter determination module, configured to receive a user request and determine the parameters of the request;

[0013] A routing code generation module, configured to generate a routing code corresponding to the parameters;

[0014] A plug-in determination module, configured to select plug-in call data from an orchestration definition database according to the routing code;

[0015] A data recommendation module, configured to call the corresponding plug-ins in sequence according to the plug-in call data to obtain a recommended data set, and send the recommended data set to the user.

[0016] In a third aspect, an embodiment of the present application provides an electronic device, which includes:

[0017] One or more processors;

[0018] A storage device for storing one or more programs;

[0019] When the one or more programs are executed by the one or more processors, the one or more processors implement the data recommendation method described in any embodiment of the present application.

[0020] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the data recommendation method described in any embodiment of the present application.

[0021] An embodiment of the present application provides a data recommendation method, device, electronic device and storage medium. The method includes: receiving a user request and determining the parameters of the request; generating a routing code corresponding to the parameters; selecting plug-in call data from an orchestration definition database according to the routing code; calling the corresponding plug-ins in sequence according to the plug-in call data to obtain a recommended data set, and sending the recommended data set to the user. The present application first obtains the plug-in call data through the kernel, and then calls the plug-ins according to the plug-in call data, so as to obtain the recommended data set. The data recommendation method based on the kernel-plug-in mechanism can decouple the process and business in code. The data recommendation method of the present application can meet both the requirements of fast and stable and the requirements of complex and changeable.

[0022] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become readily understood through the following description. Description of the Drawings

[0023] The drawings are used to better understand the present solution and do not constitute a limitation to the present application. Among them:

[0024] Figure 1 is the first process schematic diagram of a data recommendation method provided by an embodiment of the present application;

[0025] Figure 2 is the second process schematic diagram of a data recommendation method provided by an embodiment of the present application;

[0026] Figure 3 is the process signaling diagram of data recommendation provided by an embodiment of the present application;

[0027] Figure 4 is the structural schematic diagram of a data recommendation device provided by an embodiment of the present application;

[0028] Figure 5 is the block diagram of an electronic device for implementing a data recommendation method according to an embodiment of the present application. Detailed Embodiments

[0029] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Apparently, the described embodiments are some, but not all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the scope of protection of the present application.

[0030] Before introducing the embodiments of the present application, the application scenarios and related terms of the present application will be explained first. The application scenario of the data recommendation method of the present application can be that a short video social platform recommends short video content that the user likes to the user according to the user's search request, or that a financial institution recommends financial products suitable for the user to the user according to the user's search request. The "short video content" and "financial products" in the above scenarios are both the "recommended data sets" in the present application. Generally speaking, the present application is applicable to the recommendation service scenario of recommending data to users according to an expert system. Most of the existing technologies adopt the method of policy management and rule engine, while the present application adopts the method of kernel - plugin.

[0031] Among them, recommendation service: refers to a service that establishes associations between users and content. This service achieves targeted content distribution by predicting users. Expert system: is a computer program that contains a large amount of expert-level knowledge and experience in a certain field, and can use the knowledge and problem-solving methods of human experts to deal with problems in this field. Kernel: It is the concept of an operating system in itself. It refers to a part of software that provides secure access to computer hardware for the application system. In this application, it refers to the most streamlined software implementation required to implement the abstract process of the recommendation service, which can be deployed and run independently. Plug-in: refers to a program that is a specific implementation of the recommendation business logic with independent boundaries divided by designers and cannot be deployed and run independently. Decoupling: refers to removing the dependencies between codes and systems. Orchestration: adjusts the calling order and conditions of plug-ins.

[0032] In the prior art, mainstream recommendation systems usually include processes such as recall, filtering, rough sorting, and fine sorting. These processes can be automatically adjusted by developers designing artificial intelligence algorithms, or by business experts designing specific logic and then developers coding and implementing them, which are called artificial intelligence systems and expert systems, respectively. Due to the differences in users, channels, and products faced by recommendation systems, the focus and recommendation logic of different scenarios are often completely different, and expert systems usually contain a huge amount of knowledge and rules. At the same time, when designing knowledge and rules, business experts generally need a lot of attempts, adjustments, and comparisons to achieve better recommendation results. This makes the expert system extremely complex and changeable. However, as a service that directly faces users, the recommendation system requires stable and fast responses, which requires the system not to be modified frequently. The two are contradictory.

[0033] Embodiment 1

[0034] Figure 1 This is a first flow chart of a data recommendation method provided in an embodiment of the present application. This embodiment can be applied to the case where a user request is processed and a corresponding recommended data set is recommended to the user based on the processing result. The data recommendation method provided in this embodiment can be executed by a data recommendation device provided in an embodiment of the present application. The device can be implemented in software and / or hardware and integrated in an electronic device that executes the method.

[0035] See also Figure 1 The method of this embodiment includes but is not limited to the following steps:

[0036] S110: Receive a user request and determine the parameters of the request.

[0037] In the embodiments of the present application, the data recommendation method adopted by the present application is a kernel - plugin data recommendation method, which consists of a kernel and zero to multiple plugins to form a complete deployable unit. The kernel and plugins are independent development units. Kernel developers define the development standards for plugins, such as the type of plugins, interface information, input and output parameter formats, supported enumerations, database access methods, methods for accessing external systems, etc. Plugin developers or business experts implement specific recommendation logics according to the development standards of plugins.

[0038] In the embodiments of the present application, the kernel provides services externally. The kernel accepts user requests. After the user requests enter the system, the kernel determines the parameters of the user requests. For example: If the user request is "order takeout", then the parameters determined by the kernel for the request can be city information, geographical location, user preferences, etc.; if the user request is "learn about financial products", then the parameters determined by the kernel for the request can be city information, geographical location, request time, channels, bank branch information, product type set, user number, etc.

[0039] S120. Generate a routing code corresponding to the parameter.

[0040] Among them, the routing code is a code used to represent request parameters.

[0041] In the embodiments of the present application, after determining the parameters of the request, the kernel encodes the parameters to obtain the corresponding routing code. The encoding method can be any encoding method in the prior art.

[0042] S130. Select plugin call data from the orchestration definition database according to the routing code.

[0043] Among them, the orchestration definition database is pre - configured by business experts, which describes zero or several plugins required for a certain routing code and the sequence of calls between plugins.

[0044] Specifically, selecting plugin call data from the orchestration definition database according to the routing code includes: determining the corresponding routing code matching relationship according to the routing code; obtaining multiple plugin call data corresponding to the routing code from the orchestration definition database according to the routing code matching relationship; selecting the plugin call data with the highest matching relevance from multiple plugin call data according to the matching relevance of multiple plugin call data.

[0045] In the embodiments of the present application, the kernel determines the routing code matching relationship corresponding to the routing code according to the routing code association table, accesses the orchestration definition database through the routing code matching relationship, obtains multiple configured plugin call data, and selects the plugin call data with the highest matching relevance according to the matching relevance.

[0046] S140. Call the corresponding plug-ins in sequence according to the plug-in call data to obtain a recommended data set, and send the recommended data set to the user.

[0047] In the embodiment of the present application, the plug-in call data includes the information of the plug-ins to be called and the call sequence between the plug-ins. The plug-in call data is parsed by the orchestration engine, and the plug-ins to be called are called and run in sequence according to the call sequence between the plug-ins to be called, so as to obtain a recommended data set. Then the recommended data set is sent to the user.

[0048] Specifically, calling the corresponding plug-ins in sequence according to the plug-in call data to obtain a recommended data set includes: determining the first plug-in to be called according to the call sequence between the plug-ins, and running the first plug-in to be called to obtain a running result; obtaining a recommended candidate set from the product data pool according to the running result; determining the next plug-in to be called according to the call sequence between the plug-ins, and running the next plug-in to be called to obtain a running result; modifying the recommended candidate set according to the running result to obtain a modified recommended candidate set until all the plug-ins in the plug-in information to be called are run, so as to obtain a recommended data set.

[0049] Exemplarily, assume that the plug-in call data is to call the recall plug-in first, then the filtering plug-in, and finally the sorting plug-in. The execution process of the kernel is: First, call and run the recall plug-in, and select a recommended candidate set from the product data pool according to the running result of the recall plug-in; then, call and run the filtering plug-in, and modify the recommended candidate set according to the running result of the filtering plug-in to obtain a modified recommended candidate set; finally, call and run the sorting plug-in, and modify the modified recommended candidate set according to the running result of the sorting plug-in, so as to obtain a recommended data set.

[0050] It should be noted that the running result of the recall plug-in is a recommended data set, and the running results of the filtering plug-in and the sorting plug-in are strategies. For example, the strategy of the sorting plug-in is: in the scenario where a financial institution recommends financial products suitable for a user to the user according to the user's search request, according to the request time of the user's request, if the user sends a search request in the morning and it is suitable to recommend funds in the morning, the strategy of the sorting plug-in can be the strategy of putting the funds at the top. For example, the strategy of the filtering plug-in is: in the scenario where a short video social platform recommends short video content liked by the user to the user according to the user's search request, according to the user preference of the user's request, if the user is a young group, the strategy of the filtering plug-in can be to filter out the videos of square dancing.

[0051] Optionally, the sorting plug-in can also be divided into a rough sorting plug-in and a fine sorting plug-in.

[0052] Those skilled in the art should understand that the advantage of the recall plugin is that its logic is simple, the quantity of the recommended data is large, and the processing speed is fast, but the recommendation accuracy rate is relatively low; the advantage of the filtering plugin is that its logic is complex, the recommendation accuracy rate of the recommended data is relatively high, and the processing speed is slow. Therefore, the recall plugin and the filtering plugin can be used in combination. Preferably, the recall plugin is used first to quickly select a recommended candidate set that meets the user from the product data pool, that is, to narrow down the product data pool, and then the filtering plugin is used to accurately select a recommended data set that satisfies the user from the recommended candidate set.

[0053] Preferably, after obtaining the recommended candidate set from the product data pool according to the running result, it further includes: determining whether the recommended candidate set meets the recommendation requirements; if it meets, using the recommended candidate set as the recommended data set; if it does not meet, continuing to execute the step of determining the next plugin to be called according to the calling order between the plugins, running the next plugin to be called according to the type of the next plugin to be called to obtain the running result, and modifying the recommended candidate set according to the running result to obtain the modified candidate set.

[0054] Preferably, after modifying the recommended candidate set according to the running result to obtain the modified recommended candidate set, it further includes: determining whether the modified recommended candidate set meets the recommendation requirements; if it meets, using the modified recommended candidate set as the recommended data set; if it does not meet, continuing to execute the step of determining the next plugin to be called according to the calling order between the plugins, running the next plugin to be called according to the type of the next plugin to be called to obtain the running result, and modifying the recommended candidate set according to the running result to obtain the modified candidate set.

[0055] In the embodiment of the present application, the recommendation requirements may be the quantity requirements of the recommended data set. For example, the quantity of the recommended data set is 10; it may also be the content requirements of the recommended data set. For example, it includes a specified product, such as at least one financial product.

[0056] It should be explained that in the data recommendation method using the kernel - plugin mechanism in the present application, in order to ensure the stability and processing speed of the data recommendation method, the code of the kernel cannot be modified. Optionally, the code of the kernel can be modified, but frequent modification is not supported. In order to ensure the flexibility of data recommendation and implement complex recommendation services, the code of the plugin can be simple or complex and can be modified. The kernel can implement the basic functions and generalization logic of the data recommendation service, that is, the running process, which can be analogized to the operating system of a computer or a mobile phone; the plugin can implement the service functions and personalized logic of the data recommendation service, that is, the business logic, which can be analogized to the application software in a computer or a mobile phone. The kernel is business - independent and not easily changed, and the plugin is business - related and changes frequently. The kernel realizes the dynamic loading and full - dynamic orchestration of the plugin.

[0057] The technical solution provided in this embodiment receives a user request, determines the parameters of the request, generates a routing code corresponding to the parameters, selects plug-in call data from the orchestration definition database according to the routing code, sequentially calls the corresponding plug-ins according to the plug-in call data to obtain a recommended data set, and sends the recommended data set to the user. In this application, the plug-in call data is first obtained through the kernel, and then the plug-ins are called according to the plug-in call data, so as to obtain the recommended data set. The data recommendation method can decouple the operation process and business logic through the kernel-plug-in mechanism. The data recommendation method of this application can meet both the requirements of fast and stable and the requirements of complex and changeable.

[0058] Embodiment 2

[0059] Figure 2 It is a second process schematic diagram of a data recommendation method provided in an embodiment of this application; Figure 3 It is a process signaling diagram of data recommendation provided in an embodiment of this application. The embodiment of this application is optimized on the basis of the above embodiment. Specifically, the optimization is that the inspection process of whether the plug-in is available is explained in detail in this embodiment.

[0060] See Figure 2 , the method of this embodiment includes but is not limited to the following steps:

[0061] S210. Receive a user request and determine the parameters of the request.

[0062] In the embodiment of this application, the data recommendation method adopted in this application is a kernel-plug-in data recommendation method, which consists of a kernel and zero to multiple plug-ins to form a complete deployable unit. The kernel and the plug-ins are independent development units. The kernel developer defines the development standards of the plug-ins, such as the type of the plug-in, interface information, input and output parameter formats, supported enumerations, database access methods, external system access methods, etc. The plug-in developer or business expert implements specific recommendation logic according to the development standards of the plug-ins. Optionally, there are three types of plug-ins, namely recall, filtering, and sorting.

[0063] In the embodiment of this application, the kernel provides services externally. The kernel receives user requests. After the user requests enter the system, the kernel determines the parameters of the user requests. For example, if the user request is "order takeout", then the parameters determined by the kernel can be city information, geographical location, user preferences, etc.; if the user request is "understand financial products", then the parameters determined by the kernel can be city information, geographical location, request time, channel, bank branch information, product type set, user number, etc.

[0064] S220. Generate a routing code corresponding to the parameters.

[0065] Among them, the routing code is a code used to represent request parameters.

[0066] In the embodiment of the present application, after the requested parameters are determined, the kernel encodes the parameters to obtain the corresponding routing code. The encoding method can be any encoding method in the prior art.

[0067] S230. Select the plug-in call data from the orchestration definition database according to the routing code.

[0068] Among them, the orchestration definition database is pre-configured by business experts, which describes zero or several plug-ins required for a certain routing code and the sequence of calls between the plug-ins. The plug-in call data includes the information of the plug-ins to be called and the call order between the plug-ins.

[0069] In the embodiment of the present application, the kernel determines the routing code matching relationship corresponding to the routing code according to the routing code association table, accesses the orchestration definition database through the routing code matching relationship, obtains multiple configured plug-in call data, and selects the plug-in call data with the highest matching relevance according to the matching relevance.

[0070] Optionally, when no plug-in call data is selected from the orchestration definition database, the data recommendation service is paused, and a system exception message is sent to the system maintenance personnel to prompt the system maintenance personnel to maintain the data recommendation system.

[0071] In the embodiment of the present application, in this step, at most one plug-in call data is selected from the orchestration definition database according to the routing code. When no plug-in call data is selected from the orchestration definition database, that is, zero plug-in call data is selected from the routing code from the orchestration definition database, indicating that an exception occurs in the data recommendation system. Then, the data recommendation service is paused, and a system exception message is sent to the system maintenance personnel to prompt the system maintenance personnel to maintain the data recommendation system. The present application does not limit the form and content of the system exception message.

[0072] In the present application, after the kernel developers provide the plug-in standards, a large number of business experts or other developers can develop complex recommendation business logics in parallel and quickly, improving the development efficiency.

[0073] S240. Check whether the plug-ins in the plug-in call data are installed; if not, download the installation package of the plug-in from the plug-in library and install the plug-in according to the installation package.

[0074] In the embodiment of the present application, the kernel has the ability to dynamically install plug-ins. After determining the information of the plug-ins to be called, check whether the plug-ins to be called are installed according to the plug-in information. If not, download the installation package of the plug-in from the plug-in library and install the plug-in according to the installation package.

[0075] The kernel will regularly query the plugin library to obtain information on plugin updates. Mark the disabled plugins, and all subsequent orchestration definitions that use this plugin in the database will be skipped. For newly enabled plugins, check whether there is an installation package for the plugin in the plugin library. If there is, pull it to the local and load it for subsequent requests.

[0076] In this application, the kernel realizes the dynamic loading of plugins, which can quickly install new plugins, thus meeting the stability requirements of the recommendation expert system.

[0077] S250. Check whether the availability rate of the plugin in the plugin call data is lower than the preset threshold; if it is lower, uninstall the plugin.

[0078] In the embodiment of this application, the kernel has the ability to uninstall plugins. The kernel performs necessary monitoring on plugins. For plugins with an availability rate lower than the threshold or meeting other fusing conditions, they will be automatically uninstalled and recorded. For example: the availability rate of a plugin refers to whether there are problems with the logic implemented by the plugin, whether the plugin runs normally, whether it affects normal business, whether the operation result is obtained within the specified time, or whether there are error warnings. If any of these problems exist, it indicates that the plugin is an invalid call, and the kernel will automatically uninstall the plugin.

[0079] In this application, the kernel realizes the manual or automatic removal of unstable plugins, thus meeting the stability requirements of the recommendation expert system.

[0080] S260. Call the corresponding plugins in sequence according to the plugin call data to obtain the recommendation dataset, and send the recommendation dataset to the user.

[0081] In the embodiment of this application, the plugin call data includes the plugin information to be called and the call order between plugins. The orchestration engine parses the plugin call data, and calls and runs the plugins to be called in sequence according to the call order between the plugins to be called, so as to obtain the recommendation dataset. Then the recommendation dataset is sent to the user. In this application, the kernel realizes the dynamic orchestration of plugins. Business experts can arbitrarily create or modify the relationships between plugins, or quickly reuse existing plugin call data or plugins, thus meeting the flexibility requirements of the recommendation expert system.

[0082] Exemplarily, such as Figure 3 shown is the process signaling diagram of data recommendation. As Figure 3 can be seen, after the kernel receives a user request, it generates a routing code corresponding to the request parameters, accesses the orchestration definition database according to the routing code matching relationship to obtain the plugin call data, the orchestration engine parses the plugin call data, and checks whether the plugin is available. Then, it calls the corresponding plugins in sequence according to the plugin call data to obtain the recommendation dataset, and sends the recommendation dataset to the user. As Figure 3It can be known that the plug-in calls data by first calling the recall plug-in A, then calling the sorting plug-in B, then calling the filtering plug-in C, and finally calling the sorting plug-in D.

[0083] It should be noted that step S240 is the process of installing a plug-in, and step S250 is the process of uninstalling a plug-in. The two are independent of each other. The embodiments of the present application do not limit the execution order of these two processes, and the specific execution order of the two processes needs to be determined according to the actual situation. Therefore, in actual execution, it can be executed in the order described in the above embodiments of the present application, or step S250 can be executed first, and then step S240 can be executed.

[0084] The technical solution provided in this embodiment receives a user request, determines the parameters of the request; generates a routing code corresponding to the parameters; selects plug-in call data from the orchestration definition database according to the routing code; checks whether the plug-ins in the plug-in call data have been installed; if not, downloads the installation package of the plug-in from the plug-in library and installs the plug-in according to the installation package; checks whether the availability rate of the plug-ins in the plug-in call data is lower than a preset threshold; if so, uninstalls the plug-in; sequentially calls the corresponding plug-ins according to the plug-in call data to obtain a recommended data set, and sends the recommended data set to the user. This solution decouples the running environment and business logic through a data recommendation method based on the kernel-plug-in mechanism. The kernel is the most abstract process implementation and is rarely modified to ensure the stability of the system. Through the loading control and orchestration control of the kernel for the plug-ins, the flexibility of the system is achieved. Plug-ins developed according to the plug-in standard can all run, allowing business experts, etc. to implement complex logics by themselves, improving development efficiency.

[0085] Embodiment Three

[0086] Figure 4 It is a schematic structural diagram of a data recommendation device provided by an embodiment of the present application, as Figure 4 shown. The device 400 may include:

[0087] A parameter determination module 410, configured to receive a user request and determine the parameters of the request.

[0088] A routing code generation module 420, configured to generate a routing code corresponding to the parameters.

[0089] A plug-in determination module 430, configured to select plug-in call data from the orchestration definition database according to the routing code.

[0090] A data recommendation module 440, configured to sequentially call the corresponding plug-ins according to the plug-in call data to obtain a recommended data set, and send the recommended data set to the user.

[0091] Further, the above data recommendation device may further include: an exception handling module;

[0092] The abnormal handling module is used to pause the data recommendation service and send a system exception message to the system maintainer to prompt the system maintainer to maintain the data recommendation system when the plugin call data cannot be selected from the orchestration definition database.

[0093] Further, the above-mentioned plugin determination module 430 may specifically be used to: determine the corresponding routing code matching relationship according to the routing code; obtain multiple pieces of plugin call data corresponding to the routing code from the orchestration definition database according to the routing code matching relationship; and select the plugin call data with the highest matching relevance from the multiple pieces of plugin call data according to the matching relevance of the multiple pieces of plugin call data.

[0094] Optionally, the plugin call data includes the plugin information to be called and the call order between the plugins.

[0095] Further, the above-mentioned data recommendation module 440 may specifically be used to: determine the first plugin to be called according to the call order between the plugins and run the first plugin to be called to obtain a running result; obtain a recommended candidate set from the product data pool according to the running result; determine the next plugin to be called according to the call order between the plugins and run the next plugin to be called to obtain a running result; and modify the recommended candidate set according to the running result to obtain a modified recommended candidate set until the plugins in the plugin information to be called are all run, so as to obtain the recommended data set.

[0096] Further, the above-mentioned data recommendation module 440 may also specifically be used to: after obtaining the recommended candidate set from the product data pool according to the running result, determine whether the recommended candidate set meets the recommendation requirements; if it meets, use the recommended candidate set as the recommended data set; if it does not meet, continue to execute the steps of determining the next plugin to be called according to the call order between the plugins, running the next plugin to be called according to the type of the next plugin to be called to obtain a running result, and modifying the recommended candidate set according to the running result to obtain a modified candidate set.

[0097] Correspondingly, the above-mentioned data recommendation module 440 can also be specifically used for: after modifying the recommended candidate set according to the operation result to obtain the modified recommended candidate set, determining whether the modified recommended candidate set meets the recommendation requirements; if it meets, using the modified recommended candidate set as the recommended data set; if it does not meet, continuing to execute the steps of determining the next plugin to be called according to the call order between the plugins, running the next plugin to be called according to the type of the next plugin to be called to obtain an operation result, and modifying the recommended candidate set according to the operation result to obtain the modified candidate set.

[0098] Further, the above-mentioned data recommendation device may further include: a plugin installation module;

[0099] The plugin installation module is used for, after selecting plugin call data from the orchestration definition database according to the routing code, checking whether the plugin in the plugin call data has been installed; if not, downloading the installation package of the plugin from the plugin library and installing the plugin according to the installation package.

[0100] Further, the above-mentioned data recommendation device may further include: a plugin uninstallation module;

[0101] The plugin uninstallation module is used for, after selecting plugin call data from the orchestration definition database according to the routing code, checking whether the availability rate of the plugin in the plugin call data is lower than a preset threshold; if it is lower, uninstalling the plugin.

[0102] The data recommendation device provided in this embodiment can be applied to the data recommendation method provided in any of the above embodiments, and has corresponding functions and beneficial effects.

[0103] Embodiment 5

[0104] Figure 5 is a block diagram of an electronic device for implementing a data recommendation method according to an embodiment of the present application. Figure 5 shows a block diagram of an exemplary electronic device suitable for implementing the embodiment mode of the embodiment of the present application. Figure 5 The shown electronic device is only an example and should not bring any limitation to the functions and application scope of the embodiment of the present application. This electronic device can typically be a smart phone, a tablet computer, a notebook computer, a vehicle-mounted terminal, and a wearable device, etc.

[0105] As Figure 5 shown, the electronic device 500 is presented in the form of a general-purpose computing device. The components of the electronic device 500 may include but are not limited to: one or more processors or processing units 516, a memory 528, and a bus 518 connecting different system components (including the memory 528 and the processing unit 516).

[0106] The bus 518 represents one or more of several types of bus architectures, including a memory bus or memory controller, a peripheral bus, an Accelerated Graphics Port, a processor bus, or a local bus using any of a variety of bus architectures. By way of example, and without limitation, these architectures include the Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.

[0107] The electronic device 500 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device 500, including both volatile and nonvolatile media, removable and non-removable media.

[0108] The memory 528 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 530 and / or cache memory 532. The electronic device 500 may further include other removable / non-removable, volatile / nonvolatile computer system storage media. By way of example only, a storage system 534 may be provided for reading from and writing to non-removable, nonvolatile magnetic media ( Figure 5 not shown and typically called a "hard disk drive"). Although Figure 5 not shown in the figures, a disk drive for reading from and writing to a removable nonvolatile disk (e.g., a "floppy disk") and an optical disk drive for reading from and writing to a removable nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these instances, each drive may be connected to the bus 518 by one or more data media interfaces. The memory 528 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of the embodiments of the present application.

[0109] A program / utility 540 having a set (at least one) of program modules 542 may be stored, for example, in the memory 528. Such program modules 542 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may include an implementation of a network environment. The program modules 542 generally carry out the functions and / or methods described in the embodiments of the present application.

[0110] The electronic device 500 can also communicate with one or more external devices 514 (such as a keyboard, a pointing device, a display 524, etc.), and can also communicate with one or more devices that enable a user to interact with the electronic device 500, and / or communicate with any device that enables the electronic device 500 to communicate with one or more other computing devices (such as a network card, a modem, etc.). Such communication can be carried out through the input / output (I / O) interface 522. Moreover, the electronic device 500 can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 520. As Figure 5 shown, the network adapter 520 communicates with other modules of the electronic device 500 through the bus 518. It should be understood that although Figure 5 not shown in the figure, other hardware and / or software modules can be used in combination with the electronic device 500, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0111] The processing unit 516 executes various functional applications and data processing by running programs stored in the memory 528, such as implementing the data recommendation method provided in any embodiment of the present application.

[0112] Embodiment Six

[0113] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program (or computer-executable instructions) is stored. When the program is executed by a processor, it can be used to execute the data recommendation method provided in any of the above embodiments of the present application.

[0114] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device.

[0115] A computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which computer-readable program code is carried. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. The computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device.

[0116] The program code contained on a computer-readable medium may be transmitted using any appropriate medium, including - but not limited to - wireless, wireline, optical fiber cable, RF, and the like, or any suitable combination of the foregoing.

[0117] The computer program code for performing the operations of the embodiments of the present application may be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (for example, using an Internet service provider to connect through the Internet).

Claims

1. A data recommendation method, characterized in that, The method includes: Receiving a user request and determining the parameters of the request; Generating a routing code corresponding to the parameters, where the routing code is a code used to represent request parameters; Selecting plugin call data from an orchestration definition database according to the routing code. The orchestration definition database is used to describe zero or several plugins required for a certain routing code and the sequential call relationship between the plugins. The plugin call data includes the plugin information to be called and the call order between the plugins; Sequentially calling the corresponding plugins according to the plugin call data to obtain a recommended data set, including: determining the first plugin to be called according to the call order between the plugins and running the first-called plugin to obtain a running result; obtaining a recommended candidate set from a product data pool according to the running result; determining the next plugin to be called according to the call order between the plugins and running the next-called plugin to obtain a running result; modifying the recommended candidate set according to the running result to obtain a modified recommended candidate set until all the plugins in the plugin information to be called are run, thereby obtaining the recommended data set; Sending the recommended data set to the user.

2. The data recommendation method according to claim 1, wherein The method further includes: When the plugin call data is not selected from the orchestration definition database, suspending the data recommendation service and sending a system exception message to a system maintenance person to prompt the system maintenance person to maintain the data recommendation system.

3. The data recommendation method according to claim 1, wherein The step of selecting plugin call data from the orchestration definition database according to the routing code includes: Determining a corresponding routing code matching relationship according to the routing code; Obtaining multiple pieces of plugin call data corresponding to the routing code from the orchestration definition database according to the routing code matching relationship; Selecting the plugin call data with the highest matching relevance from the multiple pieces of plugin call data according to the matching relevance of the multiple pieces of plugin call data.

4. The data recommendation method according to claim 1, wherein After obtaining the recommended candidate set from the product data pool according to the running result, it further includes: Judging whether the recommended candidate set meets the recommendation requirements; If it meets the requirements, using the recommended candidate set as the recommended data set; If it does not meet the requirements, continue to execute the steps of determining the next plugin to be called according to the call order between the plugins, running the next-called plugin according to the type of the next-called plugin to obtain a running result, and modifying the recommended candidate set according to the running result to obtain a modified candidate set; Correspondingly, after modifying the recommended candidate set according to the running result to obtain a modified recommended candidate set, it further includes: Judging whether the modified recommended candidate set meets the recommendation requirements; If it meets the requirements, using the modified recommended candidate set as the recommended data set; If it does not meet the requirements, continue to execute the steps of determining the next plugin to be called according to the call order between the plugins, running the next-called plugin according to the type of the next-called plugin to obtain a running result, and modifying the recommended candidate set according to the running result to obtain a modified candidate set.

5. The data recommendation method according to claim 1, wherein After selecting the plugin call data from the orchestration definition database according to the routing code, it further includes: Check whether the plug-in in the plug-in call data is installed; If not installed, download the installation package of the plug-in from the plug-in library, and install the plug-in according to the installation package.

6. The data recommendation method according to claim 1, wherein After selecting the plug-in call data from the orchestration definition database according to the routing code, it further includes: Check whether the availability rate of the plug-in in the plug-in call data is lower than a preset threshold; If it is lower, uninstall the plug-in.

7. A data recommendation device, characterized in that, The device includes: A parameter determination module, configured to receive a user request and determine the parameters of the request; A routing code generation module, configured to generate a routing code corresponding to the parameters, where the routing code is a code used to represent request parameters; A plug-in determination module, configured to select plug-in call data from an orchestration definition database according to the routing code, where the orchestration definition database is used to describe zero or several plug-ins required by a certain routing code and the sequential call relationship between the plug-ins, and the plug-in call data includes the information of the plug-ins to be called and the call order between the plug-ins; A data recommendation module, configured to sequentially call the corresponding plug-ins according to the plug-in call data to obtain a recommended data set, and send the recommended data set to the user; The data recommendation module is specifically configured to determine the first plug-in to be called according to the call order between the plug-ins, and run the first plug-in to obtain a running result; obtain a recommended candidate set from the product data pool according to the running result; determine the next plug-in to be called according to the call order between the plug-ins, and run the next plug-in to obtain a running result; modify the recommended candidate set according to the running result to obtain a modified recommended candidate set until all the plug-ins in the plug-in information to be called are run, so as to obtain the recommended data set.

8. An electronic device, characterized in that, The electronic device includes: One or more processors; A storage device, configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the data recommendation method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, The computer program, when executed by a processor, implements the data recommendation method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Pluggable recommendation system generation method, service recommendation method, device and equipment

    CN111428128A

  • Recommendation system API generation method and device, electronic equipment and storage medium

    CN112351076A