+ All Categories
Home > Documents > A Preliminary design of BEPCII database system Database Group Computing Center of IHEP Aug/20/2002.

A Preliminary design of BEPCII database system Database Group Computing Center of IHEP Aug/20/2002.

Date post: 01-Jan-2016
Category:
Upload: edmund-webb
View: 235 times
Download: 1 times
Share this document with a friend
27
A Preliminary design of BEPCII database system Database Group Computing Center of IHEP Aug/20/2002
Transcript

A Preliminary design of BEPCII database system

Database Group

Computing Center of IHEP Aug/20/2002

Contents

Designing Goals About Database Data Stored System Functions Hardware Solution Choice Software Solution Choice Testbed

Designing Goals(1)

Database system plays an important role in the control system of BEPCII accelerator.

The real-time data, history data and other relevant information of the control system will be stored in the database.

Through network and the friendly man-machine interface

users can share the data and information of the control system.

Designing Goals(2)

keep a good knowledge of the running status of BEPCII.

process various kinds of data and information and do online and offline analysis

About Database

EPICS database a distributed real-time database

resident in VME/IOC memory. It’s used to store raw data of devices channel signals.

Oracle database

a commercial RDBMS, which is used to manage all static ,dynamic data and project management information.

Data Stored (1)

Static parameters machine parameters parameters of lattice, twiss and magnet, me

chanical and alignment parameters Equipment information device name, signal name, physical I/O addres

s, scientific unit, calibration factors and alarm conditions.

Configuration parameters

Data Stored (2)

Dynamic parameters Device data device status, readings and settings Alarm data records of device alarm Beam parameters BPM data, closed orbit parameters, DCCT. beam current and so on.All the real-time data are recorded with time stamp.They are stored in binary and floating point numbe

rs.

Data Stored (3)

Management information Project management information the documents of accelerator design, budget,

CPM plan, etc Technical files the documents for the accelerator commissioning, HELP manuals, device mainta

ining files and other technical files. Personal information

System Functions (1)

Robustness running on 24x7 heavy-duty system fault-tolerance procedure Concurrency Data consistency in the case of multiple

queries (Select/Update/Insert) Friendly User Interface Graphical user interface Client/Server and WWW as two manners to

access the BEPCII database.

System Functions (2) Graphic display some parameters in the database can

be plotted with 2D or 3D graphic tools Database access control only authorized users can add, delete or

modify records in the various tables, or change the configuration parameters.

API (Application Programming Interface) Allow access of a user application to

oracle database by providing API tools

System Functions (3)

Quering records can be searched in specific condition and

displayed in both form of tables and graphics Loading datum can be imported into Oracle database fro

m an ASCII file or a MS Excel file. Exporting datum can be exported into MS Excel allowing datum transported from the database to

a remote site in special form. Display alarm records in a table

Hardware Solution Choice (1)

According to performance/cost ratio, choose Sun server as mainstream platform. Database Server Type : Sun Fire V880 Server CPU : 2 x 900MHz UltraSPARCIII processor Memory : 4GByte I/O: FC-AL disk controller Disk : 6 x 73GByte 10KRPM internal FC-AL Disk Driver Network : Gigabit Ethernet and 10/100-BaseT Ethernet Internal tape: Optional 12 GB DDS-3 or 20 GB DDS-4 single drive(s) Power : 3 ( N+1 random ) Power Supplies and fans

Hardware Solution Choice (2)

 

Application Server and WEB Server Type : Sun Fire280R Server CPU : 1 x 900MHz UltraSPARC III CPU , 8MByte UltraCache per Processor Memory : 1GByte Memory Disk : 2x36.4GB 10K RPM Internal FC-AL Disk Driver Network : 10/100-BaseT Ethernet Power : Two Power Supplies

Software Solution Choice(1)

Database Management System Oracle 9i is the preferred platform for the

reasons as follows: Oracle database is widely used in control system of

HEP institutes throughout the world , such as KEK, BESSY, SLAC and so on. It will make our collaboration with these lab more easier.

Oracle 9i is the first ORDBMS (Object Relational Database Management System) providing a nearly complete set of object-oriented features, which makes ORDBMS become a interesting candidate for HEP data storage.

The database application of BESIII and ARGO experiment should be taken into consideration.

Software Solution Choice(2)

Development tools choice There are many software development tools in

IT market, which in general are classified into IDE (Integrated Development Environment) tools and command-line-based tools.

IDE tools have high efficiency in the development of software, but may need more system resource.

Considering persistency environment, selecting a suitable development tool is a key in our system building.

Software Solution Choice(3)

IDE Tools: Oracle 9i Designer, Oracle 9i JDeveloper

Non IDE Tools: C/C++, Java, Perl, PHP We intend to use IDE tools such as Oracle 9i Designer or Oracle 9i JDevelo

per

Software Solution Choice(4)

Software Engineering Tools It is crucial to adopt Software Engineering

Methodology to develop a large software project . UML ( Unified Modeling Language ) is the

industry-standard language . It simplifies the complex process of software design, making a "blueprint" for construction. It can be applied to the various phases of software life cycle.

UML will be used as tools to develop database system for control system in whole software life cycle.

Project Schedule(1)

The database management system developing in our schedule should keep up with BEPCII project.

We will obey the Software Engineering Methodology based on software life cycle reference model to develop this software.

Details for phase and schedule go as follows:

Project schedule (2) 

Tasks Schedule Results

1.Preliminary database system investigating 2.technical preparation

01/2002~07/2002 Project plan specificationThe work was done.

1.requirement analysis and system preliminary design2. preparing for programming and database technique3. building the software developing environment on SUN Solaris platform 4. knowing very well the APIs of EPICS for real-time database/RDBMS

08/2002~02/2003 User requirements and software preliminary specification

1.   knowing very well UML language 

03/2003~06/2003 writing the graphic documents for user

requirement analysis and system preliminary design

with UML tools 1. system detail design 2. coding 

07/2003-06/2004 Software detail design specification Source code

System testing and running 07/2004-  

Testbed (1) Last year we built an Oracle database testbed

environment on Linux for the SAN(Storage Area Network) project.

We have gained some knowledge of data processing .

A small database system of real-time data of beam diagnostic system have been completed using PHP language and Oracle development tools.

Testbed (2)

Three Layers System Architecture

HTTP

IIOP

NET8

HTML

OBJECTCACHE

JAVA VM

Cl i ent Interface Modul e

PL/SQLORACLEOCI

JDBC

AP

AC

HE

WE

BS

ER

VE

R

Appl i cati on Server(LI NUX)

JAVA

C/C++SQL*PLUS PROC*C

PHP

JAVA VM

BepcTables

JAVA VM

ORACLE 8i

ORACLELISTENER

Database Server

SQL

Testbed (3)

Database Server ORACLE 8i R2 Enterprise Edition for Linux

Client Any computer that supports HTTP protocol

browser

Application Server Web Server: Apache Web Server Development tools : PRO*C , Oracle OCI (Oracle Call Interface) ,

PL/SQL , PHP ,Java

Testbed (4)

PROC*C/C++: An Oracle Precompiler is a programming tool that enables SQL statements embedded in context of c/c++ coding.

Oracle OCI : providing the head files and function libraries as a set of oracle API for C/C++ calling.

PL/SQL: Oracle provides a Procedural Language. It supports SQL and Oracle object-oriented programming, allowing one to create software components that are modular, maintainable, and reusable.

PHP: the abbreviation " Hypertext Preprocessor“. It is an HTML-embedded scripting language. which looks similar to C, Java and Perl in syntax . It runs on server end. The language is aiming to allow web developers to write dynamically generated pages quickly.

Java: Which is a complete object-oriented program language. It has a powerful ability of platform migrating.

Testbed (5)

System Function modules Data acquirement Real-time data display History data query History data graphic handling User authentication

Testbed (6)

Figure 1: the quering results of history data

Testbed (7)Figure 2: the running status of BEPC

Thanks !


Recommended