專利名稱:一種數(shù)據(jù)訪問方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)anformation Technology,簡稱IT)領(lǐng)域,尤其涉及一種數(shù)據(jù)訪問方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有的數(shù)據(jù)的處理系統(tǒng)中,應(yīng)用模塊直接訪問數(shù)據(jù)區(qū)讀寫數(shù)據(jù),并根據(jù)操作系統(tǒng)提供的互斥機(jī)制保證某一時(shí)刻只有一個(gè)應(yīng)用模塊有權(quán)限訪問數(shù)據(jù)區(qū)讀寫數(shù)據(jù)。應(yīng)用模塊訪問數(shù)據(jù)區(qū)時(shí),生成讀寫操作日志,在數(shù)據(jù)區(qū)中的數(shù)據(jù)異常時(shí),應(yīng)用模塊根據(jù)讀寫操作日志恢復(fù)數(shù)據(jù)區(qū)中的數(shù)據(jù)。通過對現(xiàn)有技術(shù)的分析,發(fā)明人認(rèn)為現(xiàn)有技術(shù)至少存在以下問題當(dāng)數(shù)據(jù)區(qū)中的數(shù)據(jù)發(fā)生異常時(shí),在使用讀寫日志恢復(fù)數(shù)據(jù)之前,數(shù)據(jù)區(qū)中的數(shù)據(jù)是不可用的,應(yīng)用模塊不能繼續(xù)訪問數(shù)據(jù)區(qū)讀寫數(shù)據(jù),使得應(yīng)用模塊在恢復(fù)數(shù)據(jù)期間不能提供連續(xù)的服務(wù)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)異常的處理方法、系統(tǒng)及裝置,使得應(yīng)用模塊在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí)能夠提供連續(xù)的服務(wù)。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問的方法,包括應(yīng)用模塊根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,其中,所述主用數(shù)據(jù)區(qū)的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);若所述應(yīng)用模塊監(jiān)控到有異常發(fā)生,所述應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示;所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;所述主備數(shù)據(jù)區(qū)切換模塊根據(jù)所述第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為所述主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),其中, 所述備用數(shù)據(jù)區(qū)的信息的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問系統(tǒng),包括應(yīng)用模塊,數(shù)據(jù)區(qū)異常判決模塊, 主備數(shù)據(jù)區(qū)切換模塊以及主用數(shù)據(jù)區(qū),其中,所述應(yīng)用模塊,用于根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,若監(jiān)控到有異常發(fā)生,則向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示,其中,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);所述數(shù)據(jù)區(qū)異常判決模塊,用于根據(jù)所述應(yīng)用模塊發(fā)送的第一異常指示,確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;
所述主備數(shù)據(jù)區(qū)切換模塊,用于根據(jù)所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送的第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);所述主備數(shù)據(jù)區(qū)切換模塊還用于存儲(chǔ)所述主用數(shù)據(jù)區(qū)的信息以及所述備用數(shù)據(jù)區(qū)的信息;所述主用數(shù)據(jù)區(qū),用于存儲(chǔ)所述應(yīng)用模塊訪問的數(shù)據(jù)。本發(fā)明實(shí)施例提供的一種計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)包括計(jì)算機(jī)程序, 當(dāng)計(jì)算機(jī)單元實(shí)施所述計(jì)算機(jī)程序時(shí),所述計(jì)算機(jī)單元實(shí)現(xiàn)如下方法應(yīng)用模塊根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,其中,所述主用數(shù)據(jù)區(qū)的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);若所述應(yīng)用模塊監(jiān)控到有異常發(fā)生,所述應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示;所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;所述主備數(shù)據(jù)區(qū)切換模塊根據(jù)所述第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為所述主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),其中, 所述備用數(shù)據(jù)區(qū)的信息的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法及系統(tǒng),在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí),主備數(shù)據(jù)區(qū)切換模塊將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,使得應(yīng)用模塊在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí)仍能夠提供連續(xù)的服務(wù)。
圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問架構(gòu)圖;圖2為本發(fā)明實(shí)施例提供的在圖1的架構(gòu)圖下一種數(shù)據(jù)訪問方法;圖3為本發(fā)明實(shí)施例提供的在圖1的架構(gòu)圖方法實(shí)施例二的實(shí)現(xiàn)流程圖;圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問系統(tǒng)。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。如圖1所示,為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問的架構(gòu)圖。其中,應(yīng)用模塊根據(jù)主備數(shù)據(jù)區(qū)切換模塊的主用數(shù)據(jù)區(qū)的信息,訪問主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀寫操作,在應(yīng)用模塊監(jiān)控到有異常發(fā)生時(shí),應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示,數(shù)據(jù)區(qū)異常判決模塊根據(jù)第一異常指示確定主用數(shù)據(jù)區(qū)是否發(fā)生異常,并在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí),向主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示,主備數(shù)據(jù)區(qū)切換模塊根據(jù)第二異常指示將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,使得應(yīng)用模塊能夠根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),保證了在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí)能夠提供連續(xù)的服務(wù)。其中,需要說明的是,應(yīng)用模塊可以包括應(yīng)用處理子模塊以及數(shù)據(jù)訪問子模塊,其中,數(shù)據(jù)訪問子模塊提供了讀寫數(shù)據(jù)的接口,可直接對數(shù)據(jù)區(qū)進(jìn)行訪問,數(shù)據(jù)訪問子模塊可以是專用的硬件模塊,也可以是實(shí)現(xiàn)讀寫數(shù)據(jù)功能的函數(shù)庫,通過操作系統(tǒng)提供的互斥機(jī)制,可以保證同一時(shí)刻只有一個(gè)數(shù)據(jù)訪問子模塊能夠獲得主用數(shù)據(jù)區(qū)的訪問權(quán)限;應(yīng)用處理子模塊處理上層應(yīng)用,并通過數(shù)據(jù)訪問子模塊訪問主用數(shù)據(jù)區(qū)的數(shù)據(jù)。從圖1可知,主備數(shù)據(jù)區(qū)切換模塊中保存了主用數(shù)據(jù)區(qū)的信息以及備用數(shù)據(jù)區(qū)的信息,所述主用數(shù)據(jù)區(qū)的信息包括但不限于所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí),所述備用數(shù)據(jù)區(qū)的信息包括但不限于所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)。從圖1可知,數(shù)據(jù)區(qū)包括一個(gè)主用數(shù)據(jù)區(qū)以及至少一個(gè)備用數(shù)據(jù)區(qū),備用數(shù)據(jù)區(qū)與主用數(shù)據(jù)區(qū)的數(shù)據(jù)保持一致,其中,主用數(shù)據(jù)區(qū)為應(yīng)用模塊訪問數(shù)據(jù)進(jìn)行讀寫操作的數(shù)據(jù)區(qū),用于存儲(chǔ)應(yīng)用模塊訪問的數(shù)據(jù)。在此,需要指出的是,主用數(shù)據(jù)區(qū)以及備用數(shù)據(jù)區(qū)可以是任何能被應(yīng)用模塊訪問的存儲(chǔ)器,該存儲(chǔ)器包括易失性存儲(chǔ)設(shè)備和非易失性存儲(chǔ)設(shè)備、可移動(dòng)存儲(chǔ)設(shè)備和不可移動(dòng)存儲(chǔ)設(shè)備。作為示例,而非限制,所述存儲(chǔ)器中的存儲(chǔ)介質(zhì)包括包括但不限于RAM、ROM、 EEPR0M、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字化多功能光盤(DVD)或其他光學(xué)存儲(chǔ)技術(shù)、 磁卡、磁帶、磁盤或其他磁性存儲(chǔ)設(shè)備、或任何其他可用于存儲(chǔ)所需信息并可由所述應(yīng)用模塊訪問的存儲(chǔ)介質(zhì)。在此,需要進(jìn)一步指出的是,備用數(shù)據(jù)區(qū)可以有一個(gè)或多個(gè),備用數(shù)據(jù)區(qū)的數(shù)目并不構(gòu)成對本發(fā)明的限制。從圖1可知,在應(yīng)用模塊訪問主用數(shù)據(jù)區(qū)進(jìn)行寫操作時(shí),主備數(shù)據(jù)區(qū)復(fù)制模塊接收應(yīng)用模塊發(fā)送的寫操作參數(shù),根據(jù)所述寫操作參數(shù)對備用數(shù)據(jù)區(qū)進(jìn)行寫操作,使得備用數(shù)據(jù)區(qū)中的數(shù)據(jù)與主用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致,其中,所述寫操作參數(shù)包括主用數(shù)據(jù)區(qū)的寫操作的類型以及主用數(shù)據(jù)區(qū)的寫操作的操作數(shù)。如圖2所示,為本發(fā)明實(shí)施例提供的在圖1的架構(gòu)圖下的一種數(shù)據(jù)訪問方法,包括S201 應(yīng)用模塊根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,其中,所述主用數(shù)據(jù)區(qū)的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);其中,本發(fā)明實(shí)施例提供的應(yīng)用模塊訪問所述主用數(shù)據(jù)區(qū)進(jìn)行寫操作時(shí),向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入寫操作參數(shù),所述寫操作參數(shù)包括所述主用數(shù)據(jù)區(qū)的寫操作的類型以及所述主用數(shù)據(jù)區(qū)的寫操作的操作數(shù);所述主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作,從而使得所述備用數(shù)據(jù)區(qū)中的數(shù)據(jù)與所述主用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致;需要說明的是,所述應(yīng)用模塊根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)進(jìn)行寫操作時(shí),對于增加或者更新操作,所述應(yīng)用模塊實(shí)時(shí)計(jì)算數(shù)據(jù)的校驗(yàn)碼,并將所述數(shù)據(jù)的校驗(yàn)碼寫入所述主用數(shù)據(jù)區(qū),以便應(yīng)用模塊在讀數(shù)據(jù)時(shí),可以對數(shù)據(jù)進(jìn)行校驗(yàn),從而確定主用數(shù)據(jù)區(qū)是否發(fā)生異常;主備數(shù)據(jù)區(qū)復(fù)制模塊在接收到寫操作參數(shù)時(shí),對備用數(shù)據(jù)區(qū)執(zhí)行與上述相同的操作;需要說明的是,所述應(yīng)用模塊監(jiān)控是否有異常發(fā)生的方式,具體包括
所述應(yīng)用模塊監(jiān)控自身或者主用數(shù)據(jù)區(qū)是否發(fā)生異常;S202:若所述應(yīng)用模塊監(jiān)控到有異常發(fā)生,所述應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示;其中,需要說明的是,若所述應(yīng)用模塊發(fā)生異常,所述應(yīng)用模塊向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶應(yīng)用模塊異常標(biāo)識(shí);或者,若所述主用數(shù)據(jù)區(qū)發(fā)生異常,所述應(yīng)用模塊向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶主用數(shù)據(jù)區(qū)異常標(biāo)識(shí);需要說明的是,所述應(yīng)用模塊異常標(biāo)識(shí)包括應(yīng)用模塊標(biāo)識(shí)以及異常類型,所述主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)包括所述主用數(shù)據(jù)區(qū)的標(biāo)識(shí)或地址,以及異常類別;S203:所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;其中,本發(fā)明實(shí)施例提供的所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常的方式,可以包括以下任一方式方式一若所述第一異常指示攜帶所述主用數(shù)據(jù)區(qū)異常標(biāo)識(shí),所述數(shù)據(jù)區(qū)異常判決模塊直接確定所述主用數(shù)據(jù)區(qū)發(fā)生異常;方式二若所述第一異常指示攜帶所述應(yīng)用模塊異常標(biāo)識(shí),所述數(shù)據(jù)區(qū)異常判決模塊對所述主用數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),若校驗(yàn)出錯(cuò),所述數(shù)據(jù)區(qū)異常判決模塊確定所述主用數(shù)據(jù)區(qū)發(fā)生異常;需要說明的是,所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)數(shù)據(jù)的校驗(yàn)碼對主用數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn);S204:所述主備數(shù)據(jù)區(qū)切換模塊根據(jù)所述第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),其中,所述備用數(shù)據(jù)區(qū)的信息的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法,在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí),主備數(shù)據(jù)區(qū)切換模塊將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,使得應(yīng)用模塊在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí)仍能夠提供連續(xù)的服務(wù),其次,在訪問主用數(shù)據(jù)區(qū)進(jìn)行寫操作時(shí),應(yīng)用模塊向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入主用數(shù)據(jù)區(qū)的寫操作參數(shù),使得主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)主用數(shù)據(jù)區(qū)的寫操作參數(shù)對備用數(shù)據(jù)區(qū)進(jìn)行寫操作,從而使得備用數(shù)據(jù)區(qū)中的數(shù)據(jù)與主用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致,另外,應(yīng)用模塊在確定自身發(fā)生異常后,即向數(shù)據(jù)區(qū)異常判決模塊發(fā)送攜帶應(yīng)用模塊異常標(biāo)識(shí)的第一異常,使得數(shù)據(jù)區(qū)異常判決模塊能夠及時(shí)確定應(yīng)用模塊異常是否導(dǎo)致主用數(shù)據(jù)區(qū)異常,從而使得在訪問異常數(shù)據(jù)之前就能發(fā)現(xiàn)數(shù)據(jù)異常。如圖3所示,為本發(fā)明實(shí)施例提供的在圖1的架構(gòu)圖下方法實(shí)施例二的實(shí)現(xiàn)流程圖,該實(shí)施例包括S301 應(yīng)用模塊從主備數(shù)據(jù)區(qū)切換模塊獲得主用數(shù)據(jù)區(qū)的信息;其中,需要說明的是,所述應(yīng)用模塊從主備數(shù)據(jù)區(qū)切換模塊獲得所述主用數(shù)據(jù)區(qū)的信息的方式,可以包括所述應(yīng)用模塊向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送主用數(shù)據(jù)區(qū)的信息請求消息,并通過主用數(shù)據(jù)區(qū)的信息響應(yīng)消息接收所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送的所述主用數(shù)據(jù)區(qū)的信CN 102549550 A息;S302:所述應(yīng)用模塊根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,若有異常,執(zhí)行步驟S305 ;其中,需要說明的是,若所述應(yīng)用模塊根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行寫操作,所述應(yīng)用模塊還需執(zhí)行步驟S303,其中,所述寫操作包括但不限于增力口、刪除或更新數(shù)據(jù)的操作;其中,所述應(yīng)用模塊根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行寫操作時(shí),對于增加或者更新操作,所述應(yīng)用模塊計(jì)算數(shù)據(jù)的校驗(yàn)碼,并將所述數(shù)據(jù)的校驗(yàn)碼寫入所述主用數(shù)據(jù)區(qū),以便應(yīng)用模塊在讀數(shù)據(jù)時(shí),可以對數(shù)據(jù)進(jìn)行校驗(yàn),從而確定主用數(shù)據(jù)區(qū)是否發(fā)生異常;需要說明的是,本發(fā)明實(shí)施例提供的所述應(yīng)用模塊監(jiān)控是否有異常發(fā)生的方式, 具體包括所述應(yīng)用模塊監(jiān)控自身或者主用數(shù)據(jù)區(qū)是否發(fā)生異常;需要說明的是,本發(fā)明實(shí)施例提供的所述應(yīng)用模塊監(jiān)控所述應(yīng)用模塊是否發(fā)生異常的方式,可以包括以下任一方式方式一所述應(yīng)用模塊通過操作系統(tǒng)提供的互斥機(jī)制監(jiān)控所述應(yīng)用模塊是否發(fā)生異常,例如,在所述應(yīng)用模塊獲得所述主用數(shù)據(jù)區(qū)的訪問權(quán)限后,由于軟件錯(cuò)誤或其他異常而退出運(yùn)行,在退出運(yùn)行之前沒有釋放所述主用數(shù)據(jù)區(qū)的訪問權(quán)限,從而導(dǎo)致死鎖錯(cuò)誤的發(fā)生,通過操作系統(tǒng)提供的互斥機(jī)制可以檢測到該死鎖錯(cuò)誤,以監(jiān)控所述應(yīng)用模塊是否發(fā)生異常;方式二在所述應(yīng)用模塊與其他應(yīng)用模塊之間,采用心跳技術(shù)或者看門狗技術(shù)監(jiān)控所述應(yīng)用模塊是否發(fā)生異常;其中,本發(fā)明實(shí)施例提供的所述應(yīng)用模塊監(jiān)控所述主用數(shù)據(jù)區(qū)是否發(fā)生異常的方式包括所述應(yīng)用模塊訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀操作時(shí),對所讀的數(shù)據(jù)進(jìn)行校驗(yàn);若校驗(yàn)出錯(cuò),所述應(yīng)用模塊確定所述主用數(shù)據(jù)區(qū)發(fā)生異常;需要說明的是,所述應(yīng)用模塊根據(jù)訪問主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行寫操作時(shí)保存的所寫數(shù)據(jù)的校驗(yàn)碼,對數(shù)據(jù)進(jìn)行校驗(yàn);S303:所述應(yīng)用模塊向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入寫操作參數(shù),所述寫操作參數(shù)包括所述主用數(shù)據(jù)區(qū)的寫操作的類型以及所述主用數(shù)據(jù)區(qū)的寫操作的操作數(shù);其中,本發(fā)明實(shí)施例提供的所述應(yīng)用模塊向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入寫操作參數(shù)的方式,包括所述應(yīng)用模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù),使得所述主備數(shù)據(jù)區(qū)復(fù)制模塊按照先進(jìn)先出的方式進(jìn)行寫操作;需要說明的是,所述應(yīng)用模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù)的方式,可以包括以下任一方式方式一所述應(yīng)用模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊中的數(shù)據(jù)區(qū)復(fù)制隊(duì)列寫入所述寫操作參數(shù);
方式二 所述數(shù)據(jù)訪問模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊中的讀寫操作日志寫入所述寫操作參數(shù);需要說明的是,若所述主備數(shù)據(jù)區(qū)復(fù)制模塊為多個(gè),每一個(gè)主備數(shù)據(jù)區(qū)復(fù)制模塊負(fù)責(zé)自身管轄的備用數(shù)據(jù)區(qū)的數(shù)據(jù)備份,則,所述接收到所述寫操作參數(shù)的主備數(shù)據(jù)區(qū)復(fù)制模塊還需向其他主備數(shù)據(jù)區(qū)復(fù)制模塊發(fā)送所述寫操作參數(shù);優(yōu)選地,本發(fā)明實(shí)施例提供的所述應(yīng)用模塊在訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行完成寫操作后,向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù);S304:所述主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作,使得所備用數(shù)據(jù)區(qū)中的數(shù)據(jù)與所述主用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致,其中,所述備用數(shù)據(jù)區(qū)的信息存儲(chǔ)在所述主備數(shù)據(jù)區(qū)切換模塊,所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);其中,本發(fā)明實(shí)施例提供的所述主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作的方式,包括所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)是否有效,若有效,所述主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)所述備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作。需要說明的是,所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)是否有效的方式, 可以包括以下任一方式方式一所述應(yīng)用模塊將所述寫操作參數(shù)寫入到所述主備數(shù)據(jù)區(qū)復(fù)制模塊后,將與所述寫操作參數(shù)關(guān)聯(lián)的寫入完成標(biāo)識(shí)寫入到所述主備數(shù)據(jù)區(qū)復(fù)制模塊,所述主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)所述寫入完成標(biāo)識(shí),判斷所述寫操作參數(shù)是否有效,例如,若所述應(yīng)用模塊在向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù)的過程中,所述應(yīng)用模塊發(fā)生異常,所述應(yīng)用模塊將不會(huì)向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入與所述寫操作參數(shù)關(guān)聯(lián)的寫入完成標(biāo)識(shí), 若所述主備數(shù)據(jù)區(qū)復(fù)制模塊確定有與所述寫操作參數(shù)關(guān)聯(lián)的寫入完成標(biāo)識(shí),所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)有效,否則,所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)無效;方式二 所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)中的操作類型與所述寫操作參數(shù)中的操作數(shù)是否匹配,若匹配,所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)有效, 否則述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)無效,例如,若一個(gè)插入操作需要兩個(gè)字符串類型的操作數(shù),則,當(dāng)所述主備數(shù)據(jù)區(qū)復(fù)制模塊接收到包含插入操作類型的寫操作參數(shù)時(shí),所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)中的操作數(shù)是否是兩個(gè)字符串類型的操作數(shù),若是,則判斷有效,否則,判斷無效;其中,需要說明的是,所述主備數(shù)據(jù)區(qū)復(fù)制模塊在判斷所述寫操作參數(shù)無效后,將不會(huì)訪問備用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行寫操作,從而避免了把異常的數(shù)據(jù)寫入備用數(shù)據(jù)區(qū);S305 所述應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示;其中,需要說明的是,若所述應(yīng)用模塊發(fā)生異常,所述應(yīng)用模塊向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶應(yīng)用模塊異常標(biāo)識(shí);或者,若所述主用數(shù)據(jù)區(qū)發(fā)生異常,所述應(yīng)用模塊向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶主用數(shù)據(jù)區(qū)異常標(biāo)識(shí);
需要說明的是,所述應(yīng)用模塊異常標(biāo)識(shí)包括應(yīng)用模塊標(biāo)識(shí)以及異常類型,所述主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)包括所述主用數(shù)據(jù)區(qū)的標(biāo)識(shí)或地址,以及異常類別;在此,需要注意的是,本步驟S305可以在步驟S303之前、之后或同時(shí)發(fā)生,并不存在先后順序;S306:所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,若是,執(zhí)行步驟S307 ;其中,本發(fā)明實(shí)施例提供的所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常的方式,可以包括以下任一方式方式一若所述第一異常指示攜帶所述主用數(shù)據(jù)區(qū)異常標(biāo)識(shí),所述數(shù)據(jù)區(qū)異常判決模塊直接確定所述主用數(shù)據(jù)區(qū)發(fā)生異常;方式二若所述第一異常指示攜帶所述應(yīng)用模塊異常標(biāo)識(shí),所述數(shù)據(jù)區(qū)異常判決模塊對所述主用數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),若校驗(yàn)出錯(cuò),所述數(shù)據(jù)區(qū)異常判決模塊確定所述主用數(shù)據(jù)區(qū)發(fā)生異常;需要說明的是,所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)數(shù)據(jù)的校驗(yàn)碼對主用數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn);S307 所述數(shù)據(jù)區(qū)異常判決模塊向主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;S308:所述主備數(shù)據(jù)區(qū)切換模塊根據(jù)所述第二異常指示,將所述備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù);其中,需要說明的是,所述主備數(shù)據(jù)區(qū)切換模塊將所述備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息后,原來的主用數(shù)據(jù)區(qū)變?yōu)閭溆脭?shù)據(jù)區(qū),原來的備用數(shù)據(jù)區(qū)變?yōu)橹饔脭?shù)據(jù)區(qū),應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),保證了應(yīng)用模塊在主用數(shù)據(jù)區(qū)異常時(shí)能夠提供連續(xù)的服務(wù)。其中,本發(fā)明實(shí)施例中的所述應(yīng)用模塊還可以通過數(shù)據(jù)訪問代理模塊,根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀寫操作;需要說明的是,本發(fā)明實(shí)施例中,若所述主備數(shù)據(jù)區(qū)切換模塊為多個(gè),所述接收到所述第二異常指示的主備數(shù)據(jù)區(qū)切換模塊將更新后的主用數(shù)據(jù)區(qū)的信息發(fā)送給其他主備數(shù)據(jù)區(qū)切換模塊,使得所述其他主備數(shù)據(jù)區(qū)切換模塊更新自身保存的主用數(shù)據(jù)區(qū)的信息。本發(fā)明實(shí)施例提供的方法實(shí)施例二,在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí),主備數(shù)據(jù)區(qū)切換模塊將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,使得應(yīng)用模塊在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí)仍能夠提供連續(xù)的服務(wù),其次,在訪問主用數(shù)據(jù)區(qū)進(jìn)行寫操作時(shí),應(yīng)用模塊向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入主用數(shù)據(jù)區(qū)的寫操作參數(shù),使得主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)主用數(shù)據(jù)區(qū)的寫操作參數(shù)對備用數(shù)據(jù)區(qū)進(jìn)行寫操作,從而使得備用數(shù)據(jù)區(qū)中的數(shù)據(jù)與主用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致,另外,應(yīng)用模塊在確定自身發(fā)生異常后,即向數(shù)據(jù)區(qū)異常判決模塊發(fā)送攜帶應(yīng)用模塊異常標(biāo)識(shí)的第一異常,使得數(shù)據(jù)區(qū)異常判決模塊能夠及時(shí)確定應(yīng)用模塊異常是否導(dǎo)致主用數(shù)據(jù)區(qū)異常,從而使得在訪問異常數(shù)據(jù)之前就能發(fā)現(xiàn)數(shù)據(jù)異常,再次,應(yīng)用模塊在訪問主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀操作時(shí),對所讀的數(shù)據(jù)進(jìn)行校驗(yàn),使得應(yīng)用模塊首次訪問異常數(shù)據(jù)就能發(fā)現(xiàn)異常,以便主備數(shù)據(jù)區(qū)切換模塊更新主用數(shù)據(jù)區(qū)的信息,使得應(yīng)用模塊在數(shù)據(jù)異常時(shí),能夠提供連續(xù)的服務(wù),此外,主備數(shù)據(jù)區(qū)復(fù)制模塊在接收到的寫操作參數(shù)有效時(shí),才訪問備用數(shù)據(jù)區(qū)進(jìn)行寫操作,從而避免了把異常的數(shù)據(jù)寫入備用數(shù)據(jù)區(qū),并且,所述應(yīng)用模塊按照主用數(shù)據(jù)區(qū)寫操作的先后順序的先后順序向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入寫操作參數(shù), 使得備用數(shù)據(jù)區(qū)寫操作的順序與主用數(shù)據(jù)區(qū)寫操作的順序一致,使得主用數(shù)據(jù)區(qū)中的數(shù)據(jù)與備用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致。如圖4所示,為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問系統(tǒng),包括應(yīng)用模塊401,數(shù)據(jù)區(qū)異常判決模塊402,主備數(shù)據(jù)區(qū)切換模塊403以及主用數(shù)據(jù)區(qū)404,其中,所述應(yīng)用模塊401,用于根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)404的數(shù)據(jù), 并監(jiān)控是否有異常,若監(jiān)控到有異常發(fā)生,則向所述數(shù)據(jù)區(qū)異常判決模塊402發(fā)送第一異常指示,其中,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);所述數(shù)據(jù)區(qū)異常判決模塊402,用于根據(jù)所述應(yīng)用模塊401發(fā)送的第一異常指示, 確定所述主用數(shù)據(jù)區(qū)404是否發(fā)生異常,若是,則向所述主備數(shù)據(jù)區(qū)切換模塊403發(fā)送第二異常指示;所述主備數(shù)據(jù)區(qū)切換模塊403,用于根據(jù)所述數(shù)據(jù)區(qū)異常判決模塊402發(fā)送的第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊401根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);所述主備數(shù)據(jù)區(qū)切換模塊403還用于存儲(chǔ)所述主用數(shù)據(jù)區(qū)的信息以及所述備用數(shù)據(jù)區(qū)的信息;所述主用數(shù)據(jù)區(qū)404,用于存儲(chǔ)所述應(yīng)用模塊401訪問的數(shù)據(jù)。其中,本發(fā)明實(shí)施例提供的系統(tǒng)還包括主備數(shù)據(jù)區(qū)復(fù)制模塊,在所述應(yīng)用模塊401訪問所述主用數(shù)據(jù)區(qū)404的數(shù)據(jù)進(jìn)行寫操作時(shí),所述主備數(shù)據(jù)區(qū)復(fù)制模塊用于接收所述應(yīng)用模塊401寫入的寫操作參數(shù),并根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作,其中,所述寫操作參數(shù)包括所述主用數(shù)據(jù)區(qū)的寫操作的類型以及所述主用數(shù)據(jù)區(qū)的寫操作的操作數(shù);備用數(shù)據(jù)區(qū),用于對所述主用數(shù)據(jù)區(qū)404中的數(shù)據(jù)進(jìn)行備份。需要說明的是,所述主備數(shù)據(jù)區(qū)復(fù)制模塊還用于判斷所述寫操作參數(shù)是否有效, 若有效,則執(zhí)行對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作的步驟。需要說明的是,所述應(yīng)用模塊401具體用于根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)404的數(shù)據(jù),并監(jiān)控是否有異常,若監(jiān)控到有異常發(fā)生,則按照所述主用數(shù)據(jù)區(qū)404 寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù)。需要說明的是,所述主備數(shù)據(jù)區(qū)復(fù)制模塊具體用于接收所述應(yīng)用模塊401按照所述主用數(shù)據(jù)區(qū)404寫操作的先后順序?qū)懭氲膶懖僮鲄?shù),并根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),按照先進(jìn)先出的方式對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作。需要指出的是,所述主備數(shù)據(jù)區(qū)復(fù)制模塊可以為多個(gè),則所述接收到所述寫操作參數(shù)的主備數(shù)據(jù)區(qū)復(fù)制模塊還用于向其他主備數(shù)據(jù)區(qū)復(fù)制模塊發(fā)送所述寫操作參數(shù)。需要指出的是,所述應(yīng)用模塊401具體用于根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)404的數(shù)據(jù),并監(jiān)控自身或者所述主用數(shù)據(jù)區(qū)是否發(fā)生異常;若所述應(yīng)用模塊401發(fā)生異常,則向所述數(shù)據(jù)區(qū)異常判決模塊402發(fā)送所述第一異常指示,所述第一異常指示攜帶應(yīng)用模塊異常標(biāo)識(shí);或者,
若所述主用數(shù)據(jù)區(qū)404發(fā)生異常,則向所述數(shù)據(jù)區(qū)異常判決模塊402發(fā)送所述第一異常指示,所述第一異常指示攜帶主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)。需要說明的是,所述數(shù)據(jù)區(qū)異常判決模塊402具體用于根據(jù)攜帶所述主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)的第一異常指示,直接確定所述主用數(shù)據(jù)區(qū)發(fā)生異常,并向所述主備數(shù)據(jù)區(qū)切換模塊403發(fā)送所述第二異常指示;或者,具體用于根據(jù)攜帶所述應(yīng)用模塊異常標(biāo)識(shí)的第一異常指示,對所述主用數(shù)據(jù)區(qū) 404中的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),若校驗(yàn)出錯(cuò),則確定所述主用數(shù)據(jù)區(qū)發(fā)生異常,并向所述主備數(shù)據(jù)區(qū)切換模塊403發(fā)送所述第二異常指示。需要說明的是,所述應(yīng)用模塊401具體用于根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)404的數(shù)據(jù),通過操作系統(tǒng)提供的互斥機(jī)制監(jiān)控所述應(yīng)用模塊401是否發(fā)生異常,或者在所述應(yīng)用模塊401與其他應(yīng)用模塊之間,采用心跳技術(shù)或看門狗技術(shù)監(jiān)控所述應(yīng)用模塊401是否發(fā)生異常;若所述應(yīng)用模塊401發(fā)生異常,則向所述數(shù)據(jù)區(qū)異常判決模塊402發(fā)送所述第一異常指示,所述第一異常指示攜帶應(yīng)用模塊異常標(biāo)識(shí)。需要說明的是,在訪問所述主用數(shù)據(jù)區(qū)404的數(shù)據(jù)進(jìn)行讀操作時(shí),所述應(yīng)用模塊 401具體用于對所讀的數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)出錯(cuò),則確定所述主用數(shù)據(jù)區(qū)發(fā)生異常,并向所述數(shù)據(jù)區(qū)異常判決模塊402發(fā)送所述第一異常指示,所述第一異常指示攜帶主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)。需要說明的是,本發(fā)明實(shí)施例提供的系統(tǒng)還包括數(shù)據(jù)訪問代理模塊,用于根據(jù)所述應(yīng)用模塊401發(fā)送的對所述主用數(shù)據(jù)區(qū)404的讀寫操作請求,訪問所述主用數(shù)據(jù)區(qū)404的數(shù)據(jù)進(jìn)行讀寫操作,并將讀寫操作結(jié)果返回所述應(yīng)用模塊401。需要說明的是,所述主備數(shù)據(jù)區(qū)切換模塊403可以為多個(gè),所述接收到所述第二異常指示的主備數(shù)據(jù)區(qū)切換模塊將更新后的主用數(shù)據(jù)區(qū)的信息發(fā)送給其他主備數(shù)據(jù)區(qū)切換模塊,使得所述其他主備數(shù)據(jù)區(qū)切換模塊更新自身保存的主用數(shù)據(jù)區(qū)的信息。本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)包括計(jì)算機(jī)程序, 當(dāng)計(jì)算機(jī)單元實(shí)施所述計(jì)算機(jī)程序時(shí),所述計(jì)算機(jī)單元實(shí)現(xiàn)如下方法應(yīng)用模塊根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,其中,所述主用數(shù)據(jù)區(qū)的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);若所述應(yīng)用模塊監(jiān)控到有異常發(fā)生,所述應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示;所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;所述主備數(shù)據(jù)區(qū)切換模塊根據(jù)所述第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為所述主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),其中, 所述備用數(shù)據(jù)區(qū)的信息的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法及系統(tǒng),在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí),主備數(shù)據(jù)區(qū)切換模塊將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,使得應(yīng)用模塊在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí)仍能夠提供連續(xù)的服務(wù),其次,在訪問主用數(shù)據(jù)區(qū)進(jìn)行寫操作時(shí),應(yīng)用模塊向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入主用數(shù)據(jù)區(qū)的寫操作參數(shù),使得主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)主用數(shù)據(jù)區(qū)的寫操作參數(shù)對備用數(shù)據(jù)區(qū)進(jìn)行寫操作,從而使得備用數(shù)據(jù)區(qū)中的數(shù)據(jù)與主用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致,另外,應(yīng)用模塊在確定自身發(fā)生異常后,即向數(shù)據(jù)區(qū)異常判決模塊發(fā)送攜帶應(yīng)用模塊異常標(biāo)識(shí)的第一異常,使得數(shù)據(jù)區(qū)異常判決模塊能夠及時(shí)確定應(yīng)用模塊異常是否導(dǎo)致主用數(shù)據(jù)區(qū)異常,從而使得在訪問異常數(shù)據(jù)之前就能發(fā)現(xiàn)數(shù)據(jù)異常,再次,應(yīng)用模塊在訪問主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀操作時(shí),對所讀的數(shù)據(jù)進(jìn)行校驗(yàn),使得應(yīng)用模塊首次訪問異常數(shù)據(jù)就能發(fā)現(xiàn)異常,以便主備數(shù)據(jù)區(qū)切換模塊更新主用數(shù)據(jù)區(qū)的信息,使得應(yīng)用模塊在數(shù)據(jù)異常時(shí),能夠提供連續(xù)的服務(wù),此外,主備數(shù)據(jù)區(qū)復(fù)制模塊在接收到的寫操作參數(shù)有效時(shí),才訪問備用數(shù)據(jù)區(qū)進(jìn)行寫操作,從而避免了把異常的數(shù)據(jù)寫入備用數(shù)據(jù)區(qū),并且, 所述應(yīng)用模塊按照主用數(shù)據(jù)區(qū)寫操作的先后順序的先后順序向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入寫操作參數(shù),使得備用數(shù)據(jù)區(qū)寫操作的順序與主用數(shù)據(jù)區(qū)寫操作的順序一致,使得主用數(shù)據(jù)區(qū)中的數(shù)據(jù)與備用數(shù)據(jù)區(qū)中的數(shù)據(jù)保持一致。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)??傊?,以上所述僅為本發(fā)明技術(shù)方案的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)訪問方法,其特征在于,該方法包括應(yīng)用模塊根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,其中,所述主用數(shù)據(jù)區(qū)的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);若所述應(yīng)用模塊監(jiān)控到有異常發(fā)生,所述應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示;所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常, 若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;所述主備數(shù)據(jù)區(qū)切換模塊根據(jù)所述第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為所述主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),其中,所述備用數(shù)據(jù)區(qū)的信息的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括在訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行寫操作時(shí),所述應(yīng)用模塊向主備數(shù)據(jù)區(qū)復(fù)制模塊寫入寫操作參數(shù),所述寫操作參數(shù)包括所述主用數(shù)據(jù)區(qū)的寫操作的類型以及所述主用數(shù)據(jù)區(qū)的寫操作的操作數(shù),貝U,所述主備數(shù)據(jù)區(qū)復(fù)制模塊根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括所述主備數(shù)據(jù)區(qū)復(fù)制模塊判斷所述寫操作參數(shù)是否有效,若有效,執(zhí)行對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作的步驟。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述應(yīng)用模塊向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù),包括所述應(yīng)用模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù),使得所述主備數(shù)據(jù)區(qū)復(fù)制模塊按照先進(jìn)先出的方式進(jìn)行寫操作。
5.根據(jù)權(quán)利要求4所述的方法,所述應(yīng)用模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù),包括所述應(yīng)用模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊中的數(shù)據(jù)區(qū)復(fù)制隊(duì)列寫入所述寫操作參數(shù);或者,所述數(shù)據(jù)訪問模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊中的讀寫操作日志寫入所述寫操作參數(shù)。
6.根據(jù)權(quán)利要求2-5中任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,所述主備數(shù)據(jù)區(qū)復(fù)制模塊為多個(gè),所述方法還包括所述接收到所述寫操作參數(shù)的主備數(shù)據(jù)區(qū)復(fù)制模塊向其他主備數(shù)據(jù)區(qū)復(fù)制模塊發(fā)送所述寫操作參數(shù)。
7.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述應(yīng)用模塊監(jiān)控是否有異常發(fā)生, 包括所述應(yīng)用模塊監(jiān)控自身或者所述主用數(shù)據(jù)區(qū)是否發(fā)生異常;若所述應(yīng)用模塊發(fā)生異常,所述應(yīng)用模塊向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶應(yīng)用模塊異常標(biāo)識(shí);或者,若所述主用數(shù)據(jù)區(qū)發(fā)生異常,所述應(yīng)用模塊向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,包括若所述第一異常指示攜帶所述主用數(shù)據(jù)區(qū)異常標(biāo)識(shí),所述數(shù)據(jù)區(qū)異常判決模塊直接確定所述主用數(shù)據(jù)區(qū)發(fā)生異常;或者,若所述第一異常指示攜帶所述應(yīng)用模塊異常標(biāo)識(shí),所述數(shù)據(jù)區(qū)異常判決模塊對所述主用數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),若校驗(yàn)出錯(cuò),所述數(shù)據(jù)區(qū)異常判決模塊確定所述主用數(shù)據(jù)區(qū)發(fā)生異常。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述應(yīng)用模塊監(jiān)控自身是否發(fā)生異常,包括所述應(yīng)用模塊通過操作系統(tǒng)提供的互斥機(jī)制監(jiān)控所述應(yīng)用模塊是否發(fā)生異常;或者在所述應(yīng)用模塊與其他應(yīng)用模塊之間,采用心跳技術(shù)或者看門狗技術(shù)監(jiān)控所述應(yīng)用模塊是否發(fā)生異常。
10.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述應(yīng)用模塊監(jiān)控所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,包括所述應(yīng)用模塊訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀操作時(shí),對所讀的數(shù)據(jù)進(jìn)行校驗(yàn); 若校驗(yàn)出錯(cuò),所述應(yīng)用模塊確定所述主用數(shù)據(jù)區(qū)發(fā)生異常。
11.根據(jù)權(quán)利要求1-10中任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,所述應(yīng)用模塊根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū),包括所述應(yīng)用模塊通過數(shù)據(jù)訪問代理模塊,根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)。
12.根據(jù)權(quán)利要求1-10中任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,所述主備數(shù)據(jù)區(qū)切換模塊為多個(gè),所述方法還包括所述接收到所述第二異常指示的主備數(shù)據(jù)區(qū)切換模塊將更新后的主用數(shù)據(jù)區(qū)的信息發(fā)送給其他主備數(shù)據(jù)區(qū)切換模塊,使得所述其他主備數(shù)據(jù)區(qū)切換模塊更新自身保存的主用數(shù)據(jù)區(qū)的信息。
13.一種數(shù)據(jù)訪問系統(tǒng),其特征在于,包括應(yīng)用模塊,數(shù)據(jù)區(qū)異常判決模塊,主備數(shù)據(jù)區(qū)切換模塊以及主用數(shù)據(jù)區(qū),其中,所述應(yīng)用模塊,用于根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,若監(jiān)控到有異常發(fā)生,則向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示,其中,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)所述數(shù)據(jù)區(qū)異常判決模塊,用于根據(jù)所述應(yīng)用模塊發(fā)送的第一異常指示,確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常,若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;所述主備數(shù)據(jù)區(qū)切換模塊,用于根據(jù)所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送的第二異常指示, 將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);所述主備數(shù)據(jù)區(qū)切換模塊還用于存儲(chǔ)所述主用數(shù)據(jù)區(qū)的信息以及所述備用數(shù)據(jù)區(qū)的fn息;所述主用數(shù)據(jù)區(qū),用于存儲(chǔ)所述應(yīng)用模塊訪問的數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,還包括主備數(shù)據(jù)區(qū)復(fù)制模塊,在所述應(yīng)用模塊訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行寫操作時(shí),所述主備數(shù)據(jù)區(qū)復(fù)制模塊用于接收所述應(yīng)用模塊寫入的寫操作參數(shù),并根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作,其中,所述寫操作參數(shù)包括所述主用數(shù)據(jù)區(qū)的寫操作的類型以及所述主用數(shù)據(jù)區(qū)的寫操作的操作數(shù);備用數(shù)據(jù)區(qū),用于對所述主用數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行備份。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述主備數(shù)據(jù)區(qū)復(fù)制模塊還用于判斷所述寫操作參數(shù)是否有效,若有效,則執(zhí)行對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作的步驟。
16.根據(jù)權(quán)利要求14或15所述的系統(tǒng),其特征在于,所述應(yīng)用模塊具體用于根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,若監(jiān)控到有異常發(fā)生,則按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序向所述主備數(shù)據(jù)區(qū)復(fù)制模塊寫入所述寫操作參數(shù)。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述主備數(shù)據(jù)區(qū)復(fù)制模塊具體用于接收所述應(yīng)用模塊按照所述主用數(shù)據(jù)區(qū)寫操作的先后順序?qū)懭氲膶懖僮鲄?shù),并根據(jù)備用數(shù)據(jù)區(qū)的信息以及所述寫操作參數(shù),按照先進(jìn)先出的方式對所述備用數(shù)據(jù)區(qū)進(jìn)行寫操作。
18.根據(jù)權(quán)利要求14-17中任意一項(xiàng)權(quán)利要求所述的系統(tǒng),其特征在于,所述主備數(shù)據(jù)區(qū)復(fù)制模塊為多個(gè),所述接收到所述寫操作參數(shù)的主備數(shù)據(jù)區(qū)復(fù)制模塊還用于向其他主備數(shù)據(jù)區(qū)復(fù)制模塊發(fā)送所述寫操作參數(shù)。
19.根據(jù)權(quán)利要求13或14所述的系統(tǒng),其特征在于,所述應(yīng)用模塊具體用于根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控自身或者所述主用數(shù)據(jù)區(qū)是否發(fā)生異常;若所述應(yīng)用模塊發(fā)生異常,則向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶應(yīng)用模塊異常標(biāo)識(shí);或者,若所述主用數(shù)據(jù)區(qū)發(fā)生異常,則向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示, 所述第一異常指示攜帶主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于所述數(shù)據(jù)區(qū)異常判決模塊具體用于根據(jù)攜帶所述主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)的第一異常指示,直接確定所述主用數(shù)據(jù)區(qū)發(fā)生異常,并向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送所述第二異常指示;或者,具體用于根據(jù)攜帶所述應(yīng)用模塊異常標(biāo)識(shí)的第一異常指示,對所述主用數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),若校驗(yàn)出錯(cuò),則確定所述主用數(shù)據(jù)區(qū)發(fā)生異常,并向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送所述第二異常指示。
21.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述應(yīng)用模塊具體用于根據(jù)所述主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),通過操作系統(tǒng)提供的互斥機(jī)制監(jiān)控所述應(yīng)用模塊是否發(fā)生異常,或者在所述應(yīng)用模塊與其他應(yīng)用模塊之間,采用心跳技術(shù)或看門狗技術(shù)監(jiān)控所述應(yīng)用模塊是否發(fā)生異常;若所述應(yīng)用模塊發(fā)生異常,則向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶應(yīng)用模塊異常標(biāo)識(shí)。
22.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,在訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀操作時(shí),所述應(yīng)用模塊具體用于對所讀的數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)出錯(cuò),則確定所述主用數(shù)據(jù)區(qū)發(fā)生異常,并向所述數(shù)據(jù)區(qū)異常判決模塊發(fā)送所述第一異常指示,所述第一異常指示攜帶主用數(shù)據(jù)區(qū)異常標(biāo)識(shí)。
23.根據(jù)權(quán)利要求13-22中任意一項(xiàng)權(quán)利要求所述的系統(tǒng),其特征在于,還包括數(shù)據(jù)訪問代理模塊,用于根據(jù)所述應(yīng)用模塊發(fā)送的對所述主用數(shù)據(jù)區(qū)的讀寫操作請求,訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行讀寫操作,并將讀寫操作結(jié)果返回所述應(yīng)用模塊。
24.根據(jù)權(quán)利要求13-22中任意一項(xiàng)權(quán)利要求所述的系統(tǒng),其特征在于,所述主備數(shù)據(jù)區(qū)切換模塊為多個(gè),所述接收到所述第二異常指示的主備數(shù)據(jù)區(qū)切換模塊將更新后的主用數(shù)據(jù)區(qū)的信息發(fā)送給其他主備數(shù)據(jù)區(qū)切換模塊,使得所述其他主備數(shù)據(jù)區(qū)切換模塊更新自身保存的主用數(shù)據(jù)區(qū)的信息。
25.一種計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì),其特征在于,包括計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)單元實(shí)施所述計(jì)算機(jī)程序時(shí),所述計(jì)算機(jī)單元實(shí)現(xiàn)如下方法應(yīng)用模塊根據(jù)主用數(shù)據(jù)區(qū)的信息訪問所述主用數(shù)據(jù)區(qū)的數(shù)據(jù),并監(jiān)控是否有異常,其中,所述主用數(shù)據(jù)區(qū)的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述主用數(shù)據(jù)區(qū)的信息包括所述主用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí);若所述應(yīng)用模塊監(jiān)控到有異常發(fā)生,所述應(yīng)用模塊向數(shù)據(jù)區(qū)異常判決模塊發(fā)送第一異常指示;所述數(shù)據(jù)區(qū)異常判決模塊根據(jù)所述第一異常指示確定所述主用數(shù)據(jù)區(qū)是否發(fā)生異常, 若是,則向所述主備數(shù)據(jù)區(qū)切換模塊發(fā)送第二異常指示;所述主備數(shù)據(jù)區(qū)切換模塊根據(jù)所述第二異常指示,將備用數(shù)據(jù)區(qū)的信息更新為所述主用數(shù)據(jù)區(qū)的信息,以便所述應(yīng)用模塊根據(jù)更新后的主用數(shù)據(jù)區(qū)的信息訪問數(shù)據(jù),其中,所述備用數(shù)據(jù)區(qū)的信息的信息存儲(chǔ)在主備數(shù)據(jù)區(qū)切換模塊,所述備用數(shù)據(jù)區(qū)的信息包括所述備用數(shù)據(jù)區(qū)的地址或標(biāo)識(shí)。
全文摘要
本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)訪問方法及系統(tǒng)。本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問方法,在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí),主備數(shù)據(jù)區(qū)切換模塊將備用數(shù)據(jù)區(qū)的信息更新為主用數(shù)據(jù)區(qū)的信息。通過本發(fā)明實(shí)施例提供的方法,應(yīng)用模塊在主用數(shù)據(jù)區(qū)發(fā)生異常時(shí)仍能提供連續(xù)的服務(wù)。
文檔編號(hào)G06F11/14GK102549550SQ201180003067
公開日2012年7月4日 申請日期2011年12月6日 優(yōu)先權(quán)日2011年12月6日
發(fā)明者施有鑄, 李勇 申請人:華為技術(shù)有限公司