高 凱,黃偉杰,吉國杰,黃利民
1.西安測繪研究所,陜西 西安,710054;2.地理信息工程國家重點實驗室,陜西 西安,710054;3.77200部隊,云南 昆明,650032
?
一種基于CDN網絡的數據同步方法
高 凱1,2,黃偉杰3,吉國杰1,2,黃利民1,2
1.西安測繪研究所,陜西 西安,710054;2.地理信息工程國家重點實驗室,陜西 西安,710054;3.77200部隊,云南 昆明,650032
隨著人們對網絡訪問速度、服務質量要求的提高,網絡內容和網絡用戶急劇增加,構建一個地理位置分布的內容分發網絡即CDN網絡勢在必行,其網絡訪問加速服務提高了網絡的使用效率。本文針對動態地理數據的加速訪問、CDN網絡數據的緩存或復制,提出了一種基于CDN網絡的數據同步策略,從而保障用戶對地理信息資源服務的需求。
CDN;數據同步;數據為中心
為了減少用戶的訪問時間,CDN網絡利用緩存、同步、負載均衡和客戶請求重定向將數據資源推向網絡邊緣緩存節點,使得用戶可以就近訪問該區域數據,從而提高用戶的訪問速度。因此,應當依據一定的策略方法同步緩存節點的數據信息,且由用戶訪問度來決定緩存數據內容,從而滿足特定環境需求,保證緩存節點數據最新并且準確。
CDN(Content Delivery Network)即內容分發網絡,是在現有的Internet網絡中增加一層新的網絡架構,將源站的內容發布到最接近用戶的網絡“邊緣節點/區域”,使用戶可以就近取得所需的內容,提高用戶訪問數據的響應速度;從技術上解決網絡帶寬小、網絡中斷、用戶訪問量大和網點分布不均等引起的數據訪問問題,提升源站數據的訪問性能,為網絡用戶提供良好的地理信息資源與服務保障。
CDN是一個經策略性部署的整體網絡系統,能夠幫助用戶解決分布式存儲、負載均衡、網絡請求重定向和內容管理等問題。數據資源存儲在網絡上供下載和訪問,根據用戶訪問的區域和頻度,數據資源被推送至離客戶最近的網絡節點,極大提升了下載的速度和質量,在為網絡用戶提供優質服務的同時,也能降低訪問源站的數據傳輸壓力。CDN網絡架構如圖1所示。

圖1 CDN架構圖
管理好緩存節點數據是CDN網絡的關鍵,為了判斷緩存節點與源站數據的一致性,需要建立節點的數據目錄配置文件(以下稱目錄表),目錄表存放在緩存節點上,記錄各個節點在源站的數據目錄,以獲知該節點緩存的數據,也可以把目錄表看成各個節點向源站訂閱數據的訂單。如果數據源有更新,源站就負責告知訂閱其數據的各個緩存節點服務器。緩存節點訪問申請更新的數據,負責更新同步。目錄表的建立可以有效管理各個節點緩存數據,知道該節點需要更新哪些數據,也是數據同步策略實現的前提。目錄表對同步進行了更精確的操作,通過使用目錄表的記錄,避免無目的的數據同步,并且需要將目錄表與源站廣播標記
狀態信息配合使用來完成數據資源的同步操作。
在CDN網絡中,用戶直接訪問邊緣緩存節點的數據資源,其數據與源站數據的一致性直接影響到用戶的數據應用效果。當緩存節點內沒有用戶所需內容,則需向源站服務器請求數據資源,從源站獲取內容會有較大延遲,因此要把熱點數據部署在緩存中,提高緩存服務器空間的利用率[2-6]。數據訪問有兩種模式,模式一為緩存節點包含用戶訪問的數據,直接返回給用戶;模式二為緩存節點不包含用戶訪問的數據,從源站請求相應數據再返回給用戶。數據訪問如圖2所示。

圖2 數據訪問
本文采用的數據同步方法是基于事件的廣播數據請求策略,即EB-Pull機制。該數據同步策略允許各個緩存節點有屬于自己的本地緩存,當源站更改了某項數據后,除了更新本地數據外,廣播數據修改信息。在此只廣播被修改資源文件的狀態信息,告知所有緩存節點該數據被修改,如果節點發現命中(目錄表中包含廣播的修改的數據名錄)內容,則直接申請修改覆蓋節點相應的緩存數據。在緩存服務器中并不需要把未命中(目錄表中有名錄,而數據修改狀態信息中沒有)內容都拉取到本地。該緩存服務器中的數據必須時刻與源站數據保持一致。考慮到用戶訪問數據的時效性與可靠性,EB-Pull方法主要是將源站熱點數據同步到邊緣節點,并且以必須的、最小的數據量傳輸確保各種環境下本地服務器有數據可用。
(1) 當源站數據發生修改、添加或刪除時,事件監聽進程記錄其數據修改狀態信息并通過Socket通信向所有緩存節點服務器發出廣播信號,且標記變化數據的信息。其廣播信息包含源站數據更新狀態標識,即修改、刪除或添加,以及更新數據文件的目錄信息,直接對應到緩存節點本地的目錄表,防止數據盲目的更新,這將大大減輕源站數據訪問的壓力。狀態標識的廣播信息,一方面數據量比較小,有利于網絡傳輸;另一方面對后續的數據訪問可以起到指引作用,即文件點對點的數據更新,保證整個節點有完整可用的數據。廣播信息格式如表1所示。
表1 廣播信息格式

節點數據1數據2目錄狀態目錄狀態Cache1./home/data1修改./home/data2添加Cache2./home/data3刪除./home/data4修改…………
(2) 緩存節點接收到廣播信息后,解析廣播信息并與本地目錄表比較,若包含該節點緩存數據的更新,則主動向源站發起數據同步進程,更新本地緩存數據。采用拉取緩存方式是一種主動的、動態的內容管理方法,能快速適應訪問的動態變化,保證內容的同步。每次更新后修改完善目錄表中的更新目錄,目錄表格式如表2所示。
表2 目錄表格式

節點基礎目錄更新目錄附加目錄目錄標識備注目錄標識備注目錄標識備注Cache1./home1/index1區域號權限、數據量、建立時間等./home1/index2區域號權限、數據量、建立時間等./home1/index3區域號權限、數據量、建立時間等Cache2./home2/index1區域號權限、數據量、建立時間等./home2/index2區域號權限、數據量、建立時間等./home2/index3區域號權限、數據量、建立時間等…………
數據請求同步主要采取SSH+Rsync方式,由緩存節點發出數據同步進程。基于密鑰安全驗證的SSH需要依靠密鑰,即節點服務器自己創建一對密鑰,并把公用密鑰放在源站服務器上。當緩存節點發出數據請求,首先進行密鑰的安全驗證,密鑰一致才允許緩存節點進行數據的訪問,這樣可以加密所有傳輸的資源數據,防止網絡攻擊。基于文件或文件目錄同步的Rsync借助SSH協議連接到源站服務器并請求更新匹配數據,可以保存整個目錄樹以及保持源文件的權限、時間和相關鏈接等,而且數據在傳輸中可以實行壓縮及解壓縮操作,降低對網絡帶寬的要求。
用戶訪問本地緩存數據時,還有可能出現請求的數據既不在本地緩存,也不在本地的目錄表中。這時CDN網絡就直接從源站請求數據,而這一過程用戶并不知曉,并且是偶爾才出現的,請求的數據量往往也較小。本地服務器可以根據一定規則修正完善本地目錄表,追加目錄表中的附加目錄,經過若干次這樣的過程后,本地目錄表將自適應地趨于完善和平衡。
本實驗選擇Linux系統(CentOS-5.5),按照表3所示搭建實驗環境。網絡為局域網,帶寬100MB。
表3 實驗環境搭建

角 色數 量IP分配開源軟件備 注Apache服務器3192.168.233.128:80|81|82Apache、Inotify、Rsync、NFS三個Apache服務器共享在一臺主機上(虛擬服務器)全局智能DNS1192.168.233.129Bind將域名解析地址直接指向對應的負載均衡服務器地址Cache服務器2192.168.233.129/192.168.233.131Squid+Bind、Squid+Rsync兩臺緩存服務器同時指向Web服務器的對應端口負載均衡服務器1192.168.233.130LVS/Nginx對兩臺緩存服務器采用輪詢訪問方式
實驗數據:數據量為10GB的任意數據,其中單個文件最大300MB,最小3KB,分布式存儲在3臺Apache服務器上。
實驗結果:兩種數據訪問模式均正常運行。單次訪問100MB任意數據,模式一在8s內完成數據訪問及更新,模式二在20s內完成數據訪問及更新。源站數據更新后,緩存節點立刻獲悉更新消息,更新100M數據耗費時間約10s以內。數據訪問100次更新同步正常,其中89次為模式一數據訪問。
實驗結論:本文提出的數據同步策略,一方面保證用戶的數據請求絕大部分由最近的緩存服務器完成,另一方面保證以最小數據量進行數據同步更新,有利于網絡傳輸。
CDN技術可以快速、高效地提供數據訪問速度與服務質量,特別是在地理信息數據下載方面,有著無可比擬的優勢。本文所闡述的在CDN網絡上基于內容變化事件的數據同步策略符合以數據為中心這一需求在特殊環境下用戶的訪問要求,將區域保障數據完整地提供給用戶。本文提出的數據同步分發策略將在保障用戶基礎數據的方面發揮重要作用,將最新、準確、完整的地理信息數據提供給終端用戶訪問。
[1]陳曉發,王挺. CDN技術在廣東省地震信息網中的應用研究[J].地震研究,2012(4):583-587.
[2]Peichang Shi, Huaimin Wang. ACON:Adaptive Construction of the Overlay Network in CDN-P2P VoD System [C].Proceedings of 2011 IEEE 3rd International Conference on Communication Software and Networks(ICCSN 2011),2011.
[3]Chun Liu. The Research of audio and video public network platform based on CDN and P2P [C]. Proceedings of the 11th International Symposium on Distributed Computing and Applications to Business,Engineering & Science(DCABES 2012),2012.
[4]Lin Pan, Van Oostrum. Uncertainty Quantification of Group Synchronization and Control of a New Class of Adaptive Complex Dynamical Network with Brownian Motion and Time-varying Delay [C]. 第三十三屆中國控制會議論文集(B卷),2014.
[5]張書波,康來成,黃瑩. 分布式、異構、多時態空間數據的同步復制技術研究[J]. 國土資源信息化, 2010(4):38-43.
[6]Jong-Myoung Kim.DTPD: Data Transfer Tool Performance Diagnosis System in High Speed Networks[C].Proceedings of the 11th Asia-Pacific Network Operations and Management Symposium,2008.
[7]何江,陳育謙. 基于統一地理空間情報數據模型的測繪保障[J]. 指揮信息系統與技術, 2010(3):50-53.
A Method of Data synchronization Based on CDN Network
Gao Kai1,2, Huang Weijie3,Ji Guojie1,2,Huang Limin1,2
1. Xi’an Research Institute of Surveying and Mapping, Xi’an 710054, China 2. State Key Laboratory of Geo-information Engineering, Xi’an 710054, China 3. Unit 77200, Kunming 650032, China
As Internet content and network users increase sharply and one has higher requirement for network access speed and service quality, it is imperative to build a CDN network of location-distribution delivery. This kind of network access speed service improves the efficiency of the network. Considering the dynamic geographic data access and CND network cache or copy, this paper proposes a strategy of data synchronization based on CDN network. Thus it provides the users with good geographic information sources and service.
CDN; data synchronization; data-centric
2015-06-01。
高凱(1984—),男,工程師,主要從事地形分析與空間數據組織方面的研究。
P208
B