[go: up one dir, main page]

CN113051175B - An extensible general workflow framework system - Google Patents

An extensible general workflow framework system Download PDF

Info

Publication number
CN113051175B
CN113051175B CN202110419887.8A CN202110419887A CN113051175B CN 113051175 B CN113051175 B CN 113051175B CN 202110419887 A CN202110419887 A CN 202110419887A CN 113051175 B CN113051175 B CN 113051175B
Authority
CN
China
Prior art keywords
work
work item
workflow
scheduling
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.)
Active
Application number
CN202110419887.8A
Other languages
Chinese (zh)
Other versions
CN113051175A (en
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/CN113051175B/en
Publication of CN113051175A publication Critical patent/CN113051175A/en
Application granted granted Critical
Publication of CN113051175B publication Critical patent/CN113051175B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • 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/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the invention discloses an extensible general workflow framework system, which 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, wherein the first scheduling policy module is used for customizing and scheduling the scheduling policy of the work item, the second scheduling policy module is used for customizing and scheduling the scheduling policy of the work item, the work item comprises executed work content and a context object, the executed work content is customized through a function pointer, the context object realizes the customization of context data through a class template, and each work item in the work stream forms a directed graph. The invention realizes that the workflow framework supports data transmission among various work projects, and the scheduling strategy of the work projects supports user customization, thereby having 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 general workflow framework system.
Background
The existing open source framework of the workflow realizes functions of workflow construction, scheduling and the like, wherein the scheduling design and implementation is divided into two layers of the workflow and the 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 matter that is custom through a function pointer of the type std:: function < void () >, i.e., execution without parameters and return values. Each Condition work item is used to define conditions and trends, i.e. which Job work item to schedule to in case of what conditions are met, and when there are multiple Job work items downstream of one Condition work item, only Job work items meeting the Condition judgment are scheduled.
However, in the current workflow framework system, the data transferred between the work content nodes actually required to be executed by each work item in the workflow is defined by discrete global variables in the framework, so that the framework lacks guiding effect on users, the scheduling strategy of the workflow cannot be customized, thus the complex business environment cannot be satisfied, the core expansion requirement of the workflow is lost, the scheduling scheme in the framework currently only allows one directly downstream specific content Job work item to be scheduled when the definition Condition and the trend Condition work item are used, and many business conditions are that all or a plurality of directly downstream specific content Job work items need to be synchronously executed. The application requirements of the semiconductor test field are not met, namely, the workflow framework does not support data transmission among all work items, the scheduling strategy of the work items does not support user customization, and the universal expansibility of the workflow is not achieved.
Therefore, it is necessary to design a new system to realize that the workflow framework supports data transfer among various work items, and the scheduling policy of the work items supports user customization, so that the system has universal expansibility of the workflow.
Disclosure of Invention
The invention aims to provide an extensible general workflow framework system.
The technical problem is solved by providing an extensible general workflow framework system, which 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, wherein the first scheduling policy module is used for customizing and scheduling the scheduling policy of the work item, the second scheduling policy module is used for customizing and scheduling the scheduling policy of the workflow, the work item comprises executed work content and a context object, the executed work content is customized through a function pointer, the context object realizes the customization of context data through a class template, and each work item in the workflow forms a directed graph.
The first scheduling policy module customizes the executed content of the work item by adopting a class template and a function pointer.
The first scheduling policy module realizes the scheduling policy of customizing and scheduling the work items through interface definition and class inheritance.
The first scheduling policy module realizes the scheduling policy of customizing and scheduling the work items through defining the interface of the virtual function and class inheritance.
The virtual function is used for being rewritten by the subclass of the class to which the virtual function belongs.
The second scheduling policy module uses a queue to optimize and realize breadth-first scheduling of the workflow.
The work items comprise 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 work item which is scheduled first in the belonging workflow.
The further technical scheme is that data transmitted between the work items are defined in the associated context objects, and the types of the related context objects are synchronously defined and specified when the work items are inherited according to different services.
The method comprises the further technical scheme that a front-end dependent work item set of the current work item is defined, and the work item which is scheduled first in the belonging workflow is enabled to form a directed graph.
The workflow comprises a starting work item, a schedulable topological structure constructor, a default scheduled flow and a work item set formed by a plurality of work items.
Compared with the prior art, the method has the beneficial effects that the customization of the executed work content is realized through the function pointer, the context object realizes the customization 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 setting of the directed graph can realize the transmission of the data, the realization of the data transmission among the work items is supported by the workflow framework, the scheduling strategy of the work item supports the customization of a user, and the method has the universal expansibility of the workflow.
The invention is further described below with reference to the drawings and specific embodiments.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of the operation of an extensible generic workflow framework system according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
It should be understood that the terms "comprises" and "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 this specification 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 the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
Referring to fig. 1, fig. 1 is a schematic working diagram of an extensible general workflow framework system according to an embodiment of the present invention, which can be used in a semiconductor test scenario. WFMC (work management system, workflowManagementSystem) the definition of a workflow refers to the full or semi-automation of the whole or part of the running process with computer support. The workflow's solution aims at automating the process of delivering documents, information or tasks between multiple participants according to some predefined rule, thereby achieving some desired business objective, causing the achievement of this objective. In the field of semiconductor testing, the realization of automated execution of test items is the most fundamental requirement for improving test efficiency. The workflow framework is required to support data transfer among various work items, and the scheduling policy 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, wherein the first scheduling policy module is used for customizing and scheduling the scheduling policy of the work item, the second scheduling policy module is used for customizing and scheduling the scheduling policy of the work item, the work item comprises executed work content and a context object, the executed work content is customized through a function pointer, the context object realizes the customization of context data through a class template, and each work item in the work stream forms a directed graph.
In this embodiment, the scheduling policy for scheduling the work item is defined by means of a first scheduling policy module and the scheduling policy for scheduling the workflow is defined by means of a second scheduling policy module.
In this embodiment, the main functional interface of the first scheduling policy module is a Dispatch (Context), which represents the Work content of invoking the specific execution of the Work item under the Context object, and is realized as Work- > DoWork (), that is, just the Work content of invoking the execution of itself. The Dispatch function is designed as a virtual function, i.e. the virtual function can be rewritten by the subclass of the class to which it belongs, for implementing the scheduling policy belonging to the subclass feature.
The execution of the work is customized by a function pointer, and behavior customization of subclasses is realized by override, such as std, function < R (W, P), wherein W represents a pointer of an object of the current work item, P represents a pointer of a context object of the current work item running, R represents a return value of the function, and types of the three variables can be specified by class template parameters of the work item. The data transferred between the work items are uniformly defined in the associated context objects, the class of the work items is designed as a template class, and the class types of the context objects in the class are also subjected to templatization assignment through the parameters of class templates, namely, related context types can be synchronously defined and assigned 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 class templates and function pointers.
In this embodiment, the work items required for the workflows of different service types are not different, i.e. the content required to be executed by each work item will change from service to service, and the expandability perfectly solves this problem. Such as for "scientific computing" business related workflows, the content of a work item may be a mathematical operation based on a certain formula.
In an embodiment, the first scheduling policy module implements a scheduling policy for scheduling the work item in a customized manner 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 and class inheritance of a virtual function, where the virtual function is used to be overwritten by a subclass of a class to which the virtual function belongs.
In an embodiment, the second scheduling policy module uses the queue to perform optimization to implement breadth-first scheduling of the workflow.
The first scheduling policy module and the second scheduling policy module formulate different scheduling policies required for working flows of different service types, namely, the scheduling sequence among all work items in the working flows can be customized according to the service requirements. For example, for a workflow related to a "scientific computing" business, if a complex computational process is defined by the workflow, where there is a natural order of preference, this order can be translated into a scheduling policy in the workflow framework.
There is always a dependency relationship between work items in a workflow, which is generally expressed as that a downstream work item needs to acquire data of an upstream work item, such as a workflow related to a "scientific computing" service, and for a complex operation process, there is necessarily a calculation result output of the upstream work item needs to be used as a calculation 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 is a complex data structure. The framework of the workflow perfectly supports the definition of the data structure and the transfer between different work items.
In an embodiment, the second scheduling policy module uses queues for optimization to implement breadth-first scheduling of the workflow.
In an embodiment, the work items include a function body, a subsequent set of work items to the current work item, a pre-dependent set of work items to the current work item, a work item to be first scheduled in the belonging workflow.
The work item is defined as an operator which can be controlled by scheduling and can be inherited, the executed work content is realized as a function pointer which can be customized by a user, the function body is a function body pointed by the function pointer for calling the executed work content, the context object is defined as a context object of the executed work content in the executing process and can be customized by the user, and whether the work item which is scheduled first in the belonging workflow can be marked as the work content of starting execution or not.
In one embodiment, data communicated between the work items is defined within the associated context object, and the type of associated context object is synchronously defined and specified when the work items are inherited from different services.
The data transferred between the work items are uniformly defined in the associated context objects, the class of the work items is designed as a template class, and the class types of the context objects in the class are also subjected to templatization assignment through the parameters of class templates, namely, related context types can be synchronously defined and assigned when the work items are inherited according to different services.
In an embodiment, the first scheduled work item in the belonging workflow is defined by defining a pre-dependent set of work items for the current work item, such that each of the work items within the workflow forms a directed graph.
In particular, the data transfer between work items, depends on the pre-dependent work item set of the current work item defined by each work item, two attributes of the first scheduled work item in the belonging work flow, so that each work item in the work flow forms a directed graph, through which each work item can take data in the context object of its own related upstream and downstream work item,
In one embodiment, the workflow includes a start work item, a schedulable topology constructor, a default scheduled flow, and a work item set of a number of the work items.
A work item set is defined as a set of any number of work items, and a default scheduled flow label is whether the primary flow.
The system supports the customization of the scheduling strategy of the work items, the customization of the execution content of the work items, the data transfer among the work items and the customization of the data structure.
Referring to fig. 1, in the scalable universal workflow framework system, a complete workflow includes a starting work item, the scheduling sequence is work item 1- > work item 2- > work item 4- > work item 3- > work item 5- > work item 6, the current work item, such as work item 5, must be scheduled until all the upstream work items are scheduled, the scheduling of the workflow is formulated by a second scheduling policy module, a user can customize the scheduling of the workflow by the module, each work item in the workflow is formulated by a first scheduling policy module, the scheduling of the work item can be defined by the first scheduling policy module, the executable work content of the work item is customized by a class template and a function pointer, the context customization between the work items can be realized by the class template, and the data interaction between the work items in the same workflow is realized by using a directed graph.
According to the extensible general workflow framework system, the customization of the executed work content is carried out through the function pointer, the context object realizes the customization of the context data through the class template, the definition of the transmission data can be realized through the setting of the context object, the transmission of the data can be realized through the setting of the directed graph by forming the directed graph in each work item in the workflow, the data transmission among the work items is supported by the workflow framework, the customization of users is supported by the scheduling strategy of the work items, and the general extensibility of the workflow is realized.
While the invention has been described with reference to certain preferred embodiments, it will be understood by those skilled in the art that various changes and substitutions of equivalents may be made and equivalents will be apparent to those skilled in the art without departing from the scope of the invention. Therefore, the protection scope of the invention is subject to the protection scope of the claims.

Claims (8)

1. The extensible general workflow framework system is characterized by comprising a workflow which can be scheduled, a work item which can be scheduled, a first scheduling policy module and a second scheduling policy module, wherein the first scheduling policy module is used for customizing and scheduling the scheduling policy of the work item, the second scheduling policy module is used for customizing and scheduling the scheduling policy of the work item, the work item comprises executed work content and a context object, the executed work content is customized through a function pointer, the context object realizes the customization of context data through a class template, and each work item in the work stream forms a directed graph;
The work items comprise a function body, a subsequent work item set of the current work item, a front-end dependent work item set of the current work item, and a work item which is scheduled first in the belonging workflow;
the method comprises the steps of defining a work item as an operator which can be controlled by scheduling and can be inherited, executing the work content, realizing a function pointer by a technology which can be customized by a user, defining a function body as a function body pointed by the function pointer for calling the executed work content, defining a context object as a context object of the executed work content in the executing process and can be customized by the user, wherein the work item which is scheduled first in the belonging workflow can be marked as the work content of which the execution is started or not;
forming a directed graph by defining a pre-dependent work item set of the current work item and a first scheduled work item in an affiliated workflow, so that each work item in the workflow forms a directed graph;
The data transfer between work items depends on the front-end dependent work item set of the current work item defined by each work item and two attributes of the first scheduled work item in the belonging work flow, so that each work item in the work flow forms a directed graph, and each work item can access the data in the context object of the relevant upstream and downstream work items.
2. The scalable universal workflow framework system of claim 1, wherein the first scheduling policy module customizes what the work item is executing by employing class templates and function pointers.
3. The scalable universal workflow framework system of claim 2, wherein the first scheduling policy module implements a scheduling policy for custom scheduling the work items through interface definition and class inheritance.
4. A scalable universal workflow framework system of claim 3, wherein said first scheduling policy module implements a scheduling policy for custom scheduling said work items by defining virtual function interfaces and class inheritance.
5. The scalable universal workflow framework system of claim 4, wherein the virtual functions are adapted to be overwritten by a subclass of the class to which the virtual functions belong.
6. The scalable universal workflow framework system of any 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 scalable universal workflow framework system of claim 1, wherein data communicated between the work items is defined within the associated context objects, and wherein the type of associated context objects is synchronously defined and specified upon inheritance of the work items by different services.
8. The scalable universal workflow framework of claim 1 wherein said workflow comprises a starting work item, a schedulable topology constructor, a default scheduled flow and a work item collection of a number of said work items.
CN202110419887.8A 2021-04-19 2021-04-19 An extensible general workflow framework system Active CN113051175B (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN113051175A CN113051175A (en) 2021-06-29
CN113051175B true CN113051175B (en) 2025-02-14

Family

ID=76519702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110419887.8A Active CN113051175B (en) 2021-04-19 2021-04-19 An extensible general workflow framework system

Country Status (1)

Country Link
CN (1) CN113051175B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325980A (en) * 2015-06-30 2017-01-11 中国石油化工股份有限公司 Multi-thread concurrent system
CN109766196A (en) * 2018-12-18 2019-05-17 深圳云天励飞技术有限公司 A task scheduling method, device and equipment
CN111984390A (en) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 Task scheduling method, device, equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306430C (en) * 2002-12-31 2007-03-21 上海科泰世纪科技有限公司 User self-defining event mechanism based on structure
US20100049568A1 (en) * 2008-08-21 2010-02-25 Clevest Solutions Inc. System and Method for an Extensible Workflow Management
CN103488536B (en) * 2013-09-29 2017-12-05 华为技术有限公司 Method for scheduling task, device and operating system
CN109725836B (en) * 2017-10-30 2021-11-26 普天信息技术有限公司 User context compression method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325980A (en) * 2015-06-30 2017-01-11 中国石油化工股份有限公司 Multi-thread concurrent system
CN109766196A (en) * 2018-12-18 2019-05-17 深圳云天励飞技术有限公司 A task scheduling method, device and equipment
CN111984390A (en) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 Task scheduling method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN113051175A (en) 2021-06-29

Similar Documents

Publication Publication Date Title
CN110348820B (en) Intelligent workflow management system
CN107678790B (en) Flow calculation method, device and system
US9916136B2 (en) Interface infrastructure for a continuation based runtime
Alt et al. A grid workflow language using high-level petri nets
CN109858727B (en) User control, construction method thereof and workflow control method
US20060015478A1 (en) Context and action-based application design
CN102169500A (en) Dynamic service flow display device
JP2007515016A (en) Automated workflow service system and method for providing the service
US20060036687A1 (en) Computer implemented method and system for running a plurality of business processes
CN105761007B (en) Auxiliary method and system for information management software design
Cui et al. Multiple DAGs workflow scheduling algorithm based on reinforcement learning in cloud computing
US20080134220A1 (en) Method and system for providing a configurable action launchpad
US20130167046A1 (en) Method and system for customizing a graphic user interface of a manufacturing execution system screen
CN102375743A (en) SOA(Service-Oriented Architecture) system development method based on model and template
CN115840745B (en) Scheduling method, device, computer equipment and storage medium based on dynamic form
CN110020767A (en) Intervene the automatically coherent property inspection method after the workflow based on BPMN executes manually
US9851951B1 (en) Composable action flows
CN113051175B (en) An extensible general workflow framework system
Ngu et al. Flexible scientific workflow modeling using frames, templates, and dynamic embedding
Lee et al. Blueprint flow: a declarative service composition framework for cloud applications
CN112686580A (en) Workflow definition method and system capable of customizing flow
Sobolewski Unifying front-end and back-end federated services for integrated product development
Dumas et al. Event-based coordination of process-oriented composite applications
CN114492051A (en) Digital workshop dynamic reconstruction method, device, equipment and storage medium
CN109683883B (en) Flow chart design method and device

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