專利名稱::網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理裝置和方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信網(wǎng)絡(luò)應(yīng)用技術(shù),尤其涉及一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理裝置和方法。
背景技術(shù):
:隨著網(wǎng)絡(luò)通訊技術(shù)的飛快發(fā)展,網(wǎng)絡(luò)游戲作為一種休閑娛樂(lè)方式已經(jīng)被越來(lái)越多的人接受。網(wǎng)絡(luò)游戲是指主要通過(guò)互聯(lián)網(wǎng)或局域網(wǎng)由多人共同參與的電子計(jì)算機(jī)游戲。在目前的技術(shù)方案中,網(wǎng)絡(luò)游戲主要通過(guò)網(wǎng)絡(luò)游戲系統(tǒng)實(shí)現(xiàn)。目前的網(wǎng)絡(luò)游戲系統(tǒng)建立在通訊網(wǎng)絡(luò)上,包括網(wǎng)絡(luò)側(cè)的網(wǎng)絡(luò)游戲服務(wù)器和終端側(cè)的網(wǎng)絡(luò)游戲客戶端,用戶可以通過(guò)網(wǎng)絡(luò)游戲客戶端建立一個(gè)或一個(gè)以上的角色,并為所建立的角色起名字,通過(guò)網(wǎng)絡(luò)游戲客戶端登陸所述網(wǎng)絡(luò)游戲系統(tǒng),按照游戲運(yùn)行邏輯在虛擬世界中操作所扮演的角色。目前的網(wǎng)絡(luò)游戲系統(tǒng)可以對(duì)游戲和角色進(jìn)行分區(qū)運(yùn)行。也就是說(shuō),在一個(gè)分區(qū)中運(yùn)行一個(gè)或一個(gè)以上的游戲邏輯,每一個(gè)分區(qū)業(yè)界一般稱之為游戲分區(qū)(World),用戶可以在分區(qū)中創(chuàng)建角色并進(jìn)行游戲。一個(gè)以上的分區(qū)可以組成一個(gè)大區(qū),業(yè)界一般稱之為游戲大區(qū)(Cluster)。角色數(shù)據(jù)是指用戶在游戲中的人物資料,包括人物當(dāng)前穿戴的裝備、背包和倉(cāng)庫(kù)中存放的物品、人物等級(jí)經(jīng)驗(yàn)、人物使用的技能等等。所有游戲邏輯最終都是圍繞角色數(shù)據(jù)完成。角色數(shù)據(jù)關(guān)系到角色在游戲分區(qū)中的能力成長(zhǎng),與其他游戲角色之間的交互。為方便維護(hù)角色數(shù)據(jù),通常都是將同一個(gè)游戲分區(qū)中的角色數(shù)據(jù)按照一定的拆分規(guī)則,統(tǒng)一存放在一個(gè)數(shù)據(jù)庫(kù)的各個(gè)角色數(shù)據(jù)表中。圖1為現(xiàn)有網(wǎng)絡(luò)游戲系統(tǒng)內(nèi)某一分區(qū)的角色數(shù)據(jù)管理裝置的示意圖。參見(jiàn)圖l,所述角色數(shù)據(jù)管理裝置包括游戲運(yùn)行服務(wù)器(ZoneServer)101,用于處理具體的游戲邏輯。分區(qū)注冊(cè)管理模塊(WorldLogin)102,用于根據(jù)游戲運(yùn)行服務(wù)器101的請(qǐng)求管理整個(gè)分區(qū)內(nèi)的角色,包括角色創(chuàng)建、角色登入、角色登出、角色刪除等操作邏輯。分區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)(AllRoleDB)105,用于記錄本分區(qū)內(nèi)角色的統(tǒng)計(jì)數(shù)據(jù),其中主要包括角色I(xiàn)D、角色名、帳號(hào)、角色名創(chuàng)建時(shí)間等信息。分區(qū)數(shù)據(jù)存取模塊(WorldMisc)103,是所述分區(qū)注冊(cè)管理模塊的輔助模塊,用于根據(jù)分區(qū)注冊(cè)管理模塊的操作指令對(duì)所述分區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)中的角色統(tǒng)計(jì)數(shù)據(jù)進(jìn)行存取。分區(qū)角色數(shù)據(jù)庫(kù)(RoleDB)106,用于記錄本分區(qū)內(nèi)角色的詳細(xì)數(shù)據(jù)。角色數(shù)據(jù)服務(wù)器(RoleServer)104,用于根據(jù)分區(qū)注冊(cè)管理模塊的操作指令對(duì)所述分區(qū)角色數(shù)據(jù)庫(kù)中的角色數(shù)據(jù)進(jìn)行存取。由于一個(gè)游戲大區(qū)可以包括一個(gè)以上的游戲分區(qū),因此目前出現(xiàn)了將一個(gè)游戲分區(qū)中創(chuàng)建的角色數(shù)據(jù)轉(zhuǎn)移到另一個(gè)游戲分區(qū),以便用戶在另一游戲分區(qū)繼續(xù)利用同一角色進(jìn)行游戲的需求。為了滿足這個(gè)需求,現(xiàn)有的技術(shù)方案請(qǐng)參見(jiàn)圖2。具體包括將需要進(jìn)行角色數(shù)據(jù)轉(zhuǎn)移的源游戲分區(qū)和目的游戲分區(qū)的角色數(shù)據(jù)管理裝置停機(jī),即禁止用戶登錄游戲系統(tǒng),以保證角色數(shù)據(jù)在轉(zhuǎn)移過(guò)程中的一致性;然后由人工將需要轉(zhuǎn)移的角色數(shù)據(jù)通過(guò)腳本批量地從源游戲分區(qū)的分區(qū)角色數(shù)據(jù)庫(kù)中取出,再插入到目的游戲分區(qū)的分區(qū)角色數(shù)據(jù)庫(kù)中,并將所轉(zhuǎn)移的角色數(shù)據(jù)從源游戲分區(qū)的分區(qū)角色數(shù)據(jù)庫(kù)中刪除。上述現(xiàn)有技術(shù)存在著以下缺陷1)由于游戲分區(qū)之間不能直接自動(dòng)地進(jìn)行角色數(shù)據(jù)轉(zhuǎn)移,整個(gè)角色數(shù)據(jù)的轉(zhuǎn)移過(guò)程需要由專業(yè)人員在游戲分區(qū)停機(jī)后通過(guò)人工操作來(lái)完成,因此無(wú)法自動(dòng)實(shí)現(xiàn)角色數(shù)據(jù)轉(zhuǎn)移,導(dǎo)致整個(gè)游戲系統(tǒng)的運(yùn)行維護(hù)成本比較高。2)為了保證角色數(shù)據(jù)在轉(zhuǎn)移過(guò)程中的一致性,必須停機(jī)處理,因此在游戲運(yùn)行時(shí)不能進(jìn)行角色數(shù)據(jù)的轉(zhuǎn)移,影響了游戲系統(tǒng)的正常運(yùn)行。
發(fā)明內(nèi)容有鑒于此,本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理裝置,從而實(shí)現(xiàn)在游戲分區(qū)之間進(jìn)行角色數(shù)據(jù)的自動(dòng)轉(zhuǎn)移,降低游戲系統(tǒng)的運(yùn)行維護(hù)成本。本發(fā)明所要解決的另一技術(shù)問(wèn)題在于提供一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理方法,從而實(shí)現(xiàn)在游戲分區(qū)之間進(jìn)行角色數(shù)據(jù)的自動(dòng)轉(zhuǎn)移,降低游戲系統(tǒng)的運(yùn)行維護(hù)成本。為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明的主要技術(shù)方案為一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理裝置,所述網(wǎng)絡(luò)游戲系統(tǒng)對(duì)角色進(jìn)行分區(qū)運(yùn)行,該裝置包括大區(qū)角色管理模塊和至少二個(gè)分區(qū)角色管理模塊,其中大區(qū)角色管理模塊用于轉(zhuǎn)發(fā)源分區(qū)角色管理模塊和目的分區(qū)角色管理模塊之間的角色數(shù)據(jù)轉(zhuǎn)移信息;分區(qū)角色管理模塊用于管理本分區(qū)內(nèi)的角色數(shù)據(jù);在轉(zhuǎn)移角色數(shù)據(jù)時(shí),發(fā)送轉(zhuǎn)出的角色數(shù)據(jù)給大區(qū)角色管理模塊,由大區(qū)角色管理模塊將所述角色數(shù)據(jù)轉(zhuǎn)入到目的分區(qū)角色管理模塊;當(dāng)接收到大區(qū)角色管理模塊轉(zhuǎn)入的角色數(shù)據(jù)時(shí),在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)。優(yōu)選的,所述分區(qū)角色管理模塊具體包括分區(qū)注冊(cè)管理模塊,用于接收轉(zhuǎn)移指令,通知角色數(shù)據(jù)服務(wù)器獲取所要轉(zhuǎn)出的角色數(shù)據(jù),發(fā)送給大區(qū)角色管理模塊;同時(shí)接收大區(qū)角色管理模塊轉(zhuǎn)入的角色數(shù)據(jù),通過(guò)角色數(shù)據(jù)服務(wù)器在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù);分區(qū)角色數(shù)據(jù)庫(kù),用于記錄本分區(qū)內(nèi)的角色數(shù)據(jù);角色數(shù)據(jù)服務(wù)器,用于對(duì)所述分區(qū)角色數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行讀寫(xiě)操作。優(yōu)選的,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括鎖定模塊,用于在有角色數(shù)據(jù)轉(zhuǎn)出或轉(zhuǎn)入時(shí),將轉(zhuǎn)出的源角色數(shù)據(jù)或轉(zhuǎn)入的副本角色數(shù)據(jù)鎖定,并阻止分區(qū)角色管理模塊對(duì)所述處于鎖定狀態(tài)的角色數(shù)據(jù)進(jìn)行操作。優(yōu)選的,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括角色數(shù)據(jù)唯一性驗(yàn)證模塊,具體包括第一驗(yàn)證模塊和第二驗(yàn)證模塊,其中第一驗(yàn)證模塊用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到目的分區(qū)角色管理模塊,查詢所述源角色數(shù)據(jù)對(duì)應(yīng)的副本角色數(shù)據(jù)是否已經(jīng)成功創(chuàng)建,如果是,則解除對(duì)所述源角色數(shù)據(jù)的鎖定,并刪除所述源角色數(shù)據(jù);第二驗(yàn)證模塊用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到源分區(qū)角色管理模塊,査詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)是否刪除,如果是,則解除對(duì)所述副本角色數(shù)據(jù)的鎖定。優(yōu)選的,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括自動(dòng)解鎖單元,用于監(jiān)測(cè)本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù)的鎖定時(shí)間是否超過(guò)預(yù)定時(shí)間,如果超過(guò),則解除對(duì)該源角色數(shù)據(jù)的鎖定。優(yōu)選的,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括第三驗(yàn)證模塊,用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到源分區(qū)角色管理模塊,查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)是否解除鎖定,如果是,則解除對(duì)所述副本角色數(shù)據(jù)的鎖定,并刪除該副本角色數(shù)據(jù)。一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理方法,適用于對(duì)角色進(jìn)行分區(qū)運(yùn)行的網(wǎng)絡(luò)游戲系統(tǒng),設(shè)置大區(qū)角色管理模塊;在轉(zhuǎn)移角色數(shù)據(jù)時(shí)包括A、源游戲分區(qū)將需要轉(zhuǎn)出的角色數(shù)據(jù)發(fā)送到大區(qū)角色管理模塊;B、大區(qū)角色管理模塊將所述角色數(shù)據(jù)轉(zhuǎn)入到目的游戲分區(qū);C、目的游戲分區(qū)在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)。優(yōu)選的,在源游戲分區(qū)轉(zhuǎn)出角色數(shù)據(jù)時(shí),進(jìn)一步包括將所述轉(zhuǎn)出的角色數(shù)據(jù)鎖定,禁止對(duì)鎖定的角色數(shù)據(jù)進(jìn)行操作;在目的游戲分區(qū)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)時(shí),進(jìn)一步包括將創(chuàng)建的角色數(shù)據(jù)鎖定,禁止對(duì)鎖定的角色數(shù)據(jù)進(jìn)行操作。優(yōu)選的,步驟C之后,進(jìn)一步包括D、當(dāng)所述目的游戲分區(qū)成功創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)后,通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)數(shù)據(jù)創(chuàng)建成功的消息給源游戲分區(qū);E、源游戲分區(qū)收到所述數(shù)據(jù)創(chuàng)建成功的消息后,將對(duì)應(yīng)的源角色數(shù)據(jù)進(jìn)行解鎖,并刪除源角色數(shù)據(jù)。優(yōu)選的,步驟E之后,進(jìn)一步包括F、源游戲分區(qū)通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)成功刪除源角色數(shù)據(jù)的消息給目的游戲分區(qū);G、目的游戲分區(qū)收到所述成功刪除源角色數(shù)據(jù)的消息后,將對(duì)應(yīng)創(chuàng)建的副本角色數(shù)據(jù)解鎖。優(yōu)選的,步驟C之后,進(jìn)一步包括源游戲分區(qū)遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù),對(duì)于每個(gè)處于鎖定狀態(tài)的源角色數(shù)據(jù),執(zhí)行以下流程al、通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)查詢消息到目的游戲分區(qū),用于查詢目的游戲分區(qū)是否已經(jīng)成功創(chuàng)建源角色數(shù)據(jù)的副本;a2、目的游戲分區(qū)將所述創(chuàng)建結(jié)果通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)到源游戲分區(qū);a3、源游戲分區(qū)識(shí)別所返回結(jié)果的內(nèi)容,當(dāng)所述結(jié)果表明目的游戲分區(qū)已經(jīng)成功創(chuàng)建所述源角色數(shù)據(jù)的副本時(shí),對(duì)所述源角色數(shù)據(jù)解鎖,并刪除所述源角色數(shù)據(jù)。優(yōu)選的,該方法進(jìn)一步包括目的游戲分區(qū)遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),對(duì)于每個(gè)處于鎖定狀態(tài)的副本角色數(shù)據(jù),執(zhí)行以下流程bl、目的游戲分區(qū)通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)查詢消息到源游戲分區(qū),用于查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)的狀態(tài);b2、源游戲分區(qū)將反映所述源角色數(shù)據(jù)狀態(tài)的查詢結(jié)果通過(guò)大區(qū)角色管理模塊返回給目的游戲分區(qū);b3、目的游戲分區(qū)識(shí)別所述返回查詢結(jié)果的內(nèi)容,當(dāng)所述查詢結(jié)果表明源游戲分區(qū)已經(jīng)刪除所述源角色數(shù)據(jù)時(shí),對(duì)所述處于鎖定狀態(tài)的副本角色數(shù)據(jù)進(jìn)行解鎖。優(yōu)選的,源游戲分區(qū)鎖定轉(zhuǎn)出的角色數(shù)據(jù)后,如果鎖定時(shí)間超過(guò)預(yù)定時(shí)間,則自動(dòng)對(duì)該角色數(shù)據(jù)進(jìn)行解鎖。優(yōu)選的,進(jìn)一步包括目的游戲分區(qū)遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),對(duì)于每個(gè)處于鎖定狀態(tài)的副本角色數(shù)據(jù),執(zhí)行以下流程cl、目的游戲分區(qū)通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)查詢消息到源游戲分區(qū),用于查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)的狀態(tài);c2、源游戲分區(qū)將反映所述源角色數(shù)據(jù)狀態(tài)的查詢結(jié)果通過(guò)大區(qū)角色管理模塊返回給目的游戲分區(qū);c3、目的游戲分區(qū)識(shí)別所述返回査詢結(jié)果的內(nèi)容,當(dāng)所述查詢結(jié)果表明所述源角色數(shù)據(jù)已經(jīng)解鎖,則對(duì)所述處于鎖定狀態(tài)的副本角色數(shù)據(jù)進(jìn)行解鎖,并刪除該副本角色數(shù)據(jù)。本發(fā)明具有以下有益效果一、由于本發(fā)明在游戲系統(tǒng)中設(shè)置大區(qū)角色管理模塊,作為游戲分區(qū)之間的轉(zhuǎn)移數(shù)據(jù)的中轉(zhuǎn)設(shè)備,分區(qū)角色管理模塊中具有自動(dòng)執(zhí)行的角色數(shù)據(jù)服務(wù)器和分區(qū)注冊(cè)管理模塊,游戲分區(qū)之間轉(zhuǎn)移角色數(shù)據(jù)時(shí),由分區(qū)角色管理模塊自動(dòng)獲取需轉(zhuǎn)出的角色數(shù)據(jù),并由大區(qū)角色管理模塊自動(dòng)轉(zhuǎn)發(fā)角色數(shù)據(jù)的相關(guān)轉(zhuǎn)移信息,并且目的游戲分區(qū)收到轉(zhuǎn)入的角色數(shù)據(jù)后,自動(dòng)按照創(chuàng)建新角色的流程,將所述轉(zhuǎn)入的角色數(shù)據(jù)創(chuàng)建在本游戲分區(qū)內(nèi)。因此,本發(fā)明不需要人工干預(yù),就可以實(shí)現(xiàn)在游戲分區(qū)之間進(jìn)行角色數(shù)據(jù)的自動(dòng)轉(zhuǎn)移,降低游戲系統(tǒng)的運(yùn)行維護(hù)成本。而且,所述角色數(shù)據(jù)的轉(zhuǎn)移過(guò)程不需要專業(yè)人員在系統(tǒng)后臺(tái)進(jìn)行,用戶可以在系統(tǒng)前臺(tái)自主地進(jìn)行角色數(shù)據(jù)轉(zhuǎn)移操作,從而方便了用戶操作,增強(qiáng)了用戶的體驗(yàn)感受。二、由于在角色數(shù)據(jù)的轉(zhuǎn)出和轉(zhuǎn)入過(guò)程中,本發(fā)明對(duì)角色數(shù)據(jù)進(jìn)行鎖定,禁止對(duì)其進(jìn)行操作,因此不需要停機(jī)也可保證角色數(shù)據(jù)在轉(zhuǎn)移過(guò)程中的一致性,即角色數(shù)據(jù)在轉(zhuǎn)移過(guò)程中不會(huì)改變。從而可以實(shí)現(xiàn)在進(jìn)行角色數(shù)據(jù)的轉(zhuǎn)移時(shí),不影響游戲系統(tǒng)的正常運(yùn)行。三、本發(fā)明還可以進(jìn)一步在角色數(shù)據(jù)成功轉(zhuǎn)入目的游戲分區(qū)后,刪除源游戲分區(qū)內(nèi)的源角色數(shù)據(jù),從而保證在整個(gè)游戲大區(qū)內(nèi)角色數(shù)據(jù)的唯一性,方便對(duì)角色數(shù)據(jù)進(jìn)行統(tǒng)一的管理,提高管理效率。四、為了避免確認(rèn)消息丟失造成角色數(shù)據(jù)復(fù)制失敗或者丟失,本發(fā)明還可以進(jìn)一步由源游戲分區(qū)和目的游戲分區(qū)分別輪訓(xùn)遍歷檢測(cè)所述轉(zhuǎn)移角色數(shù)據(jù)的唯一性,以進(jìn)一步保證角色數(shù)據(jù)在任一時(shí)刻只在一個(gè)游戲分區(qū)中有效。從而進(jìn)一步提高了對(duì)角色數(shù)據(jù)的管理效率。圖l為現(xiàn)有網(wǎng)絡(luò)游戲系統(tǒng)內(nèi)某一分區(qū)的角色數(shù)據(jù)管理裝置的示意圖;圖2為現(xiàn)有轉(zhuǎn)移角色數(shù)據(jù)的示意圖;圖3為本發(fā)明所述角色數(shù)據(jù)管理裝置的示意圖;圖4為本發(fā)明所述角色數(shù)據(jù)管理方法的一種實(shí)施例的流程圖;圖5為源游戲分區(qū)輪訓(xùn)檢測(cè)轉(zhuǎn)移角色數(shù)據(jù)唯一性的一種實(shí)施流程圖;圖6為目的游戲分區(qū)輪訓(xùn)檢測(cè)轉(zhuǎn)移角色數(shù)據(jù)唯一性的一種實(shí)施流程圖。具體實(shí)施方式下面通過(guò)具體實(shí)施例和附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。本發(fā)明所適用的網(wǎng)絡(luò)游戲系統(tǒng)對(duì)角色進(jìn)行分區(qū)運(yùn)行。在一個(gè)分區(qū)中運(yùn)行一個(gè)或一個(gè)以上的游戲邏輯,每一個(gè)分區(qū)業(yè)界一般稱之為游戲分區(qū),用戶可以在分區(qū)中創(chuàng)建角色并進(jìn)行游戲。一個(gè)以上的分區(qū)可以組成一個(gè)大區(qū),業(yè)界一般稱之為游戲大區(qū)。圖3為本發(fā)明所述角色數(shù)據(jù)管理裝置的示意圖。參見(jiàn)圖3,本發(fā)明所述的角色數(shù)據(jù)管理裝置包括至少二個(gè)分區(qū)角色管理模塊301和一個(gè)大區(qū)角色管理模塊302。其中分區(qū)角色管理模塊301用于管理本分區(qū)內(nèi)角色的數(shù)據(jù)。所述的管理操作除了轉(zhuǎn)移角色數(shù)據(jù),還包括創(chuàng)建、刪除角色,以及登入、登出角色數(shù)據(jù)等。由于本發(fā)明主要涉及轉(zhuǎn)移角色數(shù)據(jù)操作,因此本文中主要對(duì)轉(zhuǎn)移角色數(shù)據(jù)進(jìn)行說(shuō)明,其它的管理操作可以參考現(xiàn)有分區(qū)角色管理模塊的管理操作技術(shù)。分區(qū)角色管理模塊301在轉(zhuǎn)移角色數(shù)據(jù)時(shí),發(fā)送轉(zhuǎn)出的角色數(shù)據(jù)給大區(qū)角色管理模塊,由大區(qū)角色管理模塊將所述角色數(shù)據(jù)轉(zhuǎn)入到目的分區(qū)角色管理模塊;當(dāng)接收到大區(qū)角色管理模塊轉(zhuǎn)入的角色數(shù)據(jù)時(shí),在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)。大區(qū)角色管理模塊302用于管理大區(qū)內(nèi)角色的統(tǒng)計(jì)數(shù)據(jù),在轉(zhuǎn)移角色數(shù)據(jù)過(guò)程中起到源分區(qū)角色管理模塊和目的分區(qū)角色管理模塊之間的信息中轉(zhuǎn)作用。如圖3所示,所述分區(qū)角色管理模塊301主要包括分區(qū)注冊(cè)管理模塊(Worldlogin)311、角色數(shù)據(jù)服務(wù)器(Zoneserver)313以及分區(qū)角色數(shù)據(jù)庫(kù)(RoleDB)312。還可以進(jìn)一步包括分區(qū)數(shù)據(jù)存取模塊(Worldmisc)315和分區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)(AllRoleDB)314。分區(qū)注冊(cè)管理模塊311用于按照網(wǎng)絡(luò)游戲系統(tǒng)中的游戲運(yùn)行服務(wù)器(Zoneserver)101的請(qǐng)求,執(zhí)行角色的管理操作,例如包括轉(zhuǎn)移角色數(shù)據(jù)、以及角色創(chuàng)建、刪除、登入、登出等操作。所述游戲運(yùn)行服務(wù)器101上可以提供角色數(shù)據(jù)轉(zhuǎn)移請(qǐng)求的觸發(fā)接口,用戶可以輸入需要轉(zhuǎn)移的角色標(biāo)識(shí)以及轉(zhuǎn)移的目的游戲分區(qū)標(biāo)識(shí)。分區(qū)注冊(cè)管理模塊311在接收到游戲運(yùn)行服務(wù)器101的轉(zhuǎn)移指令后,通知角色數(shù)據(jù)服務(wù)器313獲取所述指令中所要轉(zhuǎn)出的角色數(shù)據(jù),將角色數(shù)據(jù)連同目的游戲分區(qū)的標(biāo)識(shí)發(fā)送給大區(qū)角色管理模塊302,由大區(qū)角色管理模塊302轉(zhuǎn)發(fā)所述角色數(shù)據(jù)到目的游戲分區(qū)的分區(qū)注冊(cè)管理模塊;同時(shí),分區(qū)注冊(cè)管理模塊311接收大區(qū)角色管理模塊轉(zhuǎn)入的角色數(shù)據(jù),安裝新角色創(chuàng)建流程將轉(zhuǎn)入的角色數(shù)據(jù)作為新角色進(jìn)行創(chuàng)建,即通過(guò)角色數(shù)據(jù)服務(wù)器313在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)。分區(qū)角色數(shù)據(jù)庫(kù)312用于記錄本分區(qū)內(nèi)角色的詳細(xì)數(shù)據(jù),包括初始化數(shù)據(jù)等。以下表1所示為分區(qū)角色數(shù)據(jù)庫(kù)表的結(jié)構(gòu)。<table>tableseeoriginaldocumentpage14</column></row><table>表1表1中,所述一個(gè)角色的角色數(shù)據(jù)中需要包括帳號(hào)名、角色名、角色的其它詳細(xì)數(shù)據(jù),所述其它詳細(xì)數(shù)據(jù)例如包括角色人物當(dāng)前穿戴的裝備、背包和倉(cāng)庫(kù)中存放的物品、人物等級(jí)經(jīng)驗(yàn)、人物使用的技能等等。針對(duì)角色數(shù)據(jù)的轉(zhuǎn)移功能,所述角色數(shù)據(jù)中還包括角色數(shù)據(jù)鎖定標(biāo)記(bLockFlag)、對(duì)方分區(qū)標(biāo)識(shí)(dwCopyWorldID)以及轉(zhuǎn)換開(kāi)始時(shí)間(dtTransTime)。所述bLockFlag表明當(dāng)前角色數(shù)據(jù)是否被鎖定。當(dāng)角色數(shù)據(jù)被鎖定時(shí),則禁止對(duì)該角色數(shù)據(jù)進(jìn)行操作,在帳號(hào)登入的角色列表中此角色是不可見(jiàn)的,不允許使用該角色數(shù)據(jù),例如包括角色登入、角色數(shù)據(jù)轉(zhuǎn)移等操作;從而保證了角色數(shù)據(jù)在搬移的過(guò)程中,這個(gè)角色數(shù)據(jù)不會(huì)改變。bLockFlag的值分別為源數(shù)據(jù)鎖定標(biāo)記(LOCK—TYPE—SRC),當(dāng)搬移角色數(shù)據(jù)時(shí),在源游戲分區(qū)的角色數(shù)據(jù)上打上此標(biāo)記,表明此角色數(shù)據(jù)為源數(shù)據(jù),并在dwCopyWorldID中記錄目標(biāo)游戲分區(qū)的編號(hào)。副本數(shù)據(jù)鎖定標(biāo)記(LOCKJTYPE—COPY),當(dāng)搬移角色數(shù)據(jù)時(shí),在目的游戲分區(qū)的角色數(shù)據(jù)上打上此標(biāo)記,表明此角色數(shù)據(jù)為副本角色數(shù)據(jù),并在dwC叩yWorldID中記錄源游戲分區(qū)的編號(hào)。角色數(shù)據(jù)未被鎖定(LOCK一TYPE一NULL),當(dāng)角色數(shù)據(jù)處于該未被鎖定狀態(tài)時(shí),游戲分區(qū)可以對(duì)該角色數(shù)據(jù)進(jìn)行操作。角色數(shù)據(jù)服務(wù)器313用于根據(jù)分區(qū)注冊(cè)管理模塊311的操作指令對(duì)所述分區(qū)角色數(shù)據(jù)庫(kù)312中的角色數(shù)據(jù)進(jìn)行存取操作。所述角色數(shù)據(jù)服務(wù)器313中進(jìn)一步包括鎖定模塊,用于在有角色數(shù)據(jù)轉(zhuǎn)出或轉(zhuǎn)入時(shí),將轉(zhuǎn)出的源角色數(shù)據(jù)或轉(zhuǎn)入的副本角色數(shù)據(jù)鎖定,并阻止分區(qū)角色管理模塊對(duì)所述處于鎖定狀態(tài)的角色數(shù)據(jù)進(jìn)行操作。自動(dòng)解鎖單元,用于監(jiān)測(cè)本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù)的鎖定時(shí)間是否超過(guò)預(yù)定時(shí)間,如果超過(guò),則解除對(duì)該源角色數(shù)據(jù)的鎖定。本發(fā)明在角色數(shù)據(jù)的轉(zhuǎn)移過(guò)程中,需要保證角色數(shù)據(jù)搬移的過(guò)程的原子性,即角色數(shù)據(jù)在搬移過(guò)程中不會(huì)改變,角色數(shù)據(jù)在任一時(shí)刻只在一個(gè)游戲分區(qū)中有效。所述的角色數(shù)據(jù)搬移操作可以簡(jiǎn)化為,使用一個(gè)游戲分區(qū)中已有的角色數(shù)據(jù)在另一個(gè)游戲分區(qū)中創(chuàng)建角色的過(guò)程。為了保證角色數(shù)據(jù)在任一時(shí)刻只在一個(gè)游戲分區(qū)中有效,所述角色數(shù)據(jù)服務(wù)器313中還進(jìn)一步包括角色數(shù)據(jù)唯一性驗(yàn)證模塊,具體包括第一驗(yàn)證模塊和第二驗(yàn)證模塊,其中第一驗(yàn)證模塊用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到目的分區(qū)角色管理模塊,查詢所述源角色數(shù)據(jù)對(duì)應(yīng)的副本角色數(shù)據(jù)是否已經(jīng)成功創(chuàng)建,如果是,則解除對(duì)所述源角色數(shù)據(jù)的鎖定,并刪除所述源角色數(shù)據(jù)。第二驗(yàn)證模塊用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到源分區(qū)角色管理模塊,查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)是否刪除,如果是,則解除對(duì)所述副本角色數(shù)據(jù)的鎖定。所述角色數(shù)據(jù)服務(wù)器313中還可進(jìn)一步包括第三驗(yàn)證模塊,用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到源分區(qū)角色管理模塊,查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)是否解除鎖定,如果是,則解除對(duì)所述副本角色數(shù)據(jù)的鎖定,并刪除該副本角色數(shù)據(jù)。在分區(qū)角色管理模塊中,還可以進(jìn)一步包括分區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)314和分區(qū)數(shù)據(jù)存取模塊315。分區(qū)注冊(cè)管理模塊311還可以將本分區(qū)內(nèi)的角色的統(tǒng)計(jì)數(shù)據(jù)存入分區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)314中,所述的角色統(tǒng)計(jì)數(shù)據(jù)中至少包括本分區(qū)內(nèi)每個(gè)角色的角色名,便于網(wǎng)絡(luò)游戲系統(tǒng)進(jìn)行本分區(qū)內(nèi)的角色數(shù)據(jù)操作。分區(qū)數(shù)據(jù)存取模塊315,為分區(qū)注冊(cè)管理模塊311的輔助模塊,用于根據(jù)分區(qū)注冊(cè)管理模塊311的操作指令對(duì)所述分區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)314中的角色統(tǒng)計(jì)數(shù)據(jù)進(jìn)行存取。如圖3所示,所述大區(qū)角色管理模塊302具體包括大區(qū)注冊(cè)管理模塊(Clusterlogin)321,主要用于轉(zhuǎn)發(fā)源分區(qū)角色管理模塊和目的分區(qū)角色管理模塊之間的角色數(shù)據(jù)轉(zhuǎn)移信息。還可以根據(jù)分區(qū)注冊(cè)管理模塊311的請(qǐng)求對(duì)大區(qū)內(nèi)的角色數(shù)據(jù)進(jìn)行管理操作,例如在角色創(chuàng)建、刪除時(shí)對(duì)角色的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行相應(yīng)操作。在某分區(qū)角色管理模塊301創(chuàng)建角色時(shí),查詢?cè)摻巧诖髤^(qū)范圍內(nèi)是否已經(jīng)存在,如果已經(jīng)存在則指示所述分區(qū)角色管理模塊拒絕創(chuàng)建所述角色名,如果不存在,則記錄所要?jiǎng)?chuàng)建角色的角色名等統(tǒng)計(jì)數(shù)據(jù),并指示所述分區(qū)角色管理模塊301創(chuàng)建所述角色。大區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)(ClusterallroleDB)323,用于記錄當(dāng)前大區(qū)中的角色統(tǒng)計(jì)數(shù)據(jù),其中至少包括當(dāng)前大區(qū)內(nèi)每個(gè)角色的角色名。大區(qū)數(shù)據(jù)存取模塊(Clustermisc)322,為所述大區(qū)注冊(cè)管理模塊321的輔助模塊,用于根據(jù)大區(qū)注冊(cè)管理模塊321的操作指令對(duì)所述大區(qū)角色統(tǒng)計(jì)數(shù)據(jù)庫(kù)323中的角色統(tǒng)計(jì)數(shù)據(jù)進(jìn)行存取。圖4為本發(fā)明所述角色數(shù)據(jù)管理方法的一種實(shí)施例的流程圖。假設(shè)在本實(shí)施例中,要從Worldl(即游戲分區(qū)1)中轉(zhuǎn)移一個(gè)角色的角色數(shù)據(jù)到World2(即游戲分區(qū)2);并且相對(duì)于Worldl,所轉(zhuǎn)移的角色數(shù)據(jù)稱為源角色數(shù)據(jù)或者轉(zhuǎn)出角色數(shù)據(jù),相對(duì)于World2,所轉(zhuǎn)移的角色數(shù)據(jù)稱為副本角色數(shù)據(jù)或者轉(zhuǎn)入角色數(shù)據(jù)。參見(jiàn)圖4,所述流程包括步驟401、zoneserver向World1的Worldloginl發(fā)送角色數(shù)據(jù)轉(zhuǎn)移請(qǐng)求;該請(qǐng)求中指定了需要轉(zhuǎn)移的角色標(biāo)識(shí)。步驟402、Worldloginl檢查所述需要轉(zhuǎn)移的角色是否在線,如果角色不在線,則發(fā)送轉(zhuǎn)移消息到Roleserverl讀取所述角色的角色數(shù)據(jù),否則,向zoneserver返回錯(cuò)誤消息,不允許搬移角色數(shù)據(jù)。步驟403、Roleserver1在所述角色數(shù)據(jù)上打上標(biāo)記LOCK—TYPE—SRC以鎖定所述角色數(shù)據(jù),并記錄目標(biāo)World的標(biāo)識(shí)(Worldid1),返回所述角色數(shù)據(jù)給Worldlogin1。步驟404、Worldlogin1將角色數(shù)據(jù)發(fā)送給Clusterlogin。步驟405、Clusterlogin將角色數(shù)據(jù)轉(zhuǎn)發(fā)給目的游戲分區(qū)World2的Worldlogin2。Worldlogin2利用創(chuàng)建角色流程在本分區(qū)內(nèi)創(chuàng)建所述角色數(shù)據(jù)。步驟406、Worldlogin2發(fā)送注冊(cè)消息給Worldmisc2,由Worldmisc2在World2的角色統(tǒng)計(jì)表中注冊(cè)角色名字并分配角色在World2中的角色I(xiàn)D。步驟407、Worldmisc2注冊(cè)角色名字成功,返回角色I(xiàn)D給Worldlogin2。步驟408、Worldlogin2發(fā)送角色數(shù)據(jù)給Roleserver2,以在World2的角色數(shù)據(jù)庫(kù)中保存角色數(shù)據(jù)。步驟409、Roleserver2在World2的角色數(shù)據(jù)庫(kù)中記錄角色數(shù)據(jù),在角色數(shù)據(jù)上打上標(biāo)記LOCK—TYPE—COPY以鎖定該角色數(shù)據(jù),并記錄源游戲分區(qū)Worldl的編號(hào);在完成前述操作后,Roleserver2返回角色數(shù)據(jù)創(chuàng)建成功(即角色數(shù)據(jù)保存成功)的消息給World1ogin2。步驟410、Worldlogin2將角色數(shù)據(jù)轉(zhuǎn)移結(jié)果返回給Clusterlogin,所述轉(zhuǎn)移結(jié)果中包括所述角色數(shù)據(jù)是否創(chuàng)建成功的信息。步驟411、Clusterlogin返回角色數(shù)據(jù)轉(zhuǎn)移結(jié)果給Worldlogin1。至此角色數(shù)據(jù)復(fù)制結(jié)束。步驟412、Worldloginl將角色數(shù)據(jù)轉(zhuǎn)移結(jié)果返回給zoneserver。為了保證在游戲大區(qū)中角色數(shù)據(jù)的唯一性,即一個(gè)角色只能出現(xiàn)在一個(gè)游戲分區(qū)中。因此本發(fā)明在Worldlogin1收到Clusterlogin返回角色數(shù)據(jù)轉(zhuǎn)移結(jié)果后還可以進(jìn)一步包括步驟413、Worldlogin1識(shí)別所述角色數(shù)據(jù)轉(zhuǎn)移結(jié)果的內(nèi)容,當(dāng)所述結(jié)果內(nèi)容表明角色數(shù)據(jù)創(chuàng)建成功時(shí),則發(fā)送轉(zhuǎn)移結(jié)果到Roleserver1。步驟414、Roleserver1在所述源角色數(shù)據(jù)上打上標(biāo)記LOCK—TYPE_NULL,以解除所述源角色數(shù)據(jù)的鎖定狀態(tài),然后刪除該源角色數(shù)據(jù)。從而保證所述角色數(shù)據(jù)只有在World2中存在;Roleserver1刪除所述源角色數(shù)據(jù)后,發(fā)送源角色數(shù)據(jù)已刪除消息給Worldloginl。步驟415、Worldloginl發(fā)送源角色數(shù)據(jù)已刪除消息給Clusterlogin。步驟416、Clusterlogin發(fā)送源角色數(shù)據(jù)已刪除消息給副本角色數(shù)據(jù)所在World2的World1ogin2。步驟417、Worldlogin2通知Roleserver2設(shè)置副本角色數(shù)據(jù)鎖定狀態(tài)為L(zhǎng)OCK_TYPE—NULL,以解除對(duì)副本角色數(shù)據(jù)的鎖定。用戶可以在World2登入此角色,角色數(shù)據(jù)轉(zhuǎn)移結(jié)東。在上述處理流程中,游戲分區(qū)角色數(shù)據(jù)復(fù)制轉(zhuǎn)移的相關(guān)消息需要經(jīng)過(guò)大區(qū)角色管理模塊中的cluster一login轉(zhuǎn)發(fā),但是分區(qū)角色管理模塊到大區(qū)角色管理模塊之間的專線很不穩(wěn)定,經(jīng)常出現(xiàn)斷線的情況。為了避免確認(rèn)消息丟失造成角色數(shù)據(jù)復(fù)制失敗或者丟失,本發(fā)明還可以進(jìn)一步由源游戲分區(qū)和目的游戲分區(qū)分別輪訓(xùn)檢測(cè)所述轉(zhuǎn)移角色數(shù)據(jù)的唯一性,以進(jìn)一步保證角色數(shù)據(jù)在任一時(shí)刻只在一個(gè)游戲分區(qū)中有效。圖5為源游戲分區(qū)輪訓(xùn)檢測(cè)轉(zhuǎn)移角色數(shù)據(jù)唯一性的一種實(shí)施流程圖。參見(jiàn)圖5,該流程包括步驟501、Roleserverl遍歷分區(qū)角色數(shù)據(jù)庫(kù)列表中處于LOCK—TYPE—SRC狀態(tài)(即鎖定狀態(tài))的角色數(shù)據(jù),對(duì)于每個(gè)處于LOCK—TYPE—SRC狀態(tài)的角色數(shù)據(jù),發(fā)送查詢消息給Worldloginl。所述查詢消息中包括處于LOCK—TYPE—SRC狀態(tài)的角色標(biāo)識(shí),用于查詢所標(biāo)識(shí)角色的角色數(shù)據(jù)是否已經(jīng)成功創(chuàng)建到目的游戲分區(qū)。步驟502、Worldlogin1轉(zhuǎn)發(fā)所述查詢消息到Clusterlogin。步驟503、Clusterlogin將所述查詢消息轉(zhuǎn)發(fā)給World2的Worldlogin2。步驟504、Worldlogin2轉(zhuǎn)發(fā)所述查詢消息到World2的Roleserver2,以查詢所述查詢消息中標(biāo)識(shí)角色的數(shù)據(jù)狀態(tài),即所標(biāo)識(shí)角色的角色數(shù)據(jù)是否已經(jīng)成功地創(chuàng)建到World2。步驟505、Roleserver2返回查詢結(jié)果到World1ogin2。步驟506、World1ogin2返回所述查詢結(jié)果到Clusterlogin。步驟507、Clusterlogin返回所述查詢結(jié)果到Worldl的Worldloginl,Worldloginl識(shí)別所述查詢結(jié)果的內(nèi)容,如果查詢結(jié)果表明某個(gè)處于LOCK—TYPE—SRC狀態(tài)的角色(例如角色a)的數(shù)據(jù)已經(jīng)成功地創(chuàng)建到World2,則執(zhí)行步驟508和步驟809。如果查詢結(jié)果表明某個(gè)處于LOCK_TYPE—SRC狀態(tài)的角色(例如角色b)的數(shù)據(jù)沒(méi)有成功地創(chuàng)建到World2,則在World1中繼續(xù)鎖定該角色b的角色數(shù)據(jù)。步驟508、Worldloginl通知Worldmiscl從World1角色統(tǒng)計(jì)表中刪除所述角色a對(duì)應(yīng)的角色名。步驟509、Worldloginl通知Roleserver1從World1角色數(shù)據(jù)庫(kù)中對(duì)角色a的角色數(shù)據(jù)進(jìn)行解鎖,并刪除角色a的角色數(shù)據(jù)。圖6為目的游戲分區(qū)輪訓(xùn)檢測(cè)轉(zhuǎn)移角色數(shù)據(jù)唯一性的一種實(shí)施流程圖。參見(jiàn)圖6,該流程包括步驟601、目的游戲分區(qū)World2的Roleserver2遍歷本分區(qū)角色數(shù)據(jù)庫(kù)中所有處于LOCK—TYPE—COPY狀態(tài)的角色數(shù)據(jù)(即處于鎖定狀態(tài)的副本角色數(shù)據(jù)),對(duì)于每個(gè)處于LOCK_TYPE_COPY狀態(tài)的角色數(shù)據(jù),發(fā)送查詢消息給World1ogin2。所述查詢消息中包括處于LOCK—TYPE_COPY狀態(tài)的角色標(biāo)識(shí),用于查詢?cè)谠从螒蚍謪^(qū)中,所標(biāo)識(shí)角色的源角色數(shù)據(jù)是否已經(jīng)成功刪除。步驟602、Worldlogin2將所述查詢消息轉(zhuǎn)發(fā)給Clusterlogin。步驟603、Clusterlogin將所述查詢消息轉(zhuǎn)發(fā)給源游戲分區(qū)World1的Worldlogin1。步驟604、Worldlogin1轉(zhuǎn)發(fā)所述查詢消息到Roleserver1;Roleserver1從角色數(shù)據(jù)庫(kù)中查詢所述查詢消息中所標(biāo)識(shí)角色的源角色數(shù)據(jù)是否已經(jīng)成步驟605、Roleserver1返回查詢結(jié)果給Worldlogin1。步驟606、Worldlogin1返回所述查詢結(jié)果給Clusterlogin。步驟607、Clusterlogin返回所述查詢結(jié)果給World2的Worldlogin2。步驟608、Worldlogin2識(shí)別所述查詢結(jié)果的內(nèi)容,如果查詢結(jié)果表明某個(gè)處于LOCK—TYPE—COPY狀態(tài)的角色(例如角色a)的數(shù)據(jù)在World1中已經(jīng)成功刪除,則說(shuō)明角色a在World2中的副本角色數(shù)據(jù)當(dāng)前是唯一的,因此Worldlogin2通知Roleserver2設(shè)置角色a的數(shù)據(jù)鎖定狀態(tài)為L(zhǎng)OCK—TYPE—NULL,以解除對(duì)角色a的數(shù)據(jù)鎖定。用戶可以在World2中登入此角色a,角色轉(zhuǎn)移結(jié)束。另外,由于角色數(shù)據(jù)在轉(zhuǎn)移過(guò)程中可能出現(xiàn)消息丟失造成轉(zhuǎn)移失敗的情況,所以在本發(fā)明中還可對(duì)異常情況做處理,從而保持角色數(shù)據(jù)在World之間是唯一的。主要包括1)當(dāng)源游戲分區(qū)的轉(zhuǎn)出角色數(shù)據(jù)(即源角色數(shù)據(jù))的鎖定狀態(tài)超過(guò)預(yù)定時(shí)間(例如24小時(shí))后,說(shuō)明角色轉(zhuǎn)移消息在途中由于網(wǎng)絡(luò)繁忙或者阻塞等原因被丟掉了,此時(shí)源游戲分區(qū)自動(dòng)對(duì)該轉(zhuǎn)出的角色源數(shù)據(jù)進(jìn)行解鎖,用戶可以繼續(xù)使用這個(gè)角色數(shù)據(jù)進(jìn)行游戲操作。在圖4所述的步驟413和步驟414中,如果所述結(jié)果內(nèi)容表明角色數(shù)據(jù)轉(zhuǎn)移成功,而對(duì)應(yīng)的源角色數(shù)據(jù)此時(shí)已經(jīng)處于非鎖定狀態(tài)(例如由于鎖定超時(shí)而自動(dòng)解鎖),則Roleserver1判定所述角色數(shù)據(jù)創(chuàng)建失效,并取消角色數(shù)據(jù)轉(zhuǎn)移的操作,結(jié)東圖4流程。2)當(dāng)發(fā)生1)所述的情況時(shí),在圖6所述的流程中,Worldlogin2收到的查詢結(jié)果中可能會(huì)表明某個(gè)處于LOCK—TYPE—COPY狀態(tài)的角色(例如角色d)的數(shù)據(jù)在Worldl中已經(jīng)解鎖,說(shuō)明Worldl放棄了角色轉(zhuǎn)移操作。此時(shí),World2自動(dòng)對(duì)該角色d進(jìn)行解鎖,并刪除角色d的副本角色數(shù)據(jù),取消角色轉(zhuǎn)移操作。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理裝置,所述網(wǎng)絡(luò)游戲系統(tǒng)對(duì)角色進(jìn)行分區(qū)運(yùn)行,其特征在于,該裝置包括大區(qū)角色管理模塊和至少二個(gè)分區(qū)角色管理模塊,其中大區(qū)角色管理模塊用于轉(zhuǎn)發(fā)源分區(qū)角色管理模塊和目的分區(qū)角色管理模塊之間的角色數(shù)據(jù)轉(zhuǎn)移信息;分區(qū)角色管理模塊用于管理本分區(qū)內(nèi)的角色數(shù)據(jù);在轉(zhuǎn)移角色數(shù)據(jù)時(shí),發(fā)送轉(zhuǎn)出的角色數(shù)據(jù)給大區(qū)角色管理模塊,由大區(qū)角色管理模塊將所述角色數(shù)據(jù)轉(zhuǎn)入到目的分區(qū)角色管理模塊;當(dāng)接收到大區(qū)角色管理模塊轉(zhuǎn)入的角色數(shù)據(jù)時(shí),在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)。2、根據(jù)權(quán)利要求1所述的角色數(shù)據(jù)管理裝置,其特征在于,所述分區(qū)角色管理模塊具體包括分區(qū)注冊(cè)管理模塊,用于接收轉(zhuǎn)移指令,通知角色數(shù)據(jù)服務(wù)器獲取所要轉(zhuǎn)出的角色數(shù)據(jù),發(fā)送給大區(qū)角色管理模塊;同時(shí)接收大區(qū)角色管理模塊轉(zhuǎn)入的角色數(shù)據(jù),通過(guò)角色數(shù)據(jù)服務(wù)器在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù);分區(qū)角色數(shù)據(jù)庫(kù),用于記錄本分區(qū)內(nèi)的角色數(shù)據(jù);角色數(shù)據(jù)服務(wù)器,用于對(duì)所述分區(qū)角色數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行讀寫(xiě)操作。3、根據(jù)權(quán)利要求2所述的角色數(shù)據(jù)管理裝置,其特征在于,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括鎖定模塊,用于在有角色數(shù)據(jù)轉(zhuǎn)出或轉(zhuǎn)入時(shí),將轉(zhuǎn)出的源角色數(shù)據(jù)或轉(zhuǎn)入的副本角色數(shù)據(jù)鎖定,并阻止分區(qū)角色管理模塊對(duì)所述處于鎖定狀態(tài)的角色數(shù)據(jù)進(jìn)行操作。4、根據(jù)權(quán)利要求3所述的角色數(shù)據(jù)管理裝置,其特征在于,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括角色數(shù)據(jù)唯一性驗(yàn)證模塊,具體包括第一驗(yàn)證模塊和第二驗(yàn)證模塊,其中第一驗(yàn)證模塊用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到目的分區(qū)角色管理模塊,查詢所述源角色數(shù)據(jù)對(duì)應(yīng)的副本角色數(shù)據(jù)是否已經(jīng)成功創(chuàng)建,如果是,則解除對(duì)所述源角色數(shù)據(jù)的鎖定,并刪除所述源角色數(shù)據(jù);第二驗(yàn)證模塊用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送査詢消息到源分區(qū)角色管理模塊,查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)是否刪除,如果是,則解除對(duì)所述副本角色數(shù)據(jù)的鎖定。5、根據(jù)權(quán)利要求2所述的角色數(shù)據(jù)管理裝置,其特征在于,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括自動(dòng)解鎖單元,用于監(jiān)測(cè)本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù)的鎖定時(shí)間是否超過(guò)預(yù)定時(shí)間,如果超過(guò),則解除對(duì)該源角色數(shù)據(jù)的鎖定。6、根據(jù)權(quán)利要求5所述的角色數(shù)據(jù)管理裝置,其特征在于,所述角色數(shù)據(jù)服務(wù)器中進(jìn)一步包括第三驗(yàn)證模塊,用于遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),通過(guò)分區(qū)注冊(cè)管理模塊和大區(qū)角色管理模塊發(fā)送查詢消息到源分區(qū)角色管理模塊,查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)是否解除鎖定,如果是,則解除對(duì)所述副本角色數(shù)據(jù)的鎖定,并刪除該副本角色數(shù)據(jù)。7、一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理方法,適用于對(duì)角色進(jìn)行分區(qū)運(yùn)行的網(wǎng)絡(luò)游戲系統(tǒng),其特征在于,設(shè)置大區(qū)角色管理模塊;在轉(zhuǎn)移角色數(shù)據(jù)時(shí)包括A、源游戲分區(qū)將需要轉(zhuǎn)出的角色數(shù)據(jù)發(fā)送到大區(qū)角色管理模塊;B、大區(qū)角色管理模塊將所述角色數(shù)據(jù)轉(zhuǎn)入到目的游戲分區(qū);C、目的游戲分區(qū)在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)。8、根據(jù)權(quán)利要求7所述的角色數(shù)據(jù)管理方法,其特征在于,在源游戲分區(qū)轉(zhuǎn)出角色數(shù)據(jù)時(shí),進(jìn)一步包括將所述轉(zhuǎn)出的角色數(shù)據(jù)鎖定,禁止對(duì)鎖定的角色數(shù)據(jù)進(jìn)行操作;在目的游戲分區(qū)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)時(shí),進(jìn)一步包括將創(chuàng)建的角色數(shù)據(jù)鎖定,禁止對(duì)鎖定的角色數(shù)據(jù)進(jìn)行操作。9、根據(jù)權(quán)利要求8所述的角色數(shù)據(jù)管理方法,其特征在于,步驟C之后,進(jìn)一步包括D、當(dāng)所述目的游戲分區(qū)成功創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)后,通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)數(shù)據(jù)創(chuàng)建成功的消息給源游戲分區(qū);E、源游戲分區(qū)收到所述數(shù)據(jù)創(chuàng)建成功的消息后,將對(duì)應(yīng)的源角色數(shù)據(jù)進(jìn)行解鎖,并刪除源角色數(shù)據(jù)。10、根據(jù)權(quán)利要求9所述的角色數(shù)據(jù)管理方法,其特征在于,步驟E之后,進(jìn)一步包括F、源游戲分區(qū)通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)成功刪除源角色數(shù)據(jù)的消息給目的游戲分區(qū);G、目的游戲分區(qū)收到所述成功刪除源角色數(shù)據(jù)的消息后,將對(duì)應(yīng)創(chuàng)建的副本角色數(shù)據(jù)解鎖。11、根據(jù)權(quán)利要求8所述的角色數(shù)據(jù)管理方法,其特征在于,步驟C之后,進(jìn)一步包括源游戲分區(qū)遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的源角色數(shù)據(jù),對(duì)于每個(gè)處于鎖定狀態(tài)的源角色數(shù)據(jù),執(zhí)行以下流程al、通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)查詢消息到目的游戲分區(qū),用于查詢目的游戲分區(qū)是否已經(jīng)成功創(chuàng)建源角色數(shù)據(jù)的副本;a2、目的游戲分區(qū)將所述創(chuàng)建結(jié)果通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)到源游戲分區(qū);a3、源游戲分區(qū)識(shí)別所返回結(jié)果的內(nèi)容,當(dāng)所述結(jié)果表明目的游戲分區(qū)已經(jīng)成功創(chuàng)建所述源角色數(shù)據(jù)的副本時(shí),對(duì)所述源角色數(shù)據(jù)解鎖,并刪除所述源角色數(shù)據(jù)。12、根據(jù)權(quán)利要求9或11所述的角色數(shù)據(jù)管理方法,其特征在于,該方法進(jìn)一步包括目的游戲分區(qū)遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),對(duì)于每個(gè)處于鎖定狀態(tài)的副本角色數(shù)據(jù),執(zhí)行以下流程bl、目的游戲分區(qū)通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)查詢消息到源游戲分區(qū),用于查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)的狀態(tài);b2、源游戲分區(qū)將反映所述源角色數(shù)據(jù)狀態(tài)的查詢結(jié)果通過(guò)大區(qū)角色管理模塊返回給目的游戲分區(qū);b3、目的游戲分區(qū)識(shí)別所述返回查詢結(jié)果的內(nèi)容,當(dāng)所述查詢結(jié)果表明源游戲分區(qū)已經(jīng)刪除所述源角色數(shù)據(jù)時(shí),對(duì)所述處于鎖定狀態(tài)的副本角色數(shù)據(jù)進(jìn)行解鎖。13、根據(jù)權(quán)利要求8所述的角色數(shù)據(jù)管理方法,其特征在于,源游戲分區(qū)鎖定轉(zhuǎn)出的角色數(shù)據(jù)后,如果鎖定時(shí)間超過(guò)預(yù)定時(shí)間,則自動(dòng)對(duì)該角色數(shù)據(jù)進(jìn)行解鎖。14、根據(jù)權(quán)利要求13所述的角色數(shù)據(jù)管理方法,其特征在于,進(jìn)一步包括目的游戲分區(qū)遍歷本分區(qū)內(nèi)處于鎖定狀態(tài)的副本角色數(shù)據(jù),對(duì)于每個(gè)處于鎖定狀態(tài)的副本角色數(shù)據(jù),執(zhí)行以下流程cl、目的游戲分區(qū)通過(guò)大區(qū)角色管理模塊轉(zhuǎn)發(fā)查詢消息到源游戲分區(qū),用于查詢所述副本角色數(shù)據(jù)對(duì)應(yīng)的源角色數(shù)據(jù)的狀態(tài);c2、源游戲分區(qū)將反映所述源角色數(shù)據(jù)狀態(tài)的查詢結(jié)果通過(guò)大區(qū)角色管理模塊返回給目的游戲分區(qū);c3、目的游戲分區(qū)識(shí)別所述返回查詢結(jié)果的內(nèi)容,當(dāng)所述查詢結(jié)果表明所述源角色數(shù)據(jù)已經(jīng)解鎖,則對(duì)所述處于鎖定狀態(tài)的副本角色數(shù)據(jù)進(jìn)行解鎖,并刪除該副本角色數(shù)據(jù)。全文摘要本發(fā)明公開(kāi)了一種網(wǎng)絡(luò)游戲系統(tǒng)中的角色數(shù)據(jù)管理裝置及角色數(shù)據(jù)管理方法,所述網(wǎng)絡(luò)游戲系統(tǒng)對(duì)角色進(jìn)行分區(qū)運(yùn)行,本發(fā)明包括大區(qū)角色管理模塊和至少二個(gè)分區(qū)角色管理模塊,大區(qū)角色管理模塊用于轉(zhuǎn)發(fā)源分區(qū)角色管理模塊和目的分區(qū)角色管理模塊之間的角色數(shù)據(jù)轉(zhuǎn)移信息;分區(qū)角色管理模塊用于管理本分區(qū)內(nèi)的角色數(shù)據(jù);在轉(zhuǎn)移角色數(shù)據(jù)時(shí),發(fā)送轉(zhuǎn)出的角色數(shù)據(jù)給大區(qū)角色管理模塊,由大區(qū)角色管理模塊將所述角色數(shù)據(jù)轉(zhuǎn)入到目的分區(qū)角色管理模塊;當(dāng)接收到大區(qū)角色管理模塊轉(zhuǎn)入的角色數(shù)據(jù)時(shí),在本分區(qū)內(nèi)創(chuàng)建所轉(zhuǎn)入的角色數(shù)據(jù)。利用本發(fā)明,可以實(shí)現(xiàn)在游戲分區(qū)之間進(jìn)行角色數(shù)據(jù)的自動(dòng)轉(zhuǎn)移,降低游戲系統(tǒng)的運(yùn)行維護(hù)成本。文檔編號(hào)G06F19/00GK101216866SQ20071030420公開(kāi)日2008年7月9日申請(qǐng)日期2007年12月26日優(yōu)先權(quán)日2007年12月26日發(fā)明者珀成申請(qǐng)人:騰訊科技(深圳)有限公司