A method for scheduling edge computing resources, storage medium and server
By deploying a server in an edge system, obtaining the running data of edge devices and simulating the target device to perform tasks, the problem of edge devices running blockage is solved and task processing efficiency is improved.
Patent Information
- Application Number
- CN202010851157.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-21
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2040-08-21
AI Technical Summary
Edge computing devices are prone to operational blockage under high load or resource usage, resulting in low task processing efficiency.
By deploying a server in the edge system, obtaining the operating data of each edge device, determining the target edge device that may have a blocked operation, and simulating the device's task data through the server.
Improve task processing efficiency, avoid blockage of edge devices, and ensure improvement of user experience.
Smart Images

Figure CN114077495B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless communication technology, and in particular to an edge computing resource scheduling method, storage medium and server. Background Art
[0002] At present, with the development of science and technology, users have higher and higher demands for communication business processing and transmission rate. Edge computing can use mobile access networks to provide computing, storage, processing and other capabilities nearby to reduce latency. However, during the use of edge devices for edge computing, edge devices may be blocked due to excessive use or the need to access the network or resources being occupied, resulting in low task processing efficiency and inconvenience to users. Summary of the invention
[0003] The technical problem to be solved by this application is to provide an edge computing resource scheduling method, storage medium and server in view of the deficiencies of the existing technology.
[0004] In order to solve the above technical problems, the first aspect of the embodiment of the present application provides an edge computing resource scheduling method, which is applied to the server of an edge system, wherein the edge system includes a plurality of edge devices and the server; the method includes:
[0005] The server obtains the operation data of each edge device, and determines the target edge device according to the operation data of each edge device, wherein the target edge device is at least one edge device among the plurality of edge devices;
[0006] The server acts as the target edge device and executes the task data corresponding to the target edge device.
[0007] The edge computing resource scheduling method, wherein the server is configured with an executable image corresponding to each edge device in the plurality of edge devices; the server acts as the target edge device and executes the task data corresponding to the target edge device, specifically including:
[0008] The server starts the executable image corresponding to the target edge device, wherein the executable image is used to simulate the target edge device;
[0009] When the executable image is successfully started, the server executes the task data corresponding to the target edge device.
[0010] The edge computing resource scheduling method, wherein the server executes the task data corresponding to the target edge device specifically includes:
[0011] The server sends a simulation success instruction to the target edge device, so that the target edge device sends task data to the server based on the simulation success instruction;
[0012] The server receives the task data and executes the received task data.
[0013] The edge computing resource scheduling method, wherein the server acts as the target edge device and executes the task data corresponding to the target edge device, the method further includes:
[0014] The server feeds back the processing result corresponding to the task data to the target edge device, so that the target edge device obtains the processing result corresponding to the task data.
[0015] The edge computing resource scheduling method, wherein the server obtains the operating data of several edge devices specifically includes:
[0016] The server determines the set time period corresponding to the current time at intervals of a first preset time;
[0017] The server obtains the historical operation data corresponding to each edge device according to the set time period, wherein the operation time period corresponding to the historical operation data corresponds to the set time period;
[0018] The server uses the historical operation data corresponding to each edge device as the operation data corresponding to each edge device.
[0019] The edge computing resource scheduling method, wherein the operation data includes the number of abnormalities; the determining the target edge device according to the acquired operation data specifically includes:
[0020] The server selects some edge devices from the plurality of edge devices based on the number of exceptions, and uses the selected edge devices as target edge devices.
[0021] The edge computing resource scheduling method, wherein the operation data includes an average operation time and a target operation time; and determining a target edge device according to the acquired operation data specifically includes:
[0022] For each edge device, the server determines a running time difference according to the average running time and the target running time;
[0023] The server selects some edge devices from the plurality of edge devices based on the running time difference, and uses the selected edge devices as target edge devices.
[0024] The edge computing resource scheduling method, wherein the target edge device includes a plurality of target edge devices; before the server simulates the target edge device to execute the task data corresponding to the target edge device, the method further includes:
[0025] The server obtains the number of devices of the target edge device;
[0026] When the number of devices is greater than a preset number threshold, the server obtains the device priority corresponding to each target device and the number of times it is used within a specified time period;
[0027] The server determines a designated edge device based on the device priority and the number of times used corresponding to each target edge device, wherein the designated edge device is included in the plurality of target edge devices;
[0028] The server determines the designated edge device as the target edge device.
[0029] A second aspect of an embodiment of the present application provides a computer-readable storage medium, which stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps in any of the edge computing resource scheduling methods described above.
[0030] A third aspect of an embodiment of the present application provides a server, comprising: a processor, a memory, and a communication bus; the memory stores a computer-readable program that can be executed by the processor;
[0031] The communication bus realizes the connection and communication between the processor and the memory;
[0032] When the processor executes the computer-readable program, the steps in any of the edge computing resource scheduling methods described above are implemented.
[0033] Beneficial effects: Compared with the prior art, the present application provides an edge computing resource scheduling method, storage medium and server, the method comprising the server obtaining the operating data of each edge device, and determining the target edge device according to the operating data of each edge device; the server simulating the target edge device, and executing the task data corresponding to the target edge device. The present application improves the task processing efficiency by arranging a server in the edge system, obtaining the operating data of each edge device in the edge system, determining the target edge device based on the operating data, and simulating the target edge device by the server to execute the task data received by the target edge device. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without inventive work.
[0035] Figure 1 A flowchart of the edge computing resource scheduling method provided in this application.
[0036] Figure 2 The structural principle diagram of the server provided for this application. DETAILED DESCRIPTION
[0037] The present application provides an edge computing resource scheduling method, storage medium and server. To make the purpose, technical solution and effect of the present application clearer and more specific, the present application is further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0038] It will be understood by those skilled in the art that, unless expressly stated, the singular forms "one", "said", and "the" used herein may also include plural forms. It should be further understood that the term "comprising" used in the specification of the present application refers to the presence of the features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof. It should be understood that when we refer to an element as being "connected" or "coupled" to another element, it may be directly connected or coupled to the other element, or there may be an intermediate element. In addition, the "connection" or "coupling" used herein may include wireless connection or wireless coupling. The term "and / or" used herein includes all or any unit and all combinations of one or more associated listed items.
[0039] It will be understood by those skilled in the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as those generally understood by those skilled in the art to which this application belongs. It should also be understood that terms such as those defined in general dictionaries should be understood to have meanings consistent with those in the context of the prior art, and will not be interpreted with idealized or overly formal meanings unless specifically defined as here.
[0040] The inventors have found through research that with the development of science and technology, users have higher and higher demands for communication service processing and transmission rate. Edge computing can use mobile access networks to provide computing, storage, processing and other capabilities nearby to reduce latency. However, when edge devices for edge computing are in use, they may be blocked due to excessive use or the need to access the network or resources being occupied, resulting in low task processing efficiency and inconvenience to users.
[0041] In order to solve the above problems, in an embodiment of the present application, a server is arranged in an edge system, and the operation data of each edge device in the edge system is obtained. Based on the operation data, a target edge device that may have operation congestion is determined. By simulating the edge device through the server, the target edge device can receive the task data, thereby improving the task processing efficiency.
[0042] The application content is further explained below through the description of embodiments in conjunction with the accompanying drawings.
[0043] This embodiment provides an edge computing resource scheduling method, which is applied to an edge system, and the edge system includes several edge devices and a server; each of the several edge devices communicates with the server, and the several edge devices and the server are arranged at the edge of the network (such as the network edge of the network where the user terminal is located, etc.), and are servers that provide services for the user terminals accessing the edge device. For example, the network corresponding to edge device A is a campus network, then the user terminals accessing the campus network can all be connected to the edge device, and the edge device can provide services for the user terminals accessing the campus network. In an implementation of this embodiment, the several edge devices can be located at the same network edge, and each of the several edge devices is used to execute different task data, for example, the several edge devices include edge device A and edge device B, and edge device A and edge device B are both arranged at the edge of the cinema network, wherein edge device A is used to scan the theater ticket, and edge device B is used to check the scanning and verification identity, etc.
[0044] like Figure 1 As shown, the edge computing resource scheduling method includes:
[0045] S10. The server obtains the operating data of each edge device, and determines the target edge device according to the operating data of each edge device.
[0046] Specifically, the operation data is used to reflect the operation status of the edge device, and the target edge device can be determined based on the operation status, wherein the target edge device is at least one edge device among the several edge devices, and the target edge device is an edge device among the several edge devices that may be blocked in operation. It can be understood that after obtaining the operation data of each edge device, it can be determined that several edge devices may have operation blockages based on the obtained operation data, and the edge device that may be blocked in operation is determined as the target edge device, so that the target edge device is determined based on the operation data, so that the subsequent server simulates the target edge device to execute part of the tasks received by the target edge device, improve the task processing speed of the target edge device, and avoid blockage of the target edge device.
[0047] In an implementation of this embodiment, the server obtains the operating data of several edge devices specifically including:
[0048] The server determines the set time period corresponding to the current time at intervals of a first preset time;
[0049] The server obtains the historical operation data corresponding to each edge device according to the set time period, wherein the operation time period corresponding to the historical operation data corresponds to the set time period;
[0050] The server uses the historical operation data corresponding to each edge device as the operation data corresponding to each edge device.
[0051] Specifically, the current time is the acquisition time of the operation data. It can be understood that the current time is the start time of starting to acquire the operation data. For example, the operation data is acquired once every 1 hour, and the acquisition time of the first acquisition of the operation data is 0 o'clock. Then the acquisition time of the second acquisition of the operation data is 1 hour apart from the acquisition time of the first acquisition of the operation data. Therefore, the acquisition time of the second acquisition of the operation data is 1 o'clock, and the current time corresponding to the second acquisition of the operation data is 1 o'clock. Of course, in actual applications, the current time can be determined based on the system time configured by the server. The determination process of the current time can be that the server starts a timer, and the timer is configured with a first preset time. When the timer times out, the server starts the operation of acquiring the operation data of each edge device, and obtains the system time when the operation of acquiring the operation data of each edge device is started, and the obtained system time is used as the current time.
[0052] The set time period corresponds to the current time, and after the current time is obtained, the set time period can be determined based on the current time. The correspondence between the current time and the set time period can be preset, and the server stores the correspondence, so that after the current time is obtained, the set time period corresponding to the current time can be determined based on the correspondence. In one implementation, the correspondence is that the set time period is a time period starting from the current time and with a specified duration as the time period length. For example, if the current time is 6 o'clock and the specified duration is 1 hour, then the set time period is 6 o'clock-7 o'clock. In this way, after the current time is obtained, the set time period corresponding to the current time can be quickly determined.
[0053] Of course, in actual applications, the designated durations corresponding to the current times may be different. For example, the server pre-sets several designated durations, each of which corresponds to a time interval. After obtaining the current time, the time interval in which the current time is located is determined, and the designated duration corresponding to the time interval is used as the duration in which the current time is located. For example, the several designated durations include designated duration A and designated duration B, where designated duration A corresponds to 3 o'clock to 12 o'clock, and designated duration B corresponds to 12 o'clock to 3 o'clock the next day. Then, when the current time is 6 o'clock, the designated duration corresponding to the current time is designated duration A. In this way, different set time periods can be determined based on the current time, so as to flexibly adjust the edge devices simulated by the server later, so that the server can quickly respond to edge devices in a blocked state and improve the task processing efficiency of edge devices.
[0054] The historical operation data is the operation data of the edge device before the current time, and the operation time period corresponding to the historical operation data corresponds to the set time period, and the historical operation data is used to reflect the operation status of the edge device in the corresponding operation time period. Among them, the historical operation data is part of the operation data of the edge device before the current time, and the historical operation time can be obtained from all the operation data before the current time based on the set time period. All the operation data can be the operation data of the edge device stored by the server itself; or it can be its own operation data stored by the edge device itself. In one implementation of this embodiment, each edge device in each edge device uploads its own operation data to the server at a preset time interval, so that the server can obtain the operation data of each edge device. For example, each edge device uploads its own operation data at an interval of 15 minutes, and each edge device uploads its own operation data at the same time, for example, the corresponding starting upload time of each edge device is 0 o'clock, etc.
[0055] In addition, in order to facilitate the operation data of each edge device to occupy the storage space of the server, the server stores the operation data of each edge device for a predetermined time. For example, the server only stores the operation data of each edge device for one week. When more than one week of operation data is received, the received operation data will replace the already stored operation data in chronological order. Of course, in actual applications, the scheduled time of the operation data can be determined according to the device parameters of the server, so that different scheduled times can be determined for servers with different performance, thereby improving the flexibility of historical data storage. In addition, in a specific implementation method, the server stores a preset storage amount of operation data, wherein the preset storage amount can be determined based on the storage space configured by the server, such as the preset storage amount is 1 / 5 of the storage space configured by the server, etc.
[0056] For example: for edge device A, the current time is 6 o'clock, the set time period is 6 o'clock-7 o'clock, and the server stores the operation data of the edge device for one week. Then, the operation data with the operation segment of 6 o'clock-7 o'clock is selected from the operation data, and all the operation data from 6 o'clock to 7 o'clock are obtained as the historical operation data of edge device A, and the historical operation data is obtained as the operation data of edge device A.
[0057] In an implementation of this embodiment, the operation data includes the number of abnormalities; and determining the target edge device according to the acquired operation data specifically includes:
[0058] The server selects some edge devices from the plurality of edge devices based on the number of exceptions, and uses the selected edge devices as target edge devices.
[0059] Specifically, the number of exceptions is used to reflect the number of exceptions sent by the edge device when executing the task, wherein the edge device sending an exception when executing the task means that the time spent by the edge device to execute the task reaches the maximum running time corresponding to the task. In addition, the number of exceptions is the number of exceptions corresponding to the set time period. Since the operation data can include historical operation data corresponding to several set time periods, when the server selects some edge devices from several edge devices in the order of the number of exceptions from large to small, it is necessary to determine the number of exceptions corresponding to the edge device according to the historical operation data corresponding to several set time periods, wherein the process of determining the number of exceptions corresponding to the edge device can be: selecting the largest number of exceptions in the historical operation data corresponding to several set time periods as the number of exceptions corresponding to the edge device, or calculating the average value of the number of exceptions corresponding to each set time period in several set time periods, and using the calculated average value as the number of exceptions corresponding to the edge device; or calculating the sum of the number of exceptions corresponding to each set time period in several set time periods, and using the sum of the calculated number of exceptions as the number of exceptions corresponding to the edge device, etc.
[0060] Furthermore, after obtaining the number of abnormalities corresponding to each edge device, the number of abnormalities can be compared with the preset number threshold, and all edge devices with abnormalities greater than the preset number threshold can be determined, and all the determined edge devices can be used as target edge devices. In this way, the operating status of edge devices can be estimated based on historical data, and edge devices with a large number of abnormalities can be simulated to avoid abnormalities in edge devices again within a set time period, thereby improving the efficiency of the tasks corresponding to edge devices in the set time period.
[0061] In an implementation of this embodiment, the operation data includes an average operation time and a target operation time; and determining the target edge device according to the acquired operation data specifically includes:
[0062] For each edge device, the server determines a running time difference according to the average running time and the target running time;
[0063] The server selects some edge devices from the plurality of edge devices based on the running time difference, and uses the selected some edge devices as target edge devices.
[0064] Specifically, the average running time is used for the response time of the edge device to the task. For example, the average running time is 30s, and the average running time required for the edge device to process the task within the time period corresponding to the running data is 30s. The target running time corresponding to each edge device is obtained by the server running the image library corresponding to each edge device when it meets the preset conditions, wherein the preset condition is that the usage rate of the server is less than the preset threshold. The preset threshold is preset, for example, 10%, 15%, etc. It can be understood that the server monitors its own usage rate. When its usage rate is less than the preset threshold, the server runs the image library corresponding to each edge device in turn to obtain all the running times of the tasks corresponding to each edge device run by the server, and the obtained running time is used as the target running time corresponding to the edge device. Among them, the image library corresponding to each edge device is used to store the executable image corresponding to each edge device. After the server stores the executable image, the server can simulate the edge device corresponding to the executable image and execute the task data corresponding to the edge device. In one implementation of this embodiment, the executable image can be started by docker.
[0065] Further, the time difference is the time difference between the average running time and the target running time. For example, if the average running time is 30s and the target running time is 10s, then the time difference is 30s-20s=10s. In addition, after determining the running time difference corresponding to each edge device, the running time difference can be compared with the preset time difference threshold to determine all edge devices whose running time difference is greater than the preset time difference threshold, and all the determined edge devices are used as target edge devices. In addition, in actual applications, the server can update the abnormal target running time at preset intervals. In this way, by updating the target running time by the server, on the one hand, the accuracy of the target running time can be improved, and on the other hand, by determining the target running time, it can be determined whether the server can execute the tasks corresponding to each edge device, thereby detecting whether the server is in an available state, thereby avoiding low task processing efficiency caused by damage to the server.
[0066] In one implementation, in order to provide accuracy in selecting the target edge device, the operation data includes the number of abnormalities, the average operation time, and the target operation time, and the number of abnormalities and the operation time difference can be used as selection conditions to determine the target edge device. Therefore, determining the target edge device based on the acquired operation data specifically includes:
[0067] For each edge device, the server determines a running time difference according to the average running time and the target running time;
[0068] The server determines the target edge device based on the running time difference and the number of exceptions corresponding to each edge device.
[0069] Specifically, after obtaining the number of abnormalities and the running time difference, it can be determined that the number of abnormalities or the running time difference is the main factor, and the running time difference or the number of abnormalities is the secondary factor. After determining the main factor and the secondary factor, the edge devices can be sorted based on the main factor first, and then, for the candidate edge devices with the same main factor, the candidate edge devices are sorted according to the secondary factor to sort the edge devices. Of course, in actual applications, when there are still reference edge devices in the same position after sorting based on the main factor and the secondary factor, the reference edge devices in the same position can be randomly arranged so that each edge device corresponds to a unique arrangement number, and each arrangement number corresponds to a unique edge device, so that the target edge device can be selected according to the sorting, for example, the first 5 edge devices are selected, or the first half of each edge device is selected. Of course, it is worth noting that when the main factor is the number of abnormalities, the secondary factor is the running time difference, and when the main factor is the running time difference, the secondary factor is the number of abnormalities.
[0070] For example: edge devices include edge device A, edge device B and edge device C. Edge device A corresponds to an abnormality number of 1 and an operating difference time of 20s. Edge device B corresponds to an abnormality number of 2 and an operating difference time of 20s. Edge device C corresponds to an abnormality number of 1 and an operating difference time of 15s. Then, when the main factor is the number of abnormalities and the secondary factor is the operating time difference, first arrange the edge devices according to the number of abnormalities, and you can know that edge device B ranks first, and edge device A and edge device C are tied. At this time, edge device A and edge device C are sorted according to the operating time difference, and edge device A is ranked before edge device C, so that the sorting sequence corresponding to edge device A, edge device B and edge device C is edge device B, edge device A, edge device C. Then when the main factor is the running time difference and the secondary factor is the number of exceptions, first sort the edge devices according to the running time difference, it can be seen that edge device C is ranked last, and edge device A and edge device B are tied. At this time, edge device A and edge device B are sorted according to the number of exceptions, and edge device B is ranked before edge device C, so that the corresponding sorting sequence of edge device A, edge device B and edge device C is edge device B, edge device A, edge device C.
[0071] Of course, in practical applications, when both the number of anomalies and the running time difference are used as selection conditions to determine the target edge device, the running time difference corresponding to each edge device can be obtained first, and the first score corresponding to each edge device can be determined according to the running time difference, and the second score corresponding to each edge device can be determined according to the number of anomalies corresponding to each edge device; finally, the target score corresponding to each edge device can be determined according to the first score and the second score, and the target edge device can be determined according to the target score. Among them, the target score can be the average of the first score and the second score, or the maximum value of the first score and the second score, or the minimum value of the first score and the second score; or, it can be a score obtained by weighting the weight coefficients corresponding to the running time difference and the number of anomalies, wherein the weight coefficients corresponding to the running time difference and the number of anomalies can be pre-set, and the weight coefficient corresponding to the running time difference and the weight coefficient corresponding to the number of anomalies are equal to 1, for example, the weight coefficient corresponding to the running time difference is 0.3, and the weight coefficient corresponding to the number of anomalies is 0.7, etc.
[0072] For example: several edge devices include edge device A, edge device B and edge device C, and the target score is the average of the first score and the second score. The first score corresponding to edge device A is 80 and the second score is 70, the first score corresponding to edge device B is 85 and the second score is 75, and the first score corresponding to edge device C is 60 and the second score is 80. Then the target score corresponding to edge device A is 75, the target score corresponding to edge device B is 80, and the first score corresponding to edge device C is 70. Therefore, edge device A, edge device B and edge device C can be sorted from high to low according to the target score as edge device B, edge device A, and edge device C.
[0073] In an implementation of this embodiment, the target edge device includes several target edge devices; before the server simulates the target edge device to execute the task data corresponding to the target edge device, the method further includes:
[0074] The server obtains the number of devices of the target edge device;
[0075] When the number of devices is greater than a preset number threshold, the server obtains the device priority corresponding to each target device and the number of times it is used within a specified time period;
[0076] The server determines a designated edge device based on the device priority and the number of times used corresponding to each target edge device, wherein the designated edge device is included in the plurality of target edge devices;
[0077] The server determines the designated edge device as the target edge device.
[0078] Specifically, the number of devices is the number of edge devices selected based on the operation data, and the preset number threshold is the number of edge devices that the server can simulate simultaneously, wherein the preset number threshold can be determined based on the performance of the server itself, for example, the performance itself may include storage space, number of CPUs, and memory size, etc., and the better the performance of the server itself, the larger the preset number threshold; conversely, the worse the performance of the server itself, the smaller the preset number threshold. The device priority is used to reflect the importance of the task corresponding to the edge server. For example, the device priority of edge device A is higher than the device priority of edge device B, then when the importance of the task corresponding to edge device A is higher than the importance of the task corresponding to edge device B. The number of uses refers to the number of times the edge device performs a task within the operation time period corresponding to the operation data, for example, 100 times, etc.
[0079] In one implementation of this embodiment, the device priority and the number of times used may be included in the operation data, and when it is necessary to obtain the device priority and the number of times used, they can be read from the operation data. Based on this, in one implementation of this embodiment, the operation data may include device identification, time period, average operation time, target operation time, number of times used, device priority, and number of exceptions. Accordingly, when the server stores the operation data uploaded by each edge device, it may be stored in the format of device identification, time period, average operation time, target operation time, number of times used, device priority, and number of exceptions. Among them, the operation data corresponding to each uploaded time period of each edge device can be stored in a data table, so that the operation time corresponding to each time period of each edge device can be found through the data table.
[0080] For example:
[0081]
[0082] Of course, it is worth noting that the time interval for each edge device to upload operating data can be the same as the time interval for each server to obtain each edge data, and the actual time of the time period corresponding to the uploaded data is the acquisition time of the server to obtain the operating data, which can also quickly find the operating time corresponding to the set time period in the stored operating data corresponding to each edge device. Of course, in actual applications, the time interval for each edge device to upload operating data and the time interval for each server to obtain each edge data can be determined according to actual usage, for example, 1 hour, 30 minutes, 10 minutes, and 1 minute.
[0083] S20. The server simulates the target edge device and executes the task data corresponding to the target edge device.
[0084] Specifically, the task data is the task data to be processed by the target edge device. The server simulates the target edge device so that the server can serve as a backup device for the target edge device. The target edge device can send the received task data to the server. The server can receive and execute the task data to expand the capacity of the target edge device through the server, thereby improving the speed at which the target edge device responds to tasks, thereby improving the processing efficiency of the task. In a specific implementation, the device performance of the server can be better than the device performance of the edge device. For example, the server has 8 cores and the edge device has 4 cores, or the server is a wired network and the edge device is a wireless network. Among them, the server can be a PC, a server, a processor, etc., and the edge device can be a smart phone, a tablet computer, a PC, a server, a processor, etc.
[0085] In an implementation of this embodiment, the server is configured with an executable image corresponding to each edge device in a plurality of edge devices; the server acts as the target edge device, and executes the task data corresponding to the target edge device, specifically including:
[0086] The server starts the executable image corresponding to the target edge device, wherein the executable image is used to simulate the target edge device;
[0087] When the executable image is successfully started, the server executes the task data corresponding to the target edge device.
[0088] Specifically, the executable image is used to simulate the target edge device. When the server loads the Susou executable image, the server can execute the functions of the target edge device and the tasks performed by the target edge device. The executable image can include the operating environment and operating resources of the target edge device, and the executable image can be started through docker. It can be understood that when the server needs to simulate the target edge device, the executable image corresponding to the target edge device can be started through docker, so that the server is used as the target edge device to execute the task data corresponding to the target edge device.
[0089] In an implementation of this embodiment, the server executes the task data corresponding to the target edge device specifically including:
[0090] The server sends a simulation success instruction to the target edge device, so that the target edge device sends task data to the server based on the simulation success instruction;
[0091] The server receives the task data and executes the received task data.
[0092] Specifically, the simulation success instruction is used to request the target edge device to send the task data it receives to the server, so that the server and the target edge device can execute the task data received by the target edge device as two parallel devices. For example, the target edge device receives task data A, task data B and task data C at the same time. The target edge device can send task data A to the server, so that the server executes task data A, and the target edge device itself executes task data B and task data C. This can increase the number of task data processed in parallel by the target edge device, thereby improving the processing efficiency of the target edge device corresponding to the task data. In addition, after the server executes the received task data, it feeds back the processing result to the target edge device, and feeds back the execution result to the task data sending end through the target edge device, wherein the processing result can be a successful processing, or a failed processing, etc. Of course, in actual applications, the processing result can be different according to different task data, and can be specifically determined according to the implementation requirements. For example, if the task data is a read data request, then the processing result is the request data corresponding to the read data request, etc.
[0093] In summary, this embodiment provides an edge computing resource scheduling method, the method comprising the server obtaining the operating data of each edge device, and determining the target edge device according to the operating data of each edge device; the server simulates the target edge device, and executes the task data corresponding to the target edge device. This application improves the task processing efficiency by arranging a server in the edge system, obtaining the operating data of each edge device in the edge system, determining the target edge device based on the operating data, and executing the task data received by the target edge device by simulating the target edge device by the server.
[0094] Based on the above-mentioned edge computing resource scheduling method, this embodiment provides a computer-readable storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the steps in the edge computing resource scheduling method as described in the above-mentioned embodiment.
[0095] Based on the above edge computing resource scheduling method, the present application also provides a server, such as Figure 2As shown, it includes at least one processor (processor) 20; display screen 21; and memory (memory) 22, and may also include a communications interface (Communications Interface) 23 and a bus 24. Among them, the processor 20, the display screen 21, the memory 22 and the communication interface 23 can communicate with each other through the bus 24. The display screen 21 is configured to display a preset user guide interface in the initial setting mode. The communication interface 23 can transmit information. The processor 20 can call the logic instructions in the memory 22 to execute the method in the above embodiment.
[0096] In addition, the logic instructions in the memory 22 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
[0097] The memory 22 is a computer-readable storage medium that can be configured to store software programs, computer executable programs, such as program instructions or modules corresponding to the methods in the embodiments of the present disclosure. The processor 20 executes functional applications and data processing by running the software programs, instructions or modules stored in the memory 22, that is, implementing the methods in the above embodiments.
[0098] The memory 22 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and at least one application required for a function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 22 may include a high-speed random access memory and may also include a non-volatile memory. For example, a variety of media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, may also be a transient storage medium.
[0099] In addition, the specific process of loading and executing the multiple instruction processors in the above-mentioned storage medium and the server has been described in detail in the above-mentioned method, and will not be described one by one here.
[0100] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for scheduling edge computing resources, characterized in that: The method is applied to a server of an edge system, wherein the edge system includes a plurality of edge devices and the server; the method includes: The server obtains the operation data of each edge device, and determines the target edge device according to the operation data of each edge device, wherein the target edge device is at least one edge device among the plurality of edge devices; The server acts as the target edge device and executes the task data corresponding to the target edge device; The server obtains the operation data of each edge device specifically including: The server determines the set time period corresponding to the current time at intervals of a first preset time; The server obtains the historical operation data corresponding to each edge device according to the set time period, wherein the operation time period corresponding to the historical operation data corresponds to the set time period; The server uses the historical operation data corresponding to each edge device as the operation data corresponding to each edge device; The server determines a set time period corresponding to the current time at intervals of a first preset time, including: The server pre-sets several specified durations, each of which corresponds to a time interval. After obtaining the current time, the server determines the time interval in which the current time is located, and uses the specified duration corresponding to the time interval as the set time period corresponding to the current time. The target edge devices determined based on the acquired operation data include: For each edge device, the server determines the runtime difference based on the average runtime and target runtime; The server determines the target edge device based on the running time difference and the number of exceptions corresponding to each edge device; The server determines the target edge device according to the running time difference and the number of abnormalities corresponding to each edge device, including: After obtaining the number of abnormalities and the running time difference, determine one of the number of abnormalities and the running time difference as the main factor and the other as the secondary factor. After determining the main factor and the secondary factor, sort the edge devices based on the main factor. For candidate edge devices with the same main factor, sort the candidate edge devices according to the secondary factor to sort the edge devices. When there are still reference edge devices in the same position after sorting based on the main factor and the secondary factor, randomly arrange the reference edge devices in the same position so that each edge device corresponds to a unique arrangement number, and each arrangement number corresponds to a unique edge device, and select the target edge device according to the sorting. Alternatively, a first score corresponding to each edge device is determined according to the running time difference, and a second score corresponding to each edge device is determined according to the number of abnormalities corresponding to each edge device; a target score corresponding to each edge device is determined according to the first score and the second score, and a target edge device is determined according to the target score, wherein the target score is the average of the first score and the second score, or the maximum value of the first score and the second score, or the minimum value of the first score and the second score; or, a score obtained by weighting according to the weight coefficients corresponding to the running time difference and the number of abnormalities, wherein the weight coefficients corresponding to the running time difference and the number of abnormalities are preset; The number of exceptions is used to reflect the number of exceptions sent by the edge device when executing a task, wherein the edge device sending an exception when executing a task means that the time spent by the edge device to execute the task reaches the maximum running time corresponding to the task; The average running time is the response time of the edge device to the task; the target running time is obtained by the server running the image library corresponding to each edge device when the server meets the preset conditions.
2. The edge computing resource scheduling method according to claim 1, characterized in that: The server is configured with an executable image corresponding to each edge device in the plurality of edge devices; the server serves as the target edge device and executes the task data corresponding to the target edge device, specifically including: The server starts the executable image corresponding to the target edge device, wherein the executable image is used to simulate the target edge device; When the executable image is successfully started, the server executes the task data corresponding to the target edge device.
3. The edge computing resource scheduling method according to claim 1 or 2, characterized in that: The server executes the task data corresponding to the target edge device, specifically including: The server sends a simulation success instruction to the target edge device, so that the target edge device sends task data to the server based on the simulation success instruction; The server receives the task data and executes the received task data.
4. The edge computing resource scheduling method according to claim 1 or 2, characterized in that: After the server serves as the target edge device and executes the task data corresponding to the target edge device, the method further includes: The server feeds back the processing result corresponding to the task data to the target edge device, so that the target edge device obtains the processing result corresponding to the task data.
5. The edge computing resource scheduling method according to claim 1, characterized in that: The target edge device includes a plurality of target edge devices; before the server simulates the target edge device to execute the task data corresponding to the target edge device, the method further includes: The server obtains the number of devices of the target edge device; When the number of devices is greater than a preset number threshold, the server obtains the device priority corresponding to each target device and the number of times it is used within a specified time period; The server determines a designated edge device based on the device priority and the number of times used corresponding to each target edge device, wherein the designated edge device is included in the plurality of target edge devices; The server determines the designated edge device as the target edge device.
6. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps in the edge computing resource scheduling method as described in any one of claims 1 to 5.
7. A server, characterized in that: include: A processor, a memory and a communication bus; the memory stores a computer-readable program that can be executed by the processor; The communication bus realizes the connection and communication between the processor and the memory; When the processor executes the computer-readable program, the steps in the edge computing resource scheduling method as described in any one of claims 1-5 are implemented.
Citation Information
Patent Citations
Load task migration algorithm for power optimization in marginal computing environment
CN106844051A
Mobile user terminal task unloading method under distributed edge computing service system
CN111262906A