Resource allocation method and apparatus
By aggregating and weighting the task datasets acquired from resource recipients, the problem of unclear resource allocation between online and offline services was solved. This enabled online resource allocation and data traceability, improving the efficiency and accuracy of resource allocation and promoting project scaling.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-22
- Publication Date
- 2026-03-24
AI Technical Summary
In existing technologies, the resource allocation and management rules for online and offline services are unclear and unstandardized, relying on manual determination, which leads to lag and errors in resource allocation, making it difficult to trace and affecting the scaling of projects.
By acquiring the task dataset from the resource recipients, aggregating it based on task execution parameters, determining resource weights, and using a resource weight allocation model to achieve online resource allocation, combined with artificial intelligence for data analysis and rule optimization.
It enables online determination of resource weights, improves the efficiency and accuracy of resource allocation, ensures data traceability, and promotes task scaling.
Smart Images

Figure CN114862098B_ABST
Abstract
Description
Technical Field
[0001] The embodiments in this specification relate to the field of computer technology, and in particular to a resource allocation method. Background Technology
[0002] With the rapid development of computer and internet technologies, all sorts of tasks are emerging. For tasks that involve both online and offline services, it is necessary to allocate resources for each type of service.
[0003] In existing technologies, resource allocation for online and offline services suffers from unclear and non-standardized resource management rules. Some core rules rely on manual transmission or calculation, which can lead to difficulties in locating and tracing problems after they occur. Furthermore, resource allocation rules are determined by managers based on historical experience, resulting in lags in resource allocation during rapid project development and hindering project scalability. Therefore, an effective solution is urgently needed to address these issues. Summary of the Invention
[0004] In view of this, embodiments of this specification provide a resource allocation method. One or more embodiments of this specification also relate to a resource allocation apparatus, a computing device, a computer-readable storage medium, and a computer program, to address the technical deficiencies existing in the prior art.
[0005] According to a first aspect of the embodiments of this specification, a resource allocation method is provided, comprising:
[0006] Obtain a task dataset from at least one resource receiver, wherein the task dataset includes data generated by the resource receiver executing each task, and the data includes task execution parameters;
[0007] Based on the task execution parameters, the data in each task dataset are aggregated to obtain at least one target set;
[0008] Based on the at least one target set, determine the resource weight corresponding to each resource recipient;
[0009] Resources are allocated to each resource recipient based on the resource weights.
[0010] According to a second aspect of the embodiments of this specification, a resource allocation apparatus is provided, comprising:
[0011] The acquisition module is configured to acquire a task dataset from at least one resource receiver, wherein the task dataset includes data generated by the resource receiver in executing each task, and the data includes task execution parameters;
[0012] The aggregation module is configured to aggregate data in each task dataset based on the task execution parameters to obtain at least one target set.
[0013] The determination module is configured to determine the resource weight corresponding to each resource recipient based on the at least one target set;
[0014] The allocation module is configured to allocate resources to each resource recipient according to the resource weight.
[0015] According to a third aspect of the embodiments of this specification, a computing device is provided, comprising:
[0016] Memory and processor;
[0017] The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of the resource allocation method described above.
[0018] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores computer-executable instructions that, when executed by a processor, implement the steps of the resource allocation method described above.
[0019] According to a fifth aspect of the embodiments of this specification, a computer program is provided, wherein when the computer program is executed in a computer, it causes the computer to perform the steps of the resource allocation method described above.
[0020] One embodiment of this specification involves acquiring a task dataset from at least one resource recipient. This task dataset includes data generated by the resource recipients executing various tasks, including task execution parameters. Based on the task execution parameters, the data in each task dataset is aggregated to obtain at least one target set. Based on the at least one target set, a resource weight corresponding to each resource recipient is determined. Resources are then allocated to each resource recipient based on the resource weight. By acquiring the task dataset and aggregating the data within it to obtain the target set, and then determining the resource weight based on the target set, online determination of resource weights is achieved, i.e., online resource allocation. This ensures data location and traceability, avoiding the inefficiency and inaccuracy of relying on manual determination of resource weights, thereby improving the efficiency and accuracy of resource allocation. Furthermore, the high efficiency of resource allocation can further drive task scaling. Attached Figure Description
[0021] Figure 1 This is a flowchart illustrating a resource allocation method provided in one embodiment of this specification;
[0022] Figure 2This is a flowchart illustrating a resource allocation method provided in one embodiment of this specification;
[0023] Figure 3 This is a schematic diagram of the architecture of a resource allocation platform in a resource allocation method provided in one embodiment of this specification;
[0024] Figure 4 This is a schematic diagram of a data model in a resource allocation method provided in one embodiment of this specification;
[0025] Figure 5 This is a flowchart illustrating the processing procedure of a resource allocation method provided in one embodiment of this specification;
[0026] Figure 6 This is a schematic diagram of the structure of a resource allocation device provided in one embodiment of this specification;
[0027] Figure 7 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation
[0028] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.
[0029] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0030] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."
[0031] First, the terms and concepts used in one or more embodiments of this specification will be explained.
[0032] ODPS (Open Data Processing Service): Big Data Computing Service.
[0033] UDF (User Defined Function): User-defined functions in ODPS.
[0034] Then, a brief explanation of the resource allocation method provided in this manual will be given.
[0035] With the rapid development of computer and internet technologies, a wide variety of tasks are emerging. For tasks involving both online and offline services, resource allocation for each is necessary. For example, due to their complexity, cross-border supply chain projects or tasks are not entirely online. Therefore, in addition to providing clients with comprehensive online capabilities, partners or service providers with varying qualifications need to offer professional and personalized offline services to clients (primarily sellers) to build trust between them and the platform. Thus, partners or service providers exist as ecosystem partners within the supplier's cross-border supply chain, representing a win-win relationship. Ecosystem partners provide paid services to suppliers, such as promoting and selling the supplier's products and providing excellent customer service during product usage. Therefore, suppliers need to allocate resources to partners or service providers for these paid services, thus creating a resource allocation mechanism.
[0036] In existing technologies, resource allocation for online and offline services suffers from unclear and non-standardized resource management rules. Some core rules rely on manual transmission or calculation, which can lead to difficulties in locating and tracing problems after they occur. Moreover, resource allocation rules are determined by managers based on historical experience, resulting in lags in resource allocation during rapid project development and affecting project scalability. For example, resource allocation in cross-border supply chain projects is semi-online: operations personnel pre-calculate the resource weights for each partner and fulfillment channel, such as profit sharing and compensation, according to specified rules. This information is then compiled into a spreadsheet and manually uploaded to the clearing and allocation system to trigger the resource allocation process. Therefore, while the lower half—the specific allocation of resources—is online, the upper half—the determination of resource weights and the triggering of resource allocation—remains manual. Especially when the rules for determining resource allocation are complex, human error is prone to occur, posing a risk of resource loss. Furthermore, the resource allocation system lacks historical resource allocation results and records of the allocation process, making data traceability impossible and uncontrollable. Moreover, the rules for resource allocation are determined entirely by resource managers based on historical experience. When a project or task is developing rapidly, the resource allocation may lag behind in terms of task traction, which may affect the scaling up of the project.
[0037] To address the aforementioned issues, this specification provides an embodiment in which a task dataset of at least one resource recipient is obtained. This task dataset includes data generated by the resource recipient during the execution of various tasks, including task execution parameters. Based on the task execution parameters, the data in each task dataset is aggregated to obtain at least one target set. Based on the at least one target set, a resource weight corresponding to each resource recipient is determined. Based on the resource weight, resources are allocated to each resource recipient. By obtaining the task dataset and aggregating the data within it to obtain the target set, and then determining the resource weight based on the target set, online determination of resource weights is achieved, i.e., online resource allocation. This ensures data location and traceability, avoiding the inefficiency and inaccuracy of relying on manual determination of resource weights, thereby improving the efficiency and accuracy of resource allocation. Furthermore, the high efficiency of resource allocation can further drive task scaling.
[0038] This specification provides a resource allocation method, and also relates to a resource allocation device, a computing device, and a computer-readable storage medium, which will be described in detail in the following embodiments.
[0039] See Figure 1 , Figure 1 A flowchart of a resource allocation method provided in one embodiment of this specification is shown, which specifically includes the following steps.
[0040] Step 102: Obtain at least one task dataset from a resource recipient, wherein the task dataset includes data generated by the resource recipient in executing each task, and the data includes task execution parameters.
[0041] The entity that implements the resource allocation method can be a computing device with resource allocation capabilities, such as a server or terminal with resource allocation capabilities.
[0042] Specifically, the resource recipient can be an employee of the resource supplier, a partner of the resource recipient (such as a collaborator or service provider), or an offline subsidiary of the resource recipient, etc. This specification does not limit this; a task refers to the process of voluntarily accepting services provided to users, such as selling products to users or providing repair services; data refers to the data indicators, or factors, required for resource allocation, such as selling 5 pieces of clothing or modifying zippers 4 times; a task dataset refers to a collection of data; task execution parameters refer to the parameters corresponding to the data, such as time, date, and corresponding project.
[0043] In practical applications, there are several ways to obtain the task dataset of at least one resource recipient. For example, an operator may send a resource allocation instruction to the executing entity, or send an instruction to obtain the task dataset of at least one resource recipient. Upon receiving the instruction, the executing entity then begins obtaining the task dataset of at least one resource recipient. Alternatively, the server may automatically obtain the task dataset of at least one resource recipient at preset intervals. For instance, after a preset interval, a server with resource allocation capabilities may automatically obtain the task dataset of at least one resource recipient within a specified access area. Or, after a preset interval, a terminal with resource allocation capabilities may automatically obtain the task dataset of at least one resource recipient stored locally. This specification does not limit the method for obtaining the task dataset of at least one resource recipient.
[0044] In one possible implementation of the embodiments of this specification, after receiving a resource allocation instruction, the task dataset can be obtained based on the resource allocation instruction. That is, the specific implementation process for obtaining the task dataset of at least one resource recipient can be as follows:
[0045] Receive a resource allocation instruction, wherein the resource allocation instruction carries at least one receiver identifier;
[0046] Based on the at least one recipient identifier, obtain the task dataset of at least one resource recipient.
[0047] Specifically, the resource allocation instruction refers to an instruction that can initiate the execution of resource allocation; the recipient identifier refers to an identifier that represents the resource recipient, such as name, account, etc.
[0048] In practical applications, personnel send resource allocation instructions to the implementing entity to inform it to begin resource allocation. At this point, the implementing entity, based on the recipient identifier carried in the resource allocation instruction, retrieves the task dataset corresponding to each recipient identifier—that is, the task dataset of at least one resource recipient. Thus, by retrieving the task dataset through the recipient identifier carried in the resource allocation instruction, the required task dataset is clearly identified. This not only improves the accuracy and speed of task dataset retrieval but also avoids retrieving task datasets from other voluntary recipients that are not needed, reducing data processing volume and further increasing the retrieval speed, thereby improving the speed of resource allocation.
[0049] For example, upon receiving a resource allocation instruction carrying receiver identifier A1 and receiver identifier A2, the task dataset of the resource receiver corresponding to receiver identifier A1 and the task dataset of the resource receiver corresponding to receiver identifier A2 are obtained.
[0050] It should be noted that when multiple receiver identifiers exist, the task datasets for each receiver identifier can be obtained simultaneously based on each receiver identifier, i.e., parallel acquisition; alternatively, the task datasets for each receiver identifier can be obtained sequentially based on each receiver identifier, i.e., sequential acquisition. This specification does not impose any limitations on either approach.
[0051] Furthermore, when retrieving the task dataset of the resource recipient based on the recipient identifier, if the retrieval is successful, the subsequent process can continue; if the retrieval fails, the task dataset needs to be collected through the collection interface. That is, after retrieving the task dataset of at least one resource recipient, the process further includes:
[0052] If acquisition fails, determine the collection interface for the task dataset;
[0053] Based on the acquisition interface, acquire task datasets from at least one resource recipient.
[0054] Specifically, the data acquisition interface refers to the data acquisition scope, which is used to collect task datasets. It can connect to the platform or system corresponding to the resource recipient, and it can also connect to the cloud server corresponding to the task dataset.
[0055] In practical applications, for any resource recipient, if the task dataset for that resource recipient exists in the preset storage area or database, it can be successfully retrieved based on the recipient's identifier. If the task dataset for that resource recipient does not exist in the preset storage area or database, it cannot be retrieved based on the recipient's identifier, i.e., retrieval fails. In this case, it is necessary to determine the collection interface corresponding to the recipient's identifier, that is, the collection interface corresponding to the resource recipient or the resource recipient's task dataset, and then retrieve the resource recipient's task dataset through that collection interface. Thus, in the event of retrieval failure, timely retrieval of the task dataset through the collection interface can effectively ensure data integrity, guarantee the smooth progress of resource allocation, and ensure the reliability of the resource allocation results.
[0056] Step 104: Based on the task execution parameters, aggregate the data in each task dataset to obtain at least one target set.
[0057] Based on obtaining the task dataset of at least one resource recipient, the data in each task dataset is further aggregated according to the task execution parameters of the data in the task dataset to obtain the target set.
[0058] Specifically, aggregation processing refers to the process of combining data that have a certain relationship according to certain rules; the target set refers to the collection of data with a certain relationship.
[0059] In practical applications, after obtaining the task datasets of each resource recipient, it is necessary to perform aggregation operations such as grouping and classifying the data in each task dataset based on the task execution parameters contained in the data, and determine any aggregated group of data as a target set, or add any aggregated group of data to the same table to obtain the target set.
[0060] For example, there are three task datasets: task dataset A, task dataset B, and task dataset C. Task dataset A contains one data point a1 (task execution parameter is a1), task dataset B contains two data points b1 (task execution parameter is b1) and b2 (task execution parameter is b2), and task dataset C contains three data points c1 (task execution parameter is c1), c2 (task execution parameter is c2), and c3 (task execution parameter is c3). Based on the task execution parameters and preset aggregation rules, data a1, b1, b2, c1, c2, and c3 are aggregated to obtain three target sets: the first target set is [a1, b1, c1], the second target set is [b2, c2], and the third target set is [c3].
[0061] It should be noted that when acquiring the task dataset, if multiple data points are presented in rows, it is necessary to split the multiple data points in a row into independent rows, that is, to perform a horizontal-to-vertical transformation on the data. Then, the data is aggregated.
[0062] In one possible implementation of the embodiments of this specification, in order to improve the accuracy and reliability of resource allocation, data with the same task execution parameters can be aggregated together, that is, the data in each task dataset can be aggregated to obtain at least one target set. The specific implementation process can be as follows:
[0063] Data with the same task execution parameters are aggregated into the same target set.
[0064] In practical applications, data with the same task execution parameters can be aggregated into the same target set. For example, if the task execution parameter is a date, then data from the same day (i.e., data with the same date) will be aggregated into one target set; similarly, if the task execution parameter is a task identifier, then data from the same task (i.e., data with the same task identifier) will be aggregated into one target set; and if the task execution parameters are both a date and a task identifier, then data from the same task on the same day (i.e., data with both the same date and task identifier) will be aggregated into one target set.
[0065] Step 106: Determine the resource weight corresponding to each resource recipient based on the at least one target set.
[0066] Based on the aggregation of data in each task dataset according to the task execution parameters to obtain at least one target set, the resource weights corresponding to each resource receiver are further determined.
[0067] Specifically, resource weight can be a resource value, which is the numerical value of the resources that the resource recipient can allocate, such as 50, 100, etc., or a resource percentage, which represents the percentage of the total resources that the resource recipient can allocate, such as 20%, 15%, etc.
[0068] In practical applications, after obtaining at least one set of targets, it is necessary to integrate or calculate the resources based on each set of targets to determine the resource weights corresponding to each resource recipient.
[0069] For example, each target set is input into a pre-set resource weight allocation model. The resource weight allocation model processes the target sets and then outputs the resource weights corresponding to each resource receiver.
[0070] In one possible implementation of the embodiments of this specification, after determining the resource weights corresponding to each resource recipient, a task allocation strategy can be determined based on the resource weights. That is, after determining the resource weights corresponding to each resource recipient based on the at least one target set, the method further includes:
[0071] Based on the resource weights, each task dataset, and pre-acquired task resource information, a task input strategy is determined, wherein the task input strategy is used to guide the execution of the target task.
[0072] Specifically, the task resource information refers to the resource information corresponding to the task, such as the task's benefits, costs, time consumption, etc.; the task input strategy refers to the input strategy for executing the task, such as the minimum input required for the task to achieve a certain goal.
[0073] In practical applications, after obtaining resource weights, to improve the efficiency and rationality of task execution, data processing can be performed based on resource weights, the datasets of each resource and the tasks being analyzed, and task resource information, according to certain data processing rules. The processed data can then be used to determine a task allocation strategy, or to optimize a previous task allocation strategy by adjusting its parameters, thereby determining a new task allocation strategy. This improves task processing efficiency and, consequently, allows for more accurate acquisition of task datasets during subsequent resource allocation, further enhancing resource allocation efficiency.
[0074] In one possible implementation of the embodiments of this specification, when determining the task input strategy based on resource weights, task datasets, and pre-acquired task resource information, the resource weights and task datasets can be processed first, and then the task input strategy can be determined based on the processing results and task resource information. That is, the specific implementation process of determining the task input strategy based on the resource weights, task datasets, and pre-acquired task resource information can be as follows:
[0075] Data analysis is performed based on the resource weights and task datasets to obtain analysis results. Based on the analysis results and pre-acquired task resource information, a task input strategy is determined.
[0076] Specifically, data analysis refers to the analysis of resource weights and task datasets using appropriate analytical methods or rules, summarizing, understanding, and digesting them to maximize the development of the functions of resource weights and task datasets and to maximize their role. In other words, data analysis is the process of studying and summarizing resource weights and task datasets in detail in order to extract useful information and form conclusions. The analysis results refer to the results of data analysis based on resource weights and task datasets.
[0077] In practical applications, after determining resource weights, data analysis can be performed based on these weights and the task datasets to obtain the analysis results. Furthermore, based on these results and task resource information, data processing is used to determine the task allocation strategy. Thus, by first analyzing the resource weights and task datasets, and then determining the task allocation strategy based on the analysis results and task resource information, the accuracy of the task resource strategy can be improved. This, in turn, helps to more accurately obtain the task datasets in the next resource allocation, thereby improving the efficiency of resource allocation.
[0078] Optionally, the analysis results can be the confidence levels of each data point in each task dataset relative to the resource weights. That is, the process of performing data analysis based on the resource weights and each task dataset, obtaining analysis results, and determining the task input strategy based on the analysis results and pre-acquired task resource information can be further implemented as follows:
[0079] Based on the resource weights and each task dataset, data analysis is performed to determine the confidence level of each data point in each task dataset relative to the resource weights.
[0080] Based on the confidence level and the pre-acquired task resource information, a task input strategy is determined.
[0081] Specifically, confidence level is also called reliability, or confidence level or confidence coefficient.
[0082] In practical applications, after determining resource weights, data analysis can be performed based on these weights and the task datasets to determine the confidence level of each data point or individual data point in each task dataset relative to its resource weight. Furthermore, based on the confidence level of the data relative to the resource weight and task resource information, further data processing is performed to determine the task allocation strategy. Thus, by first analyzing the resource weights and task datasets to determine the confidence level of each data point in the task dataset relative to its resource weight, and then determining the task allocation strategy based on the confidence level of each data point relative to its resource weight and task resource information, the accuracy of the task resource strategy can be improved. This, in turn, helps to more accurately obtain the task dataset during subsequent resource allocation, thereby improving the efficiency of resource allocation.
[0083] For example, after each resource weight is determined, the executing entity automatically performs data analysis based on the resource weight and the data in each task dataset. It uses causal analysis capabilities to obtain the weight of the data in each task dataset in the resource weight, that is, the confidence level of each data in the task dataset relative to the resource weight. It further predicts the pre-acquired task resource consumption and task resource acquisition, that is, task resource information. Combining the weight of the data in the resource weight, it determines the task input strategy, that is, optimizes the task input strategy.
[0084] In one possible implementation of the embodiments of this specification, to ensure the standardization of the determination process and thus guarantee the accuracy of the resource weights, when determining the resource weights corresponding to each resource receiver based on the at least one target set, the resource weights can also be input into a pre-trained resource weight allocation model to obtain the resource weights corresponding to each resource receiver. That is, the specific implementation process of determining the resource weights corresponding to each resource receiver based on the at least one target set can be as follows:
[0085] The at least one target set is input into a pre-trained resource weight allocation model to obtain the resource weights corresponding to each resource receiver, wherein the resource weight allocation model is trained based on a sample set carrying resource weight labels.
[0086] Accordingly, after performing data analysis based on the resource weights and the execution data of each task to obtain the analysis results, the process further includes:
[0087] Based on the analysis results, adjust the model parameters of the resource weight allocation model.
[0088] Specifically, the resource weight allocation model refers to a pre-set neural network model or function; the sample set refers to the set of resource weight allocation models used for training; and the resource weight label refers to the actual resource weights corresponding to the sample set.
[0089] In practical applications, a resource weight allocation model can be pre-trained: A sample set carrying resource weight labels is obtained, and this sample set is then input into a pre-defined neural network model or function. The neural network model or function outputs the predicted resource weights for this sample set. These predicted resource weights and the resource weight labels carried by the sample set are input into a pre-defined loss function to determine the loss value. Further, the parameters of the neural network model or function are adjusted based on the loss value. Then, another sample set carrying resource weight labels is obtained, and the next round of training begins. Training continues until the loss value is less than a preset threshold or the preset number of iterations is reached. At this point, training stops, and the trained neural network model or function is designated as the resource weight allocation model.
[0090] Furthermore, after obtaining at least one target set, it can be input into a trained resource weight allocation model. The model processes the target set and outputs the resource weights corresponding to each resource receiver. Further, data analysis is performed based on the resource weights and task datasets to obtain analysis results. Then, the model parameters of the resource weight allocation model can be adjusted based on the analysis results to optimize the model. In this way, optimizing the resource weight allocation model through analysis results achieves online determination of resource weights, and the model parameters are adjustable, meaning the resource allocation rules are configurable and the computational components are scalable. This avoids the shortcomings of manual resource weight determination, which is prone to errors and difficult to locate and trace problems. When using the optimized resource weight allocation model to determine the resource weights corresponding to each resource receiver, the accuracy of resource weights can be improved, thereby improving the efficiency of resource allocation. In other words, based on artificial intelligence, the resource allocation rules can be continuously iterated and optimized, better serving the rapid development of tasks.
[0091] Step 108: Allocate resources to each resource recipient according to the resource weights.
[0092] Based on determining the resource weights corresponding to each resource recipient according to the at least one target set, resources are further allocated to each resource recipient according to the determined resource weights corresponding to each resource recipient.
[0093] In practical applications, after determining the resource weight, for any resource recipient, resources are allocated to that recipient based on its resource weight: if the resource weight is a resource value, the resource corresponding to that resource value can be directly allocated to the recipient; if the resource weight is a resource percentage, the resource value is determined based on the resource percentage and the total resources, and then the resource corresponding to that resource value is allocated to the recipient.
[0094] For example, the resource weight is the resource value. Suppose there are 3 resource recipients, where the first resource recipient has a resource value of 100, the second resource recipient has a resource value of 70, and the third resource recipient has a resource value of 130. Then, the first resource recipient is allocated 100 units of resource, the second resource recipient is allocated 70 units of resource, and the third resource recipient is allocated 130 units of resource.
[0095] For example, resource weight is the resource percentage. Assume there are two resource recipients, where resource recipient M1 has a resource percentage of 20% and resource recipient M2 has a resource percentage of 15%, and the total resources are 100 units of resources. The resource value corresponding to resource recipient M1 is 100 * 20% = 20, and the resource value corresponding to resource recipient M2 is 100 * 15% = 15. Then, 20 units of resources are allocated to resource recipient M1, and 15 units of resources are allocated to resource recipient M2.
[0096] The resource allocation methods provided in this manual mainly involve several key aspects such as standardization, configurability, and security.
[0097] First, the data cannot be discrete and irregular. Otherwise, the resource allocation system will not be able to handle each task adjustment or the addition of a new task scenario, which will lead to additional development costs. Therefore, it is necessary to abstract and model the data model according to the task. That is, based on the task execution parameters, the data in each task dataset is aggregated to obtain at least one target set.
[0098] Secondly, the logic for determining resource weights differs across different scenarios. If we hard-code this in the code, it will increase development costs when the scenario changes. Therefore, it is necessary to support explicit configuration of rules on the page. For example, after determining the analysis results, the analysis results should be displayed on the screen, and then users can adjust certain aspects of resource allocation based on the analysis results, such as adjusting task input strategies.
[0099] Secondly, since resource allocation involves resource security, and resource weights are automatically determined during automatic resource allocation, even pre-configured resource allocation rules may contain errors. Without a pre-verification process, the correctness of the results cannot be guaranteed. Therefore, it is necessary to support online debugging of the rules, such as adjusting the model parameters of the resource weight allocation model based on the analysis results after determining the molecular results.
[0100] Finally, artificial intelligence needs to be used to analyze the data in the task datasets used in resource allocation. For example, the critical point where marginal revenue exceeds marginal cost can be calculated by analyzing task resource acquisition and consumption, thereby outputting a task investment strategy with greater benefits. Alternatively, the confidence level of data in resource weights can be analyzed to support managers' decisions. For example, increasing the allocation of task investment in certain data-related tasks can encourage front-line sales staff to focus on filling task gaps in certain task channels, thereby driving task scaling.
[0101] See Figure 2 , Figure 2 This specification shows a flowchart illustrating a resource allocation method according to an embodiment. The specific steps are as follows:
[0102] Step 1: Automatic Task Data Collection and Custom Indicator Processing. The resource allocation system automatically collects the task data required for synchronous resource allocation at regular intervals, i.e., the task datasets of each resource recipient; then, it aggregates the data in the task datasets, i.e., custom indicator processing. It should be noted that during the custom indicator processing, data standardization can be performed, such as horizontal to vertical conversion.
[0103] Step 2: Set up the resource weight allocation model and calculate resource weights. Each task operator can configure resource allocation rules, i.e., set up the resource weight allocation model. Then, on the display page, the resource weight allocation model offers a variety of calculation components to process the data, such as accumulation, averaging, and arithmetic operations, to calculate the final resource weights. Afterward, resources can be allocated based on these weights. Furthermore, a trigger time for resource allocation can be defined. Upon the trigger time, the resource allocation system will automatically calculate the resource weights and generate a resource distribution stream based on them, allocating resources to each resource recipient.
[0104] Step 3: Intelligent Analysis of Indicator Data and Task Allocation Strategy. After each resource weight is determined, the intelligent engine automatically performs data analysis based on each data point and the resource weight, using causal analysis capabilities to obtain the weight of each data point within the resource weight. Since the data and tasks are strongly correlated, and even directly derived from the task operation process, changes in tasks will directly lead to changes in the data. Therefore, based on the weight of the data within the resource weight, resource acquisition, and resource consumption, the optimal solution for task allocation can be calculated, i.e., the task allocation strategy can be optimized or determined.
[0105] Step 4: Optimize standardized task operation procedures and resource weight allocation model. The intelligent engine outputs visualized task strategies based on the analysis results, allowing managers to optimize the resource weight allocation model and task assignment standard operation procedures according to these strategies.
[0106] See Figure 3 , Figure 3 This document illustrates the architecture of a resource allocation platform in an embodiment of a resource allocation method provided in this specification. The platform mainly comprises several modules: a data converter, a dataset, a configuration service, an indicator calculation system, and an intelligent engine. The data converter includes a multi-level table partitioning strategy for task modeling, an ODPS synchronization task, and UDTF functions. The multi-level table partitioning strategy primarily improves the computational performance of determining resource weights, for example, by storing data for a specific task in a separate sub-table for a specific year and month. The ODPS synchronization task configures routing functions for multi-level table partitioning; during data synchronization, routing results are automatically obtained based on data attributes, and the corresponding sub-tables are synchronized. The UDTF functions are used for horizontal-to-vertical data processing, mainly splitting multiple data points in a row into independent rows, and supporting the addition of task extension points during the splitting process to support customized data processing for tasks. The dataset uses MySQL (Relational Database Management System), ADB (Analytical Database MySQL), and Hologres (a one-stop real-time data warehouse engine). MySQL provides real-time data read / write services for determining resource weights, while ADB and Hologres provide big data query services to the intelligent engine. The configuration service includes task attribute configuration, indicator configuration (data configuration), indicator import (data import), profit-sharing rule configuration, online rule debugging, profit-sharing canary deployment configuration, and online rule publishing. The core of the indicator calculation module is the rule engine, which provides the logic for determining resource allocation, including the profit-sharing rule engine, process indicator processor, order generator, and cost push. The intelligent engine includes model management, causal analysis, task diagnosis, and output strategies: model management supports the scalability of data analysis models; causal analysis is used to analyze the centrality of data in resource weights; task diagnosis mainly diagnoses data-related tasks based on weights and data, and outputs visualized strategies based on the diagnostic results.
[0107] In addition, the resource allocation platform also includes external services, mainly divided into API services and SaaS services. API services provide data and intelligent interfaces, while SaaS services are used for SSO and resource allocation applications. The data sources for the resource allocation platform are twofold: internal data sources and external data sources. Internal data sources, such as partner data, customs data, tax data, and logistics data, are extracted and transmitted to the resource allocation platform through data channels. External data sources are collected and transmitted to the resource allocation platform through data channels.
[0108] See Figure 4 , Figure 4This diagram illustrates a data model in a resource allocation method provided in one embodiment of this specification. The model is primarily based on task-oriented modeling. First, the operations team configures indicator definitions and metadata definitions: For metadata definitions, a data analyst writes SQL, processes it using UDTF functions, and obtains the ODPS source table through ODPS synchronization tasks, followed by data aggregation. For indicator definitions, it is determined whether the indicator definition is configurable. If so, new scenarios and indicators are added, and rules are configured based on the aggregated metadata definitions. If not, the data analyst writes SQL, processes it using UDTF functions, obtains the ODPS source table through ODPS synchronization tasks, aggregates the data, and finally configures rules based on the aggregated metadata definitions. Furthermore, developers can set aggregation strategies for data aggregation.
[0109] For the dataset definition table: extract data with several fixed attributes according to the primary key id (e.g., 1), such as dimension type (e.g., customer), dimension value (e.g., 491885), member type (e.g., ggs), task type (e.g., TAD-GMV), task date (e.g., 20210101), calculation date (20210102), and DS structure (e.g., dimension key + task type + hash (dimensional value) + period). Dynamic data is aggregated separately in compressed JSON format. The data is stored in the overall data results. For the dataset indicator table: Following the primary key ID (e.g., 1, 2), the dataset definition table ID (e.g., 1), calculation date (e.g., 20210102), indicator KEY (e.g., ta_ship_ping_ord_tad_3m_amt, ta_ship_ping_ord_tad_6m_amt), and indicator value (e.g., 0-90 days GMV-TAD (non-self-operated), 0-180 days GMV-TAD (non-self-operated)) are stored. The difference between the dataset definition table and the data indicator table is that each row of data in the dataset definition table represents the smallest time granularity, such as all the data needed to calculate the resource weight of a specific employee in the daily dimension. The data indicator table, on the other hand, stores multiple rows of data from a single row of data in the target set. The dataset definition table is used for resource weight calculation, while the data indicator table is used for data analysis; individual indicator analysis is more convenient and performs better.
[0110] In addition, metric definition refers to the fact that the task dataset already has a corresponding data type, but in order to configure the data type as a rule, it is necessary to first configure the task attributes of the data type, including field name and metric name; metadata definition refers to the data collection scope, which is to define and collect new data.
[0111] See Figure 5 , Figure 5This document illustrates a flowchart of a resource allocation method provided in this specification: First, real-time task data, such as new user acquisition, return order processing, financial data, and other task data, is acquired. Preliminary processing of this real-time task data yields offline raw data, such as new user acquisition raw data, return order raw data, financial raw data, and other task data. Next, basic configuration is performed, primarily including indicator mapping. Then, the basic configuration and offline raw data are synchronized to the computing engine, enabling the computing engine to perform data standardization processing on the offline raw data. Data standardization processing (ODPS Script) includes: task dimension modeling and UDTF calculation and distribution. This involves synchronizing relevant data to the ODPS table, using UDTF in ODPS for secondary processing to standardize the data and obtain the target set, i.e., data integration (task indicators). The target set is used by the rule engine to calculate resource weights. Finally, the intelligent engine uses the resource weights and data (target set) for data analysis, i.e., cost calculation, revenue calculation, and causal analysis.
[0112] Furthermore, UDTF computation and distribution includes several steps: computation engine initialization, variable value retrieval and context placement, metric parsing, key value mapping, task flow execution, and UDTF distribution and return. Task flow execution primarily involves customizing the data flow, followed by task extension points such as partner resource allocation, logistics resource allocation, financial resource allocation, customs resource allocation, and employee resource allocation. The computation engine also incorporates a scheduling engine, which mainly includes Schedulerx2 scheduling, DAG (Directed Acyclic Graph) scheduling, Task creation, and DAG task status polling.
[0113] One embodiment of this specification involves acquiring a task dataset from at least one resource recipient. This task dataset includes data generated by the resource recipients executing various tasks, including task execution parameters. Based on the task execution parameters, the data in each task dataset is aggregated to obtain at least one target set. Based on the at least one target set, a resource weight corresponding to each resource recipient is determined. Resources are then allocated to each resource recipient based on the resource weight. By acquiring the task dataset and aggregating the data within it to obtain the target set, and then determining the resource weight based on the target set, online determination of resource weights is achieved, i.e., online resource allocation. This ensures data location and traceability, avoiding the inefficiency and inaccuracy of relying on manual determination of resource weights, thereby improving the efficiency and accuracy of resource allocation. Furthermore, the high efficiency of resource allocation can further drive task scaling.
[0114] Furthermore, the data is expandable, and different tasks can be customized. By adjusting the model parameters of the resource weight allocation model, the logic for determining resource weights can be extended. Different tasks can be customized, and the resource weight determination rules support explicit configuration and online debugging to ensure rule correctness. Moreover, artificial intelligence algorithms are used to calculate the confidence level of different data in resource weights. Combining resource acquisition and consumption, the overall task strategy under the current manpower input is determined, and the resource weight allocation model can also be optimized.
[0115] Corresponding to the above method embodiments, this specification also provides embodiments of a resource allocation device. Figure 6 A schematic diagram of a resource allocation device according to one embodiment of this specification is shown. Figure 6 As shown, the device includes:
[0116] The acquisition module 602 is configured to acquire a task dataset of at least one resource receiver, wherein the task dataset includes data generated by the resource receiver in executing each task, and the data includes task execution parameters;
[0117] The aggregation module 604 is configured to aggregate data in each task dataset based on the task execution parameters to obtain at least one target set.
[0118] The determining module 606 is configured to determine the resource weight corresponding to each resource receiver based on the at least one target set;
[0119] The allocation module 608 is configured to allocate resources to each resource recipient according to the resource weight.
[0120] In one or more optional embodiments of this specification, the aggregation module 604 is further configured to:
[0121] Data with the same task execution parameters are aggregated into the same target set.
[0122] In one or more optional embodiments of this specification, the acquisition module 602 is further configured to:
[0123] Receive a resource allocation instruction, wherein the resource allocation instruction carries at least one receiver identifier;
[0124] Based on the at least one recipient identifier, obtain the task dataset of at least one resource recipient.
[0125] In one or more optional embodiments of this specification, the acquisition module 602 is further configured to:
[0126] If acquisition fails, determine the collection interface for the task dataset;
[0127] Based on the acquisition interface, acquire task datasets from at least one resource recipient.
[0128] In one or more optional embodiments of this specification, the determining module 606 is further configured to:
[0129] Based on the resource weights, each task dataset, and pre-acquired task resource information, a task input strategy is determined, wherein the task input strategy is used to guide the execution of the target task.
[0130] In one or more optional embodiments of this specification, the determining module 606 is further configured to:
[0131] Data analysis is performed based on the resource weights and task datasets to obtain analysis results. Based on the analysis results and pre-acquired task resource information, a task input strategy is determined.
[0132] In one or more optional embodiments of this specification, the determining module 606 is further configured to:
[0133] Based on the resource weights and each task dataset, data analysis is performed to determine the confidence level of each data point in each task dataset relative to the resource weights.
[0134] Based on the confidence level and the pre-acquired task resource information, a task input strategy is determined.
[0135] In one or more optional embodiments of this specification, the determining module 606 is further configured to:
[0136] The at least one target set is input into a pre-trained resource weight allocation model to obtain the resource weights corresponding to each resource receiver, wherein the resource weight allocation model is trained based on a sample set carrying resource weight labels.
[0137] The device also includes an adjustment module configured to:
[0138] Based on the analysis results, adjust the model parameters of the resource weight allocation model.
[0139] One embodiment of this specification involves acquiring a task dataset from at least one resource recipient. This task dataset includes data generated by the resource recipients executing various tasks, including task execution parameters. Based on the task execution parameters, the data in each task dataset is aggregated to obtain at least one target set. Based on the at least one target set, a resource weight corresponding to each resource recipient is determined. Resources are then allocated to each resource recipient based on the resource weight. By acquiring the task dataset and aggregating the data within it to obtain the target set, and then determining the resource weight based on the target set, online determination of resource weights is achieved, i.e., online resource allocation. This ensures data location and traceability, avoiding the inefficiency and inaccuracy of relying on manual determination of resource weights, thereby improving the efficiency and accuracy of resource allocation. Furthermore, the high efficiency of resource allocation can further drive task scaling.
[0140] The above is an illustrative scheme of a resource allocation device according to this embodiment. It should be noted that the technical solution of this resource allocation device and the technical solution of the resource allocation method described above belong to the same concept. For details not described in detail in the technical solution of the resource allocation device, please refer to the description of the technical solution of the resource allocation method described above.
[0141] Figure 7 A structural block diagram of a computing device 700 according to one embodiment of this specification is shown. The components of the computing device 700 include, but are not limited to, a memory 710 and a processor 720. The processor 720 is connected to the memory 710 via a bus 730, and a database 750 is used to store data.
[0142] The computing device 700 also includes an access device 740, which enables the computing device 700 to communicate via one or more networks 760. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or combinations of communication networks such as the Internet. The access device 740 may include one or more of any type of wired or wireless network interface (e.g., Network Interface Controller (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.
[0143] In one embodiment of this specification, the above-described components of the computing device 700 and Figure 7 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 7 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
[0144] The computing device 700 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or PCs. The computing device 700 can also be a mobile or stationary server.
[0145] The processor 720 is configured to execute the following computer-executable instructions, which, when executed by the processor, implement the steps of the resource allocation method described above.
[0146] The above is an illustrative scheme of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the resource allocation method described above belong to the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the resource allocation method described above.
[0147] An embodiment of this specification also provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the resource allocation method described above.
[0148] The above is an illustrative scheme of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the resource allocation method described above belong to the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the resource allocation method described above.
[0149] An embodiment of this specification also provides a computer program, wherein when the computer program is executed in a computer, it causes the computer to perform the steps of the above-described resource allocation method.
[0150] The above is an illustrative example of a computer program according to this embodiment. It should be noted that the technical solution of this computer program and the technical solution of the resource allocation method described above belong to the same concept. Details not described in detail in the technical solution of the computer program can be found in the description of the technical solution of the resource allocation method described above.
[0151] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0152] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0153] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments in this specification.
[0154] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0155] The preferred embodiments disclosed above are merely illustrative of this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.
Claims
1. A resource allocation method, comprising: Obtain a task dataset from at least one resource receiver, wherein the task dataset includes data generated by the resource receiver in executing each task, the data includes task execution parameters, the task refers to the process by which the resource receiver provides services to the user, and the data refers to data indicators required for resource allocation. Based on the task execution parameters, the data in each task dataset is aggregated to obtain at least one target set, including: aggregating data with the same task execution parameters into the same target set; Determining the resource weights corresponding to each resource recipient based on the at least one target set includes: inputting the at least one target set into a pre-trained resource weight allocation model to obtain the resource weights corresponding to each resource recipient, wherein the resource weight allocation model is trained based on a sample set carrying resource weight labels. The task input strategy is determined based on the resource weights, task datasets, and pre-acquired task resource information. This includes: performing data analysis based on the resource weights and task datasets, obtaining analysis results, and determining the task input strategy based on the analysis results and pre-acquired task resource information. The task input strategy is used to guide the execution of the target task, and the task resource information refers to the resource information corresponding to the task. Resources are allocated to each resource recipient based on the resource weights.
2. The method according to claim 1, wherein obtaining the task dataset of at least one resource recipient includes: Receive a resource allocation instruction, wherein the resource allocation instruction carries at least one receiver identifier; Based on the at least one recipient identifier, obtain the task dataset of at least one resource recipient.
3. The method according to claim 2, further comprising, after obtaining the task dataset of at least one resource recipient: If acquisition fails, determine the collection interface for the task dataset; Based on the acquisition interface, acquire task datasets from at least one resource recipient.
4. The method according to claim 1, wherein the step of performing data analysis based on the resource weights and each task dataset, obtaining analysis results, and determining a task input strategy based on the analysis results and pre-acquired task resource information, includes: Based on the resource weights and each task dataset, data analysis is performed to determine the confidence level of each data point in each task dataset relative to the resource weights. Based on the confidence level and the pre-acquired task resource information, a task input strategy is determined.
5. The method according to claim 1, after performing data analysis based on the resource weights and each task dataset to obtain the analysis results, further includes: Based on the analysis results, adjust the model parameters of the resource weight allocation model.
6. A resource allocation device, comprising: The acquisition module is configured to acquire a task dataset from at least one resource receiver, wherein the task dataset includes data generated by the resource receiver in executing each task, the data includes task execution parameters, the task refers to the process by which the resource receiver provides services to the user, and the data refers to data indicators required for resource allocation. The aggregation module is configured to aggregate data in each task dataset based on the task execution parameters to obtain at least one target set. The aggregation module is also configured to aggregate data with the same task execution parameters into the same target set; The determination module is configured to determine the resource weight corresponding to each resource recipient based on the at least one target set; The determining module is further configured to input the at least one target set into a pre-trained resource weight allocation model to obtain the resource weights corresponding to each resource receiver, wherein the resource weight allocation model is trained based on a sample set carrying resource weight labels. The determining module is further configured to determine a task input strategy based on the resource weights, each task dataset, and pre-acquired task resource information, wherein the task input strategy is used to guide the execution of the target task, and the task resource information refers to the resource information corresponding to the task. The determining module is further configured to perform data analysis based on the resource weights and each task dataset, obtain analysis results, and determine a task input strategy based on the analysis results and pre-acquired task resource information. The allocation module is configured to allocate resources to each resource recipient according to the resource weight.
7. A computing device, comprising: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of the resource allocation method according to any one of claims 1 to 5.
8. A computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the resource allocation method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Resource allocation method, resource allocation device, storage medium and electronic equipment
CN112581153A
Cloud server remote monitoring method and system
CN113905046A