Atomic service management method and electronic equipment

By identifying the target intentions in user data and querying the corresponding atomic services, the problem of difficulty in screening atomic services in electronic devices is solved, accurate recommendation of atomic services is achieved, and user experience is improved.

CN119960639APending Publication Date: 2025-05-09HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311440552.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-31
Publication Date
2025-05-09

AI Technical Summary

Technical Problem

In electronic devices, how to accurately filter out the atomic services required by users, especially among a large number of atomic services, there are difficulties when users find or recommend atomic services.

Method used

By identifying the target intent in the pending data provided by the user, based on the correspondence between the atomic service and the intent, the atomic service corresponding to the target intent is queried, a first atomic service list is formed, and the second atomic service list is filtered out according to the service parameters and the slots of the user's intent to accurately recommend the atomic service required by the user.

Benefits of technology

Atomic services that quickly and accurately query the executable target intentions are achieved, improving user experience and ensuring accurate recommendations of atomic services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119960639A_ABST
    Figure CN119960639A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an atomic service management method and electronic equipment, and can improve the accuracy of querying atomic services by identifying a target intention in to-be-processed data provided by a user, querying atomic services corresponding to the target intention, and displaying a list composed of the queried atomic services corresponding to the target intention.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to an atomic service management method and electronic device. Background Art

[0002] An atomic service is a program entity that can be executed independently, realize a single function, and satisfy a certain user intention (such as taking a taxi, ordering food, setting an alarm, etc.). The carrier of an atomic service can be in various forms such as Android applications, quick applications, mini-programs, Web services, etc. Atomic services split services into the smallest and most basic functional units and exist in a distributed system in the form of microservices. Atomic services have the characteristics of independence, composability, scalability, and substitutability, making them suitable for building flexible, reliable, and efficient user interfaces.

[0003] However, there are usually a large number of atomic services in electronic devices. When users search for or recommend atomic services to users, how to accurately screen out the atomic services required by users is a problem that needs to be solved urgently. Summary of the invention

[0004] The embodiments of the present application provide an atomic service management method and an electronic device, which manage atomic services based on intent. Based on the user's target intent, the atomic service that can execute the target intent can be searched to accurately recommend the atomic service required by the user.

[0005] In a first aspect, an embodiment of the present application provides an atomic service management method, which is applied to an electronic device, and the method includes: in response to a user operation on the data to be processed, identifying the target intent of the data to be processed; based on the correspondence between the atomic service and the intent, querying the atomic service corresponding to the target intent to obtain a first atomic service list; the first atomic service list includes service information of the atomic service corresponding to the queried target intent; the service information is used to describe the atomic service; and displaying a second atomic service list, which is determined based on the first atomic service list.

[0006] Among them, the first atomic service list is the atomic service corresponding to the queried target intent.

[0007] In the above embodiment, the electronic device extracts the user's target intent by identifying the data to be processed provided by the user, and based on the target intent, accurately finds the atomic services that can execute the target intent, and lists the found atomic services that can execute the target intent to accurately recommend the atomic services needed by the user.

[0008] In combination with the first aspect, in a possible embodiment, the second atomic service list is the first atomic service list. In combination with the first aspect, in a possible embodiment, when the electronic device is turned on, service information of the atomic service is obtained from the installation information of the local application; and the service information of the atomic service obtained is stored according to the definition of the atomic service.

[0009] In combination with the first aspect, in a possible embodiment, the service information of the atomic service includes the identification, response capability, and service parameter list of the atomic service; the response capability is used to indicate the achievable intent of the atomic service; and the service parameter list is used to indicate the service parameters of the atomic service.

[0010] In combination with the first aspect, in a possible embodiment, based on the correspondence between atomic services and intents, querying the atomic service corresponding to the target intent includes: querying the service information of the atomic service corresponding to the target intent in the first-level cache of the electronic device; if the service information of the atomic service corresponding to the target intent is not found in the first-level cache, querying the service information of the atomic service corresponding to the target intent in the second-level cache of the electronic device.

[0011] In the above embodiment, the electronic device searches for the atomic service corresponding to the target intent in the first-level cache and the second-level cache, thereby improving the query efficiency of the electronic device.

[0012] In combination with the first aspect, in a possible embodiment, based on the correspondence between atomic services and intents, the atomic service corresponding to the target intent is queried in the first-level cache of the electronic device, including: querying the first service identification list corresponding to the target intent in a mapping table, wherein the mapping table includes a service identification list corresponding to multiple intents and the multiple intents respectively; the service identification list includes an identifier of at least one atomic service; querying the service information of each atomic service in the first service identification list in the high-frequency service cache list, wherein the high-frequency service cache list includes identifiers and addresses of multiple atomic services; the address is used to determine the service information of the corresponding atomic service, and the mapping table and the high-frequency service cache list are stored in the first-level cache.

[0013] In the above embodiment, by storing the service information of the atomic service in the high-frequency service cache list, the atomic service corresponding to the target intent can be quickly queried.

[0014] In combination with the first aspect, in a possible embodiment, based on the correspondence between atomic services and intents, querying the atomic service corresponding to the target intent in the first-level cache of the electronic device also includes: using an LRU algorithm to refresh the high-frequency service cache list.

[0015] In the above embodiment, the electronic device uses the LRU algorithm to delete the least recently used atomic service in the high-frequency service cache list, so that the atomic services stored in the high-frequency service cache list are always the atomic services frequently used by the user.

[0016] In combination with the first aspect, in a possible embodiment, the atomic service corresponding to the query target intent in the secondary cache of the electronic device includes: querying the service information of each atomic service in the first service identification list in a database table, wherein the database table includes the identification and service information of the atomic service stored locally in the electronic device; the database table is stored in the secondary cache.

[0017] In combination with the first aspect, in a possible embodiment, if the first service identification list corresponding to the target intent is not found in the mapping table, the service information of the atomic service is obtained from the service platform; the mapping table and the database table are updated based on the obtained service information of the atomic service; and after the update, the query of the first service identification list corresponding to the target intent in the mapping table is triggered.

[0018] In combination with the first aspect, in a possible embodiment, the second atomic service list includes some atomic services filtered out from the atomic services in the first atomic service list. The atomic service management method also includes: obtaining at least one slot corresponding to the target intent; filtering out atomic services whose service parameters match at least one slot from the first atomic service list, and the second atomic service list includes the filtered atomic services.

[0019] In the above embodiment, the slot corresponding to the target intent is obtained, and the atomic service matching the slot corresponding to the target intent is searched, thereby querying the atomic service that can accurately execute the user intent.

[0020] In combination with the first aspect, in a possible embodiment, an atomic service whose service parameters match a slot is screened out from a first atomic service list, including: the first atomic service list includes a first atomic service, and the service parameters of the first atomic service include a first service parameter; if at least one slot has a slot with the same name as the first service parameter, then the first service parameter matches at least one slot; or,

[0021] If at least one slot has a slot with the same name as the first service parameter and the parameter value of the first service parameter is within the enumeration range corresponding to the first service parameter, then the first service parameter matches the at least one slot; or,

[0022] If at least one slot has a slot with the same name as the first service parameter and the number of parameter values ​​of the first service parameter is not greater than the maximum value specified in the list corresponding to the first service parameter, then the first service parameter matches the at least one slot; or,

[0023] If at least one slot has a slot with the same name as the first service parameter, and the parameter value of the first service parameter is within the enumeration range corresponding to the first service parameter, and the number of parameter values ​​of the first service parameter is not greater than the maximum value specified in the list corresponding to the first service parameter, then the first service parameter matches at least one slot.

[0024] In combination with the first aspect, in a possible embodiment, the atomic service management method further includes: using the slot value of the slot with the same name as the parameter value of the first service parameter. If at least one slot does not have a slot with the same name as the first service parameter, determining whether the first service parameter has a corresponding expression; when determining that the first service parameter has a corresponding expression, executing the corresponding expression, if the execution is successful, the first service parameter matches the at least one slot.

[0025] In combination with the first aspect, in a possible embodiment, the method further includes: using the execution result of the corresponding expression as the parameter value of the first service parameter.

[0026] In combination with the first aspect, in a possible embodiment, the method also includes: when it is determined that the first service parameter has no corresponding expression or the corresponding expression fails to execute, determining whether the first service parameter has a default value; if the first service parameter has a default value, the first service parameter matches at least one slot, and the default value is the parameter value of the first service parameter; if the first service parameter does not have a default value, the first service parameter does not match at least one slot.

[0027] In combination with the first aspect, in a possible embodiment, the atomic service management method also includes: recording the usage time of the atomic service corresponding to the queried target intent in the service status table; based on the usage time of the atomic service corresponding to the intent, locally clearing the atomic service corresponding to the target intent that has not been used for the last first period of time.

[0028] In the above embodiment, the service information of the atomic service is cleared from the local cache by recording the usage time of the atomic service, thereby releasing the storage space.

[0029] In combination with the first aspect, in a possible embodiment, the atomic service management method also includes: when it is checked that the service information of the locally stored atomic service is inconsistent with the version of the service information of the atomic service in the service platform, the service information of the locally stored atomic service is updated to the service information of the atomic service in the service platform; the service platform includes the service information of the atomic service registered by three parties.

[0030] The above embodiment updates the service information of the locally stored three-party registered atomic service by checking the versions of the service information of the locally stored atomic service and the service information of the atomic service in the service platform, so that the locally stored three-party registered atomic service is always the latest version.

[0031] In combination with the first aspect, in a possible embodiment, the atomic service management method also includes: when an installation operation for a first application is detected, obtaining service information of a first atomic service from the installation information of the first application, and storing the service information of the first atomic service locally; the first atomic service is an atomic service declared by the first application in the installation information of the first application; and / or, when an uninstall operation for a second application is detected, deleting the service information of a second atomic service locally, the second atomic service being an atomic service declared by the second application in the installation information of the second application.

[0032] In the above embodiment, when the application is installed or uninstalled, the service information of the atomic service is obtained from the installation information of the application, and the service information of the atomic service stored locally is updated, so that the atomic service stored locally is always the latest version.

[0033] In combination with the first aspect, in a possible embodiment, the atomic service management method further includes: when the target intent belongs to a local intent, querying the atomic service corresponding to the target intent includes: locally querying service information of the atomic service corresponding to the target intent; when the target intent belongs to a non-local intent, obtaining query strategy information corresponding to the current scene;

[0034] When the acquired query strategy information indicates the first strategy, querying the atomic service corresponding to the target intent includes: querying the service information of the atomic service corresponding to the target intent locally;

[0035] When the acquired query strategy information indicates the second strategy, querying the atomic service corresponding to the target intent includes: querying the service information of the atomic service corresponding to the target intent locally, and if the service information of the atomic service corresponding to the target intent is not found locally, querying the service information of the atomic service corresponding to the target intent in the atomic service in the service platform;

[0036] When the acquired query strategy information indicates the third strategy, the service information of the atomic service corresponding to the target intent is queried in the service information of the atomic service in the service platform.

[0037] In the above embodiment, the query method corresponding to the query strategy information is implemented by receiving the query strategy information, thereby meeting the corresponding query requirements.

[0038] In a second aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the electronic device executes the method described in the first aspect or any one of the implementations of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0040] Figure 1A-1H It is a user interface provided by an embodiment of the present application;

[0041] Figure 2 is a structural diagram of an electronic device 100 provided in an embodiment of the present application;

[0042] Figure 3 is a software structure block diagram of an electronic device 100 provided in an embodiment of the present application;

[0043] Figure 4 It is a schematic diagram of the definition of an atomic service provided in an embodiment of the present application;

[0044] Figure 5A , Figure 5B It is a flowchart of the atomic service access method provided in an embodiment of the present application;

[0045] Figure 6 This is a flowchart of a query atomic service provided by an embodiment of the present application;

[0046] Figure 7 It is a flowchart of a method for screening atomic services whose service parameters match the slots of target intent provided by an embodiment of the present application;

[0047] Figure 8 It is a flowchart diagram of another method for screening atomic services whose service parameters match the slots of target intent provided by an embodiment of the present application;

[0048] Fig. 9 It is a flow chart of a service management framework executing a filling rule provided in an embodiment of the present application;

[0049] Fig.10 It is a flowchart of name mapping of a service parameter provided in an embodiment of the present application;

[0050] Fig.11 It is a flow chart of a service management framework executing a query strategy provided by an embodiment of the present application;

[0051] Fig. 12A , Fig. 12B It is a flow chart of a service management framework checking atomic service changes provided by an embodiment of the present application;

[0052] Fig.13 It is a flow chart of a service management framework periodically triggering service aging provided in an embodiment of the present application. DETAILED DESCRIPTION

[0053] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.

[0054] First, the terms involved in the embodiments of the present application are described.

[0055] (1) User intention refers to the user's desire to achieve a certain goal or meet a certain need, but has not yet taken action or implemented it. It represents the user's intention, plan or expectation, and reflects the user's thinking and needs for a specific problem or situation.

[0056] (2) User Interface (UI) refers to the medium interface for interaction and information exchange between an application (Application, App) or operating system (OS) and the user. It is responsible for converting the information representation inside the application into a form that the user can understand and accept. The user interface is usually written in a specific computer language, such as Java, Extensible Markup Language (XML), etc., and is presented to the user on the electronic device through the process of parsing and rendering. Graphical User Interface (GUI) is a common form of user interface that uses graphics to display content related to computer operations. GUI can be presented on the display screen of an electronic device, including visual interface elements such as text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc. Through the GUI, users can interact with the application or operating system through intuitive operations.

[0057] In order to enable atomic services to quickly access voice, search, sharing and other capability platforms, be quickly called by various upper-level businesses, and meet user intentions, it is necessary to implement a unified atomic service management framework, define the atomic service metadata model, access and manage various types of atomic services, and provide the ability to query and match atomic services according to user intentions.

[0058] In view of this, an embodiment of the present application provides an atomic service management method. In this method, the electronic device defines atomic services and their achievable intentions, and then, when querying atomic services based on the to-be-processed data sent by the user, it can identify the intention of the to-be-processed data (also called the target intention), and search for atomic services based on the target intention, so as to accurately recommend atomic services that can execute the target intention to the user.

[0059] The atomic service management method can quickly and accurately query the atomic services that can execute the target intent, thereby improving the user experience.

[0060] In order to further improve the accuracy of querying atomic services that can execute target intent, the atomic service includes service parameters for implementing the atomic service. The value of the slot corresponding to the target intent (slot value) is determined in the data to be processed. When searching for atomic services based on the target intent, the matching of the service parameters of the atomic service and the slot value can also be considered, so that the service parameters of the found atomic service match the slot value.

[0061] In order to improve search efficiency, electronic devices use a hierarchical cache mechanism to store the queried atomic services of executable target intents.

[0062] First combine Figure 1A-1H The user interface shown introduces the application scenarios involved in the embodiments of the present application.

[0063] The atomic service management method involved in this application is described by taking "smart flow" as an example. "Smart flow" is a sharing capability platform. The electronic device triggers smart flow in response to a first operation.

[0064] like Figure 1A-1H The figure shows a user interface provided in an embodiment of the present application. The application that provides the user interface may be a system application or a third-party application. In the embodiment of the present application, a system application refers to an application directly provided by the operating system of the electronic device for implementing a specific function. A third-party application refers to an application provided by other developers and obtained by the electronic device through the Internet for implementing a specific function.

[0065] In some embodiments, the user interface may also be the homepage, negative one screen, lock screen interface, etc. of the electronic device, which is not limited in the embodiments of the present application.

[0066] In display Figure 1A In the process of displaying the user interface shown in the figure, the electronic device can detect a long press operation on the screen. In response to the above operation, the electronic device can obtain Figure 1A The text in the user interface shown is for the user to copy. It is not limited to long press operation, but can also be double click operation, sliding operation of a preset specific track and other user operations. It is not limited to text, but can also be files such as pictures and videos. The embodiment of the present application does not limit this.

[0067] Then, the electronic device can detect the specific user operation of selecting text. The electronic device can determine the target text that the user wants to copy according to the user operation of selecting text. Figure 1B, exemplarily, the electronic device may determine the target text 111 according to the user operation.

[0068] like Figure 1C , Figure 1D As shown, after determining the target text 111, the electronic device can detect a long press operation on the target text 111. In response to the above operation, the electronic device can display a suspended control 112, that is, a draggable control 112. The suspended control can adjust the display position in real time following the drag operation of the user on the screen.

[0069] like Figure 1D , Figure 1E As shown, the electronic device can detect the user operation of dragging the control 112 to slide toward the right side of the screen. After detecting that the control 112 is close to the right side of the screen, the electronic device can display a light strip 113. The light strip 113 can be used to prompt the user that the control 112 is close to the right side of the screen. At this time, the user can determine to continue sliding right to trigger the service corresponding to the right side of the screen, or stop sliding right to avoid triggering the service corresponding to the right side of the screen.

[0070] Specifically, the electronic device can set a right side hot zone. A hot zone refers to a touch area of ​​a fixed shape and size in the screen. The right side hot zone is a rectangular touch area extending from the right side edge of the screen to the other side. The electronic device can determine whether the control 112 is close to the right side of the screen by the distance between the current position of the touch point of the finger and the screen and the right side hot zone. Furthermore, when it is recognized that the current touch point is in the right side hot zone, the electronic device can determine to trigger the service corresponding to the right side of the screen.

[0071] In the embodiment of the present application, the service corresponding to the hot zone on the right side may be a smart flow service. The smart flow service is used to match the atomic service that can receive the data to be processed, and provide users with a service to quickly send the data to be processed to other atomic services. The data to be processed includes but is not limited to text, pictures, videos, documents, hyperlinks, etc. The electronic device can determine the data to be processed based on the operation control when the smart flow is triggered. For example, Figure 1D-1E In the scenario shown, the drag control 112 is slid right into the right side hot zone to trigger the intelligent flow. The control 112 can be called an operation control, and the target text 111 corresponding to the control 112 can be called data to be processed.

[0072] After the user is sure to continue swiping right to trigger the corresponding smart flow service on the right side of the screen, the smart flow calls the service query interface to send the data to be processed to the electronic device. The electronic device identifies the user intent (also called target intent) of the data to be processed, and queries the atomic service that can execute the target intent based on the identified target intent. The queried atomic services can also be sorted, and then the smart flow displays the sorted atomic services.

[0073] For example, Figure 1F In the user interface shown, the electronic device may display a sidebar 114. The sidebar 114 may include icons of sorted atomic services. For example, the data to be processed is "go to XX city XX road", and the identified target intent is "navigation intent". At this time, the atomic services displayed in the sidebar 114 are map navigation, one-click taxi, search, and sharing.

[0074] like Figure 1G As shown, after the smart flow displays the icons of the sorted atomic services, the electronic device can detect the operation of the user dragging the control 112 to the icon of the displayed atomic service. In response to the operation of dragging the control 112 to the icon of the atomic service "map navigation", the electronic device can execute the atomic service, for example, displaying the user interface provided by the atomic service "map navigation", such as Figure 1H As shown, the user interface may include an input box 115 for inputting the service parameter "origin" and an input box 116 for inputting the service parameter "destination", and a displayed map 117. Exemplarily, the slot value of the target intent in the data to be processed may be identified, and based on the matching of the slot value and the service parameter, the slot value "XX City XX Road" matching the service parameter "destination" is filled into the input box 116 for inputting the service parameter "destination". The default value current location of the service parameter "departure place" may also be filled into the input box 115 for inputting the service parameter "origin".

[0075] It should be understood that the method of matching slot values ​​with service parameters can be referred to the relevant description in the following embodiment, which will not be repeated here. It should also be understood that the specific implementation of executing atomic services is not limited to displaying a user interface, and other methods can also be used, such as calling an interface provided by the atomic service to display the execution result.

[0076] It should be noted that the embodiment of the present application uses intelligent circulation as an example to illustrate the electronic device query atomic service. The external entity that triggers the electronic device to query the atomic service can also be a voice assistant, an atomic service display interface, etc., which is not limited in the embodiment of the present application. Among them, the atomic service display interface can be the negative one screen of the electronic device, on which the atomic service cached locally by the electronic device can be displayed, and an entry for searching / querying the atomic service for the pending data input based on the user can also be provided.

[0077] Figure 2 A schematic diagram of the structure of an electronic device 100 provided in an embodiment of the present application.

[0078] like Figure 2As shown, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0079] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0080] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0081] The controller can generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions. The processor 110 can also be provided with a memory for storing instructions and data.

[0082] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0083] The electronic device 100 implements the display function through the GPU, the display screen 194, and the application processor. In the embodiment of the present application, the electronic device 100 can implement the display function through the GPU, the display screen 194, and the application processor. Figure 1A-1F The user interface shown.

[0084] The electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0085] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of electronic device 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.

[0086] The internal memory 121 may include one or more random access memories (RAM) and one or more non-volatile memories (NVM). The RAM can be directly read and written by the processor 110, and can be used to store executable programs (such as machine instructions) of the operating system or other running programs, and can also be used to store user and application data. The NVM can also store executable programs and store user and application data, etc., and can be loaded into the RAM in advance for direct reading and writing by the processor 110.

[0087] The external memory interface 120 may be used to connect to an external NVM to expand the storage capacity of the electronic device 100. The external NVM communicates with the processor 110 via the external memory interface 120 to implement a data storage function.

[0088] The electronic device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0089] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be set on the display screen 194. The gyroscope sensor 180B can be used to determine the motion posture of the electronic device 100. The air pressure sensor 180C is used to measure the air pressure. The magnetic sensor 180D can be used to detect the magnetic state, such as the opening and closing of the flip cover and the flip cover leather case. The acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in all directions (generally three axes). The distance sensor 180F is used to measure the distance. The proximity light sensor 180G can detect that there is no object near the electronic device 100. The ambient light sensor 180L is used to sense the ambient light brightness. The electronic device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness. The fingerprint sensor 180H is used to collect fingerprints. The temperature sensor 180J is used to detect the temperature.

[0090] The touch sensor 180K is also called a "touch device". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen". The touch sensor 180K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180K can also be set on the surface of the electronic device 100, which is different from the position of the display screen 194. In the embodiment of the present application, the electronic device 100 can detect touch operations such as user clicking on the screen, long pressing, double-clicking, and dragging on the screen through the touch sensor 180K.

[0091] The bone conduction sensor 180M can obtain a vibration signal. The buttons 190 include a power button, a volume button, etc. The electronic device 100 can receive a button input and generate a key signal input related to the user settings and function control of the electronic device 100.

[0092] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, in an embodiment of the present application, when a floating operation control is displayed in response to a long press operation, the electronic device 100 can generate vibrations through motor 191 to provide stronger feedback, prompting the user that the user's long press operation has been detected. Indicator 192 can be an indicator light. SIM card interface 195 is used to connect a SIM card.

[0093] The software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software structure of the electronic device 100.

[0094] Figure 3 It is a software structure block diagram of an electronic device 100 provided in an embodiment of the present application. The layered architecture divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, namely, from top to bottom, the application layer, the application framework layer, the Android runtime (Android runtime), the system library, and the kernel layer.

[0095] The application layer can include a series of application packages. Figure 3 As shown, the application package may include applications such as smart flow, voice assistant, camera, music, etc., which are not listed one by one in the embodiments of the present application.

[0096] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0097] like Figure 3 As shown, the application framework layer may include a service management framework, an intent framework, a resource manager, a notification manager, a view system, and the like.

[0098] Android runtime includes core library and virtual machine. Android runtime is responsible for scheduling and management of Android system. Core library consists of two parts: one is the function that Java language needs to call, and the other is Android core library.

[0099] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform operations such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0100] The system library may include multiple functional modules, such as surface manager (surface manager or surfaceflinger), media libraries, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.

[0101] The surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple applications. The media library supports playback and recording of multiple common audio and video formats, as well as static image files. The media library can support multiple audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc. The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing. The 2D graphics engine is a drawing engine for 2D drawing.

[0102] The HAL layer is an interface layer located above the operating system kernel layer and the hardware circuit, and its purpose is to abstract the hardware. The HAL layer can include hardware composer (HWC), etc. HWC can use hardware to complete the process of image data combination and display, thereby providing service support for the upper layer.

[0103] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.

[0104] Below the kernel layer may be the physical layer (PHY), which can provide transmission media and interconnection channels for data communication within a device or between devices, and provide a reliable environment for data transmission. The physical layer can be understood as a transmission layer that provides "signals and media".

[0105] It is understandable that the above software structure layered architecture diagram is only exemplary, and in other implementations, the software structure layered architecture may also include more or fewer layers, or a layered structure formed in other ways. This application does not limit this.

[0106] The following is a detailed description of the atomic service management method provided in the embodiment of the present application.

[0107] The atomic service management method provided in the embodiment of the present application can be mainly divided into two stages: service access and service query:

[0108] 1. Service access stage:

[0109] First, an atomic service management method provided in the present application uniformly defines atomic services (also referred to as service information that defines atomic services) to uniformly represent all types of atomic services accessed by the system.

[0110] like Figure 4 As shown, the service information of the atomic service is used to describe the atomic service, and may include common attributes, service common information, service implementation information and other information.

[0111] Among them, the common attributes may include information such as the identification of the atomic service, the subtype of the atomic service, the responsiveness of the atomic service, the voice wake-up phrase list and the service status. Among them, the identification of the atomic service is used to uniquely identify the atomic service. The subtype of the atomic service indicates the type of the atomic service, which may include standard services, quick services, Android cards, quick application cards, content interface cards, dynamic cards, etc. The responsiveness of the atomic service indicates the intention that the atomic service can implement / execute, including one or more intentions that the atomic service can implement or execute. The voice wake-up phrase list includes one or more phrases that can voice call the atomic service. The service status is used to indicate the current working status of the atomic service.

[0112] The service public information may include the icon information, name, provider information, supported distribution country information, version number and other information of the atomic service.

[0113] The service implementation information may include the link address, name, package name, minimum version number of the supported quick application, service parameter list, and other information for implementing the atomic service corresponding to the subtype of the atomic service. This information is used to execute the atomic service, where the link address is used to execute the atomic service, such as locating the user interface provided by the atomic service, executing the method provided by the atomic service, and / or calling the interface provided by the atomic service, and the service parameter list includes at least one service parameter required to implement the atomic service.

[0114] Exemplarily, the link address can be used to locate the user interface provided by the atomic service, such as the one described above. Figure 1G , Figure 1H When an atomic service needs to be executed, the link address in the service information of the atomic service is obtained, and a user interface for locating the link address is displayed.

[0115] Based on the subtype of the atomic service, the service implementation information executes the atomic service of the subtype. For example, the service implementation information of the atomic service of the standard service class (also called the standard service information class), the service implementation information of the atomic service of the quick service class (also called the quick service information class), the service implementation information of the atomic service of the Android card class (also called the Android card information class), the service implementation information of the atomic service of the quick application card class (also called the quick application card information class), the service implementation information of the atomic service of the content interface card class (also called the content interface card information class), the service implementation information of the atomic service of the dynamic card class (also called the dynamic card information class), etc.

[0116] The embodiment of the present application provides unified access to atomic services through a service management framework. The atomic services accessed by the service management framework may include two types: local standard atomic services (also referred to as local standard services) and atomic services registered with the service platform (HISP services).

[0117] The local standard service refers to an atomic service provided by a local system application of the electronic device 100 .

[0118] HISP service refers to the atomic service registered by third-party developers on the service platform (such as HISP). Service platform refers to an atomic service access and distribution platform that provides registration atomic services for third-party developers. HISP refers to Honor Smart Service Platform, which is Honor TM A one-stop smart service access and distribution platform provided to third-party developers, where third-party developers register atomic services. Not limited to HISP, the service platform can also be other platforms for providing atomic services.

[0119] like Figure 5A The figure is a flow chart of a local standard service access method provided by an embodiment of the present application, which may include but is not limited to the following steps:

[0120] S101: After the electronic device 100 is turned on, the service management framework obtains the service information of the atomic service from the installation information of the local system application.

[0121] Since the local standard service is implemented by the local system application according to a specific development model and the atomic service is declared through an XML file, the service management framework can obtain the service information of the atomic service from the XML file of the local system application by calling the package manager service (PMS) interface after the electronic device 100 is turned on. Here, the installation information of the application can refer to the XML file of the application. The XML file can include service information such as the public attributes of the declared atomic service, service public information, and service implementation information.

[0122] S102: The service management framework constructs an atomic service based on the obtained service information of the atomic service, and stores the service information of the atomic service in a local cache according to the definition of the atomic service.

[0123] It should be understood that the atomic services constructed by the service management framework follow the above-mentioned definition of atomic services. The service information of atomic services includes the public attributes, service public information, service implementation information and other information of the atomic services. Such information is stored in the form of the above-mentioned definition of atomic services.

[0124] It should be understood that the electronic device can also access the atomic service provided by the installed third-party application. The third-party application declares the service information of the atomic service contained therein in the configuration file or installation information.

[0125] It should also be understood that local system applications and locally installed third-party applications can be referred to as local applications, that is, local application programs.

[0126] When the service management framework queries the atomic service based on the target intent, if the service management framework does not find the atomic service corresponding to the intent in the local cache, the service management framework triggers the end-cloud synchronization process. The service management framework queries the atomic service corresponding to the intent from the service platform, saves it to the local cache, and completes the access to the atomic service registered on the service platform.

[0127] like Figure 5B The figure is a flow chart of a HISP service access method provided by an embodiment of the present application. The method may include but is not limited to the following steps:

[0128] S103: The service platform receives atomic services registered by third-party developers.

[0129] S104: The service management framework sends a terminal-cloud synchronization request to the service platform.

[0130] S105: The service platform sends a service list to the service management framework in response to the request. The service list includes service information of multiple atomic services in the service platform. The multiple atomic services may be all atomic services in the service platform or some atomic services.

[0131] S106: The service management framework caches the received service list, constructs an atomic service, stores the atomic service in a local cache, and updates the local cache.

[0132] In another implementation, the service management framework may periodically (eg, once a day) send a terminal-cloud synchronization request to the service platform to update all atomic services stored in the service management framework.

[0133] In another implementation, the method for accessing the HISP service may also include but is not limited to the following steps:

[0134] S107: The service platform receives atomic services registered by third-party developers.

[0135] When receiving the atomic service, the service platform may extract the service information of the atomic service and store the service information of the atomic service in the manner of the above-mentioned definition of the atomic service.

[0136] S108: The service management framework sends a terminal-cloud synchronization request to the service platform. The request carries an intent for requesting the atomic service corresponding to the intent.

[0137] S109: The service platform sends a service list to the service management framework, wherein the service list includes service information of all atomic services corresponding to the intent in the service platform.

[0138] The service platform searches for the atomic service corresponding to the intent based on the intent. The service platform includes the atomic service of the intent. The atomic service corresponding to the intent is also the atomic service in the service list.

[0139] S110: The service management framework caches the received service list, constructs an atomic service, stores the atomic service in a local cache, and completes access to the atomic service.

[0140] In some embodiments, the service management framework stores atomic services via a first-level cache and a second-level cache.

[0141] First level cache:

[0142] The first-level cache may be a RAM. The service management framework creates a high-frequency service cache list in the RAM and stores frequently queried atomic services in the high-frequency service cache list to shorten the latency of querying the atomic services.

[0143] Specifically, the service management framework establishes a mapping table of intents and atomic service IDs in the first-level cache, and the mapping table stores a list of service IDs corresponding to each intent. The service ID list corresponding to each intent includes the ID of at least one atomic service corresponding to the intent. The service management framework also establishes a high-frequency service cache list in the first-level cache, which includes the IDs of high-frequency queried atomic services (also called high-frequency atomic services) and the addresses of the service information of these high-frequency atomic services, which are used to determine the service information of the corresponding atomic services.

[0144] The service management framework can first query the service ID list corresponding to the intent in the mapping table according to the intent, and then query the service information of the atomic services corresponding to these IDs in the high-frequency service cache list according to the IDs of the atomic services in the service ID list.

[0145] It should be noted that the high-frequency service cache list implements cache updates through the LRU (least recently used) algorithm. LRU is a classic single-queue cache algorithm. In this embodiment, the atomic services are accessed in the order of time, similar to the "first in, first out" principle. In the high-frequency service cache list, the head of the high-frequency service cache list represents the last stored atomic service, and the tail of the high-frequency service cache list represents the earliest stored atomic service.

[0146] Second level cache:

[0147] The secondary cache may be a ROM. The service management framework establishes a database table in the ROM and stores the service information of all accessed atomic services in the database table. The database table includes the identification and service information of the atomic services stored locally in the electronic device. The service management framework may query the service information of the atomic services in the database table by using the intent as an index.

[0148] When querying the atomic service corresponding to intent A, the service management framework prioritizes querying the atomic services stored in the first-level cache. If the service management framework does not find the atomic service that satisfies intent A in the first-level cache, it queries the second-level cache and refreshes the first-level cache.

[0149] It should be noted that in the above Figure 5B In step S106, updating the local cache may include updating a mapping table and a database table of the intent and the ID of the atomic service.

[0150] (II) Service inquiry stage:

[0151] like Figure 6 The figure is a schematic diagram of a process of querying an atomic service provided by this embodiment. After the electronic device 100 is powered on, the electronic device 100 may execute the following process:

[0152] S201: The electronic device 100 triggers the intelligent flow in response to the received user operation.

[0153] For details on how to trigger smart flow through user operations, see the above Figure 1A-1E .

[0154] S202: Smart flow sends the data to be processed to the intent framework.

[0155] S203: The intent framework identifies the target intent of the data to be processed, and fills the slot corresponding to the target intent according to the intent specification.

[0156] The intent specification declares the slots of the intent. The slot value refers to the value corresponding to the slot. Taking the sharing intent as an example, the sharing intent may include slots such as shared content. The slot value of the shared content can be a plain text string or a uniform resource identifier (URI) of a file. The intent framework extracts the slot value from the data to be processed and fills it in the slot corresponding to the target intent according to the intent specification. Exemplarily, the data to be processed may include two pictures, and the intent framework identifies that the intent is a sharing intent based on the data to be processed. The intent framework fills the slot values ​​in the shared content with the URIs of the two pictures according to the intent specification.

[0157] S204: The intent framework sends the target intent and the slot of the target intent to the service management framework.

[0158] The slot sent here includes the slot name and the slot value.

[0159] S205: The service management framework queries the local cache for the atomic service corresponding to the target intent according to the target intent.

[0160] Among them, the atomic service corresponding to the target intent may include one or more atomic services, and this application also refers to the atomic service corresponding to the target intent as an atomic service list.

[0161] In some embodiments, the service management framework preferentially queries the atomic services stored in the local first-level cache. Specifically, the service management framework queries the service ID list corresponding to the target intent in the mapping table. If it exists, it means that the atomic service corresponding to the target intent exists in the local cache. At this time, the service information of the atomic service (also called the target atomic service) corresponding to the ID of each atomic service in the service ID list is searched in the high-frequency service cache list. If it exists, the service information of the target atomic service in the service ID list is obtained from the high-frequency service cache list. If it does not exist, the service information of the target atomic service is queried in the second-level cache, that is, the service information of each atomic service in the service ID list is queried in the database table.

[0162] If the service ID list corresponding to the target intent is not found in the mapping table, it means that there is no atomic service corresponding to the target intent in the local cache, which triggers the end-cloud synchronization, that is, the service management framework requests the service list from the service platform (that is, the cloud). The process of the service management framework requesting atomic services from the service platform is as follows: Figure 5B As shown. Figure 5B The end-cloud synchronization method shown, after obtaining the service list, also needs to update the local cache, that is, update the mapping table and the database table. Further, the service ID list corresponding to the target intent is queried again based on the mapping table, and the service information of each atomic service in the service ID list is queried from the database table, so as to query the atomic service corresponding to the target intent in the cloud and obtain the service information of the atomic service corresponding to the target intent.

[0163] S206: The service management framework executes the slot matching rule for each atomic service corresponding to the target intent, and selects the atomic services whose service parameters match the slots of the target intent.

[0164] It should be understood that a service parameter list of an atomic service may include at least one service parameter. A target intent may correspond to at least one slot.

[0165] In one implementation, the atomic services selected are atomic services whose required service parameters each match the slot of the target intent. For a specific implementation, see the following Figure 7 Describe the method.

[0166] In another implementation, the atomic services selected are atomic services whose service parameters, each of which has a non-empty service parameter value, matches the slot of the target intent. Figure 8 Describe the method.

[0167] S207: The service management framework sends the matching atomic service to the intent framework.

[0168] S208: The intent framework sorts the matching atomic services.

[0169] S209: The intent framework sends the sorted atomic service list to the smart flow.

[0170] S210: Smart Flow displays the sorted atomic service list in the sidebar 114.

[0171] It should be noted that in step S208, the intent framework can be sorted according to the order of the atomic services in the high-frequency service cache list, wherein the atomic services that rank higher in the high-frequency service cache list are also ranked higher in the sorted atomic service list; it can also be sorted according to the name of the atomic service. The sorting method of the intent framework is not limited in the embodiments of the present application.

[0172] In another implementation, the intent framework may not sort the matching atomic services and directly send the matching atomic service composition list to the smart flow.

[0173] In another implementation, in step S204, the intent framework can send the target intent to the service management framework without sending the slot. In this case, there is no need to execute S206. In step S207, the service management framework sends the atomic service corresponding to the target intent to the intent framework, and the intent framework sends the atomic service corresponding to the target intent to the smart flow, and then the smart flow sidebar 114 displays these atomic services. Optionally, the intent framework can also sort the atomic services corresponding to the target intent, and the smart flow displays these atomic services according to the sorting.

[0174] like Figure 7 The figure shows a flowchart of a specific implementation of the above S206 provided in an embodiment of the present application, i.e., screening service parameters and atomic services matching the slots of the target intent. S206 may include but is not limited to the following steps:

[0175] S301: The service management framework obtains service information of the atomic services to be matched one by one from the atomic services corresponding to the target intent.

[0176] S302: Check whether the service parameter list of the atomic service to be matched exists. If yes, execute S303. If no, end the process.

[0177] The service parameter list of the atomic service is stored in the service implementation information of the atomic service, and the service parameter list may include all service parameters of the atomic service. The service parameters are the parameters that need to be input when the atomic service is running.

[0178] Exemplarily, taking the sharing service as an example, the definition of the service parameters of the atomic service in the service implementation information is explained.

[0179] The following table is an example of the definition of each service parameter in the service implementation information of the sharing service:

[0180]

[0181] As shown in the above table, the sharing service may include two service parameters: content type and shared content.

[0182] The service implementation information may define the service parameter name, standard name, slot value, service parameter type, and slot attribute.

[0183] The value range of the service parameter value of the content type can be plain text, single-specification picture, single-specification video, audio file, file or mixed file of multiple specifications; the service parameter type of the content type can be an enumeration type; the selection attribute of the content type is required.

[0184] The value range of the service parameter value of the shared content can be a plain text string or URI; the service parameter type of the shared content can be a list type; the selection attribute of the content type can be required; the slot attribute of the shared content can be 9, representing the upper limit of the number of parameter values ​​of the service parameter.

[0185] S303: Obtain the i-th service parameter in the service parameter list, where i is a positive integer and is not greater than the total number of service parameters in the service parameter list.

[0186] S304: Determine whether the i-th service parameter is a mandatory parameter. If yes, execute S305. If no, execute S318.

[0187] In the service parameter list, the attributes of the service parameters are mandatory parameters and optional parameters. Mandatory parameters are parameters that must be entered when the atomic service is running. Missing them may cause the service to fail to execute. Therefore, the slot matching rule only matches mandatory parameters.

[0188] S305: Determine whether there is a slot with the same name as the standard name of the current service parameter among the received slots. If yes, execute S306. If no, execute S310.

[0189] Slots with the same name may be referred to as slots with the same name.

[0190] S306: Determine whether the type of the current service parameter is an enumeration type. If yes, execute S307. If no, execute S308.

[0191] S307: Determine whether the slot value of the slot with the same name is within the value range of the current service parameter. If yes, execute S308. If not, the i-th service parameter fails to match the slot corresponding to the target intent, which means that the atomic service to be matched also fails to match, and the processing ends, and the next atomic service to be matched can be obtained.

[0192] Take a sharing service as an example. As shown in the table above, the content type of the sharing service defines the service parameter as a mandatory parameter. The service parameter type is an enumeration type. The value range of the service parameter can be plain text, a single-size image, a single-size video, an audio file, a file, or a mixed file of multiple sizes. If the slot value is a single-size video, it is within the value range of the service parameter, that is, the slot value is within the enumeration range.

[0193] S308: Determine whether the type of the current service parameter is a list type. If yes, execute S309. If no, the i-th service parameter successfully matches the slot corresponding to the target intent, execute S314.

[0194] S309: Determine whether the number of slot values ​​of the slot with the same name exceeds the upper limit of the number of values ​​of the current service parameter. If so, the i-th service parameter fails to match the slot corresponding to the target intent, which means that the atomic service to be matched also fails to match, and the process ends, and the next atomic service to be matched can be obtained. If not, the i-th service parameter successfully matches the slot corresponding to the target intent, and S314 is executed.

[0195] Take a sharing service as an example. As shown in the table above, the sharing content of the sharing service defines the service parameter as a required parameter. The service parameter type of the service parameter is a list type. The value range of the service parameter is a plain text string or URI. The service parameter type is a list type. The upper limit of the number of service parameter values ​​is 9. If the slot value of the shared content of the target intent is two uniform resource locators (URLs), the number of slots does not exceed the upper limit of the number of service parameter values.

[0196] S310: Determine whether the current service parameter defines an expression. If yes, execute S311. If no, execute S313.

[0197] The service information of an atomic service can define conversion rules (also called expressions) for converting slot values ​​into service parameter values. The expression is used to convert the slot values ​​of multiple slots into values ​​that conform to the service parameter filling format by splicing or other means. The expression defines the slot name that can execute the expression.

[0198] The service parameter values ​​of some atomic services need to be calculated from multiple slot values. For example, one of the service parameters of a taxi-hailing service is the destination, and the destination is entered in the format of "place name, longitude, latitude". The value of this service parameter needs to be obtained by filling the slot values ​​of the three slots, place name, longitude and latitude, into the expression.

[0199] The expressions are implemented by a domain-specific language (DSL).

[0200] S311: Execute the expression based on the received slot.

[0201] The service management framework executes the expression and checks whether there is a slot with the same name as the slot that can execute the expression among the received slots. If there is, the slot value of the slot with the same name is filled into the expression, and the expression converts the slot value of the slot with the same name into a value that conforms to the service parameter filling format through splicing and other methods. This value is the execution result of the expression.

[0202] It should be noted that the service parameters of the atomic service can have one or more filling formats, and each filling format can have an expression. For example, the first filling format of the service parameter value of the destination of the above taxi service can be "longitude, latitude", and the second filling format can be "place name, longitude, latitude".

[0203] If the received slots contain both longitude and latitude, the longitude slot value is A and the latitude slot value is B, which are the same as the slot name in the expression of the first filling format. The service management framework executes the expression, fills the longitude slot value A and the latitude slot value B into the expression, and obtains the execution result of the expression "A, B".

[0204] If the received slots contain three slots: place name, longitude, and latitude, the slot value of the place name is C, the slot value of the longitude is A, and the slot value of the latitude is B, which are the same as the slot name in the expression of the second fill-in format. The service management framework executes the expression, fills the slot value C of the place name, the slot value A of the longitude, and the slot value B of the latitude into the expression, and obtains the execution result of the expression "C, A, B".

[0205] S312: Determine whether the expression is executed successfully. If yes, the i-th service parameter matches the slot corresponding to the target intent successfully, and execute S314. If no, execute S313.

[0206] The service management framework determines whether the expression is executed successfully based on the execution result of the expression. If the execution result of the expression is not empty, the expression is executed successfully, otherwise, the expression fails.

[0207] S313: Determine whether the current service parameters contain default values. If yes, the i-th service parameter successfully matches the slot corresponding to the target intent, and execute S314. If no, the i-th service parameter fails to match the slot corresponding to the target intent, which means that the atomic service to be matched also fails to match, and the process ends, and the next atomic service to be matched can be obtained.

[0208] The service information of the atomic service defines a default value. If a slot with the same name cannot be found, and the expression is not defined or the expression calculation fails, the default value is filled in the service parameter value.

[0209] S314: Fill in service parameter values.

[0210] After the service parameter successfully matches the slot of the target intent, the service management framework fills the corresponding value into the service parameter value. If the slot with the same name matches successfully, the service management framework fills the slot value of the slot with the same name into the service parameter value. If the expression is executed successfully, the service management framework fills the execution result of the expression into the service parameter value. If the default value matches successfully, the service management framework fills the default value into the service parameter value.

[0211] S315: Determine whether the service parameter value needs URL encoding. If yes, execute S316. If no, execute S317.

[0212] The service information of the atomic service defines whether the service parameter value needs to be URL encoded. When the encoded attribute of the service parameter is true, the corresponding service parameter value is URL encoded.

[0213] S316: URL-encode the service parameter value.

[0214] Exemplarily, URL encoding is to convert non-ASCII displayable characters and special reserved characters in the service parameter value into hexadecimal representation so that they can be transmitted to the atomic service through a deep link.

[0215] S317: Map the name of the current service parameter.

[0216] Service parameters can define two attributes, standard name and name, in the service implementation information to implement name mapping. The standard name of the service parameter is the same as the slot name corresponding to the intent. The name is the parameter name actually used by the atomic service. After using the standard name to obtain (i.e. match) the slot value, the slot value is filled into the name to execute the atomic service.

[0217] It should be understood that the names of service parameters of different third-party atomic services may be different. For example, the standard name of a service parameter of an atomic service for implementing navigation is travel mode, named m, and the standard name of a service parameter of another taxi service is travel mode, named mode.

[0218] S318: Determine whether the service parameter list has been traversed. If yes, the atomic service to be matched is successfully matched and is the atomic service to be screened, and the process ends, and the next atomic service to be matched can be obtained. If no, set i=i+1 and re-execute S303.

[0219] In another implementation, if the service parameter matching fails, the service management framework may execute S318 without ending the process. That is, as long as at least one service parameter in the service parameter list of the atomic service to be matched successfully matches, the atomic service successfully matches the received slot.

[0220] like Figure 8 The figure shows another specific implementation flow diagram of the above S206 provided in the embodiment of the present application, i.e., screening out the atomic service whose service parameters match the slot of the target intention. S206 may include but is not limited to the following steps:

[0221] S401: Check whether the external entity has set a flag to ignore slot matching. If yes, slot matching is not required, and the atomic service corresponding to the target intent is directly used as the atomic service to be finally displayed, and the process ends. If no, execute S402.

[0222] The external entity can set an identifier to ignore slot matching or an identifier to match slots. When sending data to be processed to the service management framework, the external entity can also send an identifier to indicate whether to ignore matching. Then, the service management framework can execute corresponding steps according to the identifier set by the external entity.

[0223] S402: The service management framework obtains service information of the atomic services to be matched one by one from the atomic services corresponding to the target intent.

[0224] S403: Check whether the service parameter list of the atomic service to be matched exists. If yes, execute S404, if not, end the process and obtain the next atomic service to be matched.

[0225] S404: Obtain the i-th service parameter in the service parameter list, where i is a positive integer and is not greater than the total number of service parameters in the service parameter list.

[0226] S405: Execute the filling rule to fill in the current service parameters.

[0227] For the specific implementation of S405, please refer to the following Fig. 9 Describe the method.

[0228] S406: Determine whether the service parameter value is valid. If yes, execute S407. If not, execute S414.

[0229] When the service management framework checks the service parameter value, if the service parameter value is not empty and is not an empty string, the service parameter value is valid.

[0230] S407: Determine the source of the service parameter value. If the source of the service parameter value is a slot value, execute S408. If the source of the service parameter value is an expression or a default value, the i-th service parameter successfully matches the slot corresponding to the target intent, and execute S415.

[0231] S408: Determine whether the type of the current service parameter is an enumeration type. If yes, execute S409. If no, execute S411.

[0232] S409: Determine whether the external entity has set a flag for ignoring enumeration range check. If yes, execute S411. If no, execute S410.

[0233] An external entity can set a flag to ignore enumeration range check or a flag to perform enumeration range check. When sending data to be processed to the service management framework, the external entity can also send a flag to indicate whether to ignore enumeration range check. Then, the service management framework executes corresponding steps according to the flag set by the external entity.

[0234] S410: Determine whether the service parameter value is within the value range of the current service parameter. If yes, execute S411. If no, the i-th service parameter fails to match the slot corresponding to the target intent, which means that the atomic service to be matched also fails to match, and the process ends, and the next atomic service to be matched can be obtained.

[0235] S411: Determine whether the type of the current service parameter is a list type. If yes, execute S412. If no, the i-th service parameter successfully matches the slot corresponding to the target intent, execute S415.

[0236] S412: Determine whether the external entity has set an identifier for ignoring the upper limit of the number of elements in the list. If yes, the i-th service parameter successfully matches the slot corresponding to the target intent, and execute S415. If no, execute S413.

[0237] An external entity can set a flag to ignore the upper limit of the number of list elements or a flag to check the upper limit of the number of list elements. When the external entity sends data to be processed to the service management framework, it can also send a flag to indicate whether to ignore the upper limit of the number of list elements. Then, the service management framework executes corresponding steps according to the flag set by the external entity.

[0238] S413: Determine whether the number of service parameter values ​​exceeds the upper limit of the number of values ​​of the current service parameters. If yes, the i-th service parameter fails to match the slot corresponding to the target intent, which means that the atomic service to be matched also fails to match, and the process ends, and the next atomic service to be matched can be obtained. If no, the i-th service parameter successfully matches the slot corresponding to the target intent, and S415 is executed.

[0239] S414: Determine whether the current service parameter is a required parameter. If so, the i-th service parameter fails to match the slot corresponding to the target intent, which means that the atomic service to be matched also fails to match, and the process ends, and the next atomic service to be matched can be obtained. If not, execute S416.

[0240] S415: Map the name of the current service parameter.

[0241] Service parameters can define two attributes, standard name and name, in the service implementation information to implement name mapping. The standard name of the service parameter is the same as the slot name corresponding to the target intent. The name is the parameter name actually used by the atomic service. After using the standard name to obtain the slot value, the slot value is filled into the name to execute the atomic service.

[0242] For the specific implementation of S415, please refer to the following Fig.10 Describe the method.

[0243] S416: Determine whether the service parameter list has been traversed. If yes, the atomic service to be matched is matched successfully and is the atomic service to be screened, and the process ends, and the next atomic service to be matched can be obtained. If no, set i=i+1 and re-execute S404.

[0244] like Fig. 9 The figure is a flow chart of the service management framework executing the filling rule in the above S405 provided in the embodiment of the present application, including but not limited to the following steps:

[0245] S501: Determine whether there is a slot with the same name as the standard name of the current service parameter among the received slots. If yes, execute S502. If no, execute S503.

[0246] S502: Fill the slot value of the slot with the same name into the service parameter value.

[0247] S503: Determine whether the current service parameter defines an expression. If yes, execute S504. If no, execute S507.

[0248] The service information of an atomic service can define conversion rules (also called expressions) for converting slot values ​​into service parameter values. The expression is used to convert the slot values ​​of multiple slots into values ​​that conform to the service parameter filling format by splicing or other means. The expression defines the slot name that can execute the expression.

[0249] The expressions are implemented by a domain-specific language (DSL).

[0250] S504: Execute the expression based on the received slot.

[0251] S505: Determine whether the expression is executed successfully. If yes, execute S506. If no, execute S507.

[0252] The service management framework determines whether the expression is executed successfully based on the execution result of the expression. If the execution result of the expression is not empty, the expression is executed successfully, otherwise, the expression fails.

[0253] S506: Fill the execution result of the expression into the service parameter value.

[0254] S507: Determine whether the current service parameter contains a default value. If yes, execute S508. If no, execute S509 without filling in the service parameter value.

[0255] The service information of the atomic service defines a default value. If a slot with the same name cannot be found, and the expression is not defined or the expression calculation fails, the default value is filled in the service parameter value.

[0256] S508: Fill in the default value into the service parameter value.

[0257] In another implementation, S503 may not be executed. In this case, if there is no slot with the same name as the standard name of the current service parameter among the received slots, that is, the service parameter value is empty or the default value.

[0258] In another implementation, S507 may not be executed. In this case, if the current service parameter does not define an expression or the expression is not executed successfully, the service parameter value is empty.

[0259] S509: Do not fill in the service parameter value.

[0260] like Fig.10 The figure shows a flow chart of the service management framework mapping the names of service parameters in the above S415 provided in an embodiment of the present application, including but not limited to the following steps:

[0261] S601: Determine whether the service parameter value needs URL encoding. If yes, execute S602. If no, execute S603.

[0262] The service information of the atomic service defines whether the service parameters need to be URL encoded. When the encoded attribute of the service parameter is true, the corresponding service parameter value is URL encoded.

[0263] S602: URL-encode the service parameter value.

[0264] Exemplarily, URL encoding is to convert non-ASCII displayable characters and special reserved characters in the service parameter value into hexadecimal representation so that they can be transmitted to the atomic service through a deep link.

[0265] S603: Map the name of the current service parameter.

[0266] Service parameters can define two attributes, standard name and name, in the service implementation information to implement name mapping. The standard name of the service parameter is the same as the slot name corresponding to the intent. The name is the parameter name actually used by the atomic service. After using the standard name to obtain (i.e. match) the slot value, the slot value is filled into the name to execute the atomic service.

[0267] It should be understood that the names of service parameters of different third-party atomic services may be different. For example, the standard name of a service parameter of an atomic service for implementing navigation is travel mode, named m, and the standard name of a service parameter of another taxi service is travel mode, named mode.

[0268] In another specific implementation of S205, the service management framework may provide an interface for querying services according to intent, and set three different query strategies to query atomic services. When an external entity sends data to be processed to the intent framework, the external entity sends the query strategy information to the service management framework through the interface for querying services according to intent. The query strategy information is used to indicate the query strategy, and the service management framework selects the strategy for querying atomic services based on the received query strategy information. Exemplary include the following three strategies:

[0269] Strategy 1: Only query the atomic service corresponding to the target intent in the local cache. Querying the atomic service in the local cache means querying the atomic service corresponding to the target intent in the local cache (such as the first-level cache and the second-level cache).

[0270] Strategy 2: First query the atomic service in the service platform, and then query the atomic service corresponding to the target intent in the local cache.

[0271] Strategy 3: First query the atomic service corresponding to the target intent in the local cache. If the query is successful, return the atomic service to the external entity. If the query fails, query the atomic service corresponding to the target intent in the service platform.

[0272] The service management framework defines the corresponding intents of services that can only be provided by local system applications (such as adjusting screen brightness, turning on the flashlight, etc.) as local intents. If the service management framework detects that the received target intent is a local intent, strategy 1 is executed.

[0273] like Fig.11 The figure is a flow chart of a service management framework executing a query strategy provided by an embodiment of the present application, including but not limited to the following steps:

[0274] S701: The service management framework obtains target intent and query strategy information.

[0275] S702: Determine whether the target intent is a local intent. If yes, execute S704. If no, execute S703.

[0276] S703: Select a query strategy according to the query strategy information. If the strategy indicated by the query strategy information is strategy 1, execute S704, if the strategy indicated by the query strategy information is strategy 2, execute S706, if the strategy indicated by the query strategy information is strategy 3, execute S709.

[0277] S704: Select strategy 1. Execute step S705.

[0278] S705: Query the atomic service corresponding to the target intent in the local cache.

[0279] S706: Select strategy 2. Execute steps S707-S708.

[0280] S707: Query the atomic service corresponding to the target intent in the local cache.

[0281] S708: Determine whether the atomic service corresponding to the target intent is found in the local cache. If yes, execute S713. If not, execute S710.

[0282] S709: Select strategy 3. Execute steps S707 to S712.

[0283] S710: Query the atomic service corresponding to the target intent in the service platform.

[0284] S711: Cache the atomic service corresponding to the queried target intent into the local cache.

[0285] S712: Query the atomic service corresponding to the target intent in the local cache.

[0286] S713: Return the query result to the external entity.

[0287] The steps for the service management framework to query atomic services in the service platform and local cache are as described above. Figure 5B , Figure 6 shown.

[0288] It should be noted that the query strategy is set by an external entity, and the external entity specifies the query strategy information according to the usage scenario and sends it to the service management framework.

[0289] For example, when the smart flow detects that the electronic device 100 is not connected to the Internet, the smart flow sends the specified strategy 1 to the service management framework. The service management framework selects a query strategy to query the atomic service according to the received query strategy information.

[0290] Fig. 12A , Fig. 12B A flow chart of a service management framework checking atomic service changes provided in an embodiment of the present application.

[0291] like Fig. 12A The figure is a flow chart of a service management framework provided in an embodiment of the present application for checking service platform registration service changes, including but not limited to the following steps:

[0292] S801: The service platform receives service information of the changed atomic service sent by the development end.

[0293] Exemplarily, the development end / device may send changed atomic services to the service platform in response to a user operation of a developer. These changed atomic services may be updated versions of atomic services or newly added atomic services.

[0294] S802: The service management framework periodically triggers the service update process.

[0295] It should be noted that the service management framework can periodically trigger the service update process (that is, the update process of the atomic service), query the latest service information from the service platform, and compare it with the service information in the local cache to obtain the changed service information. The service management framework can trigger the service update process for a period of one day, one week, etc., which is not limited in the embodiments of the present application. The service information here refers to the service information of the atomic service.

[0296] S803: The service management framework sends a service information change broadcast to an external entity.

[0297] The service information change broadcast is used to indicate the service information change. The service management framework can send the intention of the changed atomic service to the external entity as a broadcast parameter of the service information change broadcast.

[0298] In order to quickly display the atomic service, the external entity may pre-store the atomic service icon, name, etc. Optionally, the broadcast parameter may also include partial service information of the changed atomic service, where the partial service information may only include service information of the atomic service for display, such as at least one of the atomic service icon, name, etc.

[0299] S804: External entity queries the changed atomic service.

[0300] The external entity sends the intention of changing the atomic service to the service management framework, and calls the service management framework to query the changed atomic service. At this time, the changed atomic service does not exist locally, triggering end-cloud synchronization. The specific query process is as described above Figure 5B As shown, after the query, the service management framework can cache the service list corresponding to the intent.

[0301] like Fig. 12B The figure shows a flow chart of a service management framework provided in an embodiment of the present application for checking changes in local standard services, including but not limited to the following steps.

[0302] S901: The electronic device 100 installs / uninstalls an application. The installed / uninstalled application may be a system application or a third-party application.

[0303] Installing an application includes the electronic device 100 installing an application that is not currently installed, or updating a version of an installed application.

[0304] S902: The service management framework monitors the broadcast of application installation / uninstallation issued by the PMS, and obtains the service information of the atomic service in the installed / uninstalled application.

[0305] Exemplarily, when an installation operation for a first application is detected, service information of the atomic service is obtained from the installation information of the first application, and the service information of the atomic service is stored locally to access the atomic service within the newly installed application; the accessed atomic service is the atomic service declared in the installation information of the first application.

[0306] When an uninstall operation for the second application is detected, service information of the atomic service included in the first application is deleted from the local cache, and the deleted atomic service is the atomic service declared in the installation information of the second application.

[0307] The specific process of the service management framework obtaining the service information of the atomic service in the application is as follows Figure 5A shown.

[0308] S903: The service management framework sends a service information change broadcast to an external entity.

[0309] The service information change broadcast is used to indicate the change of the atomic service, and may carry part of the service information of the changed atomic service, such as at least one of the icon and name of the atomic service.

[0310] It should be noted that the service management framework sends the intention to change the service to the external entity as a broadcast parameter of the service information change broadcast.

[0311] S904: The external entity processes part of the service information of the changed atomic service.

[0312] Specifically, the external entity may store part of the service information of a newly added atomic service or delete part of the service information of an uninstalled atomic service.

[0313] In some embodiments, the service management framework can also trigger service aging based on the query time of the atomic service and clean up the atomic services that have not been used for a long time. The service management framework periodically triggers the service aging process. For atomic services cached from the service platform, if the atomic service has not been used for a long time (for example, in the last 30 days), the service management framework clears the service information of the atomic service from the local cache to release storage space. The service management framework establishes a service status table. Each time an external entity queries an atomic service, the service management framework records the current time in the service status table as the most recent usage time of the atomic service to determine whether to trigger service aging.

[0314] like Fig.13 The figure shows a flow chart of a service management framework periodically triggering service aging provided by an embodiment of the present application, including but not limited to the following steps:

[0315] S1001: An external entity queries an atomic service.

[0316] The steps for external entities to query atomic services are as above Figure 6 shown.

[0317] S1002: The service management framework records the usage time of the queried atomic service in the service status table.

[0318] S1003: The service management framework clears the service information of the atomic services that have not been used for a long time in the local cache.

[0319] It should be noted that the flowcharts described in each embodiment of the present application are only one embodiment. Without departing from the spirit of the present application, the steps in each flowchart may be modified or changed in a variety of ways, such as executing the steps in the flowchart in a different order, or deleting, adding or modifying certain steps.

[0320] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0321] In the embodiments of the present application, unless otherwise specified, the meaning of "multiple" refers to two or more than two. For example, multiple nodes refers to two or more than two nodes. "At least one" refers to any number, for example, one, two or more than two.

[0322] “A and / or B” may refer to only A, only B, or both A and B. “At least one of A, B, and C” may refer to only A, only B, only C, or both A and B, both B and C, both A and C, or both A, B, and C. The terms “first,” “second,” “third,” “fourth,” etc. in this application are used only to distinguish different objects, and are not used to indicate the priority or importance of an object.

[0323] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways.

[0324] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

Claims

1. An atomic service management method, applied to electronic equipment, characterized in that: include: In response to a user operation on the data to be processed, identifying a target intent of the data to be processed; Based on the correspondence between the atomic service and the intent, query the atomic service corresponding to the target intent to obtain a first atomic service list; the first atomic service list includes service information of the atomic service corresponding to the target intent that is queried; The service information is used to describe the atomic service; The second atomic service list is displayed, where the second atomic service list is determined based on the first atomic service list.

2. The atomic service management method according to claim 1, characterized in that: The method further comprises: When the electronic device is turned on, obtaining service information of the atomic service from installation information of the local application; The service information of the obtained atomic service is stored according to the definition of the atomic service.

3. The atomic service management method according to claim 2, characterized in that: The service information of the atomic service includes the atomic service's identification, response capability, and service parameter list; The response capability includes the intent that the atomic service can implement; The service parameter list includes at least one service parameter required to implement the atomic service.

4. The atomic service management method according to claim 1, characterized in that: The querying of the atomic service corresponding to the target intent based on the correspondence between the atomic service and the intent includes: Querying the first-level cache of the electronic device for service information of the atomic service corresponding to the target intent; If the service information of the atomic service corresponding to the target intent is not found in the first-level cache, the service information of the atomic service corresponding to the target intent is found in the second-level cache of the electronic device.

5. The atomic service management method according to claim 4, characterized in that: The step of searching the first-level cache of the electronic device for the atomic service corresponding to the target intent based on the correspondence between the atomic service and the intent includes: Querying a first service identifier list corresponding to the target intent in a mapping table, wherein the mapping table includes multiple intents and service identifier lists corresponding to the multiple intents respectively; the service identifier list includes an identifier of at least one atomic service; The service information of each atomic service in the first service identification list is queried in the high-frequency service cache list, wherein the high-frequency service cache list includes the identifications and addresses of multiple atomic services; the address is used to determine the service information of the corresponding atomic service, and the mapping table and the high-frequency service cache list are stored in the first-level cache.

6. The atomic service management method according to claim 5, characterized in that: The method further comprises: The high-frequency service cache list is refreshed using the LRU algorithm.

7. The atomic service management method according to claim 4, characterized in that: The step of querying the atomic service corresponding to the target intent in the secondary cache of the electronic device includes: The service information of each atomic service in the first service identification list is queried in a database table, wherein the database table includes the identification and service information of the atomic services stored locally in the electronic device; and the database table is stored in the secondary cache.

8. The atomic service management method according to claim 5, characterized in that: Also includes: If the first service identifier list corresponding to the target intent is not found in the mapping table, obtaining service information of the atomic service from the service platform; Update the mapping table and the database table based on the obtained service information of the atomic service; After the update, the query in the mapping table for the first service identifier list corresponding to the target intent is triggered to execute.

9. The atomic service management method according to claim 1 or 2, characterized in that: The method further comprises: Obtain at least one slot corresponding to the target intent; Atomic services whose service parameters match the at least one slot are filtered out from the first atomic service list, and the second atomic service list includes the filtered atomic services.

10. The atomic service management method according to claim 9, characterized in that: The step of selecting an atomic service whose service parameters match the slot from the first atomic service list includes: The first atomic service list includes a first atomic service, and the service parameters of the first atomic service include a first service parameter; If there is a slot with the same name as the first service parameter in the at least one slot, the first service parameter matches the at least one slot; or, If the at least one slot has a slot with the same name as the first service parameter and the parameter value of the first service parameter is within the enumeration range corresponding to the first service parameter, then the first service parameter matches the at least one slot; or, If the at least one slot has a slot with the same name as the first service parameter and the number of parameter values ​​of the first service parameter is not greater than the maximum value specified in the list corresponding to the first service parameter, then the first service parameter matches the at least one slot; or, If there is a slot in the at least one slot with the same name as the first service parameter, and the parameter value of the first service parameter is within the enumeration range corresponding to the first service parameter, and the number of parameter values ​​of the first service parameter is not greater than the maximum value specified in the list corresponding to the first service parameter, then the first service parameter matches the at least one slot.

11. The atomic service management method according to claim 10, characterized in that: The method further comprises: Using the slot value of the slot with the same name as the parameter value of the first service parameter; If the at least one slot does not have a slot with the same name as the first service parameter, determining whether the first service parameter has a corresponding expression; When it is determined that the first service parameter has a corresponding expression, the corresponding expression is executed, and if the execution is successful, the first service parameter matches the at least one slot.

12. The atomic service management method according to claim 11, characterized in that: The method further comprises: The execution result of executing the corresponding expression is used as the parameter value of the first service parameter.

13. The atomic service management method according to claim 11, characterized in that: The method further comprises: When it is determined that the first service parameter has no corresponding expression or the corresponding expression fails to execute, determining whether the first service parameter has a default value; If the first service parameter has a default value, the first service parameter matches the at least one slot, and the default value is a parameter value of the first service parameter; If the first service parameter has no default value, then the first service parameter does not match the at least one slot.

14. The atomic service management method according to any one of claims 1 to 11, characterized in that: The method further comprises: Recording the usage time of the atomic service corresponding to the target intent in the service status table; Based on the usage time of the atomic service corresponding to the intent, the atomic service corresponding to the target intent that has not been used for a first period of time is cleared locally.

15. The atomic service management method according to any one of claims 1 to 11, characterized in that: The method further comprises: When checking that the service information of the locally stored atomic service is inconsistent with the service information of the atomic service in the service platform, the service information of the locally stored atomic service is updated to the service information of the atomic service in the service platform; the service platform includes the service information of the atomic service registered by the three parties.

16. The atomic service management method according to claim 15, characterized in that: The method further comprises: When an installation operation for a first application is detected, service information of a first atomic service is obtained from the installation information of the first application, and the service information of the first atomic service is stored locally; the first atomic service is an atomic service declared by the first application in the installation information of the first application; and / or, When an uninstall operation for the second application is detected, service information of the second atomic service is deleted locally, where the second atomic service is an atomic service declared by the second application in the installation information of the second application.

17. The atomic service management method according to claim 1, characterized in that: The method further comprises: When the target intent belongs to a local intent, the querying the atomic service corresponding to the target intent includes: querying the service information of the atomic service corresponding to the target intent locally; When the target intent is a non-local intent, obtaining query strategy information corresponding to the current scene; When the acquired query strategy information indicates the first strategy, the querying the atomic service corresponding to the target intent includes: locally querying service information of the atomic service corresponding to the target intent; When the acquired query strategy information indicates the second strategy, the querying of the atomic service corresponding to the target intent includes: querying the service information of the atomic service corresponding to the target intent locally, and if the service information of the atomic service corresponding to the target intent is not found locally, querying the service information of the atomic service corresponding to the target intent in the atomic service within the service platform; When the acquired query strategy information indicates the third strategy, the service information of the atomic service corresponding to the target intent is queried in the service information of the atomic service in the service platform.

18. An electronic device, characterized in that: The electronic device comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the electronic device executes the method according to any one of claims 1 to 17.