欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)庫信息管理方法和設(shè)備的制作方法

文檔序號:6583048閱讀:235來源:國知局
專利名稱:一種數(shù)據(jù)庫信息管理方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本申請涉及通信技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)庫信息管理方法和設(shè)備。
背景技術(shù)
隨著信息社會的發(fā)展和互聯(lián)網(wǎng)應(yīng)用的廣泛普及,越來越多的信息被數(shù)據(jù)化,尤其 是伴隨著互聯(lián)網(wǎng)(Internet)技術(shù)的發(fā)展,數(shù)據(jù)呈爆炸式增長。作為網(wǎng)絡(luò)的驅(qū)動因素,信息 數(shù)據(jù)正在成為網(wǎng)絡(luò)的核心,數(shù)據(jù)的安全、高效存儲和管理作為網(wǎng)絡(luò)發(fā)展的基礎(chǔ),日益受到人 們的重視,但也正因為數(shù)據(jù)量的高速增長,海量數(shù)據(jù)的存儲和訪問成為了系統(tǒng)設(shè)計的瓶頸 問題。對于一個大型的互聯(lián)網(wǎng)應(yīng)用系統(tǒng),現(xiàn)在每天都需要承受多達(dá)幾十億次的頁面瀏覽 量(Page View,PV),因此所形成的巨大數(shù)據(jù)流量和數(shù)據(jù)處理量對數(shù)據(jù)庫系統(tǒng)造成了相當(dāng)高 的負(fù)載,對于系統(tǒng)的穩(wěn)定性和擴展性造成了極大的負(fù)面影響。在現(xiàn)有的技術(shù)中,主要通過數(shù)據(jù)切分來提高網(wǎng)絡(luò)性能,其中,橫向擴展數(shù)據(jù)層,即 水平切分?jǐn)?shù)據(jù)庫,已經(jīng)成為架構(gòu)研發(fā)人員首選的網(wǎng)絡(luò)系統(tǒng)構(gòu)建方式。水平切分?jǐn)?shù)據(jù)庫,可以降低單臺設(shè)備的負(fù)載,通過負(fù)載均衡策略,有效的降低了單 臺機器所承受的訪問負(fù)載,降低了該設(shè)備因為負(fù)載過高而宕機的可能性。同時,水平切分?jǐn)?shù) 據(jù)庫所形成的負(fù)載分擔(dān)也最大限度的降低了某臺或某幾臺設(shè)備宕機給整個系統(tǒng)造成的損 失。而另一方面,現(xiàn)有的技術(shù)方案還通過在多臺網(wǎng)絡(luò)設(shè)備之間建立集群,進(jìn)行數(shù)據(jù)庫 負(fù)載分擔(dān)的方案,解決了數(shù)據(jù)庫宕機帶來的單點數(shù)據(jù)庫不能訪問的問題。再進(jìn)一步的,現(xiàn)有技術(shù)還通過讀寫分離策略,將需要處理量較大的寫操作(Write) 與對數(shù)據(jù)的讀操作(Read)進(jìn)行分離處理,大幅提高了應(yīng)用中讀取數(shù)據(jù)的速度和并發(fā)量。目前,常見的大型互聯(lián)網(wǎng)應(yīng)用中,大量的采用了這樣的數(shù)據(jù)切分方案,從而實現(xiàn)了 分布式數(shù)據(jù)訪問層(Distributed Data Access Layer, DDAL)的建立。在實現(xiàn)本申請的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題現(xiàn)有的一些數(shù)據(jù)庫技術(shù),例如iBATIS,不能夠支持分表分庫的數(shù)據(jù)庫訪問,而應(yīng)用 這些數(shù)據(jù)庫技術(shù)進(jìn)行處理的業(yè)務(wù)數(shù)據(jù)又是海量的,需要對表進(jìn)行水平拆分以保證數(shù)據(jù)庫操 作語句的性能,這樣的矛盾嚴(yán)重影響了數(shù)據(jù)庫的應(yīng)用體驗。

發(fā)明內(nèi)容
本申請?zhí)峁┮环N數(shù)據(jù)庫信息管理方法和設(shè)備,通過在系統(tǒng)的數(shù)據(jù)中添加數(shù)據(jù)標(biāo) 識,標(biāo)識出該數(shù)據(jù)的地址信息和讀寫權(quán)限信息,從而實現(xiàn)數(shù)據(jù)庫信息的分表分庫管理。為達(dá)到上述目的,本申請一方面提供了一種數(shù)據(jù)庫信息管理方法,應(yīng)用于包括一 個管理服務(wù)器、一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器的系統(tǒng)中,所述管理服務(wù)器為所述數(shù)據(jù) 服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,所述數(shù)據(jù)標(biāo)識包括所述數(shù)據(jù)的地址信息和所述數(shù)據(jù)的讀寫 權(quán)限,所述方法包括
所述應(yīng)用服務(wù)器向所述管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,并在本地進(jìn) 行存儲;所述應(yīng)用服務(wù)器根據(jù)所述數(shù)據(jù)標(biāo)識中所包含的所述目標(biāo)數(shù)據(jù)的地址信息訪問所 述目標(biāo)數(shù)據(jù),并根據(jù)所述數(shù)據(jù)標(biāo)識中所包含的所述目標(biāo)數(shù)據(jù)的讀寫權(quán)限,對所述目標(biāo)數(shù)據(jù) 進(jìn)行相應(yīng)的操作。優(yōu)選的,所述管理服務(wù)器為所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識之前,還包 括所述管理服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)庫管理策略,將所述系統(tǒng)中的數(shù)據(jù)分別存儲于相 應(yīng)的數(shù)據(jù)服務(wù)器中。優(yōu)選的,所述多個數(shù)據(jù)服務(wù)器組成至少一個數(shù)據(jù)服務(wù)器群落,所述數(shù)據(jù)服務(wù)器群 落中包含一個主數(shù)據(jù)服務(wù)器和至少一個從數(shù)據(jù)服務(wù)器,所述管理服務(wù)器將所述系統(tǒng)中的數(shù) 據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中,具體為所述管理服務(wù)器根據(jù)所述系統(tǒng)中的數(shù)據(jù)的讀寫負(fù)載調(diào)整策略,將所述數(shù)據(jù)分配給 各所述數(shù)據(jù)服務(wù)器群落中相應(yīng)的主數(shù)據(jù)服務(wù)器或從數(shù)據(jù)服務(wù)器進(jìn)行存儲;其中,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器群落中的主數(shù)據(jù)服務(wù)器中存儲的 數(shù)據(jù)具有可以進(jìn)行讀操作和/或?qū)懖僮鞯臋?quán)限,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器 群落中的從數(shù)據(jù)服務(wù)器中存儲的數(shù)據(jù)只具有進(jìn)行讀操作的權(quán)限。優(yōu)選的,所述管理服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)庫管理策略,將所述系統(tǒng)中的數(shù)據(jù)分別 存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中之后,還包括所述管理服務(wù)器根據(jù)預(yù)設(shè)的容災(zāi)策略,分別為所述系統(tǒng)中全部或部分?jǐn)?shù)據(jù)服務(wù)器 建立備份服務(wù)器,并將所述數(shù)據(jù)服務(wù)器中所存儲的數(shù)據(jù)復(fù)制到相應(yīng)的備份服務(wù)器中。優(yōu)選的,當(dāng)所述數(shù)據(jù)服務(wù)器的數(shù)據(jù)不能被訪問時,還包括所述管理服務(wù)器將所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識中所包含的地址 信息變更為所述數(shù)據(jù)服務(wù)器所對應(yīng)的備份服務(wù)器的地址信息。優(yōu)選的,所述應(yīng)用服務(wù)器向所述管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,具 體為當(dāng)所述應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問所述目標(biāo)數(shù)據(jù)時,所述應(yīng)用服務(wù)器向所 述管理服務(wù)器請求所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識,并接收所述管理服務(wù)器所返回的所述目標(biāo)數(shù) 據(jù)的數(shù)據(jù)標(biāo)識;或,當(dāng)所述應(yīng)用服務(wù)器初始化時,所述應(yīng)用服務(wù)器向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng) 前所有數(shù)據(jù)的數(shù)據(jù)標(biāo)識,并在本地存儲,當(dāng)所述應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問所述目 標(biāo)數(shù)據(jù)時,所述應(yīng)用服務(wù)器在本地讀取所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。優(yōu)選的,所述方法還包括如果所述應(yīng)用服務(wù)器是在需要訪問目標(biāo)數(shù)據(jù)時,向所述管理服務(wù)器獲取所述目標(biāo) 數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,則當(dāng)所述管理服務(wù)器判斷所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識發(fā)生變化時, 所述管理服務(wù)器向所述應(yīng)用服務(wù)器發(fā)送包含新的數(shù)據(jù)標(biāo)識的通知消息,更新所述應(yīng)用服務(wù) 器所獲取的目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識;如果所述應(yīng)用服務(wù)器是在初始化時,向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng)前所有數(shù) 據(jù)的數(shù)據(jù)標(biāo)識,并在本地進(jìn)行存儲,則當(dāng)所述管理服務(wù)器判斷所述系統(tǒng)當(dāng)前的數(shù)據(jù)的數(shù)據(jù)標(biāo)識發(fā)生變化或有新的數(shù)據(jù)加入所述系統(tǒng)時,所述管理服務(wù)器向所述應(yīng)用服務(wù)器發(fā)送包含 更新的數(shù)據(jù)的數(shù)據(jù)標(biāo)識或新加入的數(shù)據(jù)的數(shù)據(jù)標(biāo)識的通知消息,更新所述應(yīng)用服務(wù)器所獲 取的所述系統(tǒng)當(dāng)前全部數(shù)據(jù)的數(shù)據(jù)標(biāo)識。另一方面,本申請實施例還提供了一種應(yīng)用服務(wù)器,應(yīng)用于包括一個管理服務(wù)器、 一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器的系統(tǒng)中,所述管理服務(wù)器為所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù) 添加數(shù)據(jù)標(biāo)識,所述數(shù)據(jù)標(biāo)識包括所述數(shù)據(jù)的地址信息和所述數(shù)據(jù)的讀寫權(quán)限,包括獲取模塊,用于向所述管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識;識別模塊,與所述獲取模塊相連接,用于識別所述獲取模塊所獲取的數(shù)據(jù)標(biāo)識中 所包含的所述目標(biāo)數(shù)據(jù)的地址信息和讀寫權(quán)限;處理模塊,與所述識別模塊相連接,用于根據(jù)所述識別模塊所識別的所述目標(biāo)數(shù) 據(jù)的地址信息訪問所述目標(biāo)數(shù)據(jù),并根據(jù)所述識別模塊所識別的所述目標(biāo)數(shù)據(jù)的讀寫權(quán) 限,對所述目標(biāo)數(shù)據(jù)進(jìn)行相應(yīng)的操作。優(yōu)選的,所述獲取模塊,具體包括設(shè)置子模塊,用于設(shè)置獲取數(shù)據(jù)標(biāo)識的策略,其中,所述獲取數(shù)據(jù)標(biāo)識的策略包 括當(dāng)所述應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問目標(biāo)數(shù)據(jù)時,向所述管理服務(wù)器請求所述目 標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識,或,當(dāng)所述應(yīng)用服務(wù)器初始化時,向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng)前 所有數(shù)據(jù)的數(shù)據(jù)標(biāo)識;獲取子模塊,與所述設(shè)置子模塊相連接,用于根據(jù)所述設(shè)置子模塊所設(shè)置的獲取 數(shù)據(jù)標(biāo)識的策略,向所述管理服務(wù)器獲取所述目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識。優(yōu)選的,所述獲取模塊,還包括存儲子模塊,與所述獲取子模塊相連接,用于存儲所述獲取子模塊所獲取的所述 目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識;其中,當(dāng)所述設(shè)置子模塊所設(shè)置的獲取數(shù)據(jù)標(biāo)識的策略為當(dāng)所述應(yīng)用服務(wù)器初始 化時,向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng)前所有數(shù)據(jù)的數(shù)據(jù)標(biāo)識時,所述存儲子模塊還用 于存儲所述系統(tǒng)當(dāng)前的其他數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識。優(yōu)選的,所述應(yīng)用服務(wù)器還包括通信模塊,與所述獲取模塊相連接,用于接收所述管理服務(wù)器發(fā)送的包含更新后 的目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識和/或新加入的數(shù)據(jù)的數(shù)據(jù)標(biāo)識的通知消息,更新所述獲取 模塊所獲取的目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識或所述系統(tǒng)當(dāng)前全部數(shù)據(jù)的數(shù)據(jù)標(biāo)識。另一方面,本申請實施例還提供了一種管理服務(wù)器,應(yīng)用于包括一個管理服務(wù)器、 一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器的系統(tǒng)中,包括設(shè)置模塊,用于設(shè)置數(shù)據(jù)庫管理策略和讀寫負(fù)載調(diào)整策略;處理模塊,與所述設(shè)置模塊相連接,用于根據(jù)所述設(shè)置模塊所設(shè)置的數(shù)據(jù)庫管理 策略和讀寫負(fù)載調(diào)整策略,將所述系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中;標(biāo)識模塊,用于根據(jù)所述設(shè)置模塊所設(shè)置的數(shù)據(jù)庫管理策略和讀寫負(fù)載調(diào)整策 略,為各所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,所述數(shù)據(jù)標(biāo)識包括所述數(shù)據(jù)的地址信息 和所述數(shù)據(jù)的讀寫權(quán)限。優(yōu)選的,所述多個數(shù)據(jù)服務(wù)器組成至少一個數(shù)據(jù)服務(wù)器群落,所述數(shù)據(jù)服務(wù)器群 落中包含一個主數(shù)據(jù)服務(wù)器和至少一個從數(shù)據(jù)服務(wù)器,所述處理模塊根據(jù)所述設(shè)置模塊所設(shè)置的讀寫負(fù)載調(diào)整策略,將所述系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中,具體 為所述處理模塊根據(jù)所述設(shè)置模塊所設(shè)置的當(dāng)前系統(tǒng)中的數(shù)據(jù)的讀寫負(fù)載調(diào)整策 略,將所述數(shù)據(jù)分配給各所述數(shù)據(jù)服務(wù)器群落中相應(yīng)的主數(shù)據(jù)服務(wù)器或從數(shù)據(jù)服務(wù)器進(jìn)行 存儲;其中,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器群落中的主數(shù)據(jù)服務(wù)器中存儲的 數(shù)據(jù)具有可以進(jìn)行讀操作和/或?qū)懖僮鞯臋?quán)限,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器 群落中的從數(shù)據(jù)服務(wù)器中存儲的數(shù)據(jù)只具有進(jìn)行讀操作的權(quán)限。優(yōu)選的,所述設(shè)置模塊,還用于設(shè)置容災(zāi)策略;所述處理模塊,還用于根據(jù)所述設(shè)置模塊所設(shè)置的容災(zāi)策略,分別為所述系統(tǒng)中 全部或部分?jǐn)?shù)據(jù)服務(wù)器建立備份服務(wù)器,并將所述數(shù)據(jù)服務(wù)器中所存儲的數(shù)據(jù)復(fù)制到相應(yīng) 的備份服務(wù)器中。優(yōu)選的,所述管理服務(wù)器還包括調(diào)整模塊,用于當(dāng)所述數(shù)據(jù)服務(wù)器的數(shù)據(jù)不能被訪問時,將所述數(shù)據(jù)服務(wù)器中的 數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識中所包含的所述數(shù)據(jù)的地址信息變更為所述數(shù)據(jù)服務(wù)器所對應(yīng)的 備份服務(wù)器的地址信息。與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案具有以下優(yōu)點通過應(yīng)用本申請的技術(shù)方案,可以在系統(tǒng)的數(shù)據(jù)中添加數(shù)據(jù)標(biāo)識,標(biāo)識出該數(shù)據(jù) 的地址信息和讀寫權(quán)限信息,從而可以實現(xiàn)數(shù)據(jù)庫信息的分表分庫管理,并可以根據(jù)系統(tǒng) 中的數(shù)據(jù)庫管理策略進(jìn)行相應(yīng)的信息調(diào)度,提高系統(tǒng)中的數(shù)據(jù)信息管理效率。


為了更清楚地說明本申請或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本申請或現(xiàn)有技術(shù) 描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的 一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù) 這些附圖獲得其他的附圖。圖1為本申請實施例提供的一種數(shù)據(jù)庫信息管理方法的流程示意圖;圖2為本申請實施例提供的一種數(shù)據(jù)服務(wù)器集群的結(jié)構(gòu)示意圖;圖3為本申請實施例提供的一種數(shù)據(jù)庫信息管理方法的應(yīng)用場景的結(jié)構(gòu)示意圖;圖4為本申請實施例提供的一種數(shù)據(jù)庫信息管理方法的在具體應(yīng)用場景中的流 程示意圖;圖5為本申請實施例提供的一種應(yīng)用服務(wù)器的結(jié)構(gòu)示意圖;圖6為本申請實施例提供的一種管理服務(wù)器的結(jié)構(gòu)示意圖。
具體實施例方式如背景技術(shù)所述,現(xiàn)有的一些數(shù)據(jù)庫技術(shù),例如iBATIS,并不能支持分表分庫的數(shù) 據(jù)庫訪問,因而,在面對海量的業(yè)務(wù)數(shù)據(jù)存儲和處理過程時,尤其是面對需要對表進(jìn)行水平 拆分以保證數(shù)據(jù)庫操作性能的應(yīng)用環(huán)境時,現(xiàn)有的數(shù)據(jù)庫技術(shù)存在應(yīng)用上的瓶頸。
基于這樣的技術(shù)缺陷,本申請?zhí)岢隽艘环N通過為數(shù)據(jù)添加數(shù)據(jù)標(biāo)識來解決上述的 現(xiàn)有技術(shù)不足的技術(shù)思路,通過管理服務(wù)器為數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,以此標(biāo)明了對應(yīng)數(shù)據(jù)在 當(dāng)前系統(tǒng)中的存儲位置和進(jìn)行讀寫操作權(quán)限,應(yīng)用服務(wù)器在需要對數(shù)據(jù)進(jìn)行操作時,首先 向管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,而后根據(jù)獲取到的數(shù)據(jù)標(biāo)識對目標(biāo)數(shù)據(jù)進(jìn) 行操作和管理,并實現(xiàn)相應(yīng)的應(yīng)用進(jìn)程,其中,當(dāng)前系統(tǒng)可以應(yīng)用分表分庫的處理,在此基 礎(chǔ)上,數(shù)據(jù)標(biāo)識中包含了進(jìn)行分表分庫處理后的數(shù)據(jù)的位置信息,應(yīng)用服務(wù)器可以根據(jù)相 應(yīng)的位置信息在分表分庫后的系統(tǒng)中,從相應(yīng)的數(shù)據(jù)服務(wù)器中進(jìn)行相應(yīng)數(shù)據(jù)的獲取。本申請實施例所提出的一種數(shù)據(jù)庫信息管理方法,應(yīng)用于包括一個管理服務(wù)器、 一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器的系統(tǒng)中,管理服務(wù)器為數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù) 標(biāo)識,其中,數(shù)據(jù)標(biāo)識包括數(shù)據(jù)的地址信息和數(shù)據(jù)的讀寫權(quán)限。具體如圖1所示,為本申請實施例提供的一種數(shù)據(jù)庫信息管理方法的流程示意 圖,具體包括以下步驟步驟S101、管理服務(wù)器為數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,并在本地進(jìn)行存儲。具體的,管理服務(wù)器為數(shù)據(jù)添加數(shù)據(jù)標(biāo)識的方式如下在管理服務(wù)器中建立當(dāng)前系統(tǒng)中所有數(shù)據(jù)的數(shù)據(jù)信息列表,在該列表中保存各數(shù) 據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識信息。在數(shù)據(jù)標(biāo)識中,至少保存了各數(shù)據(jù)所對應(yīng)的存儲位置信息和讀 寫權(quán)限信息,在具體的應(yīng)用場景中,數(shù)據(jù)標(biāo)識中還可以進(jìn)一步包括數(shù)據(jù)創(chuàng)建或修改的時間 信息,數(shù)據(jù)本身的大小信息,以及數(shù)據(jù)所具有的其他信息內(nèi)容。其中,存儲位置信息至少包 括數(shù)據(jù)所處的數(shù)據(jù)列表的位置信息和數(shù)據(jù)服務(wù)器的位置信息。例如,一個十位的存儲位置 信息1234567890,其中的前4位1234表示數(shù)據(jù)存儲的數(shù)據(jù)列表位置信息,中間3位表示數(shù) 據(jù)存儲的數(shù)據(jù)服務(wù)器位置信息,后3位表示數(shù)據(jù)在數(shù)據(jù)列表中的位置信息,當(dāng)然,這只是本 發(fā)明實施例中優(yōu)選的存儲位置信息方式,還可以是其他代碼或者標(biāo)示符信息。上述信息可以是以具體內(nèi)容的方式直接存儲于數(shù)據(jù)標(biāo)識中,也可以是以代碼或標(biāo) 示符的方式進(jìn)行存儲,但是,在以代碼或標(biāo)示符的方式進(jìn)行存儲的情況下,管理服務(wù)器中需 要建立相應(yīng)的代碼或標(biāo)示符與具體信息內(nèi)容的對應(yīng)規(guī)則,在能夠?qū)崿F(xiàn)信息記錄的基礎(chǔ)上, 具體應(yīng)用的存儲方式的變化并不影響本發(fā)明的保護(hù)范圍。其中,在管理服務(wù)器為數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識之前,還包括管理服務(wù) 器根據(jù)預(yù)設(shè)的數(shù)據(jù)庫管理策略,將系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中。這樣的處理目的就是為了實現(xiàn)系統(tǒng)中數(shù)據(jù)的分表分庫處理,從而提高系統(tǒng)中的數(shù) 據(jù)負(fù)載分擔(dān)。在具體的應(yīng)用場景中,上述系統(tǒng)中的多個數(shù)據(jù)服務(wù)器組成了至少一個數(shù)據(jù)服務(wù)器 群落,各數(shù)據(jù)服務(wù)器群落中分別包含一個主數(shù)據(jù)服務(wù)器和至少一個從數(shù)據(jù)服務(wù)器,管理服 務(wù)器將系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中,具體的存儲流程為管理服務(wù)器根據(jù)系統(tǒng)中的數(shù)據(jù)的讀寫負(fù)載調(diào)整策略,將數(shù)據(jù)分配給各數(shù)據(jù)服務(wù)器 群落中相應(yīng)的數(shù)據(jù)服務(wù)器中。其中,讀寫負(fù)載調(diào)整策略中關(guān)于分別進(jìn)行讀寫操作的數(shù)據(jù)的分配規(guī)則包括管理服務(wù)器將需要進(jìn)行寫操作的數(shù)據(jù)分配到各數(shù)據(jù)服務(wù)器群落中的主數(shù)據(jù)服務(wù) 器中;管理服務(wù)器將需要進(jìn)行讀操作的數(shù)據(jù)分配到各數(shù)據(jù)服務(wù)器群落中的從數(shù)據(jù)服務(wù)器中。需要指出的是,上述的兩種分配規(guī)則對數(shù)據(jù)的操作類型范圍要求不同,對于存儲 于主數(shù)據(jù)服務(wù)器中的數(shù)據(jù),為具有寫操作需求的數(shù)據(jù),但是存儲于主數(shù)據(jù)服務(wù)器中的數(shù)據(jù) 同樣可以進(jìn)行讀操作,但是,與之相對的,對于存儲于從數(shù)據(jù)服務(wù)器中的數(shù)據(jù),為具有讀操 作需求的數(shù)據(jù),但是存儲于從數(shù)據(jù)服務(wù)器中的數(shù)據(jù)只能進(jìn)行讀操作,而不能進(jìn)行寫操作。這樣進(jìn)行數(shù)據(jù)分配的的好處在于將需要進(jìn)行較大處理量的寫操作分配給主數(shù)據(jù) 服務(wù)器來完成,將需要進(jìn)行的處理量比較小的讀操作分配給從數(shù)據(jù)服務(wù)器來完成,不僅如 此,由于寫操作需要涉及數(shù)據(jù)信息的修改,因此,需要在更高級別的主數(shù)據(jù)服務(wù)器中進(jìn)行, 這樣便于數(shù)據(jù)的管理和權(quán)限的具體分配。需要進(jìn)一步指出的是,管理服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)庫管理策略,將系統(tǒng)中的數(shù)據(jù) 分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中之后,還包括容災(zāi)策略的實現(xiàn),具體的實現(xiàn)過程包括(1)管理服務(wù)器根據(jù)預(yù)設(shè)的容災(zāi)策略,分別為系統(tǒng)中全部或部分?jǐn)?shù)據(jù)服務(wù)器建立 備份服務(wù)器。具體的備份服務(wù)器建立策略可以是在新的服務(wù)器設(shè)備上建立,也可以是在現(xiàn)有的 其他數(shù)據(jù)服務(wù)器中的空余空間中建立。在新的服務(wù)器設(shè)備中建立備份服務(wù)器有利于備份數(shù)據(jù)的獨立管理,但是需要進(jìn)行 新的設(shè)備投入。在現(xiàn)有的其他數(shù)據(jù)服務(wù)器中的空余空間中建立備份服務(wù)器可以有效的降低成本 投入,但是需要建立相應(yīng)的空間監(jiān)視機制,保障能夠及時發(fā)現(xiàn)現(xiàn)有的其他數(shù)據(jù)服務(wù)器中的 空余存儲空間,并保證已被利用作為備份空間的數(shù)據(jù)服務(wù)器空間不會與其他數(shù)據(jù)的存儲發(fā) 生矛盾。(2)管理服務(wù)器將各數(shù)據(jù)服務(wù)器中所存儲的數(shù)據(jù)復(fù)制到相應(yīng)的備份服務(wù)器中。這樣的數(shù)據(jù)復(fù)制在數(shù)據(jù)服務(wù)器初始化時會首先進(jìn)行數(shù)據(jù)備份,在后續(xù)的處理過程 中,如果一個或多個數(shù)據(jù)服務(wù)器中的數(shù)據(jù)發(fā)生了變化,還包括相應(yīng)的數(shù)據(jù)服務(wù)器和備份服 務(wù)器之間的數(shù)據(jù)同步過程,具體的通過過程包括以下三種方案方案一、由管理服務(wù)器進(jìn)行定期的數(shù)據(jù)檢測,并主動發(fā)起數(shù)據(jù)服務(wù)器和備份服務(wù) 器之間的數(shù)據(jù)同步操作其中,管理服務(wù)器進(jìn)行數(shù)據(jù)檢測的檢測周期可以預(yù)先設(shè)定,具體的檢測周期的長 度標(biāo)準(zhǔn)以不致因為過于頻繁的進(jìn)行數(shù)據(jù)檢測而影響系統(tǒng)或者相應(yīng)設(shè)備的性能為宜。如果管理服務(wù)器判斷一個或者多個數(shù)據(jù)服務(wù)器中的數(shù)據(jù)發(fā)生變化時,將啟動相應(yīng) 的數(shù)據(jù)服務(wù)器和備份服務(wù)器之間的數(shù)據(jù)同步操作,以使備份服務(wù)器中的數(shù)據(jù)與數(shù)據(jù)服務(wù)器 中的數(shù)據(jù)信息保持一致。其中,需要指出的是,數(shù)據(jù)同步操作的啟動時間可以是在檢測發(fā)現(xiàn)數(shù)據(jù)發(fā)生變化 后直接進(jìn)行啟動,也可以是在判斷發(fā)生變化的數(shù)據(jù)的總量達(dá)到預(yù)設(shè)的閾值后,才統(tǒng)一進(jìn)行 數(shù)據(jù)同步操作,這樣的變化并不影響本申請的保護(hù)范圍。方案二、由數(shù)據(jù)服務(wù)器對自身的數(shù)據(jù)信息進(jìn)行定期的數(shù)據(jù)檢測,并在發(fā)現(xiàn)數(shù)據(jù)變 化時向管理服務(wù)器請求發(fā)起該數(shù)據(jù)服務(wù)器和備份服務(wù)器之間的數(shù)據(jù)同步操作需要指出的是,上述的數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)檢測以發(fā)現(xiàn)數(shù)據(jù)是否發(fā)生變化的形式 包括直接對數(shù)據(jù)信息本身進(jìn)行檢測,或?qū)邮盏降臄?shù)據(jù)操作指令進(jìn)行檢測兩種形式。
第一種檢測形式具體可以是對數(shù)據(jù)進(jìn)行掃描,如果發(fā)現(xiàn)數(shù)據(jù)發(fā)生過變化,或者最 近的修改時間是在前次數(shù)據(jù)掃描之后發(fā)生的,那么,將判斷該數(shù)據(jù)信息發(fā)生了變更,并向管 理服務(wù)器請求發(fā)起在備份服務(wù)器中對該數(shù)據(jù)信息的數(shù)據(jù)同步操作過程。第二種檢測形式則是對在最近的一個檢測周期內(nèi)所接收到的操作指令的類型進(jìn) 行掃描,如果發(fā)現(xiàn)其中具有數(shù)據(jù)改寫功能的操作指令類型(例如寫入指令),則向管理服務(wù) 器請求發(fā)起在備份服務(wù)器中對該操作指令所對應(yīng)的數(shù)據(jù)信息的數(shù)據(jù)同步操作過程。上述的兩種檢測形式的區(qū)別在于具體檢測對象的差別,根據(jù)數(shù)據(jù)本身內(nèi)容或?qū)?yīng) 的操作指令類型判斷數(shù)據(jù)是否發(fā)生變化判斷是否向管理服務(wù)器請求發(fā)起在備份服務(wù)器中 對相應(yīng)的數(shù)據(jù)信息的數(shù)據(jù)同步操作過程,具體采用哪種檢測形式并不會影響本申請的保護(hù) 范圍。其中,需要進(jìn)一步指出的是,上述的數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)檢測的檢測周期可以預(yù) 先設(shè)定,具體的檢測周期的長度標(biāo)準(zhǔn)以不致因為過于頻繁的進(jìn)行數(shù)據(jù)檢測而影響系統(tǒng)或者 數(shù)據(jù)服務(wù)器本身的性能為宜。如果數(shù)據(jù)服務(wù)器判斷自身的數(shù)據(jù)發(fā)生變化時,將向管理服務(wù)器發(fā)送請求消息,請 求啟動自身與相應(yīng)的備份服務(wù)器之間的數(shù)據(jù)同步操作,以使備份服務(wù)器中的數(shù)據(jù)與數(shù)據(jù)服 務(wù)器中的數(shù)據(jù)信息保持一致。其中,需要指出的是,數(shù)據(jù)同步操作的啟動時間可以是在管理服務(wù)器收到數(shù)據(jù)同 步請求后直接進(jìn)行啟動,也可以是在管理服務(wù)器判斷發(fā)生變化的數(shù)據(jù)的總量達(dá)到預(yù)設(shè)的閾 值后,才統(tǒng)一進(jìn)行數(shù)據(jù)同步操作,這樣的變化并不影響本申請的保護(hù)范圍。方案三、由應(yīng)用服務(wù)器向管理服務(wù)器請求發(fā)起數(shù)據(jù)服務(wù)器和備份服務(wù)器之間的數(shù) 據(jù)同步操作在具體的應(yīng)用過程中,如果應(yīng)用服務(wù)器對數(shù)據(jù)服務(wù)器中的數(shù)據(jù)進(jìn)行操作的過程 中,發(fā)現(xiàn)數(shù)據(jù)信息錯誤,或直接判斷不能對目標(biāo)數(shù)據(jù)信息進(jìn)行讀取,則判斷該數(shù)據(jù)信息需要 更新,從而向管理服務(wù)器請求發(fā)起數(shù)據(jù)服務(wù)器和備份服務(wù)器之間的數(shù)據(jù)同步操作。其中,需要指出的是,數(shù)據(jù)同步操作的啟動時間可以是在管理服務(wù)器接收到應(yīng)用 服務(wù)器發(fā)送的同步請求之后直接進(jìn)行啟動,也可以是在管理服務(wù)器判斷發(fā)生變化的數(shù)據(jù)的 總量達(dá)到預(yù)設(shè)的閾值后,才統(tǒng)一進(jìn)行數(shù)據(jù)同步操作,這樣的變化并不影響本申請的保護(hù)范 圍。通過上述的操作流程,可以在系統(tǒng)中為各數(shù)據(jù)服務(wù)器建立相應(yīng)的備份服務(wù)器,并 通過相應(yīng)的數(shù)據(jù)更新機制保證數(shù)據(jù)服務(wù)器和備份服務(wù)器之間的數(shù)據(jù)信息保持一致。在建立了備份服務(wù)器的基礎(chǔ)上,當(dāng)管理服務(wù)器或應(yīng)用服務(wù)器判斷數(shù)據(jù)服務(wù)器中的 數(shù)據(jù)不能被訪問時,管理服務(wù)器將數(shù)據(jù)服務(wù)器中的數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識中所包含的數(shù)據(jù) 的地址信息變更為數(shù)據(jù)服務(wù)器所對應(yīng)的備份服務(wù)器的地址信息。通過這樣的處理,當(dāng)后續(xù)再接到對于相應(yīng)數(shù)據(jù)的操作請求時,管理服務(wù)器返回的 將是變更后的數(shù)據(jù)標(biāo)識,相應(yīng)的應(yīng)用服務(wù)器將通過更改后的地址向備份服務(wù)器獲取相應(yīng)的 數(shù)據(jù)信息,從而,保證具體的應(yīng)用進(jìn)程不會因為數(shù)據(jù)不能訪問而中斷。步驟S102、應(yīng)用服務(wù)器向管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識。在具體的應(yīng)用場景中,本步驟具體包括以下兩種情況情況一、當(dāng)應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問目標(biāo)數(shù)據(jù)時,應(yīng)用服務(wù)器向管理服務(wù)器請求目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識,并接收管理服務(wù)器所返回的目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。這種情況的數(shù)據(jù)標(biāo)識獲取請求的針對性比較強,需要對指定的目標(biāo)數(shù)據(jù)進(jìn)行數(shù)據(jù) 標(biāo)識獲取操作,所獲取的數(shù)據(jù)標(biāo)識的范圍僅限于目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,而對其他數(shù) 據(jù)的數(shù)據(jù)標(biāo)識則不會進(jìn)行獲取,因此,在進(jìn)行數(shù)據(jù)標(biāo)識的獲取時,應(yīng)用服務(wù)器向管理服務(wù)器 發(fā)送的獲取請求中需要攜帶目標(biāo)數(shù)據(jù)的指示信息,例如目標(biāo)數(shù)據(jù)在當(dāng)前系統(tǒng)中的數(shù)據(jù)編號 或數(shù)據(jù)名稱等,凡是可以實現(xiàn)對當(dāng)前系統(tǒng)中的海量數(shù)據(jù)進(jìn)行區(qū)分的信息形式,都可以作為 指示信息,具體的指示信息的類型變化并不會影響本申請的保護(hù)范圍。情況二、當(dāng)應(yīng)用服務(wù)器初始化時,應(yīng)用服務(wù)器向管理服務(wù)器獲取系統(tǒng)當(dāng)前所有數(shù) 據(jù)的數(shù)據(jù)標(biāo)識,并在本地存儲,當(dāng)應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問目標(biāo)數(shù)據(jù)時,應(yīng)用服務(wù) 器在本地讀取目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。這種情況的數(shù)據(jù)標(biāo)識獲取是一次性的,在應(yīng)用服務(wù)器初始化時,一次性的向管理 服務(wù)器獲取所有當(dāng)前數(shù)據(jù)的數(shù)據(jù)標(biāo)識,并且在本地進(jìn)行存儲。這樣處理的好處在于,應(yīng)用服務(wù)器發(fā)起數(shù)據(jù)操作時,直接可以根據(jù)本地存儲的數(shù) 據(jù)標(biāo)識找到相應(yīng)的數(shù)據(jù)信息,而不再需要與管理服務(wù)器進(jìn)行信息交互,節(jié)約了信息交互的 時間,提高了相應(yīng)的處理效率。但是這樣的方案需要應(yīng)用服務(wù)器中提供相應(yīng)的數(shù)據(jù)標(biāo)識的存儲空間,以保證獲取 到的全部數(shù)據(jù)標(biāo)識都能夠存儲在相應(yīng)的空間中,由于數(shù)據(jù)標(biāo)識的大小都很有限,所以,并不 會造成太大的存儲負(fù)擔(dān),但是否應(yīng)用此種方案需要根據(jù)具體的應(yīng)用場景來衡量。上述兩種方式都可以實現(xiàn)數(shù)據(jù)標(biāo)識信息的獲取,具體應(yīng)用哪種方式并不影響本申 請的保護(hù)范圍。在通過上述的方式獲取到數(shù)據(jù)標(biāo)識后,本申請所提出的技術(shù)方案還進(jìn)一步包括被 獲取的數(shù)據(jù)標(biāo)識的更新流程,這個流程的設(shè)置目的在于被獲取的數(shù)據(jù)標(biāo)識可能會發(fā)生變 化,而如果應(yīng)用服務(wù)器只是獲取了變化前的數(shù)據(jù)標(biāo)識,那么,應(yīng)用服務(wù)器將不能進(jìn)行正常的 業(yè)務(wù)操作,從而影響系統(tǒng)中正常業(yè)務(wù)的實現(xiàn)。具體的,根據(jù)上述的目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識獲取方式的不同,后續(xù)的更新流程也存 在相應(yīng)的區(qū)別,具體說明如下如果目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識獲取方式對應(yīng)的是上述的情況一,即應(yīng)用服務(wù)器是在需 要訪問目標(biāo)數(shù)據(jù)時,才向管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,那么,當(dāng)管理服務(wù)器 判斷目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識發(fā)生變化(例如,由于數(shù)據(jù)存儲位置的變化,讀寫權(quán)限的變化以 及數(shù)據(jù)本身的增加或刪除導(dǎo)致數(shù)據(jù)標(biāo)識中所存儲的信息發(fā)生調(diào)整)時,管理服務(wù)器向應(yīng)用 服務(wù)器發(fā)送包含新的數(shù)據(jù)標(biāo)識的通知消息,更新應(yīng)用服務(wù)器所獲取的目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo) 識。如果目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識獲取方式對應(yīng)的是上述的情況二,即應(yīng)用服務(wù)器是在初 始化時,向管理服務(wù)器獲取系統(tǒng)當(dāng)前所有數(shù)據(jù)的數(shù)據(jù)標(biāo)識,那么,當(dāng)管理服務(wù)器判斷系統(tǒng)中 當(dāng)前的數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識發(fā)生變化,或有新的數(shù)據(jù)信息加入系統(tǒng)時,管理服務(wù)器向應(yīng) 用服務(wù)器發(fā)送包含更新的數(shù)據(jù)的數(shù)據(jù)標(biāo)識或新加入的數(shù)據(jù)的數(shù)據(jù)標(biāo)識的通知消息,更新應(yīng) 用服務(wù)器所獲取的系統(tǒng)當(dāng)前全部數(shù)據(jù)的數(shù)據(jù)標(biāo)識。步驟S103、應(yīng)用服務(wù)器根據(jù)數(shù)據(jù)標(biāo)識中所包含的目標(biāo)數(shù)據(jù)的地址信息訪問目標(biāo)數(shù) 據(jù),并根據(jù)數(shù)據(jù)標(biāo)識中所包含的目標(biāo)數(shù)據(jù)的讀寫權(quán)限,對目標(biāo)數(shù)據(jù)進(jìn)行相應(yīng)的操作。
對應(yīng)前述的兩種情況,本步驟的具體處理過程包括對應(yīng)情況一,應(yīng)用服務(wù)器向管理服務(wù)器獲取數(shù)據(jù)標(biāo)識,并根據(jù)獲取到的目標(biāo)數(shù)據(jù) 的數(shù)據(jù)標(biāo)識中所包含的地址信息查詢到相應(yīng)的數(shù)據(jù)存儲位置,并進(jìn)一步根據(jù)獲取到的目標(biāo) 數(shù)據(jù)的數(shù)據(jù)標(biāo)識中所包含的讀寫權(quán)限信息判斷目標(biāo)數(shù)據(jù)是否可以實現(xiàn)對應(yīng)的操作,如果判 斷結(jié)果成立,則直接進(jìn)行相應(yīng)的操作,如果判斷結(jié)果不成立,則判斷相應(yīng)的操作失敗。對應(yīng)情況二,應(yīng)用服務(wù)器直接查詢本地存儲的數(shù)據(jù)標(biāo)識,并根據(jù)本地存儲的目標(biāo) 數(shù)據(jù)的數(shù)據(jù)標(biāo)識中所包含的地址信息查詢到相應(yīng)的數(shù)據(jù)存儲位置,并進(jìn)一步根據(jù)獲取到的 目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識中所包含的讀寫權(quán)限信息判斷目標(biāo)數(shù)據(jù)是否可以實現(xiàn)對應(yīng)的操作,如 果判斷結(jié)果成立,則直接進(jìn)行相應(yīng)的操作,如果判斷結(jié)果不成立,則判斷相應(yīng)的操作失敗。與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案具有以下優(yōu)點通過應(yīng)用本申請實施例的技術(shù)方案,可以在系統(tǒng)的數(shù)據(jù)中添加數(shù)據(jù)標(biāo)識,標(biāo)識出 該數(shù)據(jù)的地址信息和讀寫權(quán)限信息,從而可以實現(xiàn)數(shù)據(jù)庫信息的分表分庫管理,并可以根 據(jù)系統(tǒng)中的數(shù)據(jù)庫管理策略進(jìn)行相應(yīng)的信息調(diào)度,提高系統(tǒng)中的數(shù)據(jù)信息管理效率。為了更加清楚的說明本申請的技術(shù)方案,首先,對分表分庫技術(shù)進(jìn)行相應(yīng)的闡述。在具體的應(yīng)用場景中,負(fù)載高點可能考慮使用相關(guān)的R印Iication (復(fù)制)機制來 提高讀寫的吞吐和性能,這可能已經(jīng)可以滿足很多需求,但這套機制自身的缺陷還是比較 顯而易見的。首先,上述的R印Iication機制的有效依賴于讀操作的比例,Master Server (主 服務(wù)器)往往會成為瓶頸所在,寫操作需要順序排隊來執(zhí)行,過載的話Master krver首先 會出現(xiàn)不能承受當(dāng)前負(fù)載的狀況,Slaves Server (從服務(wù)器)的數(shù)據(jù)同步的延遲也可能比 較大,而且會大大耗費CPU的計算能力,因為寫操作在Master Server上執(zhí)行以后,還是需 要在每臺Slave krver上都執(zhí)行一次。這時候,可以通過開源數(shù)據(jù)庫技術(shù)中的Siarding 技術(shù)將計算、存儲、I/O等并行的分發(fā)到多臺設(shè)備上,這樣可以充分利用多臺機器各種處理 能力,同時可以避免單點失敗,提供系統(tǒng)的可用性,進(jìn)行很好的錯誤隔離。綜合以上因素,數(shù)據(jù)切分就變得十分必要,具體的數(shù)據(jù)切分包括以下兩種情況(1)分庫處理技術(shù)數(shù)據(jù)切分可以是物理上的,對數(shù)據(jù)通過一系列的切分規(guī)則將 數(shù)據(jù)分布到不同的數(shù)據(jù)庫服務(wù)器(Data Base Server,DB Server)上,通過路由規(guī)則路由訪 問特定的數(shù)據(jù)庫,這樣一來,每次訪問操作所面對的就不是單臺服務(wù)器,而是多臺服務(wù)器, 這樣的處理可以降低單臺機器的負(fù)載壓力。(2)分表處理技術(shù)數(shù)據(jù)切分也可以是數(shù)據(jù)庫內(nèi)的,對數(shù)據(jù)通過一系列的切分規(guī) 則,將數(shù)據(jù)分布到一個數(shù)據(jù)庫的不同表中,比如,將一個article表劃分為article_001, article_002等多個子表,若干個子表水平拼合組成了邏輯上一個完整的article表。這樣處理的作用通過以下示例進(jìn)行說明假設(shè)一個article表中現(xiàn)在有5000萬條數(shù)據(jù),此時,系統(tǒng)需要在這個article表 中增加(insert) —條新的數(shù)據(jù)。如果不進(jìn)行分表處理,insert操作完畢后,數(shù)據(jù)庫會針對這張表重新建立索引,對 于5000萬行數(shù)據(jù)建立索引的系統(tǒng)開銷是十分巨大的。但是反過來,如果進(jìn)行了分表處理,預(yù)先將article表分為了 100個子表,從 article_001 一直到article_100,那么,5000萬行數(shù)據(jù)平均下來,每個子表里邊就只有50萬行數(shù)據(jù),因此,對于同樣的insert操作,只需要向一張只有50萬行數(shù)據(jù)的子表中進(jìn)行數(shù) 據(jù)添加操作,并且數(shù)據(jù)添加完畢后,建立索引的時間也會因為所處理數(shù)據(jù)量的大幅下降而 呈數(shù)量級的降低,從而,提高了數(shù)據(jù)庫的運行時效率,提高了數(shù)據(jù)庫的并發(fā)量。當(dāng)然,分表處理的好處不僅包括以上的處理效率的提高,在諸如寫操作的鎖操作 等諸多領(lǐng)域,都可以通過應(yīng)用分表技術(shù)對數(shù)據(jù)庫進(jìn)行處理,從而帶來很多有益的效果。綜上所述,分庫技術(shù)的實現(xiàn)降低了單點機器的負(fù)載,而分表技術(shù)的應(yīng)用則提高了 數(shù)據(jù)操作的效率,尤其是提高了寫操作的效率,進(jìn)一步的,本申請通過以下說明對切分規(guī)則 進(jìn)行詳盡的闡述。首先,為了實現(xiàn)數(shù)據(jù)的水平切分,在每一個表中都要有相冗余字符作為切分依據(jù) 和標(biāo)記字段,通常的應(yīng)用中,可以選用uSer_id作為區(qū)分字段,基于這種設(shè)置,可以進(jìn)一步 的提出如下三種分庫的方式和規(guī)則按號段分(1)以user_id為區(qū)分依據(jù)。例如將user_id為1 1000的表對應(yīng)DBl (數(shù)據(jù)庫1),將user_id為1001 2000的表對應(yīng)DB2 (數(shù)據(jù)庫2),并以此類推。其中的userjd分配區(qū)間可以根據(jù)具體的需 要進(jìn)行調(diào)整,這樣的變化并不會影響本申請的保護(hù)范圍。(2)通過哈希(hash)算法進(jìn)行取模區(qū)分對user_id進(jìn)行hash處理(或者如果user_id是數(shù)值型的話直接使用user_id 的值也可),然后用一個特定的數(shù)字進(jìn)行進(jìn)一步處理計算。比如,應(yīng)用中需要將一個數(shù)據(jù)庫切分成4個數(shù)據(jù)庫的話,就用4這個數(shù)字對USer_ id的hash值進(jìn)行取模運算,也就是USer_id% 4,這樣的話每次運算就有四種可能結(jié)果為1的時候?qū)?yīng)DBl ;結(jié)果為2的時候?qū)?yīng)DB2 ;結(jié)果為3的時候?qū)?yīng)DB3 ;結(jié)果為0的時候?qū)?yīng)DB4。由于進(jìn)行hash處理時的數(shù)據(jù)分配頻率是均勻的,因此,可以非常均勻的將數(shù)據(jù)分 配到4個DB中。(3)在認(rèn)證庫中保存數(shù)據(jù)庫配置就是建立一個數(shù)據(jù)庫作為認(rèn)證庫,這個認(rèn)證庫單獨保存了各個user_id到各個DB 的映射關(guān)系,因此,每次訪問數(shù)據(jù)庫的時候都要先查詢一次這個認(rèn)證庫,以得到具體的DB 信息,然后才能進(jìn)行具體的操作處理。以上三種方式是通常的開發(fā)所選擇的三種方式,不同的項目會進(jìn)行不同的方案選 擇,有些復(fù)雜的項目中可能會混合使用這三種方式?;谏鲜龅募夹g(shù)思想和方案細(xì)節(jié),分布式數(shù)據(jù)方案提供功能如下(1)提供分庫規(guī)則和路由規(guī)則(Route Rule,RR),將上面的說明中提到的三種切分 規(guī)則直接內(nèi)嵌入系統(tǒng)中,具體的嵌入方式在接下來的內(nèi)容中進(jìn)行詳細(xì)的說明和論述。(2)引入集群(Group)的概念,保證數(shù)據(jù)的高可用性。(3)引入負(fù)載均衡策略(Load Balance Policy,LBP)。(4)引入集群節(jié)點可用性探測機制,對單點機器的可用性進(jìn)行定時的偵測,以保證LB策略的正確實施,以確保系統(tǒng)的高度穩(wěn)定性。(5)引入讀/寫分離,提高數(shù)據(jù)的查詢速度。在具體的應(yīng)用場景中,僅僅是通過分庫分表處理的數(shù)據(jù)層設(shè)計也是不夠完善的。比如,當(dāng)某個節(jié)點上的數(shù)據(jù)庫服務(wù)器出現(xiàn)了宕機或其他不能工作的情況時,由于 采用了數(shù)據(jù)庫切分方案,也就是說有N臺機器共同組成了一個完整的數(shù)據(jù)庫,如果其中有 一臺機器宕機的話,也僅僅是一個數(shù)據(jù)庫的N分之一的數(shù)據(jù)不能訪問而已,這種情況顯然 好于切分之前的情況,不至于讓整個數(shù)據(jù)庫都不能訪問,但畢竟還是存在單點中的部分?jǐn)?shù) 據(jù)庫無法訪問的情況。雖然在實際應(yīng)用中這樣的不足是可以接受的,但是,錯誤本身的存在 卻是不容忽視的,尤其是當(dāng)應(yīng)用的直接目的數(shù)據(jù)庫就是發(fā)生故障的單點數(shù)據(jù)庫時,所帶來 的損失將是不容忽視的,也就是說,即使應(yīng)用了分表分庫技術(shù),具體應(yīng)用場景中的容錯性能 還是存在缺陷。因此,本申請引入了集群的概念來解決相應(yīng)的問題,也就是將每一個分庫的節(jié)點 引入多臺服務(wù)器設(shè)備,在每臺服務(wù)器設(shè)備中保存的數(shù)據(jù)是一樣的,一般情況下,這多臺服務(wù) 器設(shè)備分擔(dān)負(fù)載,而當(dāng)其中的某臺服務(wù)器設(shè)備出現(xiàn)宕機情況時,負(fù)載均衡器將該臺服務(wù)器 設(shè)備的負(fù)載分配給其他服務(wù)器設(shè)備。這樣一來,就解決了容錯性的問題,即使在單點服務(wù)器 設(shè)備出現(xiàn)故障時,也不會對數(shù)據(jù)庫中的數(shù)據(jù)信息造成損失,從而,保證系統(tǒng)中數(shù)據(jù)業(yè)務(wù)的正 常實現(xiàn)。如圖2所示,整個數(shù)據(jù)層有Group 1,Group2, Group3三個集群組成,這三個集群就 是數(shù)據(jù)水平切分的結(jié)果,當(dāng)然這三個集群也就組成了一個包含完整數(shù)據(jù)的數(shù)據(jù)庫。每一個 Group包括一個Master Server (當(dāng)然,在實際的應(yīng)用場景中,Master Server也可以是多 個)和多個Slave Server,這些Master Server和Slave Server的數(shù)據(jù)是一致的。比如,Groupl中的一個Slave krver發(fā)生了宕機現(xiàn)象,那么,在該Group中,還有 兩個Slave krver是可以用的,而由于各Slave krver中的數(shù)據(jù)是一致的,因此,不會對 正常的數(shù)據(jù)庫操作造成影響,不會出現(xiàn)某部分?jǐn)?shù)據(jù)不能訪問的問題,除非整個Group里的 機器全部宕掉,但是在實際的應(yīng)用場景中,出現(xiàn)這種故障的概率很小。在沒有引入集群劃分的操作規(guī)則以前,一次查詢的過程大致如下請求數(shù)據(jù)層,并 傳遞必要的分庫區(qū)分字段(通常情況下是uSer_id),數(shù)據(jù)層根據(jù)區(qū)分字段路由到具體的數(shù) 據(jù)庫,并在這個確定的數(shù)據(jù)庫中進(jìn)行相應(yīng)的進(jìn)行數(shù)據(jù)操作。而引入集群劃分的操作規(guī)則的情況下,路由器上所配置的具體規(guī)則和策略只能將 操作指令路由到具體的Group中,也就是只能路由到一個虛擬的Group中,這個Group并不 是某個特定的某個物理的數(shù)據(jù)庫服務(wù)器,而是由多個物理的數(shù)據(jù)庫服務(wù)器所組成的虛擬集群。接下來,需要查找具體的物理的數(shù)據(jù)庫服務(wù)器,以進(jìn)行具體的數(shù)據(jù)操作?;谶@個 環(huán)節(jié)的需求,引入了負(fù)載均衡器(Load Balance,LB)的概念,負(fù)載均衡器的職責(zé)就是將具體 的操作指令定位到一臺具體的數(shù)據(jù)庫服務(wù)器。具體的規(guī)則如下負(fù)載均衡器會分析當(dāng)前操作指令的讀寫特性,如果是寫操作或 者是要求實時性很強的操作,直接將操作指令分配到Master Server,而如果是讀操作,則 通過負(fù)載均衡策略,將操作指令分配到一個Slave Server中。通常情況下,負(fù)載均衡包括隨機負(fù)載均衡和加權(quán)負(fù)載均衡。
隨機負(fù)載均衡就是從N個Slave Server中隨機選取一個Slave Server。這樣的 隨機負(fù)載均衡是不考慮機器性能的,默認(rèn)為每臺服務(wù)器設(shè)備的性能是一樣的。但是,對于每個Slave Server的機器物理性能和配置不一樣的情況,再使用隨機 的不考慮性能的負(fù)載均衡,是非常不科學(xué)的,這樣一來會給機器性能差的機器帶來不必要 的高負(fù)載,甚至帶來宕機的危險,同時高性能的數(shù)據(jù)庫服務(wù)器也不能充分發(fā)揮其物理性能。基于此考慮,進(jìn)一步的引入了加權(quán)負(fù)載均衡,也就是通過一定的接口,給每臺數(shù)據(jù) 庫服務(wù)器分配一個權(quán)值,然后,在運行時,由負(fù)載均衡器根據(jù)權(quán)值在集群中的比重,分配一 定比例的負(fù)載給該數(shù)據(jù)庫服務(wù)器。有了分庫,有了集群,有了負(fù)載均衡器,但是這樣的設(shè)計并不能完全規(guī)避數(shù)據(jù)庫宕 機的危害。例如,Groupl中的Slave Server 2宕機了,那么,系統(tǒng)的負(fù)載均衡器并不能得知, 這樣的話其實是很危險的,因為負(fù)載均衡器不知道,還會以為SlaveServer 2為可用狀態(tài), 所以,還是會給Slave Server 2分配負(fù)載。這樣一來,客戶端便會發(fā)生數(shù)據(jù)操作失敗的錯 誤或者異常。為了應(yīng)對上述不足,本申請進(jìn)一步引入了集群節(jié)點的可用性探測機制,或者可用 性數(shù)據(jù)推送機制。首先,可用性探測機制就是數(shù)據(jù)層客戶端不定時的對集群中各個數(shù)據(jù)庫進(jìn)行 可用性的嘗試,實現(xiàn)原理就是嘗試性鏈接,或者數(shù)據(jù)庫端口的嘗試性訪問,當(dāng)然也可以 用JDBC(Java Data Base Connectivity, Java數(shù)據(jù)庫連接)嘗試性鏈接,利用Java的 Exception機制進(jìn)行可用性的判斷,具體嘗試形式的變化并不會影響本申請的保護(hù)范圍。一般情況下,當(dāng)前應(yīng)用的數(shù)據(jù)庫服務(wù)器宕機的話,數(shù)據(jù)庫管理員(Database Administrator, DBA)肯定是可以知道的,這個時候,DBA可以手動的將數(shù)據(jù)庫的當(dāng)前狀態(tài) 通過程序的方式推送到客戶端,也就是分布式數(shù)據(jù)層的應(yīng)用端,更新一個本地的數(shù)據(jù)庫狀 態(tài)的列表,并告知負(fù)載均衡器,這個數(shù)據(jù)庫節(jié)點不能使用,請不要給它分配負(fù)載。上述的兩種監(jiān)聽策略,一個是主動的監(jiān)聽機制,一個是被動的被告知的機制,兩者 各有所長,但是都可以達(dá)到同樣的效果。這樣一來,可以有效的避免上述的假設(shè)中所存在問 題。對于上述的說明文字中提到的Master krver和Slave Server,具體分布關(guān)系如 圖 2 所不, IvGroup 由 1 個Master Server 禾口 N個 Slave krver組成。其中 ,MasterServer 負(fù)責(zé)寫操作的負(fù)載,也就是說一切寫的操作都在Master krver上進(jìn)行,而讀的操作則分?jǐn)?到Slave Server上進(jìn)行。這樣一來的可以大大提高讀取的效率。在一般的互聯(lián)網(wǎng)應(yīng)用中,經(jīng)過一些數(shù)據(jù)調(diào) 查得出結(jié)論,讀/寫的比例大概在10 1左右,也就是說大量的數(shù)據(jù)操作是集中在讀的操 作。在具體的應(yīng)用場景中,寫操作涉及到鎖的問題,并且,無論是行鎖、表鎖還是塊鎖, 都會造成系統(tǒng)執(zhí)行效率降低的情況,將寫操作獨立的部署于Master krver中,可以有效的 規(guī)避寫操作對其他服務(wù)器的效率影響,而由于大量的寫操作沒有分配給Master Server,所 以,Master krver可以有更多的系統(tǒng)資源用于進(jìn)行寫操作,從而,提高寫操作的處理效率。在本申請所提出的技術(shù)方案中,讀寫分離是把寫操作集中在一個節(jié)點上,而讀操作在其他的N個節(jié)點上進(jìn)行,從另一個方面,本技術(shù)方案可以有效的提高讀操作的效率,保 證了系統(tǒng)的高可用性。對于上述的技術(shù)方案,系統(tǒng)的實現(xiàn)層面有兩種選擇一種是基于JDBC層面上的選擇。一種是基于現(xiàn)有數(shù)據(jù)持久層框架層面上的選擇,比如hibernate、iBATIS等。基于JDBC層面上的系統(tǒng)實現(xiàn),系統(tǒng)開發(fā)難度和后期的使用難度都將大大提高,大 大增加了系統(tǒng)的開發(fā)費用和維護(hù)費用。本申請所提出的實施例所提出的技術(shù)方案的定位是在成型的iBATIS持久層框架 的基礎(chǔ)上進(jìn)行上層的封裝,而不是對iBATIS源碼的直接修改,這樣一來,不會使本系統(tǒng)對 現(xiàn)有的框架具有太多的侵入性,并且,也增加了使用的靈活性。之所以選擇iBATIS,原因如下(l)iBATIS的學(xué)習(xí)成本非常低,熟練的Java Programmer可在非常的短時間內(nèi)熟 練使用iBATIS。O) iBATIS 是輕量級的 ORM(Object/Relation Mapping,對象 / 關(guān)系映射),只是簡 單的完成了 RO (Relation-Object,關(guān)系-對象),OR (Object-Relation,對象-關(guān)系)的映 射,其查詢語句也是通過配置文件(例如,sql-map. xml文件)在原生的SQL的結(jié)構(gòu)層面進(jìn) 行簡單的配置。也就是說,實現(xiàn)上述的技術(shù)方案無需引入諸如Hibernate那樣的HQL(Hibernate Query Language)的概念,從而增強了 SQL的可控性,因此,數(shù)據(jù)庫管理員可以從SQL的層面 對SQL進(jìn)行優(yōu)化,使數(shù)據(jù)層的應(yīng)用有很強的可控性。與之相對的,Hibernate的功能雖然很強大,但是由于Hibernate是OR的一個重 型封裝,且引入HQL的概念,不便于數(shù)據(jù)庫管理員團(tuán)隊對SQL語句的控制和性能的調(diào)優(yōu)。基于以上兩點理由,本申請的實施例在ORM的產(chǎn)品的選擇上選擇了易學(xué)易用且輕 量級的持久層框架iBATIS。下面的說明也都是特定于iBATIS的基礎(chǔ)上的討論,但是,并不 是說本申請的技術(shù)方案只能基于iBATIS場景進(jìn)行,只是為了便于說明而將后續(xù)的處理場 景具體為iBATIS場景,具體應(yīng)用場景的變化并不會影響本申請的保護(hù)范圍。在一些大型的Java應(yīng)用中,通常會采用Spring這樣的開源框架,尤其是 IoCdnversion of Control,控制反轉(zhuǎn))這部分,有效的幫助開發(fā)人員管理對象的依賴關(guān)系 和層次,降低系統(tǒng)各層次之間的實體耦合。上述的技術(shù)方案的系統(tǒng)構(gòu)建工具包括構(gòu)建工具Antx (類似于Maven)和Maven, 而依賴的開源 Jar 包括 Spring2. O、iBATIS、commons-configuration(讀取配置文件)、 log4j、junit 等。數(shù)據(jù)源本身在Java中是沒有特殊標(biāo)記的,通過對數(shù)據(jù)源的標(biāo)記,從而能夠?qū)?shù)據(jù) 源進(jìn)行描述,例如描述該數(shù)據(jù)源是否支持可寫操作。本申請實施例的技術(shù)方案擴展iBATIS的分析特性,提供在項目啟動的時候?qū)λ?有的SQL語句進(jìn)行一個當(dāng)前讀寫性能的分析,并將分析結(jié)果緩存到本地內(nèi)存中,大大提高 了性能。通過配置中心,推送給應(yīng)用需要的數(shù)據(jù)庫分表分庫信息。應(yīng)用在執(zhí)行某條SQL的 時候,會根據(jù)該SQL操作所對應(yīng)的表,以及配置中心推送的分庫分表信息,得到該表的分庫依據(jù),再據(jù)此獲得真正的數(shù)據(jù)庫的位置信息,從而對真正的目標(biāo)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫操作。進(jìn)一步的,對應(yīng)圖3,對本申請的具體技術(shù)方案在具體的應(yīng)用場景中的實現(xiàn)過程進(jìn) 行詳細(xì)的說明,其中,圖3具體為本申請實施例所提供的一種數(shù)據(jù)庫信息管理方法的應(yīng)用 場景的結(jié)構(gòu)示意圖。在具體的實施場景中,如圖4所示,為本申請實施例所提供的一種數(shù)據(jù)庫信息管 理方法的的流程示意圖,具體包括以下步驟步驟S401、Web應(yīng)用向業(yè)務(wù)中心發(fā)送應(yīng)用操作請求。在實際的應(yīng)用場景中,如圖3所示,Web應(yīng)用具體包括博客(Blog)、論壇(Bulletin Board System, BBS)、相冊等需要借助Web和相對應(yīng)的數(shù)據(jù)庫支持來實現(xiàn)的應(yīng)用。用戶可以通過上述的各種Web應(yīng)用進(jìn)行數(shù)據(jù)的發(fā)布和瀏覽,這樣的基礎(chǔ)在于該 Web應(yīng)用具有一個相對應(yīng)的數(shù)據(jù)庫服務(wù)器進(jìn)行數(shù)據(jù)支持,用戶發(fā)布的數(shù)據(jù)存儲于數(shù)據(jù)庫中, 而數(shù)據(jù)庫中所存儲的數(shù)據(jù)則可以被滿足權(quán)限要求的用戶進(jìn)行讀取瀏覽或者編輯修改。步驟S402、業(yè)務(wù)中心向管理服務(wù)器請求應(yīng)用操作請求的目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo) 識。步驟S403、業(yè)務(wù)中心向管理服務(wù)器接收應(yīng)用操作請求的目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo) 識。其中,數(shù)據(jù)標(biāo)識中包含目標(biāo)數(shù)據(jù)的位置信息和讀寫權(quán)限信息。步驟S404、業(yè)務(wù)中心根據(jù)獲取到的數(shù)據(jù)標(biāo)識判斷是否可以對目標(biāo)數(shù)據(jù)進(jìn)行與應(yīng)用 操作請求相對應(yīng)的業(yè)務(wù)操作。具體的判斷依據(jù)包括目標(biāo)數(shù)據(jù)的位置信息是否為有效地址,例如位置信息所對應(yīng)的數(shù)據(jù)服務(wù)器是否 存在或是否處于可用狀態(tài),如果該數(shù)據(jù)服務(wù)器不存在或當(dāng)前由于業(yè)務(wù)繁忙而暫時不可訪 問,那么,則判斷為不可以對目標(biāo)數(shù)據(jù)進(jìn)行與應(yīng)用操作請求相對應(yīng)的業(yè)務(wù)操作。目標(biāo)數(shù)據(jù)的讀寫權(quán)限信息與應(yīng)用操作請求的類型是否一致,例如如果應(yīng)用操作 請求的類型為寫入請求,而目標(biāo)數(shù)據(jù)的讀寫權(quán)限為只允許讀操作,因此,不能對目標(biāo)數(shù)據(jù)進(jìn) 行寫入操作,那么,則判斷為不可以對目標(biāo)數(shù)據(jù)進(jìn)行與應(yīng)用操作請求相對應(yīng)的業(yè)務(wù)操作。如果判斷結(jié)果為否,則執(zhí)行步驟S405 ;如果判斷結(jié)果為是,則執(zhí)行步驟S406。步驟S405、業(yè)務(wù)中心向Web應(yīng)用返回應(yīng)用操作請求失敗的通知消息。步驟S406、業(yè)務(wù)中心向目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)服務(wù)器集群發(fā)送操作指令。步驟S407、數(shù)據(jù)服務(wù)器集群中相對應(yīng)的數(shù)據(jù)服務(wù)器對目標(biāo)數(shù)據(jù)執(zhí)行相應(yīng)的操作處理。具體的,當(dāng)對目標(biāo)數(shù)據(jù)的操作指令為寫操作時,可以由該數(shù)據(jù)服務(wù)器集群中的主 服務(wù)器執(zhí)行;當(dāng)對目標(biāo)數(shù)據(jù)的操作指令為讀操作時,可以由該數(shù)據(jù)服務(wù)器集群中的從服務(wù)器執(zhí) 行。與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案具有以下優(yōu)點通過應(yīng)用本申請實施例的技術(shù)方案,可以在系統(tǒng)的數(shù)據(jù)中添加數(shù)據(jù)標(biāo)識,標(biāo)識出 該數(shù)據(jù)的地址信息和讀寫權(quán)限信息,從而可以實現(xiàn)數(shù)據(jù)庫信息的分表分庫管理,并可以根據(jù)系統(tǒng)中的數(shù)據(jù)庫管理策略進(jìn)行相應(yīng)的信息調(diào)度,提高系統(tǒng)中的數(shù)據(jù)信息管理效率。為了實現(xiàn)上述的本申請實施例所提出的技術(shù)方案,本申請實施例還提出了一種應(yīng) 用服務(wù)器,應(yīng)用于包括一個管理服務(wù)器、一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器的系統(tǒng)中,管理 服務(wù)器為數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,數(shù)據(jù)標(biāo)識包括數(shù)據(jù)的地址信息和數(shù)據(jù)的讀寫 權(quán)限。如圖5所示,為本申請實施例提出的一種應(yīng)用服務(wù)器的結(jié)構(gòu)示意圖,包括獲取模塊51,用于向管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識。在具體的應(yīng)用場景中,獲取模塊51具體包括設(shè)置子模塊511,用于設(shè)置獲取數(shù)據(jù)標(biāo)識的策略。獲取子模塊512,與設(shè)置子模塊511相連接,用于根據(jù)設(shè)置子模塊511所設(shè)置的獲 取數(shù)據(jù)標(biāo)識的策略,向管理服務(wù)器獲取目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。在具體的應(yīng)用場景中,設(shè)置子模塊511所設(shè)置的獲取數(shù)據(jù)標(biāo)識的策略包括以下兩 種情況情況一、當(dāng)應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問目標(biāo)數(shù)據(jù)時,向管理服務(wù)器請求目 標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。這種情況的數(shù)據(jù)標(biāo)識獲取請求的針對性比較強,需要對指定的目標(biāo)數(shù)據(jù)進(jìn)行數(shù)據(jù) 標(biāo)識獲取操作,所獲取的數(shù)據(jù)標(biāo)識的范圍為一個或多個目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,因此, 在獲取子模塊512進(jìn)行數(shù)據(jù)標(biāo)識的獲取時,向管理服務(wù)器發(fā)送的獲取請求中需要攜帶目標(biāo) 數(shù)據(jù)的指示信息,具體的指示信息的類型變化并不會影響本申請的保護(hù)范圍。情況二、當(dāng)應(yīng)用服務(wù)器初始化時,向管理服務(wù)器獲取系統(tǒng)當(dāng)前所有數(shù)據(jù)的數(shù)據(jù)標(biāo) 識。這種情況的數(shù)據(jù)標(biāo)識獲取是一次性的,在應(yīng)用服務(wù)器初始化時,一次性的向管理 服務(wù)器獲取所有當(dāng)前數(shù)據(jù)的數(shù)據(jù)標(biāo)識。在此種情況下,還需要將獲取到的系統(tǒng)當(dāng)前所有數(shù)據(jù)的數(shù)據(jù)標(biāo)識在本地進(jìn)行存 儲?;谏鲜鲆?,獲取模塊511還包括存儲子模塊513,與獲取子模塊512相連接,用于存儲獲取子模塊512所獲取的目 標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。這樣處理的好處在于,應(yīng)用服務(wù)器發(fā)起數(shù)據(jù)操作時,直接可以根據(jù)本地存儲的數(shù) 據(jù)標(biāo)識找到相應(yīng)的數(shù)據(jù)信息,而不再需要與管理服務(wù)器進(jìn)行信息交互,節(jié)約了信息交互的 時間,提高了相應(yīng)的處理效率。識別模塊52,與獲取模塊51相連接,用于識別獲取模塊51所獲取的數(shù)據(jù)標(biāo)識中所 包含的目標(biāo)數(shù)據(jù)的地址信息和讀寫權(quán)限。但是這樣的方案需要應(yīng)用服務(wù)器中提供相應(yīng)的數(shù)據(jù)標(biāo)識的存儲空間,以保證獲取 到的全部數(shù)據(jù)標(biāo)識都能夠存儲在相應(yīng)的空間中,由于數(shù)據(jù)標(biāo)識的大小都很有限,所以,并不 會造成太大的存儲負(fù)擔(dān),但是否應(yīng)用此種方案需要根據(jù)具體的應(yīng)用場景來衡量。上述兩種方式都可以實現(xiàn)數(shù)據(jù)標(biāo)識信息的獲取,具體應(yīng)用哪種方式并不影響本申 請的保護(hù)范圍。處理模塊53,與識別模塊52相連接,用于根據(jù)識別模塊52所識別的目標(biāo)數(shù)據(jù)的地址信息訪問目標(biāo)數(shù)據(jù),并根據(jù)識別模塊52所識別的目標(biāo)數(shù)據(jù)的讀寫權(quán)限,對目標(biāo)數(shù)據(jù)進(jìn)行 相應(yīng)的操作。在具體的應(yīng)用場景中,應(yīng)用服務(wù)器還包括通信模塊M,與獲取模塊51相連接,用于接收管理服務(wù)器發(fā)送的包含新的數(shù)據(jù)標(biāo) 識和/或新加入的數(shù)據(jù)的數(shù)據(jù)標(biāo)識的通知消息,更新獲取模塊51所獲取的目標(biāo)數(shù)據(jù)的數(shù)據(jù) 標(biāo)識或系統(tǒng)當(dāng)前全部數(shù)據(jù)的數(shù)據(jù)標(biāo)識。另一方面,本申請實施例還提供了一種管理服務(wù)器,應(yīng)用于包括一個管理服務(wù)器、 一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器的系統(tǒng)中,其結(jié)構(gòu)示意圖如圖6所示,包括設(shè)置模塊61,用于設(shè)置數(shù)據(jù)庫管理策略和讀寫負(fù)載調(diào)整策略。處理模塊62,與設(shè)置模塊61相連接,用于根據(jù)設(shè)置模塊61所設(shè)置的數(shù)據(jù)庫管理策 略和讀寫負(fù)載調(diào)整策略,將系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中。這樣的處理目的就是為了實現(xiàn)系統(tǒng)中數(shù)據(jù)的分表分庫處理,從而提高系統(tǒng)中的數(shù) 據(jù)負(fù)載分擔(dān)。標(biāo)識模塊63,與設(shè)置模塊61相連接,用于根據(jù)設(shè)置模塊61所設(shè)置的數(shù)據(jù)庫管理策 略和讀寫負(fù)載調(diào)整策略,為各數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,數(shù)據(jù)標(biāo)識包括數(shù)據(jù)的地 址信息和數(shù)據(jù)的讀寫權(quán)限。在具體的應(yīng)用場景中,多個數(shù)據(jù)服務(wù)器組成至少一個數(shù)據(jù)服務(wù)器群落,數(shù)據(jù)服務(wù) 器群落中包含一個主數(shù)據(jù)服務(wù)器和至少一個從數(shù)據(jù)服務(wù)器,處理模塊62根據(jù)設(shè)置模塊61 所設(shè)置的讀寫負(fù)載調(diào)整策略,將系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中,具體為處理模塊62根據(jù)設(shè)置模塊61所設(shè)置的系統(tǒng)中的數(shù)據(jù)的讀寫負(fù)載調(diào)整策略,將數(shù) 據(jù)分配給各數(shù)據(jù)服務(wù)器群落中相應(yīng)的數(shù)據(jù)服務(wù)器中;其中,讀寫負(fù)載調(diào)整策略中關(guān)于分別進(jìn)行讀寫操作的數(shù)據(jù)的分配規(guī)則包括處理模塊62將需要進(jìn)行寫操作的數(shù)據(jù)分配到各數(shù)據(jù)服務(wù)器群落中的主數(shù)據(jù)服務(wù) 器中;處理模塊62將需要進(jìn)行讀操作的數(shù)據(jù)分配到各數(shù)據(jù)服務(wù)器群落中的從數(shù)據(jù)服務(wù) 器中。需要指出的是,上述的兩種分配規(guī)則對數(shù)據(jù)的操作類型范圍要求不同,對于存儲 于主數(shù)據(jù)服務(wù)器中的數(shù)據(jù),為具有寫操作需求的數(shù)據(jù),但是存儲于主數(shù)據(jù)服務(wù)器中的數(shù)據(jù) 同樣可以進(jìn)行讀操作,但是,與之相對的,對于存儲于從數(shù)據(jù)服務(wù)器中的數(shù)據(jù),為具有讀操 作需求的數(shù)據(jù),但是存儲于從數(shù)據(jù)服務(wù)器中的數(shù)據(jù)只能進(jìn)行讀操作,而不能進(jìn)行寫操作。這樣進(jìn)行數(shù)據(jù)分配的的好處在于將需要進(jìn)行較大處理量的寫操作分配給主數(shù)據(jù) 服務(wù)器來完成,將需要進(jìn)行的處理量比較小的讀操作分配給從數(shù)據(jù)服務(wù)器來完成,不僅如 此,由于寫操作需要涉及數(shù)據(jù)信息的修改,因此,需要在更高級別的主數(shù)據(jù)服務(wù)器中進(jìn)行, 這樣便于數(shù)據(jù)的管理和權(quán)限的具體分配。在另一種具體的應(yīng)用場景中,設(shè)置模塊61,還用于設(shè)置容災(zāi)策略;處理模塊62,還用于根據(jù)設(shè)置模塊61所設(shè)置的容災(zāi)策略,分別為系統(tǒng)中全部或部 分?jǐn)?shù)據(jù)服務(wù)器建立備份服務(wù)器,并將數(shù)據(jù)服務(wù)器中所存儲的數(shù)據(jù)復(fù)制到相應(yīng)的備份服務(wù)器 中。具體的備份服務(wù)器建立策略可以是在新的服務(wù)器設(shè)備上建立,也可以是在現(xiàn)有的其他數(shù)據(jù)服務(wù)器中的空余空間中建立。在新的服務(wù)器設(shè)備中建立備份服務(wù)器有利于備份數(shù)據(jù)的獨立管理,但是需要進(jìn)行 新的設(shè)備投入。在現(xiàn)有的其他數(shù)據(jù)服務(wù)器中的空余空間中建立備份服務(wù)器可以有效的降低成本 投入,但是需要建立相應(yīng)的空間監(jiān)視機制,保障能夠及時發(fā)現(xiàn)現(xiàn)有的其他數(shù)據(jù)服務(wù)器中的 空余存儲空間,并保證已被利用作為備份空間的數(shù)據(jù)服務(wù)器空間不會與其他數(shù)據(jù)的存儲發(fā) 生矛盾。不僅如此,為了適應(yīng)數(shù)據(jù)信息的變化,管理服務(wù)器還包括調(diào)整模塊64,用于當(dāng)數(shù)據(jù)服務(wù)器的數(shù)據(jù)不能被訪問時,將數(shù)據(jù)服務(wù)器中的數(shù)據(jù)所 對應(yīng)的數(shù)據(jù)標(biāo)識中所包含的數(shù)據(jù)的地址信息變更為數(shù)據(jù)服務(wù)器所對應(yīng)的備份服務(wù)器的地址f曰息。通過這樣的處理,當(dāng)后續(xù)再接到對于相應(yīng)數(shù)據(jù)的操作請求時,管理服務(wù)器返回的 將是變更后的數(shù)據(jù)標(biāo)識,相應(yīng)的應(yīng)用服務(wù)器將通過更改后的地址向備份服務(wù)器獲取相應(yīng)的 數(shù)據(jù)信息,從而,保證具體的應(yīng)用進(jìn)程不會因為數(shù)據(jù)不能訪問而中斷。與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案具有以下優(yōu)點通過應(yīng)用本申請實施例的技術(shù)方案,可以在系統(tǒng)的數(shù)據(jù)中添加數(shù)據(jù)標(biāo)識,標(biāo)識出 該數(shù)據(jù)的地址信息和讀寫權(quán)限信息,從而可以實現(xiàn)數(shù)據(jù)庫信息的分表分庫管理,并可以根 據(jù)系統(tǒng)中的數(shù)據(jù)庫管理策略進(jìn)行相應(yīng)的信息調(diào)度,提高系統(tǒng)中的數(shù)據(jù)信息管理效率。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可以通 過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申 請的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲 介質(zhì)(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可 以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施場景所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或 流程并不一定是實施本申請所必須的。本領(lǐng)域技術(shù)人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進(jìn) 行分布于實施場景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實施場景的一個或多個裝 置中。上述實施場景的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。上述本申請序號僅僅為了描述,不代表實施場景的優(yōu)劣。以上公開的僅為本申請的幾個具體實施場景,但是,本申請并非局限于此,任何本 領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本申請的保護(hù)范圍。
權(quán)利要求
1.一種數(shù)據(jù)庫信息管理方法,應(yīng)用于包括一個管理服務(wù)器、一個應(yīng)用服務(wù)器和多個數(shù) 據(jù)服務(wù)器的系統(tǒng)中,其特征在于,所述管理服務(wù)器為所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo) 識,所述數(shù)據(jù)標(biāo)識包括所述數(shù)據(jù)的地址信息,所述方法包括所述應(yīng)用服務(wù)器向所述管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識;所述應(yīng)用服務(wù)器根據(jù)所述數(shù)據(jù)標(biāo)識中所包含的所述目標(biāo)數(shù)據(jù)的地址信息訪問所述目 標(biāo)數(shù)據(jù),對所述目標(biāo)數(shù)據(jù)進(jìn)行相應(yīng)的操作。
2.如權(quán)利要求1所述的方法,其特征在于,所述管理服務(wù)器為所述數(shù)據(jù)服務(wù)器中的數(shù) 據(jù)添加數(shù)據(jù)標(biāo)識之前,還包括所述管理服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)庫管理策略,將所述系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的 數(shù)據(jù)服務(wù)器中。
3.如權(quán)利要求2所述的方法,其特征在于,所述多個數(shù)據(jù)服務(wù)器組成至少一個數(shù)據(jù)服 務(wù)器群落,所述數(shù)據(jù)服務(wù)器群落中包含一個主數(shù)據(jù)服務(wù)器和至少一個從數(shù)據(jù)服務(wù)器,所述 管理服務(wù)器將所述系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中,具體為所述管理服務(wù)器根據(jù)所述系統(tǒng)中的數(shù)據(jù)的讀寫負(fù)載調(diào)整策略,將所述數(shù)據(jù)分配給各所 述數(shù)據(jù)服務(wù)器群落中相應(yīng)的主數(shù)據(jù)服務(wù)器或從數(shù)據(jù)服務(wù)器進(jìn)行存儲;其中,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器群落中的主數(shù)據(jù)服務(wù)器中存儲的數(shù)據(jù) 具有可以進(jìn)行讀操作和/或?qū)懖僮鞯臋?quán)限,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器群落 中的從數(shù)據(jù)服務(wù)器中存儲的數(shù)據(jù)只具有進(jìn)行讀操作的權(quán)限。
4.如權(quán)利要求2所述的方法,其特征在于,所述管理服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)庫管理策 略,將所述系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中之后,還包括所述管理服務(wù)器根據(jù)預(yù)設(shè)的容災(zāi)策略,分別為所述系統(tǒng)中全部或部分?jǐn)?shù)據(jù)服務(wù)器建立 備份服務(wù)器,并將所述數(shù)據(jù)服務(wù)器中所存儲的數(shù)據(jù)復(fù)制到相應(yīng)的備份服務(wù)器中。
5.如權(quán)利要求4所述的方法,其特征在于,當(dāng)所述數(shù)據(jù)服務(wù)器的數(shù)據(jù)不能被訪問時,還 包括所述管理服務(wù)器將所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識中所包含的地址信息 變更為所述數(shù)據(jù)服務(wù)器所對應(yīng)的備份服務(wù)器的地址信息。
6.如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用服務(wù)器向所述管理服務(wù)器獲取目 標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識,具體為當(dāng)所述應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問所述目標(biāo)數(shù)據(jù)時,所述應(yīng)用服務(wù)器向所述管 理服務(wù)器請求所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識,并接收所述管理服務(wù)器所返回的所述目標(biāo)數(shù)據(jù)的 數(shù)據(jù)標(biāo)識;或,當(dāng)所述應(yīng)用服務(wù)器初始化時,所述應(yīng)用服務(wù)器向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng)前所 有數(shù)據(jù)的數(shù)據(jù)標(biāo)識,并在本地存儲,當(dāng)所述應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問所述目標(biāo)數(shù) 據(jù)時,所述應(yīng)用服務(wù)器在本地讀取所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。
7.如權(quán)利要求6所述的方法,其特征在于,還包括如果所述應(yīng)用服務(wù)器是在需要訪問目標(biāo)數(shù)據(jù)時,向所述管理服務(wù)器獲取所述目標(biāo)數(shù)據(jù) 所對應(yīng)的數(shù)據(jù)標(biāo)識,則當(dāng)所述管理服務(wù)器判斷所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識發(fā)生變化時,所述 管理服務(wù)器向所述應(yīng)用服務(wù)器發(fā)送包含新的數(shù)據(jù)標(biāo)識的通知消息,更新所述應(yīng)用服務(wù)器所 獲取的目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識;如果所述應(yīng)用服務(wù)器是在初始化時,向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng)前所有數(shù)據(jù)的 數(shù)據(jù)標(biāo)識,并在本地進(jìn)行存儲,則當(dāng)所述管理服務(wù)器判斷所述系統(tǒng)當(dāng)前的數(shù)據(jù)的數(shù)據(jù)標(biāo)識 發(fā)生變化或有新的數(shù)據(jù)加入所述系統(tǒng)時,所述管理服務(wù)器向所述應(yīng)用服務(wù)器發(fā)送包含更新 的數(shù)據(jù)的數(shù)據(jù)標(biāo)識或新加入的數(shù)據(jù)的數(shù)據(jù)標(biāo)識的通知消息,更新所述應(yīng)用服務(wù)器所獲取的 所述系統(tǒng)當(dāng)前全部數(shù)據(jù)的數(shù)據(jù)標(biāo)識。
8.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)標(biāo)識還包括所述數(shù)據(jù)的讀寫權(quán)限; 所述應(yīng)用服務(wù)器根據(jù)所述數(shù)據(jù)標(biāo)識中所包含的所述目標(biāo)數(shù)據(jù)的讀寫權(quán)限,對所述目標(biāo)數(shù)據(jù) 進(jìn)行相應(yīng)的操作。
9.一種應(yīng)用服務(wù)器,應(yīng)用于包括一個管理服務(wù)器、一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器 的系統(tǒng)中,其特征在于,所述管理服務(wù)器為所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,所述數(shù) 據(jù)標(biāo)識包括所述數(shù)據(jù)的地址信息,包括獲取模塊,用于向所述管理服務(wù)器獲取目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識;識別模塊,與所述獲取模塊相連接,用于識別所述獲取模塊所獲取的數(shù)據(jù)標(biāo)識中所包 含的所述目標(biāo)數(shù)據(jù)的地址信息和讀寫權(quán)限;處理模塊,與所述識別模塊相連接,用于根據(jù)所述識別模塊所識別的所述目標(biāo)數(shù)據(jù)的 地址信息訪問所述目標(biāo)數(shù)據(jù),并根據(jù)所述識別模塊所識別的所述目標(biāo)數(shù)據(jù)的讀寫權(quán)限,對 所述目標(biāo)數(shù)據(jù)進(jìn)行相應(yīng)的操作。
10.如權(quán)利要求9所述的應(yīng)用服務(wù)器,其特征在于,所述獲取模塊,具體包括設(shè)置子模塊,用于設(shè)置獲取數(shù)據(jù)標(biāo)識的策略,其中,所述獲取數(shù)據(jù)標(biāo)識的策略包括當(dāng) 所述應(yīng)用服務(wù)器所發(fā)起的業(yè)務(wù)需要訪問目標(biāo)數(shù)據(jù)時,向所述管理服務(wù)器請求所述目標(biāo)數(shù)據(jù) 的數(shù)據(jù)標(biāo)識,或,當(dāng)所述應(yīng)用服務(wù)器初始化時,向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng)前所有數(shù) 據(jù)的數(shù)據(jù)標(biāo)識;獲取子模塊,與所述設(shè)置子模塊相連接,用于根據(jù)所述設(shè)置子模塊所設(shè)置的獲取數(shù)據(jù) 標(biāo)識的策略,向所述管理服務(wù)器獲取所述目標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識。
11.如權(quán)利要求10所述的應(yīng)用服務(wù)器,其特征在于,所述獲取模塊,還包括存儲子模塊,與所述獲取子模塊相連接,用于存儲所述獲取子模塊所獲取的所述目標(biāo) 數(shù)據(jù)的數(shù)據(jù)標(biāo)識;其中,當(dāng)所述設(shè)置子模塊所設(shè)置的獲取數(shù)據(jù)標(biāo)識的策略為當(dāng)所述應(yīng)用服務(wù)器初始化 時,向所述管理服務(wù)器獲取所述系統(tǒng)當(dāng)前所有數(shù)據(jù)的數(shù)據(jù)標(biāo)識時,所述存儲子模塊還用于 存儲所述系統(tǒng)當(dāng)前的其他數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識。
12.如權(quán)利要求9所述的應(yīng)用服務(wù)器,其特征在于,還包括通信模塊,與所述獲取模塊相連接,用于接收所述管理服務(wù)器發(fā)送的包含更新后的目 標(biāo)數(shù)據(jù)所對應(yīng)的數(shù)據(jù)標(biāo)識和/或新加入的數(shù)據(jù)的數(shù)據(jù)標(biāo)識的通知消息,更新所述獲取模塊 所獲取的目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識或所述系統(tǒng)當(dāng)前全部數(shù)據(jù)的數(shù)據(jù)標(biāo)識。
13.—種管理服務(wù)器,應(yīng)用于包括一個管理服務(wù)器、一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器 的系統(tǒng)中,其特征在于,包括設(shè)置模塊,用于設(shè)置數(shù)據(jù)庫管理策略和讀寫負(fù)載調(diào)整策略;處理模塊,與所述設(shè)置模塊相連接,用于根據(jù)所述設(shè)置模塊所設(shè)置的數(shù)據(jù)庫管理策略 和讀寫負(fù)載調(diào)整策略,將所述系統(tǒng)中的數(shù)據(jù)分別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中;標(biāo)識模塊,用于根據(jù)所述設(shè)置模塊所設(shè)置的數(shù)據(jù)庫管理策略和讀寫負(fù)載調(diào)整策略,為 各所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)添加數(shù)據(jù)標(biāo)識,所述數(shù)據(jù)標(biāo)識包括所述數(shù)據(jù)的地址信息。
14.如權(quán)利要求13所述的管理服務(wù)器,其特征在于,所述多個數(shù)據(jù)服務(wù)器組成至少一 個數(shù)據(jù)服務(wù)器群落,所述數(shù)據(jù)服務(wù)器群落中包含一個主數(shù)據(jù)服務(wù)器和至少一個從數(shù)據(jù)服務(wù) 器,所述處理模塊根據(jù)所述設(shè)置模塊所設(shè)置的讀寫負(fù)載調(diào)整策略,將所述系統(tǒng)中的數(shù)據(jù)分 別存儲于相應(yīng)的數(shù)據(jù)服務(wù)器中,具體為所述處理模塊根據(jù)所述設(shè)置模塊所設(shè)置的當(dāng)前系統(tǒng)中的數(shù)據(jù)的讀寫負(fù)載調(diào)整策略, 將所述數(shù)據(jù)分配給各所述數(shù)據(jù)服務(wù)器群落中相應(yīng)的主數(shù)據(jù)服務(wù)器或從數(shù)據(jù)服務(wù)器進(jìn)行存 儲;其中,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器群落中的主數(shù)據(jù)服務(wù)器中存儲的數(shù)據(jù) 具有可以進(jìn)行讀操作和/或?qū)懖僮鞯臋?quán)限,所述管理服務(wù)器分配給各所述數(shù)據(jù)服務(wù)器群落 中的從數(shù)據(jù)服務(wù)器中存儲的數(shù)據(jù)只具有進(jìn)行讀操作的權(quán)限。
15.如權(quán)利要求13所述的管理服務(wù)器,其特征在于,所述設(shè)置模塊,還用于設(shè)置容災(zāi)策略;所述處理模塊,還用于根據(jù)所述設(shè)置模塊所設(shè)置的容災(zāi)策略,分別為所述系統(tǒng)中全部 或部分?jǐn)?shù)據(jù)服務(wù)器建立備份服務(wù)器,并將所述數(shù)據(jù)服務(wù)器中所存儲的數(shù)據(jù)復(fù)制到相應(yīng)的備 份服務(wù)器中。
16.如權(quán)利要求15所述的管理服務(wù)器,其特征在于,還包括調(diào)整模塊,用于當(dāng)所述數(shù)據(jù)服務(wù)器的數(shù)據(jù)不能被訪問時,將所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù) 所對應(yīng)的數(shù)據(jù)標(biāo)識中所包含的所述數(shù)據(jù)的地址信息變更為所述數(shù)據(jù)服務(wù)器所對應(yīng)的備份 服務(wù)器的地址信息。
全文摘要
本申請公開了一種數(shù)據(jù)庫信息管理方法和設(shè)備,應(yīng)用于包括一個管理服務(wù)器、一個應(yīng)用服務(wù)器和多個數(shù)據(jù)服務(wù)器的系統(tǒng)中,通過在系統(tǒng)的數(shù)據(jù)中添加數(shù)據(jù)標(biāo)識,標(biāo)識出該數(shù)據(jù)的地址信息和讀寫權(quán)限信息,從而可以實現(xiàn)數(shù)據(jù)庫信息的分表分庫管理,并可以根據(jù)系統(tǒng)中的數(shù)據(jù)庫管理策略進(jìn)行相應(yīng)的信息調(diào)度,提高系統(tǒng)中的數(shù)據(jù)信息管理效率。
文檔編號G06F17/30GK102053982SQ200910210388
公開日2011年5月11日 申請日期2009年11月2日 優(yōu)先權(quán)日2009年11月2日
發(fā)明者李帥, 魏虎 申請人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
张家口市| 临猗县| 双流县| 翼城县| 白山市| 绍兴县| 邮箱| 乌拉特前旗| 柳林县| 芦溪县| 临洮县| 和政县| 宾川县| 工布江达县| 涿州市| 贵港市| 锦屏县| 赤壁市| 来宾市| 天水市| 房山区| 德格县| 教育| 兴仁县| 托克托县| 凭祥市| 台北县| 崇阳县| 宁陵县| 江安县| 靖远县| 九龙城区| 姜堰市| 东兰县| 化州市| 韶关市| 衡东县| 泸州市| 屯昌县| 珲春市| 临颍县|