A data distribution method and system

By dividing and allocating power data, the resource requirements of tasks and service components are determined, solving the problem of power data allocation in the cloud computing center, improving data processing efficiency, and maximizing the rational use of resources and data processing benefits.

CN120631597BActive Publication Date: 2025-12-05STATE GRID ZHEJIANG ELECTRIC POWER CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511121737.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-12
Publication Date
2025-12-05
Estimated Expiration
2045-08-12

AI Technical Summary

Technical Problem

Existing technologies lack specific solutions for the rational allocation of power-related data to cloud computing centers, resulting in low data processing efficiency.

Method used

By acquiring power-related data to be processed, dividing it into several data subsets, determining the tasks and service components corresponding to the data subsets, identifying task dependencies and inter-component calling relationships, obtaining the operational and communication resource requirements of the service components, and, under resource constraints, allocating tasks, service components, and data subsets to various servers in the cloud computing center with the goal of maximizing data processing efficiency.

Benefits of technology

This has enabled the rational allocation of data, improved data processing efficiency and effectiveness, and ensured the effective utilization of server resources and the efficient use of communication resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120631597B_ABST
    Figure CN120631597B_ABST
Patent Text Reader

Abstract

The application discloses a data distribution method and system, which comprises the following steps: dividing the data to be processed into multiple data subsets, determining the tasks and service components corresponding to the data subsets, determining the dependency relationship between the tasks, the operation resource requirement of the service components, the calling relationship between the service components and the communication resource requirement of the calling relationship between the components; under the premise that the operation resource requirement of the service components on the server is less than the available computing resource of the server, and the communication resource requirement of the calling relationship between the components is less than or equal to the available communication resource between the servers where the components are located, the tasks, the service components and the data subsets are distributed to the servers to maximize the data processing benefit, so that the data is reasonably distributed, and the subsequent data processing benefit is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and more specifically, to a data allocation method and system. Background Technology

[0002] In the power industry, collected power-related data is typically centralized on a single server for processing. However, with the development of smart grids, the increasing complexity of power systems, the need for more refined management, and advancements in data acquisition technologies, the volume of data in the power industry is growing exponentially, rendering traditional centralized data processing methods ineffective in guaranteeing processing efficiency.

[0003] Currently, cloud computing, as an emerging computing paradigm, has garnered significant attention from the power industry. The industry has proposed introducing cloud computing into the power sector, employing distributed computing to improve data processing efficiency. However, a key challenge in implementing this concept is the lack of a complete and feasible solution for the rational allocation of power-related data to cloud computing centers. Summary of the Invention

[0004] Based on this, the present invention provides a data allocation method and system to address the deficiency in the prior art of lacking a specific solution for the reasonable allocation of power-related data to cloud computing centers.

[0005] To achieve the above objectives, embodiments of the present invention provide a data allocation method, comprising:

[0006] Acquire power-related data to be processed, and divide the data to be processed into several data subsets;

[0007] Identify the tasks corresponding to the data subset, the service components used to execute the tasks, and the task dependencies;

[0008] Based on the task, the service component used to execute the task, and the task dependency, determine the inter-component calling relationship, and obtain the runtime resource requirements of the service component and the communication resource requirements of the inter-component calling relationship;

[0009] Under resource constraints, with the goal of maximizing data processing efficiency, the task, the service components used to execute the task, and the data subset associated with the task are allocated to various servers in the cloud computing center; wherein, the resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component calling relationships are less than or equal to the available communication resources between the servers where the components reside.

[0010] To achieve the above objectives, embodiments of the present invention also provide a data allocation system, comprising:

[0011] The data partitioning module is used to acquire power-related data to be processed and to partition the data to be processed into several data subsets.

[0012] The relationship determination module is used to determine the task corresponding to the data subset, the service component for executing the task, and the task dependency relationship;

[0013] The information acquisition module is used to determine the inter-component calling relationship based on the task, the service component used to execute the task, and the task dependency relationship, and to acquire the runtime resource requirements of the service component and the communication resource requirements of the inter-component calling relationship.

[0014] The data allocation module is used to allocate the task, the service components for executing the task, and the data subset associated with the task to various servers in the cloud computing center, with the goal of maximizing data processing efficiency under resource constraints. The resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component call relationships are less than or equal to the available communication resources between the servers where the components reside.

[0015] Compared with existing technologies, the data allocation method and system disclosed in this invention first acquire power-related data to be processed, and divide the data to be processed into several data subsets; then, determine the tasks corresponding to the data subsets, the service components used to execute the tasks, and the task dependencies; next, determine the inter-component calling relationships based on the tasks, the service components used to execute the tasks, and the task dependencies, and obtain the runtime resource requirements of the service components and the communication resource requirements of the inter-component calling relationships; finally, under resource constraints, with the goal of maximizing data processing efficiency, allocate the tasks, the service components used to execute the tasks, and the data subsets associated with the tasks to various servers in the cloud computing center; wherein, the resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component calling relationships are less than or equal to the available communication resources between the servers where the components reside. Therefore, this embodiment of the invention divides the data to be processed into multiple data subsets, determines the tasks and service components corresponding to the data subsets, determines the dependencies between tasks, the runtime resource requirements of the service components, the calling relationships between service components, and the communication resource requirements of the calling relationships between components. Under the premise of ensuring that the runtime resource requirements of the service components on the server are less than the available computing resources of the server, and the communication resource requirements of the calling relationships between components are less than or equal to the available communication resources between the servers where the components are located, the task, service component, and data subset are allocated to each server with the goal of maximizing data processing efficiency. This achieves reasonable data allocation and helps to improve the efficiency of subsequent data processing. Attached Figure Description

[0016] To more clearly illustrate the technical solution of the present invention, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a flowchart illustrating a data allocation method according to an embodiment of the present invention;

[0018] Figure 2 This is a schematic diagram of the structure of a data allocation system provided in an embodiment of the present invention. Detailed Implementation

[0019] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0020] As a first preferred embodiment, see Figure 1 This is a flowchart illustrating a data allocation method according to an embodiment of the present invention. Specifically, the data allocation method includes steps S1 to S4:

[0021] S1. Obtain power-related data to be processed, and divide the data to be processed into several data subsets;

[0022] S2. Determine the task corresponding to the data subset, the service component for executing the task, and the task dependencies;

[0023] S3. Determine the inter-component calling relationship based on the task, the service component used to execute the task, and the task dependency relationship; obtain the runtime resource requirements of the service component and the communication resource requirements of the inter-component calling relationship.

[0024] S4. Under resource constraints, with the goal of maximizing data processing efficiency, the task, the service components used to execute the task, and the data subset associated with the task are allocated to various servers in the cloud computing center; wherein, the resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component calling relationship are less than or equal to the available communication resources between the servers where the components are located.

[0025] It's worth noting that in the task processing architecture, a job is defined as a collection of multiple tasks. Tasks may have dependencies on each other; for example, the execution of one task might depend on the data processing results of another. Each task must be executed by a specific service component. A task can be understood as a processing request for a subset of data, while a service component is the functional unit module that implements that processing request. If there are dependencies between tasks, there are corresponding calling relationships between the service components. For example, to process a subset of data, it is necessary to call the appropriate service component, which will then perform the relevant data processing operations. This process constitutes a task, and multiple "service components" must collaborate to complete the processing of a "job." The runtime resource requirements of service components in executing tasks encompass various resource elements possessed by servers, such as the processing power of the Central Processing Unit (CPU), the computing power of the Graphics Processing Unit (GPU), random access memory (RAM), and cache memory. For service components on different servers with calling relationships, there are also communication resource requirements. The stable and efficient operation of service components highly depends on sufficient and appropriate computing and communication resources. Furthermore, because different service components perform different tasks, their requirements for computing and communication resources also vary significantly. For example, some service components that focus on complex computing tasks have a large and continuous demand for CPU and GPU resources during task execution; while those service components mainly responsible for data transmission have higher requirements for the bandwidth and transmission stability of communication link resources (such as wired links).

[0026] Specifically, for steps S1 to S4, after acquiring the power-related data to be processed, in order to perform distributed processing of the data, the data to be processed is divided into multiple data subsets. Each data subset corresponds to a task, and each task needs to call the corresponding service component to execute. There may be dependencies between the tasks, thus enabling the service components to have calling relationships. Therefore, after completing the data division, the task corresponding to each data subset, the service component used to execute the task, and the task dependencies are determined, thereby determining the calling relationship between components, and obtaining the running resource requirements of the service components and the communication resource requirements of the calling relationship between components. After determining the above information, based on the available computing resources of each server in the cloud computing center and the available communication resources between servers, and ensuring that the runtime resource requirements of the service components allocated to the servers are less than or equal to the available computing resources of the servers, and the communication resource requirements for inter-component call relationships are less than or equal to the available communication resources between the servers where the components reside, tasks, service components, and data subsets are allocated to various servers in the cloud computing center with the goal of maximizing data processing efficiency. For example, task A, the service component used to execute task A, and the corresponding data subset are allocated to one server (the available computing resources of this server must meet the runtime resource requirements of the service component used to execute task A), and task B, the service component used to execute task B, and the corresponding data subset are allocated to another server (the available computing resources of this server must meet the runtime resource requirements of the service component used to execute task B). If task B depends on task A, then the available communication resources between these two servers must meet the communication resource requirements for the corresponding inter-component call relationships. Optionally, the data to be processed can be the raw data collected, or data obtained after cleaning and / or attribute reduction of the raw data.

[0027] It is worth noting that maximizing data processing benefits can mean maximizing data processing efficiency, maximizing revenue, or maximizing the combined benefits of data processing efficiency and revenue. Data processing benefits can be set according to actual needs to achieve goals such as load balancing, optimal resource utilization, or minimum cost.

[0028] Compared with existing technologies, the embodiments of the present invention divide the data to be processed into multiple data subsets, determine the tasks and service components corresponding to the data subsets, determine the dependencies between tasks, the runtime resource requirements of service components, the calling relationships between service components, and the communication resource requirements of the calling relationships between components; under the premise of ensuring that the runtime resource requirements of service components on the server are less than the available computing resources of the server, and the communication resource requirements of the calling relationships between components are less than or equal to the available communication resources between the servers where the components are located, the tasks, service components, and data subsets are allocated to various servers with the goal of maximizing data processing efficiency, thereby achieving reasonable data allocation. After the data allocation is completed, the cloud computing center performs data processing operations, improving data processing efficiency, including data processing efficiency.

[0029] As a second preferred implementation, based on steps S1 to S4, when the first service component and the second service component have a calling relationship and the first service component and the second service component are not on the same server, the Dijkstra algorithm is used to find the shortest path that meets the multi-hop allocation requirement; wherein, the first service component and the second service component are any two of all the service components, and the multi-hop allocation requirement means that the available communication resources between all adjacent servers in the path are greater than or equal to the communication resource requirements between the first service component and the second service component, and the shortest path that meets the multi-hop allocation requirement is used to provide a calling path for the call between the first service component and the second service component.

[0030] Specifically, the communication resource requirements arising from the calling relationship between service components must not exceed the available communication resources between the servers deployed on the respective service components. This requirement can be further interpreted as follows: When the calling relationship between components indicates that the first service component has a calling requirement for the second service component, the following two situations exist: 1. If the first server carrying the first service component and the second server carrying the second service component have the ability to communicate directly, then the available communication resources transmitted from the second server to the first server must be greater than or equal to the communication resource requirements arising from the calling relationship between the first and second service components. 2. If the first server and the second server cannot communicate directly, then it is necessary to use methods such as Dijkstra's algorithm to search for a shortest path from the second server to the first server. Furthermore, the available communication resources of each segment of this shortest path must be greater than or equal to the communication resource requirements arising from the calling relationship between the first and second service components to ensure the smooth progress of the calling process between service components and the reliability of communication. Among them, Dijkstra's algorithm is Dijkstra's algorithm. Optionally, for the search of the shortest path, an improved version of Dijkstra's algorithm or an algorithm with similar ideas to Dijkstra's algorithm can also be used.

[0031] As a third preferred implementation, based on steps S1 to S4, step S1 involves acquiring power-related data to be processed and dividing the data to be processed into several data subsets, including:

[0032] Acquire raw power-related data and perform sampling analysis on the raw data to identify data quality issues.

[0033] Select the data cleaning algorithm corresponding to the identified data quality issues, and perform parallel cleaning operations on the original data to obtain the data to be processed;

[0034] The data to be processed is segmented and discretized with equal width to obtain several data sets, and the attributes of the data sets are reduced.

[0035] The data set reduced by the aforementioned attributes is divided into several data subsets.

[0036] Specifically, the quality of raw data is susceptible to interference from various factors, mainly including acquisition errors, channel conditions, and parameter settings (such as sampling frequency). Additionally, raw data may also contain data redundancy. Therefore, preprocessing of the raw data is necessary. First, the raw data is sampled and analyzed to identify the main or all data quality issues. Then, appropriate programs are used to repair different types of data quality problems in parallel, resulting in data to be processed. Finally, the data to be processed is fragmented and discretized to obtain multiple datasets, and attribute reduction is performed on each dataset.

[0037] Optionally, the data quality issues include at least one of data mutation and outlier problems, missing data problems, and zero-value data problems. The data cleaning algorithm corresponding to the data mutation and outlier problem is a data correction algorithm based on horizontal and vertical similarity, while the data cleaning algorithm corresponding to the missing data problem and the zero-value data problem is a weighted moving average repair algorithm. For example, firstly, the original data is sampled and analyzed to identify data quality issues in the data to be processed. When a data mutation and outlier problem is identified in the data to be processed, the original data is corrected based on the horizontal and vertical similarity data correction algorithm. When a missing data problem and a zero-value data problem are identified in the data to be processed, the original data is repaired based on the weighted moving average repair algorithm to remove zero-value and missing data.

[0038] Specifically, a data correction algorithm based on horizontal and vertical similarity was designed for outlier data with sudden changes. Horizontal similarity refers to the similarity of changes in the original data within a nearby day; vertical similarity refers to the fact that the data to be processed at adjacent times generally do not undergo sudden changes. The basic idea of ​​this algorithm is to use the mean to penalize the data with sudden changes in the original data. The specific correction formula is as follows:

[0039] ;

[0040] in, This is the corrected data. Data that has undergone mutation; This represents the average value of the original data within the time period in which the mutation occurred; This represents the average of the original data within the nearest day at the moment of the abrupt change. and As a weighting factor; This is the penalty factor, with a value between 0 and 1. It's worth noting that a penalty factor is set in the correction formula based on vertical similarity. Based on horizontal similarity, the correction formula is set with... .

[0041] A weighted moving average repair algorithm was designed for zero-value and missing data. It uses a set of neighboring actual data values ​​to repair missing data. The specific repair formula is as follows:

[0042] ;

[0043] ;

[0044] in, It is a moment The repaired data, The number of moving periods; For the first The original data of the period It is the first The weight of the period is determined by the fact that the closer the data to the data that needs to be repaired, the more similar the monitoring values ​​are, and therefore the greater the weight it has.

[0045] In this embodiment, by analyzing the data quality problems existing in the original data, corresponding cleaning methods are selected. It is not necessary to use all data cleaning methods to clean the original data, which shortens the data cleaning time and improves the data cleaning efficiency.

[0046] As a fourth preferred implementation, based on any of the above implementations, the data to be processed is segmented and discretized with equal width to obtain several data sets. Then, attribute reduction is performed on the data sets, dividing the attribute-reduced data sets into multiple data subsets. It is worth noting that, generally, discrete attribute values ​​are closer to the representation of knowledge levels than continuous attribute values, and discretization can improve the efficiency of attribute reduction algorithms. Therefore, the data to be processed is discretized; for example, equal-width discretization can be selected based on the characteristics of the data to be processed.

[0047] Preferably, when sharding the data to be processed, it is ensured that the data types within the same data set are identical. Furthermore, attribute reduction can be performed on each data set in parallel on different computer nodes to improve attribute reduction efficiency.

[0048] Specifically, the data set undergoes attribute reduction in the following manner:

[0049] Using the dataset as the domain, determine the conditional attribute set and the decision attribute set based on the dataset;

[0050] The data set is divided into several equivalence classes based on the conditional attribute set;

[0051] When there are inconsistent objects in the equivalence class, the probability of the equivalence class to which the inconsistent object belongs in each decision attribute value in the decision attribute set is calculated using a preset decision attribute distribution function; wherein, the inconsistent object refers to data in the equivalence class whose decision attribute values ​​are inconsistent;

[0052] When the maximum probability is greater than the set probability threshold, the inconsistent object is assigned to the decision attribute value corresponding to the maximum probability.

[0053] When the maximum probability is less than the set probability threshold, the inconsistent objects are allocated to each of the decision attribute values ​​according to the probability, or the decision attribute values ​​are adjusted according to the probability, and the decision attribute set is updated.

[0054] The universe of discourse is divided based on the conditional attribute set and the decision attribute set to obtain a first positive region corresponding to each decision attribute value in the decision attribute set;

[0055] Construct a reduced set; calculate the importance of each conditional attribute in the conditional attribute set to the first positive region;

[0056] The reduced set is adjusted in multiple rounds;

[0057] In each round of adjustment of the reduction set, the conditional attribute with the highest importance is selected from all the conditional attributes to be analyzed and added to the reduction set; wherein, the conditional attribute to be analyzed is a conditional attribute that is not in the reduction set.

[0058] The universe of discourse is divided according to the reduction set and the decision attribute set to obtain a second positive region corresponding to each decision attribute value;

[0059] When the first positive region and the second positive region are consistent, the adjustment of the reduced set ends; when the first positive region and the second positive region are inconsistent, the next round of adjustment of the reduced set begins.

[0060] In this embodiment, to address the redundancy problem of the data to be processed, an efficient decision table transformation algorithm is designed to handle inconsistent objects. A heuristic formula for calculating the importance of attributes is used to reduce the search space, and the correlation between the condition attributes and the types of decision attributes is introduced when calculating importance, which further improves the computational efficiency and can quickly find the combination of condition attributes that is most valuable to the decision (i.e., the final reduced set).

[0061] Specifically, attribute reduction refers to removing redundant information from the data to be processed and retaining information that is useful for decision-making, thereby improving the efficiency of data analysis. The following is a brief introduction to various terms and reduction methods related to attribute reduction.

[0062] I. Overview of Simplified Overall Attributes

[0063] The following section will introduce the relevant content on treating the data to be processed as the data to be processed and implementing overall attribute reduction.

[0064] 1. Terminology Explanation

[0065] The data to be processed is a decision table. , It is a non-empty, finite collection of data objects to be processed; It is a non-empty finite set of attributes, where It is the set of conditional attributes of the data to be processed. It is a set of decision attributes. , It is an empty set. It is an attribute The range of values; It is an information function that will process the object Mapped to A value in an object for Any one of the data in the dataset.

[0066] For decision tables that need to be processed ,definition For conditional attribute set A subset, The equivalence relation can be defined as:

[0067] ;

[0068] Will Dividing into several equivalence classes, we get:

[0069] ;

[0070] in, Representation Object In subset Equivalence classes on, For ease of representation, it can be... Simplified to , It is a non-empty, finite collection of data objects to be processed.

[0071] Based on decision attribute set For the domain Divide into, and obtain , These are the different subsets that are divided; defining conditional attribute sets. Regarding decision attribute sets The positive region and boundary region are:

[0072] ;

[0073] ;

[0074] in, Represents a set of conditional attributes Regarding decision attribute sets The positive region, Represents a set of conditional attributes Regarding decision attribute sets The boundary domain, yes Any subset of, for The lower approximation, Representation Object In the condition attribute set Equivalence classes on, Indicates all belonging to of Take its approximate value. Merge.

[0075] 2. Basic reduction methods for attribute reduction

[0076] In attribute reduction, the positive region reduction method is used. The principle of the positive region reduction method is as follows: Assume It is a set of conditional attributes A subset, if This indicates the conditional attribute. It is necessary, otherwise it indicates for It is unnecessary. It indicates that the following two conditions are met. It is a data decision table that needs to be processed. A simplified version:

[0077] (1) ;

[0078] (2) ;

[0079] in, Representing a subset Regarding decision attribute sets The positive region, Indicates that it does not have a conditional attribute. subset of Regarding decision attribute sets The positive region.

[0080] II. Overview of Parallel Execution Attribute Reduction

[0081] Understandably, attribute reduction involves a large number of equivalence class calculations, so it is worth considering whether equivalence classes can be calculated in parallel.

[0082] For decision tables that need to be processed If Divided into , To obtain multiple data sets through partitioning, , , for Data sharding (i.e., data sets). Data sharding The domain of discourse, , It is a non-empty finite set of attributes. It is a set of conditional attributes. It is a set of decision attributes. express and The union of .

[0083] Assumption ,in, ,Right now According to The equivalence classes are divided. It is greater than or equal to 1 and less than or equal to 1. Integer. According to right Perform equivalence class partitioning:

[0084] ;

[0085] ;

[0086] in, It is a union expression, representing a set of elements from... arrive All Merge;

[0087] The above content shows that the equivalence classes obtained by calculating and merging multiple data partitions are the same as those obtained by calculating directly on the whole data. Therefore, the calculation of equivalence classes can be parallelized, that is, the large-scale data to be processed can be divided into several data sets and distributed to different computer nodes to calculate equivalence classes in parallel, thereby improving the efficiency of attribute reduction.

[0088] III. Overview of Decision Table Consistency Conversion

[0089] It is worth noting that, based on the conditional attribute set If all objects in the partitioned equivalence classes have the same decision attribute value, then the data decision table needs to be processed. It is consistent, in this case, and Otherwise, the data decision table needs to be processed. Inconsistent.

[0090] In practice, factors such as data collection biases, power outages, unstable energy supplies, and server malfunctions during the information gathering process can lead to inconsistencies in the data to be processed, potentially interfering with the accuracy of decision-making. Common attribute reduction algorithms typically cannot directly handle such inconsistent decision tables. Therefore, further transformation of the decision tables is essential.

[0091] In the initial decision table of data to be processed, if in the condition attribute set If inconsistent objects are generated above, then the universe of discourse... In the condition attribute set Inconsistent objects generated above can be defined as:

[0092] ;

[0093] ;

[0094] in, Representation Object and object The values ​​of the conditional attributes are the same. Representation Object and object The decision attribute values ​​are inconsistent.

[0095] By defining and analyzing inconsistent objects, we can find that their distribution mainly falls into two categories:

[0096] (1) Due to data acquisition errors or equipment malfunctions, some decision attribute values ​​deviate from the normal range, resulting in data inconsistency. The distribution of these inconsistent objects is usually irregular, and their proportion is very small.

[0097] (2) Due to incomplete data collection and the lack of some key conditional attributes, different decision attribute values ​​appear under the same conditional attribute. The distribution of these inconsistent objects is usually regular, and they account for a large proportion.

[0098] To ensure consistency in the decision table for the data to be processed, for any ,definition The distribution function of the decision attribute of the equivalence class is:

[0099] ;

[0100] in, , , express exist The probability of it, for Belongs to the equivalence class, It is a non-empty, finite collection of data objects to be processed;

[0101] Based on the distribution type of inconsistent objects and their decision attribute distribution functions, the inconsistent decision table of data to be processed is transformed into a consistent decision table of data to be processed. Its formal description is shown in the following formula:

[0102] ;

[0103] Among them, the function Used to find the maximum value; This indicates that a probability threshold is set, which is usually 0.7. It is worth noting that the value of this threshold can also be other values, such as 0.73, 0.75 or 0.78, etc., and is generally between 0.5 and 1. This represents the union of decision attribute values ​​based on probability, which is then used to update the decision table of the data to be processed. .

[0104] IV. Adjustment of Reduced Sets

[0105] To reduce the search space and the time complexity of attribute reduction, this implementation method determines the reduction set in the following way:

[0106] Set up a decision table for the data to be processed after consistency processing. , , ;for Its domain is The conditional attribute set is , yes A subset of, the decision attribute set is The information function is ; yes and The union of; yes Any one of these equivalence classes, Compared to positive area The calculation formula is as follows:

[0107] ;

[0108] in, Represents equivalence classes All data in the dataset have the same decision attribute value. about The positive region consists of the union of equivalence classes with the same decision attribute value. That is, if the decision attribute value of an equivalence class is not unique, then the positive region does not contain that equivalence class. Indicates that the condition is satisfied. "all" The union of .

[0109] make It is a subset of the conditional attributes, and ,property For conditional attribute sets Importance can be defined as:

[0110] ;

[0111] for Compared to The dependency is defined as:

[0112] ;

[0113] make , and The correlation between them is defined as:

[0114] ;

[0115] in, Represents the entropy function; express and The conditional entropy.

[0116] Based on the above, let the initial reduced set be empty, and calculate... The importance of all remaining attributes is determined, and then the attribute with the highest importance is selected and added to the reduction set. If more than one attribute has the highest importance, the correlation between the conditional attribute and decision attribute values ​​is calculated based on the inconsistent object, and the conditional attribute with the highest correlation is selected.

[0117] It is worth noting that performing attribute reduction on the data to be processed does not necessarily require performing a decision table consistency transformation.

[0118] As a fifth preferred embodiment, based on the fourth embodiment, the step of dividing the universe of discourse according to the reduction set and the decision attribute set to obtain a second positive region corresponding to each of the decision attribute values ​​includes:

[0119] Subtract the second positive region obtained in the previous round of adjustment from the universe of discourse to obtain the remaining data;

[0120] The remaining data is divided according to the reduction set and the decision attribute set to obtain candidate positive regions corresponding to each decision attribute value;

[0121] The candidate positive region and the second positive region with the same decision attribute value are merged to obtain the second positive region corresponding to each decision attribute value in this round of adjustment.

[0122] Specifically, to simplify the attribute reduction algorithm, the second positive region is calculated in the following way:

[0123] Let the domain of the data to be processed be... , It is a set of conditional attributes A subset for conditional attributes It satisfies the following formula:

[0124] ;

[0125] In actual calculations, for the universe of discourse The second positive region obtained in the previous round of adjustments It has already been determined, therefore in this round of adjustments, only the calculation for " "Identify candidate positive regions" Then, the second positive region obtained from the previous round of adjustments. and candidate positive region This will allow us to obtain the second positive region from this round of adjustments. , express and The union of the two positive regions. Compared with traditional calculation methods, this method can significantly reduce the time and space complexity of calculating the second positive region.

[0126] As a sixth preferred embodiment, based on the third embodiment, the acquisition of raw power-related data and the sampling analysis of the raw data to identify data quality issues include:

[0127] Obtain raw power-related data, calculate the standard deviation, Z-statistic, and marginal error of the raw data within a preset confidence interval, and calculate the sampling size based on the standard deviation, Z-statistic, and marginal error.

[0128] When the sampling size is greater than a set percentage of the overall size of the original data, the product of the sampling size and the overall size is multiplied by the sum of the sampling size and the overall size to obtain a new sampling size.

[0129] Based on the sampling size, the original data is sampled and analyzed to identify data quality issues present in the original data.

[0130] Specifically, the sample size is calculated as (the square of the Z-statistic + the square of the standard deviation) / the square of the marginal error. The specific value of the Z-statistic is determined by the confidence interval; for example, the Z-statistic for a 95% confidence interval is 1.96, and the Z-statistic for a 90% confidence interval is 1.64. Furthermore, if the sample size is larger than a predetermined percentage of the population size (e.g., 5%), the sample size should be adjusted by multiplying the sample size and the population size by the sum of the sample size and the population size to obtain the new sample size.

[0131] As a seventh preferred embodiment, based on any of the above embodiments, step S4, which involves allocating the task, the service components for executing the task, and the data subset associated with the task to various servers in the cloud computing center under resource constraints with the goal of maximizing data processing efficiency, includes:

[0132] Construct a comprehensive model: Represent the servers of the cloud computing center, the available computing resources of the servers, and the available communication resources between different servers in vector form; represent the runtime resource requirements of the service components and the communication resource requirements of the inter-component calling relationships in vector form; treat the service components as vertices of a directed graph, and establish the edges of the directed graph based on the inter-component calling relationships; construct an objective function with the goal of maximizing data processing efficiency; and construct resource constraints.

[0133] The data subset, the task corresponding to the data subset, the service component used to execute the task, the calling relationship between the components, the runtime resource requirements of the service component, and the communication resource requirements of the calling relationship between the components are input into the comprehensive model, and a data allocation scheme is output.

[0134] Based on the data allocation scheme, the task, the service components used to execute the task, and the data subset associated with the task are allocated to each of the servers in the cloud computing center.

[0135] Specifically, the following section introduces the server and resource constraints involved in the comprehensive model:

[0136] For a cloud computing center consisting of several servers, all the servers together form a set. And the total number of servers is Each server can provide Various computing resources, such as CPU processing power, GPU computing power, memory and cache, etc., servers The available computing resources are defined as a vector as shown below:

[0137] ;

[0138] in It is a server The provided first A variety of available computing resources. The vectors of available computing resources provided by all servers together constitute the server available computing resource matrix of this cloud computing center:

[0139] ;

[0140] Define server arrive The wired link between them is The available communication resources it provides can be represented as vectors. ,in, This represents the total number of resource types that a wired link can provide.

[0141] In a server architecture, application services with inter-component calling relationships can be represented by a directed graph. This indicates that all service components constitute a vertex set. And the number of service components is All the call relationships between components together form a set of directed edges. And the calling relationship has a total of One. For service components. The required runtime resources can be represented as the following vector:

[0142] ;

[0143] Among them, service components need Server resources (i.e. computing resources). It is aimed at the first The resource requirements of this application service, including the server resource requirements of all its service components (i.e., runtime resource requirements), collectively constitute a resource requirement matrix.

[0144] ;

[0145] And the side The corresponding service component arrive The call relationship, and the wired link resources (i.e., communication resource requirements) required by this call relationship, are represented by the following vector:

[0146] ;

[0147] in, For the required number of A set of communication resources. The communication resource requirements of all components in their inter-component calling relationships constitute a set. Based on the above, the corresponding directed graph of the servers can be represented as follows:

[0148] ;

[0149] All data is allocated to servers in the cloud computing center, forming a server sequence according to the order of data arrival. It's understandable that servers need to run continuously for a period of time while processing data, during which time they will continuously occupy the corresponding server and wired link resources. After the server finishes running, the occupied resources will be released. During server allocation, the resource requirements of all service components and their inter-component calls need to be considered in relation to the various available resources in the cloud computing center. When the server... The available resources provided satisfy the service components The service component can only be assigned to the corresponding server when there is a demand for it.

[0150] Taking communication between servers via a wired link as an example, if the service components arrive They were assigned to servers respectively arrive When up, the corresponding inter-component calling relationship Requires continuous server usage arrive The communication resources between them, therefore, as shown in the following formula, require that the available communication resources provided by the wired link be greater than the communication resource requirements of this calling relationship:

[0151] ;

[0152] in, Indicates server arrive The first wired link A variety of available communication resources.

[0153] A server is considered successfully allocated only when all resource requirements of the service components and their inter-component calls are simultaneously met. At this point, the cloud computing center's status needs to be updated after successful server allocation. For example, the service components... arrive Service components with call relationships arrive They were assigned to servers respectively arrive The update is as follows:

[0154] ;

[0155] ;

[0156] ;

[0157] in, It is a server Updated available computing resources It is a server Available computing resources before the update It is a service component The operating resource requirements; It is a server Updated available computing resources It is a server Available computing resources before the update It is a service component The operating resource requirements; It's the updated server. arrive Available communication resources for wired links, It's the server before the update. arrive Available communication resources for wired links, It's about service components. and The communication resource requirements of the call relationship.

[0158] In addition, the following two situations need to be considered:

[0159] Local allocation of service components: service components arrive Since they are all located on the same server, inter-component calls can be implemented directly using the server's shared memory, without requiring wired link resources. In this case, the communication resource requirements for inter-component calls can be ignored.

[0160] Multi-hop allocation of service components: service components arrive Assigned to two servers without direct connections, an algorithm similar to Dijkstra's algorithm is needed to find the shortest path to satisfy the communication resource requirements of the inter-component calling relationship. Understandably, the shortest path includes at least two servers, and the available communication resources between adjacent servers must satisfy the requirements of the service components. arrive The shortest path satisfies the communication resource requirements of the call relationship between components, saves resources, reduces waste, and thus lowers costs.

[0161] Specifically, the following section introduces the content related to the objective function:

[0162] Assume the data to be processed is divided into the first type of data set. Second type of data set These two datasets are then partitioned to obtain the results. Corresponding multiple data subsets and with There are multiple corresponding data subsets; assume the data processing benefit is the return. Let... This represents the cost of resources paid by the user to the service provider. Indicates cost per unit of time. Indicates the cost per unit of resources. The time span of task execution, i.e., the longest execution completion time among all tasks, is represented by the reward function. This can be expressed as the following formula:

[0163] ;

[0164] in, For the first type of data set, For allocation A collection of servers, for The middle was assigned to the first The data types on each server are The number of executable data items, For data types In the Estimated execution energy consumption per server; For the second type of data set, For allocation A collection of servers, for The middle was assigned to the first The data types on each server are The number of data executables, For data types In the The estimated execution energy consumption on each server is then determined using a nonlinear integer programming approach with the objective function of maximizing revenue, as shown in the following equation:

[0165] ;

[0166] st

[0167] ;

[0168] ;

[0169] ;

[0170] ;

[0171] ;

[0172] in, Represents the set of positive numbers. yes Chinese data types Total quantity yes Chinese data types Total quantity Is with The relevant estimated execution time, Is with The estimated execution time is as follows.

[0173] In the eighth preferred embodiment, based on the seventh embodiment, the step of solving the objective function under the resource constraints to obtain the data allocation scheme includes:

[0174] The objective function is transformed from a nonlinear integer programming problem into a linear programming problem.

[0175] Under the constraints, the linear programming problem is solved to obtain a fractionally optimal solution; and the relaxed optimal solution of the nonlinear integer programming problem is determined based on the fractionally optimal solution.

[0176] Construct a bipartite graph about the data subset and the server based on the relaxed optimal solution;

[0177] Based on resource constraints, the N-matching BM of the bipartite graph is obtained;

[0178] Based on the N-match BM, a rounding algorithm is executed to obtain an integer solution, which is used as the final data allocation scheme.

[0179] Specifically, since solving nonlinear integer programming is an NP-hard problem, parameter substitutions are made to the variables involved in the nonlinear integer programming, and its relaxed form (linear programming) optimal solution is obtained. Then, an approximate integer optimal solution to the objective function formula in the seventh implementation method is obtained using the bipartite graphs B-matching rounding (BGBR) algorithm. The variables are substituted in the following ways:

[0180] ;

[0181] Accordingly, the payoff function can be expressed as:

[0182] ;

[0183] Then the nonlinear integer programming is transformed into linear programming:

[0184] ;

[0185] st

[0186] ;

[0187] ;

[0188] ;

[0189] ;

[0190] ;

[0191] ;

[0192] This linear programming problem can be solved in polynomial time using the simplex method to obtain a fractionally optimal solution. Clearly, the optimal solution for the nonlinear integer programming problem... corresponding Therefore, this is a feasible solution to the above equation. The objective function value is not less than the objective function value of the optimal solution. .

[0193] Fractional optimal solution objective function value satisfy:

[0194] ;

[0195] Where OPT represents the optimal solution, and for the fractional optimal solution... The relaxed optimal solution of the corresponding nonlinear integer programming problem can be obtained by the following formula. .

[0196] ;

[0197] At this point, a feasible solution can be obtained using a common rounding algorithm, that is, let ,make Unassigned tasks are scheduled using a greedy algorithm.

[0198] However, such rounding methods not only increase the time span but also increase resource usage, thereby reducing the benefit per unit time. Therefore, a feasible solution to the original problem, namely the relaxed optimal solution, is constructed by solving an N-matching of the bipartite graph. Transform into feasible integer solutions .

[0199] Assume the data to be processed is divided into the first type of data set. Second type of data set These two data sets are then partitioned according to their data types to obtain... Corresponding multiple data subsets and with There are multiple corresponding data subsets, and each data subset corresponds to a data type. The specific steps for constructing a bipartite graph are given below. For example, It is a set of weights, for a given solution. ,make ,and .make This represents the first type of data set. This represents the set of servers used to process the first type of data set, where... Nodes For servers used to process first-class data sets .

[0200] Two-part diagram The edge set in the text corresponds to the data type, and Its edge set The construction method is as follows: For each According to the estimated execution time To perform a non-increasing sort, without loss of generality, assume... ,in, If it is a positive value, ,Right now ,mean It contains only one corresponding to vertex In this case, for each satisfied data types ,make Belongs to edge set , express Any one of them. Otherwise, find one that satisfies... smallest subscript For each satisfied data types ,make belong For each Find satisfaction minimum index For each satisfied data types ,make belong .right ,like , belong Finally, for each satisfied data types ,make belong .

[0201] Two-part diagram edge weights in The construction method is as follows: for each edge Its weight is defined as This indicates setting parameters, for Each point in Its capacity is defined as .

[0202] It can be seen that, for For any point in the interval, we have:

[0203] ;

[0204] in, It is an integer.

[0205] Next, for the constructed bipartite graph Find an N-matching BM, where N represents a subset of the matching. For a bipartite graph... BM represents the data set used for processing the first type of data set. A collection of servers and the first type of data set In BM, each edge is connected to... Just related Next. For each edge Allocate a data type as The task is given to the server A new integer solution is obtained. That is to Then we have:

[0206] ;

[0207] Similarly, construct a bipartite graph using the method described above. An integer solution is obtained by using the bipartite graph N-matching rounding algorithm. That is to Then we have:

[0208] ;

[0209] In summary, construct integer solutions. The idea behind the N-matching rounding algorithm is as follows:

[0210] Step 1: Based on the optimal relaxation solution Construct bipartite diagrams separately and

[0211] Step 2: Obtain the bipartite diagram and The N matches BM.

[0212] Step 3: Match N to BM, perform a rounding algorithm to obtain an integer solution.

[0213] Compared with existing technologies, in this embodiment of the invention, firstly, power-related data to be processed is acquired, and several data subsets are obtained by dividing the data to be processed; then, the tasks corresponding to the data subsets, the service components for executing the tasks, and the task dependencies are determined; next, the inter-component calling relationships are determined based on the tasks, the service components for executing the tasks, and the task dependencies, and the runtime resource requirements of the service components and the communication resource requirements of the inter-component calling relationships are obtained; finally, under resource constraints, with the goal of maximizing data processing efficiency, the tasks, the service components for executing the tasks, and the data subsets associated with the tasks are allocated to various servers in the cloud computing center; wherein, the resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component calling relationships are less than or equal to the available communication resources between the servers where the components are located. Therefore, this embodiment of the invention divides the data to be processed into multiple data subsets, determines the tasks and service components corresponding to the data subsets, determines the dependencies between tasks, the runtime resource requirements of the service components, the calling relationships between service components, and the communication resource requirements of the calling relationships between components. Under the premise of ensuring that the runtime resource requirements of the service components on the server are less than the available computing resources of the server, and the communication resource requirements of the calling relationships between components are less than or equal to the available communication resources between the servers where the components are located, the task, service component, and data subset are allocated to each server with the goal of maximizing data processing efficiency. This achieves reasonable data allocation and helps to improve the efficiency of subsequent data processing.

[0214] See Figure 2 , Figure 2This is a schematic diagram of a data allocation system provided in an embodiment of the present invention. The data allocation system 20 includes:

[0215] The data partitioning module 21 is used to acquire power-related data to be processed and to partition the data to be processed to obtain several data subsets.

[0216] The relationship determination module 22 is used to determine the task corresponding to the data subset, the service component for executing the task, and the task dependency relationship;

[0217] The information acquisition module 23 is used to determine the inter-component calling relationship based on the task, the service component used to execute the task, and the task dependency relationship, and to acquire the running resource requirements of the service component and the communication resource requirements of the inter-component calling relationship.

[0218] The data allocation module 24 is used to allocate the task, the service components for executing the task, and the data subset associated with the task to various servers in the cloud computing center under resource constraints, with the goal of maximizing data processing efficiency; wherein the resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component calling relationship are less than or equal to the available communication resources between the servers where the components are located.

[0219] In a preferred embodiment, the data allocation module is further configured to: when a first service component and a second service component have a calling relationship and the first service component and the second service component are not on the same server, use Dijkstra's algorithm to find the shortest path that satisfies the multi-hop allocation requirement; wherein the first service component and the second service component are any two of all the service components, the multi-hop allocation requirement refers to the fact that the available communication resources between all adjacent servers in the path are greater than or equal to the communication resource requirements between the first service component and the second service component, and the shortest path that satisfies the multi-hop allocation requirement is used to provide a calling path for the call between the first service component and the second service component.

[0220] It is worth noting that the specific working process of the data allocation system can be referred to the working process of the data allocation method described in the above embodiments, and will not be repeated here.

[0221] Compared with existing technologies, the data allocation system disclosed in this invention divides the data to be processed into multiple data subsets, determines the tasks and service components corresponding to the data subsets, determines the dependencies between tasks, the runtime resource requirements of service components, the calling relationships between service components, and the communication resource requirements of the calling relationships between components. Under the premise of ensuring that the runtime resource requirements of service components on the server are less than the available computing resources of the server, and that the communication resource requirements of the calling relationships between components are less than or equal to the available communication resources between the servers where the components reside, the system aims to maximize data processing efficiency by allocating tasks, service components, and data subsets to various servers. This achieves reasonable data allocation and helps improve subsequent data processing efficiency.

[0222] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.

Claims

1. A data allocation method, characterized in that, include: Acquire power-related data to be processed, and divide the data to be processed into several data subsets; Identify the tasks corresponding to the data subset, the service components used to execute the tasks, and the task dependencies; One subset of data corresponds to one task, one task needs to call the corresponding service component to execute, and there is a task dependency relationship between at least two tasks; Based on the task, the service component used to execute the task, and the task dependency, determine the inter-component calling relationship, and obtain the runtime resource requirements of the service component and the communication resource requirements of the inter-component calling relationship; For two tasks that have the aforementioned task dependency relationship, there is an inter-component call relationship between their corresponding service components; Under resource constraints, with the goal of maximizing data processing efficiency, the task, the service components used to execute the task, and the data subset associated with the task are allocated to various servers in the cloud computing center; wherein, the resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component calling relationship are less than or equal to the available communication resources between the servers where the components reside; When a first service component and a second service component have a calling relationship and the first service component and the second service component are not on the same server, Dijkstra's algorithm is used to find the shortest path that satisfies the multi-hop allocation requirement; wherein, the first service component and the second service component are any two of all the service components, and the multi-hop allocation requirement means that the available communication resources between all adjacent servers in the path are greater than or equal to the communication resource requirements between the first service component and the second service component, and the shortest path that satisfies the multi-hop allocation requirement is used to provide a calling path for the call between the first service component and the second service component.

2. The data allocation method as described in claim 1, characterized in that, The process involves acquiring power-related data to be processed and dividing the data into several subsets, including: Acquire raw power-related data and perform sampling analysis on the raw data to identify data quality issues. Select the data cleaning algorithm corresponding to the identified data quality issues, and perform parallel cleaning operations on the original data to obtain the data to be processed; The data to be processed is segmented and discretized to obtain several data sets, and the attributes of the data sets are reduced. The data set reduced by the aforementioned attributes is divided into several data subsets.

3. The data allocation method as described in claim 2, characterized in that, The dataset is reduced in attributes in the following way: Using the dataset as the domain, determine the conditional attribute set and the decision attribute set based on the dataset; The universe of discourse is divided based on the conditional attribute set and the decision attribute set to obtain a first positive region corresponding to each decision attribute value in the decision attribute set; Construct reduced sets; Calculate the importance of each conditional attribute in the conditional attribute set to the first positive region; The reduced set is adjusted in multiple rounds; In each round of adjustment of the reduction set, the conditional attribute with the highest importance is selected from all the conditional attributes to be analyzed and added to the reduction set; wherein, the conditional attribute to be analyzed is a conditional attribute that is not in the reduction set. The universe of discourse is divided according to the reduction set and the decision attribute set to obtain a second positive region corresponding to each decision attribute value; When the first positive region and the second positive region are consistent, the adjustment of the reduced set ends; when the first positive region and the second positive region are inconsistent, the next round of adjustment of the reduced set begins.

4. The data allocation method as described in claim 3, characterized in that, After determining the conditional attribute set and decision attribute set based on the data set as the domain, and before dividing the domain based on the conditional attribute set and decision attribute set to obtain the first positive region corresponding to each decision attribute value in the decision attribute set, the method further includes: The data set is divided into several equivalence classes based on the conditional attribute set; When there are inconsistent objects in the equivalence class, the probability of the equivalence class to which the inconsistent object belongs in each decision attribute value in the decision attribute set is calculated using a preset decision attribute distribution function; wherein, the inconsistent object refers to data in the equivalence class whose decision attribute values ​​are inconsistent; When the maximum probability is greater than the set probability threshold, the inconsistent object is assigned to the decision attribute value corresponding to the maximum probability. When the maximum probability is less than the set probability threshold, the inconsistent objects are allocated to each of the decision attribute values ​​according to the probability, or the decision attribute values ​​are adjusted according to the probability, and the decision attribute set is updated.

5. The data allocation method as described in claim 3, characterized in that, The step of dividing the universe of discourse according to the reduction set and the decision attribute set to obtain a second positive region corresponding to each of the decision attribute values ​​includes: Subtract the second positive region obtained in the previous round of adjustment from the universe of discourse to obtain the remaining data; The remaining data is divided according to the reduction set and the decision attribute set to obtain candidate positive regions corresponding to each decision attribute value; The candidate positive region and the second positive region with the same decision attribute value are merged to obtain the second positive region corresponding to each decision attribute value in this round of adjustment.

6. The data allocation method as described in claim 2, characterized in that, The acquisition of raw power-related data, and the sampling analysis of the raw data to identify data quality issues, include: Obtain raw power-related data, calculate the standard deviation, Z-statistic, and marginal error of the raw data within a preset confidence interval, and calculate the sampling size based on the standard deviation, Z-statistic, and marginal error. When the sampling size is greater than a set percentage of the overall size of the original data, the product of the sampling size and the overall size is multiplied by the sum of the sampling size and the overall size to obtain a new sampling size. Based on the sampling size, the original data is sampled and analyzed to identify data quality issues present in the original data.

7. The data allocation method as described in claim 1, characterized in that, Under resource constraints, with the goal of maximizing data processing efficiency, the allocation of the task, the service components for executing the task, and the data subset associated with the task to various servers in the cloud computing center includes: Construct a comprehensive model: Represent the servers of the cloud computing center, the available computing resources of the servers, and the available communication resources between different servers in vector form; represent the runtime resource requirements of the service components and the communication resource requirements of the inter-component calling relationships in vector form; treat the service components as vertices of a directed graph, and establish the edges of the directed graph based on the inter-component calling relationships; construct an objective function with the goal of maximizing data processing efficiency; and construct resource constraints. The data subset, the task corresponding to the data subset, the service component for executing the task, the calling relationship between the components, the runtime resource requirements of the service component, and the communication resource requirements of the calling relationship between the components are input into the comprehensive model. Under the resource constraints, the objective function is solved to obtain the data allocation scheme; Based on the data allocation scheme, the task, the service components used to execute the task, and the data subset associated with the task are allocated to each of the servers in the cloud computing center.

8. The data allocation method as described in claim 7, characterized in that, The process of solving the objective function under the resource constraints to obtain a data allocation scheme includes: The objective function is transformed from a nonlinear integer programming problem into a linear programming problem. Under the constraints, the linear programming problem is solved to obtain a fractionally optimal solution; and the relaxed optimal solution of the nonlinear integer programming problem is determined based on the fractionally optimal solution. Construct a bipartite graph about the data subset and the server based on the relaxed optimal solution; Based on resource constraints, the N-matching BM of the bipartite graph is obtained; Based on the N-match BM, a rounding algorithm is executed to obtain an integer solution, which is used as the final data allocation scheme.

9. A data distribution system, characterized in that, include: The data partitioning module is used to acquire power-related data to be processed and to partition the data to be processed into several data subsets. The relationship determination module is used to determine the task corresponding to the data subset, the service component for executing the task, and the task dependency relationship; one data subset corresponds to one task, one task needs to call the corresponding service component to execute, and there is a task dependency relationship between at least two tasks; The information acquisition module is used to determine the inter-component calling relationship based on the task, the service component used to execute the task, and the task dependency relationship, and to acquire the runtime resource requirements of the service component and the communication resource requirements of the inter-component calling relationship. For two tasks that have the aforementioned task dependency relationship, there is an inter-component call relationship between their corresponding service components; The data allocation module is used to allocate the task, the service components for executing the task, and the data subset associated with the task to various servers in the cloud computing center under resource constraints, with the goal of maximizing data processing efficiency; wherein the resource constraints include: the runtime resource requirements of the service components on the server are less than or equal to the available computing resources of the server, and the communication resource requirements of the inter-component calling relationship are less than or equal to the available communication resources between the servers where the components are located. The data allocation module is further configured to use Dijkstra's algorithm to find the shortest path that satisfies the multi-hop allocation requirement when there is a calling relationship between the first service component and the second service component and the first service component and the second service component are not on the same server; wherein the first service component and the second service component are any two of all the service components, the multi-hop allocation requirement means that the available communication resources between all adjacent servers in the path are greater than or equal to the communication resource requirements between the first service component and the second service component, and the shortest path that satisfies the multi-hop allocation requirement is used to provide a calling path for the call between the first service component and the second service component.

Citation Information

Patent Citations

  • Attribute reduction method for information system based on MPI parallel solving

    CN106598743A

  • Task allocation method and device, terminal equipment and medium

    CN117436627A

  • Instruction execution method and device for artificial intelligence chip

    CN120196434A