WO2023185166A1 - Procédé et appareil d'appel de service, dispositif, et support de stockage - Google Patents

Procédé et appareil d'appel de service, dispositif, et support de stockage Download PDF

Info

Publication number
WO2023185166A1
WO2023185166A1 PCT/CN2022/143347 CN2022143347W WO2023185166A1 WO 2023185166 A1 WO2023185166 A1 WO 2023185166A1 CN 2022143347 W CN2022143347 W CN 2022143347W WO 2023185166 A1 WO2023185166 A1 WO 2023185166A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
target
request
target service
server
Prior art date
Application number
PCT/CN2022/143347
Other languages
English (en)
Chinese (zh)
Inventor
杨俊拯
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Publication of WO2023185166A1 publication Critical patent/WO2023185166A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the embodiments of the present application relate to the field of computer technology, and in particular to a service invoking method, device, equipment and storage medium.
  • Command control is a technology that recognizes and analyzes user commands and controls the device to perform corresponding operations based on the recognition and analysis results.
  • Common command controls include gesture control, voice control, etc.
  • Embodiments of the present application provide a service invoking method, device, equipment and storage medium.
  • the technical solutions are as follows:
  • embodiments of the present application provide a service invoking method, which is executed by a first device.
  • the method includes:
  • the service call request is used to request the second device to call the target service to perform the target action;
  • embodiments of the present application provide a service invoking method, which is executed by a second device.
  • the method includes:
  • Receive a service invocation request sent by the first device the service invocation request is used to request to call a target service to perform a target action, the service invocation request is generated by the first device based on the first instruction recognition result of the first input instruction.
  • a service invoking device which includes:
  • An instruction identification module used to identify the first input instruction and obtain the first instruction identification result
  • a request generation module configured to generate a service invocation request based on the first instruction recognition result, the service invocation request being used to request the second device to invoke the target service to perform the target action;
  • a request sending module configured to send the service invocation request to the second device, so that the second device deploys the target service based on the target service installation package and calls the target service to perform the target action, so The above target service installation package is obtained from the server.
  • a service invoking device which includes:
  • a request receiving module configured to receive a service invocation request sent by the first device.
  • the service invocation request is used to request the invocation of a target service to perform a target action.
  • the service invocation request is generated by the first device based on a response to a first input instruction.
  • the first instruction recognition result is generated;
  • An installation package acquisition module configured to obtain the target service installation package of the target service from the server based on the service invocation request
  • a service deployment module configured to deploy the target service based on the target service installation package
  • An execution module is used to call the target service to execute the target action.
  • inventions of the present application provide a computer device.
  • the computer device includes a processor and a memory; the memory stores at least one instruction, and the at least one instruction is used to be executed by the processor to implement the following: The service calling method described in the above aspects.
  • embodiments of the present application provide a computer-readable storage medium in which at least one program code is stored, and the program code is loaded and executed by a processor to implement the above aspects. service calling method.
  • inventions of the present application provide a computer program product or computer program.
  • the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the service invocation method provided in various optional implementations of the above aspect.
  • Figure 1 shows a system architecture diagram of a service invocation system provided by an exemplary embodiment of the present application
  • Figure 2 shows a flow chart of a service invoking method provided by an exemplary embodiment of the present application
  • Figure 3 shows a schematic implementation diagram of a service invoking method provided by an exemplary embodiment of the present application
  • Figure 4 shows a schematic diagram of the service definition and installation package upload process provided by an exemplary embodiment of the present application
  • Figure 5 shows a flow chart of a service invoking method provided by another exemplary embodiment of the present application.
  • Figure 6 shows a flow chart of a text parsing process provided by an exemplary embodiment of the present application
  • Figure 7 shows a schematic diagram of the implementation of the service dynamic deployment process provided by an exemplary embodiment of the present application
  • Figure 8 shows an implementation schematic diagram of the service update process provided by an exemplary embodiment of the present application
  • Figure 9 shows a flow chart of the service offloading process provided by an exemplary embodiment of the present application.
  • Figure 10 shows a schematic diagram of the implementation of the service offloading process provided by an exemplary embodiment of the present application
  • Figure 11 shows a structural block diagram of a service invoking device provided by an embodiment of the present application.
  • Figure 12 shows a structural block diagram of a service invoking device provided by another embodiment of the present application.
  • Figure 13 shows a structural block diagram of a computer device provided by an exemplary embodiment of the present application.
  • the screen capture service is used to implement the device screen capture function
  • the video playback service is used for video playback, and so on.
  • the device can call services deployed locally or services deployed on other devices (i.e., cross-end calls).
  • the first device can call the local video playback service to play the video, or can call the video playback service of the second device to realize video playback on the second device.
  • the services involved in the embodiments of this application support dynamic deployment.
  • the service installation package can be obtained dynamically, and the service deployment is completed based on the service installation package.
  • the service in the embodiment of the present application supports automatic uninstallation, which simplifies the service installation and uninstallation operation process.
  • services may include static services and dynamic services.
  • Static services refer to services provided by host applications and need to be pre-installed in the device
  • dynamic services refer to services that support dynamic deployment and can be used during the calling process.
  • Dynamically deployed in the device the service installation package of the dynamic service is stored in the server, and the device can download the service installation package from the server.
  • Figure 1 shows a system structure diagram of a service invocation system provided by an exemplary embodiment of the present application.
  • the system includes a first device 110, a second device 120 and a server 130.
  • the first device 110 is an electronic device with an instruction recognition function.
  • the instruction recognition function may be a voice recognition function, a gesture recognition function, a text recognition function, etc.
  • the electronic device may be a smartphone, a tablet computer, a wearable device, a personal computer, a vehicle-mounted terminal, etc. This implementation does not limit this .
  • the first device 110 can convert the input speech into speech text through the speech recognition module 111, and parse the speech text through the text parsing module 112 to obtain a speech recognition result (used to characterize user intent).
  • the first device 110 determines the external device that needs to be called (ie, the second device 120 in the figure) through the device selection module 113, And generate a service call request based on the speech recognition result, thereby sending the service call request to the external device.
  • the number of external devices is at least one.
  • the second device 120 is an electronic device that supports dynamic deployment services.
  • the electronic device may be a smartphone, a tablet, a wearable device, a personal computer, a vehicle-mounted terminal, etc., which is not limited in this implementation.
  • the second device 120 is provided with a service proxy 121.
  • the service proxy 121 receives the service invocation request sent by the first device 110, it first queries through the service management module 122 whether there is a service invocation request deployed locally. First service as indicated.
  • the service life cycle management module 123 is used to manage the life cycle of each service in the device. If the target service is deployed, the service life cycle management module 123 controls the service execution module 125 to call the target service to perform specific actions. If the target service is not deployed, the service management module 122 downloads the service installation package corresponding to the target service from the server 130 and stores it locally; the service installation module 124, under the control of the service life cycle management module 123, deploys according to the service installation package target service. In addition to controlling service installation and execution, the service life cycle management module 123 also controls the service uninstall module 126 to uninstall deployed services according to policies to avoid deploying too many services on the device.
  • the server 130 is a server, a service cluster or a cloud computing center composed of several servers. Divided according to the functions implemented, the server 130 includes a service definition management module 131, a service installation package management module 132, a subscription management module 133, a device management module 134 and a service gateway 135.
  • the service gateway 135 serves as an entrance for interaction between external devices and servers, and is used to dynamically route incoming traffic to designated management modules.
  • the service definition management module 131 is used to manage the service definition information of the service developed by the developer, and associate the service definition information with the corresponding service installation package, so that the corresponding service installation package can be subsequently obtained based on the service definition information.
  • the service installation package management module 132 is used to manage service installation packages of services developed by developers, and store the service installation packages in the file warehouse.
  • the subscription management module 123 is used to manage the subscription relationship between the device and the service, so as to subsequently control the device to perform service updates based on the subscription relationship.
  • the device management module 134 is used to manage the binding relationship between accounts and devices, as well as the device status of each device, and provide device selection basis for the device selection module 113 on the first device 110 side.
  • the above embodiment only describes the infrastructure of the service invocation system.
  • the system may also include other computer equipment (such as developer equipment) or servers that implement other functions. This embodiment does not constitute a limitation on this. .
  • Figure 2 shows a flow chart of a service invocation method provided by an exemplary embodiment of the present application.
  • This embodiment of the present application takes the application of this method to the service invocation system shown in Figure 1 as an example.
  • the method includes :
  • Step 201 The first device recognizes the first input command and obtains the first command recognition result.
  • the first input instruction may be a voice instruction, a gesture instruction, a text instruction, etc.
  • the embodiment of the present application does not limit the form of the input instruction.
  • the first device has a voice collection function.
  • the first device performs voice recognition on the first input voice to obtain the first voice recognition result.
  • the first speech recognition result is used to characterize the speech control intention.
  • the first device first converts the input speech into speech text, then parses the speech text, and determines the parameters required to generate the service call request as the speech recognition result.
  • the first device has an image acquisition function.
  • the first device performs gesture recognition on the first gesture, thereby based on the interaction between the gesture and the control instruction.
  • the mapping relationship is used to obtain a first gesture recognition result, and the first gesture recognition result is used to represent the control intention represented by the gesture.
  • the first device has a text input function.
  • the first device recognizes the first input text and obtains the first text recognition result.
  • the first text recognition result is used to characterize the control intention of the input text.
  • the first instruction recognition result includes parameters required to generate a service invocation request.
  • Step 202 The first device generates a service invocation request based on the first instruction recognition result.
  • the service invocation request is used to request the second device to invoke the target service to perform the target action.
  • the service invocation request may be a service invocation URL.
  • the embodiment of this application does not limit the specific form of the service invocation request.
  • the smartphone 31 generates a service call request based on the speech recognition result of "play xxx video on the car machine".
  • the service call request is used to request the car machine to call the video playback service to play the xxx video.
  • Step 203 The first device sends a service invocation request to the second device.
  • the first device after determining the second device that needs to be called, the first device obtains the device address of the second device, and then sends a service invocation request to the second device based on the device address.
  • the first device when the number of second devices is at least two, the first device sends a service invocation request to each second device, where different second devices correspond to different service invocation requests (some parameters in the requests are different, But they are all used to call the same service to perform the same action).
  • the smart phone 31 sends a service invocation request to the car machine 32.
  • Step 204 The second device receives the service invocation request sent by the first device.
  • the second device receives the service invocation request through a service proxy.
  • the second device verifies the service invocation request, and further responds to the service invocation request after passing the verification.
  • the verification methods include request integrity verification, call requester verification, parameter compliance verification, etc., which are not limited in the embodiments of this application.
  • the second device after receiving the service invocation request, the second device automatically determines whether to accept the request, or determines whether to accept the request based on user instructions. If the request is accepted, step 205 is executed; if the request is not accepted, the process ends (a call rejection notification may be sent to the first device).
  • Step 205 The second device obtains the target service installation package of the target service from the server based on the service invocation request.
  • the second device detects whether the target service indicated by the service invocation request is deployed. If the target service is deployed, the service call is made; if the target service is not deployed, the target service needs to be dynamically deployed first.
  • the second device When dynamically deploying the target service, the second device first obtains the target server installation package of the target service from the server.
  • the server is provided with a file warehouse, which contains service installation packages for dynamic services that implement different functions and support dynamic deployment.
  • the service support is developed by developers and uploaded to the server.
  • the developer calls the upload interface of the service installation package management module 132 through the service gateway 135 of the server 130 to upload the service installation package to the server 130 .
  • the successfully uploaded service installation package is associated with a unique installation package identification and stored in the file warehouse.
  • the service installation package management module 132 feeds back the installation package identification to the developer.
  • the developer associates the service definition information of the service with the installation package identifier, and then calls the upload interface of the service definition management module 131 through the service gateway 135 to save the service definition information in the server 130 .
  • the second device sends an installation package acquisition request to the server.
  • the service gateway of the server After receiving the request, the service gateway of the server routes the request to the service installation package management module and obtains the target service installation package from the file warehouse. , thereby feeding back the target service installation package to the second device.
  • the car machine 32 downloads the video playback service installation package from the server 33 .
  • Step 206 The second device deploys the target service based on the target service installation package.
  • the second device verifies the obtained target service installation package, and after passing the verification, dynamically deploys the target service based on the target service installation package.
  • Step 207 The second device calls the target service to perform the target action.
  • the second device determines the target action indicated by the service invocation request, and thereby calls the target service to perform the target action.
  • the vehicle computer 32 determines that the target action is "play xxx video", thereby calling the video playback service to play the xxx video.
  • a smartphone with a voice recognition function can also be used as a dispatch center to realize voice calls to in-car services; in When the car machine has a voice control function, it can avoid the impact on other services when the car machine frequently performs voice recognition (the performance of the car machine is usually lower than that of a smartphone, and the car machine needs to call important functions related to vehicle driving in real time. Serve).
  • the vehicle machine can dynamically deploy services after receiving a service call request, which can avoid content occupation caused by pre-deployment of services (especially some services with low frequency of use).
  • the first device with the command recognition function recognizes the input command, and sends a service invocation request to the second device based on the command recognition result, instructing the second device to call the target service to execute the target.
  • the action enables the second device to obtain the target service installation package from the server and deploy the target service based on the service invocation request, thereby calling the target service to perform the target action.
  • a service invocation request based on the first instruction recognition result including:
  • Send a service call request to the second device including:
  • a service invocation request is sent to the second device.
  • a service invocation request based on the first instruction recognition result including:
  • Send a service call request to the second device including:
  • a service invocation request is sent to the second device.
  • this method also includes:
  • a service uninstallation request based on the second instruction recognition result including:
  • the candidate device Based on the target device name and the target service name included in the second instruction recognition result, obtain the device address of at least one candidate device from the server, the candidate device matches the target device name and is deployed with the target service;
  • Send a service uninstallation request to the second device including:
  • a service uninstallation request is sent to the second device.
  • obtain the target service installation package of the target service from the server based on the service call request including:
  • the target service installation package When it is determined that the target service installation package does not exist locally based on the target service definition information, the target service installation package is obtained from the server based on the target service definition information.
  • the server stores the correspondence between the service definition information and the service installation package.
  • this method also includes:
  • a subscription message is sent to the server, and the server is used to maintain the subscription relationship between the second device and the target service based on the subscription message.
  • this method also includes:
  • the service update messages are pushed by the server based on the subscription relationship when the target service installation package is updated;
  • this method also includes:
  • a subscription cancellation message is sent to the server, and the server is used to delete the subscription relationship based on the subscription cancellation message.
  • this method also includes:
  • the service uninstallation request is used to request the second device to uninstall the target service, and the service uninstallation request is generated by the first device based on the second instruction recognition result of the second input instruction;
  • uninstall target services based on service uninstallation requests including:
  • this method also includes:
  • the target service is uninstalled when the automatic uninstallation conditions are met.
  • the automatic uninstallation conditions include at least one of the following: the number of calls to the target service reaches the number threshold, the target service is not called within the target duration, and the deployment duration of the target service reaches the duration threshold.
  • Figure 5 shows a flow chart of a service invocation method provided by another exemplary embodiment of the present application.
  • This embodiment of the present application takes the application of this method to the service invocation system shown in Figure 1 as an example to illustrate the method.
  • Step 501 The first device recognizes the first input command and obtains the first command recognition result.
  • the first instruction identification result includes the target device name of the device to be called, the target service name of the target service to be called, and the target action name of the target action.
  • text parsing is first pre-configured in the first device, so that text parsing is performed based on the pre-configured content during the application process.
  • the content configured during the text parsing preconfiguration process includes intent dictionary, intent slot, intent corpus, and intent reply.
  • the intent dictionary contains key-value pairs with the subject word as the key and a set of synonym lists as the value.
  • intent dictionary 1 is the device name
  • the value is the synonym list of the device name (for example, the key is the car machine, the valve is the vehicle terminal, the driving computer, etc.)
  • the key of intent dictionary 2 is the device name.
  • the service name of the service that needs to be called, and the value is the synonym list of the service name (for example, the key is the video playback service, and the value is open, show, etc.)
  • the key of the intent dictionary 3 is the action name of the required action, and the value is the action name. Corresponding synonym list.
  • Intent slots are preconfigured placeholder variables, and each intent slot corresponds to a unique intent dictionary. For example, if there are three intent slots configured, the variable in intent slot 1 is var1, which corresponds to intent dictionary 1; the variable in intent slot 2 is var2, which corresponds to intent dictionary 2; the variable in intent slot 3 is var3, which corresponds to intent dictionary 3. .
  • Intent corpus is generally modal prefix + subject or synonym in the intent dictionary + modal suffix or its grammatical variant. It can support regular corpus and irregular corpus. For example, configure a regular corpus and multiple irregular corpus:
  • the XXX video is opened on the car machine.
  • the intent reply is an operation performed when the output text matches the intent corpus.
  • it refers to obtaining the target device address information, assembling it with the variable value of the intent slot into a service call request, and initiating the call.
  • the first device matches the speech text with the above-mentioned intention corpus, and obtains the parameter value in the intention slot if the matching is successful.
  • Step 502 The first device obtains the device address of at least one candidate device from the server based on the target device name included in the first instruction recognition result, and the candidate device matches the target device name.
  • the first device obtains the name of at least one candidate device from the server. Device address.
  • the device address can be the address of the service agent in each candidate device, such as the gateway address of the service agent.
  • the candidate device is a device that matches the target device name and is associated with the first device.
  • the association relationship may include at least one of the following: logging in to the same user account, being in the same device group, or having a friend relationship, etc. This is not limited in the embodiment of the present application.
  • the device management module of the server stores the device address of each device under the user account (reported regularly by each device).
  • the device selection module of the first device obtains the device address of each candidate device under the current user account that matches the target device name by calling the device management module of the server.
  • the server will use car machine 1, car machine 2, and car machine 3.
  • Car machine 3 is determined as a candidate device, and the device addresses of car machine 1, car machine 2 and car machine 3 are sent to the smartphone.
  • Step 503 The first device determines the second device from at least one candidate device.
  • the first device needs to determine the second device from at least one candidate device.
  • the first device may automatically determine the second device, or determine the second device based on user instructions (that is, manually determine).
  • the second device determines the second device from at least one candidate device based on the target selection strategy.
  • the target selection strategy includes at least one of the following: a distance-based selection strategy (such as determining the candidate device closest to the first device as the second device), a priority-based selection strategy (such as based on a preset Device priority, determine the candidate device with the highest priority as the second device), status-based selection strategy (for example, determine the candidate device currently in use as the second device).
  • a distance-based selection strategy such as determining the candidate device closest to the first device as the second device
  • a priority-based selection strategy such as based on a preset Device priority, determine the candidate device with the highest priority as the second device
  • status-based selection strategy for example, determine the candidate device currently in use as the second device.
  • the server periodically obtains the device status of each device, and feeds the device status together with the device address to the first device.
  • the first device determines the candidate device in use among the candidate devices as the target device.
  • the second device displays a candidate device list, and the candidate device list includes a device identifier of at least one candidate device, so that the second device is determined based on a selection operation on the device identifier in the candidate device list.
  • the first device provides a list of candidate devices for the user to select, and determines at least one candidate device selected by the user as the target device.
  • the first device can also use other solutions (such as an automatic and manual combination solution) to determine the second device, and the embodiments of the present application are not limited to this.
  • Step 504 The first device generates a service invocation request based on the device address of the second device, the target service name and the target action name contained in the first instruction recognition result.
  • the first device generates corresponding service invocation requests for each of the determined second devices.
  • the first device uses the device address, target service name, and target action as parameters to form a service invocation link.
  • the smartphone generates a service call request based on "car machine 1 address”, "video playback service” and "play xxx video”.
  • Step 505 The first device sends a service invocation request to the second device.
  • the first device sends a service invocation request to the second device based on the device address of the second device.
  • Step 506 The second device receives the service invocation request sent by the first device.
  • Step 507 The second device obtains the target service definition information of the target service from the server based on the target service name included in the service invocation request.
  • the server stores the correspondence between the service definition information and the service installation package.
  • the second device obtains the target service name contained in the service invocation request, and thereby obtains the target service definition information of the target service from the server based on the target service name.
  • the service management module of the second device calls the server definition management module to obtain the target service definition information of the target service through the service gateway of the server.
  • the service management module 122 of the second device 120 calls the service definition management module 131 of the server 130 through the service gateway 135 to obtain the target service definition information.
  • Step 508 If it is determined based on the target service definition information that the target service installation package does not exist locally, the second device obtains the target service installation package from the server based on the target service definition information.
  • the service definition information of the service is associated with the installation package identification of the service installation package.
  • the second device detects whether the local storage contains the target service installation package based on the target installation package identifier associated with the target service definition information. If the target service installation package exists, the second device determines that dynamic deployment is not required; if the target service installation package does not exist, the second device further obtains the target service installation package from the server based on the target service definition information.
  • the second device calls the service installation package management module of the server to obtain the target service installation package through the service gateway of the server.
  • the service management module 122 of the second device 120 calls the service installation package management module 132 of the server 130 through the service gateway 135 to obtain the target service installation package.
  • Step 509 The second device deploys the target service based on the target service installation package.
  • Step 510 The second device calls the target service to perform the target action.
  • steps 509 to 510 For the implementation of the above-mentioned steps 509 to 510, reference can be made to steps 206 to 207, which will not be described in detail here in the embodiment of the present application.
  • the service life cycle management module 123 calls the service installation module 124 to deploy the target service, and then calls the service execution module 125 to execute the target action indicated by the request.
  • Step 511 The second device sends a subscription message to the server, and the server is used to maintain the subscription relationship between the second device and the target service based on the subscription message.
  • developers may update the developed services.
  • the server maintains the subscription relationship between each device and the service, so that when the service is updated based on the subscription relationship, the relevant device is promptly notified for service updates. Therefore, after obtaining the target installation package, the second device sends a subscription message to the server, instructing the server to update the service subscription information of the second device, that is, to add the target service to the service subscription information of the second device.
  • the second device 120 after obtaining the target service installation package, the second device 120 sends a subscription message to the service gateway 135, and the service gateway 135 calls the subscription management module 133 to update the subscription relationship of the second device.
  • the server can also automatically update the subscription relationship between the device and the service after providing the service installation package, which is not limited in this embodiment.
  • Step 512 The second device receives the service update message sent by the server.
  • the service update message is pushed by the server based on the subscription relationship when the target service installation package is updated.
  • the server pushes a service update message to each device that subscribes to the service based on the subscription relationship between the device and the service.
  • the service update message includes the service name.
  • the subscription relationship maintained in the server is shown in Table 1.
  • the server pushes service update messages to the car machine 1 and the smart TV 1 respectively based on the subscription relationship shown in Table 1.
  • the developer calls the upload interface of the service definition management module 131 through the service gateway 135, uploads the updated service definition information to the server 130, and calls the service installation package management module 131 through the service gateway 135.
  • the upload interface is used to upload the updated service installation package to the server 130.
  • the subscription management module 133 of the server 130 sends a service update message to the service agent 121 of the second device 120 through the service gateway 135 .
  • Step 513 The second device obtains the updated target service installation package from the server based on the service update message.
  • the second device obtains the updated target server installation package from the server, downloads the originally deployed target service, and deletes the originally stored target service installation package.
  • the service management module 122 of the second device 120 obtains the updated service installation package from the server 120 and stores it in local storage.
  • the second device may further redeploy the target service based on the updated target service installation package, or perform service deployment in real time when subsequently receiving a service invocation request, which is not limited in this embodiment.
  • the first device obtains the service definition information and determines whether the service installation package is stored locally based on the service definition information to avoid wasting traffic caused by repeated downloading when the service installation package is stored.
  • the server maintains the subscription relationship between the device and the service, and when the service is updated, pushes the service update message to the relevant device based on the subscription relationship to ensure the availability and timeliness of the service deployed on the device side. .
  • the second device can automatically uninstall the service according to the policy, or the user can control the second device to uninstall the service through instructions.
  • Figure 9 shows a flow chart of a service uninstallation process according to an exemplary embodiment of the present application.
  • Step 901 The first device recognizes the second input command and obtains the second command recognition result.
  • the second input instruction may be a voice instruction, a gesture instruction, a text instruction, etc.
  • the embodiment of the present application does not limit the form of the input instruction.
  • the first device when the input instruction is recognized and the control intention represented by the instruction identification result is to delete the deployed service, the first device obtains the second instruction identification result, wherein the second instruction identification result contains: Contains the parameters required to generate a service uninstall request.
  • the second instruction identification result includes the device name of the service to be uninstalled and the service name of the service to be uninstalled.
  • the smartphone performs speech recognition on "Delete the video playback service on the car machine", and the obtained speech recognition result includes the device name "car machine” and the service name "video playback service”.
  • Step 902 The first device generates a service uninstallation request based on the second instruction recognition result.
  • the service uninstallation request is used to request the second device to uninstall the target service.
  • the device name is included in the second command recognition result
  • the first device needs to determine the actual need for service from the candidate devices.
  • this step may include the following steps:
  • the first device obtains the device address of at least one candidate device from the server.
  • the device address can be the address of the service agent in each candidate device, such as the gateway address of the service agent.
  • the candidate device is a device that matches the target device name, is associated with the first device, and is deployed with the target service.
  • the association relationship may include at least one of the following: logging in to the same user account, being in the same device group, or having a friend relationship, etc. This is not limited in the embodiment of the present application.
  • the device management module of the server stores the device address of each device under the user account (reported regularly by each device), and the subscription management module stores the subscription relationship between the service and the device.
  • the device selection module of a device obtains the device address of each candidate device under the current user account that matches the target device name and is deployed with the target service by calling the device management module and subscription management module of the server.
  • the server determines the vehicle computer 1 as a candidate device and sends the device address of the vehicle computer 1 to the smartphone.
  • the first device needs to determine the second device from at least one candidate device.
  • the first device may automatically determine the second device, or determine the second device based on user instructions (that is, manually determine).
  • the second device determines the second device from at least one candidate device based on the target selection strategy.
  • the target selection strategy includes at least one of the following: a distance-based selection strategy (such as determining the candidate device closest to the first device as the second device), a priority-based selection strategy (such as based on a preset Device priority, determine the candidate device with the highest priority as the second device), status-based selection strategy (for example, determine the candidate device currently in use as the second device).
  • a distance-based selection strategy such as determining the candidate device closest to the first device as the second device
  • a priority-based selection strategy such as based on a preset Device priority, determine the candidate device with the highest priority as the second device
  • status-based selection strategy for example, determine the candidate device currently in use as the second device.
  • the server periodically obtains the device status of each device and feeds back the device status together with the device address to the first device.
  • the first device determines the candidate device in use among the candidate devices as the target device.
  • the second device displays a candidate device list, and the candidate device list includes a device identifier of at least one candidate device, so that the second device is determined based on a selection operation on the device identifier in the candidate device list.
  • the first device provides a list of candidate devices for the user to select, and determines at least one candidate device selected by the user as the target device.
  • the first device can also use other solutions (such as an automatic and manual combination solution) to determine the second device, and the embodiments of the present application are not limited to this.
  • the first device generates corresponding service uninstallation requests for each of the determined second devices.
  • the first device combines the device address and the target service name as parameters to form a service uninstallation link.
  • the smartphone generates a service uninstallation request based on the "car machine 1 address” and "video playback service”.
  • Step 903 The first device sends a service uninstallation request to the second device.
  • the first device sends a service uninstallation request to the second device based on the device address of the second device.
  • Step 904 The second device receives the service uninstallation request sent by the first device.
  • the second device receives the service uninstallation request through a service proxy.
  • the second device verifies the service uninstallation request, and further responds to the service uninstallation request after passing the verification.
  • the verification methods include request integrity verification, offload requester verification, parameter compliance verification, etc., which are not limited in the embodiments of this application.
  • the second device after receiving the service uninstallation request, the second device automatically determines whether to accept the request, or determines whether to accept the request based on user instructions. If the request is accepted, step 905 is executed; if the request is not accepted, the process ends (an uninstallation rejection notification may be sent to the first device).
  • Step 905 The second device uninstalls the target service based on the service uninstallation request.
  • the second device first obtains the target service definition information of the target service from the server based on the target service name included in the service uninstallation request, and then based on the target service definition information Uninstall the target service and delete the locally stored target service installation package.
  • the second device when the target service is uninstalled (whether under command control or automatic uninstallation), the second device sends a subscription to the server
  • the cancellation message instructs the server to update the subscription relationship.
  • the server is used to delete the subscription relationship between the second device and the target service based on the subscription cancellation message.
  • the subscription cancellation message includes the device identification of the second device and the target service name of the target service.
  • the service management module 122 calls the service definition management module 131 through the service gateway 135 to obtain the target service definition information corresponding to the target service name. , and then call the service uninstall module 126 through the service life cycle management module 123 to uninstall the target service and delete the target service installation package.
  • the second device 120 further sends a subscription cancellation message to the server 130 so that the subscription management module 133 of the server 130 deletes the subscription relationship between the target service and the second device.
  • the user can instruct the second device to uninstall the service by inputting instructions without requiring the user to manually uninstall, thereby simplifying the service uninstallation process and preventing too many services deployed in the second device from affecting the device's operating performance.
  • the second device uninstalls the target service when the automatic uninstallation conditions are met, wherein the automatic uninstallation conditions include at least one of the following: the number of calls to the target service reaches a threshold, the target service is in the target service It has not been called within the duration and the deployment duration of the target service reaches the duration threshold.
  • the automatic uninstallation condition is set in the service life cycle management module and supports customization.
  • the service life cycle management module in the second device automatically calls the service uninstall module to uninstall the target service; when the target service has not been called within 2 hours, the service in the second device The life cycle management module automatically calls the service uninstall module to uninstall the target service; when the deployment time of the target service reaches 24 hours, the service life cycle management module in the second device automatically calls the service uninstall module to uninstall the target service.
  • the interaction process is taken as an example for schematic explanation, wherein the steps with the first device as the execution subject can be independently implemented as a service invocation method on the first device side, and the steps with the second device as the execution subject can be implemented independently.
  • the steps with the server as the execution subject can be independently implemented as a service invocation method on the server side.
  • FIG. 11 shows a structural block diagram of a service invoking device provided by an embodiment of the present application.
  • the device may include:
  • the instruction identification module 1101 is used to identify the first input instruction and obtain the first instruction identification result
  • Request generation module 1102 configured to generate a service invocation request based on the first instruction recognition result, where the service invocation request is used to request the second device to invoke a target service to perform a target action;
  • Request sending module 1103 configured to send the service invocation request to the second device, so that the second device deploys the target service based on the target service installation package and calls the target service to perform the target action,
  • the target service installation package is obtained from the server.
  • the request generation module 1102 is used for:
  • the request sending module 1103 is used for:
  • the service invocation request is sent to the second device based on the device address of the second device.
  • the request generation module 1102 is used to:
  • the candidate device list includes at least one device identifier of the candidate device; and determine the second device based on a selection operation on the device identifier in the candidate device list.
  • the instruction identification module 1101 is also used to identify the second input instruction to obtain the second instruction identification result;
  • the request generation module 1102 is further configured to generate a service uninstallation request based on the second instruction identification result, where the service uninstallation request is used to request the second device to uninstall the target service;
  • the request sending module 1103 is also configured to send the service uninstallation request to the second device, so that the second device uninstalls the target service.
  • the request generation module 1102 is used to:
  • the candidate device Based on the target device name and target service name included in the second instruction identification result, obtain the device address of at least one candidate device from the server, the candidate device matches the target device name and is deployed with the target Serve;
  • the request sending module 1103 is used for:
  • the service offloading request is sent to the second device based on the device address of the second device.
  • FIG 12 shows a structural block diagram of a service invoking device provided by another embodiment of the present application.
  • the device may include:
  • Request receiving module 1201 configured to receive a service invocation request sent by the first device.
  • the service invocation request is used to request to invoke a target service to perform a target action.
  • the service invocation request is generated by the first device based on a first input instruction.
  • the first instruction recognition result is generated;
  • the installation package acquisition module 1202 is configured to obtain the target service installation package of the target service from the server based on the service invocation request;
  • Service deployment module 1203, configured to deploy the target service based on the target service installation package
  • Execution module 1204 is used to call the target service to execute the target action.
  • the installation package acquisition module 1202 is used for:
  • the target service installation package When it is determined that the target service installation package does not exist locally based on the target service definition information, the target service installation package is obtained from the server based on the target service definition information, and the server stores service definition information. and the corresponding relationship between service installation packages.
  • the device also includes:
  • a message sending module is configured to send a subscription message to the server, and the server is configured to maintain a subscription relationship between the second device and the target service based on the subscription message.
  • the device also includes:
  • a message receiving module configured to receive a service update message sent by the server, which is pushed by the server based on the subscription relationship when the target service installation package is updated;
  • An update module configured to obtain the updated target service installation package from the server based on the service update message.
  • the device also includes:
  • a message sending module configured to send a subscription cancellation message to the server when the target service is uninstalled, and the server is configured to delete the subscription relationship based on the subscription cancellation message.
  • the device also includes:
  • the request receiving module 1201 is also configured to receive a service uninstallation request sent by the first device.
  • the service uninstallation request is used to request the second device to uninstall the target service.
  • the service uninstallation request is sent by the third device.
  • a device is generated based on a second instruction recognition result for the second input instruction;
  • An uninstallation module configured to uninstall the target service based on the service uninstallation request.
  • the uninstall module is used for:
  • the uninstall module is also used for:
  • the target service is uninstalled when the automatic uninstallation conditions are met.
  • the automatic uninstallation conditions include at least one of the following: the number of calls to the target service reaches a threshold, the target service has not been called within the target duration, and the target service has not been called within the target duration.
  • the deployment duration of the target service reaches the duration threshold.
  • FIG. 13 shows a structural block diagram of a computer device provided by an exemplary embodiment of the present application.
  • the computer device 1300 can be implemented as the first device or the second device in each of the above embodiments.
  • Computer device 1300 may include one or more of the following components: processor 1310 and memory 1320.
  • Processor 1310 may include one or more processing cores.
  • the processor 1310 uses various interfaces and lines to connect various parts of the entire computer device 1300, and executes by running or executing instructions, programs, code sets or instruction sets stored in the memory 1320, and calling data stored in the memory 1320.
  • the processor 1310 can use at least one of digital signal processing (Digital Signal Processing, DSP), field-programmable gate array (Field-Programmable Gate Array, FPGA), and programmable logic array (Programmable Logic Array, PLA). implemented in hardware form.
  • DSP Digital Signal Processing
  • FPGA Field-Programmable Gate Array
  • PLA programmable logic array
  • the processor 1310 can integrate one or more of a central processing unit (Central Processing Unit, CPU), a graphics processor (Graphics Processing Unit, GPU), a neural network processor (Neural-network Processing Unit, NPU), a modem, etc.
  • a central processing unit Central Processing Unit, CPU
  • a graphics processor Graphics Processing Unit, GPU
  • a neural network processor Neural-network Processing Unit, NPU
  • the CPU mainly handles the operating system, user interface and applications
  • the GPU is used to render and draw the content that needs to be displayed on the touch screen
  • the NPU is used to implement artificial intelligence (Artificial Intelligence, AI) functions
  • the modem is used to process Wireless communication. It can be understood that the above-mentioned modem may not be integrated into the processor 1310 and may be implemented by a separate chip.
  • the memory 1320 may include random access memory (RAM) or read-only memory (Read-Only Memory, ROM). Optionally, the memory 1320 includes non-transitory computer-readable storage medium. Memory 1320 may be used to store instructions, programs, codes, sets of codes, or sets of instructions.
  • the memory 1320 may include a program storage area and a data storage area, where the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), Instructions, etc., used to implement each method embodiment described below; the storage data area may store data created according to the use of the computer device 1300 (such as audio data, phone book), etc.
  • the computer device 1300 when the computer device 1300 is implemented as the first device, the computer device 1300 is also provided with a voice collection component, which may be a built-in microphone or an external microphone.
  • a voice collection component which may be a built-in microphone or an external microphone.
  • the structure of the computer device 1300 shown in the above figures does not constitute a limitation on the computer device.
  • the computer device may include more or less components than those shown in the figures, or a combination thereof. Certain parts, or different arrangements of parts.
  • the computer device 1300 also includes components such as a display screen, camera components, speakers, radio frequency circuits, input units, sensors (such as acceleration sensors, angular velocity sensors, light sensors, etc.), audio circuits, WiFi modules, power supplies, Bluetooth modules, etc. I won’t go into details here.
  • Embodiments of the present application also provide a computer-readable storage medium that stores at least one program code.
  • the program code is loaded and executed by a processor to implement the service invocation method described in the above embodiments. .
  • Embodiments of the present application provide a computer program product or computer program.
  • the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the service invocation method provided in various optional implementations of the above aspect.

Abstract

Des modes de réalisation de la présente demande, qui se rapportent au domaine technique des ordinateurs, divulguent un procédé et un appareil d'appel de service, un dispositif, et un support de stockage. Le procédé comprend : la reconnaissance, par un premier dispositif, d'une première instruction d'entrée pour obtenir un premier résultat de reconnaissance d'instruction (201) ; la génération d'une demande d'appel de service sur la base du premier résultat de reconnaissance d'instruction (202), la demande d'appel de service étant utilisée pour demander qu'un second dispositif appelle un service cible pour exécuter une action cible ; l'envoi de la demande d'appel de service au second dispositif (203) de façon à amener le second dispositif à déployer le service cible sur la base d'un progiciel d'installation de service cible, et à appeler le service cible pour exécuter l'action cible (207), le progiciel d'installation de service cible étant obtenu auprès d'un serveur.
PCT/CN2022/143347 2022-03-30 2022-12-29 Procédé et appareil d'appel de service, dispositif, et support de stockage WO2023185166A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210334389.8A CN114756306A (zh) 2022-03-30 2022-03-30 服务调用方法、装置、设备及存储介质
CN202210334389.8 2022-03-30

Publications (1)

Publication Number Publication Date
WO2023185166A1 true WO2023185166A1 (fr) 2023-10-05

Family

ID=82329738

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/143347 WO2023185166A1 (fr) 2022-03-30 2022-12-29 Procédé et appareil d'appel de service, dispositif, et support de stockage

Country Status (2)

Country Link
CN (1) CN114756306A (fr)
WO (1) WO2023185166A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117155992A (zh) * 2023-10-31 2023-12-01 天津市天河计算机技术有限公司 一种服务的处理方法和处理系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756306A (zh) * 2022-03-30 2022-07-15 Oppo广东移动通信有限公司 服务调用方法、装置、设备及存储介质
CN115242866A (zh) * 2022-07-28 2022-10-25 度小满科技(北京)有限公司 微服务调用方法、装置、电子设备及存储介质
CN115391598A (zh) * 2022-08-29 2022-11-25 Oppo广东移动通信有限公司 服务提供方法、装置、终端、存储介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951424A (zh) * 2017-12-20 2019-06-28 北京三星通信技术研究有限公司 共享方法及相应设备
CN113329047A (zh) * 2020-02-29 2021-08-31 华为技术有限公司 一种分布式服务调度方法及相关装置
CN114064303A (zh) * 2020-07-31 2022-02-18 华为技术有限公司 远程服务调用方法、设备、系统、存储介质
CN114756306A (zh) * 2022-03-30 2022-07-15 Oppo广东移动通信有限公司 服务调用方法、装置、设备及存储介质
CN114937452A (zh) * 2022-05-13 2022-08-23 Oppo广东移动通信有限公司 服务调用方法与系统、调用设备、目标设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951424A (zh) * 2017-12-20 2019-06-28 北京三星通信技术研究有限公司 共享方法及相应设备
CN113329047A (zh) * 2020-02-29 2021-08-31 华为技术有限公司 一种分布式服务调度方法及相关装置
CN114064303A (zh) * 2020-07-31 2022-02-18 华为技术有限公司 远程服务调用方法、设备、系统、存储介质
CN114756306A (zh) * 2022-03-30 2022-07-15 Oppo广东移动通信有限公司 服务调用方法、装置、设备及存储介质
CN114937452A (zh) * 2022-05-13 2022-08-23 Oppo广东移动通信有限公司 服务调用方法与系统、调用设备、目标设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117155992A (zh) * 2023-10-31 2023-12-01 天津市天河计算机技术有限公司 一种服务的处理方法和处理系统
CN117155992B (zh) * 2023-10-31 2024-01-09 天津市天河计算机技术有限公司 一种服务的处理方法和处理系统

Also Published As

Publication number Publication date
CN114756306A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
WO2023185166A1 (fr) Procédé et appareil d'appel de service, dispositif, et support de stockage
WO2023093429A1 (fr) Procédé et appareil d'exécution de micro-application, et dispositif, support de stockage et produit de programme
CN113748685A (zh) 基于网络的媒体处理控制
AU2019256257B2 (en) Processor core scheduling method and apparatus, terminal, and storage medium
US9654343B2 (en) System and method for managing service characteristics
CN107038046B (zh) 音频播放系统的升级方法、装置及终端
CN113168332B (zh) 数据处理方法、装置以及移动终端
US20210319360A1 (en) Fast and scalable multi-tenant serve pool for chatbots
CN109788029A (zh) 微服务的灰度调用方法、装置、终端及可读存储介质
CN113806037A (zh) 服务的调用方法、装置、存储介质及电子设备
CN111586097A (zh) 一种网络请求处理方法、计算设备及存储介质
CN112243016B (zh) 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法
CN115248692A (zh) 一种支持多种深度学习框架模型云端部署的装置及方法
CN114937452A (zh) 服务调用方法与系统、调用设备、目标设备及可读存储介质
CN114222003A (zh) 服务调用方法、系统、装置、设备及存储介质
CN113572822A (zh) 一种云终端模拟控制方法、装置、存储介质及电子设备
WO2023124657A1 (fr) Procédé et appareil de fonctionnement de micro-application, dispositif, support de stockage et produit-programme
WO2023169193A1 (fr) Procédé et dispositif de génération de contrat intelligent
CN113268272B (zh) 基于私有云的应用交付方法、装置及系统
US11463773B2 (en) Providing activity notifications regarding digital content
CN115794445A (zh) 一种基于flink和规则表达式的数据处理方法、装置及设备
CN111679842A (zh) 应用程序热更新处理方法、装置及系统
CN112346758B (zh) 一种数字基建业务更新平台、更新方法及电子设备
CN112839065B (zh) 信息处理方法、装置、第一设备及存储介质
CN113992622A (zh) 一种基于统一模型的多模板聚合消息通知发送系统及方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22934977

Country of ref document: EP

Kind code of ref document: A1