Allocation method of new share subscription data and electronic equipment

By dismantling the subscription quantity into a polynomial data structure and allocating number plates, the problem of large investors dominance in the issuance of new stocks is solved, fairness and efficiency are achieved, and the fairness and efficiency of new stocks are improved.

CN119228540APending Publication Date: 2024-12-31WEBANK (CHINA)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411257913.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In the existing new stock issuance and distribution strategy, proportional distribution leads to large investors obtaining more new shares, small and medium-sized investors lack opportunities, mixed distribution is complex and inefficient, and lottery distribution results are unpredictable and unfair.

Method used

The number of investors' subscriptions is broken down into a polynomial data structure with the sum of the power index of a plus the remaining terms, and the number plate is allocated according to the polynomial data structure, and the distribution is ensured through data block storage and lottery processing.

Benefits of technology

The gap between large and small investors in the number of numbers is reduced, the fairness of the lottery process is achieved, and the storage and computing efficiency of new stock allocation is improved, and the skewed problem of random algorithms in extreme cases is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119228540A_ABST
    Figure CN119228540A_ABST
Patent Text Reader

Abstract

The invention provides a new share subscription data distribution method and electronic equipment, and belongs to the technical field of new share issuing distribution. According to the method, the subscription number is disassembled into a polynomial data structure of the sum of power exponents of a plus remaining items, then a corresponding number plate is allocated to a corresponding investor according to the polynomial data structure, the number plate number is the same as the item number of the polynomial data structure, each number plate is correspondingly configured with a different subscription number, and the number plate number is allocated to the investor according to the polynomial data structure. Each number plate corresponds to one serial number, and the larger the serial number corresponding to the number plate is, the larger the subscription number of the corresponding configuration is. Therefore, the difference between large investors and small and medium investors in the number plate number can be reduced, and the fairness of the subsequent lot drawing process can be realized; meanwhile, subscription data can be compressed, and the storage and calculation efficiency is improved. And drawing distribution is carried out in the data blocks, so that the problem of inclination of a random algorithm under extreme conditions can be avoided, and the fairness of new stock distribution can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of allocation of new stock issuance, and in particular to a method and electronic equipment for allocating new stock subscription data. Background Art

[0002] In current stock market transactions, allocation strategies for new stock issuances usually take a variety of forms. In the proportional allocation strategy, large investors usually get more new shares, while the subscription amount of small and medium investors is insignificant in front of large investors, causing them to lose opportunities. Although the mixed allocation strategy attempts to balance this situation, its complexity and efficiency issues limit its actual effect. Summary of the invention

[0003] The main purpose of the embodiment of the present application is to propose a method and electronic device for allocating new stock subscription data. The purpose is to compress subscription data and improve storage and computing efficiency by decomposing the subscription quantity of each investor into a polynomial data structure of the sum of the power exponents of a plus the remainder; at the same time, it can reduce the gap in the number of number plates between large investors and small and medium investors, and achieve fairness in the lottery process.

[0004] To achieve the above-mentioned purpose, a first aspect of an embodiment of the present application proposes a method for allocating new share subscription data, the method comprising:

[0005] Obtain the subscription quantity of the investor, and decompose the subscription quantity into a polynomial data structure of the sum of the power exponents of a plus the remainder, where a is a positive integer greater than or equal to 2, the power exponent is an integer, and the power exponent increases from 0 in sequence;

[0006] According to the polynomial data structure, a corresponding number of number plates are allocated to the corresponding investors, wherein the number of the number plates is the same as the number of terms in the polynomial data structure, each of the number plates corresponds to a different subscription quantity, each of the number plates corresponds to a number, and the larger the number corresponding to the number plate, the larger the corresponding subscription quantity;

[0007] The number plates corresponding to each investor and the subscription quantities configured for the number plates are stored in a data block in the form of key-value pairs, wherein all number plates corresponding to the same investor and the subscription quantities configured for the number plates are allocated to the same data block, and one data block stores the number plates corresponding to multiple investors and the subscription quantities configured for the number plates;

[0008] Based on the total number of new shares issued and the proportion of the sum of the subscription quantities corresponding to the number plates stored in each data block to the sum of the subscription quantities corresponding to all the number plates stored in all data blocks, determine the new share issuance quantity corresponding to each data block;

[0009] Lottery processing of the number plates is carried out within each of the data blocks, so as to allocate the new share issuance volume corresponding to the data block to the corresponding investors according to the lottery results of the number plates.

[0010] In an embodiment of the present application, the polynomial data structure obtained by decomposing the subscription quantity into the sum of power exponents of a plus a remainder term includes:

[0011] Decompose the subscription quantity into S = a 0 + a 1 + a 2 + … + a n + b polynomial data structure, where S represents the subscription quantity, b represents the remainder term, when the value of n ranges from 0 and increases successively to n, a 0 + a 1 + a 2 + … + a n < S, but when the power exponent ranges from 0 and increases successively to n + 1, a 0 + a 1 + a 2 + … + a n + a n+1 > S, b = S - (a 0 + a 1 + a 2 + … + a n ).

[0012] In an embodiment of the present application, the polynomial data structure obtained by decomposing the subscription quantity into the sum of power exponents of a plus a remainder term includes:

[0013] Decompose the subscription quantity into S = a 0 + a 1 + a 2 + … + a n + b polynomial data structure, where S represents the subscription quantity, b represents the remainder term,

[0014] In an embodiment of the present application, the step of allocating corresponding numbers of number plates to corresponding investors according to the polynomial data structure includes:

[0015] Allocate each item of the polynomial data structure a number plate to the corresponding investor;

[0016] Configure the same number of subscription quantities as the value of the corresponding item in the polynomial data structure for each number plate.

[0017] In an embodiment of the present application, the step of storing the number plates corresponding to each investor and the subscription quantities configured for the number plates in the form of key-value pairs into the data block includes:

[0018] Count the total number of number plates corresponding to each investor and cache them;

[0019] The total number of number plates corresponding to each investor is sorted according to the total number of number plates to obtain a sorted list;

[0020] A greedy strategy is applied to the sorted list to store the number plates corresponding to each investor and the subscription quantities configured corresponding to the number plates in the form of key-value pairs in a data block, so that one data block stores the number plates corresponding to multiple investors and the subscription quantities configured corresponding to the number plates, and all number plates corresponding to the same investor and the subscription quantities configured corresponding to the number plates are allocated to the same data block.

[0021] In one embodiment of the present application, the sorted list uses a greedy strategy to store the number plates corresponding to each investor and the subscription quantities configured corresponding to the number plates in the form of key-value pairs in a data block, so that one data block stores the number plates corresponding to multiple investors and the subscription quantities configured corresponding to the number plates, and all number plates corresponding to the same investor and the subscription quantities configured corresponding to the number plates are allocated to the same data block, including:

[0022] Allocate and store the maximum total number of number plates in the sorted list into a target data block;

[0023] Updating the remaining capacity of the target data block;

[0024] Deleting the maximum total number of number plates from the sorted list, and updating the sorted list;

[0025] Determine whether the maximum total number of number plates in the updated sorted list can be accommodated by the target data block;

[0026] If the maximum total number of number plates in the updated sorted list can be accommodated by the target data block, return to the step of allocating and storing the maximum total number of number plates in the sorted list in the target data block until the target data block can no longer accommodate any total number of number plates in the sorted list or all total number of number plates in the sorted list are allocated;

[0027] If the maximum total number of number plates in the updated sorted list cannot be accommodated by the target data block, the maximum total number of number plates is marked as unallocated and the process returns to the step of deleting the maximum total number of number plates from the sorted list and updating the sorted list.

[0028] In one embodiment of the present application, when the data block can no longer accommodate any total number of number plates in the sorted list, the method includes:

[0029] Sorting the total number of all number plates marked as unassigned according to size, and updating the sorted list;

[0030] After adding a new data block and taking the new data block as the target data block, the process returns to the step of allocating and storing the maximum total number of number plates in the sorted list into the target data block.

[0031] In one embodiment of the present application, the drawing of number plates in each of the data blocks to allocate the new share issuance amount corresponding to the data block to the corresponding investor according to the drawing result of the number plates includes:

[0032] Randomly draw a number plate from all the number plates stored in the data block;

[0033] Determine whether the subscription quantity configured by the drawn number plate is less than or equal to the new stock issuance quantity corresponding to the data block;

[0034] If the subscription quantity configured by the drawn number plate is less than or equal to the new share issuance quantity corresponding to the data block, the subscription quantity configured by the number plate is allocated to the investor corresponding to the drawn number plate;

[0035] After updating the new share issuance amount corresponding to the data block and deleting the drawn number plate from the data block, returning to the step of randomly drawing a number plate from all the number plates stored in the data block until all the new share issuance amount corresponding to the data block is allocated;

[0036] If the subscription quantity configured for the drawn number plate is greater than the new share issuance quantity corresponding to the data block, a number plate one size smaller than the drawn number plate is used as the drawn number plate, and the process returns to the step of determining whether the subscription quantity configured for the drawn number plate is less than or equal to the new share issuance quantity corresponding to the data block.

[0037] In one embodiment of the present application, before obtaining the subscription quantity of the investor, the method includes:

[0038] The new stock subscription data corresponding to each investor is grouped according to the subscription quantity range and an interval tree structure is established to dynamically monitor the new stock subscription data of each investor, wherein the non-leaf nodes of the interval tree structure represent continuous subscription quantity ranges, and the leaf nodes of the interval tree structure store the starting storage addresses of the new stock subscription data corresponding to each investor within the subscription quantity range.

[0039] In the technical solution provided in the embodiment of the present application, the subscription quantity is decomposed into a polynomial data structure of the sum of the power exponents of a plus the remaining terms, and then the corresponding number of number plates is allocated to the corresponding investors according to the polynomial data structure, wherein the number of number plates is the same as the number of terms in the polynomial data structure, and each number plate corresponds to a different subscription quantity, and each number plate corresponds to a number. The larger the number corresponding to the number plate, the more subscription quantity is configured. In this way, the gap in the number of number plates between large investors and small and medium-sized investors can be reduced, and the fairness of the subsequent lottery process can be achieved; at the same time, the subscription data can be compressed to improve storage and computing efficiency. The number plates corresponding to each investor and the subscription quantities configured accordingly are then stored in data blocks in the form of key-value pairs, wherein one data block stores the number plates corresponding to multiple investors and the subscription quantities configured accordingly, and all number plates corresponding to the same investor and the subscription quantities configured accordingly are allocated to the same data block; based on the total number of new shares issued and the proportion of the sum of the subscription quantities corresponding to the number plates stored in each data block to the sum of the subscription quantities corresponding to all the number plates stored in all data blocks, the new share issuance volume corresponding to each data block is determined; the number plates are drawn by lot in each data block to allocate the new share issuance volume corresponding to the data block to the corresponding investor according to the number plate drawing result. By drawing by lot in the data block, the tilt problem of the random algorithm in extreme cases can be avoided, and the fairness of new share allocation and the allocation efficiency can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 is a flow chart of a method for allocating new share subscription data provided by an embodiment of the present application;

[0041] Figure 2 is an example diagram of an interval tree provided in an embodiment of the present application;

[0042] Figure 3 is a flowchart of steps for allocating a corresponding number of number plates to corresponding investors according to a polynomial data structure provided by an embodiment of the present application;

[0043] Figure 4 This is a before-and-after comparison diagram of number plate allocation provided in an embodiment of the present application;

[0044] Figure 5 This is an example diagram of allocating and storing the number plates corresponding to investors and the subscription quantities configured for each number plate into a data block provided by an embodiment of the present application;

[0045] Figure 6 It is a flowchart of the steps of storing the number plates corresponding to each investor and the subscription quantity corresponding to the number plates in a data block in the form of key-value pairs provided by an embodiment of the present application;

[0046] Figure 7 It is a flow chart of allocating the number plates corresponding to investors to data blocks provided by an embodiment of the present application;

[0047] Figure 8 A flowchart of the steps of performing a lottery process of number plates in each data block, provided by an embodiment of the present application, so as to allocate the new share issuance amount corresponding to the data block to the corresponding investors according to the lottery result of the number plates;

[0048] Fig. 9 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0050] It should be noted that, although the functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first", "second", etc. in the specification, claims and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0051] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0052] In current stock market transactions, allocation strategies for new stock issuances usually take a variety of forms. The purpose of these allocation strategies is to ensure fairness and effectiveness to meet the needs of different types of investors. The following are several common allocation methods:

[0053] Proportional allocation: New shares are allocated according to the proportion of the number of shares subscribed to the total number of shares issued. This method usually gives investors who subscribe more shares to reflect their larger investment amount.

[0054] Lottery allocation: The subscription qualification is regarded as a lottery, and the objects of new stock allocation are determined by random drawing. The advantage of this method is fairness, and each subscriber has the same chance to obtain new stocks.

[0055] Hybrid allocation: It combines proportional allocation and lottery allocation. This composite allocation strategy is usually adopted to balance the opportunities between large investors and small and medium-sized investors.

[0056] However, when the subscription amount far exceeds the issuance amount, allocating in proportion is disadvantageous to small and medium-sized investors. Small subscriptions are not worth mentioning in front of large investors, which leads to the loss of opportunities for small and medium-sized investors. If the allocation is made by lottery, since the lottery allocation process is a random process, it depends on the results of the underlying random algorithm, making the allocation results unpredictable and unable to correct possible deviations in time. If the allocation is made by mixed allocation, combining the two methods of proportional allocation and lottery allocation will increase the complexity and time cost of the allocation process, making it difficult to achieve the best balance between efficiency and fairness.

[0057] Moreover, the existing allocation plan lacks the ability to be adjusted dynamically and cannot be adjusted dynamically according to real-time subscription conditions to better meet the needs of investors.

[0058] Based on this, an embodiment of the present application proposes a method for allocating new stock subscription data. By decomposing the subscription quantity of each investor into a polynomial data structure of the sum of the power exponents of a plus the remainder, the subscription data can be compressed and the storage and computing efficiency can be improved; at the same time, the gap in the number of number plates between large investors and small and medium-sized investors can be reduced, and the fairness of the lottery process can be achieved.

[0059] Reference Figure 1 , Figure 1 It is a flowchart of a method for allocating new share subscription data provided in an embodiment of the present application, including but not limited to steps S110 to S150.

[0060] Step S110, obtaining the subscription quantity of the investor, and decomposing the subscription quantity into a polynomial data structure of the sum of the power exponents of a plus the remaining terms, wherein a is a positive integer greater than or equal to 2, the power exponent is an integer, and the power exponent increases from 0 in sequence.

[0061] In an embodiment of the present application, before obtaining the subscription quantity of each investor, the new share subscription data corresponding to each investor may be grouped according to the subscription quantity range and an interval tree structure may be established to dynamically monitor the new share subscription data of each investor, wherein the non-leaf nodes of the interval tree structure represent a continuous subscription quantity range, and the leaf nodes of the interval tree structure store the starting storage address of the new share subscription data corresponding to each investor within the subscription quantity range.

[0062] Specifically, the embodiment of the present application groups the new share subscription data corresponding to each investor according to the subscription quantity range and establishes an interval tree structure, wherein the non-leaf nodes of the interval tree structure represent continuous subscription quantity ranges (i.e., intervals), and the leaf nodes of the interval tree structure store the starting storage addresses of the new share subscription data corresponding to each investor within the subscription quantity range. The new share subscription data of each investor can be dynamically monitored through the interval tree structure. The interval tree structure facilitates dynamic monitoring and screening of subscription quantities in different intervals for corresponding allocation when the subscription data changes in real time.

[0063] The interval tree structure uses intervals as nodes, and each node represents a continuous range of subscription quantities. By grouping investors' subscription data according to the subscription quantity range and establishing an interval tree, the subscription data of investors in different intervals can be quickly located, thereby realizing dynamic monitoring and screening of each investor's subscription data.

[0064] Specifically, the non-leaf nodes of the interval tree can represent a continuous range of subscription quantities, and the leaf nodes store the starting storage address of the investor subscription data within the corresponding interval. Figure 2 , Figure 2 is an example diagram of an interval tree provided by an embodiment of the present application. Figure 2 Taking the interval tree shown as an example, there are 3 investors whose subscription quantity is between 0 and 50, 2 investors whose subscription quantity is between 0 and 25, and 1 investor whose subscription quantity is between 26 and 50. There is 1 investor whose subscription quantity is between 0 and 12, and 1 investor whose subscription quantity is between 13 and 25. There is 1 investor whose subscription quantity is between 26 and 38, and 0 investor whose subscription quantity is between 38 and 50. At the same time, the starting storage address of the investor subscription data in the corresponding interval is stored in the leaf node. Therefore, the subscription data corresponding to each investor can be dynamically monitored through the interval tree structure, and the subscription data of each investor can be easily screened through the interval tree structure. For example, when you want to screen how many investors have a subscription quantity of more than 12, you can start from the root node of the interval tree and search from top to bottom, and record the total number of people found as N. total . First, we find nodes 0-25 and nodes 26-50. Since nodes 0-25 contain intervals greater than 12, we continue to search downwards. When we continue to search downwards at node 0-25, we find that [0-12] does not meet the search criteria and we can ignore this node. Nodes 13-25 meet the criteria, and the number of people obtained from this node is 1, and the total number of people increases by 1. Nodes 26-50 are obviously greater than 12, so the number of people whose subscription quantity is in this interval can be obtained from this node, and the total number of people increases by 1. Finally, by searching the interval tree, we can determine that there are 2 investors whose subscription quantity exceeds 12, and their corresponding starting storage addresses are 03 and 08 respectively.

[0065] In the embodiment of the present application, after constructing an interval tree to dynamically monitor the subscription data of each investor, the subscription quantity corresponding to each investor can be dynamically obtained, so that corresponding data storage and new stock allocation can be performed based on the obtained subscription quantity of each investor. After the subscription data of the investor changes, it is necessary to re-allocate based on the allocation method proposed in the embodiment of the present application, thereby realizing dynamic adjustment of the allocation and ensuring the flexibility and adaptability of the allocation process.

[0066] In the embodiment of the present application, after obtaining the subscription quantity corresponding to each investor, the subscription quantity is first decomposed into a polynomial data structure of the sum of the power exponents of a plus the remainder, where a is a positive integer greater than or equal to 2, the power exponent is an integer, and the power exponent increases from 0. It should be noted that when the subscription quantity can be decomposed into a polynomial data structure of the sum of the power exponents of a, the remainder is 0. For example, when a is 2, if the subscription quantity of investor A is 3, 3 can be decomposed into 2 0 +2 1 +0; if the subscription quantity of investor A is 30, then 30 can be split into 2 0 +2 1 +2 2 +2 3 +15. For example, if a is 3, and the subscription quantity of investor A is 4, then 4 can be split into 3. 0 +3 1 +0; if investor A's subscription quantity is 30, then 30 can be split into 3 0 +3 1 +3 2 +17. For example, if a is 4, and the subscription quantity of investor A is 5, then 5 can be split into 4. 0 +4 1 +0; if investor A's subscription quantity is 30, then 30 can be split into 4 0 +4 1 +4 2 +9. For example, if a is 5, and the subscription quantity of investor A is 6, then 6 can be split into 5. 0 +5 1 +0; if investor A's subscription quantity is 30, then 30 can be split into 5 0 +5 1 +24.

[0067] It should be noted that the value of a can be determined based on the specific subscription amount of each investor and the new stock issuance strategy. The larger the value of a is, the better the effect of reducing the number of number plates of investors with large subscription amounts.

[0068] Specifically, in the embodiments of the present application, the subscription quantity is disassembled into a polynomial data structure of the sum of the power exponents of a plus the remaining term, where the power exponents increase sequentially from 0 until the sum of the power exponents of a is equal to the subscription quantity. For example, when a takes 2, if the subscription quantity of investor A is 3, then 3 can be disassembled into 2 0 +2 1 ; if the subscription quantity of investor A is 15, then 15 can be disassembled into 2 0 +2 1 +2 2 +2 3 . However, considering that some values cannot be exactly disassembled into the sum of the power exponents of a. At this time, it is necessary to disassemble the subscription quantity into a polynomial data structure of the sum of the power exponents of a plus the remaining term. Among them, the remaining term is the difference between the subscription quantity and the sum of the power exponents of a, and the power exponents increase sequentially from 0 so that the sum of the power exponents of a is not greater than the subscription quantity but when the power exponent increases by one more quantity, the sum of the power exponents of a is greater than the subscription quantity. Specifically, the subscription quantity S can be disassembled into S = a 0 +a 1 +a 2 +…+a n +b polynomial data structure, where b = S - (a 0 +a 1 +a 2 +…+a n ), and the value of n is when the power exponents increase sequentially from 0 to n, a 0 +a 1 +a 2 +…+a n < S, but when the power exponents increase sequentially from 0 to n + 1, a 0 +a 1 +a 2 +…+a n +a n+1 > S.

[0069] In some embodiments, the subscription quantity is disassembled into S = a 0 +a 1 +a 2 +…+a n +b polynomial data structure, where S represents the subscription quantity and b represents the remaining term, Specifically, when a takes the value of 2, the subscription quantity is disassembled into S = 2 0 +2 1 +2 2 +…+2 n +b, where Taking the subscription quantity of 30 as an example, the subscription quantity 30 can be disassembled into 30 = 2 0 +2 1 +22 +2 3 +15. When a takes the value 3, the subscription quantity is decomposed into S=3 0 +3 1 +3 2 +…+3 n +b, where Take the subscription quantity as 30 as an example. The subscription quantity 30 can be split into 30=3 0 +3 1 +3 2 +17. When a takes the value of 4, the subscription quantity is decomposed into S=4 0 +4 1 +4 2 +…+4 n +b, where Take the subscription quantity as 30 as an example. The subscription quantity 30 can be split into 30=4 0 +4 1 +4 2 +9. When a takes the value of 5, the subscription quantity is decomposed into S=5 0 +5 1 +5 2 +…+5 n +b, where Take the subscription quantity as 30 as an example. The subscription quantity 30 can be split into 30=5 0 +5 1 +24.

[0070] Step S120, allocate a corresponding number of number plates to corresponding investors according to the polynomial data structure, wherein the number of number plates is the same as the number of terms in the polynomial data structure, each number plate corresponds to a different subscription quantity, each number plate corresponds to a number, and the larger the number corresponding to the number plate, the larger the corresponding subscription quantity.

[0071] In the embodiment of the present application, after the subscription quantity of the investor is decomposed into the polynomial data structure of the sum of the power exponents of a plus the remaining terms, the corresponding number of number plates is further allocated to the corresponding investor according to the polynomial data structure, so that the number of number plates that can be allocated to the investor is the same as the number of terms in the polynomial data structure, and each number plate corresponds to a different subscription quantity. At the same time, each number plate corresponds to a number, and the larger the number corresponding to the number plate, the more subscription quantity is correspondingly configured.

[0072] Reference Figure 3 , Figure 3It is a flowchart of steps for allocating a corresponding number of number plates to corresponding investors according to a polynomial data structure provided by an embodiment of the present application, including but not limited to steps S310 to S320.

[0073] Step S310, assigning a number plate to a corresponding investor for each item of the polynomial data structure;

[0074] Step S320, configuring each number plate with a subscription quantity that is the same as the value of the corresponding item in the polynomial data structure.

[0075] In the embodiment of the present application, each item of the polynomial data structure is assigned a number plate to the corresponding investor, and each number plate is configured with the same number of subscriptions as the value of the corresponding item in the polynomial data structure. Taking the subscription quantity of investor A as 30 as an example, the value of a is 2, and the subscription quantity 30 can be decomposed into 30=2 0 +2 1 +2 2 +2 3 +15 polynomial data structure. The polynomial data structure includes 5 items, that is, 5 number plates are assigned to investor A, and they are numbered A1, A2, A3, A4, and A5 in sequence. Among them, the number plate numbered A1 corresponds to the subscription quantity of 2. 0 , which is 1. The number plate numbered A2 corresponds to a subscription quantity of 2 1 , which is 2. The number plate numbered A3 corresponds to a subscription quantity of 2 2 , which is 4. The number plate numbered A4 corresponds to a subscription quantity of 2 3 , which is 8. The number plate numbered A5 corresponds to 15 subscriptions.

[0076] Reference Figure 4 , Figure 4: This is a before-and-after comparison diagram of the number plate allocation provided by an embodiment of the present application. In the conventional practice before, a number plate for drawing lots is allocated to each investor for every n subscription quantities. For example, suppose there are 4 investors, investor A subscribes to 3 lots, investor B subscribes to 30 lots, investor C subscribes to 15 lots, and investor D subscribes to 1 lot. When n=1, 3 number plates are allocated to investor A, 30 number plates are allocated to investor B, 15 number plates are allocated to investor C, and 1 number plate is allocated to investor D. If the address of each storage unit is regarded as a number plate. Therefore, investor A occupies 3 storage units, investor B occupies 30 storage units, investor C occupies 15 storage units, and investor D occupies 1 storage unit. For investor A, the 3 number plates allocated can be numbered A1, A2, and A3 respectively. Then, investor A's winning {A1, A2} and winning {A2, A3} and winning {A1, A3} are equivalent, so there is no need to store them repeatedly. Moreover, the number of allocated number plates is large, and the storage space occupied is too large. In this regard, the embodiment of the present application proposes a method such as Figure 3 The new method of allocating number plates shown in the figure is to allocate a number plate to the corresponding investor for each item in the polynomial data structure, and configure each number plate with the same number of subscription quantities as the value of the corresponding item in the polynomial data structure. In this way, for investor A, the subscription quantity is 3, then the subscription quantity 3 is decomposed into 3=2 0 +2 1 =1+2 polynomial data structure. This polynomial data structure includes 2 items, that is, 2 number plates are assigned to investor A, and they are numbered A1 and A2 in sequence. Among them, the number plate numbered A1 corresponds to the subscription quantity of 2. 0 , which is 1. The number plate numbered A2 corresponds to a subscription quantity of 2 1 , which is 2. For investor B, the subscription amount is 30, so the subscription amount 30 is decomposed into 30 = 2 0 +2 1 +2 2 +2 3 +15=1+2+4+8+15. This polynomial data structure includes 5 items, that is, 5 number plates are assigned to investor B, and they are numbered in sequence as B1, B2, B3, B4, and B5. Among them, the number plate numbered B1 corresponds to the subscription quantity of 2. 0 , which is 1. The number plate numbered B2 corresponds to a subscription quantity of 2 1 , which is 2. The number plate numbered B3 corresponds to a subscription quantity of 2 2 , which is 4. The number plate numbered B4 corresponds to a subscription quantity of 2 3, which is 8. The number plate numbered B5 corresponds to a subscription quantity of 15. For investor C, the subscription quantity is 15, so the subscription quantity 15 is decomposed into 30 = 2 0 +2 1 +2 2 +2 3 =1+2+4+8 polynomial data structure. This polynomial data structure includes 4 items, that is, 4 number plates are assigned to investor C, and they are numbered C1, C2, C3, and C4 in sequence. Among them, the number plate numbered C1 corresponds to the subscription quantity of 2. 0 , which is 1. The number plate numbered C2 corresponds to a subscription quantity of 2 1 , which is 2. The number plate numbered C3 corresponds to a subscription quantity of 2 2 , which is 4. The number plate numbered C4 corresponds to a subscription quantity of 2 3 , which is 8.

[0077] Through the above compression algorithm, we can get Figure 4 (b) shows the storage result. It can be seen that the storage space of investors A, B, and C has been compressed. Moreover, the above compression algorithm can also balance the opportunities of large investors and small and medium investors. Even if the subscription amount of large investors is 10,000 times that of small and medium investors, according to Figure 3 After the number plates are allocated according to the distribution method shown, the number of number plates will only differ by 13.

[0078] This is a method that combines proportional allocation and lottery. It can be seen that the difference between the number of subscriptions of investors A and B is 30-3=27 lots, but the difference in the number of number plates is only 5-2=3. The number of number plates of each investor is close, which can make the lottery fairer. However, among the number plates owned by relatively large investors such as investor B, the number of subscriptions allocated to the last two number plates with larger numbers is larger. This design concept achieves a balance, which not only ensures the fairness of the lottery, but also takes into account proportional allocation.

[0079] Step S130, the number plates corresponding to each investor and the subscription quantities configured for the number plates are stored in a data block in the form of key-value pairs, wherein all number plates corresponding to the same investor and the subscription quantities configured for the number plates are allocated to the same data block, and one data block stores the number plates corresponding to multiple investors and the subscription quantities configured for the number plates.

[0080] In the embodiment of the present application, after the corresponding number of number plates are allocated to the corresponding investors according to the polynomial data structure, the number plates corresponding to each investor and the subscription quantities configured for each number plate can be further allocated and stored in a data block. Among them, all number plates corresponding to the same investor and the subscription quantities configured for the number plates are allocated to the same data block, and one data block is used to store the number plates corresponding to multiple investors and the subscription quantities configured for the number plates.

[0081] For example, refer to Figure 5 , Figure 5 This is an example diagram of allocating and storing the number plates corresponding to investors and the subscription quantities configured for each number plate into data blocks provided by an embodiment of the present application. Figure 5 As shown, there are 6 investors, namely Investor A, Investor B, Investor C, Investor D, Investor E, and Investor F. Among them, the subscription quantity of investor A is 3, corresponding to the allocation of 2 number plates A1 and A2, among which the subscription quantity configured for number plate A1 is 1, and the subscription quantity configured for number plate A2 is 2. The subscription quantity of investor B is 30, corresponding to the allocation of 5 number plates B1, B2, B3, B4, and B5, among which the subscription quantity configured for number plate B1 is 1, the subscription quantity configured for number plate B2 is 2, the subscription quantity configured for number plate B3 is 4, the subscription quantity configured for number plate B4 is 8, and the subscription quantity configured for number plate B5 is 15. Investor C's subscription quantity is 15, corresponding to 4 number plates C1, C2, C3, and C4, among which the subscription quantity of number plate C1 is 1, the subscription quantity of number plate C2 is 2, the subscription quantity of number plate C3 is 4, and the subscription quantity of number plate C4 is 8. Investor D's subscription quantity is 1, corresponding to 1 number plate D1, among which the subscription quantity of number plate D1 is 1. Investor E's subscription quantity is 30, corresponding to 5 number plates E1, E2, E3, E4, and E5, among which the subscription quantity of number plate E1 is 1, the subscription quantity of number plate E2 is 2, the subscription quantity of number plate E3 is 4, the subscription quantity of number plate E4 is 8, and the subscription quantity of number plate E5 is 15. Investor F's subscription quantity is 15, corresponding to the allocation of 4 number plates F1, F2, F3, and F4. The subscription quantity configured for number plate F1 is 1, the subscription quantity configured for number plate F2 is 2, the subscription quantity configured for number plate F3 is 4, and the subscription quantity configured for number plate F4 is 8. In the process of storing each investor's number plate in the data block, the number plate number is used as the key, and the subscription quantity corresponding to the number plate is used as the value, and the number plate is stored in the data block in the form of a key-value pair. Figure 5 As shown, the number plates of investors A, B, C, and D are stored in data block 1 in the form of key-value pairs, and the number plates of investors E and F are stored in data block 2 in the form of key-value pairs.

[0082] Reference Figure 6 , Figure 6 It is a flowchart of the steps provided by an embodiment of the present application for storing the number plates corresponding to each investor and the subscription quantity corresponding to the number plates in a data block in the form of key-value pairs, including but not limited to steps S610 to S630.

[0083] Step S610, counting the total number of number plates corresponding to each investor and caching them;

[0084] Step S620, sorting the total number of number plates corresponding to each investor according to the total number of number plates to obtain a sorted list;

[0085] Step S630, apply a greedy strategy to the sorted list to allocate and store the number plates corresponding to each investor in the corresponding data blocks, so that one data block can store the number plates corresponding to multiple investors and the subscription quantities configured corresponding to the number plates, and all number plates corresponding to the same investor and the subscription quantities configured corresponding to the number plates are allocated to the same data block.

[0086] In the embodiment of the present application, the total number of number plates corresponding to each investor is first counted and cached, and then the total number of number plates corresponding to each investor is sorted according to the size of the total number of number plates to obtain a sorted list. Specifically, the total number of number plates corresponding to each investor can be sorted in order from large to small to obtain an increasing sorted list. Then, a greedy strategy is used to allocate and store the number plates corresponding to each investor in the sorted list into corresponding data blocks, so that one data block can store the number plates corresponding to multiple investors, and all number plates corresponding to the same investor are allocated to the same data block. This ensures that the space utilization of the data block is maximized.

[0087] In the embodiment of the present application, in the process of writing the number plates allocated by investors into the data blocks, the goal is to efficiently calculate which data block a certain investor's number plate is assigned to, so that the space of the data block is used to the fullest extent. The capacity of the data block is fixed, so an efficient algorithm is needed to process the number of number plates that are constantly coming in in real time and allocate them to the appropriate data blocks to ensure that the space utilization of the data blocks is maximized.

[0088] Considering that the embodiment of the present application records the subscription status of investors in real time and it is difficult to predict the number of subscriptions of the next person, the use of the greedy idea can help fill the data blocks as much as possible in each allocation, thereby reducing the number of data blocks. However, greed only cares about the best at hand and is "short-sighted", so it needs to be optimized.

[0089] In the embodiment of the present application, if the data block is written in the order of the input of the total number of the number plates of the investor, in each step, an attempt is made to put the current total number of the number plates into the best data block that can accommodate the total number of the number plates, that is, the number plates corresponding to the investors and the number plates corresponding to the subscription quantity are stored in the best data block in the form of key-value pairs. "Best" refers to selecting the data block with the smallest remaining space to maximize the use of the space of the data block. If no suitable data block is found, a new data block can be added, and then the total number of the number plates corresponding to the investors is written into the new data block. The number plates corresponding to the investors and the number plates corresponding to the subscription quantity are stored in the new data block in the form of key-value pairs. Thus, it can be seen that the short-sightedness problem of the greedy algorithm, that is, the distribution of the optimal total number of number plates cannot be achieved.

[0090] Therefore, the embodiment of the present application uses a cache. After the number plates corresponding to each investor are allocated and calculated, they are temporarily stored without writing data blocks. After the cache is full, the total number of number plates is sorted to obtain a monotonically decreasing sorted list, and then the sorted list is written using a greedy strategy. This can avoid the short-sightedness of greed in a local area, and can integrate the efficiency of the greedy algorithm and make up for its shortcomings.

[0091] Specifically, refer to Figure 7 , Figure 7 This is a flow chart of allocating the number plates corresponding to investors to data blocks provided by the embodiment of the present application, including but not limited to steps S710 to S760.

[0092] Step S710, sorting the total number of number plates corresponding to each investor according to the size of the total number of number plates to obtain a sorted list.

[0093] Step S720, allocating and storing the maximum total number of number plates in the sorted list into the target data block.

[0094] Step S730: Update the remaining capacity of the target data block.

[0095] Step S740, delete the maximum total number of number plates from the sorting list, and update the sorting list.

[0096] Step S750, determining whether the maximum total number of number plates in the updated sorted list can be accommodated by the target data block;

[0097] Step S760, if the maximum total number of number plates in the updated sorted list can be accommodated by the target data block, then return to the step of allocating and storing the maximum total number of number plates in the sorted list in the target data block; if the maximum total number of number plates in the updated sorted list cannot be accommodated by the target data block, then mark the maximum total number of number plates as unallocated and then return to the step of deleting the maximum total number of number plates from the sorted list and updating the sorted list.

[0098] In the present application, refer to Figure 7 In the process of allocating the number plates corresponding to the investors to the data blocks, firstly allocate the largest number plate total in the sorted list to the target data block, then determine whether the second largest number plate total in the sorted list can be accommodated by the target data block, if so, allocate the second largest number plate total in the sorted list to the target data block; if not, determine whether the third largest number plate total in the sorted list can be accommodated by the target data block, if so, allocate the third largest number plate total in the sorted list to the target data block; if not, determine whether the fourth largest number plate total in the sorted list can be accommodated by the target data block. In this way, until the target data block can no longer accommodate any number plate total in the sorted list or all number plate totals in the sorted list are allocated.

[0099] In the embodiment of the present application, when the target data block can no longer accommodate any number plate total in the sorted list, all unallocated number plate totals are sorted by size and updated into the sorted list. Figure 7 The method shown allocates the total number of unallocated number plates to the newly added data blocks. In this way, the total number of number plates corresponding to all investors are allocated to the corresponding data blocks, so that one data block stores number plates corresponding to multiple investors, and all number plates corresponding to the same investor are allocated to the same data block.

[0100] Step S140, based on the total number of new shares issued and the ratio of the total subscription quantity corresponding to the number plates stored in each data block to the total subscription quantity corresponding to all number plates stored in all data blocks, determine the new share issuance quantity corresponding to each data block.

[0101] In the embodiment of the present application, after all the total number of number plates corresponding to all investors are allocated to the corresponding data blocks, it is also necessary to determine the new share issuance amount corresponding to each data block based on the total number of new shares issued and the proportion of the sum of the subscription quantities corresponding to the number plates stored in each data block to the sum of the subscription quantities corresponding to all the number plates stored in all data blocks. That is, the proportion of the sum of the subscription quantities corresponding to the number plates stored in the data block to the sum of the subscription quantities corresponding to all the number plates stored in all data blocks is multiplied by the total number of new shares issued to obtain the new share issuance amount corresponding to the data block.

[0102] by Figure 5 As shown in the figure, the number plates corresponding to all investors are assigned to two data blocks, data block 1 and data block 2. The total number of subscriptions corresponding to all number plates stored in data block 1 is 3+30+15+1=49. The total number of subscriptions corresponding to all number plates stored in data block 2 is 30+30=60. If the total number of new shares issued is 109, the number of new shares issued corresponding to data block 1 can be calculated as The new share issuance volume corresponding to data block 2 is

[0103] In the embodiment of the present application, the filter block can also be used to filter out investors whose subscription amount in the data block is less than a preset amount. For example, the filter block can be used to filter out investors whose subscription amount in the data block is less than 10, and the Figure 5 Investor A and investor D are filtered out in data block 1 shown in . Therefore, data block 1 stores the number plates of investor B and investor C, and data block 2 stores investor E and investor F. At this time, if the total number of new shares issued is 35 lots, the new share issuance amount corresponding to data block 1 can be determined to be The new share issuance volume corresponding to data block 2 is

[0104] Step S150, performing a lottery process for number plates in each data block, so as to distribute the new share issuance amount corresponding to the data block to the corresponding investors according to the lottery result of the number plates.

[0105] In an embodiment of the present application, after calculating the new share issuance volume corresponding to each data block, a number plate drawing process is performed in each data block to allocate the new share issuance volume corresponding to the data block to the corresponding investor according to the number plate drawing result.

[0106] Reference Figure 8 , Figure 8 It is a flowchart of the steps of drawing numbers in each data block provided by an embodiment of the present application to distribute the new share issuance volume corresponding to the data block to the corresponding investors according to the results of the number plate drawing, including but not limited to steps S810 to S850.

[0107] Step S810, randomly selecting a number plate from all number plates stored in the data block;

[0108] Step S820, determining whether the subscription quantity configured by the drawn number plate is less than or equal to the new share issuance quantity corresponding to the data block;

[0109] Step S830, if the subscription quantity configured by the drawn number plate is less than or equal to the new share issuance quantity corresponding to the data block, the subscription quantity configured by the number plate is allocated to the investor corresponding to the drawn number plate;

[0110] Step S840, updating the new stock issuance amount corresponding to the data block, and after deleting the drawn number plate from the data block, returning to the step of randomly drawing a number plate from all the number plates stored in the data block, until all the new stock issuance amount corresponding to the data block is allocated;

[0111] Step S850, if the subscription quantity configured by the drawn number plate is greater than the new share issuance quantity corresponding to the data block, a number plate one size smaller than the drawn number plate is used as the drawn number plate, and the process returns to the step of determining whether the subscription quantity configured by the drawn number plate is less than or equal to the new share issuance quantity corresponding to the data block;

[0112] In the embodiment of the present application, during the process of drawing lots in the data block, a number plate is first randomly drawn from all the number plates stored in the data block, and if the subscription quantity configured by the drawn number plate is less than or equal to the new stock issuance volume corresponding to the data block, the subscription quantity configured by the drawn number plate is distributed to the investor corresponding to the drawn number plate. Then the subscription quantity configured by the drawn number plate is deducted from the new stock issuance volume corresponding to the data block to update the new stock issuance volume corresponding to the data block, and the drawn number plate is deleted from the data block. Then continue to randomly draw a number plate from the data block. And if the subscription quantity configured by the drawn number plate is greater than the new stock issuance volume corresponding to the data block, a number plate smaller than the drawn number plate is used as the drawn number plate, and the step of returning to determine whether the subscription quantity configured by the drawn number plate is less than or equal to the new stock issuance volume corresponding to the data block is returned. That is, if the subscription quantity configured by the number plate one size smaller than the number plate drawn is less than or equal to the updated new stock issuance, the subscription quantity configured by the number plate one size smaller than the number plate drawn is allocated to the investor corresponding to the number plate one size smaller than the number plate drawn. If the subscription quantity configured by the number plate one size smaller than the number plate drawn is still greater than the updated new stock issuance, it is determined whether the subscription quantity configured by the number plate 2 sizes smaller than the number plate drawn is less than or equal to the new stock issuance corresponding to the data block. If the subscription quantity configured by the number plate 2 sizes smaller than the number plate drawn is less than or equal to the updated new stock issuance, the subscription quantity configured by the number plate 2 sizes smaller than the number plate drawn is allocated to the investor corresponding to the number plate 2 sizes smaller than the number plate drawn. In this way, draw lots repeatedly, and distribute the new stock issuance according to the result of the draw, until the new stock issuance corresponding to the data block is fully distributed.

[0113] For example, in Figure 5 Take the data block 1 shown in the figure as an example, and filter out the investors whose subscription quantity is less than 10 in the data block by filtering the block, so that Figure 5Investor A and investor D are filtered out in the data block 1 shown in . Therefore, the number plates of investor B and investor C are stored in data block 1. The new stock issuance volume corresponding to data block 1 is 15 lots. A number plate is randomly drawn from all the number plates stored in data block 1. Assuming that number plate C4 in data block 1 is drawn (the corresponding configured subscription quantity is 8), since 8<15, 8 lots of new stocks can be allocated to investor C. Number plate C4 is removed from data block 1, and the new stock issuance volume of data block 1 is updated to 15-8=7. Then continue to randomly draw a number plate from the remaining number plates in data block 1. If number plate B4 is drawn again (the corresponding configured subscription quantity is 8), since 8>7, the subscription quantity corresponding to number plate B3 (the corresponding configured subscription quantity is 4) which is one size smaller than number plate B4 is allocated to investor B, that is, 4 lots of new stocks are allocated to investor B. Remove number plate B3 from data block 1, and update the new share issuance volume of data block 1 to 7-4=3. Then continue to randomly draw a number plate from the remaining number plates in data block 1. If number plate B2 is drawn (the corresponding configured subscription quantity is 2), since 2<3, 2 lots of new shares can be allocated to investor B. Remove number plate B2 from data block 1, and update the new share issuance volume of data block 1 to 3-2=1. Then continue to randomly draw a number plate from the remaining number plates in data block 1. If number plate C1 is drawn (the corresponding configured subscription quantity is 1), 1 lot of new shares can be allocated to investor C. The allocation is now complete.

[0114] An embodiment of the present application further provides an electronic device, which includes a memory and a processor, wherein the memory stores a computer program, and the above method is implemented when the processor executes the computer program.

[0115] See also Fig. 9 , Fig. 9 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:

[0116] The processor 901 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application;

[0117] The memory 902 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 902 can store an operating system and other applications. When the technical solution provided in the embodiments of this specification is implemented by software or firmware, the relevant program code is stored in the memory 902, and the processor 901 calls and executes the above method of the embodiment of this application;

[0118] Input / output interface 903, used to implement information input and output;

[0119] Communication interface 904, used to realize communication interaction between the device and other devices, which can be realized by wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WIFI, Bluetooth, etc.);

[0120] A bus 905 that transmits information between various components of the device (e.g., the processor 901, the memory 902, the input / output interface 903, and the communication interface 904);

[0121] The processor 901 , the memory 902 , the input / output interface 903 and the communication interface 904 are connected to each other in communication within the device via a bus 905 .

[0122] The embodiments described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0123] Those skilled in the art will appreciate that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.

[0124] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0125] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.

[0126] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0127] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0128] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0129] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0130] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0131] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store programs.

[0132] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the present invention is not limited thereto. Any modification, equivalent substitution and improvement made by a person skilled in the art without departing from the scope and substance of the present invention should be within the scope of the rights of the present invention.

Claims

1. A method for allocating new stock subscription data, characterized in that: The method comprises: Obtain the subscription quantity of the investor, and decompose the subscription quantity into a polynomial data structure of the sum of the power exponents of a plus the remainder, where a is a positive integer greater than or equal to 2, the power exponent is an integer, and the power exponent increases from 0 in sequence; According to the polynomial data structure, a corresponding number of number plates are allocated to the corresponding investors, wherein the number of the number plates is the same as the number of terms in the polynomial data structure, each of the number plates corresponds to a different subscription quantity, each of the number plates corresponds to a number, and the larger the number corresponding to the number plate, the larger the corresponding subscription quantity; The number plates corresponding to each investor and the subscription quantities configured for the number plates are stored in a data block in the form of key-value pairs, wherein all number plates corresponding to the same investor and the subscription quantities configured for the number plates are allocated to the same data block, and one data block stores the number plates corresponding to multiple investors and the subscription quantities configured for the number plates; Based on the total number of new shares issued and the proportion of the sum of the subscription quantities configured corresponding to the number plates stored in each data block to the sum of the subscription quantities configured corresponding to all the number plates stored in all data blocks, determine the new share issuance volume corresponding to each data block; A number plate drawing process is performed in each of the data blocks, so that the new stock issuance volume corresponding to the data block is allocated to the corresponding investors according to the number plate drawing result.

2. The method according to claim 1, characterized in that The polynomial data structure for decomposing the subscription quantity into the sum of the power exponents of a plus the remainder includes: Decompose the subscription quantity into a polynomial data structure of S = a 0 + a 1 + a 2 + … + a n + b, where S represents the subscription quantity, b represents the remaining term, and when the value of n is the power exponent increasing from 0 to n in sequence, a 0 + a 1 + a 2 + … + a n < S, but when the power exponent increases from 0 to n + 1 in sequence, a 0 + a 1 + a 2 + … + a n + a n+1 > S, b = S - (a 0 + a 1 + a 2 + … + a n ).

3. The method according to claim 1, characterized in that The polynomial data structure for decomposing the subscription quantity into the sum of the power exponents of a plus the remainder includes: The subscription amount is decomposed into S = a 0 +a 1 +a 2 +…+a n +b polynomial data structure, where S represents the subscription quantity and b represents the remaining items.

4. The method according to claim 1, characterized in that: The method of allocating a corresponding number of number plates to corresponding investors according to the polynomial data structure includes: Assigning a number plate to a corresponding investor for each item of the polynomial data structure; Each number plate is configured with a subscription quantity that is the same as the value of the corresponding item in the polynomial data structure.

5. The method according to claim 1, characterized in that The step of storing the number plates corresponding to each investor and the subscription quantity corresponding to the number plates in the data block in the form of key-value pairs includes: Count the total number of number plates corresponding to each investor and cache them; The total number of number plates corresponding to each investor is sorted according to the total number of number plates to obtain a sorted list; A greedy strategy is applied to the sorted list to store the number plates corresponding to each investor and the subscription quantities configured corresponding to the number plates in the form of key-value pairs in a data block, so that one data block stores the number plates corresponding to multiple investors and the subscription quantities configured corresponding to the number plates, and all number plates corresponding to the same investor and the subscription quantities configured corresponding to the number plates are allocated to the same data block.

6. The method according to claim 5, characterized in that The method uses a greedy strategy to store the number plates corresponding to each investor and the subscription quantity corresponding to the number plates in the form of key-value pairs in the sorted list, so that one data block stores the number plates corresponding to multiple investors and the subscription quantities corresponding to the number plates, and all number plates corresponding to the same investor and the subscription quantities corresponding to the number plates are allocated to the same data block, including: Allocate and store the maximum total number of number plates in the sorted list into a target data block; Updating the remaining capacity of the target data block; Deleting the maximum total number of number plates from the sorted list, and updating the sorted list; Determine whether the maximum total number of number plates in the updated sorted list can be accommodated by the target data block; If the maximum total number of number plates in the updated sorted list can be accommodated by the target data block, return to the step of allocating and storing the maximum total number of number plates in the sorted list in the target data block until the target data block can no longer accommodate any total number of number plates in the sorted list or all total number of number plates in the sorted list are allocated; If the maximum total number of number plates in the updated sorted list cannot be accommodated by the target data block, the maximum total number of number plates is marked as unallocated and the process returns to the step of deleting the maximum total number of number plates from the sorted list and updating the sorted list.

7. The method according to claim 6, characterized in that When the data block can no longer accommodate any total number of number plates in the sorted list, the method comprises: Sorting the total number of all number plates marked as unassigned according to size, and updating the sorted list; After adding a new data block and taking the new data block as the target data block, the process returns to the step of allocating and storing the maximum total number of number plates in the sorted list into the target data block.

8. The method according to claim 1, characterized in that The drawing of number plates in each data block to distribute the new share issuance amount corresponding to the data block to the corresponding investor according to the drawing result of the number plates includes: Randomly draw a number plate from all the number plates stored in the data block; Determine whether the subscription quantity configured by the drawn number plate is less than or equal to the new stock issuance quantity corresponding to the data block; If the subscription quantity configured for the drawn number plate is less than or equal to the new share issuance quantity corresponding to the data block, the subscription quantity configured for the drawn number plate is allocated to the investor corresponding to the drawn number plate; After updating the new share issuance amount corresponding to the data block and deleting the drawn number plate from the data block, returning to the step of randomly drawing a number plate from all the number plates stored in the data block until all the new share issuance amount corresponding to the data block is allocated; If the subscription quantity configured for the drawn number plate is greater than the new share issuance quantity corresponding to the data block, a number plate one size smaller than the drawn number plate is used as the drawn number plate, and the process returns to the step of determining whether the subscription quantity configured for the drawn number plate is less than or equal to the new share issuance quantity corresponding to the data block.

9. The method according to claim 1, characterized in that: Before obtaining the subscription amount of the investor, the method includes: The new stock subscription data corresponding to each investor is grouped according to the subscription quantity range and an interval tree structure is established to dynamically monitor the new stock subscription data of each investor, wherein the non-leaf nodes of the interval tree structure represent continuous subscription quantity ranges, and the leaf nodes of the interval tree structure store the starting storage addresses of the new stock subscription data corresponding to each investor within the subscription quantity range.

10. An electronic device, characterized in that: The electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the method according to any one of claims 1 to 9 when executing the computer program.