Method and apparatus for collaboratively executing task by multiple apparatuses, and device and storage medium

By transferring high-power subtasks from a lower-power first device to a higher-power second device, the issues of device battery life and temperature rise are resolved, improving user experience and task security.

WO2026066274A1PCT designated stage Publication Date: 2026-04-02HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-06-17
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

In multi-device collaborative task execution, devices with lower power consumption may experience reduced battery life and increased temperature due to performing high-power sub-tasks, affecting user experience and security.

Method used

The second device, which has a higher power consumption capacity, performs high-power sub-tasks, thereby reducing the computing resources and power consumption of the first device, which has a lower power consumption, extending the task execution time of the first device, and flexibly calling the second device to execute sub-tasks through touch operation.

Benefits of technology

It extended the battery life of the first device, reduced power consumption and temperature rise, and improved user experience and mission quality security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025101509_02042026_PF_FP_ABST
    Figure CN2025101509_02042026_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of communications. Disclosed are a method and apparatus for collaboratively executing a task by multiple apparatuses, and a device and a storage medium. The method comprises: a first apparatus sending a call request and a first task parameter to a second apparatus, wherein the call request instructs the second apparatus to execute a first sub-task, the first sub-task comprises a sub-task with power consumption greater than a first power consumption threshold value in a conference task, the second apparatus is an apparatus matching the first apparatus, the power handling capability of the second apparatus is higher than that of the first apparatus, and the first task parameter is a parameter required for executing the first sub-task; and executing a second sub-task in the conference task other than the first sub-task. In the present application, the first apparatus having a relatively low power handling capability calls an apparatus having a relatively high power handling capability to execute a sub-task with high power consumption, thereby reducing the consumption of computing resources and electric quantity of the first apparatus, prolonging the time during which the first apparatus executes a task, and preventing the temperature of the first apparatus from being too high.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device, apparatus and storage medium for multiple devices to cooperatively perform a task

[0001] The present application claims priority to the Chinese patent application No. 202411345855.8, filed on September 25, 2024, and entitled "Method, device, apparatus and storage medium for multiple devices to cooperatively perform a task", the entire content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the field of communication technology, and in particular to a method, device, apparatus and storage medium for multiple devices to cooperatively perform a task. BACKGROUND

[0003] With the development of communication technology, the functions of communication devices are becoming more and more rich, and different types of devices can also perform the same task. For example, a task includes multiple sub-tasks, part of the sub-tasks are configured to be executed by one device, and another part of the sub-tasks are configured to be executed by other devices, so that multiple devices cooperatively perform the same task. SUMMARY

[0004] The present application provides a method, device, apparatus and storage medium for multiple devices to cooperatively perform a task, to improve the quality and safety of multiple devices cooperatively performing a task, and the technical solutions are as follows:

[0005] In a first aspect, a method for multiple devices to cooperatively perform a task is provided, the method is applied to a first device, and the method includes: sending a call request and first task parameters to a second device, the call request indicating that the first device calls the second device to execute a first sub-task, the first sub-task including a sub-task in a conference task whose power consumption is greater than a first power consumption threshold, the second device being a device matched with the first device, the power consumption bearing capacity of the second device being greater than the power consumption bearing capacity of the first device, and the first task parameters being parameters required for executing the first sub-task; and executing a second sub-task in the conference task other than the first sub-task.

[0006] In the present application, the first device with lower power consumption bearing capacity calls the second device with higher power consumption bearing capacity to execute the first sub-task with high power consumption, thereby reducing the consumption of computing resources and power of the first device, prolonging the time for the first device to execute a task, and reducing the temperature rise and lag of the first device due to high power consumption, improving the quality and safety of multiple devices cooperatively performing a task, and improving user experience.

[0007] In a possible implementation, the sending of the calling request and the first task parameter to the second device comprises: sending the calling request and the first task parameter to the second device based on the power consumption of the first device within the reference time period being greater than the second power consumption threshold; or sending the calling request and the first task parameter to the second device based on the power level of the first device being less than the first power level threshold; or sending the calling request and the first task parameter to the second device based on the touch operation indicating execution of the first subtask by the second device being triggered.

[0008] In the present application, if the power consumption of the first device within the reference time period is greater than the second power consumption threshold, it can be considered that the power consumption of the first device is high, which leads to a high power-off rate or a rapid temperature rise of the first device, and the first device is difficult to maintain a high running speed and running quality, so that the execution of the first subtask by the first device can be transferred to the execution by the second device, thereby reducing the power-off rate and the temperature rise rate of the first device.

[0009] If the power level of the first device is less than the first power level threshold, the power level of the first device is difficult to support the running of the first device based on high power consumption, in this case, the first device transfers the first subtask with high power consumption to the second device for execution, thereby reducing the power consumption of the first device and prolonging the endurance time of the first device.

[0010] Based on the touch operation indicating execution of the first subtask by the second device being triggered, the sending of the calling request and the first task parameter to the second device is more in line with the intention of the user and can improve the user experience.

[0011] In a possible implementation, the first subtask comprises at least one of a decoding subtask, a rendering subtask, an encoding subtask, or a collection subtask. Since the decoding subtask, the rendering subtask, the encoding subtask, and the collection subtask are all high-power-consumption subtasks with high demand for computing power, the first device calling the second device to execute at least one of these subtasks can effectively reduce the power consumption of the first device when executing the subtasks of the conference task.

[0012] In a possible implementation, the method further comprises: sending a callback request to the second device, the callback request indicating execution of the first subtask by the first device; receiving second task parameters sent by the second device based on the callback request, the second task parameters being updated first task parameters in the process of execution of the first subtask by the second device; and executing the first subtask according to the second task parameters. The first device sends the callback request to the second device, and the execution of the first subtask by the second device is transferred to the execution by the first device, thereby realizing flexible calling of the first subtask. In addition, the second device sends the second task parameters to the first device, so that the first device obtains updated task parameters, and the first device can execute the first subtask more accurately based on the updated task parameters.

[0013] In a possible implementation, the callback request is sent to the second device, including: the callback request is sent to the second device based on that the power consumption of the first device within the reference time length is less than the third power consumption threshold; or the callback request is sent to the second device based on that the power of the first device is greater than the second power threshold; or the callback request is sent to the second device based on that the touch operation indicating that the first subtask is executed by the first device is triggered.

[0014] When the power consumption of the first device within the reference time length is less than the third power consumption threshold, the power-off rate of the first device is low or the temperature rise is slow, and the first device can maintain a good running rate and running quality. Thus, when the power consumption of the first device within the reference time length is less than the third power consumption threshold, it represents that the power consumption bearing capacity of the first device is sufficient to support the first device to execute the first subtask, the first device sends the callback request to the second device, reduces the power consumption of the second device, avoids the insufficient computing power or lag caused by the second device executing the high-power-consumption first subtask for a long time, and improves the experience of the user.

[0015] When the power of the first device is greater than the second power threshold, the power of the first device can support the first device to run based on a higher power consumption. In this case, the callback request is sent to the second device, and the first device continues to execute the first subtask with high power consumption, reduces the power consumption of the second device, avoids the insufficient computing power or lag caused by the second device executing the high-power-consumption first subtask for a long time, and improves the experience of the user.

[0016] Based on that the touch operation indicating that the first subtask is executed by the first device is triggered, the callback request is sent to the second device in a manner that is more in line with the intention of the user and can improve the experience of the user.

[0017] In a possible implementation, the first device is installed with application packages corresponding to the first subtask and the second subtask, the application package corresponding to the first subtask is used for the first device to execute the first subtask, and the application package corresponding to the second subtask is used for the first device to execute the second subtask. In this application, the ability to execute the corresponding subtask is deployed by installing the application package. The first device is installed with the application packages corresponding to the first subtask and the second subtask, the first device has the ability to execute the first subtask and the second subtask, and thus the first device can execute the second subtask and call the second device to execute the first subtask.

[0018] In a second aspect, a method for task execution by multiple devices is provided. The method is applied to a second device and includes: receiving a call request and first task parameters sent by a first device, the call request indicating that the second device executes a first subtask, the first subtask including a subtask of a conference task executed by the first device and having a power consumption greater than a first power consumption threshold, the first device being a device matched with the second device, and the first task parameters being parameters required for executing the first subtask; and executing the first subtask corresponding to the call request according to the first task parameters. The second device with higher power consumption carrying capacity takes over the first device with lower power consumption carrying capacity to execute the first subtask, reduces consumption of computing resources and power of the first device, prolongs time for the first device to execute the task, reduces temperature rise and lag of the first device caused by high power consumption, improves quality and safety of task execution by multiple devices, and improves user experience.

[0019] In a possible implementation, the first subtask includes at least one of a decoding subtask, a rendering subtask, an encoding subtask, or a collecting subtask. The decoding subtask, the rendering subtask, the encoding subtask, and the collecting subtask are all subtasks with high power consumption and high demand for computing power, and the first device calling the second device to execute at least one of the subtasks can effectively reduce power consumption of the first device when executing a subtask of the conference task.

[0020] In a possible implementation, the first subtask includes an encoding subtask and a collecting subtask, and the first task parameters include encoding parameters and collecting parameters. The method of executing the first subtask corresponding to the call request according to the first task parameters includes: collecting first multimedia data conforming to the collecting parameters, the first multimedia data being at least one of a picture or audio of a first participant in the conference, and the first participant being a participant to which the first device and the second device belong; and encoding the first multimedia data according to an encoding format indicated by the encoding parameters to obtain encoded first multimedia data, the encoded first multimedia data being used by a second participant in the conference to obtain at least one of a picture or audio of the first participant. The second device executes the encoding subtask and the collecting subtask, reduces power consumption of the first device for executing the encoding subtask and the collecting subtask, prolongs time for the first device to execute the conference task, reduces temperature rise and lag of the first device caused by high power consumption, and improves user experience.

[0021] In a possible implementation, after the first multimedia data is encoded according to the encoding format indicated by the encoding parameter to obtain the encoded first multimedia data, the method further includes: uploading the encoded first multimedia data to a conference media server, the encoded first multimedia data being used by a second participant to obtain at least one of a picture or audio of the first participant, the second participant being connected to the conference media server. The encoded first multimedia data is uploaded to the conference media server, so that the second participant can download at least one of the picture or the audio of the first participant from the conference media server, and the conference can be ensured to proceed.

[0022] In a possible implementation, the first subtask includes a decoding subtask and a rendering subtask, and the first task parameter includes a decoding parameter and a rendering parameter; and the first subtask corresponding to the invoking request is executed according to the first task parameter, including: obtaining encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of a second participant in the conference; decoding the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain second multimedia data; and rendering the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, the rendered second multimedia data being used to implement at least one of display of the picture of the second participant or playing of the audio of the second participant. The decoding subtask and the rendering subtask are executed by the second device, so that the power consumption of the first device for executing the decoding subtask and the rendering subtask is reduced, the time for the first device to execute the conference task is prolonged, the temperature rise and the lag of the first device caused by high power consumption are reduced, and the user experience is improved.

[0023] In a possible implementation, the encoded second multimedia data is obtained by: sending a first packet learning message to a conference media server, the first packet learning message being used by the conference media server to determine a target address of the encoded second multimedia data; and receiving the encoded second multimedia data sent by the conference media server based on the first packet learning message. After the second device determines that the decoding subtask needs to be executed, the first packet learning message is sent to the conference media server, so that the conference media server determines that the decoding is performed by the second device, and the address of the second device is determined as the target address, so that the conference media server sends the encoded second multimedia data to the second device, and the second device can perform the decoding subtask based on the encoded second multimedia data.

[0024] In a possible implementation, the first subtask includes a decoding subtask, a rendering subtask, an encoding subtask, and a collecting subtask, and the first task parameter includes a decoding parameter, a rendering parameter, an encoding parameter, and a collecting parameter; and the execution of the first subtask corresponding to the invocation request according to the first task parameter includes: collecting first multimedia data conforming to the collecting parameter, the first multimedia data being data recording at least one of a picture or audio of a first participant in the conference; encoding the first multimedia data according to an encoding format indicated by the encoding parameter to obtain encoded first multimedia data; obtaining encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of a second participant in the conference; decoding the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain second multimedia data; and rendering the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, the rendered second multimedia data being used to implement at least one of display of a picture of the second participant or playing of audio of the second participant. The execution of the decoding subtask, the rendering subtask, the encoding subtask, and the collecting subtask by the second device can greatly reduce power consumption of the first device for executing the decoding subtask and the rendering subtask, prolong the time for the first device to execute the conference task, reduce the temperature rise and lag of the first device due to high power consumption, and improve user experience.

[0025] In a possible implementation, before the execution of the first subtask corresponding to the invocation request according to the first task parameter, the method further includes: installing an application package corresponding to the first subtask, the application package corresponding to the first subtask being used by the second device to execute the first subtask. In this application, the capability of executing the corresponding subtask is deployed by installing the application package. The second device is installed with the application package corresponding to the first subtask, and the second device has the capability of executing the first subtask, so that the second device can execute the first subtask.

[0026] In a possible implementation, the method further includes: receiving a callback request indicating execution of the first subtask by the first device; and sending, to the first device, second task parameters, the second task parameters being the first task parameters updated in the execution of the first subtask by the second device, and the second task parameters being used by the first device to continue to execute the first subtask. After receiving the callback request, the second device sends the second task parameters to the first device, so that the first device obtains the updated task parameters, and the first device executes the first subtask more accurately based on the updated task parameters.

[0027] In a third aspect, a device for performing a task in cooperation with another device is provided. The device can be the first device in the first aspect or the second aspect. The device comprises: a first communication module configured to send a call request and first task parameters to the second device, the call request indicating that the second device performs a first subtask, the first subtask including a subtask in the conference task with power consumption greater than a first power threshold, the second device being a device matched with the first device, the power bearing capacity of the second device being greater than the power bearing capacity of the first device, and the first task parameters being parameters required for performing the first subtask; and a first execution module configured to perform a second subtask in the conference task other than the first subtask.

[0028] In a possible implementation, the first communication module is configured to send the call request and the first task parameters to the second device based on the power consumption of the first device being greater than a second power threshold within a reference time length, or based on the power level of the first device being less than a first power level threshold, or based on a touch operation indicating that the first device performs the first subtask being triggered.

[0029] In a possible implementation, the first subtask includes at least one of a decoding subtask, a rendering subtask, an encoding subtask, or a capturing subtask.

[0030] In a possible implementation, the first communication module is further configured to send a callback request to the second device, the callback request indicating that the first device performs the first subtask, receive second task parameters sent by the second device based on the callback request, the second task parameters being updated first task parameters in the process of the second device performing the first subtask, and the first execution module is further configured to perform the first subtask according to the second task parameters.

[0031] In a possible implementation, the first communication module is configured to send the callback request to the second device based on the power consumption of the first device being less than a third power threshold within a reference time length, or based on the power level of the first device being greater than a second power level threshold, or based on a touch operation indicating that the first device performs the first subtask being triggered.

[0032] In a possible implementation, the first device is installed with application packages corresponding to the first subtask and the second subtask, the application package corresponding to the first subtask being used for the first device to perform the first subtask, and the application package corresponding to the second subtask being used for the first device to perform the second subtask.

[0033] In a fourth aspect, a device for performing a task in cooperation with another device is provided. The device can be the second device in the first aspect or the second aspect. The device comprises: a second communication module configured to receive a call request and first task parameters from the first device, the call request indicating that the second device is required to perform a first sub-task, the first sub-task including a sub-task of the conference task performed by the first device and having a power consumption greater than a first power threshold, the first device being a device matched with the second device, and the first task parameters being parameters required for performing the first sub-task; and a second execution module configured to perform the first sub-task corresponding to the call request according to the first task parameters.

[0034] In a possible implementation, the first sub-task includes at least one of a decoding sub-task, a rendering sub-task, an encoding sub-task, or a collecting sub-task.

[0035] In a possible implementation, the first sub-task includes an encoding sub-task and a collecting sub-task, and the first task parameters include encoding parameters and collecting parameters. The second execution module is configured to collect first multimedia data conforming to the collecting parameters, the first multimedia data being at least one of a picture or audio of a first participant in the conference, the first participant being a participant to which the first device and the second device belong; encode the first multimedia data according to an encoding format indicated by the encoding parameters to obtain encoded first multimedia data, the encoded first multimedia data being used by a second participant in the conference to obtain at least one of a picture or audio of the first participant.

[0036] In a possible implementation, the second communication module is further configured to upload the encoded first multimedia data to a conference media server, the encoded first multimedia data being used by the second participant to obtain at least one of a picture or audio of the first participant, the second participant being connected to the conference media server.

[0037] In a possible implementation, the first sub-task includes a decoding sub-task and a rendering sub-task, and the first task parameters include decoding parameters and rendering parameters. The second execution module is configured to obtain encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of the second participant in the conference; decode the encoded second multimedia data according to a decoding format indicated by the decoding parameters to obtain second multimedia data; and render the second multimedia data according to the rendering parameters to obtain rendered second multimedia data, the rendered second multimedia data being used to at least one of display a picture of the second participant or play audio of the second participant.

[0038] In a possible implementation, the second execution module is configured to send a first packet learning message to the conference media server, the first packet learning message being used for the conference media server to determine a target address of the encoded second multimedia data; and receive the encoded second multimedia data sent by the conference media server based on the first packet learning message.

[0039] In a possible implementation, the first subtask includes a decoding subtask, a rendering subtask, an encoding subtask, and a collection subtask, and the first task parameter includes a decoding parameter, a rendering parameter, an encoding parameter, and a collection parameter; the second execution module is configured to collect the first multimedia data conforming to the collection parameter, the first multimedia data being data recording at least one of a picture or audio of a first participant in the conference; encode the first multimedia data according to an encoding format indicated by the encoding parameter to obtain encoded first multimedia data; obtain the encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of a second participant in the conference; decode the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain second multimedia data; and render the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, the rendered second multimedia data being used to implement at least one of display of a picture of the second participant or playing of audio of the second participant.

[0040] In a possible implementation, the second device further includes an installation module; the installation module is configured to install an application package corresponding to the first subtask, the application package corresponding to the first subtask being used for the second device to execute the first subtask.

[0041] In a possible implementation, the second communication module is further configured to receive a callback request indicating that the first subtask is executed by the first device; and send, to the first device, a second task parameter, the second task parameter being the first task parameter updated in the process of the second device executing the first subtask, and the second task parameter being used for the first device to continue to execute the first subtask.

[0042] In a fifth aspect, a system for multiple devices to cooperatively execute a task is provided, the system including a first device and a second device; the first device is configured to implement the method in the first aspect and any possible implementation manner thereof, and the second device is configured to implement the method in the second aspect and any possible implementation manner thereof.

[0043] In a sixth aspect, a computing device cluster for performing a task cooperatively by multiple devices is provided, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs the method for performing a task cooperatively by multiple devices as provided in the first aspect or any possible implementation of the first aspect, or performs the method for performing a task cooperatively by multiple devices as provided in the second aspect or any possible implementation of the second aspect.

[0044] In a seventh aspect, a computer program (product) including instructions, which when executed by a computing device cluster, causes the computing device cluster to perform the method for performing a task cooperatively by multiple devices as provided in the first aspect or any possible implementation of the first aspect, or performs the method for performing a task cooperatively by multiple devices as provided in the second aspect or any possible implementation of the second aspect. The computer program (product) can be a software package, which can be downloaded and executed on the computing device cluster when the function of the computing device cluster is needed.

[0045] In an eighth aspect, a computer readable storage medium is provided, including computer program instructions, which when executed by a computing device cluster, causes the computing device cluster to perform the method for performing a task cooperatively by multiple devices as provided in the first aspect or any possible implementation of the first aspect, or performs the method for performing a task cooperatively by multiple devices as provided in the second aspect or any possible implementation of the second aspect. The storage medium includes but is not limited to volatile memory, such as random access memory, non-volatile memory, such as flash memory, hard disk drive (HDD), solid state drive (SSD).

[0046] In a ninth aspect, a chip is provided, including a processor, configured to call and execute instructions stored in a memory, so that a computer installed with the chip performs the method in the above aspects.

[0047] In a tenth aspect, another chip is provided, including an input interface, an output interface, a processor and a memory, the input interface, the output interface, the processor and the memory are connected through internal connection paths, the processor is configured to execute code in the memory, when the code is executed, a computer installed with the chip performs the method in the above aspects.

[0048] It should be understood that the technical solutions of the third aspect to the tenth aspect of the present application and the corresponding possible implementation manners can achieve the technical effects of the first aspect and the second aspect and the corresponding possible implementation manners, which will not be repeated here. In addition, the first device mentioned in the third aspect can be the chip mentioned in the ninth aspect or the tenth aspect, and the second device mentioned in the fourth aspect can be the chip mentioned in the ninth aspect or the tenth aspect. BRIEF DESCRIPTION OF DRAWINGS

[0049] FIG. 1 is a schematic diagram of a process of cooperatively performing a task by outputting to a peer device according to the related art;

[0050] FIG. 2 is a schematic diagram of a process of cooperatively performing a task by inputting from a peer device according to the related art;

[0051] FIG. 3 is an interaction diagram of a local device and a peer device cooperatively performing a conference task according to the related art;

[0052] FIG. 4 is an implementation scenario diagram of a method of cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0053] FIG. 5 is a flowchart of a method of cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0054] FIG. 6 is a flowchart of a method of cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0055] FIG. 7 is another flowchart of a method of cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0056] FIG. 8 is still another flowchart of a method of cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0057] FIG. 9 is a structural diagram of a first device for cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0058] FIG. 10 is a structural diagram of a second device for cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0059] FIG. 11 is a structural diagram of a device for cooperatively performing a task by multiple devices according to an embodiment of the present application;

[0060] FIG. 12 is a hardware structural diagram of a computing device according to an embodiment of the present application;

[0061] FIG. 13 is a structural diagram of a computing device cluster according to an embodiment of the present application;

[0062] FIG. 14 is a connection mode diagram of a computing device cluster according to an embodiment of the present application. DETAILED DESCRIPTION

[0063] The terms used in the implementation part of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0064] Under the background of continuous development of communication technology, the communication devices used in people's daily life are more and more diversified, and different communication devices are often switched based on different needs, so that multiple communication devices cooperatively perform tasks, which can better meet the service needs of users. For example, mobile phones, tablets, personal computers and the like can jointly implement tasks such as cross-device email editing, multi-device collaborative fitness guidance, and multi-screen gaming, to meet the use and service needs of users.

[0065] In the related art, multiple communication devices are used sequentially (cross-end migration) or simultaneously (multi-end collaboration) to make multiple communication devices cooperatively perform the same task. For example, after a user uses one communication device to perform a specified task, the communication device migrates the behavior data or task data of the user to another communication device, and the user continues to perform the specified task through the other communication device, which is a sequential use of multiple communication devices to implement collaborative execution of a task. For another example, the specified task can be divided into relatively independent layouts according to the number and type of communication devices used by the user, and presented in multiple communication devices used by the user. The user can interact through multiple communication devices, and then one of the multiple communication devices integrates the user's intention collected by the multiple communication devices and continues to perform the specified task, which is a simultaneous use of multiple devices to implement collaborative execution of a task.

[0066] Next, taking an online meeting task as an example, the process of multiple device collaborative execution of a task provided by the related art is described. Referring to FIG. 1, a schematic diagram of a process of collaborative execution of a task by outputting a peer device provided by the related art is shown. The local device in the figure can be a mobile device such as a mobile phone or a tablet, and the peer device can be a device such as a television or a computer. The local device and the peer device are devices of the same conference participant, that is, the local device and the peer device are controlled by the same user participating in the conference. The conference media server is a server for managing and controlling the devices of multiple conference participants, which can be a media stream routing unit (SFU) and can be used as a device for transferring data among multiple conference participants in a conference.

[0067] As shown in FIG. 1, in a conference, the local device of any one participant can obtain a downstream code stream through a conference media server to download the participant data uploaded by other participants, such as the picture collected by the camera of other participants or the audio collected by the microphone of other participants, and the like. After the local device obtains the downstream code stream, the local device decodes and renders the downstream code stream through a decoding and rendering module, and outputs to the peer device matched with the local device, so that the screen of the peer device displays the picture of other participants, and the speaker of the peer device plays the audio of other participants. The local device and the peer device cooperatively perform the online conference task.

[0068] FIG. 2 shows a schematic diagram of a process of cooperatively performing a task by inputting through a peer device according to the related art. In a conference, the peer device of any one participant can obtain the picture and audio of the participant through a camera or a microphone, and send the picture and audio to the local device. The local device collects and encodes the picture and audio and the like obtained by the peer device, and uploads the encoded participant data to a conference media server through an upstream code stream. The local device and the peer device cooperatively perform the online conference task.

[0069] FIG. 3 shows an interaction diagram of a local device and a peer device cooperatively performing a conference task according to the related art. FIG. 3 is a combination of FIG. 1 and FIG. 2. In the scenario shown in FIG. 1 to FIG. 3, the peer device is used as an external device of the local device. In FIG. 3, the local device 1 and the peer device 1 are two devices of the participant 1, and the local device 2 and the peer device 2 are two devices of the participant 2. The participant 1 and the participant 2 are both in the conference. Before the participants 1 and 2 participate in the conference, the local devices of the two participants complete the discovery of the corresponding peer devices, and the matching of the local devices and the peer devices.

[0070] In the process of the local device 1 and the peer device 1 cooperatively performing the conference task, the local device 1 selects the camera of the peer device 1 as the camera of the conference. The camera of the peer device 1 captures data during the conference, and sends the captured data to the local device 1. The local device 1 encodes the captured data, and sends the encoded data to a conference media server SFU. The local device 2 of the participant 2 receives a media stream including the encoded data of the participant 1 from the conference media server SFU and decodes the media stream. After decoding, the media stream is rendered to the screen of the peer device 2, and the screen of the peer device 2 displays the picture of the participant 1.

[0071] In the related art, a local device is usually taken as a main device to perform a task, and data encoding, decoding and rendering and other heavy computing sub-tasks are performed by the local device. When the local device is a mobile device (a mobile phone, a tablet or a portable device, etc.), the power consumption of the local device in performing the heavy computing sub-tasks is relatively large, resulting in fast power consumption and high temperature of the local device. Moreover, the mobile device has no fixed external power supply, and its main power source is the built-in power supply. The endurance of the local device is limited, and thus the performance of the heavy computing sub-tasks by the local device will reduce the endurance time. If the local device is connected to an external power supply when performing the heavy computing sub-tasks, the temperature will rise rapidly, and the device will be stuck, which has certain safety hazards and affects the user experience.

[0072] The embodiment of the present application provides a method for multiple devices to cooperatively perform a task, which can prolong the endurance time of a mobile device in performing a task, reduce the power consumption and temperature rise of the mobile device, and ensure the user experience. The method can be applied to the process in which multiple devices cooperatively perform the same task, and the task to be performed can be any task that can be cooperatively performed by multiple devices.

[0073] Referring to FIG. 4, an embodiment of the present application provides an implementation scenario diagram of a method for multiple devices to cooperatively perform a task. The implementation scenario includes a first device 11 and a second device 12, and the first device 11 and the second device 12 are two devices capable of performing the same target task. The first device 11 and the second device 12 can be the same type of device or different types of devices, for example, a mobile (or wireless) device such as a mobile phone, a tablet, a personal computer, etc., or a fixed (or wired) device such as a television, a desktop computer, etc., or a module or component on a device, etc.

[0074] Optionally, the power consumption bearing capacity of the second device 12 is greater than that of the first device 11. For example, the first device 11 can be a device with a built-in power supply but without an external fixed power supply, and the second device 12 can be a device with an external fixed power supply. The endurance time of the second device 12 can be considered as infinite, and the endurance time of the first device 11 is limited. Therefore, the second device 12 can bear more high-power sub-tasks without affecting the endurance time.

[0075] FIG. 5 shows a flowchart of a method for multiple devices to cooperatively perform a task according to an embodiment of the present application. The method can be applied to the implementation scenario shown in FIG. 4, and the method includes but is not limited to the following S501 to S504.

[0076] S501, the first device sends a calling request and first task parameters to a second device, the calling request indicates that the second device executes a first subtask, the first subtask includes a subtask with power consumption greater than a first power consumption threshold in a conference task, the second device is a device matched with the first device, the power consumption bearing capacity of the second device is greater than the power consumption bearing capacity of the first device, and the first task parameters are parameters required for executing the first subtask.

[0077] In the embodiment of the present application, the power consumption bearing capacity of the second device is greater than the power consumption bearing capacity of the first device. For example, the first device can be a device with a built-in power supply but without an external fixed power supply, and the second device can be a device with an external fixed power supply. The endurance time of the second device can be considered as unlimited, and the endurance time of the first device is limited. Therefore, the second device can bear more high-power subtasks without affecting the endurance time.

[0078] The embodiment of the present application does not limit the type of high-power subtasks. For example, the subtask with power consumption greater than the first power consumption threshold can be a high-power subtask. The first power consumption threshold can be determined based on the power consumption bearing capacity of the first device, or can be set based on experience or user demand.

[0079] For example, the high-power subtask in the conference task can be a decoding subtask, a rendering subtask, an encoding subtask, or a heavy-computing subtask such as a collection subtask. It can also be a transmission subtask that requires a large amount of communication resources. The first subtask can be at least one of these subtasks. The first device with low power consumption bearing capacity calls the second device with high power consumption bearing capacity to execute the high-power first subtask, which can reduce the power consumption of the first device when executing the first task. The power consumption of the first device in a unit of time is small, which can make the endurance time of the first device relatively long. In addition, the first device consumes less computing resource and generates less heat after not executing the first subtask, which improves the user experience and the use safety of the first device.

[0080] Before the first device sends the calling request and the first task parameters to the second device, the first device can match with the second device to ensure that the first device can call the second device to execute the first subtask. The first device and the second device can be connected through a wireless network, Bluetooth, a connection line, etc., so as to realize the matching of the first device and the second device.

[0081] In a possible implementation, the first device can send the calling request and the first task parameter to the second device in the process of executing the conference task. For example, before sending the calling request and the first task parameter, the first device can independently execute each subtask in the conference task, and send the calling request and the first task parameter to the second device in the process of executing each subtask. Alternatively, before sending the calling request and the first task parameter, the first device executes a first subtask and a second subtask in the conference task, and the second device executes a third subtask in the conference task. When the first device needs to call the second device to execute the first subtask, the execution of the first subtask is stopped, and the calling request and the first task parameter are sent to the second device. Alternatively, the first device can also send the calling request and the first task parameter to the second device before the conference task starts.

[0082] The first device can send the calling request and the first task parameter to the second device under different conditions. In the following, the embodiments of the present application take cases A1 to A3 as examples to describe three different conditions for the first device to send the calling request and the first task parameter to the second device.

[0083] Case A1: The first device sends the calling request and the first task parameter to the second device, including: based on the power consumption of the first device within the reference time period being greater than a second power consumption threshold, sending the calling request and the first task parameter to the second device.

[0084] The second power consumption threshold can be determined based on the power consumption bearing capacity and the endurance capacity of the first device, or can be set based on experience or user demand. The second power consumption threshold is a reference value of the power consumption of the first device within the reference time period. When the power consumption of the first device within the reference time period is less than or equal to the second power consumption threshold, the power-off rate of the first device is relatively low or the temperature rise is relatively slow, and the first device can maintain a good running rate and running quality. When the power consumption of the first device within the reference time period is greater than the second power consumption threshold, the power-off rate of the first device is relatively high or the temperature rise is relatively fast, and the first device is difficult to maintain a good running rate and running quality. Therefore, the first device needs to transfer the first subtask with high power consumption to the second device for execution, reduce the power consumption of the first device, prolong the endurance time of the first device, and reduce the temperature rise rate of the first device.

[0085] Case A2: The first device sends the calling request and the first task parameter to the second device, including: based on the power consumption of the first device within the reference time period being greater than a second power consumption threshold, sending the calling request and the first task parameter to the second device.

[0086] The first power threshold can be determined based on the endurance capability and power consumption bearing capability of the first device, or set based on experience or user demand. The first power threshold is a power reference value for the first device to run based on higher power consumption. When the power of the first device is greater than or equal to the first power threshold, the power of the first device can still support the first device to run based on higher power consumption. In this case, the endurance time of the first device can not be considered, and the first device continues to execute the currently executed subtask. When the power of the first device is less than the first power threshold, the power of the first device is difficult to support the first device to run based on higher power consumption. In this case, the first device needs to transfer the first subtask with higher power consumption to the second device for execution, reduce the power consumption of the first device, and prolong the endurance time of the first device.

[0087] Case A3: The first device sends a call request and first task parameters to the second device, including: based on the touch operation indicating that the first subtask is executed by the second device being triggered, sending a call request and first task parameters to the second device.

[0088] The touch operation indicating that the first subtask is executed by the second device can be triggered by the user of the first device and the second device. The user can trigger the corresponding touch operation based on the use demand of the first device and the second device. For example, the first device is a mobile phone, and the second device is a desktop computer. When the user enters a scene including only the first device to a scene including the first device and the second device, the user can trigger the touch operation indicating that the first subtask is executed by the second device for the consideration of prolonging the endurance time of the first device. Alternatively, the computing power of the second device is stronger than that of the first device, and executing the first subtask by the second device can make the efficiency of collaborative execution of the conference task higher and the user experience better, so the user can trigger the touch operation indicating that the first subtask is executed by the second device.

[0089] Optionally, the user can trigger the touch operation indicating that the first subtask is executed by the second device on the first device, for example, the user can trigger the corresponding operation through the screen, button, etc. of the first device. The first device responds to the touch operation triggered on the first device, and sends a call request and first task parameters to the second device.

[0090] The user can also trigger the touch operation indicating that the first subtask is executed by the second device on the second device. The user can trigger the corresponding operation through the screen, button, etc. of the second device. The second device responds to the touch operation triggered on the second device, and sends trigger information to the first device, the trigger information indicating that the touch operation on the second device is triggered. The first device receives the trigger information, determines that the touch operation indicating that the first subtask is executed by the second device is triggered, and sends a call request and first task parameters to the second device, so that the device executing the first subtask is switched from the first device to the second device.

[0091] Based on the touch operation indicating that the first subtask is executed by the second device being triggered, the manner of sending the calling request and the first task parameter to the second device is more in line with the user's intention and can improve the user experience.

[0092] In the embodiments of the present application, the first device can send the calling request and the first task parameter to the second device when any one or more of the conditions A1-A3 is met. The first device can send the calling request and the first task parameter to the second device at the same time, or send the calling request to the second device first and then send the first task parameter to the second device.

[0093] The embodiments of the present application do not limit the content of the calling request and the first task parameter. The calling request can include identification information of the first subtask and identification information of the second device. The identification information of the first subtask can be a number or a letter that can identify the first subtask. The identification information of the second device can be an address, an identifier, or other information of the second device. The first task parameter is a media parameter matched with the first subtask. For example, if the first subtask includes a rendering subtask, the first task parameter can include a rendering parameter such as a color map type. If the first subtask includes an encoding subtask, the first task parameter can include a parameter of an encoding format. If the first subtask includes a collection subtask, the first task parameter can include a collection parameter such as a collection frequency and a collection object. If the first subtask includes a decoding subtask, the first task parameter includes a parameter indicating an encoding format.

[0094] Optionally, the implementation scenario can also include a conference media server, which can be a cloud server. The conference media server is used to manage the devices of each participant in the conference and the parameters used by each subtask in the conference process. Therefore, the first task parameter can be a parameter determined by the first device and the conference media server after media negotiation.

[0095] The embodiments of the present application transfer the first subtask from the first device to the second device for execution, which realizes the transfer of computing power, avoids high power consumption and large heat generation of the first device, reduces the power consumption of the first device while improving the utilization rate of the second device, and can reduce the amount of network transmission data between the first device and the second device.

[0096] S502, the second device receives the calling request and the first task parameter sent by the first device, the calling request indicating that the first subtask is executed by the second device, the first subtask including a subtask with power consumption greater than a first power threshold in a conference task executed by the first device, the first device being a device matched with the second device, and the first task parameter being a parameter required for executing the first subtask.

[0097] After the first device sends the calling request and the first task parameter to the second device, the second device can receive the calling request and the first task parameter sent by the first device.

[0098] In S503, the second device executes the first subtask corresponding to the calling request according to the first task parameter.

[0099] In the embodiments of the present application, the second device can execute the first subtask through the application package corresponding to the first subtask installed by the second device, so that the second device can install the application package corresponding to the first subtask before executing the first subtask corresponding to the calling request, and the application package corresponding to the first subtask is used for the second device to execute the first subtask.

[0100] For example, the second device can install the application package corresponding to the first subtask when the second device receives the calling request indicating the execution of the first subtask for the first time. Taking the calling request sent by the first device as an example, the second device receives the calling request indicating the execution of the first subtask for the first time, and then searches for the application package corresponding to the first subtask in the operating system deployed on the second device. For example, the calling request includes the identification information of the application package corresponding to the first task, and the second device can search for the application package corresponding to the identification information in the operating system and install the application package. The second device with the installed application package corresponding to the first subtask has the ability to execute the first subtask. The operating system can be a windows (a kind of operating system), an Android, an ios (a kind of operating system), a Macintosh operating system (Mac), and the like. The application package can be a module in an application software package, for example, the application package corresponding to the first subtask can be a module or a plug-in in an application (APP) software package, and the application package can also be a harmonyos ability package (HAP).

[0101] If the calling request sent by the first device to the second device is not the request indicating the execution of the first subtask by the second device for the first time, the second device has installed the application package corresponding to the first subtask before receiving the calling request, and the second device does not need to be repeatedly installed, but can execute the first subtask according to the first task parameter through the application package corresponding to the first subtask.

[0102] In addition, the second device can be statically configured with the application package corresponding to the first subtask, so that the second device can execute the first subtask according to the first task parameter after receiving the calling request.

[0103] Based on the foregoing description, the first subtask includes at least one of a decoding subtask, a rendering subtask, an encoding subtask, or a collecting subtask. Next, taking cases B1-B3 as examples, the process of the second device performing different types of first subtasks is described.

[0104] Case B1: The first subtask includes an encoding subtask and a collecting subtask, and the first task parameter includes an encoding parameter and a collecting parameter.

[0105] In case B1, according to the first task parameter, the first subtask corresponding to the calling request is executed, including: collecting first multimedia data conforming to the collecting parameter, the first multimedia data being at least one of picture or audio data of a first participant in a conference, the first participant being a participant to which the first device and the second device belong; and encoding the first multimedia data according to an encoding format indicated by the encoding parameter to obtain encoded first multimedia data, the encoded first multimedia data being used for a second participant in the conference to obtain at least one of a picture or audio of the first participant.

[0106] The second device can collect the first multimedia data of the first participant according to a collection frequency (or sampling frequency) indicated by the collecting parameter through an application package corresponding to the collecting subtask. The first multimedia data includes, but is not limited to, picture data of a conference environment of the first participant, behavior of a user of the first participant, or a file, a webpage, and the like displayed by the first participant, or the first multimedia data can also include input audio of the user of the first participant, system audio of the first participant, and the like.

[0107] In the process of collecting the first multimedia data by the application package corresponding to the collecting subtask, or after the application package corresponding to the collecting subtask completes collection of a segment of the first multimedia data, the second device can encode the first multimedia data according to an encoding format indicated by the encoding parameter through an application package corresponding to the encoding subtask to obtain encoded first multimedia data.

[0108] In the embodiment of the present application, after the second device encodes the first multimedia data according to the encoding format indicated by the encoding parameter to obtain the encoded first multimedia data, the process further includes: uploading the encoded first multimedia data to a conference media server, the encoded first multimedia data being used for the second participant to obtain at least one of a picture or audio of the first participant, the second participant being connected to the conference media server.

[0109] Referring to FIG. 6, a flowchart of a task performed by multiple devices in cooperation is shown. The local device in FIG. 6 is the first device, and the opposite device is the second device. In step 0, the local device completes device discovery of the opposite device and completes matching with the opposite device. Optionally, the local device and the opposite device can achieve device discovery through a Harmony bus. In step 1, the local device also completes media negotiation with the conference media server and obtains first task parameters. The media negotiation includes negotiation of codec, bandwidth, resolution, server IP address and port, authentication information, and the like. Then in step 2, after the operating system (for example, a Harmony operating system) of the local device determines that a condition for sending a call request to the opposite device is met, the operating system sends a call request and the first task parameters to the opposite device through a conference APP to call the opposite device to perform a capture subtask and an encoding subtask. Further, step 2 can be implemented by deploying an application package corresponding to the first subtask to the second device and sending the first task parameters to the second device to start a hopping function and use the camera and microphone of the opposite device as input devices. In step 3, after the opposite device receives the call request and the first task parameters, the operating system (for example, a Harmony operating system) of the opposite device installs or calls a capture and encoding application package corresponding to the capture subtask and the encoding subtask to perform capture and encoding. In step 4, the opposite device uploads the encoded first multimedia data to the conference media server in the form of an uplink code stream.

[0110] The second device uploads the encoded first multimedia data to the conference media server in the form of an uplink code stream, so that the conference media server can transmit the first multimedia data to a second participant in the conference except the first participant, and the second participant can obtain at least one of a picture or audio of the first participant, thereby accurately obtaining relevant content of the conference and ensuring the progress of the conference.

[0111] Case B2: The first subtask includes a decoding subtask and a rendering subtask, and the first task parameters include decoding parameters and rendering parameters.

[0112] In case B2, according to the first task parameter, the first subtask corresponding to the calling request is executed, including: obtaining the encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of the second participant in the conference; decoding the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain the second multimedia data; and rendering the second multimedia data according to the rendering parameter to obtain the rendered second multimedia data, the rendered second multimedia data being used to realize at least one of display of the picture of the second participant or playing of the audio of the second participant.

[0113] Optionally, the second device obtains the encoded second multimedia data, including: sending a first packet learning message to the conference media server, the first packet learning message being used for the conference media server to determine a target address of the encoded second multimedia data; and receiving the encoded second multimedia data sent by the conference media server based on the first packet learning message.

[0114] After receiving the calling request and determining that the first subtask needs to be executed, the second device sends the first packet learning message to the conference media server to send the address of the second device to the conference media server, and informs the conference media server that the first subtask is executed by the second device, so that the conference media server determines that the target address of the encoded second multimedia data is the address of the second device. Thus, after receiving the encoded second multimedia data uploaded by the second participant, the conference media server transmits the encoded second multimedia data to the second device in the form of a downstream code stream.

[0115] The second device receives the encoded second multimedia data transmitted by the conference media server, decodes the encoded second multimedia data according to the encoding format indicated by the decoding parameter through the application package corresponding to the decoding subtask, and restores the unencoded second multimedia data. Then, the second device renders the second multimedia data according to the rendering parameter through the application package corresponding to the rendering subtask, to display the picture of the second participant or play the audio of the second participant.

[0116] Referring to FIG. 7, another flow diagram of the multi-device cooperative task execution is shown. The local device is the first device, and the peer device is the second device. In step 0, the local device completes the device discovery of the peer device and completes the matching with the peer device. Optionally, the device discovery can be achieved by the HOMES software bus. In step 1, the local device also completes the media negotiation with the conference media server and obtains the first task parameters. The media negotiation includes the negotiation of the codec type, bandwidth, resolution, server IP address and port, authentication information, etc. Then in step 2, the operating system (e.g., the HOMES operating system) of the local device determines that the condition of sending the call request to the peer device is met, sends the call request and the first task parameters to the peer device through the conference APP, to call the peer device to execute the decoding subtask and the rendering subtask. Further, step 2 can be implemented by deploying the application package corresponding to the first subtask to the second device, sending the first task parameters to the second device, and starting the flow transfer function, taking the screen and speaker of the peer device as the output device. In step 3, the peer device sends the first packet learning message to the conference media server, and the conference media server sends the encoded second multimedia data to the peer device after authentication. The peer device receives the encoded second multimedia data sent by the conference media server in the form of downstream code stream. In step 4, the peer device installs or calls the decoding and rendering application package corresponding to the decoding subtask and the rendering subtask through the operating system (e.g., the HOMES operating system), decodes the encoded second multimedia data according to the encoding format indicated by the decoding parameter, obtains the second multimedia data before encoding, and renders the second multimedia data according to the rendering parameter, and outputs to the operating system, so that the peer device displays or plays the rendered second multimedia data.

[0117] Case B3: the first subtask includes the decoding subtask, the rendering subtask, the encoding subtask and the collection subtask, and the first task parameters include the decoding parameter, the rendering parameter, the encoding parameter and the collection parameter.

[0118] In case B3, according to the first task parameter, the first subtask corresponding to the calling request is executed, including: collecting first multimedia data conforming to the collection parameter, the first multimedia data being data recording at least one of a picture or an audio of the first participant in the conference; encoding the first multimedia data according to an encoding format indicated by the encoding parameter to obtain encoded first multimedia data; obtaining encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or an audio of the second participant in the conference; decoding the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain second multimedia data; and rendering the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, the rendered second multimedia data being used to realize at least one of display of a picture of the second participant or playing of an audio of the second participant.

[0119] The method executed by the second device in case B3 is the sum of the methods executed in case B1 and case B2, and the processes executed can refer to the descriptions of case B1 and case B2 above, which will not be repeated here. In any one of the above cases B1 to B3, the interaction of media data between the first device and the second device is reduced, the data amount of the media data processed by the first device is reduced, and thus the occupation amount and usage rate of the processor (for example, a central processing unit (CPU)) in the first device for processing the media data are reduced, and the power consumption of the first device is reduced.

[0120] S504, the first device executes a second subtask in the conference task, except for the first subtask.

[0121] The first device has a second subtask to be executed in addition to the first subtask, for example, a control subtask of controlling the start, pause or end of the conference, a management subtask of managing the opening or closing of the camera, the microphone, the synchronous translation or the file display, etc. After the first device calls the second device to execute the first subtask, the first device continues to execute the second subtask, so that each subtask in the conference task is in an execution state, and each subtask in the conference task is distributedly executed on the first device and the second device, so that the first device and the second device cooperatively execute the conference task.

[0122] Based on the foregoing description, the second device executes the first subtask through the installed application package corresponding to the first subtask. Correspondingly, the first device also installs the application package corresponding to the first subtask and the second subtask, the application package corresponding to the first subtask is used for the first device to execute the first subtask, and the application package corresponding to the second subtask is used for the first device to execute the second subtask. The first device can not only execute the first subtask through the application package corresponding to the first subtask, but also generate the first task parameter through the application package corresponding to the first subtask, so as to call the second device to execute the first subtask.

[0123] Referring to FIG. 8, a flowchart of a multi-device cooperative task execution provided by an embodiment of the present application is shown. In FIG. 8, local device 1 is a first device of a first participant, local device 2 is a first device of a second participant, the local device 1 and the local device 2 both install a conference APP, the opposite device 1 is a second device of the first participant, the opposite device 2 is a second device of the second participant, and the opposite device 1 and the opposite device 2 both install an application package corresponding to a first subtask. The premise for the local device 1 and the local device 2 to call the opposite device 1 and the opposite device 1 to execute the first subtask is that the device discovery is completed, that is, the callable opposite device is discovered, and the matching and connection with the opposite device are completed. After the device discovery is completed, the local device 1 and the local device 2 join the conference through the conference APP, the local device 1 and the local device 2 respectively perform media negotiation with the SFU, and receive the negotiation result (negotiation_result) sent by the SFU, the negotiation result including the first task parameter.

[0124] In the process of the conference, the local device 1 selects the camera of the opposite device 1 as the device for data collection, then the local device 1 calls the camera of the opposite device 1 to collect data, and calls the opposite device 1 to encode the collected data, that is, the local device 1 calls the opposite device 1 to execute the collection subtask and the encoding subtask. After the opposite device 1 completes the data encoding, the opposite device 1 sends a media stream including the encoded data to the SFU. Correspondingly, the opposite device 2 receives the media stream from the SFU. In addition, before the opposite device 2 receives the media stream, the local device 2 sends a calling request to the opposite device 2 to call the opposite device 2 to execute the decoding subtask and the rendering subtask. After the opposite device 2 receives the calling request, the opposite device 2 sends a first packet learning message to the SFU, so that the SFU sends the media stream to the opposite device 2 based on the target address indicated by the first packet learning message after receiving the media stream sent by the opposite device 1. After the opposite device 2 receives the media stream, the opposite device 2 decodes the media stream and renders it to the screen. The local device 1 and the opposite device 1 realize multi-device cooperative task execution, and the local device 2 and the opposite device 2 realize multi-device cooperative task execution.

[0125] In a possible implementation, the method further includes: sending, by the first device, a callback request to the second device, the callback request indicating that the first device performs the first sub-task; receiving second task parameters sent by the second device based on the callback request, the second task parameters being the first task parameters updated in the process that the second device performs the first sub-task; and performing the first sub-task according to the second task parameters.

[0126] Optionally, the first device can send the callback request to the second device based on different conditions. The following takes cases C1 to C3 as examples to describe three different conditions for the first device to send the callback request to the second device.

[0127] Case C1: The first device sends the callback request to the second device, including: sending the callback request to the second device based on the power consumption of the first device in the reference time period being less than a third power consumption threshold.

[0128] The third power consumption threshold can be determined based on the power consumption bearing capacity and the endurance of the first device, or can be set based on experience or user demand. The third power consumption threshold is another reference value of the power consumption of the first device in the reference time period (which can be the same as or different from the second power consumption threshold). When the power consumption of the first device in the reference time period is less than the third power consumption threshold, the power-off rate of the first device is relatively low or the temperature rise is relatively slow, and the first device can maintain a good running rate and running quality. Thus, when the power consumption of the first device in the reference time period is less than the third power consumption threshold, it means that the power consumption bearing capacity of the first device is sufficient to support the first device to perform the first sub-task, the first device sends the callback request to the second device, reduces the power consumption of the second device, avoids insufficient computing power or lag caused by the second device executing the first sub-task with high power consumption for a long time, and improves the user experience.

[0129] Case C2: The first device sends the callback request to the second device, including: sending the callback request to the second device based on the power of the first device being greater than a second power threshold.

[0130] The second power threshold can be determined based on the endurance and the power consumption bearing capacity of the first device, or can be set based on experience or user demand. The second power threshold is a power reference value for the first device to run based on a relatively high power consumption (which can be the same as or different from the first power threshold). When the power of the first device is greater than the second power threshold, the power of the first device can support the first device to run based on a relatively high power consumption. In this case, the callback request is sent to the second device, and the first device continues to perform the first sub-task with high power consumption, reduces the power consumption of the second device, avoids insufficient computing power or lag caused by the second device executing the first sub-task with high power consumption for a long time, and improves the user experience.

[0131] In case C3, the first device sends a callback request to the second device, including: based on the touch operation indicating the first device to perform the first subtask being triggered, sending the callback request to the second device.

[0132] The touch operation indicating the first device to perform the first subtask can be triggered by a user of the first device and the second device. The user can trigger the corresponding touch operation based on the use requirement of the first device and the second device. For example, the first device is a mobile phone, and the second device is a desktop computer. When the user enters a scene including only the first device from a scene including the first device and the second device, the user can trigger the touch operation indicating the first device to perform the first subtask.

[0133] Optionally, the user can trigger the touch operation indicating the first device to perform the first subtask on the first device. For example, the user can trigger the corresponding operation through the screen, button, etc. of the first device. The first device sends a callback request to the second device in response to the touch operation on the first device being triggered.

[0134] The user can also trigger the touch operation indicating the first device to perform the first subtask on the second device. The user can trigger the corresponding operation through the screen, button, etc. of the second device. The second device sends a trigger information to the first device in response to the touch operation on the second device being triggered. The trigger information indicates that the touch operation on the second device is triggered. The first device receives the trigger information, determines that the touch operation indicating the first device to perform the first subtask is triggered, and sends a callback request to the second device.

[0135] Based on the touch operation indicating the first device to perform the first subtask being triggered, the callback request is sent to the second device. This is more in line with the user's intention and can improve the user experience.

[0136] In the embodiments of the present application, the first device can send a callback request to the second device when any one or more of the conditions in cases C1-C3 are met.

[0137] Correspondingly, the second device receives a callback request indicating the first device to perform the first subtask, and sends a second task parameter to the first device. The second task parameter is the first task parameter updated in the process of the second device performing the first subtask, and the second task parameter is used for the first device to continue to perform the first subtask.

[0138] Since the second device may adjust the first task parameter based on user behavior or an indication of the conference media server during execution of the first subtask, after receiving the callback request, the second device sends the updated first task parameter, i.e., the second task parameter, to the first device, so that the first device can accurately continue to execute the first subtask based on the second task parameter, ensuring that the first device and the second device can accurately implement the cooperative execution of the conference task. The process in which the first device executes the first subtask based on the second task parameter can refer to the description of the process in which the second device executes the first subtask based on the first task parameter, which will not be described here.

[0139] In summary, the method for cooperative execution of a task by multiple devices provided in the embodiments of the present application reduces the consumption of computing resources and power of the first device with lower power consumption carrying capacity, prolongs the time for the first device to execute a task, and avoids high temperature of the first device.

[0140] The above describes the method for cooperative execution of a task by multiple devices provided in the embodiments of the present application. Corresponding to the above method, the embodiments of the present application also provide a device for cooperative execution of a task by multiple devices. The device is the first device described above. The device can implement the above method for cooperative execution of a task by multiple devices through software, hardware, or a combination of both. It should be understood that the device can include more additional modules than the illustrated modules or omit part of the illustrated modules, and the embodiments of the present application do not limit this. As shown in FIG. 9, the first device provided in the embodiments of the present application includes but is not limited to a first communication module 901 and a first execution module 902.

[0141] The first communication module 901 is configured to send a call request and a first task parameter to a second device, the call request indicating that the second device executes a first subtask, the first subtask including a subtask with power consumption greater than a first power consumption threshold in a conference task, the second device being a device matched with the first device, the power consumption carrying capacity of the second device being greater than the power consumption carrying capacity of the first device, and the first task parameter being a parameter required for execution of the first subtask. The first execution module 902 is configured to execute a second subtask in the conference task other than the first subtask.

[0142] In a possible implementation, the first communication module 901 is configured to send the call request and the first task parameter to the second device based on the power consumption of the first device being greater than a second power consumption threshold within a reference time length, or based on the power of the first device being less than a first power threshold, or based on a touch operation indicating that the second device executes the first subtask being triggered.

[0143] In a possible implementation, the first subtask includes at least one of a decoding subtask, a rendering subtask, an encoding subtask, or a collecting subtask.

[0144] In a possible implementation, the first communication module 901 is further configured to send a callback request to the second device, the callback request indicating that the first subtask is executed by the first device; receive second task parameters sent by the second device based on the callback request, the second task parameters being updated first task parameters in a process in which the second device executes the first subtask; and the first execution module 902 is further configured to execute the first subtask according to the second task parameters.

[0145] In a possible implementation, the first communication module 901 is configured to send the callback request to the second device based on the fact that power consumption of the first device within a reference time length is less than a third power consumption threshold, or based on the fact that the power level of the first device is greater than a second power level threshold, or based on the fact that a touch operation indicating that the first subtask is executed by the first device is triggered.

[0146] In a possible implementation, the first device is installed with application packages corresponding to the first subtask and the second subtask, the application package corresponding to the first subtask is used for the first device to execute the first subtask, and the application package corresponding to the second subtask is used for the first device to execute the second subtask.

[0147] Embodiments of the present application further provide a device for performing a task in cooperation with multiple devices. The device is the second device described above. The device can implement the method for performing a task in cooperation with multiple devices by software, hardware or a combination of both. It should be understood that the device can include more additional modules than the illustrated modules or omit part of the illustrated modules, and the embodiments of the present application do not limit this. As shown in FIG. 10, the second device provided by the embodiments of the present application includes but is not limited to a second communication module 1001 and a second execution module 1002.

[0148] The second communication module 1001 is configured to receive a callback request and first task parameters sent by the first device, the callback request indicating that the first subtask is executed by the second device, the first subtask including a subtask with power consumption greater than a first power consumption threshold in a conference task executed by the first device, the first device being a device matched with the second device, and the first task parameters being parameters required for executing the first subtask; and the second execution module 1002 is configured to execute the first subtask corresponding to the callback request according to the first task parameters.

[0149] In a possible implementation, the first subtask includes at least one of a decoding subtask, a rendering subtask, an encoding subtask, or a collecting subtask.

[0150] In a possible implementation, the first subtask includes an encoding subtask and a collecting subtask, and the first task parameter includes an encoding parameter and a collecting parameter; the second execution module 1002 is configured to collect the first multimedia data conforming to the collecting parameter, the first multimedia data is at least one of a picture or audio of a first participant in the conference, the first participant is a participant to which the first device and the second device belong; encode the first multimedia data according to an encoding format indicated by the encoding parameter to obtain encoded first multimedia data, and the encoded first multimedia data is used to obtain at least one of a picture or audio of the first participant by a second participant in the conference.

[0151] In a possible implementation, the second communication module 1001 is further configured to upload the encoded first multimedia data to a conference media server, and the encoded first multimedia data is used to obtain at least one of a picture or audio of the first participant by the second participant, and the second participant is connected to the conference media server.

[0152] In a possible implementation, the first subtask includes a decoding subtask and a rendering subtask, and the first task parameter includes a decoding parameter and a rendering parameter; the second execution module 1002 is configured to obtain the encoded second multimedia data, the encoded second multimedia data is at least one of a picture or audio of a second participant in the conference; decode the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain the second multimedia data; render the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, and the rendered second multimedia data is used to at least one of display a picture of the second participant or play audio of the second participant.

[0153] In a possible implementation, the second execution module 1002 is configured to send a first packet learning message to a conference media server, the first packet learning message is used to determine a target address of the encoded second multimedia data by the conference media server; and receive the encoded second multimedia data sent by the conference media server based on the first packet learning message.

[0154] In a possible implementation, the first subtask includes a decoding subtask, a rendering subtask, an encoding subtask, and a collecting subtask, and the first task parameter includes a decoding parameter, a rendering parameter, an encoding parameter, and a collecting parameter; the second execution module 1002 is configured to collect first multimedia data conforming to the collecting parameter, the first multimedia data being data recording at least one of a picture or audio of a first participant in the conference; encode the first multimedia data according to an encoding format indicated by the encoding parameter to obtain encoded first multimedia data; obtain encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of a second participant in the conference; decode the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain second multimedia data; and render the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, the rendered second multimedia data being used to implement at least one of display of a picture of the second participant or playing of audio of the second participant.

[0155] In a possible implementation, the second device further includes an installation module; and the installation module is configured to install an application package corresponding to the first subtask, the application package corresponding to the first subtask being used by the second device to execute the first subtask.

[0156] In a possible implementation, the second communication module 1001 is further configured to receive a callback request indicating execution of the first subtask by the first device; and send, to the first device, second task parameters, the second task parameters being the first task parameters updated in the process of execution of the first subtask by the second device, and the second task parameters being used by the first device to continue execution of the first subtask.

[0157] It should be understood that the device provided in the above embodiments of FIG. 9 or FIG. 10 has the same beneficial effects as the method provided in FIG. 5 when the device implements the functions thereof, which will not be repeated here. In addition, the device provided in the above embodiments of FIG. 9 or FIG. 10 has the same beneficial effects as the method provided in FIG. 5 when the device implements the functions thereof, which will not be repeated here. In addition, the device provided in the above embodiments and the method embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0158] For example, the implementation of the first communication module 901 is described below. Similarly, the implementation of the first execution module 902, the second communication module 1001, the second execution module 1002, and other modules can refer to the implementation of the first communication module 901.

[0159] As an example of a software functional unit, the first communication module 901 can include code running on a compute instance. The compute instance can include at least one of a physical host (computing device), a virtual machine, a container. Further, the compute instance can be one or more. For example, the first communication module 901 can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running the code can be distributed in the same region, or in different regions. Further, the multiple hosts / virtual machines / containers for running the code can be distributed in the same availability zone (AZ), or in different AZs, each AZ including one data center or multiple data centers in close geographical proximity. Generally, one region can include multiple AZs.

[0160] Similarly, the multiple hosts / virtual machines / containers for running the code can be distributed in the same virtual private cloud (VPC), or in multiple VPCs. Generally, one VPC is set up in one region, and communication between two VPCs in the same region, or between VPCs in different regions, needs to be set up in each VPC to set up a communication gateway, and the interconnection between VPCs is realized through the communication gateway.

[0161] As an example of a hardware functional unit, the first communication module 901 can include at least one computing device. Alternatively, the first communication module 901 can also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), etc. The PLD can be implemented by a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0162] The plurality of computing devices included in the first communication module 901 can be distributed in the same region or in different regions. The plurality of computing devices included in the first communication module 901 can be distributed in the same AZ or in different AZs. Similarly, the plurality of computing devices included in the first communication module 901 can be distributed in the same VPC or in multiple VPCs. The plurality of computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0163] It should be noted that, in other embodiments, the first communication module 901 can be used to perform any step in the method of the multi-device cooperative task execution, that is, the steps implemented by the first communication module 901 and the first execution module 902 can be specified as needed, and the functions of the first device and the second device are implemented by the first communication module 901 and the first execution module 902 respectively implementing different steps in the method of the multi-device cooperative task execution. In addition, the first device, the second device, and the method of the multi-device cooperative task execution provided in the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be described here.

[0164] Referring to FIG. 11, FIG. 11 shows a structural schematic diagram of an example multi-device cooperative task execution device 1100 according to the present application. The multi-device cooperative task execution device 1100 includes at least one processor 1101, a memory 1103, and at least one network interface 1104.

[0165] The processor 1101 is, for example, a general-purpose central processing unit (CPU), a digital signal processor (DSP), a network processer (NP), a GPU, a neural-network processing units (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits or application-specific integrated circuits (ASICs) for implementing the schemes of the present application, a programmable logic device (PLD), another general-purpose processor, or another programmable logic device, discrete gates or transistor logic, discrete hardware components, or any combination thereof. The PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor, etc. It is worth noting that the processor can be a processor supporting an advanced RISC machines (ARM) architecture. It can implement or execute various logical blocks, modules, and circuits described in connection with the disclosure of the present application. The processor can also be a combination implementing a computing function, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0166] Optionally, the device 1100 for performing a task in cooperation with multiple devices further includes a bus 1102. The bus 1102 is used to transmit information between the components of the device 1100 for performing a task in cooperation with multiple devices. The bus 1102 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 1102 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one line is shown in FIG. 11, but it does not mean that there is only one bus or only one type of bus.

[0167] The memory 1103 is, for example, a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM) used as an external cache.

[0168] By way of example, and not limitation, a number of forms of ROM and RAM are possible. For example, the ROM is a compact disc read-only memory (CD-ROM). The RAM includes, but is not limited to, a static RAM (SRAM), a dynamic RAM (DRAM), a synchronous DRAM (SDRAM), a double data rate SDRAM (DDR SDRAM), an enhanced SDRAM (ESDRAM), a synchlink DRAM (SLDRAM), and a direct rambus RAM (DR RAM).

[0169] The memory 1103 can also be other types of storage devices capable of storing static and dynamic information and instructions. Alternatively, the memory 1103 can be other types of dynamic storage devices. Alternatively, the memory 1103 can be other types of optical disk storage, including a compact disc read-only memory (CD-ROM), a laser disc, an optical disc, a digital versatile disc (DVD), a Blu-ray disc, and the like, or other magnetic storage devices including a magnetic disk or other magnetic storage medium, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to. The memory 1103 is, for example, independent and connected to the processor 1101 through the bus 1102. The memory 1103 can also be integrated with the processor 1101.

[0170] The network interface 1104 uses any transceiver-type device to communicate with other devices or communication networks, which can be an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), or the like. The network interface 1104 can include a wired network interface and can also include a wireless network interface. Specifically, the network interface 1104 can be an Ethernet interface, such as a Fast Ethernet (FE) interface, a Gigabit Ethernet (GE) interface, an Asynchronous Transfer Mode (ATM) interface, a WLAN interface, a cellular network interface, or a combination thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In some embodiments of the present application, the network interface 1104 can be used for the device 1100 to communicate with other devices in a cooperative manner.

[0171] In a specific implementation, as some embodiments, the processor 1101 can include one or more CPUs, such as CPU0 and CPU1 as shown in FIG. 11. Each of these processors can be a single-core processor or a multi-core processor. The processor herein can refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0172] In a specific implementation, as some embodiments, the device 1100 that performs a task in a cooperative manner can include multiple processors, such as the processor 1101 and the processor 1105 as shown in FIG. 11. Each of these processors can be a single-core processor or a multi-core processor. The processor herein can refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0173] In some embodiments, the memory 1103 is configured to store program instructions 1110 for implementing the solutions of the present application, and the processor 1101 can execute the program instructions 1110 stored in the memory 1103. That is, the device 1100 that performs a task in a cooperative manner can implement the method performed by the first device or the second device according to the method embodiments by means of the processor 1101 and the program instructions 1110 in the memory 1103. The program instructions 1110 can include one or more software modules. Alternatively, the processor 1101 itself can also store program instructions for implementing the solutions of the present application.

[0174] In a specific implementation process, the multi-device task execution device 1100 of the present application can correspond to a first device for executing the above method. The processor 1101 in the multi-device task execution device 1100 reads instructions in the memory 1103, so that the multi-device task execution device 1100 shown in FIG. 11 can execute all or part of the steps in the method embodiment.

[0175] The multi-device task execution device 1100 can also correspond to the device shown in FIG. 9 or FIG. 10. Each functional module in the device shown in FIG. 9 or FIG. 10 is implemented by software of the multi-device task execution device 1100. In other words, the functional modules included in the device shown in FIG. 9 or FIG. 10 are generated after the processor 1101 of the multi-device task execution device 1100 reads the program instructions 1110 stored in the memory 1103.

[0176] The steps of the method shown in FIG. 5 are completed by the integrated logic circuit of the hardware in the processor of the multi-device task execution device 1100 or the instructions in the form of software. The steps of the method embodiment disclosed in the present application can be directly embodied as the execution of the hardware processor, or the execution of the combination of the hardware and software modules in the processor. The software module can be located in the storage medium mature in the art such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and combines the hardware to complete the steps of the above method embodiment. To avoid repetition, it will not be described in detail here.

[0177] The present application also provides a computing device which can be configured as the first device or the second device in the above implementation environment. The computing device will be described below as an example of the first device. The second device is similar to the first device, and will not be described here. Referring to FIG. 12, FIG. 12 is a hardware structure schematic diagram of a computing device according to an embodiment of the present application. As shown in FIG. 12, the computing device 600 includes a bus 602, a processor 604, a memory 606 and a communication interface 608. The processor 604, the memory 606 and the communication interface 608 communicate through the bus 602. It should be understood that the present application does not limit the number of processors and memories in the computing device 600.

[0178] The bus 602 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one line is represented in FIG. 12, but it does not mean that there is only one bus or only one type of bus. The bus 602 can include a path for transmitting information between various components (for example, the memory 606, the processor 604, the communication interface 608) of the computing device 600.

[0179] The processor 604 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), or the like.

[0180] The memory 606 can include a volatile memory (for example, a random access memory (RAM)), and the processor 604 can further include a non-volatile memory (for example, a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD)).

[0181] The memory 606 stores executable program code, and the processor 604 executes the executable program code to respectively implement the functions of the first communication module 901 or the first execution module 902 described above, so as to implement the method for performing a task cooperatively by multiple devices. That is, the memory 606 stores instructions for performing the method for performing a task cooperatively by multiple devices.

[0182] The communication interface 608 uses a transceiver module such as, but not limited to, a network interface card, a transceiver, and the like, to implement communication between the computing device 600 and other devices or communication networks.

[0183] The embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be configured as a server in the implementation environment described above, for example, a center server, an edge server, or a local server in a local data center.

[0184] FIG. 13 is a structural diagram of a computing device cluster according to an embodiment of the present application. As shown in FIG. 13, the computing device cluster includes at least one computing device 600. The memory 606 of one or more computing devices 600 in the computing device cluster can store the same instructions for performing the method for performing a task by multiple devices in cooperation.

[0185] In some possible implementation manners, the memory 606 of one or more computing devices 600 in the computing device cluster can also respectively store partial instructions for performing the method for performing a task by multiple devices in cooperation. In other words, the combination of one or more computing devices 600 can collectively execute the instructions for performing the method for performing a task by multiple devices in cooperation.

[0186] It should be noted that the memory 606 of different computing devices 600 in the computing device cluster can store different instructions, respectively for performing partial functions of the first device or the second device. That is, the instructions stored in the memory 606 of different computing devices 600 can implement the functions of one or more of the first communication module 901 or the first execution module 902.

[0187] In some embodiments, one or more computing devices in the computing device cluster can be connected through a network. The network can be a wide area network, a local area network, or the like. FIG. 14 is a connection diagram of a computing device cluster according to an embodiment of the present application. As shown in FIG. 14, two computing devices 600 are connected through a network. Specifically, the communication interface in each computing device is connected to the network.

[0188] It should be understood that the functions of the computing device 600 shown in FIG. 14 can also be completed by multiple computing devices 600.

[0189] In an exemplary embodiment, a system for performing a task by multiple devices in cooperation is provided, which includes a first device and a second device, the first device is configured to implement the method performed by the first device as described above, and the second device is configured to implement the method performed by the second device as described above.

[0190] In an exemplary embodiment, a computer program product (product) containing instructions is provided. The computer program product can be a software or program product containing instructions, which can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device is caused to perform the method for performing a task by multiple devices in cooperation.

[0191] In an example embodiment, a computer readable storage medium is provided, which can be any available media or data storage device that can be accessed by a computing device or a data center including one or more of the available media. The available media can be a magnetic medium (e.g., a floppy diskette, a hard disk drive, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state hard drive) or the like. The computer readable storage medium includes instructions that instruct the computing device to perform the method of multi-device collaboration to perform a task.

[0192] In an example embodiment, a chip is provided, which includes a processor configured to call and run instructions stored in a memory, so that a computer installed with the chip performs the method in FIG. 5.

[0193] In an example embodiment, another chip is provided, which includes an input interface, an output interface, a processor, and a memory, the input interface, the output interface, the processor, and the memory are connected through internal connection paths, the processor is configured to execute a code in the memory, when the code is executed, a computer installed with the chip performs the method in FIG. 5.

[0194] In the above embodiments, all or part of them can be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of them can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes one or more available media sets. The available media can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state hard disk) or the like.

[0195] The terms "first", "second", etc. are used in this application to distinguish between same or similar items or elements having substantially the same function and should be understood that there is no logical or chronological dependency between "first", "second", "nth", and that the number and execution order are not limited. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another.

[0196] It should also be understood that the size of the serial number of various processes in various embodiments of the present application does not mean the order of execution, and the execution order of various processes should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0197] In this application, the term "at least one" means one or more, and the term "multiple" in this application means two or more, for example, multiple second devices means two or more second devices. The terms "system" and "network" are often used interchangeably herein.

[0198] It should be understood that the terms used in the description of various described examples herein are merely for describing particular examples and are not intended to be limiting. As used in the description of various described examples and the appended claims, the singular forms "a", "an" and "the" are intended to include plural forms as well, unless the context clearly indicates otherwise.

[0199] It should also be understood that the term "and / or" used herein means and encompasses any and all possible combinations of one or more of the associated listed items. The term "and / or", is a description of the associated relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent: A exists alone, A and B exist together, B exists alone. In addition, the character " / " in this application generally represents that the front and rear associated objects are in an "or" relationship.

[0200] It should also be understood that the terms "if" and "when" can be interpreted to mean "when" or "upon" or "in response to a determination" or "in response to detecting". Similarly, the phrase "if determined" or "if detected [a stated condition or event]" can be interpreted to mean "upon determining" or "in response to determining" or "upon detecting [a stated condition or event]" or "in response to detecting [a stated condition or event]", depending on the context.

[0201] The above merely illustrates the embodiments of the present application, and is not used to limit the present application, any modification, equivalent replacement, improvement, etc. made within the principles of the present application should be included in the protection scope of the present application.

Claims

1. A method for a plurality of devices to cooperatively perform a task, the method comprising: The method is applied to a first device, and the method comprises: sending, to a second device, a calling request and first task parameters, the calling request indicating that a first subtask is executed by the second device, the first subtask comprising a subtask in a conference task whose power consumption is greater than a first power consumption threshold, the second device being a device matched with the first device, the power consumption bearing capacity of the second device being greater than the power consumption bearing capacity of the first device, the first task parameters being parameters required for executing the first subtask; executing a second subtask in the conference task other than the first subtask.

2. The method of claim 1, wherein, The sending, to the second device, of the calling request and the first task parameters comprises: based on the power consumption of the first device within a reference time period being greater than a second power consumption threshold, sending the calling request and the first task parameters to the second device; or, based on the power level of the first device being less than a first power level threshold, sending the calling request and the first task parameters to the second device; or, based on a touch operation indicating that the first subtask is executed by the second device being triggered, sending the calling request and the first task parameters to the second device.

3. The method according to claim 1 or 2, characterized in that, The first subtask comprises at least one of a decoding subtask, a rendering subtask, an encoding subtask or a collecting subtask.

4. The method according to any of claims 1 to 3, characterized in that, The method further comprises: sending, to the second device, a callback request, the callback request indicating that the first subtask is executed by the first device; receiving second task parameters sent by the second device based on the callback request, the second task parameters being updated first task parameters in the process of the second device executing the first subtask; executing the first subtask according to the second task parameters.

5. The method of claim 4, wherein, The sending, to the second device, of the callback request comprises: based on the power consumption of the first device within a reference time period being less than a third power consumption threshold, sending the callback request to the second device; or, based on the power level of the first device being greater than a second power level threshold, sending the callback request to the second device; or, based on a touch operation indicating that the first subtask is executed by the first device being triggered, sending the callback request to the second device.

6. The method according to any one of claims 1 to 5, characterized in that, The first device is installed with application packages corresponding to the first subtask and the second subtask, the application package corresponding to the first subtask being used for the first device to execute the first subtask, and the application package corresponding to the second subtask being used for the first device to execute the second subtask.

7. A method for a plurality of devices to perform a task in coordination, the method comprising: The method is applied to a second device, and the method comprises: receiving a calling request and first task parameters sent by a first device, the calling request indicating that a first subtask is executed by the second device, the first subtask comprising a subtask in a conference task executed by the first device whose power consumption is greater than a first power consumption threshold, the first device being a device matched with the second device, the first task parameters being parameters required for executing the first subtask; executing the first subtask corresponding to the calling request according to the first task parameters.

8. The method of claim 7, wherein, The first subtask comprises at least one of a decoding subtask, a rendering subtask, an encoding subtask or a collecting subtask.

9. The method of claim 8, wherein, The first subtask includes the encoding subtask and the collecting subtask, and the first task parameter includes an encoding parameter and a collecting parameter; The execution of the first subtask corresponding to the calling request according to the first task parameter includes: collecting first multimedia data conforming to the collecting parameter, the first multimedia data being at least one of a picture or audio of a first participant in a conference, the first participant being a participant to which the first device and the second device belong; encoding the first multimedia data in an encoding format indicated by the encoding parameter to obtain encoded first multimedia data, the encoded first multimedia data being used by a second participant in the conference to obtain at least one of a picture or audio of the first participant.

10. The method of claim 9, wherein, After the encoding of the first multimedia data in the encoding format indicated by the encoding parameter to obtain the encoded first multimedia data, the method further includes: uploading the encoded first multimedia data to a conference media server, the encoded first multimedia data being used by the second participant to obtain at least one of a picture or audio of the first participant, the second participant being connected to the conference media server.

11. The method of claim 8, wherein, The first subtask includes the decoding subtask and the rendering subtask, and the first task parameter includes a decoding parameter and a rendering parameter; The execution of the first subtask corresponding to the calling request according to the first task parameter includes: obtaining encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of a second participant in a conference; decoding the encoded second multimedia data in a decoding format indicated by the decoding parameter to obtain second multimedia data; rendering the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, the rendered second multimedia data being used to realize at least one of display of a picture of the second participant or playing of audio of the second participant.

12. The method of claim 11, wherein, The obtaining of the encoded second multimedia data includes: sending a first packet learning message to a conference media server, the first packet learning message being used by the conference media server to determine a target address of the encoded second multimedia data; receiving the encoded second multimedia data sent by the conference media server based on the first packet learning message.

13. The method of claim 8, wherein, The first subtask includes the decoding subtask, the rendering subtask, the encoding subtask and the collecting subtask, and the first task parameter includes a decoding parameter, a rendering parameter, an encoding parameter and a collecting parameter; The execution of the first subtask corresponding to the calling request according to the first task parameter includes: collecting first multimedia data conforming to the collecting parameter, the first multimedia data being at least one of a picture or audio of a first participant in a conference, the first participant being a participant to which the first device and the second device belong; encoding the first multimedia data in an encoding format indicated by the encoding parameter to obtain encoded first multimedia data, the encoded first multimedia data being used by a second participant in the conference to obtain at least one of a picture or audio of the first participant. obtaining encoded second multimedia data, the encoded second multimedia data being data recording at least one of a picture or audio of a second participant in the conference; decoding the encoded second multimedia data according to a decoding format indicated by the decoding parameter to obtain second multimedia data; rendering the second multimedia data according to the rendering parameter to obtain rendered second multimedia data, the rendered second multimedia data being used to implement at least one of display of a picture of the second participant or playing of audio of the second participant.

14. The method according to any of claims 7 to 13, characterized in that, Before the executing the first subtask corresponding to the invoking request according to the first task parameter, the method further includes: installing an application package corresponding to the first subtask, the application package corresponding to the first subtask being used by the second device to execute the first subtask.

15. The method according to any of claims 7-14, characterized by, The method further includes: receiving a callback request indicating that the first subtask is executed by the first device; sending a second task parameter to the first device, the second task parameter being the first task parameter updated in the process of executing the first subtask by the second device, and the second task parameter being used by the first device to continue executing the first subtask.

16. An apparatus for performing a task in collaboration with a plurality of devices, the apparatus comprising: The device is a first device, and the device includes: a first communication module configured to send an invoking request and a first task parameter to a second device, the invoking request indicating that a first subtask is executed by the second device, the first subtask including a subtask in a conference task whose power consumption is greater than a first power consumption threshold, the second device being a device matched with the first device, a power consumption bearing capacity of the second device being greater than a power consumption bearing capacity of the first device, and the first task parameter being a parameter required for executing the first subtask; a first execution module configured to execute a second subtask in the conference task other than the first subtask.

17. An apparatus for performing a task in collaboration with a plurality of devices, the apparatus comprising: The device is a second device, and the device includes: a second communication module configured to receive an invoking request and a first task parameter sent by a first device, the invoking request indicating that a first subtask is executed by the second device, the first subtask including a subtask in a conference task executed by the first device whose power consumption is greater than a first power consumption threshold, the first device being a device matched with the second device, and the first task parameter being a parameter required for executing the first subtask; a second execution module configured to execute the first subtask corresponding to the invoking request according to the first task parameter.

18. A system for multiple devices to perform a task in coordination, the system comprising: The system includes a first device and a second device; the first device is configured to implement the method for cooperatively executing a task by multiple devices according to any one of claims 1-6, and the second device is configured to implement the method for cooperatively executing a task by multiple devices according to any one of claims 7-15.

19. A cluster of computing devices that collaboratively perform a task using multiple devices, the cluster comprising: The computing device cluster includes at least one computing device, and each computing device includes a processor coupled with a memory; the processor of the at least one computing device is to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method of claim 1-6 or the method of claim 7-15.

20. A computer-readable storage medium, characterized in that, a computer program product comprising computer program instructions that, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of claim 1-6 or the method of claim 7-15.

21. A computer program product comprising instructions, wherein: the instructions, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of claim 1-6 or the method of claim 7-15.

Citation Information

Patent Citations

  • Multi-media-terminal-based method and system for realizing four-party video conference

    CN105681731A

  • Method for scheduling processor and terminal

    CN106406494A

  • Video conference processing method and device, computer equipment and storage medium

    CN113573004A

  • Task scheduling method, device and equipment

    CN114116154A

  • Application running method and related equipment

    CN115934314A