两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

異步遠(yuǎn)程復(fù)制方法、系統(tǒng)及設(shè)備的制作方法

文檔序號:6424601閱讀:250來源:國知局
專利名稱:異步遠(yuǎn)程復(fù)制方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù),尤其涉及一種異步遠(yuǎn)程復(fù)制方法、一種異步遠(yuǎn)程復(fù)制系統(tǒng)、一種生產(chǎn)中心和一種容災(zāi)中心。
背景技術(shù)
容災(zāi)系統(tǒng)一般包括兩類數(shù)據(jù)中心本地生產(chǎn)中心和異地容災(zāi)中心,其中異地容災(zāi)中心中設(shè)有對生產(chǎn)中心的遠(yuǎn)程復(fù)制主邏輯存儲對象(簡稱為LUN)中數(shù)據(jù)進(jìn)行備份的遠(yuǎn)程復(fù)制從LUN。當(dāng)容災(zāi)系統(tǒng)遇到災(zāi)難性事件時(shí),通過容災(zāi)中心遠(yuǎn)程復(fù)制從LUN中的數(shù)據(jù)對本地源卷生產(chǎn)中心中的遠(yuǎn)程復(fù)制主LUN進(jìn)行恢復(fù),從而保證重要數(shù)據(jù)的物理安全,例如不會因?yàn)橥k?,火?zāi)或自然(地震、海嘯等)等原因造成數(shù)據(jù)損失。根據(jù)遠(yuǎn)程復(fù)制主LUN中的數(shù)據(jù)更新遠(yuǎn)程復(fù)制從LUN的過程被稱為遠(yuǎn)程復(fù)制過程,根據(jù)企業(yè)業(yè)務(wù)環(huán)境(如可用的帶寬、網(wǎng)絡(luò)延時(shí)、服務(wù)器的數(shù)量、復(fù)制數(shù)據(jù)量的大小和主機(jī)間的物理距離)、以及用戶在災(zāi)難發(fā)生后,對丟失數(shù)據(jù)的時(shí)間長短(Recovery Point Object, RP0)和恢復(fù)應(yīng)用所需的最長時(shí)間 (Recovery Time Objectives, RT0)的要求上的差異,可將遠(yuǎn)程復(fù)制過程的類型分為同步遠(yuǎn)程復(fù)制和異步遠(yuǎn)程復(fù)制。同步遠(yuǎn)程復(fù)制是指生產(chǎn)中心接收到主機(jī)中的上層應(yīng)用發(fā)來的寫請求后,在向上層應(yīng)用返回寫成功確認(rèn)消息之前,寫請求對應(yīng)的數(shù)據(jù)已被成功地發(fā)送到生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中和容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN中。由于發(fā)送數(shù)據(jù)到生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN和容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN會耗費(fèi)一定時(shí)間,因此對上層應(yīng)用的性能會有一定影響。異步遠(yuǎn)程復(fù)制是指只要寫請求對應(yīng)的數(shù)據(jù)已被成功地發(fā)送到生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中后, 即可向上層應(yīng)用返回寫成功確認(rèn)消息,而不必等到數(shù)據(jù)被發(fā)送到容災(zāi)中心的遠(yuǎn)程復(fù)制從 LUN中才返回寫成功確認(rèn)消息,后續(xù)再根據(jù)生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN更新容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN。采用異步遠(yuǎn)程復(fù)制可消除同步遠(yuǎn)程復(fù)制存在的性能問題,容災(zāi)中心雖有可能滯后于生產(chǎn)中心,但基本上還是實(shí)時(shí)的復(fù)制,并且對上層應(yīng)用的性能不會產(chǎn)生明顯的影響。按照其實(shí)現(xiàn)的技術(shù)特點(diǎn)來分類,可以異步復(fù)制技術(shù)分為基于快照的塊級別的異步遠(yuǎn)程復(fù)制和基于日志LUN的寫請求級別的異步遠(yuǎn)程復(fù)制。其中基于日志LUN的寫請求級別的異步遠(yuǎn)程復(fù)制的基本原理為當(dāng)寫請求從生產(chǎn)中心的主機(jī)下發(fā)到遠(yuǎn)程復(fù)制主LUN時(shí),會同時(shí)被寫入到生產(chǎn)中心的日志LUN中并被打上周期性的時(shí)間戳(在同一個周期內(nèi),所有寫請求的時(shí)間戳是一致的),從而使得可以由日志LUN來維護(hù)寫請求的順序性。生產(chǎn)中心后臺的異步遠(yuǎn)程復(fù)制模塊讀出日志LUN中已寫入的寫請求,并發(fā)送到位于容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN。這種方法可以減少容災(zāi)系統(tǒng)的恢復(fù)時(shí)間和數(shù)據(jù)丟失時(shí)間。然而,由于將從日志卷日志LUN中讀出的寫請求發(fā)送到遠(yuǎn)端備份卷遠(yuǎn)程復(fù)制從 LUN時(shí)存在的網(wǎng)絡(luò)延時(shí)等原因,有可能會出現(xiàn)對于同一周期內(nèi)的寫請求,寫入本地源卷遠(yuǎn)程復(fù)制主LUN中的順序與寫入遠(yuǎn)端備份卷遠(yuǎn)程復(fù)制從LUN中的順序不同的情況,如果這些寫請求的訪問地址沖突,則會導(dǎo)致出現(xiàn)本地源卷遠(yuǎn)程復(fù)制主LUN和遠(yuǎn)端備份卷遠(yuǎn)程復(fù)制從LUN存儲的數(shù)據(jù)不一致的問題。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種異步遠(yuǎn)程復(fù)制方法,用以解決現(xiàn)有技術(shù)中遠(yuǎn)程復(fù)制主LUN 和遠(yuǎn)程復(fù)制從LUN存儲的數(shù)據(jù)不一致的缺陷。對應(yīng)地,本發(fā)明實(shí)施例還提供了一種生產(chǎn)中心、一種容災(zāi)中心和一種異步遠(yuǎn)程復(fù)制系統(tǒng)。本發(fā)明實(shí)施例提供一種異步遠(yuǎn)程復(fù)制方法,包括生產(chǎn)中心接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號;將已標(biāo)記周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主 LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號;將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。本發(fā)明實(shí)施例提供一種異步遠(yuǎn)程復(fù)制方法,包括容災(zāi)中心接收生產(chǎn)中心發(fā)送的寫請求,所述寫請求中標(biāo)記有周期號和順序號;判斷是否已接收到一個周期號對應(yīng)的所有寫請求,在判斷結(jié)果為已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入本地遠(yuǎn)程復(fù)制從LUN。本發(fā)明實(shí)施例提供一種生產(chǎn)中心,包括至少一個生產(chǎn)集群系統(tǒng),所述生產(chǎn)集群系統(tǒng)包括一個第一前端平臺和一個第一后端平臺,所述第一后端平臺包括第一業(yè)務(wù)處理裝置和遠(yuǎn)程復(fù)制主LUN,其中所述第一前端平臺,用于接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號,并將已標(biāo)記周期號的寫請求發(fā)送給所屬生產(chǎn)集群系統(tǒng)中的第一后端平臺中的第一業(yè)務(wù)處理裝置;第一業(yè)務(wù)處理裝置,用于將已標(biāo)記周期號的寫請求寫入遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號,并將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。本發(fā)明實(shí)施例提供一種容災(zāi)中心,包括包括至少一個容災(zāi)集群系統(tǒng),所述容災(zāi)集群系統(tǒng)包括一個第二前端平臺和一個第二后端平臺,所述第二后端平臺包括第二業(yè)務(wù)處理裝置和遠(yuǎn)程復(fù)制從LUN,其中所述第二前端平臺,用于接收生產(chǎn)中心發(fā)送的寫請求,所述寫請求中標(biāo)記有周期號和順序號;所述第二業(yè)務(wù)處理裝置,用于判斷所述第二前端平臺是否已接收到一個周期號對應(yīng)的所有寫請求,在確定已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入遠(yuǎn)程復(fù)制從LUN。本發(fā)明實(shí)施例提供一種異步遠(yuǎn)程復(fù)制系統(tǒng),包括生產(chǎn)中心,用于接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號;將已標(biāo)記周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主 LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號;將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心;容災(zāi)中心,用于接收生產(chǎn)中心發(fā)送的寫請求,所述寫請求中標(biāo)記有周期號和順序號;判斷是否已接收到一個周期號對應(yīng)的所有寫請求,在判斷結(jié)果為已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入本地遠(yuǎn)程復(fù)制從LUN。本發(fā)明實(shí)施例生產(chǎn)中心的生產(chǎn)集群系統(tǒng)接收到主機(jī)的寫請求時(shí),為該寫請求標(biāo)記周期號,并在寫請求寫入遠(yuǎn)程復(fù)制主LUN后,為該寫請求標(biāo)記在當(dāng)前周期內(nèi)被寫入遠(yuǎn)程復(fù)制主LUN的順序號。生產(chǎn)中心將標(biāo)記有周期號和順序號的寫請求發(fā)送給容災(zāi)中心后,對于同一周期的寫請求容災(zāi)中心可按照順序號寫入遠(yuǎn)程復(fù)制從LUN。從而避免了在同一周期內(nèi)訪問地址沖突的多個寫請求到達(dá)容災(zāi)中心的順序與在生產(chǎn)中心的寫入順序不一致時(shí),所引起的生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中存儲的數(shù)據(jù)與容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN中存儲的數(shù)據(jù)不一致的問題。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例提供的一種異步遠(yuǎn)程復(fù)制方法的流程圖;圖2A為本發(fā)明實(shí)施例提供的一種異步遠(yuǎn)程復(fù)制方法應(yīng)用于分布式存儲系統(tǒng)的流程圖;圖2B為本發(fā)明實(shí)施例提供的一種生產(chǎn)中心的結(jié)構(gòu)示意圖;圖2C為本發(fā)明實(shí)施例提供的一種異步遠(yuǎn)程復(fù)制方法應(yīng)用于非分布式存儲系統(tǒng)的流程圖;圖3為本發(fā)明實(shí)施例提供的另一種異步遠(yuǎn)程復(fù)制方法的流程圖圖4A為本發(fā)明實(shí)施例提供的另一種異步遠(yuǎn)程復(fù)制方法應(yīng)用于分布式存儲系統(tǒng)的流程圖;圖4B為本發(fā)明實(shí)施例提供的容災(zāi)中心實(shí)施例結(jié)構(gòu)示意圖;圖4C為本發(fā)明實(shí)施例提供的容災(zāi)集群系統(tǒng)中的遠(yuǎn)端緩存中保存的寫請求鏈表的示意圖;圖5為本發(fā)明實(shí)施例提供的容災(zāi)中心中第二業(yè)務(wù)處理裝置實(shí)施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例提供的異步遠(yuǎn)程復(fù)制系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一
圖1為本發(fā)明實(shí)施例提供的一種異步遠(yuǎn)程復(fù)制方法的流程圖。本實(shí)施例從生產(chǎn)中心角度對本發(fā)明實(shí)施例提供異步遠(yuǎn)程復(fù)制方法的技術(shù)方案進(jìn)行說明。本實(shí)施例的執(zhí)行主體為生產(chǎn)中心的存儲系統(tǒng)。如圖1所示,本實(shí)施例包括步驟11 生產(chǎn)中心接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為寫請求標(biāo)記周期號。根據(jù)當(dāng)前周期的周期號為寫請求標(biāo)記周期號,是為了標(biāo)記生產(chǎn)中心處理該寫請求時(shí)所處的周期。步驟12 生產(chǎn)中心將已標(biāo)記周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入遠(yuǎn)程復(fù)制主LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號。生產(chǎn)中心將已標(biāo)記周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主LUN后,根據(jù)寫請求寫入遠(yuǎn)程復(fù)制主LUN的順序,為該寫請求標(biāo)記在當(dāng)前周期內(nèi)被寫入遠(yuǎn)程復(fù)制主LUN的順序號。因此寫請求不僅有標(biāo)記有該寫請求對應(yīng)的周期號,還標(biāo)記有該寫請求在寫入遠(yuǎn)程復(fù)制主LUN 時(shí)的順序號。步驟13 生產(chǎn)中心將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。進(jìn)一步,在當(dāng)前周期結(jié)束后,生產(chǎn)中心將當(dāng)前周期的周期號和對應(yīng)的在當(dāng)前周期內(nèi)接收到的主機(jī)的寫請求數(shù)發(fā)送給容災(zāi)中心。從而以便于容災(zāi)中心可根據(jù)周期號和對應(yīng)的寫請求數(shù),確定是否已接收到該周期號對應(yīng)周期的所有寫請求,并在確定出已接收到該周期號對應(yīng)周期的所有寫請求時(shí),將該周期內(nèi)的所有寫請求寫入遠(yuǎn)程復(fù)制從LUN。本發(fā)明實(shí)施例,生產(chǎn)中心的存儲系統(tǒng)接收到主機(jī)的寫請求時(shí),為該寫請求標(biāo)記周期號,并在寫請求寫入遠(yuǎn)程復(fù)制主LUN后,為該寫請求標(biāo)記在當(dāng)前周期內(nèi)被寫入遠(yuǎn)程復(fù)制主LUN的順序號。生產(chǎn)中心將標(biāo)記有周期號和順序號的寫請求發(fā)送給容災(zāi)中心后,對于同一周期的寫請求容災(zāi)中心可按照順序號寫入遠(yuǎn)程復(fù)制從LUN。從而避免了在同一周期內(nèi)訪問地址沖突的多個寫請求到達(dá)容災(zāi)中心的順序與在生產(chǎn)中心的寫入順序不一致時(shí),所引起的生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中存儲的數(shù)據(jù)與容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN中存儲的數(shù)據(jù)不一致的問題。實(shí)施例二在本實(shí)施例中分別給出了圖1所示的異步遠(yuǎn)程復(fù)制方法在分布式存儲系統(tǒng)和非分布式存儲系統(tǒng)中的具體應(yīng)用實(shí)例。圖2A為本發(fā)明實(shí)施例提供的一種異步遠(yuǎn)程復(fù)制方法應(yīng)用于分布式存儲系統(tǒng)的流程圖。圖2B為本發(fā)明實(shí)施例提供的一種生產(chǎn)中心的結(jié)構(gòu)示意圖。本實(shí)施例從生產(chǎn)中心角度說明上述異步遠(yuǎn)程復(fù)制方法的技術(shù)方案。如圖2B所示,本實(shí)施例中生產(chǎn)中心的分布式存儲系統(tǒng)中包括至少兩個生產(chǎn)集群系統(tǒng)。生產(chǎn)集群系統(tǒng)用于處理生產(chǎn)中心的主機(jī)下發(fā)的寫請求。其中,每個生產(chǎn)集群系統(tǒng)包括第一前端平臺和第一后端平臺,其中第一后端平臺包括第一業(yè)務(wù)處理裝置和遠(yuǎn)程復(fù)制主LUN。各生產(chǎn)集群系統(tǒng)中的第一前端平臺之間可通過內(nèi)部網(wǎng)絡(luò)連接。如圖2A所示,本實(shí)施例包括步驟21 生產(chǎn)中心中的每個生產(chǎn)集群系統(tǒng)接收生產(chǎn)中心的主機(jī)下發(fā)的寫請求??蛇x地,主機(jī)與每個生產(chǎn)集群系統(tǒng)中第一前端平臺通過SCSI協(xié)議通訊,每個生產(chǎn)集群系統(tǒng)的第一前端平臺通過SCSI協(xié)議接收生產(chǎn)中心的主機(jī)下發(fā)的寫請求。步驟22 每個生產(chǎn)集群系統(tǒng)根據(jù)地址映射表確定該寫請求的物理地址,并判斷該生產(chǎn)集群系統(tǒng)處理的物理地址空間是否包括該寫請求的物理地址,若判斷結(jié)果為該生產(chǎn)集群系統(tǒng)處理的物理地址空間包括該寫請求的物理地址,則進(jìn)入步驟23 ;否則,忽略該寫請求、或向其它生產(chǎn)集群系統(tǒng)的第一前端平臺轉(zhuǎn)發(fā)該寫請求。每個生產(chǎn)集群系統(tǒng)中的第一前端平臺接收到主機(jī)下發(fā)的寫請求后,根據(jù)寫請求中攜帶的邏輯地址,通過查找地址映射表確定寫請求的物理地址,地址映射表中保存有分布式存儲系統(tǒng)中邏輯地址與物理地址的映射關(guān)系。由于生產(chǎn)中心中每個生產(chǎn)集群系統(tǒng)處理的寫請求的物理地址空間與該生產(chǎn)中心中其他生產(chǎn)集群系統(tǒng)處理的寫請求的物理地址空間不同(例如,第一生產(chǎn)集群系統(tǒng)用于處理物理地址在00000000 1FFFFFFF物理地址空間內(nèi)的寫請求,第二生產(chǎn)集群系統(tǒng)用于處理物理地址在20000000 3FFFFFFF物理地址空間內(nèi)的寫請求)。在每個生產(chǎn)集群系統(tǒng)中的第一前端平臺確定寫請求的物理地址不在所屬生產(chǎn)集群系統(tǒng)處理的物理地址空間內(nèi)時(shí), 忽略該寫請求、或向其它生產(chǎn)集群系統(tǒng)的第一前端平臺轉(zhuǎn)發(fā)該寫請求。步驟23 處理的物理地址空間包括該寫請求的物理地址的生產(chǎn)集群系統(tǒng)獲取當(dāng)前周期的周期號,并根據(jù)獲取的當(dāng)前周期的周期號為寫請求標(biāo)記周期號,進(jìn)入步驟M??蛇x地,所述生產(chǎn)集群系統(tǒng)中的第一前端平臺獲取當(dāng)前周期的周期號,并根據(jù)獲取的當(dāng)前周期的周期號為寫請求標(biāo)記周期號。其中生產(chǎn)集群系統(tǒng)中的第一前端平臺獲取當(dāng)前周期的周期號的方案包括但不限于方案一、生產(chǎn)集群系統(tǒng)中的第一前端平臺從生產(chǎn)中心中一個用于設(shè)置周期號的設(shè)置裝置中獲取,具體包括當(dāng)接收到寫請求時(shí),向所述設(shè)置裝置發(fā)送當(dāng)前周期號獲取請求, 并接收所述設(shè)置裝置反饋的當(dāng)前周期的周期號;或者,所述設(shè)置裝置周期性地將當(dāng)前周期的周期號發(fā)送給該生產(chǎn)中心中各生產(chǎn)集群系統(tǒng)中的第一前端平臺。第一前端平臺周期性接收所述設(shè)置裝置發(fā)送的當(dāng)前周期的周期號。方案二,預(yù)先從生產(chǎn)中心的各生產(chǎn)集群系統(tǒng)中選擇一個生產(chǎn)集群系統(tǒng)作為主控生產(chǎn)集群系統(tǒng),該主控生產(chǎn)集群系統(tǒng)中的第一前端平臺可以簡稱為主控第一前端平臺。其中主控第一前端平臺用于設(shè)置周期號。所述為寫請求標(biāo)記周期號的生產(chǎn)集群系統(tǒng)可以為主控生產(chǎn)集群系統(tǒng),也可以為非主控生產(chǎn)集群系統(tǒng)。當(dāng)所述為寫請求標(biāo)記周期號的生產(chǎn)集群系統(tǒng)為主控生產(chǎn)集群系統(tǒng)時(shí), 主控第一前端平臺可以將自身設(shè)置的當(dāng)前設(shè)置的周期號作為獲取的當(dāng)前周期的周期號;當(dāng)所述為寫請求標(biāo)記周期號的生產(chǎn)集群系統(tǒng)為非主控生產(chǎn)集群系統(tǒng)時(shí),非主控第一前端平臺獲得當(dāng)前周期的周期號的方式包括但不限于以下幾種第一方式,主控第一前端平臺根據(jù)該生產(chǎn)中心非主控第一前端平臺的請求,將當(dāng)前周期號下發(fā)給發(fā)送請求的非主控第一前端平臺。第二方式,主控第一前端平臺周期性地將當(dāng)前周期的周期號發(fā)送給該生產(chǎn)中心中的各非主控第一前端平臺。非主控第一前端平臺周期性接收主控第一前端平臺發(fā)送的當(dāng)前周期的周期號。主控第一前端平臺和各非主控第一前端平臺可以采用內(nèi)部網(wǎng)絡(luò)相互連接。相對于第一方式,第二方式通過主控第一前端平臺向各非主控生產(chǎn)集群系統(tǒng)中的第一前端平臺周期性發(fā)送周期號,而不是由多個非主控第一前端平臺頻繁向主控第一前端平臺請求周期號,從而減輕了主控第一前端平臺的負(fù)載,提高了系統(tǒng)性能。
10
進(jìn)一步地,主控第一前端平臺還統(tǒng)計(jì)當(dāng)前周期內(nèi)接收到主機(jī)的寫請求數(shù),在當(dāng)前周期結(jié)束后,主控生產(chǎn)集群系統(tǒng)將當(dāng)前周期的周期號和對應(yīng)的在當(dāng)前周期內(nèi)接收到的主機(jī)的寫請求數(shù)發(fā)送給容災(zāi)中心。步驟M,所述生產(chǎn)集群系統(tǒng)將已標(biāo)記周期號的寫請求寫入所述生產(chǎn)集群系統(tǒng)的遠(yuǎn)程復(fù)制主LUN。可選地,所述生產(chǎn)集群系統(tǒng)中第一前端平臺將已標(biāo)記當(dāng)前周期的周期號的寫請求下發(fā)到該生產(chǎn)集群系統(tǒng)中第一后端平臺中的第一業(yè)務(wù)處理裝置,然后由該生產(chǎn)集群系統(tǒng)中第一后端平臺中的第一業(yè)務(wù)處理裝置將已標(biāo)記周期號的寫請求寫入遠(yuǎn)程復(fù)制主LUN。步驟25 所述生產(chǎn)集群系統(tǒng)根據(jù)寫入本地遠(yuǎn)程復(fù)制主LUN的順序?yàn)橐褬?biāo)記周期號的寫請求標(biāo)記順序號??蛇x地,所述生產(chǎn)集群系統(tǒng)中的第一業(yè)務(wù)處理裝置,根據(jù)寫入本地遠(yuǎn)程復(fù)制主LUN 的順序?yàn)橐褬?biāo)記周期號的寫請求標(biāo)記順序號。步驟沈所述生產(chǎn)集群系統(tǒng)將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心??蛇x地,該生產(chǎn)集群系統(tǒng)中第一業(yè)務(wù)處理裝置,將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心??蛇x地,上述第一業(yè)務(wù)處理裝置可將已標(biāo)記周期號和順序號的寫請求寫入緩存, 通過緩存將寫請求發(fā)給容災(zāi)中心。本發(fā)明實(shí)施例中生產(chǎn)中心的存儲系統(tǒng)為分布式存儲系統(tǒng),其中每個生產(chǎn)集群系統(tǒng)分別用于處理不同物理地址空間的寫請求。接收到寫請求后,當(dāng)生產(chǎn)集群系統(tǒng)判斷該生產(chǎn)集群系統(tǒng)處理的物理地址空間包括寫請求的物理地址時(shí),為該寫請求標(biāo)記周期號,并且根據(jù)將該寫請求寫入遠(yuǎn)程復(fù)制主LUN的順序?yàn)閷懻埱髽?biāo)記順序號。生產(chǎn)集群系統(tǒng)將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心后,容災(zāi)中心接收到標(biāo)記有周期號和順序號的寫請求后,對于同一周期的寫請求容災(zāi)中心可按照順序號寫入遠(yuǎn)程復(fù)制從LUN。從而避免了在同一周期內(nèi)訪問地址沖突的多個寫請求到達(dá)容災(zāi)中心的順序與在生產(chǎn)中心的寫入順序不一致時(shí),所引起的生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中存儲的數(shù)據(jù)與容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN中存儲的數(shù)據(jù)不一致的問題。需要說明的是,附圖1給出的異步遠(yuǎn)程復(fù)制方法也可以應(yīng)用于非分布式的存儲系統(tǒng),即生產(chǎn)中心存儲系統(tǒng)中只包含附圖2B中的一個生產(chǎn)集群系統(tǒng)的情況。非分布式存儲系統(tǒng)也可以看作是分布式的存儲系統(tǒng)的一個特例。圖2C為本發(fā)明實(shí)施例提供的一種異步遠(yuǎn)程復(fù)制方法應(yīng)用于非分布式存儲系統(tǒng)的流程圖步驟201 生產(chǎn)集群系統(tǒng)接收生產(chǎn)中心的主機(jī)下發(fā)的寫請求??蛇x地,生產(chǎn)集群系統(tǒng)中的第一前端平臺接收生產(chǎn)中心的主機(jī)下發(fā)的寫請求。由于在本實(shí)例中生產(chǎn)中心的存儲系統(tǒng)只包含一個生產(chǎn)集群系統(tǒng),因此無需執(zhí)行附圖2A中步驟22的判斷步驟。步驟202 生產(chǎn)集群系統(tǒng)獲取當(dāng)前周期的周期號,并根據(jù)獲取的當(dāng)前周期的周期號為寫請求標(biāo)記周期號??蛇x地,生產(chǎn)集群系統(tǒng)中的第一前端平臺獲取當(dāng)前周期的周期號,并根據(jù)獲取的當(dāng)前周期的周期號為寫請求標(biāo)記周期號,所述周期號可以是該生產(chǎn)集群系統(tǒng)中的第一前端平臺設(shè)置的,也可以是生產(chǎn)平臺中用于設(shè)置當(dāng)前周期號的裝置設(shè)置并周期性的下發(fā)給該生產(chǎn)集群系統(tǒng)中的第一前端平臺的。步驟203 生產(chǎn)集群系統(tǒng)將已標(biāo)記當(dāng)前周期的周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主 LUN。生產(chǎn)集群系統(tǒng)中的第一前端平臺將已標(biāo)記當(dāng)前周期的周期號的寫請求下發(fā)到生產(chǎn)集群系統(tǒng)中第一后端平臺中的第一業(yè)務(wù)處理裝置,然后由生產(chǎn)集群系統(tǒng)中第一后端平臺中的第一業(yè)務(wù)處理裝置將已標(biāo)記周期號的寫請求寫入遠(yuǎn)程復(fù)制主LUN。步驟204,生產(chǎn)集群系統(tǒng)根據(jù)寫入遠(yuǎn)程復(fù)制主LUN的順序?yàn)橐褬?biāo)記周期號的寫請求標(biāo)記順序號。可選地,生產(chǎn)集群系統(tǒng)中的第一業(yè)務(wù)處理裝置,根據(jù)寫入本地遠(yuǎn)程復(fù)制主LUN的順序?yàn)橐褬?biāo)記周期號的寫請求標(biāo)記順序號。步驟205,生產(chǎn)集群系統(tǒng)將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心??蛇x地,生產(chǎn)集群系統(tǒng)中第一業(yè)務(wù)處理裝置,將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。進(jìn)一步地,生產(chǎn)集群系統(tǒng)中的第一業(yè)務(wù)處理裝置可將已標(biāo)記周期號和順序號的寫請求寫入緩存,通過緩存定期將寫請求發(fā)給容災(zāi)中心。實(shí)施例三與實(shí)施例一相對應(yīng),本實(shí)施例從容災(zāi)中心角度說明本發(fā)明異步遠(yuǎn)程復(fù)制方法的技術(shù)方案。圖3為本發(fā)明實(shí)施例提供的另一種異步遠(yuǎn)程復(fù)制方法的流程圖。本實(shí)施例的執(zhí)行主體為容災(zāi)中心的存儲系統(tǒng)。如圖3所示,本實(shí)施例包括步驟31 容災(zāi)中心接收生產(chǎn)中心發(fā)送的寫請求,該寫請求中標(biāo)記有周期號和順序號。步驟32 容災(zāi)中心判斷是否已接收到一個周期號對應(yīng)的所有寫請求。步驟33 容災(zāi)中心在確定已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入遠(yuǎn)程復(fù)制從LUN。在步驟32中容災(zāi)中心判斷是否已接收到一個周期號對應(yīng)的所有寫請求的方式包括但不限于方式一、對于生產(chǎn)中心的每個周期的時(shí)長是等長、而每個周期內(nèi)接收到的主機(jī)發(fā)來的寫請求的數(shù)目不定的情況。每當(dāng)一個周期結(jié)束時(shí),生產(chǎn)中心將當(dāng)前周期的周期號和對應(yīng)的所述當(dāng)前周期內(nèi)接收到的主機(jī)發(fā)來的寫請求數(shù)發(fā)送給容災(zāi)中心;容災(zāi)中心根據(jù)生產(chǎn)中心發(fā)送的周期號和對應(yīng)的寫請求數(shù),以及步驟31接收到的寫請求中標(biāo)記的周期號和順序號,判斷是否已接收到一個周期號對應(yīng)的所有寫請求。方式二、對于生產(chǎn)中心的每個周期的時(shí)長不定、而每個周期內(nèi)接收到的主機(jī)發(fā)來的寫請求的數(shù)目為固定的預(yù)設(shè)值的情況。容災(zāi)中心根據(jù)步驟31接收到的寫請求中標(biāo)記的周期號和順序號,即可判斷是否已接收到一個周期號對應(yīng)的所有寫請求,例如當(dāng)標(biāo)識有同一個周期號、且不同順序號的寫請求的數(shù)量到達(dá)所述固定的預(yù)設(shè)值時(shí),說明已接收到一個周期號對應(yīng)的所有寫請求。本發(fā)明實(shí)施例,容災(zāi)中心接收到的寫請求標(biāo)記有周期號和順序號,對于同一周期的寫請求容災(zāi)中心可按照順序號寫入遠(yuǎn)程復(fù)制從LUN。從而避免了在同一周期內(nèi)訪問地址沖突的多個寫請求到達(dá)容災(zāi)中心的順序與在生產(chǎn)中心的寫入順序不一致時(shí),所引起的生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中存儲的數(shù)據(jù)與容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN中存儲的數(shù)據(jù)不一致的
12問題。實(shí)施例四在本實(shí)施例中分別給出了圖3所示的異步遠(yuǎn)程復(fù)制方法在分布式存儲系統(tǒng)和非分布式存儲系統(tǒng)中的具體應(yīng)用實(shí)例。圖4A為本發(fā)明實(shí)施例提供的另一種異步遠(yuǎn)程復(fù)制方法應(yīng)用于分布式存儲系統(tǒng)的流程圖。圖4B為本發(fā)明實(shí)施例提供的容災(zāi)中心實(shí)施例結(jié)構(gòu)示意圖。本實(shí)施例從容災(zāi)中心角度說明該異步遠(yuǎn)程復(fù)制方法的技術(shù)方案。如圖4B所示,本實(shí)施例中容災(zāi)中心的分布式存儲系統(tǒng)包括至少兩個容災(zāi)集群系統(tǒng)。每個容災(zāi)集群系統(tǒng)包括第二前端平臺和第二后端平臺, 其中第二后端平臺包括第二業(yè)務(wù)處理裝置和遠(yuǎn)程復(fù)制從LUN,可選地第二后端平臺還包括遠(yuǎn)端緩存。在本實(shí)施例中容災(zāi)中心采用實(shí)施例三中的第一種判斷是否已接收到一個周期號對應(yīng)的所有寫請求的方式來判斷是否已接收到一個周期號對應(yīng)的所有寫請求。如圖4A所示,本實(shí)施例包括步驟41 容災(zāi)中心中的容災(zāi)集群系統(tǒng)接收生產(chǎn)中心發(fā)來的寫請求,該寫請求中標(biāo)記有周期號和順序號。該寫請求是生產(chǎn)中心中與該容災(zāi)集群系統(tǒng)處理的物理地址空間相同的生產(chǎn)集群系統(tǒng)發(fā)送的。可選地,容災(zāi)集群系統(tǒng)中的第二前端平臺接收生產(chǎn)中心中的生產(chǎn)集群系統(tǒng)發(fā)送的寫請求。也就是說,容災(zāi)中心中接收寫請求的容災(zāi)集群系統(tǒng)所處理的物理地址空間,與生產(chǎn)中心中發(fā)送該寫請求的生產(chǎn)集群系統(tǒng)處理的物理地址空間相同。步驟42 所述容災(zāi)集群系統(tǒng)根據(jù)生產(chǎn)中心發(fā)送的周期號及對應(yīng)的寫請求數(shù)、以及暫存的已接收到的寫請求中標(biāo)記的周期號和順序號,判斷是否已接收到一個周期號對應(yīng)的所有寫請求,若判斷結(jié)果為已接收到一個周期號對應(yīng)的所有寫請求時(shí),執(zhí)行步驟43,否則返回步驟41,繼續(xù)接收生產(chǎn)中心發(fā)送的寫請求??蛇x地,該容災(zāi)集群系統(tǒng)的第二前端平臺接收生產(chǎn)中心的第一業(yè)務(wù)處理裝置發(fā)送的寫請求后,將該寫請求下發(fā)給所屬容災(zāi)集群系統(tǒng)的第二后端平臺中第二業(yè)務(wù)處理裝置, 第二業(yè)務(wù)處理裝置可將接收到的寫請求寫入第二后端平臺的遠(yuǎn)端緩存中。具體地,根據(jù)寫請求中周期號,第二業(yè)務(wù)處理裝置將寫請求寫入遠(yuǎn)端緩存中周期號對應(yīng)的隊(duì)列中。例如,遠(yuǎn)端緩存中寫請求以鏈表形式存儲,一個周期號對應(yīng)一個鏈表,鏈表中寫請求以順序號排序。 第二業(yè)務(wù)處理裝置根據(jù)寫請求的周期號向遠(yuǎn)端緩存中鏈表寫入寫請求時(shí),按照寫請求中標(biāo)記的順序號將寫請求插入鏈表中相應(yīng)位置。圖4C為本發(fā)明實(shí)施例提供的容災(zāi)集群系統(tǒng)中的遠(yuǎn)端緩存中保存的寫請求鏈表的示意圖。如圖4C所示,每個周期號對應(yīng)一個鏈表,鏈表中寫請求以順序號排序。進(jìn)一步,該容災(zāi)集群系統(tǒng)的第二前端平臺還可接收到生產(chǎn)中心發(fā)送的周期號和該周期號對應(yīng)的周期內(nèi)接收的寫請求數(shù),并將接收到的周期號和對應(yīng)的寫請求數(shù)發(fā)送給所屬容災(zāi)集群系統(tǒng)中的第二后端平臺中第二業(yè)務(wù)處理裝置。所述第二業(yè)務(wù)處理裝置根據(jù)第二前端平臺發(fā)送的周期號及對應(yīng)的寫請求數(shù)、以及暫存的已接收到的寫請求中標(biāo)記的周期號和順序號,判斷是否已接收到一個周期號對應(yīng)的所有寫請求。具體地,第二業(yè)務(wù)處理裝置判斷已接收的同一周期號、且不同順序號的寫請求的數(shù)目與生產(chǎn)中心發(fā)來的該周期號對應(yīng)的寫請求數(shù)是否相同;若已接收的同一周期號、且不同順序號的寫請求的數(shù)目與生產(chǎn)中心發(fā)來
13的該周期號對應(yīng)的寫請求數(shù)相同,則確定已接收到該周期號對應(yīng)的所有寫請求;否則,確定未接收到該周期號對應(yīng)的所有寫請求。步驟43 所述容災(zāi)集群系統(tǒng)已接收到一個周期號對應(yīng)的所有寫請求時(shí),判斷該周期號對應(yīng)的所有寫請求中是否存在訪問地址沖突的寫請求。如果判斷結(jié)果為是,執(zhí)行步驟 44,否則執(zhí)行步驟45。步驟44:若存在訪問地址沖突的寫請求,該容災(zāi)集群系統(tǒng)根據(jù)寫請求中的順序號將該周期號對應(yīng)的寫請求依次寫入該容災(zāi)集群系統(tǒng)的遠(yuǎn)程復(fù)制從LUN。可選地,該容災(zāi)集群系統(tǒng)的第二業(yè)務(wù)處理裝置在遠(yuǎn)端緩存的隊(duì)列中查找寫請求中周期號對應(yīng)的隊(duì)列,根據(jù)寫請求中順序號將隊(duì)列中的寫請求寫入遠(yuǎn)程復(fù)制從LUN中。步驟45 若不存在訪問地址沖突的寫請求,該容災(zāi)集群系統(tǒng)將該周期號對應(yīng)的寫請求并發(fā)寫入遠(yuǎn)程復(fù)制從LUN??蛇x地,該容災(zāi)集群系統(tǒng)的第二業(yè)務(wù)處理裝置在遠(yuǎn)端緩存的隊(duì)列中查找寫請求中周期號對應(yīng)的隊(duì)列,將該周期號對應(yīng)的寫請求并發(fā)寫入遠(yuǎn)程復(fù)制從LUN。例如,在T2周期內(nèi)生產(chǎn)中心的Hostl和Host2先后向第一前端平臺下發(fā)訪問邏輯地址LBAl的A寫請求和訪問邏輯地址LBAl的B寫請求,第一后端平臺的本地遠(yuǎn)程復(fù)制主LUN中寫請求寫入的順序?yàn)橄華后B。當(dāng)網(wǎng)絡(luò)延時(shí)等原因造成B寫請求先于A寫請求到達(dá)容災(zāi)中心,并先于A寫請求寫入容災(zāi)中心的第二后端平臺的遠(yuǎn)端緩存中時(shí),由于A寫請求和B寫請求均標(biāo)記有周期號和順序號,第二后端平臺根據(jù)周期號和順序號,先將A寫請求寫入遠(yuǎn)端緩存,再將B請求寫入遠(yuǎn)端緩存,并根據(jù)遠(yuǎn)端緩存中寫入遠(yuǎn)程復(fù)制從LUN,從而避免了遠(yuǎn)程復(fù)制主LUN和遠(yuǎn)程復(fù)制從LUN中存儲的數(shù)據(jù)不一致的問題。本發(fā)明實(shí)施例中容災(zāi)中心的存儲系統(tǒng)為分布式存儲系統(tǒng),每個容災(zāi)集群系統(tǒng)分別用于處理不同物理地址空間的寫請求。容災(zāi)集群系統(tǒng)接收到生產(chǎn)中心中與該容災(zāi)集群系統(tǒng)處理的物理地址空間相同的生產(chǎn)集群系統(tǒng)發(fā)送的寫請求后,判斷是否已接收到一個周期號對應(yīng)的所有寫請求。在確定已接收到所有寫請求時(shí),再判斷該周期號對應(yīng)的所有寫請求中是否存在物理地址沖突的寫請求,以確定將該周期號的寫請求按照其中標(biāo)記的順序號依次寫入遠(yuǎn)程復(fù)制從LUN,還是并發(fā)寫入遠(yuǎn)程復(fù)制從LUN。需要說明的是,附圖3給出的另一種異步遠(yuǎn)程復(fù)制方法也可以應(yīng)用于非分布式的存儲系統(tǒng),即容災(zāi)中心存儲系統(tǒng)中只包含附圖4B中的一個容災(zāi)集群系統(tǒng)的情況。非分布式存儲系統(tǒng)也可以看作是分布式的存儲系統(tǒng)的一個特例,其處理流程與附圖4A也基本類似, 只不過在步驟41中,由于只有一個容災(zāi)集群系統(tǒng),因而無需限定接收到的寫請求為生產(chǎn)中心中與該容災(zāi)集群系統(tǒng)處理的物理地址空間相同的生產(chǎn)集群系統(tǒng)發(fā)送的寫請求,只需要是生產(chǎn)中心發(fā)來的寫請求即可。實(shí)施例五圖2B為本發(fā)明實(shí)施例提供的生產(chǎn)中心的分布式存儲系統(tǒng)結(jié)構(gòu)示意圖。如圖2B所示,生產(chǎn)中心包括至少一個生產(chǎn)集群系統(tǒng),每個生產(chǎn)集群系統(tǒng)包括一個第一前端平臺51和一個第一后端平臺52,第一后端平臺包括第一業(yè)務(wù)處理裝置521和遠(yuǎn)程復(fù)制主LUN522。第一前端平臺51,用于接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為寫請求標(biāo)記周期號,并將已標(biāo)記周期號的寫請求發(fā)送給所屬生產(chǎn)集群系統(tǒng)中的第一后端平臺52 中的第一業(yè)務(wù)處理裝置521。
第一業(yè)務(wù)處理裝置521,用于將已標(biāo)記周期號的寫請求寫入遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號,并將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。進(jìn)一步,生產(chǎn)中心包含至少兩個生產(chǎn)集群系統(tǒng),即生產(chǎn)中心的存儲系統(tǒng)為分布式存儲系統(tǒng)時(shí)第一前端平臺51,還用于在根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號之前,根據(jù)接收到的寫請求中的邏輯地址、以及保存有邏輯地址與物理地址的映射關(guān)系的地址映射表,確定該寫請求的物理地址,并判斷出該寫請求的物理地址在所屬生產(chǎn)集群系統(tǒng)處理的物理地址空間內(nèi)。進(jìn)一步,所述生產(chǎn)中心包含至少兩個生產(chǎn)集群系統(tǒng)為一個主控生產(chǎn)集群系統(tǒng)和至少一個非主控生產(chǎn)集群系統(tǒng);主控生產(chǎn)集群系統(tǒng)中的第一前端平臺51,還用于設(shè)置當(dāng)前周期的周期號,并將設(shè)置的當(dāng)前周期的周期號下發(fā)給各非主控生產(chǎn)集群系統(tǒng);所述主控生產(chǎn)集群系統(tǒng)中的第一前端平臺51,還用于將自身設(shè)置的當(dāng)前周期的周期號標(biāo)記在所述寫請求中;所述主控生產(chǎn)集群系統(tǒng)中的第一前端平臺51,還用于統(tǒng)計(jì)當(dāng)前周期內(nèi)接收到所述主機(jī)的寫請求數(shù);在當(dāng)前周期結(jié)束后,將當(dāng)前周期內(nèi)所述第一前端平臺接收到所述主機(jī)的寫請求數(shù)和當(dāng)前周期的周期號發(fā)送給容災(zāi)中心;非主控生產(chǎn)集群系統(tǒng)中的第一前端平臺51,還用于獲取主控生產(chǎn)集群系統(tǒng)中的第一前端平臺周期性下發(fā)的當(dāng)前周期的周期號。所述非主控生產(chǎn)集群系統(tǒng)中的第一前端平臺51,還用于將獲取的當(dāng)前周期的周期號標(biāo)記在所述寫請求中。上述各裝置的工作機(jī)理參見圖2A對應(yīng)實(shí)施例中描述,在此不再贅述。在生產(chǎn)中心中包含至少兩個生產(chǎn)集群系統(tǒng)時(shí),本發(fā)明實(shí)施例中生產(chǎn)中心的存儲系統(tǒng)為分布式存儲系統(tǒng),每個生產(chǎn)集群系統(tǒng)分別用于處理不同物理地址空間的寫請求。處理的物理地址空間包括該寫請求的物理地址的生產(chǎn)集群系統(tǒng),其中的第一前端平臺根據(jù)主控第一前端平臺下發(fā)的周期號為寫請求標(biāo)記周期號。上述生產(chǎn)集群系統(tǒng)的第一業(yè)務(wù)處理裝置為根據(jù)寫請求寫入遠(yuǎn)程復(fù)制主LUN的順序?yàn)閷懻埱髽?biāo)記順序號。容災(zāi)中心接收到寫請求標(biāo)記有周期號和順序號,對于同一周期的寫請求容災(zāi)中心可按照順序號寫入遠(yuǎn)程復(fù)制從LUN。 從而避免了在同一周期內(nèi)訪問地址沖突的多個寫請求到達(dá)容災(zāi)中心的順序與在生產(chǎn)中心的寫入順序不一致時(shí),所引起的生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中存儲的數(shù)據(jù)與容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN中存儲的數(shù)據(jù)不一致的問題。實(shí)施例六圖4B為本發(fā)明實(shí)施例提供的容災(zāi)中心實(shí)施例的結(jié)構(gòu)示意圖。如圖4B所示,容災(zāi)中心包括至少一個容災(zāi)集群系統(tǒng),容災(zāi)集群系統(tǒng)包括一個第二前端平臺61和一個第二后端平臺62,第二后端平臺62包括第二業(yè)務(wù)處理裝置621和遠(yuǎn)程復(fù)制從LUN622。其中,第二前端平臺61,用于接收生產(chǎn)中心發(fā)送的寫請求,寫請求中標(biāo)記有周期號和順序號。進(jìn)一步,容災(zāi)中心包含至少兩個容災(zāi)集群系統(tǒng)時(shí)第二前端平臺61,具體用于接收生產(chǎn)中心中與該第二前端平臺61所屬容災(zāi)集群系統(tǒng)處理的物理地址空間相同的生產(chǎn)集群系統(tǒng)發(fā)送的寫請求。第二業(yè)務(wù)處理裝置621,用于判斷第二前端平臺61是否已接收到一個周期號對應(yīng)的所有寫請求,在確定已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入遠(yuǎn)程復(fù)制從LUN622??蛇x地,所述容災(zāi)集群系統(tǒng)還包括遠(yuǎn)端緩存623。所述遠(yuǎn)端緩存623用于以鏈表方式存儲第二前端平臺61接收的寫請求,具體地每個周期號對應(yīng)一個鏈表,每個周期號對應(yīng)的鏈表中的寫請求以順序號排序,所述第二業(yè)務(wù)處理裝置621根據(jù)遠(yuǎn)端緩存623中存儲的鏈表判斷第二前端平臺61 是否已接收到一個周期號對應(yīng)的所有寫請求。上述各裝置的工作機(jī)理參見圖4A對應(yīng)實(shí)施例中描述,在此不再贅述。在容災(zāi)中心中包含至少兩個容災(zāi)集群系統(tǒng)時(shí),本發(fā)明實(shí)施例中容災(zāi)中心的存儲系統(tǒng)為分布式存儲系統(tǒng),每個容災(zāi)集群系統(tǒng)用于處理的寫請求的物理地址空間與該容災(zāi)中心中其他容災(zāi)集群系統(tǒng)用于處理的寫請求的物理地址空間不同。容災(zāi)中心中接收寫請求的容災(zāi)集群系統(tǒng)所處理的物理地址空間,與生產(chǎn)中心中發(fā)送該寫請求的生產(chǎn)集群系統(tǒng)處理的物理地址空間相同。上述容災(zāi)集群系統(tǒng)的第二業(yè)務(wù)處理裝置接收到第二前端平臺轉(zhuǎn)發(fā)的寫請求時(shí),根據(jù)第二前端平臺轉(zhuǎn)發(fā)的寫請數(shù)和周期號,判斷是否已接收到一個周期號對應(yīng)的所有寫請求。在確定已接收到所有寫請求時(shí),再判斷該周期號對應(yīng)的所有寫請求中是否存在物理地址沖突的寫請求,以確定將該周期號的寫請求按照其中標(biāo)記的順序號依次寫入遠(yuǎn)程復(fù)制從LUN,還是并發(fā)寫入遠(yuǎn)程復(fù)制從LUN。實(shí)施例七圖5為本發(fā)明實(shí)施例提供的容災(zāi)中心中第二業(yè)務(wù)處理裝置實(shí)施例的結(jié)構(gòu)示意圖。 如圖5所示,第二業(yè)務(wù)處理裝置621包括請求數(shù)判斷模塊6211、沖突判斷模塊6212、串行寫模塊6213和并發(fā)寫模塊6214。第二前端平臺,還用于接收生產(chǎn)中心發(fā)送的周期號和在該周期號對應(yīng)的周期內(nèi)接收到的寫請求數(shù)。請求數(shù)判斷模塊6211,用于根據(jù)第二前端平臺接收到的生產(chǎn)中心發(fā)送的周期號和寫請求數(shù)、以及暫存的已接收到的寫請求中標(biāo)記的周期號和順序號,判斷是否已接收到一個周期號對應(yīng)的所有寫請求。沖突判斷模塊6212,用于在請求數(shù)判斷模塊6211確定出已接收到一個周期號對應(yīng)的所有寫請求時(shí),判斷周期號對應(yīng)的所有寫請求中是否存在訪問地址沖突的寫請求。串行寫模塊6213,用于若沖突判斷模塊6212判斷出存在訪問地址沖突的寫請求, 則根據(jù)寫請求中的順序號將周期號對應(yīng)的寫請求依次寫入遠(yuǎn)程復(fù)制從LUN。并發(fā)寫模塊6214,用于若沖突判斷模塊6212判斷出不存在訪問地址沖突的寫請求,則將周期號對應(yīng)的寫請求并發(fā)寫入遠(yuǎn)程復(fù)制從LUN。實(shí)施例八圖6為本發(fā)明實(shí)施例提供的異步遠(yuǎn)程復(fù)制系統(tǒng)的結(jié)構(gòu)示意圖。如圖6所示,生產(chǎn)中心包括至少一個生產(chǎn)集群系統(tǒng),每個生產(chǎn)集群系統(tǒng)包括一個第一前端平臺51和一個第一后端平臺52,第一后端平臺52包括第一業(yè)務(wù)處理裝置521和遠(yuǎn)程復(fù)制主LUN522。容災(zāi)中心包括至少一個容災(zāi)集群系統(tǒng),容災(zāi)集群系統(tǒng)包括一個第二前端平臺61和一個第二后端平臺62,第二后端平臺62包括第二業(yè)務(wù)處理裝置621和遠(yuǎn)程復(fù)制從LUN622。上述各裝置的工作機(jī)理參見圖2B和圖4B對應(yīng)實(shí)施例中描述,在此不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種異步遠(yuǎn)程復(fù)制方法,其特征在于,包括生產(chǎn)中心接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號; 將已標(biāo)記周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號;將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。
2.如權(quán)利要求1所述的方法,其特征在于,還包括在當(dāng)前周期結(jié)束后,將所述當(dāng)前周期的周期號和當(dāng)前周期內(nèi)接收到的所述主機(jī)的寫請求數(shù)發(fā)送給所述容災(zāi)中心。
3.如權(quán)利要求2所述的方法,其特征在于,生產(chǎn)中心的存儲系統(tǒng)包含至少兩個生產(chǎn)集群系統(tǒng),所述根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號,具體包括每個生產(chǎn)集群系統(tǒng)根據(jù)所述寫請求中的邏輯地址、以及保存有邏輯地址與物理地址的映射關(guān)系的地址映射表,確定所述寫請求的物理地址;判斷所述生產(chǎn)集群系統(tǒng)處理的物理地址空間是否包括所述寫請求的物理地址; 若所述生產(chǎn)集群系統(tǒng)處理的物理地址空間包括所述寫請求的物理地址,則所述生產(chǎn)集群系統(tǒng)獲取當(dāng)前周期的周期號,并將所述當(dāng)前周期的周期號標(biāo)記在所述寫請求中;否則,忽略該寫請求、或向其它生產(chǎn)集群系統(tǒng)轉(zhuǎn)發(fā)該寫請求;所述將已標(biāo)記周期號的寫請求寫入遠(yuǎn)程復(fù)制主LUN,具體為 所述生產(chǎn)集群系統(tǒng)將已標(biāo)記周期號的寫請求寫入該生產(chǎn)集群系統(tǒng)的遠(yuǎn)程復(fù)制主LUN。
4.如權(quán)利要求3所述的方法,其特征在于,所述至少兩個生產(chǎn)集群系統(tǒng)為一個主控生產(chǎn)集群系統(tǒng)和至少一個非主控生產(chǎn)集群系統(tǒng);所述生產(chǎn)集群系統(tǒng)為非主控生產(chǎn)集群系統(tǒng),所述生產(chǎn)集群系統(tǒng)獲取當(dāng)前周期的周期號,具體為所述生產(chǎn)集群系統(tǒng)接收所述主控生產(chǎn)集群系統(tǒng)根據(jù)該生產(chǎn)集群系統(tǒng)的請求下發(fā)的當(dāng)前周期的周期號,或者所述生產(chǎn)集群系統(tǒng)接收所述主控生產(chǎn)集群系統(tǒng)周期性下發(fā)的當(dāng)前周期號; 所述生產(chǎn)集群系統(tǒng)為主控生產(chǎn)集群系統(tǒng),所述生產(chǎn)集群系統(tǒng)獲取當(dāng)前周期的周期號, 具體為所述生產(chǎn)集群系統(tǒng)將自身設(shè)置的當(dāng)前周期的周期號作為當(dāng)前周期的周期號; 所述在當(dāng)前周期結(jié)束后,將當(dāng)前周期內(nèi)接收到的所述主機(jī)的寫請求數(shù)和當(dāng)前周期的周期號發(fā)送給所述容災(zāi)中心,具體為所述主控生產(chǎn)集群系統(tǒng)統(tǒng)計(jì)當(dāng)前周期內(nèi)接收到所述主機(jī)的寫請求數(shù); 在當(dāng)前周期結(jié)束后,所述主控生產(chǎn)集群系統(tǒng)將當(dāng)前周期的周期號和當(dāng)前周期內(nèi)接收到的所述主機(jī)的寫請求數(shù)發(fā)送給容災(zāi)中心。
5.一種異步遠(yuǎn)程復(fù)制方法,其特征在于,包括容災(zāi)中心接收生產(chǎn)中心發(fā)送的寫請求,所述寫請求中標(biāo)記有周期號和順序號; 判斷是否已接收到一個周期號對應(yīng)的所有寫請求;在判斷結(jié)果為已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入本地遠(yuǎn)程復(fù)制從LUN。
6.如權(quán)利要求5所述的方法,其特征在于,在所述判斷是否已接收到一個周期號對應(yīng)的所有寫請求之前,還包括接收生產(chǎn)中心發(fā)送的周期號和在該周期號對應(yīng)的周期內(nèi)接收到的寫請求數(shù); 所述判斷是否已接收到一個周期號對應(yīng)的所有寫請求,具體為 根據(jù)所述生產(chǎn)中心發(fā)送的周期號和在該周期號對應(yīng)的周期內(nèi)接收到的寫請求數(shù)、以及暫存的已接收到的寫請求中標(biāo)記的周期號和順序號,判斷是否已接收到一個周期號對應(yīng)的所有寫請求。
7.如權(quán)利要求5或6所述的方法,其特征在于,所述在判斷結(jié)果為已接收到一個周期號對應(yīng)的所有寫請求時(shí),所述根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入遠(yuǎn)程復(fù)制從LUN,具體為判斷所述周期號對應(yīng)的所有寫請求中是否存在訪問地址沖突的寫請求; 若存在訪問地址沖突的寫請求,則根據(jù)寫請求中標(biāo)記的順序號將所述周期號對應(yīng)的寫請求依次寫入遠(yuǎn)程復(fù)制從LUN ;若不存在訪問地址沖突的寫請求,則將所述周期號對應(yīng)的寫請求并發(fā)寫入遠(yuǎn)程復(fù)制從LUN。
8.如權(quán)利要求5或6所述的方法,其特征在于,所述容災(zāi)中心的存儲系統(tǒng)包含至少兩個容災(zāi)集群系統(tǒng)時(shí),所述容災(zāi)中心接收生產(chǎn)中心發(fā)送的寫請求,具體為容災(zāi)中心中的容災(zāi)集群系統(tǒng)接收生產(chǎn)中心中與該容災(zāi)集群系統(tǒng)處理的物理地址空間相同的生產(chǎn)集群系統(tǒng)發(fā)送的寫請求;所述將接收到的寫請求寫入本地遠(yuǎn)程復(fù)制從LUN,具體為容災(zāi)中心中的容災(zāi)集群系統(tǒng)將接收到的寫請求寫入該容災(zāi)集群系統(tǒng)的遠(yuǎn)程復(fù)制從LUN。
9.一種生產(chǎn)中心,其特征在于,包括至少一個生產(chǎn)集群系統(tǒng),所述生產(chǎn)集群系統(tǒng)包括一個第一前端平臺和一個第一后端平臺,所述第一后端平臺包括第一業(yè)務(wù)處理裝置和遠(yuǎn)程復(fù)制主LUN,其中所述第一前端平臺,用于接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號,并將已標(biāo)記周期號的寫請求發(fā)送給所屬生產(chǎn)集群系統(tǒng)中的第一后端平臺中的第一業(yè)務(wù)處理裝置;第一業(yè)務(wù)處理裝置,用于將已標(biāo)記周期號的寫請求寫入遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號,并將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。
10.如權(quán)利要求9所述生產(chǎn)中心,其特征在于,所述生產(chǎn)中心包含至少兩個生產(chǎn)集群系統(tǒng)時(shí)所述第一前端平臺,還用于在根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號之前, 根據(jù)接收到的寫請求中的邏輯地址、以及保存有邏輯地址與物理地址的映射關(guān)系的地址映射表,確定該寫請求的物理地址;并判斷出所屬生產(chǎn)集群系統(tǒng)處理的物理地址空間包括該寫請求的物理地址。
11.如權(quán)利要求9或10所述生產(chǎn)中心,其特征在于,所述生產(chǎn)中心包含一個主控生產(chǎn)集群系統(tǒng)和至少一個非主控生產(chǎn)集群系統(tǒng);所述主控生產(chǎn)集群系統(tǒng)中的第一前端平臺,還用于設(shè)置當(dāng)前周期的周期號,并周期性地將設(shè)置的當(dāng)前周期的周期號下發(fā)給各非主控生產(chǎn)集群系統(tǒng);所述主控生產(chǎn)集群系統(tǒng)中的第一前端平臺,還用于將所述主控生產(chǎn)集群系統(tǒng)中的第一前端平臺設(shè)置的當(dāng)前周期的周期號標(biāo)記在所述寫請求中;所述主控生產(chǎn)集群系統(tǒng)中的第一前端平臺,還用于統(tǒng)計(jì)當(dāng)前周期內(nèi)接收到所述主機(jī)的寫請求數(shù);在當(dāng)前周期結(jié)束后,將當(dāng)前周期內(nèi)所述第一前端平臺接收到所述主機(jī)的寫請求數(shù)和當(dāng)前周期的周期號發(fā)送給容災(zāi)中心;非主控生產(chǎn)集群系統(tǒng)中的第一前端平臺,還用于獲取主控生產(chǎn)集群系統(tǒng)中的第一前端平臺周期性下發(fā)的當(dāng)前周期的周期號;所述非主控生產(chǎn)集群系統(tǒng)中的第一前端平臺,還用于將所述主控生產(chǎn)集群系統(tǒng)中的第一前端平臺周期性下發(fā)的當(dāng)前周期的周期號標(biāo)記在所述寫請求中。
12.—種容災(zāi)中心,其特征在于,包括至少一個容災(zāi)集群系統(tǒng),所述容災(zāi)集群系統(tǒng)包括一個第二前端平臺和一個第二后端平臺,所述第二后端平臺包括第二業(yè)務(wù)處理裝置和遠(yuǎn)程復(fù)制從LUN,其中所述第二前端平臺,用于接收生產(chǎn)中心發(fā)送的寫請求,所述寫請求中標(biāo)記有周期號和順序號;所述第二業(yè)務(wù)處理裝置,用于判斷所述第二前端平臺是否已接收到一個周期號對應(yīng)的所有寫請求,在確定已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入遠(yuǎn)程復(fù)制從LUN。
13.如權(quán)利要求12所述容災(zāi)中心,其特征在于所述第二前端平臺,還用于接收生產(chǎn)中心發(fā)送的周期號和在該周期號對應(yīng)的周期內(nèi)接收到的請求數(shù);所述第二業(yè)務(wù)處理裝置,具體包括請求數(shù)判斷模塊,用于根據(jù)所述第二前端平臺接收到的周期號和寫請求數(shù)、以及暫存的已接收到的寫請求中標(biāo)記的周期號和順序號,判斷是否已接收到一個周期號對應(yīng)的所有寫請求;沖突判斷模塊,用于在請求數(shù)判斷模塊確定出已接收到一個周期號對應(yīng)的所有寫請求時(shí),判斷所述周期號對應(yīng)的所有寫請求中是否存在訪問地址沖突的寫請求;串行寫模塊,用于若存在訪問地址沖突的寫請求,則根據(jù)寫請求中的順序號將所述周期號對應(yīng)的寫請求依次寫入遠(yuǎn)程復(fù)制從LUN ;并發(fā)寫模塊,用于若不存在訪問地址沖突的寫請求,則將所述周期號對應(yīng)的寫請求并發(fā)寫入遠(yuǎn)程復(fù)制從LUN。
14.如權(quán)利要求12所述的容災(zāi)中心,其特征在于,所述容災(zāi)集群系統(tǒng)還包括遠(yuǎn)端緩存,用于以鏈表方式存儲第二前端平臺接收的寫請求,具體為每個周期號對應(yīng)一個鏈表,每個周期號對應(yīng)的鏈表中的寫請求依據(jù)順序號排序;所述第二業(yè)務(wù)處理裝置,還用于根據(jù)所述遠(yuǎn)端緩存中存儲的鏈表判斷第二前端平臺是否已接收到一個周期號對應(yīng)的所有寫請求。
15.如權(quán)利要求12或13所述容災(zāi)中心,其特征在于,所述容災(zāi)中心包含至少兩個容災(zāi)集群系統(tǒng)時(shí)所述第二前端平臺,還用于接收生產(chǎn)中心發(fā)送的寫請求時(shí),確定出該寫請求為生產(chǎn)中心中與所屬容災(zāi)集群系統(tǒng)處理的物理地址空間相同的生產(chǎn)集群系統(tǒng)發(fā)送的。
16. 一種異步遠(yuǎn)程復(fù)制系統(tǒng),其特征在于,包括生產(chǎn)中心,用于接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號;將已標(biāo)記周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號;將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心;容災(zāi)中心,用于接收生產(chǎn)中心發(fā)送的寫請求,所述寫請求中標(biāo)記有周期號和順序號;判斷是否已接收到一個周期號對應(yīng)的所有寫請求,在判斷結(jié)果為已接收到一個周期號對應(yīng)的所有寫請求時(shí),根據(jù)寫請求中標(biāo)記的周期號和順序號,將接收到的寫請求寫入本地遠(yuǎn)程復(fù)制從LUN。
全文摘要
本發(fā)明提供一種異步遠(yuǎn)程復(fù)制方法、系統(tǒng)及設(shè)備。該異步遠(yuǎn)程復(fù)制方法包括生產(chǎn)中心接收到主機(jī)的寫請求后,根據(jù)當(dāng)前周期的周期號為所述寫請求標(biāo)記周期號;將已標(biāo)記周期號的寫請求寫入本地遠(yuǎn)程復(fù)制主LUN,根據(jù)寫入所述遠(yuǎn)程復(fù)制主LUN的順序?yàn)樗鲆褬?biāo)記周期號的寫請求標(biāo)記順序號;將已標(biāo)記周期號和順序號的寫請求發(fā)送給容災(zāi)中心。本發(fā)明避免了在同一周期內(nèi)訪問地址沖突的多個寫請求到達(dá)容災(zāi)中心的順序與在生產(chǎn)中心的寫入順序不一致時(shí),所引起的生產(chǎn)中心的遠(yuǎn)程復(fù)制主LUN中存儲的數(shù)據(jù)與容災(zāi)中心的遠(yuǎn)程復(fù)制從LUN中存儲的數(shù)據(jù)不一致的問題。
文檔編號G06F11/14GK102306115SQ20111013251
公開日2012年1月4日 申請日期2011年5月20日 優(yōu)先權(quán)日2011年5月20日
發(fā)明者王飛, 羅慶超, 高三海 申請人:成都市華為賽門鐵克科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
吉木萨尔县| 远安县| 卢龙县| 浑源县| 山西省| 镇沅| 鄢陵县| 河源市| 新建县| 庆城县| 衡东县| 曲水县| 昂仁县| 龙口市| 漯河市| 普陀区| 聂拉木县| 西平县| 长汀县| 泽州县| 固镇县| 阳曲县| 堆龙德庆县| 沂南县| 新乡县| 西林县| 仙居县| 墨玉县| 那坡县| 龙川县| 龙山县| 涿鹿县| 鱼台县| 大宁县| 定安县| 玛纳斯县| 怀远县| 屏东县| 霍邱县| 咸阳市| 利辛县|