亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于交易報文的數據實時同步方法研究

        2017-12-08 03:26:13
        計算機應用與軟件 2017年11期
        關鍵詞:異地日志備份

        尚 海 鷹

        (上海久譽軟件系統有限公司 上海 200233)

        基于交易報文的數據實時同步方法研究

        尚 海 鷹

        (上海久譽軟件系統有限公司 上海 200233)

        概括并分析了計算機信息系統中常見的異地數據同步方法。針對事務處理系統的大業(yè)務量場景,純系統級的數據實時同步方法受限于線路帶寬的制約。提出的基于交易報文的數據實時同步方法,將事務處理系統的交易報文歸納為應用級的報文重做日志,采用報文分解與封裝、報文同步與緩沖池管理等方法與策略,以很低的線路帶寬實現業(yè)務數據的實時同步目標。通過真實業(yè)務數據系統性的實驗與分析,驗證了方法的可行性與有效性?;谔岢龅姆椒ǎ髽I(yè)務量下應用級容災備份的實現成本可顯著降低。

        事務處理系統 容災備份 重做日志 數據復制 數據恢復目標

        0 引 言

        隨著計算機信息系統在互聯網時代的業(yè)務模式不斷創(chuàng)新,人們對網絡應用的依賴愈益緊密。各類金融信息、隱私信息散布在網絡化的信息系統中,這些數據關系著廣大用戶及企業(yè)的切身利益。近幾年來,黑客入侵、業(yè)務數據竊密、數據篡改偽造、蠕蟲與勒索病毒等非法行為在網絡上的施虐已引起社會各界的高度警覺[1],信息安全形勢日趨嚴峻,信息系統的業(yè)務持續(xù)性及業(yè)務數據保護絲毫不可懈怠。

        依照國家有關計算機信息系統安全保護等級劃分準則,關鍵業(yè)務信息系統擬在異地建立一個應用級的災難備份中心,通過數據同步技術,保持兩地業(yè)務數據的一致性與完整性。

        數據同步作為異地災難備份的核心任務,需要部署相應的設備設施及租用廣域網線路。企業(yè)在這類信息安全措施上的投入是沒有直接回報的,年復一年的運行費用,對企業(yè)是個負擔。

        對于大業(yè)務量的事務處理系統,為避免業(yè)務數據的丟失,異地數據實時同步需要占用很高的線路帶寬,甚至依賴于裸光纖上的波分復用技術,這樣的成本對于效益一般的企業(yè)或者非營利性的公用事業(yè)單位均難以承受。

        本文提出基于交易報文的數據實時同步方法,其目的就是化解大業(yè)務量事務處理系統中數據實時同步與實現成本之間的矛盾,以低帶寬的線路條件實現業(yè)務數據零丟失的備份與恢復目標。

        1 事務處理系統的數據復制技術

        事務處理系統的業(yè)務數據一般由關系型數據庫系統管理,主備數據庫之間需要維持數據同步。數據同步技術的目的就是維持主備數據庫業(yè)務數據的一致性。

        數據庫系統管理著各類數據表,其存儲空間依照邏輯關系大致映照為數據庫表空間及相關的數據文件、文件系統及相關的邏輯卷或裸設備、磁盤陣列邏輯分配單元LUN及相對應的磁盤卷組(RAID組)。各層面供應商在數據復制這個細分領域各顯神通,維持數據一致性的技術與開銷也十分復雜,其典型的技術方案,如表1所示。

        表1 數據復制技術的分類

        磁盤陣列層面的數據復制技術對于上層的操作系統及數據庫基本透明,具體的數據復制策略一般可由系統管理員配置與實施。數據復制可以采用異步方式或實時同步方式。該方法采用的技術與存儲設備有關,需要存儲設備廠商專門軟件授權,費用高、靈活性差。鑒于其塊結構存儲的特點,復制數據的冗余率高[2],復制流量大,其實時同步方式通常對線路帶寬的要求很高。另外,該層面缺乏與數據庫事務保護機制的溝通,異步復制方式恢復時容易導致業(yè)務數據的丟失,嚴重時可導致數據庫的恢復失敗。

        文件系統或邏輯卷的數據復制技術與磁盤陣列的數據復制技術相似,但無需依賴特定的存儲設備,軟件授權成本低。該技術增加了宿主服務器的處理器資源負擔,在復雜的計算環(huán)境下數據復制的穩(wěn)定性較差,容易造成備份端系統的數據不一致而導致恢復失敗。

        面向數據庫系統的復制技術通過在線日志或歸檔日志同步數據,具有顯著的穩(wěn)定性與可恢復性,數據傳輸的冗余度較低,異步日志傳遞對線路帶寬沒有特別要求,一般關系型數據庫的內核均支持該方式的數據同步。大交易量的數據庫系統若采用實時同步方式傳遞在線日志記錄,則對線路的帶寬及穩(wěn)定性亦有較高的要求。其同步機制相當于跨數據庫的二階段事務提交,異地數據庫未成功接收到在線交易日志或未能返回成功的事務重做信息,則本地數據庫系統相關事務便會掛起,進而引起業(yè)務系統停頓。

        數據表的復制一般用于兩個獨立活動的數據庫系統,以維持某類業(yè)務數據的一致性。復制哪些表或表中的哪些數據行,與應用系統的設計密切相關[3],故數據表的復制由應用程序開發(fā)者或業(yè)務系統維護人員來配置與管理。鑒于數據表管理的復雜性,大型事務處理系統很少采用表級復制技術來實現系統級的異地容災備份。

        本文基于對事務處理系統及其業(yè)務流程的深入理解,以應用軟件開發(fā)及數據庫管理的雙視角,提出一種融入到應用程序框架的業(yè)務數據實時同步方法,意在克服純系統級數據同步技術的局限性,化解數據同步技術在完整性、實時性與實現成本之間的矛盾,體驗異地容災備份的最佳實踐。

        2 事務處理系統中的數據流分析

        一個規(guī)?;氖聞仗幚硐到y由若干層次構成,如前置通信層或者業(yè)務界面層、事務邏輯處理層、業(yè)務數據管理層等。業(yè)務界面層的服務程序部署在后臺的一般為B/S架構,部署在客戶端的一般為C/S架構。C/S架構需要在平臺測部署前置通信程序,以接收客戶端提交的事務交易報文。無論何種架構,前端系統通常將事務封裝成約定的交易報文格式交付給后端系統進一步處理。

        B/S架構的系統由于界面呈現的元素,如頁面、表單、圖片等需從后臺系統實時獲取,互聯網業(yè)務門戶一般部署較高的帶寬,但業(yè)務界面上的瀏覽與操作并不會持續(xù)產生事務的提交,B/S架構實際事務的提交流量與C/S架構下事務的提交流量相仿。

        本文在后續(xù)章節(jié)中將各類架構的交易報文形成端,統稱為交易報文層。

        事務處理系統每個層面的數據流量呈金字塔形態(tài),從前端交易報文的形成至后臺業(yè)務數據的落地,數據流量以量級遞增。如表2所示。百字節(jié)的單筆業(yè)務交易有可能牽動百K字節(jié)存儲塊的變更。

        表2 業(yè)務數據的層次與流量

        各事務處理系統之間通常租用點到點專線進行業(yè)務數據交換。三大通信運營商以2 M帶寬的DDN、SDH、MSTP等各類型線路為租賃及計費單元,符合實際應用中的業(yè)務數據流量需求[4]。單個業(yè)務網點通常采用更低的9600 bps~64 Kbps帶寬線路或采用逐漸流行的GPRS無線APN方式接入,事務處理后臺系統以E1線路或運營商無線APN專網線路等實現廣域網鏈路匯聚,匯聚線路總帶寬一般在2 Mbps至30 Mbps之間。

        顯然,事務處理系統在交易報文的收發(fā)端其數據流量甚少,數據冗余度極低,交易報文以精簡的格式包羅了事務處理系統的業(yè)務變更信息。通常單個交易報文從幾十字節(jié)到幾百字節(jié)不等,100萬筆的業(yè)務量才產生幾十兆至幾百兆的總數據流量。若將主生產系統收到的交易報文實時復制到異地備份系統,理論上以最小的代價實現了業(yè)務數據的同步。

        3 交易報文的同步方法實現

        3.1 融合同步的策略

        交易報文必須經過業(yè)務邏輯層的處理才能落地為持久態(tài)的業(yè)務數據。單純采用交易報文的同步方式,需要在異地開啟活動的應用系統及相應的數據庫。這種雙活的應用模式實際運用十分復雜。建立在實際業(yè)務環(huán)境中的數據庫管理系統還承擔著日常業(yè)務管理的訪問需求。這些后臺管理業(yè)務,通過不同的程序對接數據庫系統,如此,本地數據庫與異地數據庫隨著活動時間的積累將存在很大的差異性。采用存儲系統層面雙向數據實時同步的機制,雖可以消除差異,但結構復雜且成本巨大[5]。實際上異地雙活應用系統也非必要的業(yè)務需求。

        為避免兩地數據庫的差異性,本文提出的交易報文同步方法并非孤立地應用在實際系統中。該方法的核心思想是在數據流量大的底層(如數據庫層)采用數據異步復制技術,在數據流量小的上層(交易報文層)采用數據實時同步復制技術,從而彌補系統層數據異步復制造成的近期交易數據的缺失,使數據同步完整性、實時性與技術成本之間的矛盾得以化解。

        3.2 交易報文同步方法的構成

        本文提出的交易報文實時同步方法建立在事務處理系統應用軟件及數據庫管理系統的環(huán)境下[6]。

        生產數據庫系統將歸檔日志傳遞到異地數據庫系統,異地數據庫系統將接收到的歸檔日志重做回備份數據庫,這是一個穩(wěn)定的、成本低廉的備份數據庫同步與恢復機制,但備份數據庫與生產數據庫始終存在著差異(在線日志或未歸檔日志中的事務數據)。

        交易報文的同步方法旨在兩地事務處理系統中部署一對交易報文的同步管理程序與交易同步報文緩沖池,簡稱交易報文同步系統。主系統同步程序將待處理的交易報文分解、驗證與再封裝,封裝后的交易同步報文增加了交易識別號、時間戳、會話標識號等必要的信息[7],可理解為應用級的交易重做日志,并按設定的工作模式持續(xù)地將應用級的交易同步報文傳遞到異地系統。本地應用系統在處理交易報文的后續(xù)流程中將交易識別號等相關信息隨數據庫事務的提交同步記錄到交易狀態(tài)表。

        在災難恢復過程中,異地備份數據庫通過歸檔日志恢復后,通常處于不完全恢復狀態(tài),此時異地應用系統比較交易狀態(tài)表與交易同步報文緩沖池的相關信息,將差額交易數據提取并重新交付后續(xù)應用程序處理,這可理解為適時恢復數據的策略,從而實現業(yè)務數據的零丟失目標。交易狀態(tài)表用來識別備份數據庫歸檔日志已恢復了哪些成功提交的事務[8]。

        交易同步報文緩沖池實際上是一個先進先出交易同步報文存儲區(qū),簡稱FIFO緩沖區(qū),用以保存事務處理系統近期產生的交易數據或稱交易重做日志。主備系統兩端各維持一個交易同步報文緩沖池,以滿足不同工作模式下的報文同步需求。

        同步管理程序由同步通信程序、緩沖池管理程序等組成。同步通信程序負責兩地系統之間的交易同步報文的封裝與傳輸,緩沖池管理程序負責管理FIFO緩沖區(qū),定時判別備份數據庫中歸檔日志的恢復狀態(tài),清除緩沖池內過時的交易同步報文。

        3.3 交易報文的分解規(guī)則

        規(guī)則1:針對批量交易事務,設T為原始交易報文,i為當前交易識別序號,n為T中包含的面向數據庫的事務對象數量。若n>1,則多個事務對象依次序拆分成多個交易同步報文,即{Ti,Ti+1,…,Ti+n-1}。

        規(guī)則2:針對聯機會話事務,多個交易報文對應一個數據庫事務對象,則標記事務起始報文及事務結束報文,以會話識別號為關聯值,識別整體事務對象。標示為:Tb為會話起始報文,Te為會話結束報文,k為會話識別號,交易同步報文子集{Ti.SessionID=k,i=b,b+1,b+2,…,e}被識別為整體事務。

        規(guī)則3:針對文件收發(fā)事務,建立事務起始報文及事務結束報文。識別文件對象收發(fā)的完整性,支持大文件斷點續(xù)傳。

        3.4 交易報文同步的工作模式

        為滿足特定的業(yè)務需求,交易報文同步系統設計為多種工作模式,各模式工作方式,如表3所示。

        表3 交易報文同步系統的工作模式

        最高一致性模式下,主系統交易報文層的應用程序必須確認交易同步報文寫入本地及異地的FIFO緩沖區(qū)后,再將交易報文交付后續(xù)應用程序處理。此時,若數據同步線路故障,則該應用程序掛起,不再繼續(xù)工作,直至故障恢復或同步工作模式切換。這種模式可保持兩地系統最高的事務數據一致性。

        最高可用性模式下,主系統交易報文層的應用程序將交易同步報文寫入本地FIFO緩沖區(qū)后,交易報文隨即交付后續(xù)應用程序處理。同步管理程序以后臺任務方式將本地FIFO緩沖區(qū)的交易同步報文傳遞到對端系統,或稱異步模式。此時若數據同步線路故障,主系統業(yè)務處理流程不受影響。這種模式符合生產系統絕對優(yōu)先原則,任何備份措施的故障不應該造成生產系統的停頓。

        自動管理模式在同步線路故障時事務處理流程有短暫的延時,延時時間取決于兩地交易報文同步系統之間設定的健康檢查條件。一般情形下,設定單位時間內數次獲取不到對端系統的正常應答信息,則判定通信故障。自動管理模式體現了備份措施能用則用,但備份措施故障時業(yè)務系統還得繼續(xù)工作的原則。這個模式也是應用實踐中的推薦模式。

        4 實驗與分析

        實驗數據源自于特大型城市的公共交通一卡通支付清算業(yè)務系統。實驗環(huán)境由該系統的原型測試系統組成,主系統及備系統各由二臺HPUX小型機及一臺HP XP20000存儲構成,其中一臺小型機部署Oracle數據庫系統,另一臺部署清算業(yè)務應用系統。二臺小型機及存儲系統具備較高配置,滿足每秒處理800筆業(yè)務交易的能力。

        為了便于實驗環(huán)境的搭建及各種實驗條件的控制,主備系統均位于同一機房。兩個系統之間采用專屬以太網線路連接,并通過以太網接口速率的協商控制,滿足千兆、百兆及十兆等數據同步線路帶寬的實驗條件。

        測試數據庫表空間基礎容量2 TB左右,沉淀3年以上的業(yè)務數據。每個在線日志200 MB。6 000萬筆測試業(yè)務數據來自實際生產系統3至4個交易日業(yè)務數據的積累。實驗環(huán)境下測試輔助程序通過讀取交易累積目錄下的業(yè)務數據文件形成原始交易報文直接交付給應用系統的前置通信程序。

        實驗共分三輪,每輪使用2 000萬筆交易業(yè)務測試數據。

        第一輪測試采用數據庫在線日志實時同步方式,實驗觀察該方式下對系統性能的影響及網絡帶寬的要求。該輪實驗主備數據庫運行在Oracle Dataguard最大保障模式下(無數據丟失),主備系統之間網絡帶寬千兆。2 000萬筆交易處理用了近30個小時,平均每秒處理約200筆交易。鑒于這個結果,更低帶寬的同步條件已無測試必要。

        第二輪測試采用數據庫歸檔日志異步傳輸方式及交易報文實時同步方式。實驗觀察該方式下對系統性能的影響及網絡帶寬的要求。該輪實驗主備數據庫運行在Oracle Dataguard最大性能模式,應用層交易報文同步系統工作在最高一致性模式。主備系統之間網絡帶寬按預估帶寬百兆設定。2 000萬筆交易處理用了約8個小時,平均每秒處理約700筆,該性能達到單系統峰值處理能力的87.5%,已滿足異地容災備份的預定技術要求。

        第三輪測試與第二輪測試工作方式基本一樣。但本輪實驗應用層交易報文同步系統工作在自動管理模式。實驗觀察該方式下網絡帶寬對數據同步狀態(tài)的影響及業(yè)務數據的恢復能力。測試情況如表4所示。

        表4 各階段網絡帶寬及系統同步狀態(tài)

        本輪最后階段結束后(主系統處理完2 000萬筆交易),中斷二個系統之間的網絡連接,此時,備系統僅恢復到已傳輸完成的歸檔日志。將備份數據庫激活,應用層交易報文重做恢復機制介入,備系統的交易報文同步管理程序通過比較備庫的交易狀態(tài)表與備系統交易同步報文緩沖池的相關報文信息,將差額交易數據從備系統交易報文同步緩沖區(qū)中提取并交付備系統應用程序處理,適時恢復備系統的業(yè)務數據。差額交易共用時30分鐘,處理150萬筆交易。最后,通過主備兩個數據庫系統一卡通賬務表,交易明細表,業(yè)務清算表等對比,主備系統業(yè)務數據完全一致。

        實驗表明,本文方法有效,并具有較高的寬容度,在極低的同步線路帶寬下仍能穩(wěn)定工作,高達百萬筆的業(yè)務交易差異能有效識別并適時恢復,恢復后的事務處理系統業(yè)務數據一致性和完整性能切實保障。

        5 容災備份中的實際應用

        上海與北京兩個特大型城市的公共交通一卡通支付系統,日均業(yè)務量均在2 000萬筆左右,地鐵、公交、出租等公共交通支付服務事關民生與社會穩(wěn)定,建立異地容災備份系統刻不容緩。2004年上海一卡通系統率先采用應用級的交易報文同步技術,實現同城異地的容災備份。2007年北京一卡通系統采用改進后的交易報文同步技術,也建立了同城異地的容災備份體系。兩大異地容災備份系統均采用百兆以太網的數據同步線路,數據庫歸檔日志日均產生量100 GB左右,數據庫系統在百兆網絡條件下以最大性能模式異步傳輸歸檔日志。一卡通支付業(yè)務系統平均每筆交易長度控制在150 B,交易報文日均產生量低于3 GB。交易報文數據實時同步在百兆以太網線路條件下對實際應用系統性能的影響低至忽略不計。主數據同步線路故障時,僅2 Mbps帶寬的數據同步備份線路的條件下,數據庫歸檔日志傳遞已處于卡頓狀態(tài),基于交易報文的數據同步方法還能正常工作,此時一旦災難發(fā)生,異地系統仍可依賴應用級的交易報文重做機制保障業(yè)務數據的完整性。二大系統經歷了2008年奧運及2010年世博會期間大業(yè)務量的考驗,十余年來穩(wěn)定運行,基于應用層的交易報文同步技術不斷改進、日趨成熟,逐漸形成了目前完整的、可重用的數據同步應用體系。

        實際上,本地備份數據庫的恢復過程也可以通過應用程序重做本地緩沖池內的交易報文,實現業(yè)務數據的完整恢復,進一步增強應用系統自身結構上的業(yè)務恢復能力。

        6 結 語

        本文給出的基于交易報文的數據實時同步方法,將事務處理系統的交易報文歸納為應用級的重做日志,結合數據庫的歸檔日志恢復機制,在大業(yè)務量的應用系統中,無需高成本、高帶寬的數據同步線路,即可實現異地備份系統業(yè)務數據的完整性與一致性。經實際案例的測試與分析,該方法的可行性、有效性得到了充分驗證。該方法在特定事務處理系統的異地容災備份實踐中具有較強的可操作性和實用價值。

        [1] 陳文捷,蔡立志.大數據安全及其評估[J].計算機應用與軟件,2016,33(4):34-38,71.

        [2] 楊天明,吳海濤.一種批處理塊級數據去重方法[J].計算機應用與軟件,2016,33(5):44-46,60.

        [3] 馮凌穎,陳耀武,蔣榮欣.一種異構主從模式數據同步園區(qū)停車系統的設計與實現[J].計算機應用與軟件,2016,33(4):64-67,75.

        [4] 張澤鑫,李俊,常向青. 互聯網流量的演化研究[J]. 計算機應用與研究,2015,32(11):3215-3221.

        [5] 丁建立,王斌強,張超.異地雙活數據中心服務區(qū)域劃分優(yōu)化[J].計算機應用與軟件,2016,33(2):30-32,54.

        [6] 王晨光,王靜,張超,等.面向航空物流的數據交換平臺設計方法研究[J].計算機應用與軟件,2015,32(12):34-37.

        [7] 郝平,林原沖.一種移動網絡下基于雙時間戳的數據增量同步研究[J].計算機應用與軟件,2016,33(4):143-145,226.

        [8] 王德軍,何征,王麗娜. 基于事件的連續(xù)數據保護系統研究[J].計算機應用研究,2014,31(2):465-471,475.

        RESEARCHONREAL-TIMEDATASYNCHRONOUSMETHOD
        BASEDONTRANSACTIONMESSAGE

        Shang Hai Ying

        (ShanghaiJiuyuSoftwareSystemCo.,Ltd.,Shanghai200233,China)

        This paper presents the common methods of remote data synchronization in computer information system. Under the large volume business scene of a transaction processing system, traditional data replication technology is limited by high network bandwidth. Therefore, we propose a real-time data synchronization method based on transaction message. The transaction messages of transaction processing system were classified as application level message redo logs, and the methods and strategies of packet decomposition and encapsulation, message synchronization and buffer pool management were adopted. Finally, the real-time synchronization target of business data was realized with very low line bandwidth. Through the implementation of disaster recovery case practice, we fully verified the feasibility and effectiveness of the method. The proposed method can significantly reduce the implementation cost of application-level disaster recovery in large traffic.

        Transaction processing system Disaster recovery Redo log Data replication Recovery point objective

        2017-06-09。尚海鷹,工程師,主研領域:事務處理系統,系統集成,數據庫管理。

        TP3

        A

        10.3969/j.issn.1000-386x.2017.11.025

        猜你喜歡
        異地日志備份
        “備份”25年:鄧清明圓夢
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        游學日志
        推進醫(yī)保異地結算 穩(wěn)字當先
        如何開拓異地市場?
        你適不適合異地戀
        文苑(2015年10期)2015-10-09 11:21:50
        淺析數據的備份策略
        科技視界(2015年6期)2015-08-15 00:54:11
        破除異地結算的地方抵制
        一種基于粗集和SVM的Web日志挖掘模型
        日本二区三区视频免费观看| 午夜福利麻豆国产精品 | 亚洲黄色一级毛片| 亚洲av噜噜狠狠蜜桃| 精品视频一区二区三区日本| 国产精品三级av及在线观看| 亚洲国产高清在线观看视频| 级毛片无码av| 亚洲一区二区三区视频免费看| 亚洲av色香蕉一区二区三区老师| 日产精品久久久久久久蜜臀| 人妻少妇精品无码系列| 日本本土精品午夜视频| 免费观看18禁无遮挡真人网站| 呻吟国产av久久一区二区| 五码人妻少妇久久五码| 久久精品不卡一区二区三区| 成l人在线观看线路1| 国产欧美一区二区成人影院| 手机在线观看亚洲av| 日韩精品无码一区二区三区 | 曰韩内射六十七十老熟女影视| 久久综合九色综合网站| 国产91一区二这在线播放| 国产人妖伦理视频在线观看| 国产精品无码久久综合| 无遮挡亲胸捏胸免费视频| 国产天堂av手机在线| 一区二区三区国产免费视频| 88久久精品无码一区二区毛片| 久久久精品2019中文字幕之3| 日本大片一区二区三区| 亚洲熟妇av一区| 久久韩国漫画无删减漫画歪歪漫画| 久草国产手机视频在线观看| 精品国产一区二区三区不卡在线| 国产精品久久久久久久久免费| 91青草久久久久久清纯| 亚洲成人精品在线一区二区| 日韩乱码人妻无码中文字幕久久| 色综合另类小说图片区|