Data processing method and equipment thereof

By arbitrating tasks directly between devices in a smart home system, the problems of computational latency and low accuracy of devices with limited computing power are solved, thereby improving the interaction efficiency and resource utilization efficiency between devices.

CN121658207APending Publication Date: 2026-03-13HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2020-09-09
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In smart home systems, devices with limited computing power suffer from high latency and low accuracy when performing local stranger AI recognition. At the same time, the task scheduling of the central manager increases the efficiency loss of cross-device interaction.

Method used

By receiving the target task sent by the second device through the first device and obtaining the arbitration result based on the target task, the execution device is directly determined, reducing the dependence on the central manager and improving the efficiency of cross-device interaction.

Benefits of technology

It reduces the process of cross-device interaction, improves the efficiency and accuracy of task execution, and optimizes the resource utilization of smart home systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121658207A_ABST
    Figure CN121658207A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a data processing method and equipment thereof, which are used in a distributed task scheduling system. The method comprises the steps that a first device receives a target task sent by a second device, the target task comprises task description information and is generated by the second device, the first device obtains an arbitration result according to the target task, and the arbitration result is used for representing the score of the first device for executing the target task; and the first equipment sends the arbitration result to the second equipment, so that the second equipment determines that the first equipment is equipment for executing the target task according to the arbitration result. In the embodiment of the invention, the first equipment obtains the arbitration result through the target task sent by the second equipment, and sends the arbitration result to the second equipment, so that the second equipment can determine the equipment for executing the target task according to the arbitration result, the cross-equipment interaction process is reduced, and the interaction efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The original application has the application number 202010943745.7 and the original application date is September 9, 2020. The entire contents of the original application are incorporated herein by reference. Technical Field

[0002] This application relates to the field of computer technology, specifically to a data processing method and apparatus. Background Technology

[0003] With the development of artificial intelligence (AI) technology and the improvement of people's living standards in recent years, people are paying more and more attention to the comfort, safety, and convenience of their living environment. To meet the needs of the public, smart home systems have developed rapidly. The purpose of a smart home system is to use Internet of Things (IoT) technology to enable various devices in a user's home to better serve the user's lifestyle, thereby creating a more comfortable, environmentally friendly, convenient, and intelligent living environment.

[0004] Among the devices covered by a smart home system, some have limited hardware resources. For example, a home peephole camera only has a chip computing power of 0.1T, resulting in a computational latency of over 100 milliseconds and low accuracy when performing local stranger AI recognition. Therefore, other high-computing-power devices in the smart home system's home network can be used to perform local stranger AI recognition tasks.

[0005] In existing solutions, a central manager is used in smart home systems. This central manager is responsible for the unified management and scheduling of cluster resources, as well as handling requests from covered devices within the smart home system. During the central manager's processing, after a covered device submits a task request, the central manager needs to perform task scheduling, sending the task request to other covered devices capable of executing the request. This increases the cross-device interaction process and reduces the efficiency of the interaction. Summary of the Invention

[0006] This application provides a data processing method that receives a target task sent by a second device, obtains an arbitration result based on the target task, and sends the arbitration result to the second device. This allows the second device to determine the device to execute the target task based on the arbitration result of the first device. In this process, no intermediate device such as a central manager is required for task scheduling, which reduces the cross-device interaction process and improves the efficiency of interaction.

[0007] The first aspect of this application provides a data processing method.

[0008] The first device receives a target task sent by the second device. The target task includes task description information and is generated by the second device. The first device obtains an arbitration result based on the target task. The arbitration result is used to represent the score of the first device in performing the target task. The first device sends the arbitration result to the second device so that the second device determines the first device as the device that performs the target task based on the arbitration result.

[0009] In this embodiment, the first device receives the target task sent by the second device and obtains the arbitration result based on the target task, so that the second device can determine the device to execute the target task based on the arbitration result of the first device. In this process, no intermediate device such as a central manager is required to schedule the task, which reduces the process of cross-device interaction and improves the efficiency of interaction.

[0010] Based on the method of the first aspect of the embodiments of this application, in one possible implementation, before the first device obtains the arbitration result according to the target task, the first device obtains dynamic resource information, which represents the real-time usage information of the hardware resources of the first device. The first device performs calculations based on the dynamic resource information to obtain virtualized computing power, which represents the computing power supported by the first device in the current state. The first device obtaining the arbitration result according to the target task includes: the first device obtaining the arbitration result based on the virtualized computing power and the target task.

[0011] In this embodiment, the first device obtains virtualized computing power based on dynamic resource information, and obtains arbitration results based on virtualized computing power and target tasks, thereby improving the accuracy of arbitration results.

[0012] Based on the method of the first aspect of the embodiments of this application, in one possible implementation, the first device obtaining the arbitration result based on the virtualization computing power and the target task includes: the first device obtaining task resource information based on the target task, wherein the task resource information represents the hardware resources required to execute the target task. The first device obtains the arbitration result based on the task resource information and the virtualization computing power.

[0013] In this embodiment, the first device obtains the arbitration result based on task resource information and virtualized computing power, thereby improving the accuracy of the arbitration result.

[0014] The second aspect of this application provides a data processing method.

[0015] The second device sends a target task to the first device. The target task includes task description information and is generated by the second device. The second device receives the arbitration result sent by the first device. The arbitration result is used to represent the score of the first device in performing the target task. The second device determines the first device as the device that performs the target task based on the arbitration result.

[0016] In this embodiment, the first device receives the target task sent by the second device and obtains the arbitration result based on the target task, so that the second device can determine the device to execute the target task based on the arbitration result of the first device. In this process, no intermediate device such as a central manager is required to schedule the task, which reduces the process of cross-device interaction and improves the efficiency of interaction.

[0017] Based on the method of the second aspect of the embodiments of this application, in one possible implementation, the second device sending a target task to the first device includes: the second device sending the target task to multiple first devices. The second device receiving arbitration results sent by the first devices includes: the second device receiving multiple arbitration results sent by the multiple first devices, with each arbitration result corresponding one-to-one with a specific first device. The second device determining a first device as the device to perform the target task based on the arbitration results includes: the second device obtaining a target arbitration result based on the multiple arbitration results, where the target arbitration result is the optimal arbitration result among the multiple arbitration results. The second device determining a corresponding target device as the device to perform the target task based on the target arbitration result, where the target device is one of the multiple first devices.

[0018] In this embodiment of the application, the second device improves the efficiency of executing the target task by determining the optimal arbitration result among multiple arbitration results and determining the corresponding target device as the device to perform the target task based on the optimal arbitration result.

[0019] Based on the method of the second aspect of the embodiments of this application, in one possible implementation, before the second device sends the target task to the first device, the method further includes: the second device determining whether it can execute the target task. If not, the step of the second device sending the target task to the first device is triggered.

[0020] In this embodiment of the application, before sending the target task to the first device, it is first determined whether the second device itself can execute the target task. If it can execute, the target task is not sent; if it cannot execute, the target task is sent, which improves the flexibility of the solution.

[0021] Based on the method of the second aspect of the embodiments of this application, in one possible implementation, after the second device determines the first device as the device to perform the target task according to the arbitration result, the second device sends target task data to the first device, and the target task data is used by the first device to perform the target task.

[0022] In this embodiment of the application, after the device that performs the target task is determined, the target task data is sent to the target device, thereby improving the completeness of the solution.

[0023] A third aspect of the embodiments of this application provides an apparatus.

[0024] An apparatus comprising:

[0025] The receiving unit is used to receive the target task sent by the second device. The target task includes task description information and is generated by the second device.

[0026] The processing unit is used to obtain an arbitration result based on the target task, and the arbitration result is used to represent the score of the first device in performing the target task;

[0027] The sending unit is used to send the arbitration result to the second device, so that the second device determines the first device as the device to perform the target task based on the arbitration result.

[0028] Optionally, the device also includes:

[0029] The acquisition unit is used to acquire dynamic resource information, which represents the real-time hardware resource usage information of the first device.

[0030] The processing unit is also used to perform calculations based on dynamic resource information to obtain virtualized computing power, which represents the computing power supported by the first device in its current state.

[0031] The processing unit is specifically used to obtain the arbitration result based on the virtualization computing power and the target task.

[0032] Optionally, the processing unit is specifically used to obtain task resource information based on the target task, whereby the task resource information represents the hardware resources required to execute the target task.

[0033] The processing unit is specifically used to obtain the arbitration result based on the task resource information and virtualization computing power.

[0034] The fourth aspect of this application provides an apparatus.

[0035] An apparatus comprising:

[0036] The sending unit is used to send a target task to the first device. The target task includes task description information and is generated by the second device.

[0037] The receiving unit is used to receive the arbitration result sent by the first device, which is used to represent the score of the first device in performing the target task;

[0038] The determining unit is used to determine, based on the arbitration result, the first device as the device that performs the target task.

[0039] Optionally, the sending unit is specifically used to send the target task to multiple first devices;

[0040] The receiving unit is specifically used to receive multiple arbitration results sent by multiple first devices, and each arbitration result corresponds one-to-one with a multiple first device;

[0041] The determining unit is specifically used to obtain the target arbitration result based on multiple arbitration results, where the target arbitration result is the optimal arbitration result among the multiple arbitration results;

[0042] The determining unit is specifically used to determine the corresponding target device as the device that performs the target task based on the target arbitration result. The target device is one of a plurality of first devices.

[0043] Optionally, the device also includes:

[0044] The judgment unit is used to determine whether the second device can perform the target task;

[0045] If not, the step of the second device sending the target task to the first device is triggered.

[0046] Optionally, the sending unit is also used to send target task data to the first device, the target task data being used by the first device to execute the target task.

[0047] The fifth aspect of this application provides a computer storage medium storing instructions that, when executed on a computer, cause the computer to perform the methods described in the first aspect and / or the second aspect of this application.

[0048] The sixth aspect of this application provides a computer program product that, when executed on a computer, causes the computer to perform the methods described in the first aspect and / or the second aspect of this application.

[0049] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0050] In this embodiment, the first device receives the target task sent by the second device and obtains the arbitration result based on the target task, so that the second device can determine the device to execute the target task based on the arbitration result of the first device. In this process, no intermediate device such as a central manager is required to schedule the task, which reduces the process of cross-device interaction and improves the efficiency of interaction. Attached Figure Description

[0051] Figure 1 A schematic diagram of a neural network framework provided for an embodiment of this application;

[0052] Figure 2 This is a schematic diagram of another neural network framework provided in an embodiment of this application;

[0053] Figure 3 This is a schematic diagram of another neural network framework provided in an embodiment of this application;

[0054] Figure 4 This is a schematic diagram of another neural network framework provided in an embodiment of this application;

[0055] Figure 5 A schematic diagram of a chip structure provided for an embodiment of this application;

[0056] Figure 6 A framework diagram of a distributed task scheduling system provided in this application embodiment;

[0057] Figure 7 A flowchart illustrating the data processing method provided in this application embodiment;

[0058] Figure 8 A schematic diagram of a scenario for the data processing method provided in the embodiments of this application;

[0059] Figure 9 A schematic diagram of the structure of a device provided in an embodiment of this application;

[0060] Figure 10 This is a schematic diagram of the structure of another device provided in an embodiment of this application;

[0061] Figure 11 A schematic diagram of the structure of a device provided in an embodiment of this application;

[0062] Figure 12 This is a schematic diagram of the structure of another device provided in an embodiment of this application;

[0063] Figure 13 This is a schematic diagram of the structure of another device provided in an embodiment of this application;

[0064] Figure 14 This is a schematic diagram of the structure of another device provided in an embodiment of this application. Detailed Implementation

[0065] This application provides a data processing method for a distributed task scheduling system. A first device obtains an arbitration result from a target task sent by a second device and sends the arbitration result back to the second device. This allows the second device to determine the device that will execute the target task based on the arbitration result, reducing the cross-device interaction process and improving the efficiency of the interaction.

[0066] Figure 1 A schematic diagram of an artificial intelligence framework is shown, which describes the overall workflow of an artificial intelligence system and is applicable to general artificial intelligence domain needs.

[0067] The above-mentioned artificial intelligence framework will be elaborated from two dimensions: "intelligent information chain" (horizontal axis) and "IT value chain" (vertical axis).

[0068] The "intelligent information chain" reflects a series of processes from data acquisition to processing. For example, it could be a general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, and intelligent execution and output. In this process, data undergoes a condensation process of "data—information—knowledge—wisdom."

[0069] The "IT value chain" reflects the value that artificial intelligence brings to the information technology industry, from the underlying infrastructure of human intelligence, information (provided and processed by technology) to the industrial ecosystem of systems.

[0070] (1) Infrastructure:

[0071] The infrastructure provides computing power to support artificial intelligence systems, enabling communication with the external world and providing support through a basic platform. Communication with the outside world is achieved through sensors; computing power is provided by intelligent chips (hardware acceleration chips such as central processing units (CPUs), embedded neural network processing units (NPUs), graphics processing units (GPUs), application-specific integrated circuits (ASICs), and field-programmable gate arrays (FPGAs); the basic platform includes distributed computing frameworks and related platform guarantees and support, which may include cloud storage and computing, interconnected networks, etc. For example, sensors communicate with the outside world to acquire data, and this data is provided to intelligent chips in the distributed computing system provided by the basic platform for computation.

[0072] (2) Data

[0073] The data at the next layer of infrastructure is used to represent the data sources in the field of artificial intelligence. The data involves graphics, images, voice, video, text, as well as IoT data from traditional devices, including business data from existing systems and sensor data such as force, displacement, liquid level, temperature, and humidity.

[0074] (3) Data processing

[0075] Data processing typically includes methods such as data training, machine learning, deep learning, search, reasoning, and decision-making.

[0076] Among them, machine learning and deep learning can perform intelligent information modeling, extraction, preprocessing, and training on data, including symbolization and formalization.

[0077] Reasoning refers to the process in which, in a computer or intelligent system, the machine thinks and solves problems by simulating human intelligent reasoning, based on reasoning control strategies and using formalized information. Typical functions include search and matching.

[0078] Decision-making refers to the process of making decisions based on intelligent information after reasoning, and it typically provides functions such as classification, sorting, and prediction.

[0079] (4) General ability

[0080] After the data processing mentioned above, the results of the data processing can be used to form some general capabilities, such as algorithms or a general system, for example, translation, text analysis, computer vision processing (such as image recognition, object detection, etc.), speech recognition, etc.

[0081] (5) Smart products and industry applications

[0082] Intelligent products and industry applications refer to products and applications of artificial intelligence systems in various fields. They encapsulate overall artificial intelligence solutions, productize intelligent information decision-making, and realize practical applications. Their application areas mainly include: intelligent manufacturing, intelligent transportation, smart home, intelligent healthcare, intelligent security, autonomous driving, safe city, and intelligent terminals.

[0083] See appendix Figure 2 This application provides a system architecture 200. This system architecture includes a database 230 and a client device 240. A data acquisition device 260 is used to collect data and store it in the database 230. A training module 220 generates a target model / rule 201 based on the data maintained in the database 230.

[0084] The function of each layer in a deep neural network can be expressed mathematically. To describe it: From a physical perspective, the work of each layer in a deep neural network can be understood as transforming the input space (the set of input vectors) to the output space (i.e., from the row space to the column space of a matrix) through five operations on the input space. These five operations include: 1. Dimensionality increase / decrease; 2. Magnification / scaling; 3. Rotation; 4. Translation; 5. "Bending". Operations 1, 2, and 3 are... Completed, operation 4 is performed by Completed, operation 5 is then performed by To achieve this. The term "space" is used here because the object being classified is not a single thing, but a category of things; space refers to the collection of all individuals within this category. This is a weight vector, where each value represents the weight of a neuron in that layer of the neural network. This vector determines the spatial transformation from the input space to the output space, as mentioned above; that is, the weights of each layer control how the space is transformed. The goal of training a deep neural network is to ultimately obtain the weight matrix of all layers of the trained neural network.

[0085] Because the goal is for the output of a deep neural network to be as close as possible to the target value, we can compare the current network's prediction with the target value and update the weight vector of each layer based on the difference between them (of course, there is usually an initialization process before the first update, i.e., pre-configuring the parameters for each layer in the deep neural network). For example, if the network's prediction is too high, the values ​​of the weights in the weight matrix are adjusted to lower the prediction. This process is repeated until the neural network's output value is close to or equal to the target value. Therefore, it is necessary to predefine "how to compare the difference between the predicted value and the target value," i.e., the loss function or objective function. The loss function is an important equation used to measure the difference between the predicted value and the target value. Taking the loss function as an example, a higher output value (loss) indicates a greater difference, and the training of a neural network can be understood as a process of minimizing the loss as much as possible.

[0086] The computation module may include a training module 220, and the target model / rules obtained from the training module 220 can be applied to different systems or devices. (See appendix...) Figure 2 In this embodiment, the execution device 210 is equipped with a transceiver 212, which can be a wireless transceiver, an optical transceiver, or a wired interface (such as an I / O interface) to interact with external devices. The "user" can input data to the transceiver 212 through the client device 240. For example, in the following embodiments of this application, the client device 240 can send a target task to the execution device 210, request the execution device to build a neural network, and send a database for training to the execution device 210.

[0087] The execution device 210 can call data, code, etc. in the data storage system 250, and can also store data, instructions, etc. in the data storage system 250.

[0088] The calculation module 211 uses the target model / rule 201 to process the input data.

[0089] Finally, transceiver 212 returns the constructed neural network to client device 240 for deployment in client device 240 or other devices.

[0090] At a deeper level, the training module 220 can obtain corresponding target models / rules 201 based on different data for different target tasks, so as to provide users with better results.

[0091] In the appendix Figure 2 In the scenario shown, the user can manually specify the data input to execution device 210, for example, by operating through the interface provided by transceiver 212. Alternatively, client device 240 can automatically input data to transceiver 212 and obtain results. If automatic data input by client device 240 requires user authorization, the user can set appropriate permissions on client device 240. The user can view the output results of execution device 210 on client device 240, which can be presented in various forms such as display, sound, or animation. Client device 240 can also act as a data acquisition terminal, storing the acquired data associated with the target task into database 230.

[0092] It should be noted that the appendix Figure 2 This is merely a schematic diagram of a system architecture provided in an embodiment of this application, and the positional relationships between the devices, components, modules, etc., shown in the diagram do not constitute any limitation. For example, in the appendix... Figure 2 In this context, the data storage system 250 is an external memory relative to the execution device 210. In other scenarios, the data storage system 250 can also be placed within the execution device 210.

[0093] For example, the following example uses a convolutional neural network (CNN).

[0094] A CNN is a deep neural network with a convolutional structure. It is a deep learning architecture, which refers to learning at multiple levels of abstraction using machine learning algorithms. As a deep learning architecture, a CNN is a feed-forward artificial neural network, in which each neuron responds to overlapping regions in the input image.

[0095] like Figure 3 As shown, the convolutional neural network (CNN) 100 may include an input layer 110, a convolutional / pooling layer 120, wherein the pooling layer is optional, and a neural network layer 130.

[0096] like Figure 3The convolutional / pooling layer 120 shown may include layers 121-126 as in Examples 121-126. In one implementation, layer 121 is a convolutional layer, layer 122 is a pooling layer, layer 123 is a convolutional layer, layer 124 is a pooling layer, layer 125 is a convolutional layer, and layer 126 is a pooling layer. In another implementation, layers 121 and 122 are convolutional layers, layer 123 is a pooling layer, layers 124 and 125 are convolutional layers, and layer 126 is a pooling layer. That is, the output of the convolutional layer can be used as the input of a subsequent pooling layer, or as the input of another convolutional layer to continue the convolution operation.

[0097] Taking convolutional layer 121 as an example, it can include multiple convolution operators, also known as kernels. In image processing, a convolution operator acts as a filter, extracting specific information from the input image matrix. Essentially, a convolution operator can be a weight matrix, which is usually predefined. During the convolution operation, the weight matrix typically processes the input image pixel by pixel (or two pixels by two pixels, depending on the stride) along the horizontal direction, thus extracting specific features. The size of this weight matrix should be related to the image size. It's important to note that the depth dimension of the weight matrix is ​​the same as the depth dimension of the input image; during convolution, the weight matrix extends to the entire depth of the input image. Therefore, convolution with a single weight matrix produces a single-depth convolutional output. However, in most cases, multiple weight matrices of the same dimension are applied instead of a single weight matrix. The outputs of each weight matrix are stacked to form the depth dimension of the convolutional image. Different weight matrices can be used to extract different features from an image. For example, one weight matrix can be used to extract image edge information, another weight matrix can be used to extract specific colors of the image, and yet another weight matrix can be used to blur unwanted noise in the image. These multiple weight matrices have the same dimension, and the feature maps extracted by these multiple weight matrices also have the same dimension. The extracted feature maps with the same dimension are then merged to form the output of the convolution operation.

[0098] The weight values ​​in these weight matrices need to be obtained through extensive training in practical applications. The weight matrices formed by the weight values ​​obtained through training can extract information from the input image, thereby helping the convolutional neural network 100 to make correct predictions.

[0099] When a convolutional neural network 100 has multiple convolutional layers, the initial convolutional layers (e.g., 121) tend to extract more general features, which can also be called low-level features. As the depth of the convolutional neural network 100 increases, the features extracted by later convolutional layers (e.g., 126) become more and more complex, such as high-level semantic features. Features with higher semantic levels are more suitable for the problem to be solved.

[0100] Pooling layer:

[0101] Because it is often necessary to reduce the number of training parameters, pooling layers are often introduced periodically after convolutional layers, i.e., ... Figure 3 Layers 121-126 in example 120 can be a convolutional layer followed by a pooling layer, or multiple convolutional layers followed by one or more pooling layers. In image processing, the sole purpose of pooling layers is to reduce the spatial size of the image. Pooling layers can include average pooling and / or max pooling operators to sample the input image to obtain a smaller image size. Average pooling calculates the average value of pixel values ​​within a specific range. Max pooling takes the pixel with the largest value within a specific range as the result of max pooling. Furthermore, just as the size of the weight matrix in a convolutional layer should be related to the image size, the operators in a pooling layer should also be related to the image size. The size of the output image after pooling can be smaller than the size of the input image of the pooling layer. Each pixel in the output image represents the average or maximum value of the corresponding sub-region of the input image of the pooling layer.

[0102] Neural network layer 130:

[0103] After processing by the convolutional / pooling layers 120, the convolutional neural network 100 is still insufficient to output the required information. As mentioned earlier, the convolutional / pooling layers 120 only extract features and reduce the parameters introduced by the input image. However, to generate the final output information (the required class information or other relevant information), the convolutional neural network 100 needs to utilize neural network layers 130 to generate one or more outputs representing the required number of classes. Therefore, neural network layers 130 may include multiple hidden layers (such as...). Figure 3 The diagram shows layers 131, 132 to 13n) and an output layer 140. In this application, the convolutional neural network is obtained by searching for at least one first building unit using the output of a delayed prediction model as a constraint, and then stacking these at least one first building unit. This convolutional neural network can be used for image recognition, image classification, image super-resolution reconstruction, etc.

[0104] After the multiple hidden layers in neural network layer 130, the final layer of the entire convolutional neural network 100 is the output layer 140. This output layer 140 has a loss function similar to classification cross-entropy, specifically used to calculate the prediction error. Once the entire convolutional neural network 100 has undergone forward propagation (such as...), the loss function is applied. Figure 3 The propagation from 110 to 140 is completed (forward propagation), and the reverse propagation (such as...) Figure 3 The propagation from 140 to 110 (backpropagation) will begin to update the weight values ​​and biases of the layers mentioned above, in order to reduce the loss of the convolutional neural network 100 and the error between the output of the convolutional neural network 100 through the output layer and the ideal result.

[0105] It should be noted that, as Figure 3 The convolutional neural network 100 shown is merely an example of a convolutional neural network. In specific applications, convolutional neural networks can also exist in the form of other network models, such as... Figure 4 The multiple convolutional / pooling layers shown are run in parallel, and the extracted features are all input into the full neural network layer 130 for processing.

[0106] Figure 5 This is a chip hardware structure diagram provided in an embodiment of the present invention.

[0107] The Neural Processing Unit (NPU) 50 is mounted as a coprocessor on the host CPU, which allocates tasks to it. The core of the NPU is the arithmetic circuit 50, which, through the controller 504, controls the arithmetic circuit 503 to retrieve matrix data from memory and perform multiplication operations.

[0108] In some implementations, the arithmetic circuit 503 internally includes multiple processing engines (PEs). In some implementations, the arithmetic circuit 503 is a two-dimensional pulsating array. The arithmetic circuit 503 can also be a one-dimensional pulsating array or other electronic circuitry capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit 503 is a general-purpose matrix processor.

[0109] For example, suppose we have an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit retrieves the corresponding data of matrix B from the weight memory 502 and caches it in each PE of the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from the input memory 501 and performs matrix operations with matrix B. The partial result or the final result of the obtained matrix is ​​stored in the accumulator 508.

[0110] Unified memory 506 is used to store input and output data. Weight data is directly accessed via the Direct Memory Access Controller 505 (DMAC) and transferred to the weight memory 502. Input data is also transferred to unified memory 506 via DMAC.

[0111] BIU stands for Bus Interface Unit, which is used for the interaction between the AXI bus and the DMAC and the instruction fetch buffer 509.

[0112] The Bus Interface Unit (BIU) 510 is used by the instruction fetch memory 509 to fetch instructions from external memory, and also by the memory access controller 505 to fetch the original data of the input matrix A or the weight matrix B from external memory.

[0113] The DMAC is mainly used to move input data from external memory DDR to unified memory 506, or to weight data to weight memory 502, or to input data to input memory 501.

[0114] The vector computation unit has over 507 processing units that further process the output of the computation circuits as needed, such as vector multiplication, vector addition, exponential operations, logarithmic operations, size comparisons, etc. It is primarily used for computation in non-convolutional / FC layers of neural networks, such as pooling, batch normalization, and local response normalization.

[0115] In some implementations, vector computation unit 507 can store the processed output vector into unified buffer 506. For example, vector computation unit 507 can apply a nonlinear function to the output of arithmetic circuit 503, such as a vector of accumulated values, to generate activation values. In some implementations, vector computation unit 507 generates normalized values, merged values, or both. In some implementations, the processed output vector can be used as activation input to arithmetic circuit 503, for example, for use in subsequent layers of a neural network.

[0116] The instruction fetch buffer 509 connected to the controller 504 is used to store the instructions used by the controller 504;

[0117] Unified memory 506, input memory 501, weighted memory 502, and instruction fetch memory 509 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.

[0118] in, Figure 3 and Figure 4 The operations of each layer in the convolutional neural network shown can be performed by the matrix computation unit or the vector computation unit 507.

[0119] Please see Figure 6 This is a framework diagram of a distributed task scheduling system provided in an embodiment of this application.

[0120] This distributed task scheduling system framework includes at least two devices for distributed task scheduling. Figure 6 The example uses three devices, A, B, and C, but in actual applications, there are no restrictions on the number of devices or the connection method.

[0121] Devices A, B, and C can be connected via wired or wireless connections, enabling data transmission between them. For example, devices A and B can be connected via a fiber optic network, or devices A and C can be connected via a wireless network (Wi-Fi).

[0122] In this embodiment of the application, the device can be a computer device, a large-screen TV, an audio device, glasses, a watch, an in-vehicle device, etc., or it can be a headset, a smart home device, an electronic door lock, a home appliance, etc. It is understood that it can also be more intelligent devices, such as a home peephole camera, but the specifics are not limited here.

[0123] Device A includes an application and plug-in service module, a task scheduling module, a task arbitration module, and a soft bus module. Correspondingly, devices B and C also include their respective applications and modules. Devices A, B, and C transmit data via a distributed soft bus. Specifically, the plug-in service module executes the target task. The task scheduling module receives and sends the target task. The task arbitration module arbitrates the target task to obtain an arbitration result. After receiving the arbitration results from other devices, the task scheduling module selects the device to execute the target task based on the arbitration results and sends the relevant target task data to that device for execution. The soft bus modules on each device update the device status information of all devices connected to the distributed soft bus, allowing each device to determine the status information of other devices through the soft bus modules, thus better identifying the device to execute the target task.

[0124] The following is combined Figures 1 to 6 The various descriptions and architectures are explained to illustrate the data processing methods in the embodiments of this application.

[0125] Please see Figure 7 This is a flowchart illustrating a data processing method according to an embodiment of this application.

[0126] In step 701, the second device sends the target task to the first device.

[0127] In a distributed task system, a second device generates a target task and sends the target task to one or more first devices.

[0128] Specifically, the second device generates a target task based on the scenario requirements. For example, this target task might be a facial recognition AI task. In one possible implementation, before sending the target task to the first device, the second device first determines whether it can execute the target task. For example, the second device obtains its current dynamic resource information, i.e., real-time hardware resource usage information, such as CPU utilization, GPU utilization, NPU utilization, memory utilization, network bandwidth, and current power consumption. The second device calculates its virtualized computing power based on this dynamic resource information, representing the computing power supported by the second device in its current state. Then, the second device determines the set of task resources required for the target task, such as the type of CPU, computing power, read-only memory (ROM), and power consumption required. The second device then determines whether it can execute the target task based on the set of task resources required and its virtualized computing power. If it can, the second device executes the target task; otherwise, it sends the target task to the first device.

[0129] In one possible implementation, after generating the target task, the second device directly sends the target task to one or more first devices to determine the most suitable device to perform the target task.

[0130] In one possible implementation, the second device sends the target task to all devices in the network recorded in the soft bus module, which stores information about all devices in the network. For example... Figure 8As shown, the soft bus module records devices A, B, C, and D. Under normal circumstances, devices A, B, C, and D are all operating normally and exchange heartbeat messages. Device A sends a target task, i.e., an arbitration request, to the other three devices. When device D goes offline, for example, due to a malfunction, devices A, B, and C, having lost their heartbeat messages with D, update their respective soft bus modules, removing device D from the network. The next time device A sends an arbitration request, it will only send the request to either device B or device C. During this process, because there is no central node, the resource information corresponding to the offline device does not need to be updated; it is only necessary to remove the offline device from the network, saving the resource consumption associated with updating offline devices.

[0131] In one possible implementation, the target task only carries task description information, i.e., a description of the task type, without carrying specific task data. This is because if the target task included the target data needed to execute it, the large amount of data would cause network congestion. Furthermore, if the device receiving the target task cannot execute it, receiving the task data would waste the resources allocated to receiving that data.

[0132] In one possible implementation, the second device transmits the target task via broadcast, i.e., on a specific frequency channel within the network corresponding to the soft bus module.

[0133] In step 702, the first device obtains task resource information based on the target task.

[0134] After receiving the target task, the first device obtains task resource information based on the target task.

[0135] Specifically, in one possible implementation, the first device acquires task resource information from the target task. This task resource information represents the hardware resources required to execute the target task. For example, when the target task is a face recognition task, the first device acquires information such as the CPU type required for the face recognition task, the computing power required, the ROM required, and the power consumption required to execute the face recognition task. It is understood that this set of task resources can be determined based on the specific requirements of the face recognition task, or it can be determined based on a corresponding task resource lookup table; the specifics are not limited here.

[0136] In step 703, the first device acquires dynamic resource information.

[0137] After receiving the target task, the first device obtains dynamic resource information, which represents the real-time usage information of the first device's hardware resources.

[0138] In one possible implementation, the first device collects dynamic resource information of the current device through a device feature set acquisition module. This dynamic resource information may include at least one of the following: CPU utilization, GPU utilization, NPU utilization, memory utilization, network bandwidth, power consumption, etc. It is understood that in practical applications, due to the different hardware resource information required by the target task, more dynamic resource information may be included; this is not limited here.

[0139] For example, when the first device is running, the CPU utilization rate is 20%, the GPU utilization rate is 5%, the NPU utilization rate is 15%, the memory utilization rate is 30%, the network bandwidth is 2 Mbps, and the power consumption is 100 MHz.

[0140] In step 704, the first device performs calculations based on dynamic resource information to obtain virtualized computing power.

[0141] After the first device obtains the dynamic resource information of the first device, the first device performs calculations based on the dynamic resource information to obtain the virtualized computing power, which represents the computing power supported by the first device in the current state.

[0142] Specifically, the first device performs trend calculations and analysis based on dynamic resource information to determine the virtualization computing power under the current device status. For example, when the dynamic resource information indicates that the CPU utilization rate is 20%, the GPU utilization rate is 5%, the NPU utilization rate is 15%, the memory utilization rate is 30%, the network bandwidth is 2 Mbps, and the power consumption is 100 MHz, the first device performs trend calculations and analysis on this dynamic resource information to obtain a virtualization computing power of 0.8T.

[0143] Understandably, in practical applications, the first device can also obtain virtualization computing power by calculating the dynamic resource information in more ways, such as through a comparison table of dynamic resource information and virtualization computing power, but this is not limited here.

[0144] In step 705, the first device obtains the arbitration result based on the task resource information and virtualization computing power.

[0145] After obtaining the task resource information and virtualization computing power, the first device obtains the arbitration result based on the task resource information and virtualization computing power. The arbitration result represents the score of the first device in executing the target task.

[0146] Specifically, in one possible implementation, the first device compares the task resource information, the task type of the target task, and the virtualization computing power to obtain a task execution score, which serves as the arbitration result. For example, if the target task is a face recognition task, and the task resource information includes the need to use CPU, GPU, and NPU for processing, and executing this face recognition task requires 1T of computing power, 30MB of ROM, and consumes 100MHz of power, while the first device has a virtualization computing power of 2T, then the task execution score is 70 points.

[0147] Understandably, in practical applications, the task execution score can be calculated using more methods based on virtualization computing power and task resource information; specific methods are not limited here.

[0148] In step 706, the first device sends the arbitration result to the second device.

[0149] After receiving the arbitration result, the first device sends the arbitration result to the second device.

[0150] Specifically, in one possible implementation, the first device sends the arbitration result to the second device via a distributed soft bus.

[0151] In step 707, the second device determines the target device as the device that performs the target task based on the arbitration result.

[0152] After receiving the arbitration results sent by one or more first devices, the second device determines the target device as the device that performs the target task based on the one or more arbitration results. The target device belongs to one of the one or more first devices, and the one or more arbitration results correspond one-to-one with one or more first devices.

[0153] Specifically, after the second device receives one or more arbitration results, the second device determines the arbitration result with the highest score based on the one or more arbitration results, that is, the optimal arbitration result among the one or more arbitration results, and determines the target device corresponding to the optimal arbitration result as the device to perform the target task.

[0154] Understandably, in practical applications, if there are arbitration results with the same score, the second device can randomly select one of the arbitration results corresponding to the target device to execute the target task, or it can continue to judge the device corresponding to the arbitration result with the same score to determine a better device to execute the target task. The specifics are not limited here.

[0155] In step 708, the second device sends the target task data to the first device.

[0156] Once the second device identifies the target device to perform the target task, the second device sends the target task data required for the target task to the target device.

[0157] Specifically, after receiving the target task data, the first device executes the target task according to the hardware resources of the first device.

[0158] In this embodiment, the first device obtains the arbitration result through the target task sent by the second device, and sends the arbitration result to the second device so that the second device can determine the device to perform the target task based on the arbitration result. This reduces the cross-device interaction process compared to a distributed system with a central node and improves the efficiency of interaction.

[0159] The data processing method in the embodiments of this application has been described above. The device in the embodiments of this application is described below. Please refer to [link / reference]. Figure 9 This is a structural schematic diagram of the device provided in this application.

[0160] An apparatus comprising:

[0161] The receiving unit 901 is used to receive a target task sent by the second device. The target task includes task description information and is generated by the second device.

[0162] The processing unit 902 is used to obtain an arbitration result based on the target task, and the arbitration result is used to represent the score of the first device in performing the target task;

[0163] The sending unit 903 is used to send the arbitration result to the second device, so that the second device determines the first device as the device to perform the target task based on the arbitration result.

[0164] In this embodiment, the operations performed by each unit of the device are the same as those described above. Figure 7 The steps performed by the first device in the illustrated embodiment are similar, and will not be described in detail here.

[0165] Please see Figure 10 This is another structural schematic diagram of the device provided in this application.

[0166] An apparatus comprising:

[0167] The receiving unit 1001 is used to receive a target task sent by the second device. The target task includes task description information and is generated by the second device.

[0168] The processing unit 1002 is used to obtain an arbitration result based on the target task, and the arbitration result is used to represent the score of the first device in performing the target task;

[0169] The sending unit 1003 is used to send the arbitration result to the second device, so that the second device determines the first device as the device to perform the target task based on the arbitration result.

[0170] Optionally, the device also includes:

[0171] The acquisition unit 1004 is used to acquire dynamic resource information, which represents the real-time usage information of the hardware resources of the first device.

[0172] The processing unit 1002 is also used to perform calculations based on dynamic resource information to obtain virtualized computing power, which represents the computing power supported by the first device in its current state.

[0173] The processing unit 1002 is specifically used to obtain the arbitration result based on the virtualization computing power and the target task.

[0174] Optionally, the processing unit 1002 is specifically used to obtain task resource information based on the target task, wherein the task resource information represents the hardware resources required to execute the target task;

[0175] The processing unit 1002 is specifically used to obtain the arbitration result based on the task resource information and virtualization computing power.

[0176] In this embodiment, the operations performed by each unit of the device are the same as those described above. Figure 7 The steps performed by the first device in the illustrated embodiment are similar, and will not be described in detail here.

[0177] Please see Figure 11 This is a structural schematic diagram of the device provided in this application.

[0178] An apparatus comprising:

[0179] The sending unit 1101 is used to send a target task to the first device. The target task includes task description information and is generated by the second device.

[0180] The receiving unit 1102 is used to receive the arbitration result sent by the first device, and the arbitration result is used to represent the score of the first device in performing the target task;

[0181] The determining unit 1103 is used to determine the first device as the device that performs the target task based on the arbitration result.

[0182] In this embodiment, the operations performed by each unit of the device are the same as those described above. Figure 7 The steps performed by the second device in the illustrated embodiment are similar, and will not be described in detail here.

[0183] Please see Figure 12 This is another structural schematic diagram of the device provided in this application.

[0184] An apparatus comprising:

[0185] The sending unit 1201 is used to send a target task to the first device. The target task includes task description information and is generated by the second device.

[0186] The receiving unit 1202 is used to receive the arbitration result sent by the first device, and the arbitration result is used to represent the score of the first device in performing the target task;

[0187] The determining unit 1203 is used to determine the first device as the device that performs the target task based on the arbitration result.

[0188] Optionally, the sending unit is specifically used to send the target task to multiple first devices;

[0189] The receiving unit 1202 is specifically used to receive multiple arbitration results sent by multiple first devices, and the multiple arbitration results correspond one-to-one with the multiple first devices;

[0190] The determining unit 1203 is specifically used to obtain a target arbitration result based on multiple arbitration results, wherein the target arbitration result is the optimal arbitration result among the multiple arbitration results;

[0191] The determining unit 1203 is specifically used to determine the corresponding target device as the device that performs the target task based on the target arbitration result. The target device belongs to one of a plurality of first devices.

[0192] Optionally, the device also includes:

[0193] Judgment unit 1204 is used to determine whether the second device can perform the target task;

[0194] If not, the step of the second device sending the target task to the first device is triggered.

[0195] Optionally, the sending unit 1201 is further configured to send target task data to the first device, the target task data being used by the first device to execute the target task.

[0196] In this embodiment, the operations performed by each unit of the device are the same as those described above. Figure 7 The steps performed by the second device in the illustrated embodiment are similar, and will not be described in detail here.

[0197] Please see Figure 13 This is another schematic diagram of the device structure provided in the embodiments of this application.

[0198] The system includes a processor 1301, a memory 1302, a bus 1305, and an interface 1304. The processor 1301 is connected to the memory 1302 and the interface 1304. The bus 1305 connects the processor 1301, the memory 1302, and the interface 1304. The interface 1304 is used to receive or send data. The processor 1301 is a single-core or multi-core central processing unit, a specific integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention. The memory 1302 can be random access memory (RAM) or non-volatile memory, such as at least one hard disk drive. The memory 1302 is used to store computer-executable instructions. Specifically, the computer-executable instructions may include a program 1303.

[0199] In this embodiment, when the processor 1301 calls program 1303, it can enable... Figure 13 The device in the middle performs the aforementioned Figure 7 The specific operations performed by the first device in the illustrated embodiment will not be described in detail here.

[0200] Please see Figure 14 This is another schematic diagram of the device structure provided in the embodiments of this application.

[0201] The system includes a processor 1401, a memory 1402, a bus 1405, and an interface 1404. The processor 1401 is connected to the memory 1402 and the interface 1404. The bus 1405 connects the processor 1401, the memory 1402, and the interface 1404. The interface 1404 is used to receive or send data. The processor 1401 is a single-core or multi-core central processing unit, a specific integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention. The memory 1402 can be random access memory (RAM) or non-volatile memory, such as at least one hard disk drive. The memory 1402 is used to store computer-executable instructions. Specifically, the computer-executable instructions may include a program 1403.

[0202] In this embodiment, when the processor 1401 calls program 1403, it can enable... Figure 13 The device in the middle performs the aforementioned Figure 7 The specific operations performed by the second device in the illustrated embodiment will not be described in detail here.

[0203] It should be understood that the processor mentioned in the device in the above embodiments of this application, or the processor provided in the above embodiments of this application, may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0204] It should also be understood that the number of processors in the devices of the above embodiments in this application can be one or more, and can be adjusted according to the actual application scenario. This is merely an illustrative example and is not intended to limit the scope. The number of memories in the embodiments of this application can be one or more, and can be adjusted according to the actual application scenario. This is merely an illustrative example and is not intended to limit the scope.

[0205] It should also be noted that when the device includes a processor (or processing unit) and a memory, the processor in this application may be integrated with the memory, or the processor and the memory may be connected through an interface. This can be adjusted according to the actual application scenario and is not limited.

[0206] This application provides a chip system including a processor for supporting devices in implementing the functions of the controller involved in the above-described methods, such as processing data and / or information involved in the above-described methods. In one possible design, the chip system further includes a memory for storing necessary program instructions and data. This chip system may be composed of chips or may include chips and other discrete devices.

[0207] In another possible design, when the chip system is a chip within a user equipment or access network, the chip includes a processing unit and a communication unit. The processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, pins, or circuitry. The processing unit can execute computer-executable instructions stored in a storage unit to cause the chip within the device to perform the aforementioned operations. Figure 7The steps performed by the device in the embodiment. Optionally, the storage unit is a storage unit within the chip, such as a register, cache, etc. The storage unit can also be a storage unit located outside the chip within the device, such as read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.

[0208] This application also provides a computer-readable storage medium storing a computer program thereon. When executed by a computer, the computer program implements the method flow executed by the device in any of the above method embodiments. Correspondingly, the computer can be the aforementioned device.

[0209] It should be understood that the controller or processor mentioned in the above embodiments of this application may be a central processing unit (CPU), or one or more combinations of other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0210] It should also be understood that the number of processors or controllers in the devices or chip systems in the above embodiments of this application may be one or more, and can be adjusted according to the actual application scenario. This is merely an illustrative example and is not intended to limit the scope. The number of memories in the embodiments of this application may be one or more, and can be adjusted according to the actual application scenario. This is merely an illustrative example and is not intended to limit the scope.

[0211] It should also be understood that the memory or readable storage medium mentioned in the devices and other components of the embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0212] Those skilled in the art will understand that the steps of the above embodiments, which are executed by a device or processor, can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory or random access memory. Specifically, for example, the processing unit or processor can be a central processing unit, a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0213] When implemented using software, the method steps described in the above embodiments can be implemented, in whole or in part, in the form of a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium, etc.

[0214] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.

[0215] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms "a," "the," and "the" used in the embodiments of this application are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that in the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship; for example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural.

[0216] Depending on the context, the words “if” or “suppose” as used here can be interpreted as “when” or “in response to determination” or “in response to detection.” Similarly, depending on the context, the phrase “if determination” or “if detection (of the condition or event of the statement)” can be interpreted as “when determination” or “in response to determination” or “when detection (of the condition or event of the statement)” or “in response to detection (of the condition or event of the statement).”

[0217] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A data processing method, characterized in that, include: The first device sends a heartbeat message to the second device, and the first device and the second device transmit data through a distributed soft bus. The first device receives a target task sent by the second device, the target task including task description information, and the target task is generated by the second device; The first device obtains an arbitration result based on the target task, and the arbitration result is used to represent the score of the first device in performing the target task; The first device sends the arbitration result to the second device, so that the second device determines the first device as the device to perform the target task based on the arbitration result.

2. The method according to claim 1, characterized in that, Before the first device obtains the arbitration result according to the target task, the method further includes: The first device acquires dynamic resource information, which represents the real-time usage information of the hardware resources of the first device. The first device performs calculations based on the dynamic resource information to obtain virtualized computing power, whereby the virtualized computing power represents the computing power supported by the first device in its current state. The first device obtains the arbitration result based on the target task, including: The first device obtains the arbitration result based on the virtualization computing power and the target task.

3. The method according to claim 2, characterized in that, The first device obtains the arbitration result based on the virtualization computing power and the target task, including: The first device obtains task resource information based on the target task, wherein the task resource information represents the hardware resources required to execute the target task; The first device obtains the arbitration result based on the task resource information and the virtualization computing power.

4. A data processing method, characterized in that, include: The second device receives heartbeat messages from other devices and records the network devices of the distributed soft bus. The network devices and the second device transmit data through the distributed soft bus. The second device sends a target task to the networking device. The target task includes task description information. The target task is generated by the second device. The networking device includes the first device. The second device receives the arbitration result sent by the first device, the arbitration result being used to represent the score of the first device in performing the target task; The second device determines the first device as the device that performs the target task based on the arbitration result.

5. The method according to claim 4, characterized in that, The second device sends the target task to the networking device, including: The second device sends the target task to multiple first devices; The second device receives the arbitration result sent by the first device, including: The second device receives multiple arbitration results sent by the plurality of first devices, and the plurality of arbitration results correspond one-to-one with the plurality of first devices; The second device determines the first device as the device performing the target task based on the arbitration result, including: The second device obtains a target arbitration result based on the multiple arbitration results, wherein the target arbitration result is the optimal arbitration result among the multiple arbitration results; The second device determines the corresponding target device as the device that performs the target task based on the target arbitration result, and the target device belongs to one of the plurality of first devices.

6. The method according to claim 4 or 5, characterized in that, Before the second device sends the target task to the first device, the method further includes: The second device determines whether it can perform the target task; If not, then the step of the second device sending the target task to the first device is triggered.

7. The method according to any one of claims 4 to 6, characterized in that, After the second device determines that the first device is the device performing the target task based on the arbitration result, the method further includes: The second device sends target task data to the first device, and the target task data is used by the first device to execute the target task.

8. A device, characterized in that, The device and the second device transmit data via a distributed soft bus. The device includes: A receiving unit is configured to receive a target task sent by the second device, the target task including task description information, and the target task being generated by the second device. A processing unit is configured to obtain an arbitration result based on the target task, the arbitration result being used to represent a score for the first device in performing the target task; The sending unit is configured to send a heartbeat message to the second device and to send the arbitration result to the second device, so that the second device determines the first device as the device performing the target task based on the arbitration result.

9. The device according to claim 8, characterized in that, The device also includes: An acquisition unit is used to acquire dynamic resource information, wherein the dynamic resource information represents the real-time hardware resource usage information of the first device; The processing unit is further configured to perform calculations based on the dynamic resource information to obtain virtualized computing power, wherein the virtualized computing power represents the computing power supported by the first device in its current state; The processing unit is specifically used to obtain the arbitration result based on the virtualization computing power and the target task.

10. The device according to claim 9, characterized in that, The processing unit is specifically used to obtain task resource information based on the target task, wherein the task resource information represents the hardware resources required to execute the target task; The processing unit is specifically used to obtain the arbitration result based on the task resource information and the virtualization computing power.

11. A device, characterized in that, include: A sending unit is used to send a target task to a networking device. The target task includes task description information. The target task is generated by the second device. The networking device is a network device that records a distributed soft bus through heartbeat messages received from other devices. The networking device includes a first device. The networking device and the first device transmit data through the distributed soft bus. A receiving unit is configured to receive heartbeat messages from other devices and to receive an arbitration result sent by the first device, the arbitration result being used to represent a score of the first device in performing the target task; A determining unit is configured to determine, based on the arbitration result, that the first device is the device performing the target task.

12. The device according to claim 11, characterized in that, The sending unit is specifically used to send target tasks to multiple first devices; The receiving unit is specifically used to receive multiple arbitration results sent by the multiple first devices, and the multiple arbitration results correspond one-to-one with the multiple first devices; The determining unit is specifically used to obtain a target arbitration result based on the multiple arbitration results, wherein the target arbitration result is the optimal arbitration result among the multiple arbitration results; The determining unit is specifically used to determine, based on the target arbitration result, the corresponding target device as the device that performs the target task, wherein the target device belongs to one of the plurality of first devices.

13. The device according to claim 11 or 12, characterized in that, The device also includes: The determination unit is used to determine whether the second device can perform the target task; If not, then the step of the second device sending the target task to the first device is triggered.

14. The device according to any one of claims 11 to 13, characterized in that, The sending unit is further configured to send target task data to the first device, the target task data being used by the first device to execute the target task.

15. A readable storage medium for storing instructions that, when executed, cause the method of any one of claims 1-7 to be implemented.