Workflow management method and computing device
By establishing the association between workspace and workflow in the nifi platform, users can narrow the search scope by selecting the target workspace and quickly determine the target workflow using the workflow identification, solving the problem of inefficient search in the nifi platform.
Patent Information
- Application Number
- CN202510045663.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-10
- Publication Date
- 2025-06-06
AI Technical Summary
In the nifi platform, it is difficult for users to quickly find the target workflow, resulting in inefficient retrieval.
By establishing the association between workspace and workflows in the nifi platform, users can narrow the search scope by selecting the target workspace and quickly determine the target workflow using the identification of the workflow.
Improve the efficiency of the search target workflow and avoid the process of artificial search in multiple workflows.
Smart Images

Figure CN120106765A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a workflow management method and a computing device. Background Art
[0002] As we all know, Nifi is an open source data integration and workflow management tool for automated workflow processing. Since the Nifi platform displays multiple workflows it manages in one canvas, when users retrieve a target workflow from the multiple workflows, they cannot quickly determine the location of the target workflow in the canvas; therefore, the efficiency of retrieving workflows is reduced. Summary of the invention
[0003] The embodiments of the present application provide a workflow management method and a computing device for improving the efficiency of searching workflows.
[0004] To achieve the above objectives, the embodiments of the present application adopt the following technical solutions:
[0005] In a first aspect, an embodiment of the present application provides a workflow management method, which is applied to a Nifi-based workflow processing system, the system comprising multiple workspaces, each workspace being associated with a workflow, the method comprising: in response to a user's operation of constructing a new workflow in a first workspace, displaying an editing interface including a blank canvas, obtaining an identifier of the new workflow, and binding the identifier of the new workflow to the above-mentioned first workspace to establish an association between the first workspace and the new workflow, the identifier of the new workflow being used to distinguish different workflows; the first workspace is any one of the multiple workspaces; in response to a user's operation of editing a workflow to be updated in the first workspace, displaying an editing interface including a target canvas, the target canvas displaying a workflow to be updated associated with the first workspace, the workflow to be updated being the new workflow associated with the first workspace.
[0006] The workflow management method provided in the embodiment of the present application is applied to a workflow processing system based on Nifi. The method displays an editing interface including a blank canvas in response to a user's operation of constructing a new workflow in a first workspace, obtains the identifier of the new workflow, and binds the identifier of the new workflow to the first workspace to establish an association between the first workspace and the new workflow; and in response to a user's operation of editing a workflow to be updated in the first workspace, displays an editing interface including a target canvas, and the target canvas displays a workflow to be updated associated with the first workspace. Since the above system includes multiple workspaces, and each workspace is associated with a workflow; it can be seen that the above method associates a workflow with a workspace, so when it is necessary to retrieve a target workflow, the search scope is narrowed by determining a target workspace including the target workflow; then, based on the identifier of the workflow bound to the target workspace, the target workflow can be determined from the target workspace, thereby improving the efficiency of retrieving the target workflow.
[0007] In a possible implementation, the workflow includes a plurality of nodes, and the nodes are connected to each other. The node is used to indicate a processor and / or a controller. The display includes an editing interface of a blank canvas, including: based on a canvas generation engine and nodes, generating an editing interface including a blank canvas and node options; one node option corresponds to one node, so that the user can select a node by selecting the node option.
[0008] The above embodiment responds to the user's operation of building a new workflow in the first workspace, and generates an editing interface including a blank canvas and node options based on the canvas generation engine and nodes; compared with the existing method of building a new workflow on a canvas that displays all workflows, it avoids the problem of mistakenly establishing a connection relationship between the new workflow and other workflows on the canvas during the construction of the new workflow, thereby improving the accuracy of the new workflow.
[0009] In a possible implementation, the above display includes an editing interface of the target canvas, including: obtaining the workflow to be updated according to the identifier of the workflow to be updated; generating an editing interface including the target canvas and node options based on the canvas generation engine, the node and the workflow to be updated, and the workflow to be updated is displayed on the target canvas.
[0010] In a possible implementation, obtaining the identifier of the new workflow includes: displaying an input interface for inputting a target name for the new workflow; and generating the identifier of the new workflow according to the target name in response to an input operation of the user on the input interface.
[0011] In one possible implementation, before displaying the above-mentioned editing interface, the method includes: displaying the first interface of the above-mentioned system; the first interface includes space options, and one space option corresponds to one workspace; in response to the user selecting a first workspace option from the space options, displaying a second interface; the second interface includes a first workflow option; wherein, one first workflow option corresponds to one first workflow, and different space options correspond to different workspaces.
[0012] The above embodiment displays a first interface including space options; wherein one space option corresponds to one workspace; in response to the user selecting a first workspace option from the space options included in the first interface, a second interface is displayed; since the second interface includes options for a first workflow associated with the first workspace corresponding to the above selected first workspace option; it can be seen that the above embodiment divides the workflow according to the workspace (for example, isolates) and sets an identifier of the workflow for each workflow; so that the user can narrow the search scope of the workflow by selecting a workspace, and then determine the target workflow to be retrieved based on the identifier of the workflow in the selected workspace, thereby improving the efficiency of retrieving the workflow.
[0013] In a possible implementation, the above-mentioned display of the first interface of the Nifi system includes: obtaining the target user identifier currently logged in to the system; determining the identifier of the workspace bound to the target user identifier from the workspace managed by the system; and displaying the first interface based on the identifier of the workspace.
[0014] The above embodiment isolates the workspace managed by the Nifi-based workflow processing system by binding the user ID to the workspace, so that the space options displayed in the first interface are the space options corresponding to the workspace bound to the user ID of the user currently logged into the above system; thereby avoiding the problem that the above user can operate the workflows in all workspaces managed by the system, thereby improving the security of the workflow.
[0015] In one possible implementation, the above-mentioned determination of the identifier of the workspace bound to the target user identifier from the workspace managed by the NiFi system includes: obtaining a first mapping relationship, which includes a correspondence between the target user identifier and the workspace; and determining the identifier of the workspace corresponding to the above-mentioned target user identifier from the first mapping relationship.
[0016] In a possible implementation, the display of the second interface includes: obtaining a second mapping relationship, the second mapping relationship including an association relationship between a workspace and a workflow; determining a first workflow associated with a first workspace from the second mapping relationship; and displaying the second interface based on the first workflow associated with the first workspace.
[0017] In one possible implementation, the above-mentioned determining the first workflow associated with the first workspace from the second mapping relationship includes: obtaining the target permission type of the user indicated by the target user identifier; based on the target permission type, determining the first workflow associated with the first workspace from the second mapping relationship; the first workflow is a workflow in the workflow corresponding to the first workspace in the second mapping relationship, and the permission type is the same as the above-mentioned target permission type.
[0018] The above embodiment determines the second work associated with the first workspace from the above second mapping relationship, and then determines the first work from the second work and displays the second interface; since the above first workflow is a workflow with the same permission type as the user who logs into the above system; and since the above second interface includes options for the first workflow; it can be seen that the above embodiment isolates the workflows in a workspace based on the user's permission type, avoiding the problem that the above user can operate all workflows in the workspace, and also avoiding the problem that the above user needs to retrieve the target workflow from all workflows in the workspace; therefore, while improving the security of the workflow, the efficiency of retrieving the workflow is also improved.
[0019] In a possible implementation, after the second interface is displayed, the method further includes: receiving a query instruction from the second interface, the query instruction being used to indicate a query for a target workflow, the query instruction including an identifier of the target workflow; obtaining the target workflow according to the identifier of the target workflow; and generating a flowchart of the target workflow based on a canvas generation engine and the target workflow.
[0020] The above embodiment receives a query instruction for instructing to query a target workflow in the first workflow from a second interface including a first workflow option, and obtains the target workflow according to an identifier of the target workflow included in the query instruction; then, a flowchart of the target workflow is generated; compared with the commonly used technology, there is no need to manually retrieve the target workflow from multiple workflows, thereby improving the efficiency of querying the workflow.
[0021] In one possible implementation, the method also includes: receiving a correspondence between a target user identifier and an identifier of a second workspace; the second workspace is a workspace to be bound to a user indicated by the target user identifier; based on the correspondence, updating the first mapping relationship so that the updated first mapping relationship includes the correspondence; wherein the first mapping relationship includes the correspondence between the target user identifier and the workspace.
[0022] In the second aspect, an embodiment of the present application provides a workflow management method, which is applied to a Nifi-based workflow processing system, the system is used for users to edit workflows, the workflow is composed of multiple nodes connected, and the node is used to indicate a processor and / or a controller; the method includes: displaying a first interface of the above-mentioned system, the first interface includes a space option, one space option corresponds to a workspace, different space options correspond to different workspaces, and different workspaces are associated with different workflows; in response to the user selecting a first workspace option from the space options, displaying a second interface; the workspace corresponding to the first workspace option is a first workspace; the second interface includes a first workflow option; wherein a first workflow option corresponds to a first workflow associated with the first workspace.
[0023] An embodiment of the present application provides a workflow management method, which isolates different workflows by establishing a workspace including identifiers of different workflows in the Nifi platform; so when a user needs to find a target workflow, first, the scope of finding the target workflow is narrowed by determining the target workspace to which the target workflow belongs; then, the target workflow is determined based on the identifiers of each workflow in the target workspace; therefore, it is not necessary to determine the target workflow by viewing the content of each workflow in a canvas that displays all workflows, thereby improving the efficiency of retrieving workflows.
[0024] In a third aspect, an embodiment of the present application provides a workflow management device, which is applied to a Nifi-based workflow processing system, the system comprising multiple workspaces, each workspace being associated with a workflow, the workflow management device comprising: a processing unit and a transceiver unit; the processing unit is used to display an editing interface including a blank canvas in response to a user's operation of building a new workflow in a first workspace, and the transceiver unit is used to obtain an identifier of the new workflow; the processing unit is used to bind the identifier of the new workflow to the first workspace to establish an association between the first workspace and the new workflow, and the identifier is used to distinguish different workflows; the first workspace is any one of the multiple workspaces; the processing unit is also used to display an editing interface including a target canvas in response to a user's operation of editing a workflow to be updated in the first workspace, and the target canvas displays a workflow to be updated associated with the first workspace.
[0025] In a possible implementation, the processing unit is used to generate an editing interface including a blank canvas and node options based on the canvas generation engine and the nodes; one node option corresponds to one node, so that the user can select the node by selecting the node option.
[0026] In one possible implementation, the transceiver unit is used to obtain the workflow to be updated according to the identifier of the workflow to be updated; the processing unit is used to generate an editing interface including a target canvas and node options based on the canvas generation engine, nodes and the workflow to be updated, and the workflow to be updated is displayed on the target canvas.
[0027] In a possible implementation, the processing unit is used to display an input interface, the input interface is used to input a target name for the new workflow; the processing unit is used to generate an identifier of the new workflow according to the target name in response to an input operation of the user on the input interface.
[0028] In one possible implementation, the processing unit is used to display a first interface of the system; the first interface includes space options, one space option corresponds to one workspace, and different space options correspond to different workspaces; the processing unit is used to display a second interface in response to a user selecting a first workspace option from the space options; the second interface includes a first workflow option; wherein a first workflow option corresponds to a first workflow.
[0029] In one possible implementation, the transceiver unit is used to obtain the target user identifier currently logged into the system; the processing unit is used to determine the identifier of the workspace to which the target user identifier is bound from the workspaces managed by the system; and the processing unit is used to display the first interface based on the identifier of the workspace.
[0030] In a possible implementation, the transceiver unit is used to obtain a first mapping relationship, which includes a correspondence between a target user identifier and a workspace; and the processing unit is used to determine an identifier of the workspace corresponding to the target user identifier from the first mapping relationship.
[0031] In one possible implementation, the transceiver unit is used to obtain a second mapping relationship, which includes an association relationship between a workspace and a workflow; the processing unit is used to determine a first workflow associated with the first workspace from the second mapping relationship; and the processing unit is used to display a second interface based on the first workflow associated with the first workspace.
[0032] In one possible implementation, the transceiver unit is used to obtain the target permission type of the user indicated by the target user identifier; the processing unit is used to determine the first workflow associated with the first workspace from the second mapping relationship based on the target permission type; the first workflow is a workflow in the workflow corresponding to the first workspace in the second mapping relationship, and the permission type is the same as the target permission type.
[0033] In one possible implementation, the transceiver unit is used to receive a query instruction from the second interface, the query instruction is used to indicate a query for a target workflow, and the query instruction includes an identifier of the target workflow; the transceiver unit is used to obtain the target workflow based on the identifier of the target workflow; the processing unit is used to generate a flowchart of the target workflow based on a canvas generation engine and the target workflow.
[0034] In one possible implementation, the transceiver unit is used to receive the correspondence between the target user identifier and the identifier of the second workspace; the second workspace is a workspace to be bound to the user indicated by the target user identifier; the processing unit is used to update the first mapping relationship based on the correspondence, so that the updated first mapping relationship includes the correspondence; wherein the first mapping relationship includes the correspondence between the target user identifier and the workspace.
[0035] In a fourth aspect, an embodiment of the present application provides a workflow management device, which is applied to a Nifi-based workflow processing system, which is used for users to edit workflows, and the workflow is composed of multiple nodes connected, and the node is used to indicate a processor and / or a controller; the workflow management device includes: a first display unit and a second display unit; the first display unit is used to display a first interface of the system, the first interface includes a space option, one space option corresponds to a workspace, different space options correspond to different workspaces, and different workspaces are associated with different workflows; the second display unit displays a second interface in response to the user selecting a first workspace option from the space options; the workspace corresponding to the first workspace option is the first workspace; the second interface includes a first workflow option; wherein a first workflow option corresponds to a first workflow associated with the first workspace.
[0036] In a fifth aspect, an embodiment of the present application provides a computing device, which includes a memory and a processor, wherein the memory is electrically connected to the processor; the memory is used to store program instructions, and the processor is used to execute the program instructions; when the program instructions are executed by the processor, the method of the first aspect or the second aspect and its possible implementation methods is implemented.
[0037] In a sixth aspect, a computer-readable storage medium is provided, which stores computer instructions. When the computer instructions in the computer-readable storage medium are executed by a computing device, the computing device performs the functions of the apparatus of the first aspect or the second aspect and possible implementation methods thereof.
[0038] In a seventh aspect, a computer program product comprising instructions is provided, which, when executed on a computing device, enables the computing device to execute the functions of the apparatus of the first aspect or the second aspect and possible implementations thereof.
[0039] It should be understood that the beneficial effects achieved by the technical solutions of the third to seventh aspects of the embodiments of the present application and the corresponding possible implementation methods can be referred to the technical effects of the first or second aspect and their corresponding possible implementation methods mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 A schematic diagram of an existing NiFi canvas provided for an embodiment of the present application;
[0041] Figure 2 A schematic diagram of the hardware structure of a computing device provided in an embodiment of the present application;
[0042] Figure 3 A workflow management method provided in this application embodiment Figure 1 ;
[0043] Figure 4 A workflow management method provided in this application embodiment Figure 2 ;
[0044] Figure 5 A schematic diagram of a second interface provided in an embodiment of the present application;
[0045] Figure 6 A schematic diagram of a new interface provided in an embodiment of the present application;
[0046] Figure 7 A workflow management method provided in this application embodiment Figure 3 ;
[0047] Figure 8 A schematic diagram of a test01 workflow interface provided in an embodiment of the present application;
[0048] Fig. 9 A workflow management method provided in this application embodiment Figure 4 ;
[0049] Fig.10 A schematic diagram of an editing interface provided in an embodiment of the present application;
[0050] Fig.11 A schematic diagram of an input interface provided in an embodiment of the present application;
[0051] Fig.12 A workflow management method provided in this application embodiment Figure 5 ;
[0052] Fig.13 A schematic diagram of a first interface provided in an embodiment of the present application;
[0053] Fig.14 A workflow management method provided in this application embodiment Figure 6 ;
[0054] Fig.15 A workflow management method provided in this application embodiment Figure 7 ;
[0055] Fig.16 Another schematic diagram of a first interface provided in an embodiment of the present application;
[0056] Fig.17 A schematic diagram of another second interface provided in an embodiment of the present application;
[0057] Fig.18 A workflow management method provided in this application embodiment Figure 8 ;
[0058] Fig.19 A schematic diagram of another second interface provided in an embodiment of the present application;
[0059] Fig. 20 A workflow management method provided in this application embodiment Figure 9 ;
[0060] Fig.21 A schematic diagram of the structure of a workflow management device 100 provided in an embodiment of the present application;
[0061] Fig. 22 A schematic diagram of the structure of a workflow management device 200 provided in an embodiment of the present application. DETAILED DESCRIPTION
[0062] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0063] The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects rather than to describe a specific order of objects. For example, a first interface and a second interface are used to distinguish different interfaces rather than to describe a specific order of interfaces.
[0064] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0065] In the description of the embodiments of the present application, unless otherwise specified, the meaning of "multiple" refers to two or more than two. For example, multiple nodes refers to two or more than two nodes.
[0066] First, some concepts involved in a workflow management method and a computing device provided in an embodiment of the present application are explained as follows:
[0067] Workflow: It is composed of multiple processing units (such as multiple processor components or multiple controllers). Each processor component will perform relevant functional operations on the data (such as data extraction, data conversion, and data merging), and the various processor components establish logical relationships through connections; that is, data flows through the connections between these processor components.
[0068] As we all know, the NiFi platform is an open source data integration and workflow management tool for automated workflow processing. When users need to create a workflow, they only need to drag different nodes (such as processor components that handle different businesses) on the NiFi canvas and connect the different nodes based on business logic to get the workflow required by the business (such as Figure 1 shown).
[0069] Based on this, an embodiment of the present application provides a workflow management method, which isolates different workflows by establishing a workspace including identifiers of different workflows in the Nifi platform; so when a user needs to find a target workflow, first narrow the scope of finding the target workflow by determining the target workspace to which the target workflow belongs; then, the target workflow is determined based on the identifiers of each workflow in the target workspace; so there is no need to determine the target workflow by viewing each workflow (such as the content of the workflow) from a canvas that displays all workflows, thereby improving the efficiency of retrieving workflows.
[0070] In some embodiments, the workflow management method provided in the embodiment of the present application is applied to a workflow processing system based on Nifi. The method displays an editing interface including a blank canvas in response to a user's operation of constructing a new workflow in a first workspace, obtains the identifier of the new workflow, and binds the identifier of the new workflow to the first workspace to establish an association between the first workspace and the new workflow; and in response to a user's operation of editing a workflow to be updated in the first workspace, displays an editing interface including a target canvas, and the target canvas only displays a workflow to be updated associated with the first workspace. Since the above system includes multiple workspaces, and each workspace is associated with a workflow; it can be seen that the above method associates a workflow with a workspace, so when it is necessary to retrieve a target workflow, the search scope is narrowed by determining a target workspace including the target workflow; then, based on the identifier of the workflow bound to the target workspace, the target workflow can be determined from the target workspace. At the same time, since the editing interface of the target workspace only displays a workflow to be updated associated with the workspace, the efficiency of retrieving the target workflow is improved.
[0071] The workflow management method provided in the embodiments of the present application is applied to the workflow processing scenario of Nifi, such as the scenario of offline data collection based on the workflow created in Nifi in the data center system; wherein, the Nifi can be a service deployed on a computing device, a service deployed on a virtual machine, or a service deployed on a cloud server; specifically, the embodiments of the present application do not limit the device on which the Nifi is deployed.
[0072] For example, Figure 2 It is a hardware structure diagram of a computing device deployed by nifi. Taking the computing device as a server as an example, the server can be a high-density server, a rack server or a whole cabinet server in terms of form; in terms of performance, it can be a general-purpose server, a GPU (graphics processing unit) server, etc. or an artificial intelligence (AI) server.
[0073] The hardware part of the computing device includes a processor and a display ( Figure 2 The software part includes an out-of-band management module, a processor firmware and an OS management unit.
[0074] The out-of-band management module runs in the out-of-band controller, and the OS management unit runs on the processor (such as Figure 2), the processor firmware may be located within the processor (as shown in Figure 2 As shown). The out-of-band management module may be a management unit of a non-business module. For example, the out-of-band management module may remotely maintain and manage the computing device through a dedicated data channel. The out-of-band management module is completely independent of the operating system of the computing device and may communicate with the OS through the out-of-band management interface of the computing device.
[0075] Exemplarily, the out-of-band management module may include a management unit for a computing device operating mode, a management system in a management chip outside a processor, a computing device baseboard management unit (baseboard management controller, BMC), a system management module (system management mode, SMM), etc.
[0076] It should be noted that the embodiments of the present application do not limit the specific form of the out-of-band management module, and the above is only an exemplary description. In the following embodiments, only the out-of-band management module is a BMC as an example for description.
[0077] Among them, the memory, also called internal memory or main memory, is installed in the memory slot on the motherboard of the computing device, and the memory communicates with the memory controller through a memory channel.
[0078] It should be noted that the system architecture and application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of the system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0079] The workflow management method provided in the embodiment of the present application is applicable to a workflow processing system based on Nifi, which includes multiple workspaces, each of which is associated with a workflow. The workflow can be connected by multiple nodes, which are used to indicate application components such as processors and / or controllers (such as processor components for data extraction and processor components for data merging); different application components indicated by different nodes are different, and different application components have different functions; wherein the processor component is a unit module with processing function or control function.
[0080] It should be noted that, for the convenience of describing the embodiments of the present application, the processor component is referred to as a component for short; for example, the processor component for data extraction is referred to as a data extraction component for short, which will not be described in detail later.
[0081] The present application embodiment provides a workflow management method, which is applied as follows Figure 2A processor in a computing device as shown; Figure 3 The method shown includes: S110-S130.
[0082] S110 . In response to a user operation of constructing a new workflow in a first workspace, an editing interface including a blank canvas is displayed.
[0083] It should be noted that the above-mentioned nifi workflow processing system is used to manage at least one workspace; wherein different workspaces are associated with different workflows; wherein, at least one workspace managed by the nifi workflow processing system includes the above-mentioned first workspace, and the first workspace can be any one of the above-mentioned at least one workspace.
[0084] The operation of constructing a new workflow is an operation of creating a new first workflow in the first workspace.
[0085] like Figure 4 The implementation of the above S110 includes: S110A.
[0086] S110A: In response to the user's operation of building a new workflow in the first workspace, an editing interface including a blank canvas and multiple node options is generated based on a canvas generation engine and nodes.
[0087] The above-mentioned canvas generation engine is a functional module for generating a canvas. The canvas generation engine may be an X6 canvas generation engine or a Graphviz canvas generation engine. The embodiments of the present application do not specifically limit the above-mentioned canvas generation engine.
[0088] The above nodes are unit modules for building workflows, that is, a workflow is composed of multiple nodes connected; wherein the multiple nodes are native nodes of Nifi, and any node in the multiple nodes is used to indicate an application component with processing or control functions, such as a processor or a controller.
[0089] One of the above node options corresponds to one of the above multiple nodes, and different node options correspond to different nodes; that is, one of the multiple node options (such as: the option of the data extraction component) is used to characterize the data extraction component; wherein, the data extraction component is a component used to extract data at a specified location.
[0090] It should be understood that different nodes in the embodiments of the present application correspond to different control functions or processing functions, and the above-mentioned node options correspond one-to-one to the nodes, so that the user can select the node with the corresponding function by selecting the node option.
[0091] The implementation method of the above S110A includes: rendering a blank canvas based on a canvas generation engine, and generating node options corresponding to each node based on the above multiple nodes; then, generating the above editing interface based on the blank canvas and the node options of the multiple nodes, and displaying the editing interface; its specific implementation refers to the relevant technology and will not be repeated here.
[0092] Exemplarily, assuming that the identifiers of the first workflow associated with the first workspace include: test01 and test02; then, enter Figure 5 The interface of the first workspace shown in FIG. 1 (eg, the second interface) includes: a new button, an update button, and the options of the workflow indicated by test01 (hereinafter referred to as the test01 workflow option) and the test02 workflow option. When the user clicks the new button, the following is generated: Figure 6 The new creation interface (the above-mentioned editing interface) shown includes: a blank canvas and multiple node options, and the multiple node options include: options for components such as data extraction components, data filtering components, and data storage components.
[0093] The above embodiment responds to the user's operation of building a new workflow in the first workspace, and generates an editing interface including a blank canvas and node options based on the canvas generation engine and nodes; compared with the existing method of building a new workflow on a canvas that displays all workflows, it avoids the problem of mistakenly establishing a connection relationship between the new workflow and other workflows on the canvas during the construction of the new workflow, thereby improving the accuracy of the new workflow.
[0094] S120: Obtain an identifier of the new workflow, and bind the identifier of the new workflow to the first workspace, so as to establish an association between the first workspace and the new workflow.
[0095] The identifier of the new workflow is used to distinguish different workflows; wherein, the identifier of the new workflow can be a unique identifier generated for the new workflow by the processor triggered by the operation of building a new workflow in S110 (referred to as: new creation operation); or it can be an identifier of the new workflow generated by the user based on the name set by the user for the new workflow after the user completes the construction of the new workflow; specifically, the embodiment of the present application does not limit the method of generating the identifier of the new workflow.
[0096] In the case where the identifier of the new workflow is generated based on the name set by the user for the new workflow, the implementation method of obtaining the identifier of the new workflow is as follows S120a-S120b.
[0097] The implementation method of the above S120 includes: obtaining the identifier of the above first workspace; then, determining the first workflow associated with the first workspace from a second mapping relationship including the association relationship between the workspace and the workflow; then, adding the constructed new workflow to the first workflow so that the updated first workflow includes the above new workflow.
[0098] Exemplarily, it is assumed that the second mapping relationship is as shown in Table 1 below, including the identifiers of two workspaces and the identifiers of four workflows; wherein the identifiers of the two workspaces include: workspace A and workspace B. The identifiers of the four workflows include: test01, test02, test03, and test04. wherein workspace A corresponds to (is associated with) test01 and test02, and workspace B corresponds to test03 and test04.
[0099] Then, when the identifier of the above-mentioned first workspace is workspace A, the first workflow corresponding to the above-mentioned workspace A includes: the workflow indicated by test01 (referred to as: test01 workflow) and the test02 workflow. The identifier test05 of the newly constructed new workflow is added to the identifier set of the workflow corresponding to the workspace A, so that the updated first workflow is as shown in Table 2 below. The updated first workflow includes the test01 workflow and the test02 workflow, and also includes: the newly constructed test05 workflow.
[0100] Table 1
[0101] Workspace ID Workflow ID Workspace A test01, test02 Workspace B test03, test04
[0102] Table 2
[0103] Workspace ID Workflow ID Workspace A test01, test02, test05 Workspace B test03, test04
[0104] S130: In response to the user's operation of editing the workflow to be updated in the first workspace, displaying an editing interface including a target canvas.
[0105] The target canvas displays a workflow to be updated that is associated with the first workspace. The workflow to be updated is a new workflow associated with the first workspace.
[0106] like Figure 7 As shown, the implementation of the above S130 includes: S130A-S130B.
[0107] S130A: In response to the user's operation of editing the workflow to be updated in the first workspace, the workflow to be updated is acquired according to the identifier of the workflow to be updated.
[0108] It should be noted that the workflow to be updated is the workflow that needs to be updated and is specified by the editing operation in the first workspace.
[0109] The implementation of the above S130A includes: determining the storage address of the workflow to be updated according to the identifier of the workflow to be updated; and then obtaining the workflow to be updated from the storage address.
[0110] S130B, based on the canvas generation engine, the nodes and the workflow to be updated, generate an editing interface including a target canvas and node options.
[0111] It should be noted that the description of the canvas generation engine and nodes above is consistent with the description of the canvas generation engine and nodes in S110A. For details, please refer to the relevant description in S110A above, which will not be repeated here.
[0112] It should be understood that the implementation of the above S130B is similar to the implementation of the above S110A. For the specific description of S130B, reference may be made to the above related description of S110A, which will not be repeated here.
[0113] Exemplarily, based on the example in S110A above, the second interface is as follows: Figure 5 As shown; after the user selects the test01 workflow option and clicks the Update button; the following is displayed Figure 8 The test01 workflow interface shown in the figure includes: a canvas containing the test01 workflow, a save button, and Figure 6 Node options shown.
[0114] The workflow management method provided in the embodiment of the present application is applied to a workflow processing system based on Nifi. The method displays an editing interface including a blank canvas in response to a user's operation of constructing a new workflow in a first workspace, obtains the identifier of the new workflow, and binds the identifier of the new workflow to the first workspace to establish an association between the first workspace and the new workflow; and in response to a user's operation of editing a workflow to be updated in the first workspace, displays an editing interface including a target canvas, and the target canvas displays a workflow to be updated associated with the first workspace. Since the above system includes multiple workspaces, and each workspace is associated with a workflow; it can be seen that the above method associates a workflow with a workspace, so when it is necessary to retrieve a target workflow, the search scope is narrowed by determining a target workspace including the target workflow; then, based on the identifier of the workflow bound to the target workspace, the target workflow can be determined from the target workspace, thereby improving the efficiency of retrieving the target workflow.
[0115] Based on Figure 3 , Figure 4or Figure 7 In the case where the identifier of the new workflow is generated based on the name set by the user for the new workflow, the specific implementation of obtaining the identifier of the new workflow in S120 is as follows: Fig. 9 As shown, the method includes: S120a-S120b.
[0116] S120a, displaying an input interface.
[0117] The input interface is an interface displayed in response to a user's storage operation for a new workflow; the input interface is used to input a target name for the constructed new workflow.
[0118] The storage operation is an operation for storing the newly constructed new workflow.
[0119] For example, suppose the editing interface of the new workflow is constructed as follows: Fig.10 The following is shown: a save button, multiple node options, and a canvas including the new workflow. When the user clicks the save button (for example, to trigger a save operation), the following is shown: Fig.11 The input interface shown includes an input box for inputting a workflow name and a submit button.
[0120] S120b: In response to the user's input operation on the input interface, generate an identifier of a new workflow according to the target name.
[0121] The target name is the name input by the user for the new workflow in the input interface.
[0122] The implementation method of the above S120b can be to directly use the target name input by the user as the identifier of the new workflow; or to combine the identifier of the above first workspace with the above target name to obtain the identifier of the above new workflow; or to encrypt the above target name and use the encrypted target name as the identifier of the new workflow; specifically, the embodiment of the present application does not limit the implementation method of the above-mentioned generation of the identifier of the new workflow.
[0123] based on Figure 3 ,like Fig.12 As shown, an embodiment of the present application provides another workflow management method, which further includes: S210-S220 before the above S110 or S130.
[0124] S210: Display the first interface of the NiFi-based workflow processing system.
[0125] The first interface includes at least one space option; wherein one space option corresponds to one workspace, and different space options correspond to different workspaces; that is, the first interface includes at least one workspace option.
[0126] It should be noted that the workspace corresponding to the space option in the above-mentioned first interface can be all the workspaces managed by the system; it can also be the workspace viewable by the current user in the workspace managed by the system, where the current user is the user currently logged in to the above-mentioned system; the specific embodiment of the present application does not specifically limit the method for determining the workspace corresponding to the above-mentioned space option.
[0127] In the case where the workspaces in the first interface are all the workspaces managed by the system, the implementation method of S210 includes: acquiring identifiers of all the workspaces managed by the system, and generating the first interface based on the identifiers of all the workspaces.
[0128] Exemplarily, assuming that the workspaces managed by the above system include: the first workspace to the fourth workspace; then, the implementation method of the above S210 is to obtain the identifier of the first workspace to the identifier of the fourth workspace, and generate the following based on the identifier of the first workspace to the identifier of the fourth workspace: Fig.13 The first interface shown includes options from the first workspace to the fourth workspace.
[0129] In the case where the workspace in the first interface is a workspace that is viewable by the current user among the workspaces managed by the system, the implementation of S120 is described in S310-S330 below and will not be repeated here.
[0130] Optionally, the first interface further includes: a workflow option corresponding to a workflow associated with a default workspace in the at least one workspace; wherein a workflow option in the first interface corresponds to a workflow associated with the default workspace.
[0131] It should be noted that the above-mentioned default workspace can be the workspace with the highest frequency of entry, or can be the workspace entered last time. The specific embodiment of the present application does not limit the method for determining the default workspace.
[0132] S220: In response to the user selecting a first workspace option from the space options included in the first interface, display a second interface.
[0133] The workspace corresponding to the first workspace option is the first workspace; the first workspace is associated with the first workflow.
[0134] The second interface includes a first workflow option; wherein, one first workflow option corresponds to one first workflow, and different first workflow options correspond to different first workflows; that is, the second interface includes an option for the first workflow associated with the first workspace (referred to as: first workflow option).
[0135] It should be understood that the user can operate (eg, view) the first workflow corresponding to the first workflow option through the first workflow option.
[0136] It should be noted that the first workflow corresponding to the first workflow option in the second interface may be all workflows associated with the first workspace, or may be a workflow that the current user can operate among all workflows associated with the first workspace. Specifically, the embodiment of the present application does not limit the method for determining the first workflow corresponding to the first workflow option displayed on the second interface.
[0137] In one implementation, when the first workflow corresponding to the first workflow option in the second interface is all workflows associated with the first workspace, Fig.14 The implementation of the above S220 includes: S220A-S220C.
[0138] S220A: In response to the user selecting a first workspace option from space options included in the first interface, acquiring a second mapping relationship.
[0139] The second mapping relationship includes an association relationship between a workspace and a workflow.
[0140] The implementation method of the above S220A may be to obtain the second mapping relationship from a memory, or to obtain the second mapping relationship from a storage device (such as a hard disk). The implementation method of the above S220A is specifically limited in the embodiment of the present application.
[0141] S220B: Determine a first workflow associated with the first workspace from the second mapping relationship.
[0142] The implementation of S220B includes: determining the workflow corresponding to the identifier of the first workspace from the second mapping relationship.
[0143] Exemplarily, based on the example in S130 above, the second mapping relationship is as shown in Table 1 above. When the identifier of the first workspace is workspace A, the first workflow includes: test01 workflow and test02 workflow.
[0144] S220C: Display a second interface based on the first workflow associated with the first workspace.
[0145] The implementation of S220C includes: generating a second interface including first workflow options based on the first workflow associated with the first workspace, and displaying the second interface.
[0146] Exemplarily, based on the example in S220B above, the second interface generated based on the first workflow is as follows: Figure 5 Shown are: a new button, an update button, and test01 workflow options and test02 workflow options.
[0147] In another implementation, when the first workflow corresponding to the first workflow option in the above-mentioned second interface is a workflow that is operable by the current user among all workflows associated with the above-mentioned first workspace, the above-mentioned S220 is implemented as follows: obtain the target permission type of the user indicated by the target user identifier currently logging into the above-mentioned system; then, according to the target permission type, determine the first workflow associated with the first workspace from the second mapping relationship; the first workflow is a workflow whose permission type is the same as the target permission type among the workflows corresponding to the first workspace in the second mapping relationship; for the specific implementation, refer to the following S350-S370, which will not be repeated here.
[0148] The above embodiment displays a first interface including space options; wherein one space option corresponds to one workspace; in response to the user selecting the first workspace option from the space options included in the first interface, a second interface is displayed; since the second interface includes options for the first workflow associated with the first workspace corresponding to the above selected first workspace option; it can be seen that the above embodiment divides (isolates) the workflow according to the workspace, and sets the workflow identifier for each workflow; so that the user can narrow the search scope of the search workflow by selecting a workspace, and then determine the target workflow to be retrieved according to the identifier of the workflow in the selected workspace, thereby improving the efficiency of retrieving the workflow.
[0149] based on Fig.14 ,like Fig.15 As shown, an embodiment of the present application provides another workflow management method, which, before the above S110 and / or S130, also includes: S310-S370.
[0150] S310, obtaining the target user ID currently logging into the NiFi-based workflow processing system.
[0151] The target user ID is the ID of the user currently logged into the system.
[0152] The above S310 can be an action triggered by the user's login operation, or it can be an action triggered by the user's selection of the first interface (such as: switching from another interface to the above first interface). The specific embodiment of the present application does not limit the triggering operation of the above S310.
[0153] It should be understood that after the user logs in to the above system, the system will cache the target user identifier of the user in the token, so the implementation method of the above S310 is to obtain the above target user identifier from the token.
[0154] S320: Determine the identifier of the workspace to which the target user identifier is bound from the workspace managed by the Nifi-based workflow processing system.
[0155] It should be noted that the workspaces bound to different user IDs can be the same or different; among them, the workspace bound to a user ID is the workspace that can be operated by the user indicated by the user ID; that is, after a user logs into the above system, he can only see the workspace bound to the user ID of the user.
[0156] The implementation of S320 includes: acquiring a first mapping relationship between a target user identifier and a workspace, and determining an identifier of the workspace corresponding to the target user identifier from the first mapping relationship.
[0157] Exemplarily, assume that the above-mentioned first mapping relationship includes: 2 user identifiers and 3 workspace identifiers as shown in Table 3 below; the 2 user identifiers include: user 01 and user 02; the 3 workspace identifiers include: workspace A, workspace B and workspace C; among them, user 01 corresponds to workspace A and workspace B respectively, and user 02 corresponds to workspace B and workspace C respectively.
[0158] Then, when the target user identifier is user 01, the identifiers of the workspaces bound to the target user identifier are workspace A and workspace B; when the target user identifier is user 02, the identifiers of the workspaces bound to the target user identifier are workspace B and workspace C.
[0159] Table 3
[0160] User ID Workspace ID User01 Workspace A, Workspace B User02 Workspace B, Workspace C
[0161] S330: Display a first interface based on the identifier of the workspace bound to the target user identifier.
[0162] It should be noted that the implementation method of the above S330 is similar to the implementation method of S210. For the specific description of S330, please refer to the above related description of S210, which will not be repeated here.
[0163] Exemplarily, based on the example in S320, assuming that the target user identifier is user 01; then, the identifiers of the workspaces bound to the target user identifier are workspace A and workspace B; based on the identifiers of the workspaces (workspace A and workspace B), the following is generated: Fig.16 The first interface shown includes: options for workspace A and options for workspace B.
[0164] The above embodiment isolates the workspace managed by the Nifi-based workflow processing system by binding the user ID to the workspace, so that the space options displayed in the first interface are the space options corresponding to the workspace bound to the user ID of the user currently logged into the above system; thereby avoiding the problem that the above user can operate the workflows in all workspaces managed by the system, thereby improving the security of the workflow.
[0165] S340: In response to the user selecting a first workspace option from the space options included in the first interface, a second mapping relationship including an association relationship between the workspace and the workflow is acquired.
[0166] S350: Determine a second workflow associated with the first workspace from the second mapping relationship.
[0167] The second workflow is all workflows associated with the first workspace.
[0168] It should be noted that the implementation method of the above S340-S350 is similar to the implementation method of S220A-S220B. For the specific description of S340-S350, please refer to the above description of S220A-S220B, which will not be repeated here.
[0169] Exemplarily, based on the example in S330 above, assume that the identifier of the first workspace is workspace A; and assume that the second mapping relationship is as shown in Table 1 above; then, the second workflow associated with the first workspace includes: test01 workflow and test02 workflow.
[0170] S360: Determine the first workflow from the second workflow based on the target permission type of the user who logs into the workflow processing system of nifi.
[0171] The first workflow is a workflow with the same permission type as the target permission type of the user indicated by the target user identifier currently logging into the system in the second workflow.
[0172] It should be noted that the permission type of the above-mentioned workflow is that in the process of constructing the workflow, the permission type of the user who constructs the workflow is added to the attribute information of the workflow, so that the permission type of the workflow is the same as the permission type of the user; that is, the above-mentioned S120 also includes: associating the permission type of the user who constructs the new workflow with the new workflow, so that the permission type of the new workflow is the permission type of the user.
[0173] It should be understood that the permission type of the above-mentioned user is set for the user when the administrator creates the user account. The permission type of the user can be obtained directly from the above-mentioned token, or it can be determined from the correspondence between the user identifier and the permission type based on the above-mentioned target user identifier. The specific embodiment of the present application does not limit the implementation method of obtaining the user's permission type.
[0174] The implementation of S360 includes: acquiring the permission type of each workflow in the second workflow, and determining the workflow in the second workflow having the same permission type as the target permission type as the first workflow.
[0175] Exemplarily, based on the example in S350, the second workflow includes: test01 workflow and test02 workflow; assuming that the permission type of the test01 workflow is development type, and the permission type of the test02 workflow is operation and maintenance type; then, when the permission type of the user is development type, the first workflow includes: test01 workflow. When the permission type of the user is operation and maintenance type, the first workflow includes: test02 workflow.
[0176] S370: Based on the first workflow, display a second interface.
[0177] It should be noted that the implementation method of the above S370 is similar to the implementation method of S220C. For the specific description of S370, please refer to the above related description of S220C, which will not be repeated here.
[0178] Exemplarily, based on the example in S360 above, it is assumed that the permission type of the above user is development type; then, the above first workflow includes: test01 workflow; and it is further assumed that the identifier of the test01 workflow is test01.
[0179] Then, the second interface generated based on the first workflow is as follows: Fig.17Shown are: a new button, an update button, and test01 workflow options (abbreviated as: test01 workflow options).
[0180] The above embodiment determines the second work associated with the first workspace from the above second mapping relationship, and then determines the first work from the second work and displays the second interface; since the above first workflow is a workflow with the same permission type as the user who logs into the above system; and since the above second interface includes options for the first workflow; it can be seen that the above embodiment isolates the workflows in a workspace based on the user's permission type, avoiding the problem that the above user can operate all workflows in the workspace, and also avoiding the problem that the above user needs to retrieve the target workflow from all workflows in the workspace; therefore, while improving the security of the workflow, the efficiency of retrieving the workflow is also improved.
[0181] based on Fig.14 or Fig.15 , the present application embodiment also provides a workflow management method, such as Fig.18 As shown, the method further includes: S410-S430 before the above S220 or S370.
[0182] S410: Receive a query instruction from the second interface.
[0183] The query instruction is used to instruct to query the target workflow in the first workflow; wherein the query instruction includes the identifier of the target workflow.
[0184] It should be noted that the above-mentioned query instruction is triggered based on a query operation, and the query operation can be an operation in which the user enters the identifier (such as name) of the target workflow to be queried in the second interface, or it can be an operation in which the target workflow option to be queried is selected from at least one workflow option displayed in the second interface. The specific embodiment of the present application does not specifically limit the above-mentioned query operation.
[0185] For example, if the second interface is Fig.19 Shown in Figure 5 The basis also includes: a query button and a query input box, the query input box is used to input the identifier of the target workflow to be queried; then, the above-mentioned query operation is to input the identifier of the target workflow in the query input box and click the query button, thereby triggering the client carrying the second interface to send the above-mentioned query instruction including the identifier of the target workflow to the above-mentioned processor.
[0186] S420: Acquire the target workflow according to the identifier of the target workflow.
[0187] It should be noted that the implementation method of the above S420 is similar to the implementation method of S130A. For the specific description of S420, please refer to the above related description of S130A, which will not be repeated here.
[0188] S430: Generate a flowchart of the target workflow based on the canvas generation engine and the target workflow.
[0189] The implementation of S430 includes: generating a blank canvas based on a canvas generation engine, and displaying the target workflow on the blank canvas to obtain a flowchart of the target workflow; the specific implementation thereof refers to the relevant technology and will not be described in detail here.
[0190] Exemplarily, based on the example in S410 above, the flowchart of the target workflow is Fig.10 The flowchart of the target workflow includes: a data extraction component, a data filtering component and a data storage component; wherein, after the data extraction component extracts data, the data filtering component is called to filter the extracted data; and then, the filtered data is stored in a preset location through the data storage component.
[0191] The above embodiment receives a query instruction for instructing to query a target workflow in the first workflow from a second interface including a first workflow option, and obtains the target workflow according to an identifier of the target workflow included in the query instruction; then, a flowchart of the target workflow is generated; compared with the commonly used technology, there is no need to manually retrieve the target workflow from multiple workflows, thereby improving the efficiency of querying the workflow.
[0192] based on Figure 3 , Fig.12 , Fig.14 or Fig.15 ,like Fig. 20 As shown, a workflow management method provided in an embodiment of the present application also includes: S510-S520.
[0193] S510: Receive a correspondence between a target user identifier and an identifier of a second workspace.
[0194] The second workspace is a workspace to be bound to the user indicated by the target user identifier, and the corresponding relationship is used to indicate that the second workspace is bound to the target user identifier.
[0195] The above correspondence relationship may be specified by the user in the display interface, or may be preset by the user in the configuration file. The specific embodiment of the present application does not limit the implementation method of the above S510.
[0196] For example, assuming that the target user identifier is user 01 and the identifier of the second workspace is workspace C; then the above correspondence is the correspondence between user 01 and workspace C.
[0197] S520: Update the first mapping relationship based on the corresponding relationship, so that the updated first mapping relationship includes the corresponding relationship between the target user identifier and the identifier of the second workspace.
[0198] The implementation method of the above S520 includes: adding the correspondence between the above user identifier and the identifier of the second workspace to the above first mapping relationship, so that the added first mapping relationship includes the above correspondence.
[0199] Exemplarily, based on the example in S510 above, assume that the above-mentioned first mapping relationship is as shown in Table 3 above; then based on the correspondence between user 01 and workspace C, the first mapping relationship is updated; the updated first mapping relationship is shown in Table 4 below; the identifier of the workspace corresponding to user 01 in the first mapping relationship includes workspace A and workspace B, and also includes workspace C.
[0200] Table 4
[0201] User ID Workspace ID User01 Workspace A, Workspace B, Workspace C User02 Workspace B, Workspace C
[0202] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to realize the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0203] The embodiment of the present application can divide the functional modules of the workflow management device according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.
[0204] In the case of dividing each functional unit into corresponding functional units, Fig.21A possible structural diagram of the workflow management device 100 involved in the above embodiment is shown. The workflow management device 100 includes: a processing unit 2010 and a transceiver unit 2020.
[0205] The processing unit 2010 is used to display an editing interface including a blank canvas in response to the user's operation of constructing a new workflow in the first workspace; for example, to execute step S110 in the above method embodiment.
[0206] The transceiver unit 2020 is used to respond to obtaining the identifier of the new workflow; for example, to execute step S120 in the above method embodiment.
[0207] The processing unit 2010 is used to bind the identifier of the new workflow to the first workspace, so as to establish an association between the first workspace and the new workflow; for example, executing step S120 in the above method embodiment.
[0208] The processing unit 2010 is further configured to display an editing interface including a target canvas in response to a user's operation of editing the workflow to be updated in the first workspace; for example, to execute step S130 in the above method embodiment.
[0209] Optionally, the processing unit 2010 is used to generate an editing interface including a blank canvas and multiple node options based on the canvas generation engine and nodes in response to the user's operation of building a new workflow in the first workspace; for example, executing step S110A in the above method embodiment.
[0210] Optionally, the transceiver unit 2020 is configured to obtain the workflow to be updated according to the identifier of the workflow to be updated in response to the user's operation of editing the workflow to be updated in the first workspace; for example, execute step S130A in the above method embodiment.
[0211] The processing unit 2010 is used to generate an editing interface including a target canvas and node options based on the canvas generation engine, nodes, and the workflow to be updated; for example, executing step S130B in the above method embodiment.
[0212] Optionally, the processing unit 2010 is used to display an input interface; for example, to execute step S120a in the above method embodiment.
[0213] The processing unit 2010 is further configured to generate an identifier of a new workflow according to the target name in response to an input operation of the user on the input interface; for example, to execute step S120b in the above method embodiment.
[0214] Optionally, the processing unit 2010 is used to display a first interface of a NiFi-based workflow processing system; for example, executing step S210 in the above method embodiment.
[0215] Optionally, the processing unit 2010 is configured to display the second interface in response to the user selecting the first workspace option from the space options included in the first interface; for example, executing step S220 in the above method embodiment.
[0216] Optionally, the transceiver unit 2020 is used to obtain the target user identifier currently logging into the Nifi-based workflow processing system; for example, executing step S310 in the above method embodiment.
[0217] The processing unit 2010 is used to determine the identifier of the workspace bound to the target user identifier from the workspace managed by the Nifi-based workflow processing system; for example, execute step S320 in the above method embodiment.
[0218] The processing unit 2010 is used to display the first interface based on the identifier of the workspace bound to the target user identifier; for example, execute step S330 in the above method embodiment.
[0219] Optionally, the transceiver unit 2020 is used to obtain a first mapping relationship.
[0220] The processing unit 2010 is configured to determine, from the first mapping relationship, an identifier of at least one workspace corresponding to the target user identifier.
[0221] Optionally, the transceiver unit 2020 is used to obtain a second mapping relationship; for example, executing step S220A in the above method embodiment.
[0222] The processing unit 2010 is used to determine the first workflow associated with the first workspace from the second mapping relationship; for example, execute step S220B in the above method embodiment.
[0223] The processing unit 2010 is used to display the second interface based on the first workflow associated with the first workspace; for example, executing step S220C in the above method embodiment.
[0224] Optionally, the transceiver unit 2020 is used to obtain a target permission type of the user indicated by the target user identifier.
[0225] The processing unit 2010 is used to determine the second workflow associated with the first workspace from the second mapping relationship; for example, executing step S350 in the above method embodiment.
[0226] The processing unit 210 is used to determine the first workflow from the second workflow based on the target permission type of the user who logs into the workflow processing system of nifi; for example, execute step S360 in the above method embodiment.
[0227] Optionally, the transceiver unit 2020 is used to receive a query instruction from the second interface; for example, executing step S410 in the above method embodiment.
[0228] The transceiver unit 2020 is further configured to obtain the target workflow according to the identifier of the target workflow; for example, to execute step S420 in the above method embodiment.
[0229] The processing unit 2010 is used to generate a flowchart of the target workflow based on the canvas generation engine and the target workflow; for example, execute step S430 in the above method embodiment.
[0230] Optionally, the transceiver unit 2020 is used to receive a correspondence between a target user identifier and an identifier of the second workspace; for example, executing step S510 in the above method embodiment.
[0231] The processing unit 2010 is configured to update the first mapping relationship based on the corresponding relationship, so that the updated first mapping relationship includes the corresponding relationship between the target user identifier and the identifier of the second workspace; for example, executing step S520 in the above method embodiment.
[0232] Each unit of the workflow management device 100 may also be used to execute other actions in the method embodiment. All relevant contents of each step involved in the method embodiment may be referred to the functional description of the corresponding functional module and will not be repeated here.
[0233] In the case of dividing each functional unit into corresponding functional units, Fig. 22 A possible structural diagram of the workflow management device 200 involved in the above embodiment is shown. The workflow management device 200 includes: a first display unit 2110 and a second display unit 2120 .
[0234] The first display unit 2110 is used to display a first interface of the nifi-based workflow processing system; for example, to execute step S210 in the above method embodiment.
[0235] The second display unit 2120 is used to display the second interface in response to the user selecting the first workspace option from the space options included in the first interface; for example, executing step S220 in the above method embodiment.
[0236] Each unit of the workflow management device 200 may also be used to execute other actions in the method embodiment. All relevant contents of each step involved in the method embodiment may be referred to the functional description of the corresponding functional module and will not be repeated here.
[0237] An embodiment of the present application provides a computing device, which includes a memory and a processor, the processor includes multiple logical CPUs, and the memory is electrically connected to the processor; the memory is used to store program instructions, and the processor is used to execute the program instructions; when the program instructions are executed by the processor, any one of the methods executed by the above-mentioned workflow management device 100 or workflow management device 200 is implemented.
[0238] An embodiment of the present application also provides a computer-readable storage medium on which computer instructions are stored. When the computer instructions are executed on a computing device, the computing device executes any one of the methods executed by the above-mentioned processor.
[0239] For the explanation of the relevant contents and description of the beneficial effects of any of the above-mentioned computer-readable storage media, reference may be made to the above-mentioned corresponding embodiments, which will not be repeated here.
[0240] An embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute any one of the methods executed by the processor described above.
[0241] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instruction is loaded and executed on a computer, the process or function in accordance with the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instruction can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instruction can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) mode or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, data center, etc. that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a magnetic disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state drive (SSD)).
[0242] Through the description of the above implementation methods, technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0243] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or controls can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0244] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0245] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0246] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art, or all or part of the technical solution. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: flash memory, mobile hard disk, read-only memory, random access memory, disk or optical disk, and other media that can store program codes.
[0247] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A workflow management method, characterized in that: The method is applied to a workflow processing system based on Nifi, the system comprising a plurality of workspaces, each of which is associated with a workflow, and the method comprises: In response to a user's operation of constructing a new workflow in a first workspace, an editing interface including a blank canvas is displayed, an identifier of the new workflow is obtained, and the identifier of the new workflow is bound to the first workspace so as to establish an association between the first workspace and the new workflow, wherein the identifier is used to distinguish different workflows; the first workspace is any one of the multiple workspaces; In response to a user's operation of editing a workflow to be updated in a first workspace, an editing interface including a target canvas is displayed, wherein the target canvas displays a workflow to be updated associated with the first workspace, and the workflow to be updated is the new workflow associated with the first workspace.
2. The method according to claim 1, characterized in that The workflow includes a plurality of nodes, the nodes are connected to each other, the nodes are used to indicate a processor and / or a controller, and the display includes an editing interface of a blank canvas, including: Based on the canvas generation engine and the node, an editing interface including a blank canvas and node options is generated; one node option corresponds to one node, so that the user can select the node by selecting the node option.
3. The method according to claim 2, characterized in that The display includes an editing interface of the target canvas, including: Acquire the workflow to be updated according to the identifier of the workflow to be updated; Based on the canvas generation engine, the node and the workflow to be updated, an editing interface including the target canvas and the node options is generated, and the workflow to be updated is displayed on the target canvas.
4. The method according to any one of claims 1 to 3, characterized in that: The obtaining the identifier of the new workflow includes: Displaying an input interface, wherein the input interface is used to input a target name for the new workflow; In response to an input operation of the user on the input interface, an identifier of the new workflow is generated according to the target name.
5. The method according to any one of claims 1 to 4, characterized in that: Before displaying the editing interface, the method includes: Displaying a first interface of the system; the first interface includes space options, one space option corresponds to one workspace, and different space options correspond to different workspaces; In response to the user selecting a first workspace option from the space options, a second interface is displayed; the second interface includes a first workflow option; wherein one first workflow option corresponds to one first workflow.
6. The method according to claim 5, characterized in that The displaying of the first interface of the system includes: Obtain the target user ID currently logged into the system; Determining, from the workspaces managed by the system, an identifier of the workspace to which the target user identifier is bound; Based on the identifier of the workspace, the first interface is displayed.
7. The method according to claim 6, characterized in that Determining the identifier of the workspace to which the target user identifier is bound from the workspace managed by the system includes: Acquire a first mapping relationship, wherein the first mapping relationship includes a correspondence between a target user identifier and a workspace; An identifier of the workspace corresponding to the target user identifier is determined from the first mapping relationship.
8. The method according to any one of claims 5 to 7, characterized in that: The displaying of the second interface includes: Acquire a second mapping relationship, where the second mapping relationship includes an association relationship between a workspace and a workflow; Determine the first workflow associated with the first workspace from the second mapping relationship; The second interface is displayed based on the first workflow associated with the first workspace.
9. The method according to claim 8, characterized in that The determining, from the second mapping relationship, the first workflow associated with the first workspace includes: Obtaining the target permission type of the user indicated by the target user identifier; According to the target permission type, the first workflow associated with the first workspace is determined from the second mapping relationship; the first workflow is a workflow corresponding to the first workspace in the second mapping relationship, and the permission type is the same as the target permission type.
10. The method according to any one of claims 5 to 9, characterized in that: After displaying the second interface, the method further includes: Receiving a query instruction from the second interface, the query instruction is used to instruct to query a target workflow, and the query instruction includes an identifier of the target workflow; Acquire the target workflow according to the identifier of the target workflow; Based on the canvas generation engine and the target workflow, a flowchart of the target workflow is generated.
11. The method according to any one of claims 7 to 10, characterized in that: The method further comprises: receiving a correspondence between the target user identifier and an identifier of a second workspace; the second workspace is a workspace to be bound to a user indicated by the target user identifier; Based on the corresponding relationship, the first mapping relationship is updated so that the updated first mapping relationship includes the corresponding relationship; wherein the first mapping relationship includes the corresponding relationship between the target user identifier and the workspace.
12. A workflow management method, characterized in that: Applied to a workflow processing system based on Nifi, the system is used for users to edit workflows, the workflows are connected by multiple nodes, and the nodes are used to indicate processors and / or controllers; the method includes: Displaying a first interface of the system, wherein the first interface includes space options, each space option corresponds to a workspace, different space options correspond to different workspaces, and different workspaces are associated with different workflows; In response to the user selecting a first workspace option from the space options, a second interface is displayed; the workspace corresponding to the first workspace option is a first workspace; the second interface includes a first workflow option; wherein one of the first workflow options corresponds to a first workflow associated with the first workspace.
13. A computing device, characterized in that: The computing device comprises a memory and a processor; the memory and the processor are electrically connected; the memory is used to store program instructions, and the processor is used to execute the program instructions, so that the computing device implements the method according to any one of claims 1-12.