国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      Svc集群中配置節(jié)點(diǎn)的故障移交方法和系統(tǒng)的制作方法

      文檔序號(hào):7713298閱讀:278來源:國(guó)知局
      專利名稱:Svc集群中配置節(jié)點(diǎn)的故障移交方法和系統(tǒng)的制作方法
      SVC集群中配置節(jié)點(diǎn)的故障移交方法和系統(tǒng)技術(shù)領(lǐng)域
      本發(fā)明一般涉及計(jì)算機(jī)領(lǐng)域,具體涉及存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器(SVC)集群中配置 節(jié)點(diǎn)的故障移交方法和系統(tǒng)。
      背景技術(shù)
      存儲(chǔ)系統(tǒng)網(wǎng)絡(luò)平臺(tái)已經(jīng)成為數(shù)字化技術(shù)的一個(gè)核心平臺(tái),各種應(yīng)用對(duì)該平臺(tái)的要 求也越來越高,不僅對(duì)存儲(chǔ)容量,還對(duì)數(shù)據(jù)訪問性能、數(shù)據(jù)傳輸性能、數(shù)據(jù)管理能力、存儲(chǔ)擴(kuò) 展能力等等多個(gè)方面提出越來越高的要求。可以說,存儲(chǔ)網(wǎng)絡(luò)平臺(tái)的綜合性能的優(yōu)劣,將直 接影響到整個(gè)系統(tǒng)的正常運(yùn)行。為達(dá)到這些要求,虛擬存儲(chǔ)技術(shù)正越來越受到大家的關(guān)注。
      所謂虛擬存儲(chǔ),就是把多個(gè)存儲(chǔ)模塊(如硬盤、磁帶等)通過一定的手段集中管 理起來,所有的存儲(chǔ)模塊在一個(gè)存儲(chǔ)池(Storage Pool)中得到統(tǒng)一管理,從主機(jī)和工作站 的角度,看到的就不是多個(gè)硬盤,而是一個(gè)分區(qū)或者卷,就好象訪問的是一個(gè)超大容量的硬ο
      虛擬化技術(shù)并不是一個(gè)很新的技術(shù),在70年代,限于當(dāng)時(shí)的內(nèi)存容量和成本大型 應(yīng)用程序或多程序應(yīng)用就采用了虛擬存儲(chǔ)的技術(shù),最典型的應(yīng)用就是虛擬內(nèi)存技術(shù)。隨著 計(jì)算機(jī)技術(shù)以及相關(guān)信息處理技術(shù)的不斷發(fā)展,人們對(duì)存儲(chǔ)的需求越來越大。這種需求刺 激了虛擬存儲(chǔ)技術(shù)的發(fā)展,首先是磁盤條帶集(RAID,可帶容錯(cuò))技術(shù),該技術(shù)將多個(gè)物理 磁盤通過一定的邏輯關(guān)系集合起來,成為一個(gè)大容量的虛擬磁盤。而隨著數(shù)據(jù)量不斷增加 和對(duì)數(shù)據(jù)可用性要求的不斷提高,存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)技術(shù)開始流行。SAN的廣域化旨在將 存儲(chǔ)設(shè)備實(shí)現(xiàn)為一種公用設(shè)施,任何人員、任何主機(jī)都可以隨時(shí)隨地獲取各自想要的數(shù)據(jù)。 存儲(chǔ)設(shè)備公用化、存儲(chǔ)網(wǎng)絡(luò)廣域化是一個(gè)不可逆轉(zhuǎn)的潮流。
      從拓?fù)浣Y(jié)構(gòu)角度來看,目前的虛擬存儲(chǔ)分為對(duì)稱式與非對(duì)稱式兩種虛擬存儲(chǔ)方 案,對(duì)稱式虛擬存儲(chǔ)技術(shù)是指虛擬存儲(chǔ)控制設(shè)備與存儲(chǔ)軟件系統(tǒng)、交換設(shè)備集成為一個(gè)整 體,內(nèi)嵌在網(wǎng)絡(luò)數(shù)據(jù)傳輸路徑中;非對(duì)稱式虛擬存儲(chǔ)技術(shù)是指虛擬存儲(chǔ)控制設(shè)備獨(dú)立于數(shù) 據(jù)傳輸路徑之外。在對(duì)稱式虛擬存儲(chǔ)結(jié)構(gòu)中,存儲(chǔ)控制設(shè)備與存儲(chǔ)池子系統(tǒng)集成在一起,組 成存儲(chǔ)區(qū)域網(wǎng)絡(luò)設(shè)備。在該方案中存儲(chǔ)控制設(shè)備在主機(jī)與存儲(chǔ)池?cái)?shù)據(jù)交換的過程中起到核 心作用。該方案的虛擬存儲(chǔ)過程是這樣的由存儲(chǔ)控制設(shè)備內(nèi)嵌的存儲(chǔ)管理系統(tǒng)將存儲(chǔ)池 中的物理硬盤虛擬為邏輯存儲(chǔ)單元,并進(jìn)行端口映射,主機(jī)端將各可見的存儲(chǔ)單元映射為 操作系統(tǒng)可識(shí)別的盤符。當(dāng)主機(jī)向存儲(chǔ)區(qū)域網(wǎng)絡(luò)設(shè)備寫入數(shù)據(jù)時(shí),用戶只需要將數(shù)據(jù)寫入 位置指定為自己映射的盤符,數(shù)據(jù)經(jīng)過存儲(chǔ)控制設(shè)備的高速并行端口,先寫入高速緩存,存 儲(chǔ)控制設(shè)備中的存儲(chǔ)管理系統(tǒng)自動(dòng)完成目標(biāo)位置由邏輯存儲(chǔ)單元到物理硬盤的轉(zhuǎn)換,在此 過程中用戶見到的只是虛擬邏輯單元,而不關(guān)心每個(gè)邏輯存儲(chǔ)單元的具體物理組織結(jié)構(gòu)。
      圖1示出了一般的對(duì)稱式虛擬存儲(chǔ)系統(tǒng)的結(jié)構(gòu)圖。從圖1可以看到,經(jīng)過每種設(shè) 備的控制器,原先的物理磁盤被轉(zhuǎn)化成虛擬的邏輯磁盤,從而可以被主機(jī)使用。但是組成每 一個(gè)虛擬邏輯磁盤的物理塊必須來自于同一個(gè)存儲(chǔ)設(shè)備的物理磁盤,不可以來自不同的存 儲(chǔ)設(shè)備。所以一般的對(duì)稱式虛擬存儲(chǔ)技術(shù)還不是完全虛擬化的方案。在圖1所示的一般的對(duì)稱式虛擬存儲(chǔ)系統(tǒng)中,在存儲(chǔ)設(shè)備中,已經(jīng)使用故障移交的技術(shù),主要有兩個(gè)控制器,其 中一個(gè)控制器為主控制器,另外一個(gè)控制器為從控制器。從控制器保留所有主控制器發(fā)送 和接收的信息,當(dāng)主控制器故障時(shí),從控制器可以接管,由于其保留所有主控制器發(fā)送和接 收的消息,因此,接管后不會(huì)發(fā)生任何移交問題。
      基于現(xiàn)有虛擬存儲(chǔ)技術(shù)的SAN卷控制器(SAN Volume Controller,簡(jiǎn)稱SVC),與 一般的對(duì)稱式虛擬存儲(chǔ)系統(tǒng)相比,可以實(shí)現(xiàn)完全虛擬化的方案。該技術(shù)方案由I BM提出, 圖2示意性地示出該技術(shù)方案的結(jié)構(gòu)圖。根據(jù)圖2,經(jīng)過SVC集群的進(jìn)一步虛擬化后,所有 的磁盤都變成全虛擬化的邏輯磁盤,而組成每個(gè)虛擬邏輯磁盤的塊可以來自不同存儲(chǔ)設(shè)備 的物理磁盤。同時(shí),圖2還示出,各SVC通過集群的組織方式進(jìn)行連接,一個(gè)SVC集群中通 常有8臺(tái)SVC設(shè)備,每個(gè)SVC設(shè)備稱為一個(gè)節(jié)點(diǎn),一個(gè)SVC集群中的每一個(gè)SVC節(jié)點(diǎn)都是同 構(gòu)的,即其上運(yùn)行的對(duì)內(nèi)服務(wù)是完全相同的;同時(shí),一個(gè)SVC集群中在某一時(shí)刻只有一個(gè)節(jié) 點(diǎn)作為配置節(jié)點(diǎn)(configuration node),該配置節(jié)點(diǎn)上運(yùn)行對(duì)外的服務(wù),例如接受并分發(fā) 配置命令等,其它任何節(jié)點(diǎn)上都不會(huì)同步運(yùn)行對(duì)外服務(wù)程序。當(dāng)配置節(jié)點(diǎn)發(fā)生某些問題,需 要故障移交(failover)其服務(wù)角色的時(shí)候,使用的技術(shù)方案與存儲(chǔ)設(shè)備中的故障移交技 術(shù)不同這里其它節(jié)點(diǎn)會(huì)通過協(xié)商的方式來選出新的配置節(jié)點(diǎn),啟動(dòng)其上的服務(wù)程序,開始 擔(dān)當(dāng)配置節(jié)點(diǎn)的角色。這樣的結(jié)構(gòu)可以實(shí)現(xiàn)高可用性,并且可以很大程度地節(jié)約運(yùn)行所需 的資源。發(fā)明內(nèi)容
      SVC集群中使用的故障移交技術(shù)與主從控制器進(jìn)行故障移交的技術(shù)相比,由于新 選出的配置節(jié)點(diǎn)并沒有存儲(chǔ)原配置節(jié)點(diǎn)的所有信息,可能會(huì)存在移交問題。具體來說,SVC 集群的配置節(jié)點(diǎn)使用靜態(tài)的IP地址與外界通信,當(dāng)發(fā)生故障時(shí),其他節(jié)點(diǎn)通過協(xié)商選出的 新的配置節(jié)點(diǎn)會(huì)接管該靜態(tài)IP地址,原來配置節(jié)點(diǎn)上的服務(wù)會(huì)移交到新的配置節(jié)點(diǎn),原來 的配置節(jié)點(diǎn)重新啟動(dòng)后成為一般的節(jié)點(diǎn)?,F(xiàn)有的SVC集群中,所有的客戶端訂閱存儲(chǔ)設(shè)備 事件的訂閱信息由于存儲(chǔ)在原來的配置節(jié)點(diǎn)中,會(huì)因?yàn)樵瓉砼渲霉?jié)點(diǎn)的故障而丟失,這意 味著原來訂閱消息的客戶端將不能收到其訂閱過的消息。
      因此,本發(fā)明提出了一種存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器(SVC)集群中的配置節(jié)點(diǎn)故障移 交方法和系統(tǒng),通過使用本發(fā)明的方法和系統(tǒng),在配置節(jié)點(diǎn)發(fā)生故障移交時(shí),不影響客戶端 繼續(xù)收到原來訂閱的消息。
      根據(jù)本發(fā)明的一個(gè)方面,提供了一種存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器SVC集群中配置節(jié)點(diǎn) 故障的移交系統(tǒng),所述SVC集群用于管理多個(gè)存儲(chǔ)設(shè)備,該SVC集群包括多個(gè)通過網(wǎng)絡(luò)互聯(lián) 的SVC,每個(gè)SVC作為一個(gè)節(jié)點(diǎn),所述SVC集群中某一時(shí)刻只有一個(gè)節(jié)點(diǎn)作為配置節(jié)點(diǎn)運(yùn)行 對(duì)外的服務(wù),該系統(tǒng)包括
      啟動(dòng)部件,用于響應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的配置節(jié)點(diǎn);
      存儲(chǔ)部件,用于存儲(chǔ)客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂閱信息,并 且該存儲(chǔ)部件不在原配置節(jié)點(diǎn)中;
      存儲(chǔ)設(shè)備事件監(jiān)控部件,用于對(duì)該SVC集群管理的存儲(chǔ)設(shè)備進(jìn)行監(jiān)控;
      第一獲得部件,用于使新的配置節(jié)點(diǎn)從所述存儲(chǔ)部件獲得所述訂閱信息;
      第二獲得部件,用于使新的配置節(jié)點(diǎn)從所述存儲(chǔ)設(shè)備事件監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;
      發(fā)送部件,用于使新的配置節(jié)點(diǎn)根據(jù)獲得的訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事 件發(fā)送給訂閱的客戶端。
      根據(jù)本發(fā)明的另一個(gè)方面,提供了一種存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器SVC集群中配置節(jié) 點(diǎn)的故障移交方法,所述SVC集群用于管理多個(gè)存儲(chǔ)設(shè)備,該SVC集群包括多個(gè)通過網(wǎng)絡(luò)互 聯(lián)的SVC,每個(gè)SVC作為一個(gè)節(jié)點(diǎn),所述SVC集群中某一時(shí)刻只有一個(gè)節(jié)點(diǎn)作為配置節(jié)點(diǎn)運(yùn) 行對(duì)外的服務(wù),該方法包括
      響應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的配置節(jié)點(diǎn);
      新的配置節(jié)點(diǎn)從存儲(chǔ)部件獲得客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂 閱信息,該存儲(chǔ)部件不在原配置節(jié)點(diǎn)中;
      響應(yīng)于該SVC集群管理的存儲(chǔ)設(shè)備發(fā)生存儲(chǔ)設(shè)備事件,新的配置節(jié)點(diǎn)從存儲(chǔ)設(shè)備 事件監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;
      新的配置節(jié)點(diǎn)根據(jù)獲得的客戶端訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā)送給 訂閱的客戶端。


      通過對(duì)附圖中本發(fā)明示例實(shí)施例方式的更詳細(xì)描述,本發(fā)明的上述、以及其它目 的、特征和優(yōu)勢(shì)將變得更加明顯,其中,相同的參考標(biāo)號(hào)通常代表本發(fā)明示例實(shí)施例方式中 的相同部件。
      圖1示出了一般的對(duì)稱式虛擬存儲(chǔ)系統(tǒng)的結(jié)構(gòu)圖2示意性地示出了基于現(xiàn)有虛擬存儲(chǔ)技術(shù)的SAN卷控制器技術(shù)方案的結(jié)構(gòu)圖3示出了現(xiàn)有SVC集群中與訂閱信息相關(guān)的結(jié)構(gòu)圖4示出了現(xiàn)有SVC集群中與訂閱信息相關(guān)的方法流程;
      圖5示意性地示出了根據(jù)本發(fā)明的一種實(shí)施方式的SVC集群中的配置節(jié)點(diǎn)故障移 交系統(tǒng)相關(guān)的結(jié)構(gòu)圖6示意性地示出了根據(jù)本發(fā)明的一種實(shí)施方式的SVC集群中的配置節(jié)點(diǎn)故障移 交方法的流程圖7示意性示出另外一個(gè)方法實(shí)施例的流程圖;以及
      圖8示意性示出又一個(gè)方法實(shí)施例的流程圖。
      具體實(shí)施方式
      將參照附圖更加詳細(xì)地描述本發(fā)明的優(yōu)選實(shí)施方式,在附圖中顯示了本發(fā)明的優(yōu) 選實(shí)施例。然而,本發(fā)明可以以各種形式實(shí)現(xiàn)而不應(yīng)該理解為被這里闡述的實(shí)施例所限制。 相反,提供這些實(shí)施例是為了使本發(fā)明更加透徹和完整,并且,完全將本發(fā)明的范圍傳達(dá)給 本領(lǐng)域的技術(shù)人員。
      圖3示出了現(xiàn)有SVC集群中與訂閱消息相關(guān)的結(jié)構(gòu)圖,現(xiàn)有的SVC集群的配置節(jié) 點(diǎn)使用靜態(tài)的IP地址與外界通信,該配置節(jié)點(diǎn)中,具有與客戶端相連的配置接口和通知接 口,配置接口用于使客戶端向配置節(jié)點(diǎn)發(fā)送訂閱信息,該訂閱信息為用戶訂閱該SVC集群 管理的存儲(chǔ)設(shè)備事件,包括用戶ID或IP地址,訂閱的信息等,并且將客戶端的訂閱信息存儲(chǔ)在配置節(jié)點(diǎn)中;通知接口用于當(dāng)發(fā)生客戶端訂閱的存儲(chǔ)設(shè)備事件時(shí),向客戶端發(fā)送該客 戶端訂閱的消息。并且,該配置節(jié)點(diǎn)中還有存儲(chǔ)設(shè)備事件監(jiān)控部件,用于和SVC集群管理的 存儲(chǔ)設(shè)備中的控制器通信,獲得存儲(chǔ)設(shè)備上發(fā)生的事件。新配置節(jié)點(diǎn)上也有同樣的接口部 件,但是目前無法獲取原配置節(jié)點(diǎn)上存儲(chǔ)的客戶端訂閱的其感興趣的存儲(chǔ)設(shè)備事件的原訂 閱信息;必須在新配置節(jié)點(diǎn)啟動(dòng)完成后才能重新對(duì)設(shè)備進(jìn)行監(jiān)控,而且必須由客戶端重新 訂閱其感興趣的存儲(chǔ)設(shè)備事件,這樣新配置節(jié)點(diǎn)啟動(dòng)后才能收到以后的存儲(chǔ)設(shè)備事件。
      圖4示出了現(xiàn)有SVC集群中與訂閱消息相關(guān)的方法流程。根據(jù)圖4,在步驟S401, SVC集群建立后,接收客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂閱信息;在步驟 S402,將接收的訂閱信息存儲(chǔ)在配置節(jié)點(diǎn)中;在步驟S403,配置節(jié)點(diǎn)上的存儲(chǔ)設(shè)備事件監(jiān) 控部件開始對(duì)后端存儲(chǔ)設(shè)備進(jìn)行監(jiān)控,步驟S403與步驟S401和S402可以同時(shí)進(jìn)行,或 先后進(jìn)行;在步驟S404,響應(yīng)于后端存儲(chǔ)設(shè)備發(fā)生事件,比如有一塊硬盤壞了,某個(gè)硬盤的 電源不正常等等,配置節(jié)點(diǎn)上的存儲(chǔ)設(shè)備事件監(jiān)控部件獲得這類存儲(chǔ)設(shè)備的事件;在步驟 S405,存儲(chǔ)設(shè)備事件監(jiān)控部件將該事件發(fā)送到通知接口 ;在步驟S406,通知接口查詢存儲(chǔ) 的訂閱信息,獲得訂閱該事件的客戶端;在步驟S407,通知接口將該事件發(fā)送到相應(yīng)的客 戶端。
      顯然,根據(jù)現(xiàn)有SVC集群中與訂閱消息相關(guān)的方法流程,配置節(jié)點(diǎn)是整個(gè)集群中 最重要的節(jié)點(diǎn),其通信量相對(duì)其它節(jié)點(diǎn)而言,是很高的。由于過多通訊所造成的資源消耗過 大,配置節(jié)點(diǎn)可能會(huì)出現(xiàn)故障,這時(shí),整個(gè)集群就會(huì)故障,從而使虛擬存儲(chǔ)系統(tǒng)故障。因此, 現(xiàn)有技術(shù)中,可以在其它節(jié)點(diǎn)上監(jiān)控配置節(jié)點(diǎn)是否正常運(yùn)行,當(dāng)配置節(jié)點(diǎn)發(fā)生故障時(shí),從其 它節(jié)點(diǎn)中協(xié)商選舉出一個(gè)節(jié)點(diǎn),作為新的配置節(jié)點(diǎn)。該新的配置節(jié)點(diǎn)會(huì)接管原來配置節(jié)點(diǎn) 的靜態(tài)IP地址,原來的配置節(jié)點(diǎn)重新啟動(dòng)后成為一般的節(jié)點(diǎn)。但是,現(xiàn)有的SVC集群中,配 置節(jié)點(diǎn)上會(huì)同時(shí)負(fù)責(zé)監(jiān)控和通知的功能,即所有的客戶端訂閱記錄由于存儲(chǔ)在原來的配置 節(jié)點(diǎn)中,會(huì)因?yàn)樵瓉砼渲霉?jié)點(diǎn)的故障而丟失,這意味著原來訂閱消息的客戶端將不能收到 其訂閱過的消息;而且必須在新配置節(jié)點(diǎn)啟動(dòng)完成后才能重新對(duì)設(shè)備進(jìn)行監(jiān)控,所以在故 障移交期間發(fā)生的事件都會(huì)丟失,并且這些事件也無法發(fā)送給訂閱的客戶端。這樣,就需要 一種新的對(duì)應(yīng)故障移交的集群結(jié)構(gòu),來克服上述問題。
      圖5示意性地示出了根據(jù)本發(fā)明的一種實(shí)施方式的SVC集群中的配置節(jié)點(diǎn)故障移 交系統(tǒng)相關(guān)的結(jié)構(gòu)圖。該SVC集群用于管理多個(gè)存儲(chǔ)設(shè)備,該SVC集群包括多個(gè)通過網(wǎng)絡(luò) 互聯(lián)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器(SVC),每個(gè)SVC作為一個(gè)節(jié)點(diǎn),所述SVC集群中某一時(shí)刻只 有一個(gè)節(jié)點(diǎn)作為配置節(jié)點(diǎn)運(yùn)行對(duì)外的服務(wù)。本發(fā)明的用于存儲(chǔ)客戶端的訂閱信息的部件將 不放置在原配置節(jié)點(diǎn)中,可以放置到新的配置節(jié)點(diǎn)中,甚至可以放置在SVC集群外的任何 地方,只要新的配置節(jié)點(diǎn)能夠訪問到該存儲(chǔ)部件即可。該系統(tǒng)包括啟動(dòng)部件501,用于響 應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的配置節(jié)點(diǎn);該啟動(dòng)部件可以位于SVC集群中非原配置節(jié)點(diǎn) 的任何節(jié)點(diǎn)處,該啟動(dòng)部件可以通過多種方式監(jiān)視原配置節(jié)點(diǎn)是否發(fā)生故障,一種簡(jiǎn)單的 方式是監(jiān)視原配置節(jié)點(diǎn)的心跳,就是通過網(wǎng)絡(luò)操作中最簡(jiǎn)單的Ping操作,判斷原配置節(jié)點(diǎn) 是否故障。還可以采用更為復(fù)雜的方式,例如監(jiān)控其CPU,內(nèi)存等。此外,該系統(tǒng)還包括存儲(chǔ) 部件502,用于存儲(chǔ)客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂閱信息;存儲(chǔ)設(shè)備事件 監(jiān)控部件503,用于對(duì)該SVC集群管理的存儲(chǔ)設(shè)備進(jìn)行監(jiān)控;第一獲得部件504,用于從存儲(chǔ) 部件502獲得客戶端訂閱信息;第二獲得部件505,用于從存儲(chǔ)設(shè)備事件監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;以及通知接口 506,用于根據(jù)獲得的訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā) 送給訂閱的客戶端。使用該技術(shù)方案,當(dāng)新的配置節(jié)點(diǎn)啟動(dòng)完成后,原來訂閱消息的客戶端 將可以繼續(xù)收到其訂閱過的消息,對(duì)訂閱的客戶端是透明的。另外,新的配置節(jié)點(diǎn)啟動(dòng)后, 如果發(fā)現(xiàn)該配置節(jié)點(diǎn)恰好包含存儲(chǔ)部件502,還可以將存儲(chǔ)部件502的內(nèi)容遷移到新的節(jié) 點(diǎn)或者其它存儲(chǔ)區(qū)域,以保證客戶端訂約信息始終可以獲得。優(yōu)選地,可以將存儲(chǔ)設(shè)備事件 監(jiān)控部件放置在SVC集群中非原配置節(jié)點(diǎn)的任何節(jié)點(diǎn)處,這樣,就可以避免由于原配置節(jié) 點(diǎn)的故障,故障移交期間發(fā)生的事件丟失的問題。同理,新的配置節(jié)點(diǎn)啟動(dòng)后,如果發(fā)現(xiàn)該 配置節(jié)點(diǎn)恰好包含存儲(chǔ)設(shè)備事件監(jiān)控部件503,還可以將存儲(chǔ)設(shè)備事件監(jiān)控部件503的內(nèi) 容遷移到新的節(jié)點(diǎn)或者其它存儲(chǔ)區(qū)域,以保證客戶端訂約信息始終可以獲得。
      另外,從原配置節(jié)點(diǎn)故障,到新的配置節(jié)點(diǎn)啟動(dòng),這段時(shí)間存儲(chǔ)設(shè)備也可能發(fā)生存 儲(chǔ)設(shè)備事件,新的配置節(jié)點(diǎn)啟動(dòng)后才能接收存儲(chǔ)設(shè)備事件,這期間的事件就會(huì)丟失,客戶端 也無法接收到。因此,在本發(fā)明的一個(gè)實(shí)施方式中,以圖5的系統(tǒng)結(jié)構(gòu)為基礎(chǔ),在SVC集群 的非配置節(jié)點(diǎn)的某個(gè)或某多個(gè)節(jié)點(diǎn)中,還存儲(chǔ)著原配置節(jié)點(diǎn)的存儲(chǔ)設(shè)備事件處理日志,事 件處理日志可以和訂閱信息存儲(chǔ)在同一個(gè)存儲(chǔ)部件中,也可以使用單獨(dú)的存儲(chǔ)部件。事件 處理日志至少包括如下信息事件編號(hào),事件是否已經(jīng)處理,優(yōu)選地,還包括事件發(fā)生的時(shí) 間以及事件的簡(jiǎn)單描述。事件處理日志可以采用文本文件進(jìn)行存儲(chǔ),也可以采用數(shù)據(jù)庫(kù)存 儲(chǔ)。原配置節(jié)點(diǎn)的存儲(chǔ)設(shè)備事件監(jiān)控部件每接收一個(gè)存儲(chǔ)設(shè)備事件,就在該處理日志中加 入一條記錄,并使該記錄的條目“事件是否已經(jīng)處理”設(shè)置為“否”,原配置節(jié)點(diǎn)的通知接口 每次將該事件通知給相應(yīng)的客戶端時(shí),通知部件將該條目設(shè)置為“是”,這樣,當(dāng)新的配置節(jié) 點(diǎn)啟動(dòng)后,該配置節(jié)點(diǎn)查詢存儲(chǔ)設(shè)備事件處理日志中條目“事件是否已經(jīng)處理”設(shè)置為“否” 的所有記錄,根據(jù)所述存儲(chǔ)部件存儲(chǔ)的客戶端訂閱信息,查詢到這些記錄對(duì)應(yīng)的事件的訂 閱客戶端,將所述對(duì)應(yīng)的事件發(fā)送給訂閱該事件的客戶端。使用該技術(shù)方案,不僅原來訂閱 消息的客戶端將可以繼續(xù)收到其訂閱過的消息,而且在故障移交期間發(fā)生的事件都不會(huì)丟 失,并且可以發(fā)送到訂閱其的客戶端。
      在另外一種實(shí)施方式中,仍然以圖5的系統(tǒng)結(jié)構(gòu)為基礎(chǔ),也使用原配置節(jié)點(diǎn)的存 儲(chǔ)設(shè)備事件處理日志,但是事件處理日志的一個(gè)條目至少包括如下信息事件編號(hào),事件 描述以及事件發(fā)生時(shí)間。原配置節(jié)點(diǎn)的存儲(chǔ)設(shè)備事件監(jiān)控部件每接收一個(gè)存儲(chǔ)設(shè)備事件, 就在該處理日志中加入一條記錄,并在該記錄的事件發(fā)生時(shí)間條目中記錄該事件發(fā)生的時(shí) 間。當(dāng)所述啟動(dòng)部件監(jiān)控原配置節(jié)點(diǎn)故障時(shí),該啟動(dòng)部件記錄原配置節(jié)點(diǎn)故障時(shí)間;新的 配置節(jié)點(diǎn)啟動(dòng)成功后,新的配置節(jié)點(diǎn)根據(jù)原配置節(jié)點(diǎn)的故障時(shí)間和該新的配置節(jié)點(diǎn)啟動(dòng)成 功時(shí)間,判斷所述存儲(chǔ)設(shè)備事件處理日志中哪些事件的發(fā)生時(shí)間位于這兩個(gè)時(shí)間間隔內(nèi), 根據(jù)所述存儲(chǔ)部件存儲(chǔ)的客戶端訂閱信息,查詢到位于這兩個(gè)時(shí)間間隔內(nèi)的事件的訂閱客 戶端,將所述對(duì)應(yīng)的事件發(fā)送給訂閱該事件的客戶端。使用該技術(shù)方案,同樣不僅原來訂閱 消息的客戶端將可以繼續(xù)收到其訂閱過的消息,而且在故障移交期間發(fā)生的事件都不會(huì)丟 失,并且可以發(fā)送到訂閱其的客戶端。
      在同一個(gè)發(fā)明構(gòu)思下,圖6示意性地示出了根據(jù)本發(fā)明的一種實(shí)施方式的SVC集 群中的配置節(jié)點(diǎn)故障移交方法的流程圖。該SVC集群用于管理多個(gè)存儲(chǔ)設(shè)備,該SVC集群 包括多個(gè)通過網(wǎng)絡(luò)互聯(lián)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器(SVC),每個(gè)SVC作為一個(gè)節(jié)點(diǎn),所述SVC 集群中某一時(shí)刻只有一個(gè)節(jié)點(diǎn)作為配置節(jié)點(diǎn)運(yùn)行對(duì)外的服務(wù),該方法包括在步驟S601,響應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的配置節(jié)點(diǎn);在步驟S602,新的配置節(jié)點(diǎn)從存儲(chǔ)部件獲得 客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂閱信息;在步驟S603,響應(yīng)于該SVC集群 管理的存儲(chǔ)設(shè)備發(fā)生存儲(chǔ)設(shè)備事件,新的配置節(jié)點(diǎn)從存儲(chǔ)設(shè)備事件監(jiān)控部件獲得存儲(chǔ)設(shè)備 事件;在步驟S604,新的配置節(jié)點(diǎn)根據(jù)獲得的訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā)送 給訂閱的客戶端;其中,所述存儲(chǔ)部件不在原配置節(jié)點(diǎn)中。使用該技術(shù)方案,當(dāng)新的配置節(jié) 點(diǎn)啟動(dòng)完成后,原來訂閱消息的客戶端將可以繼續(xù)收到其訂閱過的消息,對(duì)訂閱的客戶端 是透明的。優(yōu)選地,可以將存儲(chǔ)設(shè)備事件監(jiān)控部件放置在SVC集群中非原配置節(jié)點(diǎn)的任何 節(jié)點(diǎn)處,這樣,就可以避免由于原配置節(jié)點(diǎn)的故障,故障移交期間發(fā)生的事件丟失的問題。
      在本發(fā)明的另一個(gè)實(shí)施方式中,在SVC集群的非配置節(jié)點(diǎn)的某個(gè)或某多個(gè)節(jié)點(diǎn) 中,存儲(chǔ)著原配置節(jié)點(diǎn)的存儲(chǔ)設(shè)備事件處理日志,該存儲(chǔ)設(shè)備事件處理日志的一個(gè)記錄至 少包括如下信息事件編號(hào),事件描述,以及事件是否已經(jīng)處理。圖7示意性示出另外一個(gè) 方法實(shí)施例的流程圖。根據(jù)圖7,在步驟S701,原配置節(jié)點(diǎn)每接收一個(gè)存儲(chǔ)設(shè)備事件,在該 處理日志中加入一條事件記錄,并將該事件記錄的條目“事件是否已經(jīng)處理”設(shè)置為否;在 步驟S702,原配置節(jié)點(diǎn)每次將接收的存儲(chǔ)設(shè)備事件通知給相應(yīng)的客戶端后,將該事件記錄 的條目“事件是否已經(jīng)處理”設(shè)置為“是”;在步驟S703,響應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的 配置節(jié)點(diǎn);在步驟S704,新的配置節(jié)點(diǎn)從存儲(chǔ)部件獲得客戶端訂閱該SVC集群管理的存儲(chǔ) 設(shè)備事件的訂閱信息;在步驟S705新的配置節(jié)點(diǎn)啟動(dòng)后,查詢存儲(chǔ)設(shè)備事件處理日志中條 目“事件是否已經(jīng)處理”設(shè)置為“否”的所有記錄;步驟S704和步驟S705沒有必須的時(shí)序 關(guān)系,那一個(gè)先執(zhí)行都可以,但是它們都必須在步驟S705之前執(zhí)行;在步驟S706,根據(jù)所 述存儲(chǔ)的客戶端訂閱信息,查詢到這些記錄對(duì)應(yīng)的事件的訂閱客戶端;在步驟S707,將所 述對(duì)應(yīng)的事件發(fā)送給訂閱該事件的客戶端;在步驟S708,響應(yīng)于該SVC集群管理的存儲(chǔ)設(shè) 備發(fā)生存儲(chǔ)設(shè)備事件,新的配置節(jié)點(diǎn)從存儲(chǔ)設(shè)備事件監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;在步驟 S709,新的配置節(jié)點(diǎn)根據(jù)獲得的訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā)送給訂閱的客戶 端。這樣故障移交期間發(fā)生的事件都可以發(fā)送到訂閱其的客戶端。
      在本發(fā)明的又一個(gè)實(shí)施方式中,在SVC集群的非配置節(jié)點(diǎn)的某個(gè)或某多個(gè)節(jié)點(diǎn) 中,也存儲(chǔ)著原配置節(jié)點(diǎn)的存儲(chǔ)設(shè)備事件處理日志,該存儲(chǔ)設(shè)備事件處理日志的一個(gè)記錄 至少包括如下信息事件編號(hào),事件描述以及事件發(fā)生時(shí)間。圖8示意性示出又一個(gè)方法 實(shí)施例的流程圖。根據(jù)圖8,在步驟S801,原配置節(jié)點(diǎn)的每接收一個(gè)存儲(chǔ)設(shè)備事件,就在該 處理日志中加入一條事件記錄,并在該事件記錄的條目“事件發(fā)生時(shí)間”中記錄該事件發(fā)生 的時(shí)間;在步驟S802,響應(yīng)于原配置節(jié)點(diǎn)故障,記錄原配置節(jié)點(diǎn)故障時(shí)間;在步驟S803,啟 動(dòng)新的配置節(jié)點(diǎn);在步驟S804,響應(yīng)于新的配置節(jié)點(diǎn)啟動(dòng)成功,記錄新的配置節(jié)點(diǎn)啟動(dòng)成 功時(shí)間;在步驟S805,新的配置節(jié)點(diǎn)根據(jù)原配置節(jié)點(diǎn)的故障時(shí)間和該新的配置節(jié)點(diǎn)啟動(dòng)成 功時(shí)間,判斷所述存儲(chǔ)設(shè)備事件處理日志中哪些事件的發(fā)生時(shí)間位于這兩個(gè)時(shí)間間隔內(nèi); 在步驟S806,新的配置節(jié)點(diǎn)從存儲(chǔ)部件獲得客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的 訂閱信息;在步驟S807,根據(jù)所述存儲(chǔ)部件存儲(chǔ)的客戶端訂閱信息,查詢到位于這兩個(gè)時(shí) 間間隔內(nèi)的事件的訂閱客戶端;在步驟S808,將所述對(duì)應(yīng)的事件發(fā)送給訂閱該事件的客戶 端;在步驟S809,響應(yīng)于該SVC集群管理的存儲(chǔ)設(shè)備發(fā)生存儲(chǔ)設(shè)備事件,新的配置節(jié)點(diǎn)從存 儲(chǔ)設(shè)備事件監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;在步驟S810,新的配置節(jié)點(diǎn)根據(jù)獲得的客戶端訂 制信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā)送給訂閱的客戶端。這樣故障移交期間發(fā)生的事件都可以發(fā)送到訂閱其的客戶端。
      雖然這里參照附圖描述了本發(fā)明的示例性實(shí)施例,但是應(yīng)該理解本發(fā)明不限于這 些精確的實(shí)施例,并且在不背離本發(fā)明的范圍和宗旨的情況下,本領(lǐng)域普通技術(shù)人員能對(duì) 實(shí)施例進(jìn)行各種變化的修改。所有這些變化和修改意欲包含在所附權(quán)利要求中限定的本發(fā) 明的范圍中。
      并且根據(jù)上述描述,所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明可以體現(xiàn)為裝置、方法 或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可以具體實(shí)現(xiàn)為以下形式,即,可以是完全的硬件、完全的 軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)”的軟 件部分與硬件部分的組合。此外,本發(fā)明還可以采取體現(xiàn)在任何有形的表達(dá)介質(zhì)(medium of expression)中的計(jì)算機(jī)程序產(chǎn)品的形式,該介質(zhì)中包含計(jì)算機(jī)可用的程序碼。
      可以使用一個(gè)或多個(gè)計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)的任何組合。計(jì)算機(jī)可 用的或計(jì)算機(jī)可讀的介質(zhì)例如可以是——但不限于——電的、磁的、光的、電磁的、紅外線 的、或半導(dǎo)體的系統(tǒng)、裝置、器件或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的更具體的例子(非窮舉的 列表)包括以下有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器 (RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊磁 盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、諸如支持因特網(wǎng)或內(nèi)部網(wǎng)的傳輸介質(zhì)、或者磁存儲(chǔ)器 件。注意計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)甚至可以是上面印有程序的紙張或者其它合適 的介質(zhì),這是因?yàn)?,例如可以通過電掃描這種紙張或其它介質(zhì),以電子方式獲得程序,然后 以適當(dāng)?shù)姆绞郊右跃幾g、解釋或處理,并且必要的話在計(jì)算機(jī)存儲(chǔ)器中存儲(chǔ)。在本文件的語(yǔ) 境中,計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)可以是任何含有、存儲(chǔ)、傳達(dá)、傳播、或傳輸供指令 執(zhí)行系統(tǒng)、裝置或器件使用的或與指令執(zhí)行系統(tǒng)、裝置或器件相聯(lián)系的程序的介質(zhì)。計(jì)算機(jī) 可用的介質(zhì)可包括在基帶中或者作為載波一部分傳播的、由其體現(xiàn)計(jì)算機(jī)可用的程序碼的 數(shù)據(jù)信號(hào)。計(jì)算機(jī)可用的程序碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、 電線、光纜、RF等等。
      用于執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序碼,可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任何 組合來編寫,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言——諸如Java、Smalltalk, C++之類,還包括常規(guī)的過程式程序設(shè)計(jì)語(yǔ)言——諸如” C”程序設(shè)計(jì)語(yǔ)言或類似的程序設(shè)計(jì) 語(yǔ)言。程序碼可以完全地在用戶的計(jì)算上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú) 立的軟件包執(zhí)行、部分在用戶的計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算 機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任何種類的網(wǎng)絡(luò)——包括局域 網(wǎng)(LAN)或廣域網(wǎng)(WAN)——連接到用戶的計(jì)算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供 商來通過因特網(wǎng))連接到外部計(jì)算機(jī)。
      此外,本發(fā)明的流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的 組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì) 算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得通過計(jì)算機(jī)或其它 可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能 /操作的裝置(means)。
      也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置 以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means) 的制造品,
      也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計(jì) 算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而 在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定 的功能/操作的過程。
      附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程 序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代 表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè) 用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所 標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H 上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要 注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以 用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī) 指令的組合來實(shí)現(xiàn)。
      權(quán)利要求
      1.一種存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器SVC集群中配置節(jié)點(diǎn)故障的移交系統(tǒng),所述SVC集群用 于管理多個(gè)存儲(chǔ)設(shè)備,該SVC集群包括多個(gè)通過網(wǎng)絡(luò)互聯(lián)的SVC,每個(gè)SVC作為一個(gè)節(jié)點(diǎn),所 述SVC集群中某一時(shí)刻只有一個(gè)節(jié)點(diǎn)作為配置節(jié)點(diǎn)運(yùn)行對(duì)外的服務(wù),該系統(tǒng)包括啟動(dòng)部件,用于響應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的配置節(jié)點(diǎn);存儲(chǔ)部件,用于存儲(chǔ)客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂閱信息,并且該 存儲(chǔ)部件不在原配置節(jié)點(diǎn)中;存儲(chǔ)設(shè)備事件監(jiān)控部件,用于對(duì)該SVC集群管理的存儲(chǔ)設(shè)備進(jìn)行監(jiān)控;第一獲得部件,用于使新的配置節(jié)點(diǎn)從所述存儲(chǔ)部件獲得所述訂閱信息;第二獲得部件,用于使新的配置節(jié)點(diǎn)從所述存儲(chǔ)設(shè)備事件監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;發(fā)送部件,用于使新的配置節(jié)點(diǎn)根據(jù)獲得的訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā) 送給訂閱的客戶端。
      2.根據(jù)權(quán)利要求1所述的故障移交系統(tǒng),其中所述存儲(chǔ)設(shè)備事件監(jiān)控部件在該SVC集 群的非原配置節(jié)點(diǎn)的節(jié)點(diǎn)中。
      3.根據(jù)權(quán)利要求2所述的故障移交系統(tǒng),其中存儲(chǔ)部件還用于存儲(chǔ)原配置節(jié)點(diǎn)的存儲(chǔ) 設(shè)備事件處理日志。
      4.根據(jù)權(quán)利要求3所述的故障移交系統(tǒng),其中存儲(chǔ)設(shè)備事件處理日志的一個(gè)記錄至少 包括如下信息事件編號(hào),事件描述,以及事件是否已經(jīng)處理。
      5.根據(jù)權(quán)利要求4所述的故障移交系統(tǒng),其中所述原配置節(jié)點(diǎn)的存儲(chǔ)設(shè)備事件監(jiān)控部 件每接收一個(gè)存儲(chǔ)設(shè)備事件,在該處理日志中加入一條事件記錄,并將該事件記錄的條目 “事件是否已經(jīng)處理”設(shè)置為“否”;原配置節(jié)點(diǎn)的通知接口每次將該事件通知給相應(yīng)的客戶 端后,將該事件記錄的條目“事件是否已經(jīng)處理”設(shè)置為“是”。
      6.根據(jù)權(quán)利要求5所述的故障移交系統(tǒng),其中新的配置節(jié)點(diǎn)啟動(dòng)后,該配置節(jié)點(diǎn)查詢 存儲(chǔ)設(shè)備事件處理日志中條目“事件是否已經(jīng)處理”設(shè)置為“否”的所有記錄,根據(jù)所述存 儲(chǔ)部件存儲(chǔ)的訂閱信息,查詢到這些記錄對(duì)應(yīng)的事件的訂閱客戶端,將所述對(duì)應(yīng)的事件發(fā) 送給訂閱該事件的客戶端。
      7.根據(jù)權(quán)利要求3所述的故障移交系統(tǒng),其中存儲(chǔ)設(shè)備事件處理日志的一個(gè)記錄至少 包括如下信息事件編號(hào),事件描述以及事件發(fā)生時(shí)間。
      8.根據(jù)權(quán)利要求7所述的故障移交系統(tǒng),其中原配置節(jié)點(diǎn)的存儲(chǔ)設(shè)備事件監(jiān)控部件每 接收一個(gè)存儲(chǔ)設(shè)備事件,就在該處理日志中加入一條記錄,并在該記錄的條目“事件發(fā)生時(shí) 間”中記錄該事件發(fā)生的時(shí)間。
      9.根據(jù)權(quán)利要求8所述的故障移交系統(tǒng),其中當(dāng)所述啟動(dòng)部件監(jiān)控原配置節(jié)點(diǎn)故障 時(shí),該啟動(dòng)部件記錄原配置節(jié)點(diǎn)故障時(shí)間;新的配置節(jié)點(diǎn)啟動(dòng)成功后,新的配置節(jié)點(diǎn)記錄新 的配置節(jié)點(diǎn)啟動(dòng)成功時(shí)間,新的配置節(jié)點(diǎn)并且根據(jù)原配置節(jié)點(diǎn)的故障時(shí)間和該新的配置節(jié) 點(diǎn)啟動(dòng)成功時(shí)間,判斷所述存儲(chǔ)設(shè)備事件處理日志中哪些事件的發(fā)生時(shí)間位于這兩個(gè)時(shí)間 間隔內(nèi),根據(jù)所述存儲(chǔ)部件存儲(chǔ)的訂閱信息,查詢到位于這兩個(gè)時(shí)間間隔內(nèi)的事件的訂閱 客戶端,將所述對(duì)應(yīng)的事件發(fā)送給訂閱該事件的客戶端。
      10.一種存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器SVC集群中配置節(jié)點(diǎn)的故障移交方法,所述SVC集群用 于管理多個(gè)存儲(chǔ)設(shè)備,該SVC集群包括多個(gè)通過網(wǎng)絡(luò)互聯(lián)的SVC,每個(gè)SVC作為一個(gè)節(jié)點(diǎn),所述SVC集群中某一時(shí)刻只有一個(gè)節(jié)點(diǎn)作為配置節(jié)點(diǎn)運(yùn)行對(duì)外的服務(wù),該方法包括 響應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的配置節(jié)點(diǎn);新的配置節(jié)點(diǎn)從存儲(chǔ)部件獲得客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂閱信 息,該存儲(chǔ)部件不在原配置節(jié)點(diǎn)中;響應(yīng)于該SVC集群管理的存儲(chǔ)設(shè)備發(fā)生存儲(chǔ)設(shè)備事件,新的配置節(jié)點(diǎn)從存儲(chǔ)設(shè)備事件 監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;新的配置節(jié)點(diǎn)根據(jù)獲得的訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā)送給訂閱的客戶端。
      11.根據(jù)權(quán)利要求10所述的方法,其中所述存儲(chǔ)設(shè)備事件監(jiān)控部件在該SVC集群的非 原配置節(jié)點(diǎn)的節(jié)點(diǎn)中。
      12.根據(jù)權(quán)利要求11所述的方法,其中還包括步驟原配置節(jié)點(diǎn)在所述存儲(chǔ)部件中存 儲(chǔ)存儲(chǔ)設(shè)備事件處理日志。
      13.根據(jù)權(quán)利要求12所述的方法,其中存儲(chǔ)設(shè)備事件處理日志的一個(gè)記錄至少包括如 下信息事件編號(hào),事件描述,以及事件是否已經(jīng)處理。
      14.根據(jù)權(quán)利要求13所述的方法,其中所述原配置節(jié)點(diǎn)在所述存儲(chǔ)部件中存儲(chǔ)存儲(chǔ)設(shè) 備事件處理日志包括原配置節(jié)點(diǎn)每接收一個(gè)存儲(chǔ)設(shè)備事件,在該處理日志中加入一條事件記錄,并將該事 件記錄的條目“事件是否已經(jīng)處理”設(shè)置為否;原配置節(jié)點(diǎn)每次將接收的存儲(chǔ)設(shè)備事件通知給相應(yīng)的客戶端后,將該事件記錄的條目 “事件是否已經(jīng)處理”設(shè)置為“是”。
      15.根據(jù)權(quán)利要求14所述的方法,其中還包括新的配置節(jié)點(diǎn)啟動(dòng)后,查詢存儲(chǔ)設(shè)備事件處理日志中條目“事件是否已經(jīng)處理”設(shè)置為 “否”的所有記錄;根據(jù)所述存儲(chǔ)的訂閱信息,查詢到上述所有記錄對(duì)應(yīng)的事件的訂閱客戶端; 將所述對(duì)應(yīng)的事件發(fā)送給訂閱該事件的客戶端。
      16.根據(jù)權(quán)利要求15所述的方法,其中存儲(chǔ)設(shè)備事件處理日志的一個(gè)記錄至少包括如 下信息事件編號(hào),事件描述以及事件發(fā)生時(shí)間。
      17.根據(jù)權(quán)利要求16所述的方法,其中還包括原配置節(jié)點(diǎn)的每接收一個(gè)存儲(chǔ)設(shè)備事件,就在該處理日志中加入一條事件記錄,并在 該事件記錄的條目“事件發(fā)生時(shí)間”中記錄該事件發(fā)生的時(shí)間。
      18.根據(jù)權(quán)利要求17所述的方法,其中還包括 響應(yīng)于原配置節(jié)點(diǎn)故障,記錄原配置節(jié)點(diǎn)故障時(shí)間;響應(yīng)于新的配置節(jié)點(diǎn)啟動(dòng)成功,記錄新的配置節(jié)點(diǎn)啟動(dòng)成功時(shí)間; 根據(jù)原配置節(jié)點(diǎn)的故障時(shí)間和該新的配置節(jié)點(diǎn)啟動(dòng)成功時(shí)間,判斷所述存儲(chǔ)設(shè)備事件 處理日志中哪些事件的發(fā)生時(shí)間位于這兩個(gè)時(shí)間間隔內(nèi);根據(jù)所述存儲(chǔ)部件存儲(chǔ)的訂閱信息,查詢到位于這兩個(gè)時(shí)間間隔內(nèi)的事件的訂閱客戶端;將所述對(duì)應(yīng)的事件發(fā)送給訂閱該事件的客戶端。
      全文摘要
      本發(fā)明公開了一種存儲(chǔ)區(qū)域網(wǎng)絡(luò)卷控制器SVC集群中的配置節(jié)點(diǎn)故障的移交方法和系統(tǒng),所述SVC集群用于管理多個(gè)存儲(chǔ)設(shè)備,該SVC集群包括多個(gè)通過網(wǎng)絡(luò)互聯(lián)的SVC,每個(gè)SVC作為一個(gè)節(jié)點(diǎn),方法包括響應(yīng)于原配置節(jié)點(diǎn)故障,啟動(dòng)新的配置節(jié)點(diǎn);新的配置節(jié)點(diǎn)從存儲(chǔ)部件獲得客戶端訂閱該SVC集群管理的存儲(chǔ)設(shè)備事件的訂閱信息;響應(yīng)于該SVC集群管理的存儲(chǔ)設(shè)備發(fā)生存儲(chǔ)設(shè)備事件,新的配置節(jié)點(diǎn)從存儲(chǔ)設(shè)備事件監(jiān)控部件獲得存儲(chǔ)設(shè)備事件;新的配置節(jié)點(diǎn)根據(jù)獲得的訂閱信息將客戶端訂閱的存儲(chǔ)設(shè)備事件發(fā)送給訂閱的客戶端;其中,所述存儲(chǔ)部件不在原配置節(jié)點(diǎn)中。該方法在配置節(jié)點(diǎn)故障移交時(shí),對(duì)客戶端是透明的。
      文檔編號(hào)H04L29/08GK102035862SQ200910174128
      公開日2011年4月27日 申請(qǐng)日期2009年9月30日 優(yōu)先權(quán)日2009年9月30日
      發(fā)明者孫翎, 張俊偉, 賀皓 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1