A method and apparatus for partitioning a shared resource pool settlement

CN116962097BActive Publication Date: 2026-11-03中国移动通信集团云南有限公司 +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210869695.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-22
Publication Date
2026-11-03
Estimated Expiration
2042-07-22

AI Technical Summary

Technical Problem

In the shared resource pool, the settlement process cannot be processed concurrently, resulting in low settlement efficiency and affecting the timely processing of pending call detail records.

Method used

The shared resource pool is divided into N levels, each level containing at least one partition resource pool. The target partition resource pool is determined by the user identifier, and user call detail records are settled concurrently within the partition, utilizing available resources for settlement.

Benefits of technology

It improves the overall processing efficiency and system throughput of the settlement and billing system, and avoids the problems of waiting in the settlement process and resource pool locking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116962097B_ABST
    Figure CN116962097B_ABST
Patent Text Reader

Abstract

The application relates to the field of Internet of Things, in particular to a shared resource pool partition settlement method and device. A shared resource pool partition settlement method comprises the following steps: dividing a shared resource pool into N levels, wherein each level of the shared resource pool comprises at least one partition resource pool; determining a target partition resource pool corresponding to a user to be settled according to a user identifier of the user to be settled from each partition resource pool located at the last level of the shared resource pool; and settling resource consumption of the user to be settled based on available resources of the target partition resource pool. The application realizes concurrent processing of user call settlement by classifying shared traffic pool resources, and improves the processing efficiency of the whole settlement system.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to the field of the Internet of Things, and in particular to a method and apparatus for partitioned settlement of a shared resource pool. [Background Technology]

[0002] In current IoT business models, a group entity may purchase tens of thousands or even millions of IoT terminals. Each terminal has an IoT SIM card installed, and each SIM card represents a user in the business system. The group customer periodically purchases resources from telecom operators, forming a shared resource pool for the group entity. All IoT SIM card users within the entity share and utilize the resources in this shared resource pool. These resources can include user-accessible data allowances, call minutes, SMS messages, etc.

[0003] When a user awaiting settlement in a telecom operator's billing system is a member of a shared resource pool, the settlement process first checks the usage of free resources in the pool. If there are remaining resources, these are locked, and the user's usage is settled, with the remaining resources updated. The lock on the shared resource pool is then released after the update. However, during this locking process, if other settlement processes are also processing call details of other members within the same shared resource pool, they must enter a waiting state until the lock is released before proceeding with settlement, significantly reducing settlement efficiency. [Summary of the Invention]

[0004] In view of this, embodiments of the present invention provide a method and apparatus for shared resource pool partitioned settlement. By dividing the shared resource pool into N levels, user call detail records are settled concurrently in each lowest-level partitioned resource pool within the shared resource pool, thus solving the problem of low billing and settlement efficiency of shared resource pools.

[0005] In a first aspect, embodiments of the present invention provide a shared resource pool partition settlement method, including:

[0006] The shared resource pool is divided into N levels, and each level of the shared resource pool includes at least one partitioned resource pool.

[0007] Based on the user identifier of the user to be settled, determine the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the last level of the shared resource pool;

[0008] Based on the available resources in the target partition resource pool, the resource usage of the users to be settled is settled.

[0009] Optionally, dividing the shared resource pool into N levels includes:

[0010] Determine the level zero partition resource pool of the shared resource pool;

[0011] The zero-level partition resource pool is divided into several first-level partition resource pools cascaded to the zero-level partition resource pool.

[0012] Each of the primary partition resource pools is further divided into secondary partitions to obtain secondary partition resource pools that are cascaded to each of the primary partition resource pools;

[0013] The N-level partitioning is performed sequentially until an N-level partition resource pool is obtained, which is cascaded to the N-1 level partition resource pool.

[0014] Optionally, the N-level partition resource pool is the lowest-level partition resource pool of the shared resource pool. Before determining the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the lowest level of the shared resource pool based on the user identifier of the user to be settled, the method further includes:

[0015] Determine the original resource quantity of the zero-level partition resource pool;

[0016] The retention amount and allocation amount of the zero-level partition resource pool are determined from the original resource amount of the zero-level partition resource pool, wherein the retention amount of the zero-level partition resource pool is used for resource settlement of the zero-level partition resource pool.

[0017] The allocation amount of the zero-level partition resource pool is divided among the various first-level partition resource pools;

[0018] The retention amount and allocation amount of the primary partition resource pool are determined from the amount of resources allocated to the primary partition resource pool, wherein the retention amount of the primary partition resource pool is used for resource settlement of the primary partition resource pool.

[0019] The allocation amount of the primary partition resource pool is distributed to each of the cascaded secondary partition resource pools;

[0020] This process continues until the resource pool of level N-1 partitions is allocated to the resource pools of each concatenated last-level partition.

[0021] Optionally, determining the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the last level of the shared resource pool based on the user identifier of the user to be settled includes:

[0022] The first matching information of the user to be settled is calculated based on the user identifier of the user to be settled and the resource pool identifier of the zero-level partition resource pool of the shared resource pool;

[0023] The partition resource pool located at the end of the shared resource pool and whose first matching information matches the resource pool matching range is determined as the target partition resource pool.

[0024] Optionally, the step of settling the resource usage of the user to be settled based on the available resources of the target partition resource pool includes:

[0025] If the available resources in the target partition resource pool are sufficient to deduct the resource usage of the user to be settled in this settlement, then the resource usage of the user to be settled will be deducted directly using the available resources in the target partition resource pool;

[0026] If the available resources in the target partition resource pool are insufficient to deduct the resource usage of the user to be settled this time, an application is made to the parent partition resource pool cascaded with the target partition resource pool to increase the available resources. After the parent partition resource pool reallocates the available resources, the deduction is made using the available resources in the target partition resource pool.

[0027] Optionally, requesting additional available resources from a parent partition resource pool cascaded with the target partition resource pool includes:

[0028] If none of the parent partition resource pools associated with the target partition resource pool have available resources for allocation, query other last-level partition resource pools to see if they have available resources.

[0029] If other last-level partition resource pools have available resources, the resource usage of the user to be settled is settled based on the last-level partition resource pools with available resources.

[0030] If no resources are available in other lower-level partition resource pools, then all shared resources in the shared resource pool are considered to have been used up.

[0031] Optionally, after settling the resource usage of the user to be settled based on the available resources of the target partition resource pool, the process further includes:

[0032] When the cumulative usage of available resources in the target partition resource pool reaches a preset first threshold, the usage information of the target partition resource pool is reported to the highest-level zero partition resource pool.

[0033] Optionally, the method further includes:

[0034] When a request for querying resource usage information is received, the usage information of available resources in each last-level partition resource pool is reported to the zero-level partition resource pool.

[0035] Secondly, embodiments of the present invention provide a shared resource pool partition settlement device, comprising:

[0036] The module is divided into N levels of the shared resource pool, and each level of the shared resource pool includes at least one partitioned resource pool.

[0037] The determination module determines the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the bottom of the shared resource pool, based on the user identifier of the user to be settled.

[0038] The settlement module settles the resource usage of the user to be settled based on the available resources in the target partition resource pool.

[0039] Thirdly, embodiments of the present invention provide a shared resource pool partition settlement device, comprising:

[0040] At least one processor; and

[0041] At least one memory communicatively connected to the processor, wherein:

[0042] The memory stores program instructions that can be executed by the processor, which can invoke the program instructions to perform the method as described in any of the first aspects.

[0043] The above scheme divides a shared resource pool into multiple partitions and performs user call detail records (CDRs) settlement simultaneously within each partition, thereby improving the overall processing efficiency of the billing and settlement system and increasing the system throughput. [Attached Image Description]

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

[0045] Figure 1 A flowchart illustrating a shared resource pool partitioning settlement method provided in an embodiment of the present invention;

[0046] Figure 2 This is a schematic diagram of a shared resource pool provided in an embodiment of the present invention;

[0047] Figure 3 This is a schematic diagram of a shared resource pool partition settlement device provided in an embodiment of the present invention;

[0048] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention.

Detailed Implementation Methods

[0049] To better understand the technical solution of the present invention, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0050] It should be understood that the described embodiments are merely some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.

[0051] For a shared resource pool, the shared management process needs to interact with the resource pool's in-memory database to query the total and remaining resources and update the information on used resources. However, only one shared management process can perform updates within the same shared resource pool, making concurrent processing impossible. When the first settlement process is calling the shared management process for settlement, if a second settlement process also needs to call the shared management process to settle the same shared resource pool, the second settlement process will be blocked and in a waiting state. Only after the first settlement process has finished its call and released the shared management process can the settlement process continue.

[0052] Multiple settlement processes in a shared resource pool cannot be processed concurrently. When one settlement process is settling, other settlement processes can only wait, which reduces the settlement efficiency of the entire system and may even lead to the problem that pending call detail records are not processed in a timely manner.

[0053] This invention implements a method to divide a shared resource pool into N levels, thereby dividing a shared resource pool into several smaller partitioned resource pools. By configuring a shared management process for each partitioned resource pool located at the end of the shared resource pool, users to be settled are randomly assigned to the partitioned resource pools at the end of the shared resource pool for settlement, thus achieving concurrent processing of user call detail records in each partitioned resource pool.

[0054] This invention provides a method for partitioned settlement of a shared resource pool. Based on this method, call detail records (CDRs) of different users are processed simultaneously within multiple partitioned resource pools of a shared resource pool, improving the overall concurrency of the settlement system. For example... Figure 1 As shown, the processing steps of this method include:

[0055] 101. Divide the shared resource pool into N levels.

[0056] For details, see Figure 2 This is a schematic diagram of a shared resource pool provided in an embodiment of the present invention. The shared resource pool is divided into N levels, and each level contains at least one partitioned resource pool. The partitioned resource pools at each level are grouped according to the number of partitioned resource pools in the previous level, with the number of groups being the same as the number of partitioned resource pools in the previous level. Partitioned resource pools derived from the same partitioned resource pool in the previous level are identified as belonging to the same group, and the cascading relationship between their upper and lower level partitioned resource pools is determined accordingly.

[0057] In the first-level partitioning, the highest-level partition resource pool, i.e., the zero-level partition resource pool, is divided into several first-level partition resource pools. In the second-level partitioning, each first-level partition resource pool is further divided to obtain several second-level partition resource pools. This N-level partitioning is performed sequentially until the N-1-level partition resource pool is divided into the N-level partition resource pool, and the N-level partition resource pool is determined as the lowest-level partition resource pool of the shared resource pool.

[0058] Since all the first-level partition resource pools obtained in the first-level partitioning are derived from the same zero-level partition resource pool, all first-level partition resource pools can be considered as partition resource pools in the same group, and all are cascaded to the zero-level partition resource pool. The second-level partition resource pools obtained in the second-level partitioning are grouped according to the number of first-level partition resource pools. Second-level partition resource pools derived from the same first-level partition resource pool are identified as partition resource pools in the same group, and the cascading relationship between this group of second-level partition resource pools and the first-level partition resource pool that divided this group of second-level partition resource pools is determined.

[0059] 102. Determine the available resources in each partition resource pool within the shared resource pool.

[0060] During the N-level partitioning process of the shared resource pool, it is necessary to configure the available resources for each partition resource pool. The process of configuring and allocating available resources for each partition resource pool is dynamic. After configuring the initial available resources for each partition resource pool, the resources are dynamically replenished based on the usage of available resources in each partition resource pool.

[0061] Specifically, the first step is to determine the initial resource quantity in the shared resource pool and allocate all initial resources to the highest-level (Level 0) partition resource pool. The Level 0 partition resource pool determines the reserved and allocated quantities from the total initial resources. The reserved quantity is used as its own available resources for resource settlement, and the allocated quantity is distributed to each of its cascaded Level 1 partition resource pools based on the number of Level 1 partition resource pools it connects to. Each Level 1 partition resource pool similarly determines its reserved and allocated quantities from the received resources, using the reserved quantity as its own available resources, and distributes the allocated quantity to each of its cascaded Level 2 partition resource pools based on the number of Level 2 partition resource pools it connects to. This resource allocation is performed level by level until it reaches the lowest-level (Level N) partition resource pool. The Level N partition resource pool determines all received resources as its reserved quantity, i.e., its own available resources.

[0062] In the process of allocating the allocation amount, the upper-level resource pool usually distributes the allocation amount equally to the lower-level partition resource pools that are cascaded with it, based on the number of lower-level partition resource pools.

[0063] In one specific embodiment, the initial resource amount in the shared resource pool is determined to be 100G of traffic quota, which is then entirely allocated to the Level 0 partition resource pool. The Level 0 partition resource pool reserves 20G as its own available resource and distributes the remaining 80G equally among the 10 Level 1 partition resource pools cascaded with it. Each Level 1 partition resource pool reserves 1.6G of its received 8G traffic quota as its own available resource and distributes 6.4G equally among the Level 2 partition resource pools cascaded with it. This allocation process is repeated until all available resources are allocated to the Level N partition resource pool.

[0064] The resources in the N-level partition resource pool are used directly for the settlement of resource usage by users awaiting settlement. The available resources reserved in other partition resource pools are used for dynamic allocation to the lower-level partition resource pools connected to them. When the resources in the lower-level partition resource pool are exhausted and a resource request is issued, the lower-level partition resource pool is allocated an amount of resources equal to the initial resources to replenish it.

[0065] 103. Based on the user identifier of the user to be settled, determine the target partition resource pool for settling the resource usage of the user to be settled from the last-level partition resource pool of the shared resource pool.

[0066] Specifically, each partition resource pool in the shared resource pool is configured with a resource pool identifier, which is used to calculate the first matching information of the user to be settled, together with the user identifier of the user to be settled. Each N-level partition resource pool at the lowest level in the shared resource pool is configured with a resource pool matching range for matching with the first matching information. The partition resource pool located at the lowest level of the shared resource pool, whose first matching information matches the resource pool matching range, is determined as the target partition resource pool for settling the resource usage of the user to be settled.

[0067] In this process, the first matching information of the user to be settled is generally obtained by calculating the resource pool identifier of the highest-level zero-level partition resource pool and the user identifier of the user to be settled.

[0068] In some embodiments, the resource pool identifier and user identifier are generally the resource pool ID number and the user ID number, respectively. Specifically, by extracting the last four digits of the zero-level partition resource pool ID number and the user ID number and performing a modulo operation, a new four-digit number can be obtained, which is then used as the first matching information for the user to be settled.

[0069] By querying the pre-configured resource pool matching range in each last-level partition resource pool (i.e., the range of four-digit numbers), the first matching information is matched with the matching range of the last-level partition resource pool to determine the target partition resource pool corresponding to the user to be settled.

[0070] In one specific embodiment, the last four digits of the zero-level partition resource pool ID number and the user ID number are determined to be 7374 and 4693, respectively. By performing a modulo operation on these digits, the first matching information for the user to be settled is obtained as 2744. By querying the corresponding resource pool matching range in each N-level partition resource pool, the N-level partition resource pool with a matching range of 2700-2799 is determined as the target partition resource pool corresponding to the user to be settled.

[0071] The above method avoids the situation where too many users awaiting settlement are concentrated in one or a few last-level partition resource pools by randomly assigning users to the pool.

[0072] Optionally, in addition to directly determining the first matching information of the user to be settled by using the resource pool identifier and user identifier of the zero-level partition resource pool, the user to be settled can also be matched step by step by using the resource pool identifier and user identifier information of each level of partition resource pool.

[0073] Specifically, the user identifier of the user to be settled is compared with the resource pool identifier of the zero-level partition resource pool to determine the first-level partition resource pool that the user to be settled is matched with in the first-level partition. The resource pool identifier of the corresponding first-level partition resource pool is compared with the user identifier to determine the partition resource pool that the user to be settled is matched with in the second-level partition, until the user to be settled is matched with the target partition resource pool in the N-level partition.

[0074] By using a hierarchical matching method, users awaiting settlement can be more randomly assigned to the lowest-level partition resource pools, which is also more conducive to matching when there are a large number of partition resource pools.

[0075] 104. Based on the available resources in the target partition resource pool, settle the resource usage of the user to be settled.

[0076] Specifically, during the settlement of resource usage by users awaiting settlement in the target partition resource pool, if the available resources in the target partition resource pool are sufficient to deduct the resource usage of the users awaiting settlement in this settlement, then the resource usage of the users awaiting settlement will be deducted directly from the available resources in the target partition resource pool.

[0077] If the available resources in the target partition resource pool are insufficient to deduct the resource usage of the user to be settled this time, an application will be made to the parent partition resource pool cascaded with the target partition resource pool to increase the available resources. After the parent partition resource pool reallocates the available resources, the deduction will be made using the available resources in the target partition resource pool.

[0078] When there are no available resources in the parent resource pool associated with the target partition resource pool, it is necessary to continue to apply to the next higher-level partition resource pool for additional available resources, until the application reaches the highest-level zero partition resource pool.

[0079] In some embodiments, when all parent partition resource pools and shared resource pools cascaded with the target partition resource pool have no available resources to allocate, the target partition resource pool may also send query requests to other last-level partition resource pools.

[0080] If other last-level partition resource pools still have available resources, an allocation request is sent to them to increase available resources. The resource usage of the user to be settled is then settled based on the available resources in the last-level partition resource pools with available resources, and the resource pool identifier of that last-level partition resource pool is recorded for direct allocation requests to that last-level partition resource pool during the next resource settlement. If no other last-level partition resource pools have available resources, then it is determined that all shared resources in the resource sharing pool have been fully utilized.

[0081] 105. Report the usage information of available resources in the target partition resource pool.

[0082] Specifically, the usage information of available resources in each last-level partition resource pool does not need to be reported immediately after each call detail record is settled. Instead, it is reported only when the cumulative usage reaches a certain level.

[0083] A first threshold is preset for the amount of available resources used in the target partition resource pool. When the cumulative amount of available resources used in the target partition resource pool reaches the first threshold, the amount of available resources used in the target partition resource pool is reported level by level to the highest-level zero partition resource pool for statistical purposes.

[0084] Optionally, users can actively query the available resources in the shared resource pool through the billing system. When the billing process receives a request to query resource usage information, regardless of whether the first threshold has been reached, it immediately reports the usage information of available resources in each lower-level partition resource pool to the highest-level zero-level partition resource pool, so as to perform statistics on the remaining available resources in the shared resource pool in the zero-level partition resource pool.

[0085] This invention improves the overall processing efficiency and throughput of the billing system by dividing a shared resource pool into multiple levels and simultaneously performing user call detail record (CDR) settlement within each partition.

[0086] In some embodiments, after a user's resource usage has been settled, the user may object to the resource usage and request a resettlement. In this case, the resources previously settled and deducted from the user need to be restored to the shared resource pool, and then a new settlement needs to be made based on the user's resource usage.

[0087] Corresponding to the above-described shared resource pool partition settlement method, this embodiment of the invention also provides a shared resource pool partition settlement device. See [link to related documentation] Figure 3 The shared resource pool partition settlement device may include: partitioning module 201, determination module 202, and settlement module 203.

[0088] The partitioning module 201 divides the shared resource pool into N levels, and each level of the shared resource pool includes at least one partitioned resource pool.

[0089] The determination module 202 determines the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the end of the shared resource pool, based on the user identifier of the user to be settled.

[0090] The settlement module 203 settles the resource usage of the user to be settled based on the available resources of the target partition resource pool.

[0091] Figure 3 The shared resource pool partition settlement device provided in the illustrated embodiment can be used to execute the technical solution of the method embodiment shown in this specification. Its implementation principle and technical effect can be further referred to the relevant description in the method embodiment.

[0092] Figure 4 This is a schematic diagram of the structure of an embodiment of the electronic device described in this specification, such as... Figure 4 As shown, the above-mentioned electronic device may include at least one processor; and at least one memory communicatively connected to the processing unit, wherein: the memory stores program instructions executable by the processing unit, and the processor can execute the shared resource pool partition settlement method provided in this embodiment by calling the program instructions.

[0093] The aforementioned electronic device can be a device capable of intelligent dialogue with the user, such as a cloud server. This specification does not limit the specific form of the electronic device in the embodiments. It is understood that the electronic device here refers to the machine mentioned in the method embodiments.

[0094] Figure 4 A block diagram of an exemplary electronic device suitable for implementing embodiments of this specification is shown. Figure 4 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments described in this specification.

[0095] like Figure 4 As shown, the electronic device is represented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: one or more processors 310, communication interface 320, memory 330, and communication bus 340 connecting different system components (including memory 330, communication interface 320 and processor 310).

[0096] Communication bus 340 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MAC) buses, Enhanced ISA buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses.

[0097] Electronic devices typically include a variety of computer-readable media. These media can be any available media that can be accessed by the electronic device, including volatile and non-volatile media, and removable and non-removable media.

[0098] Memory 330 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. The electronic device may further include other removable / non-removable, volatile / non-volatile computer system storage media. Memory 330 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments described herein.

[0099] A program / utility having a set (at least one) of program modules can be stored in memory 330. Such program modules include—but are not limited to—an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. The program modules typically perform the functions and / or methods described in the embodiments of this specification.

[0100] The processor 310 executes various functional applications and data processing by running programs stored in the memory 330, such as implementing the shared resource pool partition settlement method provided in the embodiments shown in this specification.

[0101] This specification provides a non-transitory computer-readable storage medium that stores computer instructions that cause the computer to execute the shared resource pool partitioning settlement method provided in the embodiments shown in this specification.

[0102] The aforementioned non-transitory computer-readable storage medium may be any combination of one or more computer-readable media. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory, optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in connection with an instruction execution system, apparatus, or device.

[0103] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including—but not limited to—electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.

[0104] The program code contained on a computer-readable medium may be transmitted using any suitable medium, including—but not limited to—wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0105] Computer program code for performing the operations described herein can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer 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 computer (e.g., via the Internet using an Internet service provider).

[0106] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0107] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this specification, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0108] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this specification includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which the embodiments of this specification pertain.

[0109] Depending on the context, the word "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection." Similarly, depending on the context, the phrase "if determination" or "if detection (of the stated condition or event)" can be interpreted as "when determination," "in response to determination," "when detection (of the stated condition or event)," or "in response to detection (of the stated condition or event)."

[0110] It should be noted that the terminals involved in the embodiments of this specification may include, but are not limited to, personal computers (hereinafter referred to as PCs), personal digital assistants (hereinafter referred to as PDAs), wireless handheld devices, tablet computers, mobile phones, MP3 players, MP4 players, etc.

[0111] In the embodiments provided in this specification, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0112] Furthermore, the functional units in the various embodiments of this specification can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.

[0113] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this specification.

[0114] The above description is merely a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of protection of this specification.

Claims

1. A method for partitioned settlement of a shared resource pool, characterized in that, include: The shared resource pool is divided into N levels, and each level of the shared resource pool includes at least one partitioned resource pool. Based on the user identifier of the user to be settled, determine the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the last level of the shared resource pool; Based on the available resources in the target partition resource pool, the resource usage of the user to be settled is settled; The division of the shared resource pool into N levels includes: Determine the level zero partition resource pool of the shared resource pool; The zero-level partition resource pool is divided into several first-level partition resource pools cascaded to the zero-level partition resource pool. Each of the primary partition resource pools is further divided into secondary partitions to obtain secondary partition resource pools that are cascaded to each of the primary partition resource pools; Perform N-level partitioning sequentially until an N-level partition resource pool is obtained, which is cascaded to the N-1 level partition resource pool; Each partition resource pool has a reserved amount for its own settlement and an allocation amount for distribution to lower-level partition resource pools. The N-level partition resource pool is the lowest-level partition resource pool of the shared resource pool. Before determining the target partition resource pool corresponding to the user to be settled from the various partition resource pools located at the lowest level of the shared resource pool based on the user identifier of the user to be settled, the method further includes: Determine the original resource quantity of the zero-level partition resource pool; The retention amount and allocation amount of the zero-level partition resource pool are determined from the original resource amount of the zero-level partition resource pool, wherein the retention amount of the zero-level partition resource pool is used for resource settlement of the zero-level partition resource pool. The allocation amount of the zero-level partition resource pool is divided among the various first-level partition resource pools; The retention amount and allocation amount of the primary partition resource pool are determined from the amount of resources allocated to the primary partition resource pool, wherein the retention amount of the primary partition resource pool is used for resource settlement of the primary partition resource pool. The allocation amount of the primary partition resource pool is distributed to each of the cascaded secondary partition resource pools; Execute sequentially until the allocation of the N-1 level partition resource pool is distributed to the concatenated last-level partition resource pools; The process of settling resource usage for the user to be settled based on the available resources of the target partition resource pool includes: If the available resources in the target partition resource pool are sufficient to deduct the resource usage of the user to be settled in this settlement, then the resource usage of the user to be settled will be deducted directly using the available resources in the target partition resource pool; If the available resources in the target partition resource pool are insufficient to deduct the resource usage of the user to be settled this time, an application is made to the parent partition resource pool cascaded with the target partition resource pool to increase the available resources. After the parent partition resource pool reallocates the available resources, the deduction is made using the available resources in the target partition resource pool.

2. The method according to claim 1, characterized in that, The step of determining the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the bottom level of the shared resource pool based on the user identifier of the user to be settled includes: The first matching information of the user to be settled is calculated based on the user identifier of the user to be settled and the resource pool identifier of the zero-level partition resource pool of the shared resource pool; The partition resource pool located at the end of the shared resource pool and whose first matching information matches the resource pool matching range is determined as the target partition resource pool.

3. The method according to claim 1, characterized in that, The step of requesting additional available resources from a parent partition resource pool cascaded with the target partition resource pool includes: If none of the parent partition resource pools associated with the target partition resource pool have available resources for allocation, query other last-level partition resource pools to see if they have available resources. If other last-level partition resource pools have available resources, the resource usage of the user to be settled is settled based on the last-level partition resource pools with available resources. If no resources are available in other lower-level partition resource pools, then all shared resources in the shared resource pool are considered to have been used up.

4. The method according to claim 1, characterized in that, After settling the resource usage of the user to be settled based on the available resources of the target partition resource pool, the process further includes: When the cumulative usage of available resources in the target partition resource pool reaches a preset first threshold, the usage information of the target partition resource pool is reported to the highest-level zero partition resource pool.

5. The method according to claim 1, characterized in that, The method further includes: When a request for querying resource usage information is received, the usage information of available resources in each last-level partition resource pool is reported to the zero-level partition resource pool.

6. A shared resource pool partition settlement device, characterized in that, include: The module is divided into N levels of the shared resource pool, and each level of the shared resource pool includes at least one partitioned resource pool. The determination module determines the target partition resource pool corresponding to the user to be settled from each partition resource pool located at the bottom of the shared resource pool, based on the user identifier of the user to be settled. The settlement module settles the resource usage of the user to be settled based on the available resources in the target partition resource pool; The division of the shared resource pool into N levels includes: Determine the level zero partition resource pool of the shared resource pool; The zero-level partition resource pool is divided into several first-level partition resource pools cascaded to the zero-level partition resource pool. Each of the primary partition resource pools is further divided into secondary partitions to obtain secondary partition resource pools that are cascaded to each of the primary partition resource pools; Perform N-level partitioning sequentially until an N-level partition resource pool is obtained, which is cascaded to the N-1 level partition resource pool; Each partition resource pool has a reserved amount for its own settlement and an allocation amount for distribution to lower-level partition resource pools. The N-level partition resource pool is the lowest-level partition resource pool of the shared resource pool. Before determining the target partition resource pool corresponding to the user to be settled from the various partition resource pools located at the lowest level of the shared resource pool based on the user identifier of the user to be settled, the method further includes: Determine the original resource quantity of the zero-level partition resource pool; The retention amount and allocation amount of the zero-level partition resource pool are determined from the original resource amount of the zero-level partition resource pool, wherein the retention amount of the zero-level partition resource pool is used for resource settlement of the zero-level partition resource pool. The allocation amount of the zero-level partition resource pool is divided among the various first-level partition resource pools; The retention amount and allocation amount of the primary partition resource pool are determined from the amount of resources allocated to the primary partition resource pool, wherein the retention amount of the primary partition resource pool is used for resource settlement of the primary partition resource pool. The allocation amount of the primary partition resource pool is distributed to each of the cascaded secondary partition resource pools; Execute sequentially until the allocation of the N-1 level partition resource pool is distributed to the concatenated last-level partition resource pools; The process of settling resource usage for the user to be settled based on the available resources of the target partition resource pool includes: If the available resources in the target partition resource pool are sufficient to deduct the resource usage of the user to be settled in this settlement, then the resource usage of the user to be settled will be deducted directly using the available resources in the target partition resource pool; If the available resources in the target partition resource pool are insufficient to deduct the resource usage of the user to be settled this time, an application is made to the parent partition resource pool cascaded with the target partition resource pool to increase the available resources. After the parent partition resource pool reallocates the available resources, the deduction is made using the available resources in the target partition resource pool.

7. A shared resource pool partitioned settlement device, characterized in that, include: At least one processor; as well as At least one memory communicatively connected to the processor, wherein: The memory stores program instructions that can be executed by the processor, and the processor can invoke the program instructions to perform the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Shared resource charging processing method and device

    CN108270581A