A kind of embedded user interest point data Compilation Method supporting incremental update
Technical field
The present invention relates to navigation field, particularly a kind of embedded user interest point data Compilation Method supporting incremental update.
Background technology
Electronic map technique obtained develop rapidly in recent years, user interest point quantity has reached millions rank, but annual user interest point has a large amount of data to change, and the map on such market and navigation product just need constantly to upgrade upgrading could keep fresh with real world.The data of embedded navigation in the market and map products store and substantially all adopt the mode (as kiwi data storage method) of binary file to store, the upgrading of this formatted data can only be overall replacement, cannot incremental update be realized, this results in user more new data time cannot be realized by mobile network's mode.The data that this traditional data Compilation Method based on binary format generates have larger limitation, greatly limit the user's more approach of new data and convenience of renewal.Navigational system: the product that full name " auto-navigation system " is embedded hardware, GPS, geographical information technology and software are combined closely, for motor vehicle operators provide comprehensive, careful, traveling guidance accurately.
Summary of the invention
Incremental update: the update mode only referring to the data of more new change, also known as difference update.
The data that the object of the invention is to generate to solve traditional data Compilation Method cannot realize the problem of incremental update on embedded equipment, and spy provides a kind of embedded user interest point data Compilation Method supporting incremental update.
The invention provides a kind of embedded user interest point data Compilation Method supporting incremental update, it is characterized in that: user interest point data is divided into two kinds, a kind of is the user interest point basic data for retrieval, another kind is the special differential data of incremental update, is divided into and is called basic data and differential data; Basic data generation method:
In order to make data generating procedure have higher reusability and extendibility, divide a few step to realize to data genaration, data genaration flow process;
Note:
Step 1
The raw data that [raw data] provides for metadata provider (being called for short figure business), the data layout that different figure business provides is different, we are in order to reduce the replication problem brought because figure quotient data form is different, the data that figure business provides once are changed, be converted to the data of our self-defining universal data format i.e. [U.S. row data], the compiling work of later all data is all carried out based on [U.S. row data] data;
Step 2
[U.S. row data] are converted to the target data that navigation, map software all can directly use, as the basic data of user interest point data;
The generation Measures compare of [U.S. row data] is simple, just [raw data] data is carried out to the conversion of physical storage format, can not change the semanteme of data;
[target data] is the final data generated, and data exist in the mode of embedded database, and each province is a database;
Note:
Sort by ID
By [U.S. row data] data according to ID order sequence from small to large;
Take out the database of the province at place
Judge the province at place according to user interest point longitude and latitude, and take out the database handles of place province;
Search the ID of affiliated block
According to the subscript of user interest point ID block at this user interest point place in [target data];
Create new block
If do not found, become the block that establishment one is new;
Keep data
Data are saved in [target data];
The generation method of differential data:
To scheme two editions data instances (version 1, version 2) that business provides, introduce the product process of differential data and the generation method of each flow process in detail;
Note:
Step 1: formation base data
Raw data [raw data version 1], [raw data version 2] that figure business provides are generated U.S. row data [U.S. row versions of data 1], [U.S. row data version 2], and will [U.S. row versions of data 1] generate navigate, target data [target data version 1] that map software can directly use;
Step 2: generate MX differential data
[U.S. row versions of data 1] basis with [U.S. row data version 2] generates the differential data [U.S. row differential data version 1-2] of general format;
The user interest dot information paid close attention to is needed to have:
1, classify according to the use difference of user interest dot information---determinant attribute, adeditive attribute, determinant attribute is used for determining the uniqueness of user interest point, judge whether two editions data [U.S. row versions of data 1] are same user interest point with the information in [U.S. row data version 2], and adeditive attribute is used for determining whether user interest point changes;
In differential data, data are divided into three kinds of situations: increase newly, delete, change, the data of change need to know which attribute changes;
Note:
Make U.S. row versions of data 1ID and sort by ID
The determinant attribute of data [U.S. row versions of data 1] is combined into the ID that a binary data is used as user interest point, each like this user interest point is provided with an ID; [U.S. row versions of data 1] data are sorted from small to large according to this ID;
Make U.S. row data version 2 ID and sort by ID
With (1) identical, [U.S. row data version 2] data creating ID is sorted; The ID of U.S. row versions of data 1 is searched in U.S. row data version 2
Whether the every bar user interest point in traversal [U.S. row versions of data 1], look over this user interest point data and exist in [U.S. row data version 2] data;
Preserve the data of deleting
If user interest point ID does not exist in [U.S. row data version 2] indicate that this user interest point is deleted, keep this user interest point in differential data [U.S. row differential data version 1-2], and be labeled as deletion;
Judge that whether adeditive attribute is identical
If user interest point ID exists in [U.S. row data version 2], be shown to be same user interest point, whether identically then compare adeditive attribute;
Preserve and change data
If the adeditive attribute of user interest point is incomplete same, then show this user interest point be needs change user interest point, be labeled as change, and record which attribute need change;
Preserve identical data
If the adeditive attribute of user interest point is identical, then show that this user interest point is that any change does not occur, be saved in identical data [U.S. row identical data version 1-2] as data record;
The ID of U.S. row data version 2 is searched in U.S. row versions of data 1
In [U.S. row versions of data 1] data, search [U.S. row data version 2] data, all data do not found are newly-increased data, are saved in differential data [U.S. row differential data version 1-2], are labeled as newly-increased; And give a unique ID by every bar user interest point data, add up that ID that this ID is maximum from [U.S. row versions of data 1];
Above processing procedure finally generates the differential data of MX form;
Step 3: generate goal discrepancy divided data
Goal discrepancy divided data utilizes [target data version 1] and [U.S. row differential data version 1-2] to generate; Target data needs the design [detailed data] and [name data] being carried out respectively to implementation;
The implementation of [detailed differential data] differential data:
Note:
Sort according to ID
User interest point newly-increased like this differential data [U.S. row differential data version 12] sorted from small to large according to ID, after all can come;
Compiling data
Organize data into the form of [detailed differential data];
ID searches block ID more
The record that ID first is less than or equal to user interest point ID is searched in [detailed data] table of [target data version 1] database, due to [detailed data] record in data ID be store from small to large and have recorded last, if so have found illustrate this user interest point one fix on this record in; If do not found, explanation is newly-increased user interest point;
Preserve the data changing, delete
In [detailed differential data], create a record, ID is corresponding ID in [detailed data], and preserves this user interest dot information in this record;
Size of data is greater than X MB
Determine, as 10MB according to the hardware memory navigated, map runs if newly-increased user interest point size of data reaches X MB(), in [detailed differential data], create a record preserve this block user interest dot information;
Preserve the data changed
In [detailed differential data], create a record preserve this block user interest dot information; The implementation of [title differential data] differential data:
Note:
Obtain user interest point name character
The Chinese character occurred in user interest point title in differential data [U.S. row differential data version 1-2] data is all extracted;
Compiling data
1. the data compilation organized is become the form type of binary data;
Preserve data block
The information of this Chinese character being saved in [the title differential data] of [goal discrepancy divided data version 1-2], is more than the compiling generative process of differential data.
Advantage of the present invention:
The data solving the generation of traditional data Compilation Method cannot realize the problem of incremental update on embedded equipment.Article 10000000, user interest point data, adopt traditional data library format, storage Size is 10GB, and retrieving needs 30MB internal memory, and store Size for 1.2GB after using this programme, retrieving only needs 4MB internal memory.This patent achieves a kind of Compilation Method can supporting increment user interest point data newly, and based on the increment updating method of these data.The data that the method compiling generates, data volume is little, running software time require low to internal memory and CPU, perfection achieves the requirement of embedded device incremental update.
Accompanying drawing explanation
Below in conjunction with drawings and the embodiments, the present invention is further detailed explanation:
Fig. 1 is data flowchart;
The detailed generation step schematic diagram of Fig. 2 to be each province be database;
Fig. 3 is differential data product process figure;
Fig. 4 carries out classification schematic diagram according to the use difference of user interest dot information;
Fig. 5 is the detailed product process figure of differential data;
Fig. 6 is the implementation process flow diagram of [detailed differential data] differential data;
The Chinese character extraction schematic diagram of Fig. 7 for occurring in user interest point title in differential data [U.S. row differential data version 1-2] data.
Embodiment
Embodiment
A kind of embedded user interest point data Compilation Method supporting incremental update, it is characterized in that: user interest point data is divided into two kinds, for for the user interest point basic data retrieved, another kind is the special differential data of incremental update, is divided into and is called basic data and differential data;
Basic data generation method:
In order to make data generating procedure have higher reusability and extendibility, divide a few step to realize to data genaration, data genaration flow process;
Note:
Step 1
The raw data that [raw data] provides for metadata provider (being called for short figure business), the data layout that different figure business provides is different, we are in order to reduce the replication problem brought because figure quotient data form is different, the data that figure business provides once are changed, be converted to the data of our self-defining universal data format i.e. [U.S. row data]
The compiling work of later all data is all carried out based on [U.S. row data] data;
Step 2
[U.S. row data] are converted to the target data that navigation, map software all can directly use, as the basic data of user interest point data;
The generation Measures compare of [U.S. row data] is simple, just [raw data] data is carried out to the conversion of physical storage format, can not change the semanteme of data;
[target data] is the final data generated, and data exist in the mode of embedded database, and each province is a database;
Note:
Sort by ID
By [U.S. row data] data according to ID order sequence from small to large; Take out the database of the province at place
Judge the province at place according to user interest point longitude and latitude, and take out the database of place province
Handle;
Search the ID of affiliated block
According to the subscript of user interest point ID block at this user interest point place in [target data];
Create new block
If do not found, become the block that establishment one is new;
Keep data
Data are saved in [target data];
The generation method of differential data:
To scheme two editions data instances (version 1, version 2) that business provides, introduce the product process of differential data and the generation method of each flow process in detail;
Note:
Step 1: formation base data
Raw data [raw data version 1], [raw data version 2] that figure business provides are generated U.S. row data [U.S. row versions of data 1], [U.S. row data version 2], and will [U.S. row versions of data 1] generate navigate, target data [target data version 1] that map software can directly use;
Step 2: generate MX differential data
[U.S. row versions of data 1] basis with [U.S. row data version 2] generates the differential data [U.S. row differential data version 1-2] of general format;
The user interest dot information paid close attention to is needed to have:
1, classify according to the use difference of user interest dot information---determinant attribute, adeditive attribute, determinant attribute is used for determining the uniqueness of user interest point, judge whether two editions data [U.S. row versions of data 1] are same user interest point with the information in [U.S. row data version 2], and adeditive attribute is used for determining whether user interest point changes;
In differential data, data are divided into three kinds of situations: increase newly, delete, change, the data of change need to know which attribute changes;
Note:
Make U.S. row versions of data 1ID and sort by ID
The determinant attribute of data [U.S. row versions of data 1] is combined into the ID that a binary data is used as user interest point, each like this user interest point is provided with an ID; [U.S. row versions of data 1] data are sorted from small to large according to this ID;
Make U.S. row data version 2 ID and sort by ID
With (1) identical, [U.S. row data version 2] data creating ID is sorted; The ID of U.S. row versions of data 1 is searched in U.S. row data version 2
Whether the every bar user interest point in traversal [U.S. row versions of data 1], look over this user interest point data and exist in [U.S. row data version 2] data;
Preserve the data of deleting
If user interest point ID does not exist in [U.S. row data version 2] indicate that this user interest point is deleted, keep this user interest point in differential data [U.S. row differential data version 1-2], and be labeled as deletion;
Judge that whether adeditive attribute is identical
If user interest point ID exists in [U.S. row data version 2], be shown to be same user interest point, whether identically then compare adeditive attribute;
Preserve and change data
If the adeditive attribute of user interest point is incomplete same, then show this user interest point be needs change user interest point, be labeled as change, and record which attribute need change;
Preserve identical data
If the adeditive attribute of user interest point is identical, then show that this user interest point is that any change does not occur, be saved in identical data [U.S. row identical data version 1-2] as data record;
The ID of U.S. row data version 2 is searched in U.S. row versions of data 1
In [U.S. row versions of data 1] data, search [U.S. row data version 2] data, all data do not found are newly-increased data, are saved in differential data [U.S. row differential data version 1-2], are labeled as newly-increased; And give a unique ID by every bar user interest point data, add up that ID that this ID is maximum from [U.S. row versions of data 1];
Above processing procedure finally generates the differential data of MX form;
Step 3: generate goal discrepancy divided data
Goal discrepancy divided data utilizes [target data version 1] and [U.S. row differential data version 1-2] to generate; Target data needs the design [detailed data] and [name data] being carried out respectively to implementation;
The implementation of [detailed differential data] differential data:
Note:
Sort according to ID
User interest point newly-increased like this differential data [U.S. row differential data version 1-2] sorted from small to large according to ID, after all can come;
Compiling data
Organize data into the form of [detailed differential data];
ID searches block ID more
The record that ID first is less than or equal to user interest point ID is searched in [detailed data] table of [target data version 1] database, due to [detailed data] record in data ID be store from small to large and have recorded last, if so have found illustrate this user interest point one fix on this record in; If do not found, explanation is newly-increased user interest point;
Preserve the data changing, delete
In [detailed differential data], create a record, ID is corresponding ID in [detailed data], and preserves this user interest dot information in this record;
Size of data is greater than X MB
Determine, as 10MB according to the hardware memory navigated, map runs if newly-increased user interest point size of data reaches X MB(), in [detailed differential data], create a record preserve this block user interest dot information;
Preserve the data changed
In [detailed differential data], create a record preserve this block user interest dot information; The implementation of [title differential data] differential data:
Note:
Obtain user interest point name character
The Chinese character occurred in user interest point title in differential data [U.S. row differential data version 1-2] data is all extracted;
Compiling data
1. the data compilation organized is become the form type of binary data;
Preserve data block
The information of this Chinese character being saved in [the title differential data] of [goal discrepancy divided data version 1-2], is more than the compiling generative process of differential data.