A multi-relationship group customer tree generation and dynamic interaction method and system

CN123012042APending Publication Date: 2026-10-30TAOSHU TECHNOLOGY (BEIJING) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611271723.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-20
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

当用户搜索隐藏企业时,需要重新展开较大范围的树结构或者重新请求全部关系数据,不仅增加数据处理量,而且容易导致原有节点位置大范围变化,影响用户对当前集团结构的视觉认知

Benefits of technology

(1)本发明通过将不同来源的企业关系类型映射为统一关系编码,并采用企业节点与关系节点交替的层次结构,使企业实体及其对应关系能够按照一致的数据语义进行组织。针对同一企业存在多个上级企业或多条关联路径的情况,为不同父节点下的企业分别建立路径实例,并利用父路径标识形成祖先企业集合进行路径防环,在避免循环扩展的同时保留合法的多上级关联路径;同时将关系来源及关系属性与具体路径实例关联存储,从而避免因简单节点去重导致关系链路丢失,提高集团客户树中成员层级、直接上级、关系类型及来源路径的可追溯性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123012042A_ABST
    Figure CN123012042A_ABST
Patent Text Reader

Abstract

The application discloses a multi-relationship group customer tree generation and dynamic interaction method and system. Enterprise relationship records are read, relationship types are mapped into unified relationship codes, a group customer tree is alternately constructed according to enterprise nodes and relationship nodes, and the same enterprise is kept in multiple superior association and path loop prevention is performed through path instances; display threshold values are determined according to display view areas and node sizes, excessive enterprise nodes are reversibly aggregated, and full-amount positioning indexes covering visible, hidden and aggregated members are established; target paths are recovered and affected sub-trees are locally recalculated in response to focusing operations. Multi-scale wavelet scattering transformation is performed on off-screen rendering images to obtain display congestion amount, and in-band movement at the enterprise level is performed through Sinkhorn iteration to optimize pixel capacity transmission and correct node coordinates, and nodes and connecting lines are rendered according to the corrected coordinates. The application can reduce node shielding and local congestion, reduce node rearrangement, and improve search positioning and interactive display stability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer data processing and graphics visualization technology, specifically to a method and system for generating and dynamically interacting with a multi-relationship group customer tree. Background Technology

[0002] As enterprises become increasingly group-oriented, direct holding, indirect holding, joint control, branches, equity participation, and other investment or organizational relationships may exist within the same group. Financial institutions, industry service providers, and enterprise management platforms typically need to convert the relationships between different enterprises into a visualized group customer relationship diagram based on data such as business registration, equity investment, and organizational structure when conducting group customer identification, relationship analysis, risk assessment, and customer management. This allows users to quickly identify group levels, control paths between enterprises, and specific relationships.

[0003] Existing technologies typically use enterprises as graph nodes and equity relationships, investment relationships, or organizational relationships as connecting edges between nodes, displaying them through force-directed graphs, ordinary tree graphs, or hierarchical relationship graphs. For scenarios with smaller group sizes and simpler relationship structures, this approach can basically achieve visualization of enterprise relationships. However, in actual enterprise relationship data, different data sources may differ in the name, encoding method, and relationship direction of the same relationship. For example, the same control relationship may be recorded as an investment relationship, shareholder relationship, or control relationship, making it difficult to directly form a unified and stable relationship structure from data from different sources.

[0004] Meanwhile, corporate group relationships are typically not strictly single-parent tree structures. The same company may be associated with multiple companies within the group through different shareholders, control chains, or investment paths, resulting in multiple superiors, multiple paths, and even circular relationships. Existing ordinary tree structures usually avoid duplicate nodes through simple deduplication, stopping insertion once a company has already appeared, which can easily lead to the loss of the actual association path formed by that company through another superior company. Allowing duplicate representations of the same company, on the other hand, can cause a rapid increase in the number of nodes and make it difficult for users to determine the specific source path corresponding to different node instances.

[0005] When a corporate client comprises hundreds or even thousands of enterprise nodes, drawing all nodes and connections into a limited display area at once can easily lead to nodes occluding each other, densely intersecting connections, and overcrowding in certain areas. Existing solutions typically reduce the number of nodes initially rendered by using fixed node truncation, paginated display, or simple folding. However, fixed truncation thresholds usually do not take into account the pixel size of the actual display device, the node display size, and the remaining display capacity of different levels of areas. This can easily result in high-resolution display areas not being fully utilized, while low-resolution or densely populated areas still experience significant occlusion.

[0006] Furthermore, enterprise nodes that are collapsed or aggregated and hidden typically do not participate in the retrieval of the currently visible tree. When a user searches for a hidden enterprise, a large portion of the tree structure needs to be re-expanded or all relationship data needs to be re-requested. This not only increases the amount of data processing but also easily leads to significant changes in the positions of existing nodes, affecting the user's visual perception of the current group structure. Existing tree layout methods often recalculate the layout of the entire tree after the number of nodes changes, causing unchanged nodes to move synchronously, resulting in page jumps and repeated rendering.

[0007] On the other hand, most existing graphics layout algorithms determine whether a conflict has occurred based on the geometric distance or preset spacing between nodes, failing to adequately consider the pixel occupancy of nodes in the final displayed image, the degree of convergence of connecting lines, and the local congestion state at different scales. For cases where nodes do not directly overlap but a large number of connecting lines converge through the same area, relying solely on node boundary collisions is insufficient to accurately reflect the actual visual congestion level; simply increasing the node spacing may further enlarge the graphic size, reducing the utilization efficiency of the limited display view area. Therefore, how to adaptively adjust local nodes based on the actual space occupancy and congestion state in the displayed image while preserving the multi-relationship, multi-path group structure, and reducing the rearrangement and repeated rendering of irrelevant nodes, remains a technical problem that needs to be solved in the visualization of group customer trees. Summary of the Invention

[0008] To address the aforementioned technical problems, this invention discloses a method and system for generating and dynamically interacting with a multi-relationship group customer tree. The method involves reading enterprise relationship records, mapping relationship types to unified relationship codes, and constructing a group customer tree by alternating enterprise nodes and relationship nodes. Multiple parent-child associations within the same enterprise are preserved through path instances, and path loop prevention is implemented. A display threshold is determined based on the display viewport and node size. Excess enterprise nodes are reversibly aggregated, and a full-scale positioning index covering visible, hidden, and aggregated members is established. The target path is restored in response to focusing operations, and affected subtrees are locally recalculated. Multi-scale wavelet scattering transform is performed on the off-screen rendered image to obtain display congestion levels. Within the enterprise-level movement band, optimal pixel capacity transmission is achieved through Sinkhorn iteration, and node coordinates are corrected. Nodes and connecting lines are then rendered according to the corrected coordinates. This invention reduces node occlusion and local congestion, minimizes node rearrangement, and improves the stability of retrieval, positioning, and interactive display.

[0009] This application provides a method for generating and dynamically interacting with a multi-relationship group customer tree, including the following steps: S1. Read the enterprise relationship record containing the first enterprise identifier, the second enterprise identifier, and the relationship type; map the relationship type to a unified relationship code and determine the parent-child direction. S2. Construct the group customer tree by alternating between enterprise nodes and relationship nodes, and create a path instance for each enterprise node containing an enterprise identifier, parent path identifier, unified relationship code, and path identifier; create different path instances for the same enterprise under different parent nodes, and terminate the branch when the added enterprise belongs to the current path ancestor set; S3. Determine the display threshold of relational nodes based on the display view area and node display size, write the excess enterprise nodes into the hidden set and generate reversible aggregate nodes; S4. Traverse visible nodes, hidden nodes, and aggregated members to build a full location index. In response to retrieval or focus operations, restore the path between the target path instance and the nearest visible ancestor node based on the enterprise identifier and the selected path identifier. S5. Take the parent node with the smallest tree depth among the parent nodes of the visible set that have changed as the root node affected by the layout, keep the anchor point coordinates and recalculate the coordinates of the affected subtrees. S6. Draw the affected subtree off-screen and generate node masks and connection line masks. Perform multi-scale wavelet scattering transform on the image partition to obtain the display congestion. Divide the moving bands according to the enterprise level. In each moving band, form the source and target distribution based on the display congestion and unoccupied pixel capacity. Obtain the optimal transmission matrix through Sinkhorn iteration. Correct the coordinates of the congested nodes and maintain the hierarchical horizontal coordinate, same level order and anchor point constraints. S7. Render nodes and connecting lines according to the corrected coordinates, and output the group customer tree display image.

[0010] Preferably, the enterprise relationship record further includes a relationship source identifier and a relationship attribute; a relationship mapping table is pre-established, where each mapping item records the original relationship type, the corresponding unified relationship code, and the parent-child direction rule; the enterprise entities at both ends of the relationship are determined based on the first enterprise identifier and the second enterprise identifier, the parent enterprise and the child enterprise are determined based on the parent-child direction rule, and a relationship node with the corresponding unified relationship code is inserted between the parent enterprise node and the child enterprise node; the relationship source identifier and the relationship attribute are written into the path instance corresponding to the child enterprise node and associated with the parent path identifier of the path instance to represent the current enterprise relationship between the parent enterprise and the child enterprise; when there are multiple relationship sources between the same parent enterprise and the child enterprise, the corresponding multiple relationship source identifiers are formed into a relationship source identifier set and stored in the same path instance; the relationship attribute includes at least one of the following: shareholding ratio, control relationship identifier, and branch identifier.

[0011] Preferably, the enterprise identifier is a unique enterprise identifier, and an enterprise entity record is established with the enterprise identifier as the primary key. The enterprise entity record includes at least the enterprise identifier and the enterprise name. When establishing a path instance, the parent path identifier, the unified relation code, and the enterprise identifier to be added are combined in a preset order and hashed to obtain a candidate path identifier. Conflict checks are performed on the candidate path identifier. If there is no conflict, it is used as the path identifier. If there is a conflict, a path sequence value is appended to generate the path identifier. Before branch expansion, the enterprise identifiers in the corresponding path instances are read level by level along the parent path identifier to form an ancestor enterprise set. Expansion stops when the enterprise identifier to be added belongs to the ancestor enterprise set. When the enterprise to be added exists only in other path instances, a new path instance is established.

[0012] Preferably, the determination of the display threshold includes: dividing the display view area into hierarchical display zones according to the tree depth; allocating the vertical available pixel range corresponding to the next enterprise level to each relationship node according to the number and arrangement of relationship nodes in the same relationship node layer; and forming an available display sub-area corresponding to each relationship node by combining the horizontal display width of the next enterprise level; determining the minimum occupied area of ​​a single node according to the minimum display width, minimum display height and reserved pixel interval between nodes; obtaining the display threshold of the relationship node by correcting and rounding the ratio of the pixel area of ​​the available display sub-area to the minimum occupied area of ​​a single node using a preset view area occupancy coefficient; writing enterprise nodes that exceed the display threshold into a hidden set, and establishing a reversible aggregate node that records the aggregate node identifier, the set of hidden enterprise identifiers, the storage address of the hidden set and the identifier of the original parent node.

[0013] Preferably, each index entry of the full location index includes at least an enterprise identifier, a path identifier, a parent path identifier, an enterprise level, a visibility status, and an aggregation node identifier; one or more candidate path instances are obtained by querying based on the target enterprise identifier; when there are multiple candidate path instances, the path identifiers corresponding to each candidate path instance are output and the selected path identifier is received, with the corresponding path instance being used as the target path instance; starting from the target path instance, the query is performed in reverse order along the parent path identifiers to the first ancestor path instance that is in a visible state, and the path instances between them are restored; when the target path instance is located in the hidden set, its corresponding enterprise node is moved into the visible set, and the corresponding reversible aggregation node is updated or deleted based on the number of hidden enterprises after the removal.

[0014] Preferably, the multi-scale wavelet scattering transform includes: convolving the node region mask and the connector region mask with complex Morlet wavelets of at least two scales and multiple directions, performing modulus calculation on the convolution results to obtain a first-level propagation result, and performing low-pass aggregation on the first-level propagation result to obtain a first-level scattering feature; further convolving and performing modulus calculation on the first-level propagation result without low-pass aggregation with complex Morlet wavelets of another scale and / or another direction, and performing low-pass aggregation on the obtained result to obtain a second-level scattering feature; determining the local pixel occupancy intensity based on the first-level scattering feature of the node region, determining the connector direction concentration degree and cross-scale aggregation degree based on the first-level and second-level scattering features of the connector region in different directions, and weighting the local pixel occupancy intensity, connector direction concentration degree, and cross-scale aggregation degree to obtain the display congestion of each image partition.

[0015] Preferably, image partitions are divided into different level mobile zones according to the horizontal coordinate range corresponding to each enterprise level. For each level mobile zone, image partitions with display congestion exceeding a preset congestion threshold are identified as source image partitions. The source distribution is obtained by normalizing the difference between the display congestion of each source image partition and the preset congestion threshold. Image partitions with unoccupied pixel capacity exceeding a preset capacity threshold are identified as target image partitions. The target distribution is obtained by normalizing the unoccupied pixel capacity of each target image partition. A transmission cost matrix is ​​established based on the pixel distance between the centers of source image partitions and target image partitions within the same level mobile zone. The optimal transmission matrix is ​​obtained through Sinkhorn iteration with entropy regularization. For each source image partition, based on the amount of data transmitted from the source image partition to each target image partition, the vertical pixel offset of the center of each target image partition relative to the center of the source image partition is weighted to obtain the vertical migration amount of the source image partition. The vertical migration amount is then superimposed on the current ordinate of each congested node within the source image partition to obtain candidate ordinates. According to the vertical arrangement order of each enterprise node within the same enterprise level before coordinate correction, the candidate ordinates are sequentially projected to satisfy the preset minimum node spacing to obtain the corrected ordinates of each congested node, while keeping the horizontal coordinates corresponding to the enterprise level of each congested node and the anchor point coordinates of the layout-affected root node unchanged.

[0016] Preferably, before drawing the connection line between parent and child nodes according to the corrected node coordinates, each node is redrawn in the off-screen image buffer area according to the corrected enterprise node coordinates and relationship node coordinates, and an updated node region mask is generated according to the pixel position occupied by the redrawn nodes; the updated node region mask is morphologically dilated according to a preset safe pixel distance to obtain the node obstacle region; distance transformation is performed on the pixels outside the node obstacle region to obtain the free space distance from each pixel to the nearest node obstacle boundary; the free space distance is used as the filter value, and a cubic complex filter sequence is constructed according to the distance threshold from large to small; zero-duration long-term homology analysis is performed on the filter sequence, and the corresponding duration length is determined according to the birth threshold and death threshold of each free space connectivity structure; free space connectivity structures with a duration length greater than the preset duration threshold are screened, and the connectivity relationship between the free space connectivity structure and the preset neighborhood outside the parent node connection end and the preset neighborhood outside the child node connection end is detected respectively; the free space connectivity structure that is connected to both the preset neighborhood outside the parent node connection end and the preset neighborhood outside the child node connection end is determined as the stable connection channel of the corresponding parent-child node connection line.

[0017] Preferably, the pathfinding order of the connecting lines is determined according to the parent node tree depth from small to large, and the path identification is sorted according to the same tree depth. For each pixel in the stable connection channel and each candidate propagation direction entering the pixel, the direction-related propagation cost is determined based on the distance from the pixel to the node obstacle region, the density of existing connecting lines passing through the preset neighborhood of the pixel, and the degree of deflection of the candidate propagation direction relative to the parent node to child node reference direction. The direction-related propagation cost decreases when the distance increases, and increases when the connecting line density or deflection degree increases. An anisotropic fast traversal algorithm is executed with the parent node connection end as the propagation starting point to obtain the cumulative propagation time field. The candidate connecting line path is obtained by backtracking from the child node connection end along the direction of decreasing cumulative propagation time. The candidate connection paths are rasterized, and the number of overlapping pixels with non-associated nodes and the number of intersecting pixels with existing connections are counted. When either number exceeds a corresponding preset threshold, the direction-related propagation cost of the corresponding over-threshold region is increased, and the anisotropic fast traversal algorithm is re-executed. When the number of overlapping pixels and the number of intersecting pixels do not exceed the corresponding preset threshold, the current candidate connection path is determined as the final connection path. When there are still candidate connection paths exceeding the corresponding preset threshold after reaching the upper limit of the preset number of iterations, the path evaluation value is determined according to the number of overlapping pixels, the number of intersecting pixels, and the path pixel length of the candidate connection paths obtained in each iteration according to a preset weight, and the candidate connection path with the smallest path evaluation value is determined as the final connection path.

[0018] This application also provides a multi-relationship group customer tree generation and dynamic interaction system, including: The reading unit reads enterprise relationship records containing the first enterprise identifier, the second enterprise identifier, and the relationship type, maps the relationship type to a unified relationship code, and determines the parent-child direction. Establish units and construct a group customer tree by alternating between enterprise nodes and relationship nodes. Create path instances for enterprise nodes that include enterprise identifier, parent path identifier, unified relationship code, and path identifier. Create different path instances for the same enterprise under different parent nodes. The branch terminates when the added enterprise belongs to the ancestor set of the current path. The reversible aggregation node generation unit determines the display threshold of relational nodes based on the display view area and node display size, writes excess enterprise nodes into the hidden set, and generates reversible aggregation nodes. The path generation unit traverses visible nodes, hidden nodes, and aggregated members to build a full location index. In response to retrieval or focus operations, it restores the path between the target path instance and the nearest visible ancestor node based on the enterprise identifier and the selected path identifier. The recalculation unit takes the parent node with the smallest tree depth among the parent nodes of the visible set changes as the root node affected by the layout, maintains the anchor point coordinates and recalculates the coordinates of the affected subtrees; The correction unit draws the affected subtree off-screen and generates node masks and connection line masks. It performs multi-scale wavelet scattering transformation on the image partition to obtain the display congestion. It divides the moving bands according to the enterprise level and forms the source and target distributions in each moving band based on the display congestion and unoccupied pixel capacity. It obtains the optimal transmission matrix through Sinkhorn iteration and corrects the coordinates of the congested nodes while maintaining the hierarchical horizontal coordinates, same-level order and anchor point constraints. The display unit renders nodes and connecting lines according to the corrected coordinates, and outputs a group customer tree display image.

[0019] Compared with the prior art, the technical solution of the present invention has the following beneficial effects: (1) This invention maps enterprise relationship types from different sources to a unified relationship code and adopts a hierarchical structure of alternating enterprise nodes and relationship nodes, enabling enterprise entities and their corresponding relationships to be organized according to consistent data semantics. For cases where the same enterprise has multiple parent enterprises or multiple associated paths, path instances are established for enterprises under different parent nodes, and ancestor enterprise sets are formed using parent path identifiers to prevent path loops, thus preserving legitimate multiple parent-level associated paths while avoiding cyclic expansion; at the same time, the relationship source and relationship attributes are associated with specific path instances for storage, thereby avoiding the loss of relationship links due to simple node deduplication and improving the traceability of member levels, direct superiors, relationship types and source paths in the group customer tree.

[0020] (2) This invention dynamically determines the display threshold based on the pixel size of the display view area, the display size of the nodes, and the available display area corresponding to each relation node. Enterprise nodes that exceed the display capacity are written into the hidden set and form reversible aggregate nodes, thereby reducing the number of nodes participating in rendering at the same time. By simultaneously covering the full positioning index of visible nodes, hidden nodes, and aggregate members, aggregated or collapsed enterprises can still be retrieved and located. When focusing on a target enterprise, only the necessary path between the target path and the nearest visible ancestor node is restored, and the root node with the smallest tree depth where the visible set changes is used as the layout influence root node for local coordinate recalculation. Therefore, it can reduce the re-layout and redrawing of irrelevant nodes, reduce page jumps, and improve the interactive response efficiency and display continuity of large-scale group trees.

[0021] (3) This invention performs multi-scale wavelet scattering transform on the node mask and connector mask of the local subtree to obtain the display congestion from aspects such as pixel occupancy, connector direction concentration, and cross-scale aggregation. Within the corresponding enterprise level movement band, the migration amount from the congested area to the area with higher remaining pixel capacity is determined through Sinkhorn optimal transmission. The node coordinates are corrected while maintaining the enterprise level, same level order, and anchor point position constraints. Furthermore, distance transform and zero-maintenance long-term homology are used to screen cross-scale stable free connection channels, and the connector path is optimized through anisotropic fast travel and rasterization feedback, thereby reducing node occlusion, connector crossing nodes, and local intersection density, and improving the space utilization, structural recognition, and visual stability of the group customer tree display image. Attached Figure Description

[0022] Figure 1 This is a schematic diagram of the system hardware structure; Figure 2 Overall flowchart of the method for generating and dynamically interacting with multi-relationship group customer trees; Figure 3 A standardized diagram illustrating enterprise relationships; Figure 4 A schematic diagram illustrating the construction and loop termination of a multi-path group customer tree; Figure 5 A schematic diagram illustrating the generation of reversible aggregation nodes; Figure 6 This is a diagram illustrating the full location index and target path recovery. Figure 7 This is a schematic diagram showing the local layout and node coordinate correction. Figure 8 The connection lines are shown in the optimized schematic diagram. Detailed Implementation

[0023] Those skilled in the art will understand that, in order to make the above-mentioned objects, features, and beneficial effects of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. This application provides a method for generating and dynamically interacting with a multi-relationship group customer tree, such as... Figure 2 As shown, the steps include: S1. Read the enterprise relationship record containing the first enterprise identifier, the second enterprise identifier, and the relationship type; map the relationship type to a unified relationship code and determine the parent-child direction. In some embodiments, Group A Co., Ltd. is used as the central enterprise to be generated in the group customer tree, and its unique enterprise identifier is ENT0001. After receiving the group customer tree generation request, the server reads the enterprise relationship records associated with this enterprise from the enterprise relationship database based on ENT0001. The enterprise relationship database can be pre-collected from business registration data, enterprise annual report data, equity investment data, and publicly disclosed data. Each enterprise relationship record has at least a first enterprise identifier field, a second enterprise identifier field, and an original relationship type field, and can further include fields such as relationship source identifier, shareholding ratio, control relationship identifier, branch identifier, and data update time.

[0024] For example, the first enterprise relationship record reads as follows: First enterprise identifier ENT0001 corresponds to Group A Co., Ltd.; Second enterprise identifier ENT0101 corresponds to Technology Co., Ltd.; Original relationship type is controlling investment; Relationship source identifier is SOURCE01; Shareholding ratio is 68%. The second enterprise relationship record reads as follows: First enterprise identifier ENT0201 corresponds to Industry Investment Co., Ltd.; Second enterprise identifier ENT0001; Original relationship type is joint control; Relationship source identifier is SOURCE02. The third enterprise relationship record reads as follows: First enterprise identifier ENT0001; Second enterprise identifier ENT0301 corresponds to Group A Shenzhen Branch; Original relationship type is "affiliated branch"; Relationship source identifier is SOURCE03.

[0025] To eliminate semantic inconsistencies caused by different data sources using different names for similar enterprise relationships, the server pre-establishes a relationship mapping table. This mapping table includes at least the original relationship type, a unified relationship code, a unified relationship name, and parent-child direction rules. In this embodiment, original relationship types such as controlling investment, direct control, and controlling subsidiaries are mapped to a unified relationship code E1, corresponding to direct control; branches and affiliated institutions are mapped to E2, corresponding to branches; the largest shareholder and largest shareholder are mapped to E3, corresponding to the largest shareholding; publicly disclosed members and disclosed related enterprises are mapped to E4, corresponding to public disclosure; joint actual control and joint control are mapped to E5, corresponding to joint control; indirect control and multi-level control are mapped to E6, corresponding to indirect control; and equity participation and non-controlling investment are mapped to E7, corresponding to equity participation.

[0026] After reading each enterprise relationship record, the server accesses the relationship mapping table using the original relationship type as the query key. For example, for the controlling investment record between ENT0001 and ENT0101, the query returns the unified relationship code E1; for the joint control record between ENT0201 and ENT0001, the query returns the unified relationship code E5; and for the "affiliated branch" record between ENT0001 and ENT0301, the query returns the unified relationship code E2.

[0027] Furthermore, to avoid inconsistencies in the arrangement of enterprise fields when recording relationships from different data sources, this embodiment does not directly fix the first enterprise identifier as the parent enterprise. Instead, it determines the actual parent-child direction based on the parent-child direction rules corresponding to the unified relationship code in the relationship mapping table. For example, the parent-child direction rule corresponding to E1 stipulates that the holding company is the parent enterprise and the controlled company is the child enterprise. Therefore, in the first record, ENT0001 is determined as the parent enterprise and ENT0101 is determined as the child enterprise. The parent-child direction rule corresponding to E2 stipulates that the head office is the parent enterprise and the branch office is the child enterprise. Therefore, in the third record, ENT0001 is determined as the parent enterprise and ENT0301 is determined as the child enterprise.

[0028] For records where the original field direction is opposite to the unified tree direction, a direction conversion is performed. For example, if a data source stores records in the field order of investee company—investor company, and reads the first company identifier ENT0401, the second company identifier ENT0001, and the original relationship type "directly controlled by the second company", the relationship mapping table determines its corresponding unified relationship code E1 based on the original relationship type. At the same time, it determines that the second company should be the parent company. Therefore, ENT0001 is adjusted to the parent company, and ENT0401 is adjusted to the child company, instead of establishing a parent-child relationship according to the original arrangement order of the database fields.

[0029] After the relationship standardization is completed, the server generates standard relationship records. Taking the record between Group A and Technology B as an example, the standard relationship record stores the parent company identifier ENT0001, the child company identifier ENT0101, the unified relationship code E1, the relationship source identifier SOURCE01, and the shareholding ratio of 68%. Taking Group A's Shenzhen branch as an example, the standard relationship record stores the parent company identifier ENT0001, the child company identifier ENT0301, the unified relationship code E2, and the relationship source identifier SOURCE03. If records from multiple data sources correspond to the same parent company, the same child company, and the same unified relationship code after comparison of company identifiers, then the multiple relationship source identifiers are merged into the relationship source identifier set corresponding to the standard relationship, and the company relationship is not repeatedly generated due to different source names.

[0030] S2, such as Figure 4As shown, enterprise nodes and relationship nodes alternately construct the group customer tree, creating path instances for enterprise nodes that include enterprise identifier, parent path identifier, unified relationship code, and path identifier; different path instances are created for the same enterprise under different parent nodes, and the branch terminates when the added enterprise belongs to the current path ancestor set; in a specific embodiment, as... Figure 3 As shown, after standardizing enterprise relationships in step S1, the central enterprise, Group A Co., Ltd., is taken as the root enterprise node of the group customer tree. The enterprise identifier of Group A Co., Ltd. is ENT0001. The system establishes an initial path instance for the root enterprise node. The initial path instance records at least the enterprise identifier ENT0001, the parent path identifier ROOT, the unified relationship code ROOT_REL, and the path identifier PATH0001. Here, ROOT indicates that there is no actual parent path, and ROOT_REL indicates the root node relationship type.

[0031] The system constructs a group customer tree using an alternating pattern of enterprise nodes, relationship nodes, and enterprise nodes. Taking the direct holding relationship between Group A Co., Ltd. and Technology Co., Ltd. as an example, step S1 obtains the standard relationship record: the parent enterprise identifier is ENT0001, the child enterprise identifier is ENT0101, and the unified relationship code is E1. The system first establishes a relationship node R_E1 under the corresponding enterprise node of Group A. This relationship node records the unified relationship code E1 and the corresponding relationship name "direct holding". Subsequently, the corresponding enterprise node of Technology Co., Ltd. is established under the relationship node R_E1. At this point, the enterprise node of Group A is located at tree depth 0, the direct holding relationship node R_E1 is located at tree depth 1, and the enterprise node of Technology Co., Ltd. is located at tree depth 2, thus forming an alternating node structure of Group A Co., Ltd., direct holding, and Technology Co., Ltd.

[0032] For Technology Company B, the system establishes a corresponding path instance. Specifically, the path instance PATH0001 of Group A is used as the parent path instance. The parent path identifier PATH0001, the unified relationship code E1, and the enterprise identifier ENT0101 of Technology Company B are combined in a preset order to generate the path identifier PATH0101, and a path instance P0101 is established. The path instance P0101 records the enterprise identifier ENT0101, the parent path identifier PATH0001, the unified relationship code E1, and the path identifier PATH0101. If the shareholding ratio of 68% and the relationship source SOURCE01 of the controlling relationship are also obtained in step S1, the shareholding ratio and the relationship source identifier can be associated and stored with the path instance P0101 to indicate that Technology Company B enters the current group path through the direct controlling relationship of Group A Co., Ltd.

[0033] The system continues to perform a next-level relationship query on Technology Co., Ltd. B. For example, it reads that Technology Co., Ltd. B directly holds shares in Intelligent Equipment Co., Ltd. D, with the corresponding sub-enterprise identifier ENT0111 and unified relationship code E1. The system establishes a new direct holding relationship node under the enterprise node of Technology Co., Ltd. B, and under this relationship node, it establishes an enterprise node of Intelligent Equipment Co., Ltd. D, and simultaneously establishes path instance P0111. The parent path identifier in path instance P0111 is PATH0101, the enterprise identifier is ENT0111, the unified relationship code is E1, and the path identifier is PATH0111. This forms a complete association path of Group A, direct holding, Technology Co., Ltd. B, direct holding, and Intelligent Equipment D.

[0034] Furthermore, this embodiment allows the same enterprise entity to appear in different positions in the group customer tree through different parent enterprises. For example, in addition to Technology Co., Ltd. B, Group Co., Ltd. A also directly holds shares in Industry Investment Co., Ltd. C, whose enterprise identifier is ENT0201; at the same time, Industry Investment Co., Ltd. C directly holds shares in the aforementioned Intelligent Equipment Co., Ltd. D, ENT0111. The system first establishes a path instance P0201 for Industry Investment Co., Ltd. C, whose parent path identifier is PATH0001; when further expanding Industry Investment Co., Ltd. C, the sub-enterprise ENT0111 is read again.

[0035] At this point, the system queries the established enterprise entity records and finds that Ding Intelligent Equipment Co., Ltd., corresponding to ENT0111, has already appeared through the path of Yi Technology Co., Ltd. However, the system does not delete this record. Instead, it first determines whether ENT0111 exists in the ancestor enterprise set of the current path of "Cing Industry Investment Co., Ltd." Specifically, starting from the path instance P0201 corresponding to C Industry Investment Co., Ltd., the system reads the enterprise identifiers upwards level by level according to its parent path identifier PATH0001, and finds that the ancestor enterprise set of the current path includes ENT0201 and ENT0001, but does not include ENT0111. Therefore, although ENT0111 already exists in other paths, it does not belong to the ancestor enterprise set of the current path. The system still creates a new enterprise node instance of Ding Intelligent Equipment Co., Ltd. under the relationship node corresponding to C Industry Investment Co., Ltd., and creates a new path instance P0211.

[0036] The path instance P0211 records the enterprise identifier ENT0111, the parent path identifier PATH0201, the unified relationship code E1, and the path identifier PATH0211, which is different from PATH0111. Therefore, the same enterprise entity ENT0111 corresponds to at least two path instances: PATH0111 represents the path "Group A—Technology B—Intelligent Equipment D", and PATH0211 represents the path "Group A—Industrial Investment C—Intelligent Equipment D". The two path instances reference the same enterprise entity record but retain different parent path identifiers and relationship information, thus avoiding the duplication of complete basic information for the same enterprise while fully preserving the actual associated paths formed by different parent enterprises.

[0037] To prevent circular relationships in enterprise relationship data from leading to infinite recursive expansion, this embodiment performs an ancestor check on the current path before each enterprise to be added. For example, if when continuing to expand Ding Intelligent Equipment Co., Ltd. (ENT0111), an enterprise relationship record is read, indicating that Ding Intelligent Equipment Co., Ltd. is again associated with Group A Co., Ltd. (ENT0001) through some relationship, the system starts from the current path instance PATH0111 corresponding to Ding Intelligent Equipment Co., Ltd., and sequentially reads the enterprise identifiers corresponding to PATH0101 and PATH0001 along the parent path identifiers, forming an ancestor enterprise set {ENT0111, ENT0101, ENT0001}. Since the enterprise to be added, ENT0001, already exists in the current path ancestor enterprise set, the system determines that continuing to insert ENT0001 will form a circular path of Group A, Technology B, Ding Intelligent Equipment, and Group A. Therefore, no new enterprise node or path instance is created, and the subsequent expansion of this branch is terminated.

[0038] In another implementation, to ensure that path identifiers can reliably distinguish different enterprise paths, the parent path identifier, unified relationship code, and the identifier of the enterprise to be added can be concatenated to form a string, such as "PATH0001|E1|ENT0101". A hash operation is then performed on this string to obtain candidate path identifiers. The system then performs conflict checks between the candidate path identifiers and existing path identifiers. If no conflict occurs, the candidate path identifier is directly used as the current path identifier; if a conflict occurs, an incrementing path sequence value is appended to form the final path identifier. Therefore, even if the same enterprise enters the group customer tree through different parent paths and different relationship types, it can still obtain mutually distinguishable path instances.

[0039] Through the above processing, step S2 forms a data structure that separates entity information from path information: enterprise entity records are used to store relatively stable basic information such as the enterprise's unique identifier and enterprise name, while path instances are used to describe the specific location and source path of the enterprise in the group customer tree; enterprise nodes and relationship nodes maintain an alternating hierarchical structure, and the same enterprise can form multiple path instances under different parent nodes, while the current path ancestor verification can block the circular expansion in the real enterprise relationship data, thus taking into account both the preservation of multiple path relationships and the limitations of the recursive construction process of the group customer tree.

[0040] S3, such as Figure 5 As shown, the display threshold of relational nodes is determined based on the display view area and node display size, and excess enterprise nodes are written into the hidden set and reversible aggregate nodes are generated; In one specific embodiment, after the initial construction of the group customer tree is completed in step S2, the system adaptively limits the number of enterprise child nodes that can be directly displayed by each relation node according to the current client's display view size and the actual display size of the enterprise node, so as to avoid the excessive number of enterprises under the same relation node causing node occlusion, excessively dense connection lines, and local display areas exceeding the view area.

[0041] For example, the current effective display view area used by the client to display the group customer tree has a width of 1440 pixels and a height of 900 pixels. After deducting the top toolbar, left function bar, and reserved area at the edge of the view area, the actual effective area used for drawing the group customer tree is 1280 pixels × 800 pixels. The system divides the effective display view area horizontally into multiple display bands according to the enterprise hierarchy of the group customer tree. In this embodiment, the horizontal coordinate range of the first enterprise level where the central enterprise is located is 0-220 pixels, the second enterprise level is 220-500 pixels, the third enterprise level is 500-780 pixels, and subsequent enterprise levels continue to be divided according to the same or dynamically determined hierarchical width. Relationship nodes are located between two adjacent enterprise levels.

[0042] Taking Group A Co., Ltd. as an example, four relationship nodes are formed under the Group A node: direct holding, joint control, branch offices, and equity participation. The system reads the number of enterprise sub-nodes corresponding to each relationship node. For example, the direct holding relationship node corresponds to 80 enterprises, the joint control relationship node corresponds to 12 enterprises, the branch office relationship node corresponds to 8 enterprises, and the equity participation relationship node corresponds to 20 enterprises, for a total of 120 enterprises.

[0043] The system allocates a vertical available pixel range for the next enterprise level to each relationship node based on the proportion of the number of enterprise child nodes corresponding to each relationship node to the total number of enterprise child nodes in the current relationship node layer. For example, if the available vertical pixel height for the next enterprise level is 720 pixels, then directly controlled relationship nodes will receive a basic vertical range of approximately 480 pixels based on an 80 / 120 ratio; jointly controlled relationship nodes will receive approximately 72 pixels; branch relationship nodes will receive approximately 48 pixels; and equity participation relationship nodes will receive approximately 120 pixels. Considering that each relationship node needs to reserve a minimum displayable area, the system can also pre-set a minimum vertical allocation height, such as 80 pixels. When the vertical range calculated proportionally is less than 80 pixels, it is corrected to 80 pixels, and the difference is redistributed from the remaining pixel range according to the proportion of enterprise child nodes.

[0044] For nodes with direct holding relationships, assuming the corrected vertical usable pixel interval height is 450 pixels, and the corresponding horizontal display width of the next enterprise level is 260 pixels, a 260-pixel × 450-pixel usable display sub-area is formed. Enterprise nodes use rectangular node graphics, with a preset minimum display width of 180 pixels and a minimum display height of 36 pixels. At least an 8-pixel vertical spacing is reserved between adjacent enterprise nodes, and 10 pixels are reserved on each side of the node as safe areas for connecting lines entering and leaving. Therefore, in the vertical arrangement, the minimum vertical occupied height for a single enterprise node is 44 pixels.

[0045] The system calculates the number of enterprise nodes that can be accommodated in the available display sub-area corresponding to the directly controlled node. Theoretically, 10 enterprise nodes can be arranged within a vertical available height of 450 pixels. Considering that the aggregation node itself occupies one node position and needs to reserve a certain amount of pixel space for connecting line bends and local interactive animations, this embodiment sets the viewport occupancy coefficient to 0.85. The system multiplies the theoretically displayable number by the viewport occupancy coefficient and rounds it down to obtain a display threshold K of 8 for the directly controlled node. This means that in the current display state, 8 actual enterprise nodes are prioritized for display, and one position is reserved for displaying the reversible aggregation node.

[0046] Furthermore, instead of simply selecting visible members according to the database read order, enterprise child nodes can be sorted according to a preset sorting rule. In this embodiment, priority is given to sorting by shareholding ratio in the relationship attributes from high to low; when shareholding ratios are the same, sorting is done by enterprise name or enterprise identifier. For example, if there are 80 enterprises under a direct holding relationship node, the top 8 enterprise nodes are written into the visible child node set `children` of that relationship node, and the remaining 72 enterprise nodes are written into the hidden set `_children`.

[0047] The system then generates a reversible aggregation node from the set of visible child nodes of the directly controlled node. The reversible aggregation node can be displayed as "More (72)" and assigned an independent aggregation node identifier AGG_E1_001. The data record of this aggregation node includes at least the aggregation node identifier AGG_E1_001, the original parent node identifier R_E1, the set of enterprise identifiers corresponding to the 72 hidden enterprises, the storage address of the hidden set _children, and the number of hidden members 72. If it is necessary to retain the original structure, the order in which the hidden members were arranged before entering the aggregation can be further recorded so that the original order can be restored when the aggregation is subsequently de-aggregated.

[0048] For example, the 45th company is "E Information Technology Co., Ltd.", with the company identifier ENT0145. Although the company node corresponding to ENT0145 is not currently drawn into the client's visible viewport, its company entity record and path instance are not deleted, but continue to be stored in the hidden set _children. Its path instance still retains the parent path identifier, the unified relationship code E1, and the corresponding path identifier. Therefore, the so-called "hidden" only means that the company node is not currently included in the visible node drawing set, and does not mean that the company data is deleted or its group relationship is severed.

[0049] For nodes with shared control relationships, if the display threshold corresponding to the available display sub-area is 6, and there are actually 12 enterprises, the system displays 6 of them and writes the remaining 6 into the hidden set, while generating a "More (6)" aggregation node. For nodes with branch relationships, if the calculated display threshold is 7, and there are actually only 5 branch organizations, all 5 enterprise nodes are written into the visible sub-node set, and no aggregation node is generated. Thus, different relationship nodes have display thresholds calculated separately based on their own available pixel areas, instead of using the same fixed node number threshold for the entire group customer tree.

[0050] When the viewport size changes on the client side, the system can recalculate the display threshold. For example, if the user expands the browser window from 1280 pixels to 1920 pixels wide, or enters full-screen mode, the available pixel area of ​​each display layer increases, and the display threshold corresponding to the direct holding relationship node can be increased from 8 to 12. At this time, the system can take 4 enterprise nodes from the original hidden set in the original order and write them into the visible child node set, and update the aggregate node from more (72) to more (68). Conversely, when the viewport shrinks, the visible enterprise nodes that exceed the recalculated display threshold are moved back into the hidden set, and the number of hidden members in the aggregate node is increased simultaneously.

[0051] Through the above processing, step S3 associates the pixel space that the display device can actually provide with the display size of the enterprise node, so that each relational node determines the display threshold according to its corresponding available display sub-area; for enterprise nodes that exceed the display capacity, only their visibility status is changed without deleting the corresponding enterprise entity, path instance and relation data, and a recoverable connection is established by saving the set of hidden enterprise identifiers and the storage address of the hidden set, thereby reducing the number of initially drawn nodes while ensuring that the hidden enterprises can still be retrieved, focused and re-expanded in the future.

[0052] S4. Traverse visible nodes, hidden nodes, and aggregated members to build a full location index. In response to retrieval or focus operations, restore the path between the target path instance and the nearest visible ancestor node based on the enterprise identifier and the selected path identifier. In one specific embodiment, after generating the visible node set, hidden node set, and reversible aggregate node in step S3, the system establishes a full-scale positioning index for all path instances in the group customer tree, enabling hidden enterprise nodes not currently drawn in the display view area and enterprise nodes located inside reversible aggregate nodes to still be retrieved and located. For example, continuing with the group customer tree generated with Group A Co., Ltd. as the central enterprise, Group A has an enterprise identifier ENT0001, whose path identifier is PATH0001; Group A directly holds Technology B Co., Ltd. ENT0101, and Technology B has a path identifier PATH0101; Technology B further directly holds Intelligent Equipment D Co., Ltd. ENT0111, and Intelligent Equipment D has a path identifier PATH0111 under this path. At the same time, Group A also directly holds Industry C Investment Co., Ltd. ENT0201, and Industry C Investment has a path identifier PATH0201. Industry C Investment also directly holds Intelligent Equipment D Co., Ltd. ENT0111, so Intelligent Equipment D also has a path identifier PATH0211 under another associated path.

[0053] After node aggregation is performed in step S3, for example, Group A has 80 companies under the "direct holding" relationship node. Eight of these are located in the visible child node set `children`, and the remaining 72 are located in the hidden set `_children`, organized through the aggregation node AGG_E1_001. When the system establishes a full location index, it not only traverses the currently displayed `children`, but also continues to traverse the `_children` of each relationship node and the internal members pointed to by each reversible aggregation node. Specifically, the system performs a depth-first or breadth-first traversal starting from the central enterprise node. For each path instance, at least one index entry is generated, including the enterprise identifier, path identifier, parent path identifier, enterprise level, unified relationship code, current visibility status, and aggregation node identifier. Optionally, the current parent node identifier, current display coordinates, and hidden set storage address of the corresponding enterprise node can also be further recorded.

[0054] For example, for Company B (ENT0101), which is currently displayed, its index entries can be recorded as: Company ID ENT0101, Path ID PATH0101, Parent Path ID PATH0001, Company Level 2, Unified Relationship Code E1, Visibility Status VISIBLE, and Aggregator Node ID is empty. For Company E (ENT0145), located inside the aggregation node AGG_E1_001, its index entries are recorded as: Company ID ENT0145, Path ID PATH0145, Parent Path ID PATH0001, Company Level 2, Unified Relationship Code E1, Visibility Status HIDDEN, and Aggregator Node ID AGG_E1_001. Therefore, although ENT0145 is not currently participating in graphic drawing, its path position can still be directly obtained through the full-scale positioning index.

[0055] Furthermore, for cases where a single enterprise has multiple path instances, the full-scale location index does not use the enterprise identifier as the unique index key, but instead uses an enterprise identifier-path identifier method to store different index entries. For example, Ding Intelligent Equipment Co., Ltd. (ENT0111) has two path instances, PATH0111 and PATH0211, so the index retains two independent index entries. PATH0111 corresponds to the path "Group A, Technology B, Ding Intelligent Equipment," while PATH0211 corresponds to the path "Group A, Industry C, Ding Intelligent Equipment." In this way, when performing enterprise searches, a set of candidate paths can be obtained first based on the enterprise identifier, and then the specific paths that need to be recovered and focused on can be determined.

[0056] For example, when a user enters "Ding Intelligent Equipment Co., Ltd." in the group customer tree search box, the client converts the company name into the company identifier ENT0111 and sends a search request. The system queries the full location index and obtains two candidate path instances, PATH0111 and PATH0211. The system reads the path information upwards according to its parent path identifier and outputs two candidate paths to the client. For example, the first candidate path represents Group A Co., Ltd., Direct Holding, Technology Co., Ltd., Direct Holding, Ding Intelligent Equipment Co., Ltd., and the second candidate path represents Group A Co., Ltd., Direct Holding, Industry Investment Co., Ltd., Direct Holding, Ding Intelligent Equipment Co., Ltd.

[0057] When a user selects the second candidate path, the client submits the selected path identifier PATH0211 as the focus parameter, and the system uses this to determine PATH0211 as the target path instance. This avoids the problem of uncertain display position when focusing solely on the company name or company identifier, which can occur due to multiple parent paths for the same company.

[0058] After identifying the target path instance, the system starts from PATH0211 and performs a reverse lookup based on the parent path identifier. For example, the parent path identifier of PATH0211 is PATH0201, and the parent path identifier of PATH0201 is PATH0001. Assuming that PATH0001 corresponding to Group A is currently visible, PATH0201 of Industry Investment Co., Ltd. of C is hidden due to the aforementioned aggregation operation, and PATH0211 of Intelligent Equipment of D is also hidden, then the first visible ancestor path instance found by the system along the target path is PATH0001.

[0059] The system then generates the path sequence to be restored, PATH0201→PATH0211, and performs the restoration operation step by step from ancestor to target node. First, the node of Industry C Investment Co., Ltd. is retrieved from the hidden set or aggregate node corresponding to PATH0201 and written into the visible child node set (children) of the relation node corresponding to PATH0001. Then, the lower-level relation nodes corresponding to Industry C Investment Co., Ltd. are restored, and the node of Intelligent Equipment Co., Ltd. corresponding to PATH0211 is removed from the corresponding hidden set and written into the corresponding visible child node set. During the restoration process, only the necessary path between PATH0001 and PATH0211 is processed, and other hidden enterprises unrelated to the target enterprise are not expanded.

[0060] Taking the example of Industry C Investment Co., Ltd., which was originally located at the aggregation node AGG_E1_001, when PATH0201 is restored, the system directly locates its hidden set based on the aggregation node identifier AGG_E1_001 in the full location index, without needing to recursively search the entire group customer tree again. The system deletes the node corresponding to PATH0201 from the hidden set and writes it to the set of visible child nodes, while updating the visibility state of the path instance from HIDDEN to VISIBLE.

[0061] If AGG_E1_001 originally contained 72 hidden companies, and after removing C Industry Investment Co., Ltd., there are 71 remaining, then the system will update the content displayed on the aggregation node from "More (72)" to "More (71)" and simultaneously update its set of hidden company identifiers; if the hidden set is empty after removing the target company, then the reversible aggregation node will be deleted; if the number of hidden companies is still greater than zero, then the aggregation node will continue to be retained. Thus, the number of members recorded in the aggregation node is kept consistent with the actual hidden set.

[0062] Furthermore, when the set of visible child nodes has reached the display threshold determined in step S3, to ensure that the number of visible enterprises in the current relational node does not exceed the corresponding pixel display capacity after the target enterprise is restored, a target node replacement method can be adopted. For example, if the display threshold of a relational node is 8, and currently 8 ordinary enterprise nodes and one aggregation node are displayed, when the user needs to focus on ENT0145 located inside the aggregation node, the system moves ENT0145 into the visible set and selects the lowest priority enterprise node from the current 8 ordinary visible enterprise nodes that is not on the current focus path and moves it into the hidden set, so that the number of ordinary visible enterprises remains at 8. The replaced enterprise node is added to the same aggregation node, and the total number of hidden members of the aggregation node can remain unchanged. Preferably, the target enterprise, the ancestor nodes of the target enterprise, and the enterprise node currently selected by the user are not considered as replacement objects.

[0063] For example, if ENT0145 previously contained 72 companies in the aggregate node, and company ENT0180 is moved from the visible set to the hidden set while ENT0145 is moved back to the visible set, the aggregate members remain 72, but the internal membership changes from including ENT0145 to including ENT0180. The system synchronously updates the visibility state of the ENT0145 index entry to VISIBLE and sets the aggregate node identifier to null, while changing the visibility state of the ENT0180 index entry to HIDDEN and updating the aggregate node identifier to AGG_E1_001. Thus, the full-scale location index is always synchronized with the current tree structure.

[0064] When there are multiple levels of hidden nodes in the path to be restored, the system restores the target company level by level according to the parent path identifier, rather than directly inserting the target company into the current display tree in isolation. For example, if the target company's corresponding path is Group A, Technology B, Intelligent Equipment D, and Data Company F, where Technology B is visible and Intelligent Equipment D and Data Company F are hidden, the system first restores Intelligent Equipment D and its corresponding relationship nodes, and then restores Data Company F under Intelligent Equipment D. This ensures that the target company maintains a complete enterprise hierarchy, parent-child relationships, and alternating relationship node structure after restoration.

[0065] After the target path is restored, the system records the parent nodes of each node whose visible child node set has changed to the layout change set. For example, if the visible set of the corresponding node of PATH0001 and the corresponding node of PATH0201 both change during the restoration process, then the corresponding parent nodes of both are added to the layout change set. This allows step S5 to further determine the root node of the layout with the smallest tree depth, and only the affected subtrees are recalculated.

[0066] Through the above processing, the full location index established in step S4 covers the currently visible enterprises, collapsed enterprises, and members within reversible aggregation nodes. It locates enterprise entities by enterprise identifier and distinguishes different associated paths of the same enterprise by path identifier. When responding to retrieval or focusing operations, it directly determines the minimum recovery range between the target path and the nearest visible ancestor node by the parent path identifier, and simultaneously maintains the visible set, hidden set, aggregation node, and index status. Thus, it can achieve accurate location and path recovery of hidden enterprises without expanding the entire group customer tree.

[0067] S5. Take the parent node with the smallest tree depth among the parent nodes of the visible set that have changed as the root node affected by the layout, keep the anchor point coordinates and recalculate the coordinates of the affected subtrees. In one specific embodiment, after the target path recovery is completed in step S4 based on the retrieval or focusing operation, the system determines the local subtrees that need to be recalculated based on the range of changes in the visible node set, without re-performing the coordinate layout of the entire group customer tree. For example, continuing with the aforementioned group customer tree centered on Group A Co., Ltd., the user selects the path corresponding to the target company, Intelligent Equipment Co., Ltd.: Group A Co., Ltd., Industrial Investment Co., Ltd., Intelligent Equipment Co., Ltd. Before performing path recovery in step S4, the tree depth of the enterprise node corresponding to Group A Co., Ltd. is 0, the tree depth of the "direct holding" relationship node under Group A is 1, the tree depth of the enterprise node corresponding to Industrial Investment Co., Ltd. is 2, the tree depth of the "direct holding" relationship node under Industrial Investment Co., Ltd. is 3, and the tree depth of the enterprise node corresponding to Intelligent Equipment Co., Ltd. is 4.

[0068] Assume that before the recovery operation, both Industry C Investment Co., Ltd. and Intelligent Equipment Co., Ltd. are in the hidden set. Step S4 first swaps Industry C Investment Co., Ltd. into the visible child node set of the "direct holding" relationship node of Group A, and then swaps Intelligent Equipment Co., Ltd. into the visible child node set of the direct holding relationship node of Industry C Investment Co., Ltd. Therefore, this operation changes the visible child node sets of the Group A direct holding relationship node with a tree depth of 1 and the Industry C Investment direct holding relationship node with a tree depth of 3. The system records the parent nodes whose visible sets have changed as the layout change node set.

[0069] The system compares the tree depth of each parent node in the set of nodes affected by the layout changes, and determines the parent node with the smallest tree depth as the root node affecting the layout. In this embodiment, tree depth 1 is less than tree depth 3; therefore, the node representing the "direct holding" relationship of Group A is determined as the root node affecting the layout. Since the relationship node with tree depth 3 is located in the descendant subtree of the relationship node with tree depth 1, using the relationship node with tree depth 1 as the root node affecting the layout can cover all node additions and subtractions caused by this restoration operation.

[0070] In another implementation, when a single retrieval or focusing operation restores only a single target path, the parent nodes of the visible set that have changed are usually located on the same ancestor chain, thus uniquely identifying the root node affected by the layout with the smallest tree depth. When multiple target enterprises are restored in batches and multiple changed nodes are located on different branches, the system can group them according to the branch to which each changed node belongs, and perform the local layout processing described in this step for each group separately, so as to avoid including multiple unrelated large-scale branches in the same layout calculation.

[0071] After determining the root node affected by the layout, the system first reads the original display coordinates of the root node before the node is restored, and records these original display coordinates as anchor coordinates. For example, if the display coordinates of the "direct holding" relationship node of Group A before restoration are 320 pixels x and 410 pixels y, then the coordinates (320, 410) are recorded as the anchor coordinates for this local layout. These anchor coordinates remain unchanged during subsequent local subtree re-layouts, thus preventing the root node affected by the layout and its connected upstream unchanged tree structure from experiencing positional jumps due to the expansion of the target node.

[0072] The system then extracts the affected subtree rooted at the layout-affected root node. The affected subtree includes the layout-affected root node, its currently visible enterprise child nodes, the relational nodes further expanded under each visible enterprise child node, and the corresponding descendant enterprise nodes, but excludes enterprise nodes located in the hidden set that were not restored in this instance. Reversible aggregate nodes participate in the initial coordinate calculation as currently visible nodes, while their internal hidden members do not participate in this coordinate layout.

[0073] For example, after the recovery operation, there are 8 visible enterprise nodes and one "More (72)" aggregation node under the direct holding relationship node of Group A, of which C Industry Investment Co., Ltd. is a newly added visible node; under C Industry Investment Co., Ltd., a "Direct Holding" relationship node and D Intelligent Equipment Co., Ltd. are further displayed. The system will form the above visible nodes into the affected subtree, and keep the current display coordinates of other relationship nodes of Group A, such as joint control, branch and shareholding relationship nodes and corresponding subtrees unchanged.

[0074] During the initial coordinate recalculation, the system first determines the horizontal reference coordinates of each node according to the tree depth. Using the horizontal coordinates of the root node affecting the layout as a reference, the system increases the preset horizontal spacing for each additional tree depth. For example, if the horizontal spacing is set to 220 pixels, the reference horizontal coordinate of the root node affecting the layout is 320 pixels, the horizontal coordinate of the next enterprise node layer is 540 pixels, the horizontal coordinate of the next relationship node layer is 760 pixels, and the next enterprise node layer is 980 pixels. This ensures that enterprise nodes and relationship nodes continue to be arranged horizontally according to the tree depth.

[0075] For the vertical coordinate, the system calculates the height based on the order of currently visible child nodes under the same parent node and the height of the visible subtree corresponding to each child node. In one implementation, the subtree height occupied by each node is calculated from bottom to top. The subtree height occupied by a leaf node is the sum of the minimum display height of the enterprise node and the preset node interval. For example, if the enterprise node height is 36 pixels and the preset minimum vertical interval is 8 pixels, then the basic occupied height of the leaf node is 44 pixels. For a parent node with multiple visible child nodes, its subtree height is determined based on the sum of the subtree heights of all visible child nodes and the preset interval between adjacent child nodes.

[0076] For example, after C Industry Investment Co., Ltd. reinstates D Intelligent Equipment Co., Ltd., the height of its visible subtree increases from 44 pixels to 132 pixels. When the system rearranges multiple enterprise nodes under the "direct holding" relationship node of Group A, it no longer mechanically arranges them according to a fixed 44-pixel interval, but reserves vertical space for C Industry Investment Co., Ltd. to accommodate its expanded descendant nodes, thereby obtaining the initial vertical distribution of each sibling subtree.

[0077] The system determines the vertical arrangement order of each visible enterprise node according to the sibling node sorting before restoration or the priority sorting determined in step S3. For the target path node replaced by the hidden set, it is preferable to insert it into the original sorting position; if the coordinates were not displayed before restoration, the insertion position is determined according to its order in the original enterprise child node sequence. This avoids randomly rearranging the same-level enterprise nodes after each target enterprise is restored.

[0078] After calculating the relative coordinates of the affected subtrees, the system further performs anchor point compensation because the recalculated position of the root node affected by the layout may differ from its original position. For example, based on the recalculated local coordinates, the root node affected by the layout is temporarily located at (320, 455), while the saved anchor point coordinates are (320, 410). The difference between the two is 0 pixels in the horizontal coordinates and -45 pixels in the vertical coordinates. The system determines (0, -45) as the translation compensation amount for this local layout and uniformly superimposes this compensation amount onto the new coordinates of each node in the affected subtree. After translation compensation, the root node affected by the layout returns to (320, 410), while all its descendant nodes maintain the recalculated relative spatial relationship.

[0079] For example, the recalculated temporary coordinates of Industry C Investment Co., Ltd. are (540, 470), which are then compensated to (540, 425); the temporary coordinates of Intelligent Equipment D Co., Ltd. are (980, 514), which are then compensated to (980, 469). Thus, newly added nodes and expanded paths can be re-expanded around the original layout-affected root node, while the layout-affected root node itself will not experience any change in its display position.

[0080] For nodes outside the affected subtree, the system does not recalculate their coordinates. For example, the original coordinates of a node jointly controlled by Group A are (320, 650). Since its set of visible child nodes has not changed and it is not a descendant subtree of the root node affected by this layout, its original coordinates are maintained; its subordinate enterprise nodes and connecting lines are also not included in this local layout calculation. This can significantly reduce the number of nodes that need to be processed in a single focusing operation.

[0081] Furthermore, to prevent local subtree expansion from encroaching on the display area of ​​adjacent unaffected subtrees, the coordinates obtained in step S5 are primarily used as the initial coordinates for subsequent pixel-level layout optimization. In this step, the system maintains the hierarchical structure of the group customer tree, the order of nodes at the same level, and the anchor point position of the root node affected by the layout. Issues such as pixel congestion between local nodes or excessively concentrated connecting lines are further detected and corrected in subsequent step S6 through off-screen rendering, multi-scale wavelet scattering, and Sinkhorn optimal transmission.

[0082] For example, after this partial recalculation, 26 currently visible nodes in Group A's "Direct Holding" subtree need to have their coordinates redefined, while the entire group's customer tree actually contains 650 visible and hidden nodes. The system only performs initial layout calculations on these 26 visible nodes and continues to reuse the existing display coordinates of other unaffected nodes. Therefore, compared to recalculating the entire group's customer tree for each focus, it can reduce changes in the positions of irrelevant nodes and redundant layout calculations.

[0083] Through the above processing, step S5 determines the local layout influence range by the smallest tree depth node among the parent nodes where the visible set changes, and uses the original display coordinates of the layout influence root node to form anchor point constraints; while keeping the coordinates of the unaffected tree structure unchanged, the node coordinates of the affected subtrees are recalculated only based on the tree depth, the order of the visible child nodes, and the height occupied by the subtrees, and then the layout influence root node is restored to the original anchor point position through unified translation compensation, thereby providing a stable initial layout for step S6 to perform pixel-level congestion analysis and node coordinate optimization based on the actual display image.

[0084] S6. Draw the affected subtree off-screen and generate node masks and connection line masks. Perform multi-scale wavelet scattering transform on the image partition to obtain the display congestion. Divide the moving bands according to the enterprise level. In each moving band, form the source and target distribution based on the display congestion and unoccupied pixel capacity. Obtain the optimal transmission matrix through Sinkhorn iteration. Correct the coordinates of the congested nodes and maintain the hierarchical horizontal coordinate, same level order and anchor point constraints. In one specific embodiment, after the initial coordinate recalculation of the affected subtree is completed in step S5, the system does not directly use the initial coordinates for the final display. Instead, it first generates the pixel image corresponding to the affected subtree in the off-screen image buffer area, and judges whether there is display congestion such as dense nodes, concentrated connection lines, or cross-scale aggregation in the local area based on the actual pixel occupancy status. Then, it uses hierarchical Sinkhorn optimal transmission to correct the vertical coordinates of the congested nodes.

[0085] For example, the layout-affected root node determined in step S5 is a node directly controlled by Group A, with anchor coordinates (320, 410). The affected subtree currently includes 26 visible nodes, including enterprise nodes, relationship nodes, and one reversible aggregation node. Based on the current bounding rectangle of the affected subtree, the system adds a 40-pixel safety boundary around it, establishing an off-screen image buffer area with a width of 900 pixels and a height of 620 pixels. This off-screen image buffer area can use the same pixel resolution as the client's display viewport, allowing the off-screen processing result to directly correspond to the pixel occupancy status in the actual display device.

[0086] First, the system draws enterprise nodes and relationship nodes according to the node coordinates obtained in step S5. For example, enterprise nodes use a rectangular area with a width of 180 pixels and a height of 36 pixels, while relationship nodes use a rectangular area with a width of 90 pixels and a height of 28 pixels. A connection line with a width of 2 pixels is drawn between parent and child nodes based on the current initial layout. To avoid the node fill color, font color, or connection line color affecting subsequent image processing, the system simultaneously creates node region masks and connection line region masks. Specifically, the pixel positions occupied by any enterprise node, relationship node, or reversible aggregation node are assigned a value of 1 in the node region mask, and the remaining pixel positions are assigned a value of 0; the pixel positions covered by the connection line are assigned a value of 1 in the connection line region mask, and the remaining pixel positions are assigned a value of 0. The enterprise name text inside the node may not participate in the current congestion analysis separately to avoid irrelevant feature changes caused by different enterprise name lengths.

[0087] In this embodiment, the system divides the 900-pixel × 620-pixel off-screen area into multiple image partitions with a basic partition size of 100-pixel × 100-pixel. Parts with edges less than 100 pixels are treated as independent edge partitions. Each image partition extracts a corresponding local image from both the node region mask and the connector region mask. Therefore, subsequent congestion analysis does not yield an overall evaluation result for the entire group customer tree image, but rather obtains the local display congestion amount with a clearly defined spatial location.

[0088] Subsequently, a multi-scale wavelet scattering transform is performed on each image partition. This embodiment uses Morlet complex wavelets, setting three scales and six directions, corresponding to 0 degrees, 30 degrees, 60 degrees, 90 degrees, 120 degrees, and 150 degrees respectively. For the node region mask, the system first convolves the partitioned image with the aforementioned complex wavelets of different scales and directions, and performs modulus calculation on each convolution result to obtain the first-level propagation result. Then, a preset low-pass filter kernel is used to perform low-pass aggregation on the first-level propagation result to obtain the first-level scattering features.

[0089] Since node graphics themselves have large continuous pixel regions, the first-order scattering characteristics of the node region mask can reflect the number of node edges and the degree of node pixel concentration within the current image partition. For example, if two enterprise node edges simultaneously enter a 100-pixel × 100-pixel image partition, occupying 4700 pixels, then the first-order scattering characteristic of this partition is significantly higher than that of an image partition containing only one node edge occupying 1800 pixels. The system determines the local pixel occupancy intensity of the partition based on the total response intensity of the first-order scattering characteristic of the node region and the actual pixel occupancy ratio of the node.

[0090] For the connector region mask, the system performs first-order wavelet scattering using the same three scales and six directions. Because the Morlet complex wavelet exhibits directional selectivity, when a large number of connectors within an image partition pass through in approximately the same direction, the first-order scattering response corresponding to that direction is significantly higher than that of other directions. Therefore, the system determines the degree of directional concentration of the connectors based on the proportion of the maximum response in the first-order scattering feature to the sum of the responses in all six directions.

[0091] For example, if a partition contains 9 connecting lines, 7 of which pass along an approximately 30-degree direction, and the first-order scattering response corresponding to the 30-degree direction accounts for 72% of the total response in the six directions, then this partition is considered to have a high degree of directional concentration of connecting lines. Another partition, although also containing 9 connecting lines, has them evenly distributed along multiple directions, with the largest direction response accounting for only 28% of the total response; therefore, its directional concentration is relatively low. This allows for the identification of visual congestion where the nodes themselves do not overlap, but a large number of connecting lines are concentrated in the same narrow area.

[0092] Furthermore, the first-level propagation results without low-pass aggregation are further processed using Morlet complex wavelets of different scales and / or directions for convolution and modulus calculations. The resulting results are then low-pass aggregated to obtain second-level scattering features. Second-level scattering features describe the degree to which structures of different scales and directions coexist. For example, in a local region, if there are both coarse-scale node edges and multiple fine-scale connecting lines surrounding or passing through these edges, the corresponding second-level scattering response will be high. The system determines the degree of cross-scale aggregation based on the ratio of the total response of the second-level scattering features to the total response of the first-level scattering features.

[0093] In this embodiment, the local pixel occupancy intensity, the concentration of connector direction, and the cross-scale aggregation are normalized to a range of 0 to 1, and weighted at 0.45, 0.30, and 0.25, respectively. The display congestion of each image partition is obtained by weighting these three factors. For example, image partition A has a local pixel occupancy intensity of 0.82, a connector direction concentration of 0.76, and a cross-scale aggregation of 0.68, resulting in a display congestion of approximately 0.77. Image partition B has corresponding values ​​of 0.36, 0.28, and 0.24, resulting in a display congestion of approximately 0.31. In other embodiments, the weights can be pre-calibrated based on the display device resolution, enterprise node size, or connector density, but the same weights are used in the same layout process to ensure comparability between different image partitions.

[0094] After obtaining the display congestion level of each image partition, the system further establishes hierarchical movement bands according to enterprise levels. Since this embodiment adopts a horizontal group tree layout, different enterprise levels correspond to different horizontal coordinate ranges. For example, the horizontal coordinate range of the second enterprise level is 500 to 680 pixels, and the horizontal coordinate range of the third enterprise level is 720 to 900 pixels. The system assigns image partitions centered within the corresponding horizontal coordinate range to the corresponding enterprise-level movement band, ensuring that nodes within the same enterprise level only undergo vertical spatial reallocation within their own hierarchical movement band, and does not allow changes to the horizontal position of an enterprise's level through optimal transmission. For example, for the second enterprise-level movement band, a preset congestion threshold of 0.60 is set. The system detected display congestion levels of image partitions A, C, and D as 0.77, 0.70, and 0.65, respectively. Therefore, A, C, and D were identified as source image partitions, and the differences in their display congestion levels exceeding the congestion threshold were calculated: 0.17, 0.10, and 0.05, respectively. These differences were then normalized to form the source distribution of the movement band at this level. This source distribution reflects the relative degree to which different congested partitions need to release display pressure.

[0095] Simultaneously, the system calculates the number of unoccupied pixels within each image partition based on the node region mask and the connector region mask. For example, in a 100-pixel × 100-pixel image partition with 10,000 pixels, if nodes and connectors occupy a total of 3,200 pixels, then the unoccupied pixel capacity is 6,800. The system normalizes the unoccupied pixel capacity and compares it with a preset capacity threshold, for example, 0.55. Image partitions with unoccupied capacity exceeding this threshold are identified as target image partitions. Assuming the unoccupied capacities for partitions F, G, and H are 0.78, 0.72, and 0.67 respectively, the system normalizes these unoccupied pixel capacities to form a target distribution, representing the relative capacity of different free areas to receive node migration.

[0096] Subsequently, within the same enterprise-level mobile zone, a transmission cost matrix is ​​established based on the pixel distance between the source image partition center and the target image partition center. In this embodiment, since the horizontal coordinates of nodes at the same level remain unchanged, the vertical distance is primarily used to determine the basic transmission cost, while a small amount of horizontal partition center difference can be used as an additional cost. The closer the distance, the smaller the pixel displacement required to move a node within the congested area to the target partition, and the lower the corresponding transmission cost.

[0097] The system takes the source distribution, target distribution, and transmission cost matrix as input and performs a Sinkhorn iteration with entropy regularization. Specifically, it initializes the transmission matrix corresponding to the number of source image partitions and the number of target image partitions, and calculates the initial transmission weights based on the transmission cost. Then, it alternately normalizes the rows and columns of the transmission matrix so that the output transmission of each source image partition gradually satisfies the source distribution constraint, and the received transmission of each target image partition gradually satisfies the target distribution constraint. The iteration stops when the maximum element change of the transmission matrix obtained from two adjacent iterations is less than a preset convergence threshold, for example, less than 0.001, or when the preset maximum number of iterations (100) is reached, thus obtaining the optimal transmission matrix corresponding to the enterprise-level mobile band.

[0098] For example, source image partition A ultimately receives 65% of its transmission traffic directed to target partition F below it, 25% to target partition G further below, and the remaining 10% to target partition H above it. Assuming the vertical offset of the center of F relative to the center of A is +60 pixels, G is +120 pixels, and H is -50 pixels, the system weights the corresponding vertical pixel offsets based on the transmission traffic of each target partition to obtain the vertical migration amount for source image partition A. This vertical migration amount indicates the direction and distance along which the congested partition should move to release display pressure to free pixel areas, rather than directly moving multiple enterprise nodes to the same target partition center.

[0099] When enterprise nodes ENT0201 and ENT0145 exist in source image partition A, the system superimposes the vertical migration amount onto the current ordinates of the two enterprise nodes. For example, if their original ordinates are 380 pixels and 430 pixels respectively, and the vertical migration amount for source image partition A is +64 pixels, then the candidate ordinates are 444 pixels and 494 pixels. Since the original vertical distance between the two nodes is 50 pixels, their relative positions are basically maintained after migration, avoiding the clustering of multiple nodes in the same area to the same target location due to Sinkhorn transmission results.

[0100] After completing the migration mapping for each source image partition, the system further maintains the projection order according to the vertical arrangement order of nodes at the same enterprise level when the layout was completed in step S5. For example, the original vertical arrangement order of three enterprise nodes A, B, and C at the same level is A, B, C, with a preset minimum node spacing of 44 pixels. The candidate ordinates obtained based on the migration amounts of different source partitions are 400 pixels, 428 pixels, and 486 pixels, respectively. Since A and B differ by only 28 pixels, which is less than 44 pixels, the system maintains the arrangement relationship where A is before B and adjusts the ordinate of B along the allowed movement direction to no less than 444 pixels. If the adjusted B conflicts with the minimum spacing of C, then C is adjusted accordingly according to the original order. Thus, while absorbing the spatial migration trend given by the optimal transmission, the original arrangement order of nodes within the same enterprise level is not changed. For the root node affected by the layout, this embodiment does not apply the above-mentioned vertical migration amount, but always keeps the anchor point coordinates determined in step S5 unchanged. For example, if the original anchor point coordinates of the root node affected by the layout are (320, 410), then regardless of whether the congestion level of its image partition exceeds a preset threshold, its final coordinates will remain (320, 410). For other enterprise nodes, the horizontal coordinates corresponding to their respective enterprise levels will also remain unchanged, and the vertical coordinates will only be corrected within the current level's movement band. This avoids pixel congestion optimization from disrupting the enterprise hierarchy relationships expressed by the group customer tree.

[0101] In a preferred embodiment, after completing one Sinkhorn coordinate correction, the system redraws the nodes and initial connection lines in the off-screen buffer based on the corrected node coordinates and recalculates the display congestion of each image partition. When the maximum display congestion is still higher than a preset congestion threshold, the source and target distribution construction and optimal Sinkhorn transmission can be performed again, but the vertical migration amount of a single node is limited to a preset maximum value, such as no more than 80 pixels, to prevent excessive positional jumps in local nodes. When the maximum display congestion does not exceed the threshold or reaches the preset layout correction limit, such as 3 times, node coordinate correction is stopped. For example, if the maximum image partition display congestion is 0.84 before the first correction, decreases to 0.69 after the first Sinkhorn migration, and decreases to 0.57 after the second correction, which is already below the preset congestion threshold of 0.60, then the iteration stops, and the node coordinates after the second correction are used as the final node coordinates of the currently affected subtree.

[0102] Through the above processing, step S6 first converts the geometric layout obtained in step S5 into actual node pixels and connecting line pixels. Then, it uses multi-scale, multi-directional wavelet scattering features to identify local pixel occupancy, connecting line direction concentration, and cross-scale structural aggregation in the displayed image, which are difficult to reflect by ordinary node boundary collision detection. Subsequently, using the display pressure of congested areas as the source distribution and the remaining pixel capacity of free areas as the target distribution, Sinkhorn optimal transmission is performed within the enterprise-level mobile band. The pixel capacity redistribution result in the image space is converted into the vertical migration amount of the source partition and further mapped to the coordinate correction amount of specific enterprise nodes. At the same time, through enterprise-level horizontal coordinate constraints, same-level node order preservation projection, and layout influence root node anchor point constraints, the display optimization avoids disrupting the original hierarchical relationship and interaction stability of the group customer tree. Figure 8 As shown, this provides a low-congestion node layout basis for subsequent node redrawing, determination of stable connection channels, and connection line routing.

[0103] S7. Render nodes and connecting lines according to the corrected coordinates, and output the group customer tree display image.

[0104] In one specific embodiment, after the coordinate correction of each enterprise node and relationship node in the affected subtree is completed in step S6, the system generates the final display image based on the corrected node coordinates, and only performs re-rendering on the local area where the layout has changed, so as to reduce unnecessary full-image redrawing during the group customer tree interaction process.

[0105] For example, continuing with the group customer tree corresponding to Group A Co., Ltd., after step S6 completes two coordinate corrections based on wavelet scattering characteristics and Sinckhorn optimal transmission, the anchor point coordinates (320, 410) of the "direct holding" relationship node, which affects the layout, remain unchanged. The corrected coordinates of the node of Industrial Investment Co., Ltd. are adjusted from (540, 425) to (540, 468), and the node of Intelligent Equipment Co., Ltd. is adjusted from (980, 469) to (980, 526). The remaining congested nodes of the same layer maintain the corresponding corrected ordinates according to the projection results. The system writes the above corrected coordinates into the current display coordinate field of the corresponding path instance, and keeps the original display coordinates of the nodes that did not participate in this correction.

[0106] The system first determines the display area that needs to be re-rendered. Specifically, it reads the bounding rectangle of the affected subtree before coordinate correction, as determined in step S5, and the bounding rectangle after correction in step S6. It takes the union of the two bounding rectangles and adds a preset safety pixel width, for example, 20 pixels, around the union boundary to obtain the area to be updated for this rendering. Assuming the bounding rectangle of the affected subtree before correction has a horizontal coordinate of 300–1050 pixels and a vertical coordinate of 250–690 pixels, and the corrected range is 300–1050 pixels and 230–735 pixels, then after adding a 20-pixel safety boundary, the area with horizontal coordinates of 280–1070 pixels and vertical coordinates of 210–755 pixels is determined as the local update area. Image pixels in the group client tree located outside the local update area retain their original frame cache content.

[0107] Subsequently, the system renders the locally updated area according to the preset drawing hierarchy. In this embodiment, the pixels of the nodes and connecting lines corresponding to the previous frame in the locally updated area are first cleared, and then the connecting lines, relationship nodes, enterprise nodes, text, and interactive icons are drawn sequentially. By drawing the connecting lines first and then the nodes, the part of the connecting line that enters the node area is covered by the node graphic, preventing the connecting line from passing through the enterprise name text.

[0108] For enterprise nodes, the system uses the corresponding corrected coordinates as the node's center coordinates and determines the node's circumscribed rectangle based on the preset node width and height. For example, if the enterprise node width is set to 180 pixels and the height to 36 pixels, then the enterprise node rectangle is drawn in the corresponding pixel area centered on the corrected coordinates (540, 468) of Industry Investment Co., Ltd., and the enterprise name is drawn inside the node. For relationship nodes, a node area of ​​90 pixels wide and 28 pixels high can be used, and the corresponding relationship name is read according to its unified relationship code. For example, the unified relationship code E1 corresponds to the display text "Direct Holding".

[0109] For reversible aggregation nodes, the system reads the number of hidden members updated in steps S3 and S4. For example, if aggregation node AGG_E1_001 currently contains 71 hidden enterprises, then "More (71)" is drawn in the corresponding aggregation node area. The aggregation node is drawn as an interactive node in the displayed image, but its 71 hidden enterprise nodes do not participate in the actual node graphics drawing of the current frame, thereby avoiding an increase in the rendering volume of the current frame due to a large number of hidden members.

[0110] For the connection line between parent and child nodes, in one basic implementation, the position of the connection end is determined based on the corrected coordinates of the parent and child nodes, and a polyline or smooth curve is used for connection. For example, the connection end is generated between the midpoint of the right boundary of the parent node as the starting connection end and the midpoint of the left boundary of the child node as the ending connection end, and includes at least one intermediate control point.

[0111] In embodiments employing the connection line optimization method described in claims 8 and 9, it is preferable to use the final connection line path obtained through stable connection channel analysis and anisotropic fast traversal algorithm for drawing. Specifically, after obtaining the corrected coordinates in step S6, a node region mask is regenerated based on the corrected node positions. A stable connection channel is determined through morphological dilation, distance transformation, and zero-maintenance cohomology. Then, the final connection line path is obtained based on the direction-dependent propagation cost. The system converts the final connection line path into a set of path points arranged in pixel order. For example, the connection path consists of a starting point P1, intermediate path points P2 to Pn-1, and an ending point Pn. Adjacent path points are connected according to a preset line width to form the display connection line between corresponding parent and child nodes.

[0112] For example, the original straight-line connection would cause the connection line from Industry C Investment Co., Ltd. to Intelligent Equipment Co., Ltd. to pass through the display area of ​​another enterprise node. After stable connection channel and anisotropic fast travel processing, the connection line starts from the right connection end of Industry C Investment Co., Ltd., moves a certain pixel distance to the right, then shifts downward along the free pixel area, bypassing the non-associated enterprise node before entering the left connection end of Intelligent Equipment Co., Ltd. The system performs rasterization rendering according to this final path, ensuring that the output connection line does not have more than a threshold of overlapping pixels with the non-associated node.

[0113] Furthermore, the system establishes a mapping table for path identifiers and display graphic areas for each visible node. For enterprise nodes, their path identifiers are associated with the pixel coordinate range corresponding to the node rectangle; for relationship nodes and reversible aggregation nodes, the corresponding display areas are also recorded. Thus, when a user subsequently clicks on a node, the system can determine the clicked node based on the pixel coordinates of the pointer and obtain the corresponding enterprise identifier, path identifier, or aggregation node identifier, providing an interactive entry point for subsequent expand, collapse, search, and focus operations.

[0114] After completing the drawing of nodes and connecting lines, the system writes the off-screen rendering result of the locally updated area into the frame buffer corresponding to the current display device, and combines it with the original frame buffer content that remains unchanged outside the locally updated area to obtain the complete group client tree display image. In the browser implementation, the frame buffer can correspond to the canvas buffer, graphics layer buffer, or texture buffer maintained by the graphics processor; this embodiment does not limit the specific rendering interface, as long as it can generate the final display image according to the calculated pixel coordinates.

[0115] To enable users to directly observe the target node after performing the target enterprise focus operation, the system can also read the final display coordinates of the target enterprise node based on the target path instance determined in step S4, and determine whether these coordinates are within the current effective display view area. When the target enterprise node is entirely or partially outside the current view area, the system calculates the view translation based on the difference between the final coordinates of the target enterprise node and the preset focus position of the view area. For example, if the center of the current effective display view area is (640, 400), and the final coordinates of Ding Intelligent Equipment Co., Ltd. are (980, 526), ​​the system performs a corresponding translation on the overall display view, moving Ding Intelligent Equipment Co., Ltd. to the vicinity of the view area center. This process changes the observation position of the display view area relative to the group customer tree canvas, without changing the relative coordinate relationship between the nodes determined in step S6. When the target path is long and the target enterprise and its nearest visible ancestor path cannot be displayed simultaneously at the current zoom level, the system can also reduce the display scale within a preset zoom range until the target enterprise and the restored path are within the display view area. Preferably, during the scaling process, the target enterprise node or the root node of the layout influence is still used as the scaling center to reduce the degree of sudden jumps in the view area content.

[0116] For example, in this embodiment, after step S4 restores the path "Group A Co., Ltd. - Industry C Investment Co., Ltd. - Intelligent Equipment Co., Ltd.", and steps S5 and S6 complete the local layout and pixel congestion optimization, the system ultimately only redraws the local update area containing the restored path and adjacent affected nodes. Unaffected subtrees such as "Joint Control" and "Branch Offices" of Group A continue to use the node coordinates and image cache from the previous frame, without regenerating the corresponding graphics. Thus, a single hidden enterprise focus operation does not require re-layouting and rasterizing all visible nodes and connecting lines of the complete group customer tree.

[0117] Through the above processing, step S7 converts the corrected node coordinates and corresponding connection paths obtained in step S6 into pixel images that can be output by the actual display device. Then, through local area updates, layered rendering, frame buffer reuse, and target node viewport focusing, the aforementioned group relationship structure, path restoration results, and pixel-level layout optimization results are ultimately reflected in the visualization output. Therefore, this embodiment forms a complete processing chain encompassing enterprise relationship data processing, local tree structure restoration, node coordinate correction, connection routing, pixel rasterization, and display image output. While maintaining the group hierarchy and path semantics, it reduces the impact of large-scale repeated rendering and node position jumps on the stability of the interactive display.

[0118] Preferably, the enterprise relationship record further includes a relationship source identifier and a relationship attribute; a relationship mapping table is pre-established, where each mapping item records the original relationship type, the corresponding unified relationship code, and the parent-child direction rule; the enterprise entities at both ends of the relationship are determined based on the first enterprise identifier and the second enterprise identifier, the parent enterprise and the child enterprise are determined based on the parent-child direction rule, and a relationship node with the corresponding unified relationship code is inserted between the parent enterprise node and the child enterprise node; the relationship source identifier and the relationship attribute are written into the path instance corresponding to the child enterprise node and associated with the parent path identifier of the path instance to represent the current enterprise relationship between the parent enterprise and the child enterprise; when there are multiple relationship sources between the same parent enterprise and the child enterprise, the corresponding multiple relationship source identifiers are formed into a relationship source identifier set and stored in the same path instance; the relationship attribute includes at least one of the following: shareholding ratio, control relationship identifier, and branch identifier.

[0119] Preferably, the enterprise identifier is a unique enterprise identifier, and an enterprise entity record is established with the enterprise identifier as the primary key. The enterprise entity record includes at least the enterprise identifier and the enterprise name. When establishing a path instance, the parent path identifier, the unified relation code, and the enterprise identifier to be added are combined in a preset order and hashed to obtain a candidate path identifier. Conflict checks are performed on the candidate path identifier. If there is no conflict, it is used as the path identifier. If there is a conflict, a path sequence value is appended to generate the path identifier. Before branch expansion, the enterprise identifiers in the corresponding path instances are read level by level along the parent path identifier to form an ancestor enterprise set. Expansion stops when the enterprise identifier to be added belongs to the ancestor enterprise set. When the enterprise to be added exists only in other path instances, a new path instance is established.

[0120] Preferably, the determination of the display threshold includes: dividing the display view area into hierarchical display zones according to the tree depth; allocating the vertical available pixel range corresponding to the next enterprise level to each relationship node according to the number and arrangement of relationship nodes in the same relationship node layer; and forming an available display sub-area corresponding to each relationship node by combining the horizontal display width of the next enterprise level; determining the minimum occupied area of ​​a single node according to the minimum display width, minimum display height and reserved pixel interval between nodes; obtaining the display threshold of the relationship node by correcting and rounding the ratio of the pixel area of ​​the available display sub-area to the minimum occupied area of ​​a single node using a preset view area occupancy coefficient; writing enterprise nodes that exceed the display threshold into a hidden set, and establishing a reversible aggregate node that records the aggregate node identifier, the set of hidden enterprise identifiers, the storage address of the hidden set and the identifier of the original parent node.

[0121] Preferably, each index entry of the full location index includes at least an enterprise identifier, a path identifier, a parent path identifier, an enterprise level, a visibility status, and an aggregation node identifier; one or more candidate path instances are obtained by querying based on the target enterprise identifier; when there are multiple candidate path instances, the path identifiers corresponding to each candidate path instance are output and the selected path identifier is received, with the corresponding path instance being used as the target path instance; starting from the target path instance, the query is performed in reverse order along the parent path identifiers to the first ancestor path instance that is in a visible state, and the path instances between them are restored; when the target path instance is located in the hidden set, its corresponding enterprise node is moved into the visible set, and the corresponding reversible aggregation node is updated or deleted based on the number of hidden enterprises after the removal.

[0122] Preferably, the multi-scale wavelet scattering transform includes: convolving the node region mask and the connector region mask with complex Morlet wavelets of at least two scales and multiple directions, performing modulus calculation on the convolution results to obtain a first-level propagation result, and performing low-pass aggregation on the first-level propagation result to obtain a first-level scattering feature; further convolving and performing modulus calculation on the first-level propagation result without low-pass aggregation with complex Morlet wavelets of another scale and / or another direction, and performing low-pass aggregation on the obtained result to obtain a second-level scattering feature; determining the local pixel occupancy intensity based on the first-level scattering feature of the node region, determining the connector direction concentration degree and cross-scale aggregation degree based on the first-level and second-level scattering features of the connector region in different directions, and weighting the local pixel occupancy intensity, connector direction concentration degree, and cross-scale aggregation degree to obtain the display congestion of each image partition.

[0123] Preferably, image partitions are divided into different level mobile zones according to the horizontal coordinate range corresponding to each enterprise level. For each level mobile zone, image partitions with display congestion exceeding a preset congestion threshold are identified as source image partitions. The source distribution is obtained by normalizing the difference between the display congestion of each source image partition and the preset congestion threshold. Image partitions with unoccupied pixel capacity exceeding a preset capacity threshold are identified as target image partitions. The target distribution is obtained by normalizing the unoccupied pixel capacity of each target image partition. A transmission cost matrix is ​​established based on the pixel distance between the centers of source image partitions and target image partitions within the same level mobile zone. The optimal transmission matrix is ​​obtained through Sinkhorn iteration with entropy regularization. For each source image partition, based on the amount of data transmitted from the source image partition to each target image partition, the vertical pixel offset of the center of each target image partition relative to the center of the source image partition is weighted to obtain the vertical migration amount of the source image partition. The vertical migration amount is then superimposed on the current ordinate of each congested node within the source image partition to obtain candidate ordinates. According to the vertical arrangement order of each enterprise node within the same enterprise level before coordinate correction, the candidate ordinates are sequentially projected to satisfy the preset minimum node spacing to obtain the corrected ordinates of each congested node, while keeping the horizontal coordinates corresponding to the enterprise level of each congested node and the anchor point coordinates of the layout-affected root node unchanged.

[0124] Preferably, before drawing the connection line between parent and child nodes according to the corrected node coordinates, each node is redrawn in the off-screen image buffer area according to the corrected enterprise node coordinates and relationship node coordinates, and an updated node region mask is generated according to the pixel position occupied by the redrawn nodes; the updated node region mask is morphologically dilated according to a preset safe pixel distance to obtain the node obstacle region; distance transformation is performed on the pixels outside the node obstacle region to obtain the free space distance from each pixel to the nearest node obstacle boundary; the free space distance is used as the filter value, and a cubic complex filter sequence is constructed according to the distance threshold from large to small; zero-duration long-term homology analysis is performed on the filter sequence, and the corresponding duration length is determined according to the birth threshold and death threshold of each free space connectivity structure; free space connectivity structures with a duration length greater than the preset duration threshold are screened, and the connectivity relationship between the free space connectivity structure and the preset neighborhood outside the parent node connection end and the preset neighborhood outside the child node connection end is detected respectively; the free space connectivity structure that is connected to both the preset neighborhood outside the parent node connection end and the preset neighborhood outside the child node connection end is determined as the stable connection channel of the corresponding parent-child node connection line.

[0125] Preferably, the pathfinding order of the connecting lines is determined according to the parent node tree depth from small to large, and the path identification is sorted according to the same tree depth. For each pixel in the stable connection channel and each candidate propagation direction entering the pixel, the direction-related propagation cost is determined based on the distance from the pixel to the node obstacle region, the density of existing connecting lines passing through the preset neighborhood of the pixel, and the degree of deflection of the candidate propagation direction relative to the parent node to child node reference direction. The direction-related propagation cost decreases when the distance increases, and increases when the connecting line density or deflection degree increases. An anisotropic fast traversal algorithm is executed with the parent node connection end as the propagation starting point to obtain the cumulative propagation time field. The candidate connecting line path is obtained by backtracking from the child node connection end along the direction of decreasing cumulative propagation time. The candidate connection paths are rasterized, and the number of overlapping pixels with non-associated nodes and the number of intersecting pixels with existing connections are counted. When either number exceeds a corresponding preset threshold, the direction-related propagation cost of the corresponding over-threshold region is increased, and the anisotropic fast traversal algorithm is re-executed. When the number of overlapping pixels and the number of intersecting pixels do not exceed the corresponding preset threshold, the current candidate connection path is determined as the final connection path. When there are still candidate connection paths exceeding the corresponding preset threshold after reaching the upper limit of the preset number of iterations, the path evaluation value is determined according to the number of overlapping pixels, the number of intersecting pixels, and the path pixel length of the candidate connection paths obtained in each iteration according to a preset weight, and the candidate connection path with the smallest path evaluation value is determined as the final connection path.

[0126] This application also provides a multi-relationship group customer tree generation and dynamic interaction system, such as Figure 1 As shown, in one specific embodiment, the system includes a client terminal, an application server, an enterprise relational database server, an index caching device, an image processing device, a data storage device, and a display device. The hardware components are connected to each other via a wired network, a wireless network, a system bus, or a high-speed data interface.

[0127] The client terminal is used to receive user input regarding the central enterprise, the type of relationship to be queried, the downward expansion hierarchy, and enterprise search or focus instructions, and to receive group customer tree display data returned by the application server. The client terminal can be a desktop computer, laptop computer, workstation, or other computing terminal with graphics display capabilities, and it includes at least a client processor, client memory, network interface, graphics controller, input device, and display device. The input device may include at least one of a keyboard, mouse, and touchscreen, and the display device is used to display the final generated group customer tree display image.

[0128] The enterprise relational database server includes a database processor, a database memory, and a database storage medium, used to store basic enterprise information, enterprise relation records, and relation mapping tables. Each enterprise relation record includes at least a first enterprise identifier, a second enterprise identifier, the original relation type, the relation source identifier, and relation attributes. The relation mapping table records the original relation type, the unified relation code, and the corresponding parent-child direction rules. The enterprise relational database server connects to the application server via a local area network or data center internal network. The application server sends a relation query request to the enterprise relational database server based on the central enterprise identifier submitted by the client terminal and receives the corresponding enterprise relation records.

[0129] The application server is the main data processing hardware of the system, including at least one central processing unit (CPU), main memory, network interface, and non-volatile memory. The CPU is connected to the main memory, network interface, and non-volatile memory via a system bus. The CPU is used to perform operations such as relation standardization, group customer tree construction, path instance establishment, loop path detection, dynamic aggregation, full-scale location index query, and local subtree determination. Specifically, after obtaining enterprise relation records from the enterprise relational database server, the application server converts the original relation type into a unified relation code according to the relation mapping table and determines the corresponding parent and child enterprises. Subsequently, it establishes a group customer tree data structure in the main memory in an alternating manner of enterprise nodes and relation nodes, and creates corresponding path instances for enterprise nodes added to the group customer tree. For multiple parent nodes corresponding to the same enterprise, the CPU creates different path instances in the main memory, while the enterprise basic information can jointly reference the enterprise entity record established according to the enterprise's unique identifier.

[0130] The index caching device is connected to the application server and is used to store the path instances, visible node sets, hidden node sets, reversible aggregate node information, and full location index corresponding to the current group customer tree. The index caching device can be configured as a standalone high-speed cache server or implemented using high-speed random access memory within the application server. Preferably, the index caching device employs a memory storage structure with random access capabilities, using the enterprise identifier and path identifier as index keys, enabling the application server to directly obtain one or more candidate path instances corresponding to the target enterprise without retracing the entire group customer tree.

[0131] For example, when a user inputs the target company ENT0111 through a client terminal, the application server obtains two candidate path instances, PATH0111 and PATH0211, corresponding to that company through an index cache device, and sends the candidate path information to the client terminal. After the client terminal returns the selected PATH0211, the application server reads the path instances in the index cache device level by level according to the parent path identifier, determines the nodes that need to be restored between PATH0211 and the nearest visible ancestor path instance, and updates the set of visible nodes and the set of hidden nodes. The image processing device is connected to the application server and is used to perform off-screen image generation of the affected subtree, node region mask generation, connector region mask generation, multi-scale wavelet scattering processing, and node coordinate correction based on Sinkhorn optimal transmission. The image processing device can be a graphics processing unit (GPU), a parallel computing accelerator card, or a dedicated processor with image matrix operation capabilities, all located within the application server.

[0132] When the image processing device and the application server are located in the same computer device, the central processing unit (CPU) and the graphics processing unit (GPU) are preferably connected via a PCI Express high-speed bus. The CPU writes the affected subtree structure, initial node coordinates, and connection relationships obtained in step S5 into shared memory or video memory. The GPU reads the above data and draws nodes and connecting lines in the off-screen frame buffer. For example, the GPU generates a node region mask based on the coordinates of the enterprise nodes and preset width and height, and generates a connecting line region mask based on the connection relationships between parent and child nodes. Subsequently, the mask is divided into multiple image partitions, and different scales and directions of Morlet complex wavelet convolution, modulus operation, and low-pass aggregation are performed on each image partition to obtain first-level scattering features and second-level scattering features. The display congestion of each image partition is obtained based on the obtained scattering features.

[0133] Furthermore, the image processing device divides each image partition into different hierarchical movement bands based on the horizontal coordinate range corresponding to the enterprise level. It organizes the display congestion corresponding to congested image partitions into a source distribution and the unoccupied pixel capacity corresponding to idle image partitions into a target distribution. Through parallel matrix operations, it performs entropy-regularized Sinkhorn iterations to obtain the optimal transfer matrix and determines the vertical migration amount corresponding to each source image partition based on the optimal transfer matrix. The image processing device returns the obtained vertical migration amount to the application server, which then performs sequential projection according to the original node arrangement order and minimum node spacing constraints to obtain the final corrected coordinates of each enterprise node.

[0134] In another embodiment, the image processing device is configured as a standalone image computing server. In this case, the application server and the image computing server are each configured with a high-speed network interface and connected via 10 Gigabit Ethernet, fiber optic network, or remote direct memory access interface. The application server sends the node coordinates, node sizes, and connection relationships of the affected subtree to the image computing server. After completing pixel image processing and optimal transmission calculation, the image computing server returns the corrected node coordinates to the application server.

[0135] For the implementation method that optimizes the connection line using persistent homology and anisotropic fast traversal algorithm, the image processing device also regenerates the node region mask based on the corrected node coordinates, performs morphological dilation and distance transformation on the node region mask, constructs a cubic complex filtering sequence and performs zero-maintenance persistent homology analysis to determine the stable connection channel between the parent node connection end and the child node connection end; then, a direction-dependent propagation cost field is established in the stable connection channel, the connection line path is obtained through anisotropic fast traversal operation, and the obtained connection line path is sent to the application server or directly written to the off-screen frame buffer.

[0136] The data storage device is connected to the application server and is used to persistently store group customer tree generation parameters, enterprise entity records, path instances, relationship source sets, aggregation node information, and user-saved group customer tree data. The data storage device can be a solid-state drive, disk array, or network-attached storage device. When the data storage device is integrated into the application server, it is preferably connected to the application server's system bus via an NVMe or SATA interface; when the data storage device is configured as a standalone storage server, it can be connected to the application server via a storage area network.

[0137] The display device is connected to the client processor via a graphics controller. After the application server determines the node coordinates and connection paths, it sends the node attributes, final coordinates, and connection paths of the group customer tree to the client terminal. The graphics controller of the client terminal writes the node graphics, relationship nodes, connection lines, and company names into the display frame buffer according to the final coordinates and connection paths, and outputs the pixel data in the frame buffer to the display device to form the group customer tree display image.

[0138] Preferably, to reduce the amount of repetitive rendering caused by dynamic focusing operations, the client terminal or image processing device sets up an off-screen frame buffer. When the recovery of the target enterprise path causes changes in the local subtree, only the outer regions of the affected subtree before and after the change are determined as the local update region. The nodes and connecting lines in the local update region are re-rasterized, while the original display pixels outside the local update region are directly reused from the previous frame buffer.

[0139] Therefore, in this embodiment, the following data connection relationships are formed between the main hardware components: the client terminal is bidirectionally connected to the application server through a network switching device; the enterprise relational database server is bidirectionally connected to the application server through a data network; the index cache device is bidirectionally connected to the application server through a high-speed memory interface or a local area network; the application server is bidirectionally connected to the image processing device through a PCI Express interface or a high-speed data network; the application server is connected to the data storage device; the processor inside the client terminal is connected to the graphics controller through a system bus, and the graphics controller is connected to the display device.

[0140] At work, such as Figure 6 As shown, the data flow is as follows: the client terminal sends a group customer tree generation request to the application server; the application server reads enterprise relationship records from the enterprise relational database server and establishes the group customer tree, path instance, and full location index in the index cache device; after the user performs a search or focusing operation, the application server restores the target path and calculates the initial node coordinates of the affected subtrees, and sends the affected subtree data to the image processing device; the image processing device completes off-screen rendering, wavelet scattering analysis, and Sinckhorn optimal transmission, such as... Figure 8 As shown, the node coordinates are corrected, and the optimized connection path is further obtained in the corresponding implementation. Finally, the graphics controller of the client terminal generates a pixel image based on the corrected node coordinates and connection path and outputs the group client tree through the display device.

[0141] Therefore, the application server is responsible for processing enterprise relationship data structure and path structure, the index caching device is responsible for high-speed location of path instances and hidden members, the image processing device is responsible for pixel image analysis and node space optimization, and the graphics controller and display device are responsible for final image rasterization and physical display. All hardware components form a continuous data processing chain through network interface, system bus and high-speed data interface.

[0142] The system includes: a reading unit, which reads enterprise relationship records containing a first enterprise identifier, a second enterprise identifier, and a relationship type, maps the relationship type to a unified relationship code, and determines the parent-child direction; Establish units and construct a group customer tree by alternating between enterprise nodes and relationship nodes. Create path instances for enterprise nodes that include enterprise identifier, parent path identifier, unified relationship code, and path identifier. Create different path instances for the same enterprise under different parent nodes. The branch terminates when the added enterprise belongs to the ancestor set of the current path. The reversible aggregation node generation unit determines the display threshold of relational nodes based on the display view area and node display size, writes excess enterprise nodes into the hidden set, and generates reversible aggregation nodes. The path generation unit traverses visible nodes, hidden nodes, and aggregated members to build a full location index. In response to retrieval or focus operations, it restores the path between the target path instance and the nearest visible ancestor node based on the enterprise identifier and the selected path identifier. The recalculation unit takes the parent node with the smallest tree depth among the parent nodes of the visible set changes as the root node affected by the layout, maintains the anchor point coordinates and recalculates the coordinates of the affected subtrees; The correction unit draws the affected subtree off-screen and generates node masks and connection line masks. It performs multi-scale wavelet scattering transformation on the image partition to obtain the display congestion. It divides the moving bands according to the enterprise level and forms the source and target distributions in each moving band based on the display congestion and unoccupied pixel capacity. It obtains the optimal transmission matrix through Sinkhorn iteration and corrects the coordinates of the congested nodes while maintaining the hierarchical horizontal coordinates, same-level order and anchor point constraints. The display unit renders nodes and connecting lines according to the corrected coordinates, and outputs a group customer tree display image.

[0143] Compared with the prior art, the technical solution of the present invention has the following beneficial effects: (1) This invention maps enterprise relationship types from different sources to a unified relationship code and adopts a hierarchical structure of alternating enterprise nodes and relationship nodes, enabling enterprise entities and their corresponding relationships to be organized according to consistent data semantics. For cases where the same enterprise has multiple parent enterprises or multiple associated paths, path instances are established for enterprises under different parent nodes, and ancestor enterprise sets are formed using parent path identifiers to prevent path loops, thus preserving legitimate multiple parent-level associated paths while avoiding cyclic expansion; at the same time, the relationship source and relationship attributes are associated with specific path instances for storage, thereby avoiding the loss of relationship links due to simple node deduplication and improving the traceability of member levels, direct superiors, relationship types and source paths in the group customer tree.

[0144] (2) This invention dynamically determines the display threshold based on the pixel size of the display view area, the display size of the nodes, and the available display area corresponding to each relation node. Enterprise nodes that exceed the display capacity are written into the hidden set and form reversible aggregate nodes, thereby reducing the number of nodes participating in rendering at the same time. By simultaneously covering the full positioning index of visible nodes, hidden nodes, and aggregate members, aggregated or collapsed enterprises can still be retrieved and located. When focusing on a target enterprise, only the necessary path between the target path and the nearest visible ancestor node is restored, and the root node with the smallest tree depth where the visible set changes is used as the layout influence root node for local coordinate recalculation. Therefore, it can reduce the re-layout and redrawing of irrelevant nodes, reduce page jumps, and improve the interactive response efficiency and display continuity of large-scale group trees.

[0145] (3) This invention performs multi-scale wavelet scattering transform on the node mask and connector mask of the local subtree to obtain the display congestion from aspects such as pixel occupancy, connector direction concentration, and cross-scale aggregation. Within the corresponding enterprise level movement band, the migration amount from the congested area to the area with higher remaining pixel capacity is determined through Sinkhorn optimal transmission. The node coordinates are corrected while maintaining the enterprise level, same level order, and anchor point position constraints. Furthermore, distance transform and zero-maintenance long-term homology are used to screen cross-scale stable free connection channels, and the connector path is optimized through anisotropic fast travel and rasterization feedback, thereby reducing node occlusion, connector crossing nodes, and local intersection density, and improving the space utilization, structural recognition, and visual stability of the group customer tree display image.

[0146] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products, and therefore this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects.

[0147] While the present invention has been disclosed above, it is not limited thereto. Any person skilled in the art can make various modifications and alterations without departing from the spirit and scope of the invention; therefore, the scope of protection of the present invention should be determined by the scope defined in the claims.

Claims

1. A method for generating and dynamically interacting with a multi-relationship group customer tree, characterized in that, Including the following steps: S1. Read the enterprise relationship record containing the first enterprise identifier, the second enterprise identifier, and the relationship type; map the relationship type to a unified relationship code and determine the parent-child direction. S2. Construct the group customer tree by alternating between enterprise nodes and relationship nodes, and create a path instance for each enterprise node containing an enterprise identifier, parent path identifier, unified relationship code, and path identifier; create different path instances for the same enterprise under different parent nodes, and terminate the branch when the added enterprise belongs to the current path ancestor set; S3. Determine the display threshold of the relationship nodes based on the display view area and node display size, write the excess enterprise nodes into the hidden set and generate reversible aggregate nodes; S4. Traverse visible nodes, hidden nodes, and aggregated members to build a full location index. In response to retrieval or focus operations, restore the path between the target path instance and the nearest visible ancestor node based on the enterprise identifier and the selected path identifier. S5. Take the parent node with the smallest tree depth among the parent nodes whose visible set changes as the root node affected by the layout, keep the anchor point coordinates and recalculate the coordinates of the affected subtrees. S6. Draw the affected subtree off-screen and generate node masks and connection line masks. Perform multi-scale wavelet scattering transform on the image partition to obtain the display congestion. Divide the moving bands according to the enterprise level. In each moving band, form the source and target distribution based on the display congestion and unoccupied pixel capacity. Obtain the optimal transmission matrix through Sinkhorn iteration. Correct the coordinates of the congested nodes and maintain the hierarchical horizontal coordinate, same level order and anchor point constraints. S7. Render nodes and connecting lines according to the corrected coordinates, and output the group customer tree display image.

2. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 1, characterized in that, The enterprise relationship record also includes relationship source identifiers and relationship attributes; A relationship mapping table is pre-established, and each mapping entry in the relationship mapping table records the original relationship type, the corresponding unified relationship code, and the parent-child direction rule; the enterprise entities at both ends of the relationship are determined according to the first enterprise identifier and the second enterprise identifier, the parent enterprise and the child enterprise are determined according to the parent-child direction rule, and a relationship node with the corresponding unified relationship code is inserted between the parent enterprise node and the child enterprise node; The relationship source identifier and relationship attribute are written into the path instance corresponding to the sub-enterprise node and associated with the parent path identifier of the path instance to represent the enterprise relationship between the current parent enterprise and the sub-enterprise; when there are multiple relationship sources between the same parent enterprise and the sub-enterprise, the corresponding multiple relationship source identifiers are formed into a relationship source identifier set and stored in the same path instance; the relationship attribute includes at least one of the following: shareholding ratio, control relationship identifier and branch identifier.

3. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 1, characterized in that, The enterprise identifier is a unique identifier for the enterprise. An enterprise entity record is established using the enterprise identifier as the primary key. The enterprise entity record includes at least the enterprise identifier and the enterprise name. When establishing a path instance, the parent path identifier, the unified relation code, and the identifier of the enterprise to be added are combined in a preset order and hashed to obtain a candidate path identifier. Conflict checks are performed on the candidate path identifier. If there is no conflict, it is used as the path identifier. If there is a conflict, a path sequence value is appended to generate the path identifier. Before branch expansion, the enterprise identifiers in the corresponding path instances are read level by level along the parent path identifier to form an ancestor enterprise set. Expansion stops when the identifier of the enterprise to be added belongs to the ancestor enterprise set. When the enterprise to be added exists only in other path instances, a new path instance is established.

4. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 1, characterized in that, The determination of the display threshold includes: dividing the display view area into hierarchical display zones according to the tree depth; allocating the vertical available pixel range corresponding to the next enterprise level to each relation node according to the number and arrangement of relation nodes in the same relation node layer; and forming the available display sub-area corresponding to each relation node by combining the horizontal display width of the next enterprise level; determining the minimum occupied area of ​​a single node according to the minimum display width, minimum display height of the enterprise node and the reserved pixel interval between nodes; obtaining the display threshold of the relation node by correcting and rounding the ratio of the pixel area of ​​the available display sub-area to the minimum occupied area of ​​a single node using a preset view area occupancy coefficient; writing enterprise nodes that exceed the display threshold into a hidden set, and establishing a reversible aggregate node that records the aggregate node identifier, the set of hidden enterprise identifiers, the storage address of the hidden set, and the identifier of the original parent node.

5. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 1, characterized in that, Each index entry of the full location index includes at least an enterprise identifier, a path identifier, a parent path identifier, an enterprise level, a visibility status, and an aggregation node identifier. Based on the target enterprise identifier, one or more candidate path instances are obtained. When there are multiple candidate path instances, the path identifiers corresponding to each candidate path instance are output, and the selected path identifier is received, with the corresponding path instance serving as the target path instance. Starting from the target path instance, a reverse query is performed level by level along the parent path identifier to the first ancestor path instance in a visible state, and the path instances between them are restored. When the target path instance is in the hidden set, its corresponding enterprise node is moved into the visible set, and the corresponding reversible aggregation node is updated or deleted based on the number of hidden enterprises removed.

6. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 1, characterized in that, The multi-scale wavelet scattering transform includes: convolving the node region mask and the connector region mask with complex Morlet wavelets of at least two scales and multiple directions, performing modulus calculation on the convolution results to obtain the first-level propagation result, and performing low-pass aggregation on the first-level propagation result to obtain the first-level scattering feature; further convolving and performing modulus calculation on the first-level propagation result without low-pass aggregation with complex Morlet wavelets of another scale and / or another direction, and performing low-pass aggregation on the obtained result to obtain the second-level scattering feature; determining the local pixel occupancy intensity based on the first-level scattering feature of the node region, determining the directional concentration and cross-scale aggregation degree of the connector region based on the first-level and second-level scattering features of the connector region, and weighting the local pixel occupancy intensity, the directional concentration and cross-scale aggregation degree to obtain the display congestion of each image partition.

7. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 6, characterized in that, The image is divided into different moving bands according to the horizontal coordinate range corresponding to each enterprise level. For each level of the mobile band, image partitions with display congestion exceeding a preset congestion threshold are identified as source image partitions. The source distribution is obtained by normalizing the difference between the display congestion of each source image partition and the preset congestion threshold. Image partitions with unoccupied pixel capacity exceeding a preset capacity threshold are identified as target image partitions. The target distribution is obtained by normalizing the unoccupied pixel capacity of each target image partition. A transmission cost matrix is ​​established based on the pixel distance between the centers of source and target image partitions within the same level of the mobile band. The optimal transmission matrix is ​​obtained through Sinkhorn iteration with entropy regularization. For each source image partition, based on the source image... The amount of data transmitted from one partition to another is weighted by the vertical pixel offset of the center of each target image partition relative to the center of the source image partition to obtain the vertical migration amount of the source image partition. The vertical migration amount is then superimposed on the current vertical coordinate of each congested node in the source image partition to obtain candidate vertical coordinates. According to the vertical arrangement order of each enterprise node in the same enterprise level before coordinate correction, the candidate vertical coordinates are sequentially projected to satisfy the preset minimum node spacing to obtain the corrected vertical coordinates of each congested node, while keeping the horizontal coordinate of the enterprise level where each congested node is located and the anchor point coordinates of the layout-affected root node unchanged.

8. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 6, characterized in that, Before drawing the connection lines between parent and child nodes according to the corrected node coordinates, each node is redrawn in the off-screen image buffer area according to the corrected enterprise node coordinates and relationship node coordinates, and an updated node region mask is generated according to the pixel positions occupied by the redrawn nodes. Morphological dilation is performed on the updated node region mask according to a preset safe pixel distance to obtain the node obstacle region. Distance transformation is performed on pixels outside the node obstacle region to obtain the free space distance from each pixel to the nearest node obstacle boundary. The free space distance is used as a filter value, and a cubic complex filter sequence is constructed according to the distance threshold from large to small. Zero-duration long-term homology analysis is performed on the filter sequence, and the corresponding duration is determined according to the birth threshold and death threshold of each free space connectivity structure. Free space connectivity structures with a duration greater than the preset duration threshold are selected, and the connectivity between the free space connectivity structure and the preset neighborhood outside the parent node connection end and the preset neighborhood outside the child node connection end are detected respectively. Free space connectivity structures that are connected to the preset neighborhood outside the parent node connection end and the preset neighborhood outside the child node connection end are determined as stable connection channels of the corresponding parent-child node connection line.

9. The method for generating and dynamically interacting with a multi-relationship group customer tree according to claim 8, characterized in that, The pathfinding order of connecting lines is determined by sorting the parent node tree depths from smallest to largest, and then by path identifiers within the same tree depth. For each pixel in the stable connection channel and each candidate propagation direction entering that pixel, the direction-related propagation cost is determined based on the distance from the pixel to the node obstacle region, the density of existing connecting lines passing through the pixel's preset neighborhood, and the degree of deflection of the candidate propagation direction relative to the parent-to-child node reference direction. Specifically, the direction-related propagation cost decreases as the distance increases, and increases as the connecting line density or deflection increases. An anisotropic fast traversal algorithm is executed with the parent node connection end as the propagation starting point to obtain the cumulative propagation time field. Candidate connecting line paths are obtained by backtracking from the child node connection end along the direction of decreasing cumulative propagation time. The candidate connection paths are rasterized, and the number of overlapping pixels with non-associated nodes and the number of intersecting pixels with existing connections are counted. When either number exceeds a corresponding preset threshold, the direction-related propagation cost of the corresponding over-threshold region is increased, and the anisotropic fast traversal algorithm is re-executed. When neither the number of overlapping pixels nor the number of intersecting pixels exceeds the corresponding preset threshold, the current candidate connection path is determined as the final connection path. When there are still candidate connection paths exceeding the corresponding preset threshold after reaching the upper limit of the preset number of iterations, the path evaluation value is determined according to the number of overlapping pixels, the number of intersecting pixels, and the path pixel length of the candidate connection paths obtained in each iteration according to a preset weight, and the candidate connection path with the smallest path evaluation value is determined as the final connection path.

10. A multi-relationship group customer tree generation and dynamic interaction system, characterized in that, include: The reading unit reads enterprise relationship records containing the first enterprise identifier, the second enterprise identifier, and the relationship type, maps the relationship type to a unified relationship code, and determines the parent-child direction. Establish units and construct a group customer tree by alternating between enterprise nodes and relationship nodes. Create path instances for enterprise nodes that include enterprise identifier, parent path identifier, unified relationship code, and path identifier. Create different path instances for the same enterprise under different parent nodes. The branch terminates when the added enterprise belongs to the ancestor set of the current path. The reversible aggregation node generation unit determines the display threshold of relational nodes based on the display view area and node display size, writes excess enterprise nodes into the hidden set, and generates reversible aggregation nodes. The path generation unit traverses visible nodes, hidden nodes, and aggregated members to build a full location index. In response to retrieval or focus operations, it restores the path between the target path instance and the nearest visible ancestor node based on the enterprise identifier and the selected path identifier. The recalculation unit takes the parent node with the smallest tree depth among the parent nodes of the visible set changes as the root node affected by the layout, maintains the anchor point coordinates and recalculates the coordinates of the affected subtrees; The correction unit draws the affected subtree off-screen and generates node masks and connection line masks. It performs multi-scale wavelet scattering transformation on the image partition to obtain the display congestion. It divides the moving bands according to the enterprise level and forms the source and target distributions in each moving band based on the display congestion and unoccupied pixel capacity. It obtains the optimal transmission matrix through Sinkhorn iteration and corrects the coordinates of the congested nodes while maintaining the hierarchical horizontal coordinates, same-level order and anchor point constraints. The display unit renders nodes and connecting lines according to the corrected coordinates, and outputs a group customer tree display image.