1 / 27

A Preliminary design of BEPCII database system

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).

favalos
Download Presentation

A Preliminary design of BEPCII database system

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Contents • Designing Goals • About Database • Data Stored • System Functions • Hardware Solution Choice • Software Solution Choice • Testbed

  3. 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.

  4. 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

  5. About Database • EPICS database a distributed real-time database resident in VME/IOC memory. It’s usedto storeraw data of devices channel signals. • Oracle database a commercial RDBMS, which is usedto manage all static ,dynamic data and project management information.

  6. 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

  7. 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.

  8. 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

  9. 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.

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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.

  15. 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.

  16. 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

  17. Software Solution Choice(4) Software Engineering Tools • It is crucial to adoptSoftware 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.

  18. 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:

  19. Tasks Schedule Results 1.Preliminary database system investigating 2.technical preparation 01/2002~07/2002 Project plan specification The work was done. 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 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 Softwaredetail design specification Source code System testing and running 07/2004- Project schedule (2)

  20. 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.

  21. Testbed (2) Three LayersSystem Architecture

  22. 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

  23. 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.

  24. Testbed (5) System Function modules • Data acquirement • Real-time data display • History data query • History data graphic handling • User authentication

  25. Testbed (6) Figure 1: the quering results of history data

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

  27. Thanks !

More Related