Processing

1. Introduction

Processing is the act of doing something (e.g. organising and manipulating) with data to produce output. Processing is at the centre of our model of an information system :

There are three distinct methods of processing data : batch, transaction and real-time processing. In a computerised information system most of the processing is carried out by a hardware device known as a microprocessor.

2. The Microprocessor

The microprocessor is the hardware device that processes data. The microprocessor contains electronic circuitry which can :

Most personal computers (known as microcomputers) contain just one microprocessor. Minicomputers and mainframe computers may contain many microprocessors. All of the microprocessors that are contained in one computer are known as the computer's Central Processing Unit or C.P.U. A computer that contains more than one microprocessor is able to carry out more than one task at the same time and is described as being capable of parallel processing.

3. Batch Processing

Using batch processing input data is grouped together into batches . No data is processed until a complete batch has been collected. Then all of the data in a batch is processed in one go. There may be a long time delay between data being input into the system and the data being processed.

In this type of system the important data that the computer stores all of the time is kept in a file called the master file. The data in the master file is sorted into order using one of the fields in the records in the file, known as the primary key field. The primary key field must uniquely identify each record in the file.

Each piece of input data (which will update the contents of the master file) is known as a transaction. All the input data is put together into a batch in a file called the transaction file. There are three different types of transaction that any processing system will have to cope with. They are :

At some predetermined time (e.g. the end of the day or week) the computer system will process the data stored in the transaction file and make any changes that are necessary to the master file as a result of the transactions. This will produce an updated master file and an error report detailing any transactions that could not be processed for some reason. Generating a single updated master file from the old master file and the transaction file is known as merging files.

Before this processing can take place the transactions must be prepared for processing. To do this two operations must be carried out :

  1. Validating : Each transaction that is entered is validated to check that it is unlikely to halt processing by causing an error. It is very important that processing is not halted in a batch processing system because processing often takes place overnight without a human operator being present. If an invalid transaction caused the processing to stop then a whole night's processing time could be lost. Transactions are usually validated as they are keyed in by the operator. Any errors that are found can be reported and corrected straight away.

  2. Sorting : The data in the transaction file is sorted into order using the same primary key field as the master file. Sorting can not take place until the whole batch of transactions entered and stored in a file. The transaction and master files need to be put into the same order before processing occurs because the two files are processed sequentially. The files are usually stored on a serial access medium such as magnetic tapes. If the records on the tapes were not sorted into order then whenever a transaction record was read from the transaction file the computer system would have to waste a lot of time searching for the matching record in the master file.

How often batches of data are processed will depend upon the application (i.e. the job that is being done). Batch processing is usually only carried out on mainframe computers and when very large volumes of data have to be processed in a database.

Advantages of Batch Processing Disadvantages of Batch Processing
For large systems the hardware required to implement a batch processing system can often be cheaper than that required to implement a transaction or real-time system to do the same job. The master file is not always kept up to date. This makes batch processing unsuitable for some applications. e.g. booking seats on an aeroplane where the data must be kept constantly up to date.
Batch processing can be carried out automatically at a time when the computer system would not normally be used, e.g. overnight. By doing this a company can get more work out of the computer hardware it owns. There is always a delay before work is processed and output is obtained

This system flowchart shows what happens in a batch processing system :

Batch Processing Algorithm

During the processing phase (represented in the bottom half of the flowchart above) all of the records are copied from the master file to the new master file. Any changes that must be made to the master file are detailed in the transaction file and carried out when the records are copied to the new master file. The processing that takes place for each transaction in the transaction file will depend upon the type of transaction :

Transaction Type Processing
Add new record Use details in transaction file record to insert a new record into the new master file at the correct position in the file.
Delete recordDo not copy the record that is to be deleted from the master file to the new master file.
Update recordUse details in transaction file record to update the record read from the master file then write the new record to the new master file.

There is nothing to stop a batch processing system being implemented using disks for storage rather than magnetic tapes. Tapes are usually used because they are cheaper to purchase, can store more data and can read and write data faster than disks.

4. Payroll System

Payroll systems are often implemented using batch processing :

Here is an example record for an employee called Anna Jones in a master file together with an entry in the transaction file which will update her record with the number of hours she has worked this week.

After the transaction file was processed, Anna's record in the master file would show that her pay so far this year was £5762.50. This would include the £187.50 (25 hours at £7.50) she had just earned.

The transaction file would be processed at the end of each week as workers are paid weekly. Before processing it would have to be sorted into the same order as the master file, i.e. the records would be sorted into order by employee number.

The computer would then process the transactions, using the information about how many hours each employee has worked this week (from the transaction file) and their rates of pay (from the master file) to calculate the employee's wages for the week. Payslips can then be printed and the master file can be updated to increase the amount paid so far this year by the wages paid this week. An error report will also be produced.

This system flowchart shows the operation of the payroll system :

5. Transaction Processing

For some applications the master file needs to be kept up to date all of the time. For example in a travel agents whenever a seat is booked on a flight the number of seats that remain available on the flight must be reduced by one immediately. If this update was not done until the end of a day (as might happen in a batch processing system) then the flight could become overbooked with the same seat being booked more than once.

Transaction processing systems are used whenever the master file must be kept up to date. A transaction processing system operates like this :

Under normal circumstances a well designed transaction processing systems will process a transaction within a few seconds of the transaction being inputted. During peak processing times (e.g. Saturday morning in a travel company) the time that it takes for a transaction to be processed will increase. For most systems this is acceptable. When it is not acceptable, a real time processing system must be used instead.

Transaction processing systems need to use direct access files. In a direct access file any record in the file can be updated directly, without having to read through all of the records that come before it in the file. Serial access media such as magnetic tape can not be used. The time required to find the record in the master file that a transaction related to would make processing incredibly slow.

Transaction processing is interactive, i.e. processing takes place as a "conversation" between the user and the computer : The computer responds to the user’s input by outputting some data before the user can input any more data. This means that the user's input can depend on the computer's previous output.

Transaction Processing is also known as Interactive, On-Line or Pseudo Real Time Processing.

6. Point of Sale Stock Control System

A supermarket uses a Point of Sale (POS) terminal to keep track of the goods that it has in stock and to produce bills for customers. Whenever an item is sold the product code of the item is read into a till by a barcode scanner. Sometimes the barcode is not scanned properly. If this happens the product code must be rescanned or entered using a keyboard.

Once the product code has been entered the till looks up the price and name of the product in the supermarket's stock database. This information is printed on the customer's receipt. It also updates the product's record in the stock file to indicate that the product has been sold.

This system can be depicted by this system flowchart :

The system has to be a transaction processing system because a customer at a till would not be prepared to wait for a batch processing system to look up the price and name of the product. It is not worth spending a lot more money to purchase a real time system to carry out this task because small delays at peak times can be tolerated.

7. Real Time Processing

For some tasks a computer must process information to meet some real world time deadline. The time deadline must be met regardless of how much work the computer has to do. Usually real time computer systems are required to process information very quickly. Most real time systems appear to process data instantly.

A computer system which must process data extremely quickly to meet a real world deadline is known as a real time system.

For example, consider a control system that is used to fly a guided missile to hit a target. Once the missile is launched the control system must guide it to its target. The missile's guidance system identifies its position by examining the contours / features of the ground it is flying over. This input data is used to ensure that the missile follows the path it has been programmed with. Using the inputs the system will decide how to move ailerons/fins to change direction and control the speed of the rocket motor.

Because a missile flies very fast the inputs must be processed very quickly to affect the outputs. If it took two seconds for the missile to change its direction to avoid an unexpected object then the missile would probably hit the object before the change of direction could take place. The data must be processed in thousandths of a second to avoid a disaster. There is a real world time limit on how long the computer system can take to process data without having terrible consequences. Therefore a missile control system has to be a real time system.

Most real time systems are control systems. Other examples include the cooling system in a nuclear reactor which prevents the reactor overheating or any system which must control a dangerous chemical reaction.

Real time systems are very fast but they do not process data instantly. Any processing will take some time. However real time systems will process data very quickly. To ensure that any input data can be processed sufficiently quickly real time systems must incorporate a lot of redundancy. This means having much more hardware than is required to process the expected amount of input data. The extra hardware is known as redundant hardware because it is not normally used. Under normal circumstances only a small fraction of the hardware is required. In extreme circumstances when there is an unusually large amount of input data to process the redundant hardware can be used. Therefore the system will not slow down and will still be capable of meeting deadlines.

Redundant hardware can also be used as backup hardware to reduce the likelihood of a computer system failing if some of its hardware fails.

Having to incorporate lots of redundant hardware makes real time systems very expensive. They are usually only used in safety critical situations.

Advantage of Real-time Systems Disadvantage of Real-time Systems
If real-time systems were not available then certain tasks e.g. missile guidance would be impossible. Real-time systems are very expensive to produce and require lots of development time and backup hardware (redundancy).

GCSE ICT Companion 04 - (C) P Meakin 2004