A segmented parallel expansion method for optimal path query of keywords

By constructing keyword vertex paths in keyword optimal path query and performing segmented parallel expansion, combining local cost thresholds and feasible solution target value pruning strategies, the problem of excessive execution time and parallel expansion in the existing technology does not involve multi-constrained path query, and efficient multi-constrained path query is achieved.

CN114817772BActive Publication Date: 2025-06-27TAIYUAN UNIVERSITY OF TECHNOLOGY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210510076.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-11
Publication Date
2025-06-27
Estimated Expiration
2042-05-11

AI Technical Summary

Technical Problem

When conducting keyword optimal path query, the search scale increases exponentially with the increase of path length or search depth, resulting in too long execution time. Parallel expansion technology is mainly used for shortest path query under single constraint conditions and does not involve multi-constrained path query.

Method used

A piecewise parallel expansion method for keyword optimal path query is proposed. By constructing the keyword vertex path and dividing the path into multiple segments with the keyword vertex as the boundary, parallel expansion technology is adopted, combining local cost thresholds and feasible solution target value pruning strategy, the execution time is shortened.

Benefits of technology

It effectively reduces the search scale and execution time during long path search, solves the problem of parallel expansion of multi-constrained path query, and realizes more efficient keyword optimal path query.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114817772B_ABST
    Figure CN114817772B_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of spatial data query, and specifically relates to a segmented parallel expansion method for optimal path query of keywords. It includes the following steps. S100: Calculate the minimum cost value between any two vertices in the query graph, the target value corresponding to the minimum cost value, the minimum target value, and the cost value corresponding to the minimum target value, and record the minimum cost value and the minimum target value in the query graph. S200: Construction of keyword inverted list: Combine all keyword information of vertices into a non-overlapping keyword set, and construct a keyword inverted list in the form of {w i :v j}, and record the vertices corresponding to the keywords. S300: Skip the vertices irrelevant to the query keywords, and construct the keyword vertex path with the minimum target value denoted as #imgabs0# and the keyword vertex path with the minimum cost value denoted as #imgabs1# S400: Divide the keyword vertex path and perform segmented parallel expansion on the divided paths.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of spatial data query, and specifically relates to a segmented parallel expansion method for keyword optimal path query. Background Art

[0002] With the diversification of people's demands for travel routes, route query is not just the common shortest path query. People often comprehensively consider other factors, such as the time cost of the route and the points of interest covered by the route. Consider the following scenario: When a user wants to travel to certain places, they hope to find a route that starts from a specified location, passes through the points of interest specified by the user, and finally reaches the destination. This route should use the shortest time possible on the premise of meeting the traveler's itinerary budget (hereinafter referred to as the cost threshold). The above query is called Keyword-aware Optimal Route Query (KOR). KOR is a path query that satisfies full keyword coverage, cost threshold (path length), and minimum target value (time cost). This query is usually used in travel planning, route navigation, and other applications.

[0003] Reducing the execution time is an important goal of KOR optimization, but there are currently two challenges. The first challenge is to reduce the search scale. The existing state-of-the-art technologies either use adjacent edge expansion, which essentially traverses vertices one by one starting from the starting point; or adopt keyword vertex expansion, which skips vertices irrelevant to the keywords and continuously expands keyword vertices other than adjacent vertices. However, this method requires calculating a streamlined Skyline path in the preprocessing, with huge space and time overheads. Although the above two methods adopt various pruning strategies during expansion to shorten the execution time, such as approximate dominance pruning, global priority expansion, feasible solution target value pruning, minimum cost value pruning, etc., their search scale increases exponentially with the increase of the path length or search depth, and the execution time is still unacceptable.

[0004] The second challenge is to combine the existing path expansion method with the pruning strategy to further shorten the execution time. The current state-of-the-art technology is essentially serial expansion, that is, expanding one vertex at a time during the query stage or preprocessing stage. However, this method has reached its performance limit. Parallel expansion of paths may be a good choice. Related research has confirmed the feasibility of parallel path expansion for the shortest path under a single constraint, such as parallel expansion of single-source shortest paths and all-source shortest paths. However, the current research on parallel expansion of multi-constraint shortest paths has not been involved.

[0005] The existing technologies have the following problems:

[0006] (1) During long-path search, the search scale of the existing algorithms increases exponentially with the increase of the path length or search depth, and the execution time is too long.

[0007] (2) Parallel expansion techniques are mostly applied to shortest path queries under single constraint conditions and have not yet been involved in the research of multi-constraint path queries such as the KOR problem. To achieve the parallel expansion of the KOR problem, the present invention needs to explore how to parallelize the serial multi-constraint expansion. Summary of the Invention

[0008] To solve the above problems, the present invention provides a segmented parallel expansion method for keyword optimal path queries.

[0009] The present invention adopts the following technical solutions: A segmented parallel expansion method for keyword optimal path queries, including the following steps.

[0010] S100: Calculate the minimum cost value b(v i , v j ) and the target value o σ (v i , v j ) corresponding to the minimum cost value, and the minimum target value o(v i , v j ) and the cost value b τ (v i , v j ) corresponding to the minimum target value. At the same time, record the minimum cost value b min and the minimum target value o min in the query graph G = (V, E).

[0011] S200: Construction of keyword inverted list: Combine all keyword information {v.w1, v.w2,...} of vertices into a non-overlapping keyword set, and construct a keyword inverted list in the form of {w i : v j}, recording the vertices corresponding to the keywords.

[0012] S300: Skip the vertices irrelevant to the query keywords, and construct the keyword vertex path with the minimum target value, denoted as and the keyword vertex path with the minimum cost value, denoted as

[0013] S400: Divide the keyword vertex path and perform segmented parallel expansion on the divided paths.

[0014] Step S300 includes the following steps.

[0015] S310: Given a query v s 、v t 、 and Δ represent the query start point, query end point, the set of keywords that the query path needs to cover, and the cost threshold respectively. Hide the vertices that do not contain any of the query keywords in , construct a simplified keyword vertex query graph G′ by retaining the start point, end point, and keyword vertices. During the implementation process, directly obtain the keyword vertices according to the keyword inverted list in S200, and then add the query start point and query end point to form the query graph G′. The information included in the query graph G′ is: (1) the weights b(v i , v j ), o σ (v i , v j ), o(v i , v j ), b τ (v i , v j ) and the minimum cost value b min and the minimum objective value o min in the query graph; (2) the query start point, end point, and keyword vertices.

[0016] S320: In the keyword vertex query graph G′, permute the keyword vertices and traverse them through breadth-first search, and finally return the Among them The keyword vertex path with the minimum objective value is denoted as The keyword vertex path with the minimum cost value is denoted as

[0017] Step S320 includes the following steps. Given a query Among them w i = {v k , v m}, w j = {v x , v y}.

[0018] S321: First, construct an initial label at v s and place it into the priority queue.

[0019] S322: Expand from the start point to all keyword vertices, and construct the labels from v s to each keyword vertex and calculate the global priority and enqueue it. The smaller the global priority, the higher the global priority.

[0020] S323: Select the label with the highest global priority Dequeue, at this time already contains the keyword w j , to the keyword w that has not been included yet i related vertex v i 、v j Expand, construct a new label and determine whether the new label meets the cost threshold and the approximate domination condition. If it meets, calculate the global priority and enqueue it; otherwise, discard it.

[0021] S324: Continue to select the label with the highest priority for expansion, repeat process S323 until the end point v is expanded t , select the path corresponding to the label that meets keyword full coverage, cost threshold, and minimum target value and record it as

[0022] S325: Continue to select the label with the highest priority for expansion, repeat process S323 until the end point v is expanded t , select the path corresponding to the label that meets keyword full coverage, cost threshold, and minimum cost value and record it as

[0023] In step S322, the global priority of the label is expressed as The minimum target value from v s to v t is o(v s ,v t ). Set the priority factor β, 1 < β < 2. The smaller the global priority of this label, the higher the global priority of this label.

[0024] Before performing step S400, for the keyword vertex path with the minimum target value constructed in step S300 and the keyword vertex path with the minimum cost value make a selection. The specific selection process is as follows:

[0025] During the construction of , the one with the minimum target value returned is recorded as At the same time, record the corresponding target value O min and the cost value B max ; the one with the minimum cost value returned is recorded as At the same time, record B min and O max ; we can get [B min ,B max and [O min ,O max ; to ensure that The path expansion based on O will return a valid path, with O max as the upper bound of the target value, that is, the path target value returned in the worst case is O max , that is, the path with as the expansion basis consists of the keyword vertex path boundaries composed of and There are the following situations in total;

[0026] 1) is not empty, is not empty, and B min ≤B max 、O min ≤O max , then in the parallel expansion of path segments, taking as the criterion, and using O max as the upper bound of the target value, constrains the expansion of each path segment with the local cost threshold in it.

[0027] 2) is empty, is not empty, and the path segment expansion takes as the criterion.

[0028] 3) is empty, is empty, indicating that the cost threshold is too low. Increase the cost threshold and reconstruct the keyword vertex path with the minimum target value, denoted as and the keyword vertex path with the minimum cost value, denoted as

[0029] Step S400 specifically includes the following steps,

[0030] S410: Set the parallelism degree, divide the keyword vertex path into multiple segments. All vertices in the keyword vertex path except the start and end vertices are keyword vertices, and use the keyword vertices to split the path.

[0031] S420: Perform parallel expansion on the path segments. When expanding the path segments, judge whether the cost values of all paths from the start vertex passing through non-keyword vertices to the target vertices of each path segment are less than or equal to the local cost threshold at the target vertices. If so and not approximately dominated, then perform a comparison of the feasible solution target value pruning strategy for applicable parallel expansion. If the judgment condition is met, calculate the global priority and then enqueue it, otherwise it is discarded.

[0032] In step S410, the principle of setting the parallelism is to make the keyword vertices in each path segment as uniform as possible so that the number of vertices in each path segment is similar during expansion, thereby achieving the goal that the expansion time of each path segment is close; during actual parallelization, the parallelism can be set according to the number of keyword vertices in the keyword vertex path or by measuring the size of the local cost threshold for each segment.

[0033] In step S420, the judgment inequality for the feasible solution objective value pruning strategy comparison is:

[0034]

[0035] Among them, and represent keyword vertices, is expanded from to v k and v k is the label of a vertex passed through from to in the middle; if the constraint is satisfied, then is enqueued for continued expansion, otherwise it is discarded

[0036] Compared with the prior art, the present invention has the following beneficial effects:

[0037] (1) The present invention provides an idea of converting the multi-constraint KOR problem into a restricted shortest path problem, that is, first constructing a keyword vertex path that satisfies keyword full coverage and cost threshold, and then considering the minimum objective value constraint in the detailed expansion to divide the problem.

[0038] (2) Aiming at the problem of long execution time for long path search, the present invention proposes a parallel expansion method for segmented query of the optimal keyword path (PSE-KOR). By constructing a keyword vertex path and then dividing the path into multiple segments with keyword vertices as boundaries, the search scale (depth) during long path search is reduced, and then a parallel expansion method is adopted to further shorten the execution time of long path KOR.

[0039] (3) For the path expansion of each segment, local cost threshold pruning is proposed to constrain the expansion direction and search depth, and at the same time reduce the correlation between each segment path. At the same time, approximate dominance pruning, global priority expansion, and feasible solution objective value pruning strategies applicable to parallel expansion are used to accelerate the expansion. Description of the Drawings

[0040] Figure 1 is the structure diagram of the query graph;

[0041] Figure 2 is the schematic diagram of the keyword vertex path;

[0042] Figure 3 Schematic diagram for constructing the keyword vertex path;

[0043] Figure 4 Example of the keyword vertex path. Detailed implementation manners

[0044] In view of the above problems, the present invention provides a segmented parallel expansion method for querying the optimal path of keywords. This method first skips the vertices irrelevant to the query keyword, and only expands the keyword vertices to construct the keyword vertex path; then, with the keyword vertices as the boundaries, the path is divided into multiple segments for parallel expansion, and finally stitched into a complete path. To reduce the correlation degree between each road segment and reduce the search scale, the present invention also proposes a local cost threshold and a feasible solution objective value pruning applicable to parallel expansion to cooperate with the parallel expansion.

[0045] Before further explanation, first explain the definition of KOR:

[0046] KOR is based on a road network, and the road network can be abstracted into a query graph as shown in Figure 1 .

[0047] Definition 1 Query graph: G=(V, E) is composed of a vertex set V and an edge set E. Any v∈V represents a point of interest, and the geographical location of v is represented by longitude and latitude, denoted as v.loc, and the keyword set of v is represented as The path connecting adjacent vertices v i and v j , (v i , v j ) is called an edge, denoted as e, and e∈E. Each edge has two attributes: cost value b(v i , v j ) and objective value o(v i , v j ).

[0048] As shown in Figure 1 , usually the cost value represents the length of the edge, represented by the value outside the parentheses; the objective value represents the time required to pass through the edge, represented by the value inside the parentheses. Table 1 lists Figure 1 the keyword sets corresponding to the vertices in

[0049] Table 1 Vertex keyword information

[0050]

[0051] Definition 2 Path: p=(v0, v1,....v n ) represents a path starting from v0, passing through v1,... v n-1 , and reaching v n , and the keywords covered by p are represented as

[0052] According to Definition 2, the cost value and target value of path p are respectively:

[0053] Definition 3 KOR: A KOR query Q is a quadruple v s and v t , and Δ represent the query start point, end point, set of covered keywords, and cost threshold respectively. Let p s,t represent the set of paths from v s to v t , and p cand represent the set of feasible paths p that satisfy keyword full coverage and cost threshold, that is Then the optimal path of KOR

[0054] The technical solution of the present invention will be further described below:

[0055] S100: Using the Floyd algorithm, calculate the minimum cost value b(v i , v j ), the target value o σ (v i , v j ) corresponding to the minimum cost value, the minimum target value o(v i , v j ), and the cost value b τ (v i , v j ) corresponding to the minimum target value. At the same time, record the minimum cost value b min and the minimum target value o min in G = (V, E) and save them in memory.

[0056] S200: Construction of keyword inverted index: Combine all keyword information {v.w1, v.w2,...} of points of interest into a non-overlapping keyword set, construct a keyword inverted index table, and record the points of interest corresponding to the keywords, as shown in Table 2.

[0057] Table 2 Keyword Inverted Index Table

[0058]

[0059] S300: Skip the vertices irrelevant to the query keywords, and construct the keyword vertex path with the minimum target value denoted as and the keyword vertex path with the minimum cost value denoted as

[0060] Definition 4 Keyword Vertex: Given For a keyword If a certain vertex covers the keyword w i , that is then it is called a vertex that covers the keyword w i .

[0061] Definition 5 Keyword Vertex Path: Given Starting from v s , continuously check the uncovered keywords and expand to the corresponding vertices to obtain a path that starts from v s and expands to v t and satisfies keyword full coverage and cost threshold. Without loss of generality, it is denoted as It is called a keyword vertex path.

[0062] Step S300 includes the following steps:

[0063] S310: Given a query v s , v t , and Δ represent the query start point, query end point, set of keywords that the query path needs to cover, and cost threshold respectively. Hide the vertices that do not contain any query keyword in , retain the start point, end point, and keyword vertices, and construct a simplified keyword vertex query graph G'. During implementation, directly obtain the keyword vertices according to the keyword inverted list in S200, and then add the query start point and query end point to form the query graph G'. The information included in the query graph G' is: (1) the weights b(v i , v j ), o σ (v i , v j ), o(v i , v j ), b τ (v i , v j ) and the minimum cost value b min , minimum objective value o min in the query graph; (2) query start point, end point, keyword vertices.

[0064] The simplified keyword vertex query graph G' is as Figure 2 shown. The keyword vertices are connected by dashed lines to form the keyword vertex query graph.

[0065] S320: In the keyword vertex query graph G′, permute the keyword vertices and traverse them through breadth-first search, and finally return those that meet the keyword full coverage and cost threshold Among them The keyword vertex path with the smallest objective value is denoted as The keyword vertex path with the smallest cost value is denoted as As Figure 3 shown, the keyword vertex path with the smallest objective value can be returned

[0066] S320: In the keyword vertex query graph G′, permute the keyword vertices and traverse them through breadth-first search, and finally return those that meet the keyword full coverage and cost threshold Among them The keyword vertex path with the smallest objective value is denoted as The keyword vertex path with the smallest cost value is denoted as

[0067] Step S320 includes the following steps. Given a query Among them w i ={v k ,v m}}, w j ={v x ,v y}

[0068] S321: First, construct an initial label at v s and place it into the priority queue

[0069] S322: Expand from the starting point to all keyword vertices, and construct labels from v s to each keyword vertex and calculate the global priority and enqueue it. The smaller the global priority, the higher the global priority level

[0070] The global priority of label is expressed as The minimum objective value from v s to v t is o(v s ,v t ), set the priority factor β, 1 < β < 2. The smaller the global priority of this label, the higher the global priority level of this label

[0071] S323: Select the label with the highest global priority and dequeue it. At this time already contains the keyword w j , and go to Keywords w not yet included i Related vertex v i , v j Expand and construct new labels And determine whether the new label meets the cost threshold and the approximate domination condition. If it meets, calculate the global priority and enqueue it; otherwise, discard it.

[0072] Cost threshold: The path meets the travel budget of tourists.

[0073] Approximate domination: Assume a given parameter α, where α is slightly greater than 1 (e.g., α = 1.1). If the paths p i , p j have the same starting and ending points,[[]] b(p i ) ≤ b(p j ) and then the path p i approximately dominates p j , p j is pruned.

[0074] Target correction: Given the query graph G = (V, E) and the query Known label Minimum cost value b min , minimum target value o min , its corrected target value is is called the correction ratio, where 0 < ε < 1.

[0075] S324: Continue to expand the label with the highest priority, repeat process S323 until reaching the end vertex v t , select the path corresponding to the label that meets keyword coverage, cost threshold, and minimum target value and denote it as

[0076] S325: Continue to expand the label with the highest priority, repeat process S323 until reaching the end v t, select the path corresponding to the label that meets keyword coverage, cost threshold, and minimum cost value and denote it as

[0077] The expansion result is reflected in Figure 4 the shown G′, where v2 and v4 are keyword vertices discarded during construction .

[0078] Select from the keyword vertex path with the minimum target value constructed in step S300 and the keyword vertex path with the minimum cost value . The specific selection process is as follows:

[0079] During the construction process, the one with the smallest returned target value is denoted as while recording the corresponding target value O min and the cost value B max ; the one with the smallest returned cost value is denoted as while recording B min and O max . We can obtain [B min , B max and [O min , O max . To ensure that the path expansion based on will return a valid path, O max (i.e., ) is used as the upper bound of the target value. In the worst case, the path target value returned is O max , that is, the path based on for expansion. In the expansion stage, the keyword vertex path boundary composed of and has the following several situations:

[0080] (1) is not empty, is not empty, and B min ≤B max , O min ≤O max , then in the path segment expansion, is used as the criterion, and O max is used as the upper bound of the target value, and the local cost threshold in

[0081] (2) is empty, is not empty, and the path segment expansion is based on as the criterion.

[0082] (3) is empty, is empty, indicating that the cost threshold is too low. Increase the cost threshold and reconstruct the keyword vertex path with the smallest target value, denoted as and the keyword vertex path with the smallest cost value, denoted as

[0083] The keyword vertex path with the smallest target value, so this path has the smallest target value O min , because when solving , the goal is to have the smallest target value, and the requirement for the path cost value is only to meet the cost threshold. Therefore, it is agreed that The path cost value in it is B max .

[0084] The keyword vertex path with the minimum cost value, so this path has the minimum objective value B min , because when solving , the objective value cost is the smallest and there is no constraint on the objective value, so it is agreed that the path cost value in it is O max .

[0085] o min : The minimum objective value of the entire road network graph; b min : The minimum cost value of the entire road network graph.

[0086] As can be seen from the above, when constructing , the two keyword vertex paths with the minimum objective value and the minimum cost value are obtained, and the specific expansion basis is selected according to the above three situations in the actual expansion process.

[0087] S400: Divide the keyword vertex path and expand the divided path segments in parallel. The specific steps are as follows:

[0088] S410: Set the parallelism degree, divide the keyword vertex path into multiple segments. All vertices in the keyword vertex path except the head and tail vertices are keyword vertices, and the keyword vertices are used to split the path.

[0089] All vertices in the keyword vertex path except the head and tail vertices are keyword vertices, so the keyword vertices can be used to split the path. As Figure 4 shown, the path can be divided into three segments v s →v1, v1→v3, v3→v t or two segments v s →v1→v3, v3→v t .

[0090] The principle of setting the parallelism degree is to make the keyword vertices in each path segment as even as possible so that the number of vertices in each path segment is similar during expansion, so as to achieve the purpose that the expansion time of each path segment is close; in actual parallelism, the parallelism degree can be set according to the number of keyword vertices in the keyword vertex path or by measuring the size of the local cost threshold of each segment.

[0091] S420: Parallelly expand the path segments. When expanding the path segments, determine whether the cost value of all paths from the starting vertex through non-keyword vertices to the target vertex of each path segment is less than or equal to the local cost threshold at the target vertex. If so and it is not approximately dominated, perform a comparison of the feasible solution objective value pruning strategy applicable to parallel expansion. If the judgment condition is met, calculate the global priority and then enqueue it; otherwise, discard it.

[0092] Feasible solution objective value pruning: When obtaining a feasible path p i (p i ∈p cand ), use its objective value o(p i ) as the pruning condition. If the objective value of the path p j (p j ∈p cand ) is greater than o(p i ), that is, o(p i ) < o(p j ), then p j is pruned.

[0093] Local cost threshold: Given a keyword vertex path and the total cost value of this path For any two adjacent keyword vertices and When performing path expansion, take as the local cost threshold for the path expansion from to this segment of the path.

[0094] Since when constructing the keyword vertex path, the two constraints of keyword full coverage and cost threshold have been satisfied, and the local cost threshold of each path segment has been recorded, the local cost threshold can be used to replace the global cost threshold constraint when parallelly expanding each path segment. The local cost threshold only constrains each path segment and is independent of other paths, so the correlation degree between paths can be reduced. The judgment inequality for the feasible solution objective value pruning strategy comparison is:

[0095]

[0096] Among them, and represent keyword vertices, is from expanded to v k , v k is the label of a vertex passed through from to ; if the constraint is satisfied, then is enqueued for continued expansion, otherwise discard

Claims

1. A segmented parallel expansion method for querying the optimal path of keywords, characterized in that: including the following steps, S100: Calculate the minimum cost value b(v i , v j ) and the target value o σ (v i , v j ) and the minimum target value o(v i , v j ) and the cost value b τ (v i , v j ) corresponding to the minimum target value. At the same time, record the minimum cost value b min and the minimum target value o min in the query graph G = (V, E); S200: Construction of keyword inverted list: Combine all keyword information {v.w1, v.w2,...} of vertices into a non-overlapping keyword set, and construct a keyword inverted list in the form of {w i :v j}, recording the vertices corresponding to the keywords; S300: Skip the vertices irrelevant to the query keyword, and construct the keyword vertex path with the minimum target value, denoted as and the keyword vertex path with the minimum cost value, denoted as S400: Divide the keyword vertex path and perform parallel expansion on the divided path segments; Step S400 includes the following steps, S410: Set the parallelism degree, divide the keyword vertex path into multiple segments. All vertices in the keyword vertex path except the head and tail vertices are keyword vertices, and use the keyword vertices to split the path; The principle of setting the parallelism degree is to make the keyword vertices in each path segment as uniform as possible so that the number of vertices in each path segment is similar during expansion, thereby achieving the purpose that the expansion time of each path segment is close; In actual parallelism, the parallelism degree can be set according to the number of keyword vertices in the keyword vertex path or by measuring the size of the local cost threshold of each segment; S420: Perform parallel expansion on the path segments. When expanding the path segments, judge whether the cost values of all paths from the starting vertex passing through non-keyword vertices to the target vertex of each path segment are less than or equal to the local cost threshold at the target vertex. If so and not approximately dominated, perform a comparison of the feasible solution objective value pruning strategy for applicable parallel expansion. If the judgment condition is met, calculate the global priority and then enqueue, otherwise discard; The judgment inequality for the comparison of the feasible solution objective value pruning strategy is: Among them, and represent keyword vertices, is extended from to v k , where v k is the label of a vertex passed through between and ; if the constraint is satisfied, then enqueue and continue to expand, otherwise discard 2. The segmented parallel expansion method for querying the optimal path of keywords according to claim 1, characterized in that: The said step S300 includes the following steps, S310: Given a query v s 、v t 、 and Δ respectively represent the query start point, the query end point, the set of keyword vertices that the query path needs to cover, and the cost threshold. Hide the vertices that do not contain any query keyword in . Retain the start point, the end point, and the keyword vertices to construct a simplified keyword vertex query graph G'. During the implementation process, directly obtain the keyword vertices according to the keyword inverted list in S200, and then add the query start point and the query end point to form the query graph G'. The information included in the query graph G' is: (1) the weights b(v i , v j ), o σ (v i , v j ), o(v i , v j ), b τ (v i , v j ) and the minimum cost value b min and the minimum objective value o min in the query graph; (2) the query start point, the end point, and the keyword vertices; S320: In the keyword vertex query graph G′, arrange and combine the keyword vertices, traverse them through breadth-first search, and finally return those that meet keyword full coverage and the cost threshold Among them The keyword vertex path with the smallest target value is denoted as The keyword vertex path with the smallest cost value is denoted as 3. The segmented parallel expansion method for querying the optimal path of keywords according to claim 2, characterized in that: The step S320 includes the following steps: Given a query where w i ={v k , v m}, w j ={v x , v y}; S321: First, construct an initial label at v s and place it into the priority queue; ​ S322: Expand from the starting point to all keyword vertices, and construct the labels from v s to each keyword vertex and calculate the global priority and enqueue it. The smaller the global priority, the higher the global priority; S323: Select the tag with the highest global priority Dequeue. At this time already contains keyword w j , to the keyword w that has not been included yet i the related vertex v i and v j Expand to construct a new tag And determine whether the new tag meets the cost threshold and the approximate domination condition. If it meets, calculate the global priority and enqueue it. Otherwise, discard it; S324: Continue to select the tag with the highest priority for expansion, and repeat process S323 until the expansion reaches the end point v t , select the path corresponding to the tag that satisfies keyword full coverage, cost threshold, and minimum target value and record it as S325: Continue to select the tag with the highest priority for expansion, and repeat process S323 until the end point v is reached. t , and select the path corresponding to the tag that satisfies keyword full coverage, cost threshold, and minimum cost value and record it as 4. The segmented parallel expansion method for querying the optimal path of keywords according to claim 3, characterized in that: In the step S322, the label has a global priority represented as The minimum objective value from v s to v t is o(v s , v t ). Set the priority factor β, where 1 < β < 2. The smaller the global priority of the label, the higher the global priority of the label.

5. The segmented parallel expansion method for querying the optimal path of keywords according to claim 4, characterized in that: Before performing step S400, select the keyword vertex path with the smallest target value and the keyword vertex path with the smallest cost value constructed in step S300. The specific selection process is as follows: For the keyword vertex path with the smallest cost value During the construction of, the one with the smallest returned target value is denoted as At the same time, record the corresponding target value O min and the cost value B max ; the one with the smallest returned cost value is denoted as At the same time, record B min and O max ; we can get [B min , B max and [O min , O max ; to ensure that the path expansion based on will return a valid path, use O max as the upper bound of the target value, that is, the path target value returned in the worst case is O max , that is, the path based on for expansion, the keyword vertex path boundary composed of and has the following several situations; 1) is not empty, is not empty, and B min ≤ B max 、O min ≤ O max , then in the path segment parallel expansion, taking as the criterion, and using O max as the upper bound of the target value, constrain the expansion of each path segment by the local cost threshold in 2) is empty, is not empty, and the path segmentation expansion is based on as the standard; 3) is empty, is empty, indicating that the cost threshold is too low. Increase the cost threshold and reconstruct the keyword vertex path with the minimum target value, denoted as and the keyword vertex path with the minimum cost value, denoted as