User tag storage method, storage medium, program product and bank system

By constructing an ancestor chain and a caching structure, and limiting the number of tags in each storage structure, the problem of service performance degradation in multi-level, multi-tag storage is solved, and efficient user tag data management and querying are achieved.

CN121807845APending Publication Date: 2026-04-07AGRICULTURAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-27
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

The current method of storing user tags leads to a decrease in service performance, especially when there are multi-level and multi-tag storage and service requirements, which is insufficient and affects service performance.

Method used

By determining the mapping relationship and hierarchical relationship between the number of nodes and user tags, an ancestor chain is constructed. The number of user tags stored in each storage structure is limited to a preset threshold. A caching structure is used for preprocessing and verification, and the storage structure is dynamically adjusted to balance the tag distribution.

Benefits of technology

It effectively reduces the service performance degradation caused by excessive number of columns in the storage structure, avoids management complexity and data redundancy, simplifies the maintenance and updating of user tag data, and improves query speed and system query performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121807845A_ABST
    Figure CN121807845A_ABST
Patent Text Reader

Abstract

The invention provides a user tag storage method, a storage medium, a program product and a bank system. A target system comprises a plurality of nodes with a hierarchical relationship, each node corresponds to a plurality of user tags, and the method comprises the steps that the tag number of all nodes in an ancestor chain of each bottom layer node is determined according to the mapping relationship between the nodes and the number of the user tags and the hierarchical relationship, and the bottom layer node is the node located at the bottommost layer in the hierarchical relationship; and storing the user tags corresponding to the ancestor chains into at least one storage structure according to the tag quantity corresponding to each ancestor chain and a preset threshold, so that the total quantity of the user tags stored in each storage structure is smaller than or equal to the preset threshold. The problem that the service performance is reduced due to the storage mode of the current user tag is solved, and the service performance is effectively 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 financial technology and data processing, in particular to a user label storage method, a computer readable storage medium, a computer program product and a banking system. BACKGROUND

[0002] In the user management of the banking industry, customer segmentation is a key strategy to improve service quality and promotion effect. With the deepening of the digital transformation of banks, the user label system has become increasingly complex and large, especially under a multi-level management structure, each level of institution may have a large number of characteristic user labels.

[0003] Currently, by storing a single label data file and processing it, a single label table is formed; then, these processed labels are integrated into a wide table to support multi-label combination filtering and user number preview. However, with the rapid increase in the number of labels, the current storage and service requirements of multi-level multi-labels are insufficient, affecting service performance. SUMMARY

[0004] The main purpose of the present application is to provide a user label storage method, a computer readable storage medium, a computer program product and a banking system to solve the problem of service performance decline caused by the current user label storage method in the prior art.

[0005] In order to achieve the above purpose, according to one aspect of the present application, a user label storage method is provided, the target system includes a plurality of nodes with hierarchical relationships, each node corresponds to a plurality of user labels, the method includes: a determination step, according to the mapping relationship between the node and the number of user labels and the hierarchical relationship, determining the number of labels of all nodes in the ancestor chain of each bottom node, the bottom node is the node located at the bottom layer in the hierarchical relationship; a storage step, according to the number of labels corresponding to each ancestor chain and a preset threshold, storing the user labels corresponding to the ancestor chain into at least one storage structure, so that the total amount of user labels stored in each storage structure is less than or equal to the preset threshold.

[0006] In some embodiments, the storing step comprises: a selecting step of selecting a target bottom node from a set of bottom nodes of the target system, the set of bottom nodes being a set of bottom nodes, and storing the user tags corresponding to the ancestor chain of the target bottom node into a cache structure; a deleting step of deleting the target bottom node from the set of bottom nodes if the amount of stored tags in the cache structure is less than or equal to the preset threshold and the set of bottom nodes is not empty; performing a predetermined operation to at least delete part of the user tags corresponding to the ancestor chain from the cache structure and delete the target bottom node from the set of bottom nodes if the amount of stored tags is greater than the preset threshold and the set of bottom nodes is not empty; and a looping step of looping the selecting step and the deleting step at least once until the set of bottom nodes is empty, and storing the user tags not stored into the storage structure.

[0007] In some embodiments, performing the predetermined operation to at least delete part of the user tags corresponding to the ancestor chain from the cache structure comprises: a deleting sub-step of deleting the user tags corresponding to the ancestor chain of the target bottom node with the latest storage time from the cache structure and marking the deleted target bottom node; a selecting sub-step of selecting the target bottom node not marked from the set of bottom nodes, storing the user tags corresponding to the ancestor chain of the target bottom node not marked into the cache structure, and determining whether the amount of stored tags is less than or equal to the preset threshold; a looping sub-step of determining that the predetermined operation is completed if the amount of stored tags is less than or equal to the preset threshold, and looping the deleting sub-step and the selecting sub-step at least once until the amount of stored tags is less than or equal to the preset threshold or until there is no target bottom node not marked in the set of bottom nodes if the amount of stored tags is greater than the preset threshold; and a storing sub-step of selecting an empty storage structure from a set of storage structures if there is no target bottom node not marked in the set of bottom nodes, the set of storage structures being a set of storage structures, and transferring the user tags in the cache structure to the selected storage structure.

[0008] In some embodiments, storing the user tags not stored into the storage structure comprises: selecting an empty storage structure from a set of storage structures, the set of storage structures being a set of storage structures; and transferring the user tags in the cache structure to the selected storage structure.

[0009] In some embodiments, according to the mapping relationship between the nodes and the number of user tags and the hierarchical relationship, determining the number of user tags of all the nodes in the ancestor chain of each bottom node comprises: tracing upwards the parent node of the bottom node according to the hierarchical relationship; in the case that the parent node is not a top node, tracing upwards the parent node of the parent node according to the hierarchical relationship until the parent node of the parent node is the top node, obtaining the ancestor chain comprising the bottom node, the top node and a plurality of nodes between them; and obtaining the number of user tags corresponding to each node in the ancestor chain according to the mapping relationship, obtaining the number of tags.

[0010] In some embodiments, after storing the user tags corresponding to the ancestor chain into at least one storage structure, the method further comprises: receiving tag information, the tag information comprising a new user tag and a position identifier of the new user tag, the position identifier being used to represent the node to which the new user tag belongs; and storing the new user tag into the storage structure corresponding to the node according to the position identifier.

[0011] In some embodiments, the storage structure has a plurality of storage structures, and after storing the user tags corresponding to the ancestor chain into at least one storage structure, the method further comprises: determining whether the total amount of the user tags stored in each storage structure is greater than the preset threshold; in the case that the total amount of the user tags is greater than the preset threshold, transferring the user tags in all the storage structures in which the total amount of the user tags is greater than the preset threshold to a temporary storage structure, and constructing a plurality of new storage structures; identifying all the bottom nodes corresponding to the user tags in the temporary storage structure, and cyclically executing the determining step and the storing step to re-store all the user tags in the temporary storage structure into the plurality of new storage structures.

[0012] According to another aspect of the present application, a computer readable storage medium is provided, which includes a stored program, wherein the computer readable storage medium controls the device in which the computer readable storage medium is located to execute any of the methods when the program is run.

[0013] According to still another aspect of the present application, a computer program product is provided, which includes computer programs / instructions, and the computer programs / instructions are executed by a processor to implement the steps of any of the methods.

[0014] According to another aspect of this application, a banking system is provided, comprising: a plurality of nodes in a hierarchical relationship, the plurality of nodes including: branches, sub-branches, sub-branches and head offices; a controller including: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including methods for performing any one of the methods described.

[0015] Applying the technical solution of this application, firstly, based on the mapping relationship between the number of nodes and the number of user tags, and the hierarchical relationship between nodes in the target system, the number of tags of all nodes in the ancestor chain of each bottom-level node is determined. Then, the user tags corresponding to the ancestor chain of each bottom-level node are stored in a storage structure, such that the total number of user tags stored in each storage structure is less than or equal to a preset threshold. This application effectively balances the number of storage structures and the number of columns (i.e., the number of tags) in a single storage structure by storing the tags of the bottom-level node and all its ancestor chains in a storage structure and limiting the number of tags in each storage structure to no more than a preset threshold. This reduces the service performance degradation caused by too many columns in the storage structure and avoids the management complexity and data redundancy caused by too many storage structures. Since the number of tags in each storage structure is controlled within a reasonable range, the maintenance and updating of user tag data becomes simpler and more efficient. Attached Figure Description

[0016] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:

[0017] Figure 1 A hardware structure block diagram of a mobile terminal for performing a user tag storage method according to an embodiment of this application is shown;

[0018] Figure 2 A flowchart illustrating a method for storing user tags according to an embodiment of this application is shown.

[0019] Figure 3 A schematic diagram illustrating the tag list partitioning of a user tag storage method according to an embodiment of this application is shown;

[0020] Figure 4 A structural block diagram of a user tag storage device provided according to an embodiment of this application is shown.

[0021] The above figures include the following reference numerals:

[0022] 102. Processor; 104. Memory; 106. Transmission device; 108. Input / output device; 300. Determination unit; 400. Storage unit. Detailed Implementation

[0023] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0024] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0025] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0026] It should be noted that the information collected is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data all comply with the relevant laws, regulations and standards of the relevant countries and regions, necessary confidentiality measures have been taken, and it does not violate public order and good morals. Corresponding operation portals are provided for users to choose to authorize or refuse.

[0027] As described in the background section, the current method of storing user tags in the prior art leads to a decrease in service performance. To solve the above-mentioned technical problem, embodiments of this application provide a method for storing user tags, a computer-readable storage medium, a computer program product, and a banking system.

[0028] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.

[0029] The methods and embodiments provided in this application can be executed on a mobile terminal, computer terminal, or similar computing device. Taking running on a mobile terminal as an example, Figure 1 This is a hardware structure block diagram of a mobile terminal for a user tag storage method according to an embodiment of the present invention. Figure 1 As shown, a mobile terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The mobile terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the mobile terminal described above. For example, the mobile terminal may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0030] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the user tag storage method in this embodiment of the invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. The transmission device 106 is used to receive or send data via a network. Specific examples of the aforementioned networks may include wireless networks provided by the mobile terminal's communication provider. In one example, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0031] This embodiment provides a method for storing user tags that run on a mobile terminal, computer terminal, or similar computing device. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Also, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0032] Figure 2 A flowchart illustrating a method for storing user tags according to an embodiment of this application is shown. In this application, the target system includes multiple nodes with a hierarchical relationship, and each node corresponds to multiple user tags. For example... Figure 2 As shown, the method includes the following steps:

[0033] Step S201, Determine the number of tags of all nodes in the ancestor chain of each bottom node according to the mapping relationship between the number of nodes and the number of user tags and the hierarchical relationship. The bottom node is the node located at the bottom of the hierarchical relationship.

[0034] Specifically, the aforementioned nodes can be hierarchical units or organizations. The hierarchical relationship represents the superior-subordinate relationship between nodes; within this hierarchy, nodes are organized into a tree structure. The aforementioned user tags refer to labels used to describe a user's characteristics or attributes. The aforementioned ancestor chain refers to the sequence of all nodes from the bottom-level node to the top-level node in the hierarchical system. The aforementioned bottom-level node is a node without child nodes in the aforementioned hierarchical tree structure, representing the most basic level of organization. The aforementioned mapping relationship refers to the correspondence between nodes and the number of user tags; that is, this mapping relationship records the number of user tags corresponding to each hierarchical organization (node).

[0035] Step S202, storage step: Based on the number of tags corresponding to each ancestor chain and a preset threshold, store the user tags corresponding to the ancestor chains into at least one storage structure, such that the total number of user tags stored in each storage structure is less than or equal to the preset threshold.

[0036] Specifically, the aforementioned preset threshold is a pre-defined value that defines the maximum number of tags a single storage structure can hold. This preset threshold guides the creation and filling of storage structures, avoiding data management and query performance issues caused by an excessive number of tags in a single storage structure. The aforementioned storage structure refers to a data container used to store user tags, such as a database table. Each of these storage structures will hold a certain number of user tags to facilitate subsequent tag query and combination operations. It should be noted that in this application, all tags on an ancestor chain reside in the same aforementioned storage structure.

[0037] Through the above embodiments, firstly, based on the mapping relationship between the number of nodes and the number of user tags, and the hierarchical relationship between nodes in the target system, the number of tags of all nodes in the ancestor chain of each bottom-level node is determined. Then, the user tags corresponding to the ancestor chain of each bottom-level node are stored in a storage structure, such that the total number of user tags stored in each storage structure is less than or equal to a preset threshold. This application effectively balances the number of storage structures and the number of columns (i.e., the number of tags) in a single storage structure by storing the tags of the bottom-level node and all its ancestor chains in a storage structure and limiting the number of tags in each storage structure to no more than a preset threshold. This reduces the service performance degradation caused by too many columns in the storage structure and avoids the management complexity and data redundancy caused by too many storage structures. Since the number of tags in each storage structure is controlled within a reasonable range, the maintenance and updating of user tag data becomes simpler and more efficient.

[0038] In this way, users can access the storage structure associated with their underlying node without having to perform complex cross-storage structure queries or multi-level tag filtering, thus simplifying the tag query path, improving query speed, and reducing query error rate and system complexity.

[0039] In this application, the number of columns in a storage structure refers to the number of fields contained in the storage structure, which are commonly referred to as columns. Therefore, the number of columns in a storage structure essentially refers to the number of user tags in that storage structure. In database queries, the more columns there are, the more data needs to be scanned during the query, thus reducing query speed; furthermore, each additional column occupies extra storage space; and increasing the number of columns also makes data input, updating, and maintenance more cumbersome. Therefore, this application uses the aforementioned preset thresholds to reasonably control the number of columns in each storage structure and the number of storage structures, thereby achieving a balance between storage efficiency, query performance, and management complexity, which is beneficial for improving service performance.

[0040] In practical applications, the aforementioned target system can be any type of system used for user tag management, such as banking systems, e-commerce platform user tag management systems, medical and health information systems, educational platform learner profile systems, telecommunications industry user service systems, and intelligent logistics systems. The hierarchical relationship described above reflects the internal organizational structure of the system, typically a top-down tree structure. Each node represents a hierarchical unit or organization within the target system. Taking a banking system as an example, multiple nodes could be the head office, first-level branches, second-level branches, sub-branches, and outlets. These nodes are connected sequentially according to the management hierarchy requirements of the target system, forming multiple clear chains. Upper-level nodes are considered the "parent nodes" of lower-level nodes, while lower-level nodes are the "child nodes" of upper-level nodes. This hierarchical relationship ensures that each node can access its own information and that of all its superior nodes, but cannot directly access information from peers or subordinates. In other words, by constructing a hierarchical node structure, orderly information transmission and access control are ensured; lower-level nodes can inherit and use tag information from higher-level nodes, but cannot use higher-level tags beyond their own level. Meanwhile, each node is allowed to define its own user tags, ensuring both the flexibility and adaptability of the tags while avoiding the performance degradation caused by too many tags. In the target system, each node will have a series of associated user tags. These user tags are used to describe different characteristics or attributes of users, such as consumption habits, credit rating, account activity, etc., and are the basis for the target system to segment users and provide personalized services.

[0041] In some embodiments, the above storage step includes:

[0042] Step S2021: Select a target underlying node from the underlying node set of the target system, and store the user tag corresponding to the ancestor chain of the target underlying node in the cache structure. The underlying node set is the set of the underlying nodes.

[0043] Specifically, the target underlying node is one of multiple underlying nodes in a set of underlying nodes. For example, the target underlying node can be selected from the set of underlying nodes randomly; alternatively, a selection order can be pre-defined, and the target underlying node can be selected sequentially from the set of underlying nodes. Optionally, the cache structure can be a temporary table structure.

[0044] Step S2022: Deletion step, if the number of stored tags in the above cache structure is less than or equal to the above preset threshold and the above bottom node set is not empty, delete the target bottom node from the above bottom node set; if the number of stored tags is greater than the above preset threshold and the above bottom node set is not empty, perform a predetermined operation to delete at least some of the user tags corresponding to the above ancestor chain from the above cache structure and delete the target bottom node from the above bottom node set.

[0045] Specifically, deleting the target underlying node from the aforementioned set of underlying nodes indicates that all user tags corresponding to the ancestor chain of the target underlying node have a planned storage strategy and are ready to be stored. This deletion facilitates subsequent steps in planning and storing the user tags corresponding to the ancestor chains of the remaining underlying nodes for which a storage strategy has not yet been determined.

[0046] Step S2023: Looping step, repeatedly execute the above selection step and the above deletion step at least once, until the above underlying node set is empty, then store the above user tags that are not stored in the above storage structure.

[0047] In the above embodiments, firstly, a target bottom-level node is selected from the bottom-level node set of the target system. Then, the user tags of the target bottom-level node and all its superior organizations up to the top-level node are collected and stored in the cache structure. This step ensures the integrity and consistency of the tag data. Next, the number of stored tags in the cache structure is checked. If the number is less than or equal to a preset threshold and the bottom-level node set is not empty, the target bottom-level node is deleted from the bottom-level node set, and the same operation is performed on the next node in the bottom-level node set. If the number of stored tags in the cache structure is greater than the preset threshold and the bottom-level node set is not empty, a predetermined operation is performed, at least deleting all user tags corresponding to a portion of the ancestor chain from the cache structure and removing the target bottom-level node from the bottom-level node set. This mechanism prevents the excessive expansion of the number of tags in a single storage structure, further ensuring better service performance. This application will repeatedly execute the selection step and deletion at least once until the bottom-level node set is completely empty. Finally, additional storage processing is performed on user tags that failed to be stored in the storage structure to ensure that all tag information has been properly stored.

[0048] Furthermore, the above embodiments further avoid duplicate storage of the same user tags in different storage structures by deleting the target underlying nodes corresponding to user tags already stored in the cache structure from the underlying node set. This further reduces data redundancy, saves storage space, and simplifies data maintenance and update operations. The cyclic steps of the above embodiments ensure that this application can handle any number of underlying nodes until all nodes' tags are properly stored. This mechanism allows this application to not only adapt to existing tag systems but also easily cope with future increases or decreases in the number of tags, exhibiting good scalability. Since the number of columns in each storage structure is controlled below a preset threshold, user tag combination queries can be more efficient because the search range is narrowed, thereby speeding up the query and improving the user experience. Moreover, the above storage mechanism allows users to perform tag combinations without operating across multiple tables, which simplifies the query logic, reduces query complexity, and makes tag queries more intuitive and convenient. This application introduces a cache structure in the user tag storage process. The cache structure can serve as a place for data preprocessing and verification. This application first loads all tags on the underlying node and its ancestor chain into the cache structure. Then, it performs tag data addition or deletion operations based on whether the preset column number threshold is exceeded. This process is carried out in the cache, avoiding frequent write operations on the storage structure and reducing I / O overhead.

[0049] It should be noted that the user tags transferred from the cache structure to the storage structure through the above-mentioned predetermined operations are based on ancestor chains. That is, all user tags corresponding to one ancestor chain can be transferred from the cache structure to the storage structure, all user tags corresponding to two ancestor chains can be transferred from the cache structure to the storage structure, and all tags corresponding to more than one ancestor chain can be transferred from the cache structure to the storage structure.

[0050] In some embodiments, a predetermined operation is performed to remove at least a portion of the user tags corresponding to the ancestor chain from the cache structure, including:

[0051] Step S20221: Deletion sub-step, delete the user tag corresponding to the ancestor chain of the target bottom node with the latest storage time from the cache structure, and mark the deleted target bottom node;

[0052] For example, identification information can be added to a predetermined position of the target underlying node corresponding to the tag deleted from the above cache structure to mark the target underlying node.

[0053] Step S20222: Select a sub-step, select the unmarked target bottom node from the set of bottom nodes, store the user tag corresponding to the ancestor chain of the unmarked target bottom node in the cache structure, and determine whether the number of stored tags is less than or equal to the preset threshold.

[0054] Step S20223: Looping sub-step, if the number of stored tags is less than or equal to the preset threshold, determine that the predetermined operation has been completed; if the number of stored tags is greater than the preset threshold, loop the deletion sub-step and the selection sub-step at least once until the number of stored tags is less than or equal to the preset threshold, or until there are no unmarked target bottom nodes in the bottom node set.

[0055] Specifically, once the predetermined operation is confirmed to have been completed, the above-described cyclical steps are executed.

[0056] Step S20224: Storage sub-step, if there is no unmarked target underlying node in the underlying node set, select an empty storage structure from the storage structure set, and transfer the user tag in the cache structure to the selected storage structure, wherein the storage structure set is a set of storage structures.

[0057] Specifically, if no unmarked target underlying nodes exist in the aforementioned set of underlying nodes, it indicates that there are no user tags in the target system corresponding to ancestor chains that can be combined with user tags already cached in the cache structure (corresponding to at least one ancestor chain). In this case, a dedicated storage structure is required, and the cached user tags are transferred to the storage structure. It should be noted that if the marked target underlying nodes are not removed from the aforementioned set of underlying nodes, it means that the storage strategy for the user tags corresponding to the ancestor chains of these target underlying nodes has not yet been determined, and storage planning is still required.

[0058] In the above embodiments, by deleting the sub-step, the tags with the latest storage time are preferentially removed. This means that all user tags of the ancestor chains that cause the number of stored tags in the cache structure to exceed the preset threshold are deleted, further ensuring that a single storage structure does not become too bloated, thereby avoiding performance degradation during queries. After removing some tags, this application will continue to check whether user tags of other ancestor chains can be selected from the underlying node set to supplement them, ensuring that each storage structure can be filled to the preset threshold as much as possible, thereby making full use of the storage space of each storage structure, reducing unnecessary storage structure creation, saving storage resources, and avoiding an excessive number of storage structures. The cooperation between the deletion sub-step and the selection sub-step ensures that the number of tags in the cache structure is always controlled within the preset threshold, avoiding the problem of data skew (i.e., some storage structures have too many columns, while other storage structures have fewer columns), ensuring that the load of each storage structure is relatively balanced, thereby helping to improve the overall query performance. The loop sub-steps enable the dynamic adjustment and combination of user tags from different ancestor chains for storage. This allows tags to be more evenly distributed across multiple storage structures and gives the user tag storage scheme of this application a high degree of dynamic adjustment and self-optimization capabilities, enabling it to automatically adapt to ever-changing tag storage requirements.

[0059] According to some exemplary solutions of this application, storing the user tags that are not stored in the aforementioned storage structure includes: selecting an empty storage structure from a set of storage structures, wherein the set of storage structures is a collection of the aforementioned storage structures; and transferring the user tags in the aforementioned cache structure to the selected storage structure. In this embodiment, when the tags in the cache structure have undergone a series of storage processes, but some tags are still not stored in the storage structure, a storage structure with unused storage space is selected, and the remaining tags are transferred there. This further ensures that all user tags can be effectively stored, avoids storing the remaining user tags in a storage structure that already contains user tags, thus preventing the tag storage volume of the storage structure from exceeding a preset threshold, and also makes full use of the unused storage space.

[0060] Specifically, the aforementioned empty storage structure refers to a storage structure that does not store the aforementioned storage tag, that is, its storage space is 0.

[0061] In practical applications, before executing the user tag storage method of this application, the storage space of each storage structure in the storage structure set is unused, i.e., these storage structures are all empty. By executing the user tag storage method of this application, using the user tag corresponding to the ancestor chain as the storage unit, multiple storage units are stored as evenly as possible in multiple of the above-mentioned storage structures.

[0062] In other embodiments, the number of tags for all nodes in the ancestor chain of each bottom node is determined based on the mapping relationship between the number of nodes and the number of user tags, and the hierarchical relationship. This includes: tracing upwards to the parent node of the bottom node according to the hierarchical relationship; if the parent node is not the top node, tracing upwards to the parent node's parent node according to the hierarchical relationship until the parent node's parent node is the top node, thus obtaining the ancestor chain including the bottom node, the top node, and multiple nodes located between them; and obtaining the number of user tags corresponding to each node in the ancestor chain according to the mapping relationship, thus obtaining the number of tags.

[0063] The above embodiment first traces upwards from the parent node of the bottom-level node according to the hierarchical relationship. If the parent node is not the top-level node, it continues to recursively trace its parent node until the top-level node is reached, thereby constructing an ancestor chain containing the bottom-level node, the top-level node, and all nodes in between. Subsequently, the number of user tags corresponding to each node on this ancestor chain is obtained using the mapping relationship, and the total number of tags in the ancestor chain corresponding to the bottom-level node is obtained. In a multi-level organizational structure or classification system, this application uses the ancestor chain as the storage unit, which can greatly simplify the process of querying stored user tags. Specifically, users can directly access information containing tags of that level and all its superior levels according to their organizational level, without having to perform multiple queries across levels or complex join operations, which significantly improves the speed and efficiency of data access. When using a node-based storage method, the same tag may be stored repeatedly in different subordinate nodes, causing data redundancy. However, using the ancestor chain as the storage unit can ensure that a tag is stored only once in the highest-level applicable node and all its subordinate nodes, reducing unnecessary data copying, saving storage space, and reducing the complexity and cost of data maintenance. Furthermore, storing data according to the ancestor chain intuitively reflects the actual organization or classification hierarchy, making the data structure clearer and more logical. In addition, this mechanism ensures that even with the continuous expansion of the number of tags, this application can still accurately and efficiently calculate the total number of tags in each ancestor chain. This is beneficial for using the tags of the ancestor chain as the smallest storage unit to quickly perform secondary splitting and redistribution of tags in the storage structure that exceed the preset threshold.

[0064] Optionally, after storing the user tag corresponding to the ancestor chain into at least one storage structure, the method further includes: receiving tag information, the tag information including a new user tag and a location identifier of the new user tag, the location identifier being used to characterize the node to which the new user tag belongs; and storing the new user tag into the storage structure corresponding to the node to which it belongs, based on the location identifier.

[0065] In the above embodiments, upon receiving tag information containing a new user tag and its associated node location identifier, the new user tag is accurately stored in the storage structure corresponding to its associated node based on the location identifier. This ensures real-time response to tag additions, maintains the update of the storage structure, and ensures data integrity. Furthermore, the use of location identifiers in this application is equivalent to providing a direct "address" for each newly added tag, allowing for quick location of the correct storage structure and significantly improving the efficiency of storage operations. Since tags are directly stored in the storage structure of their associated node, the repeated storage of the same new tag across multiple levels is avoided, thereby reducing data redundancy, saving storage space, simplifying data management, and lowering maintenance costs. Using location identifiers to store new tags ensures the correct distribution of data within the hierarchical structure. This allows each level of the target system to accurately access tag data within its authorized scope, while also facilitating higher-level organizations to obtain information from lower-level organizations, supporting hierarchical data access and management needs.

[0066] According to another embodiment of this application, there are multiple storage structures. After storing the user tags corresponding to the ancestor chain into at least one storage structure, the method further includes: determining whether the total number of user tags stored in each of the storage structures is greater than the preset threshold; if the total number of user tags is greater than the preset threshold, transferring the user tags in all the storage structures where the total number of user tags is greater than the preset threshold to a temporary storage structure, and constructing multiple new storage structures; identifying all the underlying nodes corresponding to the user tags in the temporary storage structure, and repeatedly executing the determination step and the storage step to re-store all the user tags in the temporary storage structure into the multiple new storage structures.

[0067] The above embodiments propose a strategy of tag transfer and storage structure adjustment when the total number of user tags in a storage structure exceeds a preset threshold. Specifically, as user tags accumulate, the data density in a single storage structure increases, leading to a decrease in query and read performance. By setting a threshold and triggering transfer when the threshold is exceeded, this can be effectively prevented, ensuring system response speed and service quality. Furthermore, the process of transferring tags to a temporary storage structure and then redistributing them to multiple new storage structures in this application is essentially a data redistribution. This avoids uneven data distribution among storage structures, ensuring that all storage units can operate under reasonable load, thereby achieving a more balanced data distribution and more efficient storage utilization. In addition, by removing and redistributing tags exceeding the threshold from the original storage structure, the situation of repeatedly storing the same tags in multiple storage structures is avoided, reducing data redundancy and saving storage resources. At the same time, this process also facilitates data consistency and simplifies management. Furthermore, the reorganization and storage of data, especially the reallocation of tags to new storage structures, simplifies query paths and reduces the number of queries across storage structures. This ensures that query operations maintain high efficiency and accuracy even when processing large amounts of tag data. Moreover, the execution of these strategies is highly automated, reducing the need for manual intervention and lowering the complexity of data management and potential human error. Automated management also helps improve the speed and consistency of data processing.

[0068] To enable those skilled in the art to better understand the technical solution of this application, the implementation process of the user tag storage method of this application will be described in detail below with reference to specific embodiments.

[0069] Example 1

[0070] This embodiment relates to a specific method for storing user tags, such as... Figure 3 As shown, taking a banking system as an example, the implementation process of the user tag storage method is explained in detail. The bank's internal structure is divided into five levels: head office, first-level branches, second-level branches, sub-branches, and outlets, forming a tree structure. Figure 3 The example shows multiple nodes representing the head office, two first-level branches (A and B), three second-level branches (A, B, and C), three first-level sub-branches (A, B, and C), and six outlets (A~F). The number corresponding to each node represents the number of user tags it contains. The hierarchical relationship of these nodes is as follows: Figure 3 As shown.

[0071] After a user logs into the system, the system retrieves the user's organization information and displays a list of tags visible to the user, encompassing all tags from the user's own organization and its superior organizations. The user then selects a suitable combination of tags and previews the list.Figure 3 For example, there are a total of 1300 tags in the entire bank. Users in the first-level branch A can choose 100+100=200 tags, and users in the branch B can choose 100+100+300+150+50=700 tags.

[0072] The mapping between institutions and the number of tags is denoted as REL1, the mapping between parent-child relationships between institutions is denoted as REL2, the maximum number of tags that a database table can hold is denoted as MAX, the set of all network points is denoted as LEAF, the result table set is TABLE, and table splitting initialization is performed. The following process is executed once when the system goes live, generating multiple split result tables (i.e., database tables), specifically including the following steps:

[0073] Step S1: Traverse LEAF, and each time try to add a point to the current table TABLE[i];

[0074] Step S2: Iterate from REL2 to obtain the branch office and all its superior institutions up to the head office, and put the tags corresponding to these institutions in REL1 into the temporary variable TAB_tmp;

[0075] Step S3: If the total number of tags in TAB_tmp does not exceed MAX, all tags of this site and its superior organization are included in table TABLE[i], and the list of organizations currently included is recorded;

[0076] Step S4: Continue to traverse LEAF and try new nodes until SUM_tmp exceeds MAX. If the node fails to be included, TAB_tmp will not be included in the node and its parent organization. Assign TAB_tmp to TABLE[i] and generate a result table.

[0077] Step S5: Repeat steps S1 to S4 above until the LEAF traversal is complete, and finally generate the result table set TABLE.

[0078] by Figure 3 For reference, when MAX=1000, the final result is split into two tables: all labels of branches A, B, C and their superior first-level branches A, second-level branches A, first-level branches A and head office A are put into one table, and all labels of branches D, E, F and their superior first-level branches B, C, second-level branches B, C, first-level branches A, B and head office are put into another table.

[0079] Example 2

[0080] After generating multiple split result tables using the method illustrated in Example 1, as the number of labels stored in the multiple result tables increases, the result tables are split a second time, with the following splitting rules:

[0081] Step S1': Traverse the TABLE, obtain the total number of labels for each TABLE, and store all tables that exceed MAX in TABLE1;

[0082] Step S2': Traverse TABLE1, obtain the organizations that belong to LEAF, and split each table in TABLE1 according to the table splitting initialization process (i.e., the process of steps S1 to S5 in the above embodiment).

[0083] Step S3': Update the TABLE with the obtained results;

[0084] Specifically, in this embodiment, the execution frequency of the secondary split can be arranged according to the actual situation to avoid the migration of tag data caused by frequent splits.

[0085] In the two embodiments described above, by weakening the correspondence between the result table and the organization, organizations with more tags are split into smaller, more granular units, while those with fewer tags are merged. This approach comprehensively considers both the number of tables and the number of columns in a single table, effectively resolving data skew caused by differences in the number of tags among branch organizations and significantly improving service performance. The solution supports secondary splitting after adjusting the number of tags, providing dynamic expansion capabilities and enhancing service flexibility. This application provides a solution for splitting services across multiple levels and multiple tags, ensuring service performance and subsequent service expansion capabilities.

[0086] This application also provides a user tag storage device. It should be noted that the user tag storage device of this application embodiment can be used to execute the user tag storage method provided in this application embodiment. This device is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0087] The following describes the storage device for user tags provided in the embodiments of this application.

[0088] Figure 4 This is a structural block diagram of a user tag storage device according to an embodiment of this application. The tagging system includes multiple nodes with a hierarchical relationship, and each node corresponds to multiple user tags, such as... Figure 4 As shown, the device includes:

[0089] The determining unit 300 is used to determine the steps, based on the mapping relationship between the number of nodes and the number of user tags and the hierarchical relationship, to determine the number of tags of all nodes in the ancestor chain of each bottom node, wherein the bottom node is the node located at the bottom of the hierarchical relationship.

[0090] Specifically, the aforementioned nodes can be hierarchical units or organizations. The hierarchical relationship represents the superior-subordinate relationship between nodes; within this hierarchy, nodes are organized into a tree structure. The aforementioned user tags refer to labels used to describe a user's characteristics or attributes. The aforementioned ancestor chain refers to the sequence of all nodes from the bottom-level node to the top-level node in the hierarchical system. The aforementioned bottom-level node is a node without child nodes in the aforementioned hierarchical tree structure, representing the most basic level of organization. The aforementioned mapping relationship refers to the correspondence between nodes and the number of user tags; that is, this mapping relationship records the number of user tags corresponding to each hierarchical organization (node).

[0091] Storage unit 400 is used to store the step of storing the user tags corresponding to the ancestor chain into at least one storage structure according to the number of tags corresponding to each ancestor chain and a preset threshold, such that the total number of user tags stored in each storage structure is less than or equal to the preset threshold.

[0092] Specifically, the aforementioned preset threshold is a pre-defined value that defines the maximum number of tags a single storage structure can hold. This preset threshold guides the creation and filling of storage structures, avoiding data management and query performance issues caused by an excessive number of tags in a single storage structure. The aforementioned storage structure refers to a data container used to store user tags, such as a database table. Each of these storage structures will hold a certain number of user tags to facilitate subsequent tag query and combination operations. It should be noted that in this application, all tags on an ancestor chain reside in the same aforementioned storage structure.

[0093] The storage device for the aforementioned user tag includes a processor and a memory. The aforementioned determining unit and storage unit are all stored as program units in the memory, and the processor executes these program units stored in the memory to implement the corresponding functions. All of the aforementioned modules reside in the same processor; alternatively, the aforementioned modules may be located in different processors in any combination.

[0094] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured; adjusting kernel parameters can at least address the performance degradation caused by the current user tag storage method.

[0095] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0096] This invention provides a computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device where the computer-readable storage medium is located to perform the user tag storage method.

[0097] This invention provides a processor for running a program, wherein the program executes the user tag storage method during runtime.

[0098] This invention provides a device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it implements a method for storing user tags. The device described herein can be a server, PC, tablet, mobile phone, etc.

[0099] This application also provides a computer program product that, when executed on a data processing device, is adapted to perform a program that initializes a storage method step having at least a user tag.

[0100] This application also provides a banking system, including:

[0101] Multiple nodes with a hierarchical relationship, including: branches, sub-branches, branches and head office;

[0102] The controller includes: one or more processors, memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include methods for performing any of the methods described above.

[0103] Specifically, within the various nodes of the aforementioned banking system, the head office typically defines some global, basic user tags applicable to all users, such as gender and age group. First-tier branches, second-tier branches, and sub-branches, building upon the head office's tags, add more specific and targeted user tags based on their respective business characteristics and user needs, such as local merchant consumption preferences and the acceptance of financial products in specific areas. As for the most basic branch offices, they further refine these tags, for example, setting more personalized user tags based on information such as the type of surrounding business district and user occupational categories. In this way, from the head office to the branch offices, each level has its own unique set of user tags, and these tag sets constitute the richness and diversity of the entire user tagging system, supporting more refined and effective user service strategies.

[0104] Figure 3 This example illustrates a hierarchical relationship diagram between branches, sub-branches, branches, and head office in a banking system; however, the hierarchical relationship diagram of each node in a banking system is not limited to this. Figure 3The format shown can also have other hierarchical relationships.

[0105] In practical applications, customer segmentation is a crucial means of managing individual users in the banking industry, and branches urgently need to achieve refined segmentation of users within their jurisdiction. User tags are an important basis for segmentation. Currently, the bank's segmentation service supports combining multiple tags to filter customer lists and provides real-time previews of user numbers, basically meeting business needs. The bank's system uses a combination of big data and search engines to provide services. The data analysis component supports the input of single-tag data files into the database to form single-tag tables, and cleans and processes the tag data; the search engine aggregates the processed tags into a wide table, providing tag combination capabilities and supporting previews of user numbers.

[0106] In this system, the search engine is responsible for handling massive data searches and complex queries. It boasts high scalability, supports distributed architecture and petabyte-scale data volumes, and employs inverted index technology to accelerate full-text retrieval. However, the search engine's support for multi-table joins is poor. If combined tags exist in multiple tables, it cannot quickly preview the number of users. Therefore, tag combination cannot be performed across different tables; the tags to be combined must be placed in the same search engine table. An excessive number of columns in a single search engine table can lead to performance degradation; it is generally recommended to keep the number of columns below 1000.

[0107] Specifically, the tag table structure in a search engine that has not been processed by the user tag storage method of this application is shown in Table 1:

[0108] Table 1

[0109]

[0110] To achieve the organic integration of a large number of distinctive tags to provide high-performance clustering services and improve system service performance, this application uses the aforementioned user tag storage method, combined with the hierarchical relationship of the banking system, to store user tags in Table 1. This not only solves the problem of severe data redundancy caused by a small number of columns in the database table and a large number of tables, but also solves the problem of service performance degradation caused by an increase in the number of columns in the database table or a large difference in the number of columns between different database tables.

[0111] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those described herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.

[0112] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0113] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0114] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0115] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process.Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0116] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0117] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0118] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0119] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0120] It should be noted that the information collected in this application is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data all comply with the relevant laws, regulations and standards of the relevant countries and regions, necessary confidentiality measures have been taken, and they do not violate public order and good morals. Corresponding operation portals are provided for users to choose to authorize or refuse.

[0121] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0122] As can be seen from the above description, the embodiments of this application achieve the following technical effects:

[0123] In the user tag storage method of this application, firstly, based on the mapping relationship between nodes and the number of user tags and the hierarchical relationship between nodes in the target system, the number of tags of all nodes in the ancestor chain of each bottom-level node is determined. Then, the user tags corresponding to the aforementioned ancestor chain of each bottom-level node are stored in a storage structure, such that the total number of user tags stored in each storage structure is less than or equal to a preset threshold. By storing the tags of the bottom-level node and all its ancestor chain's parent nodes in a storage structure and limiting the number of tags in each storage structure to no more than a preset threshold, this application effectively balances the number of storage structures and the number of columns (i.e., the number of tags) in a single storage structure. This reduces the service performance degradation caused by an excessive number of columns in the storage structure and avoids the management complexity and data redundancy caused by an excessive number of storage structures. Since the number of tags in each storage structure is controlled within a reasonable range, the maintenance and updating of user tag data becomes simpler and more efficient.

[0124] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for storing user tags, characterized in that, The target system includes multiple nodes with a hierarchical relationship, each node corresponding to multiple user tags, and the method includes: The determination step involves determining the number of tags for all nodes in the ancestor chain of each bottom-level node based on the mapping relationship between the number of nodes and the number of user tags, as well as the hierarchical relationship. The bottom-level node is the node located at the lowest level in the hierarchical relationship. The storage step involves storing the user tags corresponding to each ancestor chain into at least one storage structure based on the number of tags corresponding to each ancestor chain and a preset threshold, such that the total number of user tags stored in each storage structure is less than or equal to the preset threshold.

2. The method according to claim 1, characterized in that, The storage step includes: The selection step involves selecting a target underlying node from the underlying node set of the target system, and storing the user tag corresponding to the ancestor chain of the target underlying node in the cache structure. The underlying node set is the set of underlying nodes. In the deletion step, if the number of stored tags in the cache structure is less than or equal to the preset threshold and the set of underlying nodes is not empty, the target underlying node is deleted from the set of underlying nodes; if the number of stored tags is greater than the preset threshold and the set of underlying nodes is not empty, a predetermined operation is performed to delete at least a portion of the user tags corresponding to the ancestor chain from the cache structure and to delete the target underlying node from the set of underlying nodes. The selection and deletion steps are repeated at least once until the underlying node set is empty, at which point the user tags that are not stored in the storage structure are stored.

3. The method according to claim 2, characterized in that, Perform a predetermined operation to remove at least a portion of the user tags corresponding to the ancestor chain from the cache structure, including: The deletion sub-step involves removing the user tag corresponding to the ancestor chain of the target bottom-level node with the latest storage time from the cache structure and marking the deleted target bottom-level node. In the selection sub-step, an unmarked target bottom node is selected from the bottom node set, and the user tag corresponding to the ancestor chain of the unmarked target bottom node is stored in the cache structure. It is also determined whether the number of stored tags is less than or equal to the preset threshold. In the loop sub-step, if the number of stored tags is less than or equal to the preset threshold, the predetermined operation is determined to be completed; if the number of stored tags is greater than the preset threshold, the deletion sub-step and the selection sub-step are executed at least once in a loop until the number of stored tags is less than or equal to the preset threshold, or until there is no unmarked target bottom node in the bottom node set. In the storage sub-step, if there is no unmarked target underlying node in the underlying node set, an empty storage structure is selected from the storage structure set, and the user tag in the cache structure is transferred to the selected storage structure. The storage structure set is a collection of storage structures.

4. The method according to claim 2, characterized in that, Storing user tags that are not stored in the storage structure includes: Select an empty storage structure from the set of storage structures, wherein the set of storage structures is the collection of storage structures; The user tag in the cache structure is transferred to the selected storage structure.

5. The method according to claim 1, characterized in that, Based on the mapping relationship between the number of nodes and the number of user tags, and the hierarchical relationship, determine the number of tags for all nodes in the ancestor chain of each bottom-level node, including: Based on the hierarchical relationship, trace back upwards to the parent node of the bottom-level node; If the parent node is not the top-level node, the parent node is traced upwards according to the hierarchical relationship until the parent node's parent node is the top-level node, thus obtaining the ancestor chain including the bottom-level node, the top-level node, and multiple nodes located between them; Based on the mapping relationship, the number of user tags corresponding to each node in the ancestor chain is obtained, and the number of tags is obtained.

6. The method according to claim 1, characterized in that, After storing the user tag corresponding to the ancestor chain into at least one storage structure, the method further includes: Receive tag information, the tag information including a new user tag and the location identifier of the new user tag, the location identifier being used to characterize the node to which the new user tag belongs; Based on the location identifier, the new user tag is stored in the storage structure corresponding to the node to which it belongs.

7. The method according to claim 1, characterized in that, The method includes multiple storage structures. After storing the user tags corresponding to the ancestor chain into at least one storage structure, the method further includes: Determine whether the total number of user tags stored in each of the aforementioned storage structures is greater than the preset threshold; If the total number of user tags exceeds the preset threshold, all user tags in the storage structures whose total number of user tags exceeds the preset threshold are transferred to a temporary storage structure, and multiple new storage structures are constructed. Identify all the underlying nodes corresponding to the user tags in the temporary storage structure, and repeatedly execute the determination step and the storage step to restore all the user tags in the temporary storage structure to the plurality of new storage structures.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein, when the program is executed, it controls the device on which the computer-readable storage medium is located to perform the method according to any one of claims 1 to 7.

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

10. A banking system, characterized in that, include: Multiple nodes with a hierarchical relationship, including: branches, sub-branches, branches and head offices; A controller includes: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including methods for performing any one of claims 1 to 7.