国产精品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>

      硬盤陣列控制方法及裝置與流程

      文檔序號(hào):11063311閱讀:896來源:國知局
      硬盤陣列控制方法及裝置與制造工藝

      本發(fā)明涉及硬盤陣列技術(shù)領(lǐng)域,尤其涉及硬盤陣列控制方法及裝置。



      背景技術(shù):

      硬盤陣列,例如RAID(Redundant Arrays of Inexpensive Disks,廉價(jià)硬盤冗余陣列),是由多個(gè)硬盤組合成的一個(gè)容量巨大的硬盤組。當(dāng)上層業(yè)務(wù)下發(fā)IO(input and output,輸入輸出)操作時(shí),該IO操作通常會(huì)依次經(jīng)過RAID的RAID控制模塊、DMP(Disk Multi Path,硬盤多路徑)模塊、SCSI(Small Computer System Interface,小型計(jì)算機(jī)系統(tǒng)接口)模塊,最終下發(fā)到陣列中相應(yīng)的Disk(硬盤)。

      由于硬盤可能會(huì)存在壞道等情況,所以IO操作尤其是寫操作有時(shí)會(huì)存在響應(yīng)慢的問題,為此在現(xiàn)有技術(shù)中,可以在SCSI模塊設(shè)定12s的超時(shí)門限,當(dāng)寫操作下發(fā)到某硬盤后,若超過12s后SCSI模塊仍未收到該硬盤的響應(yīng),則SCSI模塊主動(dòng)向該硬盤下發(fā)終止命令以使該硬盤停止該IO操作,并對(duì)該硬盤進(jìn)行設(shè)備及鏈路重啟,然后再重試一次或多次下發(fā)相同的寫操作并等待該硬盤響應(yīng)。如果最后該硬盤仍未響應(yīng),則SCSI模塊可認(rèn)為該硬盤存在問題,無法工作,于是主動(dòng)將該硬盤置為邏輯離線狀態(tài)并通知RAID控制模塊。RAID控制模塊收到該通知后進(jìn)行降級(jí)寫,即將該寫操作通過RAID算法分擔(dān)寫到陣列里的其它硬盤上,當(dāng)該寫操作最終成功實(shí)現(xiàn)后,便可向上層業(yè)務(wù)返回寫操作成功的響應(yīng)。

      現(xiàn)有技術(shù)中的這種方案在硬盤出現(xiàn)壞道時(shí),會(huì)使上層業(yè)務(wù)因等待IO操作而中斷,較長時(shí)間過后上層業(yè)務(wù)才能收到RAID返回的結(jié)果,這樣就破壞了上層業(yè)務(wù)執(zhí)行的連續(xù)性,影響到上層業(yè)務(wù)的工作效率。



      技術(shù)實(shí)現(xiàn)要素:

      為克服現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供硬盤陣列控制方法及裝置,以解決寫操作的結(jié)果無法快速返回的問題。

      為了解決上述技術(shù)問題,本發(fā)明公開了如下技術(shù)方案:

      第一方面,提供了一種硬盤陣列控制方法,所述方法包括:

      接收寫操作請(qǐng)求;

      將所述寫操作請(qǐng)求下發(fā)到硬盤陣列中的所述寫操作請(qǐng)求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請(qǐng)求對(duì)應(yīng)的寫操作;

      如果到達(dá)第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則:

      將所述寫操作請(qǐng)求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,以及,

      返回寫操作成功的反饋信息。

      結(jié)合第一方面,在第一方面第一種可能實(shí)現(xiàn)的方式中,所述方法還包括:

      如果超過第一時(shí)間閾值但未超過第二時(shí)間閾值時(shí)收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則在所述預(yù)設(shè)記錄表中刪除所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄。

      結(jié)合第一方面,在第一方面第二種可能實(shí)現(xiàn)的方式中,所述方法還包括:

      如果達(dá)到第二時(shí)間閾值仍未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則令所述目標(biāo)硬盤終止執(zhí)行所述寫操作。

      結(jié)合第一方面,在第一方面第三種可能實(shí)現(xiàn)的方式中,所述方法還包括:

      接收讀操作請(qǐng)求;

      判斷所述預(yù)設(shè)記錄表中是否存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄;

      如果所述預(yù)設(shè)記錄表中不存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則將所述讀操作請(qǐng)求下發(fā)到所述硬盤陣列的讀操作請(qǐng)求的目標(biāo)硬盤,以使所述讀操作請(qǐng)求的目標(biāo)硬盤執(zhí)行所述讀操作請(qǐng)求對(duì)應(yīng)的讀操作;

      如果所述預(yù)設(shè)記錄表中存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則獲取所述匹配的跳轉(zhuǎn)記錄中的寫數(shù)據(jù)的實(shí)際地址,并根據(jù)所述實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)中讀取數(shù)據(jù)。

      結(jié)合第一方面,在第一方面第四種可能實(shí)現(xiàn)的方式中,所述方法還包括:

      當(dāng)所述寫數(shù)據(jù)被寫入所述預(yù)設(shè)存儲(chǔ)區(qū),則對(duì)所述目標(biāo)硬盤的寫失敗次數(shù)加1;

      判斷所述目標(biāo)硬盤的寫失敗次數(shù)是否大于第一數(shù)量閾值,若大于,則確定所述目標(biāo)硬盤為失效盤。

      結(jié)合第一方面第四種可能的實(shí)現(xiàn)方式,在第一方面第五種可能實(shí)現(xiàn)的方式中,所述方法還包括:

      當(dāng)確定所述目標(biāo)硬盤為失效硬盤時(shí),則

      將所述失效硬盤的數(shù)據(jù)復(fù)制到另外一個(gè)硬盤;

      使用所述另外一個(gè)硬盤替換所述失效硬盤。

      結(jié)合第一方面,在第一方面第六種可能實(shí)現(xiàn)的方式中,所述方法還包括:

      定期遍歷所述預(yù)設(shè)記錄表中的各條跳轉(zhuǎn)記錄;

      遍歷時(shí),根據(jù)當(dāng)前跳轉(zhuǎn)記錄中記錄的寫數(shù)據(jù)的實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)獲取所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù),并根據(jù)所述跳轉(zhuǎn)記錄中記錄的目標(biāo)地址將所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)寫入所述目標(biāo)硬盤;

      如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,則刪除所述當(dāng)前跳轉(zhuǎn)記錄。

      結(jié)合第一方面第六種可能實(shí)現(xiàn)的方式,在第一方面第七種可能實(shí)現(xiàn)的方式中,所述方法還包括:

      如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)失敗寫入所述目標(biāo)硬盤,則將所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)加1;

      判斷所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)是否超過第二數(shù)量閾值;

      如果所述當(dāng)前記錄的重試次數(shù)超過所述第二數(shù)量閾值,則下次遍歷時(shí)跳過所述當(dāng)前跳轉(zhuǎn)記錄。

      第二方面,提供了一種硬盤陣列控制裝置,所述裝置包括:

      寫操作請(qǐng)求接收模塊,用于接收寫操作請(qǐng)求;

      寫操作請(qǐng)求下發(fā)模塊,用于將所述寫操作請(qǐng)求接收模塊接收的所述寫操作請(qǐng)求下發(fā)到硬盤陣列中的所述寫操作請(qǐng)求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請(qǐng)求對(duì)應(yīng)的寫操作;

      寫操作監(jiān)控模塊,用于當(dāng)?shù)竭_(dá)第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作請(qǐng)求下發(fā)模塊所下發(fā)的所述寫操作請(qǐng)求對(duì)應(yīng)的所述寫操作的反饋信息時(shí),將所述寫操作請(qǐng)求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,以及,返回寫操作成功的反饋信息。

      結(jié)合第二方面,在第二方面第一種可能實(shí)現(xiàn)的方式中,所述寫操作監(jiān)控模塊還用于:

      如果超過第一時(shí)間閾值但未超過第二時(shí)間閾值時(shí)收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則在所述預(yù)設(shè)記錄表中刪除所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄。

      結(jié)合第二方面,在第二方面第二種可能實(shí)現(xiàn)的方式中,所述寫操作監(jiān)控模塊還用于:

      如果達(dá)到第二時(shí)間閾值仍未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則令所述目標(biāo)硬盤終止執(zhí)行所述寫操作。

      結(jié)合第二方面,在第二方面第三種可能實(shí)現(xiàn)的方式中,所述裝置還包括:

      讀操作請(qǐng)求接收模塊,用于接收讀操作請(qǐng)求;

      跳轉(zhuǎn)處理模塊,用于判斷所述預(yù)設(shè)記錄表中是否存在與所述讀操作請(qǐng)求接收模塊接收的所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄;如果所述預(yù)設(shè)記錄表中不存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則將所述讀操作請(qǐng)求下發(fā)到所述硬盤陣列的讀操作請(qǐng)求的目標(biāo)硬盤,以使所述讀操作請(qǐng)求的目標(biāo)硬盤執(zhí)行所述讀操作請(qǐng)求對(duì)應(yīng)的讀操作;如果所述預(yù)設(shè)記錄表中存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則獲取所述匹配的跳轉(zhuǎn)記錄中的寫數(shù)據(jù)的實(shí)際地址,并根據(jù)所述實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)中讀取數(shù)據(jù)。

      結(jié)合第二方面,在第二方面第四種可能實(shí)現(xiàn)的方式中,所述裝置還包括:

      失效處理模塊,用于當(dāng)所述寫數(shù)據(jù)被寫入所述預(yù)設(shè)存儲(chǔ)區(qū),則對(duì)所述目標(biāo)硬盤的寫失敗次數(shù)加1;判斷所述目標(biāo)硬盤的寫失敗次數(shù)是否大于第一數(shù)量閾值,若大于,則確定所述目標(biāo)硬盤為失效盤。

      結(jié)合第二方面第四種可能實(shí)現(xiàn)的方式,在第二方面第五種可能實(shí)現(xiàn)的方式中,所述失效處理模塊還用于:

      當(dāng)確定所述目標(biāo)硬盤為失效硬盤時(shí),則將所述失效硬盤的數(shù)據(jù)復(fù)制到另外一個(gè)硬盤,使用所述另外一個(gè)硬盤替換所述失效硬盤。

      結(jié)合第二方面,在第二方面第六種可能實(shí)現(xiàn)的方式中,所述裝置還包括:

      后臺(tái)修復(fù)模塊,用于定期遍歷所述預(yù)設(shè)記錄表中的各條跳轉(zhuǎn)記錄;遍歷時(shí),根據(jù)當(dāng)前跳轉(zhuǎn)記錄中記錄的寫數(shù)據(jù)的實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)獲取所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù),并根據(jù)所述跳轉(zhuǎn)記錄中記錄的目標(biāo)地址將所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)寫入所述目標(biāo)硬盤;如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,則刪除所述當(dāng)前跳轉(zhuǎn)記錄。

      結(jié)合第二方面第六種可能實(shí)現(xiàn)的方式,在第二方面第七種可能實(shí)現(xiàn)的方式中,所述后臺(tái)修復(fù)模塊還用于:

      如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)失敗寫入所述目標(biāo)硬盤,則將所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)加1;判斷所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)是否超過第二數(shù)量閾值;如果所述當(dāng)前記錄的重試次數(shù)超過所述第二數(shù)量閾值,則下次遍歷時(shí)跳過所述當(dāng)前跳轉(zhuǎn)記錄。

      第三方面,提供了一種硬盤陣列控制設(shè)備,所述設(shè)備包括:處理器、存儲(chǔ)器、收發(fā)單元及總線;

      所述處理器、所述存儲(chǔ)器、所述收發(fā)單元均與所述總線相連;

      所述收發(fā)單元用于接收外部發(fā)來的數(shù)據(jù)以及向外部發(fā)送數(shù)據(jù);

      所述存儲(chǔ)器用于存儲(chǔ)所述處理器可執(zhí)行的指令;

      所述處理器被配置為:

      接收寫操作請(qǐng)求;

      將所述寫操作請(qǐng)求下發(fā)到硬盤陣列中的所述寫操作請(qǐng)求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請(qǐng)求對(duì)應(yīng)的寫操作;

      如果到達(dá)第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則:

      將所述寫操作請(qǐng)求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,以及,

      返回寫操作成功的反饋信息。

      本發(fā)明的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

      本發(fā)明實(shí)施例會(huì)在硬盤陣列(例如其空閑空間)中建立預(yù)設(shè)存儲(chǔ)區(qū),當(dāng)將上層業(yè)務(wù)的寫操作請(qǐng)求下發(fā)到硬盤陣列中的目標(biāo)硬盤后,如果達(dá)到第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作的響應(yīng),則不再繼續(xù)在該硬盤上重試寫操作,而是馬上將所述寫操作中的待寫數(shù)據(jù)轉(zhuǎn)為寫到所述預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,然后即可向上層業(yè)務(wù)返回寫操作成功的響應(yīng)。這樣當(dāng)由于出現(xiàn)壞道等硬盤問題將要產(chǎn)生寫操作超時(shí)的情況時(shí),在本發(fā)明中上層業(yè)務(wù)卻無需持續(xù)等待,而是可以很快得到寫操作的結(jié)果,從而確保了上層業(yè)務(wù)執(zhí)行時(shí)的連續(xù)性。

      另外,預(yù)設(shè)記錄表中的記錄可以體現(xiàn)各硬盤產(chǎn)生過故障的次數(shù),因此在本發(fā)明實(shí)施例 中還可以通過對(duì)硬盤寫失敗的次數(shù)進(jìn)行計(jì)數(shù)來預(yù)測硬盤陣列中的硬盤是否將要失效,也即可以識(shí)別風(fēng)險(xiǎn)硬盤,提前做好數(shù)據(jù)的拷貝工作,從而可以避免因硬盤突發(fā)性失效而帶來損失。

      此外,在本發(fā)明實(shí)施例中還可以在后臺(tái)定期進(jìn)行巡檢修復(fù),即定期重試預(yù)設(shè)記錄表中的寫操作,對(duì)于其中部分可重試成功的寫操作則在預(yù)設(shè)記錄表中刪除相關(guān)記錄,這樣原地址就可恢復(fù)正常,而預(yù)設(shè)存儲(chǔ)區(qū)也可以得到釋放。

      應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。

      附圖說明

      此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。

      圖1是現(xiàn)有的RAID系統(tǒng)的架構(gòu)圖;

      圖2是根據(jù)本發(fā)明一示例性實(shí)施例示出的RAID系統(tǒng)的架構(gòu)圖;

      圖3是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制方法的流程圖;

      圖4是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制方法的流程圖;

      圖5是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制方法的流程圖;

      圖6是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制方法的流程圖;

      圖7是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制方法的流程圖;

      圖8是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制裝置的框圖;

      圖9是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制裝置的框圖;

      圖10是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制裝置的框圖;

      圖11是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制裝置的框圖;

      圖12是根據(jù)本發(fā)明一示例性實(shí)施例示出的一種硬盤陣列控制設(shè)備的示意圖。

      具體實(shí)施方式

      這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中 所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。

      圖1是現(xiàn)有的RAID系統(tǒng)的架構(gòu)圖。所述RAID系統(tǒng)包括RAID控制器及RAID組,業(yè)務(wù)主機(jī)下發(fā)的IO請(qǐng)求經(jīng)過所述RAID控制器處理后下發(fā)至所述RAID組中該IO請(qǐng)求對(duì)應(yīng)的Disk,以執(zhí)行該IO請(qǐng)求對(duì)應(yīng)的IO操作。

      圖2則是根據(jù)本發(fā)明一示例性實(shí)施例示出的RAID系統(tǒng)的架構(gòu)圖。圖2所示的RAID系統(tǒng)200在圖1所示的RAID系統(tǒng)的基礎(chǔ)上增加了預(yù)設(shè)記錄表203及預(yù)設(shè)存儲(chǔ)區(qū)204,當(dāng)所述RAID控制器201在RAID組202中的Disk2上的寫操作失敗時(shí),可以將需要寫入Disk2的待寫數(shù)據(jù)寫到預(yù)設(shè)存儲(chǔ)區(qū)Space,并在預(yù)設(shè)記錄表中記錄下所述待寫數(shù)據(jù)原本寫入Disk2上的地址與實(shí)際寫入Space上的地址之間的映射關(guān)系。所述預(yù)設(shè)記錄表可以存儲(chǔ)在預(yù)設(shè)存儲(chǔ)區(qū)中,也可以存儲(chǔ)在RAID系統(tǒng)的其他存儲(chǔ)設(shè)備,如RAID組的任一disk中,對(duì)此本實(shí)施例并不進(jìn)行限制。

      下面將結(jié)合圖3說明在圖2的應(yīng)用場景下RAID系統(tǒng)對(duì)IO寫請(qǐng)求的處理方法。

      在步驟S301中,所述RAID控制器接收寫操作請(qǐng)求。

      該寫操作請(qǐng)求是由上層業(yè)務(wù)服務(wù)器發(fā)來的。一個(gè)寫操作請(qǐng)求通常可以包括寫數(shù)據(jù)及寫入所述寫數(shù)據(jù)的地址也即目標(biāo)地址,該目標(biāo)地址所在的硬盤即為目標(biāo)硬盤。在本文中,寫操作中的寫數(shù)據(jù)在寫到某地址之前也可稱為待寫數(shù)據(jù),而寫到某地址之后也可稱為已寫數(shù)據(jù)。

      在步驟S302中,所述RAID控制器將所述寫操作請(qǐng)求下發(fā)到硬盤陣列中的所述寫操作請(qǐng)求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請(qǐng)求對(duì)應(yīng)的寫操作。

      在步驟S303中,在將所述寫操作請(qǐng)求下發(fā)到硬盤陣列后,所述RAID控制器開始計(jì)時(shí),計(jì)時(shí)到達(dá)第一時(shí)間閾值時(shí),未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則所述RAID控制器將所述寫操作請(qǐng)求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲(chǔ)區(qū),并在所述預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,并返回寫操作成功的反饋信息。

      在本文中,所述目標(biāo)地址也可稱為原地址,所述實(shí)際地址也可稱為新地址。所述預(yù)設(shè)存儲(chǔ)區(qū)例如可以是在所述硬盤陣列的空閑空間中建立的存儲(chǔ)區(qū)。預(yù)設(shè)存儲(chǔ)區(qū)也可稱為臨時(shí)寫區(qū)域。

      對(duì)于空閑空間的具體形式本實(shí)施例并不進(jìn)行限制,例如可以是硬盤陣列的SSD(Solid State Drives,固態(tài)硬盤)盤組空間、陣列熱備空間、保險(xiǎn)箱空間或其它可用的空閑空間 等等。

      預(yù)設(shè)記錄表也可稱為新定向記錄表、跳轉(zhuǎn)記錄表等,用于記錄每次對(duì)待寫數(shù)據(jù)的目標(biāo)地址重新進(jìn)行定向時(shí),目標(biāo)地址與實(shí)際地址(或者說是原地址與新地址)之間的映射關(guān)系。該表中記錄的格式例如可以為“Disk2LBA1→Space1LBA2”,表示硬盤陣列中的硬盤Disk2的LBA1位置存在故障,將數(shù)據(jù)重新定向?qū)懙筋A(yù)設(shè)存儲(chǔ)區(qū)Space1的LBA2位置。

      如果在第一時(shí)間閾值內(nèi)收到所述硬盤對(duì)所述寫操作的反饋信息,則說明所述寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,即可結(jié)束本次寫入操作。

      參見圖4所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述方法還可以包括:

      在步驟S401中,如果超過第一時(shí)間閾值但未超過第二時(shí)間閾值時(shí)收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則在所述預(yù)設(shè)記錄表中刪除所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄。如果達(dá)到第二時(shí)間閾值仍未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則令所述目標(biāo)硬盤終止執(zhí)行所述寫操作。

      如果超過第一時(shí)間閾值但未超過第二時(shí)間閾值時(shí)收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則代表所述目標(biāo)硬盤還是可以成功完成寫操作,也即原地址寫操作正常,所以可以撤銷先前的重新定向處理,也即在預(yù)設(shè)記錄表中刪除相應(yīng)的記錄。

      而如果達(dá)到第二時(shí)間閾值仍未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則代表目標(biāo)硬盤中寫入所述寫數(shù)據(jù)的位置可能發(fā)生了故障,無法正常寫入數(shù)據(jù),故可令所述目標(biāo)硬盤終止執(zhí)行所述寫操作。

      參見圖5所示,為RAID系統(tǒng)通過上述方法進(jìn)行數(shù)據(jù)寫入之后,讀取數(shù)據(jù)的方法流程:

      在步驟S501中,所述RAID控制器接收讀操作請(qǐng)求。

      在步驟S502中,所述RAID控制器判斷所述預(yù)設(shè)記錄表中是否存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄。

      在步驟S503中,如果所述預(yù)設(shè)記錄表中不存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則所述RAID控制器將所述讀操作請(qǐng)求下發(fā)到所述硬盤陣列的讀操作請(qǐng)求的目標(biāo)硬盤,以使所述讀操作請(qǐng)求的目標(biāo)硬盤執(zhí)行所述讀操作請(qǐng)求對(duì)應(yīng)的讀操作。

      在步驟S504中,如果所述預(yù)設(shè)記錄表中存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則所述RAID控制器獲取所述匹配的跳轉(zhuǎn)記錄中的寫數(shù)據(jù)的實(shí)際地址,并根據(jù)所述實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)中讀取數(shù)據(jù)。

      因?yàn)樵趯憯?shù)據(jù)時(shí)可能發(fā)生數(shù)據(jù)重新定向,所以在讀數(shù)據(jù)時(shí)需要先查詢預(yù)設(shè)記錄表,查看要讀取的數(shù)據(jù)的地址(即讀數(shù)據(jù)的目標(biāo)地址)是否發(fā)生過重新定向,如果發(fā)生過重定向, 則從所述預(yù)設(shè)存儲(chǔ)區(qū)中讀取數(shù)據(jù)。

      在RAID系統(tǒng)將存儲(chǔ)至目標(biāo)硬盤失敗的數(shù)據(jù)存儲(chǔ)至預(yù)設(shè)存儲(chǔ)區(qū)后,還可統(tǒng)計(jì)目標(biāo)硬盤寫失敗的次數(shù),并根據(jù)統(tǒng)計(jì)的寫失敗次數(shù)判斷所述目標(biāo)硬盤是否為失效盤,具體如圖6所示,所述數(shù)據(jù)寫入方法還可以包括:

      在步驟S601中,當(dāng)所述寫數(shù)據(jù)被寫入所述預(yù)設(shè)存儲(chǔ)區(qū),則對(duì)所述目標(biāo)硬盤的寫失敗次數(shù)加1。

      在步驟S602中,判斷所述目標(biāo)硬盤的寫失敗次數(shù)是否大于第一數(shù)量閾值,若大于,則確定所述目標(biāo)硬盤為失效盤。

      此外,也可以通過對(duì)預(yù)設(shè)記錄表中的記錄進(jìn)行統(tǒng)計(jì)的方式獲取所述目標(biāo)硬盤的寫失敗次數(shù)。當(dāng)確定所述目標(biāo)硬盤為失效硬盤時(shí),則可以將所述失效硬盤的數(shù)據(jù)復(fù)制到另外一個(gè)硬盤,使用所述另外一個(gè)硬盤替換所述失效硬盤。預(yù)設(shè)記錄表中的記錄可以客觀體現(xiàn)各硬盤產(chǎn)生過故障的次數(shù),通過圖6所示步驟可以預(yù)測硬盤陣列中的硬盤是否要失效,也即可以識(shí)別風(fēng)險(xiǎn)硬盤,提前做好防備,從而可以避免因硬盤突發(fā)性失效而帶來損失。

      所述RAID系統(tǒng)還可以對(duì)定期將存儲(chǔ)在所述預(yù)設(shè)存儲(chǔ)區(qū)中的數(shù)據(jù)重新寫入所述RAID組,具體實(shí)現(xiàn)方法如圖圖7所示:

      在步驟S701中,所述RAID控制器定期遍歷所述預(yù)設(shè)記錄表中的各條跳轉(zhuǎn)記錄。

      在步驟S702中,遍歷時(shí),所述RAID控制器根據(jù)當(dāng)前跳轉(zhuǎn)記錄中記錄的寫數(shù)據(jù)的實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)獲取所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù),并根據(jù)所述跳轉(zhuǎn)記錄中記錄的目標(biāo)地址將所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)寫入所述目標(biāo)硬盤。

      在步驟S703中,如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,則所述RAID控制器刪除所述當(dāng)前跳轉(zhuǎn)記錄。

      而如果寫入失敗,則可以不做處理。

      如此,可以按照當(dāng)前記錄中的新地址(也即實(shí)際地址)讀取數(shù)據(jù),然后將讀取到的數(shù)據(jù)嘗試寫到當(dāng)前記錄中的原地址(也即目標(biāo)地址),從而實(shí)現(xiàn)對(duì)寫操作的重試。如果該原地址所在的硬盤在規(guī)定時(shí)間內(nèi)例如第二時(shí)間閾值內(nèi)作出響應(yīng),則代表重試成功,如果未在規(guī)定時(shí)間內(nèi)作出響應(yīng),則代表重試失敗。

      這樣,通過在后臺(tái)定期進(jìn)行巡檢修復(fù),即定期重試記錄表中的寫操作,對(duì)于其中部分可重試成功的寫操作則在記錄表中刪除相關(guān)記錄,這樣原地址就可恢復(fù)正常,而預(yù)設(shè)存儲(chǔ)區(qū)也就得到了釋放。至于被刪除記錄所對(duì)應(yīng)的在預(yù)設(shè)存儲(chǔ)區(qū)里的數(shù)據(jù),可以隨該記錄一起刪除,也可以不刪除而是在下次寫數(shù)據(jù)時(shí)直接覆蓋,對(duì)此本實(shí)施例并不進(jìn)行限制。

      此外,如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)失敗寫入所述目標(biāo)硬盤,也可以按如下方式進(jìn)行處理:

      將所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)加1;

      判斷所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)是否超過第二數(shù)量閾值;

      如果所述當(dāng)前記錄的重試次數(shù)超過所述第二數(shù)量閾值,則下次遍歷時(shí)跳過所述當(dāng)前跳轉(zhuǎn)記錄。

      這樣以后不再重試該條記錄,而是將該條記錄視為一條永久的重定向記錄。

      本實(shí)施例會(huì)在硬盤陣列(例如其空閑空間)中建立預(yù)設(shè)存儲(chǔ)區(qū),當(dāng)將上層業(yè)務(wù)的寫操作請(qǐng)求下發(fā)到硬盤陣列中的目標(biāo)硬盤后,如果達(dá)到第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作的響應(yīng),則不再繼續(xù)在該硬盤上重試寫操作,而是馬上將所述寫操作中的待寫數(shù)據(jù)轉(zhuǎn)為寫到所述預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,然后即可向上層業(yè)務(wù)返回寫操作成功的響應(yīng)。這樣當(dāng)由于出現(xiàn)壞道等硬盤問題將要出現(xiàn)寫操作超時(shí)的情況時(shí),在本實(shí)施例中上層業(yè)務(wù)卻無需持續(xù)等待,而是可以很快得到寫操作的結(jié)果,從而確保了上層業(yè)務(wù)執(zhí)行時(shí)的連續(xù)性。

      另外,預(yù)設(shè)記錄表中的記錄可以體現(xiàn)各硬盤產(chǎn)生過故障的次數(shù),因此在本實(shí)施例中還可以通過對(duì)硬盤寫失敗的次數(shù)進(jìn)行計(jì)數(shù)來預(yù)測硬盤陣列中的硬盤是否將要失效,也即可以識(shí)別風(fēng)險(xiǎn)硬盤,提前做好數(shù)據(jù)的拷貝工作,從而可以避免因硬盤突發(fā)性失效而帶來損失。

      此外,在本實(shí)施例中還可以在后臺(tái)定期進(jìn)行巡檢修復(fù),即定期重試預(yù)設(shè)記錄表中的寫操作,對(duì)于其中部分可重試成功的寫操作則在預(yù)設(shè)記錄表中刪除相關(guān)記錄,這樣原地址就可恢復(fù)正常,而預(yù)設(shè)存儲(chǔ)區(qū)也可以得到釋放。

      圖8是根據(jù)一示例性實(shí)施例示出的一種硬盤陣列控制裝置的框圖,所述裝置可以包括:

      寫操作請(qǐng)求接收模塊801,用于接收寫操作請(qǐng)求;

      寫操作請(qǐng)求下發(fā)模塊802,用于將所述寫操作請(qǐng)求接收模塊801接收的所述寫操作請(qǐng)求下發(fā)到硬盤陣列中的所述寫操作請(qǐng)求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請(qǐng)求對(duì)應(yīng)的寫操作;

      寫操作監(jiān)控模塊803,用于當(dāng)?shù)竭_(dá)第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作請(qǐng)求下發(fā)模塊802所下發(fā)的所述寫操作請(qǐng)求對(duì)應(yīng)的所述寫操作的反饋信息時(shí),將所述寫操作請(qǐng)求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述 跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,以及,返回寫操作成功的反饋信息。

      在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述寫操作監(jiān)控模塊803還可以用于:

      如果超過第一時(shí)間閾值但未超過第二時(shí)間閾值時(shí)收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則在所述預(yù)設(shè)記錄表中刪除所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄。

      在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述寫操作監(jiān)控模塊803還可以用于:

      如果達(dá)到第二時(shí)間閾值仍未收到所述目標(biāo)硬盤對(duì)所述寫操作的反饋信息,則令所述目標(biāo)硬盤終止執(zhí)行所述寫操作。

      參見圖9所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述裝置還可以包括:

      讀操作請(qǐng)求接收模塊901,用于接收讀操作請(qǐng)求;

      跳轉(zhuǎn)處理模塊902,用于判斷所述預(yù)設(shè)記錄表中是否存在與所述讀操作請(qǐng)求接收模塊901接收的所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄;如果所述預(yù)設(shè)記錄表中不存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則將所述讀操作請(qǐng)求下發(fā)到所述硬盤陣列的讀操作請(qǐng)求的目標(biāo)硬盤,以使所述讀操作請(qǐng)求的目標(biāo)硬盤執(zhí)行所述讀操作請(qǐng)求對(duì)應(yīng)的讀操作;如果所述預(yù)設(shè)記錄表中存在與所述讀操作請(qǐng)求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則獲取所述匹配的跳轉(zhuǎn)記錄中的寫數(shù)據(jù)的實(shí)際地址,并根據(jù)所述實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)中讀取數(shù)據(jù)。

      參見圖10所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述裝置還可以包括:

      失效處理模塊1001,用于當(dāng)所述寫數(shù)據(jù)被寫入所述預(yù)設(shè)存儲(chǔ)區(qū),則對(duì)所述目標(biāo)硬盤的寫失敗次數(shù)加1;判斷所述目標(biāo)硬盤的寫失敗次數(shù)是否大于第一數(shù)量閾值,若大于,則確定所述目標(biāo)硬盤為失效盤。

      在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述失效處理模塊1001還可以用于:

      當(dāng)確定所述目標(biāo)硬盤為失效硬盤時(shí),則將所述失效硬盤的數(shù)據(jù)復(fù)制到另外一個(gè)硬盤,使用所述另外一個(gè)硬盤替換所述失效硬盤。

      參見圖11所示,在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述裝置還可以包括:

      后臺(tái)修復(fù)模塊1101,用于定期遍歷所述預(yù)設(shè)記錄表中的各條跳轉(zhuǎn)記錄;遍歷時(shí),根據(jù)當(dāng)前跳轉(zhuǎn)記錄中記錄的寫數(shù)據(jù)的實(shí)際地址從所述預(yù)設(shè)存儲(chǔ)區(qū)獲取所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù),并根據(jù)所述跳轉(zhuǎn)記錄中記錄的目標(biāo)地址將所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)寫入所述目標(biāo)硬盤;如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,則刪除所述當(dāng)前跳轉(zhuǎn)記錄。

      在本實(shí)施例或本發(fā)明其他某些實(shí)施例中,所述后臺(tái)修復(fù)模塊1101還可以用于:

      如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)失敗寫入所述目標(biāo)硬盤,則將所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)加1;判斷所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)是否超過第二數(shù)量閾值;如果所述當(dāng)前記錄的重試次數(shù)超過所述第二數(shù)量閾值,則下次遍歷時(shí)跳過所述當(dāng)前跳轉(zhuǎn)記錄。

      本實(shí)施例會(huì)在硬盤陣列(例如其空閑空間)中建立預(yù)設(shè)存儲(chǔ)區(qū),當(dāng)將上層業(yè)務(wù)的寫操作請(qǐng)求下發(fā)到硬盤陣列中的目標(biāo)硬盤后,如果達(dá)到第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作的響應(yīng),則不再繼續(xù)在該硬盤上重試寫操作,而是馬上將所述寫操作中的待寫數(shù)據(jù)轉(zhuǎn)為寫到所述預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,然后即可向上層業(yè)務(wù)返回寫操作成功的響應(yīng)。這樣當(dāng)由于出現(xiàn)壞道等硬盤問題將要出現(xiàn)寫操作超時(shí)的情況時(shí),在本實(shí)施例中上層業(yè)務(wù)卻無需持續(xù)等待,而是可以很快得到寫操作的結(jié)果,從而確保了上層業(yè)務(wù)執(zhí)行時(shí)的連續(xù)性。

      另外,預(yù)設(shè)記錄表中的記錄可以體現(xiàn)各硬盤產(chǎn)生過故障的次數(shù),因此在本實(shí)施例中還可以通過對(duì)硬盤寫失敗的次數(shù)進(jìn)行計(jì)數(shù)來預(yù)測硬盤陣列中的硬盤是否將要失效,也即可以識(shí)別風(fēng)險(xiǎn)硬盤,提前做好數(shù)據(jù)的拷貝工作,從而可以避免因硬盤突發(fā)性失效而帶來損失。

      此外,在本實(shí)施例中還可以在后臺(tái)定期進(jìn)行巡檢修復(fù),即定期重試預(yù)設(shè)記錄表中的寫操作,對(duì)于其中部分可重試成功的寫操作則在預(yù)設(shè)記錄表中刪除相關(guān)記錄,這樣原地址就可恢復(fù)正常,而預(yù)設(shè)存儲(chǔ)區(qū)也可以得到釋放。

      圖12是根據(jù)一示例性實(shí)施例示出的一種硬盤陣列控制設(shè)備的示意圖,所述設(shè)備可以包括:處理器1201、存儲(chǔ)器1202、收發(fā)單元1203及總線1204;

      所述處理器1201、所述存儲(chǔ)器1202、所述收發(fā)單元1203均與所述總線1204相連;

      所述收發(fā)單元1203用于接收外部發(fā)來的數(shù)據(jù)以及向外部發(fā)送數(shù)據(jù);

      所述存儲(chǔ)器1202用于存儲(chǔ)所述處理器1201可執(zhí)行的指令;

      所述處理器1201被配置為執(zhí)行圖3-圖7所示的方法。

      本實(shí)施例會(huì)在硬盤陣列(例如其空閑空間)中建立預(yù)設(shè)存儲(chǔ)區(qū),當(dāng)將上層業(yè)務(wù)的寫操作請(qǐng)求下發(fā)到硬盤陣列中的目標(biāo)硬盤后,如果達(dá)到第一時(shí)間閾值未收到所述目標(biāo)硬盤對(duì)所述寫操作的響應(yīng),則不再繼續(xù)在該硬盤上重試寫操作,而是馬上將所述寫操作中的待寫數(shù)據(jù)轉(zhuǎn)為寫到所述預(yù)設(shè)存儲(chǔ)區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實(shí)際寫入所述寫數(shù)據(jù)的實(shí)際地址的映射關(guān)系,然后即可向上層業(yè)務(wù)返回寫操作成功的響應(yīng)。這樣當(dāng)由于出現(xiàn)壞道等硬盤問題將要出現(xiàn)寫操作超時(shí) 的情況時(shí),在本實(shí)施例中上層業(yè)務(wù)卻無需持續(xù)等待,而是可以很快得到寫操作的結(jié)果,從而確保了上層業(yè)務(wù)執(zhí)行時(shí)的連續(xù)性。

      本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由所附的權(quán)利要求指出。

      應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1