本發(fā)明涉及計算機領域,具體而言,涉及一種數(shù)據(jù)請求的處理方法、裝置及系統(tǒng)。
背景技術:
現(xiàn)有大部分游戲架構設計中,玩家狀態(tài)數(shù)據(jù)保持基于uid值hash到固定的游戲服務器(gs)。玩家每次登入都會連接到相同的游戲服務器(gs)。從而實現(xiàn)玩家狀態(tài)數(shù)據(jù)保持。
圖1是先有技術的一種玩家狀態(tài)數(shù)據(jù)保存的原理的示意圖,如圖1所示,門服務器根據(jù)uid值hash到固定的游戲服務器(gs),確定每個玩家狀態(tài)數(shù)據(jù)對應的游戲服務器(gs)。
通過uid值hash到固定的游戲服務器(gs)的方式無法實現(xiàn)架構的高可用性的效果,如果出現(xiàn)游戲服務器(gs)故障,hash到故障游戲服務器(gs)的玩家狀態(tài)信息會出現(xiàn)問題,運維人員必須找一臺備機做切換,還需做復雜的配置文件修改等操作,影響用戶的體驗。
在游戲模塊的設計中,為了提高游戲服務器(gs)處理效率,有時會做成狀態(tài)信息,例如,游戲服務器(gs)會保存玩家金幣,裝備等狀態(tài)數(shù)據(jù)。如果玩家斷線重連到不同的游戲服務器(gs),斷線前的游戲服務器(gs)的狀態(tài)數(shù)據(jù)可能會丟失,出現(xiàn)玩家數(shù)據(jù)回檔情況。
針對上述相關技術中游戲玩家斷線后如果重連到不同的游戲服務器,將會導致斷線前該游戲玩家的狀態(tài)數(shù)據(jù)丟失的問題,目前尚未提出有效的解決方案。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種數(shù)據(jù)請求的處理方法、裝置及系統(tǒng),以至少解決相關技術中游戲玩家斷線后如果重連到不同的游戲服務器,將會導致斷線前該游戲玩家的狀態(tài)數(shù)據(jù)丟失的技術問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種數(shù)據(jù)請求的處理方法,包括:接收目標賬號發(fā)送的數(shù)據(jù)請求,其中,所述數(shù)據(jù)請求中攜帶有所述目標賬號的標識信息;判斷第一服務器中是否存在與所述目標賬號的標識信息相對應的目標位置信息,其中,所述第一服務器中存儲有多個第二服務器的位置信息,所述目標位置信息用于指示保存有所述目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,所述多個第二服務器包括所述第一目標服務器;在所述第一服務器中存在與所述目標賬號的標識信息相對應的目標位置信息的情況下,將所述數(shù)據(jù)請求傳輸至所述第一目標服務器進行處理。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種數(shù)據(jù)請求的處理裝置,包括:接收單元,用于接收目標賬號發(fā)送的數(shù)據(jù)請求,其中,所述數(shù)據(jù)請求中攜帶有所述目標賬號的標識信息;判斷單元,用于判斷第一服務器中是否存在與所述目標賬號的標識信息相對應的目標位置信息,其中,所述第一服務器中存儲有多個第二服務器的位置信息,所述目標位置信息用于指示保存有所述目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,所述多個第二服務器包括所述第一目標服務器;第一傳輸單元,用于在所述第一服務器中存在與所述目標賬號的標識信息相對應的目標位置信息的情況下,將所述數(shù)據(jù)請求傳輸至所述第一目標服務器進行處理。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種數(shù)據(jù)請求的處理系統(tǒng),包括:客戶端,其中,目標賬號登錄所述客戶端發(fā)送數(shù)據(jù)請求,其中,所述數(shù)據(jù)請求中攜帶有所述目標賬號的標識信息;第一服務器,用于存儲多個第二服務器的位置信息;所述多個第二服務器,用于處理所述數(shù)據(jù)請求;第三服務器,用于接收所述數(shù)據(jù)請求;判斷所述第一服務器中是否存在與所述目標賬號的標識信息相對應的目標位置信息,其中,所述目標位置信息用于指示保存有所述目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,所述多個第二服務器包括所述第一目標服務器;在所述第一服務器中存在與所述目標賬號的標識信息相對應的目標位置信息的情況下,將所述數(shù)據(jù)請求傳輸至所述第一目標服務器進行處理。
在本發(fā)明實施例中,目標賬號通過客戶端發(fā)出攜帶有目標賬號的標識信息的數(shù)據(jù)請求,再由第三服務器接收該數(shù)據(jù)請求,從第一服務器中存儲的多個第二服務器的信息中,判斷第一服務器中是否存與目標賬號的標識信息相對應的,用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,其中,多個第二服務器包括第一目標服務器,并在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求發(fā)送至用于處理數(shù)據(jù)請求的多個第二服務器中的第一目標服務器進行處理,可以解決相關技術中游戲玩家斷線后如果重連到不同的游戲服務器,將會導致斷線前該游戲玩家的狀態(tài)數(shù)據(jù)丟失的技術問題,進而達到準確為使用目標賬號的游戲玩家匹配存有該游戲玩家的狀態(tài)數(shù)據(jù),確保該玩家的狀態(tài)數(shù)據(jù)不會丟失的技術效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1是先有技術的一種玩家狀態(tài)數(shù)據(jù)保存的原理的示意圖;
圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)請求的處理系統(tǒng)的硬件環(huán)境的示意圖;
圖3是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)請求的處理系統(tǒng)的示意圖;
圖4是根據(jù)本發(fā)明實施例的一種可選的游戲架構的示意圖;
圖5是根據(jù)本發(fā)明實施例的另一種可選的游戲架構的示意圖;
圖6是根據(jù)本發(fā)明實施例的一種可選的基于redis的游戲服務器(gs)狀態(tài)數(shù)據(jù)架構的示意圖;
圖7是根據(jù)本發(fā)明實施例的一種可選的查詢玩家在游戲服務器(gs)上的狀態(tài)信息的示意圖;
圖8是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)請求的處理方法的流程圖;
圖9是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)請求的處理裝置的示意圖;
圖10是根據(jù)本發(fā)明實施例的另一種可選的數(shù)據(jù)請求的處理裝置的示意圖;
圖11是根據(jù)本發(fā)明實施例的一種終端的結構框圖。
具體實施方式
為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
首先,在對本發(fā)明實施例進行描述的過程中出現(xiàn)的部分名詞或者術語適用于如下解釋:
gs:gameserver游戲主邏輯服務器。
redis集群:通過引入twemproxy組件,作為redis前端的代理,在twemproxy層按key分片,實現(xiàn)redis集群管理。對gameserver(gs)提供透明的redis服務,twemproxy組件兼容redis協(xié)議。實現(xiàn)高可用并且秒級master,slave主備切換。
實施例1
根據(jù)本發(fā)明實施例,提供了一種數(shù)據(jù)請求的處理系統(tǒng)的實施例。
可選地,在本實施例中,上述數(shù)據(jù)請求的處理系統(tǒng)可以應用于如圖2所示的由服務器102和終端104所構成的硬件環(huán)境中。如圖2所示,服務器102通過網(wǎng)絡與終端104進行連接,上述網(wǎng)絡包括但不限于:廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端104并不限定于pc、手機、平板電腦等。本發(fā)明實施例的數(shù)據(jù)請求的處理方法可以由服務器102來執(zhí)行,也可以由終端104來執(zhí)行,還可以是由服務器102和終端104共同執(zhí)行。其中,終端104執(zhí)行本發(fā)明實施例的數(shù)據(jù)請求的處理方法也可以是由安裝在其上的客戶端來執(zhí)行。
圖3是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)請求的處理系統(tǒng)的示意圖,如圖3所示,該系統(tǒng)可以包括:
客戶端31,其中,目標賬號登錄客戶端發(fā)送數(shù)據(jù)請求,其中,數(shù)據(jù)請求中攜帶有目標賬號的標識信息;
第一服務器33,用于存儲多個第二服務器的位置信息;
多個第二服務器35,用于處理數(shù)據(jù)請求;
第三服務器37,用于接收數(shù)據(jù)請求;判斷第一服務器中是否存在與目標賬號的標識信息相對應的目標位置信息,其中,目標位置信息用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,多個第二服務器包括第一目標服務器;在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求傳輸至第一目標服務器進行處理。
根據(jù)本發(fā)明上述實施例,目標賬號通過客戶端發(fā)出攜帶有目標賬號的標識信息的數(shù)據(jù)請求,再由第三服務器接收該數(shù)據(jù)請求,從第一服務器中存儲的多個第二服務器的信息中,判斷第一服務器中是否存與目標賬號的標識信息相對應的,用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,其中,多個第二服務器包括第一目標服務器,并在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求發(fā)送至用于處理數(shù)據(jù)請求的多個第二服務器中的第一目標服務器進行處理,可以解決相關技術中游戲玩家斷線后如果重連到不同的游戲服務器,將會導致斷線前該游戲玩家的狀態(tài)數(shù)據(jù)丟失的技術問題,進而達到準確為使用目標賬號的游戲玩家匹配存有該游戲玩家的狀態(tài)數(shù)據(jù),確保該玩家的狀態(tài)數(shù)據(jù)不會丟失的技術效果。
在上述實施例中,客戶端可以是與服務器相對應,為用戶提供本地服務的程序。目標賬號,是服務器識別用戶的唯一標識(例如,登錄客戶端的游戲賬號),用戶使用目標賬號登錄客戶端,向服務器發(fā)出攜帶有目標賬號的標識信息的數(shù)據(jù)請求。目標賬號的標識信息,是可以被服務器識別的信息(例如,uid),服務器可以通過該標識信息,確定對應的目標賬號。
可選地,安裝有客戶端的終端可以是移動終端,例如,手機、平板電腦等;安裝有客戶端的終端可以是pc終端。
在上述實施例中,第一服務器可以是數(shù)據(jù)庫,用于存儲多個第二服務器的位置信息,可以通過第一服務器確定與目標賬號的標識信息對應的目標位置信息。
作為一種可選的實施例,第一服務器為redis集群。
采用本發(fā)明上述實施例,第一服務器可以是redis集群,redis是一個開源的可以是用ansic語言編寫、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、key-value數(shù)據(jù)庫,并提供多種語言api(應用程序編程接口)。使用redis集群作為第一服務器,可以便于其他服務器從第一服務器中調取第二服務器的位置信息。
作為一種可選的實施例,redis集群包括多個服務器,其中,redis集群中的每個服務器可以將所接收到的多個第二服務器的位置信息實時地通知給redis集群中的其他服務器。
采用本發(fā)明上述實施例,redis集群中包括多個服務器,redis集群中的每個服務器可以將該接收到的多個第二服務器的位置信息實時通知給redis集群中的其他服務器,從而可以通過調用redis集群中的任意一個服務器,便可獲取多個第二服務器的位置信息,便于調用第一服務器中存儲的多個第二服務器的位置信息。
可選地,redis集群中包括每個服務器可以接收第二服務器的位置信息。
作為一個可選的示例,redis集群中可以包括2個服務器,分別為服務器a、服務器b,服務器a在接收到第二服務器的位置信息,則服務器a可以將位置信息a和位置信息b實時發(fā)送給服務器b。
作為一種可選的實施例,第一服務器還用于在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況下,將已存儲的其中一個第二服務器的位置信息進行刪除。
采用本發(fā)明上述實施例,通過第一服務器接收第二服務器的位置信息,在預定時間間隔內(nèi),若第一服務器未接收到多個第二服務器中的某一個第二服務器的位置信息,則第一服務器將已存儲的該第二服務器的位置信息進行刪除,排除異常的第二服務器,減小第一服務器存儲的第二服務器的位置信息的數(shù)量,便于從第一服務器中快速確定第二服務器的位置信息。
可選地,在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況,可以是多個第二服務器中的一個第二服務器出現(xiàn)故障,若多個第二服務器中的一個第二服務器出現(xiàn)故障,則該第二服務器將不會向第一服務器發(fā)送該第二服務器對應的位置信息。
作為一個可選的示例,若多個第二服務器中的第二服務器a出現(xiàn)故障,則該第二服務器a不會向第一服務器發(fā)送該第二服務器a的位置信息,因此,第一服務器也不會接收到該第二服務器a的位置信息。若預定時間段為5分鐘,則第一服務器在連續(xù)5分鐘內(nèi)未接收到第二服務器a的位置信息,則在第一服務器中刪除全部歷史存儲的第二服務器a對應的位置信息。
可選地,在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況,可以是多個第二服務器中的一個第二服務器與第一服務器之間的連接出現(xiàn)故障。
在上述實施例中,第二服務器可以是記錄有目標賬號狀態(tài)信息游戲服務器(gameserver),其中,每個游戲服務器與多個目標賬號對應,每個游戲服務器用于處理該游戲服務器對應的目標賬號發(fā)出的數(shù)據(jù)請求,多個第二服務器共同處理多個目標賬號發(fā)出的多個數(shù)據(jù)請求。
在上述實施例中,第三服務器可以是調度服務器,由第三服務器接收數(shù)據(jù)請求,并在第三服務器接收到數(shù)據(jù)請求的情況下,通過第一服務器中存儲的與目標賬號的標識信息相對應的目標位置信息,確定與該數(shù)據(jù)請求對應的多個第二服務器中的第一目標服務器,其中,第一目標服務器中存儲由發(fā)出該數(shù)據(jù)請求的游戲賬號對應的狀態(tài)數(shù)據(jù),例如,gameservera中存儲有該游戲賬號對應的狀態(tài)數(shù)據(jù)。再將該數(shù)據(jù)請求傳輸至第一目標服務器,由第一目標服務器處理該數(shù)據(jù)請求。
可選地,第三服務器可以是第三方模塊,例如versionserver或者gateserver。
作為一種可選的實施例,第三服務器分別與第一服務器和客戶端通信連接,客戶端直接與第一目標服務器通信連接或者客戶端通過第三服務器與第一目標服務器通信連接。
采用本發(fā)明上述實施例,第三服務器分別與第一服務器和客戶端建立通信連接,使第三服務器可以根據(jù)第一服務器中存儲的多個第二服務器的位置信息,確定與客戶端對應的多個第二服務器中的第一目標服務器;其中,客戶端可以通過第三服務器與第一目標服務器通信連接,由第三服務器將目標賬號發(fā)出的數(shù)據(jù)請求,調度到對應的第一目標服務器中,由第一目標服務器對該數(shù)據(jù)請求進行處理,實現(xiàn)了將目標賬號發(fā)出的數(shù)據(jù)請求傳輸至對應的第一目標服務器的效果;客戶端還可以直接與第一目標服務器通信連接,由客戶端接收第三服務器的調度指令,將目標賬號發(fā)送的數(shù)據(jù)請求直接發(fā)送至對應的第一目標服務器,實現(xiàn)了將目標賬號發(fā)出的數(shù)據(jù)請求傳輸至對應的第一目標服務器的效果。
作為一個可選的示例,第三服務器分別與第一服務器和客戶端通信連接,多個第二服務器中的目標服務器可以通過第三服務器與客戶端連接,由第三服務器接收客戶端發(fā)出的數(shù)據(jù)請求,并根據(jù)第一服務器中存儲的多個第二服務器的位置信息將數(shù)據(jù)請求發(fā)送至對應的多個第二服務器中的第一目標服務器。
作為另一個可選的示例,第三服務器分別與第一服務器和客戶端通信連接,多個第二服務器中的目標服務器可以直接與客戶端連接,第三服務器根據(jù)第一服務器中存儲的多個第二服務器的位置信息發(fā)出相應的調度指令,使客戶端可以在發(fā)送數(shù)據(jù)請求的情況下,直接將該數(shù)據(jù)請求發(fā)送至對應的第一目標服務器。
作為一種可選的實施例,第一服務器中還存儲有多個第二服務器的負載信息,其中,第一服務器還可以用于:在第一服務器中不存在與目標賬號的標識信息相對應的目標位置信息的情況下,根據(jù)多個第二服務器的負載信息從多個第二服務器中確定出第二目標服務器,其中,第二目標服務器為多個第二服務器中的負載最少的第二服務器;以及將數(shù)據(jù)請求傳輸至第二目標服務器進行處理。
采用本發(fā)明上述實施例,在第一服務器中還可以存儲多個第二服務器的負載信息,在第一服務器中不存在與目標賬號標識信息相對應的目標位置信息的情況下,可以根據(jù)第二服務器的負載信息,從多個第二服務器中確定負載最少的第二服務器作為第二目標服務器,并將數(shù)據(jù)請求傳輸至第二服務器中進行處理,從而可以為多個第二服務器中負載較小第二服務器分配新的數(shù)據(jù)請求,并由該第二服務器進行處理,達到多個第二服務器的負載均衡的效果。
作為一個可選的示例,多個第二服務器包括第二服務器a、第二服務器b、以及第二服務器c,其中,第二服務器a的負載為滿負載的80%,第二服務器b的負載為滿負載的75%,第二服務器c的負載為滿負載的30%,則第一服務器中存儲有第二服務器a、第二服務器b、以及第二服務器c的上述負載信息。在第一服務器中不存在與目標賬號的標識信息相對應的目標位置信息的情況下,可以將包括目標賬號的標識信息的數(shù)據(jù)請求傳輸至第二服務器c中,由第二服務器c進行處理。
本發(fā)明還提供了一種優(yōu)選實施例,該優(yōu)選實施例還提供了一種基于redis的gameserver狀態(tài)數(shù)據(jù)保持解決方案。
在該實施例中,把玩家在具體哪臺游戲服務器(gs)的位置信息保存在redis集群中。玩家斷線后重現(xiàn)連線,可以從redis獲取玩家的位置信息,然后連上斷線之前對應的游戲服務器(gs),從而實現(xiàn)玩家數(shù)據(jù)狀態(tài)保持。利用redis集群的特點,可實現(xiàn)redis故障秒級切換且玩家位置信息不會丟失。游戲服務器(gs)除了上報具體玩家的位置信息,還會上報游戲服務器(gs)的負載,在游戲服務器(gs)機器故障的情況下也能被redis集群感知,還實現(xiàn)了游戲服務器(gs)的容災效果。
需要說明的,容災是指在相隔較遠的異地,建立兩套或多套功能相同的it系統(tǒng),互相之間可以進行健康狀態(tài)監(jiān)視和功能切換,當一處系統(tǒng)因意外停止工作時,整個應用系統(tǒng)可以切換到另一處,使得該系統(tǒng)功能可以繼續(xù)正常工作。
本發(fā)明上述實施例,首先利用了redis集群的高可用性,確保玩家位置信息不會丟失。在redis本身故障的情況下,可以實現(xiàn)秒級切換,在游戲服務器(gs)故障的情況下,redis集群也能感知,因此,在游戲服務器(gs)故障的情況下,無需運維做任何操作,可以根據(jù)redis中游戲服務器(gs)負載信息連接其他的游戲服務器(gs),還實現(xiàn)了游戲服務器(gs)的容災效果。
游戲架構設計中,為了確保游戲服務器(gs)的性能和玩家的用戶體驗,可以將部分模塊設計成有狀態(tài)信息的數(shù)據(jù);為了確保游戲架構的容量,可以部署多臺游戲服務器(gs)。玩家在某臺模塊上有狀態(tài)信息的情況下,可以在斷開后,需要重新連接到原來有狀態(tài)信息的游戲服務器(gs)。如果有類似此架構設計的場景,都可應用基于redis的游戲服務器(gs)狀態(tài)數(shù)據(jù)保持解決方案。
圖4是根據(jù)本發(fā)明實施例的一種可選的游戲架構的示意圖,如圖4所示,有狀態(tài)信息的游戲服務器(gs)模塊直接連接客戶端,第三方模塊(如圖4所示的versionsvr模塊)可以從redis集群中獲取玩家的位置信息并傳發(fā)給手機客戶端,手機客戶端根據(jù)玩家的位置信息連到對應的游戲服務器(gs)。
圖5是根據(jù)本發(fā)明實施例的另一種可選的游戲架構的示意圖,如圖5所示,有狀態(tài)信息的游戲服務器(gs)模塊不直與客戶端連接,游戲服務器(gs)和第三方模塊(比如,網(wǎng)關gatesvr)連接。gatesvr從redis集群中獲取位置信息,gatesvr根據(jù)玩家位置信息連到對應的游戲服務器(gs)。
在本發(fā)明上述實施例中,位置信息是標記玩家的狀態(tài)信息的數(shù)據(jù)在具體哪臺游戲服務器(gs)上,該位置信息保存在redis中。當游戲服務器(gs)有玩家對應的狀態(tài)信息的數(shù)據(jù),則存在一個標志位記錄游戲服務器(gs)有這個玩家數(shù)據(jù),并且在redis會記錄玩家的位置信息。在持續(xù)一段時間后,玩家沒有任何操作且游戲服務器(gs)無狀態(tài)信息的數(shù)據(jù),則這個標志位一直為0,并從redis中的位置信息中移除。
圖6是根據(jù)本發(fā)明實施例的一種可選的基于redis的游戲服務器(gs)狀態(tài)數(shù)據(jù)架構的示意圖,如圖6所示,gateserver(門服務器),負載用戶請求的接入和分發(fā),起到負載均衡的作用。游戲服務器(gs),負責處理客戶端請求及大部分邏輯處理,后端連接其它邏輯服務器,部分請求通過游戲服務器(gs)轉發(fā)其它邏輯服務器,隱藏玩家信息,定時回寫數(shù)據(jù)庫。redis集群,用于隱藏玩家的部分數(shù)據(jù),并保存玩家位置信息。
玩家uid(304536766)通過客戶端登入gateserver,由gateserver通過redis集群查詢該玩家在游戲服務器(gs)上是否有狀態(tài)信息,如果沒有在redis集群到該玩家對應的游戲服務器(gs)的位置信息,會選擇一個相對空閑的游戲服務器(gs)連接,完成登入游戲的過程,其中,reids集群實現(xiàn)了對游戲服務器(gs)的負載均衡功能。
如果玩家登入后,由gateserver通過redis集群查詢到該玩家在游戲服務器(gs)上有狀態(tài)信息。
圖7是根據(jù)本發(fā)明實施例的一種可選的查詢玩家在游戲服務器(gs)上的狀態(tài)信息的示意圖,如圖7所示,通過reids命令查看,發(fā)現(xiàn)在編號3的游戲服務器(gs)還有狀態(tài)信息,并且可以查詢編號3的游戲服務器(gs)具體的ip和端口。玩家就會連到編號3服務器上。這樣就實現(xiàn)了編號3的游戲服務器(gs)上玩家uid(304536766)的狀態(tài)保持。
傳統(tǒng)的uinhash方式保存游戲服務器(gs)狀態(tài),如果出現(xiàn)游戲服務器(gs)故障的情況,需要運維人員手動對故障機切換。有些業(yè)務還可能需停服做業(yè)務切換的操作,對用戶體驗影響很大。
采用本發(fā)明上述實施例,該架構具有高可用性,游戲服務器(gs)除了上報具體玩家的位置信息以外,還會上報游戲服務器(gs)的負載,所以redis不僅可以保存玩家的位置信息還了解游戲服務器(gs)的負載情況。游戲服務器(gs)若出現(xiàn)故障也會被redis集群感知,實現(xiàn)了對游戲服務器(gs)的容災效果。在某個游戲服務器(gs)故障的情況下,會連接到其他空閑游戲服務器(gs)中,實現(xiàn)無人工干的預快速恢復,對業(yè)務影響非常小,間接提高了游戲的效果。
采用本發(fā)明上述實施例,為了達到保持玩家狀態(tài)數(shù)據(jù)的效果,業(yè)務架構可以添加一個新模塊locationsvr,并通過該模塊保存玩家位置信息。但該模塊本身是有狀態(tài)信息的,如果只有一臺則是單點,為了考慮容災,需要2臺該模塊進行部署,2臺具有該模塊的服務器的狀態(tài)數(shù)據(jù)需要實時同步。
實施例2
根據(jù)本發(fā)明實施例,提供了一種數(shù)據(jù)請求的處理的方法實施例。
圖8是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)請求的處理方法的流程圖,如圖8所示,該方法可以包括以下步驟:
步驟s802,接收目標賬號發(fā)送的數(shù)據(jù)請求,其中,數(shù)據(jù)請求中攜帶有目標賬號的標識信息;
步驟s804,判斷第一服務器中是否存在與目標賬號的標識信息相對應的目標位置信息,其中,第一服務器中存儲有多個第二服務器的位置信息,目標位置信息用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,多個第二服務器包括第一目標服務器;
步驟s806,在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求傳輸至第一目標服務器進行處理。
通過上述步驟s802至步驟s806,目標賬號發(fā)出攜帶有目標賬號的標識信息的數(shù)據(jù)請求,再由第三服務器接收該數(shù)據(jù)請求,從第一服務器中存儲的多個第二服務器的信息中,判斷第一服務器中是否存與目標賬號的標識信息相對應的,用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,其中,多個第二服務器包括第一目標服務器,并在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求發(fā)送至用于處理數(shù)據(jù)請求的多個第二服務器中的第一目標服務器進行處理,可以解決相關技術中游戲玩家斷線后如果重連到不同的游戲服務器,將會導致斷線前該游戲玩家的狀態(tài)數(shù)據(jù)丟失的技術問題,進而達到準確為使用目標賬號的游戲玩家匹配存有該游戲玩家的狀態(tài)數(shù)據(jù),確保該玩家的狀態(tài)數(shù)據(jù)不會丟失的技術效果。
在步驟s802提供的技術方案中,目標賬號,是服務器識別用戶的唯一標識(例如,登錄客戶端的游戲賬號),用戶使用目標賬號登錄客戶端,向服務器發(fā)出攜帶有目標賬號的標識信息的數(shù)據(jù)請求。目標賬號的標識信息,是可以被服務器識別的信息(例如,uid),服務器可以通過該標識信息,確定對應的目標賬號。
可選地,安裝有客戶端的終端可以是移動終端,例如,手機、平板電腦等;安裝有客戶端的終端可以是pc終端。
在步驟s804提供的技術方案中,第一服務器可以是數(shù)據(jù)庫,用于存儲多個第二服務器的位置信息,可以通過第一服務器確定與目標賬號的標識信息對應的目標位置信息。第二服務器可以是記錄有目標賬號狀態(tài)信息游戲服務器(gameserver),其中,每個游戲服務器與多個目標賬號對應,每個游戲服務器用于處理該游戲服務器對應的目標賬號發(fā)出的數(shù)據(jù)請求,多個第二服務器共同處理多個目標賬號發(fā)出的多個數(shù)據(jù)請求。在多個第二服務器中,與數(shù)據(jù)請求對應的第二服務器即為第一目標服務器。在發(fā)送數(shù)據(jù)請求后,通過第一服務器中存儲的與目標賬號的標識信息相對應的目標位置信息確定與該數(shù)據(jù)請求對應的多個第二服務器中的第一目標服務器其中,第一目標服務器中存儲由發(fā)出該數(shù)據(jù)請求的游戲賬號對應的狀態(tài)數(shù)據(jù),例如,gameservera中存儲有該游戲賬號對應的狀態(tài)數(shù)據(jù)。
作為一種可選的實施例,第一服務器可以為redis集群。
采用本發(fā)明上述實施例,第一服務器可以是redis集群,redis是一個開源的可以是用ansic語言編寫、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、key-value數(shù)據(jù)庫,并提供多種語言api(應用程序編程接口)。使用redis集群作為第一服務器,可以便于其他服務器從第一服務器中調取第二服務器的位置信息。
作為一種可選的實施例,redis集群可以包括多個服務器,其中,redis集群中的每個服務器可以將所接收到的多個第二服務器的位置信息實時地通知給redis集群中的其他服務器。
采用本發(fā)明上述實施例,redis集群中包括多個服務器,redis集群中的每個服務器可以將該服務器接收到的多個第二服務器的位置信息實時通知給redis集群中的其他服務器,從而可以通過調用redis集群中的任意一個服務器,便可獲取多個第二服務器的位置信息,便于調用第一服務器中存儲的多個第二服務器的位置信息。
可選地,redis集群中包括每個服務器可以接收第二服務器的位置信息。
作為一個可選的示例,redis集群中可以包括2個服務器,分別為服務器a、服務器b,服務器a在接收到第二服務器的位置信息,則服務器a可以將位置信息a和位置信息b實時發(fā)送給服務器b。
在步驟s806提供的技術方案中,在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,可以將該數(shù)據(jù)請求傳輸至第一目標服務器,由第一目標服務器處理該數(shù)據(jù)請求。
作為一種可選的實施例,第一服務器在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況下,將已存儲的其中一個第二服務器的位置信息進行刪除。
采用本發(fā)明上述實施例,通過第一服務器接收第二服務器的位置信息,在預定時間間隔內(nèi),若第一服務器未接收到多個第二服務器中的某一個第二服務器的位置信息,則第一服務器將已存儲的該第二服務器的位置信息進行刪除,排除異常的第二服務器,減小第一服務器存儲的第二服務器的位置信息的數(shù)量,便于從第一服務器中快速確定第二服務器的位置信息。
可選地,在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況,可以是多個第二服務器中的一個第二服務器出現(xiàn)故障,若多個第二服務器中的一個第二服務器出現(xiàn)故障,則該第二服務器將不會向第一服務器發(fā)送該第二服務器對應的位置信息。
作為一個可選的示例,若多個第二服務器中的第二服務器a出現(xiàn)故障,則該第二服務器a不會向第一服務器發(fā)送該第二服務器a的位置信息,因此,第一服務器也不會接收到該第二服務器a的位置信息。若預定時間段為5分鐘,則第一服務器在連續(xù)5分鐘內(nèi)未接收到第二服務器a的位置信息,則在第一服務器中刪除全部歷史存儲的第二服務器a對應的位置信息。
可選地,在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況,可以是多個第二服務器中的一個第二服務器與第一服務器之間的連接出現(xiàn)故障。
作為一種可選的實施例,在判斷第一服務器中是否存在與目標賬號的標識信息相對應的目標位置信息之后,該實施例還可以包括:在第一服務器中不存在與目標賬號的標識信息相對應的目標位置信息的情況下,根據(jù)第一服務器中存儲的多個第二服務器的負載信息從多個第二服務器中確定出第二目標服務器,其中,第二目標服務器為多個第二服務器中的負載最少的第二服務器;將數(shù)據(jù)請求傳輸至第二目標服務器進行處理。
采用本發(fā)明上述實施例,在第一服務器中還可以存儲多個第二服務器的負載信息,在第一服務器中不存在與目標賬號標識信息相對應的目標位置信息的情況下,可以根據(jù)第二服務器的負載信息,從多個第二服務器中確定負載最少的第二服務器作為第二目標服務器,并將數(shù)據(jù)請求傳輸至第二服務器中進行處理,從而可以為多個第二服務器中負載較小第二服務器分配新的數(shù)據(jù)請求,并由該第二服務器進行處理,達到多個第二服務器的負載均衡的效果。
作為一個可選的示例,多個第二服務器包括第二服務器a、第二服務器b、以及第二服務器c,其中,第二服務器a的負載為滿負載的80%,第二服務器b的負載為滿負載的75%,第二服務器c的負載為滿負載的30%,則第一服務器中存儲有第二服務器a、第二服務器b、以及第二服務器c的上述負載信息。在第一服務器中不存在與目標賬號的標識信息相對應的目標位置信息的情況下,可以將包括目標賬號的標識信息的數(shù)據(jù)請求傳輸至第二服務器c中,由第二服務器c進行處理。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例3
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述數(shù)據(jù)請求的處理方法的數(shù)據(jù)請求的處理裝置。圖9是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)請求的處理裝置的示意圖,如圖9所示,該裝置可以包括:接收單元91,用于接收目標賬號發(fā)送的數(shù)據(jù)請求,其中,數(shù)據(jù)請求中攜帶有目標賬號的標識信息;判斷單元93,用于判斷第一服務器中是否存在與目標賬號的標識信息相對應的目標位置信息,其中,第一服務器中存儲有多個第二服務器的位置信息,目標位置信息用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,多個第二服務器包括第一目標服務器;第一傳輸單元95,用于在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求傳輸至第一目標服務器進行處理。
需要說明的是,該實施例中的接收單元91可以用于執(zhí)行本申請實施例2中的步驟s802,該實施例中的判斷單元93可以用于執(zhí)行本申請實施例2中的步驟s804,該實施例中的第一傳輸單元95可以用于執(zhí)行本申請實施例2中的步驟s806。
此處需要說明的是,上述模塊與對應的步驟所實現(xiàn)的示例和應用場景相同,但不限于上述實施例2所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在如圖2所示的硬件環(huán)境中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
作為一種可選的實施例,如圖10所示,該實施例還可以包括:確定單元97,用于在判斷第一服務器中是否存在與目標賬號的標識信息相對應的目標位置信息之后,在第一服務器中不存在與目標賬號的標識信息相對應的目標位置信息的情況下,根據(jù)第一服務器中存儲的多個第二服務器的負載信息從多個第二服務器中確定出第二目標服務器,其中,第二目標服務器為多個第二服務器中的負載最少的第二服務器;第二傳輸單元99,用于將數(shù)據(jù)請求傳輸至第二目標服務器進行處理。
通過上述模塊,目標賬號通過客戶端發(fā)出攜帶有目標賬號的標識信息的數(shù)據(jù)請求,再由第三服務器接收該數(shù)據(jù)請求,從第一服務器中存儲的多個第二服務器的信息中,判斷第一服務器中是否存與目標賬號的標識信息相對應的,用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,其中,多個第二服務器包括第一目標服務器,并在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求發(fā)送至用于處理數(shù)據(jù)請求的多個第二服務器中的第一目標服務器進行處理,可以解決相關技術中游戲玩家斷線后如果重連到不同的游戲服務器,將會導致斷線前該游戲玩家的狀態(tài)數(shù)據(jù)丟失的技術問題,進而達到準確為使用目標賬號的游戲玩家匹配存有該游戲玩家的狀態(tài)數(shù)據(jù),確保該玩家的狀態(tài)數(shù)據(jù)不會丟失的技術效果。
實施例4
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述數(shù)據(jù)請求的處理方法的終端。
圖11是根據(jù)本發(fā)明實施例的一種終端的結構框圖,如圖11所示,該終端可以包括:一個或多個(圖中僅示出一個)處理器201、存儲器203、以及傳輸裝置205,如圖11所示,該終端還可以包括輸入輸出設備207。
其中,存儲器203可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的數(shù)據(jù)請求的處理方法和裝置對應的程序指令/模塊,處理器201通過運行存儲在存儲器203內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的數(shù)據(jù)請求的處理方法。存儲器203可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器203可進一步包括相對于處理器201遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡連接至終端。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
上述的傳輸裝置205用于經(jīng)由一個網(wǎng)絡接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡具體實例可包括有線網(wǎng)絡及無線網(wǎng)絡。在一個實例中,傳輸裝置205包括一個網(wǎng)絡適配器(networkinterfacecontroller,nic),其可通過網(wǎng)線與其他網(wǎng)絡設備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進行通訊。在一個實例中,傳輸裝置205為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
其中,具體地,存儲器203用于存儲應用程序。
處理器201可以調用存儲器203存儲的應用程序,以執(zhí)行下述步驟:接收目標賬號發(fā)送的數(shù)據(jù)請求,其中,數(shù)據(jù)請求中攜帶有目標賬號的標識信息;判斷第一服務器中是否存在與目標賬號的標識信息相對應的目標位置信息,其中,第一服務器中存儲有多個第二服務器的位置信息,目標位置信息用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,多個第二服務器包括第一目標服務器;在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求傳輸至第一目標服務器進行處理。
處理器201還用于執(zhí)行下述步驟:在第一服務器中不存在與目標賬號的標識信息相對應的目標位置信息的情況下,根據(jù)第一服務器中存儲的多個第二服務器的負載信息從多個第二服務器中確定出第二目標服務器,其中,第二目標服務器為多個第二服務器中的負載最少的第二服務器;將數(shù)據(jù)請求傳輸至第二目標服務器進行處理。
處理器201還用于執(zhí)行下述步驟:redis集群包括多個服務器,其中,多個服務器中的每個服務器將多個第二服務器的位置信息實時通知給多個服務器中的其他服務器。
處理器201還用于執(zhí)行下述步驟:第一服務器在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況下,將已存儲的其中一個第二服務器的位置信息進行刪除。
采用本發(fā)明實施例,提供了一種數(shù)據(jù)請求的處理的方案。目標賬號通過客戶端發(fā)出攜帶有目標賬號的標識信息的數(shù)據(jù)請求,再由第三服務器接收該數(shù)據(jù)請求,從第一服務器中存儲的多個第二服務器的信息中,判斷第一服務器中是否存與目標賬號的標識信息相對應的,用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,其中,多個第二服務器包括第一目標服務器,并在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求發(fā)送至用于處理數(shù)據(jù)請求的多個第二服務器中的第一目標服務器進行處理,可以解決相關技術中游戲玩家斷線后如果重連到不同的游戲服務器,將會導致斷線前該游戲玩家的狀態(tài)數(shù)據(jù)丟失的技術問題,進而達到準確為使用目標賬號的游戲玩家匹配存有該游戲玩家的狀態(tài)數(shù)據(jù),確保該玩家的狀態(tài)數(shù)據(jù)不會丟失的技術效果。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
本領域普通技術人員可以理解,圖11所示的結構僅為示意,終端可以是智能手機(如android手機、ios手機等)、平板電腦、掌上電腦以及移動互聯(lián)網(wǎng)設備(mobileinternetdevices,mid)、pad等終端設備。圖11并不對上述電子裝置的結構造成限定。例如,終端還可包括比圖11中所示更多或者更少的組件(如網(wǎng)絡接口、顯示裝置等),或者具有與圖11所示不同的配置。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設備相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁盤或光盤等。
實施例5
本發(fā)明的實施例還提供了一種存儲介質??蛇x地,在本實施例中,上述存儲介質可以用于執(zhí)行數(shù)據(jù)請求的處理方法的程序代碼。
可選地,在本實施例中,上述存儲介質可以位于上述實施例所示的網(wǎng)絡中的多個網(wǎng)絡設備中的至少一個網(wǎng)絡設備上。
可選地,在本實施例中,存儲介質被設置為存儲用于執(zhí)行以下步驟的程序代碼:
s1,接收目標賬號發(fā)送的數(shù)據(jù)請求,其中,數(shù)據(jù)請求中攜帶有目標賬號的標識信息;
s2,判斷第一服務器中是否存在與目標賬號的標識信息相對應的目標位置信息,其中,第一服務器中存儲有多個第二服務器的位置信息,目標位置信息用于指示保存有目標賬號的狀態(tài)數(shù)據(jù)的第一目標服務器的位置,多個第二服務器包括第一目標服務器;
s3,在第一服務器中存在與目標賬號的標識信息相對應的目標位置信息的情況下,將數(shù)據(jù)請求傳輸至第一目標服務器進行處理。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:在第一服務器中不存在與目標賬號的標識信息相對應的目標位置信息的情況下,根據(jù)第一服務器中存儲的多個第二服務器的負載信息從多個第二服務器中確定出第二目標服務器,其中,第二目標服務器為多個第二服務器中的負載最少的第二服務器;將數(shù)據(jù)請求傳輸至第二目標服務器進行處理。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:第一服務器為redis集群。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:redis集群包括多個服務器,其中,多個服務器中的每個服務器將多個第二服務器的位置信息實時通知給多個服務器中的其他服務器。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:第一服務器在預定時間段內(nèi)未接收到多個第二服務器中的其中一個第二服務器發(fā)送的位置信息的情況下,將已存儲的其中一個第二服務器的位置信息進行刪除。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
可選地,在本實施例中,上述存儲介質可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質中,包括若干指令用以使得一臺或多臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。