Resource allocation method and device, coupon allocation method and device, computing equipment and medium
By stating and predicting resource usage and requesting data, the resource allocation information is automatically determined, and the problem of unreasonable resource allocation in the existing technology is solved, the execution efficiency and accuracy of computing tasks are improved, and the rational allocation of resources is achieved.
Patent Information
- Application Number
- CN202411396147.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2024-12-31
AI Technical Summary
In the prior art, unreasonable resource allocation leads to low efficiency in computing tasks, and it is difficult to achieve dynamic real-time adjustments, and lacks a resource allocation plan with high real-time and accuracy.
By counting the historical use and request data of each object, data prediction is carried out, resource allocation information is determined, and resources are automatically allocated to the target object, the reasonable and accurate resource allocation of the multi-resource allocation field is achieved.
It improves the real-time and accuracy of resource allocation, ensures resource utilization efficiency, reduces manual intervention, and realizes automated data statistics and allocation.
Smart Images

Figure CN119228313A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of computer network technology, and in particular to a resource allocation method, a coupon allocation method and apparatus, a computing device, and a medium. Background Art
[0002] In recent years, with the continuous development of network technology, the application of computer networks in people's lives and work has become more and more popular. The rationality of network resource allocation directly affects people's life and work efficiency. In addition, in some network systems, such as cloud computing systems, it is necessary to reasonably allocate resources to process specific computing tasks. If the resource allocation is unreasonable, it may lead to extremely low execution efficiency of computing tasks and may even affect the accuracy of the calculation results.
[0003] Currently, resource allocation is generally done manually based on experimental data or experience, which requires a high level of professionalism from the human workers, and the resource allocation strategy is relatively fixed. If it is found that the resource allocation is unreasonable, it will take a lot of time to conduct experiments and analysis, and then adjust the resource allocation strategy, which makes it difficult to achieve dynamic and real-time adjustment of the resource allocation strategy.
[0004] Therefore, it is urgent to propose a resource allocation solution with higher real-time performance and accuracy. Summary of the invention
[0005] In view of this, an embodiment of the present invention provides a resource allocation method. One or more embodiments of the present invention also provide a coupon allocation method, a resource allocation device, a coupon allocation device, a computing device, a computer-readable storage medium and a computer program product to solve the technical defects existing in the prior art.
[0006] According to a first aspect of an embodiment of the present invention, a resource allocation method is provided, including: For any one of the multiple resource allocation fields, collecting statistics on historical usage data and historical request data of resources for each object in the field; Performing data prediction based on the historical usage data to obtain predicted usage data of the objects for resources at the target time, and performing data prediction based on the historical request data to obtain predicted request data of the objects for resources at the target time; Determining resource allocation information based on the predicted usage data and the predicted request data with the goal that the number of objects using resources in the plurality of resource allocation fields is greater than a preset number; Based on the resource allocation information, target resources are allocated to target objects under the multiple resource allocation fields.
[0007] According to a second aspect of an embodiment of the present invention, a coupon distribution method is provided, which is applied to a server. The coupon distribution method includes: For any one of the multiple coupon allocation fields, collecting statistics on the historical usage data and historical request data of the coupons by each client in the field; Performing data prediction based on the historical usage data to obtain predicted usage data of the coupons by each client at the target time, and performing data prediction based on the historical request data to obtain predicted request data of the coupons by each client at the target time; Based on the predicted usage data and the predicted request data, with the number of clients using coupons in the multiple coupon distribution fields being greater than a preset number as a goal, determining coupon distribution information; Based on the coupon allocation information, target coupons are allocated to target clients under the plurality of coupon allocation fields.
[0008] According to a third aspect of an embodiment of the present invention, there is provided a resource allocation device, including: A first statistics module is configured to collect statistics on historical usage data and historical request data of resources for each object in any one of the multiple resource allocation fields; A first prediction module is configured to perform data prediction based on the historical usage data to obtain predicted usage data of each object for resources at a target time, and perform data prediction based on the historical request data to obtain predicted request data of each object for resources at the target time; A first determination module is configured to determine resource allocation information based on the predicted usage data and the predicted request data with the goal that the number of objects using resources in the multiple resource allocation fields is greater than a preset number; The first allocation module is configured to allocate target resources to target objects under the multiple resource allocation fields based on the resource allocation information.
[0009] According to a fourth aspect of an embodiment of the present invention, a coupon distribution device is provided, which is applied to a server, and the coupon distribution device includes: A second statistics module is configured to collect statistics on historical usage data and historical request data of coupons by each client in any one of the multiple coupon distribution fields; A second prediction module is configured to perform data prediction based on the historical usage data to obtain the predicted usage data of the coupons by each client at the target time, and perform data prediction based on the historical request data to obtain the predicted request data of the coupons by each client at the target time; A second determination module is configured to determine coupon allocation information based on the predicted usage data and the predicted request data with the number of clients using coupons in the multiple coupon allocation fields being greater than a preset number as a goal; The second allocation module is configured to allocate target coupons to target clients under the plurality of coupon allocation fields based on the coupon allocation information.
[0010] According to a fifth aspect of an embodiment of the present invention, there is provided a computing device, including: a memory and a processor; The memory is used to store computer programs / instructions, and the processor is used to execute computer programs / instructions. When the computer program / instructions are executed by the processor, the method provided by the first aspect or the second aspect is implemented.
[0011] According to a sixth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, which stores a computer program / instruction; when the computer program / instruction is executed by a processor, the method provided by the first aspect or the second aspect is implemented.
[0012] According to a seventh aspect of an embodiment of the present invention, there is provided a computer program product, comprising a computer program / instruction; when the computer program / instruction is executed by a processor, the method provided in the first aspect or the second aspect is implemented.
[0013] An embodiment of the present invention realizes the reasonable allocation of resources. Specifically, for any one of multiple resource allocation fields, historical usage data and historical request data of each object in the any one of the fields for resources are counted; data prediction is performed based on the historical usage data and historical request data to obtain predicted usage data and predicted request data of each object for resources at a target time; based on the predicted usage data and predicted request data, resource allocation information is determined with the goal that the number of objects using resources in multiple resource allocation fields is greater than a preset number; based on the resource allocation information, target resources are allocated to target objects in multiple resource allocation fields.
[0014] By collecting statistics on the historical usage data and historical request data of each object in each resource allocation field, and performing data prediction based on the statistical results, the predicted usage data and predicted request data of each object in each resource allocation field are predicted, and the prediction results of multiple resource allocation fields are combined to allocate resources with the goal of the number of objects using resources in multiple resource allocation fields being greater than the preset number. If the number of objects using resources in multiple resource allocation fields is greater than the preset number, it means that from the comprehensive perspective of multiple resource allocation fields, the objects have a high efficiency in using resources, and the resource allocation under this goal is more reasonable and accurate. This process does not require human participation, and the data statistics, data prediction, and resource allocation information determination process can all be automatically executed, with higher real-time performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 is a flow chart of a resource allocation method provided by an embodiment of the present invention; Figure 2 is an architecture diagram of a coupon distribution system provided by an embodiment of the present invention; Figure 3 is a flow chart of a coupon distribution method provided by an embodiment of the present invention; Figure 4 It is an overall architecture diagram of a coupon distribution method provided by an embodiment of the present invention; Figure 5 is a schematic diagram of the structure of a resource allocation device provided by an embodiment of the present invention; Figure 6 is a schematic structural diagram of a coupon distribution device provided by an embodiment of the present invention; Figure 7 It is a structural block diagram of a computing device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0016] Many specific details are described in the following description to facilitate a full understanding of the present invention. However, the present invention can be implemented in many other ways different from those described herein, and those skilled in the art can make similar generalizations without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.
[0017] The terms used in one or more embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of the present invention. The singular forms of "a", "said" and "the" used in one or more embodiments of the present invention are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in one or more embodiments of the present invention refers to and includes any or all possible combinations of one or more associated listed items.
[0018] It should be understood that, although the terms first, second, etc. may be used to describe various information in one or more embodiments of the present invention, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of the present invention, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0019] In addition, it should be noted that the data involved in one or more embodiments of the present invention are information and data authorized by the user or fully authorized by all parties, and the statistics, use and processing of the relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0020] First, the terms involved in one or more embodiments of the invention are explained.
[0021] Resources: refers to resources that can be allocated to users / clients to perform specified tasks. For example, they can be computing resources such as CPU (Central Processing Unit) and GPU (Graphics Processing Unit) required to perform computing tasks, or they can be coupons, discount coupons and other commodity discount resources required to perform commodity purchase tasks.
[0022] Field: From an analytical perspective, a field can be defined as a network of objective relationships between various locations; further, a field is a relatively independent space. For example, for cloud computing systems, executing a computing task corresponds to a field; for the e-commerce industry, the shopping space where users are located corresponds to a field (such as shopping carts, shopping malls, live broadcast rooms, etc.).
[0023] Object: refers to the hardware, software or individual that uses resources. It can be the resource user, task executor, computing instance, algorithm, service, etc.
[0024] Coupon: A marketing tool used to reduce the price of goods. Coupons come in many forms. With the development of the e-commerce industry, current coupons are basically issued in the form of electronic coupons to users' electronic accounts.
[0025] In an embodiment of the present invention, a resource allocation method is provided. The embodiment of the present invention also provides a coupon allocation method, a resource allocation device, a coupon allocation device, a computing device, a computer-readable storage medium and a computer program product, which will be described in detail one by one in the following embodiments.
[0026] See also Figure 1 , Figure 1 A flow chart of a resource allocation method provided according to an embodiment of the present invention is shown. The resource allocation method can be applied to a server end of resource allocation, such as a cloud server of a cloud computing system, an e-commerce server of an e-commerce system, etc. Any hardware device capable of implementing the resource allocation function can be used as the execution subject of the resource allocation method in the embodiment of the present invention, and no specific limitation is made here. The resource allocation method can specifically include the following steps.
[0027] Step 102: For any one of the multiple resource allocation contexts, historical usage data and historical request data for resources of each object in the context are collected.
[0028] Resource allocation field refers to the field related to resource allocation, that is, the space involved in resource allocation. For example, when allocating computing resources, the resource allocation field is divided into multiple computing task fields (such as image processing task field, speech processing task field, etc.) according to the different task types of computing tasks; for another example, in an e-commerce system, the resource allocation field is divided into multiple shopping fields (such as shopping carts, live broadcast rooms, shopping malls, etc.) according to the different shopping stages of users.
[0029] The historical usage data of an object for resources refers to the statistical results of the usage of different resources by an object at historical time, which can also be called an object portrait, and can include data such as which resources the object requested, whether the resources were used after being requested, how many resources were used, and how much related consumption was used. For example, in a cloud computing system, how many CPUs and GPUs were used for a certain image recognition task, and how much time was spent using the CPU and GPU to perform the image recognition task. The historical request data of an object for resources refers to the statistical results of the request situation of an object for different resources at historical time, which characterizes the traffic of an object for different resources. For example, in a cloud computing system, how many CPU and GPU application requests were initiated by clients with image recognition tasks. The historical time in the embodiment of the present invention can be a time point or a time period. The object makes a request for resources, but it does not necessarily use them. The request situation and usage situation of the object for resources at historical time will affect the resource allocation information of the future target time. In order to more accurately determine the resource allocation information of the target time, it is necessary to count the historical usage data and historical request data.
[0030] In actual business, resource allocation fields are complex and diverse. If resource allocation is performed only in a single resource allocation field, it cannot meet the needs of all business scenarios. In order to achieve more accurate resource allocation in all business scenarios, in an embodiment of the present invention, for each resource allocation field, historical usage data and historical request data for resources of each object in the field are counted. That is to say, when the embodiment of the present invention performs statistics on historical data, the historical usage data and historical request data are counted according to the multi-dimensional characteristics of field-object-resource, that is, statistics are performed for each resource allocation field, each object, and each resource. For example, in a certain business scenario, there are two resource allocation fields, field A and field B, and there are two types of objects, object a and object b. Resources are further divided into resource 1 and resource 2. The statistical results include: historical usage data and historical request data of object a under field A for resource 1, historical usage data and historical request data of object a under field A for resource 2, historical usage data and historical request data of object b under field A for resource 1, historical usage data and historical request data of object b under field A for resource 2, historical usage data and historical request data of object a under field B for resource 1, historical usage data and historical request data of object a under field B for resource 2, historical usage data and historical request data of object b under field B for resource 1, and historical usage data and historical request data of object b under field B for resource 2.
[0031] Step 104: Perform data prediction based on the historical usage data and historical request data of each object in any domain for resources, and obtain the predicted usage data and predicted request data of each object in the domain for resources at the target time.
[0032] After obtaining the historical usage data and historical request data of each object for resources under each resource allocation field, it is necessary to predict the usage data and request data of the object for resources at the target time, wherein the target time refers to a certain time point or time period in the future. Since the historical usage data and historical request data are the statistical results of the data of the historical time, usually a time series, a data prediction method based on a time series can be used to predict the predicted usage data and predicted request data of the object for resources at the target time. Of course, in addition to the data prediction method based on the time series, a data prediction method based on a neural network can also be used. The neural network has learned the law of data changes through pre-training. Therefore, based on the historical usage data and historical request data, the predicted usage data and predicted request data of the object for resources at the target time can be directly obtained end-to-end using the neural network. In an embodiment of the present invention, a data prediction method with relatively high accuracy can be used, and the specific data prediction method used is not limited here.
[0033] When performing data prediction, data prediction is performed based on the historical usage data of resources by each object under each resource allocation field, and the predicted usage data of resources by each object under each resource allocation field at the target time is obtained; data prediction is performed based on the historical request data of resources by each object under each resource allocation field, and the predicted request data for resources by each object under each resource allocation field at the target time is obtained.
[0034] The historical usage data and historical request data are obtained by statistics according to the multi-dimensional characteristics of field-object-resource. Therefore, when making data predictions, it is also necessary to make data predictions according to the multi-dimensional characteristics of field-object-resource. When making data predictions, the changes in the flow data of resource allocation fields and objects at different times can also be considered. The changes in flow data at different times will have a certain impact on the data prediction results. Therefore, making data predictions in combination with the changes in flow data can improve the robustness of data prediction. The specific implementation process of making data predictions in combination with the changes in flow data will be described in detail in the subsequent embodiments.
[0035] Step 106: Based on the predicted usage data and predicted request data for resources of each object in any field at the target time, and with the number of objects using resources in multiple resource allocation fields being greater than a preset number as a goal, determine resource allocation information.
[0036] After predicting the predicted usage data and predicted request data for resources at the target time for each object under each resource allocation field, the resource allocation information can be determined based on the prediction results. Specifically, when determining the resource allocation information, the object obtains the corresponding resources after requesting the resources, and fully uses the resources, that is, maximizing the proportion of resource usage as the optimization goal, and performs the optimization solution. In an embodiment of the present invention, considering the situation where the actual business scenario includes multiple resource allocation fields, it is necessary to determine the resource allocation information in combination with multiple resource allocation fields.
[0037] Considering multiple resource allocation fields, the optimization goal can be that the number of objects using resources in multiple resource allocation fields is greater than a preset number, wherein the number of objects using resources in multiple resource allocation fields refers to the joint statistics of multiple resource allocation fields, and the total number of objects that request and use resources under these resource allocation fields is counted. The larger the number, the greater the proportion of resource usage from the perspective of the entire business scenario, and the more reasonable the resource allocation information determined based on this. The preset number can be set manually based on experience, or it can be a threshold that can determine the maximum number of objects set based on actual business scenarios.
[0038] The resource allocation information is determined with the goal that the number of objects using resources in multiple resource allocation fields is greater than the preset number. Specifically, the optimization process can be performed with the number of objects using resources in multiple resource allocation fields being greater than the preset number as the optimization goal to determine the optimal resource allocation information. When performing the optimization process, an optimization function can be constructed based on the predicted usage data, predicted request data and resource allocation information of each object in any field at the target time for resources, and the optimization function is solved. When solving, the optimization goal is that the number of objects using resources in multiple resource allocation fields is greater than the preset number, and the final solution result is the resource allocation information. The resource allocation information here is also a resource allocation strategy, which is used to guide how to allocate resources so that the number of objects using resources in multiple resource allocation fields is greater than the preset number, including information such as which resource allocation field to allocate which type of resources to which type of object, and how much resources to allocate.
[0039] For example, in the resource allocation field t, the predicted usage data of object s for resource i is the usage probability , the predicted request data of object s for resources in resource allocation field t is the request volume ratio , the resource allocation information of object s to allocate resource i in resource allocation field t is the allocation ratio , the product of the three is the number of objects using resources in the resource allocation field. By accumulating the number of objects corresponding to each resource allocation field, we can construct the optimization function as shown in formula (1).
[0040] (1) Step 108: Allocate target resources to target objects under multiple resource allocation fields based on the resource allocation information.
[0041] After obtaining the resource allocation information through optimization, we know which resource allocation field, which type of object to allocate which type of resource, and how many resources to allocate. Then, we can perform resource allocation based on the resource allocation information, that is, allocate target resources to target objects under multiple resource allocation fields.
[0042] By applying the above embodiment, by collecting statistics on the historical usage data and historical request data of each object for resources under each resource allocation field, and performing data prediction based on the statistical results, the predicted usage data and predicted request data of each object for resources under each resource allocation field are predicted, and the prediction results of multiple resource allocation fields are combined, and the number of objects using resources in multiple resource allocation fields is greater than the preset number, and resource allocation is performed. The number of objects using resources in multiple resource allocation fields is greater than the preset number, which means that from the comprehensive perspective of multiple resource allocation fields, the objects have a higher efficiency in using resources, and the resource allocation under this goal is more reasonable and accurate, and this process does not require human participation, and the data statistics, data prediction and resource allocation information determination process can all be automatically executed, with higher real-time performance.
[0043] In the resource allocation method provided in the embodiment of the present invention, when the historical usage data and the historical request data are counted, in order to improve the accuracy and rationality of the statistical results, the statistics can be divided into time periods according to the preset time period. Specifically, in step 102, the historical usage data and the historical request data of each object for resources in any domain are counted, which can be implemented in the following way: According to the preset time period, historical usage data and historical request data of resources for each object in any domain in the historical time are counted.
[0044] Among them, the preset time period is generally a time period predetermined based on the law of data change. For example, in scenarios involving work tasks, historical usage data and historical request data are mainly concentrated on weekdays, while weekends are relatively less, and the data changes little each week, then the preset time period can be set to 7 days. For another example, in scenarios involving e-commerce tasks, historical usage data and historical request data are mainly concentrated on weekends, while weekdays are relatively less, and the data of each week may have certain changes, then the preset time period can also be set to 7 days, 14 days or 28 days, etc. Of course, the preset time period is not limited to the above examples, and can also be divided more finely according to needs, such as self-defining intra-day and daytime division time periods.
[0045] Different lengths of preset time periods may have different effects on the final data prediction. Therefore, in an embodiment of the present invention, the preset time period can be dynamically adjusted, that is, under different preset time periods, the historical usage data and historical request data of each object for resources in any field of historical time are counted respectively, and multiple sets of statistical results can be obtained. Historical time refers to a time point in the preset time period, such as a specific day, a certain moment, etc., then the historical usage data and historical request data of each object for resources in any field of historical time obtained by statistics can actually be a time series, that is, the historical usage data and historical request data of each object for resources in any field at each historical time point.
[0046] In one implementation of the embodiment of the present invention, the preset time period includes a first preset time period located before the target time and close to the target time, and a second preset time period located before the first preset time period and close to the first preset time period; the historical time may include a first historical time corresponding to the target time within the preset time period, and a second historical time other than the first historical time within the preset time period. Accordingly, in step 104, data prediction is performed based on the historical usage data of each object for resources in any field to obtain the predicted usage data of each object for resources at the target time, which can be specifically implemented in the following manner: For any object in any field, based on the historical usage data of the resource for the object at a first historical time within a first preset time period and the historical usage data of the resource for the object at a second historical time within a second preset time period, calculate a first prediction weight corresponding to the object; Based on the first prediction weight and the historical usage data of the any object for the resource at the second historical time within the first preset time period, the predicted usage data of the any object for the resource at the target time is determined.
[0047] Since the data distribution of historical usage data is different in different preset time periods and usually conforms to a certain linear change relationship, if the first historical time sampling period corresponding to the target time is small and the data fluctuation is large, the similar day data prediction method can be used to predict the predicted usage data of resources for each object at the target time.
[0048] Specifically, for any object in any field, based on the historical usage data of the resource for the object at the first historical time in the first preset time period and the historical usage data of the resource for the object at the second historical time in the second preset time period, the first prediction weight corresponding to the object is calculated. For example, if the target time is Saturday and the preset time period is 7 days, then the first preset time period is the 7 days before the target time, and the second preset time period is the 8-14 days before the target time. The historical usage data of Sunday to Friday week_x (the second historical time in the second preset time period, i.e., last Sunday to last Friday) in the previous 8-14 days and Saturday week_xa (the first historical time in the first preset time period, i.e., last Saturday) in the previous 7 days can be counted. Based on the historical usage data of week_x and the historical usage data of week_xa, the first prediction weight corresponding to the object can be calculated. The first prediction weight represents the linear change relationship between the historical usage data counted at the first historical time in the first preset time period and the historical usage data counted at the second historical time in the second preset time period. Specifically, the first prediction weight may be obtained by directly dividing the historical usage data counted at the first historical time within the first preset time period by the historical usage data counted at the second historical time within the second preset time period.
[0049] After obtaining the first prediction weight, that is, obtaining the linear change relationship between the historical usage data counted at the first historical time within the first preset time period and the historical usage data counted at the second historical time within the second preset time period, when predicting the predicted usage data for the target time, data prediction can be performed based on the first prediction weight and the historical usage data of the resource for any object at the second historical time within the first preset time period. In accordance with the above linear change relationship, the predicted usage data of the resource for any object at the target time determined is more accurate.
[0050] In one implementation of the embodiment of the present invention, the preset time period includes a first preset time period located before the target time and close to the target time, and a second preset time period located before the first preset time period and close to the first preset time period; the historical time may include a first historical time corresponding to the target time within the preset time period, and a second historical time other than the first historical time within the preset time period. Accordingly, in step 104, data prediction is performed based on the historical request data of each object for resources in any field to obtain the predicted request data of each object for resources at the target time, which can be specifically implemented in the following manner: For any object in any field, based on the historical request data of the any object for resources at a first historical time within a first preset time period and the historical request data of the any object for resources at a second historical time within a second preset time period, calculate a second prediction weight corresponding to the any object; Based on the second prediction weight and the historical request data of the any object for the resource at the second historical time within the first preset time period, the predicted request data of the any object for the resource at the target time is determined.
[0051] Since the data distribution of historical request data is different in different preset time periods and usually conforms to a certain linear change relationship, if the first historical time sampling period corresponding to the target time is small and the data fluctuation is large, the similar day data prediction method can be used to predict the request data for resources of each object at the target time.
[0052] Specifically, for any object in any field, based on the historical request data of the resource for the object at the first historical time in the first preset time period and the historical request data of the resource for the object at the second historical time in the second preset time period, the second prediction weight corresponding to the object is calculated. For example, if the target time is Sunday and the preset time period is 7 days, then the first preset time period is the 7 days before the target time, and the second preset time period is the 8-14 days before the target time, the historical request data of Monday to Saturday week_y (the second historical time in the second preset time period, i.e., last Monday to last Saturday) in the previous 8-14 days and Sunday week_ya (the first historical time in the first preset time period, i.e., last Sunday) in the previous 7 days can be counted, and based on the historical request data of week_y and the historical request data of week_ya, the second prediction weight corresponding to the object can be calculated, and the second prediction weight represents the linear change relationship between the historical request data counted at the first historical time in the first preset time period and the historical request data counted at the second historical time in the second preset time period. Specifically, the second prediction weight may be obtained by directly dividing the historical request data counted at the first historical time within the first preset time period by the historical request data counted at the second historical time within the second preset time period.
[0053] After obtaining the second prediction weight, that is, obtaining the linear change relationship between the historical request data counted at the first historical time within the first preset time period and the historical request data counted at the second historical time within the second preset time period, when predicting the request data for the target time, data prediction can be performed based on the second prediction weight and the historical request data for resources of any object at the second historical time within the first preset time period. In accordance with the above linear change relationship, the predicted request data for resources of any object at the target time is more accurate.
[0054] When the above embodiment is implemented, the preset time period can be adjusted, for example, set to 14 days, 28 days, etc., so that multiple groups of similar day prediction data can be obtained, and then the resource allocation information is determined based on the multiple groups of similar day prediction data, which can further improve the robustness of the resource allocation information.
[0055] In one implementation of the embodiment of the present invention, there are multiple preset time periods, and the lengths of the multiple preset time periods are different, for example, there are 7 days, 14 days, and 28 days. Accordingly, step 106 can be specifically implemented as follows: Determine the period weight corresponding to each preset time period; Data weighting is performed based on the period weight corresponding to each preset time period, the predicted usage data and the predicted request data corresponding to each preset time period, and resource allocation information is determined with the goal that the number of objects using resources in multiple resource allocation fields is greater than the preset number.
[0056] In an embodiment of the present invention, different cycle weights can be assigned to each preset time period according to different settings of the preset time period. Generally, the shorter the preset time period, the better the reference significance of the statistical historical usage data and historical request data. Therefore, a higher cycle weight can be assigned.
[0057] Under different preset time periods, historical usage data and historical request data are counted, and for each object under each resource allocation field, multiple groups of historical usage data and multiple groups of historical request data for resources can be obtained, and accordingly, multiple groups of predicted usage data and multiple groups of predicted request data can be obtained. Data weighting is performed based on the period weight corresponding to each preset time period, the predicted usage data and the predicted request data corresponding to each preset time period, and based on the weighted results, the resource allocation information is determined with the goal that the number of objects using resources in multiple resource allocation fields is greater than the preset number, thereby realizing data prediction and integration for multiple preset time periods, reducing the impact of changes in the preset time period on the resource allocation information, and making the determined resource allocation information more robust and accurate.
[0058] For example, in the resource allocation field t, the predicted usage data obtained by object s for resource i based on the preset time period k is the usage probability , the predicted request data obtained by object s for resources based on the preset time period k in the resource allocation field t is the request volume ratio , in the resource allocation field t, the resource allocation information obtained by allocating resources to object s based on the preset time period k is the allocation ratio , the period weight corresponding to the preset time period k is , then the optimization function can be constructed as shown in formula (2).
[0059] (2) The optimization function (2) is solved. When solving, the optimization goal is that the number of objects using resources in multiple resource allocation fields is greater than a preset number. The final solution result is the resource allocation information.
[0060] In an implementation of the embodiment of the present invention, the historical request data includes the historical request probability and the historical request amount, and the predicted request data includes the predicted request probability and the predicted request amount. Accordingly, after executing step 104, the resource allocation method provided by the embodiment of the present invention may further include the following steps: Determine the request probability coefficient based on the historical request probability and predicted request probability of each object for resources in any domain; Based on the request probability coefficient and the historical request amount of each object for the resource in any domain, the predicted request amount of each object for the resource in any domain is calibrated to determine the calibrated predicted request amount.
[0061] Different from the resource allocation scheme of a single domain, the embodiment of the present invention involves data preemption in different domains when multiple resource allocation domains jointly determine resource allocation information. In this data preemption situation, static prediction based on historical request data alone cannot effectively cope with the occurrence of data preemption. Therefore, the prediction request data needs to be calibrated and updated in real time.
[0062] In an embodiment of the present invention, the historical request data includes the historical request probability and the historical request amount. Correspondingly, the predicted request data includes the predicted request probability and the predicted request amount. The request probability represents the probability of the object initiating a request for a resource, or the probability of the object claiming a resource. Based on the historical request probability and the predicted request probability, the request probability coefficient representing the change rule of the object's request for the resource can be calculated. The larger the request probability coefficient is, the more likely it is that the object's request for the resource will change. Then, based on the request probability coefficient and the historical request amount of each object for the resource in any domain, the actual request amount change of each object for the resource in any domain can be deduced. The larger the request probability coefficient is, the greater the actual request amount change is. Based on this, the predicted request amount of each object for the resource in any domain can be calibrated to determine the calibrated predicted request amount. The specific calibration process can be to solve the optimal smoothing coefficient by minimizing the error of the historical request amount in the historical time, and calibrate the resource allocation information to quickly and stably reach a balanced state while ensuring robustness.
[0063] In an implementation of the embodiment of the present invention, before executing step 104, the resource allocation method provided by the embodiment of the present invention may further include the following steps: Collect statistics on the historical traffic data corresponding to any domain.
[0064] Accordingly, step 104 can be specifically implemented in the following manner: Based on the historical usage data of resources for each object in any field and the historical traffic data corresponding to the field, data prediction is performed to obtain the predicted usage data of resources for each object at the target time; Data prediction is performed based on the historical request data of each object for resources in any domain and the historical traffic data corresponding to the domain to obtain the predicted request data of each object for resources at the target time.
[0065] In actual business scenarios, resource allocation fields, objects, etc. will experience certain traffic changes. For example, the number of resource allocation fields will increase in certain time periods, and the number and distribution of objects under a certain resource allocation field will change. In order to cope with the impact of traffic changes, the embodiments of the present invention need to combine historical traffic data when predicting the predicted usage data and predicted request data for resources of each object at the target time. Specifically, after statistically obtaining the historical traffic data corresponding to any field, data prediction can be performed based on the historical usage data of resources for each object under any field and the historical traffic data corresponding to the any field, and the predicted usage data of resources for each object at the target time can be obtained; data prediction can be performed based on the historical request data of resources for each object under any field and the historical traffic data corresponding to the any field, and the predicted request data for resources for each object at the target time can be obtained. Specifically, when predicting the predicted usage data and predicted request data for resources of each object at the target time, the order of prediction is not limited. When predicting the usage data and request data of resources for each object at the target time, the historical traffic data corresponding to the field is combined, so that the predicted usage data and predicted request data can better consider the traffic changes, and the prediction results are more accurate and more robust.
[0066] Specifically, when performing data prediction on the predicted usage data and predicted request data for resources of each object in any domain at the target time in combination with historical traffic data, the traffic weight can be set according to the historical traffic data. The greater the traffic, the greater the probability that the resource will be allocated and used, and the greater the set traffic weight. Therefore, when the traffic weight is increased during data prediction, the calculated predicted usage data and predicted request data will be more in line with the actual business scenario.
[0067] In one implementation of the embodiment of the present invention, the predicted usage data includes resource usage rate and resource interaction attribute. Accordingly, step 106 can be specifically implemented in the following manner: Determine a resource allocation target based on resource usage and predicted request data of each object for resources in any field, and determine a resource interaction constraint based on resource interaction attributes of each object for resources in any field, wherein the resource allocation target is that the number of objects using resources in multiple resource allocation fields is greater than a preset number; Under resource interaction constraints, resource allocation information is determined based on resource allocation goals.
[0068] In an embodiment of the present invention, the predicted usage data may include resource utilization rate and resource interaction attributes, wherein the resource utilization rate refers to the probability of using resources after the object requests the resources, which can be calculated by dividing the predicted usage amount by the predicted request amount; the resource interaction attribute refers to the attribute information generated by the interaction of resources between the object and the server, for example, the time cost and financial cost consumed by the object when using the resources.
[0069] When solving resource allocation information by using the optimization processing method, the resource allocation target can be determined based on the resource utilization rate and the predicted request data, that is, the predicted usage of the object for the resource can be inferred based on the resource utilization rate and the predicted request data, and the predicted usage can further deduce the number of objects using the resource, that is, the resource allocation target can be that the number of objects using resources in multiple resource allocation fields is greater than the preset number. On this basis, it is also necessary to determine the resource interaction constraints based on the resource interaction attributes, that is, the resource interaction between the object and the server should meet certain interaction conditions, and it is necessary to control certain time costs, financial costs, etc. Under the resource interaction constraints, the resource allocation information determined based on the resource allocation target is more reasonable and accurate.
[0070] In an implementation of the embodiment of the present invention, the step of determining the resource interaction constraint based on the resource interaction attribute of each object for the resource in any domain can be specifically implemented as follows: Determine the interaction target information corresponding to the multiple resource allocation fields based on the resource utilization rate, predicted request data and resource interaction attributes of each object under each resource allocation field; The resource interaction constraints are determined by taking the interaction target information to achieve the preset resource interaction target as the constraint condition.
[0071] In the embodiment of the present invention, the resource interaction attribute involves the resource interaction between the object and the server, which is mainly related to the interaction cost such as time cost and capital cost. For each resource allocation field, the interaction target information corresponding to the resource allocation field can be determined based on the resource utilization rate, predicted request data and resource interaction attribute of each object under the resource allocation field. The specific interaction target information can be the product of resource utilization rate, predicted request data and resource interaction attribute. Then, the interaction target information corresponding to each resource allocation field is accumulated to obtain the interaction target information corresponding to multiple resource allocation fields. The interaction target information represents the total interaction data (also called total cost data) of the combined multiple resource allocation fields. The interaction target information reaches the preset resource interaction target as a constraint condition, indicating that the total interaction data can meet expectations, and then it is determined as a resource interaction constraint to ensure that the final resource allocation information makes the total interaction data meet expectations, which can better balance the resource utilization rate and the total interaction data, and improve the resource allocation effect.
[0072] When allocating resources, the sum of the proportions of the resources allocated to the same object in the same resource allocation field should be 1, that is, when solving the resource allocation information, in addition to the above resource interaction constraints, it is also necessary to set resource allocation constraints, which is that the sum of the proportions of the resources allocated to the same object in the same resource allocation field should be 1. When determining the resource allocation information, the resource allocation information is determined based on the resource allocation target under the dual constraints of resource interaction constraints and resource allocation constraints.
[0073] In an implementation of an embodiment of the present invention, before the execution of the step of determining a resource allocation target based on the resource utilization rate and predicted request data of each object for a resource in any domain, the resource allocation method provided by the embodiment of the present invention may include the following steps: Determine the allocation weights corresponding to resource interaction attributes; Accordingly, based on the resource utilization rate and predicted request data of each object for resources in any domain, the resource allocation target step is determined, which can be specifically implemented in the following ways: Determine resource allocation targets based on resource usage, predicted request data, and allocation weights for each object in any domain.
[0074] In actual business scenarios, when determining resource allocation information based on resource allocation targets under resource interaction constraints, the resource allocation information may fail to meet the resource interaction constraints. In this case, when determining the resource allocation target, the allocation weight (also called the defense coefficient) corresponding to the resource interaction attribute is introduced. The allocation weight is a constant. According to the actual business scenario setting, it serves as a supplementary value when solving the resource allocation information, and a suboptimal solution that is close to meeting the resource interaction constraints can be obtained.
[0075] As an application scenario of an embodiment of the present invention, the coupon distribution method provided by the embodiment of the present invention is described in detail below in combination with the application scenario of the e-commerce system. With the continuous development of the e-commerce industry, the e-commerce system continues to explore intelligent marketing strategies to promote healthy user growth. As an important part of user growth, coupon issuance is expected to obtain more business increments by screening the right time to provide differentiated coupon subsidies to different groups of people. The e-commerce system screens users and distributes coupons when they have the intention to trade, maximizes DAB (Daily Average Buyers) while minimizing the disturbance to users, and improves ROI (Return on Investment) while ensuring the scale of business.
[0076] In the early stages of business development, manual distribution experiments are often used to conduct preliminary strategy exploration and data accumulation. However, the amount of data accumulated during this period is relatively small, so it is necessary to focus on optimizing and improving the coupon distribution strategy to achieve more accurate coupon distribution. The existing coupon distribution scheme mainly distributes coupons in a specific period of time based on a single coupon distribution field, and obtains a coupon distribution strategy that meets the constraints of the field through operations research algorithms.
[0077] The above coupon distribution scheme focuses on a single coupon distribution field, ignoring the respective efficiency advantages of multiple fields in actual business scenarios, so that the obtained coupon distribution strategy is only the optimal distribution strategy for a single field, rather than the optimal distribution strategy for the entire business scenario; the above coupon distribution scheme does not give sufficient consideration to the stability of small data volume and high volatility data, resulting in poor robustness of coupon distribution information.
[0078] In order to solve the above problems, an embodiment of the present invention provides a coupon distribution method, which is applied to a server. Figure 2 , Figure 2 The schematic diagram of a coupon distribution system provided by an embodiment of the present invention is shown. The coupon distribution system may include a client 100 and a server 200; The client 100 is used to send historical usage data and historical request data for the coupon to the server 200; The server 200 is used to collect historical usage data and historical request data of coupons from each client in any one of the multiple coupon allocation fields; perform data prediction based on the historical usage data to obtain predicted usage data of coupons from each client at a target time, and perform data prediction based on the historical request data to obtain predicted request data of coupons from each client at a target time; determine coupon allocation information based on the predicted usage data and the predicted request data, with the number of clients using coupons in the multiple coupon allocation fields being greater than a preset number as a goal; and allocate target coupons to target clients 100 in the multiple coupon allocation fields based on the coupon allocation information.
[0079] The client 100 can be a browser, an APP (Application), or a web application such as an H5 (HyperText Markup Language 5, Hypertext Markup Language Version 5) application, or a light application (also known as a mini-program, a lightweight application) or a cloud application, etc. The client 100 can be based on the software development kit (SDK, Software Development Kit) of the corresponding service provided by the server 200, such as based on the real-time communication (RTC, Real Time Communication) SDK development and acquisition. The client 100 can be deployed in an electronic device and needs to rely on the device to run or some APPs in the device to run. For example, the electronic device can have a display screen and support information browsing, such as a personal mobile terminal such as a mobile phone, a tablet computer, a personal computer, etc. Various other types of applications can also be configured in the electronic device, such as human-computer dialogue applications, model training applications, text processing applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.
[0080] The server 200 may include a server that provides coupon distribution services. It should be noted that the server 200 may be implemented as a distributed server cluster consisting of multiple servers, or as a single server. The server may also be a server of a distributed system, or a server combined with a blockchain. The server may also be a cloud server for basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.
[0081] The scheme of the embodiment of the present invention is applied, by collecting statistics on the historical usage data and historical request data of coupons for each client in each coupon allocation field, and performing data prediction based on the statistical results, predicting the predicted usage data and predicted request data of coupons for each client in each coupon allocation field, combining the prediction results of multiple coupon allocation fields, and distributing coupons with the goal of the number of objects using coupons in multiple coupon allocation fields being greater than the preset number. The number of objects using coupons in multiple coupon allocation fields being greater than the preset number indicates that from the comprehensive perspective of multiple coupon allocation fields, the client's efficiency in using coupons is high, and the coupon allocation under this goal is more reasonable and more accurate, and this process does not require human participation, and the data statistics, data prediction, and determination of coupon allocation information can all be automatically executed, with higher real-time performance.
[0082] See also Figure 3 , Figure 3 A flow chart of a coupon distribution method provided by an embodiment of the present invention is shown, which specifically includes the following steps: Step 302: for any one of the multiple coupon allocation fields, statistics are collected on the historical usage data and historical request data of the coupons by each client in the field; Step 304, performing data prediction based on the historical usage data and historical request data of the coupons by each client in any domain, and obtaining the predicted usage data and predicted request data of the coupons by each client at the target time; Step 306, based on the predicted usage data and predicted request data for the coupons by each client in any field at the target time, with the number of clients using the coupons in multiple coupon distribution fields being greater than a preset number as a goal, determine the coupon distribution information; Step 308: Allocate target coupons to target clients under multiple coupon allocation fields based on the coupon allocation information.
[0083] The steps of the above coupon distribution method are as follows: Figure 1 The steps of the resource allocation method in the illustrated embodiment are the same or similar. For detailed implementation process, see Figure 1 The illustrated embodiments will not be described in detail here.
[0084] By applying the embodiment of the present invention, statistics are collected on the historical usage data and historical request data of coupons for each client in each coupon allocation field, and data prediction is performed based on the statistical results to predict the predicted usage data and predicted request data of coupons for each client in each coupon allocation field. The prediction results of multiple coupon allocation fields are combined, and coupons are allocated with the goal that the number of objects using coupons in multiple coupon allocation fields is greater than the preset number. The number of objects using coupons in multiple coupon allocation fields is greater than the preset number, indicating that from the comprehensive perspective of multiple coupon allocation fields, the client's efficiency in using coupons is high. Under this goal, coupon allocation is more reasonable and accurate, and this process does not require human participation. Data statistics, data prediction, and the determination process of coupon allocation information can all be automatically executed, with higher real-time performance. In addition, the overall performance of the coupon allocation system composed of the server and the client is improved, and the system runs more efficiently.
[0085] The coupon distribution method provided by the embodiment of the present invention mainly consists of two parts: information modeling of multiple coupon distribution fields and dynamic parameter update. Among them, the information modeling of multiple coupon distribution fields mainly consists of two functional units: a client portrait drawing unit and a traffic prediction unit. The optimal coupon distribution information is determined by statistics and predictions on the client's usage data for coupons and the client's request data for coupons; the dynamic parameter update acts on the coupon distribution unit, and dynamic and accurate coupon distribution information generation is achieved through parameter adjustment. The overall architecture of the coupon distribution method is as follows: Figure 4 shown.
[0086] Client portrait description unit: Use the multi-dimensional features of coupon distribution field-client-coupon to perform client portrait description in different time periods. The time periods here include historical working day periods, historical weekend periods, etc., obtain the historical usage data of coupons by clients such as purchase probability, DGMV (Daily Gross Merchandise Volume, total daily transaction amount), transaction cost, etc., combine the traffic changes in historical working day periods and historical weekend periods to predict similar day data, and generate predicted usage data such as predicted purchase probability, predicted DGMV, predicted transaction cost, etc. at the target time.
[0087] Traffic prediction unit: Use the multi-dimensional features of the coupon distribution field and the client to perform traffic prediction for different time periods, obtain the client's historical request data for coupons (specifically, the client's coupon collection ratio in the coupon distribution field), and combine the historical weekday and weekend traffic changes to estimate similar day data to generate a predicted coupon collection ratio for the target time.
[0088] Coupon allocation unit: Based on maximizing incremental DAB as the optimization goal, under the constraint of satisfying incremental ROI, DAB, DGMV, average order value, and cost constraints are simulated on historical data to formulate coupon allocation strategies. In view of the rapid iteration of strategies in the early stages of the business and the rapid expansion of coupon categories, this solution obtains client portraits (including purchase probability, DGMV, transaction costs) and request data (coupon collection ratio) in multiple time periods through historical usage data and historical request data, generates similar day forecast data, jointly decides on the global optimal coupon allocation strategy for all types of clients in all business scenarios, and dynamically updates parameters, which can quickly be compatible with the iteration of various business scenarios.
[0089] The optimization solution process of coupon allocation information is introduced in detail below.
[0090] : The proportion of coupon i allocated to client s in coupon allocation scenario t; : The purchase probability of client s after receiving coupon i in coupon distribution scenario t; : The transaction unit price (GMV) after client s receives coupon i in coupon distribution scenario t; : The transaction cost after client s receives coupon i in coupon distribution scenario t; : The proportion of client s receiving coupons in coupon distribution scenario t.
[0091] Boost coefficient: A manually set constant representing the desired incremental solution target. For example, if the DGMV coefficient is set to 0.2, the expected DGMV will increase by 0.2 times. : DGMV coefficient; : customer unit price coefficient; : Cost coefficient.
[0092] Defense coefficient: A constant set by humans. A larger / smaller value is set to represent the defense coefficient. If the solution expectation specified by the boost coefficient cannot be reached, the defense coefficient can serve as a supplementary value for the solution and obtain a suboptimal solution close to the solution expectation. : DGMV defense coefficient; : Cost defense coefficient.
[0093] Under the condition of satisfying the incremental ROI constraint, the optimization function is constructed with maximizing the incremental DAB as the optimization goal, as shown in formula (3).
[0094] (3) The incremental ROI constraint is controlled by the boost coefficients of DGMV, average order value, and cost, as shown in formulas (4) to (6).
[0095] (4) (5) (6) The comparison strategy refers to the target value. The front side of formula (4)-(6) represents the solution value, and the back side of formula (4)-(6), such as "comparison strategy DGMV", refers to the DGMV value of a coupon distribution strategy as a control group. Refers to the goal that is expected to be achieved, such as (1+0.2) comparison strategy DGMV means that the coupon allocation strategy that is expected to be solved is more than 1.2 times the comparison strategy DGMV.
[0096] In addition, there are coupon allocation constraints : .
[0097] In a static coupon distribution plan, static experimental parameters are confirmed by sampling data from a specific time period. The effectiveness of the coupon distribution strategy can be quickly verified in the early stages of the experiment. However, the effectiveness of the coupon distribution strategy is easily affected by the iterations of other online coupon distribution strategies, search and push strategies, infrastructure configuration, etc., and the effect of the coupon distribution strategy is prone to fluctuations as time periods change.
[0098] In the embodiment of the present invention, a multi-period data update method is adopted to obtain multi-dimensional feature data of coupon distribution field-client-coupon in multiple time periods, further divide them into multiple time periods such as weekdays, connecting days, weekends, etc., and coordinate traffic adaptive adjustment, multi-period prediction, similar day prediction and other technologies to realize data update in multiple coupon distribution fields in all business scenarios. The globally optimal coupon distribution strategy is quickly compatible with the iteration of various businesses.
[0099] About traffic adaptive adjustment: Different from the prediction method of coupon distribution strategy in a single field, coupon distribution in multiple fields involves data grabbing in different fields. Uncontrollable factors such as external search and push, infrastructure, etc. will further amplify the uncertainty of data changes in multiple fields. In this case of rushing, it is difficult to accurately fit the data of all business scenarios by relying solely on static analysis of historical data.
[0100] In the embodiment of the present invention, when distributing coupons, the client's probability of receiving coupons is potentially stratified under the multi-dimensional characteristics of coupon distribution field-client-coupon, the changing trend of the proportion of coupons received by various clients is predicted, and the proportion of coupons received (i.e., request data) is non-deterministically calibrated. Affected by the purchase lag caused by the coupon validity period, the embodiment of the present invention uses a smoothing coefficient To alleviate the volatility of the percentage of coupons received in adjacent time periods, combined with the probability coefficient of receipt and external flow coefficient The impact is predicted, and the optimal smoothing coefficient is solved by minimizing the error based on multi-period historical data. Multi-period calibration is performed while ensuring robustness to enable the strategy to quickly and stably reach a balanced state.
[0101] in, is the multi-period smoothing coefficient; is the probability of client s receiving coupon i in coupon distribution field t, and is the predicted value; is the probability of client s receiving coupon i in the coupon allocation field t in the previous period, which is a historical value; and They refer to the collection rate of coupons in coupon distribution field t in two adjacent time periods, respectively, and are used to calculate the relationship between the changes in the collection rate at the field level; is the proportion of client s receiving coupons in the coupon distribution field t in the previous period, which is a historical value. The formula for traffic adaptive calibration is: .
[0102] About multi-period forecasting: According to different settings of the preset time period, different cycle weights can be assigned to each preset time period. Generally, the shorter the preset time period, the better the reference significance of the statistical historical data. Therefore, a higher cycle weight can be assigned. For example, in the coupon distribution field t, the purchase probability obtained by client s for coupon i based on the preset time period k is In the coupon distribution field t, the coupon claim ratio obtained by client s for the coupon based on the preset time period k is , the ratio of client s to distribute coupon i based on the preset time period k in the coupon distribution field t is , the period weight corresponding to the preset time period k is , then the optimization objective can be adjusted to: .
[0103] About similar day predictions: Since the client traffic distribution on weekdays and weekends is different and usually conforms to a certain linear change relationship, similar day data predictions are made for Friday, Saturday, and Sunday, which have fewer sampling periods and greater fluctuations, and combined with multi-period data predictions, the prediction results have high robustness.
[0104] : working days in the last x days (e.g. 7 days); : working day in the last y days (e.g. within 8-14 days); : A specific weekend day a in the past x days (i.e., the weekend of last week). Then the following forecast data can be obtained, as shown in formula (7): (7) in, is the prediction result for the current weekend, item is Any of the following.
[0105] The embodiment of the present invention proposes a joint solution for multiple coupon allocation fields, which can construct the optimal coupon allocation information based on a global perspective, avoid the loss of benefits caused by the local perspective of a single field, and at the same time reduce the dependence on data magnitude and data stability to a certain extent through traffic adaptive adjustment, multi-period prediction and similar day prediction. The embodiment of the present invention can be effectively applied in various fields using additional coupons, and promote the refined solution of complex fields by virtue of its robustness.
[0106] Corresponding to the above resource allocation method embodiment, the present invention also provides a resource allocation device embodiment, Figure 5 FIG. 1 is a schematic diagram showing the structure of a resource allocation device provided by an embodiment of the present invention. Figure 5 As shown, the device comprises: The first statistics module 520 is configured to collect statistics on historical usage data and historical request data of resources for each object in any one of the multiple resource allocation domains; The first prediction module 540 is configured to perform data prediction based on the historical usage data and historical request data of each object in any domain for the resource, and obtain the predicted usage data and predicted request data of each object in the domain for the resource at the target time; The first determination module 560 is configured to determine resource allocation information based on the predicted usage data and predicted request data for resources of each object in any field at a target time, with the number of objects using resources in multiple resource allocation fields being greater than a preset number as a target; The first allocation module 580 is configured to allocate target resources to target objects under multiple resource allocation fields based on the resource allocation information.
[0107] Optionally, the first statistics module 520 may be specifically configured to collect statistics on historical usage data and historical request data of resources by each object in any domain at a historical time according to a preset time period.
[0108] Optionally, the preset time period includes a first preset time period located before the target time and close to the target time, and a second preset time period located before the first preset time period and close to the first preset time period; the historical time may include a first historical time corresponding to the target time within the preset time period, and a second historical time other than the first historical time within the preset time period; Accordingly, the first prediction module 540 can be specifically configured to calculate, for any object in any field, a first prediction weight corresponding to any object based on historical usage data of the resource by any object at a first historical time within a first preset time period and historical usage data of the resource by any object at a second historical time within a second preset time period; and determine the predicted usage data of the resource by any object at the target time based on the first prediction weight and the historical usage data of the resource by any object at the second historical time within the first preset time period.
[0109] Optionally, the preset time period includes a first preset time period located before the target time and close to the target time, and a second preset time period located before the first preset time period and close to the first preset time period; the historical time may include a first historical time corresponding to the target time within the preset time period, and a second historical time other than the first historical time within the preset time period; Accordingly, the first prediction module 540 can be specifically configured to calculate, for any object in any field, a second prediction weight corresponding to any object based on the historical request data of any object for resources at a first historical time within a first preset time period and the historical request data of any object for resources at a second historical time within a second preset time period; and determine the predicted request data of any object for resources at the target time based on the second prediction weight and the historical request data of any object for resources at the second historical time within the first preset time period.
[0110] Optionally, there are multiple preset time periods; accordingly, the first determination module 560 can be specifically configured to determine the period weight corresponding to each preset time period; perform data weighting based on the period weight corresponding to each preset time period, the predicted usage data and the predicted request data corresponding to each preset time period, and determine the resource allocation information with the goal of the number of objects using resources in multiple resource allocation fields being greater than the preset number.
[0111] Optionally, the historical request data includes historical request probabilities and historical request amounts, and the predicted request data includes predicted request probabilities and predicted request amounts; accordingly, the resource allocation device may further include: The calibration module is configured to determine a request probability coefficient based on the historical request probability and predicted request probability of each object for resources in any field; based on the request probability coefficient and the historical request amount of each object for resources in any field, calibrate the predicted request amount of each object for resources in any field, and determine the calibrated predicted request amount.
[0112] Optionally, the first statistics module 520 may also be configured to collect statistics of historical traffic data corresponding to any field; Correspondingly, the first prediction module 540 can be specifically configured to perform data prediction based on the historical usage data of resources by each object in any domain and the historical traffic data corresponding to the any domain, so as to obtain the predicted usage data of the resources by each object at the target time; perform data prediction based on the historical request data of resources by each object in any domain and the historical traffic data corresponding to the any domain, so as to obtain the predicted request data of the resources by each object at the target time.
[0113] Optionally, the predicted usage data includes resource usage and resource interaction attributes; Accordingly, the first determination module 560 can be specifically configured to determine the resource allocation target based on the resource utilization rate and predicted request data of each object for resources in any field, and determine the resource interaction constraint based on the resource interaction properties of each object for resources in any field, wherein the resource allocation target is that the number of objects using resources in multiple resource allocation fields is greater than a preset number; under the resource interaction constraint, the resource allocation information is determined based on the resource allocation target.
[0114] Optionally, the first determination module 560 can be specifically configured to determine the interaction target information corresponding to multiple resource allocation fields based on the resource utilization rate, predicted request data and resource interaction attributes of each object under each resource allocation field; and determine the resource interaction constraint with the interaction target information achieving the preset resource interaction target as a constraint condition.
[0115] Optionally, the first determination module 560 may be specifically configured to determine an allocation weight corresponding to a resource interaction attribute; and determine a resource allocation target based on resource usage, predicted request data and allocation weight of each object for resources in any domain.
[0116] By applying the embodiment of the present invention, the historical usage data and historical request data of each object for resources in each resource allocation field are counted, and data prediction is performed based on the statistical results to predict the predicted usage data and predicted request data of each object for resources in each resource allocation field. The prediction results of multiple resource allocation fields are combined, and resources are allocated with the goal that the number of objects using resources in multiple resource allocation fields is greater than the preset number. The number of objects using resources in multiple resource allocation fields is greater than the preset number, which indicates that from the comprehensive perspective of multiple resource allocation fields, the objects have a higher efficiency in using resources, and the resource allocation under this goal is more reasonable and accurate. Moreover, this process does not require human participation, and the data statistics, data prediction and resource allocation information determination process can all be automatically executed, with higher real-time performance.
[0117] The above is a schematic scheme of a resource allocation device of this embodiment. It should be noted that the technical scheme of the resource allocation device and the technical scheme of the resource allocation method described above are of the same concept, and the details not described in detail in the technical scheme of the resource allocation device can be found in the description of the technical scheme of the resource allocation method described above.
[0118] Corresponding to the above-mentioned coupon distribution method embodiment, the present invention also provides a coupon distribution device embodiment, Figure 6 FIG. 1 is a schematic diagram showing the structure of a coupon distribution device provided by an embodiment of the present invention. Figure 6 As shown, the device is applied to the server, including: The second statistics module 620 is configured to collect statistics on historical usage data and historical request data of coupons by each client in any one of the multiple coupon distribution fields; The second prediction module 640 is configured to perform data prediction based on the historical usage data and historical request data of each client for the coupon in any domain, and obtain the predicted usage data and predicted request data of each client for the coupon at the target time; The second determination module 660 is configured to determine the coupon allocation information based on the predicted usage data and predicted request data of the coupons by each client in any field at the target time, with the number of clients using the coupons in multiple coupon allocation fields being greater than a preset number as a target; The second allocation module 680 is configured to allocate target coupons to target clients under multiple coupon allocation fields based on the coupon allocation information.
[0119] By applying the embodiment of the present invention, statistics are collected on the historical usage data and historical request data of coupons by each client in each coupon allocation field, and data prediction is performed based on the statistical results to predict the predicted usage data and predicted request data of coupons by each client in each coupon allocation field. The prediction results of multiple coupon allocation fields are combined, and coupons are allocated with the goal that the number of objects using coupons in multiple coupon allocation fields is greater than the preset number. The number of objects using coupons in multiple coupon allocation fields is greater than the preset number, indicating that from the comprehensive perspective of multiple coupon allocation fields, the client's efficiency in using coupons is high, and the coupon allocation under this goal is more reasonable and accurate, and this process does not require human participation, and the data statistics, data prediction and coupon allocation information determination process can all be automatically executed, with higher real-time performance.
[0120] The above is a schematic scheme of a coupon distribution device of this embodiment. It should be noted that the technical scheme of the coupon distribution device and the technical scheme of the above coupon distribution method belong to the same concept, and the details not described in detail in the technical scheme of the coupon distribution device can be referred to the description of the technical scheme of the above coupon distribution method.
[0121] Figure 7 The block diagram of a computing device 700 according to an embodiment of the present invention 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 the database 750 is used to store data.
[0122] The computing device 700 also includes an access device 740 that enables the computing device 700 to communicate via one or more networks 760. Examples of these networks include PSTN (Public Switched Telephone Network), LAN (Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), or a combination of communication networks such as the Internet. The access device 740 may include one or more of any type of network interface (e.g., NIC (Network Interface Controller)) wired or wireless, such as IEEE802.11 WLAN (Wireless Local Area Network) wireless interface, Wi-MAX (Worldwide Interoperability for Microwave Access) interface, Ethernet interface, USB (Universal Serial Bus) interface, cellular network interface, Bluetooth interface, NFC (Near Field Communication).
[0123] In one embodiment of the present invention, the above components of the computing device 700 and Figure 7 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Figure 7 The computing device structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of the present invention. Those skilled in the art may add or replace other components as needed.
[0124] The computing device 700 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smart phone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or a PC (Personal Computer). The computing device 700 may also be a mobile or stationary server.
[0125] The processor 720 is used to execute a computer program / instruction, which implements the resource allocation method or coupon allocation method when executed by the processor.
[0126] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the resource allocation method and the coupon allocation method mentioned above are of the same concept, and the details not described in detail in the technical scheme of the computing device can be referred to the description of the technical scheme of the resource allocation method and the coupon allocation method mentioned above.
[0127] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program / instruction, which implements the above-mentioned resource allocation method or coupon allocation method when executed by a processor.
[0128] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the computer-readable storage medium and the technical scheme of the resource allocation method and the coupon allocation method mentioned above belong to the same concept, and the details not described in detail in the technical scheme of the computer-readable storage medium can be referred to the description of the technical scheme of the resource allocation method and the coupon allocation method mentioned above.
[0129] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the above-mentioned resource allocation method or coupon allocation method when executed by a booster.
[0130] The above is a schematic scheme of a computer program product of this embodiment. It should be noted that the technical scheme of the computer program product and the technical scheme of the resource allocation method and the coupon allocation method mentioned above are of the same concept. For details not described in detail in the technical scheme of the computer program product, please refer to the description of the technical scheme of the resource allocation method or the coupon allocation method mentioned above.
[0131] The above describes specific embodiments of the present invention. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0132] The computer program / instruction includes computer program code, which may be in source code form, object code form, executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, ROM (Read-Only Memory), RAM (Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer readable storage medium may be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, computer readable storage medium does not include electric carrier signal and telecommunication signal.
[0133] It should be noted that, for the convenience of description, the aforementioned method embodiments are all described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the described action sequence, because according to the embodiments of the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the embodiments of the present invention.
[0134] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0135] The preferred embodiments of the present invention disclosed above are only used to help explain the present invention. The optional embodiments do not describe all the details in detail, nor do they limit the invention to the specific implementation methods described. Obviously, many modifications and changes can be made according to the content of the embodiments of the present invention. The present invention selects and specifically describes these embodiments in order to better explain the principles and practical applications of the embodiments of the present invention, so that those skilled in the art can understand and use the present invention well. The present invention is limited only by the claims and their full scope and equivalents.
Claims
1. A resource allocation method, characterized in that: include: For any one of the multiple resource allocation fields, collecting statistics on historical usage data and historical request data of resources for each object in the field; Performing data prediction based on the historical usage data to obtain predicted usage data of the objects for resources at the target time, and performing data prediction based on the historical request data to obtain predicted request data of the objects for resources at the target time; Determining resource allocation information based on the predicted usage data and the predicted request data with the goal that the number of objects using resources in the plurality of resource allocation fields is greater than a preset number; Based on the resource allocation information, target resources are allocated to target objects under the multiple resource allocation fields.
2. The method according to claim 1, characterized in that The statistics of historical usage data and historical request data of resources for each object in any domain include: According to a preset time period, historical usage data and historical request data of each object for resources in any field in the historical time are counted.
3. The method according to claim 2, characterized in that The preset time period includes a first preset time period located before the target time and close to the target time, and a second preset time period located before the first preset time period and close to the first preset time period; the historical time includes a first historical time corresponding to the target time within the preset time period, and a second historical time within the preset time period except the first historical time; The performing data prediction based on the historical usage data to obtain the predicted usage data of the resources for each object at the target time includes: For any object in any of the fields, based on the historical usage data of the resource by the any object at the first historical time within the first preset time period and the historical usage data of the resource by the any object at the second historical time within the second preset time period, calculate a first prediction weight corresponding to the any object; Based on the first prediction weight and the historical usage data of the resource by the any object at the second historical time within the first preset time period, the predicted usage data of the resource by the any object at the target time is determined.
4. The method according to claim 2, characterized in that: The preset time period includes a first preset time period located before the target time and close to the target time, and a second preset time period located before the first preset time period and close to the first preset time period; the historical time includes a first historical time corresponding to the target time within the preset time period, and a second historical time within the preset time period except the first historical time; The performing data prediction based on the historical request data to obtain the predicted request data of each object for resources at the target time includes: For any object in any of the fields, based on the historical request data of the any object for resources at the first historical time within the first preset time period and the historical request data of the any object for resources at the second historical time within the second preset time period, calculate a second prediction weight corresponding to the any object; Based on the second prediction weight and the historical request data of the any object for the resource at the second historical time within the first preset time period, the predicted request data of the any object for the resource at the target time is determined.
5. The method according to claim 2, characterized in that: The preset time period is multiple; The determining of resource allocation information based on the predicted usage data and the predicted request data with the number of objects using resources in the plurality of resource allocation fields being greater than a preset number as a goal includes: Determine the period weight corresponding to each preset time period; Data weighting is performed based on the period weights corresponding to the preset time periods, the predicted usage data and the predicted request data corresponding to the preset time periods, and resource allocation information is determined with the goal that the number of objects using resources in the multiple resource allocation fields is greater than the preset number.
6. The method according to claim 1, characterized in that The historical request data includes historical request probability and historical request amount, and the predicted request data includes predicted request probability and predicted request amount; After performing data prediction based on the historical request data to obtain the predicted request data of each object for resources at the target time, the method further includes: Determining a request probability coefficient based on the historical request probability and the predicted request probability; Based on the request probability coefficient and the historical request amount, the predicted request amount is calibrated to determine the calibrated predicted request amount.
7. The method according to any one of claims 1 to 6, characterized in that: Before performing data prediction based on the historical usage data to obtain the predicted usage data of each object for resources at the target time, and performing data prediction based on the historical request data to obtain the predicted request data of each object for resources at the target time, the method further includes: Collecting historical traffic data corresponding to any of the fields; The performing data prediction based on the historical usage data to obtain the predicted usage data of the resources for each object at the target time includes: Performing data prediction based on historical usage data of resources by each object in any one of the fields and historical traffic data corresponding to any one of the fields, to obtain predicted usage data of resources by each object at a target time; The performing data prediction based on the historical request data to obtain the predicted request data of each object for resources at the target time includes: Data prediction is performed based on historical request data of each object for resources in any one of the fields and historical traffic data corresponding to any one of the fields to obtain predicted request data of each object for resources at a target time.
8. The method according to any one of claims 1 to 6, characterized in that: The predicted usage data includes resource usage rate and resource interaction attributes; The determining of resource allocation information based on the predicted usage data and the predicted request data with the number of objects using resources in the plurality of resource allocation fields being greater than a preset number as a goal includes: Determine a resource allocation target based on the resource usage rate and the predicted request data, and determine a resource interaction constraint based on the resource interaction attribute, wherein the resource allocation target is that the number of objects using resources in the multiple resource allocation fields is greater than a preset number; Under the resource interaction constraint, resource allocation information is determined based on the resource allocation target.
9. The method according to claim 8, characterized in that The determining of resource interaction constraints based on the resource interaction attributes includes: Determining interaction target information corresponding to the plurality of resource allocation fields based on the resource usage rate, the prediction request data and the resource interaction attribute; The resource interaction constraint is determined by taking the interaction target information reaching a preset resource interaction target as a constraint condition.
10. The method according to claim 8, characterized in that Before determining the resource allocation target based on the resource usage rate and the predicted request data, the method further includes: Determining allocation weights corresponding to the resource interaction attributes; The determining of a resource allocation target based on the resource usage rate and the predicted request data comprises: A resource allocation target is determined based on the resource usage rate, the predicted request data and the allocation weight.
11. A coupon distribution method, characterized in that: Applied to the server, the method includes: For any one of the multiple coupon allocation fields, collecting statistics on the historical usage data and historical request data of the coupons by each client in the field; Performing data prediction based on the historical usage data to obtain predicted usage data of the coupons by each client at the target time, and performing data prediction based on the historical request data to obtain predicted request data of the coupons by each client at the target time; Based on the predicted usage data and the predicted request data, with the number of clients using coupons in the multiple coupon distribution fields being greater than a preset number as a goal, determining coupon distribution information; Based on the coupon allocation information, target coupons are allocated to target clients under the plurality of coupon allocation fields.
12. A resource allocation device, characterized in that: include: A first statistics module is configured to collect statistics on historical usage data and historical request data of resources for each object in any one of the multiple resource allocation fields; A first prediction module is configured to perform data prediction based on the historical usage data to obtain predicted usage data of each object for resources at a target time, and perform data prediction based on the historical request data to obtain predicted request data of each object for resources at the target time; A first determination module is configured to determine resource allocation information based on the predicted usage data and the predicted request data with the goal that the number of objects using resources in the multiple resource allocation fields is greater than a preset number; The first allocation module is configured to allocate target resources to target objects under the multiple resource allocation fields based on the resource allocation information.
13. A coupon dispensing device, characterized in that: Applied to the server, the device comprises: A second statistics module is configured to collect statistics on historical usage data and historical request data of coupons by each client in any one of the multiple coupon distribution fields; A second prediction module is configured to perform data prediction based on the historical usage data to obtain the predicted usage data of the coupons by each client at the target time, and perform data prediction based on the historical request data to obtain the predicted request data of the coupons by each client at the target time; A second determination module is configured to determine coupon allocation information based on the predicted usage data and the predicted request data with the number of clients using coupons in the multiple coupon allocation fields being greater than a preset number as a goal; The second allocation module is configured to allocate target coupons to target clients under the plurality of coupon allocation fields based on the coupon allocation information.
14. A computing device, characterized in that include: Memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer programs / instructions are executed by the processor, the method according to any one of claims 1 to 11 is implemented.
15. A computer-readable storage medium, characterized in that: A computer program / instruction is stored; when the computer program / instruction is executed by a processor, the method according to any one of claims 1 to 11 is implemented.
16. A computer program product, characterized in that The method comprises a computer program / instruction; when the computer program / instruction is executed by a processor, the method according to any one of claims 1 to 11 is implemented.
Citation Information
Cited By
Realization method of futures transaction gateway
CN121441682A
