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

?

容災(zāi)系統(tǒng)日志傳輸軟件的設(shè)計與實現(xiàn)

2013-08-16 08:27:44郭廣航
關(guān)鍵詞:容災(zāi)分部日志

郭廣航

(華南師范大學美術(shù)學院,廣東廣州510631)

政府、金融機構(gòu)、大型企業(yè)甚至高校的計算機網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)和應(yīng)用集中的程度越來越高,如果系統(tǒng)發(fā)生災(zāi)難,將造成極其嚴重影響:一是直接的經(jīng)濟收益損失;二是巨大的資金風險;三是破壞了正常的生產(chǎn)及應(yīng)用體系.“9.11”事件、2004年東南亞海嘯災(zāi)難以及“5.12”地震的發(fā)生又進一步推動了國內(nèi)外各行業(yè)容災(zāi)系統(tǒng)的建設(shè)[1].

目前國內(nèi)災(zāi)備系統(tǒng)主要面臨如下問題[2-4]:(1)廣域網(wǎng)文件傳輸要求高,由于廣域網(wǎng)上基于TCP協(xié)議的傳輸延時較長,單進程無法充分利用容災(zāi)中心到省際網(wǎng)(二級分部)之間的帶寬.而Oracle dataguard是采用單進程傳輸歸檔日志文件,在實際帶寬足夠的情況下,數(shù)據(jù)庫歸檔日志仍然無法及時從二級分部傳輸?shù)饺轂?zāi)中心.這種的單進程傳輸方式不僅會影響主備庫的同步時間,而且沒有充分利用網(wǎng)絡(luò)帶寬.國內(nèi)還沒有針對廣域網(wǎng)數(shù)據(jù)庫實時備份方面的產(chǎn)品[5-7].國際上僅有2個數(shù)據(jù)庫災(zāi)備產(chǎn)品,一是DSG公司的RealSync;二是Quest公司的SharePlex,但上述2個軟件非常昂貴.(2)各二級分部部署環(huán)境復雜,同時有HP、IBM等不同主機平臺,軟件環(huán)境復雜,包括HP、IBM對于底層通信的TCP接口定義不一致等.(3)生產(chǎn)數(shù)據(jù)傳輸要求高,異地數(shù)據(jù)備份軟件應(yīng)用于關(guān)鍵事務(wù)領(lǐng)域,對可靠性要求非常高.二級分部與總部的oralce數(shù)據(jù)庫歸檔日志如果無法及時傳到總部,數(shù)據(jù)同步將受到影響,嚴重的會導致二級分部數(shù)據(jù)庫停頓.所以必須保證傳輸數(shù)據(jù)文件無差錯.

1 解決思路

1.1 多線程并發(fā)文件傳輸

解決廣域網(wǎng)文件傳輸要求高的問題,要依靠多線程文件傳輸.多線程傳輸?shù)幕舅枷胧窃诎l(fā)送端(也稱客戶端)將要傳輸?shù)奈募指顬榇笮∠喈數(shù)亩鄩K,用多個線程,將這些塊同時向目標服務(wù)器端發(fā)送;在服務(wù)器端的服務(wù)程序監(jiān)聽數(shù)據(jù)傳輸請求,當接到新的請求,則創(chuàng)建一個新的線程,與客戶端的發(fā)送線程對應(yīng),接收數(shù)據(jù),記錄數(shù)據(jù)傳輸進程.圖1是點對點文件斷點續(xù)傳第N塊傳輸過程示意圖.

圖1 斷點續(xù)傳傳輸過程示意圖Figure 1 The schematic plot of breakpoint continuingly transmission process

為了減輕對二級分部服務(wù)器的壓力,不采用多進程并發(fā)傳輸文件的方式,而是采用單進程多線程并發(fā)傳輸方式.

1.2 多種源程序代碼

針對部署環(huán)境復雜、各二級分部主機的操作系統(tǒng)版本不統(tǒng)一的問題,通過版本管理,不斷修改源程序,開發(fā)出兼容多個小版本的日志傳輸軟件.

由于廣域網(wǎng)可能存在斷網(wǎng)、傳輸數(shù)據(jù)錯誤等不穩(wěn)定的情況,異地數(shù)據(jù)備份軟件需要具備在異常網(wǎng)絡(luò)環(huán)境下工作的能力.

MD5是一種單向散列算法,其全稱是Message Digest Algorithm 5.只要給出一段任意長度的信息,通過該算法,可以得到一個不可逆的信息摘要MD5碼.MD5碼是128 bit,為了顯示方便,一般采用16進制顯示,為32個字節(jié).

其基本流程如下:

(1)傳輸結(jié)束后,備庫以只讀方式打開日志文件,自行計算MD5碼,該MD5碼和主庫報文進行對比.如果不一致,就需要重傳;

(2)寫SS.chk文件,該文件除了32位MD5碼外,還包括2個標志位,一個為傳輸結(jié)束,另一個為允許登記.此時僅寫傳輸結(jié)束標志;

(3)備庫將計算的MD5碼通知主庫,主庫重新讀1次本地的日志文件,與備庫MD5碼比較是否一致,將比較結(jié)果通知主庫;

(4)主庫接到通知,向SS.chk文件寫允許登記標志.

1.3 監(jiān)控

容災(zāi)中心、二級分部對于異常情況的發(fā)生,必須要有及時、有效的監(jiān)控.日志傳輸軟件除了可提供容災(zāi)中心庫監(jiān)控外,還可向多個二級分部監(jiān)控客戶端、容災(zāi)中心傳輸軟件向容災(zāi)中心監(jiān)控服務(wù)器發(fā)送日志傳輸信息、日志恢復信息、日志清理、進程狀態(tài)、報警信息等監(jiān)控消息報文,它是作為二級分部端、容災(zāi)中心端容災(zāi)數(shù)據(jù)備份監(jiān)控的重要依據(jù),提供數(shù)據(jù)的準確性直接關(guān)系到監(jiān)控質(zhì)量.

2 容災(zāi)系統(tǒng)日志傳輸軟件的實現(xiàn)

2.1 容災(zāi)系統(tǒng)日志傳輸軟件通過多線程編程實現(xiàn)傳輸?shù)母咝?/h3>

容災(zāi)系統(tǒng)日志能夠充分利用服務(wù)器的多CPU資源,具有很強的并發(fā)性,同時該軟件能在復雜的省際廣域網(wǎng)上運行,對通信環(huán)節(jié)的各種異常情況能進行檢測、判斷和處理,即使網(wǎng)絡(luò)異常而造成停止應(yīng)用,在消除異常后,軟件能自動恢復工作,具有高可靠性.

容災(zāi)系統(tǒng)日志傳輸軟件功能強大:(1)實時監(jiān)控數(shù)據(jù)庫主庫日志文件產(chǎn)生;(2)充分利用網(wǎng)絡(luò)帶寬資源、采用可配置多線程方式、實時、快速、穩(wěn)定、安全、正確的實現(xiàn)日志文件的傳輸;(3)實時監(jiān)控備庫接收到主庫傳送過來的日志文件并迅速自動恢復備庫數(shù)據(jù)庫;(4)實時監(jiān)控主庫及備庫的各種相關(guān)數(shù)據(jù)信息并實現(xiàn)若干異常的及時告警.

容災(zāi)系統(tǒng)日志傳輸軟件由服務(wù)進程與配置文件兩大部分組成,其模塊結(jié)構(gòu)如圖2.

圖2 日志傳輸軟件模塊結(jié)構(gòu)圖Figure 2 The structural module diagram of log transmission software

容災(zāi)中心是基于Oracle Dataguard技術(shù)建設(shè)的,為了充分利用網(wǎng)絡(luò)帶寬,采用多線程并發(fā)的日志傳輸軟件傳送數(shù)據(jù)庫歸檔日志文件.主要功能是替代Dataguard的日志文件傳輸與備庫數(shù)據(jù)庫恢復功能,此外,還增加了歸檔日志查詢功能,使容災(zāi)中心能夠及時了解主、備庫日志產(chǎn)生的情況(圖3).

圖3 主、備庫傳輸流程圖Figure 3 The flow chart of transmission for the primary and backup data bases

日志傳輸軟件主要分為2部分:(1)備庫方(全國性的容災(zāi)中心)日志傳輸軟件,其功能是:自動檢查歸檔日志的產(chǎn)生,向備庫指定目錄傳輸歸檔日志,向備庫傳輸主庫當前歸檔日志信息;(2)主庫方(二級分部)日志傳輸軟件,其功能是:接收主庫的日志文件,接收備庫的最新歸檔日志信息,激發(fā)備庫恢復接收的歸檔日志.

2.2 日志傳輸軟件內(nèi)部模塊與進程

日志傳輸軟件內(nèi)部模塊結(jié)構(gòu)如圖4所示.

圖4 日志傳輸軟件內(nèi)部模塊結(jié)構(gòu)圖Figure 4 The internal module structure for log transmission software

工作流程為:(1)在主庫以等待方式檢測日志文件的產(chǎn)生并通知comcnt進程,讀取主庫最新的日志信息并通知comcnt進程.(2)與備庫通信,等待chksrv通知,采用多線程方式傳輸日志文件.(3)在備庫以等待方式等待日志文件的到來;向備庫登記日志文件;采集備庫最新的歸檔日志狀態(tài),并給comsrv進程;把備庫的最新信息通知給logsrv進程.(4)在備庫接收regsrv的日志信息,并發(fā)送給主庫;接收主庫傳輸?shù)娜罩疚募?把主備庫的最新信息通知給logsrv進程.(5)在備庫接收comsrv和regsrv傳過來的主備庫最新消息,統(tǒng)一寫到LINUX服務(wù)器數(shù)據(jù)庫方.(6)運行在LINUX服務(wù)器上,用于顯示日志產(chǎn)生、傳輸?shù)那闆r及軟件運行的情況.

2.3 主備庫信息交互處理流程

2.3.1 正常情況下的傳輸處理流程 傳輸工作流程如圖3所示,從①→②→③→④,檢測出主庫有新的歸檔日志文件產(chǎn)生,采用多線程傳輸、接收歸檔日志文件,保存在指定目錄,通過Oracl命令登記該歸檔日志文件,由Oracl恢復.

2.3.2 恢復出錯情況下的處理流程 恢復錯誤傳輸?shù)墓ぷ髁鞒倘鐖D3所示,從④→③→②→①,數(shù)據(jù)庫恢復出錯時,計算MD5碼,將MD5碼通知主庫,主庫計算MD5碼,如果不一致則重新發(fā)送日志文件;如果一致,則報警提示人工處理.

2.3.3 傳輸超時處理流程 傳輸超時的流程如圖3所示,從①→②→⑤,檢測歸檔日志的產(chǎn)生,發(fā)送歸檔日志文件,當線路中斷、傳輸超時情況下,重新發(fā)送.

2.4 監(jiān)控

對全國異地數(shù)據(jù)備份系統(tǒng)的二級分部端的生產(chǎn)數(shù)據(jù)庫和容災(zāi)中心端的備用數(shù)據(jù)庫之間的歸檔日志傳輸、同步情況、系統(tǒng)資源的使用情況以及日志傳輸軟件的運行情況進行監(jiān)控.全國異地金融容災(zāi)數(shù)據(jù)備份監(jiān)控系統(tǒng)中有一部分信息需要日志傳輸軟件提供.

二級分部、容災(zāi)中心架構(gòu)及監(jiān)控軟件顯示界面分別如圖5~圖7所示.

圖5 二級分部架構(gòu)圖Figure 5 The structure of secondary branch

圖6 容災(zāi)中心架構(gòu)圖Figure 6 The structure of disaster tolerance center

圖7 監(jiān)控軟件顯示界面Figure 7 The display interface ofmonitoring software

容災(zāi)系統(tǒng)日志傳輸軟件,采用多線程方式并行傳送日志文件,充分利用網(wǎng)絡(luò)帶寬,加快傳輸速度.日志傳輸軟件是建立在Oracle Dataguard的基礎(chǔ)之上的,主要的功能是替代Oracle Dataguard的日志文件傳輸與備庫數(shù)據(jù)庫恢復功能,此外,增加了歸檔日志查詢功能,使災(zāi)備中心能夠及時了解主、備庫日志產(chǎn)生情況.

日志傳輸軟件主要分為3部分:備庫方(容災(zāi)中心)日志傳輸軟件、主庫方(二級分部)日志傳輸軟件和LINUX服務(wù)器上的日志監(jiān)控軟件.

主庫方日志傳輸軟件的功能是:自動檢查歸檔日志的產(chǎn)生;向備庫指定目錄傳輸歸檔日志;向備庫傳輸主庫當前歸檔日志信息.

備庫方日志傳輸軟件的功能是:接收主庫的日志文件;接收備庫的最新歸檔日志信息;激發(fā)向備庫恢復接收的歸檔日志.

日志監(jiān)控軟件的功能是:實時顯示全國二級分部歸檔日志信息.

二級分部的準備工作包括:(1)創(chuàng)建日志傳輸軟件運行用戶;(2)創(chuàng)建日志傳輸軟件數(shù)據(jù)庫用戶.

二級分部系統(tǒng)管理員需要分別在數(shù)據(jù)庫服務(wù)器、應(yīng)用服務(wù)器上為日志傳輸軟件創(chuàng)建運行用戶logftp,該用戶的HOME目錄指向共享的磁盤陣列,對數(shù)據(jù)庫服務(wù)器和應(yīng)用服務(wù)器開放.平時日志傳輸軟件運行在數(shù)據(jù)庫服務(wù)器上,如果數(shù)據(jù)庫服務(wù)器發(fā)生故障,則通過應(yīng)用服務(wù)器logftp用戶啟動日志傳輸軟件.

災(zāi)備中心系統(tǒng)管理員需要創(chuàng)建日志傳輸軟件,運行用戶log_xx(xx表示二級分部,即各省災(zāi)備中心),該用戶屬于dba組,采用ksh.需要約600 M左右的空間.

3 結(jié)束語

基于Oracle Dataguard技術(shù),充分利用網(wǎng)絡(luò)帶寬,建成了多線程并發(fā)傳輸日志的容災(zāi)系統(tǒng),在容災(zāi)中心運行情況穩(wěn)定,達到了預(yù)定的效果.

(1)日志傳輸軟件的1個線程的開銷僅為是1個普通ftp進程開銷的1/30左右,同時能充分利用服務(wù)器的多CPU資源,具有很強的并發(fā)性,適合在廣域網(wǎng)上并發(fā)傳送日志文件.使傳輸性能比Oracle軟件提高了10倍,保證了日志文件傳輸?shù)母咝剩?/p>

(2)日志傳輸軟件引入MD5校驗算法防止傳輸錯誤,減少了人工干預(yù),保證數(shù)據(jù)庫日志文件傳輸?shù)目煽啃裕?/p>

[1]李濤,劉曉潔,曾金全,等.信息系統(tǒng)容災(zāi)抗毀原理與應(yīng)用[M].北京:人民郵電出版社,2007.

[2]蘇冠群,陶宏才.基于Linux平臺的遠程數(shù)據(jù)容災(zāi)系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用,2012,32(7):2056-2058.

[3]李峰,劉曉潔,林翰翮.基于Oracle數(shù)據(jù)庫的容災(zāi)系統(tǒng)[J].計算機工程與設(shè)計,2011,32(11):3573-3576;3581.

[4]車宇,趙奎.面向大量用戶的遠程備份容災(zāi)系統(tǒng)[J].計算機工程與設(shè)計,2011,32(11):3577-3581.

[5]陳世爵,趙奎,趙輝.文件集的逆向差異歸檔方法[J].計算機工程與設(shè)計,2011,32(11):3590-3593.

[6]馬薇,婁雨.Oracle數(shù)據(jù)庫容災(zāi)備份中的流復制技術(shù)研究[J].科技通報,2012,28(2):182-184.

[7]周云霞,趙躍龍,楊希.智能網(wǎng)絡(luò)磁盤存儲系統(tǒng)的容災(zāi)研究[J].計算機研究與發(fā)展,2012,49(7):1587-1592.

猜你喜歡
容災(zāi)分部日志
與有序分拆的分部量1 相關(guān)的恒等式及組合證明
一名老黨員的工作日志
華人時刊(2021年13期)2021-11-27 09:19:02
扶貧日志
心聲歌刊(2020年4期)2020-09-07 06:37:14
游學日志
關(guān)于正整數(shù)不含分部量2的有序分拆的幾個組合雙射
關(guān)于建筑企業(yè)容災(zāi)備份系統(tǒng)方案的探討
電子制作(2017年10期)2017-04-18 07:22:47
基于中興軟交換的電力通信網(wǎng)絡(luò)容災(zāi)系統(tǒng)建設(shè)
關(guān)于分部積分的幾點說明
考試周刊(2016年86期)2016-11-11 07:46:31
基于數(shù)據(jù)容災(zāi)技術(shù)在企業(yè)信息系統(tǒng)中的應(yīng)用研究
中國市場(2016年45期)2016-05-17 05:15:38
探討不定積分分部積分法
河南科技(2014年15期)2014-02-27 14:12:50
芜湖市| 定州市| 周宁县| 攀枝花市| 佛山市| 焦作市| 永新县| 肇庆市| 越西县| 武清区| 启东市| 枝江市| 黔江区| 蒲城县| 韩城市| 营山县| 察隅县| 正蓝旗| 永新县| 巢湖市| 兴城市| 宝兴县| 许昌县| 娄烦县| 马公市| 宾阳县| 汉川市| 四平市| 酒泉市| 克东县| 扶绥县| 秀山| 巴南区| 临海市| 罗田县| 景洪市| 潞西市| 巫溪县| 桦南县| 松桃| 阿坝县|