CN105635264B - A File System Based on Network Game Application - Google Patents
A File System Based on Network Game Application Download PDFInfo
- Publication number
- CN105635264B CN105635264B CN201510995137.XA CN201510995137A CN105635264B CN 105635264 B CN105635264 B CN 105635264B CN 201510995137 A CN201510995137 A CN 201510995137A CN 105635264 B CN105635264 B CN 105635264B
- Authority
- CN
- China
- Prior art keywords
- file
- download
- information
- module
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 105
- 238000012545 processing Methods 0.000 claims description 32
- 230000006835 compression Effects 0.000 claims description 25
- 238000007906 compression Methods 0.000 claims description 25
- 238000007726 management method Methods 0.000 claims description 16
- 238000000926 separation method Methods 0.000 claims description 6
- 238000004148 unit process Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000013439 planning Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于网络游戏应用的文件系统,包括存储模块、搜索模块、统一下载平台模块和下载共享模块,其中所述存储模块用于存储所述文件系统的文件信息;所述搜索模块用于从存储模块中检索对应的文件信息;所述统一下载平台模块用于在一或多客户端进程环境中接收游戏客户端发出的对应文件的下载请求,并根据下载请求控制搜索模块检索对应的文件信息;所述下载共享模块用于在统一下载平台模块接收下载请求的同时,分析下载地址是否为相同下载地址,在为相同下载地址时,返回已经下载文件的共享信息。本发明使游戏加载资源更快,使资源文件更安全,加大了非法获取资源的难度,并使得游戏文件版本升级对玩家造成的影响更小、更透明。
The invention discloses a file system based on an online game application, which includes a storage module, a search module, a unified download platform module and a download sharing module, wherein the storage module is used to store file information of the file system; the search module It is used to retrieve corresponding file information from the storage module; the unified download platform module is used to receive the download request of the corresponding file sent by the game client in one or more client process environments, and control the search module to retrieve the corresponding file information according to the download request. The file information; the download sharing module is used to analyze whether the download address is the same download address when the unified download platform module receives the download request, and returns the shared information of the downloaded file when it is the same download address. The invention makes the resource loading of the game faster, makes the resource file safer, increases the difficulty of illegally obtaining the resource, and makes the effect of the game file version upgrade on the player smaller and more transparent.
Description
技术领域technical field
本发明涉及互联网游戏应用领域,特别是一种基于网络游戏应用的文件系统。The invention relates to the field of Internet game applications, in particular to a file system based on network game applications.
背景技术Background technique
近年来网络游戏迅速发展,其中完整安装版的客户端游戏数量反而在逐渐减少,能够迅速地进入游戏已经成为了游戏上线的敲门砖。为此游戏客户端需要能够动态地下载游戏过程所需资源,由此带来一系列相关问题。In recent years, with the rapid development of online games, the number of fully installed client games has gradually decreased. Being able to quickly enter the game has become a stepping stone for the game to go online. For this reason, the game client needs to be able to dynamically download the resources required for the game process, which brings about a series of related problems.
网络游戏程序运行过程中要读取大量文件,在windows系统中,这些文件如果直接放在windows文件目录中,不仅访问速度较慢,不能高效应用系统缓存,也不能压缩节省空间,也不利于资源的安全,容易使资源文件被盗窃、修改。During the running of online game programs, a large number of files need to be read. In the Windows system, if these files are directly placed in the Windows file directory, not only the access speed is slow, the system cache cannot be used efficiently, nor can it be compressed to save space, but it is also not conducive to resources. security, it is easy for resource files to be stolen and modified.
于是大型客户端游戏都有一个需求,就是文件打包压缩加密读取。先保证安全稳定,再偏重于速度,最后顾及压缩以及文件的变化更新。Therefore, large-scale client games have a requirement, that is, file packaging, compression, encryption and reading. Ensure security and stability first, then focus on speed, and finally consider compression and file changes and updates.
目前国内外大部分上档次的游戏都对其资源文件进行了打包处理,但是能够在线动态更新的并不多见,国内似乎有龙枪、霸刀等新近出现的网游采用了类似技术。国外游戏中应用的较少,可能是因为国外网络带宽大的原因,下载整个游戏也不会很耗时的缘故。不论是国内外的,目前暂时都没有开源代码可供下载。At present, most of the high-end games at home and abroad have packaged their resource files, but it is rare that they can be dynamically updated online. It seems that some newly emerging online games such as Dragon Gun and Ba Dao in China have adopted similar technology. There are fewer applications in foreign games, probably because of the large network bandwidth in foreign countries, and it is not time-consuming to download the entire game. Regardless of whether it is domestic or foreign, there is currently no open source code available for download.
因此,目前的技术厂家都在积极开发新的文件系统,这个文件系统需要适合大量的客户端资源文件的整合管理,以及有不太严格的安全要求,有在线下载需求,文件数据没有运行时修改需求的场合。基于这个系统,客户端更易于安装和移动,减少资源文件暴露机会使数据更加安全难以窃取和篡改,利用压缩以减少数据尺寸和硬盘读取耗时,支持网络动态下载所需资源,以及当部分资源更新时不需要重新下载客户端已缓存好的数据。在未来还能通过不断优化系统内部实现方案,对应用层透明地优化性能。Therefore, the current technology manufacturers are actively developing new file systems. This file system needs to be suitable for the integrated management of a large number of client resource files, and has less strict security requirements, online download requirements, and file data without runtime modification. Where required. Based on this system, the client is easier to install and move, reducing the exposure of resource files makes data more secure and difficult to steal and tamper, using compression to reduce data size and hard disk reading time consumption, supporting dynamic download of required resources from the network, and when part When resources are updated, there is no need to re-download the data that has been cached by the client. In the future, it can also transparently optimize the performance of the application layer by continuously optimizing the internal implementation of the system.
发明内容Contents of the invention
为解决上述问题,本发明的目的在于提供一种基于网络游戏应用的文件系统,提高游戏加载资源的速度,允许多个进程对同一个包同时读取和下载资源,允许在线后台同步服务器上的资源,并在一定程度上保证资源的安全性。In order to solve the above problems, the object of the present invention is to provide a file system based on online game applications, improve the speed of game loading resources, allow multiple processes to simultaneously read and download resources for the same package, and allow online background synchronization on the server. resources, and guarantee the security of resources to a certain extent.
本发明解决其问题所采用的技术方案是:The technical scheme that the present invention solves its problem adopts is:
本发明的优选实施例提供了一种基于网络游戏应用的文件系统,至少包括存储模块、搜索模块、统一下载平台模块、下载共享模块,其中:A preferred embodiment of the present invention provides a file system based on online game applications, at least including a storage module, a search module, a unified download platform module, and a download sharing module, wherein:
所述存储模块用于存储所述文件系统的文件信息;The storage module is used to store file information of the file system;
所述搜索模块用于从存储模块中检索对应的文件信息;The search module is used to retrieve corresponding file information from the storage module;
所述统一下载平台模块用于接收游戏客户端发出的对应文件的下载请求,并根据下载请求控制搜索模块检索对应的文件信息;The unified download platform module is used to receive the download request of the corresponding file sent by the game client, and control the search module to retrieve the corresponding file information according to the download request;
所述下载共享模块用于在统一下载平台模块接收下载请求的同时,分析下载地址是否为相同下载地址,在为相同下载地址时,返回已经下载文件的共享信息。The download sharing module is used to analyze whether the download address is the same download address when the unified download platform module receives the download request, and return the sharing information of the downloaded file if it is the same download address.
进一步,所述文件系统还包括:Further, the file system also includes:
压缩及加密模块,用于对存储模块中存储的文件信息进行压缩或/和加密,所述压缩及加密模块对相应文件信息进行压缩时,只对压缩后的文件可以达到设定的压缩率的文件信息进行压缩。The compression and encryption module is used to compress or/and encrypt the file information stored in the storage module. When the compression and encryption module compresses the corresponding file information, only the compressed files can reach the set compression ratio. File information is compressed.
进一步,所述存储模块以多级树的方式存储对应的文件信息,同时生成树索引文件,所述树索引文件单独存储或者与对应的文件信息一起存储。Further, the storage module stores the corresponding file information in a multi-level tree, and generates a tree index file at the same time, and the tree index file is stored separately or together with the corresponding file information.
进一步,所述文件系统还包括:Further, the file system also includes:
压缩及加密模块,用于对存储模块中存储的文件信息进行压缩或/和加密,所述压缩及加密模块对相应文件信息进行压缩时,生成的压缩包包括:The compression and encryption module is used to compress or/and encrypt the file information stored in the storage module. When the compression and encryption module compresses the corresponding file information, the generated compressed package includes:
主文档,所述主文档包括包头、文件数据区和树信息区;或者a main document, said main document comprising a header, a file data area and a tree information area; or
主文档和树索引文件,所述主文档包括包头和文件数据区,所述树索引文件包括包头和树索引文件;a main document and a tree index file, the main document includes a header and a file data area, and the tree index file includes a header and a tree index file;
所述包头至少包括文件头的长度及版本信息,且包头中存储有对应树信息区的位置信息,所述文件数据区存储对应的文件信息,所述树信息区存储对应的树索引文件。The header includes at least the length and version information of the file header, and the location information of the corresponding tree information area is stored in the header, the file data area stores the corresponding file information, and the tree information area stores the corresponding tree index file.
进一步,所述统一下载平台模块包括:Further, the unified download platform module includes:
多进程处理单元,用于对接收游戏客户端发送的进程,对进程进行排序,并按照序列处理进程;The multi-process processing unit is used for receiving the processes sent by the game client, sorting the processes, and processing the processes in sequence;
信息识别单元,用于在多进程处理单元处理某个线程时,读取该进程目录下的配置文件,根据配置信息获取对应文件信息的数量、路径及下载地址,并返回至多进程处理单元。The information identification unit is used to read the configuration file under the process directory when the multi-process processing unit processes a certain thread, obtain the quantity, path and download address of the corresponding file information according to the configuration information, and return to the multi-process processing unit.
进一步,所述统一下载平台模块还包括在线下载识别单元,用于识别多进程处理单元所接收的进程是否为在线下载进程,在识别为在线下载进程时,为对应进程设置高优先级权重。Further, the unified download platform module also includes an online download identification unit, which is used to identify whether the process received by the multi-process processing unit is an online download process, and when it is identified as an online download process, set a high priority weight for the corresponding process.
进一步,所述统一下载平台模块还包括:Further, the unified download platform module also includes:
进程管理单元,用于在多个进程同时下载时,统一管理下载中的共享信息及下载流量,所述共享信息包括多个游戏客户端下载同一文件信息和同一用户端重复下载同一文件信息。The process management unit is used to uniformly manage the shared information and download traffic in the download when multiple processes are downloaded at the same time. The shared information includes the information of multiple game clients downloading the same file and the same client repeatedly downloading the same file.
进一步,所述文件系统还包括在线发布模块,所述在线发布模块包括:Further, the file system also includes an online publishing module, and the online publishing module includes:
更新包生成单元,用于通过重新创建或更新的方式生成需要更新的完整数据包;The update package generation unit is used to generate a complete data package that needs to be updated by recreating or updating;
分离树单元,用于对完整数据包进行分离树索引文件操作,获取对应的树索引文件;The separation tree unit is used to perform separation tree index file operation on the complete data packet to obtain the corresponding tree index file;
上传单元,用于改名树索引文件后将其与数据包一起上传至下载服务器。The uploading unit is used for uploading the tree index file together with the data package to the download server after renaming it.
本发明的有益效果是:The beneficial effects of the present invention are:
本发明采用一种基于网络游戏应用的文件系统,在游戏的底层基础实现,允许多个进程对同一个包同时读取和下载资源,允许在线后台同步服务器上的资源,能使游戏加载资源更快,使资源文件更安全,加大了非法获取资源的难度,并使得游戏文件版本升级对玩家造成的影响更小、更透明。The present invention adopts a file system based on online game application, which is implemented on the bottom layer of the game, allowing multiple processes to read and download resources for the same package at the same time, allowing the online background to synchronize resources on the server, and enabling the game to load resources more quickly. Faster, making resource files more secure, increasing the difficulty of illegally obtaining resources, and making the impact of game file version upgrades on players smaller and more transparent.
附图说明Description of drawings
下面结合附图和实例对本发明作进一步说明。The present invention will be further described below in conjunction with accompanying drawing and example.
图1是本发明优选实施例中文件系统的结构示意图;Fig. 1 is a schematic structural diagram of a file system in a preferred embodiment of the present invention;
图2是本发明统一下载平台模块的结构组成示意图;Fig. 2 is a schematic diagram of the structural composition of the unified download platform module of the present invention;
图3是本发明统一下载平台模块与进程的处理示意图;Fig. 3 is the processing schematic diagram of unified download platform module and process of the present invention;
图4是本发明文件系统具体内部结构及工作流程示意图;Fig. 4 is a schematic diagram of the specific internal structure and workflow of the file system of the present invention;
图5是本发明文件系统的线程关系及处理流程示意图。Fig. 5 is a schematic diagram of thread relationship and processing flow of the file system of the present invention.
具体实施方式Detailed ways
本发明以下实施例仅代表对本发明具体的解释,本发明并不限于某种系统或游戏的应用。本发明所言及的游戏,并不针对某一款特殊的游戏,本发明所属应用为对本发明中的技术方案的具体说明。The following embodiments of the present invention only represent specific explanations of the present invention, and the present invention is not limited to the application of certain systems or games. The game mentioned in the present invention is not aimed at a specific game, and the application of the present invention is a specific description of the technical solution in the present invention.
本发明所述文件系统向上层程序员提供FPC库及其在线版本FPCO (在线文件压缩包File Pack with Compression Online)库和DownloadClient库(Client of DownloadService统一下载服务客户端)库,并附带了DownloadServer程序(Server of DownloadService统一下载服务平台)和文件包管理工具,以及一个控制台示例程序、一个基于.Net平台C++/CLI语言的可视化演示程序。本发明所述文件系统的具体实现参照以下实施例中具体所述。The file system of the present invention provides the FPC library and its online version FPCO (File Pack with Compression Online) library and DownloadClient library (Client of DownloadService unified download service client) library to upper-level programmers, and the DownloadServer program is attached (Server of DownloadService unified download service platform) and file package management tools, as well as a console sample program and a visual demonstration program based on the .Net platform C++/CLI language. For the specific implementation of the file system in the present invention, refer to the specific description in the following embodiments.
实施例1:Example 1:
作为本发明的优选实施例,参照图1所示,本发明的文件系统至少包括存储模块100、搜索模块101、统一下载平台模块102、下载共享模块103,其中:As a preferred embodiment of the present invention, with reference to shown in Figure 1, the file system of the present invention at least includes a storage module 100, a search module 101, a unified download platform module 102, and a download sharing module 103, wherein:
所述存储模块100用于存储所述文件系统的文件信息;The storage module 100 is used for storing file information of the file system;
所述搜索模块101用于从存储模块100中检索对应的文件信息;The search module 101 is used to retrieve corresponding file information from the storage module 100;
所述统一下载平台模块102用于接收游戏客户端发出的对应文件的下载请求,并根据下载请求控制搜索模块101检索对应的文件信息;The unified download platform module 102 is used to receive the download request of the corresponding file sent by the game client, and control the search module 101 to retrieve the corresponding file information according to the download request;
所述下载共享模块103用于在统一下载平台模块102接收下载请求的同时,分析下载地址是否为相同下载地址,在为相同下载地址时,返回已经下载文件的共享信息。The download sharing module 103 is used to analyze whether the download address is the same download address when the unified download platform module 102 receives the download request, and return the sharing information of the downloaded file if it is the same download address.
以上系统结构构成了本发明最基础的组成单元,游戏客户端所发出的所有进程的下载请求均通过统一下载平台模块102进行处理,对进程的下载的流量和进行资源的分配可以合理有序的控制,避免堵塞及其它异常情况。The above system structure constitutes the most basic component unit of the present invention. The download requests of all processes sent by the game client are processed by the unified download platform module 102, and the download flow of the processes and the allocation of resources can be reasonably and orderly Control to avoid blockage and other abnormal conditions.
本发明的优选实施例在文件系统中加入了压缩及加密模块104,用于对存储模块100中存储的文件信息进行压缩或/和加密,所述压缩及加密模块104对相应文件信息进行压缩时,只对压缩后的文件可以达到设定的压缩率的文件信息进行压缩。此处,所设置的压缩率可以根据实际应用进行设置,本发明并不限于某一单一的固定值,其值也可以随着压缩文件的不同动态设置。本发明所采用的压缩及加密方案,可以目前采用的常规方案,也可以是高级压缩及加密方式,在本发明的文件系统中,压缩及加密所采用的方式对本发明的实现不具有实质性的影响。In the preferred embodiment of the present invention, a compression and encryption module 104 is added to the file system, which is used to compress or/and encrypt the file information stored in the storage module 100. When the compression and encryption module 104 compresses the corresponding file information , only compress the file information of the compressed file that can reach the set compression ratio. Here, the set compression ratio can be set according to the actual application, and the present invention is not limited to a single fixed value, and its value can also be dynamically set according to different compressed files. The compression and encryption scheme adopted in the present invention can be the conventional scheme adopted at present, and can also be a high-level compression and encryption method. In the file system of the present invention, the mode adopted for compression and encryption has no substantial impact on the realization of the present invention. influences.
一般的扩展性较好的二进制文件,都有一个文件头(包头),用于指明文件头的长度以及文件版本等,使用包头可以增强容错性和版本兼容能力。为了兼容FPC和FPCO对文件树结构信息(简称树信息)的不同需求,文件树结构信息可以和文件数据一起存储在主文档内,也可以单独分离出来保存成一个文件(称作树索引文件)。在包头中可以指明树信息存储在哪个文件。由于主文档的长度可能动态的增长,所以使用FPCO时,必须使树索引文件。Generally, binary files with good scalability have a file header (packet header), which is used to indicate the length of the file header and the file version, etc. Using the package header can enhance fault tolerance and version compatibility. In order to be compatible with the different requirements of FPC and FPCO for file tree structure information (referred to as tree information), the file tree structure information can be stored in the main file together with the file data, or can be separated and saved as a file (called a tree index file) . In the header you can indicate which file the tree information is stored in. Since the length of the main document may grow dynamically, the tree index file must be used when using FPCO.
为此,在本发明的优选实施例中,所述存储模块100以多级树的方式存储对应的文件信息,同时生成树索引文件,所述树索引文件单独存储或者与对应的文件信息一起存储。不论树索引文件单独存储或者与对应的文件信息一直存储,所述压缩及加密模块对相应文件信息进行压缩时,生成的压缩包包括有两种:For this reason, in a preferred embodiment of the present invention, the storage module 100 stores the corresponding file information in the form of a multi-level tree, and generates a tree index file at the same time, and the tree index file is stored separately or together with the corresponding file information . Regardless of whether the tree index file is stored separately or with the corresponding file information, when the compression and encryption module compresses the corresponding file information, the generated compressed package includes two types:
压缩包只包括主文档,所述主文档包括包头、文件数据区和树信息区;或者The compressed package only includes the main file, and the main file includes a header, a file data area and a tree information area; or
压缩包包括主文档和树索引文件,所述主文档包括包头和文件数据区,所述树索引文件包括包头和树索引文件;The compressed package includes a main document and a tree index file, the main document includes a header and a file data area, and the tree index file includes a header and a tree index file;
所述包头至少包括文件头的长度及版本信息,且包头中存储有对应树信息区的位置信息,所述文件数据区存储对应的文件信息,所述树信息区存储对应的树索引文件。The header includes at least the length and version information of the file header, and the location information of the corresponding tree information area is stored in the header, the file data area stores the corresponding file information, and the tree information area stores the corresponding tree index file.
从以上对存储模块100的叙述中可知,本发明采用了Windows文件系统中的结构,即多级文件树系统,相应的,存储模块100中的路径支持正反斜杠,且不区分大小写。对应的,其中的文件信息的属性包括文件名、文件大小、修改时间、压缩信息、父目录索引、存储信息等,每个目录的信息则包括路径、文件/目录数量、父目录索引,还可以包括目录路径的Hash等。对应的,搜索模块101支持对指定目录下进行遍历子目录和子文件、判断指定路径的文件目录是否存在等操作,也可以获取指定文件的名字、大小和修改日期等信息。It can be seen from the above description of the storage module 100 that the present invention adopts the structure in the Windows file system, that is, a multi-level file tree system. Correspondingly, the paths in the storage module 100 support forward and backward slashes and are not case-sensitive. Correspondingly, the attributes of the file information include file name, file size, modification time, compression information, parent directory index, storage information, etc., and the information of each directory includes path, file/directory number, parent directory index, and can also be Including the Hash of the directory path, etc. Correspondingly, the search module 101 supports operations such as traversing subdirectories and subfiles under the specified directory, judging whether the file directory of the specified path exists, and can also obtain information such as the name, size, and modification date of the specified file.
本发明的优选实施例中,参照图2所示,所述统一下载平台模块102包括:In a preferred embodiment of the present invention, as shown in FIG. 2, the unified download platform module 102 includes:
多进程处理单元200,用于对接收游戏客户端发送的进程,对进程进行排序,并按照序列处理进程;The multi-process processing unit 200 is used to sort the processes sent by the receiving game client, and process the processes in sequence;
信息识别单元201,用于在多进程处理单元200处理某个线程时,读取该进程目录下的配置文件,根据配置信息获取对应文件信息的数量、路径及下载地址,并返回至多进程处理单元;The information identification unit 201 is used to read the configuration file under the process directory when the multi-process processing unit 200 processes a certain thread, obtain the quantity, path and download address of the corresponding file information according to the configuration information, and return to the multi-process processing unit ;
在线下载单元202,用于识别多进程处理单元所接收的进程是否为在线下载进程,在识别为在线下载进程时,为对应进程设置高优先级权重;The online download unit 202 is used to identify whether the process received by the multi-process processing unit is an online download process, and when it is identified as an online download process, set a high priority weight for the corresponding process;
进程管理单元203,用于在多个进程同时下载时,统一管理下载中的共享信息及下载流量,所述共享信息包括多个游戏客户端下载同一文件信息和同一用户端重复下载同一文件信息。The process management unit 203 is used to uniformly manage the shared information and download traffic during downloading when multiple processes are downloaded at the same time. The shared information includes information about multiple game clients downloading the same file and the same client repeatedly downloading the same file.
所述多进程处理单元200、信息识别单元201、在线下载单元202及进程管理单元203均为本发明所述统一下载平台模块102的具体实现过程,本发明通过统一下载平台模块102实现对文件系统的统一规划与管理。一是对多线程的规划与管理,其所接收的多线程统一由多进程处理单元200进行处理,排序时,可以按照时间优先的方式,或者先进先出的栈列方式,或者其它方式,严格的限制排列方式对本发明的实现不具备显著的意义,因此,采取其他途径实现对进程的管理,亦是可实现本发明的具体方式或方法。二是在处理某个线程时的规划与管理,本发明在处理某个线程时,信息识别单元201即可读取该进程目录下的配置文件,以获取此进程需要下载的文件的地址、数量等信息,之后,通过搜索模块101从存储模块100当中查找即可。三是对在线下载进程的规划与管理,由于在线下载的进程直接与用户对游戏的体验相关,因此,其申请必须进行优先处理,本发明按照最常规的方式,在识别在线进程后,对其赋予较高的优先级,需要指出的时,本发明只是具体的阐述了一种实现在线进程快速下载的一种方式,对于其它处理方式,比如在线下载进程的独占性处理等,均为本发明可实现的范围之内。四是对多个进程同时下载的规划与管理,本发明对于多个进程同时下载,要兼顾不同进程下载的速度,合理地控制下载的流量,比如相应的下载软件(迅雷、BT等)均可设置对应下载速度,以避免影响用户其它的正常上网,进程管理单元203可根据用户的具体要求,对多个进程进行同时管理,有时多个进程所下载的文件内容相同,比如网吧当中,同一用户可能下载重复性的文件(大型游多为团体游戏,需要多人组团组合,单个用户在游戏当中,经常会触发同一进程下载同一文件,或触发不同的进程下载同一文件),本发明可以识别下载内容相同的进程,避免重复下载,同样,不同的进程有可能同时下载相同的文件,进程管理单元203亦可允许多个进程同时下载同一文件。The multi-process processing unit 200, the information identification unit 201, the online download unit 202 and the process management unit 203 are all specific implementation processes of the unified download platform module 102 of the present invention, and the present invention realizes the file system through the unified download platform module 102 unified planning and management. One is the planning and management of multi-threads. The received multi-threads are uniformly processed by the multi-process processing unit 200. When sorting, they can be sorted according to the time priority method, or the first-in-first-out stack method, or other methods, strictly The arrangement of the restrictions has no significant meaning to the realization of the present invention, therefore, adopting other ways to realize the management of the process is also a specific way or method that can realize the present invention. The second is planning and management when processing a certain thread. When the present invention processes a certain thread, the information identification unit 201 can read the configuration file under the process directory to obtain the address and quantity of the files that the process needs to download. Wait for the information, after that, just search from the storage module 100 through the search module 101. The third is the planning and management of the online download process. Since the online download process is directly related to the user's experience of the game, its application must be processed with priority. The present invention uses the most conventional method to identify the online process. Give a higher priority, when it needs to be pointed out, the present invention only specifically elaborates a way to realize fast download of online process, for other processing methods, such as exclusive processing of online download process, etc. within the achievable range. The fourth is the planning and management of simultaneous downloading of multiple processes. For simultaneous downloading of multiple processes, the present invention must take into account the download speed of different processes and reasonably control the download flow. For example, the corresponding download software (Xunlei, BT, etc.) can Set the corresponding download speed, so as to avoid affecting other normal Internet access of users, the process management unit 203 can manage multiple processes at the same time according to the specific requirements of users. Sometimes the content of files downloaded by multiple processes is the same, such as among Internet cafes, the same user It is possible to download repetitive files (large-scale games are mostly group games, which require multi-person groups, and a single user in the game often triggers the same process to download the same file, or triggers different processes to download the same file), the invention can identify the download Repeated downloading is avoided for processes with the same content. Similarly, different processes may download the same file at the same time, and the process management unit 203 may also allow multiple processes to download the same file at the same time.
参照图3所示,多个游戏或一个游戏的多个进程通过连接统一下载平台模块进行资源下载。同一个游戏的多个进程,可以共享下载的内容,即进程A请求过的资源文件,进程B无需重复下载。本发明实现时,多个游戏可以使用同一个下载平台进程,以达到整体的负载控制。不同游戏由于目录不同,包文档互相独立,可以分别配置URL,即使重名也不会有冲突。在扩展性方面,经过扩充,本发明的文件系统完全可以实现局域网级的下载共享,能有效提高网吧用户的体验,亦可以利用P2P传输提高下载速度。以上的具体实现,根据以上所述对附图2具体内容的说明。Referring to FIG. 3 , multiple games or multiple processes of one game are connected to a unified download platform module to download resources. Multiple processes of the same game can share the downloaded content, that is, the resource files requested by process A, and process B does not need to download repeatedly. When the present invention is implemented, multiple games can use the same download platform process to achieve overall load control. Due to the different directories of different games, the package files are independent of each other, and the URLs can be configured separately, and there will be no conflict even if the names are the same. In terms of expansibility, after expansion, the file system of the present invention can completely realize download sharing at the LAN level, effectively improve the experience of Internet cafe users, and can also use P2P transmission to increase the download speed. The above specific implementation is based on the description of the specific content of FIG. 2 above.
网络游戏的更新,通常是在线性的更新,为了进一步提升用户的体验,本发明所述文件系统还包括在线发布模块,所述在线发布模块包括:The update of the online game is usually an online update. In order to further enhance the user experience, the file system of the present invention also includes an online publishing module, and the online publishing module includes:
更新包生成单元,用于通过重新创建或更新的方式生成需要更新的完整数据包xxx.fpc;The update package generation unit is used to generate the complete data package xxx.fpc that needs to be updated by recreating or updating;
分离树单元,用于对完整数据包xxx.fpc进行分离树索引文件操作,获取对应的树索引文件xxx.fpci;The separation tree unit is used to perform separation tree index file operation on the complete data package xxx.fpc to obtain the corresponding tree index file xxx.fpci;
上传单元,用于改名树索引文件后(改名后为xxx.server.fpci)将其与数据包一起上传至HTTP下载服务器。The upload unit is used to upload the tree index file together with the data package to the HTTP download server after the tree index file is renamed (after the name is changed to xxx.server.fpci).
以更新的方式生成数据包时,文件大小及修改时间相同的,认为是未改变的文件,不必进行更新。When the data package is generated by updating, the files with the same size and modification time are regarded as unchanged files and do not need to be updated.
若版本更新不是关键更新时,无需将全服玩家踢出客户端,则此时不能直接替换已有的服务器文件,否则会出现版本不匹配的情况。本发明将不同版本客户端连接不同的目录,并在适当时删除旧版本的资源文件。版本更新时将同时更新配置文件,没有重新启动的客户端将继续连接旧的数据源。If the version update is not a critical update, there is no need to kick all players on the server from the client. At this time, the existing server files cannot be replaced directly, otherwise there will be a version mismatch. The invention connects clients of different versions to different directories, and deletes resource files of old versions when appropriate. When the version is updated, the configuration file will be updated at the same time, and the client that has not been restarted will continue to connect to the old data source.
游戏客户端使用在线资源时,在第一次启动游戏或版本更新时,下载最新的树索引文件x.server.fpci,之后,进行创建包或树结构更新得到x.fpc和x.fpci,之后,FPCO库载入包文档,并在使用过程中逐渐下载数据到x.fpc中以及修改xxx.fpci。When the game client uses online resources, download the latest tree index file x.server.fpci when the game is started for the first time or when the version is updated. After that, create a package or update the tree structure to get x.fpc and x.fpci, and then , the FPCO library loads the package document, and gradually downloads data to x.fpc and modifies xxx.fpci during use.
为了进一步对发明进行说明和充分实现本发明的具体应用,存储模块100中的文件被压缩及加密模块104压缩后,其整包的空间大小以小于1G为宜,考虑到文件包上传方便以小于500M为宜;包中单个文件的大小以不超过16位数字(二进制)即65535为宜,当单个文件大于16位数字时,则进行拆包。(常见中小规模MMORPG游戏的文件资源数量小于3000,大型规模的MMORPG小于30000。)In order to further illustrate the invention and fully realize the specific application of the present invention, after the files in the storage module 100 are compressed and compressed by the encryption module 104, the space size of the whole package should be less than 1G. 500M is appropriate; the size of a single file in the package should not exceed 16 digits (binary), that is, 65535. When a single file is larger than 16 digits, it will be unpacked. (The number of file resources of common small and medium-scale MMORPG games is less than 3000, and the number of file resources of large-scale MMORPGs is less than 30000.)
参照图4所示,图中所示FPCO层是FPC的派生类,其可以提供更多接口。游戏进程和统一下载平台进程将读取该游戏进程目录下的同一份配置文件,根据配置决定包文档的数量和路径以及对应的下载地址。同一个游戏的多个进程会得到资源共享;不同的游戏的包文档互相独立,不会发生冲突。Referring to Figure 4, the FPCO layer shown in the figure is a derived class of FPC, which can provide more interfaces. The game process and the unified download platform process will read the same configuration file under the game process directory, and determine the number and path of package files and the corresponding download address according to the configuration. Multiple processes of the same game will share resources; the package files of different games are independent of each other and will not conflict.
底层的FPC库对同一个包文档使用内存映射文件共享,统一下载平台进程将下载到的数据写入包文档中,游戏进程可以直接读取最新内容而不需要IO或进程间通知。The underlying FPC library uses memory-mapped file sharing for the same package file, and the unified download platform process writes the downloaded data into the package file, and the game process can directly read the latest content without IO or inter-process notification.
游戏逻辑使用“下载客户端库”连接下载平台和得到资源读取接口。The game logic uses the "Download Client Library" to connect to the download platform and obtain the resource reading interface.
下载客户端库处理对下载平台的连接,管理多个包文档和提供获取包对象的接口。The download client library handles the connection to the download platform, manages multiple package documents and provides an interface for obtaining package objects.
FPC库负责对包文档数据的读取操作。The FPC library is responsible for reading the package document data.
下载服务端库处理包文档初始化工作(当包文档不存在时)、游戏进程的连接和断开、请求对象的创建工作和释放、资源数据更新、通知游戏进程触发请求完成事件。Download the server-side library to handle package document initialization (when the package document does not exist), game process connection and disconnection, request object creation and release, resource data update, and notify the game process to trigger a request completion event.
下载服务端库调用FPCO层,FPCO层通过回调方式调用cURL下载库。The download server library calls the FPCO layer, and the FPCO layer calls the cURL download library through callback.
资源到达后,FPC库负责对包文档数据的写入操作。After the resource arrives, the FPC library is responsible for writing the package document data.
下面,本发明从线程的角度对本发明所述的文件系统作进一步的说明,参照图5所示各线程的关系和处理流程:Below, the present invention further explains the file system of the present invention from the perspective of threads, referring to the relationship and processing flow of each thread shown in Figure 5:
1)首先对于一个资源需求线程(需要读取文件数据的线程),判断资源需要下载后,申请一个请求对象(可以显示地创建或被包装在阻塞读取调用内);1) First, for a resource requirement thread (a thread that needs to read file data), after judging that the resource needs to be downloaded, apply for a request object (which can be explicitly created or wrapped in a blocking read call);
2)请求处理线程创建一个空的请求对象返回给资源需求线程;2) The request processing thread creates an empty request object and returns it to the resource demand thread;
3)资源需求线程设置好请求信息后(一个请求可以包含多个文件请求),发送给统一下载平台进程中的请求处理线程处理,并得到一个事件对象Mutex,随时检测或同步阻塞方式等待Mutex;3) After the resource demand thread sets the request information (a request can contain multiple file requests), it sends it to the request processing thread in the unified download platform process for processing, and obtains an event object Mutex, which can be detected at any time or wait for the Mutex in a synchronous blocking manner;
4)请求处理线程检查过请求信息后(并认为需要下载时),向文档空间管理器申请资源文件的存储空间,并使用下载线程池下载数据。4) After the request processing thread checks the request information (and thinks it needs to be downloaded), it applies to the document space manager for the storage space of the resource file, and uses the download thread pool to download the data.
5)下载线程处理完下载后,通知请求处理线程一个资源文件完成下载,若游戏进程有注册窗口文件请求完成通知消息,则发送该消息;5) After the download thread finishes downloading, notify the request processing thread that a resource file has been downloaded, and if the game process has a registration window file request completion notification message, then send the message;
6)请求处理线程枚举有关这个资源文件的所有请求,更新它们的进度,如果请求内所有资源文件都完成下载,则设置请求的事件对象Mutex;若游戏进程有注册窗口请求完成通知消息,则发送该消息;6) The request processing thread enumerates all requests related to this resource file, and updates their progress. If all resource files in the request have been downloaded, the event object Mutex of the request is set; if the game process has a registration window request completion notification message, then send the message;
7)资源需求线程发觉事件处理完后,可以释放请求对象,并可使用文件资源;7) After the resource demand thread finds that the event is processed, it can release the request object and use the file resource;
8)请求处理线程发觉请求对象被释放后,销毁请求对象。8) After the request processing thread finds that the request object is released, it destroys the request object.
实施例2:Example 2:
以下代码将演示如何启动下载服务,以及找到MapFile/1.wbf.ter并请求下载。The following code will demonstrate how to start the download service, find MapFile/1.wbf.ter and request a download.
#include"DownloadClient.h"#include "DownloadClient.h"
#include"FilePackOnline.h"#include "FilePackOnline.h"
usingnamespaceFilePack;using namespace FilePack;
usingnamespaceDownloadService;using namespaceDownloadService;
usingnamespaceDownloadService::DownloadClient;using namespaceDownloadService::DownloadClient;
#include<stdio.h>#include <stdio.h>
#include<conio.h>#include <conio.h>
//ErrExit 提示错误,等待按键后退出程序//ErrExit prompts an error, wait for the key to exit the program
#defineErrExit(text) do{ printf(text); returngetch(); }while(0)#defineErrExit(text) do{ printf(text); returngetch(); }while(0)
intmain(intargc, wchar_t* argv[]){intmain(intargc, wchar_t* argv[]){
//①连接服务 //①Connection service
CDownloadClientclient(123/*游戏编号*/); //游戏编号 CDownloadClientclient(123/*game number*/); //game number
if(!client.Connect()) ErrExit("连接服务失败\n"); if(!client.Connect()) ErrExit("Failed to connect to the service\n");
//②加载包文档 //② Load package document
std::vector<CFilePackOnline*>packols = client.LoadPacks(654321/*包文档密码*/); std::vector<CFilePackOnline*>packols = client.LoadPacks(654321/*package document password*/);
if(packols.empty() || !packols[0] || !packols[0]->IsOpened())ErrExit("包文档加载错误\n"); if(packols.empty() || !packols[0] || !packols[0]->IsOpened())ErrExit("package document loading error\n");
//③找到MapFile/1.wbf.ter文件对象,并判断是否需要下载 //③Find the MapFile/1.wbf.ter file object and determine whether it needs to be downloaded
SFile* file = packols[0]->GetFile(L"MapFile/1.wbf.ter"/*文件地址*/); //取得文件对象 SFile* file = packols[0]->GetFile(L"MapFile/1.wbf.ter"/*file address*/); //get file object
if(!file) ErrExit("找不到资源文件\n"); if(!file) ErrExit("Resource file not found\n");
if(CFilePack::IsFileStored(file)) ErrExit("文件已下载完成\n"); if(CFilePack::IsFileStored(file)) ErrExit("The file has been downloaded\n");
//④根据单一文件对象,创建并发送请求 //④Create and send a request based on a single file object
Query* query = client.CreateAndSendFileQuery(file, 100/*请求优先级*/, 0/*文件优先级*/); Query* query = client.CreateAndSendFileQuery(file, 100/*request priority*/, 0/*file priority*/);
//⑤等待下载请求完成 //⑤Wait for the download request to complete
while(true){ while(true){
//每等0.5s还在处理文件下载,就输出一行日志: //Every time 0.5s is still processing the file download, output a line of log:
boolprocessing = client.IsProcessingQuery(query, 0/*等待0ms*/);//测试是否在处理 boolprocessing = client.IsProcessingQuery(query, 0/*wait 0ms*/);//Test whether it is processing
while(processing){ while(processing){
printf("下载未完成,继续等待最多0.5s\n"); printf("The download is not completed, continue to wait for up to 0.5s\n");
processing = client.IsProcessingQuery(query,500);//是否正在处理,等待最多0.5s processing = client.IsProcessingQuery(query,500);//Whether it is being processed, wait up to 0.5s
} }
//⑥下载请求完成,判断成功或失败,并进一步处理 //⑥The download request is completed, judge success or failure, and further process
if(query->Files[0].Downloaded){//也可直接判断是否可读:CFilePack::IsFileStored(file) if(query->Files[0].Downloaded){//You can also directly judge whether it is readable: CFilePack::IsFileStored(file)
printf("文件下载成功\n"); printf("File downloaded successfully\n");
client.ReleaseQuery(query); //使用完毕释放请求对象 client.ReleaseQuery(query); //Release the request object after use
break; //无论是否主动释放,断开连接或进程结束都会被释放 break; //Regardless of active release, disconnection or process end will be released
} }
elseif(query->Files[0].Failed){ elseif(query->Files[0].Failed){
printf("文件下载失败,重试\n"); printf("File download failed, try again\n");
client.SendQuery(query); //再发送一次请求,重新下载 client.SendQuery(query); //Send the request again and re-download
} }
} }
//⑦断开连接关闭包,且所有未释放的请求都会被释放 //⑦Disconnect and close the package, and all unreleased requests will be released
client.CloseConnection(); //其实只要本进程退出,系统会妥善地释放资源,无需刻意断开 client.CloseConnection(); //Actually, as long as the process exits, the system will properly release resources without intentionally disconnecting
returngetch(); return getch();
}}
因此,根据本发明的文件系统能够为宿主软件(即调用该文件系统的软件)提供以下功能:Therefore, the file system according to the present invention can provide the following functions for the host software (that is, the software calling the file system):
1. 为宿主软件读取(在宿主软件运行时只读不改的)资源文件提供方法途径;1. Provide a way for the host software to read resource files (read-only but not modified when the host software is running);
2.令宿主软件在非急需的资源文件尚未就位(下载到本地硬盘)时即可尽快运行、启动,并在运行过程中根据需要不断地下载必须的急需的资源文件(即推迟非急需的数据下载,在网络游戏领域中表现为原先20分钟才能下载完的500MB的游戏现在可以在30秒先行开始);2. Let the host software run and start as soon as possible before the non-urgently needed resource files are in place (downloaded to the local hard disk), and continuously download the necessary urgently needed resource files during the running process (that is, postpone the non-urgently needed resource files) Data downloading, in the field of online games, a 500MB game that took 20 minutes to download can now be started in 30 seconds);
3.为有版本升级需要的宿主软件及其相应版本的文件,提供支撑其进行文件级精度(任何一个资源文件需要更新都只需要下载它而不需要被迫下载其他文件)的版本升级的易于运维管理的方法途径;3. For the host software and its corresponding version files that need to be upgraded, provide support for file-level accuracy (any resource file needs to be updated, you only need to download it and do not need to be forced to download other files). Methods of operation and maintenance management;
4.当有多个宿主软件进程同时运行时、下载资源文件时,不丢失下载数据、不重复下载浪费网络带宽;4. When there are multiple host software processes running at the same time, when downloading resource files, the downloaded data will not be lost, and the network bandwidth will not be wasted by repeated downloads;
5.保证下载数据时过程中即使下载错误或程序出错崩溃或停电时,已成功完成的资源文件仍可用;5. Ensure that the resource files that have been successfully completed are still available even if the download error or program error crashes or power failure occurs during the download process;
6.提供对宿主软件编写者透明的压缩、加密功能,在一定程度上提高资源文件的安全性和下载的速度,以及一定程度节约硬盘存储空间(特别是对xml等文本文件压缩效果显著);6. Provide transparent compression and encryption functions to host software writers, improve the security of resource files and download speed to a certain extent, and save hard disk storage space to a certain extent (especially for text files such as xml, the compression effect is remarkable);
7.对于已就位(下载到本地硬盘)文件,提供比普通地(非优化过的)读取Windows文件的形式可能更快的读取速度。7. For in-place (downloaded to local hard disk) files, provide possible faster reading speed than normal (non-optimized) reading of Windows files.
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。The above descriptions are only preferred embodiments of the present invention, and the present invention is not limited to the above-mentioned embodiments, as long as they achieve the technical effects of the present invention by the same means, they should all belong to the protection scope of the present invention.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510995137.XA CN105635264B (en) | 2016-03-28 | 2016-03-28 | A File System Based on Network Game Application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510995137.XA CN105635264B (en) | 2016-03-28 | 2016-03-28 | A File System Based on Network Game Application |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635264A CN105635264A (en) | 2016-06-01 |
CN105635264B true CN105635264B (en) | 2019-08-20 |
Family
ID=56049736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510995137.XA Expired - Fee Related CN105635264B (en) | 2016-03-28 | 2016-03-28 | A File System Based on Network Game Application |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635264B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6473252B1 (en) * | 2018-02-27 | 2019-02-20 | 株式会社ドワンゴ | GAME EXECUTION DEVICE AND GAME PROGRAM |
CN110109687B (en) * | 2019-04-26 | 2023-06-30 | 腾讯科技(成都)有限公司 | Application installation package generation method and device |
CN113384872B (en) * | 2021-05-12 | 2024-07-12 | 网易(杭州)网络有限公司 | Method and device for processing information resource in micro-terminal, electronic equipment and storage medium |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604358B (en) * | 2009-07-13 | 2011-01-26 | 优万科技(北京)有限公司 | Method, device and system for updating resources |
CN103259819B (en) * | 2012-02-20 | 2017-12-15 | 腾讯科技(深圳)有限公司 | The method and system of file-sharing |
CN104104645B (en) * | 2013-04-01 | 2017-08-25 | 北京畅游天下网络技术有限公司 | A kind of cross-platform method for managing resource and system |
CN103259802A (en) * | 2013-06-03 | 2013-08-21 | 贝壳网际(北京)安全技术有限公司 | Media file downloading method and device and client device |
US9256484B2 (en) * | 2013-06-09 | 2016-02-09 | Apple Inc. | Dynamic adjustment of mobile device based on user activity |
CN105327508B (en) * | 2015-11-17 | 2019-03-08 | 盛趣信息技术(上海)有限公司 | Online game operating system and method |
-
2016
- 2016-03-28 CN CN201510995137.XA patent/CN105635264B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN105635264A (en) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | {FaaSNet}: Scalable and fast provisioning of custom serverless container runtimes at alibaba cloud function compute | |
US20240345777A1 (en) | Global cache for container images in a clustered container host system | |
Harter et al. | Slacker: Fast distribution with lazy docker containers | |
US8606886B2 (en) | System for conversion between physical machines, virtual machines and machine images | |
US7634514B2 (en) | Synchronizing file system directories | |
US20210042141A1 (en) | Dynamic image composition for container deployment | |
US8219592B2 (en) | Method and system for using overlay manifests to encode differences between virtual machine images | |
US8468175B2 (en) | Method and system for building a streaming model | |
US7856440B2 (en) | Method and system for separating content identifiers from content reconstitution information in virtual machine images | |
US8549106B2 (en) | Leveraging remote server pools for client applications | |
US7996414B2 (en) | Method and system for separating file system metadata from other metadata in virtual machine image format | |
US20100287526A1 (en) | Mirrored file system | |
CN111538590A (en) | Distributed data acquisition method and system based on CS framework | |
US10872007B2 (en) | Methods and systems to compound alerts in a distributed computing system | |
Civolani et al. | FogDocker: Start container now, fetch image later | |
CN1552022A (en) | File archival | |
JPH11506552A (en) | Method for accessing files in a multiprocessor computer system using pipes and fifos | |
CN105635264B (en) | A File System Based on Network Game Application | |
Fan et al. | Gear: Enable efficient container storage and deployment with a new image format | |
CN116850598A (en) | Game resource updating method, system, equipment and storage medium | |
CN108200211B (en) | Method, node and query server for downloading image files in a cluster | |
Feng et al. | BREAK: A holistic approach for efficient container deployment among edge clouds | |
US9262436B2 (en) | Online game system and method | |
CN116700902B (en) | A container accelerated deployment method and device for asynchronous parallel extraction of image layers | |
CA2524549C (en) | A system for conversion between physical machines, virtual machines and machine images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190820 |