Scheduling method and system for serverless function workflow request processing
By building an event-driven request processing scheduling framework and multiple scheduling strategies, the timeliness and fairness of request processing in the Serverless function workflow is solved, and efficient and orderly request scheduling is achieved.
Patent Information
- Application Number
- CN202210835589.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-15
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2042-07-15
AI Technical Summary
The serverless function workflow request processing lacks an effective scheduling mechanism, which leads to insufficient timeliness and fairness in request processing, especially in high load situations, which is difficult to ensure the orderliness and timely response of requests.
Build an event-driven request processing scheduling framework, including a global scheduling configuration center and a local event request scheduler. By defining event message structure and supporting a variety of scheduling strategies, such as static priority, dynamic priority, minimum remaining time priority and earliest call time priority policy, we realize request scheduling of function workflows.
It improves the request processing efficiency of the Serverless function workflow, reduces the average execution time, improves the guarantee of request processing time under high load conditions, and realizes the orderliness and fairness of requests.
Smart Images

Figure CN115357348B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Serverless computing technology, and in particular to a scheduling method and system for Serverless function workflow request processing. Background Art
[0002] In serverless computing, developers build applications using fine-grained cloud functions and deploy them to the serverless computing platform for highly elastic computing. Serverless frees developers from the tedious and complex tasks of server maintenance, allowing them to focus on business development. This improves code reuse and rapid iteration capabilities. However, modern applications are characterized by complex functionality and closely interdependent modules. A single serverless function often cannot meet actual user requests. Therefore, it is necessary to efficiently organize a group of stateless functions with a specific execution order to meet complex functional requirements. This group of stateless functions is called a serverless function workflow. Similar to serverless functions, serverless function workflows also process requests through network calls. When the load is high, call requests will be queued in the function's request queue, awaiting response processing.
[0003] To ensure the correct and efficient execution of Serverless function workflows, it's necessary to ensure a good order in the processing of Serverless function workflow call requests. For example, the system must ensure that all pending requests for a specific workflow are processed before a timeout. This requires optimizing the request execution order to avoid "starvation" caused by waiting for earlier requests. Overall, this requires ensuring a basic order in request processing. However, currently, request scheduling technology for Serverless function workflows lacks effective mechanisms to support this.
[0004] Currently, serverless function workflows primarily organize and execute individual serverless functions through a workflow engine. The processing of invocation requests relies on invoking each serverless function. However, due to the structural characteristics of serverless function workflows, the serverless function request processing mechanism cannot effectively support the processing requirements of serverless function workflows.
[0005] In a serverless function, invocation requests for a single function are queued in the order they arrive, with the request queue visible only to the current function. However, serverless function workflows incorporate diverse logical structures, including sequential, branching, looping, and concurrency. During workflow request processing, requests are processed at varying speeds in different functions and branches, causing the processing order of requests to fluctuate and diverge from their arrival order. In the worst-case scenario, requests that arrive first can actually be responded to later due to queue delays. Compared to serverless functions, function workflows struggle to establish a unified request management queue, making it difficult to guarantee an orderly request processing order within function workflows.
[0006] Therefore, request processing in Serverless function workflows requires effective scheduling support. Summary of the Invention
[0007] The purpose of the present invention is to provide a scheduling method and system for serverless function workflow request processing to solve the problem of insufficient timeliness and fairness of request processing in serverless function workflows.
[0008] To achieve the above objectives, the present invention provides a scheduling method for processing Serverless function workflow requests, including:
[0009] Construct an event message structure that supports workflow request scheduling, and the event message structure corresponds to the call request of the function workflow;
[0010] Constructing an event-driven request processing scheduling framework, which includes a global scheduling configuration center and multiple local event request schedulers. The global scheduling configuration center is responsible for configuring and distributing scheduling policies for each local event request scheduler; and
[0011] By integrating each local event request scheduler into an event-driven trigger, a trigger supporting event-triggered scheduling is constructed, and the trigger schedules the request processing of the function workflow according to the event message structure.
[0012] In one embodiment of the method for scheduling serverless function workflow request processing of the present invention, building an event-driven request processing scheduling framework further includes:
[0013] In the request processing scheduling framework, the global scheduling configuration center integrates the request processing scheduling strategy as needed, and the request processing scheduling strategy makes a scheduling decision based on the information of the event message structure.
[0014] In one embodiment of the scheduling method for Serverless function workflow request processing described in the present invention, the request processing scheduling strategy includes but is not limited to one or more of a static priority scheduling strategy, a dynamic priority scheduling strategy, a shortest remaining time priority scheduling strategy, and an earliest call time priority scheduling strategy.
[0015] In one embodiment of the method for scheduling serverless function workflow request processing of the present invention, building an event-driven request processing scheduling framework further includes:
[0016] The global scheduling configuration center synchronizes the request processing scheduling strategy to each local event request scheduler;
[0017] Each local event request scheduler sets a request processing scheduling policy that takes effect locally.
[0018] In one embodiment of the method for scheduling serverless function workflow request processing of the present invention, the step of scheduling the function workflow request processing according to the event message structure by the trigger further includes:
[0019] Before the event is triggered, the trigger determines whether the event request to be triggered supports scheduling. If scheduling is not supported, the trigger executes the immediate trigger directly; if scheduling is supported, the trigger proceeds to the next step.
[0020] The local event request scheduler parses the event requests to be triggered and extracts the description information of the function workflow according to the event message structure; assigns the priority of the event requests to be triggered according to the description information, inserts the event requests to be triggered into the multi-level priority queue according to the assigned priority, and triggers the event requests to be triggered in sequence according to the priority.
[0021] Another aspect of the present invention provides a scheduling system for processing Serverless function workflow requests, including:
[0022] An event-driven request processing scheduling framework, including a global scheduling configuration center and multiple local event request schedulers. The global scheduling configuration center is responsible for configuring and distributing scheduling policies for each local event request scheduler; and
[0023] A trigger that supports event-triggered scheduling, in which each local event request scheduler is integrated. The trigger schedules the request processing of the function workflow based on an event message structure that supports workflow request scheduling. The event message structure corresponds to the call request of the function workflow.
[0024] In one embodiment of the scheduling system for processing Serverless function workflow call requests described in the present invention, the global scheduling configuration center integrates the request processing scheduling strategy on demand, and the request processing scheduling strategy makes scheduling decisions based on the information in the event message structure.
[0025] In one embodiment of the scheduling system for processing call requests for Serverless function workflows described in the present invention, the request processing scheduling strategy includes, but is not limited to, one or more of a static priority scheduling strategy, a dynamic priority scheduling strategy, a shortest remaining time priority scheduling strategy, and an earliest call time priority scheduling strategy.
[0026] In one embodiment of the scheduling system for processing Serverless function workflow call requests described in the present invention, the global scheduling configuration center includes:
[0027] The scheduling strategy configuration module configures the request scheduling strategy of the function workflow and synchronizes it to each local event request scheduler; and
[0028] The scheduling policy distribution module integrates the scheduling policy in a plug-in manner and distributes it to the corresponding local event request scheduler.
[0029] In one embodiment of the scheduling system for processing Serverless function workflow call requests of the present invention, the local event request scheduler includes:
[0030] The local scheduling policy management module interacts with the global scheduling configuration center to achieve synchronous configuration and policy settings;
[0031] Call the request parsing module to parse the event request to be triggered and extract the description information of the function workflow based on the event message structure;
[0032] a priority allocation module, allocating priorities of requests for triggering events according to the description information; and
[0033] The multi-level priority queue management module inserts the event requests to be triggered into the multi-level priority queue according to the assigned priorities, and triggers the event requests to be triggered in sequence according to the priorities.
[0034] By adopting the above technical solution, the beneficial technical effects of the present invention are:
[0035] The present invention implements orderly scheduling of Serverless function workflow call requests in a decentralized manner, supports flexible integration of multiple scheduling strategies, and integrates and tests four scheduling strategies: static priority scheduling, dynamic priority scheduling, shortest remaining time priority scheduling, and earliest call time priority scheduling. Compared with the case without a scheduling strategy (instant trigger strategy), each scheduling strategy reduces the average execution time of function workflow request processing; as the load (concurrency) of the function workflow continues to increase, the time guarantee of request processing using the scheduling strategy is further improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 This is a structural diagram of the event-driven request processing scheduling framework of the present invention.
[0037] Figure 2 The structure and workflow diagram of the trigger that supports event-triggered scheduling in the present invention.
[0038] Figure 3 This is an experimental effect diagram of request scheduling optimization of the present invention.
[0039] Figure 4 This is a diagram of the event triggering process that supports request scheduling in the present invention.
[0040] Figure 5 A synchronization flow chart is provided for the scheduling strategy of the present invention. DETAILED DESCRIPTION
[0041] The present invention will be described in detail below with reference to the accompanying drawings and specific embodiments, but this does not limit the present invention.
[0042] The existing technology has the problem of insufficient guarantee of timeliness and fairness in request processing in Serverless function workflows. To address this problem, the present invention solves the challenge of difficulty in scheduling Serverless function workflows by constructing an event-driven request processing scheduling framework; the present invention optimizes and expands the event-driven mechanism and integrates the request processing scheduling framework with the trigger function; the present invention solves the problem of unified identification of function workflow requests during the processing process by defining an event message format for request processing. The main key technologies of the present invention are as follows:
[0043] 1. Event-driven request processing scheduling framework
[0044] The event-driven request processing scheduling framework consists of two parts: a global scheduling configuration center and local event request schedulers. The global scheduling configuration center includes a scheduling policy configuration module and a scheduling policy distribution module, responsible for configuring, distributing, and managing scheduling policies for each local event request scheduler. The local event request scheduler includes a local scheduling policy management module, a scheduling request parsing module, a priority allocation module, and a multi-level priority queue management module, responsible for real-time request processing scheduling. Each local event request scheduler is integrated into each event-driven trigger to achieve decentralized scheduling. Through the collaboration of the global scheduling configuration center and the local event request schedulers, the scheduling framework supports a pluggable mechanism, providing flexible integration of scheduling policies for different computing targets, avoiding the problem of a single scheduling policy. Figure 1 The structure of the event-driven request processing scheduling framework of the present invention is shown.
[0045] By adopting the above technology, decentralized scheduling of workflow call requests and flexible integration of multiple scheduling strategies can be achieved.
[0046] 2. Support event-triggered scheduling triggers
[0047] This technology adds a local event request scheduler to the existing event triggering process within the trigger, implementing decentralized scheduling within the request processing scheduling framework. The event triggering process can be divided into three phases: event production, triggering, and consumption. During the event triggering phase, the trigger submits the pending trigger request, resulting from event acquisition and conditional evaluation, to the local event request scheduler. The local event request scheduler sets the request processing priority based on the current event type, configured scheduling policy, and pending request information. It maintains this priority in a multi-level priority queue and ultimately triggers the request according to the queue order. Figure 2 The structure and workflow of the trigger supporting event-triggered scheduling of the present invention are demonstrated.
[0048] By adopting the technology, the trigger request triggering can be supported to achieve order according to the priority.
[0049] 3. Event message structure that supports scheduling
[0050] The original event message format does not support the analysis and identification information required for the scheduling strategy. Since in the specific processing process, the call request of the function workflow is decomposed into call requests of each function in turn, these call requests do not contain information at the level of the function workflow to which they belong, resulting in an inability to obtain effective scheduling basis during scheduling. By redefining the event message structure of function calls and adding support for scheduling metadata information, it is possible to uniformly identify requests when scheduling each trigger, and provide the basic information for priority analysis required for the scheduling strategy. As shown in Table 1 below, this is the event message structure that supports workflow request scheduling in the present invention.
[0051] The use of the technology can support the unified identification of call requests during the scheduling process and provide the analytical information required for scheduling.
[0052]
[0053] Table 1
[0054] In some embodiments, the implementation of the present invention includes: providing users with an event message API (Application Program Interface) that supports scheduling, building an event-driven request processing scheduling framework, integrating request processing scheduling strategies on demand, building triggers that support event-triggered scheduling, and implementing request processing scheduling for Serverless function workflows.
[0055] 1. Provide an event message API that supports scheduling
[0056] In the Serverless computing platform, the event message structure that supports workflow request scheduling is defined as shown in Table 1 above. This message structure corresponds to the call request of the function workflow, and the corresponding function workflow request is traced by analyzing the relevant fields. For this event message structure, the focus should be on providing description fields for the Serverless function workflow, including function workflow identifier, function workflow request ID, function workflow request time, function workflow timeout time, function workflow priority, etc. The function workflow request is converted into an event and logically triggered and transmitted between its constituent functions. Each field in the message structure needs to be maintained accordingly during the request triggering and transmission process. Among them,
[0057] (1) Function workflow identifier: This identifier is used to identify the function workflow to which the current event message belongs, in order to distinguish requests from different function workflows that may be processed on the same trigger. This identifier should remain unchanged during the triggering and delivery of the request. The identifier should be assigned when the function workflow call request is generated.
[0058] (2) Function workflow request ID: This is used to identify each call request in a function workflow, distinguishing different requests received by a unified function workflow. This ID should remain unchanged during the request triggering and delivery process. This ID should be assigned when the function workflow call request is generated.
[0059] (3) Function workflow request time: This field is used to identify the time when the function workflow request was generated. The value of this field should remain unchanged during the triggering and delivery of the request. Its value can be generated when the function workflow calls the request, or when the request is first received by the trigger.
[0060] (4) Function workflow timeout: This is used to identify the maximum processing time for a workflow request. If a request times out and is not processed, the function or system that issued the request may consider the request unprocessable and may consider reissuing the request. The timeout is an important basis for calculating scheduling priority. It can be statically immutable or dynamically variable based on the specific platform strategy. Its initial setting should be completed before the corresponding request is first scheduled.
[0061] (5) Function workflow priority: used as a priority reference for scheduling. It can set the corresponding priority according to the selected scheduling strategy, and its setting is completed by the local event request scheduler in the trigger.
[0062] In addition, the message structure also includes some compatibility fields, such as event representation and message version, to maintain compatibility with the management of other event messages.
[0063] For the defined event messages, the Serverless computing platform can encapsulate their processing methods to form a universal API, especially providing support for operations such as message generation, message field access, and scheduling priority setting, and further used for the design and implementation of function call APIs, request scheduling APIs, etc.
[0064] 2. Build an event-driven request processing scheduling framework
[0065] The event-driven request processing and scheduling framework synchronizes global and local scheduling information, enabling decentralized operation of schedulers and priority-based scheduling. The framework consists of a global scheduling configuration center and local event request schedulers. In the section on building an event-triggered scheduler, we will focus on integrating the local event request schedulers into the event-driven request processing and scheduling framework. Here, we will focus on the interaction between the two modules of the framework, as well as the construction of the global scheduling configuration center.
[0066] To achieve the full functionality of the scheduling framework, the present invention needs to build a global scheduling configuration center in the Serverless computing platform to enable interaction with the local event request scheduler, including the configuration of scheduler parameters, the setting and synchronization of Serverless function workflow request processing scheduling strategies, etc. Figure 5 The global scheduling configuration center includes two main modules: the scheduling policy configuration module and the scheduling policy distribution module.
[0067] (1) Scheduling policy configuration module. This module focuses on configuring and synchronizing various workflow request scheduling policies. It allows the Serverless computing platform to set corresponding configuration parameters in the global scheduling configuration center, such as the scheduling policy corresponding to the workflow and the corresponding parameters of the scheduling policy. The global scheduling configuration center can synchronize the corresponding parameters to the corresponding triggers in real time or periodically.
[0068] (2) Scheduling policy distribution module. This module supports the integration of scheduling policies into the framework in a plug-in manner. The integrated scheduling policies can be distributed to the corresponding triggers according to the policy configuration. When integrating a scheduling policy, the name of the corresponding policy and the executable module (such as a compiled link library, source code, script, etc.) must be provided.
[0069] The local event request scheduler generates and calculates event triggering priorities based on the configuration and policies of the global scheduling configuration center.
[0070] 3. On-demand integration request processing scheduling strategy
[0071] Before implementing a local event request scheduler and building corresponding triggers, you can integrate request processing scheduling strategies into the event-driven request processing scheduling framework as needed. Request processing scheduling strategies make scheduling decisions based on the workflow description fields provided by event messages, establishing specific priorities for request processing or event triggering. Several commonly used scheduling strategies in the framework are described below, including static priority scheduling, dynamic priority scheduling, shortest remaining time priority scheduling, and earliest call time priority scheduling:
[0072] (1) Static priority scheduling strategy. When a function workflow call request is generated, a specific priority is assigned to the request. This priority remains unchanged during the request triggering and transmission process, so that each request is triggered and executed according to the specific priority.
[0073] (2) Dynamic priority scheduling strategy: When a function workflow call request is generated, a specific priority is assigned to the request. During the processing, the priority of the request is adjusted according to the specific scheduling strategy.
[0074] (3) Shortest remaining time priority scheduling strategy. Requests are assigned priorities based on the remaining time after each request timeout, that is, the difference between the current time and the request call time. This can be used in conjunction with the dynamic priority scheduling strategy.
[0075] (4) Earliest call time priority scheduling strategy. Assign request priority according to the time when the request is generated. Refer to the request call time field in the event message. This can be used in conjunction with the dynamic priority scheduling strategy.
[0076] The above description only illustrates commonly used scheduling strategies, but the technical solution of the present invention is not only applicable to the above scheduling strategies, but is also applicable to other scheduling strategies not listed above, all of which fall within the protection scope of the present invention.
[0077] In one embodiment of the present invention, four scheduling strategies, namely static priority scheduling, dynamic priority scheduling, shortest remaining time priority scheduling, and earliest call time priority scheduling, were integrated and tested through experiments. Compared with the case without a scheduling strategy (immediate trigger strategy), each scheduling strategy reduced the average execution time of request processing in the function workflow. As the load (concurrency) of the function workflow continues to increase, the time guarantee for request processing using the scheduling strategy is further improved. Figure 3 As shown, it shows the experimental effect diagram of the request scheduling optimization of the present invention.
[0078] 4. Build triggers that support event-triggered scheduling
[0079] The present invention needs to expand the original function of the trigger, such as Figure 2 As shown in the figure, different types of triggers are required depending on the event type, such as HTTP triggers, database transaction triggers, and composite triggers. Regardless of the trigger type, its main function is to retrieve event messages from the event message queue, determine whether the event execution conditions are met based on the event message, and if so, trigger the subsequent function to process the event. This process does not include the ability to schedule call requests. To support event trigger scheduling, it is necessary to build a trigger that supports event trigger scheduling. This scheduling capability is universal and can be integrated into various trigger types.
[0080] According to the characteristics of the event-driven request processing scheduling framework, a local event request scheduler is added to the trigger. The scheduler is a local scheduling module of the event-driven request processing scheduling framework (such as Figure 2 This module is responsible for priority-based scheduling of requests triggered by the current trigger. This module shares functionality with the trigger's existing immediate scheduling module. Before an event is triggered, an additional analysis process is required to determine whether the event supports request scheduling. Figure 4 The figure shows the relationship between the immediate scheduling module and the local event request scheduler (workflow scheduling policy execution): when the event processed by the trigger does not support request scheduling, the immediate scheduling module can still perform subsequent triggering; if the corresponding event supports request scheduling, the corresponding request can be handed over to the local event request scheduler for processing. Therefore, the local event request scheduler can reuse the immediate scheduling module's interface with the predecessor module as input and reuse its output interface to implement subsequent triggering.
[0081] In the local event request scheduler, it is necessary to build sub-modules such as local scheduling policy management, call request parsing, priority allocation, and multi-level priority queues according to framework requirements, among which:
[0082] (1) Local scheduling policy management module: The local scheduling policy management module interacts with the global scheduling configuration center to achieve synchronous configuration and policy settings.
[0083] (2) Call Request Parsing Module. The call request parsing module processes the trigger event request submitted by the scheduler condition judgment module, extracts the field information of the function workflow, and submits it to the priority allocation module for processing.
[0084] (3) Priority Assignment Module. The priority assignment module assigns event triggering priorities based on the events and workflow information submitted by the call request parsing module. The priority assignment module loads the corresponding scheduling strategy based on the workflow and generates the corresponding function flow through the scheduling algorithm. For example, for the shortest remaining time priority scheduling strategy, the algorithm calculates the workflow's remaining time after timeout to generate a priority and updates the event's workflow priority field.
[0085] (4) Multi-level priority queue management module: The multi-level priority queue management module inserts the events that have completed priority allocation into the multi-level priority queue, manages the events according to priority, and triggers the stored events in order of priority.
[0086] 5. Implementing Request Processing Scheduling for Serverless Function Workflows
[0087] Based on the previous settings, during the function workflow request processing process, the function workflow request processing scheduling can be performed. In one embodiment of the present invention, the computing platform implements the request scheduling process as follows: Figure 4 As shown:
[0088] Step 401: A function generates a call event. The function that calls the function workflow or a function in the function workflow executes scheduling according to program logic, generating a call event. This event can call an API that supports event scheduling, generate an event message that supports scheduling, and publish the event message to the message queue.
[0089] Step 402: The event message queue caches the corresponding event. The event message queue caches the event into the corresponding queue topic according to management needs based on information such as the event type.
[0090] Step 403: The trigger obtains the corresponding event according to the event topic. The trigger subscribed to the event message queue obtains the corresponding request event from the message queue.
[0091] Step 404: The trigger analyzes the event triggering conditions. The trigger analyzes the acquired request event to determine whether the event has met the triggering conditions, especially for compound triggers, which need to wait for complex conditions to be met.
[0092] Step 405: The trigger determines whether the trigger condition is met. If the trigger condition is not met, the event condition is updated and subsequent event requests are awaited. If the trigger condition is met, the process proceeds to step 406.
[0093] Step 406: The trigger determines whether the request supports scheduling. The trigger determines whether the event request to be triggered supports scheduling. If not, the trigger directly executes the immediate trigger; if scheduling is supported, the trigger continues to step 407.
[0094] Step 407: The trigger scheduler parses the workflow request. The trigger scheduler parses the trigger event request, extracts the description information of the function workflow according to the definition of the event message structure, and pre-processes it before submitting it to the scheduling strategy.
[0095] Step 408: The trigger scheduler calculates and assigns the request priority. The trigger scheduler executes the configured scheduling policy and updates the priority of the event request.
[0096] Step 409: The trigger scheduler inserts the request into the multi-level priority queue according to the priority. The trigger scheduler inserts the updated event request into the multi-level priority queue, and the multi-level priority queue performs hierarchical event management according to the priority of the request.
[0097] Step 410: The request waits to be triggered in order of priority. When the multi-level priority queue dequeues the request according to the priority, the corresponding request is forwarded to the subsequent function for execution.
[0098] See also Figure 5 As shown, this figure is a flow chart of the synchronization of the scheduling strategy setting of the present invention. In one embodiment of the present invention, combined with Figure 1 、 Figure 2 The specific steps of the process are as follows:
[0099] Step 501: Set workflow scheduling policy in the global scheduling configuration center;
[0100] Step 502, synchronizing the workflow scheduling policy to each local event request scheduler; and
[0101] Step 503: The local event request scheduler sets the scheduling policy to take effect locally.
[0102] To address the issue of "the lack of a request processing scheduling mechanism for Serverless function workflows and the difficulty of Serverless function workflows directly reusing the function's queue management mechanism," the present invention analyzes the working scenarios of function workflows and finds that efficient request scheduling can be achieved with the help of an event-driven mechanism. Based on this, the present invention proposes a scheduling framework for Serverless function workflows based on event-driven processing. The framework defines the event message format for workflow call requests and supports the expansion of scheduling policies. Through experiments on four scheduling policies in the above embodiment, it can be verified that the framework proposed by the present invention can effectively guarantee the timeliness of workflow request execution and improve the service quality of the Serverless function workflow system.
[0103] Of course, the present invention may have many other embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art may make various corresponding changes and modifications based on the present invention, but these corresponding changes and modifications should all fall within the scope of protection of the claims attached to the present invention.
Claims
1. A method for scheduling serverless function workflow request processing, characterized in that: include: Construct an event message structure that supports workflow request scheduling, and the event message structure corresponds to the call request of the function workflow; Constructing an event-driven request processing scheduling framework, which includes a global scheduling configuration center and multiple local event request schedulers. The global scheduling configuration center is responsible for configuring and distributing scheduling policies for each local event request scheduler; and By integrating each local event request scheduler into an event-driven trigger, a trigger supporting event-triggered scheduling is constructed, and the trigger schedules the request processing of the function workflow according to the event message structure.
2. The method for scheduling Serverless function workflow request processing according to claim 1 is characterized in that: The construction of an event-driven request processing scheduling framework further includes: In the request processing scheduling framework, the global scheduling configuration center integrates the request processing scheduling strategy as needed, and the request processing scheduling strategy makes a scheduling decision based on the information of the event message structure.
3. The method for scheduling Serverless function workflow request processing according to claim 2 is characterized in that: The request processing scheduling strategy includes but is not limited to one or more of a static priority scheduling strategy, a dynamic priority scheduling strategy, a shortest remaining time priority scheduling strategy, and an earliest call time priority scheduling strategy.
4. The method for scheduling Serverless function workflow request processing according to claim 1, 2 or 3, characterized in that: The construction of an event-driven request processing scheduling framework further includes: The global scheduling configuration center synchronizes the request processing scheduling strategy to each local event request scheduler; Each local event request scheduler sets a request processing scheduling policy that takes effect locally.
5. The method for scheduling Serverless function workflow request processing according to claim 1, 2 or 3, characterized in that: The step of the trigger scheduling the request processing of the function workflow according to the event message structure further includes: Before the event is triggered, the trigger determines whether the event request to be triggered supports scheduling. If scheduling is not supported, the trigger executes the immediate trigger directly; if scheduling is supported, the trigger proceeds to the next step. The local event request scheduler parses the event requests to be triggered and extracts the description information of the function workflow according to the event message structure; assigns the priority of the event requests to be triggered according to the description information, inserts the event requests to be triggered into the multi-level priority queue according to the assigned priority, and triggers the event requests to be triggered in sequence according to the priority.
6. A scheduling system for Serverless function workflow request processing, characterized by: include: An event-driven request processing scheduling framework, including a global scheduling configuration center and multiple local event request schedulers. The global scheduling configuration center is responsible for configuring and distributing scheduling policies for each local event request scheduler; and A trigger that supports event-triggered scheduling, in which each local event request scheduler is integrated. The trigger schedules the request processing of the function workflow based on an event message structure that supports workflow request scheduling. The event message structure corresponds to the call request of the function workflow.
7. The scheduling system for Serverless function workflow request processing according to claim 6, characterized in that: The global scheduling configuration center integrates the request processing scheduling strategy as needed, and the request processing scheduling strategy makes a scheduling decision based on the information of the event message structure.
8. The scheduling system for Serverless function workflow request processing according to claim 7, characterized in that: The request processing scheduling strategy includes but is not limited to one or more of a static priority scheduling strategy, a dynamic priority scheduling strategy, a shortest remaining time priority scheduling strategy, and an earliest call time priority scheduling strategy.
9. The scheduling system for Serverless function workflow request processing according to claim 6, 7 or 8, characterized in that: The global scheduling configuration center includes: The scheduling strategy configuration module configures the request scheduling strategy of the function workflow and synchronizes it to each local event request scheduler; and The scheduling policy distribution module integrates the scheduling policy in a plug-in manner and distributes it to the corresponding local event request scheduler.
10. The scheduling system for Serverless function workflow request processing according to claim 6, 7 or 8, characterized in that: The local event request scheduler includes: The local scheduling policy management module interacts with the global scheduling configuration center to achieve synchronous configuration and policy settings; Call the request parsing module to parse the event request to be triggered and extract the description information of the function workflow based on the event message structure; a priority allocation module, allocating priorities of requests for triggering events according to the description information; and The multi-level priority queue management module inserts the event requests to be triggered into the multi-level priority queue according to the assigned priorities, and triggers the event requests to be triggered in sequence according to the priorities.
Citation Information
Patent Citations
Distributed cloud computing method and device based on server-free architecture
CN110058950A
KR20220074367A