27.03.2014 Views

Moby Dick Consolidated System Integration Plan

Moby Dick Consolidated System Integration Plan

Moby Dick Consolidated System Integration Plan

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

D0103v1.doc Version 1 6.7.2003<br />

After marking, the data is left in the accounting database. The problem here is , that after a certain amount<br />

of time the database will be very huge, and the processing time of each database query (or modification)<br />

will get very slow.<br />

After marking, the used data is moved to another database. With this approach, the processing time will<br />

remain more or less constant.<br />

The CC supports the latter proposal: After being used for charging purposes, the accounting data will be<br />

moved to an accounting data warehouse, cf. section 4.5.4.9.<br />

4.5.4.4 Overview of Databases<br />

Figure 86 shows the overview of all Databases in use. All Databases are based on MySQL.<br />

accountingrecords<br />

accountingrecords<br />

AccID, primary key<br />

ID , primary key<br />

Accounting<br />

flows<br />

AccDataWarehouse<br />

flows<br />

FTID, primary key<br />

AccID, foreign key<br />

ID , primary key<br />

AccID, foreign key<br />

chargingrecords<br />

CharginID, primary key<br />

Charging<br />

chargingrecordsdetails<br />

ID, primary key<br />

ChargingID, foreign key<br />

Customer<br />

userprofiles<br />

Figure 86: Overview of Databases<br />

4.5.4.5 Representation of Accounting Data in the MySQL database<br />

The accounting component will write its (accounting-) data in a MySQL database. The charging<br />

component will then pull the data periodically. Table 26 gives an overview of the DIAMETER<br />

parameters and their correspondent MySQL column names. Table 27 describes the main accounting table,<br />

containing the basic accounting information. In the <strong>Moby</strong> <strong>Dick</strong> project, there could be more then one flow<br />

per direction. Therefore the detailed information on flows is written into a second (MySQL) table, see<br />

Table 28.<br />

DIAMETER-<br />

Parameter<br />

Name<br />

DIAMETER<br />

Data Type<br />

MySQL<br />

Column Name<br />

MySQL<br />

Data Type<br />

- - AccID INT UNSIGNED, auto_increment<br />

User-Name UTF8String UserID VARCHAR (255)<br />

(Max. 2^8 – 1 Characters)<br />

Session-ID UTF8String SessionID VARCHAR (255)<br />

(Max. 2^8 – 1 Characters)<br />

Accounting-<br />

Session-Time<br />

Unsigned32 SessionTime INT UNSIGNED<br />

(32 Bit Unsigned)<br />

Event-<br />

Time EventTime DATETIME<br />

Timestamp<br />

Accounting-<br />

Record-Type<br />

Enumerated AcctType ENUM(“start”, ”interim”, “stop”,<br />

“event”)<br />

– – DataUsed TINYINT UNSIGNED<br />

D0103v1.doc 125 / 168

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!