国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于數(shù)據(jù)同步技術(shù)的5T系統(tǒng)架構(gòu)優(yōu)化方案研究

2016-02-16 02:10:23穎,蔣
關(guān)鍵詞:鐵路局總公司日志

趙 穎,蔣 薈

(中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)

基于數(shù)據(jù)同步技術(shù)的5T系統(tǒng)架構(gòu)優(yōu)化方案研究

趙 穎,蔣 薈

(中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)

論文分析5T系統(tǒng)的現(xiàn)狀及存在的問題,對比現(xiàn)有的數(shù)據(jù)同步技術(shù),提出一種基于數(shù)據(jù)庫日志分析的數(shù)據(jù)同步方法,介紹該方法的數(shù)據(jù)同步流程和原理。基于此方法對5T系統(tǒng)架構(gòu)進(jìn)行優(yōu)化,提出對主備庫數(shù)據(jù)同步、讀寫分離、消息推送等方面的解決方案,論述了此方案的優(yōu)勢以及可提升的空間。

數(shù)據(jù)同步;日志;架構(gòu)

鐵路車輛運(yùn)行安全監(jiān)控系統(tǒng)(簡稱:5T系統(tǒng))已投入使用多年,系統(tǒng)通過多種探測設(shè)備實(shí)時(shí)監(jiān)控客、貨車輛運(yùn)行狀態(tài),并提供告警,為保障客、貨車輛運(yùn)行安全發(fā)揮了顯著的作用。

現(xiàn)有的5T系統(tǒng)架構(gòu)如圖1所示,探測站、鐵路局服務(wù)器、鐵路總公司服務(wù)器之間的數(shù)據(jù)交互主要通過中間件傳輸數(shù)據(jù)文件。探測站采集的監(jiān)測數(shù)據(jù)形成文件后逐級上傳至鐵路局服務(wù)器和鐵路總公司服務(wù)器,經(jīng)過數(shù)據(jù)庫的讀取和解析寫入監(jiān)測表中;同時(shí),鐵路總公司服務(wù)器將處理匯總后的數(shù)據(jù)導(dǎo)出成數(shù)據(jù)文件,再分發(fā)至鐵路局服務(wù)器;鐵路局服務(wù)器將匯總信息解析后,同監(jiān)測數(shù)據(jù)一起進(jìn)行綜合評判,得到報(bào)警評判結(jié)果,實(shí)現(xiàn)基于多點(diǎn)監(jiān)測信息的聯(lián)網(wǎng)綜合報(bào)警評判。

隨著5T系統(tǒng)監(jiān)測設(shè)備覆蓋范圍的不斷擴(kuò)大,需要傳輸和存儲的數(shù)據(jù)量越來越大。Oracle數(shù)據(jù)庫要存儲大量的數(shù)據(jù),完成解析、評判、統(tǒng)計(jì)和導(dǎo)出等工作,還要為應(yīng)用系統(tǒng)提供數(shù)據(jù)查詢服務(wù),因此數(shù)據(jù)庫的資源越發(fā)緊張,由此帶來幾個(gè)問題:

(1)上傳的監(jiān)測數(shù)據(jù)入庫可能出現(xiàn)延遲,數(shù)據(jù)入庫延時(shí)會使監(jiān)測信息推送滯后,影響現(xiàn)場作業(yè)人員依據(jù)監(jiān)測報(bào)警信息進(jìn)行列車檢查作業(yè)。(2)自上而下的數(shù)據(jù)同步的實(shí)時(shí)性若無法保證,將會影響綜合評判的準(zhǔn)確性,極易造成系統(tǒng)誤判或漏判。(3)數(shù)據(jù)同步的延時(shí)或失敗如果不能及時(shí)告警,將不利于提醒系統(tǒng)技術(shù)人員在第一時(shí)間發(fā)現(xiàn)系統(tǒng)運(yùn)行故障。(4)查詢分析的響應(yīng)速度慢,不利于開展更加深入的數(shù)據(jù)挖掘分析,影響用戶體驗(yàn)。

因此,從改進(jìn)數(shù)據(jù)同步方法、分離讀寫數(shù)據(jù)庫、增加敏感業(yè)務(wù)消息等幾方面,對5T系統(tǒng)架構(gòu)進(jìn)行優(yōu)化,提高系統(tǒng)整體性能,保證5T系統(tǒng)的準(zhǔn)確性和高效性,已成為當(dāng)前的一項(xiàng)重要工作。

1 數(shù)據(jù)同步方案對比

Oracle提供了DataGuard、Streams、GoldenGate等數(shù)據(jù)同步工具,它們的用途和要求各不相同。

圖1 系統(tǒng)現(xiàn)有架構(gòu)與流程圖

1.1 DataGuard

DataGuard是Oracle數(shù)據(jù)庫自帶的一款免費(fèi)數(shù)據(jù)同步工具,基本原理是將日志文件從源數(shù)據(jù)庫傳輸?shù)侥繕?biāo)數(shù)據(jù)庫,在目標(biāo)數(shù)據(jù)庫上應(yīng)用這些日志文件,從而使目標(biāo)數(shù)據(jù)庫與源數(shù)據(jù)庫保持同步。它對網(wǎng)絡(luò)帶寬要求高,主備庫環(huán)境與結(jié)構(gòu)須完全一致,因此適用于數(shù)據(jù)庫災(zāi)備、故障恢復(fù),不適合讀庫與寫庫、異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步。

1.2 Streams

Streams利用高級隊(duì)列技術(shù),通過用Log Miner挖掘日志文件生成變更的邏輯記錄,將這些變更應(yīng)用到目標(biāo)數(shù)據(jù)庫上,從而實(shí)現(xiàn)數(shù)據(jù)庫之間或一個(gè)數(shù)據(jù)庫內(nèi)部的數(shù)據(jù)同步。盡管Streams支持異構(gòu)的、部分對象的復(fù)制,但它配置維護(hù)復(fù)雜、對源數(shù)據(jù)庫壓力大、穩(wěn)定性較差。

1.3 GoldenGate

GoldenGate可以用于多種不同操作系統(tǒng)平臺和多種不同數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)同步,它支持一對多、多對一,雙向復(fù)制等,也可以選擇部分對象進(jìn)行復(fù)制,可滿足數(shù)據(jù)分發(fā)和數(shù)據(jù)集成的需要,減輕源數(shù)據(jù)庫壓力,但是需要支付昂貴的費(fèi)用。

基于項(xiàng)目成本和系統(tǒng)長遠(yuǎn)發(fā)展多方面綜合考慮,決定自行研發(fā)一款基于數(shù)據(jù)庫日志的同步工具,通過捕獲Oracle數(shù)據(jù)庫的日志變化,將源數(shù)據(jù)庫的變化邏輯復(fù)制到目標(biāo)數(shù)據(jù)庫中,實(shí)現(xiàn)數(shù)據(jù)的同步。

2 基于日志的數(shù)據(jù)同步原理

在Oracle中,每執(zhí)行一次更新操作(創(chuàng)建、插入、刪除、更改),系統(tǒng)都將該操作以固定格式記錄到日志文件(Redo Log File)中,以便在數(shù)據(jù)庫出現(xiàn)例程失敗或設(shè)備故障時(shí),可以恢復(fù)數(shù)據(jù)庫[2]。因此,若需了解數(shù)據(jù)庫的操作變化,將變化的數(shù)據(jù)從一個(gè)數(shù)據(jù)庫同步到另一個(gè)數(shù)據(jù)庫,可以通過分析Oracle數(shù)據(jù)庫的日志變化來實(shí)現(xiàn)。

2.1 數(shù)據(jù)同步流程

數(shù)據(jù)同步的流程如圖2所示,數(shù)據(jù)同步邏輯上分為源端和目標(biāo)端。源端的任務(wù)主要是負(fù)責(zé)捕獲Redo Log的變化,分析日志,合成交易,最后輸出程序可識別的數(shù)據(jù)變更項(xiàng);目標(biāo)端的任務(wù)主要是將數(shù)據(jù)變更項(xiàng)根據(jù)需要應(yīng)用到目標(biāo)庫中。

2.2 源端同步原理

源端通過監(jiān)控讀取、日志分析、事物緩存、發(fā)布等步驟,將二進(jìn)制格式的日志信息翻譯成程序可讀操作記錄,過濾無需提交的操作記錄后,將有效的操作記錄合成為事務(wù),發(fā)布到消息系統(tǒng),供目標(biāo)端進(jìn)行按需訂閱。

2.3 目標(biāo)端同步原理

目標(biāo)端根據(jù)需要訂閱源端發(fā)布的消息,獲取操作記錄,將其過濾分發(fā)到不同的應(yīng)用模塊,實(shí)現(xiàn)數(shù)據(jù)同步或其他功能,目標(biāo)端的應(yīng)用模塊可根據(jù)需要擴(kuò)展。例如SQL Applier,主要將操作記錄翻譯成SQL語句,并在目標(biāo)庫執(zhí)行,也就是常見的表對表的數(shù)據(jù)同步;WarnMsgApplier,通過捕獲敏感數(shù)據(jù)的變化,當(dāng)達(dá)到閾值時(shí),向告警中心推送報(bào)警信息。

圖2 數(shù)據(jù)同步流程圖

這種方式不依賴任何數(shù)據(jù)庫的引擎便可獲取變更數(shù)據(jù),因此不會影響源庫的性能;且由于獲取的是源庫操作記錄的變化,所以應(yīng)用這些變化可以靈活多樣地開展同步工作。既可以按需要進(jìn)行同步,也可以進(jìn)行異構(gòu)同步。

3 系統(tǒng)架構(gòu)優(yōu)化方案

針對上述5T系統(tǒng)架構(gòu)存在的問題,提出基于日志的數(shù)據(jù)同步工具對5T系統(tǒng)架構(gòu)進(jìn)行改進(jìn)優(yōu)化的方案,優(yōu)化后的系統(tǒng)架構(gòu)如圖3所示。對系統(tǒng)架構(gòu)優(yōu)化的工作主要體現(xiàn)在以下幾個(gè)方面。

圖3 優(yōu)化的系統(tǒng)架構(gòu)與流程圖

3.1 采用數(shù)據(jù)同步工具取代傳輸中間件,實(shí)現(xiàn)鐵路總公司到鐵路局的數(shù)據(jù)同步

探測站形成的數(shù)據(jù)文件上傳至鐵路局服務(wù)器后,一方面進(jìn)行解析入庫,另一方面直接通過消息中間件傳輸至鐵路總公司服務(wù)器,這是自底向上傳輸最快捷的方式。而自上而下從鐵路總公司同步到各鐵路局的數(shù)據(jù),如果采用中間件傳輸,需要經(jīng)過讀表、導(dǎo)出、傳輸、解析和入庫多個(gè)步驟,頻繁地讀寫數(shù)據(jù)庫和硬盤,容易造成資源緊張。因此,可采用數(shù)據(jù)同步工具取代傳輸中間件,通過捕獲鐵路總公司級數(shù)據(jù)庫日志的變化,實(shí)現(xiàn)鐵路總公司到鐵路局的數(shù)據(jù)同步。由于監(jiān)控和讀取日志變化無需訪問數(shù)據(jù)庫,因此可以有效降低對數(shù)據(jù)庫資源占用,同時(shí)不需要向磁盤上寫任何文件,還可以降低系統(tǒng)對磁盤寫入的壓力。

此外,系統(tǒng)值班監(jiān)控人員可以在鐵路總公司級服務(wù)器監(jiān)控?cái)?shù)據(jù)同步的進(jìn)度和結(jié)果,隨時(shí)掌握數(shù)據(jù)同步記錄。一旦出現(xiàn)同步失敗,可及時(shí)通過人工進(jìn)行補(bǔ)傳,最大限度保證數(shù)據(jù)的一致性。

3.2 鐵路總公司和鐵路局分別增加讀數(shù)據(jù)庫,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的讀寫分離

原有5T系統(tǒng)架構(gòu)中,數(shù)據(jù)存儲與分析都在一個(gè)數(shù)據(jù)庫中實(shí)現(xiàn),資源緊張時(shí),復(fù)雜的數(shù)據(jù)分析會影響數(shù)據(jù)入庫存儲,且統(tǒng)計(jì)分析的效率較低、用戶查詢的響應(yīng)速度慢。

新的系統(tǒng)架構(gòu)中,利用數(shù)據(jù)同步工具實(shí)現(xiàn)讀寫庫分離,將主要業(yè)務(wù)數(shù)據(jù)從寫庫實(shí)時(shí)同步到讀庫中,可以將復(fù)雜的數(shù)據(jù)統(tǒng)計(jì)和分析放在讀庫上實(shí)現(xiàn),面向用戶的信息查詢也直接訪問讀庫。通過這樣讀寫拆分,既實(shí)現(xiàn)了對關(guān)鍵業(yè)務(wù)數(shù)據(jù)的備份,還可以避免數(shù)據(jù)入庫與統(tǒng)計(jì)分析之間相互影響,大大提高了用戶查詢的響應(yīng)速度。此外,數(shù)據(jù)同步工具支持一對多、異構(gòu)的復(fù)制,所以讀庫可以根據(jù)業(yè)務(wù)需求進(jìn)行橫向擴(kuò)展及按需復(fù)制。

3.3 新增敏感業(yè)務(wù)消息提醒服務(wù)

原有系統(tǒng)中,用戶主要通過監(jiān)控頁面查看告警信息。而在新系統(tǒng)中,可利用數(shù)據(jù)同步工具捕獲敏感數(shù)據(jù)的變化,并提供推送告警信息的功能,將危及行車安全的車輛報(bào)警信息,實(shí)時(shí)推送給用戶,使他們可以及時(shí)獲取告警信息,及時(shí)進(jìn)行故障處置。且該功能可以根據(jù)用戶需求,進(jìn)行個(gè)性化定制,使得用戶及時(shí)獲取滿足自己需求的告警信息,從而避免因?yàn)E報(bào)導(dǎo)致故障處置響應(yīng)不及時(shí)的現(xiàn)象發(fā)生。

4 結(jié)束語

基于日志的數(shù)據(jù)同步技術(shù)可將數(shù)據(jù)同步延時(shí)控制在秒級,完全滿足5T系統(tǒng)業(yè)務(wù)的需求。采用此方法對5T系統(tǒng)架構(gòu)進(jìn)行優(yōu)化,可以在很大程度上解決資源緊張、數(shù)據(jù)不一致、響應(yīng)速度慢等問題。同時(shí),將讀寫數(shù)據(jù)庫分離,為更深入的數(shù)據(jù)分析與挖掘奠定了基礎(chǔ)。此外,利用數(shù)據(jù)同步工具的實(shí)時(shí)告警服務(wù),可以讓用戶更方便及時(shí)地獲取報(bào)警信息,提高用戶體驗(yàn)。

改進(jìn)后的系統(tǒng),數(shù)據(jù)的查詢和分析還是在關(guān)系型數(shù)據(jù)庫里實(shí)現(xiàn)。隨著數(shù)據(jù)的不斷增多,關(guān)系型數(shù)據(jù)庫在處理海量數(shù)據(jù)方面將是一個(gè)瓶頸,今后可以通過數(shù)據(jù)同步工具將數(shù)據(jù)同步到Hadoop,這樣系統(tǒng)的日常分析可以在Hadoop里進(jìn)行,同樣有利于系統(tǒng)性能的提升。

[1]李偉明.ORACLE REDO LOG文件分析及C語言描述[J].小型微型計(jì)算機(jī)系統(tǒng),2003(7):1243-1246.

[2]林樹澤,盧 芬.Oracle 11g R2 DBA操作指南[M].北京:清華大學(xué)出版社,2013.

[3]弗里曼,哈 特.Oracle Database 11g RMAN備份與恢復(fù)[M].王念濱,陳子陽,譯.北京:清華大學(xué)出版社,2011.

責(zé)任編輯 王 浩

Optimization architecture of 5T System based on data synchronization technology

ZHAO Ying,JIANG Hui
( Institute of Computing Technologies,China Academy of Railway Sciences,Beijing 100081,China)

This article analyzed the present situation and problems of 5T System,compared with existing data synchronization techniques,put forward a method of data synchronization based on database log analysis,introduced the process and principle of data synchronization in detail.Based on this method,the architecture of 5T System was optimized,and the solution of the main data synchronization,read and write separation,message push was proposed.Finally,the advantages of this data synchronization scheme were discussed.

data synchronous;log;architecture

U260.42∶TP39

A

1005-8451(2016)06-0009-04

2015-11-20

中國鐵路總公司白皮書項(xiàng)目(2015X009-A)。

趙 穎,助理研究員;蔣 薈,研究員 。

猜你喜歡
鐵路局總公司日志
一名老黨員的工作日志
既有災(zāi)害監(jiān)測系統(tǒng)接入鐵路局中心系統(tǒng)方案研究
扶貧日志
心聲歌刊(2020年4期)2020-09-07 06:37:14
邢臺路橋建設(shè)總公司
公民與法治(2020年1期)2020-05-30 12:27:54
共青團(tuán)中國鹽業(yè)總公司第二次代表大會在京召開
呼和浩特鐵路局GSM-R系統(tǒng)現(xiàn)場應(yīng)用故障分析與處理
游學(xué)日志
重慶工商大學(xué)科技開發(fā)總公司
論國有資產(chǎn)轉(zhuǎn)讓合同效力的認(rèn)定——以“許少雄訴海洋漁業(yè)總公司上訴案”為對象
364名蘭州市鐵路局職工心血管病與口腔健康關(guān)系研究
山阴县| 延寿县| 从江县| 比如县| 涪陵区| 龙海市| 隆化县| 汉中市| 曲阜市| 泰来县| 仙游县| 中卫市| 富锦市| 沂水县| 定安县| 商洛市| 河津市| 长宁区| 星座| 阿合奇县| 洞头县| 焦作市| 依安县| 忻州市| 台湾省| 望谟县| 达孜县| 黄冈市| 化隆| 大冶市| 裕民县| 云霄县| 德令哈市| 宜丰县| 曲阳县| 东安县| 乌拉特前旗| 兴仁县| 贡山| 娄烦县| 广宗县|