999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-02-02 13:07:08侯超平
山東工業技術 2016年22期
關鍵詞:用戶服務系統

侯超平

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

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

侯超平

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

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

分布式系統;自治站點;數據同步

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

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

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

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

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

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

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

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

1.2 分布式自治站點系統工作原理及方式

以業務系統為用戶1進行業務服務為例,其系統工作原理如圖2所示:

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

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

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

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

1.3 分布式自治站點系統特點

相對于傳統的單一業務站點的服務方案,分布式自治站點的方案具有以下特點:

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

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

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

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

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

2.1 同步周期

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

2.2 關鍵字同步沖突處理

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

2.3 更新數據捕獲

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

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

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

2.4 更新數據源識別

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

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

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

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

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

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

3 數據同步流程設計

3.1 站點同步流程

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

同步流程:

(1)業務系統對業務數據表進行數據更新操作觸發數據表上的觸發器。

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

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

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

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

3.2 核心工作表設計

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

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

表1 各站點信息表

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

表2 數據更新日志表

4 結語

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

[1]劉塵塵.基于Android平臺的分布式文件系統協議研究[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-),男,研究生,工程師,研究方向:分布式系統、云計算及虛擬化。

猜你喜歡
用戶服務系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 日韩在线观看网站| 日本人妻丰满熟妇区| 日韩无码视频专区| 日韩精品无码免费一区二区三区 | 在线观看欧美国产| 国产男人的天堂| 91在线精品麻豆欧美在线| 亚洲精品桃花岛av在线| 国产自无码视频在线观看| 亚洲国产日韩欧美在线| 成人免费网站久久久| 国产 日韩 欧美 第二页| 国产伦精品一区二区三区视频优播| 制服丝袜亚洲| 亚洲人成网站18禁动漫无码| 91久久精品国产| 亚洲成a人片7777| 亚洲无码视频喷水| 久久香蕉国产线看观看式| 欧美亚洲日韩不卡在线在线观看| 亚洲国产成人自拍| 中文字幕亚洲精品2页| 久久这里只精品国产99热8| 天堂岛国av无码免费无禁网站| 国产亚洲精品97AA片在线播放| 色国产视频| 日本一本在线视频| 国产一级妓女av网站| 99热这里只有免费国产精品 | 欧美特级AAAAAA视频免费观看| 国产成人精品无码一区二| 制服无码网站| 午夜啪啪福利| 1024国产在线| 欧美色99| 1024国产在线| 久久精品人妻中文系列| 五月天丁香婷婷综合久久| 人妻91无码色偷偷色噜噜噜| 精品福利一区二区免费视频| 国产一线在线| 中文字幕2区| 亚洲精品老司机| 精品久久国产综合精麻豆| 国产女人18毛片水真多1| 视频二区中文无码| 久久狠狠色噜噜狠狠狠狠97视色| 亚洲欧美综合在线观看| 青青操视频在线| 国产成人一二三| 欧美高清日韩| 亚洲A∨无码精品午夜在线观看| 国产精品色婷婷在线观看| 亚洲狼网站狼狼鲁亚洲下载| 91在线一9|永久视频在线| 久视频免费精品6| 日本不卡免费高清视频| 国产日韩欧美在线视频免费观看| 人妻无码一区二区视频| 国产草草影院18成年视频| 国产91高跟丝袜| 亚洲性一区| 久久超级碰| 国产日韩丝袜一二三区| 亚洲黄色网站视频| 国产精品第| 亚洲中文字幕在线观看| 国产精品私拍在线爆乳| 无码人中文字幕| 国产资源站| 蜜臀AVWWW国产天堂| 亚洲伊人久久精品影院| 亚洲精品图区| 欧美日韩精品综合在线一区| 亚洲首页国产精品丝袜| 亚洲高清中文字幕在线看不卡| 国产免费人成视频网| 中文无码日韩精品| 99久久精品国产麻豆婷婷| 丁香五月激情图片| 日韩精品资源| 狠狠色综合网|