CN116595089A - Task dependency graph layout method, device, equipment and storage medium - Google Patents

Task dependency graph layout method, device, equipment and storage medium Download PDF

Info

Publication number
CN116595089A
CN116595089A CN202310573664.6A CN202310573664A CN116595089A CN 116595089 A CN116595089 A CN 116595089A CN 202310573664 A CN202310573664 A CN 202310573664A CN 116595089 A CN116595089 A CN 116595089A
Authority
CN
China
Prior art keywords
task
node
nodes
dependency graph
aggregation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310573664.6A
Other languages
Chinese (zh)
Inventor
林嘉俊
张柱欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Quyan Network Technology Co ltd
Original Assignee
Guangzhou Quyan Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Quyan Network Technology Co ltd filed Critical Guangzhou Quyan Network Technology Co ltd
Priority to CN202310573664.6A priority Critical patent/CN116595089A/en
Publication of CN116595089A publication Critical patent/CN116595089A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The application discloses a task dependency graph layout method, a device, equipment and a storage medium, wherein the method comprises the following steps: reading node attributes of task nodes and node levels to which the task nodes belong from an original task dependency graph, aggregating the task nodes with the same node attributes belonging to the same node level into an aggregate node, arranging the aggregate nodes according to the order of the node levels, and rendering a target task dependency graph comprising the connection relation of the aggregate nodes. According to the method, task nodes with the same node attribute belonging to the same node level are aggregated into one aggregation node, the aggregation nodes are rearranged, the target task dependency graph comprising the connection relation of the aggregation nodes is rendered, the number of nodes and edges in the task dependency graph is reduced, the readability and the visualization effect of the task dependency graph are improved, and the graph rendering pressure is relieved.

Description

Task dependency graph layout method, device, equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a task dependency graph layout method, device, apparatus, and storage medium.
Background
In the operation and maintenance process of the data development tasks, the relationship between the data development tasks is often required to be visually displayed by means of a task dependency graph, so that a user can know specific conditions of the upstream and downstream of the tasks and master the dependency relationship between the development tasks, and reasonable operation and maintenance processing is performed. Wherein tasks are used as nodes, and the dependency relationship between the tasks is used as edge connection.
As the number of tasks increases, the number of nodes in the task dependency graph increases, and the task dependency graph becomes more complex, on the one hand, the graphics rendering pressure increases, and on the other hand, the readability of the task dependency graph is degraded.
Disclosure of Invention
The application provides a task dependency graph layout method, device, equipment and storage medium, which are used for reducing the number of nodes and edges in a task dependency graph, improving the readability and the visualization effect of the task dependency graph and relieving the graphic rendering pressure.
In a first aspect, the present application provides a task dependency graph layout method, including:
reading node attributes of task nodes and node levels to which the task nodes belong from an original task dependency graph;
aggregating task nodes belonging to the same node attribute of the same node hierarchy into an aggregation node;
and arranging the aggregation nodes according to the order of the node levels, and rendering a target task dependency graph comprising the connection relation of the aggregation nodes.
Optionally, after reading the node attribute of the task node and the node hierarchy to which the task node belongs from the original task dependency graph, the method further includes:
converting the original task dependency graph into an adjacency list;
preprocessing the original task dependency graph based on the adjacency relation in the adjacency table, wherein the preprocessing comprises deleting isolated task nodes, merging repeated task nodes and merging invalid edges.
Optionally, the node attribute includes a task type, a task state and a task priority, and aggregating task nodes belonging to the same node attribute of the same node hierarchy into one aggregated node, including:
aggregating task nodes belonging to the same task type of the same node hierarchy into an aggregate node;
or, aggregating task nodes belonging to the same task state of the same node level into an aggregation node;
or, aggregating task nodes belonging to the same task priority of the same node hierarchy into one aggregation node.
Optionally, arranging the aggregation nodes in the order of the node hierarchy, and rendering a target task dependency graph including the connection relationship of the aggregation nodes, including:
based on the node level sequence of the aggregation nodes, adopting a hierarchical layout algorithm to layout the aggregation nodes to obtain an initial task dependency graph;
calibrating the connection relation between the aggregation nodes in the initial task dependency graph, and rendering a target task dependency graph;
based on the size of the presentation page, the size of the graphic elements representing the aggregation nodes and the spacing between the aggregation nodes are adaptively adjusted.
Optionally, rendering the target task dependency graph includes:
determining the number of task nodes contained in the aggregation node;
displaying the number of task nodes contained in the aggregation node on a graphic element representing the aggregation node.
Optionally, rendering the target task dependency graph, and the task dependency graph layout method further includes:
and rendering the graphic elements of the aggregation nodes into corresponding colors based on the node attributes of the aggregation nodes, wherein the graphic elements of the aggregation nodes with different node attributes have different colors.
Optionally, the task dependency graph layout method further includes:
responding to the selection operation of the graphic elements of the aggregation node by a user, and determining task nodes contained in the selected target aggregation node;
and generating a task list on the display page, wherein the task list comprises task nodes contained in the aggregation node.
In a second aspect, the present application further provides a task dependency graph layout apparatus, including:
the information reading module is used for reading the node attribute of the task node and the node level to which the task node belongs from the original task dependency graph;
the node aggregation module is used for aggregating task nodes with the same node attribute belonging to the same node level into an aggregation node;
and the rendering module is used for arranging the aggregation nodes according to the order of the node levels and rendering a target task dependency graph comprising the connection relation of the aggregation nodes.
In a third aspect, the present application also provides an electronic device, including:
one or more processors;
a memory for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the task dependency graph layout method as provided in the first aspect of the present application.
In a fourth aspect, the present application further provides a computer readable storage medium, where computer executable instructions are stored, where the computer executable instructions are used to implement the task dependency graph layout method according to the first aspect of the present application when executed by a processor.
The task dependency graph layout method provided by the application comprises the following steps: reading node attributes of task nodes and node levels to which the task nodes belong from an original task dependency graph, aggregating the task nodes with the same node attributes belonging to the same node level into an aggregate node, arranging the aggregate nodes according to the order of the node levels, and rendering a target task dependency graph comprising the connection relation of the aggregate nodes. According to the method, task nodes with the same node attribute belonging to the same node level are aggregated into one aggregation node, the aggregation nodes are rearranged, the target task dependency graph comprising the connection relation of the aggregation nodes is rendered, the number of nodes and edges in the task dependency graph is reduced, the readability and the visualization effect of the task dependency graph are improved, and the graph rendering pressure is relieved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the application or to delineate the scope of the application. Other features of the present application will become apparent from the description that follows.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a task dependency graph layout method provided by an embodiment of the present application;
FIG. 2 is a schematic diagram of a target task dependency graph according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a task dependency graph layout device according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Specific embodiments of the present application have been shown by way of the above drawings and will be described in more detail below. The drawings and the written description are not intended to limit the scope of the inventive concepts in any way, but rather to illustrate the inventive concepts to those skilled in the art by reference to the specific embodiments.
Detailed Description
In order that those skilled in the art will better understand the present application, a technical solution in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present application without making any inventive effort, shall fall within the scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Fig. 1 is a flowchart of a task dependency graph layout method provided by the embodiment of the present application, where the embodiment may be adapted to aggregate and re-layout nodes in a complex task dependency graph to improve the readability and visualization effect of the graph and reduce the rendering pressure of the graph, and the method may be implemented by a task dependency graph layout device provided by the embodiment of the present application, where the device may be implemented by software and/or hardware, and is generally configured in an electronic device, as shown in fig. 1, where the task dependency graph layout method specifically includes the following steps:
s101, reading node attributes of task nodes and node levels to which the task nodes belong from an original task dependency graph.
In the embodiment of the present application, the original task dependency graph may be a directed acyclic graph (Directed Acyclic Graph, DAG) or other form of task dependency graph, and the embodiment of the present application is not limited herein. The original task dependency graph comprises a plurality of tasks, each task is a task node, the task nodes are connected by edges, and the direction of the edges represents the relationship between the two task nodes.
Each task node has a corresponding node attribute that may include a task type, a task state, and a task priority. By way of example, task types may include Hive type, python type, spark type, etc., task states may include ready state, run state, success state, failure state, etc., and task priorities may include high, medium, low three gear priorities.
Each task level may include a plurality of task nodes, where the task level is used to represent an execution order of the task nodes, and the higher the task level, the higher the execution order of the task nodes.
In the embodiment of the application, an original task dependency graph is obtained, and node attributes of task nodes and node levels to which the task nodes belong are read from the original task dependency graph.
In some embodiments of the present application, after node attributes of task nodes and node levels to which the task nodes belong are read from an original task dependency graph, the original task dependency graph is converted into an adjacency list, and the adjacency list is a storage structure combining sequential allocation and chain allocation, and links edges sent from the same vertex into the same single linked list called an edge linked list, so that the adjacency list can better represent adjacency relations among the task nodes. Preprocessing the original task dependency graph based on the adjacency relation in the adjacency list, wherein the preprocessing comprises deleting isolated task nodes, merging repeated task nodes and merging invalid edges, so that the workload of a subsequent processing process is reduced, and the layout efficiency is improved.
S102, task nodes with the same node attribute belonging to the same node hierarchy are aggregated into an aggregation node.
In the embodiment of the application, the task nodes with the same node attribute belonging to the same node level are aggregated into one aggregation node by adopting a node aggregation algorithm.
For example, task nodes belonging to the same task type of the same node hierarchy may be aggregated into one aggregation node; or, aggregating task nodes belonging to the same task state of the same node level into an aggregation node; or, task nodes belonging to the same node hierarchy and having the same task priority are aggregated into one aggregation node. By way of example, task nodes of the same task type belonging to the same node hierarchy are aggregated into an aggregate node, task nodes of a ready state belonging to the same node hierarchy are aggregated into an aggregate node, task nodes of an operation state belonging to the same node hierarchy are aggregated into an aggregate node, task nodes of a success state belonging to the same node hierarchy are aggregated into an aggregate node, and task nodes of a failure state belonging to the same node hierarchy are aggregated into an aggregate node.
S103, arranging aggregation nodes according to the order of node levels, and rendering a target task dependency graph comprising the connection relation of the aggregation nodes.
In the embodiment of the application, the aggregation nodes are rearranged according to the high-low order of the node level, and the target task dependency graph comprising the connection relation of the aggregation nodes is rendered.
Fig. 2 is a schematic diagram of a target task dependency graph provided in an embodiment of the present application, where, as shown in fig. 2, an original task dependency graph is divided into three node levels, task nodes with the same node attribute belonging to the same node level are aggregated into an aggregate node, and different levels are connected by a directed edge. Illustratively, 1080 ready-state task nodes in the first hierarchy are aggregated into an aggregate node "ready", 321 run-state task nodes in the first hierarchy are aggregated into an aggregate node "run", 10093 successful-state task nodes in the first hierarchy are aggregated into an aggregate node "successful", 3 failed-state task nodes in the first hierarchy are aggregated into an aggregate node "failed", and the structures of the remaining two hierarchies are similar, which is not described herein in detail.
Illustratively, in some embodiments of the present application, arranging the aggregate nodes in order of node hierarchy and rendering a target task dependency graph including the aggregate node connection relationships includes the sub-steps of:
s1031, based on the node level sequence of the aggregation nodes, adopting a hierarchical layout algorithm to layout the aggregation nodes, and obtaining an initial task dependency graph.
When the data has a certain hierarchical structure or sequence, a hierarchical layout algorithm is adopted to quickly obtain a new task dependency graph, namely an initial task dependency graph. The principle of the hierarchical layout algorithm is as follows: the layout of the nodes is hierarchical, and the nodes of each layer are arranged on the same horizontal line and are not overlapped; the number of the intersections of the edges is as small as possible, and each edge is drawn by a straight line; the path of the edges is as short as possible; the layout is as balanced as possible. It should be noted that, in other embodiments of the present application, other layout algorithms may be used to layout the aggregation nodes, for example, a force-guiding layout algorithm, a circular layout algorithm, etc., and embodiments of the present application are not limited herein.
S1032, calibrating the connection relation between the aggregation nodes in the initial task dependency graph, and rendering the target task dependency graph.
After the initial task dependency graph is obtained, the connection relation between aggregation nodes in the initial task dependency graph is calibrated, the positions of the aggregation nodes and edges are optimized and adjusted to reduce node overlapping and edge crossing, and then the target task dependency graph is obtained through rendering processing.
S1033, based on the size of the display page, the size of the graphic elements representing the aggregation nodes and the distance between the aggregation nodes are adaptively adjusted.
In the embodiment of the application, the size of the display page is obtained, and the size of the graphic elements representing the aggregation nodes and the interval between the aggregation nodes are adaptively adjusted based on the size of the display page so as to adapt to the display pages with different sizes and resolutions. The display page may be an entire area of the display screen or a partial area, which is not limited in the embodiment of the present application. Illustratively, in embodiments of the application,
in some embodiments of the present application, when rendering a target task dependency graph, the number of task nodes included in the aggregate node is counted, and the number of task nodes included in the aggregate node is displayed on a graphic element representing the aggregate node. Illustratively, as shown in FIG. 2, an aggregate node "ready" graphical element in the first hierarchy is displayed 1080, representing that the aggregate node is aggregated from 1080 ready-state task nodes, for use in visually observing and understanding task dependencies.
In some embodiments of the present application, when rendering a target task dependency graph, based on node attributes of the aggregation nodes, graphic elements of the aggregation nodes are rendered to corresponding colors, wherein the graphic elements of the aggregation nodes with different node attributes have different colors, which is convenient for intuitively observing and understanding task dependency relationships. Illustratively, as shown in fig. 2, the graphical elements of the aggregation nodes of different task states in the first hierarchy are rendered in different colors, e.g., the aggregation node "ready" is rendered white, the aggregation node "running" is rendered blue, the aggregation node "successful" is rendered green, and the aggregation node "failed" is rendered red.
In some embodiments of the present application, after rendering the target task dependency graph, the user may interact with the target task dependency graph, e.g., aggregate node and edge selection, drag, zoom in and out, etc. After user interaction, the target task dependency graph is updated in real time through a layout algorithm. When a user selects a graphic element of a certain aggregation node in the target task dependency graph, determining task nodes contained in the selected target aggregation node in response to a user selection operation of the graphic element of the aggregation node, and then generating a task list on a presentation page, wherein the task list comprises the task nodes contained in the aggregation node, so that the user can view the aggregated task nodes at any time. Illustratively, as shown in fig. 2, when a user selects the aggregate node "ready" in the first hierarchy through an input device (e.g., mouse, stylus, etc.), task nodes included in the aggregate node "ready" are determined in response to a user operation, and then a task list including all task nodes of the aggregate node package number is generated in the lower right corner of the presentation page.
The task dependency graph layout method provided by the embodiment of the application comprises the following steps: reading node attributes of task nodes and node levels to which the task nodes belong from an original task dependency graph, aggregating the task nodes with the same node attributes belonging to the same node level into an aggregate node, arranging the aggregate nodes according to the order of the node levels, and rendering a target task dependency graph comprising the connection relation of the aggregate nodes. According to the method, task nodes with the same node attribute belonging to the same node level are aggregated into one aggregation node, the aggregation nodes are rearranged, the target task dependency graph comprising the connection relation of the aggregation nodes is rendered, the number of nodes and edges in the task dependency graph is reduced, the readability and the visualization effect of the task dependency graph are improved, and the graph rendering pressure is relieved.
Fig. 3 is a schematic structural diagram of a task dependency graph layout device according to an embodiment of the present application, where, as shown in fig. 3, the task dependency graph layout device includes:
an information reading module 201, configured to read, from an original task dependency graph, a node attribute of a task node and a node level to which the task node belongs;
a node aggregation module 202, configured to aggregate task nodes belonging to the same node attribute of the same node hierarchy into an aggregate node;
and the rendering module 203 is configured to arrange the aggregation nodes in the order of the node levels, and render a target task dependency graph including the connection relationship of the aggregation nodes.
In some embodiments of the present application, the task dependency graph layout apparatus further includes:
the conversion module is used for converting the original task dependency graph into an adjacency list after reading the node attribute of the task node and the node level to which the task node belongs from the original task dependency graph;
and the preprocessing module is used for preprocessing the original task dependency graph based on the adjacency relation in the adjacency table, wherein the preprocessing comprises deleting isolated task nodes, merging repeated task nodes and merging invalid edges.
In some embodiments of the application, the node aggregation module 202 comprises:
the first aggregation sub-module is used for aggregating task nodes belonging to the same task type of the same node level into an aggregation node;
or, a second aggregation sub-module, configured to aggregate task nodes belonging to the same task state of the same node hierarchy into an aggregate node;
or, a third aggregation sub-module, configured to aggregate task nodes belonging to the same task priority of the same node hierarchy into one aggregation node.
In some embodiments of the present application, the rendering module 203 includes:
the layout sub-module is used for carrying out layout on the aggregation nodes by adopting a hierarchical layout algorithm based on the node level sequence of the aggregation nodes to obtain an initial task dependency graph;
the calibration sub-module is used for calibrating the connection relation between the aggregation nodes in the initial task dependency graph and rendering a target task dependency graph;
and the self-adapting sub-module is used for self-adapting adjusting the size of the graphic element representing the aggregation node and the interval between the aggregation nodes based on the size of the display page.
In some embodiments of the present application, the rendering module 203 further comprises:
the node number determining submodule is used for determining the number of task nodes contained in the aggregation node;
and the quantity display sub-module is used for displaying the quantity of task nodes contained in the aggregation node on the graphic element representing the aggregation node.
In some embodiments of the present application, the rendering module 203 further comprises:
and the color rendering sub-module is used for rendering the graphic elements of the aggregation nodes into corresponding colors based on the node attributes of the aggregation nodes, wherein the graphic elements of the aggregation nodes with different node attributes have different colors.
In some embodiments of the present application, the task dependency graph layout apparatus further includes:
the task node determining module is used for responding to the selection operation of the graphic elements of the aggregation node by a user and determining task nodes contained in the selected target aggregation node;
and the list display module is used for generating a task list on the display page, wherein the task list comprises task nodes contained in the aggregation nodes.
The task dependency graph layout device can execute the task dependency graph layout method provided by the embodiment of the application, and has the corresponding functional modules and beneficial effects of executing the task dependency graph layout method.
Fig. 4 is a schematic diagram of an electronic device provided by an embodiment of the present application, which is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic equipment may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the applications described and/or claimed herein.
As shown in fig. 4, the electronic device includes at least one processor 11, and a memory, such as a Read Only Memory (ROM) 12, a Random Access Memory (RAM) 13, etc., communicatively connected to the at least one processor 11, wherein the memory stores a computer program executable by the at least one processor, and the processor 11 can perform various suitable actions and processes according to the computer program stored in the Read Only Memory (ROM) 12 or the computer program loaded from the storage unit 18 into the Random Access Memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device can also be stored. The processor 11, the ROM 12 and the RAM 13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
A number of components in the electronic device are connected to the I/O interface 15, including: an input unit 16 such as a keyboard, a mouse, etc.; an output unit 17 such as various types of displays, speakers, and the like; a storage unit 18 such as a magnetic disk, an optical disk, or the like; and a communication unit 19 such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, digital Signal Processors (DSPs), and any suitable processor, controller, microcontroller, etc. The processor 11 performs the various methods and processes described above, such as the task dependency graph layout method.
In some embodiments, the task dependency graph layout method may be implemented as a computer program tangibly embodied on a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device via the ROM 12 and/or the communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the task dependency graph layout method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the task dependency graph layout method in any other suitable manner (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for carrying out methods of the present application may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be implemented. The computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present application, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) through which a user can provide input to the electronic device. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), blockchain networks, and the internet.
The computing system may include clients and servers. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service are overcome.
Embodiments of the present application also provide a computer program product comprising a computer program which, when executed by a processor, implements a task dependency graph layout method as provided by any embodiment of the present application.
Computer program product in the implementation, the computer program code for carrying out operations of the present application may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present application may be performed in parallel, sequentially, or in a different order, so long as the desired results of the technical solution of the present application are achieved, and the present application is not limited herein.
The above embodiments do not limit the scope of the present application. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the scope of the present application.

Claims (10)

1. A task dependency graph layout method, comprising:
reading node attributes of task nodes and node levels to which the task nodes belong from an original task dependency graph;
aggregating task nodes belonging to the same node attribute of the same node hierarchy into an aggregation node;
and arranging the aggregation nodes according to the order of the node levels, and rendering a target task dependency graph comprising the connection relation of the aggregation nodes.
2. The task dependency graph layout method according to claim 1, further comprising, after reading node attributes of task nodes and node levels to which the task nodes belong from an original task dependency graph:
converting the original task dependency graph into an adjacency list;
preprocessing the original task dependency graph based on the adjacency relation in the adjacency table, wherein the preprocessing comprises deleting isolated task nodes, merging repeated task nodes and merging invalid edges.
3. The task dependency graph layout method according to claim 1, wherein the node attributes include task type, task state and task priority, aggregating task nodes belonging to the same node attribute of the same node hierarchy into one aggregated node, comprising:
aggregating task nodes belonging to the same task type of the same node hierarchy into an aggregate node;
or, aggregating task nodes belonging to the same task state of the same node level into an aggregation node;
or, aggregating task nodes belonging to the same task priority of the same node hierarchy into one aggregation node.
4. A task dependency graph layout method according to any one of claims 1-3, wherein arranging the aggregation nodes in the order of the node hierarchy and rendering a target task dependency graph including the connection relationship of the aggregation nodes comprises:
based on the node level sequence of the aggregation nodes, adopting a hierarchical layout algorithm to layout the aggregation nodes to obtain an initial task dependency graph;
calibrating the connection relation between the aggregation nodes in the initial task dependency graph, and rendering a target task dependency graph;
based on the size of the presentation page, the size of the graphic elements representing the aggregation nodes and the spacing between the aggregation nodes are adaptively adjusted.
5. A task dependency graph layout method according to any one of claims 1-3, wherein rendering a target task dependency graph comprises:
determining the number of task nodes contained in the aggregation node;
displaying the number of task nodes contained in the aggregation node on a graphic element representing the aggregation node.
6. The task dependency graph layout method according to claim 5, wherein rendering the target task dependency graph further comprises:
and rendering the graphic elements of the aggregation nodes into corresponding colors based on the node attributes of the aggregation nodes, wherein the graphic elements of the aggregation nodes with different node attributes have different colors.
7. The task dependency graph layout method as claimed in claim 5, further comprising:
responding to the selection operation of the graphic elements of the aggregation node by a user, and determining task nodes contained in the selected target aggregation node;
and generating a task list on the display page, wherein the task list comprises task nodes contained in the aggregation node.
8. A task dependency graph layout apparatus, comprising:
the information reading module is used for reading the node attribute of the task node and the node level to which the task node belongs from the original task dependency graph;
the node aggregation module is used for aggregating task nodes with the same node attribute belonging to the same node level into an aggregation node;
and the rendering module is used for arranging the aggregation nodes according to the order of the node levels and rendering a target task dependency graph comprising the connection relation of the aggregation nodes.
9. An electronic device, comprising:
one or more processors;
a memory for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the task dependency graph layout method as recited in any one of claims 1-7.
10. A computer readable storage medium having stored therein computer executable instructions which when executed by a processor are for implementing the task dependency graph layout method according to any one of claims 1-7.
CN202310573664.6A 2023-05-19 2023-05-19 Task dependency graph layout method, device, equipment and storage medium Pending CN116595089A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310573664.6A CN116595089A (en) 2023-05-19 2023-05-19 Task dependency graph layout method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310573664.6A CN116595089A (en) 2023-05-19 2023-05-19 Task dependency graph layout method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116595089A true CN116595089A (en) 2023-08-15

Family

ID=87589374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310573664.6A Pending CN116595089A (en) 2023-05-19 2023-05-19 Task dependency graph layout method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116595089A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235167A (en) * 2023-11-14 2023-12-15 戎行技术有限公司 Task flow dynamic configuration method and system applied to ETL system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235167A (en) * 2023-11-14 2023-12-15 戎行技术有限公司 Task flow dynamic configuration method and system applied to ETL system
CN117235167B (en) * 2023-11-14 2024-01-30 戎行技术有限公司 Task flow dynamic configuration method and system applied to ETL system

Similar Documents

Publication Publication Date Title
CN113377890B (en) Map quality inspection method and device, electronic equipment and storage medium
CN116595089A (en) Task dependency graph layout method, device, equipment and storage medium
EP3933719A2 (en) Method, apparatus, device, storage medium and computer program product for labeling data
CN112100123A (en) Method for hierarchically displaying large-data-volume CAD (computer-aided design) files at Web front end
CN114610295A (en) Layout method, device, equipment and medium for page container
CN114758034A (en) Map generation method and device, computer-readable storage medium and electronic device
CN115904510B (en) Processing method of multi-operand instruction, graphic processor and storage medium
CN111553962A (en) Chart display method, system and display equipment
CN115374499A (en) Dimension marking method and device, electronic equipment and storage medium
CN114882313B (en) Method, device, electronic equipment and storage medium for generating image annotation information
CN114564268A (en) Equipment management method and device, electronic equipment and storage medium
CN113608809A (en) Component layout method, device, equipment, storage medium and program product
CN114842109A (en) Method and device for realizing multidimensional analysis, electronic equipment and medium
CN115328607B (en) Semiconductor device rendering method, device, equipment and storage medium
CN113342413B (en) Method, apparatus, device, medium, and article for processing components
CN115272524B (en) Multi-curve parallel drawing method, device, equipment and storage medium
CN113779098B (en) Data processing method, device, electronic equipment and storage medium
CN117234509A (en) Routing management method, device and equipment of front-end page and storage medium
CN116820656A (en) Large screen interface generation method, device, equipment and storage medium
CN117131300A (en) Content display method, device, equipment and storage medium
CN114741078A (en) Data billboard configuration system and method
CN114491192A (en) Data visualization method, device, equipment and storage medium
CN114485716A (en) Lane rendering method and device, electronic equipment and storage medium
CN117827207A (en) Dynamic construction method, device, equipment and medium of primitive panel
CN115761093A (en) Rendering method, rendering device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination