Data processing method, apparatus, device, medium, and program product

By acquiring server state space information, calculating the latency and reward values ​​of multiple allocation strategies, selecting the allocation strategy corresponding to the minimum reward value, and allocating the business to be allocated to the target server, the problem of difficulty in balancing the load pressure of the central server and business latency in existing technologies is solved, and more efficient business allocation is achieved.

CN116860430BActive Publication Date: 2026-04-24CHINA MOBILE INFORMATION TECHNOLOGY CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE INFORMATION TECHNOLOGY CO LTD
Filing Date
2022-12-12
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing edge computing models struggle to balance the load on central servers and service latency when faced with real-world scenarios where services arrive randomly.

Method used

By acquiring server state space information, calculating the latency and reward values ​​of multiple allocation strategies, selecting the allocation strategy corresponding to the minimum reward value, and allocating the business to be allocated to the target server, taking into account the type information and processing capabilities of the central server and edge server.

Benefits of technology

Reduce the load on the central server and reduce business latency, decrease business computing time and failure rate, optimize service quality and improve resource efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116860430B_ABST
    Figure CN116860430B_ABST
Patent Text Reader

Abstract

Embodiments of the application disclose a data processing method, device, equipment, medium and program product. The method comprises: in the case of detecting a to-be-allocated service, acquiring server state space information corresponding to a first preset time slot; based on the state space information, calculating a time delay corresponding to each allocation strategy in a plurality of allocation strategies; based on type information and the time delay, calculating an expected return value of each allocation strategy; determining an allocation strategy corresponding to a minimum return value in the expected return values of the plurality of allocation strategies as a target allocation strategy; and executing the target allocation strategy to allocate the to-be-allocated service to a target allocation server corresponding to the target allocation strategy. The embodiments of the application can reduce the load pressure and service time delay of the central server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of Internet of Things (IoT) technology, and in particular relates to a data processing method, apparatus, device, computer storage medium, and computer program product. Background Technology

[0002] Edge computing reduces latency by deploying edge computing servers close to the business side and establishing low-latency links with the business end, enabling edge processing or preprocessing of complex business processes. Compared to the model where all business processes are sent to the central processing center, edge computing can alleviate the load pressure on the central server to some extent.

[0003] Most related technologies involve optimizing load distribution on edge servers. However, in real-world scenarios where services arrive randomly, existing service allocation methods often struggle to balance the load on the central server with service latency. Summary of the Invention

[0004] This application provides a data processing method, apparatus, device, computer storage medium, and computer program product that can reduce the load pressure on the central server and the business latency.

[0005] In a first aspect, embodiments of this application provide a data processing method, including:

[0006] When a service to be assigned is detected, the server state space information corresponding to the first preset time slot is obtained. The server includes a central server and an edge server. The state space information includes the server's computing resource information, the computing information of the server's remaining services, and the computing information of the service to be assigned.

[0007] Based on state space information, the latency corresponding to each of the multiple allocation strategies is calculated. The allocation strategy includes the type information of the allocation server, and the latency includes the estimated latency for the allocation server to complete the business to be allocated.

[0008] Based on type information and latency, calculate the expected return value for each allocation strategy.

[0009] Among the expected return values ​​corresponding to multiple allocation strategies, the allocation strategy corresponding to the smallest return value is determined as the target allocation strategy;

[0010] Execute the target allocation policy to assign the services to be allocated to the target allocation server corresponding to the target allocation policy.

[0011] In one optional implementation, obtaining server state space information includes:

[0012] Obtain information on the computing resources allocated by the server for the remaining services, the workload of the remaining services, and the complexity of the remaining services;

[0013] Obtain the workload and complexity of the tasks to be assigned.

[0014] In one optional implementation, based on state space information, the latency corresponding to each of the multiple allocation strategies is calculated, including:

[0015] Multiple experience information is obtained from the preset experience pool. The experience information includes the server state space information corresponding to the second preset time slot, the target allocation strategy corresponding to the second preset time slot, the reward value of the target allocation strategy corresponding to the second preset time slot, and the server state space information corresponding to the next time slot of the second preset time slot. The second preset time slot is the time slot before the first preset time slot.

[0016] Based on multiple empirical pieces of information, a strategy for calculating latency is determined;

[0017] Based on the calculation strategy, calculate the latency corresponding to each of the multiple allocation strategies.

[0018] In one optional implementation, the expected return value for each allocation strategy is calculated based on type information and latency, including:

[0019] Obtain the type information of the allocation server corresponding to each allocation strategy;

[0020] Based on type information, determine the penalty value for the allocation strategy;

[0021] The sum of the penalty value and the delay is determined as the expected return value.

[0022] In one alternative implementation, the penalty value of the allocation strategy is determined based on type information, including:

[0023] When the type of the assigned server is a central server, the penalty value is determined as the first penalty value;

[0024] When the assigned server type is an edge server, the penalty value is determined as the second penalty value.

[0025] The first penalty value is greater than the second penalty value.

[0026] Secondly, embodiments of this application provide a data processing apparatus, including:

[0027] The acquisition module is used to acquire server state space information corresponding to the first preset time slot when a service to be allocated is detected. The server includes a central server and an edge server. The state space information includes the server's computing resource information, the computing information of the server's remaining services, and the computing information of the service to be allocated.

[0028] The calculation module is used to calculate the latency corresponding to each of the multiple allocation strategies based on state space information. The allocation strategy includes the type information of the allocation server, and the latency includes the estimated latency for the allocation server to complete the business to be allocated.

[0029] The calculation module is used to calculate the expected return value for each allocation strategy based on type information and latency.

[0030] The determination module is used to determine the allocation strategy corresponding to the smallest expected return value among multiple allocation strategies as the target allocation strategy.

[0031] The execution module is used to execute the target allocation strategy to allocate the services to be allocated to the target allocation server corresponding to the target allocation strategy.

[0032] In one optional implementation, the acquisition module is used to acquire server state space information, including:

[0033] The acquisition module is used to acquire information on the computing resources allocated by the server for the remaining business, the business volume of the remaining business, and the complexity of the remaining business.

[0034] The acquisition module is used to acquire the business volume and complexity of the business to be assigned.

[0035] Thirdly, embodiments of this application provide an electronic device, the device including: a processor and a memory storing computer program instructions;

[0036] When the processor executes computer program instructions, it implements a data processing method as described in any optional embodiment of the first aspect of this application.

[0037] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement a data processing method as described in any optional embodiment of the first aspect of this application.

[0038] Fifthly, embodiments of this application provide a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform a data processing method as described in any optional embodiment of the first aspect of this application.

[0039] The data processing method, apparatus, device, computer storage medium, and computer program product of this application, upon detecting a service to be allocated, acquires the server state space information corresponding to the current time slot, and calculates the latency corresponding to each of multiple allocation strategies based on the state space information. This allows for the estimation of the latency required for each server to complete the service to be allocated. Then, based on the type information of the allocating server and the latency in the allocation strategy, the estimated reward value for each allocation strategy is calculated. This allows for different methods to determine the reward value for central servers and edge servers. Next, the allocation strategy corresponding to the minimum reward value is determined as the target allocation strategy, and the target allocation strategy is executed to allocate the service to the target server corresponding to the target allocation strategy. This allows for the allocation of services by comprehensively considering the type information of each server and the processing capacity of the service to be allocated. This reduces the load pressure on the central server and the service latency, thereby reducing service computation time and failure rate, and ultimately optimizing service quality and improving resource efficiency. Attached Figure Description

[0040] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0041] Figure 1 This is a schematic diagram of a data processing system provided in one embodiment of this application;

[0042] Figure 2 This is a schematic flowchart of a data processing method provided in another embodiment of this application;

[0043] Figure 3 This is a schematic diagram of the intelligent decision-making process of the data processing method provided in another embodiment of this application;

[0044] Figure 4 This is a schematic diagram of the convergence curve of the data processing model provided in another embodiment of this application;

[0045] Figure 5 This is a statistical chart of average service completion time provided in another embodiment of this application;

[0046] Figure 6 This is a business ratio distribution diagram provided in another embodiment of this application;

[0047] Figure 7 This is a business ratio distribution diagram provided in another embodiment of this application;

[0048] Figure 8 This is a business ratio distribution diagram provided in another embodiment of this application;

[0049] Figure 9 This is a business ratio distribution diagram provided in another embodiment of this application;

[0050] Figure 10 This is a business ratio distribution diagram provided in another embodiment of this application;

[0051] Figure 11 This is a schematic diagram of the structure of a data processing apparatus provided in another embodiment of this application;

[0052] Figure 12 This is a schematic diagram of the structure of a data processing device provided in another embodiment of this application. Detailed Implementation

[0053] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0054] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0055] As described in the background section, most related technologies involve optimizing load distribution on edge servers. However, in real-world scenarios where services arrive randomly, existing service allocation methods often struggle to balance the load on the central server and service latency.

[0056] To reduce the load on the central server and decrease service latency, the inventors, after careful consideration, ingeniously proposed a data processing method, apparatus, device, computer storage medium, and computer program product. Implementing a service allocation strategy according to this data processing method not only reduces the load on the central server but also decreases service latency.

[0057] The data processing method provided in this application embodiment will be described below with reference to the accompanying drawings and through specific embodiments and application scenarios. The data processing method provided in this application embodiment can be executed by a data processing device, or a portion of the data processing device used to execute the data processing method. This application embodiment uses the execution of a data processing method by a data processing device as an example to describe the data processing method provided in this application embodiment in detail.

[0058] First, the data processing architecture of the embodiments of this application will be introduced. Figure 1 A schematic diagram of a data processing system in one embodiment is shown. Figure 1 As shown, the data processing system may include a central server, multiple edge servers, and an intelligent scheduling module. When a service arrives at the data processing system, the intelligent scheduling module can schedule the service to be assigned to determine the allocation strategy, for example, determining which server the service will be assigned to. In one embodiment, the data processing system may include one central server and M edge servers, Ω M = {0,1,2,…,M} represents the server set, where {0} represents the central server and {1,2,…,M} represents the edge server set. Each time slot t has a service λ. t The system makes decisions and assigns tasks based on random arrival. λ t The business volume is randomly drawn from the set, Ω L ={l1,l2,…,l z The complexity of each business is generated in}, and the complexity of each business is ρ. z , ρ z ∈Ω ρ ={ρ1,ρ2,…,ρ z That is, the number of server CPU cycles required to process a unit of business volume is ρ. z The intelligent scheduling module makes a decision for a service in each time slot t based on the server status, with the decision variable being a. t ,a t ∈Ω A ={0,1,2,...,M}. a t =0 indicates that the traffic λ from time slot t will be... t Assigned to the central server, a t=m, 1≤m≤M indicates that the service is scheduled to the m-th edge server. Consider the problem of optimizing system resource scheduling performance within T time slots, where each time slot t, t∈Ω T The length of the integers {1,2,…,T} is Δ. Let... This represents the set of services being executed in server m within time slot t. in This represents the i-th computation task executed in the m-th server in time slot t. express The number of business units included.

[0059] This application embodiment can employ a computing power sharing mechanism, meaning that within the same server and the same time slot, each executing service receives equal computing resources. For example, the m-th, m∈Ω M The total computing resources of each server, i.e., the maximum CPU frequency, are Each business The acquired computing resources are make Indicates business The remaining traffic at the start of time slot t Indicates business Initial task size, let These represent the corresponding business processes. The complexity. After time slot t ends, Reduced workload When slot t ends, the service The remaining business volume can be calculated using the following formula 1.

[0060]

[0061] Complete the business The required number of time slots can be calculated using the following formula 2.

[0062]

[0063] After time slot t ends, the number of services being executed by the m-th server can be updated to the calculation result shown in Equation 3 below.

[0064]

[0065] in, For indicator functions, e comp,t This indicates the number of services completed after time slot t ends.

[0066] In this embodiment, a state space information set S for each server in time slot t can be defined. S may include the computing resource information of each server, the computing information of the remaining services of the server at the beginning of time slot t, and the computing information of services to be allocated. In this embodiment, an action space Ω can be defined. A ={0,1,2,…,M}, representing the server selection for service schedulability, that is, indicating that the service to be assigned is allocated to the central server or one of the first to M edge servers. In the embodiments of this application, a reward value R can be defined. t R t This can represent the business λ t The impact of allocation on the central server load and service latency. As an example, this can be based on the service latency. t The allocation strategy predicts the completion rate of business λ. t The required latency, and based on the business λ t The assigned server determines R t The penalty value; then, based on the predicted completion business λ t Calculate R based on the required latency and penalty value. t The value. Based on the return value R. t It can comprehensively evaluate business λ t The impact of allocation strategies on central server load and business latency, as an example, R t Reducing the load on the central server and decreasing service latency helps to lower the load pressure on the central server.

[0067] Figure 2 A flowchart illustrating a data processing method provided in one embodiment of this application is shown. Figure 2 As shown, the data processing method may specifically include the following steps S110 to S150.

[0068] S110, when a service to be assigned is detected, the server state space information corresponding to the first preset time slot is obtained. The server includes a central server and an edge server. The state space information includes the server's computing resource information, the computing information of the server's remaining services, and the computing information of the service to be assigned.

[0069] In step S110, the first preset time slot may include a time slot corresponding to the service to be allocated, for example, it may be the arrival time slot of the service to be allocated, i.e., the current time slot. The calculation information for the remaining services of the server may include information related to the calculation of the remaining services, for example, it may include information related to determining the time slots required to complete the remaining services, or information related to determining the computing resources required to complete the remaining services. The calculation information for the service to be allocated may include information related to the calculation of the service to be allocated, for example, it may include information related to determining the time slots required to complete the allocation, or information related to determining the computing resources required to complete the allocation.

[0070] S120, based on state space information, calculate the latency corresponding to each of the multiple allocation strategies. The allocation strategy includes the type information of the allocation server, and the latency includes the estimated latency for the allocation server to complete the service to be allocated.

[0071] In step S120, the allocation strategy may include allocating the service to be allocated to the corresponding allocation server. In step S120, based on state space information, and according to the computing resource information of each server, the computing information of the server's remaining services, and the computing information of the service to be allocated, the estimated latency required for the allocation server to complete the service to be allocated after the service to be allocated is estimated.

[0072] S130, based on type information and latency, calculate the expected return value for each allocation strategy.

[0073] S140, among the expected return values ​​corresponding to multiple allocation strategies, the allocation strategy corresponding to the smallest return value is determined as the target allocation strategy.

[0074] S150, execute the target allocation policy to allocate the services to be allocated to the target allocation server corresponding to the target allocation policy.

[0075] The data processing method of this application embodiment, upon detecting a service to be allocated, obtains the server state space information corresponding to the current time slot, and calculates the latency corresponding to each of the multiple allocation strategies based on the state space information. This allows for the estimation of the latency required for each server to complete the service to be allocated. Then, based on the type information of the allocating server and the latency in the allocation strategy, the estimated reward value for each allocation strategy is calculated. This allows for different methods to determine the reward value for central servers and edge servers. Next, the allocation strategy corresponding to the minimum reward value is determined as the target allocation strategy, and the target allocation strategy is executed to allocate the service to the target server corresponding to the target allocation strategy. This allows for the comprehensive consideration of the type information of each server and the processing capacity of the service to be allocated, thus reducing the load pressure on the central server and the service latency, thereby reducing service computation time and failure rate, and ultimately optimizing service quality and improving resource efficiency.

[0076] In one embodiment, obtaining server state space information may specifically include:

[0077] Obtain information on the computing resources allocated by the server for the remaining services, the workload of the remaining services, and the complexity of the remaining services.

[0078] Obtain the workload and complexity of the tasks to be assigned.

[0079] In this embodiment, information such as the computing resources allocated by the server for the remaining services, the workload of the remaining services, the complexity of the remaining services, and the workload and complexity of the services to be allocated can be obtained. This helps to predict the latency of the services to be allocated, and further helps to determine the target allocation strategy more reasonably, so as to reduce the computing time and failure rate of the services.

[0080] In one embodiment, based on state space information, the time delay corresponding to each of the multiple allocation strategies is calculated, which may specifically include:

[0081] Multiple experience information is obtained from the preset experience pool. The experience information includes the server state space information corresponding to the second preset time slot, the target allocation strategy corresponding to the second preset time slot, the reward value of the target allocation strategy corresponding to the second preset time slot, and the server state space information corresponding to the next time slot of the second preset time slot. The second preset time slot is the time slot before the first preset time slot.

[0082] Based on multiple empirical pieces of information, a strategy for calculating latency was determined.

[0083] Based on the calculation strategy, calculate the latency corresponding to each of the multiple allocation strategies.

[0084] After a pending service is assigned to its corresponding allocation server, it typically requires multiple time slots to complete its computation. During the computation process, new services may be assigned to the server where the pending service resides, so the computing resources allocated to the pending service may change within each time slot. In this embodiment, multiple pieces of experience information are obtained from an experience pool. This experience information may include information about completed services, which may include server state space information, target allocation strategy, reward value, and server state space information for the next time slot of the corresponding historical time slot (second preset time slot) corresponding to multiple historical time slots. The definition of the reward value in the experience information is similar to the definition of the expected reward value in the first preset time slot, except that the reward value in the experience information is calculated based on the actual latency of completing the completed service and server type information.

[0085] In this embodiment, empirical information can be used to predict the impact of service allocation after the first preset time slot on the computation latency of the currently pending service, thereby determining a calculation strategy for the estimated latency of completing the pending service. Then, based on the calculation strategy, the latency corresponding to each allocation strategy is calculated. This allows for a more accurate calculation of the estimated latency for the allocation server to complete the pending service, thus enabling a more accurate consideration of each server's processing capacity for the pending service and its allocation. This further reduces service latency, thereby reducing service computation time and failure rate, ultimately optimizing service quality and improving resource efficiency.

[0086] In one embodiment, the expected return value for each allocation strategy is calculated based on type information and latency, which may specifically include:

[0087] Obtain the type information of the allocation server corresponding to each allocation strategy.

[0088] Based on type information, determine the penalty value for the allocation strategy.

[0089] The sum of the penalty value and the delay is determined as the expected return value.

[0090] In this embodiment, the penalty value of the allocation strategy is determined based on the server type information, and the sum of the penalty value and the latency is determined as the expected return value. The calculation of this expected return value is simple and convenient, and based on this expected return value, the impact of the allocation strategy on the load pressure of the central server and the service latency can be comprehensively reflected. This is conducive to selecting a suitable allocation strategy from multiple allocation strategies to balance the low load pressure of the central server and the low service latency, thereby optimizing service quality and improving resource efficiency.

[0091] In one embodiment, the penalty value of the allocation strategy is determined based on type information, which may specifically include:

[0092] When the type of server being assigned is a central server, the penalty value is determined as the first penalty value.

[0093] When the assigned server type is an edge server, the penalty value is determined as the second penalty value.

[0094] The first penalty value is greater than the second penalty value.

[0095] In this embodiment, the corresponding penalty value can be determined based on the type of the allocation server. The expected reward value can be the sum of the penalty value and the latency. A first penalty value is defined as greater than a second penalty value for the edge server. Without considering the impact of latency on the expected reward value, allocating the service to be allocated to the edge server yields a smaller reward value compared to allocating it to the central server. Thus, when latency is similar, services to be allocated can be preferentially allocated to the edge server, thereby reducing the load pressure on the central server.

[0096] In one embodiment, the data processing method of this application can be implemented through a data processing model, which can be a data processing model trained based on a dual deep Q-network. To better describe the overall scheme, a specific example is given based on the above embodiments to explain the data processing method based on the data processing model in detail. It should be noted that this example, as one implementation of the data processing method described in the embodiments of this application, is only used to explain this application and is not intended to limit this application.

[0097] The data processing method provided in this embodiment requires scheduling the services to be allocated using a trained data processing model. This ensures that the execution of the target allocation strategy corresponding to the services to be allocated reduces the load on the central server and reduces service latency. Therefore, the data processing model needs to be trained before making decisions about the services to be allocated. Therefore, the specific implementation method of the data processing model training method used in the data processing method provided in this application embodiment will be described below with reference to the accompanying drawings.

[0098] The data processing architecture of this embodiment can be as described above. In one embodiment, a set S of state space information for each server in time slot t can be defined, and S may include the current computing power status of each server and the business to be allocated λ. t The business volume and complexity, as well as the remaining business volume and complexity of the business currently running on each server, can be specifically represented by the following formula 4.

[0099]

[0100] Defineable motion space Ω A={0,1,2,…,M}, representing the server selection for schedulable services, that is, indicating whether the service to be assigned is assigned to the central server or one of the first to M edge servers. A reward value R can be defined. t R t This can represent the business λ t The impact of the allocation on the central server load and business latency can be specifically represented by the following formula 5.

[0101]

[0102] In Equation 5, θ can represent the penalty factor for assigning the pending business to the central server, where θ≥0. After service scheduling is performed in time slot t, the agent cannot obtain the decision reward R in a timely manner because service computation requires multiple time slots. t After time slot t ends, the services completed within time slot t can be... The corresponding reward value is calculated and stored in the experience pool to facilitate model training.

[0103] A decision strategy π can be defined to represent the state s. t The following describes the mechanism for selecting and allocating servers. The goal of the data processing model is to find the optimal allocation strategy. * This is to balance low load on the central server and low service latency. * It can be represented by the following equation 6.

[0104]

[0105] Among them, E π [] represents the average return under strategy π.

[0106] Figure 3 This diagram illustrates the intelligent decision-making process during the training of a data processing model. Figure 3 As shown, the service λ to be allocated in time slot t t Upon arrival, the intelligent scheduling module selects available actions from the action space based on the state space information and decision-making strategies of each server. Based on the selected action for each time slot, it calculates the corresponding reward value and evaluates and improves the strategy based on this reward value, adjusting the decision-making strategy to approximate the optimal allocation strategy π. * .

[0107] The specific training process of the data processing model will be explained next.

[0108] First, the parameters of the initial evaluation network q of the dual-depth Q-network can be defined as w, with an initial time slot t = 0, each epoch consisting of T time slots, and each time slot having a length of Δ. The initial number of training epochs k = 0, and the maximum number of training epochs is k. max At the start of time slot t, the initial state space information is s. t The action performed in time slot t is a. t For business λ t The return value after distribution is denoted as R. t The state-space information of the next time slot can be denoted as s. t+1 Each time slot (s) can be... t ,a t ,s t+1 ) is stored in local space, and after the business is completed, (s) t ,a t ,R t ,s t+1 Store it in the experience pool.

[0109] For each round, the following operations can be performed.

[0110] First, let t = t + 1, and check if t ≤ T holds true. If it does, it means the round has not ended. At this point, we can select the current state space information s with probability 1 - ε. t The maximum output under model parameters w is used as action a. t And execute the corresponding allocation strategy. Here, ε can represent a random number between 0 and 1.

[0111] Then, based on action a t Business λ t Assigned to the corresponding allocation server, server is λ t The allocated computing resources can be The number of services allocated to the server in time slot t is updated according to Equation 3 above.

[0112] When time slot t ends, the business φ completed in time slot t can be calculated. t' ,t'≤t, and query the local storage space to determine the business φ t' The arrival time is used to calculate the completion time of the business φ. t' The delay T comp (φ t' As an example, this latency can include the time elapsed from the arrival of a service to its completion. It can also be determined based on the latency of the service φ in local storage. t' Action a to be performed t' Combined with a t' And, according to Equation 5 above, calculate φ t' The corresponding return value R t'Query its status s corresponding to the arrival time slot in local storage. t' The state s corresponding to the next time slot after the arrival time slot t'+1 , will experience information (s t' ,a t' ,R t' ,s t'+1 Store it in the experience pool.

[0113] Next, β pieces of experience information can be randomly selected from the experience pool, (s i ,a i ,R i ,s i+1 ), i∈[1,β], where β can be an integer ≥1.

[0114] Then, based on the state space information corresponding to the β empirical information pieces, the expected return value for the service arriving in time slot i can be calculated through the evaluation network q. The average difference between the expected return value and the actual return value corresponding to the β empirical information pieces is defined. based on Update the parameter w to reduce the average value.

[0115] Then, training can be performed for the next time slot based on the updated parameter w, until the end of the round.

[0116] After each round, the parameters of network q can be updated based on the updated parameters w at the end of that round, and training can proceed to the next round until k = k. max .

[0117] In this way, a well-trained data processing model can be obtained.

[0118] Based on a trained data processing model, the reward value of multiple allocation strategies corresponding to the services to be allocated in the current time slot can be calculated based on the input current state space information. The expected reward value of each allocation strategy is obtained, and the allocation strategy corresponding to the minimum reward value is determined as the target allocation strategy. Then, this target allocation strategy can be executed to assign the services to be allocated to the target allocation server corresponding to the target allocation strategy. This allows for comprehensive consideration of the type information of each server and the processing capacity of the services to be allocated. Consequently, the load pressure on the central server and service latency can be reduced, thereby reducing service computation time and failure rate, and ultimately optimizing service quality and improving resource efficiency.

[0119] To verify the performance of the data processing model in the embodiments of this application, simulation verification is performed on the data processing model in the embodiments of this application below. Without loss of generality, the simulation parameters used are as follows: considering that the system includes 1 central server and 3 edge servers, the highest computing power of the central server... The highest computing power of the remaining edge servers is f1 max =f2 max =f3 max =1GHz, the length of each time slot Δ = 0.01 seconds, the maximum number of time slots T max =200. Define the business volume set Ω. L ={1×10 4 2×10 4 3×10 4 4×10 4 5×10 4 6×10 4 7×10 4 8×10 4 9×10 4 1×10 5}, Business complexity set Ω ρ ={1000,800,900,1000,1000,1000,1000,1000,1000,1000,1000}, the services to be allocated in each time slot start from Ω. L Choose from the options. To further verify the performance, evaluate that the parameters w of network q, once given, do not change with the penalty factor θ.

[0120] Figure 4 The convergence curve of the data processing model of this application is shown when θ = 0. Figure 4 It can be seen that training the data processing model according to the method of this application embodiment results in rapid convergence and good convergence effect.

[0121] Figure 5 This illustrates the average completion time of tasks when different decision-making methods are used to allocate tasks. For example... Figure 5 As shown, the average completion latency is longest when tasks are randomly assigned. The scheme of selecting the server with the highest computing power—that is, assigning tasks to the server with the highest computing power—results in a lower average completion latency compared to random assignment. However, neither of these schemes considers the impact of each decision on future server load and service latency, thus failing to guarantee long-term benefits. According to the data processing model of this application embodiment, both the average completion latency is lower than the two comparative schemes when the penalty term (θ = 0) for sending to the central server is not considered and when the penalty term θ ∈ {30, 90} is considered.

[0122] Figures 6 to 10 The data shows the proportion of services allocated to each server under different decision-making methods within 200 time slots.

[0123] according to Figures 6 to 10It can be seen that the random scheme selects servers with equal probability each time, resulting in each server being allocated a similar proportion of business. The scheme of selecting the server with the maximum computing power allocates more business to the central server with the strongest computing power, which will significantly increase the load on the central server with the largest computing power. Applying the decision-making method of the data processing model in this application's embodiments, the proportion of business sent to the central server decreases as the penalty term for sending to the central server increases. Combined with... Figures 6 to 10 As can be seen, the data processing method of this application embodiment can reduce the load pressure on the central server while keeping the average computing latency of the business at a low level.

[0124] Based on the same inventive concept, embodiments of this application also provide a data processing apparatus.

[0125] like Figure 11 As shown, the data processing device 200 may include an acquisition module 201, a calculation module 202, a determination module 203, and an execution module 204.

[0126] The acquisition module 201 is used to acquire server state space information corresponding to the first preset time slot when a service to be allocated is detected. The server includes a central server and an edge server. The state space information includes the server's computing resource information, the computing information of the server's remaining services, and the computing information of the service to be allocated.

[0127] The calculation module 202 is used to calculate the latency corresponding to each of the multiple allocation strategies based on the state space information. The allocation strategy includes the type information of the allocation server, and the latency includes the estimated latency for the allocation server to complete the business to be allocated.

[0128] The calculation module 202 is used to calculate the expected return value of each allocation strategy based on type information and latency.

[0129] The determination module 203 is used to determine the allocation strategy corresponding to the smallest expected return value among multiple allocation strategies as the target allocation strategy.

[0130] The execution module 204 is used to execute the target allocation strategy to allocate the services to be allocated to the target allocation server corresponding to the target allocation strategy.

[0131] The data processing apparatus of this application, upon detecting a service to be allocated, acquires the server state space information corresponding to the current time slot and, based on the state space information, calculates the latency corresponding to each of the multiple allocation strategies. This allows for the estimation of the latency required for each server to complete the service to be allocated. Then, based on the type information of the allocating server and the latency in the allocation strategy, the estimated reward value for each allocation strategy is calculated. This allows for different methods to determine the reward value for central servers and edge servers. Next, the allocation strategy corresponding to the minimum reward value is determined as the target allocation strategy, and the target allocation strategy is executed to allocate the service to the target server corresponding to the target allocation strategy. This allows for the allocation of services by comprehensively considering the type information of each server and the processing capacity of the service to be allocated. This reduces the load pressure on the central server and the service latency, thereby reducing service computation time and failure rate, and ultimately optimizing service quality and improving resource efficiency.

[0132] In one embodiment, the acquisition module is used to acquire server state space information, which may specifically include:

[0133] The acquisition module is used to acquire information on the computing resources allocated by the server for the remaining services, the workload of the remaining services, and the complexity of the remaining services.

[0134] The acquisition module is used to obtain the workload and complexity of the business to be assigned.

[0135] In one embodiment, the calculation module is used to calculate the time delay corresponding to each of the multiple allocation strategies based on state space information, which may specifically include:

[0136] The acquisition module is used to acquire multiple experience information from a preset experience pool. The experience information includes server state space information corresponding to the second preset time slot, target allocation strategy corresponding to the second preset time slot, reward value of the target allocation strategy corresponding to the second preset time slot, and server state space information corresponding to the next time slot of the second preset time slot. The second preset time slot is the time slot before the first preset time slot.

[0137] The determination module is used to determine the calculation strategy for latency based on multiple empirical information.

[0138] The calculation module is used to calculate the latency corresponding to each of the multiple allocation strategies based on the calculation strategy.

[0139] In one embodiment, the calculation module is used to calculate the expected return value for each allocation strategy based on type information and latency, which may specifically include:

[0140] The acquisition module is used to obtain the type information of the allocation server corresponding to each allocation strategy.

[0141] The determination module is used to determine the penalty value of the allocation strategy based on type information and the preset correspondence between type information and penalty value.

[0142] The determination module is used to determine the sum of the penalty value and the delay as the expected reward value.

[0143] In one embodiment, the determining module is used to determine the penalty value of the allocation strategy based on type information and a preset correspondence between type information and penalty values, which may specifically include:

[0144] The determination module is used to determine the penalty value as the first penalty value when the type of the assigned server is a central server.

[0145] The determination module is used to determine the penalty value as the second penalty value when the type of the assigned server is an edge server.

[0146] The first penalty value is greater than the second penalty value.

[0147] The data processing device provided in this application embodiment can achieve... Figure 2 The various processes implemented in the method implementation examples will not be described again here to avoid repetition.

[0148] Figure 12 A schematic diagram of the hardware structure of the data processing device provided in an embodiment of this application is shown.

[0149] The data processing device may include a processor 301 and a memory 302 storing computer program instructions.

[0150] Specifically, the processor 301 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0151] Memory 302 may include mass storage for data or instructions. For example, and not limitingly, memory 302 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 302 may include removable or non-removable (or fixed) media. Where appropriate, memory 302 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 302 is non-volatile solid-state memory.

[0152] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.

[0153] The processor 301 implements any of the data processing methods described in the above embodiments by reading and executing computer program instructions stored in the memory 302.

[0154] As an example, the data processing device may also include a communication interface 303 and a bus 310. Wherein, for example... Figure 12 As shown, the processor 301, memory 302, and communication interface 303 are connected through bus 310 and complete communication with each other.

[0155] The communication interface 303 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0156] Bus 310 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 310 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0157] The data processing device can execute the data processing method described in the embodiments of this application, thereby achieving the combination Figure 2 and Figure 11 The data processing methods and apparatus described.

[0158] Furthermore, in conjunction with the data processing methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the data processing methods in the above embodiments.

[0159] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0160] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0161] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0162] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

Claims

1. A data processing method, characterized in that, include: When a service to be assigned is detected, the server state space information corresponding to the first preset time slot is obtained. The server includes a central server and an edge server. The state space information includes the server's computing resource information, the computing information of the server's remaining services, and the computing information of the service to be assigned. Based on the state space information, the latency corresponding to each of the multiple allocation strategies is calculated. The allocation strategy includes the type information of the allocation server, and the latency includes the estimated latency for the allocation server to complete the service to be allocated. Based on the type information and the latency, calculate the expected return value for each allocation strategy. Among the expected return values ​​corresponding to the multiple allocation strategies, the allocation strategy corresponding to the smallest return value is determined as the target allocation strategy; The target allocation strategy is executed to allocate the service to be allocated to the target allocation server corresponding to the target allocation strategy.

2. The method according to claim 1, characterized in that, The acquisition of server state space information includes: Obtain the computing resource information allocated by the server to the remaining services, the workload of the remaining services, and the complexity of the remaining services; Obtain the business volume and complexity of the business to be assigned.

3. The method according to claim 1, characterized in that, Based on the state space information, the time delay corresponding to each of the multiple allocation strategies is calculated, including: Multiple experience information is obtained from a preset experience pool. The experience information includes server state space information corresponding to the second preset time slot, target allocation strategy corresponding to the second preset time slot, reward value of the target allocation strategy corresponding to the second preset time slot, and server state space information corresponding to the next time slot of the second preset time slot. The second preset time slot is the time slot before the first preset time slot. Based on the aforementioned empirical information, a strategy for calculating the delay is determined; Based on the calculation strategy, the latency corresponding to each of the multiple allocation strategies is calculated.

4. The method according to any one of claims 1-3, characterized in that, The step of calculating the expected return value for each allocation strategy based on the type information and the latency includes: Obtain the type information of the allocation server corresponding to each of the aforementioned allocation strategies; Based on the type information and the preset correspondence between type information and penalty value, the penalty value of the allocation strategy is determined; The sum of the penalty value and the delay is determined as the expected reward value.

5. The method according to claim 4, characterized in that, The step of determining the penalty value of the allocation strategy based on the type information and the preset correspondence between type information and penalty values ​​includes: If the type of the allocation server is a central server, the penalty value is determined as the first penalty value; In the case where the type of the allocation server is an edge server, the penalty value is determined as the second penalty value. Wherein, the first penalty value is greater than the second penalty value.

6. A data processing apparatus, characterized in that, include: The acquisition module is used to acquire server state space information corresponding to a first preset time slot when a service to be allocated is detected. The server includes a central server and an edge server. The state space information includes the computing resource information of the server, the computing information of the remaining services of the server, and the computing information of the service to be allocated. The calculation module is used to calculate the latency corresponding to each of the multiple allocation strategies based on the state space information. The allocation strategy includes the type information of the allocation server, and the latency includes the estimated latency for the allocation server to complete the service to be allocated. The calculation module is used to calculate the expected return value of each allocation strategy based on the type information and the time delay. The determining module is used to determine the allocation strategy corresponding to the smallest expected return value among the multiple allocation strategies as the target allocation strategy. The execution module is used to execute the target allocation strategy to allocate the service to be allocated to the target allocation server corresponding to the target allocation strategy.

7. The apparatus according to claim 6, characterized in that, The acquisition module is used to acquire server state space information, including: The acquisition module is used to acquire information on the computing resources allocated by the server for the remaining services, the workload of the remaining services, and the complexity of the remaining services. The acquisition module is used to acquire the business volume and complexity of the business to be assigned.

8. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the data processing method as described in any one of claims 1-5.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the data processing method as described in any one of claims 1-5.

10. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device performs the data processing method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Computing unloading method based on mobile edge computing and mobile edge computing server

    CN112685163A

  • Data distribution method and device for multi-content demand service

    CN112995280A