Multi-dimensional data display method and related equipment

By generating multidimensional cross-data and performing visualization rendering, the problem that a single linear swimlane is insufficient to display the multidimensional aspects of complex IPD projects is solved, and a clear display of cross-domain collaboration is achieved.

CN121542344APending Publication Date: 2026-02-17KINGDEE SOFTWARE(CHINA) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511712702.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-19
Publication Date
2026-02-17

AI Technical Summary

Technical Problem

The existing single linear swimlane is insufficient to meet the multi-dimensional display needs of complex IPD projects and cannot effectively demonstrate the collaborative relationships between different fields.

Method used

By acquiring dimensional data for each dimension of the target project, determining dimensional dependency rules, generating multidimensional cross data, and sending it to the front end for visualization rendering, a multidimensional swimlane diagram is generated.

Benefits of technology

It enables multi-dimensional, three-dimensional display of complex projects, eliminating the limitations of a single linear swimlane, providing a unified, three-dimensional project perspective, and supporting clear display of cross-domain collaboration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121542344A_ABST
    Figure CN121542344A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a multi-dimensional data display method and related equipment, and is used for the technical field of data display. The method comprises the steps of generating multi-dimensional cross data of a target task in multiple dimensions through a dimension dependency relationship of the target task in the multiple dimensions in a dimension dependency rule, the multi-dimensional cross data describing a data set of the target task corresponding to the multiple dimensions, and sending the multi-dimensional cross data to a front end, the target project is mapped on the multi-dimensional lane map of the front-end interface in a three-dimensional mode, and the multi-dimensional display requirement in a complex project can be effectively met. The method can be applied to various business systems, such as an enterprise resource planning (ERP) system, a customer relationship management (CRM) system and the like, and can be applied to various business systems, such as an enterprise resource planning (ERP) system, a customer relationship management (CRM) system and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data display technology, and in particular to a method and related equipment for displaying multidimensional data. Background Technology

[0002] IPD, short for Integrated Product Development, is an end-to-end product development management system. Its core is cross-domain collaboration, integrating marketing, R&D, production, and sales, and managing the entire process from product planning to market exit.

[0003] Existing methods for displaying IPD projects often employ a single linear swimlane for visualization. This involves arranging the tasks within the IPD project's business process sequentially in different swimlanes, with each swimlane representing a specific area. The business process unfolds linearly in chronological order, showcasing the flow of the business process and the order in which tasks are performed, thus demonstrating a standardized business process.

[0004] However, in complex IPD projects, it is necessary not only to pay attention to the sequence of tasks, but also to consider the collaboration between different domains; a single linear swimlane can hardly meet the multi-dimensional display needs of complex IPD projects by displaying the business process from a single dimension. Summary of the Invention

[0005] This application provides a method and related device for displaying multidimensional data, which can effectively meet the multidimensional display needs of complex projects.

[0006] This application provides a method for displaying multidimensional data, including:

[0007] In response to a display request for a target project, dimensional data for each dimension of the target project is obtained; the target project includes multiple tasks, and the display request instructs the display of the target task among the multiple tasks;

[0008] Based on the dimensional dependencies of each task in the target project across multiple dimensions, determine the dimensional dependency rules of the target project.

[0009] Based on the dimensional dependency rules and the dimensional data of each dimension in the target project, multidimensional cross data of the target task in multiple dimensions is generated;

[0010] The multidimensional cross data is sent to the front end, and the front end is controlled to perform visualization rendering on the front end interface based on the multidimensional cross data to generate and display a multidimensional swimlane diagram.

[0011] This application also provides a multi-dimensional data display device, including:

[0012] An acquisition unit is configured to acquire dimension data for each dimension of the target project in response to a display request for the target project; the target project includes multiple tasks, and the display request instructs the display of the target task among the multiple tasks;

[0013] The determining unit is used to determine the dimension dependency rules of the target project based on the dimension dependency relationships of each task in the target project in multiple dimensions;

[0014] The generation unit is used to generate multidimensional cross data of the target task in multiple dimensions based on the dimensional dependency rules and the dimensional data of each dimension in the target project.

[0015] The sending unit is used to send the multidimensional cross data to the front end, and control the front end to perform visualization rendering on the front end interface based on the multidimensional cross data, and generate and display a multidimensional swimlane diagram.

[0016] This application also provides an electronic device, including:

[0017] Central processing unit, memory, and input / output interfaces;

[0018] The memory is either a short-term storage memory or a persistent storage memory;

[0019] The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the methods described above.

[0020] This application also provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method described above.

[0021] This application also provides a computer program product containing instructions or computer programs, which, when run on a computer, causes the computer to perform the method described above.

[0022] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0023] In this embodiment, in response to a display request for a target project, dimensional data for each dimension of the target project is obtained; the target project includes multiple tasks, and the display request instructs the display of the target task among the multiple tasks; based on the dimensional dependencies of each task in the target project across multiple dimensions, dimensional dependency rules for the target project are determined; based on the dimensional dependency rules and the dimensional data for each dimension of the target project, multidimensional cross data of the target task across multiple dimensions is generated; the multidimensional cross data is sent to the front end, and the front end is controlled to perform visualization rendering on the front end interface based on the multidimensional cross data, generating and displaying a multidimensional swimlane diagram.

[0024] By analyzing the dimensional dependencies of the target task across multiple dimensions in the dimensional dependency rules, multidimensional cross data of the target task across multiple dimensions is generated. This multidimensional cross data describes the data set of the target task corresponding to multiple dimensions. By sending the multidimensional cross data to the front end, the target project is mapped three-dimensionally onto the multidimensional swimlane graph of the front end interface, which can effectively meet the multidimensional display requirements of complex projects. Attached Figure Description

[0025] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings.

[0026] Figure 1 This is a schematic diagram of a communication architecture disclosed in an embodiment of this application;

[0027] Figure 2 This is a flowchart illustrating the display of multidimensional data as disclosed in an embodiment of this application;

[0028] Figure 3 This is a flowchart illustrating the display of another multidimensional data disclosed in an embodiment of this application;

[0029] Figure 4 This is a flowchart of a drag-and-drop task tree disclosed in an embodiment of this application;

[0030] Figure 5 This is a flowchart of a data update disclosed in an embodiment of this application;

[0031] Figure 6 This is a front-end and back-end structure diagram of a multidimensional data display system disclosed in an embodiment of this application;

[0032] Figure 7 This is a schematic diagram of a multi-dimensional swimlane diagram disclosed in an embodiment of this application;

[0033] Figure 8 This is a schematic diagram of a multidimensional data display device disclosed in an embodiment of this application;

[0034] Figure 9 This is a schematic diagram of an electronic device disclosed in an embodiment of this application. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0036] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0037] In the following description, expressions such as "one specific implementation" or "one specific example" are used, which describe a subset of all possible embodiments. However, it is understood that "one specific implementation" or "one specific example" can be the same subset or a different subset of all possible embodiments, and can be combined with each other without conflict. In the following description, the term "plural" means at least two. The statement that a certain value reaches a threshold (if it exists) as used in this application may, in some specific examples, include the case where the former is greater than the latter.

[0038] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0039] To facilitate understanding and explanation, the application scenarios of this application will be briefly described before further detailed description of the embodiments of this application.

[0040] like Figure 1As shown, the system includes a multidimensional data display system 101 and one or more front-end pages 102. The multidimensional data display system 101 is connected to the front-end pages 102. The multidimensional data display system 101 is used for visual management of projects and displays the data on the front-end pages 102. Existing multidimensional data display systems 101 often use a single linear swimlane to visualize projects, arranging the tasks in the project's business process sequentially in different swimlanes, with each swimlane representing a specific domain. However, in complex IPD projects, it is necessary not only to focus on the order of tasks but also to consider collaboration between different domains; a single linear swimlane displays the business process from a single dimension, which is insufficient to meet the multidimensional display requirements of complex IPD projects. Therefore, this application provides a multidimensional data display method that can effectively meet the multidimensional display requirements of complex projects. This multidimensional data display method is mainly applied to the back-end (such as a server), as follows:

[0041] 201. In response to the display request of the target project, obtain the dimension data of each dimension in the target project.

[0042] In this embodiment, the backend can respond to a display request for the target project and obtain dimensional data for each dimension of the target project. The target project is a complex project with many elements, varied relationships between elements, and complex organizational collaboration; it can be an IPD project, a system development project, or an engineering management project, and is not specifically limited here. The target project includes multiple tasks, and the display request instructs the display of the target task among these tasks. The number of tasks in the target task is less than or equal to the number of tasks in the target project.

[0043] It is understandable that this display request can be triggered by the user on the front-end page, such as when the user performs filtering (e.g., viewing tasks in the hardware R&D field during the trial production stage) or a view switching operation on the front-end page. Alternatively, the display request can be obtained by the back-end through a network connection; the specific format is not limited here. The format of the display request can be an HTTP request or a REST request; the specific format is not limited here.

[0044] The target project includes various project elements, which are core components of the project's execution process. The backend can decompose these project elements into multiple dimensions, such as the three basic project dimensions: stage (time dimension), domain (department dimension), and task (work dimension). Data for each dimension is retrieved from the database, i.e., relevant data for each dimension within the target project. For example, for the stage dimension, the names, start and end times, and current status (e.g., not started, in progress, completed) of all stages can be retrieved; for the domain dimension, the names, responsibilities, and relevant personnel of all domains can be retrieved; and for the task dimension, the names, descriptions, relevant personnel, required resources, and status (e.g., not started, passed, blocked) of all tasks can be retrieved.

[0045] 202. Based on the dimensional dependencies of each task in the target project across multiple dimensions, determine the dimensional dependency rules of the target project.

[0046] In this embodiment, the backend can determine the dimensional dependency rules of the target project based on the dimensional dependencies of each task in multiple dimensions. It is understood that each task has a corresponding dimensional dependency in each dimension, which can be an association or a belonging relationship. For example, the association of a task in the task dimension is its predecessor and successor tasks; the belonging relationship of a task in the stage dimension is which stage the task belongs to; and the belonging relationship of a task in the domain dimension is which domain the task belongs to. For instance, the predecessor task of a software development task is a requirements analysis task, the successor task is a software debugging task, the software development task belongs to the design stage, and the software development task belongs to the development domain.

[0047] 203. Based on the dimensional dependency rules and the dimensional data of each dimension in the target project, generate multidimensional cross data of the target task in multiple dimensions.

[0048] After determining the dimensional dependency rules of the target project, multidimensional cross data of the target task across multiple dimensions can be generated based on these rules and the dimensional data of each dimension in the target project. Specifically, the dimensional dependency relationships of the target task in each dimension can be determined within the dimensional dependency rules, such as the association relationship of the target task in the task dimension, the affiliation relationship of the target task in the stage dimension, and the affiliation relationship of the target task in the domain dimension. Based on the dimensional dependency relationships of the target task in each dimension, the cross-dimensional information can be determined from the dimensional data of multiple dimensions, thus obtaining the multidimensional slice data (i.e., multidimensional cross data) of the target task across multiple dimensions.

[0049] 204. Send the multidimensional cross data to the front end, control the front end to perform visualization rendering on the front end interface based on the multidimensional cross data, and generate and display the multidimensional swimlane diagram.

[0050] Next, the backend can send the multidimensional cross data to the frontend, controlling the frontend to perform visualization rendering on the frontend interface based on the multidimensional cross data, generating and displaying a clear and non-redundant multidimensional swimlane graph for the user. The backend and frontend can communicate bidirectionally in real-time via the WebSocket protocol, pushing multidimensional cross data to the frontend and receiving display requests triggered by the frontend.

[0051] As is understandable, the multi-dimensional swimlane diagram shows intersecting lanes across multiple dimensions. Through task nodes and connecting lines, the relationships and affiliations of tasks across these dimensions are clearly visible. The displayed multi-dimensional swimlane diagram is as follows: Figure 7 As shown, the phase dimensions include: concept phase, planning phase, development phase, and verification phase; the domain dimensions include: R&D domain, financial domain, and market domain. The swimlanes of each phase intersect with the swimlanes of each domain. Based on multi-dimensional cross data, task nodes are placed in the corresponding cross regions, and the relationships between task nodes are represented by connecting lines.

[0052] As can be seen, in this embodiment of the application, in response to the display request of the target project, the dimensional data of each dimension of the target project is obtained; the target project includes multiple tasks, and the display request indicates the display of the target task among the multiple tasks; based on the dimensional dependency relationship of each task in the target project in multiple dimensions, the dimensional dependency rule of the target project is determined; based on the dimensional dependency rule and the dimensional data of each dimension in the target project, multidimensional cross data of the target task in multiple dimensions is generated; the multidimensional cross data is sent to the front end, and the front end is controlled to perform visualization rendering on the front end interface based on the multidimensional cross data, generating and displaying a multidimensional swimlane diagram.

[0053] By leveraging the dimensional dependencies of the target task across multiple dimensions within dimensional dependency rules, multidimensional cross-data of the target task across these dimensions is generated. This multidimensional cross-data describes the data set corresponding to the target task across multiple dimensions. By sending this multidimensional cross-data to the front end, the target project is mapped in a three-dimensional manner onto a multidimensional swimlane diagram on the front-end interface, effectively meeting the multidimensional display needs of complex projects. It eliminates the limitation of single-dimensionality in existing single linear swimlanes, providing a unified and three-dimensional project perspective understandable from management to execution levels. This method can be applied to various business systems, such as Enterprise Resource Planning (ERP) systems and Customer Relationship Management (CRM) systems.

[0054] Furthermore, the following will combine Figure 6 The display process of this application is described in detail, and the specific steps are as follows: Figure 3 As shown, the details are as follows:

[0055] 301. Parallel execution of asynchronous data loading tasks for multiple dimensions to query the database and obtain dimensional data for each dimension in the target project.

[0056] In this embodiment of the application, the target project includes three dimensions: stage dimension, domain dimension, and task dimension, and the corresponding multidimensional data display system is as follows: Figure 6 As shown, the multidimensional data display system includes a front-end and a back-end; the front-end includes: a user interaction layer (i.e., the front-end page), an interaction mediation layer, and an adaptive layout engine and a multi-level tree drag-and-drop module in the intelligent engine layer; the back-end includes: a three-dimensional matrix decision center, a node data aggregation service, a task relationship topology management engine, and a state consistency service.

[0057] Users can trigger a display request for the target project through the front-end page. This display request can be transmitted to the back-end 3D matrix decision center through the interaction intermediary layer. The 3D matrix decision center can obtain the dimensional data of each dimension of the target project. Specifically, it can query the database by executing asynchronous data loading tasks of multiple dimensions in parallel through the node data aggregation service to obtain the dimensional data of each dimension of the target project.

[0058] Understandably, current database queries require numerous lookups, hindering the rapid retrieval of dimensional data for the target project. For example, if a target project's task list includes 10 tasks, for each task, queries are needed at the task level to retrieve personnel information, resource information, and preceding / replying tasks; at the stage level, queries are needed to retrieve the task's domain information; and at the domain level, queries are needed to retrieve the task's stage information. This would require 1 + 10 + 10 + 10 + 10 + 10 = 51 database queries, making it difficult to quickly obtain the target project's dimensional data.

[0059] In this embodiment, after receiving a front-end request, the node data aggregation service does not immediately perform a database query. Instead, it parses the parameters in the request and synchronously initiates asynchronous data loading tasks corresponding to each dimension of the target project. Specifically, for asynchronous data loading tasks at the task dimension, it can call the task service to obtain task information for all tasks in the target project, call the user service to obtain information for all relevant personnel in the target project, and call the resource service to obtain resource information for all tasks in the target project. For asynchronous data loading services at the domain dimension, it can call the domain service to obtain all domain information of the target project. For asynchronous data loading services at the stage dimension, it can call the stage service to obtain all domain information of the target project.

[0060] Next, multiple asynchronous data loading tasks can be executed in parallel to query the database and obtain the dimensional data for each dimension of the target project. Specifically, five services—task service, user service, resource service, domain service, and stage dimension—can be executed in parallel to query the database. In this case, the number of database queries is reduced to five, effectively decreasing the number of database queries and quickly obtaining the dimensional data for each dimension of the target project. Understandably, when the five services execute in parallel, each service first checks the cache; if the required data exists in the cache, it returns directly, avoiding database access; if the required data is not found in the cache, it then accesses the database and puts the query result into the cache for future use. Because the five services are executed in parallel, the I / O wait times of the five queries overlap rather than linearly accumulate, further accelerating the retrieval of the dimensional data for each dimension of the target project.

[0061] 302. Based on the relationships between tasks in the task dimension, and their affiliations in the stage and domain dimensions, the dimension dependency rules of the target project are obtained.

[0062] In this embodiment, after obtaining the dimensional data for each dimension of the target project, the backend 3D matrix decision center can derive the dimensional dependency rules of the target project based on the task relationships within the task dimension, and their affiliations within the stage and domain dimensions. Specifically, it can determine the relationships between each task in the task dimension, the stage dimension, and the domain dimension to obtain the dimensional dependency rules of the target project. That is, it determines the preceding and following tasks, the stage to which the task belongs, and the domain to which the task belongs to obtain the dimensional dependency rules of the target project. By understanding the dimensional dependencies of tasks in the three basic dimensions, the system can better align with the project scenario of the target project and accurately obtain the dimensional dependency rules.

[0063] 303. Assemble the data of the associated task information, the stage information, and the domain information of the target task to obtain multidimensional cross data of the target task in multiple dimensions.

[0064] After obtaining the dimensional dependency rules of the target project, the backend 3D matrix decision center can determine the associated task information of the target task in the dimensional data of the task dimension based on the correlation between the target task and the task dimension; determine the stage information of the target task in the dimensional data of the stage dimension based on the correlation between the target task and the stage dimension; and determine the domain information of the target task in the dimensional data of the domain dimension based on the correlation between the target task and the domain dimension. The associated task information, the stage information, and the domain information of the target task are then input into the node data aggregation service, which assembles the data to obtain multidimensional cross-data of the target task across multiple dimensions.

[0065] For example, relevant information about the target task can be categorized by task dimension: A list of tasks for the target task. <ipdtask>(Where IPDTask represents the IPD task, i.e., the target task), the associated task information of the target task: Map <taskId,List <qipdtask>With Map <taskId,List <hipdtask>(Where, taskId is the ID of the target task, Map represents an indexed mapping, QIPDTask represents the pre-task of the task, and HIPDTask represents the post-task of the task.) Personnel information for the target task: Map<userId, UserInfo> Resource information for the target task: Map <taskId, List <resource>The target task dimension information, the target task phase information, and the target task field information are input to a node data aggregation service. The node data aggregation service can assemble the target task dimension information, the target task phase information, and the target task field information into a data transmission object (DTO), which is multi-dimensional cross data of the target task in multiple dimensions, and sends the assembled DTO to the front end.

[0066] It can be seen that the node data aggregation service asynchronously loads data in parallel, assembles data through a DTO combination mode, and sends the assembled DTO object to the front end, which can quickly respond to the front end request. The front end data response speed and system throughput performance are greatly improved.

[0067] 304, the front end is controlled to perform visual rendering on the front end interface based on the multi-dimensional cross data, and generate and display a multi-dimensional swim lane diagram.

[0068] The back end can send the multi-dimensional cross data to the front end, control the front end to perform visual rendering on the front end interface based on the multi-dimensional cross data, and generate and display a multi-dimensional swim lane diagram. The adaptive layout engine of the front end can be used to perform visual rendering on the front end interface, monitor the number of task nodes in the multi-dimensional swim lane diagram, the number of connection lines in the multi-dimensional swim lane diagram, and the task filtering request, and dynamically layout the multi-dimensional swim lane diagram to avoid view confusion and information overload problems in the multi-dimensional swim lane diagram. The steps 3041 and 3043 can be used to achieve the above.

[0069] 3041, if the number of task nodes reaches a preset number threshold, the associated task nodes are aggregated when the multi-dimensional swim lane diagram is displayed.

[0070] The adaptive layout engine can monitor the number of task nodes. If the number of task nodes reaches a preset number threshold, the associated task nodes are aggregated when the multi-dimensional swim lane diagram is displayed. The number of task nodes can be the number of nodes in any lane or the number of nodes in the global lane of the multi-dimensional swim lane diagram, which is not limited here. The preset number threshold can be 50 or 60, which is not limited here. The number of task nodes in any region of the multi-dimensional swim lane diagram can be multiplied by the cycle length of each task node, and the product is divided by the cycle range of the region to obtain the cycle proportion of the task in the cycle range of the region. When the cycle proportion is greater than a preset proportion threshold, it is determined that the number of task nodes reaches the preset number threshold.

[0071] The aggregated associated task nodes can be used to collapse the associated node group (e.g., all tasks in a domain or all tasks in a phase), which is replaced by a super node (e.g., "backend development phase (15 tasks)").

[0072] 3042、If the number of connection lines reaches the preset complexity threshold, the connection lines are simplified when displaying the multi-dimensional swimlane diagram.

[0073] The adaptive layout engine can monitor the number of connection lines in the multi-dimensional swimlane diagram, which can be the number of connection lines within the same swimlane or across swimlanes, which is not limited here. The preset complexity threshold can be 30 or 40 connection lines, which is not limited here.

[0074] Simplifying the connection lines can include identifying and thickening or highlighting the critical path of the target project, while fading the connection lines of the non-critical path. For multiple connection lines connected to the same node, they are merged into a connection pile near the node, and all specific connections are displayed when the mouse hovers over it. The critical path refers to a series of interdependent task nodes in the multi-dimensional swimlane diagram that determine the earliest completion time of the target project. The critical path is the longest path in the target project. The non-critical path refers to the connection lines that have float time in the target project, and the total length of the non-critical path is shorter than that of the critical path. Float time is the amount of time that can be delayed without affecting the overall progress of the project.

[0075] 3043、If a task filtering request is received, the task nodes and connection lines that meet the task filtering request are focused when displaying the multi-dimensional swimlane diagram.

[0076] The adaptive layout engine can also monitor the task filtering request. If a task filtering request is received, such as a user filtering tasks of a specific type (e.g., "only show overdue tasks") or a specific responsible person on the front-end page, the task nodes and connection lines that meet the task filtering request are focused when displaying the multi-dimensional swimlane diagram; that is, the task nodes and connection lines that do not meet the task filtering request are faded out, and the remaining elements are rearranged and displayed in the center of the multi-dimensional swimlane diagram view.

[0077] Through the adaptive layout engine, the number of task nodes in the multi-dimensional swimlane diagram, the number of connection lines in the multi-dimensional swimlane diagram, and the task filtering request are monitored, and the multi-dimensional swimlane diagram is dynamically laid out, which can optimize the topology layout in the multi-dimensional swimlane diagram in real time, and solve the view confusion and information overload problem in large IPD projects.

[0078] Further, in the multi-dimensional swimlane diagram displayed on the front end page, the user can drag a task node in the multi-dimensional swimlane diagram, such as dragging a task from one swimlane to another swimlane; when the user drags a parent task, the multi-level tree drag module on the front end can intercept the drag operation, automatically identify the child task corresponding to the parent task, and form a drag request of the task tree in the multi-dimensional swimlane diagram.

[0079] Before sending the drag request to the back end, the multi-level tree drag module can perform front-end pre-verification. It is checked whether the target position after the task tree is dragged allows the corresponding task to be placed; for example, a milestone node without a domain can only be dragged to the milestone swimlane and cannot be placed in the task swimlane. It is also checked whether the operation conforms to the basic UI logic, such as a task cannot be dragged under its own child task to prevent circular nesting. After the front-end pre-verification is passed, the drag request can be sent to the task relationship topology management engine on the back end. The back end responds to the drag request triggered by the front end, performs deep legality verification through the task relationship topology management engine on the back end, and realizes clear visualization and human-intuitive interaction of a large-scale project. The verification process of the task relationship topology management engine on the back end is shown in FIG. 4, and specifically includes the following steps. Figure 4

[0080] 401. Verify whether the belonging relationship of each task in the task tree after being dragged in the stage dimension and the belonging relationship in the domain dimension are accurate; if yes, perform step 402; if no, perform step 404 to prohibit the drag operation.

[0081] In the embodiments of the present application, the belonging relationship of each task in the task tree after being dragged in the stage dimension and the belonging relationship in the domain dimension can be verified first. That is, it is verified whether the task movement conforms to the logic of the project stage, such as a task in the production stage cannot be dragged before the design stage; and it is verified whether the domain after the task movement has the ability to perform the task, such as a software development task cannot be dragged into the swimlane of the finance department.

[0082] By verifying whether the belonging relationship of each task in the task tree after being dragged in the stage dimension and the belonging relationship in the domain dimension are accurate, it can be ensured that the task after being dragged conforms to the business rules of the stage dimension and the domain dimension.

[0083] 402. Determine the association relationship of each task in the task tree after being dragged in the task dimension.

[0084] When the belonging relationship of each task in the task tree after being dragged in the stage dimension and the belonging relationship in the domain dimension are verified, the association relationship of each task in the task tree after being dragged in the task dimension can be determined; that is, the associated tasks (predecessor and successor tasks) in the new position after the parent task and the child task of the task tree are dragged to the new position are determined, such as task C must be started after task B is completed.​

[0085] 403、based on the association relationship of each task in the task tree in the task dimension, verify whether there is a task circular dependency after dragging; if yes, execute step 404 to prohibit the dragging operation; if no, execute step 405.

[0086] Then, based on the association relationship of each task in the task tree in the task dimension, it can be verified whether there is a task circular dependency after dragging; that is, the association relationship of each task in the task tree in the task dimension can be used to schedule tasks to determine whether there is a task circular dependency, such as task A depends on task B, and task B directly or indirectly depends on task A.

[0087] Among them, the task relationship topology management engine can verify whether there is a task circular dependency after dragging through a directed acyclic graph (DAG). Specifically, based on the association relationship of each task in the task tree in the task dimension, the affected tasks (including the tasks of the task tree and the associated tasks) can be loaded from the cache or the database to construct a directed graph of the tasks. The data structure of the directed graph can be represented by an adjacency list, such as: task A -> [task B, task C] (indicating that B and C depend on A); task B -> [task D], task C -> [task D] (indicating that D depends on B and C). Then, the tasks with a pre-dependence number of zero in the directed graph of the tasks can be determined and removed, and the tasks in the directed graph of the tasks can be sorted. That is, the directed graph of the tasks is topologically sorted based on a topological sorting algorithm that constantly finds and removes task nodes with an in-degree of zero (i.e., no pre-dependence); if all task nodes can be removed at the end, it means that the directed graph is acyclically dependent; if a task node with an in-degree of zero cannot be found in the middle, it means that there is a circular dependency in the directed graph. If the sorting is successful, it is determined that there is no task circular dependency; if the sorting is not successful, it is determined that there is a task circular dependency, at which time an explicit error message can be returned to the front end, for example: "Operation failed: establishing this dependency relationship will cause a circular dependency of 'task A -> task B -> task C -> task A', please check".

[0088] As can be seen, the task relationship topology management engine can ensure that the task tree will not produce a circular dependency after being dragged and moved in real time through DAG verification, and ensure the strictness of the dependency relationship.

[0089] In some implementable ways, it can be verified whether the dragged task tree has a dependency relationship with an external task, and if there is, step 404 is executed, and if not, step 405 is executed; to ensure that the moving operation will not damage the existing key dependencies. For example, if a sub-task in the task tree is a pre-task of a task in another swimlane, dragging the task tree may need to adjust the corresponding external dependency relationship synchronously.

[0090] 404. Drag and drop operations are prohibited.

[0091] If the verification shows that the relationship between each task in the task tree at the stage dimension and the domain dimension is inaccurate after dragging, or if there is a circular dependency of tasks after dragging, then dragging operation is prohibited, and a corresponding prompt is triggered on the front-end page; such as: task does not match stage, task does not match domain, there is a circular dependency of tasks.

[0092] 405. Allow drag-and-drop operations, and update the database based on the modified task after dragging and drop, and synchronize the updated data to the front-end page.

[0093] If the drag-and-drop operation is verified to be accurate in terms of both the stage and domain dimensions of each task in the task tree, and if no circular dependencies exist after the drag-and-drop, then the drag-and-drop operation is allowed. The database is then updated based on the modified tasks, and the updated data is synchronized to the front-end page. Specifically, WebSocket can be used to push the updated data to the front-end of all online users in real time, performing atomic update transactions, notifying the front-end's adaptive layout engine to update the view, and refreshing the front-end page (front-end UI).

[0094] As can be seen, in this embodiment of the application, the multi-level tree drag-and-drop module can support cross-swimlane and cross-level task tree structure reorganization through the legality verification of the task relationship topology management engine, meet the dynamic adjustment requirements of nested task flow in IPD projects, and avoid rigid drag-and-drop interaction.

[0095] Furthermore, updating the database based on the modified task after dragging and dropping can specifically be any one or more of the following steps 4051 to 4052, such as... Figure 5 As shown, the details are as follows:

[0096] 4051. Cascade update the start time, end time, float time, and critical path of related tasks in the database.

[0097] In this embodiment of the application, after the legality verification of the task relationship topology management engine is passed, the task relationship topology management engine can write the new dependency relationship (including the association relationship of each task in the task tree in the task dimension) into the database, and perform cascading updates of the start time, end time, floating time, and critical path of the associated tasks in the database.

[0098] Specifically, the start time, end time, and float time of the associated tasks corresponding to the modified task can be determined. That is, starting from the modified task, the earliest start time and earliest end time of each associated task can be calculated forward along the dependency path; and backward from the end of the dependency path, the latest start time and latest end time of each associated task can be calculated. The difference between the earliest and latest start times is the corresponding float time. Next, based on the float times of the associated tasks corresponding to the modified task, a new critical path can be determined in the dragged multidimensional swimlane graph; that is, the path with a float time of zero is the new critical path. The task relationship topology management engine can publish relationship change events, updating the database with the start time, end time, float time, and the new critical path of the associated tasks corresponding to the modified task. By cascading updates of the start time, end time, float time, and critical path of associated tasks in the database, the accuracy of the data in the database can be ensured.

[0099] 4052. Update the dimension status of other dimensions in the database.

[0100] In this embodiment, the state of other dimensions in the database can be updated through a backend state consistency synchronization service to ensure the consistency of project data. Specifically, state change events can be published to update the state of other dimensions in the target project's database, excluding the task dimension, based on the state changes of the modified task; these other dimensions are those that have a dimension dependency relationship with the modified task. This event-driven state synchronization mechanism ensures strong consistency of task states and real-time multi-device collaboration capabilities.

[0101] When a test case task is marked as passed, it can trigger status updates at both the domain and stage dimensions. Specifically, it can update the status of the domain to which the test case task belongs: the Quality Assurance Department, updating it to "Completed Workload Statistics"; and it can update the status of the stage to which the test case task belongs: the System Testing Stage, determining whether all tasks in this system testing stage have been completed. If so, the stage status is automatically updated to "Completed," triggering activation preparation for the next trial production stage.

[0102] 4053. Update the milestone status in the database.

[0103] In this embodiment, the milestone status in the database can also be updated via a backend state consistency synchronization service. Specifically, when the status of a modified task is changed to "completed," the state consistency synchronization service can publish a state change event and monitor whether all associated tasks in the same stage of the modified task have been completed. If all associated tasks have been completed, the milestone status in the database for the same stage is updated to "completed." The state consistency synchronization service automatically updates the milestone status in real time, adopting an event-driven architecture. When the task status changes, it automatically triggers the synchronization of the milestone status and pushes it to the front end in real time via WebSocket.

[0104] This application also provides a multidimensional data display device, such as... Figure 8 As shown, it includes:

[0105] The acquisition unit 801 is used to acquire dimension data of each dimension in the target project in response to a display request of the target project; the target project includes multiple tasks, and the display request instructs to display the target task among the multiple tasks;

[0106] The determining unit 802 is used to determine the dimension dependency rules of the target project based on the dimension dependency relationships of each task in the target project in multiple dimensions.

[0107] The generation unit 803 is used to generate multidimensional cross data of the target task in multiple dimensions based on the dimension dependency rules and the dimension data of each dimension in the target project.

[0108] The sending unit 804 is used to send the multidimensional cross data to the front end, and control the front end to perform visualization rendering on the front end interface based on the multidimensional cross data to generate and display a multidimensional swimlane diagram.

[0109] Furthermore, the acquisition unit 801 is specifically used to synchronously initiate asynchronous data loading tasks corresponding to each dimension of the target project; and execute multiple asynchronous data loading tasks in parallel to query the database to obtain the dimension data of each dimension of the target project.

[0110] Furthermore, the target project includes: task dimension, stage dimension, and domain dimension; the determining unit 802 is specifically used to determine the association relationship of each task in the target project in the task dimension, the belonging relationship of each task in the stage dimension, and the belonging relationship of each task in the domain dimension, so as to obtain the dimension dependency rule of the target project.

[0111] Furthermore, the generation unit 803 is specifically used to: determine the associated task information of the target task in the dimensional data of the task dimension based on the association relationship of the target task in the task dimension; determine the stage information of the target task in the dimensional data of the stage dimension based on the belonging relationship of the target task in the stage dimension; determine the domain information of the target task in the dimensional data of the domain dimension based on the belonging relationship of the belonging target task in the domain dimension; and assemble the associated task information, the stage information, and the domain information of the target task to obtain multidimensional cross data of the target task in multiple dimensions.

[0112] Furthermore, the sending unit 804 is specifically used to control the front end to monitor the number of task nodes, the number of connecting lines, and task filtering requests in the multi-dimensional swimlane graph after it is generated; if the number of task nodes reaches a preset threshold, the associated task nodes are aggregated when the multi-dimensional swimlane graph is displayed; if the number of connecting lines reaches a preset complexity threshold, the connecting lines are simplified when the multi-dimensional swimlane graph is displayed; if the task filtering request is received, the task nodes and connecting lines that meet the task filtering request are focused on being displayed when the multi-dimensional swimlane graph is displayed.

[0113] Furthermore, the display device also includes a drag-and-drop processing unit (not shown in the figure). The drag-and-drop processing unit is used to, in response to a drag request from the task tree in the multi-dimensional swimlane graph triggered by the front end, determine the relationship between each task in the task tree in the task dimension after dragging; the task tree includes: a parent task and corresponding child tasks; based on the relationship between each task in the task tree in the task dimension, verify whether there is a task circular dependency after dragging; if there is a task circular dependency, then the drag-and-drop operation is prohibited; if there is no task circular dependency, then the drag-and-drop operation is allowed, and the database is updated based on the modified task after dragging, and the updated data is synchronized to the front end page.

[0114] Furthermore, the drag-and-drop processing unit is specifically used to verify whether the relationship between each task in the task tree after dragging and drop is accurate in the stage dimension and the domain dimension; if so, the step of determining the association relationship between each task in the task tree after dragging and drop in the task dimension is executed; if not, the drag-and-drop operation is prohibited.

[0115] Furthermore, the drag-and-drop processing unit is specifically used to: construct a directed graph of tasks based on the association relationship of each task in the task tree in the task dimension; identify and remove tasks with zero preceding dependencies in the directed graph of tasks; sort the tasks in the directed graph of tasks; if the sorting is successful, it is determined that there is no circular dependency of tasks; if the sorting is unsuccessful, it is determined that there is a circular dependency of tasks.

[0116] Furthermore, the drag-and-drop processing unit is specifically used to: determine the start time, end time, and floating time of the associated tasks corresponding to the modified task; determine a new critical path in the multi-dimensional swimlane graph after dragging based on the floating time of the associated tasks corresponding to the modified task; and update the start time, end time, and floating time of the associated tasks corresponding to the modified task, as well as the new critical path, to the database.

[0117] Furthermore, the drag-and-drop processing unit is specifically used to update the dimension status of other dimensions besides the task dimension in the target project in the database based on the state changes of the modified task; the other dimensions are dimensions that have a dimension dependency relationship with the modified task.

[0118] Furthermore, the drag-and-drop processing unit is specifically used to monitor whether all associated tasks of the modified task in the same stage have been completed when the status of the modified task is changed to completed; if all associated tasks have been completed, the milestone status of the same stage in the database is updated to completed.

[0119] This application also provides an electronic device; please refer to [link / reference]. Figure 9 The electronic device 900 of this application embodiment may include one or more central processing units (CPUs) 901 and a memory 902, wherein the memory 902 stores one or more applications or data.

[0120] The memory 902 can be volatile or persistent storage. The program stored in the memory 902 can include one or more modules, each module including a series of instruction operations on the electronic device. Furthermore, the central processing unit 901 can be configured to communicate with the memory 902 and execute the series of instruction operations stored in the memory 902 on the electronic device 900.

[0121] Electronic device 900 may also include one or more power supplies 905, one or more wired or wireless network interfaces 904, one or more input / output interfaces 903, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0122] The central processing unit 901 can perform the operations performed by the first aspect or any specific method embodiment of the first aspect, which will not be described in detail here.

[0123] This application provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method as described in the first aspect or any specific implementation thereof.

[0124] This application provides a computer program product containing instructions or computer programs, which, when run on a computer, causes the computer to perform the method described in the first aspect or any specific implementation thereof.

[0125] It is understood that, in the various embodiments of this application, the sequence number of each step does not imply the order of execution. The execution order of each step should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0126] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

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

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

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

[0130] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.< / resource> < / hipdtask> < / qipdtask> < / ipdtask>

Claims

1. A method for displaying multidimensional data, characterized in that, include: In response to a display request for a target project, dimensional data for each dimension of the target project is obtained; the target project includes multiple tasks, and the display request instructs the display of the target task among the multiple tasks; Based on the dimensional dependencies of each task in the target project across multiple dimensions, determine the dimensional dependency rules of the target project. Based on the dimensional dependency rules and the dimensional data of each dimension in the target project, multidimensional cross data of the target task in multiple dimensions is generated; The multidimensional cross data is sent to the front end, and the front end is controlled to perform visualization rendering on the front end interface based on the multidimensional cross data to generate and display a multidimensional swimlane diagram.

2. The display method according to claim 1, characterized in that, The target project includes: task dimension, stage dimension, and domain dimension; The process of determining the dimensional dependency rules of the target project based on the dimensional dependencies of each task in the target project across multiple dimensions includes: The dimension dependency rules of the target project are obtained by determining the association of each task in the task dimension, the belonging of each task in the stage dimension, and the belonging of each task in the domain dimension.

3. The display method according to claim 2, characterized in that, The process of generating multidimensional cross-data for the target task across multiple dimensions based on the dimensional dependency rules and the dimensional data for each dimension of the target project includes: Based on the correlation of the target task in the task dimension, the associated task information of the target task is determined in the dimensional data of the task dimension; Based on the relationship of the target task in the stage dimension, the stage information of the target task is determined from the dimensional data of the stage dimension; Based on the relationship of the target task in the domain dimension, the domain information of the target task is determined from the dimensional data of the domain dimension; The associated task information of the target task, the stage information of the target task, and the domain information of the target task are assembled to obtain multidimensional cross data of the target task in multiple dimensions.

4. The display method according to claim 1, characterized in that, Controlling the front end to display a multi-dimensional swimlane diagram includes: The front-end monitors the number of task nodes, the number of connecting lines in the multi-dimensional swimlane graph, and the task filtering requests in the multi-dimensional swimlane graph. If the number of task nodes reaches a preset threshold, the associated task nodes are aggregated when displaying the multidimensional swimlane diagram. If the number of connecting lines reaches a preset complexity threshold, the connecting lines will be simplified when displaying the multidimensional swimlane diagram. If the task filtering request is received, the task nodes and connecting lines that meet the task filtering request will be focused on when displaying the multi-dimensional swimlane diagram.

5. The display method according to claim 1, characterized in that, The target project includes: task dimensions; after sending the multidimensional cross data to the front end, controlling the front end to perform visualization rendering on the front end interface based on the multidimensional cross data, and generating and displaying a multidimensional swimlane plot, the method further includes: In response to a drag request for the task tree in the multi-dimensional swimlane graph triggered by the front end, the association relationship of each task in the task tree in the task dimension after dragging is determined; the task tree includes: a parent task and its corresponding child tasks. Based on the relationship between each task in the task tree in the task dimension, verify whether there is a circular dependency of tasks after dragging; If there is a circular dependency between tasks, drag and drop operations are prohibited; If there is no circular dependency between tasks, drag-and-drop operations are allowed, and the database is updated based on the modified task after dragging, and the updated data is synchronized to the front-end page.

6. The display method according to claim 5, characterized in that, The target project also includes: stage dimension and domain dimension; Before determining the relationship between each task in the task tree in the task dimension after dragging, the process also includes: Verify whether the relationship between each task in the task tree and its domain is accurate after dragging and dropping. If so, then execute the step of determining the association relationship of each task in the task tree in the task dimension after dragging; If not, drag-and-drop operations are prohibited.

7. The display method according to claim 5, characterized in that, The step of verifying whether there is a circular dependency of tasks after dragging, based on the association relationship of each task in the task tree in the task dimension, includes: Based on the relationship between each task in the task tree in the task dimension, a directed graph of tasks is constructed. Identify and remove tasks with zero prerequisite dependencies in the directed graph of the task, and sort the tasks in the directed graph of the task. If the sorting is successful, it is determined that there is no circular dependency between tasks; If sorting fails, it indicates the existence of a circular dependency between tasks.

8. The display method according to claim 5, characterized in that, The process of updating the database based on the modified task after dragging and dropping includes: Determine the start time, end time, and floating time of the associated tasks corresponding to the modified task; The new critical path in the multi-dimensional swimlane graph after dragging is determined based on the float time of the associated task corresponding to the modified task. Update the database with the start time, end time (with floating time), and new critical path of the associated tasks corresponding to the modified task.

9. A multidimensional data display device, characterized in that, include: An acquisition unit is configured to acquire dimension data for each dimension of the target project in response to a display request for the target project; the target project includes multiple tasks, and the display request instructs the display of the target task among the multiple tasks; The determining unit is used to determine the dimension dependency rules of the target project based on the dimension dependency relationships of each task in the target project in multiple dimensions; The generation unit is used to generate multidimensional cross data of the target task in multiple dimensions based on the dimensional dependency rules and the dimensional data of each dimension in the target project. The sending unit is used to send the multidimensional cross data to the front end, and control the front end to perform visualization rendering on the front end interface based on the multidimensional cross data, and generate and display a multidimensional swimlane diagram.

10. An electronic device, characterized in that, include: Central processing unit, memory, and input / output interfaces; The memory is either a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the method according to any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 8.

12. A computer program product comprising instructions or a computer program, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 8.