Cloud application control method, system, cloud device, local device and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ALIBABA (CHINA) CO LTD
- Filing Date
- 2023-03-31
- Publication Date
- 2026-06-09
Smart Images

Figure CN116405528B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular to a cloud application control method, system, cloud device, local device, and storage medium. Background Technology
[0002] With the continuous development of cloud computing, users can access cloud devices anytime, anywhere via their local devices, and then use cloud services provided by cloud applications on those devices. For example, cloud gaming has emerged to overcome the limitations of low hardware configurations on users' local mobile phones. In cloud gaming scenarios, cloud gaming applications are installed and run on cloud phones using their powerful computing and storage resources. The game screen rendered by the cloud phone is transmitted to the local phone for display to the user. Furthermore, users can remotely control cloud applications on their local phones. Currently, how to achieve remote control of cloud applications on cloud devices from a local device with low latency remains a hot research topic. Summary of the Invention
[0003] This application provides a cloud application control method, system, cloud device, local device, and storage medium to enable remote control of cloud applications in a cloud device by a local device with low latency.
[0004] This application provides a cloud application control method applied to a cloud device. The method includes: receiving event information of at least one triggering event sent by a local device; sending the event information of at least one triggering event to the kernel layer of the cloud device through a virtual input device; and sending the event information of at least one triggering event to a cloud application in the application layer of the cloud device through the kernel layer to trigger the cloud application to perform a corresponding operation.
[0005] This application provides a cloud application control method applied to a local device. The method includes: acquiring event information of at least one triggering event collected by an input device; sending the event information of at least one triggering event to a cloud device; wherein the cloud device executes the cloud application control method to send the event information of at least one triggering event to a cloud application in the application layer of the cloud device, so as to trigger the cloud application to perform a corresponding operation.
[0006] This application provides a cloud device, including: a memory and a processor; the memory for storing a computer program; and the processor coupled to the memory for executing the computer program to perform steps in a cloud application control method.
[0007] This application provides a local device, including: a memory and a processor; the memory for storing a computer program; and the processor coupled to the memory for executing the computer program to perform steps in a cloud application control method.
[0008] This application provides a cloud application control system, including: an input device, the cloud device, and the local device.
[0009] This application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to implement the steps in the cloud application control method.
[0010] In this embodiment, the local device sends event information of several triggering events collected by the input device to the cloud device. The cloud device directly injects the event information of the several triggering events into its kernel layer via a virtual input device, and the kernel layer transmits it to the cloud application in the application layer of the cloud device, so that the cloud application can be triggered to perform a corresponding operation based on the event information of at least one triggering event. Since the cloud device directly injects the event information of the several triggering events sent by the local device into its kernel layer via a virtual input device, the transmission link of the event information of the triggering events from the local device to the cloud application in the cloud device is greatly shortened, enabling the local device to remotely control the cloud application in the cloud device with lower latency. Attached Figure Description
[0011] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0012] Figure 1 A system architecture diagram of an exemplary cloud application control system provided for embodiments of this application;
[0013] Figure 2 A signaling interaction diagram of a cloud application control method provided in an embodiment of this application;
[0014] Figure 3 A diagram illustrating how the loss of a trigger event can lead to a false positive.
[0015] Figure 4 A diagram illustrating the accumulation of events caused by network jitter;
[0016] Figure 5 A system architecture diagram of another exemplary cloud application control system provided for embodiments of this application;
[0017] Figure 6 A flowchart illustrating a cloud application control method provided in this application embodiment;
[0018] Figure 7 A flowchart illustrating another cloud application control method provided in this application embodiment;
[0019] Figure 8 A flowchart illustrating another cloud application control method provided in this application embodiment;
[0020] Figure 9 This is a schematic diagram of the structure of a cloud device provided in an embodiment of this application;
[0021] Figure 10 This is a schematic diagram of the structure of a local device provided in an embodiment of this application. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0023] In the embodiments of this application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the access relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates that the preceding and following associated objects have an "or" relationship. Furthermore, in the embodiments of this application, "first," "second," "third," etc., are only used to distinguish the content of different objects and have no other special meaning.
[0024] First, some terms used in the embodiments of this application will be introduced:
[0025] Cloud devices refer to devices that provide cloud services, such as, but not limited to, cloud phones, cloud computers, cloud hosts, cloud servers, or cloud gaming consoles. Operating systems for cloud devices include, but are not limited to, Android and Linux. Linux, in particular, is a POSIX (Portable Operating System Interface of UNIX)-based operating system that supports multi-user, multi-tasking, multi-threading, and multi-CPU (Central Processing Unit) computing.
[0026] Local devices refer to the user's local terminal devices, such as, but not limited to, mobile phones, computers, in-vehicle devices, and wearable devices. To distinguish them from cloud devices, a mobile phone that is a local device can be called a local mobile phone, a computer that is a local device can be called a local computer, an in-vehicle device that is a local device can be called an in-vehicle device, and a wearable device that is a local device can be called a local wearable device, and so on, to understand the meaning of other various local devices.
[0027] Cloud applications are a new type of application that transforms the traditional "local installation, local computation" software usage method into an "on-demand" service. They connect to and control remote service clusters via the internet to complete technical logic or computational tasks. Cloud applications do not require installation on the user's local device; instead, they are installed on cloud devices, greatly freeing up the computing resources and storage pressure on local devices. Examples of cloud applications include, but are not limited to: cloud gaming applications, cloud rendering applications, cloud desktop applications, live streaming cloud applications, and video playback cloud applications, etc.
[0028] Input devices refer to one of the main devices for information exchange between users and computer systems, such as, but not limited to, keyboards, mice, game controllers, touch screens, etc.
[0029] Triggered events refer to events generated when a user interacts with an input device, such as including but not limited to: keyboard events generated by interacting with a keyboard, mouse events generated by interacting with a mouse, joystick events generated by interacting with a game controller, and touch events generated by interacting with a touch screen.
[0030] Transmission channel: refers to the channel through which data is transmitted. The transmission protocols used by the transmission channel include, but are not limited to: UDP (User Datagram Protocol), TCP (Transmission Control Protocol), RTP (Real-time Transport Protocol), and SCTP (Stream Control Transmission Protocol).
[0031] Virtual input devices are kernel interfaces that support injecting events from user space into the kernel, simulating real input devices. Examples of virtual input devices include, but are not limited to, the uinput interface provided by the Linux system. The uinput interface allows for the creation and destruction of input devices and the reporting of event information to user space, including various triggered events such as keyboard events, mouse events, gamepad events, and touch events.
[0032] Currently, how to achieve remote control of cloud applications in cloud devices from local devices with low latency has been a research hotspot. Based on this, this application provides a cloud application control method, system, cloud device, local device, and storage medium. In this embodiment, the local device sends event information of several triggering events collected by an input device to the cloud device. The cloud device directly injects the event information of the several triggering events into the kernel layer of the cloud device through a virtual input device, and the kernel layer transmits it to the cloud application in the application layer of the cloud device, so that the cloud application can be triggered to execute a corresponding operation based on the event information of at least one triggering event. Because the cloud device directly injects the event information of the several triggering events sent by the local device into the kernel layer of the cloud device using a virtual input device, the transmission link of the event information of the triggering events from the local device to the cloud application in the cloud device is greatly shortened, achieving remote control of cloud applications in the cloud device from the local device with low latency.
[0033] Figure 1 This is a system architecture diagram of an exemplary cloud application control system provided for embodiments of this application. See also... Figure 1 The system may include: input devices, local devices, and cloud devices.
[0034] The input device can be a peripheral device of the local device or a component of the local device. For example, the local device is a mobile phone or tablet with a touchscreen, and the touchscreen of the local device itself is the input device. If the input device is a peripheral device of the local device, the input device and the local device establish a communication connection using WiFi (Wireless Fidelity) Direct technology, Bluetooth communication technology, wired communication technology, or wireless mesh network technology, but are not limited to the examples mentioned above.
[0035] The input device responds to user interaction, generating corresponding trigger events. See also Figure 1As shown in ①, the input device collects event information for at least one triggering event. These triggering events include, but are not limited to, keyboard events, mouse events, gamepad events, and touch events. Keyboard event types include, but are not limited to, keydown, keypress, and keyup events. Mouse event types include, but are not limited to, mouse click, mousemove, mouseover, and mouse positioning events. Gamepad event types include, but are not limited to, gamepad button events, gamepad joystick reset events, gamepad joystick movement events, gamepad joystick maximum value events, gamepad trigger reset events, and gamepad trigger maximum value events. Touch event types include, but are not limited to, touchstart, touchmove, and touchend events.
[0036] Event information that triggers an event includes, but is not limited to, the event type and key information. The key information differs depending on the type of triggering event. For example, key information for keyboard events includes which key was pressed; key information for mouse events includes the mouse pointer position; key information for gamepad events includes the button press value and the gamepad joystick position; and key information for touch events includes the touch point coordinates, touch time, touch pressure, touch radius, finger press duration, and fingerprint information.
[0037] See Figure 1 As shown in ② and ③, the local device acquires event information of at least one triggering event collected by the input device and transmits it to the cloud device through the transmission channel.
[0038] See Figure 1 As shown in ④, with the assistance of a virtual input device (e.g., a uinput interface), the cloud device injects event information of at least one triggering event into the kernel layer, and then transmits it from the kernel layer to the cloud application at the application layer to control the cloud application to perform the corresponding operation. Specifically, the cloud device uses the virtual input device at the kernel layer to inject event information of at least one triggering event into the kernel layer, and then transmits it from the kernel layer to the cloud application at the application layer to control the cloud application to perform the corresponding operation. At this point, the transmission task of the local device transmitting the event information of the triggering event collected by the input device to the cloud application in the cloud device is complete.
[0039] Because the cloud device directly injects the event information of several triggering events sent by the local device into the kernel layer of the cloud device using a virtual input device, the transmission link of the event information of the triggering events from the local device to the cloud application in the cloud device is greatly shortened, so as to realize the remote control of the cloud application in the cloud device by the local device with low latency.
[0040] To better understand the technical solutions provided in the embodiments of this application, the following is combined with... Figure 2 The signaling interaction diagram shown is used for explanation.
[0041] Figure 2 This is a signaling interaction diagram of a cloud application control method provided in an embodiment of this application. See also... Figure 2 The method may include the following steps:
[0042] 201. The local device acquires event information of at least one triggering event collected by the input device.
[0043] 202. The local device sends at least one event information that triggered the event to the cloud device.
[0044] In practical applications, local devices can periodically or in real-time acquire event information from at least one triggering event collected by the input device, without restriction. The local device can directly send the event information from the input device for at least one triggering event to the cloud device.
[0045] Further optionally, in order to enable remote control of cloud applications in cloud devices by local devices with low latency, before sending event information of at least one triggering event to the cloud device, the local device can generate a unique event ID for any triggering event; determine the priority of the triggering event based on the event type in the event information of the triggering event; and add the event ID and priority of the triggering event to the event information of the triggering event.
[0046] Understandably, after the local device obtains event information from any triggered event collected by the input device, it generates an event ID that uniquely identifies the triggered event. As time goes on, the input device collects more and more triggered events, and the event IDs of these triggered events can be monotonically increasing, with the event ID of the triggered event collected earlier being less than the event ID of the triggered event collected later.
[0047] In this embodiment, the priority of each event type can be flexibly set as needed based on the degree of impact on the smoothness of operation and / or the reliability of cloud services when the event information of each event type's triggering event is discarded. A correspondence between event types and priorities is established based on the priorities of each event type. For example, the greater the impact on the reliability of cloud services, the higher the priority of the event type. When the degree of impact on the reliability of cloud services is the same, the greater the impact on the smoothness of operation, the higher the priority of the event type. For example, touch start events and touch end events are set to high priority, and touch movement events are set to low priority. Since touch movement events are continuous and related, discarding some touch movement events does not significantly affect the overall touchscreen operation of the finger, at most affecting the smoothness of operation. Furthermore, touch movement events are very frequent and easily lead to accumulation, so touch movement events are defined as low priority. Specifically... Figure 3 Taking a user triggering a swipe operation on a touchscreen as an example, this swipe operation includes one finger A pressing event, one finger A lifting event, and multiple finger A moving events. Discarding the finger A moving events has less impact on the misjudgment of the swipe operation, but discarding the finger A pressing and finger A lifting events will lead to a greater misjudgment of the swipe operation.
[0048] Based on the above, for example, when determining the priority of a triggering event according to the event type in the event information of the triggering event, the priority of the triggering event can be determined by querying the pre-established correspondence between event types and priorities according to the event type in the event information of the triggering event.
[0049] In this embodiment, for any triggering event currently obtained from the input device, the event ID and priority of the triggering event are added to the event information of the triggering event to expand the event information of the triggering event.
[0050] In practical applications, event information triggered by input devices and collected by local devices may be lost during transmission to cloud devices. Loss of this event information can lead to misjudgments. See also... Figure 3 Taking a local device's touchscreen as an input device as an example, the actual trigger events for user input on the touchscreen include: finger A pressing event, finger A moving event, finger A lifting event, finger B pressing event, finger B moving event, and finger B lifting event. The cloud application on the cloud device originally recognized the interaction as follows: finger A pressing event, finger A moving event, and finger A lifting event correspond to one swipe operation; finger B pressing event, finger B moving event, and finger B lifting event correspond to another swipe operation. If the finger A lifting event is lost during transmission, the cloud application on the cloud device will recognize the interaction as... Figure 3 The "z"-shaped interaction clearly resulted in misjudgment, affecting the reliability and availability of cloud services.
[0051] Optionally, to reduce the probability of event loss and ensure the reliability and availability of cloud services, when the local device sends event information for at least one triggering event to the cloud device, the local device may send the event information for at least one triggering event to the cloud device multiple times. That is, the local device sending event information for any triggering event to the cloud device multiple times, and sending the same event information multiple times, effectively ensures that the event information for the triggering event is transmitted to the cloud device.
[0052] Optionally, to better ensure the reliability and availability of cloud services, a correspondence between priority and redundancy multiple is pre-established. Higher priority triggering events correspond to larger redundancy multiples, while lower priority triggering events correspond to smaller redundancy multiples. This effectively controls bandwidth consumption while ensuring the reliability and availability of cloud services.
[0053] Based on the above, when the local device sends event information of at least one triggering event to the cloud device, for any triggering event, according to the priority of the triggering event, the correspondence between priority and redundancy multiple is queried to obtain the redundancy multiple of the triggering event; the event information of the triggering event is copied according to the redundancy multiple of the triggering event to obtain multiple event information of the triggering event; and the multiple event information of the triggering event is sent to the cloud device.
[0054] For example, if the redundancy factor is 2, the event information of the triggering event is copied to obtain two sets of event information. If the redundancy factor is 3, the event information of the triggering event is copied to obtain three sets of event information. In this way, the local device can send the event information of the triggering event with the required redundancy factor to the cloud device, effectively reducing the adverse effects of lost triggering events.
[0055] 203. The cloud device receives event information from at least one event that triggers an event, sent by the local device.
[0056] 204. Send at least one event information that triggers an event to the kernel layer of the cloud device via a virtual input device.
[0057] 205. Send at least one event information triggering an event to the cloud application in the application layer of the cloud device through the kernel layer, so as to trigger the cloud application to perform the corresponding operation.
[0058] In this embodiment, with the assistance of a virtual input device (e.g., a uinput interface), the cloud device directly injects event information of at least one triggering event received from the local device into the kernel layer, and then transmits it from the kernel layer to the cloud application at the application layer to control the cloud application to execute the corresponding operation. At this point, the transmission task of the local device transmitting the event information of the triggering event collected by the input device to the cloud application in the cloud device is complete.
[0059] In practical applications, cloud applications process event information from at least one triggered event to obtain control events and execute the corresponding operations. The control events obtained from processing the event information of at least one triggered event are related to the functions supported by the cloud application; different cloud applications correspond to different control events, and there are no restrictions on this. For example, the control events of a cloud gaming application are game-related control events, such as control events for performing attack operations, selecting game characters, and activating skills. For example, the control events of a cloud desktop application include split-screen events, pause / play events, video download events, etc. For example, the control events of a live streaming cloud application include pause / play events, fast-forward events, and play events, etc.
[0060] In practical applications, the network quality between the local device and the cloud device may be relatively good. If the cloud device receives only one trigger event from the local device at the current time, the cloud device will send the event information of the trigger event to the kernel layer of the cloud device through the virtual input device.
[0061] In practical applications, various factors such as network jitter can cause multiple event triggers sent by a local device at different times to arrive at the cloud device simultaneously, resulting in event backlog on the cloud device. This event backlog further prolongs the time it takes for event information to reach the cloud application, causing the local device to experience higher latency in remotely controlling the cloud application on the remote device. Figure 4For example, a local device sends event information for multiple events to a cloud device at different times. These events are designated as Event 1, Event 2, Event 3, Event 4, Event 5, Event 6, Event 7, and Event 8. When sending Event 1 and Event 2, the network quality between the local and cloud devices is good, and the event information for Event 1 and Event 2 is transmitted to the cloud device with normal latency and provided to the cloud application. However, when sending Event 3, Event 4, and Event 5, the network quality between the local and cloud devices fluctuates, causing a delay in the transmission of Event 3, Event 4, and Event 5 to the cloud device. This results in the cloud device receiving event information for multiple events simultaneously at a certain time. For example, it might receive Event 3 through Event 6 simultaneously. This would lead to a significant delay in the transmission of Event 3, Event 4, Event 5, and Event 6 to the cloud application.
[0062] Optionally, in the event backlog on the cloud device, in order to enable the local device to remotely control cloud applications on the remote device with lower latency, when the cloud device sends the event information of at least one triggering event to the kernel layer of the cloud device through a virtual input device, if there are multiple triggering events, the multiple triggering events are sorted in ascending order of event ID; according to the priority of each of the sorted multiple triggering events, the target triggering event is determined from the sorted multiple triggering events; and the event information of the target triggering event is sent to the kernel layer of the cloud device through the virtual input device.
[0063] In this embodiment, since the size of the event ID can reflect the timing of the triggering event, sorting multiple triggering events by event ID can increase the priority of sending the event information of the triggering event with the earlier collection time to the kernel layer of the cloud device, thus providing a basis for greatly reducing the latency of cloud applications in remote control of remote devices by local devices.
[0064] In this embodiment, the cloud device can select the triggering event with higher priority from a sorted list of triggering events as the target triggering event, and send the event information of the target triggering event to the kernel layer of the cloud device through a virtual input device.
[0065] Further optionally, in order to greatly reduce the latency of remote control of cloud applications in remote devices by local devices, when determining the target trigger event from the multiple sorted trigger events according to their respective priorities, the cloud device can traverse the multiple sorted trigger events that have not yet been determined as the target trigger event; for the currently traversed trigger event, if the priority of the current trigger event meets the first preset condition, then the current trigger event and at least one adjacent trigger event are determined as the target trigger event.
[0066] Further optionally, in order to greatly reduce the latency of remote control of cloud applications in remote devices by local devices, during the traversal process, if the priority of the currently traversed triggering event meets the second preset condition, the current triggering event is discarded, and the priority of the event that meets the second preset condition is lower than the priority of the event that meets the first preset condition.
[0067] In practical applications, the first and second preset conditions can be flexibly set as needed. For example, the priorities of triggering events can be arranged in descending order as high priority and low priority. If the priority of a triggering event is high, then the priority of the triggering event satisfies the first preset condition; if the priority of a triggering event is low, then the priority of the triggering event satisfies the second preset condition. As another example, the priorities of triggering events can be arranged in descending order as first priority, second priority, third priority, and fourth priority. If the priority of a triggering event is higher than the third priority, then the priority of the triggering event satisfies the first preset condition; if the priority of a triggering event is equal to or lower than the third priority, then the priority of the triggering event satisfies the second preset condition.
[0068] Specifically, events such as touch start, touch end, gamepad button, gamepad joystick reset to 0, gamepad joystick reached maximum value, gamepad trigger reset to 0, and gamepad trigger reached maximum value have high priority and need to be sent to the cloud device's kernel layer first. Events such as touch movement and gamepad joystick movement have low priority and can be discarded, meaning they are not sent to the cloud device's kernel layer.
[0069] In this embodiment, if the priority of the current triggering event meets the first preset condition, before the cloud device determines the current triggering event and at least one adjacent triggering event as the target triggering event, it can also determine a first preset number of consecutive triggering events adjacent to and preceding the current triggering event; and / or, determine a second preset number of consecutive triggering events adjacent to and following the current triggering event. The first and second preset numbers can be flexibly set as needed. For example, the current triggering event and the six consecutive triggering events preceding it can be determined as the target triggering event. Another example is determining the current triggering event and the three consecutive triggering events following it as the target triggering event. Yet another example is determining the current triggering event, the six consecutive triggering events preceding it, and the three consecutive triggering events following it as the target triggering event.
[0070] It is worth noting that identifying the current triggering event and at least one adjacent triggering event as the target triggering event can effectively guarantee the reliability and availability of cloud services. For example, if the current triggering event is a touch start event, then the touch start event and multiple touch movement events that appear after the touch start event will be designated as target triggering events. As another example, if the current triggering event is a gamepad reach maximum value event, then the gamepad reach maximum value event and multiple gamepad movement events that appear before the gamepad reach maximum value event will be designated as target triggering events.
[0071] In this embodiment, during the traversal process, if the priority of the currently traversed triggering event meets the second preset condition, the currently traversed triggering event can be directly discarded. Further optionally, constraining the number of consecutive discards of triggering events can effectively ensure the smoothness of the triggering operation and effectively guarantee the reliability and availability of the cloud service. Based on this, during the traversal process, if the priority of the currently traversed triggering event meets the second preset condition, it is determined whether the number of consecutive discards has reached the specified number of discards; if the number of consecutive discards has not reached the specified number of discards, the current triggering event is discarded, and the number of consecutive discards is incremented by 1; if the number of consecutive discards reaches the specified number of discards, the current triggering event is determined as the target triggering event, and the number of consecutive discards is reset to zero. The specified number of discards can be flexibly set as needed, for example, 5 times.
[0072] In practical applications, local devices may send event information for at least one triggering event to the cloud device multiple times in a redundant manner, or send multiple event information for each of the at least one triggering event. To address this, and to significantly reduce latency for local devices remotely controlling cloud applications on remote devices, the cloud device can perform deduplication on the event information for at least one triggering event before sending it to its kernel layer via a virtual input device, based on the event ID of each of the at least one triggering event.
[0073] Accordingly, when a cloud device sends event information of at least one triggering event to its kernel layer via a virtual input device, if the number of deduplicated triggering events is one, the event information of the triggering event is sent to the kernel layer via the virtual input device; if the number of deduplicated triggering events is multiple, the multiple deduplicated triggering events are sorted in ascending order of event ID; based on the priority of each of the sorted multiple triggering events, a target triggering event is determined from the sorted multiple triggering events; and the event information of the target triggering event is sent to the kernel layer of the cloud device via the virtual input device.
[0074] The technical solution provided in this application embodiment involves a local device sending event information of several triggering events collected by an input device to a cloud device. The cloud device then injects this event information directly into its kernel layer via a virtual input device, and the kernel layer transmits it to the cloud application in the application layer of the cloud device. This allows the cloud application to execute a corresponding operation based on the event information of at least one triggering event. Because the cloud device directly injects the event information of the several triggering events received from the local device into its kernel layer using a virtual input device, the transmission link between the event information and the cloud application in the cloud device is significantly shortened, enabling remote control of the cloud application by the local device with lower latency.
[0075] The cloud application control method provided in this application can be applied to various application scenarios, including but not limited to: cloud gaming scenarios, cloud rendering scenarios, cloud phone scenarios, and remote real device testing scenarios. To better understand the technical solution provided in this application, the following is a detailed explanation... Figure 5 Let me introduce it.
[0076] Figure 5 A system architecture diagram of another exemplary cloud application control system provided for embodiments of this application. See also... Figure 5 The system may include: input devices, local devices, and cloud devices.
[0077] In this embodiment, the local device may include an application layer and a native service layer. The application layer of the local device includes an acquisition module and an audio / video rendering module. The native service layer of the local device may include an acquisition module, a streaming service module, a decoder, and a transmission module.
[0078] In this embodiment, the cloud device may include an application layer, a local service layer, and a kernel layer. The application layer of the cloud device includes a data acquisition module and cloud applications. The local service layer of the cloud device may include a transmission module, an encoder, and a streaming service module.
[0079] The following describes the transmission path for local devices to send event information to cloud devices to control trigger events for cloud applications. Figure 5 The solid arrows in the middle form the transmission path of the event information that triggered the event:
[0080] First, the local device's acquisition module obtains event information for at least one triggering event input from the input device.
[0081] Next, the streaming service module of the local device can directly send the event information of at least one triggered event to the transmission module of the local device, and the transmission module of the local device sends the event information of at least one triggered event to the cloud device through the transmission channel.
[0082] Furthermore, the local device's streaming service module can add its own event ID and priority to the event information of each triggered event. Furthermore, the local device's streaming service module can send the event information of at least one triggered event to the cloud device multiple times in a redundant sending manner, or send multiple event information for each of at least one triggered event.
[0083] Next, the cloud device receives event information of at least one triggering event sent by the local device through its own transmission module, and provides the event information of at least one triggering event to the streaming service module of the cloud device.
[0084] Next, the streaming service module of the cloud device can directly send the event information of at least one triggering event to the kernel layer of the cloud device through the uinput interface. Alternatively, the streaming service module of the cloud device can deduplicate the event information of at least one triggering event, and then send the deduplicated event information of at least one triggering event to the kernel layer of the cloud device through the uinput interface. Or, the streaming service module of the cloud device can deduplicate the event information of at least one triggering event, select the event information of the triggering events to be sent according to the priority of the triggering events and discard the event information of some triggering events, and then send the event information of the selected triggering events to the kernel layer of the cloud device through the uinput interface.
[0085] Finally, the kernel layer of the cloud device sends event information for at least one triggering event to the cloud application at the application layer. The cloud application processes the event information for at least one triggering event, generates a corresponding control event, and executes the operation corresponding to the control event. Taking a cloud gaming scenario as an example, game players may initiate attack events, select game characters, or activate skills through input devices, etc. The cloud gaming application executes attack operations, selects game characters, and activates skills, etc.
[0086] The following describes the transmission path for sending audio and video data from cloud devices to local devices. Figure 5 The dashed arrows in the middle form the transmission path of audio and video data:
[0087] First, the acquisition module in the application layer of the cloud device acquires screen images and audio data, and sends the acquired screen images and audio data to the encoder in the local service layer for encoding to obtain multimedia data;
[0088] Next, the encoder sends the multimedia data to the streaming service module of the cloud device, which then copies the multimedia data to obtain multiple copies.
[0089] Next, the streaming service module of the cloud device transmits multiple multimedia data files through its own transmission module to the transmission module of the local device via the transmission channel. The transmission module of the local device then sends the multiple multimedia data files to the streaming service module of the local device for deduplication.
[0090] Next, the local device's streaming service module sends the deduplicated multimedia data to the local device's decoder for decoding, and then sends the decoded multimedia data to the local device's audio and video rendering module for rendering.
[0091] about Figure 5 The processing logic for local devices and cloud devices can be found in the relevant descriptions of the foregoing embodiments, and will not be repeated here.
[0092] Figure 6 A flowchart illustrating a cloud application control method provided in this application embodiment. This method is applied to cloud devices; see [link to relevant documentation]. Figure 6 The method may include the following steps:
[0093] 601. Receive event information from at least one triggering event sent by the local device.
[0094] 602. Send at least one event information that triggers an event to the kernel layer of the cloud device via a virtual input device.
[0095] 603. Send at least one event information triggering an event to the cloud application in the application layer of the cloud device through the kernel layer, so as to trigger the cloud application to perform the corresponding operation.
[0096] Further optionally, sending event information of at least one triggering event to the kernel layer of the cloud device via a virtual input device includes: if the number of triggering events is one, then sending the event information of the triggering event to the kernel layer of the cloud device via a virtual input device.
[0097] Further optionally, the above method also includes: if there are multiple triggering events, sorting the multiple triggering events in ascending order of event ID; determining the target triggering event from the multiple triggering events according to their respective priorities; and sending the event information of the target triggering event to the kernel layer of the cloud device through a virtual input device.
[0098] Further optionally, based on the priority of each of the sorted trigger events, a target trigger event is determined from the sorted trigger events, including: traversing the trigger events among the sorted trigger events that have not yet been determined as the target trigger event; for the currently traversed trigger event, if the priority of the current trigger event meets the first preset condition, then the current trigger event and at least one adjacent trigger event are determined as the target trigger event.
[0099] Further optionally, before determining the current triggering event and at least one adjacent triggering event as the target triggering event, the method further includes: determining a first preset number of consecutive triggering events adjacent to and preceding the current triggering event; and / or, determining a second preset number of consecutive triggering events adjacent to and following the current triggering event.
[0100] Further optionally, the above method also includes: if the priority of the current triggering event meets the second preset condition, then discard the current triggering event, wherein the priority of the event that meets the second preset condition is lower than the priority of the event that meets the first preset condition.
[0101] Further optionally, the above method also includes determining whether the number of consecutive discards has reached the specified number of discards before discarding the current triggering event; if the number of consecutive discards has not reached the specified number of discards, then the current triggering event is discarded and the number of consecutive discards is incremented by 1; if the number of consecutive discards has reached the specified number of discards, then the current triggering event is identified as the target triggering event and the number of consecutive discards is reset to zero.
[0102] Further optionally, before sending the event information of at least one triggering event to the kernel layer of the cloud device via the virtual input device, the above method further includes: performing deduplication processing on the event information of at least one triggering event according to the event ID of each of the at least one triggering event.
[0103] For details on the implementation methods and technical effects of each step in the embodiments of this application, please refer to the relevant descriptions in the foregoing embodiments, which will not be repeated here.
[0104] Figure 7 A flowchart illustrating another cloud application control method provided in this application embodiment. This method is applied to cloud devices; see [link to relevant documentation]. Figure 7 The method may include the following steps:
[0105] 701. Receive event information from at least one triggering event sent by the local device.
[0106] 702. Based on the event ID of each of the at least one triggering event, perform deduplication on the event information of the at least one triggering event. Execute step 703 or 704.
[0107] 703. If the number of triggering events after deduplication is one, the event information of the triggering event is sent to the kernel layer of the cloud device through the virtual input device, and step 707 is executed.
[0108] 704. If there are multiple triggering events after deduplication, sort the multiple triggering events in ascending order of event ID.
[0109] 705. Determine the target triggering event from the multiple triggering events according to their respective priorities after sorting.
[0110] 706. Send the event information of the target-triggered event to the kernel layer of the cloud device through the virtual input device.
[0111] 707. Send at least one event information triggering an event to the cloud application in the application layer of the cloud device through the kernel layer, so as to trigger the cloud application to perform the corresponding operation.
[0112] Further optionally, based on the priority of each of the sorted trigger events, a target trigger event is determined from the sorted trigger events, including: traversing the trigger events among the sorted trigger events that have not yet been determined as the target trigger event; for the currently traversed trigger event, if the priority of the current trigger event meets the first preset condition, then the current trigger event and at least one adjacent trigger event are determined as the target trigger event.
[0113] Further optionally, before determining the current triggering event and at least one adjacent triggering event as the target triggering event, the method further includes: determining a first preset number of consecutive triggering events adjacent to and preceding the current triggering event; and / or, determining a second preset number of consecutive triggering events adjacent to and following the current triggering event.
[0114] Optionally, if the priority of the currently triggered event meets the second preset condition, the currently triggered event is discarded, and the priority of the event that meets the second preset condition is lower than the priority of the event that meets the first preset condition.
[0115] Further optionally, before discarding the current triggering event, the above method further includes: determining whether the number of consecutive discards has reached the specified number of discards; if the number of consecutive discards has not reached the specified number of discards, then discarding the current triggering event and incrementing the number of consecutive discards by 1; if the number of consecutive discards has reached the specified number of discards, then determining the current triggering event as the target triggering event and resetting the number of consecutive discards to zero.
[0116] For details on the implementation methods and technical effects of each step in the embodiments of this application, please refer to the relevant descriptions in the foregoing embodiments, which will not be repeated here.
[0117] Figure 8 A flowchart illustrating another cloud application control method provided in this application embodiment. This method is applied to a local device; see [link to relevant documentation]. Figure 8 The method may include the following steps:
[0118] 801. Obtain event information of at least one triggering event collected by the input device.
[0119] 802. Send at least one event information that triggered the event to the cloud device.
[0120] Optionally, before sending the event information of at least one triggering event to the cloud device, the method further includes: generating a unique event ID for any triggering event; determining the priority of the triggering event based on the event type in the event information of the triggering event; and adding the event ID and priority of the triggering event to the event information of the triggering event.
[0121] Optionally, sending event information of at least one triggering event to a cloud device includes: for any triggering event, querying the correspondence between priority and redundancy multiple based on the priority of the triggering event to obtain the redundancy multiple of the triggering event; copying the event information of the triggering event according to the redundancy multiple of the triggering event to obtain multiple event information of the triggering event; and sending the multiple event information of the triggering event to the cloud device.
[0122] For details on the implementation methods and technical effects of each step in the embodiments of this application, please refer to the relevant descriptions in the foregoing embodiments, which will not be repeated here.
[0123] It should be noted that the execution subject of each step of the method provided in the above embodiments can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 601 to 603 can be device A; or the execution subject of steps 601 and 602 can be device A, and the execution subject of step 603 can be device B; and so on.
[0124] Furthermore, in some of the processes described in the above embodiments and accompanying drawings, multiple operations appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or they may be executed in parallel. The operation numbers, such as 601, 602, etc., are merely used to distinguish different operations and do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.
[0125] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.
[0126] Figure 9 This is a schematic diagram of the structure of a cloud device provided in an embodiment of this application. Figure 9 As shown, the cloud device includes: a memory 91 and a processor 92;
[0127] Memory 91 is used to store computer programs and can be configured to store various other data to support operation on the computing platform. Examples of this data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc.
[0128] The memory 91 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0129] The processor 92, coupled to the memory 91, is used to execute a computer program in the memory 91 to: receive event information of at least one triggering event sent by a local device; send the event information of at least one triggering event to the kernel layer of a cloud device via a virtual input device; and send the event information of at least one triggering event to a cloud application in the application layer of the cloud device via the kernel layer, so as to trigger the cloud application to perform a corresponding operation.
[0130] Further optionally, when the processor 92 sends the event information of at least one triggering event to the kernel layer of the cloud device through the virtual input device, it is specifically used to: if the number of triggering events is one, then send the event information of the triggering event to the kernel layer of the cloud device through the virtual input device.
[0131] Optionally, when the processor 92 sends the event information of at least one triggering event to the kernel layer of the cloud device via the virtual input device, it specifically performs the following: if there are multiple triggering events, sort the multiple triggering events in ascending order of event ID; determine the target triggering event from the multiple triggering events according to their respective priorities; and send the event information of the target triggering event to the kernel layer of the cloud device via the virtual input device.
[0132] Optionally, when the processor 92 determines the target triggering event from the sorted triggering events according to their respective priorities, it specifically performs the following: traversing the sorted triggering events that have not yet been determined as the target triggering event; and for the currently traversed triggering event, if the priority of the current triggering event meets the first preset condition, then determining the current triggering event and at least one adjacent triggering event as the target triggering event.
[0133] Further optionally, before determining the current triggering event and at least one adjacent triggering event as the target triggering event, the processor 92 is further configured to: determine a first preset number of consecutive triggering events adjacent to and preceding the current triggering event; and / or,
[0134] Determine the second preset number of consecutive trigger events that are adjacent to and follow the current trigger event.
[0135] Optionally, the processor 92 is further configured to: discard the current triggering event if the priority of the current triggering event meets the second preset condition, wherein the priority of the event meeting the second preset condition is lower than the priority of the event meeting the first preset condition.
[0136] Further optionally, the processor 92 is also configured to: determine whether the number of consecutive discards has reached the specified number of discards before discarding the current triggering event; if the number of consecutive discards has not reached the specified number of discards, discard the current triggering event and increment the number of consecutive discards by 1; if the number of consecutive discards has reached the specified number of discards, determine the current triggering event as the target triggering event and clear the number of consecutive discards to zero.
[0137] Optionally, the processor 92 is further configured to: before sending the event information of at least one triggering event to the kernel layer of the cloud device via the virtual input device, perform deduplication processing on the event information of at least one triggering event according to the event ID of each of the at least one triggering event.
[0138] Further optional, such as Figure 9 As shown, the cloud device also includes other components such as a communication component 93, a display 94, a power supply component 95, and an audio component 96. Figure 9 The diagram only shows a portion of the components and does not imply that cloud devices only include... Figure 9 The components shown.
[0139] For a detailed description of the processor's execution of each action, please refer to the relevant descriptions in the foregoing embodiments, which will not be repeated here.
[0140] Figure 10 This is a schematic diagram of the structure of a local device provided in an embodiment of this application. Figure 10 As shown, the cloud device includes: a memory 11 and a processor 12;
[0141] Memory 11 is used to store computer programs and can be configured to store various other data to support operation on the computing platform. Examples of this data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc.
[0142] The memory 11 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0143] The processor 12, coupled to the memory 11, is used to execute a computer program in the memory 11 for: acquiring event information of at least one triggering event collected by the input device; and sending the event information of at least one triggering event to a cloud device.
[0144] Further optionally, before sending the event information of at least one triggering event to the cloud device, the processor 12 is also configured to: generate a unique event ID for any triggering event; determine the priority of the triggering event based on the event type in the event information of the triggering event; and add the event ID and priority of the triggering event to the event information of the triggering event.
[0145] Further optionally, when the processor 12 sends the event information of at least one triggering event to the cloud device, it is specifically used to: for any triggering event, query the correspondence between priority and redundancy multiple according to the priority of the triggering event to obtain the redundancy multiple of the triggering event; copy the event information of the triggering event according to the redundancy multiple of the triggering event to obtain multiple event information of the triggering event; and send the multiple event information of the triggering event to the cloud device.
[0146] Further optional, such as Figure 10 As shown, the cloud device also includes other components such as a communication component 13, a display 14, a power supply component 15, and an audio component 16. Figure 10 The diagram only shows a portion of the components and does not imply that cloud devices only include... Figure 10 The components shown.
[0147] For a detailed description of the processor's execution of each action, please refer to the relevant descriptions in the foregoing embodiments, which will not be repeated here.
[0148] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed, can perform the steps described above in the method embodiments that can be executed by a cloud device or a local device.
[0149] Accordingly, this application also provides a computer program product, including a computer program / instruction, which, when executed by a processor, enables the processor to perform the steps in the above method embodiments that can be executed by a cloud device or a local device.
[0150] The aforementioned communication components are configured to facilitate wired or wireless communication between the device containing the communication components and other devices. The device containing the communication components can access wireless networks based on communication standards, such as WiFi (Wireless Fidelity), 2G (2nd Generation), 3G (3rd Generation), 4G (4th Generation) / LTE (long Term Evolution), 5G (5th Generation), or combinations thereof. In one exemplary embodiment, the communication components receive broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication components also include a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module may be based on Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wide Band (UWB), Bluetooth, and other technologies.
[0151] The aforementioned display includes a screen, which may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a Touch Panel, the screen can be implemented as a touchscreen to receive input signals from the user. The Touch Panel includes one or more touch sensors to sense touches, swipes, and gestures on the Touch Panel. The touch sensors can sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation.
[0152] The aforementioned power supply components provide power to various components within the device in which they reside. These power supply components may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device in which they reside.
[0153] The aforementioned audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) configured to receive external audio signals when the device containing the audio component is in an operating mode, such as call mode, recording mode, or voice recognition mode. The received audio signals can be further stored in memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.
[0154] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0155] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0156] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0157] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0158] In a typical configuration, a computing device includes one or more processors (central processing unit, CPU), input / output interfaces, network interfaces, and memory.
[0159] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0160] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change RAM (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device. As defined in this article, computer-readable media do not include transient media, such as modulated data signals and carrier waves.
[0161] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0162] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A cloud application control method, characterized in that, Applied to cloud devices, the method includes: Receive event information from the local device that triggers at least one event; The event information of at least one triggering event is sent to the kernel layer of the cloud device via a virtual input device; if there are multiple triggering events, they are sorted in ascending order of event ID; the triggering events that have not yet been identified as the target triggering event are traversed among the sorted triggering events; for the currently traversed triggering event, if the priority of the current triggering event meets a first preset condition, the current triggering event and at least one adjacent triggering event are identified as the target triggering event; the event information of the target triggering event is sent to the kernel layer of the cloud device via a virtual input device to trigger the cloud application to perform the corresponding operation.
2. The method according to claim 1, characterized in that, Also includes: If the number of triggering events is one, the event information of the triggering event is sent to the kernel layer of the cloud device through the virtual input device.
3. The method according to claim 1, characterized in that, Before determining the current triggering event and at least one adjacent triggering event as the target triggering event, the method further includes: Determine a first preset number of consecutive trigger events that are adjacent to and precede the current trigger event; and / or, Determine a second preset number of consecutive trigger events that are adjacent to and follow the current trigger event.
4. The method according to claim 1, characterized in that, Also includes: If the priority of the current triggered event meets the second preset condition, then the current triggered event is discarded. The priority of the event that meets the second preset condition is lower than the priority of the event that meets the first preset condition.
5. The method according to claim 4, characterized in that, Before discarding the currently triggered event, it also includes: Determine if the specified number of consecutive discards has been reached; If the consecutive discard count does not reach the specified discard count, the current triggered event is discarded, and the consecutive discard count is incremented by 1. If the number of consecutive drops reaches the specified number of drops, then the current triggering event is determined as the target triggering event, and the number of consecutive drops is reset to zero.
6. The method according to any one of claims 1 to 5, characterized in that, Before sending the event information of the at least one triggered event to the kernel layer of the cloud device via a virtual input device, the method further includes: Based on the event ID of each of the at least one triggering event, the event information of the at least one triggering event is deduplicated.
7. A cloud application control method, characterized in that, Applied to a local device, the method includes: Acquire event information of at least one triggering event collected by the input device; Send the event information of the at least one triggered event to the cloud device; The cloud device executes the method of any one of claims 1 to 6 to send the event information of the at least one triggering event to a cloud application in the application layer of the cloud device, so as to trigger the cloud application to perform a corresponding operation.
8. The method according to claim 7, characterized in that, Before sending the event information of the at least one triggered event to the cloud device, the method further includes: For any triggered event, generate a unique event ID that identifies the triggered event; The priority of the triggering event is determined based on the event type in the event information of the triggering event; Add the event ID and priority of the triggering event to the event information of the triggering event.
9. The method according to claim 8, characterized in that, Sending event information of the at least one triggering event to the cloud device includes: For any triggering event, based on the priority of the triggering event, query the correspondence between the priority and the redundancy multiple to obtain the redundancy multiple of the triggering event; The event information of the triggering event is copied according to the redundancy multiple of the triggering event to obtain multiple event information of the triggering event; Send multiple event information related to the triggering event to the cloud device.
10. A cloud device, characterized in that, include: Memory and processor; The memory is used to store computer programs; The processor is coupled to the memory for executing the computer program to perform the steps of the method according to any one of claims 1-6.
11. A local device, characterized in that, include: Memory and processor; The memory is used to store computer programs; The processor is coupled to the memory for executing the computer program to perform the steps of the method according to any one of claims 7-9.
12. A cloud application control system, characterized in that, include: Input device, cloud device as claimed in claim 10, and local device as claimed in claim 11.
13. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it causes the processor to perform the steps of the method according to any one of claims 1-9.