Asynchronous screening cascade consistency scheduling method and device based on uniform round identifier

CN123012472APending Publication Date: 2026-10-30HANGZHOU GUANSHU INFORMATION TECH CO LTD (CHINA)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611518582.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-29
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

这些方案为依赖关系的表达和事件的传播奠定了基础,但大多侧重于“如何将变化沿依赖链传播”,而在数据分析界面的异步筛选场景中,往往缺少对同一业务轮次、递归上游稳定性、级联前沿以及数据库查询释放条件的统一控制,难以同时兼顾并发效率与结果一致性

Benefits of technology

本申请实施例将数据分析界面中的筛选组件抽象为筛选节点、数据展示组件抽象为数据展示节点,以有向边表示筛选值依赖、筛选作用范围、动态参数引用等求值影响关系,完整表达各筛选控件与展示组件之间的联动关系,为后续级联调度提供全局结构依据,这两个字段为所有一致性判断提供了实时、统一的节点状态快照;本申请实施例对每次外部触发生成的求值事件分配单调递增或时间戳形式的轮次标识,异步求值结果携带对应轮次标识,仅当与节点当前轮次一致时才被应用,否则直接丢弃,而级联产生的新求值事件继承原轮次标识,从而为一次业务触发建立可比较的时序基准,避免同一时间单位内不同事件碰撞,从节点层面丢弃过期请求的返回结果,防止旧轮次值覆盖新状态,保证结果一致性;本申请实施例以目标筛选节点为起点沿下游获取存在求值影响关系的中间筛选节点,剔除不支持自动求值、作用域不同、以及求值版本字段晚于目标节点的节点,仅保留真正需要继续调度的节点,从而精确锁定受本次变更实际影响的节点,避免对无关或无需再次处理的节点发起调度,减少无效计算与冗余请求;本申请实施例对每一候选节点沿上游路径递归遍历,仅当其上游所有节点均不处于异步求值进行中、且求值版本字段不晚于当前候选节点时,才判定为稳定筛选节点并保留,否则移除,从而避免下游节点在输入条件尚未最终稳定时被提前触发,从根源上消除无效的中间态求值;本申请实施例在候选子图中找出稳定筛选节点之间的可达关系,移除可被另一稳定节点沿子图到达的节点,仅保留“级联前沿”作为直接调度入口,从而避免同一依赖路径上的前后节点被同时直接调度导致重复求值,实现“只调度最前端,后续由同轮次继续触发”的有序推进。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123012472A_ABST
    Figure CN123012472A_ABST
Patent Text Reader

Abstract

The application provides an asynchronous screening cascade consistency scheduling method and device based on uniform round identification, which comprises the following steps: constructing a directed dependency graph based on a data analysis interface, generating a uniform round identification for each screening evaluation event, and performing concurrent control through an evaluation version field and an evaluation state field which are maintained in real time by a screening node. After the target screening node completes asynchronous evaluation, the candidate nodes along the dependency relationship are screened, the nodes with unstable input are removed through upstream stability check, the nodes which are not affected by other stable nodes are taken as cascade front nodes for further scheduling, and the new evaluation event inherits the original round identification. Only when there is no cascade front node, the data display node result is updated, and it is confirmed that all upstream nodes have been stable before this. The scheme can reduce invalid evaluation in the intermediate state, avoid repeated scheduling and old result covering, and improve the data display consistency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data analysis, and in particular to an asynchronous screening cascaded consistency scheduling method and apparatus based on a unified round identifier. Background Technology

[0002] Data analysis systems typically deploy multiple filter controls and data display components within a single interface. These filter controls have dependencies and interrelationships; for example, the selectable value of one control is affected by the current value of another, and the values ​​of multiple filter controls collectively affect several data display components. When users continuously modify filter criteria within a short period, when criteria are batch-added by a software development kit, or when the system performs multiple batch evaluations during initialization, multiple filter nodes will initiate asynchronous requests in parallel or sequentially, forming interwoven cascading update chains. In this complex interactive environment, ensuring that the final displayed data remains consistent with the user's latest filter settings is a crucial problem that data analysis systems need to solve.

[0003] Existing technologies can describe interactive panels, control dependencies, and event propagation. For example, some solutions achieve dependency propagation and orchestration by maintaining dependencies and state nodes between modules; others can distribute dynamic interactive events between panels. These solutions lay the foundation for expressing dependencies and propagating events, but most focus on "how to propagate changes along the dependency chain." However, in asynchronous filtering scenarios in data analysis interfaces, there is often a lack of unified control over the same business cycle, the stability of recursive upstreams, cascading frontiers, and database query release conditions, making it difficult to simultaneously achieve both concurrency efficiency and result consistency.

[0004] Specifically, if a downstream filtering node only waits for its direct upstream node to complete its evaluation, while the newer evaluation from the upstream node has not yet finished, the downstream node will be prematurely triggered before the input conditions have finally stabilized, resulting in invalid intermediate evaluations. If continued evaluation is initiated for all affected nodes simultaneously, multiple nodes on the same dependency path will be repeatedly scheduled, causing redundant requests. If the data display node initiates a database query before the filtering cascade has stabilized, it will generate a large number of invalid requests, cause interface flickering, and even result in errors where earlier returned query results overwrite newer states. Although existing solutions use methods such as request cancellation or result discarding to avoid overwriting old values, request cancellation can only handle expired requests for a single node and cannot solve the problem of unified judgment on "what is stable and when can it continue" between different dependency branches.

[0005] Therefore, there is an urgent need for a scheduling mechanism for asynchronous filtering cascading, which can establish a comparable time-series benchmark for a single business trigger while retaining asynchronous concurrency capabilities, identify the stable state of upstream at each level within the same round, select the correct entry point for continued scheduling, and postpone database queries until all relevant upstreams are stable, thereby reducing intermediate queries, duplicate requests, and overwriting of old results, and improving the consistency of data display results. Summary of the Invention

[0006] This application provides an asynchronous filtering cascading consistency scheduling method based on a unified round identifier. This scheme assigns a round identifier in the form of a monotonically increasing or timestamp to each evaluation event generated by an external trigger. The asynchronous evaluation result carries the corresponding round identifier and is only applied when it is consistent with the current round of the node; otherwise, it is discarded. The new evaluation event generated by cascading inherits the original round identifier, thereby establishing a comparable timing benchmark for a business trigger, avoiding collisions between different events within the same time unit, discarding the return results of expired requests at the node level, preventing old round values ​​from overwriting new states, and ensuring result consistency.

[0007] In a first aspect, embodiments of this application provide an asynchronous filtering cascading consistency scheduling method based on a unified round identifier, the method comprising: S1. Construct a directed dependency graph based on the data analysis interface. The nodes of the directed dependency graph include filtering nodes and data display nodes. The edges represent the evaluation influence relationships between different nodes. Each filtering node maintains an evaluation version field and an evaluation status field in real time. S2. The target filter node responds to the filter evaluation event and generates the round identifier of the filter evaluation event. Based on the filter evaluation event, the target filter node is asynchronously evaluated to obtain the asynchronous evaluation result. The evaluation version field of the target filter node records the round identifier of the corresponding filter evaluation event, and the evaluation status field records the progress status of the asynchronous evaluation. S3. The target filtering node applies the asynchronous evaluation result and obtains multiple candidate filtering nodes corresponding to the target filtering node based on the evaluation influence relationship in the directed dependency graph. The candidate filtering nodes that pass the upstream stability check are taken as stable filtering nodes, and the stable filtering nodes that are not affected by the evaluation result of another stable filtering node are taken as cascade front nodes. Based on the asynchronous evaluation result of the target filtering node, a new filtering evaluation event is sent to each cascade front node. The evaluation event triggered by the target filtering node applying the asynchronous evaluation result is taken as the new filtering evaluation event, and the new filtering evaluation event inherits the round identifier of the filtering evaluation event responded to by the target filtering node. S4. Take the leading edge nodes of each level as new target filtering nodes, and repeat S2-S3 in response to the corresponding new filtering evaluation events. S5. If there is no cascaded front node under the current round identifier, update the display results of the data display nodes affected by the filtering evaluation event.

[0008] Secondly, embodiments of this application provide an asynchronous filtering cascading consistency scheduling device based on a unified round identifier, comprising: The construction module builds a directed dependency graph based on the data analysis interface. The nodes of the directed dependency graph include filtering nodes and data display nodes. The edges represent the evaluation influence relationships between different nodes. Each filtering node maintains an evaluation version field and an evaluation status field in real time. The asynchronous evaluation module responds to the filter evaluation event and generates a round identifier for the filter evaluation event. Based on the filter evaluation event, the target filter node is asynchronously evaluated to obtain the asynchronous evaluation result. The evaluation version field of the target filter node records the round identifier of the corresponding filter evaluation event, and the evaluation status field records the progress status of the asynchronous evaluation. In the application module, the target filtering node applies the asynchronous evaluation result, obtains multiple candidate filtering nodes corresponding to the target filtering node based on the evaluation influence relationship in the directed dependency graph, takes the candidate filtering node that passes the upstream stability check as the stable filtering node, and takes the stable filtering node that is not affected by the evaluation result of another stable filtering node as the cascade front node, and sends a new filtering evaluation event to each cascade front node based on the asynchronous evaluation result of the target filtering node. The evaluation event triggered by the target filtering node applying the asynchronous evaluation result is taken as the new filtering evaluation event, and the new filtering evaluation event inherits the round identifier of the filtering evaluation event responded to by the target filtering node. The loop module takes the leading edge node of each stage as the new target filtering node and responds to the corresponding new filtering evaluation event to return to the asynchronous evaluation module. In the data display module, if there is no cascading frontier node under the current round identifier, the display results of the data display nodes affected by the filtering evaluation event are updated.

[0009] Thirdly, embodiments of this application provide an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute an asynchronous screening cascaded consistency scheduling method based on a unified round identifier.

[0010] The main contributions and innovations of this invention are as follows: This application embodiment abstracts the filtering components in the data analysis interface into filtering nodes and the data display components into data display nodes. Directed edges represent evaluation influence relationships such as filtering value dependencies, filtering scope, and dynamic parameter references, fully expressing the linkage relationship between each filtering control and the display component. This provides a global structural basis for subsequent cascading scheduling. These two fields provide a real-time, unified snapshot of the node state for all consistency judgments. This application embodiment assigns a monotonically increasing or timestamp-style round identifier to each externally triggered evaluation event. Asynchronous evaluation results carry the corresponding round identifier and are only applied if they match the current round of the node; otherwise, they are discarded. New evaluation events generated by cascading inherit the original round identifier, thus establishing a comparable timeline for a single business trigger, avoiding collisions between different events within the same time unit, discarding expired request results at the node level, preventing old round values ​​from overwriting new states, and ensuring result consistency. This application embodiment obtains intermediate filters with evaluation influence relationships downstream from the target filtering node. Nodes are eliminated by removing those that do not support automatic evaluation, have different scopes, or whose evaluation version field is later than the target node. Only nodes that truly need to be scheduled are retained, thus accurately identifying the nodes actually affected by the change and avoiding scheduling of irrelevant or unnecessary nodes, reducing invalid computations and redundant requests. In this embodiment, each candidate node is recursively traversed along the upstream path. Only when all upstream nodes are not in asynchronous evaluation and the evaluation version field is not later than the current candidate node is it determined to be a stable filtering node and retained. Otherwise, it is removed, thus preventing downstream nodes from being prematurely triggered before the input conditions have finally stabilized, eliminating invalid intermediate state evaluations from the root. In this embodiment, the reachability relationship between stable filtering nodes is found in the candidate subgraph. Nodes that can be reached by another stable node along the subgraph are removed, and only the "cascade front" is retained as the direct scheduling entry point. This avoids the simultaneous direct scheduling of upstream and downstream nodes on the same dependency path, which would lead to duplicate evaluations, and achieves orderly progress of "scheduling only the front end, with subsequent nodes being triggered by the same round."

[0011] Details of one or more embodiments of this application are set forth in the following drawings and description to make other features, objects and advantages of this application more readily apparent. Attached Figure Description

[0012] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This is a flowchart illustrating an asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to an embodiment of this application. Figure 2This is a schematic diagram of an upstream stability check according to an embodiment of this application; Figure 3 This is a schematic diagram of a process for obtaining a cascaded frontier node according to an embodiment of this application; Figure 4 This is a flowchart illustrating the update process of a data display node according to an embodiment of this application; Figure 5 This is a structural block diagram of an asynchronous screening cascaded consistency scheduling device based on a unified round identifier according to an embodiment of this application; Figure 6 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0013] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.

[0014] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; and multiple steps described in this specification may be combined into a single step in other embodiments.

[0015] Example 1 This application provides an asynchronous filtering cascading consistency scheduling method based on a unified round identifier. By assigning a monotonically increasing or timestamp-form round identifier to each evaluation event generated by an external trigger, the asynchronous evaluation result carries the corresponding round identifier. It is only applied if it matches the current round of a node; otherwise, it is discarded. Newly generated evaluation events inherit the original round identifier, thus establishing a comparable timing benchmark for a single business trigger. This avoids collisions between different events within the same time unit, discards expired request results at the node level, prevents old round values ​​from overwriting new states, and ensures result consistency. Specifically, refer to... Figure 1 The method includes: S1. Construct a directed dependency graph based on the data analysis interface. The nodes of the directed dependency graph include filtering nodes and data display nodes. The edges represent the evaluation influence relationships between different nodes. Each filtering node maintains an evaluation version field and an evaluation status field in real time. S2. The target filter node responds to the filter evaluation event and generates the round identifier of the filter evaluation event. Based on the filter evaluation event, the target filter node is asynchronously evaluated to obtain the asynchronous evaluation result. The evaluation version field of the target filter node records the round identifier of the corresponding filter evaluation event, and the evaluation status field records the progress status of the asynchronous evaluation. S3. The target filtering node applies the asynchronous evaluation result and obtains multiple candidate filtering nodes corresponding to the target filtering node based on the evaluation influence relationship in the directed dependency graph. The candidate filtering nodes that pass the upstream stability check are taken as stable filtering nodes, and the stable filtering nodes that are not affected by the evaluation result of another stable filtering node are taken as cascade front nodes. Based on the asynchronous evaluation result of the target filtering node, a new filtering evaluation event is sent to each cascade front node. The evaluation event triggered by the target filtering node applying the asynchronous evaluation result is taken as the new filtering evaluation event, and the new filtering evaluation event inherits the round identifier of the filtering evaluation event responded to by the target filtering node. S4. Take the leading edge nodes of each level as new target filtering nodes, and repeat S2-S3 in response to the corresponding new filtering evaluation events. S5. If there is no cascaded front node under the current round identifier, update the display results of the data display nodes affected by the filtering evaluation event.

[0016] In the current embodiment, the data analysis interface includes multiple mutually influential filtering components and data display components. The filtering result of one filtering component may cause a change in the data item corresponding to another filtering component, and the filtering results of these two filtering components will simultaneously cause a change in the content displayed by the data display component. This solution uses a directed dependency graph to represent the mutually influential filtering components and data display components.

[0017] Specifically, the filtering component and data display component in the data analysis interface are obtained, the filtering component is abstracted into a filtering node, the data display component is abstracted into a data display node, and the evaluation influence relationship between different nodes is represented by directed edges, thus obtaining a directed dependency graph.

[0018] Specifically, directed edges within a directed dependency graph are generated by explicit configuration, or based on dynamic parameter references, filtering scope, and runtime binding relationships.

[0019] Specifically, each filter node is indexed by its node identifier and scope components, so the status of the same filter node in the global page, local card, or pop-up window of the data analysis interface does not overlap.

[0020] Furthermore, the evaluation influence relationship between different nodes includes at least the filter value dependency relationship, the filter action relationship, and the dynamic parameter reference relationship. When a filter node references a dynamic parameter determined by another filter node, the referenced filter node is regarded as the implicit upstream node of the referencing filter node.

[0021] In the current embodiment, when the filtering evaluation event is obtained based on an external trigger, a new round identifier is generated for the filtering evaluation event. The round identifier is generated based on a monotonically increasing or timestamp sequence number. The external trigger includes user operations on the data analysis interface, software development kit calls, batch condition settings, or initial evaluation.

[0022] Specifically, generating round identifiers for filter evaluation events acquired when triggered externally can prevent collisions between different filter evaluation events within the same time unit.

[0023] Specifically, when the target filter node responds to the filter evaluation event and starts asynchronous evaluation, the evaluation version field of the target filter node is set to the round identifier of the filter evaluation event, and the evaluation status field is set to true. When the asynchronous evaluation is completed, the evaluation status field is set to false.

[0024] Furthermore, the asynchronous evaluation result carries the round identifier of the corresponding filtering evaluation event. When the round identifier of the asynchronous evaluation result is inconsistent with the round identifier of the target filtering node, the asynchronous evaluation result is not applied.

[0025] In other words, during the asynchronous evaluation of the target filtering node, the target filtering node may respond to other filtering evaluation events. At this time, the asynchronous evaluation result from the evaluation result of an earlier round has become invalid and can be discarded directly. This avoids the calculation result of the old round from overwriting the filtering state of the new round and ensures the consistency of the state at the node level.

[0026] Specifically, asynchronous evaluation includes filtering optional values, parsing default values, calculating dynamic parameters, validating filtering conditions, or generating action conditions.

[0027] Specifically, when a new evaluation begins during the asynchronous evaluation of the target filtering node, the cancellation handle of the old request is invoked; if the underlying request does not support cancellation, the "latest round priority" is implemented through version comparison during the return phase.

[0028] In other words, when the target filter node receives a new filter evaluation event, it cancels any filter evaluation events that the target filter node has not yet completed, or it refuses to apply the result when the asynchronous evaluation result of the previous filter evaluation event is returned.

[0029] In other words, the target filter node applies the corresponding asynchronous evaluation result and sets the evaluation status field to false only when the round identifier of the asynchronous evaluation result is the same as the round identifier of the target filter node.

[0030] In the current embodiment, starting from the target filtering node in the directed dependency graph, filtering nodes that have an evaluation influence relationship with the target filtering node are obtained as intermediate filtering nodes along the downstream direction. Intermediate filtering nodes that do not support automatic evaluation, intermediate filtering nodes with different scopes from the target filtering node, and intermediate filtering nodes whose evaluation version field is later than the target filtering node are removed to obtain candidate filtering nodes.

[0031] Specifically, some filter nodes in the data analysis interface do not support automatic evaluation and can only be modified manually or by executing scripts. Therefore, these nodes that do not support automatic evaluation cannot respond to the application of asynchronous evaluation results by the target filter node. Scope is an identifier used to distinguish different filter contexts under the same business identifier, such as global scope, local scope, or pop-up scope. Different scopes indicate that the two do not belong to the same filter context and there is no evaluation influence relationship, so they can be directly eliminated. If the evaluation version field of an intermediate filter node is later than that of the current target filter node, it means that the node has already completed the evaluation of the current round with an earlier update round and does not need to be processed again.

[0032] In the current embodiment, the flowchart of the upstream stability check is as follows: Figure 2 As shown, in the directed dependency graph, each candidate filtering node is recursively traversed along the upstream path. If all upstream filtering nodes are not in asynchronous evaluation and the evaluation version field is not later than the evaluation version field of the current candidate filtering node, then the current candidate filtering node is regarded as a stable filtering node; otherwise, the current candidate filtering node is removed.

[0033] For example, if any upstream node in the path of a candidate filtering node has a true evaluation status, it means that the upstream node is still asynchronously evaluating in the current round or the next round. At this time, the input conditions of the candidate filtering node are not yet stable, so the candidate filtering node is directly removed and not included in subsequent scheduling. If all upstream filtering nodes have completed their evaluations and there are no incomplete evaluations in the next round, then the candidate filtering node is determined to meet the upstream stability requirements and is retained as a stable filtering node.

[0034] Furthermore, during the recursive traversal of each candidate filtering node along the upstream path in the directed dependency graph, if a loop or duplicate node appears during the recursive traversal, the recursive traversal is terminated, the current candidate filtering node is removed, and the current candidate filtering node is marked as a dependency anomaly.

[0035] Specifically, a set of visited nodes is maintained for each recursive path. The set of visited nodes records the access records of each selected node during the recursive traversal. Based on the set of visited nodes, it is determined whether a loop or duplicate node occurs during the recursive traversal.

[0036] In the current embodiment, the reachability relationship between different candidate screening nodes is obtained in the directed dependency graph, and a candidate subgraph is constructed based on the reachability relationship between different candidate screening nodes. An intermediate cascade node set is formed by all stable screening nodes in the candidate subgraph. Stable candidate nodes that can be reached by another stable candidate node along the candidate subgraph are removed from the intermediate cascade set to obtain the cascade front set. Stable screening nodes in the cascade front set are used as cascade front nodes.

[0037] Specifically, the flowchart for obtaining the cascaded front node is as follows: Figure 3 As shown, different stable screening nodes may still have sequential dependencies. For example, when stable screening node B can reach stable screening node C, only B is directly scheduled; C will be triggered again in the same round after B is completed. By screening stable screening nodes to obtain cascaded leading nodes, it is possible to avoid B and C being directly scheduled at the same time, which would cause C to be evaluated repeatedly.

[0038] Specifically, the cascaded front node can be obtained using the following pseudocode: frontier = stableCandidates for each candidate in stableCandidates: if another stable candidate can reach candidate downstream: remove candidate from frontier dispatch every node in frontier with currentRound In other words, when there are no cascaded front nodes, it means that there are no filtering evaluation events. At this time, the display results of the data display nodes affected by the filtering evaluation events can be updated.

[0039] In the current embodiment, the evaluation event triggered by applying the asynchronous evaluation result to the target filtering node is a scheduling signal automatically generated by an internal cascading mechanism to continue triggering downstream evaluations, rather than a new operation from the outside.

[0040] Specifically, the generated new filter evaluation event is a message that notifies the cascaded front node that evaluation can be performed.

[0041] In the current embodiment, before updating the display result of the data display node affected by the filtering evaluation event, the direct upstream filtering node and the indirect upstream filtering node of the data display node are obtained in the directed dependency graph. If the direct upstream node is in an asynchronous evaluation state, or the evaluation status field of the indirect upstream filtering node is later than the current round identifier, the update of the display result of the data display node is terminated.

[0042] Specifically, the flowchart for updating the display results of the data display node is as follows: Figure 4 As shown, direct upstream filtering nodes refer to filtering nodes in the directed dependency graph that directly affect the data display nodes, while indirect upstream filtering nodes refer to filtering nodes in the directed dependency graph that have an indirect evaluation influence relationship with the data display nodes.

[0043] Specifically, when the direct upstream node is in the process of asynchronous evaluation, it means that the current direct upstream node has not yet output a stable filtering result, and the data display node does not have the input conditions to complete the result update. If a forced update is performed, incorrect display content will be obtained. When the evaluation version of any indirect upstream filtering node is later than the current round identifier, it means that the indirect upstream filtering node has triggered the filtering evaluation of the update round, but has not yet completed the stable calculation. At this time, it is also necessary to terminate the current display result update and wait for the evaluation of the update round to be completed before uniformly performing the update operation.

[0044] Specifically, the data display node sends a query request to the database and generates the display results based on the return value of the query request.

[0045] The overall technical approach of this solution will be illustrated with a complete example: Suppose that filter node A acts on filter nodes B and C, and filter nodes B and C together act on data display node D. After a user modifies A, the system generates round R and sets A to an evaluation in progress state.

[0046] After A completes, both B and C are identified as stable candidate nodes, and there is no reachability relationship between them. Therefore, B and C simultaneously enter the cascade front and perform asynchronous evaluation with round R. At this time, D requests an update. The query control module finds that B and C are still in the evaluation process, only records D as a node to be released, and does not create a database query request.

[0047] When B completes first, the system re-checks D, but C is still blocking upstream, so it remains blocked. After C completes, the system checks D again to confirm that both direct and indirect upstreams are stable. Then, it reads the final filtering status corresponding to round R, creates a database query request, and updates D.

[0048] If the user modifies A again before C is completed, the system generates a new round R2, which is later than R. A, B, and C enter the corresponding state in R2; thereafter, even if the old request for R returns, it will not be applied because the returned version is inconsistent with the current evaluated version of the node.

[0049] Example 2 Based on the same concept, referencing Figure 5 This application also proposes an asynchronous screening cascaded consistency scheduling device based on a unified round identifier, comprising: The construction module builds a directed dependency graph based on the data analysis interface. The nodes of the directed dependency graph include filtering nodes and data display nodes. The edges represent the evaluation influence relationships between different nodes. Each filtering node maintains an evaluation version field and an evaluation status field in real time. The asynchronous evaluation module responds to the filter evaluation event and generates a round identifier for the filter evaluation event. Based on the filter evaluation event, the target filter node is asynchronously evaluated to obtain the asynchronous evaluation result. The evaluation version field of the target filter node records the round identifier of the corresponding filter evaluation event, and the evaluation status field records the progress status of the asynchronous evaluation. In the application module, the target filtering node applies the asynchronous evaluation result, obtains multiple candidate filtering nodes corresponding to the target filtering node based on the evaluation influence relationship in the directed dependency graph, takes the candidate filtering node that passes the upstream stability check as the stable filtering node, and takes the stable filtering node that is not affected by the evaluation result of another stable filtering node as the cascade front node, and sends a new filtering evaluation event to each cascade front node based on the asynchronous evaluation result of the target filtering node. The evaluation event triggered by the target filtering node applying the asynchronous evaluation result is taken as the new filtering evaluation event, and the new filtering evaluation event inherits the round identifier of the filtering evaluation event responded to by the target filtering node. The loop module takes the leading edge node of each stage as the new target filtering node and responds to the corresponding new filtering evaluation event to return to the asynchronous evaluation module. In the data display module, if there is no cascading frontier node under the current round identifier, the display results of the data display nodes affected by the filtering evaluation event are updated.

[0050] Example 3 This embodiment also provides an electronic device, see reference. Figure 6It includes a memory 402 and a processor 401, the memory 402 storing a computer program and the processor 401 being configured to run the computer program to perform the steps in any of the above method embodiments.

[0051] Specifically, the processor 401 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0052] The memory 402 may include a mass storage device for data or instructions. For example, and not limitingly, the memory 402 may include a hard disk drive (HDD), a floppy disk drive, a solid-state drive (SSD), flash memory, an optical disk drive, a magneto-optical disk drive, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 402 may include removable or non-removable (or fixed) media. Where appropriate, the memory 402 may be internal or external to a data processing device. In a particular embodiment, the memory 402 is non-volatile memory. In a particular embodiment, the memory 402 includes read-only memory (ROM) and random access memory (RAM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable read-only memory (PROM), an erasable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), an electrically alterable read-only memory (EAROM), or flash memory, or a combination of two or more of these. Where appropriate, the RAM can be Static Random-Access Memory (SRAM) or Dynamic Random-Access Memory (DRAM). DRAM can be Fast Page Mode Dynamic Random Access Memory (FPMDRAM), Extended Data Out Dynamic Random Access Memory (EDODRAM), Synchronous Dynamic Random-Access Memory (SDRAM), etc.

[0053] The memory 402 can be used to store or cache various data files that need to be processed and / or communicated, as well as possible computer program instructions executed by the processor 401.

[0054] The processor 401 reads and executes computer program instructions stored in the memory 402 to implement any of the asynchronous screening cascaded consistency scheduling methods based on a unified round identifier in the above embodiments.

[0055] Optionally, the electronic device may further include a transmission device 403 and an input / output device 404, wherein the transmission device 403 is connected to the processor 401 and the input / output device 404 is connected to the processor 401.

[0056] The transmission device 403 can be used to receive or send data via a network. Specific examples of the network described above may include wired or wireless networks provided by the communication provider of the electronic device. In one example, the transmission device includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 403 may be a Radio Frequency (RF) module used for wireless communication with the Internet.

[0057] Input / output device 404 is used to input or output information. In this embodiment, the input information may be filtering and evaluation events, and the output information may be data display results, etc.

[0058] Optionally, in this embodiment, the processor 401 can be configured to perform the following steps via a computer program: S1. Construct a directed dependency graph based on the data analysis interface. The nodes of the directed dependency graph include filtering nodes and data display nodes. The edges represent the evaluation influence relationships between different nodes. Each filtering node maintains an evaluation version field and an evaluation status field in real time. S2. The target filter node responds to the filter evaluation event and generates the round identifier of the filter evaluation event. Based on the filter evaluation event, the target filter node is asynchronously evaluated to obtain the asynchronous evaluation result. The evaluation version field of the target filter node records the round identifier of the corresponding filter evaluation event, and the evaluation status field records the progress status of the asynchronous evaluation. S3. The target filtering node applies the asynchronous evaluation result and obtains multiple candidate filtering nodes corresponding to the target filtering node based on the evaluation influence relationship in the directed dependency graph. The candidate filtering nodes that pass the upstream stability check are taken as stable filtering nodes, and the stable filtering nodes that are not affected by the evaluation result of another stable filtering node are taken as cascade front nodes. Based on the asynchronous evaluation result of the target filtering node, a new filtering evaluation event is sent to each cascade front node. The evaluation event triggered by the target filtering node applying the asynchronous evaluation result is taken as the new filtering evaluation event, and the new filtering evaluation event inherits the round identifier of the filtering evaluation event responded to by the target filtering node. S4. Take the leading edge nodes of each level as new target filtering nodes, and repeat S2-S3 in response to the corresponding new filtering evaluation events. S5. If there is no cascaded front node under the current round identifier, update the display results of the data display nodes affected by the filtering evaluation event.

[0059] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.

[0060] Generally, various embodiments can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects of the invention can be implemented in hardware, while others can be implemented by firmware or software executed by a controller, microprocessor, or other computing device, but the invention is not limited thereto. Although various aspects of the invention may be shown and described as block diagrams, flowcharts, or using some other graphical representation, it should be understood that, by way of non-limiting example, these blocks, apparatuses, systems, techniques, or methods described herein can be implemented in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.

[0061] Embodiments of the present invention can be implemented by computer software, which may be executable by a data processor of a mobile device, such as a processor entity, or by hardware, or by a combination of software and hardware. Computer software or programs (also referred to as program products) including software routines, applets, and / or macros can be stored in any device-readable data storage medium, and they include program instructions for performing specific tasks. The computer program product may include one or more computer-executable components configured to perform the embodiments when the program is run. The one or more computer-executable components may be at least one piece of software code or a portion thereof. Additionally, it should be noted in this respect that, as Figure 6Any box in the logical flow can represent a program step, or interconnected logic circuits, boxes and functions, or a combination of program steps and logic circuits, boxes and functions. Software can be stored on physical media such as memory chips or blocks of storage implemented within a processor, magnetic media such as hard disks or floppy disks, and optical media such as DVDs and their data variants, CDs, etc. The physical medium is a non-transient medium.

[0062] Those skilled in the art should understand that the technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments have been described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0063] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. An asynchronous screening cascading consistency scheduling method based on a unified round identifier, characterized in that, Includes the following steps: S1. Construct a directed dependency graph based on the data analysis interface. The nodes of the directed dependency graph include filtering nodes and data display nodes. The edges represent the evaluation influence relationships between different nodes. Each filtering node maintains an evaluation version field and an evaluation status field in real time. S2. The target filter node responds to the filter evaluation event and generates the round identifier of the filter evaluation event. Based on the filter evaluation event, the target filter node is asynchronously evaluated to obtain the asynchronous evaluation result. The evaluation version field of the target filter node records the round identifier of the corresponding filter evaluation event, and the evaluation status field records the progress status of the asynchronous evaluation. S3. The target filtering node applies the asynchronous evaluation result and obtains multiple candidate filtering nodes corresponding to the target filtering node based on the evaluation influence relationship in the directed dependency graph. The candidate filtering nodes that pass the upstream stability check are taken as stable filtering nodes, and the stable filtering nodes that are not affected by the evaluation result of another stable filtering node are taken as cascade front nodes. Based on the asynchronous evaluation result of the target filtering node, a new filtering evaluation event is sent to each cascade front node. The evaluation event triggered by the target filtering node applying the asynchronous evaluation result is taken as the new filtering evaluation event, and the new filtering evaluation event inherits the round identifier of the filtering evaluation event responded to by the target filtering node. S4. Take the leading edge nodes of each level as new target filtering nodes, and repeat S2-S3 in response to the corresponding new filtering evaluation events. S5. If there is no cascaded front node under the current round identifier, update the display results of the data display nodes affected by the filtering evaluation event.

2. The asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to claim 1, characterized in that, When a filtering evaluation event is obtained based on an external trigger, a new round identifier is generated for the filtering evaluation event. The round identifier is generated based on a monotonically increasing sequence or a timestamp number. The external trigger includes user operations on the data analysis interface, software development kit calls, batch condition settings, or initial evaluation.

3. The asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to claim 1, characterized in that, The asynchronous evaluation result carries the round identifier of the corresponding filter evaluation event. When the round identifier of the asynchronous evaluation result is inconsistent with the round identifier of the target filter node, the asynchronous evaluation result shall not be applied.

4. The asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to claim 1, characterized in that, Starting from the target filter node in the directed dependency graph, filter nodes that have an evaluation influence relationship with the target filter node are obtained as intermediate filter nodes along the downstream direction. Intermediate filter nodes that do not support automatic evaluation, intermediate filter nodes with different scopes from the target filter node, and intermediate filter nodes whose evaluation version field is later than the target filter node are removed to obtain candidate filter nodes.

5. The asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to claim 1, characterized in that, In the directed dependency graph, each candidate filter node is recursively traversed along the upstream path. If all upstream filter nodes are not in asynchronous evaluation and the evaluation version field is not later than the evaluation version field of the current candidate filter node, then the current candidate filter node is regarded as a stable filter node; otherwise, the current candidate filter node is removed.

6. The asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to claim 5, characterized in that, During the recursive traversal of each candidate filtering node along the upstream path in the directed dependency graph, if a loop or duplicate node is encountered during the recursive traversal, the recursive traversal is terminated, the current candidate filtering node is removed, and the current candidate filtering node is marked as a dependency anomaly.

7. The asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to claim 1, characterized in that, In the directed dependency graph, the reachability relationships between different candidate screening nodes are obtained, and a candidate subgraph is constructed based on the reachability relationships between different candidate screening nodes. The intermediate cascade node set is formed by all stable screening nodes in the candidate subgraph. The stable candidate nodes that can be reached by another stable candidate node along the candidate subgraph in the intermediate cascade set are removed to obtain the cascade front set. The stable screening nodes in the cascade front set are used as the cascade front nodes.

8. The asynchronous screening cascaded consistency scheduling method based on a unified round identifier according to claim 1, characterized in that, Before updating the display result of the data display node affected by the filtering evaluation event, the direct upstream filtering node and indirect upstream filtering node of the data display node are obtained in the directed dependency graph. If the direct upstream node is in an asynchronous evaluation state, or the evaluation status field of the indirect upstream filtering node is later than the current round identifier, the update of the display result of the data display node is terminated.

9. An asynchronous screening cascaded consistency scheduling device based on a unified round identifier, characterized in that, include: The construction module builds a directed dependency graph based on the data analysis interface. The nodes of the directed dependency graph include filtering nodes and data display nodes, and the edges represent the evaluation influence relationships between different nodes. The asynchronous evaluation module responds to the filter evaluation event and generates a round identifier for the filter evaluation event. Based on the filter evaluation event, the target filter node is asynchronously evaluated to obtain the asynchronous evaluation result. In the application module, the target filtering node applies the asynchronous evaluation result, obtains multiple candidate filtering nodes corresponding to the target filtering node based on the evaluation influence relationship in the directed dependency graph, takes the candidate filtering node that passes the upstream stability check as the stable filtering node, and takes the stable filtering node that is not affected by the evaluation result of another stable filtering node as the cascade front node, and sends a new filtering evaluation event to each cascade front node based on the asynchronous evaluation result of the target filtering node, wherein the evaluation event triggered by the target filtering node applying the asynchronous evaluation result is taken as the new filtering evaluation event; The loop module takes the leading edge node of each stage as the new target filtering node and responds to the corresponding new filtering evaluation event to return to the asynchronous evaluation module. In the data display module, if there is no cascading frontier node under the current round identifier, the display results of the data display nodes affected by the filtering evaluation event are updated.

10. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to execute an asynchronous screening cascaded consistency scheduling method based on a unified round identifier as described in any one of claims 1-8.