A data query method, system, device and medium based on vector retrieval acceleration
By employing multi-granularity data partitioning and a dynamic load awareness mechanism, the problems of uneven load and redundant computation in distributed vector retrieval systems are solved, enabling efficient and low-latency vector queries and improving system performance.
Patent Information
- Application Number
- CN202510950961.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-10
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2045-07-10
AI Technical Summary
Existing distributed vector retrieval systems suffer from uneven load distribution and redundant computation among nodes under the requirements of high throughput and low latency queries. In particular, insufficient pruning in high-dimensional vector retrieval leads to low query efficiency.
Employing a multi-granularity data partitioning strategy and a dynamic load awareness mechanism, the system dynamically selects nodes and data blocks to participate in query computation through vector-level, dimension-level, and block-level partitioning, combined with pruning strategies, thereby optimizing query paths and load balancing and reducing redundant computation.
It achieves efficient and robust query capabilities in high-dimensional vector retrieval, improves system throughput and reduces response latency, and avoids computational hotspots and uneven load issues.
Smart Images

Figure CN120849411B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of computer systems and big data processing technology, and particularly relates to a data query method, system, device and medium based on vector retrieval acceleration, which is suitable for a distributed vector database architecture supporting high throughput and low delay query. BACKGROUND
[0002] In today's wide application of vector databases and approximate nearest neighbor search (ANNS) technology, how to improve query efficiency and reduce resource consumption while ensuring retrieval accuracy has become a key problem in system design. With the continuous growth of data volume and the increase of query complexity, especially in the field of recommendation systems and RAG (retrieval augmented generation), traditional single-machine retrieval methods cannot meet the requirements of high throughput and low delay in industrial scenarios, and distributed vector retrieval systems have emerged as the times require. Distributed vector retrieval systems usually expand processing capacity by dividing data into multiple computing nodes and independently completing queries on each node. However, in real environments, due to the skewness of query load distribution and the heterogeneity of data itself, common static partitioning strategies often lead to uneven load between nodes, which becomes a bottleneck for the overall performance of the system.
[0003] To improve efficiency, existing systems have tried to introduce pruning mechanisms, such as filtering irrelevant vectors in advance through cluster centers or intermediate vector features. However, existing methods are mostly based on black-box index structures, which have limitations in pruning granularity, execution timing, and data awareness, making it difficult to balance query throughput and computational accuracy. In high-dimensional vector retrieval, especially when the target accuracy approaches 100%, the problem of insufficient pruning is more prominent, leading to a large amount of redundant computation. In addition, since most systems do not introduce query-aware mechanisms during index construction, they cannot predict future load distribution, making it difficult to avoid computational hotspots from the source.
[0004] Therefore, there is an urgent need for a new architecture that can dynamically perceive computational load and data distribution characteristics during query execution, combine pruning strategies deployable in distributed environments, and schedule and optimize query paths, thereby achieving efficient and robust vector search capabilities while ensuring accuracy. SUMMARY
[0005] To solve the above problems, the present application provides a data query method, system, device and medium based on vector retrieval acceleration, which uses vector retrieval acceleration technology supporting multi-machine load balancing and dimension pruning optimization mechanism to improve data query efficiency.
[0006] To achieve the above-mentioned purpose, the present application adopts the following technical solutions:
[0007] In a first aspect, the application provides a data query method based on vector retrieval acceleration, comprising the following steps:
[0008] Collecting historical query log information generated by real users in a target application scenario, and constructing a query distribution model;
[0009] Based on the constructed query distribution model, using a multi-granularity data division strategy to divide the original vector data to obtain fine-granularity data blocks;
[0010] Receiving a new query request initiated by a user to generate a query vector, and dynamically selecting nodes and data blocks participating in current query calculation according to the feature distribution of the query vector and the real-time load state of each node;
[0011] Combining the local Top-K results returned by each participating node, and performing accurate distance reordering to obtain the query result.
[0012] Further, the original vector data is divided into multiple vector clusters by using a vector-level division strategy.
[0013] The original vector data is divided into multiple vector clusters by using a vector-level division strategy.
[0014] The original vector data is divided into multiple dimension segments by using a dimension-level division strategy.
[0015] The vector clusters and dimension segments are combined in Cartesian form to generate fine-granularity data blocks.
[0016] Further, the original vector data is divided into multiple vector clusters by using a vector-level division strategy.
[0017] Based on the similarity between vectors or pre-trained clustering labels, the original vector data is divided into multiple vector clusters, each of which contains locally semantically similar vector data.
[0018] Further, the original vector data is divided into multiple dimension segments by using a dimension-level division strategy.
[0019] According to the query log, the access frequency, information gain or distance contribution degree index of each dimension in the historical query is calculated, the dimension importance is calculated and sorted.
[0020] The high-dimensional vector space is segmented according to the dimension importance with equal weight to obtain multiple dimension segments.
[0021] Further, the original vector data is divided into multiple vector clusters by using a vector-level division strategy.
[0022] receiving a new query request initiated by a user to generate a query vector;
[0023] allocating the query vector to different nodes for query processing by using a pruning strategy combining vector level and dimension level;
[0024] periodically evaluating the pruning benefits of each data block and the node load state, and dynamically scheduling the nodes according to the evaluation results to balance the overall load.
[0025] Further, the pruning strategy combining vector level and dimension level is used to allocate the query vector to different nodes for query processing, including:
[0026] performing initial distance calculation according to the feature distribution of the query vector to generate an initial distance threshold;
[0027] performing vector level pruning, including dividing the query vector into multiple batches according to the vector cluster to which it belongs based on the initial distance threshold, and allocating all batches to multiple nodes for parallel processing, and updating the global pruning threshold according to the local Top-K result returned by each batch query task after completion;
[0028] performing dimension level pruning, including splitting each query vector into multiple dimension segments, and allocating all dimension segments to multiple nodes for separate processing; on each node, the distance component of the dimension segment is calculated and accumulated with the current global pruning threshold, and when the accumulated distance exceeds a preset value, the current query is marked as invalid and the remaining dimension segment calculation is skipped.
[0029] Further, the periodically evaluating the pruning benefits of each data block and the node load state, and dynamically scheduling the nodes according to the evaluation results, includes:
[0030] based on the query distribution model, real-time evaluation of the pruning benefits of each data block and the node load state;
[0031] based on the node load state, system load balancing is determined, when the load is uneven, the scheduling order of the query task and the dimension segment is dynamically adjusted by the cost model, so that the dimension that is easy to be pruned is preferentially allocated to the node with higher load.
[0032] In a second aspect, the present application provides a data query system based on vector retrieval acceleration, comprising:
[0033] a query distribution model construction module for collecting historical query log information generated by real users in a target application scenario and constructing a query distribution model;
[0034] a data division module for dividing the original vector data into fine-grained data blocks based on the constructed query distribution model by using a multi-granularity data division strategy.
[0035] a node dynamic selection module, configured to receive a new query request initiated by a user to generate a query vector, and dynamically select nodes and data blocks participating in current query calculation according to a feature distribution of the query vector and real-time load states of the nodes;
[0036] a query result output module, configured to combine local Top-K results returned by the participating nodes, and perform accurate distance reordering to obtain a query result.
[0037] In a third aspect, a computer readable storage medium storing one or more programs is provided, the one or more programs comprising instructions which, when executed by a computing device, cause the computing device to perform the method.
[0038] In a fourth aspect, a computing device is provided, comprising: one or more processors and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for performing any of the methods.
[0039] The present application has the following advantages due to the above technical solutions:
[0040] 1) The present application proposes an index construction method supporting multi-granularity vector partitioning, which combines vector-level, dimension-level and block-level partitioning strategies to achieve load balancing and local aggregation of vector data in a distributed environment, so as to optimize the index structure and query path.
[0041] 2) The present application combines historical query logs to perform load-aware vector data distribution, analyzes query access patterns and hot dimensions, and dynamically adjusts data partitioning strategies during system construction to avoid load skew problems in subsequent queries.
[0042] 3) The present application proposes a query execution scheduling method for a distributed environment, which dynamically selects participating nodes and search paths in combination with node load states and pruning benefits, to ensure query accuracy while improving system throughput and reducing response delay.
[0043] 4) The present application accelerates vector search based on a dimension pruning mechanism, evaluates the importance of each dimension in the query, and skips the calculation of low-relevance dimensions, thereby reducing the invalid calculation overhead in high-dimensional vector space and improving the efficiency of approximate nearest neighbor search (ANNS).
[0044] Therefore, the present application can be widely applied in the field of computer systems and big data processing technology. BRIEF DESCRIPTION OF DRAWINGS
[0045] Various other advantages and benefits will become apparent to those of ordinary skill in the art, upon reading the following detailed description of the preferred embodiment. The accompanying drawings are included to provide a description of preferred embodiments, and are not intended to limit the scope of the application. Throughout the drawings, the same reference designations are used to represent the same elements. In the drawings:
[0046] Figure 1 is a flow chart of a data query method based on vector retrieval acceleration provided by an embodiment of the application;
[0047] Figure 2 is a partition effect diagram provided by an embodiment of the application. DETAILED DESCRIPTION
[0048] To make the objectives, technical solutions and advantages of embodiments of the application clearer, the technical solutions of embodiments of the application will be described below in detail with reference to the drawings of the embodiments of the application. Obviously, the described embodiments are only some of the embodiments of the application, rather than all the embodiments of the application. Based on the described embodiments of the application, all other embodiments obtained by those of ordinary skill in the art belong to the scope of protection of the application.
[0049] It should be noted that the terms used herein are only intended to describe specific embodiments, and are not intended to limit exemplary embodiments according to the application. As used herein, the singular form is intended to include the plural form, unless the context clearly indicates otherwise, and it should also be understood that when the terms "comprise" and / or "include" are used in the specification, there is a presence of a feature, step, operation, device, component and / or combination thereof.
[0050] In some embodiments of the application, a data query method based on vector retrieval acceleration is provided, which aims to design a vector index technology with pruning and compression capabilities and query scheduling support to break through the technical bottlenecks of existing methods in pruning granularity, load balancing and query throughput.
[0051] Correspondingly, in some other embodiments of the application, a data query system, device and medium based on vector retrieval acceleration are provided.
[0052] Embodiment 1
[0053] As shown in Figure 1 , the embodiment provides a data query method based on vector retrieval acceleration, which is suitable for processing large-scale high-dimensional vector data query tasks. Specifically, it includes the following steps:
[0054] 1) Collecting historical query log information generated by real users in the target application scenario, and constructing a query distribution model;
[0055] 2) Based on the constructed query distribution model, the original vector data is divided using a multi-granularity data division strategy to obtain fine-granularity data blocks;
[0056] 3) A new query vector is generated according to a user-initiated new query request, and nodes and data blocks participating in current query calculation are dynamically selected according to the feature distribution of the query vector and the real-time load state of each node;
[0057] 4) The local Top-K results returned by each participating node are merged, and the query result is obtained after performing accurate distance reordering.
[0058] Further, in the above step 1), the collected historical query log information includes query frequency, query co-occurrence mode, similarity distribution between vectors, and the like. Based on these log data, the embodiment constructs a query distribution model for depicting the sparsity and hot area of the query vector in the vector space, so as to assist in identifying the load concentration area and the sparse area, thereby providing a load-aware basis for subsequent data division, pruning strategy design and index construction.
[0059] Among them, the construction of the query distribution model can adopt the statistical learning method commonly used in the art, for example: normalizing modeling of dimension access frequency, calculating cosine similarity between queries and clustering, estimating high-frequency query subspace, and the like, which will not be described herein.
[0060] Further, in the above step 2), as shown in Figure 2 When the original vector data (i.e., the bottom library vector set to be indexed and retrieved) is divided by the embodiment, a three-layer division strategy of vector level, dimension level and block level is adopted:
[0061] Vector-level division is used to improve the hit efficiency of the candidate vector set. The division method is: based on the similarity (such as Euclidean distance or cosine similarity) between vectors or pre-trained clustering labels, the original vector data is divided into multiple vector clusters, each vector cluster contains locally semantically similar vector data, which is helpful for quickly filtering the candidate subset in subsequent queries.
[0062] Dimension-level division is used to balance the load of each node and support the pruning mechanism. The division method is: first, according to the query log, the access frequency, information gain or distance contribution of each dimension in the historical query is calculated, and the dimension importance is calculated and sorted; second, the high-dimensional vector space is segmented according to the dimension importance with equal weight, and different nodes process different dimension segments to realize distributed parallel distance calculation. At the same time, by virtue of the monotonicity of distance calculation, it can be judged whether to terminate the subsequent dimension processing after part of the dimension calculation, so as to reduce redundant calculation.
[0063] The block-level partition is used for combining the vector clusters and the dimension segments in a Cartesian manner to generate fine-grained data blocks (i.e., "cluster-dimension sub-area" pairs). The system estimates the computing overhead, communication cost and node load state of each data block based on a query distribution model, dynamically schedules the query task to an adaptive node through a cost model, and realizes the optimized balance between throughput and response delay.
[0064] In the embodiment, the three-layer partition strategies work together: the vector-level focuses on the compression candidate set to accelerate the preliminary screening, the dimension-level realizes load balancing and mid-way pruning, and the block-level integrates the two to realize efficient query path scheduling. The multi-granularity partition mechanism is the key technical basis for supporting the high throughput, low delay and strong robustness of the application in distributed vector retrieval.
[0065] Further, in the step 3) above, the following steps are included:
[0066] 3.1) receiving a new query request initiated by a user to generate a query vector;
[0067] 3.2) adopting a pruning strategy combining the vector level and the dimension level to distribute the query vector to different nodes for query processing;
[0068] 3.3) periodically evaluating the pruning benefits of each data block and the node load state, and dynamically scheduling the nodes according to the evaluation results to balance the overall load.
[0069] Further, in the step 3.2) above, the following steps are included:
[0070] 3.2.1) performing initial distance calculation according to the feature distribution of the query vector to generate an initial distance threshold.
[0071] In the embodiment, initial distance calculation is performed on the query vector before the query starts, that is, according to the feature distribution of the query vector including high-frequency dimensions, potential target clusters, etc., the initial distance threshold of the query vector from part of the vectors in the vector cluster is calculated, which is used for subsequent pruning judgment.
[0072] 3.2.2) performing vector-level pruning based on the initial distance threshold to quickly select a candidate vector subset.
[0073] In the embodiment, the specific implementation method of the vector-level pruning strategy is: based on the initial distance threshold, the query vector is divided into multiple batches according to the vector cluster it belongs to, and all batches are distributed to multiple nodes for parallel processing. After each batch of query tasks is completed, the global pruning threshold is updated according to the local Top-K result returned by it, so as to tighten the pruning condition of the next batch of queries and reduce redundant calculation.
[0074] 3.2.3) performing dimension-level pruning based on the candidate vector subset to obtain the Top-K result of each node.
[0075] Dimension-level pruning: Each query vector is split into multiple dimension segments, and all dimension segments are assigned to multiple nodes for parallel processing. On each node, the distance component of the dimension segment is calculated, and the current global pruning threshold is accumulated. When the accumulated distance exceeds the preset threshold, the current query is marked as invalid, and the calculation of the remaining dimension segments is skipped, thereby terminating the processing in advance and reducing resource overhead.
[0076] This pipeline pruning mechanism allows different queries to advance asynchronously on different nodes, avoids blocking, and can update the pruning condition in real time, improving overall retrieval efficiency.
[0077] Further, in the above step 3.3), the following steps are included:
[0078] 3.3.1) Based on the query distribution model, the pruning benefit of each data block and the node load state are evaluated in real time.
[0079] In this embodiment, each data block is composed of a specific vector cluster and dimension segment. Based on the query distribution model, the calculation overhead and communication cost of each data block can be estimated to determine the pruning benefit and node load state.
[0080] 3.3.2) Based on the node load state, system load balancing is determined. When the load is uneven, the scheduling order of the query task and the dimension segment is dynamically adjusted through the cost model, so that the dimensions that are easy to be pruned are preferentially allocated to the nodes with higher load, so as to balance the overall load.
[0081] In addition, by dividing the query granularity into smaller data blocks and cross-scheduling, the system can further reduce the performance degradation caused by single-node bottlenecks. The dynamic scheduling strategy provided by this embodiment cooperatively realizes efficient, scalable parallel vector retrieval and pruning acceleration capabilities.
[0082] Embodiment 2
[0083] The above embodiment 1 provides a data query method based on vector retrieval acceleration. Correspondingly, this embodiment provides a data query system based on vector retrieval acceleration. The system provided by this embodiment can implement the data query method based on vector retrieval acceleration of embodiment 1. The system can be implemented by software, hardware or a combination of software and hardware. For example, the system can include integrated or separate functional modules or functional units to perform the corresponding steps in the methods of embodiment 1. Since the system of this embodiment is basically similar to the method embodiment, the description process of this embodiment is relatively simple, and the related parts can be referred to the part of the description of embodiment 1. The system provided by this embodiment is only illustrative.
[0084] The data query system based on vector retrieval acceleration provided by the embodiment comprises:
[0085] A query distribution model construction module is configured to collect historical query log information generated by real users in a target application scenario and construct a query distribution model.
[0086] A data division module is configured to divide original vector data based on the constructed query distribution model by using a multi-granularity data division strategy to obtain fine-granularity data blocks.
[0087] A node dynamic selection module is configured to receive a new query request initiated by a user to generate a query vector, and dynamically select appropriate computing nodes and data blocks to participate in this query calculation according to the feature distribution of the query vector and the real-time load state of each computing node.
[0088] A query result output module is configured to combine the local Top-K results returned by each participating node, and obtain a query result after performing accurate distance reordering.
[0089] Embodiment 3
[0090] The embodiment provides a processing device corresponding to the data query method based on vector retrieval acceleration provided in the embodiment 1, and the processing device can be a processing device for a client, such as a mobile phone, a notebook computer, a tablet computer, a desktop computer, etc., to execute the method of the embodiment 1.
[0091] The processing device comprises a processor, a memory, a communication interface and a bus, the processor, the memory and the communication interface are connected through the bus to complete the communication among each other. The memory stores a computer program capable of running on the processor, and the processor executes the data query method based on vector retrieval acceleration provided in the embodiment 1 when the computer program is run.
[0092] Preferably, the memory can be a high-speed random access memory (RAM: Random Access Memory), and can also include a non-volatile memory, such as at least one disk memory.
[0093] Preferably, the processor can be a central processing unit (CPU), a digital signal processor (DSP) and various types of general-purpose processors, which are not limited here.
[0094] Embodiment 4
[0095] The vector retrieval acceleration based data query method of this embodiment 1 can be embodied as a computer program product, which can include a computer readable storage medium, having computer readable program instructions loaded thereon for executing the vector retrieval acceleration based data query method described in this embodiment 1.
[0096] The computer readable storage medium can be a tangible device that maintains and stores instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any combination thereof.
[0097] Those skilled in the art will understand that embodiments of the present application can be provided as methods, systems, or computer program products. Accordingly, the present application can be embodied in the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application can be embodied in the form of a computer program product embodied on one or more computer readable storage media (including, but not limited to, disk memory, CD-ROMs, optical memory, etc.) having computer usable program code embodied thereon.
[0098] The present application is described in reference to flowcharts and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, as well as combinations of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, a special purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowcharts and / or block diagrams block or blocks. Figure 1 The flow or flows and / or blocks Figure 1 The apparatus for performing the functions specified in the flow or flows and / or blocks
[0099] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions means which implement the function specified in the flow or flows and / or blocks Figure 1 The flow or flows and / or blocks Figure 1 The apparatus for performing the functions specified in the flow or flows and / or blocks
[0100] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow or flows and / or blocks Figure 1a process or processes and / or blocks Figure 1 steps of the functions specified in the block or blocks.
[0101] Finally, it should be noted that the above examples are merely intended to illustrate the technical solutions of the present application, but not to limit the same. Although the present application has been described in detail with reference to the above examples, those of ordinary skill in the art should understand that the specific implementation of the present application can be modified or equivalently replaced without departing from the spirit and scope of the present application, and any modification or equivalent replacement without departing from the spirit and scope of the present application should be covered in the protection scope of the claims of the present application.
Claims
1. A data query method based on vector search acceleration, characterized in that, The method comprises the following steps: Collecting historical query log information generated by real users in a target application scenario, and constructing a query distribution model; Based on the constructed query distribution model, the original vector data is divided by using a multi-granularity data division strategy to obtain fine-granularity data blocks; Receiving a new query request initiated by a user to generate a query vector, and dynamically selecting nodes and data blocks participating in current query calculation according to the feature distribution of the query vector and the real-time load state of each node; Merging the local Top-K results returned by each participating node, and obtaining the query result after performing accurate distance reordering; The method comprises the following steps: Performing vector-level division on the original vector data to obtain a plurality of vector clusters; Performing dimension-level division on the original vector data to obtain a plurality of dimension segments; Performing Cartesian combination on the vector clusters and the dimension segments to generate fine-granularity data blocks; The method comprises the following steps: Receiving a new query request initiated by a user to generate a query vector; Using a pruning strategy combining vector level and dimension level to distribute the query vector to different nodes for query processing; Periodically evaluating the pruning benefits of each data block and the node load state, and dynamically scheduling the nodes according to the evaluation results to balance the overall load; The method comprises the following steps: Performing initial distance calculation according to the feature distribution of the query vector to generate an initial distance threshold; Performing vector-level pruning, including dividing the query vector into a plurality of batches according to the vector clusters to which the query vector belongs based on the initial distance threshold, distributing all batches to a plurality of nodes for parallel processing, and updating the global pruning threshold according to the local Top-K result returned by each batch query task after the completion of each batch query task; Performing dimension-level pruning, including splitting each query vector into a plurality of dimension segments, and distributing all dimension segments to a plurality of nodes for separate processing; on each node, the distance component of the dimension segment is calculated and accumulated with the current pruning threshold, and when the accumulated distance exceeds a preset value, the current query is marked as invalid and the calculation of the remaining dimension segments is skipped.
2. The method of claim 1, wherein, The method comprises the following steps: Based on the similarity between vectors or pre-trained clustering labels, the original vector data is divided into a plurality of vector clusters, and each vector cluster contains locally semantically similar vector data.
3. The method of claim 1, wherein the data query is based on vector search acceleration. The method comprises the following steps: According to the query log, the access frequency, information gain or distance contribution degree index of each dimension in the historical query is calculated, the dimension importance is calculated and sorted; The high-dimensional vector space is segmented according to the dimension importance with equal weight to obtain a plurality of dimension segments.
4. The method of claim 1, wherein, The pruning benefits of each data block and the node load state are periodically evaluated, and dynamic scheduling of the nodes is performed according to the evaluation results, including: Based on the query distribution model, the pruning benefits of each data block and the node load state are evaluated in real time; Based on the node load state, the system load balancing is judged, when the load is uneven, the scheduling order of the query task and the dimension segment is dynamically adjusted through the cost model, so that the dimension which is easy to be pruned is preferentially allocated to the node with high load.
5. A data query system based on vector search acceleration, characterized by, It includes: The query distribution model construction module is used to collect the historical query log information generated by the real users in the target application scenario, and construct the query distribution model; The data division module is used to divide the original vector data based on the constructed query distribution model, using a multi-granularity data division strategy to obtain fine-granularity data blocks; The node dynamic selection module is used to receive the query vector generated by the user-initiated new query request, and dynamically select the nodes and data blocks participating in the current query calculation according to the feature distribution of the query vector and the real-time load state of each node; The query result output module is used to combine the local Top-K results returned by each participating node, and perform accurate distance reordering to obtain the query result; The original vector data is divided into vector-level, and a plurality of vector clusters are obtained; The original vector data is divided into dimension-level, and a plurality of dimension segments are obtained; The vector clusters and dimension segments are combined in Cartesian, and fine-granularity data blocks are generated; The node dynamic selection module is used to receive the query vector generated by the user-initiated new query request, and dynamically select the nodes and data blocks participating in the current query calculation according to the feature distribution of the query vector and the real-time load state of each node; The node dynamic selection module is used to receive the query vector generated by the user-initiated new query request, and dynamically select the nodes and data blocks participating in the current query calculation according to the feature distribution of the query vector and the real-time load state of each node; The pruning benefits of each data block and the node load state are periodically evaluated, and dynamic scheduling of the nodes is performed according to the evaluation results, including: Based on the query distribution model, the pruning benefits of each data block and the node load state are evaluated in real time; Based on the node load state, the system load balancing is judged, when the load is uneven, the scheduling order of the query task and the dimension segment is dynamically adjusted through the cost model, so that the dimension which is easy to be pruned is preferentially allocated to the node with high load. It includes: The query distribution model construction module is used to collect the historical query log information generated by the real users in the target application scenario, and construct the query distribution model; The data division module is used to divide the original vector data based on the constructed query distribution model, using a multi-granularity data division strategy to obtain fine-granularity data blocks; The node dynamic selection module is used to receive the query vector generated by the user-initiated new query request, and dynamically select the nodes and data blocks participating in the current query calculation according to the feature distribution of the query vector and the real-time load state of each node; The query result output module is used to combine the local Top-K results returned by each participating node, and perform accurate distance reordering to obtain the query result; The original vector data is divided into vector-level, and a plurality of vector clusters are obtained; The original vector data is divided into dimension-level, and a plurality of dimension segments are obtained; The vector clusters and dimension segments are combined in Cartesian, and fine-granularity data blocks are generated; The node dynamic selection module is used to receive the query vector generated by the user-initiated new query request, and dynamically select the nodes and data blocks participating in the current query calculation according to the feature distribution of the query vector and the real-time load state of each node; The node dynamic selection module is used to receive the query vector generated by the user-initiated new query request, and dynamically select the nodes and data blocks participating in the current query calculation according to the feature distribution of the query vector and the real-time load state of each node; The pruning benefits of each data block and the node load state are periodically evaluated, and dynamic scheduling of the nodes is performed according to the evaluation results, including: Based on the query distribution model, the pruning benefits of each data block and the node load state are evaluated in real time; Based on the node load state, the system load balancing is judged, when the load is uneven, the scheduling order of the query task and the dimension segment is dynamically adjusted through the cost model, so that the dimension which is easy to be pruned is preferentially allocated to the node with high load.
6. A computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that when executed by a computer cause the computer to perform a method comprising: The one or more programs, when executed by a computing device, cause the computing device to perform any of the methods of claims 1-4.
7. A computing device, comprising: comprise: one or more processors and memory storing one or more programs configured for execution by the one or more processors, the one or more programs including instructions for performing any of the methods of claims 1-4.