Nothing Special   »   [go: up one dir, main page]

CN118677770A - Data processing method and related equipment - Google Patents

Data processing method and related equipment Download PDF

Info

Publication number
CN118677770A
CN118677770A CN202310274419.5A CN202310274419A CN118677770A CN 118677770 A CN118677770 A CN 118677770A CN 202310274419 A CN202310274419 A CN 202310274419A CN 118677770 A CN118677770 A CN 118677770A
Authority
CN
China
Prior art keywords
data packet
file
game
engine
determining
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.)
Pending
Application number
CN202310274419.5A
Other languages
Chinese (zh)
Inventor
史四钰鹏
张庆贺
苏睿海
李昭鸿
许滨楠
王家昆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202310274419.5A priority Critical patent/CN118677770A/en
Priority to PCT/CN2024/082074 priority patent/WO2024193485A1/en
Publication of CN118677770A publication Critical patent/CN118677770A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the disclosure provides a data processing method and related equipment. The method comprises the following steps: determining an engine file in a game data packet; generating a first data packet based on other files except the engine file in the game data packet; generating a second data packet based on the engine file in the game data packet; and responding to a request instruction of a client, and sending the storage address of the first data packet and the abstract information of the second data packet to the client. Therefore, the starting speed of the game can be increased, and the bandwidth of data transmission is saved.

Description

Data processing method and related equipment
Technical Field
The disclosure relates to the technical field of internet, and in particular relates to a data processing method and related equipment.
Background
This section is intended to provide a background or context to the embodiments of the disclosure recited in the claims. The description herein is not admitted to be prior art by inclusion in this section.
Typically, after a user starts a mini-game at a client, the client needs to download an initial data packet of the mini-game, and can enter a mini-game interface after completing the loading and rendering of the initial data packet. Therefore, the size of the initial data packet of the small game directly affects the time required for starting the small game, and when the time required for starting is long, the use experience of the user is greatly affected.
Disclosure of Invention
In view of this, the present disclosure provides a data processing method and related devices, which can increase the starting speed of a game and save the bandwidth of data transmission.
The data processing method according to the embodiment of the disclosure may include: determining an engine file in a game data packet; generating a first data packet based on other files except the engine file in the game data packet; generating a second data packet based on the engine file in the game data packet; and responding to a client request instruction, and sending the storage address of the first data packet and the summary information of the second data packet to the client.
In an embodiment of the present disclosure, the method further includes: and responding to a client request instruction, and sending the storage address of the second data packet to the client.
In an embodiment of the present disclosure, determining the engine file in the game data packet includes: receiving a game data packet; matching the file in the game data packet with a preset file; and taking the file matched with the preset file in the game data packet as the engine file.
In an embodiment of the present disclosure, the method further includes: scanning a plurality of game data packets; determining engine files from the files contained in the game data packages according to the identifications of the files contained in the game data packages and the referenced times of the files; and recording the determined engine file into the preset file.
In an embodiment of the disclosure, generating the first data packet based on the other files than the engine file in the data packet of the game includes: separating the engine file from the game data package; and compiling and packaging the rest files in the game data package to obtain the first data package.
In an embodiment of the disclosure, generating the second data packet based on the engine file includes: compiling and packaging the separated engine files to obtain the second data packet; and determining summary information of the second data packet.
In an embodiment of the present disclosure, the method further includes: compiling and packaging the files in the game data packet to obtain a third data packet; and responding to the request instruction, and feeding back the storage address of the third data packet to the client.
Other embodiments of the present disclosure provide a data processing method including: responding to the detection of the operation of starting the game for the first time by a user, and sending a request instruction to a server; receiving a storage address of a first data packet and abstract information of a second data packet, wherein the storage address and the abstract information are issued by the server; determining whether the second data packet is stored locally based on summary information of the second data packet; and in response to determining that the second data packet is stored locally, downloading the first data packet based on the storage address of the first data packet, and loading the downloaded first data packet and the locally stored second data packet.
In an embodiment of the present disclosure, the method further includes: receiving a storage address of a second data packet issued by the server; and in response to determining that the second data packet is not stored locally, downloading a first data packet based on the storage address of the first data packet, downloading a second data packet based on the storage address of the second data packet, and loading the downloaded first data packet and second data packet.
In an embodiment of the disclosure, determining whether the second data packet is stored locally based on the summary information of the second data packet includes: searching a target file with the same abstract information as that of the second data packet in a locally stored file; in response to determining that a target file with the same summary information as that of the second data packet is found, determining that the second data packet is stored locally, and taking the target file as the second data packet stored locally; and determining that the second data packet is not stored locally in response to determining that the target file with the same summary information as the summary information of the second data packet is not found.
In an embodiment of the disclosure, the digest information of the second data packet is a hash value of the second data packet.
In an embodiment of the disclosure, the first data packet includes: a game file; the loading the downloaded first data packet and the downloaded second data packet comprises: loading a game file of the first data packet; in the loading process, searching an engine file in the first data packet in response to determining that the game file references to the engine file; in response to determining that the engine file is found in the first data packet, loading the engine file and rendering; and in response to determining that the engine file is not found in the first data packet, searching the engine file in the second data packet, and loading and rendering the found engine file.
In an embodiment of the disclosure, the first data packet includes: a game file; the loading the downloaded first data packet and the locally stored second data packet comprises: loading a game file of the first data packet; in the loading process, searching an engine file in the first data packet in response to determining that the game file references to the engine file; in response to determining that the engine file is found in the first data packet, loading the engine file and rendering; and in response to determining that the engine file is not found in the first data packet, searching the engine file in the locally stored second data packet, and loading and rendering the found engine file.
In an embodiment of the present disclosure, the method further includes: receiving a storage address of a third data packet issued by the server; and in response to determining that loading of the first data packet and the second data packet is not supported based on the configuration information, downloading a third data packet based on a storage address of the third data packet, and loading the downloaded third data packet; in response to determining that loading of a first data packet and a second data packet is supported based on configuration information, performing the operation of determining whether the second data packet has been stored locally based on digest information of the second data packet.
The data processing apparatus according to an embodiment of the present disclosure includes:
The file determining module is used for determining an engine file in the game data packet;
the first packing module is used for generating a first data packet based on other files except the engine file in the game data packet;
a second packaging module for generating a second data packet based on the engine file; and
And the information feedback module is used for responding to the request instruction of the determined client and feeding back the storage address of the first data packet and the summary information of the second data packet to the client.
The data processing apparatus according to other embodiments of the present disclosure includes:
the information request module is used for responding to the detection of the operation of starting the game by the user and sending a request instruction to the server;
the information receiving module is used for receiving the storage address of the first data packet and the abstract information of the second data packet, which are issued by the server;
The file matching module is used for determining whether the second data packet is stored locally or not based on the abstract information of the second data packet; and
And the loading module is used for downloading the first data packet based on the storage address of the first data packet and loading the downloaded first data packet and the locally stored second data packet in response to determining that the second data packet is locally stored.
The computer device according to the embodiment of the disclosure may include:
one or more processors, memory; and
One or more programs;
wherein the one or more programs are stored in the memory and executed by the one or more processors, the programs including instructions for performing the data processing methods described above.
The non-transitory computer-readable storage medium containing a computer program according to an embodiment of the present disclosure, when executed by one or more processors, causes the processors to perform the above-described data processing method.
The computer program product according to the embodiments of the present disclosure includes computer program instructions that, when executed on a computer, cause the computer to perform the data processing method described above.
According to the data processing method and the data processing device, after receiving the game data packet, the server can separate the game data packet into a first data packet and a second data packet, wherein the second data packet comprises an engine file; the first data packet contains other files. And when the client transmits a request instruction for requesting information of the game, providing the storage address of the first data packet, the storage address of the second data packet and summary information of the second data packet to the client. Thus, when the user starts the game for the first time, the client can determine whether the second data packet is stored locally according to the summary information of the second data packet returned by the server. And in the case that the client determines that the second data packet is already stored locally, the client can only download the first data packet and multiplex the locally stored second data packet to complete the loading and rendering of the game. In this case, the client does not need to download the second data packet, so the data downloading amount required for starting the game is greatly reduced, and the starting time of the game is also greatly shortened because the client does not need to wait for downloading the second data packet, thereby achieving the purposes of accelerating the starting speed and saving the data transmission bandwidth.
Drawings
In order to more clearly illustrate the technical solutions of the present disclosure or related art, the drawings required for the embodiments or related art description will be briefly described below, and it is apparent that the drawings in the following description are only embodiments of the present disclosure, and other drawings may be obtained according to these drawings without inventive effort to those of ordinary skill in the art.
FIG. 1 shows the functional architecture of a system 100 for implementing a mini-game at this stage;
FIG. 2 illustrates an implementation flow of a data processing method according to some embodiments of the present disclosure;
FIG. 3 illustrates an implementation flow of a method of determining an engine file from a game data package according to some embodiments of the present disclosure;
FIG. 4 illustrates an implementation flow of a method of generating a preset file according to some embodiments of the present disclosure;
FIG. 5 shows a flow chart of an implementation of a data processing method according to other embodiments of the present disclosure;
FIG. 6 illustrates a functional architecture of a data processing apparatus according to some embodiments of the present disclosure;
FIG. 7 shows a functional structure of a data processing apparatus according to other embodiments of the present disclosure; and
Fig. 8 illustrates a hardware structure of an exemplary computer device provided by an embodiment of the present disclosure.
Detailed Description
For purposes of making the objects, technical solutions, and advantages of the present disclosure more apparent, the principle and spirit of the present disclosure will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are presented merely to enable one skilled in the art to better understand and practice the present disclosure and are not intended to limit the scope of the present disclosure in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
In this document, it should be understood that any number of elements in the drawings is for illustration and not limitation, and that any naming is used only for distinction and not for any limitation.
It should be noted that unless otherwise defined, technical or scientific terms used in the embodiments of the present disclosure should be given the ordinary meaning as understood by one of ordinary skill in the art to which the present disclosure pertains. The terms "first," "second," and the like, as used in embodiments of the present disclosure, do not denote any order, quantity, or importance, but rather are used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that elements or items preceding the word are included in the element or item listed after the word and equivalents thereof, but does not exclude other elements or items. The terms "connected" or "connected," and the like, are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", etc. are used merely to indicate relative positional relationships, which may also be changed when the absolute position of the object to be described is changed.
It will be appreciated that before using the technical solutions of the various embodiments in the disclosure, the user may be informed of the type of personal information involved, the range of use, the use scenario, etc. in an appropriate manner, and obtain the authorization of the user.
For example, in response to receiving an active request from a user, a prompt is sent to the user to explicitly prompt the user that the operation it is requesting to perform will require personal information to be obtained and used with the user. Therefore, the user can select whether to provide personal information to the software or hardware such as the electronic equipment, the application program, the server or the storage medium for executing the operation of the technical scheme according to the prompt information.
As an alternative but non-limiting implementation, in response to receiving an active request from a user, the manner in which the prompt information is sent to the user may be, for example, a popup, in which the prompt information may be presented in a text manner. In addition, a selection control for the user to select to provide personal information to the electronic device in a 'consent' or 'disagreement' manner can be carried in the popup window.
It will be appreciated that the above-described notification and user authorization process is merely illustrative, and not limiting of the implementations of the present disclosure, and that other ways of satisfying relevant legal regulations may be applied to the implementations of the present disclosure.
For ease of understanding, the terms involved in the embodiments of the present disclosure are first explained.
The mini-game according to the embodiments of the present disclosure refers to a game product implemented by Java script (JavaScript) attached to a client such as an instant messaging client, a social network client, and an information stream playing client, which can be generally manufactured and compiled by an engine such as Cocos, laya, egret, and generally has the characteristics of small volume, no need of installation, and instant play.
As described above, after the user starts the small game at the client, the client only needs to download an initial data packet of the small game, and can enter the small game interface after the loading and rendering of the initial data packet are completed. Therefore, the size of the initial data packet of the small game directly affects the time required for starting the small game, and thus greatly affects the use experience of the user.
Fig. 1 is a functional schematic diagram of a system 100 for implementing a mini-game at this stage. The system as shown in fig. 1 may include: game development platform 102, server 104, client 106, and database 108.
Wherein a game developer creates a game data package through the game development platform 102 described above. After receiving the uploading instruction of the game developer, the game development platform 102 uploads the game data packet created by the game developer to the server 104. In the embodiment of the present disclosure, the server 104 refers to a server that implements a game service in general.
The server 104 may include: compiler 1042 and game service module 1044.
The compiler 1042 is configured to compile and package the game data packet uploaded by the game development platform 102 to obtain an initial data packet of the game. The compiler 1042 then submits the initial data packet of the game to the game service module 1044, and the initial data packet of the game is stored in the database 108 by the game service module 1044.
The game service module may also receive a request instruction from the client 106 requesting game information, providing the information of the game to the client 106. The information of the game may include a storage address of an initial data packet of the game.
The client 106 is configured to send a request instruction to the server 104 to request information of the game when detecting an operation of starting the game by the user; after receiving the storage address of the initial data packet of the game, downloading the initial data packet of the game according to the storage address; then, the initial data packet is loaded again and rendered, and the game interface can be accessed.
The database 108 is used to store the initial data packets of the game.
To further reduce the size of the initial data packet of the game, embodiments of the present disclosure provide a data processing method that may be performed by the server 104.
Fig. 2 shows an implementation flow of a data processing method according to an embodiment of the disclosure. As shown in fig. 2, the data processing method may include:
in step 202, an engine file in a game data package is determined.
In step 204, a first data packet is generated based on the other files of the game data packet than the engine file.
In step 206, a second data packet is generated based on the engine file in the game data packet.
In step 208, in response to a request instruction of the client, the storage address of the first data packet and summary information of the second data packet are fed back to the client.
In an embodiment of the present disclosure, the step 208 may further include: and responding to a request instruction of the client, and feeding back the storage address of the second data packet to the client.
It can be seen that in the data processing method, the engine files in the game data packet uploaded by the applet developer are separated in the compiling process, and other files and engine files in the game data packet are respectively packaged to obtain a first data packet comprising other files and a second data packet comprising the engine files. When the client sends a request instruction for requesting information of the game, the storage addresses of the two data packets are fed back to the client respectively, and the client selects whether to download the two data packets entirely or download the first data packet independently according to the own requirement. This is considered, and most games today are developed using several existing game engines (e.g., cocos, laya, egret, etc. engines), and the versions of the game engines used are also substantially similar or identical. In addition, these engine files are also relatively large in code packages. Based on the above consideration, when the game is started for the first time, if the client side has the game engine files of the same type locally, the game data packets can be quickly downloaded by direct multiplexing or in an increasing mode, so that the starting speed is improved and the bandwidth required for downloading the data packets is saved. The data processing method fully utilizes the fact that most small games are manufactured and compiled through the same engine, so that the client has high possibility of storing the actual situation of the engine file required by loading the current game, bandwidth required by downloading the data package can be effectively reduced, and starting speed of the game is improved.
The implementation method of each step in the data processing method will be further described in detail below with reference to the accompanying drawings and specific examples.
In some embodiments of the present disclosure, the game data package described in step 202 may be a game data package created by the game developer through the game development platform 102 and uploaded to the server 104. That is, the server 104 will receive game data packets from the game development platform 102. In general, the game data packet may refer to a game data packet of a small game, or may refer to a game data packet of another game. Wherein, the game data packet may include: configuration files for games, game files, engine files, and the like.
In an embodiment of the present disclosure, the determining the engine file in the game data packet in step 202 may be implemented by the method shown in fig. 3. As shown in fig. 3, the method of determining an engine file may include the steps of:
In step 302, the files in the game data package are matched with the preset files.
In an embodiment of the present disclosure, the preset file may specifically be a file whitelist. The file whitelist records the identification of a plurality of files. Specifically, the identifier of the file may be a name of the file or other information that may identify the file. Therefore, in the step 302, the identifiers of the files in the game data packet may be respectively matched with the identifiers of the files recorded in the file whitelist, so as to determine whether the files in the game data packet are included in the file whitelist. For a file contained in the above-mentioned preset file in the game data packet, the file may be considered to match the preset file.
In step 304, the file in the game data packet that matches the preset file is used as the engine file.
In the embodiment of the present disclosure, in the step 302, if the identifier of a certain file in the game data packet matches the identifier of a certain file recorded in the file white list, that is, the file in the game data packet is regarded as an engine file.
In the embodiment of the present disclosure, the file white list may be used as the preset file, which considers that the general engine files of the game engine generally have the prefix or the suffix of the corresponding engine, so that whether a file is an engine file may be determined by the identification of the file. Thus, in some embodiments of the present disclosure, a file whitelist containing an identification of engine files may be configured directly at compiler 1042 in advance by an administrator of the gaming service. In addition, it was found by observation that in the data packet of the game packaged by the same game engine, the path of the engine file is the same throughout the packet. Therefore, the files with the same paths, the same identifiers of the files and higher referenced frequency in the game data package can be found by scanning, analyzing and counting the game data package of the online multi-type game or the small game and by the way of matching paths in the package, and the files are determined as engine files. Specifically, in these embodiments, the server 104 may generate the preset file by a method as shown in fig. 4.
As shown in fig. 4, the preset file may be generated by:
in step 402, a plurality of game data packages are scanned.
The game data packet may be a data packet of a plurality of existing games or mini-games that are already online. These game data packages may be developed by one or more game engines.
In step 404, an engine file is determined from the files contained in the plurality of game data packages based on the identification of the files contained in the plurality of game data packages and the number of times each file is referenced.
In an embodiment of the present disclosure, files with the same identification and higher frequency of reference are found from a plurality of game data packages by means of intra-package path matching, and these files are determined as engine files. In general, the paths of the engine files in the game data packet are the same, so that files with the same paths, the same identifiers of the files and higher frequencies to be referenced can be found from the game data packet, and the files can be determined as the engine files. Specifically, the above-mentioned frequency of reference may specifically refer to a ratio of the number of times of reference to the number of scanned game data packets. Whether the file is a file with higher frequency of reference can be determined according to a preset frequency threshold, and if the frequency of the file with higher frequency of reference is greater than or equal to the preset frequency threshold, the file can be considered to be the file with higher frequency of reference. Moreover, because the scanned game data package may be developed by one or more game engines, the package paths determined in step 404 above are the same, the identification of the files are the same, and the more frequently referenced files should also be engine files for one or more engines.
In step 406, the determined engine file is written into the preset file.
In the method, the engine files with the same identification and higher referenced frequency of the files can be obtained quickly by scanning, counting and analyzing the files in the data packets of the existing online multi-type games or small games, and the preset files generated based on the counting result are more accurate.
In the above steps 204 and 206, the received game data packet is subjected to packetizing processing. Specifically, the determined engine file will first be separated from the above-described game data package. And then, compiling and packaging the rest files except the engine files in the game data package to obtain the first data package. Further, summary information of the first data packet is determined. The summary information of the first data packet is used for checking the downloaded first data packet after the client downloads the first data packet. And compiling and packaging the separated engine files to obtain a second data packet. Further, summary information of the second data packet is also determined.
It should be noted that the embodiments of the present disclosure do not limit the execution sequence of the steps 204 and 206. That is, the above-described steps 204 and 206 may be performed in parallel or in any order. For example, it is also possible to perform step 206 before performing step 204.
In addition, the method of compiling and packaging two data packets separated from the engine file is not limited in this disclosure, and the same method as the existing compiling and packaging method of a game or a small game data packet may be adopted in application, and the description thereof will not be repeated here. The above-mentioned packaging may refer to packaging according to a format required by the server.
In an embodiment of the present disclosure, the digest information of the first data packet and the digest information of the second data packet may be hash values of the first data packet and hash values of the second data packet, which may be calculated by a hash algorithm. For example, the summary information may specifically be an MD5 value of the first data packet and an MD5 value of the second data packet, which are calculated by a Message-Digest Algorithm (MD 5) on the first data packet and the second data packet, respectively.
After obtaining the first data packet and the second data packet corresponding to the game data packet, the server 104 may store the first data packet and the second data packet in the database. When receiving the game information request of the client, the storage address of the first data packet, the storage address of the second data packet and the summary information of the second data packet can be fed back to the client. The purpose of feeding back the storage address of the first data packet and the storage address of the second data packet is to allow the client to download the required data packet as required. The first data packet is a data packet that must be downloaded when the client first starts the game, and typically includes a configuration file and a game file. Because the second data packet contains the engine file, if the client has previously downloaded the same engine file at other games, no download is required; and if the client has not previously downloaded the same engine file, it still needs to be downloaded. In addition, the purpose of feeding back the summary information of the second data packet before the client downloads the data packet is to make the client confirm whether the client has already stored the engine file contained in the second data packet locally. This is because the digest information of the second packet is a hash value, e.g., MD5 value, of the second packet. Typically, the hash values of different files are different, and two files may be considered identical if the hash values of the two files are identical. Therefore, after receiving the summary information of the second data packet, the client can search the file stored by itself according to the received summary information of the second data packet, so as to determine whether the second data packet is already stored.
Therefore, by the method, the game data packet can be separated into the first data packet and the second data packet, and for the situation that the client has downloaded the same engine file, the client can only download the first data packet without downloading the second data packet when starting the game for the first time, so that the bandwidth occupied by data transmission can be reduced, the time delay of data downloading is reduced, and the starting speed of the game is improved.
It should be noted that, in order to be compatible with client versions that do not support game subcontracting, conventional processing methods of game data packets may be provided for these client versions. In this case, the above data processing method may further include compiling and packaging the files in the game data packet to obtain a third data packet; and responding to the information of the game requested by the client, and feeding back the storage address of the third data packet to the client.
That is, the engine file separation processing is performed on the game data packet, and meanwhile, the compiling and packaging modes of the existing game data packet are still reserved, so that a third data packet containing the complete file is obtained. At this time, the server 104 will also store the third data packet at the same time, and when receiving a request instruction that the client requests game information, feed back the storage address of the third data packet to the client together with other information. Therefore, when the client determines that the client does not support the loading of the first data packet and the second data packet through the configuration information of the client, the third data packet can be downloaded based on the storage address of the third data packet, and the downloaded third data packet is loaded, so that the compatibility of the data processing method for different client versions is ensured.
Corresponding to the data processing method executed by the server, the embodiment of the disclosure also provides a data processing method executed by the client. Fig. 5 shows an implementation flow of a data processing method performed by a client according to an embodiment of the disclosure. As shown in fig. 5, the data processing method includes:
In step 502, a request instruction is sent to a server in response to detecting that a user first starts a game.
Typically, for a mini-game, a user may find a plurality of mini-games through a mini-game list entry of the client, and when the user clicks on one mini-game icon for the first time, that is, starts the mini-game for the first time, the client will send a request instruction to the server to request information of the mini-game.
In step 504, the storage address of the first data packet and the summary information of the second data packet issued by the server are received.
In an embodiment of the present disclosure, the step 504 may further include: and receiving the storage address of the second data packet issued by the server.
In an embodiment of the present disclosure, the information of the game received by the client from the server may include: the memory address of the first data packet and the digest information of the second data packet. The information of the game received by the client from the server may further include: the memory address of the second data packet. As described above, the storage address of the first data packet and the storage address of the second data packet in the game information are used to download the first data packet and the second data packet. The summary information of the second data packet is used for inquiring whether the second data packet is stored locally.
In step 506, it is determined whether the second data packet is stored locally based on the summary information of the second data packet.
In an embodiment of the present disclosure, the step 506 may include: firstly, searching a target file with the same abstract information as that of the second data packet in a locally stored file; in response to determining that a target file with the same summary information as the summary information of the second data packet is found, determining that the second data packet is stored locally, and taking the target file as the second data packet stored locally; and determining that the second data packet is not stored locally in response to determining that the target file with the same summary information as the summary information of the second data packet is not found. The summary information of the second data packet may be a hash value of the second data packet, for example, an MD5 value of the second data packet calculated by an MD5 algorithm. As described above, the hash values calculated based on different files are different, and thus two files can be considered identical if the hash values of the two files are identical. Based on this, in step 506, the client may search the file stored in the client for the file with the same summary information as the summary information of the second data packet according to the received summary information of the second data packet, so as to determine whether the second data packet has been stored.
In step 508, in response to determining that the second data packet has been stored locally, downloading the first data packet based on the storage address of the first data packet, and loading the downloaded first data packet and the locally stored second data packet.
In the embodiment of the disclosure, if the file with the same summary information as the summary information of the second data packet can be found in the locally stored file, it is indicated that the client has previously downloaded and saved the same engine file. At this time, the client may download only the first data packet and multiplex the already stored second data packet. Since the first data packet includes the game file, the client will first load the game file of the first data packet. In the loading process, if the game file references to an engine file, searching the engine file in a first data packet; if the engine file is found in the first data packet, directly loading the engine file and rendering; if the engine file is not found in the first data packet, the engine file is continuously found in the second data packet stored locally, and then the found engine file is loaded and rendered. Further, if the engine file is not yet found in the locally stored second data packet, the client may report an error to the server or re-download the first data packet and the second data packet, etc.
In other embodiments of the present disclosure, the data processing method may further include: and in response to determining that the second data packet is not stored locally, downloading a first data packet based on the storage address of the first data packet, downloading a second data packet based on the storage address of the second data packet, and loading the downloaded first data packet and second data packet.
In the embodiment of the disclosure, if the file with the same summary information as the summary information of the second data packet is not found in the locally stored file, it is indicated that the client has not downloaded the same engine file as the current game data packet. At this time, the client should download the first data packet and the second data packet concurrently. Since the first data packet includes the game file, the client should load the game file of the first data packet first. In the loading process, if the game file references to an engine file, searching the engine file in a first data packet; if the engine file is found in the first data packet, directly loading the engine file and rendering; if the engine file is not found in the first data packet, the engine file is continuously found in the downloaded second data packet, and then the found engine file is loaded and rendered. Further, if the engine file is not found in the second data packet, the client may report an error to the server or re-download the first data packet and the second data packet, and so on.
From the above data processing procedure, it can be seen that when the user starts the game for the first time, the client can determine whether the second data packet is already stored locally according to the summary information of the second data packet returned by the server. And in the case that the client determines that the second data packet is already stored locally, the client can only download the first data packet and multiplex the locally stored second data packet to complete the loading and rendering of the game. In this case, the client does not need to download the second data packet, so the data downloading amount required for starting the game is greatly reduced, and the starting time of the game is also greatly shortened because the client does not need to wait for downloading the second data packet, thereby achieving the purposes of accelerating the starting speed and saving the data transmission bandwidth.
In still other embodiments of the present disclosure, the game information received from the server may further include: the memory address of the third data packet. Wherein the third data packet contains all files required for starting the game.
In this case, the client will first determine whether itself supports the loading of the first data packet and the second data packet according to the configuration information, that is, whether itself supports the packetization loading of the game. If the client determines that the loading of the first data packet and the second data packet is not supported, the client downloads the third data packet based on the storage address of the third data packet, and loads the downloaded third data packet. If it is determined that the first data packet and the second data packet are supported by themselves, the operation of determining whether the second data packet is stored locally based on the digest information of the second data packet in step 506 may be performed continuously.
Therefore, by providing the third data packet, the requirement of the client which does not support the loading of the game subcontracting can be met, so that the compatibility of the data processing method for different client versions is improved.
Based on the same inventive concept, the present disclosure also provides a data processing apparatus corresponding to the method described in any of the above embodiments. The data processing device may be installed in a server. Fig. 6 shows a functional structure of a data processing apparatus according to an embodiment of the present disclosure. As shown in fig. 6, the data processing apparatus may include:
a file determination module 602, configured to determine an engine file in the game data packet;
A first packaging module 604, configured to generate a first data packet based on other files in the game data packet except the engine file;
a second packaging module 606 for generating a second data packet based on the engine file;
And the information feedback module 608 is configured to, in response to determining that the client requests information of the game, feedback the storage address of the first data packet and summary information of the second data packet to the client.
The present disclosure also provides another data processing apparatus. The data processing apparatus described above may be installed in a client. Fig. 7 shows a functional structure of a data processing apparatus according to an embodiment of the present disclosure. As shown in fig. 7, the data processing apparatus may include:
An information request module 702, configured to send a request instruction to a server in response to detecting an operation of starting a game by a user;
The information receiving module 704 is configured to receive a storage address of the first data packet and summary information of the second data packet, where the storage address and the summary information are issued by the server;
A file matching module 706, configured to determine whether the second data packet is stored locally based on summary information of the second data packet; and
A loading module 708, configured to, in response to determining that the second data packet is stored locally, download the first data packet based on the storage address of the first data packet, and load the downloaded first data packet and the locally stored second data packet.
It should be noted that, the specific implementation method of each module may refer to each embodiment, and the description is not repeated here.
The server side can separate the game data packet into a first data packet and a second data packet after receiving the game data packet, and provide the storage address of the first data packet, the storage address of the second data packet and the summary information of the second data packet to the client side when the client side sends a request instruction for requesting information of the game. Thus, when the user starts the game for the first time, the client can determine whether the second data packet is stored locally according to the summary information of the second data packet returned by the server. And in the case that the client determines that the second data packet is already stored locally, the client can only download the first data packet and multiplex the locally stored second data packet to complete the loading and rendering of the game. In this case, the client does not need to download the second data packet, so the data downloading amount required for starting the game is greatly reduced, and the starting time of the game is also greatly shortened because the client does not need to wait for downloading the second data packet, thereby achieving the purposes of accelerating the starting speed and saving the data transmission bandwidth.
Fig. 8 shows a more specific hardware architecture of an electronic device according to this embodiment, where the device may include: a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050. Wherein processor 1010, memory 1020, input/output interface 1030, and communication interface 1040 implement communication connections therebetween within the device via a bus 1050.
The processor 1010 may be implemented by a general-purpose CPU (Central Processing Unit ), a microprocessor, an Application SPECIFIC INTEGRATED Circuit (ASIC), or one or more integrated circuits, etc. for executing related programs to implement the technical solutions provided in the embodiments of the present disclosure.
The Memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory ), static storage, dynamic storage, etc. Memory 1020 may store an operating system and other application programs, and when the embodiments of the present specification are implemented in software or firmware, the associated program code is stored in memory 1020 and executed by processor 1010.
The input/output interface 1030 is used to connect with an input/output module for inputting and outputting information. The input/output module may be configured as a component in a device (not shown in the figure) or may be external to the device to provide corresponding functionality. Wherein the input devices may include a keyboard, mouse, touch screen, microphone, various types of sensors, etc., and the output devices may include a display, speaker, vibrator, indicator lights, etc.
Communication interface 1040 is used to connect communication modules (not shown) to enable communication interactions of the present device with other devices. The communication module may implement communication through a wired manner (such as USB, network cable, etc.), or may implement communication through a wireless manner (such as mobile network, WIFI, bluetooth, etc.).
Bus 1050 includes a path for transferring information between components of the device (e.g., processor 1010, memory 1020, input/output interface 1030, and communication interface 1040).
It should be noted that although the above-described device only shows processor 1010, memory 1020, input/output interface 1030, communication interface 1040, and bus 1050, in an implementation, the device may include other components necessary to achieve proper operation. Furthermore, it will be understood by those skilled in the art that the above-described apparatus may include only the components necessary to implement the embodiments of the present description, and not all the components shown in the drawings.
The electronic device of the foregoing embodiment is configured to implement the corresponding data processing method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiment, which is not described herein.
Based on the same inventive concept, the present disclosure also provides a non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the data processing method according to any of the embodiments above, corresponding to the method of any of the embodiments above.
The non-transitory computer readable storage media described above can be any available media or data storage device that can be accessed by a computer, including, but not limited to, magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MOs), etc.), optical storage (e.g., CD, DVD, BD, HVD, etc.), and semiconductor storage (e.g., ROM, EPROM, EEPROM, nonvolatile storage (NAND FLASH), solid State Disk (SSD)), etc.
The storage medium of the above embodiments stores computer instructions for causing the computer to perform the data processing method according to any one of the above exemplary method portions, and has the advantages of the corresponding method embodiments, which are not described herein.
Those skilled in the art will appreciate that embodiments of the present disclosure may be implemented as a system, method, or computer program product. Accordingly, the present disclosure may be embodied in the following forms, namely: all hardware, all software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software, is generally referred to herein as a "circuit," module, "or" system. Furthermore, in some embodiments, the present disclosure may also be embodied in the form of a computer program product in one or more computer-readable media, which contain computer-readable program code.
Any combination of one or more computer readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive example) of the computer-readable storage medium could include, for example: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer, for example, through the internet using an internet service provider.
It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Furthermore, although the operations of the methods of the present disclosure are depicted in the drawings in a particular order, this is not required or suggested that these operations must be performed in this particular order or that all of the illustrated operations must be performed in order to achieve desirable results. Rather, the steps depicted in the flowcharts may change the order of execution. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform.
Use of the verb "comprise," "include" and its conjugations in this application does not exclude the presence of elements or steps other than those stated in the application. The article "a" or "an" preceding an element does not exclude the presence of a plurality of such elements.
While the spirit and principles of the present disclosure have been described with reference to several particular embodiments, it is to be understood that this disclosure is not limited to the particular embodiments disclosed nor does it imply that features in these aspects are not to be combined to benefit from this division, which is done for convenience of description only. The disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.

Claims (19)

1. A data processing method, performed by a server, comprising:
Determining an engine file in a game data packet;
generating a first data packet based on other files except the engine file in the game data packet;
Generating a second data packet based on the engine file in the game data packet;
and responding to a request instruction of a client, and sending the storage address of the first data packet and the abstract information of the second data packet to the client.
2. The method of claim 1, further comprising: and responding to a request instruction of the client, and sending the storage address of the second data packet to the client.
3. The method of claim 1, wherein the determining engine files in a game data package comprises:
Matching the file in the game data packet with a preset file; and
And taking the file matched with the preset file in the game data packet as the engine file.
4. A method according to claim 3, further comprising:
Scanning a plurality of game data packets;
determining engine files from the files contained in the game data packages according to the identifications of the files contained in the game data packages and the referenced times of the files; and
And recording the determined engine file into the preset file.
5. The method of claim 1, wherein generating the first data packet based on other files of the data packets of the game than engine files comprises:
separating the engine file from the game data package; and
And compiling and packaging the rest files in the game data package to obtain the first data package.
6. The method of claim 5, wherein the generating a second data packet based on the engine file in the game data packet comprises:
compiling and packaging the separated engine files to obtain the second data packet; and
And determining summary information of the second data packet.
7. The method of claim 1, further comprising:
compiling and packaging the files in the game data packet to obtain a third data packet; and
And responding to the request instruction, and feeding back the storage address of the third data packet to the client.
8. A data processing method performed by a client, comprising:
Responding to the detection of the operation of starting the game for the first time by a user, and sending a request instruction to a server;
Receiving a storage address of a first data packet and abstract information of a second data packet, wherein the storage address and the abstract information are issued by the server;
Determining whether the second data packet is stored locally based on summary information of the second data packet;
And in response to determining that the second data packet is stored locally, downloading the first data packet based on the storage address of the first data packet, and loading the downloaded first data packet and the locally stored second data packet.
9. The method of claim 8, further comprising:
receiving a storage address of a second data packet issued by the server;
And in response to determining that the second data packet is not stored locally, downloading a first data packet based on the storage address of the first data packet, downloading a second data packet based on the storage address of the second data packet, and loading the downloaded first data packet and second data packet.
10. The method of claim 8, wherein the determining whether the second data packet has been stored locally based on summary information of the second data packet comprises:
searching a target file with the same abstract information as that of the second data packet in a locally stored file;
In response to determining that a target file with the same summary information as that of the second data packet is found, determining that the second data packet is stored locally, and taking the target file as the second data packet stored locally; and
And in response to determining that the target file with the same summary information as the second data packet is not found, determining that the second data packet is not stored locally.
11. The method of claim 10, wherein the digest information of the second data packet is a hash value of the second data packet.
12. The method of claim 9, wherein the first data packet comprises: a game file; wherein,
The loading the downloaded first data packet and the downloaded second data packet comprises:
Loading a game file of the first data packet;
in the loading process, searching an engine file in the first data packet in response to determining that the game file references to the engine file;
in response to determining that the engine file is found in the first data packet, loading the engine file and rendering; and
And in response to determining that the engine file is not found in the first data packet, searching the engine file in the second data packet, and loading and rendering the searched engine file.
13. The method of claim 8, wherein the first data packet comprises: a game file; wherein,
The loading the downloaded first data packet and the locally stored second data packet comprises:
Loading a game file of the first data packet;
in the loading process, searching an engine file in the first data packet in response to determining that the game file references to the engine file;
in response to determining that the engine file is found in the first data packet, loading the engine file and rendering; and
And in response to determining that the engine file is not found in the first data packet, searching the engine file in the locally stored second data packet, and loading and rendering the found engine file.
14. The method of claim 8, further comprising:
receiving a storage address of a third data packet issued by the server; and
In response to determining that loading of the first data packet and the second data packet is not supported based on the configuration information, downloading a third data packet based on a storage address of the third data packet, and loading the downloaded third data packet;
In response to determining that loading of a first data packet and a second data packet is supported based on configuration information, performing the operation of determining whether the second data packet has been stored locally based on digest information of the second data packet.
15. A data processing apparatus comprising:
The file determining module is used for determining an engine file in the game data packet;
the first packing module is used for generating a first data packet based on other files except the engine file in the game data packet;
a second packaging module for generating a second data packet based on the engine file; and
And the information feedback module is used for responding to a request instruction of the client and feeding back the storage address of the first data packet and the summary information of the second data packet to the client.
16. A data processing apparatus comprising:
the information request module is used for responding to the detection of the operation of starting the game by the user and sending a request instruction to the server;
the information receiving module is used for receiving the storage address of the first data packet and the abstract information of the second data packet, which are issued by the server;
The file matching module is used for determining whether the second data packet is stored locally or not based on the abstract information of the second data packet; and
And the loading module is used for downloading the first data packet based on the storage address of the first data packet and loading the downloaded first data packet and the locally stored second data packet in response to determining that the second data packet is locally stored.
17. A computer device, comprising:
one or more processors, memory; and
One or more programs;
Wherein the one or more programs are stored in the memory and executed by the one or more processors, the programs comprising instructions for performing the data processing method of any of claims 1 to 14.
18. A non-transitory computer readable storage medium containing a computer program which, when executed by one or more processors, causes the processors to perform the data processing method of any of claims 1 to 14.
19. A computer program product comprising computer program instructions which, when run on a computer, cause the computer to perform the data processing method of any of claims 1 to 14.
CN202310274419.5A 2023-03-17 2023-03-17 Data processing method and related equipment Pending CN118677770A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310274419.5A CN118677770A (en) 2023-03-17 2023-03-17 Data processing method and related equipment
PCT/CN2024/082074 WO2024193485A1 (en) 2023-03-17 2024-03-17 Data processing method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310274419.5A CN118677770A (en) 2023-03-17 2023-03-17 Data processing method and related equipment

Publications (1)

Publication Number Publication Date
CN118677770A true CN118677770A (en) 2024-09-20

Family

ID=92717890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310274419.5A Pending CN118677770A (en) 2023-03-17 2023-03-17 Data processing method and related equipment

Country Status (2)

Country Link
CN (1) CN118677770A (en)
WO (1) WO2024193485A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060142087A1 (en) * 2004-12-23 2006-06-29 Inventec Corporation System and method for network-loading game data
CN104156243B (en) * 2014-08-05 2017-12-12 网际傲游(北京)科技有限公司 A kind of application distribution and the system and method for quick load operating
CN104360871A (en) * 2014-10-12 2015-02-18 厦门雅基软件有限公司 Quick starting method for installation of cell phone games
CN105119944B (en) * 2015-09-23 2019-01-18 北京金山安全软件有限公司 Application starting method and related device
CN105224363B (en) * 2015-09-23 2019-04-05 北京金山安全软件有限公司 Method and device for loading application program

Also Published As

Publication number Publication date
WO2024193485A1 (en) 2024-09-26

Similar Documents

Publication Publication Date Title
JP6423538B2 (en) System and method for testing and authenticating media equipment for use in a connected media environment
US11586708B2 (en) Software maintenance, distribution and loading
TWI506555B (en) A method of disseminating updated drivers to mobile computing devices and a dissemination system therefor
CN111324421B (en) Container mirror image providing method, loading method, related equipment and system
CN106406961A (en) Method and device for loading and providing application based on browser
CN110113391B (en) Client online method and device and client operation method and device
CN107707584B (en) Application loading method, terminal and platform server
WO2016196338A1 (en) On demand resources
CN111694639B (en) Updating method and device of process container address and electronic equipment
US20130117132A1 (en) System for inserting services in a software application
CN106502707B (en) Code generation method and device
KR101083229B1 (en) Method, apparatus, system, and recording medium for downloading necessary application of mobile terminal
CN113760724A (en) Automatic testing method and device, electronic equipment and computer readable medium
CN118677770A (en) Data processing method and related equipment
CN110502251B (en) Application installation method and device
WO2023109311A1 (en) Resource access method and apparatus, and storage medium and electronic device
CN111797270A (en) Audio playing method and device, electronic equipment and computer readable storage medium
CN110515905B (en) Method, device and server for configuring route
CN112596751B (en) Compiling method, terminal, server and storage medium of application program installation package
CN114327675A (en) Method for starting mini-game application and related device
CN110035322A (en) A kind of method, apparatus and computer readable storage medium of activation system
CN115098105A (en) Container cloud performance test evaluation realization method, device, equipment and medium
CN108139950B (en) Distributed extension execution method and computing system
CN110413343A (en) A kind of method, apparatus and computer equipment of instant plug-in unit
CN116382796B (en) Plug-in management method and device of H5 applet runner and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination