Request processing method and apparatus, device, and storage medium

By determining whether to skip non-critical components and prioritize the execution of critical components based on component dependency information during chatbot processing, the problem of slow chatbot response speed is solved, improving user experience and the reliability of request processing.

WO2025246542A1PCT designated stage Publication Date: 2025-12-04BEIJING YOUZHUJU NETWORK TECH CO LTD

Patent Information

Application Number
PCT/CN2025/082308
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-27
Filing Date
2025-03-13
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

When chatbots process user requests, the long processing chain leads to slow response times and timeouts, which negatively impacts the user experience.

Method used

During the processing of the target request, determine whether the first expected duration of the triggered component exceeds the available time, determine whether to skip the component based on dependency information, and prioritize the execution of critical components to save time.

Benefits of technology

By granularizing time for individual components, we can reduce timeout risks, improve the reliability of request processing, and enhance the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025082308_04122025_PF_FP_ABST
    Figure CN2025082308_04122025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a request processing method and apparatus, a device, and a storage medium. The method provided herein comprises: receiving a target request to be processed; during the processing of the target request, determining a triggered first component; in response to a first expected duration of the first component not exceeding an available duration of the target request, determining first dependency information of the first component, wherein the available duration is determined on the basis of a preset duration and an executed duration of the target request, and the first dependency information indicates a dependency type of a second component to be executed on the first component; and at least on the basis of the first dependency information, determining a target execution strategy for the first component, wherein the target execution strategy indicates whether to skip the first component.
Need to check novelty before this filing date? Find Prior Art

Description

Request processing methods, apparatus, devices, and storage media

[0001] This application claims priority to Chinese Patent Application No. 202410667687.8, filed on May 27, 2024, entitled "Request Processing Method, Apparatus, Device and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field

[0002] The exemplary embodiments disclosed herein generally relate to the field of computer technology, and more specifically, to request processing methods, apparatus, devices, and storage media. Background Technology

[0003] A chatbot is a computer software system capable of simulating human conversation. Chatbots use natural language processing (NLP) technology to understand and generate human language, thereby interacting with users. Currently, a chatbot needs to go through a relatively complex processing procedure for a single user request, which results in a slow response time. Summary of the Invention

[0004] In a first aspect of this disclosure, a method for request processing is provided. The method includes: receiving a target request to be processed; determining a first component that is triggered during the processing of the target request; determining first dependency information of the first component in response to a first expected duration of the first component not exceeding the available duration of the target request, the available duration being determined based on a preset duration and the already executed duration of the target request, the first dependency information indicating a dependency type of a second component to be executed on the first component; and determining a target execution strategy for the first component, at least based on the first dependency information, the target execution strategy indicating whether to skip the first component.

[0005] In a second aspect of this disclosure, an apparatus for request processing is provided. The apparatus includes: a request receiving module configured to receive a target request to be processed; a triggering component determining module configured to determine a first component to be triggered during the processing of the target request; a dependency information determining module configured to determine first dependency information of the first component in response to a first expected duration of the first component not exceeding the available duration of the target request, wherein the available duration is determined based on a preset duration and the already executed duration of the target request, and the first dependency information indicates the dependency type of a second component to be executed on the first component; and an execution strategy determining module configured to determine a target execution strategy for the first component based at least on the first dependency information, wherein the target execution strategy indicates whether to skip the first component.

[0006] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor. When executed by the at least one processor, the instructions cause the device to perform the method of the first aspect.

[0007] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores computer-executable instructions that can be executed by a processor to implement the method of the first aspect.

[0008] In a fifth aspect of this disclosure, a computer program product is provided. The computer program product includes computer-executable instructions that, when executed by a processor, implement the method according to a first aspect of this disclosure.

[0009] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0011] Figure 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;

[0012] Figure 2 shows an example process flowchart for request processing according to some embodiments of the present disclosure;

[0013] Figure 3 illustrates a flowchart of an example process for request processing according to some embodiments of the present disclosure;

[0014] Figure 4 shows a schematic structural block diagram of a message processing apparatus according to some embodiments of the present disclosure;

[0015] Figure 5 shows a block diagram of an electronic device that may implement one or more embodiments of the present disclosure. Detailed Implementation

[0016] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0017] It should be noted that the headings of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and embodiments of any type may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.

[0018] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0019] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.

[0020] In this specification and the embodiments, any processing of personal information will be carried out only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information other than that necessary for basic functions will not affect the user's use of basic functions.

[0021] As briefly described above, chatbots involve a relatively complex processing flow. For example, when a user makes a request to a chatbot, the chatbot needs to invoke multiple components to perform processes such as data processing, feature management, and intent recognition, thereby fully understanding the user's meaning. This results in a long processing chain and a slow response time. However, to ensure a good user experience, chatbots need to respond to user requests within a short time, which leaves very limited response time and can easily lead to processing timeouts.

[0022] Therefore, embodiments of this disclosure provide a request processing method, which includes: receiving a target request to be processed. During the processing of the target request, a first component that has been triggered is identified, and in response to the first expected duration of the first component not exceeding the available duration of the target request, first dependency information of the first component is determined. The available duration is determined based on a preset duration and the already executed duration of the target request. The first dependency information indicates the dependency type of a second component to be executed on the first component. Then, at least based on the first dependency information, a target execution strategy for the first component is determined. The target execution strategy indicates whether to skip the first component.

[0023] As will be more clearly understood from the following description, in the request processing method according to embodiments of this disclosure, if it is found during the processing of a target request that the first expected duration of the first component does not exceed the available duration of the target request, the dependency degree of the second component to be executed on the first component can be determined based on the first dependency information. Then, based on this dependency degree, the target execution strategy for the first component can be determined, i.e., whether to skip the first component. When choosing to skip the first component, the execution time of the first component will be saved. In this way, embodiments of this disclosure can save execution time at the granularity of a single component, which can reduce the risk of timeout while ensuring that the target request can be processed smoothly, thereby improving the user experience.

[0024] The following will further describe in detail various example implementations of this scheme with reference to the accompanying drawings.

[0025] Example Environment

[0026] Figure 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in Figure 1, the example environment 100 may include an electronic device 120.

[0027] In this example environment 100, terminal device 110 has an application 130 installed for interacting with electronic device 120. User 140 can interact with application 130 via terminal device 110 and / or its attached devices. Application 130 can be a social application, a content sharing application, or any other suitable application.

[0028] In addition, the terminal device 110 can display the interface 150 of the application 130. The content displayed on the interface 150 will change depending on the specific service provided, the user's interaction behavior / preset operation, etc.

[0029] As an example, user 140 may send a target request via interface 150 provided by application 130. As an example, application 130 may be associated with a customer service robot, and user 140 may enter a message via interface 150 to send a target request to be processed to the customer service robot associated with electronic device 120.

[0030] In some embodiments, terminal device 110 communicates with electronic device 120 to provide services to application 130. Terminal device 110 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, terminal device 110 can also support any type of user-facing interface (such as "wearable" circuitry).

[0031] Electronic device 120 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. Electronic device 120 may include, for example, computing systems / servers such as mainframes, edge computing nodes, and computing devices in a cloud environment. Electronic device 120 can provide backend services for applications 130 that support content presentation in terminal device 110.

[0032] A communication connection can be established between electronic device 120 and terminal device 110. This communication connection can be established via wired or wireless means. The communication connection may include, but is not limited to, Bluetooth connections, mobile network connections, Universal Serial Bus connections, and Wi-Fi connections; the embodiments of this disclosure are not limited in this respect. In the embodiments of this disclosure, electronic device 120 and terminal device 110 can achieve signaling interaction through their communication connection.

[0033] It should be understood that the structure and function of the various elements in environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.

[0034] Example process

[0035] Figure 2 illustrates a flowchart of an example process 200 for request processing according to some embodiments of the present disclosure. Process 200 will now be described with reference to Figure 1.

[0036] As shown in Figure 2, in box 210, electronic device 120 receives a target request to be processed. As discussed with reference to Figure 1, such a target request can be generated based on a target message sent by a user. Taking a customer service scenario as an example, terminal device 110 can, for example, obtain a target message sent by a user and send that target message to electronic device 120 to generate a target request to be processed by a customer service robot.

[0037] It should be understood that such customer service robots may include any appropriate customer service procedures, for example, to handle users' customer service inquiries.

[0038] Furthermore, in box 220, the electronic device 120 determines the first component that is triggered during the processing of the target request.

[0039] In some embodiments, the electronic device 120 may process a target request based on a predetermined processing flow. Such a processing flow may involve the sequential or parallel execution of multiple components to be executed.

[0040] Continuing with the customer service scenario as an example, electronic device 120 can, for instance, determine the processing flow to be applied based on the type of customer service request to be processed, and further determine multiple components associated with the processing flow. Such components can represent individual business modules, such as a small talk module, a reassurance module, etc.

[0041] Furthermore, the electronic device 120 can determine the component to be triggered based on the processing flow, and can determine the execution strategy of each component based on the process described below.

[0042] In box 230, in response to the first expected duration of the first component not exceeding the available duration of the target request, the electronic device 110 determines the first dependency information of the first component. The available duration is determined based on the preset duration and the executed duration of the target request. The first dependency information indicates the dependency type of the second component to be executed on the first component.

[0043] The specific process of block 230 will now be described with reference to FIG3, which shows a flowchart of a request processing process 300 according to some embodiments of the present disclosure.

[0044] As shown in Figure 3, process 300 may include execution logic 310 associated with a single component, and a latency metric module 350 for determining the expected time taken by the component.

[0045] Specifically, at 312, electronic device 110 can begin the execution logic of the first component based on determining that the first component has been triggered. At 314, electronic device 110 can obtain the remaining executable time of the current request.

[0046] In some embodiments, the remaining executable time of the current request can be determined based on a preset duration (e.g., the maximum duration allowed for a single request to execute) and the duration the request has already executed. For example, for the first component, the available time of the target application can be the preset duration. For subsequent components, the available time of the target application can be reduced by the already executed time accordingly.

[0047] Referring again to Figure 3, at 316, the electronic device 110 may, for example, dynamically acquire the time consumed by the current component within a predetermined duration, as the first expected duration of the component. In some embodiments, the electronic device 110 may, for example, determine the first expected duration of the current component based on the historical execution information of the current component (e.g., the execution time consumed in the past 6 hours).

[0048] Furthermore, as shown in Figure 3, the electronic device 110 can, for example, obtain the first expected duration of the current component by calling the interface provided by the latency metric module 350. Specifically, as shown in the figure, the latency metric module 350 can start a timed task at 352 to obtain the historical execution information of each component over a 6-hour period, for example, every predetermined interval (e.g., 1 minute).

[0049] Furthermore, in 354, the latency metric module 350 can maintain results at the component level, such as the average execution time of each component over the past 6 hours, or the P99 duration, etc.

[0050] Furthermore, in 356, the latency metric module 350 can expose an interface to allow components to obtain data at runtime and return cached results, thereby reducing latency.

[0051] Continuing with the component's execution logic, at 318, the electronic device 110 can determine whether the component's first expected duration exceeds the target application's available time (i.e., remaining executable time). If the first expected duration exceeds the remaining executable time, the electronic device 110 can process the target request at 320 according to a preset strategy, such as executing a fallback strategy or other degradation strategy.

[0052] Conversely, if it is determined at 318 that the first expected duration of the current component does not exceed the available duration, the electronic device 110 can further determine the dependency type of the current component. In some embodiments, such a dependency type may include, for example, a first dependency type, indicating that failure or non-execution of the dependent party will cause the dependent party to fail. The first dependency type may also be referred to as a "strong dependency".

[0053] Additionally, dependency types may also include secondary dependency types to indicate that the failure or non-execution of the dependent party does not affect the normal execution of the dependent party. Secondary dependency types may also be referred to as "weak dependencies," for example.

[0054] In some embodiments, the electronic device 110 may acquire, for example, labeling information of multiple components associated with the processing flow. Such labeling information may include tags corresponding to multiple components, each tag indicating the dependency type of the corresponding component. For example, the electronic device 110 may acquire the tags of each component in advance to indicate, for example, whether it is a "strong dependency" component or a "weak dependency" component.

[0055] Furthermore, the electronic device 110 can determine the dependency type of the current component based on such annotation information, for example, whether it is a "strong dependency".

[0056] Referring again to Figure 2, in box 240, electronic device 110 determines the target execution strategy of the first component based at least on the first dependency information. The target execution strategy indicates whether to skip the first component.

[0057] Specifically, as shown in Figure 3, in response to determining at 322 that the current component corresponds to a second dependency type (e.g., a weak dependency), the electronic device 110 can further determine at 324 the total time consumed by all remaining strong dependency components that are not being executed.

[0058] Specifically, the electronic device 110 may, for example, determine a set of target components from one or more components to be executed, such a set of target components corresponding to a first dependency type. Further, the electronic device 110 may determine a target execution strategy for the first component based on a comparison of a second expected duration with an available duration for the set of target components to be executed.

[0059] As shown in Figure 3, at 326, the electronic device 110 can determine whether the total time consumed by the group of target components has reached the available time of the target request (i.e., the current remaining time). If the total time consumed has reached the available time, the electronic device 110 can determine the execution strategy of the current component at 332 to skip the current component, that is, ignore the current "weakly dependent" component, and can update the system information accordingly.

[0060] Therefore, the embodiments of this disclosure can prioritize the execution of "strongly dependent" components, thereby ensuring the stability of request processing.

[0061] Conversely, if it is determined at 326 that the total time consumed is less than the available time, then the electronic device 110 can determine the execution strategy of the current component as executing the current component, and can execute the current component normally at 328.

[0062] Furthermore, at 330, the electronic device 110 can notify subsequent nodes after the current component has finished executing, and can update the available duration of the target request (i.e., the remaining executable time) accordingly.

[0063] Furthermore, if it is determined at 322 that the current component corresponds to the first dependency type (i.e., a strongly dependent component), then electronic device 110 can execute the component normally at 328. Further, at 330, electronic device 110 can notify subsequent nodes after the current component has finished executing, and can update the available duration of the target request (i.e., remaining executable time) accordingly.

[0064] Therefore, the embodiments of this disclosure can save execution time at the granularity of individual components, which can improve the reliability of request processing, reduce the risk of timeout, and thus improve the user experience while ensuring that the target request can be processed smoothly.

[0065] Example devices and equipment

[0066] Embodiments of this disclosure also provide corresponding apparatus for implementing the methods or processes described above. FIG4 shows a schematic structural block diagram of an apparatus 400 for request processing according to some embodiments of this disclosure. The apparatus 400 may be implemented as or included in the electronic device 120. The various modules / components in the apparatus 400 may be implemented by hardware, software, firmware, or any combination thereof.

[0067] As shown in Figure 4, the device 400 includes a request receiving module 410 configured to receive a target request to be processed; a triggering component determining module 420 configured to determine a first component to be triggered during the processing of the target request; a dependency information determining module 430 configured to determine first dependency information of the first component in response to the first expected duration of the first component not exceeding the available duration of the target request, wherein the available duration is determined based on a preset duration and the already executed duration of the target request, and the first dependency information indicates the degree of dependency of the second component to be executed on the first component; and an execution strategy determining module 440 configured to determine a target execution strategy of the first component based at least on the first dependency information, wherein the target execution strategy indicates whether to skip the first component.

[0068] In some embodiments, the dependency type includes: a first dependency type, indicating that failure or non-execution of the dependent party will cause the dependent party to fail; or a second dependency type, indicating that failure or non-execution of the dependent party will not affect the normal execution of the dependent party.

[0069] In some embodiments, the execution strategy determination module 440 is further configured to: determine a set of target components to be executed, the set of target components corresponding to the first dependency type, in response to the first dependency information corresponding to the second dependency type; and determine the target execution strategy of the first component based on a comparison of the second expected duration and the available duration of the set of target components to be executed.

[0070] In some embodiments, the execution strategy determination module 440 is further configured to: determine the target execution strategy as executing the first component in response to the second expected duration being less than the available duration; or determine the target execution strategy as skipping the first component in response to the second expected duration reaching the available duration.

[0071] In some embodiments, the apparatus 400 further includes an update module configured to: execute a first component in response to first dependency information corresponding to a first dependency type; and update the available duration of the target request based on the execution time of the first component.

[0072] In some embodiments, the apparatus 400 further includes a processing module configured to process a target request according to a preset strategy in response to a first expected duration exceeding the available duration.

[0073] In some embodiments, the dependency information determination module is further configured to: obtain first dependency information of the first component based on the annotation information associated with multiple components, wherein the annotation information indicates the labels corresponding to multiple components, and the labels indicate the dependency type of the corresponding component.

[0074] In some embodiments, the apparatus 400 further includes a duration determination module configured to determine a first expected duration of the first component based on historical execution information of the first component.

[0075] In some embodiments, the duration determination module is configured to obtain the first expected duration of the first component based on the interface provided by the target module, and the target module is configured to store historical execution information of multiple components and generate the expected execution duration of multiple components based on the historical execution information.

[0076] In some embodiments, the request receiving module 410 is further configured to: receive a target message sent to the customer service robot; and obtain a target request to be processed based on the target message.

[0077] In some embodiments, the trigger component determination module 420 is further configured to determine the first component to be triggered based on the processing flow associated with the customer service robot.

[0078] Figure 5 shows a block diagram of an electronic device / server 500 in which one or more embodiments of the present disclosure may be implemented. This electronic device / server 500 may, for example, be used to implement the electronic device 120 shown in Figure 1. It should be understood that the electronic device / server 500 shown in Figure 5 is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein.

[0079] As shown in Figure 5, the electronic device 500 is in the form of a general-purpose electronic device. Components of the electronic device 500 may include, but are not limited to, one or more processors or processing units 510, memory 520, storage devices 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560. The processing unit 510 may be a physical or virtual processor and is capable of performing various processes according to programs stored in the memory 520. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 500.

[0080] Electronic device 500 typically includes multiple computer storage media. Such media can be any available media accessible to electronic device 500, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 520 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 530 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media capable of storing information and / or data and accessible within electronic device 500.

[0081] Electronic device 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 5, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks may be provided. In these cases, each drive may be connected to a bus (not shown) via one or more data media interfaces. Memory 520 may include computer program product 525 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.

[0082] Communication unit 540 enables communication with other electronic devices via a communication medium. Additionally, the functionality of components of electronic device 500 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, electronic device 500 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0083] Input device 560 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 560 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 500 can also communicate with one or more external devices (not shown) via communication unit 540 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 500, or with any device that enables electronic device 500 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).

[0084] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.

[0085] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0086] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0087] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0088] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0089] Various implementations of this disclosure have been described above. The foregoing description is exemplary and not exhaustive, nor is it limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is determined to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A request processing method, comprising: receiving a target request to be processed; determining a triggered first component during processing of the target request; in response to a first expected duration of the first component not exceeding an available duration of the target request, determining first dependency information of the first component, the available duration being determined based on a preset duration and an executed duration of the target request, the first dependency information indicating a dependency type of a second component to be executed on the first component; and determining a target execution strategy of the first component based at least on the first dependency information, the target execution strategy indicating whether to skip the first component.

2. The method of claim 1, wherein the dependency type comprises: a first dependency type indicating that a dependent party execution failure or non-execution will cause a dependent party execution failure; or a second dependency type indicating that a dependent party execution failure or non-execution does not affect normal execution of the dependent party.

3. The method of claim 2, wherein determining the target execution strategy of the first component based at least on the first dependency information comprises: in response to the first dependency information corresponding to the second dependency type, determining a set of target components to be executed, the set of target components corresponding to the first dependency type; and determining the target execution strategy of the first component based on a comparison of a second expected duration of the set of target components to be executed and the available duration.

4. The method of claim 3, wherein determining the target execution strategy of the first component based on the comparison of the second expected duration of the set of target components to be executed and the available duration comprises: in response to the second expected duration being less than the available duration, determining the target execution strategy as executing the first component; or in response to the second expected duration reaching the available duration, determining the target execution strategy as skipping the first component.

5. The method of claim 2, further comprising: in response to the first dependency information corresponding to the first dependency type, executing the first component; and updating the available duration of the target request based on an execution time of the first component.

6. The method of claim 1, further comprising: in response to the first expected duration exceeding the available duration, processing the target request according to a preset strategy.

7. The method of claim 1, wherein determining the first dependency information of the first component comprises: obtaining the first dependency information of the first component based on annotation information associated with a plurality of components, the annotation information indicating labels corresponding to the plurality of components, the labels indicating the dependency type of the corresponding components.

8. The method of claim 1, further comprising: determining the first expected duration of the first component based on historical execution information of the first component.

9. The method of claim 8, wherein determining the first expected duration of the first component based on historical execution duration of the first component comprises: ​ ​ ​ ​ ​ Based on an interface provided by a target module, the first expected duration of the first component is obtained, the target module is configured to store the historical execution information of a plurality of components and generate expected execution durations of the plurality of components based on the historical execution information. 10.The method of claim 1, wherein receiving a target request to be processed comprises: receiving a target message sent to a customer service robot; and based on the target message, obtaining the target request to be processed. 11.The method of claim 10, wherein determining a triggered first component comprises: based on a processing flow associated with the customer service robot, determining the triggered first component. 12.A request processing apparatus, comprising: a request receiving module configured to receive a target request to be processed; a triggered component determining module configured to determine a triggered first component during processing of the target request; a dependency information determining module configured to, in response to a first expected duration of the first component not exceeding an available duration of the target request, determine first dependency information of the first component, the available duration being determined based on a preset duration and an executed duration of the target request, the first dependency information indicating a dependency type of a second component to be executed on the first component; and an execution strategy determining module configured to determine a target execution strategy of the first component based on at least the first dependency information, the target execution strategy indicating whether to skip the first component. 13.An electronic device, comprising: at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions, when executed by the at least one processor, cause the electronic device to perform the method according to any one of claims 1 to 11. 14.A computer-readable storage medium having computer-executable instructions stored thereon, the computer-executable instructions executable by a processor to implement the method according to any one of claims 1 to 11. 15.A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 11. ​

Citation Information

Patent Citations

  • Distributed workflow scheduling method and device, storage medium and electronic equipment

    CN111950988A

  • Offline task scheduling method and device, computer equipment and storage medium

    CN114064230A

  • Timeout control method and device, electronic equipment, storage medium and program product

    CN114510363A

  • Request processing method and device, equipment and storage medium

    CN118502907A

  • Dynamic initiation of services

    US20210075884A1

Cited By

  • Method and device for controlling robot system, equipment, storage medium and program product

    CN121572341A