專利名稱:大型游戲包的下載方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體地,涉及一種大型游戲包的下載方法及裝置。
背景技術(shù):
目前,用戶在玩某款游戲時,需要先將整個游戲包下載下來,安裝完游戲包,然后才能玩游戲。隨著游戲復(fù)雜度的提高,游戲的安裝包也越變越大,玩家下載游戲所耗費的時間也越來越長。這對于迫切想玩游戲的玩家來說,下載游戲的時間降低了用戶的體驗感。
發(fā)明內(nèi)容
本發(fā)明實施例的主要目的在于提供一種大型游戲包的下載方法及裝置,以解決現(xiàn)有技術(shù)中的大型游戲下載時間過長而導(dǎo)致的用戶體驗感差的問題。為了實現(xiàn)上述目的,本發(fā)明實施例提供一種大型游戲包的下載方法,該方法包括:根據(jù)預(yù)定規(guī)則將大型游戲包分為主包和次包,其中,所述主包包括:所述大型游戲初始化運行所需的文件信息,所述次包包括:所述大型游戲運行時需要監(jiān)控的文件信息;根據(jù)下載請求,將所述主包下載至客戶端并運行程序;在用戶游戲過程中,下載所述次包至所述客戶端并運行程序。上述主包還包括:用于獲取所述次包路徑信息和下載程度的監(jiān)控信息。具體地,將所述主包下載至客戶端并運行程序包括:將所述主包下載至所述客戶端;運行所述大型游戲初始化程序以及獲取所述次包路徑信息;監(jiān)控所述大型游戲的下載過程以及所述大型游戲程序的運行過程。上述下載次包至所述客戶端并運行程序包括:根據(jù)所述次包路徑信息下載所述次包;監(jiān)控所述次包的下載過程以及所述次包程序的運行過程。上述監(jiān)控所述大型游戲的運行過程包括:如果所述大型游戲運行速度大于所述主包的下載速度,則暫停所述大型游戲的運行程序。本發(fā)明實施例還提供一種大型游戲包的下載裝置,所述裝置包括:信息分類單元,用于根據(jù)預(yù)定規(guī)則將大型游戲包分為主包和次包,其中,所述主包包括:所述大型游戲初始化運行所需的文件信息,所述次包包括:所述大型游戲運行時需要監(jiān)控的文件信息;主包下載運行單元,用于根據(jù)下載請求,將所述主包下載至客戶端并運行程序;次包下載運行單元,用于在用戶游戲過程中,下載所述次包至所述客戶端并運行程序。上述信息分類單元中的主包還包括:用于獲取所述次包路徑信息和下載程度的監(jiān)控信息。具體地,上述主包下載運行單元包括:主包下載模塊,用于將所述主包下載至所述客戶端;程序運行模塊,用于運行所述大型游戲初始化程序;次包信息獲取單元,用于獲取所述次包路徑信息;主包監(jiān)控模塊,用于監(jiān)控所述大型游戲的下載過程以及所述大型游戲程序的運行過程。上述次包下載運行單元包括:次包下載模塊,用于根據(jù)所述次包路徑信息下載所述次包;次包監(jiān)控模塊,用于監(jiān)控所述次包的下載過程以及所述次包程序的運行過程。上述裝置還包括:運行暫停單元,用于在所述大型游戲運行速度大于所述主包的下載速度時,暫停所述大型游戲的運行程序。借助于上述技術(shù)方案至少之一,通過將大型游戲包分為主包和次包,先下載主包并安裝游戲,可以在下載主包的同時進(jìn)行游戲,能夠提高用戶的體驗感。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實施例的大型游戲包下載方法的流程圖;圖2是根據(jù)本發(fā)明實施例的大型游戲包下載方法的詳細(xì)流程圖;圖3是根據(jù)本發(fā)明實施例的大型游戲數(shù)據(jù)包的分包規(guī)則示意圖;圖4是根據(jù)本發(fā)明實施例的大型游戲數(shù)據(jù)包的另一分包規(guī)則示意圖;圖5是根據(jù)本發(fā)明實施例的大型游戲包下載裝置的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明實施例的主包下載運行單元的結(jié)構(gòu)框圖;圖7是根據(jù)本發(fā)明實施例的次包下載運行單元的結(jié)構(gòu)框圖;圖8是根據(jù)本發(fā)明實施例的大型游戲包下載系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。目前,游戲主要分為可即時體驗的游戲和需要下載較長時間運行的大型游戲。本發(fā)明主要涉及的是需要下載較長時間運行的大型游戲,由于現(xiàn)有技術(shù)中的大型游戲需要下載完成后用戶才能運行且下載時間較長,這降低了用戶的體驗感?;诖?,本發(fā)明實施例提供一種大型游戲包的下載方法及裝置,以解決上述問題。以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。實施例一本發(fā)明實施例提供一種大型游戲包的下載方法,如圖1所示,該方法包括:步驟101,根據(jù)預(yù)定規(guī)則將大型游戲包分為主包和次包,其中,主包包括:大型游戲初始化運行所需的文件信息,次包包括:大型游戲運行時需要監(jiān)控的文件信息;步驟102,根據(jù)下載請求,將主包下載至客戶端并運行程序;步驟103,在用戶游戲過程中,下載次包至客戶端并運行程序。由以上描述可以看出,通過將大型游戲包分為主包和次包,先下載主包并安裝游戲,由于下載主包過程同時安裝游戲,用戶可以不用像現(xiàn)有技術(shù)中長時間的等待,而是可以在下載主包的同時進(jìn)行游戲,相比于現(xiàn)有技術(shù),本發(fā)明實施例能夠提高用戶的體驗感。
優(yōu)選地,上述主包可以包括用于獲取所述次包路徑信息和下載程度的監(jiān)控信息。上述步驟102將主包下載至客戶端并運行程序具體包括:接收來自用戶端的下載請求,將主包下載至客戶端;運行大型游戲初始化程序以及獲取次包路徑信息;監(jiān)控大型游戲的下載過程以及大型游戲程序的運行過程。在監(jiān)控過程中,如果大型游戲運行速度大于主包的下載速度,則暫停大型游戲的運行程序。也就是說,如果游戲運行所需要的文件,還沒下載完成,則將游戲停止住,就像在線看電影,如果還沒下載完,先將電影暫停,等到下載完成時,放開繼續(xù)運行游戲。大型游戲的優(yōu)先下載主包,可以快速運行游戲,這樣用戶就可以即點即玩。當(dāng)主包下載完畢之后,開始下載次包,具體為:根據(jù)上述在主包中獲取的次包路徑信息下載次包;并監(jiān)控次包的下載過程以及次包程序的運行過程。在具體實施過程中,主包是運行游戲的初始包,次包是需要監(jiān)控的每個文件獨立出來一個包,次包可以有很多個小包,主包和次包可以都存放在服務(wù)器對應(yīng)一個hash下,以供下載。圖2是大型游戲包的下載方法的詳細(xì)流程圖,如圖2所示,該流程包括:步驟201,用戶選擇游戲;步驟202,客戶端運行游戲; 步驟203,系統(tǒng)判斷該游戲是否為大型游戲,如果是大型游戲,則進(jìn)行步驟204,否貝U,退出流程;步驟204,請求對應(yīng)游戲hash的主包和次包信息;步驟205,下載主包數(shù)據(jù);步驟206,運行大型游戲;步驟207,判斷是否有需要下載的次包文件,如果有,則進(jìn)行步驟208 ;步驟208,下載次包數(shù)據(jù);步驟209,每隔I秒采集主包和次包的下載長度;步驟210,判斷游戲運行讀的長度是否大于下載的長度,如果是,則進(jìn)行步驟211,否則進(jìn)行步驟212 ;步驟211,暫停游戲運行,等待下載,之后返回步驟210 ;步驟212,繼續(xù)運行大型游戲。上述的主包、次包的分包方式(即,上述的預(yù)定規(guī)則)可以有以下兩種:(I)如圖3所示,將大型游戲中的游戲初始化運行所需文件錄入主包數(shù)據(jù)庫,將其他文件錄入次包數(shù)據(jù)庫;(2)如圖4所示,根據(jù)文件大小確定主包和次包;具體地,將文件大小大于分割標(biāo)準(zhǔn)的文件錄入主包數(shù)據(jù)庫,將文件大小小于或等于分割標(biāo)準(zhǔn)的文件錄入次包數(shù)據(jù)庫。在具體實施過程中,可以將每個游戲的次包分別對應(yīng)的hash寫在xml數(shù)據(jù)庫(或者次包數(shù)據(jù)庫)里面,以供每次運行游戲的時候檢查該游戲有沒有需要監(jiān)控的文件。用戶點擊游戲,游戲平臺啟動游戲時,安裝游戲驅(qū)動程序,該驅(qū)動程序是監(jiān)控的核心,主要用于實現(xiàn)監(jiān)控功能。該驅(qū)動程序只要安裝一次即可,不用每啟動游戲一次都安裝一次,安裝完驅(qū)動程序之后同時監(jiān)測xml,看是否有需要監(jiān)控的文件,如果有需要監(jiān)控的文件,則將監(jiān)控信息傳給驅(qū)動程序,監(jiān)控信息包括文件路徑、進(jìn)程路徑、文件已經(jīng)下載的長度等,驅(qū)動程序用一個鏈表保存該信息,同時驅(qū)動程序增加一事件對象的信息,并初始化對象,每個文件對應(yīng)一個事件對象。游戲在下載次包的時候,可以周期性(例如,周期為I秒)將下載的長度傳給驅(qū)動程序。運行游戲的時候每次讀寫文件,都會讀入驅(qū)動程序,之后驅(qū)動程序在通過保存的鏈表判斷該文件是否是要監(jiān)控的文件,如果是要監(jiān)控的文件,再判斷讀的長度是否大于下載的長度,如果讀的長度大于已經(jīng)下載的長度,則暫停整個讀取該文件的線程。當(dāng)讀取的長度小于等于下載的長度,則繼續(xù)游戲。這樣就實現(xiàn)了邊下邊玩,即,后臺程序下載的同時用戶可以直接游戲,這樣用戶就不用花費時間等游戲全部下載完畢,提高了用戶的體驗感。如果是不需要監(jiān)控的文件,就按正常的文件讀寫進(jìn)行操作。實施例二本發(fā)明實施例還提供一種大型游戲包的下載裝置,如圖5所示,該裝置包括:信息分類單元1,用于根據(jù)預(yù)定規(guī)則將大型游戲包分為主包和次包,其中,主包包括:大型游戲初始化運行所需的文件信息,次包包括:大型游戲運行時需要監(jiān)控的文件信息;主包下載運行單元2,用于根據(jù)下載請求,將主包下載至客戶端并運行程序;次包下載運行單元3,用于在用戶游戲過程中,下載次包至客戶端并運行程序。由以上描述可以看出,通過信息分類單元將大型游戲包分為主包和次包,主包下載運行單元先下載主包并安裝游戲,由于下載主包過程同時安裝游戲,用戶可以不用像現(xiàn)有技術(shù)中長時間的等待,而是可以在下載主包的同時進(jìn)行游戲,相比于現(xiàn)有技術(shù),本發(fā)明實施例能夠提高用戶的體驗感。優(yōu)選地,上述信息分類單元中的主包還包括:用于獲取所述次包路徑信息和下載程度的監(jiān)控信息。如圖6所示,主包下載運行單元2具體包括:主包下載模塊21,用于將主包下載至客戶端;程序運行模塊22,用于運行大型游戲初始化程序;次包信息獲取單元23,用于獲取次包路徑信息;主包監(jiān)控模塊24,用于監(jiān)控大型游戲的下載過程以及大型游戲程序的運行過程。如圖7所示,次包下載運行單元3包括:次包下載模塊31,用于根據(jù)次包路徑信息下載次包;次包監(jiān)控模塊32,用于監(jiān)控次包的下載過程以及次包程序的運行過程。上述大型游戲包下載裝置還包括:運行暫停單元(圖中未示出),用于在大型游戲運行速度大于主包的下載速度時,暫停所述大型游戲的運行程序。上述各單元、各模塊的執(zhí)行過程可以參考上述實施例一中的描述,此處不再贅述。圖8是大型游戲包下載系統(tǒng)的結(jié)構(gòu)示意圖,如圖8所示,該大型游戲包下載系統(tǒng)包括終端及邊下邊玩服務(wù)器,終端及邊下邊玩服務(wù)器通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸。邊下邊玩服務(wù)器端將大型游戲安裝包分成主包和次包,主包是運行游戲的初始包,次包是需要監(jiān)控的每個文件獨立出來一個包,次包有很多個包,主包和次包都存放在服務(wù)器對應(yīng)一個hash以供下載。邊下邊玩底層監(jiān)控模塊用于獲取次包的監(jiān)控信息,然后將監(jiān)控信息傳給游戲客戶端的邊下邊玩管理模塊,監(jiān)控信息包括文件路徑、進(jìn)程路徑、文件已經(jīng)下載的長度。邊下邊玩管理模塊根據(jù)監(jiān)控信息控制游戲運行。通過游戲的邊下邊玩,可以提高用戶的體驗感,無需像現(xiàn)有技術(shù)中的要等待游戲下載完畢后才能執(zhí)行游戲。綜上所述,本發(fā)明實施例通過將大型游戲的文件數(shù)據(jù)分為主包和次包,大型游戲開始運行時優(yōu)先下載主包,可快速運行游戲,給客戶提供即點既玩的體驗,接著再邊玩邊下載剩下的部分,這樣節(jié)省了大量的下載游戲的時間,克服了現(xiàn)有技術(shù)中的用戶體驗差的缺陷,提高了用戶的體驗感。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,比如R0M/RAM、磁碟、光盤等。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種大型游戲包的下載方法,其特征在于,所述的方法包括: 根據(jù)預(yù)定規(guī)則將大型游戲包分為主包和次包,其中,所述主包包括:所述大型游戲初始化運行所需的文件信息,所述次包包括:所述大型游戲運行時需要監(jiān)控的文件信息; 根據(jù)下載請求,將所述主包下載至客戶端并運行程序; 在用戶游戲過程中,下載所述次包至所述客戶端并運行程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述主包還包括:用于獲取所述次包路徑信息和下載程度的監(jiān)控信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述主包下載至客戶端并運行程序包括: 將所述主包下載至所述客戶端; 運行所述大型游戲初始化程序以及獲取所述次包路徑信息; 監(jiān)控所述大型游戲的下載過程以及所述大型游戲程序的運行過程。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,下載所述次包至所述客戶端并運行程序包括: 根據(jù)所述次包路徑信息下載所述次包; 監(jiān)控所述次包的下載過程以及所述次包程序的運行過程。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,監(jiān)控所述大型游戲的運行過程包括: 如果所述大型游戲運行速度大于所述主包的下載速度,則暫停所述大型游戲的運行程序。
6.一種大型游戲包的下載裝置,其特征在于,所述的裝置包括: 信息分類單元,用于根據(jù)預(yù)定規(guī)則將大型游戲包分為主包和次包,其中,所述主包包括:所述大型游戲初始化運行所需的文件信息,所述次包包括:所述大型游戲運行時需要監(jiān)控的文件信息; 主包下載運行單元,用于根據(jù)下載請求,將所述主包下載至客戶端并運行程序; 次包下載運行單元,用于在用戶游戲過程中,下載所述次包至所述客戶端并運行程序。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述信息分類單元中的主包還包括:用于獲取所述次包路徑信息和下載程度的監(jiān)控信息。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述主包下載運行單元包括: 主包下載模塊,用于將所述主包下載至所述客戶端; 程序運行模塊,用于運行所述大型游戲初始化程序; 次包信息獲取單元,用于獲取所述次包路徑信息; 主包監(jiān)控模塊,用于監(jiān)控所述大型游戲的下載過程以及所述大型游戲程序的運行過程。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述次包下載運行單元包括: 次包下載模塊,用于根據(jù)所述次包路徑信息下載所述次包; 次包監(jiān)控模塊,用于監(jiān)控所述次包的下載過程以及所述次包程序的運行過程。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 運行暫停單元,用于在所述大型游戲運行速度大于所述主包的下載速度時,暫停所述大型游戲的運行程序。
全文摘要
本發(fā)明提供一種大型游戲包的下載方法及裝置,其中,該方法包括根據(jù)預(yù)定規(guī)則將大型游戲包分為主包和次包,其中,主包包括大型游戲初始化運行所需的文件信息,次包包括大型游戲運行時需要監(jiān)控的文件信息;根據(jù)下載請求,將主包下載至客戶端并運行程序;在用戶游戲過程中,下載次包至客戶端并運行程序。通過本發(fā)明,可以提高用戶的體驗感。
文檔編號G06F9/445GK103186399SQ20111045911
公開日2013年7月3日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者鐘智將, 陳寶輝, 王羲桀 申請人:深圳市快播科技有限公司