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 PDF

Info

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
Application number
CN201610186237.2A
Other languages
Chinese (zh)
Other versions
CN105787126B (en
Inventor
杨焕滨
王巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Corp
Original Assignee
TCL Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TCL Corp filed Critical TCL Corp
Priority to CN201610186237.2A priority Critical patent/CN105787126B/en
Publication of CN105787126A publication Critical patent/CN105787126A/en
Application granted granted Critical
Publication of CN105787126B publication Critical patent/CN105787126B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed 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

K-d tree generates method and k-d tree generating means
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.
CN201610186237.2A 2016-03-29 2016-03-29 K-d tree generation method and k-d tree generation device Active CN105787126B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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