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

JTangSync分布式異構數據同步系統的設計與實現

2016-02-23 12:12:08張淵源張琴燕姚祥龍
計算機技術與發展 2016年12期
關鍵詞:數據庫系統

張淵源,張琴燕,李 峰,姚祥龍

(1.浙江中醫藥大學 信息技術學院,浙江 杭州 310053;2.浙江大學 計算中心,浙江 杭州 310058;3.浙江大學 計算機科學與技術學院,浙江 杭州 315100;4.浙江省科技信息研究院,浙江 杭州 310006)

JTangSync分布式異構數據同步系統的設計與實現

張淵源1,張琴燕2,3,李 峰4,姚祥龍3

(1.浙江中醫藥大學 信息技術學院,浙江 杭州 310053;2.浙江大學 計算中心,浙江 杭州 310058;3.浙江大學 計算機科學與技術學院,浙江 杭州 315100;4.浙江省科技信息研究院,浙江 杭州 310006)

集團企業數據往往分布在各異構環境中,但業務需求又要求企業進行數據交換和同步。由于應用平臺和數據模式各不相同,傳統的數據同步方式缺乏統一的同步框架。針對這一問題,設計并實現了一種分布式異構數據同步系統JTangSync。該系統采用分布式架構,每個節點由數據源模塊、數據傳輸模塊和處理器模塊等組成。每個模塊都設計為可替換插件形式以便于二次擴展,各個節點依賴Zookeeper組成集群,具有集中管理、故障轉移以及斷點續傳等多項功能。通過對比實驗分析,證明該方法在異構數據同步方面具有較好的效果。

分布式異構數據集成;數據同步方式;JTangSync;數據傳輸;Zookeeper集群

0 引 言

處于起步期的企業,由于業務數量有限,數據很可能進行集中式存儲。但隨著業務的不斷擴展,數據模式將演變成為分布式數據[1]存儲于不同地區,并且容易導致數據的不一致性問題[2]。因此,需要研究一套同步系統將不同地區的數據進行有效整合,保證所有地區數據的一致性。

分布在不同地域的數據傳輸依賴于網絡,要求整個數據同步系統必須是分布式的,并且由于業務的復雜性、地區之間業務的差異性以及人為原因等,每個地區的數據很有可能是存儲在異構系統中[3]。如A地區數據存儲在MySQL數據庫中,而B地區數據存儲在Oracle數據庫中,這兩種方式雖有相似之處,但是許多方面是不兼容的,在實現數據同步時需要屏蔽這種差異性。然而,即使數據存儲系統是一致的,也有可能出現數據庫名稱、存儲格式等差異,使得數據同步系統設計變得非常復雜[4]。

數據同步系統應具有自動化、實時性、異構性、高可用性、高可靠性。自動化是指整個系統在運行時,基本不需要用戶干預,能夠自動完成數據的同步。實時性是指處理數據的及時性,從數據的產生到處理耗費的時間應該在業務可承受范圍之內,分鐘甚至毫秒。異構性是指同步系統不僅支持多種多樣的數據源,而且還應該支持數據源的抽象和擴展。數據源包括文件系統、Web網絡、FTP網絡、數據庫、ERP系統等。高可用性是指系統應該能夠7*24運行,在可用性上至少要達到4個9的目標。因為數據同步系統一般承擔企業級的核心數據和業務流程,對可用性上有很高的要求。高可靠性是指在運行時可能會遇到各種突發情形(比如數據庫連接斷開、網絡斷開、IP地址改變等環境因素)導致同步出錯或者不能繼續進行,數據同步系統應該能夠檢測同步出錯,讓系統在環境恢復時重新進行同步[5-6]。

工業界對同步數據問題的解決方案大致有兩種,第一種是專門開發一種系統用來滿足自己的業務邏輯,可以支持自身要求的數據格式,最多支持同一種數據格式系統的擴展。這一類系統以數據庫增量實時同步系統為代表。第二種是基于流處理框架開發,在大數據時代傳統的計算模式己經不能適應現在的大數據量和數據多樣性,多種計算模式使得流計算又重新煥發了生機,并且隨著云計算的普及,數據的流計算增加了許多新的特征,比如高擴展性、分布式支持等等[7]。由于數據同步實際上是流處理的一種,用戶在流處理之上開發數據同步需要自己解決斷點續傳、增量數據獲取、分布式等難題,所以這種方法雖然擴展性更高,但是開發成本也更高[7-10]。

基于此,文中設計了一種異構數據同步系統JTangSync。與傳統方法相比,用戶基于JTangSync提供的接口可以定義自己的同步邏輯,然后快速開發期望數據格式的系統,并且不需要考慮斷點續傳、故障恢復等問題[11],此外監控管理平臺讓用戶省去開發自己的監控管理平臺。JTangSync專門解決數據同步問題,尤其是數據庫同步的問題。設計了大量的異構數據源和處理程序,用戶開發一般的數據同步只需按照指導在監控管理平臺進行配置然后啟動即可。

1 相關技術

數據同步系統設計和實現的相關技術,包括Zookeeper,Protocol Buffer,Snappy,Netty,Jetty,Fast JSON等等。

1.1 Zookeeper

JTangSync使用Zookeeper來管理配置信息,包括所有的數據源配置、數據處理器配置、監控實例配置、節點信息和Manager的選舉[12]。

ZooKeeper源于Hadoop的一個子項目,是一個應用于大型分布式系統的協調系統,功能包括分布式同步、配置維護、名字服務等。ZooKeeper封裝復雜易出錯的服務,提供可靠易用的接口和高效穩定的系統。一個分布式的環境需要Master實例來存儲一些配置信息,使用Zookeeper來維護信息和配置信息等,確保寫入文件的一致性。

1.2 Netty

JTangSync使Netty作為其核心組件,實現分布式的網絡程序。Netty是一個著名的開源NIO框架,主要功能是提供異步的、事件驅動的網絡應用程序接口,使用Netty能夠快速開發高性能、高可靠性的網絡服務器和客戶端程序[13]。

使用Netty可以確保網絡應用的開發過程更加簡單和快速,例如實現了HTTP協議的客戶和服務端應用。Netty大大簡化和流線化了網絡應用的編程開發過程,例如TCP和UDP的Socket服務開發。在設計上Netty借鑒各協議的經驗,包括FTP、SMTP、HTTP、二進制、文本協議等。

1.3 Protocol Buffer

JTangSync設計了網絡數據的交換過程,如數據傳輸、節點間通信、性能監控等等。由于Protocol Buffer在Netty中存在相關的編碼器和解碼器,使用Protocol Buffer作為JTangSync中的數據標準的交換格式[14]。

Protocol Buffer是Google的一種數據交換格式,它獨立于語言和平臺,提供了三種實現語言:Java、C++和Python。每一種實現過程都包含了相應語言的編譯器以及庫文件。由于它是二進制的格式,比使用XML進行數據傳輸更快,因此可以把它用于分布式應用之間的數據通信或者異構環境下的數據交換。作為一種效率和兼容性都很優秀的二進制數據傳輸格式,可以廣泛運用于諸如網絡傳輸、配置文件、數據存儲等諸多領域之中。

1.4 Snappy

為提高效率,JTangSync中網絡傳輸的數據需要壓縮,但是傳統的壓縮算法耗時較長。該系統使用Snappy算法作為網絡傳輸的標準壓縮算法。Snappy是Zippy的開源實現。它作為一個壓縮庫被Google用于許多內部項目中,包括MapReduce,RPC和BigTable。Snappy優化了64位x86處理器,經測試,Snappy在單個Intel Core i7處理器內核上壓縮速度為每秒250 MB,解壓速率為每秒500 MB。

1.5 Fast JSON

JTangSync使用JSON描述數據交換格式。JSON是基于JavaScript的一個子集,采用完全獨立于語言的文本格式,使得JSON成為理想的數據交換語言,既易于人類閱讀和編寫,又易于機器解析和生成。

Fast JSON是阿里巴巴公司開發的一個JSON開發庫[15]。與傳統的JSON解析相比,Fast JSON的解析速度更快,并且Fast JSON的API設計比較合理,包含多種Java對象與JSON轉化的方法。其中,最大的優點在于可以與Java Bean進行相互轉化。在JTangSync中,Fast JSON主要用于Web程序的數據交互、集群間節點的性能數據交換等方面。

2 數據同步系統設計

同步系統是將數據從一個系統、軟件或者文件等存儲中提取出來并且通過網絡連接、郵件等方式傳輸到另一個不同或者相同的系統中,最終將數據導入到目標系統的存儲中的自動化系統。

如圖1所示,節點中運行的功能單位是同步實例,代表一個從數據源到數據處理器的完整邏輯。一個同步實例包含一個數據源、一個由0到多個數據處理器組成的數據源處理器鏈、一個由0到多個數據處理器組成的本地處理器鏈。

本節將分別從數據源模塊、網絡傳輸模塊、數據處理模塊和集群模塊來介紹JTangSync異構數據同步系統。

圖1 系統拓撲結構

2.1 數據源模塊

數據源是指JTangSync獲取數據源的一種代理器。由于一般的同步系統中數據源與處理邏輯并不在同一個域中,安全性要求數據源從外界進行訪問時必須通過代理來獲取數據。此外,數據來源多種多樣,如MySQL數據源、SQL Server數據源、Oracle數據源、文件數據源等。數據源的主要職責就是獲取數據并且通過網絡轉發出去。數據源模塊就是管理數據的功能模塊。

2.2 數據源工作流程

數據源的主要職責就是獲取數據并且轉發到數據傳輸模塊。數據源管理器管理所有的數據源,數據源管理器接收到初始化數據,然后查找是否存在此類型的數據源。如果找到,則初始化數據源,數據源進入工作狀態。在此過程中,如果發生任何異常或錯誤,數據源退出。最后重新初始化數據源是同步實例的職責,而不是數據源的職責。

2.3 網絡傳輸模塊

網絡傳輸模塊的主要職責是將數據盡量及時轉發出去。實現難點包括延遲低、數據速率高。延遲低是指數據到達網絡傳輸模塊之后,需要盡快地傳輸出去,以及時將數據提交到對端。

數據速率高是指網絡傳輸的速度要盡量快。當數據包比較小需要合并時,這兩者是沖突的,因為由于IO接口只能支持有限的調用次數(現今大約為數百次/s),所以必須在每次調用IO接口時傳輸盡量多的數據。由于數據包較小,那么每秒發送的數據量會很小。因此,必須進行緩存。

2.4 數據傳輸流程

數據傳輸模塊處理數據源模塊產生的數據。由于IO設備的限制,每秒的IO次數是一定的,數據要先進入緩存。如果數據量達到或超過限制,或者超時(超時限制設置為200 ms),將數據序列化方便網絡傳輸[16]。序列化方法要求序列化和反序列化的速度要快,不能影響網絡傳輸的效率。文中以Protocol Buffer作為序列化技術。

接著分析當前的數據是否需要壓縮,判斷策略主要通過預測算法,通過過去的數據預測當前時間點的情況,如果過去1小時之內使用壓縮傳輸數據的平均速度為mkB/s,不使用壓縮傳輸數據的平均速度為MkB/s,那么有以下策略:

上式的意義為,當m>M,即壓縮的數據傳輸速度大于不壓縮,則將當前的壓縮模式切換為非壓縮模式。由于Snappy算法在壓縮和解壓縮方面速度遠勝于GZIP庫,所以JTangSync在網絡傳輸模塊中采用Snappy算法。

2.5 數據處理模塊

數據模塊是管理和配置、執行數據處理器的模塊。用戶的數據處理需求比較復雜,單一的數據處理器不能滿足用戶的全部需求,采用責任鏈模式來定義用戶要求的數據處理邏輯。此外,如果JTangSync中提供的數據處理器不滿足用戶的特殊需求,用戶可以通過JTangSync數據處理開發接口開發自己的數據處理器。

2.6 JTangSync數據處理流程

數據處理模塊是處理數據的主要模塊,JTangSync中處理數據的一個功能單元模塊,又稱Handler。每一種數據處理邏輯在JTangSync中都對應一個數據處理器,多個數據處理器可以配置為一個數據處理器鏈,數據處理器鏈是單向并且不可循環的。其中數據處理器是數據處理模塊的組成單元。當配置一個同步實例時,用戶需要配置若干數據處理器,這些數據處理器按照配置的先后順序組成一個責任鏈來處理這一個同步實例的數據。

數據處理器在使用之前需要初始化,這一過程可能需要配置信息,然后數據處理器開始處理數據。初始化所需配置信息統一為Key-Value格式,配置信息數據類型為String。

數據源處理器鏈由0到多個數據處理器組成,數據源會將數據提交給處理器鏈然后進行網絡傳輸。本地處理器鏈由0到多個數據處理器組成,可以從網絡接收數據并且進行處理。為與數據源處理器鏈相區別,稱為本地處理器鏈。一個同步實例中數據處理器需要在兩個階段運行,第一個階段在網絡傳輸之前進行,主要進行數據過濾、合并、統計等,稱為數據源處理器。第二個階段是在網絡傳輸之后進行,主要責任是處理數據,稱為本地處理器。兩個階段的處理器是共用的,接口設計完全相同,體現了JTangSync的高度靈活性。

2.7 JTangSync集群模塊

集群模塊是管理和控制JTangSync集群的模塊,主要功能有節點管理、負載均衡、故障轉移和狀態監控、Manager選舉、集群間通信、本地同步實例管理等。在管理控制平臺,用戶可以實現JTangSync集群管理、數據源管理、性能監控、處理器管理等所有目標。

2.8 JTangSync集群流程

JTangSync設計為集群模式,多個JTangSync節點通過JTangSync集群模塊可以組成一個JTangSync集群。節點指一個JTangSync進程,是指JTangSync集群中的一個資源單位,一個JTangSync集群中可能包含1到多個JTangSync節點,同步實例可以運行在其中任何一個節點上。Node的定義與節點定義相同。JTangSync集群模塊包含JTangSync集群運行的必需功能。

文中使用Zookeeper實現JTangSync集群模塊,提供一致的分布式事件回調接口,使用方便。樹形目錄結構與當前系統保持一致,并且樹形結構目錄的每個節點都提供服務,這滿足了分布式系統中的配置信息保存的需求[17-18]。

3 JTangSync節點實現

3.1 數據源的實現

數據源是JTangSync中的核心組件,數據源的質量和數量決定了JTangSync是否強大。數據庫增量數據源是JTangSync核心中的核心,是指當前提取的數據都是數據庫在一段時間之內的增量數據,與數據庫數據源是不一樣的概念。數據庫數據源只是簡單的連接數據庫,然后獲取其中的全量數據,實現的難度較數據庫增量數據源低。數據庫增量數據源的實現難度大,對效率、延遲的要求都會比其他的數據源高。

MySQL數據源實現是基于MySQL本身的Replication協議,Replication是專門用于MySQL之間復制的協議。Replication協議中需要同步數據的MySQL稱為Slave,提供增量數據的稱為Master,數據傳輸基于Slave和Master之間的TCP連接,Master中增量數據存儲的位置是binary log(二進制日志),存儲格式有三種:statement,row,mixed。在JTangSync中選擇Row格式作為MySQL增量數據源的二進制日志格式。

Sqlserver的增量數據源使用Sqlserver的變更數據捕獲功能(又稱為Change Data Capture,CDC),Sqlserver的變更數據捕獲功能有一些限制。首先CDC有版本限制,只有SQL server2008以及以上版本才支持。其次CDC功能需要為每個表開啟一個臨時表。盡管存在這些限制,比起觸發器方法還是有很多優勢。

3.2 數據傳輸的實現

數據傳輸基于Netty實現。Netty不僅是優秀的NIO和多線程框架,而且提供了許多協議庫,其中包括snappy和protocol buffer的實現。數據傳輸代碼如下:

ChannelPipeline pipeline=ch.pipeline();

ch.pipeline().addLast(new MySnappyDecoder());

ch.pipeline().addLast(new MySnappyEncoder());

ch.pipeline().addLast(new ProtobufVarint32FrameDecoder());

ch.pipeline().addLast(new ProtobufDecoder(SyncEvent.Event.getDefaultInstance()));

ch.pipeline().addLast(new ProtobufVarint32LengthField Prerpender());

ch.pipeline().addLast(new ProtobufEncoder());

pipeline.addLast(“handler”, new SnappyProtobufServerHandler(ch));

自適應壓縮算法的主要思想是在Netty中實現一個專門用于統計網絡傳輸字節數的的handler,并且向上層提供接口,上層邏輯可以使用這個接口實現自適應壓縮算法。例如,此handler統計到己經發送了n1字節,經過ts之后變成n2字節,ts內的發送速度為(n2-n1)/t/1 024,單位為kB/s,相比之前的速度即可決定是否需要進行壓縮算法。

3.3 數據處理器的實現

過濾處理器是指根據一定規則過濾數據的處理器,這里的規則主要有相等、不等、大于、小于、大于等于、小于等于等規則。過濾處理器使用的范圍是在數據庫同步領域,比如當傳輸數據庫數據時,用戶可能需要過濾掉多余數據。

數據庫處理器是將數據導入數據庫的處理器。由于不同的數據庫的SQL標準是不一樣的,所以每個數據庫對應一個數據庫處理器。數據庫處理器需要考慮:首先,如果是關系型數據庫,那么要將數據的提交格式設置為false并且執行一定數量的SQL之后提交;如果是非關系型數據庫,那么要盡量減少IO的次數。其次,數據傳輸時要盡量打包,減少網絡IO的次數。最后,如果通過JDBC執行SQL,需要使用prepared statement,因為數據只有insert、delete、update三種,可以將三個prepared statement緩存起來,等待重復使用。實驗證明,性能至少提高了10%~20%。

4 JTangSync集群實現

JTangSync集群中存在多個節點,需要一個協調者擔任Manager的角色。這個Manager節點的主要任務是啟動Web監控管理平臺和協調集群運行。

4.1 Manager選舉算法

JTangSync中選舉算法的流程如圖2所示。

圖2 JTangSync中選舉算法的流程圖

1)JTangSync在zookeeper目錄中的//nodes/目錄下新建一個類型為EPHEMERAL_SEQUENTIAL的node,它是zookeeper中的順序內存node。SEQUENTIAL保證了創建此node的目錄下所有的SEQUENTIAL類型的node名稱都是順序的,名稱由zookeeper決定;EPHEMERAL類型node保證了此節點只存在于連接有效的時間段內,如果創建此node的連接失效,那么zookeeper將自動把此node刪除。EPHEMERAL_SEQUENTIAL類型就是以上兩種類型的集合。

2)JTangSync在/nodes目錄下新建一個Watcher。Watcher是zookeeper中的一種分布式事件通知器,如果Watcher所在的node的數據發生變化(包括刪除、修改)或者node下的節點發生變化(包括刪除、新建),Watcher就會得到通知,并且執行Watcher中的回調方法。

3)如果當前Watcher被調用,那么分兩種情況:

如果nodes下節點數量達到配置中JTangSync集群中節點的數量并且當前還未啟動完成,那么將獲取當前nodes下所有的節點并且排序,名稱最小的節點將成為manager節點。Manager節點將會完成以下操作:

(1)啟動當前節點的web監控管理控制平臺。

(2)分配所有標志為“自動啟動”的同步實例到JTangSync節點上運行。

如果nodes下節點數量沒有達到JTangSync集群中節點的數量,并且當前還未啟動完成,那么就返回。

如果當前JTangSync集群標志為已啟動,并且當前nodes下的node數量有變化,那么更新manager,新的manager需要完成以下操作:

(1)啟動當前節點的web監控管理控制平臺。

(2)啟動故障轉移模塊。

JTangSync的選舉非常靈活,利用zookeeper不僅能夠快速準確地選舉出manager節點,并且利用zookeeper實現了在過去manager節點失效的情況下選舉新的manager,實現了分布式系統中的高可靠性。

4.2 節點熱部署

利用Zookeeper,還可以實現在運行時新增節點。新增節點必須在整個JTangSync集群己經啟動的情況下進行(如圖3所示)。

圖3 增節點的流程

從圖3中看到,節點的熱部署[19-20]大致分為2步:

(1)啟動,并且連接Zookeeper,與選舉算法中的描述相同,在nodes下新建watcher,在nodes下新建EPHEMERAL SEQUENTIAL類型node。

(2)此時,其他watcher都會收到通知,并且更新本地所有的node信息。

4.3 節點熱移除

借助Zookeeper的分布式通知功能,可以實現JTangSync節點的熱移除功能。JTangSync集群中節點的移除流程如圖4所示。

由于節點在Zookeeper中建立的是EPHEMERAL類型的節點,停止之后,zookeeper中建立的節點消失,/nodes/節點下node數量變化,其他的JTangSync節點都會收到通知,最后更新manager和本地的node信息。

5 系統性能測試

5.1 操作類型的支持

測試JTangSync在MySQL數據庫insert,update,delete語句。測試數據共426 570條,包括146 570條插入數據,140 000條刪除數據,以及140 000條更新數據。測試環境為內網環境。測試見表1。

圖4 節點熱移除的流程

測試類型花費時間/s性能/(條/s)insert207328delete20.36896update226363

5.2 模塊性能測試

測試JTangSync的數據源的數據捕獲性能、數據發送模塊性能、數據處理器性能和內存占用。測試配置從Master到Slave,同步426 570條數據。Slave自身性能測試先使用獨立的20萬條插入數據,之后與整個系統的性能比較,得出是否己經達到了整個系統的瓶頸。

性能測試結果如表2所示。

表2 性能測試結果

數據傳輸模塊的瓶頸在16 000條/s左右,與數據源性能相差如此大的原因是因為需要將數據源模塊獲取的數據轉化為JTangSync的統一數據格式,這耗費了很多時間。另一方面是JTangSync己經達到了整個系統的性能瓶頸,JTangSync的性能最高達到6 874,Salve的性能瓶頸在7 104,除去JTangSync在數據傳輸、壓縮、轉換的消耗,JTangSync在資源的利用和性能方面做的比較好。

6 結束語

JTangSync是異構數據同步框架,主要功能是為用戶提供一個高可用、高性能、高可擴展的數據同步開發平臺。用戶使用這個框架無需關心數據同步中常見的數據格式、數據傳輸、斷點續傳、故障恢復等問題,只需要考慮基本的業務邏輯和數據源、數據處理器的開發即可。JTangSync內置了大量的數據源和數據處理器,免去用戶重復開發一些常用數據源和數據處理器的煩惱。從測試結果上看,JTangSync是一個優秀的異構數據同步框架。

未來,由于數據同步的需求多種多樣,JTangSync將整合用戶的各種需求,開發新的數據源和數據處理器,并加入新的數據同步邏輯。

[1] Leslie B,Ron B,Charles D L T,et al.Formulary and database synchronization[J].American Journal of Health-System Pharmacy,2011,68(3):204-206.

[2] 潘群華,吳秋云,陳宏盛.分布式數據庫系統中數據一致性維護方法[J].計算機工程,2002,28(9):255-257.

[3] 戴婉榮.基于分布式數據庫的數據同步機制的研究與應用[D].武漢:武漢理工大學,2010.

[4] Liao Guoqiong.Data synchronization and resynchronization for heterogeneous databases replication in middleware-based architecture[J].Journal of Networks,2012,7(1):210-217.

[5] 魏祥麟,陳 鳴,范建華,等.數據中心網絡的體系結構[J].軟件學報,2013,24(2):295-316.

[6] 章 筠.計算機網絡可靠性分析與設計[D].杭州:浙江大學,2013.

[7] 蔡 亮,劉 騰.基于寫操作集的數據庫同步復制模型[J].計算機工程,2011,37(13):61-62.

[8] 秦 森,楊 艷.基于Oracle日志分析的數據還原操作的設計及實現[J].電腦知識與技術:學術交流,2007,1(3):626-628.

[9] 紀 彬,賀 立,白廣利,等.基于JMS的數據交換技術研究與實現[J].自動化技術與應用,2011,30(2):70-73.

[10] 趙 莉,杜思鋒.數據交換平臺中異構數據轉換技術的研究[J].電子設計工程,2011,19(5):91-93.

[11] Hossain M S,Masud M,Muhammad G,et al.Automated and user involved data synchronization in collaborative e-health environments[J].Computers in Human Behavior,2014,30(1):485-490.

[12] 孫大為,張廣艷,鄭緯民.大數據流式計算:關鍵技術及系統實例[J].軟件學報,2014,25(4):839-862.

[13] 金志國,李 煒.基于Netty的HTTP客戶端的設計與實現[J].電信工程技術與標準化,2014,27(1):84-88.

[14] 竇進業.基于Protocol Buffers的企業即時通訊應用的研究與實現[D].青島:中國海洋大學,2014.

[15] 王 凱,趙庚申,劉國良.基于Android的電能管理系統的研究[J].南開大學學報:自然科學版,2015,48(2):69-74.

[16] 陳增強,郭嘉琳,劉忠信,等.具有斷點續傳功能的文件傳輸系統的設計與關鍵技術[J].計算機工程,2002,28(12):14-16.

[17] 王 賓.Hadoop集群的部署與管理系統的設計與實現[D].南京:南京大學,2013.

[18] 張 璇.面向移動計算的分布式文件共享服務平臺軟件研究[D].杭州:浙江大學,2010.

[19] 李海騁,曹 春,呂 軍,等.支持依賴修復的熱部署技術[J].計算機科學,2014,41(11):141-145.

[20] 金 海,官象山,吳 松,等.分布式存儲系統中文件傳輸優化的設計與實現[J].華中科技大學學報:自然科學版,2005,33(1):4-6.

Design and Implementation of Distributed Heterogeneous Data Synchronization Platform JTangSync

ZHANG Yuan-yuan1,ZHANG Qin-yan2,3,LI Feng4,YAO Xiang-long3

(1.College of Information Technology,Zhejiang Chinese Medical University,Hangzhou 310053,China;2.Computer Center,Zhejiang University,Hangzhou 310058,China;3.College of Computer Science,Zhejiang University,Hangzhou 315100,China;4.Institute of Scientific and Technical Information of Zhejiang Province,Hangzhou 310006,China)

The group enterprise data is usually stored in different heterogeneous environment,but the business requirement needs data exchange and synchronization for enterprise.Due to different application platform and data model,the traditional data synchronization method lacks of an unified framework for data synchronization.To this point,a distributed heterogeneous system JTangSync is designed and implemented for data synchronization.In this distributed architecture,each node contains data source module,the data transmission module and processor module.Each module is a replaceable plug-in which is convenient for secondary extension,and each node uses Zookeeper cluster which has capacity of centralized management,failure shifting and breakpoint continuing.It is proved in experiment that the method has good effect in heterogeneous data synchronization.

distributed heterogeneous data integration;data synchronization;JTangSync;data transmission;Zookeeper clusters

2015-10-16

2016-02-24

時間:2016-11-21

浙江省省級公益性技術應用研究計劃(2014C33081);浙江省科技計劃項目(2013F20007)

張淵源(1980-),女,講師,碩士,研究方向為信息系統和醫療軟件中間件。

http://www.cnki.net/kcms/detail/61.1450.TP.20161121.1633.012.html

TP311.5

A

1673-629X(2016)12-0169-07

10.3969/j.issn.1673-629X.2016.12.037

猜你喜歡
數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 久久这里只有精品2| 国产乱人激情H在线观看| 日本久久免费| 国模私拍一区二区| 国产精品jizz在线观看软件| 亚洲美女高潮久久久久久久| 日本成人在线不卡视频| 亚洲人视频在线观看| 国产哺乳奶水91在线播放| 亚洲成人动漫在线| 免费A级毛片无码无遮挡| 亚洲视频色图| 亚洲国产日韩在线观看| 中文字幕2区| 亚洲无线国产观看| 成人午夜精品一级毛片| 沈阳少妇高潮在线| 成人福利在线看| 免费人成黄页在线观看国产| 久久国产亚洲偷自| 色婷婷成人| 国产在线八区| 91区国产福利在线观看午夜| 亚洲电影天堂在线国语对白| 国产成人禁片在线观看| 国产电话自拍伊人| 狠狠亚洲婷婷综合色香| 亚洲色图狠狠干| 亚洲国产日韩一区| 99re热精品视频国产免费| 在线观看国产网址你懂的| 国产最爽的乱婬视频国语对白| aⅴ免费在线观看| 成人av手机在线观看| 国产成人欧美| 成人免费午间影院在线观看| 精品视频第一页| 色播五月婷婷| 久久久久青草大香线综合精品| hezyo加勒比一区二区三区| 国产精品久久久久无码网站| 国产二级毛片| 国产手机在线小视频免费观看| 亚洲二区视频| 思思热在线视频精品| 狠狠色噜噜狠狠狠狠奇米777| 日韩亚洲高清一区二区| 人人91人人澡人人妻人人爽| 天天色天天综合网| 免费高清毛片| 69av在线| 91亚洲国产视频| 91在线高清视频| 日韩欧美一区在线观看| 国产乱人伦AV在线A| 国产人成乱码视频免费观看| 五月激激激综合网色播免费| 国产精品第一区| 亚洲系列中文字幕一区二区| 999精品色在线观看| 亚洲精品国产综合99| 亚洲a级毛片| AV天堂资源福利在线观看| 广东一级毛片| 四虎永久免费地址在线网站| 天堂va亚洲va欧美va国产| 最新国语自产精品视频在| 久久动漫精品| 91视频日本| 日韩大片免费观看视频播放| 亚洲 欧美 中文 AⅤ在线视频| 久久成人免费| 国产欧美日韩另类| 亚洲无码日韩一区| 亚洲日韩AV无码一区二区三区人| 国产清纯在线一区二区WWW| 中文字幕 91| 久久亚洲欧美综合| 99久久精品国产精品亚洲| 人妻夜夜爽天天爽| 欧美日本激情| 午夜电影在线观看国产1区|