Method and apparatus for creating application, method and apparatus for processing request, device and storage medium

By obtaining and utilizing the configuration information of the processing entity and the entity jump history, and dynamically selecting the appropriate processing entity to handle requests, it solves the problem of limited ability of existing applications to handle complex requests, and improves the reliability and adaptability of the application.

WO2025156862A1PCT designated stage Publication Date: 2025-07-31BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/138767
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-26
Filing Date
2024-12-12
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

Existing applications usually correspond to a single agent, resulting in limited ability to process complex requests and difficult to effectively process.

Method used

The configuration information of the first processing entity associated with the application to be created is obtained, the target application is created based on the configuration information, and when it is determined that the first processing entity is not suitable for processing the request, the second processing entity is selected from the plurality of processing entities through the entity jump history to process the request.

Benefits of technology

It improves the reliability of application processing requests, responds to complex requests by dynamically switching processing entities, and enhances application adaptability and processing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024138767_31072025_PF_FP_ABST
    Figure CN2024138767_31072025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a method and apparatus for creating an application, a device and a storage medium. The method proposed herein comprises: acquiring configuration information of a first processing entity associated with an application to be created, the configuration information indicating a target action to be performed by the first processing entity when it is determined to be unsuitable for processing a request to be processed, and the application to be created being associated with multiple processing entities; and creating a target application on the basis of the configuration information. In this way, embodiments of the present disclosure can support a user configuring an action to be performed by a specific processing entity when it is determined to be unsuitable for processing a request, thereby improving the reliability of the application.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device, equipment and storage medium for creating applications and processing requests

[0001] This application claims priority to the Chinese invention patent application entitled “Method, apparatus, device and storage medium for creating applications and processing requests” filed on January 26, 2024, with application number: 202410117608.6. The entire contents of this application are incorporated by reference into this application. Technical Field

[0002] Example embodiments of the present disclosure generally relate to the field of computers, and more particularly, to methods, devices, apparatuses, and computer-readable storage media for creating applications and processing requests. Background Art

[0003] With the development of computer technology, people can create and publish various types of applications through some platforms. For example, with the development of machine learning technology, people can quickly create applications by configuring application parameters, such as the model used by the application and the available plug-ins. Summary of the Invention

[0004] In a first aspect of the present disclosure, a method for creating an application is provided. The method includes: obtaining configuration information of a first processing entity associated with the application to be created, the configuration information indicating a target action to be performed by the first processing entity when determining that the first processing entity is unsuitable for processing a request to be processed, the application to be created being associated with multiple processing entities; and creating a target application based on the configuration information.

[0005] In a second aspect of the present disclosure, a method for processing a request is provided. The method includes: receiving a target request for a target application; in response to determining that a first processing entity associated with the target application is unsuitable for processing the target request, determining a second processing entity from a plurality of processing entities associated with the target application based on an entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity in the plurality of processing entities to the first processing entity; and switching to the second processing entity to process the target request.

[0006] In a third aspect of the present disclosure, a device for creating an application is provided. The device includes: an acquisition module configured to acquire configuration information of a first processing entity associated with the application to be created, the configuration information indicating a target action to be performed by the first processing entity when determining that the first processing entity is unsuitable for processing a request to be processed, wherein the application to be created is associated with multiple processing entities; and a creation module configured to create a target application based on the configuration information.

[0007] In a fourth aspect of the present disclosure, a device for processing a request is provided. The device includes: a receiving module configured to receive a target request for a target application; a determining module configured to, in response to determining that a first processing entity associated with the target application is not suitable for processing the target request, determine a second processing entity from a plurality of processing entities associated with the target application based on an entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity in the plurality of processing entities to the first processing entity; and a switching module configured to switch to the second processing entity to process the target request.

[0008] In a fifth aspect of the present disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect or the second aspect.

[0009] In a sixth aspect of the present disclosure, a computer-readable storage medium is provided, wherein a computer program is stored on the computer-readable storage medium, and the computer program can be executed by a processor to implement the method of the first aspect or the second aspect.

[0010] It should be understood that the content described in this summary section is not intended to limit the key features or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:

[0012] FIG1 shows a schematic diagram of an example environment in which embodiments according to the present disclosure may be implemented;

[0013] FIG2 illustrates a flowchart of an example process for creating an application according to some embodiments of the present disclosure;

[0014] FIG3 illustrates an example interface according to some embodiments of the present disclosure;

[0015] FIG4 illustrates a flow chart of an example process for processing a request according to some embodiments of the present disclosure;

[0016] 5A to 5C are schematic diagrams illustrating updating entity jump history according to some embodiments of the present disclosure;

[0017] FIG6A shows a schematic structural block diagram of an example apparatus for creating an application according to some embodiments of the present disclosure;

[0018] FIG6B shows a schematic structural block diagram of an example apparatus for processing a request according to some embodiments of the present disclosure; and

[0019] FIG7 shows a block diagram of an electronic device capable of implementing various embodiments of the present disclosure. DETAILED DESCRIPTION

[0020] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

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

[0022] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part 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 be included below. The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may be included below.

[0023] The embodiments of the present disclosure may involve user data, data acquisition and / or use, etc. These aspects shall comply with the corresponding laws, regulations and relevant provisions. In the embodiments of the present disclosure, all data collection, acquisition, processing, processing, forwarding, use, etc. are carried out on the premise that the user is aware of and confirms them. Accordingly, when implementing the various embodiments of the present disclosure, the types, scope of use, and usage scenarios of the data or information that may be involved should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with the relevant laws and regulations. The specific notification and / or authorization method may vary according to the actual situation and application scenario, and the scope of the present disclosure is not limited in this respect.

[0024] If this specification and the solutions in the examples involve the processing of personal information, such processing will be done only with a legitimate basis (such as with the consent of the subject of personal information or as necessary for the performance of a contract) and only within the prescribed or agreed scope. A user's refusal to process personal information other than that required for basic functions will not affect the user's use of basic functions.

[0025] Traditionally, users have been able to quickly create applications, such as bots, by configuring models and plugins used by the application. However, such applications typically correspond to a single agent. Because agents typically have strong processing capabilities in specific areas, this limits the requests that the application can handle, making it difficult to effectively handle complex requests.

[0026] Embodiments of the present disclosure provide a solution for creating an application. According to this solution, configuration information of a first processing entity associated with the application to be created can be obtained. The configuration information indicates a target action to be performed by the first processing entity when it determines that it is unsuitable to process the request to be processed. The application to be created is associated with multiple processing entities. Furthermore, based on the configuration information, a target application can be created.

[0027] In this way, embodiments of the present disclosure can support users in configuring actions to be performed by a specific processing entity when it is determined to be unsuitable for processing a request, thereby improving the reliability of the application.

[0028] Embodiments of the present disclosure provide a solution for processing requests. According to this solution, a target request for a target application can be received. Furthermore, in response to a first processing entity associated with the target application determining that it is not suitable for processing the target request, a second processing entity can be determined from multiple processing entities associated with the target application based on the entity jump history of the target application, where the entity jump history indicates a historical jump process from a starting processing entity in the multiple processing entities to the first processing entity. Accordingly, a switch can be made to the second processing entity to process the target request.

[0029] In this way, the embodiments of the present disclosure can select another processing entity to continue processing a specific request based on the entity jump history of the application when determining that the processing entity is not suitable for processing the specific request. Therefore, the embodiments of the present disclosure can improve the reliability of application processing requests.

[0030] Various example implementations of this solution are described in detail below in conjunction with the accompanying drawings.

[0031] Sample Environment

[0032] FIG1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in FIG1 , the example environment 100 may include an electronic device 110 .

[0033] In this example environment 100, electronic device 110 may run an application 120 that supports interface interaction. Application 120 may be any suitable type of application for interface interaction, examples of which may include, but are not limited to, development applications or other suitable applications that support application development. User 140 may interact with application 120 via electronic device 110 and / or its attached devices.

[0034] In the environment 100 of FIG. 1 , if the application 120 is in an active state, the electronic device 110 may present an interface 150 for supporting the creation of an application through the application 120 .

[0035] In some embodiments, the electronic device 110 communicates with the server 130 to enable the provision of services for the application 120. The electronic device 110 can be any type of mobile terminal, fixed terminal or portable terminal, including a mobile phone, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multimedia tablet, a handheld computer, a portable game terminal, a VR / AR device, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an e-book device, a gaming device or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, the electronic device 110 can also support any type of interface for the user (such as a "wearable" circuit, etc.).

[0036] The server 130 may be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks, and big data and artificial intelligence platforms. For example, the server 130 may include a computing system / server such as a mainframe, an edge computing node, a computing device in a cloud environment, and the like. The server 130 may provide background services for the application 120 that supports virtual scenes in the electronic device 110.

[0037] A communication connection may be established between the server 130 and the electronic device 110. The communication connection may be established in a wired or wireless manner. The communication connection may include, but is not limited to, a Bluetooth connection, a mobile network connection, a Universal Serial Bus (USB) connection, a Wireless Fidelity (WiFi) connection, etc., and the embodiments of the present disclosure are not limited in this respect. In the embodiments of the present disclosure, the server 130 and the electronic device 110 may implement signaling interaction through the communication connection between the two.

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

[0039] Some example embodiments of the present disclosure will be described below with continued reference to the accompanying drawings.

[0040] Application creation process

[0041] FIG2 shows a flowchart of a process 200 for creating an application according to some embodiments of the present disclosure. The process 200 may be implemented at an electronic device 110 for creating an application. The process 200 is described below with reference to FIG1 .

[0042] As shown in Figure 2, in box 210, the electronic device 110 obtains configuration information of the first processing entity associated with the application to be created, and the configuration information indicates the target action performed by the first processing entity when it determines that it is not suitable for processing the request to be processed. The application to be created is associated with multiple processing entities.

[0043] In some embodiments, the electronic device 110 can support users configuring multiple processing entities (e.g., two or more processing entities) included in an application and jump relationships between processing entities to create an application. As will be described in detail below, such processing entities can include, for example, existing applications (also referred to as referenced applications) or agents to be configured. The following will describe an example process of creating an application according to some embodiments of the present disclosure in conjunction with Figure 3.

[0044] In some embodiments, electronic device 110 may provide an editing interface 300 as shown in FIG3 . In interface 300, electronic device 110 may support a user in creating a node connection diagram 350. Such a node connection diagram 350 may include a start node 302 and multiple nodes corresponding to multiple processing entities, such as node 304 corresponding to "agent 1." Additionally, electronic device 110 may support indicating jump relationships between corresponding processing entities by adding connections between nodes.

[0045] In some embodiments, the electronic device 110 can support a user in creating a new application. As an example, the electronic device 110 can create a first initial connection graph based on a request for a new application. Taking Figure 3 as an example, the first initial connection graph, for example, includes a first initial node (e.g., node 304). For a new application scenario, the attribute information of the first initial node (e.g., node 304) can be empty. Furthermore, the electronic device 110 can create a final node connection graph 350 based on an edit operation on the first initial connection graph.

[0046] In some embodiments, the electronic device 110 may support a user in converting an existing application based on a single agent to an application based on multiple processing entities. Specifically, the electronic device 110 may create a second initial connection graph based on a conversion request for an existing application associated with a single agent. In some embodiments, the second initial connection graph may include a second initial node (e.g., node 304 shown in FIG3 ) created based on the existing application.

[0047] In some embodiments, unlike in the scenario of creating a new application, the attribute information of the agent corresponding to the second initial node (e.g., agent 1) can be determined based on the attributes of an existing application. That is, at least part of the attribute information associated with the existing application can be synchronized to the newly created application.

[0048] In some examples, an agent automatically created by converting a single-agent-based application can inherit the model information of an existing application. For example, if the existing application is implemented based on a specific model, the agent can also be implemented based on that model.

[0049] 3 , the electronic device 110 may support the user to add one or more new nodes to the node connection graph 350 through control 312. As shown in FIG3 , the electronic device 110 may provide multiple controls for adding different types of nodes, such as control 306, control 308, and control 310.

[0050] In some embodiments, the user can add a new node corresponding to the new agent to the node connection diagram 350 through the control 306. Similar to the node 304, the user can edit the properties of the agent corresponding to the new node and configure the jump relationship between nodes.

[0051] In some embodiments, upon receiving a selection of control 308, electronic device 110 may provide a set of candidate applications that can be added. Accordingly, electronic device 110 may add one or more nodes corresponding to the one or more candidate applications to node connection graph 350 based on the user's selection of the one or more candidate applications. For example, node 318 may correspond to the added "Application 1."

[0052] The electronic device 110 may, for example, support a user to configure a jump condition between any two nodes. Such two nodes may include a node corresponding to an agent or a node corresponding to a referenced application.

[0053] As an example, as shown in FIG. 3 , the electronic device 110 may further support a user to configure a connection relationship between nodes in a node connection graph 350 , for example, the connection between the node 304 and the node 318 .

[0054] Specifically, as shown in FIG3 , the electronic device 110 may establish a connection between the node 304 and the node 318 based on a jump condition (eg, condition 1) associated with the node 304 configured by the user.

[0055] As an example, the connection can indicate a jump relationship between the processing entity corresponding to "Agent 1" and the processing entity corresponding to "Application 1", indicating that "Agent 1" can switch to "Application 1" to process requests or execute tasks when "Condition 1" is met.

[0056] In some embodiments, electronic device 110 may allow the user to enter text content through the configuration control of node 304 to define any appropriate jump condition. As an example, the content of "Condition 1" may be, for example, "When the user inquires about the weather." Thus, when "Agent 1" determines that the user's query content is related to the weather, it can switch to "Application 1" to respond to the query.

[0057] In some embodiments, to support the jump from "Agent 1" to "Application 1", a jump plug-in corresponding to the jump condition (e.g., condition 1) from "Agent 1" to "Application 1" can be created. This enables "Agent 1" to independently determine whether the jump plug-in needs to be used in the current scenario to perform the switch from "Agent 1" to "Application 1". In some examples, when "Agent 1" creates a jump condition, recommended interaction items for "Agent 1" can also be generated based on the jump condition.

[0058] In some embodiments, the electronic device 110 may also support the user to only add connections between nodes without configuring corresponding jump conditions. For example, after the user configures the jump relationship from "agent 1" to "application 1", "agent 1" can determine whether to switch to "application 1" based on the description information of "application 1".

[0059] As an example, such description information may indicate the capabilities of "Application 1." For example, the description information of "Application 1" may indicate that "Application 1" is suitable for tasks such as weather queries. Accordingly, when "Agent 1" receives a query about the weather, it may determine that "Application 1" is suitable for handling the query and switch to "Application 1."

[0060] Taking into account the increase of the number of nodes, in some scenarios, the user may expect to configure a global jump condition. As shown in Figure 3, electronic device 110 can also support the user to configure global jump information through control 310. This global jump information can indicate that at least one other processing entity except the target processing entity in the node connection diagram can switch to this target processing entity to process a request under a unified specific condition. In certain embodiments, this global jump information can indicate that all processing entities except the target processing entity in the node connection diagram can switch to this target processing entity to process a request under a unified specific condition. It should be understood that such a target processing entity can correspond to an intelligent agent or a referenced application.

[0061] In some embodiments, when a corresponding jump relationship is configured, during the process of the target application processing the target request, in response to the target application switching from one processing entity (e.g., processing entity A) to another processing entity (e.g., processing entity B) to process the target request, context information associated with processing entity A is provided to processing entity B for processing the target request.

[0062] Taking the jump from "agent 1" to "application 1" as an example, the historical conversation information between the user and "agent 1" can be provided to "application 1" as context information to improve the efficiency of "application 1" in processing tasks.

[0063] It should be understood that although the above describes the configuration process of the jump conditions using the jump between an agent and an application as an example, such a configuration process is also applicable to the jump from agent to agent, the adjustment from application to application, or the jump from application to agent.

[0064] In some embodiments, the electronic device 110 may also configure, based on the configuration control 314 , a target action to be performed by the processing entity (eg, “agent 1 ”) corresponding to the node 304 when determining that it is not suitable to process a request to be processed.

[0065] For example, the electronic device 110 may provide a set of candidate actions, such as action 316 - 1 and action 316 - 2 .

[0066] In some embodiments, action 316-1 may indicate that the pending request is still being processed by the first processing entity (eg, "Agent 1").

[0067] In some embodiments, action 316 - 2 may indicate jumping to a third processing entity of the plurality of processing entities to process the pending request, the third processing entity being determined from other entities of the plurality of processing entities based on the pending request.

[0068] For example, in the process of processing a specific request, the target application may determine a second processing entity suitable for processing the specific request based on the capabilities of other processing entities. Specifically, the target application may, for example, determine a predetermined number of candidate processing entities from all other processing entities, and the first processing entity may further determine a second processing entity suitable for processing the specific processing request from the plurality of candidate processing entities. In some embodiments, the predetermined number may be a preset number or may be determined based on user configuration information.

[0069] Similarly, the electronic device 110 may also configure, based on the configuration control 320 , a target action to be performed by the processing entity (eg, “application 1 ”) corresponding to the node 318 when determining that the processing entity is not suitable for processing a request to be processed.

[0070] Similarly, the electronic device 110 may provide a set of candidate actions suitable for the node 318, such as action 316-1, action 316-2, action 316-3, and action 316-4.

[0071] Unlike node 304, since node 318 is not a starting node, electronic device 110 may provide additional action options, such as action 332-1 and action 322-3. Specifically, in some embodiments, action 316-1 may indicate a jump to a second processing entity among multiple processing entities to process the pending request, wherein the second processing entity is determined based on the entity jump history of the target application during operation. The specific process of determining the entity jump history and determining the second processing entity will be described in detail below with reference to FIG4.

[0072] As another example, action 322 - 3 may indicate jumping to a starting processing entity (eg, “Agent 1 ” corresponding to starting node 304 ) among a plurality of processing entities to process the pending request.

[0073] In some embodiments, when the configured target action is obtained through the configuration control 314 or the configuration control 320, the target application can create a target plug-in corresponding to the target action for the corresponding processing entity (for example, "agent 1" or "application 1") so that the processing entity can execute the corresponding target action by calling the target plug-in.

[0074] Therefore, when it is determined that the current first processing entity is not suitable for processing the request to be processed, the first processing entity can execute the target action configured by the configuration control 314 or the configuration control 320 by calling the corresponding target plug-in.

[0075] In some embodiments, during execution, the target application may also update the plugin description information of the target plugin based on the entity description information of at least one processing entity corresponding to the target action (e.g., the starting processing entity, the previous processing entity, or other appropriate processing entity). As an example, the entity description information may include capability information or setting information of the second processing entity. Thus, the first processing entity can determine whether to call the target plugin based on the updated plugin description information to trigger the execution of the corresponding action.

[0076] In some embodiments, the target application may determine that the current processing entity is unsuitable for processing the request to be processed if it determines that one or more of the following conditions are satisfied individually or simultaneously.

[0077] The first condition may include, for example, that the matching degree between the guidance information of the current processing entity and the request to be processed is lower than a preset degree. For example, the guidance information of the current processing entity does not have any description related to the request.

[0078] The second condition may include, for example, guidance information of the current processing entity indicating that the current processing entity cannot process the pending request. For example, the guidance information of the current processing entity clearly indicates that responding to requests of this category is not allowed.

[0079] The third condition may include, for example, that the current processing entity is not configured with a capability for processing the request to be processed, where the capability includes knowledge capability or plug-in capability. For example, the current processing entity is not configured with a corresponding knowledge base or a plug-in capable of responding to the request.

[0080] The fourth condition may include, for example, that the request is not a generic type of request.

[0081] The fifth condition may include, for example, that the jump conditions configured by the current processing entity do not include jump conditions for resolving such request.

[0082] As an example, when all five conditions above are met, the current processing entity may determine that it is not suitable for processing the request to be processed, and may accordingly trigger an action indicated by the configuration information to switch to another processing entity.

[0083] 2 , in block 220 , the electronic device 110 creates a target application based on the configuration information.

[0084] As an example, the electronic device 110 may create a corresponding target application, such as a bot, based on the configuration information. Furthermore, the bot may be published or shared with other users.

[0085] Based on the process described above, embodiments of the present disclosure can support users in configuring the actions to be performed by a specific processing entity when it is determined to be unsuitable for processing a request, thereby improving the reliability of the application.

[0086] Request processing

[0087] FIG4 shows a flowchart of a process 400 for processing a request according to some embodiments of the present disclosure. The process 400 may be implemented at an electronic device 110 for running a created target application. The process 400 is described below with reference to FIG1 .

[0088] As shown in FIG. 4 , at block 410 , the electronic device 110 receives a target request for a target application.

[0089] As an example, when the target application is a conversation application, the target request may include a message input by the user to the conversation application.

[0090] At block 420 , the electronic device 110 may determine whether a first processing entity associated with the target application is suitable for processing the target request.

[0091] In some embodiments, the target application may determine that the current processing entity is unsuitable for processing the target request if it is determined that one or more of the following conditions are satisfied individually or simultaneously.

[0092] The first condition may include, for example, that the matching degree between the guidance information of the current processing entity and the target request is lower than a preset degree. For example, the guidance information of the current processing entity does not have any relevant description about the target request.

[0093] The second condition may include, for example, guidance information of the current processing entity indicating that the current processing entity cannot process the target request. For example, the guidance information of the current processing entity clearly indicates that responding to this type of target request is not allowed.

[0094] The third condition may include, for example, that the current processing entity is not configured with a capability for processing the target request, where the capability includes knowledge capability or plug-in capability. For example, the current processing entity is not configured with a corresponding knowledge base or a plug-in capable of responding to the target request.

[0095] The fourth condition may include, for example, that the target request is not a request of a generic type.

[0096] The fifth condition may include, for example, that the jump conditions configured by the current processing entity do not include jump conditions for resolving such target request.

[0097] As an example, when all of the above five conditions are met, the target application may determine that the first processing entity is not suitable for processing the target request.

[0098] Continuing with reference to FIG. 4 , in response to determining at block 420 that the first processing entity associated with the target application is unsuitable for processing the target request, process 400 may proceed to block 430 .

[0099] In block 430 , the electronic device 110 determines a second processing entity from among multiple processing entities associated with the target application based on an entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity to the first processing entity among the multiple processing entities.

[0100] In some embodiments, the electronic device 110 may obtain configuration information of the first processing entity, which may, for example, indicate that the first processing entity may execute an action of “jumping to a previous node” when it is not suitable for processing a target request.

[0101] Accordingly, the electronic device 110 may obtain the entity jump history of the target application. In some embodiments, the entity jump history may indicate that the second processing entity has jumped to the first processing entity in response to a specific request during operation.

[0102] FIG5A shows a schematic diagram 500A according to some embodiments of the present disclosure. Taking FIG5A as an example, the target application may include multiple processing entities, namely, processing entity 505 , processing entity 510 , processing entity 520 , processing entity 525 and processing entity 530 .

[0103] In some embodiments, the target application can record the historical jump process between processing entities. Taking Figure 5A as an example, if the target application jumps from processing entity 505 to processing entity 510 to respond to the first request when processing the first request, the target application can record the corresponding jump process, for example, A->B.

[0104] Accordingly, if the target application jumps from the processing entity 510 to the processing entity 515 to respond to the second request when processing the second request, the target application may update the corresponding jump process, for example, A->B->C.

[0105] Accordingly, if the target application jumps from the processing entity 515 to the processing entity 520 to respond to the third request when processing the third request, the target application may update the corresponding jump process, for example, A->B->C->D.

[0106] In this case, the target application processing entity 520 used to process the target request may be configured with an action of "jumping to the previous node", and the processing entity 520 is determined to be unsuitable for processing the target request. Accordingly, the electronic device 110 may determine that the "previous node" is the processing entity 515 (i.e., the second processing entity) based on the historical jump process.

[0107] In some embodiments, in order to improve the effectiveness of recording the historical jump process, the electronic device 110 may only record the starting processing entity and the response processing entity that processes a specific request during the historical jump process.

[0108] For example, taking the first request received as an example, if during the process of processing the first request, the target application jumps from processing entity 505 to processing entity 510 and then to processing entity 515, and the request is finally responded to by processing entity 515, the target application will accordingly record the direct jump from processing entity 505 to processing entity 515 (e.g., A->C) instead of recording all processing entities (e.g., A->B->C).

[0109] In some embodiments, to improve the timeliness of request responses, the target application can, for example, configure an upper limit on the number of processing entities to which a single request is allowed to jump. For example, the target application can determine the number of processing entities to which it has jumped during the process of processing the target request. If the number reaches a threshold (e.g., an upper limit), the target application can use the current processing entity 520 to process the target request, regardless of whether the processing entity 520 is suitable for processing the target request.

[0110] In contrast, if the number does not reach the threshold, the target application may determine a second processing entity to jump to, such as processing entity 515 , based on the process described above.

[0111] In some embodiments, the target application can also prevent the target request from forming a loop during multiple jumps. Specifically, if the target request jumps from processing entity 515 to processing entity 520 and then jumps back to processing entity 515, the target application can block the jump logic or configured backtracking action corresponding to processing entity 515 and use processing entity 515 to process the target request.

[0112] In some embodiments, if it is determined at block 420 that the first processing entity is suitable for processing the target request, the target application may utilize the first processing entity to respond to the target request (not shown in FIG. 4 ).

[0113] 4 , at block 440 , the electronic device 110 switches to the second processing entity to process the target request.

[0114] Taking FIG. 5B as an example, the target application may switch to the processing entity 515 to process the target request.

[0115] Furthermore, the target application may determine whether to jump to another processing entity based on configuration information such as the capabilities of the processing entity 515 , jump conditions, and actions to be performed when the processing request is not suitable.

[0116] As an example, in response to the target application finally utilizing the processing entity 515 to respond to the target request, the target application updates the entity jump history of the target application accordingly.

[0117] For example, the target application may update the historical jump process represented by the entity jump history to: A->B->C->D->C.

[0118] In some embodiments, considering that such a historical jump process has a C to C loop, the target application can delete the portion corresponding to the loop from the historical jump process. Specifically, the target application can determine whether the historical jump process from the starting processing entity to the first processing entity includes the second processing entity.

[0119] In some embodiments, if the historical jump process includes a second processing entity, the target application can determine a target portion from the historical jump process, where the target portion corresponds to the jump process from the starting processing entity to the second processing entity. For example, the target application can determine that an existing historical jump process (A->B->C->D) includes a second processing entity (i.e., C). The target application can then determine the target portion from the starting processing entity (i.e., A) to the second processing entity (i.e., C) from the historical jump process, i.e., A->B->C. Further, the target application can update the entity jump history based on the target portion.

[0120] In other embodiments, if the historical jump process includes a second processing entity, the target application adds the second processing entity to the historical jump process to update the entity jump history. For example, based on the example shown in FIG5A , if processing entity 520 further jumps to processing entity 525 to respond to the target request, the historical jump process can be updated to: A->B->C->D->E.

[0121] As another example, based on the example shown in FIG5A , the target application may determine that processing entity 520 needs to jump to processing entity 510. Furthermore, the second processing entity (e.g., processing entity 510) determined by the target application may need to perform an additional jump to determine the processing entity ultimately used for the corresponding target request.

[0122] 5C as an example, processing entity 515 can further jump to processing entity 525 to respond to the target request, and the target application can finally jump to processing entity 525 to respond to subsequent requests. In this case, the historical jump process can be updated to: A->B->C->E.

[0123] Based on the process described above, embodiments of the present disclosure can select another processing entity to continue processing a specific request based on the entity jump history of the application when determining that the processing entity is not suitable for processing the specific request. Thus, embodiments of the present disclosure can improve the reliability of application processing requests.

[0124] Example devices and equipment

[0125] Embodiments of the present disclosure also provide corresponding apparatuses for implementing the above-described methods or processes. FIG6A shows a schematic structural block diagram of an example apparatus 600 for creating an application according to certain embodiments of the present disclosure. Apparatus 600A may be implemented as or included in electronic device 110. Each module / component in apparatus 600A may be implemented by hardware, software, firmware, or any combination thereof.

[0126] As shown in Figure 6A, the device 600A includes an acquisition module 610, which is configured to acquire configuration information of a first processing entity associated with the application to be created, the configuration information indicating the target action performed by the first processing entity when it determines that it is not suitable for processing the request to be processed, and the application to be created is associated with multiple processing entities; and a creation module 620, which is configured to create a target application based on the configuration information.

[0127] In some embodiments, the target action indicates a jump to a second processing entity among the plurality of processing entities to process the pending request, and the second processing entity is determined based on an entity jump history of the target application during execution.

[0128] In some embodiments, the target action indicates a jump to an initial processing entity among the plurality of processing entities to process the pending request.

[0129] In some embodiments, the target action indicates a jump to a third processing entity among the plurality of processing entities to process the pending request, the third processing entity being determined from other entities among the plurality of processing entities based on the pending request.

[0130] In some embodiments, the target action indicates that the pending request is still to be processed by the first processing entity.

[0131] In some embodiments, the target processing entity comprises an agent or a referenced application.

[0132] In some embodiments, the first processing entity is determined to be unsuitable for processing the request to be processed when at least one of the following conditions is met: the degree of matching between the guidance information of the first processing entity and the request to be processed is lower than a preset degree; the guidance information of the first processing entity indicates that the first processing entity cannot process the request to be processed; the first processing entity is not configured with the capability to process the request to be processed, and the capability includes knowledge capability or plug-in capability.

[0133] In some embodiments, the target application is configured to: create a target plug-in corresponding to the target action for the first processing entity based on the configuration information, so that the first processing entity can execute the target action by calling the target plug-in.

[0134] In some embodiments, the target application is further configured to update the plug-in description information of the target plug-in based on the entity description information of the at least one processing entity corresponding to the target action.

[0135] Embodiments of the present disclosure also provide corresponding apparatuses for implementing the above-described methods or processes. FIG6B shows a schematic structural block diagram of an example apparatus 600 for processing a request according to certain embodiments of the present disclosure. Apparatus 600B may be implemented as or included in electronic device 110. Each module / component in apparatus 600B may be implemented by hardware, software, firmware, or any combination thereof.

[0136] As shown in Figure 6B, the device 600B includes a receiving module 630, which is configured to receive a target request for a target application; a determining module 640, which is configured to determine a second processing entity from multiple processing entities associated with the target application based on the entity jump history of the target application in response to determining that the first processing entity associated with the target application is not suitable for processing the target request, the entity jump history indicating a historical jump process from a starting processing entity among the multiple processing entities to the first processing entity; and a switching module 650, which is configured to switch to the second processing entity to process the target request.

[0137] In some embodiments, the apparatus 600B further includes an updating module configured to update the entity jump history based on switching the target application to the second processing entity.

[0138] In some embodiments, the update module is further configured to: in response to the target application responding to the target request using the second processing entity, determine whether the historical jump process from the starting processing entity to the first processing entity includes the second processing entity; and in response to the historical jump process not including the second processing entity, add the second processing entity to the historical jump process to update the entity jump history.

[0139] In some embodiments, the update module is further configured to: in response to the historical jump process including a second processing entity, determine a target part from the historical jump process, the target part corresponding to the jump process from the starting processing entity to the second processing entity; and update the entity jump history based on the target part.

[0140] In some embodiments, the update module is further configured to: in response to the target application responding to the target request using the third processing entity, update the entity jump history to indicate a jump from the first processing entity to the third processing entity to respond to the target request, the third processing entity being different from the second processing entity.

[0141] In some embodiments, the historical jump process indicates that the second processing entity has jumped to the first processing entity in response to a specific request during execution.

[0142] In some embodiments, the determination module 640 is further configured to: determine the number of processing entities that have been jumped in the process of processing the target request, and in response to the number being less than a threshold, determine a second processing entity from multiple processing entities associated with the target application based on the entity jump history of the target application.

[0143] FIG7 shows a block diagram of an electronic device 700 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 700 shown in FIG7 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 700 shown in FIG7 can be used to implement the electronic device 110 of FIG1 .

[0144] As shown in FIG7 , electronic device 700 is a general-purpose electronic device. Components of electronic device 700 may include, but are not limited to, one or more processors or processing units 710, memory 720, storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. Processing unit 710 may be a real or virtual processor and is capable of performing various processes according to programs stored in memory 720. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing capabilities of electronic device 700.

[0145] The electronic device 700 typically includes a plurality of computer storage media. Such media can be any accessible media that can be obtained by the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 730 can be a removable or non-removable medium and can include a machine-readable medium, such as a flash drive, a disk, or any other medium that can be used to store information and / or data and can be accessed within the electronic device 700.

[0146] The electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 7 , a disk drive for reading from or writing to a removable, non-volatile disk (e.g., a “floppy disk”) and an optical drive for reading from or writing to a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data media interfaces. The memory 720 may include a computer program product 725 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.

[0147] The communication unit 740 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 700 can be implemented as a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the electronic device 700 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.

[0148] Input device 750 may be one or more input devices, such as a mouse, keyboard, or trackball. Output device 760 may be one or more output devices, such as a display, a speaker, or a printer. Electronic device 700 may also communicate with one or more external devices (not shown) via communication unit 740 as needed, such as storage devices, display devices, or the like, with one or more devices that allow a user to interact with electronic device 700, or with any device that allows electronic device 700 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).

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

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

[0151] 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 device, thereby producing a machine, such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

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

[0153] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple implementations of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part for a module, program segment or instruction, and a part for a module, program segment or instruction comprises one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.

[0154] While various implementations of the present disclosure have been described above, the foregoing description is intended to be illustrative, not exhaustive, and not 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 selected to best explain the principles of the implementations, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for creating an application, comprising: Obtaining configuration information of a first processing entity associated with an application to be created, the configuration information indicating a target action to be performed by the first processing entity when determining that the first processing entity is not suitable for processing a request to be processed, the application to be created being associated with a plurality of processing entities; as well as Based on the configuration information, the target application is created.

2. The method according to claim 1, wherein the target action indicates jumping to a second processing entity among the plurality of processing entities to process the pending request, and the second processing entity is determined based on an entity jump history of the target application during execution. 3 . The method according to claim 1 , wherein the target action indicates a jump to an initial processing entity among the plurality of processing entities to process the pending request.

4. The method of claim 1 , wherein the target action indicates a jump to a third processing entity among the plurality of processing entities to process the pending request, the third processing entity being determined from other entities among the plurality of processing entities based on the pending request. The method of claim 1 , wherein the target action indicates that the pending request is still to be processed by the first processing entity. The method according to claim 1 , wherein the target processing entity comprises an agent or a referenced application.

7. The method according to claim 1 , wherein the first processing entity determines that it is not suitable to process the pending request if at least one of the following conditions is satisfied: The matching degree between the guidance information of the first processing entity and the request to be processed is lower than a preset degree; The guidance information of the first processing entity indicates that the first processing entity cannot process the pending request; The first processing entity is not configured with a capability for processing the request to be processed, wherein the capability includes a knowledge capability or a plug-in capability.

8. The method according to claim 1, wherein the target application is configured to: create a target plug-in corresponding to the target action for the first processing entity based on the configuration information, so that the first processing entity can execute the target action by calling the target plug-in. 9 . The method according to claim 8 , wherein the target application is further configured to update the plug-in description information of the target plug-in based on the entity description information of at least one processing entity corresponding to the target action.

10. A method for processing a request, comprising: receiving a target request for a target application; In response to determining that a first processing entity associated with a target application is not suitable for processing the target request, determining a second processing entity from a plurality of processing entities associated with the target application based on an entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity among the plurality of processing entities to the first processing entity; as well as Switch to the second processing entity to process the target request.

11. The method according to claim 10, further comprising: The entity jump history is updated based on the target application switching to the second processing entity.

12. The method according to claim 11, wherein updating the entity jump history comprises: In response to the target application responding to the target request using the second processing entity, determining whether the historical jump process from the starting processing entity to the first processing entity includes the second processing entity; as well as In response to the history jump process not including the second processing entity, the second processing entity is added to the history jump process to update the entity jump history.

13. The method according to claim 11, wherein updating the entity jump history further comprises: In response to the historical jump process including the second processing entity, determining a target portion from the historical jump process, the target portion corresponding to the jump process from the starting processing entity to the second processing entity; as well as Based on the target portion, the entity jump history is updated.

14. The method according to claim 11, wherein updating the entity jump history comprises: In response to the target application responding to the target request using a third processing entity, updating the entity jump history to indicate a jump from the first processing entity to the third processing entity in response to the target request, the third processing entity being different from the second processing entity. 15 . The method according to claim 10 , wherein the historical jump process indicates that the second processing entity has jumped to the first processing entity in response to a specific request during operation.

16. The method according to claim 10, wherein determining the second processing entity from a plurality of processing entities associated with the target application based on the entity jump history of the target application comprises: The number of processing entities jumped during processing the target request is determined, and in response to the number being less than a threshold, a second processing entity is determined from a plurality of processing entities associated with the target application based on an entity jump history of the target application.

17. The method according to claim 16, further comprising: In response to the number reaching the threshold, responding to the target request using the first processing entity.

18. A device for creating an application, comprising: an acquisition module configured to acquire configuration information of a first processing entity associated with an application to be created, the configuration information indicating a target action to be performed by the first processing entity when determining that the first processing entity is not suitable for processing a request to be processed, the application to be created being associated with a plurality of processing entities; as well as The creation module is configured to create the target application based on the configuration information.

19. An apparatus for processing a request, comprising: A receiving module is configured to receive a target request for a target application; a determining module configured to, in response to a first processing entity associated with a target application determining that it is not suitable for processing the target request, determine a second processing entity from a plurality of processing entities associated with the target application based on an entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity among the plurality of processing entities to the first processing entity; as well as The switching module is configured to switch to the second processing entity to process the target request.

20. An electronic device comprising: at least one processing unit; as well as At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform the method according to any one of claims 1 to 9 or 10 to 17.

21. A computer-readable storage medium having a computer program stored thereon, the computer program being executable by a processor to implement the method according to any one of claims 1 to 9 or 10 to 17.

Citation Information

Patent Citations

  • Method and device using floating window to carry out function customization in main application interface

    CN106502540A

  • Application program processing method and device, storage medium and computer equipment

    CN107357644A

  • Application program management method and device, electronic equipment and storage medium

    CN113849208A

  • Application Start Method and Electronic Device

    US20220308899A1

  • Method for starting up task, and electronic device

    WO2022037639A1