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

訪問數(shù)據(jù)庫的方法及系統(tǒng)的制作方法

文檔序號:7661554閱讀:108來源:國知局
專利名稱:訪問數(shù)據(jù)庫的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種訪問數(shù)據(jù)庫的方法及系統(tǒng)。
技術(shù)背景目前在各種語音增值業(yè)務(wù)中,個性化回鈴音業(yè)務(wù)(Custom Ring Back Tone, CRBT)是一項(xiàng)由被叫用戶定制,為主叫用戶提供一段悅耳的音樂、或一句問 候語、或一段定制者自行錄制合成的提示語音來替代普通回鈴音的業(yè)務(wù)。用戶 申請開通個性化回鈴音業(yè)務(wù)之后,可以自行設(shè)定個性化回鈴音,在做被叫用戶 時,就可以為主叫用戶播放自身設(shè)定的個性化音樂或錄音,來代替普通的回鈴 音。在個性化回鈴音業(yè)務(wù)的實(shí)現(xiàn)系統(tǒng)中,關(guān)鍵設(shè)備是個性化回鈴音數(shù)據(jù)庫服務(wù) 器,該服務(wù)器中的數(shù)據(jù)庫保存了個性化回鈴音的用戶信息、鈴音信息以及用戶 的定購關(guān)系等?,F(xiàn)有技術(shù)中,個性化回鈴音數(shù)據(jù)庫服務(wù)器主要采用以下幾種方式來實(shí)現(xiàn) 一種方式為用兩臺PC服務(wù)器作為數(shù)據(jù)庫服務(wù)器,其中一臺作為主機(jī), 另一臺作為備份機(jī),通常由主機(jī)對外提供服務(wù),當(dāng)主機(jī)出現(xiàn)異常(停機(jī)、硬盤 壞等等)時,系統(tǒng)會自動切換到備份機(jī),由備份機(jī)對外提供服務(wù)。但是用PC 機(jī)作為數(shù)據(jù)庫服務(wù)器時,由于PC機(jī)本身性能的限制,因此只能給小規(guī)模用戶 提供服務(wù),例如只能為IOO萬以下的用戶提供服務(wù)等。另一種方式為用雙機(jī)小型機(jī)作為數(shù)據(jù)庫服務(wù)器,雙機(jī)小型機(jī)具有雙機(jī)服 務(wù)器,當(dāng)主機(jī)出現(xiàn)異常時,系統(tǒng)直接切換到備份機(jī),由備份機(jī)提供服務(wù)。雙機(jī) 小型機(jī)能給中等規(guī)^莫用戶提供服務(wù),例如為100萬以上500萬以下的用戶提供 服務(wù)等。此外在使用雙機(jī)小型機(jī)作為數(shù)據(jù)庫服務(wù)器時,也可以通過增加硬件能
力來加強(qiáng)小型機(jī)的服務(wù)性能以滿足更多用戶的需求,例如通過增加CPU的個 數(shù)、內(nèi)存容量、磁盤陣列容量等硬件升級方式,可將服務(wù)范圍擴(kuò)大至500萬以上到1500萬以下用戶范圍。但是這種方式需要硬件升級才能提高數(shù)據(jù)庫服務(wù) 器的性能,但是將現(xiàn)有小型機(jī)的CPU個數(shù)增加到64個,就卩艮難再通過增加 CPU的個數(shù)來提高其性能了 ,從而限制了數(shù)據(jù)庫服務(wù)器的可用性。目前隨著訪問數(shù)據(jù)庫服務(wù)器的用戶數(shù)量增加,基于現(xiàn)有方式實(shí)現(xiàn)的數(shù)據(jù)庫 服務(wù)器由于提供業(yè)務(wù)的能力受到限制,因此使得用戶不能以較好的效率來訪問 數(shù)據(jù)庫服務(wù)器。發(fā)明內(nèi)容本發(fā)明實(shí)施例提供了 一種訪問數(shù)據(jù)庫的方法及系統(tǒng),以提高用戶訪問數(shù)據(jù) 庫服務(wù)器的效率。本發(fā)明提供一種數(shù)據(jù)庫系統(tǒng),包括寫數(shù)據(jù)庫服務(wù)器、至少兩個讀數(shù)據(jù)庫服 務(wù)器和負(fù)載均衡服務(wù)器,其中寫數(shù)據(jù)庫服務(wù)器,用于執(zhí)行用戶的寫操作請求,并將執(zhí)行所述寫操作請求 的寫操作結(jié)果同步給各個讀數(shù)據(jù)庫服務(wù)器;負(fù)載均衡服務(wù)器,用于接收用戶的讀操作請求,并將接收的讀操作請求分 配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理;各個讀數(shù)據(jù)庫服務(wù)器,用于存儲寫數(shù)據(jù)庫服務(wù)器同步來的寫操作結(jié)果,以 及處理所述負(fù)載均衡服務(wù)器分配的讀操作請求。較佳地,所述寫數(shù)據(jù)庫服務(wù)器包括寫操作請求接收單元,用于接收用戶的寫操作請求;寫操作執(zhí)行單元,用于執(zhí)行所述寫操作請求接收單元接收到的寫操作請求;事務(wù)日志生成單元,用于將所述寫操作執(zhí)行單元執(zhí)行寫操作請求的寫操作 結(jié)果生成對應(yīng)的事務(wù)日志形式;
事務(wù)日志發(fā)送單元,用于將所述事務(wù)日志生成單元生成的基于事務(wù)日志形 式的寫搡作結(jié)果發(fā)送到各個讀數(shù)據(jù)庫服務(wù)器。較佳地,所述寫數(shù)據(jù)庫服務(wù)器還包括緩存單元,用于緩存所述事務(wù)日志生成單元生成的基于事務(wù)日志形式的寫 操作結(jié)果;以及在系統(tǒng)空閑時,所述事務(wù)日志發(fā)送單元將所述緩存單元緩存的基于事務(wù)曰 志形式的寫操作結(jié)果發(fā)送到各個讀數(shù)據(jù)庫服務(wù)器。 較佳地,所述負(fù)載均4軒服務(wù)器包括第一監(jiān)控單元,用于監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀操作請求 任務(wù)情況;第一接收單元,用于接收用戶的讀操作請求;分配單元,用于根據(jù)所述第一監(jiān)控單元的監(jiān)控結(jié)果,將第一接收單元接收 的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的 一個當(dāng)前執(zhí)行任務(wù)最輕的讀數(shù) 據(jù)服務(wù)器處理。較佳地,所述負(fù)載均衡服務(wù)器包括存儲單元,用于保存各個讀數(shù)據(jù)庫服務(wù)器的處理能力權(quán)值;第二監(jiān)控單元,用于監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀才喿作請求 任務(wù)情況;第二接收單元,用于接收用戶的讀操作請求;分配單元,用于根據(jù)所述存儲單元存儲的各個讀數(shù)據(jù)庫服務(wù)器的處理能力 權(quán)值、以及結(jié)合第二監(jiān)控單元的監(jiān)控結(jié)果,將第二接收單元接收的讀操作請求 分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理。較佳地,所述讀數(shù)據(jù)庫服務(wù)器包括事務(wù)日志接收單元,用于接收寫數(shù)據(jù)庫服務(wù)器同步來的基于事務(wù)日志形式 的寫搡作結(jié)果;保存單元,用于保存所述事務(wù)日志接收單元接收到的基于事務(wù)日志形式的
寫操作結(jié)果;
讀操作請求接收單元,用于接收負(fù)載均衡服務(wù)器分配的讀操作請求;
讀操作處理單元,用于處理所述讀操作請求接收單元接收到的讀才栗作請求。
本發(fā)明提供一種向數(shù)據(jù)庫寫數(shù)據(jù)的方法,包括步驟 寫數(shù)據(jù)庫服務(wù)器接收用戶發(fā)起的寫操作請求;以及 執(zhí)行所述接收到的寫操作請求,得到對應(yīng)的寫操作結(jié)果; 寫數(shù)據(jù)庫服務(wù)器將得到的寫操作結(jié)果同步給各個讀數(shù)據(jù)庫服務(wù)器。 較佳地,所述得到的寫操作結(jié)果基于事務(wù)日志形式。
較佳地,還包括步驟
緩存所述得到的基于事務(wù)日志形式的寫操作結(jié)果;以及 在系統(tǒng)空閑時,將所述緩存的基于事務(wù)日志形式的寫操作結(jié)果發(fā)送到各個 讀數(shù)據(jù)庫服務(wù)器。
本發(fā)明提供一種從數(shù)據(jù)庫讀數(shù)據(jù)的方法,包括 接收用戶發(fā)起的讀操作請求;
將所述接收到的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù) 庫服務(wù)器處理;以及
接收到讀操作請求的讀數(shù)據(jù)庫服務(wù)器處理接收到的讀操作請求。
較佳地,將接收的讀操作請求分配給讀數(shù)據(jù)庫服務(wù)器處理的過程具體包括
監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀才喿作請求任務(wù)情況; 沖艮據(jù)監(jiān)控結(jié)果,將接收到的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一 個當(dāng)前執(zhí)行任務(wù)最輕的讀數(shù)據(jù)服務(wù)器處理。
較佳地,將接收的讀操作請求分配給讀數(shù)據(jù)庫服務(wù)器處理的過程具體包括
監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀才喿作請求任務(wù)情況;
根據(jù)監(jiān)控結(jié)果,以及結(jié)合預(yù)先存儲的各個讀數(shù)據(jù)庫服務(wù)器的處理能力權(quán) 值,將接收到的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器 處理。本發(fā)明實(shí)施例通過將用戶讀操作請求與用戶寫操作請求分別導(dǎo)向到負(fù)載 均衡服務(wù)器和寫數(shù)據(jù)庫服務(wù)器上;負(fù)載均衡服務(wù)器動態(tài)的將用戶讀操作請求導(dǎo) 向到讀數(shù)據(jù)庫服務(wù)器群中,并按照預(yù)先設(shè)定的規(guī)則在讀數(shù)據(jù)庫服務(wù)器群中分配一個讀數(shù)據(jù)庫服務(wù)器處理用戶的讀操作請求;寫數(shù)據(jù)庫服務(wù)器執(zhí)行用戶的寫操 作請求,并將寫數(shù)據(jù)庫中發(fā)生變化的數(shù)據(jù)同步到讀數(shù)據(jù)庫服務(wù)器群的各個數(shù)據(jù) 庫服務(wù)器中,因此提高了用戶訪問數(shù)據(jù)庫服務(wù)器的效率。


圖1為本發(fā)明實(shí)施例的系統(tǒng)組網(wǎng)的結(jié)構(gòu)示意圖; 圖2為本發(fā)明實(shí)施例的用戶訪問數(shù)據(jù)庫的流程圖;圖3為本發(fā)明實(shí)施例中實(shí)現(xiàn)寫數(shù)據(jù)庫服務(wù)器將自身數(shù)據(jù)復(fù)制到讀數(shù)據(jù)庫服 務(wù)器的示意圖;圖4為本發(fā)明實(shí)施例中在數(shù)據(jù)庫之間進(jìn)行異步復(fù)制的處理流程圖; 圖5為本發(fā)明實(shí)施例中在數(shù)據(jù)庫之間進(jìn)行同步復(fù)制的處理流程圖; 圖6為本發(fā)明實(shí)施例中增加讀數(shù)據(jù)庫服務(wù)器數(shù)量的處理流程圖; 圖7為本發(fā)明實(shí)施例中用戶修改自身鈴音設(shè)置,以及查詢鈴音設(shè)置的處理 流程圖;圖8為本發(fā)明實(shí)施例中一種寫數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖; 圖9為本發(fā)明實(shí)施例中另一種寫數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖; 圖10為本發(fā)明實(shí)施例中 一種負(fù)載均衡服務(wù)器的結(jié)構(gòu)示意圖; 圖11為本發(fā)明實(shí)施例中另一種負(fù)載均衡服務(wù)器的結(jié)構(gòu)示意圖; 圖12為本發(fā)明實(shí)施例中一種讀數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例的設(shè)計思想是將用戶讀操作請求與用戶寫操作請求分別導(dǎo) 向到負(fù)載均衡服務(wù)器和寫數(shù)據(jù)庫服務(wù)器上;負(fù)載均衡服務(wù)器動態(tài)的將用戶讀操 作請求導(dǎo)向到讀數(shù)據(jù)庫服務(wù)器群中,并按照預(yù)先設(shè)定的規(guī)則在讀數(shù)據(jù)庫服務(wù)器 群中分配一個讀數(shù)據(jù)庫服務(wù)器處理用戶的讀操作請求;寫數(shù)據(jù)庫服務(wù)器執(zhí)行用 戶的寫操作請求,并將寫數(shù)據(jù)庫中發(fā)生變化的數(shù)據(jù)同步到讀數(shù)據(jù)庫服務(wù)器群的 各個數(shù)據(jù)庫服務(wù)器中,以保證寫數(shù)據(jù)庫服務(wù)器和讀數(shù)據(jù)庫服務(wù)器中保存的數(shù)據(jù) 一致。本發(fā)明實(shí)施例中,為了提高用戶查詢數(shù)據(jù)的效率,設(shè)置由不同的服務(wù)器分 別對用戶的讀寫操作請求進(jìn)行處理,即在進(jìn)行系統(tǒng)〗現(xiàn)劃和硬件配置時,將數(shù)據(jù) 庫服務(wù)器從邏輯上劃分為寫數(shù)據(jù)庫服務(wù)器和多個讀數(shù)據(jù)庫服務(wù)器,其中寫數(shù)據(jù) 庫服務(wù)器用于執(zhí)行用戶的寫操作請求,讀數(shù)據(jù)庫服務(wù)器用于執(zhí)行用戶的讀操作 請求。其中從邏輯虛擬空間上配置的多個讀數(shù)據(jù)庫服務(wù)器即可構(gòu)成一個讀數(shù)據(jù) 庫服務(wù)器"池",下述定義為讀數(shù)據(jù)庫服務(wù)器群,并由一個負(fù)載均衡服務(wù)器對 讀數(shù)據(jù)庫服務(wù)器群進(jìn)行統(tǒng) 一 管理。此外,為實(shí)現(xiàn)將用戶寫操作請求由寫數(shù)據(jù)庫服務(wù)器進(jìn)行處理,以及將用戶 讀操作請求由讀數(shù)據(jù)庫服務(wù)器進(jìn)行處理,在系統(tǒng)進(jìn)行軟件設(shè)置時,預(yù)先將寫操 作對應(yīng)的服務(wù)器IP地址設(shè)置為寫數(shù)據(jù)庫服務(wù)器,將讀操作對應(yīng)的服務(wù)器IP地 址設(shè)置為負(fù)載均衡服務(wù)器,以及在負(fù)載均衡服務(wù)器上登記所有讀數(shù)據(jù)庫服務(wù)器 的ID信息,這樣所有寫操作請求將導(dǎo)向到寫數(shù)據(jù)庫服務(wù)器上,所有讀操作請 求將導(dǎo)向到負(fù)載均衡服務(wù)器上,并由負(fù)載均衡服務(wù)器將各個讀操作請求均衡到 各個讀數(shù)據(jù)庫服務(wù)器上。本發(fā)明實(shí)施例可以在任何程控交換網(wǎng)絡(luò)中實(shí)施,比如固定電話網(wǎng)(PSTN)、 GSM網(wǎng)絡(luò)、CDMA網(wǎng)絡(luò)、3G網(wǎng)絡(luò)、NGN網(wǎng)絡(luò)以及IP網(wǎng)絡(luò)等。如圖1所示, 為本發(fā)明實(shí)施例的系統(tǒng)組網(wǎng)結(jié)構(gòu)示意圖,包括界面層(Portal layer)、應(yīng)用層 (Application layer )、數(shù)據(jù)庫層(Database layer),各個網(wǎng)絡(luò)層的作用如下
界面層,用于與用戶或應(yīng)用層進(jìn)行聯(lián)系,其功能包括接收用戶發(fā)送的操作請求,并將接收的才喿作請求轉(zhuǎn)發(fā)給應(yīng)用層;以及接收應(yīng)用層^^饋的對應(yīng)4喿作 請求結(jié)果,并將對應(yīng)的操作請求結(jié)果發(fā)送給用戶等。應(yīng)用層,用于對接收的用戶操作請求進(jìn)行處理,其功能包括判斷接收的 用戶操作請求類型(即是寫操作還是讀操作),根據(jù)判斷的操作請求類型將操 作請求導(dǎo)向到對應(yīng)的服務(wù)器,以及將對應(yīng)的操作結(jié)果信息反饋給界面層。數(shù)據(jù)庫層,用于保存數(shù)據(jù)文件,例如鈴音文件等等,以及對接收到的操作 請求進(jìn)行處理等,以及將對應(yīng)的操作結(jié)果信息反饋給應(yīng)用層,其具體包括寫數(shù) 據(jù)庫服務(wù)器、由多個讀數(shù)據(jù)庫服務(wù)器組成的讀數(shù)據(jù)庫服務(wù)器群和負(fù)載均衡服務(wù) 器等。如圖2所示,為本發(fā)明實(shí)施例用戶訪問數(shù)據(jù)庫的流程圖,包括步驟511、 用戶發(fā)起訪問數(shù)據(jù)庫的操作請求。512、 界面服務(wù)器(Portal Server)接收用戶發(fā)起的操作請求,判斷該接收 到的操作請求是讀操作請求還是寫操作請求,如果是寫操作請求,進(jìn)入S13; 如果是讀操作請求,進(jìn)入S15。513、 界面服務(wù)器將寫操作請求轉(zhuǎn)發(fā)給寫數(shù)據(jù)庫服務(wù)器,寫數(shù)據(jù)庫服務(wù)器 根據(jù)用戶發(fā)來的寫操作請求,執(zhí)行對應(yīng)的數(shù)據(jù)更新操作,生成事務(wù)日志,并將 生成的事務(wù)日志復(fù)制到各個讀數(shù)據(jù)庫服務(wù)器中,所述事務(wù)日志記錄本次執(zhí)行的 更新操作。本步驟中,寫數(shù)據(jù)庫服務(wù)器上預(yù)先保存當(dāng)前所有的讀數(shù)據(jù)庫服務(wù)器ID信 息,以便在進(jìn)行數(shù)據(jù)復(fù)制時,寫數(shù)據(jù)庫服務(wù)器能夠才艮據(jù)保存的讀數(shù)據(jù)庫服務(wù)器 ID信息獲知具體的讀數(shù)據(jù)庫服務(wù)器,然后將事務(wù)日志復(fù)制到獲知的各個讀數(shù)據(jù) 庫服務(wù)器中。514、 各個讀數(shù)據(jù)庫服務(wù)器根據(jù)接收的事務(wù)日志,更新自身數(shù)據(jù)庫中的數(shù) 據(jù)內(nèi)容。515、 界面服務(wù)器將讀操作請求轉(zhuǎn)發(fā)給負(fù)載均t^l務(wù)器,負(fù)載均衡服務(wù)器
從保存的所有讀數(shù)據(jù)庫服務(wù)器的ID信息中,選擇一個ID信息對應(yīng)的讀數(shù)據(jù)庫 服務(wù)器,再將讀操作請求分配到該選擇的讀數(shù)據(jù)庫服務(wù)器上。請求選擇一個對應(yīng)的讀數(shù)據(jù)庫服務(wù)器(1 )根據(jù)當(dāng)前任務(wù)情況,選擇讀數(shù)據(jù)庫服務(wù)器群中任務(wù)最輕的讀數(shù)據(jù)庫服 務(wù)器來處理新的請求任務(wù)。例如讀數(shù)據(jù)庫服務(wù)器A已經(jīng)被分配了 IO個任務(wù), 讀數(shù)據(jù)庫服務(wù)器B已經(jīng)被分配了 8個任務(wù),那么就可以選擇服務(wù)器B來處理 新的請求任務(wù);(2)根據(jù)預(yù)先定義的權(quán)值進(jìn)行判斷,所述權(quán)值由各個讀數(shù)據(jù)庫服務(wù)器的性 能決定,其中設(shè)置權(quán)值越大的讀數(shù)據(jù)庫服務(wù)器可以接受的請求任務(wù)越多。例如 讀數(shù)據(jù)庫服務(wù)器A的權(quán)值是1,讀數(shù)據(jù)庫服務(wù)器B的權(quán)值是2,當(dāng)讀數(shù)據(jù)庫服 務(wù)器A和B都分配了 IO個請求任務(wù)時,那么再有新的請求任務(wù)需要分配時, 則優(yōu)先考慮將該請求任務(wù)分配給讀數(shù)據(jù)庫服務(wù)器B。516、 被分配的讀數(shù)據(jù)庫服務(wù)器根據(jù)用戶的讀操作請求,執(zhí)行對應(yīng)的讀操 作,并將對應(yīng)的操作結(jié)果返回給負(fù)載均衡服務(wù)器。517、 負(fù)載均衡服務(wù)器再將讀操作結(jié)果轉(zhuǎn)發(fā)給界面服務(wù)器,由界面服務(wù)器 給用戶顯示讀操作結(jié)果。如圖3所示,為本發(fā)明實(shí)施例中實(shí)現(xiàn)寫數(shù)據(jù)庫服務(wù)器將自身數(shù)據(jù)復(fù)制到讀 數(shù)據(jù)庫服務(wù)器的示意圖,當(dāng)寫數(shù)據(jù)庫服務(wù)器上發(fā)生數(shù)據(jù)更新時,需要將寫數(shù)據(jù) 庫服務(wù)器中更新后的數(shù)據(jù)復(fù)制到各個讀數(shù)據(jù)庫服務(wù)器中,以保證用戶讀取數(shù)據(jù) 的正確性。為此本發(fā)明實(shí)施例通過將寫數(shù)據(jù)庫服務(wù)器上的每個寫操作事務(wù)日志 復(fù)制到各個讀數(shù)據(jù)庫服務(wù)器上,各個讀數(shù)據(jù)庫服務(wù)器執(zhí)行該事務(wù)日志,以實(shí)現(xiàn) 各個讀數(shù)據(jù)庫服務(wù)器中數(shù)據(jù)的增加、刪除以及修改等處理。采用事務(wù)日志的方 式可以只傳遞寫數(shù)據(jù)庫服務(wù)器中變化的數(shù)據(jù)部分,因此可以實(shí)現(xiàn)數(shù)據(jù)快速復(fù)制 的目的。在寫數(shù)據(jù)庫服務(wù)器將更新數(shù)據(jù)復(fù)制到各個讀數(shù)據(jù)庫服務(wù)器時,根據(jù)復(fù)制方
式的不同,可以劃分為異步復(fù)制方式和同步復(fù)制方式兩種。其中,異步復(fù)制是指在系統(tǒng)(即網(wǎng)絡(luò)側(cè))空閑時,寫數(shù)據(jù)庫服務(wù)器將事務(wù)日志復(fù)制到各個讀數(shù)據(jù)庫服務(wù)器上;同步復(fù)制是指寫數(shù)據(jù)庫服務(wù)器實(shí)時將事務(wù)日志復(fù)制到各個讀數(shù)據(jù)庫服務(wù)器上。如圖4所示,為本發(fā)明實(shí)施例中在數(shù)據(jù)庫之間進(jìn)行異步復(fù)制的處理流程圖, 包括步驟521、 更新操作被提交到寫數(shù)據(jù)庫服務(wù)器,寫數(shù)據(jù)庫服務(wù)器根據(jù)系統(tǒng)的預(yù) 先設(shè)置,執(zhí)行該更新操作,并生成記錄本次更新操作的事務(wù)日志,此時將該生 成的事務(wù)日志標(biāo)識為"未復(fù)制",將該生成的事務(wù)日志記錄到日志緩沖區(qū),或 同步保存到對應(yīng)的萬茲盤日志文件中。522、 當(dāng)日志緩沖區(qū)存滿事務(wù)日志時,日志緩沖區(qū)中的事務(wù)日志就會被保 存到對應(yīng)的磁盤日志文件中。如果在上述的S21中,事務(wù)日志已經(jīng)被同步保存 到對應(yīng)的磁盤日志文件中,則不需要執(zhí)行本步驟的操作。523、 在系統(tǒng)空閑時,如果日志緩沖區(qū)中的事務(wù)日志已被保存到對應(yīng)的磁 盤日志文件中,則發(fā)送方代理向接收方代理發(fā)送對應(yīng)的磁盤日志文件中保存的 事務(wù)日志;如果日志緩沖區(qū)未存滿事務(wù)日志時,則發(fā)送方代理向接收方代理發(fā) 送曰志緩沖區(qū)中保存的事務(wù)曰志。S24、接收方代理接收該事務(wù)日志,并在各個讀數(shù)據(jù)庫服務(wù)器上執(zhí)行該事 務(wù)日志,以更新各自數(shù)據(jù)庫中的數(shù)據(jù)。525、 接收方代理將接收到的事務(wù)日志分別寫入到各個讀數(shù)據(jù)庫服務(wù)器對 應(yīng)的石茲盤日志文件中。526、 當(dāng)寫完事務(wù)日志后,接收方代理向發(fā)送方代理發(fā)送確認(rèn)響應(yīng)。527、 發(fā)送方代理接收確認(rèn)響應(yīng)后,更新該事務(wù)日志的標(biāo)識,將該事務(wù)日 志的標(biāo)識更改為"復(fù)制成功"。如圖5所示,為本發(fā)明實(shí)施例中在數(shù)據(jù)庫之間進(jìn)行同步復(fù)制的處理流程圖, 包括步驟531、 更新操作被提交到寫數(shù)據(jù)庫服務(wù)器,寫數(shù)據(jù)庫服務(wù)器根據(jù)系統(tǒng)的預(yù) 先設(shè)置,執(zhí)行該更新操作,并生成記錄本次更新操作的事務(wù)日志,此時將該生 成的事務(wù)日志標(biāo)識為"未復(fù)制"。532、 發(fā)送方代理實(shí)時將上述生成的事務(wù)日志發(fā)送給4^收方代理。533、 接收方代理接收發(fā)送方代理發(fā)送的事務(wù)日志,并在各個讀數(shù)據(jù)庫服 務(wù)器上執(zhí)行該事務(wù)日志,以更新各自數(shù)據(jù)庫中的數(shù)據(jù)。534、 才矣收方代理向發(fā)送方代理發(fā)送首次確認(rèn)響應(yīng)(First ACK)。535、 發(fā)送方代理根據(jù)接收的首次確認(rèn)響應(yīng)(FirstACK),向用戶發(fā)送一個 讀數(shù)據(jù)庫服務(wù)器執(zhí)行該事務(wù)日志的信息。536、 接收方代理將接收到的事務(wù)日志分別寫入到各個讀數(shù)據(jù)庫服務(wù)器對 應(yīng)的磁盤日志文件中,并向發(fā)送方代理發(fā)送最終確認(rèn)響應(yīng)(Final ACK)。537、 發(fā)送方代理接收最終確認(rèn)響應(yīng)后,更新該事務(wù)日志的標(biāo)識,將該事 務(wù)日志的標(biāo)識更改為"復(fù)制成功"。態(tài)的增加或刪除操作。如圖6所示,為本發(fā)明實(shí)施例中增加讀數(shù)據(jù)庫服務(wù)器數(shù)量的處理流程圖, 包括步驟541、 在系統(tǒng)中增加讀數(shù)據(jù)庫服務(wù)器;542、 將寫數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)復(fù)制到該增加的讀數(shù)據(jù)庫服務(wù)器中;543、 將該增加的讀數(shù)據(jù)庫服務(wù)器的ID信息保存到寫數(shù)據(jù)庫服務(wù)器上,以 便寫數(shù)據(jù)庫服務(wù)器上發(fā)生數(shù)據(jù)更新時,寫數(shù)據(jù)庫服務(wù)器能夠按照保存的讀數(shù)據(jù) 庫服務(wù)器ID信息,將寫數(shù)據(jù)庫服務(wù)器中發(fā)生變化的數(shù)據(jù)復(fù)制到該新增加的讀 數(shù)據(jù)庫服務(wù)器中。544、 將該新增加的讀數(shù)據(jù)庫服務(wù)器的ID信息,以及該新增加的讀數(shù)據(jù)庫 服務(wù)器的權(quán)值等相關(guān)信息保存到負(fù)載均衡服務(wù)器上,以^更實(shí)現(xiàn)負(fù)載均衡服務(wù)器 能夠?qū)υ撔略黾拥淖x數(shù)據(jù)庫服務(wù)器進(jìn)行調(diào)度管理。
同理,如果需要刪除讀數(shù)據(jù)庫服務(wù)器群中的某個(些)讀數(shù)據(jù)庫服務(wù)器, 相應(yīng)的需刪除寫數(shù)據(jù)庫服務(wù)器上保存的該讀數(shù)據(jù)庫服務(wù)器的ID信息,以及刪 除負(fù)載均衡服務(wù)器上保存的該讀數(shù)據(jù)庫服務(wù)器的ID信息以及相關(guān)的權(quán)值信息 等等。下面結(jié)合圖7對本發(fā)明實(shí)施例進(jìn)行詳細(xì)說明,如圖7所示,為本發(fā)明實(shí)施 例中用戶修改自身鈴音設(shè)置,以及查詢鈴音設(shè)置的處理流程圖,具體包括步驟 S100、用戶發(fā)起鈴音設(shè)置修改請求。 S101 、界面服務(wù)器收到用戶發(fā)起的鈴音設(shè)置修改請求。5102、 界面服務(wù)器將該鈴音設(shè)置修改請求轉(zhuǎn)發(fā)給寫數(shù)據(jù)庫服務(wù)器。5103、 寫數(shù)據(jù)庫服務(wù)器根據(jù)用戶發(fā)來的鈴音設(shè)置修請求,更新該用戶的鈴 音設(shè)置記錄,生成對應(yīng)的事務(wù)曰志。5104、 寫數(shù)據(jù)庫服務(wù)器將生成的事務(wù)日志復(fù)制到所有的讀數(shù)據(jù)庫服務(wù)器。5105、 讀數(shù)據(jù)庫服務(wù)器根據(jù)接收到的事務(wù)日志更新本地數(shù)據(jù)庫中的數(shù)據(jù)。5106、 用戶發(fā)起鈴音設(shè)置查詢請求。5107、 界面服務(wù)器收到用戶發(fā)起的鈴音設(shè)置查詢請求,并將該鈴音設(shè)置查 詢請求轉(zhuǎn)發(fā)給負(fù)載均衡服務(wù)器。5108、 負(fù)載均衡服務(wù)器收到鈴音設(shè)置查詢請求后,根據(jù)當(dāng)前各個讀數(shù)據(jù)庫 服務(wù)器的任務(wù)執(zhí)行情況,從當(dāng)前所有讀數(shù)據(jù)庫服務(wù)器中選4奪1個讀數(shù)據(jù)庫。5109、 負(fù)載均衡服務(wù)器向選擇的讀數(shù)據(jù)庫服務(wù)器發(fā)送該鈴音設(shè)置查詢請求。5110、 被選擇的讀數(shù)據(jù)庫服務(wù)器根據(jù)接收到的鈴音設(shè)置查詢請求,返回該用戶更新后的鈴音設(shè)置數(shù)據(jù)給負(fù)載均衡服務(wù)器。5111、 負(fù)載均衡服務(wù)器將查詢到的鈴音設(shè)置數(shù)據(jù)返回給界面服務(wù)器。5112、 界面服務(wù)器給用戶顯示更新后的鈴音設(shè)置結(jié)果。此外,本發(fā)明實(shí)施例提出一種數(shù)據(jù)庫系統(tǒng),其結(jié)構(gòu)示意圖可以參照圖1中 所示的數(shù)據(jù)庫層結(jié)構(gòu),包括寫數(shù)據(jù)庫服務(wù)器、至少兩個讀數(shù)據(jù)庫服務(wù)器和負(fù)載
均衡服務(wù)器,其中寫數(shù)據(jù)庫服務(wù)器,用于執(zhí)行用戶的寫操作請求,并將執(zhí)行所述寫操作請求的寫操作結(jié)果同步給各個讀數(shù)據(jù)庫服務(wù)器;負(fù)載均衡服務(wù)器,用于接收用戶的讀操作請求,并將接收的讀4喿作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理;各個讀數(shù)據(jù)庫服務(wù)器,用于存儲寫數(shù)據(jù)庫服務(wù)器同步來的寫操作結(jié)果,以及處理所述負(fù)載均衡服務(wù)器分配的讀操作請求。如圖8所示,為一種寫數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖,包括寫操作請求接收單元11,用于接收用戶的寫操:作請求;寫操作執(zhí)行單元12,用于執(zhí)行所述寫操作請求接收單元11接收到的寫搡作請求;事務(wù)日志生成單元13,用于將所述寫操作執(zhí)行單元12執(zhí)行寫操作請求的寫操作結(jié)果生成對應(yīng)的事務(wù)日志形式;事務(wù)日志發(fā)送單元14,用于將所述事務(wù)日志生成單元13生成的基于事務(wù)日志形式的寫操作結(jié)果發(fā)送到各個讀數(shù)據(jù)庫服務(wù)器。如圖9所示,為另一種寫數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖,包括寫操作請求接收單元21,用于接收用戶的寫操作請求;寫操作執(zhí)行單元22,用于執(zhí)行所述寫操作請求接收單元21接收到的寫操作請求;事務(wù)日志生成單元23,用于將所述寫操作執(zhí)行單元22執(zhí)行寫操作請求的 寫操作結(jié)果生成對應(yīng)的事務(wù)日志形式;緩存單元24,用于緩存所述事務(wù)日志生成單元23生成的基于事務(wù)日志形 式的寫操作結(jié)果;事務(wù)日志發(fā)送單元25,用于在系統(tǒng)空閑時,將所述緩存單元24緩存的基 于事務(wù)日志形式的寫操作結(jié)果發(fā)送到各個讀數(shù)據(jù)庫服務(wù)器。如圖10所示,為一種負(fù)載均tf服務(wù)器的結(jié)構(gòu)示意圖,包括
第一監(jiān)控單元31,用于監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀操作請求任務(wù)情況;第一接收單元32,用于接收用戶的讀操作請求;分配單元33,用于根據(jù)所述第一監(jiān)控單元31的監(jiān)控結(jié)果,將第一接收單 元22接收的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個當(dāng)前執(zhí)行任務(wù)最 輕的讀數(shù)據(jù)服務(wù)器處理。如圖ll所示,為另一種負(fù)載均衡服務(wù)器的結(jié)構(gòu)示意圖,包括 存儲單元41,用于保存各個讀數(shù)據(jù)庫服務(wù)器的處理能力權(quán)值; 第二監(jiān)控單元42,用于監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀操作請 求任務(wù)情況;第二接收單元43,用于接收用戶的讀操作請求;分配單元44,用于根據(jù)所述存儲單元41存儲的各個讀數(shù)據(jù)庫服務(wù)器的處 理能力權(quán)值、以及結(jié)合第二監(jiān)控單元42的監(jiān)控結(jié)果,將第二接收單元43接收 的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理。 如圖12所示,為一種讀數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)示意圖,包括 事務(wù)日志接收單元51,用于接收寫數(shù)據(jù)庫服務(wù)器同步來的基于事務(wù)日志形 式的寫操作結(jié)果;保存單元52,用于保存所述事務(wù)日志接收單元51接收到的基于事務(wù)日志形式的寫操作結(jié)果;讀操作請求接收單元53,用于接收負(fù)載均衡服務(wù)器分配的讀操作請求; 讀操作處理單元54,用于處理所述讀操作請求接收單元53接收到的讀操作請求。在用戶訪問數(shù)據(jù)庫時,通過將用戶讀操作請求與用戶寫操作請求分別導(dǎo)向 到負(fù)載均衡服務(wù)器和寫數(shù)據(jù)庫服務(wù)器上;負(fù)載均衡服務(wù)器動態(tài)的將用戶讀操作 請求導(dǎo)向到讀數(shù)據(jù)庫服務(wù)器群中,并按照預(yù)先設(shè)定的規(guī)則在讀數(shù)據(jù)庫服務(wù)器群 中分配一個讀數(shù)據(jù)庫服務(wù)器處理用戶的讀操作請求;寫數(shù)據(jù)庫服務(wù)器執(zhí)行用戶 的寫操作請求,并將寫數(shù)據(jù)庫中發(fā)生變化的數(shù)據(jù)同步到讀數(shù)據(jù)庫服務(wù)器群的各 個數(shù)據(jù)庫服務(wù)器中,以保證寫數(shù)據(jù)庫服務(wù)器和讀數(shù)據(jù)庫服務(wù)器中保存的數(shù)據(jù)一致,因此通過本發(fā)明實(shí)施例提出的方法,使得多個服務(wù)器同時對多個用戶的操 作請求進(jìn)行處理,從而提高了用戶訪問數(shù)據(jù)庫服務(wù)器的效率。明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種數(shù)據(jù)庫系統(tǒng),其特征在于,包括寫數(shù)據(jù)庫服務(wù)器、至少兩個讀數(shù)據(jù)庫服務(wù)器和負(fù)載均衡服務(wù)器,其中寫數(shù)據(jù)庫服務(wù)器,用于執(zhí)行用戶的寫操作請求,并將執(zhí)行所述寫操作請求的寫操作結(jié)果同步給各個讀數(shù)據(jù)庫服務(wù)器;負(fù)載均衡服務(wù)器,用于接收用戶的讀操作請求,并將接收的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理;各個讀數(shù)據(jù)庫服務(wù)器,用于存儲寫數(shù)據(jù)庫服務(wù)器同步來的寫操作結(jié)果,以及處理所述負(fù)載均衡服務(wù)器分配的讀操作請求。
2、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述寫數(shù)據(jù)庫服務(wù)器包括 寫操作請求接收單元,用于接收用戶的寫操作請求; 寫操作執(zhí)行單元,用于執(zhí)行所述寫操作請求接收單元接收到的寫操作請求;事務(wù)日志生成單元,用于將所述寫操作執(zhí)行單元執(zhí)行寫操作請求的寫操作結(jié)果生成對應(yīng)的事務(wù)日志形式;事務(wù)日志發(fā)送單元,用于將所述事務(wù)日志生成單元生成的基于事務(wù)日志形 式的寫操作結(jié)果發(fā)送到各個讀數(shù)據(jù)庫服務(wù)器。
3、 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述寫數(shù)據(jù)庫服務(wù)器還包括 緩存單元,用于緩存所述事務(wù)日志生成單元生成的基于事務(wù)日志形式的寫操作結(jié)果;以及在系統(tǒng)空閑時,所述事務(wù)日志發(fā)送單元將所述緩存單元緩存的基于事務(wù)日 志形式的寫操作結(jié)果發(fā)送到各個讀數(shù)據(jù)庫服務(wù)器。
4、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述負(fù)載均衡服務(wù)器包括 第一監(jiān)控單元,用于監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀才喿作請求任務(wù)情況;第一接收單元,用于接收用戶的讀操作請求;分配單元,用于根據(jù)所述第一監(jiān)控單元的監(jiān)控結(jié)果,將第一接收單元接收 的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個當(dāng)前執(zhí)行任務(wù)最輕的讀數(shù)據(jù)服務(wù)器處理。
5、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述負(fù)載均衡服務(wù)器包括 存儲單元,用于保存各個讀數(shù)據(jù)庫服務(wù)器的處理能力一又值; 第二監(jiān)控單元,用于監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀操作請求任務(wù)情況;第二接收單元,用于接收用戶的讀操作請求;分配單元,用于根據(jù)所述存儲單元存儲的各個讀數(shù)據(jù)庫服務(wù)器的處理能力 權(quán)值、以及結(jié)合第二監(jiān)控單元的監(jiān)控結(jié)果,將第二接收單元接收的讀操作請求 分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理。
6、 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述讀凄t據(jù)庫服務(wù)器包括 事務(wù)日志接收單元,用于接收寫數(shù)據(jù)庫服務(wù)器同步來的基于事務(wù)日志形式的寫搡作結(jié)果;保存單元,用于保存所述事務(wù)日志接收單元接收到的基于事務(wù)日志形式的 寫操作結(jié)果;讀操作請求接收單元,用于接收負(fù)載均衡服務(wù)器分配的讀操作請求; 讀操作處理單元,用于處理所述讀操作請求接收單元接收到的讀操作請求。
7、 一種向數(shù)據(jù)庫寫數(shù)據(jù)的方法,其特征在于,包括步驟 寫數(shù)據(jù)庫服務(wù)器接收用戶發(fā)起的寫操作請求;以及 執(zhí)行所述接收到的寫操作請求,得到對應(yīng)的寫操作結(jié)果;寫數(shù)據(jù)庫服務(wù)器將得到的寫操作結(jié)果同步給各個讀數(shù)據(jù)庫服務(wù)器。
8、 如權(quán)利要求7所述的方法,其特征在于,所述得到的寫4乘作結(jié)果基于 事務(wù)日志形式。
9、 如權(quán)利要求8所述的方法,其特征在于,還包括步驟 緩存所述得到的基于事務(wù)日志形式的寫操作結(jié)果;以及在系統(tǒng)空閑時,將所述緩存的基于事務(wù)日志形式的寫才喿作結(jié)果發(fā)送到各個 讀數(shù)據(jù)庫服務(wù)器。
10、 一種從數(shù)據(jù)庫讀數(shù)據(jù)的方法,其特征在于,包4舌 接收用戶發(fā)起的讀操作請求;將所述接收到的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù) 庫服務(wù)器處理;以及接收到讀操作請求的讀數(shù)據(jù)庫服務(wù)器處理接收到的讀操作請求。
11、 如權(quán)利要求10所述的方法,其特征在于,將接收的讀操作請求分配 給讀數(shù)據(jù)庫服務(wù)器處理的過程具體包括監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀操作請求任務(wù)情況; 根據(jù)監(jiān)控結(jié)果,將接收到的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一 個當(dāng)前執(zhí)行任務(wù)最輕的讀數(shù)據(jù)服務(wù)器處理。
12、 如權(quán)利要求10所述的方法,其特征在于,將接收的讀操作請求分配 給讀數(shù)據(jù)庫服務(wù)器處理的過程具體包括監(jiān)控各個讀數(shù)據(jù)庫服務(wù)器當(dāng)前正在執(zhí)行的讀操作請求任務(wù)情況; 根據(jù)監(jiān)控結(jié)果,以及結(jié)合預(yù)先存儲的各個讀數(shù)據(jù)庫服務(wù)器的處理能力權(quán)值,將接收到的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)庫系統(tǒng),用以提高用戶訪問數(shù)據(jù)庫服務(wù)器的效率,包括寫數(shù)據(jù)庫服務(wù)器、至少兩個讀數(shù)據(jù)庫服務(wù)器和負(fù)載均衡服務(wù)器,其中寫數(shù)據(jù)庫服務(wù)器,用于執(zhí)行用戶的寫操作請求,并將執(zhí)行所述寫操作請求的寫操作結(jié)果同步給各個讀數(shù)據(jù)庫服務(wù)器;負(fù)載均衡服務(wù)器,用于接收用戶的讀操作請求,并將接收的讀操作請求分配給各個讀數(shù)據(jù)庫服務(wù)器中的一個讀數(shù)據(jù)服務(wù)器處理;各個讀數(shù)據(jù)庫服務(wù)器,用于存儲寫數(shù)據(jù)庫服務(wù)器同步來的寫操作結(jié)果,以及處理所述負(fù)載均衡服務(wù)器分配的讀操作請求。
文檔編號H04Q3/00GK101119414SQ20071015224
公開日2008年2月6日 申請日期2007年9月19日 優(yōu)先權(quán)日2007年9月19日
發(fā)明者嚴(yán)永福 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
女性| 寻甸| 莱芜市| 临桂县| 钟山县| 梓潼县| 比如县| 杭锦旗| 调兵山市| 元氏县| 隆尧县| 克什克腾旗| 丰原市| 海伦市| 濉溪县| 万载县| 南和县| 平阴县| 东山县| 甘泉县| 漠河县| 中宁县| 三都| 衡阳市| 永平县| 沙河市| 荔波县| 德阳市| 中山市| 金堂县| 长丰县| 德惠市| 汉寿县| 调兵山市| 新民市| 普安县| 瑞昌市| 奉化市| 乌拉特前旗| 贡嘎县| 莱芜市|