An edge computing task offloading method and related device
By employing an encrypted region selection model and a symmetric encryption algorithm in edge computing, sensitive regions of task image data are identified and encrypted, thus solving the security problem of privacy-sensitive data in edge computing and achieving secure and efficient data transmission and processing.
Patent Information
- Application Number
- CN202511061582.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-31
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2045-07-31
AI Technical Summary
Existing edge computing offloading solutions have not effectively addressed security issues in data transmission and computation processes when handling privacy-sensitive data, especially when transmitting over wireless channels, where data faces the risk of being stolen, tampered with, or leaked.
By using the encrypted region selection model on the terminal side to identify encrypted regions in the task image data, generating feature hash values and determining the key length according to the privacy level, using the encryption key to encrypt sensitive regions, and decrypting on the edge server side, it is ensured that the encryption key is closely related to the encrypted region, and a symmetric encryption algorithm such as AES-GCM is used for data transmission.
It improves data security and privacy protection, reduces computational overhead, enables flexible adjustment of encryption strength to adapt to the privacy needs of different tasks and users, and ensures the confidentiality and integrity of data during transmission and processing.
Smart Images

Figure CN120561971B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computer, and particularly relates to an edge computing task offloading method and related equipment. BACKGROUND
[0002] With the rapid development of information technology, mobile edge computing has become a key technology to solve the computing power bottleneck of intelligent devices. Mobile edge computing offloads computing tasks to edge servers closer to users, which not only effectively reduces the latency and energy consumption of smart mobile devices (SMD), but also improves the processing capacity of applications. However, with the diversification and complexity of computing tasks, especially tasks involving privacy-sensitive data (such as personal identity, images, videos, etc.), how to optimize the offloading strategy of edge computing tasks while ensuring data privacy has become a challenge to be solved.
[0003] Existing edge computing offloading schemes usually achieve reasonable scheduling of resources by assigning task computing to edge servers. Although this approach can significantly reduce the computing burden of smart mobile devices, security issues still exist in the transmission and computing process of data when dealing with privacy-protected data. Especially when computing tasks are transmitted to edge servers through wireless channels, data may face the risk of being stolen, tampered with, or leaked. Therefore, how to ensure the confidentiality and integrity of data during the data offloading process, especially in the processing of privacy-sensitive tasks, has become a core problem in the current edge computing field. SUMMARY
[0004] The present disclosure provides an edge computing task offloading method and related equipment to at least solve the above technical problems existing in the prior art.
[0005] The technical scheme of the embodiments of the present disclosure is implemented as follows:
[0006] In a first aspect, the embodiments of the present disclosure provide an edge computing task offloading method, which is applied to a terminal, and the method comprises:
[0007] determining computing task data, wherein the computing task data comprises task image data and a privacy level;
[0008] identifying the task image data by using an encryption region selection model to determine an encryption region in the task image data; performing feature extraction on the encryption region to obtain encryption region data; and generating a feature hash value according to the encryption region data;
[0009] determining a key length according to the privacy level, and generating an encryption key conforming to the constraint of the key length according to the feature hash value and target data;
[0010] The encrypted region in the task image data is encrypted using the encryption key to obtain the encrypted task image data;
[0011] The encrypted computing task data is sent to the edge server. The encrypted computing task data includes encrypted task image data, privacy level, and region identifier. The region identifier is used to indicate the encrypted region in the task image data.
[0012] Secondly, embodiments of this disclosure provide an edge computing blockchain offloading method, the method being applied to an edge server, the method comprising:
[0013] The system receives encrypted computing task data from a terminal. The computing task data includes encrypted task image data, a privacy level, and a region identifier, wherein the region identifier is used to indicate an encrypted region in the task image data.
[0014] The encrypted region data is determined based on the region identifier, and a feature hash value is generated based on the encrypted region data.
[0015] The key length is determined based on the privacy level, and a decryption key that conforms to the constraints of the key length is generated based on the feature hash value and the target data.
[0016] The encrypted task image data is decrypted using the decryption key to obtain the decrypted task image data;
[0017] The task processing is performed based on the computational task data and the decrypted task image data.
[0018] Thirdly, embodiments of this disclosure provide an edge computing task offloading device, the device being applied to a terminal, the device comprising:
[0019] The first processing module is used to determine the computation task data, which includes: task image data and privacy level.
[0020] The second processing module is used to identify the task image data using an encrypted region selection model, determine the encrypted region in the task image data; extract features from the encrypted region to obtain encrypted region data; generate a feature hash value based on the encrypted region data; determine the key length based on the privacy level; and generate an encryption key that conforms to the constraints of the key length based on the feature hash value and the target data.
[0021] The third processing module is used to encrypt the encrypted area in the task image data using the encryption key to obtain the encrypted task image data.
[0022] The first communication module is configured to send the encrypted computing task data to an edge server, the encrypted computing task data comprising encrypted task image data, a privacy level, and a region identifier, the region identifier being used to indicate an encrypted region in the task image data.
[0023] In a fourth aspect, an embodiment of the present disclosure provides an edge computing task offloading apparatus, the apparatus being applied to an edge server, and the apparatus comprising:
[0024] The second communication module is configured to receive encrypted computing task data from a terminal, the computing task data comprising encrypted task image data, a privacy level, and a region identifier, the region identifier being used to indicate an encrypted region in the task image data.
[0025] The fourth processing module is configured to determine encrypted region data according to the region identifier, to generate a feature hash value according to the encrypted region data, to determine a key length according to the privacy level, and to generate a decryption key conforming to a constraint of the key length according to the feature hash value and target data.
[0026] The fifth processing module is configured to decrypt the encrypted task image data by using the decryption key to obtain decrypted task image data.
[0027] The sixth processing module is configured to perform task processing according to the computing task data and the decrypted task image data.
[0028] In a fifth aspect, an embodiment of the present disclosure provides an electronic device, comprising at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform any of the edge computing task offloading methods.
[0029] In a sixth aspect, an embodiment of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, the computer instructions being used to enable a computer to perform any of the edge computing task offloading methods.
[0030] The embodiments of the present disclosure have the following beneficial effects:
[0031] The edge computing task offloading method, device, storage medium and electronic device provided by the embodiments of the present disclosure are used to determine computing task data by a terminal, wherein the computing task data comprises task image data and a privacy level; an encryption region selection model is used to identify the task image data, and an encryption region in the task image data is determined; feature extraction is performed on the encryption region to obtain encryption region data; a feature hash value is generated according to the encryption region data; a key length is determined according to the privacy level, and an encryption key conforming to the constraint of the key length is generated according to the feature hash value and target data; the encryption region in the task image data is encrypted by using the encryption key to obtain encrypted task image data; and the encrypted computing task data is sent to the edge server, wherein the encrypted computing task data comprises the encrypted task image data, the privacy level and a region identifier, and the region identifier is used to indicate the encryption region in the task image data. Correspondingly, the edge server can perform a corresponding decryption operation. In this way, the encryption region is determined by using the encryption region selection model, and then the encryption key is derived based on the encryption region, so as to ensure that the encryption key is closely related to the encryption region it protects, thereby improving the security of data, and the encryption method maintains low operation.
[0032] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0033] Figure 1 A structural schematic diagram of an edge network provided by an embodiment of the present disclosure;
[0034] Figure 2 A flowchart of an edge computing task offloading method provided by an embodiment of the present disclosure;
[0035] Figure 3 A flowchart of another edge computing task offloading method provided by an embodiment of the present disclosure;
[0036] Figure 4 A structural schematic diagram of an edge computing task offloading device provided by an embodiment of the present disclosure;
[0037] Figure 5 A structural schematic diagram of an edge computing task offloading device provided by an embodiment of the present disclosure;
[0038] Figure 6 A structural schematic diagram of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0039] In order to make the objects, characteristics and advantages of the present disclosure more apparent and easy to understand, the technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only some of the embodiments of the present disclosure, but not all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present disclosure.
[0040] In the following description, "some embodiments" are described, which describe a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0041] If similar descriptions of "first / second" appear in the application file, the following description is added. In the following description, the terms "first\second\third" referred to only distinguish similar objects, and do not represent a specific order of the objects. It can be understood that "first\second\third" can be interchanged in a specific order or sequence as allowed, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application, and are not intended to limit the present application.
[0043] Figure 1 A structural schematic diagram of an edge network is provided for the embodiments of the present disclosure. As shown in Figure 1 The edge network includes a user intelligent device, a base station and an edge server.
[0044] The edge server is a physical server with a certain storage capacity and computing performance. The computing resources of the edge server are also limited, and are not infinite. Therefore, the edge server can only meet the computing needs of a certain amount of data at the same time.
[0045] The user intelligent device can be a terminal such as a mobile phone, a smart phone, a notebook computer, a digital broadcast receiver, a personal digital assistant (PDA), a tablet computer (PAD), a portable multimedia player (PMP), a wearable device (such as a smart bracelet, a smart watch, etc.), a navigation device, etc. The terminal can communicate with the edge server through the base station device.
[0046] In a mobile edge computing environment, a user can offload a compute-intensive service in a terminal to an edge server, thereby avoiding the limitations of network status fluctuations, limited power, and high CPU current load occupancy, etc. in the terminal, and can greatly reduce the latency or energy consumption while completing the service computation, or obtain an optimal result by combining both. However, the system also needs to avoid malicious users who excessively request resources and occupy a large amount of computing power, thereby reducing the stability and usability of the system.
[0047] When a terminal has a demand for a compute-intensive service to be processed, it can choose to execute locally or offload to an edge server for execution. When the terminal is unable to complete the computation service processing due to network status fluctuations, low power, high CPU current load occupancy, and other external factors, it can choose to offload the computation service to the edge, and the edge returns the computation result to the mobile device through a wireless channel after completing the computation.
[0048] Compute task offloading refers to transferring some computing and processing tasks from a terminal (such as a smartphone, sensor, computer, etc.) to an edge server. Generally, the computing power of a terminal is limited, while an edge server can process data more efficiently, reducing latency and bandwidth consumption. For example, a smart device can send part of the data processing task to a nearby edge server for processing, using the edge server to speed up the response, especially in application scenarios that require fast real-time processing (such as smart cities, the Internet of Things, autonomous driving, etc.).
[0049] Figure 2 A flowchart of an edge computing task offloading method provided by an embodiment of the present disclosure is shown in FIG. 1, which is applied to a terminal. The method comprises the following steps. Figure 2
[0050] Step 201: Determine the computation task data, which includes task image data and a privacy level.
[0051] Step 202: Identify the task image data using an encryption region selection model to determine the encryption region in the task image data; perform feature extraction on the encryption region to obtain encryption region data; and generate a feature hash value based on the encryption region data.
[0052] Step 203: Determine the key length based on the privacy level, and generate an encryption key that meets the constraints of the key length based on the feature hash value and target data.
[0053] Step 204: Encrypt the encryption region in the task image data using the encryption key to obtain encrypted task image data.
[0054] Step 205, send the encrypted computing task data to the edge server, the encrypted computing task data includes encrypted task image data, privacy level and area identifier, the area identifier is used to indicate the encrypted area in the task image data.
[0055] Here, considering that although the blockchain technology ensures the integrity and tamper resistance of the on-chain task digest data through hashing and digest, the actual computing task data (especially the tasks containing sensitive images) still faces potential privacy leakage risks in the process of uploading from the terminal to the edge server, and in the storage and processing on the edge server. Therefore, the disclosure embodiment proposes to encrypt the uploaded task data when the terminal uploads the task. Specifically, in the present disclosure embodiment, an incomplete random key is generated, and the key is derived from the unique characteristics of the sensitive area in the task image data to ensure that the encryption key is closely related to the sensitive area it protects.
[0056] By encrypting the sensitive area in the image (i.e. the encrypted area (MASK) in the task image data) according to its privacy level (denoted as V), a secure and trusted edge computing offloading framework is constructed to ensure security, while the encryption method maintains low operation. Not only does it avoid the problem of lack of flexibility of static encryption schemes for dynamically changing privacy requirements (such as different privacy levels of different tasks or different users), but it also greatly improves the flexibility and security of the encryption process, and can dynamically adjust the encryption strength according to the task requirements without increasing additional computational overhead.
[0057] In some embodiments, the privacy level can be provided by the edge server to the terminal. The privacy level and the encryption strength have a mapping relationship, and the higher the value of the privacy level, the more the image content needs to be protected, and the higher the encryption strength.
[0058] Here, by mapping the privacy level to different AES key lengths, a mapping relationship between the privacy level and the encryption strength is established. The terminal and the edge server can determine the required key length according to the privacy level, thereby generating an encryption key that meets the constraints of the key length.
[0059] For example, V = 1, indicating a low privacy level, the encryption algorithm uses AES-128, and the key length uses 128 bits; this case can provide basic protection with the lowest computational overhead.
[0060] V = 2, indicating a medium privacy level, the encryption algorithm uses AES-192, and the key length uses 192 bits; this case can provide stronger protection with moderate computational overhead.
[0061] V=3, which represents a high privacy level, and the encryption algorithm uses AES-256 with a key length of 256 bits; this case can provide the highest level of protection, but also has the highest computational overhead.
[0062] V=0 (or V is not specified), which represents a very low privacy level or no encryption, and a very lightweight method (such as a simple XOR pseudo-random number stream) can be used, but at least AES-128 is recommended for security and robustness considerations. Here, for simplicity of the model, it is assumed that V≥1 requires encryption.
[0063] In some embodiments, after determining the encryption region using the encryption region selection model, an encryption key is generated based on the features of the encryption region. Here, the encryption region can be a part of the sensitive region in the image, and assuming that the image to be encrypted is a portrait image, the encryption region determined based on the encryption region selection model can only be the face part of the image.
[0064] Here, in order to ensure that the same key can be generated for each encryption region regardless of the original data format of the encryption region, a unified normalization feature extraction is performed on the data of the encryption region to obtain the encryption region data. The normalization processing method can be set based on actual needs and is not limited.
[0065] Two examples of normalization processing methods are provided below.
[0066] In one example, a binary MASK (such as an image mask) is used, specifically, each pixel (0 or 1, 0 represents no need for encryption, i.e., not belonging to the encryption region, and 1 represents the need for encryption, i.e., belonging to the encryption region) in the image data is arranged in a certain fixed order (such as from top to bottom, from left to right) to form a deterministic binary bit string.
[0067] For example, assuming a 3x3 image, by using the binary MASK method, each pixel value is arranged in the order from top to bottom, from left to right, and a binary bit string can be obtained, assuming 100110001. This deterministic binary bit string can be used to represent the content of the image.
[0068] In another example, a region MASK (such as a coordinate list) is used, specifically, the coordinate points of all polygon regions are sorted in ascending order, and these coordinate values are converted into standardized binary representation.
[0069] For example, there is a simple polygonal region whose vertex coordinates are: (2, 3), (4, 5), (3, 7), (1, 6); these coordinate points are sorted in ascending order (first sorted by x coordinate, and if the x coordinate is the same, sorted by y coordinate): (1, 6), (2, 3), (3, 7), (4, 5); these coordinates are converted into standardized binary representation. Assume that the x and y values of each coordinate are in the range [0, 10], and the coordinates are converted into fixed-length binary representation by some means (such as simple proportional mapping). For example, x = 1 is converted to binary representation 00001, and y = 6 is converted to binary representation 00110; after converting the x and y of all coordinate points, the binary bit string is obtained: 00001 00110 00010 00011 00011 0011100100 00101, which is the normalized binary representation obtained by the region MASK method.
[0070] The normalized binary representation obtained according to the above example (i.e., the encrypted region data) can be represented as:
[0071] where Canonicalize(·) represents converting the original encrypted region to a deterministic standardized representation.
[0072] In some embodiments, the generating an encryption key according to the feature hash value and the target data comprises:
[0073] determining target data, the target data comprising at least one of: context information, a salt value, the context information and the salt value being previously agreed upon by the terminal and the edge server;
[0074] generating an encryption key according to the target data and the feature hash value based on a key derivation function.
[0075] In some embodiments, the method further comprises at least one of:
[0076] previously agreeing with the edge server on the salt value;
[0077] sending the context information to the edge server.
[0078] Specifically, after obtaining the normalized encrypted region data, a feature hash is generated according to the encrypted region data, and the specific method can be: by performing hash processing on the normalized encrypted region data, a fixed-length hash value is ensured to be generated, which is used for subsequent key derivation.
[0079] The hash algorithm used here can be SHA-256 or SHA-3, etc., which can convert encrypted region data in different formats into a uniform length of hash value. The hash process can be represented as: . Wherein, represents the hash value of the mask (i.e. the encrypted region), i.e. the feature hash value, with a fixed length (e.g. 256 bits).
[0080] After obtaining the feature hash value , the encrypted key corresponding to the encrypted region data is generated, and here the key derivation function (KDF) is used to derive the symmetric key from the above feature hash value.
[0081] For example, the KDF is specifically HKDF (HMAC-based Key Derivation Function), which takes the input feature hash value, salt value (Salt), context information and key length as input to generate the final key.
[0082] The KDF formula can be represented as: .
[0083] Wherein, salt is a salt value used to enhance the security of the key, and the salt value is very important, which is a fixed key value agreed upon by the local terminal and the edge server and cannot be sent.
[0084] For the feature hash value obtained according to the encrypted region, the feature hash value is taken as one of the input key materials, and the generated key is closely related to the encrypted region.
[0085] Info represents the context information (such as task ID or encryption type, etc.), which can be pre-agreed by the terminal and the edge server, such as agreeing to determine the context information with the task ID, or sent by the terminal to the edge server, which is not limited here.
[0086] represents the key length, which is determined according to the above privacy level .
[0087] By the above key derivation method, on the one hand, since each key is uniquely derived through its encryption region, the life cycle of the key is directly bound to the encryption region, for example, if the encryption region changes, the derived key will also change accordingly. This binding ensures the simplification of key management, without the need to explicitly store each key, but can be derived by the encryption region data and related parameters. Through the above derivation process, the generation of the key is deterministic, as long as the data of the encryption region, the privacy level V, the salt value and the context information (such as the task ID) are consistent, the same key will be generated whenever it is re-derived. In this way, the decrypting party only needs to have the encryption region data and other related parameters to re-derive the correct key. If the encryption region changes in any way (even if it is a small change), its normalized representation will change, thereby causing change, thereby deriving a new key, and this mechanism provides automatic key rotation without the need for manual update.
[0088] On the other hand, since the key is derived by the terminal based on the above method, rather than being transmitted, the terminal only needs to send the encryption region data, the privacy level and the context information to the decrypting party (such as the edge server), and does not need to transmit the key itself. The edge server uses these information to re-derive the key according to the agreed non-transmitted salt value, according to the same key derivation process, and can perform decryption, thereby improving the security of data transmission. At the same time, after the decrypting party (such as the edge server) decrypts to obtain the original image, it can also determine whether the data has been tampered with by taking the encryption region of the decrypted image, and verify the correctness of the decryption process.
[0089] In this way, the encryption region (such as the face and the background) of each image is encrypted using the MDK derived key. The terminal and the edge server can use the same derivation process for encryption and decryption.
[0090] By the above method of deriving the corresponding key based on the encryption region and encrypting the image, when the data is offloaded to the edge server, the sensitive region of the data is encrypted, ensuring that the edge server can only decrypt the data under the correct context and conditions. Here, the key is derived by the features of the encryption region, greatly simplifying key management and distribution, while enhancing the security of encrypted data. The above method is particularly suitable for edge computing and mobile device scenarios, achieving efficient execution under the balance of privacy protection and resource management.
[0091] In some embodiments, after the key derivation is completed (i.e., the key is generated according to the feature hash value, privacy level, salt value, and context information), the key is used to encrypt and / or decrypt data. To ensure that the data in the encrypted region is not leaked, it is proposed to use a symmetric encryption algorithm (such as AES) to encrypt the region. Specifically, the AES-GCM (Authenticated Encryption with Associated Data) mode can be used to ensure both confidentiality and authentication.
[0092] Specifically, the encrypted region in the task image data is encrypted using the encryption key to obtain encrypted task image data, including:
[0093] The symmetric encryption algorithm is used to encrypt the encrypted region in the task image data according to the encryption key and the initialization vector to obtain encrypted task image data, which can include: ciphertext corresponding to the encrypted region after encryption, and original data corresponding to other non-encrypted regions.
[0094] Here, only the privacy-sensitive region (i.e., the encrypted region) in the task image data is encrypted, significantly reducing the computational load of encryption and / or decryption, and effectively saving computing resources.
[0095] Here, according to the generated encryption key, it is proposed that the symmetric encryption algorithm can be used to encrypt the encrypted region, which can specifically include:
[0096] 1. Data preparation: Prepare the original data (such as images, coordinate regions, metadata, etc.) of the encrypted region to be encrypted as plaintext. Use the region identifier (region_id) to determine the encrypted region to be encrypted, which can be a certain region in the image as shown in the example above.
[0097] 2. Determine the data required for encryption, including:
[0098] Symmetric key (K), specifically the derived encryption key as the symmetric key;
[0099] Initial vector (IV): AES-GCM mode usually requires a unique random initialization vector (IV) for "randomness" in the encryption process.
[0100] Authentication tag (Tag): In AES-GCM, an authentication tag (Tag) is generated to ensure data integrity and authentication.
[0101] 3. Use the symmetric encryption algorithm to encrypt the encrypted region, as follows:
[0102]
[0103] wherein, represents the encryption mode adopted, represents the ciphertext after encryption, represents the original data of the encryption region (i.e., the MASK region) to be encrypted, represents the derived encryption key, represents the initialization vector (a unique IV can be generated according to each ID device).
[0104] After completing the encryption, the terminal sends the encrypted data (C) to the edge server together with the authentication tag (Tag). At the same time, the region identifier region_id, the privacy level V, and other possible context information (such as the task ID) are sent. The salt value is a key commonly held by the edge server and the terminal, and does not need to be sent. Since the key is derived from the encryption region and the privacy level, during transmission, the edge server can re-derive the key and perform decryption by sending information such as the region identifier, the privacy level, etc. to the edge server.
[0105] In some embodiments, the method further comprises:
[0106] training a generative adversarial network using the labeled image dataset, and obtaining the encryption region selection model according to the trained generative adversarial network; or
[0107] sending the labeled image dataset to the edge server, and receiving the encryption region selection model trained by the edge server based on the labeled image dataset;
[0108] wherein the labeled image dataset comprises at least one image data and a label corresponding to each image data;
[0109] the generative adversarial network comprises a discriminator and a generator;
[0110] the input of the generator comprises image data, a label, a privacy level, and / or a task response time tolerance, and the output of the generator comprises an encryption region;
[0111] the input of the discriminator comprises image data after encryption of the encryption region, and the output of the discriminator is a discrimination result for the image data;
[0112] the training target of the generative adversarial network comprises that the image data after encryption of the encryption region cannot be correctly discriminated by the discriminator.
[0113] Here, the encryption region selection model is obtained by adversarial training. The training can be performed by the terminal or the edge server side. If the edge server side performs the training, the terminal can send a labeled image dataset to the edge server, and the edge server trains the encryption region selection model based on the labeled image dataset. Then, the terminal receives the encryption region selection model sent by the edge server.
[0114] The following provides an example of training an encryption region selection model by an edge server. Specifically, the example includes the following steps:
[0115] Obtain a training dataset; construct a generative adversarial network (GAN), and train the generative adversarial network (GAN) based on the training dataset.
[0116] Here, each terminal device creates a labeled image dataset, which includes portrait images and corresponding name labels of the persons in the images. The terminal sends the image dataset to the edge server.
[0117] Here, the generative adversarial network (GAN) constructed by the edge server includes a discriminator D and a generator G.
[0118] The discriminator D is a face recognition network, which is used to identify the input image. The input of the discriminator D is a portrait image P, and the output of the discriminator D is a corresponding name label.
[0119] The generator G is an encryption region selection model, which is responsible for determining which regions of the image need to be encrypted. The input of the model includes:
[0120] Labeled image data: such as an HxWx3 image P, where H is the number of rows (height) of the image, W is the number of columns (width) of the image, and 3 represents three color channels (RGB) for each pixel;
[0121] Privacy level V: representing the sensitivity of privacy, which can be 1, 2, or 3;
[0122] Task response time tolerance t: the maximum delay time that the task can tolerate.
[0123] The output of the model is an encryption region (MASK), which can be represented as an HxWx1 MASK matrix. Each point in the matrix is either 0 or 1, indicating whether the position needs to be encrypted. For example, 0 means no encryption, and 1 means encryption.
[0124] Specifically, the edge server collects all image data from the terminal devices and constructs a dataset. For each image P, J values t1, t2, …, t low high ] are randomly sampled, and the generator G is trained based on the J values t1, t2, …, t J , together with the privacy level (V = 1, 2 or 3), a total of 3xJ training samples are generated. The generator G and the discriminator D are trained together using the 3xJ training samples. The training target of the discriminator D is to accurately identify the name of the person corresponding to the image, and the training target of the generator G is to generate a MASK matrix of the encrypted region, so that the image encrypted by the region selection encryption cannot be correctly identified by the discriminator D.
[0125] In each round of training, the process is as follows:
[0126] Generate an encrypted region using the generator G;
[0127] Encrypt the encrypted region using the AES encryption method to obtain the corresponding encrypted image P';
[0128] Calculate the loss function, where the discriminator D and the generator G use the loss functions L D and L G for training, L D is the loss function of the discriminator D, and L G is the loss function of the generator G; respectively as follows:
[0129]
[0130]
[0131] where N is the number of elements of the original image set, which is also equal to the size of the encrypted image set. is an image in the image set; for L D , the original image set P and the encrypted image set P' are both traversed, and for L G only the encrypted image set P' is traversed. is the true label corresponding to , is the identification result of the discriminator D. represents the sum of all elements of the MASK matrix, representing the number of encrypted pixels; w v and w t are the weights corresponding to the privacy level V and the task response time tolerance t, which limit the size of the MASK region selected by G.
[0132] Through the training of the above loss function, the image data encrypted by the encrypted region obtained can be correctly identified by the discriminator.
[0133] The above loss function can also be:
[0134]
[0135]
[0136] After multiple rounds of training, when the loss functions of the generator and the discriminator no longer have significant changes, the training can be ended, and the model is converged. After the training is completed, the edge server distributes the trained generator G to all terminals as an encryption region selection model. The terminal uses the encryption region selection model to select the encryption region of the image.
[0137] In some embodiments, the method further comprises:
[0138] determining a state of the edge server and first information of the terminal, the first information comprising: device state and computing task information of the terminal;
[0139] determining an offloading decision according to the state and the first information, the offloading decision representing whether to offload the computing task to the edge server;
[0140] performing task processing or offloading the task to the edge server according to the offloading decision;
[0141] wherein the state is a first state or a second state;
[0142] if the state is the first state, the computing task information comprises at least one of: a first latency, a first energy consumption, a second latency, a second energy consumption, a calculation amount of image data corresponding to the terminal encryption computing task;
[0143] if the state is the second state, the computing task information comprises at least one of: a first latency, a first energy consumption, a second latency, a second energy consumption, a third latency, a third energy consumption, a fourth latency, a fourth energy consumption, a calculation amount of image data corresponding to the terminal encryption computing task;
[0144] the third latency represents a latency required by the terminal to perform a proof of work, and the third energy consumption represents an energy consumption required by the terminal to perform the proof of work, the proof of work being generated based on a to-be-processed task from the edge server;
[0145] the fourth latency represents a latency required by the terminal to perform a computing task on a chain, and the fourth energy consumption represents an energy consumption required by the terminal to perform the computing task on the chain;
[0146] the first latency represents a latency required to perform a computing task, and the first energy consumption represents an energy consumption required to perform the computing task; the second latency represents a latency consumed if the computing service is offloaded to the edge server, and the second energy consumption represents an energy consumption consumed if the computing service is offloaded to the edge server.
[0147] Here, the proof of work is generated based on the actual need to process the pending tasks from the edge server, that is, the actual execution of the task is taken as the proof of work, ensuring that each calculation can provide meaningful results, rather than wasting computing power, so that each computing service can produce valuable results, improve the efficient use of computing resources, and avoid malicious users relying on computing power to occupy system resources.
[0148] In addition, the offloading strategy is determined considering the state of the edge server, the state of the terminal and the first information of the computing task of the terminal, which realizes efficient use of edge computing resources and guarantees the stability and scalability of the system in a variable environment.
[0149] In some embodiments, the state of the edge server is determined by:
[0150] Receiving state indication information from the edge server, the state indication information being used to indicate the state of the edge server;
[0151] The first state represents that the edge server allows the terminal to unconditionally offload the computing task of the terminal to the task execution list of the edge server;
[0152] The second state represents that the edge server does not allow the terminal to unconditionally offload the computing task of the terminal to the task execution list of the edge server.
[0153] Here, the terminal can actively inquire about offloading, such as sending an inquiry signal to the edge server to inquire about the state of the edge server. If the edge server is currently busy, it will give a busy state, for example, the current edge server has many pending tasks or the required processing task has a large amount of calculation. The edge server can determine whether it is busy based on some rules to check and determine itself, and the method of determining the state of the edge server is not limited here.
[0154] The state of the edge server is denoted as c t , representing different states. For example: c t , representing different states. For example:
[0155] c t =1, representing the first state, representing that the edge server is relatively idle, and the edge server allows all terminals to unconditionally offload the computing task in the terminal to the task execution list of the edge server.
[0156] c t= 0, representing the second state, characterizing that the edge server is relatively busy, and the edge server does not allow all terminals to unload the computation in the terminal to the task execution list of the edge server unconditionally. The task needs to be encoded on the chain in the manner of the blockchain, and the edge server performs the chain operation to decode the transaction metadata digest into its own cache.
[0157] Here, the unloading decision determined by the terminal is denoted as , , indicating that the computation task is completed locally in the terminal, and if there is an existing but not completed computation task (recorded through the computation task list ) before the computation task, the task in the to-be-completed computation task list can be determined to be completed locally in the terminal after the task. , indicating that the computation task is unloaded to the edge server to complete the computation.
[0158] In some embodiments, the device state includes at least one of the following: network status, remaining battery percentage, CPU (Central Processing Unit) load occupancy, computation task information.
[0159] Here, each terminal can check its own device state and computation task information, determine the above information, wherein the number of to-be-processed computation tasks can be N (N is greater than or equal to 1), and the computation task information can include a plurality of computation tasks, each computation task can correspond to different parameters, and the number of parameters can be one or more.
[0160] Here, the terminal state (i.e., the first information) can be represented as state , wherein f represents the fthterminal device, i.e., the device number of the terminal, is all to-be-processed computation tasks of the current terminal f.
[0161] n t : represents the network status of the terminal at time t, which can be represented by signal strength.
[0162] e t : represents the remaining battery percentage of the terminal at time t.
[0163] p t : represents the CPU load occupancy of the terminal at time t.
[0164] A f : represents the to-be-processed computation task of the terminal at time t, which can be denoted as . T represents each computing task to be processed, considering that there are N computing-intensive services to be executed at the current terminal in a period of time, each service requirement corresponds to a computing task, therefore, the above formula is used here A f represents the computing task to be processed at terminal t.
[0165] Here, each computing task has different parameters, for example, each computing task is determined by 4 parameters, represented as , where i represents the i-th computing task, represents the input data size required to complete the computing task , considering that the parameters at different times may be different, therefore, the computing task can also be represented as ; represents the computing resource required to process the computing task ; represents the output data size, such as the result data size required to be downloaded to the terminal by the edge server after the completion of the computing task; represents the maximum tolerable time delay, which represents that the time delay for completing the computing task should not exceed time . The above parameters are determined based on the actual situation of each computing task, and the values are not limited.
[0166] In some embodiments, a method for determining a first time delay, a first energy consumption, a second time delay, and a second energy consumption is provided.
[0167] In an example, determining the computing task information of the terminal can include: for each computing task (assuming the i-th computing task ), determining the required time delay (i.e., the first time delay) as , and calculating the energy consumption (i.e., the first energy consumption) as ; wherein l represents local, indicating the local terminal; is the computing resource required by the terminal to process the computing task, is the CPU frequency of the terminal; , represents the power of the terminal CPU in each cycle, and δ and γ are chip-related constants. The above calculated data can be determined based on the situation of the computing task and the situation of the terminal itself, and the calculation method can be calculated according to the above formula. It should be noted that the above is only an example, and the above power consumption and time delay need to be considered in the embodiments of the present disclosure, and the method and calculation method for determining the required data are not limited.
[0168] In another example, determining the computing task information of the terminal can include: for each computing task (assuming the i-th computing task The cost calculation delay (i.e., the first delay) is determined as follows: The calculated energy consumption (i.e., the first energy consumption) is: ;in, For the CPU frequency of the edge server, , This represents the power consumption of the edge server's CPU per cycle, where comp represents computation.
[0169] Furthermore, assuming the computing tasks are offloaded to edge servers, additional latency and energy consumption are required for data transmission. Therefore, determining the terminal's computing task information also includes:
[0170] Assuming the terminal uses Power is used to upload data, and the uplink rate is: ;in, Indicates upload power, h t N is the channel gain of the terminal's uplink, N0 is the noise power, and W is the link bandwidth allocated to the terminal by MBS (multicast and broadcast services).
[0171] Determine the computing service T i The latency for transmission via the wireless uplink channel is: The energy consumption during data transmission is: ; =1; comm indicates communication;
[0172] Therefore, if the computing task is offloaded to the edge server, the total latency (i.e., the second latency) is: Total energy consumption (i.e., the second energy consumption) is: .
[0173] At time t, the terminal state is The terminal can determine the offloading decision for each computing task sequentially based on its own state. First, based on the parameters of each computing task... This allows us to obtain the latency and energy consumption of each computing service running locally on the mobile device and offloaded to the edge. Then, based on the terminal status... Decision on the task Uninstallation decision Assume that each decision takes time t0, and the task list is updated every time interval T0 (t0 and T0 are both much shorter than the average time taken to compute tasks). Within time T0, the unloading decisions for all tasks in the current list are completed sequentially. Since the unloading decision for a computing task will in turn affect the device state and thus affect other computing services, all computing tasks are considered together to maximize long-term benefits.
[0174] For each time, the terminal can have a computing task To be solved, the computing tasks can correspond to different tolerable delays, for example , indicates the tolerable delay corresponding to each computing task; the privacy level can also be different, for example , The higher the value, the more the image content needs to be protected indicates the privacy level corresponding to each computing task.
[0175] It should be noted that the above data required for calculation can be determined based on the situation of the computing task, and the calculation method can be calculated according to the above formula. It should be noted that the above is only an example, and the above various power consumptions and time delays need to be considered in the embodiments of the present disclosure. Here, the method for determining the required data and the calculation method are not limited.
[0176] In some embodiments, if the state is the second state, the computing task information of the computing task of the terminal is determined, including:
[0177] Obtaining data of a to-be-processed task published by the edge server; the to-be-processed task is a real task required to be processed by the edge server, and the to-be-processed task is used for the terminal to perform proof of work;
[0178] According to the data of the to-be-processed task, and the CPU frequency and the power of the CPU in each cycle of the terminal, a third time delay and / or a third power consumption are determined;
[0179] Among them, the data of the to-be-processed task includes at least one of the following: task execution calculation amount, proof generation calculation amount.
[0180] Here, the third time delay is denoted as , the third power consumption is denoted as , which refers to the time and power consumption required by the terminal for the blockchain proof of work (i.e. mining) when the edge server state c t =0.
[0181] Here, the data of the to-be-processed task published by the edge server is a real task required to be processed by the edge server. Specifically, the edge server can design some pre-processing tasks to obtain to-be-processed tasks with a secret level of 0 (i.e. can be executed by the terminal), and the to-be-processed tasks are executed locally by the terminal after being obtained by each terminal.
[0182] Here, the to-be-processed task can be some "training data processing" or "training data preprocessing" task. These tasks are used to reduce the burden of the edge server, utilize the remaining computing power of the terminal, and prepare for subsequent blockchain chaining work. For example, the to-be-processed task can include but is not limited to at least one of the following:
[0183] Data Cleaning, such as, can include: denoising (e.g., removing outliers or noises in sensor readings), missing value handling (e.g., using simple methods (e.g., mean, median imputation) to handle incomplete local data records), format unification (e.g., converting data (e.g., images, audio) collected by different devices into a uniform format, resolution, or encoding);
[0184] Data Labeling / Augmentation, such as, can include: automatic labeling (e.g., preliminary classification or labeling of local data based on simple rules or small models), data augmentation (e.g., rotating, cropping, scaling, color jittering, etc. operations on image data to increase data diversity; synonym replacement, word order adjustment, etc. on text data);
[0185] Feature Engineering, such as, can include: basic feature extraction (e.g., calculating statistical features (mean, variance, maximum / minimum value, frequency, etc.) from raw data (e.g., time series, logs)), simple feature transformation (e.g., normalizing or standardizing data), dimensionality reduction (e.g., using a simplified version of PCA (Principal Component Analysis) to preliminarily reduce the dimensionality of local data if computationally feasible);
[0186] Data Filtering / Sampling, such as, can include: rule-based filtering (e.g., filtering out data samples that meet certain conditions according to rules issued by the server), representative sampling (e.g., selecting a small number of representative samples from a large amount of local data for uploading or subsequent computation);
[0187] Privacy-Preserving Processing, such as, can include: data desensitization (e.g., blurring or coding sensitive information (e.g., faces, license plates) in data), differential privacy noise addition (e.g., adding appropriate noise to local computation results or data summaries to meet differential privacy requirements).
[0188] Of course, the above is only an example of tasks that can be executed by terminals issued by an edge server, and other tasks can also be performed, which are not limited here. It should be noted that these tasks are usually relatively controllable in terms of computation, suitable for execution on edge devices (i.e., edge servers) with limited computing power and energy. The edge server can define these tasks and distribute them to the terminals participating in the PoUW along with the execution code (or instructions) and input data (or data index) so that the terminals can perform proof of work.
[0189] Through the above proof of work method, that is, the proof of work based on real tasks from the edge server, the system combining task execution and the blockchain realizes "meaningful proof of work (PoUW)", avoiding the waste of computing power caused by traditional PoW. Specifically, the traditional proof of work mechanism (PoW) is mainly used to verify the computing power of the nodes in the blockchain, but it mainly relies on the consumption of computing power to obtain rewards, resulting in a large amount of meaningless calculation waste. The traditional proof of work is like a group of people randomly casting nets in the sea, hoping that the first batch will catch a "goldfish" to get a reward; the rest of the people have nothing in the net, and it is all empty net. The PoUW mode provided by the present disclosure is that each terminal can obtain a real task, and whoever obtains the real task first can obtain the real task and perform the calculation result, and provide the calculation result to the edge server, that is, provide valuable data.
[0190] In this way, by taking the actual execution of the task as the basis for proof of work, it is ensured that each calculation can provide meaningful results rather than waste of computing power. Moreover, the burden on the edge server is also reduced, and the terminal can determine whether to perform proof of work and chain on the blockchain based on its own situation, reasonably utilize the remaining computing power of the terminal, and prepare for subsequent blockchain chaining work.
[0191] In an example, a method for determining a third latency and / or a third power consumption is provided, comprising:
[0192] determining a task execution calculation amount according to the data of the to-be-processed task published by the edge server , a proof generation calculation amount ; and further determining a total PoUW calculation amount: ; D represents the task difficulty;
[0193] determining a terminal local PoUW latency (i.e., a third latency) according to the total PoUW calculation amount: ; and a terminal local PoUW energy consumption (i.e., a third energy consumption): ;
[0194] wherein, k represents the identification of the kth to-be-processed task published by the edge server; f represents the CPU frequency of the terminal, P represents the power of the terminal CPU per cycle.
[0195] The data required for the above calculation can be determined based on the data of the to-be-processed task and the local situation of the terminal, and the calculation method can be calculated according to the above formula. It should be noted that the above is only one example, and the above power consumption and latency need to be considered in the embodiments of the present disclosure. Here, the method for determining the required data and the calculation method are not limited.
[0196] In some embodiments, if the state is the second state and it is determined according to the offloading decision to offload the task to the edge server, the method further comprises: performing proof of work according to data of the to-be-processed task;
[0197] The proof of work according to the data of the to-be-processed task comprises:
[0198] executing the to-be-processed task according to the data of the to-be-processed task, obtaining a task execution result and generating a proof of computation;
[0199] constructing a block header according to the task execution result and the proof of computation;
[0200] chaining the block header to a first blockchain, so that the edge server obtains the block header and verifies the proof of computation. The result of verifying the proof of computation serves as a basis for the edge server to determine whether to execute the computing task offloaded by the terminal to the edge server.
[0201] The block header comprises the following information:
[0202] a hash value of the task execution result, the proof of computation, a block version, a previous block hash, a Merkle root of task metadata, a timestamp, a task difficulty, a random number, a block type, and a task identifier; the task difficulty is determined by the edge server according to the amount of tasks to be processed and is issued.
[0203] The result of verifying the proof of computation serves as a basis for the edge server to determine whether to execute the computing task offloaded by the terminal to the edge server, and represents:
[0204] If the edge server verifies the proof of computation and the verification is correct, it is considered that the terminal has performed effective proof of work, and subsequently, the edge server can receive and process the computing task offloaded by the terminal to the edge server.
[0205] If the verification fails, it is considered that the terminal has not performed effective proof of work, and subsequently, the edge server can not receive or process the computing task offloaded by the terminal to the edge server.
[0206] In this way, the actual execution of the task is used as the basis for proof of work, ensuring that each calculation can provide meaningful results rather than wasting computing power. Moreover, the burden on the edge server is reduced, and the terminal can determine whether to perform proof of work and chain to the blockchain based on its own situation, thereby reasonably utilizing the remaining computing power of the terminal and preparing for subsequent blockchain chaining work.
[0207] The task difficulty is determined by the edge server according to the amount of tasks to be processed and is issued, and represents:
[0208] If the edge server currently needs to process a large amount of tasks, the task difficulty can be increased, so that the terminal may choose to process the computing tasks locally on the terminal due to the excessive time spent on proof of work.
[0209] If the edge server currently has a small workload, the task difficulty can be reduced. As a result, the terminal may choose to offload the computing tasks to the edge server because the workload proves to be low and the terminal's current state is suitable.
[0210] Specifically, there can be two blockchains, referred to as the first blockchain and the second blockchain. The first blockchain is designed and maintained for meaningful Proof of Useful Work (PoUW) task blocks. The execution of the task to be processed or the verification of the task result is considered the workload itself, rather than simply a mining operation that wastes computing power. The resulting computational proof at least proves that the terminal has completed the task to be processed, and that the work is meaningful; that is, the obtained computational proof is a meaningful proof of work. The second blockchain is a traditional blockchain that serves other traditional blocks.
[0211] In one example, the edge server defines the task difficulty and assigns specific computing tasks to the terminal. T k , T k This refers to tasks to be processed that are distributed by the edge server and accessible to the terminal. The terminal (e.g., terminal j) receives the task. T k Execute the task T k And obtain the task execution result. At the same time, it generates information about the correct execution of the task. T k And obtain the results Calculation proof .
[0212] Here, based on the task execution result and the computational proof, the constructed block header may include: ResultHash (referring to the task execution result). hash value Proof (referring to computational proof) ), and other related content, such as Version (referring to block version), PrevHash (referring to the hash of the previous block), MerkleRoot (referring to the Merkle root of the task metadata), Timestamp (referring to the timestamp), Difficulty (referring to the task difficulty), Nonce (referring to the random number), BlockType (referring to the block type, such as 1 for PoUW task block; 0 for traditional block), TaskID (referring to the task identification, denoted as ).
[0213] In some embodiments, the task to be processed is executed, a task execution result is obtained, and a calculation proof is generated, including:
[0214] A function of the task to be processed is obtained from the data of the task to be processed, and a calculation proof is generated based on the task execution process in executing the task to be processed.
[0215] The function represents an execution function or program for executing the task to be processed and generating an intermediate key process.
[0216] Here, the task execution and proof can be represented as a calculation ; wherein, is an execution function or program for executing a certain required task of the edge server and generating a certain intermediate key process, is the task result, is the calculation proof, which is a proof of the validity of the calculation process.
[0217] For example, may be a functional encryption function that generates a ciphertext that only the edge server can read. By generating a calculation proof useful work (task execution obtained ) can be efficiently and trustlessly verified by other nodes in the blockchain network. Without this proof, the verifier would have to re-execute the task, making PoUW lose its efficiency advantage. Therefore, is the bridge connecting useful work and blockchain consensus.
[0218] Here, the method of generating the calculation proof may be to use advanced cryptography techniques (such as zk-SNARKs, zk-STARKs) to compress complex calculation processes into a short and easy-to-verify evidence, or rely on trusted hardware to ensure the integrity of the calculation, so that PoUW can be safely verified with very low computational effort. For example, An additional encryption process can be designed, such as encrypting the first row of the image. The elements of the first row of the image are encrypted according to an undisclosed encryption algorithm, and the ExecuteAndProve function is the encryption result of the first row of the image. Since the amount of encrypted data is very small, only a small amount of computational burden needs to be added to the edge terminal.
[0219] If the terminal needs to offload tasks to the edge server, it needs to perform proof of work, that is, execute the program and corresponding tasks to be processed issued by the edge server, and generate a valid proof of computation , that is, meet the work requirement.
[0220] In an example, an example of a terminal constructing a block header is provided. The block header is denoted as :
[0221]
[0222] where the random number is found as follows: find such that Hash( )<Target(D);
[0223] Target(D) is a target value, and the goal of mining is to find a hash value less than Target(D). The target value is related to D, and D represents the task difficulty (Difficulty), which is issued by the edge server side. Target(D) is inversely proportional to D, for example, , is a preset constant. The easier the task difficulty (D) is, the larger Target(D) is, and the smaller the mining difficulty is, and the less time is needed. Conversely, the more difficult the task difficulty is, the smaller Target(D) is, the more difficult the mining is, and the more time is needed.
[0224] Correspondingly, in another example, an example of an edge server side verifying a block header is provided. The edge server side receives the longest first blockchain (i.e., the latest updated first blockchain), and verifies each block in the first blockchain in order, including basic verification, PoW verification, and difficulty verification. The basic verification includes checking the version, the previous block hash, the timestamp, etc. The PoW verification includes determining BlockType. If BlockType=1, the following is verified:
[0225]
[0226] As described above, forward reasoning is performed. VerifyProof() is a verification mechanism for confirming whether the device has completed the task in the correct manner and the output result is valid. A True return indicates that the task and the proof of result are valid, and the task execution is problem-free; otherwise, a False return indicates that the task and the proof of result are invalid.
[0227] In this way, the validity of task execution can be ensured through the above process, avoiding the need for the verification node (i.e., the edge server) to re-execute the computing task, thereby improving system efficiency. For example, in combination with the above example, the terminal can be verified to have completed program execution by decoding the content of the first row of the restored image.
[0228] The above PoUW method provided by the embodiments of the present disclosure, on the one hand, ensures that each computation can provide meaningful results rather than wasted computing power by taking the actual execution of the task as the basis for proof of work.
[0229] On the other hand, considering that in an open edge computing environment, malicious users may occupy computing resources excessively to affect the stability and performance of the system. Through the above proof of work, resources can be reasonably allocated to avoid resource abuse and prevent computing resources from being occupied by malicious users, so that each task can produce valuable results, avoid malicious users from relying on computing power to occupy system resources, improve the anti-attack ability of the blockchain system, and prevent the impact of computing power degradation and attacks on the system while ensuring data security.
[0230] In some embodiments, the embodiments of the present disclosure also provide a general task blockchain technology for all terminals. If a terminal needs to send a computing task to an edge server, the terminal needs to be packaged and chained (specifically, uploaded to a second blockchain). First, the terminal needs to receive a terminal-defined difficulty value defined by the edge server . Further, the terminal packages the transaction metadata (task critical information) of a batch of tasks currently prepared for offloading or local execution into a candidate block (candidate block), which specifically includes the following types of data: Block Header field, transaction (task) data field.
[0231] The Block Header field includes:
[0232] Device ID: a unique ID number indicating all local device terminals in the blockchain.
[0233] PrevHash: a pointer to the header hash of the previous block, ensuring the concatenation of the blockchain;
[0234] Merkle Root: the root hash of all the transaction records in the current candidate block, which is obtained by hashing all the transaction records two by two; any change in a transaction record will result in a change in the root hash;
[0235] Timestamp: the local time when the candidate block is generated, usually accurate to the second;
[0236] Difficulty: the target hash threshold that the current PoW calculation needs to reach, used to control the block generation rate;
[0237] Nonce: a number that is constantly incremented during the mining process until the hash meets the difficulty target.
[0238] Among them, the transaction (task) data field includes:
[0239] One or more computing tasks to be executed for each transaction The contents of the candidate block include:
[0240] Task ID: a globally unique identifier for a computing task, used for querying and verification;
[0241] Input data hash: hash the input data, only upload the hash and not the plaintext, to save bandwidth and protect privacy;
[0242] Computing amount: the number of CPU cycles required for the computing task, used to estimate resources by the edge service area;
[0243] Output data size: used to estimate the delay and energy consumption of the downlink after offloading;
[0244] Maximum tolerated delay t: used to constrain time;
[0245] Privacy level V: any value from 1, 2 or 3, used to indicate whether encryption area processing is needed;
[0246] Privacy mask hash (MASK hash, denoted as Hmask ): only upload the hash of the encryption area mask to verify the uniform mask used by the edge server;
[0247] Device status summary: a small summary of the current network status n t , remaining battery percentage e t , CPU load occupancy p t , to facilitate policy reference by on-chain smart contracts or consensus nodes.
[0248] Here, to reduce the block volume, only the hash or digest of the above fields is often uploaded in the real system, and large data such as specific input or mask is reserved in the terminal or edge server storage, and only the index is left on the chain.
[0249] The process of terminal packaging on-chain includes:
[0250] 1. The terminal serializes the fields of each task according to a certain format, calculates the hash of each transaction, and forms a transaction list.
[0251] 2. Calculate the root hash MerkleRoot by combining all transaction hashes two by two.
[0252] 3. Fill in the block header, fill in Version, PrevHash, Timestamp, Difficulty, MerkleRoot, and Nonce initially set to 0 in the block header.
[0253] 4. Mining (PoW) process: constantly change Nonce, recalculate the double SHA-256 hash of the entire block header, until the condition Hash(BlockHeader) < Target is met. Target is determined by Difficulty, and Difficulty is determined by the edge server. The edge server will dynamically determine Difficulty according to the amount of tasks it has received and the length of the task bar chain on the blockchain. When Difficulty is infinite, the edge server can refuse any local device to unload tasks to the edge.
[0254] 5. After finding a legal block, the terminal locally broadcasts the complete block containing the computing task information to the blockchain network; each node in the network can verify the block structure, Difficulty, MerkleRoot, and transaction validity, and after verification, join their own local chain.
[0255] Here, the blockchain can only store block headers and transaction metadata summaries, not large files or plaintext. Transaction (task) data includes task ID, input / output size, computing volume, latency requirement, privacy mask hash, device state digest, etc. The entire process ensures that confidential tasks can be credibly on-chain, verified, and trigger edge offloading execution.
[0256] The embodiments of the present disclosure also provide a method for a terminal to estimate the block chain coding (PoW) computing volume and overhead. Here, the Proof-of-Work (PoW) mining process is used to simulate the computing volume of "packaging tasks on-chain":
[0257] Let the target difficulty of the current chain be Then the expected number of hashes to try is: (or, more generally, according to the Bitcoin formula , which takes the simplified form here).
[0258] Let the single hash computation amount (i.e. the CPU cycles required for one round of SHA-256 input and output) be , then the total computation amount is: .
[0259] The CPU frequency of the terminal is (cycles / s); the power per cycle is (W), so the terminal mining delay and energy consumption (equivalent to the fourth delay and the fourth energy consumption) are respectively: , .
[0260] In some embodiments, determining the offloading decision according to the state and the first information comprises:
[0261] identifying the first information by using an offloading strategy model to obtain an identification result, the identification result representing whether to offload the computing task to the edge server;
[0262] wherein the offloading strategy model is obtained by training a double neural network based on a training data set, and the double neural network comprises an online neural network and a target neural network.
[0263] Each training data in the training data set is represented by a quadruple, the quadruple comprising: state information at a first time, an action, an immediate reward of environmental feedback, and state information at a second time, the second time being a time after the first time.
[0264] The action is a first action or a second action, the first action representing that the terminal executes the task, and the second action representing that the computing task is offloaded to the edge server for execution.
[0265] The state information comprises at least one of the following: device state, first delay, first energy consumption, second delay, second energy consumption, and computation amount of image data corresponding to the terminal encryption computing task; if the action is the second action, the state information further comprises at least one of the following: third delay, third energy consumption, fourth delay, and fourth energy consumption.
[0266] The immediate reward is determined based on the state information and the action in a first time period.
[0267] In some embodiments, if the state is a first state, the immediate reward is determined based on a first immediate reward function, and the first immediate reward function is constructed based on at least one of the following information:
[0268] terminal state.
[0269] a latency and / or energy consumption of the terminal executing the computing task;
[0270] a latency and / or energy consumption of the edge server executing the computing task;
[0271] a computation amount of the terminal encrypting image data corresponding to the computing task;
[0272] if the state is the second state, the immediate reward is determined based on a second immediate reward function, the second immediate reward function is constructed based on at least one of the following information:
[0273] a state of the terminal;
[0274] a latency and / or energy consumption of the terminal executing the computing task;
[0275] a latency and / or energy consumption of the edge server executing the computing task;
[0276] a latency and / or energy consumption of the terminal encoding the blockchain;
[0277] a latency and / or energy consumption of the terminal performing proof of work;
[0278] a computation amount of the terminal encrypting image data corresponding to the computing task.
[0279] Here, the offloading policy model can be trained by the edge server based on a double neural network of a training data set, and the terminal can receive the offloading policy model from the edge server.
[0280] Based on this, in some embodiments, the method further comprises:
[0281] collecting training data;
[0282] sending the training data to the edge server, the training data being used for the edge server to train the offloading policy model;
[0283] receiving the offloading policy model sent by the edge server.
[0284] The following provides a process of training an offloading policy model, specifically comprising:
[0285] obtaining at least one training data;
[0286] constructing an online neural network and a target neural network, the online neural network and the target neural network having the same structure;
[0287] The at least one training data is respectively input into an online neural network to train the online neural network, and network parameters of the target neural network are updated according to network parameters of the online neural network at a target period until a training target is reached, and the trained target neural network is taken as the offloading strategy model.
[0288] Here, the training data is expressed in a quadruple, which is , t represents a time point, is state information at t (equivalent to the above-mentioned state information at the first time), is an action, represents an immediate reward of environmental feedback, is state information at t+1 (equivalent to the above-mentioned state information at the second time).
[0289] Specifically, the state information is recorded as , . n t : represents the network condition of the terminal at t, which can be represented by signal strength. e t : represents the percentage of the remaining power of the terminal at t. p t : represents the CPU load occupancy rate of the terminal at t. represents the overhead related to the completion of the computing task at t.
[0290] When , it represents the first action, i.e., the computing task is completed on the terminal; when =1, it represents the second action, i.e., the computing task is selected to be offloaded to the edge server to complete the calculation.
[0291] The state information represents the state of the terminal after selecting the decision under the state .
[0292] represents the immediate reward of environmental feedback, which is defined in order to minimize the delay and energy consumption while considering the delay limit T t,1 of the computing task t t,1 and the device power limit e t .
[0293] The collection of training data is described below.
[0294] In an example, , the edge server allows all terminals to unload the computing task in the terminal to the task execution list of the edge server unconditionally, so that in the current terminal needs to make a decision by itself. Among them, the terminal unloading decision is . The process of collecting training data includes:
[0295] determining the of the terminal; , where t represents time, respectively represent the time delay and energy consumption required for the terminal to execute the computing task, respectively represent the total time delay and total energy consumption required for the computing task to be unloaded to the edge server, is the calculation amount of the local terminal terminal encrypted computing task corresponding to the image data.
[0296] define , the total cost of the computing task executed in the terminal ; the calculation method includes:
[0297] the delay and energy consumption of the computing task executed locally :
[0298]
[0299]
[0300] where, since the terminal decides each task in turn according to the order, here, represent the time delay and energy consumption required for the first computing task in the terminal task list at time t to execute the computing task in the terminal, t t,1 represent the time delay limit of the first computing task in the terminal task list at time t. Inf represents approaching infinity.
[0301] determining the total cost is the weighted average of the two: ; and are the weights of the two. define
[0302] =1, the total cost of the computing task executed in the terminal ; the calculation method includes: the delay and energy consumption of the computing task executed in the terminal
[0303] :
[0304]
[0305]
[0306] wherein, respectively represent the total time delay and total energy consumption consumed by the terminal task list ranked first at time t when the computing task is offloaded to the edge server for execution.
[0307] determining the total cost weighted average of the two: ; and are the weights of the two.
[0308] Based on the delay and energy consumption overhead of the computing task executed on the terminal and the edge server, and the immediate reward (return) function defining the decision-making of the mobile device in state . .
[0309] In an example, , the first immediate reward function is adopted, which can be as follows (1):
[0310] (1)
[0311] wherein, represents the calculation formula of the immediate reward of the environment feedback, and the calculation result is taken as ; , , , are all set constants or weight coefficients, and the numerical values are not limited; represents the encryption amount of the terminal, which can be specifically the proportion of the encrypted area in the total image in the encrypted image.
[0312] In another example, , the edge server does not allow all terminals to unconditionally offload the computing task in the terminal to the task execution list of the edge server. The process of collecting training data includes:
[0313] determining the terminal state as follows:
[0314] .
[0315] defining , the total cost of the computing task executed on the terminal ; for details, see the formula in the above example;
[0316] defining =1, the total cost of the computing task when offloaded to the edge server for execution ; see the above example formula;
[0317] Based on the delay and energy consumption overhead of the computing task in the terminal and the edge server, and the immediate reward (return) function defining the decision-making of the mobile device in the state .
[0318] In an example, , a second immediate reward function is adopted, which can be as follows (2):
[0319] (2)
[0320] Wherein, represents the energy consumption of the terminal blockchain coding (PoW), represents the delay of the terminal blockchain coding (PoW). represents the delay of the terminal proof of work, represents the energy consumption of the terminal proof of work.
[0321] Specifically, considering that when the online neural network is updated, if the maximum Q value estimated by itself is directly used as the target, the target will constantly drift and not converge, therefore, it is proposed to train by using two sets of neural networks with the same structure (i.e. online neural network and target neural network), and by introducing a delayed update target neural network, the target value is kept unchanged within N steps, avoiding the shock caused by the "moving target". That is, by using two sets of neural networks with the same structure.
[0322] Through the above two examples, the immediate reward function adopted when and unload the computing task to the edge server is explained, as well as the data required. Of course, other designs can also be used for the formula, such as for the weights can also be designed respectively, that is, the following formula can also be used:
[0323] .
[0324] Considering the above information, the design of the formula is not limited.
[0325] The following provides a method for training a double neural network reinforcement learning.
[0326] The double neural network includes: an online neural network (denoted as DQN1) and a target neural network (denoted as DQN2), which have an input layer, a hidden layer, and an output layer. The input layer is used to receive the state vector The hidden layers can be 2-4 layers, each with 128-512 neurons, activated using ReLU to enhance non-linear expressiveness. The output layer outputs a value of length equal to the number of actions. The vector, in example 2 of this disclosure, each component is... Value estimation corresponding to an action.
[0327] The online neural network DQN1 and the target neural network DQN2 have identical structures, but different parameter sets. The parameter set of the online neural network DQN1 is denoted as... The parameter set of the target neural network DQN2 is denoted as Therefore, the online neural network DQN1 can be denoted as... Used to determine the current parameters Selecting actions (ε-greedy) and calculating gradients and updating parameters during training. The target neural network DQN2 can be denoted as... ,parameter Every N steps from the online neural network Synchronization once is represented as: N is greater than 1, and there is no restriction on the value of N. This allows for a certain degree of stability in the calculation of the Q-value objective. Here, the Q-value represents the value of an action; DQN estimates the value (Q-value) of each action and selects actions using an ε-greedy policy.
[0328] The training process includes the following steps:
[0329] 1. Interact and sample: Execute an action to change the current state. With action Send it into the environment and execute the action. Observe the feedback and receive an immediate reward from the environment. and the next state The instant reward function is shown above, which takes into account factors such as latency, energy consumption, and privacy costs; see the example of the training sample data above for details, which will not be repeated here.
[0330] Samples are continuously stored during this process, and quadruplets are stored. Store the samples in the experience replay pool D; when |D| reaches its upper limit C, the new sample will overwrite the oldest sample. Randomly select B samples from the experience replay pool D, denoted as B1, B2, B3, B4, B5, B6, B7, B8, B9 This serves as training sample data; here, random sampling not only breaks down temporal correlations but also allows the neural network to encounter more diverse experiences. for Previous state.
[0331] 2. Initialize network parameters: Randomly initialize the parameters θ of the online neural network DQN1, and copy the parameters of the target neural network DQN2 to... ←θ.
[0332] 3. Construct an experience replay pool to store the interactive samples required for training. This experience replay pool can be a circular buffer with a capacity of C (denoted as D). The experience replay pool can break the correlation of time series data and improve the sample utilization rate.
[0333] 4. Set the training hyperparameters, which include: exploration rate (denoted as ε), discount factor (denoted as γ, γ∈[0,1]), learning rate (denoted as η), mini-batch size (denoted as B), and target neural network synchronization interval (i.e., N). These hyperparameters can be designed based on experience and training requirements, and their values are not limited.
[0334] 5. Construct behavioral strategies (denoted as ε-greedy), which, while ensuring a certain degree of exploration, lean towards actions with higher value.
[0335] Here, each time in the state Select action First, generate a random number in the interval [0,1]. If the random number... Then a random action is selected. (Uniform exploration); otherwise, with probability 1- Select actions using a greedy strategy. , As training progresses, the intensity gradually decreases. This allows agents to shift from "extensive experimentation" to "concentrated use of learned strategies."
[0336] 6. Training the network: At the start of training, let... That is, the parameters are synchronized once during initialization, and then every time... After a mini-batch gradient update or step-by-step interaction, a hard update is performed, changing the parameters of the target neural network. Update the parameters to the online neural network ,Right now Within these N steps, the parameters of the target neural network The parameters of the online neural network remain unchanged and are used to calculate the static target Q value, thus avoiding the need for parameter optimization. Too rapid updates cause the target to drift.
[0337] For the first in the experience pool bar sample The target Q-value is given by the target neural network. ; It is a maximum value estimate of all possible actions in the next state, based entirely on the old parameters. Therefore, in the current small-batch calculation regarded as against The constant.
[0338] Parameters of the fixed target network Updating every N steps provides a buffer period for the online neural network, allowing it time to approach a relatively stable target Q-value before synchronously updating the target neural network. This helps with training convergence and reduces overestimation bias. If each update... q At the same time, the target neural network also uses the latest... q If the online neural network's parameters change continuously, the target neural network will adjust itself, leading to gradient oscillations and difficulty in training convergence. Therefore, synchronizing the target neural network's parameters only every N steps avoids this problem and promotes a more stable training process.
[0339] In this embodiment of the disclosure, a loss function is also provided, defined as follows:
[0340] The online neural network estimates the current Q-value using the parameters of the online neural network DQN1. q Give:
[0341] Mean squared Bellman error definition: For a minibatch of B training samples, the loss function is as follows:
[0342]
[0343] in, It is the static target Q value. It is the Q-value estimated online.
[0344] When differentiating the loss function L, It is considered a constant. The gradient only acts on... This ensures the stability of the semi-gradient update.
[0345] The gradient is calculated as follows: ; The gradient.
[0346] Update the online neural network using an optimizer (such as Adam or SGD). η is the learning rate.
[0347] Monitor average reward, loss reduction, or policy performance (such as task completion rate, energy consumption / latency metrics). When the metrics stabilize, approach the optimum, or exceed a predetermined threshold, training can be terminated to obtain the final Q-value estimate. That is, the target neural network is obtained and used as the unloading strategy model.
[0348] The method provided by the embodiments of the present disclosure can synchronize the derived key between the terminal and the edge server by performing feature extraction and normalization processing on the mask of the privacy-sensitive area (i.e., the determined encryption area) in the task. This method not only avoids the shortcomings of static key management, but also dynamically generates an encryption key according to the privacy requirements of the task, greatly improving the flexibility and security of the encryption process. In addition, through the proposed intelligent offloading decision mechanism, by comprehensively considering multiple factors (such as terminal state, various delays, energy consumption, and the amount of image data corresponding to the terminal encryption calculation task), the task offloading decision is optimized. Moreover, considering that as the number of edge computing devices (i.e., terminals) and tasks increases, it may lead to system crashes or performance degradation due to computing demand overload, network instability, or improper allocation of computing resources. By combining the PoUW method with the intelligent offloading decision mechanism, not only can the data privacy be effectively protected to prevent data leakage and tampering, but also the overall performance and security of the edge computing system can be improved while reducing the waste of computing power, achieving efficient utilization of edge computing resources.
[0349] In combination with the above dynamic derivation of keys, privacy protection, and allocation of computing power, the problems of privacy protection, waste of computing power resources, and insufficient attack resistance in edge computing and blockchain systems are effectively solved, and the security, efficiency, and scalability of edge computing task offloading are improved.
[0350] Figure 3 A flowchart of a task processing method of an edge server provided by the embodiments of the present disclosure is shown in FIG. 1. As shown in FIG. 1, the method is applied to an edge server, and the method comprises the following steps. Figure 3
[0351] Step 301: receiving encrypted computing task data from a terminal, wherein the computing task data comprises encrypted task image data, a privacy level, and an area identifier, and the area identifier is used to indicate an encryption area in the task image data.
[0352] Step 302: determining encryption area data according to the area identifier, and generating a feature hash value according to the encryption area data.
[0353] Step 303: determining a key length according to the privacy level, and generating a decryption key that meets the constraint of the key length according to the feature hash value and target data.
[0354] Step 304: decrypting the encrypted task image data using the decryption key to obtain decrypted task image data.
[0355] Step 305: performing task processing according to the computing task data and the decrypted task image data.
[0356] In some embodiments, the method further comprises:
[0357] obtaining a labeled image dataset;
[0358] training a generative adversarial network based on the labeled image dataset, and obtaining an encryption region selection model according to the trained generative adversarial network; the encryption region selection model is used to determine an encryption region;
[0359] sending the encryption region selection model to the terminal;
[0360] wherein the labeled image dataset comprises at least one image data and a corresponding label of each image data;
[0361] the generative adversarial network comprises a discriminator and a generator;
[0362] the input of the generator comprises image data, a label, a privacy level and / or a task response time tolerance, and the output of the generator comprises an encryption region;
[0363] the input of the discriminator comprises image data after encryption of the encryption region, and the output of the discriminator is a discrimination result for the image data;
[0364] the training target of the generative adversarial network comprises that the image data after encryption of the encryption region cannot be correctly discriminated by the discriminator.
[0365] The training of the encryption region selection model has been described in the Figure 2 example of the method shown in the figure, and will not be repeated here.
[0366] In some embodiments, the generating of the decryption key conforming to the constraint of the key length according to the feature hash value and the target data comprises:
[0367] determining target data, the target data comprising at least one of context information and a salt value;
[0368] generating, based on a key derivation function, the decryption key conforming to the constraint of the key length according to the target data and the feature hash value.
[0369] In some embodiments, the method further comprises at least one of:
[0370] pre-agreeing the salt value with the terminal;
[0371] receiving the context information sent by the terminal.
[0372] Here, since the encryption key is derived by the terminal based on the key derivation function, rather than being transmitted, the terminal only needs to send the encryption region data, privacy level, and context information to the edge server, without transmitting the key itself. The edge server uses these information, according to the agreed salt value not transmitted, and re-derives the key according to the same key derivation process to obtain the decryption key for decryption, thereby improving the security of data transmission. At the same time, after the edge server decrypts to obtain the original image, the edge server can also determine whether the data is tampered with and verify the correctness of the decryption process by calculating the encryption region of the decrypted image.
[0373] Specifically, a decryption method is provided, which can decrypt the encrypted task image data when the edge server receives the encrypted task image data. The specific method can include:
[0374] 1. Deriving a decryption key: the edge server generates the same key as the terminal by using the same region identifier region_id, privacy level V, and salt value through a key derivation function (KDF). The formula is as follows:
[0375]
[0376] wherein, represents the salt value, which is a fixed key value agreed by the local terminal and the edge server and cannot be transmitted.
[0377] region_id represents the region identifier, which is used to determine the encryption region for encryption and can be sent by the terminal to the edge server; for example, The encryption region data can be a binary representation (such as “100110001”, “00001 00110 0001000011 00011 00111 00100 00101”, etc.) as shown above, and the hash value of the binary representation is determined, i.e. .
[0378] V represents the privacy level, and the key length can be determined according to the privacy level L Therefore, the decryption key generation formula on the edge server side can also be represented as .
[0379] In addition, if the terminal still uses , the edge server uses the following formula:
[0380] MDK = ; info represents the context information (such as task ID or encryption type, etc.), which can be agreed by the terminal and the edge server or sent by the terminal to the edge server.
[0381] 2. decrypt using the derived key and the received encrypted encrypted region image data (E) ) using the following formula:
[0382]
[0383] where Plaintext represents the decrypted plaintext data, i.e., the original encrypted region. Ciphertext represents the encrypted ciphertext. Tag is an authentication tag used to verify data integrity. MDK represents the decrypted key derived from the MDK. During decryption, the AES-GCM mode verifies the authentication tag (Tag). If the tag matches, it means that the data has not been tampered with during transmission. If the tag does not match, the decryption process will fail.
[0384] Through the above method, the terminal side derives the encryption key and encrypts it through a symmetric encryption algorithm (such as AES-GCM). The encrypted task image data can include ciphertext and authentication tags to ensure data confidentiality and integrity. After receiving the encrypted task image data, the edge server generates a decryption key through the same protocol and key derivation process, and then decrypts the data and verifies its integrity. Through this method, the key and data region are tightly bound, improving the security of data protection, while reducing the complexity of key management and transmission.
[0385] In some embodiments, the method further comprises:
[0386] After the edge server performs task processing on the computing task data and the decrypted task image data to obtain a task processing result, the edge server sends the task processing result to the terminal;
[0387] It is not difficult to understand that the method of the terminal can also include accepting the task processing result from the edge server.
[0388] The task processing result can also be encrypted and decrypted using the key used during image encryption to improve the security of task processing result transmission.
[0389] In some embodiments, the method further comprises:
[0390] sending state indication information to the terminal, the state indication information being used to indicate a state of the edge server; the state being a first state or a second state;
[0391] The state indication information is used for the terminal to determine an offloading decision in combination with a state of the edge server and first information of the terminal, the offloading decision representing whether to offload a computing task to the edge server, and the first information including device state and computing task information of the terminal.
[0392] The state is a first state or a second state.
[0393] If the state is the first state, the computing task information includes at least one of a first time delay, a first energy consumption, a second time delay, a second energy consumption, and a calculation amount of image data corresponding to a terminal encryption computing task.
[0394] If the state is the second state, the computing task information includes at least one of a first time delay, a first energy consumption, a second time delay, a second energy consumption, a third time delay, a third energy consumption, a fourth time delay, a fourth energy consumption, and a calculation amount of image data corresponding to a terminal encryption computing task.
[0395] The third time delay represents a time delay required by the terminal to perform a proof of work, and the third energy consumption represents an energy consumption required by the terminal to perform the proof of work, the proof of work being generated based on a to-be-processed task from the edge server.
[0396] The fourth time delay represents a time delay required by the terminal to perform a computing task on a chain, and the fourth energy consumption represents an energy consumption required by the terminal to perform the computing task on the chain.
[0397] The first time delay represents a time delay required to execute a computing task, and the first energy consumption represents an energy consumption required to execute the computing task; the second time delay represents a time delay required to offload a computing service to an edge server, and the second energy consumption represents an energy consumption required to offload the computing service to the edge server.
[0398] The first state, the second state, the device state, the computing task information of the terminal, and the like have been described in the example of the method shown in Figure 2 and will not be described herein again.
[0399] In some embodiments, the method further includes generating an offloading strategy model and sending the offloading strategy model to the terminal.
[0400] The generating of the offloading strategy model includes:
[0401] Obtaining at least one training data.
[0402] Constructing an online neural network and a target neural network, the online neural network and the target neural network having the same structure.
[0403] inputting the at least one training data into an online neural network respectively to train the online neural network, and updating network parameters of the target neural network according to network parameters of the online neural network at a target period until a training target is reached, and taking the trained target neural network as the offloading strategy model;
[0404] Each of the training data is represented by a quadruple, and the quadruple includes state information at a first time, an action, an immediate reward of environment feedback, and state information at a second time, the second time being a time after the first time.
[0405] The action is a first action or a second action, the first action representing that the terminal performs a task, and the second action representing that a computing task is offloaded to an edge server for execution.
[0406] The state information includes at least one of the following: device state, first time delay, first energy consumption, second time delay, second energy consumption, and calculation amount of image data corresponding to a terminal encryption computing task; and if the action is the second action, the state information further includes at least one of the following: third time delay, third energy consumption, fourth time delay, and fourth energy consumption.
[0407] The immediate reward is determined based on the state information and the action in a first time period.
[0408] For the offloading strategy model, the method further includes: Figure 2 The method is described in detail in the examples, and will not be described here.
[0409] In some embodiments, the method further includes: generating an encryption region selection model, and sending the encryption region selection model to the terminal.
[0410] The encryption region selection model is generated by:
[0411] An annotated image data set is obtained, and the annotated image data set includes at least one image data and a corresponding label of each image data.
[0412] A generative adversarial network is constructed, and the generative adversarial network includes a discriminator and a generator.
[0413] The generative adversarial network is trained according to the annotated image data set to obtain an encryption region selection model.
[0414] The input of the generator includes annotated image data, a privacy level, and / or a task response time tolerance, and the output of the generator includes an encryption region.
[0415] The input of the discriminator includes image data that has been encrypted in the encryption region, and the output of the discriminator is a discrimination result for the image data.
[0416] The encrypted region selection model has been implemented. Figure 2 The method is explained in detail in the example shown, and will not be repeated here.
[0417] In some embodiments, the method further includes decoding the blockchain.
[0418] Here, the edge server performs edge computing for edge service tasks. When the edge server has available data storage space, it receives complete candidate blocks broadcast from mobile devices or other consensus nodes via a peer-to-peer network or micro base station interface.
[0419] The edge server uses the previously recorded decoded block sequence number, which represents the sequence number of the last decoded block. Based on this sequence number, the edge server increments the decoded block sequence number by 1 to parse the block header field for the current sequence number. It then extracts the block header fields from the block's binary stream: {Device ID, PrevHash, MerkleRoot, Timestamp, Difficulty, Nonce}, and performs the following operations:
[0420] 1. PoW Verification: The edge server performs a double SHA-256 hash calculation on the extracted block header and compares the result with the target value.
[0421] If satisfied If the task is accepted, it is considered legitimate; otherwise, it is discarded directly, indicating that the difficulty is "incompatible," and the discard information is sent to the device ID. Upon receiving the discard information, the terminal understands that the task unloading was unsuccessful and can either re-encode the computation task on the blockchain or perform local computation.
[0422] 2. Merkle Root Verification: The edge server performs Merkle root verification based on the transaction hash list in the block body, including:
[0423] Extracting the block will retrieve a list of all transaction hashes for each transaction, stored sequentially. ;
[0424] Recursive Reconstruction of Merkelgen: Setting And through the formula Calculate the root value up to the highest level ;like Matches the MerkleRoot in the block header, i.e. This proves that the transaction list is complete and has not been tampered with.
[0425] 3. Transaction (task metadata) decoding:
[0426] For each transaction j in the block:
[0427] Decode the serialized transaction field: ;
[0428] Verify the transaction hash to check the field integrity;
[0429] Verify the device state digest with the actual queried state.
[0430] After successful verification, the edge server sends a signal to the terminal corresponding to the device ID to request the task data to be calculated. The edge server receives the data sent by the terminal and compares it with the serialized transaction field. After successful comparison, it is stored in the data storage space of the edge server, completing the task queuing. The edge server performs the calculation task, and after completion, returns the result to the terminal. At the same time, the processed transaction state can be chained or updated off-chain.
[0431] The edge server can update the PoW difficulty according to the size of its own data storage space and broadcast it to all terminals.
[0432] Through the above steps, the edge server can reliably decode and verify the candidate blocks on the chain, accurately restore the transaction metadata digest, and then convert it into executable computing tasks, achieving trusted task offloading and execution.
[0433] Figure 4 A structural diagram of an edge computing task offloading device provided by an embodiment of the present disclosure; as shown in Figure 4 the device is applied to a terminal, and the device comprises:
[0434] A first processing module for determining computing task data, the computing task data comprising: task image data, privacy level;
[0435] A second processing module for identifying the task image data using an encryption region selection model to determine the encryption region in the task image data; performing feature extraction on the encryption region to obtain encryption region data; generating a feature hash value according to the encryption region data; determining a key length according to the privacy level, and generating an encryption key that meets the constraint of the key length according to the feature hash value and target data;
[0436] A third processing module for encrypting the encryption region in the task image data using the encryption key to obtain encrypted task image data;
[0437] The first communication module is configured to send the encrypted computing task data to an edge server, the encrypted computing task data comprising encrypted task image data, a privacy level, and a region identifier, the region identifier being used to indicate an encrypted region in the task image data.
[0438] It can be understood that the edge computing task offloading apparatus provided by the above embodiments can be used to implement the edge computing task offloading method on the terminal side, and the above processes can be completed by different program modules according to needs, so as to complete all or part of the above processes. In addition, the apparatus and the corresponding method provided by the above embodiments belong to the same concept, and the specific implementation process is described in the method embodiments, which will not be described here.
[0439] Correspondingly, Figure 5 A structural schematic diagram of an edge computing task offloading apparatus provided by an embodiment of the present disclosure is shown in FIG. 1. Figure 5 As shown in FIG. 1, the apparatus is applied to an edge server, and the apparatus comprises:
[0440] The second communication module is configured to receive encrypted computing task data from a terminal, the computing task data comprising encrypted task image data, a privacy level, and a region identifier, the region identifier being used to indicate an encrypted region in the task image data.
[0441] The fourth processing module is configured to determine encrypted region data according to the region identifier, generate a feature hash value according to the encrypted region data, determine a key length according to the privacy level, and generate a decryption key conforming to the constraint of the key length according to the feature hash value and target data.
[0442] The fifth processing module is configured to decrypt the encrypted task image data by using the decryption key to obtain decrypted task image data.
[0443] The sixth processing module is configured to perform task processing according to the computing task data and the decrypted task image data.
[0444] It can be understood that the edge computing task offloading apparatus provided by the above embodiments can be used to implement the edge computing task offloading method on the edge server side, and the above processes can be completed by different program modules according to needs, so as to complete all or part of the above processes. In addition, the apparatus and the corresponding method provided by the above embodiments belong to the same concept, and the specific implementation process is described in the method embodiments, which will not be described here.
[0445] The embodiment of the present application provides a computer program product or computer program, the computer program product or computer program comprises computer instructions stored in a computer readable storage medium. The processor of the computer equipment reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer equipment executes the edge computing task offloading method.
[0446] The embodiment of the present application provides a computer readable storage medium storing executable instructions, wherein the executable instructions are stored, and when the executable instructions are executed by a processor, the processor executes the edge computing task offloading method provided by the embodiment of the present application.
[0447] In some embodiments, the computer readable storage medium can be FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disc, or CD-ROM and the like memory; it can also be various devices including one or any combination of the above memories.
[0448] In some embodiments, the executable instructions can be in the form of programs, software, software modules, scripts or codes, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and can be deployed in any form, including being deployed as independent programs or being deployed as modules, components, subroutines or other units suitable for use in a computing environment.
[0449] As an example, the executable instructions can correspond to files in a file system, but are not necessarily, can be stored in part of a file storing other programs or data, for example, stored in one or more scripts in a hyper text markup language (HTML, Hyper Text Markup Language) document, stored in a single file dedicated to the program in question, or stored in multiple cooperative files (for example, files storing one or more modules, subroutines or code portions).
[0450] As an example, the executable instructions can be deployed to execute on one computing device, or on multiple computing devices located in one place, or on multiple computing devices distributed in multiple places and interconnected through a communication network.
[0451] Figure 6 A structural schematic diagram of an electronic device provided by the embodiment of the present application is shown in the figure. Figure 6 As shown in the figure, the electronic device 60 comprises a processor 601 and a memory 602 connected with the processor 601 in communication; the memory 602 stores instructions executable by the processor 601.
[0452] If the electronic device is a terminal, the instructions are executed by the processor 601 to enable the processor 601 to perform:
[0453] determining computing task data, the computing task data including: task image data, a privacy level;
[0454] identifying the task image data using an encryption region selection model to determine an encryption region in the task image data; performing feature extraction on the encryption region to obtain encryption region data; and generating a feature hash value according to the encryption region data;
[0455] determining a key length according to the privacy level, and generating an encryption key that meets the constraint of the key length according to the feature hash value and target data;
[0456] encrypting the encryption region in the task image data using the encryption key to obtain encrypted task image data;
[0457] sending the encrypted computing task data to an edge server, the encrypted computing task data including the encrypted task image data, the privacy level, and a region identifier, the region identifier being used to indicate the encryption region in the task image data.
[0458] If the electronic device is an edge server, the instructions are executed by the processor 601 to enable the processor 601 to perform:
[0459] receiving encrypted computing task data from a terminal, the computing task data including encrypted task image data, a privacy level, and a region identifier, the region identifier being used to indicate an encryption region in the task image data;
[0460] determining encryption region data according to the region identifier, and generating a feature hash value according to the encryption region data;
[0461] determining a key length according to the privacy level, and generating a decryption key that meets the constraint of the key length according to the feature hash value and target data;
[0462] decrypting the encrypted task image data using the decryption key to obtain decrypted task image data;
[0463] performing task processing according to the computing task data and the decrypted task image data.
[0464] The electronic device and the corresponding edge computing task offloading method provided by the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.
[0465] In practical applications, the electronic device 60 can further include at least one network interface 603. The various components in the electronic device 60 are coupled together by a bus system 604. It can be understood that the bus system 604 is used to realize the connection and communication between the components. The bus system 604 includes not only a data bus, but also a power supply bus, a control bus, and a status signal bus. However, for the purpose of clear illustration, all the buses are marked as the bus system 604 in the Figure 6 The number of the processor 601 can be at least one, and the number of the memory 602 can be at least one. The network interface 603 is used for wired or wireless communication between the electronic device 60 and other devices.
[0466] The memory 602 in the embodiments of the present disclosure is used to store various types of data to support the operation of the electronic device 60.
[0467] The method disclosed in the above embodiments of the present disclosure can be applied to the processor 601 or implemented by the processor 601. The processor 601 can be an integrated circuit chip with a signal processing capability. In the implementation process, each step of the above method can be completed by the integrated logic circuit or the instruction in the software form of the hardware in the processor 601. The processor 601 can be a general-purpose processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The processor 601 can realize or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present disclosure. The general-purpose processor can be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiments of the present disclosure, the hardware decoding processor can be directly embodied to execute the above steps, or the hardware and software modules in the decoding processor can be combined to execute the above steps. The software module can be located in the storage medium in the memory 602, and the processor 601 reads the information in the memory 602 and combines the hardware to complete the steps of the above edge computing task offloading method.
[0468] In some embodiments, the electronic device 60 can be implemented by one or more Application Specific Integrated Circuits (ASICs), DSPs, Programmable Logic Devices (PLDs), Complex Programmable Logic Devices (CPLDs), Field-Programmable Gate Arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors (Microprocessors), or other electronic elements for executing the aforementioned methods.
[0469] It should be understood that the various forms of flow shown above can be used to reorder, add, or delete steps. For example, each step described in the present disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions of the present disclosure can be achieved, and the present disclosure is not limited herein.
[0470] In the above description, "some embodiments" are described, which describe a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0471] Unless otherwise defined, all technical and scientific terms used in the present disclosure have the same meaning as commonly understood by one of ordinary skill in the art to which the present disclosure belongs. The terms used in the present disclosure are only for the purpose of describing the embodiments of the present disclosure and are not intended to limit the present disclosure.
[0472] It should be understood that in various embodiments of the present disclosure, the size of the serial number of each implementation process does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure.
[0473] In addition, the terms "first", "second" are only for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features limited by "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present disclosure, the meaning of "a plurality of" is two or more, unless otherwise specifically limited.
[0474] The above merely provides the specific implementation of the present disclosure, but the protection scope of the present disclosure is not limited thereto, any person skilled in the art can easily think of the changes or replacements within the technical range disclosed by the present disclosure, which should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.
Claims
1. An edge computing task offloading method, characterized in that, The method is applied to a terminal, and the method comprises: determining computing task data, the computing task data comprising: task image data, a privacy level; identifying the task image data using an encryption region selection model to determine an encryption region in the task image data; performing feature extraction on the encryption region to obtain encryption region data; and generating a feature hash value based on the encryption region data; determining a key length based on the privacy level, and generating an encryption key that meets the constraint of the key length based on the feature hash value and target data; encrypting the encryption region in the task image data using the encryption key to obtain encrypted task image data; sending the encrypted computing task data to an edge server, the encrypted computing task data comprising the encrypted task image data, the privacy level, and a region identifier used to indicate the encryption region in the task image data; wherein the generating of the encryption key that meets the constraint of the key length based on the feature hash value and the target data comprises: determining target data, the target data comprising at least one of: context information, a salt value; generating the encryption key that meets the constraint of the key length based on the feature hash value and the target data based on a key derivation function; the method further comprises at least one of: pre-agreeing the salt value with the edge server; sending the context information to the edge server.
2. The method of claim 1, wherein, the method further comprises: training a generative adversarial network using a labeled image data set to obtain the encryption region selection model based on the trained generative adversarial network; or sending a labeled image data set to an edge server and receiving an encryption region selection model trained by the edge server based on the labeled image data set; wherein the labeled image data set comprises at least one image data and a corresponding label for each image data; the generative adversarial network comprises: a discriminator, a generator; the input of the generator comprises: image data, a label, a privacy level, and / or a task response time tolerance, and the output of the generator comprises: an encryption region; the input of the discriminator comprises: image data that has been encrypted with the encryption region, and the output of the discriminator is a discrimination result for the image data; the training target of the generative adversarial network comprises: image data that has been encrypted with the encryption region cannot be correctly discriminated by the discriminator.
3. The method of claim 1, wherein, the method further comprises: determining a state of an edge server and first information of a terminal, the first information comprising: a device state and computing task information of the terminal; determining an offloading decision based on the state and the first information, the offloading decision representing whether to offload a computing task to the edge server; offloading a computing task to an edge server or performing a computing task based on the offloading decision; wherein the state is a first state or a second state; if the state is the first state, the computing task information comprises at least one of: a first latency, a first energy consumption, a second latency, a second energy consumption, and a computation amount of image data corresponding to a terminal encryption computing task. If the state is the second state, the computing task information includes at least one of the following: a first time delay, a first energy consumption, a second time delay, a second energy consumption, a third time delay, a third energy consumption, a fourth time delay, and a fourth energy consumption, and a computing amount of image data corresponding to a terminal encryption computing task; The third time delay represents a time delay required by the terminal to perform a proof of work, and the third energy consumption represents an energy consumption required by the terminal to perform the proof of work, the proof of work being generated based on a to-be-processed task from an edge server; The fourth time delay represents a time delay required by the terminal to perform a computing task on a chain, and the fourth energy consumption represents an energy consumption required by the terminal to perform the computing task on the chain; The first time delay represents a time delay required to perform a computing task, and the first energy consumption represents an energy consumption required to perform the computing task; the second time delay represents a time delay required to be consumed if a computing service is unloaded to an edge server, and the second energy consumption represents an energy consumption required to be consumed if the computing service is unloaded to the edge server.
4. The method of claim 3, wherein, The determination of the state of the edge server includes: receiving state indication information from the edge server, the state indication information being used to indicate the state of the edge server; The first state represents that the edge server allows the terminal to unconditionally unload a computing task of the terminal to a task execution list of the edge server; The second state represents that the edge server does not allow the terminal to unconditionally unload the computing task of the terminal to the task execution list of the edge server.
5. The method of claim 3, wherein, If the state is the second state, the determination of the computing task information of the computing task of the terminal includes: obtaining data of a to-be-processed task published by the edge server; the to-be-processed task is a real task required to be processed by the edge server, and the to-be-processed task is used for the terminal to perform a proof of work; determining a third time delay and / or a third energy consumption according to the data of the to-be-processed task, and a CPU frequency and a power of the terminal per cycle; The data of the to-be-processed task includes at least one of the following: a task execution computing amount and a proof generation computing amount.
6. The method of claim 3, wherein, If the state is the second state, and it is determined according to the unloading decision to unload the task to the edge server, the method further includes performing a proof of work according to the data of the to-be-processed task; The performing of the proof of work according to the data of the to-be-processed task includes: executing the to-be-processed task to obtain a task execution result and generate a computing proof; constructing a block header according to the task execution result and the computing proof; chaining the block header to a first block chain, so that the edge server obtains the block header and verifies the computing proof; a result of the verification of the computing proof is used as a basis for the edge server to determine whether to execute the computing task unloaded by the terminal to the edge server; The execution of the to-be-processed task to obtain the task execution result and generate the computing proof includes: obtaining a function of the to-be-processed task from the data of the to-be-processed task, and generating the computing proof based on a task execution process in the execution of the to-be-processed task. The function is used to execute a to-be-processed task and generate an execution function or program of an intermediate key process; The block header comprises the following information: A hash value of a task execution result, a proof of work, a block version, a hash of a previous block, a Merkle root of task metadata, a timestamp, a task difficulty, a random number, a block type, and a task identifier; the task difficulty is determined and issued by the edge server according to an amount of tasks to be processed; and the task difficulty is used to affect a difficulty of proof of work performed by the terminal.
7. The method of claim 3, wherein, The method further comprises: According to the state and the first information, determining an offloading decision, comprising: Identifying the first information by using an offloading strategy model to obtain an identification result, the identification result representing whether to offload a computing task to the edge server; The offloading strategy model is obtained by training a double neural network based on a training data set, the double neural network comprising: an online neural network and a target neural network; Each training data in the training data set is represented by a four-tuple, the four-tuple comprising: state information at a first time, an action, an immediate reward of environmental feedback, and state information at a second time, the second time being a time after the first time; The action is a first action or a second action, the first action representing that the terminal executes a task, and the second action representing that the computing task is offloaded to the edge server for execution; The state information comprises at least one of the following: device state, first time delay, first energy consumption, second time delay, second energy consumption, and a calculation amount of image data corresponding to a terminal encryption computing task; if the action is the second action, the state information further comprises at least one of the following: third time delay, third energy consumption, fourth time delay, and fourth energy consumption; 8. The method of claim 7, wherein, The immediate reward is determined based on the state information and the action in a first time period. If the state is a first state, the immediate reward is determined based on a first immediate reward function, the first immediate reward function being constructed based on at least one of the following information: Terminal state; Time delay and / or energy consumption of the computing task executed on the terminal; Time delay and / or energy consumption representing that the computing task is offloaded to the edge server for execution; 9. The method of claim 7, wherein, Calculation amount of image data in the terminal encryption computing task. If the state is a second state, the immediate reward is determined based on a second immediate reward function, the second immediate reward function being constructed based on at least one of the following information: Terminal state; Time delay and / or energy consumption of the computing task executed on the terminal; Time delay and / or energy consumption representing that the computing task is offloaded to the edge server for execution; Time delay and / or energy consumption of terminal blockchain encoding; Time delay and / or energy consumption required for proof of work performed by the terminal; 10. The method of claim 6, wherein, Calculation amount of image data in the terminal encryption computing task. The method further comprises: Collecting training data; Sending the training data to the edge server, the training data being used for training of the offloading strategy model by the edge server; 11. An edge computing blockchain offloading method, characterized in that, Receiving the offloading strategy model sent by the edge server. The method is applied to an edge server, and the method comprises: Receiving encrypted computing task data from a terminal, the computing task data comprising encrypted task image data, a privacy level, and a region identifier, the region identifier being used to indicate an encrypted region in the task image data; determining encrypted region data according to the region identifier, generating a feature hash value according to the encrypted region data; determining a key length according to the privacy level, and generating a decryption key according to the feature hash value and target data, the decryption key meeting a constraint of the key length; decrypting the encrypted task image data by using the decryption key to obtain decrypted task image data; performing task processing according to the computing task data and the decrypted task image data; wherein the generating of the decryption key according to the feature hash value and the target data, the decryption key meeting the constraint of the key length, comprises: determining target data, the target data comprising at least one of context information and a salt value; generating, based on a key derivation function, the decryption key according to the target data and the feature hash value, the decryption key meeting the constraint of the key length; the method further comprises at least one of the following: pre-agreeing the salt value with the terminal; receiving the context information sent by the terminal.
12. The method of claim 11, wherein, the method further comprises: obtaining a labeled image data set; training a generative adversarial network based on the labeled image data set, and obtaining an encrypted region selection model according to the trained generative adversarial network, the encrypted region selection model being used to determine an encrypted region; sending the encrypted region selection model to the terminal; wherein the labeled image data set comprises at least one image data and a corresponding label for each image data; the generative adversarial network comprises a discriminator and a generator; an input of the generator comprises image data, a label, a privacy level and / or a task response time tolerance, and an output of the generator comprises an encrypted region; an input of the discriminator comprises image data that has been encrypted in the encrypted region, and an output of the discriminator is a discrimination result for the image data; a training target of the generative adversarial network comprises that image data that has been encrypted in the encrypted region cannot be correctly discriminated by the discriminator.
13. An edge computing task offloading apparatus, characterized by comprising: the device is applied to a terminal, and the device comprises: a first processing module configured to determine computing task data, the computing task data comprising task image data and a privacy level; a second processing module configured to identify the task image data by using an encrypted region selection model to determine an encrypted region in the task image data, perform feature extraction on the encrypted region to obtain encrypted region data, generate a feature hash value according to the encrypted region data, determine a key length according to the privacy level, and generate an encryption key according to the feature hash value and target data, the encryption key meeting a constraint of the key length; a third processing module configured to encrypt the encrypted region in the task image data by using the encryption key to obtain encrypted task image data; a first communication module configured to send encrypted computing task data to an edge server, the encrypted computing task data comprising encrypted task image data, a privacy level and a region identifier, the region identifier being used to indicate the encrypted region in the task image data; wherein the second processing module is configured to determine target data, the target data comprising at least one of context information and a salt value. generate, based on the feature hash value and target data, a decryption key conforming to a constraint of the key length according to a key derivation function; The first communication module is configured to perform at least one of the following: pre-agree the salt value with the edge server; send the context information to the edge server.
14. An edge computing task offloading apparatus, characterized by, The device is applied to an edge server, and the device comprises: The second communication module is configured to receive encrypted computing task data from a terminal, the computing task data comprising encrypted task image data, a privacy level, and a region identifier, the region identifier being used to indicate an encrypted region in the task image data; The fourth processing module is configured to determine encrypted region data according to the region identifier, generate a feature hash value according to the encrypted region data, determine a key length according to the privacy level, and generate a decryption key conforming to a constraint of the key length according to the feature hash value and target data; The fifth processing module is configured to decrypt the encrypted task image data by using the decryption key to obtain decrypted task image data; The sixth processing module is configured to perform task processing according to the computing task data and the decrypted task image data. The fourth processing module is configured to determine target data, the target data comprising at least one of the following: context information and a salt value. generate, based on the feature hash value and target data, a decryption key conforming to a constraint of the key length according to a key derivation function; The second communication module is configured to perform at least one of the following: pre-agree the salt value with the terminal; receive the context information sent by the terminal.
15. An electronic device, comprising: comprise: at least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 10; or to enable the at least one processor to perform the method of claim 11 or 12.
16. A non-transitory computer-readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable a computer to perform the method of any one of claims 1 to 10; or the computer instructions are used to enable a computer to perform the method of claim 11 or 12.
Citation Information
Patent Citations
Task unloading system and method in vehicle fog calculation
CN111800495A
Processing method and device for image acquisition synchronous encryption privacy protection
CN114390316A