專利名稱:單機存檔游戲系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及單機存檔游戲技術(shù)領(lǐng)域,尤其是一種單機存檔游戲系統(tǒng)。
背景技術(shù):
所述的單機存檔游戲,是指可以在一臺計算機或者某種游戲平臺上獨立運行、具 有運行進度的游戲。目前還存在一種與其相對的游戲,即網(wǎng)絡(luò)游戲。網(wǎng)絡(luò)游戲,又叫在線游 戲,或線上游戲(On-Line Game,簡稱0LG),一般指多名玩家通過計算機網(wǎng)絡(luò)互動娛樂的游 戲,有戰(zhàn)略游戲、動作游戲、體育游戲、格斗游戲、音樂游戲、競速游戲、網(wǎng)頁游戲和角色扮演 游戲等多種類型,當然也有少數(shù)在線單人游戲。如要運行網(wǎng)絡(luò)游戲,各玩家必須接入互聯(lián) 網(wǎng),游戲的運行需要通過專門的服務(wù)器和網(wǎng)絡(luò)來支撐。因而,單機游戲與網(wǎng)絡(luò)游戲的一個主 要區(qū)別在于,單機游戲不需要接入互聯(lián)網(wǎng)即可正常運行游戲,單機游戲在運行時不需要專 門的服務(wù)器支撐,單機游戲模式多為人機對戰(zhàn),單機游戲進度通過存檔的方式保存在計算 機本地硬盤,每次運行時通過讀取上一次運行后保存的存檔,便可以接著上一次運行的進 度繼續(xù)運行。由于目前的單機存檔游戲的存檔均保存在本地,這種存檔方式存在一個很重要的 缺陷游戲的存檔不能同步,即,在一臺計算機上運行該單機存檔游戲并存檔后,當用戶在 另一臺計算機上運行同一種單機存檔游戲時,不能讀取前一臺計算機上游戲的存檔,從而 不能接續(xù)在前一臺計算機上運行該單機存檔游戲的進度,只能重新開始運行或接續(xù)該臺計 算機上從前的進度。因而,目前這種單機存檔游戲的互動性和靈活性較差。
實用新型內(nèi)容本實用新型所要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的不足提供一種單機存檔游 戲系統(tǒng),實現(xiàn)存檔的同步,以使用戶在不同的游戲平臺運行同一單機存檔游戲時,能從上一 次運行的進度開始。為了解決的上述的技術(shù)問題,本實用新型提供了一種單機存檔游戲系統(tǒng),包括客 戶端和服務(wù)器端,所述客戶端用于獨立運行所述單機存檔游戲,所述服務(wù)器端包括管理服 務(wù)器和游戲進度存儲服務(wù)器,所述管理服務(wù)器與所述客戶端交互,接受所述客戶端對所述 單機存檔游戲的游戲進度存檔的上傳或下載的請求,將上傳的游戲進度存檔存儲到游戲進 度存儲服務(wù)器中,或?qū)⒂螒蜻M度存儲服務(wù)器中對應(yīng)于下載請求的游戲進度存檔發(fā)送給所述 客戶端。通過本實用新型提供的上述系統(tǒng),首先,用戶可以在不同的計算機上使用同一種 單機存檔游戲的游戲進度運行單機存檔游戲,實現(xiàn)了存檔的同步,從而提高了單機存檔游 戲的互動性和靈活性;其次,由于本實用新型提供的單機存檔游戲系統(tǒng)采用了文件數(shù)據(jù)壓 縮、解壓、tcp私有協(xié)議以及特殊的文檔存儲方法,因此減小了服務(wù)器的負載量,提高了服務(wù) 器的容災(zāi)能力,可保證游戲運行的安全與穩(wěn)定。
以下結(jié)合附圖和具體實施例對本實用新型的技術(shù)方案進行詳細地說明。
圖1為本實用新型單機存檔游戲系統(tǒng)的結(jié)構(gòu)框架圖;圖2為本實用新型單機存檔游戲系統(tǒng)的使用流程圖。
具體實施方式
圖1為本實用新型單機存檔游戲系統(tǒng)結(jié)構(gòu)框架圖,如圖1所示,本實用新型單機存 檔游戲系統(tǒng)包括客戶端1和服務(wù)器端2。所述客戶端1可以安裝在任何游戲平臺上,如計 算機、移動通訊裝置、個人數(shù)字助理等,為單機存檔游戲的運行提供運行環(huán)境。所述客戶端 1由用戶交互單元11、存儲單元12、壓縮單元13、計算單元14、管理單元15和解壓縮單元 16組成;所述用戶交互單元11在實際應(yīng)用時可將其設(shè)計成系統(tǒng)的主界面,用戶可通過該主 界面輸入各種信息、請求,并可以在此主界面運行單機存檔游戲。例如,用戶可通過該主界 面進行注冊或登錄,在運行某一游戲時發(fā)出對該游戲的某個進度存檔的下載請求,或在運 行完某一游戲時發(fā)出游戲進度存檔的上傳請求等。所述管理單元15—方面與所述用戶交 互單元11相連接,接收并處理通過所述用戶交互單元11輸入的信息或請求,如果用戶輸入 的是注冊信息,則將接收到的用戶注冊信息,如用戶ID、密碼、郵箱等信息發(fā)送給所述服務(wù) 器端2,如果所述管理單元15接收的是用戶對某一游戲的某一游戲進度存檔的下載請求, 則將該請求發(fā)送給所述服務(wù)器端2,如果所述管理單元15接收的是用戶對某一游戲的某一 游戲進度存檔的上傳請求時,所述管理單元15對該游戲進度存檔進行處理,得到該游戲進 度存檔的識別信息,而后將該游戲進度存檔及其識別信息發(fā)送到服務(wù)器端2。另一方面,所 述管理單元15與服務(wù)器端2進行交互,接收來自于服務(wù)器端2的消息及下載的游戲進度存 檔。另外,所述管理單元15將正在運行的單機存檔游戲的游戲進度存檔實時存儲在 所述存儲單元12中,其中,所述存儲單元12可以具體實施為一本地硬盤。當用戶通過所述用戶交互單元11輸入對某一游戲的某一游戲進度存檔的上傳請 求時,所述管理單元15對該游戲進度存檔進行處理,進行處理的一個具體實施方式
是先 將該游戲進度存檔發(fā)送到壓縮單元13進行壓縮,而后再由計算單元14對該壓縮后的游戲 進度存檔進行計算,得到用于識別該游戲進度存檔的識別信息,例如,計算單元14進行哈 希計算,得到的識別信息為哈希值。然后,再將該壓縮后的游戲進度存檔和識別信息(如哈 希值)通過管理單元15發(fā)送到服務(wù)器端2。當管理單元15收到服務(wù)器端2發(fā)送來的游戲 進度存檔的壓縮文件后,由解壓縮單元16對該壓縮文件進行解壓縮。所述服務(wù)器端2包括管理服務(wù)器21、用戶信息數(shù)據(jù)庫22、節(jié)點服務(wù)器集群23、索引 服務(wù)器M和安裝包服務(wù)器25,其中,所述客戶端1與管理服務(wù)器21連接,包括有線連接和 無線連接;所述管理服務(wù)器21分別與用戶信息數(shù)據(jù)庫22、節(jié)點服務(wù)器集群23、索引服務(wù)器 24和安裝包服務(wù)器25連接。所述管理服務(wù)器21與管理單元15進行交互,接受管理單元15發(fā)來的各種信息及 上傳或下載請求,并做出相應(yīng)的處理;所述用戶信息數(shù)據(jù)庫22中存儲有注冊用戶的詳細資 料和上傳到節(jié)點服務(wù)器集群23中的各個游戲存檔所對應(yīng)的識別信息(如哈希值)以及存 檔描述、存檔時間和下載地址等信息,其中,下載地址中包含有哈希值或由哈希值轉(zhuǎn)化的信息,因此,通過該下載地址可以確定地得到該進度存檔;所述節(jié)點服務(wù)器集群23由多個節(jié) 點服務(wù)器231組成,每個節(jié)點服務(wù)器231中存儲有利用云存儲技術(shù)將游戲存檔分成一定大 小的(如641Λ)數(shù)據(jù)塊;所述索引服務(wù)器M用來存儲每個游戲進度存檔的存儲索引信息, 所述每個游戲進度存檔的存儲索引信息包括該游戲進度存檔的哈希值、該游戲進度存檔各 個分塊的編號及每一個分塊的具體存儲地址(例如節(jié)點服務(wù)器的編號);所述安裝包服務(wù) 器25中存有各種可以在客戶端1所提供的環(huán)境中運行的單機存檔游戲安裝包。用戶可以到提供單機存檔游戲進度存檔服務(wù)的網(wǎng)站或者各類下載網(wǎng)站下載游戲 客戶端的安裝包,并安裝在電腦、移動通訊裝置(如手機)等終端上,以其作為游戲運行的
D ο圖2為本實用新型單機存檔游戲系統(tǒng)的使用流程圖,以下結(jié)合圖2和圖1,對本實 用新型所述的系統(tǒng)進行詳細說明。步驟SlOl 啟動客戶端1,進入該客戶端的主界面(即用戶交互單元11)。需要 說明的是,當用戶第一次登錄主界面時,需要通過主界面注冊用戶ID,并填寫相應(yīng)的注冊信 息,如密碼、郵箱等。注冊用戶的ID以及其他相關(guān)資料由客戶端1的管理單元15發(fā)送給管 理服務(wù)器21,通過管理服務(wù)器21將這些信息保存在用戶信息數(shù)據(jù)庫22中。如果用戶第一次運行某單機存檔游戲時,客戶端1通過管理服務(wù)器21從游戲安裝 包服務(wù)器25中下載所需的單機存檔游戲。步驟S102 用戶在主界面選擇并運行具有存檔功能的單機存檔游戲。其中,當用 戶在主界面點擊啟動某一個單機存檔游戲后,客戶端1的管理單元15接收到用戶啟動該單 機存檔游戲的請求后,將該用戶的用戶信息(如用戶ID)、游戲ID (—個游戲?qū)?yīng)一個ID) 和一代表游戲開始的請求信息合并為一個信息(以下稱為游戲開始請求)發(fā)送給管理服務(wù) 器21。步驟S103 管理服務(wù)器21收到所述管理單元15發(fā)送來的游戲開始請求后,根據(jù) 請求中包含的用戶信息對該用戶的身份進行認證,如果該用戶不是注冊用戶,則向所述管 理單元15發(fā)送一回應(yīng)信息,以告知該用戶的身份,在這種情況下,不對該用戶運行游戲的 存檔進行上傳存儲或下載以往的存檔給用戶,然后執(zhí)行步驟S113 ;在步驟S113中,讀取本 地游戲進度存檔,以本地存檔的進度開始運行游戲,如果本地沒有該游戲的進度存檔,則從 該游戲的初始進度開始運行,即進入步驟S114 ;如果該用戶是注冊用戶,執(zhí)行步驟S104。 步驟S104 所述管理服務(wù)器21根據(jù)該請求中的游戲ID ( 一個ID對應(yīng)一個游戲), 在用戶信息數(shù)據(jù)庫22中查詢該用戶是否上傳過與該游戲ID對應(yīng)的單機存檔游戲的進度存 檔,如果上傳過,則進入步驟S105,如果沒有,執(zhí)行步驟Sl 13 ;在步驟Sl 13中,管理單元15 讀取本地游戲進度存檔,以本地存檔的進度開始運行游戲,如果本地沒有該游戲的進度存 檔,則從該游戲的初始進度開始運行,即進入步驟S114。步驟S105 管理服務(wù)器21將用戶信息數(shù)據(jù)庫22中存儲的、該單機存檔游戲的所 有或部分(例如最新的3個)歷史存檔的存檔標識(如存檔描述、上傳時間、下載地址等) 以列表的形式發(fā)送給客戶端1,通過主界面顯示給用戶,以供選擇。步驟S106 用戶通過客戶端1是否選擇了一個游戲進度存檔?如果用戶選擇了 其中的一個,則進入步驟S107 ;如果用戶沒有選擇,則進入步驟S113,讀取本地游戲進度存 檔,以本地存檔的進度運行游戲。
5[0024]步驟S107 所述管理服務(wù)器21根據(jù)客戶端1發(fā)來的存檔標識中的下載地址,從節(jié) 點服務(wù)器集群23中獲取該游戲進度存檔并發(fā)送給客戶端1。此步驟中所述的處理過程實際 為存檔的下載過程,該下載過程的流程在下文有詳細說明,在此不再贅述。步驟S108 對所述管理服務(wù)器21發(fā)送來游戲進度存檔進行解壓縮,而后該單機存 檔游戲以該進度運行。另外,在游戲運行的過程中,所述客戶端1可對正在運行的游戲進度進行即時存 檔,用戶也可主動進行存檔,存檔的文件都保存到本地的存儲單元12中。步驟S109 在進行游戲時,用戶可隨時選擇退出游戲,如果選擇退出游戲則進入 步驟Sl 10,如果不選擇退出則返回步驟S108或Sl 14、Sl 13繼續(xù)游戲。步驟SllO 退出正在運行的單機存檔游戲并返回主界面。步驟Slll 在主界面上用戶選擇是否上傳游戲進度存檔,如果選擇上傳游戲進 度,則進入步驟S112,如果不選擇上傳游戲進度存檔則返回步驟S110,停留在主界面上。步驟S112 當用戶選擇上傳游戲進度存檔時,客戶端1的管理單元15向管理服務(wù) 器21發(fā)送上傳請求,所述管理服務(wù)器21運用云存儲技術(shù)將本次游戲結(jié)束時形成的游戲進 度存檔存儲在節(jié)點服務(wù)器集群23中。此步驟的上傳流程在下文有詳細說明,在此不再贅 述。其中,上述步驟S112具體包括以下步驟步驟S201 當用戶通過主界面選擇了對當前游戲的進度存檔進行上傳時,由管理 單元15向管理服務(wù)器21發(fā)送上傳請求,在該上傳請求中包括用戶信息、游戲ID及該進度 存檔的存檔描述、存檔時間等信息。步驟S202 所述管理服務(wù)器21通過用戶信息數(shù)據(jù)庫22中的信息對該用戶進行身 份驗證,并將允許或不允許上傳的消息發(fā)送給所述的管理單元15。只有驗證為合法用戶,即 注冊用戶后才能上傳,并將該游戲進度存檔的存檔描述、存檔時間等信息存到用戶信息數(shù) 據(jù)庫中;如果不是注冊用戶,則不能進行上傳,此時終止上傳過程。步驟S203 當發(fā)出上傳請求的客戶端為合法用戶后,所述的管理單元15將存儲單 元12中的需要上傳的游戲進度存檔發(fā)送給壓縮單元13進行壓縮,并由所述計算單元14根 據(jù)壓縮后的存檔的內(nèi)容計算出一個對應(yīng)該游戲進度存檔的哈希值,所述管理單元15將壓 縮后的游戲進度存檔、根據(jù)該壓縮后的游戲進度存檔計算的哈希值發(fā)送給所述的管理服務(wù) 器21。由于所述哈希值是根據(jù)游戲進度存檔內(nèi)容算出來的值,因此可以用來作為該游戲進 度存檔的唯一標識。步驟S204 管理服務(wù)器21接收管理單元15發(fā)送的該游戲進度存檔的壓縮包數(shù)據(jù) 以及該游戲進度存檔所對應(yīng)的哈希值。步驟S205:管理服務(wù)器21將接收到的哈希值存儲到用戶信息數(shù)據(jù)庫22,并將所述 壓縮包以一定大小(如641Λ)為單位進行分塊,將各個分塊分別存儲到不同的節(jié)點服務(wù)器 231 中。其中,在步驟S204中,所述管理服務(wù)器21接收完壓縮包數(shù)據(jù)后,根據(jù)該接收到的 壓縮包數(shù)據(jù)計算出一個哈希值,并與用戶信息數(shù)據(jù)庫22中存儲的與該壓縮包數(shù)據(jù)一起上 傳的哈希值進行比較。如果兩個哈希值相同,則說明上傳成功,如果兩個哈希值不相同,說 明在上傳過程中出現(xiàn)網(wǎng)絡(luò)連接失敗或客戶端1被強行關(guān)閉等情況出現(xiàn)致使接收到的存檔不是客戶端要上傳的存檔,則所述管理服務(wù)器21將接收完畢的壓縮包及其相關(guān)的數(shù)據(jù),如 存到用戶信息數(shù)據(jù)庫中的哈希值和存檔描述刪除,不進行存儲動作。步驟S206 所述管理服務(wù)器21將對應(yīng)該存檔的哈希值、分塊信息存儲到索引服務(wù) 器對中,所述分塊信息包括分塊編號、和對應(yīng)各個分塊的存儲地址,如節(jié)點服務(wù)器231的編號。其中,所述管理服務(wù)器21在用戶信息數(shù)據(jù)庫中存儲有針對每一個上傳存檔的存 檔下載地址,以供該存檔下載時使用。其中,該存檔下載地址包括哈希值以及其他的一些附 屬信息,用于使客戶端可以唯一地得到要下載的存檔。前述步驟S107中所述的下載過程如下步驟S301 客戶端1的管理單元15向管理服務(wù)器21發(fā)送下載請求,所述下載請 求包括用戶信息和游戲本身信息,管理服務(wù)器21接收到該下載請求時,對其進行解析,獲 得該用戶的ID和所要求下載的游戲ID。步驟S302 所述管理服務(wù)器21通過用戶信息數(shù)據(jù)庫22的信息對該用戶進行身份 驗證,如果身份合法,則進行下一步驟S303 ;如果身份不合法,終止所述的單機存檔游戲的 游戲進度存檔獲取。步驟S303 所述管理服務(wù)器21將針對該用戶的、該游戲最新的3個游戲進度存檔 的存檔標識(包括存檔描述、存檔時間以及存檔下載地址)以列表的形式發(fā)送給所述客戶 端1。步驟S304 當用戶在所述列表中選擇了其中的一個存檔標識后(即選擇了一個存 檔的下載地址),客戶端中的管理單元15將選中的存檔標識中的信息,至少是下載地址,及 關(guān)于下載的請求發(fā)送給服務(wù)器端中的管理服務(wù)器21。步驟S305 所述管理服務(wù)器21根據(jù)該下載地址中的哈希值在索引服務(wù)器M中獲 取該游戲進度存檔的各個分塊的存儲信息。步驟S306 所述管理服務(wù)器21根據(jù)該存儲信息中的分塊編號和對應(yīng)的節(jié)點服務(wù) 器編號,從各個節(jié)點服務(wù)器231中分別獲取各個分塊數(shù)據(jù)后,進行合并后發(fā)送給客戶端1的 管理單元15,管理單元15成功地接收到該存檔后,由于該存檔為一壓縮文件,因而將該壓 縮文件解壓存到本地該游戲的存檔位置。在本實用新型單機存檔游戲系統(tǒng)上傳和下載游戲進度存檔的過程中,在上傳游戲 進度存檔時,管理服務(wù)器21可以全部接收完再分塊,也可以邊接收所述壓縮包數(shù)據(jù),邊將 壓縮包數(shù)據(jù)以641Λ大小為單位進行分塊,再將各個分塊數(shù)據(jù)存儲到節(jié)點服務(wù)器集群23中。綜上所述,本實用新型提供單機存檔游戲系統(tǒng)與現(xiàn)有技術(shù)中的單機存檔游戲相 比,本實用新型的單機存檔游戲系統(tǒng)采用了兩種游戲進度存檔方式第一種在本地保存,第 二種在服務(wù)器保存,在服務(wù)器保存的方式采用了文件數(shù)據(jù)壓縮、解壓、tcp私有協(xié)議以及“云 存儲”的存儲方式,其優(yōu)點在于,首先用戶可以在不同的計算機上使用同一種單機存檔游戲 的游戲進度運行該游戲;其次,由于采用將準備存儲的文件進行分塊,并且將每個分塊至少 存儲到3個服務(wù)器中,因此可以節(jié)省服務(wù)器的負載量并且這種在服務(wù)器中管理存檔文件的 方式具有強大的容災(zāi)能力,可保證自身的安全與穩(wěn)定。
權(quán)利要求1.一種單機存檔游戲系統(tǒng),其特征在于,包括客戶端和服務(wù)器端,所述客戶端用于獨立 運行所述單機存檔游戲,所述服務(wù)器端包括管理服務(wù)器和游戲進度存儲服務(wù)器,所述管理 服務(wù)器與所述客戶端交互,接受所述客戶端對所述單機存檔游戲的游戲進度存檔的上傳或 下載的請求,將上傳的游戲進度存檔存儲到游戲進度存儲服務(wù)器中,或?qū)⒂螒蜻M度存儲服 務(wù)器中對應(yīng)于下載請求的游戲進度存檔發(fā)送給所述客戶端。
2.如權(quán)利要求1所述的一種單機存檔游戲系統(tǒng),其特征在于,所述游戲進度存儲服務(wù) 器包括節(jié)點服務(wù)器集群和索引服務(wù)器,所述節(jié)點服務(wù)器集群和索引服務(wù)器分別與所述管理 服務(wù)器連接,所述節(jié)點服務(wù)器集群存儲所述游戲進度存檔的分塊,所述索引服務(wù)器存儲所 述各個游戲進度存檔分塊在所述節(jié)點服務(wù)器集群中的存儲信息。
3.如權(quán)利要求2所述的一種單機存檔游戲系統(tǒng),其特征在于,所述節(jié)點服務(wù)器集群由 多個節(jié)點服務(wù)器組成。
4.如權(quán)利要求1所述的一種單機存檔游戲系統(tǒng),其特征在于,所述服務(wù)器端還包括安 裝包服務(wù)器,用于存儲單機存檔游戲安裝包。
5.如權(quán)利要求1所述的一種單機存檔游戲系統(tǒng),其特征在于,所述客戶端包括用戶交 互單元和管理單元,所述用戶交互單元至少用于向所述管理單元提供用戶信息和請求,所 述管理單元分別與所述用戶交互單元和所述管理服務(wù)器進行信息的交互和處理。
6.如權(quán)利要求5所述的一種單機存檔游戲系統(tǒng),其特征在于,所述客戶端還包括計算 單元,所述計算單元用于對要上傳的游戲進度存檔進行計算,以求出該游戲進度存檔的識 別信息。
7.如權(quán)利要求5所述的一種單機存檔游戲系統(tǒng),其特征在于,所述客戶端還包括壓縮 單元和解壓縮單元,用于對要上傳的游戲進度存檔進行壓縮,所述計算單元對經(jīng)過壓縮的 游戲進度存檔進行計算,以求出該游戲進度存檔的識別信息;所述解壓縮單元用于對接收 到的游戲進度存檔壓縮文件進行解壓縮。
專利摘要本實用新型公開了一種單機存檔游戲系統(tǒng),包括客戶端和服務(wù)器端,服務(wù)器端中的管理服務(wù)器接受所述客戶端對游戲進度存檔的上傳或下載的請求,將上傳的游戲進度存檔存儲到游戲進度存儲服務(wù)器中,或?qū)⒂螒蜻M度存儲服務(wù)器中對應(yīng)于下載請求的游戲進度存檔發(fā)送給所述客戶端。用戶可以在不同的計算機上使用同一種單機存檔游戲的游戲進度進行單機存檔游戲,由于采用的云存儲技術(shù),因此節(jié)省服務(wù)器的負載量并且這種在服務(wù)器中管理存檔文件的方式具有強大的容災(zāi)能力,可保證自身的安全與穩(wěn)定。
文檔編號G06F19/00GK201917908SQ20102062670
公開日2011年8月3日 申請日期2010年11月24日 優(yōu)先權(quán)日2010年11月24日
發(fā)明者王欣, 鐘智將 申請人:深圳市快播科技有限公司