A database managing apparatus, which can immediately obtain desired data from a database. A database managing apparatus includes a CPU, an input/output device, a main memory and an external memory. The CPU has a controller that initially obtains one article record from stored records via the input/output device. The controller reads out definition data in a database definition file. Then, the controller classifies the obtained records according to attributions based on the definition data. The controller does not compress the data regarding the record group belonging to the attribution A, which is the record group to be searched, but compresses data regarding the record groups belonging to the attributions B-E, which are the record groups other than the record group to be searched. As a result, the controller can reduce the unnecessary decompression of record data belonging to other attributions than the attribution to be searched. As a result, the controller can quickly retrieve the requested record.

Patent
   6947944
Priority
Apr 26 1999
Filed
Apr 18 2000
Issued
Sep 20 2005
Expiry
Apr 18 2020
Assg.orig
Entity
Large
14
46
EXPIRED
8. A method of managing database comprising:
an attribution record group forming step for classifying data, which is requested to be stored in a database, according to attributions defined in the database, and for making plural attribution record groups corresponding to each of the attributions, wherein the plural attribution record groups include a search key attribution record group for determining if others of the plural attribution record groups are to be decompressed;
a data compressing step for compressing the plural attribution record groups in a unit of each of the plural attribution record groups; and
a file forming step for combining each of the plural attribution record groups, which is compressed by the data compressing step, and for forming a data base file,
wherein the data compressing step compresses the search key attribution record group with a first compression method, and compresses others of the plural attribution record groups, which are different from the search key attribution record group with a second compression method,
the first compression method compresses the search key attribution record group so that the search key attribution record group after being compressed can be decompressed faster than the others of the plural attribution record groups compressed by using the second compression method, and
the second compression method compresses the others of the plural attribution record groups so that a compression rate is higher than that of the first compression method.
1. A database managing apparatus comprising:
attribution record group forming means for classifying data, which is requested to be stored into a database, according to attributions defined in the database, and for making plural attribution record groups corresponding to each of the attributions, wherein the plural attribution record groups include a search key attribution record group for determining if others of the plural attribution record groups are to be decompressed;
data compressing means for compressing the plural attribution record groups in a unit each of the plural attribution record groups; and
file forming means for combining each of the plural attribution record groups, which are compressed by the data compressing means, and for forming a data base file,
wherein the data compressing means compresses the search key attribution record group with a first compression method, and compresses the others of the plural attribution record groups, which are different from the search key attribution record group, with a second compression method,
the first compression method compresses the search key attribution record group so that the search key attribution record group after being compressed can be decompressed faster than the others of the plural attribution record groups compressed by using the second compression method, and
the second compression method compresses the others of the plural attribution record groups so that a compression rate is higher than that of the first compression method.
2. A database managing apparatus according to claim 1, further comprising data decompressing means for decompressing a particular attribution record group, which includes a target record to be retrieved, when a retrieve request for retrieving the target record from the database file is received.
3. A database managing apparatus according to claim 1, wherein the data compressing means further compresses a specific record string, which appears in the plural attribution record groups more frequently than other record strings, to reduce a size of the plural attribution record groups.
4. A database managing apparatus according to claim 1, wherein the database comprises a phone number database used in a navigation system.
5. A database managing apparatus according to claim 1, further comprising data decompressing means for initially decompressing the search key attribution record group prior to the others of the plural attribution record groups in response to a system search request.
6. A database managing apparatus according to claim 5, further comprising report generating means for generating a report indicating when a matching record does not exist in the others of the plural attribution record groups subsequent to the data decompressing means initially decompressing the search key attribution record group.
7. A database managing apparatus according to claim 6, further comprising a display in communication with the report generating means for displaying the report generated by the report generating means.
9. A method of managing database according to claim 8, further comprising a data decompressing step for decompressing a particular attribution record group, which includes a target record to be retrieved, when a retrieve request for retrieving the target record from the database file is received.
10. A method of managing database according to claim 8, wherein the data compressing step further compresses a specific record string, which appears in the plural attribution record groups more frequently than other record strings, to reduce a size of the plural attribution record groups.
11. A method of managing a database according to claim 8, wherein the file forming step is for forming a phone number database used in a navigation system.
12. A method of managing a database according to claim 8, further comprising a searching step for initially decompressing the search key attribution record group prior to decompressing the others of the plural attribution record groups in response to a system search request.
13. A method of managing a database according to claim 12, further comprising a report generating step for generating a report indicating when a matching record does not exist in the others of the plural attribution record groups subsequent to the searching step.
14. A method of managing a database according to claim 13, further comprising a displaying step for displaying the report generated by the report generating step.

This application is based upon Japanese Patent Application No. Hei. 11-117951 filed on Apr. 26, 1999, the contents of which are incorporated herein by reference.

1. Field of the Invention

This invention relates to database managing apparatuses and database record retrieving apparatuses, and particular to a database managing apparatus which makes a database file in which compressed requested records are stored and to a database record retrieving apparatus which extracts a requested record from a memory medium in which a database file is stored.

2. Related Art

Recently, databases have been used in, for example, a vehicular navigation system as a map database or a telephone number database for setting a destination. The telephone number database includes several attributions of a shop or a company including: a name, a telephone number, an address, and position data (the longitude, the latitude, the altitude). When a driver of a vehicle inputs a search key such as a telephone number of a shop as a destination, the database is searched. When a record corresponding to the search key exists in the database, the navigation system extracts (retrieves) one article data (each attribution) to which the record belongs, and displays information regarding the one article data or uses as the destination.

Here, since the above-described databases including the map database and the telephone number database are generally stored in one common storing medium such as one CD-ROM, an amount of total data of each database is naturally limited. Therefore, the records to be stored are generally stored in the CD-ROM after being compressed (encoded) so as to reduce a size. When the records are read out from the database to be used in a process, the records are restored (decoded) by being decompressed to a former condition.

Here, in a conventional database managing apparatus, the data is compressed by a unit of record as a whole. Therefore, when the database is searched, it needs to decompress by a unit of the record as a whole before searching the database file. In general, the size of a main memory of the CPU for performing the data compression, the data compression, or the search process, is approximately 10 MB (mega bytes). However, a size of the total records in the database is approximately 100 MB. Therefore, when the CPU performs the search process, the CPU needs to repeat a series of processes including:

(1) loading (reading out) parts of the compressed data from the CD-ROM to the main memory;

(2) decompressing the loaded compressed data to restore it; and

(3) searching the restored data.

Hence, it takes long time to complete searching for one article record.

Furthermore, in a relation model database, which has plural attributions for one article, a projection may be performed. The projection retrieves only a particular record having a desired attribution (field). In such a case, it also needs to restore entire records to obtain only the particular record belonging to one attribution.

This invention has been conceived in view of the background thus far described and its first object is to immediately obtain desired data from a database.

According to the present invention, attribution record group forming means classifies data, which is requested to be stored in a database, according to attributions defined in the database, and makes plural attribution record groups corresponding to each of the attributions. Data compressing means compresses the attribution record groups in a unit of each of the attribution record groups. File forming means combines each of the attribution record groups, which is compressed by the data compressing means, and for forming a database file. As a result, the database managing apparatus can reduce a needless step for decompressing record data belonging to other attributions than the attribution to be searched for. Furthermore, it can retrieve the requested record in a short time.

According to another aspect of the present invention, a data base retrieving apparatus retrieves a target record to be searched from a database file, which is made up of plural attribution record groups (A-E), each of which is compressed in a unit of each of the attribution record groups. Data decompressing means decompresses a particular attribution record group, which is to be searched, when a search request for searching the database file is received. Searching means searches for a target record containing a search key in the particular attribution record group. The data decompressing means further decompresses the other attribution record groups, which are different from the particular attribution record group, when the searching means finds the target record. As a result, the database managing apparatus can unnecessary steps for decompressing record data belonging to other attributions than the attribution to be searched for. Furthermore, it can retrieve the requested record in a short time.

These and other objects, features and characteristics of the present invention will be appreciated from a study of the following detailed description, the appended claims, and drawings, all of which form parts of this application. In the drawings, like or corresponding portions are identified by like numbers to eliminate redundant explanation. In the drawings:

FIG. 1 is a schematic block diagram illustrating a database managing apparatus of a first embodiment according to the present invention;

FIG. 2 is a block diagram illustrating each function realized by software;

FIG. 3 is a flowchart illustrating a data compression process and a database file forming process;

FIG. 4A is an example of a telephone number database before being compressed;

FIG. 4B is an example of the telephone number database after being compressed;

FIG. 5 is a flowchart illustrating a search process;

FIG. 6 is a flowchart illustrating a data decompression process;

FIG. 7 is a flowchart illustrating a data decompression process when a CPU performs a field retrieve;

FIG. 8 is a schematic block diagram of a vehicular navigation system of a second embodiment according to the present invention;

FIG. 9 is a flowchart illustrating a data compression process and a database file forming process of a third embodiment according to the present invention;

FIG. 10 is a flowchart illustrating a data compress ion process and a database file forming process of a fourth embodiment according to the present invention;

FIG. 11 is a flowchart illustrating a search process of the fourth embodiment; and

FIG. 12 is a flowchart illustrating a data compression process and a database file forming process of a fifth embodiment according to the present invention.

(First Embodiment)

Hereinafter, a first embodiment in which the present invention is applied to a telephone number database for a vehicular navigation system will be explained with reference to FIGS. 1 to 7.

As shown in FIG. 1, which shows an electrical component of a database managing apparatus, the data base managing apparatus is provided with a central processing unit (CPU) 1; an input/output (I/O) device 2 connected to the CPU 1 and is made up of a keyboard, an input/output data file or the like; a main memory 3 connected to the CPU 1 and is made up of a RAM or the like; and an external memory 4 such as a hard disk unit connected to the CPU 1.

As shown in FIG. 2, which shows a block diagram illustrating each function realized by CPU 1 by using software, an application program 5 is a data register program for registering a database record to a database. A database management system (DBMS) 6 belongs to the database managing apparatus, and has functions for classifying the records based on attributions, for compressing the data, and for decompressing the data.

A data controller (data compressing means, data decompressing means, searching means) 7 has a function for operating the input/output device 2, and controls a data compression portion (data compressing means) 8 (1, 2, . . . , n) for performing data compression processes (compression methods) and a data decompression portion (data decompressing means) 9 (1, 2, . . . , n) for performing data decompression processes (decompression methods).

A database file 10 and a database definition file 11 are stored in the external memory 4. The database definition file 11 includes several definition data regarding the database file 10, that is, data indicating types of the attributions, or data regarding data compression of each data record having individual attribution. After the data controller 7 reads out definition data in the database definition file 11 via a definition file input/output portion 12, the data controller 7 controls the data compression portion 8 and the data decompression portion 9 to perform the data compression process and the data decompression process in accordance with the read definition data.

The data controller 7 accesses the database file 10 via a record input/output portion 13, so as to store compressed data or to retrieve the stored compressed data. These application program 5, the DBMS 6, the controller 7 etc are stored in the external memory 4. The CPU 1 executes the one of these functions 5-7 by loading onto the main memory 3, if needed.

Next, operations of this embodiment will be explained with reference to FIGS. 3 to 7. FIG. 3 shows a flowchart illustrating the data compression process and the forming process of the database file 10, each of which is executed by the CPU 1, when a record to be stored is provided to the database file 10 via the input/output device 2. FIGS. 4A and 4B show data tables to be stored in the data file 10 as the record. Specifically, FIG. 4A shows the data table before being encoded (compressed), and FIG. 4B shows the data table after being decoded (decompressed). Here, FIG.4B shows data image of the compressed or encoded condition, but does not show a compression result using a special compression method.

In FIG. 3, the controller 7 firstly obtains, for example, one article record from records, which are read by the application program 5 from the input/output device 2 (step A1). The obtained record data is loaded onto a working area provided on the main memory 3. Next, the controller 7 reads out definition data in the database definition file 11 via the definition file input/output portion 12 (step A2). Then, the controller 7 classifies the records obtained at step A1 according to the attributions based on the definition data, and forms attribution record groups (step A3)(attribution record group forming means, attribution record group forming step).

Here, as shown in FIGS. 4A and 4B, in the present embodiment, the attributions of the database include the following attributions A-E (in the case where the number of the attributions n=5).

Therefore, in this case, five attribution record groups corresponding to the attributions A-E (see FIGS. 4A and 4B) are formed.

Next, the controller 7 performs a loop of steps A4-A7, so that the data compression portions 8 (1, 2, . . . , n) performs each data compression process according to each attribution record group (steps A5, A6-1, A6-2, . . . , A6-n)(data compression step).

The data compression process is performed by using, for example, a LZ (Lempel-Ziv) slide dictionary method, which is suitable for compressing text data. A summary of the data compression process is as follows.

(1) The controller 7 detects whether an address of a data string, which is the same as the initial two characters of a data string to be compressed, is registered in a data table of a “dictionary” by using a searching method such as a binary search, a B-Tree search, or a hash search. When such an address is not registered, the controller 7 registers its own initial address.

(2) When at least one data string is registered in the dictionary, the controller 7 compares the data string to be compressed with each of the registered data, so as to detect to what order of the character from an initial character does the data string to be compressed match that of each registered data.

(3) When three or more characters are matched as a result of process (2), the controller 7 performs the data compression. In detail, the controller 7 replaces the initial portion of the data string to be compressed with a matching data, which includes an initial address and the number of matched characters (data) of particular data string with which the number of matching is the largest. Furthermore, the controller 7 registers the initial address of this data string to be compressed into the dictionary, and sets a bit, which is provided every plural character and indicates which character in order is not character data

On the contrary, when the maximum number of the matching is two or less than two, but is the matching data. the controller 7 does not perform the compression and directly outputs the data to be compressed.

The controller completes the data compression by repeating the above-described processes (1)-(3).

Here, the database definition file 11 also includes data that to which attribution record in the attributions A-E does the record to be used as the search key belongs. In this case, for example, when the record of the attribution A is used as the search key, the record group of the attribution A correspond to the record group to be searched. Therefore, the step A6-1 is a step for compressing the record group of the attribution A, however, the controller 7 does not perform the data compression process (the data compression portion 8(1) is not executed) to immediately perform the search process. In FIG.3,the data compression portion 8(1) is shown by a dotted line.

Regarding the other record group belonging to the attributions B-E, the controller 7 respectively performs the data compression process in steps A6-2, A6-3, . . . , A6-n. In detail, as shown in FIG. 4B, each of the records belonging to the attributions B-E is encoded, so that the data size is reduced. In this figure, each of the attributions of the records after compressing are shown as Ac-Ec (however, Ac is substantially the same as A).

When the data compression process regarding the record group of the attribution E ends at step A6-5, the controller 7 escapes the loop of steps A4-A7, and combines the data compressed according to each attribution record group. After that, the controller 7 writes the combined compressed data into the database file 10 via the definition file input/output portion 13 (step A8) (file forming means, file forming step), and terminates the process.

Here, the database file 10 may be directly formed in the external memory at this stage, or may be formed by the following step. That is, the controller 7 makes the database file 10 on the main memory 3 every time the controller 7 processes one article record, and transfers the database file 10 from the main memory 3 to the external memory 4 after plural processes regarding plural articles of the record have been completed.

When the step A1 is performed only for a part of data that can be loaded from the input/output device 2 to the main memory 3 at one time, and when the data compression process is performed for not all the requested records, the controller 7 returns to step A1 to repeat the same steps, so as to form the telephone number database in the database file 10.

FIG. 5 shows a flowchart illustrating the search process executed by CPU 1, when there is a search request for a particular record in the database file 10. For example, it assumes that there is a search request for a particular article whose article number is “1000” in FIGS. 4A and 4B. Here, a search key “1000” is inputted via the input/output device 2. In this case, the controller 7 retrieves parts of the record group belonging to the attribution Ac as the record to be searched from the database file 10 to the main memory 3 (step B1). The binary search, the B-Tree search, or the hash search may be used for searching the database file 10. Since the attribution A is not encoded (compressed), the controller 7 immediately performs the search process after receiving the records from the database file 10.

When there is no record corresponding to the search key “1000”, the controller determines as “NO” at step B2, and moves to step B3. When the search for all of the records is not ended at that time, the controller 7 determines as “NO”, and moves to step B1 to obtain the other record groups in the attribution A.

On the contrary, when the search for all of the records is ended, the controller determines that there is no record corresponding to the search key in the database file 10, and notices for indicating no corresponding record (step B4). The notice may be performed by displaying information that there is no corresponding record, or by using voice sound. Here, the steps B1-B3 correspond to searching means and searching step.

On the contrary, when there is the record corresponding to the search key “1000”, the controller 7 determines as “YES”, and performs the data decompression process (step B5).

FIG. 6 shows a flowchart illustrating the data decompression process (data decompressing means, data decompressing step). In this figure, the data controller 7 reads out parts of the record group of the attributions Bc-Ec, which are other parts than the attribution Ac, from the database file 10 to the main memory 3 (step C1).

Here, since an amount of data is large, the data compression process does not compress entire parts of each attribution record group at one time, but compresses each of the attribution record groups by a particular block, which is divided into an adequate amount of data. Therefore, when a certain article record is searched for, the controller 7 searches only the particular block, to which the certain article belongs, in the database file 10.

Next, the controller 7 reads out the definition data in the database definition file 11, in the same way as in step A2 (step C2). The controller 7 classifies the records obtained at step C1 according to the attributions based on the definition data (step C3). Then, while the controller 7 repeats a loop of steps C4-C7, the controller 7 performs the data decompression process for every attribution record group by using the data decompression portion 9 (2, . . . , n) (steps C5, C6-2, . . . , C6-n).

After the data of the record groups belonging to the attributions B-E are restored (decompressed), the controller 7 outputs the article records (attributions A-E) to the input/output device 2, and terminates the process.

FIG. 7 shows a flowchart illustrating the data decompression process (data decompressing means, data decompressing step), when only data belonging to a particular attribution is selectively searched (field search). For example, in a case of the vehicular navigation system, when the destination is set, the names of the shops or companies may be listed on the display and may be selected by moving a cursor or the like. The field search is performed in such a case.

In this figure, when particular attribution data (e.g., attribution C), which is requested for being searched for, is inputted via the input/output device 2, the controller 7 reads out the definition data in the database definition file 11 (step D1). The controller 7 reads out only record group belonging to the attribution Cc, which corresponds to the attribution C and is encoded (compressed), from the database file 10 (step D2). After that, the controller 7 restores the record data regarding the record group belonging to the attribution Cc to the former condition, by using the data decompression portion 9 (3). Then, the controller 7 outputs the restored record data to the input/output device 2.

As described above, according to this embodiment, the controller 7 does not compress the data regarding the record group belonging to the attribution A, which is the record group to be searched, in all of the attributions A-E, but compresses only data regarding the record groups belonging to the attributions B-E, which are the record groups other than the record group to be searched.

Therefore, when there is a search request for a particular record, the controller 7 can immediately start the search process without waiting for the data decompression process for the record group belonging to the attribution A, and can completely perform the search process in a short time. Furthermore, since the record groups belonging to the attributions B-E are decoded (decompressed) only when there is a corresponding record as a result of the search process, it can reduce needless time for performing the data decompression process and can retrieve the requested record. That is, a process time of this embodiment becomes shorter than a conventional system, in which all of the data is decompressed before the search process. In addition, it can prevent the size of the database from increasing by performing the search process in a short time.

Furthermore, the controller 7 reads out and searches only the record group belonging to the attribution A from the database file 10, and reads out and decompresses the other record groups belonging to the attributions B-E only when there is the corresponding record in the database file 10 as a result of the search. Therefore, it can reduce the number of (loads of the data from the external memory to the main memory) times that the database file 10 must be accessed during the search process and during the time necessary to obtain all the requested records, and can reduce the process time.

Furthermore, according to this embodiment, regarding the records belonging to the attributions B-E, the controller 7 respectively compresses data regarding each attribution record group. When the controller 7 selectively searches only the record group belonging to the attribution C, the controller 7 decompresses only the record group belonging to the attribution C. Hence, it does not need to decompress needless record data belonging to other attributions than the attribution to be searched for. As a result, it can retrieve the requested record in a short time.

(Second Embodiment)

FIG. 8 shows a schematic block diagram illustrating an electrical component of a vehicular navigation system (database record retrieving apparatus) of a second embodiment according to the present invention. The vehicular navigation system is provided with a controller (searching means, data decompressing means) 14 made up of a microcomputer or the like, a GPS receiver 15, an azimuth sensor 16, and a wheel speed sensor 17. The GPS receiver 15, the azimuth sensor 16, and the wheel speed sensor 17 are for receiving GPS signals from the GPS satellite and for calculating a present portion of the vehicle. The vehicular navigation system further includes an operation portion 18, which is provided with operation keys with which a user operates to input data, a display unit 19 such as a display, and a voice generation unit 20 such as a speaker.

A database of map data for being displayed on the display unit 19 and the database file 10 of the telephone number database shown in FIG. 4B in the first embodiment. In detail, the database file 10, which is formed by the database managing apparatus in the first embodiment, is written in a CD-ROM 21 by converting a data format to a CD-ROM format. The data in the CD-ROM 21 can be read out to the controller 14 by using a driver 22.

According to the vehicular navigation system of this embodiment, the controller 14 reads out the data stored in the CD-ROM 21, when it is needed, and the controller 14 performs route guidance by displaying the data on the display unit 19 or by using voice sound. The present invention is applied to one function for reading out and decompressing the telephone number database, which is stored in compressed form.

In detail, the program of the data decompression process as shown FIGS. 6 and 7 in the first embodiment is built in a control program of the controller 14. The controller 14 reads out and decompresses the data from the CD-ROM 21 in accordance with an operation of the user via the operation portion 18. As a result, the data decompression process of this embodiment can be performed by the same way as that of the first embodiment.

As described above, according to this embodiment, the controller 14 of the vehicular navigation system reads out and decompresses the data from the CD-ROM 21, in which the database file 10 formed by the database managing apparatus of the first embodiment is stored. Therefore, it can retrieve the requested record in a short time.

(Third Embodiment)

FIG. 9 shows a flowchart illustrating a data compression process and a database file forming process of a third embodiment. Differences between this embodiment and the first embodiment will be mainly explained.

In detail, the step A3 in the first embodiment is replaced with step A3a. At step A3a, the controller 7 classifies the record, which is requested for being stored, into the record group to be searched and the other record groups.

The step A5 is replaced with step A9. At step A9, the controller 7 judges whether the attribution record group is the record group to be searched. When the attribution record group is the record group to be searched, the judgment is “YES”, and the controller moves to step A7 without performing the data compression process, as in the first embodiment. On the contrary, when attribution record group is not the group to be searched, the judgment is “NO”, and the controller 7 performs the data compression process in a like manner for all the attributions (step 10). Here, the steps A9 and A10 correspond to the data compressing means and the data compressing step.

As described above, when there is a search request for a particular record in the database file 10, the controller 7 performs the search process, and reads out and decompresses the data belonging to the attributions Bc-Ec of the particular record if there is a corresponding record. According to the this embodiment, even when there are many such processes, the controller 7 can perform the data compression process regarding the attributions Bc-Ec as a whole, and therefore the controller 7 can retrieve the data in a short time.

(Fourth Embodiment)

FIG. 10 is a flowchart illustrating a data compression process and a database file forming process of a fourth embodiment. FIG. 11 is a flowchart illustrating a search process. Differences between this embodiment and the first embodiment will be mainly explained.

In detail, in the first embodiment, the record belonging to the attribution A as the record group to be searched is not compressed. However, in this embodiment, as shown in FIG. 10, the controller 7 also performs the data compression process to the record group belonging to the attribution A at step A6-1 by using the data compression portion 6(1).

In the search process, as shown in FIG. 11, after the controller 7 obtains the data of the record group belonging to the attribution Ac at step B1, the controller 7 performs the data decompression process with respect to the obtained data (step B6). When there is a corresponding record, the controller 7 determined as “YES”, and performs the data compression process with respect to the other record groups belonging to the attributions Bc-Ec (step B5a).

As describe above, since the controller 7 also compresses the record group belonging to the attribution A as the record group to be searched, it can reduce total process time compared to the conventional method in which the search process is performed after all of the records are decompressed. Furthermore, since the record group belonging to the attribution A is also compressed, the size of the database file 10 can be reduced.

(Fifth Embodiment)

FIG. 12 shows a flowchart illustrating a data compression process and a database file forming process of a fifth embodiment. Differences between this embodiment and the third embodiment will be mainly explained.

In the third embodiment, when the controller 7 determines as “YES” at step A9, the controller 7 does not perform the data compression process; and when the controller 7 determines as “NO” at step A9, the controller 7 performs the data compression process.

On the contrary, in a fifth embodiment, when the judgment is “YES” at step A9, the controller 7 compresses the record group belonging to the attribution A with a high-speed decompressable format, which is a relatively low compression rate format and can be decompressed in a short time (step A12). When the judgment is “NO” at step A9, the controller 7 compresses the record group belonging to the attribution A with a relatively high decompression rate format (step A12). Here, the steps A9-A11 correspond to the data compressing means and the data compressing step.

As described above, in the data compression process, the “dictionary” is formed for decompressing and restoring the compressed data portion. When a size of the dictionary is set to large, the compression rate can be increased, because a possibility for matching further longer character strings may be increased in the data string to be compressed. On the contrary, when the size of the dictionary is set to small, the compression rate is lowered.

Here, when the compression rate of the data is increased, it takes relatively long time to complete the data decompression process, because a time needed for searching the dictionary during the data decompression process is prolonged. On the contrary, when the compression rate is lowered, the data decompression process can become shorter.

Therefore,the controller 7 restricts the size of the dictionary to small at step A11, so that the compression rate regarding the record group to be searched becomes relatively small, and that the controller can immediately start the search process by reducing the time needed for the data decompression process. On the contrary, the controller 7 sets the size of the dictionary to large at step A12, so as to reduce the size of the other record groups belonging to the other attributions, which are needed only there is a corresponding record in the record to be searched.

As described above, according to this embodiment, since the data compression rate of the record group to be searched is set to small, and that of the other record groups belonging to other attributions is set to high, the controller 7 can perform the search process at high-speed, and can prevent the total size of the compressed data from increasing.

The present invention is not limited to the above-described embodiments, but can be modified and expanded to the following modifications.

The data decompression portion 9 may be omitted from the database managing apparatus of the first embodiment, so that the database managing apparatus mainly includes a function that the database file 10 is formed by performing the data compression process.

When there is no database definition file 11, the controller 7 may classify the attributions of the records to be stored by using a predetermined parameter, and so does the data compression method of each record group belonging to each attribution.

When the controller 7 performs the search process, the controller 7 may load (read out) the data of the other record groups, the other than the record group to be searched, onto the main memory 3.

The database file formed by the data compression method as described in the third to fifth embodiments may be stored in a storing medium such as a CD-ROM, and may be applied to a database record retrieving apparatus such as the vehicular navigation system as shown in the second embodiment, which is provided with the data decompression method corresponding to each of the data compression method.

In the fifth embodiment, the record groups belonging to the other attributions other than the record group to be searched may be compressed regarding each attribution record group, alike the first embodiment.

When there is adequate encode (compression) method for an attribution record group from a viewpoint of a characteristic of each attribution record group, the encode methods may be different from each other.

For example, in the first embodiment, a judgment step for asking the number of the articles is inserted between the steps A3 and A4. The controller 7 repeats the steps A3-A4 until the number of the obtained record articles reaches the number of the articles. When it reaches, the controller 7 determined as “YES” at this inserted step, and performs the data compression process as shown in A4-A7.

When the data string to be compressed has already existed as a file, and when the controller 7 can be obtain plural of article records at the step A1 by reading out the data file regarding each block, the controller 7 may perform the steps A2, A3 and A8 with each block in a lump. Furthermore, when the size of the data string to be compressed is relatively small enough to be read out at one time, each of the steps A2, A3 and A8 may be formed in a lump.

For example, when a particular character string, which is frequently used, such as “corporation” or “co., Ltd” may be expressed by, for example, one byte code, so that a so-called “encode dictionary” is formed by storing the database file 10 in a predetermined region. As a result, the size of the data can be further reduced.

The external memory 4 may be separately formed from the CPU 1, when the external memory 4 is connected to the CPU 1 via a network.

The storing medium is not limited to the CD-ROM 21, but may use a DVD-ROM, an MO disk, a hard disk unit, or a memory card.

The database managing apparatus or the record retrieving apparatus of the present invention is exemplified to the telephone number in the above-described embodiments. However, the present invention may be applied to other apparatus, which searches or retrieves particular data corresponding to particular elements or attributions, such as a bank account managing system, a client database managing system, or sales database managing system.

Furuike, Yoshimasa

Patent Priority Assignee Title
10510164, Jun 17 2011 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
10866941, Mar 07 2016 Hitachi, LTD Computer and database management method
11043010, Jun 17 2011 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
7627619, Dec 29 2003 EMC Corporation Data verification following database write
7701366, Jul 25 2008 Seiko Epson Corporation Data compression by multi-order differencing
7769728, Dec 06 2004 Method and system for intra-row, inter-row compression and decompression of data items in a database using a page-based structure where allocating a page-buffer based on a stored value indicating the page size
8031089, Jul 25 2008 Seiko Epson Corporation Data compression by multi-order differencing
8069147, Nov 10 2005 Computer Associates Think, Inc System and method for delivering results of a search query in an information management system
8306744, Mar 14 2006 Mitsubishi Electric Corporation Vehicle-mounted equipment
8577847, Nov 10 2005 CA, INC System and method for delivering results of a search query in an information management system
8629791, Jul 25 2008 Seiko Epson Corporation Data compression by multi-order differencing
9147011, Mar 18 2011 Fujitsu Limited Searching method, searching apparatus, and recording medium of searching program
9514174, Jun 30 2012 Microsoft Technology Licensing, LLC Classification of data in main memory database systems
9892146, Jun 30 2012 Microsoft Technology Licensing, LLC Classification of data in main memory database systems
Patent Priority Assignee Title
4464650, Aug 10 1981 BELL TELEPHONE LABORATORIES, INCORPORATED, A CORP OF NY ; AMERICAN TELEPHONE AND TELEGRAPH COMPANY, A CORP OF NY Apparatus and method for compressing data signals and restoring the compressed data signals
5109226, Nov 22 1989 International Business Machines Corporation Parallel processors sequentially encoding/decoding compaction maintaining format compatibility
5351083, Oct 17 1991 Sony Corporation Picture encoding and/or decoding system
5553277, Dec 29 1992 Fujitsu Limited Image search method for searching and retrieving desired image from memory device
5563649, Jun 16 1993 PORTE, MICHAEL System and method for transmitting video material
5586280, May 29 1990 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and apparatus for appending data to compressed records previously stored on a sequentially-accessible storage medium
5596659, Sep 01 1992 Apple Inc Preprocessing and postprocessing for vector quantization
5611024, Aug 28 1992 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Data compression of bit map images
5625759, May 08 1995 NovaLogic, Inc. Real-time video and animation playback process
5668897, Mar 15 1994 LOT 19 ACQUISITION FOUNDATION, LLC Method and apparatus for imaging, image processing and data compression merge/purge techniques for document image databases
5748780, Apr 07 1994 LOT 19 ACQUISITION FOUNDATION, LLC Method and apparatus for imaging, image processing and data compression
5778360, Mar 24 1994 Fujitsu Limited Method and apparatus for encoding and decoding a data unit whose structure is defined by a description conforming to abstract syntax according to a prescribed encoding rule
5799184, Oct 05 1990 Microsoft Technology Licensing, LLC System and method for identifying data records using solution bitmasks
5809295, Sep 26 1995 Microsoft Technology Licensing, LLC Method and apparatus for storing compressed file data on a disk where each MDFAT data structure includes an extra byte
5813011, May 12 1995 Fujitsu Limited Storage of a compressed file containing its own compression management table
5845226, May 24 1995 Matsushita Electric Industrial Co., Ltd. Navigation system for leading to a destination and recording medium used for the navigation system
5867221, Mar 29 1996 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression
5901277, Jul 29 1994 Apple Computer, Inc. Shared decompression buffer
5991455, May 03 1995 National Semiconductor Corporation Hashing-based vector quantization
5999936, Jun 02 1997 Hewlett Packard Enterprise Development LP Method and apparatus for compressing and decompressing sequential records in a computer system
6035068, Sep 07 1995 Kabushiki Kaisha Toshiba Method and apparatus for processing compressed data and non-compressed data
6167084, Aug 27 1998 Google Technology Holdings LLC Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
6192154, Jan 26 1998 International Business Machines Corporation Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
6205256, Mar 28 1996 Microsoft Technology Licensing, LLC Table-based compression with embedded coding
6243081, Jul 31 1998 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Data structure for efficient retrieval of compressed texture data from a memory system
6247015, Sep 08 1998 International Business Machines Corporation Method and system for compressing files utilizing a dictionary array
6272180, Nov 21 1997 RAKUTEN, INC Compression and decompression of reference frames in a video decoder
6356588, Apr 17 1998 WADA, AYAO Method for digital compression of color images
6360019, Mar 28 1996 Microsoft Technology Licensing, LLC Table-based compression with embedded coding
6393149, Sep 17 1998 HERE GLOBAL B V Method and system for compressing data and a geographic database formed therewith and methods for use thereof in a navigation application program
6415280, Apr 11 1995 Personalweb Technologies, LLC Identifying and requesting data in network using identifiers which are based on contents of data
6415307, Oct 24 1994 P2I LIMITED FORMERLY HAMSARD 2210 LIMITED Publication file conversion and display
6535686, Apr 06 1997 Sony Corporation Signal processor and signal processing method
6539389, Mar 04 1999 International Business Machines Corporation Pacing the frequency at which systems of a multisystem environment compress log streams
6633609, Dec 24 1996 Mineral Lassen LLC Method and apparatus for bit rate control in a digital video environment for arbitrary bandwidth
6816618, Mar 03 1998 MINOLTA CO , LTD Adaptive variable length image coding apparatus
20030210825,
JP1011338,
JP10285533,
JP4348617,
JP61184052,
JP6161843,
JP63296147,
JP6337762,
JP8314957,
JPH8320648,
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
Apr 11 2000YOSHIMASA FURUIKEDenso CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0107380898 pdf
Apr 18 2000Denso Corporation(assignment on the face of the patent)
Date Maintenance Fee Events
May 03 2006ASPN: Payor Number Assigned.
Feb 18 2009M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Feb 20 2013M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Apr 24 2013RMPN: Payer Number De-assigned.
Apr 25 2013ASPN: Payor Number Assigned.
Apr 28 2017REM: Maintenance Fee Reminder Mailed.
Oct 16 2017EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Sep 20 20084 years fee payment window open
Mar 20 20096 months grace period start (w surcharge)
Sep 20 2009patent expiry (for year 4)
Sep 20 20112 years to revive unintentionally abandoned end. (for year 4)
Sep 20 20128 years fee payment window open
Mar 20 20136 months grace period start (w surcharge)
Sep 20 2013patent expiry (for year 8)
Sep 20 20152 years to revive unintentionally abandoned end. (for year 8)
Sep 20 201612 years fee payment window open
Mar 20 20176 months grace period start (w surcharge)
Sep 20 2017patent expiry (for year 12)
Sep 20 20192 years to revive unintentionally abandoned end. (for year 12)