本發(fā)明涉及學(xué)習(xí)游戲技術(shù)領(lǐng)域,尤其涉及一種游戲狀態(tài)更新方法、裝置及系統(tǒng)。
背景技術(shù):
近年來,隨著信息技術(shù)的普及和教育游戲的快速發(fā)展,游戲化學(xué)習(xí)成為目前比較流行的教學(xué)理論和教育實(shí)踐。游戲化學(xué)習(xí),又稱學(xué)習(xí)游戲化,即采用游戲化的方式進(jìn)行學(xué)習(xí)。
目前市面的學(xué)習(xí)游戲絕大部分為單機(jī)游戲,基本沒有多人完成的游戲。而學(xué)習(xí)游戲的面向群體大多為線下的同班同學(xué),利用的是課間或放學(xué)后的碎片時(shí)間,因此希望加入多人游戲,以鍛煉學(xué)生的配合與溝通能力?,F(xiàn)有技術(shù)為每一個(gè)游戲配置一臺(tái)游戲服務(wù)器,用于對(duì)游戲玩家狀態(tài)進(jìn)行分發(fā)和游戲進(jìn)程信息進(jìn)行保存。
然而,由于學(xué)習(xí)游戲通常針對(duì)每一個(gè)學(xué)習(xí)主題來設(shè)計(jì),且學(xué)習(xí)主題數(shù)量龐大(如成百上千個(gè)學(xué)習(xí)主題),因此,為數(shù)量龐大的學(xué)習(xí)主題中的每個(gè)主題對(duì)應(yīng)的游戲均配置一臺(tái)服務(wù)器,將導(dǎo)致使用過多的服務(wù)器(如成百上千個(gè)服務(wù)器),成本過高,同時(shí)需要為數(shù)量過多的服務(wù)器配置相應(yīng)的服務(wù)器維護(hù)人員,導(dǎo)致服務(wù)器維護(hù)成本過高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種游戲狀態(tài)更新方法、裝置及系統(tǒng),能夠?qū)崿F(xiàn)使用兩個(gè)服務(wù)器為多個(gè)游戲提供游戲狀態(tài)更新的服務(wù),降低服務(wù)器成本。
第一方面,本發(fā)明實(shí)施例提供了一種游戲狀態(tài)更新方法,包括:
當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息;
在所述第一應(yīng)用程序的運(yùn)行過程中,若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
第二方面,本發(fā)明實(shí)施例提供了一種游戲狀態(tài)更新的裝置,包括:
第一獲取模塊,用于當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息;
更新模塊,用于在所述第一應(yīng)用程序中更新所述第一獲取模塊獲取的所述第一用戶的游戲狀態(tài)信息;
發(fā)送模塊,用于在所述第一應(yīng)用程序的運(yùn)行過程中,當(dāng)所述第一用戶的游戲狀態(tài)信息發(fā)生變化時(shí),通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
第三方面,本發(fā)明實(shí)施例提供了一種游戲狀態(tài)更新的系統(tǒng),包括:存儲(chǔ)服務(wù)器、分發(fā)服務(wù)器和至少一個(gè)權(quán)利要求8-12中任一項(xiàng)所述的游戲狀態(tài)更新裝置;所述游戲狀態(tài)更新裝置用于:
當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息;
在所述第一應(yīng)用程序的運(yùn)行過程中,若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
本發(fā)明實(shí)施例提供的游戲狀態(tài)更新方法、裝置及系統(tǒng),能夠通過兩個(gè)服務(wù)器,即分發(fā)服務(wù)器和存儲(chǔ)服務(wù)器,為多個(gè)學(xué)習(xí)游戲進(jìn)行服務(wù)。現(xiàn)有技術(shù)中需要為每個(gè)學(xué)習(xí)游戲配置一個(gè)服務(wù)器。本發(fā)明實(shí)施例解決了多個(gè)游戲需要配置多個(gè)服務(wù)器的問題,實(shí)現(xiàn)使用兩個(gè)服務(wù)器為多個(gè)游戲提供游戲狀態(tài)更新的服務(wù),降低服務(wù)器成本。
附圖說明
圖1A是本發(fā)明實(shí)施例一中的一種游戲狀態(tài)更新方法的流程圖;
圖1B是本發(fā)明實(shí)施例一中的一種游戲狀態(tài)更新方法的游戲應(yīng)用界面示意圖;
圖1C是本發(fā)明實(shí)施例一中的一種游戲狀態(tài)更新方法的游戲應(yīng)用連接方法涉及的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
圖2是本發(fā)明實(shí)施例二中的一種游戲狀態(tài)更新方法的流程圖;
圖3是本發(fā)明實(shí)施例三中的一種游戲狀態(tài)更新方法的流程圖;
圖4是本發(fā)明實(shí)施例四中的一種游戲狀態(tài)更新方法的流程圖;
圖5A是本發(fā)明實(shí)施例五中的一種游戲狀態(tài)更新方法的流程圖;
圖5B是本發(fā)明實(shí)施例五中的一種游戲狀態(tài)更新方法的游戲應(yīng)用連接方法涉及的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
圖5C是本發(fā)明實(shí)施例五中的一種游戲狀態(tài)更新方法的游戲應(yīng)用軟件架構(gòu)圖;
圖6是本發(fā)明實(shí)施例六中的一種游戲狀態(tài)更新裝置的結(jié)構(gòu)示意圖;
圖7是本發(fā)明實(shí)施例七中的一種游戲狀態(tài)更新裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu),并且不限制于本實(shí)施例的步驟順序。
實(shí)施例一
圖1為本發(fā)明實(shí)施例一提供的一種游戲狀態(tài)更新方法的流程圖,本實(shí)施例可適用于多人進(jìn)行多個(gè)學(xué)習(xí)游戲的情況,該方法可以由本發(fā)明實(shí)施例提供的智能輸入裝置來執(zhí)行,該裝置可采用軟件和/或硬件的方式實(shí)現(xiàn),軟件形式可以為插件形式,該裝置可集成在任何提供游戲信息的設(shè)備中,例如典型的是用戶終端設(shè)備,可以是電腦,也可以是移動(dòng)終端(例如手機(jī))和平板電腦等,如圖1所示,具體包括:
S110、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息。
具體的,第一用戶可以為學(xué)生,也可以為上班族,還可以為具有閑暇時(shí)刻的任意人。第一應(yīng)用程序可以為游戲應(yīng)用,包括學(xué)習(xí)游戲應(yīng)用和休閑小游戲應(yīng)用,第一應(yīng)用程序也可以是上述游戲應(yīng)用中包含的任意一個(gè)子游戲應(yīng)用程序(一個(gè)游戲應(yīng)用中可以包含多個(gè)游戲應(yīng)用程序)。存儲(chǔ)服務(wù)器,擁有充足的存儲(chǔ)空間(如100TB等),存儲(chǔ)服務(wù)器可以只負(fù)責(zé)存儲(chǔ)信息,如只存儲(chǔ)游戲ID和游戲進(jìn)程信息,包括如表一和表二所示。其中,游戲狀態(tài)信息包括用戶登錄狀態(tài)、個(gè)人信息以及個(gè)人游戲進(jìn)程信息等。當(dāng)用戶打開手機(jī)中的一個(gè)游戲應(yīng)用時(shí),選中某一子游戲應(yīng)用程序,輸入個(gè)人賬號(hào)密碼,向存儲(chǔ)服務(wù)器獲取相應(yīng)信息,調(diào)取用戶的個(gè)人信息(包括姓名、昵稱、性別、年齡、等級(jí)和興趣愛好等)以及用戶上次退出游戲時(shí)存儲(chǔ)的游戲進(jìn)程信息,即可加載新的游戲應(yīng)用界面。
表一
表二
例如,根據(jù)現(xiàn)在已有的游戲改編的一款關(guān)于學(xué)習(xí)的游戲軟件,如憤怒的小鳥中彈弓打的小鳥身上可以帶有漢字,消消樂中消的不是相同顏色的動(dòng)物,而是成語、詞語或者單詞等。用戶A為一小學(xué)生,手機(jī)安裝有X學(xué)習(xí)游戲應(yīng)用,X學(xué)習(xí)游戲應(yīng)用中包含各個(gè)學(xué)習(xí)主題的子學(xué)習(xí)游戲應(yīng)用程序,其中憤怒的小鳥游戲中用戶A過了11關(guān),那么用戶A在課余時(shí)間打開X學(xué)習(xí)游戲應(yīng)用,選擇憤怒的小鳥游戲輸入個(gè)人賬號(hào)密碼后,向存儲(chǔ)服務(wù)器獲取和用戶A相匹配的個(gè)人信息和游戲進(jìn)程信息,調(diào)取用戶的個(gè)人信息如圖1B所示,以及加載憤怒的小鳥游戲12關(guān)的游戲應(yīng)用界面。
S120、在所述第一應(yīng)用程序的運(yùn)行過程中,若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
具體的,典型的服務(wù)器會(huì)被配置來執(zhí)行多種功能,如它可以作為文件服務(wù)器、打印服務(wù)器、應(yīng)用數(shù)據(jù)庫(kù)服務(wù)器和Web服務(wù)器,甚至可以是集以上多種功能于一身。這樣,它就必須有快速的處理器芯片、比較多的RAM以及足夠的內(nèi)部磁盤空間,以便應(yīng)對(duì)終端用戶隨時(shí)可能出現(xiàn)的應(yīng)用調(diào)配需求。不過,分發(fā)服務(wù)器與存儲(chǔ)服務(wù)器一樣,是為特定的目標(biāo)而設(shè)計(jì),配置方式也不同,并且只負(fù)責(zé)消息分發(fā),功能與路由服務(wù)器類似,每個(gè)用戶端在線期間與分發(fā)服務(wù)器保持長(zhǎng)連接,保存所有當(dāng)前在線用戶的連接信息。需要特殊說明的是,用戶和分發(fā)服務(wù)器、存儲(chǔ)服務(wù)器通過信號(hào)連接,執(zhí)行主體可以為用戶終端,可以為用戶終端安裝的應(yīng)用程序,還可以為應(yīng)用程序中編輯的程序代碼或者一個(gè)具有通信功能的插件,如X學(xué)習(xí)游戲應(yīng)用如圖1C所示的多人游戲插件。
其中,第二用戶可以為第一應(yīng)用程序中除用戶本身以外的其他所有在線用戶,也可以是第二應(yīng)用程序?qū)?yīng)的在線用戶信息,其中第二應(yīng)用程序仍然可以為游戲應(yīng)用程序和任意一個(gè)子游戲應(yīng)用程序中對(duì)應(yīng)的在線用戶的信息。游戲狀態(tài)信息發(fā)生變化可以包括通關(guān)狀態(tài)信息、登錄狀態(tài)信息和預(yù)設(shè)任務(wù)達(dá)成狀態(tài)信息中的至少一個(gè)。當(dāng)用戶剛剛登陸學(xué)習(xí)游戲應(yīng)用中的某一子游戲應(yīng)用程序時(shí),分發(fā)服務(wù)器會(huì)調(diào)取有關(guān)學(xué)習(xí)應(yīng)用程序中的所有在線用戶ID,或者調(diào)取有關(guān)該子游戲應(yīng)用程序中所有在線用戶ID,向已調(diào)取的學(xué)習(xí)應(yīng)用程序或者該子游戲應(yīng)用程序中的所有其他在線用戶發(fā)送用戶登錄上線的信息,包括用戶ID、游戲ID和游戲進(jìn)程信息;當(dāng)用戶進(jìn)行學(xué)習(xí)游戲應(yīng)用中的某子游戲應(yīng)用程序過程中有任何的游戲狀態(tài)信息變更,如通關(guān)、退出學(xué)習(xí)游戲應(yīng)用時(shí),分發(fā)服務(wù)器也會(huì)調(diào)取有關(guān)學(xué)習(xí)應(yīng)用程序中的所有在線用戶ID,或者調(diào)取有關(guān)該子游戲應(yīng)用程序中所有在線用戶ID,向已調(diào)取的學(xué)習(xí)應(yīng)用程序或者該子游戲應(yīng)用程序中的所有其他在線用戶發(fā)送用戶游戲狀態(tài)信息變更的信息。
例如,一小學(xué)為提高學(xué)生學(xué)習(xí)興趣,老師利用課余時(shí)間組織班級(jí)對(duì)班級(jí)的友誼聯(lián)賽,比賽內(nèi)容為在手機(jī)里X學(xué)習(xí)游戲應(yīng)用中包含的所有子游戲,X學(xué)習(xí)游戲應(yīng)用中的流程服務(wù)器將兩個(gè)班級(jí)的所有學(xué)生關(guān)聯(lián)在一起,比賽時(shí)間為一個(gè)月,最終成績(jī)可以以一個(gè)月內(nèi)班級(jí)里所有學(xué)生完成游戲進(jìn)度的加和為準(zhǔn)。上述中學(xué)生用戶A屬于其中一個(gè)班級(jí),當(dāng)用戶A剛剛登陸X學(xué)習(xí)游戲應(yīng)用中的憤怒的小鳥游戲時(shí),分發(fā)服務(wù)器會(huì)調(diào)取有關(guān)X學(xué)習(xí)應(yīng)用程序中的兩個(gè)班級(jí)中所有在線用戶ID,向已調(diào)取的兩個(gè)班級(jí)中除了用戶A以外的所有在線用戶發(fā)送用戶A登錄上線的信息,如“用戶A登錄憤怒的小鳥,進(jìn)入12關(guān)啦!”;當(dāng)用戶A進(jìn)行憤怒的小鳥游戲過程中,進(jìn)入13關(guān)了,那么分發(fā)服務(wù)器也會(huì)調(diào)取有關(guān)X學(xué)習(xí)應(yīng)用程序中的兩個(gè)班級(jí)中所有在線用戶ID,向已調(diào)取的兩個(gè)班級(jí)中除了用戶A以外的所有在線用戶發(fā)送用戶A闖關(guān)成功的信息,如“用戶A闖進(jìn)憤怒的小鳥13關(guān)啦!”;當(dāng)用戶A沒有通過14關(guān),退出憤怒的小鳥游戲時(shí),分發(fā)服務(wù)器同樣也會(huì)調(diào)取有關(guān)X學(xué)習(xí)應(yīng)用程序中的兩個(gè)班級(jí)中所有在線用戶ID,向已調(diào)取的兩個(gè)班級(jí)中除了用戶A以外的所有在線用戶發(fā)送用戶A退出游戲的信息,如“用戶A已退出憤怒的小鳥13關(guān)!”。
再例如,用戶A不僅參加了班級(jí)聯(lián)賽,還參加了單人賽,單人賽的成績(jī)包括X學(xué)習(xí)游戲程序中某一個(gè)子游戲的成績(jī)。具體例如,當(dāng)用戶A剛剛登陸X學(xué)習(xí)游戲應(yīng)用中的憤怒的小鳥游戲時(shí),分發(fā)服務(wù)器會(huì)調(diào)取有關(guān)憤怒的小鳥游戲所有在線用戶ID(包括但不限于兩個(gè)班級(jí)中玩兒憤怒的小鳥游戲的在線用戶),向已調(diào)取的除了用戶A以外的所有在線用戶發(fā)送用戶A登錄上線的信息,如“用戶A登錄憤怒的小鳥,進(jìn)入12關(guān)啦!”;當(dāng)用戶A玩兒憤怒的小鳥游戲過程中,進(jìn)入13關(guān)了,那么分發(fā)服務(wù)器也會(huì)調(diào)取有關(guān)憤怒的小鳥游戲所有在線用戶ID,向已調(diào)取的除了用戶A以外的所有在線用戶發(fā)送用戶A闖關(guān)成功的信息,如“用戶A闖進(jìn)憤怒的小鳥13關(guān)啦!”;當(dāng)用戶A沒有通過14關(guān),退出憤怒的小鳥游戲時(shí),分發(fā)服務(wù)器同樣也會(huì)調(diào)取有關(guān)憤怒的小鳥游戲所有在線用戶ID,向已調(diào)取的除了用戶A以外的所有在線用戶發(fā)送用戶A退出游戲的信息,如“用戶A已退出憤怒的小鳥13關(guān)!”。
本實(shí)施例提供的游戲狀態(tài)更新方法,能夠通過兩個(gè)服務(wù)器,即分發(fā)服務(wù)器和存儲(chǔ)服務(wù)器,為多個(gè)學(xué)習(xí)游戲進(jìn)行服務(wù)?,F(xiàn)有技術(shù)中需要為每個(gè)學(xué)習(xí)游戲配置一個(gè)服務(wù)器。本實(shí)施例解決了多個(gè)游戲需要配置多個(gè)服務(wù)器的問題,實(shí)現(xiàn)使用兩個(gè)服務(wù)器為多個(gè)游戲提供游戲狀態(tài)更新的服務(wù),降低服務(wù)器成本,同時(shí)不影響多人體驗(yàn)。
實(shí)施例二
圖2為本發(fā)明實(shí)施例二提供的一種游戲狀態(tài)更新方法的流程圖,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上還包括:當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過所述存儲(chǔ)服務(wù)器獲取所述至少一個(gè)第二用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述至少一個(gè)第二用戶的游戲狀態(tài)信息。
相應(yīng)的,本實(shí)施例的方法包括:
S210、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息。
S220、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過所述存儲(chǔ)服務(wù)器獲取所述至少一個(gè)第二用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述至少一個(gè)第二用戶的游戲狀態(tài)信息。
具體的,存儲(chǔ)服務(wù)器中存儲(chǔ)著使用第一應(yīng)用程序中每個(gè)人的游戲ID和游戲進(jìn)程信息。在上述學(xué)習(xí)游戲應(yīng)用中,通過存儲(chǔ)服務(wù)器獲取至少一個(gè)第二用戶的游戲狀態(tài)信息可以是用戶上次登錄與本次登錄時(shí)間之間的所有其他用戶使用第一應(yīng)用程序的最新更新狀態(tài),也可以是截止用戶登錄前,使用第一應(yīng)用程序的最佳成績(jī)及用戶,還可以是用戶在使用第一應(yīng)用程序過程中可以收到其他用戶更新的游戲狀態(tài)信息時(shí),如通關(guān)狀態(tài)信息、登錄狀態(tài)信息和預(yù)設(shè)任務(wù)達(dá)成狀態(tài)信息。
例如,在班級(jí)聯(lián)賽中,上述用戶A剛剛登陸X學(xué)習(xí)游戲應(yīng)用中的憤怒的小鳥游戲時(shí),存儲(chǔ)服務(wù)器獲取用戶A上次登錄與本次登錄時(shí)間之間的所有其他用戶使用憤怒的小鳥游戲的最新更新狀態(tài),以了解其他用戶使用憤怒的小鳥游戲的進(jìn)程,如提示:“用戶B闖進(jìn)憤怒的小鳥15關(guān)啦??;用戶C闖進(jìn)憤怒的小鳥16關(guān)啦??;用戶D闖進(jìn)憤怒的小鳥17關(guān)啦!”等;或者,上述用戶A剛剛登陸X學(xué)習(xí)游戲應(yīng)用中的憤怒的小鳥游戲時(shí),存儲(chǔ)服務(wù)器獲取截止用戶A登錄前,兩個(gè)班級(jí)范圍內(nèi)使用憤怒的小鳥游戲的最佳成績(jī)及用戶,如提示:“用戶D闖進(jìn)憤怒的小鳥17關(guān)啦!”;還或者,上述用戶A在玩兒憤怒的小鳥游戲過程中,可以收到兩個(gè)班級(jí)內(nèi)其他用戶更新的游戲狀態(tài)信息時(shí),如“用戶E闖進(jìn)消消樂10關(guān)啦!”、“用戶F已退出消消樂10關(guān)!”、用戶G登錄憤怒的小鳥,進(jìn)入10關(guān)啦!”等。
S230、在所述第一應(yīng)用程序的運(yùn)行過程中,若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
本實(shí)施例提供了一種游戲狀態(tài)更新的方法,通過使用兩個(gè)服務(wù)器,即分發(fā)服務(wù)器和存儲(chǔ)服務(wù)器,存儲(chǔ)器自動(dòng)發(fā)送相應(yīng)其他用戶的游戲狀態(tài)信息,使得用戶更多的了解游戲其他用戶最新狀態(tài)。使用兩個(gè)服務(wù)器實(shí)時(shí)更新游戲信息狀態(tài),提高了用戶與用戶之間的互動(dòng),增加樂趣的同時(shí),降低了使用服務(wù)器的成本。
實(shí)施例三
圖3為本發(fā)明實(shí)施例三提供的一種游戲狀態(tài)更新方法的流程圖,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上進(jìn)行優(yōu)化,進(jìn)一步的,通過所述存儲(chǔ)服務(wù)器獲取所述至少一個(gè)第二用戶的游戲狀態(tài)信息的處理方法,具體是,向存儲(chǔ)服務(wù)器發(fā)送第一應(yīng)用程序標(biāo)識(shí),以便所述存儲(chǔ)服務(wù)器根據(jù)所述第一應(yīng)用程序標(biāo)識(shí)確定至少一個(gè)第二用戶的游戲狀態(tài)信息;接收所述存儲(chǔ)服務(wù)器發(fā)送的所述至少一個(gè)第二用戶的游戲狀態(tài)信息。
相應(yīng)的,本實(shí)施例的方法包括:
S310、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息.
S320、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),向存儲(chǔ)服務(wù)器發(fā)送第一應(yīng)用程序標(biāo)識(shí),以便所述存儲(chǔ)服務(wù)器根據(jù)所述第一應(yīng)用程序標(biāo)識(shí)確定至少一個(gè)第二用戶的游戲狀態(tài)信息。
其中,第一應(yīng)用程序標(biāo)識(shí)可以為游戲ID,在上述學(xué)習(xí)游戲應(yīng)用中,存儲(chǔ)服務(wù)器中存儲(chǔ)著使用第一應(yīng)用程序中每個(gè)人的游戲ID和游戲進(jìn)程信息。在上述學(xué)習(xí)游戲應(yīng)用中,用戶登錄子游戲應(yīng)用程序時(shí),存儲(chǔ)服務(wù)器根據(jù)用戶登錄的游戲ID,調(diào)取用戶上次登錄與本次登錄時(shí)間之間的該子游戲應(yīng)用程序中其他用戶的最新更新狀態(tài),如通關(guān)狀態(tài)信息。
S330、接收所述存儲(chǔ)服務(wù)器發(fā)送的所述至少一個(gè)第二用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述至少一個(gè)第二用戶的游戲狀態(tài)信息。
具體的,用戶可以接收到根據(jù)存儲(chǔ)服務(wù)器調(diào)取到的其他用戶的最新更新狀態(tài),從而了解其他用戶的狀態(tài)信息。例如,上述用戶A剛剛登陸X學(xué)習(xí)游戲應(yīng)用中的憤怒的小鳥游戲時(shí),會(huì)向存儲(chǔ)服務(wù)器發(fā)送游戲ID,即憤怒的小鳥。存儲(chǔ)服務(wù)器獲取用戶A上次登錄與本次登錄時(shí)間之間的所有其他用戶使用憤怒的小鳥游戲的最新更新狀態(tài),發(fā)送回用戶A,如提示:“用戶B闖進(jìn)憤怒的小鳥15關(guān)啦?。挥脩鬋闖進(jìn)憤怒的小鳥16關(guān)啦??;用戶D闖進(jìn)憤怒的小鳥17關(guān)啦!”。
S340、在所述第一應(yīng)用程序的運(yùn)行過程中,若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
本實(shí)施例提供了一種游戲狀態(tài)更新的方法,通過使用兩個(gè)服務(wù)器,即分發(fā)服務(wù)器和存儲(chǔ)服務(wù)器,用戶通過向存儲(chǔ)器發(fā)送用戶本身游戲ID,使得存儲(chǔ)器調(diào)取并發(fā)送與用戶本身游戲ID相應(yīng)的其他用戶的游戲狀態(tài)信息,使得用戶更多的了解同一游戲中其他用戶的最新狀態(tài),進(jìn)一步提高了游戲狀態(tài)更新的方法,并且節(jié)約成本。
實(shí)施例四
圖4為本發(fā)明實(shí)施例四提供的一種游戲狀態(tài)更新方法的流程圖,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上進(jìn)行優(yōu)化,進(jìn)一步的,通過所述存儲(chǔ)服務(wù)器獲取所述至少一個(gè)第二用戶的游戲狀態(tài)信息的處理方法,具體是,向所述分發(fā)服務(wù)器發(fā)送分發(fā)指令,所述分發(fā)指令包括第一用戶標(biāo)識(shí)、已變更的第一用戶的游戲狀態(tài)信息,以便所述分發(fā)服務(wù)器根據(jù)保存的連接信息表將所述已變更的第一用戶的游戲狀態(tài)信息發(fā)送至所述至少一個(gè)第二用戶。
相應(yīng)的,本實(shí)施例的方法包括:
S410、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息;
S420、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),向所述分發(fā)服務(wù)器發(fā)送分發(fā)指令,所述分發(fā)指令包括第一用戶標(biāo)識(shí)、已變更的第一用戶的游戲狀態(tài)信息,以便所述分發(fā)服務(wù)器根據(jù)保存的連接信息表將所述已變更的第一用戶的游戲狀態(tài)信息發(fā)送至所述至少一個(gè)第二用戶。
其中,分發(fā)指令,即分發(fā)請(qǐng)求,也就是說用戶有分發(fā)需求時(shí),向分發(fā)服務(wù)器發(fā)送一條消息,該消息包含用戶本身ID、游戲ID和已經(jīng)變更的游戲狀態(tài)信息。分發(fā)服務(wù)器只提取在線的需要通知的用戶ID,并向除了用戶自己給其他用戶轉(zhuǎn)發(fā)該消息。分發(fā)服務(wù)器有一連接信息表,可以為Hash表(即散列表,根據(jù)關(guān)鍵碼直接訪問數(shù)據(jù)結(jié)構(gòu)),保存在線的需要通知的用戶ID,如表三所示。
表三
例如,表一中的游戲1為憤怒的小鳥游戲,上述用戶A在進(jìn)行憤怒的小鳥游戲過程中表現(xiàn)很好,連續(xù)通關(guān),想讓其他用戶知道自己的成績(jī),那么用戶A向分發(fā)服務(wù)器發(fā)送一分發(fā)請(qǐng)求,分發(fā)請(qǐng)求中包含信息有“用戶A闖進(jìn)憤怒的小鳥17關(guān)啦!”。此時(shí),分發(fā)服務(wù)器從Hash表中提取游戲1的所有在線用戶,并將信息“用戶A闖進(jìn)憤怒的小鳥17關(guān)啦!”發(fā)送給用戶B和用戶C。
S430、在所述第一應(yīng)用程序的運(yùn)行過程中,若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
本實(shí)施例提供了一種游戲狀態(tài)更新的方法,通過使用兩個(gè)服務(wù)器,即分發(fā)服務(wù)器和存儲(chǔ)服務(wù)器,實(shí)現(xiàn)了用戶根據(jù)自己意向決定是否向其他用戶發(fā)送用戶本身游戲ID,提高了游戲狀態(tài)更新的靈活性,節(jié)約了成本。
實(shí)施例五
圖5A為本發(fā)明實(shí)施例五提供的一種游戲狀態(tài)更新方法的流程圖,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上還包括:當(dāng)所述第一用戶登錄的所述第一應(yīng)用程序進(jìn)入記錄點(diǎn)時(shí),向所述存儲(chǔ)服務(wù)器記錄請(qǐng)求,以便所述存儲(chǔ)服務(wù)器根據(jù)所述記錄請(qǐng)求保存所述記錄點(diǎn)對(duì)應(yīng)的第一用戶的游戲狀態(tài)信息。
相應(yīng)的,本實(shí)施例的方法包括:
S510、當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息;
S520、若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
S530、當(dāng)所述第一用戶登錄的所述第一應(yīng)用程序進(jìn)入記錄點(diǎn)時(shí),向所述存儲(chǔ)服務(wù)器記錄請(qǐng)求,以便所述存儲(chǔ)服務(wù)器根據(jù)所述記錄請(qǐng)求保存所述記錄點(diǎn)對(duì)應(yīng)的第一用戶的游戲狀態(tài)信息。
具體的,存儲(chǔ)服務(wù)器只負(fù)責(zé)存儲(chǔ)信息,每個(gè)客戶的在線期間與存儲(chǔ)服務(wù)器保持短鏈接。用戶在有存儲(chǔ)需求時(shí)向該存儲(chǔ)服務(wù)器發(fā)起存儲(chǔ)請(qǐng)求。記錄點(diǎn)可以只是用戶最后退出第一應(yīng)用程序時(shí)的游戲狀態(tài)信息,那么存儲(chǔ)服務(wù)器只保存用戶最后退出時(shí)的第一應(yīng)用程序與游戲狀態(tài)信息,如圖5B所示。當(dāng)學(xué)習(xí)游戲玩家A在游戲進(jìn)程中時(shí),游戲狀態(tài)數(shù)據(jù)交給多人游戲插件進(jìn)行多人轉(zhuǎn)發(fā),同步游戲狀態(tài)。游戲進(jìn)程進(jìn)入記錄點(diǎn)時(shí),向存儲(chǔ)服務(wù)器發(fā)起記錄申請(qǐng),保存游戲狀態(tài)。游戲玩家B上線時(shí),向多人游戲插件發(fā)起載入請(qǐng)求,插件向存儲(chǔ)服務(wù)器讀取游戲進(jìn)程信息,獲取信息后則立即載入游戲,進(jìn)入當(dāng)前游戲的最新狀態(tài),其在軟件架構(gòu)圖如5C所示,從圖中可見,多人插件與游戲無關(guān),像渲染插件一樣,提供給各個(gè)游戲進(jìn)行調(diào)用,加快開發(fā)效率。
例如,上述用戶A只在退出憤怒的小鳥游戲時(shí),才向存儲(chǔ)服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求。如果用戶A在退出憤怒的小鳥游戲時(shí)過了17關(guān),18關(guān)還沒有通關(guān),那么存儲(chǔ)服務(wù)器更新用戶A的存儲(chǔ)信息為“用戶A,憤怒的小鳥,18關(guān)”。下次用戶A再登錄憤怒的小鳥游戲時(shí),游戲應(yīng)用界面加載憤怒的小鳥第18關(guān)的游戲場(chǎng)景。
本實(shí)施例提供了一種游戲狀態(tài)更新的方法,由于存儲(chǔ)服務(wù)器不需要處理游戲邏輯,也不需要解釋游戲狀態(tài)信息,因此服務(wù)器的負(fù)擔(dān)較小,可以支撐大量用戶,實(shí)現(xiàn)了用戶在結(jié)束游戲時(shí)的游戲信息狀態(tài)的更新,提高了游戲狀態(tài)更新的完整性。
實(shí)施例六
圖6為本發(fā)明實(shí)施例六提供的一種游戲狀態(tài)更新裝置的結(jié)構(gòu)圖,本實(shí)施例可適用于多人完成多個(gè)學(xué)習(xí)游戲的情況,該方法可以由本發(fā)明實(shí)施例提供的智能輸入裝置來執(zhí)行,該裝置可采用軟件和/或硬件的方式實(shí)現(xiàn),該裝置可集成在任何提供游戲信息的設(shè)備中,例如典型的是用戶終端設(shè)備,可以是電腦,也可以是移動(dòng)終端(例如手機(jī))和平板電腦等,如圖6所示,具體包括:第一獲取模塊61、更新模塊62和發(fā)送模塊63。
所述第一獲取模塊61用于當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息;
所述更新模塊62用于在所述第一應(yīng)用程序中更新所述第一獲取模塊獲取的所述第一用戶的游戲狀態(tài)信息;
所述發(fā)送模塊63用于在所述第一應(yīng)用程序的運(yùn)行過程中,當(dāng)所述第一用戶的游戲狀態(tài)信息發(fā)生變化時(shí),通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
本實(shí)施例所述的游戲狀態(tài)更新裝置用于執(zhí)行上述各實(shí)施例所述的游戲狀態(tài)更新方法,其技術(shù)原理和產(chǎn)生的技術(shù)效果類似,這里不再贅述。
實(shí)施例七
圖7所示為本發(fā)明實(shí)施例六提供的一種游戲狀態(tài)更新裝置的結(jié)構(gòu)示意圖,如圖7所示:
在上述實(shí)施例的基礎(chǔ)上,所述裝置還包括:第二獲取模塊71。
所述第二獲取模塊71用于當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過所述存儲(chǔ)服務(wù)器獲取所述至少一個(gè)第二用戶的游戲狀態(tài)信息;所述更新模塊還用于,在所述第一應(yīng)用程序中更新所述第二獲取模塊獲取的所述至少一個(gè)第二用戶的游戲狀態(tài)信息。
在上述實(shí)施例的基礎(chǔ)上,第二獲取模塊具體用于,向存儲(chǔ)服務(wù)器發(fā)送第一應(yīng)用程序標(biāo)識(shí),以便所述存儲(chǔ)服務(wù)器根據(jù)所述第一應(yīng)用程序標(biāo)識(shí)確定至少一個(gè)第二用戶的游戲狀態(tài)信息,接收所述存儲(chǔ)服務(wù)器發(fā)送的所述至少一個(gè)第二用戶的游戲狀態(tài)信息。
在上述實(shí)施例的基礎(chǔ)上,所述發(fā)送模塊具體用于,向所述分發(fā)服務(wù)器發(fā)送分發(fā)指令,所述分發(fā)指令包括第一用戶標(biāo)識(shí)、已變更的第一用戶的游戲狀態(tài)信息,以便所述分發(fā)服務(wù)器根據(jù)保存的連接信息表將所述已變更的第一用戶的游戲狀態(tài)信息發(fā)送至所述至少一個(gè)第二用戶。
在上述實(shí)施例的基礎(chǔ)上,所述裝置還包括:記錄請(qǐng)求模塊72。
所述記錄請(qǐng)求模塊72用于當(dāng)所述第一用戶登錄的所述第一應(yīng)用程序進(jìn)入記錄點(diǎn)時(shí),向所述存儲(chǔ)服務(wù)器記錄請(qǐng)求,以便所述存儲(chǔ)服務(wù)器根據(jù)所述記錄請(qǐng)求保存所述記錄點(diǎn)對(duì)應(yīng)的第一用戶的游戲狀態(tài)信息。
上述裝置可執(zhí)行本發(fā)明前述所有實(shí)施例所提供的方法,具備執(zhí)行上述方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本發(fā)明前述所有實(shí)施例所提供的方法。
實(shí)施例八
在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例提供了一種游戲狀態(tài)更新系統(tǒng),該系統(tǒng)的系統(tǒng)架構(gòu)可參照?qǐng)D1C所示的系統(tǒng)機(jī)構(gòu)示意圖,該系統(tǒng)包括:存儲(chǔ)服務(wù)器、分發(fā)服務(wù)器和至少一個(gè)實(shí)施例六或?qū)嵤├咚镜挠螒驙顟B(tài)更新裝置;所述游戲狀態(tài)更新裝置用于:
當(dāng)?shù)谝挥脩舻卿浀谝粦?yīng)用程序時(shí),通過存儲(chǔ)服務(wù)器獲取所述第一用戶的游戲狀態(tài)信息,并在所述第一應(yīng)用程序中更新所述第一用戶的游戲狀態(tài)信息;
在所述第一應(yīng)用程序的運(yùn)行過程中,若所述第一用戶的游戲狀態(tài)信息發(fā)生變化,則通過分發(fā)服務(wù)器向所述至少一個(gè)第二用戶發(fā)送已變更的第一用戶的游戲狀態(tài)信息,所述至少一個(gè)第二用戶包括所述第一應(yīng)用程序?qū)?yīng)的除所述第一用戶以外的用戶。
本實(shí)施例所述的游戲狀態(tài)更新系統(tǒng)用于執(zhí)行上述各實(shí)施例所述的游戲狀態(tài)更新方法,其技術(shù)原理和產(chǎn)生的技術(shù)效果類似,這里不再贅述。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。