Parallel Query Graph Search via Subgraph Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data search methods for large-scale graphs face inefficiencies due to the need for sequential searches and reliance on superlinear index structures, which are not scalable for distributed storage and computation.
Innovation Solution
The method partitions a query graph into subgraphs using depth-first search (DFS) to enable parallel search across a target data graph, reducing redundant intermediate results and synchronizations, and merges matching subgraphs to determine the final search result.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential search methods are used for query graphs, then search accuracy is maintained, but search efficiency deteriorates due to inability to execute parallel operations
Solution Approach 1:
The query graph is segmented into multiple query subgraphs by performing DFS and partitioning the resulting tree structure into different branches. Each branch becomes an independent query subgraph that can be searched in parallel, transforming a single sequential search task into multiple parallel search tasks without losing the ability to find complete matching results.
2Productivity
If query graph is partitioned into independent subgraphs, then parallel search is enabled, but intermediate results require synchronization which increases computational overhead
Solution Approach 1:
The patent merges multiple query subgraphs by identifying and combining their root nodes and shared paths. This merging creates overlapping regions where intermediate results can be naturally shared and reused across different query subgraphs, reducing the need for synchronization and eliminating redundant computations while maintaining parallel execution benefits.
3Ease of manufacture
If DFS transformation is applied to create tree structure, then query subgraphs can be partitioned into branches, but edges not included in tree structure require additional verification
Solution Approach 1:
The patent performs preliminary action by recording the edges that are not included in the DFS tree structure during the graph transformation phase. These non-tree edges are identified and stored as constraints that need to be verified later. This preliminary identification simplifies the subsequent verification process by providing a clear list of what needs to be checked, rather than requiring complex analysis during the matching phase.
4Measurement precision
If conventional subgraph matching is used, then matching accuracy is maintained, but computational resource consumption increases due to redundant intermediate results
Solution Approach 1:
The patent merges query subgraphs to identify shared paths and root nodes, allowing intermediate matching results to be reused across multiple query subgraphs. This merging eliminates redundant computations where the same subgraph patterns would be matched independently multiple times, significantly reducing computational resource consumption while maintaining complete and accurate matching results through the merged structure.
Data Source
AI summary
Embodiments of this disclosure provide a data search method and apparatus, and an electronic device. The method includes obtaining a search request, where the search request includes a query graph formed by a plurality of nodes and a plurality of edges between the plurality of nodes, each node represents an object, and each edge represents an association relationship between objects; determining a plurality of query subgraphs based on the query graph, where each query subgraph includes a group of nodes in the plurality of nodes and edges between the group of nodes, and the plurality of query subgraphs have at least one same node in the plurality of nodes; searching a target data graph in parallel for data subgraphs that respectively match the plurality of query subgraphs; and merging the data subgraphs that respectively match the plurality of query subgraphs, to determine a search result that matches the query graph.


