CN110717739B - Workflow publishing method, device, equipment and computer readable storage medium - Google Patents
Workflow publishing method, device, equipment and computer readable storage medium Download PDFInfo
- Publication number
- CN110717739B CN110717739B CN201910981258.7A CN201910981258A CN110717739B CN 110717739 B CN110717739 B CN 110717739B CN 201910981258 A CN201910981258 A CN 201910981258A CN 110717739 B CN110717739 B CN 110717739B
- Authority
- CN
- China
- Prior art keywords
- workflow
- target
- version
- project
- scheduling system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000000875 corresponding effect Effects 0.000 claims description 104
- 238000009826 distribution Methods 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000002596 correlated effect Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention discloses a workflow release method, which comprises the following steps: when a creation instruction is detected, creating a target project corresponding to the creation instruction, and determining a target scheduling system corresponding to the target project; converting the target engineering into a target workflow corresponding to the target scheduling system, releasing the target workflow to the target scheduling system, and storing the target workflow in a workflow multi-version system; and if the rollback instruction based on the target workflow is detected, determining a history version corresponding to the rollback instruction, and issuing the workflow of the history version to the target scheduling system to replace the target workflow. The invention also discloses a workflow issuing device, equipment and a computer readable storage medium. According to the invention, the published workflow is returned to the workflow of the old version through version returning, so that the fault tolerance of workflow publication is improved.
Description
Technical Field
The present invention relates to the field of big data technology of financial technology (Fintech), and in particular, to a workflow publishing method, apparatus, device, and computer readable storage medium.
Background
In recent years, with the development of financial technology (Fintech), particularly internet finance, workflow scheduling technology in a large data area is introduced into daily services of financial institutions such as banks. The introduction of workflow scheduling technology makes the business of financial institutions such as banks more prone to automation. The workflow breaks up the daily work of financial institutions such as banks into well-defined tasks or roles, executes the tasks according to certain rules and processes and monitors the tasks, thereby achieving the purposes of improving the working efficiency, better controlling the processes, enhancing the service to clients, effectively managing the business flow and the like.
However, the existing workflow scheduling system, such as Azkaban, airflow, only concerns about the workflow scheduling process, does not manage version information, and can solve the problem of the current workflow, and the old version of the workflow needs to be redeployed by means of additional backup. Also, in the multi-person collaborative development mode, i.e., the current workflow is developed by multi-person collaboration, if a user erroneously deletes a part of content, it is almost an unrecoverable disaster without backup.
Obviously, the existing workflow scheduling system has lower fault tolerance.
Disclosure of Invention
The invention mainly aims to provide a workflow release method, a workflow release device, workflow release equipment and a computer readable storage medium, and aims to improve the fault tolerance of workflow equipment.
In order to achieve the above object, the present invention provides a workflow distribution method, including the steps of:
when a creation instruction is detected, creating a target project corresponding to the creation instruction, and determining a target scheduling system corresponding to the target project;
converting the target engineering into a target workflow corresponding to the target scheduling system, releasing the target workflow to the target scheduling system, and storing the target workflow in a workflow multi-version system;
and if the rollback instruction based on the target workflow is detected, determining a history version corresponding to the rollback instruction, and issuing the workflow of the history version to the target scheduling system to replace the target workflow.
Preferably, the step of converting the target project into a target workflow corresponding to the target scheduling system and publishing the target workflow to the target scheduling system includes:
Determining an operation format of the target scheduling system, and converting the target project into a target workflow corresponding to the target scheduling system based on the operation format;
detecting whether an operation workflow corresponding to the target workflow exists in the target scheduling system or not based on the workflow ID of the target workflow;
if so, the target workflow is issued to the target scheduling system to replace the operation workflow, and the version of the operation workflow is added into the workflow multi-version system to be the historical version of the target workflow.
Preferably, the step of determining the operation format of the target scheduling system, and converting the target project into a target workflow corresponding to the target scheduling system based on the operation format includes:
determining the dependency relationship of each father-son workflow in the target engineering, and determining the operation format of the target scheduling system;
downloading a resource file corresponding to the target project based on the operation format;
and obtaining a target workflow corresponding to the target scheduling system based on the dependency relationship and the resource file.
Preferably, the step of determining the operation format of the target scheduling system, and converting the target project into a target workflow corresponding to the target scheduling system based on the operation format includes:
Determining an operation format of the target scheduling system, and analyzing the target engineering into an analysis workflow corresponding to the target scheduling system based on the operation format;
and carrying out parameter optimization on the workflow nodes of the analysis workflow to obtain a target workflow.
Preferably, the step of performing parameter optimization on the workflow node of the analytical workflow to obtain a target workflow includes:
checking whether the workflow node of the analysis workflow has missing information or not;
if yes, information complementation is carried out on the workflow nodes so as to obtain a target workflow.
Preferably, the step of publishing the historical version of the workflow to the target scheduling system to replace the target workflow comprises:
determining a version type of the history version, wherein the version type comprises an engineering version, a workflow version and a workflow node version;
if the historical version is the engineering version, the workflow of the engineering version is issued to the target scheduling system to replace the target workflow;
if the history version is a workflow version, determining a replacement workflow corresponding to the workflow version in the target workflow, and publishing the workflow of the workflow version to the target scheduling system to replace the replacement workflow;
And if the history version is a workflow node version, determining a replacement workflow node corresponding to the workflow node version in the target workflow, and releasing the workflow node of the workflow node version to the target scheduling system to replace the replacement workflow.
Preferably, the workflow distribution method further includes:
after the target project is created, determining whether a historical project version of the project ID exists in the workflow multi-version system according to the project ID of the target project;
and if the project exists, taking the target project as the latest version of the project ID, and storing the target project and the project of the historical project version in a correlated manner.
In addition, to achieve the above object, the present invention also provides a workflow distribution device including:
the system comprises a creation module, a target scheduling system and a control module, wherein the creation module is used for creating a target project corresponding to a creation instruction when the creation instruction is detected, and determining the target scheduling system corresponding to the target project;
the issuing module is used for converting the target engineering into a target workflow corresponding to the target scheduling system, issuing the target workflow to the target scheduling system and storing the target workflow in a workflow multi-version system;
And the rollback module is used for determining a history version corresponding to the rollback instruction if the rollback instruction based on the target workflow is detected, and issuing the workflow of the history version to the target scheduling system to replace the target workflow.
Preferably, the publishing module is further configured to:
determining an operation format of the target scheduling system, and converting the target project into a target workflow corresponding to the target scheduling system based on the operation format;
detecting whether an operation workflow corresponding to the target workflow exists in the target scheduling system or not based on the workflow ID of the target workflow;
if so, the target workflow is issued to the target scheduling system to replace the operation workflow, and the version of the operation workflow is added into the workflow multi-version system to be the historical version of the target workflow.
Preferably, the publishing module is further configured to:
determining the dependency relationship of each father-son workflow in the target engineering, and determining the operation format of the target scheduling system;
downloading a resource file corresponding to the target project based on the operation format;
and obtaining a target workflow corresponding to the target scheduling system based on the dependency relationship and the resource file.
Preferably, the publishing module is further configured to:
determining an operation format of the target scheduling system, and analyzing the target engineering into an analysis workflow corresponding to the target scheduling system based on the operation format;
and carrying out parameter optimization on the workflow nodes of the analysis workflow to obtain a target workflow.
Preferably, the publishing module is further configured to:
checking whether the workflow node of the analysis workflow has missing information or not;
if yes, information complementation is carried out on the workflow nodes so as to obtain a target workflow.
Preferably, the publishing module is further configured to:
determining a version type of the history version, wherein the version type comprises an engineering version, a workflow version and a workflow node version;
if the historical version is the engineering version, the workflow of the engineering version is issued to the target scheduling system to replace the target workflow;
if the history version is a workflow version, determining a replacement workflow corresponding to the workflow version in the target workflow, and publishing the workflow of the workflow version to the target scheduling system to replace the replacement workflow;
And if the history version is a workflow node version, determining a replacement workflow node corresponding to the workflow node version in the target workflow, and releasing the workflow node of the workflow node version to the target scheduling system to replace the replacement workflow.
Preferably, the workflow issuing device further comprises a storage module, wherein the storage module is used for:
after the target project is created, determining whether a historical project version of the project ID exists in the workflow multi-version system according to the project ID of the target project;
and if the project exists, taking the target project as the latest version of the project ID, and storing the target project and the project of the historical project version in a correlated manner.
In addition, to achieve the above object, the present invention also provides a workflow distribution apparatus including: the system comprises a memory, a processor and a workflow distribution program stored on the memory and capable of running on the processor, wherein the workflow distribution program realizes the steps of the workflow distribution method when being executed by the processor.
In addition, in order to achieve the above object, the present invention also provides a computer-readable storage medium having stored thereon a workflow distribution program which, when executed by a processor, implements the steps of the workflow distribution method as described above.
When a creation instruction is detected, creating a target project corresponding to the creation instruction, and determining a target scheduling system corresponding to the target project; converting the target engineering into a target workflow corresponding to the target scheduling system, releasing the target workflow to the target scheduling system, and storing the target workflow in a workflow multi-version system; and if the rollback instruction based on the target workflow is detected, determining a history version corresponding to the rollback instruction, and issuing the workflow of the history version to the target scheduling system to replace the target workflow. When the workflow is released, the target engineering is created, the created target engineering is converted into the workflow to be released and stored in the version system, and when the version is required to be released later, the released workflow is released to the workflow of the old version through the version release.
Drawings
FIG. 1 is a schematic diagram of a hardware operating environment according to an embodiment of the present invention;
FIG. 2 is a flowchart of a first embodiment of a workflow distribution method according to the present invention;
FIG. 3 is a schematic diagram of a workflow distribution apparatus according to a second embodiment of the workflow distribution method of the present invention;
FIG. 4-1 is a schematic diagram illustrating a workflow multi-version management system according to a second embodiment of the workflow distribution method of the present invention;
FIG. 4-2 is a schematic structural diagram of an engineering transformation module in a second embodiment of a workflow distribution method according to the present invention;
fig. 5 is a schematic diagram of multi-version management according to a third embodiment of the workflow distribution method of the present invention.
The achievement of the objects, functional features and advantages of the present invention will be further described with reference to the accompanying drawings, in conjunction with the embodiments.
Detailed Description
It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Referring to fig. 1, fig. 1 is a schematic device structure of a hardware running environment according to an embodiment of the present invention.
As shown in fig. 1, the apparatus may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, a communication bus 1002. Wherein the communication bus 1002 is used to enable connected communication between these components. The user interface 1003 may include a Display, an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may further include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also optionally be a storage device separate from the processor 1001 described above.
Those skilled in the art will appreciate that the device structure shown in fig. 1 does not constitute a limitation of the workflow distribution device, and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components.
As shown in fig. 1, an operating system, a network communication module, a user interface module, and a workflow distribution program may be included in a memory 1005 as one type of computer storage medium.
The operating system is a program for managing and controlling the workflow issuing equipment and software resources and supports the operation of a network communication module, a user interface module, a workflow issuing program and other programs or software; the network communication module is used to manage and control the network interface 1002; the user interface module is used to manage and control the user interface 1003.
In the workflow distribution apparatus shown in fig. 1, the workflow distribution apparatus calls a workflow distribution program stored in a memory 1005 through a processor 1001 and performs operations in various embodiments of a workflow distribution method described below.
Based on the hardware structure, the embodiment of the workflow release method is provided.
Referring to fig. 2, fig. 2 is a flow chart of a first embodiment of a workflow publishing method according to the present invention, the method includes:
Step S10, when a creation instruction is detected, creating a target project corresponding to the creation instruction, and determining a target scheduling system corresponding to the target project;
step S20, converting the target engineering into a target workflow corresponding to the target scheduling system, and releasing the target workflow to the target scheduling system and storing the target workflow in a workflow multi-version system;
step S30, if a rollback instruction based on the target workflow is detected, determining a history version corresponding to the rollback instruction, and issuing the workflow of the history version to the target scheduling system to replace the target workflow.
The workflow release method is applied to workflow release equipment of financial institutions such as financial institutions or banks, and is different from a traditional scheduling system in that the workflow release equipment comprises a layer of proxy implementation between a user and the scheduling system and is used for storing and managing workflow version information of the user, and as shown in fig. 3, the workflow release equipment comprises a front-end web page, a workflow multi-version system (namely the proxy, the workflow multi-version system can be a relational database or a file system) and the scheduling system, wherein the front-end web page is used for the user to create engineering, and interaction between the user and the workflow equipment is realized through the front-end web page; the workflow multi-version system is used for helping a user define and realize workflows, providing general realization of engineering conversion, enabling different scheduling systems to be identifiable, specifically converting target engineering to be published into target workflows in a format corresponding to the target scheduling system through an engineering conversion module, enabling the target scheduling system to identify the converted target workflows, storing historical workflow version information of the user by the workflow multi-version system, facilitating the user to publish latest workflow versions at any time and returning to the historical versions; the dispatching system is used for receiving the issued workflow and running.
The workflow issuing device (hereinafter referred to as issuing device) in this embodiment creates a corresponding target project when detecting a creation instruction, and converts the creation instruction into a target workflow corresponding to a scheduling system for issuing, if a rollback instruction is detected, the current target workflow is rolled back to a corresponding historical version, thereby improving the fault tolerance rate, and avoiding the failure to continue execution due to the current target workflow outflow problem.
The following will explain each step in detail:
and step S10, when a creation instruction is detected, creating a target project corresponding to the creation instruction, and determining a target scheduling system corresponding to the target project.
In this embodiment, the publishing device provides a front-end web page to a user for operation, when a creation instruction input by the user is detected, a target project corresponding to the creation instruction is created, specifically, the publishing device displays a creation entry on the front-end web page for the user to create projects, and because each project is composed of a plurality of workflows, the user can enter the project after creating one project to create a plurality of workflows, the creation process is similar to that of a conventional Azkaban, airflow scheduling system, and the creation process is created according to information such as project ID and project description input by the user in a corresponding interface, and detailed description is omitted herein.
It should be noted that, a dependency relationship needs to be built between workflow nodes of each workflow in the engineering, as to how to create the dependency relationship of each workflow node when creating the workflow, only dependence parameters need to be specified, for example, before a hive is imported, data cleaning needs to be performed, uploading needs to be performed before data cleaning, and dependency relationships such as a log needs to be acquired from ftp before uploading.
Then, determining a target scheduling system corresponding to the target project, namely a scheduling system to be released of the current target project, specifically, the releasing equipment reads the project description of the target project, and determining the target scheduling system through the project description, namely, in the embodiment, if there are a plurality of scheduling systems, such as ABC three scheduling systems, the releasing equipment determines which scheduling system in ABC corresponds to the current target project through the project description, and the scheduling system is the target scheduling system.
And step S20, converting the target engineering into a target workflow corresponding to the target scheduling system, and publishing the target workflow to the target scheduling system.
In this embodiment, since there are multiple scheduling systems and different scheduling systems have different corresponding operation formats, after determining the target scheduling system corresponding to the target project, the publishing device needs to convert the target project into a target workflow adapted to the operation format of the target scheduling system, so that the target project can be published to the target scheduling system and identified by the target scheduling system.
Specifically, step S20 includes:
step a, determining an operation format of the target scheduling system, and converting the target project into a target workflow corresponding to the target scheduling system based on the operation format;
in this step, in order to ensure that the target engineering can be identified by the target scheduling system, it is necessary to determine an operation format of the target scheduling system first, and then the publishing device converts the target engineering into a target workflow corresponding to the target scheduling system according to the operation format.
It will be appreciated that the operating formats of the different scheduling systems are different and determinable in advance, for example, the Azkaban scheduling system defines a KV file format to establish a dependency relationship between tasks, the Oozie scheduling system implements workflow definition through XML file format, the airsurface scheduling system provides a series of python SDKs, and the user defines the work performed by each ETL node, the relationship between nodes, and defines the execution plan, failure policy, etc. under the specifications of the SDKs. Thus, the publishing device needs to convert the target project into a workflow in an adapted format for a different scheduling system to be subsequently identifiable by the target scheduling system.
It should be noted that, since one project includes a plurality of workflows, and one workflow includes a plurality of workflow nodes, when converting a target project, it is essential to convert the workflow node format of the target project into the workflow node format of the target scheduling system, convert the workflow format of the target project into the workflow format of the target scheduling system, and convert the engineering format of the target project into the engineering format of the target scheduling system, that is, the operation format of the target scheduling system includes the engineering format, the workflow format and the workflow node format.
Further, step a includes:
acquiring the content of each parent-child workflow in the target project, and determining the dependency relationship of each parent-child workflow in the target project;
in this step, the publishing device first obtains the content of each parent-child workflow in the target project, such as the mail sending workflow, then obtains the content of the sender, the recipient, etc., and then determines the dependency relationship of each parent-child workflow in the target project, such as 5 workflows, and their dependency relationship is 3-dependent 4 and 5, 2-dependent 3, 1-dependent 2,4 and 5-independent, etc.
Determining the operation format of the target scheduling system, and downloading a resource file corresponding to the target project based on the operation format;
In the step, the publishing equipment determines the operation format of the target scheduling system, downloads the resource file corresponding to the target project according to the operation format, wherein the resource file is a format file corresponding to the target scheduling system, such as a json format file, and after determining the operation format of the target scheduling system, the publishing equipment can download the corresponding resource file according to the operation format so as to extract the content of the target project subsequently and package the content of the target project into the corresponding format file. It corresponds to a template, and aims to fill the content of the target project into the template, and since the resource file is downloaded according to the operation format of the target scheduling system, the resource file and the content packaged therein can be identified by the target scheduling system.
And obtaining a target workflow corresponding to the target scheduling system based on the content, the dependency relationship and the resource file.
In the step, the publishing device obtains a target workflow based on the content, the dependency relationship and the resource file of the target project, specifically, encapsulates the content and the corresponding dependency relationship of the target project into the resource file, thereby obtaining the target workflow. Taking the above example as an example, the hive is imported, the data is cleaned, uploaded, the log is obtained from the ftp, and the execution relationship between the contents is the dependency relationship, for example, before the hive is imported, the data is cleaned, before the data is cleaned, the log is obtained from the ftp, and the like before the data is cleaned, then the target content and the dependency relationship are packaged into the resource file, which corresponds to the target project changing a package, the contents are the same, but the package can be identified by the target scheduling system.
Step b, detecting whether the operation workflow corresponding to the target workflow exists in the target scheduling system or not based on the workflow ID of the target workflow;
in the step, before the publishing device publishes the target workflow to the target scheduling system, the publishing device detects whether the target scheduling system has an operation workflow corresponding to the target workflow based on the workflow ID of the target workflow, that is, determines whether the current target workflow is published for the first time.
And c, if the target workflow exists, publishing the target workflow to the target scheduling system to replace the running workflow, and adding the version of the running workflow into the historical version of the target workflow.
If it is determined that the target workflow is present, that is, it is determined that the target workflow is not first published, and at least one version, that is, the running workflow, is published before that, the target workflow is published to the target scheduling system, the running workflow is replaced, and the version of the running workflow is saved as a historical version of the target workflow so as to further fall back the version, wherein the version of the running workflow is one of the historical versions of the target workflow, and the number of the historical versions can be multiple.
Step S30, if a rollback instruction based on the target workflow is detected, determining a history version corresponding to the rollback instruction, and issuing the workflow of the history version to the target scheduling system to replace the target workflow.
In this embodiment, if the issuing device detects a rollback instruction based on the target workflow, determining a history version corresponding to the rollback instruction, where the triggering of the rollback instruction may be a manual triggering by a user, that is, if the user feels that the current target workflow has a problem, the user may manually issue the rollback instruction; in another embodiment, the rollback instruction may also be that the current target workflow fails during running, the scheduling system initiates an error reporting, and the issuing device triggers when detecting the error reporting.
If the rollback instruction is manually triggered by the user, the user can manually select the historical version, the issuing device determines the historical version corresponding to the rollback instruction by detecting the selection instruction triggered by the user, for example, the target workflow has four versions of 1.0, 2.0, 3.0 and 4.0, and the currently issued target workflow is the 4.0 version, and then the user can select any one of the versions of 1.0, 2.0 and 3.0 as the historical version.
If the rollback instruction is triggered when the error is detected, the issuing device takes the last version of the target workflow as the historical version corresponding to the rollback instruction preferentially, if the currently issued target workflow is 4.0 versions, the historical version corresponding to the rollback instruction is 3.0.
Then, the workflow of the historical version is published to the target scheduling system to replace the target workflow, so that even if a problem occurs in running the workflow, it can be avoided by rollback the version.
When a creation instruction is detected, the embodiment creates a target project corresponding to the creation instruction and determines a target scheduling system corresponding to the target project; converting the target engineering into a target workflow corresponding to the target scheduling system, and publishing the target workflow to the target scheduling system; and if the rollback instruction based on the target workflow is detected, determining a history version corresponding to the rollback instruction, and issuing the workflow of the history version to the target scheduling system to replace the target workflow. The invention can rollback the released workflow to the workflow of the old version by version rollback, so that even if the problem occurs in the running workflow, the fault tolerance can be improved by rollback version.
Further, based on the first embodiment of the workflow issue method of the present invention, a second embodiment of the workflow issue method of the present invention is proposed.
The second embodiment of the workflow issuance method is different from the first embodiment of the workflow issuance method in that the process of converting the target project into the target workflow includes:
Step d, determining the operation format of the target scheduling system, and analyzing the target engineering into an analysis workflow corresponding to the target scheduling system based on the operation format;
and e, performing parameter optimization on the workflow nodes of the analysis workflow to obtain a target workflow.
The workflow multi-version system in the publishing device of the embodiment comprises an engineering multi-version management module, an engineering conversion module and a scheduling system interface module, wherein the engineering multi-version management module comprises a workflow multi-version management module, the engineering conversion module comprises an analysis module, an optimization module and a publishing module, as shown in fig. 4-1 and fig. 4-2, in the process of converting a target project into a target workflow, the publishing device specifically analyzes the multi-target project by the analysis module, then performs parameter optimization on the multi-target project by the optimization module, and finally sends the obtained target workflow through the publishing module.
The following will explain each step in detail:
and d, determining the operation format of the target scheduling system, and analyzing the target engineering into an analysis workflow corresponding to the target scheduling system based on the operation format.
In this embodiment, the publishing device determines the operation format of the target scheduling system first, and then analyzes the target project through the analysis module, and the specific analysis process is similar to the above embodiment.
And e, performing parameter optimization on the workflow nodes of the analysis workflow to obtain a target workflow.
In this embodiment, it should be noted that, the workflow parsed by the parsing module cannot be called as the target workflow, and the workflow is the parsing workflow at this time, and the parameter optimization needs to be performed on the parsing workflow by the optimizing module to obtain the target workflow.
The parameter optimization comprises workflow node parameter optimization, completion of workflow node missing information, examination of workflow node execution codes, optimization of workflow node execution codes and the like.
The workflow node parameter optimization is specifically to optimize the execution parameters of the workflow node, such as setting the CPU/memory of the process, so that the CPU/memory occupied by the program does not exceed a preset value when the current workflow node is operated;
the completion of the missing information of the workflow node specifically comprises the following steps:
checking whether the workflow node of the analysis workflow has missing information or not;
if yes, information complementation is carried out on the workflow nodes so as to obtain a target workflow.
In the completion process of the missing information of the workflow node, the information of the current workflow node is read, the information is compared with the information of the preset workflow node, whether the missing information exists in the current workflow node or not is determined, if yes, the information of the current workflow node is completed according to the information of the preset workflow node, and therefore the complete workflow, namely the target workflow, is obtained.
The examination of the workflow node execution code is to examine the workflow node execution code through a preset code, which mainly prevents the dangerous code from damaging the related running environment, specifically, the dangerous code can be collected, so that whether the current workflow node execution code has the dangerous code or not can be determined through the dangerous code of the mobile phone, or the examination is carried out through the preset code, such as code specification and the like.
The optimization of the workflow node codes is to improve the performance of codes with low performance, mainly starting from the two aspects of reducing the size of the codes and improving the running efficiency of the codes, such as using stack variables and the like.
And the post module issues the optimized target workflow to the dispatching system by calling the REST interface of the dispatching system.
The publication is typically a replacement publication. I.e. if the target workflow does not exist in the scheduling system, a new workflow is created for the first time; and if the workflow name corresponding to the target workflow exists in the scheduling system, directly replacing.
As the workflow multi-version management module stores all version information, once a user needs to roll back the version, the user only needs to roll back the version at the workflow multi-version module and release the version again.
When the target engineering is analyzed, the analyzed workflow is required to be optimized, so that the target workflow can be operated correctly, the issuing equipment has correction capability, and even if the engineering created by a user has problems, the engineering can be optimized, and the fault tolerance is improved.
Further, based on the first and second embodiments of the workflow issue method of the present invention, a third embodiment of the workflow issue method of the present invention is provided.
The third embodiment of the workflow distribution method differs from the first and second embodiments of the workflow distribution method in that the step of distributing the historical version of the workflow to the target scheduling system to replace the target workflow includes:
f, determining a version type of the history version, wherein the version type comprises an engineering version, a workflow version and a workflow node version;
step g, if the history version is an engineering version, releasing the workflow of the engineering version to the target scheduling system to replace the target workflow;
step h, if the history version is a workflow version, determining a replacement workflow corresponding to the workflow version in the target workflow, and releasing the workflow of the workflow version to the target scheduling system to replace the replacement workflow;
And i, if the history version is a workflow node version, determining a replacement workflow node corresponding to the workflow node version in the target workflow, and releasing the workflow node of the workflow node version to the target scheduling system to replace the replacement workflow.
The workflow multi-version system in the publishing device of the embodiment comprises an engineering multi-version management module, wherein the engineering multi-version management module comprises a workflow multi-version management module, namely, in the workflow multi-version system, a plurality of projects are stored, each project corresponds to a plurality of project versions, each project version corresponds to a plurality of workflow versions, and each workflow version corresponds to a plurality of workflow node versions, so that when a rollback instruction is detected, a history version corresponding to the rollback instruction needs to be determined to replace the publishing.
The following will explain each step in detail:
and f, determining the version type of the history version, wherein the version type comprises an engineering version, a workflow version and a workflow node version.
In this embodiment, since a plurality of versions of engineering, workflow and workflow nodes are stored in the workflow multi-version system, after determining a history version corresponding to the rollback instruction, a version type to which the history version belongs is further determined, where the version type includes an engineering version, a workflow version and a workflow node version.
And g, if the history version is the engineering version, releasing the workflow of the engineering version to the target scheduling system to replace the target workflow.
And if the historical version corresponding to the rollback instruction is determined to be the engineering version, the workflow of the working version is issued to the target scheduling system to replace the target workflow, namely the engineering of the old version is used for replacing the target engineering.
And h, if the history version is a workflow version, determining a replacement workflow corresponding to the workflow version in the target workflow, and releasing the workflow of the workflow version to the target scheduling system to replace the replacement workflow.
If it is determined that the historical version corresponding to the rollback instruction is the workflow version, the replacement workflow corresponding to the workflow version is determined in the target workflow, and it can be understood that there are a plurality of workflows in one project, and when rollback, all workflows are not necessarily required to be rolled back, and it is also possible that only one or more of the workflows need to be rolled back, so that it is required to determine what the replacement workflows need to be rolled back are, and then replace the replacement workflows with the workflows of the old version to issue.
And i, if the history version is a workflow node version, determining a replacement workflow node corresponding to the workflow node version in the target workflow, and releasing the workflow node of the workflow node version to the target scheduling system to replace the replacement workflow.
If it is determined that the historical version corresponding to the rollback instruction is the workflow version, the replacement workflow nodes corresponding to the workflow node version are determined in the target workflow, and it can be understood that one workflow includes a plurality of workflow nodes, and when rollback is performed, all the workflow nodes are not necessarily required to rollback, and only one or more of the workflow nodes need to rollback, so that it is required to determine what the replacement workflow nodes need to rollback are, and then, the replacement workflow nodes are replaced by the workflow nodes of the old version to issue.
As shown in fig. 5, in the embodiment, in the workflow multi-version system, a relational database (may also be a file system) is to be used to store related version information, specifically, one project includes information such as an engineering ID, an engineering name, an engineering description, an engineering source, and the like, which corresponds to a plurality of workflows and a plurality of engineering versions (i.e., a relationship of 1: n), while each engineering version includes information such as an engineering version ID, an affiliated engineering ID, a version number, a version comment, and the like, and each engineering version corresponds to a plurality of engineering release histories, each engineering release history includes information such as an engineering release ID, an engineering version ID, a release comment, a release backup path, a release state, and the like, while each workflow also corresponds to a plurality of workflow versions, each workflow version includes information such as a workflow version ID, an affiliated workflow version ID, a version source, a version file storage path, a comment, a version, and the like, and likewise, each workflow version also corresponds to a plurality of workflow nodes, each workflow version includes information such as a version number, a version node ID, a version node, and the like, and a node ID, and the like.
Therefore, the workflow distribution method further includes:
after the target project is created, determining whether a historical project version of the project ID exists in the workflow multi-version system according to the project ID of the target project;
in this step, since in the workflow multi-version system, the project has an association relationship with the workflow and the workflow nodes, and also has an association relationship with the respective version information, after the target project is created, it is determined whether the workflow multi-version system has a history project version of the project ID according to the project ID of the target project, that is, it is determined whether the current target project is created for the first time.
And if the project exists, taking the target project as the latest version of the project ID, and storing the target project and the project of the historical project version in a correlated manner.
If a historical engineering version exists, the current target engineering is not created for the first time, the target engineering and the historical engineering version need to be stored in an associated mode according to a relational database rule, and the target engineering is newly created and is used as the latest version of the engineering ID.
If no historical engineering version exists, the current target engineering is created for the first time, and the current target engineering needs to be stored independently and does not need to be associated with other engineering.
The workflow multi-version management system of the embodiment stores projects of a plurality of versions, workflows of the plurality of versions and workflow nodes of the plurality of versions in an associated mode, therefore, when in rollback, the workflow multi-version management system can be rolled back to the corresponding version according to actual requirements, manual redeployment is not needed, and fault tolerance is improved.
The invention also provides a workflow issuing device. The workflow issuing device of the present invention comprises:
the system comprises a creation module, a target scheduling system and a control module, wherein the creation module is used for creating a target project corresponding to a creation instruction when the creation instruction is detected, and determining the target scheduling system corresponding to the target project;
the issuing module is used for converting the target engineering into a target workflow corresponding to the target scheduling system, issuing the target workflow to the target scheduling system and storing the target workflow in a workflow multi-version system;
and the rollback module is used for determining a history version corresponding to the rollback instruction if the rollback instruction based on the target workflow is detected, and issuing the workflow of the history version to the target scheduling system to replace the target workflow.
Further, the publishing module is further configured to:
determining an operation format of the target scheduling system, and converting the target project into a target workflow corresponding to the target scheduling system based on the operation format;
Detecting whether an operation workflow corresponding to the target workflow exists in the target scheduling system or not based on the workflow ID of the target workflow;
if so, the target workflow is issued to the target scheduling system to replace the operation workflow, and the version of the operation workflow is added into the workflow multi-version system to be the historical version of the target workflow.
Further, the publishing module is further configured to:
acquiring the content of each parent-child workflow in the target project, and determining the dependency relationship of each parent-child workflow in the target project;
determining the operation format of the target scheduling system, and downloading a resource file corresponding to the target project based on the operation format;
and obtaining a target workflow corresponding to the target scheduling system based on the content, the dependency relationship and the resource file.
Further, the publishing module is further configured to:
determining an operation format of the target scheduling system, and analyzing the target engineering into an analysis workflow corresponding to the target scheduling system based on the operation format;
and carrying out parameter optimization on the workflow nodes of the analysis workflow to obtain a target workflow.
Further, the publishing module is further configured to:
checking whether the workflow node of the analysis workflow has missing information or not;
if yes, information complementation is carried out on the workflow nodes so as to obtain a target workflow.
Further, the publishing module is further configured to:
determining a version type of the history version, wherein the version type comprises an engineering version, a workflow version and a workflow node version;
if the historical version is the engineering version, the workflow of the engineering version is issued to the target scheduling system to replace the target workflow;
if the history version is a workflow version, determining a replacement workflow corresponding to the workflow version in the target workflow, and publishing the workflow of the workflow version to the target scheduling system to replace the replacement workflow;
and if the history version is a workflow node version, determining a replacement workflow node corresponding to the workflow node version in the target workflow, and releasing the workflow node of the workflow node version to the target scheduling system to replace the replacement workflow.
Further, the workflow issuing device further comprises a storage module, wherein the storage module is used for:
After the target project is created, determining whether a historical project version of the project ID exists in the workflow multi-version system according to the project ID of the target project;
and if the project exists, taking the target project as the latest version of the project ID, and storing the target project and the project of the historical project version in a correlated manner.
The invention also provides a computer readable storage medium.
The present invention computer readable storage medium has stored thereon a workflow distribution program which, when executed by a processor, implements the steps of the workflow distribution method as described above.
The method implemented when the workflow distribution program running on the processor is executed may refer to various embodiments of the workflow distribution method of the present invention, which are not described herein again.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) as described above, comprising instructions for causing a terminal device (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the method according to the embodiments of the present invention.
The foregoing description is only of the preferred embodiments of the present invention, and is not intended to limit the scope of the invention, but rather is intended to cover any equivalents of the structures or equivalent processes disclosed herein, or any application, directly or indirectly, in the field of other related technology.
Claims (7)
1. The workflow release method is characterized by comprising the following steps:
when a creation instruction is detected, creating a target project corresponding to the creation instruction, and determining a target scheduling system corresponding to the target project;
acquiring the content of each parent-child workflow in the target project, and determining the dependency relationship of each parent-child workflow in the target project; determining the operation format of the target scheduling system, and downloading a resource file corresponding to the target project based on the operation format; based on the content, the dependency relationship and the resource file, a target workflow corresponding to the target scheduling system is obtained;
the target workflow is issued to the target scheduling system and stored in a workflow multi-version system, wherein the workflow multi-version system is used for helping a user to define and realize the workflow and providing general realization of engineering conversion;
and if the rollback instruction based on the target workflow is detected, determining a history version corresponding to the rollback instruction, and issuing the workflow of the history version to the target scheduling system to replace the target workflow.
2. The workflow distribution method of claim 1, wherein the step of distributing the target workflow to the target scheduling system comprises:
detecting whether an operation workflow corresponding to the target workflow exists in the target scheduling system or not based on the workflow ID of the target workflow;
if so, the target workflow is issued to the target scheduling system to replace the operation workflow, and the version of the operation workflow is added into the workflow multi-version system to be the historical version of the target workflow.
3. The workflow publication method of claim 1, wherein the step of publishing the historical version of the workflow to the target scheduling system to replace the target workflow comprises:
determining a version type of the history version, wherein the version type comprises an engineering version, a workflow version and a workflow node version;
if the historical version is the engineering version, the workflow of the engineering version is issued to the target scheduling system to replace the target workflow;
if the history version is a workflow version, determining a replacement workflow corresponding to the workflow version in the target workflow, and publishing the workflow of the workflow version to the target scheduling system to replace the replacement workflow;
And if the history version is a workflow node version, determining a replacement workflow node corresponding to the workflow node version in the target workflow, and releasing the workflow node of the workflow node version to the target scheduling system to replace the replacement workflow.
4. The workflow distribution method of any one of claims 1-3, wherein the workflow distribution method further comprises:
after the target project is created, determining whether a historical project version of the project ID exists in the workflow multi-version system according to the project ID of the target project;
and if the project exists, taking the target project as the latest version of the project ID, and storing the target project and the project of the historical project version in a correlated manner.
5. A workflow publication apparatus, characterized in that the workflow publication apparatus comprises:
the system comprises a creation module, a target scheduling system and a control module, wherein the creation module is used for creating a target project corresponding to a creation instruction when the creation instruction is detected, and determining the target scheduling system corresponding to the target project;
the publishing module is used for acquiring the content of each father-son workflow in the target engineering and determining the dependency relationship of each father-son workflow in the target engineering; determining the operation format of the target scheduling system, and downloading a resource file corresponding to the target project based on the operation format; based on the content, the dependency relationship and the resource file, a target workflow corresponding to the target scheduling system is obtained;
The issuing module is further used for issuing the target workflow to the target scheduling system and storing the target workflow in a workflow multi-version system, wherein the workflow multi-version system is used for helping a user to define and realize the workflow and providing general realization of engineering conversion;
and the rollback module is used for determining a history version corresponding to the rollback instruction if the rollback instruction based on the target workflow is detected, and issuing the workflow of the history version to the target scheduling system to replace the target workflow.
6. A workflow publication apparatus, characterized in that the workflow publication apparatus comprises: memory, a processor and a workflow distribution program stored on the memory and executable on the processor, which when executed by the processor, implements the steps of the workflow distribution method of any of claims 1 to 4.
7. A computer-readable storage medium, wherein a workflow distribution program is stored on the computer-readable storage medium, which when executed by a processor, implements the steps of the workflow distribution method of any one of claims 1 to 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981258.7A CN110717739B (en) | 2019-10-15 | 2019-10-15 | Workflow publishing method, device, equipment and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981258.7A CN110717739B (en) | 2019-10-15 | 2019-10-15 | Workflow publishing method, device, equipment and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110717739A CN110717739A (en) | 2020-01-21 |
CN110717739B true CN110717739B (en) | 2024-03-22 |
Family
ID=69212712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910981258.7A Active CN110717739B (en) | 2019-10-15 | 2019-10-15 | Workflow publishing method, device, equipment and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110717739B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416451B (en) * | 2020-10-15 | 2022-11-11 | 福建升腾资讯有限公司 | Method, device and medium for automatically converting issue state based on JIRA system |
CN112367363A (en) * | 2020-10-23 | 2021-02-12 | 深圳前海微众银行股份有限公司 | Information sharing method, device, server and storage medium |
CN112416476B (en) * | 2020-11-25 | 2023-03-24 | 武汉联影医疗科技有限公司 | Workflow execution method and device, computer equipment and storage medium |
CN112488485A (en) * | 2020-11-25 | 2021-03-12 | 华南中外运供应链管理有限公司 | Business process management system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770608A (en) * | 2008-12-26 | 2010-07-07 | 新奥特(北京)视频技术有限公司 | Management method and device of engineering versions |
CN103812894A (en) * | 2012-11-12 | 2014-05-21 | 中国石油天然气集团公司 | Web release file version management method in real-time monitoring system |
JP2015185014A (en) * | 2014-03-25 | 2015-10-22 | 富士通株式会社 | workflow control program, workflow control method, and workflow system |
CN107169620A (en) * | 2017-04-01 | 2017-09-15 | 国电南瑞科技股份有限公司 | Model version circulation method between power network the superior and the subordinate scheduling system based on workflow |
CN109978474A (en) * | 2017-12-27 | 2019-07-05 | 金证财富南京科技有限公司 | A kind of Work-flow control method and Work-flow control device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317496B2 (en) * | 2011-07-12 | 2016-04-19 | Inkling Systems, Inc. | Workflow system and method for creating, distributing and publishing content |
-
2019
- 2019-10-15 CN CN201910981258.7A patent/CN110717739B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770608A (en) * | 2008-12-26 | 2010-07-07 | 新奥特(北京)视频技术有限公司 | Management method and device of engineering versions |
CN103812894A (en) * | 2012-11-12 | 2014-05-21 | 中国石油天然气集团公司 | Web release file version management method in real-time monitoring system |
JP2015185014A (en) * | 2014-03-25 | 2015-10-22 | 富士通株式会社 | workflow control program, workflow control method, and workflow system |
CN107169620A (en) * | 2017-04-01 | 2017-09-15 | 国电南瑞科技股份有限公司 | Model version circulation method between power network the superior and the subordinate scheduling system based on workflow |
CN109978474A (en) * | 2017-12-27 | 2019-07-05 | 金证财富南京科技有限公司 | A kind of Work-flow control method and Work-flow control device |
Non-Patent Citations (1)
Title |
---|
工程项目管理中工作流技术的研究;张文祥;杨粮称;;煤炭技术(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110717739A (en) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110717739B (en) | Workflow publishing method, device, equipment and computer readable storage medium | |
US7774404B2 (en) | Managing software component versions within a service oriented architecture | |
US8538793B2 (en) | System and method for managing real-time batch workflows | |
US11003835B2 (en) | System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework | |
US20100010858A1 (en) | Workflow execution control apparatus and workflow execution control method | |
EP2642434A1 (en) | Project delivery system | |
CN113094345A (en) | Method and equipment for importing table data file | |
US20120096303A1 (en) | Detecting and recovering from process failures | |
CN111159142B (en) | Data processing method and device | |
CN115617780A (en) | Data import method, device, equipment and storage medium | |
CN117806654B (en) | Tekton-based custom cloud native DevOps pipeline system and method | |
US20080178182A1 (en) | Work state returning apparatus, work state returning method, and computer product | |
CN116088846A (en) | Processing method, related device and equipment for continuous integrated code format | |
US20110029986A1 (en) | Supporting Administration of a Multi-Application Landscape | |
CN116661978B (en) | Distributed flow processing method and device and distributed business flow engine | |
CN112379861A (en) | Item manager and working method thereof | |
JP4864590B2 (en) | Information processing apparatus, information processing method, and program for supporting operation setting of application program | |
US8739166B2 (en) | Progress-driven progress information in a service-oriented architecture | |
CN116166307A (en) | Software bill of materials generation method, device, computer equipment and medium | |
CN112184027B (en) | Task progress updating method, device and storage medium | |
US20180081665A1 (en) | Versioned intelligent offline execution of software configuration automation | |
CN109101515B (en) | Rule configuration method, server and computer-readable storage medium | |
CN112394946A (en) | Operation and maintenance platform based on DevOps background | |
CN110780983A (en) | Task exception handling method and device, computer equipment and storage medium | |
CN110750563A (en) | Multi-model data processing method, system, device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |