Task processing method and device, electronic equipment and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-25
- Publication Date
- 2026-03-27
AI Technical Summary
Existing technologies for machine learning models based on directed acyclic graphs (DAGs) are characterized by low development efficiency, simple node functions, and limited user accessibility; while webpage-based configuration methods lack flexibility and cannot control the development process.
It employs feature-rich functional nodes that support stream variable configuration. By configuring parameters in one functional node, they can flow between multiple nodes, avoiding redundant configuration and inconsistencies, and improving development efficiency.
It improves the efficiency and flexibility of machine learning model development, avoids inconsistency issues caused by repeated configuration, and enhances the user's control.
Smart Images

Figure CN121752996A_ABST
Abstract
Description
Task processing method and device, electronic device, and storage medium TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of artificial intelligence, in particular to the technical fields of machine learning and front-end, and specifically to a task processing method, device, electronic device, storage medium, and computer program product. BACKGROUND
[0002] With the rapid development of machine learning technology, machine learning models are widely applied to various fields of life and production. In particular, in the field of intelligent manufacturing, machine learning models play an important role. In the related art, the development of machine learning models is generally implemented based on a directed acyclic graph (DAG) workflow. However, the nodes in the DAG are relatively simple and have limited functions, which affects user experience and results in low development efficiency.
[0003] SUMMARY
[0004] The present disclosure provides a task processing method, device, electronic device, storage medium, and computer program product.
[0005] According to an aspect of the present disclosure, a task processing method is provided. The method includes: in response to a task processing request, in a case where it is determined that a candidate workflow corresponding to the task processing request exists in a resource management library, determining an initial workflow according to a received selection instruction for the candidate workflow, wherein the initial workflow includes at least two functional nodes, the at least two functional nodes include a first functional node and a second functional node, each functional node includes at least one configuration parameter, and the functional node is configured to execute a service function according to the at least one configuration parameter; in response to receiving an operation instruction for flow variable configuration of at least one configuration parameter of the first functional node, generating at least one flow variable including the configuration parameter for the first functional node, so as to execute the service function by the first functional node according to the configuration parameter included in the at least one configured flow variable; the flow variable is configured to pass the configuration parameter between the functional nodes of the initial workflow; in response to a flow variable reference instruction for the first functional node and the second functional node, establishing a flow variable reference relationship between the second functional node and the first functional node to obtain a target workflow; wherein the second functional node is configured to execute the service function according to the configuration parameter obtained from the first functional node; and the target workflow represents a processing result corresponding to the task processing request.
[0006] According to an embodiment of the present disclosure, the method further comprises: determining, for an i-th configuration parameter in all configuration parameters contained in the at least two function nodes, a function node containing the i-th configuration parameter in the at least two function nodes to obtain a candidate function node, i being a positive integer; determining that the i-th configuration parameter is a flow variable parameter to be configured in a case where a quantity of the candidate function nodes is determined to be greater than a preset value; wherein, in response to receiving an operation instruction of performing flow variable configuration on at least one configuration parameter of the first function node, generating at least one flow variable containing the configuration parameter for the first function node comprises: in response to receiving an operation instruction of performing flow variable configuration on the flow variable parameter to be configured of a first candidate function node in the candidate function nodes, generating a flow variable for the first candidate function node; in response to a flow variable reference instruction of the first function node and the second function node, establishing a flow variable reference relationship between the second function node and the first function node to obtain a target workflow comprises: in response to a flow variable reference instruction of the first candidate function node and a second candidate function node in the candidate function nodes, establishing a flow variable reference relationship between the second candidate function node and the first candidate function node to obtain the target workflow.
[0007] According to an embodiment of the present disclosure, determining, for an i-th configuration parameter in all configuration parameters contained in the at least two function nodes, a function node containing the i-th configuration parameter in the at least two function nodes to obtain a candidate function node comprises: determining, for the i-th configuration parameter in all configuration parameters contained in the at least two function nodes, a similarity between identification information of the i-th configuration parameter and identification information of all configuration parameters in the at least two function nodes; and determining, according to the similarity, the function node containing the i-th configuration parameter in the at least two function nodes to obtain the candidate function node.
[0008] According to an embodiment of the present disclosure, in response to receiving an operation instruction of performing flow variable configuration on at least one configuration parameter of the first function node, generating at least one flow variable containing the configuration parameter for the first function node comprises: in response to receiving a flow variable editing operation instruction performed on the first function node, displaying a flow variable editing interface; and generating at least one flow variable for the first function node according to parameter information of at least one configuration parameter edited in the flow variable editing interface.
[0009] According to an embodiment of the present disclosure, after generating at least one flow variable containing the configuration parameter for the first function node, the method further comprises: displaying the at least one flow variable in a flow variable display area of the first function node.
[0010] According to an embodiment of the present disclosure, in response to the flow variable reference instruction for the first function node and the second function node, the establishing of the flow variable reference relationship between the second function node and the first function node comprises: receiving the flow variable reference instruction, the flow variable reference instruction comprising cursor initial position information and cursor stop position information; determining the first function node based on the cursor initial position information; determining the second function node based on the cursor stop position information; generating a directed line between the first function node and the second function node with the first function node as the starting point and the second function node as the ending point, wherein the directed line represents the flow variable reference relationship between the first function node and the second function node.
[0011] According to an embodiment of the present disclosure, the configuration parameter comprises at least one of the following: a task index, database information, a file path, date information, and version information.
[0012] According to an embodiment of the present disclosure, the method further comprises: in a case where it is determined that the candidate workflow corresponding to the task processing request does not exist in the resource management library, generating an initial workflow according to a selection instruction for at least one function node in the function node library.
[0013] According to an embodiment of the present disclosure, the method further comprises: in response to receiving a display operation instruction for the output data of the target function node in the at least two function nodes, popping up an output data display box to display the output data; or, in response to receiving a display operation instruction for the input data of the target function node in the at least two function nodes, popping up an input data display box to display the input data.
[0014] According to an embodiment of the present disclosure, the method further comprises: in response to an execution operation for at least one function node in the at least two function nodes, running the at least one function node; and displaying the execution result in the output data display area of the at least one function node.
[0015] According to an embodiment of the present disclosure, the task processing request comprises to-be-processed data information; the method further comprises: calling the to-be-processed data according to the to-be-processed data information; performing data distribution analysis on the to-be-processed data to obtain data distribution characteristics; and determining the candidate workflow from the resource management library according to the data distribution characteristics.
[0016] According to an embodiment of the present disclosure, the resource management library comprises at least one preset workflow, and each preset workflow corresponds to preset data distribution information; the determining of the candidate workflow from the resource management library according to the data distribution characteristics comprises: determining the candidate workflow from the at least one preset workflow according to the data distribution characteristics and the preset data distribution information corresponding to the at least one preset workflow.
[0017] According to an embodiment of the present disclosure, the method further includes: in response to an editing operation of a user on at least one function node in the target workflow, generating an optimized workflow; wherein the editing operation includes at least one of the following: creating, modifying, removing, copying, and replacing.
[0018] According to an embodiment of the present disclosure, the method further includes: adding the target workflow into the resource management library to obtain an updated resource management library.
[0019] According to another aspect of the present disclosure, a task processing apparatus is provided, which includes: a first determining module configured to, in response to a task processing request, determine an initial workflow according to a received selection instruction for a candidate workflow in a case where the resource management library contains the candidate workflow corresponding to the task processing request, wherein the initial workflow includes at least two function nodes, the at least two function nodes include a first function node and a second function node, each function node includes at least one configuration parameter, and the function node is configured to perform a service function according to the at least one configuration parameter; a first generating module configured to, in response to receiving an operation instruction of performing a flow variable configuration on at least one configuration parameter of the first function node, generate at least one flow variable containing the configuration parameter for the first function node, so that the first function node performs the service function according to the configuration parameter contained in the configured at least one flow variable; the flow variable is configured to pass the configuration parameter between the function nodes of the initial workflow; and a establishing module configured to, in response to a flow variable reference instruction for the first function node and the second function node, establish a flow variable reference relationship between the second function node and the first function node to obtain a target workflow; wherein the second function node is configured to perform the service function according to the configuration parameter obtained from the first function node; and the target workflow represents a processing result corresponding to the task processing request.
[0020] According to another aspect of the present disclosure, an electronic device is provided, which includes a memory and a processor, the memory stores instructions executable by the processor, and the instructions, when executed by the processor, cause the processor to perform the method as described above.
[0021] According to another aspect of the present disclosure, a non-transitory computer readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause a computer to perform the method as described above.
[0022] According to another aspect of the present disclosure, a computer program product is provided, which includes a computer program, and the computer program, when executed by a processor, implements the method as described above.
[0023] It should be understood that the contents described in this part are not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0024] The above and other objects, features and advantages of the present disclosure will become more apparent from the following description when taken in conjunction with the accompanying drawings, in which:
[0025] FIG. 1 is a flowchart of a task processing method according to an embodiment of the present disclosure;
[0026] FIG. 2 is a flowchart of a method for determining a candidate workflow according to an embodiment of the present disclosure;
[0027] FIG. 3 is a flowchart of a method for determining a to-be-configured flow variable parameter according to an embodiment of the present disclosure;
[0028] FIG. 4 is a flowchart of a method for determining a candidate function node according to an embodiment of the present disclosure;
[0029] FIG. 5 is a flowchart of a flow variable editing method according to an embodiment of the present disclosure;
[0030] FIG. 6 is an interface display schematic diagram of a function node according to an embodiment of the present disclosure;
[0031] FIG. 7 is a schematic diagram of a task processing interface of a task processing platform;
[0032] FIG. 8 is a structural block diagram of a task processing apparatus according to an embodiment of the present disclosure; and
[0033] FIG. 9 is a block diagram of an electronic device suitable for implementing the above method according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0034] To make the objects, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all. Based on the described embodiments of the present disclosure, all other embodiments obtained by a person of ordinary skill in the art without any creative effort fall within the scope of protection of the present disclosure. It should be noted that the same elements are denoted by the same or similar reference numerals throughout the drawings. In the following description, some specific embodiments are only for the purpose of description, and should not be understood as any limitation on the present disclosure, but only as examples of the embodiments of the present disclosure. When it may cause confusion to the understanding of the present disclosure, the conventional structures or configurations will be omitted. It should be noted that the shapes and sizes of the components in the drawings do not reflect the true size and ratio, but only illustrate the contents of the embodiments of the present disclosure.
[0035] Unless otherwise defined, technical terms or scientific terms used in the embodiments of the disclosure shall have the ordinary meanings to those skilled in the art. The terms "first", "second", and similar terms used in the embodiments of the disclosure do not denote any order, quantity, or importance, but are only used to distinguish different constituent parts.
[0036] In recent years, big data and AI (Artificial Intelligence) technology has provided a new energy for economic development and has had an important impact on all walks of life. The existing methods for developing big data and AI include the following two methods:
[0037] (1) Based on a directed acyclic graph (DAG) workflow. In a directed acyclic graph, each node is a lightweight function, and the function nodes are connected by a line to form a task. When connecting the function nodes, the line needs to have a direction and cannot form a loop. The problem with this method is that the nodes in the DAG are relatively simple and cannot carry more functions, affecting user use and thus affecting development efficiency.
[0038] (2) Based on web page configuration. This method is implemented through the user's item-by-item configuration. The problem with this method is that it lacks flexibility, and the user can only configure but cannot control the development process and the functions in the development process.
[0039] To solve the above technical problems, the present disclosure provides a function node with rich functions instead of the simple nodes in the directed acyclic graph. The function node supports flow variable configuration. When multiple function nodes need to configure the same parameter, the flow variable of the parameter is only configured in one of the function nodes, and the flow variables of the function node are referenced by other function nodes. The method provided by the present disclosure uses flow variable configuration parameters to configure only in one function node, so that the parameters can flow between the function nodes, avoiding the inconsistency caused by repeated development, and improving the development efficiency.
[0040] FIG. 1 is a flowchart of a task processing method according to an embodiment of the present disclosure.
[0041] As shown in FIG. 1, the task processing method of the embodiments of the present disclosure can include operation S110 to operation S130.
[0042] In operation S110, in response to the task processing request, in a case where it is determined that there is a candidate workflow corresponding to the task processing request in the resource management library, an initial workflow is determined according to the received selection of the candidate workflow, wherein the initial workflow includes at least two functional nodes, and the at least two functional nodes include a first functional node and a second functional node, each functional node includes at least one configuration parameter, and the functional node is used to perform a service function according to the at least one configuration parameter.
[0043] According to an embodiment of the present disclosure, the task processing method described above can be processed by a task processing platform. At least one workflow can be pre-stored in the resource management library of the task processing platform. It should be noted that the workflows in the resource management library can be default workflows inside the platform and newly built workflows in the future.
[0044] According to an embodiment of the present disclosure, the task can be a task of establishing a target model, and the task processing process can be a process of establishing a workflow for generating the target model.
[0045] According to an embodiment of the present disclosure, the task processing request can be generated based on the user's editing on the task processing platform, and the task processing request can include task index information, to-be-processed data information, etc.
[0046] According to an embodiment of the present disclosure, based on the task processing request, a workflow corresponding to the task processing request can be selected from the existing workflows in the resource management library as a candidate workflow. The user can select a workflow from the candidate workflow as an initial workflow for processing the task processing request. In some embodiments, determining the workflow corresponding to the task processing request can include: a workflow of the same type as the task type of the task processing request can be used as the workflow corresponding to the task processing request. For example, the task processing request is used to establish a prediction model, and a workflow for establishing a prediction model can be selected from the resource manager as the workflow corresponding to the task processing request. In other embodiments, determining the workflow corresponding to the task processing request can include: a workflow in the resource management library, which has the same distribution as the to-be-processed data contained in the task processing request, is used as the workflow corresponding to the task processing request.
[0047] According to an embodiment of the present disclosure, each functional node in the initial workflow has rich functions, such as input and output data viewing, node parameter configuration, node running control, etc.
[0048] According to an embodiment of the present disclosure, performing a service function refers to performing a service that the function node can provide. For example, the function node is a feature extraction node, and the configuration parameter can be a storage path of data, and performing the service function according to at least one configuration parameter can be to perform feature extraction on data according to the configured data storage path to obtain the data. For another example, the function node is a training set data cleaning node, and the configuration parameter can be a storage path of the training set, and performing the service function according to at least one configuration parameter can be to perform data cleaning on the training set according to the configured training set storage path to obtain the training set.
[0049] In operation S120, in response to receiving the operation instruction of performing flow variable configuration on at least one configuration parameter of the first function node, at least one flow variable containing the configuration parameter is generated for the first function node, so as to perform the service function according to the configuration parameter contained in the configured at least one flow variable by using the first function node; the flow variable is used to pass the configuration parameter between the function nodes of the initial workflow.
[0050] According to an embodiment of the present disclosure, the parameter configuration function of the function node includes that the configuration parameter can be configured in a flow variable.
[0051] According to an embodiment of the present disclosure, the flow variable can be understood as a configuration form of performing parameter configuration, and the flow variable can be used to store and pass data or parameters in the workflow. By configuring the configuration parameter in the form of the flow variable, the configuration parameter can be passed between different function nodes in the workflow.
[0052] According to an embodiment of the present disclosure, the flow variable configuration can be understood as a process of configuring the parameter in the form of the flow variable.
[0053] According to an embodiment of the present disclosure, the first function node can be any one of the at least two function nodes that need to configure the flow variable. For example, the function node A, the function node B and the function node C all need to configure the parameter a, at this time, the first function node can be any one of the function node A, the function node B and the function node C, for example, the first function node can be the function node A, can also be the function node B, and can also be the function node C.
[0054] According to an embodiment of the present disclosure, in response to receiving the operation of performing flow variable configuration on at least one configuration parameter of the first function node, generating at least one flow variable containing the configuration parameter for the first function node can include that the user can select one function node such as the function node A from the function node A, the function node B and the function node C as the first function node, and perform flow variable configuration on the parameter a of the function node A to generate the flow variable a.
[0055] In operation S130, in response to the flow variable reference instruction for the first function node and the second function node, a flow variable reference relationship between the second function node and the first function node is established, and a target workflow is obtained; the second function node is configured to perform a service function according to a configuration parameter obtained from the first function node; and the target workflow represents a processing result corresponding to the task processing request.
[0056] According to an embodiment of the present disclosure, the second function node can be any one of the at least two function nodes except the first function node. For example, the first function node is function node A, and the second function node can be any one of function node B and function node C.
[0057] According to an embodiment of the present disclosure, the flow variable reference can be understood as establishing a connection between a function node without a configured flow variable and a function node with a configured flow variable, so that the flow variable can be transmitted between the function nodes. For example, function node 1 and function node 2 both need to configure parameter 1, and then the configuration parameter 1 in function node 1 can be configured as flow variable 1, and then a connection between function node 1 and function node 2 is established through the flow variable reference instruction, so that the configuration parameter 1 in the flow variable 1 can be transmitted to function node 2, and the configuration parameter 1 in function node 2 does not need to be configured again.
[0058] According to an embodiment of the present disclosure, the flow variable reference relationship can be understood as the transmission direction of the flow variable. For example, the reference relationship between function node 1 and function node 2 is that function node 1 references the flow variable in function node 2, which means that the flow variable can be transmitted from function node 2 to function node 1.
[0059] According to an embodiment of the present disclosure, by establishing the flow variable reference relationship between the first function node and the second function node, the second function node can obtain the parameter from the first function node to perform the service function of the second function node.
[0060] According to an embodiment of the present disclosure, by utilizing the technical scheme that, in response to the task processing request, in a case where it is determined that there is a candidate workflow corresponding to the task processing request in the resource management library, an initial workflow is determined according to the received selection instruction for the candidate workflow; then, in response to receiving an operation instruction of performing flow variable configuration on at least one configuration parameter of a first functional node in the at least two functional nodes, at least one configuration parameter flow variable is generated for the first functional node, so as to utilize the first functional node to perform service functions according to the configuration parameters contained in the at least one configured flow variable; and then, in response to the flow variable reference instruction for the first functional node and a second functional node in the at least two functional nodes, a flow variable reference relationship between the second functional node and the first functional node is established, to obtain the target workflow. Since the functional node supports flow variable configuration, the parameters that need to be configured for multiple functional nodes can be configured in the form of flow variables in one functional node, and the flow variables of the functional node are referenced by other functional nodes, so that the parameters can flow between multiple functional nodes, avoiding the problem of inconsistent configuration caused by repeated configuration of parameters, and helping to improve the task processing efficiency.
[0061] According to an embodiment of the present disclosure, the configuration parameter comprises at least one of the following: a task index, database information, a file path, date information, and version information.
[0062] According to an embodiment of the present disclosure, the task index can comprise a task processing requirement corresponding to the task content. For example, for a modeling task, the task index can comprise a model performance index, specifically comprising model accuracy, generalization ability, etc.
[0063] According to an embodiment of the present disclosure, the database information can comprise database type information, IP address information, port number information, username information, etc.
[0064] According to an embodiment of the present disclosure, the file path can comprise a file output path, a name of an output file, etc.
[0065] According to an embodiment of the present disclosure, the date information can be a date of task processing; and the version information can be a version of a currently processed task. For example, when the task is a modeling task, the version information can be a version of a generated model.
[0066] According to an embodiment of the present disclosure, the above method further comprises: in a case where it is determined that there is no candidate workflow corresponding to the task processing request in the resource management library, generating an initial workflow according to a selection instruction for at least one functional node in the functional node library.
[0067] According to an embodiment of the present disclosure, the function node library comprises at least one preset function node. The at least one preset function node may, for example, comprise data import / export, data processing, data derivation, data analysis and modeling, result display, etc. Among them, the data import / export supports multiple file formats; the data processing includes conventional format conversion, row operation, column operation, data replacement, data splitting and merging, normalization, etc., while supporting a script language; the data derivation supports script language derived variables and self-developed function nodes; the data analysis and modeling includes statistical analysis and data mining algorithms, such as statistical tests, principal component analysis, clustering, decision trees, etc., and also includes self-owned algorithm integration models; the result display includes icon display and data storage export.
[0068] According to an embodiment of the present disclosure, in the case where there is no candidate workflow corresponding to the task processing request in the resource management library, the required function node can be directly selected from the function node library, and an initial workflow is generated according to the selected function node.
[0069] According to an embodiment of the present disclosure, the method further comprises: adding the target workflow to the resource management library to obtain an updated resource management library. The resource management library is updated to enrich the workflows contained in the resource management library.
[0070] FIG. 2 is a flowchart of a method for determining a candidate workflow according to an embodiment of the present disclosure.
[0071] According to an embodiment of the present disclosure, the task processing request comprises to-be-processed data information.
[0072] According to an embodiment of the present disclosure, the resource management library comprises at least one preset workflow, and each preset workflow corresponds to preset data distribution information. The preset workflow corresponding to the preset data distribution information can be understood as the type of data distribution that the preset workflow can process. For example, some of the preset workflows can process normally distributed data, and other preset workflows can process non-normally distributed data.
[0073] As shown in FIG. 2, the method for determining a candidate workflow according to an embodiment of the present disclosure can comprise operation S210 to operation S230.
[0074] In operation S210, to-be-processed data is called according to to-be-processed data information.
[0075] According to an embodiment of the present disclosure, the to-be-processed data information can comprise address information of the to-be-processed data, for example, database information where the to-be-processed data is stored. Calling the to-be-processed data according to the to-be-processed data information can comprise calling the to-be-processed data according to the address information of the to-be-processed data.
[0076] In operation S220, data distribution analysis is performed on the to-be-processed data to obtain data distribution characteristics.
[0077] According to an embodiment of the present disclosure, the data distribution analysis on the to-be-processed data can comprise: performing normal distribution analysis on the to-be-processed data, and determining whether the to-be-processed data is normally distributed or non-normally distributed.
[0078] In other embodiments, the data distribution analysis on the to-be-processed data can further comprise: performing maximum value statistics, minimum value statistics, average number statistics, median number statistics, quantile number statistics, and the like on the to-be-processed data.
[0079] In operation S230, according to the data distribution feature and the preset data distribution information corresponding to each of the at least one preset workflow, a candidate workflow is determined from the at least one preset workflow.
[0080] According to an embodiment of the present disclosure, determining the candidate workflow from the at least one preset workflow according to the data distribution feature and the preset data distribution information corresponding to each of the at least one preset workflow can comprise: comparing the data distribution feature with the preset data distribution information corresponding to each of the at least one preset workflow respectively, and determining the preset workflow corresponding to the preset data distribution information with higher similarity to the data distribution feature as the candidate workflow.
[0081] According to an embodiment of the present disclosure, by performing data distribution analysis on the to-be-processed data to obtain the data distribution feature, the corresponding workflow can be better selected.
[0082] FIG. 3 is a flowchart of a method for determining a to-be-configured flow variable parameter according to an embodiment of the present disclosure.
[0083] As shown in FIG. 3, the method for determining the to-be-configured flow variable parameter according to an embodiment of the present disclosure can comprise operation S310 to operation S370.
[0084] In operation S310, in response to a task processing request, in a case where it is determined that there is a candidate workflow corresponding to the task processing request in the resource management library, an initial workflow is determined according to a received selection instruction for the candidate workflow.
[0085] In operation S320, for an i-th configuration parameter in all configuration parameters contained in the at least two functional nodes, a functional node containing the i-th configuration parameter in the at least two functional nodes is determined, and a candidate functional node is obtained.
[0086] According to an embodiment of the present disclosure, i can be any positive integer. The i-th configuration parameter can be any one of all configuration parameters contained in the at least two functional nodes.
[0087] According to an embodiment of the present disclosure, determining, for the i th configuration parameter among all configuration parameters contained in the at least two function nodes, a function node containing the i th configuration parameter among the at least two function nodes to obtain a candidate function node can comprise: determining, for each configuration parameter among all configuration parameters contained in the at least two function nodes, for example, configuration parameter 1, a function node containing the configuration parameter 1 among the at least two function nodes to obtain a candidate function node.
[0088] In some embodiments, for example, the initial workflow contains at least two function nodes including function node 1, function node 2 and function node 3, and function node 1 contains configuration parameter 1, configuration parameter 2 and configuration parameter 3, function node 2 contains configuration parameter 1, configuration parameter 2 and configuration parameter 4, and function node 3 contains configuration parameter 2 and configuration parameter 3. At this time, determining, for each configuration parameter among all configuration parameters contained in the at least two function nodes, a function node containing the configuration parameter among the at least two function nodes to obtain a candidate function node can comprise: for configuration parameter 1, determining function nodes containing configuration parameter 1 among function node 1, function node 2 and function node 3, i.e. function node 1 and function node 2, so function node 1 and function node 2 are candidate function nodes corresponding to configuration parameter 1; then for configuration parameter 2, determining function nodes containing configuration parameter 2 among function node 1, function node 2 and function node 3, i.e. function node 1, function node 2 and function node 3, so function node 1, function node 2 and function node 3 are candidate function nodes corresponding to configuration parameter 2; then for configuration parameter 3, determining function nodes containing configuration parameter 3 among function node 1, function node 2 and function node 3, i.e. function node 1 and function node 3, so function node 1 and function node 3 are candidate function nodes corresponding to configuration parameter 3; then for configuration parameter 4, determining function nodes containing configuration parameter 4 among function node 1, function node 2 and function node 3, i.e. function node 2, so function node 2 is a candidate function node corresponding to configuration parameter 4.
[0089] In operation S330, it is determined whether the number of candidate function nodes is greater than a preset value. In a case where it is determined that the number of candidate function nodes is greater than the preset value, operation S340 is performed; in a case where it is determined that the number of candidate function nodes is less than or equal to the preset value, operation S370 is performed.
[0090] According to an embodiment of the present disclosure, the preset value can be any value greater than or equal to 1, which can be configured according to user demand. For example, the preset value can be set to 1, 10, 20, etc.
[0091] In operation S340, it is determined that the i th configuration parameter is a flow variable parameter to be configured.
[0092] According to an embodiment of the present disclosure, in a case where the number of the candidate function nodes is greater than the preset value, it is indicated that the number of the function nodes that need to be configured for the configuration parameter is large, and therefore, the flow variable configuration needs to be performed on the configuration parameter.
[0093] In some embodiments, for example, the preset value is 1, for the configuration parameter 1, since the corresponding candidate function nodes include the function node 1 and the function node 2, the number of the candidate function nodes is greater than 1, and therefore, it is determined that the configuration parameter 1 is the flow variable parameter to be configured. For the configuration parameter 4, since the corresponding candidate function nodes include the function node 2, the number of the candidate function nodes is equal to 1, and therefore, it is determined that the configuration parameter 4 is not the flow variable parameter to be configured, and the flow variable configuration does not need to be performed.
[0094] In operation S350, in response to receiving the operation instruction of performing the flow variable configuration on the flow variable parameter to be configured for the first candidate function node among the candidate function nodes, the flow variable is generated for the first candidate function node.
[0095] According to an embodiment of the present disclosure, the first candidate function node is any one of the candidate function nodes corresponding to the configuration parameter. For example, for the configuration parameter 1, the first candidate function node can be any one of the function node 1 and the function node 2. For example, for the configuration parameter 2, the first candidate function node can be any one of the function node 1, the function node 2 and the function node 3.
[0096] In some embodiments, the flow variable parameters to be configured include the configuration parameter 1, the configuration parameter 2 and the configuration parameter 3. In response to the operation of the user performing the flow variable configuration on the flow variable parameter to be configured for the first candidate function node among the candidate function nodes, the flow variable is generated for the first candidate function node, which can include: in response to the operation of the user performing the flow variable configuration on the configuration parameter 1 of the function node 1, the flow variable 1 corresponding to the configuration parameter 1 is generated for the function node 1; in response to the operation of the user performing the flow variable configuration on the configuration parameter 2 of the function node 1, the flow variable 2 corresponding to the configuration parameter 2 is generated for the function node 1; in response to the operation of the user performing the flow variable configuration on the configuration parameter 3 of the function node 1, the flow variable 3 corresponding to the configuration parameter 3 is generated for the function node 1, and thus, the operation of performing the flow variable configuration on the flow variable parameter to be configured is completed.
[0097] In operation S360, in response to the flow variable reference instruction for the first candidate function node and a second candidate function node among the candidate function nodes, the flow variable reference relationship between the second candidate function node and the first candidate function node is established, and the target workflow is obtained.
[0098] According to an embodiment of the present disclosure, in response to the flow variable reference instruction for the first candidate function node and the second candidate function node of the candidate function nodes, establishing the flow variable reference relationship between the second candidate function node and the first candidate function node can include: in response to the flow variable reference instruction for function node 1 and function node 2, establishing the flow variable reference relationship between function node 1 and function node 2, which can include the reference relationship of flow variable 1 and the reference relationship of flow variable 2; then, in response to the flow variable reference instruction for function node 1 and function node 3, establishing the flow variable reference relationship between function node 1 and function node 3, which can include the reference relationship of flow variable 2 and the reference relationship of flow variable 3.
[0099] In operation S370, it is determined that the i th configuration parameter is not a flow variable parameter to be configured, and the flow variable configuration is not required.
[0100] FIG. 4 is a flowchart of a method for determining a candidate function node according to an embodiment of the present disclosure.
[0101] As shown in FIG. 4, the method for determining a candidate function node according to an embodiment of the present disclosure includes operation S410 to operation S420.
[0102] In operation S410, for the i th configuration parameter in all configuration parameters contained in the at least two function nodes, the similarity between the identification information of the i th configuration parameter and the identification information of all configuration parameters in the at least two function nodes is determined respectively.
[0103] According to an embodiment of the present disclosure, the identification information of the configuration parameter can include the name, number, and the like of the configuration parameter.
[0104] In some embodiments, the identification information of the configuration parameter can be the parameter name, and determining the similarity between the identification information of the i th configuration parameter and the identification information of all configuration parameters in the at least two function nodes for the i th configuration parameter in all configuration parameters contained in the at least two function nodes can include: determining the similarity between the parameter name of the i th configuration parameter and the parameter name of all configuration parameters in the at least two function nodes for the i th configuration parameter in all configuration parameters contained in the at least two function nodes.
[0105] Specifically, for example, as described above, at least two functional nodes include functional node 1, functional node 2, and functional node 3, and functional node 1 includes configuration parameter 1, configuration parameter 2, and configuration parameter 3; functional node 2 includes configuration parameter 1, configuration parameter 2, and configuration parameter 4; and functional node 3 includes configuration parameter 2 and configuration parameter 3. Therefore, all configuration parameters contained in the at least two functional nodes include configuration parameter 1, configuration parameter 2, configuration parameter 3, and configuration parameter 4. In this case, determining the similarity between the parameter name of the current configuration parameter and the parameter names of all configuration parameters in the at least two functional nodes for each configuration parameter contained in the at least two functional nodes may include: for configuration parameter 1, determining the similarity between the parameter name of configuration parameter 1 and the configuration parameters contained in functional nodes 1, 2, and 3. For example, determine the similarity between the parameter name of configuration parameter 1 and the parameter names of configuration parameters (configuration parameter 1, configuration parameter 2, and configuration parameter 3) contained in functional node 1; determine the similarity between the parameter name of configuration parameter 1 and the parameter names of configuration parameters contained in functional node 2 (configuration parameter 1, configuration parameter 2, and configuration parameter 4); determine the similarity between the parameter name of configuration parameter 1 and the parameter names of configuration parameters contained in functional node 3 (configuration parameter 2 and configuration parameter 3).
[0106] According to embodiments of this disclosure, similarity can be calculated using any method capable of calculating the similarity of parameter names, numbers, etc. For example, in some embodiments, the Levenshtein distance algorithm can be used to calculate the similarity of the identifier information of the configuration parameters. In other embodiments, the similarity of the identifier information of the configuration parameters can be calculated by encoding the identifier information of the configuration parameters to obtain the corresponding word vectors, and then using the word vector similarity calculation formula.
[0107] In operation S420, based on similarity, at least two functional nodes containing the i-th configuration parameter are identified, thus obtaining candidate functional nodes.
[0108] According to embodiments of this disclosure, each functional node corresponds to a similarity group corresponding to configuration parameter 1. For example, the similarity group corresponding to functional node 1 includes the similarity between configuration parameter 1 and configuration parameter 1, configuration parameter 2 and configuration parameter 3, respectively, such as similarity 1, similarity 2 and similarity 3.
[0109] According to an embodiment of the present disclosure, determining the function node containing the current configuration parameter from the at least two function nodes according to the similarity to obtain the candidate function node can include: for the current configuration parameter, according to the similarity group corresponding to the function node, in the case that it is determined that there is a similarity greater than a preset value in the similarity group, it is indicated that the function node contains the current configuration parameter, and the function node is determined as the candidate function node corresponding to the current configuration parameter. For example, for the configuration parameter 1, according to the similarity group corresponding to the function node 1, that is, the similarity 1, the similarity 2 and the similarity 3, in the case that it is determined that there is a similarity greater than a preset value in the similarity 1, the similarity 2 and the similarity 3, it is indicated that the function node 1 contains the configuration parameter 1, and then the function node 1 is the candidate node corresponding to the configuration parameter 1.
[0110] FIG. 5 is a flowchart of a flow variable editing method according to an embodiment of the present disclosure.
[0111] As shown in FIG. 5, the flow variable editing method according to an embodiment of the present disclosure includes operation S510 to operation S530.
[0112] In operation S510, in response to receiving a flow variable editing operation instruction for the first function node, a flow variable editing interface is displayed.
[0113] According to an embodiment of the present disclosure, in response to receiving a flow variable editing operation instruction for the first function node, displaying a flow variable editing interface can include: in response to the user right-clicking the first function node from the at least two function nodes, displaying a right-click menu; and in response to the user selecting an add flow variable operation in the right-click menu, displaying the flow variable editing interface.
[0114] According to an embodiment of the present disclosure, the flow variable editing interface can edit the parameter name and the corresponding parameter value.
[0115] In operation S520, at least one flow variable is generated for the first function node according to the parameter information of at least one configuration parameter edited in the flow variable editing interface.
[0116] According to an embodiment of the present disclosure, the parameter information can include the parameter name and the corresponding parameter value.
[0117] According to an embodiment of the present disclosure, generating at least one flow variable for the first function node according to the parameter information of at least one configuration parameter edited in the flow variable editing interface can include: in response to the user completing the editing operation, generating at least one flow variable for the first function node according to the parameter name and the parameter value edited by the user in the flow variable editing interface.
[0118] In operation S530, at least one flow variable is displayed in the flow variable display area of the first function node.
[0119] According to an embodiment of the present disclosure, the edited flow variable can be displayed in a flow variable display area. The flow variable display area can manage the flow variable, such as deleting the flow variable, editing the flow variable, and the like. The flow variable display area is, for example, the flow variable area in FIG. 6.
[0120] FIG. 6 is a schematic diagram of an interface of a function node according to an embodiment of the present disclosure.
[0121] As shown in FIG. 6, the interface of the function node includes an input data area, a flow variable area, a code area, a metadata area, and a running output information area. The input data area is used to display attribute information of input data. The flow variable area is used to display flow variables configured for the function node, such as flow variable 1 and flow variable 2. Clicking one of the flow variables can enable editing and modification of the flow variable. The code area is used to display the code corresponding to the function node, which can include preset code and user-edited code. The metadata area is used to display information describing the function node. The running output information area is used to display output information during running, which can include running error information.
[0122] According to an embodiment of the present disclosure, the function node can describe information of the node in a configurable xml format. When the function node is run, a Java module corresponding to the node is called to perform execution. Input and output data of each function node can be stored in two ways: in-memory storage and through a file. If a python code is embedded in a function node, the python code is converted into a command line by a third-party Fire python component to form execution.
[0123] According to an embodiment of the present disclosure, the method further includes: in response to receiving a display operation instruction for output data of a target function node in the at least two function nodes, popping up an output data display box to display the output data; or, in response to receiving a display operation instruction for input data of a target function node in the at least two function nodes, popping up an input data display box to display the input data.
[0124] According to an embodiment of the present disclosure, the target function node can be any one of the at least two function nodes.
[0125] According to an embodiment of the present disclosure, in response to the user output data display operation for the target function node in the at least two function nodes, the output data display box is popped up to display the output data, which can include: in response to the user right-clicking the target function node in the at least two function nodes, displaying a right-click menu; in response to the user selecting a view output data display operation in the right-click menu, popping up the output data display box to display the output data.
[0126] According to an embodiment of the present disclosure, in response to the input data display operation of the user on the target function node of the at least two function nodes, the pop-up of the input data display box to display the input data can include: in response to the right-click of the user on the target function node of the at least two function nodes, a right-click menu is displayed; and in response to the selection of the operation of viewing the input data by the user in the right-click menu, the input data display box is popped up to display the input data.
[0127] According to an embodiment of the present disclosure, the method further includes: in response to the execution operation on at least one function node of the at least two function nodes, running the at least one function node; and displaying the execution result in the output data display area of the at least one function node.
[0128] According to an embodiment of the present disclosure, in response to the execution operation on at least one function node of the at least two function nodes, running the at least one function node can include: right-clicking on the function node that needs to be run, and clicking the execution operation in the right-click menu, so as to realize the running of the function node, and the running result of the function node can be displayed in the running output information area in FIG. 6.
[0129] According to an embodiment of the present disclosure, in response to the flow variable reference instruction on the first function node and the second function node, the establishment of the flow variable reference relationship between the second function node and the first function node includes: receiving the flow variable reference instruction, the flow variable reference instruction including cursor initial position information and cursor stop position information; determining the first function node based on the cursor initial position information; determining the second function node based on the cursor stop position information; and generating a directed line between the first function node and the second function node, taking the first function node as the starting point and the second function node as the ending point, wherein the directed line represents the flow variable reference relationship between the first function node and the second function node.
[0130] According to an embodiment of the present disclosure, the cursor initial position information can refer to the position information of the first click of the mouse cursor on the task processing platform operation interface, that is, the position information of the first function node, and the first function node is determined based on the cursor initial position information. The cursor termination position information can refer to the position information of the second click of the mouse cursor on the task processing platform operation interface, that is, the position information of the second function node, and the second function node is determined based on the cursor termination position information.
[0131] According to an embodiment of the present disclosure, the directed line represents the flow variable reference relationship between the first function node and the second function node, for example, the flow direction of the configuration parameter in the flow variable is determined by the pointing direction of the directed line, for example, the directed line points from the first function node to the second function node, representing that the second function node references the first function node, that is, the configuration parameter of the flow variable in the first function node can be passed to the second function node, so that the second function node performs the service function based on the configuration parameter.
[0132] According to an embodiment of the present disclosure, the method further includes: in response to an editing operation of the user on at least one function node in the target workflow, generating an optimized workflow; wherein the editing operation includes at least one of: creating, modifying, removing, copying, and replacing.
[0133] According to an embodiment of the present disclosure, the task processing method is processed by a task processing platform, and FIG. 7 is a schematic diagram of a task processing interface of the task processing platform.
[0134] As shown in FIG. 7, the task processing interface of the task processing platform mainly includes seven functional areas, which can provide full-range control functions of the modeling process, support control association of the algorithm modeling process, including running log, running, saving, grid, full screen, node attribute box, and the like. In addition, the task processing platform supports editing and overview of the modeling workflow; supports browsing and calling of the modeling operator; supports configuration and execution of the modeling workflow node; and supports browsing and querying of the model and data, and the like.
[0135] Specifically, the task processing interface includes a total functional area, a resource manager, a component library, a workflow editing area, an outline view area, component instructions, and a console. The total functional area mainly includes functions of creating, importing, modifying, exporting, editing, and typesetting of the workflow. The resource manager includes default workflows in the platform and newly created workflows in the future, which can be viewed at this location. The component library mainly includes data import and export (supports multiple formats such as excel, csv, txt, database, PMML, model, etc.), data processing (includes conventional format conversion, row operation, column operation, data replacement, data splitting and merging, normalization, and the like, and supports Java and python script languages), data derivation (in addition to supporting Java and python script language derivation variables, it also embeds self-designed and developed derivation components), data analysis and modeling (includes conventional statistical analysis and data mining algorithms such as statistical test, principal component analysis, clustering, decision tree, and the like, and also includes self-owned algorithm integrated model), result display (includes chart display and data storage export functions). The workflow editing area is mainly used for construction and modification of the workflow, and components in the component library can be directly dragged and dropped, and data is transmitted in the form of connection lines. It should be noted that the interfaces for connection at both ends of the components need to satisfy the same shape and color to be connected, such as the black triangular shape at both ends of each node in FIG. 7. The outline view area can view the complete workflow edited in the workflow editing area. The component instructions are used to view the function and use instructions of each component in the component library, and are used to determine the configuration rules of input, output, and parameters. The console is used to execute the workflow edited in the workflow editing area, to view whether the execution is successful, and to view error prompts after execution errors.
[0136] According to an embodiment of the present disclosure, the task processing platform supports drag-and-drop development. When modeling a task, a component in a component library can be dragged to a work editing area, and a visual connection is used to determine the running relationship between components, thereby forming a model experiment process required by a user. In the system, functions such as project configuration, experiment management, component configuration, model generation, and intelligent modeling can be implemented.
[0137] In one embodiment, when processing a task request, a user first selects a corresponding component from a component library and drags the component to a work editing area to obtain a plurality of function nodes. Then, parameters of a flow variable that needs to be configured are determined, the parameters of the flow variable that needs to be configured are configured, and a flow variable reference relationship is established between the function nodes. Then, parameters of a flow variable that do not need to be configured are configured separately. Then, the function nodes are connected according to an execution order by using a mouse to form a workflow. At this point, the modeling of the workflow is completed, the workflow can be run, and a running result can be displayed.
[0138] According to an embodiment of the present disclosure, the task processing platform further includes a modeling process running engine subsystem. The subsystem includes two uses: (1) a development use, used for running and debugging of a big data and artificial intelligence application; and (2) an actual running, after the development of the big data and artificial intelligence application is completed, the actual running of the developed application also needs to be supported by an artificial intelligence modeling process running engine.
[0139] According to an embodiment of the present disclosure, the running engine subsystem has an algorithm node management function, which can provide running management of an algorithm node, support all-around control of the algorithm node, and include running a node, running from a node, running only this node, viewing result data, viewing a log, and node replication.
[0140] According to an embodiment of the present disclosure, the running engine subsystem has an exploration task management function, which can provide list management of an exploration task and includes creating a new exploration task, editing a task, deleting a task, and running a task. The exploration task can be understood as task management.
[0141] According to an embodiment of the present disclosure, the running engine subsystem has a modeling process management function, which can provide all-around control of a modeling process and support control and association of an algorithm modeling process, and includes running a log, running, saving, a grid, full screen, and a node attribute box. It should be noted that each exploration task is a modeling process, and the modeling process can be run, saved, and the like.
[0142] According to an embodiment of the present disclosure, the running engine subsystem has a single-node running function. When a node that needs to be run is clicked with a right mouse button, and Execute in the right mouse menu is clicked, the single-node running is implemented.
[0143] According to an embodiment of the present disclosure, the running engine subsystem has a task scheduling function, including adding task subtasks, task debugging, scheduling a period table, setting priorities, log viewing, log downloading, and task time consumption.
[0144] Based on the above task processing method, the present disclosure further provides a task processing apparatus. The apparatus will be described in detail below in combination with FIG. 8.
[0145] FIG. 8 is a structural block diagram of a task processing apparatus according to an embodiment of the present disclosure.
[0146] As shown in FIG. 8, the task processing apparatus 800 of this embodiment includes a first determining module 810, a first generating module 820, and a establishing module 830.
[0147] The first determining module 810 is configured to, in response to a task processing request, determine an initial workflow according to a received selection instruction for a candidate workflow in a case where it is determined that the resource management library has the candidate workflow corresponding to the task processing request, wherein the initial workflow includes at least two functional nodes, the at least two functional nodes include a first functional node and a second functional node, each functional node includes at least one configuration parameter, and the functional node is configured to perform a service function according to the at least one configuration parameter. In an embodiment, the first determining module 810 can be configured to perform the operation S110 described above, and details are not described herein again.
[0148] The first generating module 820 is configured to, in response to receiving an operation instruction for flow variable configuration of at least one configuration parameter of the first functional node, generate at least one flow variable containing the configuration parameter for the first functional node, so that the first functional node performs a service function according to the configuration parameter contained in the configured at least one flow variable; and the flow variable is configured to pass the configuration parameter between the functional nodes of the initial workflow. In an embodiment, the first generating module 820 can be configured to perform the operation S120 described above, and details are not described herein again.
[0149] The establishing module 830 is configured to, in response to a flow variable reference instruction for the first functional node and the second functional node, establish a flow variable reference relationship between the second functional node and the first functional node, to obtain a target workflow; wherein the second functional node is configured to perform a service function according to the configuration parameter obtained from the first functional node; and the target workflow represents a processing result corresponding to the task processing request. In an embodiment, the establishing module 830 can be configured to perform the operation S130 described above, and details are not described herein again.
[0150] According to an embodiment of the present disclosure, the above apparatus further includes a second determining module and a third determining module.
[0151] The second determining module is configured to determine, for an i-th configuration parameter in all configuration parameters contained in the at least two function nodes, a function node containing the i-th configuration parameter in the at least two function nodes, to obtain a candidate function node.
[0152] The third determining module is configured to determine that the i-th configuration parameter is a flow variable parameter to be configured, in a case where the number of the candidate function nodes is greater than a preset value.
[0153] According to an embodiment of the present disclosure, the first generating module 820 is further configured to generate a flow variable for the first candidate function node in response to receiving an operation instruction of performing flow variable configuration on the flow variable parameter to be configured in the first candidate function node.
[0154] According to an embodiment of the present disclosure, the establishing module 830 is further configured to establish a flow variable reference relationship between the second candidate function node and the first candidate function node in response to a flow variable reference instruction of the first candidate function node and the second candidate function node, to obtain a target workflow.
[0155] According to an embodiment of the present disclosure, the second determining module comprises a first determining submodule and a second determining submodule.
[0156] The first determining submodule is configured to determine, for an i-th configuration parameter in all configuration parameters contained in the at least two function nodes, a similarity between identification information of the i-th configuration parameter and identification information of all configuration parameters in the at least two function nodes.
[0157] The second determining submodule is configured to determine, according to the similarity, a function node containing the i-th configuration parameter in the at least two function nodes, to obtain a candidate function node.
[0158] According to an embodiment of the present disclosure, the first generating module 820 comprises a display submodule and a first generating submodule.
[0159] The display submodule is configured to display a flow variable editing interface in response to receiving a flow variable editing operation instruction performed on the first function node.
[0160] The first generating submodule is configured to generate at least one flow variable for the first function node according to parameter information of at least one configuration parameter edited in the flow variable editing interface.
[0161] According to an embodiment of the present disclosure, the apparatus further comprises a first display module.
[0162] The first display module is configured to display at least one flow variable in a flow variable display area of the first function node after generating the at least one flow variable containing the configuration parameter for the first function node.
[0163] According to an embodiment of the present disclosure, the establishing module 830 comprises a third determining sub-module, a fourth determining sub-module and a second generating sub-module.
[0164] The third determining sub-module is configured to receive a flow variable reference instruction, wherein the flow variable reference instruction comprises cursor initial position information and cursor stop position information; and determine the first function node based on the cursor initial position information.
[0165] The fourth determining sub-module is configured to determine the second function node based on the cursor stop position information.
[0166] The second generating sub-module is configured to generate a directed line between the first function node and the second function node, with the first function node as a starting point and the second function node as an ending point, wherein the directed line represents a flow variable reference relationship between the first function node and the second function node.
[0167] According to an embodiment of the present disclosure, the configuration parameter comprises at least one of the following: a task index, database information, a file path, date information and version information.
[0168] According to an embodiment of the present disclosure, the apparatus further comprises a second generating module.
[0169] The second generating module is configured to generate an initial workflow according to a selection operation on at least one function node in the function node library in a case where it is determined that the candidate workflow corresponding to the task processing request does not exist in the resource management library.
[0170] According to an embodiment of the present disclosure, the apparatus further comprises a second displaying module and a third displaying module.
[0171] The second displaying module is configured to, in response to receiving a display operation instruction for output data of a target function node in the at least two function nodes, pop up an output data display box to display the output data.
[0172] The third displaying module is configured to, in response to receiving a display operation instruction for input data of a target function node in the at least two function nodes, pop up an input data display box to display the input data.
[0173] According to an embodiment of the present disclosure, the apparatus further comprises a running module and a fourth displaying module.
[0174] The running module is configured to, in response to an execution operation on at least one function node in the at least two function nodes, run the at least one function node.
[0175] The fourth displaying module is configured to display the execution result in an output data display area of the at least one function node.
[0176] According to an embodiment of the present disclosure, the task processing request comprises data information to be processed.
[0177] According to an embodiment of the present disclosure, the apparatus further comprises a calling module, an analyzing module and a fourth determining module.
[0178] The calling module is configured to call the data to be processed according to the data information to be processed.
[0179] The analyzing module is configured to perform data distribution analysis on the data to be processed to obtain data distribution features.
[0180] The fourth determining module is configured to determine a candidate workflow from the resource management library according to the data distribution features.
[0181] According to an embodiment of the present disclosure, the resource management library comprises at least one preset workflow, and each preset workflow corresponds to preset data distribution information.
[0182] According to an embodiment of the present disclosure, the fourth determining module comprises a fifth determining submodule.
[0183] The fifth determining submodule is configured to determine the candidate workflow from the at least one preset workflow according to the data distribution features and preset data distribution information corresponding to each of the at least one preset workflow.
[0184] According to an embodiment of the present disclosure, the apparatus further comprises a third generating module.
[0185] The third generating module is configured to generate an optimized workflow in response to an editing operation of a user on at least one function node in the target workflow.
[0186] According to an embodiment of the present disclosure, the editing operation comprises at least one of the following: creating, modifying, removing, copying and replacing.
[0187] According to an embodiment of the present disclosure, the apparatus further comprises an adding module.
[0188] The adding module is configured to add the target workflow to the resource management library to obtain an updated resource management library.
[0189] According to an embodiment of the present disclosure, any of the first determining module 810, the first generating module 820 and the establishing module 830 can be combined in one module, or any of them can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of the other modules, and implemented in one module. According to an embodiment of the present disclosure, at least one of the first determining module 810, the first generating module 820 and the establishing module 830 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on board, a system on package, an application specific integrated circuit (ASIC), or any other reasonable way of hardware or firmware that can be integrated or packaged with a circuit, or implemented in any one of software, hardware and firmware or in a proper combination of any of them. Alternatively, at least one of the first determining module 810, the first generating module 820 and the establishing module 830 can be at least partially implemented as a computer program module that can perform the corresponding functions when the computer program module is run.
[0190] FIG. 9 is a block diagram of an electronic device suitable for implementing the above-described method according to an embodiment of the present disclosure.
[0191] As shown in FIG. 9, the electronic device 900 according to an embodiment of the present disclosure includes a processor 901 that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 902 or loaded from a storage portion 908 into a random access memory (RAM) 903. The processor 901 can include, for example, a general-purpose microprocessor (such as a CPU), an instruction set processor, and / or a related chipset, and / or a special-purpose microprocessor (such as an application specific integrated circuit (ASIC)), and the like. The processor 901 can also include an on-board memory for cache use. The processor 901 can include a single processing unit or multiple processing units for performing different actions of the method processes according to embodiments of the present disclosure.
[0192] In the RAM 903, various programs and data required for the operation of the electronic device 900 are stored. The processor 901, the ROM 902 and the RAM 903 are connected to each other through a bus 904. The processor 901 performs various operations of the method processes according to embodiments of the present disclosure by executing the programs in the ROM 902 and / or the RAM 903. It should be noted that the programs can also be stored in one or more memories other than the ROM 902 and the RAM 903. The processor 901 can also perform various operations of the method processes according to embodiments of the present disclosure by executing the programs stored in the one or more memories.
[0193] According to an embodiment of the present disclosure, the electronic device 900 can further include an input / output (I / O) interface 905 that is also connected to the bus 904. The electronic device 900 can further include one or more of the following components connected to the I / O interface 905: an input part 906 including, for example, a keyboard and a mouse; an output part 907 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage part 908 including, for example, a hard disk; and a communication part 909 including, for example, a LAN card, a modem, and the like. The communication part 909 performs communication processing via a network such as the Internet. A driver 910 is also connected to the I / O interface 905 as necessary. A removable medium 911 such as a magnetic disk, a magneto-optical disk, a semiconductor memory, and the like is attached to the driver 910 as necessary, so that a computer program read therefrom is installed into the storage part 908 as necessary.
[0194] The present disclosure also provides a computer readable storage medium, which can be included in the device / apparatus / system described in the above embodiments, or can exist separately without being assembled into the device / apparatus / system. The above computer readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of the present disclosure.
[0195] According to an embodiment of the present disclosure, the computer readable storage medium can be a non-volatile computer readable storage medium, for example, which can include, but is not limited to, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any appropriate combination thereof. In the present disclosure, the computer readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device. For example, according to an embodiment of the present disclosure, the computer readable storage medium can include one or more memories such as the ROM 902 and / or the RAM 903 described above and / or one or more memory other than the ROM 902 and the RAM 903.
[0196] The embodiments of the present disclosure also include a computer program product including a computer program containing program codes for executing the methods shown in the flowcharts. When the computer program product is run in a computer system, the program codes are used to make the computer system implement the above methods provided by the embodiments of the present disclosure.
[0197] The above-described functions of the system / device defined in the system / apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 901. According to the embodiments of the present disclosure, the system, apparatus, module, unit, etc. described above can be implemented by the computer program modules.
[0198] In one embodiment, the computer program can be stored in a tangible storage medium, such as an optical, magnetic, or other memory on a server, computer, or other computing device. In another embodiment, the computer program can be transmitted over a network, including the Internet, WAN, LAN, etc., over a wired or wireless connection, using signals, and downloaded and installed by a communication portion 909 and / or removable media 911. The program code embodied within the computer program can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, or any suitable combination of the foregoing.
[0199] In such an embodiment, the computer program can be downloaded and installed from a network, using the communication portion 909 and / or removable media 911. When the computer program is executed by the processor 901, the above-described functions of the system defined in the embodiments of the present disclosure are performed. According to the embodiments of the present disclosure, the system, apparatus, device, module, unit, etc. described above can be implemented by the computer program modules.
[0200] According to the embodiments of the present disclosure, the program code for carrying out the computer program provided by the embodiments of the present disclosure can be written in any combination of one or more programming languages, and specifically, these computer programs can be implemented using high-level procedural and / or object-oriented programming language, and / or assembly / machine language. The programming language includes, but is not limited to, such as Java, C++, python, "C" language, or similar programming languages. The program code can be executed entirely on a user computing device, partially on a user device, partially on a remote computing device, or entirely on a remote computing device or server. In the case involving a remote computing device, the remote computing device can be connected to the user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, connected through the Internet using an Internet service provider).
[0201] The computer program product of the first aspect can include one or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform the operations of the first aspect. The one or more non-transitory computer-readable media can include, for example, magnetic media such as one or more magnetic disks, magnetic tapes or cassettes; optical media such as one or more compact discs (CD), optical discs or discs (for example, DVD, Blu-ray Disc®, digital video disc, ultra density disc, ultra-compact disc, any optical media, etc.); semiconductor media such as solid state hard drives (for example, flash memory, solid state USB drives, etc.); any other suitable medium; or any suitable combination of media.
[0202] Those skilled in the art will understand that features of the various embodiments and / or claims of the present disclosure can be combined or / and integrated with one another, even though such a combination or integration is not expressly disclosed in the present disclosure. In particular, the features of the various embodiments and / or claims of the present disclosure can be combined and / or integrated with one another in any number of ways, without departing from the spirit and scope of the present disclosure. All such combinations and / or integrations are within the scope of the present disclosure.
[0203] The above describes the embodiments of the present disclosure. However, these embodiments are merely for illustrative purposes, and are not intended to limit the scope of the present disclosure. Although the above describes each embodiment separately, this does not mean that the measures in each embodiment cannot be used advantageously in combination. The scope of the present disclosure is defined by the appended claims and their equivalents. Those skilled in the art can make various substitutions and modifications without departing from the scope of the present disclosure, and all such substitutions and modifications shall fall within the scope of the present disclosure.
Claims
1. A task processing method, comprising: In response to a task processing request, if it is determined that there is a candidate workflow corresponding to the task processing request in the resource management library, an initial workflow is determined according to the received selection instruction for the candidate workflow. The initial workflow includes at least two functional nodes, including a first functional node and a second functional node. Each functional node includes at least one configuration parameter, and the functional node is used to perform service functions according to the at least one configuration parameter. In response to receiving an operation instruction to configure flow variables for at least one configuration parameter of the first functional node, at least one flow variable containing the configuration parameter is generated for the first functional node so as to utilize the first functional node to perform service functions according to the configuration parameters contained in the at least one flow variable; the flow variable is used to transfer the configuration parameter between the functional nodes of the initial workflow. In response to the stream variable reference instruction for the first functional node and the second functional node, a stream variable reference relationship is established between the second functional node and the first functional node to obtain the target workflow; wherein, the second functional node is used to execute service functions according to the configuration parameters obtained from the first functional node; the target workflow represents the processing result corresponding to the task processing request.
2. The method according to claim 1, further comprising: For the i-th configuration parameter among all configuration parameters contained in the at least two functional nodes, determine the functional nodes that contain the i-th configuration parameter among the at least two functional nodes to obtain candidate functional nodes, where i is a positive integer; If the number of candidate functional nodes is greater than a preset value, the i-th configuration parameter is determined to be a flow variable parameter to be configured. Specifically, in response to receiving an operation instruction to configure a flow variable for at least one configuration parameter of the first functional node, generating at least one flow variable containing the configuration parameter for the first functional node includes: In response to receiving an operation instruction to configure the flow variable parameters of the first candidate functional node among the candidate functional nodes, a flow variable is generated for the first candidate functional node; In response to the flow variable reference instructions for the first functional node and the second functional node, a flow variable reference relationship is established between the second functional node and the first functional node, resulting in the target workflow including: In response to a flow variable reference instruction for the first candidate functional node and the second candidate functional node among the candidate functional nodes, a flow variable reference relationship is established between the second candidate functional node and the first candidate functional node to obtain the target workflow.
3. The method according to claim 2, wherein, For the i-th configuration parameter among all configuration parameters contained in the at least two functional nodes, determine the functional nodes containing the i-th configuration parameter among the at least two functional nodes, and obtain candidate functional nodes including: For the i-th configuration parameter among all configuration parameters contained in the at least two functional nodes, determine the similarity between the identification information of the i-th configuration parameter and the identification information of the other configuration parameters contained in the at least two functional nodes; Based on the similarity, the functional nodes containing the i-th configuration parameter among the at least two functional nodes are determined, and the candidate functional nodes are obtained.
4. The method according to claim 1, wherein, The step of responding to receiving an operation instruction to configure a flow variable for at least one configuration parameter of the first functional node, and generating at least one flow variable containing the configuration parameter for the first functional node, includes: In response to receiving a stream variable editing operation instruction for the first functional node, the stream variable editing interface is displayed; Based on the parameter information of the at least one configuration parameter edited in the stream variable editing interface, the at least one stream variable is generated for the first functional node.
5. The method according to claim 1, further comprising, after generating at least one stream variable containing the configuration parameters for the first functional node: At least one stream variable is displayed in the stream variable display area of the first functional node.
6. The method according to claim 1, wherein, The step of establishing a stream variable reference relationship between the second functional node and the first functional node in response to a stream variable reference instruction for the first functional node and the second functional node includes: Receive the stream variable reference instruction, which includes cursor initial position information and cursor dwell position information; Based on the initial position information of the cursor, the first functional node is determined; Based on the cursor's stopping position information, the second functional node is determined; Starting from the first functional node and ending at the second functional node, a directed line is generated between the first functional node and the second functional node, wherein the directed line represents the stream variable reference relationship between the first functional node and the second functional node.
7. The method according to claim 1, wherein, The configuration parameters include at least one of the following: task metrics, database information, file path, date information, and version information.
8. The method according to claim 1, further comprising: If it is determined that there is no candidate workflow corresponding to the task processing request in the resource management library, an initial workflow is generated according to the selection instruction for at least one functional node in the functional node library.
9. The method according to claim 1, further comprising: In response to receiving a display operation instruction for the output data of the target functional node among the at least two functional nodes, an output data display box pops up to display the output data; or, In response to receiving a display operation instruction for input data of a target functional node among the at least two functional nodes, an input data display box pops up to display the input data.
10. The method according to claim 1, further comprising: In response to an execution operation targeting at least one of the at least two functional nodes, the at least one functional node is run; The execution results are displayed in the output data display area of each of the at least one functional node.
11. The method according to claim 1, wherein, The task processing request includes data information to be processed; The method further includes: The data to be processed is retrieved based on the information of the data to be processed; Perform data distribution analysis on the data to be processed to obtain data distribution characteristics; Based on the data distribution characteristics, the candidate workflows are determined from the resource management library.
12. The method according to claim 11, wherein, The resource management library includes at least one preset workflow, and each preset workflow corresponds to preset data distribution information; The step of determining the candidate workflow from the resource management library based on the data distribution characteristics includes: Based on the data distribution characteristics and the preset data distribution information corresponding to each of the at least one preset workflow, the candidate workflow is determined from the at least one preset workflow.
13. The method according to claim 1, further comprising: In response to a user's editing operation on at least one functional node in the target workflow, an optimized workflow is generated; wherein the editing operation includes at least one of the following: creating, modifying, removing, copying, and replacing.
14. The method according to claim 1, further comprising: The target workflow is added to the resource management library to obtain the updated resource management library.
15. A task processing apparatus, comprising: The first determining module is configured to, in response to a task processing request, determine, based on a received selection instruction for the candidate workflow, if it is determined that a candidate workflow corresponding to the task processing request exists in the resource management library. An initial workflow, wherein the initial workflow includes at least two functional nodes, the at least two functional nodes including a first functional node and a second functional node, each functional node including at least one configuration parameter, the functional node being used to perform service functions according to the at least one configuration parameter; A first generation module is configured to, in response to receiving an operation instruction to configure flow variables for at least one configuration parameter of the first functional node, generate at least one flow variable containing the configuration parameter for the first functional node, so that the first functional node can perform service functions according to the configuration parameter contained in the at least one flow variable; the flow variable is used to transfer the configuration parameter between the functional nodes of the initial workflow. A module is established to establish a stream variable reference relationship between the second functional node and the first functional node in response to a stream variable reference instruction for the first functional node and the second functional node, thereby obtaining a target workflow; wherein the second functional node is used to execute service functions according to configuration parameters obtained from the first functional node; the target workflow represents the processing result corresponding to the task processing request.
16. An electronic device comprising a memory and a processor, the memory storing instructions executable by the processor, the instructions, when executed by the processor, causing the processor to perform the method as claimed in any one of claims 1 to 14.
17. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1 to 14.
18. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 14.