GB2270779A - Back-up database system - Google Patents

Back-up database system Download PDF

Info

Publication number
GB2270779A
GB2270779A GB9219688A GB9219688A GB2270779A GB 2270779 A GB2270779 A GB 2270779A GB 9219688 A GB9219688 A GB 9219688A GB 9219688 A GB9219688 A GB 9219688A GB 2270779 A GB2270779 A GB 2270779A
Authority
GB
United Kingdom
Prior art keywords
computer database
database system
live
data
systems
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
GB9219688A
Other versions
GB9219688D0 (en
GB2270779B (en
Inventor
Stephen O'sullivan
Denis Brian Mccarthy
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.)
FEXCO INITIATIVE Ltd
Original Assignee
FEXCO INITIATIVE Ltd
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 FEXCO INITIATIVE Ltd filed Critical FEXCO INITIATIVE Ltd
Priority to GB9219688A priority Critical patent/GB2270779B/en
Priority to BE9200828A priority patent/BE1004541A6/en
Publication of GB9219688D0 publication Critical patent/GB9219688D0/en
Publication of GB2270779A publication Critical patent/GB2270779A/en
Application granted granted Critical
Publication of GB2270779B publication Critical patent/GB2270779B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method is described for transfer of data and programs from a live computer database system 1 to a back-up computer database system 2 and for maintenance of the back-up computer database system 2 in which the hardware and operating systems of the two system is different Program lines of each program module are converted into a format compatible with the back-up system and are tested on the back-up system. An incremental file (figure 3, not shown) is created in the live system 1 and this is written to in parallel as data is received in the live system 1. The incremental file is transferred to the back-up system 2 at pre-set intervals and integrity checks are carried out in parallel on the live and back-up systems. At a later stage, efficient balancing tests are carried out on both systems to verify that data stored in both systems is the same. <IMAGE>

Description

n Improvements in and relating to back-up database svstems n The invention relates to the generation and maintenance of a back-up database system in which there are many millions of data elements or records, stored in tabular format. Such a back-up system is required for operation on occurrence of a fault in a live system.
In generation of such a back-up system the approach heretofore has been to use two similar database systems which are connected in parallel and to which data is transmitted and recorded in parallel. Accordingly, failure of one database system results in the other system taking over the database operations. Where the back-up system must be in a physically remote location and must be physically independent of the live system, this approach becomes expensive because there are ongoing communication costs between the two systems. Further, because the back-up system is of the same configuration as the live system, it is more expensive than is needed in view of the fact that it may only be required for possibly several hours in every year on average.
British Patent Specification No. 2202656B (IBM) discloses a memory re-mapping process in a microcomputer system. This process would not be suitable in the event of both memory and processor down-time.
The invention is directed towards providing a method for generation and maintenance of a back-up system which is inexpensive to install and to maintain and which provides for very quick operation in the event of a fault in the live system.
According to the invention, there is provided a method for transfer of data and programs from a live computer database system to a back-up computer database system and for maintaining the back-up computer database system in readiness for emergency use, the method comprising the steps of: in turn, converting each line of each program module of the live computer database system to a format which is compatible with the back-up computer database system; transferring the re-formatted program modules to a storage device; transferring the storage device to the back-up computer database system and testing the program module on this system; converting data records in the live computer database system to ASCII format; transferring the converted data records to the backup computer database system and inserting the records in pre-sorted table structures; storing an incremental file in the live computer database system; receiving data inputted to the live computer database system and in parallel updating tables using this data and also writing the data to the incremental file; at periodic intervals, writing the contents of the incremental file to a back-up storage device and transferring this storage device to the back-up computer database system; carrying out brief integrity checks on updated tables in the back-up and live computer database system; carrying out conversion from alpha to numeric format for characters in selected columns and rows of data tables in both the live and back-up computer database systems; and carrying out balancing tests involving statistical analysis of the data tables in both computer database systems and verifying that data stored in both systems is the same.
In one embodiment of the invention, the step of re-formatting data of the live computer database system for transferring to the back-up computer system comprises the sub-steps of: verifying if a syntax conversion only is required and if so re-formatting the program line by changing syntax; if program line structure conversion is required, converting the structure to a format suitable for running on the live computer database system; testing the program line on the live computer database system; after verification of the program line, re formatting the line so that it may run on the back up computer database system.
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 drawings in which: Fig. 1 is a schematic representation of live and back-up database systems of the invention; Fig. 2 is a flow diagram showing generation of stored data and programs for the back-up system, and Fig. 3 is a flow diagram showing a method of maintenance of the back-up system.
Referring to the drawings, and initially to Fig. 1 there is illustrated a live database system 1 and a back-up database system 2. The live system 1 comprises a 2200/401 IBM mainframe computer 2 connected by a terminal server 3 to a plurality of terminals. The mainframe computer 2 is also connected to a bank of fixed disk drives 5 having a capacity 11.4 GB which stores relational databases. Programs run by the mainframe computer 2 control storage of data in the relational databases and also generation of reports and other database system functions.
The back-up database system 2 comprises a multi-processing minicomputer 12 having a UNION operating system. The minicomputer 12 has five 486# microprocessors operating a 33MHz and having 256 Mb of memory. The fixed disk drives 13 have a capacity of 40 Gb. Construction of the minicomputer 12 is modular in that CPU's, internal or external disks, and memory circuits may be added or deleted, as required. The minicomputer 12 is of the type which would normally be used in a network as a network server. Each Intel 486to microprocessor in the minicomputer 12 has 64 K of internal cache and 256 K of external cache. The external cache utilises a write back, rather than a write through protocol.This means that the change is maintained in the cache until it needs to be replaced, preventing bottlenecks which might occur during intensive processing. All of the microprocessors in the minicomputer 12 and the memory circuits use the microprocessor bus for rapid access and control of processing operations.
Referring now to Fig. 2, there is illustrated a method 20 for generation of database programs and for loading of the programs into the back-up database system 2. In the diagram there is also shown a method 40 for the transfer of data from the live system 1 to the back-up system 2. In Fig. 3 there is shown a method for maintenance of the back-up system 2 so that it may be immediately used in the event of a fault in the live system with a minimum amount of disruption for database operations. The live database system 1 may be used for processing of nationwide prize bonds or any other important type of transaction wherein continuity of operation is very important.
The method 20 comprises the initial step of analyzing a line of program code used by the live database system 1. The structure of the line is the instruction or set of instructions incorporated in the line and these may be applicable only to the live database system 1. The syntax of the line is a set of characters used in the line. As a result of the analysis, a decision is made in step 22 as to whether or not conversion of the line is required so that it may be used for the back-up database system 2. If so, it is determined in decision step 23 if a conversion of syntax only is required. If this is the case, in step 24 the line is automatically re-formatted to the correct syntax and the method reverts back to step 21 for the next line of that particular program module. If, however, a structural change to the line is required as determined by the step 23, conversion of the line structure is carried out in step 25.
This conversion step involves conversion to a structure which will run on the live database system 1, although different instructions are used in the program line. In other words, the converted line will achieve the same end result on the live machine, although the operations involved to achieve the end result will be different. In step 26, the converted line is tested on the live system 1 and a decision is made in step 27 as to whether or not the line has been verified. If not, steps 25 and 26 are repeated. If verified, the line is reformatted in step 28 in a similar manner to the re-formatting of step 24. Re-formatting simply involves changing of syntax so that the line may run on the back-up system 2.
It is determined in step 29 if another line of code in the module is to be analysed, and if so steps 21 to 29 are repeated for each successive line of code in the program module. When these steps have been carried out for all lines of the program module, in step 30 the module is written to a back-up tape 6 on the live database system 1. In step 31, the module is run on the back-up system 2 and various tests are carried out to ensure that it runs correctly. Steps 21 to 32 are repeated until the module is verified. When the module has been verified, steps 21 to 32 are repeated for the next program module of the live database system 1.
It will be appreciated that by converting programs of the live database system 1 for use on the back-up system 2 in this manner, the same processing will take place in both systems using the programs, although the computers have different operating systems and processors etc. It has been found that steps 25 and 26 are particularly effective at ensuring conformity between the two systems because the initial conversion involves changing to a structure which will run on the live database system 1 and it is only when this has been verified that re-formatting takes place for the back-up system 2. Steps 24, 25 and 26 also involve recording in one of the fixed disk drives 5 all changes which are made to program lines. These records include the time and date and the nature of the changes made so that it is possible at a later stage to check manually the conversion method.
The method 40 which is also shown in Fig. 2 involves transfer of data from the fixed disk drives 5 to the fixed disk drives 13 of the back-up system 2. Again, these systems have different processors and operating systems and accordingly the data must be stored in a different manner. However, it is essential that the data stored in both systems is the same so that the end result of processing on both systems is the same.
In step 41, the mainframe computer 2 reads a record taken from a table in a database of a fixed disk drive -5 and converts this data record to ASCII format in step 42. As determined by the decision step 43, this is repeated for each record of a database table. When all records of a table have been converted to ASCII format, in step 44 the records are written to the back-up tape 6 which is then physically transferred to the back-up database system 2 where it is used for writing of the records to the fixed disk 13 in step 45. In step 46, the minicomputer 12 generates a table structure using the programs which have been converted in the method 20 and in step 47 it writes the records to the table structure, again using these programs.
It has been found that by initial conversion of the records to ASCII format and by transfer on a record-by-record basis until all records of the table have been converted to ASCII format, the transfer of data takes place efficiently and with no data corruption.
Once the methods 20 and 40 have been performed to achieve a back-up system which may carry out similar database operations to the live system, it is then vital to ensure that the backup system 2 is maintained so that in the event of a fault in the live system 1, the back-up system may be used at very short notice-and with minimum disruption to the transactions.
The maintenance method to achieve this is shown in Fig. 3 and is illustrated by the numeral 50. In step 51 of this method, an incremental file is created in the live system 1. This file will be large enough to hold all data which is to be received during a transfer time period, generally one day. In this embodiment, the file would be of 5.5 MB size. In step 52, data is received on an on-going basis at the terminals connected to the mainframe computer 2 of the live system 1.
The mainframe computer 2 in parallel updates the tables of the databases in the fixed disks 5 and simultaneously writes the data to the incremental file in step 54. Thus, all data which is received is immediately written to the incremental file in the live system 1. By monitoring of a real time clock, a decision is made in step 55 as to whether or not a pre-set transfer time period has elapsed. As stated above, in this embodiment the time period is one day. When this time period has elapsed, in step 56 the incremental file is written to a back-up tape 6 which is then transferred to the back-up system 2 where the data is transferred to the relevant tables in the fixed disk 13 using the back-up system programs. In steps 58 and 59 integrity checks are carried out on both the live system 1 and on the back-up system 2 to ensure that the data in both systems is in conformity.These integrity checks are quite brief and are carried out at each transfer of data. The operations involved in the integrity check would involve, for example, totalising sample rows or columns in data tables and cross-checking. At periodic intervals, both in the live system 1 and in the back-up system 2, rows or columns of data from tables are converted from alpha to numeric format. This conversion takes place for all key columns and rows and for some others as well. In steps 61 and 62, balancing tests are run on the live and the back-up systems respectively. Each balancing test involves generation of statistics about a data table. These statistics will always include the number of rows in the table and may also include other values, for example, the total value of a particular column.Because of the large volume of data involved, a statistic is feasible only if it can be produced using a single balancing test statement. Efficiency of the balancing test is greatly improved by the prior conversion from alpha to numeric format in many of the rows and columns. In step 63, a decision is made as to whether or not the balancing tests are positive and if so the method 50 is repeated on an on-going basis. If the tests are negative, analysis, which sometimes involves manual checking of printouts, takes place in step 64.
It has been found that by maintaining the back-up system 2 in this manner, a minimal amount of processing capacity of the mainframe computer 2 is required and data fault will very rarely occur because of the nature of the checking and test which are carried out. Because data is written to the incremental file and is used for updating of the tables and the live back-up system 1 in parallel, one can be sure at all times that the back-up system 2 may be brought up-to-date very quickly in the event of a fault.
It has been found that the method of the invention for transfer of programs and of data and for maintenance of the back-up system is particularly effective, although the hardware and operating systems of the two database systems are completely different. This avoids the need to use similar hardware and operating systems in both the back-up and live systems and thus, expense is greatly reduced.
The invention is not limited to the embodiments hereinbefore described, but may be varied in construction and detail.

Claims (3)

1. A method for transfer of data and programs from a live computer database system to a back-up computer database system and for maintaining the back-up computer database system in readiness for emergency use, the method comprising the steps of: in turn, converting each line of each program module of the live computer database system to a format which is compatible with the back-up computer database system; transferring the re-formatted program modules to a storage device; transferring the storage device to the back-up computer database system and testing the program module on this system; converting data records in the live computer database system to ASCII format; transferring the converted data records to the back up computer database system and inserting the records in pre-stored table structures; storing an incremental file in the live computer database system; receiving data inputted to the live computer database system and in parallel updating tables using this data and also writing the data to the incremental file; at periodic intervals, writing the contents of the incremental file to a back-up storage device and transferring this storage device to the back-up computer database system; carrying out brief integrity checks on updated tables in the back-up and live computer database systems; carrying out conversion from alpha to numeric format for characters in selected columns and rows of data tables in both the live and back-up computer database systems; and carrying out balancing tests involving statistical analysis of the data tables in both computer database systems and verifying that data stored in both systems is the same.
2. -A method as claimed in Claim 1, wherein the step of re formatting data of the live computer database system for transferring to the back-up computer system comprises the sub-steps of: verifying if a syntax conversion only is required and if so re-formatting the program line by changing syntax; if program line structure conversion is required, converting the structure to a format suitable for running on the live computer database system; testing the program line on the live computer database system; after verification of the program line, re formatting the line so that it may run on the back up computer database system.
3. A method substantially as hereinbefore described with reference to and as illustrated in the accompanying drawings.
GB9219688A 1992-09-17 1992-09-17 Improvements in and relating to back-up database systems Expired - Fee Related GB2270779B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB9219688A GB2270779B (en) 1992-09-17 1992-09-17 Improvements in and relating to back-up database systems
BE9200828A BE1004541A6 (en) 1992-09-17 1992-09-23 Improvements in database backup systems and in relation to them.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9219688A GB2270779B (en) 1992-09-17 1992-09-17 Improvements in and relating to back-up database systems
BE9200828A BE1004541A6 (en) 1992-09-17 1992-09-23 Improvements in database backup systems and in relation to them.

Publications (3)

Publication Number Publication Date
GB9219688D0 GB9219688D0 (en) 1992-10-28
GB2270779A true GB2270779A (en) 1994-03-23
GB2270779B GB2270779B (en) 1996-01-10

Family

ID=25662654

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9219688A Expired - Fee Related GB2270779B (en) 1992-09-17 1992-09-17 Improvements in and relating to back-up database systems

Country Status (2)

Country Link
BE (1) BE1004541A6 (en)
GB (1) GB2270779B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997029440A1 (en) * 1996-02-08 1997-08-14 Telefonaktiebolaget Lm Ericsson (Publ) A method and arrangement for a protocol-based function change in a data base
GB2327781A (en) * 1997-07-26 1999-02-03 Ibm Data replication tracking method for a distributed data processing system
GB2328043A (en) * 1997-07-26 1999-02-10 Ibm Managing a distributed data processing system
WO2003003211A1 (en) * 2001-06-19 2003-01-09 Asensus Copying procedures including verification in data networks
GB2382681A (en) * 2001-11-29 2003-06-04 Inventec Corp Information system
EP1618504A1 (en) * 2004-03-31 2006-01-25 Microsoft Corporation System and method for a consistency check of a database backup
WO2008014614A1 (en) * 2006-08-04 2008-02-07 Novell, Inc. A method for providing live file transfer between machines

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997029440A1 (en) * 1996-02-08 1997-08-14 Telefonaktiebolaget Lm Ericsson (Publ) A method and arrangement for a protocol-based function change in a data base
US6081811A (en) * 1996-02-08 2000-06-27 Telefonaktiebolaget Lm Ericsson Method of database conversion including data verification
GB2327781A (en) * 1997-07-26 1999-02-03 Ibm Data replication tracking method for a distributed data processing system
GB2328043A (en) * 1997-07-26 1999-02-10 Ibm Managing a distributed data processing system
US6253211B1 (en) 1997-07-26 2001-06-26 International Business Machines Corp. Replication tracking method and apparatus for a distributed data processing system
WO2003003211A1 (en) * 2001-06-19 2003-01-09 Asensus Copying procedures including verification in data networks
US7721142B2 (en) 2001-06-19 2010-05-18 Asensus Copying procedures including verification in data networks
GB2382681A (en) * 2001-11-29 2003-06-04 Inventec Corp Information system
EP1618504A1 (en) * 2004-03-31 2006-01-25 Microsoft Corporation System and method for a consistency check of a database backup
EP1618504A4 (en) * 2004-03-31 2008-04-02 Microsoft Corp System and method for a consistency check of a database backup
WO2008014614A1 (en) * 2006-08-04 2008-02-07 Novell, Inc. A method for providing live file transfer between machines

Also Published As

Publication number Publication date
GB9219688D0 (en) 1992-10-28
BE1004541A6 (en) 1992-12-08
GB2270779B (en) 1996-01-10

Similar Documents

Publication Publication Date Title
CA1235524A (en) User interface processor for computer network
US4695946A (en) Maintenance subsystem for computer network including power control and remote diagnostic center
JP2763886B2 (en) Binary tree parallel processing device
US5619644A (en) Software directed microcode state save for distributed storage controller
US6065017A (en) Apparatus and method for identifying and recovering from database errors
EP0608344B1 (en) System for backing-up data for rollback
US6012148A (en) Programmable error detect/mask utilizing bus history stack
US20030037280A1 (en) Computer memory error management system and method
Kim Highly available systems for database applications
US6347335B1 (en) System using a common and local event logs for logging event information generated by plurality of devices for determining problem in storage access operations
JPH0644242B2 (en) How to solve problems in computer systems
JPH0325629A (en) Method and system for detecting error in program
US20070055687A1 (en) System and method for minimizing data outage time and data loss while handling errors detected during recovery
US20070005542A1 (en) Apparatus, system, and method for regulating error reporting
JPH05233463A (en) Method and device for displaying fault of storage device array
GB2270779A (en) Back-up database system
US7283947B2 (en) Method and system for translation management of source language text phrases
CN109992476B (en) Log analysis method, server and storage medium
IE69340B1 (en) Improvements in and relating to back-up database systems
CN112100032B (en) Log output recording method and system for embedded equipment
Bowman et al. 1A processor: Maintenance software
JPH06149485A (en) Data completion guarantee processing method
US7149935B1 (en) Method and system for managing detected corruption in stored data
CN113641572B (en) Debugging method for massive big data computing development based on SQL
Katona et al. Automated chemistry laboratory: Application of a novel time-shared computer system

Legal Events

Date Code Title Description
708B Proceeding under section 8(1) patents act 1977
712C Proceeding under section 12(1) patents act 1977
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20100917