CN111192100A - Workflow scheduling method, device and system - Google Patents

Workflow scheduling method, device and system Download PDF

Info

Publication number
CN111192100A
CN111192100A CN201811350444.2A CN201811350444A CN111192100A CN 111192100 A CN111192100 A CN 111192100A CN 201811350444 A CN201811350444 A CN 201811350444A CN 111192100 A CN111192100 A CN 111192100A
Authority
CN
China
Prior art keywords
tenant
information
context
basic
instance
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
CN201811350444.2A
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201811350444.2A priority Critical patent/CN111192100A/en
Priority to PCT/CN2019/104920 priority patent/WO2020098352A1/en
Publication of CN111192100A publication Critical patent/CN111192100A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Abstract

The embodiment of the invention discloses a method, a device and a system for scheduling workflow, wherein the method for scheduling workflow comprises the following steps: receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein, the process context comprises tenant information and process information; and constructing a process instance with the tenant characteristics according to the process context of the tenant. The embodiment of the invention acquires the process context based on the business process request, constructs the process instance with the tenant characteristic based on the process context, realizes the support of the multi-tenant characteristic, and can identify the tenant process information, thereby improving the code utilization rate, and reducing the difficulty of application development of developers without considering the characteristics of the multi-tenant when the developers develop the workflow.

Description

Workflow scheduling method, device and system
Technical Field
The embodiments of the present invention relate to, but not limited to, cloud computing technologies, and in particular, to a method, an apparatus, and a system for workflow scheduling.
Background
With the rapid development of the internet, the delivery mode and business mode of Software products are changed to Service and networking, and the Software as a Service (SaaS) mode increasingly becomes a developing hotspot, is considered as one of typical cloud computing delivery modes, has become a new trend of Software industry development, and has a wide application prospect.
The SaaS service relies on software and the Internet, and is mainly characterized in that under a multi-tenant mode, namely a SaaS mode, a service provider uniformly deploys application software on a server of the service provider, provides service for enterprise customers through a network, and collects fees according to the amount and time of service ordered by the customers. With the expansion of tenant size, the diversity of service demands, and the demand for high concurrency of service requests becoming stronger, the technology faces huge challenges.
The traditional workflow execution engine put into the SaaS mode faces the following problems:
1) the traditional flow execution engine lacks the multi-tenant concept. Flow instances belonging to different tenants cannot be distinguished during execution. If the traditional development mode is adopted, the work of identifying the multi-tenant information needs to be added to the application development process, which will increase the difficulty of application development of developers.
2) The process in the traditional mode cannot support the customization operation, so that in order to meet the customization of different tenants to the same process in the traditional mode, a developer needs to develop one process for each tenant according to the customization requirements of different tenants. When the customization requirement of the tenant changes, the developer needs to develop the process again according to the customization change of the tenant. This approach has low code utilization.
3) In the traditional process application, different users need to deploy the workflow engine when using the workflow engine, and the workload of the system is increased by deploying the workflow engine for multiple times, so that the response time is prolonged, and the efficiency is reduced.
Disclosure of Invention
The embodiment of the invention provides a workflow scheduling method, a workflow scheduling device and a workflow scheduling system, which can support the multi-tenant characteristic, thereby improving the code utilization rate and reducing the difficulty of application development of developers.
The embodiment of the invention provides a workflow scheduling method, which comprises the following steps:
receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information;
acquiring a process context of the tenant according to the basic information of the tenant; wherein, the process context comprises tenant information and process information;
and constructing a process instance with the tenant characteristics according to the process context of the tenant.
The embodiment of the invention provides a workflow scheduling device, which comprises:
the controller is used for receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein, the process context comprises tenant information and process information;
and the workflow model constructor is used for constructing a process instance with the tenant characteristics according to the process context of the tenant.
The embodiment of the invention provides a workflow scheduling device, which comprises a processor and a computer-readable storage medium, wherein instructions are stored in the computer-readable storage medium, and when the instructions are executed by the processor, any one of the workflow scheduling methods is realized.
In the embodiment of the present invention, the workflow scheduling apparatus is a workflow engine.
An embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of any one of the above workflow scheduling methods.
The embodiment of the invention provides a workflow scheduling system, which comprises:
the workflow scheduling device is used for receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein, the process context comprises tenant information and process information; constructing a process instance with tenant characteristics according to the process context of the tenant;
and the execution device is used for executing the process instance, updating the process context according to the process execution state in the execution process, and returning the execution result to the tenant after the execution is finished.
The embodiment of the invention comprises the following steps: receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein, the process context comprises tenant information and process information; and constructing a process instance with the tenant characteristics according to the process context of the tenant. The embodiment of the invention acquires the process context based on the business process request, constructs the process instance with the tenant characteristic based on the process context, realizes the support of the multi-tenant characteristic, and can identify the tenant process information, thereby improving the code utilization rate, and reducing the difficulty of application development of developers without considering the characteristics of the multi-tenant when the developers develop the workflow.
In another embodiment of the invention, the process instances are distributed to the corresponding process virtual machines; or creating a process virtual machine and distributing the process instance to the created process virtual machine; executing the process instance by the process virtual machine. The embodiment of the invention executes the process instance through the virtual machine, and realizes the sharing of the bottom service resources used in the workflow scheduling process.
In another embodiment of the present invention, allocating the process instance to the corresponding process virtual machine includes: allocating a process instance to a process virtual machine corresponding to the tenant according to the tenant information; the creating of the process virtual machine comprises: and establishing a process virtual machine for the tenant according to the tenant information and the current system state. In the embodiment of the invention, a plurality of process instances of the same tenant are sent to the same process virtual machine, and the process instances of different tenants are sent to different process virtual machines, so that the isolation of workflows of different tenants is realized, and underlying service resources used in the workflow scheduling process of different tenants are shared.
Additional features and advantages of embodiments of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of embodiments of the invention. The objectives and other advantages of the embodiments of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the embodiments of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the examples of the invention serve to explain the principles of the embodiments of the invention and not to limit the embodiments of the invention.
Fig. 1 is a flowchart of a workflow scheduling method according to an embodiment of the present invention;
FIG. 2 is a diagram illustrating a process context storage structure according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a workflow scheduling apparatus according to another embodiment of the present invention;
fig. 4 is a schematic structural diagram of a workflow scheduling system according to another embodiment of the present invention;
fig. 5 is a schematic diagram of a workflow scheduling system according to an embodiment of the present invention.
Detailed Description
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the embodiments and features of the embodiments of the present invention may be arbitrarily combined with each other without conflict.
The steps illustrated in the flow charts of the figures may be performed in a computer system such as a set of computer-executable instructions. Also, while a logical order is shown in the flow diagrams, in some cases, the steps shown or described may be performed in an order different than here.
Referring to fig. 1, an embodiment of the present invention provides a workflow scheduling method, including:
step 100, receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information.
In the embodiment of the present invention, as shown in fig. 2, the basic tenant information is used to uniquely identify a tenant, and any information uniquely identifying a tenant may be, for example, a tenant Identifier (ID), a tenant name, a department, an identity, an identification number, a mobile phone number, a mailbox, and the like.
Step 101, acquiring a process context of a tenant according to basic information of the tenant; wherein the process context includes tenant information and process information.
In the embodiment of the present invention, as shown in fig. 2, the other information in the tenant information, except the tenant basic information, includes: the Service Level Agreement (SLA) information of the tenant, and the Quality of Service (QoS) information of the tenant.
The flow information includes: basic information of the process, customized information of the process and a process model.
The SLA information of the tenant comprises an SLA of the tenant, and the QoS information of the tenant comprises QoS of the tenant.
The process basic information is used to uniquely identify one process instance, and any information uniquely identifying one process instance may be, for example, a process ID, and the process model includes:
the process is considered to be execution time information, process execution state information and process virtual machine environment information.
In the embodiment of the present invention, obtaining the process context of the tenant according to the tenant basic information includes:
acquiring a process context in which the basic information of the tenant is the same as the basic information of the tenant in the service process request in a cache region;
when the process context with the basic tenant information being the same as the basic tenant information in the business process request cannot be obtained in the cache region, the process context with the basic tenant information being the same as the basic tenant information in the business process request is obtained in the database; the method further comprises the following steps: and saving the obtained flow context into a cache region.
In another embodiment of the present invention, the business process request further comprises at least one of:
at least one other information except the basic information of the tenant and at least one process information in the tenant information.
When acquiring the process context in which the tenant basic information is the same as the tenant basic information in the business process request, the method further includes:
updating the process context obtained in the cache region according to at least one of the following business process requests, and the process context in which the basic tenant information in the database is the same as the basic tenant information in the business process requests:
at least one other information except the basic information of the tenant and at least one process information in the tenant information.
For example, when the service flow request further includes SLA information of the tenant, the flow context obtained in the cache area and SLA information of the tenant in the flow context in which tenant basic information in the database is the same as tenant basic information in the service flow request are updated to SLA information of the tenant in the service flow request;
for another example, when the service flow request further includes QoS information of a tenant, the QoS information of the tenant in the flow context obtained in the cache region and the flow context in which the tenant basic information in the database is the same as the tenant basic information in the service flow request is updated to the QoS information of the tenant in the service flow request;
for another example, when the business process request further includes process basic information, the process context obtained in the cache region and the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request are updated to the process basic information in the business process request;
for another example, when the business process request further includes process customization information, the process customization information in the process context obtained in the cache region and the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request is updated to the process customization information in the business process request;
for another example, when the business process request further includes a process model, the process context obtained in the cache region and the process model in the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request are updated to the process model in the business process request.
When the process context with the tenant basic information being the same as that in the business process request is not obtained in the cache region, and the process context with the tenant basic information being the same as that in the business process request is obtained in the database, the method further includes:
updating the process context obtained in the database according to at least one of the following in the business process request: at least one piece of other information except the basic information of the tenant and at least one piece of process information in the tenant information;
and storing the updated process context into a cache region.
For example, when the service flow request further includes SLA information of the tenant, the SLA information of the tenant in the flow context obtained in the database is updated to the SLA information of the tenant in the service flow request;
for another example, when the business process request further includes the QoS information of the tenant, the QoS information of the tenant in the process context obtained in the database is updated to the QoS information of the tenant in the business process request;
for another example, when the business process request further includes basic process information, the basic process information in the process context obtained in the database is updated to the basic process information in the business process request;
for another example, when the business process request further includes process customization information, the process customization information in the process context obtained in the database is updated to the process customization information in the business process request;
for another example, when the business process request further includes a process model, the process model in the process context obtained in the database is updated to the process model in the business process request.
And 102, constructing a process instance with the tenant characteristics according to the process context of the tenant.
In the embodiment of the invention, the process instance with the tenant characteristics is constructed according to the tenant basic information, the process model and the process customization information.
In another embodiment of the present invention, the method further comprises:
and 103, executing the process instance, updating the process context according to the process execution state in the execution process, and returning an execution result to the tenant after the execution is finished.
In another embodiment of the present invention, the method further comprises:
allocating the process instances to corresponding process virtual machines; or creating a process virtual machine and distributing the process instance to the created process virtual machine;
examples of the execution flow include: executing the process instance by the process virtual machine.
In the embodiment of the present invention, allocating the process instance to the corresponding process virtual machine includes:
allocating the process instances to process virtual machines corresponding to the tenants according to the tenant information;
creating a process virtual machine includes: and establishing a process virtual machine for the tenant according to the tenant information and the current system state.
And establishing a process virtual machine for the tenant according to the SLA information of the tenant and the current system state.
In the embodiment of the invention, a plurality of process instances of the same tenant are sent to the same process virtual machine, and the process instances of different tenants are sent to different process virtual machines, so that the isolation of workflows of different tenants is realized, and underlying service resources used in the workflow scheduling process of different tenants are shared.
In the embodiment of the present invention, the process virtual machine execution process instance includes:
the process virtual machine receives the process instance and puts the process instance into a process instance queue of the process virtual machine;
and scheduling the process instance in the process instance queue to execute through the process instance scheduler of the process virtual machine.
And the process instance scheduler schedules the passed process virtual machine to execute the process instance according to the process information in the process context and the resource state in the process virtual machine.
In another embodiment of the present invention, the method further comprises:
and after the execution of the process instance of the tenant is finished, estimating the quality of experience of the tenant service.
In an embodiment of the invention, the estimating of the quality of service experience of the tenant comprises estimating the flow execution time and performance.
The embodiment of the invention acquires the process context based on the business process request, constructs the process instance with the tenant characteristic based on the process context, realizes the support of the multi-tenant characteristic, and can identify the tenant process information, thereby improving the code utilization rate, and reducing the difficulty of application development of developers without considering the characteristics of the multi-tenant when the developers develop the workflow.
Referring to fig. 3, another embodiment of the present invention provides a workflow scheduling apparatus, including:
the controller 301 is configured to receive a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein, the process context comprises tenant information and process information;
and the workflow model constructor 302 is used for constructing a process instance with the tenant characteristics according to the process context of the tenant.
In another embodiment of the present invention, the method further comprises:
the process instance executing module 303 is configured to execute the process instance, update the process context according to the process execution state during the execution process, and return the execution result to the tenant after the execution is completed.
In the embodiment of the present invention, as shown in fig. 2, the basic tenant information is used to uniquely identify a tenant, and any information uniquely identifying a tenant may be, for example, a tenant Identifier (ID), a tenant name, a department, an identity, an identification number, a mobile phone number, a mailbox, and the like.
In the embodiment of the present invention, as shown in fig. 2, the other information in the tenant information, except the tenant basic information, includes: the Service Level Agreement (SLA) information of the tenant, and the Quality of Service (QoS) information of the tenant.
The flow information includes: basic information of the process, customized information of the process and a process model.
The SLA information of the tenant comprises an SLA of the tenant, and the QoS information of the tenant comprises QoS of the tenant.
The process basic information is used to uniquely identify one process instance, and any information uniquely identifying one process instance may be, for example, a process ID, and the process model includes:
the process is considered to be execution time information, process execution state information and process virtual machine environment information.
In this embodiment of the present invention, the controller 301 is specifically configured to implement the following method to obtain the process context of the tenant according to the tenant basic information:
acquiring a process context in which the basic information of the tenant is the same as the basic information of the tenant in the service process request in a cache region;
when the process context with the basic tenant information being the same as the basic tenant information in the business process request cannot be obtained in the cache region, the process context with the basic tenant information being the same as the basic tenant information in the business process request is obtained in the database; the method further comprises the following steps: and saving the obtained flow context into a cache region.
In another embodiment of the present invention, the business process request further comprises at least one of:
at least one other information except the basic information of the tenant and at least one process information in the tenant information.
When acquiring the process context in which the tenant basic information is the same as the tenant basic information in the business process request, the controller 301 is further configured to:
updating the process context obtained in the cache region according to at least one of the following business process requests, and the process context in which the basic tenant information in the database is the same as the basic tenant information in the business process requests:
at least one other information except the basic information of the tenant and at least one process information in the tenant information.
For example, when the service flow request further includes SLA information of the tenant, the flow context obtained in the cache area and SLA information of the tenant in the flow context in which tenant basic information in the database is the same as tenant basic information in the service flow request are updated to SLA information of the tenant in the service flow request;
for another example, when the service flow request further includes QoS information of a tenant, the QoS information of the tenant in the flow context obtained in the cache region and the flow context in which the tenant basic information in the database is the same as the tenant basic information in the service flow request is updated to the QoS information of the tenant in the service flow request;
for another example, when the business process request further includes process basic information, the process context obtained in the cache region and the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request are updated to the process basic information in the business process request;
for another example, when the business process request further includes process customization information, the process customization information in the process context obtained in the cache region and the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request is updated to the process customization information in the business process request;
for another example, when the business process request further includes a process model, the process context obtained in the cache region and the process model in the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request are updated to the process model in the business process request.
When the process context with the tenant basic information being the same as the tenant basic information in the business process request is not obtained in the cache region, and the process context with the tenant basic information being the same as the tenant basic information in the business process request is obtained in the database, the controller 301 is further configured to:
updating the process context obtained in the database according to at least one of the following in the business process request: at least one piece of other information except the basic information of the tenant and at least one piece of process information in the tenant information;
and storing the updated process context into a cache region.
For example, when the service flow request further includes SLA information of the tenant, the SLA information of the tenant in the flow context obtained in the database is updated to the SLA information of the tenant in the service flow request;
for another example, when the business process request further includes the QoS information of the tenant, the QoS information of the tenant in the process context obtained in the database is updated to the QoS information of the tenant in the business process request;
for another example, when the business process request further includes basic process information, the basic process information in the process context obtained in the database is updated to the basic process information in the business process request;
for another example, when the business process request further includes process customization information, the process customization information in the process context obtained in the database is updated to the process customization information in the business process request;
for another example, when the business process request further includes a process model, the process model in the process context obtained in the database is updated to the process model in the business process request.
In an embodiment of the present invention, the workflow model builder 302 is specifically configured to: and constructing a process instance with tenant characteristics according to the tenant basic information, the process model and the process customization information.
In an embodiment of the present invention, the workflow model builder 302 is further configured to:
allocating the process instances to corresponding process virtual machines; or creating a process virtual machine and distributing the process instance to the created process virtual machine;
the process instance executing module 303 is a process virtual machine.
In the embodiment of the present invention, the workflow model builder 302 is specifically configured to implement allocating the process instances to the corresponding process virtual machines in the following manner:
allocating the process instances to process virtual machines corresponding to the tenants according to the tenant information;
the workflow model builder 302 is specifically configured to implement creating a process virtual machine in the following manner: and establishing a process virtual machine for the tenant according to the tenant information and the current system state.
The workflow model builder 302 creates a process virtual machine for the tenant according to the SLA information and the current system state of the tenant.
In the embodiment of the invention, a plurality of process instances of the same tenant are sent to the same process virtual machine, and the process instances of different tenants are sent to different process virtual machines, so that the isolation of workflows of different tenants is realized, and underlying service resources used in the workflow scheduling process of different tenants are shared.
In the embodiment of the present invention, the process virtual machine is specifically configured to implement the execution process instance in the following manner:
receiving a process instance, and putting the process instance into a process instance queue;
and scheduling the flow instance in the flow instance queue to execute through the flow instance scheduler.
And the process instance scheduler schedules the passed process virtual machine to execute the process instance according to the process information in the process context and the resource state in the process virtual machine.
In another embodiment of the present invention, the method further comprises: the service experience quality estimation module 304 is configured to estimate the service experience quality of the tenant after the process instance of the tenant is executed.
In an embodiment of the invention, the estimating of the quality of service experience of the tenant comprises estimating the flow execution time and performance.
The embodiment of the invention acquires the process context based on the business process request, constructs the process instance with the tenant characteristic based on the process context, realizes the support of the multi-tenant characteristic, and can identify the tenant process information, thereby improving the code utilization rate, and reducing the difficulty of application development of developers without considering the characteristics of the multi-tenant when the developers develop the workflow.
Another embodiment of the present invention provides a workflow scheduling apparatus, including a processor and a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are executed by the processor, the workflow scheduling apparatus implements any one of the above workflow scheduling methods.
In another embodiment of the present invention, the workflow scheduling apparatus is a workflow engine.
Another embodiment of the present invention proposes a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, implements the steps of any of the above-mentioned workflow scheduling methods.
Referring to fig. 4 and 5, another embodiment of the present invention provides a workflow scheduling system, including:
a workflow scheduling apparatus 401, configured to receive a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein, the process context comprises tenant information and process information; constructing a process instance with tenant characteristics according to the process context of the tenant;
and the execution device 402 is configured to execute the process instance, update the process context according to the process execution state during the execution process, and return an execution result to the tenant after the execution is completed.
In the embodiment of the present invention, as shown in fig. 2, the basic tenant information is used to uniquely identify a tenant, and any information uniquely identifying a tenant may be, for example, a tenant Identifier (ID), a tenant name, a department, an identity, an identification number, a mobile phone number, a mailbox, and the like.
In the embodiment of the present invention, as shown in fig. 2, the other information in the tenant information, except the tenant basic information, includes: the Service Level Agreement (SLA) information of the tenant, and the Quality of Service (QoS) information of the tenant.
The flow information includes: basic information of the process, customized information of the process and a process model.
The SLA information of the tenant comprises an SLA of the tenant, and the QoS information of the tenant comprises QoS of the tenant.
The process basic information is used to uniquely identify one process instance, and any information uniquely identifying one process instance may be, for example, a process ID, and the process model includes:
the process is considered to be execution time information, process execution state information and process virtual machine environment information.
In this embodiment of the present invention, the workflow scheduling apparatus 401 is specifically configured to implement obtaining a process context of a tenant according to tenant basic information in the following manners:
acquiring a process context in which the basic information of the tenant is the same as the basic information of the tenant in the service process request in a cache region;
when the process context with the basic tenant information being the same as the basic tenant information in the business process request cannot be obtained in the cache region, the process context with the basic tenant information being the same as the basic tenant information in the business process request is obtained in the database; the method further comprises the following steps: and saving the obtained flow context into a cache region.
In another embodiment of the present invention, the business process request further comprises at least one of:
at least one other information except the basic information of the tenant and at least one process information in the tenant information.
When acquiring the process context in which the tenant basic information is the same as the tenant basic information in the business process request, in the cache region, the workflow scheduling apparatus 401 is further configured to:
updating the process context obtained in the cache region according to at least one of the following business process requests, and the process context in which the basic tenant information in the database is the same as the basic tenant information in the business process requests:
at least one other information except the basic information of the tenant and at least one process information in the tenant information.
For example, when the service flow request further includes SLA information of the tenant, the flow context obtained in the cache area and SLA information of the tenant in the flow context in which tenant basic information in the database is the same as tenant basic information in the service flow request are updated to SLA information of the tenant in the service flow request;
for another example, when the service flow request further includes QoS information of a tenant, the QoS information of the tenant in the flow context obtained in the cache region and the flow context in which the tenant basic information in the database is the same as the tenant basic information in the service flow request is updated to the QoS information of the tenant in the service flow request;
for another example, when the business process request further includes process basic information, the process context obtained in the cache region and the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request are updated to the process basic information in the business process request;
for another example, when the business process request further includes process customization information, the process customization information in the process context obtained in the cache region and the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request is updated to the process customization information in the business process request;
for another example, when the business process request further includes a process model, the process context obtained in the cache region and the process model in the process context in which the tenant basic information in the database is the same as the tenant basic information in the business process request are updated to the process model in the business process request.
When the process context with the tenant basic information being the same as the tenant basic information in the business process request is not obtained in the cache region, and the process context with the tenant basic information being the same as the tenant basic information in the business process request is obtained in the database, the workflow scheduling apparatus 401 is further configured to:
updating the process context obtained in the database according to at least one of the following in the business process request: at least one piece of other information except the basic information of the tenant and at least one piece of process information in the tenant information;
and storing the updated process context into a cache region.
For example, when the service flow request further includes SLA information of the tenant, the SLA information of the tenant in the flow context obtained in the database is updated to the SLA information of the tenant in the service flow request;
for another example, when the business process request further includes the QoS information of the tenant, the QoS information of the tenant in the process context obtained in the database is updated to the QoS information of the tenant in the business process request;
for another example, when the business process request further includes basic process information, the basic process information in the process context obtained in the database is updated to the basic process information in the business process request;
for another example, when the business process request further includes process customization information, the process customization information in the process context obtained in the database is updated to the process customization information in the business process request;
for another example, when the business process request further includes a process model, the process model in the process context obtained in the database is updated to the process model in the business process request.
In the embodiment of the present invention, the workflow scheduling apparatus 401 is specifically configured to implement the following steps to construct a process instance with tenant characteristics: and constructing a process instance with tenant characteristics according to the tenant basic information, the process model and the process customization information.
In another embodiment of the present invention, the workflow scheduling device is a workflow engine, and the execution device is a virtual machine.
In this embodiment of the present invention, the workflow scheduling apparatus 401 is further configured to:
allocating the process instances to corresponding process virtual machines; or creating a process virtual machine and distributing the process instances to the created process virtual machine.
In this embodiment of the present invention, the workflow scheduling apparatus 401 is specifically configured to implement allocating the process instances to the corresponding process virtual machines in the following manner:
allocating the process instances to process virtual machines corresponding to the tenants according to the tenant information;
the workflow scheduling apparatus 401 is specifically configured to implement creating a flow virtual machine by using the following manners: and establishing a process virtual machine for the tenant according to the tenant information and the current system state.
The workflow scheduling apparatus 401 creates a process virtual machine for the tenant according to the SLA information of the tenant and the current system state.
In the embodiment of the invention, a plurality of process instances of the same tenant are sent to the same process virtual machine, and the process instances of different tenants are sent to different process virtual machines, so that the isolation of workflows of different tenants is realized, and underlying service resources used in the workflow scheduling process of different tenants are shared.
In the embodiment of the present invention, the virtual machine is specifically configured to:
receiving a process instance, and putting the process instance into a process instance queue;
and scheduling the flow instance in the flow instance queue to execute through the flow instance scheduler.
And the process instance scheduler schedules the passed process virtual machine to execute the process instance according to the process information in the process context and the resource state in the process virtual machine.
In another embodiment of the present invention, the workflow scheduling apparatus 401 is further configured to:
and after the execution of the process instance of the tenant is finished, estimating the quality of experience of the tenant service.
In the embodiment of the present invention, the workflow scheduling apparatus 401 performs estimation on the quality of experience of the tenant service, including estimation on the execution time and performance of the flow.
The embodiment of the invention acquires the process context based on the business process request, constructs the process instance with the tenant characteristic based on the process context, realizes the support of the multi-tenant characteristic, and can identify the tenant process information, thereby improving the code utilization rate, and reducing the difficulty of application development of developers without considering the characteristics of the multi-tenant when the developers develop the workflow.
The embodiment of the invention realizes the sharing of the multi-tenant workflow engine, and the workflow engine is only deployed once and all tenants are shared for use.
The following describes a workflow engine scheduling process according to an embodiment of the present invention by taking a specific example as an example:
a business system is deployed on a campus cloud in a school, the business system is used by a teaching department and comprises a business application process, and the process comprises four steps of application submission, to-be-checked, to-be-modified and business testing.
From the view of the workflow engine, the professor (including the affiliated professor staff) is a tenant, and the workflow engine scheduling method using the embodiment of the invention is as follows:
1. the teacher initiates a request message of an application submission process, and sends a service application to a controller of the workflow engine through an internet service (WebService) interface.
2. After the controller receives the request message, the tenant perception engine in the controller identifies tenant information (corresponding tenant ID is matched through teacher certificate number, name and courtyard of the king teacher), and reads a cache region according to the tenant information, if the king teacher does not initiate similar applications before, the database is accessed to obtain the basic information of the king teacher, SLA information of related requests, customization information of the process (namely matching to the common process customization requirement of the king teacher) and a process model, the information is added into the process context, and the process context is sent to a workflow model constructor of the workflow engine; and if the King teacher sends a similar application before, directly reading the cache region, acquiring the basic information of the King teacher, the SLA information of the relevant request, the customization information of the King teacher to the process and the process model information, adding the information into the process context, and sending the process context to a workflow model constructor of a workflow engine.
3. And a workflow model constructor of the workflow engine constructs a flow example according with the characteristic of the lessee of the educational administration department according to the flow model in the flow context, the customized information of the king teacher on the flow and the basic information of the educational administration department, and distributes the flow example to a flow virtual machine corresponding to the service application of the king teacher according to the information of the king teacher.
4. After receiving the process instance, the process virtual machine puts the process instance into a process instance queue for waiting for scheduling, and a process instance scheduler performs scheduling according to the process information in the process context and the state of resources in the process virtual machine (checks whether the resources in the current system are enough to be allocated or not, and waits if the resources are not enough) to generate a process scheduling policy and updates the process context.
5. And the flow execution module of the virtual machine executes the flow according to the scheduling strategy, updates the flow context according to the flow execution state in the execution process, and returns the result to the teacher after the execution is finished.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.
Although the embodiments of the present invention have been described above, the descriptions are only used for understanding the embodiments of the present invention, and are not intended to limit the embodiments of the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the embodiments of the invention as defined by the appended claims.

Claims (17)

1. A workflow scheduling method, comprising:
receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information;
acquiring the process context of the tenant according to the basic information of the tenant; wherein the process context includes tenant information and process information;
and constructing a process instance with the tenant characteristics according to the process context of the tenant.
2. The workflow scheduling method according to claim 1, wherein the obtaining of the process context of the tenant according to the tenant basic information comprises:
and acquiring the process context of the tenant basic information which is the same as the tenant basic information in the business process request in a cache region.
3. The workflow scheduling method of claim 2 wherein said business process request further comprises at least one of: at least one piece of other information except the basic information of the tenant and at least one piece of process information in the tenant information;
the method further comprises the following steps:
updating the process context obtained in the cache region according to at least one of the following service process requests, and the process context in which the basic tenant information in the database is the same as the basic tenant information in the service process request:
at least one other information except the basic information of the tenant and at least one process information in the tenant information.
4. The workflow scheduling method according to claim 1, wherein the obtaining of the process context of the tenant according to the tenant basic information comprises:
when the process context with the tenant basic information being the same as the tenant basic information in the business process request is not obtained in the cache region, obtaining the process context with the tenant basic information being the same as the tenant basic information in the business process request in a database;
the method further comprises the following steps: and saving the obtained flow context into the cache region.
5. The workflow scheduling method of claim 4 wherein said business process request further comprises at least one of: at least one piece of other information except basic tenant information and at least one piece of process information in the tenant information;
the method further comprises the following steps:
updating the process context obtained in the database according to at least one of the following in the business process request: at least one piece of other information except basic tenant information and at least one piece of process information in the tenant information;
and storing the updated process context into the cache region.
6. The workflow scheduling method of claim 1, further comprising:
and executing the process instance, updating the process context according to the process execution state in the execution process, and returning an execution result to the tenant after the execution is finished.
7. The workflow scheduling method of claim 6, further comprising:
distributing the process instances to corresponding process virtual machines; or creating a process virtual machine and distributing the process instance to the created process virtual machine;
the execution flow example comprises the following steps: and executing the process instance through the process virtual machine.
8. The workflow scheduling method of claim 7, wherein said assigning the process instance to the corresponding process virtual machine comprises:
distributing the process instance to a process virtual machine corresponding to the tenant according to the tenant information;
the creating of the process virtual machine comprises: and establishing a process virtual machine for the tenant according to the tenant information and the current system state.
9. The workflow scheduling method of claim 7 wherein the executing of the process instance by the process virtual machine comprises:
the process virtual machine receives the process instance and puts the process instance into a process instance queue of the process virtual machine;
and scheduling the process instance in the process instance queue to execute through the process instance scheduler of the process virtual machine.
10. The workflow scheduling method of claim 6, further comprising:
and after the execution of the process instance of the tenant is finished, estimating the quality of experience of the tenant service.
11. A workflow scheduling apparatus comprising:
the controller is used for receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein the process context includes tenant information and process information;
and the workflow model constructor is used for constructing a process instance with the tenant characteristics according to the process context of the tenant.
12. The workflow scheduler of claim 11, further comprising:
and the flow instance execution module is used for executing the flow instance, updating the flow context according to the flow execution state in the execution process, and returning the execution result to the tenant after the execution is finished.
13. A workflow scheduling apparatus comprising a processor and a computer readable storage medium having instructions stored therein, wherein the instructions, when executed by the processor, implement a workflow scheduling method as claimed in any one of claims 1 to 10.
14. The workflow scheduler of claim 13 wherein the workflow scheduler is a workflow engine.
15. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the workflow scheduling method according to any one of claims 1 to 10.
16. A workflow scheduling system comprising:
the workflow scheduling device is used for receiving a business process request of a tenant; the business process request comprises basic tenant information in the tenant information; acquiring a process context of the tenant according to the basic information of the tenant; wherein the process context includes tenant information and process information; constructing a process instance with tenant characteristics according to the process context of the tenant;
and the execution device is used for executing the process instance, updating the process context according to the process execution state in the execution process, and returning the execution result to the tenant after the execution is finished.
17. The workflow scheduling system of claim 16 wherein the workflow scheduling device is a workflow engine and the execution device is a virtual machine.
CN201811350444.2A 2018-11-14 2018-11-14 Workflow scheduling method, device and system Pending CN111192100A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811350444.2A CN111192100A (en) 2018-11-14 2018-11-14 Workflow scheduling method, device and system
PCT/CN2019/104920 WO2020098352A1 (en) 2018-11-14 2019-09-09 Workflow scheduling method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811350444.2A CN111192100A (en) 2018-11-14 2018-11-14 Workflow scheduling method, device and system

Publications (1)

Publication Number Publication Date
CN111192100A true CN111192100A (en) 2020-05-22

Family

ID=70707025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811350444.2A Pending CN111192100A (en) 2018-11-14 2018-11-14 Workflow scheduling method, device and system

Country Status (2)

Country Link
CN (1) CN111192100A (en)
WO (1) WO2020098352A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114693283A (en) * 2022-06-01 2022-07-01 四川高灯企服科技有限公司 Cross-system business process approval processing method and device and computer equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077024A (en) * 2012-12-28 2013-05-01 山东地纬计算机软件有限公司 Device and method for supporting customization and running of software-as-a-service (SaaS) application processes
CN103198380A (en) * 2013-03-28 2013-07-10 北京慧正通软科技有限公司 Method for supporting Saas applications by utilizing workflow engine
CN104142864A (en) * 2014-08-07 2014-11-12 浪潮电子信息产业股份有限公司 Multi-tenant performance isolation framework based on virtualization technology
CN105917627A (en) * 2014-02-07 2016-08-31 甲骨文国际公司 Cloud service custom execution environment
CN108810164A (en) * 2018-06-29 2018-11-13 合肥微商圈信息科技有限公司 A kind of device for supporting the on-demand customization of SaaS application flows and operation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10063537B2 (en) * 2014-12-19 2018-08-28 Microsoft Technology Licensing, Llc Permission architecture for remote management and capacity instances
US10484382B2 (en) * 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077024A (en) * 2012-12-28 2013-05-01 山东地纬计算机软件有限公司 Device and method for supporting customization and running of software-as-a-service (SaaS) application processes
CN103198380A (en) * 2013-03-28 2013-07-10 北京慧正通软科技有限公司 Method for supporting Saas applications by utilizing workflow engine
CN105917627A (en) * 2014-02-07 2016-08-31 甲骨文国际公司 Cloud service custom execution environment
CN104142864A (en) * 2014-08-07 2014-11-12 浪潮电子信息产业股份有限公司 Multi-tenant performance isolation framework based on virtualization technology
CN108810164A (en) * 2018-06-29 2018-11-13 合肥微商圈信息科技有限公司 A kind of device for supporting the on-demand customization of SaaS application flows and operation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114693283A (en) * 2022-06-01 2022-07-01 四川高灯企服科技有限公司 Cross-system business process approval processing method and device and computer equipment
CN114693283B (en) * 2022-06-01 2022-09-27 四川高灯企服科技有限公司 Cross-system business process approval processing method and device and computer equipment

Also Published As

Publication number Publication date
WO2020098352A1 (en) 2020-05-22

Similar Documents

Publication Publication Date Title
US20200081731A1 (en) Method, system and apparatus for creating virtual machine
CN110324164B (en) Network slice deployment method and device
CN108337109B (en) Resource allocation method and device and resource allocation system
US10944621B2 (en) Orchestrator for a virtual network platform as a service (VNPAAS)
JP6658882B2 (en) Control device, VNF placement destination selection method and program
JP6614340B2 (en) Network function virtualization management orchestration device, method and program
US20190230004A1 (en) Network slice management method and management unit
CN106919445B (en) Method and device for scheduling containers in cluster in parallel
CN105897805B (en) Method and device for cross-layer scheduling of resources of data center with multi-layer architecture
US20190052528A1 (en) Network function virtualization management orchestration apparatus, method
US10924966B2 (en) Management method, management unit, and system
US9342328B2 (en) Model for simulation within infrastructure management software
CN106856438B (en) Network service instantiation method, device and NFV system
US9959157B1 (en) Computing instance migration
CN109445923A (en) A kind of method and device of micro services task schedule
CN111245634B (en) Virtualization management method and device
CN112463375A (en) Data processing method and device
CN116113923A (en) Container cluster management method and system
CN111061541A (en) Method, system, computer storage medium and terminal for creating virtual machine
CN109905258B (en) PaaS management method, device and storage medium
WO2021013185A1 (en) Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium
CN111192100A (en) Workflow scheduling method, device and system
CN109032753A (en) A kind of isomery virtual hard disk trustship method, system, storage medium and Nova platform
CN112882765A (en) Digital twin model scheduling method and device
CN108370329B (en) Management method and device for management function object

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