王月梅
(呼和浩特鐵路局 信息技術(shù)所,呼和浩特 010057)
Oracle與Sql Server數(shù)據(jù)庫(kù)數(shù)據(jù)交換中間件的設(shè)計(jì)與應(yīng)用
王月梅
(呼和浩特鐵路局 信息技術(shù)所,呼和浩特 010057)
利用Delphi編程軟件開(kāi)發(fā)設(shè)計(jì)中間件觸發(fā)轉(zhuǎn)錄應(yīng)用程序,通過(guò)應(yīng)用程序建立Oracle與Sql Server數(shù)據(jù)表的連接,設(shè)計(jì)臨時(shí)數(shù)據(jù)表存儲(chǔ)頁(yè)面,根據(jù)應(yīng)用程序觸發(fā)時(shí)鐘的設(shè)定和Oracle數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)聽(tīng)功能,實(shí)現(xiàn)兩套硬件設(shè)備、兩種應(yīng)用系統(tǒng)、兩類數(shù)據(jù)庫(kù)之間的數(shù)據(jù)共享與轉(zhuǎn)錄。
ITSM;聯(lián)動(dòng)平臺(tái);過(guò)濾器;觸發(fā)器
呼和浩特鐵路局(簡(jiǎn)稱:呼和局)利用信息服務(wù)系統(tǒng)(ITSM)對(duì)信息機(jī)房中聯(lián)網(wǎng)的硬件設(shè)備、系統(tǒng)軟件、應(yīng)用軟件、網(wǎng)絡(luò)系統(tǒng)和場(chǎng)地動(dòng)力進(jìn)行實(shí)時(shí)報(bào)警監(jiān)控,傳統(tǒng)故障報(bào)警信息的處理方式是通過(guò)手工復(fù)制轉(zhuǎn)錄到“網(wǎng)絡(luò)與信息系統(tǒng)運(yùn)維管理聯(lián)動(dòng)平臺(tái)”(簡(jiǎn)稱:運(yùn)維聯(lián)動(dòng)平臺(tái))中,再以電話的方式通知運(yùn)維人員處理。這種工作效率底、非閉環(huán)式的作業(yè)方式已無(wú)法滿足大數(shù)據(jù)業(yè)務(wù)處理的需求。中間件的設(shè)計(jì)實(shí)現(xiàn)了ITSM(基于Oracle數(shù)據(jù)庫(kù))與聯(lián)動(dòng)平臺(tái)(基于Sql Server數(shù)據(jù)庫(kù))之間故障報(bào)警信息的自動(dòng)轉(zhuǎn)錄,實(shí)現(xiàn)了兩套硬件設(shè)備、兩種應(yīng)用系統(tǒng)、兩類數(shù)據(jù)庫(kù)之間的數(shù)據(jù)共享,實(shí)現(xiàn)了信息系統(tǒng)故障的閉環(huán)處理,減輕了運(yùn)行調(diào)度值班人員的工作量,簡(jiǎn)化了工作流程,壓縮了故障處理時(shí)間。
2013年,呼和局信息技術(shù)所針對(duì)日常運(yùn)維管理設(shè)計(jì)研發(fā)了“網(wǎng)絡(luò)與信息系統(tǒng)運(yùn)維管理聯(lián)動(dòng)平臺(tái)”(簡(jiǎn)稱:運(yùn)維聯(lián)運(yùn)平臺(tái)),實(shí)現(xiàn)了故障處理有時(shí)間、有記錄、有結(jié)果、有反饋的閉環(huán)式管理,并同步形成運(yùn)維知識(shí)庫(kù)。平臺(tái)中故障登記處理分為兩種:電話接報(bào)登記和ITSM報(bào)警信息登記。
ITSM的關(guān)鍵作用是對(duì)信息機(jī)房中場(chǎng)地環(huán)境、計(jì)算機(jī)網(wǎng)絡(luò)、服務(wù)器、數(shù)據(jù)庫(kù)、中間件等的實(shí)時(shí)監(jiān)控與報(bào)警提示,系統(tǒng)采用B/S方式面向機(jī)房值班人員提供實(shí)時(shí)監(jiān)控與報(bào)警服務(wù)。運(yùn)維聯(lián)運(yùn)平臺(tái)利用ITSM這一自動(dòng)報(bào)警功能,將報(bào)警信息實(shí)時(shí)批量轉(zhuǎn)入到運(yùn)維聯(lián)動(dòng)平臺(tái)中進(jìn)行統(tǒng)一閉環(huán)處理。實(shí)現(xiàn)實(shí)時(shí)批量轉(zhuǎn)入的中間件是利用Oracle存儲(chǔ)過(guò)程及Delphi數(shù)據(jù)表連接觸發(fā)完成,操作人員通過(guò)ITSM的二次Web開(kāi)發(fā)頁(yè)面點(diǎn)選觸發(fā)按鈕便可輕松完成故障記錄的批量轉(zhuǎn)錄與流轉(zhuǎn)處理。中間件的應(yīng)用不但減輕了運(yùn)行調(diào)度值班人員的工作量、簡(jiǎn)化了工作流程,而且把ITSM與運(yùn)維聯(lián)動(dòng)平臺(tái)有效地結(jié)合,使信息系統(tǒng)故障的發(fā)生與處理得到了全過(guò)程自動(dòng)化監(jiān)管,大大壓縮了故障處理時(shí)間,提高了故障處理整體效率,進(jìn)一步保障了鐵路運(yùn)輸安全。
目前,鐵路企業(yè)普遍應(yīng)用的中間件軟件產(chǎn)品有:基于Oracle的Weblogic,基于IBM的Websphare和Tomcat。這些中間件軟件產(chǎn)品雖然各有其優(yōu)勢(shì),但購(gòu)買的成本較高,部署需要占用的計(jì)算機(jī)資源較大,對(duì)于簡(jiǎn)單的數(shù)據(jù)交換突顯浪費(fèi)。正是基于以上原因,研發(fā)簡(jiǎn)單、實(shí)用、經(jīng)濟(jì)、適合本企業(yè)本業(yè)務(wù)使用的中間件具有以下優(yōu)點(diǎn):(1)節(jié)約投入成本;(2)節(jié)約系統(tǒng)空間資源占用;(3)提高維護(hù)效率;(4)便于移植使用。
(1)按照“早發(fā)現(xiàn)、早報(bào)告、早處置”的原則,對(duì)網(wǎng)絡(luò)與信息系統(tǒng)安全事件進(jìn)行監(jiān)測(cè)、預(yù)測(cè)和預(yù)警,通過(guò)ITSM對(duì)安全事件信息進(jìn)行收集、分析、判斷、持續(xù)監(jiān)測(cè)和持續(xù)跟蹤處理,實(shí)時(shí)掌握網(wǎng)絡(luò)與信息系統(tǒng)運(yùn)行狀況。
(2)網(wǎng)絡(luò)與信息系統(tǒng)安全事件的篩選、過(guò)濾、觸發(fā)與轉(zhuǎn)錄。將ITSM中監(jiān)測(cè)到的安全事件報(bào)警信息通過(guò)編制的過(guò)濾頁(yè)面全部列表顯示,并植入篩選控件執(zhí)行單選或多選操作;植入觸發(fā)控件,將選定的安全事件傳送至Oracle觸發(fā)存儲(chǔ)事件中;Oracle觸發(fā)存儲(chǔ)事件實(shí)時(shí)監(jiān)聽(tīng)并將安全事件信息轉(zhuǎn)存到Delphi編制的觸發(fā)應(yīng)用程序臨時(shí)表空間,通過(guò)觸發(fā)應(yīng)用程序建立的Oracle與Sql Server數(shù)據(jù)表的連接功能設(shè)計(jì),設(shè)定觸發(fā)時(shí)鐘將臨時(shí)表空間中的數(shù)據(jù)轉(zhuǎn)錄至Sql Server數(shù)據(jù)庫(kù)中,最終實(shí)現(xiàn)兩套硬件設(shè)備、兩種應(yīng)用系統(tǒng)、兩類數(shù)據(jù)庫(kù)之間的數(shù)據(jù)共享與轉(zhuǎn)錄。
(3)安全事件處理、銷號(hào),轉(zhuǎn)錄至Sql Server數(shù)據(jù)庫(kù)中的安全事件信息變?yōu)榇幚淼墓收蠄?bào)警信息,實(shí)時(shí)顯示到運(yùn)維聯(lián)動(dòng)平臺(tái)的“故障監(jiān)控”頁(yè)面列表中,運(yùn)行調(diào)度值班人員通過(guò)平臺(tái)將故障報(bào)警信息推送至相應(yīng)運(yùn)維人員進(jìn)行處理,運(yùn)維人員處理完成后將處理結(jié)果反饋至值班人員,值班人員審核后閉環(huán)。整個(gè)過(guò)程有時(shí)間記錄、有節(jié)點(diǎn)卡控、有過(guò)程記錄、有結(jié)果反饋。
中間件的實(shí)現(xiàn)采用C/S結(jié)合B/S的體系結(jié)構(gòu),技術(shù)實(shí)現(xiàn)主要分為4個(gè)部分:Oracle數(shù)據(jù)庫(kù)提供的Web應(yīng)用、Web服務(wù);SQL Server數(shù)據(jù)庫(kù)提供的Web應(yīng)用、Web服務(wù);后臺(tái)應(yīng)用程序進(jìn)程服務(wù);Oracle與SQL Server表結(jié)構(gòu)關(guān)聯(lián),總體是一個(gè)三層架構(gòu)。應(yīng)用層包含Web應(yīng)用及數(shù)據(jù)遷移程序;Web應(yīng)用由客戶瀏覽器調(diào)用,用以實(shí)現(xiàn)數(shù)據(jù)查詢、篩選;業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)由Delphi7提供的數(shù)據(jù)表連接及一系列的Web Service構(gòu)成。為了便于維護(hù)、升級(jí)和實(shí)現(xiàn)分布式應(yīng)用,在實(shí)現(xiàn)過(guò)程中,將業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層分離,客戶應(yīng)用程序不直接調(diào)用數(shù)據(jù)訪問(wèn)層,而是通過(guò)業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)庫(kù)。
此種設(shè)計(jì)結(jié)構(gòu)的優(yōu)點(diǎn):
(1)充分發(fā)揮了B/S體系結(jié)構(gòu)的優(yōu)勢(shì),彌補(bǔ)了C/S程序部署及升級(jí)操作的繁瑣;(2)數(shù)據(jù)編輯采用B/S結(jié)構(gòu),既可保持Web應(yīng)用安全的優(yōu)點(diǎn),又可增加客戶使用系統(tǒng)的靈活性;(3)數(shù)據(jù)庫(kù)端采用Web服務(wù)訪問(wèn),通過(guò)ADO.NET連接。該部分只涉及系統(tǒng)維護(hù)、數(shù)據(jù)更新;(4)采用C/S結(jié)構(gòu)實(shí)現(xiàn)數(shù)據(jù)遷移功能,并且操作界面簡(jiǎn)單靈活、易于維護(hù)和操作;(5)將服務(wù)器端劃分為數(shù)據(jù)庫(kù)服務(wù)器和Web應(yīng)用程序兩部分。數(shù)據(jù)庫(kù)服務(wù)器提供存儲(chǔ)過(guò)程及觸發(fā)器功能;(6)采用Delphi7強(qiáng)大和穩(wěn)定的性能開(kāi)發(fā)觸發(fā)應(yīng)用程序。數(shù)據(jù)調(diào)用轉(zhuǎn)錄結(jié)構(gòu)圖如圖1所示。
圖1 數(shù)據(jù)調(diào)用轉(zhuǎn)錄結(jié)構(gòu)圖
過(guò)程結(jié)構(gòu)主要分為5部分:ITSM報(bào)警事件過(guò)濾器,Oracle數(shù)據(jù)表觸發(fā)器,變化數(shù)據(jù)行臨時(shí)表記錄觸發(fā),應(yīng)用程序?qū)崟r(shí)監(jiān)控控件,Oracle與Sql Server表結(jié)構(gòu)關(guān)聯(lián)。流程圖如圖2所示。
圖2 數(shù)據(jù)調(diào)用轉(zhuǎn)錄流程圖
5.1 報(bào)警信息篩選與觸發(fā)轉(zhuǎn)錄
對(duì)ITSM網(wǎng)站進(jìn)行二次開(kāi)發(fā),嵌套報(bào)警信息的提取與篩選頁(yè)面。首先開(kāi)發(fā)提取頁(yè)面,將ITSM 故障監(jiān)控報(bào)警信息過(guò)濾顯示,不破壞原有報(bào)警窗口;接著是開(kāi)發(fā)篩選頁(yè)面,將過(guò)濾顯示后的報(bào)警信息植入選擇控件,根據(jù)情況完成單選或多選操作。以上兩步執(zhí)行完成后通過(guò)觸發(fā)控件提交給Oracle數(shù)據(jù)庫(kù),Oracle數(shù)據(jù)庫(kù)監(jiān)聽(tīng)到信息后利用編輯好的存儲(chǔ)過(guò)程完成觸發(fā),把入庫(kù)到Oracle數(shù)據(jù)庫(kù)中的信息按照事先規(guī)定的好的觸發(fā)條件,提取出相關(guān)數(shù)據(jù)到預(yù)設(shè)好的緩存臨時(shí)數(shù)據(jù)表中。
5.2 利用Delphi編制觸發(fā)轉(zhuǎn)錄應(yīng)用程序
Delphi被稱為第4代編程語(yǔ)言,它具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn)。和VC相比,Delphi更簡(jiǎn)單、更易于掌握、功能更強(qiáng)大、更實(shí)用。Delphi 擁有一個(gè)可視化的集成開(kāi)發(fā)環(huán)境(IDE),采用面向?qū)ο蟮木幊陶Z(yǔ)言O(shè)bject Pascal和基于部件的開(kāi)發(fā)結(jié)構(gòu)框架。在Delphi眾多的優(yōu)勢(shì)當(dāng)中,它在數(shù)據(jù)庫(kù)方面的特長(zhǎng)顯得尤為突出,適應(yīng)于多種數(shù)據(jù)庫(kù)結(jié)構(gòu),從客戶機(jī)/服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫(kù)管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫(kù)引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。
正是基于Delphi以上的優(yōu)勢(shì),中間件利用Delphi編制的觸發(fā)轉(zhuǎn)錄應(yīng)用程序在后臺(tái)完全自動(dòng)運(yùn)行操作,無(wú)需人工干預(yù)。基本原理是將存放到緩存臨時(shí)數(shù)據(jù)表中的數(shù)據(jù)顯示到中間件頁(yè)面列表中,根據(jù)設(shè)置好的時(shí)鐘靈活設(shè)定轉(zhuǎn)錄時(shí)間,應(yīng)用程序通過(guò)表連接建立Oracle與Sql Server數(shù)據(jù)庫(kù)數(shù)據(jù)表的連接,最終將顯示到中間件頁(yè)面列表中的數(shù)據(jù)存入到運(yùn)維聯(lián)動(dòng)平臺(tái)的Sql Server數(shù)據(jù)庫(kù)中。
5.3 數(shù)據(jù)聯(lián)動(dòng)實(shí)現(xiàn)故障處理的閉環(huán)管理
運(yùn)行調(diào)度值班人員根據(jù)轉(zhuǎn)錄記錄進(jìn)行派單,把該條記錄流轉(zhuǎn)至相應(yīng)運(yùn)維工程師進(jìn)行處理。故障記錄一經(jīng)流轉(zhuǎn),維護(hù)工程師終端電腦便會(huì)出現(xiàn)語(yǔ)音提示,同時(shí)接到電話或短信通知,這種三位一體的通知方式提高了故障處理的響應(yīng)速度。維護(hù)工程師根據(jù)故障記錄內(nèi)容,有方向有目的地開(kāi)展故障排查與處理。在處理故障完畢后,及時(shí)將處理過(guò)程及方法填寫(xiě)并申請(qǐng)銷號(hào),通過(guò)聲音提示值班人員審核銷號(hào)。
本系統(tǒng)的核心價(jià)值是整合維護(hù)平臺(tái)、管理模式,形成網(wǎng)絡(luò)與信息系統(tǒng)故障處理的閉環(huán)管理。通過(guò)ITSM平臺(tái)與運(yùn)維聯(lián)動(dòng)平臺(tái)的結(jié)合使用,實(shí)現(xiàn)故障報(bào)警信息的閉環(huán)處理,杜絕了問(wèn)題出現(xiàn)時(shí)責(zé)任不明晰、互相推諉、故障處理無(wú)過(guò)程記錄等情況的發(fā)生,提高了部門(mén)之間工作的透明度和工作效率。整個(gè)應(yīng)用過(guò)程構(gòu)造了全員參與、溝通協(xié)作的良好氛圍,加深了各部門(mén)之間的相互理解與支持,從而提高了團(tuán)隊(duì)協(xié)作的綜合力量,進(jìn)一步提升了鐵路網(wǎng)絡(luò)與信息系統(tǒng)安全運(yùn)維管理的績(jī)效和水平。
[1]王月梅,胡 薔.鐵路信息系統(tǒng)故障處理聯(lián)動(dòng)平臺(tái)的研發(fā)與應(yīng)用[J].鐵路計(jì)算機(jī)應(yīng)用,2014,23(4).
[2]宋守信.鐵路安全風(fēng)險(xiǎn)管理核心理論與關(guān)鍵技術(shù)[M].北京:北京交通大學(xué)出版社,2013.
責(zé)任編輯 徐侃春
Data exchange middleware for Oracle and Sql Server database
WANG Yuemei
( Institute of Information Technologies,Hohhot Railways Administration,Hohhot 010057,China)
The application program of middleware trigger transcription was designed and developed by using the Delphi programming.The connection with Oracle applications and Sql Server data table was established to design the temporary table storage pages.According to the setting of application trigger clock and real-time monitoring function of Oracle database,it was implemented two sets of hardware equipment,two kinds of application system,the data sharing and transcription between the two types of database.
ITSM;linkage platform;flter;trigger
U266.2∶TP39
A
1005-8451(2016)02-0043-03
2015-06-09
王月梅,工程師。