Data blood relationship display method and device, computer equipment and storage medium
By displaying table-level and field-level lineage relationships hierarchically in the data lineage diagram, the problem of existing technologies being unable to meet the requirements of refined data governance and in-depth impact analysis is solved, and efficient and intuitive analysis of data governance and problem investigation is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2026-01-26
- Publication Date
- 2026-05-12
AI Technical Summary
Existing methods for displaying data lineage are insufficient to meet the needs of refined data governance and in-depth impact analysis, especially when analyzing the data source at the field level or the transmission relationship between fields. Current technologies often rely on manual review of data processing scripts, data processing logic, or metadata documentation, resulting in low analysis efficiency.
A method for displaying data lineage is provided. By displaying a table-level lineage graph of the target data table, in response to a display mode switching operation, the data table fields are displayed at the table node positions in the table-level lineage graph. In response to a trigger operation of the target field, the field-level lineage graph corresponding to the target field is displayed. The connecting edges between field nodes in the field-level lineage graph represent the lineage relationship between fields.
It enhances the hierarchy of data lineage analysis, making data governance, impact analysis, and problem identification more efficient and intuitive. Users can intuitively see the fields in each data table and their interrelationships, and gain a deeper understanding of the transitive relationships and dependency chains between fields.
Smart Images

Figure CN122019658A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to a method, apparatus, computer device, and storage medium for displaying data lineage. Background Technology
[0002] With the development of processing technology, enterprises have increasingly adopted data lineage visualization technology to display the data sources, processing flows, and dependencies between different data tables, thereby assisting in data governance, impact analysis, and problem troubleshooting. Existing data lineage visualization methods typically construct a lineage graph using data tables as nodes and inter-table dependencies as connecting edges to provide a holistic view of the data flow path.
[0003] As data model complexity and data scale continue to increase, simply supporting table-level lineage display is no longer sufficient to meet the needs of refined data governance and in-depth impact analysis. For example, when it is necessary to analyze the data source or the transmission relationship between fields at the field level, existing technologies often rely on manual review of data processing scripts, data processing logic, or metadata documentation, resulting in low efficiency in analyzing data lineage. Summary of the Invention
[0004] Therefore, it is necessary to provide a method, apparatus, computer device, and storage medium for displaying data lineage relationships that can improve the efficiency of data lineage relationship analysis, in order to address the aforementioned technical problems.
[0005] Firstly, this application provides a method for displaying data lineage. The method includes:
[0006] Display the table-level lineage diagram of the target data table;
[0007] In response to the display mode switching operation, the data table fields associated with the table node are displayed at the corresponding positions of the table nodes in the table-level lineage graph;
[0008] In response to a trigger operation on a target field in the data table, a field-level lineage graph corresponding to the target field is displayed; the connecting edges between field nodes in the field-level lineage graph are used to represent the lineage relationship between fields.
[0009] Secondly, this application also provides a display device for data lineage. The device includes:
[0010] The table-level lineage display module is used to display the table-level lineage diagram of the target data table;
[0011] The field display module is used to display the data table fields associated with the table node at the corresponding position of the table node in the table-level lineage graph in response to the display mode switching operation.
[0012] The field-level lineage display module is used to display the field-level lineage graph corresponding to the target field in response to a trigger operation on the target field in the data table; the connecting edges between field nodes in the field-level lineage graph are used to represent the lineage relationship between fields.
[0013] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of the method described above.
[0014] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps of the above-described method.
[0015] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the steps of the above-described method.
[0016] The aforementioned methods, devices, computer equipment, storage media, and computer program products for displaying data lineage relationships display a table-level lineage diagram of the target data table. In response to a display mode switching operation, the data table fields associated with the table nodes are displayed at the corresponding positions of the table nodes in the table-level lineage diagram. This allows users to intuitively see the fields in each data table and quickly understand the role and relationships of the fields within the data table. In response to a trigger operation on a target field in the data table, a field-level lineage diagram corresponding to the target field is displayed. The connecting edges between field nodes in the field-level lineage diagram represent the lineage relationships between fields, allowing users to gain a deeper understanding of the transitive relationships and dependency chains between fields. This progressively deepening display method enhances the hierarchy of data lineage analysis, making data governance, impact analysis, and problem identification more efficient and intuitive. Attached Figure Description
[0017] Figure 1 This is an application environment diagram of a method for displaying data lineage in one embodiment;
[0018] Figure 2 This is a flowchart illustrating a method for displaying data lineage in one embodiment;
[0019] Figure 3 This is a schematic diagram of a data management page in one embodiment;
[0020] Figure 4 This is a schematic diagram of a top-level kinship diagram in one embodiment;
[0021] Figure 5 This is a schematic diagram of a phenotypic kinship diagram in another embodiment;
[0022] Figure 6 This is a schematic diagram of a table-level lineage diagram displayed based on fields in one embodiment;
[0023] Figure 7 This is a schematic diagram of a field-level lineage diagram in one embodiment;
[0024] Figure 8 This is a flowchart illustrating a method for displaying data lineage in another embodiment;
[0025] Figure 9 This is a flowchart illustrating the de-overlapping algorithm in one embodiment;
[0026] Figure 10 This is a flowchart illustrating a sorting algorithm in one embodiment;
[0027] Figure 11 This is a structural block diagram of a data lineage display device in one embodiment;
[0028] Figure 12 This is a structural block diagram of a data lineage display device in another embodiment;
[0029] Figure 13 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0030] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0031] The method for displaying blood relations provided in this application embodiment can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be placed on the cloud or other servers. The above-mentioned method for displaying data lineage can be executed by terminal 102 alone, or it can be executed through interaction between terminal 102 and server 104. In one embodiment, terminal 102 displays a table-level lineage graph of the target data table. In response to a display mode switching operation, it displays the data table fields associated with the table nodes at the corresponding positions of the table nodes in the table-level lineage graph. In response to a trigger operation on a target field in the data table fields, it displays a field-level lineage graph corresponding to the target field. The connecting edges between field nodes in the field-level lineage graph are used to represent the lineage relationships between fields.
[0032] The terminal 102 can be, but is not limited to, various desktop computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, and smart in-vehicle systems. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. The server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.
[0033] In one embodiment, such as Figure 2 As shown, a method for displaying data lineage is provided, which can be applied to... Figure 1 Taking terminal 102 as an example, the explanation includes the following steps:
[0034] S202 displays the table-level lineage diagram of the target data table.
[0035] The target data table refers to the specific data table of interest during the data lineage display process. Specifically, it can be the data table selected by the user on the data management page. This table serves as the starting point for data lineage analysis, tracking its dependencies with other data tables, data flow, and the transmission paths between fields. For example... Figure 3 The data management page shown has a master node input area 302. Users can enter a target data table in the master node input area 302, thereby triggering the display operation of the lineage relationship of the entered target data table.
[0036] A table-level lineage graph is a graphical representation of the dependencies between multiple data tables. Each data table is represented by a node, and the dependencies between the tables are connected by edges. For example... Figure 4 In the table-level lineage graph shown, table node 1 and table node 2 are connected by connecting edge 402. Connecting edge 402 is used to represent the dependency relationship between data table 1 corresponding to table node 1 and data table 2 corresponding to table node 2.
[0037] Specifically, a data management application can run on the terminal, and the terminal displays the data management page of the data management application. In response to the lineage display operation of the target data table triggered on the data management page, the terminal obtains the data tables used to participate in the generation of the relationship graph and the table-level dependencies between the data tables. Based on the table-level dependencies, the lineage level of each data table is determined, and according to the lineage level of each data table and the preset table node display rules, the table nodes corresponding to each data table are displayed on the data management page. Based on the table-level dependencies, table-level connection edges are drawn between the table nodes.
[0038] Data management applications refer to applications used to manage, maintain, and analyze data assets. Specifically, these can be data asset management systems, metadata management systems, data governance platforms, or data analysis platforms deployed on terminals.
[0039] A data management page refers to the user interface displayed on a terminal by a data management application. It is used to display data asset-related information to users and receive user operations. A data management page includes at least a display area for displaying a list of data tables, data table attribute information, data table structure information, or data lineage information.
[0040] The bloodline display operation refers to the operation triggered on the data management page to request the display of the bloodline relationships of the target data table. The bloodline display operation can include clicking on the target data table, menu selection, bloodline viewing command, or other user operations used to trigger the display of bloodline relationships.
[0041] Table-level dependencies refer to the relationships formed between data tables during data generation, processing, or transfer. They indicate that data in one table originates from another, or that data in one table is used to generate, update, or calculate data in another. For example, data table 1 includes X, data table 2 includes YY, and data table 3 includes ZZ. YY in data table 2 is generated by processing data from X in data table 1, and ZZ in data table 3 is generated by further calculations based on YY in data table 2. Therefore, the data dependency relationship among these three data tables is that data table 2 depends on data table 1, and data table 3 depends on data table 2, forming a table-level lineage relationship from data table 1 to data table 2, and then from data table 2 to data table 3.
[0042] The lineage hierarchy refers to the hierarchical relationship obtained by dividing the relative positions of each data table in the data flow path based on the table-level dependencies between data tables. It is used to characterize the upstream, middle, or downstream position of a data table in the lineage relationship. In other words, the target data table corresponds to the middle level. For example, if the data dependencies of data tables 1, 2, and 3 are: data table 2 depends on data table 1, and data table 3 depends on data table 2, then the lineage hierarchy of data table 1 is the upstream level, the lineage hierarchy of data table 2 is the middle level, and the lineage hierarchy of data table 3 is the downstream level. If the data dependencies of data tables 1, 2, 3, 4, and 5 are: data table 1 depends on data table 4, data table 2 depends on data table 1, data table 3 depends on data table 2, and data table 5 depends on data table 3, then the lineage hierarchy of data table 1 is upstream, data table 2 is middle, and data table 3 is downstream. When used as the target data table, the lineage of each data table in the data flow path can be determined according to the table-level dependencies between the data tables as follows: Data table 4 is located two levels upstream of the target data table 2, corresponding to the second level of the upstream lineage; Data table 1 is located one level upstream of the target data table 2, corresponding to the first level of the upstream lineage; Data table 2 is the target data table, corresponding to the middle level of the lineage; Data table 3 is located one level downstream of the target data table 2, corresponding to the first level of the downstream lineage; and Data table 5 is located two levels downstream of the target data table 2, corresponding to the second level of the downstream lineage.
[0043] Preset table node display rules refer to a set of rules used to control how data tables are displayed in a table-level lineage diagram. These rules determine the display format and layout of table nodes for each data table within the lineage diagram. Specifically, preset table node display rules may include rules for determining the display size, position, hierarchical order, spacing between nodes, and display methods corresponding to different lineage levels. The display position at least indicates the horizontal and vertical position of the table node in the lineage diagram, and the hierarchical order characterizes the corresponding lineage level of the table node.
[0044] Table-level join edges are graphical elements in a table-level lineage graph used to connect table nodes corresponding to data tables that have table-level dependencies. Table-level join edges are used to visually represent the table-level dependencies and data flow direction between data tables during data generation, data processing, or data transfer. Specifically, table-level join edges can be displayed in the form of lines, curves, or polylines, with their starting and ending points connected to the two table nodes that have table-level dependencies.
[0045] like Figure 3The data management page shown displays a master node input area 302. Users can input a target data table in this area, triggering a lineage display operation for the input target data table. The terminal responds to this lineage display operation by displaying, as shown below. Figure 5 The table shows the kinship chart.
[0046] S204, in response to the display mode switching operation, displays the data table fields associated with the table node at the corresponding position of the table node in the table-level lineage graph.
[0047] The display mode switching operation refers to the operation triggered on the data management page to switch between different lineage display modes. Specifically, the display mode switching operation can include any one or more of the following: clicking the mode switching button, selecting a field-level display option, or triggering a field expansion operation.
[0048] The corresponding position of a table node refers to the display area allocated to the corresponding table node in the table-level lineage diagram for displaying a certain data table. The corresponding position is used to carry the visualization content related to the table node. Specifically, the corresponding position of a table node can be the display area of the table node itself, or an extended display area adjacent to or attached to the table node, used to display the field information associated with the table node.
[0049] The data table fields associated with a table node refer to the set of fields belonging to the data table corresponding to the table node. They are used to represent the data structure information contained in the data table. Data table fields include at least one of the following: field name, field type, and field identifier.
[0050] Specifically, the terminal can run a data management application and display a table-level lineage diagram in the data management application. When the terminal detects that the user has triggered a display mode switching operation in the data management page, it determines the target display mode to switch to. If the target display mode is a field display mode, it obtains the data table fields corresponding to each table node and displays the corresponding data table fields at the corresponding positions of the table nodes based on preset field display rules.
[0051] The number of fields in a data table refers to the number of fields contained in the data table, which is used to characterize the complexity of the data structure of the data table. Specifically, the number of fields can be the total number of fields recorded in the metadata information of the data table, or the number of fields obtained in the field display mode according to the current display conditions (such as field filtering conditions, field search conditions).
[0052] Preset field display rules refer to the rule configurations used to constrain and guide the display of data table fields at their corresponding positions in table nodes, in order to determine the display method, display order, and display area layout of the fields. Preset field display rules may include at least one of the following: field arrangement order rules, such as sorting by field name, field type, or field importance; field display quantity rules, such as limiting the number of fields displayed at one time or prioritizing the display of some fields; field display style rules, such as the font style, color, and highlighting method of field names; and layout rules for the field viewing area, such as the row height, spacing, and whether scrolling is supported in the field list.
[0053] For example, in a table-level lineage graph, the target data table's corresponding table node is data table A, the upstream related table nodes include data table B, and the downstream related table nodes include data table C. When a user triggers a display mode switching operation on the data management page and selects a field display mode, the terminal obtains the data table field information contained in data table A, data table B, and data table C respectively. Among them, data table A includes fields A1, A2, and A3; data table B includes fields B1 and B2; and data table C includes fields C1, C2, C3, and C4. Based on the number of data table fields corresponding to each data table, the terminal displays fields A1, A2, and A3 at the table node position corresponding to data table A, fields B1 and B2 at the table node position corresponding to data table B, and fields C1 to C4 at the table node position corresponding to data table C, according to preset field display rules.
[0054] like Figure 5 The data management page shown displays a mode switching button 502. In response to clicking the mode switching button 502, the terminal displays the data table fields associated with the table node at the corresponding position in the table-level lineage diagram, such as... Figure 6 As shown.
[0055] S206, in response to a triggered operation on a target field in a data table, displays a field-level lineage graph corresponding to the target field; the connecting edges between field nodes in the field-level lineage graph are used to represent the lineage relationship between fields.
[0056] The target field refers to the field selected by the user in the field display mode from the field set of a certain data table for field-level lineage analysis. The target field can be any field in the corresponding nodes of each table displayed.
[0057] A triggering operation for a target field refers to an operation initiated on the target field to request the display of the lineage relationship related to that field. The triggering operation may include at least one of the following: a click operation, a double-click operation, a hover operation, a long-press operation, or a lineage viewing operation triggered through a menu option.
[0058] A field-level lineage graph is a visual relationship graph constructed with nodes and dependencies between fields as connecting edges. It is used to represent the lineage relationship between fields in different data tables during data generation, data processing, or data transmission. In other words, a field-level lineage graph is used to show the dependency path between a target field and its upstream or downstream fields.
[0059] A field node is a visual node in a field-level lineage graph used to represent at least one field. In other words, a field node corresponds to at least one specific field. It can be understood that a field node is used to carry field identification information and serves as the connection object for field-level connection edges.
[0060] Field lineage refers to the data dependency relationship formed between fields in different data tables during data processing. It is used to indicate that the data of one field originates from another field, or that the data of one field is used to generate, update, or calculate another field. For example, if the data of field B is obtained based on the data of field A through data processing, then there is a field-level lineage relationship between field A and field B.
[0061] Specifically, after the terminal displays the data table fields corresponding to each table node in the table-level lineage graph, the user can trigger a field-level lineage viewing operation for any data table field as needed. When the terminal detects that the user has triggered a field-level lineage viewing operation for a target field in the data table, the terminal determines the target field as the field-level lineage analysis object, obtains the associated fields that have a field-level dependency relationship with the target field, and determines the inter-field lineage relationship between the target field and the associated fields. Based on the target field, associated fields, and inter-field lineage relationships, a field-level lineage graph is constructed. In the field-level lineage graph, the terminal displays the target field and associated fields as field nodes respectively, and draws connecting edges between field nodes that have data dependencies, so that the user can intuitively analyze the upstream source and / or downstream destination of the target field in the data flow process.
[0062] like Figure 6 As shown, in response to a click on target data field 602, the terminal displays a field-level lineage diagram corresponding to target field 602, such as... Figure 7 As shown.
[0063] In the aforementioned method of displaying data lineage, by displaying a table-level lineage diagram of the target data table, in response to a display mode switch operation, the data table fields associated with the table nodes are displayed at the corresponding positions of the table nodes in the table-level lineage diagram. This allows users to intuitively see the fields in each data table and quickly understand the role and interrelationships of the fields within the data table. In response to a trigger operation on a target field in the data table, a field-level lineage diagram corresponding to the target field is displayed. The connecting edges between field nodes in the field-level lineage diagram represent the lineage relationships between fields, allowing users to gain a deeper understanding of the transitive relationships and dependency chains between fields. This hierarchical display method enhances the hierarchy of data lineage analysis, making data governance, impact analysis, and problem identification more efficient and intuitive.
[0064] In one embodiment, the process of displaying the data table field associated with a table node at the corresponding position of a table node in a table-level lineage graph includes the following steps: displaying a first information viewing area at the corresponding position of a table node in the table-level lineage graph; the first information viewing area includes a first field sub-area and a first search sub-area; displaying the data table field associated with the table node in the first field sub-area; and displaying the search result field in response to a search operation triggered in the first search sub-area; the result field belongs to the data table field.
[0065] The first information viewing area refers to the display area set up in the table-level lineage diagram to display the field information of the data table corresponding to the table node. The first information viewing area is used to carry the field list and interactive controls related to field query. Specifically, the first information viewing area can be displayed at the corresponding position of the table node, and is spatially adjacent to or attached to the table node.
[0066] The first field sub-area refers to the sub-area set in the first information viewing area, which is used to display the data table fields associated with the table nodes. Specifically, the data table fields can be displayed in the form of a field list within the first field sub-area, which is used to present the field structure information of the data table to the user.
[0067] The first search sub-area refers to the sub-area set in the first information viewing area for receiving field query input. Specifically, the first search sub-area can be used to receive field query conditions input by the user and trigger search operations on the fields of the data table.
[0068] The search operation triggered in the first search sub-area refers to the operation of entering field query conditions in the first search sub-area and triggering the search instruction. The search operation may include the operation of entering field name, field identifier or field keyword and confirming the search.
[0069] The search results fields refer to the data table fields that meet the query conditions entered in the search operation and are filtered from the data table fields. The results fields can be a subset of the data table fields and are used to highlight or display them separately in the first field sub-area.
[0070] Specifically, when the terminal detects that a user triggers a display mode switching operation on the data management page, it determines the target display mode to switch to. If the target display mode is a field display mode, it retrieves the data table fields corresponding to each table node, generates a first information viewing area at the corresponding position of the table node, and fills the first field sub-area of the first information viewing area with the retrieved data table fields to display the data table fields associated with the table node. When the terminal detects that a user enters field query conditions in the first search sub-area of the first information viewing area and triggers a search operation, the terminal filters the data table fields according to the field query conditions to obtain the result fields that meet the query conditions. The terminal then displays the result fields in the first field sub-area.
[0071] Specifically, the terminal can display the result field in the first field sub-area in a highlighted manner, or display only the result field while hiding other unmatched fields. For example, the result field can be displayed in a highlighted style in the first field sub-area; only the content of the result field can be displayed in the first field sub-area; or the result field can be arranged in a preset position in the first field sub-area to distinguish it from unmatched fields.
[0072] In the above embodiments, the terminal displays a first information viewing area at the corresponding position of the table node in the table-level lineage graph. In the first field sub-area of the first information viewing area, the data table fields associated with the table node are displayed. In response to the search operation triggered by the first search sub-area of the first information viewing area, the search result fields are displayed. This allows users to directly view the data table fields contained in each data table in the table-level lineage graph and quickly locate the specified field through the search operation, avoiding repeated switching between different pages or documents and improving the efficiency of data field search and lineage analysis.
[0073] In one embodiment, the process of displaying the first information viewing area at the corresponding position of the table node in the table-level lineage graph includes the following steps: obtaining the data table field corresponding to the table node; determining the field sub-region size based on the number of data table fields; and displaying the first information viewing area at the corresponding position of the table node in the table-level lineage graph based on the field sub-region size and the preset search sub-region size.
[0074] The field sub-area size refers to the display area size used to display data table fields in the first information viewing area. It is used to accommodate the display content of the data table fields corresponding to the table nodes. The field sub-area size can be calculated based on the number of data table fields, the display height of a single field, and the spacing between fields. It is used to ensure that the field content is displayed completely and orderly in the field sub-area.
[0075] The preset search sub-area size refers to the pre-configured display area size used to display the field search control in the first information viewing area. Specifically, the preset search sub-area size can be a fixed size used to accommodate the field search input box and its related interactive controls to ensure the availability and display consistency of the field search function.
[0076] Specifically, the terminal obtains the data table fields corresponding to each table node. For any given table node, it counts the number of fields in the data table corresponding to that table node. Based on the number of fields, the preset display height of a single field, and the field spacing, it calculates the size of the field sub-region used to display the data table fields, obtains the preset search sub-region size, and determines the overall size of the first information viewing area based on the field sub-region size and the preset search sub-region size. It also determines the display position of the first information viewing area according to the display position of the table node and the overall size of the first information viewing area, and obtains the sub-region layout style for the first information viewing area. At the determined display position, according to the determined overall size and sub-region layout style, the first information viewing area containing the first field sub-region and the first search sub-region is displayed to display the data table fields associated with the table node and provide field search functionality.
[0077] Among them, the sub-region layout style refers to the layout configuration used to define the arrangement and spatial distribution relationship of each sub-region within the first information viewing area. Specifically, the sub-region layout style can be used to indicate the relative position, arrangement order, and occupancy ratio of the first field sub-region and the first search sub-region within the first information viewing area.
[0078] In the above embodiments, the terminal obtains the data table fields corresponding to the table nodes, determines the field sub-region size based on the number of data table fields, and displays the first information viewing area at the corresponding position of the table node in the table-level lineage graph based on the field sub-region size and the preset search sub-region size. This allows the display size of the first information viewing area to be adaptively adjusted according to the number of data table fields, ensuring complete display of field content while avoiding the display area being too large or too small, thereby improving the rationality and readability of field information display in the table-level lineage graph.
[0079] In one embodiment, a field-level lineage graph includes field nodes and field-level connecting edges; the process of the terminal displaying the field-level lineage graph corresponding to the target field includes the following steps: displaying a second information viewing area at the position corresponding to the table node in the table-level lineage graph; the second information viewing area includes a node sub-area; displaying field nodes in the node sub-area; and displaying field-level connecting edges between field nodes at different lineage levels.
[0080] The second information viewing area refers to the display area set up in the table-level lineage diagram to show the field-level lineage relationship. The second information viewing area is used to carry field nodes and field-level connection edges to visualize the field-level lineage relationship corresponding to the target field. Specifically, the second information viewing area can be displayed at the corresponding position of the table node to present the field-level lineage relationship in place in the table-level lineage diagram. For example, the original first information viewing area can be replaced with the second information viewing area, or the second information viewing area can be displayed below the first information viewing area.
[0081] A node sub-region refers to a sub-region set in the second information viewing area, used to display field nodes in the field-level lineage diagram.
[0082] Field nodes at different lineage levels refer to field nodes in a field-level lineage graph that are assigned to different lineage levels based on their position in the data flow according to the field-level dependencies between fields. Upstream fields correspond to the upstream lineage level, downstream fields to the downstream lineage level, and target fields to the intermediate lineage level. For example, if the target field is a field in the target data table, then the lineage level of the related fields in the upstream table node corresponding to the target data table is the upstream level, and the lineage level of the related fields in the downstream table node corresponding to the target data table is the downstream level.
[0083] Field-level connection edges are lines used to connect two field nodes that have a field-level dependency relationship in a field-level lineage graph. Field-level connection edges are used to characterize the data source relationship or data flow relationship between fields. In other words, field-level connection edges indicate that the data of one field comes from another field or a group of fields, or that the data of one field is used to generate, update or calculate another field or a group of fields.
[0084] Specifically, when the terminal detects that a user has triggered a field-level lineage view operation on a target field in a data table associated with a table node, it determines the associated fields in the data table fields of each table node that have a field-level dependency relationship with the target field, obtains the associated fields corresponding to each table node, generates a second information viewing area at the corresponding position of each table node, and displays the target field and associated fields as field nodes in the node sub-areas of the second information viewing area. Based on the field-level dependency relationship, field-level connection edges are drawn between field nodes at different lineage levels to represent the data source relationship or data flow relationship between fields. In this way, the terminal displays the field-level lineage relationship diagram corresponding to the target field in situ in the table-level lineage relationship diagram.
[0085] Field-level dependencies refer to the dependencies formed between fields in different data tables during data generation, processing, or transmission. They represent how data in one field originates from another field, or how data in one field is used to generate, update, or calculate another field. For example, if data table A includes field A1 and data table B includes field B1, and the value of field B1 is obtained based on field A1 after data cleaning, transformation, or calculation, then there is a field-level dependency between field B1 and field A1. Similarly, if field C1 in data table C is generated by jointly calculating from field A1 in data table A and field B1 in data table B, then field C1 has field-level dependencies with both field A1 and field B1.
[0086] In the above embodiments, the terminal displays a second information viewing area at the corresponding position of the table node in the table-level lineage graph. The second information viewing area includes a node sub-area, in which field nodes are displayed. Field-level connection edges are displayed between field nodes at different lineage levels. Thus, without deviating from the overall structure of the table-level lineage graph, the in-situ visualization of the field-level lineage relationship corresponding to the target field is achieved. This allows users to intuitively identify the upstream source and downstream destination of the target field in the data flow process, improving the efficiency and accuracy of field-level lineage relationship analysis.
[0087] In one embodiment, the process of displaying a second information viewing area at the corresponding position of a table node in a table-level lineage graph includes the following steps: determining the associated fields in the data table fields of the table node that have a field-level dependency relationship with the target field; determining the size of the node sub-region based on the number of associated fields; and displaying the second information viewing area at the corresponding position of the table node in the table-level lineage graph according to the node position configuration information and the size of the node sub-region.
[0088] Specifically, within the data table fields corresponding to a table node, there are data fields that have a field-level dependency relationship with the target field. It can be understood that for the table node containing the target field, the target field itself constitutes a related field of that table node; for other table nodes that have a field-level lineage relationship with the target field, the related fields are those that have a field-level dependency relationship with the target field.
[0089] The node sub-region size refers to the display area size used to display field nodes in the second information viewing area. This display area is used to accommodate the field nodes corresponding to the associated fields. The node sub-region size can be determined based on the number of associated fields, the display size of a single field node, and the spacing between field nodes to ensure the orderly arrangement and complete display of field nodes in the node sub-region.
[0090] Node position configuration information refers to the configuration parameters used to indicate the display position of the second information viewing area and its internal node sub-regions in the table-level lineage diagram. The node position configuration information may include one or more of the following: the relative position relationship of the node sub-regions relative to the table nodes, the alignment method, and the offset, which are used to constrain the display method of the second information viewing area at the corresponding position of the table nodes.
[0091] Specifically, after detecting a field-level lineage view operation targeting a target field, the terminal obtains the data table field corresponding to the table node. Based on the pre-stored field-level dependency information, it filters out the related fields that have a field-level dependency relationship with the target field from the data table fields, counts the number of related fields, and calculates the size of the node sub-region used to display the field node corresponding to the related field based on the number of fields, the preset display size of a single field node, and the spacing between field nodes. It obtains the node position configuration information and determines the overall size of the second information viewing area and its display position relative to the table node in the table-level lineage relationship diagram based on the node sub-region size and the node position configuration information. Subsequently, the second information viewing area is displayed at the position corresponding to the table node in the table-level lineage relationship diagram, and the second information viewing area contains a node sub-region for displaying the field node corresponding to the related field.
[0092] In the above embodiments, the terminal determines the related fields in the data table fields of the table node that have a field-level dependency relationship with the target field, determines the size of the node sub-region based on the number of related fields, and displays the second information viewing area at the corresponding position of the table node in the table-level lineage graph according to the node position configuration information and the size of the node sub-region. This allows the display size of the second information viewing area to be adaptively adjusted according to the number of related fields that have a field-level dependency relationship with the target field, ensuring that the field nodes are fully displayed while avoiding redundancy or overlap of the display area, and realizing an orderly and intuitive display of the field-level lineage relationship in the table-level lineage graph.
[0093] In one embodiment, the process of displaying field-level connection edges between field nodes at different lineage levels includes the following steps: determining the node connection stub position of the field node based on the node sub-region size and node position configuration information; displaying the node connection stub corresponding to the field node based on the node connection stub position; determining the start point connection stub and the end point connection stub among the node connection stubs of adjacent lineage levels based on the field-level dependency relationship; and drawing field-level connection edges between the start point connection stub and the end point connection stub.
[0094] The node connection stub position refers to the reference point position used to determine the connection relationship between field nodes. The node connection stub position determines the relative position of the connection stub of the field node in the node sub-region.
[0095] In a field-level lineage graph, a node stub is a visual graphic element used to represent the connection relationship between a field node and other nodes. Node stubs can be displayed as small dots, markers, or other shapes, and are used as the connection endpoints between field nodes and connecting edges.
[0096] Adjacent lineage level node stubs refer to stubs located at different lineage levels in a field-level lineage graph, used to connect source nodes and inflow nodes. Specifically, adjacent lineage level node stubs can be located at the connection endpoints of upstream and downstream field nodes, respectively, to represent the dependency relationship between fields.
[0097] A start stub is the initial endpoint of a field-level connection edge. It resides on the source field node of the dependency relationship, representing the starting field of the data flow. An end stub is the final endpoint of a field-level connection edge. It resides on the target field node of the dependency relationship, representing the target field of the data flow. For example, if there is a field-level dependency between field node A and field node B, where data from field node A is processed and then passed to field node B for further calculations, then the start stub of field node A connects to the end stub of field node B. Field node A is the source node, and field node B is the target node; the stubs are located at the connection endpoints of their respective nodes, representing the field-level dependency between them.
[0098] Understandably, in a practical example, each field node can have a connecting stake set on its left and right sides respectively. For a certain field node, the connecting stake on its left side can serve as the end connecting stake, which is connected to the starting connecting stake of the field node located upstream of it; at the same time, the connecting stake on the right side of the field node can serve as the starting connecting stake, which is connected to the end connecting stake of the field node located downstream of it.
[0099] For example, field node A represents a field in data table 1, and field node B represents a field in data table 2. In the field-level lineage graph, the left-hand stub of field node A serves as the end-point stub and connects to the starting-point stub of field node C, indicating a dependency relationship between field node A and field node C. Similarly, the right-hand stub of field node B serves as the starting-point stub and connects to the end-point stub of field node A, indicating a dependency relationship between field node B and field node A.
[0100] Specifically, the terminal first obtains the node sub-region size and node position configuration information of each field node. According to the node connection stub configuration rules, node sub-region size, and node position configuration information, it determines the node connection stub position of each field node. Based on the node connection stub position, the terminal displays the node connection stub on the border of the field node. Then, according to the field-level dependency relationship, it analyzes the field nodes of the adjacent lineage level and determines the positions of the start connection stub and the end connection stub among the adjacent node connection stubs. Field-level connection edges are drawn between the start connection stub and the end connection stub to represent the field-level dependency relationship and data flow path between field nodes.
[0101] Among them, the node connection stub configuration rules refer to the rules used to define the display position, style and layout of field node connection stubs on the border of the field node. The node connection stub configuration rules can specifically include at least one of the following: connection stub position rules, connection stub style rules, connection stub alignment rules and connection stub function rules. The connection stub position rules are used to determine the specific position of the node connection stub on the border of the field node, such as being located on the left, right or top and bottom borders of the node. The connection stub style rules are used to specify the visual style of the node connection stub, such as shape (circle, square, etc.), color (highlight, border color, etc.), size, etc. The connection stub alignment rules are used to determine the alignment method of the field node connection stub with other connection stubs, such as horizontal alignment, vertical alignment or other methods. The connection stub function rules are used to define the interactive functions of the connection stub, such as whether it has a magnetic adsorption function, whether it can be dragged, etc.
[0102] In the above embodiments, the terminal determines the node connection stub position of the field node based on the node sub-region size and node position configuration information, displays the node connection stub corresponding to the field node based on the node connection stub position, determines the start point connection stub and the end point connection stub among the node connection stubs of adjacent lineage levels based on the field-level dependency relationship, and draws the field-level connection edge between the start point connection stub and the end point connection stub, so that the field nodes in the field-level lineage relationship graph can be correctly connected according to the field-level dependency relationship, and the field-level connection edge can accurately display the dependency path between field nodes, further helping users to intuitively understand the flow and dependency relationship between data fields, and improving the efficiency and accuracy of field-level lineage analysis.
[0103] In one embodiment, the process of a terminal displaying a second information viewing area at the corresponding position of a table node in a table-level lineage graph according to node location configuration information and node sub-region size specifically includes the following steps: obtaining the data table fields corresponding to the table node; determining the field sub-region size based on the number of data table fields; determining the size of the second information viewing area according to the node location configuration information, node sub-region size, field sub-region size, and preset search sub-region size; displaying the second information viewing area at the corresponding position of a table node in the table-level lineage graph based on the node location configuration information and the second information viewing area size; the second information viewing area also includes a second field sub-region and a second search input area; the second field sub-region is used for displaying data table fields, and the second search input area is used for field searching.
[0104] The field sub-area size refers to the area size used to display data table fields. This size is calculated based on the number of data table fields, the display height of each field, the field spacing, and the display requirements of the field content. In essence, an appropriate field sub-area size ensures that fields can be arranged at a suitable size within that area without being incompletely displayed due to insufficient space.
[0105] The preset search sub-area size refers to the pre-defined area size used to display the field search input box and related controls. The preset search sub-area size can be determined based on the size of the field query control and the display requirements of the input box to ensure the normal display and interaction of the field search function.
[0106] The size of the second information viewing area refers to the overall size of the second information viewing area determined based on the node location configuration information, field sub-area size, preset search sub-area size, and second field sub-area size. Specifically, the size of the second information viewing area can include the combined size of the data table field display area and the search input area, which is used to accommodate all displayed field information and provide field search functionality.
[0107] The second field sub-area refers to the sub-area within the second information viewing area used to display data table fields. The second field sub-area is used to display the data table field content in an arranged manner, allowing users to view specific field information or perform further operations.
[0108] The second search input area refers to a sub-area within the second information viewing area used to receive user input for query conditions. Specifically, the second search input area can provide an input box and related controls, allowing users to search for specific fields, facilitating quick field location and corresponding analysis.
[0109] Specifically, when the terminal receives a user request to view the field-level lineage of a target field, the terminal first obtains the data table field corresponding to the table node. Based on the number of data table fields, the display height of a single field, and the spacing between fields, the terminal calculates the size of the field sub-region. According to the node position configuration information, the node sub-region size, the field sub-region size, and the preset search sub-region size, the terminal calculates the overall size of the second information viewing area. Based on the node position configuration information and the overall size of the second information viewing area, the terminal determines the display position of the second information viewing area in the table-level lineage graph and displays the second information viewing area at that position. The second information viewing area includes a second field sub-region and a second search input area. The second field sub-region is used to display the data table field, and the second search input area is used to perform field searches, so that users can quickly locate the target field and view the field-level lineage.
[0110] In the above embodiments, the terminal obtains the data table fields corresponding to the table nodes, determines the field sub-region size based on the number of data table fields, and determines the size of the second information viewing area according to the node position configuration information, node sub-region size, field sub-region size, and preset search sub-region size. Based on the node position configuration information and the second information viewing area size, the second information viewing area is displayed at the corresponding position of the table node in the table-level lineage graph. The second information viewing area also includes a second field sub-region and a second search input area, so that the second information viewing area can automatically adjust its size according to the number of data table fields and field display requirements, ensuring the complete display of field nodes and the availability of field search functions. At the same time, the display position of the second information viewing area is consistent with the table nodes in the table-level lineage graph, allowing users to intuitively view data table fields and perform field search operations without leaving the current view, improving the efficiency and convenience of field-level lineage analysis.
[0111] In one embodiment, the terminal displays the search result fields in response to a search operation triggered in the second search sub-region.
[0112] Specifically, in response to a search operation triggered in the second search sub-area, the terminal first obtains the user's input search criteria, matches and filters the data table fields based on the search criteria, finds fields that meet the criteria, and displays the search results in the second field sub-area to ensure that the user can clearly view the field information that meets the criteria. During this process, the terminal can highlight fields based on the field matching results, or only display fields that meet the criteria, to improve the operability and visualization of the search results.
[0113] In the above embodiments, the terminal displays the search results fields in response to a search operation triggered in the second search sub-region. This allows users to quickly locate and view fields that meet the search criteria, improving the efficiency of field searching and optimizing the interactive experience during data analysis. By displaying search results in real time, the number of user steps is reduced, improving the accuracy and efficiency of data operations.
[0114] In one embodiment, the process of displaying a field node in a node sub-region includes the following steps: displaying the field node in the node sub-region according to a first display style; the display of the above-mentioned data lineage further includes the following steps: displaying the data table fields associated with the table node in a second field sub-region according to a second display style.
[0115] The first display style refers to the visual style configuration used to display field nodes, specifically including the shape, color, size, and border style of the field nodes. For example, field nodes can be displayed as circles, rectangles, or other shapes, and different colors or border styles can be used to distinguish different types of fields or display different states, such as highlighted, selected, or normal states. It should be noted that the first display style can be dynamically adjusted according to the importance of the field node in the lineage relationship or its current state to improve visualization and user interaction. In this embodiment, the first display style of the target field's field node can also be different from the first display styles of other field nodes. Other field nodes refer to all field nodes in the field-level lineage diagram except for the target field. These field nodes are distinguished by different visual styles to highlight the relationship between the target field and other fields. For example, the target field may be highlighted, while other field nodes are displayed using a normal style.
[0116] The second display style refers to the visual style configuration used to display the data table fields associated with the table nodes. Specifically, it includes the display method, arrangement order, and style settings of the data table fields. For example, data table fields can be displayed in list or table format and differentiated by setting font, color, size, and other styles. It can be understood that the second display style can be adjusted according to the field category, data type, or user operation needs to clearly display the associated data table fields within the second field sub-area.
[0117] It should be noted that in this embodiment of the application, the first display style and the second display style can be different to distinguish between field nodes and data table fields, thereby improving the visual hierarchy of information and enabling users to intuitively distinguish between field nodes and data table fields.
[0118] Specifically, when displaying a table-level lineage diagram, the terminal can first determine the first display style corresponding to each field node. Based on the arrangement and lineage of the field nodes, the field nodes are displayed in the field area according to the first display style. Then, the data table fields associated with the table nodes are displayed according to the second display style. In the second field sub-area, the terminal uses the second display style to display the fields and adjusts the display method and layout according to the number and type of fields and user interaction needs.
[0119] In the above embodiments, the terminal displays field nodes in a first display style in the node sub-area and data table fields associated with table nodes in a second display style in the second field sub-area. This clearly distinguishes between field nodes and data table fields associated with table nodes, allowing users to intuitively identify the relationship between target fields and other fields, and facilitating the analysis of data flow and dependency paths. Through different display styles, the terminal can provide a clearer and more visually hierarchical display based on the importance, type, and data dependencies of fields, improving the operability and visualization effect of data lineage analysis.
[0120] In one embodiment, a table-level lineage graph includes table nodes and table-level connecting edges. The process of a terminal displaying the table-level lineage graph of a target data table includes the following steps: in response to a lineage display operation for the target data table, determining the data tables used to participate in the generation of the lineage graph and the table-level dependencies between the data tables; determining the lineage level to which each data table belongs based on the table-level dependencies; determining the table node region position corresponding to each data table based on a preset table node region size and the lineage level to which the data table belongs; displaying the data table nodes corresponding to each data table based on the preset table node region size and table node region position; and displaying table-level connecting edges between table nodes at different lineage levels based on the table-level dependencies.
[0121] Among them, the bloodline display operation refers to the operation triggered on the data management page to request the display of the bloodline relationship of the target data table. The bloodline display operation can include the click operation on the target data table, the menu selection operation, the bloodline viewing command, or other user operations used to trigger the display of bloodline relationship.
[0122] Table-level dependencies refer to the relationships formed between data tables during data generation, processing, or transfer. They indicate that data in one table originates from another, or that data in one table is used to generate, update, or calculate data in another. For example, data table 1 includes X, data table 2 includes YY, and data table 3 includes ZZ. YY in data table 2 is generated by processing data from X in data table 1, and ZZ in data table 3 is generated by further calculations based on YY in data table 2. Therefore, the data dependency relationship among these three data tables is that data table 2 depends on data table 1, and data table 3 depends on data table 2, forming a table-level lineage relationship from data table 1 to data table 2, and then from data table 2 to data table 3.
[0123] The lineage hierarchy refers to the hierarchical relationship obtained by dividing the relative positions of each data table in the data flow path based on the table-level dependencies between data tables. It is used to characterize the upstream, middle, or downstream position of a data table in the lineage relationship. In other words, the target data table corresponds to the middle level. For example, if the data dependencies of data tables 1, 2, and 3 are: data table 2 depends on data table 1, and data table 3 depends on data table 2, then the lineage hierarchy of data table 1 is the upstream level, the lineage hierarchy of data table 2 is the middle level, and the lineage hierarchy of data table 3 is the downstream level. If the data dependencies of data tables 1, 2, 3, 4, and 5 are: data table 1 depends on data table 4, data table 2 depends on data table 1, data table 3 depends on data table 2, and data table 5 depends on data table 3, then the lineage hierarchy of data table 1 is upstream, data table 2 is middle, and data table 3 is downstream. When used as the target data table, the lineage of each data table in the data flow path can be determined according to the table-level dependencies between the data tables as follows: Data table 4 is located two levels upstream of the target data table 2, corresponding to the second level of the upstream lineage; Data table 1 is located one level upstream of the target data table 2, corresponding to the first level of the upstream lineage; Data table 2 is the target data table, corresponding to the middle level of the lineage; Data table 3 is located one level downstream of the target data table 2, corresponding to the first level of the downstream lineage; and Data table 5 is located two levels downstream of the target data table 2, corresponding to the second level of the downstream lineage.
[0124] The preset table node area size refers to the area size used to display table nodes. Specifically, it is the space size set in advance to display each data table node. It can be understood that the preset table node area size can be set according to the display requirements of the data table nodes, the complexity of the content, and the overall design of the page layout, and ensure that each table node can be clearly displayed to avoid overlapping with other nodes.
[0125] The table node location refers to the specific coordinates of each table node displayed in the table-level lineage diagram.
[0126] Table-level join edges are lines that connect different table nodes, representing the dependencies between data tables. Specifically, table-level join edges can be used to indicate that the data in one data table comes from another data table, or that the data in one data table is used to generate, update, or calculate another data table. Table-level join edges can be displayed in the form of lines, and different colors, styles, or arrows can be used to distinguish the direction of data flow and dependencies.
[0127] Specifically, in response to the user's triggering of the lineage display operation on the data management page, the terminal determines the data tables used to generate the relationship graph and the table-level dependencies between these data tables. Based on the table-level dependencies, it analyzes the lineage hierarchy between each data table. For any given data table, based on the preset table node area size and the lineage hierarchy to which the data table belongs, it determines the position of the corresponding table node area. Based on the position of the corresponding table node area and the preset table node area size, it displays the corresponding table node. The above process is performed for each data table to ensure that all data table nodes are correctly displayed in the appropriate position according to their lineage hierarchy. Then, based on the table-level dependencies, table-level connection edges are drawn between table nodes at different lineage hierarchies to represent the dependencies between data tables and the data flow path.
[0128] In the above embodiments, the terminal, in response to the lineage display operation for the target data table, determines the data tables used to participate in the generation of the relationship graph and the table-level dependencies between the data tables. Based on the table-level dependencies, it determines the lineage level of each data table. Based on the preset table node area size and the lineage level of the data table, it determines the position of the table node area corresponding to each data table. Based on the preset table node area size and the position of the table node area, it displays the data table nodes corresponding to each data table. Based on the table-level dependencies, it displays table-level connection edges between table nodes at different lineage levels, thereby realizing a clear visualization of the lineage relationship between the target data table and related data tables. By using the table-level dependencies and lineage levels, the terminal can accurately locate the display position of each data table in the relationship graph, ensuring that all table nodes are arranged according to their upstream, intermediate, and downstream levels in the data flow path. At the same time, by drawing table-level connection edges between table nodes at different lineage levels, the dependencies between each data table and the data flow path are clearly represented, greatly improving the visualization effect and operational efficiency of data management and analysis.
[0129] In one embodiment, the process by which the terminal determines the location of the table node region corresponding to each data table based on a preset table node region size and the lineage level to which the data table belongs specifically includes the following steps: determining the target lineage level to be sorted; sorting the data tables belonging to the target lineage level according to the target sorting mode to obtain the sorting result of the data tables corresponding to the target lineage level; and determining the location of the table node region corresponding to each data table in the target lineage level based on the preset table node region size, the target lineage level to which the data table belongs, and the sorting result of the data tables in the target lineage level.
[0130] The target lineage level to be sorted refers to the specific lineage level to be sorted in the data lineage diagram. Specifically, it can correspond to more than two data tables. For example, if there are three data tables in the downstream layer 1 that have dependencies on the target data table, then these data tables need to be sorted according to the specified sorting rules.
[0131] The target sorting pattern refers to the rules used to determine the sorting dimensions and sorting direction during the data table sorting process. Sorting dimensions refer to the data table attributes or characteristics used for comparison during sorting, such as the table name, creation time, number of fields, asset rating, etc. The sorting dimensions determine the criteria for sorting, helping the system identify which features need to be used to sort the data tables. Sorting direction refers to the direction in which the data tables are arranged during the sorting process. Sorting direction can be divided into ascending and descending order. Ascending order sorts the data tables in ascending order (e.g., from smallest to largest, from earliest to newest), while descending order sorts them in descending order (e.g., from largest to smallest, from newest to earliest). The choice of sorting direction determines the display order of the data tables in the chart.
[0132] It is understood that in the embodiments of this application, the target sorting mode can be a pre-set default sorting mode or a sorting mode specified by the user. For example, before triggering the display operation of the lineage relationship of the target data table, the user can first select the desired sorting mode on the data management page or settings interface. For example, the user can choose to sort by different dimensions such as the number of fields, table name, and data update time.
[0133] Specifically, the terminal obtains the number of data tables corresponding to each lineage level and compares the number of data tables with a preset number threshold. When the number of data tables reaches the threshold, the lineage level is determined as the target lineage level to be sorted. For any target lineage level, the data tables of the target lineage level are sorted according to the target sorting mode to obtain the sorting result of the data tables corresponding to the target lineage level. Based on the data table sorting result and the preset table node area size, the display position of the table node corresponding to each data table in the lineage level is determined, that is, the table node area position of each data table. Each data table node is displayed in the table-level lineage relationship diagram and rendered according to the determined area position and size to ensure that all data table nodes are displayed in the sorting order to form a clear lineage relationship diagram.
[0134] In the above embodiments, the terminal determines the target lineage level to be sorted, sorts the data tables belonging to the target lineage level according to the target sorting mode, and obtains the sorting result of the data tables corresponding to the target lineage level. Based on the preset table node area size, the target lineage level to which the data table belongs, and the sorting result of the data tables in the target lineage level, the terminal determines the position of the table node area corresponding to each data table in the target lineage level, thereby ensuring that each data table in the target lineage level is displayed in a reasonable order in the table-level lineage relationship diagram. By sorting the data tables according to the target sorting mode, the position of each data table node can be accurately arranged, ensuring the clarity and readability of the diagram. In addition, based on the preset table node area size and lineage level information, the correct display position of the table nodes of each data table in the diagram can be ensured, making the dependencies between data tables and the data flow path more intuitive and easy to understand.
[0135] In one embodiment, the process of the terminal sorting the data tables belonging to the target lineage level according to the target sorting mode to obtain the sorting results of the data tables corresponding to each lineage level specifically includes the following steps: determining the sorting dimension and sorting direction corresponding to the target sorting mode; obtaining the sorting index value corresponding to the data tables belonging to the target lineage level based on the sorting dimension; and sorting the data tables belonging to the target lineage level based on the sorting index value in the sorting direction to obtain the sorting results of the data tables corresponding to the target lineage level.
[0136] Among them, the sorting index value refers to the numerical value or identifier used as the basis for comparison and sorting during the data table sorting process. The sorting index value is a characteristic value representing the corresponding data table, which may be the name of the data table, the number of fields, the update time, the asset score of the data table, etc.
[0137] The data table sorting result refers to the arrangement order of data tables after sorting them according to the target sorting pattern. Specifically, the data table sorting result is a set of sorted data tables, which are arranged in order according to the preset sorting dimensions and sorting direction, and the position of each data table in the graph is determined by this result.
[0138] Specifically, the terminal determines the sorting dimension and sorting direction corresponding to the target sorting mode. For any target lineage level, based on the selected sorting dimension, it obtains the sorting index value corresponding to the data table belonging to that target lineage level. For example, if the sorting dimension is the number of fields, the terminal will extract the number of fields in each data table and use it as the sorting index value. If the sorting dimension is the update time, the terminal will obtain the last update time of each data table and use it as the sorting index value. In the selected sorting direction (ascending or descending), the data tables belonging to the target lineage level are sorted based on the sorting index value to obtain the sorting results of the data tables corresponding to each lineage level. For example, in ascending sorting mode, the terminal will arrange the data tables according to the size of the sorting index value to ensure that the data tables are displayed in ascending order. By performing the above sorting operation on each target lineage level, the sorting results of the data tables corresponding to each target lineage level can be obtained.
[0139] In the above embodiments, the terminal determines the sorting dimension and sorting direction corresponding to the target sorting mode. Based on the sorting dimension, it obtains the sorting index value corresponding to the data table belonging to the target lineage level. In the sorting direction, it sorts the data table belonging to the target lineage level based on the sorting index value, thereby obtaining the sorting result of the data table corresponding to the target lineage level. This achieves accurate sorting of the data table in the target lineage level, ensuring that each data table in the lineage diagram is correctly displayed according to the preset sorting dimension and sorting direction. By obtaining the sorting index value according to the sorting dimension (such as the number of fields, update time, etc.), the terminal can flexibly adjust the display order, ensuring that users can intuitively view the dependencies between data tables. At the same time, the terminal optimizes the arrangement of data tables according to the sorting result, improving the readability and interactive experience of the graph, and providing strong support for subsequent data analysis and relationship presentation.
[0140] In one embodiment, the above method for displaying data lineage relationships further includes the following steps: when the number of target lineage levels reaches a preset threshold, at least two worker threads are activated; the sorting tasks corresponding to the target lineage levels are assigned to at least two worker threads respectively; and the sorting tasks corresponding to each worker thread are processed in parallel by at least two worker threads.
[0141] The preset threshold is a standard used to determine whether to enable parallel processing during the data table sorting process. When the number of target lineage levels reaches or exceeds this threshold, the terminal will activate at least two worker threads to accelerate the sorting task. For example, assuming there are four target lineage levels to be sorted, the terminal will activate two worker threads, each assigned to handle the sorting tasks for two target lineage levels. In this way, the terminal can improve the efficiency of data sorting through parallel processing, especially when the data volume is large or the number of lineage levels is large, effectively shortening the processing time.
[0142] A worker thread is an independent execution unit that performs a specific task during computer processing. Worker threads run in a multi-threaded environment and are used to process the tasks assigned to them. In this embodiment, worker threads are responsible for performing data table sorting tasks, especially in parallel processing mode, where each worker thread independently processes sorting tasks at one or more target lineage levels.
[0143] A sorting task refers to the operation or series of operations performed on a data table during data processing. Specifically, a sorting task includes all steps of sorting a data table according to predetermined sorting dimensions (such as table name, number of fields, update time, etc.) and sorting direction (ascending or descending). Each sorting task involves extracting sorting metric values, comparing the sorting metric values of the data tables and determining their order, and finally outputting the sorted order of the data tables.
[0144] Parallel processing refers to a processing method in a computer system where multiple tasks are executed simultaneously. Specifically, multiple worker threads or processing units process different data or operations concurrently, thereby accelerating the completion of the overall task. In this embodiment, parallel processing means assigning the sorting task to multiple worker threads, with each worker thread independently processing a portion of the data table sorting task and performing calculations simultaneously.
[0145] Specifically, the terminal determines the number of target lineage levels and compares it with a preset threshold. When the number of target lineage levels reaches or exceeds the preset threshold, at least two worker threads are activated. The sorting tasks of the target lineage levels to be sorted are evenly distributed to these two worker threads. Each worker thread is responsible for processing the sorting task of at least one target lineage level. Through parallel processing, multiple worker threads perform sorting operations simultaneously. Each worker thread independently processes the data table sorting task assigned to it. By calculating the sorting index value and sorting the data table according to the sorting direction (ascending or descending), the sorting results of the data table corresponding to each target lineage level are finally generated.
[0146] In the above embodiments, when the number of target lineage levels reaches a preset threshold, the terminal activates at least two worker threads to assign the sorting tasks corresponding to the target lineage levels to at least two worker threads respectively. By having at least two worker threads process their respective sorting tasks in parallel, the processing efficiency of data table sorting is significantly improved, especially when the number of target lineage levels is large. By assigning sorting tasks to multiple worker threads for parallel execution, the terminal can process multiple tasks simultaneously, thereby shortening the overall sorting process execution time and ensuring that the sorting of a large number of data tables is completed in a short time. Finally, the terminal can generate the sorted data table results with higher efficiency and accurately display them in the lineage diagram, providing a clear view of data flow and helping users to understand and analyze the dependencies between data tables more quickly.
[0147] In one embodiment, the location of a table node region includes the horizontal coordinate and the vertical coordinate of the table node. The process by which the terminal determines the location of the table node region corresponding to each data table based on the preset table node region size, the lineage level to which the data table belongs, and the sorting results of the data tables at each lineage level specifically includes the following steps: determining the horizontal coordinate of the table node corresponding to the data table based on the preset table node region size and the lineage level to which the data table belongs; determining the vertical coordinate of the table node corresponding to the data table based on the preset table node region size and the sorting results of the data tables at each lineage level.
[0148] The horizontal coordinate of a table node refers to its position coordinates in the horizontal direction within the data lineage diagram. In other words, the horizontal coordinate of a table node determines its display position in the horizontal direction.
[0149] The y-coordinate of a table node refers to its vertical position in the data lineage diagram. In other words, the y-coordinate of a table node determines its vertical display position.
[0150] Specifically, the terminal calculates the horizontal coordinate of each data table based on the preset table node area size and the lineage level to which the data table belongs. For example, when analyzing the lineage level of each data table (e.g., upstream, middle, or downstream level), the terminal determines the relative position of the data table in the horizontal direction based on its pre-selected level and the width of the preset table node area. For example, for upstream level data tables, the terminal will display them on the left side of the graph, while middle level data tables will be displayed in the middle of the graph, and so on, with downstream level data tables displayed on the right side of the graph. For any lineage level, the terminal determines the vertical coordinate of each data table in that lineage level based on the preset table node area size and the sorting result of the data tables in that lineage level. For example, the terminal determines the relative position of the data table in the vertical direction based on the sorting result of the data table in that level and the height of the preset table node area. For example, data tables with higher sorting results will be displayed in higher positions, while data tables with lower sorting results will be displayed in lower positions.
[0151] In the above embodiments, the terminal determines the horizontal coordinate of the table node corresponding to the data table based on the preset table node area size and the lineage level to which the data table belongs. Based on the preset table node area size and the sorting results of the data tables at each lineage level, it determines the vertical coordinate of the table node corresponding to the data table, thereby ensuring that the display position of the data tables in the table-level lineage diagram is reasonable and clear. The terminal calculates and determines the horizontal position of the data table according to its lineage level, distributing data tables of different levels in different areas of the diagram (e.g., upstream levels on the left, middle levels in the middle, and downstream levels on the right). Simultaneously, the terminal sorts the data tables vertically based on the sorting results, ensuring that data tables with higher sorting are located at the top and data tables with lower sorting are located at the bottom. In this way, the terminal reasonably arranges the positions of each data table in the lineage diagram, making the dependencies between data tables more intuitive. Users can easily view the data flow path and data dependency levels, improving the efficiency of data analysis and visualization.
[0152] In one embodiment, the process by which the terminal determines the ordinate of the table node corresponding to a data table based on a preset table node area size and the data table sorting results of each lineage level specifically includes the following steps: determining the lineage level to be adjusted; generating the initial ordinate of each table node in the lineage level to be adjusted; traversing the initial ordinate of each data table in the lineage level to be adjusted sequentially according to the data table sorting results of the lineage level to be adjusted, until all data tables in the lineage level to be adjusted have been traversed; during the traversal process, determining the coordinate difference between the initial ordinate of the traversed data table and the ordinate of the table node of the previous data table in real time; and adjusting the initial ordinate of the traversed data table based on the preset table node area size and coordinate difference to obtain the ordinate of the table node of the traversed data table.
[0153] Among them, the bloodline level to be adjusted refers to the bloodline level that currently needs to be calculated and adjusted for the vertical axis of the data table.
[0154] The initial y-coordinate of a table node refers to the preliminary vertical position coordinate of the data table in the lineage diagram. Specifically, the initial y-coordinate can be determined based on the sorting order of the data tables and the division of the lineage hierarchy, and is initially assigned to each data table. For example, for the first data table in the lineage hierarchy to be adjusted, its y-coordinate is set to a preset initial value, such as zero or a standard starting position. Then, based on this initial value, the initial y-coordinate of the second data table is calculated according to a preset difference (i.e., the vertical spacing between each data table). This process continues, calculating the initial y-coordinate for each data table in the lineage hierarchy to be adjusted.
[0155] Traversal refers to processing each data table in the lineage hierarchy to be adjusted sequentially, checking or adjusting the y-coordinate of each data table during the process. Specifically, traversal means starting from the first data table in the lineage hierarchy to be adjusted, checking the initial y-coordinate of each data table one by one, and comparing and adjusting it with the y-coordinate of the previous data table, until the y-coordinate calculation of all data tables is completed.
[0156] The data table being traversed refers to the specific data table currently being processed during the traversal process. In the lineage hierarchy to be adjusted, the data tables will be processed sequentially according to the sorting rules, and each data table will be "traversed". When the terminal traverses a certain data table, it will check the coordinate difference between the initial y-coordinate of the data table and the y-coordinate of the previous data table.
[0157] The previous data table refers to the data table that precedes the one currently being processed during the traversal process. In other words, the previous data table is the one that ranks before the current data table in the bloodline hierarchy sorting to be adjusted. Its y-coordinate has been calculated and determined. The y-coordinate of the current data table will be adjusted based on the difference between the y-coordinate of the previous data table to ensure that the data tables are not overlapped in the vertical direction and conform to the sorting rules.
[0158] The coordinate difference refers to the vertical distance between the initial y-coordinate of the current data table and the y-coordinate of the previous data table during traversal. This coordinate difference is used to calculate and adjust the y-coordinate of the current data table to ensure that the data tables have appropriate spacing in the vertical arrangement of the graph, avoid overlap, and maintain visual neatness.
[0159] Specifically, the terminal determines the adjusted lineage hierarchy for which the ordinate calculation is to be performed, and generates initial ordinates for each data table in the adjusted lineage hierarchy. This is done by allocating ordinates based on the sorting results of the data tables and the height of the preset table node area, thus obtaining the initial ordinates for each data table. The terminal iterates through each data table in the adjusted lineage hierarchy according to the sorting results. During the traversal, the terminal calculates and determines the coordinate difference between the initial ordinate of the currently traversed data table and the ordinate of the previous data table in real time, and compares this coordinate difference with the preset minimum spacing. If the coordinate difference is less than the preset minimum spacing, the ordinate of the current data table is adjusted according to the preset table node area size to ensure sufficient space between the two data tables. If the coordinate difference is greater than the preset minimum spacing, the coordinate difference is compared with the preset maximum spacing. If the coordinate difference exceeds the maximum spacing, the ordinate of the table node of the current data table is adjusted according to the maximum spacing to ensure that the vertical spacing between data tables is not too large, maintaining the aesthetics of the layout and the clarity of the structure.
[0160] In the above embodiments, the terminal determines the lineage hierarchy to be adjusted, generates the initial ordinate of each table node in the lineage hierarchy, and sequentially traverses the initial ordinate of each data table in the lineage hierarchy according to the data table sorting result, until all data tables in the lineage hierarchy are traversed. During the traversal, the coordinate difference between the initial ordinate of the traversed data table and the ordinate of the table node of the previous data table is determined in real time. Based on the preset table node area size and coordinate difference, the initial ordinate of the traversed data table is adjusted to obtain the table of the traversed data table. The vertical coordinates of nodes are used to ensure the reasonable vertical arrangement of data tables in the lineage hierarchy to be adjusted in the lineage diagram. By adjusting the vertical coordinates of each data table, the terminal ensures that there is enough space between the data tables to avoid overlap and meet the preset layout requirements. By adjusting the vertical coordinates of each data table, the terminal can dynamically optimize the position of the data tables, making the graphical display clearer and more aesthetically pleasing. Finally, all data tables in the lineage diagram will be arranged according to the lineage hierarchy and sorting results, according to the appropriate vertical coordinates, ensuring that users can accurately and intuitively view the dependencies between the data tables.
[0161] In one embodiment, the process of displaying the data table fields associated with a table node at the corresponding position of a table node in a table-level lineage graph includes the following steps: performing a first adjustment process on the display position of the table node at the target sorting position in the target lineage hierarchy of the table-level lineage graph to obtain a first updated table-level lineage graph; and displaying the data table fields associated with the table node at the corresponding position of the table node in the first updated table-level lineage graph.
[0162] The first adjustment process refers to the process of adjusting the position of a specific table node in the target lineage hierarchy within the table-level lineage diagram. In this embodiment, the first adjustment process mainly optimizes the vertical coordinate of the table nodes. By adjusting the vertical coordinate of the data table nodes, sufficient space is ensured between table nodes that are ranked higher and those that are ranked lower. This prevents the data table fields of table nodes ranked higher from obscuring those ranked lower, ensuring that all table nodes and their associated data fields are clearly and completely displayed in the diagram, while improving the readability of the data lineage diagram and the user experience.
[0163] The target sort position refers to the sort position of the table node that needs to be adjusted in the table-level lineage graph. Specifically, the target sort position can be the second position or a position thereafter. For example, if the three sorted nodes corresponding to a certain lineage level are table node A, table node B, and table node C, then to prevent table node A's data fields from obscuring table node B, and to prevent table node B's data fields from obscuring table node C, the ordinates of table nodes B and C need to be adjusted.
[0164] Specifically, in response to the display mode switching operation, the terminal determines the table node at the target sorting position in the target lineage hierarchy, obtains the size of the first information viewing area corresponding to each table node in the target lineage hierarchy, and for any table node, accumulates the size of the first information viewing area corresponding to that table node with a preset table node area size to obtain the accumulated area size. This process is repeated for each table node to obtain the accumulated area size for each table node. Specifically, this can be achieved by accumulating the height of the first information viewing area corresponding to the table node with the height of the preset table node area (the height of the area displaying the table node itself) to obtain the accumulated area height. Based on the above calculation method... The cumulative region height is calculated for each table node in turn. Then, based on the cumulative region height of the previous table node in the sorting position, the ordinate of the current table node is adjusted to obtain the first adjusted ordinate of the current table node. By performing the above process on each table node at the target sorting position, the first adjusted ordinate of each table node is obtained. Each table node is then redisplayed according to its first adjusted ordinate, thereby displaying the first updated table-level lineage diagram. At the corresponding position of the table node in the first updated table-level lineage diagram, the first information viewing area is displayed, and the data table fields associated with the table node are displayed in the first information viewing area.
[0165] In one embodiment, the terminal can sequentially traverse the ordinates of the nodes of each data table in the target lineage hierarchy according to the sorting results of the data tables in the target lineage hierarchy, until all data tables in the target lineage hierarchy have been traversed. During the traversal, the coordinate difference between the ordinate of the node of the traversed data table and the adjusted ordinate of the node of the previous data table is determined in real time. Based on the cumulative area height of the node of the previous table and the coordinate difference, the ordinate of the node of the traversed data table is adjusted for the first time to obtain the first adjusted ordinate of the node of the traversed data table.
[0166] Specifically, the terminal will combine the accumulated area height of the previous table node with the current coordinate difference to adjust the vertical coordinate of the current table node, ensuring that the two table nodes maintain a reasonable vertical spacing and avoiding overlap or excessive spacing.
[0167] In the above embodiments, the terminal performs a first adjustment process on the display position of the table node at the target sorting position in the target lineage hierarchy of the table-level lineage relationship graph to obtain a first updated table-level lineage relationship graph. At the corresponding position of the table node in the first updated table-level lineage relationship graph, the data table field associated with the table node is displayed, ensuring that the display position of each table node in the lineage hierarchy is optimized and adjusted according to its sorting order, thereby avoiding node overlap in the graph and ensuring that the data table field has enough space to be displayed.
[0168] In one embodiment, the process of displaying the field-level lineage graph corresponding to the target field on the terminal includes the following steps: performing a second adjustment process on the display position of the table node at the target sorting position in the target lineage hierarchy of the table-level lineage graph to obtain a second updated table-level lineage graph; and displaying the field-level lineage graph corresponding to the target field at the corresponding position of the table node in the second updated table-level lineage graph.
[0169] The second adjustment process refers to the process of adjusting the position of a specific table node in the target lineage hierarchy within the table-level lineage diagram. In this embodiment, the second adjustment process mainly optimizes the vertical coordinate of the table nodes. By adjusting the vertical coordinate of the corresponding table nodes, sufficient space is ensured between table nodes that are ranked higher and those that are ranked lower. This prevents the data table fields of table nodes ranked higher from obscuring those ranked lower, ensuring that all table nodes and their associated data fields are clearly and completely displayed in the diagram, while improving the readability of the data lineage diagram and the user experience.
[0170] The target sort position refers to the sort position of the table node that needs to be adjusted in the table-level lineage graph. Specifically, the target sort position can be the second position or a position thereafter. For example, if the three sorted nodes corresponding to a certain lineage level are table node A, table node B, and table node C, then to prevent table node A's data fields from obscuring table node B, and to prevent table node B's data fields from obscuring table node C, the ordinates of table nodes B and C need to be adjusted.
[0171] Specifically, in response to a trigger operation on a target field in a data table, the terminal determines the table node at the target sorting position in the target lineage hierarchy, obtains the size of the second information viewing area corresponding to each table node in the target lineage hierarchy, and for any table node, accumulates the second information viewing area size corresponding to that table node with a preset table node area size to obtain the accumulated area size. This process is repeated for each table node to obtain the accumulated area size for each table node. Specifically, this can be achieved by accumulating the height of the second information viewing area corresponding to the table node with the height of the preset table node area (the area height displaying the table node itself) to obtain the accumulated area height. The above calculation method calculates the corresponding cumulative region height for each table node in turn. Then, based on the cumulative region height of the previous table node in the sorting position, the ordinate of the current table node is adjusted a second time to obtain the second adjusted ordinate of the current table node. By performing the above processing on each table node in the target sorting position, the second adjusted ordinate of each table node is obtained. Each table node is then redisplayed according to its second adjusted ordinate, thereby displaying the second updated table-level lineage graph. A second information viewing area is displayed at the corresponding position of the table node in the second updated table-level lineage graph, and field nodes are displayed in the second information viewing area. Field-level connection edges are displayed between field nodes at different lineage levels.
[0172] In one embodiment, the terminal can sequentially traverse the ordinates of the nodes of each data table in the target lineage hierarchy according to the data table sorting results of the target lineage hierarchy, until all data tables in the target lineage hierarchy have been traversed; during the traversal process, the coordinate difference between the ordinate of the node of the traversed data table and the adjusted ordinate of the node of the previous data table is determined in real time, and based on the cumulative area height of the node of the previous table and the coordinate difference, the ordinate of the node of the traversed data table is adjusted a second time to obtain the second adjusted ordinate of the node of the traversed data table.
[0173] Specifically, the terminal will combine the accumulated area height of the previous table node with the current coordinate difference to adjust the vertical coordinate of the current table node, ensuring that the two table nodes maintain a reasonable vertical spacing and avoiding overlap or excessive spacing.
[0174] In the above embodiments, the terminal performs a second adjustment process on the display position of the table node at the target sorting position in the target lineage hierarchy of the table-level lineage graph to obtain a second updated table-level lineage graph. At the corresponding position of the table node in the second updated table-level lineage graph, the field-level lineage graph corresponding to the target field is displayed, thereby ensuring that the field-level lineage graph can be displayed in a clear and standardized position, and will not be affected by the display of other table nodes or field content. This ensures that the data flow relationship can be accurately expressed and enhances the convenience and accuracy for users when analyzing data lineage.
[0175] In one embodiment, the target lineage level in the table-level lineage graph corresponds to at least two table nodes, and the at least two table nodes are displayed according to a first sorting mode. The above-mentioned method for displaying data lineage further includes the following steps: in response to a sorting mode switching operation, displaying at least two table nodes according to a second sorting mode specified by the sorting mode switching operation.
[0176] The first sorting mode refers to the way table nodes are initially sorted in the data lineage graph. This sorting mode sorts the data table nodes according to certain preset rules or standards. The sorting standards may include dimensions such as the number of fields, update time, and data table name.
[0177] The sorting mode switching operation refers to the operation triggered in the data management interface, which instructs the system to switch the current sorting mode. This operation can be triggered by clicking a button, selecting a drop-down menu item, or other user interaction methods. The sorting mode switching operation is used to switch between different sorting dimensions, such as switching from sorting by the number of fields to sorting by update time, or other predefined sorting modes.
[0178] The second sorting mode refers to the new sorting rule applied to the data table nodes after a sorting mode switch operation is triggered. Unlike the first sorting mode, the second sorting mode may rearrange the positions of the data table nodes according to different sorting criteria or priorities.
[0179] Specifically, the terminal first sorts the table nodes in the target lineage hierarchy according to the first sorting mode. Based on preset sorting criteria (such as the number of fields, update time, etc.), it determines the position of each data table node in the lineage graph. According to the sorting results, at least two table nodes are displayed in the table-level lineage graph in sequence. When the terminal detects that the user has triggered a sorting mode switching operation, it obtains the second sorting mode specified by the user and re-sorts the table nodes in the target lineage hierarchy according to the sorting rules of the second sorting mode. That is, it recalculates the position of each data table node according to the new sorting criteria (such as the data table's dependency relationship or priority). In the second sorting mode, the terminal displays the sorted table nodes in the graph according to the new position, ensuring that the data table nodes in the graph are presented according to the sorting mode selected by the user, thus meeting the user's visualization needs for data flow paths or dependencies.
[0180] In the above embodiments, the target lineage level in the table-level lineage graph corresponds to at least two table nodes. These at least two table nodes are displayed according to a first sorting mode. The terminal responds to the sorting mode switching operation and displays the at least two table nodes according to the second sorting mode specified by the sorting mode switching operation. This allows the terminal to flexibly adjust the display order of the data tables according to the user's needs and operations, providing a more intuitive data lineage display. By responding to the sorting mode switching operation, the terminal can achieve dynamic updates under different sorting modes, ensuring that users can reorder and display table nodes according to different data dimensions (such as the number of fields, update time, dependencies, etc.). This dynamic adjustment function enhances the interactivity and visualization effect of the lineage graph. Users can quickly switch and view the dependencies between data tables, thereby gaining a clearer understanding of the data flow path and the association between data tables.
[0181] In one embodiment, the above-mentioned method for displaying data lineage relationships further includes the following steps: in response to a node filtering operation triggered based on node filtering conditions, determining table nodes in the table-level lineage relationship graph that meet the node filtering conditions; and updating and displaying the table-level lineage relationship graph based on the selected table nodes.
[0182] In this context, node filtering criteria refer to the conditions used in the data lineage graph to determine which table nodes need to be filtered out. These criteria can be based on different dimensions, such as the type of data table, the number of fields, the update time, dependencies, and the status of the data table. It should be noted that node filtering criteria can be user-defined or system-preset. For example, filtering out all upstream level data tables or filtering out table nodes with more than a certain threshold of fields.
[0183] Node filtering operations refer to operations performed in the data management interface to activate and apply node filtering conditions. Node filtering operations can be triggered by clicking a button, selecting a filter, entering filtering conditions, or through other interactive methods.
[0184] Update display refers to the real-time updating and re-display of the table-level lineage diagram after the table nodes that meet the filtering conditions are selected. The updated display may include: adding new table nodes, removing table nodes that do not meet the filtering conditions, or readjusting the order of table nodes.
[0185] Specifically, in response to a node filtering operation, the terminal determines the corresponding node filtering conditions. Based on these conditions, it filters out table nodes that meet the criteria from each table, and removes those that do not meet the conditions from the original data graph. If the condition is that the number of fields in a data table exceeds a certain threshold, the terminal will traverse all data table nodes, find nodes with more than the threshold, and retain them in the lineage graph. Other nodes are removed or hidden. The table-level lineage graph is updated based on the filtering results to ensure that only table nodes that meet the filtering conditions are displayed. Understandably, the terminal will also rearrange the filtered table nodes, adjusting their positions and order, so that the lineage graph presents a clear, concise data table dependency graph that meets the filtering conditions.
[0186] In the above embodiments, the terminal determines the table nodes in the table-level lineage graph that meet the node filtering conditions by responding to a node filtering operation triggered based on node filtering conditions. Based on the selected table nodes, the terminal updates and displays the table-level lineage graph. Thus, the terminal can dynamically update the data lineage graph according to the user's filtering needs. By responding to the node filtering operation and applying the node filtering conditions, the terminal adjusts the table nodes in the graph to only display data tables that meet the filtering conditions, thereby reducing cluttered information in the graph. In this way, users can focus on the data tables they are interested in and their related lineage relationships, while improving the readability and interactivity of the graph.
[0187] In one embodiment, the above-mentioned method for displaying bloodline relationships further includes the following steps: in response to a target display mode selection operation, displaying a bloodline relationship diagram that matches the target display mode.
[0188] The target display mode refers to the user-selected display method of the data lineage diagram. Specifically, it can include table-level display mode, field-level display mode, and field-lineage-level display mode (also known as a hybrid display mode). Table-level display mode shows the dependencies between data tables; in this mode, data tables are displayed as nodes in the lineage diagram, and the edges connecting the nodes represent the dependencies between tables. Field-level display mode shows the dependencies between data tables and the data fields of each table. In this mode, data tables are displayed as nodes in the lineage diagram, and the edges connecting the nodes represent the dependencies between them. Edges represent dependencies between tables, and the data fields of each table are also displayed in the corresponding positions of their respective table nodes. The field lineage display mode refers to the mode that displays the dependencies between various data tables, the data fields of each data table, and the dependencies between data field fields within a data table. In this mode of the lineage graph, data tables are displayed as table nodes, and the connecting edges between table nodes represent the dependencies between tables. At the same time, the fields of each data table are also displayed in the corresponding positions of their respective table nodes. The target field and the associated fields of the target field in the data table are displayed as field nodes, and the connecting edges between field nodes represent the dependencies between fields.
[0189] Specifically, in response to the user's selection of a target display mode triggered on the data management page, the terminal determines the user-selected target display mode (e.g., table-level display mode, field-level display mode, or field lineage-level display mode). Based on the selected mode, the terminal acquires all the data required for the data lineage graph matching the target display mode. Based on the acquired data, the terminal determines the position of each element to be displayed in the lineage graph matching the target display mode and displays each element according to the determined position. For example, in table-level display mode, the data lineage graph displayed by the terminal will use data tables as nodes, and the connecting edges between nodes represent the dependencies between tables. In field-level display mode, the terminal displays the fields of each table in addition to the table-level dependencies, and the connecting edges between nodes not only represent the dependencies between tables but also the field-level dependencies. In field lineage-level display mode, the data graph displayed by the terminal will simultaneously display the dependencies between tables and the fields of each data table and the dependencies between fields.
[0190] In the above embodiments, the terminal displays a lineage diagram matching the target display mode in response to the target display mode selection operation. This allows users to view data lineage relationships according to different display needs. Users can choose table-level display mode, field-level display mode, or field lineage-level display mode. The terminal displays the corresponding lineage diagram according to the selected mode, helping users understand the dependencies between data tables and their fields at different granularities. This not only improves the readability of the data lineage diagram but also allows users to explore data sources, data processing flows, and field dependencies more flexibly, providing more efficient support for data governance and analysis.
[0191] The above embodiments will be described with reference to the following examples. Figure 8 The flowchart shown specifically includes the following steps:
[0192] 1. Obtain basic information about the data table.
[0193] The process involves retrieving the target data table and related data tables, and counting the number of fields in each table and the number of related fields in each table (also known as the number of highlighted fields). The height and width of the table node headers are used to provide the foundational data for subsequent calculations. Through this process, the terminal can obtain the basic attributes of each table node and prepare the necessary parameters for subsequent calculations.
[0194] 2. Check if the data table has fields.
[0195] First, check if the data table contains any fields. If the data table has no fields, directly return the header height, width, and empty join stub configuration of the table node, without further calculations. This is the algorithm's fast exit condition, avoiding unnecessary computation.
[0196] 3. Check the display mode and lineage level.
[0197] Determining the current display mode (table-level, field-level, or field-lineage-level) and the table's hierarchy within the lineage (used to determine whether the table corresponds to a primary or secondary node) will affect subsequent height and position calculations. Different display modes and lineage levels will have different impacts on how nodes are displayed, thus affecting the calculation results.
[0198] 4. Calculate the total height of the display area.
[0199] When a data table has fields and is not displayed in table-level mode, it is necessary to calculate the total height of the display area corresponding to the data table. Specifically, this includes:
[0200] Calculate the height of each area: Specifically, you can calculate the display area height corresponding to the highlighted field area, the full field list area, the search area, the separator line, etc.
[0201] Depending on the display mode, there are different ways to combine field-level display mode or field lineage-level display mode.
[0202] Adjustments based on data table type: The field display methods of the target data table and the related data table are different, requiring special handling.
[0203] 5. Calculate the Y-coordinate offset of the connecting pile.
[0204] When a data table has fields, it's necessary to calculate the vertical position of the connecting stubs within the field nodes. This includes: obtaining the size and constant values (inner margins, search area height, etc.) of the highlighted field area; determining the data field type (e.g., target field and related fields) and the calculation method for the field node height. The height of the target field node is calculated based on a single target field (highlighted field), while the height of the related field node is calculated based on multiple related fields (highlighted fields); and determining the Y-coordinate offset for each field to ensure the connecting stubs are positioned appropriately within the field area of the node.
[0205] 6. Create the configuration for the connecting piles on the left and right sides.
[0206] Based on the calculated Y-coordinate offset, create connecting stubs on the left and right sides of the field node. Specifically, the left connecting stub is located at a certain distance inward from the left edge of the field node; the right connecting stub is located at a certain distance inward from the right edge of the field node; configure the connecting stub style (circle, blue border, white fill) and magnetic snapping function.
[0207] 7. Return the results.
[0208] Returns the total height of the display area and the configuration objects for the connection stubs, which are then used by the graphics rendering engine. The engine uses these results to visualize the nodes (table nodes and field nodes), ensuring that the nodes and their connection stubs are positioned correctly and displayed appropriately within the graph.
[0209] Through the above process, the terminal realizes the collaborative calculation of the display area height and the position of the connecting stakes, supports the dynamic adjustment of different map modes and node types, and can efficiently and flexibly handle the field lineage visualization needs of nested layers.
[0210] In one embodiment, during the process of implementing a kinship diagram that matches the target display mode, to avoid overlapping display areas of different data tables, reference is made to... Figure 9 After determining the total height of the display area corresponding to each data table and the initial display position of the table nodes for each data table, the terminal uses the following de-overlapping algorithm to optimize the graph layout:
[0211] 1. Determine the data table corresponding to each bloodline level.
[0212] First, the terminal copies each data table to avoid modifying the original data. Then, based on the X-coordinate of the initial table node display position (representing the table's hierarchical position in the lineage relationship), all data tables are grouped, with tables having the same X-coordinate grouped into the same hierarchical group. This grouping process decomposes the large-scale atlas processing problem into multiple smaller problems, thereby improving processing efficiency.
[0213] 2. Determine if there is any overlap in the data tables corresponding to each bloodline level.
[0214] The data within each hierarchical group is processed to resolve node overlap issues. Specifically, this includes:
[0215] Traverse adjacent data table pairs: Check the vertical overlap of each pair of adjacent data tables (the previous data table and the current data table).
[0216] Calculate the minimum vertical spacing: the bottom position of the display area corresponding to the previous data table (Y coordinate plus table node height) plus a minimum spacing of 30 pixels.
[0217] Calculate the maximum vertical spacing: Dynamically determine the maximum spacing based on the display mode, such as 40 pixels for table-level display mode or 300 pixels for field lineage-level display mode, to avoid excessive node spacing affecting the aesthetic layout of the graph.
[0218] Adjust node positions: If the Y-coordinate of a table node's displayed position is less than the calculated minimum spacing, adjust it to the minimum spacing position; if the Y-coordinate of a table node's displayed position is greater than the calculated maximum spacing, adjust it to the maximum spacing position. This ensures that adjacent nodes do not overlap and that the spacing is within a reasonable range.
[0219] 3. Adjust the Y-coordinate of the table node display position in the overall data table.
[0220] After addressing the overlap issue, the terminal performs an overall position adjustment for each hierarchical group, specifically including:
[0221] Calculate the minimum Y-coordinate of the display position of the table nodes of all data tables in this hierarchical group (i.e., the position of the topmost node); calculate the overall offset to make the minimum Y-coordinate 60 pixels (the standard position from the top); add the calculated offset to the Y-coordinate of the display position of the table nodes of all data tables in this hierarchical group to ensure that the top node of each hierarchical group is located 60 pixels from the top, making the entire map layout more neat and beautiful.
[0222] 4. Return the array of nodes after de-overlapping.
[0223] Finally, the terminal flattens and merges the display positions of table nodes from all the processed data tables, returning a complete array of nodes. The overlapping issues of table nodes in this array have been resolved, and their positions have been optimized to ensure a reasonable layout of the data table display area.
[0224] This algorithm solves the display overlap problem in large-scale kinship maps (supporting 5000+ nodes) by adjusting the Y-coordinate of the table node display position, ensuring reasonable spacing between adjacent nodes (minimum 30 pixels, maximum 40 or 300 pixels depending on the mode), thus improving the readability and aesthetics of the map. By using a grouping processing method, the complex problem is decomposed into multiple simpler problems, further improving processing efficiency.
[0225] In one embodiment, during the process of displaying a lineage diagram that matches the target display mode, different data tables within the same lineage level can also be displayed according to different sorting modes, as shown in the reference. Figure 10 After determining the data tables corresponding to each bloodline level, and before resolving the issue of overlapping data tables across different bloodline levels, the terminal first sorts the data tables within each bloodline level. The specific sorting process is as follows:
[0226] 1. Determine the sorting mode type.
[0227] The terminal sorts the data table according to the sorting pattern specified by the user. Supported sorting patterns include:
[0228] Asset type sorting: Aggregate and sort the data tables according to asset type, grouping data tables of the same type together.
[0229] Asset Score Sorting: Sort by asset score in ascending order.
[0230] Sort by name: Sort the data tables in descending order.
[0231] 2. Obtain the ranking index value.
[0232] Extract sorting index values from the data table based on the sorting pattern. Specifically, this includes:
[0233] For sorting by asset type, obtain the asset type identifier of the data table; for sorting by asset score, obtain the asset score of the data table and convert it to a numeric type; for sorting by name, obtain the name of the data table.
[0234] 3. Perform sorting comparison.
[0235] Determine whether to enable Web Worker: When the number of data tables exceeds the threshold, the terminal enables Web Worker threads for parallel computation to avoid blocking the main thread.
[0236] Web Worker processing: If Workers are enabled, the sorting task is distributed to multiple threads for processing. Each Worker thread performs comparisons according to the sorting rules, and the sorting result is sent back to the main thread via postMessage.
[0237] Sorting Comparison: Sort the data table according to the sorting pattern and the sorting index values of the data table.
[0238] If Worker is not enabled, the sorting logic will be processed in the main thread.
[0239] 4. Return sorting results: After sorting is complete, the terminal will return the sorted data table array. The sorting results of all levels will be merged and displayed in the graph.
[0240] Through the above steps, the terminal can sort the data tables in the kinship diagram according to different sorting rules to ensure the orderliness and clarity of the diagram display.
[0241] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0242] Based on the same inventive concept, this application also provides a data lineage display device for implementing the data lineage display method described above. The solution provided by this device is similar to the implementation described in the above method; therefore, the specific limitations of one or more data lineage display device embodiments provided below can be found in the limitations of the data lineage display method described above, and will not be repeated here.
[0243] In one embodiment, such as Figure 11 As shown, a data lineage display device is provided, including: a table-level lineage display module 1102, a field display module 1104, and a field-level lineage display module 1106, wherein:
[0244] The table-level lineage display module 1102 is used to display the table-level lineage diagram of the target data table;
[0245] The field display module 1104 is used to display the data table fields associated with the table node at the corresponding position of the table node in the table-level lineage diagram in response to the display mode switching operation.
[0246] The field-level lineage display module 1106 is used to display the field-level lineage diagram corresponding to the target field in response to a trigger operation on the target field in the data table; the connecting edges between field nodes in the field-level lineage diagram are used to represent the lineage relationship between fields.
[0247] In the above embodiments, by displaying a table-level lineage diagram of the target data table, in response to a display mode switching operation, the data table fields associated with the table nodes are displayed at the corresponding positions of the table nodes in the table-level lineage diagram. This allows users to intuitively see the fields in each data table and quickly understand the role and relationships of the fields within the data table. In response to a trigger operation on a target field in the data table, a field-level lineage diagram corresponding to the target field is displayed. The connecting edges between field nodes in the field-level lineage diagram represent the lineage relationships between fields, allowing users to gain a deeper understanding of the transitive relationships and dependency chains between fields. This progressively deepening display method improves the hierarchy of data lineage analysis, making data governance, impact analysis, and problem investigation more efficient and intuitive.
[0248] In one embodiment, the field display module 1104 is further configured to: display a first information viewing area at the corresponding position of the table node in the table-level lineage diagram; the first information viewing area includes a first field sub-area and a first search sub-area; in the first field sub-area, display the data table field associated with the table node; in response to a search operation triggered in the first search sub-area, display the searched result field; the result field belongs to the data table field.
[0249] In one embodiment, the field display module 1104 is further configured to: obtain the data table field corresponding to the table node; determine the field sub-region size based on the number of data table fields; and display the first information viewing area at the corresponding position of the table node in the table-level lineage graph based on the field sub-region size and the preset search sub-region size.
[0250] In one embodiment, the field-level lineage graph includes field nodes and field-level connecting edges; the field-level lineage display module 1106 is further configured to: display a second information viewing area at the corresponding position of the table node in the table-level lineage graph; the second information viewing area includes a node sub-area; display field nodes in the node sub-area; and display field-level connecting edges between field nodes at different lineage levels.
[0251] In one embodiment, the field-level lineage display module 1106 is further configured to: determine the associated fields in the data table fields of the table node that have a field-level dependency relationship with the target field; determine the size of the node sub-region based on the number of associated fields; and display a second information viewing area at the corresponding position of the table node in the table-level lineage diagram according to the node position configuration information and the size of the node sub-region.
[0252] In one embodiment, the field-level lineage display module 1106 is further configured to: determine the node connection stake position of the field node based on the node sub-region size and node position configuration information; display the node connection stake corresponding to the field node based on the node connection stake position; determine the start point connection stake and the end point connection stake among the node connection stakes of adjacent lineage levels based on the field-level dependency relationship; and draw a field-level connection edge between the start point connection stake and the end point connection stake.
[0253] In one embodiment, the field-level lineage display module 1106 is further configured to: obtain the data table fields corresponding to the table nodes; determine the field sub-region size based on the number of data table fields; determine the second information viewing area size according to the node position configuration information, the node sub-region size, the field sub-region size, and the preset search sub-region size; and display the second information viewing area at the corresponding position of the table node in the table-level lineage diagram based on the node position configuration information and the second information viewing area size; the second information viewing area further includes a second field sub-region and a second search input area; the second field sub-region is used for displaying data table fields, and the second search input area is used for field searching.
[0254] In one embodiment, the field-level lineage display module 1106 is further configured to: display field nodes in a node sub-region according to a first display style; and display data table fields associated with table nodes in a second field sub-region according to a second display style.
[0255] In one embodiment, the table-level lineage graph includes table nodes and table-level connecting edges; the table-level lineage display module 1102 is further configured to: in response to a lineage display operation for a target data table, determine the data tables used to participate in the generation of the relationship graph and the table-level dependencies between the data tables; determine the lineage level to which each data table belongs based on the table-level dependencies; determine the table node region position corresponding to each data table based on a preset table node region size and the lineage level to which the data table belongs; display the data table nodes corresponding to each data table based on the preset table node region size and table node region position; and display table-level connecting edges between table nodes at different lineage levels based on the table-level dependencies.
[0256] In one embodiment, the table-level lineage display module 1102 is further configured to: determine the target lineage level to be sorted; sort the data tables belonging to the target lineage level according to the target sorting mode to obtain the data table sorting result corresponding to the target lineage level; and determine the table node area position corresponding to each data table in the target lineage level based on the preset table node area size, the target lineage level to which the data table belongs, and the data table sorting result of the target lineage level.
[0257] In one embodiment, the table-level lineage display module 1102 is further configured to: determine the sorting dimension and sorting direction corresponding to the target sorting mode; obtain the sorting index value corresponding to the data table belonging to the target lineage level based on the sorting dimension; and sort the data table belonging to the target lineage level based on the sorting index value in the sorting direction to obtain the data table sorting result corresponding to the target lineage level.
[0258] In one embodiment, the table-level lineage display module 1102 is further configured to: activate at least two worker threads when the number of target lineage levels reaches a preset number threshold; assign the sorting tasks corresponding to the target lineage levels to at least two worker threads respectively; and process the sorting tasks corresponding to each of the at least two worker threads in parallel.
[0259] In one embodiment, the table node region location includes the table node's horizontal coordinate and vertical coordinate; the table-level lineage display module 1102 is further configured to: determine the horizontal coordinate of the table node corresponding to the data table based on the preset table node region size and the lineage level to which the data table belongs; and determine the vertical coordinate of the table node corresponding to the data table based on the preset table node region size and the data table sorting results of each lineage level.
[0260] In one embodiment, the table-level lineage display module 1102 is further configured to: determine the lineage hierarchy to be adjusted; generate the initial ordinate of each table node in the lineage hierarchy to be adjusted; traverse the initial ordinate of each data table in the lineage hierarchy to be adjusted sequentially according to the data table sorting result of the lineage hierarchy to be adjusted, until all data tables in the lineage hierarchy to be adjusted have been traversed; during the traversal process, determine in real time the coordinate difference between the initial ordinate of the traversed data table and the ordinate of the table node of the previous data table; and adjust the initial ordinate of the traversed data table based on the preset table node area size and coordinate difference to obtain the ordinate of the table node of the traversed data table.
[0261] In one embodiment, the target lineage level in the table-level lineage graph corresponds to at least two table nodes, and these at least two table nodes are displayed according to a first sorting mode, such as... Figure 12As shown, the device also includes a sorting switching module 1108, which is used to: display at least two table nodes according to a second sorting mode specified by the sorting mode switching operation in response to the sorting mode switching operation.
[0262] In one embodiment, such as Figure 12 As shown, the device also includes a node filtering module 1110, which is used to: determine the table nodes in the table-level lineage graph that meet the node filtering conditions in response to a node filtering operation triggered based on node filtering conditions; and update and display the table-level lineage graph based on the selected table nodes.
[0263] Each module in the aforementioned data lineage display device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0264] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 13 As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a method for displaying data lineage. The display unit of the computer device is used to form a visually visible image. It can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0265] Those skilled in the art will understand that Figure 13The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0266] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0267] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0268] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0269] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0270] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, etc., and are not limited to these.
[0271] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0272] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for displaying data lineage, characterized in that, The method includes: Display the table-level lineage diagram of the target data table; In response to the display mode switching operation, the data table fields associated with the table node are displayed at the corresponding positions of the table nodes in the table-level lineage graph; In response to a trigger operation on a target field in the data table, a field-level lineage graph corresponding to the target field is displayed; the connecting edges between field nodes in the field-level lineage graph are used to represent the lineage relationship between fields.
2. The method according to claim 1, characterized in that, The step of displaying the data table fields associated with the table node at the corresponding position in the table-level lineage diagram includes: A first information viewing area is displayed at the corresponding position of the table node in the table-level lineage diagram; the first information viewing area includes a first field sub-area and a first search sub-area; The data table fields associated with the table node are displayed in the first field sub-area; In response to a search operation triggered in the first search sub-region, the search result fields are displayed; the result fields belong to the data table fields.
3. The method according to claim 2, characterized in that, The step of displaying the first information viewing area at the corresponding position of the table node in the table-level kinship diagram includes: Retrieve the data table fields corresponding to the table node; The size of the field sub-region is determined based on the number of fields in the data table; Based on the field sub-region size and the preset search sub-region size, the first information viewing area is displayed at the corresponding position of the table node in the table-level lineage graph.
4. The method according to claim 1, characterized in that, The field-level lineage graph includes field nodes and field-level connecting edges; The process of displaying the field-level lineage diagram corresponding to the target field includes: At the corresponding positions of the table nodes in the table-level kinship diagram, a second information viewing area is displayed; the second information viewing area includes node sub-areas. Field nodes are displayed in the node sub-region; Display field-level connection edges between the field nodes at different lineage levels.
5. The method according to claim 4, characterized in that, The second information viewing area is displayed at the corresponding position of the table node in the table-level kinship diagram, including: Identify the related fields in the data table fields of the table node that have a field-level dependency relationship with the target field; The size of the node sub-region is determined based on the number of fields in the associated fields; According to the node location configuration information and the size of the node sub-region, a second information viewing area is displayed at the corresponding position of the table node in the table-level lineage diagram.
6. The method according to claim 5, characterized in that, Displaying field-level connection edges between field nodes at different lineage levels includes: The node connection stake position of the field node is determined based on the node sub-region size and the node position configuration information; Display the node connection stake corresponding to the field node based on the node connection stake location; Based on the field-level dependency relationship, determine the start point connection stake and the end point connection stake among the node connection stakes of adjacent lineage levels; Draw a field-level connection edge between the starting point connection stake and the ending point connection stake.
7. The method according to claim 5, characterized in that, The second information viewing area is displayed at the corresponding position of the table node in the table-level lineage diagram according to the node position configuration information and the node sub-region size, including: Retrieve the data table fields corresponding to the table node; The size of the field sub-region is determined based on the number of fields in the data table; The size of the second information viewing area is determined according to the node location configuration information, the size of the node sub-region, the size of the field sub-region, and the preset search sub-region size. Based on the node location configuration information and the size of the second information viewing area, the second information viewing area is displayed at the corresponding position of the table node in the table-level lineage diagram; the second information viewing area also includes a second field sub-area and a second search input area; the second field sub-area is used for displaying data table fields, and the second search input area is used for field searching.
8. The method according to claim 7, characterized in that, The display of field nodes in the node sub-region includes: Within the node sub-region, field nodes are displayed according to the first display style; The method further includes: In the second field sub-area, the data table fields associated with the table node are displayed according to the second display style.
9. The method according to claim 1, characterized in that, The table-level lineage graph includes table nodes and table-level connecting edges; the table-level lineage graph displaying the target data table includes: In response to a lineage display operation for a target data table, determine the data tables used to participate in the generation of the relationship graph and the table-level dependencies between the data tables; The lineage level of each data table is determined based on the table-level dependencies. Based on the preset table node area size and the lineage level to which the data table belongs, the position of the table node area corresponding to each data table is determined; Based on the preset table node area size and the table node area position, display the data table nodes corresponding to each data table respectively; Based on the table-level dependency relationship, table-level connection edges are displayed between table nodes at different lineage levels.
10. The method according to claim 9, characterized in that, The process of determining the location of the table node region for each data table based on the preset table node region size and the lineage level to which the data table belongs includes: Determine the target bloodline level to be sorted; Sort the data tables belonging to the target bloodline level according to the target sorting mode to obtain the sorting result of the data tables corresponding to the target bloodline level; Based on the preset table node region size, the target lineage level to which the data table belongs, and the data table sorting result of the target lineage level, the table node region position corresponding to each data table in the target lineage level is determined.
11. The method according to claim 10, characterized in that, The step of sorting the data tables belonging to the target bloodline level according to the target sorting pattern to obtain the sorting results of the data tables corresponding to each bloodline level includes: Determine the sorting dimension and sorting direction corresponding to the target sorting pattern; Based on the sorting dimension, obtain the sorting index value corresponding to the data table belonging to the target bloodline level; In the sorting direction, the data tables belonging to the target bloodline level are sorted based on the sorting index value to obtain the sorting result of the data tables corresponding to the target bloodline level.
12. The method according to claim 10, characterized in that, The method further includes: When the number of target bloodline levels reaches a preset threshold, at least two worker threads are activated. The sorting tasks corresponding to the target bloodline level are respectively assigned to the at least two working threads; The sorting task is processed in parallel by at least two worker threads.
13. The method according to claim 10, characterized in that, The table node region location includes the horizontal and vertical coordinates of the table node; determining the table node region location for each data table based on the preset table node region size, the lineage hierarchy to which the data table belongs, and the sorting results of the data tables at each lineage hierarchy includes: Based on the preset table node area size and the lineage level to which the data table belongs, the horizontal coordinate of the table node corresponding to the data table is determined; Based on the preset table node area size and the data table sorting results of each lineage level, the vertical coordinate of the table node corresponding to the data table is determined.
14. The method according to claim 13, characterized in that, The determination of the ordinate of the table node corresponding to the data table based on the preset table node region size and the data table sorting results of each bloodline level includes: The bloodline hierarchy to be adjusted has been determined. Generate the initial ordinates of each table node in the bloodline hierarchy to be adjusted; According to the sorting result of the data table of the bloodline hierarchy to be adjusted, the initial vertical coordinate of each data table in the bloodline hierarchy to be adjusted is traversed in turn until all data tables in the bloodline hierarchy to be adjusted are traversed. During the traversal, the coordinate difference between the initial y-coordinate of the traversed data table and the y-coordinate of the table node of the previous data table is determined in real time. Based on the preset table node area size and the coordinate difference, the initial ordinate of the traversed data table is adjusted to obtain the ordinate of the table node of the traversed data table.
15. The method according to any one of claims 1 to 14, characterized in that, The target lineage level in the table-level lineage diagram corresponds to at least two table nodes, and the at least two table nodes are displayed according to a first sorting mode. The method further includes: In response to a sorting mode switching operation, the at least two table nodes are displayed according to the second sorting mode specified by the sorting mode switching operation.
16. The method according to any one of claims 1 to 14, characterized in that, The method further includes: In response to a node filtering operation triggered based on node filtering conditions, determine the table nodes in the table-level lineage graph that meet the node filtering conditions; Based on the selected table nodes, the table-level lineage graph is updated and displayed.
17. A display device for data lineage, characterized in that, The device includes: The table-level lineage display module is used to display the table-level lineage diagram of the target data table; The field display module is used to display the data table fields associated with the table node at the corresponding position of the table node in the table-level lineage diagram in response to the display mode switching operation. The field-level lineage display module is used to display the field-level lineage graph corresponding to the target field in response to a trigger operation on the target field in the data table; the connecting edges between field nodes in the field-level lineage graph are used to represent the lineage relationship between fields.
18. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 16.
19. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 16.
20. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 16.