CN105787126A - K-d (k-dimensional) tree generation method and k-d tree generation device - Google Patents
K-d (k-dimensional) tree generation method and k-d tree generation device Download PDFInfo
- Publication number
- CN105787126A CN105787126A CN201610186237.2A CN201610186237A CN105787126A CN 105787126 A CN105787126 A CN 105787126A CN 201610186237 A CN201610186237 A CN 201610186237A CN 105787126 A CN105787126 A CN 105787126A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- datasize
- dimension
- ceil
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a k-d (k-dimensional) tree generation method and a k-d tree generation device. According to the k-d tree generation method, location information, the number of records of nodes where data are located and index numbers of first data points of the nodes where the data are located are introduced into the data in a k-d data set, a median of all nodes in the same depth is searched, the location information of the data in the k-d data set and node areas where the data are located are classified and determined, and finally, a segmentation node information table and a leaf node information table which contain k-d tree structure information of the k-d data set are generated; due to the fact that the generated segmentation node information table and the generated leaf node information table are in a table structure, a k-d tree data structure generated with the k-d tree generation method is suitable for being stored in a distributed system of big data.
Description
Technical field
The present invention relates to data structure techniques field, be specifically related to a kind of k-d tree and generate method and k-d tree life
Become device.
Background technology
K-d tree (i.e. the abbreviation of k-dimensional tree) is a kind of to store the example point in k dimension space
To facilitate the tree form data structure that it is carried out quick-searching, k-d tree may be used for hyperspace critical data
Search, such as range searching and nearest neighbor search.
At present, k-d tree to be conventionally produced algorithm as follows:
Input: k dimension data collection T={x1,x2,...,xN, wherein
Output: k-d tree;
1. start: structure root node, chooseFor the coordinate axes of cutting, data all in T are pressedSit
The ascending order of scale value sorts, and takes median m afterwards1As cut-off, root node generating the degree of depth is 1
Two, left and right child node: the data of left siblingThe data of right node
2. repeat: to the node (j is more than 0) that the degree of depth is j, chooseFor the coordinate axes of cutting, wherein
All data in this node region are pressed by s=(j mod k)+1The ascending order of coordinate figure sorts,
Take median m afterwardsjAs cut-off, the generation degree of depth is two, the left and right child node of j+1: the number of left sibling
According toThe data of right nodeRepeat 2., until the sub-node region in two, left and right is equal
There is no example point, now k-d tree construction complete;
3. k-d tree is exported.
The generating algorithm of above k-d tree can be deposited k-d tree with tree and realize in unit internal memory,
But there is problems in that when realizing in the distributed system of big data
1, tree stores the most difficult and complicated in a distributed system, and k-d tree cut out to
Tree stores, so it is the most difficult to realize k-d tree algorithm in a distributed system, needs to find one
It is suitable for the k-d tree data structure stored in a distributed system.
2, in current most popular big data calculate platform Spark, based on elasticity distribution formula data set
The process that the computation model of (RDD, Resilient Distributed Datasets) is suitable for mass simultaneous is same
Data set, but in k-d tree generating algorithm, iterative step is more to below, and the data set of each node is more
Few, substantial amounts of small data set not only increases the step of calculating, and the small data set that very big data set is partitioned into also can
Bring substantial amounts of memory consumption to driver, cause the imponderable situation of low memory.
Summary of the invention
The present invention provides a kind of k-d tree to generate method and k-d tree generating means, is used for generating and is suitable in big data
Distributed system in storage k-d tree data structure.
A kind of k-d tree of first aspect present invention protection generates method, including:
Obtaining the k dimension data collection of k-d tree to be generated, wherein, described k is the natural number not less than 2;
Initialize described k dimension data and concentrate the positional information of each data, each data place node described
Record number and the call number of first data point of each data place node described, wherein, described each
The initialization value of the positional information of data is the initialization value of the record number of each data place node empty, described
For N, the initialization value of the call number of first data point of each data place node described is 0, described
The data amount check that N is comprised by described k dimension data collection;
Initializing depth value and create the node data collection of sky, wherein, the initialization value of described depth value is 1;
Whether detection current depth value is more than ceil (log2N);
If current depth value is not more than ceil (log2N), then:
Calculate the cutting dimension corresponding to current depth value;
The positional information of each data is concentrated, by identical for positional information each according to presently described k dimension data
Data are divided in same node region;
According to each data in same node region in the numerical values recited of current cutting dimension, respectively to each
Data in node region are ranked up and number;
To currently meet dataSizei=1 or i-startIndexi=ceil (dataSizei/ 2) data record is described
Node data is concentrated, and will meet i-startIndexi=ceil (dataSizei/ 2) Data Identification is cutting node,
Wherein, i represents the numbering of data, dataSizeiRepresent that the data of numbered i are currently located the record number of node,
startIndexiRepresent that the data of numbered i are currently located the call number of first data point of node;
To currently meet dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2) positional information of data and
The record number of place node is updated to respectively: pathi+s1、ceil(dataSizei/ 2), wherein, pathiRepresent and compile
Number it is the current positional informationes of the data of i, s1Identify for left sibling;
To currently meet dataSizei≠ 1 and i-startIndexi≥ceil(dataSizeiThe positional information of data/2),
The record number of place node and the call number of first data point are updated to respectively: pathi+s2、
dataSizei-ceil(dataSizei/ 2) and startIndexi+ceil(dataSizei/ 2), wherein, s2For right node identification;
Make depth value add 1, and whether return the described detection current depth value of execution more than ceil (log2N)
Step and subsequent step;
If current depth value is more than ceil (log2N), then:
The nodal information that described node data concentrates all data being designated cutting node is stored in cutting
In informational table of nodes, wherein, the nodal information of described data includes: this data record is at described node data
The cutting dimension that used during collection, these data in the numerical value of this cutting dimension and this data at described nodes
According to the numbering concentrated, wherein, the numbering foundation data record of the data that described node data is concentrated is at described joint
Temporal order layout in point data base obtains;
The positional information that described k dimension data is concentrated each data current is stored in leaf with corresponding data binding
In informational table of nodes.
A kind of k-d tree generating means of second aspect present invention protection, including:
Acquiring unit, for obtaining the k dimension data collection of k-d tree to be generated, wherein, described k is for being not less than
2;
Initialization unit, for initialize described k dimension data concentrate each data positional information, described respectively
The record number of individual data place node and the index of first data point of each data place node described
Number, wherein, the initialization value of the positional information of each data described is each data place node empty, described
Record number initialization value be N, the call number of first data point of each data place node described
Initialization value is 0, the data amount check that described N is comprised by described k dimension data collection;Initialize depth value,
The initialization value of described depth value is 1;
Data set creating unit, for creating the node data collection of sky;
Detector unit, is used for whether detecting current depth value more than ceil (log2N);
When described detector unit, computing unit, for detecting that current depth value is not more than ceil (log2N) time,
Calculate the cutting dimension corresponding to current depth value;
Cutting unit, for concentrating the positional information of each data, by position according to presently described k dimension data
Each data that information is identical are divided in same node region;
Sequencing unit, for big at the numerical value of current cutting dimension according to each data in same node region
Little, respectively the data in each node region are ranked up and number;
Record unit, for currently meeting dataSizei=1 or i-startIndexi=ceil (dataSizei/ 2)
Data record is concentrated at described node data, and will meet i-startIndexi=ceil (dataSizei/ 2) data mark
Knowing is cutting node, and wherein, i represents the numbering of data, dataSizeiRepresent the current institute of data of numbered i
At the record number of node, startIndexiRepresent that the data of numbered i are currently located first data point of node
Call number;
Updating block, for currently meeting dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2) number
According to positional information and the record number of place node be updated to respectively: pathi+s1、ceil(dataSizei/ 2), its
In, pathiRepresent the positional information that the data of numbered i are current, s1Identify for left sibling;To currently meet
dataSizei≠ 1 and i-startIndexi≥ceil(dataSizei/ 2) positional information of data, the record of place node
The call number of number and first data point is updated to respectively: pathi+s2、dataSizei-ceil(dataSizei/ 2) and
startIndexi+ceil(dataSizei/ 2), wherein, s2For right node identification;Make depth value add 1 and trigger described
Detector unit;
Memory element, is used for when described detector unit detects current depth value more than ceil (log2N),
The nodal information that described node data concentrates all data being designated cutting node is respectively stored in cutting
In informational table of nodes, and the positional information that described k dimension data concentrates each data current is tied up with corresponding data
Surely being stored in leaf node information table, wherein, the nodal information of described data includes: this data record is in institute
Cutting dimension, these data of being used when stating node data collection exist in numerical value and this data of this cutting dimension
The numbering that described node data is concentrated, the numbering foundation data record of the data that described node data is concentrated is in institute
The temporal order layout stated in node database obtains.
Therefore, the present invention determines k by the median classification finding all nodes of the same degree of depth
Dimension data concentrates the positional information of each data and the node region at place, ultimately generates and comprises this k dimension data
The cutting informational table of nodes of the k-d tree structural information of collection and leaf node information table, on the one hand, owing to generating
Cutting informational table of nodes and leaf node information table be list structure, therefore, be suitable for store in distributed system
In;On the other hand, the present invention need not recurrence small data set, therefore can reduce during k-d tree generates
Consumption to internal memory.
Accompanying drawing explanation
In order to be illustrated more clearly that the embodiment of the present invention or technical scheme of the prior art, below will be to enforcement
In example or description of the prior art, the required accompanying drawing used is briefly described, it should be apparent that, describe below
In accompanying drawing be only some embodiments of the present invention, for those of ordinary skill in the art, do not paying
On the premise of going out creative work, it is also possible to obtain other accompanying drawing according to these accompanying drawings.
A kind of k-d tree that Fig. 1 provides for the present invention generates one example structure schematic diagram of method;
The tree schematic diagram of the k-d tree generated under a kind of application scenarios that Fig. 2 provides for the present invention;
One example structure schematic diagram of a kind of k-d tree generating means that Fig. 3 provides for the present invention.
Detailed description of the invention
For making the goal of the invention of the present invention, feature, the advantage can be the most obvious and understandable, below will knot
Close the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is clearly and completely retouched
State, it is clear that described embodiment is only a part of embodiment of the present invention, and not all embodiments.Base
Embodiment in the present invention, those of ordinary skill in the art are obtained under not making creative work premise
The every other embodiment obtained, broadly falls into the scope of protection of the invention.
First the design philosophy of the present invention is illustrated, due to a kind of structure of k-d tree, storing
After k-d tree, the k neighbour of K nearest neighbor search certain node of algorithm search being often used in k-d tree, because of
As long as this structure stored does not preserves the information of whole tree, to be also capable of meeting the quick of k neighbour
Search.In sum, the k-d tree of generation needs the most what time to meet:
1, can completely preserve child node information, the main information of each child node has the position of child node,
The cutting dimension of child node, child node are in numeral corresponding to this cutting dimension.
2, can completely preserve leaf node information, the main information of each leaf information has leaf node
Position, the numerical value that leaf node is corresponding.
3, each node can quickly find its father node and child node.
4, each node can quickly find its all leaf nodes.
5, can quickly add, delete leaf node.
6, the programming model of the distributed system (such as Spark) of big data can be met.
For meet above-mentioned some, embodiments provide a kind of k-d tree and generate method, as it is shown in figure 1,
K-d tree in the embodiment of the present invention generates method, including:
Step 101, obtain the k dimension data collection of k-d tree to be generated;
In the embodiment of the present invention, k dimension data integrate included in the dimension of each data as k.Illustrate:
Data set T1={ (1,2), (2,3), (5,8), (4,9) } are 2 dimension data collection, and this 2 dimension data collection is wrapped
The dimension of each data contained is 2;Data set T2={ (1,2,5), (2,3,8), (5,8,7), (4,9,6) }
Being 3-dimensional data set, the dimension of each data that this 3-dimensional data set is comprised is 3, by that analogy.This
In inventive embodiments, above-mentioned k is the natural number not less than 2.
Step 101 is specifically as follows the k dimension data collection of the k-d tree to be generated obtaining input, concrete, obtains
The mode of the k dimension data collection of k-d tree to be generated is referred to prior art and realizes, and here is omitted.
Step 102, initialize above-mentioned k dimension data and concentrate the positional information of each data, each data institute above-mentioned
Call number in first data point recording number and each data place node above-mentioned of node;
Wherein, the initialization value of the positional information of each data above-mentioned is each data place node empty, above-mentioned
Record number initialization value be N, the call number of first data point of each data place node above-mentioned
Initialization value is 0, the data amount check that above-mentioned N is comprised by above-mentioned k dimension data collection.
In the embodiment of the present invention, to k dimension data collection T={x1,x2,...,xN(wherein,)
In each data xiIntroduce pathi、dataSizeiAnd startIndexi, wherein, pathiRepresent data xiPosition
Confidence ceases, dataSizeiRepresent data xiThe record number of place node, startIndexiRepresent data xiPlace is saved
The call number of first data point of point.During initialization, each data in T are converted into through mapping
(pathi, dataSizei, startIndexi, xi), wherein, pathiInitial value be empty, dataSizeiAt the beginning of
Initial value is N, startIndexiInitial value be 0.
Step 103, initialization depth value also create empty node data collection;
Wherein, the initialization value of above-mentioned depth value is 1.
Whether step 104, detection current depth value be more than ceil (log2N);
Wherein, the value in bracket is rounded up by ceil () expression.
If detecting, current depth value is not more than ceil (log2N), then perform step 105, if detecting current
Depth value is more than ceil (log2N), then step 112 is performed.
Step 105, calculating cutting dimension corresponding to current depth value;
Optionally, the cutting dimension corresponding to current depth value is calculated according to formula aixs=(d mod k)+1
Aixs, wherein, d represents current depth value.Or, it is also possible to by calculating the maximum variance of each dimension
Determine cutting dimension, such as, in step 105, calculate the variance of each dimension, and variance is maximum
Dimension be defined as the cutting dimension corresponding to current depth value.Certainly, the embodiment of the present invention can also be adopted
Otherwise calculate the cutting dimension corresponding to current depth value, be not construed as limiting herein.
Step 106, concentrate the positional information of each data according to current above-mentioned k dimension data, by positional information phase
Each same data are divided in same node region.
Step 107, according to each data in same node region in the numerical values recited of current cutting dimension,
Respectively the data in each node region are ranked up and number;
In a kind of application scenarios, step 107 is particularly as follows: exist according to each data in same node region
Data in each node region are ranked up by order that currently numerical value of cutting dimension is ascending respectively
And number.
In another kind of application scenarios, step 107 is particularly as follows: according to each data in same node region
In the order that the numerical value of current cutting dimension is descending, respectively the data in each node region are arranged
Sequence is also numbered.
Step 108, will currently meet dataSizei=1 or i-startIndexi=ceil (dataSizei/ 2) data note
Record is concentrated at above-mentioned node data, and will meet i-startIndexi=ceil (dataSizei/ 2) Data Identification is for cutting
Partial node;
Wherein, i represents the numbering of data, dataSizeiRepresent that the data of numbered i are currently located the note of node
Record number, startIndexiRepresent that the data of numbered i are currently located the call number of first data point of node.
In the embodiment of the present invention, if numbered i data meet i-startIndexi=ceil (dataSizei/ 2), this number is being shown
According to for cutting node (i.e. median), this data record is concentrated at above-mentioned node data, and by these data
It is designated cutting node, if numbered i data meet dataSizei=1, then show that these data may save for leaf
Point, it is no longer necessary to carry out cutting, the most also this data record is concentrated at above-mentioned node data, further,
Can also be leaf node by this Data Identification.Specifically, can be that each data increase the auxiliary of an isLeaf
Help variable, then for meeting i-startIndexi=ceil (dataSizei/ 2) data, can be by corresponding for these data
The value of isLeaf is set to false, with represent these data for cutting node, for meeting dataSizeiThe data of=1,
The value of isLeaf corresponding for these data can be set to true, to represent that these data are as leaf node.
Step 109, will currently meet dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2) position of data
The record number of confidence breath and place node is updated to respectively: pathi+s1、ceil(dataSizei/2);
Wherein, pathiRepresent the positional information that the data of numbered i are current, s1Identify for left sibling.Concrete,
s1Can take 0,1 or other mark.
Step 110, will currently meet dataSizei≠ 1 and i-startIndexi≥ceil(dataSizei/ 2) position of data
The call number of confidence breath, the record number of place node and first data point is updated to respectively: pathi+s2、
dataSizei-ceil(dataSizei/ 2) and startIndexi+ceil(dataSizei/2);
Wherein, s2For right node identification.Concrete, s2Can take 1,0 or other be different from s1Mark.
Step 111, depth value is made to add 1;
In step 111, depth value is added 1, and return execution step 104.
Step 112, by above-mentioned node data concentrate all data being designated cutting node nodal information deposit
Storage is in cutting informational table of nodes;
Wherein, the nodal information of above-mentioned data includes: this data record is used when above-mentioned node data collection
Cutting dimension, the volume concentrated at described node data in numerical value and this data of this cutting dimension of these data
Number, wherein, the numbering foundation data record of the data that above-mentioned node data is concentrated is in above-mentioned node database
Temporal order layout obtain.Illustrate, for first record data in above-mentioned node database,
The numbering that these data are concentrated at this node data can be designated as 0, for the 2nd record at above-mentioned node database
In data, the numbering that these data are concentrated at this node data can be designated as 1, for the 3rd record above-mentioned
Data in node database, can be designated as 2 by the numbering that these data are concentrated at this node data, by that analogy.
Optionally, owing to Hbase can store maximality data set, therefore in step 112, by above-mentioned node
In data set, the nodal information of all data being designated cutting node is stored in cutting of Hbase in the form of a table
In partial node information table, so as to quick certain numerical value of stochastic searching or some column numbers under numeral index
Continuous print numerical value.
Step 113, the positional information that above-mentioned k dimension data is concentrated each data current are deposited with corresponding data binding
Storage is in leaf node information table;
Optionally, the positional information that above-mentioned k dimension data is concentrated each data current is deposited with corresponding data binding
Storage is in the leaf node information table of Hbase.
It should be noted that k-d tree generation method can be real by k-d tree generating means in the embodiment of the present invention
Existing, this k-d tree generating means can be integrated in the equipment carrying Spark platform or other data platform, this
Place is not construed as limiting.
Therefore, the k-d tree in the embodiment of the present invention generates method by finding all joints of the same degree of depth
Median the classification of point determine that k dimension data concentrates the positional information of each data and the node area at place
Territory, ultimately generates cutting informational table of nodes and the leaf node of the k-d tree structural information comprising this k dimension data collection
Information table, on the one hand, cutting informational table of nodes and leaf node information table owing to generating are list structure, because of
This, be suitable for store in distributed system;On the other hand, the present invention need not recurrence small data set, therefore
K-d tree can reduce the consumption to internal memory during generating.
K-d tree for ease of being more fully understood that in embodiment illustrated in fig. 1 generates method, specifically applies with one below
As a example by scene, traditional k-d tree is generated the k-d tree in method and embodiment illustrated in fig. 1 and generates method respectively
Illustrate:
If k dimension data collection T={ (17,2) of the k-d tree to be generated gotT, (2,7)T, (11,7)T, (18,
13)T, (6,15)T, (4,19)T, (12,13)T, now k is equal to 2, and N is equal to 7.
It is as follows that traditional k-d tree generates method: selects x(1)For the coordinate axes of cutting, data all in T are pressed x(1)
The ascending order of coordinate figure sorts, and takes median 11 afterwards as cut-off, with x(1)=11 split data into
Two node regions in left and right, left sibling region x(1)< 11, right node region x(1)≥11;Then, left sibling region
With x(2)=15 are divided into two sub-node regions, and right node region is with x(2)=13 are divided into two sub-node area
Territory;Repeat above step, until each node region only exists a data point, final segmentation result such as figure
Shown in 2, Fig. 2 is the tree of the k-d tree of generation.
It is as follows that k-d tree in embodiment illustrated in fig. 1 generates method:
S1, each data x to TiIntroduce pathi、dataSizeiAnd startIndexi, wherein, pathiRepresent number
According to xiPositional information, dataSizeiRepresent data xiThe record number of place node, startIndexiRepresent data xi
The call number of first data point of place node.During initialization, each data in T turn through mapping
Turn to (pathi, dataSizei, startIndexi, xi), wherein, pathiInitial value be empty, dataSizei
Initial value be 7, startIndexiInitial value be 0.Note leafRDD={ (pathi, dataSizei, startIndexi,
xi) ∨ i=1,2,3,4,5,6,7}.
S2, initialization depth value d=1, and create the node data collection nodeRDD of sky.
S3, detect whether current d meets d > 3, if being unsatisfactory for (i.e. d≤3), then enter the cycle stage, hold
Row step S31;If meeting (i.e. d > 3), then enter step S4.
S31, calculate cutting dimension aixs corresponding to current depth value according to formula aixs=(d mod 2)+1,
Such as, in the cycle stage first, d=1, then calculate current depth according to formula aixs=(1 mod 2)+1
Cutting dimension aixs=1 corresponding to value.
S32, according to the path of each data in current T, each identical for path data are divided in same joint
Point region.Such as, in the cycle stage first, owing to the path of each data is sky, so time will be each
Individual data are divided in same node region.
S33, according to each data in same node region in the ascending order of the numerical value of current aixs,
Respectively the data in each node region are ranked up and number.Such as, in the cycle stage first, step
The rapid calculated aixs=1 of S32, and now each data of T are divided in same node region, therefore according to
Each data in same node region are ranked up in the order that the numerical value of current aixs is ascending and compile
Number, the x after the most now sorting and numbering1~x7It is respectively as follows: (2,7)T, (4,19)T, (6,15)T, (11,7)T, (12,
13)T, (17,2)T, (18,13)T.It should be noted that the embodiment of the present invention is according to same node area
Each data in territory are in the ascending order of the numerical value of current aixs, respectively in each node region
Data are ranked up and number, in other embodiments, it is also possible to according to each number in same node region
According to the order that the numerical value at current aixs is descending, respectively the data in each node region are ranked up
And number, it is not construed as limiting herein.
S34, will currently meet dataSizei=1 or i-startIndexi=ceil (dataSizei/ 2) data record exists
In nodeRDD, and i-startIndex will be meti=ceil (dataSizei/ 2) Data Identification is cutting node.Example
As, in the cycle stage first, after step S33, data (11,7)TNumbered 4 (i.e. i=4),
startIndex4=0, so time data (11,7)TMeet i-startIndexi=ceil (dataSizei/ 2), now by data
(11,7)TRecord in nodeRDD, and by data (11,7)TIt is designated cutting node.
S35, will currently meet dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2) path of data and
DataSize is updated to respectively: pathi+s1、ceil(dataSizei/ 2), wherein, s1Identify for left sibling.Such as,
In the cycle stage first, after step S33, (2,7)T, (4,19)T(6,15)TIt is satisfied by
dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2), then by (2,7)T, (4,19)T(6,15)T's
Path and dataSize is updated to respectively: pathi+s1、ceil(dataSizei/ 2), with data (2,7)TAs a example by, number
According to (2,7)TPath and dataSize after renewal is respectively s1With 4.
S36, will currently meet dataSizei≠ 1 and i-startIndexi≥ceil(dataSizei/ 2) path of data and
DataSize and startIndex is updated to respectively: pathi+s2、dataSizei-ceil(dataSizei/ 2) and
startIndexi+ceil(dataSizei/ 2), wherein, s2For right node identification.Such as, in the cycle stage first,
After step S33, (11,7)T, (12,13)T, (18,13)T, (17,2)TIt is satisfied by dataSizei≠ 1 and
i-startIndexi≥ceil(dataSizei/ 2), then by (11,7)T, (12,13)T, (18,13)T, (17,2)TPath,
DataSize and startIndex is updated to respectively: pathi+s2、dataSizei-ceil(dataSizei/ 2) and
startIndexi+ceil(dataSizei/ 2), with data (12,13)TAs a example by, data (12,13)TPath after renewal,
DataSize and startIndex is respectively s2, 3 and 4.
S37, make d add 1 (even d=d+1), return step S3.
Wherein, the nodal information of above-mentioned data includes: this data record is used when above-mentioned node data collection
Cutting dimension, the volume concentrated at above-mentioned node data in numerical value and this data of this cutting dimension of these data
Number, wherein, the numbering foundation data record of the data that above-mentioned node data is concentrated is in above-mentioned node database
Temporal order layout obtain, such as, first record data in above-mentioned node database are at this nodes
According to numbered 0 concentrated, second data recorded in above-mentioned node database is concentrated at this node data
Numbered 1, the numbering that the 3rd record data in above-mentioned node database are concentrated at this node data
It is 2, by that analogy.
S4, the nodal information of data being designated cutting node all in current nodeRDD is stored in cutting
In informational table of nodes, the cutting informational table of nodes now obtained is as shown in table 1.
Table 1
Wherein, the key in table 1 represents the numbering that data are concentrated at above-mentioned node data, and axis represents that data are remembered
The cutting dimension that record is used when above-mentioned node data collection, median represents that data are in corresponding cutting dimension
Numerical value.Assume that A node has key=i, then on the basis of the embodiment of the present invention, the father node of A node
Numbering key=floor (i-1), the numbering of the left sibling of A node: the volume of the right node of key=2*i+1, A node
Number key=2*i+2, then use above index information to be capable of quickly to search certain node child node or
Father node.
S5, the binding of path current for each data in T and corresponding data is existed in leaf node information table,
The leaf node information table now obtained is as shown in table 2.
Table 2
Wherein, the path in table 2 represents the positional information of data, co11 and co12 represents that data are first respectively
Dimension and the value of the second dimension.The such as path=s of leaf node B2s1s2, then it represents that from root node start through
Cross path " right left and right " and leaf node can be arrived, simultaneously as path is by sequential storage, so
Can quickly find a series of continuous print point, positional information to be found is s2s1All leaves of node
The when of child node, it is possible to quickly look for " s2s1" and " s2s2All data between ", such as, " s2s1s1”、
“s2s1s2Node corresponding to " is " s2s1All leaf nodes under ".
Therefore, the k-d tree provided by the embodiment of the present invention generates method, by the child node of data T and
Leaf node is stored in Tables 1 and 2.After having had the mapping of above structure, the search of arest neighbors can be joined
Implement according to traditional searching idea.Below in conjunction with table 1, table 2, illustrate how to search with a concrete application examples
Rope leaf node, if leaf node based on Tables 1 and 2 search A (12,7) place.Then searching method is such as
Under:
1, data median=11 of key=0 in table 1 are first taken out, the first digit 12 >=median of A,
So A is the right node of key=0, next node position is key=key*2+2=2, records position
Path=s2。
2, in Table 1, data median=13 of taking-up key=2, the second digit 7 < median of A,
So A is the left sibling of key=2, next node position is key=key*2+1=5, records position
Path=path+s1=s2s1。
3, in Table 1, data median=17 of taking-up key=5, the first digit 12 < median of A,
So A is the left sibling of key=5, the position of next node is key=key*2+1=11, record bottom
Put path=path+s1=s2s1s1。
4, in Table 1, taking out the data of key=11, data do not exist, it was demonstrated that have stepped through leaf joint
Point, takes out path=s in table 22s1s1Data, so leaf node corresponding to A point is exactly (11,7).
Below being just to look for the algorithm of leaf node, backtracking algorithm is referred to above alternately inquire about Tables 1 and 2
Two tables realize, and here is omitted.
A kind of k-d tree generating means provided the present invention with another embodiment below is described, and refers to
Fig. 3, the k-d tree generating means 300 in the embodiment of the present invention, including:
Acquiring unit 301, for obtaining the k dimension data collection of k-d tree to be generated, wherein, described k is not
Less than 2;
Initialization unit 302, concentrates the positional information of each data, institute for initializing described k dimension data
State first data point recording number and each data place node described of each data place node
Call number, wherein, the initialization value of the positional information of each data described is each data place empty, described
The initialization value of the record number of node is N, the index of first data point of each data place node described
Number initialization value be 0, the data amount check that described N is comprised by described k dimension data collection;Initialize the degree of depth
Value, the initialization value of described depth value is 1;
Data set creating unit 303, for creating the node data collection of sky;
Detector unit 304, is used for whether detecting current depth value more than ceil (log2N);
When detector unit 304, computing unit 305, for detecting that current depth value is not more than ceil (log2N)
Time, calculate the cutting dimension corresponding to current depth value;
Cutting unit 306, for concentrating the positional information of each data according to presently described k dimension data, will
Each data that positional information is identical are divided in same node region;
Sequencing unit 307, for according to each data in same node region at the number of current cutting dimension
Data in each node region are ranked up and number by value size respectively;
Record unit 308, for currently meeting dataSizei=1 or i-startIndexi=ceil (dataSizei/2)
Data record concentrate at described node data, and i-startIndex will be meti=ceil (dataSizei/ 2) data
Being designated cutting node, wherein, i represents the numbering of data, dataSizeiRepresent that the data of numbered i are current
The record number of place node, startIndexiRepresent that the data of numbered i are currently located first data of node
The call number of point;
Updating block 309, for currently meeting dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2)
The positional information of data and the record number of place node are updated to respectively: pathi+s1、ceil(dataSizei/ 2),
Wherein, pathiRepresent the positional information that the data of numbered i are current, s1Identify for left sibling;To currently expire
Foot dataSizei≠ 1 and i-startIndexi≥ceil(dataSizei/ 2) positional information of data, the note of place node
The call number of record number and first data point is updated to respectively: pathi+s2、dataSizei-ceil(dataSizei/ 2) and
startIndexi+ceil(dataSizei/ 2), wherein, s2For right node identification;Depth value is made to add 1 and detection trigger
Unit 304;
When detector unit 304, memory element 310, for detecting that current depth value is more than ceil (log2N) time,
The nodal information that described node data concentrates all data being designated cutting node is respectively stored in cutting
In informational table of nodes, and the positional information that described k dimension data concentrates each data current is tied up with corresponding data
Surely being stored in leaf node information table, wherein, the nodal information of described data includes: this data record is in institute
Cutting dimension, these data of being used when stating node data collection exist in numerical value and this data of this cutting dimension
The numbering that described node data is concentrated, the numbering foundation data record of the data that described node data is concentrated is in institute
The temporal order layout stated in node database obtains.
Optionally, sequencing unit 307 specifically for: according to each data in same node region currently
Data in each node region are ranked up and compile by order that the numerical value of cutting dimension is ascending respectively
Number.
Optionally, sequencing unit 307 specifically for: according to each data in same node region currently
Data in each node region are ranked up and compile by order that the numerical value of cutting dimension is descending respectively
Number.
Optionally, computing unit 305 specifically for: when detector unit 304 detect current depth value be not more than
ceil(log2N), time, the cutting dimension corresponding to current depth value is calculated according to formula aixs=(d mod k)+1
Degree aixs, wherein, d represents current depth value.
Optionally, memory element 310 specifically for: when detector unit 304 detects that current depth value is more than ceil
(log2N) time, by described node data concentrate all data being designated cutting node nodal information with
The form of table is stored in the cutting informational table of nodes of Hbase, and described k dimension data is concentrated each data work as
Front positional information is stored in the leaf node information table of Hbase with corresponding data binding.
It should be noted that k-d tree generation method can be real by k-d tree generating means in the embodiment of the present invention
Existing, this k-d tree generating means can be integrated in the equipment carrying Spark platform or other data platform, this
Place is not construed as limiting.
Should be understood that the k-d tree generating means in the embodiment of the present invention may be used for realizing said method embodiment
In whole technical schemes, the function of its each functional module can be according to the method in said method embodiment
Implementing, it implements process and can refer to the associated description in said method embodiment, the most superfluous
State.
Therefore, the k-d tree generating means in the embodiment of the present invention is by finding all joints of the same degree of depth
Median the classification of point determine that k dimension data concentrates the positional information of each data and the node area at place
Territory, ultimately generates cutting informational table of nodes and the leaf node of the k-d tree structural information comprising this k dimension data collection
Information table, on the one hand, cutting informational table of nodes and leaf node information table owing to generating are list structure, because of
This, be suitable for store in distributed system;On the other hand, the present invention need not recurrence small data set, therefore
K-d tree can reduce the consumption to internal memory during generating.
In several embodiments provided herein, it should be understood that disclosed apparatus and method, can
To realize by another way.Such as, device embodiment described above is only schematically, example
Such as, the division of said units, being only a kind of logic function and divide, actual can have other drawing when realizing
Point mode, the most multiple unit or assembly can in conjunction with or be desirably integrated into another system, or some are special
Levy and can ignore, or do not perform.Another point, shown or discussed coupling each other or direct-coupling
Or communication connection can be by some interfaces, the INDIRECT COUPLING of each unit or communication connection, can be electrical,
Machinery or other form.
It should be noted that for aforesaid embodiment of the method, in order to simplicity describes, therefore it is all expressed as
A series of combination of actions, but those skilled in the art should know, and the present invention is not moved by described
The restriction of work order, because according to the present invention, some step can use other order or carry out simultaneously.
Secondly, those skilled in the art also should know, embodiment described in this description belongs to be preferable to carry out
Example, involved action and module might not be all necessary to the present invention.
In the above-described embodiments, the description to each embodiment all emphasizes particularly on different fields, in certain embodiment the most in detail
The part stated, may refer to the associated description of other embodiments.
It is more than that a kind of k-d tree provided by the present invention is generated method and the description of k-d tree generating means, right
In one of ordinary skill in the art, according to the thought of the embodiment of the present invention, in detailed description of the invention and application
All will change in scope, to sum up, this specification content should not be construed as limitation of the present invention.
Claims (10)
1. a k-d tree generates method, it is characterised in that including:
Obtaining the k dimension data collection of k-d tree to be generated, wherein, described k is the natural number not less than 2;
Initialize described k dimension data and concentrate the positional information of each data, each data place node described
Record number and the call number of first data point of each data place node described, wherein, described each
The initialization value of the positional information of data is the initialization value of the record number of each data place node empty, described
For N, the initialization value of the call number of first data point of each data place node described is 0, described
The data amount check that N is comprised by described k dimension data collection;
Initializing depth value and create the node data collection of sky, wherein, the initialization value of described depth value is 1;
Whether detection current depth value is more than ceil (log2N);
If current depth value is not more than ceil (log2N), then:
Calculate the cutting dimension corresponding to current depth value;
The positional information of each data is concentrated, by identical for positional information each according to presently described k dimension data
Data are divided in same node region;
According to each data in same node region in the numerical values recited of current cutting dimension, respectively to each
Data in node region are ranked up and number;
To currently meet dataSizei=1 or i-startIndexi=ceil (dataSizei/ 2) data record is described
Node data is concentrated, and will meet i-startIndexi=ceil (dataSizei/ 2) Data Identification is cutting node,
Wherein, i represents the numbering of data, dataSizeiRepresent that the data of numbered i are currently located the record number of node,
startIndexiRepresent that the data of numbered i are currently located the call number of first data point of node;
To currently meet dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2) positional information of data and
The record number of place node is updated to respectively: pathi+s1、ceil(dataSizei/ 2), wherein, pathiRepresent and compile
Number it is the current positional informationes of the data of i, s1Identify for left sibling;
To currently meet dataSizei≠ 1 and i-startIndexi≥ceil(dataSizeiThe positional information of data/2),
The record number of place node and the call number of first data point are updated to respectively: pathi+s2、
dataSizei-ceil(dataSizei/ 2) and startIndexi+ceil(dataSizei/ 2), wherein, s2For right node identification;
Make depth value add 1, and whether return the described detection current depth value of execution more than ceil (log2N)
Step and subsequent step;
If current depth value is more than ceil (log2N), then:
The nodal information that described node data concentrates all data being designated cutting node is stored in cutting
In informational table of nodes, wherein, the nodal information of described data includes: this data record is at described node data
The cutting dimension that used during collection, these data in the numerical value of this cutting dimension and this data at described nodes
According to the numbering concentrated, wherein, the numbering foundation data record of the data that described node data is concentrated is at described joint
Temporal order layout in point data base obtains;
The positional information that described k dimension data is concentrated each data current is stored in leaf with corresponding data binding
In child node information table.
Method the most according to claim 1, it is characterised in that described according in same node region
Each data in the numerical values recited of current cutting dimension, respectively the data in each node region are arranged
Sequence is also numbered, particularly as follows:
According to each data in same node region in the ascending order of the numerical value of current cutting dimension,
Respectively the data in each node region are ranked up and number.
Method the most according to claim 1, it is characterised in that described according in same node region
Each data in the numerical values recited of current cutting dimension, respectively the data in each node region are arranged
Sequence is also numbered, particularly as follows:
According to each data in same node region in the descending order of the numerical value of current cutting dimension,
Respectively the data in each node region are ranked up and number.
4. generate method according to the k-d tree described in any one of claims 1 to 3, it is characterised in that described
Calculate the cutting dimension corresponding to current depth value, particularly as follows:
Cutting dimension aixs corresponding to current depth value is calculated according to formula aixs=(d mod k)+1, its
In, d represents current depth value.
5. generate method according to the k-d tree described in any one of claims 1 to 3, it is characterised in that described
The nodal information that described node data concentrates all data being designated cutting node is stored in cutting node
In information table, particularly as follows:
Described node data is concentrated the nodal information of all data being designated cutting node in the form of a table
It is stored in the cutting informational table of nodes of Hbase;
The described positional information that described k dimension data is concentrated each data current stores with corresponding data binding
In leaf node information table, particularly as follows:
The positional information that described k dimension data is concentrated each data current is stored in corresponding data binding
In the leaf node information table of Hbase.
6. a k-d tree generating means, it is characterised in that including:
Acquiring unit, for obtaining the k dimension data collection of k-d tree to be generated, wherein, described k is for being not less than
2;
Initialization unit, for initialize described k dimension data concentrate each data positional information, described respectively
The record number of individual data place node and the index of first data point of each data place node described
Number, wherein, the initialization value of the positional information of each data described is each data place node empty, described
Record number initialization value be N, the call number of first data point of each data place node described
Initialization value is 0, the data amount check that described N is comprised by described k dimension data collection;Initialize depth value,
The initialization value of described depth value is 1;
Data set creating unit, for creating the node data collection of sky;
Detector unit, is used for whether detecting current depth value more than ceil (log2N);
When described detector unit, computing unit, for detecting that current depth value is not more than ceil (log2N) time,
Calculate the cutting dimension corresponding to current depth value;
Cutting unit, for concentrating the positional information of each data, by position according to presently described k dimension data
Each data that information is identical are divided in same node region;
Sequencing unit, for big at the numerical value of current cutting dimension according to each data in same node region
Little, respectively the data in each node region are ranked up and number;
Record unit, for currently meeting dataSizei=1 or i-startIndexi=ceil (dataSizei/ 2)
Data record is concentrated at described node data, and will meet i-startIndexi=ceil (dataSizei/ 2) data mark
Knowing is cutting node, and wherein, i represents the numbering of data, dataSizeiRepresent the current institute of data of numbered i
At the record number of node, startIndexiRepresent that the data of numbered i are currently located first data point of node
Call number;
Updating block, for currently meeting dataSizei≠ 1 and i-startIndexi<ceil(dataSizei/ 2) number
According to positional information and the record number of place node be updated to respectively: pathi+s1、ceil(dataSizei/ 2), its
In, pathiRepresent the positional information that the data of numbered i are current, s1Identify for left sibling;To currently meet
dataSizei≠ 1 and i-startIndexi≥ceil(dataSizei/ 2) positional information of data, the record of place node
The call number of number and first data point is updated to respectively: pathi+s2、dataSizei-ceil(dataSizei/ 2) and
startIndexi+ceil(dataSizei/ 2), wherein, s2For right node identification;Make depth value add 1 and trigger described
Detector unit;
When described detector unit, memory element, for detecting that current depth value is more than ceil (log2N) time,
The nodal information that described node data concentrates all data being designated cutting node is respectively stored in cutting
In informational table of nodes, and the positional information that described k dimension data concentrates each data current is tied up with corresponding data
Surely being stored in leaf node information table, wherein, the nodal information of described data includes: this data record is in institute
Cutting dimension, these data of being used when stating node data collection exist in numerical value and this data of this cutting dimension
The numbering that described node data is concentrated, the numbering foundation data record of the data that described node data is concentrated is in institute
The temporal order layout stated in node database obtains.
K-d tree generating means the most according to claim 6, it is characterised in that described sequencing unit has
Body is used for: according to each data in same node region at ascending suitable of the numerical value of current cutting dimension
Data in each node region are ranked up and number by sequence respectively.
K-d tree generating means the most according to claim 6, it is characterised in that described sequencing unit has
Body is used for: according to each data in same node region at descending suitable of the numerical value of current cutting dimension
Data in each node region are ranked up and number by sequence respectively.
9. according to the k-d tree generating means described in any one of claim 6 to 8, it is characterised in that described
Computing unit specifically for: when described detector unit detects that current depth value is not more than ceil (log2N) time,
Cutting dimension aixs corresponding to current depth value, wherein, d table is calculated according to formula aixs=(d mod k)+1
Show current depth value.
10. according to the k-d tree generating means described in any one of claim 6 to 8, it is characterised in that institute
State memory element specifically for: when described detector unit detects that current depth value is more than ceil (log2N) time,
The nodal information that described node data concentrates all data being designated cutting node is stored in the form of a table
In the cutting informational table of nodes of Hbase, and the position that described k dimension data is concentrated each data current is believed
Breath is stored in the leaf node information table of Hbase with corresponding data binding.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610186237.2A CN105787126B (en) | 2016-03-29 | 2016-03-29 | K-d tree generation method and k-d tree generation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610186237.2A CN105787126B (en) | 2016-03-29 | 2016-03-29 | K-d tree generation method and k-d tree generation device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105787126A true CN105787126A (en) | 2016-07-20 |
CN105787126B CN105787126B (en) | 2020-11-06 |
Family
ID=56392393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610186237.2A Active CN105787126B (en) | 2016-03-29 | 2016-03-29 | K-d tree generation method and k-d tree generation device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105787126B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503196A (en) * | 2016-10-26 | 2017-03-15 | 云南大学 | The structure and querying method of extensible storage index structure in cloud environment |
CN108520015A (en) * | 2018-03-21 | 2018-09-11 | 联想(北京)有限公司 | A kind of method and apparatus for creating visualization data tree |
CN109902088A (en) * | 2019-02-13 | 2019-06-18 | 北京航空航天大学 | A kind of data index method towards streaming time series data |
WO2020083062A1 (en) * | 2018-10-25 | 2020-04-30 | 长沙新弘软件有限公司 | Unbalanced binary tree construction method based on calculation of binary boundary value |
CN112631631A (en) * | 2020-12-29 | 2021-04-09 | 中国科学院计算机网络信息中心 | Update sequence maintenance method for GPU accelerated multi-step prefix tree |
CN113138826A (en) * | 2021-04-28 | 2021-07-20 | 深圳软牛科技有限公司 | Data loading method based on tree structure and related equipment |
CN113657687A (en) * | 2021-08-30 | 2021-11-16 | 国家电网有限公司 | Power load prediction method based on feature engineering and multi-path deep learning |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436491A (en) * | 2011-11-08 | 2012-05-02 | 张三明 | System and method used for searching huge amount of pictures and based on BigBase |
US8762493B1 (en) * | 2006-06-22 | 2014-06-24 | Google Inc. | Hierarchical spatial data structure and 3D index data versioning for generating packet data |
CN104462764A (en) * | 2014-11-06 | 2015-03-25 | 中国人民解放军第二炮兵工程设计研究所 | Rapid calculation method of minimum distance between object surfaces in virtual reality simulation |
-
2016
- 2016-03-29 CN CN201610186237.2A patent/CN105787126B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762493B1 (en) * | 2006-06-22 | 2014-06-24 | Google Inc. | Hierarchical spatial data structure and 3D index data versioning for generating packet data |
CN102436491A (en) * | 2011-11-08 | 2012-05-02 | 张三明 | System and method used for searching huge amount of pictures and based on BigBase |
CN104462764A (en) * | 2014-11-06 | 2015-03-25 | 中国人民解放军第二炮兵工程设计研究所 | Rapid calculation method of minimum distance between object surfaces in virtual reality simulation |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503196A (en) * | 2016-10-26 | 2017-03-15 | 云南大学 | The structure and querying method of extensible storage index structure in cloud environment |
CN106503196B (en) * | 2016-10-26 | 2019-05-03 | 云南大学 | The building of extensible storage index structure in cloud environment and querying method |
CN108520015A (en) * | 2018-03-21 | 2018-09-11 | 联想(北京)有限公司 | A kind of method and apparatus for creating visualization data tree |
CN108520015B (en) * | 2018-03-21 | 2023-02-21 | 联想(北京)有限公司 | Method and device for creating visual data tree |
WO2020083062A1 (en) * | 2018-10-25 | 2020-04-30 | 长沙新弘软件有限公司 | Unbalanced binary tree construction method based on calculation of binary boundary value |
CN109902088A (en) * | 2019-02-13 | 2019-06-18 | 北京航空航天大学 | A kind of data index method towards streaming time series data |
CN112631631A (en) * | 2020-12-29 | 2021-04-09 | 中国科学院计算机网络信息中心 | Update sequence maintenance method for GPU accelerated multi-step prefix tree |
CN112631631B (en) * | 2020-12-29 | 2021-11-16 | 中国科学院计算机网络信息中心 | Update sequence maintenance method for GPU accelerated multi-step prefix tree |
CN113138826A (en) * | 2021-04-28 | 2021-07-20 | 深圳软牛科技有限公司 | Data loading method based on tree structure and related equipment |
CN113657687A (en) * | 2021-08-30 | 2021-11-16 | 国家电网有限公司 | Power load prediction method based on feature engineering and multi-path deep learning |
CN113657687B (en) * | 2021-08-30 | 2023-09-29 | 国家电网有限公司 | Power load prediction method based on feature engineering and multipath deep learning |
Also Published As
Publication number | Publication date |
---|---|
CN105787126B (en) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105787126A (en) | K-d (k-dimensional) tree generation method and k-d tree generation device | |
CN102693266B (en) | Search for method, the navigation equipment and method of generation index structure of database | |
TWI393862B (en) | Method for integrating road names and place names in source data | |
CN101673307B (en) | Space data index method and system | |
CN104866502B (en) | Data matching method and device | |
Zhang et al. | On the editing distance between undirected acyclic graphs and related problems | |
CN104899264B (en) | A kind of multi-mode matching regular expressions method and device | |
CN109656798B (en) | Vertex reordering-based big data processing capability test method for supercomputer | |
JP7002574B2 (en) | Storage and loading methods, devices, systems and storage media for visual self-position estimation maps | |
CN104636349B (en) | A kind of index data compression and the method and apparatus of index data search | |
CN102841891B (en) | Method and device for ordering tree structure nodes, and enquiry system | |
CN107154899A (en) | A kind of system that IP routes are searched with suffix index | |
CN109271621A (en) | Semanteme disambiguates processing method, device and its equipment | |
CN108804516A (en) | Similar users search device, method and computer readable storage medium | |
CN108876024A (en) | Path planning, path real-time optimization method and device, storage medium | |
CN106203494A (en) | A kind of parallelization clustering method calculated based on internal memory | |
CN106021466A (en) | Data storage method and apparatus | |
CN105550332A (en) | Dual-layer index structure based origin graph query method | |
CN105025013B (en) | The method for building up of dynamic IP Matching Model based on priority Trie trees | |
CN105843982A (en) | Bit stream generating method and device and design system used for programmable logic device | |
CN105956203B (en) | A kind of information storage means, information query method, search engine device | |
CN104679904A (en) | Position point query method and device for road network | |
CN105843809A (en) | Data processing method and device | |
CN107807976A (en) | IP attribution inquiry methods and device | |
CN106934033A (en) | A kind of bent plate robot data indexing means and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 516006 TCL technology building, No.17, Huifeng Third Road, Zhongkai high tech Zone, Huizhou City, Guangdong Province Applicant after: TCL Technology Group Co.,Ltd. Address before: 516006 Guangdong province Huizhou Zhongkai hi tech Development Zone No. nineteen District Applicant before: TCL RESEARCH AMERICA Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |