WO2016192604A1 - 一种全局任务节点依赖关系可视化方法、装置和系统 - Google Patents
一种全局任务节点依赖关系可视化方法、装置和系统 Download PDFInfo
- Publication number
- WO2016192604A1 WO2016192604A1 PCT/CN2016/083889 CN2016083889W WO2016192604A1 WO 2016192604 A1 WO2016192604 A1 WO 2016192604A1 CN 2016083889 W CN2016083889 W CN 2016083889W WO 2016192604 A1 WO2016192604 A1 WO 2016192604A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task node
- node
- current
- upstream
- downstream
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Definitions
- the present application relates to the field of computer technology, and in particular, to a global task node dependency visualization method, a global task node dependency visualization device, and a global task node dependency visualization system.
- ODPS platform Open Data Processing Service
- TB/PB data data processing platforms deal with various data, such as ODPS platform (Open Data Processing Service), which provides low-level real-time requirements for TB/PB data.
- ODPS platform Open Data Processing Service
- the distributed processing capability can be applied to data analysis, mining, business intelligence and other fields.
- the developer will disassemble it into a series of tasks deployed to the data platform, which is the smallest scheduled job unit running on the data platform. There may be some dependencies between tasks, and each task can be considered as a task node in the data service. For data developers, they need to monitor the task nodes they deploy.
- the prior monitoring task node monitoring method is that the user sends an http request on the client, and transmits the task node ID to the background server, and the background server obtains the task node of the next level according to the ID, and then returns the task node to the task node.
- the client displays the task node of this level.
- the next-level task node of the current task node can be displayed, and the one-sided task surface is displayed; and, for a task node A, the user needs to perform multiple click operations step by step to obtain the downstream dependent task node of the task node. Therefore, the downstream dependencies are obtained.
- the task nodes at the next level of task node A include A1, A2, and A3, and the user needs to click A1, A2, and A3 respectively to obtain the next-level task nodes of A1, A2, and A3, thereby obtaining Part of the downstream dependency of task node A. Therefore, the user operation of the above process is cumbersome, and the dependency is only a downstream dependency, which is not comprehensive.
- embodiments of the present application are provided to provide a global task node dependency visualization method and a corresponding global task node dependency visualization device, and a corresponding global task node dependency visualization method, which overcome the above problems or at least partially solve the above problems.
- Global task node dependency visualization system
- a global task node dependency visualization method including:
- the task display request includes an identifier of a current task node
- the global relation tree is rendered and displayed.
- the present application also discloses a global task node dependency visualization device, including:
- Displaying a request initiation module configured to initiate a task display request; the task display request includes an identifier of a current task node;
- a recursive search module configured to recursively search an upstream dependent task node and a downstream dependent task node respectively according to an identifier of a current task node in the task display request, starting from a current task node; wherein, in the recursive process, acquiring the Status data and dependencies of the current task node, the upstream dependent task node, and the downstream dependent task node;
- a rendering module is used to render and display a global relationship tree based on state data and dependencies of each task node.
- the embodiment of the present application initiates a task display request including the identifier of the current task node for a task node currently clicked by the user, and then recursively searches for the upstream dependent task node and the current task node according to the identifier of the current task node.
- the downstream depends on the task node, and can obtain the state data and the dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node in the recursive process, and then can be based on the current task node, the upstream dependent task node, and the downstream dependent task node.
- State data and dependencies are rendered and displayed in a global relationship tree.
- the embodiment of the present application only needs one click operation by the user, that is, only the client sends a task display request, and the upstream dependent node and the downstream dependent node of the current task node are rendered together as a global relationship tree to be displayed to the user.
- the user's operation steps are saved, and because the current stage has a comprehensive dependency, the upstream and downstream dependencies of the current task node can be displayed at the same time, so that the user can uniformly manage the tasks of the deployment.
- FIG. 1 is a flow chart of steps of an embodiment of a global task node dependency visualization method according to the present application
- FIG. 1A is an example of a dependency relationship between task nodes
- 1B is an example of forward rendering for a downstream dependent task node of task node 6 of FIG. 1A;
- 1C is directed to an example of forward rendering of an upstream dependent task node of task node 6 in FIG. 1A;
- FIG. 1D is an example of splicing and rendering for the rendering results in FIGS. 1B and 1C; FIG.
- FIG. 2 is a flow chart of steps of another embodiment of a global task node dependency visualization method according to the present application.
- FIG. 3 is a structural block diagram of an embodiment of a global task node dependency visualization device of the present application.
- FIG. 4 is a structural block diagram of another embodiment of a global task node dependency visualization device of the present application.
- FIG. 5 is a structural block diagram of an embodiment of a global task node dependency visualization system of the present application.
- One of the core concepts of the embodiment of the present application is that a request is presented to a background server by a one-time task triggered by a user for a task node, and the background server recursively searches for an upstream task node and a downstream task node of the task node, and then recursively
- the acquired state data and dependencies of each task node are returned to the front end, and the state data of each task node is rendered in a dependency relationship at the front end. Therefore, the user can render and display the global task dependency of a task node in one operation, greatly reducing the number of operations of the user, facilitating the unified management of the global task node, and improving the ease of use of the product.
- FIG. 1 a flow chart of steps of a method for visualizing a global task node dependency of the present application is shown, which may specifically include the following steps:
- Step 110 Initiating a task display request; the task display request includes an identifier of a current task node;
- the ODPS platform is taken as an example.
- the data service is split into a series of tasks deployed to the ODPS platform, and the task is a minimum scheduling run on the data platform.
- Job unit Since there are dependencies between the tasks of the series of tasks, each task can be regarded as a task node, and each task node may have a dependency relationship with one or more task nodes. As shown in the example of FIG.
- the results of the processing of the task nodes 1, 2, 3 are transmitted downward to the task node 5, and the result of the processing of the task node 5 is transmitted downward to the task node 7, and the result of the processing of the task node 7 is transmitted downward to
- the task nodes 10, 11, the data processed by the task node 0 are transmitted downward to the task node 3, the results of the task nodes 3, 4 are transmitted downward to the task node 6, and the result of the task node 6 is transmitted downward to the task node 7, 8, 9, the result of the task node 8 processing is transmitted down to the task node 12, and so on.
- the embodiment of the present application may use the form of an ajax request to the background server for the task display request.
- Ajax Asynchronous JavaScript And XML, asynchronous JavaScript and XML), including JavaScript (scripting language), XML (Extensible Markup Language).
- Ajax can get the server's data without refreshing the page and then update it to the page in real time.
- the core of Ajax is the JavaScript object XmlHttpRequest. This object was first introduced in Internet Explorer 5 and is a technology that supports asynchronous requests.
- the current task node identifier may be configured to construct an ajax request, and the process is as follows:
- the HTTP method includes: a GET method or a POST method, where one can be selected, and the ID of the current task node is written in the HTTP method.
- the target URL is the address of the background server.
- Step 120 Retrieving the upstream dependent task node and the downstream dependent task node respectively according to the identifier of the current task node in the task display request, starting from the current task node; wherein, in the recursive process, acquiring the current task node Status data and dependencies of upstream dependent task nodes and downstream dependent task nodes;
- the task node where the 6 is located can be recursively searched upstream and downstream, and the upstream node and the downstream dependent node of the task node 6 are searched.
- the upstream dependency of the task node 6 is that the task node 6 depends on the task node 3 and the task node 4, and the task node 3 depends on the task node 0.
- the downstream dependencies of the task node 6 are: the task node 6 depends on the task node 8 and the task node 9, and the task node 8 depends on the task node 12.
- each time recursive to a task node the state data and the dependency relationship of the task node are obtained.
- the status data of the task node includes: running, running successfully, and running failure.
- each task node may also be acquired, such as the name of the task node, whether the task node is a leaf node, and the level depth of the current task node in the task node relative to the task display request.
- the task node relationship data table is predefined in the background server, and includes at least four fields: a task node ID, a node data table ID, a dependency type, and a node data table type, as shown in the table (1).
- the action_id is the task node ID.
- Table_id is the node data table ID.
- Type is a dependency type, indicating whether the node data table is dependent on the upstream or downstream of the task node, such as 1 for upstream dependencies and 2 for downstream dependencies.
- the first-level task node that the task node ID depends on is recorded in each node data table.
- the corresponding node data table is 001
- the task node 6 is upstream to the first-level task node in the node data table 001
- the lag node data table 001 includes the task node ⁇ 3, 4 ⁇ .
- a task node is a leaf node, it no longer has a downstream dependent node data table, and the type corresponding to the task node can be set to 0, indicating that for the recursive path, the end can be recursively other than Recursive path.
- Table_type_id node data table type such as odps table, ump table,
- the embodiment of the present application may perform an upstream recursive search and a downstream recursive search according to the foregoing table, and may obtain a dependency relationship of a task node according to the content of the table (1), and then actually run the task according to the searched ID.
- the state data of the task node is obtained in the compute node of the node.
- the state data of the task node can also be added to the corresponding state data field of the corresponding task node of the table (1) in real time, so when the recursion of the present application, the state of a certain task node can be obtained directly through the table (1). data.
- the step 120 includes:
- the current task node is used as a starting point, and the depth-first search algorithm is used to perform recursive search to the upstream and downstream, respectively, and the state data and the dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node are obtained.
- the method of recursively searching to the upstream using the current task node as a starting point and recursively searching from the current task node as a starting point may adopt a dfs algorithm (Depth First Search).
- the task node 6 is searched recursively according to the identifier 6, and the state data of the task node 6 is obtained.
- the task nodes that are dependent on each other are 3, 4, 3, and 4 are the first level.
- the upstream node of the task node 6 is recursively searched for the upstream node, and the state data and the dependency relationship of each upstream dependent node are also obtained.
- the task node 6 is recursively upstream, the task node 6 is first recursively searched according to the identifier 6, and the state data of 6 is obtained, and the task nodes that depend on it are 7, 8, and 9; and then the task node is searched down recursively. 7, the state data of the task node 7 is obtained, which depends on the task nodes 10, 11, and then recursively searches down to the task node 10, then obtains the state data of the task node 10, and the downward relationship of the task node 10 is empty.
- the recursive path ends; if the recursive search reaches 11, the state data of the task node 11 is obtained, the downward dependency of the task node 11 is empty, and the recursive path ends; and the recursive search to the task node 8 acquires the task
- the state data of the node 8 the task node 8 has an upward dependency of 12, then acquires the state data of the task node 12, and the downward dependency of the task node 12 is empty, then the recursive path ends; and then the task node is searched down recursively. 9, the state data of the task node 9 is obtained, and the downward relationship of the task node 9 is empty, and the recursive path ends.
- all the downstream dependent nodes of the task node 6 are searched recursively, and the state data and dependencies of the respective upstream dependent nodes are also obtained.
- the method further includes:
- Step 122 The preset data structure is used to store the state data and the dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node as a data file.
- the preset data structure includes: a first field: used for: Stores an upstream dependency of the recursive form; a second field: a downstream dependency for storing the recursive form; a third field: a task node identifier for storing the current recursion level; and a fourth field: a task node for storing the current recursion level Status data.
- a preset data structure may be preset, where the preset data structure includes: a first field: an upstream dependency for storing a recursive form; and a second field: a downstream dependency for storing a recursive form. a third field: a task node identifier for storing the current recursive level; and a fourth field: state data for storing the task node of the current recursive level.
- the state data and the dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node may be stored as a data file through the preset data structure.
- Deptreenodelist is the first field, in which the upstream dependency of the recursive form is stored in the Objiect ⁇ ... ⁇ ; the second field of the children stores the recursive form of the downstream dependency in the Objiect ⁇ ... ⁇ ; the actionid is the third field For storing the task node identifier of the current recursive level; status is the fourth field for storing the state data of the task node of the current recursive level, for example, 1 means running successfully, 2 means running failure, 3 means running; program means task The source program corresponding to the node, that is, the code actually executed by the task; errMsg indicates the error identifier returned to the client, such as network failure, database error, and other system-level errors.
- the stored result is as follows:
- the state data and the dependency relationship of each task node are nested and stored to obtain an upstream dependency of the recursive form, and the state data of each task node is stored in the data structure of the corresponding level.
- the outermost layer is the data structure of the task node 6, and then the data structure of the next-level task node, that is, the data structure of the task node 3, 4, is embedded in the first field of the data structure of the task node 6, and then the task node
- the data structure of task node 0 is embedded in the first field of the data structure of 3.
- downstream dependent task node can be nested in the children field of the outermost data structure to obtain a recursive form of the downstream dependency.
- is_leaf indicates whether the task node is a leaf node, and can set -1 to no, 1 to be; depth indicates the level depth of the current task node in the task node relative to the task display request, for example, for task node 6, the level is 0, for each additional level, the number is incremented by 1; the name of the name is the name of the task node, such as the name of task node 6 qingxiao.
- the various information and dependencies of the current task node, the upstream dependent task node, and the downstream dependent node can be stored in a recursive form of the upstream dependency by means of nesting the data structure.
- the recursive form of the downstream dependencies is stored, thereby obtaining a data file.
- each task node may be searched for each recursively, and the state data and the dependency relationship of the task node are stored according to the preset data structure.
- the step 120 includes:
- Step A20 Recursively search for the upstream dependent task node and the downstream dependent task node in the distributed cache according to the identifier of the current task node in the task display request, starting from the current task node;
- step A22 when the upstream dependent task node and the downstream dependent task node are not acquired in the distributed cache, the database is recursively searched for the upstream dependent task node and the downstream dependent task node respectively.
- the data of each task node such as the data of the foregoing table (1), is stored in the database of the background server in advance, and when the background server receives the task display request sent by the client, if directly from the task display request
- the recursive search in the database of the background server is long, and the waiting time of the client is also long.
- the background server in the embodiment of the present application may firstly collect data and dependencies of some or all of the task nodes. Put it in the distributed cache.
- the upstream is first performed in the distributed cache.
- the recursive search acquires the upstream dependent task node and performs a downstream recursive search to obtain the downstream dependent task node. If there is no recursive search for the upstream dependent task node and or the downstream dependent task node in the distributed cache, then step B12 can be directly entered.
- Step 130 Render and display a global relationship tree based on the state data and the dependency relationship of each task node.
- the state data and the dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node may be rendered on the client and rendered as a global relationship tree for display.
- each icon of the task node its state data may be displayed in the form of color. As shown in FIG. 1D, white indicates that the operation is successful, for example, the color representation of the task node 10 is running, and the task 12 is Color indicates that the operation failed. Of course, it can also be displayed in other ways.
- the specific manner of rendering the icon of the task node is not limited in this application.
- the step 130 includes:
- Sub-step 132 Based on the state data and the dependency relationship between the current task node, the upstream dependent task node, and the downstream dependent task node stored in the preset data structure, the global relationship tree is rendered and displayed.
- the background file may be returned to the client, and then the client may
- the data file is parsed according to a predetermined convention, and the state data and the dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node in the data file are obtained, wherein in the foregoing example, the first field stores the recursive form of the upstream dependency.
- the second field stores the downstream dependency of the recursive form;
- the third field stores the current task node identifier;
- the fourth field stores the state data of the task node; if there are other fields, the corresponding data is extracted according to the corresponding reservation.
- the client can then render based on the data in the preset data structure described above, and obtain a global relationship tree for display.
- the client may be a browser, and preferably may be a browser supporting html5canvas, and the browser can smoothly support the ajax function.
- step 130 includes:
- Sub-step A30 using the current task node as the root node, performing forward rendering to obtain the first multi-fork tree according to the state data and the dependency relationship of the current task node and the downstream dependent task node;
- the data visualization tool d3.js (bsd liences) can be used for rendering, d3.js is A data visualization framework whose open source protocol is the bsd protocol. Then, the embodiment of the present application can adopt the treelayout in d3.js, and use the current task node as the root node to forward forward any node and the downstream task node to obtain a forward multi-fork tree.
- Sub-step A32 using the specified task node as a root node, performing reverse rendering to obtain a second multi-fork tree according to the state data and the dependency relationship of the current task node and the upstream dependent task node;
- the embodiment of the present application can adopt the treelayout in d3.js, and use the current task node as the root node to perform reverse rendering on any current node and the upstream task node to obtain a reverse multi-fork tree.
- the embodiment of the present invention extends the function of the treelayout so that it can perform reverse rendering.
- the sub-step A32 includes:
- Sub-step A321 using the specified task node as a root node, performing forward rendering to obtain a second multi-fork tree in the same direction as the first multi-fork tree according to the state data and the dependency relationship of the current task node and the downstream dependent task node;
- the treelayout of the d3.js only supports the rendering of the nodes of the children field, and can only be rendered as a multi-fork tree.
- the node of the child nature is the downstream dependent task node.
- the embodiment of the present application copies a set of children's rendering manner in the treelayout, and replaces the children field in the copied rendering mode with the deptreenodelist.
- the rendering process of the upstream dependent task node is substantially consistent with the rendering process of the downstream dependent task node. Get two multi-fork trees in the same direction.
- FIG. 1B is a first multi-tree example for rendering a downstream dependent task node
- FIG. 1C is a first multi-tree example for rendering an upstream dependent task node.
- Sub-step A322 inverting the second multi-fork tree in the same direction as the first multi-fork tree to obtain a final second multi-fork tree.
- the second multi-fork tree After obtaining the first multi-fork tree and the second multi-fork tree in the same direction, in order to obtain a global relationship tree for the current task node, the second multi-fork tree needs to be inverted to be opposite to the direction of the first multi-fork tree.
- the direction may be arbitrarily changed, and only the multi-fork trees of the two do not affect the display of the dependencies, for example, the first multiple The fork tree is displayed downward, and the second multi-fork tree is displayed upwards.
- the embodiment of the present application does not limit the same.
- Sub-step A34 the first multi-fork tree and the second multi-fork tree are spliced into a global relationship tree and displayed.
- the embodiment of the present application may splicing the first multi-fork tree and the second multi-fork tree, and the splicing may be performed on two multi-fork trees
- the rendering graph of the current task node overlaps to obtain the global relationship tree of the current task node, and then the global relationship tree can be displayed on the client.
- Figure 1D shows the results of the foregoing examples.
- the technician inertially sets the downstream task nodes to display, and according to the click operation, acquires the data of the next-level task node of each node for display. .
- a task display request including the identifier of the current task node is initiated for a task node currently clicked by the user, and then the current task node is used as a starting point to recursively search for the upstream dependent task node according to the identifier of the current task node.
- downstream dependent task nodes and can obtain state data and dependencies of the current task node, the upstream dependent task node, and the downstream dependent task node in the recursive process, then the current task node, the upstream dependent task node, and the downstream dependent task node
- the state data and dependencies are rendered and presented in a global relationship tree.
- the embodiment of the present application only needs one click operation by the user, that is, only the client sends a task display request, and the upstream dependent node and the downstream dependent node of the current task node are rendered together as a global relationship tree to be displayed to the user.
- the user's operation steps are saved, and because the current stage has a comprehensive dependency, the upstream and downstream dependencies of the current task node can be displayed at the same time, so that the user can uniformly manage the tasks of the deployment.
- the method may include the following steps:
- Step 210 Initiating a task display request; the task display request includes an identifier of a current task node, and an upstream dependency level and a downstream dependency level starting from the current task node;
- the user may set an upstream dependency hierarchy and a downstream dependency hierarchy to be displayed on the client, specify the ID of the current task node, and then send the request to the background server through the task display request.
- the upstream dependency level and the downstream dependency level are both levels relative to the current task node.
- the task node 6 in FIG. 1A, the task nodes 3 and 4 directly associated with the task node 6 are the first-level upstream dependencies of the task node 6, and the 0 directly associated with the task node 3 is the second-level upstream of the relative task node 6.
- the task nodes 7, 8, and 9 directly associated with the task node 6 are the first-level downstream dependencies of the task node 6, and the 10, 11 directly associated with the task node 7 are the second-level upstream dependencies of the relative task node 6
- the 12 associated with task node 8 is the second level upstream dependency of task node 6.
- Step 220 According to the identifier of the current task node in the task display request, use the current task node as a starting point to recursively search for the upstream dependent task node within the upstream dependency hierarchy and the downstream dependency within the downstream dependency hierarchy. a task node; wherein, in the recursive process, acquiring state data and a dependency relationship of the current task node, an upstream dependent task node, and a downstream dependent task node;
- the background server may recursively search upstream according to the identifier of the current task node, for example, the upstream dependency level is 2, and the downstream dependency level is 2,
- the task node 6 For the task node 6 to recursively upstream, then firstly according to the identifier 6, recursively search to the task node 6, then obtain the state data of the task node 6, its upward dependent task node is 3, 4; then recursively search to the task node 3 Obtaining the state data of the task node 3, which depends on the task node 0 upward; and then recursively searches to the task node 0, and obtains the state data of the task node 0, the upward relationship of the task node 0 is empty, and the recursive path ends. And then recursively search to the task node 4, then obtain the state data of the task node 4, and the task node 4 upward dependency is empty, then the recursive path ends. At this point, all the upstream dependent nodes of the task node 6 are searched recursively, and the state data and dependencies of the respective upstream dependent nodes are also obtained.
- the task node 6 is recursively upstream, the task node 6 is first recursively searched according to the identifier 6, and the state data of 6 is obtained, and the task nodes that are dependent on it are 7, 8, 9, 7, 8, and 9 are the first.
- Level downstream dependency then recursively search to task node 7, then obtain the state data of task node 7, which depends on task nodes 10, 11, 10, 11 as the second level downstream dependency, and then recursively search for the task
- the node 10 obtains the state data of the task node 10, and since it is already the second-level downstream dependency, it is no longer recursive downward, even if there is a task node downstream, so the recursive path ends; and then recursively searches for 11, then obtains The state data of the task node 11 is no longer recursive downward because it is already a second-level downstream dependency, even if there is a task node downstream, the recursive path ends; and after recursively searching to the task node 8, the task node 8 is acquired.
- the task node 8 has an upward dependency of 12, and obtains the state data of the task node 12. Since it is already a second-level downstream dependency, it is no longer recursive downward, even if there is a task node downstream. Therefore, the recursive path ends; after recursively searching to the task node 9, the state data of the task node 9 is obtained, and the downward dependency of the task node 9 is empty, and the recursive path ends. At this point, the downstream dependent nodes within the level 2 of the task node 6 are recursively searched, and the state data and dependencies of the respective upstream dependent nodes are also obtained.
- the table (1) in the first embodiment can also be preset in the database, and the recursive search is performed according to the table (1).
- the content in Table (1) can be partially or completely placed in the distributed cache.
- the state data and the dependency relationship of the obtained current task node, the upstream dependent task node, and the downstream dependent task node may be stored as data files by adopting a preset data structure similar to that in Embodiment 1. Then return the data file to the client, and the client can parse the data file for rendering, and get the whole Bureau relationship tree.
- Step 230 Render and display a global relationship tree based on the state data and the dependency relationship of each task node.
- a task display request including an identifier of the current task node and an upstream dependency level and a downstream dependency level are initiated for a task node currently clicked by the user, and then the current task node is used as a starting point according to the identifier of the current task node.
- the embodiment of the present application only needs one click operation by the user, that is, only the client sends a task display request, and the upstream dependent node and the downstream dependent node of the current task node are rendered together as a global relationship tree to be displayed to the user.
- the user's operation steps are saved, and since the current stage has a comprehensive dependency, the upstream and downstream dependencies of the current task node can be displayed at the same time, and since the upstream and downstream dependency levels can be set, the user can further conveniently manage the tasks of the deployment.
- FIG. 3 a structural block diagram of an embodiment of a global task node relationship visualization device of the present application is shown, which may specifically include the following modules:
- a request request initiating module 310 configured to initiate a task display request; the task display request includes an identifier of a current task node;
- the recursive search module 320 is configured to recursively search the upstream dependent task node and the downstream dependent task node respectively according to the identifier of the current task node in the task display request, starting from the current task node; wherein, in the recursive process, obtaining the location State data and dependencies of the current task node, the upstream dependent task node, and the downstream dependent task node;
- the rendering display module 330 is configured to render and display the global relationship tree based on the state data and the dependency relationship of each task node.
- the method further includes:
- a node data storage module configured to store, by using a preset data structure, status data and a dependency relationship of the current task node, an upstream dependent task node, and a downstream dependent task node as a data file;
- the preset data structure includes: Field: for storing the recursive form of the upstream dependency; the second field: for storing the recursive form of the downstream dependency; the third field: for storing the current recursive level of the task node identifier; the fourth field: for storing the current recursion Status data of the task nodes of the level;
- the rendering display module includes:
- the first rendering display module is configured to render and display a global relationship tree based on state data and dependencies of the current task node, the upstream dependent task node, and the downstream dependent task node stored in the preset data structure.
- the rendering display module 330 includes
- the first multi-fork tree rendering module is configured to use the current task node as a root node, and perform forward rendering to obtain a first multi-fork tree according to state data and dependencies of the current task node and the downstream dependent task node;
- a second multi-fork tree rendering module configured to use the specified task node as a root node, and perform reverse rendering according to state data and dependencies of the current task node and the upstream dependent task node to obtain a second multi-fork tree;
- the splicing display module is configured to splicing the first multi-fork tree and the second multi-fork tree into a global relationship tree and displaying the same.
- the second multi-tree rendering module includes:
- the same direction rendering module is configured to use the specified task node as a root node, and perform forward rendering to obtain a second multi-fork in the same direction as the first multi-fork tree according to the state data and the dependency relationship of the current task node and the downstream dependent task node. tree;
- an inverting module configured to invert a second multi-fork tree in the same direction as the first multi-fork tree to obtain a final second multi-fork tree.
- the recursive search module 320 includes:
- the deep recursive search module is configured to use the current task node as a starting point to perform a recursive search to the upstream and downstream by using a depth-first search algorithm, and obtain state data and dependencies of the current task node, the upstream dependent task node, and the downstream dependent task node. .
- the recursive search module 320 includes:
- a distributed search module configured to recursively search for an upstream dependent task node and a downstream dependent task node in a distributed cache according to an identifier of a current task node in the task display request, starting from a current task node;
- the database search module is configured to recursively search the upstream dependent task node and the downstream dependent task node respectively in the database when the upstream dependent task node and the downstream dependent task node are not acquired in the distributed cache.
- FIG. 4 a structural block diagram of an embodiment of a global task node relationship visualization device of the present application is shown, which may specifically include the following modules:
- a request request initiating module 410 configured to initiate a task display request;
- the task display request includes an identifier of a current task node, and an upstream dependency level and a downstream dependency level starting from the current task node;
- the recursive search module 420 specifically includes:
- the hierarchical recursive search module 422 is configured to recursively search for the upstream dependent task node and the downstream of the downstream dependent hierarchy within the upstream dependency level according to the identifier of the current task node in the task display request, starting from the current task node. Relying on the task node; wherein, in the recursive process, acquiring state data and a dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node;
- the rendering display module 430 is configured to render and display the global relationship tree based on the state data and the dependency relationship of each task node.
- FIG. 5 a structural block diagram of an embodiment of a global task node relationship visualization system of the present application is shown, which may specifically include the following modules:
- Client 510 and background server 520 Client 510 and background server 520;
- the client 510 includes:
- a presentation request initiation module 512 configured to initiate a task presentation request; the task presentation request includes an identifier of a current task node;
- the rendering display module 514 is configured to render and display the global relationship tree based on the state data and the dependency relationship of each task node;
- the background server 520 includes:
- the recursive search module 522 is configured to recursively search the upstream dependent task node and the downstream dependent task node respectively according to the identifier of the current task node in the task display request, starting from the current task node; wherein, in the recursive process, obtaining the location
- the state data and the dependency relationship of the current task node, the upstream dependent task node, and the downstream dependent task node are described, and the state data and the dependency relationship of each task node are returned to the client.
- the background server further includes:
- a node data storage module configured to store, by using a preset data structure, status data and a dependency relationship of the current task node, an upstream dependent task node, and a downstream dependent task node as a data file, and return the data file to the client;
- the preset data structure includes: a first field: an upstream dependency for storing a recursive form; a second field: a downstream dependency for storing a recursive form; and a third field: a task section for storing a current recursive level Point identifier; fourth field: state data for storing the task node of the current recursive level;
- the rendering module includes:
- the first rendering module is configured to render and display a global relationship tree based on state data and dependencies of the current task node, the upstream dependent task node, and the downstream dependent task node stored in the preset data structure.
- the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
- embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
- RAM random access memory
- ROM read only memory
- Memory is an example of a computer readable medium.
- Computer readable media includes both permanent and non-persistent, removable and non-removable media.
- Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
- computer readable media does not include non-persistent computer readable media, such as modulated data signals and carrier waves.
- Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. Can Providing such computer program instructions to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device Means for implementing the functions specified in one or more flows of the flowchart or in a block or blocks of the flowchart.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种全局任务节点依赖关系可视化方法、装置和系统,涉及计算机技术领域。所述方法包括:发起任务展示请求;所述任务展示请求包括当前任务节点的标识(110);根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系(120);基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示(130)。本方法节省了用户的操作步骤,并且由于当前阶段的依赖关系全面,可同时展示当前任务节点的上、下游的依赖关系,方便用户统一管理其部署的任务。
Description
本申请要求2015年06月05日递交的申请号为201510303336.X、发明名称为“一种全局任务节点依赖关系可视化方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及计算机技术领域,特别是涉及一种全局任务节点依赖关系可视化方法、一种全局任务节点依赖关系可视化装置和一种全局任务节点依赖关系可视化系统。
随着大数据的应用,很多数据处理平台会对各种数据进行处理,比如ODPS平台(Open Data Processing Service,开放数据处理服务),该数据平台提供针对TB/PB级数据、实时性要求不高的分布式处理能力,可应用于数据分析、挖掘、商业智能等领域。
那么在数据开发过程中,针对某个数据业务,开发者会将其拆解为一系列的任务部署到数据平台中,该任务是运行在数据平台上的最小调度作业单元。其中,各个任务之间可能存在某种依赖关系,每个任务可以认为是该数据业务中的一个任务节点。而对于数据开发者,其需要对自己部署的任务节点进行监控。
在先的监控任务节点监控方法,其是用户在客户端发送http请求,将任务节点ID传输到后台服务器,后台服务器根据该ID拿到下一级的任务节点,然后将该级任务节点返回给客户端,客户端则展现该级任务节点。但是上述过程,只能展示当前任务节点的下一级任务节点,展示片面;并且,对于一个任务节点A,需要用户逐级的多次点击操作才能得到该任务节点的部分的下游依赖的任务节点,从而得到下游依赖关系,比如任务节点A下一级的任务节点包括A1、A2、A3,用户需要分别点击A1、A2、A3才能得到A1、A2、A3各自的下一级任务节点,从而得到任务节点A的部分下游依赖关系,因此,上述过程用户操作繁琐,其得到依赖关系也只是下游依赖关系,不够全面。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种全局任务节点依赖关系可视化方法和相应的一种全局任务节点依赖关系可视化装置,以及一种全局任务节点依赖关系可视化系统。
为了解决上述问题,本申请公开了一种全局任务节点依赖关系可视化方法,包括:
发起任务展示请求;所述任务展示请求包括当前任务节点的标识;
根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;
基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
本申请还公开了一种全局任务节点依赖关系可视化装置,包括:
展示请求发起模块,用于发起任务展示请求;所述任务展示请求包括当前任务节点的标识;
递归搜索模块,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;
渲染展示模块,用于基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
本申请实施例包括以下优点:
本申请实施例对于用户当前点击的一个任务节点,发起一次包括当前任务节点的标识的任务展示请求,然后可根据当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点,并且可在递归过程中获取当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,那么即可基于当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。上述过程中,本申请实施例只需用户一次点击操作,即只需客户端发送一次任务展示请求,即可将当前任务节点的上游依赖节点和下游依赖节点一起渲染为全局关系树展示给用户,节省了用户的操作步骤,并且由于当前阶段的依赖关系全面,可同时展示当前任务节点的上、下游的依赖关系,方便用户统一管理其部署的任务。
图1是本申请的一种全局任务节点依赖关系可视化方法实施例的步骤流程图;
图1A是任务节点之间的依赖关系的一种示例;
图1B是针对图1A中任务节点6的下游依赖任务节点的正向渲染示例;
图1C针对图1A中任务节点6的上游依赖任务节点的正向渲染示例;
图1D是针对图1B和图1C中的渲染结果进行拼接后渲染的示例;
图2是本申请另一种全局任务节点依赖关系可视化方法实施例的步骤流程图;
图3是本申请的一种全局任务节点依赖关系可视化装置实施例的结构框图;
图4是本申请的另一种全局任务节点依赖关系可视化装置实施例的结构框图;
图5是本申请的一种全局任务节点依赖关系可视化系统实施例的结构框图。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,通过用户针对一任务节点所触发的一次性任务展示请求到后台服务器,后台服务器递归搜索该任务节点的上游任务节点和下游任务节点,然后将递归过程中获取到的各任务节点的状态数据及依赖关系返回给前端,在前端对各任务节点的状态数据以依赖关系进行渲染。从而使用户一次性操作就可以对某个任务节点的全局任务依赖关系进行渲染展示,大大降低用户的操作次数,方便用户对全局的任务节点进行统一管理,提升了产品的易用性。
实施例一
参照图1,示出了本申请的一种全局任务节点依赖关系可视化方法实施例的步骤流程图,具体可以包括如下步骤:
步骤110,发起任务展示请求;所述任务展示请求包括当前任务节点的标识;
在本申请实施例中,以ODPS平台为例,在对某个数据业务进行部署时,会将数据业务拆分为一系列任务部署到ODPS平台中,上述任务为运行在数据平台上的最小调度作业单元。而由于该一系列任务的各个任务之间存在依赖关系,每个任务可以看做一个任务节点,每个任务节点可能与一个或多个任务节点存在依赖关系。如图1A的示例所示,任务节点1、2、3处理的结果向下传输到任务节点5,任务节点5处理的结果向下传输到任务节点7,任务节点7处理的结果向下传输到任务节点10、11,任务节点0处理的数据向下传输到任务节点3,任务节点3、4处理的结果向下传输到任务节点6,任务节点6处理的结果向下传输到任务节点7、8、9,任务节点8处理的结果向下传输到任务节点12,其他情况以此类推。
那么如果用户想要查看任务节点6的全局依赖关系,则可以在客户端针对任务节点
6发起一次任务展示请求,该任务展示请求包括了任务节点6的ID,比如“6”。
在具体实现中,本申请实施例对于任务展示请求,可以采用ajax请求的形式到后台服务器。ajax(Asynchronous JavaScript And XML,异步的JavaScript和XML),其中JavaScript(脚本语言),XML(可扩展标记语言,Extensible Markup Language)。Ajax可以在不刷新页面的情况下对获取服务器的数据然后实时更新到页面中。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。本申请实施例中,可以将当前任务节点标识构造ajax请求,其过程大致如下:
1)创建XMLHttpRequest对象实例。
2)利用XMLHttpRequest对象的onreadystatechange属性,设定XMLHttpRequest对象的回调函数,该回调函数是用来处理服务器响应信息的。
3)设定请求属性:设定HTTP(Hypertext transfer protocol,超文本传送协议)方法,利用XMLHttpRequest对象的open()方法设定目标URL。其中HTTP方法包括:GET方法或POST方法,在此处可以选择一个,并且在该HTTP方法中写入当前任务节点的ID。其中目标URL为后台服务器的地址。
如此即构建了一个ajax请求,然后将该ajax请求发送至服务器。在实际应用中可以利用XMLHttpRequest对象的send()方法将ajax请求发送至后台服务器。
当然,本申请实施例实施例中,对于任务展示请求也可以采用其他形式的请求,本申请实施例不对其加以限定。
步骤120,根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;
如前述例子,接收到任务展示请求后,解析该任务展示请求中的当前任务节点的标识,比如6。那么如图1A,可以6所在的任务节点为起点,分别向上游和下游递归搜索,搜索任务节点6的上游依赖节点和下游依赖节点。任务节点6的上游依赖为:任务节点6依赖任务节点3和任务节点4,任务节点3依赖任务节点0。任务节点6的下游依赖为:任务节点6依赖任务节点8和任务节点9,任务节点8依赖任务节点12。
在本申请实施例的递归搜索的过程中,每递归到一个任务节点,则获取该任务节点的状态数据及依赖关系。
其中,任务节点的状态数据包括:正在运行、运行成功、运行失败。
当然,在本申请实施例中,还可获取每个任务节点的其他数据,比如任务节点的名称,任务节点是否为叶子节点,任务节点相对任务展示请求中的当前任务节点的级别深度等。
在本申请实施例中,在后台服务器中预先定义了任务节点关系数据表,其至少包括四个字段:任务节点ID、节点数据表ID、依赖类型、节点数据表类型,具体如表(一)
| action_id | table_id | type | table_type_id |
| 6 | 001 | 2 | 2 |
表(一)
其中,action_id为任务节点ID。
table_id为节点数据表ID。
type为依赖类型,指明节点数据表是被该任务节点上游依赖还是下游依赖,比如1为上游依赖,2为下游依赖。每个节点数据表中记录了该任务节点ID依赖的一级任务节点。对于表(一)中的任务节点6,其对应的节点数据表为001,任务节点6向上游依赖节点数据表001中的一级任务节点,赖节点数据表001在包括任务节点{3、4}。当然,对于一个任务节点,也有向下游依赖的节点数据表。当然,如果某个任务节点为叶子节点,则其不再有下游依赖的节点数据表,对应该任务节点的type可设为0,表示对于该条递归路径,到此结束,可以递归其他未被递归的路径。
table_type_id节点数据表类型,如如odps表,ump表,
那么本申请实施例则可以根据上述表分别进行上游递归搜索和下游递归搜索,可以根据表(一)的内容获取某个任务节点的依赖关系,然后可根据搜索到的ID去实际的运行该任务节点的计算节点中获取该任务节点的状态数据。当然,任务节点的状态数据也可以实时加到表(一)的相应任务节点的相应状态数据字段中,那么在本申请递归时,即可直接通过表(一)获取到某个任务节点的状态数据。
优选的,所述步骤120,包括:
子步骤A10,以当前任务节点为起点,分别采用深度优先搜索算法向上游、下游进行递归搜索,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系。
在本申请实施例中,以当前任务节点为起点向上游递归搜索和以当前任务节点为起点向下游递归搜索的方法可以采用dfs算法(Depth First Search,深度优先搜索算法)。
在深度优先搜索算法中,对于最新发现的节点v,如果它还有以此为起点而未探测
到的边,就沿此边继续探测下去。当节点v的所有边都己被探寻过,搜索将回溯到还存在有没被探索的边节点进行搜索。上述过程一直进行到已发现从源结点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被发现为止。
比如对于以任务节点6向上游递归,那么首先根据标识6,递归搜索到任务节点6,则获取任务节点6的状态数据,其向上依赖的任务节点为3、4,3、4为第1级上游依赖;再向上递归搜索到任务节点3,则获取任务节点3的状态数据,其向上依赖任务节点0,0为第2级上游依赖;再向上递归搜索到任务节点0,则获取任务节点0的状态数据,由于0已经为第2级上游依赖,则不再递归搜索,该条递归路径结束;再向上递归搜索到任务节点4,则获取任务节点4的状态数据,任务节点4向上依赖关系为空,没有第2级上游依赖,则该条递归路径结束。至此,任务节点6的2级之内上游依赖节点递归搜索完毕,也获取到了各个上游依赖节点的状态数据和依赖关系。
比如对于以任务节点6向上游递归,则首先根据标识6,递归搜索任务节点6,获取6的状态数据,其向下依赖的任务节点为7、8、9;再向下递归搜索到任务节点7,则获取任务节点7的状态数据,其向下依赖任务节点10、11,再向下递归搜索到任务节点10,则获取任务节点10的状态数据,任务节点10向下的依赖关系为空,该条递归路径结束;再递归搜索到11,则获取任务节点11的状态数据,任务节点11向下的依赖关系为空,该条递归路径结束;再递归搜索到任务节点8,则获取任务节点8的状态数据,任务节点8向上依赖关系为12,则获取任务节点12的状态数据,任务节点12向下的依赖关系为空,则该条递归路径结束;再向下递归搜索到任务节点9,则获取任务节点9的状态数据,任务节点9向下的依赖关系为空,则该条递归路径结束。至此,任务节点6的所有下游依赖节点递归搜索完毕,也获取到了各个上游依赖节点的状态数据和依赖关系。
当然,本申请实施例中也可以采用其他递归方法,在此不对其加以限制。
优选的,在步骤120之后,还包括:
步骤122,采用预置数据结构,将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储为数据文件;所述预置数据结构包括:第一字段:用于存储递归形式的上游依赖关系;第二字段:用于存储递归形式的下游依赖关系;第三字段:用于存储当前递归级的任务节点标识;第四字段:用于存储当前递归级的任务节点的状态数据。
在本申请实施例中,可预先设置一预置数据结构,该预置数据结构包括:第一字段:用于存储递归形式的上游依赖关系;第二字段:用于存储递归形式的下游依赖关系;第三字段:用于存储当前递归级的任务节点标识;第四字段:用于存储当前递归级的任务节点的状态数据。
那么可以通过该预置数据结构将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储为数据文件。
以包括前述第一字段、第二字段、第三字段、第四字段的预置数据结构为例,其示例如下:
其中,deptreenodelist为第一字段,在其中的Objiect{…}中存储递归形式的上游依赖关系;children第二字段,在其中的Objiect{…}中存储递归形式的下游依赖关系;actionid为第三字段,用于存储当前递归级的任务节点标识;status为第四字段,用于存储当前递归级的任务节点的状态数据,比如1表示运行成功,2表示运行失败,3表示正在运行;program表示任务节点对应的源程序,也就是任务实际执行的代码;errMsg表示给客户端返回的错误标识,例如网络不通,数据库错误等系统级错误。
以前述的任务节点6的上游依赖节点为例,其存储的结果如下:
上述示例中以预置的数据结构为基础,对每个任务节点的状态数据和依赖关系进行嵌套存储获得递归形式的上游依赖关系,每个任务节点的状态数据在相应层级的数据结构里存储。最外层是任务节点6的数据结构,然后在任务节点6的数据结构的第一字段中平行嵌入了下一级任务节点的数据结构,即任务节点3、4的数据结构,然后在任务节点3的数据结构的第一字段中嵌入了任务节点0的数据结构。
同理,可以在最外层的数据结构的children字段中嵌套存储下游依赖任务节点,获得递归形式的下游依赖关系。
当然,本申请实施例中,如果对于一个任务节点,还有其他的信息,比如任务节点的名称,任务节点是否为叶子节点,任务节点相对任务展示请求中的当前任务节点的级别深度等,可以在前述预置数据结构中添加相应字段。比如:
其中,is_leaf表示任务节点是否为叶子节点,可设置-1为不是,1为是;depth表示任务节点相对任务展示请求中的当前任务节点的级别深度,比如对于任务节点6来说,其级别为0,每增加一级,数字加1;name的名称为表示任务节点的名称,比如任务节点6的名称qingxiao。
那么,通过上述预置的数据结构,则可以将当前任务节点、上游依赖任务节点、下游依赖节点的各种信息和依赖关系通过数据结构嵌套的方式,实现递归形式的上游依赖关系的存储和递归形式的下游依赖关系的存储,从而获得一个数据文件。
当然,本申请实施例中,还可以每递归搜索到一个任务节点,则将该任务节点的状态数据和依赖关系按照上述预置数据结构存储。
优选的,所述步骤120包括:
步骤A20,根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,在分布式缓存中分别递归搜索上游依赖任务节点和下游依赖任务节点;
步骤A22,当在分布式缓存中未能获取到上游依赖任务节点和下游依赖任务节点,则进入数据库中分别递归搜索上游依赖任务节点和下游依赖任务节点。
在本申请实施例中,各任务节点的数据,比如前述表(一)的数据,预先是存储在后台服务器的数据库中,而当后台服务器接收到客户端发送的任务展示请求后,如果直接从后台服务器的数据库中进行递归搜索,则处理的时间长,客户端的等待时间也较长,那么为了减少客户端的等待时间,本申请实施例后台服务器可先将部分或者全部任务节点的数据以及依赖关系放入分布式缓存中。
那么在根据所述任务展示请求中的当前任务节点ID,首先在分布式缓存中进行上游
递归搜索获取上游依赖任务节点,并进行下游递归搜索获取下游依赖任务节点。如果在分布式缓存中没有递归搜索到上游依赖任务节点和或下游依赖任务节点,则可直接进入步骤B12。
步骤130,基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
在本申请实施例对于当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,可以在客户端进行渲染,将其渲染为全局关系树进行展示。
在本申请实施例中,对于每个任务节点的图标,可以将其状态数据以颜色的形式进行展示,如图1D中,白色表示运行成功、比如任务节点10的颜色表示正在运行,任务12的颜色表示运行失败。当然也可以通过其他方式进行展示。
当然,也可以将任务节点的其他信息,比如ID渲染到当前节点的图标中,如图1D。对于任务节点的详细信息,可以在鼠标滑动到相应任务节点的渲染图上时,以弹出框进行展示。当然任务节点的详细信息也可以直接渲染到该任务节点的图标中。
具体的对任务节点的图标的渲染方式,本申请不对其加以限制。
优选的,在前述优选的步骤122的基础之上,所述步骤130包括:
子步骤132,基于所述数据文件中,以预置数据结构存储的当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
后台服务器在采用预置数据结构将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储的数据文件后,可将该数据文件返回至客户端,那么客户端可按照预先的约定解析该数据文件,得到该数据文件中当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,其中如前述例子中:第一字段存储了递归形式的上游依赖关系;第二字段存储了递归形式的下游依赖关系;第三字段存储了当前任务节点标识;第四字段存储了任务节点的状态数据;如果还有其他字段,则按照相应的预定提取相应数据。
然后客户端可基于上述预置数据结构中的数据进行渲染,得到全局关系树进行展示。在本发明实施例中客户端可以为浏览器,优选的可以为支持html5canvas的浏览器,该浏览器可以流畅的支持ajax功能。
优选的,步骤130包括:
子步骤A30,以当前任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得第一多叉树;
在本申请实施例中,可以采用数据化可视工具d3.js(bsd liences)进行渲染,d3.js是
一种数据可视化框架,其开源协议为bsd协议。那么本申请实施例可采用d3.js中的treelayout,以当前任务节点为根节点,对当前任何节点和下游任务节点进行正向渲染,得到一个正向的多叉树。
子步骤A32,以指定的任务节点为根节点,根据当前任务节点和上游依赖任务节点的状态数据及依赖关系,进行反向渲染获得第二多叉树;
本申请实施例可采用d3.js中的treelayout,以当前任务节点为根节点,对当前任何节点和上游任务节点进行反向渲染,得到一个反向的多叉树。当然,本发明实施例对treelayout的功能进行了扩展,使其可以进行反向渲染。
优选的,所述子步骤A32包括:
子步骤A321,以指定的任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得与第一多叉树同向的第二多叉树;
在实际应用中,d3.js的treelayout只支持对children字段的节点进行渲染,并且只能渲染为一个多叉树,在本申请实施例中children性质的节点为下游依赖任务节点。而为了实现本申请对当前任务节点的上游任务依赖节点的渲染,本申请实施例在treelayout中复制一套children的渲染方式,并将复制的渲染方式中的children字段替换为deptreenodelist,如此,本申请实施例对上游依赖任务节点的渲染过程实质上与对下游依赖任务节点的渲染过程一致。得到两个同向的多叉树。
那么对于前述以预置数据结构存储的数据文件,前端接收到该数据文件之后,解析得到前述预置数据结构,可以分别以当前任务节点为起点,分别对children和deptreenodelist字段下的任务节点进行渲染,得到两个同向的多叉树。如图1B,为渲染得到下游依赖任务节点的第一多叉树示例;如图1C,为渲染得到上游依赖任务节点的第一多叉树示例。
子步骤A322,将与第一多叉树同向的第二多叉树进行倒置,获得最终的第二多叉树。
在得到同向的第一多叉树和第二多叉树之后,为了得到针对当前任务节点全局关系树,则需要将第二多叉树进行倒置,使其与第一多叉树方向相反。
当然,本申请实施例中,对于第一多叉树和第二多叉树,可以任意改变其方向,只需要保证两者的多叉树互相不影响依赖关系的展现即可,比如第一多叉树向下展示,第二多叉树向上展示,本申请实施例不对其加以限制。
子步骤A34,将第一多叉树和第二多叉树拼接为全局关系树并展示。
本申请实施例可将第一多叉树和第二多叉树进行拼接,上述拼接可将两个多叉树的
当前任务节点的渲染图重叠,即可得到当前任务节点的全局关系树,然后即可将该全局关系树展示在客户端。如图1D,为前述例子的展示结果。
在数据处理平台的数据开发过程中,在在先的技术中,技术人员惯性的会设置对下游的任务节点进行展示,并且根据点击操作,获取每个节点的下一级任务节点的数据进行展示。而本申请实施例对于用户当前点击的一个任务节点,发起一次包括当前任务节点的标识的任务展示请求,然后可根据当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点,并且可在递归过程中获取当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,那么即可基于当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
上述过程中,本申请实施例只需用户一次点击操作,即只需客户端发送一次任务展示请求,即可将当前任务节点的上游依赖节点和下游依赖节点一起渲染为全局关系树展示给用户,节省了用户的操作步骤,并且由于当前阶段的依赖关系全面,可同时展示当前任务节点的上、下游的依赖关系,方便用户统一管理其部署的任务。
实施例二
参照图2,示出了本申请的一种全局任务节点依赖关系可视化方法实施例的步骤流程图,具体可以包括如下步骤:
步骤210,发起任务展示请求;所述任务展示请求包括当前任务节点的标识,和以所述当前任务节点为起点的上游依赖层级和下游依赖层级;
在本发明实施例中,用户可以在客户端设置需要展示的上游依赖层级和下游依赖层级,同时指定当前任务节点的ID,然后通过任务展示请求发送到后台服务器。其中上游依赖层级和下游依赖层级均为相对当前任务节点的层级。比如图1A中的任务节点6,直接与任务节点6关联的任务节点3、4为相对任务节点6的第1级上游依赖,直接与任务节点3关联的0为相对任务节点6第2级上游依赖;直接与任务节点6关联的任务节点7、8、9为相对任务节点6的第1级下游依赖,直接与任务节点7关联的10、11为相对任务节点6第2级上游依赖,接与任务节点8关联的12为相对任务节点6第2级上游依赖。其他情况以此类推。
步骤220,根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖层级之内的上游依赖任务节点和下游依赖层级之内的下游依
赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;
后台服务器收到前述任务展示请求之后,则根据当前任务节点的标识,可向上游递归搜索,比如规定上游依赖层级为2,下游依赖层级为2,则
对于以任务节点6向上游递归,那么首先根据标识6,递归搜索到任务节点6,则获取任务节点6的状态数据,其向上依赖的任务节点为3、4;再向上递归搜索到任务节点3,则获取任务节点3的状态数据,其向上依赖任务节点0;再向上递归搜索到任务节点0,则获取任务节点0的状态数据,任务节点0向上的依赖关系为空,该条递归路径结束;再向上递归搜索到任务节点4,则获取任务节点4的状态数据,任务节点4向上依赖关系为空,则该条递归路径结束。至此,任务节点6的所有上游依赖节点递归搜索完毕,也获取到了各个上游依赖节点的状态数据和依赖关系。
比如对于以任务节点6向上游递归,则首先根据标识6,递归搜索任务节点6,获取6的状态数据,其向下依赖的任务节点为7、8、9,7、8、9为第1级下游依赖;再向下递归搜索到任务节点7,则获取任务节点7的状态数据,其向下依赖任务节点10、11,10、11为第2级下游依赖,再向下递归搜索到任务节点10,则获取任务节点10的状态数据,由于已经是第2级下游依赖,则不再向下递归,即使下游还有任务节点,因此该条递归路径结束;再递归搜索到11,则获取任务节点11的状态数据,由于已经是第2级下游依赖,则不再向下递归,即使下游还有任务节点,因此该条递归路径结束;再递归搜索到任务节点8,则获取任务节点8的状态数据,任务节点8向上依赖关系为12,则获取任务节点12的状态数据,由于已经是第2级下游依赖,则不再向下递归,即使下游还有任务节点,因此该条递归路径结束;再向下递归搜索到任务节点9,则获取任务节点9的状态数据,任务节点9向下的依赖关系为空,则该条递归路径结束。至此,任务节点6的2级之内的下游依赖节点递归搜索完毕,也获取到了各个上游依赖节点的状态数据和依赖关系。
当然,在后台服务器中,也可在数据库中预置实施例一中的表(一),递归搜索时根据表(一)进行递归。并且表(一)中的内容可以部分或者全部的放置于分布式缓存中。
当然,在后台服务器中,也可将获取到的当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系采用类似实施例1中的采用预置数据结构,存储为数据文件,然后将该数据文件返回客户端,客户端可解析该数据文件进行渲染,得到全
局关系树。
步骤230,基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
本申请实施例对于用户当前点击的一个任务节点,发起一次包括当前任务节点的标识的任务展示请求和上游依赖层级和下游依赖层级,然后可根据当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖层级之内的上游依赖任务节点和下游依赖层级之内的下游依赖任务节点,并且可在递归过程中获取当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,那么即可基于当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
上述过程中,本申请实施例只需用户一次点击操作,即只需客户端发送一次任务展示请求,即可将当前任务节点的上游依赖节点和下游依赖节点一起渲染为全局关系树展示给用户,节省了用户的操作步骤,并且由于当前阶段的依赖关系全面,可同时展示当前任务节点的上、下游的依赖关系,并且由于可以设置上、下游依赖层级,进一步方便用户统一管理其部署的任务。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
实施例三
参照图3,示出了本申请的一种全局任务节点关系可视化装置实施例的结构框图,具体可以包括如下模块:
展示请求发起模块310,用于发起任务展示请求;所述任务展示请求包括当前任务节点的标识;
递归搜索模块320,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;
渲染展示模块330,用于基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
优选的,在递归搜索模块320之后,还包括:
节点数据存储模块,用于采用预置数据结构,将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储为数据文件;所述预置数据结构包括:第一字段:用于存储递归形式的上游依赖关系;第二字段:用于存储递归形式的下游依赖关系;第三字段:用于存储当前递归级的任务节点标识;第四字段:用于存储当前递归级的任务节点的状态数据;
进一步的,所述渲染展示模块包括:
第一渲染展示模块,用于基于所述数据文件中,以预置数据结构存储的当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
优选的,所述渲染展示模块330包括
第一多叉树渲染模块,用于以当前任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得第一多叉树;
第二多叉树渲染模块,用于以指定的任务节点为根节点,根据当前任务节点和上游依赖任务节点的状态数据及依赖关系,进行反向渲染获得第二多叉树;
拼接展示模块,用于将第一多叉树和第二多叉树拼接为全局关系树并展示。
优选的,所述第二多叉树渲染模块包括:
同向渲染模块,用于以指定的任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得与第一多叉树同向的第二多叉树;
倒置模块,用于将与第一多叉树同向的第二多叉树进行倒置,获得最终的第二多叉树。
优选的,所述递归搜索模块320包括:
深度递归搜索模块,用于以当前任务节点为起点,分别采用深度优先搜索算法向上游、下游进行递归搜索,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系。
优选的,所述递归搜索模块320包括:
分布式搜索模块,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,在分布式缓存中分别递归搜索上游依赖任务节点和下游依赖任务节点;
数据库搜索模块,用于当在分布式缓存中未能获取到上游依赖任务节点和下游依赖任务节点,则进入数据库中分别递归搜索上游依赖任务节点和下游依赖任务节点。
实施例四
参照图4,示出了本申请的一种全局任务节点关系可视化装置实施例的结构框图,具体可以包括如下模块:
展示请求发起模块410,用于发起任务展示请求;所述任务展示请求包括当前任务节点的标识,和以所述当前任务节点为起点的上游依赖层级和下游依赖层级;
递归搜索模块420,具体包括:
层级递归搜索模块422,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖层级之内的上游依赖任务节点和下游依赖层级之内的下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;
渲染展示模块430,用于基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
实施例五
参照图5,示出了本申请的一种全局任务节点关系可视化系统实施例的结构框图,具体可以包括如下模块:
客户端510和后台服务器520;
所述客户端510包括:
展示请求发起模块512,用于发起任务展示请求;所述任务展示请求包括当前任务节点的标识;
渲染展示模块514,用于基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示;
所述后台服务器520包括:
递归搜索模块522,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,并将各任务节点的状态数据及依赖关系返回客户端。
优选的,所述后台服务器还包括:
节点数据存储模块,用于采用预置数据结构,将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储为数据文件,并将所述数据文件返回客户端;所述预置数据结构包括:第一字段:用于存储递归形式的上游依赖关系;第二字段:用于存储递归形式的下游依赖关系;第三字段:用于存储当前递归级的任务节
点标识;第四字段:用于存储当前递归级的任务节点的状态数据;
进一步的,在所述客户端中,所述渲染模块包括:
第一渲染模块,用于基于所述数据文件中,以预置数据结构存储的当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可
提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种全局任务节点关系可视化方法和一种全局任务节点关系可视化装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (16)
- 一种全局任务节点依赖关系可视化方法,其特征在于,包括:发起任务展示请求;所述任务展示请求包括当前任务节点的标识;根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
- 根据权利要求1所述的方法,其特征在于,在获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系的步骤之后,还包括:采用预置数据结构,将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储为数据文件;所述预置数据结构包括:第一字段:用于存储递归形式的上游依赖关系;第二字段:用于存储递归形式的下游依赖关系;第三字段:用于存储当前递归级的任务节点标识;第四字段:用于存储当前递归级的任务节点的状态数据;进一步的,所述基于各任务节点的状态数据及依赖关系,渲染得到节点关系树并展示的步骤包括:基于所述数据文件中,以预置数据结构存储的当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
- 根据权利要求1所述的方法,其特征在于,所述基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示的步骤,包括以当前任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得第一多叉树;以指定的任务节点为根节点,根据当前任务节点和上游依赖任务节点的状态数据及依赖关系,进行反向渲染获得第二多叉树;将第一多叉树和第二多叉树拼接为全局关系树并展示。
- 根据权利要求3所述的方法,其特征在于,所述以指定的任务节点为根节点,根据当前任务节点和上游依赖任务节点的状态数据及依赖关系,进行反向渲染获得第二多叉树的步骤包括:以指定的任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得与第一多叉树同向的第二多叉树;将与第一多叉树同向的第二多叉树进行倒置,获得最终的第二多叉树。
- 根据权利要求1所述的方法,其特征在于,所述根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点的步骤,包括:以当前任务节点为起点,分别采用深度优先搜索算法向上游、下游进行递归搜索,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系。
- 根据权利要求1所述的方法,其特征在于,所述根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点的步骤包括:根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,在分布式缓存中分别递归搜索上游依赖任务节点和下游依赖任务节点;当在分布式缓存中未能获取到上游依赖任务节点和下游依赖任务节点,则进入数据库中分别递归搜索上游依赖任务节点和下游依赖任务节点。
- 根据权利要求1所述的方法,其特征在于,在所述任务展示请求中还包括:以所述当前任务节点为起点的上游依赖层级和下游依赖层级;进一步的,所述根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点的步骤,包括:根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖层级之内的上游依赖任务节点和下游依赖层级之内的下游依赖任务节点。
- 一种全局任务节点依赖关系可视化装置,其特征在于,包括:展示请求发起模块,用于发起任务展示请求;所述任务展示请求包括当前任务节点的标识;递归搜索模块,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系;渲染展示模块,用于基于各任务节点的状态数据及依赖关系,渲染得到全局关系树 并展示。
- 根据权利要求8所述的装置,其特征在于,在递归搜索模块之后,还包括:节点数据存储模块,用于采用预置数据结构,将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储为数据文件;所述预置数据结构包括:第一字段:用于存储递归形式的上游依赖关系;第二字段:用于存储递归形式的下游依赖关系;第三字段:用于存储当前递归级的任务节点标识;第四字段:用于存储当前递归级的任务节点的状态数据;进一步的,所述渲染展示模块包括:第一渲染展示模块,用于基于所述数据文件中,以预置数据结构存储的当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
- 根据权利要求9所述的装置,其特征在于,所述渲染展示模块包括第一多叉树渲染模块,用于以当前任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得第一多叉树;第二多叉树渲染模块,用于以指定的任务节点为根节点,根据当前任务节点和上游依赖任务节点的状态数据及依赖关系,进行反向渲染获得第二多叉树;拼接展示模块,用于将第一多叉树和第二多叉树拼接为全局关系树并展示。
- 根据权利要求10所述的装置,其特征在于,所述第二多叉树渲染模块包括:同向渲染模块,用于以指定的任务节点为根节点,根据当前任务节点和下游依赖任务节点的状态数据及依赖关系,进行正向渲染获得与第一多叉树同向的第二多叉树;倒置模块,用于将与第一多叉树同向的第二多叉树进行倒置,获得最终的第二多叉树。
- 根据权利要求8所述的装置,其特征在于,所述递归搜索模块包括:深度递归搜索模块,用于以当前任务节点为起点,分别采用深度优先搜索算法向上游、下游进行递归搜索,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系。
- 根据权利要求8所述的装置,其特征在于,所述递归搜索模块包括:分布式搜索模块,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,在分布式缓存中分别递归搜索上游依赖任务节点和下游依赖任务节点;数据库搜索模块,用于当在分布式缓存中未能获取到上游依赖任务节点和下游依赖 任务节点,则进入数据库中分别递归搜索上游依赖任务节点和下游依赖任务节点。
- 根据权利要求8所述的装置,其特征在于,在所述任务展示请求中还包括:以所述当前任务节点为起点的上游依赖层级和下游依赖层级;进一步的,所述递归搜索模块包括:层级递归搜索模块,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖层级之内的上游依赖任务节点和下游依赖层级之内的下游依赖任务节点。
- 一种全局任务节点依赖关系可视化系统,其特征在于,包括:客户端和后台服务器;所述客户端包括:展示请求发起模块,用于发起任务展示请求;所述任务展示请求包括当前任务节点的标识;渲染展示模块,用于基于各任务节点的状态数据及依赖关系,渲染得到全局关系树并展示;所述后台服务器包括:递归搜索模块,用于根据所述任务展示请求中的当前任务节点的标识,以当前任务节点为起点,分别递归搜索上游依赖任务节点和下游依赖任务节点;其中,在递归过程中,获取所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,并将各任务节点的状态数据及依赖关系返回客户端。
- 根据权利要求15所述的系统,其特征在于,所述后台服务器还包括:节点数据存储模块,用于采用预置数据结构,将所述当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系存储为数据文件,并将所述数据文件返回客户端;所述预置数据结构包括:第一字段:用于存储递归形式的上游依赖关系;第二字段:用于存储递归形式的下游依赖关系;第三字段:用于存储当前递归级的任务节点标识;第四字段:用于存储当前递归级的任务节点的状态数据;进一步的,所述渲染模块包括:第一渲染模块,用于基于所述数据文件中,以预置数据结构存储的当前任务节点、上游依赖任务节点和下游依赖任务节点的状态数据及依赖关系,渲染得到全局关系树并展示。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510303336.XA CN106293928B (zh) | 2015-06-05 | 2015-06-05 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
| CN201510303336.X | 2015-06-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016192604A1 true WO2016192604A1 (zh) | 2016-12-08 |
Family
ID=57440119
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2016/083889 Ceased WO2016192604A1 (zh) | 2015-06-05 | 2016-05-30 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN106293928B (zh) |
| WO (1) | WO2016192604A1 (zh) |
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110020018A (zh) * | 2017-12-20 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据可视化展示方法及装置 |
| CN110716842A (zh) * | 2019-10-09 | 2020-01-21 | 北京小米移动软件有限公司 | 集群故障检测方法和装置 |
| CN110908780A (zh) * | 2019-10-12 | 2020-03-24 | 中国平安财产保险股份有限公司 | 调度平台的任务梳理方法、装置、设备及存储介质 |
| CN111324629A (zh) * | 2020-02-19 | 2020-06-23 | 望海康信(北京)科技股份公司 | 业务数据处理方法、装置、电子设备及计算机存储介质 |
| CN111464390A (zh) * | 2020-03-31 | 2020-07-28 | 中国建设银行股份有限公司 | 网络应用系统监控预警方法及系统 |
| CN111831317A (zh) * | 2020-06-02 | 2020-10-27 | 北京百度网讯科技有限公司 | 服务间依赖关系的获取方法、装置、电子设备和存储介质 |
| CN112035229A (zh) * | 2020-08-31 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种计算图处理方法、装置及存储介质 |
| CN112085471A (zh) * | 2020-09-10 | 2020-12-15 | 北京百度网讯科技有限公司 | 任务分发方法、装置、电子设备及存储介质 |
| CN112527474A (zh) * | 2020-12-10 | 2021-03-19 | 北京百度网讯科技有限公司 | 任务处理方法及装置、设备、可读介质、计算机程序产品 |
| CN112954056A (zh) * | 2021-02-10 | 2021-06-11 | 北京字跳网络技术有限公司 | 监控数据处理方法、装置、电子设备及存储介质 |
| CN113268485A (zh) * | 2021-06-02 | 2021-08-17 | 电信科学技术第十研究所有限公司 | 数据表关联分析方法、装置、设备及存储介质 |
| CN113495805A (zh) * | 2020-03-19 | 2021-10-12 | 阿里巴巴集团控股有限公司 | 数据处理方法、节点确定方法、装置、设备及介质 |
| CN113836454A (zh) * | 2021-09-15 | 2021-12-24 | 深圳壹账通智能科技有限公司 | 一种内容展示页面的展示方法、装置、介质及设备 |
| CN113946545A (zh) * | 2021-09-17 | 2022-01-18 | 浙江毫微米科技有限公司 | 一种数据存储方法、装置、电子设备及可读存储介质 |
| CN114697398A (zh) * | 2022-03-23 | 2022-07-01 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
| CN116595089A (zh) * | 2023-05-19 | 2023-08-15 | 广州趣研网络科技有限公司 | 一种任务依赖图布局方法、装置、设备及存储介质 |
| CN116628351A (zh) * | 2023-07-26 | 2023-08-22 | 安徽思高智能科技有限公司 | 基于节点依赖的流程图分支推荐方法、设备及存储设备 |
| CN118467139A (zh) * | 2024-07-04 | 2024-08-09 | 智者四海(北京)技术有限公司 | 回溯实例血缘图构建方法、任务回溯方法及系统 |
| CN119830881A (zh) * | 2024-12-19 | 2025-04-15 | 金蝶软件(中国)有限公司 | 一种甘特图的显示方法、系统及相关产品 |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108509440A (zh) * | 2017-02-24 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
| CN106953765A (zh) * | 2017-03-31 | 2017-07-14 | 焦点科技股份有限公司 | 一种互联网路径流量数据生成和展现方法 |
| CN109408204A (zh) * | 2017-08-15 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 一种分布式任务系统的任务调度方法及装置 |
| CN108984284A (zh) * | 2018-06-26 | 2018-12-11 | 杭州比智科技有限公司 | 基于离线计算平台的dag任务调度方法及装置 |
| CN110865875B (zh) * | 2018-08-27 | 2023-04-11 | 阿里巴巴集团控股有限公司 | Dag任务关系图的处理方法、装置及电子设备 |
| CN109508413A (zh) * | 2018-10-22 | 2019-03-22 | 中国银行股份有限公司 | 作业调度展示方法及装置、存储介质及电子设备 |
| CN109918432B (zh) * | 2019-01-28 | 2024-05-28 | 中国平安财产保险股份有限公司 | 提取任务关系链的方法、装置、计算机设备和存储介质 |
| JP7109747B2 (ja) * | 2019-02-08 | 2022-08-01 | 株式会社フォーラムエンジニアリング | ツリー情報提供装置およびツリー情報提供用プログラム製品 |
| CN111967702A (zh) * | 2019-05-20 | 2020-11-20 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统 |
| CN110674284A (zh) * | 2019-08-26 | 2020-01-10 | 四川新网银行股份有限公司 | 多系统的方法调用链路图的生成方法 |
| CN111049676B (zh) * | 2019-11-27 | 2022-11-25 | 深圳震有科技股份有限公司 | 发现式组网健康可视化方法及系统、计算机设备、介质 |
| CN110968749A (zh) * | 2019-12-23 | 2020-04-07 | 武汉智领云科技有限公司 | 基于大数据容器化调度中心系统的可视化显示装置及方法 |
| CN113760476B (zh) * | 2020-06-04 | 2024-02-09 | 广州虎牙信息科技有限公司 | 任务依赖处理方法及相关装置 |
| CN113918288B (zh) * | 2020-07-07 | 2025-02-25 | 北京达佳互联信息技术有限公司 | 任务处理方法、装置、服务器及存储介质 |
| CN111930734B (zh) * | 2020-08-11 | 2023-08-04 | 中国工商银行股份有限公司 | 基于任务和字段的数据下线方法及系统 |
| CN111949832A (zh) * | 2020-08-14 | 2020-11-17 | 中国工商银行股份有限公司 | 批量作业依赖关系的解析方法及装置 |
| CN112418588B (zh) * | 2020-09-03 | 2023-08-01 | 上海哔哩哔哩科技有限公司 | 任务流显示方法及装置 |
| CN112363814B (zh) * | 2020-11-20 | 2025-05-02 | 中国平安财产保险股份有限公司 | 任务调度方法、装置、计算机设备及存储介质 |
| CN112433950A (zh) * | 2020-11-30 | 2021-03-02 | 天津五八到家货运服务有限公司 | 自动搭建测试环境的方法、电子设备及存储介质 |
| CN112765343A (zh) * | 2020-12-30 | 2021-05-07 | 蔚来汽车科技(安徽)有限公司 | 交互式数据血缘关系可视化表示方法、系统及装置 |
| CN112764911B (zh) * | 2021-01-29 | 2025-10-10 | 中国建设银行股份有限公司 | 一种任务调度方法、装置、电子设备及可读存储介质 |
| CN112925997B (zh) * | 2021-02-25 | 2023-02-03 | 平安普惠企业管理有限公司 | 适用于Azkaban的任务依赖图展示方法及相关设备 |
| CN113946394A (zh) * | 2021-10-13 | 2022-01-18 | 上海淇玥信息技术有限公司 | 一种任务流运行结果实时展示方法、装置和电子设备 |
| CN114168275B (zh) * | 2021-10-28 | 2022-10-18 | 厦门国际银行股份有限公司 | 任务调度方法、系统、终端设备及存储介质 |
| CN114168287A (zh) * | 2021-12-07 | 2022-03-11 | 上海软素科技有限公司 | 任务调度方法及装置、可读存储介质及电子设备 |
| CN114187376B (zh) * | 2021-12-10 | 2026-03-31 | 北京百度网讯科技有限公司 | 高精地图的图标渲染方法、装置及电子设备 |
| CN114416029B (zh) * | 2021-12-24 | 2026-03-27 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备、存储介质及计算机程序产品 |
| CN114296709B (zh) * | 2021-12-28 | 2025-07-11 | 腾讯云计算(北京)有限责任公司 | 一种代码处理方法、装置、设备及介质 |
| CN114470767B (zh) * | 2022-02-15 | 2025-07-15 | 竞技世界(北京)网络技术有限公司 | 一种任务处理方法、装置及电子设备 |
| CN114637779A (zh) * | 2022-03-22 | 2022-06-17 | 中国平安人寿保险股份有限公司 | 基于PostgreSQL的任务加工方法、装置、计算机设备及存储介质 |
| CN114819631A (zh) * | 2022-04-25 | 2022-07-29 | 中国平安人寿保险股份有限公司 | 一种多任务的可视化方法、装置、计算机设备及存储介质 |
| CN115480732A (zh) * | 2022-08-30 | 2022-12-16 | 阿里巴巴(中国)有限公司 | 任务处理方法以及装置 |
| CN116303743A (zh) * | 2023-03-14 | 2023-06-23 | 中国平安财产保险股份有限公司 | 数据血缘分析方法、装置、计算机设备及存储介质 |
| CN117312459A (zh) * | 2023-09-21 | 2023-12-29 | 中国建设银行股份有限公司 | 任务依赖关系的可视化方法、装置及电子设备 |
| CN118394510B (zh) * | 2024-04-22 | 2024-11-19 | 和创(北京)科技股份有限公司 | 数据请求方法、装置、设备及介质 |
| CN120374791B (zh) * | 2025-06-26 | 2025-10-17 | 中国证券登记结算有限责任公司 | 流程图的展示方法和装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030131222A1 (en) * | 2002-01-10 | 2003-07-10 | Thomas Paul Augustus | Controls for recursion at system startup |
| CN1713192A (zh) * | 2004-06-25 | 2005-12-28 | 国际商业机器公司 | 处理逻辑建模与执行方法和设备 |
| CN101702157A (zh) * | 2009-10-28 | 2010-05-05 | 金蝶软件(中国)有限公司 | 一种实现对树节点进行选择的方法和装置 |
| CN103019691A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种etl作业关系图的转化方法及其实现系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102708521A (zh) * | 2012-05-28 | 2012-10-03 | 中国电力科学研究院 | 一种基于多叉树自动布局的电网供电路径展现方法 |
| CN103207730B (zh) * | 2013-04-03 | 2016-03-09 | 广东飞企互联科技股份有限公司 | 一种可定位拖拉式流程图生成方法及流程图生成器 |
| CN103530379B (zh) * | 2013-10-15 | 2017-01-04 | 福建榕基软件股份有限公司 | 树形结构数据显示方法与装置 |
| CN104133900A (zh) * | 2014-08-04 | 2014-11-05 | 浪潮通用软件有限公司 | 一种360°树状视图的定义描述方法 |
-
2015
- 2015-06-05 CN CN201510303336.XA patent/CN106293928B/zh active Active
-
2016
- 2016-05-30 WO PCT/CN2016/083889 patent/WO2016192604A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030131222A1 (en) * | 2002-01-10 | 2003-07-10 | Thomas Paul Augustus | Controls for recursion at system startup |
| CN1713192A (zh) * | 2004-06-25 | 2005-12-28 | 国际商业机器公司 | 处理逻辑建模与执行方法和设备 |
| CN101702157A (zh) * | 2009-10-28 | 2010-05-05 | 金蝶软件(中国)有限公司 | 一种实现对树节点进行选择的方法和装置 |
| CN103019691A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种etl作业关系图的转化方法及其实现系统 |
Cited By (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110020018B (zh) * | 2017-12-20 | 2023-08-29 | 阿里巴巴集团控股有限公司 | 数据可视化展示方法及装置 |
| CN110020018A (zh) * | 2017-12-20 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据可视化展示方法及装置 |
| CN110716842A (zh) * | 2019-10-09 | 2020-01-21 | 北京小米移动软件有限公司 | 集群故障检测方法和装置 |
| CN110716842B (zh) * | 2019-10-09 | 2023-11-21 | 北京小米移动软件有限公司 | 集群故障检测方法和装置 |
| CN110908780A (zh) * | 2019-10-12 | 2020-03-24 | 中国平安财产保险股份有限公司 | 调度平台的任务梳理方法、装置、设备及存储介质 |
| CN110908780B (zh) * | 2019-10-12 | 2023-07-21 | 中国平安财产保险股份有限公司 | 调度平台的任务梳理方法、装置、设备及存储介质 |
| CN111324629A (zh) * | 2020-02-19 | 2020-06-23 | 望海康信(北京)科技股份公司 | 业务数据处理方法、装置、电子设备及计算机存储介质 |
| CN111324629B (zh) * | 2020-02-19 | 2023-08-15 | 望海康信(北京)科技股份公司 | 业务数据处理方法、装置、电子设备及计算机存储介质 |
| CN113495805A (zh) * | 2020-03-19 | 2021-10-12 | 阿里巴巴集团控股有限公司 | 数据处理方法、节点确定方法、装置、设备及介质 |
| CN113495805B (zh) * | 2020-03-19 | 2024-06-07 | 阿里巴巴集团控股有限公司 | 数据处理方法、节点确定方法、装置、设备及介质 |
| CN111464390A (zh) * | 2020-03-31 | 2020-07-28 | 中国建设银行股份有限公司 | 网络应用系统监控预警方法及系统 |
| CN111831317B (zh) * | 2020-06-02 | 2024-02-06 | 北京百度网讯科技有限公司 | 服务间依赖关系的获取方法、装置、电子设备和存储介质 |
| CN111831317A (zh) * | 2020-06-02 | 2020-10-27 | 北京百度网讯科技有限公司 | 服务间依赖关系的获取方法、装置、电子设备和存储介质 |
| CN112035229A (zh) * | 2020-08-31 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种计算图处理方法、装置及存储介质 |
| CN112085471A (zh) * | 2020-09-10 | 2020-12-15 | 北京百度网讯科技有限公司 | 任务分发方法、装置、电子设备及存储介质 |
| CN112085471B (zh) * | 2020-09-10 | 2024-05-07 | 北京百度网讯科技有限公司 | 任务分发方法、装置、电子设备及存储介质 |
| CN112527474B (zh) * | 2020-12-10 | 2023-07-25 | 北京百度网讯科技有限公司 | 任务处理方法及装置、设备、可读介质、计算机程序产品 |
| CN112527474A (zh) * | 2020-12-10 | 2021-03-19 | 北京百度网讯科技有限公司 | 任务处理方法及装置、设备、可读介质、计算机程序产品 |
| CN112954056B (zh) * | 2021-02-10 | 2023-08-15 | 北京字跳网络技术有限公司 | 监控数据处理方法、装置、电子设备及存储介质 |
| CN112954056A (zh) * | 2021-02-10 | 2021-06-11 | 北京字跳网络技术有限公司 | 监控数据处理方法、装置、电子设备及存储介质 |
| CN113268485A (zh) * | 2021-06-02 | 2021-08-17 | 电信科学技术第十研究所有限公司 | 数据表关联分析方法、装置、设备及存储介质 |
| CN113268485B (zh) * | 2021-06-02 | 2024-02-09 | 电信科学技术第十研究所有限公司 | 数据表关联分析方法、装置、设备及存储介质 |
| CN113836454A (zh) * | 2021-09-15 | 2021-12-24 | 深圳壹账通智能科技有限公司 | 一种内容展示页面的展示方法、装置、介质及设备 |
| CN113946545A (zh) * | 2021-09-17 | 2022-01-18 | 浙江毫微米科技有限公司 | 一种数据存储方法、装置、电子设备及可读存储介质 |
| CN114697398B (zh) * | 2022-03-23 | 2023-10-17 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
| CN114697398A (zh) * | 2022-03-23 | 2022-07-01 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
| CN116595089A (zh) * | 2023-05-19 | 2023-08-15 | 广州趣研网络科技有限公司 | 一种任务依赖图布局方法、装置、设备及存储介质 |
| CN116628351B (zh) * | 2023-07-26 | 2023-10-20 | 安徽思高智能科技有限公司 | 基于节点依赖的流程图分支推荐方法、设备及存储设备 |
| CN116628351A (zh) * | 2023-07-26 | 2023-08-22 | 安徽思高智能科技有限公司 | 基于节点依赖的流程图分支推荐方法、设备及存储设备 |
| CN118467139A (zh) * | 2024-07-04 | 2024-08-09 | 智者四海(北京)技术有限公司 | 回溯实例血缘图构建方法、任务回溯方法及系统 |
| CN119830881A (zh) * | 2024-12-19 | 2025-04-15 | 金蝶软件(中国)有限公司 | 一种甘特图的显示方法、系统及相关产品 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106293928B (zh) | 2020-04-14 |
| CN106293928A (zh) | 2017-01-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2016192604A1 (zh) | 一种全局任务节点依赖关系可视化方法、装置和系统 | |
| CN111221521B (zh) | 日志代码的生成方法、装置、计算机系统和可读存储介质 | |
| US10078709B2 (en) | Managing a display of results of a keyword search on a web page by modifying attributes of a DOM tree structure | |
| US9471211B2 (en) | Chaining applications | |
| JP2022033825A (ja) | 系統メタデータの生成、アクセス、及び表示 | |
| US10318595B2 (en) | Analytics based on pipes programming model | |
| WO2016095726A1 (zh) | 一种用于分布式执行关系型计算指令的方法与设备 | |
| JP5677319B2 (ja) | ウェブに基づくダイアグラム視覚性の拡張性 | |
| CN105389315A (zh) | 一种动态网页更新方法及装置 | |
| US9971746B2 (en) | Identifying information using referenced text | |
| US11687613B2 (en) | Generating lossless static object models of dynamic webpages | |
| CN107220250A (zh) | 一种模板配置方法及系统 | |
| US20260093767A1 (en) | Web site generation based on streams of data records | |
| US20140122701A1 (en) | Web Navigation Tracing | |
| CN106383738B (zh) | 任务处理方法和分布式计算框架 | |
| CN108241620A (zh) | 查询脚本的生成方法及装置 | |
| CN110147477A (zh) | Web系统的数据资源模型化提取方法、装置以及设备 | |
| US10366130B2 (en) | Generation of complementary applications | |
| CN107077484B (zh) | 生成应用的网络浏览器视图 | |
| US20170161359A1 (en) | Pattern-driven data generator | |
| US11038765B2 (en) | Cloud software defined networking application programming interface converter | |
| CN112905182B (zh) | 一种数据解析的方法和装置 | |
| CA2983510A1 (en) | Systems and methods for code parsing and lineage detection | |
| CN121481464A (zh) | 数据处理方法、装置、设备、介质和程序产品 | |
| CN115098391A (zh) | 页面检测方法、装置、设备、介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16802527 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16802527 Country of ref document: EP Kind code of ref document: A1 |





