Resource allocation method, device, equipment, medium and product

By combining recursive binary search and distributed systems, and utilizing multiple computing nodes to solve resource lending schemes in parallel, the problem of low efficiency in multi-institution resource lending schemes is solved, and efficient resource allocation is achieved.

CN121523912APending Publication Date: 2026-02-13ICBC CREDIT SUISSE ASSET MANAGEMENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511854248.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-10
Publication Date
2026-02-13

AI Technical Summary

Technical Problem

In existing technologies, determining resource lending schemes through multiple lending and borrowing institutions is inefficient, especially as the number of institutions increases, making manual determination of resource lending schemes even less efficient.

Method used

By employing a recursive binary search method and a distributed system, the set of lending institutions is split into virtual lending institutions. Multiple computing nodes are used to solve resource lending schemes in parallel. Combined with linear programming and preset constraints, the resource allocation process is optimized.

Benefits of technology

It improves the efficiency of determining resource lending schemes, reduces the amount of computation and difficulty, and achieves more efficient resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121523912A_ABST
    Figure CN121523912A_ABST
Patent Text Reader

Abstract

The invention provides a resource allocation method and device, equipment, a medium and a product, which can be applied to the distributed technical field and the financial science and technology field. The method is applied to a control node. The control node is used for controlling a plurality of computing nodes; the method comprises the following steps: determining a lending institution set and a borrowing institution set; any one lending mechanism is used for lending resources to one or more borrowing mechanisms; determining the lending institution set as a first institution set, determining the borrowing institution set as a second institution set, executing a preset allocation step for the current first institution set and the current second institution set, and determining a resource lending scheme of each lending institution; the resource lending scheme comprises one or more target lending institutions serving as resource lending targets and resource quantities lended for the target lending institutions.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of distributed technology and the technical field of financial technology, in particular to a resource allocation method, device, equipment, medium and product. BACKGROUND

[0002] Currently, for a plurality of resource lending institutions and a plurality of resource borrowing institutions, a resource lending scheme needs to be determined manually. For example, a certain borrowing institution needs to borrow resources from one or more lending institutions, a certain lending institution needs to lend resources to one or more borrowing institutions, and the specific resource allocation also needs to be determined manually.

[0003] With the increase of the number of institutions, the efficiency of manually determining the resource lending scheme is low. SUMMARY

[0004] In view of the above problems, the present application provides a resource allocation method, device, equipment, medium and product for improving the efficiency of determining the resource lending scheme.

[0005] According to a first aspect of the present application, a resource allocation method is provided, applied to a control node; the control node is used to control a plurality of computing nodes; the method comprises: determining a lending institution set and a borrowing institution set; any lending institution is used to lend resources to one or more borrowing institutions; the lending institution set is determined as a first institution set, the borrowing institution set is determined as a second institution set, a preset allocation step is performed for the current first institution set and the current second institution set, and a resource lending scheme of each lending institution is determined; the resource lending scheme includes one or more target borrowing institutions as resource lending targets, and the resource amount lent to each target borrowing institution; the preset allocation step comprises: splitting the current first institution set into two lending institution subsets; determining a target computing node from the plurality of computing nodes, and calling the target computing node to determine the resource lending scheme of the two lending institution subsets based on the current second institution set, and the determined two resource lending schemes meet a preset constraint condition; for any lending institution subset, in the case that the number of lending institutions in the lending institution subset is greater than 1, the lending institution subset is determined as the current first institution set, the target borrowing institution in the resource lending scheme of the lending institution subset is determined as the current second institution set, and the preset allocation step is performed for the current first institution set and the current second institution set; for any lending institution subset, in the case that the number of lending institutions in the lending institution subset is equal to 1, the resource lending scheme of the lending institution subset is determined as the resource lending scheme of the single lending institution in the lending institution subset.

[0006] Optionally, splitting the current first set of institutions into two subsets of lending institutions includes: if the number of lending institutions in the current first set of institutions is greater than a first quantity threshold, splitting the current first set of institutions into two subsets of lending institutions, wherein the number of lending institutions in each subset of lending institutions is greater than 1; if the number of lending institutions in the current first set of institutions is less than or equal to the first quantity threshold, splitting the current first set of institutions into: a subset of lending institutions containing 1 lending institution, and a subset of lending institutions containing the other lending institutions in the current first set of institutions.

[0007] Optionally, splitting the current first set of institutions into a subset of lending institutions containing one lending institution and a subset of lending institutions containing other lending institutions in the current first set of institutions includes: determining the lowest priority lending institution among the lending institutions in the current first set of institutions; the priority is positively correlated with the amount of resources of the lending institution; and splitting the current first set of institutions into a subset of lending institutions containing the specified lending institution and a subset of lending institutions containing other lending institutions in the current first set of institutions.

[0008] Optionally, the preset constraints include at least one of the following: the number of lending institutions borrowing resources from each borrowing institution is less than a preset threshold for the number of lending institutions; the total amount of resources of each lending institution in each subset of lending institutions is equal to the total amount of resources lent to each target borrowing institution in the corresponding resource lending scheme; in the two determined resource lending schemes, the total amount of resources lent to each borrowing institution is equal to the amount of resources lent to the target borrowing institution in the current resource lending scheme of the first institution set; the amount of resources lent to any borrowing institution by each lending institution or each subset of lending institutions is greater than a preset lower limit threshold for the amount of resources; for each subset of lending institutions, in the corresponding resource lending scheme, the proportion of the total resource interest of each target borrowing institution in the total amount of resources of each lending institution in the target lending institution subset is within a preset proportion range.

[0009] Optionally, the step of calling the target computing node to determine the resource lending scheme of the two lending institution subsets based on the current second institution set includes: determining the upper limit of the processing time of the target computing node for the target task; the target task includes: determining the resource lending scheme of the two lending institution subsets based on the current second institution set; calling the target computing node to execute the target task; if the target computing node determines the optimal solution of the target task within the determined upper limit of processing time, determining the resource lending scheme of the two lending institution subsets and adding the remaining time to the reserve time; if the determined upper limit of processing time ends and the target computing node has not determined a feasible solution to the target task, calling the target computing node to continue executing the target task based on the reserve time.

[0010] Optionally, the step of calling the target computing node to determine the resource lending scheme of the two lending institution subsets based on the current second institution set includes: calling the target computing node to add the preset borrowing institution in the current second institution set to the resource lending scheme of any lending institution subset, and then determining the resource lending scheme of the two lending institution subsets based on other borrowing institutions other than the preset borrowing institution in the current second institution set.

[0011] Optionally, determining the target computing node from the plurality of computing nodes includes at least one of the following: determining any computing node among the plurality of computing nodes whose load is less than a preset load threshold as the target computing node; determining any computing node among the plurality of computing nodes that is not currently being used to determine a resource lending scheme as the target computing node.

[0012] The second aspect of this application provides another resource allocation method, comprising: determining a set of lending institutions and a set of borrowing institutions; any lending institution lending resources to one or more borrowing institutions; defining the set of lending institutions as a first set of institutions and the set of borrowing institutions as a second set of institutions; performing a preset allocation step for the current first set of institutions and the current second set of institutions to determine a resource lending scheme for each lending institution; the resource lending scheme includes one or more target borrowing institutions as resource lending targets, and the amount of resources lent to each target borrowing institution; the preset allocation step includes: splitting the current first set of institutions into two subsets of lending institutions; and, based on the current second set of institutions, determining the two subsets of lending institutions... The resource lending schemes for a subset of lending institutions are determined, and the two determined resource lending schemes satisfy preset constraints. For any subset of lending institutions, if the number of lending institutions in the targeted subset is greater than 1, the targeted subset of lending institutions is determined as the current first institution set, and the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions is determined as the current second institution set. The preset allocation steps are then executed for the current first institution set and the current second institution set. For any subset of lending institutions, if the number of lending institutions in the targeted subset is equal to 1, the resource lending scheme of the targeted subset of lending institutions is determined as the resource lending scheme of a single lending institution in the targeted subset of lending institutions.

[0013] A third aspect of this application provides a resource allocation apparatus applied to a control node; the control node is used to control multiple computing nodes; the apparatus includes: an institution determination module, used to determine a set of lending institutions and a set of borrowing institutions; any lending institution is used to lend resources to one or more borrowing institutions; a resource allocation module, used to determine the set of lending institutions as a first institution set, determine the set of borrowing institutions as a second institution set, and perform a preset allocation step for the current first institution set and the current second institution set to determine a resource lending scheme for each lending institution; the resource lending scheme includes one or more target borrowing institutions as resource lending targets, and the amount of resources lent to each target borrowing institution; the preset allocation step includes: splitting the current first institution set into two subsets of lending institutions; from the multiple computing nodes The system determines a target computing node and calls that the target computing node to determine resource lending schemes for the two lending institution subsets based on the current second institution set. The two determined resource lending schemes satisfy preset constraints. For any lending institution subset, if the number of lending institutions in the target lending institution subset is greater than 1, the target lending institution subset is determined as the current first institution set, and the target borrowing institution in the resource lending scheme of the target lending institution subset is determined as the current second institution set. The preset allocation steps are then executed for the current first institution set and the current second institution set. For any lending institution subset, if the number of lending institutions in the target lending institution subset is equal to 1, the resource lending scheme of the target lending institution subset is determined as the resource lending scheme of a single lending institution in the target lending institution subset.

[0014] The fourth aspect of this application provides another resource allocation apparatus, comprising: a set determination module for determining a set of lending institutions and a set of borrowing institutions; any lending institution is used to lend resources to one or more borrowing institutions; a step execution module for determining the set of lending institutions as a first set of institutions, determining the set of borrowing institutions as a second set of institutions, executing a preset allocation step for the current first set of institutions and the current second set of institutions, and determining a resource lending scheme for each lending institution; the resource lending scheme includes one or more target borrowing institutions as resource lending targets, and the amount of resources lent to each target borrowing institution; the preset allocation step includes: splitting the current first set of institutions into two subsets of lending institutions; based on the current second set of institutions... The system constructs a set of resource lending schemes for two subsets of lending institutions, ensuring that the two schemes satisfy preset constraints. For any subset of lending institutions, if the number of lending institutions in the subset is greater than one, the subset is designated as the current first set of institutions, and the target borrowing institution in the resource lending schemes of the subset is designated as the current second set of institutions. The preset allocation steps are then executed for the current first set and the current second set of institutions. For any subset of lending institutions, if the number of lending institutions in the subset is equal to one, the resource lending scheme for the subset is determined as the resource lending scheme for a single lending institution within the subset.

[0015] A fifth aspect of this application provides an electronic device comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method described above.

[0016] A sixth aspect of this application also provides a computer-readable storage medium having a computer program or instructions stored thereon, which, when executed by a processor, implement the steps of the above-described method.

[0017] A seventh aspect of this application also provides a computer program product, including a computer program or instructions that, when executed by a processor, implement the steps of the above-described method. Attached Figure Description

[0018] The above-mentioned contents, other objects, features and advantages of this application will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:

[0019] Figure 1 This illustration schematically depicts an application scenario of a resource allocation method according to an embodiment of this application.

[0020] Figure 2 A flowchart illustrating a resource allocation method according to an embodiment of this application is shown schematically;

[0021] Figure 3 The illustration shows a schematic diagram of the principle of a resource allocation method according to an embodiment of this application;

[0022] Figure 4 A flowchart illustrating another resource allocation method according to an embodiment of this application is shown schematically;

[0023] Figure 5 This schematic diagram illustrates a structural block diagram of a resource allocation device according to an embodiment of the present application;

[0024] Figure 6 This schematic diagram illustrates a structural block diagram of another resource allocation device according to an embodiment of the present application;

[0025] Figure 7 A block diagram schematically illustrates an electronic device suitable for implementing a resource allocation method according to an embodiment of this application. Detailed Implementation

[0026] The embodiments of this application will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of this application. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of this application for ease of explanation. However, it will be apparent that one or more embodiments may be implemented without these specific details. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concepts of this application.

[0027] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of this application. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0028] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.

[0029] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).

[0030] Currently, for multiple lending institutions with resources and multiple borrowing institutions needing to borrow resources, the lending scheme typically needs to be determined manually. For example, a borrowing institution may need to borrow resources from one or more lending institutions, or a lending institution may need to lend resources to one or more borrowing institutions; the specific allocation of resources also needs to be determined manually. As the number of institutions increases, the efficiency of manually determining the lending scheme becomes low. The resources involved are not limited; they can be funds, virtual resources (e.g., cloud resources, storage resources, computing power resources, etc.), or physical resources (e.g., commodity resources, goods resources, warehousing resources, etc.).

[0031] To address the aforementioned technical problems and improve the efficiency of determining resource lending schemes, this application provides a resource allocation method. In this method, resource lending schemes can be solved using computer equipment to improve the efficiency of determining resource lending schemes. Specifically, parallel solving can be performed using multiple nodes in a distributed system to further improve the efficiency of determining resource lending schemes.

[0032] Furthermore, this method simplifies the resource allocation problem by employing a recursive binary search approach based on the divide-and-conquer strategy, thereby improving the efficiency of determining resource lending schemes. Specifically, directly determining resource lending schemes for multiple lending institutions individually involves a relatively large computational burden. Therefore, the multiple lending institutions can be first divided into two sets, which can be considered as two virtual lending institutions. These virtual lending institutions can be understood as possessing the sum of the resource amounts of each lending institution in their respective sets. Further, resource lending schemes can be determined separately for each of these two virtual lending institutions, based on the multiple borrowing institutions. The specific method for determining resource lending schemes can employ linear programming, for example, performing linear programming based on preset objectives and constraints. The determined resource lending scheme can include the target borrowing institutions as the resource lending targets, and the amount of resources lent to each target borrowing institution.

[0033] After determining resource lending schemes for the two virtual lending institutions mentioned above, the same operation can be performed on each of these two virtual lending institutions (the set of lending institutions). This involves dividing the set of lending institutions into two subsets, treating them as two virtual lending institutions, and then determining resource lending schemes for each of these two virtual lending institutions based on the borrowing institutions allocated in the resource lending schemes of the set of lending institutions before the division. This process can then be recursively repeated until resource lending schemes are determined for each lending institution. It is understandable that in the above recursive binary search method, different nodes in the distributed system can determine resource lending schemes in parallel to improve efficiency. For example, different nodes can be used to divide the resource lending schemes of the two sets of lending institutions into two subsets in parallel to determine resource lending schemes.

[0034] In the above method, the number of institutions determining resource lending schemes can be reduced by using recursive binary search, which reduces the amount of computation and difficulty required to determine resource lending schemes. Furthermore, it can be combined with distributed systems for parallel computing, thereby improving the efficiency of determining resource lending schemes.

[0035] It should be noted that the resource allocation method and apparatus provided in the embodiments of this application can be applied to the fields of distributed technology and fintech, as well as any field other than fintech. For example, in the field of cloud computing technology, the resource allocation method provided in the embodiments of this application can be used to determine the resource lending scheme for the borrowing and allocation of cloud resources. The application fields of the resource allocation method and apparatus provided in the embodiments of this application are not limited.

[0036] In the technical solution of this application, the user information (including but not limited to user personal information, user image information, user device information, such as location information) and data (including but not limited to data used for analysis, stored data, and displayed data) involved are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, storage, use, processing, transmission, provision, disclosure, and application of related data all comply with relevant laws, regulations, and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entry points for users to choose to authorize or refuse.

[0037] In scenarios involving automated decision-making using personal information, the methods, devices, and systems provided in this application all offer users corresponding entry points for choosing to agree to or reject the automated decision-making results. If the user chooses to reject, the process proceeds to the expert decision-making stage. Here, "automated decision-making" refers to the activity of automatically analyzing and evaluating an individual's behavioral habits, interests, or economic, health, and credit status through computer programs, and then making a decision. Here, "expert decision-making" refers to the activity of making decisions by personnel who specialize in a particular field, possess specialized experience, knowledge, and skills, and have reached a certain level of professional expertise.

[0038] Figure 1 The illustration depicts an application scenario of a resource allocation method according to an embodiment of this application. For example... Figure 1 As shown, the application scenario 100 according to this embodiment may include: a first computing node 101, a second computing node 102, a third computing node 103, and a control node 104.

[0039] The first computing node 101, the second computing node 102, the third computing node 103, and the control node 104 can be different nodes in a distributed system. Specifically, they can be logically different nodes, nodes deployed on different devices, different server nodes, etc. The control node 104 can be used to control the first computing node 101, the second computing node 102, and the third computing node 103. It should be noted that the resource allocation method provided in this application embodiment can generally be executed by the control node 104. Correspondingly, the resource allocation device provided in this application embodiment can generally be set in the control node 104. It should be understood that... Figure 1 The number of distributed nodes shown is merely illustrative. Depending on implementation requirements, there can be any number of distributed nodes.

[0040] Figure 2 A flowchart illustrating a resource allocation method according to an embodiment of this application is shown schematically. Figure 2 As shown, the resource allocation method provided in this application embodiment may include operations S210 and S220. The embodiments of this application do not limit the specific executing entity of the resource allocation method; it can be executed by any electronic device or any software application. Optionally, a resource allocation method can be executed by a control node. The control node can be used to control multiple computing nodes.

[0041] In operation S210, the set of lending institutions and the set of borrowing institutions are determined; any lending institution is used to lend resources to one or more borrowing institutions.

[0042] In operation S220, the set of lending institutions is determined as the first set of institutions, and the set of borrowing institutions is determined as the second set of institutions. A preset allocation step is performed for the current first set of institutions and the current second set of institutions to determine the resource lending plan for each lending institution. The resource lending plan includes one or more target borrowing institutions as the target of resource lending, and the amount of resources lent to each target borrowing institution. The preset allocation steps include: splitting the current first set of institutions into two subsets of lending institutions; determining a target computing node from multiple computing nodes, and calling the target computing node to determine the resource lending schemes for the two subsets of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the target subset is greater than 1, determining the target subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the target subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the target subset of lending institutions is equal to 1, determining the resource lending scheme of the target subset of lending institutions as the resource lending scheme of a single lending institution in the target subset of lending institutions.

[0043] This method can reduce the number of institutions involved in determining resource lending schemes by decomposing the set of lending institutions, thereby reducing the computational load and difficulty of determining resource lending schemes. Furthermore, by having the control node call the computing node to determine the resource lending scheme, the efficiency of determining the resource lending scheme can be improved.

[0044] The embodiments of this application do not limit the lending institution and the borrowing institution. Optionally, the lending institution can be an institution with resources that can lend resources; the borrowing institution can be an institution that needs to borrow resources and can borrow resources from other institutions. The embodiments of this application also do not limit the form of the lent resources. Optionally, the resources can be funds, virtual resources, or physical resources, etc. In a specific example, the lending institution can lend funds to the borrowing institution, and the lending institution can also lend virtual resources to the borrowing institution, such as computing power resources, storage resources, cloud resources, etc. Specifically, the lending institution can rent out its own computing power equipment, while the borrowing institution can borrow the computing power equipment provided by the lending institution for computation, specifically image processing, video processing, model training, and other operations.

[0045] The embodiments of this application do not limit the specific methods for determining the set of lending institutions and the set of borrowing institutions. Optionally, it may be that lending institutions that need to lend resources are added to the set of lending institutions, and borrowing institutions that need to borrow resources are added to the set of borrowing institutions; wherein, corresponding constraints may be additionally set, for example, the total amount of resources that can be lent in the determined set of lending institutions is equal to or greater than the total resource demand of the set of borrowing institutions, so that the resource amount of the set of lending institutions can meet the resource demand of the set of borrowing institutions.

[0046] The embodiments of this application do not limit the specific form of the resource lending scheme. Optionally, corresponding to a single lending institution or a subset of single lending institutions, the resource lending scheme may include: one or more target borrowing institutions as the target of resource lending, and the amount of resources lent to each target borrowing institution.

[0047] For the preset allocation steps, a recursive decomposition method can be adopted, which recursively splits the set of lending institutions into multiple subsets of lending institutions. Each recursion can determine the resource lending scheme for two subsets of lending institutions. Thus, the difficulty and computational load of determining the resource lending scheme can be reduced by using the divide-and-conquer approach.

[0048] For ease of understanding, the embodiments of this application also provide an optional embodiment for specifically executing the preset allocation steps. Optionally, the preset allocation steps may include: splitting the current first set of institutions into two subsets of lending institutions (for ease of distinction, they are referred to as the first subset of lending institutions and the second subset of lending institutions, respectively); determining a target computing node from multiple computing nodes, and calling the target computing node to determine the resource lending scheme of the first subset of lending institutions and the resource lending scheme of the second subset of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; (1) when the number of lending institutions in the first subset of lending institutions is greater than 1, determining the first subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the first subset of lending institutions as the current second set of institutions, and targeting the current first set of institutions and the current second set of institutions. (1) Perform preset allocation steps on the set; (2) If the number of lending institutions in the first lending institution subset is equal to 1, determine the resource lending scheme of the first lending institution subset as the resource lending scheme of a single lending institution in the first lending institution subset; (3) If the number of lending institutions in the second lending institution subset is greater than 1, determine the second lending institution subset as the current first institution set, determine the target borrowing institution in the resource lending scheme of the second lending institution subset as the current second institution set, and perform preset allocation steps for the current first institution set and the current second institution set; (4) If the number of lending institutions in the second lending institution subset is equal to 1, determine the resource lending scheme of the second lending institution subset as the resource lending scheme of a single lending institution in the second lending institution subset.

[0049] Optionally, for the first subset of lending institutions and the second subset of lending institutions, corresponding operations can be performed in parallel based on the number of lending institutions included. It is understood that for the first subset of lending institutions and the second subset of lending institutions, preset allocation steps can be executed separately, and recursive steps can be continued to implement the recursive binary search process.

[0050] Accordingly, for the first and second subsets of lending institutions, different target computing nodes can be used to determine the resource lending scheme during the execution of the preset allocation steps. Specifically, the control node can control the determination of the resource lending scheme in parallel, which can improve the efficiency of determining the resource lending scheme.

[0051] Understandably, as the aforementioned pre-defined allocation steps iterate and recursively, the set of lending institutions is gradually split. Eventually, this splitting will reach a subset of lending institutions containing only one lending institution—that is, a subset containing only one lending institution. At this point, the recursion can stop, and the resource lending plan for that single institution can be determined. As the overall recursive process continues, until a resource lending plan has been determined for each lending institution in the set, the pre-defined allocation steps can be considered complete, and the resource lending plan for each institution can be determined.

[0052] For ease of understanding, embodiments of this application also provide an example of specifically determining a resource lending scheme. Figure 3 The illustration schematically depicts a resource allocation method according to an embodiment of this application. Figure 3 As shown, the set of lending institutions can include 8 lending institutions, namely lending institutions 1-8. The set of borrowing institutions can include 8 borrowing institutions, namely borrowing institutions 1-8.

[0053] In the first recursive process, the set of lending institutions can be divided into two subsets, which are referred to as primary institution set 1 and primary institution set 2 for easy distinction. Then, based on borrowing institutions 1-8, resource lending schemes can be determined for primary institution set 1 and primary institution set 2.

[0054] Specifically, it can be determined that the resource lending schemes for primary institution set 1 include borrowing institutions 1-5. The resource lending schemes for primary institution set 2 include borrowing institutions 5-8. Borrowing institution 5 can appear in both resource lending schemes, borrowing resources from both primary institution set 1 and primary institution set 2. Then, recursive steps can be executed for primary institution set 1 and primary institution set 2 respectively.

[0055] In the second recursive process, the first-level organization set 1 can be divided into the second-level organization set 1 and the second-level organization set 2; and the first-level organization set 2 can be divided into the second-level organization set 3 and the second-level organization set 4.

[0056] For secondary institution set 1 and secondary institution set 2, a resource lending plan is determined based on the resource lending plan of primary institution set 1 (including borrowing institutions 1-5 and the corresponding resource lending amounts).

[0057] For secondary institution set 3 and secondary institution set 4, a resource lending plan is determined based on the resource lending plan of primary institution set 2 (including borrowing institutions 5-8 and the corresponding resource lending amounts).

[0058] Then, recursive steps can be performed on secondary institution set 1, secondary institution set 2, secondary institution set 3 and secondary institution set 4 respectively, until the divided lending institution subset contains a single lending institution.

[0059] Taking the process of further executing recursive steps for the second-level institution set 1 in the third recursive process as an example, the second-level institution set 1 is divided into lending institution 1 and lending institution 2. Based on borrowing institutions 1-3, the resource lending plan is determined, thereby determining the resource lending plan of lending institution 1 (borrowing institutions 1-2 and the corresponding resource lending amount) and the resource lending plan of lending institution 2 (borrowing institution 3 and the corresponding resource lending amount).

[0060] Understandably, the control node can invoke computing nodes to determine resource lending schemes during the recursive process. Specifically, different computing nodes can be invoked to determine resource lending schemes in parallel. For example, the control node can invoke one computing node to determine resource lending schemes for secondary institution sets 1 and 2, and concurrently invoke another computing node to determine resource lending schemes for secondary institution sets 3 and 4. Through parallel computation by distributed nodes, the efficiency of determining resource lending schemes can be improved.

[0061] The above embodiments explain the execution process of the preset allocation step from the perspective of recursive flow. The preset allocation step will be explained from several aspects of detailed implementation below.

[0062] Regarding the interaction between the control node and the computing node during the preset allocation process, the embodiments of this application do not limit the specific interaction process.

[0063] Optionally, the control node may split the current first set of institutions into two subsets of lending institutions, and then send the two subsets of lending institutions and the current second set of institutions to the target computing node to determine the resource lending scheme of the two subsets of lending institutions; alternatively, the resource lending scheme of the current first set of institutions may be sent to the target computing node to facilitate further determination of the resource lending scheme of the two subsets of lending institutions.

[0064] Optionally, the control node may determine the target computing node from multiple computing nodes and call the target computing node to determine the resource lending scheme of two lending institution subsets based on the current second institution set. The control node can obtain the two resource lending schemes determined by the target computing node to facilitate subsequent judgment and continue to execute the recursive operation.

[0065] Optionally, the control node may perform a corresponding branch operation on the subset of lending institutions based on the number of lending institutions within it; alternatively, the control node may continue to call the target computing node to perform a corresponding branch operation on the subset of lending institutions based on the number of lending institutions within it.

[0066] Regarding the splitting of the current first set of institutions, the embodiments of this application do not limit the specific method of obtaining two subsets of lending institutions. Optionally, it can be split into one lending institution and other lending institutions to obtain two subsets of lending institutions; or it can be split into multiple lending institutions and multiple other lending institutions to obtain two subsets of lending institutions. Of course, multiple splitting methods can also be combined, and the appropriate splitting method can be selected according to actual needs. The actual needs here can be determined based on the order of magnitude of the lending institutions, that is, the number of lending institutions in the current first set of institutions, or it can be determined based on other information, such as the difficulty of determining the resource lending scheme.

[0067] Optionally, the current first set of institutions can be split into two subsets of lending institutions. Specifically, this can include: (1) if the number of lending institutions in the current first set of institutions is greater than a first threshold, splitting the current first set of institutions into two subsets of lending institutions, wherein the number of lending institutions in each subset of lending institutions is greater than 1; (2) if the number of lending institutions in the current first set of institutions is less than or equal to the first threshold, splitting the current first set of institutions into: a subset of lending institutions containing 1 lending institution, and a subset of lending institutions containing other lending institutions in the current first set of institutions. This embodiment can determine the appropriate splitting method based on whether the number of lending institutions in the current first set of institutions is greater than the first threshold, which can improve the efficiency of determining the resource lending scheme. In particular, when the number of lending institutions is large, by limiting the number of lending institutions in the split subset of lending institutions to be greater than 1, it is convenient to quickly reduce the order of magnitude of lending institutions in the subset of lending institutions, which can reduce the number of recursive steps and improve the overall efficiency of determining the resource lending scheme. When the number of lending institutions is small, limiting the process to splitting one lending institution and the other lending institutions into two subsets can improve the efficiency of determining the resource lending plan, thereby improving the overall efficiency of determining the resource lending plan.

[0068] The embodiments of this application do not limit the specific method of splitting out one lending institution as a subset of lending institutions. Optionally, one lending institution may be randomly selected from the current first set of institutions, or one lending institution that meets the requirements may be selected from the current first set of institutions according to specified rules.

[0069] Optionally, the current first set of institutions can be divided into: a subset of lending institutions containing one lending institution, and a subset of lending institutions containing the other lending institutions in the current first set of institutions. Specifically, this can include: determining the lowest-priority designated lending institution among the lending institutions in the current first set of institutions; the priority is positively correlated with the amount of resources of the lending institution; and dividing the current first set of institutions into: a subset of lending institutions containing one designated lending institution, and a subset of lending institutions containing the other lending institutions in the current first set of institutions. This embodiment can determine the individual lending institution based on the amount of resources of the lending institution, and select the individual designated lending institution with the smaller amount of resources, thereby reducing the difficulty of determining the resource lending scheme for the designated lending institution and improving the efficiency of determining the resource lending scheme.

[0070] The embodiments of this application do not limit the specific method for determining the priority of lending institutions. Optionally, the priority of lending institutions can be determined solely based on the amount of resources they possess, or it can be determined in combination with other information, such as the amount of resources that can be flexibly allocated within the lending institution. Lending institutions may have some resources that are pre-set or pre-allocated and need to be fixedly allocated to certain borrowing institutions, or they may have some resources that cannot be allocated to certain borrowing institutions. Therefore, the pre-allocated portion of resources within a lending institution can be excluded, and the amount of resources that can be flexibly allocated within the lending institution, or the proportion of resources that can be flexibly allocated within the lending institution, can be used to determine the priority of the lending institution. The amount of resources that can be flexibly allocated within a lending institution / the proportion of resources that can be flexibly allocated can be positively correlated with the priority of the lending institution. It is understood that for individual lending institutions with a small amount of resources that can be flexibly allocated / the proportion of resources that can be flexibly allocated, the difficulty of determining the resource lending scheme can be reduced, and the efficiency of determining the resource lending scheme can be improved.

[0071] Regarding the step of the control node determining the target computing node, the embodiments of this application do not limit the specific method of determining the target computing node. Optionally, the control node may randomly select one computing node as the target computing node from the multiple computing nodes it controls, or it may select one computing node with a smaller load as the target computing node according to a load balancing strategy, or it may select one computing node that has not yet been invoked to determine the resource lending scheme as the target computing node according to a parallel computing strategy.

[0072] Therefore, optionally, determining the target computing node from multiple computing nodes includes at least one of the following: (1) determining any computing node among the multiple computing nodes whose load is less than a preset load threshold as the target computing node; (2) determining any computing node among the multiple computing nodes that is not currently being used to determine a resource lending scheme as the target computing node. This embodiment can select the target computing node based on distributed nodes and according to a load balancing or task balancing strategy, which can improve the efficiency of determining the resource lending scheme in parallel.

[0073] Furthermore, the different strategies for determining the target computing node described above can also be combined. For example, any computing node among multiple computing nodes whose load is less than a preset load threshold and which is not currently being used to determine the resource lending scheme can be identified as the target computing node. The embodiments of this application will not be elaborated further.

[0074] Regarding the operation of determining resource lending schemes for the target computing node, the embodiments of this application do not limit the specific operation process. Optionally, the target computing node may use linear programming to determine resource lending schemes for two subsets of lending institutions based on preset constraints, so as to satisfy the preset constraints. Specifically, a solver may be used to solve the problem.

[0075] In determining the specific resource lending plan, it is also necessary to use the resource lending plan of the current first set of institutions as a basis, that is, the resource lending plan determined in the previous iterative recursion process. Using the amount of resources lent to each target borrowing institution (i.e., the current second set of institutions) in the current resource lending plan of the first set of institutions, the resource lending plan for this iterative recursion process is determined. See details in [link to relevant documentation]. Figure 3 In this process, based on the resource lending plan of the first-level institution group 1, the resource lending plans of the second-level institution group 1 and the second-level institution group 2 are determined.

[0076] Therefore, optionally, the target computing node can call the resource lending scheme of the current second set of institutions and the current first set of institutions to determine the resource lending scheme of the two lending institution subsets, and the determined two resource lending schemes satisfy the preset constraints.

[0077] Accordingly, the embodiments of this application do not limit the specific preset constraints. Optionally, the preset constraints can be set according to actual business needs.

[0078] For ease of understanding, the embodiments of this application provide specific examples of some preset constraints: (1) In order to improve the simplicity of resource lending, a single lending institution can lend resources to as few borrowing institutions as possible, and a single borrowing institution can borrow resources from as few lending institutions as possible, thereby reducing the number of resource lending relationships. (2) Since the interest rates offered by different borrowing institutions may be different, in order to improve fairness, the total interest rate obtained by different lending institutions can be balanced as much as possible, that is, the ratio of the final income to the amount of resources among different lending institutions, and stabilized within a specified range as much as possible. (3) In order to reduce the difficulty of determining the resource lending scheme and improve the efficiency of determining the resource lending scheme, the lower limit of the amount of resources lent in each transaction can be limited, or the amount of resources lent in each transaction can be limited to a positive integer multiple of the lower limit of the amount of resources. (4) In the final resource lending scheme of each lending institution, the resource demand of each borrowing institution should be the same as the total amount of resources borrowed by the borrowing institution in the resource lending scheme of each lending institution, so as to meet the resource demand of the borrowing institution. In addition, the amount of resources lent by each lending institution can be the same as the amount of resources it has in reserve or the amount of resources it is used for lending. (5) In addition, some other business constraints can be set, such as specifying that a certain lending institution cannot lend resources to some borrowing institutions, or specifying that a certain borrowing institution cannot borrow resources from some lending institutions, etc.

[0079] Therefore, optionally, the preset constraints may include at least one of the following: (1) the number of lending institutions borrowing resources from each borrowing institution is less than the preset threshold for the number of lending institutions; (2) the total amount of resources of each lending institution in each subset of lending institutions is equal to the total amount of resources lent to each target borrowing institution in the corresponding resource lending scheme; (3) in the two determined resource lending schemes, the total amount of resources lent to each borrowing institution is equal to the amount of resources lent to the target borrowing institution in the current resource lending scheme of the first institution set; (4) the amount of resources lent to any borrowing institution by each lending institution or each subset of lending institutions is greater than the preset lower limit threshold for resource amount; (5) for each subset of lending institutions, in the corresponding resource lending scheme, the proportion of the total amount of resource interest of each target borrowing institution in the total amount of resources of each lending institution in the target lending institution subset is within the preset proportion range. This embodiment can be based on specific preset constraints, making it easy to set different preset constraints to adapt to different business needs, thereby improving the adaptability of the determined resource lending scheme to business needs.

[0080] The number of lending institutions for resources borrowed by each borrowing institution can be the number of times each borrowing institution is the target borrowing institution in each lending institution's resource lending scheme. Of course, the preset constraints can include the fact that the number of lending institution subsets for resources borrowed by each borrowing institution is less than a preset threshold for the number of lending institution subsets. A single borrowing institution may be the target borrowing institution in both determined resource lending schemes; therefore, it is necessary to determine the "total amount of resources lent to each borrowing institution in the two determined resource lending schemes" and compare it with the "amount of resources lent to the target borrowing institution in the current resource lending scheme of the first institution set." Correspondingly, the "amount of resources lent to the target borrowing institution in the current resource lending scheme of the first institution set" can also be the "resource demand of the target borrowing institution for the current first institution set."

[0081] It is understood that the specific embodiments of the above-mentioned preset constraints are merely illustrative examples, and other preset constraints can be set according to actual needs.

[0082] In a specific example, additional preset constraints can be set for virtual resource borrowing scenarios. For instance, in scenarios involving borrowing computing resources, the characteristics of the tasks the borrowing institution needs to perform can be considered, further matching them with the characteristics of the computing resources provided by the lending institution. This improves the accuracy of computing resource borrowing and the efficiency of task execution. The computing equipment provided by the lending institution may have different characteristics, such as suitability for data computation, image processing, or model training. These characteristics can be matched with the task characteristics the borrowing institution needs to perform. For example, a borrowing institution needing to perform an "image processing" task can be matched with a lending institution that rents computing equipment "suitable for image processing," thus determining the appropriate resource lending scheme. Therefore, the preset constraints can also include: for each borrowing institution, the matching degree between the resources borrowed and the task requirements of the borrowing institution is higher than a preset matching degree threshold.

[0083] The embodiments of this application do not limit the specific process of determining the resource lending scheme. Optionally, a solver can be used in conjunction with preset constraints to determine the resource lending scheme. Since the resource lending scheme for a subset of lending institutions is determined by dividing the problem into multiple sub-problems, the solution time for each sub-problem can be further set, thereby facilitating control over the total time for determining the resource lending scheme. Correspondingly, the control node can issue the task of determining the resource lending scheme to the target computing node, and the control node can set an upper limit for the execution time of this task, so that the control node can control the overall total time for determining the resource lending scheme.

[0084] The embodiments of this application do not limit the specific method for determining the upper limit of the time. Optionally, the control node can set a fixed time as the upper limit of the time for the target computing node to determine the resource lending plan, or it can flexibly determine the upper limit of the time based on the actual situation of the target computing node determining the resource lending plan. Specifically, the upper limit of the time can be determined based on the task processing difficulty of determining the resource lending plan or the number of institutions involved. The task processing difficulty and the number of institutions involved can be positively correlated with the upper limit of the time. Of course, the upper limit of the time can also be determined based on other information; the above embodiments are for illustrative purposes only. It is understood that by setting an upper limit of the task processing time, the control node can easily control the overall processing time for determining the resource lending plan, thereby improving the overall efficiency of determining the resource lending plan.

[0085] When setting a maximum processing time for the target computing node, the possibility of the task exceeding the set maximum processing time can be further considered. The embodiments of this application do not limit the specific process. Optionally, if the target computing node determines the optimal solution for the task within the determined maximum processing time, a resource lending scheme for two subsets of lending institutions can be determined, and subsequent steps can continue. If the target computing node determines a feasible solution for the task within the determined maximum processing time, a resource lending scheme for two subsets of lending institutions can also be determined, and subsequent steps can continue. If the target computing node neither determines the optimal solution nor a feasible solution for the task within the determined maximum processing time, since a resource lending scheme for two subsets of lending institutions has not yet been determined, the control node can adjust the previously split two subsets of lending institutions and, using the new two subsets, redetermine a new resource lending scheme for the two subsets of lending institutions. Understandably, if a feasible solution to the task cannot be determined within the processing time limit, a rollback operation can be performed to redetermine the method for splitting the subset of lending institutions, or it can be further rolled back to the previous iteration recursive process to re-split the subset of lending institutions.

[0086] Furthermore, considering that the control node needs to control the overall determination of the total time of the resource lending plan of each lending institution, the remaining time of the pre-determined feasible solution or optimal solution of the task can be flexibly used and invested in the processing time limit of the current task. Since the remaining time in the execution process of the historical task is used, it does not exceed the processing time limit of the historical task, so it is still possible to control the overall determination of the total time of the resource lending plan of each lending institution.

[0087] Therefore, optionally, the target computing node is invoked to determine resource lending schemes for two subsets of lending institutions based on the current second set of institutions. Specifically, this may include: determining the upper limit of processing time for the target computing node for the target task; the target task includes: determining resource lending schemes for two subsets of lending institutions based on the current second set of institutions; invoking the target computing node to execute the target task; if the target computing node determines the optimal solution to the target task within the determined upper limit of processing time, determining the resource lending schemes for the two subsets of lending institutions, and adding the remaining time to the reserve time; if the determined upper limit of processing time ends and the target computing node has not determined a feasible solution to the target task, invoking the target computing node to continue executing the target task based on the reserve time. This embodiment can improve the overall efficiency of determining resource lending schemes by limiting the upper limit of processing time for the target computing node to determine resource lending schemes, thus facilitating control over the overall processing time. It is understood that the reserve time can be managed by the control node, thereby facilitating the statistical analysis of the remaining time for different computing nodes to determine resource lending schemes while executing the target task.

[0088] For other branch scenarios, optionally, if the target computing node determines a feasible solution to the target task within the defined processing time limit, a resource lending scheme for two subsets of lending institutions can be determined, and the remaining time can be added to the reserve time. Alternatively, the solution can continue until the defined processing time limit expires. Optionally, if the defined processing time limit expires and the target computing node determines a feasible solution to the target task, a resource lending scheme for two subsets of lending institutions from the feasible solution can be determined, and subsequent steps can be executed.

[0089] Among them, for the feasible solution and the optimal solution, the resource lending schemes of the two lending institution subsets can satisfy the preset constraints.

[0090] Alternatively, if the standby time expires and the target computing node has not determined a feasible solution for the target task, the control node can re-execute the preset allocation steps for the current first set of institutions and the current second set of institutions. The control node can also re-split the current first set of institutions into two subsets of lending institutions using different splitting methods and continue executing the preset allocation steps. It is understood that, in the case of re-splitting into two subsets of lending institutions, the control node can split the current first set of institutions into: a subset containing one lending institution, and a subset containing the other lending institutions in the current first set of institutions, in order to reduce the difficulty of determining the resource lending scheme.

[0091] To determine a resource lending scheme for a target computing node, various methods can be employed to improve the efficiency of this process. The embodiments of this application do not limit the specific methods used to improve efficiency.

[0092] Optionally, the target computing node determines resource lending schemes for two subsets of lending institutions based on the current second set of institutions. Specifically, this may include: calling the target computing node to add preset borrowing institutions from the current second set of institutions to the resource lending scheme of any subset of lending institutions, and then determining resource lending schemes for the two subsets of lending institutions based on other borrowing institutions besides the preset borrowing institutions in the current second set of institutions. This embodiment can reduce the number of borrowing institutions when determining resource lending schemes by directly adding some borrowing institutions to the resource lending schemes, thereby reducing the difficulty of determining resource lending schemes and improving the efficiency of determining resource lending schemes.

[0093] The embodiments of this application do not limit the method of determining the preset borrowing institutions. Optionally, the target computing node or control node can determine the preset borrowing institutions based on preset constraints. For example, corresponding to the constraint of balancing the interest rates obtained by different lending institutions, some borrowing institutions with low interest rates and some with high interest rates can be determined as preset borrowing institutions. The target computing node or control node can also determine the preset borrowing institutions based on the resource demand of the borrowing institutions, or the resource demand of the borrowing institutions for the current first set of institutions, or the amount of resources lent to the borrowing institutions in the resource lending scheme of the current first set of institutions. Specifically, the target computing node or control node can determine the borrowing institutions whose resource demand is greater than the preset resource demand threshold as preset borrowing institutions, and control the borrowing institutions with large resource demand to borrow resources from only a single lending institution or a subset of a single lending institution as much as possible, thereby reducing the difficulty of determining the resource lending scheme. Of course, the above embodiments are for illustrative purposes only, and other methods of determining the preset borrowing institutions can also be used. For example, the target computing node or control node can determine the borrowing institutions whose resource demand is less than the preset resource demand threshold as preset borrowing institutions.

[0094] Once the resource lending plans of two lending institutions are determined, subsequent steps can be implemented based on the number of lending institutions in the lending institution subset.

[0095] Optionally, for any subset of lending institutions, if the number of lending institutions in the subset is greater than 1, further iterative recursion can be performed to continue splitting the subset. This means the subset can be defined as the current first set of institutions, and the target borrowing institutions in the resource lending schemes of the subset can be defined as the current second set of institutions. A preset allocation step is then performed on the current first and second set of institutions. By determining the new current first and second set of institutions, the next iterative recursive process (i.e., the preset allocation step) can be easily executed. Correspondingly, defining the target borrowing institutions in the resource lending schemes of the subset as the current second set of institutions allows for continued execution of subsequent iterative recursive processes based on the resource lending schemes of the lending institutions in this iteration. This also helps reduce the number of borrowing institutions in subsequent iterations, lowering the difficulty of determining resource lending schemes and improving efficiency. As the iterative recursion continues, the lending institutions can be gradually split up, reducing the number of lending institutions and the number of borrowing institutions allocated to them. This breaks down the problem of determining the resource lending scheme for each lending institution in the set of lending institutions and the set of borrowing institutions into multiple sub-problems, reducing the difficulty of determining the resource lending scheme and improving the efficiency of determining the resource lending scheme.

[0096] Optionally, for any subset of lending institutions, if the number of lending institutions in the subset is equal to 1, the iterative recursion can be stopped, and the resource lending scheme for the subset can be determined as the resource lending scheme for a single lending institution within that subset. It is understandable that for multiple subsets of lending institutions, with each recursive iteration, the subset can eventually be reduced to a single lending institution, thus determining the resource lending scheme for that single institution.

[0097] Figure 4 A flowchart illustrating another resource allocation method according to an embodiment of this application is shown schematically. Figure 4 As shown, the resource allocation method provided in this application embodiment may include operations S310 and S320. The embodiments of this application do not limit the specific entity executing the resource allocation method; it can be executed by any electronic device or any software application.

[0098] In operation S310, the set of lending institutions and the set of borrowing institutions are determined; any lending institution is used to lend resources to one or more borrowing institutions.

[0099] In operation S320, the set of lending institutions is determined as the first set of institutions, and the set of borrowing institutions is determined as the second set of institutions. A preset allocation step is performed for the current first set of institutions and the current second set of institutions to determine the resource lending plan for each lending institution. The resource lending plan includes one or more target borrowing institutions as the target of resource lending, and the amount of resources lent to each target borrowing institution. The preset allocation steps include: splitting the current first set of institutions into two subsets of lending institutions; determining resource lending schemes for the two subsets of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the targeted subset is greater than 1, determining the targeted subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is equal to 1, determining the resource lending scheme of the targeted subset of lending institutions as the resource lending scheme of a single lending institution in the targeted subset of lending institutions.

[0100] This method can reduce the number of institutions involved in determining resource lending schemes by decomposing the set of lending institutions, thereby reducing the computational load and difficulty of determining resource lending schemes and improving the efficiency of determining resource lending schemes.

[0101] Optionally, the current first set of institutions is split into two subsets of lending institutions, including: if the number of lending institutions in the current first set of institutions is greater than a first quantity threshold, the current first set of institutions is split into two subsets of lending institutions, wherein the number of lending institutions in each subset of lending institutions is greater than 1; if the number of lending institutions in the current first set of institutions is less than or equal to the first quantity threshold, the current first set of institutions is split into: a subset of lending institutions containing 1 lending institution, and a subset of lending institutions containing the other lending institutions in the current first set of institutions.

[0102] Optionally, the current first set of institutions can be split into: a subset of lending institutions containing one lending institution, and a subset of lending institutions containing other lending institutions in the current first set of institutions, including: determining the lowest priority lending institution among the lending institutions in the current first set of institutions; the priority is positively correlated with the amount of resources of the lending institution; and splitting the current first set of institutions into: a subset of lending institutions containing one specified lending institution, and a subset of lending institutions containing other lending institutions in the current first set of institutions.

[0103] Optionally, the preset constraints include at least one of the following: (1) the number of lending institutions borrowing resources from each borrowing institution is less than the preset threshold for the number of lending institutions; (2) the total amount of resources of each lending institution in each subset of lending institutions is equal to the total amount of resources lent to each target borrowing institution in the corresponding resource lending scheme; (3) in the two determined resource lending schemes, the total amount of resources lent to each borrowing institution is equal to the amount of resources lent to the target borrowing institution in the current first institution set's resource lending scheme; (4) the amount of resources lent to any borrowing institution by each lending institution or each subset of lending institutions is greater than the preset lower limit threshold for resource amount; (5) for each subset of lending institutions, in the corresponding resource lending scheme, the proportion of the total amount of resource interest of each target borrowing institution in the total amount of resources of each lending institution in the target lending institution subset is within the preset proportion range.

[0104] Optionally, based on the current second set of institutions, a resource lending scheme for two subsets of lending institutions is determined, including: determining an upper limit for the processing time of the target task; the target task includes: determining a resource lending scheme for two subsets of lending institutions based on the current second set of institutions; executing the target task; if the optimal solution for the target task is determined within the determined upper limit for processing time, a resource lending scheme for the two subsets of lending institutions is determined, and the remaining time is added to the reserve time; if the determined upper limit for processing time ends and no feasible solution for the target task is determined, the target task continues to be executed based on the reserve time.

[0105] Optionally, based on the current second set of institutions, resource lending schemes for two subsets of lending institutions are determined, including: adding the preset borrowing institutions in the current second set of institutions to the resource lending scheme of any subset of lending institutions, and then determining the resource lending schemes for the two subsets of lending institutions based on other borrowing institutions other than the preset borrowing institutions in the current second set of institutions.

[0106] For a detailed explanation of this method, please refer to the explanations of other embodiments. It will not be repeated here.

[0107] For ease of understanding, this application also provides an application embodiment. In the market, there are typically numerous lending institutions that can lend resources, and many differentiated borrowing institutions that need to borrow resources. Furthermore, the resource demands and borrowing rates among these borrowing institutions can vary significantly. For such inter-market resource lending transactions, the scale of resources involved is enormous, and the number of institutions is vast. Therefore, the primary task for the transaction department is to design well-performing resource lending schemes that meet the needs of both lending and borrowing institutions, as well as comply with market transaction norms. The design of resource lending schemes can also be referred to as transaction volume.

[0108] In determining resource lending schemes, at least two necessary technical constraints must be met due to business requirements. First is the consistency constraint, which requires that the weighted average rates allocated to each lending institution be as close as possible (consistent weighted average rates) to ensure fair allocation. Generally, the difference in weighted average rates among lending institutions must not exceed a given threshold, such as 2 basis points. Second is the sparsity constraint, which, to ensure transaction execution efficiency, should not break down orders too much among borrowing institutions, maintaining the sparsity of resource allocation as much as possible; that is, the number of lending institutions for a borrowing institution's resources should not be too large. Several other basic constraints must also be met, such as the amount of resources lent in each resource lending transaction needing to be greater than a lower threshold. However, currently, determining resource lending schemes is usually done manually by the business department. Due to the large number of institutions and complex technical constraints, this method consumes a significant amount of human resources and is inefficient.

[0109] To overcome the aforementioned problems, an automated and efficient transaction component system needs to be designed while ensuring compliance with technical constraints related to business requirements. This embodiment designs a novel transaction component system, including a data reading module and a modeling and solving module. In the data reading module, the transaction component system receives relevant data from the server, processes it, and inputs the processed data into the modeling and solving module. The modeling and solving module incorporates the divide-and-conquer approach, modeling the transaction component problem as a linear programming problem, decomposing it into multiple subproblems for solving, and finally using an output normalization algorithm to transform the obtained solution into a solution that meets the accuracy requirements. The modeling and solving module performs linear programming modeling of the transaction component problem based on the obtained resource quantity of lending institutions, resource demand of borrowing institutions, interest rate of borrowing institutions, and lists of designated and prohibited allocations. The solution contains two m×n matrices X and Z; where m is the total number of lending institutions, n is the total number of borrowing institutions, and X's elements X' ... ij Z represents the amount of resources lent by the i-th lending institution to the j-th borrowing institution, and Z is an element of Z. ij This represents whether the i-th lending institution lends resources to the j-th borrowing institution. It is a 0-1 variable, where 0 represents not lending resources and 1 represents lending resources.

[0110] In linear programming modeling, the objective function is set to minimize the number of transaction splits. Among the constraints, the interest rate fairness constraint is the most crucial, ensuring that the weighted average interest rate among all lending institutions remains within a certain range. The constraint is expressed as follows:

[0111]

[0112] The above constraints can also be expressed as:

[0113]

[0114] Where r0 represents the weighted average interest rate of all borrowing institutions, a i r represents the amount of resources of lending institution i. j X represents the interest rate of borrowing institution j. ij Let represent the amount of resources lent by the i-th lending institution to the j-th borrowing institution, n be the total number of borrowing institutions, and Δ represent the fairness of the allocation, i.e., the difference between the highest and lowest interest rates in the allocation results is within the range of 2Δ.

[0115] Solving such a large linear programming problem (with a variable scale of 2^mn) is extremely difficult, and it's practically impossible to obtain a result within an acceptable timeframe. Therefore, it's necessary to reduce the difficulty of the solution. A divide-and-conquer approach can be used, breaking down the original problem into multiple subproblems and solving them step-by-step. Specifically, each time an allocation is performed, the lending institutions to be allocated are divided into two groups, each group treated as a whole. The borrowing institutions only need to allocate resources between these two groups. In this way, each time a subproblem is solved, an additional group's allocation is obtained. This process is repeated until the resource lending scheme for each lending institution is determined. Using this method, the solution to the original problem is obtained from the solutions to the subproblems, thus significantly shortening the solution time and improving algorithm efficiency.

[0116] Regarding grouping rules, two approaches can be adopted: one-to-many and many-to-many. The advantage of the one-to-many rule is its simpler design and easier interpretation. The advantage of the many-to-many rule is its suitability for parallel computing. In each split, the algorithm divides the lending and borrowing institutions into two groups, and the allocation of each group is determined. Subsequent allocations within a group will not be affected by the other group, allowing them to be solved independently, greatly accelerating the solution efficiency.

[0117] Therefore, an adaptive grouping rule can be used to combine the advantages of the two. When the number of lending institutions and borrowing institutions reaches a sufficiently large scale, a many-to-many grouping rule is used to accelerate the algorithm efficiency. When the number of lending institutions and borrowing institutions decreases to a certain extent, a one-to-many grouping rule is used to ensure the solvability and solution effect of the algorithm.

[0118] Because the algorithm consumes a significant amount of time in certain scenarios, two acceleration strategies were employed to improve the utilization of solution time. The first is a random institution allocation strategy. When there are many lending and borrowing institutions, in the early to mid-stages of the solution process, many situations may arise where the objective function differences are small. Finding the optimal solution among these may take considerable time, but the improvement to the objective function is minimal. Therefore, in such cases, a portion of borrowing institutions with interest rates higher or lower than the average interest rate are randomly selected and placed into the resource lending scheme of the lending institution group. This accelerates the algorithm's solution speed when a feasible solution exists. The second is an optimization time separation strategy. The algorithm divides the preset time into two main parts: an initial algorithm setting time, i.e., the maximum initial solution time for each subproblem; and an additional optimization time. If a subproblem does not find a feasible solution within the initial setting time, the algorithm uses some of the additional optimization time for further solution. Conversely, if the subproblem has found an optimal solution within the initial setting time, the unused time is added to the additional optimization time. Through these two strategies, the algorithm significantly accelerates the solution speed with minimal loss of solution accuracy.

[0119] Finally, based on the obtained resource lending plan, its feasibility can be checked and certain attributes of the plan can be calculated, such as whether the quotas before and after are equal, and whether they meet the artificial constraints and numerical specifications.

[0120] The overall algorithm flow is as described above. This transaction component system integrates a data reading module and a modeling and solving module. It can automatically read the transaction data transmitted from the server and quickly output transaction component solutions that meet the constraints and perform well. The specific content of each step is as follows, where step 1 belongs to the data reading module, and steps 2-5 belong to the modeling and solving module.

[0121] Step 1: Data Reading. The transaction data system retrieves transaction data from the database and records it in lists, which contain a total of 5 lists. The first column corresponds to the resource lending amount of each lending institution; the second column corresponds to the resource demand of each borrowing institution; the third column corresponds to the resource borrowing interest rate promised by each borrowing institution (the order of borrowing institutions in the third column is consistent with the second column); the fourth and fifth columns correspond to preset specified matches and preset prohibited matches, respectively. Assuming there are m lending institutions and n borrowing institutions, the first column is a column vector of length m, while the second and third columns are column vectors of length n, and both correspond to the same borrowing institution order. The fourth and fifth columns store multiple binary arrays representing the specified and prohibited matching relationships between lending and borrowing institutions. After obtaining the processed data, the algorithm passes the data to the next solution module.

[0122] Step 2: Grouping Lending Institutions. The algorithm models the constrained transaction component problem as a linear programming problem. Based on the assumptions in Step 1, there are m lending institutions and n borrowing institutions matching resource lending transactions. Following the divide-and-conquer approach, the m lending institutions need to be grouped, and then the subproblems of each group are modeled and solved. In the algorithm, based on the attributes of the lending institutions, each institution can calculate a priority value; the priority value of lending institution j is O. j The calculation method is as follows:

[0123]

[0124] Among them, B j M represents the amount of resources that lending institution j needs to allocate. j F represents the amount of resources among the remaining borrowing institutions that are designated for allocation to lending institution j. j Let S be the amount of resources among the remaining borrowing institutions that are prohibited from being allocated to lending institution j, and let S be the total amount of resources among the remaining borrowing institutions. Based on priority values, the institutions with the lowest priority are selected as the first group, and the remaining lending institutions are selected as the second group for modeling and solving.

[0125] Step 3: Solve the linear programming problem. Based on the grouping in Step 2, the algorithm treats the lending institutions within each group as a whole, models them using integer linear programming, and solves the problem using a solver. The objective function is to minimize the number of splits, and the constraints include: quota constraints, interest rate fairness constraints, minimum order of magnitude constraints, specified constraints, and prohibited constraints. Furthermore, depending on the problem size and the current solution state, the algorithm adaptively adjusts whether to call a random allocation algorithm or an optimized time separation algorithm to accelerate the solution time. Based on the solution results, the algorithm obtains the allocation of the first group of lending institutions and updates the state of the remaining unallocated lending institutions and the remaining borrowing institutions for subsequent iterations to allocate the remaining lending and borrowing institutions. If there is no solution, the upper limit on the number of splits and interest rate fairness are relaxed until a feasible solution is found or the total limit is exceeded.

[0126] Step 4: Algorithm Iteration. Repeat steps 2 and 3 until the number of remaining lending institutions is 1, thus obtaining the allocation for each lending institution, and store the results in the allocation matrix.

[0127] Step 5: Output Specifications. After obtaining the allocation matrix, further processing is required to ensure that the result conforms to the specifications. After obtaining the final result, it will check whether the solution was successful. If a valid solution is found, the various properties of the allocation matrix will be checked and calculated to determine whether it meets the specifications. If there is no solution, a zero matrix will be output along with the reason. If some specifications are not met, the allocation matrix that does not meet some specifications will be output along with the reason.

[0128] This embodiment designs a highly efficient automated transaction component system. Compared with manual methods, its advantages are: (1) It integrates a data processing module, systematically improving the efficiency of transaction component processing. (2) By outputting the standard algorithm, the solution problem and the output matrix attributes are visualized, making it easy to check and compare. (3) The modeling and solving module uses integer linear programming and decomposes the original problem into sub-problems, greatly accelerating the solution speed and meeting all business requirements. (4) By adaptively adjusting the optimization time, the stability of the algorithm's solution time is greatly improved.

[0129] Based on the above method embodiments, this application also provides a resource allocation apparatus. The following will be combined with... Figure 5 The device is described in detail. Figure 5 A schematic block diagram of a resource allocation apparatus according to an embodiment of this application is shown. Figure 5 As shown, this embodiment provides a resource allocation device 400, which includes an organization determination module 410 and a resource allocation module 420. The device can be applied to a control node; the control node can be used to control multiple computing nodes.

[0130] The institution determination module 410 is used to determine the set of lending institutions and the set of borrowing institutions; any lending institution is used to lend resources to one or more borrowing institutions. In one embodiment, the institution determination module 410 can be used to perform the operation S210 described above and related operations, which will not be repeated here.

[0131] The resource allocation module 420 is used to determine the set of lending institutions as a first set of institutions and the set of borrowing institutions as a second set of institutions. It then performs preset allocation steps for the current first and second sets of institutions to determine a resource lending plan for each lending institution. The resource lending plan includes one or more target borrowing institutions as the targets of the resource lending, and the amount of resources to be lent to each target borrowing institution. In one embodiment, the resource allocation module 420 can be used to perform the operation S220 described above and related operations, which will not be repeated here. The aforementioned preset allocation steps may include: splitting the current first set of institutions into two subsets of lending institutions; determining a target computing node from multiple computing nodes, and calling the target computing node to determine resource lending schemes for the two subsets of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the targeted subset is greater than 1, determining the targeted subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is equal to 1, determining the resource lending scheme of the targeted subset of lending institutions as the resource lending scheme of a single lending institution in the targeted subset of lending institutions.

[0132] Optionally, the resource allocation module 420 can be used to: split the current first institution set into two lending institution subsets when the number of lending institutions in the current first institution set is greater than a first quantity threshold, wherein the number of lending institutions in each lending institution subset is greater than 1; and split the current first institution set into: a lending institution subset containing 1 lending institution and a lending institution subset containing other lending institutions in the current first institution set when the number of lending institutions in the current first institution set is less than or equal to the first quantity threshold.

[0133] Optionally, the resource allocation module 420 can be used to: determine the lowest priority designated lending institution among the lending institutions in the current first institution set; the priority is positively correlated with the amount of resources of the lending institution; and split the current first institution set into: a subset of lending institutions containing 1 designated lending institution, and a subset of lending institutions containing other lending institutions in the current first institution set.

[0134] Optionally, the preset constraints include at least one of the following: the number of lending institutions borrowing resources from each borrowing institution is less than a preset threshold for the number of lending institutions; the total amount of resources of each lending institution in each subset of lending institutions is equal to the total amount of resources lent to each target borrowing institution in the corresponding resource lending scheme; in the two determined resource lending schemes, the total amount of resources lent to each borrowing institution is equal to the amount of resources lent to the target borrowing institution in the current resource lending scheme of the first institution set; the amount of resources lent to any borrowing institution by each lending institution or each subset of lending institutions is greater than a preset lower limit threshold for resource amount; for each subset of lending institutions, in the corresponding resource lending scheme, the proportion of the total resource interest of each target borrowing institution in the total amount of resources of each lending institution in the target lending institution subset is within a preset proportion range.

[0135] Optionally, the resource allocation module 420 can be used to: determine the upper limit of the processing time for the target computing node for the target task; the target task includes: determining the resource lending scheme of two subsets of lending institutions based on the current second institution set; calling the target computing node to execute the target task; if the target computing node determines the optimal solution of the target task within the determined upper limit of processing time, determining the resource lending scheme of the two subsets of lending institutions and adding the remaining time to the reserve time; if the determined upper limit of processing time ends and the target computing node has not determined a feasible solution to the target task, calling the target computing node to continue executing the target task based on the reserve time.

[0136] Optionally, the resource allocation module 420 can be used to: call the target computing node, add the preset borrowing institutions in the current second institution set to the resource lending scheme of any lending institution subset, and then determine the resource lending scheme of two lending institution subsets based on other borrowing institutions other than the preset borrowing institutions in the current second institution set.

[0137] Optionally, the resource allocation module 420 may be used to perform at least one of the following: (1) determining any computing node among multiple computing nodes whose load is less than a preset load threshold as the target computing node; (2) determining any computing node among multiple computing nodes that has not yet been called to determine the resource lending scheme as the target computing node.

[0138] According to embodiments of this application, any plurality of modules in the mechanism determination module 410 and the resource allocation module 420 may be combined into one module, or any one of these modules may be split into multiple modules. Alternatively, at least a portion of the functionality of one or more of these modules may be combined with at least a portion of the functionality of other modules and implemented in one module. According to embodiments of this application, at least one of the mechanism determination module 410 and the resource allocation module 420 may be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any appropriate combination of any of these three implementation methods. Alternatively, at least one of the mechanism determination module 410 and the resource allocation module 420 may be at least partially implemented as a computer program module, which, when run, can perform corresponding functions.

[0139] Based on the above method embodiments, this application also provides another resource allocation apparatus. The following will be combined with... Figure 6 The device is described in detail. Figure 6 A schematic block diagram of another resource allocation apparatus according to an embodiment of this application is shown. Figure 6 As shown, the resource allocation device 500 provided in this embodiment includes: a set determination module 510 and a step execution module 520.

[0140] The set determination module 510 is used to determine the set of lending institutions and the set of borrowing institutions; any lending institution is used to lend resources to one or more borrowing institutions. In one embodiment, the set determination module 510 can be used to perform the operation S310 described above and related operations, which will not be repeated here.

[0141] The step execution module 520 is used to determine the set of lending institutions as the first set of institutions and the set of borrowing institutions as the second set of institutions, and to perform a preset allocation step for the current first set of institutions and the current second set of institutions to determine the resource lending plan for each lending institution; the resource lending plan includes one or more target borrowing institutions as the target of resource lending, and the amount of resources lent to each target borrowing institution. The preset allocation steps include: splitting the current first set of institutions into two subsets of lending institutions; determining resource lending schemes for the two subsets of lending institutions based on the current second set of institutions, wherein the determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the targeted subset is greater than 1, determining the targeted subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is equal to 1, determining the resource lending scheme of the targeted subset of lending institutions as the resource lending scheme of a single lending institution in the targeted subset of lending institutions. In one embodiment, the step execution module 520 can be used to execute the operation S320 described above and related operations, which will not be repeated here.

[0142] The explanations of the above two device embodiments can be found in the explanations of other embodiments, and will not be repeated here.

[0143] Figure 7 A block diagram schematically illustrates an electronic device suitable for implementing a resource allocation method according to an embodiment of this application. For example... Figure 7 As shown, an electronic device 900 according to an embodiment of this application includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage portion 908 into a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of this application.

[0144] RAM 903 stores various programs and data required for the operation of electronic device 900. Processor 901, ROM 902, and RAM 903 are interconnected via bus 904. Processor 901 executes various operations of the method flow according to embodiments of this application by executing programs in ROM 902 and / or RAM 903. It should be noted that the programs may also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 may also execute various operations of the method flow according to embodiments of this application by executing programs stored in said one or more memories.

[0145] According to embodiments of this application, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to a bus 904. The electronic device 900 may also include one or more of the following components connected to the input / output (I / O) interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN card, modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output (I / O) interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 910 as needed so that computer programs read from it can be installed into the storage section 908 as needed.

[0146] This application also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of this application.

[0147] According to embodiments of this application, the computer-readable storage medium can be a non-volatile computer-readable storage medium, such as including but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this application, the computer-readable storage medium may include ROM 902 and / or RAM 903 and / or one or more memories other than ROM 902 and RAM 903 described above.

[0148] Embodiments of this application also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code enables the computer system to implement any of the method embodiments provided in the embodiments of this application. When the computer program is executed by processor 901, it performs the functions defined in the system / apparatus of the embodiments of this application. According to embodiments of this application, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.

[0149] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via the communication section 909, and / or installed from a removable medium 911. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.

[0150] In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, it performs the functions defined in the system of this application embodiment. According to the embodiments of this application, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.

[0151] According to embodiments of this application, program code for executing the computer programs provided in the embodiments of this application can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, languages ​​such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0152] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0153] Those skilled in the art will understand that the features described in the various embodiments of this application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in this application. In particular, the features described in the various embodiments of this application can be combined and / or combined in various ways without departing from the spirit and teachings of this application. All such combinations and / or combinations fall within the scope of this application.

Claims

1. A resource allocation method, characterized in that, Applied to control nodes; The control node is used to control multiple computing nodes; the method includes: Determine the set of lending institutions and the set of borrowing institutions; any lending institution may lend resources to one or more borrowing institutions. The set of lending institutions is defined as the first set of institutions, and the set of borrowing institutions is defined as the second set of institutions. A preset allocation step is performed on the current first set of institutions and the current second set of institutions to determine the resource lending plan for each lending institution. The resource lending plan includes one or more target borrowing institutions as the target of resource lending, and the amount of resources lent to each target borrowing institution. The preset allocation steps include: splitting the current first set of institutions into two subsets of lending institutions; determining a target computing node from the plurality of computing nodes, and calling the target computing node to determine the resource lending schemes of the two subsets of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is greater than 1, determining the targeted subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is equal to 1, determining the resource lending scheme of the targeted subset of lending institutions as the resource lending scheme of a single lending institution in the targeted subset of lending institutions.

2. The method according to claim 1, characterized in that, The step of splitting the current first set of institutions into two subsets of lending institutions includes: If the number of lending institutions in the current first set of institutions is greater than the first threshold, the current first set of institutions will be split into two lending institution subsets, where the number of lending institutions in each lending institution subset is greater than 1. If the number of lending institutions in the current first institution set is less than or equal to the first quantity threshold, the current first institution set is split into: a subset of lending institutions containing 1 lending institution, and a subset of lending institutions containing the other lending institutions in the current first institution set.

3. The method according to claim 2, characterized in that, The step of splitting the current first set of institutions into: a subset of lending institutions containing one lending institution, and a subset of lending institutions containing the other lending institutions in the current first set of institutions, includes: For the lending institutions in the current first set of institutions, determine the one lending institution with the lowest priority; the priority is positively correlated with the amount of resources of the lending institution; The current first set of institutions is split into: a subset of lending institutions containing the one specified lending institution, and a subset of lending institutions containing the other lending institutions in the current first set of institutions.

4. The method according to claim 1, characterized in that, The preset constraints include at least one of the following: The number of lending institutions borrowing resources from each borrowing institution is less than the preset threshold for the number of lending institutions; The total amount of resources of each lending institution in each subset of lending institutions is equal to the total amount of resources lent to each target borrowing institution in the corresponding resource lending plan. In the two determined resource lending schemes, the total amount of resources lent to each borrowing institution is equal to the amount of resources lent to that borrowing institution in the current resource lending scheme of the first institution set. For each lending institution or a subset of lending institutions, the amount of resources lent to any borrowing institution exceeds the preset lower limit threshold for resource amount. For each subset of lending institutions, in the corresponding resource lending scheme, the proportion of the total resource interest of each target borrowing institution in the total resource amount of each lending institution in the target subset of lending institutions is within a preset proportion range.

5. The method according to claim 1, characterized in that, The process of calling the target computing node to determine the resource lending scheme for the two lending institution subsets based on the current second institution set includes: Determine the upper limit of the processing time of the target computing node for the target task; the target task includes: determining the resource lending scheme of the two lending institution subsets based on the current second institution set; The target computing node is invoked to execute the target task; If the target computing node determines the optimal solution for the target task within the determined processing time limit, determine the resource lending scheme for the two lending institution subsets, and add the remaining time to the reserve time. If the determined processing time limit expires and the target computing node has not determined a feasible solution for the target task, the target computing node is invoked to continue executing the target task based on the reserved time.

6. The method according to claim 1, characterized in that, The process of calling the target computing node to determine the resource lending scheme for the two lending institution subsets based on the current second institution set includes: The target computing node is invoked to add the preset borrowing institutions in the current second institution set to the resource lending scheme of any lending institution subset. Then, based on other borrowing institutions in the current second institution set besides the preset borrowing institutions, the resource lending schemes of the two lending institution subsets are determined.

7. The method according to claim 1, characterized in that, Determining the target computing node from the plurality of computing nodes includes at least one of the following: Any computing node among the plurality of computing nodes whose load is less than a preset load threshold is identified as the target computing node; Any computing node among the plurality of computing nodes that is not currently invoked to determine the resource lending scheme is identified as the target computing node.

8. A resource allocation method, characterized in that, include: Determine the set of lending institutions and the set of borrowing institutions; any lending institution may lend resources to one or more borrowing institutions. The set of lending institutions is defined as the first set of institutions, and the set of borrowing institutions is defined as the second set of institutions. A preset allocation step is performed on the current first set of institutions and the current second set of institutions to determine the resource lending plan for each lending institution. The resource lending plan includes one or more target borrowing institutions as the target of resource lending, and the amount of resources lent to each target borrowing institution. The preset allocation steps include: splitting the current first set of institutions into two subsets of lending institutions; determining resource lending schemes for the two subsets of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the targeted subset is greater than 1, determining the targeted subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is equal to 1, determining the resource lending scheme of the targeted subset of lending institutions as the resource lending scheme of a single lending institution in the targeted subset of lending institutions.

9. A resource allocation device, characterized in that, Applied to control nodes; The control node is used to control multiple computing nodes; the device includes: The institution determination module is used to determine the set of lending institutions and the set of borrowing institutions; any lending institution can lend resources to one or more borrowing institutions. The resource allocation module is used to determine the set of lending institutions as a first set of institutions and the set of borrowing institutions as a second set of institutions, and to perform preset allocation steps for the current first set of institutions and the current second set of institutions to determine the resource lending plan for each lending institution; the resource lending plan includes one or more target borrowing institutions as resource lending targets, and the amount of resources lent to each target borrowing institution; The preset allocation steps include: splitting the current first set of institutions into two subsets of lending institutions; determining a target computing node from the plurality of computing nodes, and calling the target computing node to determine the resource lending schemes of the two subsets of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is greater than 1, determining the targeted subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is equal to 1, determining the resource lending scheme of the targeted subset of lending institutions as the resource lending scheme of a single lending institution in the targeted subset of lending institutions.

10. A resource allocation device, characterized in that, include: The set determination module is used to determine the set of lending institutions and the set of borrowing institutions; any lending institution can lend resources to one or more borrowing institutions. The step execution module is used to determine the set of lending institutions as a first set of institutions and the set of borrowing institutions as a second set of institutions, and to perform a preset allocation step for the current first set of institutions and the current second set of institutions to determine the resource lending plan for each lending institution; the resource lending plan includes one or more target borrowing institutions as resource lending targets, and the amount of resources lent to each target borrowing institution; The preset allocation steps include: splitting the current first set of institutions into two subsets of lending institutions; determining resource lending schemes for the two subsets of lending institutions based on the current second set of institutions, wherein the two determined resource lending schemes satisfy preset constraints; for any subset of lending institutions, if the number of lending institutions in the targeted subset is greater than 1, determining the targeted subset of lending institutions as the current first set of institutions, determining the target borrowing institution in the resource lending scheme of the targeted subset of lending institutions as the current second set of institutions, and executing the preset allocation steps for the current first set of institutions and the current second set of institutions; for any subset of lending institutions, if the number of lending institutions in the targeted subset of lending institutions is equal to 1, determining the resource lending scheme of the targeted subset of lending institutions as the resource lending scheme of a single lending institution in the targeted subset of lending institutions.

11. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 8.

12. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 8.

13. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 8.