* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download An initial design of BEPCII control system
Survey
Document related concepts
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Tandem Computers wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Functional Database Model wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Relational model wikipedia , lookup
ContactPoint wikipedia , lookup
Database model wikipedia , lookup
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 manmachine 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, mechanical and alignment parameters Equipment information device name, signal name, physical I/O address, 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 numbers. 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 maintaining 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 from 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 JDeveloper 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 industrystandard 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 1.Preliminary database investigating 2.technical preparation Schedule system Results 01/2002~07/2002 Project plan specification The work was done. 08/2002~02/2003 User requirements and software preliminary specification 03/2003~06/2003 writing the graphic documents for user requirement analysis and system preliminary design with UML tools Software detail design specification Source code 1.requirement analysis and system preliminary design 2. preparing for programming and database technique 3. building the software developing environment on SUN Solaris platform 4. knowing very well the APIs of EPICS for real-time database/RDBMS 1. knowing very well UML language 1. system detail design 2. coding System testing and running 07/2003-06/2004 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 ORACLE OCI OBJECT CACHE JAVA VM Client HTTP IIOP APACHE WEB SERVER HTML SQL*PLUS JDBC PL/SQL JAVA Bepc Tables C/C++ ORACLE LISTENER PROC*C NET8 PHP SQL JAVA VM JAVA VM Interface Module Application Server(LINUX) ORACLE 8i Database Server 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 HTMLembedded 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 !