[發明專利]一種分布式數據打包方法及系統、存儲介質、計算設備在審
| 申請號: | 202011060896.4 | 申請日: | 2020-09-30 |
| 公開(公告)號: | CN112181431A | 公開(公告)日: | 2021-01-05 |
| 發明(設計)人: | 周陶生 | 申請(專利權)人: | 完美世界(北京)軟件科技發展有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;H04L29/08 |
| 代理公司: | 北京中強智尚知識產權代理有限公司 11448 | 代理人: | 黃耀威 |
| 地址: | 100085 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 數據 打包 方法 系統 存儲 介質 計算 設備 | ||
本發明提供了一種分布式數據打包方法及系統、存儲介質、計算設備,該方法包括:基于預設的主控服務器生成包括多個數據打包任務的任務分配清單文件;將所述任務分配清單文件中的多個數據打包任務劃分為多個任務組;將各所述任務組分配至預設的多個任務執行服務器,由各所述任務執行服務器執行各自接收到的任務組中的數據打包任務。基于本發明提供的方法將原有的打包工作拆分成可分配的工作,每個任務執行服務器均可以獨立地、互不影響地完成部分壓縮包的打包工作,從而有效提升數據打包的效率。
技術領域
本發明涉及數據處理技術領域,特別是一種分布式數據打包方法及系統、存儲介質、計算設備。
背景技術
在Unity引擎中,Asset Bundle(以下簡稱AB)壓縮包提供了一種壓縮的數據格式,可以索引和序列化多個文件,因為其流式加載、增量更新等特性,可廣泛應用于游戲制作及游戲安裝包的生成。
在Unity引擎傳統的打包方式中,是以單線程的方式基于壓縮包所需的信息逐個調用指定函數編譯壓縮包,且只有在特定情況下才會開啟并行線程執行打包任務。但是,對于一些比較大項目,如果繼續以單線程的方式打包數據包則需要等待較長時間,從而降低打包流程效率。如果采用并行線程,打包過程中的文件,使用完全相同的名字,則很容易造成任務沖突,不僅影響打包效率,而且還無法有效完成打包任務。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的分布式數據打包方法及系統、存儲介質、計算設備。
根據本發明的一個方面,提供了一種分布式數據打包方法,包括:
基于預設的主控服務器生成包括多個數據打包任務的任務分配清單文件;
將所述任務分配清單文件中的多個數據打包任務劃分為多個任務組;
將各所述任務組分配至預設的多個任務執行服務器,由各所述任務執行服務器執行各自接收到的任務組中的數據打包任務。
可選地,所述基于預設的主控服務器生成包括多個數據打包任務的任務分配清單文件,包括:
啟動預設的主控服務器的主Unity引擎,并通過所述主Unity引擎監聽數據打包請求;
當所述主Unity引擎監聽到任一數據打包請求時,獲取各所述數據打包請求對應的壓縮包的配置信息和資源信息;其中,所述配置信息包括壓縮包生成路徑、壓縮包數量、編譯選項、壓縮包的資源信息和各壓縮包之間的依賴關系中至少之一;
基于各所述壓縮包的配置信息和資源信息生成任務分配清單文件。
可選地,所述將所述任務分配清單文件中的多個數據打包任務劃分為多個任務組,包括:
讀取所述任務分配清單文件中的任務數量,并計算每次進行任務分配時的分配任務數量;
依據所述分配任務數量將所述任務分配清單文件中的多個數據打包任務劃分為多組任務組。
可選地,所述將各所述任務組分配至預設的多個任務執行服務器,由各所述任務執行服務器執行各自接收到的任務組中的數據打包任務,包括:
分別向各所述任務執行服務器分配任務組,并將各所述任務執行服務器的工作狀態設定為鎖定狀態,由各所述任務執行服務器執行各自接收到的任務組中的數據打包任務;其中,每次向各所述任務執行服務器分配一組任務組;
接收任一所述任務執行服務器返回的任務完成消息,并將所述任務執行服務器的工作狀態設定為未鎖定狀態。
可選地,所述將各所述任務組分配至預設的多個任務執行服務器,由各所述任務執行服務器執行各自接收到的任務組中的數據打包任務,還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于完美世界(北京)軟件科技發展有限公司,未經完美世界(北京)軟件科技發展有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011060896.4/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





