GB2262370A - Database management. - Google Patents
Database management. Download PDFInfo
- Publication number
- GB2262370A GB2262370A GB9126494A GB9126494A GB2262370A GB 2262370 A GB2262370 A GB 2262370A GB 9126494 A GB9126494 A GB 9126494A GB 9126494 A GB9126494 A GB 9126494A GB 2262370 A GB2262370 A GB 2262370A
- Authority
- GB
- United Kingdom
- Prior art keywords
- record
- index file
- database
- controller
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
Abstract
A database with sequentially stored records is subjected to a batch processing operation to generate index files, each containing addresses for the records in a certain category as determined by selection and conditional filtering operations. The conditional filtering operations use set conditions which conditionally restrict the entry of addresses to the index files so that less memory is required and processing speed is improved. When data is being accessed either the full record may be retrieved from the database or alternatively an index file may be accessed for quick and efficient retrieval of the relevant information. <IMAGE>
Description
"A memory control process The invention relates to control of memory circuits and storage devices. More particularly, the invention relates to such control where there is a large volume of data and where fast retrieval is required.
Databases consist of records and when data is required, a controller carries out filtering operations to locate relevant records and reads these records into memory for access by a user so that blocks of data within the record may be viewed.
Filtering operations involve passing each record of the database in turn through an electronic filter which monitors content of data blocks within the record and either ignores the record or transmits it for storage in memory, depending on the content of the data blocks. Where databases are quite large, such filtering operations take up a considerable amount of processor time because each record must in turn be filtered, each filtering operation involving both read and write storage device cycles and processing with data temporarily located in a memory circuit. If a filter takes x seconds to verify a condition against a record and the database contains n records this leads to a delay time of n.x seconds.
European Patent Specification No. 124097B1 (Wang) discloses a method for storing and retrieving data in a database which involves use of an index to access many different data fields in a quick manner. This index is structured in an hierarchial manner in which a processor carries out a sequence of searches. While this method is undoubtedly useful for situations in which the data fields to be searched do not change often, it would not be particularly useful where such fields may change daily. An example is the control of project databases, where searching requirements may change daily depending on project progress. Further, in this prior art index files which are generated include pointers for all records, thus leading to a large memory and processing requirement, which would be unsuitable in the above-mentioned situations.Similar comments apply to the method disclosed in
United Kingdom Patent Specification No. 2,190,772 (Menne).
These processing and memory utilisation problems in some instances may lead to over-loading of a processor carrying out project management operations, which in turn may cause data corruption. If this happens, mistakes may be made in relation to a project, caused by incorrect information being available.
More specifically, in control of labour for a project, particularly where there is a large amount of direct and indirect labour such as electricians, supervisors, foremen and a large number of activities, it is essential that data be available quickly to ensure efficient use of the available labour and minimise wastage.
The invention is directed towards providing a memory control process which allows very quick access to data where there is a large amount of stored data, and which requires relatively little processor time.
According to the invention, there is provided a memory control process carried out by a controller connected to an input interface, to a storage device, and to a memory circuit, the process comprising the steps of:
receiving at the input interface a record containing
blocks of data;
the controller directing sequential storage of the record
in a database according to the order in which the record
is received;
the controller carrying out a batch process comprising
the sub-steps of::
setting up an index file for each of different
categories of data blocks of the records;
for each record of the database, writing the record
from the database into the memory circuit;
extracting data blocks from the record corresponding
to the index file categories;
selecting the index file which is relevant to each
data block;
conditionally filtering the relevant block to
determine if the record address should be stored in
the selected index file; and
storing the record addresses in the selected index
file according to the conditional filtering
operations, and
the controller subsequently accessing the index file for
retrieval of record addresses relevant to a particular
subject.
Preferably, the batch processing operations are carried out off-line.
The invention will be more clearly understood from the following description of some preferred embodiments thereof, given by way of example only with reference to the accompanying drawing which is a flow diagram illustrating a memory control process of the invention.
Referring to the drawing, there is illustrated a memory control process of the invention indicated generally by the reference numeral 1. The process 1 is suitable for use where there is a large amount of data such as in project management where there would be a large number of resources, for example, employees either working at or available for work on many different activities for different projects. In such situations it is important that data relating to employees who would be available for carrying out certain activities (which may be on the critical path for a project) may be quickly retrieved.
The process X is carried out by an apparatus comprising a microprocessor-based controller which is connected to fixed disks via disk drives, to a random access memory circuit and to an input interface. The input interface may be an RS 232 connection to another processing device for down-loading of data records or alternatively a keyboard. In general, a keyboard would be used for adding additional data records to a database and for creating the database initially, thereafter, when the database is being transferred it would be via an RS 232 port.
A data record is received in step 2, and in step 3 it is stored sequentially in the database on the fixed disk drive by the controller in the order in which it is received. Thus, the capacity of the fixed disk drives is sequentially used up.
In step 4, the controller repeatedly monitors the input interface for receipt of an instruction that batch processing operations are to be carried out. If not, more records are received and the process of storing the records in the database is repeated.
When a batch processing instruction is received, the controller sets up a number of index files in step 5, each for storage of addresses for records relating to a specific category or subject. For example, where the database is for storage of employee records, an index file might contain addresses sorted according to information for the work being carried out by employees, another according to when the employee will be next available for work, and another according to names of employees.
In step 6, a record is retrieved from the database to memory.
In step 7 the controller extracts a data block from the record and in step 8, determines which index file is relevant to it.
In step 9, the controller carries out conditional filtering operations to determine whether or not the address for the record should be stored in the index file. These operations are carried out by the controller initially storing in nonvolatile memory a file of pre-set conditions for the data block. These conditions are sequentially compared with the data block and the output of the comparison is used to categorise the data block. According to the category, the address of the record is stored in the associated index file.
Although the block may be for the same parameter (e.g. job finish time) as an index file, the block value may disqualify the record from relevance to the parameter. For example, the job finish time may be too late for current consideration.
The conditional filtering operations 9 are thus very important as they lead to only required addresses being stored in the index file, selected according to conditions. As a result, the index files which are generated do not take up a large amount of memory space (for example 64 Kbytes) and thus utilisation of memory is improved and processing requirements are reduced.
According to the filtering operation, the address may be stored in the relevant index file in step 10 in a desired sorted order. Steps 7 to 10 are repeated for each block of the record in turn as indicated by the decision step 11.
Steps 5 to 11 are repeated for each record of the database in turn as indicated by the decision step 12 until the batch process is ended in step 13. In general, the batch process of steps 5 to 12 is carried out off-line, generally during night-time. Thus, in general, databases will be generated during the day-time and the index files will be generated at night-time, off-line when there is available processing capacity.
At the end of the batch process, the apparatus stores both the conventional database records and a number of index files, each containing addresses for records relevant to a specific subject, and sorted into a desirable order. For example, if an index file is for a completion date of activities for employees, the order may be beginning with the next completion date, the last address being for the record having the last completion date.
In step 21 a request is received at the input interface for access to data. In step 22, a decision is made as to whether the request is to view a full record of a database. If so, in step 23 the controller carries out conventional filtering operations to access the record, retrieve the data, and outputs it in step 24. However, in most cases it is not a full record which is required but a particular piece of information, for example, how many people will be available for transfer to a certain activity of a building project the following day. Accordingly, the full record is not required and in step 25 the controller determines the data block which is associated with the information request. In step 26, the controller accesses the relevant index file and retrieves the records for which addresses are stored in the file.The step 26 of accessing the index file simply involves retrieving the required number of addresses, which are ready sorted into the order of "availability for work". Thus, the index file will give all of the information which is required for identification of the employee and the relevant information.
It will be appreciated that data may be accessed during the day-time or on-line generally extremely quickly as it is only necessary for the controller to identify the relevant index file and to retrieve addresses from it. It is not necessary to carry out the time-consuming filtering operations through a database in the vast majority of cases. This is extremely important in day-to-day usage of processing facilities as these facilities are required for other operations which would otherwise be slowed down. What the invention achieves is the ability to generate reports in a very quick manner, which reports include only that information which is required. This helps enormously in management of a project, in which situation timely retrieval of required data is of extreme importance.
The invention is not limited to the embodiments hereinbefore described, but may be varied in both construction and detail.
Claims (8)
1. A memory control process carried out by a controller
connected to an input interface, to a storage device, and
to a memory circuit, the process comprising the steps
of:
receiving at the input interface a record containing
blocks of data;
the controller directing sequential storage of the
record in a database according to the order in which
the record is received;
the controller carrying out a batch process
comprising the sub-steps of::
setting up an index file for each of different
categories of data blocks of the records;
for each record of the database, writing the
record from the database into the memory
circuit;
extracting data blocks from the record
corresponding to the index file categories;
selecting the index file which is relevant to
each data block;
conditionally filtering the relevant block to
determine if the record address should be
stored in the selected index file; and
storing the record addresses in the selected
index file according to the conditional
filtering operations, and
the controller subsequently accessing the index file
for retrieval of record addresses relevant to a
particular subject.
2. A process as claimed in claim 1, wherein the batch
processing process is carried out off-line.
3. A process substantially as hereinbefore described with
reference to an as illustrated in the accompanying
drawings.
Amendments to the claims have been filed as follows
4. An electronic controller for carrying out a memory control process said electronic controller being intended for connection to an input interface, to a storage device, and to a memory circuit, the electronic controller comprising:
electronic means for receiving at the input interface a record containing blocks of data;
the electronic controller being adapted for:
directing sequential storage of the record in a database according to the order in which the record is received;
carrying out a batch process comprising the sub-steps of:
setting up an index file for each of different categories of data blocks of the records;
for each record of the database, writing the record from the database into the memory circuit;
extracting data blocks from the record corresponding to the index file categories;
selecting the index file which is relevant to each data block;
conditionally filtering the relevant block to determine if the record address should be stored in the selected index file; and
storing the record addresses in the selected index file according to the conditional filtering operations; and
subsequently accessing the index file for retrieval of record addresses relevant to a particular subject.
5. An electronic controller as claimed in claim 4, adapted to carry out the batch processing process off-line.
6. An electronic circuit arrangement comprising an electronic controller according to claim 4 or claim 5, in combination with and electrically connected to an input interface, a storage device and to a memory circuit.
7. An electronic controller substantially as hereinbefore described with reference to the accompanying drawings.
8. An electronic circuit arrangement substantially as hereinbefore described with reference to the accompanying draw ngs.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9126494A GB2262370A (en) | 1991-12-13 | 1991-12-13 | Database management. |
BE9101163A BE1003621A6 (en) | 1991-12-13 | 1991-12-19 | Memory process control. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9126494A GB2262370A (en) | 1991-12-13 | 1991-12-13 | Database management. |
Publications (2)
Publication Number | Publication Date |
---|---|
GB9126494D0 GB9126494D0 (en) | 1992-02-12 |
GB2262370A true GB2262370A (en) | 1993-06-16 |
Family
ID=10706212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9126494A Withdrawn GB2262370A (en) | 1991-12-13 | 1991-12-13 | Database management. |
Country Status (2)
Country | Link |
---|---|
BE (1) | BE1003621A6 (en) |
GB (1) | GB2262370A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005848B2 (en) * | 2007-06-28 | 2011-08-23 | Microsoft Corporation | Streamlined declarative parsing |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107817946B (en) * | 2016-09-13 | 2021-06-04 | 阿里巴巴集团控股有限公司 | Method and device for reading and writing data of hybrid storage device |
-
1991
- 1991-12-13 GB GB9126494A patent/GB2262370A/en not_active Withdrawn
- 1991-12-19 BE BE9101163A patent/BE1003621A6/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005848B2 (en) * | 2007-06-28 | 2011-08-23 | Microsoft Corporation | Streamlined declarative parsing |
Also Published As
Publication number | Publication date |
---|---|
BE1003621A6 (en) | 1992-05-05 |
GB9126494D0 (en) | 1992-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5535381A (en) | Apparatus and method for copying and restoring disk files | |
US5220667A (en) | Computer system | |
US5920860A (en) | Method and apparatus for accessing of large object data segments from a remote database | |
US7167878B2 (en) | System and method for identifying and maintaining base table data blocks requiring deferred incremental integrity maintenance | |
US6189001B1 (en) | Tape system storage and retrieval process | |
CN1996284A (en) | Save file management system and method therefor | |
US5410694A (en) | File access processing system of a computer enabling high-speed sequential access for a stream file | |
EP0341230A2 (en) | Data storage hierarchy and method for managing data therein | |
US5261040A (en) | Text processing apparatus | |
US5418965A (en) | Subroutine-type computer program for enhancing the speed of data processing in data management programs systems | |
GB2262370A (en) | Database management. | |
IE914225A1 (en) | A memory control process | |
JPS61256442A (en) | Method for increasing record retrieving speed | |
JPS5853763B2 (en) | Program loading processing method | |
US20050226105A1 (en) | Method, apparatus and computer program product for implementing device selection in a robotic media library with multiple media types and multiple device types | |
JPS60237506A (en) | File control method | |
JPH01253024A (en) | Buffer control method for data base management | |
JPH10143406A (en) | File managing device | |
Hevner | Evaluation of optical disk systems for very large database applications | |
JP3585264B2 (en) | Database system and data retrieval method | |
JP3111498B2 (en) | Record search method and data processing device | |
JPH03147150A (en) | Data processing system | |
JPS60225938A (en) | Information retrieving system | |
JPS61248124A (en) | Input precedence control system | |
JPS62177642A (en) | File management system for postscript filing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |