180 likes | 300 Views
All Oracle Features in Action Mobiltel Mediation Platform. Georgi Hristov Integration & Service Enabling Department. Network Elements. NE 1. NE 2. NE n. ftp. ftp. ftp. Mediation. ASN.1 Parser. Validation. Formatting & Conversion. Aggregation. Correlation. Filtering.
E N D
All Oracle Features in Action Mobiltel Mediation Platform Georgi Hristov Integration& Service Enabling Department
Network Elements ... NE 1 NE 2 NE n ftp ftp ftp Mediation ASN.1 Parser Validation Formatting& Conversion Aggregation Correlation Filtering Create custom CDR Business Systems BS 1 BS 2 BS n ... What is Mediation? • Files transfers • Decodes data that has been encoded by the ASN.1 into the internal standard format. • Validate, formatting and conversion data by mapping rule. • Aggregates partial CDR belonging to the same session by the CDR type. • Correlates different CDRs belonging to the same session. • Filters CDRs and their fields according to the systems that need charging data. • Create flexible and wide CDR for Business System Software
Old Mediation • CDR Files • No Database • Perl scripts • Hard to make statistics • Hard to make new features • Slow flexibility
Mediation Needs • Flexibility • Performance • Real-time processing • Searching • Statistics • Archive • Guiding
Mediation Platform in Numbers • 60M Input CDRs per Day • 120M Output CDRs per Day • More than 5M subscribers • More than 200 interfaces • 45 days History • More than 600GB Table space Call Durations and Call Count
Mediation Platform • Indexing • Partitions • Statistics • Compression • Fast access • REG_EXP • Logic Into Database • Oracle GRID Control Monitoring • Oracle GRID Control Managing • Oracle Clustering MNP Mediation SWAT
CDR Database CDR Repository • Storage • Indexing • Partitions • Compression • Processing 64 Billion records; All CDRs since 1998 15 TB uncompressed 4.3 TB compresses 65% speedup < 1 sec to find a call
Box Services (HomeBox VoiceBox OfficeBox) • Guiding • Processing • Fraud Preventing
SWAT is not Subscribers Wild Attribute Transformations • Real-Time Processing • Subscribers information • Real-Time Guiding • Always in Memory *Oracle Coherence, Oracle TimesTen
Oracle Standard useful features used in Mediation Platform • Lag SELECT last_name, hire_date, salary,LAG(salary, 1, 0) OVER (ORDER BY hire_date) AS PREV_SAL FROM employees • Partition by SELECT manager_id, last_name, salary, MAX(salary) OVER (PARTITION BY manager_id) AS rmax_sal FROM employees • XML object • Nested tables • Partition Management • Interval Partitioning
Example (1) • select imschargingidentifier, accountingrecordtype calltype,eventtimestamp, LAG(eventtimestamp) OVER (Partitionby imschargingidentifier ORDERBY eventtimestamp) b_time ,LAG(call_type) OVER (Partitionby imschargingidentifier ORDERBY eventtimestamp) call_type,max(calledpartyoriginaladdress) OVER (Partitionby imschargingidentifier) calledpartyoriginaladdress,max(subscriptioniddata) OVER (Partitionby imschargingidentifier) subscriptioniddatafrom (select * from ( select i.eventtimestamp,i.imschargingidentifier,i.accountingrecordtype,casewhen (instr(sdpmedianame,'m=video')>0) then 'V' when (instr(sdpmedianame,'m=audio')>0) then 'A' else '_' end call_type, i.causecode,i.calledpartyoriginaladdress,i.originhost,i.serverpartyipaddress, i.callingpartyaddress,i.subscriptioniddata,i.destinationrealm FROM ims_table_records I WHERE FILE_ID = 7AND ((i.accountingrecordtype = 2 and i.roleofnode = 0) or (i.accountingrecordtype in (3,4) and (i.roleofnode =0 or i.roleofnode isnull))) and imschargingidentifier in (select imschargingidentifier from (selectcount(imschargingidentifier),imschargingidentifier from ims_table_records where FILE_ID = 7 groupby imschargingidentifier havingcount(imschargingidentifier) >1 )) )x wherenot (accountingrecordtype =3 and call_type = '_'))
Example (2) • select a.chargingID,a.servedIMSI,a.servedMSISDN, a.AccessPointNameNI ,a.recordOpeningTime start_rectime ,nvl(extractValue(value(s1), '/ContentTypeIDSequence/ContentTypeID'),'102') ContentTypeID ,nvl(extractValue(value(s1), '/ContentTypeIDSequence/UplinkCount'), gx.dataVolumeGPRSUplink) Up ,nvl(extractValue(value(s1), '/ContentTypeIDSequence/DownlinkCount'),gx.dataVolumeGPRSDownlink) Down,file_id,a.localsequencenumber ,min(mn.column_value) over (partitionby a.localsequencenumber) sgsnaddressfromipc_table_ggsn a ,table(XMLSequence( • extract(a.RECORDEXTENSIONS, • '/ExtensionXML/ExtensionSequence/informationSequence/ContainerSequence/ContentTypeIDSequence')))(+) s1 ,table(a.listoftrafficvolumes) gx,table(a.sgsnaddress) mn
What’s New • HP Oracle Exadata Storage Server
Q & A