• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      雙機熱備系統(tǒng)中的數(shù)據(jù)同步技術研究

      2013-07-25 03:19:50何娟娟李戰(zhàn)懷
      微處理機 2013年2期
      關鍵詞:雙機機上哈希

      何娟娟,李戰(zhàn)懷,宋 慧

      (西北工業(yè)大學計算機學院,西安710129)

      1 引言

      雙機熱備系統(tǒng)中一臺主機為工作機(Master機),另一臺主機為備份機(Backup機)。系統(tǒng)在正常情況下,工作機為系統(tǒng)提供支持,備份機監(jiān)視主機的運行情況。當工作機出現(xiàn)異常時,備份機接管服務,主動轉為新的工作機,繼續(xù)支持系統(tǒng)運行。這時,故障節(jié)點可以離線維修,當故障節(jié)點恢復正常后,重新加入到雙機熱備系統(tǒng)中運行,變?yōu)閭浞莨?jié)點,從而保證了系統(tǒng)不間斷運行,實現(xiàn)永不停機的功能,對用戶來說,只經(jīng)歷了短暫的重啟過程。純軟件的雙機熱備因為沒有共享磁盤陣列,所以通過網(wǎng)絡在兩臺主機之間進行實時的數(shù)據(jù)復制。當主機發(fā)生故障時,系統(tǒng)自動將服務切換到備機,并在備機鏡像數(shù)據(jù)的基礎上,繼續(xù)為客戶端提供業(yè)務服務,實現(xiàn)了不需要共享存儲的純軟件高可用系統(tǒng)。該文研究的純軟件雙機熱備數(shù)據(jù)同步技術應用背景是基于open flow協(xié)議的FCS(flow control system)系統(tǒng)。首先簡單介紹了open flow協(xié)議的相關知識,以及FCS系統(tǒng)的雙機熱備架構。之后重點對雙機之間的數(shù)據(jù)同步技術進行了研究,提出了基于鏈路延遲的主備機文件復制方法以及基于單向哈希的更新文件檢索方法。相對傳統(tǒng)雙機熱備數(shù)據(jù)同步方法,在一定程度上提高了系統(tǒng)性能。

      2 基于open flow協(xié)議的FCS系統(tǒng)

      Open flow協(xié)議是由斯坦福大學的Nick McKeown教授在論文 OpenFlow:enabling innovation in campus networks中首先提出來的,是一個實現(xiàn)對全網(wǎng)交換機、路由器的數(shù)據(jù)通路進行控制的協(xié)議。open flow標準定義了控制器與交換機之間的交互協(xié)議,以及一組交換機操作。這個控制器-交換機協(xié)議運行在安全傳輸層協(xié)議(TLS)或無保護TCP連接之上??刂破飨蚪粨Q機發(fā)送指令,控制數(shù)據(jù)包的轉發(fā)方式,交換機會在鏈路中斷或出現(xiàn)未指定轉發(fā)指令的數(shù)據(jù)包時,發(fā)送消息通知控制器。轉發(fā)指令基于流,每個交換機都維護著許多路由表,每個表又包含多個路由記錄,每個路由記錄包含一個匹配域,定義了流、計數(shù)器和指令集。

      2.1 系統(tǒng)架構

      FCS系統(tǒng)就是,在open flow協(xié)議基礎之上構建一個虛擬網(wǎng)絡,通過對網(wǎng)絡的集中控制,實現(xiàn)網(wǎng)絡的簡單化,虛擬化和可視化。系統(tǒng)主要由支持open flow協(xié)議的交換機和open flow控制服務器組成。將原來完全由交換機/路由器控制的報文轉發(fā)過程,轉換為由open flow交換機和open flow控制服務器來共同完成[1]。open flow交換機進行包的轉發(fā),open flow控制服務器實現(xiàn)包傳送路徑的選擇及控制,實現(xiàn)數(shù)據(jù)轉發(fā)和路由控制的分離,實現(xiàn)了網(wǎng)絡配置的柔軟性、可控性。通過編程實現(xiàn)以流為單位的路徑控制、故障恢復、負載均衡以及網(wǎng)絡的虛擬化。為了使控制服務器在發(fā)生故障時,網(wǎng)絡不會停止工作,通過組建雙機集群,一臺為工作機,一臺為備份機的形式為系統(tǒng)提供服務。由于基于共享磁盤陣列的雙機集群系統(tǒng),存在切換時間長的缺陷,不能滿足系統(tǒng)性能需求,故采用純軟件的雙機熱備架構,系統(tǒng)架構如圖1所示。

      圖1 FCS系統(tǒng)架構

      2.2 數(shù)據(jù)結構

      為了記錄Master機和Backup機上的文件信息,在Master節(jié)點和Backup節(jié)點上分別創(chuàng)建一個文件信息表,實時記錄本地節(jié)點上的文件信息。文件信息表中存放的是文件元數(shù)據(jù),包括文件ID標識,文件元數(shù)據(jù)的更新時刻,文件數(shù)據(jù)的更新時刻,文件大小等等屬性。每次通過比較Master機和Backup機上的文件信息表,判斷出發(fā)生更新的文件,為了避免每次都把Backup機上的文件信息表通過雙機之間的鏈路傳送到Master機端,浪費系統(tǒng)帶寬,增加系統(tǒng)開銷,這里采用如圖2所示的數(shù)據(jù)結構,在雙機每個節(jié)點上創(chuàng)建兩個文件信息表,一個主文件信息表,一個從文件信息表,分別代表Master機上的文件信息和Backup機上的文件信息。當Master機出現(xiàn)故障宕機后,在Backup機上還存在有Master機上的文件信息,在一定程度上也對數(shù)據(jù)進行了保護。

      圖2 節(jié)點數(shù)據(jù)結構

      每次同步文件時,要實時對工作機和備份機上的四個文件信息表進行更新維護。

      (1)讀取Master節(jié)點上的文件。

      (2)把Master節(jié)點上的文件更新情況記錄到Master節(jié)點上的主文件信息表中。

      (3)從Master節(jié)點向Backup節(jié)點傳送數(shù)據(jù)。

      (4)更新Backup節(jié)點上的文件信息,使其和Master節(jié)點上的文件信息保持同步。

      (5)把Backup節(jié)點上的文件更新情況記錄到Backup節(jié)點上的從文件信息表中。

      (6)把Master節(jié)點上的文件更新情況記錄到Backup節(jié)點上的主文件信息表中。

      (7)把Backup節(jié)點上文件的更新結果傳送給Master節(jié)點。

      (8)把Backup節(jié)點上文件的更新情況記錄到Master節(jié)點上的從文件信息表中。

      3 文件備份

      傳統(tǒng)雙機熱備系統(tǒng)中,采用文件更新通知和計時器間隔監(jiān)視兩種方式實時監(jiān)控工作機上的文件。文件更新通知即一旦有文件發(fā)生更新,立即觸發(fā)對該文件的備份操作;計時器間隔監(jiān)視即每間隔固定的時間,依次掃描工作機上的主文件信息表和從文件信息表,對二者進行比較,從而判斷出發(fā)生更新的文件,然后觸發(fā)對該組文件的備份操作。由用戶輸入文件優(yōu)先級的一個閾值,當發(fā)生更新的文件的優(yōu)先級高于該閾值時,采用文件更新通知的方式觸發(fā)文件備份;當發(fā)生更新的文件的優(yōu)先級低于該閾值時,采用間隔監(jiān)視的方式觸發(fā)文件備份。這種傳統(tǒng)的文件備份方法沒有考慮到主備機對等節(jié)點間當前傳輸鏈路的傳輸延遲,很可能在雙機之間傳輸鏈路已經(jīng)發(fā)生擁塞的情況下,又觸發(fā)對文件的備份操作,結果這部分文件又都阻塞在雙機鏈路中,影響了主備機間文件復制的連續(xù)性。

      3.1 基于鏈路延遲的文件復制

      提出一種基于鏈路延遲[4]的文件更新通知和間隔監(jiān)視的切換方法。在鏈路暢通的情況下,采用文件更新通知的方法觸發(fā)文件備份確保主備機數(shù)據(jù)一致性;在鏈路擁塞的情況下,采用間隔監(jiān)視的方法,不觸發(fā)對文件的傳送,只把更新文件的信息,記錄在工作機上的本地文件信息列表中。在鏈路恢復暢通的情況下,再觸發(fā)對更新文件的傳送,大大提高了系統(tǒng)效率,并且使系統(tǒng)在保持主備機數(shù)據(jù)一致性和系統(tǒng)復制性能之間趨于一個平衡點。提供給用戶一個接口,由用戶指定數(shù)據(jù)在工作機和備份機之間鏈路上傳輸延遲的一個閾值,根據(jù)該閾值以及文件數(shù)據(jù)傳輸?shù)膶崟r延遲,實現(xiàn)文件更新通知和間隔監(jiān)視的實時調整。

      假設用戶輸入的鏈路延遲閾值為T,通過一個資源追蹤線程對鏈路上傳輸?shù)奈募M行追蹤,從數(shù)據(jù)開始在鏈路上傳送到備份機接收到數(shù)據(jù)的時間差值即為數(shù)據(jù)鏈路上文件的傳輸延遲值Tdelay。

      (1)當Tdelay<T時,按照文件更新通知的方法進行主備機間更新文件的監(jiān)視以及復制;當Tdelay>T時,則自動切換為間隔監(jiān)視的方法進行主備機間文件的監(jiān)視和復制。

      (2)實時監(jiān)控數(shù)據(jù)鏈路上的網(wǎng)絡延遲,當Tdelay<T,則對下一個請求改用文件更新通知方法進行復制,否則,繼續(xù)采用間隔監(jiān)視的方法進行文件的監(jiān)視和復制。

      Q=(R1,R2,R3...)代表一系列的文件更新請求,以文件更新通知方法啟動工作機和備份機對等節(jié)點間的文件監(jiān)視和復制。資源追蹤線程依次記錄每個文件的傳輸延遲,記錄在一個線性隊列中,當執(zhí)行文件更新請求Ri時,鏈路延遲Ti>T,則從Ri+1開始,對后續(xù)的連續(xù)k個文件更新請求,采用間隔監(jiān)視的方法進行文件的監(jiān)視和復制;再以文件更新通知方法處理Ri+k+1文件的更新請求,并計算該請求文件傳輸?shù)逆溌费舆t,如果Ti+k+1<T,則對后續(xù)的文件更新請求采用文件更新通知的方法,否則繼續(xù)對Ri+k+2開始的k個文件更新請求采用間隔監(jiān)視的方法進行監(jiān)視和復制。如此循環(huán)執(zhí)行,直到文件更新請求隊列為空[2]。

      算法流程如圖3所示:

      圖3 算法流程圖

      輸入:Q=(R1,R2,R3...),T,k

      FileUpdateNotify(R)代表采用文件更新通知的方法進行文件的監(jiān)視和復制。

      IntervalNotify(R,Q,k)代表對 Q隊列中,從文件R請求開始的k個文件更新請求采用間隔監(jiān)視的方法進行文件的監(jiān)視和復制。

      基于鏈路延遲的文件復制方法介于文件更新通知和間隔監(jiān)視之間。通過對鏈路延遲的實時監(jiān)控,在文件更新通知和間隔監(jiān)視之間切換,在盡力確保主備機數(shù)據(jù)一致性的基礎上,又對系統(tǒng)性能進行一定的改善,同時在一定程度上,確保了主備機間數(shù)據(jù)復制的連續(xù)性。

      基于鏈路延遲的文件復制,文件更新通知,計時器間隔監(jiān)視三種不同的觸發(fā)文件備份操作結果對比如表1所示。

      表1 三種觸發(fā)文件備份算法比較

      可見,基于鏈路延遲的文件復制在文件更新通知和計時器間隔監(jiān)視間取得了很好的權衡,既提高了主備機的數(shù)據(jù)一致性,又沒有大幅度降低系統(tǒng)性能。

      3.2 更新文件檢索

      當采用間隔監(jiān)視進行文件復制時,每次都對Master機上的兩個主從文件信息表從頭至尾進行掃描比較,以檢索出發(fā)生更新的文件,這在很大程度上影響了系統(tǒng)性能,尤其是當發(fā)生更新的文件只有所有文件中很少的一部分時,更是如此。因此提出一種基于單向哈希函數(shù)的檢索更新文件的方法。

      單向哈希函數(shù)[3]是一種算法,可以將消息或者文本轉化成為一個固定長度的數(shù)字簽名,稱之為哈希值?!皢蜗颉奔粗荒芡ㄟ^哈希函數(shù)把消息或文本轉換成哈希值,卻不能從哈希值通過哈希函數(shù),還原出消息或文本。并且兩個不同的消息或文本幾乎不可能生成相同的哈希值,因此完全可以通過哈希值的相同與否,來判斷文本的相同與否。

      使用單向哈希函數(shù),對Master機上的主從文件信息表分別計算哈希值H主和H從,當H主等于H從時,說明Master機上的文件信息在該時間間隔內未發(fā)生改變,與Backup機上保存的文件信息一致,不需要同步;當H主不等于H從時,說明Master機上存在的文件信息發(fā)生了改變。為了進一步精確定位發(fā)生改變的文件,把Master機上的主文件信息表和從文件信息表分別分割成兩部分,對每一部分再使用單向哈希函數(shù)計算哈希值,以此類推,直到文件信息表的每一條記錄,具體過程如圖4所示。

      圖4 更新文件檢索

      任意大小的數(shù)據(jù)集產(chǎn)生的數(shù)字簽名都是固定長度的,通過單向哈希函數(shù)對數(shù)據(jù)集產(chǎn)生的數(shù)字簽名的長度要明顯小于數(shù)據(jù)集的長度。對每個數(shù)據(jù)集計算數(shù)字簽名的計算量和數(shù)據(jù)集的大小成線性比。數(shù)字簽名的計算是一個迭代過程,可以通過多線程的方式進行,因此對主文件信息表計算數(shù)字簽名和對從文件信息表計算數(shù)字簽名的過程可以同步進行。每次當主從文件信息表的數(shù)字簽名不同時,就對信息表對半切分。因此整個檢索更新文件的時間復雜度由原先的O(n)降低到O(logn)。另外對簽名的計算是按需進行的,不需要一片連續(xù)的存儲空間來存儲數(shù)字簽名,因此從時空效率兩方面考慮,該方法都比較合理。

      4 結束語

      在基于open flow協(xié)議的FCS系統(tǒng)應用背景下,研究了純軟件雙機熱備系統(tǒng)的數(shù)據(jù)同步方法,并且在對傳統(tǒng)文件備份時機以及檢索更新文件的不足進行分析的基礎上,提出了基于鏈路延遲的文件復制以及基于單向哈希函數(shù)的更新文件檢索方法?;阪溌费舆t的文件復制,可以有效保證主備機間文件復制的連續(xù)性,并且在保證主備機數(shù)據(jù)一致性和系統(tǒng)復制性能間取得權衡?;趩蜗蚬:瘮?shù)的更新文件檢索,把檢索更新文件的時間復雜度從O(n)降到O(logn),從而節(jié)省了很多時間,在很大程度上提高了系統(tǒng)效率。通過以上兩點改進,能夠高效快速的實現(xiàn)雙機熱備系統(tǒng)中對等節(jié)點上數(shù)據(jù)的同步。

      [1] 王麗君,劉永強,張健.基于OpenFlow的未來互聯(lián)網(wǎng)試驗技術研究[J].電信網(wǎng)技術,2011(6):2-3.

      [2] 王彥龍.海量數(shù)據(jù)保護與容災關鍵技術研究[D].西安:西北工業(yè)大學,2008:79-82.

      [3] Victoria V.Livschitz,West Bloomfield.One-way hash function for distributed data synchronization:United States,US6470329B1[P].2002-10-22.http://www.google.com.hk/patents?hl=zh-CN&lr= &vid=USPAT6470329&id=DbcLAAAAEBAJ&oi=fnd&dq=One-way+hash+function+for+distributed+data+synchronization&printsec=abstract#v=onepage&q=One- way% 20hash% 20function% 20for%20distributed%20data%20synchronization&f=false.

      [4] Dale Burr,Robert Bruce Nicholson.Suspension of an asynchronous remote copy pair system having a primary controller and a remote controller:United state,US7890715B2[P].2011-2-15.http://www.google.com.hk/patents?hl=zh-CN&lr= &vid=USPAT7890715&id=dBcdAQAAEBAJ&oi=fnd&dq=Suspension+of+an+asynchronous+remote+copy+pair+system+having+a+primary+controller+and+a+remote+controller&printsec=abstract#v=onepage&q=Suspension%20of%20an%20asynchronous%20remote%20copy% 20pair% 20system% 20having% 20a%20primary%20controller%20and%20a%20remote%20controller&f=false.

      猜你喜歡
      雙機機上哈希
      雙機、雙槳軸系下水前的安裝工藝
      雙機牽引ZDJ9道岔不同步問題的處理
      機上上網(wǎng),開啟乘機新時代
      空中之家(2018年1期)2018-01-31 01:50:33
      基于PLC的變頻器控制系統(tǒng)在甩干機上的研究
      電子測試(2017年15期)2017-12-18 07:19:29
      Loader軸在雙機桁架機械手上的應用
      基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
      基于維度分解的哈希多維快速流分類算法
      計算機工程(2015年8期)2015-07-03 12:20:04
      基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
      計算機工程(2014年6期)2014-02-28 01:25:40
      一種基于Bigram二級哈希的中文索引結構
      藍天雙雄——殲八II雙機編隊
      航空知識(2001年5期)2001-06-12 15:08:38
      繁昌县| 大兴区| 江口县| 巩留县| 美姑县| 扬中市| 德化县| 新蔡县| 文水县| 滦南县| 阳曲县| 晋中市| 喀喇| 榆树市| 肥乡县| 浦东新区| 汝阳县| 山东省| 海门市| 翼城县| 青河县| 门源| 库伦旗| 云龙县| 玛沁县| 阿合奇县| 阜平县| 通山县| 金山区| 嘉禾县| 萝北县| 孟津县| 五台县| 上饶市| 望城县| 南汇区| 盐津县| 萍乡市| 云和县| 德阳市| 资中县|