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

        ?

        Web環(huán)境下的分布式自治站點數據同步技術研究

        2016-02-02 13:07:08侯超平
        山東工業(yè)技術 2016年22期
        關鍵詞:觸發(fā)器數據表日志

        侯超平

        (桂林電子科技大學, 廣西 桂林 541004)

        Web環(huán)境下的分布式自治站點數據同步技術研究

        侯超平

        (桂林電子科技大學, 廣西 桂林 541004)

        本文對Web環(huán)境下典型的分布式自治站點系統(tǒng)拓撲結構及工作方式進行研究。重點研究了同步周期、關鍵字同步沖突處理、更新數據捕獲、更新數據源識別等分布式自治站點數據同步過程中的關鍵問題,并設計了一個適用于分布式系統(tǒng)自治站點數據同步的技術方案。

        分布式系統(tǒng);自治站點;數據同步

        1 分布式自治站點應用場景及工作方式

        1.1 分布式自治站點應用場景

        隨著企業(yè)信息化水平的提高及基于Web環(huán)境下的業(yè)務系統(tǒng)的發(fā)展,以往單一站點業(yè)務系統(tǒng)的服務模式已很難滿足業(yè)務系統(tǒng)的需要,具體表現為如下幾個方面:

        (1)單一站點負載能力有限,無法滿足高并發(fā)的業(yè)務訪問需求。

        (2)可靠性及可用性差,如果站點的軟、硬件出現故障,則整個業(yè)務系統(tǒng)癱瘓。

        (3)位于不同網絡運營商的用戶訪問業(yè)務站點,可能會存在響應時間長、互連互通等問題,用戶體驗差。

        考慮到以上問題,為了保障業(yè)務系統(tǒng)的快速響應及高可用性,在進行業(yè)務系統(tǒng)整體規(guī)劃時一般會采用分布式結構進行解決。分布式系統(tǒng)(distributed system)是建立在網絡之上的軟件系統(tǒng),其對于用戶而言具有較高的透明性和內聚性[1]。比較常見的是分布式自治站點結構,一種典型的拓撲結構如圖1所示。

        圖1中的分布式系統(tǒng)由一個超級站點及若干個普通站點所組成,每個站點均為一個獨立自治站點,可以獨立為系統(tǒng)用戶提供業(yè)務服務。超級站點除了具有普通站點服務功能外,還擔負著整個業(yè)務系統(tǒng)入口及用戶首次業(yè)務請求至各站點負載均衡調度功能。

        1.2 分布式自治站點系統(tǒng)工作原理及方式

        以業(yè)務系統(tǒng)為用戶1進行業(yè)務服務為例,其系統(tǒng)工作原理如圖2所示:

        (1)用戶1向系統(tǒng)入口服務站點A(超級站點)發(fā)出服務請求。

        (2)服務站點A收到用戶1的服務請求后,根據當前各站點的可用性狀況,將用戶1的服務請求重定向至可用性最優(yōu)的站點上(圖2中服務站點A向用戶1返回訪問請求重定向至服務站點B上的指令)。

        (3)用戶1的web瀏覽器收到重定向至服務站點B的指令后,自動重新訪問服務站點B以取得業(yè)務服務。此后,用戶1將通過持續(xù)訪問服務站點B獲得系統(tǒng)服務。

        (4)用戶1在服務站點B進行業(yè)務操作期間,所產生的業(yè)務數據更新,將通過數據同步的方式同步至其它的服務站點,以使用戶1下次業(yè)務請求被重定向至其它站點時可以繼續(xù)業(yè)務操作。

        1.3 分布式自治站點系統(tǒng)特點

        相對于傳統(tǒng)的單一業(yè)務站點的服務方案,分布式自治站點的方案具有以下特點:

        (1)高吞吐及高并發(fā)。用戶的業(yè)務請求被分散到各自治站點中,由各站點共同為業(yè)務用戶提供服務,業(yè)務系統(tǒng)的負載能力可以得到大幅提升。

        (2)負載均衡。負載均衡功能可以通過監(jiān)控各自治站點的性能情況,并將用戶訪問請求調度到綜合性能值最好的站點上,提高訪問響應效能。

        (3)高可用。某部分站點出現故障時,可以離線處理故障,其它站點可以繼續(xù)承擔用戶業(yè)務訪問請求,避免單一站點模式中出現軟、硬件故障時造成業(yè)務系統(tǒng)癱瘓的問題。

        (4)容災性。由于各自治站點的業(yè)務數據進行相互同步,所以理論上由n站點構成的分布式自治系統(tǒng)中,將會有n-1個數據副本,具有很強的容災性。

        2 分布式自治站點數據同步關鍵問題

        2.1 同步周期

        由于分布式系統(tǒng)在數據同步時存在網絡延遲、I/O耗時等因素,無法保證副本數據和主節(jié)點時刻保持一致[2]。在自治站點之間一般采用弱一致性的辦法來進行處理,最終保持各站點數據的一致性。在同步的時候,需要考慮在同步周期與系統(tǒng)開銷之間取得平衡,既能保證各自治站點數據及時相互同步,又能最大程度避免同步事務對系統(tǒng)資源消耗而造成服務響應速度下降的問題。

        2.2 關鍵字同步沖突處理

        在分布式系統(tǒng)中,位于不同自治站點上的同一數據表新插入的記錄字段值可能會相同,如果字段為數據表的關鍵字,在各站點數據相互同步時就會產生關鍵字沖突,為了避免關鍵字沖突就必須要求數據表關鍵字段值全局唯一。從傳統(tǒng)單一服務站點結構向分布式系統(tǒng)結構改造,或全新設計分布式系統(tǒng)時,要充分考慮該問題。為確保各站點同一數據表關鍵字段值全局唯一,通常進行以下處理:為各業(yè)務數據表添加站點標識字段(字段值為站點在分布式系統(tǒng)中的唯一編號),并將站點標識字段與業(yè)務數據表原關鍵字一起構成組合關鍵字,從而實現數據表記錄關鍵字段值全局唯一。

        2.3 更新數據捕獲

        用戶在站點上進行業(yè)務操作時將會產生數據更新(新增、刪除、修改),這些數據更新操作需要被記錄下來形成更新日志,并將業(yè)務數據更新操作信息同步到其它各站點上,由運行于其它站點上的程序執(zhí)行同樣的數據更新操作序列來實現數據同步,使各站點上的業(yè)務數據保持一致。常用的更新數據捕獲分為觸發(fā)器捕獲和DBMS的CDC功能兩類。

        (1)觸發(fā)器捕獲。在業(yè)務數據表上部署insert、delete操作觸發(fā)器,當產生事件觸發(fā)時,通過觸發(fā)器記錄數據更新操作信息到更新日志中。

        (2)CDC功能。較新版本的SQL Server或Oracle提供了一種叫做變更數據捕獲 CDC(Change Data Capture) 的功能,可以通過在數據庫中顯示開啟CDC 跟蹤功能及DBMS中的代理服務器功能,實現捕獲數據庫中表對象數據的變化情況。

        2.4 更新數據源識別

        在分布式系統(tǒng)中自治站點上的數據更新從數據源的角度可以分為兩種類型:

        (1)站點上業(yè)務系統(tǒng)為用戶提供服務產生的數據更新,比如用戶增加或刪除業(yè)務數據等。

        (2)其它站點向本站點傳送過來數據更新操作記錄日志,并根據日志記錄順序在本站點上執(zhí)行操作序列,實現數據同步而產生的數據更新。

        對于由本站點產生的業(yè)務數據更新,需要將其記錄到數據更新日志表中,日志信息待傳送至其它站點上執(zhí)行,以保持各站點數據一致;而由其它站點同步到本站點的數據更新操作日志信息,僅需要根據更新操作日志信息執(zhí)行寫庫操作完成數據同步即可,無須再次將這部分數據更新再次同步至其它站點上。那么各站點需要對這兩類數據更新的寫表操作進行區(qū)別處理。

        例如本站點業(yè)務系統(tǒng)執(zhí)行的新增插入記錄操作,需要通過觸發(fā)器記錄到數據更新日志表中(日志信息待同步至其它站點上);而由其它站點新增記錄數據同步到本站點上,在本站點執(zhí)行插入記錄操作實現數據同步時,無須通過觸發(fā)器將這些操作記錄在數據更新日志表中(即不需要再次同步至其它站點),否則各站點上的同步更新數據會出現無限次相互循環(huán)同步的問題。

        由于觸發(fā)器是由特定的數據操作事件來觸發(fā)的,事件本身并不能區(qū)別這兩類數據更新,所以必須在觸發(fā)器執(zhí)行的過程中進行更新數據源識別,并進行相應處理。比較常用的識別更新數據源的辦法是,在數據庫管理系統(tǒng)中為不同類型的數據源分配不同的用戶賬號,比如站點上的業(yè)務系統(tǒng)連接數據庫時使用A賬號,數據同步程序連接數據庫時使用B賬號,通過識別數據庫連接賬號的方法來區(qū)別不同的數據更新類型,并在觸發(fā)器中進行相應處理。

        3 數據同步流程設計

        3.1 站點同步流程

        為了使設計方案適用于不同的數據庫管理系統(tǒng),具有通用性,方案使用Oracle、SQL Server、MySQL等多種數據庫均可支持的觸發(fā)器作為更新數據捕獲手段。各站點間的數據更新同步流程如圖3所示。

        同步流程:

        (1)業(yè)務系統(tǒng)對業(yè)務數據表進行數據更新操作觸發(fā)數據表上的觸發(fā)器。

        (2)觸發(fā)器通過數據庫連接用戶名識別出產生更新操作的數據源為業(yè)務系統(tǒng),則將數據更新操作寫入“數據更新日志表”。如果識別出的更新數據源為同步程序(其它站點向本站點同步數據),則觸發(fā)器不執(zhí)行任何操作。

        (3)站點同步程序通過“數據更新日志表”及“業(yè)務數據表”將發(fā)生數據更新的記錄操作還原成等價的SQL語句。插入記錄操作還原成insert語句,刪除記錄操作還原成delete語句,更新記錄操作等價還原成delete或insert兩個語句。

        (4)站點同步程序獲取“各站點信息表”中的各站點信息,通過Socket把業(yè)務系統(tǒng)數據更新操作等價SQL語句傳送到其它站點中,并由其它站點上的同步程序處理。

        (5)當本站點上的同步程序接收到從其它站點發(fā)送過來的數據更新等價SQL語句后,執(zhí)行這些SQL語句序列,實現其它站點發(fā)生的數據更新同步至本站點中。

        3.2 核心工作表設計

        系統(tǒng)工作表為同步操作提供必要的數據信息,最核心的兩個工作表為“各站點信息表”和“數據更新日志表”。

        (1)“各站點信息表”為分布式系統(tǒng)中各個站點提供統(tǒng)一的全局站點信息視圖,該表在超級站點上維護,站點的信息更新將同步至各站點中,數據同步程序將根據該表中記錄的各站點信息把本站點產生的數據更新同步至其它站點上。各站點信息表結構如表1所示。

        表1 各站點信息表

        (2)“數據更新日志表”用于記錄各業(yè)務數據表的數據更新操作情況,為同步程序定位發(fā)生數據更新的記錄提供關鍵字段值等信息,也為構造出等價SQL語句過程提供基本信息。數據更新日志表結構如表2所示。

        表2 數據更新日志表

        4 結語

        Web環(huán)境下的分布式自治站點業(yè)務系統(tǒng)相對于傳統(tǒng)的單一站點業(yè)務系統(tǒng)具有更強的負載能力、高可用及強容災性等優(yōu)點。由于各站點均可獨立向業(yè)務用戶提供服務,所以保持各站點的數據一致性是分布式自治站點業(yè)務系統(tǒng)的關鍵。本文研究了分布式自治站點的數據同步問題,重點研究了同步周期、關鍵字同步沖突處理、更新數據捕獲、更新數據源識別等關鍵問題,并設計了一個適用于分布式系統(tǒng)自治站點數據同步的技術方案。該方案給出了站點同步流程和核心工作表的設計,在實現分布式系統(tǒng)承受更多業(yè)務負載的同時,使各自治站點的數據同步過程能更有序、高效地執(zhí)行。

        [1]劉塵塵.基于Android平臺的分布式文件系統(tǒng)協議研究[J].西昌學院學報(自然科學版),2012,26(02):82-84

        [2]楊步濤.分布式數據庫的一致性探討(網絡)[J].http://blog. csdn.net/yangbutao/article/details/8365695.

        10.16640/j.cnki.37-1222/t.2016.22.115

        侯超平(1981-),男,研究生,工程師,研究方向:分布式系統(tǒng)、云計算及虛擬化。

        猜你喜歡
        觸發(fā)器數據表日志
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        湖北省新冠肺炎疫情數據表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于列控工程數據表建立線路拓撲關系的研究
        主從JK觸發(fā)器邏輯功能分析
        電子世界(2017年22期)2017-12-02 03:03:45
        游學日志
        使用觸發(fā)器,強化安全性
        圖表
        基于VSL的動態(tài)數據表應用研究
        河南科技(2014年24期)2014-02-27 14:19:25
        一種基于粗集和SVM的Web日志挖掘模型
        色播在线永久免费视频网站| 精品无码国产一区二区三区av| 99精品免费久久久久久久久日本| 无码人妻精品一区二区三区下载 | 亚洲精品1区2区在线观看| 国产精品私密保养| 欧美人伦禁忌dvd放荡欲情| 国内精品视频一区二区三区| 久久频这里精品99香蕉| 日本一区二区啪啪视频| 亚洲综合视频一区二区| 久久久精品久久久久久96| 亚洲日韩国产欧美一区二区三区| 精品国产乱码久久久久久1区2区| 中文字幕经典一区| 亚洲av中文aⅴ无码av不卡| 一本久久伊人热热精品中文| 国产91精品高潮白浆喷水| 国产成人精品无码一区二区三区| 和外国人做人爱视频| 国产精品亚洲专区无码web| 亚洲色欲色欲欲www在线| 少妇特殊按摩高潮对白| 东北熟妇露脸25分钟| 一本久道综合色婷婷五月 | 亚洲最新国产av网站| 粗壮挺进人妻水蜜桃成熟漫画 | 动漫在线无码一区| 青青草免费高清视频在线观看| 日本一二三四区在线观看| 亚洲中文字幕无码av永久| 欧美日韩精品一区二区在线观看| 亚洲另类欧美综合久久图片区| 日韩熟女精品一区二区三区视频| 欧洲美熟女乱av亚洲一区| 色妞www精品视频| 中文字幕精品久久天堂一区 | 日韩av中出在线免费播放网站 | av在线播放免费网站| 久久精品国产亚洲av无码偷窥| 日韩好片一区二区在线看|