本發(fā)明涉及網(wǎng)絡(luò)游戲文件處理
技術(shù)領(lǐng)域:
,尤其涉及一種移動端網(wǎng)絡(luò)游戲版本快速熱更新的方法。
背景技術(shù):
:目前,移動客戶端網(wǎng)絡(luò)游戲版本熱更新,一般是通過對比“服務(wù)器文件列表”和“本地文件列表”中的信息,將“文件版本號”或“md5值”變化的文件或新增的文件放入“待更新文件列表”,將“待更新文件列表”中的文件下載下來并放入客戶端資源包,完成版本更新。然而,由于移動客戶端(比如手機)網(wǎng)絡(luò)的限制,逐個下載更新文件速度很慢,導(dǎo)致玩家等待的時間長。尤其是對于大版本的更新文件下載,需要玩家等待的時間更長,降低了玩家的游戲體驗,從而導(dǎo)致很多玩家的流失。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于提供一種移動端網(wǎng)絡(luò)游戲版本快速熱更新的方法,從而解決現(xiàn)有技術(shù)中存在的前述問題。為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:一種移動端網(wǎng)絡(luò)游戲版本快速熱更新的方法,包括如下步驟:S1,服務(wù)器生成新版本時,獲取所述新版本與舊版本之間的增量文件,并將所述增量文件進(jìn)行打包,得到打包文件;S2,移動客戶端從所述服務(wù)器下載所述打包文件并將其放入客戶端資源包,完成版本更新。優(yōu)選地,如果所述版本的形式為X.Y.Z,其中Z表示小版本,即每次更新任何文件Z都會自增;Y表示中間版本,是Z自增到一定階段的進(jìn)位;X為大版本,是Y自增到一定程度的進(jìn)位;則,S1中所述將所述增量文件進(jìn)行打包,包括如下步驟:S101,對每個所述中間版本的增量文件分別進(jìn)行打包,得到每個中間版本的壓縮包;S102,判斷是否存在所述小版本更新,如果是,則單獨存放所述小版本的更新文件,并記錄文件的md5碼,否則,結(jié)束。優(yōu)選地,S101與S102之間,還包括如下步驟,判斷是否需要跨所述中間版本進(jìn)行打包,如果需要,則對跨所述中間版本的增量文件進(jìn)行打包,得到跨版本的壓縮包,再執(zhí)行S102,否則,直接執(zhí)行S102。優(yōu)選地,S2包括如下步驟:S201,客戶端獲取服務(wù)器上的最新版本號,并對比客戶端的版本號和服務(wù)端的版本號,如果相同,則結(jié)束,否則,進(jìn)入下一個階段;S202,根據(jù)客戶端與服務(wù)端之間版本號的差異,以及服務(wù)端的更新文件,客戶端生成包含最少文件個數(shù)的待更新文件列表;S203,客戶端根據(jù)所述待更新文件列表逐個下載文件。優(yōu)選地,所述包含最少文件個數(shù)的待更新文件列表,包含:中間版本的壓縮包、跨版本的壓縮包和小版本文件。優(yōu)選地,S202包括如下步驟:S2021,根據(jù)客戶端與服務(wù)端之間版本號的差異,生成包含最少壓縮包個數(shù)的中間版本待更新文件列表;S2022,判斷客戶端與服務(wù)端之間每個小版本更新的文件md5碼是否相同,如果不同,則將這些文件添加至所述待更新文件列表,否則,結(jié)束。本發(fā)明的有益效果是:本發(fā)明實施例提供了一種移動端網(wǎng)絡(luò)游戲版本快速熱更新的方法,通過將多個小文件打包成一個大文件,再一次性下載該大文件來完成游戲更新,這種方法只需下載較少的文件,所以所需與服務(wù)器建立連接與關(guān)閉連接的次數(shù)較少,與現(xiàn)有技術(shù)中,需要對多個小文件逐個下載,重復(fù)多次進(jìn)行連接資源服務(wù)器、下載小文件,關(guān)閉連接的操作,需要連接多次資源服務(wù)器、關(guān)閉多次連接的方法相比,完成相同大小的資源下載,所需要的時間更短,下載資源的速度更快,因此,采用本發(fā)明實施例提供的方法,提升了移動客戶端游戲版本更新速度,提高了游戲留存率。附圖說明圖1是打包增量文件的流程示意圖;圖2是下載更新版本的流程示意圖。具體實施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施方式僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例提供了一種移動端網(wǎng)絡(luò)游戲版本快速熱更新的方法,包括如下步驟:S1,服務(wù)器生成新版本時,獲取所述新版本與舊版本之間的增量文件,并將所述增量文件進(jìn)行打包,得到打包文件;S2,移動客戶端從所述服務(wù)器下載所述打包文件并將其放入客戶端資源包,完成版本更新。上述方法中,將網(wǎng)絡(luò)游戲中的多個小文件打包成大文件,以提升更新文件的下載速度,其實現(xiàn)原理為:每下載一個文件都涉及到連接資源服務(wù)器、下載資源、關(guān)閉連接三個步驟,由于移動客戶端網(wǎng)絡(luò)的特性,往往連接資源服務(wù)器階段會花費大量時間,而關(guān)閉連接也同樣的會占用一定的時間,這就導(dǎo)致下載一個大文件要比下載同樣大小的多個小文件快的多。本發(fā)明提出的方案是將多個小文件打包成一個大文件,從而加快資源下載的速度。如圖1所示,其中,如果所述版本的形式為X.Y.Z,其中Z表示小版本,即每次更新任何文件Z都會自增;Y表示中間版本,是Z自增到一定階段的進(jìn)位;X為大版本,是Y自增到一定程度的進(jìn)位;則,S1中所述將所述增量文件進(jìn)行打包,可以包括如下步驟:S101,對每個所述中間版本的增量文件分別進(jìn)行打包,得到每個中間版本的壓縮包;S102,判斷是否存在所述小版本更新,如果是,則單獨存放所述小版本的更新文件,并記錄文件的md5碼,否則,結(jié)束。在本發(fā)明的一個優(yōu)選實施例中,S101與S102之間,還包括如下步驟,判斷是否需要跨所述中間版本進(jìn)行打包,如果需要,則對跨所述中間版本的增量文件進(jìn)行打包,得到跨版本的壓縮包,再執(zhí)行S102,否則,直接執(zhí)行S102。如圖2所示,其中,S2可以包括如下步驟:S201,客戶端獲取服務(wù)器上的最新版本號,并對比客戶端的版本號和服務(wù)端的版本號,如果相同,則結(jié)束,否則,進(jìn)入下一個階段;S202,根據(jù)客戶端與服務(wù)端之間版本號的差異,以及服務(wù)端的更新文件,客戶端生成包含最少文件個數(shù)的待更新文件列表;S203,客戶端根據(jù)所述待更新文件列表逐個下載文件。其中,所述包含最少文件個數(shù)的待更新文件列表,包含:中間版本的壓縮包、跨版本的壓縮包和小版本文件。本發(fā)明實施例中,S202可以包括如下步驟:S2021,根據(jù)客戶端與服務(wù)端之間版本號的差異,生成包含最少壓縮包個數(shù)的中間版本待更新文件列表;S2022,判斷客戶端與服務(wù)端之間每個小版本更新的文件md5碼是否相同,如果不同,則將這些文件添加至所述待更新文件列表,否則,結(jié)束。具體實施例:本發(fā)明實施例提供的移動端網(wǎng)絡(luò)游戲版本快速熱更新的方法,其實施包括兩個階段,即為打包階段和熱更新階段。打包階段為游戲開發(fā)人員在生成新版本時所操作,這個過程將會找出各個版本間有變化的文件和增刪文件(下稱增量文件),然后按照一定的規(guī)則打包。熱更新階段為游戲客戶端所進(jìn)行的操作,這個過程中??蛻舳藭姆?wù)器下載增量文件放入客戶端資源包,完成版本更新。1、打包階段打包階段為游戲開發(fā)人員在生成新版本時所操作,這個過程將會找出各個版本間有變化的文件和增刪文件(下稱增量文件),然后按照一定的規(guī)則打包。規(guī)則為:打包生成每個中間版本的增量文件,再根據(jù)需要打包跨版本的增量文件;最后單獨存放最后小版本的更新文件。假設(shè)某款游戲的版本號采用X.Y.Z的形式,其中Z表示小版本,即每次更新任何文件Z都會自增。Y表示中間版本,是Z自增到一定階段的進(jìn)位,X為大版本,是Y自增到一定程度的進(jìn)位。首先,打包每個中間版本的增量文件。假設(shè)當(dāng)前游戲版本號為1.5.5,游戲客戶端版本號可能是1.0.0到1.5.5之間的任何一個。那么,對1.0.0到1.5.5之間的每一個中間版本的增量文件進(jìn)行打包,生成如表1所示文件。(如下命名中X.Y.Z_to_A.B.C.rar表示包含X.Y.Z版本到A.B.C版本的增量文件的壓縮包)表1打包生成每個中間版本的增量文件示例1.0.0_to_1.1.0.rar1.1.0_to_1.2.0.rar1.2.0_to_1.3.0.rar1.3.0_to_1.4.0.rar1.4.0_to_1.5.0.rar然后,根據(jù)需要打包跨版本的增量文件。該步驟不是必須的,但它對資源更新速度有一定幫助。具體來說,當(dāng)服務(wù)器空間足夠,應(yīng)當(dāng)盡多的生成跨版本文件。例如生成1.0.0版本到1.2.0版本、1.1.0版本到1.4.0版本兩個跨版本增量文件,如表2所示。表2根據(jù)需要打包跨版本的增量文件示例1.0.0_to_1.2.0.rar1.1.0_to_1.4.0.rar最后,單獨存放小版本的更新文件。由于小版本更新頻繁,應(yīng)適用于隨時更新。所以,小版本更新文件不打包,直接存放。例如在版本1.5.0和版本1.5.1之間,有tank.asset和ui.asset兩個增量文件,那么將這兩個文件單獨列出,如表3所示。由于小版本號文件也可能改動,還需記錄下每個文件的md5碼。表3單獨存放的小版本的更新文件示例tank.assetui.asset經(jīng)過如上的3個步驟,生成了如表4的可用于更新的文件列表。包括多個打包文件和少量未打包的文件。表4更新文件列表示例1.0.0_to_1.1.0.rar1.1.0_to_1.2.0.rar1.2.0_to_1.3.0.rar1.3.0_to_1.4.0.rar1.4.0_to_1.5.0.rar1.0.0_to_1.2.0.rar1.1.0_to_1.4.0.rartank.assetui.asset2、熱更新階段熱更新階段為游戲客戶端所進(jìn)行的操作,這個過程中??蛻舳藭姆?wù)器下載增量文件放入客戶端資源包,完成版本更新。熱更新階段分為對比版本號,生成下載列表和下載文件3個階段。1)、對比版本號,客戶端通過網(wǎng)絡(luò)獲取最新游戲的版本號,并記錄下來。如果客戶端的版本號和服務(wù)端的版本號不同,進(jìn)入下一個階段,否則無需進(jìn)行熱更新。2)、生成下載列表,根據(jù)版本號差異和服務(wù)端的更新文件列表,找出下載文件個數(shù)最少的一種更新方式。例如客戶端的版本號為1.1.5,服務(wù)端的版本號為1.5.1,那么客戶端需要下載1.1.0到1.5.0之間的打包文件,再下載1.5.0到1.5.1的增量文件。根據(jù)服務(wù)端的更新文件,找到從1.1.0到1.5.0之間的打包文件,可能有如下三種下載策略。其中,策略3所需下載的文件個數(shù)最少,應(yīng)選用策略3的三個文件“1.0.0_to_1.1.0.rar”“1.1.0_to_1.4.0.rar”“1.4.0_to_1.5.0.rar?!弊鳛閺?.1.0到1.5.0版本的更新文件。然后找出版本1.5.0和版本1.5.1之間的增量文件,即為服務(wù)端中沒有打包的文件。最終的待更新文件下載列表如下所示。3)、根據(jù)“待更新文件下載列表”,一個個下載文件,完成熱更新。通過采用本發(fā)明公開的上述技術(shù)方案,得到了如下有益的效果:本發(fā)明實施例提供了一種移動端網(wǎng)絡(luò)游戲版本快速熱更新的方法,通過將多個小文件打包成一個大文件,再一次性下載該大文件來完成游戲更新,這種方法只需下載較少的文件,所以只需較少的連接服務(wù)器、斷開服務(wù)器的操作,與現(xiàn)有技術(shù)中,需要對多個小文件逐個下載,重復(fù)多次進(jìn)行連接資源服務(wù)器、下載小文件,關(guān)閉連接的操作,需要連接多次資源服務(wù)器、關(guān)閉多次連接的方法相比,完成相同大小的資源下載,所需要的時間更短,下載資源的速度更快,因此,采用本發(fā)明實施例提供的方法,提升了移動客戶端游戲版本更新速度,提高了游戲留存率。本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。本領(lǐng)域人員應(yīng)該理解的是,上述實施例提供的方法步驟的時序可根據(jù)實際情況進(jìn)行適應(yīng)性調(diào)整,也可根據(jù)實際情況并發(fā)進(jìn)行。上述實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機設(shè)備可讀取的存儲介質(zhì)中,用于執(zhí)行上述各實施例方法所述的全部或部分步驟。所述計算機設(shè)備,例如:個人計算機、服務(wù)器、網(wǎng)絡(luò)設(shè)備、智能移動終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲介質(zhì),例如:RAM、ROM、磁碟、磁帶、光盤、閃存、U盤、移動硬盤、存儲卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲、網(wǎng)絡(luò)云存儲等。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護范圍。當(dāng)前第1頁1 2 3