Computing power scheduling method, system, electronic device and computer readable storage medium

Through the computing power scheduling method and system, the computing power resource selection algorithm is used to determine the target equipment and execute it across platforms, which solves the problem of unusing the remaining computing power of network equipment, and realizes efficient utilization of resources and cross-platform computing power flow.

CN113590282BActive Publication Date: 2024-12-31HAINING ESWIN IC DESIGN CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110812523.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-19
Publication Date
2024-12-31
Estimated Expiration
2041-07-19

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively utilize the remaining computing power of network equipment, resulting in a shortage of computing resources and waste of resources. Due to the wide variety of equipment and different operating systems, computing power cannot be deployed and flowed across platforms.

Method used

Through the computing power scheduling method and system, requests are sent to multiple computing power supply devices, and target devices are determined using computing power resource selection algorithms, and the pending application is compiled into a specific format (such as WASM) to send to the adaptive operating environment, realizing cross-border operation Platform execution.

Benefits of technology

It solves the problem of cross-platform deployment of computing power, improves resource utilization, makes full use of the remaining computing power of network equipment, reduces the shortage and waste of computing resources, and realizes the flow of computing power between different devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113590282B_ABST
    Figure CN113590282B_ABST
Patent Text Reader

Abstract

The present invention discloses a computing power scheduling method, system, electronic device and computer-readable storage medium, the scheduling method comprising: sending computing power requests to multiple computing power providing devices; receiving computing power resource information sent by at least one available computing power providing device among the multiple computing power providing devices; determining a target computing power providing device among at least one available computing power providing device using a computing power resource selection algorithm; sending an application to be processed compiled into a specific format to a target computing power providing device, wherein the target computing power providing device is deployed with an operating environment adapted to the specific format for running the application to be processed; receiving the execution result of the application to be processed fed back by the target computing power providing device. The present invention solves the problem of cross-platform deployment of computing power, enables the remaining computing power of network devices to be fully utilized, and improves resource utilization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a computing power scheduling method, system, electronic device and computer-readable storage medium. Background Art

[0002] At present, with the increase, use and interaction of Internet-based services, devices communicate through the network, and cloud computing has become the main means to alleviate the shortage of computing resources and reduce the cost of computing resources. Cloud computing provides dynamic, scalable and often virtualized resources through the Internet. Users access the data center through computers, laptops, mobile phones, etc. and perform calculations according to their needs.

[0003] The performance of current network equipment has been greatly improved compared with the past. In addition to meeting the functional requirements of the equipment itself, a large part of the performance of its hardware facilities is not utilized. Taking TV equipment in real life scenarios as an example, the current TV chip can reach a computing power of more than 1TOPS (the abbreviation of Tera Operations Per Second, 1TOPS means that the processor can perform one trillion (10^12) operations per second). However, only a small part of the computing power is required to play TV programs, and most of the computing power of the TV chip is idle, resulting in waste. If the remaining computing power of the device can be fully utilized to provide services for computing needs in the network, it will not only alleviate the problem of computing resource shortage, but also bring additional profits to the device owner.

[0004] However, due to the wide variety of network devices, each device manufacturer has its own solutions. The devices run on different operating systems (Windows / Linux / manufacturer-customized systems, etc.) and chip architectures (ARM / X86 / RISC-V, etc.). The code that can be executed on a device with a specific operating system and chip architecture is often not executable on another device with a different operating environment. In other words, the same application cannot run across platforms, and the computing power cannot flow. This brings great difficulties to the distribution and processing of computing tasks, making it impossible to effectively utilize the remaining computing power of the device.

[0005] Therefore, it is necessary to provide an improved technical solution to overcome the above technical problems existing in the prior art. Summary of the invention

[0006] In order to solve the above technical problems, the present invention provides a computing power scheduling method, system, electronic device and computer-readable storage medium, which solves the problem of cross-platform deployment of computing power, enables the remaining computing power of network equipment to be fully utilized, and improves resource utilization.

[0007] According to a first aspect of the present disclosure, a computing power scheduling method is provided, which is applied to a computing power requesting device, including: sending a computing power request to multiple computing power providing devices, the computing power request including computing power demand information of the computing power requesting device; receiving computing power resource information sent by at least one available computing power providing device among the multiple computing power providing devices, the available computing power providing device being a computing power providing device whose remaining computing power resource information among the multiple computing power providing devices meets the computing power demand information; determining a target computing power providing device among the at least one available computing power providing device using a computing power resource selection algorithm; sending an application to be processed compiled into a specific format to the target computing power providing device, wherein the target computing power providing device is deployed with an operating environment adapted to the specific format for running the application to be processed; and receiving the execution result of the application to be processed fed back by the target computing power providing device.

[0008] Optionally, using a computing power resource selection algorithm to determine a target computing power providing device among the at least one available computing power providing device includes: configuring parameters for each available computing power providing device among the at least one available computing power providing device; calculating the computing power resource quality of each available computing power providing device based on the configured parameters; and determining the target computing power providing device based on the computing power resource quality of each available computing power providing device.

[0009] Optionally, the computing power requesting device also receives fee standard information corresponding to each available computing power providing device sent by at least one available computing power providing device among multiple computing power providing devices; and using a computing power resource selection algorithm to determine a target computing power providing device among the at least one available computing power providing device includes: configuring parameters for each available computing power providing device in the at least one available computing power providing device; calculating the computing power resource quality of each available computing power providing device based on the configured parameters; and determining the target computing power providing device based on the computing power resource quality of each available computing power providing device and the fee standard information.

[0010] Optionally, configuring parameters for each available computing power providing device in the at least one available computing power providing device includes: configuring weight parameters for different resource types in the computing power resource information of each available computing power providing device according to the type of the application to be processed, wherein the types of the application to be processed include: CPU consumption type, GPU consumption type, memory consumption type and disk space consumption type; and the resource types in the computing power resource information include: CPU type, GPU type, memory type and disk space type.

[0011] Optionally, in the computing power resource information of each available computing power providing device, the weight corresponding to the resource information of the same type as the application to be processed is greater than the weight corresponding to the resource information of a different type from the application to be processed.

[0012] Optionally, the computing power requesting device also receives hardware information corresponding to each available computing power providing device sent by at least one available computing power providing device among multiple computing power providing devices; and configuring parameters for each available computing power providing device among the at least one available computing power providing device also includes: configuring gain parameters for different resource types in the computing power resource information of each available computing power providing device according to the hardware information.

[0013] Optionally, the computing power request also includes a test data packet, and the computing power requesting device tests and records the network transmission speed between the computing power requesting device and each corresponding available computing power providing device in the multiple computing power providing devices based on the test data packet; and configuring parameters for each available computing power providing device in the at least one available computing power providing device also includes: configuring communication parameters for each available computing power providing device according to the network transmission speed.

[0014] Optionally, each type of computing power resource information includes used computing power resource information and remaining computing power resource information; and calculating the computing power resource quality of each available computing power providing device according to the configured parameters includes: calculating the weighted sum of the numerical values ​​of all or part of the remaining computing power resource information of each type of each available computing power providing device according to the weight parameters, as the computing power resource quality; or calculating the weighted sum of the percentage of all or part of the remaining computing power resource information of each type of each available computing power providing device to the computing power resource information of the corresponding type according to the weight parameters, as the computing power resource quality.

[0015] Optionally, calculating the computing power resource quality of each available computing power providing device according to the configured parameters includes: calculating standardized computing power resource information of each type of each available computing power providing device according to the gain parameters, the standardized computing power resource information including standardized used computing power resource information and standardized remaining computing power resource information; calculating the weighted sum of the values ​​of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device according to the weight parameters, as the computing power resource quality; or calculating the weighted sum of the percentages of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device to the standardized computing power resource information of the corresponding type according to the weight parameters, as the computing power resource quality.

[0016] Optionally, calculating the computing power resource quality of each available computing power providing device according to the configured parameters includes: calculating the initial computing power resource quality of each available computing power providing device according to the weight parameter and the gain parameter; calculating the product of the initial computing power resource quality of each available computing power providing device and the communication parameter as the computing power resource quality, wherein calculating the initial computing power resource quality of each available computing power providing device according to the weight parameter and the gain parameter includes: calculating standardized computing power resource information of each type of each available computing power providing device according to the gain parameter, the standardized computing power resource information including standardized used computing power resource information and standardized remaining computing power resource information; calculating the weighted sum of the values ​​of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device according to the weight parameter as the initial computing power resource quality; or calculating the weighted sum of the percentage of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device to the standardized computing power resource information of the corresponding type according to the weight parameter as the initial computing power resource quality.

[0017] Optionally, the computing power scheduling method also includes: when receiving computing power resource information sent by the at least one available computing power providing device among multiple computing power providing devices, recording the number of the at least one available computing power providing device, and when the recorded number of the at least one available computing power providing device reaches a first threshold, suspending sending the computing power request; or after calculating the computing power resource quality of each available computing power providing device according to the configured parameters, determining whether the calculated computing power resource quality meets a second threshold, and if so, suspending sending the computing power request.

[0018] Optionally, after determining the target computing power providing device, it also includes: sending confirmation information and first verification information to the target computing power providing device; after the confirmation information and the first verification information are passed, receiving second verification information sent by the target computing power providing device; detecting whether the second verification information meets the requirements, if so, sending the application to be processed compiled into the specific format to the target computing power providing device, otherwise, re-determining the target computing power providing device among the remaining available computing power providing devices.

[0019] Optionally, after sending the application to be processed compiled into a specific format to the target computing power providing device, it also includes: determining whether the execution result of the application to be processed is received as feedback from the target computing power providing device within a preset time period; if the execution result of the application to be processed is not received as feedback from the target computing power providing device within the preset time period, then using a computing power resource selection algorithm to re-determine the target computing power providing device from the remaining available computing power providing devices.

[0020] Optionally, after receiving the execution result of the application to be processed fed back by the target computing power providing device, it also includes: sending an application uninstallation instruction to the target computing power providing device.

[0021] Optionally, the specific format is a WASM format, and the operating environment is a WASM operating environment.

[0022] According to a second aspect of the present disclosure, a computing power scheduling method is provided, which is applied to a computing power providing device, including: receiving a computing power request sent by a computing power requesting device, the computing power request including computing power requirement information of the computing power requesting device; judging whether its own remaining computing power resources meet the computing power requirement of the computing power requesting device based on the computing power requirement information, and if so, sending its own computing power resource information to the computing power requesting device; after being determined as a target computing power providing device, receiving a pending application in a specific format sent by the computing power requesting device; running the pending application based on a pre-deployed operating environment adapted to the specific format; and feeding back the execution result of the pending application to the computing power requesting device.

[0023] Optionally, the computing power providing device performs a detection of its own computing power resource information once at a fixed interval, and records the detection results after the detection is completed, wherein the computing power resource information includes: CPU type computing power resource information, GPU type computing power resource information, memory type computing power resource information and disk space type computing power resource information; and each type of computing power resource information includes used computing power resource information and remaining computing power resource information.

[0024] Optionally, when the computing power providing device determines, based on the computing power requirement information, that its own remaining computing power resources meet the computing power requirement of the computing power requesting device, it also includes sending its own hardware information to the computing power requesting device.

[0025] Optionally, when the computing power providing device determines, based on the computing power demand information, that its remaining computing power resources meet the computing power demand of the computing power requesting device, it also includes sending fee standard information to the computing power requesting device.

[0026] Optionally, before receiving the application to be processed in a specific format sent by the computing power requesting device, it also includes: receiving confirmation information and first verification information sent by the computing power requesting device; detecting whether the confirmation information and the first verification information meet the requirements, and if so, sending second verification information to the target computing power requesting device.

[0027] Optionally, running the application to be processed based on a pre-deployed operating environment adapted to the specific format includes: parsing the application to be processed in the pre-deployed operating environment adapted to the specific format, and deploying it in the operating environment; running the application to be processed, recording the application output, and obtaining the current running status of the application to be processed; and after receiving an application uninstall instruction sent by the computing power requesting device, uninstalling the application to be processed based on the application uninstall instruction.

[0028] Optionally, after running the application to be processed, it also includes: recording the running time of the application to be processed and the computing power resources consumed, and calculating points based on the running time and the computing power resources consumed; and feeding back the execution result of the application to be processed to the computing power requesting device, including: the running result of the application to be processed and the points.

[0029] Optionally, the specific format is a WASM format, and the operating environment is a WASM operating environment.

[0030] According to a third aspect of the present disclosure, a computing power scheduling system is provided, comprising: a computing power requesting device and multiple computing power providing devices; the computing power requesting device is used to determine a target computing power providing device from the multiple computing power providing devices according to the computing power requirements of its own application to be processed and a computing power resource selection algorithm, and after determining the target computing power providing device, the application to be processed compiled into a specific format is sent to the target computing power providing device; each of the multiple computing power providing devices is pre-deployed with an operating environment adapted to the specific format, and each computing power providing device is used to execute the received application to be processed in the specific format based on the pre-deployed operating environment adapted to the specific format after being determined as the target computing power providing device, and to feed back the execution result of the application to be processed to the computing power requesting device.

[0031] Optionally, the computing power requesting device includes: a first communication module, used to realize data communication with the multiple computing power providing devices, including sending computing power requests to the multiple computing power providing devices, and receiving and recording the self-information returned by each available computing power providing device in at least one available computing power providing device among the multiple computing power providing devices and the execution result of the application to be processed, the first communication module is also used to obtain the network transmission speed between the computing power requesting device and each available computing power providing device, and the available computing power providing device is a computing power providing device whose remaining computing power resources among the multiple computing power providing devices meet the computing power requirements; a device selection module, used to comprehensively evaluate the computing power resource quality of each computing power providing device according to the computing power requirements of the application to be processed, the computing power resource selection algorithm, and the self-information returned by each available computing power providing device in the at least one available computing power providing device and the network transmission speed, and determine the target computing power providing device from the at least one available computing power providing device according to the evaluation result.

[0032] Optionally, the device selection module includes: a parameter configuration unit, used to configure parameters for each available computing power providing device in the at least one available computing power providing device; a computing power resource quality calculation unit, used to calculate the computing power resource quality of each computing power providing device based on the parameters, the own information of each available computing power providing device in the at least one available computing power providing device and the network transmission speed; a selection unit, used to determine the target computing power providing device based on the calculation result of the computing power resource quality calculation unit.

[0033] Optionally, the device selection module further includes: a cost calculation unit, configured to determine the target computing power providing device based on the cost standard information of each available computing power providing device and the computing power resource quality.

[0034] Optionally, the computing power requesting device further includes: a first detection module, configured to detect the legitimacy of the target computing power providing device based on second verification information sent by the determined target computing power providing device.

[0035] Optionally, each computing power providing device includes: a computing power resource self-check module, which is used to perform its own computing power resource information detection once at a fixed interval, and record the detection results after the detection is completed; a second communication module, which is used to realize data communication with the computing power requesting device, including sending its own information and the execution result of the application to be processed that are most recently recorded by the computing power resource self-check module to the computing power requesting device when its own remaining computing power resources meet the computing power requirements, and receiving the computing power request sent by the computing power requesting device; an execution module, which is used to parse and execute the received application to be processed in the specific format based on a pre-deployed operating environment adapted to the specific format, and record the execution result of the application to be processed.

[0036] Optionally, the computing power resource self-check module includes: a computing power resource detection unit, which is used to detect its own computing power resource information at fixed intervals, including used computing power resource information and remaining computing power resource information; a hardware information extraction unit, which is used to scan its own hardware information at fixed intervals to obtain corresponding performance parameters.

[0037] Optionally, the execution module includes: an application installation unit, used to parse the application to be processed in a pre-deployed operating environment adapted to the specific format, and deploy it in the operating environment; an application running status recording unit, used to run the application to be processed in a pre-deployed operating environment adapted to the specific format, record the application output, and obtain the current running status of the application to be processed; an application uninstallation unit, used to uninstall the application to be processed based on the application uninstallation instruction after receiving the application uninstallation instruction sent by the computing power requesting device.

[0038] Optionally, the execution module further includes: an application migration unit, configured to migrate the application to be processed to other available computing power providing devices according to the current running state of the application to be processed acquired by the application running state recording unit.

[0039] Optionally, each computing power providing device further includes: a second detection unit, configured to detect the legitimacy of the computing power requesting device based on first verification information sent by the computing power requesting device.

[0040] Optionally, each computing power providing device also includes: an integration module, which is used to record the running time and the computing power resources consumed of the application to be processed, and calculate the points based on the running time and the consumed computing power resources, wherein the execution result includes: the points and the application output recorded by the application running status recording unit.

[0041] Optionally, the specific format is a WASM format, and the operating environment is a WASM operating environment.

[0042] According to a fourth aspect of the present disclosure, an electronic device is provided, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the computing power scheduling method applied to a computing power requesting device as described above are implemented.

[0043] According to a fifth aspect of the present disclosure, an electronic device is provided, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the computing power scheduling method applied to a computing power providing device as described above are implemented.

[0044] According to a sixth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program or instructions are stored. When the computer program or instructions are executed by a processor, the steps of the computing power scheduling method applied to a computing power requesting device as described above are implemented.

[0045] According to the seventh aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program or instructions are stored. When the computer program or instructions are executed by a processor, the steps of the computing power scheduling method applied to the computing power providing device as described above are implemented.

[0046] The technical solution of the present application enables the same application to run across platforms between devices with different operating systems and chip architectures, solving the problem of cross-platform deployment of computing power, allowing the remaining computing power of network devices to be fully utilized, and improving resource utilization.

[0047] It should be noted that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 A schematic diagram showing multi-party interaction of a computing power scheduling method provided according to an embodiment of the present disclosure is shown;

[0049] Figure 2 A schematic diagram showing a flow chart of a method for determining a target computing power providing device according to a first embodiment of the present disclosure is shown;

[0050] Figure 3 A schematic diagram showing a flow chart of a method for determining a target computing power providing device according to a second embodiment of the present disclosure is shown;

[0051] Figure 4 A schematic diagram showing the structure of a computing power scheduling system provided according to an embodiment of the present disclosure is shown;

[0052] Figure 5 A schematic diagram showing the structure of a device selection module provided according to an embodiment of the present disclosure is shown;

[0053] Figure 6 A schematic diagram showing the structure of a computing resource self-check module provided according to an embodiment of the present disclosure is shown;

[0054] Figure 7 A schematic diagram showing the structure of an execution module provided according to an embodiment of the present disclosure is shown;

[0055] Figure 8 A schematic structural diagram of an electronic device provided according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0056] In order to facilitate the understanding of the present invention, the present invention will be described more fully below with reference to the relevant drawings. The preferred embodiments of the present invention are shown in the drawings. However, the present invention can be implemented in different forms and is not limited to the embodiments described herein. On the contrary, the purpose of providing these embodiments is to make the understanding of the disclosure of the present invention more thorough and comprehensive.

[0057] Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

[0058] refer to Figure 1 , an embodiment of the present invention provides a computing power scheduling method, which can be applied to a computing power requesting device 100, and can also be applied to a computing power providing device 200, so as to realize cross-platform scheduling of computing power. Among them, the computing power requesting device 100 can be a camera, an attendance machine, a monitoring instrument, a tablet device, a desktop computer, a laptop computer, a mobile phone, a television, or other terminal devices that require certain computing power resources to perform certain tasks to be processed and can complete information interaction. And, the computing power providing device 200 can be a camera, an attendance machine, a monitoring instrument, a tablet device, a desktop computer, a laptop computer, a mobile phone, a television, or other terminal devices that have certain computing power resources and can complete information interaction.

[0059] When the computing power scheduling method is applied to the computing power requesting device 100, it includes executing steps S10 to S16.

[0060] In step S10, a computing power request is sent to multiple computing power providing devices.

[0061] When the computing power requesting device 100 needs certain computing power resources to execute certain pending tasks, it can send computing power requests to multiple computing power providing devices 200 according to its own computing power requirements to search for at least one available computing power providing device within a certain range.

[0062] The computing power request sent by the computing power request device 100 at least includes computing power requirement information required by the application to be processed in the computing power request device 100 during operation. In addition, in this embodiment, the available computing power providing device (at least one) is defined as a computing power providing device whose remaining computing power resource information among the multiple computing power providing devices 200 meets the computing power requirement information in the computing power request.

[0063] In the present disclosure, the types of computing power resources include CPU resources, GPU resources, memory resources, and disk space resources. And the pending applications in the computing power request device 100 may correspond to CPU consumption type, GPU consumption type, memory consumption type, and disk space consumption type according to resource consumption type. Furthermore, the computing power demand information in the computing power request at least includes the demand information of the pending application for various types of computing power resources. And only when the remaining amount of each type of computing power resource of a computing power providing device corresponds to satisfying the demand of the pending application for each type of computing power resource, the computing power providing device can be determined as an available computing power providing device.

[0064] In this embodiment, the search range of the computing power requesting device 100 for at least one available computing power providing device, that is, the range in which the computing power requesting device 100 sends the computing power request to the computing power providing device 200 can be a fixed range, for example, a family, a shopping mall, a terminal device registered for computing power providing services in a local area network, or all terminal devices whose ownership or use rights belong to the user of the computing power requesting device 100. It can also be a non-fixed range search, for example, computing power requests can be randomly sent to some terminal devices among the terminal devices registered for computing power providing services in the entire Internet, or the address of the computing power requesting device 100 can be used as the center to increase the search range layer by layer. The specific division should be based on actual usage needs, and the present invention does not limit this.

[0065] In step S11, computing power resource information sent by at least one available computing power providing device among multiple computing power providing devices is received.

[0066] Each computing power providing device among the multiple computing power providing devices will periodically perform self-inspection and record its own computing power resource information (including used computing power resource information and remaining computing power resource information). When the computing power providing device 200 receives the computing power request sent by the computing power requesting device 100, it will determine whether it meets the requirements of providing computing power to the computing power requesting device 100 based on the computing power demand information contained in the computing power request and the latest recorded remaining computing power resource information of itself, that is, determine whether it can be used as an available computing power providing device for the computing power requesting device 100. When the computing power providing device 200 determines that it can be used as an available computing power providing device, it will send its latest recorded computing power resource information to the computing power requesting device 100. Furthermore, the computing power requesting device 100 uses the computing power resource information sent by at least one available computing power providing device among the multiple computing power providing devices received as one of the bases for determining the target computing power providing device.

[0067] In this embodiment, the comparison process of the remaining computing power resource information of the computing power providing device 200 and the computing power demand information of the computing power requesting device 100 is set to be performed in the corresponding computing power providing device 200, that is, the screening of available computing power providing devices is realized in the computing power providing device 200. In this way, the comparison process of multiple data can be evenly distributed to multiple terminal devices, thereby greatly reducing the amount of data received by the computing power requesting device 100 and the amount of data to be processed when the target computing power providing device is subsequently determined, effectively saving the limited computing power resources of the computing power requesting device 100, while reducing the computing cost and data communication cost, and also greatly improving the data processing efficiency.

[0068] Furthermore, the computing power requesting device 100 can establish a connection with the computing power providing device 200 through a variety of protocols (such as TCP / IP protocol, BLE protocol, Thread protocol, etc.), send computing power requests and request the remaining computing power resource information of the computing power providing device. The providing device 200 can select the appropriate protocol to start the service according to its own hardware support, providing a data communication basis for the cross-platform flow of computing power. After the computing power requesting device 100 establishes a connection with the target computing power providing device, the computing power requesting device 100 can use the computing power service provided by the target computing power providing device. At the same time, it should be understood that this technology enables the computing power requesting device 100 to easily connect peripheral devices, which is suitable for the connection between IOT devices and computing power requesting devices in, for example, home scenarios, thereby utilizing the idle resource computing power of home devices.

[0069] In step S12, a computing power resource selection algorithm is used to determine a target computing power providing device from at least one available computing power providing device.

[0070] The computing power requesting device 100 can select an optimal device as the final target computing power providing device by adopting the computing power resource selection algorithm. Specifically, when the cost required to use the target computing power providing device is not considered, refer to Figure 2 The process shown in the figure determines the target computing power providing device. Figure 2 As shown, step S12 further includes executing step S121, step S122 and step S123.

[0071] Specifically, in step S121, device configuration parameters are provided for each available computing power providing device in at least one available computing power providing device.

[0072] In step S122, the computing power resource quality of each available computing power providing device is calculated according to the configured parameters.

[0073] In one embodiment of the present invention, after the computing power request device 100 receives computing power resource information sent by at least one available computing power providing device, it will configure weight parameters for different resource types in the computing power resource information of each available computing power providing device according to the type of its own application to be processed. Furthermore, the weight corresponding to the resource information of the same type as the application to be processed in the computing power resource information of each available computing power providing device is greater than the weight corresponding to the resource information of a different type from the application to be processed. For example, for a memory-consuming application to be processed, when configuring parameters such as CPU resources, GPU resources, memory resources, and disk space resources in the computing power resource information of each available computing power providing device, the weight configured for the corresponding memory resource will be greater than the weight configured for other CPU resources, GPU resources, and disk space resources. In this way, the program running requirements of the application to be processed can be met with a larger capacity.

[0074] Furthermore, calculating the computing power resource quality of each available computing power providing device according to the configured parameters includes: calculating the weighted sum of the numerical values ​​of all or part of the remaining computing power resource information of each type of each available computing power providing device according to the weight parameters, as the computing power resource quality; or calculating the weighted sum of the percentage of all or part of the remaining computing power resource information of each type of each available computing power providing device to the computing power resource information of the corresponding type according to the weight parameters, as the computing power resource quality.

[0075] For example, for a memory-consuming application to be processed that needs to consume 300M of memory, if there are currently three computing power providing devices, the remaining computing power resource information of the first device is 0.5TOPS of CPU remaining computing power and 600M of memory remaining computing power; the remaining computing power resource information of the second device is 1TOPS of CPU remaining computing power and 400M of memory remaining computing power; the remaining computing power resource information of the third device is 1.5TOPS of CPU remaining computing power and 200M of memory remaining computing power. Then the third device will be judged as not meeting the application running requirements. The first and second devices both meet the program running requirements. Considering that the device may have sudden computing power requirements, it is more inclined to choose the first device with more remaining memory. When using the computing power resource selection algorithm to calculate the computing power resource quality of the first and second computing power providing devices (assuming that the remaining types of the remaining computing power resource information of the three computing power providing devices are the same), at this time, the weight of the memory resources in the configurable computing power resource information is 0.85, and the weights of the GPU resources, CPU resources and disk space resources are all 0.05, and when calculating the computing power resource quality, the values ​​of the remaining computing power resource information of each type can be proportionally adjusted to have the same or similar bit values. For example, the aforementioned 600 and 400 can be adjusted to 0.6 and 0.4 before calculation to improve the rationality and reliability of the calculation results.

[0076] In another embodiment of the present invention, the computing power requesting device 100 also receives hardware information corresponding to each available computing power providing device sent by at least one available computing power providing device among multiple computing power providing devices. At this time, in step S121, the parameters configured for each available computing power providing device in at least one available computing power providing device also include: configuring gain parameters for different resource types in the computing power resource information of each available computing power providing device according to the hardware information. In this way, the impact of the hardware performance of the computing power providing device on the selection of computing power resources can be considered to avoid the impact of huge performance differences between different models such as CPU, GPU, hard disk, and memory on the calculation results. Taking memory as an example, the current memory includes DDR1, DDR2, DDR3, DDR4, and DDR5, and the latter often has a performance improvement of more than 50% over the former. Then for the remaining memory of the same size, the memory type that tends to be ranked behind when selecting the computing power providing device.

[0077] Further, in this embodiment, calculating the computing power resource quality of each available computing power providing device according to the configured parameters includes: calculating each type of standardized computing power resource information of each available computing power providing device according to the gain parameter (the standardized computing power resource information includes standardized used computing power resource information and standardized remaining computing power resource information); calculating the weighted sum of the values ​​of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device according to the weight parameter, as the computing power resource quality; or calculating the weighted sum of the percentage of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device to the standardized computing power resource information of the corresponding type according to the weight parameter, as the computing power resource quality.

[0078] In another embodiment of the present invention, the computing power request sent by the computing power request device 100 also includes a test data packet, and the computing power request device 100 tests and records the network transmission speed, that is, the network transmission delay, between the computing power request device 100 and each corresponding available computing power providing device in the multiple computing power providing devices based on the test data packet. At this time, in step S121, the parameters configured for each available computing power providing device in at least one available computing power providing device also include: configuring communication parameters for each available computing power providing device according to the recorded network transmission speed as one of the criteria for judging the quality of computing power resources. For example, when the hardware performance and the remaining computing power of the available computing power providing devices to be selected are similar, select a device with a smaller network transmission delay. In this way, the data transmission time during computing power scheduling can be reduced, thereby improving the efficiency of computing power scheduling.

[0079] Further, in this embodiment, calculating the computing power resource quality of each available computing power providing device according to the configured parameters includes: calculating the initial computing power resource quality of each available computing power providing device according to the weight parameter and the gain parameter; calculating the product of the initial computing power resource quality of each available computing power providing device and the communication parameter as the computing power resource quality. Among them, calculating the initial computing power resource quality of each available computing power providing device according to the weight parameter and the gain parameter includes: calculating the standardized computing power resource information of each type of each available computing power providing device according to the gain parameter; calculating the weighted sum of the values ​​of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device according to the weight parameter as the initial computing power resource quality; or calculating the weighted sum of the percentage of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device to the standardized computing power resource information of the corresponding type according to the weight parameter as the initial computing power resource quality.

[0080] When calculating the quality of computing power resources, the weighted sum of all remaining computing power resource information of each type of each available computing power providing device can be calculated to make full use of the remaining computing power of the device and avoid wasting computing power resources; a part of the computing power resources can also be reserved and not included in the calculation of computing power resources, that is, only the weighted sum of the remaining computing power resource information of each type of each available computing power providing device is calculated to ensure that the device can retain a part of the remaining computing power for sudden computing power requirements and avoid abnormal operation of the device. In addition, the computing power resource information sent by at least one available computing power providing device received by the computing power request device 100 can be described in the form of numerical values ​​and / or percentages. Therefore, when calculating the quality of computing power resources of each available computing power providing device, the data basis method required for calculating the quality of computing power resources should be reasonably selected according to the actual situation. For example, a device has 4G memory, 2G memory has been used, 2G memory is left, and the remaining memory percentage is 50%, while another device has 1G memory, 256M memory has been used, 768M memory is left, and the remaining memory percentage is 75%. In this case, it is believed that the former has better computing power resources, so using numerical representation to record computing power resource information is more in line with actual scenarios.

[0081] In step S123, the target computing power providing device is determined according to the computing power resource quality of each available computing power providing device. Exemplarily, the computing power resource quality of each available computing power providing device obtained by calculation can be compared, and the computing power providing device with the largest computing power resource quality is selected as the target computing power providing device.

[0082] It can be understood that after calculating the computing power resource quality of each available computing power providing device, the embodiment of the present invention can also adopt other methods to determine the target computing power providing device according to the computing power resource quality of each available computing power providing device (that is, it is not necessary to select the computing power providing device with the highest computing power resource quality), as long as the method can comprehensively consider the computing power resource information, hardware information, network transmission speed, price cost and other factors of at least one available computing power providing device.

[0083] For example, after determining the computing power providing device with the highest computing power resource quality, the embodiment of the present invention further includes determining whether the difference between the remaining amount of the resource type of the same type as the application to be processed in the remaining computing power resource information of the computing power providing device and the required amount of the application to be processed is greater than a preset threshold value. When the difference is not greater than the preset threshold value, the computing power providing device can be proposed, and the computing power providing device with the highest computing power resource quality can be reselected from the remaining available computing power providing devices to repeat the operation until a computing power providing device that meets the difference requirement is selected and used as the target computing power providing device. In this way, it can be avoided that the remaining amount of the resource type of the same type as the application to be processed in the remaining computing power resource information is too small, but the remaining amount of the resource type of the different type from the application to be processed in the remaining computing power resource information is too large, resulting in the problem that the computing power resource quality of the computing power providing device obtained by calculation is the highest, but there is no problem of sudden computing power demand response capability, thereby enabling the computing power resource selection algorithm to determine the optimal and most suitable target computing power providing device to provide computing power services for the current computing power requesting device, which helps to improve the reliability of the computing power scheduling results.

[0084] When considering the cost of using the target computing power to provide equipment, refer to Figure 3 The process shown in the figure determines the target computing power providing device. Figure 3 As shown, step S12 further includes executing step S121, step S122 and step S124. The specific contents of step S121 and step S122 can refer to the above Figure 2 The description of step S121 and step S122 in will not be repeated here.

[0085] In step S124, the target computing power providing device is determined according to the computing power resource quality and cost standard information of each available computing power providing device. In this way, the usage price of the computing power providing device is used as one of the criteria for determining the target computing power providing device.

[0086] Furthermore, the computing power requesting device 100 also receives fee standard information corresponding to each available computing power providing device sent by at least one available computing power providing device among the multiple computing power providing devices. For example, the fee standard information may be the price cost per point (for details about points, refer to the following description) when using the computing power providing device.

[0087] Exemplarily, identification information indicating the device owner can be set in the request information sent by the computing power requesting device 100. After receiving the request information, the computing power providing device 200 judges the identification information. When it is determined that the computing power requesting device 100 and the computing power providing device 200 are owned by the same owner, the fee standard information of 0 can be returned. When it is determined that the computing power requesting device 100 and the computing power providing device 200 are not owned by the same owner, the pre-set fee standard information can be returned. This method can return different fee standard information according to the owner of the computing power requesting device 100 and the owner of the computing power providing device 200, and can be applied in any search method of at least one available computing power providing device of the computing power requesting device 100.

[0088] Exemplarily, when determining the target computing power providing device based on the computing power resource quality and cost standard information of each available computing power providing device, the target computing power providing device can be determined based on the computing power resource quality of each available computing power providing device among at least one available computing power providing device with low cost standard information; the cost standard information can also be divided into ranges, and a gain coefficient can be set according to the range of the cost standard information of each available computing power providing device, and the product of the computing power resource quality of each available computing power providing device and the gain coefficient can be calculated, and the target computing power providing device can be determined based on the size of the product.

[0089] Determining the target computing power providing device through the computing power resource selection algorithm can reflect the real-time quality of the remaining computing power resources of at least one available computing power providing device, and help determine whether at least one available computing power providing device meets the running conditions of the program.

[0090] In step S15, the application to be processed compiled into a specific format is sent to the target computing power providing device.

[0091] In an embodiment of the present invention, the specific format is, for example, WASM (World Wide Web Assembly Language) format. WASM (abbreviation for WebAssembly) is a portable, small, fast-loading, Web-compatible binary bytecode format that runs in a sandboxed execution environment. At the same time, before providing computing power services, each computing power providing device 200 will pre-deploy an operating environment adapted to the specific format in its device as the execution environment of the application to be processed in the specific format. It can be understood that in an embodiment of the present invention, when the specific format is the WASM format, the operating environment adapted to the specific format is the WASM operating environment (wasm Runtime). Therefore, after determining the target computing power providing device, by compiling the application to be processed into the WASM format and transmitting it to the target computing power providing device for execution, the application to be processed itself does not need to consider the impact of different operating systems (windows / linux / factory customized systems, etc.) and chip architectures (ARM / X86 / RISC-V, etc.) on the operation of the program, and only needs to ensure that the wasm Runtime in the target computing power providing device can run under the system and architecture of the current device.

[0092] The operating environment pre-deployed in each computing power providing device 200 and adapted to a specific format can be directly deployed when leaving the factory, or can be deployed by downloading after the computing power providing device is registered as a computing power service providing device. Through the operating environment pre-deployed in the computing power providing device and adapted to the specific format, the cross-platform execution of the to-be-processed application in a specific format can be achieved by ignoring the differences in software and hardware of different devices, thereby realizing the cross-platform flow of computing power.

[0093] Furthermore, between step S12 and step S15, step S13 and step S14 are also performed. Specifically, in step S13, confirmation information and first verification information are sent to the target computing power providing device.

[0094] In step S14, after the confirmation information and the first verification information are passed, the second verification information sent by the target computing power providing device is received, and it is detected whether the second verification information meets the requirements.

[0095] When the computing power requesting device 100 detects that the second verification information sent by the target computing power providing device meets the requirements, step S15 is executed to send the to-be-processed application compiled into a specific format to the target computing power providing device. Otherwise, the target computing power providing device is re-determined from the remaining available computing power providing devices and a prompt message is sent. At this time, if the target computing power providing device has been connected to the public network, the target computing power providing device is moved from the available device list to the device blacklist.

[0096] The computing power requesting device 100 establishes a connection with the target computing power providing device by sending confirmation information, and implements mutual legitimacy verification with the target computing power providing device by sending first verification information and receiving and detecting second verification information, thereby avoiding access of illegal devices and ensuring system security.

[0097] In step S16, the execution result of the application to be processed fed back by the target computing power providing device is received.

[0098] In this embodiment, after step S15, in addition to executing step S16 to receive the execution result of the pending application fed back by the target computing power providing device, it also includes: judging whether the execution result of the pending application fed back by the target computing power providing device is received within the preset time length, and if the execution result of the pending application fed back by the target computing power providing device is not received within the preset time length, then re-determining the target computing power providing device from the remaining available computing power providing devices using the computing power resource selection algorithm. In this way, it is possible to make a judgment on the possible power outage, crash and other emergencies of the target computing power providing device during the operation of the pending application to be processed, which helps to ensure the smooth progress of the computing power scheduling process.

[0099] Furthermore, after step S16, the method further includes: sending an application uninstallation instruction to the target computing power providing device. For example, taking a video playback APP as an example, if the computing power requesting device 100 has already run the APP on a shared device, when it is no longer necessary to watch the video, it can send an uninstallation instruction to notify the target computing power providing device to uninstall the running program and release the computing power resources of the device.

[0100] Furthermore, in a possible embodiment of the present invention, when the computing power requesting device 100 receives computing power resource information sent by at least one available computing power providing device among multiple computing power providing devices, it is also configured to record the number of at least one available computing power providing device, and when the recorded number of at least one available computing power providing device reaches a first threshold, suspend the search for available computing power providing devices, that is, suspend sending computing power requests, suspend receiving computing power resource information, or continue to receive computing power resource information but suspend processing.

[0101] In another possible embodiment of the present invention, after calculating the computing power resource quality of each available computing power providing device according to the configured parameters, the computing power request device 100 is also configured to determine whether the computing power resource quality obtained by the calculation meets the second threshold value. If so, the search for the available computing power providing device is suspended, that is, the sending of computing power requests is suspended, the receiving of computing power resource information is suspended, or the computing power resource information is still received but the processing is suspended. In this way, when the computing power request device 100 searches for devices in an uncertain range, the search process and range of the computing power request device 100 can be quantified to avoid wasting the resources of the computing power request device 100 due to useless searches, which helps to reduce the computing power scheduling time, improve the computing power scheduling efficiency and the accuracy of the computing power scheduling results.

[0102] It should be noted that in the present disclosure, the data transmission between the computing power requesting device 100 and the computing power providing device 200 (including but not limited to the transmission of computing power request, computing power resource information, verification information, execution results and other data) can be in json format or url format. Among them, for the purpose of subsequent expansion, the json format is preferred for data transmission.

[0103] Continue to refer Figure 1 When the computing power scheduling method is applied to the computing power providing device 200, it includes executing steps S20 to S26.

[0104] In step S20, a computing power request sent by a computing power requesting device is received. The computing power request includes computing power requirement information of the computing power requesting device;

[0105] When the computing power requesting device 100 needs certain computing power resources to perform certain pending tasks, it can send computing power requests to multiple computing power providing devices 200 according to its own computing power requirements to search for available computing power providing devices within a certain range. Furthermore, each computing power providing device 200 will start a monitoring service to receive the computing power request sent by the computing power requesting device 100 in real time. And, the computing power request sent by the computing power requesting device 100 at least includes the computing power requirement information required by the pending application in the computing power requesting device 100 when running.

[0106] In step S21, based on the computing power demand information, it is determined whether its own remaining computing power resources meet the computing power demand of the computing power requesting device. If so, its own computing power resource information is sent to the computing power requesting device.

[0107] In this embodiment, each computing power providing device 200 will periodically perform self-inspection, that is, it will perform its own computing power resource information detection once at a fixed interval, including its current remaining computing power resource information and used computing power resource information, and record the detection results after the detection is completed.

[0108] It should be understood that since the self-check program also occupies system resources, the computing power self-check cycle of each computing power providing device 200 should be reasonably set. If the detection is too frequent, it will cause performance consumption to the system, and if the detection frequency is too low, it will cause the remaining computing power resource information to be inconsistent with the current actual computing power consumption. Exemplarily, the computing power self-check cycle of each computing power providing device 200 can be set to perform a test every 10 minutes. Of course, this value is only exemplary, and it can also be set to other reasonable values ​​according to the specific situation.

[0109] Furthermore, in addition to periodically self-checking its current computing power resource information, the computing power providing device 200 also scans and collects its own hardware information as a basis for judging the quality of computing power resources. It can be understood that the scanning period of the computing power providing device 200 for its own hardware information can be set longer than the self-checking period of the computing power resource information.

[0110] In the present disclosure, when a computing power providing device 200 determines that its remaining computing power resources can meet the computing power demand of the computing power requesting device 100 based on the computing power request sent by the computing power requesting device 100, the computing power providing device 200 can serve as an available computing power providing device, and can further send its latest recorded computing power resource information to the computing power requesting device 100 as one of the bases for judging the quality of its own computing power resources.

[0111] Furthermore, when a computing power providing device 200 is an available computing power providing device, it can further send its latest recorded hardware information to the computing power requesting device 100 as another basis for judging the quality of its own computing power resources.

[0112] Furthermore, when a computing power providing device 200 is an available computing power providing device, it can further send its own fee standard information to the computing power requesting device 100 as another basis for judging the quality of its own computing power resources.

[0113] In step S24, after being determined as the target computing power providing device, an application to be processed in a specific format sent by the computing power requesting device is received.

[0114] When a computing power providing device 200 is determined as a target computing power providing device, the method further includes executing step S22 and step S23. Specifically, in step S22, confirmation information and first verification information sent by the computing power requesting device are received.

[0115] At this time, step S22 can also be understood as that when a computing power providing device 200 receives the confirmation information and the first verification information sent by the computing power requesting device 100, it indicates that the computing power providing device 200 is determined by the computing power requesting device 100 as the target computing power providing device.

[0116] In step S23, it is detected whether the confirmation information and the first verification information meet the requirements. If so, the second verification information sent to the target computing power request device is sent.

[0117] When the computing power providing device 200 detects that the first verification information sent by the computing power requesting device 100 meets the requirements, it indicates that the computing power requesting device 100 is a legal access device. At this time, the computing power providing device 200 can establish a connection with the computing power requesting device 100 based on the confirmation information, and send the second verification information to the computing power requesting device 100 to request the computing power requesting device 100 to verify its own legitimacy. When the computing power requesting device 100 passes the legitimacy verification of the computing power providing device 200, the computing power providing device 200 can execute step S24 to receive the application to be processed compiled into a specific format.

[0118] The computing power providing device 200 establishes a connection with the computing power requesting device 100 by receiving confirmation information, and realizes mutual legitimacy verification with the target computing power providing device by receiving and detecting the first verification information and sending the second verification information, thereby avoiding illegal device access and ensuring system security.

[0119] In step S25, the application to be processed is run based on the pre-deployed running environment adapted to the specific format.

[0120] In step S26, the execution result of the application to be processed is fed back to the computing power requesting device.

[0121] Step S25 further includes: parsing the application to be processed in a pre-deployed operating environment adapted to the specific format, and deploying it in the operating environment adapted to the specific format; running the application to be processed, recording the application output, and obtaining the current running status of the application to be processed; and after receiving the application uninstall instruction sent by the computing power requesting device, uninstalling the application to be processed based on the application uninstall instruction.

[0122] The operating environment pre-deployed in each computing power providing device 200 and adapted to a specific format can be directly deployed when leaving the factory, or can be deployed by downloading after the computing power providing device is registered as a computing power service providing device. Through the operating environment pre-deployed in the computing power providing device and adapted to the specific format, the cross-platform execution of the to-be-processed application in a specific format can be realized regardless of the software and hardware differences of different devices, thereby realizing the cross-platform flow of computing power.

[0123] In the embodiment of the present invention, the specific format is, for example, the WASM format. It can be understood that in the embodiment of the present invention, when the specific format is the WASM format, the operating environment adapted to the specific format is the WASM operating environment.

[0124] During the operation of the application to be processed, recording the output and current operation status of the application helps to feed back the execution result of the application to be processed to the computing power requesting device 100. At the same time, when the application to be processed needs to be migrated from the current computing power providing device to another computing power providing device, the application to be processed can continue to execute unfinished tasks on the other computing power providing device without re-executing completed tasks, which helps to save computing power resources and reduce expenses.

[0125] Unloading pending applications based on application uninstall instructions can release computing resources and thus improve the utilization rate of computing resources.

[0126] Furthermore, after running the application to be processed, it also includes: recording the running time of the application to be processed and the computing resources consumed, and calculating the points based on the running time and the computing resources consumed. And the execution result of the application to be processed fed back to the computing power request device 100 includes: the running result and points of the application to be processed. It can be understood that the points can be used as the selection weight and remuneration of the target computing power providing device (for example, the remuneration can be set = points * fee standard), which is conducive to the leasing of idle computing power of the device.

[0127] The embodiment of the present invention also discloses a computing power scheduling system, which is used to implement the aforementioned computing power scheduling method. Figure 4 , the computing power scheduling system disclosed in the embodiment of the present invention includes: a computing power requesting device 100 and a plurality of computing power providing devices 200. Based on the simplicity of the accompanying drawings, Figure 4 Only one computing power providing device 200 is shown, but it can be understood that the specific structure of each computing power providing device 200 in the multiple computing power providing devices 200 is the same or similar. Among them, the computing power requesting device 100 is used to determine the target computing power providing device from the multiple computing power providing devices 200 according to the computing power requirements of its own application to be processed and the computing power resource selection algorithm, and after determining the target computing power providing device, the application to be processed compiled into a specific format is sent to the target computing power providing device. Each computing power providing device 200 in the multiple computing power providing devices 200 is pre-deployed with an operating environment adapted to a specific format, and each computing power providing device 200 is used to execute the received application to be processed in a specific format based on the pre-deployed operating environment adapted to a specific format after being determined as the target computing power providing device, and feedback the execution result of the application to be processed to the computing power requesting device.

[0128] In the embodiment of the present invention, the specific format is, for example, the WASM format. It can be understood that in the embodiment of the present invention, when the specific format is the WASM format, the operating environment adapted to the specific format is the WASM operating environment.

[0129] Furthermore, the computing power requesting device 100 includes: a first communication module 110 , a device selecting module 120 and a first detecting module 130 .

[0130] Among them, the first communication module 110 is used to realize data communication with multiple computing power providing devices, including sending computing power requests to multiple computing power providing devices 200, and receiving and recording the self-information and execution results of the pending application returned by each available computing power providing device in at least one available computing power providing device among the multiple computing power providing devices. Furthermore, the first communication module 110 is also used to obtain the network transmission speed between the computing power requesting device 100 and each available computing power providing device.

[0131] The device selection module 120 is used to comprehensively evaluate the computing power resource quality of each computing power providing device 200 based on the computing power requirements of the application to be processed, the computing power resource selection algorithm, and the self-information returned by each available computing power providing device in at least one available computing power providing device and the network transmission speed, and determine the target computing power providing device from at least one available computing power providing device based on the evaluation results.

[0132] For further reference, Figure 5 , the device selection module 120 includes: a parameter configuration unit 121, a computing power resource quality calculation unit 122, a selection unit 123 and a cost calculation unit 124. Among them, the parameter configuration unit 121 is used to configure parameters for each available computing power providing device in at least one available computing power providing device. The computing power resource quality calculation unit 122 is used to calculate the computing power resource quality of each computing power providing device according to the parameters, the self information of each available computing power providing device in at least one available computing power providing device and the network transmission speed. The selection unit 123 is used to determine the target computing power providing device according to the calculation result of the computing power resource quality calculation unit 122. The cost calculation unit 124 is used to determine the target computing power providing device according to the cost standard information and computing power resource quality of each available computing power providing device.

[0133] The first detection module 130 is used to detect the legitimacy of the target computing power providing device according to the second verification information sent by the determined target computing power providing device.

[0134] In the embodiment of the present invention, each computing power providing device 200 includes: a computing power resource self-check module 210, a second communication module 220, a second detection unit 230, an execution module 240 and an integration module 250.

[0135] The computing power resource self-check module 210 is used to check its own computing power resource information once at a fixed interval, and record the test results after the test is completed.

[0136] For further reference, Figure 6 The computing power resource self-check module 210 includes: a computing power resource detection unit 211 and a hardware information extraction unit 212.

[0137] Among them, the computing power resource detection unit 211 is used to detect its own computing power resource information at fixed intervals, including used computing power resource information and remaining computing power resource information.

[0138] The hardware information extraction unit 212 is used to scan its own hardware information at fixed intervals to obtain corresponding performance parameters.

[0139] The second communication module 220 is used to realize data communication with the computing power requesting device, including sending the latest self-information and execution results of the pending application recorded by the computing power resource self-check module 210 to the computing power requesting device 100 when its own remaining computing power resources meet the computing power requirements, and receiving the computing power request sent by the computing power requesting device.

[0140] The second detection unit 230 is used to detect the legitimacy of the computing power requesting device 100 according to the first verification information sent by the computing power requesting device 100.

[0141] The execution module 240 is used to parse and execute the received application to be processed in the specific format based on the pre-deployed operating environment adapted to the specific format, and record the execution result of the application to be processed.

[0142] For further reference, Figure 7 The execution module 240 includes: an application installation unit 241, an application running state recording unit 242, an application uninstallation unit 243 and an application migration unit 244.

[0143] Among them, the application installation unit 241 is used to parse the application to be processed in a pre-deployed operating environment adapted to a specific format, and convert it into a binary code executable by the current computing power providing device 200 and then deploy it in the operating environment.

[0144] The application running state recording unit 242 is used to run the application to be processed in a pre-deployed running environment adapted to a specific format, record the application output, and obtain the current running state of the application to be processed.

[0145] The application uninstallation unit 243 is used to uninstall the application to be processed based on the application uninstallation instruction after receiving the application uninstallation instruction sent by the computing power requesting device 100.

[0146] The application migration unit 244 is used to migrate the application to be processed to other available computing power providing devices according to the current running status of the application to be processed obtained by the application running status recording unit 242.

[0147] Furthermore, each computing power providing device 200 also includes: an integration module 250. The integration module 250 is used to record the running time and the computing power resources consumed by the application to be processed, and calculate the points based on the recorded running time and the computing power resources consumed. Furthermore, the execution result of the application to be processed returned by the execution module 240 includes: the points calculated by the integration module 250 and the application output recorded by the application running status recording unit 242.

[0148] In specific implementation, each module / unit in the computing power scheduling system can be implemented as an independent entity, or can be arbitrarily combined and implemented as the same or several entities. At the same time, the specific implementation of each module / unit in the computing power scheduling system described above can refer to the aforementioned computing power scheduling method embodiment, which will not be repeated here.

[0149] The embodiment of the present invention further provides an electronic device 300, such as Figure 8 As shown, it includes a memory 320, a processor 310, and a program stored in the memory 320 and executable on the processor 310. When the program is executed by the processor 310, the various processes of the various embodiments of the computing power scheduling method applied to the computing power requesting device or the computing power scheduling method applied to the computing power providing device can be implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0150] It can be understood by a person of ordinary skill in the art that all or part of the steps in the various methods of the above embodiments can be completed by instructions, or by controlling related hardware through instructions, and the instructions can be stored in a computer-readable storage medium and loaded and executed by a processor. To this end, an embodiment of the present invention also provides a computer-readable storage medium, on which a computer program or instruction is stored, and when the computer program or instruction is executed by the processor, each process of each embodiment of the computing power scheduling method applied to the computing power request device or the computing power scheduling method applied to the computing power providing device can be implemented. Among them, computer-readable storage media, such as U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk, etc., can store program code.

[0151] Since the instructions stored in the readable storage medium can execute the steps in any one of the computing power scheduling methods provided in the embodiments of the present invention, the beneficial effects that can be achieved by any one of the computing power scheduling methods provided in the embodiments of the present invention can be achieved. For details, please refer to the previous embodiments, which will not be repeated here. The specific implementation of each of the above operations can be referred to the previous embodiments, which will not be repeated here.

[0152] In summary, the beneficial effects of the present invention at least include:

[0153] 1. The present invention uses WebAssembly technology in the cross-platform call of computing power. After the computing power requesting device determines the target computing power providing device, the application to be processed is compiled into a specific format, such as WASM (short for WebAssembly, World Wide Web Assembly Language) format and then sent to the target computing power providing device. The application to be processed is parsed and executed in a running environment pre-deployed in the target computing power providing device that is adapted to the specific format, such as WASM Runtime, so that the application to be processed can run effectively under different systems (windows / linux / zephyr, etc.) and architectures (x86 / ARM / XTENSA), thereby solving the cross-platform flow of computing power and the cross-platform deployment and execution of application code.

[0154] 2. The computing power providing device periodically checks its own remaining computing power resource information, so that the idle computing power resources of the network equipment can be effectively utilized. At the same time, the computing power resource selection algorithm in the computing power request device can comprehensively consider the impact of factors such as the remaining computing power ratio of the computing power providing device, device performance, network transmission delay, and usage cost on the computing task, and provide computing power services without affecting the execution of the computing power providing device's own tasks, thereby improving resource utilization.

[0155] 3. Before computing power scheduling, both the computing power requesting device and the computing power providing device must pass the corresponding legitimacy verification, which helps to improve the security of the system.

[0156] It should be noted that, when describing each embodiment in this specification, the focus is on the differences from other embodiments, and the same or similar parts between the embodiments can be understood by reference to each other. For the system embodiment, since it is basically similar to the method embodiment, the relevant parts can refer to the description of the method embodiment.

[0157] In addition, it should be noted that in the apparatus and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. Moreover, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order, and some steps can be performed in parallel or independently of each other. For those of ordinary skill in the art, it is understood that all or any steps or components of the method and apparatus of the present invention can be implemented in any computing device (including processors, storage media, etc.) or a network of computing devices in hardware, firmware, software or a combination thereof, which can be achieved by those of ordinary skill in the art using their basic programming skills after reading the description of the present invention.

[0158] Finally, it should be noted that: Obviously, the above embodiments are only examples for clearly explaining the present invention, and are not intended to limit the implementation methods. For ordinary technicians in the relevant field, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the implementation methods here. The obvious changes or modifications derived from this are still within the scope of protection of the present invention.

Claims

1. A computing power scheduling method, characterized in that: The computing power scheduling method is applied to a computing power requesting device, and computing power scheduling is realized by communicating with a computing power providing device. The computing power scheduling method includes: Sending a computing power request to a plurality of computing power providing devices, wherein the computing power request includes computing power demand information of the computing power requesting device; Receiving computing power resource information sent by at least one available computing power providing device among multiple computing power providing devices, wherein the available computing power providing device is a computing power providing device whose remaining computing power resource information among the multiple computing power providing devices satisfies the computing power demand information; Determine a target computing power providing device from the at least one available computing power providing device using a computing power resource selection algorithm; Sending the application to be processed compiled into a specific format to the target computing power providing device, wherein the target computing power providing device is deployed with an operating environment adapted to the specific format, and the target computing power providing device runs the application to be processed based on the operating environment; receiving the execution result of the application to be processed fed back by the target computing power providing device, Among them, after determining the target computing power providing equipment, it also includes: Sending confirmation information and first verification information to the target computing power providing device; After the confirmation information and the first verification information are passed, receiving second verification information sent by the target computing power providing device; Check whether the second verification information meets the requirements. If so, send the application to be processed compiled into the specific format to the target computing power providing device. Otherwise, re-determine the target computing power providing device from the remaining available computing power providing devices.

2. The computing power scheduling method according to claim 1, characterized in that: Determining a target computing power providing device from the at least one available computing power providing device using a computing power resource selection algorithm includes: providing device configuration parameters for each available computing power providing device in the at least one available computing power providing device; Calculate the computing resource quality of each available computing power provider based on the configured parameters; Determine the target computing power providing device according to the computing power resource quality of each available computing power providing device, or determine the target computing power providing device according to the computing power resource quality of each available computing power providing device and the fee standard information received for each available computing power providing device; The configuring parameters for each available computing power providing device in the at least one available computing power providing device includes: According to the type of the application to be processed, configure weight parameters for different resource types in the computing power resource information of each available computing power providing device; and The quality of computing resources of each available computing power provider is calculated based on the configured parameters, including: Calculate the weighted sum of all or part of the remaining computing power resource information values ​​of each type of each available computing power providing device according to the weight parameter to serve as the computing power resource quality; or The weighted sum of the percentages of all or part of the remaining computing power resource information of each type of each available computing power providing device to the computing power resource information of the corresponding type is calculated according to the weight parameter to serve as the computing power resource quality. The weight corresponding to the resource information of the computing power resource information of each available computing power providing device that is the same type as the application to be processed is greater than the weight corresponding to the resource information of the application to be processed that is different from the type to be processed. The types of the applications to be processed include: CPU consumption type, GPU consumption type, memory consumption type and disk space consumption type; and The resource types in the computing power resource information include: CPU type, GPU type, memory type and disk space type.

3. The computing power scheduling method according to claim 1, characterized in that: Determining a target computing power providing device from the at least one available computing power providing device using a computing power resource selection algorithm includes: providing device configuration parameters for each available computing power providing device in the at least one available computing power providing device; Calculate the computing resource quality of each available computing power provider based on the configured parameters; Determine the target computing power providing device according to the computing power resource quality of each available computing power providing device, or determine the target computing power providing device according to the computing power resource quality of each available computing power providing device and the fee standard information received for each available computing power providing device; The configuring parameters for each available computing power providing device in the at least one available computing power providing device includes: According to the type of the application to be processed, configure weight parameters for different resource types in the computing power resource information of each available computing power providing device, and according to the received hardware information of each available computing power providing device, configure gain parameters for different resource types in the computing power resource information of each available computing power providing device; and The quality of computing resources of each available computing power provider is calculated based on the configured parameters, including: Calculate standardized computing power resource information of each type of available computing power providing device according to the gain parameter, wherein the standardized computing power resource information includes standardized used computing power resource information and standardized remaining computing power resource information; Calculate the weighted sum of all or part of the standardized remaining computing power resource information values ​​of each type of each available computing power providing device according to the weight parameter to serve as the computing power resource quality; or The weighted sum of the percentages of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device to the standardized computing power resource information of the corresponding type is calculated according to the weight parameter to serve as the computing power resource quality.

4. The computing power scheduling method according to claim 1, characterized in that: Determining a target computing power providing device from the at least one available computing power providing device using a computing power resource selection algorithm includes: providing device configuration parameters for each available computing power providing device in the at least one available computing power providing device; Calculate the computing resource quality of each available computing power provider based on the configured parameters; Determine the target computing power providing device according to the computing power resource quality of each available computing power providing device, or determine the target computing power providing device according to the computing power resource quality of each available computing power providing device and the fee standard information received for each available computing power providing device; The computing power request further includes a test data packet, and the computing power requesting device tests and records a network transmission speed between the computing power requesting device and each available computing power providing device corresponding to the plurality of computing power providing devices based on the test data packet; and Configuring parameters for each available computing power providing device in the at least one available computing power providing device includes: According to the type of the application to be processed, weight parameters are configured for different resource types in the computing power resource information of each available computing power providing device; According to the received hardware information of each available computing power providing device, configure gain parameters for different resource types in the computing power resource information of each available computing power providing device; Providing device configuration communication parameters for each available computing power according to the network transmission speed; and The quality of computing resources of each available computing power provider is calculated based on the configured parameters, including: Calculate the initial computing power resource quality of each available computing power providing device according to the weight parameter and the gain parameter; Calculate the product of the initial computing power resource quality of each available computing power providing device and the communication parameter as the computing power resource quality, The step of calculating the initial computing resource quality of each available computing power providing device according to the weight parameter and the gain parameter includes: Calculate standardized computing power resource information of each type of available computing power providing device according to the gain parameter, wherein the standardized computing power resource information includes standardized used computing power resource information and standardized remaining computing power resource information; Calculate the weighted sum of all or part of the standardized remaining computing power resource information values ​​of each type of each available computing power providing device according to the weight parameter to serve as the initial computing power resource quality; or The weighted sum of the percentages of all or part of the standardized remaining computing power resource information of each type of each available computing power providing device to the standardized computing power resource information of the corresponding type is calculated according to the weight parameter to serve as the initial computing power resource quality.

5. The computing power scheduling method according to claim 1, characterized in that: After sending the to-be-processed application compiled into a specific format to the target computing power providing device, the method further includes: Determine whether the execution result of the application to be processed is received from the target computing power providing device within the preset time. If the execution result of the application to be processed is not received from the target computing power providing device within the preset time, use the computing power resource selection algorithm to re-determine the target computing power providing device from the remaining available computing power providing devices.

6. The computing power scheduling method according to claim 1, characterized in that: The specific format is a WASM (World Wide Web Assembly Language) format, and the operating environment is a WASM operating environment.

7. A computing power scheduling method, characterized in that: The computing power scheduling method is applied to a computing power providing device, and computing power scheduling is realized by communicating with a computing power requesting device. The computing power scheduling method includes: receiving a computing power request sent by a computing power requesting device, wherein the computing power request includes computing power requirement information of the computing power requesting device; Based on the computing power demand information, determine whether its remaining computing power resources meet the computing power demand of the computing power requesting device, and if so, send its own computing power resource information to the computing power requesting device as an available computing power providing device; After being determined as the target computing power providing device, receiving the to-be-processed application in a specific format sent by the computing power requesting device; Running the application to be processed based on a pre-deployed operating environment adapted to the specific format; Feedback the execution result of the application to be processed to the computing power requesting device, Before receiving the to-be-processed application in a specific format sent by the computing power requesting device, the method further includes: Receiving confirmation information and first verification information sent by the computing power requesting device; Check whether the confirmation information and the first verification information meet the requirements. If so, send the second verification information to the target computing power requesting device.

8. The computing power scheduling method according to claim 7, characterized in that: The computing power providing device performs a detection of its own computing power resource information at a fixed interval and records the detection results after the detection is completed. Among them, the computing power resource information includes: CPU type computing power resource information, GPU type computing power resource information, memory type computing power resource information and disk space type computing power resource information; and each type of computing power resource information includes used computing power resource information and remaining computing power resource information.

9. The computing power scheduling method according to claim 7, characterized in that: When the computing power providing device determines, based on the computing power demand information, that its own remaining computing power resources meet the computing power demand of the computing power requesting device, it also includes sending its own hardware information and / or fee standard information to the computing power requesting device.

10. The computing power scheduling method according to claim 9, characterized in that: Running the application to be processed based on a pre-deployed operating environment adapted to the specific format includes: Parsing the application to be processed in a pre-deployed operating environment adapted to the specific format, and deploying the application in the operating environment; Running the application to be processed, recording the application output, and obtaining the current running state of the application to be processed; and After receiving the application uninstall instruction sent by the computing power requesting device, the to-be-processed application is uninstalled based on the application uninstall instruction.

11. The computing power scheduling method according to claim 10, characterized in that: After running the application to be processed, the method further includes: Recording the running time and the consumed computing resources of the application to be processed, and calculating the points based on the running time and the consumed computing resources; and The execution result of the application to be processed that is fed back to the computing power requesting device includes: the running result of the application to be processed and the score.

12. The computing power scheduling method according to claim 7, characterized in that: The specific format is a WASM format, and the operating environment is a WASM operating environment.

13. A computing power scheduling system, characterized in that: include: A computing power requesting device that executes the method as claimed in any one of claims 1 to 6 and a plurality of computing power providing devices that execute the method as claimed in any one of claims 7 to 12.

14. An electronic device, characterized in that: include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program implements the steps of the method according to any one of claims 1 to 6 when executed by the processor.

15. An electronic device, characterized in that: include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the method according to any one of claims 7 to 12 are implemented.

16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instructions, which, when executed by a processor, implement the steps of the method according to any one of claims 1 to 6.

17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instructions, which, when executed by a processor, implement the steps of the method according to any one of claims 7 to 12.