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

      多rac集群系統(tǒng)、數(shù)據(jù)訪問(wèn)方法及裝置的制造方法

      文檔序號(hào):10724704閱讀:339來(lái)源:國(guó)知局
      多rac集群系統(tǒng)、數(shù)據(jù)訪問(wèn)方法及裝置的制造方法
      【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種多RAC集群系統(tǒng)、數(shù)據(jù)訪問(wèn)方法及裝置,其中,所述數(shù)據(jù)訪問(wèn)方法包括:根據(jù)多個(gè)RAC集群的數(shù)據(jù)源配置信息確定可用數(shù)據(jù)源;根據(jù)路由策略從所述可用數(shù)據(jù)源中選取第一數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源;根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作;根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果完成目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。采用本發(fā)明,能夠靈活地動(dòng)態(tài)增加新的RAC集群而不需停機(jī)維護(hù);能夠?qū)崿F(xiàn)故障RAC集群向非故障RAC集群的透明的切換,并且切換時(shí)間短,基本沒(méi)有TPS抖動(dòng)和失敗業(yè)務(wù);多個(gè)RAC集群是對(duì)等關(guān)系,任何一套R(shí)AC集群宕機(jī),都可以實(shí)現(xiàn)業(yè)務(wù)(例如,交易)的自動(dòng)遷移而不影響對(duì)外提供服務(wù)。
      【專(zhuān)利說(shuō)明】
      多RAC集群系統(tǒng)、數(shù)據(jù)訪問(wèn)方法及裝置
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及RAC集群領(lǐng)域,更為具體而言,涉及一種多RAC集群系統(tǒng)、數(shù)據(jù)訪問(wèn)方法及裝置。
      【背景技術(shù)】
      [0002]目前的OracleRAC有負(fù)載均衡和主備模式。負(fù)載均衡在機(jī)器數(shù)量上漲到一定程度后,并不能保證完全線性擴(kuò)展;而主備模式性能更取決于單臺(tái)服務(wù)器處理能力,成為應(yīng)用的性能瓶頸。并且這兩種模式都有出現(xiàn)過(guò)整個(gè)RAC集群宕機(jī)的情況,一旦RAC集群宕機(jī),則整個(gè)應(yīng)用對(duì)外不可服務(wù)。如果切換到備庫(kù),備庫(kù)由于nomount(即,未加載),需要重啟數(shù)據(jù)庫(kù),一般也同時(shí)需要重啟應(yīng)用。
      [0003]也就是說(shuō),無(wú)論是負(fù)載均衡模式還是主備模式,在任何一套R(shí)AC集群宕機(jī)時(shí),都會(huì)對(duì)應(yīng)用對(duì)外提供服務(wù)造成較大影響。并且當(dāng)需要新增RAC集群時(shí),需要停機(jī)維護(hù),操作麻煩。

      【發(fā)明內(nèi)容】

      [0004]鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明實(shí)施方式提供了一種多RAC集群系統(tǒng)、數(shù)據(jù)訪問(wèn)方法及裝置,能夠靈活地動(dòng)態(tài)增加新的RAC集群,并且能夠以基本沒(méi)有TPS (transact 1nper second,每秒交易筆數(shù))抖動(dòng)和失敗業(yè)務(wù)的效果進(jìn)行RAC集群的切換。
      [0005]具體地,本發(fā)明實(shí)施方式提供了一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)方法,其包括:
      [0006]根據(jù)多個(gè)RAC集群的數(shù)據(jù)源配置信息確定可用數(shù)據(jù)源;
      [0007]根據(jù)路由策略從所述可用數(shù)據(jù)源中選取第一數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源;
      [0008]根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作;
      [0009]根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果完成目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0010]相應(yīng)地,本發(fā)明實(shí)施方式還提供了一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)裝置,其包括:
      [0011 ]數(shù)據(jù)源管理模塊,存儲(chǔ)有多個(gè)RAC集群的數(shù)據(jù)源配置信息;
      [0012]數(shù)據(jù)訪問(wèn)模塊,包括:
      [0013]確定子模塊,用于根據(jù)所述數(shù)據(jù)源管理模塊存儲(chǔ)的數(shù)據(jù)源配置信息確定可用數(shù)據(jù)源,
      [0014]選取子模塊,用于根據(jù)路由策略從所述可用數(shù)據(jù)源中選取第一數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源,
      [0015]操作子模塊,用于根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作;
      [0016]處理模塊,用于根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果完成目標(biāo)數(shù)據(jù)庫(kù)調(diào)用或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0017]相應(yīng)地,本發(fā)明實(shí)施方式還提供一種多RAC集群系統(tǒng),其包括多個(gè)RAC集群和本發(fā)明實(shí)施方式提供的數(shù)據(jù)訪問(wèn)裝置。
      [0018]采用本發(fā)明實(shí)施方式,具有以下優(yōu)點(diǎn):
      [0019]通過(guò)配置多個(gè)RAC集群的數(shù)據(jù)源配置信息,可以靈活地變更(包括增加、刪除等)一個(gè)系統(tǒng)中的RAC集群,從而能夠靈活地例如動(dòng)態(tài)增加新的RAC集群,而不需要停機(jī)維護(hù);
      [0020]通過(guò)路由選取目標(biāo)數(shù)據(jù)源,能夠?qū)崿F(xiàn)故障RAC集群向非故障RAC集群的透明的切換,并且切換時(shí)間短,基本沒(méi)有TPS抖動(dòng)和失敗業(yè)務(wù)(例如,交易);
      [0021]采用本發(fā)明提供的數(shù)據(jù)訪問(wèn)方法,多個(gè)RAC集群是對(duì)等關(guān)系而不是主備關(guān)系,都可以同時(shí)對(duì)外提供全面的讀寫(xiě)數(shù)據(jù)庫(kù)處理;
      [0022]任何一套R(shí)AC集群宕機(jī),都可以實(shí)現(xiàn)業(yè)務(wù)(例如,交易)的自動(dòng)迀移而不影響對(duì)外提供服務(wù)。
      【附圖說(shuō)明】
      [0023]圖1是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)方法的流程示意圖的一例;
      [0024]圖2是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)方法的流程示意圖的另一例;
      [0025]圖3是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)裝置的框圖的一例;
      [0026]圖4是圖3所示數(shù)據(jù)訪問(wèn)裝置的操作子模塊的框圖的一例;
      [0027]圖5是圖3所示數(shù)據(jù)訪問(wèn)裝置的處理模塊的框圖的一例;
      [0028]圖6是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)裝置的框圖的另一例;
      [0029]圖7是根據(jù)本發(fā)明實(shí)施例的一種多RAC集群系統(tǒng)的示意圖。
      【具體實(shí)施方式】
      [0030]為了便于理解本發(fā)明技術(shù)方案的各個(gè)方面、特征以及優(yōu)點(diǎn),下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行具體描述。應(yīng)當(dāng)理解,下述的各種實(shí)施方式只用于舉例說(shuō)明,而非用于限制本發(fā)明的保護(hù)范圍。
      [0031]圖1是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)方法的流程示意圖的一例。參照?qǐng)D1,所述方法包括:
      [0032]10:根據(jù)多個(gè)RAC集群的數(shù)據(jù)源配置信息確定可用數(shù)據(jù)源。
      [0033]可選地,本實(shí)施例中的多個(gè)RAC集群的數(shù)據(jù)源配置信息可以預(yù)先配置,并且可以在執(zhí)行本方法的過(guò)程中根據(jù)特定情況(例如,故障隔離、數(shù)據(jù)源恢復(fù)等情況)更新。其中,各數(shù)據(jù)源配置信息具有關(guān)于數(shù)據(jù)源是否可用的配置。
      [0034]12:根據(jù)路由策略從所述可用數(shù)據(jù)源中選取第一數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源。
      [0035]在本實(shí)施例中,路由策略可以采用諸如最小路徑算法之類(lèi)的現(xiàn)有方法。本發(fā)明對(duì)具體的路由策略不做具體限制。
      [0036]14:根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作。
      [0037]在本實(shí)施例中,數(shù)據(jù)庫(kù)操作的目的是為了確定是否可以基于目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行有效的數(shù)據(jù)庫(kù)相關(guān)處理。可選地,數(shù)據(jù)庫(kù)操作包括數(shù)據(jù)操作有效性檢查和數(shù)據(jù)庫(kù)返回結(jié)果的有效性檢查。
      [0038]16:根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果調(diào)用目標(biāo)數(shù)據(jù)庫(kù)或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0039]需要說(shuō)明的是,在本實(shí)施例中,“第一數(shù)據(jù)源”和“第二數(shù)據(jù)源”只是為了區(qū)分在不同情況下所選取的數(shù)據(jù)源,而不具有其它意義。在優(yōu)選實(shí)施例中,第二數(shù)據(jù)源與第一數(shù)據(jù)源是不同的數(shù)據(jù)源。
      [0040]采用本實(shí)施例提供的方法,通過(guò)配置多個(gè)RAC集群的數(shù)據(jù)源配置信息,可以靈活地變更(包括增加、刪除等)一個(gè)系統(tǒng)中的RAC集群,從而能夠靈活地例如動(dòng)態(tài)增加新的RAC集群,而不需要停機(jī)維護(hù)。通過(guò)路由選取目標(biāo)數(shù)據(jù)源,能夠?qū)崿F(xiàn)故障RAC集群向非故障RAC集群的透明的切換,并且切換時(shí)間短,基本沒(méi)有TPS抖動(dòng)和失敗業(yè)務(wù)(例如,交易)。采用本發(fā)明提供的數(shù)據(jù)訪問(wèn)方法,多個(gè)RAC集群是對(duì)等關(guān)系而不是主備關(guān)系,都可以同時(shí)對(duì)外提供全面的讀寫(xiě)數(shù)據(jù)庫(kù)處理。任何一套R(shí)AC集群宕機(jī),都可以實(shí)現(xiàn)業(yè)務(wù)(例如,交易)的自動(dòng)迀移而不影響對(duì)外提供服務(wù)。
      [0041]在實(shí)際應(yīng)用中存在這樣的交易系統(tǒng),其交易間數(shù)據(jù)依賴(lài)關(guān)系少,只有極少量正交易的反交易或者關(guān)聯(lián)交易要用到原交易數(shù)據(jù)。這類(lèi)交易系統(tǒng)的數(shù)據(jù)庫(kù)實(shí)際上在運(yùn)行期間如果宕機(jī),可以直接啟動(dòng)一套數(shù)據(jù)庫(kù)來(lái)使用,在性能出現(xiàn)問(wèn)題時(shí),可以直接動(dòng)態(tài)新增一套數(shù)據(jù)庫(kù)來(lái)分?jǐn)倝毫?。因此,本?shí)施例提供的方法特別適用于基于多RAC集群搭建的上述交易系統(tǒng)。
      [0042]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,在處理10之前,所述方法還包括:接收數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求并根據(jù)數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求確定是否需要使用多個(gè)RAC集群,例如,根據(jù)數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求中攜帶的特定參數(shù)來(lái)確定,如果需要,則執(zhí)行處理12。如果不需要,則可以采用現(xiàn)有方式進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn),例如,調(diào)用JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。
      [0043]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,數(shù)據(jù)庫(kù)操作結(jié)果包括有效、無(wú)效和異常。更具體而言,處理14可以包括:檢查針對(duì)所述目標(biāo)數(shù)據(jù)庫(kù)的數(shù)據(jù)操作的有效性,并在數(shù)據(jù)操作有效的情況下,檢查數(shù)據(jù)庫(kù)返回結(jié)果的有效性。其中,如果數(shù)據(jù)操作和數(shù)據(jù)庫(kù)返回結(jié)果均有效,則數(shù)據(jù)庫(kù)操作結(jié)果有效;如果數(shù)據(jù)操作無(wú)效,或者,如果數(shù)據(jù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果異常,則數(shù)據(jù)庫(kù)操作結(jié)果異常;如果數(shù)據(jù)庫(kù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果無(wú)效,則數(shù)據(jù)庫(kù)操作結(jié)果無(wú)效。
      [0044]在本實(shí)現(xiàn)方式中,進(jìn)行數(shù)據(jù)庫(kù)操作的主要目的是為了確定是否可以基于目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行有效的數(shù)據(jù)庫(kù)相關(guān)處理。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,為了達(dá)到該目的,也可以采用其它現(xiàn)有方式,本發(fā)明不對(duì)此進(jìn)行詳細(xì)舉例,但這同樣落在本發(fā)明的保護(hù)范圍內(nèi)。
      [0045]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,處理16包括:在數(shù)據(jù)庫(kù)操作結(jié)果為有效時(shí),完成所述目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用;在數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效或異常時(shí),重新選取所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0046]進(jìn)一步可選地,當(dāng)數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效時(shí),根據(jù)預(yù)配置的數(shù)據(jù)源切換策略從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源?;蛘?,當(dāng)數(shù)據(jù)庫(kù)操作結(jié)果為異常時(shí),根據(jù)預(yù)配置的異常處理策略更新所述第一數(shù)據(jù)源的數(shù)據(jù)源配置信息,并從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0047]其中,數(shù)據(jù)源切換策略可以配置數(shù)據(jù)操作異常類(lèi)型、無(wú)效結(jié)果判斷和連續(xù)失敗多少筆等信息,并且可以由相關(guān)人員根據(jù)需要隨時(shí)配置或更改并生效。
      [0048]其中,可以采用以下方式來(lái)根據(jù)預(yù)配置的異常處理策略更新所述第一數(shù)據(jù)源的數(shù)據(jù)源配置信息:判斷數(shù)據(jù)操作結(jié)果是否為隔離性異常,如果是隔離性異常,則針對(duì)所述第一數(shù)據(jù)源進(jìn)行故障隔離并進(jìn)行數(shù)據(jù)健康檢查(例如,將所述第一數(shù)據(jù)源加入數(shù)據(jù)健康檢查隊(duì)列),如果檢查結(jié)果為第一數(shù)據(jù)源可用,則恢復(fù)第一數(shù)據(jù)源并將第一數(shù)據(jù)源加入可用數(shù)據(jù)源。需要說(shuō)明的是,在本實(shí)現(xiàn)方式中,如果是非隔離性異常,則可以按照正常的數(shù)據(jù)庫(kù)訪問(wèn)異常處理,即直接封裝后拋給應(yīng)用處理或者交易失敗;如果檢查結(jié)果為第一數(shù)據(jù)源不可用,則可以直接進(jìn)行后續(xù)的數(shù)據(jù)源切換處理;本發(fā)明對(duì)這兩種情況不做具體限制。
      [0049]需要說(shuō)明的是,在本實(shí)現(xiàn)方式中,當(dāng)需要進(jìn)行數(shù)據(jù)源切換時(shí),為了提高效率,優(yōu)選地,在數(shù)據(jù)庫(kù)操作結(jié)果為異常的情況下,針對(duì)第一數(shù)據(jù)源的處理與選取第二數(shù)據(jù)源的處理是異步地,從而提高數(shù)據(jù)源切換效率。當(dāng)然,如果不考慮切換效率,也可以先更新第一數(shù)據(jù)源的數(shù)據(jù)源配置信息再選取第二數(shù)據(jù)源。
      [0050]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,所述方法還包括:監(jiān)控多個(gè)RAC集群的壓力,并在壓力達(dá)到設(shè)定條件時(shí),通過(guò)增加新的RAC集群的數(shù)據(jù)源配置信息增加新的RAC集群。采用本實(shí)現(xiàn)方式,能夠根據(jù)需要?jiǎng)討B(tài)增加新的RAC集群而無(wú)需重啟整個(gè)系統(tǒng)。
      [0051]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,所述方法還包括:根據(jù)是否存在所述可用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)和文件系統(tǒng)之間的切換;在沒(méi)有所述可用數(shù)據(jù)源的情況下,將數(shù)據(jù)庫(kù)訪問(wèn)轉(zhuǎn)換為文件訪問(wèn)。
      [0052]圖2是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)方法的流程示意圖的另一例,參照?qǐng)D2,所述方法包括:
      [0053]20:接收數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求。
      [0054]21:判斷是否需要使用多個(gè)RAC集群。如果需要,則執(zhí)行處理22;如果不需要,則調(diào)用JDBC進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。
      [0055]22:通過(guò)路由選擇、路由路徑計(jì)算等方式確定目標(biāo)數(shù)據(jù)源。
      [0056]23:開(kāi)啟事務(wù)。
      [0057]24:針對(duì)目標(biāo)數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)操作。
      [0058]25:檢測(cè)數(shù)據(jù)操作的有效性。如果有效,則執(zhí)行26,否則說(shuō)明數(shù)據(jù)庫(kù)操作結(jié)果為異常,執(zhí)行27。
      [0059]26:判斷數(shù)據(jù)庫(kù)返回結(jié)果的有效性。如果有效,則結(jié)束數(shù)據(jù)庫(kù)訪問(wèn),完成數(shù)據(jù)庫(kù)調(diào)用。如果無(wú)效,則執(zhí)行28;如果異常,則執(zhí)行27。
      [0060]27:判斷異常是否為隔離性異常,例如,由如圖中虛線框所示的故障監(jiān)測(cè)模塊進(jìn)行該判斷。如果確定為隔離性異常,則執(zhí)行29;如果為非隔離性異常,則可以按照正常的數(shù)據(jù)庫(kù)訪問(wèn)異常處理,即直接封裝后拋給應(yīng)用處理或者交易失敗。
      [0061]28:進(jìn)行數(shù)據(jù)源切換處理。例如,從所述可用數(shù)據(jù)源中選取其它數(shù)據(jù)源作為新的目標(biāo)數(shù)據(jù)源。可選地,在進(jìn)行數(shù)據(jù)源切換處理時(shí),可以根據(jù)預(yù)配置的或可配置的數(shù)據(jù)源切換策略進(jìn)行數(shù)據(jù)源切換處理。
      [0062]29:故障隔離和數(shù)據(jù)健康檢查。即,針對(duì)所述第一數(shù)據(jù)源進(jìn)行故障隔離和數(shù)據(jù)健康檢查。
      [0063]30:故障恢復(fù)和可用數(shù)據(jù)源更新。具體而言,在檢查結(jié)果為第一數(shù)據(jù)源可用的情況下,恢復(fù)所述第一數(shù)據(jù)源并將所述第一數(shù)據(jù)源加入所述可用數(shù)據(jù)源。在檢查結(jié)果為第一數(shù)據(jù)源不可用時(shí),可以直接進(jìn)行后續(xù)的數(shù)據(jù)源切換處理。
      [0064]如圖中虛線箭頭所示,可以在確定數(shù)據(jù)庫(kù)返回結(jié)果異常之后,或者,在步驟30之后觸發(fā)步驟28。
      [0065]采用本實(shí)施例提供的方法,同樣具有圖1所示實(shí)施例的優(yōu)點(diǎn)。
      [0066]圖3是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)裝置的框圖的一例,參照?qǐng)D3,所述數(shù)據(jù)訪問(wèn)裝置包括:數(shù)據(jù)源管理模塊31、數(shù)據(jù)訪問(wèn)模塊32和處理模塊33,下面具體進(jìn)行說(shuō)明。
      [0067]在本實(shí)施例中,數(shù)據(jù)源管理模塊31存儲(chǔ)有多個(gè)RAC集群的數(shù)據(jù)源配置信息。其中,各數(shù)據(jù)源配置信息具有關(guān)于數(shù)據(jù)源是否可用的配置。
      [0068]數(shù)據(jù)訪問(wèn)模塊32包括:確定子模塊321,用于根據(jù)所述數(shù)據(jù)源管理模塊存儲(chǔ)的數(shù)據(jù)源配置信息確定可用數(shù)據(jù)源;選取子模塊322,用于根據(jù)路由策略從所述可用數(shù)據(jù)源中選取第一數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源;操作子模塊323,用于根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作。
      [0069]處理模塊33用于根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果完成目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0070]采用本實(shí)施例提供的數(shù)據(jù)訪問(wèn)裝置,可以靈活地變更(包括增加、刪除等)一個(gè)系統(tǒng)中的RAC集群,從而能夠靈活地例如動(dòng)態(tài)增加新的RAC集群,而不需要停機(jī)維護(hù)。通過(guò)路由選取目標(biāo)數(shù)據(jù)源,能夠?qū)崿F(xiàn)故障RAC集群向非故障RAC集群的透明的切換,并且切換時(shí)間短,基本沒(méi)有TPS抖動(dòng)和失敗業(yè)務(wù)(例如,交易)。采用本發(fā)明提供的數(shù)據(jù)訪問(wèn)裝置,將多個(gè)RAC集群以對(duì)等關(guān)系對(duì)待而不是主備關(guān)系,都可以同時(shí)對(duì)外提供全面的讀寫(xiě)數(shù)據(jù)庫(kù)處理。任何一套R(shí)AC集群宕機(jī),都可以實(shí)現(xiàn)業(yè)務(wù)(例如,交易)的自動(dòng)迀移而不影響對(duì)外提供服務(wù)。
      [0071 ]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,如圖3中虛線框所示,數(shù)據(jù)訪問(wèn)模塊32還包括請(qǐng)求處理子模塊320,用于接收數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求并在根據(jù)所述數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求確定需要使用所述多個(gè)RAC集群的情況下觸發(fā)所述確定子模塊321。
      [0072]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,如圖4所不,操作子模塊323包括:第一檢查單元,用于檢查針對(duì)所述目標(biāo)數(shù)據(jù)庫(kù)的數(shù)據(jù)操作的有效性,并在數(shù)據(jù)操作有效的情況下觸發(fā)第二檢查模塊;第二檢查單元,用于檢查數(shù)據(jù)庫(kù)返回結(jié)果的有效性。其中,如果數(shù)據(jù)操作和數(shù)據(jù)庫(kù)返回結(jié)果均有效,則數(shù)據(jù)庫(kù)操作結(jié)果有效;如果數(shù)據(jù)操作無(wú)效,或者,如果數(shù)據(jù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果異常,則數(shù)據(jù)庫(kù)操作結(jié)果異常;如果數(shù)據(jù)庫(kù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果無(wú)效,則數(shù)據(jù)庫(kù)操作結(jié)果無(wú)效。
      [0073]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,處理模塊33具體用于在數(shù)據(jù)庫(kù)操作結(jié)果為有效時(shí),完成所述目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用;在數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效或異常時(shí),重新選取所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0074]進(jìn)一步可選地,如圖5所示,處理模塊33包括:第一重選子模塊331,用于在數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效時(shí),根據(jù)預(yù)配置的數(shù)據(jù)源切換策略從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源;第二重選子模塊332,用于在數(shù)據(jù)庫(kù)操作結(jié)果為異常時(shí),根據(jù)預(yù)配置的異常處理策略更新所述第一數(shù)據(jù)源的數(shù)據(jù)源配置信息,并從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。
      [0075]進(jìn)一步可選地,如圖5中虛線框所示,第二重選子模塊332可以包括:故障監(jiān)測(cè)單元,用于判斷所述數(shù)據(jù)庫(kù)操作結(jié)果是否為隔離性異常,并在所述數(shù)據(jù)庫(kù)操作結(jié)果為隔離性異常的情況下調(diào)用故障隔離和恢復(fù)單元;故障隔離和恢復(fù)單元,用于隔離所述第一數(shù)據(jù)源并對(duì)所述第一數(shù)據(jù)源進(jìn)行數(shù)據(jù)健康檢查,并在檢查結(jié)果為所述第一數(shù)據(jù)可用時(shí),恢復(fù)所述第一數(shù)據(jù)源并將所述第一數(shù)據(jù)源加入所述可用數(shù)據(jù)源。
      [0076]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,數(shù)據(jù)處理裝置還可以包括動(dòng)態(tài)處理模塊,用于監(jiān)控所述多個(gè)RAC集群的壓力,并在壓力達(dá)到設(shè)定條件時(shí),通過(guò)增加新的RAC集群的數(shù)據(jù)源配置信息增加新的RAC集群。
      [0077]可選地,在本實(shí)施例的一種實(shí)現(xiàn)方式中,數(shù)據(jù)處理裝置還可以包括:資源切換模塊,用于根據(jù)是否存在所述可用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)和文件系統(tǒng)之間的切換;文件資源訪問(wèn)模塊,用于在沒(méi)有所述可用數(shù)據(jù)源的情況下,將數(shù)據(jù)庫(kù)訪問(wèn)轉(zhuǎn)換為文件訪問(wèn)。
      [0078]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明提供的裝置實(shí)施例可以實(shí)現(xiàn)本發(fā)明提供的方法,而本發(fā)明提供的方法又可以理解為本發(fā)明提供的裝置實(shí)施例的邏輯處理過(guò)程,因此,在本發(fā)明的裝置實(shí)施例中,關(guān)于各個(gè)模塊、子模塊、單元、子單元所執(zhí)行處理或可執(zhí)行處理的相信說(shuō)明,請(qǐng)參見(jiàn)方法實(shí)施例中的說(shuō)明,此處不贅述。
      [0079]圖6是根據(jù)本發(fā)明實(shí)施例的一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)裝置的框圖的另一例,參照?qǐng)D6,數(shù)據(jù)訪問(wèn)裝置包括:數(shù)據(jù)訪問(wèn)路由組件,數(shù)據(jù)源管理組件、資源切換管理組件、數(shù)據(jù)健康檢查組件、故障隔離與恢復(fù)組件、故障監(jiān)測(cè)組件、文件資源訪問(wèn)組件、數(shù)據(jù)源配置組件和異常處理策略配置組件。下面進(jìn)行具體說(shuō)明。
      [0080]在本實(shí)施例中,數(shù)據(jù)源管理組件(作用類(lèi)似于前文提及的數(shù)據(jù)源管理模塊31)中存儲(chǔ)有多個(gè)RAC集群的數(shù)據(jù)源配置信息。
      [0081]異常處理策略配置組件中存儲(chǔ)有異常策略配置信息。數(shù)據(jù)訪問(wèn)路由組件可以通過(guò)異常處理策略配置組件選取異常處理策略進(jìn)行異常處理。
      [0082]數(shù)據(jù)訪問(wèn)路由組件(作用類(lèi)似于前文提及的數(shù)據(jù)訪問(wèn)模塊32)用于進(jìn)行以下處理:根據(jù)數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求中的參數(shù)判斷是否需要使用多RAC集群,如果需要,則從所述數(shù)據(jù)源管理組件獲取可用數(shù)據(jù)源,并進(jìn)行選擇路由策略、計(jì)算數(shù)據(jù)訪問(wèn)路徑、設(shè)置路由訪問(wèn)路徑等處理以確定目標(biāo)數(shù)據(jù)源。開(kāi)啟事務(wù),根據(jù)目標(biāo)數(shù)據(jù)源對(duì)目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)操作。
      [0083]故障監(jiān)測(cè)組件(作用類(lèi)似于前文提及的故障監(jiān)測(cè)單元)用于監(jiān)測(cè)是否能夠基于目標(biāo)數(shù)據(jù)庫(kù)完成數(shù)據(jù)庫(kù)訪問(wèn)處理。包括:用于進(jìn)行數(shù)據(jù)操作有效性檢查和數(shù)據(jù)庫(kù)返回結(jié)果有效性檢查,如前所述,二者決定了數(shù)據(jù)庫(kù)操作結(jié)果為有效、無(wú)效或異常。如果數(shù)據(jù)庫(kù)操作結(jié)果為有效,則完成對(duì)目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用。如果數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效,則觸發(fā)數(shù)據(jù)訪問(wèn)路由組件選取其它數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。如果數(shù)據(jù)庫(kù)操作結(jié)果為異常,則判斷數(shù)據(jù)庫(kù)操作結(jié)果是否為隔離性異常,并在為隔離性異常的情況下調(diào)用觸發(fā)數(shù)據(jù)健康檢查組件、故障隔離與恢復(fù)組件和數(shù)據(jù)源配置組件(三者的作用類(lèi)似于前文提及的故障隔離和恢復(fù)子單元)。
      [0084]故障隔離與恢復(fù)組件用于在數(shù)據(jù)庫(kù)異常為隔離性異常時(shí),隔離目標(biāo)數(shù)據(jù)源并觸發(fā)數(shù)據(jù)健康檢查組件對(duì)目標(biāo)數(shù)據(jù)源進(jìn)行健康檢查,如果檢查結(jié)果為目標(biāo)數(shù)據(jù)源可用,則觸發(fā)故障隔離與恢復(fù)組件對(duì)目標(biāo)數(shù)據(jù)源進(jìn)行恢復(fù),并由數(shù)據(jù)源配置組件將目標(biāo)數(shù)據(jù)源加入可用數(shù)據(jù)源中。
      [0085]在故障隔離與恢復(fù)組件、數(shù)據(jù)健康檢查組件和數(shù)據(jù)源配置組件工作過(guò)程中,或者,在數(shù)據(jù)源配置組件將目標(biāo)數(shù)據(jù)源加入可用數(shù)據(jù)源后,數(shù)據(jù)訪問(wèn)路由組件可以重新選取目標(biāo)數(shù)據(jù)源進(jìn)而重復(fù)執(zhí)行數(shù)據(jù)庫(kù)操作等后續(xù)處理。
      [0086]資源切換管理組件(作用類(lèi)似于前文提及的資源切換模塊)用于根據(jù)是否存在可用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)和文件系統(tǒng)之間的切換。
      [0087]文件資源訪問(wèn)組件,(作用類(lèi)似于前文提及的文件資源訪問(wèn)模塊)用于在沒(méi)有所述可用數(shù)據(jù)源的情況下,將數(shù)據(jù)庫(kù)訪問(wèn)轉(zhuǎn)換為文件訪問(wèn)。
      [0088]對(duì)比圖3-圖5所示實(shí)施例或?qū)崿F(xiàn)方式以及圖6所示實(shí)施例,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,數(shù)據(jù)處理裝置中的具體功能并不限于由單一的功能模塊實(shí)現(xiàn),而是可以根據(jù)需要靈活設(shè)置不同的功能模塊。即,本發(fā)明保護(hù)數(shù)據(jù)處理裝置的邏輯處理過(guò)程,而并不對(duì)具體是由哪個(gè)具體模塊來(lái)實(shí)現(xiàn)具體功能進(jìn)行限制,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明裝置實(shí)施例的啟示而設(shè)計(jì)的具有與本發(fā)明的數(shù)據(jù)處理裝置不同的功能模塊但卻實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理裝置的邏輯處理過(guò)程的數(shù)據(jù)訪問(wèn)裝置同樣落在本發(fā)明的保護(hù)范圍內(nèi)。
      [0089]圖7是根據(jù)本發(fā)明實(shí)施例的一種多RAC集群系統(tǒng)的示意圖。參照?qǐng)D7,多RAC集群系統(tǒng)包括數(shù)據(jù)訪問(wèn)裝置和多個(gè)RAC集群(例如,兩個(gè)或兩個(gè)以上RAC集群)。在本實(shí)施例中,數(shù)據(jù)訪問(wèn)裝置可以通過(guò)與其連接的多個(gè)AP(訪問(wèn)接入點(diǎn))接收外部發(fā)送的訪問(wèn)請(qǐng)求。關(guān)于數(shù)據(jù)訪問(wèn)裝置的說(shuō)明請(qǐng)參見(jiàn)前文,此處不再贅述。其中,多個(gè)RAC集群為對(duì)等關(guān)系,即它們都可以同時(shí)對(duì)外提供全面的讀寫(xiě)數(shù)據(jù)庫(kù)處理。
      [0090]在本發(fā)明的一種具體應(yīng)用中,可以借助Spring( —種現(xiàn)有的開(kāi)源框架)的Mutildatasource實(shí)現(xiàn)數(shù)據(jù)庫(kù)路由,借用ibatis(—種現(xiàn)有的開(kāi)源項(xiàng)目)進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。當(dāng)然這只是舉例,本領(lǐng)域技術(shù)人員可以靈活采用不同的設(shè)計(jì)。
      [0091]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件結(jié)合硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案對(duì)【背景技術(shù)】做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
      [0092]本領(lǐng)技術(shù)人員應(yīng)當(dāng)理解,以上所公開(kāi)的僅為本發(fā)明的實(shí)施方式而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,依本發(fā)明實(shí)施方式所作的等同變化,仍屬本發(fā)明權(quán)利要求所涵蓋的范圍。
      【主權(quán)項(xiàng)】
      1.一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)方法,其特征在于,所述方法包括: 根據(jù)多個(gè)RAC集群的數(shù)據(jù)源配置信息確定可用數(shù)據(jù)源; 根據(jù)路由策略從所述可用數(shù)據(jù)源中選取第一數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源; 根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作; 根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果完成目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。2.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在根據(jù)接收到的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求確定需要使用多個(gè)RAC集群時(shí),根據(jù)所述多個(gè)RAC集群的數(shù)據(jù)源配置信息確定所述可用數(shù)據(jù)源。3.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作包括: 檢查針對(duì)所述目標(biāo)數(shù)據(jù)庫(kù)的數(shù)據(jù)操作的有效性,并在數(shù)據(jù)操作有效的情況下,檢查數(shù)據(jù)庫(kù)返回結(jié)果的有效性;其中, 如果數(shù)據(jù)操作和數(shù)據(jù)庫(kù)返回結(jié)果均有效,則數(shù)據(jù)庫(kù)操作結(jié)果有效, 如果數(shù)據(jù)操作無(wú)效,或者,如果數(shù)據(jù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果異常,則數(shù)據(jù)庫(kù)操作結(jié)果異常, 如果數(shù)據(jù)庫(kù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果無(wú)效,則數(shù)據(jù)庫(kù)操作結(jié)果無(wú)效。4.如權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果完成目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源包括: 在數(shù)據(jù)庫(kù)操作結(jié)果為有效時(shí),完成所述目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用; 在數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效或異常時(shí),重新選取所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。5.如權(quán)利要求4所述的方法,其特征在于,重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源包括: 在數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效時(shí),根據(jù)預(yù)配置的數(shù)據(jù)源切換策略從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源; 在數(shù)據(jù)庫(kù)操作結(jié)果為異常時(shí),根據(jù)預(yù)配置的異常處理策略更新所述第一數(shù)據(jù)源的數(shù)據(jù)源配置信息,并從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。6.如權(quán)利要求5所述的方法,其特征在于,根據(jù)預(yù)配置的異常處理策略更新所述第一數(shù)據(jù)源的數(shù)據(jù)源配置信息包括: 如果所述數(shù)據(jù)庫(kù)操作結(jié)果是否為隔離性異常,則針對(duì)所述第一數(shù)據(jù)源進(jìn)行故障隔離并進(jìn)行數(shù)據(jù)健康檢查,如果檢查結(jié)果為所述第一數(shù)據(jù)源可用,則恢復(fù)所述第一數(shù)據(jù)源并將所述第一數(shù)據(jù)源加入所述可用數(shù)據(jù)源。7.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 監(jiān)控所述多個(gè)RAC集群的壓力,并在壓力達(dá)到設(shè)定條件時(shí),通過(guò)增加新的RAC集群的數(shù)據(jù)源配置信息增加新的RAC集群。8.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 根據(jù)是否存在所述可用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)和文件系統(tǒng)之間的切換; 在沒(méi)有所述可用數(shù)據(jù)源的情況下,將數(shù)據(jù)庫(kù)訪問(wèn)轉(zhuǎn)換為文件訪問(wèn)。9.一種基于多個(gè)RAC集群的數(shù)據(jù)訪問(wèn)裝置,其特征在于,所述數(shù)據(jù)訪問(wèn)裝置包括: 數(shù)據(jù)源管理模塊,存儲(chǔ)有多個(gè)RAC集群的數(shù)據(jù)源配置信息; 數(shù)據(jù)訪問(wèn)模塊,包括: 確定子模塊,用于根據(jù)所述數(shù)據(jù)源管理模塊存儲(chǔ)的數(shù)據(jù)源配置信息確定可用數(shù)據(jù)源, 選取子模塊,用于根據(jù)路由策略從所述可用數(shù)據(jù)源中選取第一數(shù)據(jù)源作為目標(biāo)數(shù)據(jù)源, 操作子模塊,用于根據(jù)所述目標(biāo)數(shù)據(jù)源對(duì)相應(yīng)的目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作; 處理模塊,用于根據(jù)數(shù)據(jù)庫(kù)操作結(jié)果完成目標(biāo)數(shù)據(jù)庫(kù)調(diào)用或重新選取第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。10.如權(quán)利要求9所述的裝置,其特征在于,所述數(shù)據(jù)訪問(wèn)模塊還包括: 請(qǐng)求處理子模塊,用于接收數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求并在根據(jù)所述數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求確定需要使用所述多個(gè)RAC集群的情況下觸發(fā)所述確定子模塊。11.如權(quán)利要求9所述的裝置,其特征在于,所述操作子模塊包括: 第一檢查單元,用于檢查針對(duì)所述目標(biāo)數(shù)據(jù)庫(kù)的數(shù)據(jù)操作的有效性,并在數(shù)據(jù)操作有效的情況下觸發(fā)第二檢查模塊; 第二檢查單元,用于檢查數(shù)據(jù)庫(kù)返回結(jié)果的有效性; 其中,如果數(shù)據(jù)操作和數(shù)據(jù)庫(kù)返回結(jié)果均有效,則數(shù)據(jù)庫(kù)操作結(jié)果有效, 如果數(shù)據(jù)操作無(wú)效,或者,如果數(shù)據(jù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果異常,則數(shù)據(jù)庫(kù)操作結(jié)果異常, 如果數(shù)據(jù)庫(kù)操作有效而數(shù)據(jù)庫(kù)返回結(jié)果無(wú)效,則數(shù)據(jù)庫(kù)操作結(jié)果無(wú)效。12.如權(quán)利要求9-11中任一項(xiàng)所述的裝置,其特征在于,所述處理模塊用于: 在所述數(shù)據(jù)庫(kù)操作結(jié)果為有效時(shí),完成所述目標(biāo)數(shù)據(jù)庫(kù)的調(diào)用; 在所述數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效或異常時(shí),重新選取所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。13.如權(quán)利要求12所述的裝置,其特征在于,所述處理模塊包括: 第一重選子模塊,用于在數(shù)據(jù)庫(kù)操作結(jié)果為無(wú)效時(shí),根據(jù)預(yù)配置的數(shù)據(jù)源切換策略從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源; 第二重選子模塊,用于在數(shù)據(jù)庫(kù)操作結(jié)果為異常時(shí),根據(jù)預(yù)配置的異常處理策略更新所述第一數(shù)據(jù)源的數(shù)據(jù)源配置信息,并從所述可用數(shù)據(jù)源中選取非所述第一數(shù)據(jù)源的所述第二數(shù)據(jù)源作為所述目標(biāo)數(shù)據(jù)源。14.如權(quán)利要求13所述的裝置,其特征在于,所述第二重選子模塊包括: 故障監(jiān)測(cè)單元,用于判斷所述數(shù)據(jù)庫(kù)操作結(jié)果是否為隔離性異常,并在所述數(shù)據(jù)庫(kù)操作結(jié)果為隔離性異常的情況下調(diào)用故障隔離和恢復(fù)單元; 故障隔離和恢復(fù)單元,用于隔離所述第一數(shù)據(jù)源并對(duì)所述第一數(shù)據(jù)源進(jìn)行數(shù)據(jù)健康檢查,并在檢查結(jié)果為所述第一數(shù)據(jù)可用時(shí),恢復(fù)所述第一數(shù)據(jù)源并將所述第一數(shù)據(jù)源加入所述可用數(shù)據(jù)源。15.如權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 動(dòng)態(tài)處理模塊,用于監(jiān)控所述多個(gè)RAC集群的壓力,并在壓力達(dá)到設(shè)定條件時(shí),通過(guò)增加新的RAC集群的數(shù)據(jù)源配置信息增加新的RAC集群。16.如權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 資源切換模塊,用于根據(jù)是否存在所述可用數(shù)據(jù)源進(jìn)行數(shù)據(jù)庫(kù)和文件系統(tǒng)之間的切換; 文件資源訪問(wèn)模塊,用于在沒(méi)有所述可用數(shù)據(jù)源的情況下,將數(shù)據(jù)庫(kù)訪問(wèn)轉(zhuǎn)換為文件訪問(wèn)。17.—種多RAC集群系統(tǒng),其特征在于,包括多個(gè)RAC集群和如權(quán)利要求9-16中任一項(xiàng)所述的數(shù)據(jù)訪問(wèn)裝置。
      【文檔編號(hào)】G06F9/50GK106095571SQ201610395910
      【公開(kāi)日】2016年11月9日
      【申請(qǐng)日】2016年6月7日 公開(kāi)號(hào)201610395910.3, CN 106095571 A, CN 106095571A, CN 201610395910, CN-A-106095571, CN106095571 A, CN106095571A, CN201610395910, CN201610395910.3
      【發(fā)明人】舒展, 邢磊, 黎育龍
      【申請(qǐng)人】中國(guó)建設(shè)銀行股份有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1