WO2022198853A1 - Procédé et appareil de planification de tâches, dispositif électronique, support de stockage et produit-programme - Google Patents

Procédé et appareil de planification de tâches, dispositif électronique, support de stockage et produit-programme Download PDF

Info

Publication number
WO2022198853A1
WO2022198853A1 PCT/CN2021/107171 CN2021107171W WO2022198853A1 WO 2022198853 A1 WO2022198853 A1 WO 2022198853A1 CN 2021107171 W CN2021107171 W CN 2021107171W WO 2022198853 A1 WO2022198853 A1 WO 2022198853A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal device
task
processed
state
target
Prior art date
Application number
PCT/CN2021/107171
Other languages
English (en)
Chinese (zh)
Inventor
刘华凯
吴佳飞
彭小珂
张广程
闫俊杰
Original Assignee
北京市商汤科技开发有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京市商汤科技开发有限公司 filed Critical 北京市商汤科技开发有限公司
Priority to KR1020227020274A priority Critical patent/KR20220133858A/ko
Publication of WO2022198853A1 publication Critical patent/WO2022198853A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Definitions

  • the present disclosure relates to the field of computer technology, and in particular, to a task scheduling method and apparatus, electronic equipment, storage medium and program product.
  • business data can be processed by means of terminal-cloud collaboration.
  • terminal devices without computing capabilities directly upload the collected business data to the cloud, which is responsible for processing;
  • terminal devices with computing capabilities such as smart cameras
  • its business data can be processed in itself, and the processing results are uploaded to the cloud.
  • the present disclosure proposes a technical solution for task scheduling.
  • a task scheduling method is provided, which is applied to a cloud server, comprising: according to a first task type of a task to be processed, from a plurality of terminal devices connected to the cloud server, determining a a first terminal device matching the type of the first task, the multiple terminal devices include the first terminal device; according to the first computing resource of the first terminal device for the task to be processed, and the first The first remaining computing resources of the terminal device, determine the target terminal device from the first terminal device; send the processing data of the to-be-processed task to the target terminal device, so that the target terminal device executes the Describe pending tasks.
  • the tasks to be processed can be reasonably allocated to the terminal device, which not only makes full use of the computing resources of the terminal device, but also relieves the computing pressure of the cloud server.
  • the cloud server stores the correspondence between the plurality of terminal devices and task types, and the cloud server is connected to the cloud server according to the first task type of the task to be processed.
  • determining the first terminal device matching the first task type includes: determining, from the plurality of terminal devices, according to the corresponding relationship and the first task type, determining the first terminal device matching the first task type. The first terminal device that matches the first task type. In this way, the first terminal device matching the first task type can be quickly and conveniently determined.
  • the Determining the target terminal device in the device includes: determining, from the first terminal device, a second terminal device whose first remaining computing resource is greater than the first computing resource, where the first terminal device includes the second terminal device; In the case where there are multiple second terminal devices, according to the second remaining computing resources of the second terminal device and the second computing resources of the second terminal device for the task to be processed, from the The target terminal device is determined in the second terminal device. In this way, the target terminal equipment whose second remaining computing resources match the computing resources required by the task is effectively determined, so that the task to be processed can be reasonably allocated to the terminal equipment, so that the computing resources of the terminal equipment can be fully utilized.
  • Determining the target terminal device includes: determining a ratio between the second computing resource and the second remaining computing resource; and determining the second terminal device corresponding to the maximum value in the ratio as the target terminal device.
  • the method further includes: in the case that a first terminal device matching the first task type does not exist in the plurality of terminal devices, executing the process in the cloud server. Describe pending tasks. In this way, the situation that no terminal device supports the task to be processed can be effectively dealt with.
  • the method further includes: in the case that there is no second terminal device with a first remaining computing resource greater than the first computing resource in the first terminal device, in the cloud
  • the to-be-processed task is executed in the server. In this way, it is possible to effectively deal with the situation that the first remaining computing resources of the first terminal device do not meet the computing resource requirements of the tasks to be processed.
  • the method further includes: receiving a task processing result of the to-be-processed task returned by the target terminal device, where the task processing result includes a processing result of processing the processing data. In this way, it is convenient to further process the task processing result after the cloud server receives the task processing result.
  • the method further includes: acquiring device information uploaded by the terminal device, where the device information includes a device identifier of the terminal device, a task type matching the terminal device, the The task type corresponds to the computing resources of the task, the total computing resources of the terminal device, and the remaining computing resources of the terminal device.
  • the target terminal device can be easily and efficiently determined subsequently based on the device information of the terminal device.
  • a task scheduling method is provided, which is applied to a target terminal device, comprising: in the case of receiving processing data of a task to be processed sent by a cloud server, processing the processing data to obtain the the task processing result of the task to be processed; sending the task processing result to the cloud server; wherein, the target terminal device is the cloud server according to the first task type of the to-be-processed task, the first terminal device.
  • the first computing resource of the task to be processed and the first remaining computing resource of the first terminal device are determined from the first terminal device, and the first terminal device is the same as the first terminal device. match the task type. In this way, the determined target terminal device can be made to execute the task to be processed, so that the computing resources of the terminal device can be fully utilized, and the computing pressure of the cloud server can be relieved.
  • the method further includes: determining device information of the target terminal device; sending the device information of the target terminal device to the cloud server, so that the cloud server stores the device information Device information of the target terminal device; wherein the device information of the target terminal device includes: the device identification of the target terminal device, the second task type matched with the target terminal device, and the target operation of the task corresponding to the second task type resources, the total computing resources of the target terminal device, and the remaining computing resources of the target terminal device.
  • the device information of the terminal device connected to the cloud server can be sent to the cloud server, so that the cloud server can effectively perform task scheduling based on the device information of the terminal device.
  • the method further includes: acquiring the operation information of the target terminal device in the first state and the operation information in the second state sampled by a preset sampling period; The operation information in the first state and the operation information in the second state determine the target computing resource; wherein the first state includes a state in which the target terminal device is not executing tasks, and the second state includes The target terminal device executes the state of the task corresponding to the second task type.
  • the computing resources required for running a task can be more accurately determined according to the running information in the no-load state and the running information in the running task state.
  • the determining the target computing resource according to the operation information in the first state and the operation information in the second state includes: determining the operation in the first state the first mean value of the information, and the second mean value of the operating information in the second state; the maximum value of the difference between the second mean value and the first mean value is determined as the target computing resource . In this way, the interference of the application program on the determination of the computing resources in the no-load state can be reduced, so that the computing resources required by the task can be accurately determined.
  • the operation information includes at least one of a CPU usage rate, a hardware acceleration engine usage rate, a memory usage rate, and a memory bandwidth usage rate of the target terminal device
  • the second average value is the same as the
  • the difference between the first average values includes at least one of the following: the difference between the average value of the CPU usage rate in the second state and the average value of the CPU usage rate in the first state; The difference between the average value of the hardware acceleration engine usage rate in the second state and the average value of the hardware acceleration engine usage rate in the first state; the average value of the memory usage rate in the second state, and all The difference between the average values of the memory usage in the first state; the difference between the average memory bandwidth usage in the second state and the average memory bandwidth usage in the first state .
  • the target computing resources can be easily quantified to measure the target computing resources required by the task.
  • a task scheduling apparatus applied to a cloud server, comprising: a first terminal device determination module, configured to, according to a first task type of a task to be processed, select from multiple devices connected to the cloud server.
  • a first terminal device matching the first task type is determined, and the plurality of terminal devices include the first terminal device;
  • a target terminal device determination module is configured to be based on the first terminal device For the first computing resource of the to-be-processed task and the first remaining computing resource of the first terminal device, determine the target terminal device from the first terminal device;
  • the processing data delivery module is configured to send the The processing data of the to-be-processed task is sent to the target terminal device, so that the target terminal device executes the to-be-processed task.
  • a task scheduling apparatus which is applied to a target terminal device, and includes: a processing module configured to, when receiving processing data of a task to be processed sent by a cloud server, perform processing on the processing data processing to obtain the task processing result of the to-be-processed task; a processing result sending module is configured to send the task processing result to the cloud server; wherein, the target terminal device is the cloud server according to the to-be-processed task.
  • the first task type of the processing task, the first computing resource of the first terminal device for the task to be processed, and the first remaining computing resource of the first terminal device are determined from the first terminal device, The first terminal device is matched with the first task type.
  • an electronic device comprising: a processor; a memory configured to store instructions executable by the processor; wherein the processor is configured to invoke the instructions stored in the memory to execute the above Cloud server side method or target terminal device side method.
  • a computer-readable storage medium having computer program instructions stored thereon, the computer program instructions implementing the above cloud server-side method or target terminal device-side method when executed by a processor.
  • a computer program comprising computer-readable codes, when the computer-readable codes are executed in an electronic device, a processor in the electronic device executes and is configured to implement the above-mentioned cloud server side method or a method on the side of the target terminal device.
  • the first terminal device capable of executing the to-be-processed task can be determined, and then according to the first computing resource and the first terminal of the first terminal device for the to-be-processed task
  • the first remaining computing resources of the device can determine the target terminal device whose remaining computing resources meet the computing resources required by the task to be processed, so that the task to be processed can be reasonably allocated to the terminal device, and not only the computing resources of the terminal device can be obtained. Taking full advantage of it can also relieve the computing pressure of the cloud server.
  • FIG. 1 shows a schematic diagram of a device-cloud collaboration system according to an embodiment of the present disclosure.
  • FIG. 2 shows a flowchart of a task scheduling method according to an embodiment of the present disclosure.
  • FIG. 3 shows a flowchart of a task scheduling method according to an embodiment of the present disclosure.
  • FIG. 4 shows a flowchart of a task scheduling method according to an embodiment of the present disclosure.
  • FIG. 5 shows a block diagram of a task scheduling apparatus according to an embodiment of the present disclosure.
  • FIG. 6 shows a block diagram of a task scheduling apparatus according to an embodiment of the present disclosure.
  • FIG. 7 shows a block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 8 shows a block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 1 shows a schematic diagram of a device-cloud collaboration system according to an embodiment of the present disclosure.
  • the system consists of a cloud server 11 and a plurality of terminal devices 12 .
  • the cloud server 11 has powerful computing capabilities, some terminal devices 12 have certain computing capabilities (ie, smart terminals, such as smart cameras), while some terminal devices 12 basically have no computing capabilities (ie, non-intelligent terminals, such as non-intelligent cameras) .
  • the terminal-cloud collaboration system associates the cloud server 11, that is, the cloud and the terminal device 12 through the network, and uses the cloud management software 13 and the cloud agent software 14 to complete the data interaction and task management between the cloud and the terminal device 12, so that the two can work together. Complete the overall function of the system.
  • the cloud is responsible for the task scheduling, storage, task computing, operation and maintenance functions of the entire system.
  • Task computing includes two aspects: one is to process the source data uploaded by non-smart terminals, and the other is to process the source data uploaded by intelligent terminals. The processed results are subjected to secondary processing for the final statistical decision.
  • the terminal device 12 is responsible for functions such as source data collection and forwarding, storage, operation and maintenance, and the like. For an intelligent terminal, it is also responsible for its own task processing and uploads the processed results to the cloud; for a non-intelligent terminal, it has no processing capability and needs to send the source data to the cloud server 11 through the cloud proxy software 14 for processing.
  • the computing resources may include the computing power of the terminal device, and the computing power may be used to describe the computing power that a terminal device can provide.
  • the computing power is affected by conditions such as computing resources, storage resources, and storage bandwidth.
  • the computing power requirement is used to describe the computing power required for a task.
  • the task scheduling method of the embodiment of the present disclosure multiple tasks are preset in the terminal device, and the total computing resources, remaining computing resources and computing resources required to execute each preset task of the terminal device are quantified and reported to the cloud; After the cloud receives the task to be processed, it can search the terminal devices connected to the cloud for matching task types and matching computing resources according to the remaining computing resources of the terminal device and the computing resources required by the terminal device to execute the task to be processed. Terminal equipment; thus, the tasks to be processed can be reasonably allocated to the terminal equipment for processing, which can expand the capability range of the terminal equipment, make the computing resources of the terminal equipment fully utilized, and further ease the computing pressure on the cloud.
  • FIG. 2 shows a flowchart of a task scheduling method according to an embodiment of the present disclosure.
  • the task scheduling method is applied to a cloud server, and the method includes:
  • step S11 according to the first task type of the task to be processed, a first terminal device matching the first task type is determined from a plurality of terminal devices connected to the cloud server, and the plurality of terminal devices include the first terminal device ;
  • step S12 the target terminal device is determined from the first terminal device according to the first computing resource of the first terminal device for the task to be processed and the first remaining computing resource of the first terminal device;
  • step S13 the processing data of the task to be processed is delivered to the target terminal device, so that the target terminal device executes the task to be processed.
  • the method may be implemented by the processor of the cloud server calling computer-readable instructions stored in the memory.
  • the terminal device may include a smart camera, a user equipment (User Equipment, UE), a mobile device, a user terminal, a cellular phone, a cordless phone, a personal digital assistant (Personal Digital Assistant, PDA), a handheld device , computing devices, in-vehicle devices, wearable devices and other devices with computing capabilities.
  • UE User Equipment
  • PDA Personal Digital Assistant
  • the cloud server and the terminal device may be connected through a network for data transmission; other connection manners may also be used, which are not limited in this embodiment of the present disclosure.
  • the tasks to be processed may include image processing tasks, and the image processing tasks may include at least one of image recognition, image segmentation, image classification, and key point detection; the processing data includes one or more frames of images .
  • image recognition tasks may include, but are not limited to, face recognition tasks, license plate recognition tasks, traffic violation recognition tasks, etc.
  • image segmentation for example, may include but are not limited to: portrait segmentation tasks, license plate segmentation tasks, etc.
  • image classification tasks such as Including but not limited to: license plate color classification task, license plate type classification task, etc.
  • key point detection tasks may include but are not limited to: human body key point detection task, license plate outline key point detection task, etc.
  • the task to be processed may include all or part of the algorithms required to process the processing data (such as images).
  • the algorithms required to process the processing data such as images.
  • face recognition and face feature extraction may be included.
  • face comparison and other algorithms for the face recognition task, face comparison and other algorithms;
  • portrait segmentation algorithm for the portrait segmentation task, a portrait segmentation algorithm may be included; it should be understood that the face recognition task and the portrait segmentation task may also be included.
  • the tasks to be processed may further include speech recognition tasks, text recognition tasks, and the like.
  • the processed data may include audio, text, and the like.
  • the embodiment of the present disclosure does not limit the task type of the task to be processed.
  • various tasks may be preset in the terminal device.
  • the terminal device may be preset to perform face recognition tasks and license plate recognition tasks, and may also preset license plate recognition tasks and traffic violation recognition tasks.
  • the tasks preset in each terminal device may be set according to actual requirements, which are not limited in this embodiment of the present disclosure.
  • the method may further include: acquiring device information uploaded by the terminal device, where the device information may include a device identifier of the terminal device, a task type matching the terminal device, and a task type corresponding to the terminal device.
  • the computing resources of the task, the total computing resources of the terminal device, and the remaining computing resources of the terminal device can be easily and efficiently determined subsequently based on the device information of the terminal device.
  • the device identifier can be used to identify each terminal device; the task type matching the terminal device can be the task type of various tasks preset in the terminal device; the computing resources of the task type can be in the terminal device.
  • the computing resources required by various tasks preset in the device; the total computing resources of the terminal device may refer to the computing resources of the entire terminal device.
  • the device information may further include computing resources of tasks running in the terminal device. Then the remaining computing resources of the terminal device may refer to the difference between the total computing resources of the terminal device and the computing resources of the running task.
  • the respective computing resources required by various tasks preset in the terminal device may be determined according to the running information of the terminal device when running the task.
  • the cloud server can store the device information of the above-mentioned terminal devices, that is, the correspondence between multiple device identifiers and task types is stored, which is equivalent to storing multiple terminal devices and task types in the cloud server. Correspondence between task types.
  • step S11 according to the first task type of the task to be processed, from a plurality of terminal devices connected to the cloud server, determine the first terminal that matches the first task type
  • the device may include: determining a first terminal device matching the first task type from a plurality of terminal devices according to the corresponding relationship and the first task type. In this way, the first terminal device matching the first task type can be quickly and conveniently determined.
  • the first terminal device matching the first task type can be determined from the terminal device according to the corresponding relationship and the first task type by searching the database storing the device information of the terminal device, That is, the first terminal device for which the task to be processed has been preset is determined.
  • the first terminal device matching the first task type cannot be determined according to the first task type of the task to be processed, that is, there is no terminal device that matches the first task type.
  • the to-be-processed task can be executed in the cloud server. In this way, the situation that no terminal device supports the task to be processed can be effectively dealt with.
  • computing resources can be used to describe the computing power that a terminal device can provide, which is limited by hardware performance, memory, storage bandwidth and other conditions.
  • the computing power provided by the terminal devices is required. Due to differences in processor performance, memory, and memory bandwidth of terminal devices, the computing resources required for the same task to run in different terminal devices are different.
  • the first computing resource of the first terminal device for the task to be processed may refer to the first computing resource of the task to be processed in each first terminal device.
  • the computing resources required for running in the terminal device that is, the first computing resource correspondingly includes a plurality of; when there is one first terminal device, the first computing resource of the first terminal device for the task to be processed may refer to the to-be-processed task. Computational resources required for processing tasks to run in the one terminal device.
  • the cloud server stores the device information of the terminal device, and the multiple terminal devices include the first terminal device, then the first remaining computing resources of the first terminal device and the first computing resources of the first terminal device for the task to be processed , which can be obtained by querying the device information according to the device identifier of the first terminal device.
  • the target terminal is determined from the first terminal device according to the first computing resources of the first terminal device for the task to be processed and the first remaining computing resources of the first terminal device
  • the device may include: determining, from the first terminal device, a target terminal device whose first remaining computing resource is greater than the first computing resource.
  • the computing resources required for task A to run in terminal device B1 are 2, the computing resources required for running in terminal device B2 are 3, the remaining computing resources of terminal device B1 are 3, and the remaining computing resources of terminal device B2 are 2; Since the remaining computing resources of the terminal device B1 are greater than the computing resources required for task A to run in the terminal device B1, that is, the remaining computing resources of the terminal device B1 meet the computing resource requirements of the task A when it runs in the terminal device B1; the terminal device B1 Can be the target terminal device.
  • the processing data may include one frame or multiple frames of images, wherein the multiple frames of images may be video streams; of course, other types of data may also be included.
  • the processing data corresponds to the task to be processed, and what type of data is used in the implementation It can be determined according to actual needs, and this embodiment of the present disclosure is not limited.
  • the processing data of the to-be-processed task can be delivered to the target terminal device through a network transmission protocol, so that the target terminal device executes the to-be-processed task.
  • the method may further include: receiving a task processing result of the to-be-processed task returned by the target terminal device, where the task processing result includes a processing result of processing the processing data. In this way, it is convenient to further process the task processing result after the cloud server receives the task processing result.
  • the first terminal device capable of executing the to-be-processed task can be determined, and then according to the first terminal device's first computing resources and the first residual for the to-be-processed task Computing resources, which can determine the target terminal equipment whose remaining computing resources meet the computing resources required by the tasks to be processed, so that the tasks to be processed can be reasonably allocated to the terminal equipment, which not only makes the computing resources of the terminal equipment fully utilized, but also can Relieve the computing pressure of cloud servers.
  • the target terminal device is determined from the first terminal device according to the first computing resources of the first terminal device for the task to be processed and the first remaining computing resources of the first terminal device , including: determining from the first terminal equipment that the first remaining computing resource is greater than the second terminal equipment of the first computing resource, the first terminal equipment includes the second terminal equipment; in the case of multiple second terminal equipment, according to The second remaining computing resource of the second terminal device and the second computing resource of the second terminal device for the task to be processed determine the target terminal device from the second terminal device.
  • the first terminal device may include one or more.
  • the size relationship between the first remaining computing resources of each first terminal device and the first computing resources corresponding to the first terminal device may be determined one by one, and the first remaining computing resources The first terminal device that is larger than the first computing resource is determined to be the second terminal device.
  • the one first terminal device determines whether there is one first terminal device. If the first remaining computing resource of the one first terminal device is greater than the first computing resource corresponding to the one first terminal device, then the one first terminal device is determined as the second terminal device. Terminal Equipment.
  • the determined second terminal device may include one or more.
  • the second terminal device when the second terminal device includes one, the second terminal device may be directly determined as the target terminal device.
  • the target terminal may be further determined from the second terminal device according to the second remaining computing resources of the second terminal device and the second computing resources of the second terminal device for the task to be processed equipment.
  • the example of the above task A is continued.
  • the computing resources required for task A to run in terminal device B1 is 2, and the computing resources required to run in terminal device B2
  • the resource is 3
  • the remaining computing resource of the terminal device B1 is 3
  • the remaining computing resource of the terminal device B2 2 is 3
  • B1 may be the second terminal device. Since the second terminal device includes one, the terminal device B1 is the target terminal device.
  • the computing resources required for task A to run in terminal device B1 are 2, and the computing resources required for task A to run in terminal device B2 are 3.
  • the computing resource required for running is 5, the terminal device B1 has the remaining computing resource 3, the terminal device B2 has the remaining computing resource 2, and the terminal device B3 has the remaining computing resource 10. Since the remaining computing resources of the terminal device B1 are greater than the computing resources required for task A to run in the terminal device B1, the remaining computing resources of the terminal device B3 are greater than the computing resources required for the task A to run in the terminal device B3.
  • the terminal device B3 can be a second terminal device; then according to the remaining computing resources 3 of the terminal device B1 and the required computing resources 2 when the task A runs in the terminal device B1, and the remaining computing resources 10 and task A of the terminal device B3
  • the computing resource 5 required for running in the terminal device B1 determines the target terminal device from the terminal devices B1 and B2.
  • the to-be-processed task can be executed in the cloud server. In this way, it is possible to effectively deal with the situation that the first remaining computing resources of the first terminal device do not meet the computing resource requirements of the tasks to be processed.
  • the second remaining computing resource and the second remaining computing resource can be effectively determined according to the second remaining computing resource of the second terminal device and the second computing resource required when the task to be processed is executed in the second terminal device.
  • the target terminal device that matches the computing resources required by the task, so that the task to be processed can be reasonably allocated to the terminal device, so that the computing resources of the terminal device can be fully utilized.
  • determining the target terminal device from the second terminal device according to the second remaining computing resources of the second terminal device and the second computing resources of the second terminal device for the task to be processed including: Determine the ratio between the second computing resource and the second remaining computing resource; and determine the second terminal device corresponding to the maximum value in the ratio as the target terminal device.
  • the terminal device with the largest ratio between the second computing resource corresponding to the second terminal device and the second remaining computing resource of the second terminal device may be determined as the target terminal device, for example, continue to use
  • the terminal device B1 since the ratio of 2/3 between the computing resources of task A and the remaining computing resources in the terminal device B1 is greater than the ratio between the computing resources of task A and the remaining computing resources in the terminal device B2 5/10, so the terminal device B1 can be the target terminal device.
  • the ratio between the second computing resources and the second remaining computing resources refers to the ratio between the second computing resources corresponding to the same task to be processed by each second terminal device and the second remaining computing resources of the second terminal device.
  • the above manner of determining the target terminal device by using the ratio is a specific implementation manner provided by the embodiment of the present disclosure, and it should be understood that the present disclosure should not be limited to this. Under the inspiration of the embodiments of the present disclosure, those skilled in the art can also choose other comparison methods. For example, the ratio between the second remaining computing resource and the second computing resource can also be determined, and the ratio corresponding to the minimum value of the ratio can be determined.
  • the second terminal device is determined as the target terminal device.
  • the method of determining the target terminal device may be selected according to actual needs, as long as it is determined according to the second computing resource and the second remaining computing resource of the second terminal device for the task to be processed, which is not limited by the embodiment of the present disclosure. .
  • terminal equipment with few computing resources can be used as much as possible, and equipment with sufficient computing resources can be reserved for tasks that require more computing resources, so as to use the computing resources of the terminal equipment to the maximum extent, and realize the efficient use of terminal equipment. Full utilization of computing resources.
  • FIG. 3 shows a flowchart of a task scheduling method according to an embodiment of the present disclosure. As shown in FIG. 3 , the task scheduling method is applied to a target terminal device, and the method includes:
  • step S21 in the case of receiving the processing data of the task to be processed sent by the cloud server, the processing data is processed to obtain the task processing result of the task to be processed;
  • step S22 the task processing result is sent to the cloud server
  • the target terminal device is the target terminal device that the cloud server selects from the first terminal device according to the first task type of the task to be processed, the first computing resource of the first terminal device for the task to be processed, and the first remaining computing resource of the first terminal device. It is determined that the first terminal device matches the first task type.
  • the target terminal device may include smart cameras, user equipment, mobile devices, user terminals, cellular phones, cordless phones, personal digital assistants, handheld devices, computing devices, in-vehicle devices, wearable devices, etc. Devices with computing power.
  • the processing data of the to-be-processed task received by the target terminal device may identify the task type of the to-be-processed task, so as to facilitate the execution of the to-be-processed task in the target terminal device to process the processing data to get the task processing result of the task to be processed.
  • the task processing result may be sent to the cloud server through a network transmission protocol, so as to further process the task processing result in the cloud server.
  • the determined target terminal device can be made to execute the task to be processed, so that the computing resources of the terminal device can be fully utilized, and the computing pressure of the cloud server can be relieved.
  • the method further includes: determining the device information of the target terminal device; sending the device information of the target terminal device to the cloud server, so that the cloud server stores the device information of the target terminal device;
  • the device information of the terminal device includes: the device identifier of the target terminal device, the second task type that matches the target terminal device, the target computing resources of the task corresponding to the second task type, the total computing resources of the target terminal device, and the remaining operations of the target terminal device. resource.
  • the device identification of the target terminal device may be used to identify the target terminal device; the second task type matching the target terminal device may refer to various tasks preset in the target terminal device
  • the second task type corresponds to the target computing resources of the task, which may refer to the computing resources required by various tasks preset in the target terminal device; the total computing resources of the target terminal device may refer to the entire target terminal device. computing resources.
  • the device identification may use a combination of characters and numbers, as long as the target terminal device can be uniquely identified, and the specific form of the device identification is not limited in this embodiment of the present disclosure.
  • the target computing resource of the task corresponding to the second task type may be determined according to the running information of the target terminal device in different running states, where the running state may include: a state of running a task of the second task type , and an idle state that does not run tasks.
  • the running information may include, but is not limited to, at least one of the central processing unit (Central Processing Unit, CPU) usage, hardware acceleration engine usage, memory usage, and memory bandwidth usage of the target terminal device.
  • CPU Central Processing Unit
  • the computing resources can be measured in different ways.
  • the total computing resources of the target terminal device can be set based on actual requirements.
  • the total computing resources can be set as 1, and each task
  • the required computing resources can be measured by decimals; it can also be set to 10 or 100, etc., so that the required computing resources of each task can be converted into integers to measure, which can be set according to actual needs, which is not done in the embodiments of the present disclosure. limit.
  • the computing resources required by each task determined according to the embodiment of the present disclosure is a relative value, not an absolute value, that is, a value determined relative to the overall computing capability of each terminal device.
  • the overall computing capability of the device is different.
  • the same computing resource represents the actual computing resource level may be different, and the computing resources required by the task are all based on the values determined by each terminal device.
  • the device information of the target terminal device may further include computing resources of tasks running in the target terminal device.
  • the remaining computing resources of the target terminal device may refer to the difference between the total computing resources of the target terminal device and the sixth computing resources of the running task. For example, for a certain terminal device, task A and task B are running in the terminal device, the total computing resources are 1, the computing resources required by task A are 0.25, and the computing resources required by task B are 0.25, then the remaining computing resources of the terminal device is 0.5.
  • the plurality of terminal devices connected to the cloud server include target terminal devices.
  • the first device information of the terminal device includes device information of the target terminal device.
  • the device information can be determined in the same manner as the device information of the target terminal device is determined in the embodiment of the present disclosure.
  • the device information of the target terminal device may be determined after the target terminal device accesses the cloud server for the first time. Through the network transmission protocol, the device information of the target terminal device is sent to the cloud server, so that the target terminal device is registered in the cloud server, and the device information of the target terminal device is stored.
  • the device information of the target terminal device of the target terminal device may be re-determined after receiving the processing data of the task to be processed sent by the cloud server.
  • the re-determined device information of the target terminal device is sent to the cloud server through the network transmission protocol, so that the cloud server updates the stored device information of the target terminal device.
  • the device information of the terminal device connected to the cloud server can be sent to the cloud server, so that the cloud server can effectively perform task scheduling based on the device information of the terminal device.
  • the method further includes: acquiring the operation information of the target terminal device in the first state and the operation information in the second state sampled according to the preset sampling period;
  • the target computing resource is determined by the operation information in the second state and the operation information in the second state; wherein the first state includes the state in which the target terminal device is not executing the task, and the second state includes the state in which the target terminal device executes the task corresponding to the second task type.
  • running information monitoring software may be preset in the target terminal device, and the running information monitoring software may collect running information corresponding to different task processes in the target terminal device according to a preset sampling period.
  • the operating information monitoring software may be existing software that can implement the above functions, and the implementation form of the operating information monitoring software is not limited in the embodiments of the present disclosure.
  • the first state includes a state in which the target terminal device does not perform a task. That is, the first state may be an idle state in which the target terminal device does not perform any tasks, for example, an application program of an embedded task is started, but the embedded task is not executed, and the second state may be a state of executing the embedded task.
  • the tasks of the second task type may be executed respectively based on the same test data (eg, image or video).
  • the test data may be acquired from a cloud server, or may be acquired from a local storage, which is not limited in this embodiment of the present disclosure.
  • the preset sampling period may be set according to actual requirements, which is not limited in this embodiment of the present disclosure. According to the preset sampling period, multiple sets of operation information can be collected within a period of time. Based on multiple sets of running information, the required computing resources for running tasks can be more accurately determined.
  • the computing resources required for running a task can be more accurately determined according to the running information in the no-load state and the running information in the running task state.
  • the determining the target computing resource according to the operation information in the first state and the operation information in the second state includes: determining a first mean value of the operation information in the first state, and The second mean value of the operating information in the two states; the maximum value in the difference between the second mean value and the first mean value is determined as the target computing resource.
  • the running information of the target terminal device may include, but is not limited to, at least one of CPU usage, hardware acceleration engine usage, memory usage, and memory bandwidth usage of the target terminal device.
  • the collected operation information may include multiple groups, and each group of operation information may include at least one of CPU usage, hardware acceleration engine usage, memory usage, and memory bandwidth usage of the target terminal device.
  • the difference between the second average value and the first average value includes at least one of the following: the average value of the CPU usage rate in the second state, and the average value of the CPU usage rate in the first state The difference between the average value of the hardware acceleration engine usage rate in the second state and the average value of the hardware acceleration engine usage rate in the first state; the average value of the memory usage rate in the second state, and The difference between the average values of the memory usage in the first state; the difference between the average memory bandwidth usage in the second state and the average memory bandwidth usage in the first state.
  • the target computing resources can be easily quantified to measure the target computing resources required by the task.
  • the application program may experience delays, freezes, etc., and the memory bandwidth is generally not fully utilized.
  • the difference between the average value of the memory bandwidth usage rate in the second state and the average value of the memory bandwidth usage rate in the first state may be the product of the difference and the first weighting coefficient .
  • the specific value of the first weighting coefficient may be set according to actual requirements, for example, it may be 2, which is not limited in this embodiment of the present disclosure. In this way, the determined computing resources can be made more accurate, and when the scheduled task is executed in the target terminal device, excessive pressure is placed on the memory bandwidth of the target terminal device, resulting in stalling delay.
  • the described The product of the maximum value of the difference between the second mean value and the first mean value and the second weighting coefficient is determined as the target computing resource.
  • the specific value of the second weighting coefficient may be determined according to actual requirements, historical experience, etc., for example, 1.2 may be adopted, which is not limited in this embodiment of the present disclosure. In this way, the normal operation of the task can be ensured when the computing performance of the terminal device reaches a peak value.
  • the multiple terminal devices include the target terminal device, for any terminal device, the computing resources required by various tasks preset in the terminal device can be implemented using the same implementation as the present disclosure.
  • the method for determining the target computing resource in the example is the same, which is not repeated here.
  • Embodiments of the present disclosure also provide a computing resource evaluation method, the method may include:
  • the running information includes, but is not limited to, CPU usage, hardware acceleration engine usage, memory usage, and memory bandwidth usage information.
  • a set of data will be obtained at each sampling point, and a total of N s sets of data will be obtained, where Each set of data will be obtained according to the formula Calculate the mean value, where S i represents the data corresponding to the i-th sampling point, m is the mean value, and obtains the running information of ⁇ I cpu , I npu , I mem , I memband ⁇ under four no-load states; where I cpu Indicates the CPU usage, I npu represents the hardware acceleration engine usage, and I mem represents the memory occupancy I memband memory bandwidth usage.
  • the target running information of the A task ⁇ A cpu can be obtained ,A npu ,A mem ,A memband ⁇ , similarly, the target operation information ⁇ B cpu ,B npu ,B mem ,B memband ⁇ , ⁇ C cpu ,C npu ,C mem ,C of tasks B and C can be obtained respectively memband ⁇ .
  • the required computing resource T of the task can be estimated:
  • T max(T cpu ,T npu ,T mem ,T memband * ⁇ )* ⁇ (1);
  • the computing resource obtained according to the above method is a relative value, not an absolute value.
  • the computing resource level represented by the same computing resource value is generally different.
  • the computing resources determined by the above method may be the computing resources required by the task, and the total computing resources may be 1.0; the computing resources may also be converted into integers, such as A, B, C obtained by calculation
  • the computing resources required by the three tasks are 0.5, 0.25, and 0.25, respectively.
  • the method for estimating task computing resources can provide a reliable basis for task scheduling of the device-cloud collaboration system, and effectively improve the performance utilization of terminal devices.
  • the computing resources of a large number of terminal devices are far greater than the computing resource requirements of their own tasks.
  • Related technologies mainly use terminal devices to process their own tasks, and cannot use their remaining computing power to process more tasks.
  • the computing resources are not fully utilized, resulting in a waste of computing resources.
  • the embodiments of the present disclosure provide a multi-task scheduling method based on "device-cloud collaboration", by presetting multiple tasks in the terminal device, and abstracting the total computing resources of the terminal device and the computing resources required by the tasks , the cloud can reasonably allocate new tasks to the connected devices for processing.
  • This solution expands the capability range of the terminal device, makes the computing capability of the terminal device fully utilized, and further relieves the cloud computing pressure.
  • the main performance is for the following two aspects:
  • an embodiment of the present disclosure provides a method for evaluating the total computing resources of a terminal device and computing resources required by various preset tasks.
  • each preset task is run on the terminal device, and the system information such as the CPU usage, intelligent hardware accelerator usage, memory usage, memory bandwidth usage and other system information of the system is counted when it is running, and then abstracted based on these information.
  • the computing power requirements of the tasks, and finally the total computing power of the platform is abstracted according to the computing power requirements of various preset tasks.
  • the embodiments of the present disclosure are based on a multi-task scheduling method based on device-cloud collaboration.
  • the terminal device After the terminal device is connected to the cloud, it reports its own preset task type and computing resource requirements, total computing resources and remaining computing resources to the cloud; when the cloud receives a new task request, it searches for the matching task type in the connected terminal devices and the remaining computing resources. If the match is successful, the matched terminal device will process the new task. If the match fails, the cloud will process the new task.
  • FIG. 4 shows a flowchart of a task scheduling method according to an embodiment of the present disclosure. As shown in FIG. 4 , the method includes:
  • Step S401 access terminal equipment
  • the terminal device is an intelligent terminal with certain computing capabilities.
  • Step S402 the terminal device reports device information
  • the device information such as the device identification ID of the connected terminal device, its own preset task type, its own running task type, required computing resources for each task, total computing resources, and remaining computing resources to the cloud for registration.
  • Device information is registered and device information is stored.
  • Step S403 the task to be processed is accessed
  • Step S404 judging whether there is a terminal device that supports processing the pending task
  • step S405 it is judged whether the terminal device contains an algorithm type that supports the task to be processed.
  • Step S405 the task to be processed runs on the cloud
  • cloud computing accesses pending tasks and is responsible for the computation of pending tasks.
  • Step S406 judging whether there is a terminal device whose remaining computing resources are greater than the computing resources required by the task to be processed.
  • the size of the computing resource requirement of the task to be processed is related to the terminal device, and is obtained by querying the device information uploaded by the terminal device.
  • step S405 is performed; when the matching of computing resources succeeds, that is, there are remaining computing In the case that the resource is larger than the terminal device of the computing resource required by the task to be processed, step S407 is executed.
  • Step S407 selecting the target terminal equipment whose computing resources are successfully matched to run the task to be processed
  • the selection principle is to select the device with the largest ratio of the required computing resources of the task to be processed to the remaining computing resources of the terminal device.
  • step S408 is performed.
  • Step S408 the target terminal device continuously returns the task calculation result to the cloud.
  • the embodiment of the present disclosure provides a reliable basis for the task scheduling of the device-cloud collaboration through the method of task computing power estimation, and effectively improves the performance utilization rate of the terminal device.
  • the computing power level of terminal equipment and the computing power requirements of various tasks are evaluated through statistical methods; Full utilization of terminal computing power.
  • the task scheduling method in the embodiment of the present disclosure may be applied to products such as intelligent video analysis, intelligent monitoring, intelligent city, and intelligent community.
  • the present disclosure also provides task scheduling apparatuses, electronic devices, computer-readable storage media, and programs, all of which can be used to implement any task scheduling method provided by the present disclosure.
  • task scheduling apparatuses electronic devices, computer-readable storage media, and programs, all of which can be used to implement any task scheduling method provided by the present disclosure.
  • FIG. 5 shows a block diagram of a task scheduling apparatus according to an embodiment of the present disclosure.
  • the task scheduling apparatus is applied to a cloud server.
  • the apparatus includes:
  • the first terminal device determining module 101 is configured to, according to the first task type of the task to be processed, determine a first terminal device matching the first task type from a plurality of terminal devices connected to the cloud server, the plurality of terminal devices include the first terminal device;
  • the target terminal device determining module 102 is configured to, according to the first computing resources of the first terminal device for the task to be processed, and the first remaining computing resources of the first terminal device, from the first terminal device Determine the target terminal device;
  • the processing data sending module 103 is configured to send the processing data of the to-be-processed task to the target terminal device, so that the target terminal device executes the to-be-processed task.
  • the cloud server stores the correspondence between the plurality of terminal devices and task types
  • the first terminal device determining module 101 is further configured to be based on the correspondence and For the first task type, a first terminal device matching the first task type is determined from the plurality of terminal devices.
  • the target terminal device determining module 102 includes: a second terminal device determining sub-module configured to determine from the first terminal device that the first remaining computing resource is greater than the first computing resource the second terminal device, the first terminal device includes the second terminal device; the target terminal device determination sub-module is configured to be The second remaining computing resources of the second terminal device and the second computing resources of the task to be processed by the second terminal device determine the target terminal device from the second terminal device.
  • the target terminal device determining sub-module is further configured to: in the case of multiple second terminal devices, determine the second computing resource and the second remaining computing The ratio between resources; the second terminal device corresponding to the maximum value in the ratio is determined as the target terminal device.
  • the apparatus further includes: a first data processing module configured to, in the case that a first terminal device matching the first task type does not exist in the plurality of terminal devices, The to-be-processed task is executed in the cloud server.
  • the apparatus further includes: a second data processing module, configured such that there is no second terminal device with a first remaining computing resource greater than the first computing resource in the first terminal device
  • the to-be-processed task is executed in the cloud server.
  • the apparatus further includes: a receiving module configured to receive a task processing result of the to-be-processed task returned by the target terminal device, where the task processing result includes processing the processing data.
  • the processing result of the processing is a receiving module configured to receive a task processing result of the to-be-processed task returned by the target terminal device, where the task processing result includes processing the processing data. The processing result of the processing.
  • the apparatus further includes: a device information acquisition module, configured to acquire device information uploaded by the terminal device, where the device information includes a device identifier of the terminal device and a The matching task type, the computing resources of the task corresponding to the task type, the total computing resources of the terminal device, and the remaining computing resources of the terminal device.
  • a device information acquisition module configured to acquire device information uploaded by the terminal device, where the device information includes a device identifier of the terminal device and a The matching task type, the computing resources of the task corresponding to the task type, the total computing resources of the terminal device, and the remaining computing resources of the terminal device.
  • the first terminal device capable of executing the to-be-processed task can be determined, and then according to the first terminal device's first computing resources and the first residual for the to-be-processed task Computing resources, which can determine the target terminal equipment whose remaining computing resources meet the computing resources required by the tasks to be processed, so that the tasks to be processed can be reasonably allocated to the terminal equipment, which not only makes the computing resources of the terminal equipment fully utilized, but also can Relieve the computing pressure of cloud servers.
  • FIG. 6 shows a block diagram of a task scheduling apparatus according to an embodiment of the present disclosure.
  • the task scheduling apparatus is applied to a target terminal device.
  • the apparatus includes:
  • the processing module 201 is configured to, in the case of receiving the processing data of the task to be processed sent by the cloud server, process the processing data to obtain the task processing result of the task to be processed;
  • the processing result sending module 202 is configured to send the task processing result to the cloud server; wherein, the target terminal device is the cloud server according to the first task type of the task to be processed, the first terminal device for The first computing resource of the task to be processed and the first remaining computing resource of the first terminal device are determined from the first terminal device, and the first terminal device is related to the first task. match the type.
  • the apparatus further includes: a device information determining module configured to determine device information of the target terminal device; a device information sending module configured to send the device information of the target terminal device to the cloud server, so that the cloud server stores the device information of the target terminal device; wherein, the device information of the target terminal device includes: the device identifier of the target terminal device, the second device matching the target terminal device The task type, the target computing resources of the task corresponding to the second task type, the total computing resources of the target terminal device, and the remaining computing resources of the target terminal device.
  • the apparatus further includes: an operation information module, configured to acquire the operation information of the target terminal equipment in the first state sampled at a preset sampling period, and the operation information in the second state operation information; a computing resource determination module configured to determine the target computing resource according to the operation information in the first state and the operation information in the second state; wherein the first state includes the target terminal A state in which the device is not executing a task, and the second state includes a state in which the target terminal device executes a task corresponding to the second task type.
  • the computing resource determination module includes: a mean value determination sub-module configured to determine a first mean value of the operation information in the first state, and the operation information in the second state The second mean value of the second mean value; the computing resource determination sub-module is configured to determine the maximum value of the difference between the second mean value and the first mean value as the target computing resource.
  • the operation information includes at least one of a CPU usage rate, a hardware acceleration engine usage rate, a memory usage rate, and a memory bandwidth usage rate of the target terminal device
  • the second average value is the same as the
  • the difference between the first average values includes at least one of the following: the difference between the average value of the CPU usage rate in the second state and the average value of the CPU usage rate in the first state; The difference between the average value of the hardware acceleration engine usage rate in the second state and the average value of the hardware acceleration engine usage rate in the first state; the average value of the memory usage rate in the second state, and all The difference between the average values of the memory usage in the first state; the difference between the average memory bandwidth usage in the second state and the average memory bandwidth usage in the first state .
  • the determined target terminal device can be made to execute the task to be processed, so that the computing resources of the terminal device can be fully utilized, and the computing pressure of the cloud server can be relieved.
  • the functions or modules included in the apparatus provided in the embodiments of the present disclosure may be configured to execute the methods described in the above method embodiments, and the specific implementation may refer to the descriptions in the above method embodiments.
  • Embodiments of the present disclosure further provide a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the foregoing method is implemented.
  • the computer-readable storage medium may be a non-volatile computer-readable storage medium.
  • An embodiment of the present disclosure further provides an electronic device, comprising: a processor; a memory configured to store instructions executable by the processor; wherein the processor is configured to invoke the instructions stored in the memory to execute the above method.
  • Embodiments of the present disclosure further provide a computer program product, including computer-readable codes.
  • a processor in the device executes a task scheduling method for implementing the task scheduling method provided in any of the above embodiments. instruction.
  • Embodiments of the present disclosure further provide another computer program product configured to store computer-readable instructions, which, when executed, cause the computer to perform the operations of the task scheduling method provided by any of the foregoing embodiments.
  • the electronic device may be provided as a terminal, server or other form of device.
  • FIG. 7 shows a block diagram of an electronic device 800 according to an embodiment of the present disclosure.
  • electronic device 800 may be a mobile phone, computer, digital broadcast terminal, messaging device, game console, tablet device, medical device, fitness device, personal digital assistant, etc. terminal.
  • an electronic device 800 may include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input/output (I/O) interface 812 , sensor component 814 and communication component 816 .
  • the processing component 802 generally controls the overall operations of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations.
  • the processing component 802 can include one or more processors 820 to execute instructions to perform all or some of the steps of the methods described above.
  • processing component 802 may include one or more modules that facilitate interaction between processing component 802 and other components.
  • processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.
  • Memory 804 is configured to store various types of data to support operation at electronic device 800 . Examples of such data include instructions for any application or method operating on electronic device 800, contact data, phonebook data, messages, pictures, videos, and the like.
  • Memory 804 may be implemented by any type of volatile or non-volatile storage device or combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM) , Static Random-Access Memory), Erasable Programmable Read-Only Memory (EPROM, Electrically Erasable Programmable Read-Only Memory), Programmable Read-Only Memory (PROM, Programmable Read-Only Memory), Read-Only Memory (ROM, Read Only Memory), magnetic memory, flash memory, magnetic disk or optical disk.
  • SRAM Static Random-Access Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • EPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • Read-Only Memory Read-
  • Power supply assembly 806 provides power to various components of electronic device 800 .
  • Power supply components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 800 .
  • Multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user.
  • the screen may include a liquid crystal display (LCD, Liquid Crystal Display) and a touch panel (TP, Touch Panel). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from a user.
  • the touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensor may not only sense the boundaries of a touch or swipe action, but also detect the duration and pressure associated with the touch or swipe action.
  • the multimedia component 808 includes a front-facing camera and/or a rear-facing camera. When the electronic device 800 is in an operation mode, such as a shooting mode or a video mode, the front camera and/or the rear camera may receive external multimedia data. Each of the front and rear cameras can be a fixed optical lens system or have focal length and optical zoom capability.
  • Audio component 810 is configured to output and/or input audio signals.
  • the audio component 810 includes a microphone (MIC, Microphone), which is configured to receive external audio signals when the electronic device 800 is in an operating mode, such as a calling mode, a recording mode, and a voice recognition mode.
  • the received audio signal may be further stored in memory 804 or transmitted via communication component 816 .
  • audio component 810 also includes a speaker configured to output audio signals.
  • the I/O interface 812 provides an interface between the processing component 802 and a peripheral interface module, which may be a keyboard, a click wheel, a button, or the like. These buttons may include, but are not limited to: home button, volume buttons, start button, and lock button.
  • Sensor assembly 814 includes one or more sensors for providing status assessment of various aspects of electronic device 800 .
  • the sensor component 814 can detect the open/closed state of the electronic device 800, the relative positioning of components, such as the display and the keypad of the electronic device 800, and the sensor component 814 can also detect the electronic device 800 or one of the electronic devices 800. Changes in the position of components, presence or absence of user contact with the electronic device 800 , orientation or acceleration/deceleration of the electronic device 800 and changes in the temperature of the electronic device 800 .
  • Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects in the absence of any physical contact.
  • Sensor assembly 814 may also include a light sensor, such as a Complementary Metal-Oxide-Semiconductor (CMOS) or Charge Coupled Device (CCD) image sensor, for use in imaging applications.
  • CMOS Complementary Metal-Oxide-Semiconductor
  • CCD Charge Coupled Device
  • the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
  • Communication component 816 is configured to facilitate wired or wireless communication between electronic device 800 and other devices.
  • the electronic device 800 can access a wireless network based on a communication standard, such as a wireless network (Wi-Fi, Wireless Fidelity), a second-generation mobile communication technology (2G, The 2nd Generation) or a third-generation mobile communication technology (3G, The 3nd Generation) Generation), or their combination.
  • the communication component 816 receives broadcast signals or broadcast related information from an external broadcast management system via a broadcast channel.
  • the communication component 816 further includes a Near Field Communication (NFC, Near Field Communication) module to facilitate short-range communication.
  • NFC Near Field Communication
  • the NFC module can be based on Radio Frequency Identification (RFID, Radio Frequency Identification) technology, Infrared Data Association (IrDA, Infrared Data Association) technology, Ultra Wide Band (UWB, Ultra Wide Band) technology, Bluetooth (BT, Blue Tooth) technology and other technologies to achieve.
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • UWB Ultra Wide Band
  • Bluetooth Bluetooth
  • electronic device 800 may be implemented by one or more Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD) Processing Device), Programmable Logic Device (PLD, Programmable Logic Device), Field Programmable Gate Array (FPGA, Field Programmable Gate Array), controller, microcontroller, microprocessor or other electronic component implementation, configured to perform the above method.
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processor
  • DSPD Digital Signal Processing Device
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • controller microcontroller, microprocessor or other electronic component implementation, configured to perform the above method.
  • a non-volatile computer-readable storage medium such as a memory 804 comprising computer program instructions executable by the processor 820 of the electronic device 800 to perform the above method is also provided.
  • FIG. 8 shows a block diagram of an electronic device 1900 according to an embodiment of the present disclosure.
  • the electronic device 1900 may be provided as a server.
  • electronic device 1900 includes processing component 1922, which may include one or more processors, and a memory resource represented by memory 1932 configured to store instructions executable by processing component 1922, such as an application program.
  • An application program stored in memory 1932 may include one or more modules, each corresponding to a set of instructions.
  • the processing component 1922 is configured to execute instructions to perform the above-described methods.
  • the electronic device 1900 may also include a power supply assembly 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input output (I/O) interface 1958 .
  • the electronic device 1900 can operate based on an operating system stored in the memory 1932, such as a Microsoft server operating system (Windows ServerTM), a graphical user interface based operating system (Mac OS XTM) introduced by Apple, a multi-user multi-process computer operating system (UnixTM). ), a free and open source Unix-like operating system (LinuxTM), an open source Unix-like operating system (FreeBSDTM) or similar systems.
  • a non-volatile computer-readable storage medium such as memory 1932 comprising computer program instructions executable by processing component 1922 of electronic device 1900 to perform the above-described method.
  • Embodiments of the present disclosure may be systems, methods and/or computer program products.
  • the computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of the embodiments of the present disclosure.
  • a computer-readable storage medium may be a tangible device that can hold and store instructions for use by the instruction execution device.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • Computer-readable storage media may include: portable computer disks, hard disks, random access memory (RAM, Random Access Memory), read-only memory, erasable programmable read-only memory (EPROM or flash memory), static random access memory, Portable Compact Disc Read-Only Memory (CD-ROM, Compact Disc Read-Only Memory), Digital Versatile Disc (DVD, Digital Video Disc), memory stick, floppy disk, mechanical coding device, such as a punch card on which instructions are stored Or the protruding structure in the groove, and any suitable combination of the above.
  • RAM Random Access Memory
  • EPROM or flash memory erasable programmable read-only memory
  • static random access memory Portable Compact Disc Read-Only Memory
  • CD-ROM Compact Disc Read-Only Memory
  • DVD Digital Versatile Disc
  • memory stick floppy disk
  • mechanical coding device such as a punch card on which instructions are stored Or the protruding structure in the groove, and any suitable combination of the above.
  • Computer-readable storage media are not to be construed as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (eg, light pulses through fiber optic cables), or through electrical wires transmitted electrical signals.
  • the computer readable program instructions described herein may be downloaded to various computing/processing devices from a computer readable storage medium, or to an external computer or external storage device over a network such as the Internet, a local area network, a wide area network, and/or a wireless network.
  • the network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
  • a network adapter card or network interface in each computing/processing device receives computer-readable program instructions from a network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing/processing device .
  • the computer program instructions for carrying out the operations of the present disclosure may be assembly instructions, Industry Standard Architecture (ISA) instructions, machine instructions, machine-dependent instructions, pseudocode, firmware instructions, state setting data, or in one or more Source or object code written in any combination of programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages.
  • the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server implement.
  • the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or Wide Area Network (WAN), or it may be connected to an external computer (eg, using Internet service provider to connect via the Internet).
  • LAN Local Area Network
  • WAN Wide Area Network
  • electronic circuits such as programmable logic circuits, field programmable gate arrays, or programmable logic arrays, that can execute computer readable program instructions are personalized by utilizing state information of computer readable program instructions , thereby implementing various aspects of the present disclosure.
  • These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer or other programmable data processing apparatus to produce a machine that causes the instructions when executed by the processor of the computer or other programmable data processing apparatus , resulting in means for implementing the functions/acts specified in one or more blocks of the flowchart and/or block diagrams.
  • These computer readable program instructions can also be stored in a computer readable storage medium, these instructions cause a computer, programmable data processing apparatus and/or other equipment to operate in a specific manner, so that the computer readable medium on which the instructions are stored includes An article of manufacture comprising instructions for implementing various aspects of the functions/acts specified in one or more blocks of the flowchart and/or block diagrams.
  • Computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other equipment to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other equipment to produce a computer-implemented process , thereby causing instructions executing on a computer, other programmable data processing apparatus, or other device to implement the functions/acts specified in one or more blocks of the flowcharts and/or block diagrams.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more functions for implementing the specified logical function(s) executable instructions.
  • the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented in dedicated hardware-based systems that perform the specified functions or actions , or can be implemented in a combination of dedicated hardware and computer instructions.
  • the computer program product can be implemented in hardware, software or a combination thereof.
  • the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK) and the like.
  • a first terminal device matching the first task type is determined from multiple terminal devices connected to the cloud server, and the multiple terminal devices include the first terminal device; determine the target terminal device from the first terminal device according to the first computing resource of the first terminal device for the task to be processed and the first remaining computing resource of the first terminal device; issue the processing data of the task to be processed to the target terminal device, so that the target terminal device executes the pending task.
  • the embodiments of the present disclosure can realize the full utilization of the computing resources of the terminal device and relieve the computing pressure of the cloud server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Procédé et appareil de planification de tâches, dispositif électronique, support de stockage et produit-programme. Le procédé consiste : à déterminer, selon un premier type de tâche d'une tâche à traiter, des premiers dispositifs terminaux correspondant au premier type de tâche parmi de multiples dispositifs terminaux connectés à un serveur en nuage (S11) ; selon des premières ressources de calcul des premiers dispositifs terminaux correspondant à la tâche à traiter et des premières ressources de calcul restantes des premiers dispositifs terminaux, à déterminer un dispositif terminal cible parmi les premiers dispositifs terminaux (S12) ; et à distribuer des données de traitement de la tâche à traiter au dispositif terminal cible de façon à permettre au dispositif terminal cible d'exécuter la tâche à traiter (S13).
PCT/CN2021/107171 2021-03-22 2021-07-19 Procédé et appareil de planification de tâches, dispositif électronique, support de stockage et produit-programme WO2022198853A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227020274A KR20220133858A (ko) 2021-03-22 2021-07-19 태스크 스케줄링 방법 및 장치, 전자 기기, 저장 매체 및 프로그램 제품

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110302393.1 2021-03-22
CN202110302393.1A CN112905350A (zh) 2021-03-22 2021-03-22 任务调度方法及装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
WO2022198853A1 true WO2022198853A1 (fr) 2022-09-29

Family

ID=76106373

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/107171 WO2022198853A1 (fr) 2021-03-22 2021-07-19 Procédé et appareil de planification de tâches, dispositif électronique, support de stockage et produit-programme

Country Status (3)

Country Link
KR (1) KR20220133858A (fr)
CN (1) CN112905350A (fr)
WO (1) WO2022198853A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453377A (zh) * 2023-12-21 2024-01-26 腾讯科技(深圳)有限公司 模型调度方法、终端设备以及服务器

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905350A (zh) * 2021-03-22 2021-06-04 北京市商汤科技开发有限公司 任务调度方法及装置、电子设备和存储介质
CN113742059B (zh) * 2021-07-15 2024-03-29 上海朋熙半导体有限公司 任务分配方法、装置、计算机设备和存储介质
CN113691617A (zh) * 2021-08-23 2021-11-23 北京思必拓科技有限责任公司 终端设备群软硬件资源互联共享方法及系统
CN113742068A (zh) * 2021-08-27 2021-12-03 深圳市商汤科技有限公司 任务调度方法、装置、设备、存储介质及计算机程序产品
CN113656166A (zh) * 2021-09-02 2021-11-16 上海联影医疗科技股份有限公司 一种任务处理系统及其计算资源分配方法
CN114003370A (zh) * 2021-09-28 2022-02-01 浙江大华技术股份有限公司 算力调度方法以及相关装置
CN114090247A (zh) * 2021-11-22 2022-02-25 北京百度网讯科技有限公司 用于处理数据的方法、装置、设备以及存储介质
CN114201278B (zh) * 2021-12-07 2023-12-15 北京百度网讯科技有限公司 任务处理方法、任务处理装置、电子设备以及存储介质
CN114860424A (zh) * 2022-04-02 2022-08-05 北京航天晨信科技有限责任公司 基于云端中台架构的业务处理方法、装置、设备及介质
CN117435354B (zh) * 2023-12-20 2024-04-09 腾讯科技(深圳)有限公司 算法模型的运行方法、装置、系统、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933664A (zh) * 2017-03-09 2017-07-07 北京搜狐新媒体信息技术有限公司 一种Hadoop集群的资源调度方法及装置
CN108062243A (zh) * 2016-11-08 2018-05-22 杭州海康威视数字技术股份有限公司 执行计划的生成方法、任务执行方法及装置
US10368283B2 (en) * 2016-04-29 2019-07-30 International Business Machines Corporation Convergence of cloud and mobile environments
CN111427694A (zh) * 2020-03-26 2020-07-17 北京金山云网络技术有限公司 任务执行方法、装置、系统和服务器
CN111796933A (zh) * 2020-06-28 2020-10-20 北京小米松果电子有限公司 资源调度方法、装置、存储介质和电子设备
CN112905350A (zh) * 2021-03-22 2021-06-04 北京市商汤科技开发有限公司 任务调度方法及装置、电子设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049268B (zh) * 2015-08-28 2018-12-28 东方网力科技股份有限公司 分布式计算资源分配系统和任务处理方法
US20180191859A1 (en) * 2016-12-29 2018-07-05 Ranjan Sharma Network resource schedulers and scheduling methods for cloud deployment
CN111045795A (zh) * 2018-10-11 2020-04-21 浙江宇视科技有限公司 资源调度方法及装置
CN109976907B (zh) * 2019-03-11 2021-08-31 百度在线网络技术(北京)有限公司 任务分配方法和系统、电子设备、计算机可读介质
CN115525438A (zh) * 2019-08-23 2022-12-27 第四范式(北京)技术有限公司 在分布式系统中资源及任务的分配方法、装置及系统
CN111124662B (zh) * 2019-11-07 2022-11-08 北京科技大学 一种雾计算负载均衡方法及系统
CN111367677A (zh) * 2020-03-31 2020-07-03 中国工商银行股份有限公司 集群资源分配方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10368283B2 (en) * 2016-04-29 2019-07-30 International Business Machines Corporation Convergence of cloud and mobile environments
CN108062243A (zh) * 2016-11-08 2018-05-22 杭州海康威视数字技术股份有限公司 执行计划的生成方法、任务执行方法及装置
CN106933664A (zh) * 2017-03-09 2017-07-07 北京搜狐新媒体信息技术有限公司 一种Hadoop集群的资源调度方法及装置
CN111427694A (zh) * 2020-03-26 2020-07-17 北京金山云网络技术有限公司 任务执行方法、装置、系统和服务器
CN111796933A (zh) * 2020-06-28 2020-10-20 北京小米松果电子有限公司 资源调度方法、装置、存储介质和电子设备
CN112905350A (zh) * 2021-03-22 2021-06-04 北京市商汤科技开发有限公司 任务调度方法及装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453377A (zh) * 2023-12-21 2024-01-26 腾讯科技(深圳)有限公司 模型调度方法、终端设备以及服务器
CN117453377B (zh) * 2023-12-21 2024-04-26 腾讯科技(深圳)有限公司 模型调度方法、终端设备以及服务器

Also Published As

Publication number Publication date
KR20220133858A (ko) 2022-10-05
CN112905350A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
WO2022198853A1 (fr) Procédé et appareil de planification de tâches, dispositif électronique, support de stockage et produit-programme
WO2021196401A1 (fr) Procédé et appareil de reconstruction d'image, dispositif électronique, et support de stockage
TWI761851B (zh) 圖像處理方法、圖像處理裝置、電子設備和電腦可讀儲存媒體
CN105517112B (zh) 显示WiFi网络信息的方法和装置
WO2021143008A1 (fr) Procédé et appareil d'étiquetage de catégorie, dispositif électronique, support de stockage et programme informatique
US20210385506A1 (en) Method and electronic device for assisting live streaming
WO2021031645A1 (fr) Procédé et appareil de traitement d'image, dispositif électronique et support d'informations
WO2021093375A1 (fr) Procédé, appareil et système pour détecter des personnes marchant ensemble, dispositif électronique et support de stockage
CN109493852A (zh) 一种语音识别的评测方法及装置
TWI785267B (zh) 影像處理方法、電子設備和儲存介質
CN108875993B (zh) 邀请行为预测方法及装置
WO2017118250A1 (fr) Procédé, appareil, et dispositif terminal d'embellissement du visage
JP2020512623A (ja) マルチメディアプロセスとの対話に基づいて関連するユーザを推奨する方法および装置
CN111338971B (zh) 应用测试方法、装置、电子设备及存储介质
CN110020145A (zh) 一种信息推荐方法及装置
TW202145064A (zh) 對象計數方法、電子設備、電腦可讀儲存介質
WO2022252610A1 (fr) Procédé d'émission de commentaire d'écran de type bullet et procédé de réception de commentaire d'écran de type bullet
CN113110931A (zh) 内核运算优化方法、装置及系统
CN112926310A (zh) 一种关键词提取方法及装置
RU2663355C1 (ru) Способ и устройство для установления соединения для услуги
CN110188879B (zh) 运算方法、装置及相关产品
CN112256890A (zh) 信息展示方法、装置、电子设备及存储介质
CN108984294B (zh) 资源调度方法、装置及存储介质
CN114547073B (zh) 时序数据的聚合查询方法、装置及存储介质
CN110866147B (zh) 对直播应用程序进行分类的方法、装置及存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022536991

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 21932467

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21932467

Country of ref document: EP

Kind code of ref document: A1