鄧麗賢孫啟民胡莉麗
(1.北京全路通信信號(hào)研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070;
2.北京市高速鐵路運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)
Oracle分區(qū)技術(shù)在C3無(wú)線(xiàn)接口監(jiān)測(cè)系統(tǒng)中的應(yīng)用
鄧麗賢1,2孫啟民1,2胡莉麗1,2
(1.北京全路通信信號(hào)研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070;
2.北京市高速鐵路運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)
CTCS-3無(wú)線(xiàn)接口監(jiān)測(cè)系統(tǒng)是用于監(jiān)測(cè)CTCS-3列控?zé)o線(xiàn)通信網(wǎng)絡(luò)的大數(shù)據(jù)處理系統(tǒng),采用Oracle分區(qū)技術(shù)可大幅提高數(shù)據(jù)的存儲(chǔ)和讀取效率,同時(shí)可顯著降低數(shù)據(jù)庫(kù)維護(hù)工作的復(fù)雜度。
CTCS-3;GSM-R;接口監(jiān)測(cè)系統(tǒng);數(shù)據(jù)庫(kù)分區(qū)
我國(guó)鐵路的高速客運(yùn)專(zhuān)線(xiàn)主要使用CTCS-3級(jí)(以下簡(jiǎn)稱(chēng)C3)列車(chē)運(yùn)行控制系統(tǒng),該系統(tǒng)基于GSM-R無(wú)線(xiàn)通信網(wǎng)絡(luò)承載。隨著客運(yùn)專(zhuān)線(xiàn)的不斷增加,GSM-R網(wǎng)絡(luò)日益增大, C3無(wú)線(xiàn)接口監(jiān)測(cè)系統(tǒng)(以下簡(jiǎn)稱(chēng)“接口監(jiān)測(cè)系統(tǒng)”)逐漸成為解決列車(chē)運(yùn)行過(guò)程中無(wú)線(xiàn)通信問(wèn)題的重要手段之一。
接口監(jiān)測(cè)系統(tǒng)實(shí)時(shí)采集列車(chē)運(yùn)行過(guò)程中的無(wú)線(xiàn)通信數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行解析、存儲(chǔ)、分析,可及時(shí)發(fā)現(xiàn)列車(chē)運(yùn)行中存在的無(wú)線(xiàn)通信問(wèn)題。接口監(jiān)測(cè)系統(tǒng)有助于C3無(wú)線(xiàn)通信問(wèn)題的快速發(fā)現(xiàn)、及時(shí)定位和盡早解決,能夠保障C3列控系統(tǒng)的安全穩(wěn)定運(yùn)行。列車(chē)運(yùn)行過(guò)程中會(huì)產(chǎn)生大量的網(wǎng)絡(luò)信令和C3業(yè)務(wù)數(shù)據(jù),隨著客專(zhuān)線(xiàn)路和列車(chē)數(shù)量的增加,接口監(jiān)測(cè)系統(tǒng)的整體數(shù)據(jù)量也快速增長(zhǎng),對(duì)數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢(xún)和分析處理的速度都提出很大的挑戰(zhàn),因此,接口監(jiān)測(cè)系統(tǒng)需采用有效的技術(shù)手段來(lái)提高自身的數(shù)據(jù)處理能力。
2.1 系統(tǒng)概述
接口監(jiān)測(cè)系統(tǒng)主要對(duì)C3列控?zé)o線(xiàn)通信網(wǎng)絡(luò)中Igsm-r、Um、Abis、A、PRI等接口進(jìn)行監(jiān)測(cè),具備接口數(shù)據(jù)采集、解析、關(guān)聯(lián)、存儲(chǔ)、查詢(xún)、故障分析及網(wǎng)絡(luò)質(zhì)量分析等基本功能,是GSM-R無(wú)線(xiàn)網(wǎng)絡(luò)維護(hù)人員進(jìn)行C3無(wú)線(xiàn)超時(shí)問(wèn)題分析的主要工具。
2.2 系統(tǒng)結(jié)構(gòu)
接口監(jiān)測(cè)系統(tǒng)包括存儲(chǔ)、系統(tǒng)同步、網(wǎng)關(guān)、網(wǎng)管、綜合分析和各單接口監(jiān)測(cè)子系統(tǒng),其中單接口處理部分又包括Igsm-r接口、Um接口、Abis接口、A接口和PRI接口子系統(tǒng)。系統(tǒng)結(jié)構(gòu)如圖1所示。
存儲(chǔ)子系統(tǒng)軟件采用Oracle 10g數(shù)據(jù)庫(kù)軟件實(shí)現(xiàn),Oracle的控制文件、日志文件和數(shù)據(jù)文件分別存放在不同的磁盤(pán)分區(qū)。為保證接口監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)處理效率,采用Oracle分區(qū)技術(shù)進(jìn)行各接口的數(shù)據(jù)表和索引的設(shè)計(jì)。
3.1 分區(qū)技術(shù)特點(diǎn)
圖1 接口監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)圖
分區(qū)技術(shù)是Oracle數(shù)據(jù)庫(kù)為簡(jiǎn)化對(duì)數(shù)據(jù)庫(kù)大表的管理而推出的一項(xiàng)重要技術(shù)[1],它是Oracle數(shù)據(jù)庫(kù)最重要、最成功的功能之一,可以提高數(shù)以萬(wàn)計(jì)應(yīng)用程序的性能、可管理性和可用性[2]。分區(qū)包括數(shù)據(jù)表及索引的分區(qū),通過(guò)鍵值將數(shù)據(jù)表及索引劃分為可管理的獨(dú)立小塊,可以提高維護(hù)、備份、恢復(fù)數(shù)據(jù)庫(kù)的效率以及讀寫(xiě)數(shù)據(jù)庫(kù)的性能。
Oracle數(shù)據(jù)庫(kù)分區(qū)對(duì)應(yīng)用程序來(lái)說(shuō)是透明的,應(yīng)用程序可以不知道數(shù)據(jù)表已經(jīng)被分區(qū),在數(shù)據(jù)訪(fǎng)問(wèn)過(guò)程中,分區(qū)表的訪(fǎng)問(wèn)和普通表的訪(fǎng)問(wèn)沒(méi)有任何區(qū)別,Oracle的查詢(xún)優(yōu)化器將自動(dòng)處理分區(qū)表[3]。
3.2 分區(qū)技術(shù)應(yīng)用場(chǎng)景
當(dāng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)滿(mǎn)足以下一類(lèi)或幾類(lèi)場(chǎng)景條件時(shí),應(yīng)考慮使用分區(qū)技術(shù)[4],如表1所示。
表1 Oracle數(shù)據(jù)庫(kù)分區(qū)技術(shù)應(yīng)用場(chǎng)景分類(lèi)列表
3.3 表分區(qū)及索引分區(qū)類(lèi)型
1) 表分區(qū)
Oracle 10g提供4種主要的分區(qū)類(lèi)型[5],范圍分區(qū)、散列分區(qū)、列表分區(qū)和組合分區(qū)(也叫“復(fù)合分區(qū)”),如表2所示。
表2 數(shù)據(jù)表分區(qū)類(lèi)型列表
2) 索引分區(qū)
索引分區(qū)的類(lèi)型有2種,本地分區(qū)索引和全局分區(qū)索引[5],如表3所示。
3.4 分區(qū)維護(hù)技術(shù)
Oracle分區(qū)維護(hù)操作主要包括分區(qū)表的建立;表分區(qū)的添加、刪除、拆分、合并、截?cái)?;分區(qū)索引的建立和重建。
表3 索引分區(qū)類(lèi)型列表
在進(jìn)行表分區(qū)的刪除、拆分等維護(hù)操作時(shí),務(wù)必通過(guò)附加update global indexes語(yǔ)句更新全局分區(qū)索引;否則,將導(dǎo)致全局分區(qū)索引失效。
在進(jìn)行表分區(qū)的添加操作時(shí),若當(dāng)前表包含本地分區(qū)索引,則Oracle軟件將自動(dòng)在新加表分區(qū)所在的表空間中添加對(duì)應(yīng)的索引分區(qū)。如需將索引分區(qū)和表分區(qū)存放在不同的表空間以提高讀寫(xiě)性能,可通過(guò)alter...rebuild...語(yǔ)句重建索引分區(qū),將索引分區(qū)重建到獨(dú)立的表空間。
4.1 接口監(jiān)測(cè)系統(tǒng)數(shù)據(jù)特征分析
接口監(jiān)測(cè)系統(tǒng)是一個(gè)典型的大數(shù)據(jù)處理系統(tǒng),系統(tǒng)數(shù)據(jù)具有以下特征。
1) 數(shù)據(jù)量大:系統(tǒng)中部分?jǐn)?shù)據(jù)表單日記錄數(shù)在2 000萬(wàn)條以上,部分?jǐn)?shù)據(jù)表單日數(shù)據(jù)量在15 G左右。接口監(jiān)測(cè)系統(tǒng)技術(shù)條件要求單接口的數(shù)據(jù)存儲(chǔ)期限不小于3個(gè)月[6],故部分?jǐn)?shù)據(jù)表的數(shù)據(jù)量將達(dá)到TB級(jí)別。
2) 存儲(chǔ)時(shí)延小:發(fā)生C3無(wú)線(xiàn)超時(shí)故障后,需要第一時(shí)間對(duì)故障進(jìn)行分析,因此存儲(chǔ)時(shí)延要求較高。
3) 歷史數(shù)據(jù)多:GSM-R網(wǎng)絡(luò)維護(hù)人員一般僅使用最近一周的接口監(jiān)測(cè)數(shù)據(jù),且接口監(jiān)測(cè)系統(tǒng)的軟件僅對(duì)當(dāng)日數(shù)據(jù)進(jìn)行更新操作,因此接口監(jiān)測(cè)系統(tǒng)中絕大部分?jǐn)?shù)據(jù)為使用頻率較低的歷史數(shù)據(jù)。
4) 表結(jié)構(gòu)維護(hù)頻繁:系統(tǒng)配備的存儲(chǔ)空間有限,為了保證新數(shù)據(jù)能夠完整寫(xiě)入數(shù)據(jù)庫(kù),需要對(duì)數(shù)據(jù)表結(jié)構(gòu)及存儲(chǔ)空間進(jìn)行頻繁的周期性維護(hù)。
5) 可用性要求高:接口監(jiān)測(cè)系統(tǒng)是C3無(wú)線(xiàn)超時(shí)分析的主要工具,因此對(duì)系統(tǒng)的可用性提出很高的要求。
對(duì)比接口監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)特征及分區(qū)技術(shù)的應(yīng)用場(chǎng)景,為了保證接口監(jiān)測(cè)系統(tǒng)Oracle數(shù)據(jù)庫(kù)軟件的長(zhǎng)期穩(wěn)定運(yùn)行,Oracle分區(qū)技術(shù)是接口監(jiān)測(cè)系統(tǒng)的必然選擇。
4.2 分區(qū)技術(shù)應(yīng)用方案
在接口監(jiān)測(cè)系統(tǒng)中使用Oracle分區(qū)技術(shù)時(shí),研發(fā)人員首先確定需要分區(qū)的表和選用的分區(qū)類(lèi)型,再對(duì)選定的數(shù)據(jù)表進(jìn)行分區(qū)管理工作。在進(jìn)行數(shù)據(jù)查詢(xún)及統(tǒng)計(jì)分析時(shí),要利用Oracle分區(qū)表和分區(qū)索引分而治之的特性,提高數(shù)據(jù)統(tǒng)計(jì)分析的速度。具體應(yīng)用方案如下。
1) 明確分區(qū)范圍
接口監(jiān)測(cè)系統(tǒng)中單接口的信令、業(yè)務(wù)數(shù)據(jù)及呼叫信息、綜合分析子系統(tǒng)的故障分析結(jié)果和無(wú)線(xiàn)質(zhì)量統(tǒng)計(jì)結(jié)果、網(wǎng)管子系統(tǒng)的告警數(shù)據(jù)和性能數(shù)據(jù)等數(shù)據(jù)表的單表數(shù)據(jù)量都很大,這些表中的數(shù)據(jù)需要保存較長(zhǎng)的期限,故表中都有大量的歷史數(shù)據(jù),所以需要對(duì)相關(guān)的數(shù)據(jù)表進(jìn)行分區(qū)。
2) 選定分區(qū)類(lèi)型
鐵路各業(yè)務(wù)系統(tǒng)在日常維護(hù)管理中,需向上級(jí)提供日?qǐng)?bào)、周報(bào)或者月報(bào)用于進(jìn)行問(wèn)題分析或故障統(tǒng)計(jì)工作,接口監(jiān)測(cè)系統(tǒng)也需要生成故障分析日?qǐng)?bào)和故障統(tǒng)計(jì)月報(bào)。
接口監(jiān)測(cè)系統(tǒng)的故障分析工作以日為單位進(jìn)行,對(duì)數(shù)據(jù)進(jìn)行查詢(xún)和分析操作時(shí)也都指定明確的時(shí)間范圍,因此,對(duì)選定的需要分區(qū)的單接口的信令、業(yè)務(wù)數(shù)據(jù)和呼叫信息等數(shù)據(jù)表采用按日范圍分區(qū)的方式進(jìn)行分區(qū),對(duì)故障分析結(jié)果、無(wú)線(xiàn)質(zhì)量統(tǒng)計(jì)結(jié)果等數(shù)據(jù)表采用按月范圍分區(qū)的方式進(jìn)行分區(qū)。同時(shí),為了提高查詢(xún)分析的速度,還選用了本地分區(qū)索引。
3) 分區(qū)管理
明確分區(qū)表范圍且選定分區(qū)類(lèi)型后,需要?jiǎng)?chuàng)建分區(qū)表,并根據(jù)需要對(duì)分區(qū)表進(jìn)行周期性維護(hù)。接口監(jiān)測(cè)系統(tǒng)數(shù)據(jù)庫(kù)分區(qū)管理流程如圖2所示。
4) 分區(qū)使用規(guī)則
在進(jìn)行數(shù)據(jù)查詢(xún)和統(tǒng)計(jì)分析操作時(shí),應(yīng)明確指明時(shí)間范圍,確保數(shù)據(jù)能夠命中所在的分區(qū)。另外,通過(guò)使用Oracle提示(Hint)強(qiáng)制修改默認(rèn)執(zhí)行計(jì)劃,提高分區(qū)索引的利用率,從而進(jìn)一步提高數(shù)據(jù)查詢(xún)語(yǔ)句的執(zhí)行速度。
4.3 表分區(qū)及索引分區(qū)的維護(hù)策略
圖2 接口監(jiān)測(cè)系統(tǒng)分區(qū)管理流程圖
接口監(jiān)測(cè)系統(tǒng)網(wǎng)管服務(wù)器軟件負(fù)責(zé)Oracle數(shù)據(jù)庫(kù)表分區(qū)及索引分區(qū)的自動(dòng)維護(hù)。為了不影響在列車(chē)運(yùn)行繁忙階段大量接口監(jiān)測(cè)數(shù)據(jù)入庫(kù)和數(shù)據(jù)讀取的速度,網(wǎng)管服務(wù)器軟件在每天夜里的非繁忙時(shí)期進(jìn)行分區(qū)的添加及刪除處理。
Oracle分區(qū)技術(shù)的使用,可大幅提高接口監(jiān)測(cè)系統(tǒng)數(shù)據(jù)的存儲(chǔ)和讀取效率,同時(shí)顯著降低數(shù)據(jù)庫(kù)維護(hù)工作的復(fù)雜度。今后,各路局需要監(jiān)測(cè)的C3線(xiàn)路將持續(xù)增加,接口監(jiān)測(cè)系統(tǒng)需要處理的數(shù)據(jù)量也會(huì)不斷擴(kuò)大,Oracle分區(qū)技術(shù)的使用方案也將根據(jù)實(shí)際情況進(jìn)行不斷的優(yōu)化調(diào)整。
[1]申紅雪,劉育熙.Oracle10g表分區(qū)技術(shù)管理[J].科技信息, 2008(20):44-98.
[2]孫奕鵬.Oracle分區(qū)技術(shù)[J].福建電腦,2009(6):70-84.
[3]楊志彬.Oracle表分區(qū)管理[J].福建電腦,2007(8):119-169.
[4]王時(shí)繪,李正君.Oracle分區(qū)技術(shù)研究及實(shí)現(xiàn)[J].科技廣場(chǎng),2011(9):86-89.
[5] Edward Whalen.基于Linux平臺(tái)的Oracle Database 10g管理[M].陳曙暉,譯.北京:清華大學(xué)出版社,2007.
[6]中華人民共和國(guó)鐵路運(yùn)輸局.運(yùn)基通信[2010]637號(hào)GSM-R數(shù)字移動(dòng)通信網(wǎng)Abis、A、PRI接口監(jiān)測(cè)系統(tǒng)技術(shù)條件(V1.0)[S].
The CTCS-3 radio interface monitoring system is a large data processing system used to monitor the radio communication network of CTCS-3 train control system. Using the Oracle partition technology can greatly improve the data storage and reading effi ciency, and signifi cantly reduce the complexity of database maintenance work.
Chinese Train Control System Level 3; Global System for Mobile communications-Railway; interface monitoring system; database partition
10.3969/j.issn.1673-4440.2016.06.003
2015-12-10)