CN113051175A - Extensible general workflow framework system - Google Patents

Extensible general workflow framework system Download PDF

Info

Publication number
CN113051175A
CN113051175A CN202110419887.8A CN202110419887A CN113051175A CN 113051175 A CN113051175 A CN 113051175A CN 202110419887 A CN202110419887 A CN 202110419887A CN 113051175 A CN113051175 A CN 113051175A
Authority
CN
China
Prior art keywords
workflow
work
scheduling
work items
scheduling policy
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.)
Pending
Application number
CN202110419887.8A
Other languages
Chinese (zh)
Inventor
葛曙光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Zhiqianli Technology Co ltd
Original Assignee
Hangzhou Zhiqianli Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Zhiqianli Technology Co ltd filed Critical Hangzhou Zhiqianli Technology Co ltd
Priority to CN202110419887.8A priority Critical patent/CN113051175A/en
Publication of CN113051175A publication Critical patent/CN113051175A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

The embodiment of the invention discloses an extensible universal workflow framework system, which comprises a workflow capable of being scheduled, a work item capable of being scheduled, a first scheduling strategy module and a second scheduling strategy module; the first scheduling policy module is used for customizing a scheduling policy for scheduling the work items; the second scheduling policy module is used for customizing a scheduling policy for scheduling the workflow; the work items comprise executed work content and context objects, the executed work content is customized through a function pointer, the context objects realize the self-definition of context data through class templates, and all the work items in the workflow form a directed graph. The invention realizes that the workflow framework supports the data transmission among all the work items, the scheduling strategy of the work items supports the user customization, and the workflow framework has the general expansibility of the workflow.

Description

Extensible general workflow framework system
Technical Field
The invention relates to the technical field of software testing, in particular to an extensible universal workflow framework system.
Background
The existing open source framework of the workflow realizes the functions of building and scheduling the workflow, wherein the scheduling design and implementation are divided into two levels of the workflow and work items, the workflow can comprise a plurality of work items, and the work items comprise specifically executed content Job work items, definition conditions and trend Condition work items.
Each Job work item does a thing, and the thing is customized through a function pointer, wherein the type of the function pointer is fixed as: std < void () >, i.e., the execution content without reference return value. Each Condition work item is used for defining conditions and trends, namely, the Job work item is scheduled under the Condition of meeting the conditions, and when a plurality of Job work items exist at the downstream of one Condition work item, only the Job work item meeting the Condition judgment is scheduled.
However, in the current workflow framework system, data transmission between work content nodes which are actually needed to be executed by each work item in the workflow is defined by discrete global variables in the framework, and such framework lacks guidance effect on users; the scheduling policy of the workflow cannot be customized, which cannot satisfy a complex service environment, and thus core extension requirements of the workflow are lost, the scheduling scheme in the current framework only allows scheduling of a content Job work item specifically executed by a directly subordinate downstream when using a definition Condition and trend Condition work items, and many service situations are that all or a plurality of content Job work items specifically executed by directly subordinate downstream need to be executed synchronously. The application requirements in the field of semiconductor testing are not met, namely, a workflow framework does not support data transmission among all work items, a scheduling strategy of the work items does not support user customization, and the general expansibility of the workflow is not provided.
Therefore, it is necessary to design a new system, which implements a workflow framework supporting data transmission among work items, and a scheduling policy of the work items supporting user customization and having general extensibility of the workflow.
Disclosure of Invention
The invention aims to provide an extensible universal workflow framework system.
In order to solve the technical problems, the invention aims to realize the following technical scheme: an extensible universal workflow framework system is provided, which comprises a workflow capable of being scheduled, a work item capable of being scheduled, a first scheduling policy module and a second scheduling policy module; the first scheduling policy module is used for customizing a scheduling policy for scheduling the work items; the second scheduling policy module is used for customizing a scheduling policy for scheduling the workflow; the work items comprise executed work content and context objects, the executed work content is customized through a function pointer, the context objects realize the self-definition of context data through class templates, and all the work items in the workflow form a directed graph.
The further technical scheme is as follows: the first scheduling policy module customizes the content executed by the work item by using a class template and a function pointer.
The further technical scheme is as follows: and the first scheduling policy module realizes the customized scheduling of the scheduling policy of the work item through interface definition and class inheritance.
The further technical scheme is as follows: and the first scheduling policy module realizes the customized scheduling of the scheduling policy of the work items by defining the interfaces of the virtual functions and class inheritance.
The further technical scheme is as follows: the virtual function is used for being overwritten by the subclass of the class to which the virtual function belongs.
The further technical scheme is as follows: and the second scheduling strategy module uses the queue to optimize so as to realize breadth-first scheduling of the workflow.
The further technical scheme is as follows: the work items comprise a function body, a subsequent work item set of the current work item, a front-dependent work item set of the current work item, and a first scheduled work item in the workflow.
The further technical scheme is as follows: the data transferred between the work items are defined in the associated context objects, and the types of the related context objects are synchronously defined and designated when the work items are inherited according to different services.
The further technical scheme is as follows: and defining a work item set of a front dependency of the current work item and a work item which is firstly scheduled in the workflow, so that each work item in the workflow forms a directed graph.
The further technical scheme is as follows: the workflow comprises a starting work item, a topology constructor which can be scheduled, a default scheduled flow and a work item set formed by a plurality of the work items.
Compared with the prior art, the invention has the beneficial effects that: the invention customizes the executed work content through the function pointer, the context object realizes the self definition of the context data through the class template, the setting of the context object can realize the definition of the transmitted data, each work item in the workflow forms a directed graph, the transmission of the data can be realized through the setting of the directed graph, the workflow framework supports the data transmission among the work items, the scheduling strategy of the work item supports the customization of the user, and the invention has the general expansibility of the workflow.
The invention is further described below with reference to the accompanying drawings and specific embodiments.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic working diagram of an extensible general workflow framework system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the specification of the present invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
Referring to fig. 1, fig. 1 is a schematic diagram of an extensible general workflow framework system according to an embodiment of the present invention, which can be applied to a semiconductor test scenario. The definition of the workflow by WFMC (workflow management system) refers to full automation or semi-automation of the whole or part of the running process under the support of a computer. The goal of workflow resolution is to automate the process of transferring documents, information or tasks between multiple participants according to some predefined rule to achieve some desired business goal, driving the goal toward its achievement. In the field of semiconductor testing, it is the most fundamental requirement to improve the efficiency of testing to realize the automatic execution of test items. A workflow framework is required to support data transmission among all work items, and the scheduling strategy of the work items supports user customization.
The extensible general workflow framework system comprises a workflow which can be scheduled, a work item which can be scheduled, a first scheduling policy module and a second scheduling policy module; the first scheduling policy module is used for customizing a scheduling policy for scheduling the work items; the second scheduling policy module is used for customizing a scheduling policy for scheduling the workflow; the work items comprise executed work content and context objects, the executed work content is customized through a function pointer, the context objects realize the self-definition of context data through class templates, and all the work items in the workflow form a directed graph.
In this embodiment, a scheduling policy for scheduling a work item is defined by means of a first scheduling policy module, and a scheduling policy for scheduling the workflow is defined by means of a second scheduling policy module.
In this embodiment, the main function interface of the first scheduling policy module is Dispatch (Context, Work item), which indicates that the specifically executed Work content of the Work item is called down in the Context object, and is implemented as Work- > dowwork () by default, that is, the executed Work content of the first scheduling policy module is simply called. The Dispatch function is designed as a dummy function, that is, the dummy function can be overwritten by the subclass of the class to which the dummy function belongs, so as to implement the scheduling policy belonging to the subclass characteristic.
The executed work content is customized through function pointers, and the behavioral customization of subclasses is realized through overrides, for example, std < R (W, P) >, wherein W represents a pointer of an object of a current work item, P represents a pointer of a context object operated by the current work item, and R represents a return value of the function, and the types of the three variables can be specified through class template parameters of the work item. The data transmitted among the work items are uniformly defined in the context objects related to the work items, the class of the work items is designed as a template class, and the types of the classes of the context objects are also specified in a templating mode through the parameters of the class template, namely, the related context types can be synchronously defined and specified when the work items are inherited according to different services.
In one embodiment, the first scheduling policy module customizes the content executed by the work item by using the class template and the function pointer.
In this embodiment, the work items needed to be done for the workflows of different service types are not the same, that is, the content to be executed for each work item changes with the service, and the extensibility perfectly solves the problem. Such as for "scientific computing" business related workflows, the content performed by the work item may be a mathematical operation based on some formula.
In an embodiment, the first scheduling policy module implements a scheduling policy for customizing and scheduling the work item through interface definition and class inheritance.
In an embodiment, the first scheduling policy module implements a scheduling policy for customizing and scheduling the work item by defining an interface of a virtual function and class inheritance, and the virtual function is used for being overwritten by a subclass of a class to which the virtual function belongs.
In an embodiment, the second scheduling policy module uses a queue to perform optimization so as to implement breadth-first scheduling of the workflow.
The first scheduling policy module and the second scheduling policy module make different scheduling policies required by workflows corresponding to different service types, that is, the scheduling sequence among various work items in the workflows can be customized according to service requirements. For example, for a workflow related to a "scientific computing" service, if the workflow is used to define a complex operation process, wherein there is naturally a priority order, this order can be converted into a scheduling policy in a workflow framework.
The relation of front and back dependency between work items in a workflow will certainly exist, which is generally expressed that a downstream work item needs to acquire data of an upstream work item, such as a workflow related to a scientific computing service, for a complex operation process, the output of a computing result of the upstream work item is inevitably needed to be used as the computing input of the downstream work item, and in the related field of application mathematics, the data required by the work item is not a simple numerical value any more, and more is a complex data structure. The framework of the workflow perfectly supports the definition of the data structure and the passing between different work items.
In an embodiment, the second scheduling policy module uses a queue for optimization to implement breadth-first scheduling of the workflow.
In one embodiment, the work items include a function body, a subsequent work item set of the current work item, a pre-dependent work item set of the current work item, and a first scheduled work item in the workflow.
The work items are defined as operators which can be controlled by scheduling and can be inherited; the executed work content and the technology are realized as function pointers and can be customized by a user; the function body is a function body pointed by a function pointer for calling the executed work content; the context object is defined as the context object of the executed work content in the execution process and can be customized by a user; the work item scheduled first in the workflow to which it belongs may be marked as to whether it is the content of the work to be initially executed.
In one embodiment, the data passed between the work items defines within the associated context object, the types of the related context objects being defined and specified synchronously when work items are inherited according to different services.
The data transmitted among the work items are uniformly defined in the context objects related to the work items, the class of the work items is designed as a template class, and the types of the classes of the context objects are also specified in a templating mode through the parameters of the class template, namely, the related context types can be synchronously defined and specified when the work items are inherited according to different services.
In one embodiment, the work items which are firstly scheduled in the workflow are defined by the front-dependent work item set of the current work items, so that each work item in the workflow forms a directed graph.
Specifically, the data transmission among the work items depends on the work item set defined by each work item and depended on the current work item at the front, and two attributes of the work item scheduled firstly in the workflow, so that each work item in the workflow forms a directed graph, and by the two attributes, each work item can take the data in the context object of the related upstream and downstream work items,
in one embodiment, the workflow includes a start work item, a topology constructor that can be scheduled, a default scheduled flow, and a work item set composed of several of the work items.
The work item set is defined as a set of any number of work items; the default scheduled flow is marked as main flow or not.
The system supports that the scheduling strategy of the work items can be customized; the execution content of the support work item is customizable; data transfer between work items is supported and the data structure is customizable.
Referring to fig. 1, in the above extensible universal workflow framework system, a complete workflow includes a start work item, and the scheduling order is work item 1- > work item 2- > work item 4- > work item 3- > work item 5- > work item 6; only when all the upstream work items are scheduled, the current work item can be scheduled, for example, the work item 5 must wait for the work item 4 and the work item 3 to be scheduled; the scheduling of the workflow is made by a second scheduling strategy module, and a user can customize the scheduling of the workflow through the module; each work item in the workflow is formulated by a first scheduling policy module, and the scheduling of the work item can be defined through the first scheduling policy module; the executable work content of the work items is customized by the class templates and the function pointers, the customization of the context between the work items can be realized by the class templates, and the data interaction between the work items in the same workflow is realized by adopting the directed graph.
The extensible general workflow framework system customizes the executed work content through the function pointer, the context object realizes the self-definition of context data through the class template, the definition of the transmitted data can be realized through the setting of the context object, each work item in the workflow forms a directed graph, the transmission of the data can be realized through the setting of the directed graph, the workflow framework supports the data transmission among the work items, the scheduling strategy of the work items supports the customization of a user, and the extensible general workflow framework system has the general extensibility of the workflow.
While the invention has been described with reference to specific embodiments, the invention is not limited thereto, and various equivalent modifications and substitutions can be easily made by those skilled in the art within the technical scope of the invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. An extensible universal workflow framework system is characterized by comprising a workflow capable of being scheduled, a work item capable of being scheduled, a first scheduling policy module and a second scheduling policy module; the first scheduling policy module is used for customizing a scheduling policy for scheduling the work items; the second scheduling policy module is used for customizing a scheduling policy for scheduling the workflow; the work items comprise executed work content and context objects, the executed work content is customized through a function pointer, the context objects realize the self-definition of context data through class templates, and all the work items in the workflow form a directed graph.
2. The extensible universal workflow framework system of claim 1 wherein the first scheduling policy module customizes the content executed by the work items by using class templates and function pointers.
3. The extensible universal workflow framework system of claim 2 wherein the first scheduling policy module implements a scheduling policy for custom scheduling of the work items through interface definition and class inheritance.
4. The extensible universal workflow framework system according to claim 3, wherein the first scheduling policy module implements a scheduling policy for custom scheduling the work items by defining interfaces of virtual functions and class inheritance.
5. The extensible universal workflow framework system according to claim 4, wherein the virtual functions are adapted to be overwritten by subclasses of the class to which the virtual functions belong.
6. The extensible universal workflow framework system according to any one of claims 1 to 5, wherein the second scheduling policy module uses queues for optimization to achieve breadth-first scheduling of the workflow.
7. The extensible universal workflow framework system according to claim 6, wherein the work items comprise a functional body, a subsequent work item set of the current work item, a pre-dependent work item set of the current work item, and a first scheduled work item in the workflow.
8. The extensible universal workflow framework system according to claim 7 wherein data passed between the work items is defined within the associated context objects, and the types of the associated context objects are defined and specified synchronously when inheriting the work items according to different services.
9. The extensible universal workflow framework system according to claim 6, wherein the work items scheduled first in the workflow are defined by a set of work items which are pre-depended on the current work items, so that each work item in the workflow forms a directed graph.
10. The extensible universal workflow framework system according to claim 1, wherein the workflow comprises a start work item, a topology constructor that can be scheduled, a default scheduled flow and a work item set composed of a number of the work items.
CN202110419887.8A 2021-04-19 2021-04-19 Extensible general workflow framework system Pending CN113051175A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110419887.8A CN113051175A (en) 2021-04-19 2021-04-19 Extensible general workflow framework system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110419887.8A CN113051175A (en) 2021-04-19 2021-04-19 Extensible general workflow framework system

Publications (1)

Publication Number Publication Date
CN113051175A true CN113051175A (en) 2021-06-29

Family

ID=76519702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110419887.8A Pending CN113051175A (en) 2021-04-19 2021-04-19 Extensible general workflow framework system

Country Status (1)

Country Link
CN (1) CN113051175A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040154024A1 (en) * 2002-12-31 2004-08-05 Rong Chen Component based user self-definition event mechanism
US20100049568A1 (en) * 2008-08-21 2010-02-25 Clevest Solutions Inc. System and Method for an Extensible Workflow Management
CN103488536A (en) * 2013-09-29 2014-01-01 华为技术有限公司 Task scheduling method and device and operating system
CN106325980A (en) * 2015-06-30 2017-01-11 中国石油化工股份有限公司 Multi-thread concurrent system
CN109725836A (en) * 2017-10-30 2019-05-07 普天信息技术有限公司 User's context compression method and device
CN109766196A (en) * 2018-12-18 2019-05-17 深圳云天励飞技术有限公司 A kind of method for scheduling task, device and equipment
CN111984390A (en) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 Task scheduling method, device, equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040154024A1 (en) * 2002-12-31 2004-08-05 Rong Chen Component based user self-definition event mechanism
US20100049568A1 (en) * 2008-08-21 2010-02-25 Clevest Solutions Inc. System and Method for an Extensible Workflow Management
CN103488536A (en) * 2013-09-29 2014-01-01 华为技术有限公司 Task scheduling method and device and operating system
CN106325980A (en) * 2015-06-30 2017-01-11 中国石油化工股份有限公司 Multi-thread concurrent system
CN109725836A (en) * 2017-10-30 2019-05-07 普天信息技术有限公司 User's context compression method and device
CN109766196A (en) * 2018-12-18 2019-05-17 深圳云天励飞技术有限公司 A kind of method for scheduling task, device and equipment
CN111984390A (en) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 Task scheduling method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
EP1706818B1 (en) A system and method for scheduling the execution of model components using model events
US7716278B2 (en) Context and action-based application design
CN110348820B (en) Intelligent workflow management system
CN109858727B (en) User control, construction method thereof and workflow control method
Hoogeveen et al. Rescheduling for new orders on a single machine with setup times
US20090125818A1 (en) Systems and methods to create follow-up meetings
US20130238384A1 (en) Business management system
KR20060112589A (en) Workflow services architecture
US20230273777A1 (en) Composable context menus
CN102169500A (en) Dynamic service flow display device
US20040193459A1 (en) XML multi-stage policy implementation in XSLT
EP3133489A1 (en) Extensibility of business logic shared across a business process orchestration engine, a rule engine, and a user interface
CN113051175A (en) Extensible general workflow framework system
US8417555B2 (en) Collaboration based capacity planning in a modular business setting
US20090024424A1 (en) System and method for dynamic linking of business processes
US20080040457A1 (en) Heterogeneous, role based enterprise priority manager
US7844978B2 (en) Artifact management for an extensible runtime environment
CN115291980A (en) Business popup control method and device, computer equipment and storage medium
CN102541647A (en) Method for calling external function of executable component in software integration process
CN114020373A (en) Method for realizing flow defined based on function formula
Wieland et al. Context model for representation of business process management artifacts
CN112988116B (en) System and method for centralizing operation and operating target operating system IT application
US20090112673A1 (en) Rules and workflow process integration
Erel et al. Batch scheduling to minimize the weighted number of tardy jobs
Lahmar et al. Monitoring of non-functional requirements using dynamic transformation of components

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